@zktx.io/sui-mcp 0.6.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +13 -12
  2. package/dist/adapters/adapterPromptSurfaces.js +1 -1
  3. package/dist/core/read/deepbookReadHelpers.js +1 -1
  4. package/dist/core/read/readResponseGuidance.js +6 -6
  5. package/dist/core/session/settingsFileProtocol.js +1 -1
  6. package/dist/mcp/prompts.js +10 -4
  7. package/dist/mcp/resources.js +1 -1
  8. package/dist/mcp/server.js +2 -2
  9. package/dist/mcp/serverInfo.js +13 -12
  10. package/dist/mcp/toolNames.js +46 -46
  11. package/dist/mcp/tools/action/prepareSuiActionReview.js +4 -4
  12. package/dist/mcp/tools/read/deepbookReadTools.js +1 -1
  13. package/dist/mcp/tools/read/index.js +2 -2
  14. package/dist/mcp/tools/read/readToolHelpers.js +1 -1
  15. package/dist/mcp/tools/read/serverStatusTools.js +4 -5
  16. package/dist/mcp/tools/read/transactionActivityTools.js +3 -3
  17. package/dist/mcp/tools/session/walletConnectionTools.js +5 -5
  18. package/dist/mcp-app/account.html +1 -1
  19. package/dist/mcp-app/chart.html +1 -1
  20. package/dist/mcp-app/connect.html +1 -1
  21. package/dist/mcp-app/receipt.html +1 -1
  22. package/dist/mcp-app/review.html +1 -1
  23. package/dist/mcp-app/settings.html +1 -1
  24. package/dist/runtime/application.js +2 -2
  25. package/dist/runtime/config.js +3 -6
  26. package/dist/runtime/localSettingsService.js +4 -4
  27. package/dist/runtime/shared/control.js +2 -2
  28. package/dist/runtime/smokeMainnetRead.js +18 -18
  29. package/dist/runtime/smokeReview.js +7 -7
  30. package/dist/runtime/start.js +1 -1
  31. package/docs/AGENT_BEHAVIOR.md +78 -77
  32. package/docs/LOCAL_DB_ARCHITECTURE.md +5 -7
  33. package/docs/MCP_SETUP.md +76 -73
  34. package/docs/MCP_TOOLS.md +103 -102
  35. package/docs/SDK_API.md +8 -5
  36. package/docs/SIGNABLE_ADAPTER_CONTRACT.md +6 -6
  37. package/docs/TRANSACTION_ACTIVITY_LOG.md +7 -7
  38. package/docs/UTILITY_INDEX.md +59 -59
  39. package/docs/WALLET_CONNECTION.md +6 -5
  40. package/package.json +1 -1
  41. package/protocols/deepbook-margin.md +1 -1
  42. package/protocols/deepbook-v3.md +2 -2
@@ -6283,7 +6283,7 @@ zebra
6283
6283
  zero
6284
6284
  zone
6285
6285
  zoo`.split(`
6286
- `)),qme={0:`ED25519`,1:`Secp256k1`,2:`Secp256r1`,3:`MultiSig`,5:`ZkLogin`,6:`Passkey`},Jme=e=>Object.freeze(e());function Yme(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}function Xme(e){if(!Yme(e))throw TypeError(`Uint8Array expected`)}function ri(e,t){return Array.isArray(t)?t.length===0?!0:e?t.every(e=>typeof e==`string`):t.every(e=>Number.isSafeInteger(e)):!1}function Zme(e){if(typeof e!=`function`)throw TypeError(`function expected`);return!0}function Qme(e,t){if(typeof t!=`string`)throw TypeError(`${e}: string expected`);return!0}function $me(e,t=`number`){if(typeof e!=`number`)throw TypeError(`${t}: expected number, got ${typeof e}`);if(!Number.isSafeInteger(e))throw RangeError(`${t}: expected safe integer, got ${e}`)}function ii(e,t){if(!ri(!1,t))throw TypeError(`${e}: array of numbers expected`)}var ehe=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function ai(e,t=e.length){let n=Array(t);for(let r=0;r<t;r++)n[r]=e[r];return n}var the=(()=>{try{let e=new TextDecoder;return e.decode(Uint8Array.of(65,48,43,127))===`A0+`?e:void 0}catch{return}})(),nhe=8192;function rhe(e){let t=e.length;if(the!==void 0&&t>=12)return the.decode(e);if(t<=nhe)return String.fromCharCode.apply(null,e);let n=``;for(let r=0;r<t;r+=nhe)n+=String.fromCharCode.apply(null,e.subarray(r,r+nhe));return n}function ihe(e){if($me(e),e<=0||e>8)throw RangeError(`radix2: bits should be in (0..8]`);let t=ehe[e]-1;return{encode:n=>{Xme(n);let r=n.length,i=new Uint8Array(Math.ceil(r*8/e)),a=0,o=0,s=0;for(let l=0;l<r;)for(l+2<r?(a=a<<24|n[l]<<16|n[l+1]<<8|n[l+2],o+=24,l+=3):(a=(a<<8|n[l])&65535,o+=8,l++);o-=e,i[s++]=a>>o&t,!(o<e););return o>0&&(i[s]=a<<e-o&t),i},decode:t=>{let n=t.length,r=new Uint8Array(Math.floor(n*e/8)),i=0,a=0,o=0;for(let s=0;s<n;s++)for(i=(i<<e|t[s])&65535,a+=e;a>=8;a-=8)r[o++]=i>>a-8&255;if(i=i<<8-a&255,a>=e)throw Error(`Excess padding`);if(i>0)throw Error(`Non-zero padding: ${i}`);return r}}}function ahe(e,t){let n=e.length;if(n>128)throw Error(`alphabet: max 128 letters`);let r=new Uint8Array(n),i=new Int8Array(128).fill(-1);for(let t=0;t<n;t++){let n=e.charCodeAt(t);if(e.codePointAt(t)!==n||n>127)throw Error(`alphabet: single-char ASCII letters only`);r[t]=n,i[n]=t}if(t!==void 0)for(let e of Object.keys(t)){let n=e.charCodeAt(0),r=i[t[e].charCodeAt(0)];if(e.length!==1||n>127||r===void 0||r===-1)throw Error(`alphabet: invalid alias ${e}`);i[n]=r}return{encode:e=>{let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let i=e[n],a=r[i];if(a===void 0)throw Error(`alphabet.encode: invalid digit ${i}`);t[n]=a}return rhe(t)},decode:t=>{Qme(`decode`,t);let n=t.length,r=new Uint8Array(n);for(let a=0;a<n;a++){let n=t.charCodeAt(a),o=n<128?i[n]:-1;if(o===-1)throw Error(`Unknown letter "${t[a]}". Allowed: ${e}`);r[a]=o}return r}}}function oi(e){return Zme(e),function(...t){try{return e.apply(null,t)}catch{}}}var si=ahe(`qpzry9x8gf2tvdw0s3jn54khce6mua7l`),ci=/^[\x21-\x60\x7b-\x7e]+$/;function li(e,t){for(let n=0;n<t.length;n++){let r=t.charCodeAt(n);if(r<33||r>126)throw Error(`${e}: printable ASCII expected`)}}function ohe(e){let t=e.length,n=new Uint8Array(t);for(let r=0;r<t;r++){let t=e[r];if(t<0||t>=32)throw Error(`alphabet.encode: invalid digit ${t}`);n[r]=t}return n}var she=[996825010,642813549,513874426,1027748829,705979059];function ui(e){let t=e>>25,n=(e&33554431)<<5;for(let e=0;e<she.length;e++)(t>>e&1)==1&&(n^=she[e]);return n}function che(e,t,n=1){let r=e.length,i=1;for(let t=0;t<r;t++){let n=e.charCodeAt(t);if(n<33||n>126)throw Error(`Invalid prefix (${e})`);i=ui(i)^n>>5}i=ui(i);for(let t=0;t<r;t++)i=ui(i)^e.charCodeAt(t)&31;for(let e of t)i=ui(i)^e;for(let e=0;e<6;e++)i=ui(i);i^=n;let a=new Uint8Array(6);for(let e=0;e<6;e++)a[e]=i>>>5*(5-e)&31;return si.encode(a)}function lhe(e){let t=e===`bech32`?1:734539939,n=ihe(5),r=e=>{Xme(e);let t=e.length,n=Array(Math.ceil(t*8/5)),r=0,i=0,a=0;for(let o=0;o<t;o++)for(r=r<<8|e[o],i+=8;i>=5;i-=5)n[a++]=r>>i-5&31;return i>0&&(n[a]=r<<5-i&31),n},i=e=>{ii(`radix2.decode`,e);let t=e.length,r=new Uint8Array(t);for(let n=0;n<t;n++){let t=e[n];if(t<0||t>=32)throw Error(`convertRadix2: invalid word=${t}`);r[n]=t}return n.decode(r)},a=oi(i);function o(e,n,r=90){Qme(`bech32.encode prefix`,e),r!==!1&&$me(r,`limit`),Yme(n)&&(n=ai(n)),ii(`bech32.encode`,n);let i=e.length;if(i===0)throw TypeError(`Invalid prefix length ${i}`);let a=i+7+n.length;if(r!==!1&&a>r)throw TypeError(`Length ${a} exceeds limit ${r}`);li(`bech32.encode prefix`,e);let o=e.toLowerCase(),s=che(o,n,t);return`${o}1${si.encode(ohe(n))}${s}`}function s(e,n=90){Qme(`bech32.decode input`,e),n!==!1&&$me(n,`limit`);let r=e.length;if(r<8||n!==!1&&r>n)throw TypeError(`invalid string length ${r}, expected (8..${n})`);let i=e.toLowerCase();if(e!==i&&!ci.test(e))throw li(`bech32.decode input`,e),Error(`mixed-case string not allowed`);let a=i.lastIndexOf(`1`);if(a===0||a===-1)throw Error(`invalid separator "1"`);let o=i.slice(0,a),s=i.slice(a+1);if(s.length<6)throw Error(`invalid data length`);let l=si.decode(s),u=ai(l,l.length-6),d=che(o,u,t);if(!s.endsWith(d))throw Error(`Invalid checksum in ${e}`);return{prefix:o,words:u}}let l=oi(s);function u(e,t=90){let{prefix:n,words:r}=s(e,t);return{prefix:n,words:r,bytes:i(r)}}function d(e,t){return o(e,r(t))}return{encode:o,decode:s,encodeFromBytes:d,decodeToBytes:u,decodeUnsafe:l,fromWords:i,fromWordsUnsafe:a,toWords:r}}var uhe=Jme(()=>lhe(`bech32`));function dhe(e){let{prefix:t,words:n}=uhe.decode(e);if(t!==`suiprivkey`)throw Error(`invalid private key prefix`);let r=new Uint8Array(uhe.fromWords(n)),i=r.slice(1);return{scheme:qme[r[0]],secretKey:i}}var fhe=`external-proposal-alpha-2026-05-25`,phe=`proposal-review-model-alpha-2026-05-25`,mhe=N().refine(e=>{let t=new Date(e);return!Number.isNaN(t.getTime())&&t.toISOString()===e},`Expected ISO 8601 UTC timestamp`),I=/transaction\s*bytes?|transactionBytes|tx\s*bytes?|serialized\s*transaction|serializedTransaction|signed\s*transaction|signing\s*request|signingRequest|wallet\s*authorization|walletAuthorization|private\s*key|privateKey|secret\s*key|secretKey|seed\s*phrase|mnemonic|suiprivkey|signature|route[-_\s]*selected|routeSelectedPlan|bcs\s*transaction|programmable\s*transaction/i,hhe=/(?:0x[0-9a-fA-F]{160,}|[A-Za-z0-9+/_=-]{160,})/,ghe=/suiprivkey1[023456789acdefghjklmnpqrstuvwxyz]+/gi,_he=/(^|[^0-9a-fA-F])(?:0x)?[0-9a-fA-F]{64}($|[^0-9a-fA-F])/,vhe=/(^|[^A-Za-z0-9+/_=-])(?:[A-Za-z0-9+/]{43}=|[A-Za-z0-9+/]{44}|[A-Za-z0-9_-]{43,44})($|[^A-Za-z0-9+/_=-])/,yhe=/^(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$/,di=[12,15,18,21,24];function fi(e,t,n={}){return N().min(1).max(e).superRefine((e,r)=>{(I.test(e)||hhe.test(e)||bhe(e)||xhe(e)||!n.allowRawSecretLikeText&&She(e))&&r.addIssue({code:`custom`,message:`${t} must not contain executable, signing, private-key, mnemonic, route-selected, or encoded secret-like material`})})}function pi(e,t){return fi(e,t,{allowRawSecretLikeText:!0})}function bhe(e){return(e.match(ghe)??[]).some(e=>{try{return dhe(e.toLowerCase()),!0}catch{return e.toLowerCase().startsWith(`suiprivkey1`)}})}function xhe(e){let t=e.normalize(`NFKD`).toLowerCase().replace(/[^a-z]+/g,` `).trim().split(/\s+/).filter(Boolean);for(let e of di)if(!(t.length<e)){for(let n=0;n<=t.length-e;n+=1)if(Gme(t.slice(n,n+e).join(` `),Kme))return!0}return!1}function She(e){return _he.test(e)||vhe.test(e)}var Che=fi(80,`amountDisplay`).refine(e=>yhe.test(e)&&/[1-9]/.test(e),{message:`Expected a positive decimal display amount`}),mi=P({kind:An([`mcp_server`,`ai_client`,`user`,`other`]),name:fi(120,`source.name`),reference:fi(256,`source.reference`).optional()}).strict(),hi=P({address:Xr.optional(),label:fi(120,`party.label`).optional()}).strict().refine(e=>e.address!==void 0||e.label!==void 0,{message:`Expected address or label`}),gi=P({amountDisplay:Che,amountKind:jn(`display_proposal`).default(`display_proposal`),symbol:fi(64,`amount.symbol`).optional(),coinType:pi(512,`amount.coinType`).optional(),denomination:fi(64,`amount.denomination`).optional()}).strict(),whe=P({packageId:pi(128,`action.target.packageId`).optional(),module:fi(128,`action.target.module`).optional(),function:fi(128,`action.target.function`).optional(),objectId:pi(128,`action.target.objectId`).optional(),label:fi(120,`action.target.label`).optional()}).strict().refine(e=>e.packageId!==void 0||e.module!==void 0||e.function!==void 0||e.objectId!==void 0||e.label!==void 0,{message:`Expected at least one action target field`}),The=P({direction:An([`outgoing`,`expected_incoming`,`fee`]),amount:gi,recipient:hi.optional(),description:fi(512,`assetFlow.description`).optional()}).strict(),Ehe=P({id:fi(120,`proposal.id`),source:mi,network:jn(`sui:mainnet`),createdAt:mhe,expiresAt:mhe.optional(),purpose:fi(512,`purpose`),assumptions:wn(fi(512,`assumptions[]`)).max(20).optional(),requiredUserChoices:wn(fi(512,`requiredUserChoices[]`)).max(20).optional()}).strict(),Dhe=Dn(`type`,[Ehe.extend({type:jn(`payment`),payment:P({amount:gi,recipient:hi,target:fi(512,`payment.target`).optional()}).strict()}).strict(),Ehe.extend({type:jn(`sui_action`),action:P({actionKind:fi(120,`action.actionKind`),target:whe,recipient:hi.optional(),assetFlow:wn(The).max(20).optional()}).strict()}).strict()]),_i=P({id:N(),label:N(),status:An([`pass`,`warning`,`fail`]),message:N(),source:An([`proposal`,`adapter`,`registry`,`quote`,`wallet`,`simulation`,`network`])}).strict(),Ohe=P({id:N(),label:N(),reason:N()}).strict(),khe=P({modelVersion:jn(phe),contractVersion:jn(fhe),proposalId:N(),proposalType:An([`payment`,`sui_action`]),proposalSource:mi,proposedAction:P({kind:An([`payment`,`sui_action`]),title:N(),purpose:N(),network:jn(`sui:mainnet`),recipient:hi.optional(),target:En([N(),whe]).optional()}).strict(),assetFlow:P({outgoing:wn(gi),expectedIncoming:wn(gi),fees:wn(gi)}).strict(),recipients:wn(hi),targets:wn(En([N(),whe])),evidenceUsed:wn(P({id:N(),label:N(),source:An([`external_proposal`,`local_schema`]),summary:N()}).strict()),missingEvidence:wn(Ohe),requiredUserChoices:wn(Ohe),unsupportedClaims:wn(P({id:N(),label:N(),reason:N()}).strict()),rejectedExecutableFields:wn(P({fieldName:N(),reason:N()}).strict()),freshness:P({proposalCreatedAt:mhe,proposalExpiresAt:mhe.optional(),evaluatedAt:mhe,status:An([`current`,`expired`,`created_in_future`,`expiry_not_provided`]),reason:N()}).strict(),blockingChecks:wn(_i),nonSignableReason:P({code:jn(`external_proposal_review_only`),message:N(),blockedCapabilities:wn(N())}).strict()}).strict();P({requestedIntent:Dhe,implementationStatus:jn(`read_only_review_only`),contractVersion:jn(fhe)}).strict();var Ahe=[`adapter_not_implemented`,`producer_stage_missing`,`wallet_review_contract_emit_missing`,`network_mismatch`,`insufficient_balance`,`insufficient_gas`,`allowlist_violation`,`asset_mismatch`,`amount_mismatch`,`wallet_mismatch`,`unsupported_action`,`object_resolution_failed`,`proposal_review_only`],jhe=[`review_evidence_stale`,`quote_stale`,`quote_unavailable`,`simulation_transient_failure`,`review_update_failed`,`wallet_connection_changed`],vi=[`proposed`,`awaiting_wallet`,`wallet_connected`,`ready_for_wallet_review`,`refresh_required`,`blocked`,`expired`],yi=[`humanReadableReview`,`simulation`,`transactionReviewData`,`ptbVisualization`,`assetFlowActual`,`beforeAfterBalance`],bi=An([`client.core.simulateTransaction`,`client.transactionExecutionService.simulateTransaction`]),xi=`ptb-visualization-contract-alpha-2026-05-25`,Si=[`proposedAction`,`assetFlow`,`recipients`,`targets`,`evidenceUsed`,`missingEvidence`,`requiredUserChoices`,`unsupportedClaims`,`freshness`,`blockingChecks`],Ci=[`effects`,`balanceChanges`,`objectTypes`,`transaction`],wi=[`transaction_bytes`,`serialized_transaction`,`wallet_signature_request`,`private_key_material`,`wallet_authorization`,`signing_data`,`signing_readiness`,`payment_execution_readiness`],Mhe=[`transaction_building_input`,`wallet_authorization`,`signing_data`,`signing_readiness`,`payment_execution_readiness`,`route_recommendation`],Nhe=ime,Ti=`MIST`,Phe=[`checkedAt`,`expiresAt`],Ei=[`checkedAt`,`expiryStatus`],Di=[`rawAmount`,`asset`,`amountRole`],Fhe=[`minOutRaw`,`asset`,`amountRole`],Ihe=[`gasBudgetRaw`,`asset`,`amountRole`],Lhe=[`gasUsedRaw`,`asset`,`amountRole`],Rhe=[`checkedAt`,`gasResolutionStatus`,`unresolvedReason`],Oi=[`balanceChanges`,`asset`,`amountRole`],ki=[`coinType`,`decimals`],zhe=[`quoteEvidenceId`,`minOutRaw`],Bhe=[`maxSlippageBps`,`userSelection`],Ai=[`maxSlippageBps`,`minOutRaw`],Vhe=[`ownerAccount`,`objects`],Hhe=[`pinned_sdk_registry`,`verified_mainnet_onchain_metadata`,`wallet_account_read`,`quote_evidence`,`review_time_simulation`,`validated_request_fact`,`user_explicit_choice`],ji=[`input`,`expected_output`,`minimum_output`,`gas_budget`,`gas_used`,`fee`,`balance_delta`],Uhe={input:{kinds:[`validated_request_fact`,`wallet_account_read`,`user_explicit_choice`],fields:Di},expected_output:{kinds:[`quote_evidence`,`review_time_simulation`],fields:Di},minimum_output:{kinds:[`quote_evidence`],fields:Fhe},gas_budget:{kinds:[`review_time_simulation`],fields:Ihe},gas_used:{kinds:[`review_time_simulation`],fields:Lhe},fee:{kinds:[`review_time_simulation`],fields:Di},balance_delta:{kinds:[`review_time_simulation`],fields:Oi}},Whe={pinned_sdk_metadata:{kinds:[`pinned_sdk_registry`],fields:ki},verified_mainnet_onchain_metadata:{kinds:[`verified_mainnet_onchain_metadata`],fields:ki}},Mi={user_explicit:{kinds:[`user_explicit_choice`],fields:Bhe},adapter_policy_from_quote_evidence:{kinds:[`quote_evidence`],fields:Ai}},Ni={kinds:[`review_time_simulation`],fields:Rhe},Ghe={kinds:[`quote_evidence`],fields:zhe},Khe={kinds:[`validated_request_fact`],fields:Phe},qhe={kinds:[`validated_request_fact`],fields:Ei},Pi={raw_quantity_amount:{byRole:Uhe},unit_metadata:{bySource:Whe},gas_unresolved_status:Ni,expiry_status:{current:Khe,expired:Khe,not_provided:qhe,not_applicable:qhe},quote_min_out:Ghe,slippage_policy:{bySource:Mi},object_ownership:{kinds:[`wallet_account_read`],fields:Vhe},simulation_result:{kinds:[`review_time_simulation`],fields:Ci}},Fi={gasBudgetClaimId:{factKind:`raw_quantity_amount`,role:`gas_budget`,assetCoinType:Nhe,rawUnit:Ti},gasUsedClaimId:{factKind:`raw_quantity_amount`,role:`gas_used`,assetCoinType:Nhe,rawUnit:Ti},gasObjectOwnershipClaimId:{factKind:`object_ownership`,ownership:`owned_by_account`}},Ii=N().refine(e=>{let t=new Date(e);return!Number.isNaN(t.getTime())&&t.toISOString()===e},`Expected ISO 8601 UTC timestamp`),Li=ume(`unsigned integer`),Jhe=N().regex(/^0x[0-9a-fA-F]{1,64}$/,{message:`Expected a Sui object id`}),Yhe=N().min(1).max(512).refine(e=>{try{return $r(e)===e}catch{return!1}},`Expected a normalized Sui struct tag coin type`),Ri=N().min(1).max(120),Xhe=P({symbol:N().min(1).max(64).optional(),coinType:Yhe}).strict(),Zhe=/transaction\s*bytes?|tx\s*bytes?|serialized\s*transaction|serializedTransaction|signed\s*transaction|signing\s*request|signingRequest|wallet\s*authorization|walletAuthorization|private\s*key|privateKey|secret\s*key|secretKey|seed\s*phrase|mnemonic|suiprivkey|signature|bcs\s*transaction/i,Qhe=/(?:0x[0-9a-fA-F]{160,}|[A-Za-z0-9+/_=-]{160,})/;function $he(e,t){return N().min(1).max(e).superRefine((e,n)=>{(Zhe.test(e)||Qhe.test(e))&&n.addIssue({code:`custom`,message:`${t} must not contain executable transaction, signing, private-key, mnemonic, or long encoded material`})})}function ege(e,t){let n=new Set(e);return t.filter(e=>!n.has(e))}function tge(e,t,n,r,i){let a=ege(t,n);a.length!==0&&e.addIssue({code:`custom`,path:r,message:`${i} must include ${a.join(`, `)}`})}function nge(e,t,n,r,i){tge(e,t,n,r,i)}function zi(e,t,n){e.addIssue({code:`custom`,path:t,message:`${n} must match referenced evidence claim`})}function Bi(e,t,n,r,i){t!==n&&zi(e,r,i)}function rge(e,t,n,r,i){let a=new Set(t),o=new Set(n);if(a.size!==o.size)zi(e,r,i);else for(let t of a)if(!o.has(t)){zi(e,r,i);return}}function ige(e,t,n,r,i){(t.symbol!==n.symbol||t.coinType!==n.coinType)&&zi(e,r,i)}function age(e,t,n,r,i){try{$r(t.coinType)!==n&&zi(e,r,i)}catch{zi(e,r,i)}}var oge=P({kind:An([`natural_language_intent`,`external_proposal`,`mcp_action_request`,`local_review_request`]),sourceId:N().min(1).max(160),capturedAt:Ii,authority:jn(`untrusted_until_review_regenerates_and_verifies`),userSelectionSource:An([`user_explicit`,`prior_user_explicit_context`]).optional()}).strict(),Vi=P({id:Ri,kind:An(Hhe),network:jn(`sui:mainnet`),source:N().min(1).max(240),verifiedAt:Ii,fields:wn(N().min(1).max(120)).min(1)}).strict(),sge=Dn(`factKind`,[P({id:Ri,factKind:jn(`raw_quantity_amount`),sourceEvidenceId:Ri,role:An(ji),asset:Xhe,rawAmount:Li}).strict(),P({id:Ri,factKind:jn(`unit_metadata`),sourceEvidenceId:Ri,source:An([`pinned_sdk_metadata`,`verified_mainnet_onchain_metadata`]),coinType:Yhe,decimals:yn().int().min(0).max(255)}).strict(),P({id:Ri,factKind:jn(`gas_unresolved_status`),sourceEvidenceId:Ri,checkedAt:Ii,status:jn(`unresolved`),reason:N().min(1).max(240)}).strict(),P({id:Ri,factKind:jn(`expiry_status`),sourceEvidenceId:Ri,checkedAt:Ii,status:An([`current`,`expired`,`not_provided`,`not_applicable`]),expiresAt:Ii.optional(),reason:N().min(1).max(240).optional()}).strict(),P({id:Ri,factKind:jn(`quote_min_out`),sourceEvidenceId:Ri,quoteEvidenceId:N().min(1).max(120),minOutRaw:Li}).strict(),P({id:Ri,factKind:jn(`slippage_policy`),sourceEvidenceId:Ri,policySource:An([`user_explicit`,`adapter_policy_from_quote_evidence`]),maxSlippageBps:yn().int().min(0).max(1e4),minOutRaw:Li.optional()}).strict(),P({id:Ri,factKind:jn(`object_ownership`),sourceEvidenceId:Ri,objectId:Jhe,ownerAccount:Xr,ownership:An([`owned_by_account`,`shared_object`,`immutable_or_package`,`not_owned_by_account`])}).strict(),P({id:Ri,factKind:jn(`simulation_result`),sourceEvidenceId:Ri,provider:bi,checksEnabled:jn(!0),simulatedAt:Ii,status:An([`success`,`failed`,`unavailable`]),requiredFields:wn(An(Ci)).min(Ci.length),missingFields:wn(An(Ci)).default([]),failureReason:N().min(1).max(240).optional()}).strict()]),Hi=P({id:Ri,role:An(ji),asset:Xhe,rawAmount:Li,unit:P({decimals:yn().int().min(0).max(255),source:An([`pinned_sdk_metadata`,`verified_mainnet_onchain_metadata`]),sourceField:N().min(1).max(160),unitClaimId:Ri}).strict(),amountClaimId:Ri,displayOnly:P({amountDisplay:N().min(1).max(120),reason:jn(`presentation_only_not_signing_input`)}).strict().optional()}).strict(),cge=P({objectId:Jhe,ownerAccount:Xr,ownershipClaimId:Ri}).strict(),lge=P({source:jn(`review_time_simulation`),checkedAt:Ii,gasBudgetRaw:Li.optional(),gasBudgetClaimId:Ri.optional(),gasUsedRaw:Li.optional(),gasUsedClaimId:Ri.optional(),gasObjects:wn(cge).optional(),unresolvedReason:N().min(1).max(240).optional(),unresolvedClaimId:Ri.optional()}).strict().superRefine((e,t)=>{let n=e.gasBudgetRaw!==void 0||e.gasUsedRaw!==void 0;!n&&e.unresolvedReason===void 0&&t.addIssue({code:`custom`,message:`Expected gas evidence or unresolvedReason`}),n&&e.unresolvedReason!==void 0&&t.addIssue({code:`custom`,path:[`unresolvedReason`],message:`Resolved gas quantities must not include unresolvedReason`}),e.gasBudgetRaw!==void 0&&e.gasBudgetClaimId===void 0&&t.addIssue({code:`custom`,path:[`gasBudgetClaimId`],message:`gasBudgetRaw requires gasBudgetClaimId`}),e.gasBudgetRaw===void 0&&e.gasBudgetClaimId!==void 0&&t.addIssue({code:`custom`,path:[`gasBudgetClaimId`],message:`gasBudgetClaimId requires gasBudgetRaw`}),e.gasUsedRaw!==void 0&&e.gasUsedClaimId===void 0&&t.addIssue({code:`custom`,path:[`gasUsedClaimId`],message:`gasUsedRaw requires gasUsedClaimId`}),e.gasUsedRaw===void 0&&e.gasUsedClaimId!==void 0&&t.addIssue({code:`custom`,path:[`gasUsedClaimId`],message:`gasUsedClaimId requires gasUsedRaw`}),e.unresolvedReason!==void 0&&e.unresolvedClaimId===void 0&&t.addIssue({code:`custom`,path:[`unresolvedClaimId`],message:`unresolvedReason requires unresolvedClaimId`}),e.unresolvedReason===void 0&&e.unresolvedClaimId!==void 0&&t.addIssue({code:`custom`,path:[`unresolvedClaimId`],message:`unresolvedClaimId requires unresolvedReason`})}),uge=Dn(`status`,[P({checkedAt:Ii,status:jn(`current`),expiresAt:Ii,evidenceClaimId:Ri}).strict(),P({checkedAt:Ii,status:jn(`expired`),expiresAt:Ii,evidenceClaimId:Ri}).strict(),P({checkedAt:Ii,status:jn(`not_provided`),evidenceClaimId:Ri,reason:N().min(1).max(240),expiresAt:Cn().optional()}).strict(),P({checkedAt:Ii,status:jn(`not_applicable`),evidenceClaimId:Ri,reason:N().min(1).max(240),expiresAt:Cn().optional()}).strict()]).superRefine((e,t)=>{e.status===`current`&&Date.parse(e.expiresAt)<=Date.parse(e.checkedAt)&&t.addIssue({code:`custom`,path:[`expiresAt`],message:`Current expiry evidence requires expiresAt after checkedAt`}),e.status===`expired`&&Date.parse(e.expiresAt)>Date.parse(e.checkedAt)&&t.addIssue({code:`custom`,path:[`expiresAt`],message:`Expired expiry evidence requires expiresAt at or before checkedAt`})}),dge=P({status:An([`required_and_verified`,`not_required_for_action`,`missing`,`stale`]),quoteEvidenceId:N().min(1).max(120).optional(),quoteEvidenceClaimId:Ri.optional(),maxSlippageBps:yn().int().min(0).max(1e4).optional(),minOutRaw:Li.optional(),policySource:An([`user_explicit`,`adapter_policy_from_quote_evidence`]).optional(),policyEvidenceClaimId:Ri.optional()}).strict().superRefine((e,t)=>{e.status===`required_and_verified`&&(e.quoteEvidenceId===void 0||e.quoteEvidenceClaimId===void 0||e.maxSlippageBps===void 0||e.minOutRaw===void 0||e.policySource===void 0||e.policyEvidenceClaimId===void 0)&&t.addIssue({code:`custom`,message:`Verified min-out evidence requires quoteEvidenceId, quoteEvidenceClaimId, maxSlippageBps, minOutRaw, policySource, and policyEvidenceClaimId`}),e.quoteEvidenceId!==void 0&&e.quoteEvidenceClaimId===void 0&&t.addIssue({code:`custom`,path:[`quoteEvidenceClaimId`],message:`quoteEvidenceId requires quoteEvidenceClaimId`}),e.quoteEvidenceId===void 0&&e.quoteEvidenceClaimId!==void 0&&t.addIssue({code:`custom`,path:[`quoteEvidenceClaimId`],message:`quoteEvidenceClaimId requires quoteEvidenceId`}),e.minOutRaw!==void 0&&e.quoteEvidenceClaimId===void 0&&t.addIssue({code:`custom`,path:[`quoteEvidenceClaimId`],message:`minOutRaw requires quoteEvidenceClaimId`}),e.maxSlippageBps!==void 0&&e.policySource===void 0&&t.addIssue({code:`custom`,path:[`policySource`],message:`maxSlippageBps requires policySource`}),e.policySource!==void 0&&e.policyEvidenceClaimId===void 0&&t.addIssue({code:`custom`,path:[`policyEvidenceClaimId`],message:`policySource requires policyEvidenceClaimId`}),e.policySource===void 0&&e.policyEvidenceClaimId!==void 0&&t.addIssue({code:`custom`,path:[`policyEvidenceClaimId`],message:`policyEvidenceClaimId requires policySource`})}),fge=P({checkedAt:Ii,ownerAccount:Xr,objects:wn(P({objectId:Jhe,role:An([`input_coin`,`gas_coin`,`protocol_object`,`shared_object`,`receiving_object`]),ownership:An([`owned_by_account`,`shared_object`,`immutable_or_package`,`not_owned_by_account`]),evidenceClaimId:Ri}).strict()).min(1)}).strict(),Ui=P({evidenceClaimId:Ri,transactionDigest:Zr,provider:bi,checksEnabled:jn(!0),simulatedAt:Ii,status:An([`success`,`failed`,`unavailable`]),requiredFields:wn(An(Ci)).min(Ci.length),missingFields:wn(An(Ci)).default([]),failureReason:N().min(1).max(240).optional()}).strict().refine(e=>e.status!==`success`||e.missingFields.length===0,{message:`Successful simulation evidence must not have missing required fields`}).refine(e=>Ci.every(t=>e.requiredFields.includes(t)),{message:`Simulation evidence must include every required simulation field`}).refine(e=>e.status===`success`||e.failureReason!==void 0,{message:`Failed or unavailable simulation evidence requires failureReason`}).refine(e=>e.status!==`success`||e.failureReason===void 0,{message:`Successful simulation evidence must not include failureReason`}),pge=P({fields:wn(An(Si)).min(Si.length),transactionDigest:Zr,source:jn(`review_model_or_adapter_equivalent`),purpose:jn(`human_review_before_wallet_authorization`)}).strict().refine(e=>Si.every(t=>e.fields.includes(t)),{message:`Human-readable review fields must include every required review field`}),Wi=P({runtimeStatus:jn(`emitted_pre_handoff`),mcpAndReviewUiMayExpose:wn(An([`human_readable_review`,`ptb_visualization_artifact`,`diagnostics`,`status_checks`])).min(1),prohibited:wn(An(wi)).min(1)}).strict().superRefine((e,t)=>{nge(t,e.prohibited,wi,[`prohibited`],`prohibited`)}),mge=P({schemaVersion:jn(1),adapterId:N().min(1).max(120),protocol:N().min(1).max(120),actionKind:N().min(1).max(120),network:jn(`sui:mainnet`),inputProvenance:oge,sourceReferences:wn(Vi).min(1),evidenceClaims:wn(sge).min(1),rawQuantities:wn(Hi).min(1),gas:lge,expiry:uge,slippageOrMinOut:dge,objectOwnership:fge,simulation:Ui,humanReadableReview:pge,outputBoundary:Wi,reviewedTransactionDigest:Zr}).strict().superRefine((e,t)=>{let n=new Set,r=new Map,i=new Map;e.sourceReferences.forEach((e,a)=>{n.has(e.id)&&t.addIssue({code:`custom`,path:[`sourceReferences`,a,`id`],message:`sourceReferences id must be unique: ${e.id}`}),n.add(e.id),r.has(e.id)||(r.set(e.id,e),i.set(e.id,a))});let a=new Set,o=new Map,s=new Map;e.evidenceClaims.forEach((e,n)=>{a.has(e.id)&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`id`],message:`evidenceClaims id must be unique: ${e.id}`}),a.add(e.id),o.has(e.id)||(o.set(e.id,e),s.set(e.id,n))});let l=(e,n)=>{if(e===void 0)return;let i=r.get(e);if(i!==void 0)return i;t.addIssue({code:`custom`,path:n,message:`source evidence id must reference sourceReferences[].id: ${e}`})},u=(e,n,r,a)=>{if(e===void 0)return;let o=l(e,r);if(o===void 0)return;let s=i.get(e),u=s===void 0?r:[`sourceReferences`,s];n.kinds.includes(o.kind)||t.addIssue({code:`custom`,path:[...u,`kind`],message:`${a} source kind must be one of ${n.kinds.join(`, `)}`}),tge(t,o.fields,n.fields,[...u,`fields`],`${a} sourceReferences fields`)},d=(e,n,r,i)=>{if(e===void 0){t.addIssue({code:`custom`,path:r,message:`${i} must reference evidenceClaims[].id`});return}let a=o.get(e);if(a===void 0)t.addIssue({code:`custom`,path:r,message:`${i} must reference evidenceClaims[].id: ${e}`});else{if(a.factKind!==n){let a=s.get(e),o=a===void 0?r:[`evidenceClaims`,a,`factKind`];t.addIssue({code:`custom`,path:o,message:`${i} evidence claim factKind must be ${n}`})}return a}};if(e.evidenceClaims.forEach((e,n)=>{e.factKind===`raw_quantity_amount`&&u(e.sourceEvidenceId,Pi.raw_quantity_amount.byRole[e.role],[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].raw_quantity_amount`),e.factKind===`unit_metadata`&&u(e.sourceEvidenceId,Pi.unit_metadata.bySource[e.source],[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].unit_metadata`),e.factKind===`gas_unresolved_status`&&u(e.sourceEvidenceId,Pi.gas_unresolved_status,[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].gas_unresolved_status`),e.factKind===`expiry_status`&&(u(e.sourceEvidenceId,Pi.expiry_status[e.status],[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].expiry_status`),(e.status===`current`||e.status===`expired`)&&e.expiresAt===void 0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`expiresAt`],message:`Current or expired expiry claim requires expiresAt`}),(e.status===`not_provided`||e.status===`not_applicable`)&&e.reason===void 0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`reason`],message:`Unavailable expiry claim requires reason`}),(e.status===`not_provided`||e.status===`not_applicable`)&&e.expiresAt!==void 0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`expiresAt`],message:`Unavailable expiry claim must not include expiresAt`}),e.status===`current`&&e.expiresAt!==void 0&&Date.parse(e.expiresAt)<=Date.parse(e.checkedAt)&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`expiresAt`],message:`Current expiry claim requires expiresAt after checkedAt`}),e.status===`expired`&&e.expiresAt!==void 0&&Date.parse(e.expiresAt)>Date.parse(e.checkedAt)&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`expiresAt`],message:`Expired expiry claim requires expiresAt at or before checkedAt`})),e.factKind===`quote_min_out`&&u(e.sourceEvidenceId,Pi.quote_min_out,[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].quote_min_out`),e.factKind===`slippage_policy`&&(u(e.sourceEvidenceId,Pi.slippage_policy.bySource[e.policySource],[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].slippage_policy`),e.policySource===`adapter_policy_from_quote_evidence`&&e.minOutRaw===void 0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`minOutRaw`],message:`Adapter-derived slippage policy claim requires minOutRaw`})),e.factKind===`object_ownership`&&u(e.sourceEvidenceId,Pi.object_ownership,[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].object_ownership`),e.factKind===`simulation_result`&&(u(e.sourceEvidenceId,Pi.simulation_result,[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].simulation_result`),e.status===`success`&&e.missingFields.length!==0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`missingFields`],message:`Successful simulation claim must not have missing required fields`}),Ci.every(t=>e.requiredFields.includes(t))||t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`requiredFields`],message:`Simulation claim must include every required simulation field`}),e.status!==`success`&&e.failureReason===void 0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`failureReason`],message:`Failed or unavailable simulation claim requires failureReason`}),e.status===`success`&&e.failureReason!==void 0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`failureReason`],message:`Successful simulation claim must not include failureReason`}))}),e.rawQuantities.forEach((e,n)=>{let r=d(e.amountClaimId,`raw_quantity_amount`,[`rawQuantities`,n,`amountClaimId`],`rawQuantities[${n}].amountClaimId`);r?.factKind===`raw_quantity_amount`&&(Bi(t,e.role,r.role,[`rawQuantities`,n,`role`],`rawQuantities[${n}].role`),Bi(t,e.rawAmount,r.rawAmount,[`rawQuantities`,n,`rawAmount`],`rawQuantities[${n}].rawAmount`),ige(t,e.asset,r.asset,[`rawQuantities`,n,`asset`],`rawQuantities[${n}].asset`));let i=d(e.unit.unitClaimId,`unit_metadata`,[`rawQuantities`,n,`unit`,`unitClaimId`],`rawQuantities[${n}].unit.unitClaimId`);i?.factKind===`unit_metadata`&&(Bi(t,e.unit.source,i.source,[`rawQuantities`,n,`unit`,`source`],`rawQuantities[${n}].unit.source`),Bi(t,e.unit.decimals,i.decimals,[`rawQuantities`,n,`unit`,`decimals`],`rawQuantities[${n}].unit.decimals`),e.asset.coinType!==void 0&&Bi(t,e.asset.coinType,i.coinType,[`rawQuantities`,n,`asset`,`coinType`],`rawQuantities[${n}].asset.coinType`))}),e.gas.gasBudgetRaw!==void 0){let n=d(e.gas.gasBudgetClaimId,`raw_quantity_amount`,[`gas`,`gasBudgetClaimId`],`gas.gasBudgetClaimId`);n?.factKind===`raw_quantity_amount`&&(Bi(t,n.role,Fi.gasBudgetClaimId.role,[`gas`,`gasBudgetClaimId`],`gas.gasBudgetClaimId role`),age(t,n.asset,Fi.gasBudgetClaimId.assetCoinType,[`gas`,`gasBudgetClaimId`],`gas.gasBudgetClaimId asset`),Bi(t,e.gas.gasBudgetRaw,n.rawAmount,[`gas`,`gasBudgetRaw`],`gas.gasBudgetRaw`))}if(e.gas.gasUsedRaw!==void 0){let n=d(e.gas.gasUsedClaimId,`raw_quantity_amount`,[`gas`,`gasUsedClaimId`],`gas.gasUsedClaimId`);n?.factKind===`raw_quantity_amount`&&(Bi(t,n.role,Fi.gasUsedClaimId.role,[`gas`,`gasUsedClaimId`],`gas.gasUsedClaimId role`),age(t,n.asset,Fi.gasUsedClaimId.assetCoinType,[`gas`,`gasUsedClaimId`],`gas.gasUsedClaimId asset`),Bi(t,e.gas.gasUsedRaw,n.rawAmount,[`gas`,`gasUsedRaw`],`gas.gasUsedRaw`))}if(e.gas.unresolvedReason!==void 0){let n=d(e.gas.unresolvedClaimId,`gas_unresolved_status`,[`gas`,`unresolvedClaimId`],`gas.unresolvedClaimId`);n?.factKind===`gas_unresolved_status`&&(Bi(t,n.status,`unresolved`,[`gas`,`unresolvedClaimId`],`gas.unresolvedClaimId status`),Bi(t,e.gas.checkedAt,n.checkedAt,[`gas`,`checkedAt`],`gas.checkedAt`),Bi(t,e.gas.unresolvedReason,n.reason,[`gas`,`unresolvedReason`],`gas.unresolvedReason`))}e.gas.gasObjects?.forEach((e,n)=>{let r=d(e.ownershipClaimId,`object_ownership`,[`gas`,`gasObjects`,n,`ownershipClaimId`],`gas.gasObjects[${n}].ownershipClaimId`);r?.factKind===`object_ownership`&&(Bi(t,e.objectId,r.objectId,[`gas`,`gasObjects`,n,`objectId`],`gas.gasObjects[${n}].objectId`),Bi(t,e.ownerAccount,r.ownerAccount,[`gas`,`gasObjects`,n,`ownerAccount`],`gas.gasObjects[${n}].ownerAccount`),Bi(t,r.ownership,Fi.gasObjectOwnershipClaimId.ownership,[`gas`,`gasObjects`,n,`ownershipClaimId`],`gas.gasObjects[${n}].ownershipClaimId ownership`))});let f=d(e.expiry.evidenceClaimId,`expiry_status`,[`expiry`,`evidenceClaimId`],`expiry.evidenceClaimId`);if(f?.factKind===`expiry_status`&&(Bi(t,e.expiry.status,f.status,[`expiry`,`status`],`expiry.status`),Bi(t,e.expiry.checkedAt,f.checkedAt,[`expiry`,`checkedAt`],`expiry.checkedAt`),e.expiry.status===`current`||e.expiry.status===`expired`?Bi(t,e.expiry.expiresAt,f.expiresAt,[`expiry`,`expiresAt`],`expiry.expiresAt`):Bi(t,e.expiry.reason,f.reason,[`expiry`,`reason`],`expiry.reason`)),e.slippageOrMinOut.quoteEvidenceClaimId!==void 0){let n=d(e.slippageOrMinOut.quoteEvidenceClaimId,`quote_min_out`,[`slippageOrMinOut`,`quoteEvidenceClaimId`],`slippageOrMinOut.quoteEvidenceClaimId`);n?.factKind===`quote_min_out`&&(Bi(t,e.slippageOrMinOut.quoteEvidenceId,n.quoteEvidenceId,[`slippageOrMinOut`,`quoteEvidenceId`],`slippageOrMinOut.quoteEvidenceId`),Bi(t,e.slippageOrMinOut.minOutRaw,n.minOutRaw,[`slippageOrMinOut`,`minOutRaw`],`slippageOrMinOut.minOutRaw`))}if(e.slippageOrMinOut.minOutRaw!==void 0&&(e.rawQuantities.some(t=>t.role===`minimum_output`&&t.rawAmount===e.slippageOrMinOut.minOutRaw)||t.addIssue({code:`custom`,path:[`slippageOrMinOut`,`minOutRaw`],message:`slippageOrMinOut.minOutRaw must match a minimum_output rawQuantities entry`})),e.slippageOrMinOut.policyEvidenceClaimId!==void 0){let n=d(e.slippageOrMinOut.policyEvidenceClaimId,`slippage_policy`,[`slippageOrMinOut`,`policyEvidenceClaimId`],`slippageOrMinOut.policyEvidenceClaimId`);n?.factKind===`slippage_policy`&&(Bi(t,e.slippageOrMinOut.policySource,n.policySource,[`slippageOrMinOut`,`policySource`],`slippageOrMinOut.policySource`),Bi(t,e.slippageOrMinOut.maxSlippageBps,n.maxSlippageBps,[`slippageOrMinOut`,`maxSlippageBps`],`slippageOrMinOut.maxSlippageBps`),n.policySource===`adapter_policy_from_quote_evidence`&&Bi(t,e.slippageOrMinOut.minOutRaw,n.minOutRaw,[`slippageOrMinOut`,`minOutRaw`],`slippageOrMinOut.minOutRaw`))}e.objectOwnership.objects.forEach((n,r)=>{let i=d(n.evidenceClaimId,`object_ownership`,[`objectOwnership`,`objects`,r,`evidenceClaimId`],`objectOwnership.objects[${r}].evidenceClaimId`);i?.factKind===`object_ownership`&&(Bi(t,n.objectId,i.objectId,[`objectOwnership`,`objects`,r,`objectId`],`objectOwnership.objects[${r}].objectId`),Bi(t,e.objectOwnership.ownerAccount,i.ownerAccount,[`objectOwnership`,`ownerAccount`],`objectOwnership.ownerAccount`),Bi(t,n.ownership,i.ownership,[`objectOwnership`,`objects`,r,`ownership`],`objectOwnership.objects[${r}].ownership`))});let p=d(e.simulation.evidenceClaimId,`simulation_result`,[`simulation`,`evidenceClaimId`],`simulation.evidenceClaimId`);p?.factKind===`simulation_result`&&(Bi(t,e.simulation.provider,p.provider,[`simulation`,`provider`],`simulation.provider`),Bi(t,e.simulation.checksEnabled,p.checksEnabled,[`simulation`,`checksEnabled`],`simulation.checksEnabled`),Bi(t,e.simulation.simulatedAt,p.simulatedAt,[`simulation`,`simulatedAt`],`simulation.simulatedAt`),Bi(t,e.simulation.status,p.status,[`simulation`,`status`],`simulation.status`),rge(t,e.simulation.requiredFields,p.requiredFields,[`simulation`,`requiredFields`],`simulation.requiredFields`),rge(t,e.simulation.missingFields,p.missingFields,[`simulation`,`missingFields`],`simulation.missingFields`),Bi(t,e.simulation.failureReason,p.failureReason,[`simulation`,`failureReason`],`simulation.failureReason`))}).superRefine((e,t)=>{let n=e.reviewedTransactionDigest;Bi(t,e.humanReadableReview.transactionDigest,n,[`humanReadableReview`,`transactionDigest`],`humanReadableReview.transactionDigest`),Bi(t,e.simulation.transactionDigest,n,[`simulation`,`transactionDigest`],`simulation.transactionDigest`)}),hge=P({contractVersion:jn(xi),artifactKind:jn(`ptb_visualization`),generatedAt:Ii,source:P({adapterId:N().min(1).max(120),planId:N().min(1).max(120).optional(),sourceKind:An([`review_time_generated_transaction_kind`,`review_time_ir`,`renderer_model`]),authority:jn(`visualization_only_not_wallet_authorization`),renderer:P({name:N().min(1).max(120),packageName:N().min(1).max(120).optional(),version:N().min(1).max(80).optional()}).strict().optional()}).strict(),mermaid:P({diagramType:jn(`flowchart`),text:$he(2e4,`mermaid.text`),namedText:$he(2e4,`mermaid.namedText`)}).strict(),diagnostics:wn(P({severity:An([`info`,`warning`,`error`]),code:N().min(1).max(120),message:$he(512,`diagnostics.message`),source:An([`adapter`,`renderer`,`schema`,`simulation`])}).strict()).default([]),unsupportedUse:wn(An(Mhe)).min(1),executableMaterial:P({included:jn(!1),policy:jn(`mcp_and_review_ui_outputs_must_not_include_executable_transaction_material`)}).strict()}).strict().superRefine((e,t)=>{nge(t,e.unsupportedUse,Mhe,[`unsupportedUse`],`unsupportedUse`)}),gge=kn(N(),Sn()),_ge=An(Ahe),vge=An(jhe);An([`ready_for_wallet_review`,`refresh_required`,`blocked`]);var yge=An(vi);An([`proposed`,`awaiting_wallet`,`wallet_connected`,`ready_for_wallet_review`,`refresh_required`,`blocked`,`expired`,`awaiting_signature`,`submitting`,`awaiting_chain_result`,`stopped`,`request_failed`,`outcome_unknown`,`completed`]);var bge=P({id:N(),label:N(),status:An([`pass`,`warning`,`fail`]),message:N(),source:An([`registry`,`quote`,`wallet`,`simulation`,`adapter`,`network`,`proposal`])}),xge=N().min(1),Gi=`human_readable_review`,Sge=`review_time_simulation`,Cge=P({stageCatalogId:N().min(1),adapterId:N(),protocol:N(),actionKind:N(),completedStages:wn(xge),missingStages:wn(xge)}).strict().superRefine((e,t)=>{let n=wge(e.completedStages);n&&t.addIssue({code:`custom`,path:[`completedStages`],message:`completedStages contains duplicate stage '${n}'`});let r=wge(e.missingStages);r&&t.addIssue({code:`custom`,path:[`missingStages`],message:`missingStages contains duplicate stage '${r}'`});for(let n of e.completedStages)e.missingStages.includes(n)&&t.addIssue({code:`custom`,path:[`missingStages`],message:`stage '${n}' cannot be both completed and missing`})});function wge(e){let t=new Set;for(let n of e){if(t.has(n))return n;t.add(n)}}var Ki=P({symbol:N(),amount:N(),coinType:N().optional(),approx:bn().optional()}).strict(),qi=Ki.extend({amountKind:jn(`display_intent`).default(`display_intent`)}),Tge=P({outgoing:wn(qi),expectedIncoming:wn(qi),minimumIncoming:wn(qi).optional(),fees:wn(qi).optional()}),Ege=P({outgoing:wn(Ki),expectedIncoming:wn(Ki),minimumIncoming:wn(Ki).optional(),fees:wn(Ki).optional()}),Dge=P({before:wn(Ki),after:wn(Ki),delta:wn(Ki)}),Oge=P({computationCostRaw:Qr(`computationCostRaw`),storageCostRaw:Qr(`storageCostRaw`),storageRebateRaw:Qr(`storageRebateRaw`),nonRefundableStorageFeeRaw:Qr(`nonRefundableStorageFeeRaw`)}).strict(),kge=P({address:Xr,coinType:N().min(1).max(512).refine(e=>{try{return $r(e)===e}catch{return!1}},`Expected a normalized Sui struct tag coin type`),amount:fme(`balanceChanges[].amount`)}).strict(),Age=P({objectId:Xr,objectType:N().min(1).max(512).optional(),inputState:N().min(1).max(80),outputState:N().min(1).max(80),idOperation:N().min(1).max(80)}).strict(),jge=P({provider:bi,checksEnabled:bn(),success:bn(),gasCostSummary:Oge.optional(),balanceChanges:wn(kge).optional(),objectChanges:wn(Age).optional(),error:N().optional()}),Ji=jge,Mge=jge.extend({checksEnabled:jn(!0),success:jn(!0),gasCostSummary:Oge,balanceChanges:wn(kge),objectChanges:wn(Age),error:Cn().optional()}).strict(),Nge=P({role:An([`input`,`expected_output`,`minimum_output`,`fee`]),symbol:N(),coinType:N().min(1).max(512).refine(e=>{try{return $r(e),!0}catch{return!1}},`Expected a Sui struct tag coin type`),decimals:yn().int().min(0).max(255),rawAmount:Qr(`rawAmount`),rawAmountSource:jn(`quote_policy_evidence`),displayAmount:N().optional(),displayAmountSource:jn(`user_display_intent_not_signing_input`).optional()}).strict().superRefine((e,t)=>{e.displayAmount!==void 0&&e.displayAmountSource===void 0&&t.addIssue({code:`custom`,path:[`displayAmountSource`],message:`displayAmountSource is required when displayAmount is present`}),e.displayAmount===void 0&&e.displayAmountSource!==void 0&&t.addIssue({code:`custom`,path:[`displayAmount`],message:`displayAmount is required when displayAmountSource is present`})}),Pge=P({role:An([`connected_account`,`output_recipient`]),address:Xr}).strict(),Fge=P({kind:jn(`swap_output_asset`),symbol:N(),coinType:N().min(1).max(512).refine(e=>{try{return $r(e),!0}catch{return!1}},`Expected a Sui struct tag coin type`),protocol:N(),poolKey:N(),direction:An([`base_to_quote`,`quote_to_base`])}).strict(),Yi=P({id:N(),label:N(),source:En([An([`registry`,`quote`,`wallet`,`simulation`,`adapter`,`network`,`proposal`]),An([`transaction_material`,`digest_commitment`])]),summary:N()}).strict(),Xi=P({id:N(),label:N(),reason:N()}).strict(),Ige=P({proposedAction:P({title:N(),summary:N(),actionKind:N(),adapterId:N(),protocol:N(),network:jn(`sui:mainnet`)}).strict(),recipients:wn(Pge),evidenceUsed:wn(Yi),missingEvidence:wn(Xi),requiredUserChoices:wn(Xi),unsupportedClaims:wn(Xi),freshness:P({status:jn(`current`),evaluatedAt:N(),expiresAt:N(),reason:N()}).strict(),blockingChecks:wn(bge)}).strict(),Lge=P({assetFlow:P({outgoing:wn(Nge),expectedIncoming:wn(Nge),minimumIncoming:wn(Nge),fees:wn(Nge)}).strict(),targets:wn(Fge)}).strict(),Rge=Dn(`kind`,[Ige.extend({kind:jn(`swap_human_readable_review`)}).merge(Lge)]),zge=P({id:N(),actionKind:N(),adapterId:N(),protocol:N(),title:N(),summary:N(),assetFlowPreview:Tge,reviewModel:khe.optional(),adapterData:gge,createdAt:N(),expiresAt:N().optional(),registryVersion:N().optional(),preliminaryChecks:wn(bge).optional()}),Bge=P({planId:N(),reviewSessionId:N(),account:Xr,checks:wn(bge),assetFlowActual:Ege.optional(),beforeAfterBalance:Dge.optional(),simulation:Ji.optional(),humanReadableReview:Rge.optional(),transactionReviewData:mge.optional(),ptbVisualization:hge.optional(),adapterLifecycle:Cge.optional(),updatedAt:N()}),Vge=Dn(`status`,[Bge.extend({status:jn(`ready_for_wallet_review`),evidenceValidity:Cn().optional(),blockedReason:Cn().optional(),refreshReason:Cn().optional()}),Bge.extend({status:jn(`refresh_required`),evidenceValidity:jn(`invalidated`).optional(),refreshReason:vge,blockedReason:Cn().optional()}),Bge.extend({status:jn(`blocked`),evidenceValidity:jn(`invalidated`).optional(),blockedReason:_ge,refreshReason:Cn().optional()})]).superRefine((e,t)=>{if(e.evidenceValidity===`invalidated`)for(let n of yi)e[n]!==void 0&&t.addIssue({code:`custom`,path:[n],message:`Invalidated review evidence cannot carry current material-derived facts`});let n=e.adapterLifecycle;if(n!==void 0&&Hge(e,t),e.humanReadableReview!==void 0&&n===void 0&&t.addIssue({code:`custom`,path:[`humanReadableReview`],message:`humanReadableReview requires adapterLifecycle evidence stage provenance`}),e.simulation!==void 0&&n===void 0&&t.addIssue({code:`custom`,path:[`simulation`],message:`simulation requires adapterLifecycle evidence stage provenance`}),e.ptbVisualization!==void 0){let e=n?.completedStages??[];e.includes(`transaction_material_build_or_verify`)&&e.includes(`digest_commitment`)||t.addIssue({code:`custom`,path:[`ptbVisualization`],message:`ptbVisualization requires completed transaction material and digest commitment lifecycle stages`})}let r=e.status===`ready_for_wallet_review`;e.transactionReviewData!==void 0&&!r&&t.addIssue({code:`custom`,path:[`transactionReviewData`],message:`transactionReviewData is only valid on ready_for_wallet_review`}),e.status===`ready_for_wallet_review`&&n!==void 0&&(e.transactionReviewData===void 0&&t.addIssue({code:`custom`,path:[`transactionReviewData`],message:`ready_for_wallet_review requires an emitted wallet review contract`}),(n===void 0||n.missingStages.length!==0)&&t.addIssue({code:`custom`,path:[`adapterLifecycle`],message:`ready_for_wallet_review requires a completed adapterLifecycle with no missing stages`}),e.humanReadableReview===void 0&&t.addIssue({code:`custom`,path:[`humanReadableReview`],message:`ready_for_wallet_review requires humanReadableReview public evidence`}),e.simulation===void 0&&t.addIssue({code:`custom`,path:[`simulation`],message:`ready_for_wallet_review requires successful simulation public evidence`})),e.status===`blocked`&&(e.blockedReason===`producer_stage_missing`&&n===void 0&&t.addIssue({code:`custom`,path:[`adapterLifecycle`],message:`producer_stage_missing requires adapterLifecycle with at least one missing stage`}),e.blockedReason===`producer_stage_missing`&&n!==void 0&&n.missingStages.length===0&&t.addIssue({code:`custom`,path:[`blockedReason`],message:`producer_stage_missing requires at least one adapterLifecycle.missingStages entry`}),e.blockedReason===`wallet_review_contract_emit_missing`&&e.transactionReviewData!==void 0&&t.addIssue({code:`custom`,path:[`transactionReviewData`],message:`wallet_review_contract_emit_missing requires the wallet review contract to be absent`}),e.blockedReason===`wallet_review_contract_emit_missing`&&n===void 0&&t.addIssue({code:`custom`,path:[`adapterLifecycle`],message:`wallet_review_contract_emit_missing requires adapterLifecycle`}),e.blockedReason===`wallet_review_contract_emit_missing`&&n!==void 0&&n.missingStages.length!==0&&t.addIssue({code:`custom`,path:[`blockedReason`],message:`wallet_review_contract_emit_missing requires a completed adapterLifecycle with no missing stages`}),e.blockedReason===`wallet_review_contract_emit_missing`&&e.evidenceValidity!==`invalidated`&&e.humanReadableReview===void 0&&t.addIssue({code:`custom`,path:[`humanReadableReview`],message:`wallet_review_contract_emit_missing requires humanReadableReview public evidence`}),e.blockedReason===`wallet_review_contract_emit_missing`&&e.evidenceValidity!==`invalidated`&&e.simulation===void 0&&t.addIssue({code:`custom`,path:[`simulation`],message:`wallet_review_contract_emit_missing requires simulation public evidence`}))});function Hge(e,t){let n=e.adapterLifecycle;n&&(e.humanReadableReview!==void 0&&Uge(t,n,Gi,[`humanReadableReview`]),e.simulation!==void 0&&(Uge(t,n,Sge,[`simulation`]),Uge(t,n,Gi,[`simulation`]),Wge(t,e.simulation,[`simulation`])),n.missingStages.includes(Sge)&&e.simulation!==void 0&&t.addIssue({code:`custom`,path:[`simulation`],message:`simulation public evidence cannot be present while review_time_simulation is missing`}),n.missingStages.includes(Gi)&&e.humanReadableReview!==void 0&&t.addIssue({code:`custom`,path:[`humanReadableReview`],message:`humanReadableReview public evidence cannot be present while human_readable_review is missing`}))}function Uge(e,t,n,r){t.completedStages.includes(n)||e.addIssue({code:`custom`,path:r,message:`${r.join(`.`)} requires completed adapterLifecycle stage '${n}'`}),t.missingStages.includes(n)&&e.addIssue({code:`custom`,path:r,message:`${r.join(`.`)} cannot be present while adapterLifecycle stage '${n}' is missing`})}function Wge(e,t,n){Mge.safeParse(t).success||e.addIssue({code:`custom`,path:n,message:`simulation public evidence requires a successful checks-enabled review-time simulation projection`})}var Gge=P({topic:N().min(1),accounts:wn(Xr).min(1),methods:wn(N()),chain:jn(wme),expiresAt:N().datetime(),walletName:N().optional()}).strict(),Kge=Dn(`status`,[P({topic:N().min(1),version:yn().int().positive(),status:jn(`present`),session:Gge}).strict(),P({topic:N().min(1),version:yn().int().positive(),status:An([`absent`,`unusable`])}).strict()]),qge=P({runId:ei,sequence:yn().int().positive(),observedAt:N().datetime()}).strict();qge.extend({sessions:wn(Kge)}).strict();var Jge=P({kind:jn(`wallet_service_recovery`),priorRunId:ei,admittedAt:N().datetime(),updatedAt:N().datetime()}),Yge=En([Jge.extend({phase:jn(`stopping`)}).strict(),Jge.extend({phase:jn(`starting`),nextRunId:ei}).strict(),Jge.extend({outcome:An([`available`,`failed`,`superseded`,`server_restarted`]),nextRunId:ei.optional(),message:N().optional()}).strict()]),Xge=`A wallet connection provides account context; it is not a transaction approval or proof of address ownership.`,Zi=`Review evidence is not a safety guarantee. Only an explicit card action and wallet approval may authorize this exact transaction.`,Zge=Ame.extend({pendingAction:jn(`disconnect`).optional()});An([`input_required`,`awaiting_approval`,`disconnect_pending`]);var Qge=P({action:jn(`connect`),walletRunId:ei}).strict(),$ge=P({action:jn(`disconnect`),walletRunId:ei,connectionId:N().min(1)}).strict(),e_e=P({action:jn(`use_account`),walletRunId:ei,connectionId:N().min(1),account:Xr}).strict(),Qi=P({action:An([`prepare_review`,`request_signature`]),connectionId:N().min(1),walletRunId:ei,account:Xr,reviewRevision:yn().int().nonnegative()}).strict(),t_e=En([Qge,$ge,e_e,Qi,P({action:An([`cancel`,`stop_connection`,`stop_waiting`,`read_result`])}).strict()]),$i=En([Qge,Qi.extend({action:jn(`prepare_review`)})]),n_e=P({kind:An([`connect`,`review`]),mode:An([`connect`,`review`,`review_manage`]),allowedActions:wn(An(Nme)),actionRemainingMs:yn().int().nonnegative(),nextStateReadAfterMs:yn().int().nonnegative().optional(),automaticAction:$i.optional(),observe:bn(),walletAvailability:Dme,walletObservation:qge.optional(),runtimeRecovery:Yge.optional(),connectionConflict:jme.optional(),manageableConnectionIds:wn(N().min(1)),connectionReconciliationRequired:jn(!0).optional(),usableConnectionId:N().min(1).optional(),assetReadAccount:Mme.optional(),acceptedWalletRunId:ei.optional(),progress:Ome,boundary:An([Xge,Zi]),connections:wn(Zge),activeAccount:N().optional(),connection:Zge.optional(),connectionAction:An([`connect`,`disconnect`]).optional(),review:P({reviewSessionId:N(),plan:zge,reviewRevision:yn().int().nonnegative(),status:yge,account:N().optional(),preparing:bn(),accountRequestPending:jn(!0).optional(),error:N().optional(),state:Vge.optional()}).strict().optional(),request:Cme.optional(),receipt:Sn().optional(),netGasMist:N().regex(/^-?[0-9]+$/).optional(),observationStopped:bn().optional()}).strict().superRefine((e,t)=>{let n=e.connections.find(t=>t.connectionId===e.usableConnectionId);e.usableConnectionId&&(!n||n.status!==`connected`||e.walletAvailability.status!==`available`||e.connectionConflict||e.connectionReconciliationRequired||e.connections.some(e=>e.pendingAction||e.status===`awaiting_approval`))&&t.addIssue({code:`custom`,path:[`usableConnectionId`],message:`The usable connection must match current connection facts.`}),(new Set(e.manageableConnectionIds).size!==e.manageableConnectionIds.length||e.manageableConnectionIds.some(t=>!e.connections.some(e=>e.connectionId===t&&!e.pendingAction&&e.status!==`awaiting_approval`)))&&t.addIssue({code:`custom`,path:[`manageableConnectionIds`],message:`Management must name distinct recorded targets without pending operations.`}),e.connectionReconciliationRequired&&(e.usableConnectionId||e.assetReadAccount?.status===`available`||e.allowedActions.some(e=>[`connect`,`use_account`,`prepare_review`,`request_signature`].includes(e)))&&t.addIssue({code:`custom`,path:[`connectionReconciliationRequired`],message:`Unrecorded SDK connections cannot authorize connection or account use.`}),e.assetReadAccount?.status===`available`&&(!n||!n.accounts.includes(e.assetReadAccount.account)||e.activeAccount!==e.assetReadAccount.account)&&t.addIssue({code:`custom`,path:[`assetReadAccount`],message:`The default address must belong to the usable connection and stored selection.`})});function r_e(e,t,n=!1){return e.connections.filter(r=>r.connectionId===e.usableConnectionId&&r.accounts.includes(t)&&(!n||r.methods.includes(`sui_signTransaction`)))}var i_e=`sui-mcp.local-data`,a_e=16777216,ea=N().uuid(),ta=yn().int().nonnegative().safe(),na=N().regex(/^[a-f0-9]{64}$/),ra=Dn(`status`,[P({status:jn(`no_file`)}).strict(),P({status:jn(`receiving`)}).strict(),P({status:jn(`checking`)}).strict(),P({status:jn(`check_required`),message:N().min(1)}).strict(),P({status:jn(`can_restore`)}).strict(),P({status:jn(`cannot_restore`),reason:An([`invalid_backup`,`file_unavailable`,`wallet_request_unsettled`,`operation_busy`,`input_unavailable`,`check_failed`]),message:N().min(1)}).strict()]);P({fileId:ea,sha256:na,totalSize:ta,dataEpoch:ta,userDataRevision:ta,check:ra}).strict();var o_e=Dn(`kind`,[P({kind:jn(`set_endpoint`),endpoint:An([`grpc`,`graphql`]),value:N().min(1)}).strict(),P({kind:jn(`restore_endpoint`),endpoint:An([`grpc`,`graphql`])}).strict(),P({kind:An([`clear_read_address`,`export_local_data`,`download_backup`,`import_local_data`,`reset_local_data`,`restart_wallet_service`])}).strict()]),s_e=An([`acknowledged`,`not_completed`,`unconfirmed`,`unsupported`]),c_e=P({method:jn(`ui/download-file`),code:jn(-32601)}).strict(),l_e=An([`acknowledged`,`cancelled`,`expired`,`server_restarted`,`data_replaced`,`source_unavailable`,`stored_locally`,`local_save_failed`]),u_e=P({device:N().regex(/^\d+$/),inode:N().regex(/^\d+$/)}).strict(),d_e=An([`not_published`,`target_conflict`,`source_unavailable`,`interrupted`]),f_e=P({status:An([`needs_consent`,`saving`,`saved`,`failed`]),attemptId:ea,fileId:ea,sha256:na,totalSize:ta,destination:N(),ownerId:N().min(1),currentSaveAttemptId:ea.optional(),attempts:wn(P({saveAttemptId:ea,previousSaveAttemptId:ea.optional(),admittedAt:N().datetime(),allowPossibleCopy:bn()}).strict()),sourceIdentity:u_e.optional(),savedAt:N().datetime().optional(),failure:d_e.optional()}).strict().superRefine((e,t)=>{(e.status===`needs_consent`?e.attempts.length!==0||e.currentSaveAttemptId!==void 0:!e.currentSaveAttemptId||!e.attempts.some(t=>t.saveAttemptId===e.currentSaveAttemptId))&&t.addIssue({code:`custom`,message:`A local save must identify its admitted attempt.`}),(new Set(e.attempts.map(e=>e.saveAttemptId)).size!==e.attempts.length||e.status===`saved`!=(e.savedAt!==void 0)||e.status===`saved`&&!e.sourceIdentity||e.status===`failed`!=(e.failure!==void 0))&&t.addIssue({code:`custom`,message:`Local save evidence must match its state.`})});P({currentAttemptId:ea,attempts:wn(P({attemptId:ea,admittedAt:N().datetime(),previousAttemptId:ea.optional(),hostReport:s_e.optional(),failure:c_e.optional()}).strict()).min(1),readyAt:N().datetime().optional(),expiresAt:N().datetime().optional(),endReason:l_e.optional(),localSave:f_e.optional()}).strict().superRefine((e,t)=>{(new Set(e.attempts.map(e=>e.attemptId)).size!==e.attempts.length||!e.attempts.some(t=>t.attemptId===e.currentAttemptId)||e.readyAt===void 0!=(e.expiresAt===void 0))&&t.addIssue({code:`custom`,message:`Download attempts and lifetime must identify one stored snapshot.`}),(e.endReason===`stored_locally`&&e.localSave?.status!==`saved`||e.endReason===`local_save_failed`&&e.localSave?.status!==`failed`||e.attempts.some(e=>e.hostReport===`unsupported`!=(e.failure!==void 0))||e.localSave&&(e.localSave.attemptId!==e.currentAttemptId||!e.attempts.some(t=>t.attemptId===e.currentAttemptId&&t.hostReport===`unsupported`)||e.localSave.status===`saving`&&e.endReason!==void 0||e.localSave.status===`saved`!=(e.endReason===`stored_locally`)))&&t.addIssue({code:`custom`,message:`Local saving requires the current download's unsupported report.`})});var p_e=An([`settings_retry_download`,`settings_report_download`,`settings_cancel_download`,`settings_store_backup`]),m_e=Dn(`action`,[P({action:jn(`settings_download_backup`),operationId:ea,attemptId:ea}).strict(),P({action:jn(`settings_retry_download`),operationId:ea,fileId:ea,previousAttemptId:ea,attemptId:ea}).strict(),P({action:jn(`settings_report_download`),operationId:ea,fileId:ea,attemptId:ea,status:s_e,failure:c_e.optional()}).strict().refine(e=>e.status===`unsupported`==(e.failure!==void 0),`Only unsupported downloads require the exact method failure.`),P({action:jn(`settings_store_backup`),operationId:ea,fileId:ea,attemptId:ea,saveAttemptId:ea,previousSaveAttemptId:ea.optional(),allowPossibleCopy:bn()}).strict(),P({action:jn(`settings_cancel_download`),operationId:ea,fileId:ea,attemptId:ea}).strict(),P({action:jn(`settings_select`),draft:o_e}).strict(),P({action:jn(`settings_prepare`),operationId:ea}).strict(),P({action:jn(`settings_begin_upload`),operationId:ea,name:N().min(1),totalSize:ta.max(a_e),sha256:na}).strict(),P({action:jn(`settings_upload_chunk`),operationId:ea,fileId:ea,offset:ta.max(a_e),chunkBase64:N()}).strict(),P({action:jn(`settings_seal_upload`),operationId:ea,fileId:ea}).strict(),P({action:jn(`settings_confirm`),operationId:ea,preparationId:ea}).strict(),P({action:jn(`settings_back`),operationId:ea}).strict(),P({action:jn(`settings_cancel`)}).strict()]),h_e=P({outcome:An([`completed`,`failed`,`interrupted`,`superseded`]),recordedAt:N().datetime(),message:N().min(1),details:kn(N(),Sn()).optional(),completionScope:jn(`backup_snapshot`).optional()}).strict(),g_e=P({storedValue:N(),effectiveValue:N(),source:An([`environment`,`local_db`,`builtin_default`]),pendingStoredValue:N().optional(),appliesAfter:jn(`mcp_server_restart`).optional()}).strict(),__e=P({endpoint:An([`grpc`,`graphql`]),key:An([`suiGrpcUrl`,`suiGraphqlUrl`]),value:N().min(1),status:An([`saved`,`reset`]),storedValue:N(),effectiveValue:N(),source:g_e.shape.source}).strict().refine(e=>e.key===(e.endpoint===`grpc`?`suiGrpcUrl`:`suiGraphqlUrl`),`The endpoint kind and preference key must agree.`),ia=yn().int().nonnegative().safe(),L=P({accounts:ia,reviewSessions:ia,reviewStateSnapshots:ia,reviewStatusTransitions:ia,reviewExecutions:ia,reviewRequests:ia,outcomeUnknownRequests:ia,externalActivityScans:ia,externalActivityTransactions:ia,localSettings:ia}).strict(),aa=P({status:jn(`valid`),format:jn(i_e),network:jn(`mainnet`),exportedAt:N().datetime(),currentCounts:L,incomingCounts:L,willReplace:jn(!0),activeAccountChange:An([`unchanged`,`set`,`cleared`]),currentReadAddress:Xr.nullable(),incomingReadAddress:Xr.nullable(),restartRequiredAfterImport:bn()}).strict(),v_e=P({kind:jn(`settings`),operationId:ea,phase:An([`draft`,`uploading`,`sealed`,`prepared`,`executing`,`stopping`,`starting`,`terminal`]),draft:o_e.optional(),preparationId:ea.optional(),preparation:kn(N(),Sn()).optional(),file:P({fileId:ea,displayName:N(),totalSize:ta,receivedSize:ta,sha256:na,sealed:bn(),cleanup:An([`pending`,`complete`,`failed`])}).strict().optional(),download:P({availability:An([`preparing`,`available`,`ended`]),currentAttemptId:ea,hostReport:s_e.optional(),previousUnconfirmed:bn(),endReason:l_e.optional(),expiresAt:N().datetime().optional(),remainingMs:ta.optional(),localSave:P({status:An([`needs_consent`,`saving`,`saved`,`failed`]),currentSaveAttemptId:ea.optional(),failure:d_e.optional(),savedAt:N().datetime().optional()}).strict().optional(),allowedFileActions:wn(p_e)}).strict().optional(),restoreCheck:ra.optional(),backupLocation:P({directory:N().min(1),filename:N().min(1)}).strict().optional(),result:h_e.optional(),temporaryFileCleanup:An([`pending`,`complete`,`failed`]).optional(),priorRunId:ea.optional(),nextRunId:ea.optional(),supersedesOperationId:ea.optional(),supersededByOperationId:ea.optional(),allowedActions:wn(An(m_e.options.map(e=>e.shape.action.value))),observe:bn(),facts:P({server:P({name:N(),version:N(),network:jn(`mainnet`)}).strict(),localSettings:P({suiGrpcUrl:g_e,suiGraphqlUrl:g_e}).strict(),readAddress:N().optional(),assetReadAccount:Mme,walletAvailability:Dme,connectionReconciliationRequired:jn(!0).optional(),observedAt:N().datetime().optional(),counts:L}).strict().optional()}).strict().superRefine((e,t)=>{if(e.download&&(e.draft?.kind!==`download_backup`||!e.file||e.download.availability===`available`&&(!e.file.sealed||!e.result||e.download.endReason||!e.download.expiresAt)||e.download.availability===`ended`&&!e.download.endReason)&&t.addIssue({code:`custom`,message:`Download delivery must describe its own snapshot and lifetime.`}),e.draft?.kind===`download_backup`&&e.preparation!==void 0&&t.addIssue({code:`custom`,message:`Private download preparation is not public preparation data.`}),e.restoreCheck&&(e.draft?.kind!==`import_local_data`||e.result)&&t.addIssue({code:`custom`,message:`Restore checks belong to an uncompleted import preparation.`}),e.restoreCheck?.status===`can_restore`&&(e.phase!==`prepared`||!e.file?.sealed||!e.allowedActions.includes(`settings_confirm`))&&t.addIssue({code:`custom`,message:`Restore availability requires a sealed file and current confirmation.`}),e.draft?.kind===`import_local_data`&&e.restoreCheck?.status!==`can_restore`&&e.allowedActions.includes(`settings_confirm`)&&t.addIssue({code:`custom`,message:`An unchecked or blocked import cannot offer confirmation.`}),e.restoreCheck?.status===`receiving`&&(!e.file||e.file.sealed||![`draft`,`uploading`].includes(e.phase))&&t.addIssue({code:`custom`,message:`Receiving requires the selected unsealed upload.`}),e.restoreCheck?.status===`check_required`&&(!e.file?.sealed||e.phase!==`sealed`)&&t.addIssue({code:`custom`,message:`A new check requires the same complete sealed upload.`}),e.restoreCheck?.status===`cannot_restore`&&e.restoreCheck.reason===`invalid_backup`&&(e.phase===`prepared`||e.allowedActions.includes(`settings_prepare`))&&t.addIssue({code:`custom`,message:`A rejected backup requires an explicit new selection.`}),e.backupLocation&&(e.result?.outcome!==`completed`||e.draft?.kind!==`export_local_data`&&(e.draft?.kind!==`download_backup`||e.download?.localSave?.status!==`saved`||e.download.endReason!==`stored_locally`))&&t.addIssue({code:`custom`,message:`A backup location requires its recorded successful export.`}),e.download?.localSave?.status===`saved`&&!e.backupLocation&&t.addIssue({code:`custom`,message:`A saved backup must identify its verified location.`}),e.draft?.kind===`export_local_data`&&e.result?.outcome===`completed`&&typeof e.result.details?.path==`string`&&!e.backupLocation&&t.addIssue({code:`custom`,message:`A recorded backup path must provide its folder and file name.`}),e.temporaryFileCleanup&&!e.result&&t.addIssue({code:`custom`,message:`Cleanup of an applied or ended operation requires its recorded result.`}),(e.phase===`terminal`!=(e.result!==void 0)||e.phase===`terminal`&&(e.observe||e.allowedActions.length))&&t.addIssue({code:`custom`,message:`A terminal Settings result cannot grant input or observation.`}),e.phase===`prepared`&&(!e.preparationId||!e.draft||!e.preparation)&&t.addIssue({code:`custom`,message:`Settings confirmation requires a prepared identity and facts.`}),e.phase===`prepared`&&e.draft?.kind===`import_local_data`&&!aa.safeParse(e.preparation?.preview).success&&t.addIssue({code:`custom`,path:[`preparation`,`preview`],message:`Import confirmation requires the validated current and incoming read context and record counts.`}),e.phase===`prepared`&&(e.draft?.kind===`set_endpoint`||e.draft?.kind===`restore_endpoint`)){let n=__e.safeParse(e.preparation?.endpoint);(!n.success||n.data.endpoint!==e.draft.endpoint||n.data.status!==(e.draft.kind===`set_endpoint`?`saved`:`reset`)||e.draft.kind===`set_endpoint`&&n.data.value!==e.draft.value)&&t.addIssue({code:`custom`,path:[`preparation`,`endpoint`],message:`Endpoint confirmation must name its exact prepared target.`})}e.file&&e.file.receivedSize>e.file.totalSize&&t.addIssue({code:`custom`,message:`Received content exceeds the selected file.`})}),y_e=65536;function b_e(e){return new TextEncoder().encode(JSON.stringify(e)).length}function x_e(e){let t=y_e-b_e(e);return t>0?3*Math.floor(t/4):0}function S_e(e){if(!e||typeof e!=`object`)return;let t=structuredClone(e);if(t.method===`tools/call`&&t.params?.name===`ui.act_card`&&t.params.arguments?.input?.action===`settings_upload_chunk`)return t.id=2**53-1,t.params.arguments.revision=2**53-1,t.params.arguments.input.offset=a_e,t.params.arguments.input.chunkBase64=``,x_e(t)}var oa={uiOpenAccount:`ui.open_account`,uiOpenReceipt:`ui.open_receipt`,uiOpenChart:`ui.open_chart`,uiReadCard:`ui.read_card`,uiSubmitCard:`ui.submit_card`,uiActCard:`ui.act_card`,uiReadSettingsFile:`ui.read_settings_file`,sessionOpenReviewManagement:`session.open_review_management`,readGetServerStatus:`read.get_server_status`,readListSupportedProtocols:`read.list_supported_protocols`,readListDeepbookPools:`read.list_deepbook_pools`,readListDeepbookTokens:`read.list_deepbook_tokens`,readInspectDeepbookOrderbook:`read.inspect_deepbook_orderbook`,readGetDeepbookMidPrice:`read.get_deepbook_mid_price`,readGetDeepbookUsdcPriceHistory:`read.get_deepbook_usdc_price_history`,readGetDeepbookUsdcPriceAtTime:`read.get_deepbook_usdc_price_at_time`,readQuoteDeepbookAction:`read.quote_deepbook_action`,readQuoteDeepbookDisplayAmount:`read.quote_deepbook_display_amount`,readSummarizeDeepbookAccountInventory:`read.summarize_deepbook_account_inventory`,readSummarizeWalletAssets:`read.summarize_wallet_assets`,readClassifyWalletAssets:`read.classify_wallet_assets`,readListSettlementAssetGroups:`read.list_settlement_asset_groups`,readSummarizeSettlementAssetGroupParity:`read.summarize_settlement_asset_group_parity`,readPreviewIntentEvidence:`read.preview_intent_evidence`,readListReviewActivity:`read.list_review_activity`,readSummarizeReviewFunnel:`read.summarize_review_funnel`,readGetReviewSessionDetail:`read.get_review_session_detail`,readInspectSuiTransaction:`read.inspect_sui_transaction`,readScanSuiAccountActivity:`read.scan_sui_account_activity`,readSummarizeSuiActivityScan:`read.summarize_sui_activity_scan`,readScanSuiFunctionActivity:`read.scan_sui_function_activity`,readSummarizeSuiFunctionActivityScan:`read.summarize_sui_function_activity_scan`,readSummarizeSuiAccountActivity:`read.summarize_sui_account_activity`,readGetAccountAssetTimeline:`read.get_account_asset_timeline`,settingsCreateLocalSettingsSession:`settings.create_local_settings_session`,settingsGetLocalSettings:`settings.get_local_settings`,actionPrepareSuiActionReview:`action.prepare_sui_action_review`,actionPrepareExternalProposalReview:`action.prepare_external_proposal_review`,sessionCreateWalletConnection:`session.create_wallet_connection`,sessionGetWalletConnection:`session.get_wallet_connection`,sessionWaitWalletConnection:`session.wait_wallet_connection`,sessionGetInteractionStatus:`session.get_interaction_status`,sessionGetReviewStatus:`session.get_review_status`,sessionGetExecutionResult:`session.get_execution_result`,sessionWaitExecutionResult:`session.wait_execution_result`,accountGetActiveAccount:`account.get_active_account`},C_e=P({connectionId:N().min(1),pairingUri:N().startsWith(`wc:`),expiresAt:N().datetime()}).strict(),w_e=An([`account`,`receipt`,`chart`,`connect`,`review`,`settings`]),sa=P({cardId:N().min(1),kind:w_e,state:An([`ready`,`running`,`closed`]),revision:yn().int().nonnegative(),createdAt:N().datetime(),expiresAt:N().datetime(),input:kn(N(),Sn()),data:Sn().optional(),reason:An([`completed`,`expired`,`failed`,`server_restarted`,`cancelled`]).optional(),error:N().optional()}).strict().extend({pollAfterMs:yn().int().positive(),inputRemainingMs:yn().int().nonnegative()}),ca=P({transactionDigest:N().min(1),pureInputs:wn(P({index:yn().int().nonnegative(),bytes:N().regex(/^0x(?:[0-9a-f]{2})*$/i)}).strict()).refine(e=>new Set(e.map(e=>e.index)).size===e.length,`Duplicate input index.`),ptbGraph:P({mermaid:P({text:N(),namedText:N()}).strict()}).strict().optional()}).strict(),la=`sui-mcp/card`,T_e=`sui-mcp/receipt-display`,ua=`sui-mcp/wallet-display`,da=`sui-mcp/settings-file`,fa=`suimcp://cards/`,pa=Dn(`kind`,[P({kind:jn(`account`),status:jn(`input_required`),field:jn(`account`),message:N().min(1)}).strict(),P({kind:jn(`receipt`),status:jn(`input_required`),field:jn(`digest`),message:N().min(1)}).strict()]),ma=P({cardId:N().min(1),permission:N().min(1)}).strict();ma.extend({revision:yn().int().nonnegative(),input:kn(N(),Sn())}).strict();var E_e=ca.extend({cardId:N().min(1),revision:yn().int().nonnegative(),attemptId:N().min(1).optional()}),ha=C_e.extend({cardId:N().min(1),revision:yn().int().nonnegative()}),ga=P({attemptId:N().uuid().optional(),cardId:N().min(1),operationId:N().uuid(),fileId:N().uuid(),offset:yn().int().nonnegative().safe(),totalSize:yn().int().nonnegative().safe(),sha256:N().regex(/^[a-f0-9]{64}$/),chunkBase64:N()}).strict(),_a={account:oa.uiOpenAccount,receipt:oa.uiOpenReceipt,chart:oa.uiOpenChart,read:oa.uiReadCard,submit:oa.uiSubmitCard,act:oa.uiActCard,readSettingsFile:oa.uiReadSettingsFile};function va(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function ya(e){return e.kind!==`import_local_data`}function ba(e,t,n){if(e.kind!==`settings`||t.kind!==`settings`||e.cardId!==t.cardId||t.state!==`ready`)return;let r=v_e.safeParse(e.data),i=v_e.safeParse(t.data);if(!r.success||!i.success)return;let a=r.data,o=i.data,s=o.draft;if(!s||!a.draft||a.operationId!==o.operationId||n.operationId!==o.operationId||JSON.stringify(a.draft)!==JSON.stringify(s))return;if(ya(s))return n.action===`settings_prepare`?{kind:`preparation_response`,cardId:t.cardId,operationId:o.operationId,draft:s}:void 0;let l=o.file?.fileId;if(!(!l||!a.file?.fileId||a.file.fileId!==l||n.action!==`settings_prepare`&&n.action!==`settings_seal_upload`||n.action===`settings_seal_upload`&&n.fileId!==l))return{kind:`backup_check_response`,cardId:t.cardId,operationId:o.operationId,fileId:l,action:n.action}}function D_e(e){return Object.keys(e).filter(t=>e[t]!==void 0)}function O_e(e,t){if(e===t)return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,n)=>O_e(e,t[n]));let n=va(e),r=va(t);if(!n||!r)return!1;let i=D_e(n);return i.length===D_e(r).length&&i.every(e=>Object.hasOwn(r,e)&&O_e(n[e],r[e]))}function k_e(e,t=!0){let n=va(e);if(!n)throw Error(`The app did not provide a usable card response.`);let r=()=>Error(`The app provided inconsistent card response information.`),i,a=e=>{let t=va(e);if(!t||typeof t.ok!=`boolean`||i&&!O_e(i,t))throw r();i=t};n.structuredContent!==void 0&&a(n.structuredContent);let o,s;if(Array.isArray(n.content))for(let e of n.content){let n=va(e);if(n?.type!==`text`||typeof n.text!=`string`)continue;let i;try{i=va(JSON.parse(n.text))}catch{continue}if(i){if(i.ok!==void 0)a(i);else if(Array.isArray(i.content)){if(!t||o)throw r();let n=bce.safeParse(i);if(!n.success)throw r();o=k_e(n.data,!1),s=e,o.structuredContent!==void 0&&a(o.structuredContent)}}}let l=Object.create(null),u=!1;for(let e of[n._meta,o?._meta]){if(e===void 0)continue;let t=va(e);if(!t)throw r();for(let e of D_e(t)){let n=t[e];if(Object.hasOwn(l,e)&&!O_e(l[e],n))throw r();l[e]=n}u=!0}if(n.isError!==void 0&&typeof n.isError!=`boolean`||o?.isError!==void 0&&n.isError!==void 0&&o.isError!==n.isError||(n.isError===!0||o?.isError===!0)&&i?.ok===!0)throw r();return{...o,...n,...o?{content:[...Array.isArray(n.content)?n.content.filter(e=>e!==s):[],...Array.isArray(o.content)?o.content:[]]}:{},...i?{structuredContent:i}:{},...u?{_meta:l}:{}}}function A_e(e,t){let n=va(va(e?.data)?.request);return!!e&&(e.kind===`receipt`||e.kind===`review`)&&t.cardId===e.cardId&&t.revision===e.revision&&t.transactionDigest===(e.kind===`receipt`?e.input.digest:n?.transactionDigest)&&(e.kind!==`review`||t.attemptId===n?.attemptId)}function xa(e){let t;for(let n of Array.isArray(e.content)?e.content:[]){let e=va(n),r;if(e?.type===`resource_link`&&typeof e.uri==`string`&&e.uri.startsWith(`suimcp://cards/`)&&(r=e.uri),e?.type===`text`&&typeof e.text==`string`){let t=/^\[Resource link: card_([A-Za-z0-9_-]+)\] (suimcp:\/\/cards\/([A-Za-z0-9_-]+)) \(Saved data for this exact card\.\)$/.exec(e.text);if(!t&&e.text.startsWith(`[Resource link:`)&&e.text.includes(`suimcp://cards/`))throw Error(`The saved card links could not be matched to one card.`);if(t){if(t[1]!==t[3])throw Error(`The saved card links could not be matched to one card.`);r=t[2]}}if(r===void 0)continue;let i=r.slice(fa.length);if(!i||encodeURIComponent(i)!==i||t!==void 0&&i!==t||e?.type===`resource_link`&&typeof e.name==`string`&&e.name.startsWith(`card_`)&&e.name!==`card_${i}`)throw Error(`The saved card links could not be matched to one card.`);t=i}return t}function Sa(e){let t=va(e.structuredContent),n=t?.ok===!0?pa.safeParse(t.data):void 0,r=va(va(t?.error)?.details),i=n?.success?void 0:t?.ok===!0?va(t.data)?.card??t.data:r?.snapshot,a=i===void 0?void 0:sa.parse(i);a?.kind===`settings`&&v_e.parse(a.data);let o=va(e._meta)?.[T_e],s=o===void 0?void 0:E_e.parse(o);if(s&&!A_e(a,s))throw Error(`Transaction details do not match this saved result.`);let l=va(e._meta)?.[ua],u=l===void 0?void 0:ha.parse(l);if(u&&(!a||a.kind!==`connect`||u.cardId!==a.cardId||u.revision!==a.revision||u.connectionId!==va(va(a.data)?.connection)?.connectionId))throw Error(`The connection QR code does not match this card.`);return{snapshot:a,display:s,wallet:u,inputRequired:n?.success?n.data:void 0,error:typeof r?.message==`string`?r.message:typeof r?.reason==`string`?r.reason:void 0}}function j_e(e,t){let n=document.getElementById(`app`);if(!n)throw Error(`Card root is unavailable.`);let r=document.createElement(`h1`);r.textContent=t.title;let i=document.createElement(`p`);i.className=`ui-note`,i.setAttribute(`role`,`status`);let a=document.createElement(`p`);a.className=`ui-error`,a.setAttribute(`role`,`alert`);let o=document.createElement(`p`);o.className=`ui-note card-guidance`;let s=document.createElement(`section`),l=document.createElement(`div`);l.className=`card-actions`;let u=document.createElement(`div`);u.className=`card-progress-hint`,u.hidden=!0,n.replaceChildren(r,i,a,s,o,u,l);let d=new Hfe({name:`sui-mcp-card`,version:`0.6.2`},{},{autoResize:!0,strict:!0}),f=new AbortController,p=e===`connect`||e===`review`,m=e===`settings`,h=p||m,g=!1,_,v,y,b,x,S,C,w=!1,T=!1,E,D,O={status:`unconfirmed`},k,A,j,M,ee,te=`continue`,ne,re,ie=0,ae=0,oe,se,ce,le,ue,de,fe,pe,me=!1;function he(){if(!M||!b)return;let{input:e,basis:t}=M,n=va(b.data),r=va(t.data),i=va(n?.request),a=va(n?.review),o=va(n?.connection),s=va(r?.request),l=va(r?.connection),u=!!i&&i.attemptId===s?.attemptId,d=!!o&&o.connectionId===l?.connectionId;if(!p)return b.state===`running`||b.reason===`completed`?M.delivery===`rejected`?`past`:`observed`:b.state===`closed`?`past`:`active`;if(e.walletRunId&&e.walletRunId!==va(n?.walletAvailability)?.walletRunId&&e.walletRunId!==n?.acceptedWalletRunId)return`past`;switch(e.action){case`connect`:if(b.state!==`ready`&&o)return`observed`;if(n?.walletAvailability&&va(n.walletAvailability)?.status===`available`&&Array.isArray(n.connections)&&n.connections.some(e=>va(e)?.status===`connected`))return`past`;break;case`prepare_review`:if(typeof a?.reviewRevision==`number`&&typeof e.reviewRevision==`number`&&a.reviewRevision>e.reviewRevision)return a.account===e.account?`observed`:`past`;break;case`request_signature`:if(i?.account===e.account&&i?.reviewRevision===e.reviewRevision)return`observed`;if(typeof a?.reviewRevision==`number`&&typeof e.reviewRevision==`number`&&a.reviewRevision>e.reviewRevision||!i&&a&&a.reviewRevision===e.reviewRevision&&a.account===e.account&&a.status===`refresh_required`&&va(a.state)?.refreshReason===`review_evidence_stale`&&Array.isArray(n?.allowedActions)&&n.allowedActions.includes(`prepare_review`))return`past`;break;case`cancel`:if(b.reason===`cancelled`)return`observed`;break;case`disconnect`:if(o&&o.connectionId===e.connectionId&&(o.pendingAction===`disconnect`||b.state!==`ready`&&o.status===`disconnected`))return`observed`;break;case`use_account`:if(b.reason===`completed`&&n?.activeAccount===e.account&&o?.connectionId===e.connectionId)return`observed`;break;case`stop_connection`:if(d&&o?.status===`stopped`)return`observed`;if(d&&o?.status!==`awaiting_approval`)return`past`;break;case`stop_waiting`:if(u&&(i?.requestStatus===`stopped`||n?.observationStopped===!0))return`observed`;if(u&&[`completed`,`request_failed`,`outcome_unknown`].includes(String(i?.requestStatus)))return`past`;break;case`read_result`:if(u&&(n?.observe===!0||i?.requestStatus===`completed`))return`observed`;if(u&&[`stopped`,`request_failed`].includes(String(i?.requestStatus)))return`past`}return ge()||typeof n?.actionRemainingMs==`number`&&n.actionRemainingMs<=0||[`connect`,`disconnect`,`use_account`,`cancel`,`prepare_review`,`request_signature`].includes(String(e.action))&&(b.state!==`ready`||a?.status===`expired`)?`past`:`active`}function ge(){let e=t_e.safeParse(M?.input);if(!e.success||e.data.action!==`disconnect`&&e.data.action!==`use_account`)return!1;let t=e.data,n=n_e.safeParse(b?.data);if(!n.success)return!1;let r=n.data.connections.find(e=>e.connectionId===t.connectionId);return r?t.action===`disconnect`?n.data.walletAvailability.status===`available`&&!r.pendingAction&&!n.data.manageableConnectionIds.includes(t.connectionId)&&[`disconnected`,`failed`,`rejected`,`stopped`,`expired`].includes(r.status):[`disconnected`,`failed`,`rejected`,`stopped`,`expired`].includes(r.status)||t.action===`use_account`&&r.status===`connected`&&!r.accounts.includes(t.account):!1}function _e(){if(!M)return;let e=he();e&&M.disposition!==`observed`&&(e!==`active`||M.disposition===`active`)&&(M.disposition=e),M.disposition===`observed`&&(M.retryRequired=!1)}function ve(){let e=$i.safeParse(va(b?.data)?.automaticAction);return M?.retryRequired&&e.success&&M.input.action===e.data.action?e.data:void 0}function ye(e){let t={connect:`connection request`,prepare_review:`review update`,request_signature:`wallet approval request`,read_result:`transaction status check`,cancel:`cancellation request`,stop_connection:`request to stop connecting`,stop_waiting:va(va(e.basis.data)?.request)?.requestStatus===`awaiting_signature`?`request to stop wallet approval`:`request to stop checking the result`,disconnect:`wallet disconnect request`,use_account:`account selection`};return p?t[String(e.input.action)]??`request`:`data request`}function be(e){if(e!==`past`||!M)return;let t=ye(M),n=M.input.action===`read_result`&&va(va(b?.data)?.request)?.requestStatus===`outcome_unknown`?` To check this transaction again, ask to open its result in chat.`:``;return`Message from an earlier ${t}: “${M.message}”${n}`}let xe,Se;function Ce(){let t=va(b?.data),n=m?va(t?.download):void 0,r=Array.isArray(n?.allowedFileActions)?n.allowedFileActions:[],i=[...Array.isArray(t?.allowedActions)?t.allowedActions:[],...r.filter(e=>e===`settings_report_download`||xe===void 0||Date.now()<xe)],a=e===`review`&&t?.mode===`review`&&!t.request&&!!_&&b?.state===`ready`,o=a&&oe!==void 0&&Date.now()>=oe,s=document.visibilityState!==`hidden`,l=f.signal.aborted||O.status===`rejected`,u=O.status===`confirmed`,d=M?.disposition,y=d===`active`,x=M?.retryRequired===!0,S=M?.input.action===`request_signature`&&d===`active`,C=te===`paused`,T=de?.pending?.()===!0,E=de?.displayRecovery?.(),ie=u&&!l&&!A&&!T&&!o&&!!_,se=ie&&!ee&&!g&&(!h||!(ne&&(y||x||C))),ce=$i.safeParse(t?.automaticAction),le=m?va(n?.localSave):void 0,ue=!!b&&(h?t?.observe===!0||le?.status===`saving`:b.state===`running`),fe=!!v&&w&&!l&&!ne&&s&&(re===`explicit`||O.status!==`read_failed`&&(re===`background`||O.status===`needed`&&O.automatic)),pe=s&&ie&&!k&&!ne&&!re&&!ee&&!x&&!S&&!C&&p&&ce.success&&i.includes(ce.data.action)?ce.data:void 0,me=va(t?.restoreCheck),he=m&&ie&&b?.state===`ready`&&!ee&&!g&&!t?.result&&t?.observe!==!0&&(me?.status===`cannot_restore`&&[`operation_busy`,`wallet_request_unsettled`].includes(String(me.reason))||!i.includes(`settings_select`)||!i.includes(`settings_download_backup`)||t?.phase===`prepared`&&!i.includes(`settings_confirm`)||t?.phase===`draft`&&va(t.draft)?.kind!==void 0&&va(t.draft)?.kind!==`import_local_data`&&!i.includes(`settings_prepare`)),ge;!l&&v&&(O.status===`read_failed`||k||O.status===`unconfirmed`?ge=`read`:O.status===`needed`?O.automatic||(ge=`read`):A||E||m&&[`pending`,`failed`].includes(String(t?.temporaryFileCleanup))||le?.status===`saving`||le?.status===`needs_consent`&&!i.includes(`settings_store_backup`)||le?.status===`failed`&&le.failure===`not_published`&&!n?.endReason&&!i.includes(`settings_store_backup`)||he?ge=`read`:_?va(t?.progress)?.status===`unavailable`||va(t?.walletAvailability)?.status===`initializing`&&va(t?.walletAvailability)?.stage===`state_sync`?ge=`read`:!C&&ve()?ge=`retry`:y&&!ue&&!(C&&i.length>0)&&!(M?.input.action===`prepare_review`&&i.includes(`prepare_review`)&&t?.automaticAction===void 0)&&p&&(ge=`read`):(b?.state!==`closed`||A)&&(ge=`read`));let _e=p?t?.actionRemainingMs:b?.inputRemainingMs;ge===`retry`&&o&&(ge=`read`);let Se=p?t?.nextStateReadAfterMs:m&&xe!==void 0?Math.max(0,xe-ae):void 0,Ce=[(p?i.length>0:b?.state===`ready`)?_e:void 0,Se].filter(e=>typeof e==`number`&&Number.isFinite(e)&&e>0),we=!l&&!!_&&s&&!D&&!k&&O.status!==`read_failed`,Te=va(t?.review),Ee=a&&!l&&!k&&!A&&!y&&!x&&!C&&O.status!==`read_failed`&&(T||ee?.input.action===`prepare_review`||Te?.preparing===!0||ce.success&&ce.data.action===`prepare_review`||O.status===`needed`&&Te?.status===`ready_for_wallet_review`);return{current:u,inputEnabled:se,permitted:i,disposition:d,read:fe,auto:pe,recover:ge,paused:C,partialDisplayFailure:E,settingsInputBlocked:he,reviewUpdatePending:Ee,reviewCommandDeliveryFailed:y&&M?.input.action===`prepare_review`,reviewHint:o?void 0:Ee?T||Te?.preparing||ee?.input.action===`prepare_review`?`Updating review…`:`Checking status…`:a&&va(Te?.state)?.refreshReason===`review_evidence_stale`?`Review details are out of date.`:void 0,errors:[O.status===`rejected`?O.message:O.status===`read_failed`?`This card's status could not be checked. Reported message: “${O.message}”`:void 0,k&&O.status!==`rejected`?`This card could not be opened. Reported message: “${k}”`:void 0,y&&M?`Message for this ${ye(M)}: “${M.message}”`:void 0,A,E?.message],note:[j,be(d)].filter(Boolean).join(` `),expiryAt:we&&u&&Ce.length?ae+Math.min(...Ce):void 0,poll:we&&(ue||O.status===`needed`&&!O.automatic),lifetimeAt:!l&&s&&a?oe:void 0}}function we(e){return e.recover===`retry`?M?.input.action===`connect`?`Retry connection`:`Retry review`:e.recover===`read`?`Check status`:void 0}function Te(e){if(f.signal.aborted)return``;let n=e.errors.some(Boolean)||e.recover!==void 0||!!b&&!_&&b.state!==`closed`||b?.state===`closed`&&b.reason!==`completed`,r=e.errors.some(Boolean)||O.status!==`confirmed`||e.recover===`retry`||e.settingsInputBlocked;if(n&&r&&O.status!==`rejected`){if(ne||e.read)return`Checking status…`;let t=we(e);if(t)return t===`Check status`?A||e.partialDisplayFailure?`Use Check status to read this card and try displaying it again.`:`Use Check status to read this card again.`:t===`Retry connection`?`Use Retry connection to try connecting your wallet again.`:`Use Retry review to try again with the displayed wallet and account.`;if(Ee(e)&&de?.selectionHint)return de.selectionHint}return t.guidance?.(b,{confirmed:e.current,readOnly:!_,recoveryNeeded:n,visibleConfirmation:de?.visibleConfirmation?.(),commandPending:h&&ee&&e.current&&!e.errors.some(Boolean)&&(ee.phase===`confirming`||b?.state===`ready`&&!va(b.data)?.runtimeRecovery&&!va(b.data)?.request&&!va(va(b.data)?.review)?.preparing)?{phase:ee.phase,action:String(ee.input.action)}:void 0,approvalUnresolved:M?.input.action===`request_signature`&&e.disposition===`active`||ee?.input.action===`request_signature`,automaticPaused:e.paused})??``}function Ee(e=Ce()){return e.inputEnabled&&b?.state===`ready`&&me}function De(e,t=Ce()){return h&&t.inputEnabled&&(e?t.permitted.includes(e.action):t.permitted.length>0)}function Oe(e){let t=Ce();return m&&g&&t.current&&!!_&&!ee&&!ne&&!A&&!f.signal.aborted&&[`settings_begin_upload`,`settings_upload_chunk`,`settings_seal_upload`,`settings_retry_download`,`settings_report_download`,`settings_cancel_download`,`settings_store_backup`].includes(String(e.action))&&t.permitted.includes(e.action)}function ke(e){let d=va(b?.data),p=s.querySelector(`.review-action-feedback`),v=s.querySelector(`.review-primary-action`);if(v&&p){let e=s.querySelector(`.review-lifetime`);e?(e.append(u),p.prepend(a)):p.prepend(u,a),p.append(o)}else n.insertBefore(a,s),n.insertBefore(u,l),n.insertBefore(o,u);a.className=v?`ui-note`:`ui-error`,b?(r.textContent=t.titleFor?.(b)??t.title,i.textContent=O.status===`rejected`?`Card unavailable`:!e.current&&b.state===`ready`?v?``:!f.signal.aborted&&(ne||e.read)?`Checking whether actions are available in this card…`:`Actions are unavailable until this card's status is checked.`:!_&&b.state!==`closed`?`View only.`:h?va(d?.progress)?.status===`unavailable`?`Current progress is unavailable. The last recorded state is shown.`:!d?.request&&b.state===`closed`&&[`expired`,`server_restarted`,`cancelled`].includes(b.reason??``)?`This card no longer accepts actions.`:``:b.state===`running`?`Reading the requested data…`:b.reason===`completed`?``:b.error??(b.reason===`expired`?`The time to make a selection has ended.`:b.reason===`server_restarted`?`This request ended when Sui MCP restarted.`:``)):i.textContent=D?``:O.status===`read_failed`?`Card status unavailable`:k||O.status===`rejected`?`Card unavailable`:`Opening card…`,i.hidden=!i.textContent,a.textContent=[...new Set(e.errors.filter(Boolean))].join(` `),a.hidden=!a.textContent;let y=s.querySelector(`.review-status`);y&&(y.hidden=!!v&&(e.reviewUpdatePending||!!a.textContent));let x=s.querySelector(`.review-material-status`);if(x&&(x.textContent=x.dataset.previous===`true`||!e.current||e.reviewUpdatePending?x.dataset.previousLabel??``:x.dataset.currentLabel??``),o.textContent=[e.note,Te(e)].filter(Boolean).join(` `),o.hidden=!o.textContent,me)for(let t of s.querySelectorAll(`input, button, select`))(!h||t.tagName!==`BUTTON`||t.dataset.cardAction!==void 0)&&(t.disabled=h?!De(void 0,e):!Ee(e));if(h)for(let t of s.querySelectorAll(`[data-card-action]`))t.disabled=!De({action:t.dataset.cardAction},e);if(m)for(let t of s.querySelectorAll(`[data-settings-file-action]`))t.disabled=t.dataset.settingsLocalBlocked===`true`||!(g?Oe({action:t.dataset.cardAction}):De({action:t.dataset.cardAction},e));v&&(e.reviewUpdatePending||v.dataset.cardAction===`request_signature`&&e.reviewCommandDeliveryFailed||v.dataset.cardAction===void 0)&&(v.disabled=!0),ue&&(ue.disabled=!!ee||!!ne)}function Ae(e){try{e?.()}catch{A=`The card display could not be closed cleanly. Its stored information is unchanged.`}}function je(e){if(!b||f.signal.aborted)return;if(b.state===`ready`&&O.status!==`confirmed`){if(m&&de?.update)try{de.update(b,{automaticPaused:te===`paused`,settings:Ke,settingsCommandProgress:void 0,onDisplayChange:()=>Ie()})}catch{A=`This card could not be displayed. Its stored information is unchanged.`}return}if(b.state===`running`&&!h){A=void 0;return}let n=h?{...va(b.data),actionRemainingMs:void 0,nextStateReadAfterMs:void 0,...m&&va(b.data)?.download?{download:{...va(va(b.data)?.download),remainingMs:void 0}}:{}}:void 0,r=m&&ee?.phase===`sending`&&O.status===`confirmed`?ba(ee.basis,b,ee.input):void 0,i=`${te===`paused`}:${JSON.stringify(r)}:${b.revision}:${_!==void 0}:${x!==void 0}:${C!==void 0}:${JSON.stringify(n)}`;if(i===fe||i===pe&&!e)return;pe=i;let a=[...s.children],o=new Set([...s.querySelectorAll(`details`)].filter(e=>e.open).map(e=>e.querySelector(`summary`)?.textContent)),l,u=!1,d=!1;try{let e={automaticPaused:te===`paused`,onDisplayChange:()=>Ie(),...m?{settings:Ke,settingsCommandProgress:r}:{}};if(de?.update?.(b,e)){fe=i,A=void 0;return}if(b.state===`ready`&&_){let n=t.controls(b,e=>{Ue(e)},x,C,e);l=`node`in n?n:{node:n},u=!0}else(h||b.reason===`completed`)&&b.data!==void 0&&(l=t.result(b,x,_?e=>{Ue(e)}:void 0,C,e));s.replaceChildren(...l?[l.node]:[]),d=!0,l?.mount?.();for(let e of s.querySelectorAll(`details`))o.has(e.querySelector(`summary`)?.textContent)&&(e.open=!0)}catch{d&&s.replaceChildren(...a),Ae(l?.dispose),A=`This card could not be displayed. Its stored information is unchanged.`;return}let p=de?.dispose;de=l,me=u,fe=i,A=void 0,Ae(p)}function Me(t,n,r,i,a){if(f.signal.aborted||O.status===`rejected`)return!1;if(t.kind!==e||t.cardId!==v)throw O={status:`rejected`,message:`The returned information does not match this card.`},Error(`The returned information does not match this card.`);let o=va(t.data),s=va(o?.request),l=va(s?.execution),u=o?.automaticAction===void 0?void 0:$i.safeParse(o.automaticAction);if(u&&!u.success)throw Error(`This card could not start the next step.`);if(b&&t.revision<b.revision)return!1;if(y&&[...new Set([...Object.keys(y),...Object.keys(t.input)])].some(e=>JSON.stringify(t.input[e])!==JSON.stringify(y[e])))throw O={status:`rejected`,message:`The returned information does not match this card.`},Error(`The returned information does not match this card.`);if(e===`review`&&(va(o?.review)?.reviewSessionId!==void 0&&va(o?.review)?.reviewSessionId!==t.input.reviewSessionId||s&&(s.reviewSessionId!==t.input.reviewSessionId||t.input.attemptId!==void 0&&s.attemptId!==t.input.attemptId)||l&&(l.reviewSessionId!==s?.reviewSessionId||l.attemptId!==s?.attemptId||l.txDigest!==s?.transactionDigest)||va(o?.receipt)?.status===`found`&&va(va(o?.receipt)?.receipt)?.txDigest!==s?.transactionDigest)||e===`receipt`&&o?.status===`found`&&va(o.receipt)?.txDigest!==t.input.digest)throw O={status:`rejected`,message:`The saved result does not match the information requested in this card.`},Error(O.message);!y&&(p||t.state!==`ready`)&&(y={...t.input});let d=r!==`preview`;if((!b||t.revision!==b.revision)&&(x=void 0,C=void 0),b=t,_e(),d){ae=Date.now();let t=m?va(o?.download):void 0;if(t?.availability===`available`&&typeof t.remainingMs==`number`&&Number.isFinite(t.remainingMs)){let e=`${o?.operationId}:${va(o?.file)?.fileId}:${t.expiresAt}`;Se!==e&&(Se=e,xe=void 0),xe=Math.min(xe??1/0,ae+Math.max(0,t.remainingMs))}else m&&t?.availability===`ended`&&(xe=void 0);_&&e===`review`&&o?.mode===`review`&&!o.request&&typeof o.actionRemainingMs==`number`&&Number.isFinite(o.actionRemainingMs)&&o.actionRemainingMs>=0&&(oe=Math.min(oe??1/0,ae+o.actionRemainingMs))}return r===`read`&&(O.status!==`needed`||a>O.afterRead)&&(O={status:`confirmed`},k=void 0),n&&(x=n),C=i,!0}function Ne(){se!==void 0&&clearTimeout(se),ce!==void 0&&clearTimeout(ce),le!==void 0&&clearTimeout(le),se=void 0,ce=void 0,le=void 0,u.hidden=!0}function Pe(e){let t=we(e);ue?.textContent!==t&&(ue?.remove(),ue=void 0,t&&(ue=Xfe(t,()=>{if(!(ne||ee||f.signal.aborted)){if(Ce().recover===`retry`){let e=ve();e&&He(e)}else Fe()}})));let n=s.querySelector(`.review-primary-action`),r=s.querySelector(`.review-primary-slot`);n&&(n.hidden=!!ue&&!!r),ue&&(ue.disabled=!!ne||!!ee,r?(ue.classList.add(`review-recovery-action`),r.append(ue)):(ue.classList.remove(`review-recovery-action`),l.append(ue)))}async function Fe(){let e=de,t=e?.displayRecovery?.(),n=await Re(!0);n?.kind===`accepted`&&b===n.snapshot&&O.status===`confirmed`&&!f.signal.aborted&&document.visibilityState!==`hidden`&&!A&&e===de&&t&&e?.displayRecovery?.()===t&&(t.retry(),Ie())}function Ie(e=!1){if(D){let e=document.createElement(`p`);e.className=`ui-note`,e.textContent=D,s.replaceChildren(e)}else je(e);let t=Ce();if(ke(t),Ne(),Pe(t),f.signal.aborted||O.status===`rejected`)return;t.expiryAt!==void 0&&(ce=setTimeout(()=>{Le(),Ie()},Math.max(0,t.expiryAt-Date.now()))),t.reviewHint&&!a.textContent&&(u.replaceChildren(),u.textContent=t.reviewHint,u.setAttribute(`role`,`status`),u.hidden=!1);let n=s.querySelector(`.review-time-remaining`);if(n&&t.lifetimeAt!==void 0){let e=t.lifetimeAt,r=()=>{if(f.signal.aborted)return;let t=Math.max(0,e-Date.now()),i=Math.ceil(t/1e3);if(n.textContent=t>0?`Review expires in ${Math.floor(i/60)}:${String(i%60).padStart(2,`0`)}`:`Review time elapsed`,t>0)le=setTimeout(r,Math.min(1e3,t));else{let e=Ce();ke(e),Pe(e)}};r()}if(t.poll&&b){let e=ae+b.pollAfterMs-Date.now();se=setTimeout(()=>{Re(!1)},e>0?e:b.pollAfterMs)}t.read?(re=void 0,ze()):t.auto&&(se=setTimeout(()=>{let e=Ce().auto;e&&Ge(e,`automatic`)},0))}function Le(){O.status!==`rejected`&&O.status!==`read_failed`&&(O={status:`needed`,afterRead:ie,automatic:!0})}function Re(e){return f.signal.aborted||O.status===`rejected`||!v||!w?Promise.resolve(void 0):ne?ne.promise:O.status===`read_failed`&&!e?Promise.resolve(void 0):(re=e?`explicit`:`background`,Ie(),ne?.promise??Promise.resolve(void 0))}function ze(){let e=++ie,t=performance.now(),n={id:e,promise:Promise.resolve().then(async()=>{try{let n,r,i;if(_){let e=Sa(await Be(_a.read,_));if(!e.snapshot)throw Error(e.error??`Saved card data is unavailable.`);if(e.error)throw Error(e.error);n=e.snapshot,r=e.display,i=e.wallet}else{let e=`${fa}${encodeURIComponent(v)}`,t=(await d.readServerResource({uri:e},{signal:f.signal})).contents.find(t=>t.uri===e&&`text`in t);if(!t||!(`text`in t))throw Error(`Saved card data is unavailable.`);n=sa.parse(JSON.parse(t.text));let i=x??S;r=i&&A_e(n,i)?i:void 0}if(f.signal.aborted||O.status===`rejected`)return{kind:`disposed`,id:e};let a=Me(n,r,`read`,i,e);return S=void 0,!a&&O.status===`needed`&&e>O.afterRead&&(O={...O,automatic:!1}),Ie(a),a&&O.status===`confirmed`?{kind:`accepted`,snapshot:n,id:e,requestStartedAt:t}:{kind:`ignored`,id:e}}catch(t){return f.signal.aborted?{kind:`disposed`,id:e}:(O.status!==`rejected`&&(O={status:`read_failed`,message:t instanceof Error?t.message:`Saved card data could not be read. The last displayed result is unchanged.`}),{kind:`failed`,id:e})}}).finally(()=>{ne===n&&(ne=void 0),Ie()})};ne=n,Ie()}async function Be(e,t){return k_e(await d.callServerTool({name:e,arguments:t},{signal:f.signal}))}function Ve(e,t,n){let r=n_e.safeParse(n.data);if(!r.success||!r.data.allowedActions.some(t=>t===e.action))return!1;let i=r.data,a=va(t.data);return e.walletRunId&&e.walletRunId!==i.walletAvailability.walletRunId?!1:e.action===`connect`?i.allowedActions.includes(`connect`)&&[`connect`,`manage`].includes(String(n.input.intent)):e.action===`prepare_review`||e.action===`request_signature`?i.review?.reviewRevision===e.reviewRevision&&(e.action===`prepare_review`?i.assetReadAccount?.status===`available`?i.assetReadAccount.account:void 0:i.review?.account)===e.account&&r_e(i,String(e.account),e.action===`request_signature`).some(t=>t.connectionId===e.connectionId):e.action===`disconnect`?i.manageableConnectionIds.includes(String(e.connectionId))&&i.connections.some(t=>t.connectionId===e.connectionId&&!t.pendingAction):e.action===`use_account`?i.connections.some(t=>t.connectionId===e.connectionId&&t.status===`connected`&&!t.pendingAction&&t.connectionId===i.usableConnectionId&&t.accounts.includes(String(e.account))):i.connection?.connectionId===va(a?.connection)?.connectionId&&i.request?.attemptId===va(a?.request)?.attemptId&&i.review?.reviewRevision===va(a?.review)?.reviewRevision}async function He(e){if(!b||ne||!De(e))return;let t={input:e,basis:b,phase:`confirming`};ee=t;let n=await Re(!1);ee===t&&(ee=void 0,n?.kind===`accepted`&&b===n.snapshot&&O.status===`confirmed`&&!f.signal.aborted&&document.visibilityState!==`hidden`&&Ve(e,t.basis,n.snapshot)&&De(e)?await Ge(e):O.status!==`read_failed`&&O.status!==`rejected`&&!f.signal.aborted&&(j=`The card state changed. Check the current selection before trying again.`),Ie())}async function Ue(e){p&&(M?.disposition===`active`||M?.retryRequired||te===`paused`)?await He(e):await Ge(e)}function We(e,t,n){M={input:e.input,basis:e.basis,message:t,delivery:n,disposition:`active`,retryRequired:e.input.action===`connect`||e.input.action===`prepare_review`},_e(),[`cancel`,`disconnect`,`stop_connection`,`stop_waiting`,`use_account`].includes(String(e.input.action))&&(te=`paused`),(h||n===`unknown`)&&Le()}async function Ge(e,t=`user`){if(!b||!_||(t===`file`?!Oe(e):h?!De(e):!Ee()))return;let n={input:e,basis:b,phase:`sending`};ee=n,te=`continue`,(t===`user`||M?.disposition!==`past`)&&(M=void 0),j=void 0,Ie();try{let t=Sa(await Be(h?_a.act:_a.submit,{..._,revision:n.basis.revision,input:e}));if(f.signal.aborted||O.status===`rejected`)return;if(!t.snapshot)throw Error(t.error??`The request could not be confirmed.`);t.error&&We(n,t.error,`rejected`),Me(t.snapshot,t.display,`action`,t.wallet)}catch(e){!f.signal.aborted&&O.status!==`rejected`&&(We(n,e instanceof Error?e.message:`The request could not be confirmed.`,`unknown`),M&&(M.data=va(e)?.data))}finally{ee===n&&(ee=void 0),Ie()}}let Ke={uploadChunkLimit(e,t){return _?S_e({jsonrpc:`2.0`,id:2**53-1,method:`tools/call`,params:{name:_a.act,arguments:{..._,revision:2**53-1,input:{action:`settings_upload_chunk`,operationId:e,fileId:t,offset:2**53-1,chunkBase64:``}}}})??0:0},async readCurrent(){let e=await Re(!0);if(e?.kind!==`accepted`)throw Error(`The current Settings selection could not be checked. Use Check status before continuing.`);return{snapshot:e.snapshot,requestStartedAt:e.requestStartedAt}},async act(e,t=!1){if(t?!Oe(e):!De(e))throw Error(`This Settings action is unavailable until its current status has been checked.`);if(await Ge(e,t?`file`:`user`),f.signal.aborted)throw Error(`This card closed before the request finished. Reopen the same conversation to check its status.`);if(M?.input===e){let e=Error(M.message);throw e.data=M.data,e}if(!b)throw Error(`The current Settings status could not be checked.`);return b},setFileTransferActive(e){g=e,Ie()},async readFile(e){if(!_||!v||!Ce().current||f.signal.aborted)throw Error(`Backup read permission is unavailable.`);let t=await Be(_a.readSettingsFile,{..._,...e}),n=ga.parse(va(t._meta)?.[da]);if(n.cardId!==v||n.operationId!==e.operationId||n.fileId!==e.fileId||n.offset!==e.offset||n.attemptId!==e.attemptId)throw Error(`The backup response does not match this card's selected file.`);return n},download:async(e,t,n)=>{let r=va(va(b?.data)?.download);if(!_||!Ce().current||f.signal.aborted||document.visibilityState===`hidden`||r&&(r.currentAttemptId!==n||r.localSave||r.availability!==`available`||xe===void 0||Date.now()>=xe))throw Error(`This download is no longer available in this card.`);try{return{isError:(await d.downloadFile({contents:[{type:`resource`,resource:{uri:`file:///${encodeURIComponent(e)}`,mimeType:`application/json`,blob:t}}]},{signal:f.signal})).isError}}catch(e){if(e&&typeof e==`object`&&`code`in e&&e.code===-32601)return{unsupported:!0};throw e}}};async function qe(){if(w&&E!==void 0&&!T){T=!0;try{let t=k_e(E),n=va(t._meta);if(t._meta!==void 0&&!n)throw Error(`This card cannot accept actions with the access information provided by the app.`);let r=n?.[la];if(r!==void 0){let e=ma.safeParse(r);if(!e.success)throw Error(`This card cannot accept actions with the access information provided by the app.`);_=e.data}let i=Sa(t);if(i.inputRequired){if(i.inputRequired.kind!==e||_)throw Error(`The app provided inconsistent card input information.`);D=i.inputRequired.message,Ie();return}let a=xa(t),o=[i.snapshot?.cardId,_?.cardId,a].filter(e=>e!==void 0);if(!o.length)throw Error(`Card data is unavailable.`);if(o.some(e=>e!==o[0])||i.snapshot&&i.snapshot.kind!==e)throw O={status:`rejected`,message:`The returned information does not match this card.`},Error(O.message);v=o[0];let s=i.snapshot;s&&(p||s.state!==`ready`)&&(y={...s.input}),S=i.display,s&&_&&Me(s,i.display,`preview`,i.wallet),Le(),Ie()}catch(e){if(f.signal.aborted)return;k=e instanceof Error?e.message:`Card data could not be read.`,Ie()}}}d.ontoolresult=e=>{if(E===void 0)E=e,qe();else try{let t=Sa(k_e(E)).snapshot??b,n=Sa(k_e(e)).snapshot;if(t&&n&&(t.cardId!==n.cardId||t.kind!==n.kind))throw Error(`The app returned a different card.`)}catch{O={status:`rejected`,message:`The returned information does not match this card.`},Ie()}},d.onhostcontextchanged=e=>{e.theme&&(document.documentElement.dataset.theme=e.theme)};let Je=()=>{document.visibilityState!==`hidden`&&_&&T&&O.status!==`read_failed`?Re(!1):Ie()};document.addEventListener?.(`visibilitychange`,Je),d.onteardown=async()=>{if(f.signal.aborted)return{};f.abort(),ee=void 0,document.removeEventListener?.(`visibilitychange`,Je);let e=de?.dispose;return de=void 0,Ae(e),Ie(),{}},d.connect().then(()=>{f.signal.aborted||(w=!0,document.documentElement.dataset.theme=d.getHostContext()?.theme??`light`,qe())}).catch(()=>{f.signal.aborted||(k=`Could not connect this card to the app.`,Ie())})}function Ca(e){return typeof e==`object`&&e?e:void 0}function M_e(e){let t=Ca(e);if(!t||typeof t.txDigest!=`string`||t.sender!==void 0&&typeof t.sender!=`string`||typeof t.chainIdentifier!=`string`||typeof t.fetchedAt!=`string`)return null;let n=N_e(t.effectsStatus);if(!n)return null;let r=P_e(t.balanceChanges);if(!r)return null;let i=F_e(t.packageCalls);if(!i)return null;let a=I_e(t.objectTypes);if(!a)return null;let o=wa(t.gas);if(!o)return null;let s=Ta(t.inputs);if(!s)return null;let l=Ea(t.events);if(!l)return null;let u=Da(t.ptbGraph);return u.ok?{txDigest:t.txDigest,sender:t.sender,effectsStatus:n,packageCalls:i,balanceChanges:r,objectTypes:a,gas:o,inputs:s,events:l,ptbGraph:u.graph,chainIdentifier:t.chainIdentifier,fetchedAt:t.fetchedAt}:null}function N_e(e){let t=Ca(e);if(!t||typeof t.success!=`boolean`)return null;if(t.success)return{success:!0};let n={success:!1};if(t.errorKind!==void 0){if(typeof t.errorKind!=`string`)return null;n.errorKind=t.errorKind}if(t.errorMessage!==void 0){if(typeof t.errorMessage!=`string`)return null;n.errorMessage=t.errorMessage}return n}function P_e(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){let e=Ca(n);if(!e||typeof e.index!=`number`||typeof e.address!=`string`||typeof e.coinType!=`string`||typeof e.amountRaw!=`string`||e.direction!==`increase`&&e.direction!==`decrease`&&e.direction!==`zero`)return null;let r=Aa(e.decimals),i=ka(e.symbol);if(r===Oa||i===Oa)return null;let a={index:e.index,address:e.address,coinType:e.coinType,amountRaw:e.amountRaw,direction:e.direction};r!==void 0&&(a.decimals=r),i!==void 0&&(a.symbol=i),t.push(a)}return t}function F_e(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){let e=Ca(n);if(!e||typeof e.commandIndex!=`number`||typeof e.packageId!=`string`||typeof e.module!=`string`||typeof e.function!=`string`||typeof e.target!=`string`)return null;t.push({commandIndex:e.commandIndex,packageId:e.packageId,module:e.module,function:e.function,target:e.target})}return t}function I_e(e){if(Array.isArray(e))return null;let t=Ca(e);if(!t)return null;let n={};for(let[e,r]of Object.entries(t)){if(typeof r!=`string`)return null;n[e]=r}return n}function wa(e){let t=Ca(e);if(!t||typeof t.totalMist!=`string`||typeof t.computationMist!=`string`||typeof t.storageMist!=`string`||typeof t.storageRebateMist!=`string`||typeof t.nonRefundableStorageMist!=`string`)return null;let n=ka(t.budgetMist),r=ka(t.priceMist),i=ka(t.paymentObjectId);return n===Oa||r===Oa||i===Oa?null:{totalMist:t.totalMist,computationMist:t.computationMist,storageMist:t.storageMist,storageRebateMist:t.storageRebateMist,nonRefundableStorageMist:t.nonRefundableStorageMist,budgetMist:n,priceMist:r,paymentObjectId:i}}function Ta(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){let e=Ca(n);if(!e||typeof e.index!=`number`)return null;let r=e.kind;if(r!==`object`&&r!==`shared_object`&&r!==`receiving`&&r!==`pure`&&r!==`withdrawal`&&r!==`unknown`)return null;let i=ka(e.objectId),a=ka(e.bytes);if(i===Oa||a===Oa)return null;let o={index:e.index,kind:r,objectId:i};a!==void 0&&(o.bytes=a),t.push(o)}return t}function Ea(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){let e=Ca(n);if(!e||typeof e.index!=`number`||typeof e.packageId!=`string`||typeof e.module!=`string`||typeof e.eventType!=`string`||typeof e.sender!=`string`)return null;t.push({index:e.index,packageId:e.packageId,module:e.module,eventType:e.eventType,sender:e.sender})}return t}function Da(e){if(e==null)return{ok:!0,graph:void 0};let t=Ca(e),n=t?Ca(t.mermaid):void 0;return!n||typeof n.text!=`string`||typeof n.namedText!=`string`?{ok:!1}:{ok:!0,graph:{mermaid:{text:n.text,namedText:n.namedText}}}}var Oa=Symbol(`invalid`);function ka(e){if(e!==void 0)return typeof e==`string`?e:Oa}function Aa(e){if(e!==void 0)return typeof e==`number`?e:Oa}function ja(e,t){let n=Ca(e.data),r=M_e((e.kind===`review`?Ca(n?.receipt):n)?.receipt);if(!r)throw Error(`Transaction data is incomplete.`);if(t){if(t.transactionDigest!==r.txDigest||t.cardId!==e.cardId||t.revision!==e.revision)throw Error(`Receipt display details do not match this transaction.`);if(e.kind===`review`&&t.attemptId!==Ca(n?.request)?.attemptId)throw Error(`Receipt details belong to a different request.`);for(let e of t.pureInputs){let t=r.inputs.find(t=>t.index===e.index);if(!t||t.kind!==`pure`)throw Error(`Receipt input details do not match this transaction.`);t.bytes=e.bytes}r.ptbGraph=t.ptbGraph}return r}var L_e={account:{name:`Name`,address:`Account address`,balances:`Balances`,noBalances:`No token balances were returned.`,nfts:`NFTs`,noNfts:`No NFTs in the scanned objects.`,noImage:`No image`,objectsTruncated:`Some objects beyond the scanned range are omitted.`},receipt:{success:`Transaction succeeded on Sui`,failure:`Transaction failed on Sui`,sender:`Sender`,account:`Affected account`,object:`Object`,noBalanceChanges:`No balance changes were recorded.`,gasComputation:`Computation cost`,gasStorage:`Storage cost`,gasRebate:`Storage rebate`,gasBudget:`Network fee limit (gas budget)`,netFeeExplanation:`The network fee shown above includes the storage rebate. If it is negative, the rebate exceeds the computation and storage charges.`,estimatedNetFeeExplanation:`The estimated network fee shown above includes the storage rebate. If it is negative, the rebate exceeds the estimated computation and storage charges.`,gasLimitExplanation:`The gas budget limits network fee spending. It is not an estimate of the amount charged.`,gasPrice:`Gas price`,gasPayment:`Gas payment object`,graph:`Transaction graph`,graphTip:`A diagram of this transaction's programmable transaction block (PTB), derived from public on-chain data. It is a diagnostic view only, not transaction input, signing, or a safety verdict.`,graphReviewTip:`A diagram of the transaction prepared for this review and simulation. It shows what is being reviewed, not an actual result, permission to sign, or a guarantee of safety.`,graphRendering:`Rendering the transaction graph…`,graphFailed:`The transaction graph could not be rendered`,graphZoomIn:`Zoom in`,graphZoomOut:`Zoom out`,graphCenter:`Center`,graphShowAddresses:`Show full addresses`,graphShowNames:`Show readable labels`,moveCalls:`Move calls`,noMoveCalls:`No Move calls were recorded.`,inputs:`Inputs`,noInputs:`No inputs were recorded.`,inputKinds:{object:`Owned object`,shared_object:`Shared object`,receiving:`Receiving object`,pure:`Pure value`,withdrawal:`Balance withdrawal`,unknown:`Input`},bytes:`bytes`,events:`Events`,noEvents:`No events were recorded.`,objectChanges:`Object changes`,noObjectChanges:`No object changes were recorded.`},chart:{boundaryUsdc:`Prices are in USDC, not USD; dollar parity is not guaranteed.`,boundaryScope:`Historical prices, not live quotes.`,source:`Source: DeepBookV3 Indexer.`,renderedWith:`Rendered with`,library:`TradingView Lightweight Charts`},common:{walletStatusRecovery:`Ask in chat to open Settings, then use Troubleshooting to restart the connection service. This does not confirm removal of a connection in your wallet app.`,mainnet:`Sui mainnet`,retrievedAt:`Data retrieved`}},R_e={en:L_e};function z_e(){try{return(navigator.language||`en`).slice(0,2).toLowerCase()}catch{return`en`}}function B_e(e=z_e()){return R_e[e]??L_e}var R=B_e();function V_e(e){let t=Hr();t.append($fe(e.effectsStatus.success?`success`:`failure`,e.effectsStatus.success?R.receipt.success:R.receipt.failure)),e.balanceChanges.length===0&&t.append(Gr(R.receipt.noBalanceChanges));for(let n of e.balanceChanges){let r=n.decimals===void 0?`Amount unavailable`:`${n.direction===`increase`?`+`:``}${Wfe(n.amountRaw,n.decimals)}`,i=Ur(n.symbol??qfe(n.coinType),r);n.address!==e.sender&&i.append(Ur(R.receipt.account,tpe(n.address))),t.append(i)}return t.append(Ur(`Network fee`,zr(e.gas.totalMist))),e.sender&&t.append(Ur(R.receipt.sender,tpe(e.sender))),t}function H_e(e){let t=Hr();t.append(Ur(`Transaction hash`,Kr(e.txDigest)),Ur(R.common.retrievedAt,npe(e.fetchedAt))),!e.effectsStatus.success&&e.effectsStatus.errorMessage&&t.append(Ur(`Failure details`,e.effectsStatus.errorMessage)),t.append(Vr(`h3`,`ui-section-title`,`Network fee breakdown`)),t.append(Vr(`p`,`ui-note`,R.receipt.netFeeExplanation));for(let n of U_e(e.gas))t.append(n);if(e.gas.budgetMist!==void 0&&t.append(Ur(R.receipt.gasBudget,zr(e.gas.budgetMist)),Vr(`p`,`ui-note`,R.receipt.gasLimitExplanation)),e.gas.priceMist!==void 0&&t.append(Ur(R.receipt.gasPrice,`${e.gas.priceMist} MIST`)),e.gas.paymentObjectId!==void 0&&t.append(Ur(R.receipt.gasPayment,Kr(e.gas.paymentObjectId))),e.balanceChanges.length){let n=Hr(`Balance change records (raw units)`);for(let t of e.balanceChanges)n.append(Wr({title:t.symbol??qfe(t.coinType),trailing:`${t.amountRaw} raw units`,metas:[{label:R.receipt.account,value:t.address},{value:t.coinType}]}));t.append(n)}return t.append(W_e(e.inputs),G_e(e.packageCalls),K_e(e.objectTypes),q_e(e.events)),t}function U_e(e){return[Ur(R.receipt.gasComputation,zr(e.computationMist)),Ur(R.receipt.gasStorage,zr(e.storageMist)),Ur(R.receipt.gasRebate,zr(e.storageRebateMist))]}function W_e(e){let t=Hr(`${R.receipt.inputs} (${e.length})`);if(e.length===0)t.append(Gr(R.receipt.noInputs));else for(let n of e){let e=[];n.objectId&&e.push({value:Br(n.objectId),full:n.objectId}),n.bytes&&e.push({label:R.receipt.bytes,value:Br(n.bytes),full:n.bytes}),t.append(Wr({title:R.receipt.inputKinds[n.kind],metas:e}))}return t}function G_e(e){let t=Hr(`${R.receipt.moveCalls} (${e.length})`);if(e.length===0)t.append(Gr(R.receipt.noMoveCalls));else for(let n of e)t.append(Wr({title:Jfe(n.target),metas:[{value:Kfe(n.target),full:n.target}]}));return t}function K_e(e){let t=Object.entries(e),n=Hr(`${R.receipt.objectChanges} (${t.length})`);if(t.length===0)n.append(Gr(R.receipt.noObjectChanges));else for(let[e,r]of t)n.append(Wr({title:qfe(r),metas:[{label:R.receipt.object,value:Br(e),full:e},{value:Kfe(r),full:r}]}));return n}function q_e(e){let t=Hr(`${R.receipt.events} (${e.length})`);if(e.length===0)t.append(Gr(R.receipt.noEvents));else for(let n of e)t.append(Wr({title:Jfe(n.eventType),metas:[{value:Kfe(n.eventType),full:n.eventType}]}));return t}var J_e,z,Y_e,Ma=o((()=>{J_e=Object.defineProperty,z=(e,t)=>J_e(e,`name`,{value:t,configurable:!0}),Y_e=(e,t)=>{for(var n in t)J_e(e,n,{get:t[n],enumerable:!0})}})),X_e=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,l=`week`,u=`month`,d=`quarter`,f=`year`,p=`date`,m=`Invalid Date`,h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,g=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,_={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},v=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},y={s:v,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+v(r,2,`0`)+`:`+v(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,u),a=n-i<0,o=t.clone().add(r+(a?-1:1),u);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:u,y:f,w:l,d:s,D:p,h:o,m:a,s:i,ms:r,Q:d}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},b=`en`,x={};x[b]=_;var S=`$isDayjsObject`,C=function(e){return e instanceof D||!(!e||!e[S])},w=function e(t,n,r){var i;if(!t)return b;if(typeof t==`string`){var a=t.toLowerCase();x[a]&&(i=a),n&&(x[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;x[s]=t,i=s}return!r&&i&&(b=i),i||!r&&b},T=function(e,t){if(C(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new D(n)},E=y;E.l=w,E.i=C,E.w=function(e,t){return T(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var D=function(){function _(e){this.$L=w(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[S]=!0}var v=_.prototype;return v.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(E.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(h);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},v.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},v.$utils=function(){return E},v.isValid=function(){return this.$d.toString()!==m},v.isSame=function(e,t){var n=T(e);return this.startOf(t)<=n&&n<=this.endOf(t)},v.isAfter=function(e,t){return T(e)<this.startOf(t)},v.isBefore=function(e,t){return this.endOf(t)<T(e)},v.$g=function(e,t,n){return E.u(e)?this[t]:this.set(n,e)},v.unix=function(){return Math.floor(this.valueOf()/1e3)},v.valueOf=function(){return this.$d.getTime()},v.startOf=function(e,t){var n=this,r=!!E.u(t)||t,d=E.p(e),m=function(e,t){var i=E.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},h=function(e,t){return E.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},g=this.$W,_=this.$M,v=this.$D,y=`set`+(this.$u?`UTC`:``);switch(d){case f:return r?m(1,0):m(31,11);case u:return r?m(1,_):m(0,_+1);case l:var b=this.$locale().weekStart||0,x=(g<b?g+7:g)-b;return m(r?v-x:v+(6-x),_);case s:case p:return h(y+`Hours`,0);case o:return h(y+`Minutes`,1);case a:return h(y+`Seconds`,2);case i:return h(y+`Milliseconds`,3);default:return this.clone()}},v.endOf=function(e){return this.startOf(e,!1)},v.$set=function(e,t){var n,l=E.p(e),d=`set`+(this.$u?`UTC`:``),m=(n={},n[s]=d+`Date`,n[p]=d+`Date`,n[u]=d+`Month`,n[f]=d+`FullYear`,n[o]=d+`Hours`,n[a]=d+`Minutes`,n[i]=d+`Seconds`,n[r]=d+`Milliseconds`,n)[l],h=l===s?this.$D+(t-this.$W):t;if(l===u||l===f){var g=this.clone().set(p,1);g.$d[m](h),g.init(),this.$d=g.set(p,Math.min(this.$D,g.daysInMonth())).$d}else m&&this.$d[m](h);return this.init(),this},v.set=function(e,t){return this.clone().$set(e,t)},v.get=function(e){return this[E.p(e)]()},v.add=function(r,d){var p,m=this;r=Number(r);var h=E.p(d),g=function(e){var t=T(m);return E.w(t.date(t.date()+Math.round(e*r)),m)};if(h===u)return this.set(u,this.$M+r);if(h===f)return this.set(f,this.$y+r);if(h===s)return g(1);if(h===l)return g(7);var _=(p={},p[a]=t,p[o]=n,p[i]=e,p)[h]||1,v=this.$d.getTime()+r*_;return E.w(v,this)},v.subtract=function(e,t){return this.add(-1*e,t)},v.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||m;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=E.z(this),a=this.$H,o=this.$m,s=this.$M,l=n.weekdays,u=n.months,d=n.meridiem,f=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},p=function(e){return E.s(a%12||12,e,`0`)},h=d||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(g,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return E.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return E.s(s+1,2,`0`);case`MMM`:return f(n.monthsShort,s,u,3);case`MMMM`:return f(u,s);case`D`:return t.$D;case`DD`:return E.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return f(n.weekdaysMin,t.$W,l,2);case`ddd`:return f(n.weekdaysShort,t.$W,l,3);case`dddd`:return l[t.$W];case`H`:return String(a);case`HH`:return E.s(a,2,`0`);case`h`:return p(1);case`hh`:return p(2);case`a`:return h(a,o,!0);case`A`:return h(a,o,!1);case`m`:return String(o);case`mm`:return E.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return E.s(t.$s,2,`0`);case`SSS`:return E.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},v.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},v.diff=function(r,p,m){var h,g=this,_=E.p(p),v=T(r),y=(v.utcOffset()-this.utcOffset())*t,b=this-v,x=function(){return E.m(g,v)};switch(_){case f:h=x()/12;break;case u:h=x();break;case d:h=x()/3;break;case l:h=(b-y)/6048e5;break;case s:h=(b-y)/864e5;break;case o:h=b/n;break;case a:h=b/t;break;case i:h=b/e;break;default:h=b}return m?h:E.a(h)},v.daysInMonth=function(){return this.endOf(u).$D},v.$locale=function(){return x[this.$L]},v.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=w(e,t,!0);return r&&(n.$L=r),n},v.clone=function(){return E.w(this.$d,this)},v.toDate=function(){return new Date(this.valueOf())},v.toJSON=function(){return this.isValid()?this.toISOString():null},v.toISOString=function(){return this.$d.toISOString()},v.toString=function(){return this.$d.toUTCString()},_}(),O=D.prototype;return T.prototype=O,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,u],[`$y`,f],[`$D`,p]].forEach((function(e){O[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),T.extend=function(e,t){return e.$i||=(e(t,D,T),!0),T},T.locale=w,T.isDayjs=C,T.unix=function(e){return T(1e3*e)},T.en=x[b],T.Ls=x,T.p={},T}))})),Z_e,Na,B,Q_e,Pa,Fa=o((()=>{Ma(),Z_e=d(X_e(),1),Na={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},B={trace:z((...e)=>{},`trace`),debug:z((...e)=>{},`debug`),info:z((...e)=>{},`info`),warn:z((...e)=>{},`warn`),error:z((...e)=>{},`error`),fatal:z((...e)=>{},`fatal`)},Q_e=z(function(e=`fatal`){let t=Na.fatal;typeof e==`string`?e.toLowerCase()in Na&&(t=Na[e]):typeof e==`number`&&(t=e),B.trace=()=>{},B.debug=()=>{},B.info=()=>{},B.warn=()=>{},B.error=()=>{},B.fatal=()=>{},t<=Na.fatal&&(B.fatal=console.error?console.error.bind(console,Pa(`FATAL`),`color: orange`):console.log.bind(console,`\x1B[35m`,Pa(`FATAL`))),t<=Na.error&&(B.error=console.error?console.error.bind(console,Pa(`ERROR`),`color: orange`):console.log.bind(console,`\x1B[31m`,Pa(`ERROR`))),t<=Na.warn&&(B.warn=console.warn?console.warn.bind(console,Pa(`WARN`),`color: orange`):console.log.bind(console,`\x1B[33m`,Pa(`WARN`))),t<=Na.info&&(B.info=console.info?console.info.bind(console,Pa(`INFO`),`color: lightblue`):console.log.bind(console,`\x1B[34m`,Pa(`INFO`))),t<=Na.debug&&(B.debug=console.debug?console.debug.bind(console,Pa(`DEBUG`),`color: lightgreen`):console.log.bind(console,`\x1B[32m`,Pa(`DEBUG`))),t<=Na.trace&&(B.trace=console.debug?console.debug.bind(console,Pa(`TRACE`),`color: lightgreen`):console.log.bind(console,`\x1B[32m`,Pa(`TRACE`)))},`setLogLevel`),Pa=z(e=>`%c${(0,Z_e.default)().format(`ss.SSS`)} : ${e} : `,`format`)})),$_e,eve=o((()=>{$_e={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:e=>e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{let t=e/255;return e>.03928?((t+.055)/1.055)**2.4:t/12.92},hue2rgb:(e,t,n)=>(n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e),hsl2rgb:({h:e,s:t,l:n},r)=>{if(!t)return n*2.55;e/=360,t/=100,n/=100;let i=n<.5?n*(1+t):n+t-n*t,a=2*n-i;switch(r){case`r`:return $_e.hue2rgb(a,i,e+1/3)*255;case`g`:return $_e.hue2rgb(a,i,e)*255;case`b`:return $_e.hue2rgb(a,i,e-1/3)*255}},rgb2hsl:({r:e,g:t,b:n},r)=>{e/=255,t/=255,n/=255;let i=Math.max(e,t,n),a=Math.min(e,t,n),o=(i+a)/2;if(r===`l`)return o*100;if(i===a)return 0;let s=i-a,l=o>.5?s/(2-i-a):s/(i+a);if(r===`s`)return l*100;switch(i){case e:return((t-n)/s+(t<n?6:0))*60;case t:return((n-e)/s+2)*60;case n:return((e-t)/s+4)*60;default:return-1}}}})),tve,nve=o((()=>{tve={clamp:(e,t,n)=>t>n?Math.min(t,Math.max(n,e)):Math.min(n,Math.max(t,e)),round:e=>Math.round(e*1e10)/1e10}})),rve,ive=o((()=>{rve={dec2hex:e=>{let t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}}})),Ia,La=o((()=>{eve(),nve(),ive(),Ia={channel:$_e,lang:tve,unit:rve}})),Ra,za,ave=o((()=>{La(),Ra={};for(let e=0;e<=255;e++)Ra[e]=Ia.unit.dec2hex(e);za={ALL:0,RGB:1,HSL:2}})),Ba,ove=o((()=>{ave(),Ba=class{constructor(){this.type=za.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw Error(`Cannot change both RGB and HSL channels at the same time`);this.type=e}reset(){this.type=za.ALL}is(e){return this.type===e}}})),Va,Ha=o((()=>{La(),ove(),ave(),Va=class{constructor(e,t){this.color=t,this.changed=!1,this.data=e,this.type=new Ba}set(e,t){return this.color=t,this.changed=!1,this.data=e,this.type.type=za.ALL,this}_ensureHSL(){let e=this.data,{h:t,s:n,l:r}=e;t===void 0&&(e.h=Ia.channel.rgb2hsl(e,`h`)),n===void 0&&(e.s=Ia.channel.rgb2hsl(e,`s`)),r===void 0&&(e.l=Ia.channel.rgb2hsl(e,`l`))}_ensureRGB(){let e=this.data,{r:t,g:n,b:r}=e;t===void 0&&(e.r=Ia.channel.hsl2rgb(e,`r`)),n===void 0&&(e.g=Ia.channel.hsl2rgb(e,`g`)),r===void 0&&(e.b=Ia.channel.hsl2rgb(e,`b`))}get r(){let e=this.data,t=e.r;return!this.type.is(za.HSL)&&t!==void 0?t:(this._ensureHSL(),Ia.channel.hsl2rgb(e,`r`))}get g(){let e=this.data,t=e.g;return!this.type.is(za.HSL)&&t!==void 0?t:(this._ensureHSL(),Ia.channel.hsl2rgb(e,`g`))}get b(){let e=this.data,t=e.b;return!this.type.is(za.HSL)&&t!==void 0?t:(this._ensureHSL(),Ia.channel.hsl2rgb(e,`b`))}get h(){let e=this.data,t=e.h;return!this.type.is(za.RGB)&&t!==void 0?t:(this._ensureRGB(),Ia.channel.rgb2hsl(e,`h`))}get s(){let e=this.data,t=e.s;return!this.type.is(za.RGB)&&t!==void 0?t:(this._ensureRGB(),Ia.channel.rgb2hsl(e,`s`))}get l(){let e=this.data,t=e.l;return!this.type.is(za.RGB)&&t!==void 0?t:(this._ensureRGB(),Ia.channel.rgb2hsl(e,`l`))}get a(){return this.data.a}set r(e){this.type.set(za.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(za.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(za.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(za.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(za.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(za.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}})),Ua,Wa=o((()=>{Ha(),Ua=new Va({r:0,g:0,b:0,a:0},`transparent`)})),Ga,Ka=o((()=>{Wa(),ave(),Ga={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(e.charCodeAt(0)!==35)return;let t=e.match(Ga.re);if(!t)return;let n=t[1],r=parseInt(n,16),i=n.length,a=i%4==0,o=i>4,s=o?1:17,l=o?8:4,u=a?0:-1,d=o?255:15;return Ua.set({r:(r>>l*(u+3)&d)*s,g:(r>>l*(u+2)&d)*s,b:(r>>l*(u+1)&d)*s,a:a?(r&d)*s/255:1},e)},stringify:e=>{let{r:t,g:n,b:r,a:i}=e;return i<1?`#${Ra[Math.round(t)]}${Ra[Math.round(n)]}${Ra[Math.round(r)]}${Ra[Math.round(i*255)]}`:`#${Ra[Math.round(t)]}${Ra[Math.round(n)]}${Ra[Math.round(r)]}`}}})),qa,Ja=o((()=>{La(),Wa(),qa={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:e=>{let t=e.match(qa.hueRe);if(t){let[,e,n]=t;switch(n){case`grad`:return Ia.channel.clamp.h(parseFloat(e)*.9);case`rad`:return Ia.channel.clamp.h(parseFloat(e)*180/Math.PI);case`turn`:return Ia.channel.clamp.h(parseFloat(e)*360)}}return Ia.channel.clamp.h(parseFloat(e))},parse:e=>{let t=e.charCodeAt(0);if(t!==104&&t!==72)return;let n=e.match(qa.re);if(!n)return;let[,r,i,a,o,s]=n;return Ua.set({h:qa._hue2deg(r),s:Ia.channel.clamp.s(parseFloat(i)),l:Ia.channel.clamp.l(parseFloat(a)),a:o?Ia.channel.clamp.a(s?parseFloat(o)/100:parseFloat(o)):1},e)},stringify:e=>{let{h:t,s:n,l:r,a:i}=e;return i<1?`hsla(${Ia.lang.round(t)}, ${Ia.lang.round(n)}%, ${Ia.lang.round(r)}%, ${i})`:`hsl(${Ia.lang.round(t)}, ${Ia.lang.round(n)}%, ${Ia.lang.round(r)}%)`}}})),Ya,Xa=o((()=>{Ka(),Ya={colors:{aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyanaqua:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkgrey:`#a9a9a9`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,grey:`#808080`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,transparent:`#00000000`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`},parse:e=>{e=e.toLowerCase();let t=Ya.colors[e];if(t)return Ga.parse(t)},stringify:e=>{let t=Ga.stringify(e);for(let e in Ya.colors)if(Ya.colors[e]===t)return e}}})),Za,sve=o((()=>{La(),Wa(),Za={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:e=>{let t=e.charCodeAt(0);if(t!==114&&t!==82)return;let n=e.match(Za.re);if(!n)return;let[,r,i,a,o,s,l,u,d]=n;return Ua.set({r:Ia.channel.clamp.r(i?parseFloat(r)*2.55:parseFloat(r)),g:Ia.channel.clamp.g(o?parseFloat(a)*2.55:parseFloat(a)),b:Ia.channel.clamp.b(l?parseFloat(s)*2.55:parseFloat(s)),a:u?Ia.channel.clamp.a(d?parseFloat(u)/100:parseFloat(u)):1},e)},stringify:e=>{let{r:t,g:n,b:r,a:i}=e;return i<1?`rgba(${Ia.lang.round(t)}, ${Ia.lang.round(n)}, ${Ia.lang.round(r)}, ${Ia.lang.round(i)})`:`rgb(${Ia.lang.round(t)}, ${Ia.lang.round(n)}, ${Ia.lang.round(r)})`}}})),Qa,$a=o((()=>{Ka(),Ja(),Xa(),sve(),ave(),Qa={format:{keyword:Ya,hex:Ga,rgb:Za,rgba:Za,hsl:qa,hsla:qa},parse:e=>{if(typeof e!=`string`)return e;let t=Ga.parse(e)||Za.parse(e)||qa.parse(e)||Ya.parse(e);if(t)return t;throw Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(za.HSL)||e.data.r===void 0?qa.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?Za.stringify(e):Ga.stringify(e)}})),eo,to=o((()=>{La(),$a(),eo=(e,t)=>{let n=Qa.parse(e);for(let e in t)n[e]=Ia.channel.clamp[e](t[e]);return Qa.stringify(n)}})),no,cve=o((()=>{La(),Wa(),$a(),to(),no=(e,t,n=0,r=1)=>{if(typeof e!=`number`)return eo(e,{a:t});let i=Ua.set({r:Ia.channel.clamp.r(e),g:Ia.channel.clamp.g(t),b:Ia.channel.clamp.b(n),a:Ia.channel.clamp.a(r)});return Qa.stringify(i)}})),ro,lve=o((()=>{La(),$a(),ro=(e,t)=>Ia.lang.round(Qa.parse(e)[t])})),uve,dve=o((()=>{La(),$a(),uve=e=>{let{r:t,g:n,b:r}=Qa.parse(e),i=.2126*Ia.channel.toLinear(t)+.7152*Ia.channel.toLinear(n)+.0722*Ia.channel.toLinear(r);return Ia.lang.round(i)}})),io,fve=o((()=>{dve(),io=e=>uve(e)>=.5})),ao,pve=o((()=>{fve(),ao=e=>!io(e)})),oo,mve=o((()=>{La(),$a(),oo=(e,t,n)=>{let r=Qa.parse(e),i=r[t],a=Ia.channel.clamp[t](i+n);return i!==a&&(r[t]=a),Qa.stringify(r)}})),so,hve=o((()=>{mve(),so=(e,t)=>oo(e,`l`,t)})),co,gve=o((()=>{mve(),co=(e,t)=>oo(e,`l`,-t)})),_ve,lo=o((()=>{mve(),_ve=(e,t)=>oo(e,`a`,-t)})),uo,vve=o((()=>{$a(),to(),uo=(e,t)=>{let n=Qa.parse(e),r={};for(let e in t)t[e]&&(r[e]=n[e]+t[e]);return eo(e,r)}})),fo,yve=o((()=>{$a(),cve(),fo=(e,t,n=50)=>{let{r,g:i,b:a,a:o}=Qa.parse(e),{r:s,g:l,b:u,a:d}=Qa.parse(t),f=n/100,p=f*2-1,m=o-d,h=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,g=1-h,_=r*h+s*g,v=i*h+l*g,y=a*h+u*g,b=o*f+d*(1-f);return no(_,v,y,b)}})),po,mo=o((()=>{$a(),yve(),po=(e,t=100)=>{let n=Qa.parse(e);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,fo(n,e,t)}})),bve=o((()=>{cve(),lve(),pve(),hve(),gve(),lo(),vve(),mo()})),ho=o((()=>{bve()}));function xve(e,t){this.v=e,this.k=t}function Sve(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Cve(e){if(Array.isArray(e))return e}function wve(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function go(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
6286
+ `)),qme={0:`ED25519`,1:`Secp256k1`,2:`Secp256r1`,3:`MultiSig`,5:`ZkLogin`,6:`Passkey`},Jme=e=>Object.freeze(e());function Yme(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}function Xme(e){if(!Yme(e))throw TypeError(`Uint8Array expected`)}function ri(e,t){return Array.isArray(t)?t.length===0?!0:e?t.every(e=>typeof e==`string`):t.every(e=>Number.isSafeInteger(e)):!1}function Zme(e){if(typeof e!=`function`)throw TypeError(`function expected`);return!0}function Qme(e,t){if(typeof t!=`string`)throw TypeError(`${e}: string expected`);return!0}function $me(e,t=`number`){if(typeof e!=`number`)throw TypeError(`${t}: expected number, got ${typeof e}`);if(!Number.isSafeInteger(e))throw RangeError(`${t}: expected safe integer, got ${e}`)}function ii(e,t){if(!ri(!1,t))throw TypeError(`${e}: array of numbers expected`)}var ehe=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function ai(e,t=e.length){let n=Array(t);for(let r=0;r<t;r++)n[r]=e[r];return n}var the=(()=>{try{let e=new TextDecoder;return e.decode(Uint8Array.of(65,48,43,127))===`A0+`?e:void 0}catch{return}})(),nhe=8192;function rhe(e){let t=e.length;if(the!==void 0&&t>=12)return the.decode(e);if(t<=nhe)return String.fromCharCode.apply(null,e);let n=``;for(let r=0;r<t;r+=nhe)n+=String.fromCharCode.apply(null,e.subarray(r,r+nhe));return n}function ihe(e){if($me(e),e<=0||e>8)throw RangeError(`radix2: bits should be in (0..8]`);let t=ehe[e]-1;return{encode:n=>{Xme(n);let r=n.length,i=new Uint8Array(Math.ceil(r*8/e)),a=0,o=0,s=0;for(let l=0;l<r;)for(l+2<r?(a=a<<24|n[l]<<16|n[l+1]<<8|n[l+2],o+=24,l+=3):(a=(a<<8|n[l])&65535,o+=8,l++);o-=e,i[s++]=a>>o&t,!(o<e););return o>0&&(i[s]=a<<e-o&t),i},decode:t=>{let n=t.length,r=new Uint8Array(Math.floor(n*e/8)),i=0,a=0,o=0;for(let s=0;s<n;s++)for(i=(i<<e|t[s])&65535,a+=e;a>=8;a-=8)r[o++]=i>>a-8&255;if(i=i<<8-a&255,a>=e)throw Error(`Excess padding`);if(i>0)throw Error(`Non-zero padding: ${i}`);return r}}}function ahe(e,t){let n=e.length;if(n>128)throw Error(`alphabet: max 128 letters`);let r=new Uint8Array(n),i=new Int8Array(128).fill(-1);for(let t=0;t<n;t++){let n=e.charCodeAt(t);if(e.codePointAt(t)!==n||n>127)throw Error(`alphabet: single-char ASCII letters only`);r[t]=n,i[n]=t}if(t!==void 0)for(let e of Object.keys(t)){let n=e.charCodeAt(0),r=i[t[e].charCodeAt(0)];if(e.length!==1||n>127||r===void 0||r===-1)throw Error(`alphabet: invalid alias ${e}`);i[n]=r}return{encode:e=>{let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let i=e[n],a=r[i];if(a===void 0)throw Error(`alphabet.encode: invalid digit ${i}`);t[n]=a}return rhe(t)},decode:t=>{Qme(`decode`,t);let n=t.length,r=new Uint8Array(n);for(let a=0;a<n;a++){let n=t.charCodeAt(a),o=n<128?i[n]:-1;if(o===-1)throw Error(`Unknown letter "${t[a]}". Allowed: ${e}`);r[a]=o}return r}}}function oi(e){return Zme(e),function(...t){try{return e.apply(null,t)}catch{}}}var si=ahe(`qpzry9x8gf2tvdw0s3jn54khce6mua7l`),ci=/^[\x21-\x60\x7b-\x7e]+$/;function li(e,t){for(let n=0;n<t.length;n++){let r=t.charCodeAt(n);if(r<33||r>126)throw Error(`${e}: printable ASCII expected`)}}function ohe(e){let t=e.length,n=new Uint8Array(t);for(let r=0;r<t;r++){let t=e[r];if(t<0||t>=32)throw Error(`alphabet.encode: invalid digit ${t}`);n[r]=t}return n}var she=[996825010,642813549,513874426,1027748829,705979059];function ui(e){let t=e>>25,n=(e&33554431)<<5;for(let e=0;e<she.length;e++)(t>>e&1)==1&&(n^=she[e]);return n}function che(e,t,n=1){let r=e.length,i=1;for(let t=0;t<r;t++){let n=e.charCodeAt(t);if(n<33||n>126)throw Error(`Invalid prefix (${e})`);i=ui(i)^n>>5}i=ui(i);for(let t=0;t<r;t++)i=ui(i)^e.charCodeAt(t)&31;for(let e of t)i=ui(i)^e;for(let e=0;e<6;e++)i=ui(i);i^=n;let a=new Uint8Array(6);for(let e=0;e<6;e++)a[e]=i>>>5*(5-e)&31;return si.encode(a)}function lhe(e){let t=e===`bech32`?1:734539939,n=ihe(5),r=e=>{Xme(e);let t=e.length,n=Array(Math.ceil(t*8/5)),r=0,i=0,a=0;for(let o=0;o<t;o++)for(r=r<<8|e[o],i+=8;i>=5;i-=5)n[a++]=r>>i-5&31;return i>0&&(n[a]=r<<5-i&31),n},i=e=>{ii(`radix2.decode`,e);let t=e.length,r=new Uint8Array(t);for(let n=0;n<t;n++){let t=e[n];if(t<0||t>=32)throw Error(`convertRadix2: invalid word=${t}`);r[n]=t}return n.decode(r)},a=oi(i);function o(e,n,r=90){Qme(`bech32.encode prefix`,e),r!==!1&&$me(r,`limit`),Yme(n)&&(n=ai(n)),ii(`bech32.encode`,n);let i=e.length;if(i===0)throw TypeError(`Invalid prefix length ${i}`);let a=i+7+n.length;if(r!==!1&&a>r)throw TypeError(`Length ${a} exceeds limit ${r}`);li(`bech32.encode prefix`,e);let o=e.toLowerCase(),s=che(o,n,t);return`${o}1${si.encode(ohe(n))}${s}`}function s(e,n=90){Qme(`bech32.decode input`,e),n!==!1&&$me(n,`limit`);let r=e.length;if(r<8||n!==!1&&r>n)throw TypeError(`invalid string length ${r}, expected (8..${n})`);let i=e.toLowerCase();if(e!==i&&!ci.test(e))throw li(`bech32.decode input`,e),Error(`mixed-case string not allowed`);let a=i.lastIndexOf(`1`);if(a===0||a===-1)throw Error(`invalid separator "1"`);let o=i.slice(0,a),s=i.slice(a+1);if(s.length<6)throw Error(`invalid data length`);let l=si.decode(s),u=ai(l,l.length-6),d=che(o,u,t);if(!s.endsWith(d))throw Error(`Invalid checksum in ${e}`);return{prefix:o,words:u}}let l=oi(s);function u(e,t=90){let{prefix:n,words:r}=s(e,t);return{prefix:n,words:r,bytes:i(r)}}function d(e,t){return o(e,r(t))}return{encode:o,decode:s,encodeFromBytes:d,decodeToBytes:u,decodeUnsafe:l,fromWords:i,fromWordsUnsafe:a,toWords:r}}var uhe=Jme(()=>lhe(`bech32`));function dhe(e){let{prefix:t,words:n}=uhe.decode(e);if(t!==`suiprivkey`)throw Error(`invalid private key prefix`);let r=new Uint8Array(uhe.fromWords(n)),i=r.slice(1);return{scheme:qme[r[0]],secretKey:i}}var fhe=`external-proposal-alpha-2026-05-25`,phe=`proposal-review-model-alpha-2026-05-25`,mhe=N().refine(e=>{let t=new Date(e);return!Number.isNaN(t.getTime())&&t.toISOString()===e},`Expected ISO 8601 UTC timestamp`),I=/transaction\s*bytes?|transactionBytes|tx\s*bytes?|serialized\s*transaction|serializedTransaction|signed\s*transaction|signing\s*request|signingRequest|wallet\s*authorization|walletAuthorization|private\s*key|privateKey|secret\s*key|secretKey|seed\s*phrase|mnemonic|suiprivkey|signature|route[-_\s]*selected|routeSelectedPlan|bcs\s*transaction|programmable\s*transaction/i,hhe=/(?:0x[0-9a-fA-F]{160,}|[A-Za-z0-9+/_=-]{160,})/,ghe=/suiprivkey1[023456789acdefghjklmnpqrstuvwxyz]+/gi,_he=/(^|[^0-9a-fA-F])(?:0x)?[0-9a-fA-F]{64}($|[^0-9a-fA-F])/,vhe=/(^|[^A-Za-z0-9+/_=-])(?:[A-Za-z0-9+/]{43}=|[A-Za-z0-9+/]{44}|[A-Za-z0-9_-]{43,44})($|[^A-Za-z0-9+/_=-])/,yhe=/^(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$/,di=[12,15,18,21,24];function fi(e,t,n={}){return N().min(1).max(e).superRefine((e,r)=>{(I.test(e)||hhe.test(e)||bhe(e)||xhe(e)||!n.allowRawSecretLikeText&&She(e))&&r.addIssue({code:`custom`,message:`${t} must not contain executable, signing, private-key, mnemonic, route-selected, or encoded secret-like material`})})}function pi(e,t){return fi(e,t,{allowRawSecretLikeText:!0})}function bhe(e){return(e.match(ghe)??[]).some(e=>{try{return dhe(e.toLowerCase()),!0}catch{return e.toLowerCase().startsWith(`suiprivkey1`)}})}function xhe(e){let t=e.normalize(`NFKD`).toLowerCase().replace(/[^a-z]+/g,` `).trim().split(/\s+/).filter(Boolean);for(let e of di)if(!(t.length<e)){for(let n=0;n<=t.length-e;n+=1)if(Gme(t.slice(n,n+e).join(` `),Kme))return!0}return!1}function She(e){return _he.test(e)||vhe.test(e)}var Che=fi(80,`amountDisplay`).refine(e=>yhe.test(e)&&/[1-9]/.test(e),{message:`Expected a positive decimal display amount`}),mi=P({kind:An([`mcp_server`,`ai_client`,`user`,`other`]),name:fi(120,`source.name`),reference:fi(256,`source.reference`).optional()}).strict(),hi=P({address:Xr.optional(),label:fi(120,`party.label`).optional()}).strict().refine(e=>e.address!==void 0||e.label!==void 0,{message:`Expected address or label`}),gi=P({amountDisplay:Che,amountKind:jn(`display_proposal`).default(`display_proposal`),symbol:fi(64,`amount.symbol`).optional(),coinType:pi(512,`amount.coinType`).optional(),denomination:fi(64,`amount.denomination`).optional()}).strict(),whe=P({packageId:pi(128,`action.target.packageId`).optional(),module:fi(128,`action.target.module`).optional(),function:fi(128,`action.target.function`).optional(),objectId:pi(128,`action.target.objectId`).optional(),label:fi(120,`action.target.label`).optional()}).strict().refine(e=>e.packageId!==void 0||e.module!==void 0||e.function!==void 0||e.objectId!==void 0||e.label!==void 0,{message:`Expected at least one action target field`}),The=P({direction:An([`outgoing`,`expected_incoming`,`fee`]),amount:gi,recipient:hi.optional(),description:fi(512,`assetFlow.description`).optional()}).strict(),Ehe=P({id:fi(120,`proposal.id`),source:mi,network:jn(`sui:mainnet`),createdAt:mhe,expiresAt:mhe.optional(),purpose:fi(512,`purpose`),assumptions:wn(fi(512,`assumptions[]`)).max(20).optional(),requiredUserChoices:wn(fi(512,`requiredUserChoices[]`)).max(20).optional()}).strict(),Dhe=Dn(`type`,[Ehe.extend({type:jn(`payment`),payment:P({amount:gi,recipient:hi,target:fi(512,`payment.target`).optional()}).strict()}).strict(),Ehe.extend({type:jn(`sui_action`),action:P({actionKind:fi(120,`action.actionKind`),target:whe,recipient:hi.optional(),assetFlow:wn(The).max(20).optional()}).strict()}).strict()]),_i=P({id:N(),label:N(),status:An([`pass`,`warning`,`fail`]),message:N(),source:An([`proposal`,`adapter`,`registry`,`quote`,`wallet`,`simulation`,`network`])}).strict(),Ohe=P({id:N(),label:N(),reason:N()}).strict(),khe=P({modelVersion:jn(phe),contractVersion:jn(fhe),proposalId:N(),proposalType:An([`payment`,`sui_action`]),proposalSource:mi,proposedAction:P({kind:An([`payment`,`sui_action`]),title:N(),purpose:N(),network:jn(`sui:mainnet`),recipient:hi.optional(),target:En([N(),whe]).optional()}).strict(),assetFlow:P({outgoing:wn(gi),expectedIncoming:wn(gi),fees:wn(gi)}).strict(),recipients:wn(hi),targets:wn(En([N(),whe])),evidenceUsed:wn(P({id:N(),label:N(),source:An([`external_proposal`,`local_schema`]),summary:N()}).strict()),missingEvidence:wn(Ohe),requiredUserChoices:wn(Ohe),unsupportedClaims:wn(P({id:N(),label:N(),reason:N()}).strict()),rejectedExecutableFields:wn(P({fieldName:N(),reason:N()}).strict()),freshness:P({proposalCreatedAt:mhe,proposalExpiresAt:mhe.optional(),evaluatedAt:mhe,status:An([`current`,`expired`,`created_in_future`,`expiry_not_provided`]),reason:N()}).strict(),blockingChecks:wn(_i),nonSignableReason:P({code:jn(`external_proposal_review_only`),message:N(),blockedCapabilities:wn(N())}).strict()}).strict();P({requestedIntent:Dhe,implementationStatus:jn(`read_only_review_only`),contractVersion:jn(fhe)}).strict();var Ahe=[`adapter_not_implemented`,`producer_stage_missing`,`wallet_review_contract_emit_missing`,`network_mismatch`,`insufficient_balance`,`insufficient_gas`,`allowlist_violation`,`asset_mismatch`,`amount_mismatch`,`wallet_mismatch`,`unsupported_action`,`object_resolution_failed`,`proposal_review_only`],jhe=[`review_evidence_stale`,`quote_stale`,`quote_unavailable`,`simulation_transient_failure`,`review_update_failed`,`wallet_connection_changed`],vi=[`proposed`,`awaiting_wallet`,`wallet_connected`,`ready_for_wallet_review`,`refresh_required`,`blocked`,`expired`],yi=[`humanReadableReview`,`simulation`,`transactionReviewData`,`ptbVisualization`,`assetFlowActual`,`beforeAfterBalance`],bi=An([`client.core.simulateTransaction`,`client.transactionExecutionService.simulateTransaction`]),xi=`ptb-visualization-contract-alpha-2026-05-25`,Si=[`proposedAction`,`assetFlow`,`recipients`,`targets`,`evidenceUsed`,`missingEvidence`,`requiredUserChoices`,`unsupportedClaims`,`freshness`,`blockingChecks`],Ci=[`effects`,`balanceChanges`,`objectTypes`,`transaction`],wi=[`transaction_bytes`,`serialized_transaction`,`wallet_signature_request`,`private_key_material`,`wallet_authorization`,`signing_data`,`signing_readiness`,`payment_execution_readiness`],Mhe=[`transaction_building_input`,`wallet_authorization`,`signing_data`,`signing_readiness`,`payment_execution_readiness`,`route_recommendation`],Nhe=ime,Ti=`MIST`,Phe=[`checkedAt`,`expiresAt`],Ei=[`checkedAt`,`expiryStatus`],Di=[`rawAmount`,`asset`,`amountRole`],Fhe=[`minOutRaw`,`asset`,`amountRole`],Ihe=[`gasBudgetRaw`,`asset`,`amountRole`],Lhe=[`gasUsedRaw`,`asset`,`amountRole`],Rhe=[`checkedAt`,`gasResolutionStatus`,`unresolvedReason`],Oi=[`balanceChanges`,`asset`,`amountRole`],ki=[`coinType`,`decimals`],zhe=[`quoteEvidenceId`,`minOutRaw`],Bhe=[`maxSlippageBps`,`userSelection`],Ai=[`maxSlippageBps`,`minOutRaw`],Vhe=[`ownerAccount`,`objects`],Hhe=[`pinned_sdk_registry`,`verified_mainnet_onchain_metadata`,`wallet_account_read`,`quote_evidence`,`review_time_simulation`,`validated_request_fact`,`user_explicit_choice`],ji=[`input`,`expected_output`,`minimum_output`,`gas_budget`,`gas_used`,`fee`,`balance_delta`],Uhe={input:{kinds:[`validated_request_fact`,`wallet_account_read`,`user_explicit_choice`],fields:Di},expected_output:{kinds:[`quote_evidence`,`review_time_simulation`],fields:Di},minimum_output:{kinds:[`quote_evidence`],fields:Fhe},gas_budget:{kinds:[`review_time_simulation`],fields:Ihe},gas_used:{kinds:[`review_time_simulation`],fields:Lhe},fee:{kinds:[`review_time_simulation`],fields:Di},balance_delta:{kinds:[`review_time_simulation`],fields:Oi}},Whe={pinned_sdk_metadata:{kinds:[`pinned_sdk_registry`],fields:ki},verified_mainnet_onchain_metadata:{kinds:[`verified_mainnet_onchain_metadata`],fields:ki}},Mi={user_explicit:{kinds:[`user_explicit_choice`],fields:Bhe},adapter_policy_from_quote_evidence:{kinds:[`quote_evidence`],fields:Ai}},Ni={kinds:[`review_time_simulation`],fields:Rhe},Ghe={kinds:[`quote_evidence`],fields:zhe},Khe={kinds:[`validated_request_fact`],fields:Phe},qhe={kinds:[`validated_request_fact`],fields:Ei},Pi={raw_quantity_amount:{byRole:Uhe},unit_metadata:{bySource:Whe},gas_unresolved_status:Ni,expiry_status:{current:Khe,expired:Khe,not_provided:qhe,not_applicable:qhe},quote_min_out:Ghe,slippage_policy:{bySource:Mi},object_ownership:{kinds:[`wallet_account_read`],fields:Vhe},simulation_result:{kinds:[`review_time_simulation`],fields:Ci}},Fi={gasBudgetClaimId:{factKind:`raw_quantity_amount`,role:`gas_budget`,assetCoinType:Nhe,rawUnit:Ti},gasUsedClaimId:{factKind:`raw_quantity_amount`,role:`gas_used`,assetCoinType:Nhe,rawUnit:Ti},gasObjectOwnershipClaimId:{factKind:`object_ownership`,ownership:`owned_by_account`}},Ii=N().refine(e=>{let t=new Date(e);return!Number.isNaN(t.getTime())&&t.toISOString()===e},`Expected ISO 8601 UTC timestamp`),Li=ume(`unsigned integer`),Jhe=N().regex(/^0x[0-9a-fA-F]{1,64}$/,{message:`Expected a Sui object id`}),Yhe=N().min(1).max(512).refine(e=>{try{return $r(e)===e}catch{return!1}},`Expected a normalized Sui struct tag coin type`),Ri=N().min(1).max(120),Xhe=P({symbol:N().min(1).max(64).optional(),coinType:Yhe}).strict(),Zhe=/transaction\s*bytes?|tx\s*bytes?|serialized\s*transaction|serializedTransaction|signed\s*transaction|signing\s*request|signingRequest|wallet\s*authorization|walletAuthorization|private\s*key|privateKey|secret\s*key|secretKey|seed\s*phrase|mnemonic|suiprivkey|signature|bcs\s*transaction/i,Qhe=/(?:0x[0-9a-fA-F]{160,}|[A-Za-z0-9+/_=-]{160,})/;function $he(e,t){return N().min(1).max(e).superRefine((e,n)=>{(Zhe.test(e)||Qhe.test(e))&&n.addIssue({code:`custom`,message:`${t} must not contain executable transaction, signing, private-key, mnemonic, or long encoded material`})})}function ege(e,t){let n=new Set(e);return t.filter(e=>!n.has(e))}function tge(e,t,n,r,i){let a=ege(t,n);a.length!==0&&e.addIssue({code:`custom`,path:r,message:`${i} must include ${a.join(`, `)}`})}function nge(e,t,n,r,i){tge(e,t,n,r,i)}function zi(e,t,n){e.addIssue({code:`custom`,path:t,message:`${n} must match referenced evidence claim`})}function Bi(e,t,n,r,i){t!==n&&zi(e,r,i)}function rge(e,t,n,r,i){let a=new Set(t),o=new Set(n);if(a.size!==o.size)zi(e,r,i);else for(let t of a)if(!o.has(t)){zi(e,r,i);return}}function ige(e,t,n,r,i){(t.symbol!==n.symbol||t.coinType!==n.coinType)&&zi(e,r,i)}function age(e,t,n,r,i){try{$r(t.coinType)!==n&&zi(e,r,i)}catch{zi(e,r,i)}}var oge=P({kind:An([`natural_language_intent`,`external_proposal`,`mcp_action_request`,`local_review_request`]),sourceId:N().min(1).max(160),capturedAt:Ii,authority:jn(`untrusted_until_review_regenerates_and_verifies`),userSelectionSource:An([`user_explicit`,`prior_user_explicit_context`]).optional()}).strict(),Vi=P({id:Ri,kind:An(Hhe),network:jn(`sui:mainnet`),source:N().min(1).max(240),verifiedAt:Ii,fields:wn(N().min(1).max(120)).min(1)}).strict(),sge=Dn(`factKind`,[P({id:Ri,factKind:jn(`raw_quantity_amount`),sourceEvidenceId:Ri,role:An(ji),asset:Xhe,rawAmount:Li}).strict(),P({id:Ri,factKind:jn(`unit_metadata`),sourceEvidenceId:Ri,source:An([`pinned_sdk_metadata`,`verified_mainnet_onchain_metadata`]),coinType:Yhe,decimals:yn().int().min(0).max(255)}).strict(),P({id:Ri,factKind:jn(`gas_unresolved_status`),sourceEvidenceId:Ri,checkedAt:Ii,status:jn(`unresolved`),reason:N().min(1).max(240)}).strict(),P({id:Ri,factKind:jn(`expiry_status`),sourceEvidenceId:Ri,checkedAt:Ii,status:An([`current`,`expired`,`not_provided`,`not_applicable`]),expiresAt:Ii.optional(),reason:N().min(1).max(240).optional()}).strict(),P({id:Ri,factKind:jn(`quote_min_out`),sourceEvidenceId:Ri,quoteEvidenceId:N().min(1).max(120),minOutRaw:Li}).strict(),P({id:Ri,factKind:jn(`slippage_policy`),sourceEvidenceId:Ri,policySource:An([`user_explicit`,`adapter_policy_from_quote_evidence`]),maxSlippageBps:yn().int().min(0).max(1e4),minOutRaw:Li.optional()}).strict(),P({id:Ri,factKind:jn(`object_ownership`),sourceEvidenceId:Ri,objectId:Jhe,ownerAccount:Xr,ownership:An([`owned_by_account`,`shared_object`,`immutable_or_package`,`not_owned_by_account`])}).strict(),P({id:Ri,factKind:jn(`simulation_result`),sourceEvidenceId:Ri,provider:bi,checksEnabled:jn(!0),simulatedAt:Ii,status:An([`success`,`failed`,`unavailable`]),requiredFields:wn(An(Ci)).min(Ci.length),missingFields:wn(An(Ci)).default([]),failureReason:N().min(1).max(240).optional()}).strict()]),Hi=P({id:Ri,role:An(ji),asset:Xhe,rawAmount:Li,unit:P({decimals:yn().int().min(0).max(255),source:An([`pinned_sdk_metadata`,`verified_mainnet_onchain_metadata`]),sourceField:N().min(1).max(160),unitClaimId:Ri}).strict(),amountClaimId:Ri,displayOnly:P({amountDisplay:N().min(1).max(120),reason:jn(`presentation_only_not_signing_input`)}).strict().optional()}).strict(),cge=P({objectId:Jhe,ownerAccount:Xr,ownershipClaimId:Ri}).strict(),lge=P({source:jn(`review_time_simulation`),checkedAt:Ii,gasBudgetRaw:Li.optional(),gasBudgetClaimId:Ri.optional(),gasUsedRaw:Li.optional(),gasUsedClaimId:Ri.optional(),gasObjects:wn(cge).optional(),unresolvedReason:N().min(1).max(240).optional(),unresolvedClaimId:Ri.optional()}).strict().superRefine((e,t)=>{let n=e.gasBudgetRaw!==void 0||e.gasUsedRaw!==void 0;!n&&e.unresolvedReason===void 0&&t.addIssue({code:`custom`,message:`Expected gas evidence or unresolvedReason`}),n&&e.unresolvedReason!==void 0&&t.addIssue({code:`custom`,path:[`unresolvedReason`],message:`Resolved gas quantities must not include unresolvedReason`}),e.gasBudgetRaw!==void 0&&e.gasBudgetClaimId===void 0&&t.addIssue({code:`custom`,path:[`gasBudgetClaimId`],message:`gasBudgetRaw requires gasBudgetClaimId`}),e.gasBudgetRaw===void 0&&e.gasBudgetClaimId!==void 0&&t.addIssue({code:`custom`,path:[`gasBudgetClaimId`],message:`gasBudgetClaimId requires gasBudgetRaw`}),e.gasUsedRaw!==void 0&&e.gasUsedClaimId===void 0&&t.addIssue({code:`custom`,path:[`gasUsedClaimId`],message:`gasUsedRaw requires gasUsedClaimId`}),e.gasUsedRaw===void 0&&e.gasUsedClaimId!==void 0&&t.addIssue({code:`custom`,path:[`gasUsedClaimId`],message:`gasUsedClaimId requires gasUsedRaw`}),e.unresolvedReason!==void 0&&e.unresolvedClaimId===void 0&&t.addIssue({code:`custom`,path:[`unresolvedClaimId`],message:`unresolvedReason requires unresolvedClaimId`}),e.unresolvedReason===void 0&&e.unresolvedClaimId!==void 0&&t.addIssue({code:`custom`,path:[`unresolvedClaimId`],message:`unresolvedClaimId requires unresolvedReason`})}),uge=Dn(`status`,[P({checkedAt:Ii,status:jn(`current`),expiresAt:Ii,evidenceClaimId:Ri}).strict(),P({checkedAt:Ii,status:jn(`expired`),expiresAt:Ii,evidenceClaimId:Ri}).strict(),P({checkedAt:Ii,status:jn(`not_provided`),evidenceClaimId:Ri,reason:N().min(1).max(240),expiresAt:Cn().optional()}).strict(),P({checkedAt:Ii,status:jn(`not_applicable`),evidenceClaimId:Ri,reason:N().min(1).max(240),expiresAt:Cn().optional()}).strict()]).superRefine((e,t)=>{e.status===`current`&&Date.parse(e.expiresAt)<=Date.parse(e.checkedAt)&&t.addIssue({code:`custom`,path:[`expiresAt`],message:`Current expiry evidence requires expiresAt after checkedAt`}),e.status===`expired`&&Date.parse(e.expiresAt)>Date.parse(e.checkedAt)&&t.addIssue({code:`custom`,path:[`expiresAt`],message:`Expired expiry evidence requires expiresAt at or before checkedAt`})}),dge=P({status:An([`required_and_verified`,`not_required_for_action`,`missing`,`stale`]),quoteEvidenceId:N().min(1).max(120).optional(),quoteEvidenceClaimId:Ri.optional(),maxSlippageBps:yn().int().min(0).max(1e4).optional(),minOutRaw:Li.optional(),policySource:An([`user_explicit`,`adapter_policy_from_quote_evidence`]).optional(),policyEvidenceClaimId:Ri.optional()}).strict().superRefine((e,t)=>{e.status===`required_and_verified`&&(e.quoteEvidenceId===void 0||e.quoteEvidenceClaimId===void 0||e.maxSlippageBps===void 0||e.minOutRaw===void 0||e.policySource===void 0||e.policyEvidenceClaimId===void 0)&&t.addIssue({code:`custom`,message:`Verified min-out evidence requires quoteEvidenceId, quoteEvidenceClaimId, maxSlippageBps, minOutRaw, policySource, and policyEvidenceClaimId`}),e.quoteEvidenceId!==void 0&&e.quoteEvidenceClaimId===void 0&&t.addIssue({code:`custom`,path:[`quoteEvidenceClaimId`],message:`quoteEvidenceId requires quoteEvidenceClaimId`}),e.quoteEvidenceId===void 0&&e.quoteEvidenceClaimId!==void 0&&t.addIssue({code:`custom`,path:[`quoteEvidenceClaimId`],message:`quoteEvidenceClaimId requires quoteEvidenceId`}),e.minOutRaw!==void 0&&e.quoteEvidenceClaimId===void 0&&t.addIssue({code:`custom`,path:[`quoteEvidenceClaimId`],message:`minOutRaw requires quoteEvidenceClaimId`}),e.maxSlippageBps!==void 0&&e.policySource===void 0&&t.addIssue({code:`custom`,path:[`policySource`],message:`maxSlippageBps requires policySource`}),e.policySource!==void 0&&e.policyEvidenceClaimId===void 0&&t.addIssue({code:`custom`,path:[`policyEvidenceClaimId`],message:`policySource requires policyEvidenceClaimId`}),e.policySource===void 0&&e.policyEvidenceClaimId!==void 0&&t.addIssue({code:`custom`,path:[`policyEvidenceClaimId`],message:`policyEvidenceClaimId requires policySource`})}),fge=P({checkedAt:Ii,ownerAccount:Xr,objects:wn(P({objectId:Jhe,role:An([`input_coin`,`gas_coin`,`protocol_object`,`shared_object`,`receiving_object`]),ownership:An([`owned_by_account`,`shared_object`,`immutable_or_package`,`not_owned_by_account`]),evidenceClaimId:Ri}).strict()).min(1)}).strict(),Ui=P({evidenceClaimId:Ri,transactionDigest:Zr,provider:bi,checksEnabled:jn(!0),simulatedAt:Ii,status:An([`success`,`failed`,`unavailable`]),requiredFields:wn(An(Ci)).min(Ci.length),missingFields:wn(An(Ci)).default([]),failureReason:N().min(1).max(240).optional()}).strict().refine(e=>e.status!==`success`||e.missingFields.length===0,{message:`Successful simulation evidence must not have missing required fields`}).refine(e=>Ci.every(t=>e.requiredFields.includes(t)),{message:`Simulation evidence must include every required simulation field`}).refine(e=>e.status===`success`||e.failureReason!==void 0,{message:`Failed or unavailable simulation evidence requires failureReason`}).refine(e=>e.status!==`success`||e.failureReason===void 0,{message:`Successful simulation evidence must not include failureReason`}),pge=P({fields:wn(An(Si)).min(Si.length),transactionDigest:Zr,source:jn(`review_model_or_adapter_equivalent`),purpose:jn(`human_review_before_wallet_authorization`)}).strict().refine(e=>Si.every(t=>e.fields.includes(t)),{message:`Human-readable review fields must include every required review field`}),Wi=P({runtimeStatus:jn(`emitted_pre_handoff`),mcpAndReviewUiMayExpose:wn(An([`human_readable_review`,`ptb_visualization_artifact`,`diagnostics`,`status_checks`])).min(1),prohibited:wn(An(wi)).min(1)}).strict().superRefine((e,t)=>{nge(t,e.prohibited,wi,[`prohibited`],`prohibited`)}),mge=P({schemaVersion:jn(1),adapterId:N().min(1).max(120),protocol:N().min(1).max(120),actionKind:N().min(1).max(120),network:jn(`sui:mainnet`),inputProvenance:oge,sourceReferences:wn(Vi).min(1),evidenceClaims:wn(sge).min(1),rawQuantities:wn(Hi).min(1),gas:lge,expiry:uge,slippageOrMinOut:dge,objectOwnership:fge,simulation:Ui,humanReadableReview:pge,outputBoundary:Wi,reviewedTransactionDigest:Zr}).strict().superRefine((e,t)=>{let n=new Set,r=new Map,i=new Map;e.sourceReferences.forEach((e,a)=>{n.has(e.id)&&t.addIssue({code:`custom`,path:[`sourceReferences`,a,`id`],message:`sourceReferences id must be unique: ${e.id}`}),n.add(e.id),r.has(e.id)||(r.set(e.id,e),i.set(e.id,a))});let a=new Set,o=new Map,s=new Map;e.evidenceClaims.forEach((e,n)=>{a.has(e.id)&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`id`],message:`evidenceClaims id must be unique: ${e.id}`}),a.add(e.id),o.has(e.id)||(o.set(e.id,e),s.set(e.id,n))});let l=(e,n)=>{if(e===void 0)return;let i=r.get(e);if(i!==void 0)return i;t.addIssue({code:`custom`,path:n,message:`source evidence id must reference sourceReferences[].id: ${e}`})},u=(e,n,r,a)=>{if(e===void 0)return;let o=l(e,r);if(o===void 0)return;let s=i.get(e),u=s===void 0?r:[`sourceReferences`,s];n.kinds.includes(o.kind)||t.addIssue({code:`custom`,path:[...u,`kind`],message:`${a} source kind must be one of ${n.kinds.join(`, `)}`}),tge(t,o.fields,n.fields,[...u,`fields`],`${a} sourceReferences fields`)},d=(e,n,r,i)=>{if(e===void 0){t.addIssue({code:`custom`,path:r,message:`${i} must reference evidenceClaims[].id`});return}let a=o.get(e);if(a===void 0)t.addIssue({code:`custom`,path:r,message:`${i} must reference evidenceClaims[].id: ${e}`});else{if(a.factKind!==n){let a=s.get(e),o=a===void 0?r:[`evidenceClaims`,a,`factKind`];t.addIssue({code:`custom`,path:o,message:`${i} evidence claim factKind must be ${n}`})}return a}};if(e.evidenceClaims.forEach((e,n)=>{e.factKind===`raw_quantity_amount`&&u(e.sourceEvidenceId,Pi.raw_quantity_amount.byRole[e.role],[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].raw_quantity_amount`),e.factKind===`unit_metadata`&&u(e.sourceEvidenceId,Pi.unit_metadata.bySource[e.source],[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].unit_metadata`),e.factKind===`gas_unresolved_status`&&u(e.sourceEvidenceId,Pi.gas_unresolved_status,[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].gas_unresolved_status`),e.factKind===`expiry_status`&&(u(e.sourceEvidenceId,Pi.expiry_status[e.status],[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].expiry_status`),(e.status===`current`||e.status===`expired`)&&e.expiresAt===void 0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`expiresAt`],message:`Current or expired expiry claim requires expiresAt`}),(e.status===`not_provided`||e.status===`not_applicable`)&&e.reason===void 0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`reason`],message:`Unavailable expiry claim requires reason`}),(e.status===`not_provided`||e.status===`not_applicable`)&&e.expiresAt!==void 0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`expiresAt`],message:`Unavailable expiry claim must not include expiresAt`}),e.status===`current`&&e.expiresAt!==void 0&&Date.parse(e.expiresAt)<=Date.parse(e.checkedAt)&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`expiresAt`],message:`Current expiry claim requires expiresAt after checkedAt`}),e.status===`expired`&&e.expiresAt!==void 0&&Date.parse(e.expiresAt)>Date.parse(e.checkedAt)&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`expiresAt`],message:`Expired expiry claim requires expiresAt at or before checkedAt`})),e.factKind===`quote_min_out`&&u(e.sourceEvidenceId,Pi.quote_min_out,[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].quote_min_out`),e.factKind===`slippage_policy`&&(u(e.sourceEvidenceId,Pi.slippage_policy.bySource[e.policySource],[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].slippage_policy`),e.policySource===`adapter_policy_from_quote_evidence`&&e.minOutRaw===void 0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`minOutRaw`],message:`Adapter-derived slippage policy claim requires minOutRaw`})),e.factKind===`object_ownership`&&u(e.sourceEvidenceId,Pi.object_ownership,[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].object_ownership`),e.factKind===`simulation_result`&&(u(e.sourceEvidenceId,Pi.simulation_result,[`evidenceClaims`,n,`sourceEvidenceId`],`evidenceClaims[${n}].simulation_result`),e.status===`success`&&e.missingFields.length!==0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`missingFields`],message:`Successful simulation claim must not have missing required fields`}),Ci.every(t=>e.requiredFields.includes(t))||t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`requiredFields`],message:`Simulation claim must include every required simulation field`}),e.status!==`success`&&e.failureReason===void 0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`failureReason`],message:`Failed or unavailable simulation claim requires failureReason`}),e.status===`success`&&e.failureReason!==void 0&&t.addIssue({code:`custom`,path:[`evidenceClaims`,n,`failureReason`],message:`Successful simulation claim must not include failureReason`}))}),e.rawQuantities.forEach((e,n)=>{let r=d(e.amountClaimId,`raw_quantity_amount`,[`rawQuantities`,n,`amountClaimId`],`rawQuantities[${n}].amountClaimId`);r?.factKind===`raw_quantity_amount`&&(Bi(t,e.role,r.role,[`rawQuantities`,n,`role`],`rawQuantities[${n}].role`),Bi(t,e.rawAmount,r.rawAmount,[`rawQuantities`,n,`rawAmount`],`rawQuantities[${n}].rawAmount`),ige(t,e.asset,r.asset,[`rawQuantities`,n,`asset`],`rawQuantities[${n}].asset`));let i=d(e.unit.unitClaimId,`unit_metadata`,[`rawQuantities`,n,`unit`,`unitClaimId`],`rawQuantities[${n}].unit.unitClaimId`);i?.factKind===`unit_metadata`&&(Bi(t,e.unit.source,i.source,[`rawQuantities`,n,`unit`,`source`],`rawQuantities[${n}].unit.source`),Bi(t,e.unit.decimals,i.decimals,[`rawQuantities`,n,`unit`,`decimals`],`rawQuantities[${n}].unit.decimals`),e.asset.coinType!==void 0&&Bi(t,e.asset.coinType,i.coinType,[`rawQuantities`,n,`asset`,`coinType`],`rawQuantities[${n}].asset.coinType`))}),e.gas.gasBudgetRaw!==void 0){let n=d(e.gas.gasBudgetClaimId,`raw_quantity_amount`,[`gas`,`gasBudgetClaimId`],`gas.gasBudgetClaimId`);n?.factKind===`raw_quantity_amount`&&(Bi(t,n.role,Fi.gasBudgetClaimId.role,[`gas`,`gasBudgetClaimId`],`gas.gasBudgetClaimId role`),age(t,n.asset,Fi.gasBudgetClaimId.assetCoinType,[`gas`,`gasBudgetClaimId`],`gas.gasBudgetClaimId asset`),Bi(t,e.gas.gasBudgetRaw,n.rawAmount,[`gas`,`gasBudgetRaw`],`gas.gasBudgetRaw`))}if(e.gas.gasUsedRaw!==void 0){let n=d(e.gas.gasUsedClaimId,`raw_quantity_amount`,[`gas`,`gasUsedClaimId`],`gas.gasUsedClaimId`);n?.factKind===`raw_quantity_amount`&&(Bi(t,n.role,Fi.gasUsedClaimId.role,[`gas`,`gasUsedClaimId`],`gas.gasUsedClaimId role`),age(t,n.asset,Fi.gasUsedClaimId.assetCoinType,[`gas`,`gasUsedClaimId`],`gas.gasUsedClaimId asset`),Bi(t,e.gas.gasUsedRaw,n.rawAmount,[`gas`,`gasUsedRaw`],`gas.gasUsedRaw`))}if(e.gas.unresolvedReason!==void 0){let n=d(e.gas.unresolvedClaimId,`gas_unresolved_status`,[`gas`,`unresolvedClaimId`],`gas.unresolvedClaimId`);n?.factKind===`gas_unresolved_status`&&(Bi(t,n.status,`unresolved`,[`gas`,`unresolvedClaimId`],`gas.unresolvedClaimId status`),Bi(t,e.gas.checkedAt,n.checkedAt,[`gas`,`checkedAt`],`gas.checkedAt`),Bi(t,e.gas.unresolvedReason,n.reason,[`gas`,`unresolvedReason`],`gas.unresolvedReason`))}e.gas.gasObjects?.forEach((e,n)=>{let r=d(e.ownershipClaimId,`object_ownership`,[`gas`,`gasObjects`,n,`ownershipClaimId`],`gas.gasObjects[${n}].ownershipClaimId`);r?.factKind===`object_ownership`&&(Bi(t,e.objectId,r.objectId,[`gas`,`gasObjects`,n,`objectId`],`gas.gasObjects[${n}].objectId`),Bi(t,e.ownerAccount,r.ownerAccount,[`gas`,`gasObjects`,n,`ownerAccount`],`gas.gasObjects[${n}].ownerAccount`),Bi(t,r.ownership,Fi.gasObjectOwnershipClaimId.ownership,[`gas`,`gasObjects`,n,`ownershipClaimId`],`gas.gasObjects[${n}].ownershipClaimId ownership`))});let f=d(e.expiry.evidenceClaimId,`expiry_status`,[`expiry`,`evidenceClaimId`],`expiry.evidenceClaimId`);if(f?.factKind===`expiry_status`&&(Bi(t,e.expiry.status,f.status,[`expiry`,`status`],`expiry.status`),Bi(t,e.expiry.checkedAt,f.checkedAt,[`expiry`,`checkedAt`],`expiry.checkedAt`),e.expiry.status===`current`||e.expiry.status===`expired`?Bi(t,e.expiry.expiresAt,f.expiresAt,[`expiry`,`expiresAt`],`expiry.expiresAt`):Bi(t,e.expiry.reason,f.reason,[`expiry`,`reason`],`expiry.reason`)),e.slippageOrMinOut.quoteEvidenceClaimId!==void 0){let n=d(e.slippageOrMinOut.quoteEvidenceClaimId,`quote_min_out`,[`slippageOrMinOut`,`quoteEvidenceClaimId`],`slippageOrMinOut.quoteEvidenceClaimId`);n?.factKind===`quote_min_out`&&(Bi(t,e.slippageOrMinOut.quoteEvidenceId,n.quoteEvidenceId,[`slippageOrMinOut`,`quoteEvidenceId`],`slippageOrMinOut.quoteEvidenceId`),Bi(t,e.slippageOrMinOut.minOutRaw,n.minOutRaw,[`slippageOrMinOut`,`minOutRaw`],`slippageOrMinOut.minOutRaw`))}if(e.slippageOrMinOut.minOutRaw!==void 0&&(e.rawQuantities.some(t=>t.role===`minimum_output`&&t.rawAmount===e.slippageOrMinOut.minOutRaw)||t.addIssue({code:`custom`,path:[`slippageOrMinOut`,`minOutRaw`],message:`slippageOrMinOut.minOutRaw must match a minimum_output rawQuantities entry`})),e.slippageOrMinOut.policyEvidenceClaimId!==void 0){let n=d(e.slippageOrMinOut.policyEvidenceClaimId,`slippage_policy`,[`slippageOrMinOut`,`policyEvidenceClaimId`],`slippageOrMinOut.policyEvidenceClaimId`);n?.factKind===`slippage_policy`&&(Bi(t,e.slippageOrMinOut.policySource,n.policySource,[`slippageOrMinOut`,`policySource`],`slippageOrMinOut.policySource`),Bi(t,e.slippageOrMinOut.maxSlippageBps,n.maxSlippageBps,[`slippageOrMinOut`,`maxSlippageBps`],`slippageOrMinOut.maxSlippageBps`),n.policySource===`adapter_policy_from_quote_evidence`&&Bi(t,e.slippageOrMinOut.minOutRaw,n.minOutRaw,[`slippageOrMinOut`,`minOutRaw`],`slippageOrMinOut.minOutRaw`))}e.objectOwnership.objects.forEach((n,r)=>{let i=d(n.evidenceClaimId,`object_ownership`,[`objectOwnership`,`objects`,r,`evidenceClaimId`],`objectOwnership.objects[${r}].evidenceClaimId`);i?.factKind===`object_ownership`&&(Bi(t,n.objectId,i.objectId,[`objectOwnership`,`objects`,r,`objectId`],`objectOwnership.objects[${r}].objectId`),Bi(t,e.objectOwnership.ownerAccount,i.ownerAccount,[`objectOwnership`,`ownerAccount`],`objectOwnership.ownerAccount`),Bi(t,n.ownership,i.ownership,[`objectOwnership`,`objects`,r,`ownership`],`objectOwnership.objects[${r}].ownership`))});let p=d(e.simulation.evidenceClaimId,`simulation_result`,[`simulation`,`evidenceClaimId`],`simulation.evidenceClaimId`);p?.factKind===`simulation_result`&&(Bi(t,e.simulation.provider,p.provider,[`simulation`,`provider`],`simulation.provider`),Bi(t,e.simulation.checksEnabled,p.checksEnabled,[`simulation`,`checksEnabled`],`simulation.checksEnabled`),Bi(t,e.simulation.simulatedAt,p.simulatedAt,[`simulation`,`simulatedAt`],`simulation.simulatedAt`),Bi(t,e.simulation.status,p.status,[`simulation`,`status`],`simulation.status`),rge(t,e.simulation.requiredFields,p.requiredFields,[`simulation`,`requiredFields`],`simulation.requiredFields`),rge(t,e.simulation.missingFields,p.missingFields,[`simulation`,`missingFields`],`simulation.missingFields`),Bi(t,e.simulation.failureReason,p.failureReason,[`simulation`,`failureReason`],`simulation.failureReason`))}).superRefine((e,t)=>{let n=e.reviewedTransactionDigest;Bi(t,e.humanReadableReview.transactionDigest,n,[`humanReadableReview`,`transactionDigest`],`humanReadableReview.transactionDigest`),Bi(t,e.simulation.transactionDigest,n,[`simulation`,`transactionDigest`],`simulation.transactionDigest`)}),hge=P({contractVersion:jn(xi),artifactKind:jn(`ptb_visualization`),generatedAt:Ii,source:P({adapterId:N().min(1).max(120),planId:N().min(1).max(120).optional(),sourceKind:An([`review_time_generated_transaction_kind`,`review_time_ir`,`renderer_model`]),authority:jn(`visualization_only_not_wallet_authorization`),renderer:P({name:N().min(1).max(120),packageName:N().min(1).max(120).optional(),version:N().min(1).max(80).optional()}).strict().optional()}).strict(),mermaid:P({diagramType:jn(`flowchart`),text:$he(2e4,`mermaid.text`),namedText:$he(2e4,`mermaid.namedText`)}).strict(),diagnostics:wn(P({severity:An([`info`,`warning`,`error`]),code:N().min(1).max(120),message:$he(512,`diagnostics.message`),source:An([`adapter`,`renderer`,`schema`,`simulation`])}).strict()).default([]),unsupportedUse:wn(An(Mhe)).min(1),executableMaterial:P({included:jn(!1),policy:jn(`mcp_and_review_ui_outputs_must_not_include_executable_transaction_material`)}).strict()}).strict().superRefine((e,t)=>{nge(t,e.unsupportedUse,Mhe,[`unsupportedUse`],`unsupportedUse`)}),gge=kn(N(),Sn()),_ge=An(Ahe),vge=An(jhe);An([`ready_for_wallet_review`,`refresh_required`,`blocked`]);var yge=An(vi);An([`proposed`,`awaiting_wallet`,`wallet_connected`,`ready_for_wallet_review`,`refresh_required`,`blocked`,`expired`,`awaiting_signature`,`submitting`,`awaiting_chain_result`,`stopped`,`request_failed`,`outcome_unknown`,`completed`]);var bge=P({id:N(),label:N(),status:An([`pass`,`warning`,`fail`]),message:N(),source:An([`registry`,`quote`,`wallet`,`simulation`,`adapter`,`network`,`proposal`])}),xge=N().min(1),Gi=`human_readable_review`,Sge=`review_time_simulation`,Cge=P({stageCatalogId:N().min(1),adapterId:N(),protocol:N(),actionKind:N(),completedStages:wn(xge),missingStages:wn(xge)}).strict().superRefine((e,t)=>{let n=wge(e.completedStages);n&&t.addIssue({code:`custom`,path:[`completedStages`],message:`completedStages contains duplicate stage '${n}'`});let r=wge(e.missingStages);r&&t.addIssue({code:`custom`,path:[`missingStages`],message:`missingStages contains duplicate stage '${r}'`});for(let n of e.completedStages)e.missingStages.includes(n)&&t.addIssue({code:`custom`,path:[`missingStages`],message:`stage '${n}' cannot be both completed and missing`})});function wge(e){let t=new Set;for(let n of e){if(t.has(n))return n;t.add(n)}}var Ki=P({symbol:N(),amount:N(),coinType:N().optional(),approx:bn().optional()}).strict(),qi=Ki.extend({amountKind:jn(`display_intent`).default(`display_intent`)}),Tge=P({outgoing:wn(qi),expectedIncoming:wn(qi),minimumIncoming:wn(qi).optional(),fees:wn(qi).optional()}),Ege=P({outgoing:wn(Ki),expectedIncoming:wn(Ki),minimumIncoming:wn(Ki).optional(),fees:wn(Ki).optional()}),Dge=P({before:wn(Ki),after:wn(Ki),delta:wn(Ki)}),Oge=P({computationCostRaw:Qr(`computationCostRaw`),storageCostRaw:Qr(`storageCostRaw`),storageRebateRaw:Qr(`storageRebateRaw`),nonRefundableStorageFeeRaw:Qr(`nonRefundableStorageFeeRaw`)}).strict(),kge=P({address:Xr,coinType:N().min(1).max(512).refine(e=>{try{return $r(e)===e}catch{return!1}},`Expected a normalized Sui struct tag coin type`),amount:fme(`balanceChanges[].amount`)}).strict(),Age=P({objectId:Xr,objectType:N().min(1).max(512).optional(),inputState:N().min(1).max(80),outputState:N().min(1).max(80),idOperation:N().min(1).max(80)}).strict(),jge=P({provider:bi,checksEnabled:bn(),success:bn(),gasCostSummary:Oge.optional(),balanceChanges:wn(kge).optional(),objectChanges:wn(Age).optional(),error:N().optional()}),Ji=jge,Mge=jge.extend({checksEnabled:jn(!0),success:jn(!0),gasCostSummary:Oge,balanceChanges:wn(kge),objectChanges:wn(Age),error:Cn().optional()}).strict(),Nge=P({role:An([`input`,`expected_output`,`minimum_output`,`fee`]),symbol:N(),coinType:N().min(1).max(512).refine(e=>{try{return $r(e),!0}catch{return!1}},`Expected a Sui struct tag coin type`),decimals:yn().int().min(0).max(255),rawAmount:Qr(`rawAmount`),rawAmountSource:jn(`quote_policy_evidence`),displayAmount:N().optional(),displayAmountSource:jn(`user_display_intent_not_signing_input`).optional()}).strict().superRefine((e,t)=>{e.displayAmount!==void 0&&e.displayAmountSource===void 0&&t.addIssue({code:`custom`,path:[`displayAmountSource`],message:`displayAmountSource is required when displayAmount is present`}),e.displayAmount===void 0&&e.displayAmountSource!==void 0&&t.addIssue({code:`custom`,path:[`displayAmount`],message:`displayAmount is required when displayAmountSource is present`})}),Pge=P({role:An([`connected_account`,`output_recipient`]),address:Xr}).strict(),Fge=P({kind:jn(`swap_output_asset`),symbol:N(),coinType:N().min(1).max(512).refine(e=>{try{return $r(e),!0}catch{return!1}},`Expected a Sui struct tag coin type`),protocol:N(),poolKey:N(),direction:An([`base_to_quote`,`quote_to_base`])}).strict(),Yi=P({id:N(),label:N(),source:En([An([`registry`,`quote`,`wallet`,`simulation`,`adapter`,`network`,`proposal`]),An([`transaction_material`,`digest_commitment`])]),summary:N()}).strict(),Xi=P({id:N(),label:N(),reason:N()}).strict(),Ige=P({proposedAction:P({title:N(),summary:N(),actionKind:N(),adapterId:N(),protocol:N(),network:jn(`sui:mainnet`)}).strict(),recipients:wn(Pge),evidenceUsed:wn(Yi),missingEvidence:wn(Xi),requiredUserChoices:wn(Xi),unsupportedClaims:wn(Xi),freshness:P({status:jn(`current`),evaluatedAt:N(),expiresAt:N(),reason:N()}).strict(),blockingChecks:wn(bge)}).strict(),Lge=P({assetFlow:P({outgoing:wn(Nge),expectedIncoming:wn(Nge),minimumIncoming:wn(Nge),fees:wn(Nge)}).strict(),targets:wn(Fge)}).strict(),Rge=Dn(`kind`,[Ige.extend({kind:jn(`swap_human_readable_review`)}).merge(Lge)]),zge=P({id:N(),actionKind:N(),adapterId:N(),protocol:N(),title:N(),summary:N(),assetFlowPreview:Tge,reviewModel:khe.optional(),adapterData:gge,createdAt:N(),expiresAt:N().optional(),registryVersion:N().optional(),preliminaryChecks:wn(bge).optional()}),Bge=P({planId:N(),reviewSessionId:N(),account:Xr,checks:wn(bge),assetFlowActual:Ege.optional(),beforeAfterBalance:Dge.optional(),simulation:Ji.optional(),humanReadableReview:Rge.optional(),transactionReviewData:mge.optional(),ptbVisualization:hge.optional(),adapterLifecycle:Cge.optional(),updatedAt:N()}),Vge=Dn(`status`,[Bge.extend({status:jn(`ready_for_wallet_review`),evidenceValidity:Cn().optional(),blockedReason:Cn().optional(),refreshReason:Cn().optional()}),Bge.extend({status:jn(`refresh_required`),evidenceValidity:jn(`invalidated`).optional(),refreshReason:vge,blockedReason:Cn().optional()}),Bge.extend({status:jn(`blocked`),evidenceValidity:jn(`invalidated`).optional(),blockedReason:_ge,refreshReason:Cn().optional()})]).superRefine((e,t)=>{if(e.evidenceValidity===`invalidated`)for(let n of yi)e[n]!==void 0&&t.addIssue({code:`custom`,path:[n],message:`Invalidated review evidence cannot carry current material-derived facts`});let n=e.adapterLifecycle;if(n!==void 0&&Hge(e,t),e.humanReadableReview!==void 0&&n===void 0&&t.addIssue({code:`custom`,path:[`humanReadableReview`],message:`humanReadableReview requires adapterLifecycle evidence stage provenance`}),e.simulation!==void 0&&n===void 0&&t.addIssue({code:`custom`,path:[`simulation`],message:`simulation requires adapterLifecycle evidence stage provenance`}),e.ptbVisualization!==void 0){let e=n?.completedStages??[];e.includes(`transaction_material_build_or_verify`)&&e.includes(`digest_commitment`)||t.addIssue({code:`custom`,path:[`ptbVisualization`],message:`ptbVisualization requires completed transaction material and digest commitment lifecycle stages`})}let r=e.status===`ready_for_wallet_review`;e.transactionReviewData!==void 0&&!r&&t.addIssue({code:`custom`,path:[`transactionReviewData`],message:`transactionReviewData is only valid on ready_for_wallet_review`}),e.status===`ready_for_wallet_review`&&n!==void 0&&(e.transactionReviewData===void 0&&t.addIssue({code:`custom`,path:[`transactionReviewData`],message:`ready_for_wallet_review requires an emitted wallet review contract`}),(n===void 0||n.missingStages.length!==0)&&t.addIssue({code:`custom`,path:[`adapterLifecycle`],message:`ready_for_wallet_review requires a completed adapterLifecycle with no missing stages`}),e.humanReadableReview===void 0&&t.addIssue({code:`custom`,path:[`humanReadableReview`],message:`ready_for_wallet_review requires humanReadableReview public evidence`}),e.simulation===void 0&&t.addIssue({code:`custom`,path:[`simulation`],message:`ready_for_wallet_review requires successful simulation public evidence`})),e.status===`blocked`&&(e.blockedReason===`producer_stage_missing`&&n===void 0&&t.addIssue({code:`custom`,path:[`adapterLifecycle`],message:`producer_stage_missing requires adapterLifecycle with at least one missing stage`}),e.blockedReason===`producer_stage_missing`&&n!==void 0&&n.missingStages.length===0&&t.addIssue({code:`custom`,path:[`blockedReason`],message:`producer_stage_missing requires at least one adapterLifecycle.missingStages entry`}),e.blockedReason===`wallet_review_contract_emit_missing`&&e.transactionReviewData!==void 0&&t.addIssue({code:`custom`,path:[`transactionReviewData`],message:`wallet_review_contract_emit_missing requires the wallet review contract to be absent`}),e.blockedReason===`wallet_review_contract_emit_missing`&&n===void 0&&t.addIssue({code:`custom`,path:[`adapterLifecycle`],message:`wallet_review_contract_emit_missing requires adapterLifecycle`}),e.blockedReason===`wallet_review_contract_emit_missing`&&n!==void 0&&n.missingStages.length!==0&&t.addIssue({code:`custom`,path:[`blockedReason`],message:`wallet_review_contract_emit_missing requires a completed adapterLifecycle with no missing stages`}),e.blockedReason===`wallet_review_contract_emit_missing`&&e.evidenceValidity!==`invalidated`&&e.humanReadableReview===void 0&&t.addIssue({code:`custom`,path:[`humanReadableReview`],message:`wallet_review_contract_emit_missing requires humanReadableReview public evidence`}),e.blockedReason===`wallet_review_contract_emit_missing`&&e.evidenceValidity!==`invalidated`&&e.simulation===void 0&&t.addIssue({code:`custom`,path:[`simulation`],message:`wallet_review_contract_emit_missing requires simulation public evidence`}))});function Hge(e,t){let n=e.adapterLifecycle;n&&(e.humanReadableReview!==void 0&&Uge(t,n,Gi,[`humanReadableReview`]),e.simulation!==void 0&&(Uge(t,n,Sge,[`simulation`]),Uge(t,n,Gi,[`simulation`]),Wge(t,e.simulation,[`simulation`])),n.missingStages.includes(Sge)&&e.simulation!==void 0&&t.addIssue({code:`custom`,path:[`simulation`],message:`simulation public evidence cannot be present while review_time_simulation is missing`}),n.missingStages.includes(Gi)&&e.humanReadableReview!==void 0&&t.addIssue({code:`custom`,path:[`humanReadableReview`],message:`humanReadableReview public evidence cannot be present while human_readable_review is missing`}))}function Uge(e,t,n,r){t.completedStages.includes(n)||e.addIssue({code:`custom`,path:r,message:`${r.join(`.`)} requires completed adapterLifecycle stage '${n}'`}),t.missingStages.includes(n)&&e.addIssue({code:`custom`,path:r,message:`${r.join(`.`)} cannot be present while adapterLifecycle stage '${n}' is missing`})}function Wge(e,t,n){Mge.safeParse(t).success||e.addIssue({code:`custom`,path:n,message:`simulation public evidence requires a successful checks-enabled review-time simulation projection`})}var Gge=P({topic:N().min(1),accounts:wn(Xr).min(1),methods:wn(N()),chain:jn(wme),expiresAt:N().datetime(),walletName:N().optional()}).strict(),Kge=Dn(`status`,[P({topic:N().min(1),version:yn().int().positive(),status:jn(`present`),session:Gge}).strict(),P({topic:N().min(1),version:yn().int().positive(),status:An([`absent`,`unusable`])}).strict()]),qge=P({runId:ei,sequence:yn().int().positive(),observedAt:N().datetime()}).strict();qge.extend({sessions:wn(Kge)}).strict();var Jge=P({kind:jn(`wallet_service_recovery`),priorRunId:ei,admittedAt:N().datetime(),updatedAt:N().datetime()}),Yge=En([Jge.extend({phase:jn(`stopping`)}).strict(),Jge.extend({phase:jn(`starting`),nextRunId:ei}).strict(),Jge.extend({outcome:An([`available`,`failed`,`superseded`,`server_restarted`]),nextRunId:ei.optional(),message:N().optional()}).strict()]),Xge=`A wallet connection provides account context; it is not a transaction approval or proof of address ownership.`,Zi=`Review evidence is not a safety guarantee. Only an explicit card action and wallet approval may authorize this exact transaction.`,Zge=Ame.extend({pendingAction:jn(`disconnect`).optional()});An([`input_required`,`awaiting_approval`,`disconnect_pending`]);var Qge=P({action:jn(`connect`),walletRunId:ei}).strict(),$ge=P({action:jn(`disconnect`),walletRunId:ei,connectionId:N().min(1)}).strict(),e_e=P({action:jn(`use_account`),walletRunId:ei,connectionId:N().min(1),account:Xr}).strict(),Qi=P({action:An([`prepare_review`,`request_signature`]),connectionId:N().min(1),walletRunId:ei,account:Xr,reviewRevision:yn().int().nonnegative()}).strict(),t_e=En([Qge,$ge,e_e,Qi,P({action:An([`cancel`,`stop_connection`,`stop_waiting`,`read_result`])}).strict()]),$i=En([Qge,Qi.extend({action:jn(`prepare_review`)})]),n_e=P({kind:An([`connect`,`review`]),mode:An([`connect`,`review`,`review_manage`]),allowedActions:wn(An(Nme)),actionRemainingMs:yn().int().nonnegative(),nextStateReadAfterMs:yn().int().nonnegative().optional(),automaticAction:$i.optional(),observe:bn(),walletAvailability:Dme,walletObservation:qge.optional(),runtimeRecovery:Yge.optional(),connectionConflict:jme.optional(),manageableConnectionIds:wn(N().min(1)),connectionReconciliationRequired:jn(!0).optional(),usableConnectionId:N().min(1).optional(),assetReadAccount:Mme.optional(),acceptedWalletRunId:ei.optional(),progress:Ome,boundary:An([Xge,Zi]),connections:wn(Zge),activeAccount:N().optional(),connection:Zge.optional(),connectionAction:An([`connect`,`disconnect`]).optional(),review:P({reviewSessionId:N(),plan:zge,reviewRevision:yn().int().nonnegative(),status:yge,account:N().optional(),preparing:bn(),accountRequestPending:jn(!0).optional(),error:N().optional(),state:Vge.optional()}).strict().optional(),request:Cme.optional(),receipt:Sn().optional(),netGasMist:N().regex(/^-?[0-9]+$/).optional(),observationStopped:bn().optional()}).strict().superRefine((e,t)=>{let n=e.connections.find(t=>t.connectionId===e.usableConnectionId);e.usableConnectionId&&(!n||n.status!==`connected`||e.walletAvailability.status!==`available`||e.connectionConflict||e.connectionReconciliationRequired||e.connections.some(e=>e.pendingAction||e.status===`awaiting_approval`))&&t.addIssue({code:`custom`,path:[`usableConnectionId`],message:`The usable connection must match current connection facts.`}),(new Set(e.manageableConnectionIds).size!==e.manageableConnectionIds.length||e.manageableConnectionIds.some(t=>!e.connections.some(e=>e.connectionId===t&&!e.pendingAction&&e.status!==`awaiting_approval`)))&&t.addIssue({code:`custom`,path:[`manageableConnectionIds`],message:`Management must name distinct recorded targets without pending operations.`}),e.connectionReconciliationRequired&&(e.usableConnectionId||e.assetReadAccount?.status===`available`||e.allowedActions.some(e=>[`connect`,`use_account`,`prepare_review`,`request_signature`].includes(e)))&&t.addIssue({code:`custom`,path:[`connectionReconciliationRequired`],message:`Unrecorded SDK connections cannot authorize connection or account use.`}),e.assetReadAccount?.status===`available`&&(!n||!n.accounts.includes(e.assetReadAccount.account)||e.activeAccount!==e.assetReadAccount.account)&&t.addIssue({code:`custom`,path:[`assetReadAccount`],message:`The default address must belong to the usable connection and stored selection.`})});function r_e(e,t,n=!1){return e.connections.filter(r=>r.connectionId===e.usableConnectionId&&r.accounts.includes(t)&&(!n||r.methods.includes(`sui_signTransaction`)))}var i_e=`sui-mcp.local-data`,a_e=16777216,ea=N().uuid(),ta=yn().int().nonnegative().safe(),na=N().regex(/^[a-f0-9]{64}$/),ra=Dn(`status`,[P({status:jn(`no_file`)}).strict(),P({status:jn(`receiving`)}).strict(),P({status:jn(`checking`)}).strict(),P({status:jn(`check_required`),message:N().min(1)}).strict(),P({status:jn(`can_restore`)}).strict(),P({status:jn(`cannot_restore`),reason:An([`invalid_backup`,`file_unavailable`,`wallet_request_unsettled`,`operation_busy`,`input_unavailable`,`check_failed`]),message:N().min(1)}).strict()]);P({fileId:ea,sha256:na,totalSize:ta,dataEpoch:ta,userDataRevision:ta,check:ra}).strict();var o_e=Dn(`kind`,[P({kind:jn(`set_endpoint`),endpoint:An([`grpc`,`graphql`]),value:N().min(1)}).strict(),P({kind:jn(`restore_endpoint`),endpoint:An([`grpc`,`graphql`])}).strict(),P({kind:An([`clear_read_address`,`export_local_data`,`download_backup`,`import_local_data`,`reset_local_data`,`restart_wallet_service`])}).strict()]),s_e=An([`acknowledged`,`not_completed`,`unconfirmed`,`unsupported`]),c_e=P({method:jn(`ui/download-file`),code:jn(-32601)}).strict(),l_e=An([`acknowledged`,`cancelled`,`expired`,`server_restarted`,`data_replaced`,`source_unavailable`,`stored_locally`,`local_save_failed`]),u_e=P({device:N().regex(/^\d+$/),inode:N().regex(/^\d+$/)}).strict(),d_e=An([`not_published`,`target_conflict`,`source_unavailable`,`interrupted`]),f_e=P({status:An([`needs_consent`,`saving`,`saved`,`failed`]),attemptId:ea,fileId:ea,sha256:na,totalSize:ta,destination:N(),ownerId:N().min(1),currentSaveAttemptId:ea.optional(),attempts:wn(P({saveAttemptId:ea,previousSaveAttemptId:ea.optional(),admittedAt:N().datetime(),allowPossibleCopy:bn()}).strict()),sourceIdentity:u_e.optional(),savedAt:N().datetime().optional(),failure:d_e.optional()}).strict().superRefine((e,t)=>{(e.status===`needs_consent`?e.attempts.length!==0||e.currentSaveAttemptId!==void 0:!e.currentSaveAttemptId||!e.attempts.some(t=>t.saveAttemptId===e.currentSaveAttemptId))&&t.addIssue({code:`custom`,message:`A local save must identify its admitted attempt.`}),(new Set(e.attempts.map(e=>e.saveAttemptId)).size!==e.attempts.length||e.status===`saved`!=(e.savedAt!==void 0)||e.status===`saved`&&!e.sourceIdentity||e.status===`failed`!=(e.failure!==void 0))&&t.addIssue({code:`custom`,message:`Local save evidence must match its state.`})});P({currentAttemptId:ea,attempts:wn(P({attemptId:ea,admittedAt:N().datetime(),previousAttemptId:ea.optional(),hostReport:s_e.optional(),failure:c_e.optional()}).strict()).min(1),readyAt:N().datetime().optional(),expiresAt:N().datetime().optional(),endReason:l_e.optional(),localSave:f_e.optional()}).strict().superRefine((e,t)=>{(new Set(e.attempts.map(e=>e.attemptId)).size!==e.attempts.length||!e.attempts.some(t=>t.attemptId===e.currentAttemptId)||e.readyAt===void 0!=(e.expiresAt===void 0))&&t.addIssue({code:`custom`,message:`Download attempts and lifetime must identify one stored snapshot.`}),(e.endReason===`stored_locally`&&e.localSave?.status!==`saved`||e.endReason===`local_save_failed`&&e.localSave?.status!==`failed`||e.attempts.some(e=>e.hostReport===`unsupported`!=(e.failure!==void 0))||e.localSave&&(e.localSave.attemptId!==e.currentAttemptId||!e.attempts.some(t=>t.attemptId===e.currentAttemptId&&t.hostReport===`unsupported`)||e.localSave.status===`saving`&&e.endReason!==void 0||e.localSave.status===`saved`!=(e.endReason===`stored_locally`)))&&t.addIssue({code:`custom`,message:`Local saving requires the current download's unsupported report.`})});var p_e=An([`settings_retry_download`,`settings_report_download`,`settings_cancel_download`,`settings_store_backup`]),m_e=Dn(`action`,[P({action:jn(`settings_download_backup`),operationId:ea,attemptId:ea}).strict(),P({action:jn(`settings_retry_download`),operationId:ea,fileId:ea,previousAttemptId:ea,attemptId:ea}).strict(),P({action:jn(`settings_report_download`),operationId:ea,fileId:ea,attemptId:ea,status:s_e,failure:c_e.optional()}).strict().refine(e=>e.status===`unsupported`==(e.failure!==void 0),`Only unsupported downloads require the exact method failure.`),P({action:jn(`settings_store_backup`),operationId:ea,fileId:ea,attemptId:ea,saveAttemptId:ea,previousSaveAttemptId:ea.optional(),allowPossibleCopy:bn()}).strict(),P({action:jn(`settings_cancel_download`),operationId:ea,fileId:ea,attemptId:ea}).strict(),P({action:jn(`settings_select`),draft:o_e}).strict(),P({action:jn(`settings_prepare`),operationId:ea}).strict(),P({action:jn(`settings_begin_upload`),operationId:ea,name:N().min(1),totalSize:ta.max(a_e),sha256:na}).strict(),P({action:jn(`settings_upload_chunk`),operationId:ea,fileId:ea,offset:ta.max(a_e),chunkBase64:N()}).strict(),P({action:jn(`settings_seal_upload`),operationId:ea,fileId:ea}).strict(),P({action:jn(`settings_confirm`),operationId:ea,preparationId:ea}).strict(),P({action:jn(`settings_back`),operationId:ea}).strict(),P({action:jn(`settings_cancel`)}).strict()]),h_e=P({outcome:An([`completed`,`failed`,`interrupted`,`superseded`]),recordedAt:N().datetime(),message:N().min(1),details:kn(N(),Sn()).optional(),completionScope:jn(`backup_snapshot`).optional()}).strict(),g_e=P({storedValue:N(),effectiveValue:N(),source:An([`environment`,`local_db`,`builtin_default`]),pendingStoredValue:N().optional(),appliesAfter:jn(`mcp_server_restart`).optional()}).strict(),__e=P({endpoint:An([`grpc`,`graphql`]),key:An([`suiGrpcUrl`,`suiGraphqlUrl`]),value:N().min(1),status:An([`saved`,`reset`]),storedValue:N(),effectiveValue:N(),source:g_e.shape.source}).strict().refine(e=>e.key===(e.endpoint===`grpc`?`suiGrpcUrl`:`suiGraphqlUrl`),`The endpoint kind and preference key must agree.`),ia=yn().int().nonnegative().safe(),L=P({accounts:ia,reviewSessions:ia,reviewStateSnapshots:ia,reviewStatusTransitions:ia,reviewExecutions:ia,reviewRequests:ia,outcomeUnknownRequests:ia,externalActivityScans:ia,externalActivityTransactions:ia,localSettings:ia}).strict(),aa=P({status:jn(`valid`),format:jn(i_e),network:jn(`mainnet`),exportedAt:N().datetime(),currentCounts:L,incomingCounts:L,willReplace:jn(!0),activeAccountChange:An([`unchanged`,`set`,`cleared`]),currentReadAddress:Xr.nullable(),incomingReadAddress:Xr.nullable(),restartRequiredAfterImport:bn()}).strict(),v_e=P({kind:jn(`settings`),operationId:ea,phase:An([`draft`,`uploading`,`sealed`,`prepared`,`executing`,`stopping`,`starting`,`terminal`]),draft:o_e.optional(),preparationId:ea.optional(),preparation:kn(N(),Sn()).optional(),file:P({fileId:ea,displayName:N(),totalSize:ta,receivedSize:ta,sha256:na,sealed:bn(),cleanup:An([`pending`,`complete`,`failed`])}).strict().optional(),download:P({availability:An([`preparing`,`available`,`ended`]),currentAttemptId:ea,hostReport:s_e.optional(),previousUnconfirmed:bn(),endReason:l_e.optional(),expiresAt:N().datetime().optional(),remainingMs:ta.optional(),localSave:P({status:An([`needs_consent`,`saving`,`saved`,`failed`]),currentSaveAttemptId:ea.optional(),failure:d_e.optional(),savedAt:N().datetime().optional()}).strict().optional(),allowedFileActions:wn(p_e)}).strict().optional(),restoreCheck:ra.optional(),backupLocation:P({directory:N().min(1),filename:N().min(1)}).strict().optional(),result:h_e.optional(),temporaryFileCleanup:An([`pending`,`complete`,`failed`]).optional(),priorRunId:ea.optional(),nextRunId:ea.optional(),supersedesOperationId:ea.optional(),supersededByOperationId:ea.optional(),allowedActions:wn(An(m_e.options.map(e=>e.shape.action.value))),observe:bn(),facts:P({server:P({name:N(),version:N(),network:jn(`mainnet`)}).strict(),localSettings:P({suiGrpcUrl:g_e,suiGraphqlUrl:g_e}).strict(),readAddress:N().optional(),assetReadAccount:Mme,walletAvailability:Dme,connectionReconciliationRequired:jn(!0).optional(),observedAt:N().datetime().optional(),counts:L}).strict().optional()}).strict().superRefine((e,t)=>{if(e.download&&(e.draft?.kind!==`download_backup`||!e.file||e.download.availability===`available`&&(!e.file.sealed||!e.result||e.download.endReason||!e.download.expiresAt)||e.download.availability===`ended`&&!e.download.endReason)&&t.addIssue({code:`custom`,message:`Download delivery must describe its own snapshot and lifetime.`}),e.draft?.kind===`download_backup`&&e.preparation!==void 0&&t.addIssue({code:`custom`,message:`Private download preparation is not public preparation data.`}),e.restoreCheck&&(e.draft?.kind!==`import_local_data`||e.result)&&t.addIssue({code:`custom`,message:`Restore checks belong to an uncompleted import preparation.`}),e.restoreCheck?.status===`can_restore`&&(e.phase!==`prepared`||!e.file?.sealed||!e.allowedActions.includes(`settings_confirm`))&&t.addIssue({code:`custom`,message:`Restore availability requires a sealed file and current confirmation.`}),e.draft?.kind===`import_local_data`&&e.restoreCheck?.status!==`can_restore`&&e.allowedActions.includes(`settings_confirm`)&&t.addIssue({code:`custom`,message:`An unchecked or blocked import cannot offer confirmation.`}),e.restoreCheck?.status===`receiving`&&(!e.file||e.file.sealed||![`draft`,`uploading`].includes(e.phase))&&t.addIssue({code:`custom`,message:`Receiving requires the selected unsealed upload.`}),e.restoreCheck?.status===`check_required`&&(!e.file?.sealed||e.phase!==`sealed`)&&t.addIssue({code:`custom`,message:`A new check requires the same complete sealed upload.`}),e.restoreCheck?.status===`cannot_restore`&&e.restoreCheck.reason===`invalid_backup`&&(e.phase===`prepared`||e.allowedActions.includes(`settings_prepare`))&&t.addIssue({code:`custom`,message:`A rejected backup requires an explicit new selection.`}),e.backupLocation&&(e.result?.outcome!==`completed`||e.draft?.kind!==`export_local_data`&&(e.draft?.kind!==`download_backup`||e.download?.localSave?.status!==`saved`||e.download.endReason!==`stored_locally`))&&t.addIssue({code:`custom`,message:`A backup location requires its recorded successful export.`}),e.download?.localSave?.status===`saved`&&!e.backupLocation&&t.addIssue({code:`custom`,message:`A saved backup must identify its verified location.`}),e.draft?.kind===`export_local_data`&&e.result?.outcome===`completed`&&typeof e.result.details?.path==`string`&&!e.backupLocation&&t.addIssue({code:`custom`,message:`A recorded backup path must provide its folder and file name.`}),e.temporaryFileCleanup&&!e.result&&t.addIssue({code:`custom`,message:`Cleanup of an applied or ended operation requires its recorded result.`}),(e.phase===`terminal`!=(e.result!==void 0)||e.phase===`terminal`&&(e.observe||e.allowedActions.length))&&t.addIssue({code:`custom`,message:`A terminal Settings result cannot grant input or observation.`}),e.phase===`prepared`&&(!e.preparationId||!e.draft||!e.preparation)&&t.addIssue({code:`custom`,message:`Settings confirmation requires a prepared identity and facts.`}),e.phase===`prepared`&&e.draft?.kind===`import_local_data`&&!aa.safeParse(e.preparation?.preview).success&&t.addIssue({code:`custom`,path:[`preparation`,`preview`],message:`Import confirmation requires the validated current and incoming read context and record counts.`}),e.phase===`prepared`&&(e.draft?.kind===`set_endpoint`||e.draft?.kind===`restore_endpoint`)){let n=__e.safeParse(e.preparation?.endpoint);(!n.success||n.data.endpoint!==e.draft.endpoint||n.data.status!==(e.draft.kind===`set_endpoint`?`saved`:`reset`)||e.draft.kind===`set_endpoint`&&n.data.value!==e.draft.value)&&t.addIssue({code:`custom`,path:[`preparation`,`endpoint`],message:`Endpoint confirmation must name its exact prepared target.`})}e.file&&e.file.receivedSize>e.file.totalSize&&t.addIssue({code:`custom`,message:`Received content exceeds the selected file.`})}),y_e=65536;function b_e(e){return new TextEncoder().encode(JSON.stringify(e)).length}function x_e(e){let t=y_e-b_e(e);return t>0?3*Math.floor(t/4):0}function S_e(e){if(!e||typeof e!=`object`)return;let t=structuredClone(e);if(t.method===`tools/call`&&t.params?.name===`ui_act_card`&&t.params.arguments?.input?.action===`settings_upload_chunk`)return t.id=2**53-1,t.params.arguments.revision=2**53-1,t.params.arguments.input.offset=a_e,t.params.arguments.input.chunkBase64=``,x_e(t)}var oa={uiOpenAccount:`ui_open_account`,uiOpenReceipt:`ui_open_receipt`,uiOpenChart:`ui_open_chart`,uiReadCard:`ui_read_card`,uiSubmitCard:`ui_submit_card`,uiActCard:`ui_act_card`,uiReadSettingsFile:`ui_read_settings_file`,sessionOpenReviewManagement:`session_open_review_management`,readGetServerStatus:`read_get_server_status`,readListSupportedProtocols:`read_list_supported_protocols`,readListDeepbookPools:`read_list_deepbook_pools`,readListDeepbookTokens:`read_list_deepbook_tokens`,readInspectDeepbookOrderbook:`read_inspect_deepbook_orderbook`,readGetDeepbookMidPrice:`read_get_deepbook_mid_price`,readGetDeepbookUsdcPriceHistory:`read_get_deepbook_usdc_price_history`,readGetDeepbookUsdcPriceAtTime:`read_get_deepbook_usdc_price_at_time`,readQuoteDeepbookAction:`read_quote_deepbook_action`,readQuoteDeepbookDisplayAmount:`read_quote_deepbook_display_amount`,readSummarizeDeepbookAccountInventory:`read_summarize_deepbook_account_inventory`,readSummarizeWalletAssets:`read_summarize_wallet_assets`,readClassifyWalletAssets:`read_classify_wallet_assets`,readListSettlementAssetGroups:`read_list_settlement_asset_groups`,readSummarizeSettlementAssetGroupParity:`read_summarize_settlement_asset_group_parity`,readPreviewIntentEvidence:`read_preview_intent_evidence`,readListReviewActivity:`read_list_review_activity`,readSummarizeReviewFunnel:`read_summarize_review_funnel`,readGetReviewSessionDetail:`read_get_review_session_detail`,readInspectSuiTransaction:`read_inspect_sui_transaction`,readScanSuiAccountActivity:`read_scan_sui_account_activity`,readSummarizeSuiActivityScan:`read_summarize_sui_activity_scan`,readScanSuiFunctionActivity:`read_scan_sui_function_activity`,readSummarizeSuiFunctionActivityScan:`read_summarize_sui_function_activity_scan`,readSummarizeSuiAccountActivity:`read_summarize_sui_account_activity`,readGetAccountAssetTimeline:`read_get_account_asset_timeline`,settingsCreateLocalSettingsSession:`settings_create_local_settings_session`,settingsGetLocalSettings:`settings_get_local_settings`,actionStartReview:`action_start_review`,actionCreateProposalReview:`action_create_proposal_review`,sessionOpenWalletConnectionCard:`session_open_wallet_connection_card`,sessionGetWalletConnectionCard:`session_get_wallet_connection_card`,sessionWaitWalletConnectionCard:`session_wait_wallet_connection_card`,sessionGetInteractionStatus:`session_get_interaction_status`,sessionGetReviewStatus:`session_get_review_status`,sessionGetExecutionResult:`session_get_execution_result`,sessionWaitExecutionResult:`session_wait_execution_result`,accountGetActiveAccount:`account_get_active_account`},C_e=P({connectionId:N().min(1),pairingUri:N().startsWith(`wc:`),expiresAt:N().datetime()}).strict(),w_e=An([`account`,`receipt`,`chart`,`connect`,`review`,`settings`]),sa=P({cardId:N().min(1),kind:w_e,state:An([`ready`,`running`,`closed`]),revision:yn().int().nonnegative(),createdAt:N().datetime(),expiresAt:N().datetime(),input:kn(N(),Sn()),data:Sn().optional(),reason:An([`completed`,`expired`,`failed`,`server_restarted`,`cancelled`]).optional(),error:N().optional()}).strict().extend({pollAfterMs:yn().int().positive(),inputRemainingMs:yn().int().nonnegative()}),ca=P({transactionDigest:N().min(1),pureInputs:wn(P({index:yn().int().nonnegative(),bytes:N().regex(/^0x(?:[0-9a-f]{2})*$/i)}).strict()).refine(e=>new Set(e.map(e=>e.index)).size===e.length,`Duplicate input index.`),ptbGraph:P({mermaid:P({text:N(),namedText:N()}).strict()}).strict().optional()}).strict(),la=`sui-mcp/card`,T_e=`sui-mcp/receipt-display`,ua=`sui-mcp/wallet-display`,da=`sui-mcp/settings-file`,fa=`suimcp://cards/`,pa=Dn(`kind`,[P({kind:jn(`account`),status:jn(`input_required`),field:jn(`account`),message:N().min(1)}).strict(),P({kind:jn(`receipt`),status:jn(`input_required`),field:jn(`digest`),message:N().min(1)}).strict()]),ma=P({cardId:N().min(1),permission:N().min(1)}).strict();ma.extend({revision:yn().int().nonnegative(),input:kn(N(),Sn())}).strict();var E_e=ca.extend({cardId:N().min(1),revision:yn().int().nonnegative(),attemptId:N().min(1).optional()}),ha=C_e.extend({cardId:N().min(1),revision:yn().int().nonnegative()}),ga=P({attemptId:N().uuid().optional(),cardId:N().min(1),operationId:N().uuid(),fileId:N().uuid(),offset:yn().int().nonnegative().safe(),totalSize:yn().int().nonnegative().safe(),sha256:N().regex(/^[a-f0-9]{64}$/),chunkBase64:N()}).strict(),_a={account:oa.uiOpenAccount,receipt:oa.uiOpenReceipt,chart:oa.uiOpenChart,read:oa.uiReadCard,submit:oa.uiSubmitCard,act:oa.uiActCard,readSettingsFile:oa.uiReadSettingsFile};function va(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function ya(e){return e.kind!==`import_local_data`}function ba(e,t,n){if(e.kind!==`settings`||t.kind!==`settings`||e.cardId!==t.cardId||t.state!==`ready`)return;let r=v_e.safeParse(e.data),i=v_e.safeParse(t.data);if(!r.success||!i.success)return;let a=r.data,o=i.data,s=o.draft;if(!s||!a.draft||a.operationId!==o.operationId||n.operationId!==o.operationId||JSON.stringify(a.draft)!==JSON.stringify(s))return;if(ya(s))return n.action===`settings_prepare`?{kind:`preparation_response`,cardId:t.cardId,operationId:o.operationId,draft:s}:void 0;let l=o.file?.fileId;if(!(!l||!a.file?.fileId||a.file.fileId!==l||n.action!==`settings_prepare`&&n.action!==`settings_seal_upload`||n.action===`settings_seal_upload`&&n.fileId!==l))return{kind:`backup_check_response`,cardId:t.cardId,operationId:o.operationId,fileId:l,action:n.action}}function D_e(e){return Object.keys(e).filter(t=>e[t]!==void 0)}function O_e(e,t){if(e===t)return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,n)=>O_e(e,t[n]));let n=va(e),r=va(t);if(!n||!r)return!1;let i=D_e(n);return i.length===D_e(r).length&&i.every(e=>Object.hasOwn(r,e)&&O_e(n[e],r[e]))}function k_e(e,t=!0){let n=va(e);if(!n)throw Error(`The app did not provide a usable card response.`);let r=()=>Error(`The app provided inconsistent card response information.`),i,a=e=>{let t=va(e);if(!t||typeof t.ok!=`boolean`||i&&!O_e(i,t))throw r();i=t};n.structuredContent!==void 0&&a(n.structuredContent);let o,s;if(Array.isArray(n.content))for(let e of n.content){let n=va(e);if(n?.type!==`text`||typeof n.text!=`string`)continue;let i;try{i=va(JSON.parse(n.text))}catch{continue}if(i){if(i.ok!==void 0)a(i);else if(Array.isArray(i.content)){if(!t||o)throw r();let n=bce.safeParse(i);if(!n.success)throw r();o=k_e(n.data,!1),s=e,o.structuredContent!==void 0&&a(o.structuredContent)}}}let l=Object.create(null),u=!1;for(let e of[n._meta,o?._meta]){if(e===void 0)continue;let t=va(e);if(!t)throw r();for(let e of D_e(t)){let n=t[e];if(Object.hasOwn(l,e)&&!O_e(l[e],n))throw r();l[e]=n}u=!0}if(n.isError!==void 0&&typeof n.isError!=`boolean`||o?.isError!==void 0&&n.isError!==void 0&&o.isError!==n.isError||(n.isError===!0||o?.isError===!0)&&i?.ok===!0)throw r();return{...o,...n,...o?{content:[...Array.isArray(n.content)?n.content.filter(e=>e!==s):[],...Array.isArray(o.content)?o.content:[]]}:{},...i?{structuredContent:i}:{},...u?{_meta:l}:{}}}function A_e(e,t){let n=va(va(e?.data)?.request);return!!e&&(e.kind===`receipt`||e.kind===`review`)&&t.cardId===e.cardId&&t.revision===e.revision&&t.transactionDigest===(e.kind===`receipt`?e.input.digest:n?.transactionDigest)&&(e.kind!==`review`||t.attemptId===n?.attemptId)}function xa(e){let t;for(let n of Array.isArray(e.content)?e.content:[]){let e=va(n),r;if(e?.type===`resource_link`&&typeof e.uri==`string`&&e.uri.startsWith(`suimcp://cards/`)&&(r=e.uri),e?.type===`text`&&typeof e.text==`string`){let t=/^\[Resource link: card_([A-Za-z0-9_-]+)\] (suimcp:\/\/cards\/([A-Za-z0-9_-]+)) \(Saved data for this exact card\.\)$/.exec(e.text);if(!t&&e.text.startsWith(`[Resource link:`)&&e.text.includes(`suimcp://cards/`))throw Error(`The saved card links could not be matched to one card.`);if(t){if(t[1]!==t[3])throw Error(`The saved card links could not be matched to one card.`);r=t[2]}}if(r===void 0)continue;let i=r.slice(fa.length);if(!i||encodeURIComponent(i)!==i||t!==void 0&&i!==t||e?.type===`resource_link`&&typeof e.name==`string`&&e.name.startsWith(`card_`)&&e.name!==`card_${i}`)throw Error(`The saved card links could not be matched to one card.`);t=i}return t}function Sa(e){let t=va(e.structuredContent),n=t?.ok===!0?pa.safeParse(t.data):void 0,r=va(va(t?.error)?.details),i=n?.success?void 0:t?.ok===!0?va(t.data)?.card??t.data:r?.snapshot,a=i===void 0?void 0:sa.parse(i);a?.kind===`settings`&&v_e.parse(a.data);let o=va(e._meta)?.[T_e],s=o===void 0?void 0:E_e.parse(o);if(s&&!A_e(a,s))throw Error(`Transaction details do not match this saved result.`);let l=va(e._meta)?.[ua],u=l===void 0?void 0:ha.parse(l);if(u&&(!a||a.kind!==`connect`||u.cardId!==a.cardId||u.revision!==a.revision||u.connectionId!==va(va(a.data)?.connection)?.connectionId))throw Error(`The connection QR code does not match this card.`);return{snapshot:a,display:s,wallet:u,inputRequired:n?.success?n.data:void 0,error:typeof r?.message==`string`?r.message:typeof r?.reason==`string`?r.reason:void 0}}function j_e(e,t){let n=document.getElementById(`app`);if(!n)throw Error(`Card root is unavailable.`);let r=document.createElement(`h1`);r.textContent=t.title;let i=document.createElement(`p`);i.className=`ui-note`,i.setAttribute(`role`,`status`);let a=document.createElement(`p`);a.className=`ui-error`,a.setAttribute(`role`,`alert`);let o=document.createElement(`p`);o.className=`ui-note card-guidance`;let s=document.createElement(`section`),l=document.createElement(`div`);l.className=`card-actions`;let u=document.createElement(`div`);u.className=`card-progress-hint`,u.hidden=!0,n.replaceChildren(r,i,a,s,o,u,l);let d=new Hfe({name:`sui-mcp-card`,version:`0.7.0`},{},{autoResize:!0,strict:!0}),f=new AbortController,p=e===`connect`||e===`review`,m=e===`settings`,h=p||m,g=!1,_,v,y,b,x,S,C,w=!1,T=!1,E,D,O={status:`unconfirmed`},k,A,j,M,ee,te=`continue`,ne,re,ie=0,ae=0,oe,se,ce,le,ue,de,fe,pe,me=!1;function he(){if(!M||!b)return;let{input:e,basis:t}=M,n=va(b.data),r=va(t.data),i=va(n?.request),a=va(n?.review),o=va(n?.connection),s=va(r?.request),l=va(r?.connection),u=!!i&&i.attemptId===s?.attemptId,d=!!o&&o.connectionId===l?.connectionId;if(!p)return b.state===`running`||b.reason===`completed`?M.delivery===`rejected`?`past`:`observed`:b.state===`closed`?`past`:`active`;if(e.walletRunId&&e.walletRunId!==va(n?.walletAvailability)?.walletRunId&&e.walletRunId!==n?.acceptedWalletRunId)return`past`;switch(e.action){case`connect`:if(b.state!==`ready`&&o)return`observed`;if(n?.walletAvailability&&va(n.walletAvailability)?.status===`available`&&Array.isArray(n.connections)&&n.connections.some(e=>va(e)?.status===`connected`))return`past`;break;case`prepare_review`:if(typeof a?.reviewRevision==`number`&&typeof e.reviewRevision==`number`&&a.reviewRevision>e.reviewRevision)return a.account===e.account?`observed`:`past`;break;case`request_signature`:if(i?.account===e.account&&i?.reviewRevision===e.reviewRevision)return`observed`;if(typeof a?.reviewRevision==`number`&&typeof e.reviewRevision==`number`&&a.reviewRevision>e.reviewRevision||!i&&a&&a.reviewRevision===e.reviewRevision&&a.account===e.account&&a.status===`refresh_required`&&va(a.state)?.refreshReason===`review_evidence_stale`&&Array.isArray(n?.allowedActions)&&n.allowedActions.includes(`prepare_review`))return`past`;break;case`cancel`:if(b.reason===`cancelled`)return`observed`;break;case`disconnect`:if(o&&o.connectionId===e.connectionId&&(o.pendingAction===`disconnect`||b.state!==`ready`&&o.status===`disconnected`))return`observed`;break;case`use_account`:if(b.reason===`completed`&&n?.activeAccount===e.account&&o?.connectionId===e.connectionId)return`observed`;break;case`stop_connection`:if(d&&o?.status===`stopped`)return`observed`;if(d&&o?.status!==`awaiting_approval`)return`past`;break;case`stop_waiting`:if(u&&(i?.requestStatus===`stopped`||n?.observationStopped===!0))return`observed`;if(u&&[`completed`,`request_failed`,`outcome_unknown`].includes(String(i?.requestStatus)))return`past`;break;case`read_result`:if(u&&(n?.observe===!0||i?.requestStatus===`completed`))return`observed`;if(u&&[`stopped`,`request_failed`].includes(String(i?.requestStatus)))return`past`}return ge()||typeof n?.actionRemainingMs==`number`&&n.actionRemainingMs<=0||[`connect`,`disconnect`,`use_account`,`cancel`,`prepare_review`,`request_signature`].includes(String(e.action))&&(b.state!==`ready`||a?.status===`expired`)?`past`:`active`}function ge(){let e=t_e.safeParse(M?.input);if(!e.success||e.data.action!==`disconnect`&&e.data.action!==`use_account`)return!1;let t=e.data,n=n_e.safeParse(b?.data);if(!n.success)return!1;let r=n.data.connections.find(e=>e.connectionId===t.connectionId);return r?t.action===`disconnect`?n.data.walletAvailability.status===`available`&&!r.pendingAction&&!n.data.manageableConnectionIds.includes(t.connectionId)&&[`disconnected`,`failed`,`rejected`,`stopped`,`expired`].includes(r.status):[`disconnected`,`failed`,`rejected`,`stopped`,`expired`].includes(r.status)||t.action===`use_account`&&r.status===`connected`&&!r.accounts.includes(t.account):!1}function _e(){if(!M)return;let e=he();e&&M.disposition!==`observed`&&(e!==`active`||M.disposition===`active`)&&(M.disposition=e),M.disposition===`observed`&&(M.retryRequired=!1)}function ve(){let e=$i.safeParse(va(b?.data)?.automaticAction);return M?.retryRequired&&e.success&&M.input.action===e.data.action?e.data:void 0}function ye(e){let t={connect:`connection request`,prepare_review:`review update`,request_signature:`wallet approval request`,read_result:`transaction status check`,cancel:`cancellation request`,stop_connection:`request to stop connecting`,stop_waiting:va(va(e.basis.data)?.request)?.requestStatus===`awaiting_signature`?`request to stop wallet approval`:`request to stop checking the result`,disconnect:`wallet disconnect request`,use_account:`account selection`};return p?t[String(e.input.action)]??`request`:`data request`}function be(e){if(e!==`past`||!M)return;let t=ye(M),n=M.input.action===`read_result`&&va(va(b?.data)?.request)?.requestStatus===`outcome_unknown`?` To check this transaction again, ask to open its result in chat.`:``;return`Message from an earlier ${t}: “${M.message}”${n}`}let xe,Se;function Ce(){let t=va(b?.data),n=m?va(t?.download):void 0,r=Array.isArray(n?.allowedFileActions)?n.allowedFileActions:[],i=[...Array.isArray(t?.allowedActions)?t.allowedActions:[],...r.filter(e=>e===`settings_report_download`||xe===void 0||Date.now()<xe)],a=e===`review`&&t?.mode===`review`&&!t.request&&!!_&&b?.state===`ready`,o=a&&oe!==void 0&&Date.now()>=oe,s=document.visibilityState!==`hidden`,l=f.signal.aborted||O.status===`rejected`,u=O.status===`confirmed`,d=M?.disposition,y=d===`active`,x=M?.retryRequired===!0,S=M?.input.action===`request_signature`&&d===`active`,C=te===`paused`,T=de?.pending?.()===!0,E=de?.displayRecovery?.(),ie=u&&!l&&!A&&!T&&!o&&!!_,se=ie&&!ee&&!g&&(!h||!(ne&&(y||x||C))),ce=$i.safeParse(t?.automaticAction),le=m?va(n?.localSave):void 0,ue=!!b&&(h?t?.observe===!0||le?.status===`saving`:b.state===`running`),fe=!!v&&w&&!l&&!ne&&s&&(re===`explicit`||O.status!==`read_failed`&&(re===`background`||O.status===`needed`&&O.automatic)),pe=s&&ie&&!k&&!ne&&!re&&!ee&&!x&&!S&&!C&&p&&ce.success&&i.includes(ce.data.action)?ce.data:void 0,me=va(t?.restoreCheck),he=m&&ie&&b?.state===`ready`&&!ee&&!g&&!t?.result&&t?.observe!==!0&&(me?.status===`cannot_restore`&&[`operation_busy`,`wallet_request_unsettled`].includes(String(me.reason))||!i.includes(`settings_select`)||!i.includes(`settings_download_backup`)||t?.phase===`prepared`&&!i.includes(`settings_confirm`)||t?.phase===`draft`&&va(t.draft)?.kind!==void 0&&va(t.draft)?.kind!==`import_local_data`&&!i.includes(`settings_prepare`)),ge;!l&&v&&(O.status===`read_failed`||k||O.status===`unconfirmed`?ge=`read`:O.status===`needed`?O.automatic||(ge=`read`):A||E||m&&[`pending`,`failed`].includes(String(t?.temporaryFileCleanup))||le?.status===`saving`||le?.status===`needs_consent`&&!i.includes(`settings_store_backup`)||le?.status===`failed`&&le.failure===`not_published`&&!n?.endReason&&!i.includes(`settings_store_backup`)||he?ge=`read`:_?va(t?.progress)?.status===`unavailable`||va(t?.walletAvailability)?.status===`initializing`&&va(t?.walletAvailability)?.stage===`state_sync`?ge=`read`:!C&&ve()?ge=`retry`:y&&!ue&&!(C&&i.length>0)&&!(M?.input.action===`prepare_review`&&i.includes(`prepare_review`)&&t?.automaticAction===void 0)&&p&&(ge=`read`):(b?.state!==`closed`||A)&&(ge=`read`));let _e=p?t?.actionRemainingMs:b?.inputRemainingMs;ge===`retry`&&o&&(ge=`read`);let Se=p?t?.nextStateReadAfterMs:m&&xe!==void 0?Math.max(0,xe-ae):void 0,Ce=[(p?i.length>0:b?.state===`ready`)?_e:void 0,Se].filter(e=>typeof e==`number`&&Number.isFinite(e)&&e>0),we=!l&&!!_&&s&&!D&&!k&&O.status!==`read_failed`,Te=va(t?.review),Ee=a&&!l&&!k&&!A&&!y&&!x&&!C&&O.status!==`read_failed`&&(T||ee?.input.action===`prepare_review`||Te?.preparing===!0||ce.success&&ce.data.action===`prepare_review`||O.status===`needed`&&Te?.status===`ready_for_wallet_review`);return{current:u,inputEnabled:se,permitted:i,disposition:d,read:fe,auto:pe,recover:ge,paused:C,partialDisplayFailure:E,settingsInputBlocked:he,reviewUpdatePending:Ee,reviewCommandDeliveryFailed:y&&M?.input.action===`prepare_review`,reviewHint:o?void 0:Ee?T||Te?.preparing||ee?.input.action===`prepare_review`?`Updating review…`:`Checking status…`:a&&va(Te?.state)?.refreshReason===`review_evidence_stale`?`Review details are out of date.`:void 0,errors:[O.status===`rejected`?O.message:O.status===`read_failed`?`This card's status could not be checked. Reported message: “${O.message}”`:void 0,k&&O.status!==`rejected`?`This card could not be opened. Reported message: “${k}”`:void 0,y&&M?`Message for this ${ye(M)}: “${M.message}”`:void 0,A,E?.message],note:[j,be(d)].filter(Boolean).join(` `),expiryAt:we&&u&&Ce.length?ae+Math.min(...Ce):void 0,poll:we&&(ue||O.status===`needed`&&!O.automatic),lifetimeAt:!l&&s&&a?oe:void 0}}function we(e){return e.recover===`retry`?M?.input.action===`connect`?`Retry connection`:`Retry review`:e.recover===`read`?`Check status`:void 0}function Te(e){if(f.signal.aborted)return``;let n=e.errors.some(Boolean)||e.recover!==void 0||!!b&&!_&&b.state!==`closed`||b?.state===`closed`&&b.reason!==`completed`,r=e.errors.some(Boolean)||O.status!==`confirmed`||e.recover===`retry`||e.settingsInputBlocked;if(n&&r&&O.status!==`rejected`){if(ne||e.read)return`Checking status…`;let t=we(e);if(t)return t===`Check status`?A||e.partialDisplayFailure?`Use Check status to read this card and try displaying it again.`:`Use Check status to read this card again.`:t===`Retry connection`?`Use Retry connection to try connecting your wallet again.`:`Use Retry review to try again with the displayed wallet and account.`;if(Ee(e)&&de?.selectionHint)return de.selectionHint}return t.guidance?.(b,{confirmed:e.current,readOnly:!_,recoveryNeeded:n,visibleConfirmation:de?.visibleConfirmation?.(),commandPending:h&&ee&&e.current&&!e.errors.some(Boolean)&&(ee.phase===`confirming`||b?.state===`ready`&&!va(b.data)?.runtimeRecovery&&!va(b.data)?.request&&!va(va(b.data)?.review)?.preparing)?{phase:ee.phase,action:String(ee.input.action)}:void 0,approvalUnresolved:M?.input.action===`request_signature`&&e.disposition===`active`||ee?.input.action===`request_signature`,automaticPaused:e.paused})??``}function Ee(e=Ce()){return e.inputEnabled&&b?.state===`ready`&&me}function De(e,t=Ce()){return h&&t.inputEnabled&&(e?t.permitted.includes(e.action):t.permitted.length>0)}function Oe(e){let t=Ce();return m&&g&&t.current&&!!_&&!ee&&!ne&&!A&&!f.signal.aborted&&[`settings_begin_upload`,`settings_upload_chunk`,`settings_seal_upload`,`settings_retry_download`,`settings_report_download`,`settings_cancel_download`,`settings_store_backup`].includes(String(e.action))&&t.permitted.includes(e.action)}function ke(e){let d=va(b?.data),p=s.querySelector(`.review-action-feedback`),v=s.querySelector(`.review-primary-action`);if(v&&p){let e=s.querySelector(`.review-lifetime`);e?(e.append(u),p.prepend(a)):p.prepend(u,a),p.append(o)}else n.insertBefore(a,s),n.insertBefore(u,l),n.insertBefore(o,u);a.className=v?`ui-note`:`ui-error`,b?(r.textContent=t.titleFor?.(b)??t.title,i.textContent=O.status===`rejected`?`Card unavailable`:!e.current&&b.state===`ready`?v?``:!f.signal.aborted&&(ne||e.read)?`Checking whether actions are available in this card…`:`Actions are unavailable until this card's status is checked.`:!_&&b.state!==`closed`?`View only.`:h?va(d?.progress)?.status===`unavailable`?`Current progress is unavailable. The last recorded state is shown.`:!d?.request&&b.state===`closed`&&[`expired`,`server_restarted`,`cancelled`].includes(b.reason??``)?`This card no longer accepts actions.`:``:b.state===`running`?`Reading the requested data…`:b.reason===`completed`?``:b.error??(b.reason===`expired`?`The time to make a selection has ended.`:b.reason===`server_restarted`?`This request ended when Sui MCP restarted.`:``)):i.textContent=D?``:O.status===`read_failed`?`Card status unavailable`:k||O.status===`rejected`?`Card unavailable`:`Opening card…`,i.hidden=!i.textContent,a.textContent=[...new Set(e.errors.filter(Boolean))].join(` `),a.hidden=!a.textContent;let y=s.querySelector(`.review-status`);y&&(y.hidden=!!v&&(e.reviewUpdatePending||!!a.textContent));let x=s.querySelector(`.review-material-status`);if(x&&(x.textContent=x.dataset.previous===`true`||!e.current||e.reviewUpdatePending?x.dataset.previousLabel??``:x.dataset.currentLabel??``),o.textContent=[e.note,Te(e)].filter(Boolean).join(` `),o.hidden=!o.textContent,me)for(let t of s.querySelectorAll(`input, button, select`))(!h||t.tagName!==`BUTTON`||t.dataset.cardAction!==void 0)&&(t.disabled=h?!De(void 0,e):!Ee(e));if(h)for(let t of s.querySelectorAll(`[data-card-action]`))t.disabled=!De({action:t.dataset.cardAction},e);if(m)for(let t of s.querySelectorAll(`[data-settings-file-action]`))t.disabled=t.dataset.settingsLocalBlocked===`true`||!(g?Oe({action:t.dataset.cardAction}):De({action:t.dataset.cardAction},e));v&&(e.reviewUpdatePending||v.dataset.cardAction===`request_signature`&&e.reviewCommandDeliveryFailed||v.dataset.cardAction===void 0)&&(v.disabled=!0),ue&&(ue.disabled=!!ee||!!ne)}function Ae(e){try{e?.()}catch{A=`The card display could not be closed cleanly. Its stored information is unchanged.`}}function je(e){if(!b||f.signal.aborted)return;if(b.state===`ready`&&O.status!==`confirmed`){if(m&&de?.update)try{de.update(b,{automaticPaused:te===`paused`,settings:Ke,settingsCommandProgress:void 0,onDisplayChange:()=>Ie()})}catch{A=`This card could not be displayed. Its stored information is unchanged.`}return}if(b.state===`running`&&!h){A=void 0;return}let n=h?{...va(b.data),actionRemainingMs:void 0,nextStateReadAfterMs:void 0,...m&&va(b.data)?.download?{download:{...va(va(b.data)?.download),remainingMs:void 0}}:{}}:void 0,r=m&&ee?.phase===`sending`&&O.status===`confirmed`?ba(ee.basis,b,ee.input):void 0,i=`${te===`paused`}:${JSON.stringify(r)}:${b.revision}:${_!==void 0}:${x!==void 0}:${C!==void 0}:${JSON.stringify(n)}`;if(i===fe||i===pe&&!e)return;pe=i;let a=[...s.children],o=new Set([...s.querySelectorAll(`details`)].filter(e=>e.open).map(e=>e.querySelector(`summary`)?.textContent)),l,u=!1,d=!1;try{let e={automaticPaused:te===`paused`,onDisplayChange:()=>Ie(),...m?{settings:Ke,settingsCommandProgress:r}:{}};if(de?.update?.(b,e)){fe=i,A=void 0;return}if(b.state===`ready`&&_){let n=t.controls(b,e=>{Ue(e)},x,C,e);l=`node`in n?n:{node:n},u=!0}else(h||b.reason===`completed`)&&b.data!==void 0&&(l=t.result(b,x,_?e=>{Ue(e)}:void 0,C,e));s.replaceChildren(...l?[l.node]:[]),d=!0,l?.mount?.();for(let e of s.querySelectorAll(`details`))o.has(e.querySelector(`summary`)?.textContent)&&(e.open=!0)}catch{d&&s.replaceChildren(...a),Ae(l?.dispose),A=`This card could not be displayed. Its stored information is unchanged.`;return}let p=de?.dispose;de=l,me=u,fe=i,A=void 0,Ae(p)}function Me(t,n,r,i,a){if(f.signal.aborted||O.status===`rejected`)return!1;if(t.kind!==e||t.cardId!==v)throw O={status:`rejected`,message:`The returned information does not match this card.`},Error(`The returned information does not match this card.`);let o=va(t.data),s=va(o?.request),l=va(s?.execution),u=o?.automaticAction===void 0?void 0:$i.safeParse(o.automaticAction);if(u&&!u.success)throw Error(`This card could not start the next step.`);if(b&&t.revision<b.revision)return!1;if(y&&[...new Set([...Object.keys(y),...Object.keys(t.input)])].some(e=>JSON.stringify(t.input[e])!==JSON.stringify(y[e])))throw O={status:`rejected`,message:`The returned information does not match this card.`},Error(`The returned information does not match this card.`);if(e===`review`&&(va(o?.review)?.reviewSessionId!==void 0&&va(o?.review)?.reviewSessionId!==t.input.reviewSessionId||s&&(s.reviewSessionId!==t.input.reviewSessionId||t.input.attemptId!==void 0&&s.attemptId!==t.input.attemptId)||l&&(l.reviewSessionId!==s?.reviewSessionId||l.attemptId!==s?.attemptId||l.txDigest!==s?.transactionDigest)||va(o?.receipt)?.status===`found`&&va(va(o?.receipt)?.receipt)?.txDigest!==s?.transactionDigest)||e===`receipt`&&o?.status===`found`&&va(o.receipt)?.txDigest!==t.input.digest)throw O={status:`rejected`,message:`The saved result does not match the information requested in this card.`},Error(O.message);!y&&(p||t.state!==`ready`)&&(y={...t.input});let d=r!==`preview`;if((!b||t.revision!==b.revision)&&(x=void 0,C=void 0),b=t,_e(),d){ae=Date.now();let t=m?va(o?.download):void 0;if(t?.availability===`available`&&typeof t.remainingMs==`number`&&Number.isFinite(t.remainingMs)){let e=`${o?.operationId}:${va(o?.file)?.fileId}:${t.expiresAt}`;Se!==e&&(Se=e,xe=void 0),xe=Math.min(xe??1/0,ae+Math.max(0,t.remainingMs))}else m&&t?.availability===`ended`&&(xe=void 0);_&&e===`review`&&o?.mode===`review`&&!o.request&&typeof o.actionRemainingMs==`number`&&Number.isFinite(o.actionRemainingMs)&&o.actionRemainingMs>=0&&(oe=Math.min(oe??1/0,ae+o.actionRemainingMs))}return r===`read`&&(O.status!==`needed`||a>O.afterRead)&&(O={status:`confirmed`},k=void 0),n&&(x=n),C=i,!0}function Ne(){se!==void 0&&clearTimeout(se),ce!==void 0&&clearTimeout(ce),le!==void 0&&clearTimeout(le),se=void 0,ce=void 0,le=void 0,u.hidden=!0}function Pe(e){let t=we(e);ue?.textContent!==t&&(ue?.remove(),ue=void 0,t&&(ue=Xfe(t,()=>{if(!(ne||ee||f.signal.aborted)){if(Ce().recover===`retry`){let e=ve();e&&He(e)}else Fe()}})));let n=s.querySelector(`.review-primary-action`),r=s.querySelector(`.review-primary-slot`);n&&(n.hidden=!!ue&&!!r),ue&&(ue.disabled=!!ne||!!ee,r?(ue.classList.add(`review-recovery-action`),r.append(ue)):(ue.classList.remove(`review-recovery-action`),l.append(ue)))}async function Fe(){let e=de,t=e?.displayRecovery?.(),n=await Re(!0);n?.kind===`accepted`&&b===n.snapshot&&O.status===`confirmed`&&!f.signal.aborted&&document.visibilityState!==`hidden`&&!A&&e===de&&t&&e?.displayRecovery?.()===t&&(t.retry(),Ie())}function Ie(e=!1){if(D){let e=document.createElement(`p`);e.className=`ui-note`,e.textContent=D,s.replaceChildren(e)}else je(e);let t=Ce();if(ke(t),Ne(),Pe(t),f.signal.aborted||O.status===`rejected`)return;t.expiryAt!==void 0&&(ce=setTimeout(()=>{Le(),Ie()},Math.max(0,t.expiryAt-Date.now()))),t.reviewHint&&!a.textContent&&(u.replaceChildren(),u.textContent=t.reviewHint,u.setAttribute(`role`,`status`),u.hidden=!1);let n=s.querySelector(`.review-time-remaining`);if(n&&t.lifetimeAt!==void 0){let e=t.lifetimeAt,r=()=>{if(f.signal.aborted)return;let t=Math.max(0,e-Date.now()),i=Math.ceil(t/1e3);if(n.textContent=t>0?`Review expires in ${Math.floor(i/60)}:${String(i%60).padStart(2,`0`)}`:`Review time elapsed`,t>0)le=setTimeout(r,Math.min(1e3,t));else{let e=Ce();ke(e),Pe(e)}};r()}if(t.poll&&b){let e=ae+b.pollAfterMs-Date.now();se=setTimeout(()=>{Re(!1)},e>0?e:b.pollAfterMs)}t.read?(re=void 0,ze()):t.auto&&(se=setTimeout(()=>{let e=Ce().auto;e&&Ge(e,`automatic`)},0))}function Le(){O.status!==`rejected`&&O.status!==`read_failed`&&(O={status:`needed`,afterRead:ie,automatic:!0})}function Re(e){return f.signal.aborted||O.status===`rejected`||!v||!w?Promise.resolve(void 0):ne?ne.promise:O.status===`read_failed`&&!e?Promise.resolve(void 0):(re=e?`explicit`:`background`,Ie(),ne?.promise??Promise.resolve(void 0))}function ze(){let e=++ie,t=performance.now(),n={id:e,promise:Promise.resolve().then(async()=>{try{let n,r,i;if(_){let e=Sa(await Be(_a.read,_));if(!e.snapshot)throw Error(e.error??`Saved card data is unavailable.`);if(e.error)throw Error(e.error);n=e.snapshot,r=e.display,i=e.wallet}else{let e=`${fa}${encodeURIComponent(v)}`,t=(await d.readServerResource({uri:e},{signal:f.signal})).contents.find(t=>t.uri===e&&`text`in t);if(!t||!(`text`in t))throw Error(`Saved card data is unavailable.`);n=sa.parse(JSON.parse(t.text));let i=x??S;r=i&&A_e(n,i)?i:void 0}if(f.signal.aborted||O.status===`rejected`)return{kind:`disposed`,id:e};let a=Me(n,r,`read`,i,e);return S=void 0,!a&&O.status===`needed`&&e>O.afterRead&&(O={...O,automatic:!1}),Ie(a),a&&O.status===`confirmed`?{kind:`accepted`,snapshot:n,id:e,requestStartedAt:t}:{kind:`ignored`,id:e}}catch(t){return f.signal.aborted?{kind:`disposed`,id:e}:(O.status!==`rejected`&&(O={status:`read_failed`,message:t instanceof Error?t.message:`Saved card data could not be read. The last displayed result is unchanged.`}),{kind:`failed`,id:e})}}).finally(()=>{ne===n&&(ne=void 0),Ie()})};ne=n,Ie()}async function Be(e,t){return k_e(await d.callServerTool({name:e,arguments:t},{signal:f.signal}))}function Ve(e,t,n){let r=n_e.safeParse(n.data);if(!r.success||!r.data.allowedActions.some(t=>t===e.action))return!1;let i=r.data,a=va(t.data);return e.walletRunId&&e.walletRunId!==i.walletAvailability.walletRunId?!1:e.action===`connect`?i.allowedActions.includes(`connect`)&&[`connect`,`manage`].includes(String(n.input.intent)):e.action===`prepare_review`||e.action===`request_signature`?i.review?.reviewRevision===e.reviewRevision&&(e.action===`prepare_review`?i.assetReadAccount?.status===`available`?i.assetReadAccount.account:void 0:i.review?.account)===e.account&&r_e(i,String(e.account),e.action===`request_signature`).some(t=>t.connectionId===e.connectionId):e.action===`disconnect`?i.manageableConnectionIds.includes(String(e.connectionId))&&i.connections.some(t=>t.connectionId===e.connectionId&&!t.pendingAction):e.action===`use_account`?i.connections.some(t=>t.connectionId===e.connectionId&&t.status===`connected`&&!t.pendingAction&&t.connectionId===i.usableConnectionId&&t.accounts.includes(String(e.account))):i.connection?.connectionId===va(a?.connection)?.connectionId&&i.request?.attemptId===va(a?.request)?.attemptId&&i.review?.reviewRevision===va(a?.review)?.reviewRevision}async function He(e){if(!b||ne||!De(e))return;let t={input:e,basis:b,phase:`confirming`};ee=t;let n=await Re(!1);ee===t&&(ee=void 0,n?.kind===`accepted`&&b===n.snapshot&&O.status===`confirmed`&&!f.signal.aborted&&document.visibilityState!==`hidden`&&Ve(e,t.basis,n.snapshot)&&De(e)?await Ge(e):O.status!==`read_failed`&&O.status!==`rejected`&&!f.signal.aborted&&(j=`The card state changed. Check the current selection before trying again.`),Ie())}async function Ue(e){p&&(M?.disposition===`active`||M?.retryRequired||te===`paused`)?await He(e):await Ge(e)}function We(e,t,n){M={input:e.input,basis:e.basis,message:t,delivery:n,disposition:`active`,retryRequired:e.input.action===`connect`||e.input.action===`prepare_review`},_e(),[`cancel`,`disconnect`,`stop_connection`,`stop_waiting`,`use_account`].includes(String(e.input.action))&&(te=`paused`),(h||n===`unknown`)&&Le()}async function Ge(e,t=`user`){if(!b||!_||(t===`file`?!Oe(e):h?!De(e):!Ee()))return;let n={input:e,basis:b,phase:`sending`};ee=n,te=`continue`,(t===`user`||M?.disposition!==`past`)&&(M=void 0),j=void 0,Ie();try{let t=Sa(await Be(h?_a.act:_a.submit,{..._,revision:n.basis.revision,input:e}));if(f.signal.aborted||O.status===`rejected`)return;if(!t.snapshot)throw Error(t.error??`The request could not be confirmed.`);t.error&&We(n,t.error,`rejected`),Me(t.snapshot,t.display,`action`,t.wallet)}catch(e){!f.signal.aborted&&O.status!==`rejected`&&(We(n,e instanceof Error?e.message:`The request could not be confirmed.`,`unknown`),M&&(M.data=va(e)?.data))}finally{ee===n&&(ee=void 0),Ie()}}let Ke={uploadChunkLimit(e,t){return _?S_e({jsonrpc:`2.0`,id:2**53-1,method:`tools/call`,params:{name:_a.act,arguments:{..._,revision:2**53-1,input:{action:`settings_upload_chunk`,operationId:e,fileId:t,offset:2**53-1,chunkBase64:``}}}})??0:0},async readCurrent(){let e=await Re(!0);if(e?.kind!==`accepted`)throw Error(`The current Settings selection could not be checked. Use Check status before continuing.`);return{snapshot:e.snapshot,requestStartedAt:e.requestStartedAt}},async act(e,t=!1){if(t?!Oe(e):!De(e))throw Error(`This Settings action is unavailable until its current status has been checked.`);if(await Ge(e,t?`file`:`user`),f.signal.aborted)throw Error(`This card closed before the request finished. Reopen the same conversation to check its status.`);if(M?.input===e){let e=Error(M.message);throw e.data=M.data,e}if(!b)throw Error(`The current Settings status could not be checked.`);return b},setFileTransferActive(e){g=e,Ie()},async readFile(e){if(!_||!v||!Ce().current||f.signal.aborted)throw Error(`Backup read permission is unavailable.`);let t=await Be(_a.readSettingsFile,{..._,...e}),n=ga.parse(va(t._meta)?.[da]);if(n.cardId!==v||n.operationId!==e.operationId||n.fileId!==e.fileId||n.offset!==e.offset||n.attemptId!==e.attemptId)throw Error(`The backup response does not match this card's selected file.`);return n},download:async(e,t,n)=>{let r=va(va(b?.data)?.download);if(!_||!Ce().current||f.signal.aborted||document.visibilityState===`hidden`||r&&(r.currentAttemptId!==n||r.localSave||r.availability!==`available`||xe===void 0||Date.now()>=xe))throw Error(`This download is no longer available in this card.`);try{return{isError:(await d.downloadFile({contents:[{type:`resource`,resource:{uri:`file:///${encodeURIComponent(e)}`,mimeType:`application/json`,blob:t}}]},{signal:f.signal})).isError}}catch(e){if(e&&typeof e==`object`&&`code`in e&&e.code===-32601)return{unsupported:!0};throw e}}};async function qe(){if(w&&E!==void 0&&!T){T=!0;try{let t=k_e(E),n=va(t._meta);if(t._meta!==void 0&&!n)throw Error(`This card cannot accept actions with the access information provided by the app.`);let r=n?.[la];if(r!==void 0){let e=ma.safeParse(r);if(!e.success)throw Error(`This card cannot accept actions with the access information provided by the app.`);_=e.data}let i=Sa(t);if(i.inputRequired){if(i.inputRequired.kind!==e||_)throw Error(`The app provided inconsistent card input information.`);D=i.inputRequired.message,Ie();return}let a=xa(t),o=[i.snapshot?.cardId,_?.cardId,a].filter(e=>e!==void 0);if(!o.length)throw Error(`Card data is unavailable.`);if(o.some(e=>e!==o[0])||i.snapshot&&i.snapshot.kind!==e)throw O={status:`rejected`,message:`The returned information does not match this card.`},Error(O.message);v=o[0];let s=i.snapshot;s&&(p||s.state!==`ready`)&&(y={...s.input}),S=i.display,s&&_&&Me(s,i.display,`preview`,i.wallet),Le(),Ie()}catch(e){if(f.signal.aborted)return;k=e instanceof Error?e.message:`Card data could not be read.`,Ie()}}}d.ontoolresult=e=>{if(E===void 0)E=e,qe();else try{let t=Sa(k_e(E)).snapshot??b,n=Sa(k_e(e)).snapshot;if(t&&n&&(t.cardId!==n.cardId||t.kind!==n.kind))throw Error(`The app returned a different card.`)}catch{O={status:`rejected`,message:`The returned information does not match this card.`},Ie()}},d.onhostcontextchanged=e=>{e.theme&&(document.documentElement.dataset.theme=e.theme)};let Je=()=>{document.visibilityState!==`hidden`&&_&&T&&O.status!==`read_failed`?Re(!1):Ie()};document.addEventListener?.(`visibilitychange`,Je),d.onteardown=async()=>{if(f.signal.aborted)return{};f.abort(),ee=void 0,document.removeEventListener?.(`visibilitychange`,Je);let e=de?.dispose;return de=void 0,Ae(e),Ie(),{}},d.connect().then(()=>{f.signal.aborted||(w=!0,document.documentElement.dataset.theme=d.getHostContext()?.theme??`light`,qe())}).catch(()=>{f.signal.aborted||(k=`Could not connect this card to the app.`,Ie())})}function Ca(e){return typeof e==`object`&&e?e:void 0}function M_e(e){let t=Ca(e);if(!t||typeof t.txDigest!=`string`||t.sender!==void 0&&typeof t.sender!=`string`||typeof t.chainIdentifier!=`string`||typeof t.fetchedAt!=`string`)return null;let n=N_e(t.effectsStatus);if(!n)return null;let r=P_e(t.balanceChanges);if(!r)return null;let i=F_e(t.packageCalls);if(!i)return null;let a=I_e(t.objectTypes);if(!a)return null;let o=wa(t.gas);if(!o)return null;let s=Ta(t.inputs);if(!s)return null;let l=Ea(t.events);if(!l)return null;let u=Da(t.ptbGraph);return u.ok?{txDigest:t.txDigest,sender:t.sender,effectsStatus:n,packageCalls:i,balanceChanges:r,objectTypes:a,gas:o,inputs:s,events:l,ptbGraph:u.graph,chainIdentifier:t.chainIdentifier,fetchedAt:t.fetchedAt}:null}function N_e(e){let t=Ca(e);if(!t||typeof t.success!=`boolean`)return null;if(t.success)return{success:!0};let n={success:!1};if(t.errorKind!==void 0){if(typeof t.errorKind!=`string`)return null;n.errorKind=t.errorKind}if(t.errorMessage!==void 0){if(typeof t.errorMessage!=`string`)return null;n.errorMessage=t.errorMessage}return n}function P_e(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){let e=Ca(n);if(!e||typeof e.index!=`number`||typeof e.address!=`string`||typeof e.coinType!=`string`||typeof e.amountRaw!=`string`||e.direction!==`increase`&&e.direction!==`decrease`&&e.direction!==`zero`)return null;let r=Aa(e.decimals),i=ka(e.symbol);if(r===Oa||i===Oa)return null;let a={index:e.index,address:e.address,coinType:e.coinType,amountRaw:e.amountRaw,direction:e.direction};r!==void 0&&(a.decimals=r),i!==void 0&&(a.symbol=i),t.push(a)}return t}function F_e(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){let e=Ca(n);if(!e||typeof e.commandIndex!=`number`||typeof e.packageId!=`string`||typeof e.module!=`string`||typeof e.function!=`string`||typeof e.target!=`string`)return null;t.push({commandIndex:e.commandIndex,packageId:e.packageId,module:e.module,function:e.function,target:e.target})}return t}function I_e(e){if(Array.isArray(e))return null;let t=Ca(e);if(!t)return null;let n={};for(let[e,r]of Object.entries(t)){if(typeof r!=`string`)return null;n[e]=r}return n}function wa(e){let t=Ca(e);if(!t||typeof t.totalMist!=`string`||typeof t.computationMist!=`string`||typeof t.storageMist!=`string`||typeof t.storageRebateMist!=`string`||typeof t.nonRefundableStorageMist!=`string`)return null;let n=ka(t.budgetMist),r=ka(t.priceMist),i=ka(t.paymentObjectId);return n===Oa||r===Oa||i===Oa?null:{totalMist:t.totalMist,computationMist:t.computationMist,storageMist:t.storageMist,storageRebateMist:t.storageRebateMist,nonRefundableStorageMist:t.nonRefundableStorageMist,budgetMist:n,priceMist:r,paymentObjectId:i}}function Ta(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){let e=Ca(n);if(!e||typeof e.index!=`number`)return null;let r=e.kind;if(r!==`object`&&r!==`shared_object`&&r!==`receiving`&&r!==`pure`&&r!==`withdrawal`&&r!==`unknown`)return null;let i=ka(e.objectId),a=ka(e.bytes);if(i===Oa||a===Oa)return null;let o={index:e.index,kind:r,objectId:i};a!==void 0&&(o.bytes=a),t.push(o)}return t}function Ea(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){let e=Ca(n);if(!e||typeof e.index!=`number`||typeof e.packageId!=`string`||typeof e.module!=`string`||typeof e.eventType!=`string`||typeof e.sender!=`string`)return null;t.push({index:e.index,packageId:e.packageId,module:e.module,eventType:e.eventType,sender:e.sender})}return t}function Da(e){if(e==null)return{ok:!0,graph:void 0};let t=Ca(e),n=t?Ca(t.mermaid):void 0;return!n||typeof n.text!=`string`||typeof n.namedText!=`string`?{ok:!1}:{ok:!0,graph:{mermaid:{text:n.text,namedText:n.namedText}}}}var Oa=Symbol(`invalid`);function ka(e){if(e!==void 0)return typeof e==`string`?e:Oa}function Aa(e){if(e!==void 0)return typeof e==`number`?e:Oa}function ja(e,t){let n=Ca(e.data),r=M_e((e.kind===`review`?Ca(n?.receipt):n)?.receipt);if(!r)throw Error(`Transaction data is incomplete.`);if(t){if(t.transactionDigest!==r.txDigest||t.cardId!==e.cardId||t.revision!==e.revision)throw Error(`Receipt display details do not match this transaction.`);if(e.kind===`review`&&t.attemptId!==Ca(n?.request)?.attemptId)throw Error(`Receipt details belong to a different request.`);for(let e of t.pureInputs){let t=r.inputs.find(t=>t.index===e.index);if(!t||t.kind!==`pure`)throw Error(`Receipt input details do not match this transaction.`);t.bytes=e.bytes}r.ptbGraph=t.ptbGraph}return r}var L_e={account:{name:`Name`,address:`Account address`,balances:`Balances`,noBalances:`No token balances were returned.`,nfts:`NFTs`,noNfts:`No NFTs in the scanned objects.`,noImage:`No image`,objectsTruncated:`Some objects beyond the scanned range are omitted.`},receipt:{success:`Transaction succeeded on Sui`,failure:`Transaction failed on Sui`,sender:`Sender`,account:`Affected account`,object:`Object`,noBalanceChanges:`No balance changes were recorded.`,gasComputation:`Computation cost`,gasStorage:`Storage cost`,gasRebate:`Storage rebate`,gasBudget:`Network fee limit (gas budget)`,netFeeExplanation:`The network fee shown above includes the storage rebate. If it is negative, the rebate exceeds the computation and storage charges.`,estimatedNetFeeExplanation:`The estimated network fee shown above includes the storage rebate. If it is negative, the rebate exceeds the estimated computation and storage charges.`,gasLimitExplanation:`The gas budget limits network fee spending. It is not an estimate of the amount charged.`,gasPrice:`Gas price`,gasPayment:`Gas payment object`,graph:`Transaction graph`,graphTip:`A diagram of this transaction's programmable transaction block (PTB), derived from public on-chain data. It is a diagnostic view only, not transaction input, signing, or a safety verdict.`,graphReviewTip:`A diagram of the transaction prepared for this review and simulation. It shows what is being reviewed, not an actual result, permission to sign, or a guarantee of safety.`,graphRendering:`Rendering the transaction graph…`,graphFailed:`The transaction graph could not be rendered`,graphZoomIn:`Zoom in`,graphZoomOut:`Zoom out`,graphCenter:`Center`,graphShowAddresses:`Show full addresses`,graphShowNames:`Show readable labels`,moveCalls:`Move calls`,noMoveCalls:`No Move calls were recorded.`,inputs:`Inputs`,noInputs:`No inputs were recorded.`,inputKinds:{object:`Owned object`,shared_object:`Shared object`,receiving:`Receiving object`,pure:`Pure value`,withdrawal:`Balance withdrawal`,unknown:`Input`},bytes:`bytes`,events:`Events`,noEvents:`No events were recorded.`,objectChanges:`Object changes`,noObjectChanges:`No object changes were recorded.`},chart:{boundaryUsdc:`Prices are in USDC, not USD; dollar parity is not guaranteed.`,boundaryScope:`Historical prices, not live quotes.`,source:`Source: DeepBookV3 Indexer.`,renderedWith:`Rendered with`,library:`TradingView Lightweight Charts`},common:{walletStatusRecovery:`Ask in chat to open Settings, then use Troubleshooting to restart the connection service. This does not confirm removal of a connection in your wallet app.`,mainnet:`Sui mainnet`,retrievedAt:`Data retrieved`}},R_e={en:L_e};function z_e(){try{return(navigator.language||`en`).slice(0,2).toLowerCase()}catch{return`en`}}function B_e(e=z_e()){return R_e[e]??L_e}var R=B_e();function V_e(e){let t=Hr();t.append($fe(e.effectsStatus.success?`success`:`failure`,e.effectsStatus.success?R.receipt.success:R.receipt.failure)),e.balanceChanges.length===0&&t.append(Gr(R.receipt.noBalanceChanges));for(let n of e.balanceChanges){let r=n.decimals===void 0?`Amount unavailable`:`${n.direction===`increase`?`+`:``}${Wfe(n.amountRaw,n.decimals)}`,i=Ur(n.symbol??qfe(n.coinType),r);n.address!==e.sender&&i.append(Ur(R.receipt.account,tpe(n.address))),t.append(i)}return t.append(Ur(`Network fee`,zr(e.gas.totalMist))),e.sender&&t.append(Ur(R.receipt.sender,tpe(e.sender))),t}function H_e(e){let t=Hr();t.append(Ur(`Transaction hash`,Kr(e.txDigest)),Ur(R.common.retrievedAt,npe(e.fetchedAt))),!e.effectsStatus.success&&e.effectsStatus.errorMessage&&t.append(Ur(`Failure details`,e.effectsStatus.errorMessage)),t.append(Vr(`h3`,`ui-section-title`,`Network fee breakdown`)),t.append(Vr(`p`,`ui-note`,R.receipt.netFeeExplanation));for(let n of U_e(e.gas))t.append(n);if(e.gas.budgetMist!==void 0&&t.append(Ur(R.receipt.gasBudget,zr(e.gas.budgetMist)),Vr(`p`,`ui-note`,R.receipt.gasLimitExplanation)),e.gas.priceMist!==void 0&&t.append(Ur(R.receipt.gasPrice,`${e.gas.priceMist} MIST`)),e.gas.paymentObjectId!==void 0&&t.append(Ur(R.receipt.gasPayment,Kr(e.gas.paymentObjectId))),e.balanceChanges.length){let n=Hr(`Balance change records (raw units)`);for(let t of e.balanceChanges)n.append(Wr({title:t.symbol??qfe(t.coinType),trailing:`${t.amountRaw} raw units`,metas:[{label:R.receipt.account,value:t.address},{value:t.coinType}]}));t.append(n)}return t.append(W_e(e.inputs),G_e(e.packageCalls),K_e(e.objectTypes),q_e(e.events)),t}function U_e(e){return[Ur(R.receipt.gasComputation,zr(e.computationMist)),Ur(R.receipt.gasStorage,zr(e.storageMist)),Ur(R.receipt.gasRebate,zr(e.storageRebateMist))]}function W_e(e){let t=Hr(`${R.receipt.inputs} (${e.length})`);if(e.length===0)t.append(Gr(R.receipt.noInputs));else for(let n of e){let e=[];n.objectId&&e.push({value:Br(n.objectId),full:n.objectId}),n.bytes&&e.push({label:R.receipt.bytes,value:Br(n.bytes),full:n.bytes}),t.append(Wr({title:R.receipt.inputKinds[n.kind],metas:e}))}return t}function G_e(e){let t=Hr(`${R.receipt.moveCalls} (${e.length})`);if(e.length===0)t.append(Gr(R.receipt.noMoveCalls));else for(let n of e)t.append(Wr({title:Jfe(n.target),metas:[{value:Kfe(n.target),full:n.target}]}));return t}function K_e(e){let t=Object.entries(e),n=Hr(`${R.receipt.objectChanges} (${t.length})`);if(t.length===0)n.append(Gr(R.receipt.noObjectChanges));else for(let[e,r]of t)n.append(Wr({title:qfe(r),metas:[{label:R.receipt.object,value:Br(e),full:e},{value:Kfe(r),full:r}]}));return n}function q_e(e){let t=Hr(`${R.receipt.events} (${e.length})`);if(e.length===0)t.append(Gr(R.receipt.noEvents));else for(let n of e)t.append(Wr({title:Jfe(n.eventType),metas:[{value:Kfe(n.eventType),full:n.eventType}]}));return t}var J_e,z,Y_e,Ma=o((()=>{J_e=Object.defineProperty,z=(e,t)=>J_e(e,`name`,{value:t,configurable:!0}),Y_e=(e,t)=>{for(var n in t)J_e(e,n,{get:t[n],enumerable:!0})}})),X_e=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,l=`week`,u=`month`,d=`quarter`,f=`year`,p=`date`,m=`Invalid Date`,h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,g=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,_={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},v=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},y={s:v,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+v(r,2,`0`)+`:`+v(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,u),a=n-i<0,o=t.clone().add(r+(a?-1:1),u);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:u,y:f,w:l,d:s,D:p,h:o,m:a,s:i,ms:r,Q:d}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},b=`en`,x={};x[b]=_;var S=`$isDayjsObject`,C=function(e){return e instanceof D||!(!e||!e[S])},w=function e(t,n,r){var i;if(!t)return b;if(typeof t==`string`){var a=t.toLowerCase();x[a]&&(i=a),n&&(x[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;x[s]=t,i=s}return!r&&i&&(b=i),i||!r&&b},T=function(e,t){if(C(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new D(n)},E=y;E.l=w,E.i=C,E.w=function(e,t){return T(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var D=function(){function _(e){this.$L=w(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[S]=!0}var v=_.prototype;return v.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(E.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(h);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},v.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},v.$utils=function(){return E},v.isValid=function(){return this.$d.toString()!==m},v.isSame=function(e,t){var n=T(e);return this.startOf(t)<=n&&n<=this.endOf(t)},v.isAfter=function(e,t){return T(e)<this.startOf(t)},v.isBefore=function(e,t){return this.endOf(t)<T(e)},v.$g=function(e,t,n){return E.u(e)?this[t]:this.set(n,e)},v.unix=function(){return Math.floor(this.valueOf()/1e3)},v.valueOf=function(){return this.$d.getTime()},v.startOf=function(e,t){var n=this,r=!!E.u(t)||t,d=E.p(e),m=function(e,t){var i=E.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},h=function(e,t){return E.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},g=this.$W,_=this.$M,v=this.$D,y=`set`+(this.$u?`UTC`:``);switch(d){case f:return r?m(1,0):m(31,11);case u:return r?m(1,_):m(0,_+1);case l:var b=this.$locale().weekStart||0,x=(g<b?g+7:g)-b;return m(r?v-x:v+(6-x),_);case s:case p:return h(y+`Hours`,0);case o:return h(y+`Minutes`,1);case a:return h(y+`Seconds`,2);case i:return h(y+`Milliseconds`,3);default:return this.clone()}},v.endOf=function(e){return this.startOf(e,!1)},v.$set=function(e,t){var n,l=E.p(e),d=`set`+(this.$u?`UTC`:``),m=(n={},n[s]=d+`Date`,n[p]=d+`Date`,n[u]=d+`Month`,n[f]=d+`FullYear`,n[o]=d+`Hours`,n[a]=d+`Minutes`,n[i]=d+`Seconds`,n[r]=d+`Milliseconds`,n)[l],h=l===s?this.$D+(t-this.$W):t;if(l===u||l===f){var g=this.clone().set(p,1);g.$d[m](h),g.init(),this.$d=g.set(p,Math.min(this.$D,g.daysInMonth())).$d}else m&&this.$d[m](h);return this.init(),this},v.set=function(e,t){return this.clone().$set(e,t)},v.get=function(e){return this[E.p(e)]()},v.add=function(r,d){var p,m=this;r=Number(r);var h=E.p(d),g=function(e){var t=T(m);return E.w(t.date(t.date()+Math.round(e*r)),m)};if(h===u)return this.set(u,this.$M+r);if(h===f)return this.set(f,this.$y+r);if(h===s)return g(1);if(h===l)return g(7);var _=(p={},p[a]=t,p[o]=n,p[i]=e,p)[h]||1,v=this.$d.getTime()+r*_;return E.w(v,this)},v.subtract=function(e,t){return this.add(-1*e,t)},v.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||m;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=E.z(this),a=this.$H,o=this.$m,s=this.$M,l=n.weekdays,u=n.months,d=n.meridiem,f=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},p=function(e){return E.s(a%12||12,e,`0`)},h=d||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(g,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return E.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return E.s(s+1,2,`0`);case`MMM`:return f(n.monthsShort,s,u,3);case`MMMM`:return f(u,s);case`D`:return t.$D;case`DD`:return E.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return f(n.weekdaysMin,t.$W,l,2);case`ddd`:return f(n.weekdaysShort,t.$W,l,3);case`dddd`:return l[t.$W];case`H`:return String(a);case`HH`:return E.s(a,2,`0`);case`h`:return p(1);case`hh`:return p(2);case`a`:return h(a,o,!0);case`A`:return h(a,o,!1);case`m`:return String(o);case`mm`:return E.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return E.s(t.$s,2,`0`);case`SSS`:return E.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},v.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},v.diff=function(r,p,m){var h,g=this,_=E.p(p),v=T(r),y=(v.utcOffset()-this.utcOffset())*t,b=this-v,x=function(){return E.m(g,v)};switch(_){case f:h=x()/12;break;case u:h=x();break;case d:h=x()/3;break;case l:h=(b-y)/6048e5;break;case s:h=(b-y)/864e5;break;case o:h=b/n;break;case a:h=b/t;break;case i:h=b/e;break;default:h=b}return m?h:E.a(h)},v.daysInMonth=function(){return this.endOf(u).$D},v.$locale=function(){return x[this.$L]},v.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=w(e,t,!0);return r&&(n.$L=r),n},v.clone=function(){return E.w(this.$d,this)},v.toDate=function(){return new Date(this.valueOf())},v.toJSON=function(){return this.isValid()?this.toISOString():null},v.toISOString=function(){return this.$d.toISOString()},v.toString=function(){return this.$d.toUTCString()},_}(),O=D.prototype;return T.prototype=O,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,u],[`$y`,f],[`$D`,p]].forEach((function(e){O[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),T.extend=function(e,t){return e.$i||=(e(t,D,T),!0),T},T.locale=w,T.isDayjs=C,T.unix=function(e){return T(1e3*e)},T.en=x[b],T.Ls=x,T.p={},T}))})),Z_e,Na,B,Q_e,Pa,Fa=o((()=>{Ma(),Z_e=d(X_e(),1),Na={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},B={trace:z((...e)=>{},`trace`),debug:z((...e)=>{},`debug`),info:z((...e)=>{},`info`),warn:z((...e)=>{},`warn`),error:z((...e)=>{},`error`),fatal:z((...e)=>{},`fatal`)},Q_e=z(function(e=`fatal`){let t=Na.fatal;typeof e==`string`?e.toLowerCase()in Na&&(t=Na[e]):typeof e==`number`&&(t=e),B.trace=()=>{},B.debug=()=>{},B.info=()=>{},B.warn=()=>{},B.error=()=>{},B.fatal=()=>{},t<=Na.fatal&&(B.fatal=console.error?console.error.bind(console,Pa(`FATAL`),`color: orange`):console.log.bind(console,`\x1B[35m`,Pa(`FATAL`))),t<=Na.error&&(B.error=console.error?console.error.bind(console,Pa(`ERROR`),`color: orange`):console.log.bind(console,`\x1B[31m`,Pa(`ERROR`))),t<=Na.warn&&(B.warn=console.warn?console.warn.bind(console,Pa(`WARN`),`color: orange`):console.log.bind(console,`\x1B[33m`,Pa(`WARN`))),t<=Na.info&&(B.info=console.info?console.info.bind(console,Pa(`INFO`),`color: lightblue`):console.log.bind(console,`\x1B[34m`,Pa(`INFO`))),t<=Na.debug&&(B.debug=console.debug?console.debug.bind(console,Pa(`DEBUG`),`color: lightgreen`):console.log.bind(console,`\x1B[32m`,Pa(`DEBUG`))),t<=Na.trace&&(B.trace=console.debug?console.debug.bind(console,Pa(`TRACE`),`color: lightgreen`):console.log.bind(console,`\x1B[32m`,Pa(`TRACE`)))},`setLogLevel`),Pa=z(e=>`%c${(0,Z_e.default)().format(`ss.SSS`)} : ${e} : `,`format`)})),$_e,eve=o((()=>{$_e={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:e=>e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{let t=e/255;return e>.03928?((t+.055)/1.055)**2.4:t/12.92},hue2rgb:(e,t,n)=>(n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e),hsl2rgb:({h:e,s:t,l:n},r)=>{if(!t)return n*2.55;e/=360,t/=100,n/=100;let i=n<.5?n*(1+t):n+t-n*t,a=2*n-i;switch(r){case`r`:return $_e.hue2rgb(a,i,e+1/3)*255;case`g`:return $_e.hue2rgb(a,i,e)*255;case`b`:return $_e.hue2rgb(a,i,e-1/3)*255}},rgb2hsl:({r:e,g:t,b:n},r)=>{e/=255,t/=255,n/=255;let i=Math.max(e,t,n),a=Math.min(e,t,n),o=(i+a)/2;if(r===`l`)return o*100;if(i===a)return 0;let s=i-a,l=o>.5?s/(2-i-a):s/(i+a);if(r===`s`)return l*100;switch(i){case e:return((t-n)/s+(t<n?6:0))*60;case t:return((n-e)/s+2)*60;case n:return((e-t)/s+4)*60;default:return-1}}}})),tve,nve=o((()=>{tve={clamp:(e,t,n)=>t>n?Math.min(t,Math.max(n,e)):Math.min(n,Math.max(t,e)),round:e=>Math.round(e*1e10)/1e10}})),rve,ive=o((()=>{rve={dec2hex:e=>{let t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}}})),Ia,La=o((()=>{eve(),nve(),ive(),Ia={channel:$_e,lang:tve,unit:rve}})),Ra,za,ave=o((()=>{La(),Ra={};for(let e=0;e<=255;e++)Ra[e]=Ia.unit.dec2hex(e);za={ALL:0,RGB:1,HSL:2}})),Ba,ove=o((()=>{ave(),Ba=class{constructor(){this.type=za.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw Error(`Cannot change both RGB and HSL channels at the same time`);this.type=e}reset(){this.type=za.ALL}is(e){return this.type===e}}})),Va,Ha=o((()=>{La(),ove(),ave(),Va=class{constructor(e,t){this.color=t,this.changed=!1,this.data=e,this.type=new Ba}set(e,t){return this.color=t,this.changed=!1,this.data=e,this.type.type=za.ALL,this}_ensureHSL(){let e=this.data,{h:t,s:n,l:r}=e;t===void 0&&(e.h=Ia.channel.rgb2hsl(e,`h`)),n===void 0&&(e.s=Ia.channel.rgb2hsl(e,`s`)),r===void 0&&(e.l=Ia.channel.rgb2hsl(e,`l`))}_ensureRGB(){let e=this.data,{r:t,g:n,b:r}=e;t===void 0&&(e.r=Ia.channel.hsl2rgb(e,`r`)),n===void 0&&(e.g=Ia.channel.hsl2rgb(e,`g`)),r===void 0&&(e.b=Ia.channel.hsl2rgb(e,`b`))}get r(){let e=this.data,t=e.r;return!this.type.is(za.HSL)&&t!==void 0?t:(this._ensureHSL(),Ia.channel.hsl2rgb(e,`r`))}get g(){let e=this.data,t=e.g;return!this.type.is(za.HSL)&&t!==void 0?t:(this._ensureHSL(),Ia.channel.hsl2rgb(e,`g`))}get b(){let e=this.data,t=e.b;return!this.type.is(za.HSL)&&t!==void 0?t:(this._ensureHSL(),Ia.channel.hsl2rgb(e,`b`))}get h(){let e=this.data,t=e.h;return!this.type.is(za.RGB)&&t!==void 0?t:(this._ensureRGB(),Ia.channel.rgb2hsl(e,`h`))}get s(){let e=this.data,t=e.s;return!this.type.is(za.RGB)&&t!==void 0?t:(this._ensureRGB(),Ia.channel.rgb2hsl(e,`s`))}get l(){let e=this.data,t=e.l;return!this.type.is(za.RGB)&&t!==void 0?t:(this._ensureRGB(),Ia.channel.rgb2hsl(e,`l`))}get a(){return this.data.a}set r(e){this.type.set(za.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(za.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(za.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(za.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(za.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(za.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}})),Ua,Wa=o((()=>{Ha(),Ua=new Va({r:0,g:0,b:0,a:0},`transparent`)})),Ga,Ka=o((()=>{Wa(),ave(),Ga={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(e.charCodeAt(0)!==35)return;let t=e.match(Ga.re);if(!t)return;let n=t[1],r=parseInt(n,16),i=n.length,a=i%4==0,o=i>4,s=o?1:17,l=o?8:4,u=a?0:-1,d=o?255:15;return Ua.set({r:(r>>l*(u+3)&d)*s,g:(r>>l*(u+2)&d)*s,b:(r>>l*(u+1)&d)*s,a:a?(r&d)*s/255:1},e)},stringify:e=>{let{r:t,g:n,b:r,a:i}=e;return i<1?`#${Ra[Math.round(t)]}${Ra[Math.round(n)]}${Ra[Math.round(r)]}${Ra[Math.round(i*255)]}`:`#${Ra[Math.round(t)]}${Ra[Math.round(n)]}${Ra[Math.round(r)]}`}}})),qa,Ja=o((()=>{La(),Wa(),qa={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:e=>{let t=e.match(qa.hueRe);if(t){let[,e,n]=t;switch(n){case`grad`:return Ia.channel.clamp.h(parseFloat(e)*.9);case`rad`:return Ia.channel.clamp.h(parseFloat(e)*180/Math.PI);case`turn`:return Ia.channel.clamp.h(parseFloat(e)*360)}}return Ia.channel.clamp.h(parseFloat(e))},parse:e=>{let t=e.charCodeAt(0);if(t!==104&&t!==72)return;let n=e.match(qa.re);if(!n)return;let[,r,i,a,o,s]=n;return Ua.set({h:qa._hue2deg(r),s:Ia.channel.clamp.s(parseFloat(i)),l:Ia.channel.clamp.l(parseFloat(a)),a:o?Ia.channel.clamp.a(s?parseFloat(o)/100:parseFloat(o)):1},e)},stringify:e=>{let{h:t,s:n,l:r,a:i}=e;return i<1?`hsla(${Ia.lang.round(t)}, ${Ia.lang.round(n)}%, ${Ia.lang.round(r)}%, ${i})`:`hsl(${Ia.lang.round(t)}, ${Ia.lang.round(n)}%, ${Ia.lang.round(r)}%)`}}})),Ya,Xa=o((()=>{Ka(),Ya={colors:{aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyanaqua:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkgrey:`#a9a9a9`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,grey:`#808080`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,transparent:`#00000000`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`},parse:e=>{e=e.toLowerCase();let t=Ya.colors[e];if(t)return Ga.parse(t)},stringify:e=>{let t=Ga.stringify(e);for(let e in Ya.colors)if(Ya.colors[e]===t)return e}}})),Za,sve=o((()=>{La(),Wa(),Za={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:e=>{let t=e.charCodeAt(0);if(t!==114&&t!==82)return;let n=e.match(Za.re);if(!n)return;let[,r,i,a,o,s,l,u,d]=n;return Ua.set({r:Ia.channel.clamp.r(i?parseFloat(r)*2.55:parseFloat(r)),g:Ia.channel.clamp.g(o?parseFloat(a)*2.55:parseFloat(a)),b:Ia.channel.clamp.b(l?parseFloat(s)*2.55:parseFloat(s)),a:u?Ia.channel.clamp.a(d?parseFloat(u)/100:parseFloat(u)):1},e)},stringify:e=>{let{r:t,g:n,b:r,a:i}=e;return i<1?`rgba(${Ia.lang.round(t)}, ${Ia.lang.round(n)}, ${Ia.lang.round(r)}, ${Ia.lang.round(i)})`:`rgb(${Ia.lang.round(t)}, ${Ia.lang.round(n)}, ${Ia.lang.round(r)})`}}})),Qa,$a=o((()=>{Ka(),Ja(),Xa(),sve(),ave(),Qa={format:{keyword:Ya,hex:Ga,rgb:Za,rgba:Za,hsl:qa,hsla:qa},parse:e=>{if(typeof e!=`string`)return e;let t=Ga.parse(e)||Za.parse(e)||qa.parse(e)||Ya.parse(e);if(t)return t;throw Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(za.HSL)||e.data.r===void 0?qa.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?Za.stringify(e):Ga.stringify(e)}})),eo,to=o((()=>{La(),$a(),eo=(e,t)=>{let n=Qa.parse(e);for(let e in t)n[e]=Ia.channel.clamp[e](t[e]);return Qa.stringify(n)}})),no,cve=o((()=>{La(),Wa(),$a(),to(),no=(e,t,n=0,r=1)=>{if(typeof e!=`number`)return eo(e,{a:t});let i=Ua.set({r:Ia.channel.clamp.r(e),g:Ia.channel.clamp.g(t),b:Ia.channel.clamp.b(n),a:Ia.channel.clamp.a(r)});return Qa.stringify(i)}})),ro,lve=o((()=>{La(),$a(),ro=(e,t)=>Ia.lang.round(Qa.parse(e)[t])})),uve,dve=o((()=>{La(),$a(),uve=e=>{let{r:t,g:n,b:r}=Qa.parse(e),i=.2126*Ia.channel.toLinear(t)+.7152*Ia.channel.toLinear(n)+.0722*Ia.channel.toLinear(r);return Ia.lang.round(i)}})),io,fve=o((()=>{dve(),io=e=>uve(e)>=.5})),ao,pve=o((()=>{fve(),ao=e=>!io(e)})),oo,mve=o((()=>{La(),$a(),oo=(e,t,n)=>{let r=Qa.parse(e),i=r[t],a=Ia.channel.clamp[t](i+n);return i!==a&&(r[t]=a),Qa.stringify(r)}})),so,hve=o((()=>{mve(),so=(e,t)=>oo(e,`l`,t)})),co,gve=o((()=>{mve(),co=(e,t)=>oo(e,`l`,-t)})),_ve,lo=o((()=>{mve(),_ve=(e,t)=>oo(e,`a`,-t)})),uo,vve=o((()=>{$a(),to(),uo=(e,t)=>{let n=Qa.parse(e),r={};for(let e in t)t[e]&&(r[e]=n[e]+t[e]);return eo(e,r)}})),fo,yve=o((()=>{$a(),cve(),fo=(e,t,n=50)=>{let{r,g:i,b:a,a:o}=Qa.parse(e),{r:s,g:l,b:u,a:d}=Qa.parse(t),f=n/100,p=f*2-1,m=o-d,h=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,g=1-h,_=r*h+s*g,v=i*h+l*g,y=a*h+u*g,b=o*f+d*(1-f);return no(_,v,y,b)}})),po,mo=o((()=>{$a(),yve(),po=(e,t=100)=>{let n=Qa.parse(e);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,fo(n,e,t)}})),bve=o((()=>{cve(),lve(),pve(),hve(),gve(),lo(),vve(),mo()})),ho=o((()=>{bve()}));function xve(e,t){this.v=e,this.k=t}function Sve(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Cve(e){if(Array.isArray(e))return e}function wve(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function go(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
6287
6287
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _o(e,t){return Cve(e)||wve(e,t)||Tve(e,t)||go()}function Tve(e,t){if(e){if(typeof e==`string`)return Sve(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Sve(e,t):void 0}}function vo(e){var t,n;function r(t,n){try{var a=e[t](n),o=a.value,s=o instanceof xve;Promise.resolve(s?o.v:o).then(function(n){if(s){var l=t===`return`&&o.k?t:`next`;if(!o.k||n.done)return r(l,n);n=e[l](n).value}i(!!a.done,n)},function(e){r(`throw`,e)})}catch(e){i(2,e)}}function i(e,i){e===2?t.reject(i):t.resolve({value:i,done:e}),(t=t.next)?r(t.key,t.arg):n=null}this._invoke=function(e,i){return new Promise(function(a,o){var s={key:e,arg:i,resolve:a,reject:o,next:null};n?n=n.next=s:(t=n=s,r(e,i))})},typeof e.return!=`function`&&(this.return=void 0)}function yo(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return Oo(e,t,n)}}function Eve(e){return function(){return Fve(e,[...arguments])}}function bo(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:No;if(jve&&jve(e,null),!Mo(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(Mve(t)||(t[r]=e),i=e)}e[i]=!0}return e}function Dve(e){for(let t=0;t<e.length;t++)Fo(e,t)||(e[t]=null);return e}function xo(e){let t=Eo(null);for(let r of Co(e)){var n=_o(r,2);let i=n[0],a=n[1];Fo(e,i)&&(t[i]=Mo(a)?Dve(a):a&&typeof a==`object`&&a.constructor===Object?xo(a):a)}return t}function Ove(e){switch(typeof e){case`string`:return e;case`number`:return Hve(e);case`boolean`:return Uve(e);case`bigint`:return Wve?Wve(e):`0`;case`symbol`:return Gve?Gve(e):`Symbol()`;case`undefined`:return Io(e);case`function`:case`object`:{if(e===null)return Io(e);let t=e,n=So(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:Io(e)}return Io(e)}default:return Io(e)}}function So(e,t){for(;e!==null;){let n=Pve(e,t);if(n){if(n.get)return yo(n.get);if(typeof n.value==`function`)return yo(n.value)}e=Nve(e)}function n(){return null}return n}function kve(e){try{return Lo(e,``),!0}catch{return!1}}function Ave(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ko(),t=e=>Ave(e);if(t.version=`3.4.16`,t.removed=[],!e||!e.document||e.document.nodeType!==Go.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,o=e.Node,s=e.Element,l=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let u=e.DOMParser,d=e.trustedTypes,f=s.prototype,p=So(f,`cloneNode`),m=So(f,`remove`),h=So(f,`removeAttributeNode`),g=So(f,`nextSibling`),_=So(f,`childNodes`),v=So(f,`parentNode`),y=So(f,`shadowRoot`),b=So(f,`attributes`),x=o&&o.prototype?So(o.prototype,`nodeType`):null,S=o&&o.prototype?So(o.prototype,`nodeName`):null,C=o&&o.prototype?So(o.prototype,`ownerDocument`):null,w=function(e){return x?x(e):e.nodeType},T=function(e){return S?S(e):e.nodeName};if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let E,D=``,O,k=!1,A=0,j=function(){if(A>0)throw Ro(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)},M=function(e){j(),A++;try{return E.createHTML(e)}finally{A--}},ee=function(e){j(),A++;try{return E.createScriptURL(e)}finally{A--}},te=function(){return k||=(O=qo(d,i),!0),O},ne=n,re=ne.implementation,ie=ne.createNodeIterator,ae=ne.createDocumentFragment,oe=ne.getElementsByTagName,se=r.importNode,ce=Jo();t.isSupported=typeof Co==`function`&&typeof v==`function`&&re&&re.createHTMLDocument!==void 0;let le=Ho,ue=eye,de=tye,fe=nye,pe=rye,me=aye,he=oye,ge=Uo,_e=iye,ve=null,ye=bo({},[...Kve,...qve,...zo,...Jve,...Xve]),be=null,xe=bo({},[...Zve,...Qve,...$ve,...Vo]),Se=Object.seal(Eo(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ce=null,we=null,Te=Object.seal(Eo(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Ee=!0,De=!0,Oe=!1,ke=!0,Ae=!1,je=!0,Me=!1,Ne=!1,Pe=null,Fe=null,Ie=!1,Le=!1,Re=!1,ze=!1,Be=!0,Ve=!1,He=`user-content-`,Ue=!0,We=!1,Ge={},Ke=null,qe=bo({},`annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp`.split(`.`)),Je=null,Ye=bo({},[`audio`,`video`,`img`,`source`,`image`,`track`]),Xe=null,Ze=bo({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),Qe=`http://www.w3.org/1998/Math/MathML`,$e=`http://www.w3.org/2000/svg`,et=`http://www.w3.org/1999/xhtml`,tt=et,nt=!1,rt=null,it=bo({},[Qe,$e,et],Rve),at=wo([`mi`,`mo`,`mn`,`ms`,`mtext`]),ot=bo({},at),st=wo([`annotation-xml`]),ct=bo({},st),lt=bo({},[`title`,`style`,`font`,`a`,`script`]),ut=null,dt=[`application/xhtml+xml`,`text/html`],ft=null,pt=null,mt=n.createElement(`form`),ht=function(e){return e instanceof RegExp||e instanceof Function},gt=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(pt&&pt===e)return;(!e||typeof e!=`object`)&&(e={}),e=xo(e),ut=dt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,ft=ut===`application/xhtml+xml`?Rve:No,ve=Yo(e,`ALLOWED_TAGS`,ye,{transform:ft}),be=Yo(e,`ALLOWED_ATTR`,xe,{transform:ft}),rt=Yo(e,`ALLOWED_NAMESPACES`,it,{transform:Rve}),Xe=Yo(e,`ADD_URI_SAFE_ATTR`,Ze,{transform:ft,base:Ze}),Je=Yo(e,`ADD_DATA_URI_TAGS`,Ye,{transform:ft,base:Ye}),Ke=Yo(e,`FORBID_CONTENTS`,qe,{transform:ft}),Ce=Yo(e,`FORBID_TAGS`,xo({}),{transform:ft}),we=Yo(e,`FORBID_ATTR`,xo({}),{transform:ft}),Ge=Fo(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?xo(e.USE_PROFILES):e.USE_PROFILES:!1,Ee=e.ALLOW_ARIA_ATTR!==!1,De=e.ALLOW_DATA_ATTR!==!1,Oe=e.ALLOW_UNKNOWN_PROTOCOLS||!1,ke=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ae=e.SAFE_FOR_TEMPLATES||!1,je=e.SAFE_FOR_XML!==!1,Me=e.WHOLE_DOCUMENT||!1,Le=e.RETURN_DOM||!1,Re=e.RETURN_DOM_FRAGMENT||!1,ze=e.RETURN_TRUSTED_TYPE||!1,Ie=e.FORCE_BODY||!1,Be=e.SANITIZE_DOM!==!1,Ve=e.SANITIZE_NAMED_PROPS||!1,Ue=e.KEEP_CONTENT!==!1,We=e.IN_PLACE||!1,_e=kve(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:iye,tt=typeof e.NAMESPACE==`string`?e.NAMESPACE:et,ot=mye(e,`MATHML_TEXT_INTEGRATION_POINTS`,()=>bo({},at)),ct=mye(e,`HTML_INTEGRATION_POINTS`,()=>bo({},st));let t=mye(e,`CUSTOM_ELEMENT_HANDLING`,()=>Eo(null));if(Se=Eo(null),Fo(t,`tagNameCheck`)&&ht(t.tagNameCheck)&&(Se.tagNameCheck=t.tagNameCheck),Fo(t,`attributeNameCheck`)&&ht(t.attributeNameCheck)&&(Se.attributeNameCheck=t.attributeNameCheck),Fo(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(Se.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),To(Se),Ae&&(De=!1),Re&&(Le=!0),Ge&&(ve=bo({},Xve),be=Eo(null),Ge.html===!0&&(bo(ve,Kve),bo(be,Zve)),Ge.svg===!0&&(bo(ve,qve),bo(be,Qve),bo(be,Vo)),Ge.svgFilters===!0&&(bo(ve,zo),bo(be,Qve),bo(be,Vo)),Ge.mathMl===!0&&(bo(ve,Jve),bo(be,$ve),bo(be,Vo))),Te.tagCheck=null,Te.attributeCheck=null,Fo(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?Te.tagCheck=e.ADD_TAGS:Mo(e.ADD_TAGS)&&(ve===ye&&(ve=xo(ve)),bo(ve,e.ADD_TAGS,ft))),Fo(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?Te.attributeCheck=e.ADD_ATTR:Mo(e.ADD_ATTR)&&(be===xe&&(be=xo(be)),bo(be,e.ADD_ATTR,ft))),Fo(e,`ADD_FORBID_CONTENTS`)&&Mo(e.ADD_FORBID_CONTENTS)&&(Ke===qe&&(Ke=xo(Ke)),bo(Ke,e.ADD_FORBID_CONTENTS,ft)),Ue&&(ve[`#text`]=!0),Me&&bo(ve,[`html`,`head`,`body`]),ve.table&&(bo(ve,[`tbody`]),delete Ce.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw Ro(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw Ro(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=E;E=e.TRUSTED_TYPES_POLICY;try{D=M(``)}catch(e){throw E=t,e}}else e.TRUSTED_TYPES_POLICY===null?(E=void 0,D=``):(E===void 0&&(E=te()),E&&typeof D==`string`&&(D=M(``)));wo&&wo(e),pt=e},_t=bo({},[...qve,...zo,...Bo]),vt=bo({},[...Jve,...Yve]),yt=function(e,t,n){return t.namespaceURI===et?e===`svg`:t.namespaceURI===Qe?e===`svg`&&(n===`annotation-xml`||ot[n]):!!_t[e]},bt=function(e,t,n){return t.namespaceURI===et?e===`math`:t.namespaceURI===$e?e===`math`&&ct[n]:!!vt[e]},xt=function(e,t,n){return t.namespaceURI===$e&&!ct[n]||t.namespaceURI===Qe&&!ot[n]?!1:!vt[e]&&(lt[e]||!_t[e])},St=function(e){let t=v(e);(!t||!t.tagName)&&(t={namespaceURI:tt,tagName:`template`});let n=No(e.tagName),r=No(t.tagName);return rt[e.namespaceURI]?e.namespaceURI===$e?yt(n,t,r):e.namespaceURI===Qe?bt(n,t,r):e.namespaceURI===et?xt(n,t,r):!!(ut===`application/xhtml+xml`&&rt[e.namespaceURI]):!1},Ct=function(e){jo(t.removed,{element:e});try{v(e).removeChild(e)}catch{if(m(e),!v(e))throw Ro(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},wt=function(e,t,n){try{h(e,t)}catch{try{e.removeAttribute(n)}catch{}}},Tt=function(e){Ot(e);let t=_(e);if(t){let e=[];ko(t,t=>{jo(e,t)}),ko(e,e=>{try{m(e)}catch{}})}let n=b(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;typeof i==`string`&&wt(e,r,i)}},Et=function(e,n,r){if(!r)try{r=n.getAttributeNode(e)}catch{r=null}jo(t.removed,{attribute:r||null,from:n});try{r?h(n,r):n.removeAttribute(e)}catch{try{n.removeAttribute(e)}catch{}}if(e===`is`){if(Le||Re)try{Ct(n)}catch{}else try{n.setAttribute(e,``)}catch{}}},Dt=function(e){let t=b(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;typeof i!=`string`||be[ft(i)]||wt(e,r,i)}},Ot=function(e){let t=[e];for(;t.length>0;){let e=t.pop();w(e)===Go.element&&Dt(e);let n=_(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},kt=function(e,t){return je?e===`patchsrc`||e===`for`&&t!==`label`&&t!==`output`:!1},At=function(e){if(!je)return;let t=[e];for(;t.length>0;){let e=t.pop(),n=w(e);if(n===Go.processingInstruction||n===Go.comment&&Lo(cye,e.data)){try{m(e)}catch{}continue}if(n===Go.element){let t=e,n=ft(T(e));try{t.hasAttribute&&t.hasAttribute(`patchsrc`)&&t.removeAttribute(`patchsrc`),t.hasAttribute&&t.hasAttribute(`for`)&&kt(`for`,n)&&t.removeAttribute(`for`)}catch{}}let r=_(e);if(r)for(let e=r.length-1;e>=0;--e)t.push(r[e])}},jt=function(e){let t=null,r=null;if(Ie)e=`<remove></remove>`+e;else{let t=zve(e,/^[\r\n\t ]+/);r=t&&t[0]}ut===`application/xhtml+xml`&&tt===et&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=E?M(e):e;if(tt===et)try{t=new u().parseFromString(i,ut)}catch{}if(!t||!t.documentElement){t=re.createDocument(tt,`template`,null);try{t.documentElement.innerHTML=nt?D:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),tt===et?oe.call(t,Me?`html`:`body`)[0]:Me?t.documentElement:a},Mt=function(e){let t=C?C(e):e.ownerDocument;return ie.call(t||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},Nt=function(e){return e=Po(e,le,` `),e=Po(e,ue,` `),e=Po(e,de,` `),e},Pt=function(e){e.normalize();let t=C?C(e):e.ownerDocument,n=ie.call(t||e,e,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),r=n.nextNode();for(;r;)r.data=Nt(r.data),r=n.nextNode();let i=e.querySelectorAll?.call(e,`template`);i&&ko(i,e=>{It(e.content)&&Pt(e.content)})},Ft=function(e){let t=S?S(e):null;return typeof t!=`string`||ft(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==b(e)||typeof e.removeAttribute!=`function`||typeof e.removeAttributeNode!=`function`||typeof e.getAttributeNode!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==x(e)||e.childNodes!==_(e)},It=function(e){if(!x||typeof e!=`object`||!e)return!1;try{return x(e)===Go.documentFragment}catch{return!1}},Lt=function(e){if(!x||typeof e!=`object`||!e)return!1;try{return typeof x(e)==`number`}catch{return!1}};function Rt(e,n,r){e.length!==0&&ko(e,e=>{e.call(t,n,r,pt)})}let zt=function(e,t){return!!(je&&e.hasChildNodes()&&!Lt(e.firstElementChild)&&Lo(Wo,e.textContent)&&Lo(Wo,e.innerHTML)||je&&e.namespaceURI===et&&fye[t]&&(Lt(e.firstElementChild)||typeof e.textContent==`string`&&Lo(pye[t],e.textContent))||e.nodeType===Go.processingInstruction||je&&e.nodeType===Go.comment&&Lo(cye,e.data))},Bt=function(e,t){return e instanceof RegExp?Lo(e,t):e instanceof Function&&!!e(t,...[...arguments].slice(2))},Vt=function(e,t,n){if(!Ce[t]&&qt(t)&&Bt(Se.tagNameCheck,t))return!1;if(Ue&&!Ke[t]){let t=v(e),r=_(e);if(r&&t){let i=r.length;for(let a=i-1;a>=0;--a){let i=e===n?p(r[a],!0):r[a];t.insertBefore(i,g(e))}}}return Ct(e),!0},Ht=function(e,t,n,r){return e.length===0?t:t===n||t===r?xo(t):t},Ut=function(e,t){return e===t||v(e)!==null?!1:(We&&Ot(e),!0)},Wt=function(e,n){if(Rt(ce.beforeSanitizeElements,e,null),Ut(e,n))return!0;if(Ft(e))return Ct(e),!0;let r=ft(T(e));if(ve=Ht(ce.uponSanitizeElement,ve,ye,Pe),Rt(ce.uponSanitizeElement,e,{tagName:r,allowedTags:ve}),Ut(e,n))return!0;if(zt(e,r))return Ct(e),!0;if(Ce[r]||!(Te.tagCheck instanceof Function&&Te.tagCheck(r))&&!ve[r]){let t=Vt(e,r,n);return t===!1&&(Rt(ce.afterSanitizeElements,e,null),Ut(e,n))?!0:t}if(w(e)===Go.element&&!St(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&Lo(lye,e.innerHTML))return Ct(e),!0;if(Ae&&e.nodeType===Go.text){let n=Nt(e.textContent);e.textContent!==n&&(jo(t.removed,{element:e.cloneNode()}),e.textContent=n)}return Rt(ce.afterSanitizeElements,e,null),Ut(e,n)},Gt=function(e,t,r){if(we[t]||kt(t,e)||Be&&(t===`id`||t===`name`)&&(r in n||r in mt))return!1;let i=be[t]||Te.attributeCheck instanceof Function&&Te.attributeCheck(t,e);return De&&Lo(fe,t)||Ee&&Lo(pe,t)?!0:i?Xe[t]||Lo(_e,Po(r,he,``))||(t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&Bve(r,`data:`)===0&&Je[e]||Oe&&!Lo(me,Po(r,he,``))?!0:!r:qt(e)&&Bt(Se.tagNameCheck,e)&&Bt(Se.attributeNameCheck,t,e)||t===`is`&&Se.allowCustomizedBuiltInElements&&Bt(Se.tagNameCheck,r)},Kt=bo({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),qt=function(e){return!Kt[No(e)]&&Lo(ge,e)},Jt=function(e,t,n,r){if(E&&typeof d==`object`&&typeof d.getAttributeType==`function`&&!n)switch(d.getAttributeType(e,t)){case`TrustedHTML`:return M(r);case`TrustedScriptURL`:return ee(r)}return r},Yt=function(e,t,n,r){try{return n?e.setAttributeNS(n,t,r):e.setAttribute(t,r),!Ft(e)||(Ct(e),!1)}catch{return Et(t,e),!1}},Xt=function(e,n){if(Rt(ce.beforeSanitizeAttributes,e,null),Ut(e,n))return;let r=e.attributes;if(!r||Ft(e))return;be=Ht(ce.uponSanitizeAttribute,be,xe,Fe);let i={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:be,forceKeepAttr:void 0},a=r.length,o=ft(e.nodeName);for(;a--;){let n=r[a],s=n.name,l=n.namespaceURI,u=n.value,d=ft(s),f=u,p=s===`value`?f:Vve(f),m=!1;i.attrName=d,i.attrValue=p,i.keepAttr=!0,i.forceKeepAttr=void 0,Rt(ce.uponSanitizeAttribute,e,i),p=i.attrValue,Ve&&(d===`id`||d===`name`)&&Bve(p,He)!==0&&(Et(s,e,n),p=He+p,m=!0),je&&Lo(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,p)||d===`attributename`&&zve(p,`href`)?Et(s,e,n):i.forceKeepAttr||(i.keepAttr?!ke&&Lo(uye,p)?Et(s,e,n):(Ae&&(p=Nt(p)),Gt(o,d,p)?(p=Jt(o,d,l,p),p!==f&&Yt(e,s,l,p)&&m&&Ao(t.removed)):Et(s,e,n)):Et(s,e,n))}Rt(ce.afterSanitizeAttributes,e,null),Ut(e,n)},Zt=function(e){let t=null,n=Mt(e);for(Rt(ce.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(Rt(ce.uponSanitizeShadowNode,t,null),Wt(t,e),Xt(t,e),It(t.content)&&Zt(t.content),w(t)===Go.element){let e=y(t);It(e)&&(Qt(e),Zt(e))}Rt(ce.afterSanitizeShadowDOM,e,null)},Qt=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){Zt(e.shadow);continue}let n=e.node,r=w(n)===Go.element,i=_(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=S?S(n):null;if(typeof e==`string`&&ft(e)===`template`){let e=n.content;It(e)&&t.push({node:e,shadow:null})}}if(r){let e=y(n);It(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(nt=!e,nt&&(e=`<!-->`),typeof e!=`string`&&!Lt(e)&&(e=Ove(e),typeof e!=`string`))throw Ro(`dirty is not a string, aborting`);if(!t.isSupported)return e;Ne?(ve=Pe,be=Fe):gt(n),(ce.uponSanitizeElement.length>0||ce.uponSanitizeAttribute.length>0)&&(ve=xo(ve)),ce.uponSanitizeAttribute.length>0&&(be=xo(be)),t.removed=[];let l=We&&typeof e!=`string`&&Lt(e);if(l){At(e);let t=T(e);if(typeof t==`string`){let n=ft(t);if(!ve[n]||Ce[n])throw Tt(e),Ro(`root node is forbidden and cannot be sanitized in-place`)}if(Ft(e))throw Tt(e),Ro(`root node is clobbered and cannot be sanitized in-place`);try{Qt(e)}catch(t){throw Tt(e),t}}else if(Lt(e))i=jt(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===Go.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),Qt(i);else{if(!Le&&!Ae&&!Me&&e.indexOf(`<`)===-1)return E&&ze?M(e):e;if(i=jt(e),!i)return Le?null:ze?D:``}i&&Ie&&Ct(i.firstChild);let u=l?e:i;try{let e=Mt(u);for(;o=e.nextNode();)Wt(o,u),Xt(o,u),It(o.content)&&Zt(o.content)}catch(n){throw l&&(Tt(e),ko(t.removed,e=>{e.element&&Ot(e.element)})),n}if(l){let n=!1;if(ko(t.removed,t=>{t.element&&(t.element===e&&(n=!0),Ot(t.element))}),n)throw Ro(`a node selected for removal could not be safely returned; refusing to sanitize in place`);return Ae&&Pt(e),e}if(Le){if(Ae&&Pt(i),Re)for(s=ae.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(be.shadowroot||be.shadowrootmode)&&(s=se.call(r,s,!0)),s}let d=Me?i.outerHTML:i.innerHTML;return Me&&ve[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&Lo(sye,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
6288
6288
  `+d),Ae&&(d=Nt(d)),E&&ze?M(d):d},t.setConfig=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};gt(e),Ne=!0,Pe=ve,Fe=be},t.clearConfig=function(){pt=null,Ne=!1,Pe=null,Fe=null,E=O,D=``},t.isValidAttribute=function(e,t,n){pt||gt({});let r=ft(e),i=ft(t);return Gt(r,i,n)},t.addHook=function(e,t){typeof t==`function`&&Fo(ce,e)&&jo(ce[e],t)},t.removeHook=function(e,t){if(Fo(ce,e)){if(t!==void 0){let n=Ive(ce[e],t);return n===-1?void 0:Lve(ce[e],n,1)[0]}return Ao(ce[e])}},t.removeHooks=function(e){Fo(ce,e)&&(ce[e]=[])},t.removeAllHooks=function(){ce=Jo()},t}var Co,jve,Mve,Nve,Pve,wo,To,Eo,Do,Oo,Fve,ko,Ive,Ao,jo,Lve,Mo,No,Rve,zve,Po,Bve,Vve,Hve,Uve,Wve,Gve,Fo,Io,Lo,Ro,Kve,qve,zo,Bo,Jve,Yve,Xve,Zve,Qve,$ve,Vo,Ho,eye,tye,nye,rye,iye,aye,oye,sye,Uo,Wo,cye,lye,uye,Go,dye,fye,pye,Ko,qo,Jo,Yo,mye,Xo,Zo=o((()=>{vo.prototype[typeof Symbol==`function`&&Symbol.asyncIterator||`@@asyncIterator`]=function(){return this},vo.prototype.next=function(e){return this._invoke(`next`,e)},vo.prototype.throw=function(e){return this._invoke(`throw`,e)},vo.prototype.return=function(e){return this._invoke(`return`,e)},Co=Object.entries,jve=Object.setPrototypeOf,Mve=Object.isFrozen,Nve=Object.getPrototypeOf,Pve=Object.getOwnPropertyDescriptor,wo=Object.freeze,To=Object.seal,Eo=Object.create,Do=typeof Reflect<`u`&&Reflect,Oo=Do.apply,Fve=Do.construct,wo||=function(e){return e},To||=function(e){return e},Oo||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},Fve||=function(e){return new e(...[...arguments].slice(1))},ko=yo(Array.prototype.forEach),Array.prototype.indexOf,Ive=yo(Array.prototype.lastIndexOf),Ao=yo(Array.prototype.pop),jo=yo(Array.prototype.push),Array.prototype.slice,Lve=yo(Array.prototype.splice),Mo=Array.isArray,No=yo(String.prototype.toLowerCase),Rve=yo(String.prototype.toString),zve=yo(String.prototype.match),Po=yo(String.prototype.replace),Bve=yo(String.prototype.indexOf),Vve=yo(String.prototype.trim),Hve=yo(Number.prototype.toString),Uve=yo(Boolean.prototype.toString),Wve=typeof BigInt>`u`?null:yo(BigInt.prototype.toString),Gve=typeof Symbol>`u`?null:yo(Symbol.prototype.toString),Fo=yo(Object.prototype.hasOwnProperty),Io=yo(Object.prototype.toString),Lo=yo(RegExp.prototype.test),Ro=Eve(TypeError),Kve=wo(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),qve=wo(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),zo=wo([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Bo=wo([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),Jve=wo(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),Yve=wo([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),Xve=wo([`#text`]),Zve=wo(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.command.commandfor.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns`.split(`.`)),Qve=wo(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dominant-baseline.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.pointer-events.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-orientation.text-rendering.textlength.type.u1.u2.unicode.values.vector-effect.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),$ve=wo(`accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Vo=wo([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Ho=To(/{{[\w\W]*|^[\w\W]*}}/g),eye=To(/<%[\w\W]*|^[\w\W]*%>/g),tye=To(/\${[\w\W]*/g),nye=To(/^data-[\-\w.\u00B7-\uFFFF]+$/),rye=To(/^aria-[\-\w]+$/),iye=To(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),aye=To(/^(?:\w+script|data):/i),oye=To(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),sye=To(/^html$/i),Uo=To(/^[a-z][.\w]*(-[.\w]+)+$/i),Wo=To(/<[/\w!]/g),cye=To(/<[/\w]/g),lye=To(/<\/no(script|embed|frames)/i),uye=To(/\/>/i),Go={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},dye=[`style`,`script`,`xmp`,`iframe`,`noembed`,`noframes`,`plaintext`,`noscript`],fye=wo(bo({},dye)),pye=function(){let e={};return ko(dye,t=>{e[t]=To(RegExp(`</`+t+`(?=[\\t\\n\\f\\r />])`,`i`))}),wo(e)}(),Ko=function(){return typeof window>`u`?null:window},qo=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},Jo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Yo=function(e,t,n,r){return Fo(e,t)&&Mo(e[t])?bo(r.base?xo(r.base):{},e[t],r.transform):n},mye=function(e,t,n){let r=Fo(e,t)?e[t]:void 0;return r&&typeof r==`object`?xo(r):n()},Xo=Ave()})),hye=l({ParseError:()=>gs,SETTINGS_SCHEMA:()=>Ss,__defineFunction:()=>is,__defineMacro:()=>fs,__defineSymbol:()=>V,__domTree:()=>Bu,__parse:()=>nSe,__renderToDomTree:()=>zu,__renderToHTMLTree:()=>iSe,__setFontMetrics:()=>xye,default:()=>oSe,render:()=>Lu,renderToString:()=>Ru,version:()=>aSe});function gye(e){if(typeof e!=`string`)return e.enum[0];switch(e){case`boolean`:return!1;case`string`:return``;case`number`:return 0;case`object`:return{};default:throw Error(`Unexpected schema type; settings must declare an explicit default.`)}}function _ye(e){return Object.prototype.hasOwnProperty.call(e,`default`)&&e.default!==void 0?e.default:gye(Array.isArray(e.type)?e.type[0]:e.type)}function vye(e,t,n,r){var i=Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0,a=Object.prototype.hasOwnProperty.call(r,`processor`)?r.processor:void 0;e[t]=i===void 0?_ye(r):a?a(i):i}function Qo(e){for(var t=0;t<Is.length;t++)for(var n=Is[t],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(e>=i[0]&&e<=i[1])return n.name}return null}function yye(e){for(var t=0;t<Ls.length;t+=2)if(e>=Ls[t]&&e<=Ls[t+1])return!0;return!1}function $o(e){return`toText`in e}function bye(e){if(e instanceof nc)return e;throw Error(`Expected symbolNode but got `+String(e)+`.`)}function es(e){if(e instanceof ec)return e;throw Error(`Expected span<HtmlDomNode> but got `+String(e)+`.`)}function xye(e,t){ac[e]=t}function ts(e,t,n){if(!ac[t])throw Error(`Font metrics not found for font: `+t+`.`);var r=e.charCodeAt(0),i=ac[t][r];if(!i&&e[0]in obe&&(r=obe[e[0]].charCodeAt(0),i=ac[t][r]),!i&&n===`text`&&yye(r)&&(i=ac[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function ns(e){var t=e>=5?0:e>=3?1:2;if(!oc[t]){var n=oc[t]={cssEmPerMu:abe.quad[t]/18};for(var r of Object.keys(abe))n[r]=abe[r][t]}return oc[t]}function V(e,t,n,r,i,a){sc[e][i]={font:t,group:n,replace:r},a&&r&&(sc[e][r]=sc[e][i])}function rs(e){var t=e.strict,n=e.errorCode,r=e.errorMsg,i=e.token,a=e.report,o=t;if(typeof t==`function`){if(a)o=t(n,r,i);else try{o=t(n,r,i)}catch{o=`error`}}switch(o){case!0:case`error`:if(a)throw new gs(`LaTeX-incompatible input and strict mode is set to 'error': `+(r+` [`+n+`]`),i);return!0;case!1:case`ignore`:if(!a)return!1;break;default:if(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(r+` [`+n+`]`)),!a)return!1}}function is(e){for(var t=e.type,n=e.names,r=e.htmlBuilder,i=e.mathmlBuilder,a=0;a<n.length;++a)rl[n[a]]=e;t&&(r&&(il[t]=r),i&&(al[t]=i))}function as(e){var t=e.type,n=e.htmlBuilder,r=e.mathmlBuilder;n&&(il[t]=n),r&&(al[t]=r)}function os(e,t){var n=Wc([`katex-base`],e,t),r=Wc([`katex-strut`]);return r.style.height=Xs(n.height+n.depth),n.depth&&(r.style.verticalAlign=Xs(-n.depth)),n.children.unshift(r),n}function Sye(e,t){var n=null;e.length===1&&e[0].type===`tag`&&(n=e[0].tag,e=e[0].body);var r=cl(e,t,`root`),i;r.length===2&&r[1].hasClass(`katex-tag`)&&(i=r.pop());for(var a=[],o=[],s=0;s<r.length;s++)if(o.push(r[s]),r[s].hasClass(`mbin`)||r[s].hasClass(`mrel`)||r[s].hasClass(`allowbreak`)){for(var l=!1;s<r.length-1&&r[s+1].hasClass(`mspace`)&&!r[s+1].hasClass(`katex-newline`);)s++,o.push(r[s]),r[s].hasClass(`nobreak`)&&(l=!0);l||(a.push(os(o,t)),o=[])}else r[s].hasClass(`katex-newline`)&&(o.pop(),o.length>0&&(a.push(os(o,t)),o=[]),a.push(r[s]));o.length>0&&a.push(os(o,t));var u;n?(u=os(cl(n,t,!0),t),u.classes=[`katex-tag`],a.push(u)):i&&a.push(i);var d=Wc([`katex-html`],a);if(d.setAttribute(`aria-hidden`,`true`),u){var f=u.children[0];f.style.height=Xs(d.height+d.depth),d.depth&&(f.style.verticalAlign=Xs(-d.depth))}return d}function ss(e){return new qs(e)}function cs(e){if(!e)return!1;if(e.type===`mi`&&e.children.length===1){var t=e.children[0];return t instanceof ml&&t.text===`.`}if(e.type===`mo`&&e.children.length===1&&e.getAttribute(`separator`)===`true`&&e.getAttribute(`lspace`)===`0em`&&e.getAttribute(`rspace`)===`0em`){var n=e.children[0];return n instanceof ml&&n.text===`,`}return!1}function Cye(e,t,n,r,i){var a=yl(e,n),o=a.length===1&&a[0]instanceof pl&&zbe.has(a[0].type)?a[0]:new pl(`mrow`,a),s=new pl(`annotation`,[new ml(t)]);s.setAttribute(`encoding`,`application/x-tex`);var l=new pl(`semantics`,[o,s]),u=new pl(`math`,[l]);return u.setAttribute(`xmlns`,`http://www.w3.org/1998/Math/MathML`),r&&u.setAttribute(`display`,`block`),Wc([i?`katex`:`katex-mathml`],[u])}function wye(e){return Ybe.has(e)}function ls(e,t){if(!e||e.type!==t)throw Error(`Expected node of type `+t+`, but got `+(e?`node of type `+e.type:String(e)));return e}function us(e){var t=Tye(e);if(!t)throw Error(`Expected node of symbol group type, but got `+(e?`node of type `+e.type:String(e)));return t}function Tye(e){return e.type===`atom`||Xbe.has(e.type)?e:null}function Eye(e,t,n){var r=``;for(var i of e.body)if(i.type===`textord`)r+=i.text;else if(n&&i.type===`spacing`&&i.text===` `)r+=` `;else throw new gs(t,e);return r}function Dye(e,t){var n=cl(e.body,t,!0);return Wc([e.mclass],n,t)}function Oye(e,t){var n,r=yl(e.body,t);return e.mclass===`minner`?n=new pl(`mpadded`,r):e.mclass===`mord`?e.isCharacterBox?(n=r[0],n.type=`mi`):n=new pl(`mi`,r):(e.isCharacterBox?(n=r[0],n.type=`mo`):n=new pl(`mo`,r),e.mclass===`mbin`?(n.attributes.lspace=`0.22em`,n.attributes.rspace=`0.22em`):e.mclass===`mpunct`?(n.attributes.lspace=`0em`,n.attributes.rspace=`0.17em`):(e.mclass===`mopen`||e.mclass===`mclose`)&&(n.attributes.lspace=`0em`,n.attributes.rspace=`0em`)),n}function kye(e,t,n){var r=jl[e];switch(r){case`\\\\cdrightarrow`:case`\\\\cdleftarrow`:return n.callFunction(r,[t[0]],[t[1]]);case`\\uparrow`:case`\\downarrow`:var i=n.callFunction(`\\\\cdleft`,[t[0]],[]),a={type:`atom`,text:r,mode:`math`,family:`rel`},o={type:`ordgroup`,mode:`math`,body:[i,n.callFunction(`\\Big`,[a],[]),n.callFunction(`\\\\cdright`,[t[1]],[])]};return n.callFunction(`\\\\cdparent`,[o],[]);case`\\\\cdlongequal`:return n.callFunction(`\\\\cdlongequal`,[],[]);case`\\Vert`:return n.callFunction(`\\Big`,[{type:`textord`,text:`\\Vert`,mode:`math`}],[]);default:return{type:`textord`,text:` `,mode:`math`}}}function Aye(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set(`\\cr`,`\\\\\\relax`),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,`\\\\`)),e.gullet.endGroup(),e.gullet.beginGroup();var n=e.fetch().text;if(n===`&`||n===`\\\\`)e.consume();else if(n===`\\end`){t[t.length-1].length===0&&t.pop();break}else throw new gs(`Expected \\\\ or \\cr or \\end`,e.nextToken)}for(var r=[],i=[r],a=0;a<t.length;a++){for(var o=t[a],s=Ml(),l=0;l<o.length;l++)if(!Nl(o[l]))s.body.push(o[l]);else{r.push(s),l+=1;var u=us(o[l]).text,d=[,,];if(d[0]={type:`ordgroup`,mode:`math`,body:[]},d[1]={type:`ordgroup`,mode:`math`,body:[]},!`=|.`.includes(u)){if(`<>AV`.includes(u))for(var f=0;f<2;f++){for(var p=!0,m=l+1;m<o.length;m++){if(Pl(o[m],u)){p=!1,l=m;break}if(Nl(o[m]))throw new gs(`Missing a `+u+` character to complete a CD arrow.`,o[m]);d[f].body.push(o[m])}if(p)throw new gs(`Missing a `+u+` character to complete a CD arrow.`,o[l])}else throw new gs(`Expected one of "<>AV=|." after @`,o[l])}var h={type:`styling`,body:[kye(u,d,e)],mode:`math`,style:`display`,resetFont:!0};r.push(h),s=Ml()}a%2==0?r.push(s):r.shift(),r=[],i.push(r)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:`math`,body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:Array(i[0].length).fill({type:`align`,align:`c`,pregap:.25,postgap:.25}),colSeparationType:`CD`,hLinesBeforeRow:Array(i.length+1).fill([])}}function jye(e){return`isMiddle`in e}function Mye(e,t){var n=Tye(e);if(n&&eu.has(n.text))return n;throw n?new gs(`Invalid delimiter '`+n.text+`' after '`+t.funcName+`'`,e):new gs(`Invalid delimiter type '`+e.type+`'`,e)}function Nye(e){if(!e.body)throw Error(`Bug: The leftright ParseNode wasn't fully parsed.`)}function ds(e){for(var t=e.type,n=e.names,r=e.props,i=e.handler,a=e.htmlBuilder,o=e.mathmlBuilder,s={type:t,numArgs:r.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l<n.length;++l)tu[n[l]]=s;a&&(il[t]=a),o&&(al[t]=o)}function fs(e,t){bxe[e]=t}function ps(e){var t=[];e.consumeSpaces();var n=e.fetch().text;for(n===`\\relax`&&(e.consume(),e.consumeSpaces(),n=e.fetch().text);n===`\\hline`||n===`\\hdashline`;)e.consume(),t.push(n===`\\hdashline`),e.consumeSpaces(),n=e.fetch().text;return t}function ms(e){if(!e.includes(`ed`))return!e.includes(`*`)}function hs(e,t,n){var r=t.hskipBeforeAndAfter,i=t.addJot,a=t.cols,o=t.arraystretch,s=t.colSeparationType,l=t.autoTag,u=t.singleRow,d=t.emptySingleRow,f=t.maxNumCols,p=t.leqno;if(e.gullet.beginGroup(),u||e.gullet.macros.set(`\\cr`,`\\\\\\relax`),!o){var m=e.gullet.expandMacroAsText(`\\arraystretch`);if(m==null)o=1;else if(o=parseFloat(m),!o||o<0)throw new gs(`Invalid \\arraystretch: `+m)}e.gullet.beginGroup();var h=[],g=[h],_=[],v=[],y=l==null?void 0:[];function b(){l&&e.gullet.macros.set(`\\@eqnsw`,`1`,!0)}function x(){y&&(e.gullet.macros.get(`\\df@tag`)?(y.push(e.subparse([new ru(`\\df@tag`)])),e.gullet.macros.set(`\\df@tag`,void 0,!0)):y.push(!!l&&e.gullet.macros.get(`\\@eqnsw`)===`1`))}for(b(),v.push(ps(e));;){var S=e.parseExpression(!1,u?`\\end`:`\\\\`);e.gullet.endGroup(),e.gullet.beginGroup();var C={type:`ordgroup`,mode:e.mode,body:S};n&&(C={type:`styling`,mode:e.mode,style:n,resetFont:!0,body:[C]}),h.push(C);var w=e.fetch().text;if(w===`&`){if(f&&h.length===f){if(u||s)throw new gs(`Too many tab characters: &`,e.nextToken);rs({strict:e.settings.strict,errorCode:`textEnv`,errorMsg:`Too few columns specified in the {array} column argument.`,report:!0})}e.consume()}else if(w===`\\end`){x(),h.length===1&&C.type===`styling`&&C.body.length===1&&C.body[0].type===`ordgroup`&&C.body[0].body.length===0&&(g.length>1||!d)&&!Array.isArray(y?.[y.length-1])&&!(l&&y?.[y.length-1]===!0)&&g.pop(),v.length<g.length+1&&v.push([]);break}else if(w===`\\\\`){e.consume();var T=void 0;e.gullet.future().text!==` `&&(T=e.parseSizeGroup(!0)),_.push(T?T.value:null),x(),v.push(ps(e)),h=[],g.push(h),b()}else throw new gs(`Expected & or \\\\ or \\cr or \\end`,e.nextToken)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:e.mode,addJot:i,arraystretch:o,body:g,cols:a,rowGaps:_,hskipBeforeAndAfter:r,hLinesBeforeRow:v,colSeparationType:s,tags:y,leqno:p}}function Pye(e){return e.slice(0,1)===`d`?`display`:`text`}function Fye(e,t,n){for(var r=cl(e,t,!1),i=t.sizeMultiplier/n.sizeMultiplier,a=0;a<r.length;a++){var o=r[a].classes.indexOf(`katex-sizing`);o<0?Array.prototype.push.apply(r[a].classes,t.sizingClasses(n)):r[a].classes[o+1]===`reset-size`+t.size&&(r[a].classes[o+1]=`reset-size`+n.size),r[a].height*=i,r[a].depth*=i}return qc(r)}function Iye(e){return e in Pxe}var gs,Lye,Rye,zye,Bye,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es,Ds,Os,ks,As,js,Ms,Ns,Ps,Vye,Hye,Uye,Wye,Gye,Fs,Is,Ls,Rs,zs,Kye,Bs,Vs,Hs,Us,qye,Ws,Gs,Jye,Ks,Yye,qs,Js,Xye,Zye,Ys,Xs,Zs,Qs,$s,Qye,$ye,ebe,ec,tc,tbe,nbe,nc,rc,ic,rbe,ibe,ac,abe,obe,oc,sc,H,cc,lc,uc,dc,fc,pc,mc,hc,gc,_c,vc,yc,bc,xc,sbe,cbe,lbe,ube,dbe,Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc,fbe,pbe,mbe,hbe,gbe,Mc,_be,Nc,vbe,ybe,bbe,xbe,Pc,Fc,Ic,Sbe,Lc,Cbe,Rc,zc,Bc,wbe,Vc,Tbe,Hc,Uc,Wc,Gc,Kc,Ebe,qc,Jc,Dbe,Yc,Xc,Zc,Qc,Obe,$c,el,tl,nl,kbe,Abe,rl,il,al,ol,sl,jbe,Mbe,Nbe,Pbe,cl,ll,ul,Fbe,Ibe,dl,fl,pl,ml,Lbe,Rbe,zbe,hl,gl,_l,vl,yl,bl,xl,Bbe,Sl,Vbe,Cl,wl,Tl,Hbe,Ube,Wbe,El,Gbe,Kbe,Dl,qbe,Jbe,Ol,Ybe,Xbe,Zbe,Qbe,$be,exe,kl,Al,jl,Ml,Nl,Pl,Fl,Il,Ll,Rl,zl,Bl,Vl,Hl,Ul,Wl,Gl,Kl,ql,Jl,Yl,Xl,Zl,txe,nxe,rxe,ixe,axe,oxe,Ql,sxe,cxe,$l,lxe,uxe,dxe,fxe,pxe,mxe,hxe,gxe,_xe,eu,vxe,yxe,tu,bxe,nu,ru,iu,xxe,au,Sxe,ou,Cxe,wxe,Txe,su,Exe,Dxe,Oxe,kxe,Axe,jxe,cu,Mxe,lu,Nxe,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,Pxe,xu,Su,Cu,wu,Tu,Eu,Fxe,Ixe,Lxe,Rxe,Du,zxe,Ou,ku,Au,Bxe,Vxe,Hxe,Uxe,Wxe,Gxe,Kxe,qxe,ju,Jxe,Yxe,Mu,Nu,Xxe,Pu,Fu,Zxe,Qxe,$xe,eSe,tSe,Iu,Lu,Ru,nSe,rSe,zu,iSe,aSe,Bu,oSe,Vu=o((()=>{for(gs=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var l=s.slice(i,a).replace(/[^]/g,`$&̲`),u=i>15?`…`+s.slice(i-15,i):s.slice(0,i),d=a+15<s.length?s.slice(a,a+15)+`…`:s.slice(a);r+=u+l+d}super(r),this.name=`ParseError`,this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,e.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}},Lye=/([A-Z])/g,Rye=e=>e.replace(Lye,`-$1`).toLowerCase(),zye={"&":`&amp;`,">":`&gt;`,"<":`&lt;`,'"':`&quot;`,"'":`&#x27;`},Bye=/[&><"']/g,_s=e=>String(e).replace(Bye,e=>zye[e]),vs=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?vs(e.body[0]):e:e.type===`font`?vs(e.body):e,ys=new Set([`mathord`,`textord`,`atom`]),bs=e=>ys.has(vs(e).type),xs=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==`:`||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():`_relative`},Ss={displayMode:{type:`boolean`,description:`Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.`,cli:`-d, --display-mode`},output:{type:{enum:[`htmlAndMathml`,`html`,`mathml`]},description:`Determines the markup language of the output.`,cli:`-F, --format <type>`},leqno:{type:`boolean`,description:`Render display math in leqno style (left-justified tags).`},fleqn:{type:`boolean`,description:`Render display math flush left.`},throwOnError:{type:`boolean`,default:!0,cli:`-t, --no-throw-on-error`,cliDescription:`Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.`},errorColor:{type:`string`,default:`#cc0000`,cli:`-c, --error-color <color>`,cliDescription:`A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.`,cliProcessor:e=>`#`+e},macros:{type:`object`,cli:`-m, --macro <def>`,cliDescription:`Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).`,cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:`number`,description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:`--min-rule-thickness <size>`,cliProcessor:parseFloat},colorIsTextColor:{type:`boolean`,description:`Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.`,cli:`-b, --color-is-text-color`},strict:{type:[{enum:[`warn`,`ignore`,`error`]},`boolean`,`function`],description:`Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.`,cli:`-S, --strict`,cliDefault:!1},trust:{type:[`boolean`,`function`],description:`Trust the input, enabling all HTML features such as \\url.`,cli:`-T, --trust`},maxSize:{type:`number`,default:1/0,description:`If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large`,processor:e=>Math.max(0,e),cli:`-s, --max-size <n>`,cliProcessor:parseInt},maxExpand:{type:`number`,default:1e3,description:`Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.`,processor:e=>Math.max(0,e),cli:`-e, --max-expand <n>`,cliProcessor:e=>e===`Infinity`?1/0:parseInt(e)},globalGroup:{type:`boolean`,cli:!1}},Cs=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e||={};for(var t of Object.keys(Ss)){var n=Ss[t];n&&vye(this,t,e,n)}}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=xs(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},ws=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return Ns[Ps[this.id]]}sub(){return Ns[Vye[this.id]]}fracNum(){return Ns[Hye[this.id]]}fracDen(){return Ns[Uye[this.id]]}cramp(){return Ns[Wye[this.id]]}text(){return Ns[Gye[this.id]]}isTight(){return this.size>=2}},Ts=0,Es=1,Ds=2,Os=3,ks=4,As=5,js=6,Ms=7,Ns=[new ws(Ts,0,!1),new ws(Es,0,!0),new ws(Ds,1,!1),new ws(Os,1,!0),new ws(ks,2,!1),new ws(As,2,!0),new ws(js,3,!1),new ws(Ms,3,!0)],Ps=[ks,As,ks,As,js,Ms,js,Ms],Vye=[As,As,As,As,Ms,Ms,Ms,Ms],Hye=[Ds,Os,ks,As,js,Ms,js,Ms],Uye=[Os,Os,As,As,Ms,Ms,Ms,Ms],Wye=[Es,Es,Os,Os,As,As,Ms,Ms],Gye=[Ts,Es,Ds,Os,Ds,Os,Ds,Os],Fs={DISPLAY:Ns[Ts],TEXT:Ns[Ds],SCRIPT:Ns[ks],SCRIPTSCRIPT:Ns[js]},Is=[{name:`latin`,blocks:[[256,591],[768,879]]},{name:`cyrillic`,blocks:[[1024,1279]]},{name:`armenian`,blocks:[[1328,1423]]},{name:`brahmic`,blocks:[[2304,4255]]},{name:`georgian`,blocks:[[4256,4351]]},{name:`cjk`,blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:`hangul`,blocks:[[44032,55215]]}],Ls=[],Is.forEach(e=>e.blocks.forEach(e=>Ls.push(...e))),Rs=e=>e+` `+e,zs=80,Kye=function(e,t){return`M95,`+(622+e+t)+`
6289
6289
  c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14