@cetusprotocol/deepbook-utils 1.5.6 → 1.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
- var e0=Object.defineProperty;var mT=(t,e,n)=>e in t?e0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var bi=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var gT=(t,e)=>{for(var n in e)e0(t,n,{get:e[n],enumerable:!0})};var An=(t,e,n)=>(mT(t,typeof e!="symbol"?e+"":e,n),n);var t0=/^(?!.*(^(?!@)|[-.@])($|[-.@]))(?:[a-z0-9-]{0,63}(?:\.[a-z0-9-]{0,63})*)?@[a-z0-9-]{0,63}$/i,n0=/^(?!.*(^|[-.])($|[-.]))(?:[a-z0-9-]{0,63}\.)+sui$/i;function r0(t){return t.length>235?!1:t.includes("@")?t0.test(t):n0.test(t)}function s0(t,e="at"){let n=t.toLowerCase(),r;if(n.includes("@")){if(!t0.test(n))throw new Error(`Invalid SuiNS name ${t}`);let[s,i]=n.split("@");r=[...s?s.split("."):[],i]}else{if(!n0.test(n))throw new Error(`Invalid SuiNS name ${t}`);r=n.split(".").slice(0,-1)}return e==="dot"?`${r.join(".")}.sui`:`${r.slice(0,-1).join(".")}@${r[r.length-1]}`}function wi(t){let e=BigInt(t),n=[],r=0;if(e===0n)return[0];for(;e>0;)n[r]=Number(e&127n),e>>=7n,e>0n&&(n[r]|=128),r+=1;return n}function i0(t){let e=0n,n=0n,r=0;for(;;){if(r>=t.length)throw new Error("ULEB decode error: buffer overflow");let s=t[r];if(r+=1,e+=BigInt(s&127)<<n,!(s&128))break;n+=7n}if(e>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("ULEB decode error: value exceeds MAX_SAFE_INTEGER");return{value:Number(e),length:r}}var o0=class{constructor(t){this.bytePosition=0,this.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength)}shift(t){return this.bytePosition+=t,this}read8(){let t=this.dataView.getUint8(this.bytePosition);return this.shift(1),t}read16(){let t=this.dataView.getUint16(this.bytePosition,!0);return this.shift(2),t}read32(){let t=this.dataView.getUint32(this.bytePosition,!0);return this.shift(4),t}read64(){let t=this.read32(),e=this.read32().toString(16)+t.toString(16).padStart(8,"0");return BigInt("0x"+e).toString(10)}read128(){let t=BigInt(this.read64()),e=BigInt(this.read64()).toString(16)+t.toString(16).padStart(16,"0");return BigInt("0x"+e).toString(10)}read256(){let t=BigInt(this.read128()),e=BigInt(this.read128()).toString(16)+t.toString(16).padStart(32,"0");return BigInt("0x"+e).toString(10)}readBytes(t){let e=this.bytePosition+this.dataView.byteOffset,n=new Uint8Array(this.dataView.buffer,e,t);return this.shift(t),n}readULEB(){let t=this.bytePosition+this.dataView.byteOffset,{value:e,length:n}=i0(new Uint8Array(this.dataView.buffer,t));return this.shift(n),e}readVec(t){let e=this.readULEB(),n=[];for(let r=0;r<e;r++)n.push(t(this,r,e));return n}};function wo(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Rd(t){if(!wo(t))throw new Error("Uint8Array expected")}function d0(t,e){return Array.isArray(e)?e.length===0?!0:t?e.every(n=>typeof n=="string"):e.every(n=>Number.isSafeInteger(n)):!1}function Bd(t){if(typeof t!="function")throw new Error("function expected");return!0}function Cs(t,e){if(typeof e!="string")throw new Error(`${t}: string expected`);return!0}function vo(t){if(!Number.isSafeInteger(t))throw new Error(`invalid integer: ${t}`)}function $c(t){if(!Array.isArray(t))throw new Error("array expected")}function Gc(t,e){if(!d0(!0,e))throw new Error(`${t}: array of strings expected`)}function Md(t,e){if(!d0(!1,e))throw new Error(`${t}: array of numbers expected`)}function Cn(...t){let e=i=>i,n=(i,o)=>a=>i(o(a)),r=t.map(i=>i.encode).reduceRight(n,e),s=t.map(i=>i.decode).reduce(n,e);return{encode:r,decode:s}}function Vn(t){let e=typeof t=="string"?t.split(""):t,n=e.length;Gc("alphabet",e);let r=new Map(e.map((s,i)=>[s,i]));return{encode:s=>($c(s),s.map(i=>{if(!Number.isSafeInteger(i)||i<0||i>=n)throw new Error(`alphabet.encode: digit index outside alphabet "${i}". Allowed: ${t}`);return e[i]})),decode:s=>($c(s),s.map(i=>{Cs("alphabet.decode",i);let o=r.get(i);if(o===void 0)throw new Error(`Unknown letter: "${i}". Allowed: ${t}`);return o}))}}function Fn(t=""){return Cs("join",t),{encode:e=>(Gc("join.decode",e),e.join(t)),decode:e=>(Cs("join.decode",e),e.split(t))}}function zc(t,e="="){return vo(t),Cs("padding",e),{encode(n){for(Gc("padding.encode",n);n.length*t%8;)n.push(e);return n},decode(n){Gc("padding.decode",n);let r=n.length;if(r*t%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;r>0&&n[r-1]===e;r--)if((r-1)*t%8===0)throw new Error("padding: invalid, string has too much padding");return n.slice(0,r)}}}function f0(t){return Bd(t),{encode:e=>e,decode:e=>t(e)}}function a0(t,e,n){if(e<2)throw new Error(`convertRadix: invalid from=${e}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: invalid to=${n}, base cannot be less than 2`);if($c(t),!t.length)return[];let r=0,s=[],i=Array.from(t,a=>{if(vo(a),a<0||a>=e)throw new Error(`invalid integer: ${a}`);return a}),o=i.length;for(;;){let a=0,c=!0;for(let u=r;u<o;u++){let d=i[u],f=e*a,p=f+d;if(!Number.isSafeInteger(p)||f/e!==a||p-d!==f)throw new Error("convertRadix: carry overflow");let m=p/n;a=p%n;let b=Math.floor(m);if(i[u]=b,!Number.isSafeInteger(b)||b*n+a!==p)throw new Error("convertRadix: carry overflow");if(c)b?c=!1:r=u;else continue}if(s.push(a),c)break}for(let a=0;a<t.length-1&&t[a]===0;a++)s.push(0);return s.reverse()}var p0=(t,e)=>e===0?t:p0(e,t%e),Hc=(t,e)=>t+(e-p0(t,e)),qc=(()=>{let t=[];for(let e=0;e<40;e++)t.push(2**e);return t})();function Cd(t,e,n,r){if($c(t),e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(Hc(e,n)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${n} carryBits=${Hc(e,n)}`);let s=0,i=0,o=qc[e],a=qc[n]-1,c=[];for(let u of t){if(vo(u),u>=o)throw new Error(`convertRadix2: invalid data word=${u} from=${e}`);if(s=s<<e|u,i+e>32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${e}`);for(i+=e;i>=n;i-=n)c.push((s>>i-n&a)>>>0);let d=qc[i];if(d===void 0)throw new Error("invalid carry");s&=d-1}if(s=s<<n-i&a,!r&&i>=e)throw new Error("Excess padding");if(!r&&s>0)throw new Error(`Non-zero padding: ${s}`);return r&&i>0&&c.push(s>>>0),c}function yT(t){vo(t);let e=2**8;return{encode:n=>{if(!wo(n))throw new Error("radix.encode input should be Uint8Array");return a0(Array.from(n),e,t)},decode:n=>(Md("radix.decode",n),Uint8Array.from(a0(n,t,e)))}}function Kn(t,e=!1){if(vo(t),t<=0||t>32)throw new Error("radix2: bits should be in (0..32]");if(Hc(8,t)>32||Hc(t,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!wo(n))throw new Error("radix2.encode input should be Uint8Array");return Cd(Array.from(n),8,t,!e)},decode:n=>(Md("radix2.decode",n),Uint8Array.from(Cd(n,t,8,e)))}}function c0(t){return Bd(t),function(...e){try{return t.apply(null,e)}catch{}}}function bT(t,e){return vo(t),Bd(e),{encode(n){if(!wo(n))throw new Error("checksum.encode: input should be Uint8Array");let r=e(n).slice(0,t),s=new Uint8Array(n.length+t);return s.set(n),s.set(r,n.length),s},decode(n){if(!wo(n))throw new Error("checksum.decode: input should be Uint8Array");let r=n.slice(0,-t),s=n.slice(-t),i=e(r).slice(0,t);for(let o=0;o<t;o++)if(i[o]!==s[o])throw new Error("Invalid checksum");return r}}}var dN=Cn(Kn(4),Vn("0123456789ABCDEF"),Fn("")),fN=Cn(Kn(5),Vn("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),zc(5),Fn("")),pN=Cn(Kn(5),Vn("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Fn("")),hN=Cn(Kn(5),Vn("0123456789ABCDEFGHIJKLMNOPQRSTUV"),zc(5),Fn("")),mN=Cn(Kn(5),Vn("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Fn("")),gN=Cn(Kn(5),Vn("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),Fn(""),f0(t=>t.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),h0=(()=>typeof Uint8Array.from([]).toBase64=="function"&&typeof Uint8Array.fromBase64=="function")(),m0=(t,e)=>{Cs("base64",t);let n=e?/^[A-Za-z0-9=_-]+$/:/^[A-Za-z0-9=+/]+$/,r=e?"base64url":"base64";if(t.length>0&&!n.test(t))throw new Error("invalid base64");return Uint8Array.fromBase64(t,{alphabet:r,lastChunkHandling:"strict"})},yN=h0?{encode(t){return Rd(t),t.toBase64()},decode(t){return m0(t,!1)}}:Cn(Kn(6),Vn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),zc(6),Fn("")),bN=Cn(Kn(6),Vn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Fn("")),wN=h0?{encode(t){return Rd(t),t.toBase64({alphabet:"base64url"})},decode(t){return m0(t,!0)}}:Cn(Kn(6),Vn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),zc(6),Fn("")),vN=Cn(Kn(6),Vn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Fn("")),jd=t=>Cn(yT(58),Vn(t),Fn("")),Wc=jd("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),_N=jd("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),TN=jd("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");var g0=t=>Cn(bT(4,e=>t(t(e))),Wc);var Nd=Cn(Vn("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Fn("")),u0=[996825010,642813549,513874426,1027748829,705979059];function wa(t){let e=t>>25,n=(t&33554431)<<5;for(let r=0;r<u0.length;r++)(e>>r&1)===1&&(n^=u0[r]);return n}function l0(t,e,n=1){let r=t.length,s=1;for(let i=0;i<r;i++){let o=t.charCodeAt(i);if(o<33||o>126)throw new Error(`Invalid prefix (${t})`);s=wa(s)^o>>5}s=wa(s);for(let i=0;i<r;i++)s=wa(s)^t.charCodeAt(i)&31;for(let i of e)s=wa(s)^i;for(let i=0;i<6;i++)s=wa(s);return s^=n,Nd.encode(Cd([s%qc[30]],30,5,!1))}function y0(t){let e=t==="bech32"?1:734539939,n=Kn(5),r=n.decode,s=n.encode,i=c0(r);function o(f,p,m=90){Cs("bech32.encode prefix",f),wo(p)&&(p=Array.from(p)),Md("bech32.encode",p);let b=f.length;if(b===0)throw new TypeError(`Invalid prefix length ${b}`);let v=b+7+p.length;if(m!==!1&&v>m)throw new TypeError(`Length ${v} exceeds limit ${m}`);let T=f.toLowerCase(),O=l0(T,p,e);return`${T}1${Nd.encode(p)}${O}`}function a(f,p=90){Cs("bech32.decode input",f);let m=f.length;if(m<8||p!==!1&&m>p)throw new TypeError(`invalid string length: ${m} (${f}). Expected (8..${p})`);let b=f.toLowerCase();if(f!==b&&f!==f.toUpperCase())throw new Error("String must be lowercase or uppercase");let v=b.lastIndexOf("1");if(v===0||v===-1)throw new Error('Letter "1" must be present between prefix and data only');let T=b.slice(0,v),O=b.slice(v+1);if(O.length<6)throw new Error("Data must be at least 6 characters long");let B=Nd.decode(O).slice(0,-6),C=l0(T,B,e);if(!O.endsWith(C))throw new Error(`Invalid checksum in ${f}: expected "${C}"`);return{prefix:T,words:B}}let c=c0(a);function u(f){let{prefix:p,words:m}=a(f,!1);return{prefix:p,words:m,bytes:r(m)}}function d(f,p){return o(f,s(p))}return{encode:o,decode:a,encodeFromBytes:d,decodeToBytes:u,decodeUnsafe:c,fromWords:r,fromWordsUnsafe:i,toWords:s}}var va=y0("bech32"),kN=y0("bech32m");var wT=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),vT={encode(t){return Rd(t),t.toHex()},decode(t){return Cs("hex",t),Uint8Array.fromHex(t)}},EN=wT?vT:Cn(Kn(4),Vn("0123456789abcdef"),Fn(""),f0(t=>{if(typeof t!="string"||t.length%2!==0)throw new TypeError(`hex.decode: expected string, got ${typeof t} with length ${t.length}`);return t.toLowerCase()}));var qn=t=>Wc.encode(t),pn=t=>Wc.decode(t);function ce(t){return Uint8Array.from(atob(t),e=>e.charCodeAt(0))}var Dd=8192;function ge(t){if(t.length<Dd)return btoa(String.fromCharCode(...t));let e="";for(var n=0;n<t.length;n+=Dd){let r=t.slice(n,n+Dd);e+=String.fromCharCode(...r)}return btoa(e)}function hn(t){let e=t.startsWith("0x")?t.slice(2):t,n=e.length%2===0?e:`0${e}`,r=n.match(/[0-9a-fA-F]{2}/g)?.map(s=>parseInt(s,16))??[];if(r.length!==n.length/2)throw new Error(`Invalid hex string ${t}`);return Uint8Array.from(r)}function qt(t){return t.reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}function Yn(t,e){return Array.from({length:Math.ceil(t.length/e)},(n,r)=>t.slice(r*e,(r+1)*e))}var Zc=class{constructor(t,e){if(typeof t!="function")throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: ${t}.`);this._batchLoadFn=t,this._maxBatchSize=ET(e),this._batchScheduleFn=ST(e),this._cacheKeyFn=xT(e),this._cacheMap=OT(e),this._batch=null,this.name=IT(e)}load(t){if(t==null)throw new TypeError(`The loader.load() function must be called with a value, but got: ${String(t)}.`);let e=TT(this),n=this._cacheMap,r;if(n){r=this._cacheKeyFn(t);let i=n.get(r);if(i){let o=e.cacheHits||(e.cacheHits=[]);return new Promise(a=>{o.push(()=>{a(i)})})}}e.keys.push(t);let s=new Promise((i,o)=>{e.callbacks.push({resolve:i,reject:o})});return n&&n.set(r,s),s}loadMany(t){if(!b0(t))throw new TypeError(`The loader.loadMany() function must be called with Array<key>, but got: ${t}.`);let e=[];for(let n=0;n<t.length;n++)e.push(this.load(t[n]).catch(r=>r));return Promise.all(e)}clear(t){let e=this._cacheMap;if(e){let n=this._cacheKeyFn(t);e.delete(n)}return this}clearAll(){let t=this._cacheMap;return t&&t.clear(),this}prime(t,e){let n=this._cacheMap;if(n){let r=this._cacheKeyFn(t);if(n.get(r)===void 0){let s;e instanceof Error?(s=Promise.reject(e),s.catch(()=>{})):s=Promise.resolve(e),n.set(r,s)}}return this}},_T=typeof process=="object"&&typeof process.nextTick=="function"?function(t){Ud||(Ud=Promise.resolve()),Ud.then(()=>{process.nextTick(t)})}:typeof setImmediate=="function"?function(t){setImmediate(t)}:function(t){setTimeout(t)},Ud;function TT(t){let e=t._batch;if(e!==null&&!e.hasDispatched&&e.keys.length<t._maxBatchSize)return e;let n={hasDispatched:!1,keys:[],callbacks:[]};return t._batch=n,t._batchScheduleFn(()=>{kT(t,n)}),n}function kT(t,e){if(e.hasDispatched=!0,e.keys.length===0){Ld(e);return}let n;try{n=t._batchLoadFn(e.keys)}catch(r){return Pd(t,e,new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: ${String(r)}.`))}if(!n||typeof n.then!="function")return Pd(t,e,new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: ${String(n)}.`));Promise.resolve(n).then(r=>{if(!b0(r))throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: ${String(r)}.`);if(r.length!==e.keys.length)throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.
1
+ var zm=Object.defineProperty;var nT=(t,e,n)=>e in t?zm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var yi=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var rT=(t,e)=>{for(var n in e)zm(t,n,{get:e[n],enumerable:!0})};var xn=(t,e,n)=>(nT(t,typeof e!="symbol"?e+"":e,n),n);var sT=/^(?!.*(^(?!@)|[-.@])($|[-.@]))(?:[a-z0-9-]{0,63}(?:\.[a-z0-9-]{0,63})*)?@[a-z0-9-]{0,63}$/i,iT=/^(?!.*(^|[-.])($|[-.]))(?:[a-z0-9-]{0,63}\.)+sui$/i;function Wm(t){return t.length>235?!1:t.includes("@")?sT.test(t):iT.test(t)}function bi(t){let e=BigInt(t),n=[],r=0;if(e===0n)return[0];for(;e>0;)n[r]=Number(e&127n),e>>=7n,e>0n&&(n[r]|=128),r+=1;return n}function Zm(t){let e=0n,n=0n,r=0;for(;;){if(r>=t.length)throw new Error("ULEB decode error: buffer overflow");let s=t[r];if(r+=1,e+=BigInt(s&127)<<n,!(s&128))break;n+=7n}if(e>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("ULEB decode error: value exceeds MAX_SAFE_INTEGER");return{value:Number(e),length:r}}var Jm=class{constructor(t){this.bytePosition=0,this.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength)}shift(t){return this.bytePosition+=t,this}read8(){let t=this.dataView.getUint8(this.bytePosition);return this.shift(1),t}read16(){let t=this.dataView.getUint16(this.bytePosition,!0);return this.shift(2),t}read32(){let t=this.dataView.getUint32(this.bytePosition,!0);return this.shift(4),t}read64(){let t=this.read32(),e=this.read32().toString(16)+t.toString(16).padStart(8,"0");return BigInt("0x"+e).toString(10)}read128(){let t=BigInt(this.read64()),e=BigInt(this.read64()).toString(16)+t.toString(16).padStart(16,"0");return BigInt("0x"+e).toString(10)}read256(){let t=BigInt(this.read128()),e=BigInt(this.read128()).toString(16)+t.toString(16).padStart(32,"0");return BigInt("0x"+e).toString(10)}readBytes(t){let e=this.bytePosition+this.dataView.byteOffset,n=new Uint8Array(this.dataView.buffer,e,t);return this.shift(t),n}readULEB(){let t=this.bytePosition+this.dataView.byteOffset,{value:e,length:n}=Zm(new Uint8Array(this.dataView.buffer,t));return this.shift(n),e}readVec(t){let e=this.readULEB(),n=[];for(let r=0;r<e;r++)n.push(t(this,r,e));return n}};function bo(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Sd(t){if(!bo(t))throw new Error("Uint8Array expected")}function e0(t,e){return Array.isArray(e)?e.length===0?!0:t?e.every(n=>typeof n=="string"):e.every(n=>Number.isSafeInteger(n)):!1}function Od(t){if(typeof t!="function")throw new Error("function expected");return!0}function Is(t,e){if(typeof e!="string")throw new Error(`${t}: string expected`);return!0}function wo(t){if(!Number.isSafeInteger(t))throw new Error(`invalid integer: ${t}`)}function Fc(t){if(!Array.isArray(t))throw new Error("array expected")}function qc(t,e){if(!e0(!0,e))throw new Error(`${t}: array of strings expected`)}function Id(t,e){if(!e0(!1,e))throw new Error(`${t}: array of numbers expected`)}function Sn(...t){let e=i=>i,n=(i,o)=>a=>i(o(a)),r=t.map(i=>i.encode).reduceRight(n,e),s=t.map(i=>i.decode).reduce(n,e);return{encode:r,decode:s}}function jn(t){let e=typeof t=="string"?t.split(""):t,n=e.length;qc("alphabet",e);let r=new Map(e.map((s,i)=>[s,i]));return{encode:s=>(Fc(s),s.map(i=>{if(!Number.isSafeInteger(i)||i<0||i>=n)throw new Error(`alphabet.encode: digit index outside alphabet "${i}". Allowed: ${t}`);return e[i]})),decode:s=>(Fc(s),s.map(i=>{Is("alphabet.decode",i);let o=r.get(i);if(o===void 0)throw new Error(`Unknown letter: "${i}". Allowed: ${t}`);return o}))}}function Un(t=""){return Is("join",t),{encode:e=>(qc("join.decode",e),e.join(t)),decode:e=>(Is("join.decode",e),e.split(t))}}function Gc(t,e="="){return wo(t),Is("padding",e),{encode(n){for(qc("padding.encode",n);n.length*t%8;)n.push(e);return n},decode(n){qc("padding.decode",n);let r=n.length;if(r*t%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;r>0&&n[r-1]===e;r--)if((r-1)*t%8===0)throw new Error("padding: invalid, string has too much padding");return n.slice(0,r)}}}function t0(t){return Od(t),{encode:e=>e,decode:e=>t(e)}}function Km(t,e,n){if(e<2)throw new Error(`convertRadix: invalid from=${e}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: invalid to=${n}, base cannot be less than 2`);if(Fc(t),!t.length)return[];let r=0,s=[],i=Array.from(t,a=>{if(wo(a),a<0||a>=e)throw new Error(`invalid integer: ${a}`);return a}),o=i.length;for(;;){let a=0,c=!0;for(let u=r;u<o;u++){let d=i[u],f=e*a,p=f+d;if(!Number.isSafeInteger(p)||f/e!==a||p-d!==f)throw new Error("convertRadix: carry overflow");let m=p/n;a=p%n;let b=Math.floor(m);if(i[u]=b,!Number.isSafeInteger(b)||b*n+a!==p)throw new Error("convertRadix: carry overflow");if(c)b?c=!1:r=u;else continue}if(s.push(a),c)break}for(let a=0;a<t.length-1&&t[a]===0;a++)s.push(0);return s.reverse()}var n0=(t,e)=>e===0?t:n0(e,t%e),$c=(t,e)=>t+(e-n0(t,e)),Vc=(()=>{let t=[];for(let e=0;e<40;e++)t.push(2**e);return t})();function Ed(t,e,n,r){if(Fc(t),e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if($c(e,n)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${n} carryBits=${$c(e,n)}`);let s=0,i=0,o=Vc[e],a=Vc[n]-1,c=[];for(let u of t){if(wo(u),u>=o)throw new Error(`convertRadix2: invalid data word=${u} from=${e}`);if(s=s<<e|u,i+e>32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${e}`);for(i+=e;i>=n;i-=n)c.push((s>>i-n&a)>>>0);let d=Vc[i];if(d===void 0)throw new Error("invalid carry");s&=d-1}if(s=s<<n-i&a,!r&&i>=e)throw new Error("Excess padding");if(!r&&s>0)throw new Error(`Non-zero padding: ${s}`);return r&&i>0&&c.push(s>>>0),c}function oT(t){wo(t);let e=2**8;return{encode:n=>{if(!bo(n))throw new Error("radix.encode input should be Uint8Array");return Km(Array.from(n),e,t)},decode:n=>(Id("radix.decode",n),Uint8Array.from(Km(n,t,e)))}}function Hn(t,e=!1){if(wo(t),t<=0||t>32)throw new Error("radix2: bits should be in (0..32]");if($c(8,t)>32||$c(t,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!bo(n))throw new Error("radix2.encode input should be Uint8Array");return Ed(Array.from(n),8,t,!e)},decode:n=>(Id("radix2.decode",n),Uint8Array.from(Ed(n,t,8,e)))}}function Ym(t){return Od(t),function(...e){try{return t.apply(null,e)}catch{}}}function aT(t,e){return wo(t),Od(e),{encode(n){if(!bo(n))throw new Error("checksum.encode: input should be Uint8Array");let r=e(n).slice(0,t),s=new Uint8Array(n.length+t);return s.set(n),s.set(r,n.length),s},decode(n){if(!bo(n))throw new Error("checksum.decode: input should be Uint8Array");let r=n.slice(0,-t),s=n.slice(-t),i=e(r).slice(0,t);for(let o=0;o<t;o++)if(i[o]!==s[o])throw new Error("Invalid checksum");return r}}}var z3=Sn(Hn(4),jn("0123456789ABCDEF"),Un("")),W3=Sn(Hn(5),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Gc(5),Un("")),Z3=Sn(Hn(5),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Un("")),J3=Sn(Hn(5),jn("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Gc(5),Un("")),K3=Sn(Hn(5),jn("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Un("")),Y3=Sn(Hn(5),jn("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),Un(""),t0(t=>t.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),r0=(()=>typeof Uint8Array.from([]).toBase64=="function"&&typeof Uint8Array.fromBase64=="function")(),s0=(t,e)=>{Is("base64",t);let n=e?/^[A-Za-z0-9=_-]+$/:/^[A-Za-z0-9=+/]+$/,r=e?"base64url":"base64";if(t.length>0&&!n.test(t))throw new Error("invalid base64");return Uint8Array.fromBase64(t,{alphabet:r,lastChunkHandling:"strict"})},X3=r0?{encode(t){return Sd(t),t.toBase64()},decode(t){return s0(t,!1)}}:Sn(Hn(6),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Gc(6),Un("")),Q3=Sn(Hn(6),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Un("")),eN=r0?{encode(t){return Sd(t),t.toBase64({alphabet:"base64url"})},decode(t){return s0(t,!0)}}:Sn(Hn(6),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Gc(6),Un("")),tN=Sn(Hn(6),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Un("")),Ad=t=>Sn(oT(58),jn(t),Un("")),Hc=Ad("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),nN=Ad("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),rN=Ad("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");var i0=t=>Sn(aT(4,e=>t(t(e))),Hc);var xd=Sn(jn("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Un("")),Xm=[996825010,642813549,513874426,1027748829,705979059];function ma(t){let e=t>>25,n=(t&33554431)<<5;for(let r=0;r<Xm.length;r++)(e>>r&1)===1&&(n^=Xm[r]);return n}function Qm(t,e,n=1){let r=t.length,s=1;for(let i=0;i<r;i++){let o=t.charCodeAt(i);if(o<33||o>126)throw new Error(`Invalid prefix (${t})`);s=ma(s)^o>>5}s=ma(s);for(let i=0;i<r;i++)s=ma(s)^t.charCodeAt(i)&31;for(let i of e)s=ma(s)^i;for(let i=0;i<6;i++)s=ma(s);return s^=n,xd.encode(Ed([s%Vc[30]],30,5,!1))}function o0(t){let e=t==="bech32"?1:734539939,n=Hn(5),r=n.decode,s=n.encode,i=Ym(r);function o(f,p,m=90){Is("bech32.encode prefix",f),bo(p)&&(p=Array.from(p)),Id("bech32.encode",p);let b=f.length;if(b===0)throw new TypeError(`Invalid prefix length ${b}`);let _=b+7+p.length;if(m!==!1&&_>m)throw new TypeError(`Length ${_} exceeds limit ${m}`);let T=f.toLowerCase(),O=Qm(T,p,e);return`${T}1${xd.encode(p)}${O}`}function a(f,p=90){Is("bech32.decode input",f);let m=f.length;if(m<8||p!==!1&&m>p)throw new TypeError(`invalid string length: ${m} (${f}). Expected (8..${p})`);let b=f.toLowerCase();if(f!==b&&f!==f.toUpperCase())throw new Error("String must be lowercase or uppercase");let _=b.lastIndexOf("1");if(_===0||_===-1)throw new Error('Letter "1" must be present between prefix and data only');let T=b.slice(0,_),O=b.slice(_+1);if(O.length<6)throw new Error("Data must be at least 6 characters long");let B=xd.decode(O).slice(0,-6),C=Qm(T,B,e);if(!O.endsWith(C))throw new Error(`Invalid checksum in ${f}: expected "${C}"`);return{prefix:T,words:B}}let c=Ym(a);function u(f){let{prefix:p,words:m}=a(f,!1);return{prefix:p,words:m,bytes:r(m)}}function d(f,p){return o(f,s(p))}return{encode:o,decode:a,encodeFromBytes:d,decodeToBytes:u,decodeUnsafe:c,fromWords:r,fromWordsUnsafe:i,toWords:s}}var ga=o0("bech32"),sN=o0("bech32m");var cT=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),uT={encode(t){return Sd(t),t.toHex()},decode(t){return Is("hex",t),Uint8Array.fromHex(t)}},iN=cT?uT:Sn(Hn(4),jn("0123456789abcdef"),Un(""),t0(t=>{if(typeof t!="string"||t.length%2!==0)throw new TypeError(`hex.decode: expected string, got ${typeof t} with length ${t.length}`);return t.toLowerCase()}));var Ln=t=>Hc.encode(t),zn=t=>Hc.decode(t);function le(t){return Uint8Array.from(atob(t),e=>e.charCodeAt(0))}var Cd=8192;function ve(t){if(t.length<Cd)return btoa(String.fromCharCode(...t));let e="";for(var n=0;n<t.length;n+=Cd){let r=t.slice(n,n+Cd);e+=String.fromCharCode(...r)}return btoa(e)}function ln(t){let e=t.startsWith("0x")?t.slice(2):t,n=e.length%2===0?e:`0${e}`,r=n.match(/[0-9a-fA-F]{2}/g)?.map(s=>parseInt(s,16))??[];if(r.length!==n.length/2)throw new Error(`Invalid hex string ${t}`);return Uint8Array.from(r)}function Qt(t){return t.reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}function xr(t,e){return Array.from({length:Math.ceil(t.length/e)},(n,r)=>t.slice(r*e,(r+1)*e))}var zc=class{constructor(t,e){if(typeof t!="function")throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: ${t}.`);this._batchLoadFn=t,this._maxBatchSize=pT(e),this._batchScheduleFn=hT(e),this._cacheKeyFn=mT(e),this._cacheMap=gT(e),this._batch=null,this.name=yT(e)}load(t){if(t==null)throw new TypeError(`The loader.load() function must be called with a value, but got: ${String(t)}.`);let e=dT(this),n=this._cacheMap,r;if(n){r=this._cacheKeyFn(t);let i=n.get(r);if(i){let o=e.cacheHits||(e.cacheHits=[]);return new Promise(a=>{o.push(()=>{a(i)})})}}e.keys.push(t);let s=new Promise((i,o)=>{e.callbacks.push({resolve:i,reject:o})});return n&&n.set(r,s),s}loadMany(t){if(!a0(t))throw new TypeError(`The loader.loadMany() function must be called with Array<key>, but got: ${t}.`);let e=[];for(let n=0;n<t.length;n++)e.push(this.load(t[n]).catch(r=>r));return Promise.all(e)}clear(t){let e=this._cacheMap;if(e){let n=this._cacheKeyFn(t);e.delete(n)}return this}clearAll(){let t=this._cacheMap;return t&&t.clear(),this}prime(t,e){let n=this._cacheMap;if(n){let r=this._cacheKeyFn(t);if(n.get(r)===void 0){let s;e instanceof Error?(s=Promise.reject(e),s.catch(()=>{})):s=Promise.resolve(e),n.set(r,s)}}return this}},lT=typeof process=="object"&&typeof process.nextTick=="function"?function(t){Nd||(Nd=Promise.resolve()),Nd.then(()=>{process.nextTick(t)})}:typeof setImmediate=="function"?function(t){setImmediate(t)}:function(t){setTimeout(t)},Nd;function dT(t){let e=t._batch;if(e!==null&&!e.hasDispatched&&e.keys.length<t._maxBatchSize)return e;let n={hasDispatched:!1,keys:[],callbacks:[]};return t._batch=n,t._batchScheduleFn(()=>{fT(t,n)}),n}function fT(t,e){if(e.hasDispatched=!0,e.keys.length===0){Bd(e);return}let n;try{n=t._batchLoadFn(e.keys)}catch(r){return Rd(t,e,new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: ${String(r)}.`))}if(!n||typeof n.then!="function")return Rd(t,e,new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: ${String(n)}.`));Promise.resolve(n).then(r=>{if(!a0(r))throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: ${String(r)}.`);if(r.length!==e.keys.length)throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.
2
2
 
3
3
  Keys:
4
4
  ${String(e.keys)}
5
5
 
6
6
  Values:
7
- ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instanceof Error?e.callbacks[s].reject(i):e.callbacks[s].resolve(i)}}).catch(r=>{Pd(t,e,r)})}function Pd(t,e,n){Ld(e);for(let r=0;r<e.keys.length;r++)t.clear(e.keys[r]),e.callbacks[r].reject(n)}function Ld(t){if(t.cacheHits)for(let e=0;e<t.cacheHits.length;e++)t.cacheHits[e]()}function ET(t){if(!(!t||t.batch!==!1))return 1;let e=t&&t.maxBatchSize;if(e===void 0)return 1/0;if(typeof e!="number"||e<1)throw new TypeError(`maxBatchSize must be a positive number: ${e}`);return e}function ST(t){let e=t&&t.batchScheduleFn;if(e===void 0)return _T;if(typeof e!="function")throw new TypeError(`batchScheduleFn must be a function: ${e}`);return e}function xT(t){let e=t&&t.cacheKeyFn;if(e===void 0)return n=>n;if(typeof e!="function")throw new TypeError(`cacheKeyFn must be a function: ${e}`);return e}function OT(t){if(!(!t||t.cache!==!1))return null;let e=t&&t.cacheMap;if(e===void 0)return new Map;if(e!==null){let n=["get","set","delete","clear"].filter(r=>e&&typeof e[r]!="function");if(n.length!==0)throw new TypeError("Custom cacheMap missing methods: "+n.join(", "))}return e}function IT(t){return t&&t.name?t.name:null}function b0(t){return typeof t=="object"&&t!==null&&"length"in t&&typeof t.length=="number"&&(t.length===0||t.length>0&&Object.prototype.hasOwnProperty.call(t,t.length-1))}function Vd(t,e){switch(e){case"base58":return qn(t);case"base64":return ge(t);case"hex":return qt(t);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function _a(t,e=["<",">"]){let[n,r]=e,s=[],i="",o=0;for(let a=0;a<t.length;a++){let c=t[a];if(c===n&&o++,c===r&&o--,o===0&&c===","){s.push(i.trim()),i="";continue}i+=c}return s.push(i.trim()),s}var w0=class{constructor({initialSize:t=1024,maxSize:e=1/0,allocateSize:n=1024}={}){this.bytePosition=0,this.size=t,this.maxSize=e,this.allocateSize=n,this.dataView=new DataView(new ArrayBuffer(t))}ensureSizeOrGrow(t){let e=this.bytePosition+t;if(e>this.size){let n=Math.min(this.maxSize,Math.max(this.size+e,this.size+this.allocateSize));if(e>n)throw new Error(`Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${e}`);this.size=n;let r=new ArrayBuffer(this.size);new Uint8Array(r).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(r)}}shift(t){return this.bytePosition+=t,this}write8(t){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(t)),this.shift(1)}writeBytes(t){this.ensureSizeOrGrow(t.length);for(let e=0;e<t.length;e++)this.dataView.setUint8(this.bytePosition+e,t[e]);return this.shift(t.length)}write16(t){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(t),!0),this.shift(2)}write32(t){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(t),!0),this.shift(4)}write64(t){return Fd(BigInt(t),8).forEach(e=>this.write8(e)),this}write128(t){return Fd(BigInt(t),16).forEach(e=>this.write8(e)),this}write256(t){return Fd(BigInt(t),32).forEach(e=>this.write8(e)),this}writeULEB(t){return wi(t).forEach(e=>this.write8(e)),this}writeVec(t,e){return this.writeULEB(t.length),Array.from(t).forEach((n,r)=>e(this,n,r,t.length)),this}*[Symbol.iterator](){for(let t=0;t<this.bytePosition;t++)yield this.dataView.getUint8(t);return this.toBytes()}toBytes(){return new Uint8Array(this.dataView.buffer.slice(0,this.bytePosition))}toString(t){return Vd(this.toBytes(),t)}};function Fd(t,e){let n=new Uint8Array(e),r=0;for(;t>0;)n[r]=Number(t%BigInt(256)),t=t/BigInt(256),r+=1;return n}var Nn=class v0{#e;#t;constructor(e){this.name=e.name,this.read=e.read,this.serializedSize=e.serializedSize??(()=>null),this.#e=e.write,this.#t=e.serialize??((n,r)=>{let s=new w0({initialSize:this.serializedSize(n)??void 0,...r});return this.#e(n,s),s.toBytes()}),this.validate=e.validate??(()=>{})}write(e,n){this.validate(e),this.#e(e,n)}serialize(e,n){return this.validate(e),new T0(this,this.#t(e,n))}parse(e){let n=new o0(e);return this.read(n)}fromHex(e){return this.parse(hn(e))}fromBase58(e){return this.parse(pn(e))}fromBase64(e){return this.parse(ce(e))}transform({name:e,input:n,output:r,validate:s}){return new v0({name:e??this.name,read:i=>r?r(this.read(i)):this.read(i),write:(i,o)=>this.#e(n?n(i):i,o),serializedSize:i=>this.serializedSize(n?n(i):i),serialize:(i,o)=>this.#t(n?n(i):i,o),validate:i=>{s?.(i),this.validate(n?n(i):i)}})}},_0=Symbol.for("@mysten/serialized-bcs");function _o(t){return!!t&&typeof t=="object"&&t[_0]===!0}var T0=class{#e;#t;get[_0](){return!0}constructor(t,e){this.#e=t,this.#t=e}toBytes(){return this.#t}toHex(){return qt(this.#t)}toBase64(){return ge(this.#t)}toBase58(){return qn(this.#t)}parse(){return this.#e.parse(this.#t)}};function Ta({size:t,...e}){return new Nn({...e,serializedSize:()=>t})}function Jc({readMethod:t,writeMethod:e,...n}){return Ta({...n,read:r=>r[t](),write:(r,s)=>s[e](r),validate:r=>{if(r<0||r>n.maxValue)throw new TypeError(`Invalid ${n.name} value: ${r}. Expected value in range 0-${n.maxValue}`);n.validate?.(r)}})}function Kc({readMethod:t,writeMethod:e,...n}){return Ta({...n,read:r=>r[t](),write:(r,s)=>s[e](BigInt(r)),validate:r=>{let s=BigInt(r);if(s<0||s>n.maxValue)throw new TypeError(`Invalid ${n.name} value: ${s}. Expected value in range 0-${n.maxValue}`);n.validate?.(s)}})}function k0({serialize:t,...e}){let n=new Nn({...e,serialize:t,write:(r,s)=>{for(let i of n.serialize(r).toBytes())s.write8(i)}});return n}function E0({toBytes:t,fromBytes:e,...n}){return new Nn({...n,read:r=>{let s=r.readULEB();return e(r.readBytes(s))},write:(r,s)=>{let i=t(r);s.writeULEB(i.length);for(let o=0;o<i.length;o++)s.write8(i[o])},serialize:r=>{let s=t(r),i=wi(s.length),o=new Uint8Array(i.length+s.length);return o.set(i,0),o.set(s,i.length),o},validate:r=>{if(typeof r!="string")throw new TypeError(`Invalid ${n.name} value: ${r}. Expected string`);n.validate?.(r)}})}function S0(t){let e=null;function n(){return e||(e=t()),e}return new Nn({name:"lazy",read:r=>n().read(r),serializedSize:r=>n().serializedSize(r),write:(r,s)=>n().write(r,s),serialize:(r,s)=>n().serialize(r,s).toBytes()})}var Yc=class extends Nn{constructor({name:t,fields:e,...n}){let r=Object.entries(e);super({name:t,serializedSize:s=>{let i=0;for(let[o,a]of r){let c=a.serializedSize(s[o]);if(c==null)return null;i+=c}return i},read:s=>{let i={};for(let[o,a]of r)i[o]=a.read(s);return i},write:(s,i)=>{for(let[o,a]of r)a.write(s[o],i)},...n,validate:s=>{if(n?.validate?.(s),typeof s!="object"||s==null)throw new TypeError(`Expected object, found ${typeof s}`)}})}},Xc=class extends Nn{constructor({fields:t,...e}){let n=Object.entries(t);super({read:r=>{let s=r.readULEB(),i=n[s];if(!i)throw new TypeError(`Unknown value ${s} for enum ${e.name}`);let[o,a]=i;return{[o]:a?.read(r)??!0,$kind:o}},write:(r,s)=>{let[i,o]=Object.entries(r).filter(([a])=>Object.hasOwn(t,a))[0];for(let a=0;a<n.length;a++){let[c,u]=n[a];if(c===i){s.writeULEB(a),u?.write(o,s);return}}},...e,validate:r=>{if(e?.validate?.(r),typeof r!="object"||r==null)throw new TypeError(`Expected object, found ${typeof r}`);let s=Object.keys(r).filter(o=>r[o]!==void 0&&Object.hasOwn(t,o));if(s.length!==1)throw new TypeError(`Expected object with one key, but found ${s.length} for type ${e.name}}`);let[i]=s;if(!Object.hasOwn(t,i))throw new TypeError(`Invalid enum variant ${i}`)}})}},Qc=class extends Nn{constructor({fields:t,name:e,...n}){super({name:e??`(${t.map(r=>r.name).join(", ")})`,serializedSize:r=>{let s=0;for(let i=0;i<t.length;i++){let o=t[i].serializedSize(r[i]);if(o==null)return null;s+=o}return s},read:r=>{let s=[];for(let i of t)s.push(i.read(r));return s},write:(r,s)=>{for(let i=0;i<t.length;i++)t[i].write(r[i],s)},...n,validate:r=>{if(n?.validate?.(r),!Array.isArray(r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==t.length)throw new TypeError(`Expected array of length ${t.length}, found ${r.length}`)}})}};function AT(t,e,n){return new Nn({read:r=>{let s=new Array(t);for(let i=0;i<t;i++)s[i]=e.read(r);return s},write:(r,s)=>{for(let i of r)e.write(i,s)},...n,name:n?.name??`${e.name}[${t}]`,validate:r=>{if(n?.validate?.(r),!r||typeof r!="object"||!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==t)throw new TypeError(`Expected array of length ${t}, found ${r.length}`)}})}function CT(t){return x.enum(`Option<${t.name}>`,{None:null,Some:t}).transform({input:e=>e==null?{None:!0}:{Some:e},output:e=>e.$kind==="Some"?e.Some:null})}function NT(t,e){return new Nn({read:n=>{let r=n.readULEB(),s=new Array(r);for(let i=0;i<r;i++)s[i]=t.read(n);return s},write:(n,r)=>{r.writeULEB(n.length);for(let s of n)t.write(s,r)},...e,name:e?.name??`vector<${t.name}>`,validate:n=>{if(e?.validate?.(n),!n||typeof n!="object"||!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`)}})}function qd(t,e){for(let n=0;n<Math.min(t.length,e.length);n++)if(t[n]!==e[n])return t[n]-e[n];return t.length-e.length}function RT(t,e){return new Nn({name:`Map<${t.name}, ${e.name}>`,read:n=>{let r=n.readULEB(),s=new Map;for(let i=0;i<r;i++)s.set(t.read(n),e.read(n));return s},write:(n,r)=>{let s=[...n.entries()].map(([i,o])=>[t.serialize(i).toBytes(),o]);s.sort(([i],[o])=>qd(i,o)),r.writeULEB(s.length);for(let[i,o]of s)r.writeBytes(i),e.write(o,r)}})}var x={u8(t){return Jc({readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...t,name:t?.name??"u8"})},u16(t){return Jc({readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...t,name:t?.name??"u16"})},u32(t){return Jc({readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...t,name:t?.name??"u32"})},u64(t){return Kc({readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...t,name:t?.name??"u64"})},u128(t){return Kc({readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...t,name:t?.name??"u128"})},u256(t){return Kc({readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...t,name:t?.name??"u256"})},bool(t){return Ta({size:1,read:e=>e.read8()===1,write:(e,n)=>n.write8(e?1:0),...t,name:t?.name??"bool",validate:e=>{if(t?.validate?.(e),typeof e!="boolean")throw new TypeError(`Expected boolean, found ${typeof e}`)}})},uleb128(t){return k0({read:e=>e.readULEB(),serialize:e=>Uint8Array.from(wi(e)),...t,name:t?.name??"uleb128"})},bytes(t,e){return Ta({size:t,read:n=>n.readBytes(t),write:(n,r)=>{r.writeBytes(new Uint8Array(n))},...e,name:e?.name??`bytes[${t}]`,validate:n=>{if(e?.validate?.(n),!n||typeof n!="object"||!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`);if(n.length!==t)throw new TypeError(`Expected array of length ${t}, found ${n.length}`)}})},byteVector(t){return new Nn({read:e=>{let n=e.readULEB();return e.readBytes(n)},write:(e,n)=>{let r=new Uint8Array(e);n.writeULEB(r.length),n.writeBytes(r)},...t,name:t?.name??"vector<u8>",serializedSize:e=>{let n="length"in e?e.length:null;return n==null?null:wi(n).length+n},validate:e=>{if(t?.validate?.(e),!e||typeof e!="object"||!("length"in e))throw new TypeError(`Expected array, found ${typeof e}`)}})},string(t){return E0({toBytes:e=>new TextEncoder().encode(e),fromBytes:e=>new TextDecoder().decode(e),...t,name:t?.name??"string"})},fixedArray:AT,option:CT,vector:NT,tuple(t,e){return new Qc({fields:t,...e})},struct(t,e,n){return new Yc({name:t,fields:e,...n})},enum(t,e,n){return new Xc({name:t,fields:e,...n})},map:RT,lazy(t){return S0(t)}};var BT=32;function eu(t){try{return pn(t).length===BT}catch{return!1}}var ts=32;function tn(t){return UT(t)&&PT(t)===ts}function To(t){return tn(t)}var MT=/^[a-zA-Z][a-zA-Z0-9_]*$/;function x0(t){return MT.test(t)}var jT=["bool","u8","u16","u32","u64","u128","u256","address","signer"],DT=/^vector<(.+)>$/;function O0(t){if(jT.includes(t))return!0;let e=t.match(DT);return e?O0(e[1]):t.includes("::")?tu(t):!1}function I0(t){return!tn(t.address)&&!nn(t.address)||!x0(t.module)||!x0(t.name)?!1:t.typeParams.every(e=>typeof e=="string"?O0(e):I0(e))}function tu(t){try{return I0(dr(t))}catch{return!1}}function A0(t){if(t.startsWith("vector<")){if(!t.endsWith(">"))throw new Error(`Invalid type tag: ${t}`);let e=t.slice(7,-1);if(!e)throw new Error(`Invalid type tag: ${t}`);let n=A0(e);return typeof n=="string"?`vector<${n}>`:`vector<${ye(n)}>`}return t.includes("::")?dr(t):t}function dr(t){let e=t.split("::");if(e.length<3)throw new Error(`Invalid struct tag: ${t}`);let[n,r]=e;if(!n||!r)throw new Error(`Invalid struct tag: ${t}`);let s=nn(n),i=t.slice(n.length+r.length+4),o=i.includes("<")?i.slice(0,i.indexOf("<")):i;if(!o||i.includes("<")&&!i.endsWith(">"))throw new Error(`Invalid struct tag: ${t}`);let a=i.includes("<")?_a(i.slice(i.indexOf("<")+1,i.lastIndexOf(">"))).map(c=>A0(c.trim())):[];return{address:s?n:Q(n),module:r,name:o,typeParams:a}}function ye(t){if(typeof t=="string"&&t.startsWith("vector<"))throw new Error("normalizeStructTag does not support vector types. Use normalizeTypeTag instead.");let{address:e,module:n,name:r,typeParams:s}=typeof t=="string"?dr(t):t;return`${e}::${n}::${r}${s?.length>0?`<${s.map(i=>typeof i=="string"?i:ye(i)).join(",")}>`:""}`}function Q(t,e=!1){let n=t.toLowerCase();return!e&&n.startsWith("0x")&&(n=n.slice(2)),`0x${n.padStart(ts*2,"0")}`}function $t(t,e=!1){return Q(t,e)}function UT(t){return/^(0x|0X)?[a-fA-F0-9]+$/.test(t)&&t.length%2===0}function PT(t){return/^(0x|0X)/.test(t)?(t.length-2)/2:t.length/2}var LT=/^([a-z0-9]+(?:-[a-z0-9]+)*)$/,VT=/^\d+$/,FT=64,C0="/",nn=t=>{let e=t.split(C0);if(e.length<2||e.length>3)return!1;let[n,r,s]=e;return s!==void 0&&!VT.test(s)||!r0(n)?!1:LT.test(r)&&r.length<FT},N0=t=>{let e=t.split(/::|<|>|,/);for(let n of e)if(n.includes(C0)&&!nn(n))return!1;return tu(t)};var qT=/^vector<(.+)>$/,$T=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/,$n=class ko{static parseFromStr(e,n=!1){if(e==="address")return{address:null};if(e==="bool")return{bool:null};if(e==="u8")return{u8:null};if(e==="u16")return{u16:null};if(e==="u32")return{u32:null};if(e==="u64")return{u64:null};if(e==="u128")return{u128:null};if(e==="u256")return{u256:null};if(e==="signer")return{signer:null};let r=e.match(qT);if(r)return{vector:ko.parseFromStr(r[1],n)};let s=e.match($T);if(s)return{struct:{address:n?Q(s[1]):s[1],module:s[2],name:s[3],typeParams:s[5]===void 0?[]:ko.parseStructTypeArgs(s[5],n)}};throw new Error(`Encountered unexpected token when parsing type args for ${e}`)}static parseStructTypeArgs(e,n=!1){return _a(e).map(r=>ko.parseFromStr(r,n))}static tagToString(e){if("bool"in e)return"bool";if("u8"in e)return"u8";if("u16"in e)return"u16";if("u32"in e)return"u32";if("u64"in e)return"u64";if("u128"in e)return"u128";if("u256"in e)return"u256";if("address"in e)return"address";if("signer"in e)return"signer";if("vector"in e)return`vector<${ko.tagToString(e.vector)}>`;if("struct"in e){let n=e.struct,r=n.typeParams.map(ko.tagToString).join(", ");return`${n.address}::${n.module}::${n.name}${r?`<${r}>`:""}`}throw new Error("Invalid TypeTag")}};function GT(t){return x.u64({name:"unsafe_u64",...t}).transform({input:e=>e,output:e=>Number(e)})}function HT(t){return x.enum("Option",{None:null,Some:t})}var Me=x.bytes(ts).transform({validate:t=>{let e=typeof t=="string"?t:qt(t);if(!e||!tn(Q(e)))throw new Error(`Invalid Sui address ${e}`)},input:t=>typeof t=="string"?hn(Q(t)):t,output:t=>Q(qt(t))}),mn=x.byteVector().transform({name:"ObjectDigest",input:t=>pn(t),output:t=>qn(new Uint8Array(t)),validate:t=>{if(pn(t).length!==32)throw new Error("ObjectDigest must be 32 bytes")}}),Rn=x.struct("SuiObjectRef",{objectId:Me,version:x.u64(),digest:mn}),$d=x.struct("SharedObjectRef",{objectId:Me,initialSharedVersion:x.u64(),mutable:x.bool()}),Gd=x.enum("ObjectArg",{ImmOrOwnedObject:Rn,SharedObject:$d,Receiving:Rn}),Nr=x.enum("Owner",{AddressOwner:Me,ObjectOwner:Me,Shared:x.struct("Shared",{initialSharedVersion:x.u64()}),Immutable:null,ConsensusAddressOwner:x.struct("ConsensusAddressOwner",{startVersion:x.u64(),owner:Me})}),zT=x.enum("Reservation",{MaxAmountU64:x.u64()}),WT=x.enum("WithdrawalType",{Balance:x.lazy(()=>Ns)}),ZT=x.enum("WithdrawFrom",{Sender:null,Sponsor:null}),JT=x.struct("FundsWithdrawal",{reservation:zT,typeArg:WT,withdrawFrom:ZT}),Hd=x.enum("CallArg",{Pure:x.struct("Pure",{bytes:x.byteVector().transform({input:t=>typeof t=="string"?ce(t):t,output:t=>ge(new Uint8Array(t))})}),Object:Gd,FundsWithdrawal:JT}),zd=x.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:x.lazy(()=>zd),struct:x.lazy(()=>nu),u16:null,u32:null,u256:null}),Ns=zd.transform({input:t=>typeof t=="string"?$n.parseFromStr(t,!0):t,output:t=>$n.tagToString(t)}),fr=x.enum("Argument",{GasCoin:null,Input:x.u16(),Result:x.u16(),NestedResult:x.tuple([x.u16(),x.u16()])}),Wd=x.struct("ProgrammableMoveCall",{package:Me,module:x.string(),function:x.string(),typeArguments:x.vector(Ns),arguments:x.vector(fr)}),Zd=x.enum("Command",{MoveCall:Wd,TransferObjects:x.struct("TransferObjects",{objects:x.vector(fr),address:fr}),SplitCoins:x.struct("SplitCoins",{coin:fr,amounts:x.vector(fr)}),MergeCoins:x.struct("MergeCoins",{destination:fr,sources:x.vector(fr)}),Publish:x.struct("Publish",{modules:x.vector(x.byteVector().transform({input:t=>typeof t=="string"?ce(t):t,output:t=>ge(new Uint8Array(t))})),dependencies:x.vector(Me)}),MakeMoveVec:x.struct("MakeMoveVec",{type:HT(Ns).transform({input:t=>t===null?{None:!0}:{Some:t},output:t=>t.Some??null}),elements:x.vector(fr)}),Upgrade:x.struct("Upgrade",{modules:x.vector(x.byteVector().transform({input:t=>typeof t=="string"?ce(t):t,output:t=>ge(new Uint8Array(t))})),dependencies:x.vector(Me),package:Me,ticket:fr})}),Jd=x.struct("ProgrammableTransaction",{inputs:x.vector(Hd),commands:x.vector(Zd)}),Kd=x.enum("TransactionKind",{ProgrammableTransaction:Jd,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),KT=x.struct("ValidDuring",{minEpoch:x.option(x.u64()),maxEpoch:x.option(x.u64()),minTimestamp:x.option(x.u64()),maxTimestamp:x.option(x.u64()),chain:mn,nonce:x.u32()}),Yd=x.enum("TransactionExpiration",{None:null,Epoch:GT(),ValidDuring:KT}),nu=x.struct("StructTag",{address:Me,module:x.string(),name:x.string(),typeParams:x.vector(zd)}),Xd=x.struct("GasData",{payment:x.vector(Rn),owner:Me,price:x.u64(),budget:x.u64()}),Qd=x.struct("TransactionDataV1",{kind:Kd,sender:Me,gasData:Xd,expiration:Yd}),ef=x.enum("TransactionData",{V1:Qd}),tf=x.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),nf=x.enum("IntentVersion",{V0:null}),rf=x.enum("AppId",{Sui:null}),sf=x.struct("Intent",{scope:tf,version:nf,appId:rf});function of(t){return x.struct(`IntentMessage<${t.name}>`,{intent:sf,value:t})}var af=x.enum("CompressedSignature",{ED25519:x.bytes(64),Secp256k1:x.bytes(64),Secp256r1:x.bytes(64),ZkLogin:x.byteVector(),Passkey:x.byteVector()}),cf=x.enum("PublicKey",{ED25519:x.bytes(32),Secp256k1:x.bytes(33),Secp256r1:x.bytes(33),ZkLogin:x.byteVector(),Passkey:x.bytes(33)}),uf=x.struct("MultiSigPkMap",{pubKey:cf,weight:x.u8()}),lf=x.struct("MultiSigPublicKey",{pk_map:x.vector(uf),threshold:x.u16()}),R0=x.struct("MultiSig",{sigs:x.vector(af),bitmap:x.u16(),multisig_pk:lf}),YT=x.byteVector().transform({input:t=>typeof t=="string"?ce(t):t,output:t=>ge(new Uint8Array(t))}),df=x.struct("SenderSignedTransaction",{intentMessage:of(ef),txSignatures:x.vector(YT)}),B0=x.vector(df,{name:"SenderSignedData"}),M0=x.struct("PasskeyAuthenticator",{authenticatorData:x.byteVector(),clientDataJson:x.string(),userSignature:x.byteVector()}),ff=x.enum("MoveObjectType",{Other:nu,GasCoin:null,StakedSui:null,Coin:Ns,AccumulatorBalanceWrapper:null}),pf=x.struct("TypeOrigin",{moduleName:x.string(),datatypeName:x.string(),package:Me}),hf=x.struct("UpgradeInfo",{upgradedId:Me,upgradedVersion:x.u64()}),mf=x.struct("MovePackage",{id:Me,version:x.u64(),moduleMap:x.map(x.string(),x.byteVector()),typeOriginTable:x.vector(pf),linkageTable:x.map(Me,hf)}),gf=x.struct("MoveObject",{type:ff,hasPublicTransfer:x.bool(),version:x.u64(),contents:x.byteVector()}),yf=x.enum("Data",{Move:gf,Package:mf}),j0=x.struct("ObjectInner",{data:yf,owner:Nr,previousTransaction:mn,storageRebate:x.u64()});var XT=x.enum("PackageUpgradeError",{UnableToFetchPackage:x.struct("UnableToFetchPackage",{packageId:Me}),NotAPackage:x.struct("NotAPackage",{objectId:Me}),IncompatibleUpgrade:null,DigestDoesNotMatch:x.struct("DigestDoesNotMatch",{digest:x.byteVector()}),UnknownUpgradePolicy:x.struct("UnknownUpgradePolicy",{policy:x.u8()}),PackageIDDoesNotMatch:x.struct("PackageIDDoesNotMatch",{packageId:Me,ticketId:Me})}),QT=x.struct("ModuleId",{address:Me,name:x.string()}),D0=x.struct("MoveLocation",{module:QT,function:x.u16(),instruction:x.u16(),functionName:x.option(x.string())}),e1=x.enum("CommandArgumentError",{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:x.struct("IndexOutOfBounds",{idx:x.u16()}),SecondaryIndexOutOfBounds:x.struct("SecondaryIndexOutOfBounds",{resultIdx:x.u16(),secondaryIdx:x.u16()}),InvalidResultArity:x.struct("InvalidResultArity",{resultIdx:x.u16()}),InvalidGasCoinUsage:null,InvalidValueUsage:null,InvalidObjectByValue:null,InvalidObjectByMutRef:null,SharedObjectOperationNotAllowed:null,InvalidArgumentArity:null,InvalidTransferObject:null,InvalidMakeMoveVecNonObjectArgument:null,ArgumentWithoutValue:null,CannotMoveBorrowedValue:null,CannotWriteToExtendedReference:null,InvalidReferenceArgument:null}),t1=x.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),n1=x.enum("ExecutionFailureStatus",{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:x.struct("MoveObjectTooBig",{objectSize:x.u64(),maxObjectSize:x.u64()}),MovePackageTooBig:x.struct("MovePackageTooBig",{objectSize:x.u64(),maxObjectSize:x.u64()}),CircularObjectOwnership:x.struct("CircularObjectOwnership",{object:Me}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:x.option(D0),MoveAbort:x.tuple([D0,x.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:x.struct("CommandArgumentError",{argIdx:x.u16(),kind:e1}),TypeArgumentError:x.struct("TypeArgumentError",{argumentIdx:x.u16(),kind:t1}),UnusedValueWithoutDrop:x.struct("UnusedValueWithoutDrop",{resultIdx:x.u16(),secondaryIdx:x.u16()}),InvalidPublicFunctionReturnType:x.struct("InvalidPublicFunctionReturnType",{idx:x.u16()}),InvalidTransferObject:null,EffectsTooLarge:x.struct("EffectsTooLarge",{currentSize:x.u64(),maxSize:x.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:x.struct("PackageUpgradeError",{upgradeError:XT}),WrittenObjectsTooLarge:x.struct("WrittenObjectsTooLarge",{currentSize:x.u64(),maxSize:x.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:x.struct("ExecutionCancelledDueToSharedObjectCongestion",{congested_objects:x.vector(Me)}),AddressDeniedForCoin:x.struct("AddressDeniedForCoin",{address:Me,coinType:x.string()}),CoinTypeGlobalPause:x.struct("CoinTypeGlobalPause",{coinType:x.string()}),ExecutionCancelledDueToRandomnessUnavailable:null,MoveVectorElemTooBig:x.struct("MoveVectorElemTooBig",{valueSize:x.u64(),maxScaledSize:x.u64()}),MoveRawValueTooBig:x.struct("MoveRawValueTooBig",{valueSize:x.u64(),maxScaledSize:x.u64()}),InvalidLinkage:null,InsufficientBalanceForWithdraw:null,NonExclusiveWriteInputObjectModified:x.struct("NonExclusiveWriteInputObjectModified",{id:Me})}),ru=x.enum("ExecutionStatus",{Success:null,Failure:x.struct("Failure",{error:n1,command:x.option(x.u64())})}),U0=x.struct("GasCostSummary",{computationCost:x.u64(),storageCost:x.u64(),storageRebate:x.u64(),nonRefundableStorageFee:x.u64()}),r1=x.struct("TransactionEffectsV1",{status:ru,executedEpoch:x.u64(),gasUsed:U0,modifiedAtVersions:x.vector(x.tuple([Me,x.u64()])),sharedObjects:x.vector(Rn),transactionDigest:mn,created:x.vector(x.tuple([Rn,Nr])),mutated:x.vector(x.tuple([Rn,Nr])),unwrapped:x.vector(x.tuple([Rn,Nr])),deleted:x.vector(Rn),unwrappedThenDeleted:x.vector(Rn),wrapped:x.vector(Rn),gasObject:x.tuple([Rn,Nr]),eventsDigest:x.option(mn),dependencies:x.vector(mn)}),bf=x.tuple([x.u64(),mn]),s1=x.enum("ObjectIn",{NotExist:null,Exist:x.tuple([bf,Nr])}),i1=x.struct("AccumulatorAddress",{address:Me,ty:Ns}),o1=x.enum("AccumulatorOperation",{Merge:null,Split:null}),a1=x.enum("AccumulatorValue",{Integer:x.u64(),IntegerTuple:x.tuple([x.u64(),x.u64()]),EventDigest:x.vector(x.tuple([x.u64(),mn]))}),c1=x.struct("AccumulatorWriteV1",{address:i1,operation:o1,value:a1}),u1=x.enum("ObjectOut",{NotExist:null,ObjectWrite:x.tuple([mn,Nr]),PackageWrite:bf,AccumulatorWriteV1:c1}),l1=x.enum("IDOperation",{None:null,Created:null,Deleted:null}),d1=x.struct("EffectsObjectChange",{inputState:s1,outputState:u1,idOperation:l1}),f1=x.enum("UnchangedConsensusKind",{ReadOnlyRoot:bf,MutateConsensusStreamEnded:x.u64(),ReadConsensusStreamEnded:x.u64(),Cancelled:x.u64(),PerEpochConfig:null}),p1=x.struct("TransactionEffectsV2",{status:ru,executedEpoch:x.u64(),gasUsed:U0,transactionDigest:mn,gasObjectIndex:x.option(x.u32()),eventsDigest:x.option(mn),dependencies:x.vector(mn),lamportVersion:x.u64(),changedObjects:x.vector(x.tuple([Me,d1])),unchangedConsensusObjects:x.vector(x.tuple([Me,f1])),auxDataDigest:x.option(mn)}),P0=x.enum("TransactionEffects",{V1:r1,V2:p1});function Eo(t){switch(t){case"u8":return x.u8();case"u16":return x.u16();case"u32":return x.u32();case"u64":return x.u64();case"u128":return x.u128();case"u256":return x.u256();case"bool":return x.bool();case"string":return x.string();case"id":case"address":return Me}let e=t.match(/^(vector|option)<(.+)>$/);if(e){let[n,r]=e.slice(1);return n==="vector"?x.vector(Eo(r)):x.option(Eo(r))}throw new Error(`Invalid Pure type name: ${t}`)}var A={...x,U8:x.u8(),U16:x.u16(),U32:x.u32(),U64:x.u64(),U128:x.u128(),U256:x.u256(),ULEB128:x.uleb128(),Bool:x.bool(),String:x.string(),Address:Me,AppId:rf,Argument:fr,CallArg:Hd,Command:Zd,CompressedSignature:af,Data:yf,GasData:Xd,Intent:sf,IntentMessage:of,IntentScope:tf,IntentVersion:nf,MoveObject:gf,MoveObjectType:ff,MovePackage:mf,MultiSig:R0,MultiSigPkMap:uf,MultiSigPublicKey:lf,Object:j0,ObjectArg:Gd,ObjectDigest:mn,Owner:Nr,PasskeyAuthenticator:M0,ProgrammableMoveCall:Wd,ProgrammableTransaction:Jd,PublicKey:cf,SenderSignedData:B0,SenderSignedTransaction:df,SharedObjectRef:$d,StructTag:nu,SuiObjectRef:Rn,TransactionData:ef,TransactionDataV1:Qd,TransactionEffects:P0,TransactionExpiration:Yd,TransactionKind:Kd,TypeOrigin:pf,TypeTag:Ns,UpgradeInfo:hf};function wf(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in t&&t.BYTES_PER_ELEMENT===1}function Xn(t,e=""){if(typeof t!="number"){let n=e&&`"${e}" `;throw new TypeError(`${n}expected number, got ${typeof t}`)}if(!Number.isSafeInteger(t)||t<0){let n=e&&`"${e}" `;throw new RangeError(`${n}expected integer >= 0, got ${t}`)}}function Gt(t,e,n=""){let r=wf(t),s=t?.length,i=e!==void 0;if(!r||i&&s!==e){let o=n&&`"${n}" `,a=i?` of length ${e}`:"",c=r?`length=${s}`:`type=${typeof t}`,u=o+"expected Uint8Array"+a+", got "+c;throw r?new RangeError(u):new TypeError(u)}return t}function su(t){if(typeof t!="function"||typeof t.create!="function")throw new TypeError("Hash must wrapped by utils.createHasher");if(Xn(t.outputLen),Xn(t.blockLen),t.outputLen<1)throw new Error('"outputLen" must be >= 1');if(t.blockLen<1)throw new Error('"blockLen" must be >= 1')}function rs(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function So(t,e){Gt(t,void 0,"digestInto() output");let n=e.outputLen;if(t.length<n)throw new RangeError('"digestInto() output" expected to be of length >='+n)}function ka(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Gn(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function iu(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function pr(t,e){return t<<32-e|t>>>e}var V0=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function F0(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}var Rr=V0?t=>t:t=>F0(t)>>>0;function h1(t){for(let e=0;e<t.length;e++)t[e]=F0(t[e]);return t}var vi=V0?t=>t:h1,q0=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),m1=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function xo(t){if(Gt(t),q0)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=m1[t[n]];return e}var ns={_0:48,_9:57,A:65,F:70,a:97,f:102};function L0(t){if(t>=ns._0&&t<=ns._9)return t-ns._0;if(t>=ns.A&&t<=ns.F)return t-(ns.A-10);if(t>=ns.a&&t<=ns.f)return t-(ns.a-10)}function Ea(t){if(typeof t!="string")throw new TypeError("hex string expected, got "+typeof t);if(q0)try{return Uint8Array.fromHex(t)}catch(s){throw s instanceof SyntaxError?new RangeError(s.message):s}let e=t.length,n=e/2;if(e%2)throw new RangeError("hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(n);for(let s=0,i=0;s<n;s++,i+=2){let o=L0(t.charCodeAt(i)),a=L0(t.charCodeAt(i+1));if(o===void 0||a===void 0){let c=t[i]+t[i+1];throw new RangeError('hex string expected, got non-hex character "'+c+'" at index '+i)}r[s]=o*16+a}return r}function vf(...t){let e=0;for(let r=0;r<t.length;r++){let s=t[r];Gt(s),e+=s.length}let n=new Uint8Array(e);for(let r=0,s=0;r<t.length;r++){let i=t[r];n.set(i,s),s+=i.length}return n}function Sa(t,e={}){let n=(s,i)=>t(i).update(s).digest(),r=t(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=s=>t(s),Object.assign(n,e),Object.freeze(n)}function $0(t=32){Xn(t,"bytesLength");let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");if(t>65536)throw new RangeError(`"bytesLength" expected <= 65536, got ${t}`);return e.getRandomValues(new Uint8Array(t))}var _f=t=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,t])});var G0=Uint8Array.from([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9]);function H0(t,e,n){return t&e^~t&n}function z0(t,e,n){return t&e^t&n^e&n}var xa=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,n,r,s){this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(e),this.view=iu(this.buffer)}update(e){rs(this),Gt(e);let{view:n,buffer:r,blockLen:s}=this,i=e.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=iu(e);for(;s<=i-o;o+=s)this.process(c,o);continue}r.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){rs(this),So(e,this),this.finished=!0;let{buffer:n,view:r,blockLen:s,isLE:i}=this,{pos:o}=this;n[o++]=128,Gn(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(r,0),o=0);for(let f=o;f<s;f++)n[f]=0;r.setBigUint64(s-8,BigInt(this.length*8),i),this.process(r,0);let a=iu(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,d[f],i)}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:n,buffer:r,length:s,finished:i,destroyed:o,pos:a}=this;return e.destroyed=o,e.finished=i,e.length=s,e.pos=a,s%n&&e.buffer.set(r),e}clone(){return this._cloneInto()}},ss=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var rn=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var ou=BigInt(4294967295),W0=BigInt(32);function Tf(t,e=!1){return e?{h:Number(t&ou),l:Number(t>>W0&ou)}:{h:Number(t>>W0&ou)|0,l:Number(t&ou)|0}}function Z0(t,e=!1){let n=t.length,r=new Uint32Array(n),s=new Uint32Array(n);for(let i=0;i<n;i++){let{h:o,l:a}=Tf(t[i],e);[r[i],s[i]]=[o,a]}return[r,s]}var kf=(t,e,n)=>t>>>n,Ef=(t,e,n)=>t<<32-n|e>>>n,Br=(t,e,n)=>t>>>n|e<<32-n,Mr=(t,e,n)=>t<<32-n|e>>>n,_i=(t,e,n)=>t<<64-n|e>>>n-32,Ti=(t,e,n)=>t>>>n-32|e<<64-n,J0=(t,e)=>e,K0=(t,e)=>t;function Hn(t,e,n,r){let s=(e>>>0)+(r>>>0);return{h:t+n+(s/2**32|0)|0,l:s|0}}var Oa=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),Ia=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,Y0=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),X0=(t,e,n,r,s)=>e+n+r+s+(t/2**32|0)|0,Q0=(t,e,n,r,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(s>>>0),eg=(t,e,n,r,s,i)=>e+n+r+s+i+(t/2**32|0)|0;var Jt=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),ie=new Uint32Array(32);function Rs(t,e,n,r,s,i){let o=s[i],a=s[i+1],c=ie[2*t],u=ie[2*t+1],d=ie[2*e],f=ie[2*e+1],p=ie[2*n],m=ie[2*n+1],b=ie[2*r],v=ie[2*r+1],T=Oa(c,d,o);u=Ia(T,u,f,a),c=T|0,{Dh:v,Dl:b}={Dh:v^u,Dl:b^c},{Dh:v,Dl:b}={Dh:J0(v,b),Dl:K0(v,b)},{h:m,l:p}=Hn(m,p,v,b),{Bh:f,Bl:d}={Bh:f^m,Bl:d^p},{Bh:f,Bl:d}={Bh:Br(f,d,24),Bl:Mr(f,d,24)},ie[2*t]=c,ie[2*t+1]=u,ie[2*e]=d,ie[2*e+1]=f,ie[2*n]=p,ie[2*n+1]=m,ie[2*r]=b,ie[2*r+1]=v}function Bs(t,e,n,r,s,i){let o=s[i],a=s[i+1],c=ie[2*t],u=ie[2*t+1],d=ie[2*e],f=ie[2*e+1],p=ie[2*n],m=ie[2*n+1],b=ie[2*r],v=ie[2*r+1],T=Oa(c,d,o);u=Ia(T,u,f,a),c=T|0,{Dh:v,Dl:b}={Dh:v^u,Dl:b^c},{Dh:v,Dl:b}={Dh:Br(v,b,16),Dl:Mr(v,b,16)},{h:m,l:p}=Hn(m,p,v,b),{Bh:f,Bl:d}={Bh:f^m,Bl:d^p},{Bh:f,Bl:d}={Bh:_i(f,d,63),Bl:Ti(f,d,63)},ie[2*t]=c,ie[2*t+1]=u,ie[2*e]=d,ie[2*e+1]=f,ie[2*n]=p,ie[2*n+1]=m,ie[2*r]=b,ie[2*r+1]=v}function g1(t,e={},n,r,s){if(Xn(n),t<=0||t>n)throw new Error("outputLen bigger than keyLen");let{key:i,salt:o,personalization:a}=e;if(i!==void 0&&(i.length<1||i.length>n))throw new Error('"key" expected to be undefined or of length=1..'+n);o!==void 0&&Gt(o,r,"salt"),a!==void 0&&Gt(a,s,"personalization")}var Sf=class{buffer;buffer32;finished=!1;destroyed=!1;length=0;pos=0;blockLen;outputLen;canXOF=!1;constructor(e,n){Xn(e),Xn(n),this.blockLen=e,this.outputLen=n,this.buffer=new Uint8Array(e),this.buffer32=ka(this.buffer)}update(e){rs(this),Gt(e);let{blockLen:n,buffer:r,buffer32:s}=this,i=e.length,o=e.byteOffset,a=e.buffer;for(let c=0;c<i;){this.pos===n&&(vi(s),this.compress(s,0,!1),vi(s),this.pos=0);let u=Math.min(n-this.pos,i-c),d=o+c;if(u===n&&!(d%4)&&c+u<i){let f=new Uint32Array(a,d,Math.floor((i-c)/4));vi(f);for(let p=0;c+n<i;p+=s.length,c+=n)this.length+=n,this.compress(f,p,!1);vi(f);continue}r.set(e.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(e){rs(this),So(e,this);let{pos:n,buffer32:r}=this;if(this.finished=!0,Gn(this.buffer.subarray(n)),vi(r),this.compress(r,0,!0),vi(r),e.byteOffset&3)throw new RangeError('"digestInto() output" expected 4-byte aligned byteOffset, got '+e.byteOffset);let s=this.get(),i=ka(e),o=Math.floor(this.outputLen/4);for(let d=0;d<o;d++)i[d]=Rr(s[d]);let a=this.outputLen%4;if(!a)return;let c=o*4,u=s[o];for(let d=0;d<a;d++)e[c+d]=u>>>8*d}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){let{buffer:n,length:r,finished:s,destroyed:i,outputLen:o,pos:a}=this;return e||=new this.constructor({dkLen:o}),e.set(...this.get()),e.buffer.set(n),e.destroyed=i,e.finished=s,e.length=r,e.pos=a,e.outputLen=o,e}clone(){return this._cloneInto()}},xf=class extends Sf{v0l=Jt[0]|0;v0h=Jt[1]|0;v1l=Jt[2]|0;v1h=Jt[3]|0;v2l=Jt[4]|0;v2h=Jt[5]|0;v3l=Jt[6]|0;v3h=Jt[7]|0;v4l=Jt[8]|0;v4h=Jt[9]|0;v5l=Jt[10]|0;v5h=Jt[11]|0;v6l=Jt[12]|0;v6h=Jt[13]|0;v7l=Jt[14]|0;v7h=Jt[15]|0;constructor(e={}){let n=e.dkLen===void 0?64:e.dkLen;super(128,n),g1(n,e,64,16,16);let{key:r,personalization:s,salt:i}=e,o=0;if(r!==void 0&&(Gt(r,void 0,"key"),o=r.length),this.v0l^=this.outputLen|o<<8|65536|1<<24,i!==void 0){Gt(i,void 0,"salt");let a=ka(i);this.v4l^=Rr(a[0]),this.v4h^=Rr(a[1]),this.v5l^=Rr(a[2]),this.v5h^=Rr(a[3])}if(s!==void 0){Gt(s,void 0,"personalization");let a=ka(s);this.v6l^=Rr(a[0]),this.v6h^=Rr(a[1]),this.v7l^=Rr(a[2]),this.v7h^=Rr(a[3])}if(r!==void 0){let a=new Uint8Array(this.blockLen);a.set(r),this.update(a)}}get(){let{v0l:e,v0h:n,v1l:r,v1h:s,v2l:i,v2h:o,v3l:a,v3h:c,v4l:u,v4h:d,v5l:f,v5h:p,v6l:m,v6h:b,v7l:v,v7h:T}=this;return[e,n,r,s,i,o,a,c,u,d,f,p,m,b,v,T]}set(e,n,r,s,i,o,a,c,u,d,f,p,m,b,v,T){this.v0l=e|0,this.v0h=n|0,this.v1l=r|0,this.v1h=s|0,this.v2l=i|0,this.v2h=o|0,this.v3l=a|0,this.v3h=c|0,this.v4l=u|0,this.v4h=d|0,this.v5l=f|0,this.v5h=p|0,this.v6l=m|0,this.v6h=b|0,this.v7l=v|0,this.v7h=T|0}compress(e,n,r){this.get().forEach((c,u)=>ie[u]=c),ie.set(Jt,16);let{h:s,l:i}=Tf(BigInt(this.length));ie[24]=Jt[8]^i,ie[25]=Jt[9]^s,r&&(ie[28]=~ie[28],ie[29]=~ie[29]);let o=0,a=G0;for(let c=0;c<12;c++)Rs(0,4,8,12,e,n+2*a[o++]),Bs(0,4,8,12,e,n+2*a[o++]),Rs(1,5,9,13,e,n+2*a[o++]),Bs(1,5,9,13,e,n+2*a[o++]),Rs(2,6,10,14,e,n+2*a[o++]),Bs(2,6,10,14,e,n+2*a[o++]),Rs(3,7,11,15,e,n+2*a[o++]),Bs(3,7,11,15,e,n+2*a[o++]),Rs(0,5,10,15,e,n+2*a[o++]),Bs(0,5,10,15,e,n+2*a[o++]),Rs(1,6,11,12,e,n+2*a[o++]),Bs(1,6,11,12,e,n+2*a[o++]),Rs(2,7,8,13,e,n+2*a[o++]),Bs(2,7,8,13,e,n+2*a[o++]),Rs(3,4,9,14,e,n+2*a[o++]),Bs(3,4,9,14,e,n+2*a[o++]);this.v0l^=ie[0]^ie[16],this.v0h^=ie[1]^ie[17],this.v1l^=ie[2]^ie[18],this.v1h^=ie[3]^ie[19],this.v2l^=ie[4]^ie[20],this.v2h^=ie[5]^ie[21],this.v3l^=ie[6]^ie[22],this.v3h^=ie[7]^ie[23],this.v4l^=ie[8]^ie[24],this.v4h^=ie[9]^ie[25],this.v5l^=ie[10]^ie[26],this.v5h^=ie[11]^ie[27],this.v6l^=ie[12]^ie[28],this.v6h^=ie[13]^ie[29],this.v7l^=ie[14]^ie[30],this.v7h^=ie[15]^ie[31],Gn(ie)}destroy(){this.destroyed=!0,Gn(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},hr=Sa(t=>new xf(t));function mr(t,e,n){let r=A.Address.serialize(t).toBytes(),s=A.TypeTag.serialize(e).toBytes(),i=A.u64().serialize(n.length).toBytes(),o=hr.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(i),o.update(n),o.update(s),`0x${qt(o.digest().slice(0,32))}`}var y1=BigInt(1e9),Aa="0x0000000000000000000000000000000000000000000000000000000000000001",is="0x0000000000000000000000000000000000000000000000000000000000000002",Of="0x0000000000000000000000000000000000000000000000000000000000000003",he="0x0000000000000000000000000000000000000000000000000000000000000006";var Qn=`${is}::sui::SUI`,au="0x0000000000000000000000000000000000000000000000000000000000000005",If="0x0000000000000000000000000000000000000000000000000000000000000008";var Af="0x0000000000000000000000000000000000000000000000000000000000000403";var ng=class rg{#e;#t;constructor({prefix:e,cache:n}={}){this.#e=e??[],this.#t=n??new Map}read(e,n){let r=[this.#e,...e].join(":");if(this.#t.has(r))return this.#t.get(r);let s=n();return this.#t.set(r,s),typeof s=="object"&&s!==null&&"then"in s?Promise.resolve(s).then(i=>(this.#t.set(r,i),i)).catch(i=>{throw this.#t.delete(r),i}):s}readSync(e,n){let r=[this.#e,...e].join(":");if(this.#t.has(r))return this.#t.get(r);let s=n();return this.#t.set(r,s),s}clear(e){let n=[...this.#e,...e??[]].join(":");if(!n){this.#t.clear();return}for(let r of this.#t.keys())r.startsWith(n)&&this.#t.delete(r)}scope(e){return new rg({prefix:[...this.#e,...Array.isArray(e)?e:[e]],cache:this.#t})}};var Ms=class{constructor({network:t,base:e,cache:n=e?.cache??new ng}){this.network=t,this.base=e??this,this.cache=n}$extend(...t){let e=Object.fromEntries(t.map(r=>[r.name,r.register(this)])),n=new Map;return new Proxy(this,{get(r,s,i){if(typeof s=="string"&&s in e)return e[s];let o=Reflect.get(r,s,i);return typeof o=="function"?s==="$extend"?o.bind(i):(n.has(s)||n.set(s,o.bind(r)),n.get(s)):o}})}};var cu="2.16.3";var b1="/",w1={"Mvr-Source":`@mysten/sui@${cu}`},ig=class{#e;#t;#s;#r;constructor({cache:t,url:e,pageSize:n=50,overrides:r}){this.#e=t,this.#t=e,this.#s=n,this.#r={packages:r?.packages,types:r?.types},v1(this.#r)}get#i(){return this.#e.readSync(["#mvrPackageDataLoader",this.#t??""],()=>{let t=new Zc(async n=>{if(!this.#t)throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);let r=await this.#a(n);return n.map(s=>r[s]??new Error(`Failed to resolve package: ${s}`))}),e=this.#r?.packages;if(e)for(let[n,r]of Object.entries(e))t.prime(n,r);return t})}get#o(){return this.#e.readSync(["#mvrTypeDataLoader",this.#t??""],()=>{let t=new Zc(async n=>{if(!this.#t)throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);let r=await this.#c(n);return n.map(s=>r[s]??new Error(`Failed to resolve type: ${s}`))}),e=this.#r?.types;if(e)for(let[n,r]of Object.entries(e))t.prime(n,r);return t})}async#a(t){if(t.length===0)return{};let e=Yn(t,this.#s),n={};return await Promise.all(e.map(async r=>{let s=await this.#n("/v1/resolution/bulk",{names:r});if(s?.resolution)for(let i of Object.keys(s?.resolution)){let o=s.resolution[i]?.package_id;o&&(n[i]=o)}})),n}async#c(t){if(t.length===0)return{};let e=Yn(t,this.#s),n={};return await Promise.all(e.map(async r=>{let s=await this.#n("/v1/struct-definition/bulk",{types:r});if(s?.resolution)for(let i of Object.keys(s?.resolution)){let o=s.resolution[i]?.type_tag;o&&(n[i]=o)}})),n}async#n(t,e){if(!this.#t)throw new Error("MVR Api URL is not set for the current client");let n=await fetch(`${this.#t}${t}`,{method:"POST",headers:{"Content-Type":"application/json",...w1},body:JSON.stringify(e)});if(!n.ok){let r=await n.json().catch(()=>({}));throw new Error(`Failed to resolve types: ${r?.message}`)}return n.json()}async resolvePackage({package:t}){return sn(t)?{package:await this.#i.load(t)}:{package:t}}async resolveType({type:t}){if(!sn(t))return{type:t};let e=[...uu(t)],n=await this.#o.loadMany(e),r={};for(let s=0;s<e.length;s++){let i=n[s];if(i instanceof Error)throw i;r[e[s]]=i}return{type:lu(t,r)}}async resolve({types:t=[],packages:e=[]}){let n=new Set;for(let u of t??[])uu(u,n);let r=[...n],[s,i]=await Promise.all([r.length>0?this.#o.loadMany(r):[],e.length>0?this.#i.loadMany(e):[]]),o={...this.#r?.types};for(let[u,d]of r.entries()){let f=s[u];if(f instanceof Error)throw f;o[d]=f}let a={};for(let u of t??[])a[u]={type:lu(u,o)};let c={};for(let[u,d]of(e??[]).entries()){let f=this.#r?.packages?.[d]??i[u];if(f instanceof Error)throw f;c[d]={package:f}}return{types:a,packages:c}}};function v1(t){if(t?.packages)for(let[e,n]of Object.entries(t.packages)){if(!nn(e))throw new Error(`Invalid package name: ${e}`);if(!tn(Q(n)))throw new Error(`Invalid package ID: ${n}`)}if(t?.types)for(let[e,n]of Object.entries(t.types)){if(dr(e).typeParams.length>0)throw new Error("Type overrides must be first-level only. If you want to supply generic types, just pass each type individually.");if(!tn(dr(n).address))throw new Error(`Invalid type: ${n}`)}}function uu(t,e=new Set){if(typeof t=="string"&&!sn(t))return e;if(typeof t=="string"&&t.startsWith("vector<")&&t.endsWith(">"))return uu(t.slice(7,-1),e);let n=og(t)?t:dr(t);sn(n.address)&&e.add(`${n.address}::${n.module}::${n.name}`);for(let r of n.typeParams)uu(r,e);return e}function lu(t,e){if(typeof t=="string"&&!t.includes("::"))return t;if(typeof t=="string"&&t.startsWith("vector<")&&t.endsWith(">"))return`vector<${lu(t.slice(7,-1),e)}>`;let n=og(t)?t:dr(t),r=e[`${n.address}::${n.module}::${n.name}`];return ye({...n,address:r?r.split("::")[0]:n.address,typeParams:n.typeParams.map(s=>lu(s,e))})}function sn(t){return t.includes(b1)||t.includes("@")||t.includes(".sui")}function og(t){return typeof t=="object"&&"address"in t&&"module"in t&&"name"in t&&"typeParams"in t}function ag(t){let e=new Set,n=new Set;for(let r of t.commands)switch(r.$kind){case"MakeMoveVec":r.MakeMoveVec.type&&sg([r.MakeMoveVec.type]).forEach(o=>{n.add(o)});break;case"MoveCall":let s=r.MoveCall,i=s.package.split("::")[0];if(sn(i)){if(!nn(i))throw new Error(`Invalid package name: ${i}`);e.add(i)}sg(s.typeArguments??[]).forEach(o=>{n.add(o)});break;default:break}return{packages:[...e],types:[...n]}}function cg(t,e){for(let n of t.commands){if(n.MakeMoveVec?.type){if(!sn(n.MakeMoveVec.type))continue;if(!e.types[n.MakeMoveVec.type])throw new Error(`No resolution found for type: ${n.MakeMoveVec.type}`);n.MakeMoveVec.type=e.types[n.MakeMoveVec.type].type}let r=n.MoveCall;if(!r)continue;let s=r.package.split("::"),i=s[0];if(sn(i)&&!e.packages[i])throw new Error(`No address found for package: ${i}`);sn(i)&&(s[0]=e.packages[i].package,r.package=s.join("::"));let o=r.typeArguments;if(o){for(let a=0;a<o.length;a++)if(sn(o[a])){if(!e.types[o[a]])throw new Error(`No resolution found for type: ${o[a]}`);o[a]=e.types[o[a]].type}r.typeArguments=o}}}function sg(t){let e=new Set;for(let n of t)if(sn(n)){if(!N0(n))throw new Error(`Invalid type with names: ${n}`);e.add(n)}return e}var _1={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"},Oo=class extends Ms{constructor(t){super(t),this.core=this,this.mvr=new ig({cache:this.cache.scope("core.mvr"),url:t.mvr?.url??_1[this.network],pageSize:t.mvr?.pageSize,overrides:t.mvr?.overrides})}async getObject(t){let{objectId:e}=t,{objects:[n]}=await this.getObjects({objectIds:[e],signal:t.signal,include:t.include});if(n instanceof Error)throw n;return{object:n}}async getDynamicField(t){let e=$n.parseFromStr((await this.core.mvr.resolveType({type:t.name.type})).type),n=mr(t.parentId,e,t.name.bcs),{objects:[r]}=await this.getObjects({objectIds:[n],signal:t.signal,include:{previousTransaction:!0,content:!0}});if(r instanceof Error)throw r;let s=dr(r.type),i=await r.content,o=s.typeParams[0],a=typeof o!="string"&&o.module==="dynamic_object_field"&&o.name==="Wrapper",c=i.slice(ts+t.name.bcs.length),u=typeof s.typeParams[1]=="string"?s.typeParams[1]:ye(s.typeParams[1]);return{dynamicField:{$kind:a?"DynamicObject":"DynamicField",fieldId:r.objectId,digest:r.digest,version:r.version,type:r.type,previousTransaction:r.previousTransaction,name:{type:typeof o=="string"?o:ye(o),bcs:t.name.bcs},value:{type:u,bcs:c},childId:a?A.Address.parse(c):void 0}}}async getDynamicObjectField(t){let e=`0x2::dynamic_object_field::Wrapper<${(await this.core.mvr.resolveType({type:t.name.type})).type}>`,{dynamicField:n}=await this.getDynamicField({parentId:t.parentId,name:{type:e,bcs:t.name.bcs},signal:t.signal}),{object:r}=await this.getObject({objectId:n.childId,signal:t.signal,include:t.include});return{object:r}}async waitForTransaction(t){let{signal:e,timeout:n=60*1e3,pollSchedule:r,include:s}=t,i="result"in t&&t.result?(t.result.Transaction??t.result.FailedTransaction).digest:t.digest,o=e?AbortSignal.any([AbortSignal.timeout(n),e]):AbortSignal.timeout(n),a=new Promise((p,m)=>{o.addEventListener("abort",()=>m(o.reason))});a.catch(()=>{});let c=r??[0,300,600,1500,3500],u=Date.now(),d=0,f=c.length>0?c[c.length-1]-(c[c.length-2]??0):2e3;for(;;){if(d<c.length){let p=u+c[d]-Date.now();d++,p>0&&await Promise.race([new Promise(m=>setTimeout(m,p)),a])}else await Promise.race([new Promise(p=>setTimeout(p,f)),a]);o.throwIfAborted();try{return await this.getTransaction({digest:i,include:s,signal:o})}catch{}}}async signAndExecuteTransaction({transaction:t,signer:e,additionalSignatures:n=[],...r}){let s;t instanceof Uint8Array?s=t:(t.setSenderIfNotSet(e.toSuiAddress()),s=await t.build({client:this}));let{signature:i}=await e.signTransaction(s);return this.executeTransaction({transaction:s,signatures:[i,...n],...r})}};var Cf;function lg(t){return{lang:t?.lang??Cf?.lang,message:t?.message,abortEarly:t?.abortEarly??Cf?.abortEarly,abortPipeEarly:t?.abortPipeEarly??Cf?.abortPipeEarly}}var T1;function k1(t){return T1?.get(t)}var E1;function S1(t){return E1?.get(t)}var x1;function O1(t,e){return x1?.get(t)?.get(e)}function Nf(t){let e=typeof t;return e==="string"?`"${t}"`:e==="number"||e==="bigint"||e==="boolean"?`${t}`:e==="object"||e==="function"?(t&&Object.getPrototypeOf(t)?.constructor?.name)??"null":e}function Tn(t,e,n,r,s){let i=s&&"input"in s?s.input:n.value,o=s?.expected??t.expects??null,a=s?.received??Nf(i),c={kind:t.kind,type:t.type,input:i,expected:o,received:a,message:`Invalid ${e}: ${o?`Expected ${o} but r`:"R"}eceived ${a}`,requirement:t.requirement,path:s?.path,issues:s?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},u=t.kind==="schema",d=s?.message??t.message??O1(t.reference,c.lang)??(u?S1(c.lang):null)??r.message??k1(c.lang);d!==void 0&&(c.message=typeof d=="function"?d(c):d),u&&(n.typed=!1),n.issues?n.issues.push(c):n.issues=[c]}function on(t){return{version:1,vendor:"valibot",validate(e){return t["~run"]({value:e},lg())}}}function I1(t,e){return Object.hasOwn(t,e)&&e!=="__proto__"&&e!=="prototype"&&e!=="constructor"}function dg(t,e){let n=[...new Set(t)];return n.length>1?`(${n.join(` ${e} `)})`:n[0]??"never"}var A1=class extends Error{constructor(t){super(t[0].message),this.name="ValiError",this.issues=t}};function js(t,e){return{kind:"validation",type:"check",reference:js,async:!1,expects:null,requirement:t,message:e,"~run"(n,r){return n.typed&&!this.requirement(n.value)&&Tn(this,"input",n,r),n}}}function ze(t){return{kind:"validation",type:"integer",reference:ze,async:!1,expects:null,requirement:Number.isInteger,message:t,"~run"(e,n){return e.typed&&!this.requirement(e.value)&&Tn(this,"integer",e,n),e}}}function du(t){return{kind:"transformation",type:"transform",reference:du,async:!1,operation:t,"~run"(e){return e.value=this.operation(e.value),e}}}function C1(t,e,n){return typeof t.fallback=="function"?t.fallback(e,n):t.fallback}function fu(t,e,n){return typeof t.default=="function"?t.default(e,n):t.default}function Ca(t,e){return!t["~run"]({value:e},{abortEarly:!0}).issues}function me(t,e){return{kind:"schema",type:"array",reference:me,expects:"Array",async:!1,item:t,message:e,get"~standard"(){return on(this)},"~run"(n,r){let s=n.value;if(Array.isArray(s)){n.typed=!0,n.value=[];for(let i=0;i<s.length;i++){let o=s[i],a=this.item["~run"]({value:o},r);if(a.issues){let c={type:"array",origin:"value",input:s,key:i,value:o};for(let u of a.issues)u.path?u.path.unshift(c):u.path=[c],n.issues?.push(u);if(n.issues||(n.issues=a.issues),r.abortEarly){n.typed=!1;break}}a.typed||(n.typed=!1),n.value.push(a.value)}}else Tn(this,"type",n,r);return n}}}function Io(t){return{kind:"schema",type:"bigint",reference:Io,expects:"bigint",async:!1,message:t,get"~standard"(){return on(this)},"~run"(e,n){return typeof e.value=="bigint"?e.typed=!0:Tn(this,"type",e,n),e}}}function os(t){return{kind:"schema",type:"boolean",reference:os,expects:"boolean",async:!1,message:t,get"~standard"(){return on(this)},"~run"(e,n){return typeof e.value=="boolean"?e.typed=!0:Tn(this,"type",e,n),e}}}function ki(t){return{kind:"schema",type:"lazy",reference:ki,expects:"unknown",async:!1,getter:t,get"~standard"(){return on(this)},"~run"(e,n){return this.getter(e.value)["~run"](e,n)}}}function de(t,e){return{kind:"schema",type:"literal",reference:de,expects:Nf(t),async:!1,literal:t,message:e,get"~standard"(){return on(this)},"~run"(n,r){return n.value===this.literal?n.typed=!0:Tn(this,"type",n,r),n}}}function Oe(t,e){return{kind:"schema",type:"nullable",reference:Oe,expects:`(${t.expects} | null)`,async:!1,wrapped:t,default:e,get"~standard"(){return on(this)},"~run"(n,r){return n.value===null&&(this.default!==void 0&&(n.value=fu(this,n,r)),n.value===null)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function as(t,e){return{kind:"schema",type:"nullish",reference:as,expects:`(${t.expects} | null | undefined)`,async:!1,wrapped:t,default:e,get"~standard"(){return on(this)},"~run"(n,r){return(n.value===null||n.value===void 0)&&(this.default!==void 0&&(n.value=fu(this,n,r)),n.value===null||n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function He(t){return{kind:"schema",type:"number",reference:He,expects:"number",async:!1,message:t,get"~standard"(){return on(this)},"~run"(e,n){return typeof e.value=="number"&&!isNaN(e.value)?e.typed=!0:Tn(this,"type",e,n),e}}}function J(t,e){return{kind:"schema",type:"object",reference:J,expects:"Object",async:!1,entries:t,message:e,get"~standard"(){return on(this)},"~run"(n,r){let s=n.value;if(s&&typeof s=="object"){n.typed=!0,n.value={};for(let i in this.entries){let o=this.entries[i];if(i in s||(o.type==="exact_optional"||o.type==="optional"||o.type==="nullish")&&o.default!==void 0){let a=i in s?s[i]:fu(o),c=o["~run"]({value:a},r);if(c.issues){let u={type:"object",origin:"value",input:s,key:i,value:a};for(let d of c.issues)d.path?d.path.unshift(u):d.path=[u],n.issues?.push(d);if(n.issues||(n.issues=c.issues),r.abortEarly){n.typed=!1;break}}c.typed||(n.typed=!1),n.value[i]=c.value}else if(o.fallback!==void 0)n.value[i]=C1(o);else if(o.type!=="exact_optional"&&o.type!=="optional"&&o.type!=="nullish"&&(Tn(this,"key",n,r,{input:void 0,expected:`"${i}"`,path:[{type:"object",origin:"key",input:s,key:i,value:s[i]}]}),r.abortEarly))break}}else Tn(this,"type",n,r);return n}}}function Ke(t,e){return{kind:"schema",type:"optional",reference:Ke,expects:`(${t.expects} | undefined)`,async:!1,wrapped:t,default:e,get"~standard"(){return on(this)},"~run"(n,r){return n.value===void 0&&(this.default!==void 0&&(n.value=fu(this,n,r)),n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function Rf(t,e){return{kind:"schema",type:"picklist",reference:Rf,expects:dg(t.map(Nf),"|"),async:!1,options:t,message:e,get"~standard"(){return on(this)},"~run"(n,r){return this.options.includes(n.value)?n.typed=!0:Tn(this,"type",n,r),n}}}function Ei(t,e,n){return{kind:"schema",type:"record",reference:Ei,expects:"Object",async:!1,key:t,value:e,message:n,get"~standard"(){return on(this)},"~run"(r,s){let i=r.value;if(i&&typeof i=="object"){r.typed=!0,r.value={};for(let o in i)if(I1(i,o)){let a=i[o],c=this.key["~run"]({value:o},s);if(c.issues){let d={type:"object",origin:"key",input:i,key:o,value:a};for(let f of c.issues)f.path=[d],r.issues?.push(f);if(r.issues||(r.issues=c.issues),s.abortEarly){r.typed=!1;break}}let u=this.value["~run"]({value:a},s);if(u.issues){let d={type:"object",origin:"value",input:i,key:o,value:a};for(let f of u.issues)f.path?f.path.unshift(d):f.path=[d],r.issues?.push(f);if(r.issues||(r.issues=u.issues),s.abortEarly){r.typed=!1;break}}(!c.typed||!u.typed)&&(r.typed=!1),c.typed&&(r.value[c.value]=u.value)}}else Tn(this,"type",r,s);return r}}}function Te(t){return{kind:"schema",type:"string",reference:Te,expects:"string",async:!1,message:t,get"~standard"(){return on(this)},"~run"(e,n){return typeof e.value=="string"?e.typed=!0:Tn(this,"type",e,n),e}}}function Na(t,e){return{kind:"schema",type:"tuple",reference:Na,expects:"Array",async:!1,items:t,message:e,get"~standard"(){return on(this)},"~run"(n,r){let s=n.value;if(Array.isArray(s)){n.typed=!0,n.value=[];for(let i=0;i<this.items.length;i++){let o=s[i],a=this.items[i]["~run"]({value:o},r);if(a.issues){let c={type:"array",origin:"value",input:s,key:i,value:o};for(let u of a.issues)u.path?u.path.unshift(c):u.path=[c],n.issues?.push(u);if(n.issues||(n.issues=a.issues),r.abortEarly){n.typed=!1;break}}a.typed||(n.typed=!1),n.value.push(a.value)}}else Tn(this,"type",n,r);return n}}}function ug(t){let e;if(t)for(let n of t)e?e.push(...n.issues):e=n.issues;return e}function st(t,e){return{kind:"schema",type:"union",reference:st,expects:dg(t.map(n=>n.expects),"|"),async:!1,options:t,message:e,get"~standard"(){return on(this)},"~run"(n,r){let s,i,o;for(let a of this.options){let c=a["~run"]({value:n.value},r);if(c.typed)if(c.issues)i?i.push(c):i=[c];else{s=c;break}else o?o.push(c):o=[c]}if(s)return s;if(i){if(i.length===1)return i[0];Tn(this,"type",n,r,{issues:ug(i)}),n.typed=!0}else{if(o?.length===1)return o[0];Tn(this,"type",n,r,{issues:ug(o)})}return n}}}function jr(){return{kind:"schema",type:"unknown",reference:jr,expects:"unknown",async:!1,get"~standard"(){return on(this)},"~run"(t){return t.typed=!0,t}}}function Le(t,e,n){let r=t["~run"]({value:e},lg(n));if(r.issues)throw new A1(r.issues);return r.value}function Fe(...t){return{...t[0],pipe:t,get"~standard"(){return on(this)},"~run"(e,n){for(let r of t)if(r.kind!=="metadata"){if(e.issues&&(r.kind==="schema"||r.kind==="transformation")){e.typed=!1;break}(!e.issues||!n.abortEarly&&!n.abortPipeEarly)&&(e=r["~run"](e,n))}return e}}}function yr(t){return st(Object.keys(t).map(e=>Ra(e,J({[e]:t[e]}))))}function Ra(t,e){return Fe(J({...e.entries,$kind:Ke(de(t))}),du(n=>({...n,$kind:t})))}var Si=Fe(Te(),du(t=>Q(t)),js(tn)),kn=Si,Ds=Te(),it=Fe(st([Te(),Fe(He(),ze())]),js(t=>{try{return BigInt(t),BigInt(t)>=0&&BigInt(t)<=18446744073709551615n}catch{return!1}},"Invalid u64")),N1=Fe(He(),ze(),js(t=>t>=0&&t<2**32,"Invalid u32")),gr=J({objectId:Si,version:it,digest:Te()}),qe=st([Ra("GasCoin",J({GasCoin:de(!0)})),Ra("Input",J({Input:Fe(He(),ze()),type:Ke(st([de("pure"),de("object"),de("withdrawal")]))})),Ra("Result",J({Result:Fe(He(),ze())})),Ra("NestedResult",J({NestedResult:Na([Fe(He(),ze()),Fe(He(),ze())])}))]),R1=J({budget:Oe(it),price:Oe(it),owner:Oe(Si),payment:Oe(me(gr))}),kB=J({address:Te(),module:Te(),name:Te(),typeParams:me(Te())}),Bf=st([J({$kind:de("address")}),J({$kind:de("bool")}),J({$kind:de("u8")}),J({$kind:de("u16")}),J({$kind:de("u32")}),J({$kind:de("u64")}),J({$kind:de("u128")}),J({$kind:de("u256")}),J({$kind:de("unknown")}),J({$kind:de("vector"),vector:ki(()=>Bf)}),J({$kind:de("datatype"),datatype:J({typeName:Te(),typeParameters:me(ki(()=>Bf))})}),J({$kind:de("typeParameter"),index:Fe(He(),ze())})]),B1=J({reference:Oe(st([de("mutable"),de("immutable"),de("unknown")])),body:Bf}),M1=J({package:kn,module:Te(),function:Te(),typeArguments:me(Te()),arguments:me(qe),_argumentTypes:Ke(Oe(me(B1)))}),j1=J({name:Te(),inputs:Ei(Te(),st([qe,me(qe)])),data:Ei(Te(),jr())}),D1=yr({MoveCall:M1,TransferObjects:J({objects:me(qe),address:qe}),SplitCoins:J({coin:qe,amounts:me(qe)}),MergeCoins:J({destination:qe,sources:me(qe)}),Publish:J({modules:me(Ds),dependencies:me(kn)}),MakeMoveVec:J({type:Oe(Te()),elements:me(qe)}),Upgrade:J({modules:me(Ds),dependencies:me(kn),package:kn,ticket:qe}),$Intent:j1}),fg=yr({ImmOrOwnedObject:gr,SharedObject:J({objectId:kn,initialSharedVersion:it,mutable:os()}),Receiving:gr}),U1=yr({MaxAmountU64:it}),P1=yr({Balance:Te()}),L1=yr({Sender:de(!0),Sponsor:de(!0)}),Mf=J({reservation:U1,typeArg:P1,withdrawFrom:L1}),V1=yr({Object:fg,Pure:J({bytes:Ds}),UnresolvedPure:J({value:jr()}),UnresolvedObject:J({objectId:kn,version:Ke(Oe(it)),digest:Ke(Oe(Te())),initialSharedVersion:Ke(Oe(it)),mutable:Ke(Oe(os()))}),FundsWithdrawal:Mf}),jf=yr({Object:fg,Pure:J({bytes:Ds})}),Df=J({minEpoch:Oe(it),maxEpoch:Oe(it),minTimestamp:Oe(it),maxTimestamp:Oe(it),chain:Te(),nonce:N1}),Uf=yr({None:de(!0),Epoch:it,ValidDuring:Df}),Ao=J({version:de(2),sender:as(Si),expiration:as(Uf),gasData:R1,inputs:me(V1),commands:me(D1)});var Pf=J({digest:Te(),objectId:Te(),version:st([Fe(He(),ze()),Te(),Io()])}),F1=yr({ImmOrOwned:Pf,Shared:J({objectId:kn,initialSharedVersion:it,mutable:os()}),Receiving:Pf}),pg=yr({Object:F1,Pure:me(Fe(He(),ze()))}),mg=st([J({kind:de("Input"),index:Fe(He(),ze()),value:jr(),type:Ke(de("object"))}),J({kind:de("Input"),index:Fe(He(),ze()),value:jr(),type:de("pure")})]),q1=st([J({Epoch:Fe(He(),ze())}),J({None:Oe(de(!0))})]),hg=Fe(st([He(),Te(),Io()]),js(t=>{if(!["string","number","bigint"].includes(typeof t))return!1;try{return BigInt(t),!0}catch{return!1}})),Lf=st([J({bool:Oe(de(!0))}),J({u8:Oe(de(!0))}),J({u64:Oe(de(!0))}),J({u128:Oe(de(!0))}),J({address:Oe(de(!0))}),J({signer:Oe(de(!0))}),J({vector:ki(()=>Lf)}),J({struct:ki(()=>$1)}),J({u16:Oe(de(!0))}),J({u32:Oe(de(!0))}),J({u256:Oe(de(!0))})]),$1=J({address:Te(),module:Te(),name:Te(),typeParams:me(Lf)}),G1=J({budget:Ke(hg),price:Ke(hg),payment:Ke(me(Pf)),owner:Ke(Te())}),H1=[mg,J({kind:de("GasCoin")}),J({kind:de("Result"),index:Fe(He(),ze())}),J({kind:de("NestedResult"),index:Fe(He(),ze()),resultIndex:Fe(He(),ze())})],ls=st([...H1]),z1=J({kind:de("MoveCall"),target:Fe(Te(),js(t=>t.split("::").length===3)),typeArguments:me(Te()),arguments:me(ls)}),W1=J({kind:de("TransferObjects"),objects:me(ls),address:ls}),Z1=J({kind:de("SplitCoins"),coin:ls,amounts:me(ls)}),J1=J({kind:de("MergeCoins"),destination:ls,sources:me(ls)}),K1=J({kind:de("MakeMoveVec"),type:st([J({Some:Lf}),J({None:Oe(de(!0))})]),objects:me(ls)}),Y1=st([z1,W1,Z1,J1,J({kind:de("Publish"),modules:me(me(Fe(He(),ze()))),dependencies:me(Te())}),J({kind:de("Upgrade"),modules:me(me(Fe(He(),ze()))),dependencies:me(Te()),packageId:Te(),ticket:ls}),K1]),AB=J({version:de(1),sender:Ke(Te()),expiration:as(q1),gasConfig:G1,inputs:me(mg),transactions:me(Y1)});function gg(t){let e=t.inputs.map((n,r)=>{if(n.Object)return{kind:"Input",index:r,value:{Object:n.Object.ImmOrOwnedObject?{ImmOrOwned:n.Object.ImmOrOwnedObject}:n.Object.Receiving?{Receiving:{digest:n.Object.Receiving.digest,version:n.Object.Receiving.version,objectId:n.Object.Receiving.objectId}}:{Shared:{mutable:n.Object.SharedObject.mutable,initialSharedVersion:n.Object.SharedObject.initialSharedVersion,objectId:n.Object.SharedObject.objectId}}},type:"object"};if(n.Pure)return{kind:"Input",index:r,value:{Pure:Array.from(ce(n.Pure.bytes))},type:"pure"};if(n.UnresolvedPure)return{kind:"Input",type:"pure",index:r,value:n.UnresolvedPure.value};if(n.UnresolvedObject)return{kind:"Input",type:"object",index:r,value:n.UnresolvedObject.objectId};throw new Error("Invalid input")});return{version:1,sender:t.sender??void 0,expiration:t.expiration?.$kind==="Epoch"?{Epoch:Number(t.expiration.Epoch)}:t.expiration?{None:!0}:null,gasConfig:{owner:t.gasData.owner??void 0,budget:t.gasData.budget??void 0,price:t.gasData.price??void 0,payment:t.gasData.payment??void 0},inputs:e,transactions:t.commands.map(n=>{if(n.MakeMoveVec)return{kind:"MakeMoveVec",type:n.MakeMoveVec.type===null?{None:!0}:{Some:$n.parseFromStr(n.MakeMoveVec.type)},objects:n.MakeMoveVec.elements.map(r=>cs(r,e))};if(n.MergeCoins)return{kind:"MergeCoins",destination:cs(n.MergeCoins.destination,e),sources:n.MergeCoins.sources.map(r=>cs(r,e))};if(n.MoveCall)return{kind:"MoveCall",target:`${n.MoveCall.package}::${n.MoveCall.module}::${n.MoveCall.function}`,typeArguments:n.MoveCall.typeArguments,arguments:n.MoveCall.arguments.map(r=>cs(r,e))};if(n.Publish)return{kind:"Publish",modules:n.Publish.modules.map(r=>Array.from(ce(r))),dependencies:n.Publish.dependencies};if(n.SplitCoins)return{kind:"SplitCoins",coin:cs(n.SplitCoins.coin,e),amounts:n.SplitCoins.amounts.map(r=>cs(r,e))};if(n.TransferObjects)return{kind:"TransferObjects",objects:n.TransferObjects.objects.map(r=>cs(r,e)),address:cs(n.TransferObjects.address,e)};if(n.Upgrade)return{kind:"Upgrade",modules:n.Upgrade.modules.map(r=>Array.from(ce(r))),dependencies:n.Upgrade.dependencies,packageId:n.Upgrade.package,ticket:cs(n.Upgrade.ticket,e)};throw new Error(`Unknown transaction ${Object.keys(n)}`)})}}function cs(t,e){if(t.$kind==="GasCoin")return{kind:"GasCoin"};if(t.$kind==="Result")return{kind:"Result",index:t.Result};if(t.$kind==="NestedResult")return{kind:"NestedResult",index:t.NestedResult[0],resultIndex:t.NestedResult[1]};if(t.$kind==="Input")return e[t.Input];throw new Error(`Invalid argument ${Object.keys(t)}`)}function yg(t){return Le(Ao,{version:2,sender:t.sender??null,expiration:t.expiration?"Epoch"in t.expiration?{Epoch:t.expiration.Epoch}:{None:!0}:null,gasData:{owner:t.gasConfig.owner??null,budget:t.gasConfig.budget?.toString()??null,price:t.gasConfig.price?.toString()??null,payment:t.gasConfig.payment?.map(e=>({digest:e.digest,objectId:e.objectId,version:e.version.toString()}))??null},inputs:t.inputs.map(e=>{if(e.kind==="Input"){if(Ca(pg,e.value)){let n=Le(pg,e.value);if(n.Object){if(n.Object.ImmOrOwned)return{Object:{ImmOrOwnedObject:{objectId:n.Object.ImmOrOwned.objectId,version:String(n.Object.ImmOrOwned.version),digest:n.Object.ImmOrOwned.digest}}};if(n.Object.Shared)return{Object:{SharedObject:{mutable:n.Object.Shared.mutable??null,initialSharedVersion:n.Object.Shared.initialSharedVersion,objectId:n.Object.Shared.objectId}}};if(n.Object.Receiving)return{Object:{Receiving:{digest:n.Object.Receiving.digest,version:String(n.Object.Receiving.version),objectId:n.Object.Receiving.objectId}}};throw new Error("Invalid object input")}return{Pure:{bytes:ge(new Uint8Array(n.Pure))}}}return e.type==="object"?{UnresolvedObject:{objectId:e.value}}:{UnresolvedPure:{value:e.value}}}throw new Error("Invalid input")}),commands:t.transactions.map(e=>{switch(e.kind){case"MakeMoveVec":return{MakeMoveVec:{type:"Some"in e.type?$n.tagToString(e.type.Some):null,elements:e.objects.map(n=>us(n))}};case"MergeCoins":return{MergeCoins:{destination:us(e.destination),sources:e.sources.map(n=>us(n))}};case"MoveCall":{let[n,r,s]=e.target.split("::");return{MoveCall:{package:n,module:r,function:s,typeArguments:e.typeArguments,arguments:e.arguments.map(i=>us(i))}}}case"Publish":return{Publish:{modules:e.modules.map(n=>ge(Uint8Array.from(n))),dependencies:e.dependencies}};case"SplitCoins":return{SplitCoins:{coin:us(e.coin),amounts:e.amounts.map(n=>us(n))}};case"TransferObjects":return{TransferObjects:{objects:e.objects.map(n=>us(n)),address:us(e.address)}};case"Upgrade":return{Upgrade:{modules:e.modules.map(n=>ge(Uint8Array.from(n))),dependencies:e.dependencies,package:e.packageId,ticket:us(e.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(e)}`)})})}function us(t){switch(t.kind){case"GasCoin":return{GasCoin:!0};case"Result":return{Result:t.index};case"NestedResult":return{NestedResult:[t.index,t.resultIndex]};case"Input":return{Input:t.index}}}function bg(t,e){let n=Array.from(`${t}::`).map(s=>s.charCodeAt(0)),r=new Uint8Array(n.length+e.length);return r.set(n),r.set(e,n.length),hr(r,{dkLen:32})}function Co(t){if(typeof t=="string")return Q(t);if(t.Object)return t.Object.ImmOrOwnedObject?Q(t.Object.ImmOrOwnedObject.objectId):t.Object.Receiving?Q(t.Object.Receiving.objectId):Q(t.Object.SharedObject.objectId);if(t.UnresolvedObject)return Q(t.UnresolvedObject.objectId)}function wg(t,e,n){let r=s=>{switch(s.$kind){case"Input":{let i=e.get(s.Input);if(i===void 0)throw new Error(`Input ${s.Input} not found in input mapping`);return{...s,Input:i}}case"Result":{let i=n.get(s.Result);return i!==void 0?{...s,Result:i}:s}case"NestedResult":{let i=n.get(s.NestedResult[0]);return i!==void 0?{...s,NestedResult:[i,s.NestedResult[1]]}:s}default:return s}};switch(t.$kind){case"MoveCall":t.MoveCall.arguments=t.MoveCall.arguments.map(r);break;case"TransferObjects":t.TransferObjects.objects=t.TransferObjects.objects.map(r),t.TransferObjects.address=r(t.TransferObjects.address);break;case"SplitCoins":t.SplitCoins.coin=r(t.SplitCoins.coin),t.SplitCoins.amounts=t.SplitCoins.amounts.map(r);break;case"MergeCoins":t.MergeCoins.destination=r(t.MergeCoins.destination),t.MergeCoins.sources=t.MergeCoins.sources.map(r);break;case"MakeMoveVec":t.MakeMoveVec.elements=t.MakeMoveVec.elements.map(r);break;case"Upgrade":t.Upgrade.ticket=r(t.Upgrade.ticket);break;case"$Intent":{let s=t.$Intent.inputs;t.$Intent.inputs={};for(let[i,o]of Object.entries(s))t.$Intent.inputs[i]=Array.isArray(o)?o.map(r):r(o);break}case"Publish":break}}function vg(t){return Q(t).replace("0x","")}var En=class xi{static fromKindBytes(e){let n=A.TransactionKind.parse(e).ProgrammableTransaction;if(!n)throw new Error("Unable to deserialize from bytes.");return xi.restore({version:2,sender:null,expiration:null,gasData:{budget:null,owner:null,payment:null,price:null},inputs:n.inputs,commands:n.commands})}static fromBytes(e){let n=A.TransactionData.parse(e)?.V1,r=n.kind.ProgrammableTransaction;if(!n||!r)throw new Error("Unable to deserialize from bytes.");return xi.restore({version:2,sender:n.sender,expiration:n.expiration,gasData:n.gasData,inputs:r.inputs,commands:r.commands})}static restore(e){return e.version===2?new xi(Le(Ao,e)):new xi(Le(Ao,yg(e)))}static getDigestFromBytes(e){return qn(bg("TransactionData",e))}constructor(e){this.version=2,this.sender=e?.sender??null,this.expiration=e?.expiration??null,this.inputs=e?.inputs??[],this.commands=e?.commands??[],this.gasData=e?.gasData??{budget:null,price:null,owner:null,payment:null}}build({maxSizeBytes:e=1/0,overrides:n,onlyTransactionKind:r}={}){let s=this.inputs,i=this.commands,o={ProgrammableTransaction:{inputs:s,commands:i}};if(r)return A.TransactionKind.serialize(o,{maxSize:e}).toBytes();let a=n?.expiration??this.expiration,c=n?.sender??this.sender,u={...this.gasData,...n?.gasData};if(!c)throw new Error("Missing transaction sender");if(!u.budget)throw new Error("Missing gas budget");if(!u.payment)throw new Error("Missing gas payment");if(!u.price)throw new Error("Missing gas price");let d={sender:vg(c),expiration:a||{None:!0},gasData:{payment:u.payment,owner:vg(this.gasData.owner??c),price:BigInt(u.price),budget:BigInt(u.budget)},kind:{ProgrammableTransaction:{inputs:s,commands:i}}};return A.TransactionData.serialize({V1:d},{maxSize:e}).toBytes()}addInput(e,n){let r=this.inputs.length;return this.inputs.push(n),{Input:r,type:e,$kind:"Input"}}getInputUses(e,n){this.mapArguments((r,s)=>(r.$kind==="Input"&&r.Input===e&&n(r,s),r))}mapCommandArguments(e,n){let r=this.commands[e];switch(r.$kind){case"MoveCall":r.MoveCall.arguments=r.MoveCall.arguments.map(i=>n(i,r,e));break;case"TransferObjects":r.TransferObjects.objects=r.TransferObjects.objects.map(i=>n(i,r,e)),r.TransferObjects.address=n(r.TransferObjects.address,r,e);break;case"SplitCoins":r.SplitCoins.coin=n(r.SplitCoins.coin,r,e),r.SplitCoins.amounts=r.SplitCoins.amounts.map(i=>n(i,r,e));break;case"MergeCoins":r.MergeCoins.destination=n(r.MergeCoins.destination,r,e),r.MergeCoins.sources=r.MergeCoins.sources.map(i=>n(i,r,e));break;case"MakeMoveVec":r.MakeMoveVec.elements=r.MakeMoveVec.elements.map(i=>n(i,r,e));break;case"Upgrade":r.Upgrade.ticket=n(r.Upgrade.ticket,r,e);break;case"$Intent":let s=r.$Intent.inputs;r.$Intent.inputs={};for(let[i,o]of Object.entries(s))r.$Intent.inputs[i]=Array.isArray(o)?o.map(a=>n(a,r,e)):n(o,r,e);break;case"Publish":break;default:throw new Error(`Unexpected transaction kind: ${r.$kind}`)}}mapArguments(e){for(let n of this.commands.keys())this.mapCommandArguments(n,e)}replaceCommand(e,n,r=e){if(!Array.isArray(n)){this.commands[e]=n;return}let s=n.length-1;this.commands.splice(e,1,...structuredClone(n)),this.mapArguments((i,o,a)=>{if(a<e+n.length)return i;if(typeof r!="number"&&(i.$kind==="Result"&&i.Result===e||i.$kind==="NestedResult"&&i.NestedResult[0]===e)){if(!("NestedResult"in i)||i.NestedResult[1]===0)return Le(qe,structuredClone(r));throw new Error(`Cannot replace command ${e} with a specific result type: NestedResult[${e}, ${i.NestedResult[1]}] references a nested element that cannot be mapped to the replacement result`)}switch(i.$kind){case"Result":i.Result===e&&typeof r=="number"&&(i.Result=r),i.Result>e&&(i.Result+=s);break;case"NestedResult":if(i.NestedResult[0]===e&&typeof r=="number")return{$kind:"NestedResult",NestedResult:[r,i.NestedResult[1]]};i.NestedResult[0]>e&&(i.NestedResult[0]+=s);break}return i})}replaceCommandWithTransaction(e,n,r){if(r.$kind!=="Result"&&r.$kind!=="NestedResult")throw new Error("Result must be of kind Result or NestedResult");this.insertTransaction(e,n),this.replaceCommand(e+n.commands.length,[],"Result"in r?{NestedResult:[r.Result+e,0]}:{NestedResult:[r.NestedResult[0]+e,r.NestedResult[1]]})}insertTransaction(e,n){let r=new Map,s=new Map;for(let a=0;a<n.inputs.length;a++){let c=n.inputs[a],u=Co(c),d=-1;if(u!==void 0&&(d=this.inputs.findIndex(f=>Co(f)===u),d!==-1&&this.inputs[d].Object?.SharedObject&&c.Object?.SharedObject&&(this.inputs[d].Object.SharedObject.mutable=this.inputs[d].Object.SharedObject.mutable||c.Object.SharedObject.mutable)),d!==-1)r.set(a,d);else{let f=this.inputs.length;this.inputs.push(c),r.set(a,f)}}for(let a=0;a<n.commands.length;a++)s.set(a,e+a);let i=[];for(let a=0;a<n.commands.length;a++){let c=structuredClone(n.commands[a]);wg(c,r,s),i.push(c)}this.commands.splice(e,0,...i);let o=i.length;o>0&&this.mapArguments((a,c,u)=>{if(u>=e&&u<e+i.length)return a;switch(a.$kind){case"Result":a.Result>=e&&(a.Result+=o);break;case"NestedResult":a.NestedResult[0]>=e&&(a.NestedResult[0]+=o);break}return a})}getDigest(){let e=this.build({onlyTransactionKind:!1});return xi.getDigestFromBytes(e)}snapshot(){return Le(Ao,this)}shallowClone(){return new xi({version:this.version,sender:this.sender,expiration:this.expiration,gasData:{...this.gasData},inputs:[...this.inputs],commands:[...this.commands]})}applyResolvedData(e){this.sender||(this.sender=e.sender??null),this.expiration||(this.expiration=e.expiration??null),this.gasData.budget||(this.gasData.budget=e.gasData.budget),this.gasData.owner||(this.gasData.owner=e.gasData.owner??null),this.gasData.payment||(this.gasData.payment=e.gasData.payment),this.gasData.price||(this.gasData.price=e.gasData.price);for(let n=0;n<this.inputs.length;n++){let r=this.inputs[n],s=e.inputs[n];switch(r.$kind){case"UnresolvedPure":if(s.$kind!=="Pure")throw new Error(`Expected input at index ${n} to resolve to a Pure argument, but got ${JSON.stringify(s)}`);this.inputs[n]=s;break;case"UnresolvedObject":if(s.$kind!=="Object")throw new Error(`Expected input at index ${n} to resolve to an Object argument, but got ${JSON.stringify(s)}`);if(s.Object.$kind==="ImmOrOwnedObject"||s.Object.$kind==="Receiving"){let i=r.UnresolvedObject,o=s.Object.ImmOrOwnedObject??s.Object.Receiving;if(Q(i.objectId)!==Q(o.objectId)||i.version!=null&&i.version!==o.version||i.digest!=null&&i.digest!==o.digest||i.mutable!=null||i.initialSharedVersion!=null)throw new Error(`Input at index ${n} did not match unresolved object. ${JSON.stringify(i)} is not compatible with ${JSON.stringify(o)}`)}else if(s.Object.$kind==="SharedObject"){let i=r.UnresolvedObject,o=s.Object.SharedObject;if(Q(i.objectId)!==Q(o.objectId)||i.initialSharedVersion!=null&&i.initialSharedVersion!==o.initialSharedVersion||i.mutable!=null&&i.mutable!==o.mutable||i.version!=null||i.digest!=null)throw new Error(`Input at index ${n} did not match unresolved object. ${JSON.stringify(i)} is not compatible with ${JSON.stringify(o)}`)}else throw new Error(`Input at index ${n} resolved to an unexpected Object kind: ${JSON.stringify(s.Object)}`);this.inputs[n]=s;break}}}};var X1=new Intl.PluralRules("en-US",{type:"ordinal"}),Q1=new Map([["one","st"],["two","nd"],["few","rd"],["other","th"]]);function ek(t){return`${t}${Q1.get(X1.select(t))}`}function Oi(t){let{command:e,location:n,abortCode:r,cleverError:s}=t,i=[];if(e!=null?i.push(`MoveAbort in ${ek(e+1)} command`):i.push("MoveAbort"),s?.constantName){let o=s.value?`'${s.constantName}': ${s.value}`:`'${s.constantName}'`;i.push(o)}else i.push(`abort code: ${r}`);if(n?.package&&n?.module){let o=[`in '${[n.package.startsWith("0x")?n.package:`0x${n.package}`,n.module,n.functionName].filter(Boolean).join("::")}'`];s?.lineNumber!=null?o.push(`(line ${s.lineNumber})`):n.instruction!=null&&o.push(`(instruction ${n.instruction})`),i.push(o.join(" "))}return i.join(", ")}var _g=A.struct("MinimalEffectsWithError",{status:ru}),ZB=A.enum("MinimalTransactionEffectsWithError",{V1:_g,V2:_g}),tk=A.enum("MinimalExecutionStatusNoError",{Success:null,Failed:null}),Tg=A.struct("MinimalEffectsNoError",{status:tk}),JB=A.enum("MinimalTransactionEffectsNoError",{V1:Tg,V2:Tg});function Bn(t,e){return e!=null&&typeof e!="boolean"?`${t}(${JSON.stringify(e,(n,r)=>typeof r=="bigint"?r.toString():r)})`:t}function nk(t){let e=t.error,n=t.command!=null?Number(t.command):void 0;switch(e.$kind){case"MoveAbort":{let[r,s]=e.MoveAbort,i={package:r.module.address,module:r.module.name,function:r.function,functionName:r.functionName??void 0,instruction:r.instruction};return{$kind:"MoveAbort",message:Oi({command:n,location:i,abortCode:String(s)}),command:n,MoveAbort:{abortCode:String(s),location:i}}}case"MoveObjectTooBig":return{$kind:"SizeError",message:Bn("MoveObjectTooBig",e.MoveObjectTooBig),command:n,SizeError:{name:"ObjectTooBig",size:Number(e.MoveObjectTooBig.objectSize),maxSize:Number(e.MoveObjectTooBig.maxObjectSize)}};case"MovePackageTooBig":return{$kind:"SizeError",message:Bn("MovePackageTooBig",e.MovePackageTooBig),command:n,SizeError:{name:"PackageTooBig",size:Number(e.MovePackageTooBig.objectSize),maxSize:Number(e.MovePackageTooBig.maxObjectSize)}};case"EffectsTooLarge":return{$kind:"SizeError",message:Bn("EffectsTooLarge",e.EffectsTooLarge),command:n,SizeError:{name:"EffectsTooLarge",size:Number(e.EffectsTooLarge.currentSize),maxSize:Number(e.EffectsTooLarge.maxSize)}};case"WrittenObjectsTooLarge":return{$kind:"SizeError",message:Bn("WrittenObjectsTooLarge",e.WrittenObjectsTooLarge),command:n,SizeError:{name:"WrittenObjectsTooLarge",size:Number(e.WrittenObjectsTooLarge.currentSize),maxSize:Number(e.WrittenObjectsTooLarge.maxSize)}};case"MoveVectorElemTooBig":return{$kind:"SizeError",message:Bn("MoveVectorElemTooBig",e.MoveVectorElemTooBig),command:n,SizeError:{name:"MoveVectorElemTooBig",size:Number(e.MoveVectorElemTooBig.valueSize),maxSize:Number(e.MoveVectorElemTooBig.maxScaledSize)}};case"MoveRawValueTooBig":return{$kind:"SizeError",message:Bn("MoveRawValueTooBig",e.MoveRawValueTooBig),command:n,SizeError:{name:"MoveRawValueTooBig",size:Number(e.MoveRawValueTooBig.valueSize),maxSize:Number(e.MoveRawValueTooBig.maxScaledSize)}};case"CommandArgumentError":return{$kind:"CommandArgumentError",message:Bn("CommandArgumentError",e.CommandArgumentError),command:n,CommandArgumentError:{argument:e.CommandArgumentError.argIdx,name:e.CommandArgumentError.kind.$kind}};case"TypeArgumentError":return{$kind:"TypeArgumentError",message:Bn("TypeArgumentError",e.TypeArgumentError),command:n,TypeArgumentError:{typeArgument:e.TypeArgumentError.argumentIdx,name:e.TypeArgumentError.kind.$kind}};case"PackageUpgradeError":{let r=e.PackageUpgradeError.upgradeError;return{$kind:"PackageUpgradeError",message:Bn("PackageUpgradeError",e.PackageUpgradeError),command:n,PackageUpgradeError:{name:r.$kind,packageId:r.$kind==="UnableToFetchPackage"?r.UnableToFetchPackage.packageId:void 0,digest:r.$kind==="DigestDoesNotMatch"?ge(r.DigestDoesNotMatch.digest):void 0}}}case"ExecutionCancelledDueToSharedObjectCongestion":return{$kind:"CongestedObjects",message:Bn("ExecutionCancelledDueToSharedObjectCongestion",e.ExecutionCancelledDueToSharedObjectCongestion),command:n,CongestedObjects:{name:"ExecutionCanceledDueToConsensusObjectCongestion",objects:e.ExecutionCancelledDueToSharedObjectCongestion.congested_objects}};case"AddressDeniedForCoin":return{$kind:"CoinDenyListError",message:Bn("AddressDeniedForCoin",e.AddressDeniedForCoin),command:n,CoinDenyListError:{name:"AddressDeniedForCoin",address:e.AddressDeniedForCoin.address,coinType:e.AddressDeniedForCoin.coinType}};case"CoinTypeGlobalPause":return{$kind:"CoinDenyListError",message:Bn("CoinTypeGlobalPause",e.CoinTypeGlobalPause),command:n,CoinDenyListError:{name:"CoinTypeGlobalPause",coinType:e.CoinTypeGlobalPause.coinType}};case"CircularObjectOwnership":return{$kind:"ObjectIdError",message:Bn("CircularObjectOwnership",e.CircularObjectOwnership),command:n,ObjectIdError:{name:"CircularObjectOwnership",objectId:e.CircularObjectOwnership.object}};case"InvalidGasObject":return{$kind:"ObjectIdError",message:"InvalidGasObject",command:n,ObjectIdError:{name:"InvalidGasObject",objectId:""}};case"InputObjectDeleted":return{$kind:"ObjectIdError",message:"InputObjectDeleted",command:n,ObjectIdError:{name:"InputObjectDeleted",objectId:""}};case"InvalidTransferObject":return{$kind:"ObjectIdError",message:"InvalidTransferObject",command:n,ObjectIdError:{name:"InvalidTransferObject",objectId:""}};case"NonExclusiveWriteInputObjectModified":return{$kind:"Unknown",message:Bn("NonExclusiveWriteInputObjectModified",e.NonExclusiveWriteInputObjectModified),command:n,Unknown:null};case"InsufficientGas":case"InvariantViolation":case"FeatureNotYetSupported":case"InsufficientCoinBalance":case"CoinBalanceOverflow":case"PublishErrorNonZeroAddress":case"SuiMoveVerificationError":case"MovePrimitiveRuntimeError":case"VMVerificationOrDeserializationError":case"VMInvariantViolation":case"FunctionNotFound":case"ArityMismatch":case"TypeArityMismatch":case"NonEntryFunctionInvoked":case"UnusedValueWithoutDrop":case"InvalidPublicFunctionReturnType":case"PublishUpgradeMissingDependency":case"PublishUpgradeDependencyDowngrade":case"CertificateDenied":case"SuiMoveVerificationTimedout":case"SharedObjectOperationNotAllowed":case"ExecutionCancelledDueToRandomnessUnavailable":case"InvalidLinkage":case"InsufficientBalanceForWithdraw":return{$kind:"Unknown",message:e.$kind,command:n,Unknown:null};default:return{$kind:"Unknown",message:"Unknown error",command:n,Unknown:null}}}function kg(t,e=!1){return(e?En.fromKindBytes(t):En.fromBytes(t)).snapshot()}function pu(t){let e=A.TransactionEffects.parse(t);switch(e.$kind){case"V1":return rk({bytes:t,effects:e.V1});case"V2":return sk({bytes:t,effects:e.V2});default:throw new Error(`Unknown transaction effects version: ${e.$kind}`)}}function rk(t){throw new Error("V1 effects are not supported yet")}function sk({bytes:t,effects:e}){let n=e.changedObjects.map(([r,s])=>({objectId:r,inputState:s.inputState.$kind==="Exist"?"Exists":"DoesNotExist",inputVersion:s.inputState.Exist?.[0][0]??null,inputDigest:s.inputState.Exist?.[0][1]??null,inputOwner:s.inputState.Exist?.[1]??null,outputState:s.outputState.$kind==="NotExist"?"DoesNotExist":s.outputState.$kind,outputVersion:s.outputState.$kind==="PackageWrite"?s.outputState.PackageWrite?.[0]:s.outputState.$kind==="ObjectWrite"?e.lamportVersion:null,outputDigest:s.outputState.$kind==="PackageWrite"?s.outputState.PackageWrite?.[1]:s.outputState.$kind==="ObjectWrite"?s.outputState.ObjectWrite?.[0]??null:null,outputOwner:s.outputState.$kind==="ObjectWrite"?s.outputState.ObjectWrite[1]:null,idOperation:s.idOperation.$kind}));return{bcs:t,version:2,status:e.status.$kind==="Success"?{success:!0,error:null}:{success:!1,error:nk(e.status.Failure)},gasUsed:e.gasUsed,transactionDigest:e.transactionDigest,gasObject:e.gasObjectIndex===null?null:n[e.gasObjectIndex]??null,eventsDigest:e.eventsDigest,dependencies:e.dependencies,lamportVersion:e.lamportVersion,changedObjects:n,unchangedConsensusObjects:e.unchangedConsensusObjects.map(([r,s])=>({kind:s.$kind,objectId:r,version:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[0]:s[s.$kind],digest:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[1]:null})),auxiliaryDataDigest:e.auxDataDigest}}var Eg=class extends Error{},Ii=class extends Eg{constructor(t,e){super(t,{cause:e?.cause}),this.executionError=e?.executionError}},Ro=class No extends Eg{constructor(e,n){super(n),this.code=e}static fromResponse(e,n){switch(e.code){case"notExists":return new No(e.code,`Object ${e.object_id} does not exist`);case"dynamicFieldNotFound":return new No(e.code,`Dynamic field not found for object ${e.parent_object_id}`);case"deleted":return new No(e.code,`Object ${e.object_id} has been deleted`);case"displayError":return new No(e.code,`Display error: ${e.error}`);case"unknown":default:return new No(e.code,`Unknown error while loading object${n?` ${n}`:""}`)}}};function an(t){let e=typeof t;if(e=="object"){if(Array.isArray(t))return"array";if(t===null)return"null"}return e}function Us(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}var ds="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),hu=[];for(let t=0;t<ds.length;t++)hu[ds[t].charCodeAt(0)]=t;hu["-".charCodeAt(0)]=ds.indexOf("+");hu["_".charCodeAt(0)]=ds.indexOf("/");function Ba(t){let e=t.length*3/4;t[t.length-2]=="="?e-=2:t[t.length-1]=="="&&(e-=1);let n=new Uint8Array(e),r=0,s=0,i,o=0;for(let a=0;a<t.length;a++){if(i=hu[t.charCodeAt(a)],i===void 0)switch(t[a]){case"=":s=0;case`
8
- `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(s){case 0:o=i,s=1;break;case 1:n[r++]=o<<2|(i&48)>>4,o=i,s=2;break;case 2:n[r++]=(o&15)<<4|(i&60)>>2,o=i,s=3;break;case 3:n[r++]=(o&3)<<6|i,s=0;break}}if(s==1)throw Error("invalid base64 string.");return n.subarray(0,r)}function Ma(t){let e="",n=0,r,s=0;for(let i=0;i<t.length;i++)switch(r=t[i],n){case 0:e+=ds[r>>2],s=(r&3)<<4,n=1;break;case 1:e+=ds[s|r>>4],s=(r&15)<<2,n=2;break;case 2:e+=ds[s|r>>6],e+=ds[r&63],n=0;break}return n&&(e+=ds[s],e+="=",n==1&&(e+="=")),e}var Ai;(function(t){t.symbol=Symbol.for("protobuf-ts/unknown"),t.onRead=(n,r,s,i,o)=>{(e(r)?r[t.symbol]:r[t.symbol]=[]).push({no:s,wireType:i,data:o})},t.onWrite=(n,r,s)=>{for(let{no:i,wireType:o,data:a}of t.list(r))s.tag(i,o).raw(a)},t.list=(n,r)=>{if(e(n)){let s=n[t.symbol];return r?s.filter(i=>i.no==r):s}return[]},t.last=(n,r)=>t.list(n,r).slice(-1)[0];let e=n=>n&&Array.isArray(n[t.symbol])})(Ai||(Ai={}));function Vf(t,e){return Object.assign(Object.assign({},t),e)}var We;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(We||(We={}));function Sg(){let t=0,e=0;for(let r=0;r<28;r+=7){let s=this.buf[this.pos++];if(t|=(s&127)<<r,!(s&128))return this.assertBounds(),[t,e]}let n=this.buf[this.pos++];if(t|=(n&15)<<28,e=(n&112)>>4,!(n&128))return this.assertBounds(),[t,e];for(let r=3;r<=31;r+=7){let s=this.buf[this.pos++];if(e|=(s&127)<<r,!(s&128))return this.assertBounds(),[t,e]}throw new Error("invalid varint")}function gu(t,e,n){for(let i=0;i<28;i=i+7){let o=t>>>i,a=!(!(o>>>7)&&e==0),c=(a?o|128:o)&255;if(n.push(c),!a)return}let r=t>>>28&15|(e&7)<<4,s=!!(e>>3);if(n.push((s?r|128:r)&255),!!s){for(let i=3;i<31;i=i+7){let o=e>>>i,a=!!(o>>>7),c=(a?o|128:o)&255;if(n.push(c),!a)return}n.push(e>>>31&1)}}var mu=65536*65536;function Ff(t){let e=t[0]=="-";e&&(t=t.slice(1));let n=1e6,r=0,s=0;function i(o,a){let c=Number(t.slice(o,a));s*=n,r=r*n+c,r>=mu&&(s=s+(r/mu|0),r=r%mu)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),[e,r,s]}function yu(t,e){if(e>>>0<=2097151)return""+(mu*e+(t>>>0));let n=t&16777215,r=(t>>>24|e<<8)>>>0&16777215,s=e>>16&65535,i=n+r*6777216+s*6710656,o=r+s*8147497,a=s*2,c=1e7;i>=c&&(o+=Math.floor(i/c),i%=c),o>=c&&(a+=Math.floor(o/c),o%=c);function u(d,f){let p=d?String(d):"";return f?"0000000".slice(p.length)+p:p}return u(a,0)+u(o,a)+u(i,1)}function qf(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let n=0;n<9;n++)e.push(t&127|128),t=t>>7;e.push(1)}}function xg(){let t=this.buf[this.pos++],e=t&127;if(!(t&128))return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,!(t&128))return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,!(t&128))return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,!(t&128))return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let n=5;t&128&&n<10;n++)t=this.buf[this.pos++];if(t&128)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var $e;function ik(){let t=new DataView(new ArrayBuffer(8));$e=globalThis.BigInt!==void 0&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("9223372036854775807"),UMIN:BigInt("0"),UMAX:BigInt("18446744073709551615"),C:BigInt,V:t}:void 0}ik();function Og(t){if(!t)throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support")}var Ig=/^-?[0-9]+$/,wu=4294967296,bu=2147483648,vu=class{constructor(e,n){this.lo=e|0,this.hi=n|0}isZero(){return this.lo==0&&this.hi==0}toNumber(){let e=this.hi*wu+(this.lo>>>0);if(!Number.isSafeInteger(e))throw new Error("cannot convert to safe number");return e}},Ze=class extends vu{static from(e){if($e)switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=="")throw new Error("string is no integer");e=$e.C(e);case"number":if(e===0)return this.ZERO;e=$e.C(e);case"bigint":if(!e)return this.ZERO;if(e<$e.UMIN)throw new Error("signed value for ulong");if(e>$e.UMAX)throw new Error("ulong too large");return $e.V.setBigUint64(0,e,!0),new Ze($e.V.getInt32(0,!0),$e.V.getInt32(4,!0))}else switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=e.trim(),!Ig.test(e))throw new Error("string is no integer");let[n,r,s]=Ff(e);if(n)throw new Error("signed value for ulong");return new Ze(r,s);case"number":if(e==0)return this.ZERO;if(!Number.isSafeInteger(e))throw new Error("number is no integer");if(e<0)throw new Error("signed value for ulong");return new Ze(e,e/wu)}throw new Error("unknown value "+typeof e)}toString(){return $e?this.toBigInt().toString():yu(this.lo,this.hi)}toBigInt(){return Og($e),$e.V.setInt32(0,this.lo,!0),$e.V.setInt32(4,this.hi,!0),$e.V.getBigUint64(0,!0)}};Ze.ZERO=new Ze(0,0);var Ae=class extends vu{static from(e){if($e)switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=="")throw new Error("string is no integer");e=$e.C(e);case"number":if(e===0)return this.ZERO;e=$e.C(e);case"bigint":if(!e)return this.ZERO;if(e<$e.MIN)throw new Error("signed long too small");if(e>$e.MAX)throw new Error("signed long too large");return $e.V.setBigInt64(0,e,!0),new Ae($e.V.getInt32(0,!0),$e.V.getInt32(4,!0))}else switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=e.trim(),!Ig.test(e))throw new Error("string is no integer");let[n,r,s]=Ff(e);if(n){if(s>bu||s==bu&&r!=0)throw new Error("signed long too small")}else if(s>=bu)throw new Error("signed long too large");let i=new Ae(r,s);return n?i.negate():i;case"number":if(e==0)return this.ZERO;if(!Number.isSafeInteger(e))throw new Error("number is no integer");return e>0?new Ae(e,e/wu):new Ae(-e,-e/wu).negate()}throw new Error("unknown value "+typeof e)}isNegative(){return(this.hi&bu)!==0}negate(){let e=~this.hi,n=this.lo;return n?n=~n+1:e+=1,new Ae(n,e)}toString(){if($e)return this.toBigInt().toString();if(this.isNegative()){let e=this.negate();return"-"+yu(e.lo,e.hi)}return yu(this.lo,this.hi)}toBigInt(){return Og($e),$e.V.setInt32(0,this.lo,!0),$e.V.setInt32(4,this.hi,!0),$e.V.getBigInt64(0,!0)}};Ae.ZERO=new Ae(0,0);var Ag={readUnknownField:!0,readerFactory:t=>new $f(t)};function Cg(t){return t?Object.assign(Object.assign({},Ag),t):Ag}var $f=class{constructor(e,n){this.varint64=Sg,this.uint32=xg,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=n??new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0})}tag(){let e=this.uint32(),n=e>>>3,r=e&7;if(n<=0||r<0||r>5)throw new Error("illegal tag: field no "+n+" wire type "+r);return[n,r]}skip(e){let n=this.pos;switch(e){case We.Varint:for(;this.buf[this.pos++]&128;);break;case We.Bit64:this.pos+=4;case We.Bit32:this.pos+=4;break;case We.LengthDelimited:let r=this.uint32();this.pos+=r;break;case We.StartGroup:let s;for(;(s=this.tag()[1])!==We.EndGroup;)this.skip(s);break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return new Ae(...this.varint64())}uint64(){return new Ze(...this.varint64())}sint64(){let[e,n]=this.varint64(),r=-(e&1);return e=(e>>>1|(n&1)<<31)^r,n=n>>>1^r,new Ae(e,n)}bool(){let[e,n]=this.varint64();return e!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return new Ze(this.sfixed32(),this.sfixed32())}sfixed64(){return new Ae(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),n=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(n,n+e)}string(){return this.textDecoder.decode(this.bytes())}};function Se(t,e){if(!t)throw new Error(e)}function Gf(t,e){throw new Error(e??"Unexpected object: "+t)}var ok=34028234663852886e22,ak=-34028234663852886e22,ck=4294967295,uk=2147483647,lk=-2147483648;function fs(t){if(typeof t!="number")throw new Error("invalid int 32: "+typeof t);if(!Number.isInteger(t)||t>uk||t<lk)throw new Error("invalid int 32: "+t)}function Ps(t){if(typeof t!="number")throw new Error("invalid uint 32: "+typeof t);if(!Number.isInteger(t)||t>ck||t<0)throw new Error("invalid uint 32: "+t)}function Ci(t){if(typeof t!="number")throw new Error("invalid float 32: "+typeof t);if(Number.isFinite(t)&&(t>ok||t<ak))throw new Error("invalid float 32: "+t)}var Ng={writeUnknownFields:!0,writerFactory:()=>new Hf};function Rg(t){return t?Object.assign(Object.assign({},Ng),t):Ng}var Hf=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let s=0;s<this.chunks.length;s++)e+=this.chunks[s].length;let n=new Uint8Array(e),r=0;for(let s=0;s<this.chunks.length;s++)n.set(this.chunks[s],r),r+=this.chunks[s].length;return this.chunks=[],n}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),n=this.stack.pop();if(!n)throw new Error("invalid state, fork stack empty");return this.chunks=n.chunks,this.buf=n.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,n){return this.uint32((e<<3|n)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(Ps(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return fs(e),qf(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let n=this.textEncoder.encode(e);return this.uint32(n.byteLength),this.raw(n)}float(e){Ci(e);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,e,!0),this.raw(n)}double(e){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,e,!0),this.raw(n)}fixed32(e){Ps(e);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,!0),this.raw(n)}sfixed32(e){fs(e);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,e,!0),this.raw(n)}sint32(e){return fs(e),e=(e<<1^e>>31)>>>0,qf(e,this.buf),this}sfixed64(e){let n=new Uint8Array(8),r=new DataView(n.buffer),s=Ae.from(e);return r.setInt32(0,s.lo,!0),r.setInt32(4,s.hi,!0),this.raw(n)}fixed64(e){let n=new Uint8Array(8),r=new DataView(n.buffer),s=Ze.from(e);return r.setInt32(0,s.lo,!0),r.setInt32(4,s.hi,!0),this.raw(n)}int64(e){let n=Ae.from(e);return gu(n.lo,n.hi,this.buf),this}sint64(e){let n=Ae.from(e),r=n.hi>>31,s=n.lo<<1^r,i=(n.hi<<1|n.lo>>>31)^r;return gu(s,i,this.buf),this}uint64(e){let n=Ze.from(e);return gu(n.lo,n.hi,this.buf),this}};var Bg={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},Mg={ignoreUnknownFields:!1};function zf(t){return t?Object.assign(Object.assign({},Mg),t):Mg}function ja(t){return t?Object.assign(Object.assign({},Bg),t):Bg}function Wf(t,e){var n,r;let s=Object.assign(Object.assign({},t),e);return s.typeRegistry=[...(n=t?.typeRegistry)!==null&&n!==void 0?n:[],...(r=e?.typeRegistry)!==null&&r!==void 0?r:[]],s}var _u=Symbol.for("protobuf-ts/message-type");function Ls(t){let e=!1,n=[];for(let r=0;r<t.length;r++){let s=t.charAt(r);s=="_"?e=!0:/\d/.test(s)?(n.push(s),e=!0):e?(n.push(s.toUpperCase()),e=!1):r==0?n.push(s.toLowerCase()):n.push(s)}return n.join("")}var $;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})($||($={}));var Sn;(function(t){t[t.BIGINT=0]="BIGINT",t[t.STRING=1]="STRING",t[t.NUMBER=2]="NUMBER"})(Sn||(Sn={}));var Da;(function(t){t[t.NO=0]="NO",t[t.PACKED=1]="PACKED",t[t.UNPACKED=2]="UNPACKED"})(Da||(Da={}));function jg(t){var e,n,r,s;return t.localName=(e=t.localName)!==null&&e!==void 0?e:Ls(t.name),t.jsonName=(n=t.jsonName)!==null&&n!==void 0?n:Ls(t.name),t.repeat=(r=t.repeat)!==null&&r!==void 0?r:Da.NO,t.opt=(s=t.opt)!==null&&s!==void 0?s:t.repeat||t.oneof?!1:t.kind=="message",t}function Dg(t){if(typeof t!="object"||t===null||!t.hasOwnProperty("oneofKind"))return!1;switch(typeof t.oneofKind){case"string":return t[t.oneofKind]===void 0?!1:Object.keys(t).length==2;case"undefined":return Object.keys(t).length==1;default:return!1}}var Tu=class{constructor(e){var n;this.fields=(n=e.fields)!==null&&n!==void 0?n:[]}prepare(){if(this.data)return;let e=[],n=[],r=[];for(let s of this.fields)if(s.oneof)r.includes(s.oneof)||(r.push(s.oneof),e.push(s.oneof),n.push(s.oneof));else switch(n.push(s.localName),s.kind){case"scalar":case"enum":(!s.opt||s.repeat)&&e.push(s.localName);break;case"message":s.repeat&&e.push(s.localName);break;case"map":e.push(s.localName);break}this.data={req:e,known:n,oneofs:Object.values(r)}}is(e,n,r=!1){if(n<0)return!0;if(e==null||typeof e!="object")return!1;this.prepare();let s=Object.keys(e),i=this.data;if(s.length<i.req.length||i.req.some(o=>!s.includes(o))||!r&&s.some(o=>!i.known.includes(o)))return!1;if(n<1)return!0;for(let o of i.oneofs){let a=e[o];if(!Dg(a))return!1;if(a.oneofKind===void 0)continue;let c=this.fields.find(u=>u.localName===a.oneofKind);if(!c||!this.field(a[a.oneofKind],c,r,n))return!1}for(let o of this.fields)if(o.oneof===void 0&&!this.field(e[o.localName],o,r,n))return!1;return!0}field(e,n,r,s){let i=n.repeat;switch(n.kind){case"scalar":return e===void 0?n.opt:i?this.scalars(e,n.T,s,n.L):this.scalar(e,n.T,n.L);case"enum":return e===void 0?n.opt:i?this.scalars(e,$.INT32,s):this.scalar(e,$.INT32);case"message":return e===void 0?!0:i?this.messages(e,n.T(),r,s):this.message(e,n.T(),r,s);case"map":if(typeof e!="object"||e===null)return!1;if(s<2)return!0;if(!this.mapKeys(e,n.K,s))return!1;switch(n.V.kind){case"scalar":return this.scalars(Object.values(e),n.V.T,s,n.V.L);case"enum":return this.scalars(Object.values(e),$.INT32,s);case"message":return this.messages(Object.values(e),n.V.T(),r,s)}break}return!0}message(e,n,r,s){return r?n.isAssignable(e,s):n.is(e,s)}messages(e,n,r,s){if(!Array.isArray(e))return!1;if(s<2)return!0;if(r){for(let i=0;i<e.length&&i<s;i++)if(!n.isAssignable(e[i],s-1))return!1}else for(let i=0;i<e.length&&i<s;i++)if(!n.is(e[i],s-1))return!1;return!0}scalar(e,n,r){let s=typeof e;switch(n){case $.UINT64:case $.FIXED64:case $.INT64:case $.SFIXED64:case $.SINT64:switch(r){case Sn.BIGINT:return s=="bigint";case Sn.NUMBER:return s=="number"&&!isNaN(e);default:return s=="string"}case $.BOOL:return s=="boolean";case $.STRING:return s=="string";case $.BYTES:return e instanceof Uint8Array;case $.DOUBLE:case $.FLOAT:return s=="number"&&!isNaN(e);default:return s=="number"&&Number.isInteger(e)}}scalars(e,n,r,s){if(!Array.isArray(e))return!1;if(r<2)return!0;if(Array.isArray(e)){for(let i=0;i<e.length&&i<r;i++)if(!this.scalar(e[i],n,s))return!1}return!0}mapKeys(e,n,r){let s=Object.keys(e);switch(n){case $.INT32:case $.FIXED32:case $.SFIXED32:case $.SINT32:case $.UINT32:return this.scalars(s.slice(0,r).map(i=>parseInt(i)),n,r);case $.BOOL:return this.scalars(s.slice(0,r).map(i=>i=="true"?!0:i=="false"?!1:i),n,r);default:return this.scalars(s,n,r,Sn.STRING)}}};function Mn(t,e){switch(e){case Sn.BIGINT:return t.toBigInt();case Sn.NUMBER:return t.toNumber();default:return t.toString()}}var ku=class{constructor(e){this.info=e}prepare(){var e;if(this.fMap===void 0){this.fMap={};let n=(e=this.info.fields)!==null&&e!==void 0?e:[];for(let r of n)this.fMap[r.name]=r,this.fMap[r.jsonName]=r,this.fMap[r.localName]=r}}assert(e,n,r){if(!e){let s=an(r);throw(s=="number"||s=="boolean")&&(s=r.toString()),new Error(`Cannot parse JSON ${s} for ${this.info.typeName}#${n}`)}}read(e,n,r){this.prepare();let s=[];for(let[i,o]of Object.entries(e)){let a=this.fMap[i];if(!a){if(!r.ignoreUnknownFields)throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${i}`);continue}let c=a.localName,u;if(a.oneof){if(o===null&&(a.kind!=="enum"||a.T()[0]!=="google.protobuf.NullValue"))continue;if(s.includes(a.oneof))throw new Error(`Multiple members of the oneof group "${a.oneof}" of ${this.info.typeName} are present in JSON.`);s.push(a.oneof),u=n[a.oneof]={oneofKind:c}}else u=n;if(a.kind=="map"){if(o===null)continue;this.assert(Us(o),a.name,o);let d=u[c];for(let[f,p]of Object.entries(o)){this.assert(p!==null,a.name+" map value",null);let m;switch(a.V.kind){case"message":m=a.V.T().internalJsonRead(p,r);break;case"enum":if(m=this.enum(a.V.T(),p,a.name,r.ignoreUnknownFields),m===!1)continue;break;case"scalar":m=this.scalar(p,a.V.T,a.V.L,a.name);break}this.assert(m!==void 0,a.name+" map value",p);let b=f;a.K==$.BOOL&&(b=b=="true"?!0:b=="false"?!1:b),b=this.scalar(b,a.K,Sn.STRING,a.name).toString(),d[b]=m}}else if(a.repeat){if(o===null)continue;this.assert(Array.isArray(o),a.name,o);let d=u[c];for(let f of o){this.assert(f!==null,a.name,null);let p;switch(a.kind){case"message":p=a.T().internalJsonRead(f,r);break;case"enum":if(p=this.enum(a.T(),f,a.name,r.ignoreUnknownFields),p===!1)continue;break;case"scalar":p=this.scalar(f,a.T,a.L,a.name);break}this.assert(p!==void 0,a.name,o),d.push(p)}}else switch(a.kind){case"message":if(o===null&&a.T().typeName!="google.protobuf.Value"){this.assert(a.oneof===void 0,a.name+" (oneof member)",null);continue}u[c]=a.T().internalJsonRead(o,r,u[c]);break;case"enum":if(o===null)continue;let d=this.enum(a.T(),o,a.name,r.ignoreUnknownFields);if(d===!1)continue;u[c]=d;break;case"scalar":if(o===null)continue;u[c]=this.scalar(o,a.T,a.L,a.name);break}}}enum(e,n,r,s){if(e[0]=="google.protobuf.NullValue"&&Se(n===null||n==="NULL_VALUE",`Unable to parse field ${this.info.typeName}#${r}, enum ${e[0]} only accepts null.`),n===null)return 0;switch(typeof n){case"number":return Se(Number.isInteger(n),`Unable to parse field ${this.info.typeName}#${r}, enum can only be integral number, got ${n}.`),n;case"string":let i=n;e[2]&&n.substring(0,e[2].length)===e[2]&&(i=n.substring(e[2].length));let o=e[1][i];return typeof o>"u"&&s?!1:(Se(typeof o=="number",`Unable to parse field ${this.info.typeName}#${r}, enum ${e[0]} has no value for "${n}".`),o)}Se(!1,`Unable to parse field ${this.info.typeName}#${r}, cannot parse enum value from ${typeof n}".`)}scalar(e,n,r,s){let i;try{switch(n){case $.DOUBLE:case $.FLOAT:if(e===null)return 0;if(e==="NaN")return Number.NaN;if(e==="Infinity")return Number.POSITIVE_INFINITY;if(e==="-Infinity")return Number.NEGATIVE_INFINITY;if(e===""){i="empty string";break}if(typeof e=="string"&&e.trim().length!==e.length){i="extra whitespace";break}if(typeof e!="string"&&typeof e!="number")break;let o=Number(e);if(Number.isNaN(o)){i="not a number";break}if(!Number.isFinite(o)){i="too large or small";break}return n==$.FLOAT&&Ci(o),o;case $.INT32:case $.FIXED32:case $.SFIXED32:case $.SINT32:case $.UINT32:if(e===null)return 0;let a;if(typeof e=="number"?a=e:e===""?i="empty string":typeof e=="string"&&(e.trim().length!==e.length?i="extra whitespace":a=Number(e)),a===void 0)break;return n==$.UINT32?Ps(a):fs(a),a;case $.INT64:case $.SFIXED64:case $.SINT64:if(e===null)return Mn(Ae.ZERO,r);if(typeof e!="number"&&typeof e!="string")break;return Mn(Ae.from(e),r);case $.FIXED64:case $.UINT64:if(e===null)return Mn(Ze.ZERO,r);if(typeof e!="number"&&typeof e!="string")break;return Mn(Ze.from(e),r);case $.BOOL:if(e===null)return!1;if(typeof e!="boolean")break;return e;case $.STRING:if(e===null)return"";if(typeof e!="string"){i="extra whitespace";break}try{encodeURIComponent(e)}catch(c){c="invalid UTF8";break}return e;case $.BYTES:if(e===null||e==="")return new Uint8Array(0);if(typeof e!="string")break;return Ba(e)}}catch(o){i=o.message}this.assert(!1,s+(i?" - "+i:""),e)}};var Eu=class{constructor(e){var n;this.fields=(n=e.fields)!==null&&n!==void 0?n:[]}write(e,n){let r={},s=e;for(let i of this.fields){if(!i.oneof){let u=this.field(i,s[i.localName],n);u!==void 0&&(r[n.useProtoFieldName?i.name:i.jsonName]=u);continue}let o=s[i.oneof];if(o.oneofKind!==i.localName)continue;let a=i.kind=="scalar"||i.kind=="enum"?Object.assign(Object.assign({},n),{emitDefaultValues:!0}):n,c=this.field(i,o[i.localName],a);Se(c!==void 0),r[n.useProtoFieldName?i.name:i.jsonName]=c}return r}field(e,n,r){let s;if(e.kind=="map"){Se(typeof n=="object"&&n!==null);let i={};switch(e.V.kind){case"scalar":for(let[c,u]of Object.entries(n)){let d=this.scalar(e.V.T,u,e.name,!1,!0);Se(d!==void 0),i[c.toString()]=d}break;case"message":let o=e.V.T();for(let[c,u]of Object.entries(n)){let d=this.message(o,u,e.name,r);Se(d!==void 0),i[c.toString()]=d}break;case"enum":let a=e.V.T();for(let[c,u]of Object.entries(n)){Se(u===void 0||typeof u=="number");let d=this.enum(a,u,e.name,!1,!0,r.enumAsInteger);Se(d!==void 0),i[c.toString()]=d}break}(r.emitDefaultValues||Object.keys(i).length>0)&&(s=i)}else if(e.repeat){Se(Array.isArray(n));let i=[];switch(e.kind){case"scalar":for(let c=0;c<n.length;c++){let u=this.scalar(e.T,n[c],e.name,e.opt,!0);Se(u!==void 0),i.push(u)}break;case"enum":let o=e.T();for(let c=0;c<n.length;c++){Se(n[c]===void 0||typeof n[c]=="number");let u=this.enum(o,n[c],e.name,e.opt,!0,r.enumAsInteger);Se(u!==void 0),i.push(u)}break;case"message":let a=e.T();for(let c=0;c<n.length;c++){let u=this.message(a,n[c],e.name,r);Se(u!==void 0),i.push(u)}break}(r.emitDefaultValues||i.length>0||r.emitDefaultValues)&&(s=i)}else switch(e.kind){case"scalar":s=this.scalar(e.T,n,e.name,e.opt,r.emitDefaultValues);break;case"enum":s=this.enum(e.T(),n,e.name,e.opt,r.emitDefaultValues,r.enumAsInteger);break;case"message":s=this.message(e.T(),n,e.name,r);break}return s}enum(e,n,r,s,i,o){if(e[0]=="google.protobuf.NullValue")return!i&&!s?void 0:null;if(n===void 0){Se(s);return}if(!(n===0&&!i&&!s))return Se(typeof n=="number"),Se(Number.isInteger(n)),o||!e[1].hasOwnProperty(n)?n:e[2]?e[2]+e[1][n]:e[1][n]}message(e,n,r,s){return n===void 0?s.emitDefaultValues?null:void 0:e.internalJsonWrite(n,s)}scalar(e,n,r,s,i){if(n===void 0){Se(s);return}let o=i||s;switch(e){case $.INT32:case $.SFIXED32:case $.SINT32:return n===0?o?0:void 0:(fs(n),n);case $.FIXED32:case $.UINT32:return n===0?o?0:void 0:(Ps(n),n);case $.FLOAT:Ci(n);case $.DOUBLE:return n===0?o?0:void 0:(Se(typeof n=="number"),Number.isNaN(n)?"NaN":n===Number.POSITIVE_INFINITY?"Infinity":n===Number.NEGATIVE_INFINITY?"-Infinity":n);case $.STRING:return n===""?o?"":void 0:(Se(typeof n=="string"),n);case $.BOOL:return n===!1?o?!1:void 0:(Se(typeof n=="boolean"),n);case $.UINT64:case $.FIXED64:Se(typeof n=="number"||typeof n=="string"||typeof n=="bigint");let a=Ze.from(n);return a.isZero()&&!o?void 0:a.toString();case $.INT64:case $.SFIXED64:case $.SINT64:Se(typeof n=="number"||typeof n=="string"||typeof n=="bigint");let c=Ae.from(n);return c.isZero()&&!o?void 0:c.toString();case $.BYTES:return Se(n instanceof Uint8Array),n.byteLength?Ma(n):o?"":void 0}}};function Ua(t,e=Sn.STRING){switch(t){case $.BOOL:return!1;case $.UINT64:case $.FIXED64:return Mn(Ze.ZERO,e);case $.INT64:case $.SFIXED64:case $.SINT64:return Mn(Ae.ZERO,e);case $.DOUBLE:case $.FLOAT:return 0;case $.BYTES:return new Uint8Array(0);case $.STRING:return"";default:return 0}}var Su=class{constructor(e){this.info=e}prepare(){var e;if(!this.fieldNoToField){let n=(e=this.info.fields)!==null&&e!==void 0?e:[];this.fieldNoToField=new Map(n.map(r=>[r.no,r]))}}read(e,n,r,s){this.prepare();let i=s===void 0?e.len:e.pos+s;for(;e.pos<i;){let[o,a]=e.tag(),c=this.fieldNoToField.get(o);if(!c){let p=r.readUnknownField;if(p=="throw")throw new Error(`Unknown field ${o} (wire type ${a}) for ${this.info.typeName}`);let m=e.skip(a);p!==!1&&(p===!0?Ai.onRead:p)(this.info.typeName,n,o,a,m);continue}let u=n,d=c.repeat,f=c.localName;switch(c.oneof&&(u=u[c.oneof],u.oneofKind!==f&&(u=n[c.oneof]={oneofKind:f})),c.kind){case"scalar":case"enum":let p=c.kind=="enum"?$.INT32:c.T,m=c.kind=="scalar"?c.L:void 0;if(d){let T=u[f];if(a==We.LengthDelimited&&p!=$.STRING&&p!=$.BYTES){let O=e.uint32()+e.pos;for(;e.pos<O;)T.push(this.scalar(e,p,m))}else T.push(this.scalar(e,p,m))}else u[f]=this.scalar(e,p,m);break;case"message":if(d){let T=u[f],O=c.T().internalBinaryRead(e,e.uint32(),r);T.push(O)}else u[f]=c.T().internalBinaryRead(e,e.uint32(),r,u[f]);break;case"map":let[b,v]=this.mapEntry(c,e,r);u[f][b]=v;break}}}mapEntry(e,n,r){let s=n.uint32(),i=n.pos+s,o,a;for(;n.pos<i;){let[c,u]=n.tag();switch(c){case 1:e.K==$.BOOL?o=n.bool().toString():o=this.scalar(n,e.K,Sn.STRING);break;case 2:switch(e.V.kind){case"scalar":a=this.scalar(n,e.V.T,e.V.L);break;case"enum":a=n.int32();break;case"message":a=e.V.T().internalBinaryRead(n,n.uint32(),r);break}break;default:throw new Error(`Unknown field ${c} (wire type ${u}) in map entry for ${this.info.typeName}#${e.name}`)}}if(o===void 0){let c=Ua(e.K);o=e.K==$.BOOL?c.toString():c}if(a===void 0)switch(e.V.kind){case"scalar":a=Ua(e.V.T,e.V.L);break;case"enum":a=0;break;case"message":a=e.V.T().create();break}return[o,a]}scalar(e,n,r){switch(n){case $.INT32:return e.int32();case $.STRING:return e.string();case $.BOOL:return e.bool();case $.DOUBLE:return e.double();case $.FLOAT:return e.float();case $.INT64:return Mn(e.int64(),r);case $.UINT64:return Mn(e.uint64(),r);case $.FIXED64:return Mn(e.fixed64(),r);case $.FIXED32:return e.fixed32();case $.BYTES:return e.bytes();case $.UINT32:return e.uint32();case $.SFIXED32:return e.sfixed32();case $.SFIXED64:return Mn(e.sfixed64(),r);case $.SINT32:return e.sint32();case $.SINT64:return Mn(e.sint64(),r)}}};var xu=class{constructor(e){this.info=e}prepare(){if(!this.fields){let e=this.info.fields?this.info.fields.concat():[];this.fields=e.sort((n,r)=>n.no-r.no)}}write(e,n,r){this.prepare();for(let i of this.fields){let o,a,c=i.repeat,u=i.localName;if(i.oneof){let d=e[i.oneof];if(d.oneofKind!==u)continue;o=d[u],a=!0}else o=e[u],a=!1;switch(i.kind){case"scalar":case"enum":let d=i.kind=="enum"?$.INT32:i.T;if(c)if(Se(Array.isArray(o)),c==Da.PACKED)this.packed(n,d,i.no,o);else for(let f of o)this.scalar(n,d,i.no,f,!0);else o===void 0?Se(i.opt):this.scalar(n,d,i.no,o,a||i.opt);break;case"message":if(c){Se(Array.isArray(o));for(let f of o)this.message(n,r,i.T(),i.no,f)}else this.message(n,r,i.T(),i.no,o);break;case"map":Se(typeof o=="object"&&o!==null);for(let[f,p]of Object.entries(o))this.mapEntry(n,r,i,f,p);break}}let s=r.writeUnknownFields;s!==!1&&(s===!0?Ai.onWrite:s)(this.info.typeName,e,n)}mapEntry(e,n,r,s,i){e.tag(r.no,We.LengthDelimited),e.fork();let o=s;switch(r.K){case $.INT32:case $.FIXED32:case $.UINT32:case $.SFIXED32:case $.SINT32:o=Number.parseInt(s);break;case $.BOOL:Se(s=="true"||s=="false"),o=s=="true";break}switch(this.scalar(e,r.K,1,o,!0),r.V.kind){case"scalar":this.scalar(e,r.V.T,2,i,!0);break;case"enum":this.scalar(e,$.INT32,2,i,!0);break;case"message":this.message(e,n,r.V.T(),2,i);break}e.join()}message(e,n,r,s,i){i!==void 0&&(r.internalBinaryWrite(i,e.tag(s,We.LengthDelimited).fork(),n),e.join())}scalar(e,n,r,s,i){let[o,a,c]=this.scalarInfo(n,s);(!c||i)&&(e.tag(r,o),e[a](s))}packed(e,n,r,s){if(!s.length)return;Se(n!==$.BYTES&&n!==$.STRING),e.tag(r,We.LengthDelimited),e.fork();let[,i]=this.scalarInfo(n);for(let o=0;o<s.length;o++)e[i](s[o]);e.join()}scalarInfo(e,n){let r=We.Varint,s,i=n===void 0,o=n===0;switch(e){case $.INT32:s="int32";break;case $.STRING:o=i||!n.length,r=We.LengthDelimited,s="string";break;case $.BOOL:o=n===!1,s="bool";break;case $.UINT32:s="uint32";break;case $.DOUBLE:r=We.Bit64,s="double";break;case $.FLOAT:r=We.Bit32,s="float";break;case $.INT64:o=i||Ae.from(n).isZero(),s="int64";break;case $.UINT64:o=i||Ze.from(n).isZero(),s="uint64";break;case $.FIXED64:o=i||Ze.from(n).isZero(),r=We.Bit64,s="fixed64";break;case $.BYTES:o=i||!n.byteLength,r=We.LengthDelimited,s="bytes";break;case $.FIXED32:r=We.Bit32,s="fixed32";break;case $.SFIXED32:r=We.Bit32,s="sfixed32";break;case $.SFIXED64:o=i||Ae.from(n).isZero(),r=We.Bit64,s="sfixed64";break;case $.SINT32:s="sint32";break;case $.SINT64:o=i||Ae.from(n).isZero(),s="sint64";break}return[r,s,i||o]}};function Ug(t){let e=t.messagePrototype?Object.create(t.messagePrototype):Object.defineProperty({},_u,{value:t});for(let n of t.fields){let r=n.localName;if(!n.opt)if(n.oneof)e[n.oneof]={oneofKind:void 0};else if(n.repeat)e[r]=[];else switch(n.kind){case"scalar":e[r]=Ua(n.T,n.L);break;case"enum":e[r]=0;break;case"map":e[r]={};break}}return e}function Ou(t,e,n){let r,s=n,i;for(let o of t.fields){let a=o.localName;if(o.oneof){let c=s[o.oneof];if(c?.oneofKind==null)continue;if(r=c[a],i=e[o.oneof],i.oneofKind=c.oneofKind,r==null){delete i[a];continue}}else if(r=s[a],i=e,r==null)continue;switch(o.repeat&&(i[a].length=r.length),o.kind){case"scalar":case"enum":if(o.repeat)for(let u=0;u<r.length;u++)i[a][u]=r[u];else i[a]=r;break;case"message":let c=o.T();if(o.repeat)for(let u=0;u<r.length;u++)i[a][u]=c.create(r[u]);else i[a]===void 0?i[a]=c.create(r):c.mergePartial(i[a],r);break;case"map":switch(o.V.kind){case"scalar":case"enum":Object.assign(i[a],r);break;case"message":let u=o.V.T();for(let d of Object.keys(r))i[a][d]=u.create(r[d]);break}break}}}function Vg(t,e,n){if(e===n)return!0;if(!e||!n)return!1;for(let r of t.fields){let s=r.localName,i=r.oneof?e[r.oneof][s]:e[s],o=r.oneof?n[r.oneof][s]:n[s];switch(r.kind){case"enum":case"scalar":let a=r.kind=="enum"?$.INT32:r.T;if(!(r.repeat?Pg(a,i,o):Fg(a,i,o)))return!1;break;case"map":if(!(r.V.kind=="message"?Lg(r.V.T(),Iu(i),Iu(o)):Pg(r.V.kind=="enum"?$.INT32:r.V.T,Iu(i),Iu(o))))return!1;break;case"message":let c=r.T();if(!(r.repeat?Lg(c,i,o):c.equals(i,o)))return!1;break}}return!0}var Iu=Object.values;function Fg(t,e,n){if(e===n)return!0;if(t!==$.BYTES)return!1;let r=e,s=n;if(r.length!==s.length)return!1;for(let i=0;i<r.length;i++)if(r[i]!=s[i])return!1;return!0}function Pg(t,e,n){if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(!Fg(t,e[r],n[r]))return!1;return!0}function Lg(t,e,n){if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(!t.equals(e[r],n[r]))return!1;return!0}var qg=Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})),dk=qg[_u]={},R=class{constructor(e,n,r){this.defaultCheckDepth=16,this.typeName=e,this.fields=n.map(jg),this.options=r??{},dk.value=this,this.messagePrototype=Object.create(null,qg),this.refTypeCheck=new Tu(this),this.refJsonReader=new ku(this),this.refJsonWriter=new Eu(this),this.refBinReader=new Su(this),this.refBinWriter=new xu(this)}create(e){let n=Ug(this);return e!==void 0&&Ou(this,n,e),n}clone(e){let n=this.create();return Ou(this,n,e),n}equals(e,n){return Vg(this,e,n)}is(e,n=this.defaultCheckDepth){return this.refTypeCheck.is(e,n,!1)}isAssignable(e,n=this.defaultCheckDepth){return this.refTypeCheck.is(e,n,!0)}mergePartial(e,n){Ou(this,e,n)}fromBinary(e,n){let r=Cg(n);return this.internalBinaryRead(r.readerFactory(e),e.byteLength,r)}fromJson(e,n){return this.internalJsonRead(e,zf(n))}fromJsonString(e,n){let r=JSON.parse(e);return this.fromJson(r,n)}toJson(e,n){return this.internalJsonWrite(e,ja(n))}toJsonString(e,n){var r;let s=this.toJson(e,n);return JSON.stringify(s,null,(r=n?.prettySpaces)!==null&&r!==void 0?r:0)}toBinary(e,n){let r=Rg(n);return this.internalBinaryWrite(e,r.writerFactory(),r).finish()}internalJsonRead(e,n,r){if(e!==null&&typeof e=="object"&&!Array.isArray(e)){let s=r??this.create();return this.refJsonReader.read(e,s,n),s}throw new Error(`Unable to parse message ${this.typeName} from JSON ${an(e)}.`)}internalJsonWrite(e,n){return this.refJsonWriter.write(e,n)}internalBinaryWrite(e,n,r){return this.refBinWriter.write(e,n,r),n}internalBinaryRead(e,n,r,s){let i=s??this.create();return this.refBinReader.read(e,i,r,n),i}};var $g=function(t){return t[t.NULL_VALUE=0]="NULL_VALUE",t}({}),fk=class extends R{constructor(){super("google.protobuf.Struct",[{no:1,name:"fields",kind:"map",K:9,V:{kind:"message",T:()=>et}}])}internalJsonWrite(t,e){let n={};for(let[r,s]of Object.entries(t.fields))n[r]=et.toJson(s);return n}internalJsonRead(t,e,n){if(!Us(t))throw new globalThis.Error("Unable to parse message "+this.typeName+" from JSON "+an(t)+".");n||(n=this.create());for(let[r,s]of globalThis.Object.entries(t))n.fields[r]=et.fromJson(s);return n}},Gg=new fk,pk=class extends R{constructor(){super("google.protobuf.Value",[{no:1,name:"null_value",kind:"enum",oneof:"kind",T:()=>["google.protobuf.NullValue",$g]},{no:2,name:"number_value",kind:"scalar",oneof:"kind",T:1},{no:3,name:"string_value",kind:"scalar",oneof:"kind",T:9},{no:4,name:"bool_value",kind:"scalar",oneof:"kind",T:8},{no:5,name:"struct_value",kind:"message",oneof:"kind",T:()=>Gg},{no:6,name:"list_value",kind:"message",oneof:"kind",T:()=>Hg}])}internalJsonWrite(t,e){if(t.kind.oneofKind===void 0)throw new globalThis.Error;switch(t.kind.oneofKind){case void 0:throw new globalThis.Error;case"boolValue":return t.kind.boolValue;case"nullValue":return null;case"numberValue":let n=t.kind.numberValue;if(typeof n=="number"&&!Number.isFinite(n))throw new globalThis.Error;return n;case"stringValue":return t.kind.stringValue;case"listValue":let r=this.fields.find(i=>i.no===6);if(r?.kind!=="message")throw new globalThis.Error;return r.T().toJson(t.kind.listValue);case"structValue":let s=this.fields.find(i=>i.no===5);if(s?.kind!=="message")throw new globalThis.Error;return s.T().toJson(t.kind.structValue)}}internalJsonRead(t,e,n){switch(n||(n=this.create()),typeof t){case"number":n.kind={oneofKind:"numberValue",numberValue:t};break;case"string":n.kind={oneofKind:"stringValue",stringValue:t};break;case"boolean":n.kind={oneofKind:"boolValue",boolValue:t};break;case"object":t===null?n.kind={oneofKind:"nullValue",nullValue:$g.NULL_VALUE}:globalThis.Array.isArray(t)?n.kind={oneofKind:"listValue",listValue:Hg.fromJson(t)}:n.kind={oneofKind:"structValue",structValue:Gg.fromJson(t)};break;default:throw new globalThis.Error("Unable to parse "+this.typeName+" from JSON "+an(t))}return n}},et=new pk,hk=class extends R{constructor(){super("google.protobuf.ListValue",[{no:1,name:"values",kind:"message",repeat:1,T:()=>et}])}internalJsonWrite(t,e){return t.values.map(n=>et.toJson(n))}internalJsonRead(t,e,n){if(!globalThis.Array.isArray(t))throw new globalThis.Error("Unable to parse "+this.typeName+" from JSON "+an(t));n||(n=this.create());let r=t.map(s=>et.fromJson(s));return n.values.push(...r),n}},Hg=new hk;var mk=function(t){return t[t.DATATYPE_KIND_UNKNOWN=0]="DATATYPE_KIND_UNKNOWN",t[t.STRUCT=1]="STRUCT",t[t.ENUM=2]="ENUM",t}({}),jn=function(t){return t[t.TYPE_UNKNOWN=0]="TYPE_UNKNOWN",t[t.ADDRESS=1]="ADDRESS",t[t.BOOL=2]="BOOL",t[t.U8=3]="U8",t[t.U16=4]="U16",t[t.U32=5]="U32",t[t.U64=6]="U64",t[t.U128=7]="U128",t[t.U256=8]="U256",t[t.VECTOR=9]="VECTOR",t[t.DATATYPE=10]="DATATYPE",t[t.TYPE_PARAMETER=11]="TYPE_PARAMETER",t}({}),Pa=function(t){return t[t.VISIBILITY_UNKNOWN=0]="VISIBILITY_UNKNOWN",t[t.PRIVATE=1]="PRIVATE",t[t.PUBLIC=2]="PUBLIC",t[t.FRIEND=3]="FRIEND",t}({}),Au=function(t){return t[t.REFERENCE_UNKNOWN=0]="REFERENCE_UNKNOWN",t[t.IMMUTABLE=1]="IMMUTABLE",t[t.MUTABLE=2]="MUTABLE",t}({}),Ni=function(t){return t[t.ABILITY_UNKNOWN=0]="ABILITY_UNKNOWN",t[t.COPY=1]="COPY",t[t.DROP=2]="DROP",t[t.STORE=3]="STORE",t[t.KEY=4]="KEY",t}({}),gk=class extends R{constructor(){super("sui.rpc.v2.Package",[{no:1,name:"storage_id",kind:"scalar",opt:!0,T:9},{no:2,name:"original_id",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"modules",kind:"message",repeat:1,T:()=>bk},{no:5,name:"type_origins",kind:"message",repeat:1,T:()=>Ik},{no:6,name:"linkage",kind:"message",repeat:1,T:()=>Ck}])}},Cu=new gk,yk=class extends R{constructor(){super("sui.rpc.v2.Module",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"contents",kind:"scalar",opt:!0,T:12},{no:3,name:"datatypes",kind:"message",repeat:1,T:()=>Zf},{no:4,name:"functions",kind:"message",repeat:1,T:()=>Kf}])}},bk=new yk,wk=class extends R{constructor(){super("sui.rpc.v2.DatatypeDescriptor",[{no:1,name:"type_name",kind:"scalar",opt:!0,T:9},{no:2,name:"defining_id",kind:"scalar",opt:!0,T:9},{no:3,name:"module",kind:"scalar",opt:!0,T:9},{no:4,name:"name",kind:"scalar",opt:!0,T:9},{no:5,name:"abilities",kind:"enum",repeat:1,T:()=>["sui.rpc.v2.Ability",Ni]},{no:6,name:"type_parameters",kind:"message",repeat:1,T:()=>Wg},{no:7,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DatatypeDescriptor.DatatypeKind",mk]},{no:8,name:"fields",kind:"message",repeat:1,T:()=>Zg},{no:9,name:"variants",kind:"message",repeat:1,T:()=>kk}])}},Zf=new wk,vk=class extends R{constructor(){super("sui.rpc.v2.TypeParameter",[{no:1,name:"constraints",kind:"enum",repeat:1,T:()=>["sui.rpc.v2.Ability",Ni]},{no:2,name:"is_phantom",kind:"scalar",opt:!0,T:8}])}},Wg=new vk,_k=class extends R{constructor(){super("sui.rpc.v2.FieldDescriptor",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"position",kind:"scalar",opt:!0,T:13},{no:3,name:"type",kind:"message",T:()=>Jf}])}},Zg=new _k,Tk=class extends R{constructor(){super("sui.rpc.v2.VariantDescriptor",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"position",kind:"scalar",opt:!0,T:13},{no:3,name:"fields",kind:"message",repeat:1,T:()=>Zg}])}},kk=new Tk,Ek=class extends R{constructor(){super("sui.rpc.v2.OpenSignatureBody",[{no:1,name:"type",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.OpenSignatureBody.Type",jn]},{no:2,name:"type_name",kind:"scalar",opt:!0,T:9},{no:3,name:"type_parameter_instantiation",kind:"message",repeat:1,T:()=>Jf},{no:4,name:"type_parameter",kind:"scalar",opt:!0,T:13}])}},Jf=new Ek,Sk=class extends R{constructor(){super("sui.rpc.v2.FunctionDescriptor",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:5,name:"visibility",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.FunctionDescriptor.Visibility",Pa]},{no:6,name:"is_entry",kind:"scalar",opt:!0,T:8},{no:7,name:"type_parameters",kind:"message",repeat:1,T:()=>Wg},{no:8,name:"parameters",kind:"message",repeat:1,T:()=>zg},{no:9,name:"returns",kind:"message",repeat:1,T:()=>zg}])}},Kf=new Sk,xk=class extends R{constructor(){super("sui.rpc.v2.OpenSignature",[{no:1,name:"reference",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.OpenSignature.Reference",Au]},{no:2,name:"body",kind:"message",T:()=>Jf}])}},zg=new xk,Ok=class extends R{constructor(){super("sui.rpc.v2.TypeOrigin",[{no:1,name:"module_name",kind:"scalar",opt:!0,T:9},{no:2,name:"datatype_name",kind:"scalar",opt:!0,T:9},{no:3,name:"package_id",kind:"scalar",opt:!0,T:9}])}},Ik=new Ok,Ak=class extends R{constructor(){super("sui.rpc.v2.Linkage",[{no:1,name:"original_id",kind:"scalar",opt:!0,T:9},{no:2,name:"upgraded_id",kind:"scalar",opt:!0,T:9},{no:3,name:"upgraded_version",kind:"scalar",opt:!0,T:4,L:0}])}},Ck=new Ak;var Ri=function(t){return t[t.OWNER_KIND_UNKNOWN=0]="OWNER_KIND_UNKNOWN",t[t.ADDRESS=1]="ADDRESS",t[t.OBJECT=2]="OBJECT",t[t.SHARED=3]="SHARED",t[t.IMMUTABLE=4]="IMMUTABLE",t[t.CONSENSUS_ADDRESS=5]="CONSENSUS_ADDRESS",t}({}),Nk=class extends R{constructor(){super("sui.rpc.v2.Owner",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Owner.OwnerKind",Ri]},{no:2,name:"address",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},La=new Nk;var ps=function(t){return t[t.ARGUMENT_KIND_UNKNOWN=0]="ARGUMENT_KIND_UNKNOWN",t[t.GAS=1]="GAS",t[t.INPUT=2]="INPUT",t[t.RESULT=3]="RESULT",t}({}),Rk=class extends R{constructor(){super("sui.rpc.v2.Argument",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Argument.ArgumentKind",ps]},{no:2,name:"input",kind:"scalar",opt:!0,T:13},{no:3,name:"result",kind:"scalar",opt:!0,T:13},{no:4,name:"subresult",kind:"scalar",opt:!0,T:13}])}},er=new Rk;var tr=function(t){return t[t.INPUT_KIND_UNKNOWN=0]="INPUT_KIND_UNKNOWN",t[t.PURE=1]="PURE",t[t.IMMUTABLE_OR_OWNED=2]="IMMUTABLE_OR_OWNED",t[t.SHARED=3]="SHARED",t[t.RECEIVING=4]="RECEIVING",t[t.FUNDS_WITHDRAWAL=5]="FUNDS_WITHDRAWAL",t}({}),Bk=function(t){return t[t.MUTABILITY_UNKNOWN=0]="MUTABILITY_UNKNOWN",t[t.IMMUTABLE=1]="IMMUTABLE",t[t.MUTABLE=2]="MUTABLE",t[t.NON_EXCLUSIVE_WRITE=3]="NON_EXCLUSIVE_WRITE",t}({}),Va=function(t){return t[t.SOURCE_UNKNOWN=0]="SOURCE_UNKNOWN",t[t.SENDER=1]="SENDER",t[t.SPONSOR=2]="SPONSOR",t}({}),Mk=class extends R{constructor(){super("sui.rpc.v2.Input",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Input.InputKind",tr]},{no:2,name:"pure",kind:"scalar",opt:!0,T:12},{no:3,name:"object_id",kind:"scalar",opt:!0,T:9},{no:4,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"digest",kind:"scalar",opt:!0,T:9},{no:6,name:"mutable",kind:"scalar",opt:!0,T:8},{no:7,name:"mutability",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Input.Mutability",Bk]},{no:8,name:"funds_withdrawal",kind:"message",T:()=>Dk},{no:1e3,name:"literal",kind:"message",T:()=>et}])}},Jg=new Mk,jk=class extends R{constructor(){super("sui.rpc.v2.FundsWithdrawal",[{no:1,name:"amount",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:3,name:"source",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.FundsWithdrawal.Source",Va]}])}},Dk=new jk;var Uk=class extends R{constructor(){super("google.protobuf.Duration",[{no:1,name:"seconds",kind:"scalar",T:3,L:0},{no:2,name:"nanos",kind:"scalar",T:5}])}internalJsonWrite(t,e){let n=Ae.from(t.seconds).toNumber();if(n>315576e6||n<-315576e6)throw new Error("Duration value out of range.");let r=t.seconds.toString();if(n===0&&t.nanos<0&&(r="-"+r),t.nanos!==0){let s=Math.abs(t.nanos).toString();s="0".repeat(9-s.length)+s,s.substring(3)==="000000"?s=s.substring(0,3):s.substring(6)==="000"&&(s=s.substring(0,6)),r+="."+s}return r+"s"}internalJsonRead(t,e,n){if(typeof t!="string")throw new Error("Unable to parse Duration from JSON "+an(t)+". Expected string.");let r=t.match(/^(-?)([0-9]+)(?:\.([0-9]+))?s/);if(r===null)throw new Error("Unable to parse Duration from JSON string. Invalid format.");n||(n=this.create());let[,s,i,o]=r,a=Ae.from(s+i);if(a.toNumber()>315576e6||a.toNumber()<-315576e6)throw new Error("Unable to parse Duration from JSON string. Value out of range.");if(n.seconds=a.toBigInt(),typeof o=="string"){let c=s+o+"0".repeat(9-o.length);n.nanos=parseInt(c)}return n}},Kg=new Uk;var Pk=class extends R{constructor(){super("sui.rpc.v2.JwkId",[{no:1,name:"iss",kind:"scalar",opt:!0,T:9},{no:2,name:"kid",kind:"scalar",opt:!0,T:9}])}},Nu=new Pk,Lk=class extends R{constructor(){super("sui.rpc.v2.Jwk",[{no:1,name:"kty",kind:"scalar",opt:!0,T:9},{no:2,name:"e",kind:"scalar",opt:!0,T:9},{no:3,name:"n",kind:"scalar",opt:!0,T:9},{no:4,name:"alg",kind:"scalar",opt:!0,T:9}])}},Yg=new Lk;var Vk=class extends R{constructor(){super("sui.rpc.v2.Bcs",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"value",kind:"scalar",opt:!0,T:12}])}},Qe=new Vk;var Fk=class extends R{constructor(){super("sui.rpc.v2.Object",[{no:1,name:"bcs",kind:"message",T:()=>Qe},{no:2,name:"object_id",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"digest",kind:"scalar",opt:!0,T:9},{no:5,name:"owner",kind:"message",T:()=>La},{no:6,name:"object_type",kind:"scalar",opt:!0,T:9},{no:7,name:"has_public_transfer",kind:"scalar",opt:!0,T:8},{no:8,name:"contents",kind:"message",T:()=>Qe},{no:9,name:"package",kind:"message",T:()=>Cu},{no:10,name:"previous_transaction",kind:"scalar",opt:!0,T:9},{no:11,name:"storage_rebate",kind:"scalar",opt:!0,T:4,L:0},{no:100,name:"json",kind:"message",T:()=>et},{no:101,name:"balance",kind:"scalar",opt:!0,T:4,L:0},{no:102,name:"display",kind:"message",T:()=>Gk}])}},Dr=new Fk,qk=class extends R{constructor(){super("sui.rpc.v2.ObjectSet",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Dr}])}},Ru=new qk,$k=class extends R{constructor(){super("sui.rpc.v2.Display",[{no:1,name:"output",kind:"message",T:()=>et},{no:2,name:"errors",kind:"message",T:()=>et}])}},Gk=new $k;var Hk=class extends R{constructor(){super("google.protobuf.Timestamp",[{no:1,name:"seconds",kind:"scalar",T:3,L:0},{no:2,name:"nanos",kind:"scalar",T:5}])}now(){let t=this.create(),e=Date.now();return t.seconds=Ae.from(Math.floor(e/1e3)).toBigInt(),t.nanos=e%1e3*1e6,t}toDate(t){return new Date(Ae.from(t.seconds).toNumber()*1e3+Math.ceil(t.nanos/1e6))}fromDate(t){let e=this.create(),n=t.getTime();return e.seconds=Ae.from(Math.floor(n/1e3)).toBigInt(),e.nanos=(n%1e3+(n<0&&n%1e3!==0?1e3:0))*1e6,e}internalJsonWrite(t,e){let n=Ae.from(t.seconds).toNumber()*1e3;if(n<Date.parse("0001-01-01T00:00:00Z")||n>Date.parse("9999-12-31T23:59:59Z"))throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");if(t.nanos<0)throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");let r="Z";if(t.nanos>0){let s=(t.nanos+1e9).toString().substring(1);s.substring(3)==="000000"?r="."+s.substring(0,3)+"Z":s.substring(6)==="000"?r="."+s.substring(0,6)+"Z":r="."+s+"Z"}return new Date(n).toISOString().replace(".000Z",r)}internalJsonRead(t,e,n){if(typeof t!="string")throw new Error("Unable to parse Timestamp from JSON "+an(t)+".");let r=t.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!r)throw new Error("Unable to parse Timestamp from JSON. Invalid format.");let s=Date.parse(r[1]+"-"+r[2]+"-"+r[3]+"T"+r[4]+":"+r[5]+":"+r[6]+(r[8]?r[8]:"Z"));if(Number.isNaN(s))throw new Error("Unable to parse Timestamp from JSON. Invalid value.");if(s<Date.parse("0001-01-01T00:00:00Z")||s>Date.parse("9999-12-31T23:59:59Z"))throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");return n||(n=this.create()),n.seconds=Ae.from(s/1e3).toBigInt(),n.nanos=0,r[7]&&(n.nanos=parseInt("1"+r[7]+"0".repeat(9-r[7].length))-1e9),n}},gn=new Hk;var zk=class extends R{constructor(){super("sui.rpc.v2.ObjectReference",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"digest",kind:"scalar",opt:!0,T:9}])}},Bu=new zk;var Vs=function(t){return t[t.TRANSACTION_EXPIRATION_KIND_UNKNOWN=0]="TRANSACTION_EXPIRATION_KIND_UNKNOWN",t[t.NONE=1]="NONE",t[t.EPOCH=2]="EPOCH",t[t.VALID_DURING=3]="VALID_DURING",t}({}),Wk=function(t){return t[t.KIND_UNKNOWN=0]="KIND_UNKNOWN",t[t.PROGRAMMABLE_TRANSACTION=1]="PROGRAMMABLE_TRANSACTION",t[t.CHANGE_EPOCH=2]="CHANGE_EPOCH",t[t.GENESIS=3]="GENESIS",t[t.CONSENSUS_COMMIT_PROLOGUE_V1=4]="CONSENSUS_COMMIT_PROLOGUE_V1",t[t.AUTHENTICATOR_STATE_UPDATE=5]="AUTHENTICATOR_STATE_UPDATE",t[t.END_OF_EPOCH=6]="END_OF_EPOCH",t[t.RANDOMNESS_STATE_UPDATE=7]="RANDOMNESS_STATE_UPDATE",t[t.CONSENSUS_COMMIT_PROLOGUE_V2=8]="CONSENSUS_COMMIT_PROLOGUE_V2",t[t.CONSENSUS_COMMIT_PROLOGUE_V3=9]="CONSENSUS_COMMIT_PROLOGUE_V3",t[t.CONSENSUS_COMMIT_PROLOGUE_V4=10]="CONSENSUS_COMMIT_PROLOGUE_V4",t[t.PROGRAMMABLE_SYSTEM_TRANSACTION=11]="PROGRAMMABLE_SYSTEM_TRANSACTION",t}({}),Zk=function(t){return t[t.KIND_UNKNOWN=0]="KIND_UNKNOWN",t[t.CHANGE_EPOCH=1]="CHANGE_EPOCH",t[t.AUTHENTICATOR_STATE_CREATE=2]="AUTHENTICATOR_STATE_CREATE",t[t.AUTHENTICATOR_STATE_EXPIRE=3]="AUTHENTICATOR_STATE_EXPIRE",t[t.RANDOMNESS_STATE_CREATE=4]="RANDOMNESS_STATE_CREATE",t[t.DENY_LIST_STATE_CREATE=5]="DENY_LIST_STATE_CREATE",t[t.BRIDGE_STATE_CREATE=6]="BRIDGE_STATE_CREATE",t[t.BRIDGE_COMMITTEE_INIT=7]="BRIDGE_COMMITTEE_INIT",t[t.STORE_EXECUTION_TIME_OBSERVATIONS=8]="STORE_EXECUTION_TIME_OBSERVATIONS",t[t.ACCUMULATOR_ROOT_CREATE=9]="ACCUMULATOR_ROOT_CREATE",t[t.COIN_REGISTRY_CREATE=10]="COIN_REGISTRY_CREATE",t[t.DISPLAY_REGISTRY_CREATE=11]="DISPLAY_REGISTRY_CREATE",t[t.ADDRESS_ALIAS_STATE_CREATE=12]="ADDRESS_ALIAS_STATE_CREATE",t[t.WRITE_ACCUMULATOR_STORAGE_COST=13]="WRITE_ACCUMULATOR_STORAGE_COST",t}({}),Jk=function(t){return t[t.EXECUTION_TIME_OBSERVATION_KIND_UNKNOWN=0]="EXECUTION_TIME_OBSERVATION_KIND_UNKNOWN",t[t.MOVE_ENTRY_POINT=1]="MOVE_ENTRY_POINT",t[t.TRANSFER_OBJECTS=2]="TRANSFER_OBJECTS",t[t.SPLIT_COINS=3]="SPLIT_COINS",t[t.MERGE_COINS=4]="MERGE_COINS",t[t.PUBLISH=5]="PUBLISH",t[t.MAKE_MOVE_VECTOR=6]="MAKE_MOVE_VECTOR",t[t.UPGRADE=7]="UPGRADE",t}({}),Kk=class extends R{constructor(){super("sui.rpc.v2.Transaction",[{no:1,name:"bcs",kind:"message",T:()=>Qe},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:5},{no:4,name:"kind",kind:"message",T:()=>n2},{no:5,name:"sender",kind:"scalar",opt:!0,T:9},{no:6,name:"gas_payment",kind:"message",T:()=>Xk},{no:7,name:"expiration",kind:"message",T:()=>e2}])}},Ur=new Kk,Yk=class extends R{constructor(){super("sui.rpc.v2.GasPayment",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Bu},{no:2,name:"owner",kind:"scalar",opt:!0,T:9},{no:3,name:"price",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"budget",kind:"scalar",opt:!0,T:4,L:0}])}},Xk=new Yk,Qk=class extends R{constructor(){super("sui.rpc.v2.TransactionExpiration",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TransactionExpiration.TransactionExpirationKind",Vs]},{no:2,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"min_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"min_timestamp",kind:"message",T:()=>gn},{no:5,name:"max_timestamp",kind:"message",T:()=>gn},{no:6,name:"chain",kind:"scalar",opt:!0,T:9},{no:7,name:"nonce",kind:"scalar",opt:!0,T:13}])}},e2=new Qk,t2=class extends R{constructor(){super("sui.rpc.v2.TransactionKind",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TransactionKind.Kind",Wk]},{no:2,name:"programmable_transaction",kind:"message",oneof:"data",T:()=>s2},{no:3,name:"change_epoch",kind:"message",oneof:"data",T:()=>Qg},{no:4,name:"genesis",kind:"message",oneof:"data",T:()=>x2},{no:5,name:"consensus_commit_prologue",kind:"message",oneof:"data",T:()=>I2},{no:6,name:"authenticator_state_update",kind:"message",oneof:"data",T:()=>D2},{no:7,name:"end_of_epoch",kind:"message",oneof:"data",T:()=>L2},{no:8,name:"randomness_state_update",kind:"message",oneof:"data",T:()=>_2}])}},n2=new t2,r2=class extends R{constructor(){super("sui.rpc.v2.ProgrammableTransaction",[{no:1,name:"inputs",kind:"message",repeat:1,T:()=>Jg},{no:2,name:"commands",kind:"message",repeat:1,T:()=>o2}])}},s2=new r2,i2=class extends R{constructor(){super("sui.rpc.v2.Command",[{no:1,name:"move_call",kind:"message",oneof:"command",T:()=>Xg},{no:2,name:"transfer_objects",kind:"message",oneof:"command",T:()=>u2},{no:3,name:"split_coins",kind:"message",oneof:"command",T:()=>d2},{no:4,name:"merge_coins",kind:"message",oneof:"command",T:()=>p2},{no:5,name:"publish",kind:"message",oneof:"command",T:()=>m2},{no:6,name:"make_move_vector",kind:"message",oneof:"command",T:()=>y2},{no:7,name:"upgrade",kind:"message",oneof:"command",T:()=>w2}])}},o2=new i2,a2=class extends R{constructor(){super("sui.rpc.v2.MoveCall",[{no:1,name:"package",kind:"scalar",opt:!0,T:9},{no:2,name:"module",kind:"scalar",opt:!0,T:9},{no:3,name:"function",kind:"scalar",opt:!0,T:9},{no:4,name:"type_arguments",kind:"scalar",repeat:2,T:9},{no:5,name:"arguments",kind:"message",repeat:1,T:()=>er}])}},Xg=new a2,c2=class extends R{constructor(){super("sui.rpc.v2.TransferObjects",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>er},{no:2,name:"address",kind:"message",T:()=>er}])}},u2=new c2,l2=class extends R{constructor(){super("sui.rpc.v2.SplitCoins",[{no:1,name:"coin",kind:"message",T:()=>er},{no:2,name:"amounts",kind:"message",repeat:1,T:()=>er}])}},d2=new l2,f2=class extends R{constructor(){super("sui.rpc.v2.MergeCoins",[{no:1,name:"coin",kind:"message",T:()=>er},{no:2,name:"coins_to_merge",kind:"message",repeat:1,T:()=>er}])}},p2=new f2,h2=class extends R{constructor(){super("sui.rpc.v2.Publish",[{no:1,name:"modules",kind:"scalar",repeat:2,T:12},{no:2,name:"dependencies",kind:"scalar",repeat:2,T:9}])}},m2=new h2,g2=class extends R{constructor(){super("sui.rpc.v2.MakeMoveVector",[{no:1,name:"element_type",kind:"scalar",opt:!0,T:9},{no:2,name:"elements",kind:"message",repeat:1,T:()=>er}])}},y2=new g2,b2=class extends R{constructor(){super("sui.rpc.v2.Upgrade",[{no:1,name:"modules",kind:"scalar",repeat:2,T:12},{no:2,name:"dependencies",kind:"scalar",repeat:2,T:9},{no:3,name:"package",kind:"scalar",opt:!0,T:9},{no:4,name:"ticket",kind:"message",T:()=>er}])}},w2=new b2,v2=class extends R{constructor(){super("sui.rpc.v2.RandomnessStateUpdate",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"randomness_round",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"random_bytes",kind:"scalar",opt:!0,T:12},{no:4,name:"randomness_object_initial_shared_version",kind:"scalar",opt:!0,T:4,L:0}])}},_2=new v2,T2=class extends R{constructor(){super("sui.rpc.v2.ChangeEpoch",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"storage_charge",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"computation_charge",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"storage_rebate",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"non_refundable_storage_fee",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"epoch_start_timestamp",kind:"message",T:()=>gn},{no:8,name:"system_packages",kind:"message",repeat:1,T:()=>E2}])}},Qg=new T2,k2=class extends R{constructor(){super("sui.rpc.v2.SystemPackage",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"modules",kind:"scalar",repeat:2,T:12},{no:3,name:"dependencies",kind:"scalar",repeat:2,T:9}])}},E2=new k2,S2=class extends R{constructor(){super("sui.rpc.v2.GenesisTransaction",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Dr}])}},x2=new S2,O2=class extends R{constructor(){super("sui.rpc.v2.ConsensusCommitPrologue",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"round",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"commit_timestamp",kind:"message",T:()=>gn},{no:4,name:"consensus_commit_digest",kind:"scalar",opt:!0,T:9},{no:5,name:"sub_dag_index",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"consensus_determined_version_assignments",kind:"message",T:()=>M2},{no:7,name:"additional_state_digest",kind:"scalar",opt:!0,T:9}])}},I2=new O2,A2=class extends R{constructor(){super("sui.rpc.v2.VersionAssignment",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"start_version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},C2=new A2,N2=class extends R{constructor(){super("sui.rpc.v2.CanceledTransaction",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"version_assignments",kind:"message",repeat:1,T:()=>C2}])}},R2=new N2,B2=class extends R{constructor(){super("sui.rpc.v2.ConsensusDeterminedVersionAssignments",[{no:1,name:"version",kind:"scalar",opt:!0,T:5},{no:3,name:"canceled_transactions",kind:"message",repeat:1,T:()=>R2}])}},M2=new B2,j2=class extends R{constructor(){super("sui.rpc.v2.AuthenticatorStateUpdate",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"round",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"new_active_jwks",kind:"message",repeat:1,T:()=>Yf},{no:4,name:"authenticator_object_initial_shared_version",kind:"scalar",opt:!0,T:4,L:0}])}},D2=new j2,U2=class extends R{constructor(){super("sui.rpc.v2.ActiveJwk",[{no:1,name:"id",kind:"message",T:()=>Nu},{no:2,name:"jwk",kind:"message",T:()=>Yg},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0}])}},Yf=new U2,P2=class extends R{constructor(){super("sui.rpc.v2.EndOfEpochTransaction",[{no:1,name:"transactions",kind:"message",repeat:1,T:()=>F2}])}},L2=new P2,V2=class extends R{constructor(){super("sui.rpc.v2.EndOfEpochTransactionKind",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.EndOfEpochTransactionKind.Kind",Zk]},{no:2,name:"change_epoch",kind:"message",oneof:"data",T:()=>Qg},{no:3,name:"authenticator_state_expire",kind:"message",oneof:"data",T:()=>$2},{no:4,name:"execution_time_observations",kind:"message",oneof:"data",T:()=>H2},{no:5,name:"bridge_chain_id",kind:"scalar",oneof:"data",T:9},{no:6,name:"bridge_object_version",kind:"scalar",oneof:"data",T:4,L:0},{no:7,name:"storage_cost",kind:"scalar",oneof:"data",T:4,L:0}])}},F2=new V2,q2=class extends R{constructor(){super("sui.rpc.v2.AuthenticatorStateExpire",[{no:1,name:"min_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"authenticator_object_initial_shared_version",kind:"scalar",opt:!0,T:4,L:0}])}},$2=new q2,G2=class extends R{constructor(){super("sui.rpc.v2.ExecutionTimeObservations",[{no:1,name:"version",kind:"scalar",opt:!0,T:5},{no:2,name:"observations",kind:"message",repeat:1,T:()=>W2}])}},H2=new G2,z2=class extends R{constructor(){super("sui.rpc.v2.ExecutionTimeObservation",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ExecutionTimeObservation.ExecutionTimeObservationKind",Jk]},{no:2,name:"move_entry_point",kind:"message",T:()=>Xg},{no:3,name:"validator_observations",kind:"message",repeat:1,T:()=>J2}])}},W2=new z2,Z2=class extends R{constructor(){super("sui.rpc.v2.ValidatorExecutionTimeObservation",[{no:1,name:"validator",kind:"scalar",opt:!0,T:12},{no:2,name:"duration",kind:"message",T:()=>Kg}])}},J2=new Z2;function K2(t){switch(t.$kind){case"Pure":return{kind:tr.PURE,pure:ce(t.Pure.bytes)};case"Object":if(t.Object.$kind==="ImmOrOwnedObject")return{kind:tr.IMMUTABLE_OR_OWNED,objectId:t.Object.ImmOrOwnedObject.objectId,version:BigInt(t.Object.ImmOrOwnedObject.version),digest:t.Object.ImmOrOwnedObject.digest};if(t.Object.$kind==="SharedObject")return{kind:tr.SHARED,objectId:t.Object.SharedObject.objectId,version:BigInt(t.Object.SharedObject.initialSharedVersion),mutable:t.Object.SharedObject.mutable};if(t.Object.$kind==="Receiving")return{kind:tr.RECEIVING,objectId:t.Object.Receiving.objectId,version:BigInt(t.Object.Receiving.version),digest:t.Object.Receiving.digest};throw new Error(`Unknown Object kind: ${JSON.stringify(t.Object)}`);case"UnresolvedObject":let e=t.UnresolvedObject;return{objectId:e.objectId,version:e.version?BigInt(e.version):e.initialSharedVersion?BigInt(e.initialSharedVersion):void 0,digest:e.digest??void 0,mutable:e.mutable??void 0};case"UnresolvedPure":throw new Error("UnresolvedPure arguments must be resolved before converting to gRPC format");case"FundsWithdrawal":{let n=t.FundsWithdrawal;return{kind:tr.FUNDS_WITHDRAWAL,fundsWithdrawal:{amount:n.reservation.$kind==="MaxAmountU64"?BigInt(n.reservation.MaxAmountU64):void 0,coinType:n.typeArg.$kind==="Balance"?n.typeArg.Balance:void 0,source:n.withdrawFrom.$kind==="Sponsor"?Va.SPONSOR:Va.SENDER}}}default:throw new Error(`Unknown CallArg kind: ${JSON.stringify(t)}`)}}function hs(t){if("GasCoin"in t)return{kind:ps.GAS};if("Input"in t)return{kind:ps.INPUT,input:t.Input};if("Result"in t)return{kind:ps.RESULT,result:t.Result};if("NestedResult"in t)return{kind:ps.RESULT,result:t.NestedResult[0],subresult:t.NestedResult[1]};throw new Error(`Unknown Argument: ${JSON.stringify(t)}`)}function Y2(t){switch(t.$kind){case"MoveCall":return{command:{oneofKind:"moveCall",moveCall:{package:t.MoveCall.package,module:t.MoveCall.module,function:t.MoveCall.function,typeArguments:t.MoveCall.typeArguments,arguments:t.MoveCall.arguments.map(hs)}}};case"TransferObjects":return{command:{oneofKind:"transferObjects",transferObjects:{objects:t.TransferObjects.objects.map(hs),address:hs(t.TransferObjects.address)}}};case"SplitCoins":return{command:{oneofKind:"splitCoins",splitCoins:{coin:hs(t.SplitCoins.coin),amounts:t.SplitCoins.amounts.map(hs)}}};case"MergeCoins":return{command:{oneofKind:"mergeCoins",mergeCoins:{coin:hs(t.MergeCoins.destination),coinsToMerge:t.MergeCoins.sources.map(hs)}}};case"Publish":return{command:{oneofKind:"publish",publish:{modules:t.Publish.modules.map(e=>ce(e)),dependencies:t.Publish.dependencies}}};case"MakeMoveVec":return{command:{oneofKind:"makeMoveVector",makeMoveVector:{elementType:t.MakeMoveVec.type??void 0,elements:t.MakeMoveVec.elements.map(hs)}}};case"Upgrade":return{command:{oneofKind:"upgrade",upgrade:{modules:t.Upgrade.modules.map(e=>ce(e)),dependencies:t.Upgrade.dependencies,package:t.Upgrade.package,ticket:hs(t.Upgrade.ticket)}}};default:throw new Error(`Unknown Command kind: ${JSON.stringify(t)}`)}}function Fa(t){let e={version:1,kind:{data:{oneofKind:"programmableTransaction",programmableTransaction:{inputs:t.inputs.map(K2),commands:t.commands.map(Y2)}}}};t.sender&&(e.sender=t.sender);let n=t.gasData.owner??t.sender;if(e.gasPayment={objects:t.gasData.payment?t.gasData.payment.map(r=>({objectId:r.objectId,version:BigInt(r.version),digest:r.digest})):[],price:t.gasData.price?BigInt(t.gasData.price):void 0,budget:t.gasData.budget?BigInt(t.gasData.budget):void 0},n&&(e.gasPayment.owner=n),t.expiration){if("None"in t.expiration)e.expiration={kind:Vs.NONE};else if(t.expiration.$kind==="Epoch")e.expiration={kind:Vs.EPOCH,epoch:BigInt(t.expiration.Epoch)};else if(t.expiration.$kind==="ValidDuring"){let r=t.expiration.ValidDuring;e.expiration={kind:Vs.VALID_DURING,minEpoch:r.minEpoch!=null?BigInt(r.minEpoch):void 0,epoch:r.maxEpoch!=null?BigInt(r.maxEpoch):void 0,chain:r.chain,nonce:r.nonce}}}return e}function ey(t,e,n){let r=qa(e);n?.onlyTransactionKind?t.applyResolvedData({...r,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):t.applyResolvedData(r)}function Xf(t){let e=t.getData();return e.sender||(e.sender="0x0000000000000000000000000000000000000000000000000000000000000000"),Fa(e)}function ty(t){let e=Xf(t);return Ur.toJson(e)}function X2(t){switch(t.kind){case tr.PURE:return{$kind:"Pure",Pure:{bytes:ge(t.pure)}};case tr.IMMUTABLE_OR_OWNED:return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{objectId:t.objectId,version:t.version.toString(),digest:t.digest}}};case tr.SHARED:return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{objectId:t.objectId,initialSharedVersion:t.version.toString(),mutable:t.mutable??!1}}};case tr.RECEIVING:return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{objectId:t.objectId,version:t.version.toString(),digest:t.digest}}};case tr.FUNDS_WITHDRAWAL:return{$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:{$kind:"MaxAmountU64",MaxAmountU64:t.fundsWithdrawal?.amount?.toString()??"0"},typeArg:{$kind:"Balance",Balance:t.fundsWithdrawal?.coinType??"0x2::sui::SUI"},withdrawFrom:t.fundsWithdrawal?.source===Va.SPONSOR?{$kind:"Sponsor",Sponsor:!0}:{$kind:"Sender",Sender:!0}}};default:throw new Error(`Unknown Input kind: ${JSON.stringify(t)}`)}}function ms(t){switch(t.kind){case ps.GAS:return{$kind:"GasCoin",GasCoin:!0};case ps.INPUT:return{$kind:"Input",Input:t.input};case ps.RESULT:return t.subresult!=null?{$kind:"NestedResult",NestedResult:[t.result,t.subresult]}:{$kind:"Result",Result:t.result};default:throw new Error(`Unknown Argument kind: ${JSON.stringify(t)}`)}}function Q2(t){let e=t.command;if(!e)throw new Error("Command is missing");switch(e.oneofKind){case"moveCall":return{$kind:"MoveCall",MoveCall:{package:e.moveCall.package,module:e.moveCall.module,function:e.moveCall.function,typeArguments:e.moveCall.typeArguments??[],arguments:e.moveCall.arguments.map(ms)}};case"transferObjects":return{$kind:"TransferObjects",TransferObjects:{objects:e.transferObjects.objects.map(ms),address:ms(e.transferObjects.address)}};case"splitCoins":return{$kind:"SplitCoins",SplitCoins:{coin:ms(e.splitCoins.coin),amounts:e.splitCoins.amounts.map(ms)}};case"mergeCoins":return{$kind:"MergeCoins",MergeCoins:{destination:ms(e.mergeCoins.coin),sources:e.mergeCoins.coinsToMerge.map(ms)}};case"publish":return{$kind:"Publish",Publish:{modules:e.publish.modules.map(n=>ge(n)),dependencies:e.publish.dependencies??[]}};case"makeMoveVector":return{$kind:"MakeMoveVec",MakeMoveVec:{type:e.makeMoveVector.elementType??null,elements:e.makeMoveVector.elements.map(ms)}};case"upgrade":return{$kind:"Upgrade",Upgrade:{modules:e.upgrade.modules.map(n=>ge(n)),dependencies:e.upgrade.dependencies??[],package:e.upgrade.package,ticket:ms(e.upgrade.ticket)}};default:throw new Error(`Unknown Command kind: ${JSON.stringify(e)}`)}}function qa(t){let e=t.kind?.data;if(e?.oneofKind!=="programmableTransaction")throw new Error("Only programmable transactions are supported");let n=e.programmableTransaction.inputs.map(X2),r=e.programmableTransaction.commands.map(Q2),s=null;if(t.expiration)switch(t.expiration.kind){case Vs.NONE:s={$kind:"None",None:!0};break;case Vs.EPOCH:s={$kind:"Epoch",Epoch:t.expiration.epoch.toString()};break;case Vs.VALID_DURING:s={$kind:"ValidDuring",ValidDuring:{minEpoch:t.expiration.minEpoch?.toString()??null,maxEpoch:t.expiration.epoch?.toString()??null,minTimestamp:null,maxTimestamp:null,chain:t.expiration.chain??"",nonce:t.expiration.nonce??0}};break}return{version:2,sender:t.sender??null,expiration:s,gasData:{budget:t.gasPayment?.budget?.toString()??null,owner:t.gasPayment?.owner??null,payment:t.gasPayment?.objects?.map(i=>({objectId:i.objectId,version:i.version.toString(),digest:i.digest}))??null,price:t.gasPayment?.price?.toString()??null},inputs:n,commands:r}}var eE=function(t){return t[t.EXECUTION_ERROR_KIND_UNKNOWN=0]="EXECUTION_ERROR_KIND_UNKNOWN",t[t.INSUFFICIENT_GAS=1]="INSUFFICIENT_GAS",t[t.INVALID_GAS_OBJECT=2]="INVALID_GAS_OBJECT",t[t.INVARIANT_VIOLATION=3]="INVARIANT_VIOLATION",t[t.FEATURE_NOT_YET_SUPPORTED=4]="FEATURE_NOT_YET_SUPPORTED",t[t.OBJECT_TOO_BIG=5]="OBJECT_TOO_BIG",t[t.PACKAGE_TOO_BIG=6]="PACKAGE_TOO_BIG",t[t.CIRCULAR_OBJECT_OWNERSHIP=7]="CIRCULAR_OBJECT_OWNERSHIP",t[t.INSUFFICIENT_COIN_BALANCE=8]="INSUFFICIENT_COIN_BALANCE",t[t.COIN_BALANCE_OVERFLOW=9]="COIN_BALANCE_OVERFLOW",t[t.PUBLISH_ERROR_NON_ZERO_ADDRESS=10]="PUBLISH_ERROR_NON_ZERO_ADDRESS",t[t.SUI_MOVE_VERIFICATION_ERROR=11]="SUI_MOVE_VERIFICATION_ERROR",t[t.MOVE_PRIMITIVE_RUNTIME_ERROR=12]="MOVE_PRIMITIVE_RUNTIME_ERROR",t[t.MOVE_ABORT=13]="MOVE_ABORT",t[t.VM_VERIFICATION_OR_DESERIALIZATION_ERROR=14]="VM_VERIFICATION_OR_DESERIALIZATION_ERROR",t[t.VM_INVARIANT_VIOLATION=15]="VM_INVARIANT_VIOLATION",t[t.FUNCTION_NOT_FOUND=16]="FUNCTION_NOT_FOUND",t[t.ARITY_MISMATCH=17]="ARITY_MISMATCH",t[t.TYPE_ARITY_MISMATCH=18]="TYPE_ARITY_MISMATCH",t[t.NON_ENTRY_FUNCTION_INVOKED=19]="NON_ENTRY_FUNCTION_INVOKED",t[t.COMMAND_ARGUMENT_ERROR=20]="COMMAND_ARGUMENT_ERROR",t[t.TYPE_ARGUMENT_ERROR=21]="TYPE_ARGUMENT_ERROR",t[t.UNUSED_VALUE_WITHOUT_DROP=22]="UNUSED_VALUE_WITHOUT_DROP",t[t.INVALID_PUBLIC_FUNCTION_RETURN_TYPE=23]="INVALID_PUBLIC_FUNCTION_RETURN_TYPE",t[t.INVALID_TRANSFER_OBJECT=24]="INVALID_TRANSFER_OBJECT",t[t.EFFECTS_TOO_LARGE=25]="EFFECTS_TOO_LARGE",t[t.PUBLISH_UPGRADE_MISSING_DEPENDENCY=26]="PUBLISH_UPGRADE_MISSING_DEPENDENCY",t[t.PUBLISH_UPGRADE_DEPENDENCY_DOWNGRADE=27]="PUBLISH_UPGRADE_DEPENDENCY_DOWNGRADE",t[t.PACKAGE_UPGRADE_ERROR=28]="PACKAGE_UPGRADE_ERROR",t[t.WRITTEN_OBJECTS_TOO_LARGE=29]="WRITTEN_OBJECTS_TOO_LARGE",t[t.CERTIFICATE_DENIED=30]="CERTIFICATE_DENIED",t[t.SUI_MOVE_VERIFICATION_TIMEDOUT=31]="SUI_MOVE_VERIFICATION_TIMEDOUT",t[t.CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED=32]="CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED",t[t.INPUT_OBJECT_DELETED=33]="INPUT_OBJECT_DELETED",t[t.EXECUTION_CANCELED_DUE_TO_CONSENSUS_OBJECT_CONGESTION=34]="EXECUTION_CANCELED_DUE_TO_CONSENSUS_OBJECT_CONGESTION",t[t.ADDRESS_DENIED_FOR_COIN=35]="ADDRESS_DENIED_FOR_COIN",t[t.COIN_TYPE_GLOBAL_PAUSE=36]="COIN_TYPE_GLOBAL_PAUSE",t[t.EXECUTION_CANCELED_DUE_TO_RANDOMNESS_UNAVAILABLE=37]="EXECUTION_CANCELED_DUE_TO_RANDOMNESS_UNAVAILABLE",t[t.MOVE_VECTOR_ELEM_TOO_BIG=38]="MOVE_VECTOR_ELEM_TOO_BIG",t[t.MOVE_RAW_VALUE_TOO_BIG=39]="MOVE_RAW_VALUE_TOO_BIG",t[t.INVALID_LINKAGE=40]="INVALID_LINKAGE",t[t.INSUFFICIENT_FUNDS_FOR_WITHDRAW=41]="INSUFFICIENT_FUNDS_FOR_WITHDRAW",t[t.NON_EXCLUSIVE_WRITE_INPUT_OBJECT_MODIFIED=42]="NON_EXCLUSIVE_WRITE_INPUT_OBJECT_MODIFIED",t}({}),Qf=function(t){return t[t.COMMAND_ARGUMENT_ERROR_KIND_UNKNOWN=0]="COMMAND_ARGUMENT_ERROR_KIND_UNKNOWN",t[t.TYPE_MISMATCH=1]="TYPE_MISMATCH",t[t.INVALID_BCS_BYTES=2]="INVALID_BCS_BYTES",t[t.INVALID_USAGE_OF_PURE_ARGUMENT=3]="INVALID_USAGE_OF_PURE_ARGUMENT",t[t.INVALID_ARGUMENT_TO_PRIVATE_ENTRY_FUNCTION=4]="INVALID_ARGUMENT_TO_PRIVATE_ENTRY_FUNCTION",t[t.INDEX_OUT_OF_BOUNDS=5]="INDEX_OUT_OF_BOUNDS",t[t.SECONDARY_INDEX_OUT_OF_BOUNDS=6]="SECONDARY_INDEX_OUT_OF_BOUNDS",t[t.INVALID_RESULT_ARITY=7]="INVALID_RESULT_ARITY",t[t.INVALID_GAS_COIN_USAGE=8]="INVALID_GAS_COIN_USAGE",t[t.INVALID_VALUE_USAGE=9]="INVALID_VALUE_USAGE",t[t.INVALID_OBJECT_BY_VALUE=10]="INVALID_OBJECT_BY_VALUE",t[t.INVALID_OBJECT_BY_MUT_REF=11]="INVALID_OBJECT_BY_MUT_REF",t[t.CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED=12]="CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED",t[t.INVALID_ARGUMENT_ARITY=13]="INVALID_ARGUMENT_ARITY",t[t.INVALID_TRANSFER_OBJECT=14]="INVALID_TRANSFER_OBJECT",t[t.INVALID_MAKE_MOVE_VEC_NON_OBJECT_ARGUMENT=15]="INVALID_MAKE_MOVE_VEC_NON_OBJECT_ARGUMENT",t[t.ARGUMENT_WITHOUT_VALUE=16]="ARGUMENT_WITHOUT_VALUE",t[t.CANNOT_MOVE_BORROWED_VALUE=17]="CANNOT_MOVE_BORROWED_VALUE",t[t.CANNOT_WRITE_TO_EXTENDED_REFERENCE=18]="CANNOT_WRITE_TO_EXTENDED_REFERENCE",t[t.INVALID_REFERENCE_ARGUMENT=19]="INVALID_REFERENCE_ARGUMENT",t}({}),tE=function(t){return t[t.PACKAGE_UPGRADE_ERROR_KIND_UNKNOWN=0]="PACKAGE_UPGRADE_ERROR_KIND_UNKNOWN",t[t.UNABLE_TO_FETCH_PACKAGE=1]="UNABLE_TO_FETCH_PACKAGE",t[t.NOT_A_PACKAGE=2]="NOT_A_PACKAGE",t[t.INCOMPATIBLE_UPGRADE=3]="INCOMPATIBLE_UPGRADE",t[t.DIGEST_DOES_NOT_MATCH=4]="DIGEST_DOES_NOT_MATCH",t[t.UNKNOWN_UPGRADE_POLICY=5]="UNKNOWN_UPGRADE_POLICY",t[t.PACKAGE_ID_DOES_NOT_MATCH=6]="PACKAGE_ID_DOES_NOT_MATCH",t}({}),nE=function(t){return t[t.TYPE_ARGUMENT_ERROR_KIND_UNKNOWN=0]="TYPE_ARGUMENT_ERROR_KIND_UNKNOWN",t[t.TYPE_NOT_FOUND=1]="TYPE_NOT_FOUND",t[t.CONSTRAINT_NOT_SATISFIED=2]="CONSTRAINT_NOT_SATISFIED",t}({}),rE=class extends R{constructor(){super("sui.rpc.v2.ExecutionStatus",[{no:1,name:"success",kind:"scalar",opt:!0,T:8},{no:2,name:"error",kind:"message",T:()=>iE}])}},ny=new rE,sE=class extends R{constructor(){super("sui.rpc.v2.ExecutionError",[{no:1,name:"description",kind:"scalar",opt:!0,T:9},{no:2,name:"command",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ExecutionError.ExecutionErrorKind",eE]},{no:4,name:"abort",kind:"message",oneof:"errorDetails",T:()=>aE},{no:5,name:"size_error",kind:"message",oneof:"errorDetails",T:()=>pE},{no:6,name:"command_argument_error",kind:"message",oneof:"errorDetails",T:()=>vE},{no:7,name:"type_argument_error",kind:"message",oneof:"errorDetails",T:()=>EE},{no:8,name:"package_upgrade_error",kind:"message",oneof:"errorDetails",T:()=>TE},{no:9,name:"index_error",kind:"message",oneof:"errorDetails",T:()=>ry},{no:10,name:"object_id",kind:"scalar",oneof:"errorDetails",T:9},{no:11,name:"coin_deny_list_error",kind:"message",oneof:"errorDetails",T:()=>gE},{no:12,name:"congested_objects",kind:"message",oneof:"errorDetails",T:()=>bE}])}},iE=new sE,oE=class extends R{constructor(){super("sui.rpc.v2.MoveAbort",[{no:1,name:"abort_code",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"location",kind:"message",T:()=>uE},{no:3,name:"clever_error",kind:"message",T:()=>dE}])}},aE=new oE,cE=class extends R{constructor(){super("sui.rpc.v2.MoveLocation",[{no:1,name:"package",kind:"scalar",opt:!0,T:9},{no:2,name:"module",kind:"scalar",opt:!0,T:9},{no:3,name:"function",kind:"scalar",opt:!0,T:13},{no:4,name:"instruction",kind:"scalar",opt:!0,T:13},{no:5,name:"function_name",kind:"scalar",opt:!0,T:9}])}},uE=new cE,lE=class extends R{constructor(){super("sui.rpc.v2.CleverError",[{no:1,name:"error_code",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"line_number",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"constant_name",kind:"scalar",opt:!0,T:9},{no:4,name:"constant_type",kind:"scalar",opt:!0,T:9},{no:5,name:"rendered",kind:"scalar",oneof:"value",T:9},{no:6,name:"raw",kind:"scalar",oneof:"value",T:12}])}},dE=new lE,fE=class extends R{constructor(){super("sui.rpc.v2.SizeError",[{no:1,name:"size",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"max_size",kind:"scalar",opt:!0,T:4,L:0}])}},pE=new fE,hE=class extends R{constructor(){super("sui.rpc.v2.IndexError",[{no:1,name:"index",kind:"scalar",opt:!0,T:13},{no:2,name:"subresult",kind:"scalar",opt:!0,T:13}])}},ry=new hE,mE=class extends R{constructor(){super("sui.rpc.v2.CoinDenyListError",[{no:1,name:"address",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9}])}},gE=new mE,yE=class extends R{constructor(){super("sui.rpc.v2.CongestedObjects",[{no:1,name:"objects",kind:"scalar",repeat:2,T:9}])}},bE=new yE,wE=class extends R{constructor(){super("sui.rpc.v2.CommandArgumentError",[{no:1,name:"argument",kind:"scalar",opt:!0,T:13},{no:2,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CommandArgumentError.CommandArgumentErrorKind",Qf]},{no:3,name:"index_error",kind:"message",T:()=>ry}])}},vE=new wE,_E=class extends R{constructor(){super("sui.rpc.v2.PackageUpgradeError",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.PackageUpgradeError.PackageUpgradeErrorKind",tE]},{no:2,name:"package_id",kind:"scalar",opt:!0,T:9},{no:3,name:"digest",kind:"scalar",opt:!0,T:9},{no:4,name:"policy",kind:"scalar",opt:!0,T:13},{no:5,name:"ticket_id",kind:"scalar",opt:!0,T:9}])}},TE=new _E,kE=class extends R{constructor(){super("sui.rpc.v2.TypeArgumentError",[{no:1,name:"type_argument",kind:"scalar",opt:!0,T:13},{no:2,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TypeArgumentError.TypeArgumentErrorKind",nE]}])}},EE=new kE;var SE=class extends R{constructor(){super("sui.rpc.v2.GasCostSummary",[{no:1,name:"computation_cost",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"storage_cost",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"storage_rebate",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"non_refundable_storage_fee",kind:"scalar",opt:!0,T:4,L:0}])}},Mu=new SE;var $a=function(t){return t[t.UNKNOWN=0]="UNKNOWN",t[t.DOES_NOT_EXIST=1]="DOES_NOT_EXIST",t[t.EXISTS=2]="EXISTS",t}({}),Bi=function(t){return t[t.UNKNOWN=0]="UNKNOWN",t[t.DOES_NOT_EXIST=1]="DOES_NOT_EXIST",t[t.OBJECT_WRITE=2]="OBJECT_WRITE",t[t.PACKAGE_WRITE=3]="PACKAGE_WRITE",t[t.ACCUMULATOR_WRITE=4]="ACCUMULATOR_WRITE",t}({}),Bo=function(t){return t[t.ID_OPERATION_UNKNOWN=0]="ID_OPERATION_UNKNOWN",t[t.NONE=1]="NONE",t[t.CREATED=2]="CREATED",t[t.DELETED=3]="DELETED",t}({}),xE=function(t){return t[t.ACCUMULATOR_OPERATION_UNKNOWN=0]="ACCUMULATOR_OPERATION_UNKNOWN",t[t.MERGE=1]="MERGE",t[t.SPLIT=2]="SPLIT",t}({}),Fs=function(t){return t[t.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN=0]="UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN",t[t.READ_ONLY_ROOT=1]="READ_ONLY_ROOT",t[t.MUTATE_CONSENSUS_STREAM_ENDED=2]="MUTATE_CONSENSUS_STREAM_ENDED",t[t.READ_CONSENSUS_STREAM_ENDED=3]="READ_CONSENSUS_STREAM_ENDED",t[t.CANCELED=4]="CANCELED",t[t.PER_EPOCH_CONFIG=5]="PER_EPOCH_CONFIG",t}({}),OE=class extends R{constructor(){super("sui.rpc.v2.TransactionEffects",[{no:1,name:"bcs",kind:"message",T:()=>Qe},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:5},{no:4,name:"status",kind:"message",T:()=>ny},{no:5,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"gas_used",kind:"message",T:()=>Mu},{no:7,name:"transaction_digest",kind:"scalar",opt:!0,T:9},{no:8,name:"gas_object",kind:"message",T:()=>sy},{no:9,name:"events_digest",kind:"scalar",opt:!0,T:9},{no:10,name:"dependencies",kind:"scalar",repeat:2,T:9},{no:11,name:"lamport_version",kind:"scalar",opt:!0,T:4,L:0},{no:12,name:"changed_objects",kind:"message",repeat:1,T:()=>sy},{no:13,name:"unchanged_consensus_objects",kind:"message",repeat:1,T:()=>RE},{no:14,name:"auxiliary_data_digest",kind:"scalar",opt:!0,T:9},{no:15,name:"unchanged_loaded_runtime_objects",kind:"message",repeat:1,T:()=>Bu}])}},ju=new OE,IE=class extends R{constructor(){super("sui.rpc.v2.ChangedObject",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"input_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.InputObjectState",$a,"INPUT_OBJECT_STATE_"]},{no:3,name:"input_version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"input_digest",kind:"scalar",opt:!0,T:9},{no:5,name:"input_owner",kind:"message",T:()=>La},{no:6,name:"output_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.OutputObjectState",Bi,"OUTPUT_OBJECT_STATE_"]},{no:7,name:"output_version",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"output_digest",kind:"scalar",opt:!0,T:9},{no:9,name:"output_owner",kind:"message",T:()=>La},{no:12,name:"accumulator_write",kind:"message",T:()=>CE},{no:10,name:"id_operation",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.IdOperation",Bo]},{no:11,name:"object_type",kind:"scalar",opt:!0,T:9}])}},sy=new IE,AE=class extends R{constructor(){super("sui.rpc.v2.AccumulatorWrite",[{no:1,name:"address",kind:"scalar",opt:!0,T:9},{no:2,name:"accumulator_type",kind:"scalar",opt:!0,T:9},{no:3,name:"operation",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.AccumulatorWrite.AccumulatorOperation",xE]},{no:5,name:"value",kind:"scalar",opt:!0,T:4,L:0}])}},CE=new AE,NE=class extends R{constructor(){super("sui.rpc.v2.UnchangedConsensusObject",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.UnchangedConsensusObject.UnchangedConsensusObjectKind",Fs]},{no:2,name:"object_id",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"digest",kind:"scalar",opt:!0,T:9},{no:5,name:"object_type",kind:"scalar",opt:!0,T:9}])}},RE=new NE;var Ga=function(t){return t[t.ED25519=0]="ED25519",t[t.SECP256K1=1]="SECP256K1",t[t.SECP256R1=2]="SECP256R1",t[t.MULTISIG=3]="MULTISIG",t[t.BLS12381=4]="BLS12381",t[t.ZKLOGIN=5]="ZKLOGIN",t[t.PASSKEY=6]="PASSKEY",t}({});var BE=class extends R{constructor(){super("sui.rpc.v2.UserSignature",[{no:1,name:"bcs",kind:"message",T:()=>Qe},{no:2,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",Ga]},{no:3,name:"simple",kind:"message",oneof:"signature",T:()=>ep},{no:4,name:"multisig",kind:"message",oneof:"signature",T:()=>$E},{no:5,name:"zklogin",kind:"message",oneof:"signature",T:()=>ay},{no:6,name:"passkey",kind:"message",oneof:"signature",T:()=>cy}])}},qs=new BE,ME=class extends R{constructor(){super("sui.rpc.v2.SimpleSignature",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",Ga]},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"public_key",kind:"scalar",opt:!0,T:12}])}},ep=new ME,jE=class extends R{constructor(){super("sui.rpc.v2.ZkLoginPublicIdentifier",[{no:1,name:"iss",kind:"scalar",opt:!0,T:9},{no:2,name:"address_seed",kind:"scalar",opt:!0,T:9}])}},oy=new jE,DE=class extends R{constructor(){super("sui.rpc.v2.MultisigMemberPublicKey",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",Ga]},{no:2,name:"public_key",kind:"scalar",opt:!0,T:12},{no:3,name:"zklogin",kind:"message",T:()=>oy}])}},UE=new DE,PE=class extends R{constructor(){super("sui.rpc.v2.MultisigMember",[{no:1,name:"public_key",kind:"message",T:()=>UE},{no:2,name:"weight",kind:"scalar",opt:!0,T:13}])}},LE=new PE,VE=class extends R{constructor(){super("sui.rpc.v2.MultisigCommittee",[{no:1,name:"members",kind:"message",repeat:1,T:()=>LE},{no:2,name:"threshold",kind:"scalar",opt:!0,T:13}])}},FE=new VE,qE=class extends R{constructor(){super("sui.rpc.v2.MultisigAggregatedSignature",[{no:1,name:"signatures",kind:"message",repeat:1,T:()=>HE},{no:2,name:"bitmap",kind:"scalar",opt:!0,T:13},{no:3,name:"legacy_bitmap",kind:"scalar",opt:!0,T:12},{no:4,name:"committee",kind:"message",T:()=>FE}])}},$E=new qE,GE=class extends R{constructor(){super("sui.rpc.v2.MultisigMemberSignature",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",Ga]},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"zklogin",kind:"message",T:()=>ay},{no:4,name:"passkey",kind:"message",T:()=>cy}])}},HE=new GE,zE=class extends R{constructor(){super("sui.rpc.v2.ZkLoginAuthenticator",[{no:1,name:"inputs",kind:"message",T:()=>ZE},{no:2,name:"max_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"signature",kind:"message",T:()=>ep},{no:4,name:"public_identifier",kind:"message",T:()=>oy},{no:5,name:"jwk_id",kind:"message",T:()=>Nu}])}},ay=new zE,WE=class extends R{constructor(){super("sui.rpc.v2.ZkLoginInputs",[{no:1,name:"proof_points",kind:"message",T:()=>KE},{no:2,name:"iss_base64_details",kind:"message",T:()=>XE},{no:3,name:"header_base64",kind:"scalar",opt:!0,T:9},{no:4,name:"address_seed",kind:"scalar",opt:!0,T:9}])}},ZE=new WE,JE=class extends R{constructor(){super("sui.rpc.v2.ZkLoginProof",[{no:1,name:"a",kind:"message",T:()=>iy},{no:2,name:"b",kind:"message",T:()=>tS},{no:3,name:"c",kind:"message",T:()=>iy}])}},KE=new JE,YE=class extends R{constructor(){super("sui.rpc.v2.ZkLoginClaim",[{no:1,name:"value",kind:"scalar",opt:!0,T:9},{no:2,name:"index_mod_4",kind:"scalar",opt:!0,T:13}])}},XE=new YE,QE=class extends R{constructor(){super("sui.rpc.v2.CircomG1",[{no:1,name:"e0",kind:"scalar",opt:!0,T:9},{no:2,name:"e1",kind:"scalar",opt:!0,T:9},{no:3,name:"e2",kind:"scalar",opt:!0,T:9}])}},iy=new QE,eS=class extends R{constructor(){super("sui.rpc.v2.CircomG2",[{no:1,name:"e00",kind:"scalar",opt:!0,T:9},{no:2,name:"e01",kind:"scalar",opt:!0,T:9},{no:3,name:"e10",kind:"scalar",opt:!0,T:9},{no:4,name:"e11",kind:"scalar",opt:!0,T:9},{no:5,name:"e20",kind:"scalar",opt:!0,T:9},{no:6,name:"e21",kind:"scalar",opt:!0,T:9}])}},tS=new eS,nS=class extends R{constructor(){super("sui.rpc.v2.PasskeyAuthenticator",[{no:1,name:"authenticator_data",kind:"scalar",opt:!0,T:12},{no:2,name:"client_data_json",kind:"scalar",opt:!0,T:9},{no:3,name:"signature",kind:"message",T:()=>ep}])}},cy=new nS,rS=class extends R{constructor(){super("sui.rpc.v2.ValidatorCommittee",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"members",kind:"message",repeat:1,T:()=>tp}])}},uy=new rS,sS=class extends R{constructor(){super("sui.rpc.v2.ValidatorCommitteeMember",[{no:1,name:"public_key",kind:"scalar",opt:!0,T:12},{no:2,name:"weight",kind:"scalar",opt:!0,T:4,L:0}])}},tp=new sS,iS=class extends R{constructor(){super("sui.rpc.v2.ValidatorAggregatedSignature",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"bitmap",kind:"scalar",opt:!0,T:12}])}},ly=new iS;var oS=class extends R{constructor(){super("sui.rpc.v2.BalanceChange",[{no:1,name:"address",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:3,name:"amount",kind:"scalar",opt:!0,T:9}])}},Du=new oS;var aS=class extends R{constructor(){super("sui.rpc.v2.TransactionEvents",[{no:1,name:"bcs",kind:"message",T:()=>Qe},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"events",kind:"message",repeat:1,T:()=>uS}])}},dy=new aS,cS=class extends R{constructor(){super("sui.rpc.v2.Event",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"module",kind:"scalar",opt:!0,T:9},{no:3,name:"sender",kind:"scalar",opt:!0,T:9},{no:4,name:"event_type",kind:"scalar",opt:!0,T:9},{no:5,name:"contents",kind:"message",T:()=>Qe},{no:6,name:"json",kind:"message",T:()=>et}])}},uS=new cS;var lS=class extends R{constructor(){super("sui.rpc.v2.ExecutedTransaction",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"transaction",kind:"message",T:()=>Ur},{no:3,name:"signatures",kind:"message",repeat:1,T:()=>qs},{no:4,name:"effects",kind:"message",T:()=>ju},{no:5,name:"events",kind:"message",T:()=>dy},{no:6,name:"checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"timestamp",kind:"message",T:()=>gn},{no:8,name:"balance_changes",kind:"message",repeat:1,T:()=>Du},{no:9,name:"objects",kind:"message",T:()=>Ru}])}},$s=new lS;var dS=class extends R{constructor(){super("google.protobuf.FieldMask",[{no:1,name:"paths",kind:"scalar",repeat:2,T:9}])}internalJsonWrite(t,e){let n=/[A-Z]|(_([.0-9_]|$))/g;return t.paths.map(r=>{if(n.test(r))throw new Error('Unable to encode FieldMask to JSON. lowerCamelCase of path name "'+r+'" is irreversible.');return Ls(r)}).join(",")}internalJsonRead(t,e,n){if(typeof t!="string")throw new Error("Unable to parse FieldMask from JSON "+an(t)+". Expected string.");if(n||(n=this.create()),t==="")return n;let r=s=>{if(s.includes("_"))throw new Error("Unable to parse FieldMask from JSON. Path names must be lowerCamelCase.");return s.replace(/[A-Z]/g,i=>"_"+i.toLowerCase())};return n.paths=t.split(",").map(r),n}},xn=new dS;function fy(t,e){var n,r,s;let i=t;return i.service=e,i.localName=(n=i.localName)!==null&&n!==void 0?n:Ls(i.name),i.serverStreaming=!!i.serverStreaming,i.clientStreaming=!!i.clientStreaming,i.options=(r=i.options)!==null&&r!==void 0?r:{},i.idempotency=(s=i.idempotency)!==null&&s!==void 0?s:void 0,i}var cn=class{constructor(e,n,r){this.typeName=e,this.methods=n.map(s=>fy(s,this)),this.options=r??{}}};var Ue=class extends Error{constructor(e,n="UNKNOWN",r){super(e),this.name="RpcError",Object.setPrototypeOf(this,new.target.prototype),this.code=n,this.meta=r??{}}toString(){let e=[this.name+": "+this.message];this.code&&(e.push(""),e.push("Code: "+this.code)),this.serviceName&&this.methodName&&e.push("Method: "+this.serviceName+"/"+this.methodName);let n=Object.entries(this.meta);if(n.length){e.push(""),e.push("Meta:");for(let[r,s]of n)e.push(` ${r}: ${s}`)}return e.join(`
9
- `)}};function np(t,e){if(!e)return t;let n={};Uu(t,n),Uu(e,n);for(let r of Object.keys(e)){let s=e[r];switch(r){case"jsonOptions":n.jsonOptions=Wf(t.jsonOptions,n.jsonOptions);break;case"binaryOptions":n.binaryOptions=Vf(t.binaryOptions,n.binaryOptions);break;case"meta":n.meta={},Uu(t.meta,n.meta),Uu(e.meta,n.meta);break;case"interceptors":n.interceptors=t.interceptors?t.interceptors.concat(s):s.concat();break}}return n}function Uu(t,e){if(!t)return;let n=e;for(let[r,s]of Object.entries(t))s instanceof Date?n[r]=new Date(s.getTime()):Array.isArray(s)?n[r]=s.concat():n[r]=s}var Dn;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(Dn||(Dn={}));var zn=class{constructor(e=!0){this._state=Dn.PENDING,this._promise=new Promise((n,r)=>{this._resolve=n,this._reject=r}),e&&this._promise.catch(n=>{})}get state(){return this._state}get promise(){return this._promise}resolve(e){if(this.state!==Dn.PENDING)throw new Error(`cannot resolve ${Dn[this.state].toLowerCase()}`);this._resolve(e),this._state=Dn.RESOLVED}reject(e){if(this.state!==Dn.PENDING)throw new Error(`cannot reject ${Dn[this.state].toLowerCase()}`);this._reject(e),this._state=Dn.REJECTED}resolvePending(e){this._state===Dn.PENDING&&this.resolve(e)}rejectPending(e){this._state===Dn.PENDING&&this.reject(e)}};var Ha=class{constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(e){return this.addLis(e,this._lis.nxt)}onMessage(e){return this.addLis(e,this._lis.msg)}onError(e){return this.addLis(e,this._lis.err)}onComplete(e){return this.addLis(e,this._lis.cmp)}addLis(e,n){return n.push(e),()=>{let r=n.indexOf(e);r>=0&&n.splice(r,1)}}clearLis(){for(let e of Object.values(this._lis))e.splice(0,e.length)}get closed(){return this._closed!==!1}notifyNext(e,n,r){Se((e?1:0)+(n?1:0)+(r?1:0)<=1,"only one emission at a time"),e&&this.notifyMessage(e),n&&this.notifyError(n),r&&this.notifyComplete()}notifyMessage(e){Se(!this.closed,"stream is closed"),this.pushIt({value:e,done:!1}),this._lis.msg.forEach(n=>n(e)),this._lis.nxt.forEach(n=>n(e,void 0,!1))}notifyError(e){Se(!this.closed,"stream is closed"),this._closed=e,this.pushIt(e),this._lis.err.forEach(n=>n(e)),this._lis.nxt.forEach(n=>n(void 0,e,!1)),this.clearLis()}notifyComplete(){Se(!this.closed,"stream is closed"),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(e=>e()),this._lis.nxt.forEach(e=>e(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:()=>{let e=this._itState;Se(e,"bad state"),Se(!e.p,"iterator contract broken");let n=e.q.shift();return n?"value"in n?Promise.resolve(n):Promise.reject(n):(e.p=new zn,e.p.promise)}}}pushIt(e){let n=this._itState;if(n.p){let r=n.p;Se(r.state==Dn.PENDING,"iterator contract broken"),"value"in e?r.resolve(e):r.reject(e),delete n.p}else n.q.push(e)}};var fS=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function a(d){try{u(r.next(d))}catch(f){o(f)}}function c(d){try{u(r.throw(d))}catch(f){o(f)}}function u(d){d.done?i(d.value):s(d.value).then(a,c)}u((r=r.apply(t,e||[])).next())})},za=class{constructor(e,n,r,s,i,o,a){this.method=e,this.requestHeaders=n,this.request=r,this.headers=s,this.response=i,this.status=o,this.trailers=a}then(e,n){return this.promiseFinished().then(r=>e?Promise.resolve(e(r)):r,r=>n?Promise.resolve(n(r)):Promise.reject(r))}promiseFinished(){return fS(this,void 0,void 0,function*(){let[e,n,r,s]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,response:n,status:r,trailers:s}})}};var pS=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function a(d){try{u(r.next(d))}catch(f){o(f)}}function c(d){try{u(r.throw(d))}catch(f){o(f)}}function u(d){d.done?i(d.value):s(d.value).then(a,c)}u((r=r.apply(t,e||[])).next())})},Wa=class{constructor(e,n,r,s,i,o,a){this.method=e,this.requestHeaders=n,this.request=r,this.headers=s,this.responses=i,this.status=o,this.trailers=a}then(e,n){return this.promiseFinished().then(r=>e?Promise.resolve(e(r)):r,r=>n?Promise.resolve(n(r)):Promise.reject(r))}promiseFinished(){return pS(this,void 0,void 0,function*(){let[e,n,r]=yield Promise.all([this.headers,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,status:n,trailers:r}})}};function Ve(t,e,n,r,s){var i,o,a,c;if(t=="unary"){let u=(d,f,p)=>e.unary(d,f,p);for(let d of((i=r.interceptors)!==null&&i!==void 0?i:[]).filter(f=>f.interceptUnary).reverse()){let f=u;u=(p,m,b)=>d.interceptUnary(f,p,m,b)}return u(n,s,r)}if(t=="serverStreaming"){let u=(d,f,p)=>e.serverStreaming(d,f,p);for(let d of((o=r.interceptors)!==null&&o!==void 0?o:[]).filter(f=>f.interceptServerStreaming).reverse()){let f=u;u=(p,m,b)=>d.interceptServerStreaming(f,p,m,b)}return u(n,s,r)}if(t=="clientStreaming"){let u=(d,f)=>e.clientStreaming(d,f);for(let d of((a=r.interceptors)!==null&&a!==void 0?a:[]).filter(f=>f.interceptClientStreaming).reverse()){let f=u;u=(p,m)=>d.interceptClientStreaming(f,p,m)}return u(n,r)}if(t=="duplex"){let u=(d,f)=>e.duplex(d,f);for(let d of((c=r.interceptors)!==null&&c!==void 0?c:[]).filter(f=>f.interceptDuplex).reverse()){let f=u;u=(p,m)=>d.interceptDuplex(f,p,m)}return u(n,r)}Gf(t)}var Pu=function(t){return t[t.ENABLED=0]="ENABLED",t[t.DISABLED=1]="DISABLED",t}({}),hS=class extends R{constructor(){super("sui.rpc.v2.ExecuteTransactionRequest",[{no:1,name:"transaction",kind:"message",T:()=>Ur},{no:2,name:"signatures",kind:"message",repeat:1,T:()=>qs},{no:3,name:"read_mask",kind:"message",T:()=>xn}])}},mS=new hS,gS=class extends R{constructor(){super("sui.rpc.v2.ExecuteTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>$s}])}},yS=new gS,bS=class extends R{constructor(){super("sui.rpc.v2.SimulateTransactionRequest",[{no:1,name:"transaction",kind:"message",T:()=>Ur},{no:2,name:"read_mask",kind:"message",T:()=>xn},{no:3,name:"checks",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SimulateTransactionRequest.TransactionChecks",Pu]},{no:4,name:"do_gas_selection",kind:"scalar",opt:!0,T:8}])}},wS=new bS,vS=class extends R{constructor(){super("sui.rpc.v2.SimulateTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>$s},{no:2,name:"command_outputs",kind:"message",repeat:1,T:()=>kS},{no:3,name:"suggested_gas_price",kind:"scalar",opt:!0,T:4,L:0}])}},_S=new vS,TS=class extends R{constructor(){super("sui.rpc.v2.CommandResult",[{no:1,name:"return_values",kind:"message",repeat:1,T:()=>py},{no:2,name:"mutated_by_ref",kind:"message",repeat:1,T:()=>py}])}},kS=new TS,ES=class extends R{constructor(){super("sui.rpc.v2.CommandOutput",[{no:1,name:"argument",kind:"message",T:()=>er},{no:2,name:"value",kind:"message",T:()=>Qe},{no:3,name:"json",kind:"message",T:()=>et}])}},py=new ES,Lu=new cn("sui.rpc.v2.TransactionExecutionService",[{name:"ExecuteTransaction",options:{},I:mS,O:yS},{name:"SimulateTransaction",options:{},I:wS,O:_S}]);var wy=class extends Oo{#e;constructor({client:t,...e}){super(e),this.#e=t}async getObjects(t){let e=Yn(t.objectIds,50),n=[],r=["owner","object_type","digest","version","object_id"];t.include?.content&&r.push("contents"),t.include?.previousTransaction&&r.push("previous_transaction"),t.include?.objectBcs&&r.push("bcs"),t.include?.json&&r.push("json"),t.include?.display&&r.push("display");for(let s of e){let i=await this.#e.ledgerService.batchGetObjects({requests:s.map(o=>({objectId:o})),readMask:{paths:r}});n.push(...i.response.objects.map(o=>{if(o.result.oneofKind==="error")return new Error(o.result.error.message);if(o.result.oneofKind!=="object")return new Error("Unexpected result type");let a=o.result.object.contents?.value??void 0,c=o.result.object.bcs?.value??void 0,u=o.result.object.objectType,d=u&&u.includes("::")?ye(u):u??"",f=t.include?.json?o.result.object.json?et.toJson(o.result.object.json):null:void 0,p=hy(t.include?.display,o.result.object.display);return{objectId:o.result.object.objectId,version:o.result.object.version?.toString(),digest:o.result.object.digest,content:a,owner:ji(o.result.object.owner),type:d,previousTransaction:o.result.object.previousTransaction??void 0,objectBcs:c,json:f,display:p}}))}return{objects:n}}async listOwnedObjects(t){let e=["owner","object_type","digest","version","object_id"];t.include?.content&&e.push("contents"),t.include?.previousTransaction&&e.push("previous_transaction"),t.include?.objectBcs&&e.push("bcs"),t.include?.json&&e.push("json"),t.include?.display&&e.push("display");let n=await this.#e.stateService.listOwnedObjects({owner:t.owner,objectType:t.type?(await this.mvr.resolveType({type:t.type})).type:void 0,pageToken:t.cursor?ce(t.cursor):void 0,pageSize:t.limit,readMask:{paths:e}});return{objects:n.response.objects.map(r=>({objectId:r.objectId,version:r.version?.toString(),digest:r.digest,content:r.contents?.value,owner:ji(r.owner),type:r.objectType,previousTransaction:r.previousTransaction??void 0,objectBcs:r.bcs?.value,json:t.include?.json?r.json?et.toJson(r.json):null:void 0,display:hy(t.include?.display,r.display)})),cursor:n.response.nextPageToken?ge(n.response.nextPageToken):null,hasNextPage:n.response.nextPageToken!==void 0}}async listCoins(t){let e=["owner","object_type","digest","version","object_id","balance"],n=t.coinType??Qn,r=await this.#e.stateService.listOwnedObjects({owner:t.owner,objectType:`0x2::coin::Coin<${(await this.mvr.resolveType({type:n})).type}>`,pageToken:t.cursor?ce(t.cursor):void 0,readMask:{paths:e}});return{objects:r.response.objects.map(s=>({objectId:s.objectId,version:s.version?.toString(),digest:s.digest,owner:ji(s.owner),type:s.objectType,balance:s.balance?.toString()})),cursor:r.response.nextPageToken?ge(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}async getBalance(t){let e=t.coinType??Qn,n=await this.#e.stateService.getBalance({owner:t.owner,coinType:(await this.mvr.resolveType({type:e})).type});return{balance:{balance:n.response.balance?.balance?.toString()??"0",coinType:n.response.balance?.coinType??e,coinBalance:n.response.balance?.coinBalance?.toString()??"0",addressBalance:n.response.balance?.addressBalance?.toString()??"0"}}}async getCoinMetadata(t){let e=(await this.mvr.resolveType({type:t.coinType})).type,n;try{({response:n}=await this.#e.stateService.getCoinInfo({coinType:e}))}catch{return{coinMetadata:null}}return n.metadata?{coinMetadata:{id:n.metadata.id??null,decimals:n.metadata.decimals??0,name:n.metadata.name??"",symbol:n.metadata.symbol??"",description:n.metadata.description??"",iconUrl:n.metadata.iconUrl??null}}:{coinMetadata:null}}async listBalances(t){let e=await this.#e.stateService.listBalances({owner:t.owner,pageToken:t.cursor?ce(t.cursor):void 0,pageSize:t.limit});return{hasNextPage:!!e.response.nextPageToken,cursor:e.response.nextPageToken?ge(e.response.nextPageToken):null,balances:e.response.balances.map(n=>({balance:n.balance?.toString()??"0",coinType:n.coinType,coinBalance:n.coinBalance?.toString()??"0",addressBalance:n.addressBalance?.toString()??"0"}))}}async getTransaction(t){let e=["digest","transaction.digest","signatures","effects.status"];t.include?.transaction&&e.push("transaction.sender","transaction.gas_payment","transaction.expiration","transaction.kind"),t.include?.bcs&&e.push("transaction.bcs"),t.include?.balanceChanges&&e.push("balance_changes"),t.include?.effects&&e.push("effects"),t.include?.events&&e.push("events"),t.include?.objectTypes&&(e.push("effects.changed_objects.object_type"),e.push("effects.changed_objects.object_id"));let{response:n}=await this.#e.ledgerService.getTransaction({digest:t.digest,readMask:{paths:e}});if(!n.transaction)throw new Error(`Transaction ${t.digest} not found`);return rp(n.transaction,t.include)}async executeTransaction(t){let e=["digest","transaction.digest","signatures","effects.status"];t.include?.transaction&&e.push("transaction.sender","transaction.gas_payment","transaction.expiration","transaction.kind"),t.include?.bcs&&e.push("transaction.bcs"),t.include?.balanceChanges&&e.push("balance_changes"),t.include?.effects&&e.push("effects"),t.include?.events&&e.push("events"),t.include?.objectTypes&&(e.push("effects.changed_objects.object_type"),e.push("effects.changed_objects.object_id"));let{response:n}=await this.#e.transactionExecutionService.executeTransaction({transaction:{bcs:{value:t.transaction}},signatures:t.signatures.map(r=>({bcs:{value:ce(r)},signature:{oneofKind:void 0}})),readMask:{paths:e}});return rp(n.transaction,t.include)}async simulateTransaction(t){let e=["transaction.digest","transaction.transaction.digest","transaction.signatures","transaction.effects.status"];t.include?.transaction&&e.push("transaction.transaction.sender","transaction.transaction.gas_payment","transaction.transaction.expiration","transaction.transaction.kind"),t.include?.bcs&&e.push("transaction.transaction.bcs"),t.include?.balanceChanges&&e.push("transaction.balance_changes"),t.include?.effects&&e.push("transaction.effects"),t.include?.events&&e.push("transaction.events"),t.include?.objectTypes&&(e.push("transaction.effects.changed_objects.object_type"),e.push("transaction.effects.changed_objects.object_id")),t.include?.commandResults&&e.push("command_outputs"),t.transaction instanceof Uint8Array||await t.transaction.prepareForSerialization({client:this});let{response:n}=await this.#e.transactionExecutionService.simulateTransaction({transaction:t.transaction instanceof Uint8Array?{bcs:{value:t.transaction}}:Xf(t.transaction),readMask:{paths:e},doGasSelection:!1,checks:t.checksEnabled===!1?Pu.DISABLED:Pu.ENABLED}),r=rp(n.transaction,t.include),s=t.include?.commandResults&&n.commandOutputs?n.commandOutputs.map(i=>({returnValues:(i.returnValues??[]).map(o=>({bcs:o.value?.value??null})),mutatedReferences:(i.mutatedByRef??[]).map(o=>({bcs:o.value?.value??null}))})):void 0;return r.$kind==="Transaction"?{$kind:"Transaction",Transaction:r.Transaction,commandResults:s}:{$kind:"FailedTransaction",FailedTransaction:r.FailedTransaction,commandResults:s}}async getReferenceGasPrice(){return{referenceGasPrice:(await this.#e.ledgerService.getEpoch({readMask:{paths:["reference_gas_price"]}})).response.epoch?.referenceGasPrice?.toString()??""}}async getProtocolConfig(){let t=(await this.#e.ledgerService.getEpoch({readMask:{paths:["protocol_config"]}})).response.epoch?.protocolConfig;if(!t)throw new Error("Protocol config not found in response");let e={...t.featureFlags},n={};if(t.attributes)for(let[r,s]of Object.entries(t.attributes))n[r]=s??null;return{protocolConfig:{protocolVersion:t.protocolVersion?.toString()??null,featureFlags:e,attributes:n}}}async getCurrentSystemState(){let t=(await this.#e.ledgerService.getEpoch({readMask:{paths:["system_state.version","system_state.epoch","system_state.protocol_version","system_state.reference_gas_price","system_state.epoch_start_timestamp_ms","system_state.safe_mode","system_state.safe_mode_storage_rewards","system_state.safe_mode_computation_rewards","system_state.safe_mode_storage_rebates","system_state.safe_mode_non_refundable_storage_fee","system_state.parameters","system_state.storage_fund","system_state.stake_subsidy"]}})).response.epoch,e=t?.systemState;if(!e)throw new Error("System state not found in response");let n=t?.start?.seconds?Number(t.start.seconds)*1e3+Math.floor((t.start.nanos||0)/1e6):e.epochStartTimestampMs?Number(e.epochStartTimestampMs):null;return{systemState:{systemStateVersion:e.version?.toString()??null,epoch:e.epoch?.toString()??null,protocolVersion:e.protocolVersion?.toString()??null,referenceGasPrice:e.referenceGasPrice?.toString()??null,epochStartTimestampMs:n.toString(),safeMode:e.safeMode??!1,safeModeStorageRewards:e.safeModeStorageRewards?.toString()??null,safeModeComputationRewards:e.safeModeComputationRewards?.toString()??null,safeModeStorageRebates:e.safeModeStorageRebates?.toString()??null,safeModeNonRefundableStorageFee:e.safeModeNonRefundableStorageFee?.toString()??null,parameters:{epochDurationMs:e.parameters?.epochDurationMs?.toString()??null,stakeSubsidyStartEpoch:e.parameters?.stakeSubsidyStartEpoch?.toString()??null,maxValidatorCount:e.parameters?.maxValidatorCount?.toString()??null,minValidatorJoiningStake:e.parameters?.minValidatorJoiningStake?.toString()??null,validatorLowStakeThreshold:e.parameters?.validatorLowStakeThreshold?.toString()??null,validatorLowStakeGracePeriod:e.parameters?.validatorLowStakeGracePeriod?.toString()??null},storageFund:{totalObjectStorageRebates:e.storageFund?.totalObjectStorageRebates?.toString()??null,nonRefundableBalance:e.storageFund?.nonRefundableBalance?.toString()??null},stakeSubsidy:{balance:e.stakeSubsidy?.balance?.toString()??null,distributionCounter:e.stakeSubsidy?.distributionCounter?.toString()??null,currentDistributionAmount:e.stakeSubsidy?.currentDistributionAmount?.toString()??null,stakeSubsidyPeriodLength:e.stakeSubsidy?.stakeSubsidyPeriodLength?.toString()??null,stakeSubsidyDecreaseRate:e.stakeSubsidy?.stakeSubsidyDecreaseRate??null}}}}async listDynamicFields(t){return this.#e.listDynamicFields(t)}async verifyZkLoginSignature(t){let e=ce(t.bytes),n=t.intentScope==="PersonalMessage"?A.byteVector().serialize(e).toBytes():e,{response:r}=await this.#e.signatureVerificationService.verifySignature({message:{name:t.intentScope,value:n},signature:{bcs:{value:ce(t.signature)},signature:{oneofKind:void 0}},address:t.address,jwks:[]});return{success:r.isValid??!1,errors:r.reason?[r.reason]:[]}}async defaultNameServiceName(t){return{data:{name:(await this.#e.nameService.reverseLookupName({address:t.address})).response.record?.name??null}}}async getMoveFunction(t){let e=(await this.mvr.resolvePackage({package:t.packageId})).package,{response:n}=await this.#e.movePackageService.getFunction({packageId:e,moduleName:t.moduleName,name:t.name}),r="unknown";switch(n.function?.visibility){case Pa.PUBLIC:r="public";break;case Pa.PRIVATE:r="private";break;case Pa.FRIEND:r="friend";break}return{function:{packageId:Q(e),moduleName:t.moduleName,name:n.function?.name,visibility:r,isEntry:n.function?.isEntry??!1,typeParameters:n.function?.typeParameters?.map(({constraints:s})=>({isPhantom:!1,constraints:s.map(i=>{switch(i){case Ni.COPY:return"copy";case Ni.DROP:return"drop";case Ni.STORE:return"store";case Ni.KEY:return"key";default:return"unknown"}})??[]}))??[],parameters:n.function?.parameters?.map(s=>by(s))??[],returns:n.function?.returns?.map(s=>by(s))??[]}}}async getChainIdentifier(t){return this.cache.read(["chainIdentifier"],async()=>{let{response:e}=await this.#e.ledgerService.getServiceInfo({});if(!e.chainId)throw new Error("Chain identifier not found in service info");return{chainIdentifier:e.chainId}})}resolveTransactionPlugin(){let t=this.#e;return async function(n,r,s){let i=n.snapshot();i.sender||(i.sender="0x0000000000000000000000000000000000000000000000000000000000000000");let o=Fa(i),a;try{a=(await t.transactionExecutionService.simulateTransaction({transaction:o,doGasSelection:!r.onlyTransactionKind&&(i.gasData.budget==null||i.gasData.payment==null),readMask:{paths:["transaction.transaction.sender","transaction.transaction.gas_payment","transaction.transaction.expiration","transaction.transaction.kind","transaction.effects.status"]}})).response}catch(c){throw c instanceof Error&&c.message?new Ii(decodeURIComponent(c.message),{cause:c}):c}if(!r.onlyTransactionKind&&a.transaction?.effects?.status&&!a.transaction.effects.status.success){let c=a.transaction.effects.status.error?ip(a.transaction.effects.status.error):void 0;throw new Ii(`Transaction resolution failed: ${c?.message??"Transaction failed"}`,{executionError:c})}if(!a.transaction?.transaction)throw new Error("simulateTransaction did not return resolved transaction data");return ey(n,a.transaction.transaction,r),await s()}}};function hy(t,e){if(t)return e===void 0?null:{output:e.output!==void 0?et.toJson(e.output):null,errors:e.errors!==void 0?et.toJson(e.errors):null}}function ji(t){if(!t)return null;if(t.kind===Ri.IMMUTABLE)return{$kind:"Immutable",Immutable:!0};if(t.kind===Ri.ADDRESS)return{AddressOwner:t.address,$kind:"AddressOwner"};if(t.kind===Ri.OBJECT)return{$kind:"ObjectOwner",ObjectOwner:t.address};if(t.kind===Ri.SHARED)return{$kind:"Shared",Shared:{initialSharedVersion:t.version?.toString()}};if(t.kind===Ri.CONSENSUS_ADDRESS)return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{startVersion:t.version?.toString(),owner:t.address}};throw new Error(`Unknown owner kind ${JSON.stringify(t,(e,n)=>typeof n=="bigint"?n.toString():n)}`)}function ip(t){let e=t.description??"Unknown error",n=t.command!=null?Number(t.command):void 0,r=t.errorDetails;switch(r?.oneofKind){case"abort":{let s=r.abort,i=s.cleverError;return{$kind:"MoveAbort",message:Oi({command:n,location:s.location,abortCode:String(s.abortCode??0n),cleverError:i?{lineNumber:i.lineNumber!=null?Number(i.lineNumber):void 0,constantName:i.constantName,value:i.value?.oneofKind==="rendered"?i.value.rendered:void 0}:void 0}),command:n,MoveAbort:SS(s)}}case"sizeError":return{$kind:"SizeError",message:e,command:n,SizeError:{name:Mi(t.kind),size:Number(r.sizeError.size??0n),maxSize:Number(r.sizeError.maxSize??0n)}};case"commandArgumentError":return{$kind:"CommandArgumentError",message:e,command:n,CommandArgumentError:{argument:r.commandArgumentError.argument??0,name:Mi(r.commandArgumentError.kind)}};case"typeArgumentError":return{$kind:"TypeArgumentError",message:e,command:n,TypeArgumentError:{typeArgument:r.typeArgumentError.typeArgument??0,name:Mi(r.typeArgumentError.kind)}};case"packageUpgradeError":return{$kind:"PackageUpgradeError",message:e,command:n,PackageUpgradeError:{name:Mi(r.packageUpgradeError.kind),packageId:r.packageUpgradeError.packageId,digest:r.packageUpgradeError.digest}};case"indexError":return{$kind:"IndexError",message:e,command:n,IndexError:{index:r.indexError.index,subresult:r.indexError.subresult}};case"coinDenyListError":return{$kind:"CoinDenyListError",message:e,command:n,CoinDenyListError:{name:Mi(t.kind),coinType:r.coinDenyListError.coinType,address:r.coinDenyListError.address}};case"congestedObjects":return{$kind:"CongestedObjects",message:e,command:n,CongestedObjects:{name:Mi(t.kind),objects:r.congestedObjects.objects}};case"objectId":return{$kind:"ObjectIdError",message:e,command:n,ObjectIdError:{name:Mi(t.kind),objectId:r.objectId}};default:return{$kind:"Unknown",message:e,command:n,Unknown:null}}}function SS(t){return{abortCode:String(t.abortCode??0n),location:{...t.location},cleverError:t.cleverError?{errorCode:t.cleverError.errorCode!=null?Number(t.cleverError.errorCode):void 0,lineNumber:t.cleverError.lineNumber!=null?Number(t.cleverError.lineNumber):void 0,constantName:t.cleverError.constantName,constantType:t.cleverError.constantType,value:t.cleverError.value?.oneofKind==="rendered"?t.cleverError.value.rendered:t.cleverError.value?.oneofKind==="raw"?ge(t.cleverError.value.raw):void 0}:void 0}}function Mi(t){if(t==null)return"Unknown";let e=Qf[t];return!e||e.endsWith("_UNKNOWN")?"Unknown":e.split("_").map(n=>n.charAt(0)+n.slice(1).toLowerCase()).join("")}function my(t){if(t==null)return null;switch(t){case Bo.CREATED:return"Created";case Bo.DELETED:return"Deleted";case Bo.NONE:case Bo.ID_OPERATION_UNKNOWN:return"None";default:return"Unknown"}}function gy(t){if(t==null)return null;switch(t){case $a.EXISTS:return"Exists";case $a.DOES_NOT_EXIST:return"DoesNotExist";case $a.UNKNOWN:return"Unknown";default:return"Unknown"}}function yy(t){if(t==null)return null;switch(t){case Bi.OBJECT_WRITE:return"ObjectWrite";case Bi.PACKAGE_WRITE:return"PackageWrite";case Bi.DOES_NOT_EXIST:return"DoesNotExist";case Bi.ACCUMULATOR_WRITE:return"AccumulatorWriteV1";case Bi.UNKNOWN:return"Unknown";default:return"Unknown"}}function xS(t){if(t==null)return null;switch(t){case Fs.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:return"Unknown";case Fs.READ_ONLY_ROOT:return"ReadOnlyRoot";case Fs.MUTATE_CONSENSUS_STREAM_ENDED:return"MutateConsensusStreamEnded";case Fs.READ_CONSENSUS_STREAM_ENDED:return"ReadConsensusStreamEnded";case Fs.CANCELED:return"Cancelled";case Fs.PER_EPOCH_CONFIG:return"PerEpochConfig";default:return"Unknown"}}function OS({effects:t}){if(!t)return null;let e=t.changedObjects.map(n=>({objectId:n.objectId,inputState:gy(n.inputState),inputVersion:n.inputVersion?.toString()??null,inputDigest:n.inputDigest??null,inputOwner:ji(n.inputOwner),outputState:yy(n.outputState),outputVersion:n.outputVersion?.toString()??null,outputDigest:n.outputDigest??null,outputOwner:ji(n.outputOwner),idOperation:my(n.idOperation)}));return{bcs:t.bcs?.value,version:2,status:t.status?.success?{success:!0,error:null}:{success:!1,error:ip(t.status.error)},gasUsed:{computationCost:t.gasUsed?.computationCost?.toString(),storageCost:t.gasUsed?.storageCost?.toString(),storageRebate:t.gasUsed?.storageRebate?.toString(),nonRefundableStorageFee:t.gasUsed?.nonRefundableStorageFee?.toString()},transactionDigest:t.transactionDigest,gasObject:{objectId:t.gasObject?.objectId,inputState:gy(t.gasObject?.inputState),inputVersion:t.gasObject?.inputVersion?.toString()??null,inputDigest:t.gasObject?.inputDigest??null,inputOwner:ji(t.gasObject?.inputOwner),outputState:yy(t.gasObject?.outputState),outputVersion:t.gasObject?.outputVersion?.toString()??null,outputDigest:t.gasObject?.outputDigest??null,outputOwner:ji(t.gasObject?.outputOwner),idOperation:my(t.gasObject?.idOperation)},eventsDigest:t.eventsDigest??null,dependencies:t.dependencies,lamportVersion:t.lamportVersion?.toString()??null,changedObjects:e,unchangedConsensusObjects:t.unchangedConsensusObjects.map(n=>({kind:xS(n.kind),objectId:n.objectId,version:n.version?.toString()??null,digest:n.digest??null})),auxiliaryDataDigest:t.auxiliaryDataDigest??null}}function rp(t,e){let n={};e?.objectTypes&&t.effects?.changedObjects?.forEach(c=>{c.objectId&&c.objectType&&(n[c.objectId]=c.objectType)});let r;if(e?.transaction){let c=t.transaction;if(!c)throw new Error("Transaction data is required but missing from gRPC response");let u=qa(c);r={gasData:u.gasData,sender:u.sender,expiration:u.expiration,commands:u.commands,inputs:u.inputs,version:u.version}}let s=e?.bcs?t.transaction?.bcs?.value:void 0,i=e?.effects?OS({effects:t.effects}):void 0,o=t.effects?.status?.success?{success:!0,error:null}:{success:!1,error:t.effects?.status?.error?ip(t.effects.status.error):{$kind:"Unknown",message:"Transaction failed",Unknown:null}},a={digest:t.digest,epoch:t.effects?.epoch?.toString()??null,status:o,effects:i,objectTypes:e?.objectTypes?n:void 0,transaction:r,bcs:s,signatures:t.signatures?.map(c=>ge(c.bcs?.value))??[],balanceChanges:e?.balanceChanges?t.balanceChanges?.map(c=>({coinType:c.coinType,address:c.address,amount:c.amount}))??[]:void 0,events:e?.events?t.events?.events.map(c=>({packageId:Q(c.packageId),module:c.module,sender:Q(c.sender),eventType:c.eventType,bcs:c.contents?.value??new Uint8Array,json:c.json?et.toJson(c.json):null}))??[]:void 0};return o.success?{$kind:"Transaction",Transaction:a}:{$kind:"FailedTransaction",FailedTransaction:a}}function by(t){let e=null;return t.reference===Au.IMMUTABLE?e="immutable":t.reference===Au.MUTABLE&&(e="mutable"),{reference:e,body:sp(t.body)}}function sp(t){switch(t.type){case jn.TYPE_UNKNOWN:return{$kind:"unknown"};case jn.ADDRESS:return{$kind:"address"};case jn.BOOL:return{$kind:"bool"};case jn.U8:return{$kind:"u8"};case jn.U16:return{$kind:"u16"};case jn.U32:return{$kind:"u32"};case jn.U64:return{$kind:"u64"};case jn.U128:return{$kind:"u128"};case jn.U256:return{$kind:"u256"};case jn.VECTOR:return{$kind:"vector",vector:sp(t.typeParameterInstantiation[0])};case jn.DATATYPE:return{$kind:"datatype",datatype:{typeName:t.typeName,typeParameters:t.typeParameterInstantiation.map(e=>sp(e))}};case jn.TYPE_PARAMETER:return{$kind:"typeParameter",index:t.typeParameter};default:return{$kind:"unknown"}}}var vy=class{constructor(t){this._transport=t,this.typeName=Lu.typeName,this.methods=Lu.methods,this.options=Lu.options}executeTransaction(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}simulateTransaction(t,e){let n=this.methods[1],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}};var IS=class extends R{constructor(){super("sui.rpc.v2.ProtocolConfig",[{no:1,name:"protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"feature_flags",kind:"map",K:9,V:{kind:"scalar",T:8}},{no:3,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}}])}},_y=new IS;var AS=class extends R{constructor(){super("sui.rpc.v2.SystemState",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"validators",kind:"message",T:()=>VS},{no:5,name:"storage_fund",kind:"message",T:()=>PS},{no:6,name:"parameters",kind:"message",T:()=>BS},{no:7,name:"reference_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"validator_report_records",kind:"message",repeat:1,T:()=>NS},{no:9,name:"stake_subsidy",kind:"message",T:()=>DS},{no:10,name:"safe_mode",kind:"scalar",opt:!0,T:8},{no:11,name:"safe_mode_storage_rewards",kind:"scalar",opt:!0,T:4,L:0},{no:12,name:"safe_mode_computation_rewards",kind:"scalar",opt:!0,T:4,L:0},{no:13,name:"safe_mode_storage_rebates",kind:"scalar",opt:!0,T:4,L:0},{no:14,name:"safe_mode_non_refundable_storage_fee",kind:"scalar",opt:!0,T:4,L:0},{no:15,name:"epoch_start_timestamp_ms",kind:"scalar",opt:!0,T:4,L:0},{no:16,name:"extra_fields",kind:"message",T:()=>nr}])}},Ty=new AS,CS=class extends R{constructor(){super("sui.rpc.v2.ValidatorReportRecord",[{no:1,name:"reported",kind:"scalar",opt:!0,T:9},{no:2,name:"reporters",kind:"scalar",repeat:2,T:9}])}},NS=new CS,RS=class extends R{constructor(){super("sui.rpc.v2.SystemParameters",[{no:1,name:"epoch_duration_ms",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"stake_subsidy_start_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"min_validator_count",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"max_validator_count",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"min_validator_joining_stake",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"validator_low_stake_threshold",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"validator_very_low_stake_threshold",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"validator_low_stake_grace_period",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"extra_fields",kind:"message",T:()=>nr}])}},BS=new RS,MS=class extends R{constructor(){super("sui.rpc.v2.MoveTable",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"size",kind:"scalar",opt:!0,T:4,L:0}])}},nr=new MS,jS=class extends R{constructor(){super("sui.rpc.v2.StakeSubsidy",[{no:1,name:"balance",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"distribution_counter",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"current_distribution_amount",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"stake_subsidy_period_length",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"stake_subsidy_decrease_rate",kind:"scalar",opt:!0,T:13},{no:6,name:"extra_fields",kind:"message",T:()=>nr}])}},DS=new jS,US=class extends R{constructor(){super("sui.rpc.v2.StorageFund",[{no:1,name:"total_object_storage_rebates",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"non_refundable_balance",kind:"scalar",opt:!0,T:4,L:0}])}},PS=new US,LS=class extends R{constructor(){super("sui.rpc.v2.ValidatorSet",[{no:1,name:"total_stake",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"active_validators",kind:"message",repeat:1,T:()=>qS},{no:3,name:"pending_active_validators",kind:"message",T:()=>nr},{no:4,name:"pending_removals",kind:"scalar",repeat:1,T:4,L:0},{no:5,name:"staking_pool_mappings",kind:"message",T:()=>nr},{no:6,name:"inactive_validators",kind:"message",T:()=>nr},{no:7,name:"validator_candidates",kind:"message",T:()=>nr},{no:8,name:"at_risk_validators",kind:"map",K:9,V:{kind:"scalar",T:4,L:0}},{no:9,name:"extra_fields",kind:"message",T:()=>nr}])}},VS=new LS,FS=class extends R{constructor(){super("sui.rpc.v2.Validator",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"address",kind:"scalar",opt:!0,T:9},{no:3,name:"description",kind:"scalar",opt:!0,T:9},{no:4,name:"image_url",kind:"scalar",opt:!0,T:9},{no:5,name:"project_url",kind:"scalar",opt:!0,T:9},{no:7,name:"protocol_public_key",kind:"scalar",opt:!0,T:12},{no:8,name:"proof_of_possession",kind:"scalar",opt:!0,T:12},{no:10,name:"network_public_key",kind:"scalar",opt:!0,T:12},{no:12,name:"worker_public_key",kind:"scalar",opt:!0,T:12},{no:13,name:"network_address",kind:"scalar",opt:!0,T:9},{no:14,name:"p2p_address",kind:"scalar",jsonName:"p2pAddress",opt:!0,T:9},{no:15,name:"primary_address",kind:"scalar",opt:!0,T:9},{no:16,name:"worker_address",kind:"scalar",opt:!0,T:9},{no:18,name:"next_epoch_protocol_public_key",kind:"scalar",opt:!0,T:12},{no:19,name:"next_epoch_proof_of_possession",kind:"scalar",opt:!0,T:12},{no:21,name:"next_epoch_network_public_key",kind:"scalar",opt:!0,T:12},{no:23,name:"next_epoch_worker_public_key",kind:"scalar",opt:!0,T:12},{no:24,name:"next_epoch_network_address",kind:"scalar",opt:!0,T:9},{no:25,name:"next_epoch_p2p_address",kind:"scalar",jsonName:"nextEpochP2pAddress",opt:!0,T:9},{no:26,name:"next_epoch_primary_address",kind:"scalar",opt:!0,T:9},{no:27,name:"next_epoch_worker_address",kind:"scalar",opt:!0,T:9},{no:28,name:"metadata_extra_fields",kind:"message",T:()=>nr},{no:29,name:"voting_power",kind:"scalar",opt:!0,T:4,L:0},{no:30,name:"operation_cap_id",kind:"scalar",opt:!0,T:9},{no:31,name:"gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:32,name:"staking_pool",kind:"message",T:()=>GS},{no:33,name:"commission_rate",kind:"scalar",opt:!0,T:4,L:0},{no:34,name:"next_epoch_stake",kind:"scalar",opt:!0,T:4,L:0},{no:35,name:"next_epoch_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:36,name:"next_epoch_commission_rate",kind:"scalar",opt:!0,T:4,L:0},{no:37,name:"extra_fields",kind:"message",T:()=>nr}])}},qS=new FS,$S=class extends R{constructor(){super("sui.rpc.v2.StakingPool",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"activation_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"deactivation_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"sui_balance",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"rewards_pool",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"pool_token_balance",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"exchange_rates",kind:"message",T:()=>nr},{no:8,name:"pending_stake",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"pending_total_sui_withdraw",kind:"scalar",opt:!0,T:4,L:0},{no:10,name:"pending_pool_token_withdraw",kind:"scalar",opt:!0,T:4,L:0},{no:11,name:"extra_fields",kind:"message",T:()=>nr}])}},GS=new $S;var HS=class extends R{constructor(){super("sui.rpc.v2.Epoch",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"committee",kind:"message",T:()=>uy},{no:3,name:"system_state",kind:"message",T:()=>Ty},{no:4,name:"first_checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"last_checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"start",kind:"message",T:()=>gn},{no:7,name:"end",kind:"message",T:()=>gn},{no:8,name:"reference_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"protocol_config",kind:"message",T:()=>_y}])}},ky=new HS;var zS=class extends R{constructor(){super("sui.rpc.v2.CheckpointContents",[{no:1,name:"bcs",kind:"message",T:()=>Qe},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:5},{no:4,name:"transactions",kind:"message",repeat:1,T:()=>ZS}])}},Ey=new zS,WS=class extends R{constructor(){super("sui.rpc.v2.CheckpointedTransactionInfo",[{no:1,name:"transaction",kind:"scalar",opt:!0,T:9},{no:2,name:"effects",kind:"scalar",opt:!0,T:9},{no:3,name:"signatures",kind:"message",repeat:1,T:()=>qs},{no:4,name:"address_aliases_versions",kind:"message",repeat:1,T:()=>KS}])}},ZS=new WS,JS=class extends R{constructor(){super("sui.rpc.v2.AddressAliasesVersion",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},KS=new JS;var YS=function(t){return t[t.CHECKPOINT_COMMITMENT_KIND_UNKNOWN=0]="CHECKPOINT_COMMITMENT_KIND_UNKNOWN",t[t.ECMH_LIVE_OBJECT_SET=1]="ECMH_LIVE_OBJECT_SET",t[t.CHECKPOINT_ARTIFACTS=2]="CHECKPOINT_ARTIFACTS",t}({}),XS=class extends R{constructor(){super("sui.rpc.v2.CheckpointSummary",[{no:1,name:"bcs",kind:"message",T:()=>Qe},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"sequence_number",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"total_network_transactions",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"content_digest",kind:"scalar",opt:!0,T:9},{no:7,name:"previous_digest",kind:"scalar",opt:!0,T:9},{no:8,name:"epoch_rolling_gas_cost_summary",kind:"message",T:()=>Mu},{no:9,name:"timestamp",kind:"message",T:()=>gn},{no:10,name:"commitments",kind:"message",repeat:1,T:()=>xy},{no:11,name:"end_of_epoch_data",kind:"message",T:()=>ex},{no:12,name:"version_specific_data",kind:"scalar",opt:!0,T:12}])}},Sy=new XS,QS=class extends R{constructor(){super("sui.rpc.v2.EndOfEpochData",[{no:1,name:"next_epoch_committee",kind:"message",repeat:1,T:()=>tp},{no:2,name:"next_epoch_protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"epoch_commitments",kind:"message",repeat:1,T:()=>xy}])}},ex=new QS,tx=class extends R{constructor(){super("sui.rpc.v2.CheckpointCommitment",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CheckpointCommitment.CheckpointCommitmentKind",YS]},{no:2,name:"digest",kind:"scalar",opt:!0,T:9}])}},xy=new tx;var nx=class extends R{constructor(){super("sui.rpc.v2.Checkpoint",[{no:1,name:"sequence_number",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"summary",kind:"message",T:()=>Sy},{no:4,name:"signature",kind:"message",T:()=>ly},{no:5,name:"contents",kind:"message",T:()=>Ey},{no:6,name:"transactions",kind:"message",repeat:1,T:()=>$s},{no:7,name:"objects",kind:"message",T:()=>Ru}])}},Vu=new nx;var rx=class extends R{constructor(){super("google.protobuf.Any",[{no:1,name:"type_url",kind:"scalar",T:9},{no:2,name:"value",kind:"scalar",T:12}])}pack(t,e){return{typeUrl:this.typeNameToUrl(e.typeName),value:e.toBinary(t)}}unpack(t,e,n){if(!this.contains(t,e))throw new Error("Cannot unpack google.protobuf.Any with typeUrl '"+t.typeUrl+"' as "+e.typeName+".");return e.fromBinary(t.value,n)}contains(t,e){return t.typeUrl.length?(typeof e=="string"?e:e.typeName)===this.typeUrlToName(t.typeUrl):!1}internalJsonWrite(t,e){if(t.typeUrl==="")return{};let n=this.typeUrlToName(t.typeUrl),r=ja(e),s=r.typeRegistry?.find(a=>a.typeName===n);if(!s)throw new globalThis.Error("Unable to convert google.protobuf.Any with typeUrl '"+t.typeUrl+"' to JSON. The specified type "+n+" is not available in the type registry.");let i=s.fromBinary(t.value,{readUnknownField:!1}),o=s.internalJsonWrite(i,r);return(n.startsWith("google.protobuf.")||!Us(o))&&(o={value:o}),o["@type"]=t.typeUrl,o}internalJsonRead(t,e,n){if(!Us(t))throw new globalThis.Error("Unable to parse google.protobuf.Any from JSON "+an(t)+".");if(typeof t["@type"]!="string"||t["@type"]=="")return this.create();let r=this.typeUrlToName(t["@type"]),s=e?.typeRegistry?.find(o=>o.typeName==r);if(!s)throw new globalThis.Error("Unable to parse google.protobuf.Any from JSON. The specified type "+r+" is not available in the type registry.");let i;if(r.startsWith("google.protobuf.")&&t.hasOwnProperty("value"))i=s.fromJson(t.value,e);else{let o=Object.assign({},t);delete o["@type"],i=s.fromJson(o,e)}return n===void 0&&(n=this.create()),n.typeUrl=t["@type"],n.value=s.toBinary(i),n}typeNameToUrl(t){if(!t.length)throw new Error("invalid type name: "+t);return"type.googleapis.com/"+t}typeUrlToName(t){if(!t.length)throw new Error("invalid type url: "+t);let e=t.lastIndexOf("/"),n=e>0?t.substring(e+1):t;if(!n.length)throw new Error("invalid type url: "+t);return n}},Oy=new rx;var sx=class extends R{constructor(){super("google.rpc.Status",[{no:1,name:"code",kind:"scalar",T:5},{no:2,name:"message",kind:"scalar",T:9},{no:3,name:"details",kind:"message",repeat:1,T:()=>Oy}])}},op=new sx;var ix=class extends R{constructor(){super("sui.rpc.v2.GetServiceInfoRequest",[])}},ox=new ix,ax=class extends R{constructor(){super("sui.rpc.v2.GetServiceInfoResponse",[{no:1,name:"chain_id",kind:"scalar",opt:!0,T:9},{no:2,name:"chain",kind:"scalar",opt:!0,T:9},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"checkpoint_height",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"timestamp",kind:"message",T:()=>gn},{no:6,name:"lowest_available_checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"lowest_available_checkpoint_objects",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"server",kind:"scalar",opt:!0,T:9}])}},cx=new ax,ux=class extends R{constructor(){super("sui.rpc.v2.GetObjectRequest",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"read_mask",kind:"message",T:()=>xn}])}},Iy=new ux,lx=class extends R{constructor(){super("sui.rpc.v2.GetObjectResponse",[{no:1,name:"object",kind:"message",T:()=>Dr}])}},dx=new lx,fx=class extends R{constructor(){super("sui.rpc.v2.BatchGetObjectsRequest",[{no:1,name:"requests",kind:"message",repeat:1,T:()=>Iy},{no:2,name:"read_mask",kind:"message",T:()=>xn}])}},px=new fx,hx=class extends R{constructor(){super("sui.rpc.v2.BatchGetObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>yx}])}},mx=new hx,gx=class extends R{constructor(){super("sui.rpc.v2.GetObjectResult",[{no:1,name:"object",kind:"message",oneof:"result",T:()=>Dr},{no:2,name:"error",kind:"message",oneof:"result",T:()=>op}])}},yx=new gx,bx=class extends R{constructor(){super("sui.rpc.v2.GetTransactionRequest",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"read_mask",kind:"message",T:()=>xn}])}},wx=new bx,vx=class extends R{constructor(){super("sui.rpc.v2.GetTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>$s}])}},_x=new vx,Tx=class extends R{constructor(){super("sui.rpc.v2.BatchGetTransactionsRequest",[{no:1,name:"digests",kind:"scalar",repeat:2,T:9},{no:2,name:"read_mask",kind:"message",T:()=>xn}])}},kx=new Tx,Ex=class extends R{constructor(){super("sui.rpc.v2.BatchGetTransactionsResponse",[{no:1,name:"transactions",kind:"message",repeat:1,T:()=>Ox}])}},Sx=new Ex,xx=class extends R{constructor(){super("sui.rpc.v2.GetTransactionResult",[{no:1,name:"transaction",kind:"message",oneof:"result",T:()=>$s},{no:2,name:"error",kind:"message",oneof:"result",T:()=>op}])}},Ox=new xx,Ix=class extends R{constructor(){super("sui.rpc.v2.GetCheckpointRequest",[{no:1,name:"sequence_number",kind:"scalar",oneof:"checkpointId",T:4,L:0},{no:2,name:"digest",kind:"scalar",oneof:"checkpointId",T:9},{no:3,name:"read_mask",kind:"message",T:()=>xn}])}},Ax=new Ix,Cx=class extends R{constructor(){super("sui.rpc.v2.GetCheckpointResponse",[{no:1,name:"checkpoint",kind:"message",T:()=>Vu}])}},Nx=new Cx,Rx=class extends R{constructor(){super("sui.rpc.v2.GetEpochRequest",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"read_mask",kind:"message",T:()=>xn}])}},Bx=new Rx,Mx=class extends R{constructor(){super("sui.rpc.v2.GetEpochResponse",[{no:1,name:"epoch",kind:"message",T:()=>ky}])}},jx=new Mx,Fu=new cn("sui.rpc.v2.LedgerService",[{name:"GetServiceInfo",options:{},I:ox,O:cx},{name:"GetObject",options:{},I:Iy,O:dx},{name:"BatchGetObjects",options:{},I:px,O:mx},{name:"GetTransaction",options:{},I:wx,O:_x},{name:"BatchGetTransactions",options:{},I:kx,O:Sx},{name:"GetCheckpoint",options:{},I:Ax,O:Nx},{name:"GetEpoch",options:{},I:Bx,O:jx}]);var Ay=class{constructor(t){this._transport=t,this.typeName=Fu.typeName,this.methods=Fu.methods,this.options=Fu.options}getServiceInfo(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getObject(t,e){let n=this.methods[1],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}batchGetObjects(t,e){let n=this.methods[2],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getTransaction(t,e){let n=this.methods[3],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}batchGetTransactions(t,e){let n=this.methods[4],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getCheckpoint(t,e){let n=this.methods[5],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getEpoch(t,e){let n=this.methods[6],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}};var Dx=class extends R{constructor(){super("sui.rpc.v2.GetPackageRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9}])}},Ux=new Dx,Px=class extends R{constructor(){super("sui.rpc.v2.GetPackageResponse",[{no:1,name:"package",kind:"message",T:()=>Cu}])}},Lx=new Px,Vx=class extends R{constructor(){super("sui.rpc.v2.GetDatatypeRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"module_name",kind:"scalar",opt:!0,T:9},{no:3,name:"name",kind:"scalar",opt:!0,T:9}])}},Fx=new Vx,qx=class extends R{constructor(){super("sui.rpc.v2.GetDatatypeResponse",[{no:1,name:"datatype",kind:"message",T:()=>Zf}])}},$x=new qx,Gx=class extends R{constructor(){super("sui.rpc.v2.GetFunctionRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"module_name",kind:"scalar",opt:!0,T:9},{no:3,name:"name",kind:"scalar",opt:!0,T:9}])}},Hx=new Gx,zx=class extends R{constructor(){super("sui.rpc.v2.GetFunctionResponse",[{no:1,name:"function",kind:"message",T:()=>Kf}])}},Wx=new zx,Zx=class extends R{constructor(){super("sui.rpc.v2.ListPackageVersionsRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12}])}},Jx=new Zx,Kx=class extends R{constructor(){super("sui.rpc.v2.ListPackageVersionsResponse",[{no:1,name:"versions",kind:"message",repeat:1,T:()=>Qx},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},Yx=new Kx,Xx=class extends R{constructor(){super("sui.rpc.v2.PackageVersion",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},Qx=new Xx,qu=new cn("sui.rpc.v2.MovePackageService",[{name:"GetPackage",options:{},I:Ux,O:Lx},{name:"GetDatatype",options:{},I:Fx,O:$x},{name:"GetFunction",options:{},I:Hx,O:Wx},{name:"ListPackageVersions",options:{},I:Jx,O:Yx}]);var Cy=class{constructor(t){this._transport=t,this.typeName=qu.typeName,this.methods=qu.methods,this.options=qu.options}getPackage(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getDatatype(t,e){let n=this.methods[1],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getFunction(t,e){let n=this.methods[2],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}listPackageVersions(t,e){let n=this.methods[3],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}};var eO=class extends R{constructor(){super("sui.rpc.v2.VerifySignatureRequest",[{no:1,name:"message",kind:"message",T:()=>Qe},{no:2,name:"signature",kind:"message",T:()=>qs},{no:3,name:"address",kind:"scalar",opt:!0,T:9},{no:4,name:"jwks",kind:"message",repeat:1,T:()=>Yf}])}},tO=new eO,nO=class extends R{constructor(){super("sui.rpc.v2.VerifySignatureResponse",[{no:1,name:"is_valid",kind:"scalar",opt:!0,T:8},{no:2,name:"reason",kind:"scalar",opt:!0,T:9}])}},rO=new nO,$u=new cn("sui.rpc.v2.SignatureVerificationService",[{name:"VerifySignature",options:{},I:tO,O:rO}]);var Ny=class{constructor(t){this._transport=t,this.typeName=$u.typeName,this.methods=$u.methods,this.options=$u.options}verifySignature(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}};var sO=function(t){return t[t.METADATA_CAP_STATE_UNKNOWN=0]="METADATA_CAP_STATE_UNKNOWN",t[t.CLAIMED=1]="CLAIMED",t[t.UNCLAIMED=2]="UNCLAIMED",t[t.DELETED=3]="DELETED",t}({}),iO=function(t){return t[t.SUPPLY_STATE_UNKNOWN=0]="SUPPLY_STATE_UNKNOWN",t[t.FIXED=1]="FIXED",t[t.BURN_ONLY=2]="BURN_ONLY",t}({}),oO=function(t){return t[t.COIN_REGULATED_STATE_UNKNOWN=0]="COIN_REGULATED_STATE_UNKNOWN",t[t.REGULATED=1]="REGULATED",t[t.UNREGULATED=2]="UNREGULATED",t}({}),ap=function(t){return t[t.DYNAMIC_FIELD_KIND_UNKNOWN=0]="DYNAMIC_FIELD_KIND_UNKNOWN",t[t.FIELD=1]="FIELD",t[t.OBJECT=2]="OBJECT",t}({}),aO=class extends R{constructor(){super("sui.rpc.v2.GetCoinInfoRequest",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9}])}},cO=new aO,uO=class extends R{constructor(){super("sui.rpc.v2.GetCoinInfoResponse",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:2,name:"metadata",kind:"message",T:()=>fO},{no:3,name:"treasury",kind:"message",T:()=>hO},{no:4,name:"regulated_metadata",kind:"message",T:()=>gO}])}},lO=new uO,dO=class extends R{constructor(){super("sui.rpc.v2.CoinMetadata",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"decimals",kind:"scalar",opt:!0,T:13},{no:3,name:"name",kind:"scalar",opt:!0,T:9},{no:4,name:"symbol",kind:"scalar",opt:!0,T:9},{no:5,name:"description",kind:"scalar",opt:!0,T:9},{no:6,name:"icon_url",kind:"scalar",opt:!0,T:9},{no:7,name:"metadata_cap_id",kind:"scalar",opt:!0,T:9},{no:8,name:"metadata_cap_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CoinMetadata.MetadataCapState",sO]}])}},fO=new dO,pO=class extends R{constructor(){super("sui.rpc.v2.CoinTreasury",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"total_supply",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"supply_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CoinTreasury.SupplyState",iO]}])}},hO=new pO,mO=class extends R{constructor(){super("sui.rpc.v2.RegulatedCoinMetadata",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_metadata_object",kind:"scalar",opt:!0,T:9},{no:3,name:"deny_cap_object",kind:"scalar",opt:!0,T:9},{no:4,name:"allow_global_pause",kind:"scalar",opt:!0,T:8},{no:5,name:"variant",kind:"scalar",opt:!0,T:13},{no:6,name:"coin_regulated_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.RegulatedCoinMetadata.CoinRegulatedState",oO]}])}},gO=new mO,yO=class extends R{constructor(){super("sui.rpc.v2.GetBalanceRequest",[{no:1,name:"owner",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9}])}},bO=new yO,wO=class extends R{constructor(){super("sui.rpc.v2.GetBalanceResponse",[{no:1,name:"balance",kind:"message",T:()=>Ry}])}},vO=new wO,_O=class extends R{constructor(){super("sui.rpc.v2.ListBalancesRequest",[{no:1,name:"owner",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12}])}},TO=new _O,kO=class extends R{constructor(){super("sui.rpc.v2.ListBalancesResponse",[{no:1,name:"balances",kind:"message",repeat:1,T:()=>Ry},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},EO=new kO,SO=class extends R{constructor(){super("sui.rpc.v2.Balance",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:3,name:"balance",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"address_balance",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"coin_balance",kind:"scalar",opt:!0,T:4,L:0}])}},Ry=new SO,xO=class extends R{constructor(){super("sui.rpc.v2.ListDynamicFieldsRequest",[{no:1,name:"parent",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12},{no:4,name:"read_mask",kind:"message",T:()=>xn}])}},OO=new xO,IO=class extends R{constructor(){super("sui.rpc.v2.ListDynamicFieldsResponse",[{no:1,name:"dynamic_fields",kind:"message",repeat:1,T:()=>NO},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},AO=new IO,CO=class extends R{constructor(){super("sui.rpc.v2.DynamicField",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DynamicField.DynamicFieldKind",ap]},{no:2,name:"parent",kind:"scalar",opt:!0,T:9},{no:3,name:"field_id",kind:"scalar",opt:!0,T:9},{no:4,name:"field_object",kind:"message",T:()=>Dr},{no:5,name:"name",kind:"message",T:()=>Qe},{no:6,name:"value",kind:"message",T:()=>Qe},{no:7,name:"value_type",kind:"scalar",opt:!0,T:9},{no:8,name:"child_id",kind:"scalar",opt:!0,T:9},{no:9,name:"child_object",kind:"message",T:()=>Dr}])}},NO=new CO,RO=class extends R{constructor(){super("sui.rpc.v2.ListOwnedObjectsRequest",[{no:1,name:"owner",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12},{no:4,name:"read_mask",kind:"message",T:()=>xn},{no:5,name:"object_type",kind:"scalar",opt:!0,T:9}])}},BO=new RO,MO=class extends R{constructor(){super("sui.rpc.v2.ListOwnedObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Dr},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},jO=new MO,Gu=new cn("sui.rpc.v2.StateService",[{name:"ListDynamicFields",options:{},I:OO,O:AO},{name:"ListOwnedObjects",options:{},I:BO,O:jO},{name:"GetCoinInfo",options:{},I:cO,O:lO},{name:"GetBalance",options:{},I:bO,O:vO},{name:"ListBalances",options:{},I:TO,O:EO}]);var By=class{constructor(t){this._transport=t,this.typeName=Gu.typeName,this.methods=Gu.methods,this.options=Gu.options}listDynamicFields(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}listOwnedObjects(t,e){let n=this.methods[1],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getCoinInfo(t,e){let n=this.methods[2],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getBalance(t,e){let n=this.methods[3],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}listBalances(t,e){let n=this.methods[4],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}};var DO=class extends R{constructor(){super("sui.rpc.v2.SubscribeCheckpointsRequest",[{no:1,name:"read_mask",kind:"message",T:()=>xn}])}},UO=new DO,PO=class extends R{constructor(){super("sui.rpc.v2.SubscribeCheckpointsResponse",[{no:1,name:"cursor",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"checkpoint",kind:"message",T:()=>Vu}])}},LO=new PO,Hu=new cn("sui.rpc.v2.SubscriptionService",[{name:"SubscribeCheckpoints",serverStreaming:!0,options:{},I:UO,O:LO}]);var My=class{constructor(t){this._transport=t,this.typeName=Hu.typeName,this.methods=Hu.methods,this.options=Hu.options}subscribeCheckpoints(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("serverStreaming",this._transport,n,r,t)}};var VO=class extends R{constructor(){super("sui.rpc.v2.LookupNameRequest",[{no:1,name:"name",kind:"scalar",opt:!0,T:9}])}},FO=new VO,qO=class extends R{constructor(){super("sui.rpc.v2.LookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>jy}])}},$O=new qO,GO=class extends R{constructor(){super("sui.rpc.v2.ReverseLookupNameRequest",[{no:1,name:"address",kind:"scalar",opt:!0,T:9}])}},HO=new GO,zO=class extends R{constructor(){super("sui.rpc.v2.ReverseLookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>jy}])}},WO=new zO,ZO=class extends R{constructor(){super("sui.rpc.v2.NameRecord",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"name",kind:"scalar",opt:!0,T:9},{no:3,name:"registration_nft_id",kind:"scalar",opt:!0,T:9},{no:4,name:"expiration_timestamp",kind:"message",T:()=>gn},{no:5,name:"target_address",kind:"scalar",opt:!0,T:9},{no:6,name:"data",kind:"map",K:9,V:{kind:"scalar",T:9}}])}},jy=new ZO,zu=new cn("sui.rpc.v2.NameService",[{name:"LookupName",options:{},I:FO,O:$O},{name:"ReverseLookupName",options:{},I:HO,O:WO}]);var Dy=class{constructor(t){this._transport=t,this.typeName=zu.typeName,this.methods=zu.methods,this.options=zu.options}lookupName(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}reverseLookupName(t,e){let n=this.methods[1],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}};var te;(function(t){t[t.OK=0]="OK",t[t.CANCELLED=1]="CANCELLED",t[t.UNKNOWN=2]="UNKNOWN",t[t.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",t[t.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",t[t.NOT_FOUND=5]="NOT_FOUND",t[t.ALREADY_EXISTS=6]="ALREADY_EXISTS",t[t.PERMISSION_DENIED=7]="PERMISSION_DENIED",t[t.UNAUTHENTICATED=16]="UNAUTHENTICATED",t[t.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",t[t.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",t[t.ABORTED=10]="ABORTED",t[t.OUT_OF_RANGE=11]="OUT_OF_RANGE",t[t.UNIMPLEMENTED=12]="UNIMPLEMENTED",t[t.INTERNAL=13]="INTERNAL",t[t.UNAVAILABLE=14]="UNAVAILABLE",t[t.DATA_LOSS=15]="DATA_LOSS"})(te||(te={}));var JO=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function a(d){try{u(r.next(d))}catch(f){o(f)}}function c(d){try{u(r.throw(d))}catch(f){o(f)}}function u(d){d.done?i(d.value):s(d.value).then(a,c)}u((r=r.apply(t,e||[])).next())})};function cp(t,e,n,r,s){if(r)for(let[i,o]of Object.entries(r))if(typeof o=="string")t.append(i,o);else for(let a of o)t.append(i,a);if(t.set("Content-Type",e==="text"?"application/grpc-web-text":"application/grpc-web+proto"),e=="text"&&t.set("Accept","application/grpc-web-text"),t.set("X-Grpc-Web","1"),s&&t.set("X-User-Agent",s),typeof n=="number"){if(n<=0)throw new Ue(`timeout ${n} ms exceeded`,te[te.DEADLINE_EXCEEDED]);t.set("grpc-timeout",`${n}m`)}else if(n){let i=n.getTime(),o=Date.now();if(i<=o)throw new Ue(`deadline ${n} exceeded`,te[te.DEADLINE_EXCEEDED]);t.set("grpc-timeout",`${i-o}m`)}return t}function up(t,e){let n=new Uint8Array(5+t.length);n[0]=rr.DATA;for(let r=t.length,s=4;s>0;s--)n[s]=r%256,r>>>=8;return n.set(t,5),e==="binary"?n:Ma(n)}function Wu(t,e,n){if(arguments.length===1){let c=t,u;try{u=c.type}catch{}switch(u){case"error":case"opaque":case"opaqueredirect":throw new Ue(`fetch response type ${c.type}`,te[te.UNKNOWN])}return Wu(QO(c.headers),c.status,c.statusText)}let r=t,s=e>=200&&e<300,i=Ly(r),[o,a]=Py(r);return(o===void 0||o===te.OK)&&!s&&(o=eI(e),a=n),[o,a,i]}function lp(t){let e=XO(t),[n,r]=Py(e),s=Ly(e);return[n??te.OK,r,s]}var rr;(function(t){t[t.DATA=0]="DATA",t[t.TRAILER=128]="TRAILER"})(rr||(rr={}));function dp(t,e,n){return JO(this,void 0,void 0,function*(){let r,s="",i=new Uint8Array(0),o=YO(e);if(KO(t)){let a=t.getReader();r={next:()=>a.read()}}else r=t[Symbol.asyncIterator]();for(;;){let a=yield r.next();if(a.value!==void 0){if(o==="text"){for(let u=0;u<a.value.length;u++)s+=String.fromCharCode(a.value[u]);let c=s.length-s.length%4;if(c===0)continue;i=Uy(i,Ba(s.substring(0,c))),s=s.substring(c)}else i=Uy(i,a.value);for(;i.length>=5&&i[0]===rr.DATA;){let c=0;for(let u=1;u<5;u++)c=(c<<8)+i[u];if(i.length-5>=c)n(rr.DATA,i.subarray(5,5+c)),i=i.subarray(5+c);else break}}if(a.done){if(i.length===0)break;if(i[0]!==rr.TRAILER||i.length<5)throw new Ue("premature EOF",te[te.DATA_LOSS]);n(rr.TRAILER,i.subarray(5));break}}})}var KO=t=>typeof t.getReader=="function";function Uy(t,e){let n=new Uint8Array(t.length+e.length);return n.set(t),n.set(e,t.length),n}function YO(t){switch(t){case"application/grpc-web-text":case"application/grpc-web-text+proto":return"text";case"application/grpc-web":case"application/grpc-web+proto":return"binary";case void 0:case null:throw new Ue("missing response content type",te[te.INTERNAL]);default:throw new Ue("unexpected response content type: "+t,te[te.INTERNAL])}}function Py(t){let e,n,r=t["grpc-message"];if(r!==void 0){if(Array.isArray(r))return[te.INTERNAL,"invalid grpc-web message"];n=r}let s=t["grpc-status"];if(s!==void 0){if(Array.isArray(s))return[te.INTERNAL,"invalid grpc-web status"];if(e=parseInt(s,10),te[e]===void 0)return[te.INTERNAL,"invalid grpc-web status"]}return[e,n]}function Ly(t){let e={};for(let[n,r]of Object.entries(t))switch(n){case"grpc-message":case"grpc-status":case"content-type":break;default:e[n]=r}return e}function XO(t){let e={};for(let n of String.fromCharCode.apply(String,t).trim().split(`\r
10
- `)){if(n=="")continue;let[r,...s]=n.split(":"),i=s.join(":").trim();r=r.trim();let o=e[r];typeof o=="string"?e[r]=[o,i]:Array.isArray(o)?o.push(i):e[r]=i}return e}function QO(t){let e={};return t.forEach((n,r)=>{let s=e[r];typeof s=="string"?e[r]=[s,n]:Array.isArray(s)?s.push(n):e[r]=n}),e}function eI(t){switch(t){case 200:return te.OK;case 400:return te.INVALID_ARGUMENT;case 401:return te.UNAUTHENTICATED;case 403:return te.PERMISSION_DENIED;case 404:return te.NOT_FOUND;case 409:return te.ABORTED;case 412:return te.FAILED_PRECONDITION;case 429:return te.RESOURCE_EXHAUSTED;case 499:return te.CANCELLED;case 500:return te.UNKNOWN;case 501:return te.UNIMPLEMENTED;case 503:return te.UNAVAILABLE;case 504:return te.DEADLINE_EXCEEDED;default:return te.UNKNOWN}}var Za=class{constructor(e){this.defaultOptions=e}mergeOptions(e){return np(this.defaultOptions,e)}makeUrl(e,n){let r=n.baseUrl;return r.endsWith("/")&&(r=r.substring(0,r.length-1)),`${r}/${e.service.typeName}/${e.name}`}clientStreaming(e){let n=new Ue("Client streaming is not supported by grpc-web",te[te.UNIMPLEMENTED]);throw n.methodName=e.name,n.serviceName=e.service.typeName,n}duplex(e){let n=new Ue("Duplex streaming is not supported by grpc-web",te[te.UNIMPLEMENTED]);throw n.methodName=e.name,n.serviceName=e.service.typeName,n}serverStreaming(e,n,r){var s,i,o,a,c;let u=r,d=(s=u.format)!==null&&s!==void 0?s:"text",f=(i=u.fetch)!==null&&i!==void 0?i:globalThis.fetch,p=(o=u.fetchInit)!==null&&o!==void 0?o:{},m=this.makeUrl(e,u),b=e.I.toBinary(n,u.binaryOptions),v=new zn,T=new Ha,O=!0,B,C=new zn,U,L=new zn;return f(m,Object.assign(Object.assign({},p),{method:"POST",headers:cp(new globalThis.Headers,d,u.timeout,u.meta),body:up(b,d),signal:(a=r.abort)!==null&&a!==void 0?a:null})).then(P=>{let[q,V,F]=Wu(P);if(v.resolve(F),q!=null&&q!==te.OK)throw new Ue(V??te[q],te[q],F);return q!=null&&(B={code:te[q],detail:V??te[q]}),P}).then(P=>{if(!P.body)throw new Ue("missing response body",te[te.INTERNAL]);return dp(P.body,P.headers.get("content-type"),(q,V)=>{switch(q){case rr.DATA:T.notifyMessage(e.O.fromBinary(V,u.binaryOptions)),O=!1;break;case rr.TRAILER:let F,X;[F,X,U]=lp(V),B={code:te[F],detail:X??te[F]};break}})}).then(()=>{if(!U&&!O)throw new Ue("missing trailers",te[te.DATA_LOSS]);if(!B)throw new Ue("missing status",te[te.INTERNAL]);if(B.code!=="OK")throw new Ue(B.detail,B.code,U);T.notifyComplete(),C.resolve(B),L.resolve(U||{})}).catch(P=>{let q;P instanceof Ue?q=P:P instanceof Error&&P.name==="AbortError"?q=new Ue(P.message,te[te.CANCELLED]):q=new Ue(P instanceof Error?P.message:""+P,te[te.INTERNAL]),q.methodName=e.name,q.serviceName=e.service.typeName,v.rejectPending(q),T.notifyError(q),C.rejectPending(q),L.rejectPending(q)}),new Wa(e,(c=u.meta)!==null&&c!==void 0?c:{},n,v.promise,T,C.promise,L.promise)}unary(e,n,r){var s,i,o,a,c;let u=r,d=(s=u.format)!==null&&s!==void 0?s:"text",f=(i=u.fetch)!==null&&i!==void 0?i:globalThis.fetch,p=(o=u.fetchInit)!==null&&o!==void 0?o:{},m=this.makeUrl(e,u),b=e.I.toBinary(n,u.binaryOptions),v=new zn,T,O=new zn,B,C=new zn,U,L=new zn;return f(m,Object.assign(Object.assign({},p),{method:"POST",headers:cp(new globalThis.Headers,d,u.timeout,u.meta),body:up(b,d),signal:(a=r.abort)!==null&&a!==void 0?a:null})).then(P=>{let[q,V,F]=Wu(P);if(v.resolve(F),q!=null&&q!==te.OK)throw new Ue(V??te[q],te[q],F);return q!=null&&(B={code:te[q],detail:V??te[q]}),P}).then(P=>{if(!P.body)throw new Ue("missing response body",te[te.INTERNAL]);return dp(P.body,P.headers.get("content-type"),(q,V)=>{switch(q){case rr.DATA:if(T)throw new Ue("unary call received 2nd message",te[te.DATA_LOSS]);T=e.O.fromBinary(V,u.binaryOptions);break;case rr.TRAILER:let F,X;[F,X,U]=lp(V),B={code:te[F],detail:X??te[F]};break}})}).then(()=>{if(!U&&T)throw new Ue("missing trailers",te[te.DATA_LOSS]);if(!B)throw new Ue("missing status",te[te.INTERNAL]);if(!T&&B.code==="OK")throw new Ue("expected error status",te[te.DATA_LOSS]);if(!T)throw new Ue(B.detail,B.code,U);if(O.resolve(T),B.code!=="OK")throw new Ue(B.detail,B.code,U);C.resolve(B),L.resolve(U||{})}).catch(P=>{let q;P instanceof Ue?q=P:P instanceof Error&&P.name==="AbortError"?q=new Ue(P.message,te[te.CANCELLED]):q=new Ue(P instanceof Error?P.message:""+P,te[te.INTERNAL]),q.methodName=e.name,q.serviceName=e.service.typeName,v.rejectPending(q),O.rejectPending(q),C.rejectPending(q),L.rejectPending(q)}),new za(e,(c=u.meta)!==null&&c!==void 0?c:{},n,v.promise,O.promise,C.promise,L.promise)}};var tI=Symbol.for("@mysten/SuiGrpcClient");var Ja=class extends Ms{get mvr(){return this.core.mvr}get[tI](){return!0}constructor(t){super({network:t.network});let e=t.transport??new Za({baseUrl:t.baseUrl,fetchInit:t.fetchInit});this.transactionExecutionService=new vy(e),this.ledgerService=new Ay(e),this.stateService=new By(e),this.subscriptionService=new My(e),this.movePackageService=new Cy(e),this.signatureVerificationService=new Ny(e),this.nameService=new Dy(e),this.core=new wy({client:this,base:this,network:t.network,mvr:t.mvr})}getObjects(t){return this.core.getObjects(t)}getObject(t){return this.core.getObject(t)}listCoins(t){return this.core.listCoins(t)}listOwnedObjects(t){return this.core.listOwnedObjects(t)}getBalance(t){return this.core.getBalance(t)}listBalances(t){return this.core.listBalances(t)}getCoinMetadata(t){return this.core.getCoinMetadata(t)}getTransaction(t){return this.core.getTransaction(t)}executeTransaction(t){return this.core.executeTransaction(t)}signAndExecuteTransaction(t){return this.core.signAndExecuteTransaction(t)}waitForTransaction(t){return this.core.waitForTransaction(t)}simulateTransaction(t){return this.core.simulateTransaction(t)}getReferenceGasPrice(){return this.core.getReferenceGasPrice()}async listDynamicFields(t){let e=t.include?.value??!1,n=["field_id","name","value_type","kind","child_id"];e&&n.push("value");let r=await this.stateService.listDynamicFields({parent:t.parentId,pageToken:t.cursor?ce(t.cursor):void 0,pageSize:t.limit,readMask:{paths:n}});return{dynamicFields:r.response.dynamicFields.map(s=>{let i=s.kind===ap.OBJECT,o=i?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${s.name?.name}>,0x2::object::ID>`:`0x2::dynamic_field::Field<${s.name?.name},${s.valueType}>`;return{$kind:i?"DynamicObject":"DynamicField",fieldId:s.fieldId,name:{type:s.name?.name,bcs:s.name?.value},valueType:s.valueType,type:ye(o),childId:s.childId,value:e?{type:s.valueType,bcs:s.value?.value??new Uint8Array}:void 0}}),cursor:r.response.nextPageToken?ge(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}getDynamicField(t){return this.core.getDynamicField(t)}getMoveFunction(t){return this.core.getMoveFunction(t)}resolveTransactionPlugin(){return this.core.resolveTransactionPlugin()}verifyZkLoginSignature(t){return this.core.verifyZkLoginSignature(t)}defaultNameServiceName(t){return this.core.defaultNameServiceName(t)}};var Gs={ED25519:0,Secp256k1:1,Secp256r1:2,MultiSig:3,ZkLogin:5,Passkey:6},Vy={ED25519:32,Secp256k1:33,Secp256r1:33,Passkey:33},Ka={0:"ED25519",1:"Secp256k1",2:"Secp256r1",3:"MultiSig",5:"ZkLogin",6:"Passkey"};function Zu(t,e){return A.IntentMessage(A.bytes(e.length)).serialize({intent:{scope:{[t]:!0},version:{V0:!0},appId:{Sui:!0}},value:e}).toBytes()}function Ya(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}var Ju=class{equals(t){return Ya(this.toRawBytes(),t.toRawBytes())}toBase64(){return ge(this.toRawBytes())}toString(){throw new Error("`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.")}toSuiPublicKey(){return ge(this.toSuiBytes())}verifyWithIntent(t,e,n){let r=hr(Zu(n,t),{dkLen:32});return this.verify(r,e)}verifyPersonalMessage(t,e){return this.verifyWithIntent(A.byteVector().serialize(t).toBytes(),e,"PersonalMessage")}verifyTransaction(t,e){return this.verifyWithIntent(t,e,"TransactionData")}verifyAddress(t){return this.toSuiAddress()===t}toSuiBytes(){let t=this.toRawBytes(),e=new Uint8Array(t.length+1);return e.set([this.flag()]),e.set(t,1),e}toSuiAddress(){return Q(xo(hr(this.toSuiBytes(),{dkLen:32})).slice(0,ts*2))}};function Ku(t){let e=ce(t),n=Ka[e[0]];switch(n){case"ED25519":case"Secp256k1":case"Secp256r1":let r=Vy[n],s=e.slice(1,e.length-r);return{serializedSignature:t,signatureScheme:n,signature:s,publicKey:e.slice(1+s.length),bytes:e};default:throw new Error("Unsupported signature scheme")}}var nI=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Hs=new Uint32Array(64),fp=class extends xa{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:n,C:r,D:s,E:i,F:o,G:a,H:c}=this;return[e,n,r,s,i,o,a,c]}set(e,n,r,s,i,o,a,c){this.A=e|0,this.B=n|0,this.C=r|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,n){for(let f=0;f<16;f++,n+=4)Hs[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){let p=Hs[f-15],m=Hs[f-2],b=pr(p,7)^pr(p,18)^p>>>3,v=pr(m,17)^pr(m,19)^m>>>10;Hs[f]=v+Hs[f-7]+b+Hs[f-16]|0}let{A:r,B:s,C:i,D:o,E:a,F:c,G:u,H:d}=this;for(let f=0;f<64;f++){let p=pr(a,6)^pr(a,11)^pr(a,25),m=d+p+H0(a,c,u)+nI[f]+Hs[f]|0,v=(pr(r,2)^pr(r,13)^pr(r,22))+z0(r,s,i)|0;d=u,u=c,c=a,a=o+m|0,o=i,i=s,s=r,r=m+v|0}r=r+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,s,i,o,a,c,u,d)}roundClean(){Gn(Hs)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),Gn(this.buffer)}},pp=class extends fp{A=ss[0]|0;B=ss[1]|0;C=ss[2]|0;D=ss[3]|0;E=ss[4]|0;F=ss[5]|0;G=ss[6]|0;H=ss[7]|0;constructor(){super(32)}};var Fy=(()=>Z0(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),rI=(()=>Fy[0])(),sI=(()=>Fy[1])(),zs=new Uint32Array(80),Ws=new Uint32Array(80),hp=class extends xa{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:n,Bh:r,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:b,Hh:v,Hl:T}=this;return[e,n,r,s,i,o,a,c,u,d,f,p,m,b,v,T]}set(e,n,r,s,i,o,a,c,u,d,f,p,m,b,v,T){this.Ah=e|0,this.Al=n|0,this.Bh=r|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=d|0,this.Fh=f|0,this.Fl=p|0,this.Gh=m|0,this.Gl=b|0,this.Hh=v|0,this.Hl=T|0}process(e,n){for(let C=0;C<16;C++,n+=4)zs[C]=e.getUint32(n),Ws[C]=e.getUint32(n+=4);for(let C=16;C<80;C++){let U=zs[C-15]|0,L=Ws[C-15]|0,P=Br(U,L,1)^Br(U,L,8)^kf(U,L,7),q=Mr(U,L,1)^Mr(U,L,8)^Ef(U,L,7),V=zs[C-2]|0,F=Ws[C-2]|0,X=Br(V,F,19)^_i(V,F,61)^kf(V,F,6),ee=Mr(V,F,19)^Ti(V,F,61)^Ef(V,F,6),j=Y0(q,ee,Ws[C-7],Ws[C-16]),N=X0(j,P,X,zs[C-7],zs[C-16]);zs[C]=N|0,Ws[C]=j|0}let{Ah:r,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:u,Dl:d,Eh:f,El:p,Fh:m,Fl:b,Gh:v,Gl:T,Hh:O,Hl:B}=this;for(let C=0;C<80;C++){let U=Br(f,p,14)^Br(f,p,18)^_i(f,p,41),L=Mr(f,p,14)^Mr(f,p,18)^Ti(f,p,41),P=f&m^~f&v,q=p&b^~p&T,V=Q0(B,L,q,sI[C],Ws[C]),F=eg(V,O,U,P,rI[C],zs[C]),X=V|0,ee=Br(r,s,28)^_i(r,s,34)^_i(r,s,39),j=Mr(r,s,28)^Ti(r,s,34)^Ti(r,s,39),N=r&i^r&a^i&a,D=s&o^s&c^o&c;O=v|0,B=T|0,v=m|0,T=b|0,m=f|0,b=p|0,{h:f,l:p}=Hn(u|0,d|0,F|0,X|0),u=a|0,d=c|0,a=i|0,c=o|0,i=r|0,o=s|0;let l=Oa(X,j,D);r=Ia(l,F,ee,N),s=l|0}({h:r,l:s}=Hn(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:o}=Hn(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=Hn(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:d}=Hn(this.Dh|0,this.Dl|0,u|0,d|0),{h:f,l:p}=Hn(this.Eh|0,this.El|0,f|0,p|0),{h:m,l:b}=Hn(this.Fh|0,this.Fl|0,m|0,b|0),{h:v,l:T}=Hn(this.Gh|0,this.Gl|0,v|0,T|0),{h:O,l:B}=Hn(this.Hh|0,this.Hl|0,O|0,B|0),this.set(r,s,i,o,a,c,u,d,f,p,m,b,v,T,O,B)}roundClean(){Gn(zs,Ws)}destroy(){this.destroyed=!0,Gn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},mp=class extends hp{Ah=rn[0]|0;Al=rn[1]|0;Bh=rn[2]|0;Bl=rn[3]|0;Ch=rn[4]|0;Cl=rn[5]|0;Dh=rn[6]|0;Dl=rn[7]|0;Eh=rn[8]|0;El=rn[9]|0;Fh=rn[10]|0;Fl=rn[11]|0;Gh=rn[12]|0;Gl=rn[13]|0;Hh=rn[14]|0;Hl=rn[15]|0;constructor(){super(64)}};var qy=Sa(()=>new pp,_f(1));var Di=Sa(()=>new mp,_f(3));var je=(t,e,n)=>Gt(t,e,n),yp=Xn,Mo=xo,Kt=(...t)=>vf(...t),jo=t=>Ea(t),Ui=wf,Xa=t=>$0(t),Xu=BigInt(0),gp=BigInt(1);function br(t,e=""){if(typeof t!="boolean"){let n=e&&`"${e}" `;throw new TypeError(n+"expected boolean, got type="+typeof t)}return t}function Qu(t){if(typeof t=="bigint"){if(!Yu(t))throw new RangeError("positive bigint expected, got "+t)}else yp(t);return t}function wr(t,e=""){if(typeof t!="number"){let n=e&&`"${e}" `;throw new TypeError(n+"expected number, got type="+typeof t)}if(!Number.isSafeInteger(t)){let n=e&&`"${e}" `;throw new RangeError(n+"expected safe integer, got "+t)}}function Qa(t){let e=Qu(t).toString(16);return e.length&1?"0"+e:e}function $y(t){if(typeof t!="string")throw new TypeError("hex string expected, got "+typeof t);return t===""?Xu:BigInt("0x"+t)}function Pi(t){return $y(xo(t))}function Pr(t){return $y(xo(ec(Gt(t)).reverse()))}function el(t,e){if(Xn(e),e===0)throw new RangeError("zero length");t=Qu(t);let n=t.toString(16);if(n.length>e*2)throw new RangeError("number too large");return Ea(n.padStart(e*2,"0"))}function bp(t,e){return el(t,e).reverse()}function Gy(t,e){if(t=je(t),e=je(e),t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}function ec(t){return Uint8Array.from(je(t))}function tl(t){if(typeof t!="string")throw new TypeError("ascii string expected, got "+typeof t);return Uint8Array.from(t,(e,n)=>{let r=e.charCodeAt(0);if(e.length!==1||r>127)throw new RangeError(`string contains non-ASCII character "${t[n]}" with code ${r} at position ${n}`);return r})}var Yu=t=>typeof t=="bigint"&&Xu<=t;function iI(t,e,n){return Yu(t)&&Yu(e)&&Yu(n)&&e<=t&&t<n}function Do(t,e,n,r){if(!iI(e,n,r))throw new RangeError("expected valid "+t+": "+n+" <= n < "+r+", got "+e)}function Uo(t){if(t<Xu)throw new Error("expected non-negative bigint, got "+t);let e;for(e=0;t>Xu;t>>=gp,e+=1);return e}var tc=t=>(gp<<BigInt(t))-gp;function Hy(t,e,n){if(Xn(t,"hashLen"),Xn(e,"qByteLen"),typeof n!="function")throw new TypeError("hmacFn must be a function");let r=T=>new Uint8Array(T),s=Uint8Array.of(),i=Uint8Array.of(0),o=Uint8Array.of(1),a=1e3,c=r(t),u=r(t),d=0,f=()=>{c.fill(1),u.fill(0),d=0},p=(...T)=>n(u,Kt(c,...T)),m=(T=s)=>{u=p(i,T),c=p(),T.length!==0&&(u=p(o,T),c=p())},b=()=>{if(d++>=a)throw new Error("drbg: tried max amount of iterations");let T=0,O=[];for(;T<e;){c=p();let B=c.slice();O.push(B),T+=c.length}return Kt(...O)};return(T,O)=>{f(),m(T);let B;for(;(B=O(b()))===void 0;)m();return f(),B}}function vr(t,e={},n={}){if(Object.prototype.toString.call(t)!=="[object Object]")throw new TypeError("expected valid options object");function r(i,o,a){if(!a&&o!=="function"&&!Object.hasOwn(t,i))throw new TypeError(`param "${i}" is invalid: expected own property`);let c=t[i];if(a&&c===void 0)return;let u=typeof c;if(u!==o||c===null)throw new TypeError(`param "${i}" is invalid: expected ${o}, got ${u}`)}let s=(i,o)=>Object.entries(i).forEach(([a,c])=>r(a,c,o));s(e,!1),s(n,!0)}var wp=()=>{throw new Error("not implemented")};var un=BigInt(0),tt=BigInt(1),Li=BigInt(2),Jy=BigInt(3),Ky=BigInt(4),Yy=BigInt(5),oI=BigInt(7),Xy=BigInt(8),aI=BigInt(9),Qy=BigInt(16);function ot(t,e){if(e<=un)throw new Error("mod: expected positive modulus, got "+e);let n=t%e;return n>=un?n:e+n}function Ye(t,e,n){if(e<un)throw new Error("pow2: expected non-negative exponent, got "+e);let r=t;for(;e-- >un;)r*=r,r%=n;return r}function zy(t,e){if(t===un)throw new Error("invert: expected non-zero number");if(e<=un)throw new Error("invert: expected positive modulus, got "+e);let n=ot(t,e),r=e,s=un,i=tt,o=tt,a=un;for(;n!==un;){let u=r/n,d=r-n*u,f=s-o*u,p=i-a*u;r=n,n=d,s=o,i=a,o=f,a=p}if(r!==tt)throw new Error("invert: does not exist");return ot(s,e)}function vp(t,e,n){let r=t;if(!r.eql(r.sqr(e),n))throw new Error("Cannot find square root")}function eb(t,e){let n=t,r=(n.ORDER+tt)/Ky,s=n.pow(e,r);return vp(n,s,e),s}function cI(t,e){let n=t,r=(n.ORDER-Yy)/Xy,s=n.mul(e,Li),i=n.pow(s,r),o=n.mul(e,i),a=n.mul(n.mul(o,Li),i),c=n.mul(o,n.sub(a,n.ONE));return vp(n,c,e),c}function uI(t){let e=Po(t),n=tb(t),r=n(e,e.neg(e.ONE)),s=n(e,r),i=n(e,e.neg(r)),o=(t+oI)/Qy;return(a,c)=>{let u=a,d=u.pow(c,o),f=u.mul(d,r),p=u.mul(d,s),m=u.mul(d,i),b=u.eql(u.sqr(f),c),v=u.eql(u.sqr(p),c);d=u.cmov(d,f,b),f=u.cmov(m,p,v);let T=u.eql(u.sqr(f),c),O=u.cmov(d,f,T);return vp(u,O,c),O}}function tb(t){if(t<Jy)throw new Error("sqrt is not defined for small field");let e=t-tt,n=0;for(;e%Li===un;)e/=Li,n++;let r=Li,s=Po(t);for(;Wy(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return eb;let i=s.pow(r,e),o=(e+tt)/Li;return function(c,u){let d=c;if(d.is0(u))return u;if(Wy(d,u)!==1)throw new Error("Cannot find square root");let f=n,p=d.mul(d.ONE,i),m=d.pow(u,e),b=d.pow(u,o);for(;!d.eql(m,d.ONE);){if(d.is0(m))return d.ZERO;let v=1,T=d.sqr(m);for(;!d.eql(T,d.ONE);)if(v++,T=d.sqr(T),v===f)throw new Error("Cannot find square root");let O=tt<<BigInt(f-v-1),B=d.pow(p,O);f=v,p=d.sqr(B),m=d.mul(m,p),b=d.mul(b,B)}return b}}function lI(t){return t%Ky===Jy?eb:t%Xy===Yy?cI:t%Qy===aI?uI(t):tb(t)}var gs=(t,e)=>(ot(t,e)&tt)===tt,dI=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function _p(t){let e={ORDER:"bigint",BYTES:"number",BITS:"number"},n=dI.reduce((r,s)=>(r[s]="function",r),e);if(vr(t,n),wr(t.BYTES,"BYTES"),wr(t.BITS,"BITS"),t.BYTES<1||t.BITS<1)throw new Error("invalid field: expected BYTES/BITS > 0");if(t.ORDER<=tt)throw new Error("invalid field: expected ORDER > 1, got "+t.ORDER);return t}function fI(t,e,n){let r=t;if(n<un)throw new Error("invalid exponent, negatives unsupported");if(n===un)return r.ONE;if(n===tt)return e;let s=r.ONE,i=e;for(;n>un;)n&tt&&(s=r.mul(s,i)),i=r.sqr(i),n>>=tt;return s}function nc(t,e,n=!1){let r=t,s=new Array(e.length).fill(n?r.ZERO:void 0),i=e.reduce((a,c,u)=>r.is0(c)?a:(s[u]=a,r.mul(a,c)),r.ONE),o=r.inv(i);return e.reduceRight((a,c,u)=>r.is0(c)?a:(s[u]=r.mul(a,s[u]),r.mul(a,c)),o),s}function Wy(t,e){let n=t,r=(n.ORDER-tt)/Li,s=n.pow(e,r),i=n.eql(s,n.ONE),o=n.eql(s,n.ZERO),a=n.eql(s,n.neg(n.ONE));if(!i&&!o&&!a)throw new Error("invalid Legendre symbol result");return i?1:o?0:-1}function pI(t,e){if(e!==void 0&&yp(e),t<=un)throw new Error("invalid n length: expected positive n, got "+t);if(e!==void 0&&e<1)throw new Error("invalid n length: expected positive bit length, got "+e);let n=Uo(t);if(e!==void 0&&e<n)throw new Error(`invalid n length: expected bit length (${n}) >= n.length (${e})`);let r=e!==void 0?e:n,s=Math.ceil(r/8);return{nBitLength:r,nByteLength:s}}var Zy=new WeakMap,nl=class{ORDER;BITS;BYTES;isLE;ZERO=un;ONE=tt;_lengths;_mod;constructor(e,n={}){if(e<=tt)throw new Error("invalid field: expected ORDER > 1, got "+e);let r;this.isLE=!1,n!=null&&typeof n=="object"&&(typeof n.BITS=="number"&&(r=n.BITS),typeof n.sqrt=="function"&&Object.defineProperty(this,"sqrt",{value:n.sqrt,enumerable:!0}),typeof n.isLE=="boolean"&&(this.isLE=n.isLE),n.allowedLengths&&(this._lengths=Object.freeze(n.allowedLengths.slice())),typeof n.modFromBytes=="boolean"&&(this._mod=n.modFromBytes));let{nBitLength:s,nByteLength:i}=pI(e,r);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=s,this.BYTES=i,Object.freeze(this)}create(e){return ot(e,this.ORDER)}isValid(e){if(typeof e!="bigint")throw new TypeError("invalid field element: expected bigint, got "+typeof e);return un<=e&&e<this.ORDER}is0(e){return e===un}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&tt)===tt}neg(e){return ot(-e,this.ORDER)}eql(e,n){return e===n}sqr(e){return ot(e*e,this.ORDER)}add(e,n){return ot(e+n,this.ORDER)}sub(e,n){return ot(e-n,this.ORDER)}mul(e,n){return ot(e*n,this.ORDER)}pow(e,n){return fI(this,e,n)}div(e,n){return ot(e*zy(n,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,n){return e+n}subN(e,n){return e-n}mulN(e,n){return e*n}inv(e){return zy(e,this.ORDER)}sqrt(e){let n=Zy.get(this);return n||Zy.set(this,n=lI(this.ORDER)),n(this,e)}toBytes(e){return this.isLE?bp(e,this.BYTES):el(e,this.BYTES)}fromBytes(e,n=!1){je(e);let{_lengths:r,BYTES:s,isLE:i,ORDER:o,_mod:a}=this;if(r){if(e.length<1||!r.includes(e.length)||e.length>s)throw new Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let u=new Uint8Array(s);u.set(e,i?0:u.length-e.length),e=u}if(e.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+e.length);let c=i?Pr(e):Pi(e);if(a&&(c=ot(c,o)),!n&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(e){return nc(this,e)}cmov(e,n,r){return br(r,"condition"),r?n:e}};Object.freeze(nl.prototype);function Po(t,e={}){return new nl(t,e)}function nb(t){if(typeof t!="bigint")throw new Error("field order must be bigint");if(t<=tt)throw new Error("field order must be greater than 1");let e=Uo(t-tt);return Math.ceil(e/8)}function Tp(t){let e=nb(t);return e+Math.ceil(e/2)}function kp(t,e,n=!1){je(t);let r=t.length,s=nb(e),i=Math.max(Tp(e),16);if(r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);let o=n?Pr(t):Pi(t),a=ot(o,e-tt)+tt;return n?bp(a,s):el(a,s)}var Lo=BigInt(0),Vi=BigInt(1);function rc(t,e){let n=e.negate();return t?n:e}function Fi(t,e){let n=nc(t.Fp,e.map(r=>r.Z));return e.map((r,s)=>t.fromAffine(r.toAffine(n[s])))}function ob(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function Ep(t,e){ob(t,e);let n=Math.ceil(e/t)+1,r=2**(t-1),s=2**t,i=tc(t),o=BigInt(t);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:o}}function rb(t,e,n){let{windowSize:r,mask:s,maxNumber:i,shiftBy:o}=n,a=Number(t&s),c=t>>o;a>r&&(a-=i,c+=Vi);let u=e*r,d=u+Math.abs(a)-1,f=a===0,p=a<0,m=e%2!==0;return{nextN:c,offset:d,isZero:f,isNeg:p,isNegF:m,offsetF:u}}var Sp=new WeakMap,ab=new WeakMap;function xp(t){return ab.get(t)||1}function sb(t){if(t!==Lo)throw new Error("invalid wNAF")}var Vo=class{BASE;ZERO;Fn;bits;constructor(e,n){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=n}_unsafeLadder(e,n,r=this.ZERO){let s=e;for(;n>Lo;)n&Vi&&(r=r.add(s)),s=s.double(),n>>=Vi;return r}precomputeWindow(e,n){let{windows:r,windowSize:s}=Ep(n,this.bits),i=[],o=e,a=o;for(let c=0;c<r;c++){a=o,i.push(a);for(let u=1;u<s;u++)a=a.add(o),i.push(a);o=a.double()}return i}wNAF(e,n,r){if(!this.Fn.isValid(r))throw new Error("invalid scalar");let s=this.ZERO,i=this.BASE,o=Ep(e,this.bits);for(let a=0;a<o.windows;a++){let{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:m}=rb(r,a,o);r=c,d?i=i.add(rc(p,n[m])):s=s.add(rc(f,n[u]))}return sb(r),{p:s,f:i}}wNAFUnsafe(e,n,r,s=this.ZERO){let i=Ep(e,this.bits);for(let o=0;o<i.windows&&r!==Lo;o++){let{nextN:a,offset:c,isZero:u,isNeg:d}=rb(r,o,i);if(r=a,!u){let f=n[c];s=s.add(d?f.negate():f)}}return sb(r),s}getPrecomputes(e,n,r){let s=Sp.get(n);return s||(s=this.precomputeWindow(n,e),e!==1&&(typeof r=="function"&&(s=r(s)),Sp.set(n,s))),s}cached(e,n,r){let s=xp(e);return this.wNAF(s,this.getPrecomputes(s,e,r),n)}unsafe(e,n,r,s){let i=xp(e);return i===1?this._unsafeLadder(e,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,e,r),n,s)}createCache(e,n){ob(n,this.bits),ab.set(e,n),Sp.delete(e)}hasCache(e){return xp(e)!==1}};function cb(t,e,n,r){let s=e,i=t.ZERO,o=t.ZERO;for(;n>Lo||r>Lo;)n&Vi&&(i=i.add(s)),r&Vi&&(o=o.add(s)),s=s.double(),n>>=Vi,r>>=Vi;return{p1:i,p2:o}}function ib(t,e,n){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return _p(e),e}else return Po(t,{isLE:n})}function rl(t,e,n={},r){if(r===void 0&&(r=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(let c of["p","n","h"]){let u=e[c];if(!(typeof u=="bigint"&&u>Lo))throw new Error(`CURVE.${c} must be positive bigint`)}let s=ib(e.p,n.Fp,r),i=ib(e.n,n.Fn,r),a=["Gx","Gy","a",t==="weierstrass"?"b":"d"];for(let c of a)if(!s.isValid(e[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:s,Fn:i}}function sl(t,e){return function(r){let s=t(r);return{secretKey:s,publicKey:e(s)}}}var Zs=BigInt(0),en=BigInt(1),Op=BigInt(2),hI=BigInt(8);function mI(t,e,n,r){let s=t.sqr(n),i=t.sqr(r),o=t.add(t.mul(e.a,s),i),a=t.add(t.ONE,t.mul(e.d,t.mul(s,i)));return t.eql(o,a)}function ub(t,e={}){let n=e,r=rl("edwards",t,n,n.FpFnLE),{Fp:s,Fn:i}=r,o=r.CURVE,{h:a}=o;vr(n,{},{uvRatio:"function"});let c=Op<<BigInt(i.BYTES*8)-en,u=v=>s.create(v),d=n.uvRatio===void 0?(v,T)=>{try{return{isValid:!0,value:s.sqrt(s.div(v,T))}}catch{return{isValid:!1,value:Zs}}}:n.uvRatio;if(!mI(s,o,o.Gx,o.Gy))throw new Error("bad curve params: generator point");function f(v,T,O=!1){let B=O?en:Zs;return Do("coordinate "+v,T,B,c),T}function p(v){if(!(v instanceof m))throw new Error("EdwardsPoint expected")}class m{static BASE=new m(o.Gx,o.Gy,en,u(o.Gx*o.Gy));static ZERO=new m(Zs,en,en,Zs);static Fp=s;static Fn=i;X;Y;Z;T;constructor(T,O,B,C){this.X=f("x",T),this.Y=f("y",O),this.Z=f("z",B,!0),this.T=f("t",C),Object.freeze(this)}static CURVE(){return o}static fromAffine(T){if(T instanceof m)throw new Error("extended point not allowed");let{x:O,y:B}=T||{};return f("x",O),f("y",B),new m(O,B,en,u(O*B))}static fromBytes(T,O=!1){let B=s.BYTES,{a:C,d:U}=o;T=ec(je(T,B,"point")),br(O,"zip215");let L=ec(T),P=T[B-1];L[B-1]=P&-129;let q=Pr(L),V=O?c:s.ORDER;Do("point.y",q,Zs,V);let F=u(q*q),X=u(F-en),ee=u(U*F-C),{isValid:j,value:N}=d(X,ee);if(!j)throw new Error("bad point: invalid y coordinate");let D=(N&en)===en,l=(P&128)!==0;if(!O&&N===Zs&&l)throw new Error("bad point: x=0 and x_0=1");return l!==D&&(N=u(-N)),m.fromAffine({x:N,y:q})}static fromHex(T,O=!1){return m.fromBytes(jo(T),O)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(T=8,O=!0){return b.createCache(this,T),O||this.multiply(Op),this}assertValidity(){let T=this,{a:O,d:B}=o;if(T.is0())throw new Error("bad point: ZERO");let{X:C,Y:U,Z:L,T:P}=T,q=u(C*C),V=u(U*U),F=u(L*L),X=u(F*F),ee=u(q*O),j=u(F*u(ee+V)),N=u(X+u(B*u(q*V)));if(j!==N)throw new Error("bad point: equation left != right (1)");let D=u(C*U),l=u(L*P);if(D!==l)throw new Error("bad point: equation left != right (2)")}equals(T){p(T);let{X:O,Y:B,Z:C}=this,{X:U,Y:L,Z:P}=T,q=u(O*P),V=u(U*C),F=u(B*P),X=u(L*C);return q===V&&F===X}is0(){return this.equals(m.ZERO)}negate(){return new m(u(-this.X),this.Y,this.Z,u(-this.T))}double(){let{a:T}=o,{X:O,Y:B,Z:C}=this,U=u(O*O),L=u(B*B),P=u(Op*u(C*C)),q=u(T*U),V=O+B,F=u(u(V*V)-U-L),X=q+L,ee=X-P,j=q-L,N=u(F*ee),D=u(X*j),l=u(F*j),h=u(ee*X);return new m(N,D,h,l)}add(T){p(T);let{a:O,d:B}=o,{X:C,Y:U,Z:L,T:P}=this,{X:q,Y:V,Z:F,T:X}=T,ee=u(C*q),j=u(U*V),N=u(P*B*X),D=u(L*F),l=u((C+U)*(q+V)-ee-j),h=D-N,y=D+N,w=u(j-O*ee),_=u(l*h),S=u(y*w),I=u(l*w),k=u(h*y);return new m(_,S,k,I)}subtract(T){return p(T),this.add(T.negate())}multiply(T){if(!i.isValidNot0(T))throw new RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:O,f:B}=b.cached(this,T,C=>Fi(m,C));return Fi(m,[O,B])[0]}multiplyUnsafe(T){if(!i.isValid(T))throw new RangeError("invalid scalar: expected 0 <= sc < curve.n");return T===Zs?m.ZERO:this.is0()||T===en?this:b.unsafe(this,T,O=>Fi(m,O))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return b.unsafe(this,o.n).is0()}toAffine(T){let O=this,B=T,{X:C,Y:U,Z:L}=O,P=O.is0();B==null&&(B=P?hI:s.inv(L));let q=u(C*B),V=u(U*B),F=s.mul(L,B);if(P)return{x:Zs,y:en};if(F!==en)throw new Error("invZ was invalid");return{x:q,y:V}}clearCofactor(){return a===en?this:this.multiplyUnsafe(a)}toBytes(){let{x:T,y:O}=this.toAffine(),B=s.toBytes(O);return B[B.length-1]|=T&en?128:0,B}toHex(){return Mo(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let b=new Vo(m,i.BITS);return i.BITS>=8&&m.BASE.precompute(8),Object.freeze(m.prototype),Object.freeze(m),m}var Js=class{ep;constructor(e){this.ep=e}static fromBytes(e){wp()}static fromHex(e){wp()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return Mo(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,n){return this.ep.precompute(e,n),this}};An(Js,"BASE"),An(Js,"ZERO"),An(Js,"Fp"),An(Js,"Fn");function lb(t,e,n={}){if(typeof e!="function")throw new Error('"hash" function param is required');let r=e,s=n;vr(s,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",zip215:"boolean",mapToCurve:"function"});let{prehash:i}=s,{BASE:o,Fp:a,Fn:c}=t,u=r.outputLen,d=2*a.BYTES;if(u!==void 0&&(wr(u,"hash.outputLen"),u!==d))throw new Error(`hash.outputLen must be ${d}, got ${u}`);let f=s.randomBytes===void 0?Xa:s.randomBytes,p=s.adjustScalarBytes===void 0?j=>j:s.adjustScalarBytes,m=s.domain===void 0?(j,N,D)=>{if(br(D,"phflag"),N.length||D)throw new Error("Contexts/pre-hash are not supported");return j}:s.domain;function b(j){return c.create(Pr(j))}function v(j){let N=q.secretKey;je(j,q.secretKey,"secretKey");let D=je(r(j),2*N,"hashedSecretKey"),l=p(D.slice(0,N)),h=D.slice(N,2*N),y=b(l);return{head:l,prefix:h,scalar:y}}function T(j){let{head:N,prefix:D,scalar:l}=v(j),h=o.multiply(l),y=h.toBytes();return{head:N,prefix:D,scalar:l,point:h,pointBytes:y}}function O(j){return T(j).pointBytes}function B(j=Uint8Array.of(),...N){let D=Kt(...N);return b(r(m(D,je(j,void 0,"context"),!!i)))}function C(j,N,D={}){j=je(j,void 0,"message"),i&&(j=i(j));let{prefix:l,scalar:h,pointBytes:y}=T(N),w=B(D.context,l,j),_=o.multiply(w).toBytes(),S=B(D.context,_,y,j),I=c.create(w+S*h);if(!c.isValid(I))throw new Error("sign failed: invalid s");let k=Kt(_,c.toBytes(I));return je(k,q.signature,"result")}let U={zip215:s.zip215};function L(j,N,D,l=U){let{context:h}=l,y=l.zip215===void 0?!!U.zip215:l.zip215,w=q.signature;j=je(j,w,"signature"),N=je(N,void 0,"message"),D=je(D,q.publicKey,"publicKey"),y!==void 0&&br(y,"zip215"),i&&(N=i(N));let _=w/2,S=j.subarray(0,_),I=Pr(j.subarray(_,w)),k,g,E;try{k=t.fromBytes(D,y),g=t.fromBytes(S,y),E=o.multiplyUnsafe(I)}catch{return!1}if(!y&&k.isSmallOrder())return!1;let G=B(h,S,D,N);return g.add(k.multiplyUnsafe(G)).subtract(E).clearCofactor().is0()}let P=a.BYTES,q={secretKey:P,publicKey:P,signature:2*P,seed:P};function V(j){return j=j===void 0?f(q.seed):j,je(j,q.seed,"seed")}function F(j){return Ui(j)&&j.length===q.secretKey}function X(j,N){try{return!!t.fromBytes(j,N===void 0?U.zip215:N)}catch{return!1}}let ee={getExtendedPublicKey:T,randomSecretKey:V,isValidSecretKey:F,isValidPublicKey:X,toMontgomery(j){let{y:N}=t.fromBytes(j),D=q.publicKey,l=D===32;if(!l&&D!==57)throw new Error("only defined for 25519 and 448");let h=l?a.div(en+N,en-N):a.div(N-en,N+en);return a.toBytes(h)},toMontgomerySecret(j){let N=q.secretKey;je(j,N);let D=r(j.subarray(0,N));return p(D).subarray(0,N)}};return Object.freeze(q),Object.freeze(ee),Object.freeze({keygen:sl(V,O),getPublicKey:O,sign:C,verify:L,utils:ee,Point:t,lengths:q})}function sc(t,e){if(wr(t),wr(e),e<0||e>4)throw new Error("invalid I2OSP length: "+e);if(t<0||t>2**(8*e)-1)throw new Error("invalid I2OSP input: "+t);let n=Array.from({length:e}).fill(0);for(let r=e-1;r>=0;r--)n[r]=t&255,t>>>=8;return new Uint8Array(n)}function gI(t,e){let n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t[r]^e[r];return n}function yI(t){if(!Ui(t)&&typeof t!="string")throw new Error("DST must be Uint8Array or ascii string");let e=typeof t=="string"?tl(t):t;if(e.length===0)throw new Error("DST must be non-empty");return e}function Ip(t,e,n,r){je(t),wr(n),e=yI(e),e.length>255&&(e=r(Kt(tl("H2C-OVERSIZE-DST-"),e)));let{outputLen:s,blockLen:i}=r,o=Math.ceil(n/s);if(n>65535||o>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=Kt(e,sc(e.length,1)),c=new Uint8Array(i),u=sc(n,2),d=new Array(o),f=r(Kt(c,t,u,sc(0,1),a));d[0]=r(Kt(f,sc(1,1),a));for(let m=1;m<o;m++){let b=[gI(f,d[m-1]),sc(m+1,1),a];d[m]=r(Kt(...b))}return Kt(...d).slice(0,n)}var db="HashToScalar-";var bI=BigInt(0),ys=BigInt(1),fb=BigInt(2);var wI=BigInt(5),vI=BigInt(8),Fo=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Rp=(()=>({p:Fo,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:vI,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function _I(t){let e=BigInt(10),n=BigInt(20),r=BigInt(40),s=BigInt(80),i=Fo,a=t*t%i*t%i,c=Ye(a,fb,i)*a%i,u=Ye(c,ys,i)*t%i,d=Ye(u,wI,i)*u%i,f=Ye(d,e,i)*d%i,p=Ye(f,n,i)*f%i,m=Ye(p,r,i)*p%i,b=Ye(m,s,i)*m%i,v=Ye(b,s,i)*m%i,T=Ye(v,e,i)*d%i;return{pow_p_5_8:Ye(T,fb,i)*t%i,b2:a}}function TI(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}var Ap=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Bp(t,e){let n=Fo,r=ot(e*e*e,n),s=ot(r*r*e,n),i=_I(t*s).pow_p_5_8,o=ot(t*r*i,n),a=ot(e*o*o,n),c=o,u=ot(o*Ap,n),d=a===t,f=a===ot(-t,n),p=a===ot(-t*Ap,n);return d&&(o=c),(f||p)&&(o=u),gs(o,n)&&(o=ot(-o,n)),{isValid:d||f,value:o}}var Ys=ub(Rp,{uvRatio:Bp}),Ks=(()=>Ys.Fp)(),mb=(()=>Ys.Fn)();function kI(t){return lb(Ys,Di,Object.assign({adjustScalarBytes:TI,zip215:!0},t))}var _r=kI({});var Cp=Ap,EI=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),SI=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),xI=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),OI=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),pb=t=>Bp(ys,t),II=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Np=t=>Ks.create(Pr(t)&II);function hb(t){let{d:e}=Rp,n=Fo,r=O=>Ks.create(O),s=r(Cp*t*t),i=r((s+ys)*xI),o=BigInt(-1),a=r((o-e*s)*r(s+e)),{isValid:c,value:u}=Bp(i,a),d=r(u*t);gs(d,n)||(d=r(-d)),c||(u=d),c||(o=s);let f=r(o*(s-ys)*OI-a),p=u*u,m=r((u+u)*a),b=r(f*EI),v=r(ys-p),T=r(ys+p);return new Ys(r(m*T),r(v*b),r(b*T),r(m*v))}var Lr=class extends Js{constructor(e){super(e)}static fromAffine(e){return new Lr(Ys.fromAffine(e))}assertSame(e){if(!(e instanceof Lr))throw new Error("RistrettoPoint expected")}init(e){return new Lr(e)}static fromBytes(e){Gt(e,32);let{a:n,d:r}=Rp,s=Fo,i=U=>Ks.create(U),o=Np(e);if(!Gy(Ks.toBytes(o),e)||gs(o,s))throw new Error("invalid ristretto255 encoding 1");let a=i(o*o),c=i(ys+n*a),u=i(ys-n*a),d=i(c*c),f=i(u*u),p=i(n*r*d-f),{isValid:m,value:b}=pb(i(p*f)),v=i(b*u),T=i(b*v*p),O=i((o+o)*v);gs(O,s)&&(O=i(-O));let B=i(c*T),C=i(O*B);if(!m||gs(C,s)||B===bI)throw new Error("invalid ristretto255 encoding 2");return new Lr(new Ys(O,B,ys,C))}static fromHex(e){return Lr.fromBytes(Ea(e))}toBytes(){let{X:e,Y:n,Z:r,T:s}=this.ep,i=Fo,o=T=>Ks.create(T),a=o(o(r+n)*o(r-n)),c=o(e*n),u=o(c*c),{value:d}=pb(o(a*u)),f=o(d*a),p=o(d*c),m=o(f*p*s),b;if(gs(s*m,i)){let T=o(n*Cp),O=o(e*Cp);e=T,n=O,b=o(f*SI)}else b=p;gs(e*m,i)&&(n=o(-n));let v=o((r-n)*b);return gs(v,i)&&(v=o(-v)),Ks.toBytes(v)}equals(e){this.assertSame(e);let{X:n,Y:r}=this.ep,{X:s,Y:i}=e.ep,o=u=>Ks.create(u),a=o(n*i)===o(r*s),c=o(r*i)===o(n*s);return a||c}is0(){return this.equals(Lr.ZERO)}},sr=Lr;An(sr,"BASE",(()=>new Lr(Ys.BASE))()),An(sr,"ZERO",(()=>new Lr(Ys.ZERO))()),An(sr,"Fp",(()=>Ks)()),An(sr,"Fn",(()=>mb)());Object.freeze(sr.BASE);Object.freeze(sr.ZERO);Object.freeze(sr.prototype);Object.freeze(sr);var AI=Object.freeze({Point:sr,hashToCurve(t,e){let n=e?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":e.DST,r=Ip(t,n,64,Di);return AI.deriveToCurve(r)},hashToScalar(t,e={DST:db}){let n=Ip(t,e.DST,64,Di);return mb.create(Pr(n))},deriveToCurve(t){Gt(t,64);let e=Np(t.subarray(0,32)),n=hb(e),r=Np(t.subarray(32,64)),s=hb(r);return new sr(n.add(s))}});var Mp=32,gb=class extends Ju{static{this.SIZE=Mp}constructor(t){if(super(),typeof t=="string"?this.data=ce(t):t instanceof Uint8Array?this.data=t:this.data=Uint8Array.from(t),this.data.length!==Mp)throw new Error(`Invalid public key input. Expected ${Mp} bytes, got ${this.data.length}`)}equals(t){return super.equals(t)}toRawBytes(){return this.data}flag(){return Gs.ED25519}async verify(t,e){let n;if(typeof e=="string"){let r=Ku(e);if(r.signatureScheme!=="ED25519")throw new Error("Invalid signature scheme");if(!Ya(this.toRawBytes(),r.publicKey))throw new Error("Signature does not match public key");n=r.signature}else n=e;return _r.verify(n,t,this.toRawBytes())}};function CI(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function qo(t,e=""){if(!Number.isSafeInteger(t)||t<0){let n=e&&`"${e}" `;throw new Error(`${n}expected integer >= 0, got ${t}`)}}function qi(t,e,n=""){let r=CI(t),s=t?.length,i=e!==void 0;if(!r||i&&s!==e){let o=n&&`"${n}" `,a=i?` of length ${e}`:"",c=r?`length=${s}`:`type=${typeof t}`;throw new Error(o+"expected Uint8Array"+a+", got "+c)}return t}function il(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash must wrapped by utils.createHasher");qo(t.outputLen),qo(t.blockLen)}function $o(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function yb(t,e){qi(t,void 0,"digestInto() output");let n=e.outputLen;if(t.length<n)throw new Error('"digestInto() output" expected to be of length >='+n)}function bs(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function Go(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function NI(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function jp(t,e=""){return typeof t=="string"?NI(t):qi(t,void 0,e)}function bb(t,e){if(e!==void 0&&{}.toString.call(e)!=="[object Object]")throw new Error("options must be object or undefined");return Object.assign(t,e)}function wb(t,e={}){let n=(s,i)=>t(i).update(s).digest(),r=t(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.create=s=>t(s),Object.assign(n,e),Object.freeze(n)}var vb=t=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,t])});var ol=class{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,n){if(il(e),qi(n,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,s=new Uint8Array(r);s.set(n.length>r?e.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=e.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),bs(s)}update(e){return $o(this),this.iHash.update(e),this}digestInto(e){$o(this),qi(e,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:n,iHash:r,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Dp=(t,e,n)=>new ol(t,e).update(n).digest();Dp.create=(t,e)=>new ol(t,e);function RI(t,e,n,r){il(t);let s=bb({dkLen:32,asyncTick:10},r),{c:i,dkLen:o,asyncTick:a}=s;if(qo(i,"c"),qo(o,"dkLen"),qo(a,"asyncTick"),i<1)throw new Error("iterations (c) must be >= 1");let c=jp(e,"password"),u=jp(n,"salt"),d=new Uint8Array(o),f=Dp.create(t,c),p=f._cloneInto().update(u);return{c:i,dkLen:o,asyncTick:a,DK:d,PRF:f,PRFSalt:p}}function BI(t,e,n,r,s){return t.destroy(),e.destroy(),r&&r.destroy(),bs(s),n}function _b(t,e,n,r){let{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:c}=RI(t,e,n,r),u,d=new Uint8Array(4),f=Go(d),p=new Uint8Array(a.outputLen);for(let m=1,b=0;b<i;m++,b+=a.outputLen){let v=o.subarray(b,b+a.outputLen);f.setInt32(0,m,!1),(u=c._cloneInto(u)).update(d).digestInto(p),v.set(p.subarray(0,v.length));for(let T=1;T<s;T++){a._cloneInto(u).update(p).digestInto(p);for(let O=0;O<v.length;O++)v[O]^=p[O]}}return BI(a,c,o,u,p)}var al=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,n,r,s){this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(e),this.view=Go(this.buffer)}update(e){$o(this),qi(e);let{view:n,buffer:r,blockLen:s}=this,i=e.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=Go(e);for(;s<=i-o;o+=s)this.process(c,o);continue}r.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){$o(this),yb(e,this),this.finished=!0;let{buffer:n,view:r,blockLen:s,isLE:i}=this,{pos:o}=this;n[o++]=128,bs(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(r,0),o=0);for(let f=o;f<s;f++)n[f]=0;r.setBigUint64(s-8,BigInt(this.length*8),i),this.process(r,0);let a=Go(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,d[f],i)}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:n,buffer:r,length:s,finished:i,destroyed:o,pos:a}=this;return e.destroyed=o,e.finished=i,e.length=s,e.pos=a,s%n&&e.buffer.set(r),e}clone(){return this._cloneInto()}};var ln=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var cl=BigInt(4294967295),Tb=BigInt(32);function MI(t,e=!1){return e?{h:Number(t&cl),l:Number(t>>Tb&cl)}:{h:Number(t>>Tb&cl)|0,l:Number(t&cl)|0}}function kb(t,e=!1){let n=t.length,r=new Uint32Array(n),s=new Uint32Array(n);for(let i=0;i<n;i++){let{h:o,l:a}=MI(t[i],e);[r[i],s[i]]=[o,a]}return[r,s]}var Up=(t,e,n)=>t>>>n,Pp=(t,e,n)=>t<<32-n|e>>>n,$i=(t,e,n)=>t>>>n|e<<32-n,Gi=(t,e,n)=>t<<32-n|e>>>n,ic=(t,e,n)=>t<<64-n|e>>>n-32,oc=(t,e,n)=>t>>>n-32|e<<64-n;function Vr(t,e,n,r){let s=(e>>>0)+(r>>>0);return{h:t+n+(s/2**32|0)|0,l:s|0}}var Eb=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),Sb=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,xb=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),Ob=(t,e,n,r,s)=>e+n+r+s+(t/2**32|0)|0,Ib=(t,e,n,r,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(s>>>0),Ab=(t,e,n,r,s,i)=>e+n+r+s+i+(t/2**32|0)|0;var Cb=(()=>kb(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),DI=(()=>Cb[0])(),UI=(()=>Cb[1])(),Xs=new Uint32Array(80),Qs=new Uint32Array(80),Lp=class extends al{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:n,Bh:r,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:b,Hh:v,Hl:T}=this;return[e,n,r,s,i,o,a,c,u,d,f,p,m,b,v,T]}set(e,n,r,s,i,o,a,c,u,d,f,p,m,b,v,T){this.Ah=e|0,this.Al=n|0,this.Bh=r|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=d|0,this.Fh=f|0,this.Fl=p|0,this.Gh=m|0,this.Gl=b|0,this.Hh=v|0,this.Hl=T|0}process(e,n){for(let C=0;C<16;C++,n+=4)Xs[C]=e.getUint32(n),Qs[C]=e.getUint32(n+=4);for(let C=16;C<80;C++){let U=Xs[C-15]|0,L=Qs[C-15]|0,P=$i(U,L,1)^$i(U,L,8)^Up(U,L,7),q=Gi(U,L,1)^Gi(U,L,8)^Pp(U,L,7),V=Xs[C-2]|0,F=Qs[C-2]|0,X=$i(V,F,19)^ic(V,F,61)^Up(V,F,6),ee=Gi(V,F,19)^oc(V,F,61)^Pp(V,F,6),j=xb(q,ee,Qs[C-7],Qs[C-16]),N=Ob(j,P,X,Xs[C-7],Xs[C-16]);Xs[C]=N|0,Qs[C]=j|0}let{Ah:r,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:u,Dl:d,Eh:f,El:p,Fh:m,Fl:b,Gh:v,Gl:T,Hh:O,Hl:B}=this;for(let C=0;C<80;C++){let U=$i(f,p,14)^$i(f,p,18)^ic(f,p,41),L=Gi(f,p,14)^Gi(f,p,18)^oc(f,p,41),P=f&m^~f&v,q=p&b^~p&T,V=Ib(B,L,q,UI[C],Qs[C]),F=Ab(V,O,U,P,DI[C],Xs[C]),X=V|0,ee=$i(r,s,28)^ic(r,s,34)^ic(r,s,39),j=Gi(r,s,28)^oc(r,s,34)^oc(r,s,39),N=r&i^r&a^i&a,D=s&o^s&c^o&c;O=v|0,B=T|0,v=m|0,T=b|0,m=f|0,b=p|0,{h:f,l:p}=Vr(u|0,d|0,F|0,X|0),u=a|0,d=c|0,a=i|0,c=o|0,i=r|0,o=s|0;let l=Eb(X,j,D);r=Sb(l,F,ee,N),s=l|0}({h:r,l:s}=Vr(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:o}=Vr(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=Vr(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:d}=Vr(this.Dh|0,this.Dl|0,u|0,d|0),{h:f,l:p}=Vr(this.Eh|0,this.El|0,f|0,p|0),{h:m,l:b}=Vr(this.Fh|0,this.Fl|0,m|0,b|0),{h:v,l:T}=Vr(this.Gh|0,this.Gl|0,v|0,T|0),{h:O,l:B}=Vr(this.Hh|0,this.Hl|0,O|0,B|0),this.set(r,s,i,o,a,c,u,d,f,p,m,b,v,T,O,B)}roundClean(){bs(Xs,Qs)}destroy(){bs(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Vp=class extends Lp{Ah=ln[0]|0;Al=ln[1]|0;Bh=ln[2]|0;Bl=ln[3]|0;Ch=ln[4]|0;Cl=ln[5]|0;Dh=ln[6]|0;Dl=ln[7]|0;Eh=ln[8]|0;El=ln[9]|0;Fh=ln[10]|0;Fl=ln[11]|0;Gh=ln[12]|0;Gl=ln[13]|0;Hh=ln[14]|0;Hl=ln[15]|0;constructor(){super(64)}};var Nb=wb(()=>new Vp,vb(3));function Rb(t){if(typeof t!="string")throw new TypeError("invalid mnemonic type: "+typeof t);return t.normalize("NFKD")}function PI(t){let e=Rb(t),n=e.split(" ");if(![12,15,18,21,24].includes(n.length))throw new Error("Invalid mnemonic");return{nfkd:e,words:n}}var LI=t=>Rb("mnemonic"+t);function Bb(t,e=""){return _b(Nb,PI(t).nfkd,LI(e),{c:2048,dkLen:64})}function Fp(t){return!!new RegExp("^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$").test(t)}function Mb(t){return!!new RegExp("^m\\/(54|74)'\\/784'\\/[0-9]+'\\/[0-9]+\\/[0-9]+$").test(t)}function qp(t){return Bb(t,"")}function jb(t){return qt(qp(t))}var ul=class{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,n){if(su(e),Gt(n,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,s=new Uint8Array(r);s.set(n.length>r?e.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=e.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),Gn(s)}update(e){return rs(this),this.iHash.update(e),this}digestInto(e){rs(this),So(e,this),this.finished=!0;let n=e.subarray(0,this.outputLen);this.iHash.digestInto(n),this.oHash.update(n),this.oHash.digestInto(n),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:n,iHash:r,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},ac=(()=>{let t=(e,n,r)=>new ul(e,n).update(r).digest();return t.create=(e,n)=>new ul(e,n),t})();var Db=(t,e)=>(t+(t>=0?e:-e)/Ub)/e;function VI(t,e,n){Do("scalar",t,Fr,n);let[[r,s],[i,o]]=e,a=Db(o*t,n),c=Db(-s*t,n),u=t-a*r-c*i,d=-a*s-c*o,f=u<Fr,p=d<Fr;f&&(u=-u),p&&(d=-d);let m=tc(Math.ceil(Uo(n)/2))+ei;if(u<Fr||u>=m||d<Fr||d>=m)throw new Error("splitScalar (endomorphism): failed for k");return{k1neg:f,k1:u,k2neg:p,k2:d}}function Gp(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function $p(t,e){vr(t);let n={};for(let r of Object.keys(e))n[r]=t[r]===void 0?e[r]:t[r];return br(n.lowS,"lowS"),br(n.prehash,"prehash"),n.format!==void 0&&Gp(n.format),n}var Hp=class extends Error{constructor(e=""){super(e)}},Tr={Err:Hp,_tlv:{encode:(t,e)=>{let{Err:n}=Tr;if(wr(t,"tag"),t<0||t>255)throw new n("tlv.encode: wrong tag");if(typeof e!="string")throw new TypeError('"data" expected string, got type='+typeof e);if(e.length&1)throw new n("tlv.encode: unpadded data");let r=e.length/2,s=Qa(r);if(s.length/2&128)throw new n("tlv.encode: long form length too big");let i=r>127?Qa(s.length/2|128):"";return Qa(t)+i+s+e},decode(t,e){let{Err:n}=Tr;e=je(e,void 0,"DER data");let r=0;if(t<0||t>255)throw new n("tlv.encode: wrong tag");if(e.length<2||e[r++]!==t)throw new n("tlv.decode: wrong tlv");let s=e[r++],i=!!(s&128),o=0;if(!i)o=s;else{let c=s&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");let u=e.subarray(r,r+c);if(u.length!==c)throw new n("tlv.decode: length bytes not complete");if(u[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(let d of u)o=o<<8|d;if(r+=c,o<128)throw new n("tlv.decode(long): not minimal encoding")}let a=e.subarray(r,r+o);if(a.length!==o)throw new n("tlv.decode: wrong value length");return{v:a,l:e.subarray(r+o)}}},_int:{encode(t){let{Err:e}=Tr;if(Qu(t),t<Fr)throw new e("integer: negative integers are not allowed");let n=Qa(t);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return n},decode(t){let{Err:e}=Tr;if(t.length<1)throw new e("invalid signature integer: empty");if(t[0]&128)throw new e("invalid signature integer: negative");if(t.length>1&&t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Pi(t)}},toSig(t){let{Err:e,_int:n,_tlv:r}=Tr,s=je(t,void 0,"signature"),{v:i,l:o}=r.decode(48,s);if(o.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:c}=r.decode(2,i),{v:u,l:d}=r.decode(2,c);if(d.length)throw new e("invalid signature: left bytes after parsing");return{r:n.decode(a),s:n.decode(u)}},hexFromSig(t){let{_tlv:e,_int:n}=Tr,r=e.encode(2,n.encode(t.r)),s=e.encode(2,n.encode(t.s)),i=r+s;return e.encode(48,i)}};Object.freeze(Tr._tlv);Object.freeze(Tr._int);Object.freeze(Tr);var Fr=BigInt(0),ei=BigInt(1),Ub=BigInt(2),ll=BigInt(3),FI=BigInt(4);function Pb(t,e={}){let n=rl("weierstrass",t,e),r=n.Fp,s=n.Fn,i=n.CURVE,{h:o,n:a}=i;vr(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c,allowInfinityPoint:u}=e;if(c&&(!r.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let d=Vb(r,s);function f(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function p(ee,j,N){if(u&&j.is0())return Uint8Array.of(0);let{x:D,y:l}=j.toAffine(),h=r.toBytes(D);if(br(N,"isCompressed"),N){f();let y=!r.isOdd(l);return Kt(Lb(y),h)}else return Kt(Uint8Array.of(4),h,r.toBytes(l))}function m(ee){je(ee,void 0,"Point");let{publicKey:j,publicKeyUncompressed:N}=d,D=ee.length,l=ee[0],h=ee.subarray(1);if(u&&D===1&&l===0)return{x:r.ZERO,y:r.ZERO};if(D===j&&(l===2||l===3)){let y=r.fromBytes(h);if(!r.isValid(y))throw new Error("bad point: is not on curve, wrong x");let w=T(y),_;try{_=r.sqrt(w)}catch(k){let g=k instanceof Error?": "+k.message:"";throw new Error("bad point: is not on curve, sqrt error"+g)}f();let S=r.isOdd(_);return(l&1)===1!==S&&(_=r.neg(_)),{x:y,y:_}}else if(D===N&&l===4){let y=r.BYTES,w=r.fromBytes(h.subarray(0,y)),_=r.fromBytes(h.subarray(y,y*2));if(!O(w,_))throw new Error("bad point: is not on curve");return{x:w,y:_}}else throw new Error(`bad point: got length ${D}, expected compressed=${j} or uncompressed=${N}`)}let b=e.toBytes===void 0?p:e.toBytes,v=e.fromBytes===void 0?m:e.fromBytes;function T(ee){let j=r.sqr(ee),N=r.mul(j,ee);return r.add(r.add(N,r.mul(ee,i.a)),i.b)}function O(ee,j){let N=r.sqr(j),D=T(ee);return r.eql(N,D)}if(!O(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let B=r.mul(r.pow(i.a,ll),FI),C=r.mul(r.sqr(i.b),BigInt(27));if(r.is0(r.add(B,C)))throw new Error("bad curve params: a or b");function U(ee,j,N=!1){if(!r.isValid(j)||N&&r.is0(j))throw new Error(`bad point coordinate ${ee}`);return j}function L(ee){if(!(ee instanceof V))throw new Error("Weierstrass Point expected")}function P(ee){if(!c||!c.basises)throw new Error("no endo");return VI(ee,c.basises,s.ORDER)}function q(ee,j,N,D,l){return N=new V(r.mul(N.X,ee),N.Y,N.Z),j=rc(D,j),N=rc(l,N),j.add(N)}class V{static BASE=new V(i.Gx,i.Gy,r.ONE);static ZERO=new V(r.ZERO,r.ONE,r.ZERO);static Fp=r;static Fn=s;X;Y;Z;constructor(j,N,D){this.X=U("x",j),this.Y=U("y",N,!0),this.Z=U("z",D),Object.freeze(this)}static CURVE(){return i}static fromAffine(j){let{x:N,y:D}=j||{};if(!j||!r.isValid(N)||!r.isValid(D))throw new Error("invalid affine point");if(j instanceof V)throw new Error("projective point not allowed");return r.is0(N)&&r.is0(D)?V.ZERO:new V(N,D,r.ONE)}static fromBytes(j){let N=V.fromAffine(v(je(j,void 0,"point")));return N.assertValidity(),N}static fromHex(j){return V.fromBytes(jo(j))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(j=8,N=!0){return X.createCache(this,j),N||this.multiply(ll),this}assertValidity(){let j=this;if(j.is0()){if(e.allowInfinityPoint&&r.is0(j.X)&&r.eql(j.Y,r.ONE)&&r.is0(j.Z))return;throw new Error("bad point: ZERO")}let{x:N,y:D}=j.toAffine();if(!r.isValid(N)||!r.isValid(D))throw new Error("bad point: x or y not field elements");if(!O(N,D))throw new Error("bad point: equation left != right");if(!j.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:j}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(j)}equals(j){L(j);let{X:N,Y:D,Z:l}=this,{X:h,Y:y,Z:w}=j,_=r.eql(r.mul(N,w),r.mul(h,l)),S=r.eql(r.mul(D,w),r.mul(y,l));return _&&S}negate(){return new V(this.X,r.neg(this.Y),this.Z)}double(){let{a:j,b:N}=i,D=r.mul(N,ll),{X:l,Y:h,Z:y}=this,w=r.ZERO,_=r.ZERO,S=r.ZERO,I=r.mul(l,l),k=r.mul(h,h),g=r.mul(y,y),E=r.mul(l,h);return E=r.add(E,E),S=r.mul(l,y),S=r.add(S,S),w=r.mul(j,S),_=r.mul(D,g),_=r.add(w,_),w=r.sub(k,_),_=r.add(k,_),_=r.mul(w,_),w=r.mul(E,w),S=r.mul(D,S),g=r.mul(j,g),E=r.sub(I,g),E=r.mul(j,E),E=r.add(E,S),S=r.add(I,I),I=r.add(S,I),I=r.add(I,g),I=r.mul(I,E),_=r.add(_,I),g=r.mul(h,y),g=r.add(g,g),I=r.mul(g,E),w=r.sub(w,I),S=r.mul(g,k),S=r.add(S,S),S=r.add(S,S),new V(w,_,S)}add(j){L(j);let{X:N,Y:D,Z:l}=this,{X:h,Y:y,Z:w}=j,_=r.ZERO,S=r.ZERO,I=r.ZERO,k=i.a,g=r.mul(i.b,ll),E=r.mul(N,h),G=r.mul(D,y),z=r.mul(l,w),K=r.add(N,D),re=r.add(h,y);K=r.mul(K,re),re=r.add(E,G),K=r.sub(K,re),re=r.add(N,l);let se=r.add(h,w);return re=r.mul(re,se),se=r.add(E,z),re=r.sub(re,se),se=r.add(D,l),_=r.add(y,w),se=r.mul(se,_),_=r.add(G,z),se=r.sub(se,_),I=r.mul(k,re),_=r.mul(g,z),I=r.add(_,I),_=r.sub(G,I),I=r.add(G,I),S=r.mul(_,I),G=r.add(E,E),G=r.add(G,E),z=r.mul(k,z),re=r.mul(g,re),G=r.add(G,z),z=r.sub(E,z),z=r.mul(k,z),re=r.add(re,z),E=r.mul(G,re),S=r.add(S,E),E=r.mul(se,re),_=r.mul(K,_),_=r.sub(_,E),E=r.mul(K,G),I=r.mul(se,I),I=r.add(I,E),new V(_,S,I)}subtract(j){return L(j),this.add(j.negate())}is0(){return this.equals(V.ZERO)}multiply(j){let{endo:N}=e;if(!s.isValidNot0(j))throw new RangeError("invalid scalar: out of range");let D,l,h=y=>X.cached(this,y,w=>Fi(V,w));if(N){let{k1neg:y,k1:w,k2neg:_,k2:S}=P(j),{p:I,f:k}=h(w),{p:g,f:E}=h(S);l=k.add(E),D=q(N.beta,I,g,y,_)}else{let{p:y,f:w}=h(j);D=y,l=w}return Fi(V,[D,l])[0]}multiplyUnsafe(j){let{endo:N}=e,D=this,l=j;if(!s.isValid(l))throw new RangeError("invalid scalar: out of range");if(l===Fr||D.is0())return V.ZERO;if(l===ei)return D;if(X.hasCache(this))return this.multiply(l);if(N){let{k1neg:h,k1:y,k2neg:w,k2:_}=P(l),{p1:S,p2:I}=cb(V,D,y,_);return q(N.beta,S,I,h,w)}else return X.unsafe(D,l)}toAffine(j){let N=this,D=j,{X:l,Y:h,Z:y}=N;if(r.eql(y,r.ONE))return{x:l,y:h};let w=N.is0();D==null&&(D=w?r.ONE:r.inv(y));let _=r.mul(l,D),S=r.mul(h,D),I=r.mul(y,D);if(w)return{x:r.ZERO,y:r.ZERO};if(!r.eql(I,r.ONE))throw new Error("invZ was invalid");return{x:_,y:S}}isTorsionFree(){let{isTorsionFree:j}=e;return o===ei?!0:j?j(V,this):X.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:j}=e;return o===ei?this:j?j(V,this):this.multiplyUnsafe(o)}isSmallOrder(){return o===ei?this.is0():this.clearCofactor().is0()}toBytes(j=!0){return br(j,"isCompressed"),this.assertValidity(),b(V,this,j)}toHex(j=!0){return Mo(this.toBytes(j))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let F=s.BITS,X=new Vo(V,e.endo?Math.ceil(F/2):F);return F>=8&&V.BASE.precompute(8),Object.freeze(V.prototype),Object.freeze(V),V}function Lb(t){return Uint8Array.of(t?2:3)}function Vb(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function qI(t,e={}){let{Fn:n}=t,r=e.randomBytes===void 0?Xa:e.randomBytes,s=Object.assign(Vb(t.Fp,n),{seed:Math.max(Tp(n.ORDER),16)});function i(m){try{let b=n.fromBytes(m);return n.isValidNot0(b)}catch{return!1}}function o(m,b){let{publicKey:v,publicKeyUncompressed:T}=s;try{let O=m.length;return b===!0&&O!==v||b===!1&&O!==T?!1:!!t.fromBytes(m)}catch{return!1}}function a(m){return m=m===void 0?r(s.seed):m,kp(je(m,s.seed,"seed"),n.ORDER)}function c(m,b=!0){return t.BASE.multiply(n.fromBytes(m)).toBytes(b)}function u(m){let{secretKey:b,publicKey:v,publicKeyUncompressed:T}=s,O=n._lengths;if(!Ui(m))return;let B=je(m,void 0,"key").length,C=B===v||B===T,U=B===b||!!O?.includes(B);if(!(C&&U))return C}function d(m,b,v=!0){if(u(m)===!0)throw new Error("first arg must be private key");if(u(b)===!1)throw new Error("second arg must be public key");let T=n.fromBytes(m);return t.fromBytes(b).multiply(T).toBytes(v)}let f={isValidSecretKey:i,isValidPublicKey:o,randomSecretKey:a},p=sl(a,c);return Object.freeze(f),Object.freeze(s),Object.freeze({getPublicKey:c,getSharedSecret:d,keygen:p,Point:t,utils:f,lengths:s})}function Fb(t,e,n={}){let r=e;su(r),vr(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),n=Object.assign({},n);let s=n.randomBytes===void 0?Xa:n.randomBytes,i=n.hmac===void 0?(l,h)=>ac(r,l,h):n.hmac,{Fp:o,Fn:a}=t,{ORDER:c,BITS:u}=a,{keygen:d,getPublicKey:f,getSharedSecret:p,utils:m,lengths:b}=qI(t,n),v={prehash:!0,lowS:typeof n.lowS=="boolean"?n.lowS:!0,format:"compact",extraEntropy:!1},T=c*Ub+ei<o.ORDER;function O(l){let h=c>>ei;return l>h}function B(l,h){if(!a.isValidNot0(h))throw new Error(`invalid signature ${l}: out of range 1..Point.Fn.ORDER`);return h}function C(){if(T)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function U(l,h){Gp(h);let y=b.signature,w=h==="compact"?y:h==="recovered"?y+1:void 0;return je(l,w)}class L{r;s;recovery;constructor(h,y,w){if(this.r=B("r",h),this.s=B("s",y),w!=null){if(C(),![0,1,2,3].includes(w))throw new Error("invalid recovery id");this.recovery=w}Object.freeze(this)}static fromBytes(h,y=v.format){U(h,y);let w;if(y==="der"){let{r:k,s:g}=Tr.toSig(je(h));return new L(k,g)}y==="recovered"&&(w=h[0],y="compact",h=h.subarray(1));let _=b.signature/2,S=h.subarray(0,_),I=h.subarray(_,_*2);return new L(a.fromBytes(S),a.fromBytes(I),w)}static fromHex(h,y){return this.fromBytes(jo(h),y)}assertRecovery(){let{recovery:h}=this;if(h==null)throw new Error("invalid recovery id: must be present");return h}addRecoveryBit(h){return new L(this.r,this.s,h)}recoverPublicKey(h){let{r:y,s:w}=this,_=this.assertRecovery(),S=_===2||_===3?y+c:y;if(!o.isValid(S))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let I=o.toBytes(S),k=t.fromBytes(Kt(Lb((_&1)===0),I)),g=a.inv(S),E=q(je(h,void 0,"msgHash")),G=a.create(-E*g),z=a.create(w*g),K=t.BASE.multiplyUnsafe(G).add(k.multiplyUnsafe(z));if(K.is0())throw new Error("invalid recovery: point at infinify");return K.assertValidity(),K}hasHighS(){return O(this.s)}toBytes(h=v.format){if(Gp(h),h==="der")return jo(Tr.hexFromSig(this));let{r:y,s:w}=this,_=a.toBytes(y),S=a.toBytes(w);return h==="recovered"?(C(),Kt(Uint8Array.of(this.assertRecovery()),_,S)):Kt(_,S)}toHex(h){return Mo(this.toBytes(h))}}Object.freeze(L.prototype),Object.freeze(L);let P=n.bits2int===void 0?function(h){if(h.length>8192)throw new Error("input is too large");let y=Pi(h),w=h.length*8-u;return w>0?y>>BigInt(w):y}:n.bits2int,q=n.bits2int_modN===void 0?function(h){return a.create(P(h))}:n.bits2int_modN,V=tc(u);function F(l){return Do("num < 2^"+u,l,Fr,V),a.toBytes(l)}function X(l,h){return je(l,void 0,"message"),h?je(r(l),void 0,"prehashed message"):l}function ee(l,h,y){let{lowS:w,prehash:_,extraEntropy:S}=$p(y,v);l=X(l,_);let I=q(l),k=a.fromBytes(h);if(!a.isValidNot0(k))throw new Error("invalid private key");let g=[F(k),F(I)];if(S!=null&&S!==!1){let K=S===!0?s(b.secretKey):S;g.push(je(K,void 0,"extraEntropy"))}let E=Kt(...g),G=I;function z(K){let re=P(K);if(!a.isValidNot0(re))return;let se=a.inv(re),ve=t.BASE.multiply(re).toAffine(),Zt=a.create(ve.x);if(Zt===Fr)return;let Be=a.create(se*a.create(G+Zt*k));if(Be===Fr)return;let Pe=(ve.x===Zt?0:2)|Number(ve.y&ei),ba=Be;return w&&O(Be)&&(ba=a.neg(Be),Pe^=1),new L(Zt,ba,T?void 0:Pe)}return{seed:E,k2sig:z}}function j(l,h,y={}){let{seed:w,k2sig:_}=ee(l,h,y);return Hy(r.outputLen,a.BYTES,i)(w,_).toBytes(y.format)}function N(l,h,y,w={}){let{lowS:_,prehash:S,format:I}=$p(w,v);if(y=je(y,void 0,"publicKey"),h=X(h,S),!Ui(l)){let k=l instanceof L?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+k)}U(l,I);try{let k=L.fromBytes(l,I),g=t.fromBytes(y);if(_&&k.hasHighS())return!1;let{r:E,s:G}=k,z=q(h),K=a.inv(G),re=a.create(z*K),se=a.create(E*K),ve=t.BASE.multiplyUnsafe(re).add(g.multiplyUnsafe(se));return ve.is0()?!1:a.create(ve.x)===E}catch{return!1}}function D(l,h,y={}){let{prehash:w}=$p(y,v);return h=X(h,w),L.fromBytes(l,"recovered").recoverPublicKey(h).toBytes()}return Object.freeze({keygen:d,getPublicKey:f,getSharedSecret:p,utils:m,lengths:b,Point:t,sign:j,verify:N,recoverPublicKey:D,Signature:L,hash:r})}function qb({signature:t,signatureScheme:e,publicKey:n}){if(!n)throw new Error("`publicKey` is required");let r=n.toRawBytes(),s=new Uint8Array(1+t.length+r.length);return s.set([Gs[e]]),s.set(t,1),s.set(r,1+t.length),ge(s)}var cc=32;var $b="suiprivkey",$I=class{async signWithIntent(t,e){let n=hr(Zu(e,t),{dkLen:32});return{signature:qb({signature:await this.sign(n),signatureScheme:this.getKeyScheme(),publicKey:this.getPublicKey()}),bytes:ge(t)}}async signTransaction(t){return this.signWithIntent(t,"TransactionData")}async signPersonalMessage(t){let{signature:e}=await this.signWithIntent(x.byteVector().serialize(t).toBytes(),"PersonalMessage");return{bytes:ge(t),signature:e}}async signAndExecuteTransaction({transaction:t,client:e}){t.setSenderIfNotSet(this.toSuiAddress());let n=await t.build({client:e}),{signature:r}=await this.signTransaction(n);return e.core.executeTransaction({transaction:n,signatures:[r],include:{transaction:!0,effects:!0}})}toSuiAddress(){return this.getPublicKey().toSuiAddress()}},dl=class extends $I{};function fl(t){let{prefix:e,words:n}=va.decode(t);if(e!==$b)throw new Error("invalid private key prefix");let r=new Uint8Array(va.fromWords(n)),s=r.slice(1);return{scheme:Ka[r[0]],secretKey:s}}function pl(t,e){if(t.length!==cc)throw new Error("Invalid bytes length");let n=Gs[e],r=new Uint8Array(t.length+1);return r.set([n]),r.set(t,1),va.encode($b,va.toWords(r))}var GI="ed25519 seed",HI=2147483648,zI=new RegExp("^m(\\/[0-9]+')+$"),Gb=t=>t.replace("'",""),WI=t=>{let e=ac.create(Di,new TextEncoder().encode(GI)).update(hn(t)).digest();return{key:e.slice(0,32),chainCode:e.slice(32)}},ZI=({key:t,chainCode:e},n)=>{let r=new ArrayBuffer(4);new DataView(r).setUint32(0,n);let s=new Uint8Array(1+t.length+r.byteLength);s.set(new Uint8Array(1).fill(0)),s.set(t,1),s.set(new Uint8Array(r,0,r.byteLength),t.length+1);let i=ac.create(Di,e).update(s).digest();return{key:i.slice(0,32),chainCode:i.slice(32)}},JI=t=>zI.test(t)?!t.split("/").slice(1).map(Gb).some(isNaN):!1,zp=(t,e,n=HI)=>{if(!JI(t))throw new Error("Invalid derivation path");let{key:r,chainCode:s}=WI(e);return t.split("/").slice(1).map(Gb).map(i=>parseInt(i,10)).reduce((i,o)=>ZI(i,o+n),{key:r,chainCode:s})};var Wp="m/44'/784'/0'/0'/0'",hl=class uc extends dl{constructor(e){if(super(),e)this.keypair={publicKey:e.publicKey,secretKey:e.secretKey.slice(0,32)};else{let n=_r.utils.randomSecretKey();this.keypair={publicKey:_r.getPublicKey(n),secretKey:n}}}getKeyScheme(){return"ED25519"}static generate(){let e=_r.utils.randomSecretKey();return new uc({publicKey:_r.getPublicKey(e),secretKey:e})}static fromSecretKey(e,n){if(typeof e=="string"){let i=fl(e);if(i.scheme!=="ED25519")throw new Error(`Expected a ED25519 keypair, got ${i.scheme}`);return this.fromSecretKey(i.secretKey,n)}let r=e.length;if(r!==cc)throw new Error(`Wrong secretKey size. Expected ${cc} bytes, got ${r}.`);let s={publicKey:_r.getPublicKey(e),secretKey:e};if(!n||!n.skipValidation){let i=new TextEncoder().encode("sui validation"),o=_r.sign(i,e);if(!_r.verify(o,i,s.publicKey))throw new Error("provided secretKey is invalid")}return new uc(s)}getPublicKey(){return new gb(this.keypair.publicKey)}getSecretKey(){return pl(this.keypair.secretKey.slice(0,cc),this.getKeyScheme())}async sign(e){return _r.sign(e,this.keypair.secretKey)}static deriveKeypair(e,n){if(n==null&&(n=Wp),!Fp(n))throw new Error("Invalid derivation path");let{key:r}=zp(n,jb(e));return uc.fromSecretKey(r)}static deriveKeypairFromSeed(e,n){if(n==null&&(n=Wp),!Fp(n))throw new Error("Invalid derivation path");let r=typeof e=="string"?e:qt(e),{key:s}=zp(n,r);return uc.fromSecretKey(s)}};var Jp={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},KI={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Hb=BigInt(2);function YI(t){let e=Jp.p,n=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,d=u*u*t%e,f=Ye(d,n,e)*d%e,p=Ye(f,n,e)*d%e,m=Ye(p,Hb,e)*u%e,b=Ye(m,s,e)*m%e,v=Ye(b,i,e)*b%e,T=Ye(v,a,e)*v%e,O=Ye(T,c,e)*T%e,B=Ye(O,a,e)*v%e,C=Ye(B,n,e)*d%e,U=Ye(C,o,e)*b%e,L=Ye(U,r,e)*u%e,P=Ye(L,Hb,e);if(!Zp.eql(Zp.sqr(P),t))throw new Error("Cannot find square root");return P}var Zp=Po(Jp.p,{sqrt:YI}),XI=Pb(Jp,{Fp:Zp,endo:KI}),qr=Fb(XI,qy);var Kp=33,zb=class extends Ju{static{this.SIZE=Kp}constructor(t){if(super(),typeof t=="string"?this.data=ce(t):t instanceof Uint8Array?this.data=t:this.data=Uint8Array.from(t),this.data.length!==Kp)throw new Error(`Invalid public key input. Expected ${Kp} bytes, got ${this.data.length}`)}equals(t){return super.equals(t)}toRawBytes(){return this.data}flag(){return Gs.Secp256k1}async verify(t,e){let n;if(typeof e=="string"){let r=Ku(e);if(r.signatureScheme!=="Secp256k1")throw new Error("Invalid signature scheme");if(!Ya(this.toRawBytes(),r.publicKey))throw new Error("Signature does not match public key");n=r.signature}else n=e;return qr.verify(n,t,this.toRawBytes())}};function lc(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function $r(t,e=""){if(!Number.isSafeInteger(t)||t<0){let n=e&&`"${e}" `;throw new Error(`${n}expected integer >= 0, got ${t}`)}}function De(t,e,n=""){let r=lc(t),s=t?.length,i=e!==void 0;if(!r||i&&s!==e){let o=n&&`"${n}" `,a=i?` of length ${e}`:"",c=r?`length=${s}`:`type=${typeof t}`;throw new Error(o+"expected Uint8Array"+a+", got "+c)}return t}function ml(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash must wrapped by utils.createHasher");$r(t.outputLen),$r(t.blockLen)}function Ho(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Zb(t,e){De(t,void 0,"digestInto() output");let n=e.outputLen;if(t.length<n)throw new Error('"digestInto() output" expected to be of length >='+n)}function ir(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function ti(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function kr(t,e){return t<<32-e|t>>>e}function dc(t,e){return t<<e|t>>>32-e>>>0}var Jb=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),QI=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Hi(t){if(De(t),Jb)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=QI[t[n]];return e}var ws={_0:48,_9:57,A:65,F:70,a:97,f:102};function Wb(t){if(t>=ws._0&&t<=ws._9)return t-ws._0;if(t>=ws.A&&t<=ws.F)return t-(ws.A-10);if(t>=ws.a&&t<=ws.f)return t-(ws.a-10)}function zi(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(Jb)return Uint8Array.fromHex(t);let e=t.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(n);for(let s=0,i=0;s<n;s++,i+=2){let o=Wb(t.charCodeAt(i)),a=Wb(t.charCodeAt(i+1));if(o===void 0||a===void 0){let c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}r[s]=o*16+a}return r}function yn(...t){let e=0;for(let r=0;r<t.length;r++){let s=t[r];De(s),e+=s.length}let n=new Uint8Array(e);for(let r=0,s=0;r<t.length;r++){let i=t[r];n.set(i,s),s+=i.length}return n}function fc(t,e={}){let n=(s,i)=>t(i).update(s).digest(),r=t(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.create=s=>t(s),Object.assign(n,e),Object.freeze(n)}function gl(t=32){let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return e.getRandomValues(new Uint8Array(t))}var Yp=t=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,t])});function Xp(t,e,n){return t&e^~t&n}function Qp(t,e,n){return t&e^t&n^e&n}var Wi=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,n,r,s){this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(e),this.view=ti(this.buffer)}update(e){Ho(this),De(e);let{view:n,buffer:r,blockLen:s}=this,i=e.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=ti(e);for(;s<=i-o;o+=s)this.process(c,o);continue}r.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Ho(this),Zb(e,this),this.finished=!0;let{buffer:n,view:r,blockLen:s,isLE:i}=this,{pos:o}=this;n[o++]=128,ir(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(r,0),o=0);for(let f=o;f<s;f++)n[f]=0;r.setBigUint64(s-8,BigInt(this.length*8),i),this.process(r,0);let a=ti(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,d[f],i)}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:n,buffer:r,length:s,finished:i,destroyed:o,pos:a}=this;return e.destroyed=o,e.finished=i,e.length=s,e.pos=a,s%n&&e.buffer.set(r),e}clone(){return this._cloneInto()}},vs=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var dn=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var yl=BigInt(4294967295),Kb=BigInt(32);function eA(t,e=!1){return e?{h:Number(t&yl),l:Number(t>>Kb&yl)}:{h:Number(t>>Kb&yl)|0,l:Number(t&yl)|0}}function Yb(t,e=!1){let n=t.length,r=new Uint32Array(n),s=new Uint32Array(n);for(let i=0;i<n;i++){let{h:o,l:a}=eA(t[i],e);[r[i],s[i]]=[o,a]}return[r,s]}var eh=(t,e,n)=>t>>>n,th=(t,e,n)=>t<<32-n|e>>>n,Zi=(t,e,n)=>t>>>n|e<<32-n,Ji=(t,e,n)=>t<<32-n|e>>>n,pc=(t,e,n)=>t<<64-n|e>>>n-32,hc=(t,e,n)=>t>>>n-32|e<<64-n;function Gr(t,e,n,r){let s=(e>>>0)+(r>>>0);return{h:t+n+(s/2**32|0)|0,l:s|0}}var Xb=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),Qb=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,ew=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),tw=(t,e,n,r,s)=>e+n+r+s+(t/2**32|0)|0,nw=(t,e,n,r,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(s>>>0),rw=(t,e,n,r,s,i)=>e+n+r+s+i+(t/2**32|0)|0;var nA=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ni=new Uint32Array(64),nh=class extends Wi{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:n,C:r,D:s,E:i,F:o,G:a,H:c}=this;return[e,n,r,s,i,o,a,c]}set(e,n,r,s,i,o,a,c){this.A=e|0,this.B=n|0,this.C=r|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,n){for(let f=0;f<16;f++,n+=4)ni[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){let p=ni[f-15],m=ni[f-2],b=kr(p,7)^kr(p,18)^p>>>3,v=kr(m,17)^kr(m,19)^m>>>10;ni[f]=v+ni[f-7]+b+ni[f-16]|0}let{A:r,B:s,C:i,D:o,E:a,F:c,G:u,H:d}=this;for(let f=0;f<64;f++){let p=kr(a,6)^kr(a,11)^kr(a,25),m=d+p+Xp(a,c,u)+nA[f]+ni[f]|0,v=(kr(r,2)^kr(r,13)^kr(r,22))+Qp(r,s,i)|0;d=u,u=c,c=a,a=o+m|0,o=i,i=s,s=r,r=m+v|0}r=r+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,s,i,o,a,c,u,d)}roundClean(){ir(ni)}destroy(){this.set(0,0,0,0,0,0,0,0),ir(this.buffer)}},rh=class extends nh{A=vs[0]|0;B=vs[1]|0;C=vs[2]|0;D=vs[3]|0;E=vs[4]|0;F=vs[5]|0;G=vs[6]|0;H=vs[7]|0;constructor(){super(32)}};var sw=(()=>Yb(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),rA=(()=>sw[0])(),sA=(()=>sw[1])(),ri=new Uint32Array(80),si=new Uint32Array(80),sh=class extends Wi{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:n,Bh:r,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:b,Hh:v,Hl:T}=this;return[e,n,r,s,i,o,a,c,u,d,f,p,m,b,v,T]}set(e,n,r,s,i,o,a,c,u,d,f,p,m,b,v,T){this.Ah=e|0,this.Al=n|0,this.Bh=r|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=d|0,this.Fh=f|0,this.Fl=p|0,this.Gh=m|0,this.Gl=b|0,this.Hh=v|0,this.Hl=T|0}process(e,n){for(let C=0;C<16;C++,n+=4)ri[C]=e.getUint32(n),si[C]=e.getUint32(n+=4);for(let C=16;C<80;C++){let U=ri[C-15]|0,L=si[C-15]|0,P=Zi(U,L,1)^Zi(U,L,8)^eh(U,L,7),q=Ji(U,L,1)^Ji(U,L,8)^th(U,L,7),V=ri[C-2]|0,F=si[C-2]|0,X=Zi(V,F,19)^pc(V,F,61)^eh(V,F,6),ee=Ji(V,F,19)^hc(V,F,61)^th(V,F,6),j=ew(q,ee,si[C-7],si[C-16]),N=tw(j,P,X,ri[C-7],ri[C-16]);ri[C]=N|0,si[C]=j|0}let{Ah:r,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:u,Dl:d,Eh:f,El:p,Fh:m,Fl:b,Gh:v,Gl:T,Hh:O,Hl:B}=this;for(let C=0;C<80;C++){let U=Zi(f,p,14)^Zi(f,p,18)^pc(f,p,41),L=Ji(f,p,14)^Ji(f,p,18)^hc(f,p,41),P=f&m^~f&v,q=p&b^~p&T,V=nw(B,L,q,sA[C],si[C]),F=rw(V,O,U,P,rA[C],ri[C]),X=V|0,ee=Zi(r,s,28)^pc(r,s,34)^pc(r,s,39),j=Ji(r,s,28)^hc(r,s,34)^hc(r,s,39),N=r&i^r&a^i&a,D=s&o^s&c^o&c;O=v|0,B=T|0,v=m|0,T=b|0,m=f|0,b=p|0,{h:f,l:p}=Gr(u|0,d|0,F|0,X|0),u=a|0,d=c|0,a=i|0,c=o|0,i=r|0,o=s|0;let l=Xb(X,j,D);r=Qb(l,F,ee,N),s=l|0}({h:r,l:s}=Gr(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:o}=Gr(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=Gr(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:d}=Gr(this.Dh|0,this.Dl|0,u|0,d|0),{h:f,l:p}=Gr(this.Eh|0,this.El|0,f|0,p|0),{h:m,l:b}=Gr(this.Fh|0,this.Fl|0,m|0,b|0),{h:v,l:T}=Gr(this.Gh|0,this.Gl|0,v|0,T|0),{h:O,l:B}=Gr(this.Hh|0,this.Hl|0,O|0,B|0),this.set(r,s,i,o,a,c,u,d,f,p,m,b,v,T,O,B)}roundClean(){ir(ri,si)}destroy(){ir(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},ih=class extends sh{Ah=dn[0]|0;Al=dn[1]|0;Bh=dn[2]|0;Bl=dn[3]|0;Ch=dn[4]|0;Cl=dn[5]|0;Dh=dn[6]|0;Dl=dn[7]|0;Eh=dn[8]|0;El=dn[9]|0;Fh=dn[10]|0;Fl=dn[11]|0;Gh=dn[12]|0;Gl=dn[13]|0;Hh=dn[14]|0;Hl=dn[15]|0;constructor(){super(64)}};var mc=fc(()=>new rh,Yp(1));var oh=fc(()=>new ih,Yp(3));var ch=BigInt(0),ah=BigInt(1);function gc(t,e=""){if(typeof t!="boolean"){let n=e&&`"${e}" `;throw new Error(n+"expected boolean, got type="+typeof t)}return t}function iw(t){if(typeof t=="bigint"){if(!bl(t))throw new Error("positive bigint expected, got "+t)}else $r(t);return t}function yc(t){let e=iw(t).toString(16);return e.length&1?"0"+e:e}function ow(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?ch:BigInt("0x"+t)}function zo(t){return ow(Hi(t))}function uh(t){return ow(Hi(iA(De(t)).reverse()))}function wl(t,e){$r(e),t=iw(t);let n=zi(t.toString(16).padStart(e*2,"0"));if(n.length!==e)throw new Error("number too large");return n}function lh(t,e){return wl(t,e).reverse()}function iA(t){return Uint8Array.from(t)}var bl=t=>typeof t=="bigint"&&ch<=t;function oA(t,e,n){return bl(t)&&bl(e)&&bl(n)&&e<=t&&t<n}function aw(t,e,n,r){if(!oA(e,n,r))throw new Error("expected valid "+t+": "+n+" <= n < "+r+", got "+e)}function dh(t){let e;for(e=0;t>ch;t>>=ah,e+=1);return e}var bc=t=>(ah<<BigInt(t))-ah;function cw(t,e,n){if($r(t,"hashLen"),$r(e,"qByteLen"),typeof n!="function")throw new Error("hmacFn must be a function");let r=T=>new Uint8Array(T),s=Uint8Array.of(),i=Uint8Array.of(0),o=Uint8Array.of(1),a=1e3,c=r(t),u=r(t),d=0,f=()=>{c.fill(1),u.fill(0),d=0},p=(...T)=>n(u,yn(c,...T)),m=(T=s)=>{u=p(i,T),c=p(),T.length!==0&&(u=p(o,T),c=p())},b=()=>{if(d++>=a)throw new Error("drbg: tried max amount of iterations");let T=0,O=[];for(;T<e;){c=p();let B=c.slice();O.push(B),T+=c.length}return yn(...O)};return(T,O)=>{f(),m(T);let B;for(;!(B=O(b()));)m();return f(),B}}function wc(t,e={},n={}){if(!t||typeof t!="object")throw new Error("expected valid options object");function r(i,o,a){let c=t[i];if(a&&c===void 0)return;let u=typeof c;if(u!==o||c===null)throw new Error(`param "${i}" is invalid: expected ${o}, got ${u}`)}let s=(i,o)=>Object.entries(i).forEach(([a,c])=>r(a,c,o));s(e,!1),s(n,!0)}function fh(t){let e=new WeakMap;return(n,...r)=>{let s=e.get(n);if(s!==void 0)return s;let i=t(n,...r);return e.set(n,i),i}}var On=BigInt(0),bn=BigInt(1),Ki=BigInt(2),dw=BigInt(3),fw=BigInt(4),pw=BigInt(5),aA=BigInt(7),hw=BigInt(8),cA=BigInt(9),mw=BigInt(16);function Er(t,e){let n=t%e;return n>=On?n:e+n}function Wn(t,e,n){let r=t;for(;e-- >On;)r*=r,r%=n;return r}function uw(t,e){if(t===On)throw new Error("invert: expected non-zero number");if(e<=On)throw new Error("invert: expected positive modulus, got "+e);let n=Er(t,e),r=e,s=On,i=bn,o=bn,a=On;for(;n!==On;){let u=r/n,d=r%n,f=s-o*u,p=i-a*u;r=n,n=d,s=o,i=a,o=f,a=p}if(r!==bn)throw new Error("invert: does not exist");return Er(s,e)}function hh(t,e,n){if(!t.eql(t.sqr(e),n))throw new Error("Cannot find square root")}function gw(t,e){let n=(t.ORDER+bn)/fw,r=t.pow(e,n);return hh(t,r,e),r}function uA(t,e){let n=(t.ORDER-pw)/hw,r=t.mul(e,Ki),s=t.pow(r,n),i=t.mul(e,s),o=t.mul(t.mul(i,Ki),s),a=t.mul(i,t.sub(o,t.ONE));return hh(t,a,e),a}function lA(t){let e=Wo(t),n=yw(t),r=n(e,e.neg(e.ONE)),s=n(e,r),i=n(e,e.neg(r)),o=(t+aA)/mw;return(a,c)=>{let u=a.pow(c,o),d=a.mul(u,r),f=a.mul(u,s),p=a.mul(u,i),m=a.eql(a.sqr(d),c),b=a.eql(a.sqr(f),c);u=a.cmov(u,d,m),d=a.cmov(p,f,b);let v=a.eql(a.sqr(d),c),T=a.cmov(u,d,v);return hh(a,T,c),T}}function yw(t){if(t<dw)throw new Error("sqrt is not defined for small field");let e=t-bn,n=0;for(;e%Ki===On;)e/=Ki,n++;let r=Ki,s=Wo(t);for(;lw(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return gw;let i=s.pow(r,e),o=(e+bn)/Ki;return function(c,u){if(c.is0(u))return u;if(lw(c,u)!==1)throw new Error("Cannot find square root");let d=n,f=c.mul(c.ONE,i),p=c.pow(u,e),m=c.pow(u,o);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let b=1,v=c.sqr(p);for(;!c.eql(v,c.ONE);)if(b++,v=c.sqr(v),b===d)throw new Error("Cannot find square root");let T=bn<<BigInt(d-b-1),O=c.pow(f,T);d=b,f=c.sqr(O),p=c.mul(p,f),m=c.mul(m,O)}return m}}function dA(t){return t%fw===dw?gw:t%hw===pw?uA:t%mw===cA?lA(t):yw(t)}var fA=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function mh(t){let e={ORDER:"bigint",BYTES:"number",BITS:"number"},n=fA.reduce((r,s)=>(r[s]="function",r),e);return wc(t,n),t}function pA(t,e,n){if(n<On)throw new Error("invalid exponent, negatives unsupported");if(n===On)return t.ONE;if(n===bn)return e;let r=t.ONE,s=e;for(;n>On;)n&bn&&(r=t.mul(r,s)),s=t.sqr(s),n>>=bn;return r}function vl(t,e,n=!1){let r=new Array(e.length).fill(n?t.ZERO:void 0),s=e.reduce((o,a,c)=>t.is0(a)?o:(r[c]=o,t.mul(o,a)),t.ONE),i=t.inv(s);return e.reduceRight((o,a,c)=>t.is0(a)?o:(r[c]=t.mul(o,r[c]),t.mul(o,a)),i),r}function lw(t,e){let n=(t.ORDER-bn)/Ki,r=t.pow(e,n),s=t.eql(r,t.ONE),i=t.eql(r,t.ZERO),o=t.eql(r,t.neg(t.ONE));if(!s&&!i&&!o)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function hA(t,e){e!==void 0&&$r(e);let n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}var ph=class{ORDER;BITS;BYTES;isLE;ZERO=On;ONE=bn;_lengths;_sqrt;_mod;constructor(e,n={}){if(e<=On)throw new Error("invalid field: expected ORDER > 0, got "+e);let r;this.isLE=!1,n!=null&&typeof n=="object"&&(typeof n.BITS=="number"&&(r=n.BITS),typeof n.sqrt=="function"&&(this.sqrt=n.sqrt),typeof n.isLE=="boolean"&&(this.isLE=n.isLE),n.allowedLengths&&(this._lengths=n.allowedLengths?.slice()),typeof n.modFromBytes=="boolean"&&(this._mod=n.modFromBytes));let{nBitLength:s,nByteLength:i}=hA(e,r);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=s,this.BYTES=i,this._sqrt=void 0,Object.preventExtensions(this)}create(e){return Er(e,this.ORDER)}isValid(e){if(typeof e!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof e);return On<=e&&e<this.ORDER}is0(e){return e===On}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&bn)===bn}neg(e){return Er(-e,this.ORDER)}eql(e,n){return e===n}sqr(e){return Er(e*e,this.ORDER)}add(e,n){return Er(e+n,this.ORDER)}sub(e,n){return Er(e-n,this.ORDER)}mul(e,n){return Er(e*n,this.ORDER)}pow(e,n){return pA(this,e,n)}div(e,n){return Er(e*uw(n,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,n){return e+n}subN(e,n){return e-n}mulN(e,n){return e*n}inv(e){return uw(e,this.ORDER)}sqrt(e){return this._sqrt||(this._sqrt=dA(this.ORDER)),this._sqrt(this,e)}toBytes(e){return this.isLE?lh(e,this.BYTES):wl(e,this.BYTES)}fromBytes(e,n=!1){De(e);let{_lengths:r,BYTES:s,isLE:i,ORDER:o,_mod:a}=this;if(r){if(!r.includes(e.length)||e.length>s)throw new Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let u=new Uint8Array(s);u.set(e,i?0:u.length-e.length),e=u}if(e.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+e.length);let c=i?uh(e):zo(e);if(a&&(c=Er(c,o)),!n&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(e){return vl(this,e)}cmov(e,n,r){return r?n:e}};function Wo(t,e={}){return new ph(t,e)}function bw(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function gh(t){let e=bw(t);return e+Math.ceil(e/2)}function yh(t,e,n=!1){De(t);let r=t.length,s=bw(e),i=gh(e);if(r<16||r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);let o=n?uh(t):zo(t),a=Er(o,e-bn)+bn;return n?lh(a,s):wl(a,s)}var Zo=BigInt(0),Yi=BigInt(1);function vc(t,e){let n=e.negate();return t?n:e}function _h(t,e){let n=vl(t.Fp,e.map(r=>r.Z));return e.map((r,s)=>t.fromAffine(r.toAffine(n[s])))}function Tw(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function bh(t,e){Tw(t,e);let n=Math.ceil(e/t)+1,r=2**(t-1),s=2**t,i=bc(t),o=BigInt(t);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:o}}function ww(t,e,n){let{windowSize:r,mask:s,maxNumber:i,shiftBy:o}=n,a=Number(t&s),c=t>>o;a>r&&(a-=i,c+=Yi);let u=e*r,d=u+Math.abs(a)-1,f=a===0,p=a<0,m=e%2!==0;return{nextN:c,offset:d,isZero:f,isNeg:p,isNegF:m,offsetF:u}}var wh=new WeakMap,kw=new WeakMap;function vh(t){return kw.get(t)||1}function vw(t){if(t!==Zo)throw new Error("invalid wNAF")}var _l=class{BASE;ZERO;Fn;bits;constructor(e,n){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=n}_unsafeLadder(e,n,r=this.ZERO){let s=e;for(;n>Zo;)n&Yi&&(r=r.add(s)),s=s.double(),n>>=Yi;return r}precomputeWindow(e,n){let{windows:r,windowSize:s}=bh(n,this.bits),i=[],o=e,a=o;for(let c=0;c<r;c++){a=o,i.push(a);for(let u=1;u<s;u++)a=a.add(o),i.push(a);o=a.double()}return i}wNAF(e,n,r){if(!this.Fn.isValid(r))throw new Error("invalid scalar");let s=this.ZERO,i=this.BASE,o=bh(e,this.bits);for(let a=0;a<o.windows;a++){let{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:m}=ww(r,a,o);r=c,d?i=i.add(vc(p,n[m])):s=s.add(vc(f,n[u]))}return vw(r),{p:s,f:i}}wNAFUnsafe(e,n,r,s=this.ZERO){let i=bh(e,this.bits);for(let o=0;o<i.windows&&r!==Zo;o++){let{nextN:a,offset:c,isZero:u,isNeg:d}=ww(r,o,i);if(r=a,!u){let f=n[c];s=s.add(d?f.negate():f)}}return vw(r),s}getPrecomputes(e,n,r){let s=wh.get(n);return s||(s=this.precomputeWindow(n,e),e!==1&&(typeof r=="function"&&(s=r(s)),wh.set(n,s))),s}cached(e,n,r){let s=vh(e);return this.wNAF(s,this.getPrecomputes(s,e,r),n)}unsafe(e,n,r,s){let i=vh(e);return i===1?this._unsafeLadder(e,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,e,r),n,s)}createCache(e,n){Tw(n,this.bits),kw.set(e,n),wh.delete(e)}hasCache(e){return vh(e)!==1}};function Ew(t,e,n,r){let s=e,i=t.ZERO,o=t.ZERO;for(;n>Zo||r>Zo;)n&Yi&&(i=i.add(s)),r&Yi&&(o=o.add(s)),s=s.double(),n>>=Yi,r>>=Yi;return{p1:i,p2:o}}function _w(t,e,n){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return mh(e),e}else return Wo(t,{isLE:n})}function Sw(t,e,n={},r){if(r===void 0&&(r=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(let c of["p","n","h"]){let u=e[c];if(!(typeof u=="bigint"&&u>Zo))throw new Error(`CURVE.${c} must be positive bigint`)}let s=_w(e.p,n.Fp,r),i=_w(e.n,n.Fn,r),a=["Gx","Gy","a",t==="weierstrass"?"b":"d"];for(let c of a)if(!s.isValid(e[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:s,Fn:i}}function xw(t,e){return function(r){let s=t(r);return{secretKey:s,publicKey:e(s)}}}var Tl=class{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,n){if(ml(e),De(n,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,s=new Uint8Array(r);s.set(n.length>r?e.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=e.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),ir(s)}update(e){return Ho(this),this.iHash.update(e),this}digestInto(e){Ho(this),De(e,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:n,iHash:r,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Jo=(t,e,n)=>new Tl(t,e).update(n).digest();Jo.create=(t,e)=>new Tl(t,e);var Ow=(t,e)=>(t+(t>=0?e:-e)/Iw)/e;function mA(t,e,n){let[[r,s],[i,o]]=e,a=Ow(o*t,n),c=Ow(-s*t,n),u=t-a*r-c*i,d=-a*s-c*o,f=u<_s,p=d<_s;f&&(u=-u),p&&(d=-d);let m=bc(Math.ceil(dh(n)/2))+Ko;if(u<_s||u>=m||d<_s||d>=m)throw new Error("splitScalar (endomorphism): failed, k="+t);return{k1neg:f,k1:u,k2neg:p,k2:d}}function kh(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function Th(t,e){let n={};for(let r of Object.keys(e))n[r]=t[r]===void 0?e[r]:t[r];return gc(n.lowS,"lowS"),gc(n.prehash,"prehash"),n.format!==void 0&&kh(n.format),n}var Eh=class extends Error{constructor(e=""){super(e)}},ii={Err:Eh,_tlv:{encode:(t,e)=>{let{Err:n}=ii;if(t<0||t>256)throw new n("tlv.encode: wrong tag");if(e.length&1)throw new n("tlv.encode: unpadded data");let r=e.length/2,s=yc(r);if(s.length/2&128)throw new n("tlv.encode: long form length too big");let i=r>127?yc(s.length/2|128):"";return yc(t)+i+s+e},decode(t,e){let{Err:n}=ii,r=0;if(t<0||t>256)throw new n("tlv.encode: wrong tag");if(e.length<2||e[r++]!==t)throw new n("tlv.decode: wrong tlv");let s=e[r++],i=!!(s&128),o=0;if(!i)o=s;else{let c=s&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");let u=e.subarray(r,r+c);if(u.length!==c)throw new n("tlv.decode: length bytes not complete");if(u[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(let d of u)o=o<<8|d;if(r+=c,o<128)throw new n("tlv.decode(long): not minimal encoding")}let a=e.subarray(r,r+o);if(a.length!==o)throw new n("tlv.decode: wrong value length");return{v:a,l:e.subarray(r+o)}}},_int:{encode(t){let{Err:e}=ii;if(t<_s)throw new e("integer: negative integers are not allowed");let n=yc(t);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return n},decode(t){let{Err:e}=ii;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return zo(t)}},toSig(t){let{Err:e,_int:n,_tlv:r}=ii,s=De(t,void 0,"signature"),{v:i,l:o}=r.decode(48,s);if(o.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:c}=r.decode(2,i),{v:u,l:d}=r.decode(2,c);if(d.length)throw new e("invalid signature: left bytes after parsing");return{r:n.decode(a),s:n.decode(u)}},hexFromSig(t){let{_tlv:e,_int:n}=ii,r=e.encode(2,n.encode(t.r)),s=e.encode(2,n.encode(t.s)),i=r+s;return e.encode(48,i)}},_s=BigInt(0),Ko=BigInt(1),Iw=BigInt(2),kl=BigInt(3),gA=BigInt(4);function Aw(t,e={}){let n=Sw("weierstrass",t,e),{Fp:r,Fn:s}=n,i=n.CURVE,{h:o,n:a}=i;wc(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=e;if(c&&(!r.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Nw(r,s);function d(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function f(j,N,D){let{x:l,y:h}=N.toAffine(),y=r.toBytes(l);if(gc(D,"isCompressed"),D){d();let w=!r.isOdd(h);return yn(Cw(w),y)}else return yn(Uint8Array.of(4),y,r.toBytes(h))}function p(j){De(j,void 0,"Point");let{publicKey:N,publicKeyUncompressed:D}=u,l=j.length,h=j[0],y=j.subarray(1);if(l===N&&(h===2||h===3)){let w=r.fromBytes(y);if(!r.isValid(w))throw new Error("bad point: is not on curve, wrong x");let _=v(w),S;try{S=r.sqrt(_)}catch(g){let E=g instanceof Error?": "+g.message:"";throw new Error("bad point: is not on curve, sqrt error"+E)}d();let I=r.isOdd(S);return(h&1)===1!==I&&(S=r.neg(S)),{x:w,y:S}}else if(l===D&&h===4){let w=r.BYTES,_=r.fromBytes(y.subarray(0,w)),S=r.fromBytes(y.subarray(w,w*2));if(!T(_,S))throw new Error("bad point: is not on curve");return{x:_,y:S}}else throw new Error(`bad point: got length ${l}, expected compressed=${N} or uncompressed=${D}`)}let m=e.toBytes||f,b=e.fromBytes||p;function v(j){let N=r.sqr(j),D=r.mul(N,j);return r.add(r.add(D,r.mul(j,i.a)),i.b)}function T(j,N){let D=r.sqr(N),l=v(j);return r.eql(D,l)}if(!T(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let O=r.mul(r.pow(i.a,kl),gA),B=r.mul(r.sqr(i.b),BigInt(27));if(r.is0(r.add(O,B)))throw new Error("bad curve params: a or b");function C(j,N,D=!1){if(!r.isValid(N)||D&&r.is0(N))throw new Error(`bad point coordinate ${j}`);return N}function U(j){if(!(j instanceof F))throw new Error("Weierstrass Point expected")}function L(j){if(!c||!c.basises)throw new Error("no endo");return mA(j,c.basises,s.ORDER)}let P=fh((j,N)=>{let{X:D,Y:l,Z:h}=j;if(r.eql(h,r.ONE))return{x:D,y:l};let y=j.is0();N==null&&(N=y?r.ONE:r.inv(h));let w=r.mul(D,N),_=r.mul(l,N),S=r.mul(h,N);if(y)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:w,y:_}}),q=fh(j=>{if(j.is0()){if(e.allowInfinityPoint&&!r.is0(j.Y))return;throw new Error("bad point: ZERO")}let{x:N,y:D}=j.toAffine();if(!r.isValid(N)||!r.isValid(D))throw new Error("bad point: x or y not field elements");if(!T(N,D))throw new Error("bad point: equation left != right");if(!j.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function V(j,N,D,l,h){return D=new F(r.mul(D.X,j),D.Y,D.Z),N=vc(l,N),D=vc(h,D),N.add(D)}class F{static BASE=new F(i.Gx,i.Gy,r.ONE);static ZERO=new F(r.ZERO,r.ONE,r.ZERO);static Fp=r;static Fn=s;X;Y;Z;constructor(N,D,l){this.X=C("x",N),this.Y=C("y",D,!0),this.Z=C("z",l),Object.freeze(this)}static CURVE(){return i}static fromAffine(N){let{x:D,y:l}=N||{};if(!N||!r.isValid(D)||!r.isValid(l))throw new Error("invalid affine point");if(N instanceof F)throw new Error("projective point not allowed");return r.is0(D)&&r.is0(l)?F.ZERO:new F(D,l,r.ONE)}static fromBytes(N){let D=F.fromAffine(b(De(N,void 0,"point")));return D.assertValidity(),D}static fromHex(N){return F.fromBytes(zi(N))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(N=8,D=!0){return ee.createCache(this,N),D||this.multiply(kl),this}assertValidity(){q(this)}hasEvenY(){let{y:N}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(N)}equals(N){U(N);let{X:D,Y:l,Z:h}=this,{X:y,Y:w,Z:_}=N,S=r.eql(r.mul(D,_),r.mul(y,h)),I=r.eql(r.mul(l,_),r.mul(w,h));return S&&I}negate(){return new F(this.X,r.neg(this.Y),this.Z)}double(){let{a:N,b:D}=i,l=r.mul(D,kl),{X:h,Y:y,Z:w}=this,_=r.ZERO,S=r.ZERO,I=r.ZERO,k=r.mul(h,h),g=r.mul(y,y),E=r.mul(w,w),G=r.mul(h,y);return G=r.add(G,G),I=r.mul(h,w),I=r.add(I,I),_=r.mul(N,I),S=r.mul(l,E),S=r.add(_,S),_=r.sub(g,S),S=r.add(g,S),S=r.mul(_,S),_=r.mul(G,_),I=r.mul(l,I),E=r.mul(N,E),G=r.sub(k,E),G=r.mul(N,G),G=r.add(G,I),I=r.add(k,k),k=r.add(I,k),k=r.add(k,E),k=r.mul(k,G),S=r.add(S,k),E=r.mul(y,w),E=r.add(E,E),k=r.mul(E,G),_=r.sub(_,k),I=r.mul(E,g),I=r.add(I,I),I=r.add(I,I),new F(_,S,I)}add(N){U(N);let{X:D,Y:l,Z:h}=this,{X:y,Y:w,Z:_}=N,S=r.ZERO,I=r.ZERO,k=r.ZERO,g=i.a,E=r.mul(i.b,kl),G=r.mul(D,y),z=r.mul(l,w),K=r.mul(h,_),re=r.add(D,l),se=r.add(y,w);re=r.mul(re,se),se=r.add(G,z),re=r.sub(re,se),se=r.add(D,h);let ve=r.add(y,_);return se=r.mul(se,ve),ve=r.add(G,K),se=r.sub(se,ve),ve=r.add(l,h),S=r.add(w,_),ve=r.mul(ve,S),S=r.add(z,K),ve=r.sub(ve,S),k=r.mul(g,se),S=r.mul(E,K),k=r.add(S,k),S=r.sub(z,k),k=r.add(z,k),I=r.mul(S,k),z=r.add(G,G),z=r.add(z,G),K=r.mul(g,K),se=r.mul(E,se),z=r.add(z,K),K=r.sub(G,K),K=r.mul(g,K),se=r.add(se,K),G=r.mul(z,se),I=r.add(I,G),G=r.mul(ve,se),S=r.mul(re,S),S=r.sub(S,G),G=r.mul(re,z),k=r.mul(ve,k),k=r.add(k,G),new F(S,I,k)}subtract(N){return this.add(N.negate())}is0(){return this.equals(F.ZERO)}multiply(N){let{endo:D}=e;if(!s.isValidNot0(N))throw new Error("invalid scalar: out of range");let l,h,y=w=>ee.cached(this,w,_=>_h(F,_));if(D){let{k1neg:w,k1:_,k2neg:S,k2:I}=L(N),{p:k,f:g}=y(_),{p:E,f:G}=y(I);h=g.add(G),l=V(D.beta,k,E,w,S)}else{let{p:w,f:_}=y(N);l=w,h=_}return _h(F,[l,h])[0]}multiplyUnsafe(N){let{endo:D}=e,l=this;if(!s.isValid(N))throw new Error("invalid scalar: out of range");if(N===_s||l.is0())return F.ZERO;if(N===Ko)return l;if(ee.hasCache(this))return this.multiply(N);if(D){let{k1neg:h,k1:y,k2neg:w,k2:_}=L(N),{p1:S,p2:I}=Ew(F,l,y,_);return V(D.beta,S,I,h,w)}else return ee.unsafe(l,N)}toAffine(N){return P(this,N)}isTorsionFree(){let{isTorsionFree:N}=e;return o===Ko?!0:N?N(F,this):ee.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:N}=e;return o===Ko?this:N?N(F,this):this.multiplyUnsafe(o)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}toBytes(N=!0){return gc(N,"isCompressed"),this.assertValidity(),m(F,this,N)}toHex(N=!0){return Hi(this.toBytes(N))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let X=s.BITS,ee=new _l(F,e.endo?Math.ceil(X/2):X);return F.BASE.precompute(8),F}function Cw(t){return Uint8Array.of(t?2:3)}function Nw(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function yA(t,e={}){let{Fn:n}=t,r=e.randomBytes||gl,s=Object.assign(Nw(t.Fp,n),{seed:gh(n.ORDER)});function i(m){try{let b=n.fromBytes(m);return n.isValidNot0(b)}catch{return!1}}function o(m,b){let{publicKey:v,publicKeyUncompressed:T}=s;try{let O=m.length;return b===!0&&O!==v||b===!1&&O!==T?!1:!!t.fromBytes(m)}catch{return!1}}function a(m=r(s.seed)){return yh(De(m,s.seed,"seed"),n.ORDER)}function c(m,b=!0){return t.BASE.multiply(n.fromBytes(m)).toBytes(b)}function u(m){let{secretKey:b,publicKey:v,publicKeyUncompressed:T}=s;if(!lc(m)||"_lengths"in n&&n._lengths||b===v)return;let O=De(m,void 0,"key").length;return O===v||O===T}function d(m,b,v=!0){if(u(m)===!0)throw new Error("first arg must be private key");if(u(b)===!1)throw new Error("second arg must be public key");let T=n.fromBytes(m);return t.fromBytes(b).multiply(T).toBytes(v)}let f={isValidSecretKey:i,isValidPublicKey:o,randomSecretKey:a},p=xw(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:d,keygen:p,Point:t,utils:f,lengths:s})}function Rw(t,e,n={}){ml(e),wc(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),n=Object.assign({},n);let r=n.randomBytes||gl,s=n.hmac||((D,l)=>Jo(e,D,l)),{Fp:i,Fn:o}=t,{ORDER:a,BITS:c}=o,{keygen:u,getPublicKey:d,getSharedSecret:f,utils:p,lengths:m}=yA(t,n),b={prehash:!0,lowS:typeof n.lowS=="boolean"?n.lowS:!0,format:"compact",extraEntropy:!1},v=a*Iw<i.ORDER;function T(D){let l=a>>Ko;return D>l}function O(D,l){if(!o.isValidNot0(l))throw new Error(`invalid signature ${D}: out of range 1..Point.Fn.ORDER`);return l}function B(){if(v)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function C(D,l){kh(l);let h=m.signature,y=l==="compact"?h:l==="recovered"?h+1:void 0;return De(D,y)}class U{r;s;recovery;constructor(l,h,y){if(this.r=O("r",l),this.s=O("s",h),y!=null){if(B(),![0,1,2,3].includes(y))throw new Error("invalid recovery id");this.recovery=y}Object.freeze(this)}static fromBytes(l,h=b.format){C(l,h);let y;if(h==="der"){let{r:I,s:k}=ii.toSig(De(l));return new U(I,k)}h==="recovered"&&(y=l[0],h="compact",l=l.subarray(1));let w=m.signature/2,_=l.subarray(0,w),S=l.subarray(w,w*2);return new U(o.fromBytes(_),o.fromBytes(S),y)}static fromHex(l,h){return this.fromBytes(zi(l),h)}assertRecovery(){let{recovery:l}=this;if(l==null)throw new Error("invalid recovery id: must be present");return l}addRecoveryBit(l){return new U(this.r,this.s,l)}recoverPublicKey(l){let{r:h,s:y}=this,w=this.assertRecovery(),_=w===2||w===3?h+a:h;if(!i.isValid(_))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let S=i.toBytes(_),I=t.fromBytes(yn(Cw((w&1)===0),S)),k=o.inv(_),g=P(De(l,void 0,"msgHash")),E=o.create(-g*k),G=o.create(y*k),z=t.BASE.multiplyUnsafe(E).add(I.multiplyUnsafe(G));if(z.is0())throw new Error("invalid recovery: point at infinify");return z.assertValidity(),z}hasHighS(){return T(this.s)}toBytes(l=b.format){if(kh(l),l==="der")return zi(ii.hexFromSig(this));let{r:h,s:y}=this,w=o.toBytes(h),_=o.toBytes(y);return l==="recovered"?(B(),yn(Uint8Array.of(this.assertRecovery()),w,_)):yn(w,_)}toHex(l){return Hi(this.toBytes(l))}}let L=n.bits2int||function(l){if(l.length>8192)throw new Error("input is too large");let h=zo(l),y=l.length*8-c;return y>0?h>>BigInt(y):h},P=n.bits2int_modN||function(l){return o.create(L(l))},q=bc(c);function V(D){return aw("num < 2^"+c,D,_s,q),o.toBytes(D)}function F(D,l){return De(D,void 0,"message"),l?De(e(D),void 0,"prehashed message"):D}function X(D,l,h){let{lowS:y,prehash:w,extraEntropy:_}=Th(h,b);D=F(D,w);let S=P(D),I=o.fromBytes(l);if(!o.isValidNot0(I))throw new Error("invalid private key");let k=[V(I),V(S)];if(_!=null&&_!==!1){let z=_===!0?r(m.secretKey):_;k.push(De(z,void 0,"extraEntropy"))}let g=yn(...k),E=S;function G(z){let K=L(z);if(!o.isValidNot0(K))return;let re=o.inv(K),se=t.BASE.multiply(K).toAffine(),ve=o.create(se.x);if(ve===_s)return;let Zt=o.create(re*o.create(E+ve*I));if(Zt===_s)return;let Be=(se.x===ve?0:2)|Number(se.y&Ko),Pe=Zt;return y&&T(Zt)&&(Pe=o.neg(Zt),Be^=1),new U(ve,Pe,v?void 0:Be)}return{seed:g,k2sig:G}}function ee(D,l,h={}){let{seed:y,k2sig:w}=X(D,l,h);return cw(e.outputLen,o.BYTES,s)(y,w).toBytes(h.format)}function j(D,l,h,y={}){let{lowS:w,prehash:_,format:S}=Th(y,b);if(h=De(h,void 0,"publicKey"),l=F(l,_),!lc(D)){let I=D instanceof U?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+I)}C(D,S);try{let I=U.fromBytes(D,S),k=t.fromBytes(h);if(w&&I.hasHighS())return!1;let{r:g,s:E}=I,G=P(l),z=o.inv(E),K=o.create(G*z),re=o.create(g*z),se=t.BASE.multiplyUnsafe(K).add(k.multiplyUnsafe(re));return se.is0()?!1:o.create(se.x)===g}catch{return!1}}function N(D,l,h={}){let{prehash:y}=Th(h,b);return l=F(l,y),U.fromBytes(D,"recovered").recoverPublicKey(l).toBytes()}return Object.freeze({keygen:u,getPublicKey:d,getSharedSecret:f,utils:p,lengths:m,Point:t,sign:ee,verify:j,recoverPublicKey:N,Signature:U,hash:e})}var xh={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},bA={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Bw=BigInt(2);function wA(t){let e=xh.p,n=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,d=u*u*t%e,f=Wn(d,n,e)*d%e,p=Wn(f,n,e)*d%e,m=Wn(p,Bw,e)*u%e,b=Wn(m,s,e)*m%e,v=Wn(b,i,e)*b%e,T=Wn(v,a,e)*v%e,O=Wn(T,c,e)*T%e,B=Wn(O,a,e)*v%e,C=Wn(B,n,e)*d%e,U=Wn(C,o,e)*b%e,L=Wn(U,r,e)*u%e,P=Wn(L,Bw,e);if(!Sh.eql(Sh.sqr(P),t))throw new Error("Cannot find square root");return P}var Sh=Wo(xh.p,{sqrt:wA}),vA=Aw(xh,{Fp:Sh,endo:bA}),Xi=Rw(vA,mc);var _A=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),jw=(()=>Uint8Array.from(new Array(16).fill(0).map((t,e)=>e)))(),TA=(()=>jw.map(t=>(9*t+5)%16))(),Dw=(()=>{let n=[[jw],[TA]];for(let r=0;r<4;r++)for(let s of n)s.push(s[r].map(i=>_A[i]));return n})(),Uw=(()=>Dw[0])(),Pw=(()=>Dw[1])(),Lw=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(t=>Uint8Array.from(t)),kA=Uw.map((t,e)=>t.map(n=>Lw[e][n])),EA=Pw.map((t,e)=>t.map(n=>Lw[e][n])),SA=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),xA=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Mw(t,e,n,r){return t===0?e^n^r:t===1?e&n|~e&r:t===2?(e|~n)^r:t===3?e&r|n&~r:e^(n|~r)}var El=new Uint32Array(16),Oh=class extends Wi{h0=1732584193;h1=-271733879;h2=-1732584194;h3=271733878;h4=-1009589776;constructor(){super(64,20,8,!0)}get(){let{h0:e,h1:n,h2:r,h3:s,h4:i}=this;return[e,n,r,s,i]}set(e,n,r,s,i){this.h0=e|0,this.h1=n|0,this.h2=r|0,this.h3=s|0,this.h4=i|0}process(e,n){for(let m=0;m<16;m++,n+=4)El[m]=e.getUint32(n,!0);let r=this.h0|0,s=r,i=this.h1|0,o=i,a=this.h2|0,c=a,u=this.h3|0,d=u,f=this.h4|0,p=f;for(let m=0;m<5;m++){let b=4-m,v=SA[m],T=xA[m],O=Uw[m],B=Pw[m],C=kA[m],U=EA[m];for(let L=0;L<16;L++){let P=dc(r+Mw(m,i,a,u)+El[O[L]]+v,C[L])+f|0;r=f,f=u,u=dc(a,10)|0,a=i,i=P}for(let L=0;L<16;L++){let P=dc(s+Mw(b,o,c,d)+El[B[L]]+T,U[L])+p|0;s=p,p=d,d=dc(c,10)|0,c=o,o=P}}this.set(this.h1+a+d|0,this.h2+u+p|0,this.h3+f+s|0,this.h4+r+o|0,this.h0+i+c|0)}roundClean(){ir(El)}destroy(){this.destroyed=!0,ir(this.buffer),this.set(0,0,0,0,0)}},Vw=fc(()=>new Oh);var Tc=Xi.Point,{Fn:_c}=Tc,Ih=g0(mc),OA=Uint8Array.from("Bitcoin seed".split(""),t=>t.charCodeAt(0)),Ah={private:76066276,public:76067358},Ch=2147483648,IA=t=>Vw(mc(t)),AA=t=>ti(t).getUint32(0,!1),Sl=t=>{if(!Number.isSafeInteger(t)||t<0||t>2**32-1)throw new Error("invalid number, should be from 0 to 2**32-1, got "+t);let e=new Uint8Array(4);return ti(e).setUint32(0,t,!1),e},Hr=class{get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return AA(this.pubHash)}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this._privateKey||null}get publicKey(){return this._publicKey||null}get privateExtendedKey(){let e=this._privateKey;if(!e)throw new Error("No private key");return Ih.encode(this.serialize(this.versions.private,yn(Uint8Array.of(0),e)))}get publicExtendedKey(){if(!this._publicKey)throw new Error("No public key");return Ih.encode(this.serialize(this.versions.public,this._publicKey))}static fromMasterSeed(e,n=Ah){if(De(e),8*e.length<128||8*e.length>512)throw new Error("HDKey: seed length must be between 128 and 512 bits; 256 bits is advised, got "+e.length);let r=Jo(oh,OA,e),s=r.slice(0,32),i=r.slice(32);return new Hr({versions:n,chainCode:i,privateKey:s})}static fromExtendedKey(e,n=Ah){let r=Ih.decode(e),s=ti(r),i=s.getUint32(0,!1),o={versions:n,depth:r[4],parentFingerprint:s.getUint32(5,!1),index:s.getUint32(9,!1),chainCode:r.slice(13,45)},a=r.slice(45),c=a[0]===0;if(i!==n[c?"private":"public"])throw new Error("Version mismatch");return c?new Hr({...o,privateKey:a.slice(1)}):new Hr({...o,publicKey:a})}static fromJSON(e){return Hr.fromExtendedKey(e.xpriv)}versions;depth=0;index=0;chainCode=null;parentFingerprint=0;_privateKey;_publicKey;pubHash;constructor(e){if(!e||typeof e!="object")throw new Error("HDKey.constructor must not be called directly");if(this.versions=e.versions||Ah,this.depth=e.depth||0,this.chainCode=e.chainCode||null,this.index=e.index||0,this.parentFingerprint=e.parentFingerprint||0,!this.depth&&(this.parentFingerprint||this.index))throw new Error("HDKey: zero depth with non-zero index/parent fingerprint");if(this.depth>255)throw new Error("HDKey: depth exceeds the serializable value 255");if(e.publicKey&&e.privateKey)throw new Error("HDKey: publicKey and privateKey at same time.");if(e.privateKey){if(!Xi.utils.isValidSecretKey(e.privateKey))throw new Error("Invalid private key");this._privateKey=e.privateKey,this._publicKey=Xi.getPublicKey(e.privateKey,!0)}else if(e.publicKey)this._publicKey=Tc.fromBytes(e.publicKey).toBytes(!0);else throw new Error("HDKey: no public or private key provided");this.pubHash=IA(this._publicKey)}derive(e){if(!/^[mM]'?/.test(e))throw new Error('Path must start with "m" or "M"');if(/^[mM]'?$/.test(e))return this;let n=e.replace(/^[mM]'?\//,"").split("/"),r=this;for(let s of n){let i=/^(\d+)('?)$/.exec(s),o=i&&i[1];if(!i||i.length!==3||typeof o!="string")throw new Error("invalid child index: "+s);let a=+o;if(!Number.isSafeInteger(a)||a>=Ch)throw new Error("Invalid index");i[2]==="'"&&(a+=Ch),r=r.deriveChild(a)}return r}deriveChild(e){if(!this._publicKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let n=Sl(e);if(e>=Ch){let c=this._privateKey;if(!c)throw new Error("Could not derive hardened child key");n=yn(Uint8Array.of(0),c,n)}else n=yn(this._publicKey,n);let r=Jo(oh,this.chainCode,n),s=r.slice(0,32),i=r.slice(32);if(!Xi.utils.isValidSecretKey(s))throw new Error("Tweak bigger than curve order");let o={versions:this.versions,chainCode:i,depth:this.depth+1,parentFingerprint:this.fingerprint,index:e},a=_c.fromBytes(s);try{if(this._privateKey){let c=_c.create(_c.fromBytes(this._privateKey)+a);if(!_c.isValidNot0(c))throw new Error("The tweak was out of range or the resulted private key is invalid");o.privateKey=_c.toBytes(c)}else{let c=Tc.fromBytes(this._publicKey).add(Tc.BASE.multiply(a));if(c.equals(Tc.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");o.publicKey=c.toBytes(!0)}return new Hr(o)}catch{return this.deriveChild(e+1)}}sign(e){if(!this._privateKey)throw new Error("No privateKey set!");return De(e,32),Xi.sign(e,this._privateKey,{prehash:!1})}verify(e,n){if(De(e,32),De(n,64),!this._publicKey)throw new Error("No publicKey set!");return Xi.verify(n,e,this._publicKey,{prehash:!1})}wipePrivateData(){return this._privateKey&&(this._privateKey.fill(0),this._privateKey=void 0),this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(e,n){if(!this.chainCode)throw new Error("No chainCode set");return De(n,33),yn(Sl(e),new Uint8Array([this.depth]),Sl(this.parentFingerprint),Sl(this.index),this.chainCode,n)}};var Fw="m/54'/784'/0'/0/0",xl=class kc extends dl{constructor(e){if(super(),e)this.keypair=e;else{let n=qr.utils.randomSecretKey();this.keypair={publicKey:qr.getPublicKey(n,!0),secretKey:n}}}getKeyScheme(){return"Secp256k1"}static generate(){return new kc}static fromSecretKey(e,n){if(typeof e=="string"){let s=fl(e);if(s.scheme!=="Secp256k1")throw new Error(`Expected a Secp256k1 keypair, got ${s.scheme}`);return this.fromSecretKey(s.secretKey,n)}let r=qr.getPublicKey(e,!0);if(!n||!n.skipValidation){let s=hr(new TextEncoder().encode("sui validation"),{dkLen:32}),i=qr.sign(s,e,{prehash:!1});if(!qr.verify(i,s,r,{lowS:!0,prehash:!1}))throw new Error("Provided secretKey is invalid")}return new kc({publicKey:r,secretKey:e})}static fromSeed(e){return new kc({publicKey:qr.getPublicKey(e,!0),secretKey:e})}getPublicKey(){return new zb(this.keypair.publicKey)}getSecretKey(){return pl(this.keypair.secretKey,this.getKeyScheme())}async sign(e){return qr.sign(e,this.keypair.secretKey,{lowS:!0})}static deriveKeypair(e,n){if(n==null&&(n=Fw),!Mb(n))throw new Error("Invalid derivation path");let r=Hr.fromMasterSeed(qp(e)).derive(n);if(r.publicKey==null||r.privateKey==null)throw new Error("Invalid key");return new kc({publicKey:r.publicKey,secretKey:r.privateKey})}};var Ht={MoveCall(t){let[e,n="",r=""]="target"in t?t.target.split("::"):[t.package,t.module,t.function];return{$kind:"MoveCall",MoveCall:{package:e,module:n,function:r,typeArguments:t.typeArguments??[],arguments:t.arguments??[]}}},TransferObjects(t,e){return{$kind:"TransferObjects",TransferObjects:{objects:t.map(n=>Le(qe,n)),address:Le(qe,e)}}},SplitCoins(t,e){return{$kind:"SplitCoins",SplitCoins:{coin:Le(qe,t),amounts:e.map(n=>Le(qe,n))}}},MergeCoins(t,e){return{$kind:"MergeCoins",MergeCoins:{destination:Le(qe,t),sources:e.map(n=>Le(qe,n))}}},Publish({modules:t,dependencies:e}){return{$kind:"Publish",Publish:{modules:t.map(n=>typeof n=="string"?n:ge(new Uint8Array(n))),dependencies:e.map(n=>$t(n))}}},Upgrade({modules:t,dependencies:e,package:n,ticket:r}){return{$kind:"Upgrade",Upgrade:{modules:t.map(s=>typeof s=="string"?s:ge(new Uint8Array(s))),dependencies:e.map(s=>$t(s)),package:n,ticket:Le(qe,r)}}},MakeMoveVec({type:t,elements:e}){return{$kind:"MakeMoveVec",MakeMoveVec:{type:t??null,elements:e.map(n=>Le(qe,n))}}},Intent({name:t,inputs:e={},data:n={}}){return{$kind:"$Intent",$Intent:{name:t,inputs:Object.fromEntries(Object.entries(e).map(([r,s])=>[r,Array.isArray(s)?s.map(i=>Le(qe,i)):Le(qe,s)])),data:n}}}};function CA(t){return{$kind:"Pure",Pure:{bytes:t instanceof Uint8Array?ge(t):t.toBase64()}}}var nt={Pure:CA,ObjectRef({objectId:t,digest:e,version:n}){return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{digest:e,version:n,objectId:Q(t)}}}},SharedObjectRef({objectId:t,mutable:e,initialSharedVersion:n}){return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{mutable:e,initialSharedVersion:n,objectId:Q(t)}}}},ReceivingRef({objectId:t,digest:e,version:n}){return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{digest:e,version:n,objectId:Q(t)}}}},FundsWithdrawal({reservation:t,typeArg:e,withdrawFrom:n}){return{$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:t,typeArg:e,withdrawFrom:n}}}};function qw(t){let e=t.split("::");if(e.length!==3)throw new Error(`Invalid type name format: ${t}`);return{package:e[0],module:e[1],name:e[2]}}function $w(t){if(t.body.$kind!=="datatype")return!1;let{package:e,module:n,name:r}=qw(t.body.datatype.typeName);return Q(e)===is&&n==="tx_context"&&r==="TxContext"}function Ol(t){switch(t.$kind){case"address":return A.Address;case"bool":return A.Bool;case"u8":return A.U8;case"u16":return A.U16;case"u32":return A.U32;case"u64":return A.U64;case"u128":return A.U128;case"u256":return A.U256;case"vector":{if(t.vector.$kind==="u8")return A.byteVector().transform({input:n=>typeof n=="string"?new TextEncoder().encode(n):n,output:n=>n});let e=Ol(t.vector);return e?A.vector(e):null}case"datatype":{let{package:e,module:n,name:r}=qw(t.datatype.typeName),s=Q(e);if(s===Aa){if(n==="ascii"&&r==="String")return A.String;if(n==="string"&&r==="String")return A.String;if(n==="option"&&r==="Option"){let i=Ol(t.datatype.typeParameters[0]);return i?A.vector(i):null}}return s===is&&n==="object"&&r==="ID"?A.Address:null}case"typeParameter":case"unknown":return null}}var zr="CoinWithBalance",Ts=ye("0x2::sui::SUI");function or({type:t=Ts,balance:e,useGasCoin:n=!0}){let r=null;return s=>{if(r)return r;s.addIntentResolver(zr,Il);let i=t==="gas"?t:ye(t);return r=s.add(Ht.Intent({name:zr,inputs:{},data:{type:i===Ts&&n?"gas":i,balance:BigInt(e),outputKind:"coin"}})),r}}function Gw({type:t=Ts,balance:e,useGasCoin:n=!0}){let r=null;return s=>{if(r)return r;s.addIntentResolver(zr,Il);let i=t==="gas"?t:ye(t);return r=s.add(Ht.Intent({name:zr,inputs:{},data:{type:i===Ts&&n?"gas":i,balance:BigInt(e),outputKind:"balance"}})),r}}var NA=J({type:Te(),balance:Io(),outputKind:Ke(Rf(["coin","balance"]))});async function Il(t,e,n){let r=new Set,s=new Map,i=new Map;if(!t.sender)throw new Error("Sender must be set to resolve CoinWithBalance");for(let[v,T]of t.commands.entries()){if(T.$kind!=="$Intent"||T.$Intent.name!==zr)continue;let{type:O,balance:B,outputKind:C}=Le(NA,T.$Intent.data);if(B===0n){let U=O==="gas"?Ts:O;t.replaceCommand(v,Ht.MoveCall({target:(C??"coin")==="balance"?"0x2::balance::zero":"0x2::coin::zero",typeArguments:[U]}));continue}O!=="gas"&&r.add(O),s.set(O,(s.get(O)??0n)+B),i.has(O)||i.set(O,[]),i.get(O).push({balance:B,outputKind:C??"coin"})}if(s.has("gas")&&s.has(Ts))throw new Error("Cannot mix SUI CoinWithBalance intents that use the gas coin with ones that do not (useGasCoin: false). Use one or the other.");let o=new Set;for(let v of t.inputs)v.Object?.ImmOrOwnedObject&&o.add(v.Object.ImmOrOwnedObject.objectId),v.UnresolvedObject?.objectId&&o.add(v.UnresolvedObject.objectId);let a=new Map,c=new Map,u=e.client;if(!u)throw new Error("Client must be provided to build or serialize transactions with CoinWithBalance intents");await Promise.all([...[...r].map(async v=>{let{coins:T,addressBalance:O}=await RA({coinType:v,balance:s.get(v),client:u,owner:t.sender,usedIds:o});a.set(v,T),c.set(v,O)}),s.has("gas")?await u.core.getBalance({owner:t.sender,coinType:Ts}).then(({balance:v})=>{c.set("gas",BigInt(v.addressBalance))}):null]);let d=new Map,f=new Map,p=new Set,m=new Map,b=0;for(;b<t.commands.length;){let v=t.commands[b];if(v.$kind!=="$Intent"||v.$Intent.name!==zr){b++;continue}let{type:T,balance:O}=v.$Intent.data,B=T==="gas"?Ts:T,C=s.get(T),U=c.get(T)??0n,L=[],P,q=i.get(T)??[];if(q.every(V=>V.outputKind==="balance")&&U>=C)L.push(Ht.MoveCall({target:"0x2::balance::redeem_funds",typeArguments:[B],arguments:[t.addInput("withdrawal",nt.FundsWithdrawal({reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(O)},typeArg:{$kind:"Balance",Balance:B},withdrawFrom:{$kind:"Sender",Sender:!0}}))]})),P={$kind:"NestedResult",NestedResult:[b+L.length-1,0]};else{if(!m.has(T)){let F=q,X=[];if(U>=C)p.add(T),L.push(Ht.MoveCall({target:"0x2::coin::redeem_funds",typeArguments:[B],arguments:[t.addInput("withdrawal",nt.FundsWithdrawal({reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(C)},typeArg:{$kind:"Balance",Balance:B},withdrawFrom:{$kind:"Sender",Sender:!0}}))]})),X.push({$kind:"Result",Result:b+L.length-1});else if(T==="gas")X.push({$kind:"GasCoin",GasCoin:!0});else{let l=a.get(T),h=l.reduce((w,_)=>w+BigInt(_.balance),0n),y=C>h?C-h:0n;f.set(T,h+y===C);for(let w of l)X.push(t.addInput("object",nt.ObjectRef({objectId:w.objectId,digest:w.digest,version:w.version})));y>0n&&(p.add(T),L.push(Ht.MoveCall({target:"0x2::coin::redeem_funds",typeArguments:[B],arguments:[t.addInput("withdrawal",nt.FundsWithdrawal({reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(y)},typeArg:{$kind:"Balance",Balance:B},withdrawFrom:{$kind:"Sender",Sender:!0}}))]})),X.push({$kind:"Result",Result:b+L.length-1}))}let ee=X[0],j=X.slice(1);for(let l=0;l<j.length;l+=500)L.push(Ht.MergeCoins(ee,j.slice(l,l+500)));d.set(T,ee);let N=b+L.length;L.push(Ht.SplitCoins(ee,F.map(l=>t.addInput("pure",nt.Pure(A.u64().serialize(l.balance))))));let D=[];for(let l=0;l<F.length;l++){let h={$kind:"NestedResult",NestedResult:[N,l]};F[l].outputKind==="balance"?(L.push(Ht.MoveCall({target:"0x2::coin::into_balance",typeArguments:[B],arguments:[h]})),D.push({$kind:"NestedResult",NestedResult:[b+L.length-1,0]})):D.push(h)}m.set(T,{results:D,nextIntent:0})}let V=m.get(T);P=V.results[V.nextIntent++]}t.replaceCommand(b,L,P),b+=L.length}for(let[v,T]of d){if(v==="gas"&&!p.has(v))continue;let O=v==="gas"?Ts:v,B=i.get(v)?.some(U=>U.outputKind==="balance"),C=p.has(v);B||C?t.commands.push(Ht.MoveCall({target:"0x2::coin::send_funds",typeArguments:[O],arguments:[T,t.addInput("pure",nt.Pure(A.Address.serialize(t.sender)))]})):f.get(v)&&t.commands.push(Ht.MoveCall({target:"0x2::coin::destroy_zero",typeArguments:[O],arguments:[T]}))}return n()}async function RA({coinType:t,balance:e,client:n,owner:r,usedIds:s}){let i=e,o=[],a=n.core.getBalance({owner:r,coinType:t}).then(({balance:f})=>(i-=BigInt(f.addressBalance),f)),[c,u]=await Promise.all([d(),a]);if(BigInt(u.balance)<e)throw new Error(`Insufficient balance of ${t} for owner ${r}. Required: ${e}, Available: ${e-i}`);return{coins:c,balance:BigInt(u.coinBalance),addressBalance:BigInt(u.addressBalance),coinBalance:BigInt(u.coinBalance)};async function d(f=null){let{objects:p,hasNextPage:m,cursor:b}=await n.core.listCoins({owner:r,coinType:t,cursor:f});await a;for(let v of p)s.has(v.objectId)||(o.push(v),i-=BigInt(v.balance));return i>0n&&m?d(b):o}}function Ec(t){return st(Object.entries(t).map(([e,n])=>J({[e]:n})))}var Sr=Ec({GasCoin:de(!0),Input:Fe(He(),ze()),Result:Fe(He(),ze()),NestedResult:Na([Fe(He(),ze()),Fe(He(),ze())])}),BA=J({budget:Oe(it),price:Oe(it),owner:Oe(Si),payment:Oe(me(gr))}),MA=J({package:kn,module:Te(),function:Te(),typeArguments:me(Te()),arguments:me(Sr)}),jA=J({name:Te(),inputs:Ei(Te(),st([Sr,me(Sr)])),data:Ei(Te(),jr())}),DA=Ec({MoveCall:MA,TransferObjects:J({objects:me(Sr),address:Sr}),SplitCoins:J({coin:Sr,amounts:me(Sr)}),MergeCoins:J({destination:Sr,sources:me(Sr)}),Publish:J({modules:me(Ds),dependencies:me(kn)}),MakeMoveVec:J({type:Oe(Te()),elements:me(Sr)}),Upgrade:J({modules:me(Ds),dependencies:me(kn),package:kn,ticket:Sr}),$Intent:jA}),UA=Ec({Object:Ec({ImmOrOwnedObject:gr,SharedObject:J({objectId:kn,initialSharedVersion:it,mutable:os()}),Receiving:gr}),Pure:J({bytes:Ds}),UnresolvedPure:J({value:jr()}),UnresolvedObject:J({objectId:kn,version:Ke(Oe(it)),digest:Ke(Oe(Te())),initialSharedVersion:Ke(Oe(it)),mutable:Ke(Oe(os()))}),FundsWithdrawal:Mf}),PA=Ec({None:de(!0),Epoch:it,ValidDuring:Df}),Hw=J({version:de(2),sender:as(Si),expiration:as(PA),gasData:BA,inputs:me(UA),commands:me(DA),digest:Ke(Oe(Te()))});var LA=Q("0xacc"),VA=$n.parseFromStr("0x2::accumulator::Key<0x2::balance::Balance<0x2::sui::SUI>>"),zw=new Uint8Array([172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172]);function Nh(t){return pn(t).slice(12,32).every((e,n)=>e===zw[n])}function FA(t,e){let n=hn(mr(LA,VA,A.Address.serialize(t).toBytes()).slice(2)),r=pn(e);if(r.length!==32)throw new Error(`Invalid chain identifier length: expected 32 bytes, got ${r.length}`);let s=new Uint8Array(32);for(let i=0;i<32;i++)s[i]=n[i]^r[i];return`0x${qt(s)}`}function Ww(t,e,n,r){let s=new Uint8Array(32),i=new DataView(s.buffer);i.setBigUint64(0,t,!0);let o=Number(r);if(!Number.isSafeInteger(o)||o<0||o>4294967295)throw new Error(`Epoch ${r} out of u32 range for coin reservation digest`);return i.setUint32(8,o,!0),s.set(zw,12),Le(gr,{objectId:FA(e,n),version:"0",digest:qn(s)})}var qA=50,$A=1000n,GA=5e10;function Rh(t,e=1n){let n=$A*BigInt(e),r=BigInt(t.computationCost)+n,s=r+BigInt(t.storageCost)-BigInt(t.storageRebate);return String(s>r?s:r)}function HA(t){if(!t.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return t.client}async function Al(t,e,n){let r=HA(e),s=!e.onlyTransactionKind&&!t.gasData.price,i=!e.onlyTransactionKind&&!t.gasData.payment,o=t.gasData.owner??t.sender,a=!1,c=0n;t.mapArguments(O=>(O.$kind==="GasCoin"&&(a=!0),O));let u=o?Q(o):null;for(let O of t.inputs){if(O.$kind!=="FundsWithdrawal"||!u||ye(O.FundsWithdrawal.typeArg.Balance)!==Qn)continue;let B=O.FundsWithdrawal.withdrawFrom.Sender?t.sender:o;B&&Q(B)===u&&O.FundsWithdrawal.reservation.$kind==="MaxAmountU64"&&(c+=BigInt(O.FundsWithdrawal.reservation.MaxAmountU64))}let d=!e.onlyTransactionKind&&!t.expiration&&!t.gasData.budget,f=s||i&&a||d,p=i&&a||d,[,m,b,v,T]=await Promise.all([KA(t,r),f?r.core.getCurrentSystemState():null,i&&o?r.core.getBalance({owner:o}):null,i&&o?r.core.listCoins({owner:o,coinType:Qn}):null,p?r.core.getChainIdentifier():null]);if(await JA(t,r),!e.onlyTransactionKind){let O=m?.systemState??null,B=T?.chainIdentifier??null;if(O&&!t.gasData.price&&(t.gasData.price=O.referenceGasPrice),await zA(t,r,d&&O&&B?Zw(O,B):void 0),i){if(!b||!v)throw new Error("Could not resolve gas payment: a gas owner or sender must be set to fetch balance and coins.");WA({transactionData:t,balance:b,coins:v,usesGasCoin:a,withdrawals:c,gasPayer:o,chainIdentifier:B,epoch:O?.epoch??null})}!t.expiration&&t.gasData.payment?.length===0&&await ZA(t,r,O,B)}return await n()}async function zA(t,e,n){if(t.gasData.budget)return;let r=await e.core.simulateTransaction({transaction:t.build({overrides:{gasData:{budget:String(GA),payment:[]},...n&&{expiration:n}}}),include:{effects:!0}});if(r.$kind==="FailedTransaction"){let s=r.FailedTransaction.status.error??void 0;throw new Ii(`Transaction resolution failed: ${s?.message??"Unknown error"}`,{cause:r,executionError:s})}t.gasData.budget=Rh(r.Transaction.effects.gasUsed,t.gasData.price?String(t.gasData.price):void 0)}function WA({transactionData:t,balance:e,coins:n,usesGasCoin:r,withdrawals:s,gasPayer:i,chainIdentifier:o,epoch:a}){let c=BigInt(t.gasData.budget),u=BigInt(e.balance.addressBalance);if(c===0n||!r&&u>=c+s){t.gasData.payment=[];return}let d=n.objects.filter(m=>!t.inputs.find(b=>b.Object?.ImmOrOwnedObject?m.objectId===b.Object.ImmOrOwnedObject.objectId:!1)),f=d.map(m=>({objectId:m.objectId,digest:m.digest,version:m.version})),p=u-s;if(r&&p>0n&&o&&a)t.gasData.payment=[Ww(p,i,o,a),...f];else if(d.length)t.gasData.payment=f;else throw new Error("No valid gas coins found for the transaction.")}async function ZA(t,e,n,r=null){let[s,i]=await Promise.all([r??e.core.getChainIdentifier().then(o=>o.chainIdentifier),n??e.core.getCurrentSystemState().then(o=>o.systemState)]);t.expiration=Zw(i,s)}function Zw(t,e){let n=BigInt(t.epoch);return{$kind:"ValidDuring",ValidDuring:{minEpoch:String(n),maxEpoch:String(n+1n),minTimestamp:null,maxTimestamp:null,chain:e,nonce:Math.random()*4294967296>>>0}}}async function JA(t,e){let n=t.inputs.filter(d=>d.UnresolvedObject&&!(d.UnresolvedObject.version||d.UnresolvedObject?.initialSharedVersion)),r=[...new Set(n.map(d=>$t(d.UnresolvedObject.objectId)))],s=r.length?Yn(r,qA):[],i=(await Promise.all(s.map(d=>e.core.getObjects({objectIds:d})))).flatMap(d=>d.objects),o=new Map(r.map((d,f)=>[d,i[f]])),a=Array.from(o).filter(([d,f])=>f instanceof Error).map(([d,f])=>f.message);if(a.length)throw new Error(`The following input objects are invalid: ${a.join(", ")}`);let c=i.map(d=>{if(d instanceof Error)throw new Error(`Failed to fetch object: ${d.message}`);let f=d.owner,p=f&&typeof f=="object"?f.$kind==="Shared"?f.Shared.initialSharedVersion:f.$kind==="ConsensusAddressOwner"?f.ConsensusAddressOwner.startVersion:null:null;return{objectId:d.objectId,digest:d.digest,version:d.version,initialSharedVersion:p}}),u=new Map(r.map((d,f)=>[d,c[f]]));for(let[d,f]of t.inputs.entries()){if(!f.UnresolvedObject)continue;let p,m=Q(f.UnresolvedObject.objectId),b=u.get(m);f.UnresolvedObject.initialSharedVersion??b?.initialSharedVersion?p=nt.SharedObjectRef({objectId:m,initialSharedVersion:f.UnresolvedObject.initialSharedVersion||b?.initialSharedVersion,mutable:f.UnresolvedObject.mutable||YA(t,d)}):XA(t,d)&&(p=nt.ReceivingRef({objectId:m,digest:f.UnresolvedObject.digest??b?.digest,version:f.UnresolvedObject.version??b?.version})),t.inputs[t.inputs.indexOf(f)]=p??nt.ObjectRef({objectId:m,digest:f.UnresolvedObject.digest??b?.digest,version:f.UnresolvedObject.version??b?.version})}}async function KA(t,e){let{inputs:n,commands:r}=t,s=[],i=new Set;r.forEach(a=>{if(a.MoveCall){if(a.MoveCall._argumentTypes)return;if(a.MoveCall.arguments.map(c=>c.$kind==="Input"?t.inputs[c.Input]:null).some(c=>c?.UnresolvedPure||c?.UnresolvedObject&&typeof c?.UnresolvedObject.mutable!="boolean")){let c=`${a.MoveCall.package}::${a.MoveCall.module}::${a.MoveCall.function}`;i.add(c),s.push(a.MoveCall)}}});let o=new Map;i.size>0&&await Promise.all([...i].map(async a=>{let[c,u,d]=a.split("::"),{function:f}=await e.core.getMoveFunction({packageId:c,moduleName:u,name:d});o.set(a,f.parameters)})),s.length&&await Promise.all(s.map(async a=>{let c=o.get(`${a.package}::${a.module}::${a.function}`);c&&(a._argumentTypes=c.length>0&&$w(c.at(-1))?c.slice(0,c.length-1):c)})),r.forEach(a=>{if(!a.MoveCall)return;let c=a.MoveCall,u=`${c.package}::${c.module}::${c.function}`,d=c._argumentTypes;if(d){if(d.length!==a.MoveCall.arguments.length)throw new Error(`Incorrect number of arguments for ${u}`);d.forEach((f,p)=>{let m=c.arguments[p];if(m.$kind!=="Input")return;let b=n[m.Input];if(!b.UnresolvedPure&&!b.UnresolvedObject)return;let v=b.UnresolvedPure?.value??b.UnresolvedObject?.objectId,T=Ol(f.body);if(T){m.type="pure",n[n.indexOf(b)]=nt.Pure(T.serialize(v));return}if(typeof v!="string")throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(v,null,2)}`);m.type="object";let O=b.UnresolvedPure?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:v}}:b;n[m.Input]=O})}})}function YA(t,e){let n=!1;return t.getInputUses(e,(r,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){let i=s.MoveCall.arguments.indexOf(r);n=s.MoveCall._argumentTypes[i].reference!=="immutable"||n}(s.$kind==="MakeMoveVec"||s.$kind==="MergeCoins"||s.$kind==="SplitCoins"||s.$kind==="TransferObjects")&&(n=!0)}),n}function XA(t,e){let n=!1;return t.getInputUses(e,(r,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){let i=s.MoveCall.arguments.indexOf(r);n=e6(s.MoveCall._argumentTypes[i])||n}}),n}var QA="0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving";function e6(t){return t.body.$kind!=="datatype"?!1:t.body.datatype.typeName===QA}function Bh(t,e){return!!(t.inputs.some(n=>n.UnresolvedObject||n.UnresolvedPure)||!e.onlyTransactionKind&&(!t.gasData.price||!t.gasData.budget||!t.gasData.payment||t.gasData.payment.length===0&&!t.expiration))}async function Yw(t,e,n){return n6(t),Bh(t,e)?(t6(e).core?.resolveTransactionPlugin()??Al)(t,e,async()=>{await Jw(t),await n()}):(await Jw(t),n())}function Jw(t){t.inputs.forEach((e,n)=>{if(e.$kind!=="Object"&&e.$kind!=="Pure"&&e.$kind!=="FundsWithdrawal")throw new Error(`Input at index ${n} has not been resolved. Expected a Pure, Object, or FundsWithdrawal input, but found ${JSON.stringify(e)}`)})}function t6(t){if(!t.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return t.client}function n6(t){for(let e of t.commands)switch(e.$kind){case"SplitCoins":e.SplitCoins.amounts.forEach(n=>{Kw(n,A.U64,t)});break;case"TransferObjects":Kw(e.TransferObjects.address,A.Address,t);break}}function Kw(t,e,n){if(t.$kind!=="Input")return;let r=n.inputs[t.Input];r.$kind==="UnresolvedPure"&&(n.inputs[t.Input]=nt.Pure(e.serialize(r.UnresolvedPure.value)))}function Xw(t){function e(n){return t(n)}return e.system=n=>{let r=n?.mutable;return e(r!==void 0?nt.SharedObjectRef({objectId:au,initialSharedVersion:1,mutable:r}):{$kind:"UnresolvedObject",UnresolvedObject:{objectId:au,initialSharedVersion:1}})},e.clock=()=>e(nt.SharedObjectRef({objectId:he,initialSharedVersion:1,mutable:!1})),e.random=()=>e({$kind:"UnresolvedObject",UnresolvedObject:{objectId:If,mutable:!1}}),e.denyList=n=>e({$kind:"UnresolvedObject",UnresolvedObject:{objectId:Af,mutable:n?.mutable}}),e.option=({type:n,value:r})=>s=>s.moveCall({typeArguments:[n],target:`${Aa}::option::${r===null?"none":"some"}`,arguments:r===null?[]:[s.object(r)]}),e}function Qw(t){function e(n,r){if(typeof n=="string")return t(Eo(n).serialize(r));if(n instanceof Uint8Array||_o(n))return t(n);throw new Error("tx.pure must be called either a bcs type name, or a serialized bcs value")}return e.u8=n=>t(A.U8.serialize(n)),e.u16=n=>t(A.U16.serialize(n)),e.u32=n=>t(A.U32.serialize(n)),e.u64=n=>t(A.U64.serialize(n)),e.u128=n=>t(A.U128.serialize(n)),e.u256=n=>t(A.U256.serialize(n)),e.bool=n=>t(A.Bool.serialize(n)),e.string=n=>t(A.String.serialize(n)),e.address=n=>t(A.Address.serialize(n)),e.id=e.address,e.vector=(n,r)=>t(A.vector(Eo(n)).serialize(r)),e.option=(n,r)=>t(A.option(Eo(n)).serialize(r)),e}function ev(){return async(t,e,n)=>{let r=ag(t);if(r.types.length===0&&r.packages.length===0)return n();if(!e.client)throw new Error("Transaction contains MVR names but no client was provided to resolve them. Please pass a client to Transaction#build()");cg(t,await e.client.core.mvr.resolve({types:r.types,packages:r.packages})),await n()}}function Mh(t,e=1/0){let n={$kind:"Result",get Result(){return typeof t=="function"?t():t}},r=[],s=i=>r[i]??={$kind:"NestedResult",get NestedResult(){return[typeof t=="function"?t():t,i]}};return new Proxy(n,{set(){throw new Error("The transaction result is a proxy, and does not support setting properties directly")},get(i,o){if(o in i)return Reflect.get(i,o);if(o===Symbol.iterator)return function*(){let c=0;for(;c<e;)yield s(c),c++};if(typeof o=="symbol")return;let a=parseInt(o,10);if(!(Number.isNaN(a)||a<0))return s(a)}})}var tv=Symbol.for("@mysten/transaction");function Nl(t){return!!t&&typeof t=="object"&&t[tv]===!0}var Y=class Cl{#e;#t;#s=new Map;#r=[];#i=[];#o=new Set;#a=new Set;#c=new Map;static fromKind(e){let n=new Cl;return n.#n=En.fromKindBytes(typeof e=="string"?ce(e):e),n.#r=n.#n.inputs.slice(),n.#i=n.#n.commands.slice(),n.#o=new Set(n.#i.map((r,s)=>s)),n}static from(e){let n=new Cl;if(Nl(e)?n.#n=En.restore(e.getData()):typeof e!="string"||!e.startsWith("{")?n.#n=En.fromBytes(typeof e=="string"?ce(e):e):n.#n=En.restore(JSON.parse(e)),n.#r=n.#n.inputs.slice(),n.#i=n.#n.commands.slice(),n.#o=new Set(n.#i.map((r,s)=>s)),!n.isPreparedForSerialization({supportedIntents:[zr]}))throw new Error("Transaction has unresolved intents or async thunks. Call `prepareForSerialization` before copying.");return n.#n.commands.some(r=>r.$Intent?.name===zr)&&n.addIntentResolver(zr,Il),n}addSerializationPlugin(e){this.#e.push(e)}addBuildPlugin(e){this.#t.push(e)}addIntentResolver(e,n){if(this.#s.has(e)&&this.#s.get(e)!==n)throw new Error(`Intent resolver for ${e} already exists`);this.#s.set(e,n)}setSender(e){this.#n.sender=e}setSenderIfNotSet(e){this.#n.sender||(this.#n.sender=e)}setExpiration(e){this.#n.expiration=e?Le(Uf,e):null}setGasPrice(e){this.#n.gasData.price=String(e)}setGasBudget(e){this.#n.gasData.budget=String(e)}setGasBudgetIfNotSet(e){this.#n.gasData.budget==null&&(this.#n.gasData.budget=String(e))}setGasOwner(e){this.#n.gasData.owner=e}setGasPayment(e){this.#n.gasData.payment=e.map(n=>Le(gr,n))}#n;getData(){return this.#n.snapshot()}get[tv](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:Qw(e=>_o(e)?this.#u("pure",{$kind:"Pure",Pure:{bytes:e.toBase64()}}):this.#u("pure",Ca(jf,e)?Le(jf,e):e instanceof Uint8Array?nt.Pure(e):{$kind:"UnresolvedPure",UnresolvedPure:{value:e}}))}),this.pure}constructor(){this.object=Xw(e=>{if(typeof e=="function")return this.object(this.add(e));if(typeof e=="object"&&Ca(qe,e))return e;let n=Co(e),r=this.#n.inputs.find(s=>n===Co(s));return r?.Object?.SharedObject&&typeof e=="object"&&e.Object?.SharedObject&&(r.Object.SharedObject.mutable=r.Object.SharedObject.mutable||e.Object.SharedObject.mutable),r?{$kind:"Input",Input:this.#n.inputs.indexOf(r),type:"object"}:this.#u("object",typeof e=="string"?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:Q(e)}}:e)}),this.#n=new En,this.#t=[],this.#e=[]}get gas(){return{$kind:"GasCoin",GasCoin:!0}}coin({type:e,balance:n,useGasCoin:r}){return this.add(or({type:e,balance:n,useGasCoin:r}))}balance({type:e,balance:n,useGasCoin:r}){return this.add(Gw({type:e,balance:n,useGasCoin:r}))}objectRef(...e){return this.object(nt.ObjectRef(...e))}receivingRef(...e){return this.object(nt.ReceivingRef(...e))}sharedObjectRef(...e){return this.object(nt.SharedObjectRef(...e))}#m(){let e=new Cl;return e.#n=this.#n,e.#e=this.#e,e.#t=this.#t,e.#s=this.#s,e.#a=this.#a,e.#o=new Set(this.#o),e.#c=this.#c,this.#r.push(e.#r),this.#i.push(e.#i),e}add(e){if(typeof e=="function"){if(this.#c.has(e))return this.#c.get(e);let n=this.#m(),r=e(n);if(!(r&&typeof r=="object"&&"then"in r))return this.#o=n.#o,this.#c.set(e,r),r;let s=this.#l({$kind:"$Intent",$Intent:{name:"AsyncTransactionThunk",inputs:{},data:{resultIndex:this.#n.commands.length,result:null}}});this.#a.add(Promise.resolve(r).then(o=>{s.$Intent.data.result=o}));let i=Mh(()=>s.$Intent.data.resultIndex);return this.#c.set(e,i),i}else this.#l(e);return Mh(this.#n.commands.length-1)}#l(e){let n=this.#n.commands.length;return this.#i.push(e),this.#o.add(n),this.#n.commands.push(e),this.#n.mapCommandArguments(n,r=>{if(r.$kind==="Result"&&!this.#o.has(r.Result))throw new Error(`Result { Result: ${r.Result} } is not available to use in the current transaction`);if(r.$kind==="NestedResult"&&!this.#o.has(r.NestedResult[0]))throw new Error(`Result { NestedResult: [${r.NestedResult[0]}, ${r.NestedResult[1]}] } is not available to use in the current transaction`);if(r.$kind==="Input"&&r.Input>=this.#n.inputs.length)throw new Error(`Input { Input: ${r.Input} } references an input that does not exist in the current transaction`);return r}),e}#u(e,n){return this.#r.push(n),this.#n.addInput(e,n)}#d(e){return _o(e)?this.pure(e):this.#f(e)}#f(e){if(typeof e=="function"){let n=this.add(e);return typeof n=="function"?this.#f(n):Le(qe,n)}return Le(qe,e)}splitCoins(e,n){let r=Ht.SplitCoins(typeof e=="string"?this.object(e):this.#f(e),n.map(s=>typeof s=="number"||typeof s=="bigint"||typeof s=="string"?this.pure.u64(s):this.#d(s)));return this.#l(r),Mh(this.#n.commands.length-1,n.length)}mergeCoins(e,n){return this.add(Ht.MergeCoins(this.object(e),n.map(r=>this.object(r))))}publish({modules:e,dependencies:n}){return this.add(Ht.Publish({modules:e,dependencies:n}))}upgrade({modules:e,dependencies:n,package:r,ticket:s}){return this.add(Ht.Upgrade({modules:e,dependencies:n,package:r,ticket:this.object(s)}))}moveCall({arguments:e,...n}){return this.add(Ht.MoveCall({...n,arguments:e?.map(r=>this.#d(r))}))}transferObjects(e,n){return this.add(Ht.TransferObjects(e.map(r=>this.object(r)),typeof n=="string"?this.pure.address(n):this.#d(n)))}makeMoveVec({type:e,elements:n}){return this.add(Ht.MakeMoveVec({type:e,elements:n.map(r=>this.object(r))}))}withdrawal({amount:e,type:n}){let r={$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(e)},typeArg:{$kind:"Balance",Balance:n??"0x2::sui::SUI"},withdrawFrom:{$kind:"Sender",Sender:!0}}};return this.#u("object",r)}serialize(){return JSON.stringify(gg(this.#n.snapshot()))}async toJSON(e={}){await this.prepareForSerialization(e);let n=this.isFullyResolved();return JSON.stringify(Le(Hw,n?{...this.#n.snapshot(),digest:this.#n.getDigest()}:this.#n.snapshot()),(r,s)=>typeof s=="bigint"?s.toString():s,2)}async sign(e){let{signer:n,...r}=e,s=await this.build(r);return n.signTransaction(s)}isPreparedForSerialization(e={}){return!(this.#a.size>0||this.#n.commands.some(n=>n.$Intent&&!e.supportedIntents?.includes(n.$Intent.name)))}isFullyResolved(){return!(!this.isPreparedForSerialization()||!this.#n.sender||Bh(this.#n,{}))}async build(e={}){return await this.prepareForSerialization(e),await this.#p(e),this.#n.build({onlyTransactionKind:e.onlyTransactionKind})}async getDigest(e={}){return await this.prepareForSerialization(e),await this.#p(e),this.#n.getDigest()}async#p(e){if(!e.onlyTransactionKind&&!this.#n.sender)throw new Error("Missing transaction sender");await this.#h([...this.#t,Yw],e)}async#h(e,n){try{let r=s=>{if(s>=e.length)return()=>{};let i=e[s];return async()=>{let o=r(s+1),a=!1,c=!1;if(await i(this.#n,n,async()=>{if(a)throw new Error(`next() was call multiple times in TransactionPlugin ${s}`);a=!0,await o(),c=!0}),!a)throw new Error(`next() was not called in TransactionPlugin ${s}`);if(!c)throw new Error(`next() was not awaited in TransactionPlugin ${s}`)}};await r(0)()}finally{this.#r=this.#n.inputs.slice(),this.#i=this.#n.commands.slice(),this.#o=new Set(this.#i.map((r,s)=>s))}}async#g(){for(;this.#a.size>0;){let e=Promise.all(this.#a);this.#a.clear(),this.#a.add(e),await e,this.#a.delete(e)}}#y(){let e=this.#n.commands,n=this.#n.inputs,r=this.#i.flat(1/0),s=this.#r.flat(1/0);if(r.length!==e.length)throw new Error("Unexpected number of commands found in transaction data");if(s.length!==n.length)throw new Error("Unexpected number of inputs found in transaction data");let i=r.filter(a=>a.$Intent?.name!=="AsyncTransactionThunk");this.#n.commands=i,this.#n.inputs=s,this.#i=i,this.#r=s,this.#o=new Set(i.map((a,c)=>c));function o(a){let c=e[a];if(c.$Intent?.name==="AsyncTransactionThunk"){let d=c.$Intent.data.result;if(d==null)throw new Error("AsyncTransactionThunk has not been resolved");return o(d.Result)}let u=i.indexOf(c);if(u===-1)throw new Error("Unable to find original index for command");return u}this.#n.mapArguments(a=>{if(a.$kind==="Input"){let c=s.indexOf(n[a.Input]);if(c===-1)throw new Error("Input has not been resolved");return{...a,Input:c}}else if(a.$kind==="Result"){let c=o(a.Result);return{...a,Result:c}}else if(a.$kind==="NestedResult"){let c=o(a.NestedResult[0]);return{...a,NestedResult:[c,a.NestedResult[1]]}}return a});for(let[a,c]of e.entries())if(c.$Intent?.name==="AsyncTransactionThunk")try{c.$Intent.data.resultIndex=o(a)}catch{}}async prepareForSerialization(e){await this.#g(),this.#y();let n=new Set;for(let s of this.#n.commands)s.$Intent&&n.add(s.$Intent.name);let r=[...this.#e];for(let s of n)if(!e.supportedIntents?.includes(s)){if(!this.#s.has(s))throw new Error(`Missing intent resolver for ${s}`);r.push(this.#s.get(s))}r.push(ev()),await this.#h(r,e)}};var Sc={NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType"};var jh=class extends Error{constructor(e,n,r,s,i,o,a){super(e),this.name="GraphQLError",this.message=e,i&&(this.path=i),n&&(this.nodes=Array.isArray(n)?n:[n]),r&&(this.source=r),s&&(this.positions=s),o&&(this.originalError=o);var c=a;if(!c&&o){var u=o.extensions;u&&typeof u=="object"&&(c=u)}this.extensions=c||{}}toJSON(){return{...this,message:this.message}}toString(){return this.message}get[Symbol.toStringTag](){return"GraphQLError"}},ue,Z;function In(t){return new jh(`Syntax Error: Unexpected token at ${Z} in ${t}`)}function nv(t){if(t.lastIndex=Z,t.test(ue))return ue.slice(Z,Z=t.lastIndex)}var Rl=/ +(?=[^\s])/y;function r6(t){for(var e=t.split(`
11
- `),n="",r=0,s=0,i=e.length-1,o=0;o<e.length;o++)Rl.lastIndex=0,Rl.test(e[o])&&(o&&(!r||Rl.lastIndex<r)&&(r=Rl.lastIndex),s=s||o,i=o);for(var a=s;a<=i;a++)a!==s&&(n+=`
12
- `),n+=e[a].slice(r).replace(/\\"""/g,'"""');return n}function Re(){for(var t=0|ue.charCodeAt(Z++);t===9||t===10||t===13||t===32||t===35||t===44||t===65279;t=0|ue.charCodeAt(Z++))if(t===35)for(;(t=0|ue.charCodeAt(Z++))&&t!==10&&t!==13;);Z--}function Dh(){for(var t=Z,e=0|ue.charCodeAt(Z++);e>=48&&e<=57||e>=65&&e<=90||e===95||e>=97&&e<=122;e=0|ue.charCodeAt(Z++));if(t===Z-1)throw In("Name");var n=ue.slice(t,--Z);return Re(),n}function Un(){return{kind:"Name",value:Dh()}}var s6=/(?:"""|(?:[\s\S]*?[^\\])""")/y,i6=/(?:(?:\.\d+)?[eE][+-]?\d+|\.\d+)/y;function Yo(t){var e;switch(ue.charCodeAt(Z)){case 91:Z++,Re();for(var n=[];ue.charCodeAt(Z)!==93;)n.push(Yo(t));return Z++,Re(),{kind:"ListValue",values:n};case 123:Z++,Re();for(var r=[];ue.charCodeAt(Z)!==125;){var s=Un();if(ue.charCodeAt(Z++)!==58)throw In("ObjectField");Re(),r.push({kind:"ObjectField",name:s,value:Yo(t)})}return Z++,Re(),{kind:"ObjectValue",fields:r};case 36:if(t)throw In("Variable");return Z++,{kind:"Variable",name:Un()};case 34:if(ue.charCodeAt(Z+1)===34&&ue.charCodeAt(Z+2)===34){if(Z+=3,(e=nv(s6))==null)throw In("StringValue");return Re(),{kind:"StringValue",value:r6(e.slice(0,-3)),block:!0}}else{var i=Z,o;Z++;var a=!1;for(o=0|ue.charCodeAt(Z++);o===92&&(Z++,a=!0)||o!==10&&o!==13&&o!==34&&o;o=0|ue.charCodeAt(Z++));if(o!==34)throw In("StringValue");return e=ue.slice(i,Z),Re(),{kind:"StringValue",value:a?JSON.parse(e):e.slice(1,-1),block:!1}}case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:for(var c=Z++,u;(u=0|ue.charCodeAt(Z++))>=48&&u<=57;);var d=ue.slice(c,--Z);if((u=ue.charCodeAt(Z))===46||u===69||u===101){if((e=nv(i6))==null)throw In("FloatValue");return Re(),{kind:"FloatValue",value:d+e}}else return Re(),{kind:"IntValue",value:d};case 110:if(ue.charCodeAt(Z+1)===117&&ue.charCodeAt(Z+2)===108&&ue.charCodeAt(Z+3)===108)return Z+=4,Re(),{kind:"NullValue"};break;case 116:if(ue.charCodeAt(Z+1)===114&&ue.charCodeAt(Z+2)===117&&ue.charCodeAt(Z+3)===101)return Z+=4,Re(),{kind:"BooleanValue",value:!0};break;case 102:if(ue.charCodeAt(Z+1)===97&&ue.charCodeAt(Z+2)===108&&ue.charCodeAt(Z+3)===115&&ue.charCodeAt(Z+4)===101)return Z+=5,Re(),{kind:"BooleanValue",value:!1};break}return{kind:"EnumValue",value:Dh()}}function sv(t){if(ue.charCodeAt(Z)===40){var e=[];Z++,Re();do{var n=Un();if(ue.charCodeAt(Z++)!==58)throw In("Argument");Re(),e.push({kind:"Argument",name:n,value:Yo(t)})}while(ue.charCodeAt(Z)!==41);return Z++,Re(),e}}function oi(t){if(ue.charCodeAt(Z)===64){var e=[];do Z++,e.push({kind:"Directive",name:Un(),arguments:sv(t)});while(ue.charCodeAt(Z)===64);return e}}function o6(){for(var t=0;ue.charCodeAt(Z)===91;)t++,Z++,Re();var e={kind:"NamedType",name:Un()};do if(ue.charCodeAt(Z)===33&&(Z++,Re(),e={kind:"NonNullType",type:e}),t){if(ue.charCodeAt(Z++)!==93)throw In("NamedType");Re(),e={kind:"ListType",type:e}}while(t--);return e}function Bl(){if(ue.charCodeAt(Z++)!==123)throw In("SelectionSet");return Re(),Ml()}function Ml(){var t=[];do if(ue.charCodeAt(Z)===46){if(ue.charCodeAt(++Z)!==46||ue.charCodeAt(++Z)!==46)throw In("SelectionSet");switch(Z++,Re(),ue.charCodeAt(Z)){case 64:t.push({kind:"InlineFragment",typeCondition:void 0,directives:oi(!1),selectionSet:Bl()});break;case 111:ue.charCodeAt(Z+1)===110?(Z+=2,Re(),t.push({kind:"InlineFragment",typeCondition:{kind:"NamedType",name:Un()},directives:oi(!1),selectionSet:Bl()})):t.push({kind:"FragmentSpread",name:Un(),directives:oi(!1)});break;case 123:Z++,Re(),t.push({kind:"InlineFragment",typeCondition:void 0,directives:void 0,selectionSet:Ml()});break;default:t.push({kind:"FragmentSpread",name:Un(),directives:oi(!1)})}}else{var e=Un(),n=void 0;ue.charCodeAt(Z)===58&&(Z++,Re(),n=e,e=Un());var r=sv(!1),s=oi(!1),i=void 0;ue.charCodeAt(Z)===123&&(Z++,Re(),i=Ml()),t.push({kind:"Field",alias:n,name:e,arguments:r,directives:s,selectionSet:i})}while(ue.charCodeAt(Z)!==125);return Z++,Re(),{kind:"SelectionSet",selections:t}}function a6(){if(Re(),ue.charCodeAt(Z)===40){var t=[];Z++,Re();do{var e=void 0;if(ue.charCodeAt(Z)===34&&(e=Yo(!0)),ue.charCodeAt(Z++)!==36)throw In("Variable");var n=Un();if(ue.charCodeAt(Z++)!==58)throw In("VariableDefinition");Re();var r=o6(),s=void 0;ue.charCodeAt(Z)===61&&(Z++,Re(),s=Yo(!0)),Re();var i={kind:"VariableDefinition",variable:{kind:"Variable",name:n},type:r,defaultValue:s,directives:oi(!0)};e&&(i.description=e),t.push(i)}while(ue.charCodeAt(Z)!==41);return Z++,Re(),t}}function c6(t){var e=Un();if(ue.charCodeAt(Z++)!==111||ue.charCodeAt(Z++)!==110)throw In("FragmentDefinition");Re();var n={kind:"FragmentDefinition",name:e,typeCondition:{kind:"NamedType",name:Un()},directives:oi(!1),selectionSet:Bl()};return t&&(n.description=t),n}function rv(){var t=[];do{var e=void 0;if(ue.charCodeAt(Z)===34&&(e=Yo(!0)),ue.charCodeAt(Z)===123){if(e)throw In("Document");Z++,Re(),t.push({kind:"OperationDefinition",operation:"query",name:void 0,variableDefinitions:void 0,directives:void 0,selectionSet:Ml()})}else{var n=Dh();switch(n){case"fragment":t.push(c6(e));break;case"query":case"mutation":case"subscription":var r,s=void 0;(r=ue.charCodeAt(Z))!==40&&r!==64&&r!==123&&(s=Un());var i={kind:"OperationDefinition",operation:n,name:s,variableDefinitions:a6(),directives:oi(!1),selectionSet:Bl()};e&&(i.description=e),t.push(i);break;default:throw In("Document")}}}while(Z<ue.length);return t}function iv(t,e){return ue=t.body?t.body:t,Z=0,Re(),e&&e.noLocation?{kind:"Document",definitions:rv()}:{kind:"Document",definitions:rv(),loc:{start:0,end:ue.length,startToken:void 0,endToken:void 0,source:{body:ue,name:"graphql.web",locationOffset:{line:1,column:1}}}}}var ov=0,Uh=new Set;function Ph(){function t(e,n){var r=iv(e).definitions,s=new Set;for(var i of n||[])for(var o of i.definitions)o.kind===Sc.FRAGMENT_DEFINITION&&!s.has(o)&&(r.push(o),s.add(o));var a;(a=r[0].kind===Sc.FRAGMENT_DEFINITION)&&r[0].directives&&(r[0].directives=r[0].directives.filter(u=>u.name.value!=="_unmask"));var c;return{kind:Sc.DOCUMENT,definitions:r,get loc(){if(!c&&a){var u=e+function(f){try{ov++;var p="";for(var m of f)if(!Uh.has(m)){Uh.add(m);var{loc:b}=m;b&&(p+=b.source.body)}return p}finally{--ov==0&&Uh.clear()}}(n||[]);return{start:0,end:u.length,source:{body:u,name:"GraphQLTada",locationOffset:{line:1,column:1}}}}return c},set loc(u){c=u}}}return t.scalar=function(n,r){return r},t.persisted=function(n,r){return{kind:Sc.DOCUMENT,definitions:r?r.definitions:[],documentId:n}},t}var F$=Ph();var Xo=Ph();var u6={"-32700":"ParseError","-32701":"OversizedRequest","-32702":"OversizedResponse","-32600":"InvalidRequest","-32601":"MethodNotFound","-32602":"InvalidParams","-32603":"InternalError","-32604":"ServerBusy","-32000":"CallExecutionFailed","-32001":"UnknownError","-32003":"SubscriptionClosed","-32004":"SubscriptionClosedWithError","-32005":"BatchesNotSupported","-32006":"TooManySubscriptions","-32050":"TransientError","-32002":"TransactionExecutionClientError"},av=class extends Error{},cv=class extends av{constructor(t,e){super(t),this.code=e,this.type=u6[e]??"ServerError"}},uv=class extends av{constructor(t,e,n){super(t),this.status=e,this.statusText=n}};var lv=class{#e=0;#t;constructor(t){this.#t=t}fetch(t,e){let n=this.#t.fetch??fetch;if(!n)throw new Error("The current environment does not support fetch, you can provide a fetch implementation in the options for SuiHTTPTransport.");return n(t,e)}async request(t){this.#e+=1;let e=await this.fetch(this.#t.rpc?.url??this.#t.url,{method:"POST",signal:t.signal,headers:{"Content-Type":"application/json","Client-Sdk-Type":"typescript","Client-Sdk-Version":cu,"Client-Request-Method":t.method,...this.#t.rpc?.headers},body:JSON.stringify({jsonrpc:"2.0",id:this.#e,method:t.method,params:t.params})});if(!e.ok)throw new uv(`Unexpected status code: ${e.status}`,e.status,e.statusText);let n=await e.json();if("error"in n&&n.error!=null)throw new cv(n.error.message,n.error.code);return n.result}};var l6=5e10;function hv(t,e){if(t.status==="success")return{success:!0,error:null};let n=t.error??"Unknown";if(e){let r=n.match(/in command (\d+)/),s=r?parseInt(r[1],10):void 0,i=n.match(/instruction:\s*(\d+)/),o=i?parseInt(i[1],10):void 0,a=e.module_id?.split("::")??[],c=a[0]?Q(a[0]):void 0,u=a[1];return{success:!1,error:{$kind:"MoveAbort",message:Oi({command:s,location:c&&u?{package:c,module:u,functionName:e.function??void 0,instruction:o}:void 0,abortCode:String(e.error_code??0),cleverError:e.line!=null?{lineNumber:e.line}:void 0}),command:s,MoveAbort:{abortCode:String(e.error_code??0),location:e.module_id?{package:Q(e.module_id.split("::")[0]??""),module:e.module_id.split("::")[1]??"",functionName:e.function??void 0,instruction:o}:void 0}}}}return{success:!1,error:{$kind:"Unknown",message:n,Unknown:null}}}var mv=class extends Oo{#e;constructor({jsonRpcClient:t,mvr:e}){super({network:t.network,base:t,mvr:e}),this.#e=t}async getObjects(t){let e=Yn(t.objectIds,50),n=[];for(let r of e){let s=await this.#e.multiGetObjects({ids:r,options:{showOwner:!0,showType:!0,showBcs:!!(t.include?.content||t.include?.objectBcs),showPreviousTransaction:!!(t.include?.previousTransaction||t.include?.objectBcs),showStorageRebate:t.include?.objectBcs??!1,showContent:t.include?.json??!1,showDisplay:t.include?.display??!1},signal:t.signal});for(let[i,o]of s.entries())o.error?n.push(Ro.fromResponse(o.error,r[i])):n.push(dv(o.data,t.include))}return{objects:n}}async listOwnedObjects(t){let e=null;if(t.type){let r=t.type.split("::");r.length===1?e={Package:t.type}:r.length===2?e={MoveModule:{package:r[0],module:r[1]}}:e={StructType:t.type}}let n=await this.#e.getOwnedObjects({owner:t.owner,limit:t.limit,cursor:t.cursor,options:{showOwner:!0,showType:!0,showBcs:!!(t.include?.content||t.include?.objectBcs),showPreviousTransaction:!!(t.include?.previousTransaction||t.include?.objectBcs),showStorageRebate:t.include?.objectBcs??!1,showContent:t.include?.json??!1,showDisplay:t.include?.display??!1},filter:e,signal:t.signal});return{objects:n.data.map(r=>{if(r.error)throw Ro.fromResponse(r.error);return dv(r.data,t.include)}),hasNextPage:n.hasNextPage,cursor:n.nextCursor??null}}async listCoins(t){let e=await this.#e.getCoins({owner:t.owner,coinType:t.coinType,limit:t.limit,cursor:t.cursor,signal:t.signal});return{objects:e.data.map(n=>({objectId:n.coinObjectId,version:n.version,digest:n.digest,balance:n.balance,type:ye(`0x2::coin::Coin<${n.coinType}>`),owner:{$kind:"AddressOwner",AddressOwner:t.owner}})),hasNextPage:e.hasNextPage,cursor:e.nextCursor??null}}async getBalance(t){let e=await this.#e.getBalance({owner:t.owner,coinType:t.coinType,signal:t.signal}),n=e.fundsInAddressBalance??"0",r=String(BigInt(e.totalBalance)-BigInt(n));return{balance:{coinType:ye(e.coinType),balance:e.totalBalance,coinBalance:r,addressBalance:n}}}async getCoinMetadata(t){let e=(await this.mvr.resolveType({type:t.coinType})).type,n=await this.#e.getCoinMetadata({coinType:e,signal:t.signal});return n?{coinMetadata:{id:n.id??null,decimals:n.decimals,name:n.name,symbol:n.symbol,description:n.description,iconUrl:n.iconUrl??null}}:{coinMetadata:null}}async listBalances(t){return{balances:(await this.#e.getAllBalances({owner:t.owner,signal:t.signal})).map(e=>{let n=e.fundsInAddressBalance??"0",r=String(BigInt(e.totalBalance)-BigInt(n));return{coinType:ye(e.coinType),balance:e.totalBalance,coinBalance:r,addressBalance:n}}),hasNextPage:!1,cursor:null}}async getTransaction(t){return fv(await this.#e.getTransactionBlock({digest:t.digest,options:{showRawInput:!0,showEffects:!0,showObjectChanges:t.include?.objectTypes??!1,showRawEffects:t.include?.effects??!1,showEvents:t.include?.events??!1,showBalanceChanges:t.include?.balanceChanges??!1},signal:t.signal}),t.include)}async executeTransaction(t){return fv(await this.#e.executeTransactionBlock({transactionBlock:t.transaction,signature:t.signatures,options:{showRawInput:!0,showEffects:!0,showRawEffects:t.include?.effects??!1,showEvents:t.include?.events??!1,showObjectChanges:t.include?.objectTypes??!1,showBalanceChanges:t.include?.balanceChanges??!1},signal:t.signal}),t.include)}async simulateTransaction(t){t.transaction instanceof Uint8Array||await t.transaction.build({client:this,onlyTransactionKind:!0});let e=Y.from(t.transaction),n=t.transaction instanceof Uint8Array?null:En.restore(t.transaction.getData()),r=n?n.build({overrides:{gasData:{budget:n.gasData.budget??String(l6),price:n.gasData.price??String(await this.#e.getReferenceGasPrice()),payment:n.gasData.payment??[]}}}):t.transaction,s=e.getData().sender??Q("0x0"),i=t.checksEnabled===!1,o=null;try{o=await this.#e.dryRunTransactionBlock({transactionBlock:r,signal:t.signal})}catch(v){if(!i)throw v}let a=null;if(t.include?.commandResults||i)try{a=await this.#e.devInspectTransactionBlock({sender:s,transactionBlock:e,signal:t.signal})}catch{}let c=!o||o.effects.status.status!=="success",u=i&&c&&a?a:o??a;if(!u)throw new Error("simulateTransaction failed: no results from dryRun or devInspect");let{effects:d,objectTypes:f}=p6({effects:u.effects,objectChanges:(c?null:o?.objectChanges)??[]}),p;t.include?.transaction&&(p=kg(r),n&&!c&&d.gasUsed&&(n.gasData.budget||(p.gasData.budget=Rh(d.gasUsed))));let m={digest:En.getDigestFromBytes(r),epoch:null,status:d.status,effects:t.include?.effects?d:void 0,objectTypes:t.include?.objectTypes?f:void 0,signatures:[],transaction:p??void 0,bcs:t.include?.bcs?r:void 0,balanceChanges:t.include?.balanceChanges&&o&&!c?o.balanceChanges.map(v=>({coinType:ye(v.coinType),address:gv(v.owner),amount:v.amount})):void 0,events:t.include?.events?u.events?.map(v=>({packageId:v.packageId,module:v.transactionModule,sender:v.sender,eventType:v.type,bcs:"bcs"in v?ce(v.bcs):new Uint8Array,json:v.parsedJson??null}))??[]:void 0},b;return t.include?.commandResults&&a?.results&&(b=a.results.map(v=>({returnValues:(v.returnValues??[]).map(([T])=>({bcs:new Uint8Array(T)})),mutatedReferences:(v.mutableReferenceOutputs??[]).map(([,T])=>({bcs:new Uint8Array(T)}))}))),d.status.success?{$kind:"Transaction",Transaction:m,commandResults:b}:{$kind:"FailedTransaction",FailedTransaction:m,commandResults:b}}async getReferenceGasPrice(t){let e=await this.#e.getReferenceGasPrice({signal:t?.signal});return{referenceGasPrice:String(e)}}async getProtocolConfig(t){let e=await this.#e.getProtocolConfig({signal:t?.signal}),n={};for(let[r,s]of Object.entries(e.attributes))if(s===null)n[r]=null;else if("u16"in s)n[r]=s.u16;else if("u32"in s)n[r]=s.u32;else if("u64"in s)n[r]=s.u64;else if("f64"in s)n[r]=s.f64;else if("bool"in s)n[r]=s.bool;else{let i=Object.entries(s);n[r]=i.length===1?String(i[0][1]):JSON.stringify(s)}return{protocolConfig:{protocolVersion:e.protocolVersion,featureFlags:{...e.featureFlags},attributes:n}}}async getCurrentSystemState(t){let e=await this.#e.getLatestSuiSystemState({signal:t?.signal});return{systemState:{systemStateVersion:e.systemStateVersion,epoch:e.epoch,protocolVersion:e.protocolVersion,referenceGasPrice:e.referenceGasPrice?.toString()??null,epochStartTimestampMs:e.epochStartTimestampMs,safeMode:e.safeMode,safeModeStorageRewards:e.safeModeStorageRewards,safeModeComputationRewards:e.safeModeComputationRewards,safeModeStorageRebates:e.safeModeStorageRebates,safeModeNonRefundableStorageFee:e.safeModeNonRefundableStorageFee,parameters:{epochDurationMs:e.epochDurationMs,stakeSubsidyStartEpoch:e.stakeSubsidyStartEpoch,maxValidatorCount:e.maxValidatorCount,minValidatorJoiningStake:e.minValidatorJoiningStake,validatorLowStakeThreshold:e.validatorLowStakeThreshold,validatorLowStakeGracePeriod:e.validatorLowStakeGracePeriod},storageFund:{totalObjectStorageRebates:e.storageFundTotalObjectStorageRebates,nonRefundableBalance:e.storageFundNonRefundableBalance},stakeSubsidy:{balance:e.stakeSubsidyBalance,distributionCounter:e.stakeSubsidyDistributionCounter,currentDistributionAmount:e.stakeSubsidyCurrentDistributionAmount,stakeSubsidyPeriodLength:e.stakeSubsidyPeriodLength,stakeSubsidyDecreaseRate:e.stakeSubsidyDecreaseRate}}}}async listDynamicFields(t){let e=await this.#e.getDynamicFields({parentId:t.parentId,limit:t.limit,cursor:t.cursor});return{dynamicFields:e.data.map(n=>{let r=n.type==="DynamicObject",s=r?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${n.name.type}>, 0x2::object::ID>`:`0x2::dynamic_field::Field<${n.name.type}, ${n.objectType}>`,i=ce(n.bcsName),o=r?`0x2::dynamic_object_field::Wrapper<${n.name.type}>`:n.name.type;return{$kind:r?"DynamicObject":"DynamicField",fieldId:mr(t.parentId,o,i),type:ye(s),name:{type:n.name.type,bcs:i},valueType:n.objectType,childId:r?n.objectId:void 0}}),hasNextPage:e.hasNextPage,cursor:e.nextCursor}}async verifyZkLoginSignature(t){let e=await this.#e.verifyZkLoginSignature({bytes:t.bytes,signature:t.signature,intentScope:t.intentScope,author:t.address});return{success:e.success,errors:e.errors}}async defaultNameServiceName(t){return{data:{name:(await this.#e.resolveNameServiceNames(t)).data[0]??null}}}resolveTransactionPlugin(){return Al}async getMoveFunction(t){let e=(await this.mvr.resolvePackage({package:t.packageId})).package,n=await this.#e.getNormalizedMoveFunction({package:e,module:t.moduleName,function:t.name});return{function:{packageId:Q(e),moduleName:t.moduleName,name:t.name,visibility:m6(n.visibility),isEntry:n.isEntry,typeParameters:n.typeParameters.map(r=>({isPhantom:!1,constraints:h6(r)})),parameters:n.parameters.map(r=>pv(r)),returns:n.return.map(r=>pv(r))}}}async getChainIdentifier(t){return this.cache.read(["chainIdentifier"],async()=>({chainIdentifier:(await this.#e.getCheckpoint({id:"0"})).digest}))}};function d6(t){if(t.bcs?.dataType==="moveObject")try{let e=ye(t.bcs.type),n,r=Q(is),s=ye(`${is}::coin::Coin<${is}::sui::SUI>`),i=ye(`${Of}::staking_pool::StakedSui`),o=`${r}::coin::Coin<`;if(e===s)n={GasCoin:null};else if(e===i)n={StakedSui:null};else if(e.startsWith(o)){let u=e.match(new RegExp(`${r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}::coin::Coin<(.+)>$`));if(u)n={Coin:$n.parseFromStr(u[1],!0)};else throw new Error("Failed to parse Coin type")}else{let u=$n.parseFromStr(e,!0);if(typeof u!="object"||!("struct"in u))throw new Error("Expected struct type tag");n={Other:u.struct}}let a=ce(t.bcs.bcsBytes),c=f6(t.owner);return A.Object.serialize({data:{Move:{type:n,hasPublicTransfer:t.bcs.hasPublicTransfer,version:t.bcs.version,contents:a}},owner:c,previousTransaction:t.previousTransaction,storageRebate:t.storageRebate}).toBytes()}catch{return}}function dv(t,e){let n=t.bcs?.dataType==="moveObject"?ce(t.bcs.bcsBytes):void 0,r=e?.objectBcs?d6(t):void 0,s=t.type&&t.type.includes("::")?ye(t.type):t.type??"",i=e?.json&&t.content?.dataType==="moveObject"?t.content.fields:e?.json?null:void 0,o=e?.display?t.display?.data!=null?{output:t.display.data,errors:null}:null:void 0;return{objectId:t.objectId,version:t.version,digest:t.digest,type:s,content:e?.content?n:void 0,owner:Qo(t.owner),previousTransaction:e?.previousTransaction?t.previousTransaction??void 0:void 0,objectBcs:r,json:i,display:o}}function Qo(t){if(t==="Immutable")return{$kind:"Immutable",Immutable:!0};if("ConsensusAddressOwner"in t)return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{owner:t.ConsensusAddressOwner.owner,startVersion:t.ConsensusAddressOwner.start_version}};if("AddressOwner"in t)return{$kind:"AddressOwner",AddressOwner:t.AddressOwner};if("ObjectOwner"in t)return{$kind:"ObjectOwner",ObjectOwner:t.ObjectOwner};if("Shared"in t)return{$kind:"Shared",Shared:{initialSharedVersion:t.Shared.initial_shared_version}};throw new Error(`Unknown owner type: ${JSON.stringify(t)}`)}function f6(t){if(t==="Immutable")return{Immutable:null};if("AddressOwner"in t)return{AddressOwner:t.AddressOwner};if("ObjectOwner"in t)return{ObjectOwner:t.ObjectOwner};if("Shared"in t)return{Shared:{initialSharedVersion:t.Shared.initial_shared_version}};if(typeof t=="object"&&t!==null&&"ConsensusAddressOwner"in t)return{ConsensusAddressOwner:{startVersion:t.ConsensusAddressOwner.start_version,owner:t.ConsensusAddressOwner.owner}};throw new Error(`Unknown owner type: ${JSON.stringify(t)}`)}function gv(t){if(t==="Immutable")return null;if("ConsensusAddressOwner"in t)return t.ConsensusAddressOwner.owner;if("AddressOwner"in t)return t.AddressOwner;if("ObjectOwner"in t)return t.ObjectOwner;if("Shared"in t)return null;throw new Error(`Unknown owner type: ${JSON.stringify(t)}`)}function fv(t,e){let n={};e?.objectTypes&&t.objectChanges?.forEach(u=>{u.type!=="published"&&(n[u.objectId]=ye(u.objectType))});let r,s=[],i;if(t.rawTransaction){let u=A.SenderSignedData.parse(ce(t.rawTransaction))[0];if(s=u.txSignatures,e?.transaction||e?.bcs){let d=A.TransactionData.serialize(u.intentMessage.value).toBytes();e?.bcs&&(i=d),e?.transaction&&(r={...En.restore({version:2,sender:u.intentMessage.value.V1.sender,expiration:u.intentMessage.value.V1.expiration,gasData:u.intentMessage.value.V1.gasData,inputs:u.intentMessage.value.V1.kind.ProgrammableTransaction.inputs,commands:u.intentMessage.value.V1.kind.ProgrammableTransaction.commands})})}}let o=t.effects?.status?hv(t.effects.status,t.effects.abortError):{success:!1,error:{$kind:"Unknown",message:"Unknown",Unknown:null}},a=t.rawEffects?new Uint8Array(t.rawEffects):null,c={digest:t.digest,epoch:t.effects?.executedEpoch??null,status:o,effects:e?.effects&&a?pu(a):void 0,objectTypes:e?.objectTypes?n:void 0,transaction:r,bcs:i,signatures:s,balanceChanges:e?.balanceChanges?t.balanceChanges?.map(u=>({coinType:ye(u.coinType),address:gv(u.owner),amount:u.amount}))??[]:void 0,events:e?.events?t.events?.map(u=>({packageId:u.packageId,module:u.transactionModule,sender:u.sender,eventType:u.type,bcs:"bcs"in u?ce(u.bcs):new Uint8Array,json:u.parsedJson??null}))??[]:void 0};return o.success?{$kind:"Transaction",Transaction:c}:{$kind:"FailedTransaction",FailedTransaction:c}}function p6({bytes:t,effects:e,objectChanges:n}){let r=[],s=[],i={};return n?.forEach(o=>{switch(o.type){case"published":r.push({objectId:o.packageId,inputState:"DoesNotExist",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"PackageWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:null,idOperation:"Created"});break;case"transferred":r.push({objectId:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:o.digest,inputOwner:{$kind:"AddressOwner",AddressOwner:o.sender},outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:Qo(o.recipient),idOperation:"None"}),i[o.objectId]=ye(o.objectType);break;case"mutated":r.push({objectId:o.objectId,inputState:"Exists",inputVersion:o.previousVersion,inputDigest:null,inputOwner:Qo(o.owner),outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:Qo(o.owner),idOperation:"None"}),i[o.objectId]=ye(o.objectType);break;case"deleted":r.push({objectId:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:e.deleted?.find(a=>a.objectId===o.objectId)?.digest??null,inputOwner:null,outputState:"DoesNotExist",outputVersion:null,outputDigest:null,outputOwner:null,idOperation:"Deleted"}),i[o.objectId]=ye(o.objectType);break;case"wrapped":r.push({objectId:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:null,inputOwner:{$kind:"AddressOwner",AddressOwner:o.sender},outputState:"ObjectWrite",outputVersion:o.version,outputDigest:e.wrapped?.find(a=>a.objectId===o.objectId)?.digest??null,outputOwner:{$kind:"ObjectOwner",ObjectOwner:o.sender},idOperation:"None"}),i[o.objectId]=ye(o.objectType);break;case"created":r.push({objectId:o.objectId,inputState:"DoesNotExist",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:Qo(o.owner),idOperation:"Created"}),i[o.objectId]=ye(o.objectType);break}}),{objectTypes:i,effects:{bcs:t??null,version:2,status:hv(e.status,e.abortError),gasUsed:e.gasUsed,transactionDigest:e.transactionDigest,gasObject:{objectId:e.gasObject?.reference.objectId,inputState:"Exists",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"ObjectWrite",outputVersion:e.gasObject.reference.version,outputDigest:e.gasObject.reference.digest,outputOwner:Qo(e.gasObject.owner),idOperation:"None"},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies??[],lamportVersion:e.gasObject.reference.version,changedObjects:r,unchangedConsensusObjects:s,auxiliaryDataDigest:null}}}function pv(t){if(typeof t!="string"){if("Reference"in t)return{reference:"immutable",body:xc(t.Reference)};if("MutableReference"in t)return{reference:"mutable",body:xc(t.MutableReference)}}return{reference:null,body:xc(t)}}function xc(t){switch(t){case"Address":return{$kind:"address"};case"Bool":return{$kind:"bool"};case"U8":return{$kind:"u8"};case"U16":return{$kind:"u16"};case"U32":return{$kind:"u32"};case"U64":return{$kind:"u64"};case"U128":return{$kind:"u128"};case"U256":return{$kind:"u256"}}if(typeof t=="string")throw new Error(`Unknown type: ${t}`);if("Vector"in t)return{$kind:"vector",vector:xc(t.Vector)};if("Struct"in t)return{$kind:"datatype",datatype:{typeName:`${Q(t.Struct.address)}::${t.Struct.module}::${t.Struct.name}`,typeParameters:t.Struct.typeArguments.map(e=>xc(e))}};if("TypeParameter"in t)return{$kind:"typeParameter",index:t.TypeParameter};throw new Error(`Unknown type: ${JSON.stringify(t)}`)}function h6(t){return t.abilities.map(e=>{switch(e){case"Copy":return"copy";case"Drop":return"drop";case"Store":return"store";case"Key":return"key";default:return"unknown"}})}function m6(t){switch(t){case"Public":return"public";case"Private":return"private";case"Friend":return"friend";default:return"unknown"}}var g6=Symbol.for("@mysten/SuiJsonRpcClient");var Lh=class extends Ms{get[g6](){return!0}constructor(t){super({network:t.network}),this.jsonRpc=this,this.transport=t.transport??new lv({url:t.url}),this.core=new mv({jsonRpcClient:this,mvr:t.mvr})}async getRpcApiVersion({signal:t}={}){return(await this.transport.request({method:"rpc.discover",params:[],signal:t})).info.version}async getCoins({coinType:t,owner:e,cursor:n,limit:r,signal:s}){if(!e||!tn(Q(e)))throw new Error("Invalid Sui address");t&&sn(t)&&(t=(await this.core.mvr.resolveType({type:t})).type);let i=await this.transport.request({method:"suix_getCoins",params:[e,t,n,r],signal:s});return{...i,data:i.data.filter(o=>!Nh(o.digest))}}async getAllCoins(t){if(!t.owner||!tn(Q(t.owner)))throw new Error("Invalid Sui address");let e=await this.transport.request({method:"suix_getAllCoins",params:[t.owner,t.cursor,t.limit],signal:t.signal});return{...e,data:e.data.filter(n=>!Nh(n.digest))}}async getBalance({owner:t,coinType:e,signal:n}){if(!t||!tn(Q(t)))throw new Error("Invalid Sui address");return e&&sn(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getBalance",params:[t,e],signal:n})}async getAllBalances(t){if(!t.owner||!tn(Q(t.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getAllBalances",params:[t.owner],signal:t.signal})}async getCoinMetadata({coinType:t,signal:e}){return t&&sn(t)&&(t=(await this.core.mvr.resolveType({type:t})).type),await this.transport.request({method:"suix_getCoinMetadata",params:[t],signal:e})}async getTotalSupply({coinType:t,signal:e}){return t&&sn(t)&&(t=(await this.core.mvr.resolveType({type:t})).type),await this.transport.request({method:"suix_getTotalSupply",params:[t],signal:e})}async call(t,e,{signal:n}={}){return await this.transport.request({method:t,params:e,signal:n})}async getMoveFunctionArgTypes({package:t,module:e,function:n,signal:r}){return t&&nn(t)&&(t=(await this.core.mvr.resolvePackage({package:t})).package),await this.transport.request({method:"sui_getMoveFunctionArgTypes",params:[t,e,n],signal:r})}async getNormalizedMoveModulesByPackage({package:t,signal:e}){return t&&nn(t)&&(t=(await this.core.mvr.resolvePackage({package:t})).package),await this.transport.request({method:"sui_getNormalizedMoveModulesByPackage",params:[t],signal:e})}async getNormalizedMoveModule({package:t,module:e,signal:n}){return t&&nn(t)&&(t=(await this.core.mvr.resolvePackage({package:t})).package),await this.transport.request({method:"sui_getNormalizedMoveModule",params:[t,e],signal:n})}async getNormalizedMoveFunction({package:t,module:e,function:n,signal:r}){return t&&nn(t)&&(t=(await this.core.mvr.resolvePackage({package:t})).package),await this.transport.request({method:"sui_getNormalizedMoveFunction",params:[t,e,n],signal:r})}async getNormalizedMoveStruct({package:t,module:e,struct:n,signal:r}){return t&&nn(t)&&(t=(await this.core.mvr.resolvePackage({package:t})).package),await this.transport.request({method:"sui_getNormalizedMoveStruct",params:[t,e,n],signal:r})}async getOwnedObjects(t){if(!t.owner||!tn(Q(t.owner)))throw new Error("Invalid Sui address");let e=t.filter?{...t.filter}:void 0;return e&&"MoveModule"in e&&nn(e.MoveModule.package)?e.MoveModule={module:e.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveModule.package})).package}:e&&"StructType"in e&&sn(e.StructType)&&(e.StructType=(await this.core.mvr.resolveType({type:e.StructType})).type),await this.transport.request({method:"suix_getOwnedObjects",params:[t.owner,{filter:e,options:t.options},t.cursor,t.limit],signal:t.signal})}async getObject(t){if(!t.id||!To($t(t.id)))throw new Error("Invalid Sui Object id");return await this.transport.request({method:"sui_getObject",params:[t.id,t.options],signal:t.signal})}async tryGetPastObject(t){return await this.transport.request({method:"sui_tryGetPastObject",params:[t.id,t.version,t.options],signal:t.signal})}async multiGetObjects(t){if(t.ids.forEach(e=>{if(!e||!To($t(e)))throw new Error(`Invalid Sui Object id ${e}`)}),t.ids.length!==new Set(t.ids).size)throw new Error(`Duplicate object ids in batch call ${t.ids}`);return await this.transport.request({method:"sui_multiGetObjects",params:[t.ids,t.options],signal:t.signal})}async queryTransactionBlocks({filter:t,options:e,cursor:n,limit:r,order:s,signal:i}){return t&&"MoveFunction"in t&&nn(t.MoveFunction.package)&&(t={...t,MoveFunction:{package:(await this.core.mvr.resolvePackage({package:t.MoveFunction.package})).package}}),await this.transport.request({method:"suix_queryTransactionBlocks",params:[{filter:t,options:e},n,r,(s||"descending")==="descending"],signal:i})}async getTransactionBlock(t){if(!eu(t.digest))throw new Error("Invalid Transaction digest");return await this.transport.request({method:"sui_getTransactionBlock",params:[t.digest,t.options],signal:t.signal})}async multiGetTransactionBlocks(t){if(t.digests.forEach(e=>{if(!eu(e))throw new Error(`Invalid Transaction digest ${e}`)}),t.digests.length!==new Set(t.digests).size)throw new Error(`Duplicate digests in batch call ${t.digests}`);return await this.transport.request({method:"sui_multiGetTransactionBlocks",params:[t.digests,t.options],signal:t.signal})}async executeTransactionBlock({transactionBlock:t,signature:e,options:n,signal:r}){return await this.transport.request({method:"sui_executeTransactionBlock",params:[typeof t=="string"?t:ge(t),Array.isArray(e)?e:[e],n],signal:r})}async signAndExecuteTransaction({transaction:t,signer:e,...n}){let r;t instanceof Uint8Array?r=t:(t.setSenderIfNotSet(e.toSuiAddress()),r=await t.build({client:this}));let{signature:s,bytes:i}=await e.signTransaction(r);return this.executeTransactionBlock({transactionBlock:i,signature:s,...n})}async getTotalTransactionBlocks({signal:t}={}){let e=await this.transport.request({method:"sui_getTotalTransactionBlocks",params:[],signal:t});return BigInt(e)}async getReferenceGasPrice({signal:t}={}){let e=await this.transport.request({method:"suix_getReferenceGasPrice",params:[],signal:t});return BigInt(e)}async getStakes(t){if(!t.owner||!tn(Q(t.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getStakes",params:[t.owner],signal:t.signal})}async getStakesByIds(t){return t.stakedSuiIds.forEach(e=>{if(!e||!To($t(e)))throw new Error(`Invalid Sui Stake id ${e}`)}),await this.transport.request({method:"suix_getStakesByIds",params:[t.stakedSuiIds],signal:t.signal})}async getLatestSuiSystemState({signal:t}={}){return await this.transport.request({method:"suix_getLatestSuiSystemState",params:[],signal:t})}async queryEvents({query:t,cursor:e,limit:n,order:r,signal:s}){return t&&"MoveEventType"in t&&sn(t.MoveEventType)&&(t={...t,MoveEventType:(await this.core.mvr.resolveType({type:t.MoveEventType})).type}),t&&"MoveEventModule"in t&&nn(t.MoveEventModule.package)&&(t={...t,MoveEventModule:{module:t.MoveEventModule.module,package:(await this.core.mvr.resolvePackage({package:t.MoveEventModule.package})).package}}),"MoveModule"in t&&nn(t.MoveModule.package)&&(t={...t,MoveModule:{module:t.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:t.MoveModule.package})).package}}),await this.transport.request({method:"suix_queryEvents",params:[t,e,n,(r||"descending")==="descending"],signal:s})}async devInspectTransactionBlock(t){let e;if(Nl(t.transactionBlock))t.transactionBlock.setSenderIfNotSet(t.sender),e=ge(await t.transactionBlock.build({client:this,onlyTransactionKind:!0}));else if(typeof t.transactionBlock=="string")e=t.transactionBlock;else if(t.transactionBlock instanceof Uint8Array)e=ge(t.transactionBlock);else throw new Error("Unknown transaction block format.");return t.signal?.throwIfAborted(),await this.transport.request({method:"sui_devInspectTransactionBlock",params:[t.sender,e,t.gasPrice?.toString(),t.epoch],signal:t.signal})}async dryRunTransactionBlock(t){return await this.transport.request({method:"sui_dryRunTransactionBlock",params:[typeof t.transactionBlock=="string"?t.transactionBlock:ge(t.transactionBlock)]})}async getDynamicFields(t){if(!t.parentId||!To($t(t.parentId)))throw new Error("Invalid Sui Object id");return await this.transport.request({method:"suix_getDynamicFields",params:[t.parentId,t.cursor,t.limit],signal:t.signal})}async getDynamicFieldObject(t){return await this.transport.request({method:"suix_getDynamicFieldObject",params:[t.parentId,t.name],signal:t.signal})}async getLatestCheckpointSequenceNumber({signal:t}={}){let e=await this.transport.request({method:"sui_getLatestCheckpointSequenceNumber",params:[],signal:t});return String(e)}async getCheckpoint(t){return await this.transport.request({method:"sui_getCheckpoint",params:[t.id],signal:t.signal})}async getCheckpoints(t){return await this.transport.request({method:"sui_getCheckpoints",params:[t.cursor,t?.limit,t.descendingOrder],signal:t.signal})}async getCommitteeInfo(t){return await this.transport.request({method:"suix_getCommitteeInfo",params:[t?.epoch],signal:t?.signal})}async getNetworkMetrics({signal:t}={}){return await this.transport.request({method:"suix_getNetworkMetrics",params:[],signal:t})}async getAddressMetrics({signal:t}={}){return await this.transport.request({method:"suix_getLatestAddressMetrics",params:[],signal:t})}async getEpochMetrics(t){return await this.transport.request({method:"suix_getEpochMetrics",params:[t?.cursor,t?.limit,t?.descendingOrder],signal:t?.signal})}async getAllEpochAddressMetrics(t){return await this.transport.request({method:"suix_getAllEpochAddressMetrics",params:[t?.descendingOrder],signal:t?.signal})}async getEpochs(t){return await this.transport.request({method:"suix_getEpochs",params:[t?.cursor,t?.limit,t?.descendingOrder],signal:t?.signal})}async getMoveCallMetrics({signal:t}={}){return await this.transport.request({method:"suix_getMoveCallMetrics",params:[],signal:t})}async getCurrentEpoch({signal:t}={}){return await this.transport.request({method:"suix_getCurrentEpoch",params:[],signal:t})}async getValidatorsApy({signal:t}={}){return await this.transport.request({method:"suix_getValidatorsApy",params:[],signal:t})}async getChainIdentifier({signal:t}={}){return qt(pn((await this.getCheckpoint({id:"0",signal:t})).digest).slice(0,4))}async resolveNameServiceAddress(t){return await this.transport.request({method:"suix_resolveNameServiceAddress",params:[t.name],signal:t.signal})}async resolveNameServiceNames({format:t="dot",...e}){let{nextCursor:n,hasNextPage:r,data:s}=await this.transport.request({method:"suix_resolveNameServiceNames",params:[e.address,e.cursor,e.limit],signal:e.signal});return{hasNextPage:r,nextCursor:n,data:s.map(i=>s0(i,t))}}async getProtocolConfig(t){return await this.transport.request({method:"sui_getProtocolConfig",params:[t?.version],signal:t?.signal})}async verifyZkLoginSignature(t){return await this.transport.request({method:"sui_verifyZkLoginSignature",params:[t.bytes,t.signature,t.intentScope,t.author],signal:t.signal})}async waitForTransaction({signal:t,timeout:e=60*1e3,pollInterval:n=2*1e3,...r}){let s=AbortSignal.timeout(e),i=new Promise((o,a)=>{s.addEventListener("abort",()=>a(s.reason))});for(i.catch(()=>{});!s.aborted;){t?.throwIfAborted();try{return await this.getTransactionBlock(r)}catch{await Promise.race([new Promise(o=>setTimeout(o,n)),i])}}throw s.throwIfAborted(),new Error("Unexpected error while waiting for transaction block.")}};function jl(t){switch(t){case"mainnet":return"https://fullnode.mainnet.sui.io:443";case"testnet":return"https://fullnode.testnet.sui.io:443";case"devnet":return"https://fullnode.devnet.sui.io:443";case"localnet":return"http://127.0.0.1:9000";default:throw new Error(`Unknown network: ${t}`)}}var Vh=function(t){return t.Failure="FAILURE",t.Success="SUCCESS",t}({}),Fh=function(t){return t.PersonalMessage="PERSONAL_MESSAGE",t.TransactionData="TRANSACTION_DATA",t}({}),rt=class extends String{constructor(t,e){super(t),this.value=t,this.__meta__=e}toString(){return this.value}},BG=new rt(`
7
+ ${String(r)}`);Bd(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instanceof Error?e.callbacks[s].reject(i):e.callbacks[s].resolve(i)}}).catch(r=>{Rd(t,e,r)})}function Rd(t,e,n){Bd(e);for(let r=0;r<e.keys.length;r++)t.clear(e.keys[r]),e.callbacks[r].reject(n)}function Bd(t){if(t.cacheHits)for(let e=0;e<t.cacheHits.length;e++)t.cacheHits[e]()}function pT(t){if(!(!t||t.batch!==!1))return 1;let e=t&&t.maxBatchSize;if(e===void 0)return 1/0;if(typeof e!="number"||e<1)throw new TypeError(`maxBatchSize must be a positive number: ${e}`);return e}function hT(t){let e=t&&t.batchScheduleFn;if(e===void 0)return lT;if(typeof e!="function")throw new TypeError(`batchScheduleFn must be a function: ${e}`);return e}function mT(t){let e=t&&t.cacheKeyFn;if(e===void 0)return n=>n;if(typeof e!="function")throw new TypeError(`cacheKeyFn must be a function: ${e}`);return e}function gT(t){if(!(!t||t.cache!==!1))return null;let e=t&&t.cacheMap;if(e===void 0)return new Map;if(e!==null){let n=["get","set","delete","clear"].filter(r=>e&&typeof e[r]!="function");if(n.length!==0)throw new TypeError("Custom cacheMap missing methods: "+n.join(", "))}return e}function yT(t){return t&&t.name?t.name:null}function a0(t){return typeof t=="object"&&t!==null&&"length"in t&&typeof t.length=="number"&&(t.length===0||t.length>0&&Object.prototype.hasOwnProperty.call(t,t.length-1))}function Md(t,e){switch(e){case"base58":return Ln(t);case"base64":return ve(t);case"hex":return Qt(t);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function ya(t,e=["<",">"]){let[n,r]=e,s=[],i="",o=0;for(let a=0;a<t.length;a++){let c=t[a];if(c===n&&o++,c===r&&o--,o===0&&c===","){s.push(i.trim()),i="";continue}i+=c}return s.push(i.trim()),s}var c0=class{constructor({initialSize:t=1024,maxSize:e=1/0,allocateSize:n=1024}={}){this.bytePosition=0,this.size=t,this.maxSize=e,this.allocateSize=n,this.dataView=new DataView(new ArrayBuffer(t))}ensureSizeOrGrow(t){let e=this.bytePosition+t;if(e>this.size){let n=Math.min(this.maxSize,Math.max(this.size+e,this.size+this.allocateSize));if(e>n)throw new Error(`Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${e}`);this.size=n;let r=new ArrayBuffer(this.size);new Uint8Array(r).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(r)}}shift(t){return this.bytePosition+=t,this}write8(t){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(t)),this.shift(1)}writeBytes(t){this.ensureSizeOrGrow(t.length);for(let e=0;e<t.length;e++)this.dataView.setUint8(this.bytePosition+e,t[e]);return this.shift(t.length)}write16(t){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(t),!0),this.shift(2)}write32(t){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(t),!0),this.shift(4)}write64(t){return Dd(BigInt(t),8).forEach(e=>this.write8(e)),this}write128(t){return Dd(BigInt(t),16).forEach(e=>this.write8(e)),this}write256(t){return Dd(BigInt(t),32).forEach(e=>this.write8(e)),this}writeULEB(t){return bi(t).forEach(e=>this.write8(e)),this}writeVec(t,e){return this.writeULEB(t.length),Array.from(t).forEach((n,r)=>e(this,n,r,t.length)),this}*[Symbol.iterator](){for(let t=0;t<this.bytePosition;t++)yield this.dataView.getUint8(t);return this.toBytes()}toBytes(){return new Uint8Array(this.dataView.buffer.slice(0,this.bytePosition))}toString(t){return Md(this.toBytes(),t)}};function Dd(t,e){let n=new Uint8Array(e),r=0;for(;t>0;)n[r]=Number(t%BigInt(256)),t=t/BigInt(256),r+=1;return n}var On=class u0{#t;#e;constructor(e){this.name=e.name,this.read=e.read,this.serializedSize=e.serializedSize??(()=>null),this.#t=e.write,this.#e=e.serialize??((n,r)=>{let s=new c0({initialSize:this.serializedSize(n)??void 0,...r});return this.#t(n,s),s.toBytes()}),this.validate=e.validate??(()=>{})}write(e,n){this.validate(e),this.#t(e,n)}serialize(e,n){return this.validate(e),new d0(this,this.#e(e,n))}parse(e){let n=new Jm(e);return this.read(n)}fromHex(e){return this.parse(ln(e))}fromBase58(e){return this.parse(zn(e))}fromBase64(e){return this.parse(le(e))}transform({name:e,input:n,output:r,validate:s}){return new u0({name:e??this.name,read:i=>r?r(this.read(i)):this.read(i),write:(i,o)=>this.#t(n?n(i):i,o),serializedSize:i=>this.serializedSize(n?n(i):i),serialize:(i,o)=>this.#e(n?n(i):i,o),validate:i=>{s?.(i),this.validate(n?n(i):i)}})}},l0=Symbol.for("@mysten/serialized-bcs");function _o(t){return!!t&&typeof t=="object"&&t[l0]===!0}var d0=class{#t;#e;get[l0](){return!0}constructor(t,e){this.#t=t,this.#e=e}toBytes(){return this.#e}toHex(){return Qt(this.#e)}toBase64(){return ve(this.#e)}toBase58(){return Ln(this.#e)}parse(){return this.#t.parse(this.#e)}};function ba({size:t,...e}){return new On({...e,serializedSize:()=>t})}function Wc({readMethod:t,writeMethod:e,...n}){return ba({...n,read:r=>r[t](),write:(r,s)=>s[e](r),validate:r=>{if(r<0||r>n.maxValue)throw new TypeError(`Invalid ${n.name} value: ${r}. Expected value in range 0-${n.maxValue}`);n.validate?.(r)}})}function Zc({readMethod:t,writeMethod:e,...n}){return ba({...n,read:r=>r[t](),write:(r,s)=>s[e](BigInt(r)),validate:r=>{let s=BigInt(r);if(s<0||s>n.maxValue)throw new TypeError(`Invalid ${n.name} value: ${s}. Expected value in range 0-${n.maxValue}`);n.validate?.(s)}})}function f0({serialize:t,...e}){let n=new On({...e,serialize:t,write:(r,s)=>{for(let i of n.serialize(r).toBytes())s.write8(i)}});return n}function p0({toBytes:t,fromBytes:e,...n}){return new On({...n,read:r=>{let s=r.readULEB();return e(r.readBytes(s))},write:(r,s)=>{let i=t(r);s.writeULEB(i.length);for(let o=0;o<i.length;o++)s.write8(i[o])},serialize:r=>{let s=t(r),i=bi(s.length),o=new Uint8Array(i.length+s.length);return o.set(i,0),o.set(s,i.length),o},validate:r=>{if(typeof r!="string")throw new TypeError(`Invalid ${n.name} value: ${r}. Expected string`);n.validate?.(r)}})}function h0(t){let e=null;function n(){return e||(e=t()),e}return new On({name:"lazy",read:r=>n().read(r),serializedSize:r=>n().serializedSize(r),write:(r,s)=>n().write(r,s),serialize:(r,s)=>n().serialize(r,s).toBytes()})}var Jc=class extends On{constructor({name:t,fields:e,...n}){let r=Object.entries(e);super({name:t,serializedSize:s=>{let i=0;for(let[o,a]of r){let c=a.serializedSize(s[o]);if(c==null)return null;i+=c}return i},read:s=>{let i={};for(let[o,a]of r)i[o]=a.read(s);return i},write:(s,i)=>{for(let[o,a]of r)a.write(s[o],i)},...n,validate:s=>{if(n?.validate?.(s),typeof s!="object"||s==null)throw new TypeError(`Expected object, found ${typeof s}`)}})}},Kc=class extends On{constructor({fields:t,...e}){let n=Object.entries(t);super({read:r=>{let s=r.readULEB(),i=n[s];if(!i)throw new TypeError(`Unknown value ${s} for enum ${e.name}`);let[o,a]=i;return{[o]:a?.read(r)??!0,$kind:o}},write:(r,s)=>{let[i,o]=Object.entries(r).filter(([a])=>Object.hasOwn(t,a))[0];for(let a=0;a<n.length;a++){let[c,u]=n[a];if(c===i){s.writeULEB(a),u?.write(o,s);return}}},...e,validate:r=>{if(e?.validate?.(r),typeof r!="object"||r==null)throw new TypeError(`Expected object, found ${typeof r}`);let s=Object.keys(r).filter(o=>r[o]!==void 0&&Object.hasOwn(t,o));if(s.length!==1)throw new TypeError(`Expected object with one key, but found ${s.length} for type ${e.name}}`);let[i]=s;if(!Object.hasOwn(t,i))throw new TypeError(`Invalid enum variant ${i}`)}})}},Yc=class extends On{constructor({fields:t,name:e,...n}){super({name:e??`(${t.map(r=>r.name).join(", ")})`,serializedSize:r=>{let s=0;for(let i=0;i<t.length;i++){let o=t[i].serializedSize(r[i]);if(o==null)return null;s+=o}return s},read:r=>{let s=[];for(let i of t)s.push(i.read(r));return s},write:(r,s)=>{for(let i=0;i<t.length;i++)t[i].write(r[i],s)},...n,validate:r=>{if(n?.validate?.(r),!Array.isArray(r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==t.length)throw new TypeError(`Expected array of length ${t.length}, found ${r.length}`)}})}};function bT(t,e,n){return new On({read:r=>{let s=new Array(t);for(let i=0;i<t;i++)s[i]=e.read(r);return s},write:(r,s)=>{for(let i of r)e.write(i,s)},...n,name:n?.name??`${e.name}[${t}]`,validate:r=>{if(n?.validate?.(r),!r||typeof r!="object"||!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==t)throw new TypeError(`Expected array of length ${t}, found ${r.length}`)}})}function wT(t){return S.enum(`Option<${t.name}>`,{None:null,Some:t}).transform({input:e=>e==null?{None:!0}:{Some:e},output:e=>e.$kind==="Some"?e.Some:null})}function _T(t,e){return new On({read:n=>{let r=n.readULEB(),s=new Array(r);for(let i=0;i<r;i++)s[i]=t.read(n);return s},write:(n,r)=>{r.writeULEB(n.length);for(let s of n)t.write(s,r)},...e,name:e?.name??`vector<${t.name}>`,validate:n=>{if(e?.validate?.(n),!n||typeof n!="object"||!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`)}})}function jd(t,e){for(let n=0;n<Math.min(t.length,e.length);n++)if(t[n]!==e[n])return t[n]-e[n];return t.length-e.length}function vT(t,e){return new On({name:`Map<${t.name}, ${e.name}>`,read:n=>{let r=n.readULEB(),s=new Map;for(let i=0;i<r;i++)s.set(t.read(n),e.read(n));return s},write:(n,r)=>{let s=[...n.entries()].map(([i,o])=>[t.serialize(i).toBytes(),o]);s.sort(([i],[o])=>jd(i,o)),r.writeULEB(s.length);for(let[i,o]of s)r.writeBytes(i),e.write(o,r)}})}var S={u8(t){return Wc({readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...t,name:t?.name??"u8"})},u16(t){return Wc({readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...t,name:t?.name??"u16"})},u32(t){return Wc({readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...t,name:t?.name??"u32"})},u64(t){return Zc({readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...t,name:t?.name??"u64"})},u128(t){return Zc({readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...t,name:t?.name??"u128"})},u256(t){return Zc({readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...t,name:t?.name??"u256"})},bool(t){return ba({size:1,read:e=>e.read8()===1,write:(e,n)=>n.write8(e?1:0),...t,name:t?.name??"bool",validate:e=>{if(t?.validate?.(e),typeof e!="boolean")throw new TypeError(`Expected boolean, found ${typeof e}`)}})},uleb128(t){return f0({read:e=>e.readULEB(),serialize:e=>Uint8Array.from(bi(e)),...t,name:t?.name??"uleb128"})},bytes(t,e){return ba({size:t,read:n=>n.readBytes(t),write:(n,r)=>{r.writeBytes(new Uint8Array(n))},...e,name:e?.name??`bytes[${t}]`,validate:n=>{if(e?.validate?.(n),!n||typeof n!="object"||!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`);if(n.length!==t)throw new TypeError(`Expected array of length ${t}, found ${n.length}`)}})},byteVector(t){return new On({read:e=>{let n=e.readULEB();return e.readBytes(n)},write:(e,n)=>{let r=new Uint8Array(e);n.writeULEB(r.length),n.writeBytes(r)},...t,name:t?.name??"vector<u8>",serializedSize:e=>{let n="length"in e?e.length:null;return n==null?null:bi(n).length+n},validate:e=>{if(t?.validate?.(e),!e||typeof e!="object"||!("length"in e))throw new TypeError(`Expected array, found ${typeof e}`)}})},string(t){return p0({toBytes:e=>new TextEncoder().encode(e),fromBytes:e=>new TextDecoder().decode(e),...t,name:t?.name??"string"})},fixedArray:bT,option:wT,vector:_T,tuple(t,e){return new Yc({fields:t,...e})},struct(t,e,n){return new Jc({name:t,fields:e,...n})},enum(t,e,n){return new Kc({name:t,fields:e,...n})},map:vT,lazy(t){return h0(t)}};var Xr=32;function Qr(t){return xT(t)&&ST(t)===Xr}var TT=/^[a-zA-Z][a-zA-Z0-9_]*$/;function m0(t){return TT.test(t)}var kT=["bool","u8","u16","u32","u64","u128","u256","address","signer"],ET=/^vector<(.+)>$/;function g0(t){if(kT.includes(t))return!0;let e=t.match(ET);return e?g0(e[1]):t.includes("::")?Xc(t):!1}function y0(t){return!Qr(t.address)&&!wi(t.address)||!m0(t.module)||!m0(t.name)?!1:t.typeParams.every(e=>typeof e=="string"?g0(e):y0(e))}function Xc(t){try{return y0(or(t))}catch{return!1}}function b0(t){if(t.startsWith("vector<")){if(!t.endsWith(">"))throw new Error(`Invalid type tag: ${t}`);let e=t.slice(7,-1);if(!e)throw new Error(`Invalid type tag: ${t}`);let n=b0(e);return typeof n=="string"?`vector<${n}>`:`vector<${Be(n)}>`}return t.includes("::")?or(t):t}function or(t){let e=t.split("::");if(e.length<3)throw new Error(`Invalid struct tag: ${t}`);let[n,r]=e;if(!n||!r)throw new Error(`Invalid struct tag: ${t}`);let s=wi(n),i=t.slice(n.length+r.length+4),o=i.includes("<")?i.slice(0,i.indexOf("<")):i;if(!o||i.includes("<")&&!i.endsWith(">"))throw new Error(`Invalid struct tag: ${t}`);let a=i.includes("<")?ya(i.slice(i.indexOf("<")+1,i.lastIndexOf(">"))).map(c=>b0(c.trim())):[];return{address:s?n:ae(n),module:r,name:o,typeParams:a}}function Be(t){if(typeof t=="string"&&t.startsWith("vector<"))throw new Error("normalizeStructTag does not support vector types. Use normalizeTypeTag instead.");let{address:e,module:n,name:r,typeParams:s}=typeof t=="string"?or(t):t;return`${e}::${n}::${r}${s?.length>0?`<${s.map(i=>typeof i=="string"?i:Be(i)).join(",")}>`:""}`}function ae(t,e=!1){let n=t.toLowerCase();return!e&&n.startsWith("0x")&&(n=n.slice(2)),`0x${n.padStart(Xr*2,"0")}`}function bn(t,e=!1){return ae(t,e)}function xT(t){return/^(0x|0X)?[a-fA-F0-9]+$/.test(t)&&t.length%2===0}function ST(t){return/^(0x|0X)/.test(t)?(t.length-2)/2:t.length/2}var OT=/^([a-z0-9]+(?:-[a-z0-9]+)*)$/,IT=/^\d+$/,AT=64,w0="/",wi=t=>{let e=t.split(w0);if(e.length<2||e.length>3)return!1;let[n,r,s]=e;return s!==void 0&&!IT.test(s)||!Wm(n)?!1:OT.test(r)&&r.length<AT},_0=t=>{let e=t.split(/::|<|>|,/);for(let n of e)if(n.includes(w0)&&!wi(n))return!1;return Xc(t)};var CT=/^vector<(.+)>$/,NT=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/,Sr=class vo{static parseFromStr(e,n=!1){if(e==="address")return{address:null};if(e==="bool")return{bool:null};if(e==="u8")return{u8:null};if(e==="u16")return{u16:null};if(e==="u32")return{u32:null};if(e==="u64")return{u64:null};if(e==="u128")return{u128:null};if(e==="u256")return{u256:null};if(e==="signer")return{signer:null};let r=e.match(CT);if(r)return{vector:vo.parseFromStr(r[1],n)};let s=e.match(NT);if(s)return{struct:{address:n?ae(s[1]):s[1],module:s[2],name:s[3],typeParams:s[5]===void 0?[]:vo.parseStructTypeArgs(s[5],n)}};throw new Error(`Encountered unexpected token when parsing type args for ${e}`)}static parseStructTypeArgs(e,n=!1){return ya(e).map(r=>vo.parseFromStr(r,n))}static tagToString(e){if("bool"in e)return"bool";if("u8"in e)return"u8";if("u16"in e)return"u16";if("u32"in e)return"u32";if("u64"in e)return"u64";if("u128"in e)return"u128";if("u256"in e)return"u256";if("address"in e)return"address";if("signer"in e)return"signer";if("vector"in e)return`vector<${vo.tagToString(e.vector)}>`;if("struct"in e){let n=e.struct,r=n.typeParams.map(vo.tagToString).join(", ");return`${n.address}::${n.module}::${n.name}${r?`<${r}>`:""}`}throw new Error("Invalid TypeTag")}};function RT(t){return S.u64({name:"unsafe_u64",...t}).transform({input:e=>e,output:e=>Number(e)})}function BT(t){return S.enum("Option",{None:null,Some:t})}var Me=S.bytes(Xr).transform({validate:t=>{let e=typeof t=="string"?t:Qt(t);if(!e||!Qr(ae(e)))throw new Error(`Invalid Sui address ${e}`)},input:t=>typeof t=="string"?ln(ae(t)):t,output:t=>ae(Qt(t))}),dn=S.byteVector().transform({name:"ObjectDigest",input:t=>zn(t),output:t=>Ln(new Uint8Array(t)),validate:t=>{if(zn(t).length!==32)throw new Error("ObjectDigest must be 32 bytes")}}),In=S.struct("SuiObjectRef",{objectId:Me,version:S.u64(),digest:dn}),Ud=S.struct("SharedObjectRef",{objectId:Me,initialSharedVersion:S.u64(),mutable:S.bool()}),Ld=S.enum("ObjectArg",{ImmOrOwnedObject:In,SharedObject:Ud,Receiving:In}),Or=S.enum("Owner",{AddressOwner:Me,ObjectOwner:Me,Shared:S.struct("Shared",{initialSharedVersion:S.u64()}),Immutable:null,ConsensusAddressOwner:S.struct("ConsensusAddressOwner",{startVersion:S.u64(),owner:Me})}),MT=S.enum("Reservation",{MaxAmountU64:S.u64()}),DT=S.enum("WithdrawalType",{Balance:S.lazy(()=>As)}),jT=S.enum("WithdrawFrom",{Sender:null,Sponsor:null}),UT=S.struct("FundsWithdrawal",{reservation:MT,typeArg:DT,withdrawFrom:jT}),Pd=S.enum("CallArg",{Pure:S.struct("Pure",{bytes:S.byteVector().transform({input:t=>typeof t=="string"?le(t):t,output:t=>ve(new Uint8Array(t))})}),Object:Ld,FundsWithdrawal:UT}),Vd=S.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:S.lazy(()=>Vd),struct:S.lazy(()=>Qc),u16:null,u32:null,u256:null}),As=Vd.transform({input:t=>typeof t=="string"?Sr.parseFromStr(t,!0):t,output:t=>Sr.tagToString(t)}),ar=S.enum("Argument",{GasCoin:null,Input:S.u16(),Result:S.u16(),NestedResult:S.tuple([S.u16(),S.u16()])}),Fd=S.struct("ProgrammableMoveCall",{package:Me,module:S.string(),function:S.string(),typeArguments:S.vector(As),arguments:S.vector(ar)}),qd=S.enum("Command",{MoveCall:Fd,TransferObjects:S.struct("TransferObjects",{objects:S.vector(ar),address:ar}),SplitCoins:S.struct("SplitCoins",{coin:ar,amounts:S.vector(ar)}),MergeCoins:S.struct("MergeCoins",{destination:ar,sources:S.vector(ar)}),Publish:S.struct("Publish",{modules:S.vector(S.byteVector().transform({input:t=>typeof t=="string"?le(t):t,output:t=>ve(new Uint8Array(t))})),dependencies:S.vector(Me)}),MakeMoveVec:S.struct("MakeMoveVec",{type:BT(As).transform({input:t=>t===null?{None:!0}:{Some:t},output:t=>t.Some??null}),elements:S.vector(ar)}),Upgrade:S.struct("Upgrade",{modules:S.vector(S.byteVector().transform({input:t=>typeof t=="string"?le(t):t,output:t=>ve(new Uint8Array(t))})),dependencies:S.vector(Me),package:Me,ticket:ar})}),$d=S.struct("ProgrammableTransaction",{inputs:S.vector(Pd),commands:S.vector(qd)}),Gd=S.enum("TransactionKind",{ProgrammableTransaction:$d,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),LT=S.struct("ValidDuring",{minEpoch:S.option(S.u64()),maxEpoch:S.option(S.u64()),minTimestamp:S.option(S.u64()),maxTimestamp:S.option(S.u64()),chain:dn,nonce:S.u32()}),Hd=S.enum("TransactionExpiration",{None:null,Epoch:RT(),ValidDuring:LT}),Qc=S.struct("StructTag",{address:Me,module:S.string(),name:S.string(),typeParams:S.vector(Vd)}),zd=S.struct("GasData",{payment:S.vector(In),owner:Me,price:S.u64(),budget:S.u64()}),Wd=S.struct("TransactionDataV1",{kind:Gd,sender:Me,gasData:zd,expiration:Hd}),Zd=S.enum("TransactionData",{V1:Wd}),Jd=S.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),Kd=S.enum("IntentVersion",{V0:null}),Yd=S.enum("AppId",{Sui:null}),Xd=S.struct("Intent",{scope:Jd,version:Kd,appId:Yd});function Qd(t){return S.struct(`IntentMessage<${t.name}>`,{intent:Xd,value:t})}var ef=S.enum("CompressedSignature",{ED25519:S.bytes(64),Secp256k1:S.bytes(64),Secp256r1:S.bytes(64),ZkLogin:S.byteVector(),Passkey:S.byteVector()}),tf=S.enum("PublicKey",{ED25519:S.bytes(32),Secp256k1:S.bytes(33),Secp256r1:S.bytes(33),ZkLogin:S.byteVector(),Passkey:S.bytes(33)}),nf=S.struct("MultiSigPkMap",{pubKey:tf,weight:S.u8()}),rf=S.struct("MultiSigPublicKey",{pk_map:S.vector(nf),threshold:S.u16()}),v0=S.struct("MultiSig",{sigs:S.vector(ef),bitmap:S.u16(),multisig_pk:rf}),PT=S.byteVector().transform({input:t=>typeof t=="string"?le(t):t,output:t=>ve(new Uint8Array(t))}),sf=S.struct("SenderSignedTransaction",{intentMessage:Qd(Zd),txSignatures:S.vector(PT)}),T0=S.vector(sf,{name:"SenderSignedData"}),k0=S.struct("PasskeyAuthenticator",{authenticatorData:S.byteVector(),clientDataJson:S.string(),userSignature:S.byteVector()}),of=S.enum("MoveObjectType",{Other:Qc,GasCoin:null,StakedSui:null,Coin:As,AccumulatorBalanceWrapper:null}),af=S.struct("TypeOrigin",{moduleName:S.string(),datatypeName:S.string(),package:Me}),cf=S.struct("UpgradeInfo",{upgradedId:Me,upgradedVersion:S.u64()}),uf=S.struct("MovePackage",{id:Me,version:S.u64(),moduleMap:S.map(S.string(),S.byteVector()),typeOriginTable:S.vector(af),linkageTable:S.map(Me,cf)}),lf=S.struct("MoveObject",{type:of,hasPublicTransfer:S.bool(),version:S.u64(),contents:S.byteVector()}),df=S.enum("Data",{Move:lf,Package:uf}),E0=S.struct("ObjectInner",{data:df,owner:Or,previousTransaction:dn,storageRebate:S.u64()});var VT=S.enum("PackageUpgradeError",{UnableToFetchPackage:S.struct("UnableToFetchPackage",{packageId:Me}),NotAPackage:S.struct("NotAPackage",{objectId:Me}),IncompatibleUpgrade:null,DigestDoesNotMatch:S.struct("DigestDoesNotMatch",{digest:S.byteVector()}),UnknownUpgradePolicy:S.struct("UnknownUpgradePolicy",{policy:S.u8()}),PackageIDDoesNotMatch:S.struct("PackageIDDoesNotMatch",{packageId:Me,ticketId:Me})}),FT=S.struct("ModuleId",{address:Me,name:S.string()}),x0=S.struct("MoveLocation",{module:FT,function:S.u16(),instruction:S.u16(),functionName:S.option(S.string())}),qT=S.enum("CommandArgumentError",{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:S.struct("IndexOutOfBounds",{idx:S.u16()}),SecondaryIndexOutOfBounds:S.struct("SecondaryIndexOutOfBounds",{resultIdx:S.u16(),secondaryIdx:S.u16()}),InvalidResultArity:S.struct("InvalidResultArity",{resultIdx:S.u16()}),InvalidGasCoinUsage:null,InvalidValueUsage:null,InvalidObjectByValue:null,InvalidObjectByMutRef:null,SharedObjectOperationNotAllowed:null,InvalidArgumentArity:null,InvalidTransferObject:null,InvalidMakeMoveVecNonObjectArgument:null,ArgumentWithoutValue:null,CannotMoveBorrowedValue:null,CannotWriteToExtendedReference:null,InvalidReferenceArgument:null}),$T=S.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),GT=S.enum("ExecutionFailureStatus",{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:S.struct("MoveObjectTooBig",{objectSize:S.u64(),maxObjectSize:S.u64()}),MovePackageTooBig:S.struct("MovePackageTooBig",{objectSize:S.u64(),maxObjectSize:S.u64()}),CircularObjectOwnership:S.struct("CircularObjectOwnership",{object:Me}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:S.option(x0),MoveAbort:S.tuple([x0,S.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:S.struct("CommandArgumentError",{argIdx:S.u16(),kind:qT}),TypeArgumentError:S.struct("TypeArgumentError",{argumentIdx:S.u16(),kind:$T}),UnusedValueWithoutDrop:S.struct("UnusedValueWithoutDrop",{resultIdx:S.u16(),secondaryIdx:S.u16()}),InvalidPublicFunctionReturnType:S.struct("InvalidPublicFunctionReturnType",{idx:S.u16()}),InvalidTransferObject:null,EffectsTooLarge:S.struct("EffectsTooLarge",{currentSize:S.u64(),maxSize:S.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:S.struct("PackageUpgradeError",{upgradeError:VT}),WrittenObjectsTooLarge:S.struct("WrittenObjectsTooLarge",{currentSize:S.u64(),maxSize:S.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:S.struct("ExecutionCancelledDueToSharedObjectCongestion",{congested_objects:S.vector(Me)}),AddressDeniedForCoin:S.struct("AddressDeniedForCoin",{address:Me,coinType:S.string()}),CoinTypeGlobalPause:S.struct("CoinTypeGlobalPause",{coinType:S.string()}),ExecutionCancelledDueToRandomnessUnavailable:null,MoveVectorElemTooBig:S.struct("MoveVectorElemTooBig",{valueSize:S.u64(),maxScaledSize:S.u64()}),MoveRawValueTooBig:S.struct("MoveRawValueTooBig",{valueSize:S.u64(),maxScaledSize:S.u64()}),InvalidLinkage:null,InsufficientBalanceForWithdraw:null,NonExclusiveWriteInputObjectModified:S.struct("NonExclusiveWriteInputObjectModified",{id:Me})}),eu=S.enum("ExecutionStatus",{Success:null,Failure:S.struct("Failure",{error:GT,command:S.option(S.u64())})}),S0=S.struct("GasCostSummary",{computationCost:S.u64(),storageCost:S.u64(),storageRebate:S.u64(),nonRefundableStorageFee:S.u64()}),HT=S.struct("TransactionEffectsV1",{status:eu,executedEpoch:S.u64(),gasUsed:S0,modifiedAtVersions:S.vector(S.tuple([Me,S.u64()])),sharedObjects:S.vector(In),transactionDigest:dn,created:S.vector(S.tuple([In,Or])),mutated:S.vector(S.tuple([In,Or])),unwrapped:S.vector(S.tuple([In,Or])),deleted:S.vector(In),unwrappedThenDeleted:S.vector(In),wrapped:S.vector(In),gasObject:S.tuple([In,Or]),eventsDigest:S.option(dn),dependencies:S.vector(dn)}),ff=S.tuple([S.u64(),dn]),zT=S.enum("ObjectIn",{NotExist:null,Exist:S.tuple([ff,Or])}),WT=S.struct("AccumulatorAddress",{address:Me,ty:As}),ZT=S.enum("AccumulatorOperation",{Merge:null,Split:null}),JT=S.enum("AccumulatorValue",{Integer:S.u64(),IntegerTuple:S.tuple([S.u64(),S.u64()]),EventDigest:S.vector(S.tuple([S.u64(),dn]))}),KT=S.struct("AccumulatorWriteV1",{address:WT,operation:ZT,value:JT}),YT=S.enum("ObjectOut",{NotExist:null,ObjectWrite:S.tuple([dn,Or]),PackageWrite:ff,AccumulatorWriteV1:KT}),XT=S.enum("IDOperation",{None:null,Created:null,Deleted:null}),QT=S.struct("EffectsObjectChange",{inputState:zT,outputState:YT,idOperation:XT}),e1=S.enum("UnchangedConsensusKind",{ReadOnlyRoot:ff,MutateConsensusStreamEnded:S.u64(),ReadConsensusStreamEnded:S.u64(),Cancelled:S.u64(),PerEpochConfig:null}),t1=S.struct("TransactionEffectsV2",{status:eu,executedEpoch:S.u64(),gasUsed:S0,transactionDigest:dn,gasObjectIndex:S.option(S.u32()),eventsDigest:S.option(dn),dependencies:S.vector(dn),lamportVersion:S.u64(),changedObjects:S.vector(S.tuple([Me,QT])),unchangedConsensusObjects:S.vector(S.tuple([Me,e1])),auxDataDigest:S.option(dn)}),O0=S.enum("TransactionEffects",{V1:HT,V2:t1});function To(t){switch(t){case"u8":return S.u8();case"u16":return S.u16();case"u32":return S.u32();case"u64":return S.u64();case"u128":return S.u128();case"u256":return S.u256();case"bool":return S.bool();case"string":return S.string();case"id":case"address":return Me}let e=t.match(/^(vector|option)<(.+)>$/);if(e){let[n,r]=e.slice(1);return n==="vector"?S.vector(To(r)):S.option(To(r))}throw new Error(`Invalid Pure type name: ${t}`)}var A={...S,U8:S.u8(),U16:S.u16(),U32:S.u32(),U64:S.u64(),U128:S.u128(),U256:S.u256(),ULEB128:S.uleb128(),Bool:S.bool(),String:S.string(),Address:Me,AppId:Yd,Argument:ar,CallArg:Pd,Command:qd,CompressedSignature:ef,Data:df,GasData:zd,Intent:Xd,IntentMessage:Qd,IntentScope:Jd,IntentVersion:Kd,MoveObject:lf,MoveObjectType:of,MovePackage:uf,MultiSig:v0,MultiSigPkMap:nf,MultiSigPublicKey:rf,Object:E0,ObjectArg:Ld,ObjectDigest:dn,Owner:Or,PasskeyAuthenticator:k0,ProgrammableMoveCall:Fd,ProgrammableTransaction:$d,PublicKey:tf,SenderSignedData:T0,SenderSignedTransaction:sf,SharedObjectRef:Ud,StructTag:Qc,SuiObjectRef:In,TransactionData:Zd,TransactionDataV1:Wd,TransactionEffects:O0,TransactionExpiration:Hd,TransactionKind:Gd,TypeOrigin:af,TypeTag:As,UpgradeInfo:cf};function pf(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in t&&t.BYTES_PER_ELEMENT===1}function Wn(t,e=""){if(typeof t!="number"){let n=e&&`"${e}" `;throw new TypeError(`${n}expected number, got ${typeof t}`)}if(!Number.isSafeInteger(t)||t<0){let n=e&&`"${e}" `;throw new RangeError(`${n}expected integer >= 0, got ${t}`)}}function $t(t,e,n=""){let r=pf(t),s=t?.length,i=e!==void 0;if(!r||i&&s!==e){let o=n&&`"${n}" `,a=i?` of length ${e}`:"",c=r?`length=${s}`:`type=${typeof t}`,u=o+"expected Uint8Array"+a+", got "+c;throw r?new RangeError(u):new TypeError(u)}return t}function tu(t){if(typeof t!="function"||typeof t.create!="function")throw new TypeError("Hash must wrapped by utils.createHasher");if(Wn(t.outputLen),Wn(t.blockLen),t.outputLen<1)throw new Error('"outputLen" must be >= 1');if(t.blockLen<1)throw new Error('"blockLen" must be >= 1')}function ts(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function ko(t,e){$t(t,void 0,"digestInto() output");let n=e.outputLen;if(t.length<n)throw new RangeError('"digestInto() output" expected to be of length >='+n)}function wa(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Pn(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function nu(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function cr(t,e){return t<<32-e|t>>>e}var A0=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function C0(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}var Ir=A0?t=>t:t=>C0(t)>>>0;function n1(t){for(let e=0;e<t.length;e++)t[e]=C0(t[e]);return t}var _i=A0?t=>t:n1,N0=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),r1=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Eo(t){if($t(t),N0)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=r1[t[n]];return e}var es={_0:48,_9:57,A:65,F:70,a:97,f:102};function I0(t){if(t>=es._0&&t<=es._9)return t-es._0;if(t>=es.A&&t<=es.F)return t-(es.A-10);if(t>=es.a&&t<=es.f)return t-(es.a-10)}function _a(t){if(typeof t!="string")throw new TypeError("hex string expected, got "+typeof t);if(N0)try{return Uint8Array.fromHex(t)}catch(s){throw s instanceof SyntaxError?new RangeError(s.message):s}let e=t.length,n=e/2;if(e%2)throw new RangeError("hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(n);for(let s=0,i=0;s<n;s++,i+=2){let o=I0(t.charCodeAt(i)),a=I0(t.charCodeAt(i+1));if(o===void 0||a===void 0){let c=t[i]+t[i+1];throw new RangeError('hex string expected, got non-hex character "'+c+'" at index '+i)}r[s]=o*16+a}return r}function hf(...t){let e=0;for(let r=0;r<t.length;r++){let s=t[r];$t(s),e+=s.length}let n=new Uint8Array(e);for(let r=0,s=0;r<t.length;r++){let i=t[r];n.set(i,s),s+=i.length}return n}function va(t,e={}){let n=(s,i)=>t(i).update(s).digest(),r=t(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=s=>t(s),Object.assign(n,e),Object.freeze(n)}function R0(t=32){Wn(t,"bytesLength");let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");if(t>65536)throw new RangeError(`"bytesLength" expected <= 65536, got ${t}`);return e.getRandomValues(new Uint8Array(t))}var mf=t=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,t])});var B0=Uint8Array.from([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9]);function M0(t,e,n){return t&e^~t&n}function D0(t,e,n){return t&e^t&n^e&n}var Ta=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,n,r,s){this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(e),this.view=nu(this.buffer)}update(e){ts(this),$t(e);let{view:n,buffer:r,blockLen:s}=this,i=e.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=nu(e);for(;s<=i-o;o+=s)this.process(c,o);continue}r.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ts(this),ko(e,this),this.finished=!0;let{buffer:n,view:r,blockLen:s,isLE:i}=this,{pos:o}=this;n[o++]=128,Pn(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(r,0),o=0);for(let f=o;f<s;f++)n[f]=0;r.setBigUint64(s-8,BigInt(this.length*8),i),this.process(r,0);let a=nu(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,d[f],i)}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:n,buffer:r,length:s,finished:i,destroyed:o,pos:a}=this;return e.destroyed=o,e.finished=i,e.length=s,e.pos=a,s%n&&e.buffer.set(r),e}clone(){return this._cloneInto()}},ns=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var tn=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var ru=BigInt(4294967295),j0=BigInt(32);function gf(t,e=!1){return e?{h:Number(t&ru),l:Number(t>>j0&ru)}:{h:Number(t>>j0&ru)|0,l:Number(t&ru)|0}}function U0(t,e=!1){let n=t.length,r=new Uint32Array(n),s=new Uint32Array(n);for(let i=0;i<n;i++){let{h:o,l:a}=gf(t[i],e);[r[i],s[i]]=[o,a]}return[r,s]}var yf=(t,e,n)=>t>>>n,bf=(t,e,n)=>t<<32-n|e>>>n,Ar=(t,e,n)=>t>>>n|e<<32-n,Cr=(t,e,n)=>t<<32-n|e>>>n,vi=(t,e,n)=>t<<64-n|e>>>n-32,Ti=(t,e,n)=>t>>>n-32|e<<64-n,L0=(t,e)=>e,P0=(t,e)=>t;function Vn(t,e,n,r){let s=(e>>>0)+(r>>>0);return{h:t+n+(s/2**32|0)|0,l:s|0}}var ka=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),Ea=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,V0=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),F0=(t,e,n,r,s)=>e+n+r+s+(t/2**32|0)|0,q0=(t,e,n,r,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(s>>>0),$0=(t,e,n,r,s,i)=>e+n+r+s+i+(t/2**32|0)|0;var Zt=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),se=new Uint32Array(32);function Cs(t,e,n,r,s,i){let o=s[i],a=s[i+1],c=se[2*t],u=se[2*t+1],d=se[2*e],f=se[2*e+1],p=se[2*n],m=se[2*n+1],b=se[2*r],_=se[2*r+1],T=ka(c,d,o);u=Ea(T,u,f,a),c=T|0,{Dh:_,Dl:b}={Dh:_^u,Dl:b^c},{Dh:_,Dl:b}={Dh:L0(_,b),Dl:P0(_,b)},{h:m,l:p}=Vn(m,p,_,b),{Bh:f,Bl:d}={Bh:f^m,Bl:d^p},{Bh:f,Bl:d}={Bh:Ar(f,d,24),Bl:Cr(f,d,24)},se[2*t]=c,se[2*t+1]=u,se[2*e]=d,se[2*e+1]=f,se[2*n]=p,se[2*n+1]=m,se[2*r]=b,se[2*r+1]=_}function Ns(t,e,n,r,s,i){let o=s[i],a=s[i+1],c=se[2*t],u=se[2*t+1],d=se[2*e],f=se[2*e+1],p=se[2*n],m=se[2*n+1],b=se[2*r],_=se[2*r+1],T=ka(c,d,o);u=Ea(T,u,f,a),c=T|0,{Dh:_,Dl:b}={Dh:_^u,Dl:b^c},{Dh:_,Dl:b}={Dh:Ar(_,b,16),Dl:Cr(_,b,16)},{h:m,l:p}=Vn(m,p,_,b),{Bh:f,Bl:d}={Bh:f^m,Bl:d^p},{Bh:f,Bl:d}={Bh:vi(f,d,63),Bl:Ti(f,d,63)},se[2*t]=c,se[2*t+1]=u,se[2*e]=d,se[2*e+1]=f,se[2*n]=p,se[2*n+1]=m,se[2*r]=b,se[2*r+1]=_}function s1(t,e={},n,r,s){if(Wn(n),t<=0||t>n)throw new Error("outputLen bigger than keyLen");let{key:i,salt:o,personalization:a}=e;if(i!==void 0&&(i.length<1||i.length>n))throw new Error('"key" expected to be undefined or of length=1..'+n);o!==void 0&&$t(o,r,"salt"),a!==void 0&&$t(a,s,"personalization")}var wf=class{buffer;buffer32;finished=!1;destroyed=!1;length=0;pos=0;blockLen;outputLen;canXOF=!1;constructor(e,n){Wn(e),Wn(n),this.blockLen=e,this.outputLen=n,this.buffer=new Uint8Array(e),this.buffer32=wa(this.buffer)}update(e){ts(this),$t(e);let{blockLen:n,buffer:r,buffer32:s}=this,i=e.length,o=e.byteOffset,a=e.buffer;for(let c=0;c<i;){this.pos===n&&(_i(s),this.compress(s,0,!1),_i(s),this.pos=0);let u=Math.min(n-this.pos,i-c),d=o+c;if(u===n&&!(d%4)&&c+u<i){let f=new Uint32Array(a,d,Math.floor((i-c)/4));_i(f);for(let p=0;c+n<i;p+=s.length,c+=n)this.length+=n,this.compress(f,p,!1);_i(f);continue}r.set(e.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(e){ts(this),ko(e,this);let{pos:n,buffer32:r}=this;if(this.finished=!0,Pn(this.buffer.subarray(n)),_i(r),this.compress(r,0,!0),_i(r),e.byteOffset&3)throw new RangeError('"digestInto() output" expected 4-byte aligned byteOffset, got '+e.byteOffset);let s=this.get(),i=wa(e),o=Math.floor(this.outputLen/4);for(let d=0;d<o;d++)i[d]=Ir(s[d]);let a=this.outputLen%4;if(!a)return;let c=o*4,u=s[o];for(let d=0;d<a;d++)e[c+d]=u>>>8*d}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){let{buffer:n,length:r,finished:s,destroyed:i,outputLen:o,pos:a}=this;return e||=new this.constructor({dkLen:o}),e.set(...this.get()),e.buffer.set(n),e.destroyed=i,e.finished=s,e.length=r,e.pos=a,e.outputLen=o,e}clone(){return this._cloneInto()}},_f=class extends wf{v0l=Zt[0]|0;v0h=Zt[1]|0;v1l=Zt[2]|0;v1h=Zt[3]|0;v2l=Zt[4]|0;v2h=Zt[5]|0;v3l=Zt[6]|0;v3h=Zt[7]|0;v4l=Zt[8]|0;v4h=Zt[9]|0;v5l=Zt[10]|0;v5h=Zt[11]|0;v6l=Zt[12]|0;v6h=Zt[13]|0;v7l=Zt[14]|0;v7h=Zt[15]|0;constructor(e={}){let n=e.dkLen===void 0?64:e.dkLen;super(128,n),s1(n,e,64,16,16);let{key:r,personalization:s,salt:i}=e,o=0;if(r!==void 0&&($t(r,void 0,"key"),o=r.length),this.v0l^=this.outputLen|o<<8|65536|1<<24,i!==void 0){$t(i,void 0,"salt");let a=wa(i);this.v4l^=Ir(a[0]),this.v4h^=Ir(a[1]),this.v5l^=Ir(a[2]),this.v5h^=Ir(a[3])}if(s!==void 0){$t(s,void 0,"personalization");let a=wa(s);this.v6l^=Ir(a[0]),this.v6h^=Ir(a[1]),this.v7l^=Ir(a[2]),this.v7h^=Ir(a[3])}if(r!==void 0){let a=new Uint8Array(this.blockLen);a.set(r),this.update(a)}}get(){let{v0l:e,v0h:n,v1l:r,v1h:s,v2l:i,v2h:o,v3l:a,v3h:c,v4l:u,v4h:d,v5l:f,v5h:p,v6l:m,v6h:b,v7l:_,v7h:T}=this;return[e,n,r,s,i,o,a,c,u,d,f,p,m,b,_,T]}set(e,n,r,s,i,o,a,c,u,d,f,p,m,b,_,T){this.v0l=e|0,this.v0h=n|0,this.v1l=r|0,this.v1h=s|0,this.v2l=i|0,this.v2h=o|0,this.v3l=a|0,this.v3h=c|0,this.v4l=u|0,this.v4h=d|0,this.v5l=f|0,this.v5h=p|0,this.v6l=m|0,this.v6h=b|0,this.v7l=_|0,this.v7h=T|0}compress(e,n,r){this.get().forEach((c,u)=>se[u]=c),se.set(Zt,16);let{h:s,l:i}=gf(BigInt(this.length));se[24]=Zt[8]^i,se[25]=Zt[9]^s,r&&(se[28]=~se[28],se[29]=~se[29]);let o=0,a=B0;for(let c=0;c<12;c++)Cs(0,4,8,12,e,n+2*a[o++]),Ns(0,4,8,12,e,n+2*a[o++]),Cs(1,5,9,13,e,n+2*a[o++]),Ns(1,5,9,13,e,n+2*a[o++]),Cs(2,6,10,14,e,n+2*a[o++]),Ns(2,6,10,14,e,n+2*a[o++]),Cs(3,7,11,15,e,n+2*a[o++]),Ns(3,7,11,15,e,n+2*a[o++]),Cs(0,5,10,15,e,n+2*a[o++]),Ns(0,5,10,15,e,n+2*a[o++]),Cs(1,6,11,12,e,n+2*a[o++]),Ns(1,6,11,12,e,n+2*a[o++]),Cs(2,7,8,13,e,n+2*a[o++]),Ns(2,7,8,13,e,n+2*a[o++]),Cs(3,4,9,14,e,n+2*a[o++]),Ns(3,4,9,14,e,n+2*a[o++]);this.v0l^=se[0]^se[16],this.v0h^=se[1]^se[17],this.v1l^=se[2]^se[18],this.v1h^=se[3]^se[19],this.v2l^=se[4]^se[20],this.v2h^=se[5]^se[21],this.v3l^=se[6]^se[22],this.v3h^=se[7]^se[23],this.v4l^=se[8]^se[24],this.v4h^=se[9]^se[25],this.v5l^=se[10]^se[26],this.v5h^=se[11]^se[27],this.v6l^=se[12]^se[28],this.v6h^=se[13]^se[29],this.v7l^=se[14]^se[30],this.v7h^=se[15]^se[31],Pn(se)}destroy(){this.destroyed=!0,Pn(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},ur=va(t=>new _f(t));function rs(t,e,n){let r=A.Address.serialize(t).toBytes(),s=A.TypeTag.serialize(e).toBytes(),i=A.u64().serialize(n.length).toBytes(),o=ur.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(i),o.update(n),o.update(s),`0x${Qt(o.digest().slice(0,32))}`}var i1=BigInt(1e9),xa="0x0000000000000000000000000000000000000000000000000000000000000001",Sa="0x0000000000000000000000000000000000000000000000000000000000000002";var he="0x0000000000000000000000000000000000000000000000000000000000000006";var Zn=`${Sa}::sui::SUI`,su="0x0000000000000000000000000000000000000000000000000000000000000005",vf="0x0000000000000000000000000000000000000000000000000000000000000008";var Tf="0x0000000000000000000000000000000000000000000000000000000000000403";var H0=class z0{#t;#e;constructor({prefix:e,cache:n}={}){this.#t=e??[],this.#e=n??new Map}read(e,n){let r=[this.#t,...e].join(":");if(this.#e.has(r))return this.#e.get(r);let s=n();return this.#e.set(r,s),typeof s=="object"&&s!==null&&"then"in s?Promise.resolve(s).then(i=>(this.#e.set(r,i),i)).catch(i=>{throw this.#e.delete(r),i}):s}readSync(e,n){let r=[this.#t,...e].join(":");if(this.#e.has(r))return this.#e.get(r);let s=n();return this.#e.set(r,s),s}clear(e){let n=[...this.#t,...e??[]].join(":");if(!n){this.#e.clear();return}for(let r of this.#e.keys())r.startsWith(n)&&this.#e.delete(r)}scope(e){return new z0({prefix:[...this.#t,...Array.isArray(e)?e:[e]],cache:this.#e})}};var xo=class{constructor({network:t,base:e,cache:n=e?.cache??new H0}){this.network=t,this.base=e??this,this.cache=n}$extend(...t){let e=Object.fromEntries(t.map(r=>[r.name,r.register(this)])),n=new Map;return new Proxy(this,{get(r,s,i){if(typeof s=="string"&&s in e)return e[s];let o=Reflect.get(r,s,i);return typeof o=="function"?s==="$extend"?o.bind(i):(n.has(s)||n.set(s,o.bind(r)),n.get(s)):o}})}};var W0="2.16.3";var o1="/",a1={"Mvr-Source":`@mysten/sui@${W0}`},J0=class{#t;#e;#s;#r;constructor({cache:t,url:e,pageSize:n=50,overrides:r}){this.#t=t,this.#e=e,this.#s=n,this.#r={packages:r?.packages,types:r?.types},c1(this.#r)}get#i(){return this.#t.readSync(["#mvrPackageDataLoader",this.#e??""],()=>{let t=new zc(async n=>{if(!this.#e)throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);let r=await this.#a(n);return n.map(s=>r[s]??new Error(`Failed to resolve package: ${s}`))}),e=this.#r?.packages;if(e)for(let[n,r]of Object.entries(e))t.prime(n,r);return t})}get#o(){return this.#t.readSync(["#mvrTypeDataLoader",this.#e??""],()=>{let t=new zc(async n=>{if(!this.#e)throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);let r=await this.#c(n);return n.map(s=>r[s]??new Error(`Failed to resolve type: ${s}`))}),e=this.#r?.types;if(e)for(let[n,r]of Object.entries(e))t.prime(n,r);return t})}async#a(t){if(t.length===0)return{};let e=xr(t,this.#s),n={};return await Promise.all(e.map(async r=>{let s=await this.#n("/v1/resolution/bulk",{names:r});if(s?.resolution)for(let i of Object.keys(s?.resolution)){let o=s.resolution[i]?.package_id;o&&(n[i]=o)}})),n}async#c(t){if(t.length===0)return{};let e=xr(t,this.#s),n={};return await Promise.all(e.map(async r=>{let s=await this.#n("/v1/struct-definition/bulk",{types:r});if(s?.resolution)for(let i of Object.keys(s?.resolution)){let o=s.resolution[i]?.type_tag;o&&(n[i]=o)}})),n}async#n(t,e){if(!this.#e)throw new Error("MVR Api URL is not set for the current client");let n=await fetch(`${this.#e}${t}`,{method:"POST",headers:{"Content-Type":"application/json",...a1},body:JSON.stringify(e)});if(!n.ok){let r=await n.json().catch(()=>({}));throw new Error(`Failed to resolve types: ${r?.message}`)}return n.json()}async resolvePackage({package:t}){return Nr(t)?{package:await this.#i.load(t)}:{package:t}}async resolveType({type:t}){if(!Nr(t))return{type:t};let e=[...iu(t)],n=await this.#o.loadMany(e),r={};for(let s=0;s<e.length;s++){let i=n[s];if(i instanceof Error)throw i;r[e[s]]=i}return{type:ou(t,r)}}async resolve({types:t=[],packages:e=[]}){let n=new Set;for(let u of t??[])iu(u,n);let r=[...n],[s,i]=await Promise.all([r.length>0?this.#o.loadMany(r):[],e.length>0?this.#i.loadMany(e):[]]),o={...this.#r?.types};for(let[u,d]of r.entries()){let f=s[u];if(f instanceof Error)throw f;o[d]=f}let a={};for(let u of t??[])a[u]={type:ou(u,o)};let c={};for(let[u,d]of(e??[]).entries()){let f=this.#r?.packages?.[d]??i[u];if(f instanceof Error)throw f;c[d]={package:f}}return{types:a,packages:c}}};function c1(t){if(t?.packages)for(let[e,n]of Object.entries(t.packages)){if(!wi(e))throw new Error(`Invalid package name: ${e}`);if(!Qr(ae(n)))throw new Error(`Invalid package ID: ${n}`)}if(t?.types)for(let[e,n]of Object.entries(t.types)){if(or(e).typeParams.length>0)throw new Error("Type overrides must be first-level only. If you want to supply generic types, just pass each type individually.");if(!Qr(or(n).address))throw new Error(`Invalid type: ${n}`)}}function iu(t,e=new Set){if(typeof t=="string"&&!Nr(t))return e;if(typeof t=="string"&&t.startsWith("vector<")&&t.endsWith(">"))return iu(t.slice(7,-1),e);let n=K0(t)?t:or(t);Nr(n.address)&&e.add(`${n.address}::${n.module}::${n.name}`);for(let r of n.typeParams)iu(r,e);return e}function ou(t,e){if(typeof t=="string"&&!t.includes("::"))return t;if(typeof t=="string"&&t.startsWith("vector<")&&t.endsWith(">"))return`vector<${ou(t.slice(7,-1),e)}>`;let n=K0(t)?t:or(t),r=e[`${n.address}::${n.module}::${n.name}`];return Be({...n,address:r?r.split("::")[0]:n.address,typeParams:n.typeParams.map(s=>ou(s,e))})}function Nr(t){return t.includes(o1)||t.includes("@")||t.includes(".sui")}function K0(t){return typeof t=="object"&&"address"in t&&"module"in t&&"name"in t&&"typeParams"in t}function Y0(t){let e=new Set,n=new Set;for(let r of t.commands)switch(r.$kind){case"MakeMoveVec":r.MakeMoveVec.type&&Z0([r.MakeMoveVec.type]).forEach(o=>{n.add(o)});break;case"MoveCall":let s=r.MoveCall,i=s.package.split("::")[0];if(Nr(i)){if(!wi(i))throw new Error(`Invalid package name: ${i}`);e.add(i)}Z0(s.typeArguments??[]).forEach(o=>{n.add(o)});break;default:break}return{packages:[...e],types:[...n]}}function X0(t,e){for(let n of t.commands){if(n.MakeMoveVec?.type){if(!Nr(n.MakeMoveVec.type))continue;if(!e.types[n.MakeMoveVec.type])throw new Error(`No resolution found for type: ${n.MakeMoveVec.type}`);n.MakeMoveVec.type=e.types[n.MakeMoveVec.type].type}let r=n.MoveCall;if(!r)continue;let s=r.package.split("::"),i=s[0];if(Nr(i)&&!e.packages[i])throw new Error(`No address found for package: ${i}`);Nr(i)&&(s[0]=e.packages[i].package,r.package=s.join("::"));let o=r.typeArguments;if(o){for(let a=0;a<o.length;a++)if(Nr(o[a])){if(!e.types[o[a]])throw new Error(`No resolution found for type: ${o[a]}`);o[a]=e.types[o[a]].type}r.typeArguments=o}}}function Z0(t){let e=new Set;for(let n of t)if(Nr(n)){if(!_0(n))throw new Error(`Invalid type with names: ${n}`);e.add(n)}return e}var u1={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"},au=class extends xo{constructor(t){super(t),this.core=this,this.mvr=new J0({cache:this.cache.scope("core.mvr"),url:t.mvr?.url??u1[this.network],pageSize:t.mvr?.pageSize,overrides:t.mvr?.overrides})}async getObject(t){let{objectId:e}=t,{objects:[n]}=await this.getObjects({objectIds:[e],signal:t.signal,include:t.include});if(n instanceof Error)throw n;return{object:n}}async getDynamicField(t){let e=Sr.parseFromStr((await this.core.mvr.resolveType({type:t.name.type})).type),n=rs(t.parentId,e,t.name.bcs),{objects:[r]}=await this.getObjects({objectIds:[n],signal:t.signal,include:{previousTransaction:!0,content:!0}});if(r instanceof Error)throw r;let s=or(r.type),i=await r.content,o=s.typeParams[0],a=typeof o!="string"&&o.module==="dynamic_object_field"&&o.name==="Wrapper",c=i.slice(Xr+t.name.bcs.length),u=typeof s.typeParams[1]=="string"?s.typeParams[1]:Be(s.typeParams[1]);return{dynamicField:{$kind:a?"DynamicObject":"DynamicField",fieldId:r.objectId,digest:r.digest,version:r.version,type:r.type,previousTransaction:r.previousTransaction,name:{type:typeof o=="string"?o:Be(o),bcs:t.name.bcs},value:{type:u,bcs:c},childId:a?A.Address.parse(c):void 0}}}async getDynamicObjectField(t){let e=`0x2::dynamic_object_field::Wrapper<${(await this.core.mvr.resolveType({type:t.name.type})).type}>`,{dynamicField:n}=await this.getDynamicField({parentId:t.parentId,name:{type:e,bcs:t.name.bcs},signal:t.signal}),{object:r}=await this.getObject({objectId:n.childId,signal:t.signal,include:t.include});return{object:r}}async waitForTransaction(t){let{signal:e,timeout:n=60*1e3,pollSchedule:r,include:s}=t,i="result"in t&&t.result?(t.result.Transaction??t.result.FailedTransaction).digest:t.digest,o=e?AbortSignal.any([AbortSignal.timeout(n),e]):AbortSignal.timeout(n),a=new Promise((p,m)=>{o.addEventListener("abort",()=>m(o.reason))});a.catch(()=>{});let c=r??[0,300,600,1500,3500],u=Date.now(),d=0,f=c.length>0?c[c.length-1]-(c[c.length-2]??0):2e3;for(;;){if(d<c.length){let p=u+c[d]-Date.now();d++,p>0&&await Promise.race([new Promise(m=>setTimeout(m,p)),a])}else await Promise.race([new Promise(p=>setTimeout(p,f)),a]);o.throwIfAborted();try{return await this.getTransaction({digest:i,include:s,signal:o})}catch{}}}async signAndExecuteTransaction({transaction:t,signer:e,additionalSignatures:n=[],...r}){let s;t instanceof Uint8Array?s=t:(t.setSenderIfNotSet(e.toSuiAddress()),s=await t.build({client:this}));let{signature:i}=await e.signTransaction(s);return this.executeTransaction({transaction:s,signatures:[i,...n],...r})}};var kf;function eg(t){return{lang:t?.lang??kf?.lang,message:t?.message,abortEarly:t?.abortEarly??kf?.abortEarly,abortPipeEarly:t?.abortPipeEarly??kf?.abortPipeEarly}}var l1;function d1(t){return l1?.get(t)}var f1;function p1(t){return f1?.get(t)}var h1;function m1(t,e){return h1?.get(t)?.get(e)}function Ef(t){let e=typeof t;return e==="string"?`"${t}"`:e==="number"||e==="bigint"||e==="boolean"?`${t}`:e==="object"||e==="function"?(t&&Object.getPrototypeOf(t)?.constructor?.name)??"null":e}function wn(t,e,n,r,s){let i=s&&"input"in s?s.input:n.value,o=s?.expected??t.expects??null,a=s?.received??Ef(i),c={kind:t.kind,type:t.type,input:i,expected:o,received:a,message:`Invalid ${e}: ${o?`Expected ${o} but r`:"R"}eceived ${a}`,requirement:t.requirement,path:s?.path,issues:s?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},u=t.kind==="schema",d=s?.message??t.message??m1(t.reference,c.lang)??(u?p1(c.lang):null)??r.message??d1(c.lang);d!==void 0&&(c.message=typeof d=="function"?d(c):d),u&&(n.typed=!1),n.issues?n.issues.push(c):n.issues=[c]}function nn(t){return{version:1,vendor:"valibot",validate(e){return t["~run"]({value:e},eg())}}}function g1(t,e){return Object.hasOwn(t,e)&&e!=="__proto__"&&e!=="prototype"&&e!=="constructor"}function tg(t,e){let n=[...new Set(t)];return n.length>1?`(${n.join(` ${e} `)})`:n[0]??"never"}var y1=class extends Error{constructor(t){super(t[0].message),this.name="ValiError",this.issues=t}};function Rs(t,e){return{kind:"validation",type:"check",reference:Rs,async:!1,expects:null,requirement:t,message:e,"~run"(n,r){return n.typed&&!this.requirement(n.value)&&wn(this,"input",n,r),n}}}function ze(t){return{kind:"validation",type:"integer",reference:ze,async:!1,expects:null,requirement:Number.isInteger,message:t,"~run"(e,n){return e.typed&&!this.requirement(e.value)&&wn(this,"integer",e,n),e}}}function cu(t){return{kind:"transformation",type:"transform",reference:cu,async:!1,operation:t,"~run"(e){return e.value=this.operation(e.value),e}}}function b1(t,e,n){return typeof t.fallback=="function"?t.fallback(e,n):t.fallback}function uu(t,e,n){return typeof t.default=="function"?t.default(e,n):t.default}function Oa(t,e){return!t["~run"]({value:e},{abortEarly:!0}).issues}function me(t,e){return{kind:"schema",type:"array",reference:me,expects:"Array",async:!1,item:t,message:e,get"~standard"(){return nn(this)},"~run"(n,r){let s=n.value;if(Array.isArray(s)){n.typed=!0,n.value=[];for(let i=0;i<s.length;i++){let o=s[i],a=this.item["~run"]({value:o},r);if(a.issues){let c={type:"array",origin:"value",input:s,key:i,value:o};for(let u of a.issues)u.path?u.path.unshift(c):u.path=[c],n.issues?.push(u);if(n.issues||(n.issues=a.issues),r.abortEarly){n.typed=!1;break}}a.typed||(n.typed=!1),n.value.push(a.value)}}else wn(this,"type",n,r);return n}}}function So(t){return{kind:"schema",type:"bigint",reference:So,expects:"bigint",async:!1,message:t,get"~standard"(){return nn(this)},"~run"(e,n){return typeof e.value=="bigint"?e.typed=!0:wn(this,"type",e,n),e}}}function ss(t){return{kind:"schema",type:"boolean",reference:ss,expects:"boolean",async:!1,message:t,get"~standard"(){return nn(this)},"~run"(e,n){return typeof e.value=="boolean"?e.typed=!0:wn(this,"type",e,n),e}}}function ki(t){return{kind:"schema",type:"lazy",reference:ki,expects:"unknown",async:!1,getter:t,get"~standard"(){return nn(this)},"~run"(e,n){return this.getter(e.value)["~run"](e,n)}}}function de(t,e){return{kind:"schema",type:"literal",reference:de,expects:Ef(t),async:!1,literal:t,message:e,get"~standard"(){return nn(this)},"~run"(n,r){return n.value===this.literal?n.typed=!0:wn(this,"type",n,r),n}}}function Se(t,e){return{kind:"schema",type:"nullable",reference:Se,expects:`(${t.expects} | null)`,async:!1,wrapped:t,default:e,get"~standard"(){return nn(this)},"~run"(n,r){return n.value===null&&(this.default!==void 0&&(n.value=uu(this,n,r)),n.value===null)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function is(t,e){return{kind:"schema",type:"nullish",reference:is,expects:`(${t.expects} | null | undefined)`,async:!1,wrapped:t,default:e,get"~standard"(){return nn(this)},"~run"(n,r){return(n.value===null||n.value===void 0)&&(this.default!==void 0&&(n.value=uu(this,n,r)),n.value===null||n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function He(t){return{kind:"schema",type:"number",reference:He,expects:"number",async:!1,message:t,get"~standard"(){return nn(this)},"~run"(e,n){return typeof e.value=="number"&&!isNaN(e.value)?e.typed=!0:wn(this,"type",e,n),e}}}function J(t,e){return{kind:"schema",type:"object",reference:J,expects:"Object",async:!1,entries:t,message:e,get"~standard"(){return nn(this)},"~run"(n,r){let s=n.value;if(s&&typeof s=="object"){n.typed=!0,n.value={};for(let i in this.entries){let o=this.entries[i];if(i in s||(o.type==="exact_optional"||o.type==="optional"||o.type==="nullish")&&o.default!==void 0){let a=i in s?s[i]:uu(o),c=o["~run"]({value:a},r);if(c.issues){let u={type:"object",origin:"value",input:s,key:i,value:a};for(let d of c.issues)d.path?d.path.unshift(u):d.path=[u],n.issues?.push(d);if(n.issues||(n.issues=c.issues),r.abortEarly){n.typed=!1;break}}c.typed||(n.typed=!1),n.value[i]=c.value}else if(o.fallback!==void 0)n.value[i]=b1(o);else if(o.type!=="exact_optional"&&o.type!=="optional"&&o.type!=="nullish"&&(wn(this,"key",n,r,{input:void 0,expected:`"${i}"`,path:[{type:"object",origin:"key",input:s,key:i,value:s[i]}]}),r.abortEarly))break}}else wn(this,"type",n,r);return n}}}function Ye(t,e){return{kind:"schema",type:"optional",reference:Ye,expects:`(${t.expects} | undefined)`,async:!1,wrapped:t,default:e,get"~standard"(){return nn(this)},"~run"(n,r){return n.value===void 0&&(this.default!==void 0&&(n.value=uu(this,n,r)),n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function xf(t,e){return{kind:"schema",type:"picklist",reference:xf,expects:tg(t.map(Ef),"|"),async:!1,options:t,message:e,get"~standard"(){return nn(this)},"~run"(n,r){return this.options.includes(n.value)?n.typed=!0:wn(this,"type",n,r),n}}}function Ei(t,e,n){return{kind:"schema",type:"record",reference:Ei,expects:"Object",async:!1,key:t,value:e,message:n,get"~standard"(){return nn(this)},"~run"(r,s){let i=r.value;if(i&&typeof i=="object"){r.typed=!0,r.value={};for(let o in i)if(g1(i,o)){let a=i[o],c=this.key["~run"]({value:o},s);if(c.issues){let d={type:"object",origin:"key",input:i,key:o,value:a};for(let f of c.issues)f.path=[d],r.issues?.push(f);if(r.issues||(r.issues=c.issues),s.abortEarly){r.typed=!1;break}}let u=this.value["~run"]({value:a},s);if(u.issues){let d={type:"object",origin:"value",input:i,key:o,value:a};for(let f of u.issues)f.path?f.path.unshift(d):f.path=[d],r.issues?.push(f);if(r.issues||(r.issues=u.issues),s.abortEarly){r.typed=!1;break}}(!c.typed||!u.typed)&&(r.typed=!1),c.typed&&(r.value[c.value]=u.value)}}else wn(this,"type",r,s);return r}}}function _e(t){return{kind:"schema",type:"string",reference:_e,expects:"string",async:!1,message:t,get"~standard"(){return nn(this)},"~run"(e,n){return typeof e.value=="string"?e.typed=!0:wn(this,"type",e,n),e}}}function Ia(t,e){return{kind:"schema",type:"tuple",reference:Ia,expects:"Array",async:!1,items:t,message:e,get"~standard"(){return nn(this)},"~run"(n,r){let s=n.value;if(Array.isArray(s)){n.typed=!0,n.value=[];for(let i=0;i<this.items.length;i++){let o=s[i],a=this.items[i]["~run"]({value:o},r);if(a.issues){let c={type:"array",origin:"value",input:s,key:i,value:o};for(let u of a.issues)u.path?u.path.unshift(c):u.path=[c],n.issues?.push(u);if(n.issues||(n.issues=a.issues),r.abortEarly){n.typed=!1;break}}a.typed||(n.typed=!1),n.value.push(a.value)}}else wn(this,"type",n,r);return n}}}function Q0(t){let e;if(t)for(let n of t)e?e.push(...n.issues):e=n.issues;return e}function it(t,e){return{kind:"schema",type:"union",reference:it,expects:tg(t.map(n=>n.expects),"|"),async:!1,options:t,message:e,get"~standard"(){return nn(this)},"~run"(n,r){let s,i,o;for(let a of this.options){let c=a["~run"]({value:n.value},r);if(c.typed)if(c.issues)i?i.push(c):i=[c];else{s=c;break}else o?o.push(c):o=[c]}if(s)return s;if(i){if(i.length===1)return i[0];wn(this,"type",n,r,{issues:Q0(i)}),n.typed=!0}else{if(o?.length===1)return o[0];wn(this,"type",n,r,{issues:Q0(o)})}return n}}}function Rr(){return{kind:"schema",type:"unknown",reference:Rr,expects:"unknown",async:!1,get"~standard"(){return nn(this)},"~run"(t){return t.typed=!0,t}}}function Pe(t,e,n){let r=t["~run"]({value:e},eg(n));if(r.issues)throw new y1(r.issues);return r.value}function Fe(...t){return{...t[0],pipe:t,get"~standard"(){return nn(this)},"~run"(e,n){for(let r of t)if(r.kind!=="metadata"){if(e.issues&&(r.kind==="schema"||r.kind==="transformation")){e.typed=!1;break}(!e.issues||!n.abortEarly&&!n.abortPipeEarly)&&(e=r["~run"](e,n))}return e}}}function dr(t){return it(Object.keys(t).map(e=>Aa(e,J({[e]:t[e]}))))}function Aa(t,e){return Fe(J({...e.entries,$kind:Ye(de(t))}),cu(n=>({...n,$kind:t})))}var xi=Fe(_e(),cu(t=>ae(t)),Rs(Qr)),_n=xi,Bs=_e(),ot=Fe(it([_e(),Fe(He(),ze())]),Rs(t=>{try{return BigInt(t),BigInt(t)>=0&&BigInt(t)<=18446744073709551615n}catch{return!1}},"Invalid u64")),w1=Fe(He(),ze(),Rs(t=>t>=0&&t<2**32,"Invalid u32")),lr=J({objectId:xi,version:ot,digest:_e()}),qe=it([Aa("GasCoin",J({GasCoin:de(!0)})),Aa("Input",J({Input:Fe(He(),ze()),type:Ye(it([de("pure"),de("object"),de("withdrawal")]))})),Aa("Result",J({Result:Fe(He(),ze())})),Aa("NestedResult",J({NestedResult:Ia([Fe(He(),ze()),Fe(He(),ze())])}))]),_1=J({budget:Se(ot),price:Se(ot),owner:Se(xi),payment:Se(me(lr))}),aR=J({address:_e(),module:_e(),name:_e(),typeParams:me(_e())}),Sf=it([J({$kind:de("address")}),J({$kind:de("bool")}),J({$kind:de("u8")}),J({$kind:de("u16")}),J({$kind:de("u32")}),J({$kind:de("u64")}),J({$kind:de("u128")}),J({$kind:de("u256")}),J({$kind:de("unknown")}),J({$kind:de("vector"),vector:ki(()=>Sf)}),J({$kind:de("datatype"),datatype:J({typeName:_e(),typeParameters:me(ki(()=>Sf))})}),J({$kind:de("typeParameter"),index:Fe(He(),ze())})]),v1=J({reference:Se(it([de("mutable"),de("immutable"),de("unknown")])),body:Sf}),T1=J({package:_n,module:_e(),function:_e(),typeArguments:me(_e()),arguments:me(qe),_argumentTypes:Ye(Se(me(v1)))}),k1=J({name:_e(),inputs:Ei(_e(),it([qe,me(qe)])),data:Ei(_e(),Rr())}),E1=dr({MoveCall:T1,TransferObjects:J({objects:me(qe),address:qe}),SplitCoins:J({coin:qe,amounts:me(qe)}),MergeCoins:J({destination:qe,sources:me(qe)}),Publish:J({modules:me(Bs),dependencies:me(_n)}),MakeMoveVec:J({type:Se(_e()),elements:me(qe)}),Upgrade:J({modules:me(Bs),dependencies:me(_n),package:_n,ticket:qe}),$Intent:k1}),ng=dr({ImmOrOwnedObject:lr,SharedObject:J({objectId:_n,initialSharedVersion:ot,mutable:ss()}),Receiving:lr}),x1=dr({MaxAmountU64:ot}),S1=dr({Balance:_e()}),O1=dr({Sender:de(!0),Sponsor:de(!0)}),Of=J({reservation:x1,typeArg:S1,withdrawFrom:O1}),I1=dr({Object:ng,Pure:J({bytes:Bs}),UnresolvedPure:J({value:Rr()}),UnresolvedObject:J({objectId:_n,version:Ye(Se(ot)),digest:Ye(Se(_e())),initialSharedVersion:Ye(Se(ot)),mutable:Ye(Se(ss()))}),FundsWithdrawal:Of}),If=dr({Object:ng,Pure:J({bytes:Bs})}),Af=J({minEpoch:Se(ot),maxEpoch:Se(ot),minTimestamp:Se(ot),maxTimestamp:Se(ot),chain:_e(),nonce:w1}),Cf=dr({None:de(!0),Epoch:ot,ValidDuring:Af}),Oo=J({version:de(2),sender:is(xi),expiration:is(Cf),gasData:_1,inputs:me(I1),commands:me(E1)});var Nf=J({digest:_e(),objectId:_e(),version:it([Fe(He(),ze()),_e(),So()])}),A1=dr({ImmOrOwned:Nf,Shared:J({objectId:_n,initialSharedVersion:ot,mutable:ss()}),Receiving:Nf}),rg=dr({Object:A1,Pure:me(Fe(He(),ze()))}),ig=it([J({kind:de("Input"),index:Fe(He(),ze()),value:Rr(),type:Ye(de("object"))}),J({kind:de("Input"),index:Fe(He(),ze()),value:Rr(),type:de("pure")})]),C1=it([J({Epoch:Fe(He(),ze())}),J({None:Se(de(!0))})]),sg=Fe(it([He(),_e(),So()]),Rs(t=>{if(!["string","number","bigint"].includes(typeof t))return!1;try{return BigInt(t),!0}catch{return!1}})),Rf=it([J({bool:Se(de(!0))}),J({u8:Se(de(!0))}),J({u64:Se(de(!0))}),J({u128:Se(de(!0))}),J({address:Se(de(!0))}),J({signer:Se(de(!0))}),J({vector:ki(()=>Rf)}),J({struct:ki(()=>N1)}),J({u16:Se(de(!0))}),J({u32:Se(de(!0))}),J({u256:Se(de(!0))})]),N1=J({address:_e(),module:_e(),name:_e(),typeParams:me(Rf)}),R1=J({budget:Ye(sg),price:Ye(sg),payment:Ye(me(Nf)),owner:Ye(_e())}),B1=[ig,J({kind:de("GasCoin")}),J({kind:de("Result"),index:Fe(He(),ze())}),J({kind:de("NestedResult"),index:Fe(He(),ze()),resultIndex:Fe(He(),ze())})],cs=it([...B1]),M1=J({kind:de("MoveCall"),target:Fe(_e(),Rs(t=>t.split("::").length===3)),typeArguments:me(_e()),arguments:me(cs)}),D1=J({kind:de("TransferObjects"),objects:me(cs),address:cs}),j1=J({kind:de("SplitCoins"),coin:cs,amounts:me(cs)}),U1=J({kind:de("MergeCoins"),destination:cs,sources:me(cs)}),L1=J({kind:de("MakeMoveVec"),type:it([J({Some:Rf}),J({None:Se(de(!0))})]),objects:me(cs)}),P1=it([M1,D1,j1,U1,J({kind:de("Publish"),modules:me(me(Fe(He(),ze()))),dependencies:me(_e())}),J({kind:de("Upgrade"),modules:me(me(Fe(He(),ze()))),dependencies:me(_e()),packageId:_e(),ticket:cs}),L1]),pR=J({version:de(1),sender:Ye(_e()),expiration:is(C1),gasConfig:R1,inputs:me(ig),transactions:me(P1)});function og(t){let e=t.inputs.map((n,r)=>{if(n.Object)return{kind:"Input",index:r,value:{Object:n.Object.ImmOrOwnedObject?{ImmOrOwned:n.Object.ImmOrOwnedObject}:n.Object.Receiving?{Receiving:{digest:n.Object.Receiving.digest,version:n.Object.Receiving.version,objectId:n.Object.Receiving.objectId}}:{Shared:{mutable:n.Object.SharedObject.mutable,initialSharedVersion:n.Object.SharedObject.initialSharedVersion,objectId:n.Object.SharedObject.objectId}}},type:"object"};if(n.Pure)return{kind:"Input",index:r,value:{Pure:Array.from(le(n.Pure.bytes))},type:"pure"};if(n.UnresolvedPure)return{kind:"Input",type:"pure",index:r,value:n.UnresolvedPure.value};if(n.UnresolvedObject)return{kind:"Input",type:"object",index:r,value:n.UnresolvedObject.objectId};throw new Error("Invalid input")});return{version:1,sender:t.sender??void 0,expiration:t.expiration?.$kind==="Epoch"?{Epoch:Number(t.expiration.Epoch)}:t.expiration?{None:!0}:null,gasConfig:{owner:t.gasData.owner??void 0,budget:t.gasData.budget??void 0,price:t.gasData.price??void 0,payment:t.gasData.payment??void 0},inputs:e,transactions:t.commands.map(n=>{if(n.MakeMoveVec)return{kind:"MakeMoveVec",type:n.MakeMoveVec.type===null?{None:!0}:{Some:Sr.parseFromStr(n.MakeMoveVec.type)},objects:n.MakeMoveVec.elements.map(r=>os(r,e))};if(n.MergeCoins)return{kind:"MergeCoins",destination:os(n.MergeCoins.destination,e),sources:n.MergeCoins.sources.map(r=>os(r,e))};if(n.MoveCall)return{kind:"MoveCall",target:`${n.MoveCall.package}::${n.MoveCall.module}::${n.MoveCall.function}`,typeArguments:n.MoveCall.typeArguments,arguments:n.MoveCall.arguments.map(r=>os(r,e))};if(n.Publish)return{kind:"Publish",modules:n.Publish.modules.map(r=>Array.from(le(r))),dependencies:n.Publish.dependencies};if(n.SplitCoins)return{kind:"SplitCoins",coin:os(n.SplitCoins.coin,e),amounts:n.SplitCoins.amounts.map(r=>os(r,e))};if(n.TransferObjects)return{kind:"TransferObjects",objects:n.TransferObjects.objects.map(r=>os(r,e)),address:os(n.TransferObjects.address,e)};if(n.Upgrade)return{kind:"Upgrade",modules:n.Upgrade.modules.map(r=>Array.from(le(r))),dependencies:n.Upgrade.dependencies,packageId:n.Upgrade.package,ticket:os(n.Upgrade.ticket,e)};throw new Error(`Unknown transaction ${Object.keys(n)}`)})}}function os(t,e){if(t.$kind==="GasCoin")return{kind:"GasCoin"};if(t.$kind==="Result")return{kind:"Result",index:t.Result};if(t.$kind==="NestedResult")return{kind:"NestedResult",index:t.NestedResult[0],resultIndex:t.NestedResult[1]};if(t.$kind==="Input")return e[t.Input];throw new Error(`Invalid argument ${Object.keys(t)}`)}function ag(t){return Pe(Oo,{version:2,sender:t.sender??null,expiration:t.expiration?"Epoch"in t.expiration?{Epoch:t.expiration.Epoch}:{None:!0}:null,gasData:{owner:t.gasConfig.owner??null,budget:t.gasConfig.budget?.toString()??null,price:t.gasConfig.price?.toString()??null,payment:t.gasConfig.payment?.map(e=>({digest:e.digest,objectId:e.objectId,version:e.version.toString()}))??null},inputs:t.inputs.map(e=>{if(e.kind==="Input"){if(Oa(rg,e.value)){let n=Pe(rg,e.value);if(n.Object){if(n.Object.ImmOrOwned)return{Object:{ImmOrOwnedObject:{objectId:n.Object.ImmOrOwned.objectId,version:String(n.Object.ImmOrOwned.version),digest:n.Object.ImmOrOwned.digest}}};if(n.Object.Shared)return{Object:{SharedObject:{mutable:n.Object.Shared.mutable??null,initialSharedVersion:n.Object.Shared.initialSharedVersion,objectId:n.Object.Shared.objectId}}};if(n.Object.Receiving)return{Object:{Receiving:{digest:n.Object.Receiving.digest,version:String(n.Object.Receiving.version),objectId:n.Object.Receiving.objectId}}};throw new Error("Invalid object input")}return{Pure:{bytes:ve(new Uint8Array(n.Pure))}}}return e.type==="object"?{UnresolvedObject:{objectId:e.value}}:{UnresolvedPure:{value:e.value}}}throw new Error("Invalid input")}),commands:t.transactions.map(e=>{switch(e.kind){case"MakeMoveVec":return{MakeMoveVec:{type:"Some"in e.type?Sr.tagToString(e.type.Some):null,elements:e.objects.map(n=>as(n))}};case"MergeCoins":return{MergeCoins:{destination:as(e.destination),sources:e.sources.map(n=>as(n))}};case"MoveCall":{let[n,r,s]=e.target.split("::");return{MoveCall:{package:n,module:r,function:s,typeArguments:e.typeArguments,arguments:e.arguments.map(i=>as(i))}}}case"Publish":return{Publish:{modules:e.modules.map(n=>ve(Uint8Array.from(n))),dependencies:e.dependencies}};case"SplitCoins":return{SplitCoins:{coin:as(e.coin),amounts:e.amounts.map(n=>as(n))}};case"TransferObjects":return{TransferObjects:{objects:e.objects.map(n=>as(n)),address:as(e.address)}};case"Upgrade":return{Upgrade:{modules:e.modules.map(n=>ve(Uint8Array.from(n))),dependencies:e.dependencies,package:e.packageId,ticket:as(e.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(e)}`)})})}function as(t){switch(t.kind){case"GasCoin":return{GasCoin:!0};case"Result":return{Result:t.index};case"NestedResult":return{NestedResult:[t.index,t.resultIndex]};case"Input":return{Input:t.index}}}function cg(t,e){let n=Array.from(`${t}::`).map(s=>s.charCodeAt(0)),r=new Uint8Array(n.length+e.length);return r.set(n),r.set(e,n.length),ur(r,{dkLen:32})}function Io(t){if(typeof t=="string")return ae(t);if(t.Object)return t.Object.ImmOrOwnedObject?ae(t.Object.ImmOrOwnedObject.objectId):t.Object.Receiving?ae(t.Object.Receiving.objectId):ae(t.Object.SharedObject.objectId);if(t.UnresolvedObject)return ae(t.UnresolvedObject.objectId)}function ug(t,e,n){let r=s=>{switch(s.$kind){case"Input":{let i=e.get(s.Input);if(i===void 0)throw new Error(`Input ${s.Input} not found in input mapping`);return{...s,Input:i}}case"Result":{let i=n.get(s.Result);return i!==void 0?{...s,Result:i}:s}case"NestedResult":{let i=n.get(s.NestedResult[0]);return i!==void 0?{...s,NestedResult:[i,s.NestedResult[1]]}:s}default:return s}};switch(t.$kind){case"MoveCall":t.MoveCall.arguments=t.MoveCall.arguments.map(r);break;case"TransferObjects":t.TransferObjects.objects=t.TransferObjects.objects.map(r),t.TransferObjects.address=r(t.TransferObjects.address);break;case"SplitCoins":t.SplitCoins.coin=r(t.SplitCoins.coin),t.SplitCoins.amounts=t.SplitCoins.amounts.map(r);break;case"MergeCoins":t.MergeCoins.destination=r(t.MergeCoins.destination),t.MergeCoins.sources=t.MergeCoins.sources.map(r);break;case"MakeMoveVec":t.MakeMoveVec.elements=t.MakeMoveVec.elements.map(r);break;case"Upgrade":t.Upgrade.ticket=r(t.Upgrade.ticket);break;case"$Intent":{let s=t.$Intent.inputs;t.$Intent.inputs={};for(let[i,o]of Object.entries(s))t.$Intent.inputs[i]=Array.isArray(o)?o.map(r):r(o);break}case"Publish":break}}function lg(t){return ae(t).replace("0x","")}var Ms=class Si{static fromKindBytes(e){let n=A.TransactionKind.parse(e).ProgrammableTransaction;if(!n)throw new Error("Unable to deserialize from bytes.");return Si.restore({version:2,sender:null,expiration:null,gasData:{budget:null,owner:null,payment:null,price:null},inputs:n.inputs,commands:n.commands})}static fromBytes(e){let n=A.TransactionData.parse(e)?.V1,r=n.kind.ProgrammableTransaction;if(!n||!r)throw new Error("Unable to deserialize from bytes.");return Si.restore({version:2,sender:n.sender,expiration:n.expiration,gasData:n.gasData,inputs:r.inputs,commands:r.commands})}static restore(e){return e.version===2?new Si(Pe(Oo,e)):new Si(Pe(Oo,ag(e)))}static getDigestFromBytes(e){return Ln(cg("TransactionData",e))}constructor(e){this.version=2,this.sender=e?.sender??null,this.expiration=e?.expiration??null,this.inputs=e?.inputs??[],this.commands=e?.commands??[],this.gasData=e?.gasData??{budget:null,price:null,owner:null,payment:null}}build({maxSizeBytes:e=1/0,overrides:n,onlyTransactionKind:r}={}){let s=this.inputs,i=this.commands,o={ProgrammableTransaction:{inputs:s,commands:i}};if(r)return A.TransactionKind.serialize(o,{maxSize:e}).toBytes();let a=n?.expiration??this.expiration,c=n?.sender??this.sender,u={...this.gasData,...n?.gasData};if(!c)throw new Error("Missing transaction sender");if(!u.budget)throw new Error("Missing gas budget");if(!u.payment)throw new Error("Missing gas payment");if(!u.price)throw new Error("Missing gas price");let d={sender:lg(c),expiration:a||{None:!0},gasData:{payment:u.payment,owner:lg(this.gasData.owner??c),price:BigInt(u.price),budget:BigInt(u.budget)},kind:{ProgrammableTransaction:{inputs:s,commands:i}}};return A.TransactionData.serialize({V1:d},{maxSize:e}).toBytes()}addInput(e,n){let r=this.inputs.length;return this.inputs.push(n),{Input:r,type:e,$kind:"Input"}}getInputUses(e,n){this.mapArguments((r,s)=>(r.$kind==="Input"&&r.Input===e&&n(r,s),r))}mapCommandArguments(e,n){let r=this.commands[e];switch(r.$kind){case"MoveCall":r.MoveCall.arguments=r.MoveCall.arguments.map(i=>n(i,r,e));break;case"TransferObjects":r.TransferObjects.objects=r.TransferObjects.objects.map(i=>n(i,r,e)),r.TransferObjects.address=n(r.TransferObjects.address,r,e);break;case"SplitCoins":r.SplitCoins.coin=n(r.SplitCoins.coin,r,e),r.SplitCoins.amounts=r.SplitCoins.amounts.map(i=>n(i,r,e));break;case"MergeCoins":r.MergeCoins.destination=n(r.MergeCoins.destination,r,e),r.MergeCoins.sources=r.MergeCoins.sources.map(i=>n(i,r,e));break;case"MakeMoveVec":r.MakeMoveVec.elements=r.MakeMoveVec.elements.map(i=>n(i,r,e));break;case"Upgrade":r.Upgrade.ticket=n(r.Upgrade.ticket,r,e);break;case"$Intent":let s=r.$Intent.inputs;r.$Intent.inputs={};for(let[i,o]of Object.entries(s))r.$Intent.inputs[i]=Array.isArray(o)?o.map(a=>n(a,r,e)):n(o,r,e);break;case"Publish":break;default:throw new Error(`Unexpected transaction kind: ${r.$kind}`)}}mapArguments(e){for(let n of this.commands.keys())this.mapCommandArguments(n,e)}replaceCommand(e,n,r=e){if(!Array.isArray(n)){this.commands[e]=n;return}let s=n.length-1;this.commands.splice(e,1,...structuredClone(n)),this.mapArguments((i,o,a)=>{if(a<e+n.length)return i;if(typeof r!="number"&&(i.$kind==="Result"&&i.Result===e||i.$kind==="NestedResult"&&i.NestedResult[0]===e)){if(!("NestedResult"in i)||i.NestedResult[1]===0)return Pe(qe,structuredClone(r));throw new Error(`Cannot replace command ${e} with a specific result type: NestedResult[${e}, ${i.NestedResult[1]}] references a nested element that cannot be mapped to the replacement result`)}switch(i.$kind){case"Result":i.Result===e&&typeof r=="number"&&(i.Result=r),i.Result>e&&(i.Result+=s);break;case"NestedResult":if(i.NestedResult[0]===e&&typeof r=="number")return{$kind:"NestedResult",NestedResult:[r,i.NestedResult[1]]};i.NestedResult[0]>e&&(i.NestedResult[0]+=s);break}return i})}replaceCommandWithTransaction(e,n,r){if(r.$kind!=="Result"&&r.$kind!=="NestedResult")throw new Error("Result must be of kind Result or NestedResult");this.insertTransaction(e,n),this.replaceCommand(e+n.commands.length,[],"Result"in r?{NestedResult:[r.Result+e,0]}:{NestedResult:[r.NestedResult[0]+e,r.NestedResult[1]]})}insertTransaction(e,n){let r=new Map,s=new Map;for(let a=0;a<n.inputs.length;a++){let c=n.inputs[a],u=Io(c),d=-1;if(u!==void 0&&(d=this.inputs.findIndex(f=>Io(f)===u),d!==-1&&this.inputs[d].Object?.SharedObject&&c.Object?.SharedObject&&(this.inputs[d].Object.SharedObject.mutable=this.inputs[d].Object.SharedObject.mutable||c.Object.SharedObject.mutable)),d!==-1)r.set(a,d);else{let f=this.inputs.length;this.inputs.push(c),r.set(a,f)}}for(let a=0;a<n.commands.length;a++)s.set(a,e+a);let i=[];for(let a=0;a<n.commands.length;a++){let c=structuredClone(n.commands[a]);ug(c,r,s),i.push(c)}this.commands.splice(e,0,...i);let o=i.length;o>0&&this.mapArguments((a,c,u)=>{if(u>=e&&u<e+i.length)return a;switch(a.$kind){case"Result":a.Result>=e&&(a.Result+=o);break;case"NestedResult":a.NestedResult[0]>=e&&(a.NestedResult[0]+=o);break}return a})}getDigest(){let e=this.build({onlyTransactionKind:!1});return Si.getDigestFromBytes(e)}snapshot(){return Pe(Oo,this)}shallowClone(){return new Si({version:this.version,sender:this.sender,expiration:this.expiration,gasData:{...this.gasData},inputs:[...this.inputs],commands:[...this.commands]})}applyResolvedData(e){this.sender||(this.sender=e.sender??null),this.expiration||(this.expiration=e.expiration??null),this.gasData.budget||(this.gasData.budget=e.gasData.budget),this.gasData.owner||(this.gasData.owner=e.gasData.owner??null),this.gasData.payment||(this.gasData.payment=e.gasData.payment),this.gasData.price||(this.gasData.price=e.gasData.price);for(let n=0;n<this.inputs.length;n++){let r=this.inputs[n],s=e.inputs[n];switch(r.$kind){case"UnresolvedPure":if(s.$kind!=="Pure")throw new Error(`Expected input at index ${n} to resolve to a Pure argument, but got ${JSON.stringify(s)}`);this.inputs[n]=s;break;case"UnresolvedObject":if(s.$kind!=="Object")throw new Error(`Expected input at index ${n} to resolve to an Object argument, but got ${JSON.stringify(s)}`);if(s.Object.$kind==="ImmOrOwnedObject"||s.Object.$kind==="Receiving"){let i=r.UnresolvedObject,o=s.Object.ImmOrOwnedObject??s.Object.Receiving;if(ae(i.objectId)!==ae(o.objectId)||i.version!=null&&i.version!==o.version||i.digest!=null&&i.digest!==o.digest||i.mutable!=null||i.initialSharedVersion!=null)throw new Error(`Input at index ${n} did not match unresolved object. ${JSON.stringify(i)} is not compatible with ${JSON.stringify(o)}`)}else if(s.Object.$kind==="SharedObject"){let i=r.UnresolvedObject,o=s.Object.SharedObject;if(ae(i.objectId)!==ae(o.objectId)||i.initialSharedVersion!=null&&i.initialSharedVersion!==o.initialSharedVersion||i.mutable!=null&&i.mutable!==o.mutable||i.version!=null||i.digest!=null)throw new Error(`Input at index ${n} did not match unresolved object. ${JSON.stringify(i)} is not compatible with ${JSON.stringify(o)}`)}else throw new Error(`Input at index ${n} resolved to an unexpected Object kind: ${JSON.stringify(s.Object)}`);this.inputs[n]=s;break}}}};var V1=new Intl.PluralRules("en-US",{type:"ordinal"}),F1=new Map([["one","st"],["two","nd"],["few","rd"],["other","th"]]);function q1(t){return`${t}${F1.get(V1.select(t))}`}function Ca(t){let{command:e,location:n,abortCode:r,cleverError:s}=t,i=[];if(e!=null?i.push(`MoveAbort in ${q1(e+1)} command`):i.push("MoveAbort"),s?.constantName){let o=s.value?`'${s.constantName}': ${s.value}`:`'${s.constantName}'`;i.push(o)}else i.push(`abort code: ${r}`);if(n?.package&&n?.module){let o=[`in '${[n.package.startsWith("0x")?n.package:`0x${n.package}`,n.module,n.functionName].filter(Boolean).join("::")}'`];s?.lineNumber!=null?o.push(`(line ${s.lineNumber})`):n.instruction!=null&&o.push(`(instruction ${n.instruction})`),i.push(o.join(" "))}return i.join(", ")}var dg=A.struct("MinimalEffectsWithError",{status:eu}),NR=A.enum("MinimalTransactionEffectsWithError",{V1:dg,V2:dg}),$1=A.enum("MinimalExecutionStatusNoError",{Success:null,Failed:null}),fg=A.struct("MinimalEffectsNoError",{status:$1}),RR=A.enum("MinimalTransactionEffectsNoError",{V1:fg,V2:fg});function An(t,e){return e!=null&&typeof e!="boolean"?`${t}(${JSON.stringify(e,(n,r)=>typeof r=="bigint"?r.toString():r)})`:t}function G1(t){let e=t.error,n=t.command!=null?Number(t.command):void 0;switch(e.$kind){case"MoveAbort":{let[r,s]=e.MoveAbort,i={package:r.module.address,module:r.module.name,function:r.function,functionName:r.functionName??void 0,instruction:r.instruction};return{$kind:"MoveAbort",message:Ca({command:n,location:i,abortCode:String(s)}),command:n,MoveAbort:{abortCode:String(s),location:i}}}case"MoveObjectTooBig":return{$kind:"SizeError",message:An("MoveObjectTooBig",e.MoveObjectTooBig),command:n,SizeError:{name:"ObjectTooBig",size:Number(e.MoveObjectTooBig.objectSize),maxSize:Number(e.MoveObjectTooBig.maxObjectSize)}};case"MovePackageTooBig":return{$kind:"SizeError",message:An("MovePackageTooBig",e.MovePackageTooBig),command:n,SizeError:{name:"PackageTooBig",size:Number(e.MovePackageTooBig.objectSize),maxSize:Number(e.MovePackageTooBig.maxObjectSize)}};case"EffectsTooLarge":return{$kind:"SizeError",message:An("EffectsTooLarge",e.EffectsTooLarge),command:n,SizeError:{name:"EffectsTooLarge",size:Number(e.EffectsTooLarge.currentSize),maxSize:Number(e.EffectsTooLarge.maxSize)}};case"WrittenObjectsTooLarge":return{$kind:"SizeError",message:An("WrittenObjectsTooLarge",e.WrittenObjectsTooLarge),command:n,SizeError:{name:"WrittenObjectsTooLarge",size:Number(e.WrittenObjectsTooLarge.currentSize),maxSize:Number(e.WrittenObjectsTooLarge.maxSize)}};case"MoveVectorElemTooBig":return{$kind:"SizeError",message:An("MoveVectorElemTooBig",e.MoveVectorElemTooBig),command:n,SizeError:{name:"MoveVectorElemTooBig",size:Number(e.MoveVectorElemTooBig.valueSize),maxSize:Number(e.MoveVectorElemTooBig.maxScaledSize)}};case"MoveRawValueTooBig":return{$kind:"SizeError",message:An("MoveRawValueTooBig",e.MoveRawValueTooBig),command:n,SizeError:{name:"MoveRawValueTooBig",size:Number(e.MoveRawValueTooBig.valueSize),maxSize:Number(e.MoveRawValueTooBig.maxScaledSize)}};case"CommandArgumentError":return{$kind:"CommandArgumentError",message:An("CommandArgumentError",e.CommandArgumentError),command:n,CommandArgumentError:{argument:e.CommandArgumentError.argIdx,name:e.CommandArgumentError.kind.$kind}};case"TypeArgumentError":return{$kind:"TypeArgumentError",message:An("TypeArgumentError",e.TypeArgumentError),command:n,TypeArgumentError:{typeArgument:e.TypeArgumentError.argumentIdx,name:e.TypeArgumentError.kind.$kind}};case"PackageUpgradeError":{let r=e.PackageUpgradeError.upgradeError;return{$kind:"PackageUpgradeError",message:An("PackageUpgradeError",e.PackageUpgradeError),command:n,PackageUpgradeError:{name:r.$kind,packageId:r.$kind==="UnableToFetchPackage"?r.UnableToFetchPackage.packageId:void 0,digest:r.$kind==="DigestDoesNotMatch"?ve(r.DigestDoesNotMatch.digest):void 0}}}case"ExecutionCancelledDueToSharedObjectCongestion":return{$kind:"CongestedObjects",message:An("ExecutionCancelledDueToSharedObjectCongestion",e.ExecutionCancelledDueToSharedObjectCongestion),command:n,CongestedObjects:{name:"ExecutionCanceledDueToConsensusObjectCongestion",objects:e.ExecutionCancelledDueToSharedObjectCongestion.congested_objects}};case"AddressDeniedForCoin":return{$kind:"CoinDenyListError",message:An("AddressDeniedForCoin",e.AddressDeniedForCoin),command:n,CoinDenyListError:{name:"AddressDeniedForCoin",address:e.AddressDeniedForCoin.address,coinType:e.AddressDeniedForCoin.coinType}};case"CoinTypeGlobalPause":return{$kind:"CoinDenyListError",message:An("CoinTypeGlobalPause",e.CoinTypeGlobalPause),command:n,CoinDenyListError:{name:"CoinTypeGlobalPause",coinType:e.CoinTypeGlobalPause.coinType}};case"CircularObjectOwnership":return{$kind:"ObjectIdError",message:An("CircularObjectOwnership",e.CircularObjectOwnership),command:n,ObjectIdError:{name:"CircularObjectOwnership",objectId:e.CircularObjectOwnership.object}};case"InvalidGasObject":return{$kind:"ObjectIdError",message:"InvalidGasObject",command:n,ObjectIdError:{name:"InvalidGasObject",objectId:""}};case"InputObjectDeleted":return{$kind:"ObjectIdError",message:"InputObjectDeleted",command:n,ObjectIdError:{name:"InputObjectDeleted",objectId:""}};case"InvalidTransferObject":return{$kind:"ObjectIdError",message:"InvalidTransferObject",command:n,ObjectIdError:{name:"InvalidTransferObject",objectId:""}};case"NonExclusiveWriteInputObjectModified":return{$kind:"Unknown",message:An("NonExclusiveWriteInputObjectModified",e.NonExclusiveWriteInputObjectModified),command:n,Unknown:null};case"InsufficientGas":case"InvariantViolation":case"FeatureNotYetSupported":case"InsufficientCoinBalance":case"CoinBalanceOverflow":case"PublishErrorNonZeroAddress":case"SuiMoveVerificationError":case"MovePrimitiveRuntimeError":case"VMVerificationOrDeserializationError":case"VMInvariantViolation":case"FunctionNotFound":case"ArityMismatch":case"TypeArityMismatch":case"NonEntryFunctionInvoked":case"UnusedValueWithoutDrop":case"InvalidPublicFunctionReturnType":case"PublishUpgradeMissingDependency":case"PublishUpgradeDependencyDowngrade":case"CertificateDenied":case"SuiMoveVerificationTimedout":case"SharedObjectOperationNotAllowed":case"ExecutionCancelledDueToRandomnessUnavailable":case"InvalidLinkage":case"InsufficientBalanceForWithdraw":return{$kind:"Unknown",message:e.$kind,command:n,Unknown:null};default:return{$kind:"Unknown",message:"Unknown error",command:n,Unknown:null}}}function pg(t){let e=A.TransactionEffects.parse(t);switch(e.$kind){case"V1":return H1({bytes:t,effects:e.V1});case"V2":return z1({bytes:t,effects:e.V2});default:throw new Error(`Unknown transaction effects version: ${e.$kind}`)}}function H1(t){throw new Error("V1 effects are not supported yet")}function z1({bytes:t,effects:e}){let n=e.changedObjects.map(([r,s])=>({objectId:r,inputState:s.inputState.$kind==="Exist"?"Exists":"DoesNotExist",inputVersion:s.inputState.Exist?.[0][0]??null,inputDigest:s.inputState.Exist?.[0][1]??null,inputOwner:s.inputState.Exist?.[1]??null,outputState:s.outputState.$kind==="NotExist"?"DoesNotExist":s.outputState.$kind,outputVersion:s.outputState.$kind==="PackageWrite"?s.outputState.PackageWrite?.[0]:s.outputState.$kind==="ObjectWrite"?e.lamportVersion:null,outputDigest:s.outputState.$kind==="PackageWrite"?s.outputState.PackageWrite?.[1]:s.outputState.$kind==="ObjectWrite"?s.outputState.ObjectWrite?.[0]??null:null,outputOwner:s.outputState.$kind==="ObjectWrite"?s.outputState.ObjectWrite[1]:null,idOperation:s.idOperation.$kind}));return{bcs:t,version:2,status:e.status.$kind==="Success"?{success:!0,error:null}:{success:!1,error:G1(e.status.Failure)},gasUsed:e.gasUsed,transactionDigest:e.transactionDigest,gasObject:e.gasObjectIndex===null?null:n[e.gasObjectIndex]??null,eventsDigest:e.eventsDigest,dependencies:e.dependencies,lamportVersion:e.lamportVersion,changedObjects:n,unchangedConsensusObjects:e.unchangedConsensusObjects.map(([r,s])=>({kind:s.$kind,objectId:r,version:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[0]:s[s.$kind],digest:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[1]:null})),auxiliaryDataDigest:e.auxDataDigest}}var hg=class extends Error{},Oi=class extends hg{constructor(t,e){super(t,{cause:e?.cause}),this.executionError=e?.executionError}},Bf=class Ao extends hg{constructor(e,n){super(n),this.code=e}static fromResponse(e,n){switch(e.code){case"notExists":return new Ao(e.code,`Object ${e.object_id} does not exist`);case"dynamicFieldNotFound":return new Ao(e.code,`Dynamic field not found for object ${e.parent_object_id}`);case"deleted":return new Ao(e.code,`Object ${e.object_id} has been deleted`);case"displayError":return new Ao(e.code,`Display error: ${e.error}`);case"unknown":default:return new Ao(e.code,`Unknown error while loading object${n?` ${n}`:""}`)}}};function rn(t){let e=typeof t;if(e=="object"){if(Array.isArray(t))return"array";if(t===null)return"null"}return e}function Ds(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}var us="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),lu=[];for(let t=0;t<us.length;t++)lu[us[t].charCodeAt(0)]=t;lu["-".charCodeAt(0)]=us.indexOf("+");lu["_".charCodeAt(0)]=us.indexOf("/");function Na(t){let e=t.length*3/4;t[t.length-2]=="="?e-=2:t[t.length-1]=="="&&(e-=1);let n=new Uint8Array(e),r=0,s=0,i,o=0;for(let a=0;a<t.length;a++){if(i=lu[t.charCodeAt(a)],i===void 0)switch(t[a]){case"=":s=0;case`
8
+ `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(s){case 0:o=i,s=1;break;case 1:n[r++]=o<<2|(i&48)>>4,o=i,s=2;break;case 2:n[r++]=(o&15)<<4|(i&60)>>2,o=i,s=3;break;case 3:n[r++]=(o&3)<<6|i,s=0;break}}if(s==1)throw Error("invalid base64 string.");return n.subarray(0,r)}function Ra(t){let e="",n=0,r,s=0;for(let i=0;i<t.length;i++)switch(r=t[i],n){case 0:e+=us[r>>2],s=(r&3)<<4,n=1;break;case 1:e+=us[s|r>>4],s=(r&15)<<2,n=2;break;case 2:e+=us[s|r>>6],e+=us[r&63],n=0;break}return n&&(e+=us[s],e+="=",n==1&&(e+="=")),e}var Ii;(function(t){t.symbol=Symbol.for("protobuf-ts/unknown"),t.onRead=(n,r,s,i,o)=>{(e(r)?r[t.symbol]:r[t.symbol]=[]).push({no:s,wireType:i,data:o})},t.onWrite=(n,r,s)=>{for(let{no:i,wireType:o,data:a}of t.list(r))s.tag(i,o).raw(a)},t.list=(n,r)=>{if(e(n)){let s=n[t.symbol];return r?s.filter(i=>i.no==r):s}return[]},t.last=(n,r)=>t.list(n,r).slice(-1)[0];let e=n=>n&&Array.isArray(n[t.symbol])})(Ii||(Ii={}));function Mf(t,e){return Object.assign(Object.assign({},t),e)}var We;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(We||(We={}));function mg(){let t=0,e=0;for(let r=0;r<28;r+=7){let s=this.buf[this.pos++];if(t|=(s&127)<<r,!(s&128))return this.assertBounds(),[t,e]}let n=this.buf[this.pos++];if(t|=(n&15)<<28,e=(n&112)>>4,!(n&128))return this.assertBounds(),[t,e];for(let r=3;r<=31;r+=7){let s=this.buf[this.pos++];if(e|=(s&127)<<r,!(s&128))return this.assertBounds(),[t,e]}throw new Error("invalid varint")}function fu(t,e,n){for(let i=0;i<28;i=i+7){let o=t>>>i,a=!(!(o>>>7)&&e==0),c=(a?o|128:o)&255;if(n.push(c),!a)return}let r=t>>>28&15|(e&7)<<4,s=!!(e>>3);if(n.push((s?r|128:r)&255),!!s){for(let i=3;i<31;i=i+7){let o=e>>>i,a=!!(o>>>7),c=(a?o|128:o)&255;if(n.push(c),!a)return}n.push(e>>>31&1)}}var du=65536*65536;function Df(t){let e=t[0]=="-";e&&(t=t.slice(1));let n=1e6,r=0,s=0;function i(o,a){let c=Number(t.slice(o,a));s*=n,r=r*n+c,r>=du&&(s=s+(r/du|0),r=r%du)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),[e,r,s]}function pu(t,e){if(e>>>0<=2097151)return""+(du*e+(t>>>0));let n=t&16777215,r=(t>>>24|e<<8)>>>0&16777215,s=e>>16&65535,i=n+r*6777216+s*6710656,o=r+s*8147497,a=s*2,c=1e7;i>=c&&(o+=Math.floor(i/c),i%=c),o>=c&&(a+=Math.floor(o/c),o%=c);function u(d,f){let p=d?String(d):"";return f?"0000000".slice(p.length)+p:p}return u(a,0)+u(o,a)+u(i,1)}function jf(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let n=0;n<9;n++)e.push(t&127|128),t=t>>7;e.push(1)}}function gg(){let t=this.buf[this.pos++],e=t&127;if(!(t&128))return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,!(t&128))return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,!(t&128))return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,!(t&128))return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let n=5;t&128&&n<10;n++)t=this.buf[this.pos++];if(t&128)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var $e;function W1(){let t=new DataView(new ArrayBuffer(8));$e=globalThis.BigInt!==void 0&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("9223372036854775807"),UMIN:BigInt("0"),UMAX:BigInt("18446744073709551615"),C:BigInt,V:t}:void 0}W1();function yg(t){if(!t)throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support")}var bg=/^-?[0-9]+$/,mu=4294967296,hu=2147483648,gu=class{constructor(e,n){this.lo=e|0,this.hi=n|0}isZero(){return this.lo==0&&this.hi==0}toNumber(){let e=this.hi*mu+(this.lo>>>0);if(!Number.isSafeInteger(e))throw new Error("cannot convert to safe number");return e}},Ze=class extends gu{static from(e){if($e)switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=="")throw new Error("string is no integer");e=$e.C(e);case"number":if(e===0)return this.ZERO;e=$e.C(e);case"bigint":if(!e)return this.ZERO;if(e<$e.UMIN)throw new Error("signed value for ulong");if(e>$e.UMAX)throw new Error("ulong too large");return $e.V.setBigUint64(0,e,!0),new Ze($e.V.getInt32(0,!0),$e.V.getInt32(4,!0))}else switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=e.trim(),!bg.test(e))throw new Error("string is no integer");let[n,r,s]=Df(e);if(n)throw new Error("signed value for ulong");return new Ze(r,s);case"number":if(e==0)return this.ZERO;if(!Number.isSafeInteger(e))throw new Error("number is no integer");if(e<0)throw new Error("signed value for ulong");return new Ze(e,e/mu)}throw new Error("unknown value "+typeof e)}toString(){return $e?this.toBigInt().toString():pu(this.lo,this.hi)}toBigInt(){return yg($e),$e.V.setInt32(0,this.lo,!0),$e.V.setInt32(4,this.hi,!0),$e.V.getBigUint64(0,!0)}};Ze.ZERO=new Ze(0,0);var Ie=class extends gu{static from(e){if($e)switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=="")throw new Error("string is no integer");e=$e.C(e);case"number":if(e===0)return this.ZERO;e=$e.C(e);case"bigint":if(!e)return this.ZERO;if(e<$e.MIN)throw new Error("signed long too small");if(e>$e.MAX)throw new Error("signed long too large");return $e.V.setBigInt64(0,e,!0),new Ie($e.V.getInt32(0,!0),$e.V.getInt32(4,!0))}else switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=e.trim(),!bg.test(e))throw new Error("string is no integer");let[n,r,s]=Df(e);if(n){if(s>hu||s==hu&&r!=0)throw new Error("signed long too small")}else if(s>=hu)throw new Error("signed long too large");let i=new Ie(r,s);return n?i.negate():i;case"number":if(e==0)return this.ZERO;if(!Number.isSafeInteger(e))throw new Error("number is no integer");return e>0?new Ie(e,e/mu):new Ie(-e,-e/mu).negate()}throw new Error("unknown value "+typeof e)}isNegative(){return(this.hi&hu)!==0}negate(){let e=~this.hi,n=this.lo;return n?n=~n+1:e+=1,new Ie(n,e)}toString(){if($e)return this.toBigInt().toString();if(this.isNegative()){let e=this.negate();return"-"+pu(e.lo,e.hi)}return pu(this.lo,this.hi)}toBigInt(){return yg($e),$e.V.setInt32(0,this.lo,!0),$e.V.setInt32(4,this.hi,!0),$e.V.getBigInt64(0,!0)}};Ie.ZERO=new Ie(0,0);var wg={readUnknownField:!0,readerFactory:t=>new Uf(t)};function _g(t){return t?Object.assign(Object.assign({},wg),t):wg}var Uf=class{constructor(e,n){this.varint64=mg,this.uint32=gg,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=n??new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0})}tag(){let e=this.uint32(),n=e>>>3,r=e&7;if(n<=0||r<0||r>5)throw new Error("illegal tag: field no "+n+" wire type "+r);return[n,r]}skip(e){let n=this.pos;switch(e){case We.Varint:for(;this.buf[this.pos++]&128;);break;case We.Bit64:this.pos+=4;case We.Bit32:this.pos+=4;break;case We.LengthDelimited:let r=this.uint32();this.pos+=r;break;case We.StartGroup:let s;for(;(s=this.tag()[1])!==We.EndGroup;)this.skip(s);break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return new Ie(...this.varint64())}uint64(){return new Ze(...this.varint64())}sint64(){let[e,n]=this.varint64(),r=-(e&1);return e=(e>>>1|(n&1)<<31)^r,n=n>>>1^r,new Ie(e,n)}bool(){let[e,n]=this.varint64();return e!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return new Ze(this.sfixed32(),this.sfixed32())}sfixed64(){return new Ie(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),n=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(n,n+e)}string(){return this.textDecoder.decode(this.bytes())}};function Ee(t,e){if(!t)throw new Error(e)}function Lf(t,e){throw new Error(e??"Unexpected object: "+t)}var Z1=34028234663852886e22,J1=-34028234663852886e22,K1=4294967295,Y1=2147483647,X1=-2147483648;function ls(t){if(typeof t!="number")throw new Error("invalid int 32: "+typeof t);if(!Number.isInteger(t)||t>Y1||t<X1)throw new Error("invalid int 32: "+t)}function js(t){if(typeof t!="number")throw new Error("invalid uint 32: "+typeof t);if(!Number.isInteger(t)||t>K1||t<0)throw new Error("invalid uint 32: "+t)}function Ai(t){if(typeof t!="number")throw new Error("invalid float 32: "+typeof t);if(Number.isFinite(t)&&(t>Z1||t<J1))throw new Error("invalid float 32: "+t)}var vg={writeUnknownFields:!0,writerFactory:()=>new Pf};function Tg(t){return t?Object.assign(Object.assign({},vg),t):vg}var Pf=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let s=0;s<this.chunks.length;s++)e+=this.chunks[s].length;let n=new Uint8Array(e),r=0;for(let s=0;s<this.chunks.length;s++)n.set(this.chunks[s],r),r+=this.chunks[s].length;return this.chunks=[],n}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),n=this.stack.pop();if(!n)throw new Error("invalid state, fork stack empty");return this.chunks=n.chunks,this.buf=n.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,n){return this.uint32((e<<3|n)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(js(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return ls(e),jf(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let n=this.textEncoder.encode(e);return this.uint32(n.byteLength),this.raw(n)}float(e){Ai(e);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,e,!0),this.raw(n)}double(e){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,e,!0),this.raw(n)}fixed32(e){js(e);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,!0),this.raw(n)}sfixed32(e){ls(e);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,e,!0),this.raw(n)}sint32(e){return ls(e),e=(e<<1^e>>31)>>>0,jf(e,this.buf),this}sfixed64(e){let n=new Uint8Array(8),r=new DataView(n.buffer),s=Ie.from(e);return r.setInt32(0,s.lo,!0),r.setInt32(4,s.hi,!0),this.raw(n)}fixed64(e){let n=new Uint8Array(8),r=new DataView(n.buffer),s=Ze.from(e);return r.setInt32(0,s.lo,!0),r.setInt32(4,s.hi,!0),this.raw(n)}int64(e){let n=Ie.from(e);return fu(n.lo,n.hi,this.buf),this}sint64(e){let n=Ie.from(e),r=n.hi>>31,s=n.lo<<1^r,i=(n.hi<<1|n.lo>>>31)^r;return fu(s,i,this.buf),this}uint64(e){let n=Ze.from(e);return fu(n.lo,n.hi,this.buf),this}};var kg={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},Eg={ignoreUnknownFields:!1};function Vf(t){return t?Object.assign(Object.assign({},Eg),t):Eg}function Ba(t){return t?Object.assign(Object.assign({},kg),t):kg}function Ff(t,e){var n,r;let s=Object.assign(Object.assign({},t),e);return s.typeRegistry=[...(n=t?.typeRegistry)!==null&&n!==void 0?n:[],...(r=e?.typeRegistry)!==null&&r!==void 0?r:[]],s}var yu=Symbol.for("protobuf-ts/message-type");function Us(t){let e=!1,n=[];for(let r=0;r<t.length;r++){let s=t.charAt(r);s=="_"?e=!0:/\d/.test(s)?(n.push(s),e=!0):e?(n.push(s.toUpperCase()),e=!1):r==0?n.push(s.toLowerCase()):n.push(s)}return n.join("")}var $;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})($||($={}));var vn;(function(t){t[t.BIGINT=0]="BIGINT",t[t.STRING=1]="STRING",t[t.NUMBER=2]="NUMBER"})(vn||(vn={}));var Ma;(function(t){t[t.NO=0]="NO",t[t.PACKED=1]="PACKED",t[t.UNPACKED=2]="UNPACKED"})(Ma||(Ma={}));function xg(t){var e,n,r,s;return t.localName=(e=t.localName)!==null&&e!==void 0?e:Us(t.name),t.jsonName=(n=t.jsonName)!==null&&n!==void 0?n:Us(t.name),t.repeat=(r=t.repeat)!==null&&r!==void 0?r:Ma.NO,t.opt=(s=t.opt)!==null&&s!==void 0?s:t.repeat||t.oneof?!1:t.kind=="message",t}function Sg(t){if(typeof t!="object"||t===null||!t.hasOwnProperty("oneofKind"))return!1;switch(typeof t.oneofKind){case"string":return t[t.oneofKind]===void 0?!1:Object.keys(t).length==2;case"undefined":return Object.keys(t).length==1;default:return!1}}var bu=class{constructor(e){var n;this.fields=(n=e.fields)!==null&&n!==void 0?n:[]}prepare(){if(this.data)return;let e=[],n=[],r=[];for(let s of this.fields)if(s.oneof)r.includes(s.oneof)||(r.push(s.oneof),e.push(s.oneof),n.push(s.oneof));else switch(n.push(s.localName),s.kind){case"scalar":case"enum":(!s.opt||s.repeat)&&e.push(s.localName);break;case"message":s.repeat&&e.push(s.localName);break;case"map":e.push(s.localName);break}this.data={req:e,known:n,oneofs:Object.values(r)}}is(e,n,r=!1){if(n<0)return!0;if(e==null||typeof e!="object")return!1;this.prepare();let s=Object.keys(e),i=this.data;if(s.length<i.req.length||i.req.some(o=>!s.includes(o))||!r&&s.some(o=>!i.known.includes(o)))return!1;if(n<1)return!0;for(let o of i.oneofs){let a=e[o];if(!Sg(a))return!1;if(a.oneofKind===void 0)continue;let c=this.fields.find(u=>u.localName===a.oneofKind);if(!c||!this.field(a[a.oneofKind],c,r,n))return!1}for(let o of this.fields)if(o.oneof===void 0&&!this.field(e[o.localName],o,r,n))return!1;return!0}field(e,n,r,s){let i=n.repeat;switch(n.kind){case"scalar":return e===void 0?n.opt:i?this.scalars(e,n.T,s,n.L):this.scalar(e,n.T,n.L);case"enum":return e===void 0?n.opt:i?this.scalars(e,$.INT32,s):this.scalar(e,$.INT32);case"message":return e===void 0?!0:i?this.messages(e,n.T(),r,s):this.message(e,n.T(),r,s);case"map":if(typeof e!="object"||e===null)return!1;if(s<2)return!0;if(!this.mapKeys(e,n.K,s))return!1;switch(n.V.kind){case"scalar":return this.scalars(Object.values(e),n.V.T,s,n.V.L);case"enum":return this.scalars(Object.values(e),$.INT32,s);case"message":return this.messages(Object.values(e),n.V.T(),r,s)}break}return!0}message(e,n,r,s){return r?n.isAssignable(e,s):n.is(e,s)}messages(e,n,r,s){if(!Array.isArray(e))return!1;if(s<2)return!0;if(r){for(let i=0;i<e.length&&i<s;i++)if(!n.isAssignable(e[i],s-1))return!1}else for(let i=0;i<e.length&&i<s;i++)if(!n.is(e[i],s-1))return!1;return!0}scalar(e,n,r){let s=typeof e;switch(n){case $.UINT64:case $.FIXED64:case $.INT64:case $.SFIXED64:case $.SINT64:switch(r){case vn.BIGINT:return s=="bigint";case vn.NUMBER:return s=="number"&&!isNaN(e);default:return s=="string"}case $.BOOL:return s=="boolean";case $.STRING:return s=="string";case $.BYTES:return e instanceof Uint8Array;case $.DOUBLE:case $.FLOAT:return s=="number"&&!isNaN(e);default:return s=="number"&&Number.isInteger(e)}}scalars(e,n,r,s){if(!Array.isArray(e))return!1;if(r<2)return!0;if(Array.isArray(e)){for(let i=0;i<e.length&&i<r;i++)if(!this.scalar(e[i],n,s))return!1}return!0}mapKeys(e,n,r){let s=Object.keys(e);switch(n){case $.INT32:case $.FIXED32:case $.SFIXED32:case $.SINT32:case $.UINT32:return this.scalars(s.slice(0,r).map(i=>parseInt(i)),n,r);case $.BOOL:return this.scalars(s.slice(0,r).map(i=>i=="true"?!0:i=="false"?!1:i),n,r);default:return this.scalars(s,n,r,vn.STRING)}}};function Cn(t,e){switch(e){case vn.BIGINT:return t.toBigInt();case vn.NUMBER:return t.toNumber();default:return t.toString()}}var wu=class{constructor(e){this.info=e}prepare(){var e;if(this.fMap===void 0){this.fMap={};let n=(e=this.info.fields)!==null&&e!==void 0?e:[];for(let r of n)this.fMap[r.name]=r,this.fMap[r.jsonName]=r,this.fMap[r.localName]=r}}assert(e,n,r){if(!e){let s=rn(r);throw(s=="number"||s=="boolean")&&(s=r.toString()),new Error(`Cannot parse JSON ${s} for ${this.info.typeName}#${n}`)}}read(e,n,r){this.prepare();let s=[];for(let[i,o]of Object.entries(e)){let a=this.fMap[i];if(!a){if(!r.ignoreUnknownFields)throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${i}`);continue}let c=a.localName,u;if(a.oneof){if(o===null&&(a.kind!=="enum"||a.T()[0]!=="google.protobuf.NullValue"))continue;if(s.includes(a.oneof))throw new Error(`Multiple members of the oneof group "${a.oneof}" of ${this.info.typeName} are present in JSON.`);s.push(a.oneof),u=n[a.oneof]={oneofKind:c}}else u=n;if(a.kind=="map"){if(o===null)continue;this.assert(Ds(o),a.name,o);let d=u[c];for(let[f,p]of Object.entries(o)){this.assert(p!==null,a.name+" map value",null);let m;switch(a.V.kind){case"message":m=a.V.T().internalJsonRead(p,r);break;case"enum":if(m=this.enum(a.V.T(),p,a.name,r.ignoreUnknownFields),m===!1)continue;break;case"scalar":m=this.scalar(p,a.V.T,a.V.L,a.name);break}this.assert(m!==void 0,a.name+" map value",p);let b=f;a.K==$.BOOL&&(b=b=="true"?!0:b=="false"?!1:b),b=this.scalar(b,a.K,vn.STRING,a.name).toString(),d[b]=m}}else if(a.repeat){if(o===null)continue;this.assert(Array.isArray(o),a.name,o);let d=u[c];for(let f of o){this.assert(f!==null,a.name,null);let p;switch(a.kind){case"message":p=a.T().internalJsonRead(f,r);break;case"enum":if(p=this.enum(a.T(),f,a.name,r.ignoreUnknownFields),p===!1)continue;break;case"scalar":p=this.scalar(f,a.T,a.L,a.name);break}this.assert(p!==void 0,a.name,o),d.push(p)}}else switch(a.kind){case"message":if(o===null&&a.T().typeName!="google.protobuf.Value"){this.assert(a.oneof===void 0,a.name+" (oneof member)",null);continue}u[c]=a.T().internalJsonRead(o,r,u[c]);break;case"enum":if(o===null)continue;let d=this.enum(a.T(),o,a.name,r.ignoreUnknownFields);if(d===!1)continue;u[c]=d;break;case"scalar":if(o===null)continue;u[c]=this.scalar(o,a.T,a.L,a.name);break}}}enum(e,n,r,s){if(e[0]=="google.protobuf.NullValue"&&Ee(n===null||n==="NULL_VALUE",`Unable to parse field ${this.info.typeName}#${r}, enum ${e[0]} only accepts null.`),n===null)return 0;switch(typeof n){case"number":return Ee(Number.isInteger(n),`Unable to parse field ${this.info.typeName}#${r}, enum can only be integral number, got ${n}.`),n;case"string":let i=n;e[2]&&n.substring(0,e[2].length)===e[2]&&(i=n.substring(e[2].length));let o=e[1][i];return typeof o>"u"&&s?!1:(Ee(typeof o=="number",`Unable to parse field ${this.info.typeName}#${r}, enum ${e[0]} has no value for "${n}".`),o)}Ee(!1,`Unable to parse field ${this.info.typeName}#${r}, cannot parse enum value from ${typeof n}".`)}scalar(e,n,r,s){let i;try{switch(n){case $.DOUBLE:case $.FLOAT:if(e===null)return 0;if(e==="NaN")return Number.NaN;if(e==="Infinity")return Number.POSITIVE_INFINITY;if(e==="-Infinity")return Number.NEGATIVE_INFINITY;if(e===""){i="empty string";break}if(typeof e=="string"&&e.trim().length!==e.length){i="extra whitespace";break}if(typeof e!="string"&&typeof e!="number")break;let o=Number(e);if(Number.isNaN(o)){i="not a number";break}if(!Number.isFinite(o)){i="too large or small";break}return n==$.FLOAT&&Ai(o),o;case $.INT32:case $.FIXED32:case $.SFIXED32:case $.SINT32:case $.UINT32:if(e===null)return 0;let a;if(typeof e=="number"?a=e:e===""?i="empty string":typeof e=="string"&&(e.trim().length!==e.length?i="extra whitespace":a=Number(e)),a===void 0)break;return n==$.UINT32?js(a):ls(a),a;case $.INT64:case $.SFIXED64:case $.SINT64:if(e===null)return Cn(Ie.ZERO,r);if(typeof e!="number"&&typeof e!="string")break;return Cn(Ie.from(e),r);case $.FIXED64:case $.UINT64:if(e===null)return Cn(Ze.ZERO,r);if(typeof e!="number"&&typeof e!="string")break;return Cn(Ze.from(e),r);case $.BOOL:if(e===null)return!1;if(typeof e!="boolean")break;return e;case $.STRING:if(e===null)return"";if(typeof e!="string"){i="extra whitespace";break}try{encodeURIComponent(e)}catch(c){c="invalid UTF8";break}return e;case $.BYTES:if(e===null||e==="")return new Uint8Array(0);if(typeof e!="string")break;return Na(e)}}catch(o){i=o.message}this.assert(!1,s+(i?" - "+i:""),e)}};var _u=class{constructor(e){var n;this.fields=(n=e.fields)!==null&&n!==void 0?n:[]}write(e,n){let r={},s=e;for(let i of this.fields){if(!i.oneof){let u=this.field(i,s[i.localName],n);u!==void 0&&(r[n.useProtoFieldName?i.name:i.jsonName]=u);continue}let o=s[i.oneof];if(o.oneofKind!==i.localName)continue;let a=i.kind=="scalar"||i.kind=="enum"?Object.assign(Object.assign({},n),{emitDefaultValues:!0}):n,c=this.field(i,o[i.localName],a);Ee(c!==void 0),r[n.useProtoFieldName?i.name:i.jsonName]=c}return r}field(e,n,r){let s;if(e.kind=="map"){Ee(typeof n=="object"&&n!==null);let i={};switch(e.V.kind){case"scalar":for(let[c,u]of Object.entries(n)){let d=this.scalar(e.V.T,u,e.name,!1,!0);Ee(d!==void 0),i[c.toString()]=d}break;case"message":let o=e.V.T();for(let[c,u]of Object.entries(n)){let d=this.message(o,u,e.name,r);Ee(d!==void 0),i[c.toString()]=d}break;case"enum":let a=e.V.T();for(let[c,u]of Object.entries(n)){Ee(u===void 0||typeof u=="number");let d=this.enum(a,u,e.name,!1,!0,r.enumAsInteger);Ee(d!==void 0),i[c.toString()]=d}break}(r.emitDefaultValues||Object.keys(i).length>0)&&(s=i)}else if(e.repeat){Ee(Array.isArray(n));let i=[];switch(e.kind){case"scalar":for(let c=0;c<n.length;c++){let u=this.scalar(e.T,n[c],e.name,e.opt,!0);Ee(u!==void 0),i.push(u)}break;case"enum":let o=e.T();for(let c=0;c<n.length;c++){Ee(n[c]===void 0||typeof n[c]=="number");let u=this.enum(o,n[c],e.name,e.opt,!0,r.enumAsInteger);Ee(u!==void 0),i.push(u)}break;case"message":let a=e.T();for(let c=0;c<n.length;c++){let u=this.message(a,n[c],e.name,r);Ee(u!==void 0),i.push(u)}break}(r.emitDefaultValues||i.length>0||r.emitDefaultValues)&&(s=i)}else switch(e.kind){case"scalar":s=this.scalar(e.T,n,e.name,e.opt,r.emitDefaultValues);break;case"enum":s=this.enum(e.T(),n,e.name,e.opt,r.emitDefaultValues,r.enumAsInteger);break;case"message":s=this.message(e.T(),n,e.name,r);break}return s}enum(e,n,r,s,i,o){if(e[0]=="google.protobuf.NullValue")return!i&&!s?void 0:null;if(n===void 0){Ee(s);return}if(!(n===0&&!i&&!s))return Ee(typeof n=="number"),Ee(Number.isInteger(n)),o||!e[1].hasOwnProperty(n)?n:e[2]?e[2]+e[1][n]:e[1][n]}message(e,n,r,s){return n===void 0?s.emitDefaultValues?null:void 0:e.internalJsonWrite(n,s)}scalar(e,n,r,s,i){if(n===void 0){Ee(s);return}let o=i||s;switch(e){case $.INT32:case $.SFIXED32:case $.SINT32:return n===0?o?0:void 0:(ls(n),n);case $.FIXED32:case $.UINT32:return n===0?o?0:void 0:(js(n),n);case $.FLOAT:Ai(n);case $.DOUBLE:return n===0?o?0:void 0:(Ee(typeof n=="number"),Number.isNaN(n)?"NaN":n===Number.POSITIVE_INFINITY?"Infinity":n===Number.NEGATIVE_INFINITY?"-Infinity":n);case $.STRING:return n===""?o?"":void 0:(Ee(typeof n=="string"),n);case $.BOOL:return n===!1?o?!1:void 0:(Ee(typeof n=="boolean"),n);case $.UINT64:case $.FIXED64:Ee(typeof n=="number"||typeof n=="string"||typeof n=="bigint");let a=Ze.from(n);return a.isZero()&&!o?void 0:a.toString();case $.INT64:case $.SFIXED64:case $.SINT64:Ee(typeof n=="number"||typeof n=="string"||typeof n=="bigint");let c=Ie.from(n);return c.isZero()&&!o?void 0:c.toString();case $.BYTES:return Ee(n instanceof Uint8Array),n.byteLength?Ra(n):o?"":void 0}}};function Da(t,e=vn.STRING){switch(t){case $.BOOL:return!1;case $.UINT64:case $.FIXED64:return Cn(Ze.ZERO,e);case $.INT64:case $.SFIXED64:case $.SINT64:return Cn(Ie.ZERO,e);case $.DOUBLE:case $.FLOAT:return 0;case $.BYTES:return new Uint8Array(0);case $.STRING:return"";default:return 0}}var vu=class{constructor(e){this.info=e}prepare(){var e;if(!this.fieldNoToField){let n=(e=this.info.fields)!==null&&e!==void 0?e:[];this.fieldNoToField=new Map(n.map(r=>[r.no,r]))}}read(e,n,r,s){this.prepare();let i=s===void 0?e.len:e.pos+s;for(;e.pos<i;){let[o,a]=e.tag(),c=this.fieldNoToField.get(o);if(!c){let p=r.readUnknownField;if(p=="throw")throw new Error(`Unknown field ${o} (wire type ${a}) for ${this.info.typeName}`);let m=e.skip(a);p!==!1&&(p===!0?Ii.onRead:p)(this.info.typeName,n,o,a,m);continue}let u=n,d=c.repeat,f=c.localName;switch(c.oneof&&(u=u[c.oneof],u.oneofKind!==f&&(u=n[c.oneof]={oneofKind:f})),c.kind){case"scalar":case"enum":let p=c.kind=="enum"?$.INT32:c.T,m=c.kind=="scalar"?c.L:void 0;if(d){let T=u[f];if(a==We.LengthDelimited&&p!=$.STRING&&p!=$.BYTES){let O=e.uint32()+e.pos;for(;e.pos<O;)T.push(this.scalar(e,p,m))}else T.push(this.scalar(e,p,m))}else u[f]=this.scalar(e,p,m);break;case"message":if(d){let T=u[f],O=c.T().internalBinaryRead(e,e.uint32(),r);T.push(O)}else u[f]=c.T().internalBinaryRead(e,e.uint32(),r,u[f]);break;case"map":let[b,_]=this.mapEntry(c,e,r);u[f][b]=_;break}}}mapEntry(e,n,r){let s=n.uint32(),i=n.pos+s,o,a;for(;n.pos<i;){let[c,u]=n.tag();switch(c){case 1:e.K==$.BOOL?o=n.bool().toString():o=this.scalar(n,e.K,vn.STRING);break;case 2:switch(e.V.kind){case"scalar":a=this.scalar(n,e.V.T,e.V.L);break;case"enum":a=n.int32();break;case"message":a=e.V.T().internalBinaryRead(n,n.uint32(),r);break}break;default:throw new Error(`Unknown field ${c} (wire type ${u}) in map entry for ${this.info.typeName}#${e.name}`)}}if(o===void 0){let c=Da(e.K);o=e.K==$.BOOL?c.toString():c}if(a===void 0)switch(e.V.kind){case"scalar":a=Da(e.V.T,e.V.L);break;case"enum":a=0;break;case"message":a=e.V.T().create();break}return[o,a]}scalar(e,n,r){switch(n){case $.INT32:return e.int32();case $.STRING:return e.string();case $.BOOL:return e.bool();case $.DOUBLE:return e.double();case $.FLOAT:return e.float();case $.INT64:return Cn(e.int64(),r);case $.UINT64:return Cn(e.uint64(),r);case $.FIXED64:return Cn(e.fixed64(),r);case $.FIXED32:return e.fixed32();case $.BYTES:return e.bytes();case $.UINT32:return e.uint32();case $.SFIXED32:return e.sfixed32();case $.SFIXED64:return Cn(e.sfixed64(),r);case $.SINT32:return e.sint32();case $.SINT64:return Cn(e.sint64(),r)}}};var Tu=class{constructor(e){this.info=e}prepare(){if(!this.fields){let e=this.info.fields?this.info.fields.concat():[];this.fields=e.sort((n,r)=>n.no-r.no)}}write(e,n,r){this.prepare();for(let i of this.fields){let o,a,c=i.repeat,u=i.localName;if(i.oneof){let d=e[i.oneof];if(d.oneofKind!==u)continue;o=d[u],a=!0}else o=e[u],a=!1;switch(i.kind){case"scalar":case"enum":let d=i.kind=="enum"?$.INT32:i.T;if(c)if(Ee(Array.isArray(o)),c==Ma.PACKED)this.packed(n,d,i.no,o);else for(let f of o)this.scalar(n,d,i.no,f,!0);else o===void 0?Ee(i.opt):this.scalar(n,d,i.no,o,a||i.opt);break;case"message":if(c){Ee(Array.isArray(o));for(let f of o)this.message(n,r,i.T(),i.no,f)}else this.message(n,r,i.T(),i.no,o);break;case"map":Ee(typeof o=="object"&&o!==null);for(let[f,p]of Object.entries(o))this.mapEntry(n,r,i,f,p);break}}let s=r.writeUnknownFields;s!==!1&&(s===!0?Ii.onWrite:s)(this.info.typeName,e,n)}mapEntry(e,n,r,s,i){e.tag(r.no,We.LengthDelimited),e.fork();let o=s;switch(r.K){case $.INT32:case $.FIXED32:case $.UINT32:case $.SFIXED32:case $.SINT32:o=Number.parseInt(s);break;case $.BOOL:Ee(s=="true"||s=="false"),o=s=="true";break}switch(this.scalar(e,r.K,1,o,!0),r.V.kind){case"scalar":this.scalar(e,r.V.T,2,i,!0);break;case"enum":this.scalar(e,$.INT32,2,i,!0);break;case"message":this.message(e,n,r.V.T(),2,i);break}e.join()}message(e,n,r,s,i){i!==void 0&&(r.internalBinaryWrite(i,e.tag(s,We.LengthDelimited).fork(),n),e.join())}scalar(e,n,r,s,i){let[o,a,c]=this.scalarInfo(n,s);(!c||i)&&(e.tag(r,o),e[a](s))}packed(e,n,r,s){if(!s.length)return;Ee(n!==$.BYTES&&n!==$.STRING),e.tag(r,We.LengthDelimited),e.fork();let[,i]=this.scalarInfo(n);for(let o=0;o<s.length;o++)e[i](s[o]);e.join()}scalarInfo(e,n){let r=We.Varint,s,i=n===void 0,o=n===0;switch(e){case $.INT32:s="int32";break;case $.STRING:o=i||!n.length,r=We.LengthDelimited,s="string";break;case $.BOOL:o=n===!1,s="bool";break;case $.UINT32:s="uint32";break;case $.DOUBLE:r=We.Bit64,s="double";break;case $.FLOAT:r=We.Bit32,s="float";break;case $.INT64:o=i||Ie.from(n).isZero(),s="int64";break;case $.UINT64:o=i||Ze.from(n).isZero(),s="uint64";break;case $.FIXED64:o=i||Ze.from(n).isZero(),r=We.Bit64,s="fixed64";break;case $.BYTES:o=i||!n.byteLength,r=We.LengthDelimited,s="bytes";break;case $.FIXED32:r=We.Bit32,s="fixed32";break;case $.SFIXED32:r=We.Bit32,s="sfixed32";break;case $.SFIXED64:o=i||Ie.from(n).isZero(),r=We.Bit64,s="sfixed64";break;case $.SINT32:s="sint32";break;case $.SINT64:o=i||Ie.from(n).isZero(),s="sint64";break}return[r,s,i||o]}};function Og(t){let e=t.messagePrototype?Object.create(t.messagePrototype):Object.defineProperty({},yu,{value:t});for(let n of t.fields){let r=n.localName;if(!n.opt)if(n.oneof)e[n.oneof]={oneofKind:void 0};else if(n.repeat)e[r]=[];else switch(n.kind){case"scalar":e[r]=Da(n.T,n.L);break;case"enum":e[r]=0;break;case"map":e[r]={};break}}return e}function ku(t,e,n){let r,s=n,i;for(let o of t.fields){let a=o.localName;if(o.oneof){let c=s[o.oneof];if(c?.oneofKind==null)continue;if(r=c[a],i=e[o.oneof],i.oneofKind=c.oneofKind,r==null){delete i[a];continue}}else if(r=s[a],i=e,r==null)continue;switch(o.repeat&&(i[a].length=r.length),o.kind){case"scalar":case"enum":if(o.repeat)for(let u=0;u<r.length;u++)i[a][u]=r[u];else i[a]=r;break;case"message":let c=o.T();if(o.repeat)for(let u=0;u<r.length;u++)i[a][u]=c.create(r[u]);else i[a]===void 0?i[a]=c.create(r):c.mergePartial(i[a],r);break;case"map":switch(o.V.kind){case"scalar":case"enum":Object.assign(i[a],r);break;case"message":let u=o.V.T();for(let d of Object.keys(r))i[a][d]=u.create(r[d]);break}break}}}function Cg(t,e,n){if(e===n)return!0;if(!e||!n)return!1;for(let r of t.fields){let s=r.localName,i=r.oneof?e[r.oneof][s]:e[s],o=r.oneof?n[r.oneof][s]:n[s];switch(r.kind){case"enum":case"scalar":let a=r.kind=="enum"?$.INT32:r.T;if(!(r.repeat?Ig(a,i,o):Ng(a,i,o)))return!1;break;case"map":if(!(r.V.kind=="message"?Ag(r.V.T(),Eu(i),Eu(o)):Ig(r.V.kind=="enum"?$.INT32:r.V.T,Eu(i),Eu(o))))return!1;break;case"message":let c=r.T();if(!(r.repeat?Ag(c,i,o):c.equals(i,o)))return!1;break}}return!0}var Eu=Object.values;function Ng(t,e,n){if(e===n)return!0;if(t!==$.BYTES)return!1;let r=e,s=n;if(r.length!==s.length)return!1;for(let i=0;i<r.length;i++)if(r[i]!=s[i])return!1;return!0}function Ig(t,e,n){if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(!Ng(t,e[r],n[r]))return!1;return!0}function Ag(t,e,n){if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(!t.equals(e[r],n[r]))return!1;return!0}var Rg=Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})),Q1=Rg[yu]={},R=class{constructor(e,n,r){this.defaultCheckDepth=16,this.typeName=e,this.fields=n.map(xg),this.options=r??{},Q1.value=this,this.messagePrototype=Object.create(null,Rg),this.refTypeCheck=new bu(this),this.refJsonReader=new wu(this),this.refJsonWriter=new _u(this),this.refBinReader=new vu(this),this.refBinWriter=new Tu(this)}create(e){let n=Og(this);return e!==void 0&&ku(this,n,e),n}clone(e){let n=this.create();return ku(this,n,e),n}equals(e,n){return Cg(this,e,n)}is(e,n=this.defaultCheckDepth){return this.refTypeCheck.is(e,n,!1)}isAssignable(e,n=this.defaultCheckDepth){return this.refTypeCheck.is(e,n,!0)}mergePartial(e,n){ku(this,e,n)}fromBinary(e,n){let r=_g(n);return this.internalBinaryRead(r.readerFactory(e),e.byteLength,r)}fromJson(e,n){return this.internalJsonRead(e,Vf(n))}fromJsonString(e,n){let r=JSON.parse(e);return this.fromJson(r,n)}toJson(e,n){return this.internalJsonWrite(e,Ba(n))}toJsonString(e,n){var r;let s=this.toJson(e,n);return JSON.stringify(s,null,(r=n?.prettySpaces)!==null&&r!==void 0?r:0)}toBinary(e,n){let r=Tg(n);return this.internalBinaryWrite(e,r.writerFactory(),r).finish()}internalJsonRead(e,n,r){if(e!==null&&typeof e=="object"&&!Array.isArray(e)){let s=r??this.create();return this.refJsonReader.read(e,s,n),s}throw new Error(`Unable to parse message ${this.typeName} from JSON ${rn(e)}.`)}internalJsonWrite(e,n){return this.refJsonWriter.write(e,n)}internalBinaryWrite(e,n,r){return this.refBinWriter.write(e,n,r),n}internalBinaryRead(e,n,r,s){let i=s??this.create();return this.refBinReader.read(e,i,r,n),i}};var Bg=function(t){return t[t.NULL_VALUE=0]="NULL_VALUE",t}({}),ek=class extends R{constructor(){super("google.protobuf.Struct",[{no:1,name:"fields",kind:"map",K:9,V:{kind:"message",T:()=>tt}}])}internalJsonWrite(t,e){let n={};for(let[r,s]of Object.entries(t.fields))n[r]=tt.toJson(s);return n}internalJsonRead(t,e,n){if(!Ds(t))throw new globalThis.Error("Unable to parse message "+this.typeName+" from JSON "+rn(t)+".");n||(n=this.create());for(let[r,s]of globalThis.Object.entries(t))n.fields[r]=tt.fromJson(s);return n}},Mg=new ek,tk=class extends R{constructor(){super("google.protobuf.Value",[{no:1,name:"null_value",kind:"enum",oneof:"kind",T:()=>["google.protobuf.NullValue",Bg]},{no:2,name:"number_value",kind:"scalar",oneof:"kind",T:1},{no:3,name:"string_value",kind:"scalar",oneof:"kind",T:9},{no:4,name:"bool_value",kind:"scalar",oneof:"kind",T:8},{no:5,name:"struct_value",kind:"message",oneof:"kind",T:()=>Mg},{no:6,name:"list_value",kind:"message",oneof:"kind",T:()=>Dg}])}internalJsonWrite(t,e){if(t.kind.oneofKind===void 0)throw new globalThis.Error;switch(t.kind.oneofKind){case void 0:throw new globalThis.Error;case"boolValue":return t.kind.boolValue;case"nullValue":return null;case"numberValue":let n=t.kind.numberValue;if(typeof n=="number"&&!Number.isFinite(n))throw new globalThis.Error;return n;case"stringValue":return t.kind.stringValue;case"listValue":let r=this.fields.find(i=>i.no===6);if(r?.kind!=="message")throw new globalThis.Error;return r.T().toJson(t.kind.listValue);case"structValue":let s=this.fields.find(i=>i.no===5);if(s?.kind!=="message")throw new globalThis.Error;return s.T().toJson(t.kind.structValue)}}internalJsonRead(t,e,n){switch(n||(n=this.create()),typeof t){case"number":n.kind={oneofKind:"numberValue",numberValue:t};break;case"string":n.kind={oneofKind:"stringValue",stringValue:t};break;case"boolean":n.kind={oneofKind:"boolValue",boolValue:t};break;case"object":t===null?n.kind={oneofKind:"nullValue",nullValue:Bg.NULL_VALUE}:globalThis.Array.isArray(t)?n.kind={oneofKind:"listValue",listValue:Dg.fromJson(t)}:n.kind={oneofKind:"structValue",structValue:Mg.fromJson(t)};break;default:throw new globalThis.Error("Unable to parse "+this.typeName+" from JSON "+rn(t))}return n}},tt=new tk,nk=class extends R{constructor(){super("google.protobuf.ListValue",[{no:1,name:"values",kind:"message",repeat:1,T:()=>tt}])}internalJsonWrite(t,e){return t.values.map(n=>tt.toJson(n))}internalJsonRead(t,e,n){if(!globalThis.Array.isArray(t))throw new globalThis.Error("Unable to parse "+this.typeName+" from JSON "+rn(t));n||(n=this.create());let r=t.map(s=>tt.fromJson(s));return n.values.push(...r),n}},Dg=new nk;var rk=function(t){return t[t.DATATYPE_KIND_UNKNOWN=0]="DATATYPE_KIND_UNKNOWN",t[t.STRUCT=1]="STRUCT",t[t.ENUM=2]="ENUM",t}({}),Nn=function(t){return t[t.TYPE_UNKNOWN=0]="TYPE_UNKNOWN",t[t.ADDRESS=1]="ADDRESS",t[t.BOOL=2]="BOOL",t[t.U8=3]="U8",t[t.U16=4]="U16",t[t.U32=5]="U32",t[t.U64=6]="U64",t[t.U128=7]="U128",t[t.U256=8]="U256",t[t.VECTOR=9]="VECTOR",t[t.DATATYPE=10]="DATATYPE",t[t.TYPE_PARAMETER=11]="TYPE_PARAMETER",t}({}),ja=function(t){return t[t.VISIBILITY_UNKNOWN=0]="VISIBILITY_UNKNOWN",t[t.PRIVATE=1]="PRIVATE",t[t.PUBLIC=2]="PUBLIC",t[t.FRIEND=3]="FRIEND",t}({}),xu=function(t){return t[t.REFERENCE_UNKNOWN=0]="REFERENCE_UNKNOWN",t[t.IMMUTABLE=1]="IMMUTABLE",t[t.MUTABLE=2]="MUTABLE",t}({}),Ci=function(t){return t[t.ABILITY_UNKNOWN=0]="ABILITY_UNKNOWN",t[t.COPY=1]="COPY",t[t.DROP=2]="DROP",t[t.STORE=3]="STORE",t[t.KEY=4]="KEY",t}({}),sk=class extends R{constructor(){super("sui.rpc.v2.Package",[{no:1,name:"storage_id",kind:"scalar",opt:!0,T:9},{no:2,name:"original_id",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"modules",kind:"message",repeat:1,T:()=>ok},{no:5,name:"type_origins",kind:"message",repeat:1,T:()=>gk},{no:6,name:"linkage",kind:"message",repeat:1,T:()=>bk}])}},Su=new sk,ik=class extends R{constructor(){super("sui.rpc.v2.Module",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"contents",kind:"scalar",opt:!0,T:12},{no:3,name:"datatypes",kind:"message",repeat:1,T:()=>qf},{no:4,name:"functions",kind:"message",repeat:1,T:()=>Gf}])}},ok=new ik,ak=class extends R{constructor(){super("sui.rpc.v2.DatatypeDescriptor",[{no:1,name:"type_name",kind:"scalar",opt:!0,T:9},{no:2,name:"defining_id",kind:"scalar",opt:!0,T:9},{no:3,name:"module",kind:"scalar",opt:!0,T:9},{no:4,name:"name",kind:"scalar",opt:!0,T:9},{no:5,name:"abilities",kind:"enum",repeat:1,T:()=>["sui.rpc.v2.Ability",Ci]},{no:6,name:"type_parameters",kind:"message",repeat:1,T:()=>Ug},{no:7,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DatatypeDescriptor.DatatypeKind",rk]},{no:8,name:"fields",kind:"message",repeat:1,T:()=>Lg},{no:9,name:"variants",kind:"message",repeat:1,T:()=>dk}])}},qf=new ak,ck=class extends R{constructor(){super("sui.rpc.v2.TypeParameter",[{no:1,name:"constraints",kind:"enum",repeat:1,T:()=>["sui.rpc.v2.Ability",Ci]},{no:2,name:"is_phantom",kind:"scalar",opt:!0,T:8}])}},Ug=new ck,uk=class extends R{constructor(){super("sui.rpc.v2.FieldDescriptor",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"position",kind:"scalar",opt:!0,T:13},{no:3,name:"type",kind:"message",T:()=>$f}])}},Lg=new uk,lk=class extends R{constructor(){super("sui.rpc.v2.VariantDescriptor",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"position",kind:"scalar",opt:!0,T:13},{no:3,name:"fields",kind:"message",repeat:1,T:()=>Lg}])}},dk=new lk,fk=class extends R{constructor(){super("sui.rpc.v2.OpenSignatureBody",[{no:1,name:"type",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.OpenSignatureBody.Type",Nn]},{no:2,name:"type_name",kind:"scalar",opt:!0,T:9},{no:3,name:"type_parameter_instantiation",kind:"message",repeat:1,T:()=>$f},{no:4,name:"type_parameter",kind:"scalar",opt:!0,T:13}])}},$f=new fk,pk=class extends R{constructor(){super("sui.rpc.v2.FunctionDescriptor",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:5,name:"visibility",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.FunctionDescriptor.Visibility",ja]},{no:6,name:"is_entry",kind:"scalar",opt:!0,T:8},{no:7,name:"type_parameters",kind:"message",repeat:1,T:()=>Ug},{no:8,name:"parameters",kind:"message",repeat:1,T:()=>jg},{no:9,name:"returns",kind:"message",repeat:1,T:()=>jg}])}},Gf=new pk,hk=class extends R{constructor(){super("sui.rpc.v2.OpenSignature",[{no:1,name:"reference",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.OpenSignature.Reference",xu]},{no:2,name:"body",kind:"message",T:()=>$f}])}},jg=new hk,mk=class extends R{constructor(){super("sui.rpc.v2.TypeOrigin",[{no:1,name:"module_name",kind:"scalar",opt:!0,T:9},{no:2,name:"datatype_name",kind:"scalar",opt:!0,T:9},{no:3,name:"package_id",kind:"scalar",opt:!0,T:9}])}},gk=new mk,yk=class extends R{constructor(){super("sui.rpc.v2.Linkage",[{no:1,name:"original_id",kind:"scalar",opt:!0,T:9},{no:2,name:"upgraded_id",kind:"scalar",opt:!0,T:9},{no:3,name:"upgraded_version",kind:"scalar",opt:!0,T:4,L:0}])}},bk=new yk;var Ni=function(t){return t[t.OWNER_KIND_UNKNOWN=0]="OWNER_KIND_UNKNOWN",t[t.ADDRESS=1]="ADDRESS",t[t.OBJECT=2]="OBJECT",t[t.SHARED=3]="SHARED",t[t.IMMUTABLE=4]="IMMUTABLE",t[t.CONSENSUS_ADDRESS=5]="CONSENSUS_ADDRESS",t}({}),wk=class extends R{constructor(){super("sui.rpc.v2.Owner",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Owner.OwnerKind",Ni]},{no:2,name:"address",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},Ua=new wk;var ds=function(t){return t[t.ARGUMENT_KIND_UNKNOWN=0]="ARGUMENT_KIND_UNKNOWN",t[t.GAS=1]="GAS",t[t.INPUT=2]="INPUT",t[t.RESULT=3]="RESULT",t}({}),_k=class extends R{constructor(){super("sui.rpc.v2.Argument",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Argument.ArgumentKind",ds]},{no:2,name:"input",kind:"scalar",opt:!0,T:13},{no:3,name:"result",kind:"scalar",opt:!0,T:13},{no:4,name:"subresult",kind:"scalar",opt:!0,T:13}])}},Jn=new _k;var Kn=function(t){return t[t.INPUT_KIND_UNKNOWN=0]="INPUT_KIND_UNKNOWN",t[t.PURE=1]="PURE",t[t.IMMUTABLE_OR_OWNED=2]="IMMUTABLE_OR_OWNED",t[t.SHARED=3]="SHARED",t[t.RECEIVING=4]="RECEIVING",t[t.FUNDS_WITHDRAWAL=5]="FUNDS_WITHDRAWAL",t}({}),vk=function(t){return t[t.MUTABILITY_UNKNOWN=0]="MUTABILITY_UNKNOWN",t[t.IMMUTABLE=1]="IMMUTABLE",t[t.MUTABLE=2]="MUTABLE",t[t.NON_EXCLUSIVE_WRITE=3]="NON_EXCLUSIVE_WRITE",t}({}),La=function(t){return t[t.SOURCE_UNKNOWN=0]="SOURCE_UNKNOWN",t[t.SENDER=1]="SENDER",t[t.SPONSOR=2]="SPONSOR",t}({}),Tk=class extends R{constructor(){super("sui.rpc.v2.Input",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Input.InputKind",Kn]},{no:2,name:"pure",kind:"scalar",opt:!0,T:12},{no:3,name:"object_id",kind:"scalar",opt:!0,T:9},{no:4,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"digest",kind:"scalar",opt:!0,T:9},{no:6,name:"mutable",kind:"scalar",opt:!0,T:8},{no:7,name:"mutability",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Input.Mutability",vk]},{no:8,name:"funds_withdrawal",kind:"message",T:()=>Ek},{no:1e3,name:"literal",kind:"message",T:()=>tt}])}},Pg=new Tk,kk=class extends R{constructor(){super("sui.rpc.v2.FundsWithdrawal",[{no:1,name:"amount",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:3,name:"source",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.FundsWithdrawal.Source",La]}])}},Ek=new kk;var xk=class extends R{constructor(){super("google.protobuf.Duration",[{no:1,name:"seconds",kind:"scalar",T:3,L:0},{no:2,name:"nanos",kind:"scalar",T:5}])}internalJsonWrite(t,e){let n=Ie.from(t.seconds).toNumber();if(n>315576e6||n<-315576e6)throw new Error("Duration value out of range.");let r=t.seconds.toString();if(n===0&&t.nanos<0&&(r="-"+r),t.nanos!==0){let s=Math.abs(t.nanos).toString();s="0".repeat(9-s.length)+s,s.substring(3)==="000000"?s=s.substring(0,3):s.substring(6)==="000"&&(s=s.substring(0,6)),r+="."+s}return r+"s"}internalJsonRead(t,e,n){if(typeof t!="string")throw new Error("Unable to parse Duration from JSON "+rn(t)+". Expected string.");let r=t.match(/^(-?)([0-9]+)(?:\.([0-9]+))?s/);if(r===null)throw new Error("Unable to parse Duration from JSON string. Invalid format.");n||(n=this.create());let[,s,i,o]=r,a=Ie.from(s+i);if(a.toNumber()>315576e6||a.toNumber()<-315576e6)throw new Error("Unable to parse Duration from JSON string. Value out of range.");if(n.seconds=a.toBigInt(),typeof o=="string"){let c=s+o+"0".repeat(9-o.length);n.nanos=parseInt(c)}return n}},Vg=new xk;var Sk=class extends R{constructor(){super("sui.rpc.v2.JwkId",[{no:1,name:"iss",kind:"scalar",opt:!0,T:9},{no:2,name:"kid",kind:"scalar",opt:!0,T:9}])}},Ou=new Sk,Ok=class extends R{constructor(){super("sui.rpc.v2.Jwk",[{no:1,name:"kty",kind:"scalar",opt:!0,T:9},{no:2,name:"e",kind:"scalar",opt:!0,T:9},{no:3,name:"n",kind:"scalar",opt:!0,T:9},{no:4,name:"alg",kind:"scalar",opt:!0,T:9}])}},Fg=new Ok;var Ik=class extends R{constructor(){super("sui.rpc.v2.Bcs",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"value",kind:"scalar",opt:!0,T:12}])}},et=new Ik;var Ak=class extends R{constructor(){super("sui.rpc.v2.Object",[{no:1,name:"bcs",kind:"message",T:()=>et},{no:2,name:"object_id",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"digest",kind:"scalar",opt:!0,T:9},{no:5,name:"owner",kind:"message",T:()=>Ua},{no:6,name:"object_type",kind:"scalar",opt:!0,T:9},{no:7,name:"has_public_transfer",kind:"scalar",opt:!0,T:8},{no:8,name:"contents",kind:"message",T:()=>et},{no:9,name:"package",kind:"message",T:()=>Su},{no:10,name:"previous_transaction",kind:"scalar",opt:!0,T:9},{no:11,name:"storage_rebate",kind:"scalar",opt:!0,T:4,L:0},{no:100,name:"json",kind:"message",T:()=>tt},{no:101,name:"balance",kind:"scalar",opt:!0,T:4,L:0},{no:102,name:"display",kind:"message",T:()=>Rk}])}},Br=new Ak,Ck=class extends R{constructor(){super("sui.rpc.v2.ObjectSet",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Br}])}},Iu=new Ck,Nk=class extends R{constructor(){super("sui.rpc.v2.Display",[{no:1,name:"output",kind:"message",T:()=>tt},{no:2,name:"errors",kind:"message",T:()=>tt}])}},Rk=new Nk;var Bk=class extends R{constructor(){super("google.protobuf.Timestamp",[{no:1,name:"seconds",kind:"scalar",T:3,L:0},{no:2,name:"nanos",kind:"scalar",T:5}])}now(){let t=this.create(),e=Date.now();return t.seconds=Ie.from(Math.floor(e/1e3)).toBigInt(),t.nanos=e%1e3*1e6,t}toDate(t){return new Date(Ie.from(t.seconds).toNumber()*1e3+Math.ceil(t.nanos/1e6))}fromDate(t){let e=this.create(),n=t.getTime();return e.seconds=Ie.from(Math.floor(n/1e3)).toBigInt(),e.nanos=(n%1e3+(n<0&&n%1e3!==0?1e3:0))*1e6,e}internalJsonWrite(t,e){let n=Ie.from(t.seconds).toNumber()*1e3;if(n<Date.parse("0001-01-01T00:00:00Z")||n>Date.parse("9999-12-31T23:59:59Z"))throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");if(t.nanos<0)throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");let r="Z";if(t.nanos>0){let s=(t.nanos+1e9).toString().substring(1);s.substring(3)==="000000"?r="."+s.substring(0,3)+"Z":s.substring(6)==="000"?r="."+s.substring(0,6)+"Z":r="."+s+"Z"}return new Date(n).toISOString().replace(".000Z",r)}internalJsonRead(t,e,n){if(typeof t!="string")throw new Error("Unable to parse Timestamp from JSON "+rn(t)+".");let r=t.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!r)throw new Error("Unable to parse Timestamp from JSON. Invalid format.");let s=Date.parse(r[1]+"-"+r[2]+"-"+r[3]+"T"+r[4]+":"+r[5]+":"+r[6]+(r[8]?r[8]:"Z"));if(Number.isNaN(s))throw new Error("Unable to parse Timestamp from JSON. Invalid value.");if(s<Date.parse("0001-01-01T00:00:00Z")||s>Date.parse("9999-12-31T23:59:59Z"))throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");return n||(n=this.create()),n.seconds=Ie.from(s/1e3).toBigInt(),n.nanos=0,r[7]&&(n.nanos=parseInt("1"+r[7]+"0".repeat(9-r[7].length))-1e9),n}},fn=new Bk;var Mk=class extends R{constructor(){super("sui.rpc.v2.ObjectReference",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"digest",kind:"scalar",opt:!0,T:9}])}},Au=new Mk;var Ls=function(t){return t[t.TRANSACTION_EXPIRATION_KIND_UNKNOWN=0]="TRANSACTION_EXPIRATION_KIND_UNKNOWN",t[t.NONE=1]="NONE",t[t.EPOCH=2]="EPOCH",t[t.VALID_DURING=3]="VALID_DURING",t}({}),Dk=function(t){return t[t.KIND_UNKNOWN=0]="KIND_UNKNOWN",t[t.PROGRAMMABLE_TRANSACTION=1]="PROGRAMMABLE_TRANSACTION",t[t.CHANGE_EPOCH=2]="CHANGE_EPOCH",t[t.GENESIS=3]="GENESIS",t[t.CONSENSUS_COMMIT_PROLOGUE_V1=4]="CONSENSUS_COMMIT_PROLOGUE_V1",t[t.AUTHENTICATOR_STATE_UPDATE=5]="AUTHENTICATOR_STATE_UPDATE",t[t.END_OF_EPOCH=6]="END_OF_EPOCH",t[t.RANDOMNESS_STATE_UPDATE=7]="RANDOMNESS_STATE_UPDATE",t[t.CONSENSUS_COMMIT_PROLOGUE_V2=8]="CONSENSUS_COMMIT_PROLOGUE_V2",t[t.CONSENSUS_COMMIT_PROLOGUE_V3=9]="CONSENSUS_COMMIT_PROLOGUE_V3",t[t.CONSENSUS_COMMIT_PROLOGUE_V4=10]="CONSENSUS_COMMIT_PROLOGUE_V4",t[t.PROGRAMMABLE_SYSTEM_TRANSACTION=11]="PROGRAMMABLE_SYSTEM_TRANSACTION",t}({}),jk=function(t){return t[t.KIND_UNKNOWN=0]="KIND_UNKNOWN",t[t.CHANGE_EPOCH=1]="CHANGE_EPOCH",t[t.AUTHENTICATOR_STATE_CREATE=2]="AUTHENTICATOR_STATE_CREATE",t[t.AUTHENTICATOR_STATE_EXPIRE=3]="AUTHENTICATOR_STATE_EXPIRE",t[t.RANDOMNESS_STATE_CREATE=4]="RANDOMNESS_STATE_CREATE",t[t.DENY_LIST_STATE_CREATE=5]="DENY_LIST_STATE_CREATE",t[t.BRIDGE_STATE_CREATE=6]="BRIDGE_STATE_CREATE",t[t.BRIDGE_COMMITTEE_INIT=7]="BRIDGE_COMMITTEE_INIT",t[t.STORE_EXECUTION_TIME_OBSERVATIONS=8]="STORE_EXECUTION_TIME_OBSERVATIONS",t[t.ACCUMULATOR_ROOT_CREATE=9]="ACCUMULATOR_ROOT_CREATE",t[t.COIN_REGISTRY_CREATE=10]="COIN_REGISTRY_CREATE",t[t.DISPLAY_REGISTRY_CREATE=11]="DISPLAY_REGISTRY_CREATE",t[t.ADDRESS_ALIAS_STATE_CREATE=12]="ADDRESS_ALIAS_STATE_CREATE",t[t.WRITE_ACCUMULATOR_STORAGE_COST=13]="WRITE_ACCUMULATOR_STORAGE_COST",t}({}),Uk=function(t){return t[t.EXECUTION_TIME_OBSERVATION_KIND_UNKNOWN=0]="EXECUTION_TIME_OBSERVATION_KIND_UNKNOWN",t[t.MOVE_ENTRY_POINT=1]="MOVE_ENTRY_POINT",t[t.TRANSFER_OBJECTS=2]="TRANSFER_OBJECTS",t[t.SPLIT_COINS=3]="SPLIT_COINS",t[t.MERGE_COINS=4]="MERGE_COINS",t[t.PUBLISH=5]="PUBLISH",t[t.MAKE_MOVE_VECTOR=6]="MAKE_MOVE_VECTOR",t[t.UPGRADE=7]="UPGRADE",t}({}),Lk=class extends R{constructor(){super("sui.rpc.v2.Transaction",[{no:1,name:"bcs",kind:"message",T:()=>et},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:5},{no:4,name:"kind",kind:"message",T:()=>Gk},{no:5,name:"sender",kind:"scalar",opt:!0,T:9},{no:6,name:"gas_payment",kind:"message",T:()=>Vk},{no:7,name:"expiration",kind:"message",T:()=>qk}])}},Mr=new Lk,Pk=class extends R{constructor(){super("sui.rpc.v2.GasPayment",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Au},{no:2,name:"owner",kind:"scalar",opt:!0,T:9},{no:3,name:"price",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"budget",kind:"scalar",opt:!0,T:4,L:0}])}},Vk=new Pk,Fk=class extends R{constructor(){super("sui.rpc.v2.TransactionExpiration",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TransactionExpiration.TransactionExpirationKind",Ls]},{no:2,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"min_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"min_timestamp",kind:"message",T:()=>fn},{no:5,name:"max_timestamp",kind:"message",T:()=>fn},{no:6,name:"chain",kind:"scalar",opt:!0,T:9},{no:7,name:"nonce",kind:"scalar",opt:!0,T:13}])}},qk=new Fk,$k=class extends R{constructor(){super("sui.rpc.v2.TransactionKind",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TransactionKind.Kind",Dk]},{no:2,name:"programmable_transaction",kind:"message",oneof:"data",T:()=>zk},{no:3,name:"change_epoch",kind:"message",oneof:"data",T:()=>$g},{no:4,name:"genesis",kind:"message",oneof:"data",T:()=>h2},{no:5,name:"consensus_commit_prologue",kind:"message",oneof:"data",T:()=>g2},{no:6,name:"authenticator_state_update",kind:"message",oneof:"data",T:()=>E2},{no:7,name:"end_of_epoch",kind:"message",oneof:"data",T:()=>O2},{no:8,name:"randomness_state_update",kind:"message",oneof:"data",T:()=>u2}])}},Gk=new $k,Hk=class extends R{constructor(){super("sui.rpc.v2.ProgrammableTransaction",[{no:1,name:"inputs",kind:"message",repeat:1,T:()=>Pg},{no:2,name:"commands",kind:"message",repeat:1,T:()=>Zk}])}},zk=new Hk,Wk=class extends R{constructor(){super("sui.rpc.v2.Command",[{no:1,name:"move_call",kind:"message",oneof:"command",T:()=>qg},{no:2,name:"transfer_objects",kind:"message",oneof:"command",T:()=>Yk},{no:3,name:"split_coins",kind:"message",oneof:"command",T:()=>Qk},{no:4,name:"merge_coins",kind:"message",oneof:"command",T:()=>t2},{no:5,name:"publish",kind:"message",oneof:"command",T:()=>r2},{no:6,name:"make_move_vector",kind:"message",oneof:"command",T:()=>i2},{no:7,name:"upgrade",kind:"message",oneof:"command",T:()=>a2}])}},Zk=new Wk,Jk=class extends R{constructor(){super("sui.rpc.v2.MoveCall",[{no:1,name:"package",kind:"scalar",opt:!0,T:9},{no:2,name:"module",kind:"scalar",opt:!0,T:9},{no:3,name:"function",kind:"scalar",opt:!0,T:9},{no:4,name:"type_arguments",kind:"scalar",repeat:2,T:9},{no:5,name:"arguments",kind:"message",repeat:1,T:()=>Jn}])}},qg=new Jk,Kk=class extends R{constructor(){super("sui.rpc.v2.TransferObjects",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Jn},{no:2,name:"address",kind:"message",T:()=>Jn}])}},Yk=new Kk,Xk=class extends R{constructor(){super("sui.rpc.v2.SplitCoins",[{no:1,name:"coin",kind:"message",T:()=>Jn},{no:2,name:"amounts",kind:"message",repeat:1,T:()=>Jn}])}},Qk=new Xk,e2=class extends R{constructor(){super("sui.rpc.v2.MergeCoins",[{no:1,name:"coin",kind:"message",T:()=>Jn},{no:2,name:"coins_to_merge",kind:"message",repeat:1,T:()=>Jn}])}},t2=new e2,n2=class extends R{constructor(){super("sui.rpc.v2.Publish",[{no:1,name:"modules",kind:"scalar",repeat:2,T:12},{no:2,name:"dependencies",kind:"scalar",repeat:2,T:9}])}},r2=new n2,s2=class extends R{constructor(){super("sui.rpc.v2.MakeMoveVector",[{no:1,name:"element_type",kind:"scalar",opt:!0,T:9},{no:2,name:"elements",kind:"message",repeat:1,T:()=>Jn}])}},i2=new s2,o2=class extends R{constructor(){super("sui.rpc.v2.Upgrade",[{no:1,name:"modules",kind:"scalar",repeat:2,T:12},{no:2,name:"dependencies",kind:"scalar",repeat:2,T:9},{no:3,name:"package",kind:"scalar",opt:!0,T:9},{no:4,name:"ticket",kind:"message",T:()=>Jn}])}},a2=new o2,c2=class extends R{constructor(){super("sui.rpc.v2.RandomnessStateUpdate",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"randomness_round",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"random_bytes",kind:"scalar",opt:!0,T:12},{no:4,name:"randomness_object_initial_shared_version",kind:"scalar",opt:!0,T:4,L:0}])}},u2=new c2,l2=class extends R{constructor(){super("sui.rpc.v2.ChangeEpoch",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"storage_charge",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"computation_charge",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"storage_rebate",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"non_refundable_storage_fee",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"epoch_start_timestamp",kind:"message",T:()=>fn},{no:8,name:"system_packages",kind:"message",repeat:1,T:()=>f2}])}},$g=new l2,d2=class extends R{constructor(){super("sui.rpc.v2.SystemPackage",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"modules",kind:"scalar",repeat:2,T:12},{no:3,name:"dependencies",kind:"scalar",repeat:2,T:9}])}},f2=new d2,p2=class extends R{constructor(){super("sui.rpc.v2.GenesisTransaction",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Br}])}},h2=new p2,m2=class extends R{constructor(){super("sui.rpc.v2.ConsensusCommitPrologue",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"round",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"commit_timestamp",kind:"message",T:()=>fn},{no:4,name:"consensus_commit_digest",kind:"scalar",opt:!0,T:9},{no:5,name:"sub_dag_index",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"consensus_determined_version_assignments",kind:"message",T:()=>T2},{no:7,name:"additional_state_digest",kind:"scalar",opt:!0,T:9}])}},g2=new m2,y2=class extends R{constructor(){super("sui.rpc.v2.VersionAssignment",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"start_version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},b2=new y2,w2=class extends R{constructor(){super("sui.rpc.v2.CanceledTransaction",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"version_assignments",kind:"message",repeat:1,T:()=>b2}])}},_2=new w2,v2=class extends R{constructor(){super("sui.rpc.v2.ConsensusDeterminedVersionAssignments",[{no:1,name:"version",kind:"scalar",opt:!0,T:5},{no:3,name:"canceled_transactions",kind:"message",repeat:1,T:()=>_2}])}},T2=new v2,k2=class extends R{constructor(){super("sui.rpc.v2.AuthenticatorStateUpdate",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"round",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"new_active_jwks",kind:"message",repeat:1,T:()=>Hf},{no:4,name:"authenticator_object_initial_shared_version",kind:"scalar",opt:!0,T:4,L:0}])}},E2=new k2,x2=class extends R{constructor(){super("sui.rpc.v2.ActiveJwk",[{no:1,name:"id",kind:"message",T:()=>Ou},{no:2,name:"jwk",kind:"message",T:()=>Fg},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0}])}},Hf=new x2,S2=class extends R{constructor(){super("sui.rpc.v2.EndOfEpochTransaction",[{no:1,name:"transactions",kind:"message",repeat:1,T:()=>A2}])}},O2=new S2,I2=class extends R{constructor(){super("sui.rpc.v2.EndOfEpochTransactionKind",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.EndOfEpochTransactionKind.Kind",jk]},{no:2,name:"change_epoch",kind:"message",oneof:"data",T:()=>$g},{no:3,name:"authenticator_state_expire",kind:"message",oneof:"data",T:()=>N2},{no:4,name:"execution_time_observations",kind:"message",oneof:"data",T:()=>B2},{no:5,name:"bridge_chain_id",kind:"scalar",oneof:"data",T:9},{no:6,name:"bridge_object_version",kind:"scalar",oneof:"data",T:4,L:0},{no:7,name:"storage_cost",kind:"scalar",oneof:"data",T:4,L:0}])}},A2=new I2,C2=class extends R{constructor(){super("sui.rpc.v2.AuthenticatorStateExpire",[{no:1,name:"min_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"authenticator_object_initial_shared_version",kind:"scalar",opt:!0,T:4,L:0}])}},N2=new C2,R2=class extends R{constructor(){super("sui.rpc.v2.ExecutionTimeObservations",[{no:1,name:"version",kind:"scalar",opt:!0,T:5},{no:2,name:"observations",kind:"message",repeat:1,T:()=>D2}])}},B2=new R2,M2=class extends R{constructor(){super("sui.rpc.v2.ExecutionTimeObservation",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ExecutionTimeObservation.ExecutionTimeObservationKind",Uk]},{no:2,name:"move_entry_point",kind:"message",T:()=>qg},{no:3,name:"validator_observations",kind:"message",repeat:1,T:()=>U2}])}},D2=new M2,j2=class extends R{constructor(){super("sui.rpc.v2.ValidatorExecutionTimeObservation",[{no:1,name:"validator",kind:"scalar",opt:!0,T:12},{no:2,name:"duration",kind:"message",T:()=>Vg}])}},U2=new j2;function L2(t){switch(t.$kind){case"Pure":return{kind:Kn.PURE,pure:le(t.Pure.bytes)};case"Object":if(t.Object.$kind==="ImmOrOwnedObject")return{kind:Kn.IMMUTABLE_OR_OWNED,objectId:t.Object.ImmOrOwnedObject.objectId,version:BigInt(t.Object.ImmOrOwnedObject.version),digest:t.Object.ImmOrOwnedObject.digest};if(t.Object.$kind==="SharedObject")return{kind:Kn.SHARED,objectId:t.Object.SharedObject.objectId,version:BigInt(t.Object.SharedObject.initialSharedVersion),mutable:t.Object.SharedObject.mutable};if(t.Object.$kind==="Receiving")return{kind:Kn.RECEIVING,objectId:t.Object.Receiving.objectId,version:BigInt(t.Object.Receiving.version),digest:t.Object.Receiving.digest};throw new Error(`Unknown Object kind: ${JSON.stringify(t.Object)}`);case"UnresolvedObject":let e=t.UnresolvedObject;return{objectId:e.objectId,version:e.version?BigInt(e.version):e.initialSharedVersion?BigInt(e.initialSharedVersion):void 0,digest:e.digest??void 0,mutable:e.mutable??void 0};case"UnresolvedPure":throw new Error("UnresolvedPure arguments must be resolved before converting to gRPC format");case"FundsWithdrawal":{let n=t.FundsWithdrawal;return{kind:Kn.FUNDS_WITHDRAWAL,fundsWithdrawal:{amount:n.reservation.$kind==="MaxAmountU64"?BigInt(n.reservation.MaxAmountU64):void 0,coinType:n.typeArg.$kind==="Balance"?n.typeArg.Balance:void 0,source:n.withdrawFrom.$kind==="Sponsor"?La.SPONSOR:La.SENDER}}}default:throw new Error(`Unknown CallArg kind: ${JSON.stringify(t)}`)}}function fs(t){if("GasCoin"in t)return{kind:ds.GAS};if("Input"in t)return{kind:ds.INPUT,input:t.Input};if("Result"in t)return{kind:ds.RESULT,result:t.Result};if("NestedResult"in t)return{kind:ds.RESULT,result:t.NestedResult[0],subresult:t.NestedResult[1]};throw new Error(`Unknown Argument: ${JSON.stringify(t)}`)}function P2(t){switch(t.$kind){case"MoveCall":return{command:{oneofKind:"moveCall",moveCall:{package:t.MoveCall.package,module:t.MoveCall.module,function:t.MoveCall.function,typeArguments:t.MoveCall.typeArguments,arguments:t.MoveCall.arguments.map(fs)}}};case"TransferObjects":return{command:{oneofKind:"transferObjects",transferObjects:{objects:t.TransferObjects.objects.map(fs),address:fs(t.TransferObjects.address)}}};case"SplitCoins":return{command:{oneofKind:"splitCoins",splitCoins:{coin:fs(t.SplitCoins.coin),amounts:t.SplitCoins.amounts.map(fs)}}};case"MergeCoins":return{command:{oneofKind:"mergeCoins",mergeCoins:{coin:fs(t.MergeCoins.destination),coinsToMerge:t.MergeCoins.sources.map(fs)}}};case"Publish":return{command:{oneofKind:"publish",publish:{modules:t.Publish.modules.map(e=>le(e)),dependencies:t.Publish.dependencies}}};case"MakeMoveVec":return{command:{oneofKind:"makeMoveVector",makeMoveVector:{elementType:t.MakeMoveVec.type??void 0,elements:t.MakeMoveVec.elements.map(fs)}}};case"Upgrade":return{command:{oneofKind:"upgrade",upgrade:{modules:t.Upgrade.modules.map(e=>le(e)),dependencies:t.Upgrade.dependencies,package:t.Upgrade.package,ticket:fs(t.Upgrade.ticket)}}};default:throw new Error(`Unknown Command kind: ${JSON.stringify(t)}`)}}function Pa(t){let e={version:1,kind:{data:{oneofKind:"programmableTransaction",programmableTransaction:{inputs:t.inputs.map(L2),commands:t.commands.map(P2)}}}};t.sender&&(e.sender=t.sender);let n=t.gasData.owner??t.sender;if(e.gasPayment={objects:t.gasData.payment?t.gasData.payment.map(r=>({objectId:r.objectId,version:BigInt(r.version),digest:r.digest})):[],price:t.gasData.price?BigInt(t.gasData.price):void 0,budget:t.gasData.budget?BigInt(t.gasData.budget):void 0},n&&(e.gasPayment.owner=n),t.expiration){if("None"in t.expiration)e.expiration={kind:Ls.NONE};else if(t.expiration.$kind==="Epoch")e.expiration={kind:Ls.EPOCH,epoch:BigInt(t.expiration.Epoch)};else if(t.expiration.$kind==="ValidDuring"){let r=t.expiration.ValidDuring;e.expiration={kind:Ls.VALID_DURING,minEpoch:r.minEpoch!=null?BigInt(r.minEpoch):void 0,epoch:r.maxEpoch!=null?BigInt(r.maxEpoch):void 0,chain:r.chain,nonce:r.nonce}}}return e}function Gg(t,e,n){let r=Va(e);n?.onlyTransactionKind?t.applyResolvedData({...r,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):t.applyResolvedData(r)}function zf(t){let e=t.getData();return e.sender||(e.sender="0x0000000000000000000000000000000000000000000000000000000000000000"),Pa(e)}function Hg(t){let e=zf(t);return Mr.toJson(e)}function V2(t){switch(t.kind){case Kn.PURE:return{$kind:"Pure",Pure:{bytes:ve(t.pure)}};case Kn.IMMUTABLE_OR_OWNED:return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{objectId:t.objectId,version:t.version.toString(),digest:t.digest}}};case Kn.SHARED:return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{objectId:t.objectId,initialSharedVersion:t.version.toString(),mutable:t.mutable??!1}}};case Kn.RECEIVING:return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{objectId:t.objectId,version:t.version.toString(),digest:t.digest}}};case Kn.FUNDS_WITHDRAWAL:return{$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:{$kind:"MaxAmountU64",MaxAmountU64:t.fundsWithdrawal?.amount?.toString()??"0"},typeArg:{$kind:"Balance",Balance:t.fundsWithdrawal?.coinType??"0x2::sui::SUI"},withdrawFrom:t.fundsWithdrawal?.source===La.SPONSOR?{$kind:"Sponsor",Sponsor:!0}:{$kind:"Sender",Sender:!0}}};default:throw new Error(`Unknown Input kind: ${JSON.stringify(t)}`)}}function ps(t){switch(t.kind){case ds.GAS:return{$kind:"GasCoin",GasCoin:!0};case ds.INPUT:return{$kind:"Input",Input:t.input};case ds.RESULT:return t.subresult!=null?{$kind:"NestedResult",NestedResult:[t.result,t.subresult]}:{$kind:"Result",Result:t.result};default:throw new Error(`Unknown Argument kind: ${JSON.stringify(t)}`)}}function F2(t){let e=t.command;if(!e)throw new Error("Command is missing");switch(e.oneofKind){case"moveCall":return{$kind:"MoveCall",MoveCall:{package:e.moveCall.package,module:e.moveCall.module,function:e.moveCall.function,typeArguments:e.moveCall.typeArguments??[],arguments:e.moveCall.arguments.map(ps)}};case"transferObjects":return{$kind:"TransferObjects",TransferObjects:{objects:e.transferObjects.objects.map(ps),address:ps(e.transferObjects.address)}};case"splitCoins":return{$kind:"SplitCoins",SplitCoins:{coin:ps(e.splitCoins.coin),amounts:e.splitCoins.amounts.map(ps)}};case"mergeCoins":return{$kind:"MergeCoins",MergeCoins:{destination:ps(e.mergeCoins.coin),sources:e.mergeCoins.coinsToMerge.map(ps)}};case"publish":return{$kind:"Publish",Publish:{modules:e.publish.modules.map(n=>ve(n)),dependencies:e.publish.dependencies??[]}};case"makeMoveVector":return{$kind:"MakeMoveVec",MakeMoveVec:{type:e.makeMoveVector.elementType??null,elements:e.makeMoveVector.elements.map(ps)}};case"upgrade":return{$kind:"Upgrade",Upgrade:{modules:e.upgrade.modules.map(n=>ve(n)),dependencies:e.upgrade.dependencies??[],package:e.upgrade.package,ticket:ps(e.upgrade.ticket)}};default:throw new Error(`Unknown Command kind: ${JSON.stringify(e)}`)}}function Va(t){let e=t.kind?.data;if(e?.oneofKind!=="programmableTransaction")throw new Error("Only programmable transactions are supported");let n=e.programmableTransaction.inputs.map(V2),r=e.programmableTransaction.commands.map(F2),s=null;if(t.expiration)switch(t.expiration.kind){case Ls.NONE:s={$kind:"None",None:!0};break;case Ls.EPOCH:s={$kind:"Epoch",Epoch:t.expiration.epoch.toString()};break;case Ls.VALID_DURING:s={$kind:"ValidDuring",ValidDuring:{minEpoch:t.expiration.minEpoch?.toString()??null,maxEpoch:t.expiration.epoch?.toString()??null,minTimestamp:null,maxTimestamp:null,chain:t.expiration.chain??"",nonce:t.expiration.nonce??0}};break}return{version:2,sender:t.sender??null,expiration:s,gasData:{budget:t.gasPayment?.budget?.toString()??null,owner:t.gasPayment?.owner??null,payment:t.gasPayment?.objects?.map(i=>({objectId:i.objectId,version:i.version.toString(),digest:i.digest}))??null,price:t.gasPayment?.price?.toString()??null},inputs:n,commands:r}}var q2=function(t){return t[t.EXECUTION_ERROR_KIND_UNKNOWN=0]="EXECUTION_ERROR_KIND_UNKNOWN",t[t.INSUFFICIENT_GAS=1]="INSUFFICIENT_GAS",t[t.INVALID_GAS_OBJECT=2]="INVALID_GAS_OBJECT",t[t.INVARIANT_VIOLATION=3]="INVARIANT_VIOLATION",t[t.FEATURE_NOT_YET_SUPPORTED=4]="FEATURE_NOT_YET_SUPPORTED",t[t.OBJECT_TOO_BIG=5]="OBJECT_TOO_BIG",t[t.PACKAGE_TOO_BIG=6]="PACKAGE_TOO_BIG",t[t.CIRCULAR_OBJECT_OWNERSHIP=7]="CIRCULAR_OBJECT_OWNERSHIP",t[t.INSUFFICIENT_COIN_BALANCE=8]="INSUFFICIENT_COIN_BALANCE",t[t.COIN_BALANCE_OVERFLOW=9]="COIN_BALANCE_OVERFLOW",t[t.PUBLISH_ERROR_NON_ZERO_ADDRESS=10]="PUBLISH_ERROR_NON_ZERO_ADDRESS",t[t.SUI_MOVE_VERIFICATION_ERROR=11]="SUI_MOVE_VERIFICATION_ERROR",t[t.MOVE_PRIMITIVE_RUNTIME_ERROR=12]="MOVE_PRIMITIVE_RUNTIME_ERROR",t[t.MOVE_ABORT=13]="MOVE_ABORT",t[t.VM_VERIFICATION_OR_DESERIALIZATION_ERROR=14]="VM_VERIFICATION_OR_DESERIALIZATION_ERROR",t[t.VM_INVARIANT_VIOLATION=15]="VM_INVARIANT_VIOLATION",t[t.FUNCTION_NOT_FOUND=16]="FUNCTION_NOT_FOUND",t[t.ARITY_MISMATCH=17]="ARITY_MISMATCH",t[t.TYPE_ARITY_MISMATCH=18]="TYPE_ARITY_MISMATCH",t[t.NON_ENTRY_FUNCTION_INVOKED=19]="NON_ENTRY_FUNCTION_INVOKED",t[t.COMMAND_ARGUMENT_ERROR=20]="COMMAND_ARGUMENT_ERROR",t[t.TYPE_ARGUMENT_ERROR=21]="TYPE_ARGUMENT_ERROR",t[t.UNUSED_VALUE_WITHOUT_DROP=22]="UNUSED_VALUE_WITHOUT_DROP",t[t.INVALID_PUBLIC_FUNCTION_RETURN_TYPE=23]="INVALID_PUBLIC_FUNCTION_RETURN_TYPE",t[t.INVALID_TRANSFER_OBJECT=24]="INVALID_TRANSFER_OBJECT",t[t.EFFECTS_TOO_LARGE=25]="EFFECTS_TOO_LARGE",t[t.PUBLISH_UPGRADE_MISSING_DEPENDENCY=26]="PUBLISH_UPGRADE_MISSING_DEPENDENCY",t[t.PUBLISH_UPGRADE_DEPENDENCY_DOWNGRADE=27]="PUBLISH_UPGRADE_DEPENDENCY_DOWNGRADE",t[t.PACKAGE_UPGRADE_ERROR=28]="PACKAGE_UPGRADE_ERROR",t[t.WRITTEN_OBJECTS_TOO_LARGE=29]="WRITTEN_OBJECTS_TOO_LARGE",t[t.CERTIFICATE_DENIED=30]="CERTIFICATE_DENIED",t[t.SUI_MOVE_VERIFICATION_TIMEDOUT=31]="SUI_MOVE_VERIFICATION_TIMEDOUT",t[t.CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED=32]="CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED",t[t.INPUT_OBJECT_DELETED=33]="INPUT_OBJECT_DELETED",t[t.EXECUTION_CANCELED_DUE_TO_CONSENSUS_OBJECT_CONGESTION=34]="EXECUTION_CANCELED_DUE_TO_CONSENSUS_OBJECT_CONGESTION",t[t.ADDRESS_DENIED_FOR_COIN=35]="ADDRESS_DENIED_FOR_COIN",t[t.COIN_TYPE_GLOBAL_PAUSE=36]="COIN_TYPE_GLOBAL_PAUSE",t[t.EXECUTION_CANCELED_DUE_TO_RANDOMNESS_UNAVAILABLE=37]="EXECUTION_CANCELED_DUE_TO_RANDOMNESS_UNAVAILABLE",t[t.MOVE_VECTOR_ELEM_TOO_BIG=38]="MOVE_VECTOR_ELEM_TOO_BIG",t[t.MOVE_RAW_VALUE_TOO_BIG=39]="MOVE_RAW_VALUE_TOO_BIG",t[t.INVALID_LINKAGE=40]="INVALID_LINKAGE",t[t.INSUFFICIENT_FUNDS_FOR_WITHDRAW=41]="INSUFFICIENT_FUNDS_FOR_WITHDRAW",t[t.NON_EXCLUSIVE_WRITE_INPUT_OBJECT_MODIFIED=42]="NON_EXCLUSIVE_WRITE_INPUT_OBJECT_MODIFIED",t}({}),Wf=function(t){return t[t.COMMAND_ARGUMENT_ERROR_KIND_UNKNOWN=0]="COMMAND_ARGUMENT_ERROR_KIND_UNKNOWN",t[t.TYPE_MISMATCH=1]="TYPE_MISMATCH",t[t.INVALID_BCS_BYTES=2]="INVALID_BCS_BYTES",t[t.INVALID_USAGE_OF_PURE_ARGUMENT=3]="INVALID_USAGE_OF_PURE_ARGUMENT",t[t.INVALID_ARGUMENT_TO_PRIVATE_ENTRY_FUNCTION=4]="INVALID_ARGUMENT_TO_PRIVATE_ENTRY_FUNCTION",t[t.INDEX_OUT_OF_BOUNDS=5]="INDEX_OUT_OF_BOUNDS",t[t.SECONDARY_INDEX_OUT_OF_BOUNDS=6]="SECONDARY_INDEX_OUT_OF_BOUNDS",t[t.INVALID_RESULT_ARITY=7]="INVALID_RESULT_ARITY",t[t.INVALID_GAS_COIN_USAGE=8]="INVALID_GAS_COIN_USAGE",t[t.INVALID_VALUE_USAGE=9]="INVALID_VALUE_USAGE",t[t.INVALID_OBJECT_BY_VALUE=10]="INVALID_OBJECT_BY_VALUE",t[t.INVALID_OBJECT_BY_MUT_REF=11]="INVALID_OBJECT_BY_MUT_REF",t[t.CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED=12]="CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED",t[t.INVALID_ARGUMENT_ARITY=13]="INVALID_ARGUMENT_ARITY",t[t.INVALID_TRANSFER_OBJECT=14]="INVALID_TRANSFER_OBJECT",t[t.INVALID_MAKE_MOVE_VEC_NON_OBJECT_ARGUMENT=15]="INVALID_MAKE_MOVE_VEC_NON_OBJECT_ARGUMENT",t[t.ARGUMENT_WITHOUT_VALUE=16]="ARGUMENT_WITHOUT_VALUE",t[t.CANNOT_MOVE_BORROWED_VALUE=17]="CANNOT_MOVE_BORROWED_VALUE",t[t.CANNOT_WRITE_TO_EXTENDED_REFERENCE=18]="CANNOT_WRITE_TO_EXTENDED_REFERENCE",t[t.INVALID_REFERENCE_ARGUMENT=19]="INVALID_REFERENCE_ARGUMENT",t}({}),$2=function(t){return t[t.PACKAGE_UPGRADE_ERROR_KIND_UNKNOWN=0]="PACKAGE_UPGRADE_ERROR_KIND_UNKNOWN",t[t.UNABLE_TO_FETCH_PACKAGE=1]="UNABLE_TO_FETCH_PACKAGE",t[t.NOT_A_PACKAGE=2]="NOT_A_PACKAGE",t[t.INCOMPATIBLE_UPGRADE=3]="INCOMPATIBLE_UPGRADE",t[t.DIGEST_DOES_NOT_MATCH=4]="DIGEST_DOES_NOT_MATCH",t[t.UNKNOWN_UPGRADE_POLICY=5]="UNKNOWN_UPGRADE_POLICY",t[t.PACKAGE_ID_DOES_NOT_MATCH=6]="PACKAGE_ID_DOES_NOT_MATCH",t}({}),G2=function(t){return t[t.TYPE_ARGUMENT_ERROR_KIND_UNKNOWN=0]="TYPE_ARGUMENT_ERROR_KIND_UNKNOWN",t[t.TYPE_NOT_FOUND=1]="TYPE_NOT_FOUND",t[t.CONSTRAINT_NOT_SATISFIED=2]="CONSTRAINT_NOT_SATISFIED",t}({}),H2=class extends R{constructor(){super("sui.rpc.v2.ExecutionStatus",[{no:1,name:"success",kind:"scalar",opt:!0,T:8},{no:2,name:"error",kind:"message",T:()=>W2}])}},zg=new H2,z2=class extends R{constructor(){super("sui.rpc.v2.ExecutionError",[{no:1,name:"description",kind:"scalar",opt:!0,T:9},{no:2,name:"command",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ExecutionError.ExecutionErrorKind",q2]},{no:4,name:"abort",kind:"message",oneof:"errorDetails",T:()=>J2},{no:5,name:"size_error",kind:"message",oneof:"errorDetails",T:()=>tE},{no:6,name:"command_argument_error",kind:"message",oneof:"errorDetails",T:()=>cE},{no:7,name:"type_argument_error",kind:"message",oneof:"errorDetails",T:()=>fE},{no:8,name:"package_upgrade_error",kind:"message",oneof:"errorDetails",T:()=>lE},{no:9,name:"index_error",kind:"message",oneof:"errorDetails",T:()=>Wg},{no:10,name:"object_id",kind:"scalar",oneof:"errorDetails",T:9},{no:11,name:"coin_deny_list_error",kind:"message",oneof:"errorDetails",T:()=>sE},{no:12,name:"congested_objects",kind:"message",oneof:"errorDetails",T:()=>oE}])}},W2=new z2,Z2=class extends R{constructor(){super("sui.rpc.v2.MoveAbort",[{no:1,name:"abort_code",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"location",kind:"message",T:()=>Y2},{no:3,name:"clever_error",kind:"message",T:()=>Q2}])}},J2=new Z2,K2=class extends R{constructor(){super("sui.rpc.v2.MoveLocation",[{no:1,name:"package",kind:"scalar",opt:!0,T:9},{no:2,name:"module",kind:"scalar",opt:!0,T:9},{no:3,name:"function",kind:"scalar",opt:!0,T:13},{no:4,name:"instruction",kind:"scalar",opt:!0,T:13},{no:5,name:"function_name",kind:"scalar",opt:!0,T:9}])}},Y2=new K2,X2=class extends R{constructor(){super("sui.rpc.v2.CleverError",[{no:1,name:"error_code",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"line_number",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"constant_name",kind:"scalar",opt:!0,T:9},{no:4,name:"constant_type",kind:"scalar",opt:!0,T:9},{no:5,name:"rendered",kind:"scalar",oneof:"value",T:9},{no:6,name:"raw",kind:"scalar",oneof:"value",T:12}])}},Q2=new X2,eE=class extends R{constructor(){super("sui.rpc.v2.SizeError",[{no:1,name:"size",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"max_size",kind:"scalar",opt:!0,T:4,L:0}])}},tE=new eE,nE=class extends R{constructor(){super("sui.rpc.v2.IndexError",[{no:1,name:"index",kind:"scalar",opt:!0,T:13},{no:2,name:"subresult",kind:"scalar",opt:!0,T:13}])}},Wg=new nE,rE=class extends R{constructor(){super("sui.rpc.v2.CoinDenyListError",[{no:1,name:"address",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9}])}},sE=new rE,iE=class extends R{constructor(){super("sui.rpc.v2.CongestedObjects",[{no:1,name:"objects",kind:"scalar",repeat:2,T:9}])}},oE=new iE,aE=class extends R{constructor(){super("sui.rpc.v2.CommandArgumentError",[{no:1,name:"argument",kind:"scalar",opt:!0,T:13},{no:2,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CommandArgumentError.CommandArgumentErrorKind",Wf]},{no:3,name:"index_error",kind:"message",T:()=>Wg}])}},cE=new aE,uE=class extends R{constructor(){super("sui.rpc.v2.PackageUpgradeError",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.PackageUpgradeError.PackageUpgradeErrorKind",$2]},{no:2,name:"package_id",kind:"scalar",opt:!0,T:9},{no:3,name:"digest",kind:"scalar",opt:!0,T:9},{no:4,name:"policy",kind:"scalar",opt:!0,T:13},{no:5,name:"ticket_id",kind:"scalar",opt:!0,T:9}])}},lE=new uE,dE=class extends R{constructor(){super("sui.rpc.v2.TypeArgumentError",[{no:1,name:"type_argument",kind:"scalar",opt:!0,T:13},{no:2,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TypeArgumentError.TypeArgumentErrorKind",G2]}])}},fE=new dE;var pE=class extends R{constructor(){super("sui.rpc.v2.GasCostSummary",[{no:1,name:"computation_cost",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"storage_cost",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"storage_rebate",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"non_refundable_storage_fee",kind:"scalar",opt:!0,T:4,L:0}])}},Cu=new pE;var Fa=function(t){return t[t.UNKNOWN=0]="UNKNOWN",t[t.DOES_NOT_EXIST=1]="DOES_NOT_EXIST",t[t.EXISTS=2]="EXISTS",t}({}),Ri=function(t){return t[t.UNKNOWN=0]="UNKNOWN",t[t.DOES_NOT_EXIST=1]="DOES_NOT_EXIST",t[t.OBJECT_WRITE=2]="OBJECT_WRITE",t[t.PACKAGE_WRITE=3]="PACKAGE_WRITE",t[t.ACCUMULATOR_WRITE=4]="ACCUMULATOR_WRITE",t}({}),Co=function(t){return t[t.ID_OPERATION_UNKNOWN=0]="ID_OPERATION_UNKNOWN",t[t.NONE=1]="NONE",t[t.CREATED=2]="CREATED",t[t.DELETED=3]="DELETED",t}({}),hE=function(t){return t[t.ACCUMULATOR_OPERATION_UNKNOWN=0]="ACCUMULATOR_OPERATION_UNKNOWN",t[t.MERGE=1]="MERGE",t[t.SPLIT=2]="SPLIT",t}({}),Ps=function(t){return t[t.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN=0]="UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN",t[t.READ_ONLY_ROOT=1]="READ_ONLY_ROOT",t[t.MUTATE_CONSENSUS_STREAM_ENDED=2]="MUTATE_CONSENSUS_STREAM_ENDED",t[t.READ_CONSENSUS_STREAM_ENDED=3]="READ_CONSENSUS_STREAM_ENDED",t[t.CANCELED=4]="CANCELED",t[t.PER_EPOCH_CONFIG=5]="PER_EPOCH_CONFIG",t}({}),mE=class extends R{constructor(){super("sui.rpc.v2.TransactionEffects",[{no:1,name:"bcs",kind:"message",T:()=>et},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:5},{no:4,name:"status",kind:"message",T:()=>zg},{no:5,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"gas_used",kind:"message",T:()=>Cu},{no:7,name:"transaction_digest",kind:"scalar",opt:!0,T:9},{no:8,name:"gas_object",kind:"message",T:()=>Zg},{no:9,name:"events_digest",kind:"scalar",opt:!0,T:9},{no:10,name:"dependencies",kind:"scalar",repeat:2,T:9},{no:11,name:"lamport_version",kind:"scalar",opt:!0,T:4,L:0},{no:12,name:"changed_objects",kind:"message",repeat:1,T:()=>Zg},{no:13,name:"unchanged_consensus_objects",kind:"message",repeat:1,T:()=>_E},{no:14,name:"auxiliary_data_digest",kind:"scalar",opt:!0,T:9},{no:15,name:"unchanged_loaded_runtime_objects",kind:"message",repeat:1,T:()=>Au}])}},Nu=new mE,gE=class extends R{constructor(){super("sui.rpc.v2.ChangedObject",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"input_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.InputObjectState",Fa,"INPUT_OBJECT_STATE_"]},{no:3,name:"input_version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"input_digest",kind:"scalar",opt:!0,T:9},{no:5,name:"input_owner",kind:"message",T:()=>Ua},{no:6,name:"output_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.OutputObjectState",Ri,"OUTPUT_OBJECT_STATE_"]},{no:7,name:"output_version",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"output_digest",kind:"scalar",opt:!0,T:9},{no:9,name:"output_owner",kind:"message",T:()=>Ua},{no:12,name:"accumulator_write",kind:"message",T:()=>bE},{no:10,name:"id_operation",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.IdOperation",Co]},{no:11,name:"object_type",kind:"scalar",opt:!0,T:9}])}},Zg=new gE,yE=class extends R{constructor(){super("sui.rpc.v2.AccumulatorWrite",[{no:1,name:"address",kind:"scalar",opt:!0,T:9},{no:2,name:"accumulator_type",kind:"scalar",opt:!0,T:9},{no:3,name:"operation",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.AccumulatorWrite.AccumulatorOperation",hE]},{no:5,name:"value",kind:"scalar",opt:!0,T:4,L:0}])}},bE=new yE,wE=class extends R{constructor(){super("sui.rpc.v2.UnchangedConsensusObject",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.UnchangedConsensusObject.UnchangedConsensusObjectKind",Ps]},{no:2,name:"object_id",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"digest",kind:"scalar",opt:!0,T:9},{no:5,name:"object_type",kind:"scalar",opt:!0,T:9}])}},_E=new wE;var qa=function(t){return t[t.ED25519=0]="ED25519",t[t.SECP256K1=1]="SECP256K1",t[t.SECP256R1=2]="SECP256R1",t[t.MULTISIG=3]="MULTISIG",t[t.BLS12381=4]="BLS12381",t[t.ZKLOGIN=5]="ZKLOGIN",t[t.PASSKEY=6]="PASSKEY",t}({});var vE=class extends R{constructor(){super("sui.rpc.v2.UserSignature",[{no:1,name:"bcs",kind:"message",T:()=>et},{no:2,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",qa]},{no:3,name:"simple",kind:"message",oneof:"signature",T:()=>Zf},{no:4,name:"multisig",kind:"message",oneof:"signature",T:()=>NE},{no:5,name:"zklogin",kind:"message",oneof:"signature",T:()=>Yg},{no:6,name:"passkey",kind:"message",oneof:"signature",T:()=>Xg}])}},Vs=new vE,TE=class extends R{constructor(){super("sui.rpc.v2.SimpleSignature",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",qa]},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"public_key",kind:"scalar",opt:!0,T:12}])}},Zf=new TE,kE=class extends R{constructor(){super("sui.rpc.v2.ZkLoginPublicIdentifier",[{no:1,name:"iss",kind:"scalar",opt:!0,T:9},{no:2,name:"address_seed",kind:"scalar",opt:!0,T:9}])}},Kg=new kE,EE=class extends R{constructor(){super("sui.rpc.v2.MultisigMemberPublicKey",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",qa]},{no:2,name:"public_key",kind:"scalar",opt:!0,T:12},{no:3,name:"zklogin",kind:"message",T:()=>Kg}])}},xE=new EE,SE=class extends R{constructor(){super("sui.rpc.v2.MultisigMember",[{no:1,name:"public_key",kind:"message",T:()=>xE},{no:2,name:"weight",kind:"scalar",opt:!0,T:13}])}},OE=new SE,IE=class extends R{constructor(){super("sui.rpc.v2.MultisigCommittee",[{no:1,name:"members",kind:"message",repeat:1,T:()=>OE},{no:2,name:"threshold",kind:"scalar",opt:!0,T:13}])}},AE=new IE,CE=class extends R{constructor(){super("sui.rpc.v2.MultisigAggregatedSignature",[{no:1,name:"signatures",kind:"message",repeat:1,T:()=>BE},{no:2,name:"bitmap",kind:"scalar",opt:!0,T:13},{no:3,name:"legacy_bitmap",kind:"scalar",opt:!0,T:12},{no:4,name:"committee",kind:"message",T:()=>AE}])}},NE=new CE,RE=class extends R{constructor(){super("sui.rpc.v2.MultisigMemberSignature",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",qa]},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"zklogin",kind:"message",T:()=>Yg},{no:4,name:"passkey",kind:"message",T:()=>Xg}])}},BE=new RE,ME=class extends R{constructor(){super("sui.rpc.v2.ZkLoginAuthenticator",[{no:1,name:"inputs",kind:"message",T:()=>jE},{no:2,name:"max_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"signature",kind:"message",T:()=>Zf},{no:4,name:"public_identifier",kind:"message",T:()=>Kg},{no:5,name:"jwk_id",kind:"message",T:()=>Ou}])}},Yg=new ME,DE=class extends R{constructor(){super("sui.rpc.v2.ZkLoginInputs",[{no:1,name:"proof_points",kind:"message",T:()=>LE},{no:2,name:"iss_base64_details",kind:"message",T:()=>VE},{no:3,name:"header_base64",kind:"scalar",opt:!0,T:9},{no:4,name:"address_seed",kind:"scalar",opt:!0,T:9}])}},jE=new DE,UE=class extends R{constructor(){super("sui.rpc.v2.ZkLoginProof",[{no:1,name:"a",kind:"message",T:()=>Jg},{no:2,name:"b",kind:"message",T:()=>$E},{no:3,name:"c",kind:"message",T:()=>Jg}])}},LE=new UE,PE=class extends R{constructor(){super("sui.rpc.v2.ZkLoginClaim",[{no:1,name:"value",kind:"scalar",opt:!0,T:9},{no:2,name:"index_mod_4",kind:"scalar",opt:!0,T:13}])}},VE=new PE,FE=class extends R{constructor(){super("sui.rpc.v2.CircomG1",[{no:1,name:"e0",kind:"scalar",opt:!0,T:9},{no:2,name:"e1",kind:"scalar",opt:!0,T:9},{no:3,name:"e2",kind:"scalar",opt:!0,T:9}])}},Jg=new FE,qE=class extends R{constructor(){super("sui.rpc.v2.CircomG2",[{no:1,name:"e00",kind:"scalar",opt:!0,T:9},{no:2,name:"e01",kind:"scalar",opt:!0,T:9},{no:3,name:"e10",kind:"scalar",opt:!0,T:9},{no:4,name:"e11",kind:"scalar",opt:!0,T:9},{no:5,name:"e20",kind:"scalar",opt:!0,T:9},{no:6,name:"e21",kind:"scalar",opt:!0,T:9}])}},$E=new qE,GE=class extends R{constructor(){super("sui.rpc.v2.PasskeyAuthenticator",[{no:1,name:"authenticator_data",kind:"scalar",opt:!0,T:12},{no:2,name:"client_data_json",kind:"scalar",opt:!0,T:9},{no:3,name:"signature",kind:"message",T:()=>Zf}])}},Xg=new GE,HE=class extends R{constructor(){super("sui.rpc.v2.ValidatorCommittee",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"members",kind:"message",repeat:1,T:()=>Jf}])}},Qg=new HE,zE=class extends R{constructor(){super("sui.rpc.v2.ValidatorCommitteeMember",[{no:1,name:"public_key",kind:"scalar",opt:!0,T:12},{no:2,name:"weight",kind:"scalar",opt:!0,T:4,L:0}])}},Jf=new zE,WE=class extends R{constructor(){super("sui.rpc.v2.ValidatorAggregatedSignature",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"bitmap",kind:"scalar",opt:!0,T:12}])}},ey=new WE;var ZE=class extends R{constructor(){super("sui.rpc.v2.BalanceChange",[{no:1,name:"address",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:3,name:"amount",kind:"scalar",opt:!0,T:9}])}},Ru=new ZE;var JE=class extends R{constructor(){super("sui.rpc.v2.TransactionEvents",[{no:1,name:"bcs",kind:"message",T:()=>et},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"events",kind:"message",repeat:1,T:()=>YE}])}},ty=new JE,KE=class extends R{constructor(){super("sui.rpc.v2.Event",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"module",kind:"scalar",opt:!0,T:9},{no:3,name:"sender",kind:"scalar",opt:!0,T:9},{no:4,name:"event_type",kind:"scalar",opt:!0,T:9},{no:5,name:"contents",kind:"message",T:()=>et},{no:6,name:"json",kind:"message",T:()=>tt}])}},YE=new KE;var XE=class extends R{constructor(){super("sui.rpc.v2.ExecutedTransaction",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"transaction",kind:"message",T:()=>Mr},{no:3,name:"signatures",kind:"message",repeat:1,T:()=>Vs},{no:4,name:"effects",kind:"message",T:()=>Nu},{no:5,name:"events",kind:"message",T:()=>ty},{no:6,name:"checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"timestamp",kind:"message",T:()=>fn},{no:8,name:"balance_changes",kind:"message",repeat:1,T:()=>Ru},{no:9,name:"objects",kind:"message",T:()=>Iu}])}},Fs=new XE;var QE=class extends R{constructor(){super("google.protobuf.FieldMask",[{no:1,name:"paths",kind:"scalar",repeat:2,T:9}])}internalJsonWrite(t,e){let n=/[A-Z]|(_([.0-9_]|$))/g;return t.paths.map(r=>{if(n.test(r))throw new Error('Unable to encode FieldMask to JSON. lowerCamelCase of path name "'+r+'" is irreversible.');return Us(r)}).join(",")}internalJsonRead(t,e,n){if(typeof t!="string")throw new Error("Unable to parse FieldMask from JSON "+rn(t)+". Expected string.");if(n||(n=this.create()),t==="")return n;let r=s=>{if(s.includes("_"))throw new Error("Unable to parse FieldMask from JSON. Path names must be lowerCamelCase.");return s.replace(/[A-Z]/g,i=>"_"+i.toLowerCase())};return n.paths=t.split(",").map(r),n}},Tn=new QE;function ny(t,e){var n,r,s;let i=t;return i.service=e,i.localName=(n=i.localName)!==null&&n!==void 0?n:Us(i.name),i.serverStreaming=!!i.serverStreaming,i.clientStreaming=!!i.clientStreaming,i.options=(r=i.options)!==null&&r!==void 0?r:{},i.idempotency=(s=i.idempotency)!==null&&s!==void 0?s:void 0,i}var sn=class{constructor(e,n,r){this.typeName=e,this.methods=n.map(s=>ny(s,this)),this.options=r??{}}};var Ue=class extends Error{constructor(e,n="UNKNOWN",r){super(e),this.name="RpcError",Object.setPrototypeOf(this,new.target.prototype),this.code=n,this.meta=r??{}}toString(){let e=[this.name+": "+this.message];this.code&&(e.push(""),e.push("Code: "+this.code)),this.serviceName&&this.methodName&&e.push("Method: "+this.serviceName+"/"+this.methodName);let n=Object.entries(this.meta);if(n.length){e.push(""),e.push("Meta:");for(let[r,s]of n)e.push(` ${r}: ${s}`)}return e.join(`
9
+ `)}};function Kf(t,e){if(!e)return t;let n={};Bu(t,n),Bu(e,n);for(let r of Object.keys(e)){let s=e[r];switch(r){case"jsonOptions":n.jsonOptions=Ff(t.jsonOptions,n.jsonOptions);break;case"binaryOptions":n.binaryOptions=Mf(t.binaryOptions,n.binaryOptions);break;case"meta":n.meta={},Bu(t.meta,n.meta),Bu(e.meta,n.meta);break;case"interceptors":n.interceptors=t.interceptors?t.interceptors.concat(s):s.concat();break}}return n}function Bu(t,e){if(!t)return;let n=e;for(let[r,s]of Object.entries(t))s instanceof Date?n[r]=new Date(s.getTime()):Array.isArray(s)?n[r]=s.concat():n[r]=s}var Rn;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(Rn||(Rn={}));var Fn=class{constructor(e=!0){this._state=Rn.PENDING,this._promise=new Promise((n,r)=>{this._resolve=n,this._reject=r}),e&&this._promise.catch(n=>{})}get state(){return this._state}get promise(){return this._promise}resolve(e){if(this.state!==Rn.PENDING)throw new Error(`cannot resolve ${Rn[this.state].toLowerCase()}`);this._resolve(e),this._state=Rn.RESOLVED}reject(e){if(this.state!==Rn.PENDING)throw new Error(`cannot reject ${Rn[this.state].toLowerCase()}`);this._reject(e),this._state=Rn.REJECTED}resolvePending(e){this._state===Rn.PENDING&&this.resolve(e)}rejectPending(e){this._state===Rn.PENDING&&this.reject(e)}};var $a=class{constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(e){return this.addLis(e,this._lis.nxt)}onMessage(e){return this.addLis(e,this._lis.msg)}onError(e){return this.addLis(e,this._lis.err)}onComplete(e){return this.addLis(e,this._lis.cmp)}addLis(e,n){return n.push(e),()=>{let r=n.indexOf(e);r>=0&&n.splice(r,1)}}clearLis(){for(let e of Object.values(this._lis))e.splice(0,e.length)}get closed(){return this._closed!==!1}notifyNext(e,n,r){Ee((e?1:0)+(n?1:0)+(r?1:0)<=1,"only one emission at a time"),e&&this.notifyMessage(e),n&&this.notifyError(n),r&&this.notifyComplete()}notifyMessage(e){Ee(!this.closed,"stream is closed"),this.pushIt({value:e,done:!1}),this._lis.msg.forEach(n=>n(e)),this._lis.nxt.forEach(n=>n(e,void 0,!1))}notifyError(e){Ee(!this.closed,"stream is closed"),this._closed=e,this.pushIt(e),this._lis.err.forEach(n=>n(e)),this._lis.nxt.forEach(n=>n(void 0,e,!1)),this.clearLis()}notifyComplete(){Ee(!this.closed,"stream is closed"),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(e=>e()),this._lis.nxt.forEach(e=>e(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:()=>{let e=this._itState;Ee(e,"bad state"),Ee(!e.p,"iterator contract broken");let n=e.q.shift();return n?"value"in n?Promise.resolve(n):Promise.reject(n):(e.p=new Fn,e.p.promise)}}}pushIt(e){let n=this._itState;if(n.p){let r=n.p;Ee(r.state==Rn.PENDING,"iterator contract broken"),"value"in e?r.resolve(e):r.reject(e),delete n.p}else n.q.push(e)}};var ex=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function a(d){try{u(r.next(d))}catch(f){o(f)}}function c(d){try{u(r.throw(d))}catch(f){o(f)}}function u(d){d.done?i(d.value):s(d.value).then(a,c)}u((r=r.apply(t,e||[])).next())})},Ga=class{constructor(e,n,r,s,i,o,a){this.method=e,this.requestHeaders=n,this.request=r,this.headers=s,this.response=i,this.status=o,this.trailers=a}then(e,n){return this.promiseFinished().then(r=>e?Promise.resolve(e(r)):r,r=>n?Promise.resolve(n(r)):Promise.reject(r))}promiseFinished(){return ex(this,void 0,void 0,function*(){let[e,n,r,s]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,response:n,status:r,trailers:s}})}};var tx=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function a(d){try{u(r.next(d))}catch(f){o(f)}}function c(d){try{u(r.throw(d))}catch(f){o(f)}}function u(d){d.done?i(d.value):s(d.value).then(a,c)}u((r=r.apply(t,e||[])).next())})},Ha=class{constructor(e,n,r,s,i,o,a){this.method=e,this.requestHeaders=n,this.request=r,this.headers=s,this.responses=i,this.status=o,this.trailers=a}then(e,n){return this.promiseFinished().then(r=>e?Promise.resolve(e(r)):r,r=>n?Promise.resolve(n(r)):Promise.reject(r))}promiseFinished(){return tx(this,void 0,void 0,function*(){let[e,n,r]=yield Promise.all([this.headers,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,status:n,trailers:r}})}};function Ve(t,e,n,r,s){var i,o,a,c;if(t=="unary"){let u=(d,f,p)=>e.unary(d,f,p);for(let d of((i=r.interceptors)!==null&&i!==void 0?i:[]).filter(f=>f.interceptUnary).reverse()){let f=u;u=(p,m,b)=>d.interceptUnary(f,p,m,b)}return u(n,s,r)}if(t=="serverStreaming"){let u=(d,f,p)=>e.serverStreaming(d,f,p);for(let d of((o=r.interceptors)!==null&&o!==void 0?o:[]).filter(f=>f.interceptServerStreaming).reverse()){let f=u;u=(p,m,b)=>d.interceptServerStreaming(f,p,m,b)}return u(n,s,r)}if(t=="clientStreaming"){let u=(d,f)=>e.clientStreaming(d,f);for(let d of((a=r.interceptors)!==null&&a!==void 0?a:[]).filter(f=>f.interceptClientStreaming).reverse()){let f=u;u=(p,m)=>d.interceptClientStreaming(f,p,m)}return u(n,r)}if(t=="duplex"){let u=(d,f)=>e.duplex(d,f);for(let d of((c=r.interceptors)!==null&&c!==void 0?c:[]).filter(f=>f.interceptDuplex).reverse()){let f=u;u=(p,m)=>d.interceptDuplex(f,p,m)}return u(n,r)}Lf(t)}var Mu=function(t){return t[t.ENABLED=0]="ENABLED",t[t.DISABLED=1]="DISABLED",t}({}),nx=class extends R{constructor(){super("sui.rpc.v2.ExecuteTransactionRequest",[{no:1,name:"transaction",kind:"message",T:()=>Mr},{no:2,name:"signatures",kind:"message",repeat:1,T:()=>Vs},{no:3,name:"read_mask",kind:"message",T:()=>Tn}])}},rx=new nx,sx=class extends R{constructor(){super("sui.rpc.v2.ExecuteTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>Fs}])}},ix=new sx,ox=class extends R{constructor(){super("sui.rpc.v2.SimulateTransactionRequest",[{no:1,name:"transaction",kind:"message",T:()=>Mr},{no:2,name:"read_mask",kind:"message",T:()=>Tn},{no:3,name:"checks",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SimulateTransactionRequest.TransactionChecks",Mu]},{no:4,name:"do_gas_selection",kind:"scalar",opt:!0,T:8}])}},ax=new ox,cx=class extends R{constructor(){super("sui.rpc.v2.SimulateTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>Fs},{no:2,name:"command_outputs",kind:"message",repeat:1,T:()=>dx},{no:3,name:"suggested_gas_price",kind:"scalar",opt:!0,T:4,L:0}])}},ux=new cx,lx=class extends R{constructor(){super("sui.rpc.v2.CommandResult",[{no:1,name:"return_values",kind:"message",repeat:1,T:()=>ry},{no:2,name:"mutated_by_ref",kind:"message",repeat:1,T:()=>ry}])}},dx=new lx,fx=class extends R{constructor(){super("sui.rpc.v2.CommandOutput",[{no:1,name:"argument",kind:"message",T:()=>Jn},{no:2,name:"value",kind:"message",T:()=>et},{no:3,name:"json",kind:"message",T:()=>tt}])}},ry=new fx,Du=new sn("sui.rpc.v2.TransactionExecutionService",[{name:"ExecuteTransaction",options:{},I:rx,O:ix},{name:"SimulateTransaction",options:{},I:ax,O:ux}]);var uy=class extends au{#t;constructor({client:t,...e}){super(e),this.#t=t}async getObjects(t){let e=xr(t.objectIds,50),n=[],r=["owner","object_type","digest","version","object_id"];t.include?.content&&r.push("contents"),t.include?.previousTransaction&&r.push("previous_transaction"),t.include?.objectBcs&&r.push("bcs"),t.include?.json&&r.push("json"),t.include?.display&&r.push("display");for(let s of e){let i=await this.#t.ledgerService.batchGetObjects({requests:s.map(o=>({objectId:o})),readMask:{paths:r}});n.push(...i.response.objects.map(o=>{if(o.result.oneofKind==="error")return new Error(o.result.error.message);if(o.result.oneofKind!=="object")return new Error("Unexpected result type");let a=o.result.object.contents?.value??void 0,c=o.result.object.bcs?.value??void 0,u=o.result.object.objectType,d=u&&u.includes("::")?Be(u):u??"",f=t.include?.json?o.result.object.json?tt.toJson(o.result.object.json):null:void 0,p=sy(t.include?.display,o.result.object.display);return{objectId:o.result.object.objectId,version:o.result.object.version?.toString(),digest:o.result.object.digest,content:a,owner:Mi(o.result.object.owner),type:d,previousTransaction:o.result.object.previousTransaction??void 0,objectBcs:c,json:f,display:p}}))}return{objects:n}}async listOwnedObjects(t){let e=["owner","object_type","digest","version","object_id"];t.include?.content&&e.push("contents"),t.include?.previousTransaction&&e.push("previous_transaction"),t.include?.objectBcs&&e.push("bcs"),t.include?.json&&e.push("json"),t.include?.display&&e.push("display");let n=await this.#t.stateService.listOwnedObjects({owner:t.owner,objectType:t.type?(await this.mvr.resolveType({type:t.type})).type:void 0,pageToken:t.cursor?le(t.cursor):void 0,pageSize:t.limit,readMask:{paths:e}});return{objects:n.response.objects.map(r=>({objectId:r.objectId,version:r.version?.toString(),digest:r.digest,content:r.contents?.value,owner:Mi(r.owner),type:r.objectType,previousTransaction:r.previousTransaction??void 0,objectBcs:r.bcs?.value,json:t.include?.json?r.json?tt.toJson(r.json):null:void 0,display:sy(t.include?.display,r.display)})),cursor:n.response.nextPageToken?ve(n.response.nextPageToken):null,hasNextPage:n.response.nextPageToken!==void 0}}async listCoins(t){let e=["owner","object_type","digest","version","object_id","balance"],n=t.coinType??Zn,r=await this.#t.stateService.listOwnedObjects({owner:t.owner,objectType:`0x2::coin::Coin<${(await this.mvr.resolveType({type:n})).type}>`,pageToken:t.cursor?le(t.cursor):void 0,readMask:{paths:e}});return{objects:r.response.objects.map(s=>({objectId:s.objectId,version:s.version?.toString(),digest:s.digest,owner:Mi(s.owner),type:s.objectType,balance:s.balance?.toString()})),cursor:r.response.nextPageToken?ve(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}async getBalance(t){let e=t.coinType??Zn,n=await this.#t.stateService.getBalance({owner:t.owner,coinType:(await this.mvr.resolveType({type:e})).type});return{balance:{balance:n.response.balance?.balance?.toString()??"0",coinType:n.response.balance?.coinType??e,coinBalance:n.response.balance?.coinBalance?.toString()??"0",addressBalance:n.response.balance?.addressBalance?.toString()??"0"}}}async getCoinMetadata(t){let e=(await this.mvr.resolveType({type:t.coinType})).type,n;try{({response:n}=await this.#t.stateService.getCoinInfo({coinType:e}))}catch{return{coinMetadata:null}}return n.metadata?{coinMetadata:{id:n.metadata.id??null,decimals:n.metadata.decimals??0,name:n.metadata.name??"",symbol:n.metadata.symbol??"",description:n.metadata.description??"",iconUrl:n.metadata.iconUrl??null}}:{coinMetadata:null}}async listBalances(t){let e=await this.#t.stateService.listBalances({owner:t.owner,pageToken:t.cursor?le(t.cursor):void 0,pageSize:t.limit});return{hasNextPage:!!e.response.nextPageToken,cursor:e.response.nextPageToken?ve(e.response.nextPageToken):null,balances:e.response.balances.map(n=>({balance:n.balance?.toString()??"0",coinType:n.coinType,coinBalance:n.coinBalance?.toString()??"0",addressBalance:n.addressBalance?.toString()??"0"}))}}async getTransaction(t){let e=["digest","transaction.digest","signatures","effects.status"];t.include?.transaction&&e.push("transaction.sender","transaction.gas_payment","transaction.expiration","transaction.kind"),t.include?.bcs&&e.push("transaction.bcs"),t.include?.balanceChanges&&e.push("balance_changes"),t.include?.effects&&e.push("effects"),t.include?.events&&e.push("events"),t.include?.objectTypes&&(e.push("effects.changed_objects.object_type"),e.push("effects.changed_objects.object_id"));let{response:n}=await this.#t.ledgerService.getTransaction({digest:t.digest,readMask:{paths:e}});if(!n.transaction)throw new Error(`Transaction ${t.digest} not found`);return Yf(n.transaction,t.include)}async executeTransaction(t){let e=["digest","transaction.digest","signatures","effects.status"];t.include?.transaction&&e.push("transaction.sender","transaction.gas_payment","transaction.expiration","transaction.kind"),t.include?.bcs&&e.push("transaction.bcs"),t.include?.balanceChanges&&e.push("balance_changes"),t.include?.effects&&e.push("effects"),t.include?.events&&e.push("events"),t.include?.objectTypes&&(e.push("effects.changed_objects.object_type"),e.push("effects.changed_objects.object_id"));let{response:n}=await this.#t.transactionExecutionService.executeTransaction({transaction:{bcs:{value:t.transaction}},signatures:t.signatures.map(r=>({bcs:{value:le(r)},signature:{oneofKind:void 0}})),readMask:{paths:e}});return Yf(n.transaction,t.include)}async simulateTransaction(t){let e=["transaction.digest","transaction.transaction.digest","transaction.signatures","transaction.effects.status"];t.include?.transaction&&e.push("transaction.transaction.sender","transaction.transaction.gas_payment","transaction.transaction.expiration","transaction.transaction.kind"),t.include?.bcs&&e.push("transaction.transaction.bcs"),t.include?.balanceChanges&&e.push("transaction.balance_changes"),t.include?.effects&&e.push("transaction.effects"),t.include?.events&&e.push("transaction.events"),t.include?.objectTypes&&(e.push("transaction.effects.changed_objects.object_type"),e.push("transaction.effects.changed_objects.object_id")),t.include?.commandResults&&e.push("command_outputs"),t.transaction instanceof Uint8Array||await t.transaction.prepareForSerialization({client:this});let{response:n}=await this.#t.transactionExecutionService.simulateTransaction({transaction:t.transaction instanceof Uint8Array?{bcs:{value:t.transaction}}:zf(t.transaction),readMask:{paths:e},doGasSelection:!1,checks:t.checksEnabled===!1?Mu.DISABLED:Mu.ENABLED}),r=Yf(n.transaction,t.include),s=t.include?.commandResults&&n.commandOutputs?n.commandOutputs.map(i=>({returnValues:(i.returnValues??[]).map(o=>({bcs:o.value?.value??null})),mutatedReferences:(i.mutatedByRef??[]).map(o=>({bcs:o.value?.value??null}))})):void 0;return r.$kind==="Transaction"?{$kind:"Transaction",Transaction:r.Transaction,commandResults:s}:{$kind:"FailedTransaction",FailedTransaction:r.FailedTransaction,commandResults:s}}async getReferenceGasPrice(){return{referenceGasPrice:(await this.#t.ledgerService.getEpoch({readMask:{paths:["reference_gas_price"]}})).response.epoch?.referenceGasPrice?.toString()??""}}async getProtocolConfig(){let t=(await this.#t.ledgerService.getEpoch({readMask:{paths:["protocol_config"]}})).response.epoch?.protocolConfig;if(!t)throw new Error("Protocol config not found in response");let e={...t.featureFlags},n={};if(t.attributes)for(let[r,s]of Object.entries(t.attributes))n[r]=s??null;return{protocolConfig:{protocolVersion:t.protocolVersion?.toString()??null,featureFlags:e,attributes:n}}}async getCurrentSystemState(){let t=(await this.#t.ledgerService.getEpoch({readMask:{paths:["system_state.version","system_state.epoch","system_state.protocol_version","system_state.reference_gas_price","system_state.epoch_start_timestamp_ms","system_state.safe_mode","system_state.safe_mode_storage_rewards","system_state.safe_mode_computation_rewards","system_state.safe_mode_storage_rebates","system_state.safe_mode_non_refundable_storage_fee","system_state.parameters","system_state.storage_fund","system_state.stake_subsidy"]}})).response.epoch,e=t?.systemState;if(!e)throw new Error("System state not found in response");let n=t?.start?.seconds?Number(t.start.seconds)*1e3+Math.floor((t.start.nanos||0)/1e6):e.epochStartTimestampMs?Number(e.epochStartTimestampMs):null;return{systemState:{systemStateVersion:e.version?.toString()??null,epoch:e.epoch?.toString()??null,protocolVersion:e.protocolVersion?.toString()??null,referenceGasPrice:e.referenceGasPrice?.toString()??null,epochStartTimestampMs:n.toString(),safeMode:e.safeMode??!1,safeModeStorageRewards:e.safeModeStorageRewards?.toString()??null,safeModeComputationRewards:e.safeModeComputationRewards?.toString()??null,safeModeStorageRebates:e.safeModeStorageRebates?.toString()??null,safeModeNonRefundableStorageFee:e.safeModeNonRefundableStorageFee?.toString()??null,parameters:{epochDurationMs:e.parameters?.epochDurationMs?.toString()??null,stakeSubsidyStartEpoch:e.parameters?.stakeSubsidyStartEpoch?.toString()??null,maxValidatorCount:e.parameters?.maxValidatorCount?.toString()??null,minValidatorJoiningStake:e.parameters?.minValidatorJoiningStake?.toString()??null,validatorLowStakeThreshold:e.parameters?.validatorLowStakeThreshold?.toString()??null,validatorLowStakeGracePeriod:e.parameters?.validatorLowStakeGracePeriod?.toString()??null},storageFund:{totalObjectStorageRebates:e.storageFund?.totalObjectStorageRebates?.toString()??null,nonRefundableBalance:e.storageFund?.nonRefundableBalance?.toString()??null},stakeSubsidy:{balance:e.stakeSubsidy?.balance?.toString()??null,distributionCounter:e.stakeSubsidy?.distributionCounter?.toString()??null,currentDistributionAmount:e.stakeSubsidy?.currentDistributionAmount?.toString()??null,stakeSubsidyPeriodLength:e.stakeSubsidy?.stakeSubsidyPeriodLength?.toString()??null,stakeSubsidyDecreaseRate:e.stakeSubsidy?.stakeSubsidyDecreaseRate??null}}}}async listDynamicFields(t){return this.#t.listDynamicFields(t)}async verifyZkLoginSignature(t){let e=le(t.bytes),n=t.intentScope==="PersonalMessage"?A.byteVector().serialize(e).toBytes():e,{response:r}=await this.#t.signatureVerificationService.verifySignature({message:{name:t.intentScope,value:n},signature:{bcs:{value:le(t.signature)},signature:{oneofKind:void 0}},address:t.address,jwks:[]});return{success:r.isValid??!1,errors:r.reason?[r.reason]:[]}}async defaultNameServiceName(t){return{data:{name:(await this.#t.nameService.reverseLookupName({address:t.address})).response.record?.name??null}}}async getMoveFunction(t){let e=(await this.mvr.resolvePackage({package:t.packageId})).package,{response:n}=await this.#t.movePackageService.getFunction({packageId:e,moduleName:t.moduleName,name:t.name}),r="unknown";switch(n.function?.visibility){case ja.PUBLIC:r="public";break;case ja.PRIVATE:r="private";break;case ja.FRIEND:r="friend";break}return{function:{packageId:ae(e),moduleName:t.moduleName,name:n.function?.name,visibility:r,isEntry:n.function?.isEntry??!1,typeParameters:n.function?.typeParameters?.map(({constraints:s})=>({isPhantom:!1,constraints:s.map(i=>{switch(i){case Ci.COPY:return"copy";case Ci.DROP:return"drop";case Ci.STORE:return"store";case Ci.KEY:return"key";default:return"unknown"}})??[]}))??[],parameters:n.function?.parameters?.map(s=>cy(s))??[],returns:n.function?.returns?.map(s=>cy(s))??[]}}}async getChainIdentifier(t){return this.cache.read(["chainIdentifier"],async()=>{let{response:e}=await this.#t.ledgerService.getServiceInfo({});if(!e.chainId)throw new Error("Chain identifier not found in service info");return{chainIdentifier:e.chainId}})}resolveTransactionPlugin(){let t=this.#t;return async function(n,r,s){let i=n.snapshot();i.sender||(i.sender="0x0000000000000000000000000000000000000000000000000000000000000000");let o=Pa(i),a;try{a=(await t.transactionExecutionService.simulateTransaction({transaction:o,doGasSelection:!r.onlyTransactionKind&&(i.gasData.budget==null||i.gasData.payment==null),readMask:{paths:["transaction.transaction.sender","transaction.transaction.gas_payment","transaction.transaction.expiration","transaction.transaction.kind","transaction.effects.status"]}})).response}catch(c){throw c instanceof Error&&c.message?new Oi(decodeURIComponent(c.message),{cause:c}):c}if(!r.onlyTransactionKind&&a.transaction?.effects?.status&&!a.transaction.effects.status.success){let c=a.transaction.effects.status.error?Qf(a.transaction.effects.status.error):void 0;throw new Oi(`Transaction resolution failed: ${c?.message??"Transaction failed"}`,{executionError:c})}if(!a.transaction?.transaction)throw new Error("simulateTransaction did not return resolved transaction data");return Gg(n,a.transaction.transaction,r),await s()}}};function sy(t,e){if(t)return e===void 0?null:{output:e.output!==void 0?tt.toJson(e.output):null,errors:e.errors!==void 0?tt.toJson(e.errors):null}}function Mi(t){if(!t)return null;if(t.kind===Ni.IMMUTABLE)return{$kind:"Immutable",Immutable:!0};if(t.kind===Ni.ADDRESS)return{AddressOwner:t.address,$kind:"AddressOwner"};if(t.kind===Ni.OBJECT)return{$kind:"ObjectOwner",ObjectOwner:t.address};if(t.kind===Ni.SHARED)return{$kind:"Shared",Shared:{initialSharedVersion:t.version?.toString()}};if(t.kind===Ni.CONSENSUS_ADDRESS)return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{startVersion:t.version?.toString(),owner:t.address}};throw new Error(`Unknown owner kind ${JSON.stringify(t,(e,n)=>typeof n=="bigint"?n.toString():n)}`)}function Qf(t){let e=t.description??"Unknown error",n=t.command!=null?Number(t.command):void 0,r=t.errorDetails;switch(r?.oneofKind){case"abort":{let s=r.abort,i=s.cleverError;return{$kind:"MoveAbort",message:Ca({command:n,location:s.location,abortCode:String(s.abortCode??0n),cleverError:i?{lineNumber:i.lineNumber!=null?Number(i.lineNumber):void 0,constantName:i.constantName,value:i.value?.oneofKind==="rendered"?i.value.rendered:void 0}:void 0}),command:n,MoveAbort:px(s)}}case"sizeError":return{$kind:"SizeError",message:e,command:n,SizeError:{name:Bi(t.kind),size:Number(r.sizeError.size??0n),maxSize:Number(r.sizeError.maxSize??0n)}};case"commandArgumentError":return{$kind:"CommandArgumentError",message:e,command:n,CommandArgumentError:{argument:r.commandArgumentError.argument??0,name:Bi(r.commandArgumentError.kind)}};case"typeArgumentError":return{$kind:"TypeArgumentError",message:e,command:n,TypeArgumentError:{typeArgument:r.typeArgumentError.typeArgument??0,name:Bi(r.typeArgumentError.kind)}};case"packageUpgradeError":return{$kind:"PackageUpgradeError",message:e,command:n,PackageUpgradeError:{name:Bi(r.packageUpgradeError.kind),packageId:r.packageUpgradeError.packageId,digest:r.packageUpgradeError.digest}};case"indexError":return{$kind:"IndexError",message:e,command:n,IndexError:{index:r.indexError.index,subresult:r.indexError.subresult}};case"coinDenyListError":return{$kind:"CoinDenyListError",message:e,command:n,CoinDenyListError:{name:Bi(t.kind),coinType:r.coinDenyListError.coinType,address:r.coinDenyListError.address}};case"congestedObjects":return{$kind:"CongestedObjects",message:e,command:n,CongestedObjects:{name:Bi(t.kind),objects:r.congestedObjects.objects}};case"objectId":return{$kind:"ObjectIdError",message:e,command:n,ObjectIdError:{name:Bi(t.kind),objectId:r.objectId}};default:return{$kind:"Unknown",message:e,command:n,Unknown:null}}}function px(t){return{abortCode:String(t.abortCode??0n),location:{...t.location},cleverError:t.cleverError?{errorCode:t.cleverError.errorCode!=null?Number(t.cleverError.errorCode):void 0,lineNumber:t.cleverError.lineNumber!=null?Number(t.cleverError.lineNumber):void 0,constantName:t.cleverError.constantName,constantType:t.cleverError.constantType,value:t.cleverError.value?.oneofKind==="rendered"?t.cleverError.value.rendered:t.cleverError.value?.oneofKind==="raw"?ve(t.cleverError.value.raw):void 0}:void 0}}function Bi(t){if(t==null)return"Unknown";let e=Wf[t];return!e||e.endsWith("_UNKNOWN")?"Unknown":e.split("_").map(n=>n.charAt(0)+n.slice(1).toLowerCase()).join("")}function iy(t){if(t==null)return null;switch(t){case Co.CREATED:return"Created";case Co.DELETED:return"Deleted";case Co.NONE:case Co.ID_OPERATION_UNKNOWN:return"None";default:return"Unknown"}}function oy(t){if(t==null)return null;switch(t){case Fa.EXISTS:return"Exists";case Fa.DOES_NOT_EXIST:return"DoesNotExist";case Fa.UNKNOWN:return"Unknown";default:return"Unknown"}}function ay(t){if(t==null)return null;switch(t){case Ri.OBJECT_WRITE:return"ObjectWrite";case Ri.PACKAGE_WRITE:return"PackageWrite";case Ri.DOES_NOT_EXIST:return"DoesNotExist";case Ri.ACCUMULATOR_WRITE:return"AccumulatorWriteV1";case Ri.UNKNOWN:return"Unknown";default:return"Unknown"}}function hx(t){if(t==null)return null;switch(t){case Ps.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:return"Unknown";case Ps.READ_ONLY_ROOT:return"ReadOnlyRoot";case Ps.MUTATE_CONSENSUS_STREAM_ENDED:return"MutateConsensusStreamEnded";case Ps.READ_CONSENSUS_STREAM_ENDED:return"ReadConsensusStreamEnded";case Ps.CANCELED:return"Cancelled";case Ps.PER_EPOCH_CONFIG:return"PerEpochConfig";default:return"Unknown"}}function mx({effects:t}){if(!t)return null;let e=t.changedObjects.map(n=>({objectId:n.objectId,inputState:oy(n.inputState),inputVersion:n.inputVersion?.toString()??null,inputDigest:n.inputDigest??null,inputOwner:Mi(n.inputOwner),outputState:ay(n.outputState),outputVersion:n.outputVersion?.toString()??null,outputDigest:n.outputDigest??null,outputOwner:Mi(n.outputOwner),idOperation:iy(n.idOperation)}));return{bcs:t.bcs?.value,version:2,status:t.status?.success?{success:!0,error:null}:{success:!1,error:Qf(t.status.error)},gasUsed:{computationCost:t.gasUsed?.computationCost?.toString(),storageCost:t.gasUsed?.storageCost?.toString(),storageRebate:t.gasUsed?.storageRebate?.toString(),nonRefundableStorageFee:t.gasUsed?.nonRefundableStorageFee?.toString()},transactionDigest:t.transactionDigest,gasObject:{objectId:t.gasObject?.objectId,inputState:oy(t.gasObject?.inputState),inputVersion:t.gasObject?.inputVersion?.toString()??null,inputDigest:t.gasObject?.inputDigest??null,inputOwner:Mi(t.gasObject?.inputOwner),outputState:ay(t.gasObject?.outputState),outputVersion:t.gasObject?.outputVersion?.toString()??null,outputDigest:t.gasObject?.outputDigest??null,outputOwner:Mi(t.gasObject?.outputOwner),idOperation:iy(t.gasObject?.idOperation)},eventsDigest:t.eventsDigest??null,dependencies:t.dependencies,lamportVersion:t.lamportVersion?.toString()??null,changedObjects:e,unchangedConsensusObjects:t.unchangedConsensusObjects.map(n=>({kind:hx(n.kind),objectId:n.objectId,version:n.version?.toString()??null,digest:n.digest??null})),auxiliaryDataDigest:t.auxiliaryDataDigest??null}}function Yf(t,e){let n={};e?.objectTypes&&t.effects?.changedObjects?.forEach(c=>{c.objectId&&c.objectType&&(n[c.objectId]=c.objectType)});let r;if(e?.transaction){let c=t.transaction;if(!c)throw new Error("Transaction data is required but missing from gRPC response");let u=Va(c);r={gasData:u.gasData,sender:u.sender,expiration:u.expiration,commands:u.commands,inputs:u.inputs,version:u.version}}let s=e?.bcs?t.transaction?.bcs?.value:void 0,i=e?.effects?mx({effects:t.effects}):void 0,o=t.effects?.status?.success?{success:!0,error:null}:{success:!1,error:t.effects?.status?.error?Qf(t.effects.status.error):{$kind:"Unknown",message:"Transaction failed",Unknown:null}},a={digest:t.digest,epoch:t.effects?.epoch?.toString()??null,status:o,effects:i,objectTypes:e?.objectTypes?n:void 0,transaction:r,bcs:s,signatures:t.signatures?.map(c=>ve(c.bcs?.value))??[],balanceChanges:e?.balanceChanges?t.balanceChanges?.map(c=>({coinType:c.coinType,address:c.address,amount:c.amount}))??[]:void 0,events:e?.events?t.events?.events.map(c=>({packageId:ae(c.packageId),module:c.module,sender:ae(c.sender),eventType:c.eventType,bcs:c.contents?.value??new Uint8Array,json:c.json?tt.toJson(c.json):null}))??[]:void 0};return o.success?{$kind:"Transaction",Transaction:a}:{$kind:"FailedTransaction",FailedTransaction:a}}function cy(t){let e=null;return t.reference===xu.IMMUTABLE?e="immutable":t.reference===xu.MUTABLE&&(e="mutable"),{reference:e,body:Xf(t.body)}}function Xf(t){switch(t.type){case Nn.TYPE_UNKNOWN:return{$kind:"unknown"};case Nn.ADDRESS:return{$kind:"address"};case Nn.BOOL:return{$kind:"bool"};case Nn.U8:return{$kind:"u8"};case Nn.U16:return{$kind:"u16"};case Nn.U32:return{$kind:"u32"};case Nn.U64:return{$kind:"u64"};case Nn.U128:return{$kind:"u128"};case Nn.U256:return{$kind:"u256"};case Nn.VECTOR:return{$kind:"vector",vector:Xf(t.typeParameterInstantiation[0])};case Nn.DATATYPE:return{$kind:"datatype",datatype:{typeName:t.typeName,typeParameters:t.typeParameterInstantiation.map(e=>Xf(e))}};case Nn.TYPE_PARAMETER:return{$kind:"typeParameter",index:t.typeParameter};default:return{$kind:"unknown"}}}var ly=class{constructor(t){this._transport=t,this.typeName=Du.typeName,this.methods=Du.methods,this.options=Du.options}executeTransaction(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}simulateTransaction(t,e){let n=this.methods[1],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}};var gx=class extends R{constructor(){super("sui.rpc.v2.ProtocolConfig",[{no:1,name:"protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"feature_flags",kind:"map",K:9,V:{kind:"scalar",T:8}},{no:3,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}}])}},dy=new gx;var yx=class extends R{constructor(){super("sui.rpc.v2.SystemState",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"validators",kind:"message",T:()=>Ix},{no:5,name:"storage_fund",kind:"message",T:()=>Sx},{no:6,name:"parameters",kind:"message",T:()=>vx},{no:7,name:"reference_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"validator_report_records",kind:"message",repeat:1,T:()=>wx},{no:9,name:"stake_subsidy",kind:"message",T:()=>Ex},{no:10,name:"safe_mode",kind:"scalar",opt:!0,T:8},{no:11,name:"safe_mode_storage_rewards",kind:"scalar",opt:!0,T:4,L:0},{no:12,name:"safe_mode_computation_rewards",kind:"scalar",opt:!0,T:4,L:0},{no:13,name:"safe_mode_storage_rebates",kind:"scalar",opt:!0,T:4,L:0},{no:14,name:"safe_mode_non_refundable_storage_fee",kind:"scalar",opt:!0,T:4,L:0},{no:15,name:"epoch_start_timestamp_ms",kind:"scalar",opt:!0,T:4,L:0},{no:16,name:"extra_fields",kind:"message",T:()=>Yn}])}},fy=new yx,bx=class extends R{constructor(){super("sui.rpc.v2.ValidatorReportRecord",[{no:1,name:"reported",kind:"scalar",opt:!0,T:9},{no:2,name:"reporters",kind:"scalar",repeat:2,T:9}])}},wx=new bx,_x=class extends R{constructor(){super("sui.rpc.v2.SystemParameters",[{no:1,name:"epoch_duration_ms",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"stake_subsidy_start_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"min_validator_count",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"max_validator_count",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"min_validator_joining_stake",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"validator_low_stake_threshold",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"validator_very_low_stake_threshold",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"validator_low_stake_grace_period",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"extra_fields",kind:"message",T:()=>Yn}])}},vx=new _x,Tx=class extends R{constructor(){super("sui.rpc.v2.MoveTable",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"size",kind:"scalar",opt:!0,T:4,L:0}])}},Yn=new Tx,kx=class extends R{constructor(){super("sui.rpc.v2.StakeSubsidy",[{no:1,name:"balance",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"distribution_counter",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"current_distribution_amount",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"stake_subsidy_period_length",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"stake_subsidy_decrease_rate",kind:"scalar",opt:!0,T:13},{no:6,name:"extra_fields",kind:"message",T:()=>Yn}])}},Ex=new kx,xx=class extends R{constructor(){super("sui.rpc.v2.StorageFund",[{no:1,name:"total_object_storage_rebates",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"non_refundable_balance",kind:"scalar",opt:!0,T:4,L:0}])}},Sx=new xx,Ox=class extends R{constructor(){super("sui.rpc.v2.ValidatorSet",[{no:1,name:"total_stake",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"active_validators",kind:"message",repeat:1,T:()=>Cx},{no:3,name:"pending_active_validators",kind:"message",T:()=>Yn},{no:4,name:"pending_removals",kind:"scalar",repeat:1,T:4,L:0},{no:5,name:"staking_pool_mappings",kind:"message",T:()=>Yn},{no:6,name:"inactive_validators",kind:"message",T:()=>Yn},{no:7,name:"validator_candidates",kind:"message",T:()=>Yn},{no:8,name:"at_risk_validators",kind:"map",K:9,V:{kind:"scalar",T:4,L:0}},{no:9,name:"extra_fields",kind:"message",T:()=>Yn}])}},Ix=new Ox,Ax=class extends R{constructor(){super("sui.rpc.v2.Validator",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"address",kind:"scalar",opt:!0,T:9},{no:3,name:"description",kind:"scalar",opt:!0,T:9},{no:4,name:"image_url",kind:"scalar",opt:!0,T:9},{no:5,name:"project_url",kind:"scalar",opt:!0,T:9},{no:7,name:"protocol_public_key",kind:"scalar",opt:!0,T:12},{no:8,name:"proof_of_possession",kind:"scalar",opt:!0,T:12},{no:10,name:"network_public_key",kind:"scalar",opt:!0,T:12},{no:12,name:"worker_public_key",kind:"scalar",opt:!0,T:12},{no:13,name:"network_address",kind:"scalar",opt:!0,T:9},{no:14,name:"p2p_address",kind:"scalar",jsonName:"p2pAddress",opt:!0,T:9},{no:15,name:"primary_address",kind:"scalar",opt:!0,T:9},{no:16,name:"worker_address",kind:"scalar",opt:!0,T:9},{no:18,name:"next_epoch_protocol_public_key",kind:"scalar",opt:!0,T:12},{no:19,name:"next_epoch_proof_of_possession",kind:"scalar",opt:!0,T:12},{no:21,name:"next_epoch_network_public_key",kind:"scalar",opt:!0,T:12},{no:23,name:"next_epoch_worker_public_key",kind:"scalar",opt:!0,T:12},{no:24,name:"next_epoch_network_address",kind:"scalar",opt:!0,T:9},{no:25,name:"next_epoch_p2p_address",kind:"scalar",jsonName:"nextEpochP2pAddress",opt:!0,T:9},{no:26,name:"next_epoch_primary_address",kind:"scalar",opt:!0,T:9},{no:27,name:"next_epoch_worker_address",kind:"scalar",opt:!0,T:9},{no:28,name:"metadata_extra_fields",kind:"message",T:()=>Yn},{no:29,name:"voting_power",kind:"scalar",opt:!0,T:4,L:0},{no:30,name:"operation_cap_id",kind:"scalar",opt:!0,T:9},{no:31,name:"gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:32,name:"staking_pool",kind:"message",T:()=>Rx},{no:33,name:"commission_rate",kind:"scalar",opt:!0,T:4,L:0},{no:34,name:"next_epoch_stake",kind:"scalar",opt:!0,T:4,L:0},{no:35,name:"next_epoch_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:36,name:"next_epoch_commission_rate",kind:"scalar",opt:!0,T:4,L:0},{no:37,name:"extra_fields",kind:"message",T:()=>Yn}])}},Cx=new Ax,Nx=class extends R{constructor(){super("sui.rpc.v2.StakingPool",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"activation_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"deactivation_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"sui_balance",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"rewards_pool",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"pool_token_balance",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"exchange_rates",kind:"message",T:()=>Yn},{no:8,name:"pending_stake",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"pending_total_sui_withdraw",kind:"scalar",opt:!0,T:4,L:0},{no:10,name:"pending_pool_token_withdraw",kind:"scalar",opt:!0,T:4,L:0},{no:11,name:"extra_fields",kind:"message",T:()=>Yn}])}},Rx=new Nx;var Bx=class extends R{constructor(){super("sui.rpc.v2.Epoch",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"committee",kind:"message",T:()=>Qg},{no:3,name:"system_state",kind:"message",T:()=>fy},{no:4,name:"first_checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"last_checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"start",kind:"message",T:()=>fn},{no:7,name:"end",kind:"message",T:()=>fn},{no:8,name:"reference_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"protocol_config",kind:"message",T:()=>dy}])}},py=new Bx;var Mx=class extends R{constructor(){super("sui.rpc.v2.CheckpointContents",[{no:1,name:"bcs",kind:"message",T:()=>et},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:5},{no:4,name:"transactions",kind:"message",repeat:1,T:()=>jx}])}},hy=new Mx,Dx=class extends R{constructor(){super("sui.rpc.v2.CheckpointedTransactionInfo",[{no:1,name:"transaction",kind:"scalar",opt:!0,T:9},{no:2,name:"effects",kind:"scalar",opt:!0,T:9},{no:3,name:"signatures",kind:"message",repeat:1,T:()=>Vs},{no:4,name:"address_aliases_versions",kind:"message",repeat:1,T:()=>Lx}])}},jx=new Dx,Ux=class extends R{constructor(){super("sui.rpc.v2.AddressAliasesVersion",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},Lx=new Ux;var Px=function(t){return t[t.CHECKPOINT_COMMITMENT_KIND_UNKNOWN=0]="CHECKPOINT_COMMITMENT_KIND_UNKNOWN",t[t.ECMH_LIVE_OBJECT_SET=1]="ECMH_LIVE_OBJECT_SET",t[t.CHECKPOINT_ARTIFACTS=2]="CHECKPOINT_ARTIFACTS",t}({}),Vx=class extends R{constructor(){super("sui.rpc.v2.CheckpointSummary",[{no:1,name:"bcs",kind:"message",T:()=>et},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"sequence_number",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"total_network_transactions",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"content_digest",kind:"scalar",opt:!0,T:9},{no:7,name:"previous_digest",kind:"scalar",opt:!0,T:9},{no:8,name:"epoch_rolling_gas_cost_summary",kind:"message",T:()=>Cu},{no:9,name:"timestamp",kind:"message",T:()=>fn},{no:10,name:"commitments",kind:"message",repeat:1,T:()=>gy},{no:11,name:"end_of_epoch_data",kind:"message",T:()=>qx},{no:12,name:"version_specific_data",kind:"scalar",opt:!0,T:12}])}},my=new Vx,Fx=class extends R{constructor(){super("sui.rpc.v2.EndOfEpochData",[{no:1,name:"next_epoch_committee",kind:"message",repeat:1,T:()=>Jf},{no:2,name:"next_epoch_protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"epoch_commitments",kind:"message",repeat:1,T:()=>gy}])}},qx=new Fx,$x=class extends R{constructor(){super("sui.rpc.v2.CheckpointCommitment",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CheckpointCommitment.CheckpointCommitmentKind",Px]},{no:2,name:"digest",kind:"scalar",opt:!0,T:9}])}},gy=new $x;var Gx=class extends R{constructor(){super("sui.rpc.v2.Checkpoint",[{no:1,name:"sequence_number",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"summary",kind:"message",T:()=>my},{no:4,name:"signature",kind:"message",T:()=>ey},{no:5,name:"contents",kind:"message",T:()=>hy},{no:6,name:"transactions",kind:"message",repeat:1,T:()=>Fs},{no:7,name:"objects",kind:"message",T:()=>Iu}])}},ju=new Gx;var Hx=class extends R{constructor(){super("google.protobuf.Any",[{no:1,name:"type_url",kind:"scalar",T:9},{no:2,name:"value",kind:"scalar",T:12}])}pack(t,e){return{typeUrl:this.typeNameToUrl(e.typeName),value:e.toBinary(t)}}unpack(t,e,n){if(!this.contains(t,e))throw new Error("Cannot unpack google.protobuf.Any with typeUrl '"+t.typeUrl+"' as "+e.typeName+".");return e.fromBinary(t.value,n)}contains(t,e){return t.typeUrl.length?(typeof e=="string"?e:e.typeName)===this.typeUrlToName(t.typeUrl):!1}internalJsonWrite(t,e){if(t.typeUrl==="")return{};let n=this.typeUrlToName(t.typeUrl),r=Ba(e),s=r.typeRegistry?.find(a=>a.typeName===n);if(!s)throw new globalThis.Error("Unable to convert google.protobuf.Any with typeUrl '"+t.typeUrl+"' to JSON. The specified type "+n+" is not available in the type registry.");let i=s.fromBinary(t.value,{readUnknownField:!1}),o=s.internalJsonWrite(i,r);return(n.startsWith("google.protobuf.")||!Ds(o))&&(o={value:o}),o["@type"]=t.typeUrl,o}internalJsonRead(t,e,n){if(!Ds(t))throw new globalThis.Error("Unable to parse google.protobuf.Any from JSON "+rn(t)+".");if(typeof t["@type"]!="string"||t["@type"]=="")return this.create();let r=this.typeUrlToName(t["@type"]),s=e?.typeRegistry?.find(o=>o.typeName==r);if(!s)throw new globalThis.Error("Unable to parse google.protobuf.Any from JSON. The specified type "+r+" is not available in the type registry.");let i;if(r.startsWith("google.protobuf.")&&t.hasOwnProperty("value"))i=s.fromJson(t.value,e);else{let o=Object.assign({},t);delete o["@type"],i=s.fromJson(o,e)}return n===void 0&&(n=this.create()),n.typeUrl=t["@type"],n.value=s.toBinary(i),n}typeNameToUrl(t){if(!t.length)throw new Error("invalid type name: "+t);return"type.googleapis.com/"+t}typeUrlToName(t){if(!t.length)throw new Error("invalid type url: "+t);let e=t.lastIndexOf("/"),n=e>0?t.substring(e+1):t;if(!n.length)throw new Error("invalid type url: "+t);return n}},yy=new Hx;var zx=class extends R{constructor(){super("google.rpc.Status",[{no:1,name:"code",kind:"scalar",T:5},{no:2,name:"message",kind:"scalar",T:9},{no:3,name:"details",kind:"message",repeat:1,T:()=>yy}])}},ep=new zx;var Wx=class extends R{constructor(){super("sui.rpc.v2.GetServiceInfoRequest",[])}},Zx=new Wx,Jx=class extends R{constructor(){super("sui.rpc.v2.GetServiceInfoResponse",[{no:1,name:"chain_id",kind:"scalar",opt:!0,T:9},{no:2,name:"chain",kind:"scalar",opt:!0,T:9},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"checkpoint_height",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"timestamp",kind:"message",T:()=>fn},{no:6,name:"lowest_available_checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"lowest_available_checkpoint_objects",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"server",kind:"scalar",opt:!0,T:9}])}},Kx=new Jx,Yx=class extends R{constructor(){super("sui.rpc.v2.GetObjectRequest",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"read_mask",kind:"message",T:()=>Tn}])}},by=new Yx,Xx=class extends R{constructor(){super("sui.rpc.v2.GetObjectResponse",[{no:1,name:"object",kind:"message",T:()=>Br}])}},Qx=new Xx,eS=class extends R{constructor(){super("sui.rpc.v2.BatchGetObjectsRequest",[{no:1,name:"requests",kind:"message",repeat:1,T:()=>by},{no:2,name:"read_mask",kind:"message",T:()=>Tn}])}},tS=new eS,nS=class extends R{constructor(){super("sui.rpc.v2.BatchGetObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>iS}])}},rS=new nS,sS=class extends R{constructor(){super("sui.rpc.v2.GetObjectResult",[{no:1,name:"object",kind:"message",oneof:"result",T:()=>Br},{no:2,name:"error",kind:"message",oneof:"result",T:()=>ep}])}},iS=new sS,oS=class extends R{constructor(){super("sui.rpc.v2.GetTransactionRequest",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"read_mask",kind:"message",T:()=>Tn}])}},aS=new oS,cS=class extends R{constructor(){super("sui.rpc.v2.GetTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>Fs}])}},uS=new cS,lS=class extends R{constructor(){super("sui.rpc.v2.BatchGetTransactionsRequest",[{no:1,name:"digests",kind:"scalar",repeat:2,T:9},{no:2,name:"read_mask",kind:"message",T:()=>Tn}])}},dS=new lS,fS=class extends R{constructor(){super("sui.rpc.v2.BatchGetTransactionsResponse",[{no:1,name:"transactions",kind:"message",repeat:1,T:()=>mS}])}},pS=new fS,hS=class extends R{constructor(){super("sui.rpc.v2.GetTransactionResult",[{no:1,name:"transaction",kind:"message",oneof:"result",T:()=>Fs},{no:2,name:"error",kind:"message",oneof:"result",T:()=>ep}])}},mS=new hS,gS=class extends R{constructor(){super("sui.rpc.v2.GetCheckpointRequest",[{no:1,name:"sequence_number",kind:"scalar",oneof:"checkpointId",T:4,L:0},{no:2,name:"digest",kind:"scalar",oneof:"checkpointId",T:9},{no:3,name:"read_mask",kind:"message",T:()=>Tn}])}},yS=new gS,bS=class extends R{constructor(){super("sui.rpc.v2.GetCheckpointResponse",[{no:1,name:"checkpoint",kind:"message",T:()=>ju}])}},wS=new bS,_S=class extends R{constructor(){super("sui.rpc.v2.GetEpochRequest",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"read_mask",kind:"message",T:()=>Tn}])}},vS=new _S,TS=class extends R{constructor(){super("sui.rpc.v2.GetEpochResponse",[{no:1,name:"epoch",kind:"message",T:()=>py}])}},kS=new TS,Uu=new sn("sui.rpc.v2.LedgerService",[{name:"GetServiceInfo",options:{},I:Zx,O:Kx},{name:"GetObject",options:{},I:by,O:Qx},{name:"BatchGetObjects",options:{},I:tS,O:rS},{name:"GetTransaction",options:{},I:aS,O:uS},{name:"BatchGetTransactions",options:{},I:dS,O:pS},{name:"GetCheckpoint",options:{},I:yS,O:wS},{name:"GetEpoch",options:{},I:vS,O:kS}]);var wy=class{constructor(t){this._transport=t,this.typeName=Uu.typeName,this.methods=Uu.methods,this.options=Uu.options}getServiceInfo(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getObject(t,e){let n=this.methods[1],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}batchGetObjects(t,e){let n=this.methods[2],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getTransaction(t,e){let n=this.methods[3],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}batchGetTransactions(t,e){let n=this.methods[4],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getCheckpoint(t,e){let n=this.methods[5],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getEpoch(t,e){let n=this.methods[6],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}};var ES=class extends R{constructor(){super("sui.rpc.v2.GetPackageRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9}])}},xS=new ES,SS=class extends R{constructor(){super("sui.rpc.v2.GetPackageResponse",[{no:1,name:"package",kind:"message",T:()=>Su}])}},OS=new SS,IS=class extends R{constructor(){super("sui.rpc.v2.GetDatatypeRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"module_name",kind:"scalar",opt:!0,T:9},{no:3,name:"name",kind:"scalar",opt:!0,T:9}])}},AS=new IS,CS=class extends R{constructor(){super("sui.rpc.v2.GetDatatypeResponse",[{no:1,name:"datatype",kind:"message",T:()=>qf}])}},NS=new CS,RS=class extends R{constructor(){super("sui.rpc.v2.GetFunctionRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"module_name",kind:"scalar",opt:!0,T:9},{no:3,name:"name",kind:"scalar",opt:!0,T:9}])}},BS=new RS,MS=class extends R{constructor(){super("sui.rpc.v2.GetFunctionResponse",[{no:1,name:"function",kind:"message",T:()=>Gf}])}},DS=new MS,jS=class extends R{constructor(){super("sui.rpc.v2.ListPackageVersionsRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12}])}},US=new jS,LS=class extends R{constructor(){super("sui.rpc.v2.ListPackageVersionsResponse",[{no:1,name:"versions",kind:"message",repeat:1,T:()=>FS},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},PS=new LS,VS=class extends R{constructor(){super("sui.rpc.v2.PackageVersion",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},FS=new VS,Lu=new sn("sui.rpc.v2.MovePackageService",[{name:"GetPackage",options:{},I:xS,O:OS},{name:"GetDatatype",options:{},I:AS,O:NS},{name:"GetFunction",options:{},I:BS,O:DS},{name:"ListPackageVersions",options:{},I:US,O:PS}]);var _y=class{constructor(t){this._transport=t,this.typeName=Lu.typeName,this.methods=Lu.methods,this.options=Lu.options}getPackage(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getDatatype(t,e){let n=this.methods[1],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getFunction(t,e){let n=this.methods[2],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}listPackageVersions(t,e){let n=this.methods[3],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}};var qS=class extends R{constructor(){super("sui.rpc.v2.VerifySignatureRequest",[{no:1,name:"message",kind:"message",T:()=>et},{no:2,name:"signature",kind:"message",T:()=>Vs},{no:3,name:"address",kind:"scalar",opt:!0,T:9},{no:4,name:"jwks",kind:"message",repeat:1,T:()=>Hf}])}},$S=new qS,GS=class extends R{constructor(){super("sui.rpc.v2.VerifySignatureResponse",[{no:1,name:"is_valid",kind:"scalar",opt:!0,T:8},{no:2,name:"reason",kind:"scalar",opt:!0,T:9}])}},HS=new GS,Pu=new sn("sui.rpc.v2.SignatureVerificationService",[{name:"VerifySignature",options:{},I:$S,O:HS}]);var vy=class{constructor(t){this._transport=t,this.typeName=Pu.typeName,this.methods=Pu.methods,this.options=Pu.options}verifySignature(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}};var zS=function(t){return t[t.METADATA_CAP_STATE_UNKNOWN=0]="METADATA_CAP_STATE_UNKNOWN",t[t.CLAIMED=1]="CLAIMED",t[t.UNCLAIMED=2]="UNCLAIMED",t[t.DELETED=3]="DELETED",t}({}),WS=function(t){return t[t.SUPPLY_STATE_UNKNOWN=0]="SUPPLY_STATE_UNKNOWN",t[t.FIXED=1]="FIXED",t[t.BURN_ONLY=2]="BURN_ONLY",t}({}),ZS=function(t){return t[t.COIN_REGULATED_STATE_UNKNOWN=0]="COIN_REGULATED_STATE_UNKNOWN",t[t.REGULATED=1]="REGULATED",t[t.UNREGULATED=2]="UNREGULATED",t}({}),tp=function(t){return t[t.DYNAMIC_FIELD_KIND_UNKNOWN=0]="DYNAMIC_FIELD_KIND_UNKNOWN",t[t.FIELD=1]="FIELD",t[t.OBJECT=2]="OBJECT",t}({}),JS=class extends R{constructor(){super("sui.rpc.v2.GetCoinInfoRequest",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9}])}},KS=new JS,YS=class extends R{constructor(){super("sui.rpc.v2.GetCoinInfoResponse",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:2,name:"metadata",kind:"message",T:()=>eO},{no:3,name:"treasury",kind:"message",T:()=>nO},{no:4,name:"regulated_metadata",kind:"message",T:()=>sO}])}},XS=new YS,QS=class extends R{constructor(){super("sui.rpc.v2.CoinMetadata",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"decimals",kind:"scalar",opt:!0,T:13},{no:3,name:"name",kind:"scalar",opt:!0,T:9},{no:4,name:"symbol",kind:"scalar",opt:!0,T:9},{no:5,name:"description",kind:"scalar",opt:!0,T:9},{no:6,name:"icon_url",kind:"scalar",opt:!0,T:9},{no:7,name:"metadata_cap_id",kind:"scalar",opt:!0,T:9},{no:8,name:"metadata_cap_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CoinMetadata.MetadataCapState",zS]}])}},eO=new QS,tO=class extends R{constructor(){super("sui.rpc.v2.CoinTreasury",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"total_supply",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"supply_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CoinTreasury.SupplyState",WS]}])}},nO=new tO,rO=class extends R{constructor(){super("sui.rpc.v2.RegulatedCoinMetadata",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_metadata_object",kind:"scalar",opt:!0,T:9},{no:3,name:"deny_cap_object",kind:"scalar",opt:!0,T:9},{no:4,name:"allow_global_pause",kind:"scalar",opt:!0,T:8},{no:5,name:"variant",kind:"scalar",opt:!0,T:13},{no:6,name:"coin_regulated_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.RegulatedCoinMetadata.CoinRegulatedState",ZS]}])}},sO=new rO,iO=class extends R{constructor(){super("sui.rpc.v2.GetBalanceRequest",[{no:1,name:"owner",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9}])}},oO=new iO,aO=class extends R{constructor(){super("sui.rpc.v2.GetBalanceResponse",[{no:1,name:"balance",kind:"message",T:()=>Ty}])}},cO=new aO,uO=class extends R{constructor(){super("sui.rpc.v2.ListBalancesRequest",[{no:1,name:"owner",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12}])}},lO=new uO,dO=class extends R{constructor(){super("sui.rpc.v2.ListBalancesResponse",[{no:1,name:"balances",kind:"message",repeat:1,T:()=>Ty},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},fO=new dO,pO=class extends R{constructor(){super("sui.rpc.v2.Balance",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:3,name:"balance",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"address_balance",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"coin_balance",kind:"scalar",opt:!0,T:4,L:0}])}},Ty=new pO,hO=class extends R{constructor(){super("sui.rpc.v2.ListDynamicFieldsRequest",[{no:1,name:"parent",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12},{no:4,name:"read_mask",kind:"message",T:()=>Tn}])}},mO=new hO,gO=class extends R{constructor(){super("sui.rpc.v2.ListDynamicFieldsResponse",[{no:1,name:"dynamic_fields",kind:"message",repeat:1,T:()=>wO},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},yO=new gO,bO=class extends R{constructor(){super("sui.rpc.v2.DynamicField",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DynamicField.DynamicFieldKind",tp]},{no:2,name:"parent",kind:"scalar",opt:!0,T:9},{no:3,name:"field_id",kind:"scalar",opt:!0,T:9},{no:4,name:"field_object",kind:"message",T:()=>Br},{no:5,name:"name",kind:"message",T:()=>et},{no:6,name:"value",kind:"message",T:()=>et},{no:7,name:"value_type",kind:"scalar",opt:!0,T:9},{no:8,name:"child_id",kind:"scalar",opt:!0,T:9},{no:9,name:"child_object",kind:"message",T:()=>Br}])}},wO=new bO,_O=class extends R{constructor(){super("sui.rpc.v2.ListOwnedObjectsRequest",[{no:1,name:"owner",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12},{no:4,name:"read_mask",kind:"message",T:()=>Tn},{no:5,name:"object_type",kind:"scalar",opt:!0,T:9}])}},vO=new _O,TO=class extends R{constructor(){super("sui.rpc.v2.ListOwnedObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Br},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},kO=new TO,Vu=new sn("sui.rpc.v2.StateService",[{name:"ListDynamicFields",options:{},I:mO,O:yO},{name:"ListOwnedObjects",options:{},I:vO,O:kO},{name:"GetCoinInfo",options:{},I:KS,O:XS},{name:"GetBalance",options:{},I:oO,O:cO},{name:"ListBalances",options:{},I:lO,O:fO}]);var ky=class{constructor(t){this._transport=t,this.typeName=Vu.typeName,this.methods=Vu.methods,this.options=Vu.options}listDynamicFields(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}listOwnedObjects(t,e){let n=this.methods[1],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getCoinInfo(t,e){let n=this.methods[2],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}getBalance(t,e){let n=this.methods[3],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}listBalances(t,e){let n=this.methods[4],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}};var EO=class extends R{constructor(){super("sui.rpc.v2.SubscribeCheckpointsRequest",[{no:1,name:"read_mask",kind:"message",T:()=>Tn}])}},xO=new EO,SO=class extends R{constructor(){super("sui.rpc.v2.SubscribeCheckpointsResponse",[{no:1,name:"cursor",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"checkpoint",kind:"message",T:()=>ju}])}},OO=new SO,Fu=new sn("sui.rpc.v2.SubscriptionService",[{name:"SubscribeCheckpoints",serverStreaming:!0,options:{},I:xO,O:OO}]);var Ey=class{constructor(t){this._transport=t,this.typeName=Fu.typeName,this.methods=Fu.methods,this.options=Fu.options}subscribeCheckpoints(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("serverStreaming",this._transport,n,r,t)}};var IO=class extends R{constructor(){super("sui.rpc.v2.LookupNameRequest",[{no:1,name:"name",kind:"scalar",opt:!0,T:9}])}},AO=new IO,CO=class extends R{constructor(){super("sui.rpc.v2.LookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>xy}])}},NO=new CO,RO=class extends R{constructor(){super("sui.rpc.v2.ReverseLookupNameRequest",[{no:1,name:"address",kind:"scalar",opt:!0,T:9}])}},BO=new RO,MO=class extends R{constructor(){super("sui.rpc.v2.ReverseLookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>xy}])}},DO=new MO,jO=class extends R{constructor(){super("sui.rpc.v2.NameRecord",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"name",kind:"scalar",opt:!0,T:9},{no:3,name:"registration_nft_id",kind:"scalar",opt:!0,T:9},{no:4,name:"expiration_timestamp",kind:"message",T:()=>fn},{no:5,name:"target_address",kind:"scalar",opt:!0,T:9},{no:6,name:"data",kind:"map",K:9,V:{kind:"scalar",T:9}}])}},xy=new jO,qu=new sn("sui.rpc.v2.NameService",[{name:"LookupName",options:{},I:AO,O:NO},{name:"ReverseLookupName",options:{},I:BO,O:DO}]);var Sy=class{constructor(t){this._transport=t,this.typeName=qu.typeName,this.methods=qu.methods,this.options=qu.options}lookupName(t,e){let n=this.methods[0],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}reverseLookupName(t,e){let n=this.methods[1],r=this._transport.mergeOptions(e);return Ve("unary",this._transport,n,r,t)}};var ee;(function(t){t[t.OK=0]="OK",t[t.CANCELLED=1]="CANCELLED",t[t.UNKNOWN=2]="UNKNOWN",t[t.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",t[t.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",t[t.NOT_FOUND=5]="NOT_FOUND",t[t.ALREADY_EXISTS=6]="ALREADY_EXISTS",t[t.PERMISSION_DENIED=7]="PERMISSION_DENIED",t[t.UNAUTHENTICATED=16]="UNAUTHENTICATED",t[t.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",t[t.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",t[t.ABORTED=10]="ABORTED",t[t.OUT_OF_RANGE=11]="OUT_OF_RANGE",t[t.UNIMPLEMENTED=12]="UNIMPLEMENTED",t[t.INTERNAL=13]="INTERNAL",t[t.UNAVAILABLE=14]="UNAVAILABLE",t[t.DATA_LOSS=15]="DATA_LOSS"})(ee||(ee={}));var UO=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function a(d){try{u(r.next(d))}catch(f){o(f)}}function c(d){try{u(r.throw(d))}catch(f){o(f)}}function u(d){d.done?i(d.value):s(d.value).then(a,c)}u((r=r.apply(t,e||[])).next())})};function np(t,e,n,r,s){if(r)for(let[i,o]of Object.entries(r))if(typeof o=="string")t.append(i,o);else for(let a of o)t.append(i,a);if(t.set("Content-Type",e==="text"?"application/grpc-web-text":"application/grpc-web+proto"),e=="text"&&t.set("Accept","application/grpc-web-text"),t.set("X-Grpc-Web","1"),s&&t.set("X-User-Agent",s),typeof n=="number"){if(n<=0)throw new Ue(`timeout ${n} ms exceeded`,ee[ee.DEADLINE_EXCEEDED]);t.set("grpc-timeout",`${n}m`)}else if(n){let i=n.getTime(),o=Date.now();if(i<=o)throw new Ue(`deadline ${n} exceeded`,ee[ee.DEADLINE_EXCEEDED]);t.set("grpc-timeout",`${i-o}m`)}return t}function rp(t,e){let n=new Uint8Array(5+t.length);n[0]=Xn.DATA;for(let r=t.length,s=4;s>0;s--)n[s]=r%256,r>>>=8;return n.set(t,5),e==="binary"?n:Ra(n)}function $u(t,e,n){if(arguments.length===1){let c=t,u;try{u=c.type}catch{}switch(u){case"error":case"opaque":case"opaqueredirect":throw new Ue(`fetch response type ${c.type}`,ee[ee.UNKNOWN])}return $u(FO(c.headers),c.status,c.statusText)}let r=t,s=e>=200&&e<300,i=Ay(r),[o,a]=Iy(r);return(o===void 0||o===ee.OK)&&!s&&(o=qO(e),a=n),[o,a,i]}function sp(t){let e=VO(t),[n,r]=Iy(e),s=Ay(e);return[n??ee.OK,r,s]}var Xn;(function(t){t[t.DATA=0]="DATA",t[t.TRAILER=128]="TRAILER"})(Xn||(Xn={}));function ip(t,e,n){return UO(this,void 0,void 0,function*(){let r,s="",i=new Uint8Array(0),o=PO(e);if(LO(t)){let a=t.getReader();r={next:()=>a.read()}}else r=t[Symbol.asyncIterator]();for(;;){let a=yield r.next();if(a.value!==void 0){if(o==="text"){for(let u=0;u<a.value.length;u++)s+=String.fromCharCode(a.value[u]);let c=s.length-s.length%4;if(c===0)continue;i=Oy(i,Na(s.substring(0,c))),s=s.substring(c)}else i=Oy(i,a.value);for(;i.length>=5&&i[0]===Xn.DATA;){let c=0;for(let u=1;u<5;u++)c=(c<<8)+i[u];if(i.length-5>=c)n(Xn.DATA,i.subarray(5,5+c)),i=i.subarray(5+c);else break}}if(a.done){if(i.length===0)break;if(i[0]!==Xn.TRAILER||i.length<5)throw new Ue("premature EOF",ee[ee.DATA_LOSS]);n(Xn.TRAILER,i.subarray(5));break}}})}var LO=t=>typeof t.getReader=="function";function Oy(t,e){let n=new Uint8Array(t.length+e.length);return n.set(t),n.set(e,t.length),n}function PO(t){switch(t){case"application/grpc-web-text":case"application/grpc-web-text+proto":return"text";case"application/grpc-web":case"application/grpc-web+proto":return"binary";case void 0:case null:throw new Ue("missing response content type",ee[ee.INTERNAL]);default:throw new Ue("unexpected response content type: "+t,ee[ee.INTERNAL])}}function Iy(t){let e,n,r=t["grpc-message"];if(r!==void 0){if(Array.isArray(r))return[ee.INTERNAL,"invalid grpc-web message"];n=r}let s=t["grpc-status"];if(s!==void 0){if(Array.isArray(s))return[ee.INTERNAL,"invalid grpc-web status"];if(e=parseInt(s,10),ee[e]===void 0)return[ee.INTERNAL,"invalid grpc-web status"]}return[e,n]}function Ay(t){let e={};for(let[n,r]of Object.entries(t))switch(n){case"grpc-message":case"grpc-status":case"content-type":break;default:e[n]=r}return e}function VO(t){let e={};for(let n of String.fromCharCode.apply(String,t).trim().split(`\r
10
+ `)){if(n=="")continue;let[r,...s]=n.split(":"),i=s.join(":").trim();r=r.trim();let o=e[r];typeof o=="string"?e[r]=[o,i]:Array.isArray(o)?o.push(i):e[r]=i}return e}function FO(t){let e={};return t.forEach((n,r)=>{let s=e[r];typeof s=="string"?e[r]=[s,n]:Array.isArray(s)?s.push(n):e[r]=n}),e}function qO(t){switch(t){case 200:return ee.OK;case 400:return ee.INVALID_ARGUMENT;case 401:return ee.UNAUTHENTICATED;case 403:return ee.PERMISSION_DENIED;case 404:return ee.NOT_FOUND;case 409:return ee.ABORTED;case 412:return ee.FAILED_PRECONDITION;case 429:return ee.RESOURCE_EXHAUSTED;case 499:return ee.CANCELLED;case 500:return ee.UNKNOWN;case 501:return ee.UNIMPLEMENTED;case 503:return ee.UNAVAILABLE;case 504:return ee.DEADLINE_EXCEEDED;default:return ee.UNKNOWN}}var za=class{constructor(e){this.defaultOptions=e}mergeOptions(e){return Kf(this.defaultOptions,e)}makeUrl(e,n){let r=n.baseUrl;return r.endsWith("/")&&(r=r.substring(0,r.length-1)),`${r}/${e.service.typeName}/${e.name}`}clientStreaming(e){let n=new Ue("Client streaming is not supported by grpc-web",ee[ee.UNIMPLEMENTED]);throw n.methodName=e.name,n.serviceName=e.service.typeName,n}duplex(e){let n=new Ue("Duplex streaming is not supported by grpc-web",ee[ee.UNIMPLEMENTED]);throw n.methodName=e.name,n.serviceName=e.service.typeName,n}serverStreaming(e,n,r){var s,i,o,a,c;let u=r,d=(s=u.format)!==null&&s!==void 0?s:"text",f=(i=u.fetch)!==null&&i!==void 0?i:globalThis.fetch,p=(o=u.fetchInit)!==null&&o!==void 0?o:{},m=this.makeUrl(e,u),b=e.I.toBinary(n,u.binaryOptions),_=new Fn,T=new $a,O=!0,B,C=new Fn,U,P=new Fn;return f(m,Object.assign(Object.assign({},p),{method:"POST",headers:np(new globalThis.Headers,d,u.timeout,u.meta),body:rp(b,d),signal:(a=r.abort)!==null&&a!==void 0?a:null})).then(L=>{let[q,V,F]=$u(L);if(_.resolve(F),q!=null&&q!==ee.OK)throw new Ue(V??ee[q],ee[q],F);return q!=null&&(B={code:ee[q],detail:V??ee[q]}),L}).then(L=>{if(!L.body)throw new Ue("missing response body",ee[ee.INTERNAL]);return ip(L.body,L.headers.get("content-type"),(q,V)=>{switch(q){case Xn.DATA:T.notifyMessage(e.O.fromBinary(V,u.binaryOptions)),O=!1;break;case Xn.TRAILER:let F,X;[F,X,U]=sp(V),B={code:ee[F],detail:X??ee[F]};break}})}).then(()=>{if(!U&&!O)throw new Ue("missing trailers",ee[ee.DATA_LOSS]);if(!B)throw new Ue("missing status",ee[ee.INTERNAL]);if(B.code!=="OK")throw new Ue(B.detail,B.code,U);T.notifyComplete(),C.resolve(B),P.resolve(U||{})}).catch(L=>{let q;L instanceof Ue?q=L:L instanceof Error&&L.name==="AbortError"?q=new Ue(L.message,ee[ee.CANCELLED]):q=new Ue(L instanceof Error?L.message:""+L,ee[ee.INTERNAL]),q.methodName=e.name,q.serviceName=e.service.typeName,_.rejectPending(q),T.notifyError(q),C.rejectPending(q),P.rejectPending(q)}),new Ha(e,(c=u.meta)!==null&&c!==void 0?c:{},n,_.promise,T,C.promise,P.promise)}unary(e,n,r){var s,i,o,a,c;let u=r,d=(s=u.format)!==null&&s!==void 0?s:"text",f=(i=u.fetch)!==null&&i!==void 0?i:globalThis.fetch,p=(o=u.fetchInit)!==null&&o!==void 0?o:{},m=this.makeUrl(e,u),b=e.I.toBinary(n,u.binaryOptions),_=new Fn,T,O=new Fn,B,C=new Fn,U,P=new Fn;return f(m,Object.assign(Object.assign({},p),{method:"POST",headers:np(new globalThis.Headers,d,u.timeout,u.meta),body:rp(b,d),signal:(a=r.abort)!==null&&a!==void 0?a:null})).then(L=>{let[q,V,F]=$u(L);if(_.resolve(F),q!=null&&q!==ee.OK)throw new Ue(V??ee[q],ee[q],F);return q!=null&&(B={code:ee[q],detail:V??ee[q]}),L}).then(L=>{if(!L.body)throw new Ue("missing response body",ee[ee.INTERNAL]);return ip(L.body,L.headers.get("content-type"),(q,V)=>{switch(q){case Xn.DATA:if(T)throw new Ue("unary call received 2nd message",ee[ee.DATA_LOSS]);T=e.O.fromBinary(V,u.binaryOptions);break;case Xn.TRAILER:let F,X;[F,X,U]=sp(V),B={code:ee[F],detail:X??ee[F]};break}})}).then(()=>{if(!U&&T)throw new Ue("missing trailers",ee[ee.DATA_LOSS]);if(!B)throw new Ue("missing status",ee[ee.INTERNAL]);if(!T&&B.code==="OK")throw new Ue("expected error status",ee[ee.DATA_LOSS]);if(!T)throw new Ue(B.detail,B.code,U);if(O.resolve(T),B.code!=="OK")throw new Ue(B.detail,B.code,U);C.resolve(B),P.resolve(U||{})}).catch(L=>{let q;L instanceof Ue?q=L:L instanceof Error&&L.name==="AbortError"?q=new Ue(L.message,ee[ee.CANCELLED]):q=new Ue(L instanceof Error?L.message:""+L,ee[ee.INTERNAL]),q.methodName=e.name,q.serviceName=e.service.typeName,_.rejectPending(q),O.rejectPending(q),C.rejectPending(q),P.rejectPending(q)}),new Ga(e,(c=u.meta)!==null&&c!==void 0?c:{},n,_.promise,O.promise,C.promise,P.promise)}};var $O=Symbol.for("@mysten/SuiGrpcClient");var Wa=class extends xo{get mvr(){return this.core.mvr}get[$O](){return!0}constructor(t){super({network:t.network});let e=t.transport??new za({baseUrl:t.baseUrl,fetchInit:t.fetchInit});this.transactionExecutionService=new ly(e),this.ledgerService=new wy(e),this.stateService=new ky(e),this.subscriptionService=new Ey(e),this.movePackageService=new _y(e),this.signatureVerificationService=new vy(e),this.nameService=new Sy(e),this.core=new uy({client:this,base:this,network:t.network,mvr:t.mvr})}getObjects(t){return this.core.getObjects(t)}getObject(t){return this.core.getObject(t)}listCoins(t){return this.core.listCoins(t)}listOwnedObjects(t){return this.core.listOwnedObjects(t)}getBalance(t){return this.core.getBalance(t)}listBalances(t){return this.core.listBalances(t)}getCoinMetadata(t){return this.core.getCoinMetadata(t)}getTransaction(t){return this.core.getTransaction(t)}executeTransaction(t){return this.core.executeTransaction(t)}signAndExecuteTransaction(t){return this.core.signAndExecuteTransaction(t)}waitForTransaction(t){return this.core.waitForTransaction(t)}simulateTransaction(t){return this.core.simulateTransaction(t)}getReferenceGasPrice(){return this.core.getReferenceGasPrice()}async listDynamicFields(t){let e=t.include?.value??!1,n=["field_id","name","value_type","kind","child_id"];e&&n.push("value");let r=await this.stateService.listDynamicFields({parent:t.parentId,pageToken:t.cursor?le(t.cursor):void 0,pageSize:t.limit,readMask:{paths:n}});return{dynamicFields:r.response.dynamicFields.map(s=>{let i=s.kind===tp.OBJECT,o=i?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${s.name?.name}>,0x2::object::ID>`:`0x2::dynamic_field::Field<${s.name?.name},${s.valueType}>`;return{$kind:i?"DynamicObject":"DynamicField",fieldId:s.fieldId,name:{type:s.name?.name,bcs:s.name?.value},valueType:s.valueType,type:Be(o),childId:s.childId,value:e?{type:s.valueType,bcs:s.value?.value??new Uint8Array}:void 0}}),cursor:r.response.nextPageToken?ve(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}getDynamicField(t){return this.core.getDynamicField(t)}getMoveFunction(t){return this.core.getMoveFunction(t)}resolveTransactionPlugin(){return this.core.resolveTransactionPlugin()}verifyZkLoginSignature(t){return this.core.verifyZkLoginSignature(t)}defaultNameServiceName(t){return this.core.defaultNameServiceName(t)}};var qs={ED25519:0,Secp256k1:1,Secp256r1:2,MultiSig:3,ZkLogin:5,Passkey:6},Cy={ED25519:32,Secp256k1:33,Secp256r1:33,Passkey:33},Za={0:"ED25519",1:"Secp256k1",2:"Secp256r1",3:"MultiSig",5:"ZkLogin",6:"Passkey"};function Gu(t,e){return A.IntentMessage(A.bytes(e.length)).serialize({intent:{scope:{[t]:!0},version:{V0:!0},appId:{Sui:!0}},value:e}).toBytes()}function Ja(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}var Hu=class{equals(t){return Ja(this.toRawBytes(),t.toRawBytes())}toBase64(){return ve(this.toRawBytes())}toString(){throw new Error("`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.")}toSuiPublicKey(){return ve(this.toSuiBytes())}verifyWithIntent(t,e,n){let r=ur(Gu(n,t),{dkLen:32});return this.verify(r,e)}verifyPersonalMessage(t,e){return this.verifyWithIntent(A.byteVector().serialize(t).toBytes(),e,"PersonalMessage")}verifyTransaction(t,e){return this.verifyWithIntent(t,e,"TransactionData")}verifyAddress(t){return this.toSuiAddress()===t}toSuiBytes(){let t=this.toRawBytes(),e=new Uint8Array(t.length+1);return e.set([this.flag()]),e.set(t,1),e}toSuiAddress(){return ae(Eo(ur(this.toSuiBytes(),{dkLen:32})).slice(0,Xr*2))}};function zu(t){let e=le(t),n=Za[e[0]];switch(n){case"ED25519":case"Secp256k1":case"Secp256r1":let r=Cy[n],s=e.slice(1,e.length-r);return{serializedSignature:t,signatureScheme:n,signature:s,publicKey:e.slice(1+s.length),bytes:e};default:throw new Error("Unsupported signature scheme")}}var GO=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),$s=new Uint32Array(64),op=class extends Ta{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:n,C:r,D:s,E:i,F:o,G:a,H:c}=this;return[e,n,r,s,i,o,a,c]}set(e,n,r,s,i,o,a,c){this.A=e|0,this.B=n|0,this.C=r|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,n){for(let f=0;f<16;f++,n+=4)$s[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){let p=$s[f-15],m=$s[f-2],b=cr(p,7)^cr(p,18)^p>>>3,_=cr(m,17)^cr(m,19)^m>>>10;$s[f]=_+$s[f-7]+b+$s[f-16]|0}let{A:r,B:s,C:i,D:o,E:a,F:c,G:u,H:d}=this;for(let f=0;f<64;f++){let p=cr(a,6)^cr(a,11)^cr(a,25),m=d+p+M0(a,c,u)+GO[f]+$s[f]|0,_=(cr(r,2)^cr(r,13)^cr(r,22))+D0(r,s,i)|0;d=u,u=c,c=a,a=o+m|0,o=i,i=s,s=r,r=m+_|0}r=r+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,s,i,o,a,c,u,d)}roundClean(){Pn($s)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),Pn(this.buffer)}},ap=class extends op{A=ns[0]|0;B=ns[1]|0;C=ns[2]|0;D=ns[3]|0;E=ns[4]|0;F=ns[5]|0;G=ns[6]|0;H=ns[7]|0;constructor(){super(32)}};var Ny=(()=>U0(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),HO=(()=>Ny[0])(),zO=(()=>Ny[1])(),Gs=new Uint32Array(80),Hs=new Uint32Array(80),cp=class extends Ta{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:n,Bh:r,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:b,Hh:_,Hl:T}=this;return[e,n,r,s,i,o,a,c,u,d,f,p,m,b,_,T]}set(e,n,r,s,i,o,a,c,u,d,f,p,m,b,_,T){this.Ah=e|0,this.Al=n|0,this.Bh=r|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=d|0,this.Fh=f|0,this.Fl=p|0,this.Gh=m|0,this.Gl=b|0,this.Hh=_|0,this.Hl=T|0}process(e,n){for(let C=0;C<16;C++,n+=4)Gs[C]=e.getUint32(n),Hs[C]=e.getUint32(n+=4);for(let C=16;C<80;C++){let U=Gs[C-15]|0,P=Hs[C-15]|0,L=Ar(U,P,1)^Ar(U,P,8)^yf(U,P,7),q=Cr(U,P,1)^Cr(U,P,8)^bf(U,P,7),V=Gs[C-2]|0,F=Hs[C-2]|0,X=Ar(V,F,19)^vi(V,F,61)^yf(V,F,6),Q=Cr(V,F,19)^Ti(V,F,61)^bf(V,F,6),D=V0(q,Q,Hs[C-7],Hs[C-16]),N=F0(D,L,X,Gs[C-7],Gs[C-16]);Gs[C]=N|0,Hs[C]=D|0}let{Ah:r,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:u,Dl:d,Eh:f,El:p,Fh:m,Fl:b,Gh:_,Gl:T,Hh:O,Hl:B}=this;for(let C=0;C<80;C++){let U=Ar(f,p,14)^Ar(f,p,18)^vi(f,p,41),P=Cr(f,p,14)^Cr(f,p,18)^Ti(f,p,41),L=f&m^~f&_,q=p&b^~p&T,V=q0(B,P,q,zO[C],Hs[C]),F=$0(V,O,U,L,HO[C],Gs[C]),X=V|0,Q=Ar(r,s,28)^vi(r,s,34)^vi(r,s,39),D=Cr(r,s,28)^Ti(r,s,34)^Ti(r,s,39),N=r&i^r&a^i&a,j=s&o^s&c^o&c;O=_|0,B=T|0,_=m|0,T=b|0,m=f|0,b=p|0,{h:f,l:p}=Vn(u|0,d|0,F|0,X|0),u=a|0,d=c|0,a=i|0,c=o|0,i=r|0,o=s|0;let l=ka(X,D,j);r=Ea(l,F,Q,N),s=l|0}({h:r,l:s}=Vn(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:o}=Vn(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=Vn(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:d}=Vn(this.Dh|0,this.Dl|0,u|0,d|0),{h:f,l:p}=Vn(this.Eh|0,this.El|0,f|0,p|0),{h:m,l:b}=Vn(this.Fh|0,this.Fl|0,m|0,b|0),{h:_,l:T}=Vn(this.Gh|0,this.Gl|0,_|0,T|0),{h:O,l:B}=Vn(this.Hh|0,this.Hl|0,O|0,B|0),this.set(r,s,i,o,a,c,u,d,f,p,m,b,_,T,O,B)}roundClean(){Pn(Gs,Hs)}destroy(){this.destroyed=!0,Pn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},up=class extends cp{Ah=tn[0]|0;Al=tn[1]|0;Bh=tn[2]|0;Bl=tn[3]|0;Ch=tn[4]|0;Cl=tn[5]|0;Dh=tn[6]|0;Dl=tn[7]|0;Eh=tn[8]|0;El=tn[9]|0;Fh=tn[10]|0;Fl=tn[11]|0;Gh=tn[12]|0;Gl=tn[13]|0;Hh=tn[14]|0;Hl=tn[15]|0;constructor(){super(64)}};var Ry=va(()=>new ap,mf(1));var Di=va(()=>new up,mf(3));var De=(t,e,n)=>$t(t,e,n),dp=Wn,No=Eo,Jt=(...t)=>hf(...t),Ro=t=>_a(t),ji=pf,Ka=t=>R0(t),Zu=BigInt(0),lp=BigInt(1);function fr(t,e=""){if(typeof t!="boolean"){let n=e&&`"${e}" `;throw new TypeError(n+"expected boolean, got type="+typeof t)}return t}function Ju(t){if(typeof t=="bigint"){if(!Wu(t))throw new RangeError("positive bigint expected, got "+t)}else dp(t);return t}function pr(t,e=""){if(typeof t!="number"){let n=e&&`"${e}" `;throw new TypeError(n+"expected number, got type="+typeof t)}if(!Number.isSafeInteger(t)){let n=e&&`"${e}" `;throw new RangeError(n+"expected safe integer, got "+t)}}function Ya(t){let e=Ju(t).toString(16);return e.length&1?"0"+e:e}function By(t){if(typeof t!="string")throw new TypeError("hex string expected, got "+typeof t);return t===""?Zu:BigInt("0x"+t)}function Ui(t){return By(Eo(t))}function Dr(t){return By(Eo(Xa($t(t)).reverse()))}function Ku(t,e){if(Wn(e),e===0)throw new RangeError("zero length");t=Ju(t);let n=t.toString(16);if(n.length>e*2)throw new RangeError("number too large");return _a(n.padStart(e*2,"0"))}function fp(t,e){return Ku(t,e).reverse()}function My(t,e){if(t=De(t),e=De(e),t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}function Xa(t){return Uint8Array.from(De(t))}function Yu(t){if(typeof t!="string")throw new TypeError("ascii string expected, got "+typeof t);return Uint8Array.from(t,(e,n)=>{let r=e.charCodeAt(0);if(e.length!==1||r>127)throw new RangeError(`string contains non-ASCII character "${t[n]}" with code ${r} at position ${n}`);return r})}var Wu=t=>typeof t=="bigint"&&Zu<=t;function WO(t,e,n){return Wu(t)&&Wu(e)&&Wu(n)&&e<=t&&t<n}function Bo(t,e,n,r){if(!WO(e,n,r))throw new RangeError("expected valid "+t+": "+n+" <= n < "+r+", got "+e)}function Mo(t){if(t<Zu)throw new Error("expected non-negative bigint, got "+t);let e;for(e=0;t>Zu;t>>=lp,e+=1);return e}var Qa=t=>(lp<<BigInt(t))-lp;function Dy(t,e,n){if(Wn(t,"hashLen"),Wn(e,"qByteLen"),typeof n!="function")throw new TypeError("hmacFn must be a function");let r=T=>new Uint8Array(T),s=Uint8Array.of(),i=Uint8Array.of(0),o=Uint8Array.of(1),a=1e3,c=r(t),u=r(t),d=0,f=()=>{c.fill(1),u.fill(0),d=0},p=(...T)=>n(u,Jt(c,...T)),m=(T=s)=>{u=p(i,T),c=p(),T.length!==0&&(u=p(o,T),c=p())},b=()=>{if(d++>=a)throw new Error("drbg: tried max amount of iterations");let T=0,O=[];for(;T<e;){c=p();let B=c.slice();O.push(B),T+=c.length}return Jt(...O)};return(T,O)=>{f(),m(T);let B;for(;(B=O(b()))===void 0;)m();return f(),B}}function hr(t,e={},n={}){if(Object.prototype.toString.call(t)!=="[object Object]")throw new TypeError("expected valid options object");function r(i,o,a){if(!a&&o!=="function"&&!Object.hasOwn(t,i))throw new TypeError(`param "${i}" is invalid: expected own property`);let c=t[i];if(a&&c===void 0)return;let u=typeof c;if(u!==o||c===null)throw new TypeError(`param "${i}" is invalid: expected ${o}, got ${u}`)}let s=(i,o)=>Object.entries(i).forEach(([a,c])=>r(a,c,o));s(e,!1),s(n,!0)}var pp=()=>{throw new Error("not implemented")};var on=BigInt(0),nt=BigInt(1),Li=BigInt(2),Py=BigInt(3),Vy=BigInt(4),Fy=BigInt(5),ZO=BigInt(7),qy=BigInt(8),JO=BigInt(9),$y=BigInt(16);function at(t,e){if(e<=on)throw new Error("mod: expected positive modulus, got "+e);let n=t%e;return n>=on?n:e+n}function Xe(t,e,n){if(e<on)throw new Error("pow2: expected non-negative exponent, got "+e);let r=t;for(;e-- >on;)r*=r,r%=n;return r}function jy(t,e){if(t===on)throw new Error("invert: expected non-zero number");if(e<=on)throw new Error("invert: expected positive modulus, got "+e);let n=at(t,e),r=e,s=on,i=nt,o=nt,a=on;for(;n!==on;){let u=r/n,d=r-n*u,f=s-o*u,p=i-a*u;r=n,n=d,s=o,i=a,o=f,a=p}if(r!==nt)throw new Error("invert: does not exist");return at(s,e)}function hp(t,e,n){let r=t;if(!r.eql(r.sqr(e),n))throw new Error("Cannot find square root")}function Gy(t,e){let n=t,r=(n.ORDER+nt)/Vy,s=n.pow(e,r);return hp(n,s,e),s}function KO(t,e){let n=t,r=(n.ORDER-Fy)/qy,s=n.mul(e,Li),i=n.pow(s,r),o=n.mul(e,i),a=n.mul(n.mul(o,Li),i),c=n.mul(o,n.sub(a,n.ONE));return hp(n,c,e),c}function YO(t){let e=Do(t),n=Hy(t),r=n(e,e.neg(e.ONE)),s=n(e,r),i=n(e,e.neg(r)),o=(t+ZO)/$y;return(a,c)=>{let u=a,d=u.pow(c,o),f=u.mul(d,r),p=u.mul(d,s),m=u.mul(d,i),b=u.eql(u.sqr(f),c),_=u.eql(u.sqr(p),c);d=u.cmov(d,f,b),f=u.cmov(m,p,_);let T=u.eql(u.sqr(f),c),O=u.cmov(d,f,T);return hp(u,O,c),O}}function Hy(t){if(t<Py)throw new Error("sqrt is not defined for small field");let e=t-nt,n=0;for(;e%Li===on;)e/=Li,n++;let r=Li,s=Do(t);for(;Uy(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return Gy;let i=s.pow(r,e),o=(e+nt)/Li;return function(c,u){let d=c;if(d.is0(u))return u;if(Uy(d,u)!==1)throw new Error("Cannot find square root");let f=n,p=d.mul(d.ONE,i),m=d.pow(u,e),b=d.pow(u,o);for(;!d.eql(m,d.ONE);){if(d.is0(m))return d.ZERO;let _=1,T=d.sqr(m);for(;!d.eql(T,d.ONE);)if(_++,T=d.sqr(T),_===f)throw new Error("Cannot find square root");let O=nt<<BigInt(f-_-1),B=d.pow(p,O);f=_,p=d.sqr(B),m=d.mul(m,p),b=d.mul(b,B)}return b}}function XO(t){return t%Vy===Py?Gy:t%qy===Fy?KO:t%$y===JO?YO(t):Hy(t)}var hs=(t,e)=>(at(t,e)&nt)===nt,QO=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function mp(t){let e={ORDER:"bigint",BYTES:"number",BITS:"number"},n=QO.reduce((r,s)=>(r[s]="function",r),e);if(hr(t,n),pr(t.BYTES,"BYTES"),pr(t.BITS,"BITS"),t.BYTES<1||t.BITS<1)throw new Error("invalid field: expected BYTES/BITS > 0");if(t.ORDER<=nt)throw new Error("invalid field: expected ORDER > 1, got "+t.ORDER);return t}function eI(t,e,n){let r=t;if(n<on)throw new Error("invalid exponent, negatives unsupported");if(n===on)return r.ONE;if(n===nt)return e;let s=r.ONE,i=e;for(;n>on;)n&nt&&(s=r.mul(s,i)),i=r.sqr(i),n>>=nt;return s}function ec(t,e,n=!1){let r=t,s=new Array(e.length).fill(n?r.ZERO:void 0),i=e.reduce((a,c,u)=>r.is0(c)?a:(s[u]=a,r.mul(a,c)),r.ONE),o=r.inv(i);return e.reduceRight((a,c,u)=>r.is0(c)?a:(s[u]=r.mul(a,s[u]),r.mul(a,c)),o),s}function Uy(t,e){let n=t,r=(n.ORDER-nt)/Li,s=n.pow(e,r),i=n.eql(s,n.ONE),o=n.eql(s,n.ZERO),a=n.eql(s,n.neg(n.ONE));if(!i&&!o&&!a)throw new Error("invalid Legendre symbol result");return i?1:o?0:-1}function tI(t,e){if(e!==void 0&&dp(e),t<=on)throw new Error("invalid n length: expected positive n, got "+t);if(e!==void 0&&e<1)throw new Error("invalid n length: expected positive bit length, got "+e);let n=Mo(t);if(e!==void 0&&e<n)throw new Error(`invalid n length: expected bit length (${n}) >= n.length (${e})`);let r=e!==void 0?e:n,s=Math.ceil(r/8);return{nBitLength:r,nByteLength:s}}var Ly=new WeakMap,Xu=class{ORDER;BITS;BYTES;isLE;ZERO=on;ONE=nt;_lengths;_mod;constructor(e,n={}){if(e<=nt)throw new Error("invalid field: expected ORDER > 1, got "+e);let r;this.isLE=!1,n!=null&&typeof n=="object"&&(typeof n.BITS=="number"&&(r=n.BITS),typeof n.sqrt=="function"&&Object.defineProperty(this,"sqrt",{value:n.sqrt,enumerable:!0}),typeof n.isLE=="boolean"&&(this.isLE=n.isLE),n.allowedLengths&&(this._lengths=Object.freeze(n.allowedLengths.slice())),typeof n.modFromBytes=="boolean"&&(this._mod=n.modFromBytes));let{nBitLength:s,nByteLength:i}=tI(e,r);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=s,this.BYTES=i,Object.freeze(this)}create(e){return at(e,this.ORDER)}isValid(e){if(typeof e!="bigint")throw new TypeError("invalid field element: expected bigint, got "+typeof e);return on<=e&&e<this.ORDER}is0(e){return e===on}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&nt)===nt}neg(e){return at(-e,this.ORDER)}eql(e,n){return e===n}sqr(e){return at(e*e,this.ORDER)}add(e,n){return at(e+n,this.ORDER)}sub(e,n){return at(e-n,this.ORDER)}mul(e,n){return at(e*n,this.ORDER)}pow(e,n){return eI(this,e,n)}div(e,n){return at(e*jy(n,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,n){return e+n}subN(e,n){return e-n}mulN(e,n){return e*n}inv(e){return jy(e,this.ORDER)}sqrt(e){let n=Ly.get(this);return n||Ly.set(this,n=XO(this.ORDER)),n(this,e)}toBytes(e){return this.isLE?fp(e,this.BYTES):Ku(e,this.BYTES)}fromBytes(e,n=!1){De(e);let{_lengths:r,BYTES:s,isLE:i,ORDER:o,_mod:a}=this;if(r){if(e.length<1||!r.includes(e.length)||e.length>s)throw new Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let u=new Uint8Array(s);u.set(e,i?0:u.length-e.length),e=u}if(e.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+e.length);let c=i?Dr(e):Ui(e);if(a&&(c=at(c,o)),!n&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(e){return ec(this,e)}cmov(e,n,r){return fr(r,"condition"),r?n:e}};Object.freeze(Xu.prototype);function Do(t,e={}){return new Xu(t,e)}function zy(t){if(typeof t!="bigint")throw new Error("field order must be bigint");if(t<=nt)throw new Error("field order must be greater than 1");let e=Mo(t-nt);return Math.ceil(e/8)}function gp(t){let e=zy(t);return e+Math.ceil(e/2)}function yp(t,e,n=!1){De(t);let r=t.length,s=zy(e),i=Math.max(gp(e),16);if(r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);let o=n?Dr(t):Ui(t),a=at(o,e-nt)+nt;return n?fp(a,s):Ku(a,s)}var jo=BigInt(0),Pi=BigInt(1);function tc(t,e){let n=e.negate();return t?n:e}function Vi(t,e){let n=ec(t.Fp,e.map(r=>r.Z));return e.map((r,s)=>t.fromAffine(r.toAffine(n[s])))}function Ky(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function bp(t,e){Ky(t,e);let n=Math.ceil(e/t)+1,r=2**(t-1),s=2**t,i=Qa(t),o=BigInt(t);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:o}}function Wy(t,e,n){let{windowSize:r,mask:s,maxNumber:i,shiftBy:o}=n,a=Number(t&s),c=t>>o;a>r&&(a-=i,c+=Pi);let u=e*r,d=u+Math.abs(a)-1,f=a===0,p=a<0,m=e%2!==0;return{nextN:c,offset:d,isZero:f,isNeg:p,isNegF:m,offsetF:u}}var wp=new WeakMap,Yy=new WeakMap;function _p(t){return Yy.get(t)||1}function Zy(t){if(t!==jo)throw new Error("invalid wNAF")}var Uo=class{BASE;ZERO;Fn;bits;constructor(e,n){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=n}_unsafeLadder(e,n,r=this.ZERO){let s=e;for(;n>jo;)n&Pi&&(r=r.add(s)),s=s.double(),n>>=Pi;return r}precomputeWindow(e,n){let{windows:r,windowSize:s}=bp(n,this.bits),i=[],o=e,a=o;for(let c=0;c<r;c++){a=o,i.push(a);for(let u=1;u<s;u++)a=a.add(o),i.push(a);o=a.double()}return i}wNAF(e,n,r){if(!this.Fn.isValid(r))throw new Error("invalid scalar");let s=this.ZERO,i=this.BASE,o=bp(e,this.bits);for(let a=0;a<o.windows;a++){let{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:m}=Wy(r,a,o);r=c,d?i=i.add(tc(p,n[m])):s=s.add(tc(f,n[u]))}return Zy(r),{p:s,f:i}}wNAFUnsafe(e,n,r,s=this.ZERO){let i=bp(e,this.bits);for(let o=0;o<i.windows&&r!==jo;o++){let{nextN:a,offset:c,isZero:u,isNeg:d}=Wy(r,o,i);if(r=a,!u){let f=n[c];s=s.add(d?f.negate():f)}}return Zy(r),s}getPrecomputes(e,n,r){let s=wp.get(n);return s||(s=this.precomputeWindow(n,e),e!==1&&(typeof r=="function"&&(s=r(s)),wp.set(n,s))),s}cached(e,n,r){let s=_p(e);return this.wNAF(s,this.getPrecomputes(s,e,r),n)}unsafe(e,n,r,s){let i=_p(e);return i===1?this._unsafeLadder(e,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,e,r),n,s)}createCache(e,n){Ky(n,this.bits),Yy.set(e,n),wp.delete(e)}hasCache(e){return _p(e)!==1}};function Xy(t,e,n,r){let s=e,i=t.ZERO,o=t.ZERO;for(;n>jo||r>jo;)n&Pi&&(i=i.add(s)),r&Pi&&(o=o.add(s)),s=s.double(),n>>=Pi,r>>=Pi;return{p1:i,p2:o}}function Jy(t,e,n){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return mp(e),e}else return Do(t,{isLE:n})}function Qu(t,e,n={},r){if(r===void 0&&(r=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(let c of["p","n","h"]){let u=e[c];if(!(typeof u=="bigint"&&u>jo))throw new Error(`CURVE.${c} must be positive bigint`)}let s=Jy(e.p,n.Fp,r),i=Jy(e.n,n.Fn,r),a=["Gx","Gy","a",t==="weierstrass"?"b":"d"];for(let c of a)if(!s.isValid(e[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:s,Fn:i}}function el(t,e){return function(r){let s=t(r);return{secretKey:s,publicKey:e(s)}}}var zs=BigInt(0),en=BigInt(1),vp=BigInt(2),nI=BigInt(8);function rI(t,e,n,r){let s=t.sqr(n),i=t.sqr(r),o=t.add(t.mul(e.a,s),i),a=t.add(t.ONE,t.mul(e.d,t.mul(s,i)));return t.eql(o,a)}function Qy(t,e={}){let n=e,r=Qu("edwards",t,n,n.FpFnLE),{Fp:s,Fn:i}=r,o=r.CURVE,{h:a}=o;hr(n,{},{uvRatio:"function"});let c=vp<<BigInt(i.BYTES*8)-en,u=_=>s.create(_),d=n.uvRatio===void 0?(_,T)=>{try{return{isValid:!0,value:s.sqrt(s.div(_,T))}}catch{return{isValid:!1,value:zs}}}:n.uvRatio;if(!rI(s,o,o.Gx,o.Gy))throw new Error("bad curve params: generator point");function f(_,T,O=!1){let B=O?en:zs;return Bo("coordinate "+_,T,B,c),T}function p(_){if(!(_ instanceof m))throw new Error("EdwardsPoint expected")}class m{static BASE=new m(o.Gx,o.Gy,en,u(o.Gx*o.Gy));static ZERO=new m(zs,en,en,zs);static Fp=s;static Fn=i;X;Y;Z;T;constructor(T,O,B,C){this.X=f("x",T),this.Y=f("y",O),this.Z=f("z",B,!0),this.T=f("t",C),Object.freeze(this)}static CURVE(){return o}static fromAffine(T){if(T instanceof m)throw new Error("extended point not allowed");let{x:O,y:B}=T||{};return f("x",O),f("y",B),new m(O,B,en,u(O*B))}static fromBytes(T,O=!1){let B=s.BYTES,{a:C,d:U}=o;T=Xa(De(T,B,"point")),fr(O,"zip215");let P=Xa(T),L=T[B-1];P[B-1]=L&-129;let q=Dr(P),V=O?c:s.ORDER;Bo("point.y",q,zs,V);let F=u(q*q),X=u(F-en),Q=u(U*F-C),{isValid:D,value:N}=d(X,Q);if(!D)throw new Error("bad point: invalid y coordinate");let j=(N&en)===en,l=(L&128)!==0;if(!O&&N===zs&&l)throw new Error("bad point: x=0 and x_0=1");return l!==j&&(N=u(-N)),m.fromAffine({x:N,y:q})}static fromHex(T,O=!1){return m.fromBytes(Ro(T),O)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(T=8,O=!0){return b.createCache(this,T),O||this.multiply(vp),this}assertValidity(){let T=this,{a:O,d:B}=o;if(T.is0())throw new Error("bad point: ZERO");let{X:C,Y:U,Z:P,T:L}=T,q=u(C*C),V=u(U*U),F=u(P*P),X=u(F*F),Q=u(q*O),D=u(F*u(Q+V)),N=u(X+u(B*u(q*V)));if(D!==N)throw new Error("bad point: equation left != right (1)");let j=u(C*U),l=u(P*L);if(j!==l)throw new Error("bad point: equation left != right (2)")}equals(T){p(T);let{X:O,Y:B,Z:C}=this,{X:U,Y:P,Z:L}=T,q=u(O*L),V=u(U*C),F=u(B*L),X=u(P*C);return q===V&&F===X}is0(){return this.equals(m.ZERO)}negate(){return new m(u(-this.X),this.Y,this.Z,u(-this.T))}double(){let{a:T}=o,{X:O,Y:B,Z:C}=this,U=u(O*O),P=u(B*B),L=u(vp*u(C*C)),q=u(T*U),V=O+B,F=u(u(V*V)-U-P),X=q+P,Q=X-L,D=q-P,N=u(F*Q),j=u(X*D),l=u(F*D),h=u(Q*X);return new m(N,j,h,l)}add(T){p(T);let{a:O,d:B}=o,{X:C,Y:U,Z:P,T:L}=this,{X:q,Y:V,Z:F,T:X}=T,Q=u(C*q),D=u(U*V),N=u(L*B*X),j=u(P*F),l=u((C+U)*(q+V)-Q-D),h=j-N,y=j+N,w=u(D-O*Q),v=u(l*h),x=u(y*w),I=u(l*w),k=u(h*y);return new m(v,x,k,I)}subtract(T){return p(T),this.add(T.negate())}multiply(T){if(!i.isValidNot0(T))throw new RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:O,f:B}=b.cached(this,T,C=>Vi(m,C));return Vi(m,[O,B])[0]}multiplyUnsafe(T){if(!i.isValid(T))throw new RangeError("invalid scalar: expected 0 <= sc < curve.n");return T===zs?m.ZERO:this.is0()||T===en?this:b.unsafe(this,T,O=>Vi(m,O))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return b.unsafe(this,o.n).is0()}toAffine(T){let O=this,B=T,{X:C,Y:U,Z:P}=O,L=O.is0();B==null&&(B=L?nI:s.inv(P));let q=u(C*B),V=u(U*B),F=s.mul(P,B);if(L)return{x:zs,y:en};if(F!==en)throw new Error("invZ was invalid");return{x:q,y:V}}clearCofactor(){return a===en?this:this.multiplyUnsafe(a)}toBytes(){let{x:T,y:O}=this.toAffine(),B=s.toBytes(O);return B[B.length-1]|=T&en?128:0,B}toHex(){return No(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let b=new Uo(m,i.BITS);return i.BITS>=8&&m.BASE.precompute(8),Object.freeze(m.prototype),Object.freeze(m),m}var Ws=class{ep;constructor(e){this.ep=e}static fromBytes(e){pp()}static fromHex(e){pp()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return No(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,n){return this.ep.precompute(e,n),this}};xn(Ws,"BASE"),xn(Ws,"ZERO"),xn(Ws,"Fp"),xn(Ws,"Fn");function eb(t,e,n={}){if(typeof e!="function")throw new Error('"hash" function param is required');let r=e,s=n;hr(s,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",zip215:"boolean",mapToCurve:"function"});let{prehash:i}=s,{BASE:o,Fp:a,Fn:c}=t,u=r.outputLen,d=2*a.BYTES;if(u!==void 0&&(pr(u,"hash.outputLen"),u!==d))throw new Error(`hash.outputLen must be ${d}, got ${u}`);let f=s.randomBytes===void 0?Ka:s.randomBytes,p=s.adjustScalarBytes===void 0?D=>D:s.adjustScalarBytes,m=s.domain===void 0?(D,N,j)=>{if(fr(j,"phflag"),N.length||j)throw new Error("Contexts/pre-hash are not supported");return D}:s.domain;function b(D){return c.create(Dr(D))}function _(D){let N=q.secretKey;De(D,q.secretKey,"secretKey");let j=De(r(D),2*N,"hashedSecretKey"),l=p(j.slice(0,N)),h=j.slice(N,2*N),y=b(l);return{head:l,prefix:h,scalar:y}}function T(D){let{head:N,prefix:j,scalar:l}=_(D),h=o.multiply(l),y=h.toBytes();return{head:N,prefix:j,scalar:l,point:h,pointBytes:y}}function O(D){return T(D).pointBytes}function B(D=Uint8Array.of(),...N){let j=Jt(...N);return b(r(m(j,De(D,void 0,"context"),!!i)))}function C(D,N,j={}){D=De(D,void 0,"message"),i&&(D=i(D));let{prefix:l,scalar:h,pointBytes:y}=T(N),w=B(j.context,l,D),v=o.multiply(w).toBytes(),x=B(j.context,v,y,D),I=c.create(w+x*h);if(!c.isValid(I))throw new Error("sign failed: invalid s");let k=Jt(v,c.toBytes(I));return De(k,q.signature,"result")}let U={zip215:s.zip215};function P(D,N,j,l=U){let{context:h}=l,y=l.zip215===void 0?!!U.zip215:l.zip215,w=q.signature;D=De(D,w,"signature"),N=De(N,void 0,"message"),j=De(j,q.publicKey,"publicKey"),y!==void 0&&fr(y,"zip215"),i&&(N=i(N));let v=w/2,x=D.subarray(0,v),I=Dr(D.subarray(v,w)),k,g,E;try{k=t.fromBytes(j,y),g=t.fromBytes(x,y),E=o.multiplyUnsafe(I)}catch{return!1}if(!y&&k.isSmallOrder())return!1;let G=B(h,x,j,N);return g.add(k.multiplyUnsafe(G)).subtract(E).clearCofactor().is0()}let L=a.BYTES,q={secretKey:L,publicKey:L,signature:2*L,seed:L};function V(D){return D=D===void 0?f(q.seed):D,De(D,q.seed,"seed")}function F(D){return ji(D)&&D.length===q.secretKey}function X(D,N){try{return!!t.fromBytes(D,N===void 0?U.zip215:N)}catch{return!1}}let Q={getExtendedPublicKey:T,randomSecretKey:V,isValidSecretKey:F,isValidPublicKey:X,toMontgomery(D){let{y:N}=t.fromBytes(D),j=q.publicKey,l=j===32;if(!l&&j!==57)throw new Error("only defined for 25519 and 448");let h=l?a.div(en+N,en-N):a.div(N-en,N+en);return a.toBytes(h)},toMontgomerySecret(D){let N=q.secretKey;De(D,N);let j=r(D.subarray(0,N));return p(j).subarray(0,N)}};return Object.freeze(q),Object.freeze(Q),Object.freeze({keygen:el(V,O),getPublicKey:O,sign:C,verify:P,utils:Q,Point:t,lengths:q})}function nc(t,e){if(pr(t),pr(e),e<0||e>4)throw new Error("invalid I2OSP length: "+e);if(t<0||t>2**(8*e)-1)throw new Error("invalid I2OSP input: "+t);let n=Array.from({length:e}).fill(0);for(let r=e-1;r>=0;r--)n[r]=t&255,t>>>=8;return new Uint8Array(n)}function sI(t,e){let n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t[r]^e[r];return n}function iI(t){if(!ji(t)&&typeof t!="string")throw new Error("DST must be Uint8Array or ascii string");let e=typeof t=="string"?Yu(t):t;if(e.length===0)throw new Error("DST must be non-empty");return e}function Tp(t,e,n,r){De(t),pr(n),e=iI(e),e.length>255&&(e=r(Jt(Yu("H2C-OVERSIZE-DST-"),e)));let{outputLen:s,blockLen:i}=r,o=Math.ceil(n/s);if(n>65535||o>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=Jt(e,nc(e.length,1)),c=new Uint8Array(i),u=nc(n,2),d=new Array(o),f=r(Jt(c,t,u,nc(0,1),a));d[0]=r(Jt(f,nc(1,1),a));for(let m=1;m<o;m++){let b=[sI(f,d[m-1]),nc(m+1,1),a];d[m]=r(Jt(...b))}return Jt(...d).slice(0,n)}var tb="HashToScalar-";var oI=BigInt(0),ms=BigInt(1),nb=BigInt(2);var aI=BigInt(5),cI=BigInt(8),Lo=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Sp=(()=>({p:Lo,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:cI,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function uI(t){let e=BigInt(10),n=BigInt(20),r=BigInt(40),s=BigInt(80),i=Lo,a=t*t%i*t%i,c=Xe(a,nb,i)*a%i,u=Xe(c,ms,i)*t%i,d=Xe(u,aI,i)*u%i,f=Xe(d,e,i)*d%i,p=Xe(f,n,i)*f%i,m=Xe(p,r,i)*p%i,b=Xe(m,s,i)*m%i,_=Xe(b,s,i)*m%i,T=Xe(_,e,i)*d%i;return{pow_p_5_8:Xe(T,nb,i)*t%i,b2:a}}function lI(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}var kp=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Op(t,e){let n=Lo,r=at(e*e*e,n),s=at(r*r*e,n),i=uI(t*s).pow_p_5_8,o=at(t*r*i,n),a=at(e*o*o,n),c=o,u=at(o*kp,n),d=a===t,f=a===at(-t,n),p=a===at(-t*kp,n);return d&&(o=c),(f||p)&&(o=u),hs(o,n)&&(o=at(-o,n)),{isValid:d||f,value:o}}var Js=Qy(Sp,{uvRatio:Op}),Zs=(()=>Js.Fp)(),ib=(()=>Js.Fn)();function dI(t){return eb(Js,Di,Object.assign({adjustScalarBytes:lI,zip215:!0},t))}var mr=dI({});var Ep=kp,fI=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),pI=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),hI=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),mI=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),rb=t=>Op(ms,t),gI=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),xp=t=>Zs.create(Dr(t)&gI);function sb(t){let{d:e}=Sp,n=Lo,r=O=>Zs.create(O),s=r(Ep*t*t),i=r((s+ms)*hI),o=BigInt(-1),a=r((o-e*s)*r(s+e)),{isValid:c,value:u}=Op(i,a),d=r(u*t);hs(d,n)||(d=r(-d)),c||(u=d),c||(o=s);let f=r(o*(s-ms)*mI-a),p=u*u,m=r((u+u)*a),b=r(f*fI),_=r(ms-p),T=r(ms+p);return new Js(r(m*T),r(_*b),r(b*T),r(m*_))}var jr=class extends Ws{constructor(e){super(e)}static fromAffine(e){return new jr(Js.fromAffine(e))}assertSame(e){if(!(e instanceof jr))throw new Error("RistrettoPoint expected")}init(e){return new jr(e)}static fromBytes(e){$t(e,32);let{a:n,d:r}=Sp,s=Lo,i=U=>Zs.create(U),o=xp(e);if(!My(Zs.toBytes(o),e)||hs(o,s))throw new Error("invalid ristretto255 encoding 1");let a=i(o*o),c=i(ms+n*a),u=i(ms-n*a),d=i(c*c),f=i(u*u),p=i(n*r*d-f),{isValid:m,value:b}=rb(i(p*f)),_=i(b*u),T=i(b*_*p),O=i((o+o)*_);hs(O,s)&&(O=i(-O));let B=i(c*T),C=i(O*B);if(!m||hs(C,s)||B===oI)throw new Error("invalid ristretto255 encoding 2");return new jr(new Js(O,B,ms,C))}static fromHex(e){return jr.fromBytes(_a(e))}toBytes(){let{X:e,Y:n,Z:r,T:s}=this.ep,i=Lo,o=T=>Zs.create(T),a=o(o(r+n)*o(r-n)),c=o(e*n),u=o(c*c),{value:d}=rb(o(a*u)),f=o(d*a),p=o(d*c),m=o(f*p*s),b;if(hs(s*m,i)){let T=o(n*Ep),O=o(e*Ep);e=T,n=O,b=o(f*pI)}else b=p;hs(e*m,i)&&(n=o(-n));let _=o((r-n)*b);return hs(_,i)&&(_=o(-_)),Zs.toBytes(_)}equals(e){this.assertSame(e);let{X:n,Y:r}=this.ep,{X:s,Y:i}=e.ep,o=u=>Zs.create(u),a=o(n*i)===o(r*s),c=o(r*i)===o(n*s);return a||c}is0(){return this.equals(jr.ZERO)}},Qn=jr;xn(Qn,"BASE",(()=>new jr(Js.BASE))()),xn(Qn,"ZERO",(()=>new jr(Js.ZERO))()),xn(Qn,"Fp",(()=>Zs)()),xn(Qn,"Fn",(()=>ib)());Object.freeze(Qn.BASE);Object.freeze(Qn.ZERO);Object.freeze(Qn.prototype);Object.freeze(Qn);var yI=Object.freeze({Point:Qn,hashToCurve(t,e){let n=e?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":e.DST,r=Tp(t,n,64,Di);return yI.deriveToCurve(r)},hashToScalar(t,e={DST:tb}){let n=Tp(t,e.DST,64,Di);return ib.create(Dr(n))},deriveToCurve(t){$t(t,64);let e=xp(t.subarray(0,32)),n=sb(e),r=xp(t.subarray(32,64)),s=sb(r);return new Qn(n.add(s))}});var Ip=32,ob=class extends Hu{static{this.SIZE=Ip}constructor(t){if(super(),typeof t=="string"?this.data=le(t):t instanceof Uint8Array?this.data=t:this.data=Uint8Array.from(t),this.data.length!==Ip)throw new Error(`Invalid public key input. Expected ${Ip} bytes, got ${this.data.length}`)}equals(t){return super.equals(t)}toRawBytes(){return this.data}flag(){return qs.ED25519}async verify(t,e){let n;if(typeof e=="string"){let r=zu(e);if(r.signatureScheme!=="ED25519")throw new Error("Invalid signature scheme");if(!Ja(this.toRawBytes(),r.publicKey))throw new Error("Signature does not match public key");n=r.signature}else n=e;return mr.verify(n,t,this.toRawBytes())}};function bI(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Po(t,e=""){if(!Number.isSafeInteger(t)||t<0){let n=e&&`"${e}" `;throw new Error(`${n}expected integer >= 0, got ${t}`)}}function Fi(t,e,n=""){let r=bI(t),s=t?.length,i=e!==void 0;if(!r||i&&s!==e){let o=n&&`"${n}" `,a=i?` of length ${e}`:"",c=r?`length=${s}`:`type=${typeof t}`;throw new Error(o+"expected Uint8Array"+a+", got "+c)}return t}function tl(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Po(t.outputLen),Po(t.blockLen)}function Vo(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function ab(t,e){Fi(t,void 0,"digestInto() output");let n=e.outputLen;if(t.length<n)throw new Error('"digestInto() output" expected to be of length >='+n)}function gs(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function Fo(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function wI(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Ap(t,e=""){return typeof t=="string"?wI(t):Fi(t,void 0,e)}function cb(t,e){if(e!==void 0&&{}.toString.call(e)!=="[object Object]")throw new Error("options must be object or undefined");return Object.assign(t,e)}function ub(t,e={}){let n=(s,i)=>t(i).update(s).digest(),r=t(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.create=s=>t(s),Object.assign(n,e),Object.freeze(n)}var lb=t=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,t])});var nl=class{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,n){if(tl(e),Fi(n,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,s=new Uint8Array(r);s.set(n.length>r?e.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=e.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),gs(s)}update(e){return Vo(this),this.iHash.update(e),this}digestInto(e){Vo(this),Fi(e,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:n,iHash:r,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Cp=(t,e,n)=>new nl(t,e).update(n).digest();Cp.create=(t,e)=>new nl(t,e);function _I(t,e,n,r){tl(t);let s=cb({dkLen:32,asyncTick:10},r),{c:i,dkLen:o,asyncTick:a}=s;if(Po(i,"c"),Po(o,"dkLen"),Po(a,"asyncTick"),i<1)throw new Error("iterations (c) must be >= 1");let c=Ap(e,"password"),u=Ap(n,"salt"),d=new Uint8Array(o),f=Cp.create(t,c),p=f._cloneInto().update(u);return{c:i,dkLen:o,asyncTick:a,DK:d,PRF:f,PRFSalt:p}}function vI(t,e,n,r,s){return t.destroy(),e.destroy(),r&&r.destroy(),gs(s),n}function db(t,e,n,r){let{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:c}=_I(t,e,n,r),u,d=new Uint8Array(4),f=Fo(d),p=new Uint8Array(a.outputLen);for(let m=1,b=0;b<i;m++,b+=a.outputLen){let _=o.subarray(b,b+a.outputLen);f.setInt32(0,m,!1),(u=c._cloneInto(u)).update(d).digestInto(p),_.set(p.subarray(0,_.length));for(let T=1;T<s;T++){a._cloneInto(u).update(p).digestInto(p);for(let O=0;O<_.length;O++)_[O]^=p[O]}}return vI(a,c,o,u,p)}var rl=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,n,r,s){this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(e),this.view=Fo(this.buffer)}update(e){Vo(this),Fi(e);let{view:n,buffer:r,blockLen:s}=this,i=e.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=Fo(e);for(;s<=i-o;o+=s)this.process(c,o);continue}r.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Vo(this),ab(e,this),this.finished=!0;let{buffer:n,view:r,blockLen:s,isLE:i}=this,{pos:o}=this;n[o++]=128,gs(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(r,0),o=0);for(let f=o;f<s;f++)n[f]=0;r.setBigUint64(s-8,BigInt(this.length*8),i),this.process(r,0);let a=Fo(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,d[f],i)}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:n,buffer:r,length:s,finished:i,destroyed:o,pos:a}=this;return e.destroyed=o,e.finished=i,e.length=s,e.pos=a,s%n&&e.buffer.set(r),e}clone(){return this._cloneInto()}};var an=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var sl=BigInt(4294967295),fb=BigInt(32);function TI(t,e=!1){return e?{h:Number(t&sl),l:Number(t>>fb&sl)}:{h:Number(t>>fb&sl)|0,l:Number(t&sl)|0}}function pb(t,e=!1){let n=t.length,r=new Uint32Array(n),s=new Uint32Array(n);for(let i=0;i<n;i++){let{h:o,l:a}=TI(t[i],e);[r[i],s[i]]=[o,a]}return[r,s]}var Np=(t,e,n)=>t>>>n,Rp=(t,e,n)=>t<<32-n|e>>>n,qi=(t,e,n)=>t>>>n|e<<32-n,$i=(t,e,n)=>t<<32-n|e>>>n,rc=(t,e,n)=>t<<64-n|e>>>n-32,sc=(t,e,n)=>t>>>n-32|e<<64-n;function Ur(t,e,n,r){let s=(e>>>0)+(r>>>0);return{h:t+n+(s/2**32|0)|0,l:s|0}}var hb=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),mb=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,gb=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),yb=(t,e,n,r,s)=>e+n+r+s+(t/2**32|0)|0,bb=(t,e,n,r,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(s>>>0),wb=(t,e,n,r,s,i)=>e+n+r+s+i+(t/2**32|0)|0;var _b=(()=>pb(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),EI=(()=>_b[0])(),xI=(()=>_b[1])(),Ks=new Uint32Array(80),Ys=new Uint32Array(80),Bp=class extends rl{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:n,Bh:r,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:b,Hh:_,Hl:T}=this;return[e,n,r,s,i,o,a,c,u,d,f,p,m,b,_,T]}set(e,n,r,s,i,o,a,c,u,d,f,p,m,b,_,T){this.Ah=e|0,this.Al=n|0,this.Bh=r|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=d|0,this.Fh=f|0,this.Fl=p|0,this.Gh=m|0,this.Gl=b|0,this.Hh=_|0,this.Hl=T|0}process(e,n){for(let C=0;C<16;C++,n+=4)Ks[C]=e.getUint32(n),Ys[C]=e.getUint32(n+=4);for(let C=16;C<80;C++){let U=Ks[C-15]|0,P=Ys[C-15]|0,L=qi(U,P,1)^qi(U,P,8)^Np(U,P,7),q=$i(U,P,1)^$i(U,P,8)^Rp(U,P,7),V=Ks[C-2]|0,F=Ys[C-2]|0,X=qi(V,F,19)^rc(V,F,61)^Np(V,F,6),Q=$i(V,F,19)^sc(V,F,61)^Rp(V,F,6),D=gb(q,Q,Ys[C-7],Ys[C-16]),N=yb(D,L,X,Ks[C-7],Ks[C-16]);Ks[C]=N|0,Ys[C]=D|0}let{Ah:r,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:u,Dl:d,Eh:f,El:p,Fh:m,Fl:b,Gh:_,Gl:T,Hh:O,Hl:B}=this;for(let C=0;C<80;C++){let U=qi(f,p,14)^qi(f,p,18)^rc(f,p,41),P=$i(f,p,14)^$i(f,p,18)^sc(f,p,41),L=f&m^~f&_,q=p&b^~p&T,V=bb(B,P,q,xI[C],Ys[C]),F=wb(V,O,U,L,EI[C],Ks[C]),X=V|0,Q=qi(r,s,28)^rc(r,s,34)^rc(r,s,39),D=$i(r,s,28)^sc(r,s,34)^sc(r,s,39),N=r&i^r&a^i&a,j=s&o^s&c^o&c;O=_|0,B=T|0,_=m|0,T=b|0,m=f|0,b=p|0,{h:f,l:p}=Ur(u|0,d|0,F|0,X|0),u=a|0,d=c|0,a=i|0,c=o|0,i=r|0,o=s|0;let l=hb(X,D,j);r=mb(l,F,Q,N),s=l|0}({h:r,l:s}=Ur(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:o}=Ur(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=Ur(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:d}=Ur(this.Dh|0,this.Dl|0,u|0,d|0),{h:f,l:p}=Ur(this.Eh|0,this.El|0,f|0,p|0),{h:m,l:b}=Ur(this.Fh|0,this.Fl|0,m|0,b|0),{h:_,l:T}=Ur(this.Gh|0,this.Gl|0,_|0,T|0),{h:O,l:B}=Ur(this.Hh|0,this.Hl|0,O|0,B|0),this.set(r,s,i,o,a,c,u,d,f,p,m,b,_,T,O,B)}roundClean(){gs(Ks,Ys)}destroy(){gs(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Mp=class extends Bp{Ah=an[0]|0;Al=an[1]|0;Bh=an[2]|0;Bl=an[3]|0;Ch=an[4]|0;Cl=an[5]|0;Dh=an[6]|0;Dl=an[7]|0;Eh=an[8]|0;El=an[9]|0;Fh=an[10]|0;Fl=an[11]|0;Gh=an[12]|0;Gl=an[13]|0;Hh=an[14]|0;Hl=an[15]|0;constructor(){super(64)}};var vb=ub(()=>new Mp,lb(3));function Tb(t){if(typeof t!="string")throw new TypeError("invalid mnemonic type: "+typeof t);return t.normalize("NFKD")}function SI(t){let e=Tb(t),n=e.split(" ");if(![12,15,18,21,24].includes(n.length))throw new Error("Invalid mnemonic");return{nfkd:e,words:n}}var OI=t=>Tb("mnemonic"+t);function kb(t,e=""){return db(vb,SI(t).nfkd,OI(e),{c:2048,dkLen:64})}function Dp(t){return!!new RegExp("^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$").test(t)}function Eb(t){return!!new RegExp("^m\\/(54|74)'\\/784'\\/[0-9]+'\\/[0-9]+\\/[0-9]+$").test(t)}function jp(t){return kb(t,"")}function xb(t){return Qt(jp(t))}var il=class{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,n){if(tu(e),$t(n,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,s=new Uint8Array(r);s.set(n.length>r?e.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=e.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),Pn(s)}update(e){return ts(this),this.iHash.update(e),this}digestInto(e){ts(this),ko(e,this),this.finished=!0;let n=e.subarray(0,this.outputLen);this.iHash.digestInto(n),this.oHash.update(n),this.oHash.digestInto(n),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:n,iHash:r,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},ic=(()=>{let t=(e,n,r)=>new il(e,n).update(r).digest();return t.create=(e,n)=>new il(e,n),t})();var Sb=(t,e)=>(t+(t>=0?e:-e)/Ob)/e;function II(t,e,n){Bo("scalar",t,Lr,n);let[[r,s],[i,o]]=e,a=Sb(o*t,n),c=Sb(-s*t,n),u=t-a*r-c*i,d=-a*s-c*o,f=u<Lr,p=d<Lr;f&&(u=-u),p&&(d=-d);let m=Qa(Math.ceil(Mo(n)/2))+Xs;if(u<Lr||u>=m||d<Lr||d>=m)throw new Error("splitScalar (endomorphism): failed for k");return{k1neg:f,k1:u,k2neg:p,k2:d}}function Lp(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function Up(t,e){hr(t);let n={};for(let r of Object.keys(e))n[r]=t[r]===void 0?e[r]:t[r];return fr(n.lowS,"lowS"),fr(n.prehash,"prehash"),n.format!==void 0&&Lp(n.format),n}var Pp=class extends Error{constructor(e=""){super(e)}},gr={Err:Pp,_tlv:{encode:(t,e)=>{let{Err:n}=gr;if(pr(t,"tag"),t<0||t>255)throw new n("tlv.encode: wrong tag");if(typeof e!="string")throw new TypeError('"data" expected string, got type='+typeof e);if(e.length&1)throw new n("tlv.encode: unpadded data");let r=e.length/2,s=Ya(r);if(s.length/2&128)throw new n("tlv.encode: long form length too big");let i=r>127?Ya(s.length/2|128):"";return Ya(t)+i+s+e},decode(t,e){let{Err:n}=gr;e=De(e,void 0,"DER data");let r=0;if(t<0||t>255)throw new n("tlv.encode: wrong tag");if(e.length<2||e[r++]!==t)throw new n("tlv.decode: wrong tlv");let s=e[r++],i=!!(s&128),o=0;if(!i)o=s;else{let c=s&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");let u=e.subarray(r,r+c);if(u.length!==c)throw new n("tlv.decode: length bytes not complete");if(u[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(let d of u)o=o<<8|d;if(r+=c,o<128)throw new n("tlv.decode(long): not minimal encoding")}let a=e.subarray(r,r+o);if(a.length!==o)throw new n("tlv.decode: wrong value length");return{v:a,l:e.subarray(r+o)}}},_int:{encode(t){let{Err:e}=gr;if(Ju(t),t<Lr)throw new e("integer: negative integers are not allowed");let n=Ya(t);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return n},decode(t){let{Err:e}=gr;if(t.length<1)throw new e("invalid signature integer: empty");if(t[0]&128)throw new e("invalid signature integer: negative");if(t.length>1&&t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Ui(t)}},toSig(t){let{Err:e,_int:n,_tlv:r}=gr,s=De(t,void 0,"signature"),{v:i,l:o}=r.decode(48,s);if(o.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:c}=r.decode(2,i),{v:u,l:d}=r.decode(2,c);if(d.length)throw new e("invalid signature: left bytes after parsing");return{r:n.decode(a),s:n.decode(u)}},hexFromSig(t){let{_tlv:e,_int:n}=gr,r=e.encode(2,n.encode(t.r)),s=e.encode(2,n.encode(t.s)),i=r+s;return e.encode(48,i)}};Object.freeze(gr._tlv);Object.freeze(gr._int);Object.freeze(gr);var Lr=BigInt(0),Xs=BigInt(1),Ob=BigInt(2),ol=BigInt(3),AI=BigInt(4);function Ib(t,e={}){let n=Qu("weierstrass",t,e),r=n.Fp,s=n.Fn,i=n.CURVE,{h:o,n:a}=i;hr(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c,allowInfinityPoint:u}=e;if(c&&(!r.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let d=Cb(r,s);function f(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function p(Q,D,N){if(u&&D.is0())return Uint8Array.of(0);let{x:j,y:l}=D.toAffine(),h=r.toBytes(j);if(fr(N,"isCompressed"),N){f();let y=!r.isOdd(l);return Jt(Ab(y),h)}else return Jt(Uint8Array.of(4),h,r.toBytes(l))}function m(Q){De(Q,void 0,"Point");let{publicKey:D,publicKeyUncompressed:N}=d,j=Q.length,l=Q[0],h=Q.subarray(1);if(u&&j===1&&l===0)return{x:r.ZERO,y:r.ZERO};if(j===D&&(l===2||l===3)){let y=r.fromBytes(h);if(!r.isValid(y))throw new Error("bad point: is not on curve, wrong x");let w=T(y),v;try{v=r.sqrt(w)}catch(k){let g=k instanceof Error?": "+k.message:"";throw new Error("bad point: is not on curve, sqrt error"+g)}f();let x=r.isOdd(v);return(l&1)===1!==x&&(v=r.neg(v)),{x:y,y:v}}else if(j===N&&l===4){let y=r.BYTES,w=r.fromBytes(h.subarray(0,y)),v=r.fromBytes(h.subarray(y,y*2));if(!O(w,v))throw new Error("bad point: is not on curve");return{x:w,y:v}}else throw new Error(`bad point: got length ${j}, expected compressed=${D} or uncompressed=${N}`)}let b=e.toBytes===void 0?p:e.toBytes,_=e.fromBytes===void 0?m:e.fromBytes;function T(Q){let D=r.sqr(Q),N=r.mul(D,Q);return r.add(r.add(N,r.mul(Q,i.a)),i.b)}function O(Q,D){let N=r.sqr(D),j=T(Q);return r.eql(N,j)}if(!O(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let B=r.mul(r.pow(i.a,ol),AI),C=r.mul(r.sqr(i.b),BigInt(27));if(r.is0(r.add(B,C)))throw new Error("bad curve params: a or b");function U(Q,D,N=!1){if(!r.isValid(D)||N&&r.is0(D))throw new Error(`bad point coordinate ${Q}`);return D}function P(Q){if(!(Q instanceof V))throw new Error("Weierstrass Point expected")}function L(Q){if(!c||!c.basises)throw new Error("no endo");return II(Q,c.basises,s.ORDER)}function q(Q,D,N,j,l){return N=new V(r.mul(N.X,Q),N.Y,N.Z),D=tc(j,D),N=tc(l,N),D.add(N)}class V{static BASE=new V(i.Gx,i.Gy,r.ONE);static ZERO=new V(r.ZERO,r.ONE,r.ZERO);static Fp=r;static Fn=s;X;Y;Z;constructor(D,N,j){this.X=U("x",D),this.Y=U("y",N,!0),this.Z=U("z",j),Object.freeze(this)}static CURVE(){return i}static fromAffine(D){let{x:N,y:j}=D||{};if(!D||!r.isValid(N)||!r.isValid(j))throw new Error("invalid affine point");if(D instanceof V)throw new Error("projective point not allowed");return r.is0(N)&&r.is0(j)?V.ZERO:new V(N,j,r.ONE)}static fromBytes(D){let N=V.fromAffine(_(De(D,void 0,"point")));return N.assertValidity(),N}static fromHex(D){return V.fromBytes(Ro(D))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(D=8,N=!0){return X.createCache(this,D),N||this.multiply(ol),this}assertValidity(){let D=this;if(D.is0()){if(e.allowInfinityPoint&&r.is0(D.X)&&r.eql(D.Y,r.ONE)&&r.is0(D.Z))return;throw new Error("bad point: ZERO")}let{x:N,y:j}=D.toAffine();if(!r.isValid(N)||!r.isValid(j))throw new Error("bad point: x or y not field elements");if(!O(N,j))throw new Error("bad point: equation left != right");if(!D.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:D}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(D)}equals(D){P(D);let{X:N,Y:j,Z:l}=this,{X:h,Y:y,Z:w}=D,v=r.eql(r.mul(N,w),r.mul(h,l)),x=r.eql(r.mul(j,w),r.mul(y,l));return v&&x}negate(){return new V(this.X,r.neg(this.Y),this.Z)}double(){let{a:D,b:N}=i,j=r.mul(N,ol),{X:l,Y:h,Z:y}=this,w=r.ZERO,v=r.ZERO,x=r.ZERO,I=r.mul(l,l),k=r.mul(h,h),g=r.mul(y,y),E=r.mul(l,h);return E=r.add(E,E),x=r.mul(l,y),x=r.add(x,x),w=r.mul(D,x),v=r.mul(j,g),v=r.add(w,v),w=r.sub(k,v),v=r.add(k,v),v=r.mul(w,v),w=r.mul(E,w),x=r.mul(j,x),g=r.mul(D,g),E=r.sub(I,g),E=r.mul(D,E),E=r.add(E,x),x=r.add(I,I),I=r.add(x,I),I=r.add(I,g),I=r.mul(I,E),v=r.add(v,I),g=r.mul(h,y),g=r.add(g,g),I=r.mul(g,E),w=r.sub(w,I),x=r.mul(g,k),x=r.add(x,x),x=r.add(x,x),new V(w,v,x)}add(D){P(D);let{X:N,Y:j,Z:l}=this,{X:h,Y:y,Z:w}=D,v=r.ZERO,x=r.ZERO,I=r.ZERO,k=i.a,g=r.mul(i.b,ol),E=r.mul(N,h),G=r.mul(j,y),z=r.mul(l,w),K=r.add(N,j),ne=r.add(h,y);K=r.mul(K,ne),ne=r.add(E,G),K=r.sub(K,ne),ne=r.add(N,l);let re=r.add(h,w);return ne=r.mul(ne,re),re=r.add(E,z),ne=r.sub(ne,re),re=r.add(j,l),v=r.add(y,w),re=r.mul(re,v),v=r.add(G,z),re=r.sub(re,v),I=r.mul(k,ne),v=r.mul(g,z),I=r.add(v,I),v=r.sub(G,I),I=r.add(G,I),x=r.mul(v,I),G=r.add(E,E),G=r.add(G,E),z=r.mul(k,z),ne=r.mul(g,ne),G=r.add(G,z),z=r.sub(E,z),z=r.mul(k,z),ne=r.add(ne,z),E=r.mul(G,ne),x=r.add(x,E),E=r.mul(re,ne),v=r.mul(K,v),v=r.sub(v,E),E=r.mul(K,G),I=r.mul(re,I),I=r.add(I,E),new V(v,x,I)}subtract(D){return P(D),this.add(D.negate())}is0(){return this.equals(V.ZERO)}multiply(D){let{endo:N}=e;if(!s.isValidNot0(D))throw new RangeError("invalid scalar: out of range");let j,l,h=y=>X.cached(this,y,w=>Vi(V,w));if(N){let{k1neg:y,k1:w,k2neg:v,k2:x}=L(D),{p:I,f:k}=h(w),{p:g,f:E}=h(x);l=k.add(E),j=q(N.beta,I,g,y,v)}else{let{p:y,f:w}=h(D);j=y,l=w}return Vi(V,[j,l])[0]}multiplyUnsafe(D){let{endo:N}=e,j=this,l=D;if(!s.isValid(l))throw new RangeError("invalid scalar: out of range");if(l===Lr||j.is0())return V.ZERO;if(l===Xs)return j;if(X.hasCache(this))return this.multiply(l);if(N){let{k1neg:h,k1:y,k2neg:w,k2:v}=L(l),{p1:x,p2:I}=Xy(V,j,y,v);return q(N.beta,x,I,h,w)}else return X.unsafe(j,l)}toAffine(D){let N=this,j=D,{X:l,Y:h,Z:y}=N;if(r.eql(y,r.ONE))return{x:l,y:h};let w=N.is0();j==null&&(j=w?r.ONE:r.inv(y));let v=r.mul(l,j),x=r.mul(h,j),I=r.mul(y,j);if(w)return{x:r.ZERO,y:r.ZERO};if(!r.eql(I,r.ONE))throw new Error("invZ was invalid");return{x:v,y:x}}isTorsionFree(){let{isTorsionFree:D}=e;return o===Xs?!0:D?D(V,this):X.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:D}=e;return o===Xs?this:D?D(V,this):this.multiplyUnsafe(o)}isSmallOrder(){return o===Xs?this.is0():this.clearCofactor().is0()}toBytes(D=!0){return fr(D,"isCompressed"),this.assertValidity(),b(V,this,D)}toHex(D=!0){return No(this.toBytes(D))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let F=s.BITS,X=new Uo(V,e.endo?Math.ceil(F/2):F);return F>=8&&V.BASE.precompute(8),Object.freeze(V.prototype),Object.freeze(V),V}function Ab(t){return Uint8Array.of(t?2:3)}function Cb(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function CI(t,e={}){let{Fn:n}=t,r=e.randomBytes===void 0?Ka:e.randomBytes,s=Object.assign(Cb(t.Fp,n),{seed:Math.max(gp(n.ORDER),16)});function i(m){try{let b=n.fromBytes(m);return n.isValidNot0(b)}catch{return!1}}function o(m,b){let{publicKey:_,publicKeyUncompressed:T}=s;try{let O=m.length;return b===!0&&O!==_||b===!1&&O!==T?!1:!!t.fromBytes(m)}catch{return!1}}function a(m){return m=m===void 0?r(s.seed):m,yp(De(m,s.seed,"seed"),n.ORDER)}function c(m,b=!0){return t.BASE.multiply(n.fromBytes(m)).toBytes(b)}function u(m){let{secretKey:b,publicKey:_,publicKeyUncompressed:T}=s,O=n._lengths;if(!ji(m))return;let B=De(m,void 0,"key").length,C=B===_||B===T,U=B===b||!!O?.includes(B);if(!(C&&U))return C}function d(m,b,_=!0){if(u(m)===!0)throw new Error("first arg must be private key");if(u(b)===!1)throw new Error("second arg must be public key");let T=n.fromBytes(m);return t.fromBytes(b).multiply(T).toBytes(_)}let f={isValidSecretKey:i,isValidPublicKey:o,randomSecretKey:a},p=el(a,c);return Object.freeze(f),Object.freeze(s),Object.freeze({getPublicKey:c,getSharedSecret:d,keygen:p,Point:t,utils:f,lengths:s})}function Nb(t,e,n={}){let r=e;tu(r),hr(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),n=Object.assign({},n);let s=n.randomBytes===void 0?Ka:n.randomBytes,i=n.hmac===void 0?(l,h)=>ic(r,l,h):n.hmac,{Fp:o,Fn:a}=t,{ORDER:c,BITS:u}=a,{keygen:d,getPublicKey:f,getSharedSecret:p,utils:m,lengths:b}=CI(t,n),_={prehash:!0,lowS:typeof n.lowS=="boolean"?n.lowS:!0,format:"compact",extraEntropy:!1},T=c*Ob+Xs<o.ORDER;function O(l){let h=c>>Xs;return l>h}function B(l,h){if(!a.isValidNot0(h))throw new Error(`invalid signature ${l}: out of range 1..Point.Fn.ORDER`);return h}function C(){if(T)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function U(l,h){Lp(h);let y=b.signature,w=h==="compact"?y:h==="recovered"?y+1:void 0;return De(l,w)}class P{r;s;recovery;constructor(h,y,w){if(this.r=B("r",h),this.s=B("s",y),w!=null){if(C(),![0,1,2,3].includes(w))throw new Error("invalid recovery id");this.recovery=w}Object.freeze(this)}static fromBytes(h,y=_.format){U(h,y);let w;if(y==="der"){let{r:k,s:g}=gr.toSig(De(h));return new P(k,g)}y==="recovered"&&(w=h[0],y="compact",h=h.subarray(1));let v=b.signature/2,x=h.subarray(0,v),I=h.subarray(v,v*2);return new P(a.fromBytes(x),a.fromBytes(I),w)}static fromHex(h,y){return this.fromBytes(Ro(h),y)}assertRecovery(){let{recovery:h}=this;if(h==null)throw new Error("invalid recovery id: must be present");return h}addRecoveryBit(h){return new P(this.r,this.s,h)}recoverPublicKey(h){let{r:y,s:w}=this,v=this.assertRecovery(),x=v===2||v===3?y+c:y;if(!o.isValid(x))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let I=o.toBytes(x),k=t.fromBytes(Jt(Ab((v&1)===0),I)),g=a.inv(x),E=q(De(h,void 0,"msgHash")),G=a.create(-E*g),z=a.create(w*g),K=t.BASE.multiplyUnsafe(G).add(k.multiplyUnsafe(z));if(K.is0())throw new Error("invalid recovery: point at infinify");return K.assertValidity(),K}hasHighS(){return O(this.s)}toBytes(h=_.format){if(Lp(h),h==="der")return Ro(gr.hexFromSig(this));let{r:y,s:w}=this,v=a.toBytes(y),x=a.toBytes(w);return h==="recovered"?(C(),Jt(Uint8Array.of(this.assertRecovery()),v,x)):Jt(v,x)}toHex(h){return No(this.toBytes(h))}}Object.freeze(P.prototype),Object.freeze(P);let L=n.bits2int===void 0?function(h){if(h.length>8192)throw new Error("input is too large");let y=Ui(h),w=h.length*8-u;return w>0?y>>BigInt(w):y}:n.bits2int,q=n.bits2int_modN===void 0?function(h){return a.create(L(h))}:n.bits2int_modN,V=Qa(u);function F(l){return Bo("num < 2^"+u,l,Lr,V),a.toBytes(l)}function X(l,h){return De(l,void 0,"message"),h?De(r(l),void 0,"prehashed message"):l}function Q(l,h,y){let{lowS:w,prehash:v,extraEntropy:x}=Up(y,_);l=X(l,v);let I=q(l),k=a.fromBytes(h);if(!a.isValidNot0(k))throw new Error("invalid private key");let g=[F(k),F(I)];if(x!=null&&x!==!1){let K=x===!0?s(b.secretKey):x;g.push(De(K,void 0,"extraEntropy"))}let E=Jt(...g),G=I;function z(K){let ne=L(K);if(!a.isValidNot0(ne))return;let re=a.inv(ne),be=t.BASE.multiply(ne).toAffine(),Wt=a.create(be.x);if(Wt===Lr)return;let Re=a.create(re*a.create(G+Wt*k));if(Re===Lr)return;let Le=(be.x===Wt?0:2)|Number(be.y&Xs),ha=Re;return w&&O(Re)&&(ha=a.neg(Re),Le^=1),new P(Wt,ha,T?void 0:Le)}return{seed:E,k2sig:z}}function D(l,h,y={}){let{seed:w,k2sig:v}=Q(l,h,y);return Dy(r.outputLen,a.BYTES,i)(w,v).toBytes(y.format)}function N(l,h,y,w={}){let{lowS:v,prehash:x,format:I}=Up(w,_);if(y=De(y,void 0,"publicKey"),h=X(h,x),!ji(l)){let k=l instanceof P?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+k)}U(l,I);try{let k=P.fromBytes(l,I),g=t.fromBytes(y);if(v&&k.hasHighS())return!1;let{r:E,s:G}=k,z=q(h),K=a.inv(G),ne=a.create(z*K),re=a.create(E*K),be=t.BASE.multiplyUnsafe(ne).add(g.multiplyUnsafe(re));return be.is0()?!1:a.create(be.x)===E}catch{return!1}}function j(l,h,y={}){let{prehash:w}=Up(y,_);return h=X(h,w),P.fromBytes(l,"recovered").recoverPublicKey(h).toBytes()}return Object.freeze({keygen:d,getPublicKey:f,getSharedSecret:p,utils:m,lengths:b,Point:t,sign:D,verify:N,recoverPublicKey:j,Signature:P,hash:r})}function Rb({signature:t,signatureScheme:e,publicKey:n}){if(!n)throw new Error("`publicKey` is required");let r=n.toRawBytes(),s=new Uint8Array(1+t.length+r.length);return s.set([qs[e]]),s.set(t,1),s.set(r,1+t.length),ve(s)}var oc=32;var Bb="suiprivkey",NI=class{async signWithIntent(t,e){let n=ur(Gu(e,t),{dkLen:32});return{signature:Rb({signature:await this.sign(n),signatureScheme:this.getKeyScheme(),publicKey:this.getPublicKey()}),bytes:ve(t)}}async signTransaction(t){return this.signWithIntent(t,"TransactionData")}async signPersonalMessage(t){let{signature:e}=await this.signWithIntent(S.byteVector().serialize(t).toBytes(),"PersonalMessage");return{bytes:ve(t),signature:e}}async signAndExecuteTransaction({transaction:t,client:e}){t.setSenderIfNotSet(this.toSuiAddress());let n=await t.build({client:e}),{signature:r}=await this.signTransaction(n);return e.core.executeTransaction({transaction:n,signatures:[r],include:{transaction:!0,effects:!0}})}toSuiAddress(){return this.getPublicKey().toSuiAddress()}},al=class extends NI{};function cl(t){let{prefix:e,words:n}=ga.decode(t);if(e!==Bb)throw new Error("invalid private key prefix");let r=new Uint8Array(ga.fromWords(n)),s=r.slice(1);return{scheme:Za[r[0]],secretKey:s}}function ul(t,e){if(t.length!==oc)throw new Error("Invalid bytes length");let n=qs[e],r=new Uint8Array(t.length+1);return r.set([n]),r.set(t,1),ga.encode(Bb,ga.toWords(r))}var RI="ed25519 seed",BI=2147483648,MI=new RegExp("^m(\\/[0-9]+')+$"),Mb=t=>t.replace("'",""),DI=t=>{let e=ic.create(Di,new TextEncoder().encode(RI)).update(ln(t)).digest();return{key:e.slice(0,32),chainCode:e.slice(32)}},jI=({key:t,chainCode:e},n)=>{let r=new ArrayBuffer(4);new DataView(r).setUint32(0,n);let s=new Uint8Array(1+t.length+r.byteLength);s.set(new Uint8Array(1).fill(0)),s.set(t,1),s.set(new Uint8Array(r,0,r.byteLength),t.length+1);let i=ic.create(Di,e).update(s).digest();return{key:i.slice(0,32),chainCode:i.slice(32)}},UI=t=>MI.test(t)?!t.split("/").slice(1).map(Mb).some(isNaN):!1,Vp=(t,e,n=BI)=>{if(!UI(t))throw new Error("Invalid derivation path");let{key:r,chainCode:s}=DI(e);return t.split("/").slice(1).map(Mb).map(i=>parseInt(i,10)).reduce((i,o)=>jI(i,o+n),{key:r,chainCode:s})};var Fp="m/44'/784'/0'/0'/0'",ll=class ac extends al{constructor(e){if(super(),e)this.keypair={publicKey:e.publicKey,secretKey:e.secretKey.slice(0,32)};else{let n=mr.utils.randomSecretKey();this.keypair={publicKey:mr.getPublicKey(n),secretKey:n}}}getKeyScheme(){return"ED25519"}static generate(){let e=mr.utils.randomSecretKey();return new ac({publicKey:mr.getPublicKey(e),secretKey:e})}static fromSecretKey(e,n){if(typeof e=="string"){let i=cl(e);if(i.scheme!=="ED25519")throw new Error(`Expected a ED25519 keypair, got ${i.scheme}`);return this.fromSecretKey(i.secretKey,n)}let r=e.length;if(r!==oc)throw new Error(`Wrong secretKey size. Expected ${oc} bytes, got ${r}.`);let s={publicKey:mr.getPublicKey(e),secretKey:e};if(!n||!n.skipValidation){let i=new TextEncoder().encode("sui validation"),o=mr.sign(i,e);if(!mr.verify(o,i,s.publicKey))throw new Error("provided secretKey is invalid")}return new ac(s)}getPublicKey(){return new ob(this.keypair.publicKey)}getSecretKey(){return ul(this.keypair.secretKey.slice(0,oc),this.getKeyScheme())}async sign(e){return mr.sign(e,this.keypair.secretKey)}static deriveKeypair(e,n){if(n==null&&(n=Fp),!Dp(n))throw new Error("Invalid derivation path");let{key:r}=Vp(n,xb(e));return ac.fromSecretKey(r)}static deriveKeypairFromSeed(e,n){if(n==null&&(n=Fp),!Dp(n))throw new Error("Invalid derivation path");let r=typeof e=="string"?e:Qt(e),{key:s}=Vp(n,r);return ac.fromSecretKey(s)}};var $p={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},LI={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Db=BigInt(2);function PI(t){let e=$p.p,n=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,d=u*u*t%e,f=Xe(d,n,e)*d%e,p=Xe(f,n,e)*d%e,m=Xe(p,Db,e)*u%e,b=Xe(m,s,e)*m%e,_=Xe(b,i,e)*b%e,T=Xe(_,a,e)*_%e,O=Xe(T,c,e)*T%e,B=Xe(O,a,e)*_%e,C=Xe(B,n,e)*d%e,U=Xe(C,o,e)*b%e,P=Xe(U,r,e)*u%e,L=Xe(P,Db,e);if(!qp.eql(qp.sqr(L),t))throw new Error("Cannot find square root");return L}var qp=Do($p.p,{sqrt:PI}),VI=Ib($p,{Fp:qp,endo:LI}),Pr=Nb(VI,Ry);var Gp=33,jb=class extends Hu{static{this.SIZE=Gp}constructor(t){if(super(),typeof t=="string"?this.data=le(t):t instanceof Uint8Array?this.data=t:this.data=Uint8Array.from(t),this.data.length!==Gp)throw new Error(`Invalid public key input. Expected ${Gp} bytes, got ${this.data.length}`)}equals(t){return super.equals(t)}toRawBytes(){return this.data}flag(){return qs.Secp256k1}async verify(t,e){let n;if(typeof e=="string"){let r=zu(e);if(r.signatureScheme!=="Secp256k1")throw new Error("Invalid signature scheme");if(!Ja(this.toRawBytes(),r.publicKey))throw new Error("Signature does not match public key");n=r.signature}else n=e;return Pr.verify(n,t,this.toRawBytes())}};function cc(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Vr(t,e=""){if(!Number.isSafeInteger(t)||t<0){let n=e&&`"${e}" `;throw new Error(`${n}expected integer >= 0, got ${t}`)}}function je(t,e,n=""){let r=cc(t),s=t?.length,i=e!==void 0;if(!r||i&&s!==e){let o=n&&`"${n}" `,a=i?` of length ${e}`:"",c=r?`length=${s}`:`type=${typeof t}`;throw new Error(o+"expected Uint8Array"+a+", got "+c)}return t}function dl(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Vr(t.outputLen),Vr(t.blockLen)}function qo(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Lb(t,e){je(t,void 0,"digestInto() output");let n=e.outputLen;if(t.length<n)throw new Error('"digestInto() output" expected to be of length >='+n)}function er(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function Qs(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function yr(t,e){return t<<32-e|t>>>e}function uc(t,e){return t<<e|t>>>32-e>>>0}var Pb=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),FI=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Gi(t){if(je(t),Pb)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=FI[t[n]];return e}var ys={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ub(t){if(t>=ys._0&&t<=ys._9)return t-ys._0;if(t>=ys.A&&t<=ys.F)return t-(ys.A-10);if(t>=ys.a&&t<=ys.f)return t-(ys.a-10)}function Hi(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(Pb)return Uint8Array.fromHex(t);let e=t.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(n);for(let s=0,i=0;s<n;s++,i+=2){let o=Ub(t.charCodeAt(i)),a=Ub(t.charCodeAt(i+1));if(o===void 0||a===void 0){let c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}r[s]=o*16+a}return r}function pn(...t){let e=0;for(let r=0;r<t.length;r++){let s=t[r];je(s),e+=s.length}let n=new Uint8Array(e);for(let r=0,s=0;r<t.length;r++){let i=t[r];n.set(i,s),s+=i.length}return n}function lc(t,e={}){let n=(s,i)=>t(i).update(s).digest(),r=t(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.create=s=>t(s),Object.assign(n,e),Object.freeze(n)}function fl(t=32){let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return e.getRandomValues(new Uint8Array(t))}var Hp=t=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,t])});function zp(t,e,n){return t&e^~t&n}function Wp(t,e,n){return t&e^t&n^e&n}var zi=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,n,r,s){this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(e),this.view=Qs(this.buffer)}update(e){qo(this),je(e);let{view:n,buffer:r,blockLen:s}=this,i=e.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=Qs(e);for(;s<=i-o;o+=s)this.process(c,o);continue}r.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){qo(this),Lb(e,this),this.finished=!0;let{buffer:n,view:r,blockLen:s,isLE:i}=this,{pos:o}=this;n[o++]=128,er(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(r,0),o=0);for(let f=o;f<s;f++)n[f]=0;r.setBigUint64(s-8,BigInt(this.length*8),i),this.process(r,0);let a=Qs(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,d[f],i)}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:n,buffer:r,length:s,finished:i,destroyed:o,pos:a}=this;return e.destroyed=o,e.finished=i,e.length=s,e.pos=a,s%n&&e.buffer.set(r),e}clone(){return this._cloneInto()}},bs=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var cn=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var pl=BigInt(4294967295),Vb=BigInt(32);function qI(t,e=!1){return e?{h:Number(t&pl),l:Number(t>>Vb&pl)}:{h:Number(t>>Vb&pl)|0,l:Number(t&pl)|0}}function Fb(t,e=!1){let n=t.length,r=new Uint32Array(n),s=new Uint32Array(n);for(let i=0;i<n;i++){let{h:o,l:a}=qI(t[i],e);[r[i],s[i]]=[o,a]}return[r,s]}var Zp=(t,e,n)=>t>>>n,Jp=(t,e,n)=>t<<32-n|e>>>n,Wi=(t,e,n)=>t>>>n|e<<32-n,Zi=(t,e,n)=>t<<32-n|e>>>n,dc=(t,e,n)=>t<<64-n|e>>>n-32,fc=(t,e,n)=>t>>>n-32|e<<64-n;function Fr(t,e,n,r){let s=(e>>>0)+(r>>>0);return{h:t+n+(s/2**32|0)|0,l:s|0}}var qb=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),$b=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,Gb=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),Hb=(t,e,n,r,s)=>e+n+r+s+(t/2**32|0)|0,zb=(t,e,n,r,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(s>>>0),Wb=(t,e,n,r,s,i)=>e+n+r+s+i+(t/2**32|0)|0;var GI=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ei=new Uint32Array(64),Kp=class extends zi{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:n,C:r,D:s,E:i,F:o,G:a,H:c}=this;return[e,n,r,s,i,o,a,c]}set(e,n,r,s,i,o,a,c){this.A=e|0,this.B=n|0,this.C=r|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,n){for(let f=0;f<16;f++,n+=4)ei[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){let p=ei[f-15],m=ei[f-2],b=yr(p,7)^yr(p,18)^p>>>3,_=yr(m,17)^yr(m,19)^m>>>10;ei[f]=_+ei[f-7]+b+ei[f-16]|0}let{A:r,B:s,C:i,D:o,E:a,F:c,G:u,H:d}=this;for(let f=0;f<64;f++){let p=yr(a,6)^yr(a,11)^yr(a,25),m=d+p+zp(a,c,u)+GI[f]+ei[f]|0,_=(yr(r,2)^yr(r,13)^yr(r,22))+Wp(r,s,i)|0;d=u,u=c,c=a,a=o+m|0,o=i,i=s,s=r,r=m+_|0}r=r+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,s,i,o,a,c,u,d)}roundClean(){er(ei)}destroy(){this.set(0,0,0,0,0,0,0,0),er(this.buffer)}},Yp=class extends Kp{A=bs[0]|0;B=bs[1]|0;C=bs[2]|0;D=bs[3]|0;E=bs[4]|0;F=bs[5]|0;G=bs[6]|0;H=bs[7]|0;constructor(){super(32)}};var Zb=(()=>Fb(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),HI=(()=>Zb[0])(),zI=(()=>Zb[1])(),ti=new Uint32Array(80),ni=new Uint32Array(80),Xp=class extends zi{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:n,Bh:r,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:b,Hh:_,Hl:T}=this;return[e,n,r,s,i,o,a,c,u,d,f,p,m,b,_,T]}set(e,n,r,s,i,o,a,c,u,d,f,p,m,b,_,T){this.Ah=e|0,this.Al=n|0,this.Bh=r|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=d|0,this.Fh=f|0,this.Fl=p|0,this.Gh=m|0,this.Gl=b|0,this.Hh=_|0,this.Hl=T|0}process(e,n){for(let C=0;C<16;C++,n+=4)ti[C]=e.getUint32(n),ni[C]=e.getUint32(n+=4);for(let C=16;C<80;C++){let U=ti[C-15]|0,P=ni[C-15]|0,L=Wi(U,P,1)^Wi(U,P,8)^Zp(U,P,7),q=Zi(U,P,1)^Zi(U,P,8)^Jp(U,P,7),V=ti[C-2]|0,F=ni[C-2]|0,X=Wi(V,F,19)^dc(V,F,61)^Zp(V,F,6),Q=Zi(V,F,19)^fc(V,F,61)^Jp(V,F,6),D=Gb(q,Q,ni[C-7],ni[C-16]),N=Hb(D,L,X,ti[C-7],ti[C-16]);ti[C]=N|0,ni[C]=D|0}let{Ah:r,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:u,Dl:d,Eh:f,El:p,Fh:m,Fl:b,Gh:_,Gl:T,Hh:O,Hl:B}=this;for(let C=0;C<80;C++){let U=Wi(f,p,14)^Wi(f,p,18)^dc(f,p,41),P=Zi(f,p,14)^Zi(f,p,18)^fc(f,p,41),L=f&m^~f&_,q=p&b^~p&T,V=zb(B,P,q,zI[C],ni[C]),F=Wb(V,O,U,L,HI[C],ti[C]),X=V|0,Q=Wi(r,s,28)^dc(r,s,34)^dc(r,s,39),D=Zi(r,s,28)^fc(r,s,34)^fc(r,s,39),N=r&i^r&a^i&a,j=s&o^s&c^o&c;O=_|0,B=T|0,_=m|0,T=b|0,m=f|0,b=p|0,{h:f,l:p}=Fr(u|0,d|0,F|0,X|0),u=a|0,d=c|0,a=i|0,c=o|0,i=r|0,o=s|0;let l=qb(X,D,j);r=$b(l,F,Q,N),s=l|0}({h:r,l:s}=Fr(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:o}=Fr(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=Fr(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:d}=Fr(this.Dh|0,this.Dl|0,u|0,d|0),{h:f,l:p}=Fr(this.Eh|0,this.El|0,f|0,p|0),{h:m,l:b}=Fr(this.Fh|0,this.Fl|0,m|0,b|0),{h:_,l:T}=Fr(this.Gh|0,this.Gl|0,_|0,T|0),{h:O,l:B}=Fr(this.Hh|0,this.Hl|0,O|0,B|0),this.set(r,s,i,o,a,c,u,d,f,p,m,b,_,T,O,B)}roundClean(){er(ti,ni)}destroy(){er(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Qp=class extends Xp{Ah=cn[0]|0;Al=cn[1]|0;Bh=cn[2]|0;Bl=cn[3]|0;Ch=cn[4]|0;Cl=cn[5]|0;Dh=cn[6]|0;Dl=cn[7]|0;Eh=cn[8]|0;El=cn[9]|0;Fh=cn[10]|0;Fl=cn[11]|0;Gh=cn[12]|0;Gl=cn[13]|0;Hh=cn[14]|0;Hl=cn[15]|0;constructor(){super(64)}};var pc=lc(()=>new Yp,Hp(1));var eh=lc(()=>new Qp,Hp(3));var nh=BigInt(0),th=BigInt(1);function hc(t,e=""){if(typeof t!="boolean"){let n=e&&`"${e}" `;throw new Error(n+"expected boolean, got type="+typeof t)}return t}function Jb(t){if(typeof t=="bigint"){if(!hl(t))throw new Error("positive bigint expected, got "+t)}else Vr(t);return t}function mc(t){let e=Jb(t).toString(16);return e.length&1?"0"+e:e}function Kb(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?nh:BigInt("0x"+t)}function $o(t){return Kb(Gi(t))}function rh(t){return Kb(Gi(WI(je(t)).reverse()))}function ml(t,e){Vr(e),t=Jb(t);let n=Hi(t.toString(16).padStart(e*2,"0"));if(n.length!==e)throw new Error("number too large");return n}function sh(t,e){return ml(t,e).reverse()}function WI(t){return Uint8Array.from(t)}var hl=t=>typeof t=="bigint"&&nh<=t;function ZI(t,e,n){return hl(t)&&hl(e)&&hl(n)&&e<=t&&t<n}function Yb(t,e,n,r){if(!ZI(e,n,r))throw new Error("expected valid "+t+": "+n+" <= n < "+r+", got "+e)}function ih(t){let e;for(e=0;t>nh;t>>=th,e+=1);return e}var gc=t=>(th<<BigInt(t))-th;function Xb(t,e,n){if(Vr(t,"hashLen"),Vr(e,"qByteLen"),typeof n!="function")throw new Error("hmacFn must be a function");let r=T=>new Uint8Array(T),s=Uint8Array.of(),i=Uint8Array.of(0),o=Uint8Array.of(1),a=1e3,c=r(t),u=r(t),d=0,f=()=>{c.fill(1),u.fill(0),d=0},p=(...T)=>n(u,pn(c,...T)),m=(T=s)=>{u=p(i,T),c=p(),T.length!==0&&(u=p(o,T),c=p())},b=()=>{if(d++>=a)throw new Error("drbg: tried max amount of iterations");let T=0,O=[];for(;T<e;){c=p();let B=c.slice();O.push(B),T+=c.length}return pn(...O)};return(T,O)=>{f(),m(T);let B;for(;!(B=O(b()));)m();return f(),B}}function yc(t,e={},n={}){if(!t||typeof t!="object")throw new Error("expected valid options object");function r(i,o,a){let c=t[i];if(a&&c===void 0)return;let u=typeof c;if(u!==o||c===null)throw new Error(`param "${i}" is invalid: expected ${o}, got ${u}`)}let s=(i,o)=>Object.entries(i).forEach(([a,c])=>r(a,c,o));s(e,!1),s(n,!0)}function oh(t){let e=new WeakMap;return(n,...r)=>{let s=e.get(n);if(s!==void 0)return s;let i=t(n,...r);return e.set(n,i),i}}var kn=BigInt(0),hn=BigInt(1),Ji=BigInt(2),tw=BigInt(3),nw=BigInt(4),rw=BigInt(5),JI=BigInt(7),sw=BigInt(8),KI=BigInt(9),iw=BigInt(16);function br(t,e){let n=t%e;return n>=kn?n:e+n}function qn(t,e,n){let r=t;for(;e-- >kn;)r*=r,r%=n;return r}function Qb(t,e){if(t===kn)throw new Error("invert: expected non-zero number");if(e<=kn)throw new Error("invert: expected positive modulus, got "+e);let n=br(t,e),r=e,s=kn,i=hn,o=hn,a=kn;for(;n!==kn;){let u=r/n,d=r%n,f=s-o*u,p=i-a*u;r=n,n=d,s=o,i=a,o=f,a=p}if(r!==hn)throw new Error("invert: does not exist");return br(s,e)}function ch(t,e,n){if(!t.eql(t.sqr(e),n))throw new Error("Cannot find square root")}function ow(t,e){let n=(t.ORDER+hn)/nw,r=t.pow(e,n);return ch(t,r,e),r}function YI(t,e){let n=(t.ORDER-rw)/sw,r=t.mul(e,Ji),s=t.pow(r,n),i=t.mul(e,s),o=t.mul(t.mul(i,Ji),s),a=t.mul(i,t.sub(o,t.ONE));return ch(t,a,e),a}function XI(t){let e=Go(t),n=aw(t),r=n(e,e.neg(e.ONE)),s=n(e,r),i=n(e,e.neg(r)),o=(t+JI)/iw;return(a,c)=>{let u=a.pow(c,o),d=a.mul(u,r),f=a.mul(u,s),p=a.mul(u,i),m=a.eql(a.sqr(d),c),b=a.eql(a.sqr(f),c);u=a.cmov(u,d,m),d=a.cmov(p,f,b);let _=a.eql(a.sqr(d),c),T=a.cmov(u,d,_);return ch(a,T,c),T}}function aw(t){if(t<tw)throw new Error("sqrt is not defined for small field");let e=t-hn,n=0;for(;e%Ji===kn;)e/=Ji,n++;let r=Ji,s=Go(t);for(;ew(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return ow;let i=s.pow(r,e),o=(e+hn)/Ji;return function(c,u){if(c.is0(u))return u;if(ew(c,u)!==1)throw new Error("Cannot find square root");let d=n,f=c.mul(c.ONE,i),p=c.pow(u,e),m=c.pow(u,o);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let b=1,_=c.sqr(p);for(;!c.eql(_,c.ONE);)if(b++,_=c.sqr(_),b===d)throw new Error("Cannot find square root");let T=hn<<BigInt(d-b-1),O=c.pow(f,T);d=b,f=c.sqr(O),p=c.mul(p,f),m=c.mul(m,O)}return m}}function QI(t){return t%nw===tw?ow:t%sw===rw?YI:t%iw===KI?XI(t):aw(t)}var eA=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function uh(t){let e={ORDER:"bigint",BYTES:"number",BITS:"number"},n=eA.reduce((r,s)=>(r[s]="function",r),e);return yc(t,n),t}function tA(t,e,n){if(n<kn)throw new Error("invalid exponent, negatives unsupported");if(n===kn)return t.ONE;if(n===hn)return e;let r=t.ONE,s=e;for(;n>kn;)n&hn&&(r=t.mul(r,s)),s=t.sqr(s),n>>=hn;return r}function gl(t,e,n=!1){let r=new Array(e.length).fill(n?t.ZERO:void 0),s=e.reduce((o,a,c)=>t.is0(a)?o:(r[c]=o,t.mul(o,a)),t.ONE),i=t.inv(s);return e.reduceRight((o,a,c)=>t.is0(a)?o:(r[c]=t.mul(o,r[c]),t.mul(o,a)),i),r}function ew(t,e){let n=(t.ORDER-hn)/Ji,r=t.pow(e,n),s=t.eql(r,t.ONE),i=t.eql(r,t.ZERO),o=t.eql(r,t.neg(t.ONE));if(!s&&!i&&!o)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function nA(t,e){e!==void 0&&Vr(e);let n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}var ah=class{ORDER;BITS;BYTES;isLE;ZERO=kn;ONE=hn;_lengths;_sqrt;_mod;constructor(e,n={}){if(e<=kn)throw new Error("invalid field: expected ORDER > 0, got "+e);let r;this.isLE=!1,n!=null&&typeof n=="object"&&(typeof n.BITS=="number"&&(r=n.BITS),typeof n.sqrt=="function"&&(this.sqrt=n.sqrt),typeof n.isLE=="boolean"&&(this.isLE=n.isLE),n.allowedLengths&&(this._lengths=n.allowedLengths?.slice()),typeof n.modFromBytes=="boolean"&&(this._mod=n.modFromBytes));let{nBitLength:s,nByteLength:i}=nA(e,r);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=s,this.BYTES=i,this._sqrt=void 0,Object.preventExtensions(this)}create(e){return br(e,this.ORDER)}isValid(e){if(typeof e!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof e);return kn<=e&&e<this.ORDER}is0(e){return e===kn}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&hn)===hn}neg(e){return br(-e,this.ORDER)}eql(e,n){return e===n}sqr(e){return br(e*e,this.ORDER)}add(e,n){return br(e+n,this.ORDER)}sub(e,n){return br(e-n,this.ORDER)}mul(e,n){return br(e*n,this.ORDER)}pow(e,n){return tA(this,e,n)}div(e,n){return br(e*Qb(n,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,n){return e+n}subN(e,n){return e-n}mulN(e,n){return e*n}inv(e){return Qb(e,this.ORDER)}sqrt(e){return this._sqrt||(this._sqrt=QI(this.ORDER)),this._sqrt(this,e)}toBytes(e){return this.isLE?sh(e,this.BYTES):ml(e,this.BYTES)}fromBytes(e,n=!1){je(e);let{_lengths:r,BYTES:s,isLE:i,ORDER:o,_mod:a}=this;if(r){if(!r.includes(e.length)||e.length>s)throw new Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let u=new Uint8Array(s);u.set(e,i?0:u.length-e.length),e=u}if(e.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+e.length);let c=i?rh(e):$o(e);if(a&&(c=br(c,o)),!n&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(e){return gl(this,e)}cmov(e,n,r){return r?n:e}};function Go(t,e={}){return new ah(t,e)}function cw(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function lh(t){let e=cw(t);return e+Math.ceil(e/2)}function dh(t,e,n=!1){je(t);let r=t.length,s=cw(e),i=lh(e);if(r<16||r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);let o=n?rh(t):$o(t),a=br(o,e-hn)+hn;return n?sh(a,s):ml(a,s)}var Ho=BigInt(0),Ki=BigInt(1);function bc(t,e){let n=e.negate();return t?n:e}function mh(t,e){let n=gl(t.Fp,e.map(r=>r.Z));return e.map((r,s)=>t.fromAffine(r.toAffine(n[s])))}function fw(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function fh(t,e){fw(t,e);let n=Math.ceil(e/t)+1,r=2**(t-1),s=2**t,i=gc(t),o=BigInt(t);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:o}}function uw(t,e,n){let{windowSize:r,mask:s,maxNumber:i,shiftBy:o}=n,a=Number(t&s),c=t>>o;a>r&&(a-=i,c+=Ki);let u=e*r,d=u+Math.abs(a)-1,f=a===0,p=a<0,m=e%2!==0;return{nextN:c,offset:d,isZero:f,isNeg:p,isNegF:m,offsetF:u}}var ph=new WeakMap,pw=new WeakMap;function hh(t){return pw.get(t)||1}function lw(t){if(t!==Ho)throw new Error("invalid wNAF")}var yl=class{BASE;ZERO;Fn;bits;constructor(e,n){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=n}_unsafeLadder(e,n,r=this.ZERO){let s=e;for(;n>Ho;)n&Ki&&(r=r.add(s)),s=s.double(),n>>=Ki;return r}precomputeWindow(e,n){let{windows:r,windowSize:s}=fh(n,this.bits),i=[],o=e,a=o;for(let c=0;c<r;c++){a=o,i.push(a);for(let u=1;u<s;u++)a=a.add(o),i.push(a);o=a.double()}return i}wNAF(e,n,r){if(!this.Fn.isValid(r))throw new Error("invalid scalar");let s=this.ZERO,i=this.BASE,o=fh(e,this.bits);for(let a=0;a<o.windows;a++){let{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:m}=uw(r,a,o);r=c,d?i=i.add(bc(p,n[m])):s=s.add(bc(f,n[u]))}return lw(r),{p:s,f:i}}wNAFUnsafe(e,n,r,s=this.ZERO){let i=fh(e,this.bits);for(let o=0;o<i.windows&&r!==Ho;o++){let{nextN:a,offset:c,isZero:u,isNeg:d}=uw(r,o,i);if(r=a,!u){let f=n[c];s=s.add(d?f.negate():f)}}return lw(r),s}getPrecomputes(e,n,r){let s=ph.get(n);return s||(s=this.precomputeWindow(n,e),e!==1&&(typeof r=="function"&&(s=r(s)),ph.set(n,s))),s}cached(e,n,r){let s=hh(e);return this.wNAF(s,this.getPrecomputes(s,e,r),n)}unsafe(e,n,r,s){let i=hh(e);return i===1?this._unsafeLadder(e,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,e,r),n,s)}createCache(e,n){fw(n,this.bits),pw.set(e,n),ph.delete(e)}hasCache(e){return hh(e)!==1}};function hw(t,e,n,r){let s=e,i=t.ZERO,o=t.ZERO;for(;n>Ho||r>Ho;)n&Ki&&(i=i.add(s)),r&Ki&&(o=o.add(s)),s=s.double(),n>>=Ki,r>>=Ki;return{p1:i,p2:o}}function dw(t,e,n){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return uh(e),e}else return Go(t,{isLE:n})}function mw(t,e,n={},r){if(r===void 0&&(r=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(let c of["p","n","h"]){let u=e[c];if(!(typeof u=="bigint"&&u>Ho))throw new Error(`CURVE.${c} must be positive bigint`)}let s=dw(e.p,n.Fp,r),i=dw(e.n,n.Fn,r),a=["Gx","Gy","a",t==="weierstrass"?"b":"d"];for(let c of a)if(!s.isValid(e[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:s,Fn:i}}function gw(t,e){return function(r){let s=t(r);return{secretKey:s,publicKey:e(s)}}}var bl=class{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,n){if(dl(e),je(n,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,s=new Uint8Array(r);s.set(n.length>r?e.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=e.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),er(s)}update(e){return qo(this),this.iHash.update(e),this}digestInto(e){qo(this),je(e,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:n,iHash:r,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},zo=(t,e,n)=>new bl(t,e).update(n).digest();zo.create=(t,e)=>new bl(t,e);var yw=(t,e)=>(t+(t>=0?e:-e)/bw)/e;function rA(t,e,n){let[[r,s],[i,o]]=e,a=yw(o*t,n),c=yw(-s*t,n),u=t-a*r-c*i,d=-a*s-c*o,f=u<ws,p=d<ws;f&&(u=-u),p&&(d=-d);let m=gc(Math.ceil(ih(n)/2))+Wo;if(u<ws||u>=m||d<ws||d>=m)throw new Error("splitScalar (endomorphism): failed, k="+t);return{k1neg:f,k1:u,k2neg:p,k2:d}}function yh(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function gh(t,e){let n={};for(let r of Object.keys(e))n[r]=t[r]===void 0?e[r]:t[r];return hc(n.lowS,"lowS"),hc(n.prehash,"prehash"),n.format!==void 0&&yh(n.format),n}var bh=class extends Error{constructor(e=""){super(e)}},ri={Err:bh,_tlv:{encode:(t,e)=>{let{Err:n}=ri;if(t<0||t>256)throw new n("tlv.encode: wrong tag");if(e.length&1)throw new n("tlv.encode: unpadded data");let r=e.length/2,s=mc(r);if(s.length/2&128)throw new n("tlv.encode: long form length too big");let i=r>127?mc(s.length/2|128):"";return mc(t)+i+s+e},decode(t,e){let{Err:n}=ri,r=0;if(t<0||t>256)throw new n("tlv.encode: wrong tag");if(e.length<2||e[r++]!==t)throw new n("tlv.decode: wrong tlv");let s=e[r++],i=!!(s&128),o=0;if(!i)o=s;else{let c=s&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");let u=e.subarray(r,r+c);if(u.length!==c)throw new n("tlv.decode: length bytes not complete");if(u[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(let d of u)o=o<<8|d;if(r+=c,o<128)throw new n("tlv.decode(long): not minimal encoding")}let a=e.subarray(r,r+o);if(a.length!==o)throw new n("tlv.decode: wrong value length");return{v:a,l:e.subarray(r+o)}}},_int:{encode(t){let{Err:e}=ri;if(t<ws)throw new e("integer: negative integers are not allowed");let n=mc(t);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return n},decode(t){let{Err:e}=ri;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return $o(t)}},toSig(t){let{Err:e,_int:n,_tlv:r}=ri,s=je(t,void 0,"signature"),{v:i,l:o}=r.decode(48,s);if(o.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:c}=r.decode(2,i),{v:u,l:d}=r.decode(2,c);if(d.length)throw new e("invalid signature: left bytes after parsing");return{r:n.decode(a),s:n.decode(u)}},hexFromSig(t){let{_tlv:e,_int:n}=ri,r=e.encode(2,n.encode(t.r)),s=e.encode(2,n.encode(t.s)),i=r+s;return e.encode(48,i)}},ws=BigInt(0),Wo=BigInt(1),bw=BigInt(2),wl=BigInt(3),sA=BigInt(4);function ww(t,e={}){let n=mw("weierstrass",t,e),{Fp:r,Fn:s}=n,i=n.CURVE,{h:o,n:a}=i;yc(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=e;if(c&&(!r.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=vw(r,s);function d(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function f(D,N,j){let{x:l,y:h}=N.toAffine(),y=r.toBytes(l);if(hc(j,"isCompressed"),j){d();let w=!r.isOdd(h);return pn(_w(w),y)}else return pn(Uint8Array.of(4),y,r.toBytes(h))}function p(D){je(D,void 0,"Point");let{publicKey:N,publicKeyUncompressed:j}=u,l=D.length,h=D[0],y=D.subarray(1);if(l===N&&(h===2||h===3)){let w=r.fromBytes(y);if(!r.isValid(w))throw new Error("bad point: is not on curve, wrong x");let v=_(w),x;try{x=r.sqrt(v)}catch(g){let E=g instanceof Error?": "+g.message:"";throw new Error("bad point: is not on curve, sqrt error"+E)}d();let I=r.isOdd(x);return(h&1)===1!==I&&(x=r.neg(x)),{x:w,y:x}}else if(l===j&&h===4){let w=r.BYTES,v=r.fromBytes(y.subarray(0,w)),x=r.fromBytes(y.subarray(w,w*2));if(!T(v,x))throw new Error("bad point: is not on curve");return{x:v,y:x}}else throw new Error(`bad point: got length ${l}, expected compressed=${N} or uncompressed=${j}`)}let m=e.toBytes||f,b=e.fromBytes||p;function _(D){let N=r.sqr(D),j=r.mul(N,D);return r.add(r.add(j,r.mul(D,i.a)),i.b)}function T(D,N){let j=r.sqr(N),l=_(D);return r.eql(j,l)}if(!T(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let O=r.mul(r.pow(i.a,wl),sA),B=r.mul(r.sqr(i.b),BigInt(27));if(r.is0(r.add(O,B)))throw new Error("bad curve params: a or b");function C(D,N,j=!1){if(!r.isValid(N)||j&&r.is0(N))throw new Error(`bad point coordinate ${D}`);return N}function U(D){if(!(D instanceof F))throw new Error("Weierstrass Point expected")}function P(D){if(!c||!c.basises)throw new Error("no endo");return rA(D,c.basises,s.ORDER)}let L=oh((D,N)=>{let{X:j,Y:l,Z:h}=D;if(r.eql(h,r.ONE))return{x:j,y:l};let y=D.is0();N==null&&(N=y?r.ONE:r.inv(h));let w=r.mul(j,N),v=r.mul(l,N),x=r.mul(h,N);if(y)return{x:r.ZERO,y:r.ZERO};if(!r.eql(x,r.ONE))throw new Error("invZ was invalid");return{x:w,y:v}}),q=oh(D=>{if(D.is0()){if(e.allowInfinityPoint&&!r.is0(D.Y))return;throw new Error("bad point: ZERO")}let{x:N,y:j}=D.toAffine();if(!r.isValid(N)||!r.isValid(j))throw new Error("bad point: x or y not field elements");if(!T(N,j))throw new Error("bad point: equation left != right");if(!D.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function V(D,N,j,l,h){return j=new F(r.mul(j.X,D),j.Y,j.Z),N=bc(l,N),j=bc(h,j),N.add(j)}class F{static BASE=new F(i.Gx,i.Gy,r.ONE);static ZERO=new F(r.ZERO,r.ONE,r.ZERO);static Fp=r;static Fn=s;X;Y;Z;constructor(N,j,l){this.X=C("x",N),this.Y=C("y",j,!0),this.Z=C("z",l),Object.freeze(this)}static CURVE(){return i}static fromAffine(N){let{x:j,y:l}=N||{};if(!N||!r.isValid(j)||!r.isValid(l))throw new Error("invalid affine point");if(N instanceof F)throw new Error("projective point not allowed");return r.is0(j)&&r.is0(l)?F.ZERO:new F(j,l,r.ONE)}static fromBytes(N){let j=F.fromAffine(b(je(N,void 0,"point")));return j.assertValidity(),j}static fromHex(N){return F.fromBytes(Hi(N))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(N=8,j=!0){return Q.createCache(this,N),j||this.multiply(wl),this}assertValidity(){q(this)}hasEvenY(){let{y:N}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(N)}equals(N){U(N);let{X:j,Y:l,Z:h}=this,{X:y,Y:w,Z:v}=N,x=r.eql(r.mul(j,v),r.mul(y,h)),I=r.eql(r.mul(l,v),r.mul(w,h));return x&&I}negate(){return new F(this.X,r.neg(this.Y),this.Z)}double(){let{a:N,b:j}=i,l=r.mul(j,wl),{X:h,Y:y,Z:w}=this,v=r.ZERO,x=r.ZERO,I=r.ZERO,k=r.mul(h,h),g=r.mul(y,y),E=r.mul(w,w),G=r.mul(h,y);return G=r.add(G,G),I=r.mul(h,w),I=r.add(I,I),v=r.mul(N,I),x=r.mul(l,E),x=r.add(v,x),v=r.sub(g,x),x=r.add(g,x),x=r.mul(v,x),v=r.mul(G,v),I=r.mul(l,I),E=r.mul(N,E),G=r.sub(k,E),G=r.mul(N,G),G=r.add(G,I),I=r.add(k,k),k=r.add(I,k),k=r.add(k,E),k=r.mul(k,G),x=r.add(x,k),E=r.mul(y,w),E=r.add(E,E),k=r.mul(E,G),v=r.sub(v,k),I=r.mul(E,g),I=r.add(I,I),I=r.add(I,I),new F(v,x,I)}add(N){U(N);let{X:j,Y:l,Z:h}=this,{X:y,Y:w,Z:v}=N,x=r.ZERO,I=r.ZERO,k=r.ZERO,g=i.a,E=r.mul(i.b,wl),G=r.mul(j,y),z=r.mul(l,w),K=r.mul(h,v),ne=r.add(j,l),re=r.add(y,w);ne=r.mul(ne,re),re=r.add(G,z),ne=r.sub(ne,re),re=r.add(j,h);let be=r.add(y,v);return re=r.mul(re,be),be=r.add(G,K),re=r.sub(re,be),be=r.add(l,h),x=r.add(w,v),be=r.mul(be,x),x=r.add(z,K),be=r.sub(be,x),k=r.mul(g,re),x=r.mul(E,K),k=r.add(x,k),x=r.sub(z,k),k=r.add(z,k),I=r.mul(x,k),z=r.add(G,G),z=r.add(z,G),K=r.mul(g,K),re=r.mul(E,re),z=r.add(z,K),K=r.sub(G,K),K=r.mul(g,K),re=r.add(re,K),G=r.mul(z,re),I=r.add(I,G),G=r.mul(be,re),x=r.mul(ne,x),x=r.sub(x,G),G=r.mul(ne,z),k=r.mul(be,k),k=r.add(k,G),new F(x,I,k)}subtract(N){return this.add(N.negate())}is0(){return this.equals(F.ZERO)}multiply(N){let{endo:j}=e;if(!s.isValidNot0(N))throw new Error("invalid scalar: out of range");let l,h,y=w=>Q.cached(this,w,v=>mh(F,v));if(j){let{k1neg:w,k1:v,k2neg:x,k2:I}=P(N),{p:k,f:g}=y(v),{p:E,f:G}=y(I);h=g.add(G),l=V(j.beta,k,E,w,x)}else{let{p:w,f:v}=y(N);l=w,h=v}return mh(F,[l,h])[0]}multiplyUnsafe(N){let{endo:j}=e,l=this;if(!s.isValid(N))throw new Error("invalid scalar: out of range");if(N===ws||l.is0())return F.ZERO;if(N===Wo)return l;if(Q.hasCache(this))return this.multiply(N);if(j){let{k1neg:h,k1:y,k2neg:w,k2:v}=P(N),{p1:x,p2:I}=hw(F,l,y,v);return V(j.beta,x,I,h,w)}else return Q.unsafe(l,N)}toAffine(N){return L(this,N)}isTorsionFree(){let{isTorsionFree:N}=e;return o===Wo?!0:N?N(F,this):Q.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:N}=e;return o===Wo?this:N?N(F,this):this.multiplyUnsafe(o)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}toBytes(N=!0){return hc(N,"isCompressed"),this.assertValidity(),m(F,this,N)}toHex(N=!0){return Gi(this.toBytes(N))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let X=s.BITS,Q=new yl(F,e.endo?Math.ceil(X/2):X);return F.BASE.precompute(8),F}function _w(t){return Uint8Array.of(t?2:3)}function vw(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function iA(t,e={}){let{Fn:n}=t,r=e.randomBytes||fl,s=Object.assign(vw(t.Fp,n),{seed:lh(n.ORDER)});function i(m){try{let b=n.fromBytes(m);return n.isValidNot0(b)}catch{return!1}}function o(m,b){let{publicKey:_,publicKeyUncompressed:T}=s;try{let O=m.length;return b===!0&&O!==_||b===!1&&O!==T?!1:!!t.fromBytes(m)}catch{return!1}}function a(m=r(s.seed)){return dh(je(m,s.seed,"seed"),n.ORDER)}function c(m,b=!0){return t.BASE.multiply(n.fromBytes(m)).toBytes(b)}function u(m){let{secretKey:b,publicKey:_,publicKeyUncompressed:T}=s;if(!cc(m)||"_lengths"in n&&n._lengths||b===_)return;let O=je(m,void 0,"key").length;return O===_||O===T}function d(m,b,_=!0){if(u(m)===!0)throw new Error("first arg must be private key");if(u(b)===!1)throw new Error("second arg must be public key");let T=n.fromBytes(m);return t.fromBytes(b).multiply(T).toBytes(_)}let f={isValidSecretKey:i,isValidPublicKey:o,randomSecretKey:a},p=gw(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:d,keygen:p,Point:t,utils:f,lengths:s})}function Tw(t,e,n={}){dl(e),yc(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),n=Object.assign({},n);let r=n.randomBytes||fl,s=n.hmac||((j,l)=>zo(e,j,l)),{Fp:i,Fn:o}=t,{ORDER:a,BITS:c}=o,{keygen:u,getPublicKey:d,getSharedSecret:f,utils:p,lengths:m}=iA(t,n),b={prehash:!0,lowS:typeof n.lowS=="boolean"?n.lowS:!0,format:"compact",extraEntropy:!1},_=a*bw<i.ORDER;function T(j){let l=a>>Wo;return j>l}function O(j,l){if(!o.isValidNot0(l))throw new Error(`invalid signature ${j}: out of range 1..Point.Fn.ORDER`);return l}function B(){if(_)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function C(j,l){yh(l);let h=m.signature,y=l==="compact"?h:l==="recovered"?h+1:void 0;return je(j,y)}class U{r;s;recovery;constructor(l,h,y){if(this.r=O("r",l),this.s=O("s",h),y!=null){if(B(),![0,1,2,3].includes(y))throw new Error("invalid recovery id");this.recovery=y}Object.freeze(this)}static fromBytes(l,h=b.format){C(l,h);let y;if(h==="der"){let{r:I,s:k}=ri.toSig(je(l));return new U(I,k)}h==="recovered"&&(y=l[0],h="compact",l=l.subarray(1));let w=m.signature/2,v=l.subarray(0,w),x=l.subarray(w,w*2);return new U(o.fromBytes(v),o.fromBytes(x),y)}static fromHex(l,h){return this.fromBytes(Hi(l),h)}assertRecovery(){let{recovery:l}=this;if(l==null)throw new Error("invalid recovery id: must be present");return l}addRecoveryBit(l){return new U(this.r,this.s,l)}recoverPublicKey(l){let{r:h,s:y}=this,w=this.assertRecovery(),v=w===2||w===3?h+a:h;if(!i.isValid(v))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let x=i.toBytes(v),I=t.fromBytes(pn(_w((w&1)===0),x)),k=o.inv(v),g=L(je(l,void 0,"msgHash")),E=o.create(-g*k),G=o.create(y*k),z=t.BASE.multiplyUnsafe(E).add(I.multiplyUnsafe(G));if(z.is0())throw new Error("invalid recovery: point at infinify");return z.assertValidity(),z}hasHighS(){return T(this.s)}toBytes(l=b.format){if(yh(l),l==="der")return Hi(ri.hexFromSig(this));let{r:h,s:y}=this,w=o.toBytes(h),v=o.toBytes(y);return l==="recovered"?(B(),pn(Uint8Array.of(this.assertRecovery()),w,v)):pn(w,v)}toHex(l){return Gi(this.toBytes(l))}}let P=n.bits2int||function(l){if(l.length>8192)throw new Error("input is too large");let h=$o(l),y=l.length*8-c;return y>0?h>>BigInt(y):h},L=n.bits2int_modN||function(l){return o.create(P(l))},q=gc(c);function V(j){return Yb("num < 2^"+c,j,ws,q),o.toBytes(j)}function F(j,l){return je(j,void 0,"message"),l?je(e(j),void 0,"prehashed message"):j}function X(j,l,h){let{lowS:y,prehash:w,extraEntropy:v}=gh(h,b);j=F(j,w);let x=L(j),I=o.fromBytes(l);if(!o.isValidNot0(I))throw new Error("invalid private key");let k=[V(I),V(x)];if(v!=null&&v!==!1){let z=v===!0?r(m.secretKey):v;k.push(je(z,void 0,"extraEntropy"))}let g=pn(...k),E=x;function G(z){let K=P(z);if(!o.isValidNot0(K))return;let ne=o.inv(K),re=t.BASE.multiply(K).toAffine(),be=o.create(re.x);if(be===ws)return;let Wt=o.create(ne*o.create(E+be*I));if(Wt===ws)return;let Re=(re.x===be?0:2)|Number(re.y&Wo),Le=Wt;return y&&T(Wt)&&(Le=o.neg(Wt),Re^=1),new U(be,Le,_?void 0:Re)}return{seed:g,k2sig:G}}function Q(j,l,h={}){let{seed:y,k2sig:w}=X(j,l,h);return Xb(e.outputLen,o.BYTES,s)(y,w).toBytes(h.format)}function D(j,l,h,y={}){let{lowS:w,prehash:v,format:x}=gh(y,b);if(h=je(h,void 0,"publicKey"),l=F(l,v),!cc(j)){let I=j instanceof U?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+I)}C(j,x);try{let I=U.fromBytes(j,x),k=t.fromBytes(h);if(w&&I.hasHighS())return!1;let{r:g,s:E}=I,G=L(l),z=o.inv(E),K=o.create(G*z),ne=o.create(g*z),re=t.BASE.multiplyUnsafe(K).add(k.multiplyUnsafe(ne));return re.is0()?!1:o.create(re.x)===g}catch{return!1}}function N(j,l,h={}){let{prehash:y}=gh(h,b);return l=F(l,y),U.fromBytes(j,"recovered").recoverPublicKey(l).toBytes()}return Object.freeze({keygen:u,getPublicKey:d,getSharedSecret:f,utils:p,lengths:m,Point:t,sign:Q,verify:D,recoverPublicKey:N,Signature:U,hash:e})}var _h={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},oA={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var kw=BigInt(2);function aA(t){let e=_h.p,n=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,d=u*u*t%e,f=qn(d,n,e)*d%e,p=qn(f,n,e)*d%e,m=qn(p,kw,e)*u%e,b=qn(m,s,e)*m%e,_=qn(b,i,e)*b%e,T=qn(_,a,e)*_%e,O=qn(T,c,e)*T%e,B=qn(O,a,e)*_%e,C=qn(B,n,e)*d%e,U=qn(C,o,e)*b%e,P=qn(U,r,e)*u%e,L=qn(P,kw,e);if(!wh.eql(wh.sqr(L),t))throw new Error("Cannot find square root");return L}var wh=Go(_h.p,{sqrt:aA}),cA=ww(_h,{Fp:wh,endo:oA}),Yi=Tw(cA,pc);var uA=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),xw=(()=>Uint8Array.from(new Array(16).fill(0).map((t,e)=>e)))(),lA=(()=>xw.map(t=>(9*t+5)%16))(),Sw=(()=>{let n=[[xw],[lA]];for(let r=0;r<4;r++)for(let s of n)s.push(s[r].map(i=>uA[i]));return n})(),Ow=(()=>Sw[0])(),Iw=(()=>Sw[1])(),Aw=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(t=>Uint8Array.from(t)),dA=Ow.map((t,e)=>t.map(n=>Aw[e][n])),fA=Iw.map((t,e)=>t.map(n=>Aw[e][n])),pA=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),hA=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Ew(t,e,n,r){return t===0?e^n^r:t===1?e&n|~e&r:t===2?(e|~n)^r:t===3?e&r|n&~r:e^(n|~r)}var _l=new Uint32Array(16),vh=class extends zi{h0=1732584193;h1=-271733879;h2=-1732584194;h3=271733878;h4=-1009589776;constructor(){super(64,20,8,!0)}get(){let{h0:e,h1:n,h2:r,h3:s,h4:i}=this;return[e,n,r,s,i]}set(e,n,r,s,i){this.h0=e|0,this.h1=n|0,this.h2=r|0,this.h3=s|0,this.h4=i|0}process(e,n){for(let m=0;m<16;m++,n+=4)_l[m]=e.getUint32(n,!0);let r=this.h0|0,s=r,i=this.h1|0,o=i,a=this.h2|0,c=a,u=this.h3|0,d=u,f=this.h4|0,p=f;for(let m=0;m<5;m++){let b=4-m,_=pA[m],T=hA[m],O=Ow[m],B=Iw[m],C=dA[m],U=fA[m];for(let P=0;P<16;P++){let L=uc(r+Ew(m,i,a,u)+_l[O[P]]+_,C[P])+f|0;r=f,f=u,u=uc(a,10)|0,a=i,i=L}for(let P=0;P<16;P++){let L=uc(s+Ew(b,o,c,d)+_l[B[P]]+T,U[P])+p|0;s=p,p=d,d=uc(c,10)|0,c=o,o=L}}this.set(this.h1+a+d|0,this.h2+u+p|0,this.h3+f+s|0,this.h4+r+o|0,this.h0+i+c|0)}roundClean(){er(_l)}destroy(){this.destroyed=!0,er(this.buffer),this.set(0,0,0,0,0)}},Cw=lc(()=>new vh);var _c=Yi.Point,{Fn:wc}=_c,Th=i0(pc),mA=Uint8Array.from("Bitcoin seed".split(""),t=>t.charCodeAt(0)),kh={private:76066276,public:76067358},Eh=2147483648,gA=t=>Cw(pc(t)),yA=t=>Qs(t).getUint32(0,!1),vl=t=>{if(!Number.isSafeInteger(t)||t<0||t>2**32-1)throw new Error("invalid number, should be from 0 to 2**32-1, got "+t);let e=new Uint8Array(4);return Qs(e).setUint32(0,t,!1),e},qr=class{get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return yA(this.pubHash)}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this._privateKey||null}get publicKey(){return this._publicKey||null}get privateExtendedKey(){let e=this._privateKey;if(!e)throw new Error("No private key");return Th.encode(this.serialize(this.versions.private,pn(Uint8Array.of(0),e)))}get publicExtendedKey(){if(!this._publicKey)throw new Error("No public key");return Th.encode(this.serialize(this.versions.public,this._publicKey))}static fromMasterSeed(e,n=kh){if(je(e),8*e.length<128||8*e.length>512)throw new Error("HDKey: seed length must be between 128 and 512 bits; 256 bits is advised, got "+e.length);let r=zo(eh,mA,e),s=r.slice(0,32),i=r.slice(32);return new qr({versions:n,chainCode:i,privateKey:s})}static fromExtendedKey(e,n=kh){let r=Th.decode(e),s=Qs(r),i=s.getUint32(0,!1),o={versions:n,depth:r[4],parentFingerprint:s.getUint32(5,!1),index:s.getUint32(9,!1),chainCode:r.slice(13,45)},a=r.slice(45),c=a[0]===0;if(i!==n[c?"private":"public"])throw new Error("Version mismatch");return c?new qr({...o,privateKey:a.slice(1)}):new qr({...o,publicKey:a})}static fromJSON(e){return qr.fromExtendedKey(e.xpriv)}versions;depth=0;index=0;chainCode=null;parentFingerprint=0;_privateKey;_publicKey;pubHash;constructor(e){if(!e||typeof e!="object")throw new Error("HDKey.constructor must not be called directly");if(this.versions=e.versions||kh,this.depth=e.depth||0,this.chainCode=e.chainCode||null,this.index=e.index||0,this.parentFingerprint=e.parentFingerprint||0,!this.depth&&(this.parentFingerprint||this.index))throw new Error("HDKey: zero depth with non-zero index/parent fingerprint");if(this.depth>255)throw new Error("HDKey: depth exceeds the serializable value 255");if(e.publicKey&&e.privateKey)throw new Error("HDKey: publicKey and privateKey at same time.");if(e.privateKey){if(!Yi.utils.isValidSecretKey(e.privateKey))throw new Error("Invalid private key");this._privateKey=e.privateKey,this._publicKey=Yi.getPublicKey(e.privateKey,!0)}else if(e.publicKey)this._publicKey=_c.fromBytes(e.publicKey).toBytes(!0);else throw new Error("HDKey: no public or private key provided");this.pubHash=gA(this._publicKey)}derive(e){if(!/^[mM]'?/.test(e))throw new Error('Path must start with "m" or "M"');if(/^[mM]'?$/.test(e))return this;let n=e.replace(/^[mM]'?\//,"").split("/"),r=this;for(let s of n){let i=/^(\d+)('?)$/.exec(s),o=i&&i[1];if(!i||i.length!==3||typeof o!="string")throw new Error("invalid child index: "+s);let a=+o;if(!Number.isSafeInteger(a)||a>=Eh)throw new Error("Invalid index");i[2]==="'"&&(a+=Eh),r=r.deriveChild(a)}return r}deriveChild(e){if(!this._publicKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let n=vl(e);if(e>=Eh){let c=this._privateKey;if(!c)throw new Error("Could not derive hardened child key");n=pn(Uint8Array.of(0),c,n)}else n=pn(this._publicKey,n);let r=zo(eh,this.chainCode,n),s=r.slice(0,32),i=r.slice(32);if(!Yi.utils.isValidSecretKey(s))throw new Error("Tweak bigger than curve order");let o={versions:this.versions,chainCode:i,depth:this.depth+1,parentFingerprint:this.fingerprint,index:e},a=wc.fromBytes(s);try{if(this._privateKey){let c=wc.create(wc.fromBytes(this._privateKey)+a);if(!wc.isValidNot0(c))throw new Error("The tweak was out of range or the resulted private key is invalid");o.privateKey=wc.toBytes(c)}else{let c=_c.fromBytes(this._publicKey).add(_c.BASE.multiply(a));if(c.equals(_c.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");o.publicKey=c.toBytes(!0)}return new qr(o)}catch{return this.deriveChild(e+1)}}sign(e){if(!this._privateKey)throw new Error("No privateKey set!");return je(e,32),Yi.sign(e,this._privateKey,{prehash:!1})}verify(e,n){if(je(e,32),je(n,64),!this._publicKey)throw new Error("No publicKey set!");return Yi.verify(n,e,this._publicKey,{prehash:!1})}wipePrivateData(){return this._privateKey&&(this._privateKey.fill(0),this._privateKey=void 0),this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(e,n){if(!this.chainCode)throw new Error("No chainCode set");return je(n,33),pn(vl(e),new Uint8Array([this.depth]),vl(this.parentFingerprint),vl(this.index),this.chainCode,n)}};var Nw="m/54'/784'/0'/0/0",Tl=class vc extends al{constructor(e){if(super(),e)this.keypair=e;else{let n=Pr.utils.randomSecretKey();this.keypair={publicKey:Pr.getPublicKey(n,!0),secretKey:n}}}getKeyScheme(){return"Secp256k1"}static generate(){return new vc}static fromSecretKey(e,n){if(typeof e=="string"){let s=cl(e);if(s.scheme!=="Secp256k1")throw new Error(`Expected a Secp256k1 keypair, got ${s.scheme}`);return this.fromSecretKey(s.secretKey,n)}let r=Pr.getPublicKey(e,!0);if(!n||!n.skipValidation){let s=ur(new TextEncoder().encode("sui validation"),{dkLen:32}),i=Pr.sign(s,e,{prehash:!1});if(!Pr.verify(i,s,r,{lowS:!0,prehash:!1}))throw new Error("Provided secretKey is invalid")}return new vc({publicKey:r,secretKey:e})}static fromSeed(e){return new vc({publicKey:Pr.getPublicKey(e,!0),secretKey:e})}getPublicKey(){return new jb(this.keypair.publicKey)}getSecretKey(){return ul(this.keypair.secretKey,this.getKeyScheme())}async sign(e){return Pr.sign(e,this.keypair.secretKey,{lowS:!0})}static deriveKeypair(e,n){if(n==null&&(n=Nw),!Eb(n))throw new Error("Invalid derivation path");let r=qr.fromMasterSeed(jp(e)).derive(n);if(r.publicKey==null||r.privateKey==null)throw new Error("Invalid key");return new vc({publicKey:r.publicKey,secretKey:r.privateKey})}};var Gt={MoveCall(t){let[e,n="",r=""]="target"in t?t.target.split("::"):[t.package,t.module,t.function];return{$kind:"MoveCall",MoveCall:{package:e,module:n,function:r,typeArguments:t.typeArguments??[],arguments:t.arguments??[]}}},TransferObjects(t,e){return{$kind:"TransferObjects",TransferObjects:{objects:t.map(n=>Pe(qe,n)),address:Pe(qe,e)}}},SplitCoins(t,e){return{$kind:"SplitCoins",SplitCoins:{coin:Pe(qe,t),amounts:e.map(n=>Pe(qe,n))}}},MergeCoins(t,e){return{$kind:"MergeCoins",MergeCoins:{destination:Pe(qe,t),sources:e.map(n=>Pe(qe,n))}}},Publish({modules:t,dependencies:e}){return{$kind:"Publish",Publish:{modules:t.map(n=>typeof n=="string"?n:ve(new Uint8Array(n))),dependencies:e.map(n=>bn(n))}}},Upgrade({modules:t,dependencies:e,package:n,ticket:r}){return{$kind:"Upgrade",Upgrade:{modules:t.map(s=>typeof s=="string"?s:ve(new Uint8Array(s))),dependencies:e.map(s=>bn(s)),package:n,ticket:Pe(qe,r)}}},MakeMoveVec({type:t,elements:e}){return{$kind:"MakeMoveVec",MakeMoveVec:{type:t??null,elements:e.map(n=>Pe(qe,n))}}},Intent({name:t,inputs:e={},data:n={}}){return{$kind:"$Intent",$Intent:{name:t,inputs:Object.fromEntries(Object.entries(e).map(([r,s])=>[r,Array.isArray(s)?s.map(i=>Pe(qe,i)):Pe(qe,s)])),data:n}}}};function bA(t){return{$kind:"Pure",Pure:{bytes:t instanceof Uint8Array?ve(t):t.toBase64()}}}var rt={Pure:bA,ObjectRef({objectId:t,digest:e,version:n}){return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{digest:e,version:n,objectId:ae(t)}}}},SharedObjectRef({objectId:t,mutable:e,initialSharedVersion:n}){return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{mutable:e,initialSharedVersion:n,objectId:ae(t)}}}},ReceivingRef({objectId:t,digest:e,version:n}){return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{digest:e,version:n,objectId:ae(t)}}}},FundsWithdrawal({reservation:t,typeArg:e,withdrawFrom:n}){return{$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:t,typeArg:e,withdrawFrom:n}}}};function Rw(t){let e=t.split("::");if(e.length!==3)throw new Error(`Invalid type name format: ${t}`);return{package:e[0],module:e[1],name:e[2]}}function Bw(t){if(t.body.$kind!=="datatype")return!1;let{package:e,module:n,name:r}=Rw(t.body.datatype.typeName);return ae(e)===Sa&&n==="tx_context"&&r==="TxContext"}function kl(t){switch(t.$kind){case"address":return A.Address;case"bool":return A.Bool;case"u8":return A.U8;case"u16":return A.U16;case"u32":return A.U32;case"u64":return A.U64;case"u128":return A.U128;case"u256":return A.U256;case"vector":{if(t.vector.$kind==="u8")return A.byteVector().transform({input:n=>typeof n=="string"?new TextEncoder().encode(n):n,output:n=>n});let e=kl(t.vector);return e?A.vector(e):null}case"datatype":{let{package:e,module:n,name:r}=Rw(t.datatype.typeName),s=ae(e);if(s===xa){if(n==="ascii"&&r==="String")return A.String;if(n==="string"&&r==="String")return A.String;if(n==="option"&&r==="Option"){let i=kl(t.datatype.typeParameters[0]);return i?A.vector(i):null}}return s===Sa&&n==="object"&&r==="ID"?A.Address:null}case"typeParameter":case"unknown":return null}}var $r="CoinWithBalance",_s=Be("0x2::sui::SUI");function tr({type:t=_s,balance:e,useGasCoin:n=!0}){let r=null;return s=>{if(r)return r;s.addIntentResolver($r,El);let i=t==="gas"?t:Be(t);return r=s.add(Gt.Intent({name:$r,inputs:{},data:{type:i===_s&&n?"gas":i,balance:BigInt(e),outputKind:"coin"}})),r}}function Mw({type:t=_s,balance:e,useGasCoin:n=!0}){let r=null;return s=>{if(r)return r;s.addIntentResolver($r,El);let i=t==="gas"?t:Be(t);return r=s.add(Gt.Intent({name:$r,inputs:{},data:{type:i===_s&&n?"gas":i,balance:BigInt(e),outputKind:"balance"}})),r}}var wA=J({type:_e(),balance:So(),outputKind:Ye(xf(["coin","balance"]))});async function El(t,e,n){let r=new Set,s=new Map,i=new Map;if(!t.sender)throw new Error("Sender must be set to resolve CoinWithBalance");for(let[_,T]of t.commands.entries()){if(T.$kind!=="$Intent"||T.$Intent.name!==$r)continue;let{type:O,balance:B,outputKind:C}=Pe(wA,T.$Intent.data);if(B===0n){let U=O==="gas"?_s:O;t.replaceCommand(_,Gt.MoveCall({target:(C??"coin")==="balance"?"0x2::balance::zero":"0x2::coin::zero",typeArguments:[U]}));continue}O!=="gas"&&r.add(O),s.set(O,(s.get(O)??0n)+B),i.has(O)||i.set(O,[]),i.get(O).push({balance:B,outputKind:C??"coin"})}if(s.has("gas")&&s.has(_s))throw new Error("Cannot mix SUI CoinWithBalance intents that use the gas coin with ones that do not (useGasCoin: false). Use one or the other.");let o=new Set;for(let _ of t.inputs)_.Object?.ImmOrOwnedObject&&o.add(_.Object.ImmOrOwnedObject.objectId),_.UnresolvedObject?.objectId&&o.add(_.UnresolvedObject.objectId);let a=new Map,c=new Map,u=e.client;if(!u)throw new Error("Client must be provided to build or serialize transactions with CoinWithBalance intents");await Promise.all([...[...r].map(async _=>{let{coins:T,addressBalance:O}=await _A({coinType:_,balance:s.get(_),client:u,owner:t.sender,usedIds:o});a.set(_,T),c.set(_,O)}),s.has("gas")?await u.core.getBalance({owner:t.sender,coinType:_s}).then(({balance:_})=>{c.set("gas",BigInt(_.addressBalance))}):null]);let d=new Map,f=new Map,p=new Set,m=new Map,b=0;for(;b<t.commands.length;){let _=t.commands[b];if(_.$kind!=="$Intent"||_.$Intent.name!==$r){b++;continue}let{type:T,balance:O}=_.$Intent.data,B=T==="gas"?_s:T,C=s.get(T),U=c.get(T)??0n,P=[],L,q=i.get(T)??[];if(q.every(V=>V.outputKind==="balance")&&U>=C)P.push(Gt.MoveCall({target:"0x2::balance::redeem_funds",typeArguments:[B],arguments:[t.addInput("withdrawal",rt.FundsWithdrawal({reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(O)},typeArg:{$kind:"Balance",Balance:B},withdrawFrom:{$kind:"Sender",Sender:!0}}))]})),L={$kind:"NestedResult",NestedResult:[b+P.length-1,0]};else{if(!m.has(T)){let F=q,X=[];if(U>=C)p.add(T),P.push(Gt.MoveCall({target:"0x2::coin::redeem_funds",typeArguments:[B],arguments:[t.addInput("withdrawal",rt.FundsWithdrawal({reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(C)},typeArg:{$kind:"Balance",Balance:B},withdrawFrom:{$kind:"Sender",Sender:!0}}))]})),X.push({$kind:"Result",Result:b+P.length-1});else if(T==="gas")X.push({$kind:"GasCoin",GasCoin:!0});else{let l=a.get(T),h=l.reduce((w,v)=>w+BigInt(v.balance),0n),y=C>h?C-h:0n;f.set(T,h+y===C);for(let w of l)X.push(t.addInput("object",rt.ObjectRef({objectId:w.objectId,digest:w.digest,version:w.version})));y>0n&&(p.add(T),P.push(Gt.MoveCall({target:"0x2::coin::redeem_funds",typeArguments:[B],arguments:[t.addInput("withdrawal",rt.FundsWithdrawal({reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(y)},typeArg:{$kind:"Balance",Balance:B},withdrawFrom:{$kind:"Sender",Sender:!0}}))]})),X.push({$kind:"Result",Result:b+P.length-1}))}let Q=X[0],D=X.slice(1);for(let l=0;l<D.length;l+=500)P.push(Gt.MergeCoins(Q,D.slice(l,l+500)));d.set(T,Q);let N=b+P.length;P.push(Gt.SplitCoins(Q,F.map(l=>t.addInput("pure",rt.Pure(A.u64().serialize(l.balance))))));let j=[];for(let l=0;l<F.length;l++){let h={$kind:"NestedResult",NestedResult:[N,l]};F[l].outputKind==="balance"?(P.push(Gt.MoveCall({target:"0x2::coin::into_balance",typeArguments:[B],arguments:[h]})),j.push({$kind:"NestedResult",NestedResult:[b+P.length-1,0]})):j.push(h)}m.set(T,{results:j,nextIntent:0})}let V=m.get(T);L=V.results[V.nextIntent++]}t.replaceCommand(b,P,L),b+=P.length}for(let[_,T]of d){if(_==="gas"&&!p.has(_))continue;let O=_==="gas"?_s:_,B=i.get(_)?.some(U=>U.outputKind==="balance"),C=p.has(_);B||C?t.commands.push(Gt.MoveCall({target:"0x2::coin::send_funds",typeArguments:[O],arguments:[T,t.addInput("pure",rt.Pure(A.Address.serialize(t.sender)))]})):f.get(_)&&t.commands.push(Gt.MoveCall({target:"0x2::coin::destroy_zero",typeArguments:[O],arguments:[T]}))}return n()}async function _A({coinType:t,balance:e,client:n,owner:r,usedIds:s}){let i=e,o=[],a=n.core.getBalance({owner:r,coinType:t}).then(({balance:f})=>(i-=BigInt(f.addressBalance),f)),[c,u]=await Promise.all([d(),a]);if(BigInt(u.balance)<e)throw new Error(`Insufficient balance of ${t} for owner ${r}. Required: ${e}, Available: ${e-i}`);return{coins:c,balance:BigInt(u.coinBalance),addressBalance:BigInt(u.addressBalance),coinBalance:BigInt(u.coinBalance)};async function d(f=null){let{objects:p,hasNextPage:m,cursor:b}=await n.core.listCoins({owner:r,coinType:t,cursor:f});await a;for(let _ of p)s.has(_.objectId)||(o.push(_),i-=BigInt(_.balance));return i>0n&&m?d(b):o}}function Tc(t){return it(Object.entries(t).map(([e,n])=>J({[e]:n})))}var wr=Tc({GasCoin:de(!0),Input:Fe(He(),ze()),Result:Fe(He(),ze()),NestedResult:Ia([Fe(He(),ze()),Fe(He(),ze())])}),vA=J({budget:Se(ot),price:Se(ot),owner:Se(xi),payment:Se(me(lr))}),TA=J({package:_n,module:_e(),function:_e(),typeArguments:me(_e()),arguments:me(wr)}),kA=J({name:_e(),inputs:Ei(_e(),it([wr,me(wr)])),data:Ei(_e(),Rr())}),EA=Tc({MoveCall:TA,TransferObjects:J({objects:me(wr),address:wr}),SplitCoins:J({coin:wr,amounts:me(wr)}),MergeCoins:J({destination:wr,sources:me(wr)}),Publish:J({modules:me(Bs),dependencies:me(_n)}),MakeMoveVec:J({type:Se(_e()),elements:me(wr)}),Upgrade:J({modules:me(Bs),dependencies:me(_n),package:_n,ticket:wr}),$Intent:kA}),xA=Tc({Object:Tc({ImmOrOwnedObject:lr,SharedObject:J({objectId:_n,initialSharedVersion:ot,mutable:ss()}),Receiving:lr}),Pure:J({bytes:Bs}),UnresolvedPure:J({value:Rr()}),UnresolvedObject:J({objectId:_n,version:Ye(Se(ot)),digest:Ye(Se(_e())),initialSharedVersion:Ye(Se(ot)),mutable:Ye(Se(ss()))}),FundsWithdrawal:Of}),SA=Tc({None:de(!0),Epoch:ot,ValidDuring:Af}),Dw=J({version:de(2),sender:is(xi),expiration:is(SA),gasData:vA,inputs:me(xA),commands:me(EA),digest:Ye(Se(_e()))});var OA=ae("0xacc"),IA=Sr.parseFromStr("0x2::accumulator::Key<0x2::balance::Balance<0x2::sui::SUI>>"),AA=new Uint8Array([172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172]);function CA(t,e){let n=ln(rs(OA,IA,A.Address.serialize(t).toBytes()).slice(2)),r=zn(e);if(r.length!==32)throw new Error(`Invalid chain identifier length: expected 32 bytes, got ${r.length}`);let s=new Uint8Array(32);for(let i=0;i<32;i++)s[i]=n[i]^r[i];return`0x${Qt(s)}`}function jw(t,e,n,r){let s=new Uint8Array(32),i=new DataView(s.buffer);i.setBigUint64(0,t,!0);let o=Number(r);if(!Number.isSafeInteger(o)||o<0||o>4294967295)throw new Error(`Epoch ${r} out of u32 range for coin reservation digest`);return i.setUint32(8,o,!0),s.set(AA,12),Pe(lr,{objectId:CA(e,n),version:"0",digest:Ln(s)})}var NA=50,RA=1000n,BA=5e10;function MA(t,e=1n){let n=RA*BigInt(e),r=BigInt(t.computationCost)+n,s=r+BigInt(t.storageCost)-BigInt(t.storageRebate);return String(s>r?s:r)}function DA(t){if(!t.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return t.client}async function Uw(t,e,n){let r=DA(e),s=!e.onlyTransactionKind&&!t.gasData.price,i=!e.onlyTransactionKind&&!t.gasData.payment,o=t.gasData.owner??t.sender,a=!1,c=0n;t.mapArguments(O=>(O.$kind==="GasCoin"&&(a=!0),O));let u=o?ae(o):null;for(let O of t.inputs){if(O.$kind!=="FundsWithdrawal"||!u||Be(O.FundsWithdrawal.typeArg.Balance)!==Zn)continue;let B=O.FundsWithdrawal.withdrawFrom.Sender?t.sender:o;B&&ae(B)===u&&O.FundsWithdrawal.reservation.$kind==="MaxAmountU64"&&(c+=BigInt(O.FundsWithdrawal.reservation.MaxAmountU64))}let d=!e.onlyTransactionKind&&!t.expiration&&!t.gasData.budget,f=s||i&&a||d,p=i&&a||d,[,m,b,_,T]=await Promise.all([VA(t,r),f?r.core.getCurrentSystemState():null,i&&o?r.core.getBalance({owner:o}):null,i&&o?r.core.listCoins({owner:o,coinType:Zn}):null,p?r.core.getChainIdentifier():null]);if(await PA(t,r),!e.onlyTransactionKind){let O=m?.systemState??null,B=T?.chainIdentifier??null;if(O&&!t.gasData.price&&(t.gasData.price=O.referenceGasPrice),await jA(t,r,d&&O&&B?Lw(O,B):void 0),i){if(!b||!_)throw new Error("Could not resolve gas payment: a gas owner or sender must be set to fetch balance and coins.");UA({transactionData:t,balance:b,coins:_,usesGasCoin:a,withdrawals:c,gasPayer:o,chainIdentifier:B,epoch:O?.epoch??null})}!t.expiration&&t.gasData.payment?.length===0&&await LA(t,r,O,B)}return await n()}async function jA(t,e,n){if(t.gasData.budget)return;let r=await e.core.simulateTransaction({transaction:t.build({overrides:{gasData:{budget:String(BA),payment:[]},...n&&{expiration:n}}}),include:{effects:!0}});if(r.$kind==="FailedTransaction"){let s=r.FailedTransaction.status.error??void 0;throw new Oi(`Transaction resolution failed: ${s?.message??"Unknown error"}`,{cause:r,executionError:s})}t.gasData.budget=MA(r.Transaction.effects.gasUsed,t.gasData.price?String(t.gasData.price):void 0)}function UA({transactionData:t,balance:e,coins:n,usesGasCoin:r,withdrawals:s,gasPayer:i,chainIdentifier:o,epoch:a}){let c=BigInt(t.gasData.budget),u=BigInt(e.balance.addressBalance);if(c===0n||!r&&u>=c+s){t.gasData.payment=[];return}let d=n.objects.filter(m=>!t.inputs.find(b=>b.Object?.ImmOrOwnedObject?m.objectId===b.Object.ImmOrOwnedObject.objectId:!1)),f=d.map(m=>({objectId:m.objectId,digest:m.digest,version:m.version})),p=u-s;if(r&&p>0n&&o&&a)t.gasData.payment=[jw(p,i,o,a),...f];else if(d.length)t.gasData.payment=f;else throw new Error("No valid gas coins found for the transaction.")}async function LA(t,e,n,r=null){let[s,i]=await Promise.all([r??e.core.getChainIdentifier().then(o=>o.chainIdentifier),n??e.core.getCurrentSystemState().then(o=>o.systemState)]);t.expiration=Lw(i,s)}function Lw(t,e){let n=BigInt(t.epoch);return{$kind:"ValidDuring",ValidDuring:{minEpoch:String(n),maxEpoch:String(n+1n),minTimestamp:null,maxTimestamp:null,chain:e,nonce:Math.random()*4294967296>>>0}}}async function PA(t,e){let n=t.inputs.filter(d=>d.UnresolvedObject&&!(d.UnresolvedObject.version||d.UnresolvedObject?.initialSharedVersion)),r=[...new Set(n.map(d=>bn(d.UnresolvedObject.objectId)))],s=r.length?xr(r,NA):[],i=(await Promise.all(s.map(d=>e.core.getObjects({objectIds:d})))).flatMap(d=>d.objects),o=new Map(r.map((d,f)=>[d,i[f]])),a=Array.from(o).filter(([d,f])=>f instanceof Error).map(([d,f])=>f.message);if(a.length)throw new Error(`The following input objects are invalid: ${a.join(", ")}`);let c=i.map(d=>{if(d instanceof Error)throw new Error(`Failed to fetch object: ${d.message}`);let f=d.owner,p=f&&typeof f=="object"?f.$kind==="Shared"?f.Shared.initialSharedVersion:f.$kind==="ConsensusAddressOwner"?f.ConsensusAddressOwner.startVersion:null:null;return{objectId:d.objectId,digest:d.digest,version:d.version,initialSharedVersion:p}}),u=new Map(r.map((d,f)=>[d,c[f]]));for(let[d,f]of t.inputs.entries()){if(!f.UnresolvedObject)continue;let p,m=ae(f.UnresolvedObject.objectId),b=u.get(m);f.UnresolvedObject.initialSharedVersion??b?.initialSharedVersion?p=rt.SharedObjectRef({objectId:m,initialSharedVersion:f.UnresolvedObject.initialSharedVersion||b?.initialSharedVersion,mutable:f.UnresolvedObject.mutable||FA(t,d)}):qA(t,d)&&(p=rt.ReceivingRef({objectId:m,digest:f.UnresolvedObject.digest??b?.digest,version:f.UnresolvedObject.version??b?.version})),t.inputs[t.inputs.indexOf(f)]=p??rt.ObjectRef({objectId:m,digest:f.UnresolvedObject.digest??b?.digest,version:f.UnresolvedObject.version??b?.version})}}async function VA(t,e){let{inputs:n,commands:r}=t,s=[],i=new Set;r.forEach(a=>{if(a.MoveCall){if(a.MoveCall._argumentTypes)return;if(a.MoveCall.arguments.map(c=>c.$kind==="Input"?t.inputs[c.Input]:null).some(c=>c?.UnresolvedPure||c?.UnresolvedObject&&typeof c?.UnresolvedObject.mutable!="boolean")){let c=`${a.MoveCall.package}::${a.MoveCall.module}::${a.MoveCall.function}`;i.add(c),s.push(a.MoveCall)}}});let o=new Map;i.size>0&&await Promise.all([...i].map(async a=>{let[c,u,d]=a.split("::"),{function:f}=await e.core.getMoveFunction({packageId:c,moduleName:u,name:d});o.set(a,f.parameters)})),s.length&&await Promise.all(s.map(async a=>{let c=o.get(`${a.package}::${a.module}::${a.function}`);c&&(a._argumentTypes=c.length>0&&Bw(c.at(-1))?c.slice(0,c.length-1):c)})),r.forEach(a=>{if(!a.MoveCall)return;let c=a.MoveCall,u=`${c.package}::${c.module}::${c.function}`,d=c._argumentTypes;if(d){if(d.length!==a.MoveCall.arguments.length)throw new Error(`Incorrect number of arguments for ${u}`);d.forEach((f,p)=>{let m=c.arguments[p];if(m.$kind!=="Input")return;let b=n[m.Input];if(!b.UnresolvedPure&&!b.UnresolvedObject)return;let _=b.UnresolvedPure?.value??b.UnresolvedObject?.objectId,T=kl(f.body);if(T){m.type="pure",n[n.indexOf(b)]=rt.Pure(T.serialize(_));return}if(typeof _!="string")throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(_,null,2)}`);m.type="object";let O=b.UnresolvedPure?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:_}}:b;n[m.Input]=O})}})}function FA(t,e){let n=!1;return t.getInputUses(e,(r,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){let i=s.MoveCall.arguments.indexOf(r);n=s.MoveCall._argumentTypes[i].reference!=="immutable"||n}(s.$kind==="MakeMoveVec"||s.$kind==="MergeCoins"||s.$kind==="SplitCoins"||s.$kind==="TransferObjects")&&(n=!0)}),n}function qA(t,e){let n=!1;return t.getInputUses(e,(r,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){let i=s.MoveCall.arguments.indexOf(r);n=GA(s.MoveCall._argumentTypes[i])||n}}),n}var $A="0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving";function GA(t){return t.body.$kind!=="datatype"?!1:t.body.datatype.typeName===$A}function xh(t,e){return!!(t.inputs.some(n=>n.UnresolvedObject||n.UnresolvedPure)||!e.onlyTransactionKind&&(!t.gasData.price||!t.gasData.budget||!t.gasData.payment||t.gasData.payment.length===0&&!t.expiration))}async function Fw(t,e,n){return zA(t),xh(t,e)?(HA(e).core?.resolveTransactionPlugin()??Uw)(t,e,async()=>{await Pw(t),await n()}):(await Pw(t),n())}function Pw(t){t.inputs.forEach((e,n)=>{if(e.$kind!=="Object"&&e.$kind!=="Pure"&&e.$kind!=="FundsWithdrawal")throw new Error(`Input at index ${n} has not been resolved. Expected a Pure, Object, or FundsWithdrawal input, but found ${JSON.stringify(e)}`)})}function HA(t){if(!t.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return t.client}function zA(t){for(let e of t.commands)switch(e.$kind){case"SplitCoins":e.SplitCoins.amounts.forEach(n=>{Vw(n,A.U64,t)});break;case"TransferObjects":Vw(e.TransferObjects.address,A.Address,t);break}}function Vw(t,e,n){if(t.$kind!=="Input")return;let r=n.inputs[t.Input];r.$kind==="UnresolvedPure"&&(n.inputs[t.Input]=rt.Pure(e.serialize(r.UnresolvedPure.value)))}function qw(t){function e(n){return t(n)}return e.system=n=>{let r=n?.mutable;return e(r!==void 0?rt.SharedObjectRef({objectId:su,initialSharedVersion:1,mutable:r}):{$kind:"UnresolvedObject",UnresolvedObject:{objectId:su,initialSharedVersion:1}})},e.clock=()=>e(rt.SharedObjectRef({objectId:he,initialSharedVersion:1,mutable:!1})),e.random=()=>e({$kind:"UnresolvedObject",UnresolvedObject:{objectId:vf,mutable:!1}}),e.denyList=n=>e({$kind:"UnresolvedObject",UnresolvedObject:{objectId:Tf,mutable:n?.mutable}}),e.option=({type:n,value:r})=>s=>s.moveCall({typeArguments:[n],target:`${xa}::option::${r===null?"none":"some"}`,arguments:r===null?[]:[s.object(r)]}),e}function $w(t){function e(n,r){if(typeof n=="string")return t(To(n).serialize(r));if(n instanceof Uint8Array||_o(n))return t(n);throw new Error("tx.pure must be called either a bcs type name, or a serialized bcs value")}return e.u8=n=>t(A.U8.serialize(n)),e.u16=n=>t(A.U16.serialize(n)),e.u32=n=>t(A.U32.serialize(n)),e.u64=n=>t(A.U64.serialize(n)),e.u128=n=>t(A.U128.serialize(n)),e.u256=n=>t(A.U256.serialize(n)),e.bool=n=>t(A.Bool.serialize(n)),e.string=n=>t(A.String.serialize(n)),e.address=n=>t(A.Address.serialize(n)),e.id=e.address,e.vector=(n,r)=>t(A.vector(To(n)).serialize(r)),e.option=(n,r)=>t(A.option(To(n)).serialize(r)),e}function Gw(){return async(t,e,n)=>{let r=Y0(t);if(r.types.length===0&&r.packages.length===0)return n();if(!e.client)throw new Error("Transaction contains MVR names but no client was provided to resolve them. Please pass a client to Transaction#build()");X0(t,await e.client.core.mvr.resolve({types:r.types,packages:r.packages})),await n()}}function Sh(t,e=1/0){let n={$kind:"Result",get Result(){return typeof t=="function"?t():t}},r=[],s=i=>r[i]??={$kind:"NestedResult",get NestedResult(){return[typeof t=="function"?t():t,i]}};return new Proxy(n,{set(){throw new Error("The transaction result is a proxy, and does not support setting properties directly")},get(i,o){if(o in i)return Reflect.get(i,o);if(o===Symbol.iterator)return function*(){let c=0;for(;c<e;)yield s(c),c++};if(typeof o=="symbol")return;let a=parseInt(o,10);if(!(Number.isNaN(a)||a<0))return s(a)}})}var Hw=Symbol.for("@mysten/transaction");function zw(t){return!!t&&typeof t=="object"&&t[Hw]===!0}var Y=class xl{#t;#e;#s=new Map;#r=[];#i=[];#o=new Set;#a=new Set;#c=new Map;static fromKind(e){let n=new xl;return n.#n=Ms.fromKindBytes(typeof e=="string"?le(e):e),n.#r=n.#n.inputs.slice(),n.#i=n.#n.commands.slice(),n.#o=new Set(n.#i.map((r,s)=>s)),n}static from(e){let n=new xl;if(zw(e)?n.#n=Ms.restore(e.getData()):typeof e!="string"||!e.startsWith("{")?n.#n=Ms.fromBytes(typeof e=="string"?le(e):e):n.#n=Ms.restore(JSON.parse(e)),n.#r=n.#n.inputs.slice(),n.#i=n.#n.commands.slice(),n.#o=new Set(n.#i.map((r,s)=>s)),!n.isPreparedForSerialization({supportedIntents:[$r]}))throw new Error("Transaction has unresolved intents or async thunks. Call `prepareForSerialization` before copying.");return n.#n.commands.some(r=>r.$Intent?.name===$r)&&n.addIntentResolver($r,El),n}addSerializationPlugin(e){this.#t.push(e)}addBuildPlugin(e){this.#e.push(e)}addIntentResolver(e,n){if(this.#s.has(e)&&this.#s.get(e)!==n)throw new Error(`Intent resolver for ${e} already exists`);this.#s.set(e,n)}setSender(e){this.#n.sender=e}setSenderIfNotSet(e){this.#n.sender||(this.#n.sender=e)}setExpiration(e){this.#n.expiration=e?Pe(Cf,e):null}setGasPrice(e){this.#n.gasData.price=String(e)}setGasBudget(e){this.#n.gasData.budget=String(e)}setGasBudgetIfNotSet(e){this.#n.gasData.budget==null&&(this.#n.gasData.budget=String(e))}setGasOwner(e){this.#n.gasData.owner=e}setGasPayment(e){this.#n.gasData.payment=e.map(n=>Pe(lr,n))}#n;getData(){return this.#n.snapshot()}get[Hw](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:$w(e=>_o(e)?this.#u("pure",{$kind:"Pure",Pure:{bytes:e.toBase64()}}):this.#u("pure",Oa(If,e)?Pe(If,e):e instanceof Uint8Array?rt.Pure(e):{$kind:"UnresolvedPure",UnresolvedPure:{value:e}}))}),this.pure}constructor(){this.object=qw(e=>{if(typeof e=="function")return this.object(this.add(e));if(typeof e=="object"&&Oa(qe,e))return e;let n=Io(e),r=this.#n.inputs.find(s=>n===Io(s));return r?.Object?.SharedObject&&typeof e=="object"&&e.Object?.SharedObject&&(r.Object.SharedObject.mutable=r.Object.SharedObject.mutable||e.Object.SharedObject.mutable),r?{$kind:"Input",Input:this.#n.inputs.indexOf(r),type:"object"}:this.#u("object",typeof e=="string"?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:ae(e)}}:e)}),this.#n=new Ms,this.#e=[],this.#t=[]}get gas(){return{$kind:"GasCoin",GasCoin:!0}}coin({type:e,balance:n,useGasCoin:r}){return this.add(tr({type:e,balance:n,useGasCoin:r}))}balance({type:e,balance:n,useGasCoin:r}){return this.add(Mw({type:e,balance:n,useGasCoin:r}))}objectRef(...e){return this.object(rt.ObjectRef(...e))}receivingRef(...e){return this.object(rt.ReceivingRef(...e))}sharedObjectRef(...e){return this.object(rt.SharedObjectRef(...e))}#m(){let e=new xl;return e.#n=this.#n,e.#t=this.#t,e.#e=this.#e,e.#s=this.#s,e.#a=this.#a,e.#o=new Set(this.#o),e.#c=this.#c,this.#r.push(e.#r),this.#i.push(e.#i),e}add(e){if(typeof e=="function"){if(this.#c.has(e))return this.#c.get(e);let n=this.#m(),r=e(n);if(!(r&&typeof r=="object"&&"then"in r))return this.#o=n.#o,this.#c.set(e,r),r;let s=this.#l({$kind:"$Intent",$Intent:{name:"AsyncTransactionThunk",inputs:{},data:{resultIndex:this.#n.commands.length,result:null}}});this.#a.add(Promise.resolve(r).then(o=>{s.$Intent.data.result=o}));let i=Sh(()=>s.$Intent.data.resultIndex);return this.#c.set(e,i),i}else this.#l(e);return Sh(this.#n.commands.length-1)}#l(e){let n=this.#n.commands.length;return this.#i.push(e),this.#o.add(n),this.#n.commands.push(e),this.#n.mapCommandArguments(n,r=>{if(r.$kind==="Result"&&!this.#o.has(r.Result))throw new Error(`Result { Result: ${r.Result} } is not available to use in the current transaction`);if(r.$kind==="NestedResult"&&!this.#o.has(r.NestedResult[0]))throw new Error(`Result { NestedResult: [${r.NestedResult[0]}, ${r.NestedResult[1]}] } is not available to use in the current transaction`);if(r.$kind==="Input"&&r.Input>=this.#n.inputs.length)throw new Error(`Input { Input: ${r.Input} } references an input that does not exist in the current transaction`);return r}),e}#u(e,n){return this.#r.push(n),this.#n.addInput(e,n)}#d(e){return _o(e)?this.pure(e):this.#f(e)}#f(e){if(typeof e=="function"){let n=this.add(e);return typeof n=="function"?this.#f(n):Pe(qe,n)}return Pe(qe,e)}splitCoins(e,n){let r=Gt.SplitCoins(typeof e=="string"?this.object(e):this.#f(e),n.map(s=>typeof s=="number"||typeof s=="bigint"||typeof s=="string"?this.pure.u64(s):this.#d(s)));return this.#l(r),Sh(this.#n.commands.length-1,n.length)}mergeCoins(e,n){return this.add(Gt.MergeCoins(this.object(e),n.map(r=>this.object(r))))}publish({modules:e,dependencies:n}){return this.add(Gt.Publish({modules:e,dependencies:n}))}upgrade({modules:e,dependencies:n,package:r,ticket:s}){return this.add(Gt.Upgrade({modules:e,dependencies:n,package:r,ticket:this.object(s)}))}moveCall({arguments:e,...n}){return this.add(Gt.MoveCall({...n,arguments:e?.map(r=>this.#d(r))}))}transferObjects(e,n){return this.add(Gt.TransferObjects(e.map(r=>this.object(r)),typeof n=="string"?this.pure.address(n):this.#d(n)))}makeMoveVec({type:e,elements:n}){return this.add(Gt.MakeMoveVec({type:e,elements:n.map(r=>this.object(r))}))}withdrawal({amount:e,type:n}){let r={$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(e)},typeArg:{$kind:"Balance",Balance:n??"0x2::sui::SUI"},withdrawFrom:{$kind:"Sender",Sender:!0}}};return this.#u("object",r)}serialize(){return JSON.stringify(og(this.#n.snapshot()))}async toJSON(e={}){await this.prepareForSerialization(e);let n=this.isFullyResolved();return JSON.stringify(Pe(Dw,n?{...this.#n.snapshot(),digest:this.#n.getDigest()}:this.#n.snapshot()),(r,s)=>typeof s=="bigint"?s.toString():s,2)}async sign(e){let{signer:n,...r}=e,s=await this.build(r);return n.signTransaction(s)}isPreparedForSerialization(e={}){return!(this.#a.size>0||this.#n.commands.some(n=>n.$Intent&&!e.supportedIntents?.includes(n.$Intent.name)))}isFullyResolved(){return!(!this.isPreparedForSerialization()||!this.#n.sender||xh(this.#n,{}))}async build(e={}){return await this.prepareForSerialization(e),await this.#p(e),this.#n.build({onlyTransactionKind:e.onlyTransactionKind})}async getDigest(e={}){return await this.prepareForSerialization(e),await this.#p(e),this.#n.getDigest()}async#p(e){if(!e.onlyTransactionKind&&!this.#n.sender)throw new Error("Missing transaction sender");await this.#h([...this.#e,Fw],e)}async#h(e,n){try{let r=s=>{if(s>=e.length)return()=>{};let i=e[s];return async()=>{let o=r(s+1),a=!1,c=!1;if(await i(this.#n,n,async()=>{if(a)throw new Error(`next() was call multiple times in TransactionPlugin ${s}`);a=!0,await o(),c=!0}),!a)throw new Error(`next() was not called in TransactionPlugin ${s}`);if(!c)throw new Error(`next() was not awaited in TransactionPlugin ${s}`)}};await r(0)()}finally{this.#r=this.#n.inputs.slice(),this.#i=this.#n.commands.slice(),this.#o=new Set(this.#i.map((r,s)=>s))}}async#g(){for(;this.#a.size>0;){let e=Promise.all(this.#a);this.#a.clear(),this.#a.add(e),await e,this.#a.delete(e)}}#y(){let e=this.#n.commands,n=this.#n.inputs,r=this.#i.flat(1/0),s=this.#r.flat(1/0);if(r.length!==e.length)throw new Error("Unexpected number of commands found in transaction data");if(s.length!==n.length)throw new Error("Unexpected number of inputs found in transaction data");let i=r.filter(a=>a.$Intent?.name!=="AsyncTransactionThunk");this.#n.commands=i,this.#n.inputs=s,this.#i=i,this.#r=s,this.#o=new Set(i.map((a,c)=>c));function o(a){let c=e[a];if(c.$Intent?.name==="AsyncTransactionThunk"){let d=c.$Intent.data.result;if(d==null)throw new Error("AsyncTransactionThunk has not been resolved");return o(d.Result)}let u=i.indexOf(c);if(u===-1)throw new Error("Unable to find original index for command");return u}this.#n.mapArguments(a=>{if(a.$kind==="Input"){let c=s.indexOf(n[a.Input]);if(c===-1)throw new Error("Input has not been resolved");return{...a,Input:c}}else if(a.$kind==="Result"){let c=o(a.Result);return{...a,Result:c}}else if(a.$kind==="NestedResult"){let c=o(a.NestedResult[0]);return{...a,NestedResult:[c,a.NestedResult[1]]}}return a});for(let[a,c]of e.entries())if(c.$Intent?.name==="AsyncTransactionThunk")try{c.$Intent.data.resultIndex=o(a)}catch{}}async prepareForSerialization(e){await this.#g(),this.#y();let n=new Set;for(let s of this.#n.commands)s.$Intent&&n.add(s.$Intent.name);let r=[...this.#t];for(let s of n)if(!e.supportedIntents?.includes(s)){if(!this.#s.has(s))throw new Error(`Missing intent resolver for ${s}`);r.push(this.#s.get(s))}r.push(Gw()),await this.#h(r,e)}};var kc={NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType"};var Oh=class extends Error{constructor(e,n,r,s,i,o,a){super(e),this.name="GraphQLError",this.message=e,i&&(this.path=i),n&&(this.nodes=Array.isArray(n)?n:[n]),r&&(this.source=r),s&&(this.positions=s),o&&(this.originalError=o);var c=a;if(!c&&o){var u=o.extensions;u&&typeof u=="object"&&(c=u)}this.extensions=c||{}}toJSON(){return{...this,message:this.message}}toString(){return this.message}get[Symbol.toStringTag](){return"GraphQLError"}},ce,Z;function En(t){return new Oh(`Syntax Error: Unexpected token at ${Z} in ${t}`)}function Ww(t){if(t.lastIndex=Z,t.test(ce))return ce.slice(Z,Z=t.lastIndex)}var Sl=/ +(?=[^\s])/y;function WA(t){for(var e=t.split(`
11
+ `),n="",r=0,s=0,i=e.length-1,o=0;o<e.length;o++)Sl.lastIndex=0,Sl.test(e[o])&&(o&&(!r||Sl.lastIndex<r)&&(r=Sl.lastIndex),s=s||o,i=o);for(var a=s;a<=i;a++)a!==s&&(n+=`
12
+ `),n+=e[a].slice(r).replace(/\\"""/g,'"""');return n}function Ne(){for(var t=0|ce.charCodeAt(Z++);t===9||t===10||t===13||t===32||t===35||t===44||t===65279;t=0|ce.charCodeAt(Z++))if(t===35)for(;(t=0|ce.charCodeAt(Z++))&&t!==10&&t!==13;);Z--}function Ih(){for(var t=Z,e=0|ce.charCodeAt(Z++);e>=48&&e<=57||e>=65&&e<=90||e===95||e>=97&&e<=122;e=0|ce.charCodeAt(Z++));if(t===Z-1)throw En("Name");var n=ce.slice(t,--Z);return Ne(),n}function Bn(){return{kind:"Name",value:Ih()}}var ZA=/(?:"""|(?:[\s\S]*?[^\\])""")/y,JA=/(?:(?:\.\d+)?[eE][+-]?\d+|\.\d+)/y;function Zo(t){var e;switch(ce.charCodeAt(Z)){case 91:Z++,Ne();for(var n=[];ce.charCodeAt(Z)!==93;)n.push(Zo(t));return Z++,Ne(),{kind:"ListValue",values:n};case 123:Z++,Ne();for(var r=[];ce.charCodeAt(Z)!==125;){var s=Bn();if(ce.charCodeAt(Z++)!==58)throw En("ObjectField");Ne(),r.push({kind:"ObjectField",name:s,value:Zo(t)})}return Z++,Ne(),{kind:"ObjectValue",fields:r};case 36:if(t)throw En("Variable");return Z++,{kind:"Variable",name:Bn()};case 34:if(ce.charCodeAt(Z+1)===34&&ce.charCodeAt(Z+2)===34){if(Z+=3,(e=Ww(ZA))==null)throw En("StringValue");return Ne(),{kind:"StringValue",value:WA(e.slice(0,-3)),block:!0}}else{var i=Z,o;Z++;var a=!1;for(o=0|ce.charCodeAt(Z++);o===92&&(Z++,a=!0)||o!==10&&o!==13&&o!==34&&o;o=0|ce.charCodeAt(Z++));if(o!==34)throw En("StringValue");return e=ce.slice(i,Z),Ne(),{kind:"StringValue",value:a?JSON.parse(e):e.slice(1,-1),block:!1}}case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:for(var c=Z++,u;(u=0|ce.charCodeAt(Z++))>=48&&u<=57;);var d=ce.slice(c,--Z);if((u=ce.charCodeAt(Z))===46||u===69||u===101){if((e=Ww(JA))==null)throw En("FloatValue");return Ne(),{kind:"FloatValue",value:d+e}}else return Ne(),{kind:"IntValue",value:d};case 110:if(ce.charCodeAt(Z+1)===117&&ce.charCodeAt(Z+2)===108&&ce.charCodeAt(Z+3)===108)return Z+=4,Ne(),{kind:"NullValue"};break;case 116:if(ce.charCodeAt(Z+1)===114&&ce.charCodeAt(Z+2)===117&&ce.charCodeAt(Z+3)===101)return Z+=4,Ne(),{kind:"BooleanValue",value:!0};break;case 102:if(ce.charCodeAt(Z+1)===97&&ce.charCodeAt(Z+2)===108&&ce.charCodeAt(Z+3)===115&&ce.charCodeAt(Z+4)===101)return Z+=5,Ne(),{kind:"BooleanValue",value:!1};break}return{kind:"EnumValue",value:Ih()}}function Jw(t){if(ce.charCodeAt(Z)===40){var e=[];Z++,Ne();do{var n=Bn();if(ce.charCodeAt(Z++)!==58)throw En("Argument");Ne(),e.push({kind:"Argument",name:n,value:Zo(t)})}while(ce.charCodeAt(Z)!==41);return Z++,Ne(),e}}function si(t){if(ce.charCodeAt(Z)===64){var e=[];do Z++,e.push({kind:"Directive",name:Bn(),arguments:Jw(t)});while(ce.charCodeAt(Z)===64);return e}}function KA(){for(var t=0;ce.charCodeAt(Z)===91;)t++,Z++,Ne();var e={kind:"NamedType",name:Bn()};do if(ce.charCodeAt(Z)===33&&(Z++,Ne(),e={kind:"NonNullType",type:e}),t){if(ce.charCodeAt(Z++)!==93)throw En("NamedType");Ne(),e={kind:"ListType",type:e}}while(t--);return e}function Ol(){if(ce.charCodeAt(Z++)!==123)throw En("SelectionSet");return Ne(),Il()}function Il(){var t=[];do if(ce.charCodeAt(Z)===46){if(ce.charCodeAt(++Z)!==46||ce.charCodeAt(++Z)!==46)throw En("SelectionSet");switch(Z++,Ne(),ce.charCodeAt(Z)){case 64:t.push({kind:"InlineFragment",typeCondition:void 0,directives:si(!1),selectionSet:Ol()});break;case 111:ce.charCodeAt(Z+1)===110?(Z+=2,Ne(),t.push({kind:"InlineFragment",typeCondition:{kind:"NamedType",name:Bn()},directives:si(!1),selectionSet:Ol()})):t.push({kind:"FragmentSpread",name:Bn(),directives:si(!1)});break;case 123:Z++,Ne(),t.push({kind:"InlineFragment",typeCondition:void 0,directives:void 0,selectionSet:Il()});break;default:t.push({kind:"FragmentSpread",name:Bn(),directives:si(!1)})}}else{var e=Bn(),n=void 0;ce.charCodeAt(Z)===58&&(Z++,Ne(),n=e,e=Bn());var r=Jw(!1),s=si(!1),i=void 0;ce.charCodeAt(Z)===123&&(Z++,Ne(),i=Il()),t.push({kind:"Field",alias:n,name:e,arguments:r,directives:s,selectionSet:i})}while(ce.charCodeAt(Z)!==125);return Z++,Ne(),{kind:"SelectionSet",selections:t}}function YA(){if(Ne(),ce.charCodeAt(Z)===40){var t=[];Z++,Ne();do{var e=void 0;if(ce.charCodeAt(Z)===34&&(e=Zo(!0)),ce.charCodeAt(Z++)!==36)throw En("Variable");var n=Bn();if(ce.charCodeAt(Z++)!==58)throw En("VariableDefinition");Ne();var r=KA(),s=void 0;ce.charCodeAt(Z)===61&&(Z++,Ne(),s=Zo(!0)),Ne();var i={kind:"VariableDefinition",variable:{kind:"Variable",name:n},type:r,defaultValue:s,directives:si(!0)};e&&(i.description=e),t.push(i)}while(ce.charCodeAt(Z)!==41);return Z++,Ne(),t}}function XA(t){var e=Bn();if(ce.charCodeAt(Z++)!==111||ce.charCodeAt(Z++)!==110)throw En("FragmentDefinition");Ne();var n={kind:"FragmentDefinition",name:e,typeCondition:{kind:"NamedType",name:Bn()},directives:si(!1),selectionSet:Ol()};return t&&(n.description=t),n}function Zw(){var t=[];do{var e=void 0;if(ce.charCodeAt(Z)===34&&(e=Zo(!0)),ce.charCodeAt(Z)===123){if(e)throw En("Document");Z++,Ne(),t.push({kind:"OperationDefinition",operation:"query",name:void 0,variableDefinitions:void 0,directives:void 0,selectionSet:Il()})}else{var n=Ih();switch(n){case"fragment":t.push(XA(e));break;case"query":case"mutation":case"subscription":var r,s=void 0;(r=ce.charCodeAt(Z))!==40&&r!==64&&r!==123&&(s=Bn());var i={kind:"OperationDefinition",operation:n,name:s,variableDefinitions:YA(),directives:si(!1),selectionSet:Ol()};e&&(i.description=e),t.push(i);break;default:throw En("Document")}}}while(Z<ce.length);return t}function Kw(t,e){return ce=t.body?t.body:t,Z=0,Ne(),e&&e.noLocation?{kind:"Document",definitions:Zw()}:{kind:"Document",definitions:Zw(),loc:{start:0,end:ce.length,startToken:void 0,endToken:void 0,source:{body:ce,name:"graphql.web",locationOffset:{line:1,column:1}}}}}var Yw=0,Ah=new Set;function Ch(){function t(e,n){var r=Kw(e).definitions,s=new Set;for(var i of n||[])for(var o of i.definitions)o.kind===kc.FRAGMENT_DEFINITION&&!s.has(o)&&(r.push(o),s.add(o));var a;(a=r[0].kind===kc.FRAGMENT_DEFINITION)&&r[0].directives&&(r[0].directives=r[0].directives.filter(u=>u.name.value!=="_unmask"));var c;return{kind:kc.DOCUMENT,definitions:r,get loc(){if(!c&&a){var u=e+function(f){try{Yw++;var p="";for(var m of f)if(!Ah.has(m)){Ah.add(m);var{loc:b}=m;b&&(p+=b.source.body)}return p}finally{--Yw==0&&Ah.clear()}}(n||[]);return{start:0,end:u.length,source:{body:u,name:"GraphQLTada",locationOffset:{line:1,column:1}}}}return c},set loc(u){c=u}}}return t.scalar=function(n,r){return r},t.persisted=function(n,r){return{kind:kc.DOCUMENT,definitions:r?r.definitions:[],documentId:n}},t}var E$=Ch();var Jo=Ch();var Nh=function(t){return t.Failure="FAILURE",t.Success="SUCCESS",t}({}),Rh=function(t){return t.PersonalMessage="PERSONAL_MESSAGE",t.TransactionData="TRANSACTION_DATA",t}({}),st=class extends String{constructor(t,e){super(t),this.value=t,this.__meta__=e}toString(){return this.value}},C$=new st(`
13
13
  fragment OBJECT_OWNER_FIELDS on Owner {
14
14
  __typename
15
15
  ... on AddressOwner {
@@ -32,7 +32,7 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
32
32
  }
33
33
  }
34
34
  }
35
- `,{fragmentName:"OBJECT_OWNER_FIELDS"}),MG=new rt(`
35
+ `,{fragmentName:"OBJECT_OWNER_FIELDS"}),N$=new st(`
36
36
  fragment OBJECT_FIELDS on Object {
37
37
  address
38
38
  digest
@@ -82,7 +82,7 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
82
82
  address
83
83
  }
84
84
  }
85
- }`,{fragmentName:"OBJECT_FIELDS"}),jG=new rt(`
85
+ }`,{fragmentName:"OBJECT_FIELDS"}),R$=new st(`
86
86
  fragment MOVE_OBJECT_FIELDS on MoveObject {
87
87
  address
88
88
  digest
@@ -127,7 +127,7 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
127
127
  address
128
128
  }
129
129
  }
130
- }`,{fragmentName:"MOVE_OBJECT_FIELDS"}),DG=new rt(`
130
+ }`,{fragmentName:"MOVE_OBJECT_FIELDS"}),B$=new st(`
131
131
  fragment TRANSACTION_FIELDS on Transaction {
132
132
  digest
133
133
  transactionJson @include(if: $includeTransaction)
@@ -199,7 +199,7 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
199
199
  }
200
200
  }
201
201
  }
202
- `,{fragmentName:"TRANSACTION_FIELDS"}),yv=new rt(`
202
+ `,{fragmentName:"TRANSACTION_FIELDS"}),Xw=new st(`
203
203
  query getAllBalances($owner: SuiAddress!, $limit: Int, $cursor: String) {
204
204
  address(address: $owner) {
205
205
  balances(first: $limit, after: $cursor) {
@@ -217,7 +217,7 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
217
217
  }
218
218
  }
219
219
  }
220
- `),bv=new rt(`
220
+ `),Qw=new st(`
221
221
  query getBalance($owner: SuiAddress!, $coinType: String = "0x2::sui::SUI") {
222
222
  address(address: $owner) {
223
223
  balance(coinType: $coinType) {
@@ -229,13 +229,13 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
229
229
  }
230
230
  }
231
231
  }
232
- `),wv=new rt(`
232
+ `),e_=new st(`
233
233
  query getChainIdentifier {
234
234
  checkpoint(sequenceNumber: 0) {
235
235
  digest
236
236
  }
237
237
  }
238
- `),vv=new rt(`
238
+ `),t_=new st(`
239
239
  query getCoinMetadata($coinType: String!) {
240
240
  coinMetadata(coinType: $coinType) {
241
241
  address
@@ -246,7 +246,7 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
246
246
  iconUrl
247
247
  }
248
248
  }
249
- `),_v=new rt(`
249
+ `),n_=new st(`
250
250
  query getCoins($owner: SuiAddress!, $first: Int, $cursor: String, $type: String = "0x2::coin::Coin<0x2::sui::SUI>") {
251
251
  address(address: $owner) {
252
252
  address
@@ -293,7 +293,7 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
293
293
  address
294
294
  }
295
295
  }
296
- }`),Tv=new rt(`
296
+ }`),r_=new st(`
297
297
  query getCurrentSystemState {
298
298
  epoch {
299
299
  epochId
@@ -307,7 +307,7 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
307
307
  }
308
308
  }
309
309
  }
310
- `),kv=new rt(`
310
+ `),s_=new st(`
311
311
  query getDynamicFields($parentId: SuiAddress!, $first: Int, $cursor: String, $includeValue: Boolean = false) {
312
312
  address(address: $parentId) {
313
313
  dynamicFields(first: $first, after: $cursor) {
@@ -344,7 +344,7 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
344
344
  }
345
345
  }
346
346
  }
347
- `),Ev=new rt(`
347
+ `),i_=new st(`
348
348
  query getMoveFunction($package: SuiAddress!, $module: String!, $function: String!) {
349
349
  package(address: $package) {
350
350
  module(name: $module) {
@@ -365,7 +365,7 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
365
365
  }
366
366
  }
367
367
  }
368
- `),Sv=new rt(`
368
+ `),o_=new st(`
369
369
  query getProtocolConfig {
370
370
  epoch {
371
371
  protocolConfigs {
@@ -381,13 +381,13 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
381
381
  }
382
382
  }
383
383
  }
384
- `),xv=new rt(`
384
+ `),a_=new st(`
385
385
  query getReferenceGasPrice {
386
386
  epoch {
387
387
  referenceGasPrice
388
388
  }
389
389
  }
390
- `),Ov=new rt(`
390
+ `),c_=new st(`
391
391
  query defaultSuinsName($address: SuiAddress!) {
392
392
  address(address: $address) {
393
393
  defaultNameRecord {
@@ -395,7 +395,7 @@ ${String(r)}`);Ld(e);for(let s=0;s<e.callbacks.length;s++){let i=r[s];i instance
395
395
  }
396
396
  }
397
397
  }
398
- `),Iv=new rt(`
398
+ `),u_=new st(`
399
399
  query getOwnedObjects($owner: SuiAddress!, $limit: Int, $cursor: String, $filter: ObjectFilter, $includeContent: Boolean = false, $includePreviousTransaction: Boolean = false, $includeObjectBcs: Boolean = false, $includeJson: Boolean = false, $includeDisplay: Boolean = false) {
400
400
  address(address: $owner) {
401
401
  objects(first: $limit, after: $cursor, filter: $filter) {
@@ -453,7 +453,7 @@ fragment OBJECT_OWNER_FIELDS on Owner {
453
453
  address
454
454
  }
455
455
  }
456
- }`),Av=new rt(`
456
+ }`),l_=new st(`
457
457
  query multiGetObjects($objectKeys: [ObjectKey!]!, $includeContent: Boolean = false, $includePreviousTransaction: Boolean = false, $includeObjectBcs: Boolean = false, $includeJson: Boolean = false, $includeDisplay: Boolean = false) {
458
458
  multiGetObjects(keys: $objectKeys) {
459
459
  ...OBJECT_FIELDS
@@ -508,7 +508,7 @@ fragment OBJECT_OWNER_FIELDS on Owner {
508
508
  address
509
509
  }
510
510
  }
511
- }`),Cv=new rt(`
511
+ }`),d_=new st(`
512
512
  query simulateTransaction($transaction: JSON!, $includeTransaction: Boolean = false, $includeEffects: Boolean = false, $includeEvents: Boolean = false, $includeBalanceChanges: Boolean = false, $includeObjectTypes: Boolean = false, $includeCommandResults: Boolean = false, $includeBcs: Boolean = false, $doGasSelection: Boolean = false, $checksEnabled: Boolean = true) {
513
513
  simulateTransaction(
514
514
  transaction: $transaction
@@ -604,7 +604,7 @@ fragment OBJECT_OWNER_FIELDS on Owner {
604
604
  }
605
605
  }
606
606
  }
607
- }`),Nv=new rt(`
607
+ }`),f_=new st(`
608
608
  mutation executeTransaction($transactionDataBcs: Base64!, $signatures: [Base64!]!, $includeTransaction: Boolean = false, $includeEffects: Boolean = false, $includeEvents: Boolean = false, $includeBalanceChanges: Boolean = false, $includeObjectTypes: Boolean = false, $includeBcs: Boolean = false) {
609
609
  executeTransaction(
610
610
  transactionDataBcs: $transactionDataBcs
@@ -687,7 +687,7 @@ fragment OBJECT_OWNER_FIELDS on Owner {
687
687
  }
688
688
  }
689
689
  }
690
- }`),Rv=new rt(`
690
+ }`),p_=new st(`
691
691
  query getTransactionBlock($digest: String!, $includeTransaction: Boolean = false, $includeEffects: Boolean = false, $includeEvents: Boolean = false, $includeBalanceChanges: Boolean = false, $includeObjectTypes: Boolean = false, $includeBcs: Boolean = false) {
692
692
  transaction(digest: $digest) {
693
693
  ...TRANSACTION_FIELDS
@@ -763,7 +763,7 @@ fragment OBJECT_OWNER_FIELDS on Owner {
763
763
  }
764
764
  }
765
765
  }
766
- }`),Bv=new rt(`
766
+ }`),h_=new st(`
767
767
  query resolveTransaction($transaction: JSON!, $doGasSelection: Boolean = true) {
768
768
  simulateTransaction(transaction: $transaction, doGasSelection: $doGasSelection) {
769
769
  effects {
@@ -793,7 +793,7 @@ fragment OBJECT_OWNER_FIELDS on Owner {
793
793
  }
794
794
  }
795
795
  }
796
- `),Mv=new rt(`
796
+ `),m_=new st(`
797
797
  query verifyZkLoginSignature($bytes: Base64!, $signature: Base64!, $intentScope: ZkLoginIntentScope!, $author: SuiAddress!) {
798
798
  verifyZkLoginSignature(
799
799
  bytes: $bytes
@@ -804,61 +804,61 @@ fragment OBJECT_OWNER_FIELDS on Owner {
804
804
  success
805
805
  }
806
806
  }
807
- `);var Uv=class extends Oo{#e;constructor({graphqlClient:t,mvr:e}){super({network:t.network,base:t,mvr:e}),this.#e=t}async#t(t,e){let{data:n,errors:r}=await this.#e.query(t);qh(r);let s=n&&(e?e(n):n);if(s==null)throw new Error("Missing response data");return s}async getObjects(t){let e=Yn(t.objectIds,50),n=[];for(let r of e){let s=await this.#t({query:Av,variables:{objectKeys:r.map(i=>({address:i})),includeContent:t.include?.content??!1,includePreviousTransaction:t.include?.previousTransaction??!1,includeObjectBcs:t.include?.objectBcs??!1,includeJson:t.include?.json??!1,includeDisplay:t.include?.display??!1}},i=>i.multiGetObjects);n.push(...r.map(i=>Q(i)).map(i=>s.find(o=>o?.address===i)??new Ro("notFound",`Object ${i} not found`)).map(i=>{if(i instanceof Ro)return i;let o=i.asMoveObject?.contents?.bcs?ce(i.asMoveObject.contents.bcs):void 0,a=i.objectBcs?ce(i.objectBcs):void 0,c;i.asMovePackage?c="package":i.asMoveObject?.contents?.type?.repr?c=i.asMoveObject.contents.type.repr:c="";let u=t.include?.json?i.asMoveObject?.contents?.json?i.asMoveObject.contents.json:null:void 0,d=jv(t.include?.display,i.asMoveObject?.contents?.display);return{objectId:i.address,version:i.version?.toString(),digest:i.digest,owner:$h(i.owner),type:c,content:o,previousTransaction:i.previousTransaction?.digest??void 0,objectBcs:a,json:u,display:d}}))}return{objects:n}}async listOwnedObjects(t){let e=await this.#t({query:Iv,variables:{owner:t.owner,limit:t.limit,cursor:t.cursor,filter:t.type?{type:(await this.mvr.resolveType({type:t.type})).type}:void 0,includeContent:t.include?.content??!1,includePreviousTransaction:t.include?.previousTransaction??!1,includeObjectBcs:t.include?.objectBcs??!1,includeJson:t.include?.json??!1,includeDisplay:t.include?.display??!1}},n=>n.address?.objects);return{objects:e.nodes.map(n=>({objectId:n.address,version:n.version?.toString(),digest:n.digest,owner:$h(n.owner),type:n.contents?.type?.repr,content:n.contents?.bcs?ce(n.contents.bcs):void 0,previousTransaction:n.previousTransaction?.digest??void 0,objectBcs:n.objectBcs?ce(n.objectBcs):void 0,json:t.include?.json?n.contents?.json?n.contents.json:null:void 0,display:jv(t.include?.display,n.contents?.display)})),hasNextPage:e.pageInfo.hasNextPage,cursor:e.pageInfo.endCursor??null}}async listCoins(t){let e=t.coinType??Qn,n=await this.#t({query:_v,variables:{owner:t.owner,cursor:t.cursor,first:t.limit,type:`0x2::coin::Coin<${(await this.mvr.resolveType({type:e})).type}>`}},r=>r.address?.objects);return{cursor:n.pageInfo.endCursor??null,hasNextPage:n.pageInfo.hasNextPage,objects:n.nodes.map(r=>({objectId:r.address,version:r.version?.toString(),digest:r.digest,owner:$h(r.owner),type:r.contents?.type?.repr,balance:r.contents?.json?.balance}))}}async getBalance(t){let e=t.coinType??Qn,n=await this.#t({query:bv,variables:{owner:t.owner,coinType:(await this.mvr.resolveType({type:e})).type}},i=>i.address?.balance),r=BigInt(n.addressBalance??"0"),s=BigInt(n.totalBalance??"0")-r;return{balance:{coinType:n.coinType?.repr??e,balance:n.totalBalance??"0",coinBalance:s.toString(),addressBalance:r.toString()}}}async getCoinMetadata(t){let e=(await this.mvr.resolveType({type:t.coinType})).type,{data:n,errors:r}=await this.#e.query({query:vv,variables:{coinType:e}});return qh(r),n?.coinMetadata?{coinMetadata:{id:n.coinMetadata.address,decimals:n.coinMetadata.decimals,name:n.coinMetadata.name,symbol:n.coinMetadata.symbol,description:n.coinMetadata.description,iconUrl:n.coinMetadata.iconUrl??null}}:{coinMetadata:null}}async listBalances(t){let e=await this.#t({query:yv,variables:{owner:t.owner}},n=>n.address?.balances);return{cursor:e.pageInfo.endCursor??null,hasNextPage:e.pageInfo.hasNextPage,balances:e.nodes.map(n=>{let r=BigInt(n.addressBalance??"0"),s=BigInt(n.totalBalance??"0")-r;return{coinType:n.coinType?.repr,balance:n.totalBalance,coinBalance:s.toString(),addressBalance:r.toString()}})}}async getTransaction(t){return Gh(await this.#t({query:Rv,variables:{digest:t.digest,includeTransaction:t.include?.transaction??!1,includeEffects:t.include?.effects??!1,includeEvents:t.include?.events??!1,includeBalanceChanges:t.include?.balanceChanges??!1,includeObjectTypes:t.include?.objectTypes??!1,includeBcs:t.include?.bcs??!1}},e=>e.transaction),t.include)}async executeTransaction(t){return Gh((await this.#t({query:Nv,variables:{transactionDataBcs:ge(t.transaction),signatures:t.signatures,includeTransaction:t.include?.transaction??!1,includeEffects:t.include?.effects??!1,includeEvents:t.include?.events??!1,includeBalanceChanges:t.include?.balanceChanges??!1,includeObjectTypes:t.include?.objectTypes??!1,includeBcs:t.include?.bcs??!1}},e=>e.executeTransaction)).effects?.transaction,t.include)}async simulateTransaction(t){t.transaction instanceof Uint8Array||await t.transaction.prepareForSerialization({client:this});let e=await this.#t({query:Cv,variables:{transaction:t.transaction instanceof Uint8Array?{bcs:{value:ge(t.transaction)}}:ty(t.transaction),includeTransaction:t.include?.transaction??!1,includeEffects:t.include?.effects??!1,includeEvents:t.include?.events??!1,includeBalanceChanges:t.include?.balanceChanges??!1,includeObjectTypes:t.include?.objectTypes??!1,includeCommandResults:t.include?.commandResults??!1,includeBcs:t.include?.bcs??!1,checksEnabled:t.checksEnabled??!0}},s=>s.simulateTransaction),n=Gh(e.effects?.transaction,t.include),r=t.include?.commandResults&&e.outputs?e.outputs.map(s=>({returnValues:(s.returnValues??[]).map(i=>({bcs:i.value?.bcs?ce(i.value.bcs):null})),mutatedReferences:(s.mutatedReferences??[]).map(i=>({bcs:i.value?.bcs?ce(i.value.bcs):null}))})):void 0;return n.$kind==="Transaction"?{$kind:"Transaction",Transaction:n.Transaction,commandResults:r}:{$kind:"FailedTransaction",FailedTransaction:n.FailedTransaction,commandResults:r}}async getReferenceGasPrice(){return{referenceGasPrice:await this.#t({query:xv},t=>t.epoch?.referenceGasPrice)??""}}async getProtocolConfig(){let t=await this.#t({query:Sv},r=>r.epoch?.protocolConfigs),e={};for(let r of t?.featureFlags??[])e[r.key]=r.value;let n={};for(let r of t?.configs??[])n[r.key]=r.value??null;return{protocolConfig:{protocolVersion:t?.protocolVersion?.toString()??null,featureFlags:e,attributes:n}}}async getCurrentSystemState(){let t=await this.#t({query:Tv},r=>r.epoch);if(!t)throw new Error("Epoch data not found in response");let e=t.startTimestamp?new Date(t.startTimestamp).getTime().toString():null,n=t.systemState?.json;return{systemState:{systemStateVersion:n?.system_state_version?.toString()??null,epoch:t.epochId?.toString()??null,protocolVersion:t.protocolConfigs?.protocolVersion?.toString()??null,referenceGasPrice:t.referenceGasPrice??null,epochStartTimestampMs:e,safeMode:n?.safe_mode??!1,safeModeStorageRewards:n?.safe_mode_storage_rewards??null,safeModeComputationRewards:n?.safe_mode_computation_rewards??null,safeModeStorageRebates:n?.safe_mode_storage_rebates?.toString()??null,safeModeNonRefundableStorageFee:n?.safe_mode_non_refundable_storage_fee?.toString()??null,parameters:{epochDurationMs:n?.parameters?.epoch_duration_ms?.toString()??null,stakeSubsidyStartEpoch:n?.parameters?.stake_subsidy_start_epoch?.toString()??null,maxValidatorCount:n?.parameters?.max_validator_count?.toString()??null,minValidatorJoiningStake:n?.parameters?.min_validator_joining_stake?.toString()??null,validatorLowStakeThreshold:n?.parameters?.validator_low_stake_threshold?.toString()??null,validatorLowStakeGracePeriod:n?.parameters?.validator_low_stake_grace_period?.toString()??null},storageFund:{totalObjectStorageRebates:n?.storage_fund?.total_object_storage_rebates??null,nonRefundableBalance:n?.storage_fund?.non_refundable_balance??null},stakeSubsidy:{balance:n?.stake_subsidy?.balance??null,distributionCounter:n?.stake_subsidy?.distribution_counter?.toString()??null,currentDistributionAmount:n?.stake_subsidy?.current_distribution_amount?.toString()??null,stakeSubsidyPeriodLength:n?.stake_subsidy?.stake_subsidy_period_length?.toString()??null,stakeSubsidyDecreaseRate:n?.stake_subsidy?.stake_subsidy_decrease_rate??null}}}}async listDynamicFields(t){return this.#e.listDynamicFields(t)}async verifyZkLoginSignature(t){let e=t.intentScope==="TransactionData"?Fh.TransactionData:Fh.PersonalMessage,{data:n}=await this.#e.query({query:Mv,variables:{bytes:t.bytes,signature:t.signature,intentScope:e,author:t.address}});return{success:n?.verifyZkLoginSignature?.success??!1,errors:[]}}async defaultNameServiceName(t){return{data:{name:await this.#t({query:Ov,signal:t.signal,variables:{address:t.address}},e=>e.address?.defaultNameRecord?.domain??null)}}}async getMoveFunction(t){let e=await this.#t({query:Ev,variables:{package:(await this.mvr.resolvePackage({package:t.packageId})).package,module:t.moduleName,function:t.name}},r=>r.package?.module?.function),n="unknown";switch(e.visibility){case"PUBLIC":n="public";break;case"PRIVATE":n="private";break;case"FRIEND":n="friend";break}return{function:{packageId:Q(t.packageId),moduleName:t.moduleName,name:e.name,visibility:n,isEntry:e.isEntry??!1,typeParameters:e.typeParameters?.map(({constraints:r})=>({isPhantom:!1,constraints:r.map(s=>{switch(s){case"COPY":return"copy";case"DROP":return"drop";case"STORE":return"store";case"KEY":return"key";default:return"unknown"}})??[]}))??[],parameters:e.parameters?.map(r=>Dv(r.signature))??[],returns:e.return?.map(({signature:r})=>Dv(r))??[]}}}async getChainIdentifier(t){return this.cache.read(["chainIdentifier"],async()=>{let e=await this.#t({query:wv},n=>n.checkpoint);if(!e?.digest)throw new Error("Genesis checkpoint digest not found");return{chainIdentifier:e.digest}})}resolveTransactionPlugin(){let t=this.#e;return async function(n,r,s){let i=n.snapshot();i.sender||(i.sender="0x0000000000000000000000000000000000000000000000000000000000000000");let o=Fa(i),a=Ur.toJson(o),{data:c,errors:u}=await t.query({query:Bv,variables:{transaction:a,doGasSelection:!r.onlyTransactionKind&&(i.gasData.budget==null||i.gasData.payment==null)}});qh(u);let d=c?.simulateTransaction?.effects?.transaction?.effects;if(!r.onlyTransactionKind&&d?.status===Vh.Failure){let m=Pv(d.executionError);throw new Ii(`Transaction resolution failed: ${m?.message??"Transaction failed"}`,{executionError:m})}let f=c?.simulateTransaction?.effects?.transaction?.transactionBcs;if(!f)throw new Error("simulateTransaction did not return resolved transaction data");let p=En.fromBytes(ce(f)).snapshot();return r.onlyTransactionKind?n.applyResolvedData({...p,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):n.applyResolvedData(p),await s()}}};function jv(t,e){if(t)return e?{output:e.output??null,errors:e.errors??null}:null}function qh(t){if(!t||t.length===0)return;let e=t.map(n=>new y6(n));throw e.length===1?e[0]:new AggregateError(e)}var y6=class extends Error{constructor(t){super(t.message),this.locations=t.locations}};function $h(t){switch(t.__typename){case"AddressOwner":return{$kind:"AddressOwner",AddressOwner:t.address?.address};case"ConsensusAddressOwner":return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{owner:t?.address?.address,startVersion:String(t.startVersion)}};case"ObjectOwner":return{$kind:"ObjectOwner",ObjectOwner:t.address?.address};case"Immutable":return{$kind:"Immutable",Immutable:!0};case"Shared":return{$kind:"Shared",Shared:{initialSharedVersion:String(t.initialSharedVersion)}}}}function Gh(t,e){let n={};if(e?.objectTypes){let c=t.effects?.effectsJson;c&&ju.fromJson(c).changedObjects?.forEach(d=>{d.objectId&&d.objectType&&(n[d.objectId]=d.objectType)});let u=t.effects?.objectChanges?.nodes;if(u)for(let d of u){let f=d.outputState?.asMoveObject?.contents?.type?.repr;d.address&&f&&(n[d.address]=f)}}let r;if(e?.balanceChanges){let c=t.effects?.balanceChangesJson;Array.isArray(c)?r=c.map(u=>{let d=Du.fromJson(u);return{coinType:d.coinType,address:d.address,amount:d.amount}}):r=[]}let s=t.effects?.status===Vh.Success?{success:!0,error:null}:{success:!1,error:Pv(t.effects?.executionError)},i;if(e?.transaction&&t.transactionJson){let c=qa(Ur.fromJson(t.transactionJson));i={gasData:c.gasData,sender:c.sender,expiration:c.expiration,commands:c.commands,inputs:c.inputs,version:c.version}}let o=e?.bcs&&t.transactionBcs?ce(t.transactionBcs):void 0,a={digest:t.digest,status:s,effects:e?.effects?pu(ce(t.effects?.effectsBcs)):void 0,epoch:t.effects?.epoch?.epochId?.toString()??null,objectTypes:e?.objectTypes?n:void 0,transaction:i,bcs:o,signatures:t.signatures.map(c=>c.signatureBytes),balanceChanges:r,events:e?.events?t.effects?.events?.nodes.map(c=>{let u=c.contents?.type?.repr,[d,f]=u.split("::");return{packageId:d,module:f,sender:c.sender?.address,eventType:u,bcs:c.contents?.bcs?ce(c.contents.bcs):new Uint8Array,json:c.contents?.json??null}})??[]:void 0};return s.success?{$kind:"Transaction",Transaction:a,FailedTransaction:void 0}:{$kind:"FailedTransaction",Transaction:void 0,FailedTransaction:a}}function Dv(t){let e=null;return t.ref==="&"?e="immutable":t.ref==="&mut"&&(e="mutable"),{reference:e,body:Hh(t.body)}}function Pv(t){if(b6(t)==="MoveAbort"&&t?.abortCode!=null){let e=w6(t),n=v6(t),r=t.message?.match(/in (\d+)\w* command/),s=r?parseInt(r[1],10)-1:void 0;return{$kind:"MoveAbort",message:Oi({command:s,location:e?{package:e.package,module:e.module,functionName:e.functionName,instruction:e.instruction}:void 0,abortCode:t.abortCode,cleverError:n?{lineNumber:n.lineNumber,constantName:n.constantName,value:n.value}:void 0}),command:s,MoveAbort:{abortCode:t.abortCode,location:e,cleverError:n}}}return{$kind:"Unknown",message:t?.message??"Transaction failed",Unknown:null}}function b6(t){return t?.abortCode!=null?"MoveAbort":t?.message?.match(/^(\w+)/)?.[1]??"Unknown"}function w6(t){if(t.module?.package?.address&&t.module?.name)return{package:t.module?.package?.address,module:t.module?.name,functionName:t.function?.name,instruction:t.instructionOffset??void 0}}function v6(t){if(t.identifier||t.constant)return{constantName:t.identifier??void 0,value:t.constant??void 0,lineNumber:t.sourceLineNumber??void 0}}function Hh(t){switch(t){case"address":return{$kind:"address"};case"bool":return{$kind:"bool"};case"u8":return{$kind:"u8"};case"u16":return{$kind:"u16"};case"u32":return{$kind:"u32"};case"u64":return{$kind:"u64"};case"u128":return{$kind:"u128"};case"u256":return{$kind:"u256"}}if(typeof t=="string")throw new Error(`Unknown type: ${t}`);if("vector"in t)return{$kind:"vector",vector:Hh(t.vector)};if("datatype"in t)return{$kind:"datatype",datatype:{typeName:`${Q(t.datatype.package)}::${t.datatype.module}::${t.datatype.type}`,typeParameters:t.datatype.typeParameters.map(e=>Hh(e))}};if("typeParameter"in t)return{$kind:"typeParameter",index:t.typeParameter};throw new Error(`Unknown type: ${JSON.stringify(t)}`)}function Lv(t,e){if(!!!t)throw new Error(e)}var zh=class{constructor(e,n,r){this.start=e.start,this.end=n.end,this.startToken=e,this.endToken=n,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},Wh=class{constructor(e,n,r,s,i,o){this.kind=e,this.start=n,this.end=r,this.line=s,this.column=i,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Jh={Name:[],Document:["definitions"],OperationDefinition:["description","name","variableDefinitions","directives","selectionSet"],VariableDefinition:["description","variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["description","name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"],TypeCoordinate:["name"],MemberCoordinate:["name","memberName"],ArgumentCoordinate:["name","fieldName","argumentName"],DirectiveCoordinate:["name"],DirectiveArgumentCoordinate:["name","argumentName"]},_6=new Set(Object.keys(Jh));function Kh(t){let e=t?.kind;return typeof e=="string"&&_6.has(e)}var Zh;(function(t){t.QUERY="query",t.MUTATION="mutation",t.SUBSCRIPTION="subscription"})(Zh||(Zh={}));var Oc;(function(t){t.NAME="Name",t.DOCUMENT="Document",t.OPERATION_DEFINITION="OperationDefinition",t.VARIABLE_DEFINITION="VariableDefinition",t.SELECTION_SET="SelectionSet",t.FIELD="Field",t.ARGUMENT="Argument",t.FRAGMENT_SPREAD="FragmentSpread",t.INLINE_FRAGMENT="InlineFragment",t.FRAGMENT_DEFINITION="FragmentDefinition",t.VARIABLE="Variable",t.INT="IntValue",t.FLOAT="FloatValue",t.STRING="StringValue",t.BOOLEAN="BooleanValue",t.NULL="NullValue",t.ENUM="EnumValue",t.LIST="ListValue",t.OBJECT="ObjectValue",t.OBJECT_FIELD="ObjectField",t.DIRECTIVE="Directive",t.NAMED_TYPE="NamedType",t.LIST_TYPE="ListType",t.NON_NULL_TYPE="NonNullType",t.SCHEMA_DEFINITION="SchemaDefinition",t.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",t.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",t.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",t.FIELD_DEFINITION="FieldDefinition",t.INPUT_VALUE_DEFINITION="InputValueDefinition",t.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",t.UNION_TYPE_DEFINITION="UnionTypeDefinition",t.ENUM_TYPE_DEFINITION="EnumTypeDefinition",t.ENUM_VALUE_DEFINITION="EnumValueDefinition",t.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",t.DIRECTIVE_DEFINITION="DirectiveDefinition",t.SCHEMA_EXTENSION="SchemaExtension",t.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",t.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",t.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",t.UNION_TYPE_EXTENSION="UnionTypeExtension",t.ENUM_TYPE_EXTENSION="EnumTypeExtension",t.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension",t.TYPE_COORDINATE="TypeCoordinate",t.MEMBER_COORDINATE="MemberCoordinate",t.ARGUMENT_COORDINATE="ArgumentCoordinate",t.DIRECTIVE_COORDINATE="DirectiveCoordinate",t.DIRECTIVE_ARGUMENT_COORDINATE="DirectiveArgumentCoordinate"})(Oc||(Oc={}));function Yh(t){return t===9||t===32}function Vv(t,e){let n=t.replace(/"""/g,'\\"""'),r=n.split(/\r\n|[\n\r]/g),s=r.length===1,i=r.length>1&&r.slice(1).every(m=>m.length===0||Yh(m.charCodeAt(0))),o=n.endsWith('\\"""'),a=t.endsWith('"')&&!o,c=t.endsWith("\\"),u=a||c,d=!(e!=null&&e.minimize)&&(!s||t.length>70||u||i||o),f="",p=s&&Yh(t.charCodeAt(0));return(d&&!p||i)&&(f+=`
807
+ `);var b_=class extends au{#t;constructor({graphqlClient:t,mvr:e}){super({network:t.network,base:t,mvr:e}),this.#t=t}async#e(t,e){let{data:n,errors:r}=await this.#t.query(t);Bh(r);let s=n&&(e?e(n):n);if(s==null)throw new Error("Missing response data");return s}async getObjects(t){let e=xr(t.objectIds,50),n=[];for(let r of e){let s=await this.#e({query:l_,variables:{objectKeys:r.map(i=>({address:i})),includeContent:t.include?.content??!1,includePreviousTransaction:t.include?.previousTransaction??!1,includeObjectBcs:t.include?.objectBcs??!1,includeJson:t.include?.json??!1,includeDisplay:t.include?.display??!1}},i=>i.multiGetObjects);n.push(...r.map(i=>ae(i)).map(i=>s.find(o=>o?.address===i)??new Bf("notFound",`Object ${i} not found`)).map(i=>{if(i instanceof Bf)return i;let o=i.asMoveObject?.contents?.bcs?le(i.asMoveObject.contents.bcs):void 0,a=i.objectBcs?le(i.objectBcs):void 0,c;i.asMovePackage?c="package":i.asMoveObject?.contents?.type?.repr?c=i.asMoveObject.contents.type.repr:c="";let u=t.include?.json?i.asMoveObject?.contents?.json?i.asMoveObject.contents.json:null:void 0,d=g_(t.include?.display,i.asMoveObject?.contents?.display);return{objectId:i.address,version:i.version?.toString(),digest:i.digest,owner:Mh(i.owner),type:c,content:o,previousTransaction:i.previousTransaction?.digest??void 0,objectBcs:a,json:u,display:d}}))}return{objects:n}}async listOwnedObjects(t){let e=await this.#e({query:u_,variables:{owner:t.owner,limit:t.limit,cursor:t.cursor,filter:t.type?{type:(await this.mvr.resolveType({type:t.type})).type}:void 0,includeContent:t.include?.content??!1,includePreviousTransaction:t.include?.previousTransaction??!1,includeObjectBcs:t.include?.objectBcs??!1,includeJson:t.include?.json??!1,includeDisplay:t.include?.display??!1}},n=>n.address?.objects);return{objects:e.nodes.map(n=>({objectId:n.address,version:n.version?.toString(),digest:n.digest,owner:Mh(n.owner),type:n.contents?.type?.repr,content:n.contents?.bcs?le(n.contents.bcs):void 0,previousTransaction:n.previousTransaction?.digest??void 0,objectBcs:n.objectBcs?le(n.objectBcs):void 0,json:t.include?.json?n.contents?.json?n.contents.json:null:void 0,display:g_(t.include?.display,n.contents?.display)})),hasNextPage:e.pageInfo.hasNextPage,cursor:e.pageInfo.endCursor??null}}async listCoins(t){let e=t.coinType??Zn,n=await this.#e({query:n_,variables:{owner:t.owner,cursor:t.cursor,first:t.limit,type:`0x2::coin::Coin<${(await this.mvr.resolveType({type:e})).type}>`}},r=>r.address?.objects);return{cursor:n.pageInfo.endCursor??null,hasNextPage:n.pageInfo.hasNextPage,objects:n.nodes.map(r=>({objectId:r.address,version:r.version?.toString(),digest:r.digest,owner:Mh(r.owner),type:r.contents?.type?.repr,balance:r.contents?.json?.balance}))}}async getBalance(t){let e=t.coinType??Zn,n=await this.#e({query:Qw,variables:{owner:t.owner,coinType:(await this.mvr.resolveType({type:e})).type}},i=>i.address?.balance),r=BigInt(n.addressBalance??"0"),s=BigInt(n.totalBalance??"0")-r;return{balance:{coinType:n.coinType?.repr??e,balance:n.totalBalance??"0",coinBalance:s.toString(),addressBalance:r.toString()}}}async getCoinMetadata(t){let e=(await this.mvr.resolveType({type:t.coinType})).type,{data:n,errors:r}=await this.#t.query({query:t_,variables:{coinType:e}});return Bh(r),n?.coinMetadata?{coinMetadata:{id:n.coinMetadata.address,decimals:n.coinMetadata.decimals,name:n.coinMetadata.name,symbol:n.coinMetadata.symbol,description:n.coinMetadata.description,iconUrl:n.coinMetadata.iconUrl??null}}:{coinMetadata:null}}async listBalances(t){let e=await this.#e({query:Xw,variables:{owner:t.owner}},n=>n.address?.balances);return{cursor:e.pageInfo.endCursor??null,hasNextPage:e.pageInfo.hasNextPage,balances:e.nodes.map(n=>{let r=BigInt(n.addressBalance??"0"),s=BigInt(n.totalBalance??"0")-r;return{coinType:n.coinType?.repr,balance:n.totalBalance,coinBalance:s.toString(),addressBalance:r.toString()}})}}async getTransaction(t){return Dh(await this.#e({query:p_,variables:{digest:t.digest,includeTransaction:t.include?.transaction??!1,includeEffects:t.include?.effects??!1,includeEvents:t.include?.events??!1,includeBalanceChanges:t.include?.balanceChanges??!1,includeObjectTypes:t.include?.objectTypes??!1,includeBcs:t.include?.bcs??!1}},e=>e.transaction),t.include)}async executeTransaction(t){return Dh((await this.#e({query:f_,variables:{transactionDataBcs:ve(t.transaction),signatures:t.signatures,includeTransaction:t.include?.transaction??!1,includeEffects:t.include?.effects??!1,includeEvents:t.include?.events??!1,includeBalanceChanges:t.include?.balanceChanges??!1,includeObjectTypes:t.include?.objectTypes??!1,includeBcs:t.include?.bcs??!1}},e=>e.executeTransaction)).effects?.transaction,t.include)}async simulateTransaction(t){t.transaction instanceof Uint8Array||await t.transaction.prepareForSerialization({client:this});let e=await this.#e({query:d_,variables:{transaction:t.transaction instanceof Uint8Array?{bcs:{value:ve(t.transaction)}}:Hg(t.transaction),includeTransaction:t.include?.transaction??!1,includeEffects:t.include?.effects??!1,includeEvents:t.include?.events??!1,includeBalanceChanges:t.include?.balanceChanges??!1,includeObjectTypes:t.include?.objectTypes??!1,includeCommandResults:t.include?.commandResults??!1,includeBcs:t.include?.bcs??!1,checksEnabled:t.checksEnabled??!0}},s=>s.simulateTransaction),n=Dh(e.effects?.transaction,t.include),r=t.include?.commandResults&&e.outputs?e.outputs.map(s=>({returnValues:(s.returnValues??[]).map(i=>({bcs:i.value?.bcs?le(i.value.bcs):null})),mutatedReferences:(s.mutatedReferences??[]).map(i=>({bcs:i.value?.bcs?le(i.value.bcs):null}))})):void 0;return n.$kind==="Transaction"?{$kind:"Transaction",Transaction:n.Transaction,commandResults:r}:{$kind:"FailedTransaction",FailedTransaction:n.FailedTransaction,commandResults:r}}async getReferenceGasPrice(){return{referenceGasPrice:await this.#e({query:a_},t=>t.epoch?.referenceGasPrice)??""}}async getProtocolConfig(){let t=await this.#e({query:o_},r=>r.epoch?.protocolConfigs),e={};for(let r of t?.featureFlags??[])e[r.key]=r.value;let n={};for(let r of t?.configs??[])n[r.key]=r.value??null;return{protocolConfig:{protocolVersion:t?.protocolVersion?.toString()??null,featureFlags:e,attributes:n}}}async getCurrentSystemState(){let t=await this.#e({query:r_},r=>r.epoch);if(!t)throw new Error("Epoch data not found in response");let e=t.startTimestamp?new Date(t.startTimestamp).getTime().toString():null,n=t.systemState?.json;return{systemState:{systemStateVersion:n?.system_state_version?.toString()??null,epoch:t.epochId?.toString()??null,protocolVersion:t.protocolConfigs?.protocolVersion?.toString()??null,referenceGasPrice:t.referenceGasPrice??null,epochStartTimestampMs:e,safeMode:n?.safe_mode??!1,safeModeStorageRewards:n?.safe_mode_storage_rewards??null,safeModeComputationRewards:n?.safe_mode_computation_rewards??null,safeModeStorageRebates:n?.safe_mode_storage_rebates?.toString()??null,safeModeNonRefundableStorageFee:n?.safe_mode_non_refundable_storage_fee?.toString()??null,parameters:{epochDurationMs:n?.parameters?.epoch_duration_ms?.toString()??null,stakeSubsidyStartEpoch:n?.parameters?.stake_subsidy_start_epoch?.toString()??null,maxValidatorCount:n?.parameters?.max_validator_count?.toString()??null,minValidatorJoiningStake:n?.parameters?.min_validator_joining_stake?.toString()??null,validatorLowStakeThreshold:n?.parameters?.validator_low_stake_threshold?.toString()??null,validatorLowStakeGracePeriod:n?.parameters?.validator_low_stake_grace_period?.toString()??null},storageFund:{totalObjectStorageRebates:n?.storage_fund?.total_object_storage_rebates??null,nonRefundableBalance:n?.storage_fund?.non_refundable_balance??null},stakeSubsidy:{balance:n?.stake_subsidy?.balance??null,distributionCounter:n?.stake_subsidy?.distribution_counter?.toString()??null,currentDistributionAmount:n?.stake_subsidy?.current_distribution_amount?.toString()??null,stakeSubsidyPeriodLength:n?.stake_subsidy?.stake_subsidy_period_length?.toString()??null,stakeSubsidyDecreaseRate:n?.stake_subsidy?.stake_subsidy_decrease_rate??null}}}}async listDynamicFields(t){return this.#t.listDynamicFields(t)}async verifyZkLoginSignature(t){let e=t.intentScope==="TransactionData"?Rh.TransactionData:Rh.PersonalMessage,{data:n}=await this.#t.query({query:m_,variables:{bytes:t.bytes,signature:t.signature,intentScope:e,author:t.address}});return{success:n?.verifyZkLoginSignature?.success??!1,errors:[]}}async defaultNameServiceName(t){return{data:{name:await this.#e({query:c_,signal:t.signal,variables:{address:t.address}},e=>e.address?.defaultNameRecord?.domain??null)}}}async getMoveFunction(t){let e=await this.#e({query:i_,variables:{package:(await this.mvr.resolvePackage({package:t.packageId})).package,module:t.moduleName,function:t.name}},r=>r.package?.module?.function),n="unknown";switch(e.visibility){case"PUBLIC":n="public";break;case"PRIVATE":n="private";break;case"FRIEND":n="friend";break}return{function:{packageId:ae(t.packageId),moduleName:t.moduleName,name:e.name,visibility:n,isEntry:e.isEntry??!1,typeParameters:e.typeParameters?.map(({constraints:r})=>({isPhantom:!1,constraints:r.map(s=>{switch(s){case"COPY":return"copy";case"DROP":return"drop";case"STORE":return"store";case"KEY":return"key";default:return"unknown"}})??[]}))??[],parameters:e.parameters?.map(r=>y_(r.signature))??[],returns:e.return?.map(({signature:r})=>y_(r))??[]}}}async getChainIdentifier(t){return this.cache.read(["chainIdentifier"],async()=>{let e=await this.#e({query:e_},n=>n.checkpoint);if(!e?.digest)throw new Error("Genesis checkpoint digest not found");return{chainIdentifier:e.digest}})}resolveTransactionPlugin(){let t=this.#t;return async function(n,r,s){let i=n.snapshot();i.sender||(i.sender="0x0000000000000000000000000000000000000000000000000000000000000000");let o=Pa(i),a=Mr.toJson(o),{data:c,errors:u}=await t.query({query:h_,variables:{transaction:a,doGasSelection:!r.onlyTransactionKind&&(i.gasData.budget==null||i.gasData.payment==null)}});Bh(u);let d=c?.simulateTransaction?.effects?.transaction?.effects;if(!r.onlyTransactionKind&&d?.status===Nh.Failure){let m=w_(d.executionError);throw new Oi(`Transaction resolution failed: ${m?.message??"Transaction failed"}`,{executionError:m})}let f=c?.simulateTransaction?.effects?.transaction?.transactionBcs;if(!f)throw new Error("simulateTransaction did not return resolved transaction data");let p=Ms.fromBytes(le(f)).snapshot();return r.onlyTransactionKind?n.applyResolvedData({...p,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):n.applyResolvedData(p),await s()}}};function g_(t,e){if(t)return e?{output:e.output??null,errors:e.errors??null}:null}function Bh(t){if(!t||t.length===0)return;let e=t.map(n=>new QA(n));throw e.length===1?e[0]:new AggregateError(e)}var QA=class extends Error{constructor(t){super(t.message),this.locations=t.locations}};function Mh(t){switch(t.__typename){case"AddressOwner":return{$kind:"AddressOwner",AddressOwner:t.address?.address};case"ConsensusAddressOwner":return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{owner:t?.address?.address,startVersion:String(t.startVersion)}};case"ObjectOwner":return{$kind:"ObjectOwner",ObjectOwner:t.address?.address};case"Immutable":return{$kind:"Immutable",Immutable:!0};case"Shared":return{$kind:"Shared",Shared:{initialSharedVersion:String(t.initialSharedVersion)}}}}function Dh(t,e){let n={};if(e?.objectTypes){let c=t.effects?.effectsJson;c&&Nu.fromJson(c).changedObjects?.forEach(d=>{d.objectId&&d.objectType&&(n[d.objectId]=d.objectType)});let u=t.effects?.objectChanges?.nodes;if(u)for(let d of u){let f=d.outputState?.asMoveObject?.contents?.type?.repr;d.address&&f&&(n[d.address]=f)}}let r;if(e?.balanceChanges){let c=t.effects?.balanceChangesJson;Array.isArray(c)?r=c.map(u=>{let d=Ru.fromJson(u);return{coinType:d.coinType,address:d.address,amount:d.amount}}):r=[]}let s=t.effects?.status===Nh.Success?{success:!0,error:null}:{success:!1,error:w_(t.effects?.executionError)},i;if(e?.transaction&&t.transactionJson){let c=Va(Mr.fromJson(t.transactionJson));i={gasData:c.gasData,sender:c.sender,expiration:c.expiration,commands:c.commands,inputs:c.inputs,version:c.version}}let o=e?.bcs&&t.transactionBcs?le(t.transactionBcs):void 0,a={digest:t.digest,status:s,effects:e?.effects?pg(le(t.effects?.effectsBcs)):void 0,epoch:t.effects?.epoch?.epochId?.toString()??null,objectTypes:e?.objectTypes?n:void 0,transaction:i,bcs:o,signatures:t.signatures.map(c=>c.signatureBytes),balanceChanges:r,events:e?.events?t.effects?.events?.nodes.map(c=>{let u=c.contents?.type?.repr,[d,f]=u.split("::");return{packageId:d,module:f,sender:c.sender?.address,eventType:u,bcs:c.contents?.bcs?le(c.contents.bcs):new Uint8Array,json:c.contents?.json??null}})??[]:void 0};return s.success?{$kind:"Transaction",Transaction:a,FailedTransaction:void 0}:{$kind:"FailedTransaction",Transaction:void 0,FailedTransaction:a}}function y_(t){let e=null;return t.ref==="&"?e="immutable":t.ref==="&mut"&&(e="mutable"),{reference:e,body:jh(t.body)}}function w_(t){if(e6(t)==="MoveAbort"&&t?.abortCode!=null){let e=t6(t),n=n6(t),r=t.message?.match(/in (\d+)\w* command/),s=r?parseInt(r[1],10)-1:void 0;return{$kind:"MoveAbort",message:Ca({command:s,location:e?{package:e.package,module:e.module,functionName:e.functionName,instruction:e.instruction}:void 0,abortCode:t.abortCode,cleverError:n?{lineNumber:n.lineNumber,constantName:n.constantName,value:n.value}:void 0}),command:s,MoveAbort:{abortCode:t.abortCode,location:e,cleverError:n}}}return{$kind:"Unknown",message:t?.message??"Transaction failed",Unknown:null}}function e6(t){return t?.abortCode!=null?"MoveAbort":t?.message?.match(/^(\w+)/)?.[1]??"Unknown"}function t6(t){if(t.module?.package?.address&&t.module?.name)return{package:t.module?.package?.address,module:t.module?.name,functionName:t.function?.name,instruction:t.instructionOffset??void 0}}function n6(t){if(t.identifier||t.constant)return{constantName:t.identifier??void 0,value:t.constant??void 0,lineNumber:t.sourceLineNumber??void 0}}function jh(t){switch(t){case"address":return{$kind:"address"};case"bool":return{$kind:"bool"};case"u8":return{$kind:"u8"};case"u16":return{$kind:"u16"};case"u32":return{$kind:"u32"};case"u64":return{$kind:"u64"};case"u128":return{$kind:"u128"};case"u256":return{$kind:"u256"}}if(typeof t=="string")throw new Error(`Unknown type: ${t}`);if("vector"in t)return{$kind:"vector",vector:jh(t.vector)};if("datatype"in t)return{$kind:"datatype",datatype:{typeName:`${ae(t.datatype.package)}::${t.datatype.module}::${t.datatype.type}`,typeParameters:t.datatype.typeParameters.map(e=>jh(e))}};if("typeParameter"in t)return{$kind:"typeParameter",index:t.typeParameter};throw new Error(`Unknown type: ${JSON.stringify(t)}`)}function __(t,e){if(!!!t)throw new Error(e)}var Uh=class{constructor(e,n,r){this.start=e.start,this.end=n.end,this.startToken=e,this.endToken=n,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},Lh=class{constructor(e,n,r,s,i,o){this.kind=e,this.start=n,this.end=r,this.line=s,this.column=i,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Vh={Name:[],Document:["definitions"],OperationDefinition:["description","name","variableDefinitions","directives","selectionSet"],VariableDefinition:["description","variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["description","name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"],TypeCoordinate:["name"],MemberCoordinate:["name","memberName"],ArgumentCoordinate:["name","fieldName","argumentName"],DirectiveCoordinate:["name"],DirectiveArgumentCoordinate:["name","argumentName"]},r6=new Set(Object.keys(Vh));function Fh(t){let e=t?.kind;return typeof e=="string"&&r6.has(e)}var Ph;(function(t){t.QUERY="query",t.MUTATION="mutation",t.SUBSCRIPTION="subscription"})(Ph||(Ph={}));var Ec;(function(t){t.NAME="Name",t.DOCUMENT="Document",t.OPERATION_DEFINITION="OperationDefinition",t.VARIABLE_DEFINITION="VariableDefinition",t.SELECTION_SET="SelectionSet",t.FIELD="Field",t.ARGUMENT="Argument",t.FRAGMENT_SPREAD="FragmentSpread",t.INLINE_FRAGMENT="InlineFragment",t.FRAGMENT_DEFINITION="FragmentDefinition",t.VARIABLE="Variable",t.INT="IntValue",t.FLOAT="FloatValue",t.STRING="StringValue",t.BOOLEAN="BooleanValue",t.NULL="NullValue",t.ENUM="EnumValue",t.LIST="ListValue",t.OBJECT="ObjectValue",t.OBJECT_FIELD="ObjectField",t.DIRECTIVE="Directive",t.NAMED_TYPE="NamedType",t.LIST_TYPE="ListType",t.NON_NULL_TYPE="NonNullType",t.SCHEMA_DEFINITION="SchemaDefinition",t.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",t.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",t.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",t.FIELD_DEFINITION="FieldDefinition",t.INPUT_VALUE_DEFINITION="InputValueDefinition",t.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",t.UNION_TYPE_DEFINITION="UnionTypeDefinition",t.ENUM_TYPE_DEFINITION="EnumTypeDefinition",t.ENUM_VALUE_DEFINITION="EnumValueDefinition",t.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",t.DIRECTIVE_DEFINITION="DirectiveDefinition",t.SCHEMA_EXTENSION="SchemaExtension",t.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",t.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",t.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",t.UNION_TYPE_EXTENSION="UnionTypeExtension",t.ENUM_TYPE_EXTENSION="EnumTypeExtension",t.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension",t.TYPE_COORDINATE="TypeCoordinate",t.MEMBER_COORDINATE="MemberCoordinate",t.ARGUMENT_COORDINATE="ArgumentCoordinate",t.DIRECTIVE_COORDINATE="DirectiveCoordinate",t.DIRECTIVE_ARGUMENT_COORDINATE="DirectiveArgumentCoordinate"})(Ec||(Ec={}));function qh(t){return t===9||t===32}function v_(t,e){let n=t.replace(/"""/g,'\\"""'),r=n.split(/\r\n|[\n\r]/g),s=r.length===1,i=r.length>1&&r.slice(1).every(m=>m.length===0||qh(m.charCodeAt(0))),o=n.endsWith('\\"""'),a=t.endsWith('"')&&!o,c=t.endsWith("\\"),u=a||c,d=!(e!=null&&e.minimize)&&(!s||t.length>70||u||i||o),f="",p=s&&qh(t.charCodeAt(0));return(d&&!p||i)&&(f+=`
808
808
  `),f+=n,(d||u)&&(f+=`
809
- `),'"""'+f+'"""'}function Fv(t){return Dl(t,[])}function Dl(t,e){switch(typeof t){case"string":return JSON.stringify(t);case"function":return t.name?`[function ${t.name}]`:"[function]";case"object":return T6(t,e);default:return String(t)}}function T6(t,e){if(t===null)return"null";if(e.includes(t))return"[Circular]";let n=[...e,t];if(k6(t)){let r=t.toJSON();if(r!==t)return typeof r=="string"?r:Dl(r,n)}else if(Array.isArray(t))return S6(t,n);return E6(t,n)}function k6(t){return typeof t.toJSON=="function"}function E6(t,e){let n=Object.entries(t);return n.length===0?"{}":e.length>2?"["+x6(t)+"]":"{ "+n.map(([s,i])=>s+": "+Dl(i,e)).join(", ")+" }"}function S6(t,e){if(t.length===0)return"[]";if(e.length>2)return"[Array]";let n=Math.min(10,t.length),r=t.length-n,s=[];for(let i=0;i<n;++i)s.push(Dl(t[i],e));return r===1?s.push("... 1 more item"):r>1&&s.push(`... ${r} more items`),"["+s.join(", ")+"]"}function x6(t){let e=Object.prototype.toString.call(t).replace(/^\[object /,"").replace(/]$/,"");if(e==="Object"&&typeof t.constructor=="function"){let n=t.constructor.name;if(typeof n=="string"&&n!=="")return n}return e}function qv(t){return`"${t.replace(O6,I6)}"`}var O6=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function I6(t){return A6[t.charCodeAt(0)]}var A6=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var $v=Object.freeze({});function Xh(t,e,n=Jh){let r=new Map;for(let O of Object.values(Oc))r.set(O,Gv(e,O));let s,i=Array.isArray(t),o=[t],a=-1,c=[],u=t,d,f,p=[],m=[];do{a++;let O=a===o.length,B=O&&c.length!==0;if(O){if(d=m.length===0?void 0:p[p.length-1],u=f,f=m.pop(),B)if(i){u=u.slice();let U=0;for(let[L,P]of c){let q=L-U;P===null?(u.splice(q,1),U++):u[q]=P}}else{u={...u};for(let[U,L]of c)u[U]=L}a=s.index,o=s.keys,c=s.edits,i=s.inArray,s=s.prev}else if(f){if(d=i?a:o[a],u=f[d],u==null)continue;p.push(d)}let C;if(!Array.isArray(u)){var b,v;Kh(u)||Lv(!1,`Invalid AST Node: ${Fv(u)}.`);let U=O?(b=r.get(u.kind))===null||b===void 0?void 0:b.leave:(v=r.get(u.kind))===null||v===void 0?void 0:v.enter;if(C=U?.call(e,u,d,f,p,m),C===$v)break;if(C===!1){if(!O){p.pop();continue}}else if(C!==void 0&&(c.push([d,C]),!O))if(Kh(C))u=C;else{p.pop();continue}}if(C===void 0&&B&&c.push([d,u]),O)p.pop();else{var T;s={inArray:i,index:a,keys:o,edits:c,prev:s},i=Array.isArray(u),o=i?u:(T=n[u.kind])!==null&&T!==void 0?T:[],a=-1,c=[],f&&m.push(f),f=u}}while(s!==void 0);return c.length!==0?c[c.length-1][1]:t}function Gv(t,e){let n=t[e];return typeof n=="object"?n:typeof n=="function"?{enter:n,leave:void 0}:{enter:t.enter,leave:t.leave}}function Pl(t){return Xh(t,N6)}var C6=80,N6={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>ae(t.definitions,`
809
+ `),'"""'+f+'"""'}function T_(t){return Al(t,[])}function Al(t,e){switch(typeof t){case"string":return JSON.stringify(t);case"function":return t.name?`[function ${t.name}]`:"[function]";case"object":return s6(t,e);default:return String(t)}}function s6(t,e){if(t===null)return"null";if(e.includes(t))return"[Circular]";let n=[...e,t];if(i6(t)){let r=t.toJSON();if(r!==t)return typeof r=="string"?r:Al(r,n)}else if(Array.isArray(t))return a6(t,n);return o6(t,n)}function i6(t){return typeof t.toJSON=="function"}function o6(t,e){let n=Object.entries(t);return n.length===0?"{}":e.length>2?"["+c6(t)+"]":"{ "+n.map(([s,i])=>s+": "+Al(i,e)).join(", ")+" }"}function a6(t,e){if(t.length===0)return"[]";if(e.length>2)return"[Array]";let n=Math.min(10,t.length),r=t.length-n,s=[];for(let i=0;i<n;++i)s.push(Al(t[i],e));return r===1?s.push("... 1 more item"):r>1&&s.push(`... ${r} more items`),"["+s.join(", ")+"]"}function c6(t){let e=Object.prototype.toString.call(t).replace(/^\[object /,"").replace(/]$/,"");if(e==="Object"&&typeof t.constructor=="function"){let n=t.constructor.name;if(typeof n=="string"&&n!=="")return n}return e}function k_(t){return`"${t.replace(u6,l6)}"`}var u6=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function l6(t){return d6[t.charCodeAt(0)]}var d6=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var E_=Object.freeze({});function $h(t,e,n=Vh){let r=new Map;for(let O of Object.values(Ec))r.set(O,x_(e,O));let s,i=Array.isArray(t),o=[t],a=-1,c=[],u=t,d,f,p=[],m=[];do{a++;let O=a===o.length,B=O&&c.length!==0;if(O){if(d=m.length===0?void 0:p[p.length-1],u=f,f=m.pop(),B)if(i){u=u.slice();let U=0;for(let[P,L]of c){let q=P-U;L===null?(u.splice(q,1),U++):u[q]=L}}else{u={...u};for(let[U,P]of c)u[U]=P}a=s.index,o=s.keys,c=s.edits,i=s.inArray,s=s.prev}else if(f){if(d=i?a:o[a],u=f[d],u==null)continue;p.push(d)}let C;if(!Array.isArray(u)){var b,_;Fh(u)||__(!1,`Invalid AST Node: ${T_(u)}.`);let U=O?(b=r.get(u.kind))===null||b===void 0?void 0:b.leave:(_=r.get(u.kind))===null||_===void 0?void 0:_.enter;if(C=U?.call(e,u,d,f,p,m),C===E_)break;if(C===!1){if(!O){p.pop();continue}}else if(C!==void 0&&(c.push([d,C]),!O))if(Fh(C))u=C;else{p.pop();continue}}if(C===void 0&&B&&c.push([d,u]),O)p.pop();else{var T;s={inArray:i,index:a,keys:o,edits:c,prev:s},i=Array.isArray(u),o=i?u:(T=n[u.kind])!==null&&T!==void 0?T:[],a=-1,c=[],f&&m.push(f),f=u}}while(s!==void 0);return c.length!==0?c[c.length-1][1]:t}function x_(t,e){let n=t[e];return typeof n=="object"?n:typeof n=="function"?{enter:n,leave:void 0}:{enter:t.enter,leave:t.leave}}function Nl(t){return $h(t,p6)}var f6=80,p6={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>oe(t.definitions,`
810
810
 
811
- `)},OperationDefinition:{leave(t){let e=Qh(t.variableDefinitions)?Ee(`(
812
- `,ae(t.variableDefinitions,`
811
+ `)},OperationDefinition:{leave(t){let e=Gh(t.variableDefinitions)?ke(`(
812
+ `,oe(t.variableDefinitions,`
813
813
  `),`
814
- )`):Ee("(",ae(t.variableDefinitions,", "),")"),n=Ee("",t.description,`
815
- `)+ae([t.operation,ae([t.name,e]),ae(t.directives," ")]," ");return(n==="query"?"":n+" ")+t.selectionSet}},VariableDefinition:{leave:({variable:t,type:e,defaultValue:n,directives:r,description:s})=>Ee("",s,`
816
- `)+t+": "+e+Ee(" = ",n)+Ee(" ",ae(r," "))},SelectionSet:{leave:({selections:t})=>xr(t)},Field:{leave({alias:t,name:e,arguments:n,directives:r,selectionSet:s}){let i=Ee("",t,": ")+e,o=i+Ee("(",ae(n,", "),")");return o.length>C6&&(o=i+Ee(`(
817
- `,Ul(ae(n,`
814
+ )`):ke("(",oe(t.variableDefinitions,", "),")"),n=ke("",t.description,`
815
+ `)+oe([t.operation,oe([t.name,e]),oe(t.directives," ")]," ");return(n==="query"?"":n+" ")+t.selectionSet}},VariableDefinition:{leave:({variable:t,type:e,defaultValue:n,directives:r,description:s})=>ke("",s,`
816
+ `)+t+": "+e+ke(" = ",n)+ke(" ",oe(r," "))},SelectionSet:{leave:({selections:t})=>_r(t)},Field:{leave({alias:t,name:e,arguments:n,directives:r,selectionSet:s}){let i=ke("",t,": ")+e,o=i+ke("(",oe(n,", "),")");return o.length>f6&&(o=i+ke(`(
817
+ `,Cl(oe(n,`
818
818
  `)),`
819
- )`)),ae([o,ae(r," "),s]," ")}},Argument:{leave:({name:t,value:e})=>t+": "+e},FragmentSpread:{leave:({name:t,directives:e})=>"..."+t+Ee(" ",ae(e," "))},InlineFragment:{leave:({typeCondition:t,directives:e,selectionSet:n})=>ae(["...",Ee("on ",t),ae(e," "),n]," ")},FragmentDefinition:{leave:({name:t,typeCondition:e,variableDefinitions:n,directives:r,selectionSet:s,description:i})=>Ee("",i,`
820
- `)+`fragment ${t}${Ee("(",ae(n,", "),")")} on ${e} ${Ee("",ae(r," ")," ")}`+s},IntValue:{leave:({value:t})=>t},FloatValue:{leave:({value:t})=>t},StringValue:{leave:({value:t,block:e})=>e?Vv(t):qv(t)},BooleanValue:{leave:({value:t})=>t?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:t})=>t},ListValue:{leave:({values:t})=>"["+ae(t,", ")+"]"},ObjectValue:{leave:({fields:t})=>"{"+ae(t,", ")+"}"},ObjectField:{leave:({name:t,value:e})=>t+": "+e},Directive:{leave:({name:t,arguments:e})=>"@"+t+Ee("(",ae(e,", "),")")},NamedType:{leave:({name:t})=>t},ListType:{leave:({type:t})=>"["+t+"]"},NonNullType:{leave:({type:t})=>t+"!"},SchemaDefinition:{leave:({description:t,directives:e,operationTypes:n})=>Ee("",t,`
821
- `)+ae(["schema",ae(e," "),xr(n)]," ")},OperationTypeDefinition:{leave:({operation:t,type:e})=>t+": "+e},ScalarTypeDefinition:{leave:({description:t,name:e,directives:n})=>Ee("",t,`
822
- `)+ae(["scalar",e,ae(n," ")]," ")},ObjectTypeDefinition:{leave:({description:t,name:e,interfaces:n,directives:r,fields:s})=>Ee("",t,`
823
- `)+ae(["type",e,Ee("implements ",ae(n," & ")),ae(r," "),xr(s)]," ")},FieldDefinition:{leave:({description:t,name:e,arguments:n,type:r,directives:s})=>Ee("",t,`
824
- `)+e+(Qh(n)?Ee(`(
825
- `,Ul(ae(n,`
819
+ )`)),oe([o,oe(r," "),s]," ")}},Argument:{leave:({name:t,value:e})=>t+": "+e},FragmentSpread:{leave:({name:t,directives:e})=>"..."+t+ke(" ",oe(e," "))},InlineFragment:{leave:({typeCondition:t,directives:e,selectionSet:n})=>oe(["...",ke("on ",t),oe(e," "),n]," ")},FragmentDefinition:{leave:({name:t,typeCondition:e,variableDefinitions:n,directives:r,selectionSet:s,description:i})=>ke("",i,`
820
+ `)+`fragment ${t}${ke("(",oe(n,", "),")")} on ${e} ${ke("",oe(r," ")," ")}`+s},IntValue:{leave:({value:t})=>t},FloatValue:{leave:({value:t})=>t},StringValue:{leave:({value:t,block:e})=>e?v_(t):k_(t)},BooleanValue:{leave:({value:t})=>t?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:t})=>t},ListValue:{leave:({values:t})=>"["+oe(t,", ")+"]"},ObjectValue:{leave:({fields:t})=>"{"+oe(t,", ")+"}"},ObjectField:{leave:({name:t,value:e})=>t+": "+e},Directive:{leave:({name:t,arguments:e})=>"@"+t+ke("(",oe(e,", "),")")},NamedType:{leave:({name:t})=>t},ListType:{leave:({type:t})=>"["+t+"]"},NonNullType:{leave:({type:t})=>t+"!"},SchemaDefinition:{leave:({description:t,directives:e,operationTypes:n})=>ke("",t,`
821
+ `)+oe(["schema",oe(e," "),_r(n)]," ")},OperationTypeDefinition:{leave:({operation:t,type:e})=>t+": "+e},ScalarTypeDefinition:{leave:({description:t,name:e,directives:n})=>ke("",t,`
822
+ `)+oe(["scalar",e,oe(n," ")]," ")},ObjectTypeDefinition:{leave:({description:t,name:e,interfaces:n,directives:r,fields:s})=>ke("",t,`
823
+ `)+oe(["type",e,ke("implements ",oe(n," & ")),oe(r," "),_r(s)]," ")},FieldDefinition:{leave:({description:t,name:e,arguments:n,type:r,directives:s})=>ke("",t,`
824
+ `)+e+(Gh(n)?ke(`(
825
+ `,Cl(oe(n,`
826
826
  `)),`
827
- )`):Ee("(",ae(n,", "),")"))+": "+r+Ee(" ",ae(s," "))},InputValueDefinition:{leave:({description:t,name:e,type:n,defaultValue:r,directives:s})=>Ee("",t,`
828
- `)+ae([e+": "+n,Ee("= ",r),ae(s," ")]," ")},InterfaceTypeDefinition:{leave:({description:t,name:e,interfaces:n,directives:r,fields:s})=>Ee("",t,`
829
- `)+ae(["interface",e,Ee("implements ",ae(n," & ")),ae(r," "),xr(s)]," ")},UnionTypeDefinition:{leave:({description:t,name:e,directives:n,types:r})=>Ee("",t,`
830
- `)+ae(["union",e,ae(n," "),Ee("= ",ae(r," | "))]," ")},EnumTypeDefinition:{leave:({description:t,name:e,directives:n,values:r})=>Ee("",t,`
831
- `)+ae(["enum",e,ae(n," "),xr(r)]," ")},EnumValueDefinition:{leave:({description:t,name:e,directives:n})=>Ee("",t,`
832
- `)+ae([e,ae(n," ")]," ")},InputObjectTypeDefinition:{leave:({description:t,name:e,directives:n,fields:r})=>Ee("",t,`
833
- `)+ae(["input",e,ae(n," "),xr(r)]," ")},DirectiveDefinition:{leave:({description:t,name:e,arguments:n,repeatable:r,locations:s})=>Ee("",t,`
834
- `)+"directive @"+e+(Qh(n)?Ee(`(
835
- `,Ul(ae(n,`
827
+ )`):ke("(",oe(n,", "),")"))+": "+r+ke(" ",oe(s," "))},InputValueDefinition:{leave:({description:t,name:e,type:n,defaultValue:r,directives:s})=>ke("",t,`
828
+ `)+oe([e+": "+n,ke("= ",r),oe(s," ")]," ")},InterfaceTypeDefinition:{leave:({description:t,name:e,interfaces:n,directives:r,fields:s})=>ke("",t,`
829
+ `)+oe(["interface",e,ke("implements ",oe(n," & ")),oe(r," "),_r(s)]," ")},UnionTypeDefinition:{leave:({description:t,name:e,directives:n,types:r})=>ke("",t,`
830
+ `)+oe(["union",e,oe(n," "),ke("= ",oe(r," | "))]," ")},EnumTypeDefinition:{leave:({description:t,name:e,directives:n,values:r})=>ke("",t,`
831
+ `)+oe(["enum",e,oe(n," "),_r(r)]," ")},EnumValueDefinition:{leave:({description:t,name:e,directives:n})=>ke("",t,`
832
+ `)+oe([e,oe(n," ")]," ")},InputObjectTypeDefinition:{leave:({description:t,name:e,directives:n,fields:r})=>ke("",t,`
833
+ `)+oe(["input",e,oe(n," "),_r(r)]," ")},DirectiveDefinition:{leave:({description:t,name:e,arguments:n,repeatable:r,locations:s})=>ke("",t,`
834
+ `)+"directive @"+e+(Gh(n)?ke(`(
835
+ `,Cl(oe(n,`
836
836
  `)),`
837
- )`):Ee("(",ae(n,", "),")"))+(r?" repeatable":"")+" on "+ae(s," | ")},SchemaExtension:{leave:({directives:t,operationTypes:e})=>ae(["extend schema",ae(t," "),xr(e)]," ")},ScalarTypeExtension:{leave:({name:t,directives:e})=>ae(["extend scalar",t,ae(e," ")]," ")},ObjectTypeExtension:{leave:({name:t,interfaces:e,directives:n,fields:r})=>ae(["extend type",t,Ee("implements ",ae(e," & ")),ae(n," "),xr(r)]," ")},InterfaceTypeExtension:{leave:({name:t,interfaces:e,directives:n,fields:r})=>ae(["extend interface",t,Ee("implements ",ae(e," & ")),ae(n," "),xr(r)]," ")},UnionTypeExtension:{leave:({name:t,directives:e,types:n})=>ae(["extend union",t,ae(e," "),Ee("= ",ae(n," | "))]," ")},EnumTypeExtension:{leave:({name:t,directives:e,values:n})=>ae(["extend enum",t,ae(e," "),xr(n)]," ")},InputObjectTypeExtension:{leave:({name:t,directives:e,fields:n})=>ae(["extend input",t,ae(e," "),xr(n)]," ")},TypeCoordinate:{leave:({name:t})=>t},MemberCoordinate:{leave:({name:t,memberName:e})=>ae([t,Ee(".",e)])},ArgumentCoordinate:{leave:({name:t,fieldName:e,argumentName:n})=>ae([t,Ee(".",e),Ee("(",n,":)")])},DirectiveCoordinate:{leave:({name:t})=>ae(["@",t])},DirectiveArgumentCoordinate:{leave:({name:t,argumentName:e})=>ae(["@",t,Ee("(",e,":)")])}};function ae(t,e=""){var n;return(n=t?.filter(r=>r).join(e))!==null&&n!==void 0?n:""}function xr(t){return Ee(`{
838
- `,Ul(ae(t,`
837
+ )`):ke("(",oe(n,", "),")"))+(r?" repeatable":"")+" on "+oe(s," | ")},SchemaExtension:{leave:({directives:t,operationTypes:e})=>oe(["extend schema",oe(t," "),_r(e)]," ")},ScalarTypeExtension:{leave:({name:t,directives:e})=>oe(["extend scalar",t,oe(e," ")]," ")},ObjectTypeExtension:{leave:({name:t,interfaces:e,directives:n,fields:r})=>oe(["extend type",t,ke("implements ",oe(e," & ")),oe(n," "),_r(r)]," ")},InterfaceTypeExtension:{leave:({name:t,interfaces:e,directives:n,fields:r})=>oe(["extend interface",t,ke("implements ",oe(e," & ")),oe(n," "),_r(r)]," ")},UnionTypeExtension:{leave:({name:t,directives:e,types:n})=>oe(["extend union",t,oe(e," "),ke("= ",oe(n," | "))]," ")},EnumTypeExtension:{leave:({name:t,directives:e,values:n})=>oe(["extend enum",t,oe(e," "),_r(n)]," ")},InputObjectTypeExtension:{leave:({name:t,directives:e,fields:n})=>oe(["extend input",t,oe(e," "),_r(n)]," ")},TypeCoordinate:{leave:({name:t})=>t},MemberCoordinate:{leave:({name:t,memberName:e})=>oe([t,ke(".",e)])},ArgumentCoordinate:{leave:({name:t,fieldName:e,argumentName:n})=>oe([t,ke(".",e),ke("(",n,":)")])},DirectiveCoordinate:{leave:({name:t})=>oe(["@",t])},DirectiveArgumentCoordinate:{leave:({name:t,argumentName:e})=>oe(["@",t,ke("(",e,":)")])}};function oe(t,e=""){var n;return(n=t?.filter(r=>r).join(e))!==null&&n!==void 0?n:""}function _r(t){return ke(`{
838
+ `,Cl(oe(t,`
839
839
  `)),`
840
- }`)}function Ee(t,e,n=""){return e!=null&&e!==""?t+e+n:""}function Ul(t){return Ee(" ",t.replace(/\n/g,`
841
- `))}function Qh(t){var e;return(e=t?.some(n=>n.includes(`
842
- `)))!==null&&e!==void 0?e:!1}var Hv=class extends Error{},R6=Symbol.for("@mysten/SuiGraphQLClient");var em=class extends Ms{#e;#t;#s;#r;get mvr(){return this.core.mvr}get[R6](){return!0}constructor({url:t,fetch:e=fetch,headers:n={},queries:r={},network:s,mvr:i}){super({network:s}),this.#e=t,this.#t=r,this.#s=n,this.#r=(...o)=>e(...o),this.core=new Uv({graphqlClient:this,mvr:i})}async query(t){let e=await this.#r(this.#e,{method:"POST",headers:{"Content-Type":"application/json",...this.#s},body:JSON.stringify({query:typeof t.query=="string"||t.query instanceof String?String(t.query):Pl(t.query),variables:t.variables,extensions:t.extensions,operationName:t.operationName}),signal:t.signal});if(!e.ok)throw new Hv(`GraphQL request failed: ${e.statusText} (${e.status})`);return await e.json()}async execute(t,e){return this.query({...e,query:this.#t[t]})}getObjects(t){return this.core.getObjects(t)}getObject(t){return this.core.getObject(t)}listCoins(t){return this.core.listCoins(t)}listOwnedObjects(t){return this.core.listOwnedObjects(t)}getBalance(t){return this.core.getBalance(t)}listBalances(t){return this.core.listBalances(t)}getCoinMetadata(t){return this.core.getCoinMetadata(t)}getTransaction(t){return this.core.getTransaction(t)}executeTransaction(t){return this.core.executeTransaction(t)}signAndExecuteTransaction(t){return this.core.signAndExecuteTransaction(t)}waitForTransaction(t){return this.core.waitForTransaction(t)}simulateTransaction(t){return this.core.simulateTransaction(t)}getReferenceGasPrice(){return this.core.getReferenceGasPrice()}async listDynamicFields(t){let e=t.include?.value??!1,{data:n,errors:r}=await this.query({query:kv,variables:{parentId:t.parentId,first:t.limit,cursor:t.cursor,includeValue:e}});if(r?.length)throw r.length===1?new Error(r[0].message):new AggregateError(r.map(i=>new Error(i.message)));let s=n?.address?.dynamicFields;if(!s)throw new Error("Missing response data");return{dynamicFields:s.nodes.map(i=>{let o=i.value?.__typename==="MoveObject"?i.value.contents?.type?.repr:i.value?.type?.repr,a=i.value?.__typename==="MoveObject",c=a?`0x2::dynamic_object_field::Wrapper<${i.name?.type?.repr}>`:i.name?.type?.repr,u;if(e){let d;i.value?.__typename==="MoveValue"?d=ce(i.value.bcs??""):i.value?.__typename==="MoveObject"?d=ce(i.value.contents?.bcs??""):d=new Uint8Array,u={type:o,bcs:d}}return{$kind:a?"DynamicObject":"DynamicField",fieldId:mr(t.parentId,c,ce(i.name?.bcs)),type:ye(a?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${i.name?.type?.repr}>,0x2::object::ID>`:`0x2::dynamic_field::Field<${i.name?.type?.repr},${o}>`),name:{type:i.name?.type?.repr,bcs:ce(i.name?.bcs)},valueType:o,childId:a&&i.value?.__typename==="MoveObject"?i.value.address:void 0,value:e?u:void 0}}),cursor:s.pageInfo.endCursor??null,hasNextPage:s.pageInfo.hasNextPage}}getDynamicField(t){return this.core.getDynamicField(t)}getMoveFunction(t){return this.core.getMoveFunction(t)}resolveTransactionPlugin(){return this.core.resolveTransactionPlugin()}verifyZkLoginSignature(t){return this.core.verifyZkLoginSignature(t)}defaultNameServiceName(t){return this.core.defaultNameServiceName(t)}};var Ll=class extends Error{constructor(e,n){super(e),this.name="ParseError",this.type=n.type,this.field=n.field,this.value=n.value,this.line=n.line}};function tm(t){}function zv(t){if(typeof t=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:e=tm,onError:n=tm,onRetry:r=tm,onComment:s}=t,i="",o=!0,a,c="",u="";function d(v){let T=o?v.replace(/^\xEF\xBB\xBF/,""):v,[O,B]=B6(`${i}${T}`);for(let C of O)f(C);i=B,o=!1}function f(v){if(v===""){m();return}if(v.startsWith(":")){s&&s(v.slice(v.startsWith(": ")?2:1));return}let T=v.indexOf(":");if(T!==-1){let O=v.slice(0,T),B=v[T+1]===" "?2:1,C=v.slice(T+B);p(O,C,v);return}p(v,"",v)}function p(v,T,O){switch(v){case"event":u=T;break;case"data":c=`${c}${T}
843
- `;break;case"id":a=T.includes("\0")?void 0:T;break;case"retry":/^\d+$/.test(T)?r(parseInt(T,10)):n(new Ll(`Invalid \`retry\` value: "${T}"`,{type:"invalid-retry",value:T,line:O}));break;default:n(new Ll(`Unknown field "${v.length>20?`${v.slice(0,20)}\u2026`:v}"`,{type:"unknown-field",field:v,value:T,line:O}));break}}function m(){c.length>0&&e({id:a,event:u||void 0,data:c.endsWith(`
844
- `)?c.slice(0,-1):c}),a=void 0,c="",u=""}function b(v={}){i&&v.consume&&f(i),o=!0,a=void 0,c="",u="",i=""}return{feed:d,reset:b}}function B6(t){let e=[],n="",r=0;for(;r<t.length;){let s=t.indexOf("\r",r),i=t.indexOf(`
840
+ }`)}function ke(t,e,n=""){return e!=null&&e!==""?t+e+n:""}function Cl(t){return ke(" ",t.replace(/\n/g,`
841
+ `))}function Gh(t){var e;return(e=t?.some(n=>n.includes(`
842
+ `)))!==null&&e!==void 0?e:!1}var S_=class extends Error{},h6=Symbol.for("@mysten/SuiGraphQLClient");var Hh=class extends xo{#t;#e;#s;#r;get mvr(){return this.core.mvr}get[h6](){return!0}constructor({url:t,fetch:e=fetch,headers:n={},queries:r={},network:s,mvr:i}){super({network:s}),this.#t=t,this.#e=r,this.#s=n,this.#r=(...o)=>e(...o),this.core=new b_({graphqlClient:this,mvr:i})}async query(t){let e=await this.#r(this.#t,{method:"POST",headers:{"Content-Type":"application/json",...this.#s},body:JSON.stringify({query:typeof t.query=="string"||t.query instanceof String?String(t.query):Nl(t.query),variables:t.variables,extensions:t.extensions,operationName:t.operationName}),signal:t.signal});if(!e.ok)throw new S_(`GraphQL request failed: ${e.statusText} (${e.status})`);return await e.json()}async execute(t,e){return this.query({...e,query:this.#e[t]})}getObjects(t){return this.core.getObjects(t)}getObject(t){return this.core.getObject(t)}listCoins(t){return this.core.listCoins(t)}listOwnedObjects(t){return this.core.listOwnedObjects(t)}getBalance(t){return this.core.getBalance(t)}listBalances(t){return this.core.listBalances(t)}getCoinMetadata(t){return this.core.getCoinMetadata(t)}getTransaction(t){return this.core.getTransaction(t)}executeTransaction(t){return this.core.executeTransaction(t)}signAndExecuteTransaction(t){return this.core.signAndExecuteTransaction(t)}waitForTransaction(t){return this.core.waitForTransaction(t)}simulateTransaction(t){return this.core.simulateTransaction(t)}getReferenceGasPrice(){return this.core.getReferenceGasPrice()}async listDynamicFields(t){let e=t.include?.value??!1,{data:n,errors:r}=await this.query({query:s_,variables:{parentId:t.parentId,first:t.limit,cursor:t.cursor,includeValue:e}});if(r?.length)throw r.length===1?new Error(r[0].message):new AggregateError(r.map(i=>new Error(i.message)));let s=n?.address?.dynamicFields;if(!s)throw new Error("Missing response data");return{dynamicFields:s.nodes.map(i=>{let o=i.value?.__typename==="MoveObject"?i.value.contents?.type?.repr:i.value?.type?.repr,a=i.value?.__typename==="MoveObject",c=a?`0x2::dynamic_object_field::Wrapper<${i.name?.type?.repr}>`:i.name?.type?.repr,u;if(e){let d;i.value?.__typename==="MoveValue"?d=le(i.value.bcs??""):i.value?.__typename==="MoveObject"?d=le(i.value.contents?.bcs??""):d=new Uint8Array,u={type:o,bcs:d}}return{$kind:a?"DynamicObject":"DynamicField",fieldId:rs(t.parentId,c,le(i.name?.bcs)),type:Be(a?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${i.name?.type?.repr}>,0x2::object::ID>`:`0x2::dynamic_field::Field<${i.name?.type?.repr},${o}>`),name:{type:i.name?.type?.repr,bcs:le(i.name?.bcs)},valueType:o,childId:a&&i.value?.__typename==="MoveObject"?i.value.address:void 0,value:e?u:void 0}}),cursor:s.pageInfo.endCursor??null,hasNextPage:s.pageInfo.hasNextPage}}getDynamicField(t){return this.core.getDynamicField(t)}getMoveFunction(t){return this.core.getMoveFunction(t)}resolveTransactionPlugin(){return this.core.resolveTransactionPlugin()}verifyZkLoginSignature(t){return this.core.verifyZkLoginSignature(t)}defaultNameServiceName(t){return this.core.defaultNameServiceName(t)}};var Rl=class extends Error{constructor(e,n){super(e),this.name="ParseError",this.type=n.type,this.field=n.field,this.value=n.value,this.line=n.line}};function zh(t){}function O_(t){if(typeof t=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:e=zh,onError:n=zh,onRetry:r=zh,onComment:s}=t,i="",o=!0,a,c="",u="";function d(_){let T=o?_.replace(/^\xEF\xBB\xBF/,""):_,[O,B]=m6(`${i}${T}`);for(let C of O)f(C);i=B,o=!1}function f(_){if(_===""){m();return}if(_.startsWith(":")){s&&s(_.slice(_.startsWith(": ")?2:1));return}let T=_.indexOf(":");if(T!==-1){let O=_.slice(0,T),B=_[T+1]===" "?2:1,C=_.slice(T+B);p(O,C,_);return}p(_,"",_)}function p(_,T,O){switch(_){case"event":u=T;break;case"data":c=`${c}${T}
843
+ `;break;case"id":a=T.includes("\0")?void 0:T;break;case"retry":/^\d+$/.test(T)?r(parseInt(T,10)):n(new Rl(`Invalid \`retry\` value: "${T}"`,{type:"invalid-retry",value:T,line:O}));break;default:n(new Rl(`Unknown field "${_.length>20?`${_.slice(0,20)}\u2026`:_}"`,{type:"unknown-field",field:_,value:T,line:O}));break}}function m(){c.length>0&&e({id:a,event:u||void 0,data:c.endsWith(`
844
+ `)?c.slice(0,-1):c}),a=void 0,c="",u=""}function b(_={}){i&&_.consume&&f(i),o=!0,a=void 0,c="",u="",i=""}return{feed:d,reset:b}}function m6(t){let e=[],n="",r=0;for(;r<t.length;){let s=t.indexOf("\r",r),i=t.indexOf(`
845
845
  `,r),o=-1;if(s!==-1&&i!==-1?o=Math.min(s,i):s!==-1?s===t.length-1?o=-1:o=s:i!==-1&&(o=i),o===-1){n=t.slice(r);break}else{let a=t.slice(r,o);e.push(a),r=o+1,t[r-1]==="\r"&&t[r]===`
846
- `&&r++}}return[e,n]}var Fl=class extends Event{constructor(e,n){var r,s;super(e),this.code=(r=n?.code)!=null?r:void 0,this.message=(s=n?.message)!=null?s:void 0}[Symbol.for("nodejs.util.inspect.custom")](e,n,r){return r(Wv(this),n)}[Symbol.for("Deno.customInspect")](e,n){return e(Wv(this),n)}};function M6(t){let e=globalThis.DOMException;return typeof e=="function"?new e(t,"SyntaxError"):new SyntaxError(t)}function nm(t){return t instanceof Error?"errors"in t&&Array.isArray(t.errors)?t.errors.map(nm).join(", "):"cause"in t&&t.cause instanceof Error?`${t}: ${nm(t.cause)}`:t.message:`${t}`}function Wv(t){return{type:t.type,message:t.message,code:t.code,defaultPrevented:t.defaultPrevented,cancelable:t.cancelable,timeStamp:t.timeStamp}}var Jv=t=>{throw TypeError(t)},lm=(t,e,n)=>e.has(t)||Jv("Cannot "+n),Ce=(t,e,n)=>(lm(t,e,"read from private field"),n?n.call(t):e.get(t)),Yt=(t,e,n)=>e.has(t)?Jv("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),Xe=(t,e,n,r)=>(lm(t,e,"write to private field"),e.set(t,n),n),ks=(t,e,n)=>(lm(t,e,"access private method"),n),Pn,Qi,ea,Vl,ql,Cc,ra,Nc,ai,ta,sa,na,Ic,Or,rm,sm,im,Zv,om,am,Ac,cm,um,eo=class extends EventTarget{constructor(e,n){var r,s;super(),Yt(this,Or),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,Yt(this,Pn),Yt(this,Qi),Yt(this,ea),Yt(this,Vl),Yt(this,ql),Yt(this,Cc),Yt(this,ra),Yt(this,Nc,null),Yt(this,ai),Yt(this,ta),Yt(this,sa,null),Yt(this,na,null),Yt(this,Ic,null),Yt(this,sm,async i=>{var o;Ce(this,ta).reset();let{body:a,redirected:c,status:u,headers:d}=i;if(u===204){ks(this,Or,Ac).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if(c?Xe(this,ea,new URL(i.url)):Xe(this,ea,void 0),u!==200){ks(this,Or,Ac).call(this,`Non-200 status code (${u})`,u);return}if(!(d.get("content-type")||"").startsWith("text/event-stream")){ks(this,Or,Ac).call(this,'Invalid content type, expected "text/event-stream"',u);return}if(Ce(this,Pn)===this.CLOSED)return;Xe(this,Pn,this.OPEN);let f=new Event("open");if((o=Ce(this,Ic))==null||o.call(this,f),this.dispatchEvent(f),typeof a!="object"||!a||!("getReader"in a)){ks(this,Or,Ac).call(this,"Invalid response body, expected a web ReadableStream",u),this.close();return}let p=new TextDecoder,m=a.getReader(),b=!0;do{let{done:v,value:T}=await m.read();T&&Ce(this,ta).feed(p.decode(T,{stream:!v})),v&&(b=!1,Ce(this,ta).reset(),ks(this,Or,cm).call(this))}while(b)}),Yt(this,im,i=>{Xe(this,ai,void 0),!(i.name==="AbortError"||i.type==="aborted")&&ks(this,Or,cm).call(this,nm(i))}),Yt(this,om,i=>{typeof i.id=="string"&&Xe(this,Nc,i.id);let o=new MessageEvent(i.event||"message",{data:i.data,origin:Ce(this,ea)?Ce(this,ea).origin:Ce(this,Qi).origin,lastEventId:i.id||""});Ce(this,na)&&(!i.event||i.event==="message")&&Ce(this,na).call(this,o),this.dispatchEvent(o)}),Yt(this,am,i=>{Xe(this,Cc,i)}),Yt(this,um,()=>{Xe(this,ra,void 0),Ce(this,Pn)===this.CONNECTING&&ks(this,Or,rm).call(this)});try{if(e instanceof URL)Xe(this,Qi,e);else if(typeof e=="string")Xe(this,Qi,new URL(e,j6()));else throw new Error("Invalid URL")}catch{throw M6("An invalid or illegal string was specified")}Xe(this,ta,zv({onEvent:Ce(this,om),onRetry:Ce(this,am)})),Xe(this,Pn,this.CONNECTING),Xe(this,Cc,3e3),Xe(this,ql,(r=n?.fetch)!=null?r:globalThis.fetch),Xe(this,Vl,(s=n?.withCredentials)!=null?s:!1),ks(this,Or,rm).call(this)}get readyState(){return Ce(this,Pn)}get url(){return Ce(this,Qi).href}get withCredentials(){return Ce(this,Vl)}get onerror(){return Ce(this,sa)}set onerror(e){Xe(this,sa,e)}get onmessage(){return Ce(this,na)}set onmessage(e){Xe(this,na,e)}get onopen(){return Ce(this,Ic)}set onopen(e){Xe(this,Ic,e)}addEventListener(e,n,r){let s=n;super.addEventListener(e,s,r)}removeEventListener(e,n,r){let s=n;super.removeEventListener(e,s,r)}close(){Ce(this,ra)&&clearTimeout(Ce(this,ra)),Ce(this,Pn)!==this.CLOSED&&(Ce(this,ai)&&Ce(this,ai).abort(),Xe(this,Pn,this.CLOSED),Xe(this,ai,void 0))}};Pn=new WeakMap,Qi=new WeakMap,ea=new WeakMap,Vl=new WeakMap,ql=new WeakMap,Cc=new WeakMap,ra=new WeakMap,Nc=new WeakMap,ai=new WeakMap,ta=new WeakMap,sa=new WeakMap,na=new WeakMap,Ic=new WeakMap,Or=new WeakSet,rm=function(){Xe(this,Pn,this.CONNECTING),Xe(this,ai,new AbortController),Ce(this,ql)(Ce(this,Qi),ks(this,Or,Zv).call(this)).then(Ce(this,sm)).catch(Ce(this,im))},sm=new WeakMap,im=new WeakMap,Zv=function(){var t;let e={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...Ce(this,Nc)?{"Last-Event-ID":Ce(this,Nc)}:void 0},cache:"no-store",signal:(t=Ce(this,ai))==null?void 0:t.signal};return"window"in globalThis&&(e.credentials=this.withCredentials?"include":"same-origin"),e},om=new WeakMap,am=new WeakMap,Ac=function(t,e){var n;Ce(this,Pn)!==this.CLOSED&&Xe(this,Pn,this.CLOSED);let r=new Fl("error",{code:e,message:t});(n=Ce(this,sa))==null||n.call(this,r),this.dispatchEvent(r)},cm=function(t,e){var n;if(Ce(this,Pn)===this.CLOSED)return;Xe(this,Pn,this.CONNECTING);let r=new Fl("error",{code:e,message:t});(n=Ce(this,sa))==null||n.call(this,r),this.dispatchEvent(r),Xe(this,ra,setTimeout(Ce(this,um),Ce(this,Cc)))},um=new WeakMap,eo.CONNECTING=0,eo.OPEN=1,eo.CLOSED=2;function j6(){let t="document"in globalThis?globalThis.document:void 0;return t&&typeof t=="object"&&"baseURI"in t&&typeof t.baseURI=="string"?t.baseURI:void 0}function D6(t){return t.replaceAll(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function Rc(t){let e={};for(let n of Object.keys(t)){let r=D6(n),s=t[n];e[r]=s}return e}import W4,{AxiosError as Dz}from"axios";var pe={};gT(pe,{BRAND:()=>c4,DIRTY:()=>to,EMPTY_PATH:()=>V6,INVALID:()=>be,NEVER:()=>z4,OK:()=>vn,ParseStatus:()=>Xt,Schema:()=>Ie,ZodAny:()=>li,ZodArray:()=>Jn,ZodBigInt:()=>Jr,ZodBoolean:()=>no,ZodBranded:()=>Mc,ZodCatch:()=>po,ZodDate:()=>Os,ZodDefault:()=>fo,ZodDiscriminatedUnion:()=>la,ZodEffects:()=>lr,ZodEnum:()=>Kr,ZodError:()=>wn,ZodFirstPartyTypeKind:()=>_e,ZodFunction:()=>ui,ZodIntersection:()=>oo,ZodIssueCode:()=>W,ZodLazy:()=>co,ZodLiteral:()=>uo,ZodMap:()=>da,ZodNaN:()=>fa,ZodNativeEnum:()=>lo,ZodNever:()=>Ir,ZodNull:()=>so,ZodNullable:()=>Yr,ZodNumber:()=>Zr,ZodObject:()=>Je,ZodOptional:()=>ar,ZodParsedType:()=>oe,ZodPipeline:()=>ho,ZodPromise:()=>di,ZodReadonly:()=>mo,ZodRecord:()=>ao,ZodSchema:()=>Ie,ZodSet:()=>Is,ZodString:()=>Zn,ZodSymbol:()=>ca,ZodTransformer:()=>lr,ZodTuple:()=>ur,ZodType:()=>Ie,ZodUndefined:()=>ro,ZodUnion:()=>io,ZodUnknown:()=>xs,ZodVoid:()=>ua,addIssueToContext:()=>ne,any:()=>y4,array:()=>_4,bigint:()=>f4,boolean:()=>o_,coerce:()=>H4,custom:()=>r_,date:()=>p4,datetimeRegex:()=>t_,defaultErrorMap:()=>Es,discriminatedUnion:()=>S4,effect:()=>U4,enum:()=>M4,function:()=>N4,getErrorMap:()=>ia,getParsedType:()=>Wr,instanceof:()=>l4,intersection:()=>x4,isAborted:()=>$l,isAsync:()=>oa,isDirty:()=>Gl,isValid:()=>ci,late:()=>u4,lazy:()=>R4,literal:()=>B4,makeIssue:()=>Bc,map:()=>A4,nan:()=>d4,nativeEnum:()=>j4,never:()=>w4,null:()=>g4,nullable:()=>L4,number:()=>i_,object:()=>T4,objectUtil:()=>dm,oboolean:()=>G4,onumber:()=>$4,optional:()=>P4,ostring:()=>q4,pipeline:()=>F4,preprocess:()=>V4,promise:()=>D4,quotelessJson:()=>U6,record:()=>I4,set:()=>C4,setErrorMap:()=>L6,strictObject:()=>k4,string:()=>s_,symbol:()=>h4,transformer:()=>U4,tuple:()=>O4,undefined:()=>m4,union:()=>E4,unknown:()=>b4,util:()=>Ne,void:()=>v4});var Ne;(function(t){t.assertEqual=s=>{};function e(s){}t.assertIs=e;function n(s){throw new Error}t.assertNever=n,t.arrayToEnum=s=>{let i={};for(let o of s)i[o]=o;return i},t.getValidEnumValues=s=>{let i=t.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),o={};for(let a of i)o[a]=s[a];return t.objectValues(o)},t.objectValues=s=>t.objectKeys(s).map(function(i){return s[i]}),t.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let i=[];for(let o in s)Object.prototype.hasOwnProperty.call(s,o)&&i.push(o);return i},t.find=(s,i)=>{for(let o of s)if(i(o))return o},t.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,i=" | "){return s.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}t.joinValues=r,t.jsonStringifyReplacer=(s,i)=>typeof i=="bigint"?i.toString():i})(Ne||(Ne={}));var dm;(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(dm||(dm={}));var oe=Ne.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Wr=t=>{switch(typeof t){case"undefined":return oe.undefined;case"string":return oe.string;case"number":return Number.isNaN(t)?oe.nan:oe.number;case"boolean":return oe.boolean;case"function":return oe.function;case"bigint":return oe.bigint;case"symbol":return oe.symbol;case"object":return Array.isArray(t)?oe.array:t===null?oe.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?oe.promise:typeof Map<"u"&&t instanceof Map?oe.map:typeof Set<"u"&&t instanceof Set?oe.set:typeof Date<"u"&&t instanceof Date?oe.date:oe.object;default:return oe.unknown}};var W=Ne.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),U6=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),wn=class extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){let n=e||function(i){return i.message},r={_errors:[]},s=i=>{for(let o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(s);else if(o.code==="invalid_return_type")s(o.returnTypeError);else if(o.code==="invalid_arguments")s(o.argumentsError);else if(o.path.length===0)r._errors.push(n(o));else{let a=r,c=0;for(;c<o.path.length;){let u=o.path[c];c===o.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(n(o))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return s(this),r}static assert(e){if(!(e instanceof wn))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Ne.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let i=s.path[0];n[i]=n[i]||[],n[i].push(e(s))}else r.push(e(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};wn.create=t=>new wn(t);var P6=(t,e)=>{let n;switch(t.code){case W.invalid_type:t.received===oe.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case W.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,Ne.jsonStringifyReplacer)}`;break;case W.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ne.joinValues(t.keys,", ")}`;break;case W.invalid_union:n="Invalid input";break;case W.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ne.joinValues(t.options)}`;break;case W.invalid_enum_value:n=`Invalid enum value. Expected ${Ne.joinValues(t.options)}, received '${t.received}'`;break;case W.invalid_arguments:n="Invalid function arguments";break;case W.invalid_return_type:n="Invalid function return type";break;case W.invalid_date:n="Invalid date";break;case W.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:Ne.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case W.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case W.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case W.custom:n="Invalid input";break;case W.invalid_intersection_types:n="Intersection results could not be merged";break;case W.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case W.not_finite:n="Number must be finite";break;default:n=e.defaultError,Ne.assertNever(t)}return{message:n}},Es=P6;var Kv=Es;function L6(t){Kv=t}function ia(){return Kv}var Bc=t=>{let{data:e,path:n,errorMaps:r,issueData:s}=t,i=[...n,...s.path||[]],o={...s,path:i};if(s.message!==void 0)return{...s,path:i,message:s.message};let a="",c=r.filter(u=>!!u).slice().reverse();for(let u of c)a=u(o,{data:e,defaultError:a}).message;return{...s,path:i,message:a}},V6=[];function ne(t,e){let n=ia(),r=Bc({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===Es?void 0:Es].filter(s=>!!s)});t.common.issues.push(r)}var Xt=class{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){let r=[];for(let s of n){if(s.status==="aborted")return be;s.status==="dirty"&&e.dirty(),r.push(s.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){let r=[];for(let s of n){let i=await s.key,o=await s.value;r.push({key:i,value:o})}return Xt.mergeObjectSync(e,r)}static mergeObjectSync(e,n){let r={};for(let s of n){let{key:i,value:o}=s;if(i.status==="aborted"||o.status==="aborted")return be;i.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||s.alwaysSet)&&(r[i.value]=o.value)}return{status:e.value,value:r}}},be=Object.freeze({status:"aborted"}),to=t=>({status:"dirty",value:t}),vn=t=>({status:"valid",value:t}),$l=t=>t.status==="aborted",Gl=t=>t.status==="dirty",ci=t=>t.status==="valid",oa=t=>typeof Promise<"u"&&t instanceof Promise;var le;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(le||(le={}));var cr=class{constructor(e,n,r,s){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Yv=(t,e)=>{if(ci(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new wn(t.common.issues);return this._error=n,this._error}}};function xe(t){if(!t)return{};let{errorMap:e,invalid_type_error:n,required_error:r,description:s}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(o,a)=>{let{message:c}=t;return o.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??r??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:c??n??a.defaultError}},description:s}}var Ie=class{get description(){return this._def.description}_getType(e){return Wr(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:Wr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Xt,ctx:{common:e.parent.common,data:e.data,parsedType:Wr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(oa(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){let n=this._parse(e);return Promise.resolve(n)}parse(e,n){let r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Wr(e)},s=this._parseSync({data:e,path:r.path,parent:r});return Yv(r,s)}"~validate"(e){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Wr(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:n});return ci(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(r=>ci(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(e,n){let r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Wr(e)},s=this._parse({data:e,path:r.path,parent:r}),i=await(oa(s)?s:Promise.resolve(s));return Yv(r,i)}refine(e,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,i)=>{let o=e(s),a=()=>i.addIssue({code:W.custom,...r(s)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(e,n){return this._refinement((r,s)=>e(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(e){return new lr({schema:this,typeName:_e.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return ar.create(this,this._def)}nullable(){return Yr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Jn.create(this)}promise(){return di.create(this,this._def)}or(e){return io.create([this,e],this._def)}and(e){return oo.create(this,e,this._def)}transform(e){return new lr({...xe(this._def),schema:this,typeName:_e.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new fo({...xe(this._def),innerType:this,defaultValue:n,typeName:_e.ZodDefault})}brand(){return new Mc({typeName:_e.ZodBranded,type:this,...xe(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new po({...xe(this._def),innerType:this,catchValue:n,typeName:_e.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return ho.create(this,e)}readonly(){return mo.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},F6=/^c[^\s-]{8,}$/i,q6=/^[0-9a-z]+$/,$6=/^[0-9A-HJKMNP-TV-Z]{26}$/i,G6=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,H6=/^[a-z0-9_-]{21}$/i,z6=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,W6=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Z6=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,J6="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",fm,K6=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Y6=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,X6=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Q6=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,e4=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,t4=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Qv="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",n4=new RegExp(`^${Qv}$`);function e_(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}function r4(t){return new RegExp(`^${e_(t)}$`)}function t_(t){let e=`${Qv}T${e_(t)}`,n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function s4(t,e){return!!((e==="v4"||!e)&&K6.test(t)||(e==="v6"||!e)&&X6.test(t))}function i4(t,e){if(!z6.test(t))return!1;try{let[n]=t.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||e&&s.alg!==e)}catch{return!1}}function o4(t,e){return!!((e==="v4"||!e)&&Y6.test(t)||(e==="v6"||!e)&&Q6.test(t))}var Zn=class extends Ie{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==oe.string){let i=this._getOrReturnCtx(e);return ne(i,{code:W.invalid_type,expected:oe.string,received:i.parsedType}),be}let r=new Xt,s;for(let i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(s=this._getOrReturnCtx(e,s),ne(s,{code:W.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="max")e.data.length>i.value&&(s=this._getOrReturnCtx(e,s),ne(s,{code:W.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="length"){let o=e.data.length>i.value,a=e.data.length<i.value;(o||a)&&(s=this._getOrReturnCtx(e,s),o?ne(s,{code:W.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&ne(s,{code:W.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),r.dirty())}else if(i.kind==="email")Z6.test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"email",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="emoji")fm||(fm=new RegExp(J6,"u")),fm.test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"emoji",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="uuid")G6.test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"uuid",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="nanoid")H6.test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"nanoid",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid")F6.test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"cuid",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid2")q6.test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"cuid2",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="ulid")$6.test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"ulid",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),ne(s,{validation:"url",code:W.invalid_string,message:i.message}),r.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"regex",code:W.invalid_string,message:i.message}),r.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(s=this._getOrReturnCtx(e,s),ne(s,{code:W.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),r.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(s=this._getOrReturnCtx(e,s),ne(s,{code:W.invalid_string,validation:{startsWith:i.value},message:i.message}),r.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(s=this._getOrReturnCtx(e,s),ne(s,{code:W.invalid_string,validation:{endsWith:i.value},message:i.message}),r.dirty()):i.kind==="datetime"?t_(i).test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{code:W.invalid_string,validation:"datetime",message:i.message}),r.dirty()):i.kind==="date"?n4.test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{code:W.invalid_string,validation:"date",message:i.message}),r.dirty()):i.kind==="time"?r4(i).test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{code:W.invalid_string,validation:"time",message:i.message}),r.dirty()):i.kind==="duration"?W6.test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"duration",code:W.invalid_string,message:i.message}),r.dirty()):i.kind==="ip"?s4(e.data,i.version)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"ip",code:W.invalid_string,message:i.message}),r.dirty()):i.kind==="jwt"?i4(e.data,i.alg)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"jwt",code:W.invalid_string,message:i.message}),r.dirty()):i.kind==="cidr"?o4(e.data,i.version)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"cidr",code:W.invalid_string,message:i.message}),r.dirty()):i.kind==="base64"?e4.test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"base64",code:W.invalid_string,message:i.message}),r.dirty()):i.kind==="base64url"?t4.test(e.data)||(s=this._getOrReturnCtx(e,s),ne(s,{validation:"base64url",code:W.invalid_string,message:i.message}),r.dirty()):Ne.assertNever(i);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(s=>e.test(s),{validation:n,code:W.invalid_string,...le.errToObj(r)})}_addCheck(e){return new Zn({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...le.errToObj(e)})}url(e){return this._addCheck({kind:"url",...le.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...le.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...le.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...le.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...le.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...le.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...le.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...le.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...le.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...le.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...le.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...le.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...le.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...le.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...le.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...le.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n?.position,...le.errToObj(n?.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...le.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...le.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...le.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...le.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...le.errToObj(n)})}nonempty(e){return this.min(1,le.errToObj(e))}trim(){return new Zn({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Zn({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Zn({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};Zn.create=t=>new Zn({checks:[],typeName:_e.ZodString,coerce:t?.coerce??!1,...xe(t)});function a4(t,e){let n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,s=n>r?n:r,i=Number.parseInt(t.toFixed(s).replace(".","")),o=Number.parseInt(e.toFixed(s).replace(".",""));return i%o/10**s}var Zr=class extends Ie{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==oe.number){let i=this._getOrReturnCtx(e);return ne(i,{code:W.invalid_type,expected:oe.number,received:i.parsedType}),be}let r,s=new Xt;for(let i of this._def.checks)i.kind==="int"?Ne.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{code:W.invalid_type,expected:"integer",received:"float",message:i.message}),s.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),ne(r,{code:W.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),ne(r,{code:W.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="multipleOf"?a4(e.data,i.value)!==0&&(r=this._getOrReturnCtx(e,r),ne(r,{code:W.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{code:W.not_finite,message:i.message}),s.dirty()):Ne.assertNever(i);return{status:s.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,le.toString(n))}gt(e,n){return this.setLimit("min",e,!1,le.toString(n))}lte(e,n){return this.setLimit("max",e,!0,le.toString(n))}lt(e,n){return this.setLimit("max",e,!1,le.toString(n))}setLimit(e,n,r,s){return new Zr({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:le.toString(s)}]})}_addCheck(e){return new Zr({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:le.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:le.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:le.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:le.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:le.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:le.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:le.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:le.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:le.toString(e)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&Ne.isInteger(e.value))}get isFinite(){let e=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}};Zr.create=t=>new Zr({checks:[],typeName:_e.ZodNumber,coerce:t?.coerce||!1,...xe(t)});var Jr=class extends Ie{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==oe.bigint)return this._getInvalidInput(e);let r,s=new Xt;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),ne(r,{code:W.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),ne(r,{code:W.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),ne(r,{code:W.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):Ne.assertNever(i);return{status:s.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return ne(n,{code:W.invalid_type,expected:oe.bigint,received:n.parsedType}),be}gte(e,n){return this.setLimit("min",e,!0,le.toString(n))}gt(e,n){return this.setLimit("min",e,!1,le.toString(n))}lte(e,n){return this.setLimit("max",e,!0,le.toString(n))}lt(e,n){return this.setLimit("max",e,!1,le.toString(n))}setLimit(e,n,r,s){return new Jr({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:le.toString(s)}]})}_addCheck(e){return new Jr({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:le.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:le.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:le.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:le.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:le.toString(n)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};Jr.create=t=>new Jr({checks:[],typeName:_e.ZodBigInt,coerce:t?.coerce??!1,...xe(t)});var no=class extends Ie{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==oe.boolean){let r=this._getOrReturnCtx(e);return ne(r,{code:W.invalid_type,expected:oe.boolean,received:r.parsedType}),be}return vn(e.data)}};no.create=t=>new no({typeName:_e.ZodBoolean,coerce:t?.coerce||!1,...xe(t)});var Os=class extends Ie{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==oe.date){let i=this._getOrReturnCtx(e);return ne(i,{code:W.invalid_type,expected:oe.date,received:i.parsedType}),be}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return ne(i,{code:W.invalid_date}),be}let r=new Xt,s;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(s=this._getOrReturnCtx(e,s),ne(s,{code:W.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),r.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(s=this._getOrReturnCtx(e,s),ne(s,{code:W.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),r.dirty()):Ne.assertNever(i);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Os({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:le.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:le.toString(n)})}get minDate(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}};Os.create=t=>new Os({checks:[],coerce:t?.coerce||!1,typeName:_e.ZodDate,...xe(t)});var ca=class extends Ie{_parse(e){if(this._getType(e)!==oe.symbol){let r=this._getOrReturnCtx(e);return ne(r,{code:W.invalid_type,expected:oe.symbol,received:r.parsedType}),be}return vn(e.data)}};ca.create=t=>new ca({typeName:_e.ZodSymbol,...xe(t)});var ro=class extends Ie{_parse(e){if(this._getType(e)!==oe.undefined){let r=this._getOrReturnCtx(e);return ne(r,{code:W.invalid_type,expected:oe.undefined,received:r.parsedType}),be}return vn(e.data)}};ro.create=t=>new ro({typeName:_e.ZodUndefined,...xe(t)});var so=class extends Ie{_parse(e){if(this._getType(e)!==oe.null){let r=this._getOrReturnCtx(e);return ne(r,{code:W.invalid_type,expected:oe.null,received:r.parsedType}),be}return vn(e.data)}};so.create=t=>new so({typeName:_e.ZodNull,...xe(t)});var li=class extends Ie{constructor(){super(...arguments),this._any=!0}_parse(e){return vn(e.data)}};li.create=t=>new li({typeName:_e.ZodAny,...xe(t)});var xs=class extends Ie{constructor(){super(...arguments),this._unknown=!0}_parse(e){return vn(e.data)}};xs.create=t=>new xs({typeName:_e.ZodUnknown,...xe(t)});var Ir=class extends Ie{_parse(e){let n=this._getOrReturnCtx(e);return ne(n,{code:W.invalid_type,expected:oe.never,received:n.parsedType}),be}};Ir.create=t=>new Ir({typeName:_e.ZodNever,...xe(t)});var ua=class extends Ie{_parse(e){if(this._getType(e)!==oe.undefined){let r=this._getOrReturnCtx(e);return ne(r,{code:W.invalid_type,expected:oe.void,received:r.parsedType}),be}return vn(e.data)}};ua.create=t=>new ua({typeName:_e.ZodVoid,...xe(t)});var Jn=class extends Ie{_parse(e){let{ctx:n,status:r}=this._processInputParams(e),s=this._def;if(n.parsedType!==oe.array)return ne(n,{code:W.invalid_type,expected:oe.array,received:n.parsedType}),be;if(s.exactLength!==null){let o=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(o||a)&&(ne(n,{code:o?W.too_big:W.too_small,minimum:a?s.exactLength.value:void 0,maximum:o?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(ne(n,{code:W.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(ne(n,{code:W.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((o,a)=>s.type._parseAsync(new cr(n,o,n.path,a)))).then(o=>Xt.mergeArray(r,o));let i=[...n.data].map((o,a)=>s.type._parseSync(new cr(n,o,n.path,a)));return Xt.mergeArray(r,i)}get element(){return this._def.type}min(e,n){return new Jn({...this._def,minLength:{value:e,message:le.toString(n)}})}max(e,n){return new Jn({...this._def,maxLength:{value:e,message:le.toString(n)}})}length(e,n){return new Jn({...this._def,exactLength:{value:e,message:le.toString(n)}})}nonempty(e){return this.min(1,e)}};Jn.create=(t,e)=>new Jn({type:t,minLength:null,maxLength:null,exactLength:null,typeName:_e.ZodArray,...xe(e)});function aa(t){if(t instanceof Je){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=ar.create(aa(r))}return new Je({...t._def,shape:()=>e})}else return t instanceof Jn?new Jn({...t._def,type:aa(t.element)}):t instanceof ar?ar.create(aa(t.unwrap())):t instanceof Yr?Yr.create(aa(t.unwrap())):t instanceof ur?ur.create(t.items.map(e=>aa(e))):t}var Je=class extends Ie{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=Ne.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==oe.object){let u=this._getOrReturnCtx(e);return ne(u,{code:W.invalid_type,expected:oe.object,received:u.parsedType}),be}let{status:r,ctx:s}=this._processInputParams(e),{shape:i,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ir&&this._def.unknownKeys==="strip"))for(let u in s.data)o.includes(u)||a.push(u);let c=[];for(let u of o){let d=i[u],f=s.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new cr(s,f,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof Ir){let u=this._def.unknownKeys;if(u==="passthrough")for(let d of a)c.push({key:{status:"valid",value:d},value:{status:"valid",value:s.data[d]}});else if(u==="strict")a.length>0&&(ne(s,{code:W.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let d of a){let f=s.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new cr(s,f,s.path,d)),alwaysSet:d in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let u=[];for(let d of c){let f=await d.key,p=await d.value;u.push({key:f,value:p,alwaysSet:d.alwaysSet})}return u}).then(u=>Xt.mergeObjectSync(r,u)):Xt.mergeObjectSync(r,c)}get shape(){return this._def.shape()}strict(e){return le.errToObj,new Je({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:le.errToObj(e).message??s}:{message:s}}}:{}})}strip(){return new Je({...this._def,unknownKeys:"strip"})}passthrough(){return new Je({...this._def,unknownKeys:"passthrough"})}extend(e){return new Je({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Je({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:_e.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new Je({...this._def,catchall:e})}pick(e){let n={};for(let r of Ne.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new Je({...this._def,shape:()=>n})}omit(e){let n={};for(let r of Ne.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new Je({...this._def,shape:()=>n})}deepPartial(){return aa(this)}partial(e){let n={};for(let r of Ne.objectKeys(this.shape)){let s=this.shape[r];e&&!e[r]?n[r]=s:n[r]=s.optional()}return new Je({...this._def,shape:()=>n})}required(e){let n={};for(let r of Ne.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let i=this.shape[r];for(;i instanceof ar;)i=i._def.innerType;n[r]=i}return new Je({...this._def,shape:()=>n})}keyof(){return n_(Ne.objectKeys(this.shape))}};Je.create=(t,e)=>new Je({shape:()=>t,unknownKeys:"strip",catchall:Ir.create(),typeName:_e.ZodObject,...xe(e)});Je.strictCreate=(t,e)=>new Je({shape:()=>t,unknownKeys:"strict",catchall:Ir.create(),typeName:_e.ZodObject,...xe(e)});Je.lazycreate=(t,e)=>new Je({shape:t,unknownKeys:"strip",catchall:Ir.create(),typeName:_e.ZodObject,...xe(e)});var io=class extends Ie{_parse(e){let{ctx:n}=this._processInputParams(e),r=this._def.options;function s(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let o=i.map(a=>new wn(a.ctx.common.issues));return ne(n,{code:W.invalid_union,unionErrors:o}),be}if(n.common.async)return Promise.all(r.map(async i=>{let o={...n,common:{...n.common,issues:[]},parent:null};return{result:await i._parseAsync({data:n.data,path:n.path,parent:o}),ctx:o}})).then(s);{let i,o=[];for(let c of r){let u={...n,common:{...n.common,issues:[]},parent:null},d=c._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!i&&(i={result:d,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(i)return n.common.issues.push(...i.ctx.common.issues),i.result;let a=o.map(c=>new wn(c));return ne(n,{code:W.invalid_union,unionErrors:a}),be}}get options(){return this._def.options}};io.create=(t,e)=>new io({options:t,typeName:_e.ZodUnion,...xe(e)});var Ss=t=>t instanceof co?Ss(t.schema):t instanceof lr?Ss(t.innerType()):t instanceof uo?[t.value]:t instanceof Kr?t.options:t instanceof lo?Ne.objectValues(t.enum):t instanceof fo?Ss(t._def.innerType):t instanceof ro?[void 0]:t instanceof so?[null]:t instanceof ar?[void 0,...Ss(t.unwrap())]:t instanceof Yr?[null,...Ss(t.unwrap())]:t instanceof Mc||t instanceof mo?Ss(t.unwrap()):t instanceof po?Ss(t._def.innerType):[],la=class extends Ie{_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==oe.object)return ne(n,{code:W.invalid_type,expected:oe.object,received:n.parsedType}),be;let r=this.discriminator,s=n.data[r],i=this.optionsMap.get(s);return i?n.common.async?i._parseAsync({data:n.data,path:n.path,parent:n}):i._parseSync({data:n.data,path:n.path,parent:n}):(ne(n,{code:W.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),be)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){let s=new Map;for(let i of n){let o=Ss(i.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of o){if(s.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);s.set(a,i)}}return new la({typeName:_e.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:s,...xe(r)})}};function pm(t,e){let n=Wr(t),r=Wr(e);if(t===e)return{valid:!0,data:t};if(n===oe.object&&r===oe.object){let s=Ne.objectKeys(e),i=Ne.objectKeys(t).filter(a=>s.indexOf(a)!==-1),o={...t,...e};for(let a of i){let c=pm(t[a],e[a]);if(!c.valid)return{valid:!1};o[a]=c.data}return{valid:!0,data:o}}else if(n===oe.array&&r===oe.array){if(t.length!==e.length)return{valid:!1};let s=[];for(let i=0;i<t.length;i++){let o=t[i],a=e[i],c=pm(o,a);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return n===oe.date&&r===oe.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var oo=class extends Ie{_parse(e){let{status:n,ctx:r}=this._processInputParams(e),s=(i,o)=>{if($l(i)||$l(o))return be;let a=pm(i.value,o.value);return a.valid?((Gl(i)||Gl(o))&&n.dirty(),{status:n.value,value:a.data}):(ne(r,{code:W.invalid_intersection_types}),be)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([i,o])=>s(i,o)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};oo.create=(t,e,n)=>new oo({left:t,right:e,typeName:_e.ZodIntersection,...xe(n)});var ur=class extends Ie{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==oe.array)return ne(r,{code:W.invalid_type,expected:oe.array,received:r.parsedType}),be;if(r.data.length<this._def.items.length)return ne(r,{code:W.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),be;!this._def.rest&&r.data.length>this._def.items.length&&(ne(r,{code:W.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let i=[...r.data].map((o,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new cr(r,o,r.path,a)):null}).filter(o=>!!o);return r.common.async?Promise.all(i).then(o=>Xt.mergeArray(n,o)):Xt.mergeArray(n,i)}get items(){return this._def.items}rest(e){return new ur({...this._def,rest:e})}};ur.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ur({items:t,typeName:_e.ZodTuple,rest:null,...xe(e)})};var ao=class extends Ie{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==oe.object)return ne(r,{code:W.invalid_type,expected:oe.object,received:r.parsedType}),be;let s=[],i=this._def.keyType,o=this._def.valueType;for(let a in r.data)s.push({key:i._parse(new cr(r,a,r.path,a)),value:o._parse(new cr(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Xt.mergeObjectAsync(n,s):Xt.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof Ie?new ao({keyType:e,valueType:n,typeName:_e.ZodRecord,...xe(r)}):new ao({keyType:Zn.create(),valueType:e,typeName:_e.ZodRecord,...xe(n)})}},da=class extends Ie{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==oe.map)return ne(r,{code:W.invalid_type,expected:oe.map,received:r.parsedType}),be;let s=this._def.keyType,i=this._def.valueType,o=[...r.data.entries()].map(([a,c],u)=>({key:s._parse(new cr(r,a,r.path,[u,"key"])),value:i._parse(new cr(r,c,r.path,[u,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of o){let u=await c.key,d=await c.value;if(u.status==="aborted"||d.status==="aborted")return be;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let c of o){let u=c.key,d=c.value;if(u.status==="aborted"||d.status==="aborted")return be;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}};da.create=(t,e,n)=>new da({valueType:e,keyType:t,typeName:_e.ZodMap,...xe(n)});var Is=class extends Ie{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==oe.set)return ne(r,{code:W.invalid_type,expected:oe.set,received:r.parsedType}),be;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(ne(r,{code:W.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(ne(r,{code:W.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let i=this._def.valueType;function o(c){let u=new Set;for(let d of c){if(d.status==="aborted")return be;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}let a=[...r.data.values()].map((c,u)=>i._parse(new cr(r,c,r.path,u)));return r.common.async?Promise.all(a).then(c=>o(c)):o(a)}min(e,n){return new Is({...this._def,minSize:{value:e,message:le.toString(n)}})}max(e,n){return new Is({...this._def,maxSize:{value:e,message:le.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};Is.create=(t,e)=>new Is({valueType:t,minSize:null,maxSize:null,typeName:_e.ZodSet,...xe(e)});var ui=class extends Ie{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==oe.function)return ne(n,{code:W.invalid_type,expected:oe.function,received:n.parsedType}),be;function r(a,c){return Bc({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ia(),Es].filter(u=>!!u),issueData:{code:W.invalid_arguments,argumentsError:c}})}function s(a,c){return Bc({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ia(),Es].filter(u=>!!u),issueData:{code:W.invalid_return_type,returnTypeError:c}})}let i={errorMap:n.common.contextualErrorMap},o=n.data;if(this._def.returns instanceof di){let a=this;return vn(async function(...c){let u=new wn([]),d=await a._def.args.parseAsync(c,i).catch(m=>{throw u.addIssue(r(c,m)),u}),f=await Reflect.apply(o,this,d);return await a._def.returns._def.type.parseAsync(f,i).catch(m=>{throw u.addIssue(s(f,m)),u})})}else{let a=this;return vn(function(...c){let u=a._def.args.safeParse(c,i);if(!u.success)throw new wn([r(c,u.error)]);let d=Reflect.apply(o,this,u.data),f=a._def.returns.safeParse(d,i);if(!f.success)throw new wn([s(d,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new ui({...this._def,args:ur.create(e).rest(xs.create())})}returns(e){return new ui({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new ui({args:e||ur.create([]).rest(xs.create()),returns:n||xs.create(),typeName:_e.ZodFunction,...xe(r)})}},co=class extends Ie{get schema(){return this._def.getter()}_parse(e){let{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};co.create=(t,e)=>new co({getter:t,typeName:_e.ZodLazy,...xe(e)});var uo=class extends Ie{_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return ne(n,{received:n.data,code:W.invalid_literal,expected:this._def.value}),be}return{status:"valid",value:e.data}}get value(){return this._def.value}};uo.create=(t,e)=>new uo({value:t,typeName:_e.ZodLiteral,...xe(e)});function n_(t,e){return new Kr({values:t,typeName:_e.ZodEnum,...xe(e)})}var Kr=class extends Ie{_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return ne(n,{expected:Ne.joinValues(r),received:n.parsedType,code:W.invalid_type}),be}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let n=this._getOrReturnCtx(e),r=this._def.values;return ne(n,{received:n.data,code:W.invalid_enum_value,options:r}),be}return vn(e.data)}get options(){return this._def.values}get enum(){let e={};for(let n of this._def.values)e[n]=n;return e}get Values(){let e={};for(let n of this._def.values)e[n]=n;return e}get Enum(){let e={};for(let n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return Kr.create(e,{...this._def,...n})}exclude(e,n=this._def){return Kr.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}};Kr.create=n_;var lo=class extends Ie{_parse(e){let n=Ne.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==oe.string&&r.parsedType!==oe.number){let s=Ne.objectValues(n);return ne(r,{expected:Ne.joinValues(s),received:r.parsedType,code:W.invalid_type}),be}if(this._cache||(this._cache=new Set(Ne.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let s=Ne.objectValues(n);return ne(r,{received:r.data,code:W.invalid_enum_value,options:s}),be}return vn(e.data)}get enum(){return this._def.values}};lo.create=(t,e)=>new lo({values:t,typeName:_e.ZodNativeEnum,...xe(e)});var di=class extends Ie{unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==oe.promise&&n.common.async===!1)return ne(n,{code:W.invalid_type,expected:oe.promise,received:n.parsedType}),be;let r=n.parsedType===oe.promise?n.data:Promise.resolve(n.data);return vn(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};di.create=(t,e)=>new di({type:t,typeName:_e.ZodPromise,...xe(e)});var lr=class extends Ie{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===_e.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),s=this._def.effect||null,i={addIssue:o=>{ne(r,o),o.fatal?n.abort():n.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),s.type==="preprocess"){let o=s.transform(r.data,i);if(r.common.async)return Promise.resolve(o).then(async a=>{if(n.value==="aborted")return be;let c=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return c.status==="aborted"?be:c.status==="dirty"?to(c.value):n.value==="dirty"?to(c.value):c});{if(n.value==="aborted")return be;let a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?be:a.status==="dirty"?to(a.value):n.value==="dirty"?to(a.value):a}}if(s.type==="refinement"){let o=a=>{let c=s.refinement(a,i);if(r.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?be:(a.status==="dirty"&&n.dirty(),o(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?be:(a.status==="dirty"&&n.dirty(),o(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!ci(o))return be;let a=s.transform(o.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>ci(o)?Promise.resolve(s.transform(o.value,i)).then(a=>({status:n.value,value:a})):be);Ne.assertNever(s)}};lr.create=(t,e,n)=>new lr({schema:t,typeName:_e.ZodEffects,effect:e,...xe(n)});lr.createWithPreprocess=(t,e,n)=>new lr({schema:e,effect:{type:"preprocess",transform:t},typeName:_e.ZodEffects,...xe(n)});var ar=class extends Ie{_parse(e){return this._getType(e)===oe.undefined?vn(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};ar.create=(t,e)=>new ar({innerType:t,typeName:_e.ZodOptional,...xe(e)});var Yr=class extends Ie{_parse(e){return this._getType(e)===oe.null?vn(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Yr.create=(t,e)=>new Yr({innerType:t,typeName:_e.ZodNullable,...xe(e)});var fo=class extends Ie{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return n.parsedType===oe.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};fo.create=(t,e)=>new fo({innerType:t,typeName:_e.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...xe(e)});var po=class extends Ie{_parse(e){let{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return oa(s)?s.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new wn(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new wn(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};po.create=(t,e)=>new po({innerType:t,typeName:_e.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...xe(e)});var fa=class extends Ie{_parse(e){if(this._getType(e)!==oe.nan){let r=this._getOrReturnCtx(e);return ne(r,{code:W.invalid_type,expected:oe.nan,received:r.parsedType}),be}return{status:"valid",value:e.data}}};fa.create=t=>new fa({typeName:_e.ZodNaN,...xe(t)});var c4=Symbol("zod_brand"),Mc=class extends Ie{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},ho=class extends Ie{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?be:i.status==="dirty"?(n.dirty(),to(i.value)):this._def.out._parseAsync({data:i.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?be:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(e,n){return new ho({in:e,out:n,typeName:_e.ZodPipeline})}},mo=class extends Ie{_parse(e){let n=this._def.innerType._parse(e),r=s=>(ci(s)&&(s.value=Object.freeze(s.value)),s);return oa(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};mo.create=(t,e)=>new mo({innerType:t,typeName:_e.ZodReadonly,...xe(e)});function Xv(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function r_(t,e={},n){return t?li.create().superRefine((r,s)=>{let i=t(r);if(i instanceof Promise)return i.then(o=>{if(!o){let a=Xv(e,r),c=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:c})}});if(!i){let o=Xv(e,r),a=o.fatal??n??!0;s.addIssue({code:"custom",...o,fatal:a})}}):li.create()}var u4={object:Je.lazycreate},_e;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(_e||(_e={}));var l4=(t,e={message:`Input not instance of ${t.name}`})=>r_(n=>n instanceof t,e),s_=Zn.create,i_=Zr.create,d4=fa.create,f4=Jr.create,o_=no.create,p4=Os.create,h4=ca.create,m4=ro.create,g4=so.create,y4=li.create,b4=xs.create,w4=Ir.create,v4=ua.create,_4=Jn.create,T4=Je.create,k4=Je.strictCreate,E4=io.create,S4=la.create,x4=oo.create,O4=ur.create,I4=ao.create,A4=da.create,C4=Is.create,N4=ui.create,R4=co.create,B4=uo.create,M4=Kr.create,j4=lo.create,D4=di.create,U4=lr.create,P4=ar.create,L4=Yr.create,V4=lr.createWithPreprocess,F4=ho.create,q4=()=>s_().optional(),$4=()=>i_().optional(),G4=()=>o_().optional(),H4={string:t=>Zn.create({...t,coerce:!0}),number:t=>Zr.create({...t,coerce:!0}),boolean:t=>no.create({...t,coerce:!0}),bigint:t=>Jr.create({...t,coerce:!0}),date:t=>Os.create({...t,coerce:!0})};var z4=be;function Z4(t,e){let n={...t};for(let r of e)delete n[r];return n}var J4=/:([a-zA-Z_][a-zA-Z0-9_]*)/g;function K4(t){let e=t.url,n=t.params;return n&&(e=e.replace(J4,(r,s)=>s in n?`${n[s]}`:r)),e}function a_(t,e,n){return t.find(r=>r.method===e&&r.path===n)}function Y4(t){let e=new FormData;for(let n in t)e.append(n,t[n]);return{data:e}}var Hl=class extends Error{constructor(t,e,n,r){super(t),this.config=e,this.data=n,this.cause=r}},X4={name:"form-data",request:async(t,e)=>{if(typeof e.data!="object"||Array.isArray(e.data))throw new Hl("Zodios: multipart/form-data body must be an object",e);let n=Y4(e.data);return{...e,data:n.data,headers:{...e.headers,...n.headers}}}};function Q4(){return X4}var eC={name:"form-url",request:async(t,e)=>{if(typeof e.data!="object"||Array.isArray(e.data))throw new Hl("Zodios: application/x-www-form-urlencoded body must be an object",e);return{...e,data:new URLSearchParams(e.data).toString(),headers:{...e.headers,"Content-Type":"application/x-www-form-urlencoded"}}}};function tC(){return eC}function c_(t,e){return{request:async(n,r)=>({...r,headers:{...r.headers,[t]:e}})}}function u_(t){return[!0,"response","all"].includes(t)}function l_(t){return[!0,"request","all"].includes(t)}function nC({validate:t,transform:e,sendDefaults:n}){return{name:"zod-validation",request:l_(t)?async(r,s)=>{let i=a_(r,s.method,s.url);if(!i)throw new Error(`No endpoint found for ${s.method} ${s.url}`);let{parameters:o}=i;if(!o)return s;let a={...s,queries:{...s.queries},headers:{...s.headers},params:{...s.params}},c={Query:f=>{var p;return(p=a.queries)==null?void 0:p[f]},Body:f=>a.data,Header:f=>{var p;return(p=a.headers)==null?void 0:p[f]},Path:f=>{var p;return(p=a.params)==null?void 0:p[f]}},u={Query:(f,p)=>a.queries[f]=p,Body:(f,p)=>a.data=p,Header:(f,p)=>a.headers[f]=p,Path:(f,p)=>a.params[f]=p},d=l_(e);for(let f of o){let{name:p,schema:m,type:b}=f,v=c[b](p);if(n||v!==void 0){let T=await m.safeParseAsync(v);if(!T.success)throw new Hl(`Zodios: Invalid ${b} parameter '${p}'`,s,v,T.error);d&&u[b](p,T.data)}}return a}:void 0,response:u_(t)?async(r,s,i)=>{var o,a,c,u;let d=a_(r,s.method,s.url);if(!d)throw new Error(`No endpoint found for ${s.method} ${s.url}`);if((a=(o=i.headers)==null?void 0:o["content-type"])!=null&&a.includes("application/json")||(u=(c=i.headers)==null?void 0:c["content-type"])!=null&&u.includes("application/vnd.api+json")){let f=await d.response.safeParseAsync(i.data);if(!f.success)throw new Hl(`Zodios: Invalid response from endpoint '${d.method} ${d.path}'
846
+ `&&r++}}return[e,n]}var Ml=class extends Event{constructor(e,n){var r,s;super(e),this.code=(r=n?.code)!=null?r:void 0,this.message=(s=n?.message)!=null?s:void 0}[Symbol.for("nodejs.util.inspect.custom")](e,n,r){return r(I_(this),n)}[Symbol.for("Deno.customInspect")](e,n){return e(I_(this),n)}};function g6(t){let e=globalThis.DOMException;return typeof e=="function"?new e(t,"SyntaxError"):new SyntaxError(t)}function Wh(t){return t instanceof Error?"errors"in t&&Array.isArray(t.errors)?t.errors.map(Wh).join(", "):"cause"in t&&t.cause instanceof Error?`${t}: ${Wh(t.cause)}`:t.message:`${t}`}function I_(t){return{type:t.type,message:t.message,code:t.code,defaultPrevented:t.defaultPrevented,cancelable:t.cancelable,timeStamp:t.timeStamp}}var C_=t=>{throw TypeError(t)},tm=(t,e,n)=>e.has(t)||C_("Cannot "+n),Ae=(t,e,n)=>(tm(t,e,"read from private field"),n?n.call(t):e.get(t)),Kt=(t,e,n)=>e.has(t)?C_("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),Qe=(t,e,n,r)=>(tm(t,e,"write to private field"),e.set(t,n),n),vs=(t,e,n)=>(tm(t,e,"access private method"),n),Mn,Xi,Ko,Bl,Dl,Oc,Qo,Ic,ii,Yo,ea,Xo,xc,vr,Zh,Jh,Kh,A_,Yh,Xh,Sc,Qh,em,Qi=class extends EventTarget{constructor(e,n){var r,s;super(),Kt(this,vr),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,Kt(this,Mn),Kt(this,Xi),Kt(this,Ko),Kt(this,Bl),Kt(this,Dl),Kt(this,Oc),Kt(this,Qo),Kt(this,Ic,null),Kt(this,ii),Kt(this,Yo),Kt(this,ea,null),Kt(this,Xo,null),Kt(this,xc,null),Kt(this,Jh,async i=>{var o;Ae(this,Yo).reset();let{body:a,redirected:c,status:u,headers:d}=i;if(u===204){vs(this,vr,Sc).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if(c?Qe(this,Ko,new URL(i.url)):Qe(this,Ko,void 0),u!==200){vs(this,vr,Sc).call(this,`Non-200 status code (${u})`,u);return}if(!(d.get("content-type")||"").startsWith("text/event-stream")){vs(this,vr,Sc).call(this,'Invalid content type, expected "text/event-stream"',u);return}if(Ae(this,Mn)===this.CLOSED)return;Qe(this,Mn,this.OPEN);let f=new Event("open");if((o=Ae(this,xc))==null||o.call(this,f),this.dispatchEvent(f),typeof a!="object"||!a||!("getReader"in a)){vs(this,vr,Sc).call(this,"Invalid response body, expected a web ReadableStream",u),this.close();return}let p=new TextDecoder,m=a.getReader(),b=!0;do{let{done:_,value:T}=await m.read();T&&Ae(this,Yo).feed(p.decode(T,{stream:!_})),_&&(b=!1,Ae(this,Yo).reset(),vs(this,vr,Qh).call(this))}while(b)}),Kt(this,Kh,i=>{Qe(this,ii,void 0),!(i.name==="AbortError"||i.type==="aborted")&&vs(this,vr,Qh).call(this,Wh(i))}),Kt(this,Yh,i=>{typeof i.id=="string"&&Qe(this,Ic,i.id);let o=new MessageEvent(i.event||"message",{data:i.data,origin:Ae(this,Ko)?Ae(this,Ko).origin:Ae(this,Xi).origin,lastEventId:i.id||""});Ae(this,Xo)&&(!i.event||i.event==="message")&&Ae(this,Xo).call(this,o),this.dispatchEvent(o)}),Kt(this,Xh,i=>{Qe(this,Oc,i)}),Kt(this,em,()=>{Qe(this,Qo,void 0),Ae(this,Mn)===this.CONNECTING&&vs(this,vr,Zh).call(this)});try{if(e instanceof URL)Qe(this,Xi,e);else if(typeof e=="string")Qe(this,Xi,new URL(e,y6()));else throw new Error("Invalid URL")}catch{throw g6("An invalid or illegal string was specified")}Qe(this,Yo,O_({onEvent:Ae(this,Yh),onRetry:Ae(this,Xh)})),Qe(this,Mn,this.CONNECTING),Qe(this,Oc,3e3),Qe(this,Dl,(r=n?.fetch)!=null?r:globalThis.fetch),Qe(this,Bl,(s=n?.withCredentials)!=null?s:!1),vs(this,vr,Zh).call(this)}get readyState(){return Ae(this,Mn)}get url(){return Ae(this,Xi).href}get withCredentials(){return Ae(this,Bl)}get onerror(){return Ae(this,ea)}set onerror(e){Qe(this,ea,e)}get onmessage(){return Ae(this,Xo)}set onmessage(e){Qe(this,Xo,e)}get onopen(){return Ae(this,xc)}set onopen(e){Qe(this,xc,e)}addEventListener(e,n,r){let s=n;super.addEventListener(e,s,r)}removeEventListener(e,n,r){let s=n;super.removeEventListener(e,s,r)}close(){Ae(this,Qo)&&clearTimeout(Ae(this,Qo)),Ae(this,Mn)!==this.CLOSED&&(Ae(this,ii)&&Ae(this,ii).abort(),Qe(this,Mn,this.CLOSED),Qe(this,ii,void 0))}};Mn=new WeakMap,Xi=new WeakMap,Ko=new WeakMap,Bl=new WeakMap,Dl=new WeakMap,Oc=new WeakMap,Qo=new WeakMap,Ic=new WeakMap,ii=new WeakMap,Yo=new WeakMap,ea=new WeakMap,Xo=new WeakMap,xc=new WeakMap,vr=new WeakSet,Zh=function(){Qe(this,Mn,this.CONNECTING),Qe(this,ii,new AbortController),Ae(this,Dl)(Ae(this,Xi),vs(this,vr,A_).call(this)).then(Ae(this,Jh)).catch(Ae(this,Kh))},Jh=new WeakMap,Kh=new WeakMap,A_=function(){var t;let e={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...Ae(this,Ic)?{"Last-Event-ID":Ae(this,Ic)}:void 0},cache:"no-store",signal:(t=Ae(this,ii))==null?void 0:t.signal};return"window"in globalThis&&(e.credentials=this.withCredentials?"include":"same-origin"),e},Yh=new WeakMap,Xh=new WeakMap,Sc=function(t,e){var n;Ae(this,Mn)!==this.CLOSED&&Qe(this,Mn,this.CLOSED);let r=new Ml("error",{code:e,message:t});(n=Ae(this,ea))==null||n.call(this,r),this.dispatchEvent(r)},Qh=function(t,e){var n;if(Ae(this,Mn)===this.CLOSED)return;Qe(this,Mn,this.CONNECTING);let r=new Ml("error",{code:e,message:t});(n=Ae(this,ea))==null||n.call(this,r),this.dispatchEvent(r),Qe(this,Qo,setTimeout(Ae(this,em),Ae(this,Oc)))},em=new WeakMap,Qi.CONNECTING=0,Qi.OPEN=1,Qi.CLOSED=2;function y6(){let t="document"in globalThis?globalThis.document:void 0;return t&&typeof t=="object"&&"baseURI"in t&&typeof t.baseURI=="string"?t.baseURI:void 0}function b6(t){return t.replaceAll(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function Ac(t){let e={};for(let n of Object.keys(t)){let r=b6(n),s=t[n];e[r]=s}return e}import A4,{AxiosError as BH}from"axios";var pe={};rT(pe,{BRAND:()=>G6,DIRTY:()=>eo,EMPTY_PATH:()=>T6,INVALID:()=>ge,NEVER:()=>I4,OK:()=>gn,ParseStatus:()=>Yt,Schema:()=>Oe,ZodAny:()=>ci,ZodArray:()=>Gn,ZodBigInt:()=>zr,ZodBoolean:()=>to,ZodBranded:()=>Nc,ZodCatch:()=>fo,ZodDate:()=>xs,ZodDefault:()=>lo,ZodDiscriminatedUnion:()=>oa,ZodEffects:()=>ir,ZodEnum:()=>Wr,ZodError:()=>mn,ZodFirstPartyTypeKind:()=>we,ZodFunction:()=>ai,ZodIntersection:()=>io,ZodIssueCode:()=>W,ZodLazy:()=>ao,ZodLiteral:()=>co,ZodMap:()=>aa,ZodNaN:()=>ca,ZodNativeEnum:()=>uo,ZodNever:()=>Tr,ZodNull:()=>ro,ZodNullable:()=>Zr,ZodNumber:()=>Hr,ZodObject:()=>Je,ZodOptional:()=>nr,ZodParsedType:()=>ie,ZodPipeline:()=>po,ZodPromise:()=>ui,ZodReadonly:()=>ho,ZodRecord:()=>oo,ZodSchema:()=>Oe,ZodSet:()=>Ss,ZodString:()=>$n,ZodSymbol:()=>sa,ZodTransformer:()=>ir,ZodTuple:()=>sr,ZodType:()=>Oe,ZodUndefined:()=>no,ZodUnion:()=>so,ZodUnknown:()=>Es,ZodVoid:()=>ia,addIssueToContext:()=>te,any:()=>Q6,array:()=>r4,bigint:()=>Z6,boolean:()=>F_,coerce:()=>O4,custom:()=>L_,date:()=>J6,datetimeRegex:()=>j_,defaultErrorMap:()=>Ts,discriminatedUnion:()=>a4,effect:()=>w4,enum:()=>g4,function:()=>p4,getErrorMap:()=>ta,getParsedType:()=>Gr,instanceof:()=>z6,intersection:()=>c4,isAborted:()=>jl,isAsync:()=>na,isDirty:()=>Ul,isValid:()=>oi,late:()=>H6,lazy:()=>h4,literal:()=>m4,makeIssue:()=>Cc,map:()=>d4,nan:()=>W6,nativeEnum:()=>y4,never:()=>t4,null:()=>X6,nullable:()=>v4,number:()=>V_,object:()=>s4,objectUtil:()=>nm,oboolean:()=>S4,onumber:()=>x4,optional:()=>_4,ostring:()=>E4,pipeline:()=>k4,preprocess:()=>T4,promise:()=>b4,quotelessJson:()=>w6,record:()=>l4,set:()=>f4,setErrorMap:()=>v6,strictObject:()=>i4,string:()=>P_,symbol:()=>K6,transformer:()=>w4,tuple:()=>u4,undefined:()=>Y6,union:()=>o4,unknown:()=>e4,util:()=>Ce,void:()=>n4});var Ce;(function(t){t.assertEqual=s=>{};function e(s){}t.assertIs=e;function n(s){throw new Error}t.assertNever=n,t.arrayToEnum=s=>{let i={};for(let o of s)i[o]=o;return i},t.getValidEnumValues=s=>{let i=t.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),o={};for(let a of i)o[a]=s[a];return t.objectValues(o)},t.objectValues=s=>t.objectKeys(s).map(function(i){return s[i]}),t.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let i=[];for(let o in s)Object.prototype.hasOwnProperty.call(s,o)&&i.push(o);return i},t.find=(s,i)=>{for(let o of s)if(i(o))return o},t.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,i=" | "){return s.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}t.joinValues=r,t.jsonStringifyReplacer=(s,i)=>typeof i=="bigint"?i.toString():i})(Ce||(Ce={}));var nm;(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(nm||(nm={}));var ie=Ce.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Gr=t=>{switch(typeof t){case"undefined":return ie.undefined;case"string":return ie.string;case"number":return Number.isNaN(t)?ie.nan:ie.number;case"boolean":return ie.boolean;case"function":return ie.function;case"bigint":return ie.bigint;case"symbol":return ie.symbol;case"object":return Array.isArray(t)?ie.array:t===null?ie.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?ie.promise:typeof Map<"u"&&t instanceof Map?ie.map:typeof Set<"u"&&t instanceof Set?ie.set:typeof Date<"u"&&t instanceof Date?ie.date:ie.object;default:return ie.unknown}};var W=Ce.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),w6=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),mn=class extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){let n=e||function(i){return i.message},r={_errors:[]},s=i=>{for(let o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(s);else if(o.code==="invalid_return_type")s(o.returnTypeError);else if(o.code==="invalid_arguments")s(o.argumentsError);else if(o.path.length===0)r._errors.push(n(o));else{let a=r,c=0;for(;c<o.path.length;){let u=o.path[c];c===o.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(n(o))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return s(this),r}static assert(e){if(!(e instanceof mn))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Ce.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let i=s.path[0];n[i]=n[i]||[],n[i].push(e(s))}else r.push(e(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};mn.create=t=>new mn(t);var _6=(t,e)=>{let n;switch(t.code){case W.invalid_type:t.received===ie.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case W.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,Ce.jsonStringifyReplacer)}`;break;case W.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ce.joinValues(t.keys,", ")}`;break;case W.invalid_union:n="Invalid input";break;case W.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ce.joinValues(t.options)}`;break;case W.invalid_enum_value:n=`Invalid enum value. Expected ${Ce.joinValues(t.options)}, received '${t.received}'`;break;case W.invalid_arguments:n="Invalid function arguments";break;case W.invalid_return_type:n="Invalid function return type";break;case W.invalid_date:n="Invalid date";break;case W.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:Ce.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case W.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case W.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case W.custom:n="Invalid input";break;case W.invalid_intersection_types:n="Intersection results could not be merged";break;case W.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case W.not_finite:n="Number must be finite";break;default:n=e.defaultError,Ce.assertNever(t)}return{message:n}},Ts=_6;var N_=Ts;function v6(t){N_=t}function ta(){return N_}var Cc=t=>{let{data:e,path:n,errorMaps:r,issueData:s}=t,i=[...n,...s.path||[]],o={...s,path:i};if(s.message!==void 0)return{...s,path:i,message:s.message};let a="",c=r.filter(u=>!!u).slice().reverse();for(let u of c)a=u(o,{data:e,defaultError:a}).message;return{...s,path:i,message:a}},T6=[];function te(t,e){let n=ta(),r=Cc({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===Ts?void 0:Ts].filter(s=>!!s)});t.common.issues.push(r)}var Yt=class{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){let r=[];for(let s of n){if(s.status==="aborted")return ge;s.status==="dirty"&&e.dirty(),r.push(s.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){let r=[];for(let s of n){let i=await s.key,o=await s.value;r.push({key:i,value:o})}return Yt.mergeObjectSync(e,r)}static mergeObjectSync(e,n){let r={};for(let s of n){let{key:i,value:o}=s;if(i.status==="aborted"||o.status==="aborted")return ge;i.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||s.alwaysSet)&&(r[i.value]=o.value)}return{status:e.value,value:r}}},ge=Object.freeze({status:"aborted"}),eo=t=>({status:"dirty",value:t}),gn=t=>({status:"valid",value:t}),jl=t=>t.status==="aborted",Ul=t=>t.status==="dirty",oi=t=>t.status==="valid",na=t=>typeof Promise<"u"&&t instanceof Promise;var ue;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(ue||(ue={}));var rr=class{constructor(e,n,r,s){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},R_=(t,e)=>{if(oi(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new mn(t.common.issues);return this._error=n,this._error}}};function xe(t){if(!t)return{};let{errorMap:e,invalid_type_error:n,required_error:r,description:s}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(o,a)=>{let{message:c}=t;return o.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??r??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:c??n??a.defaultError}},description:s}}var Oe=class{get description(){return this._def.description}_getType(e){return Gr(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:Gr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Yt,ctx:{common:e.parent.common,data:e.data,parsedType:Gr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(na(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){let n=this._parse(e);return Promise.resolve(n)}parse(e,n){let r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Gr(e)},s=this._parseSync({data:e,path:r.path,parent:r});return R_(r,s)}"~validate"(e){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Gr(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:n});return oi(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(r=>oi(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(e,n){let r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Gr(e)},s=this._parse({data:e,path:r.path,parent:r}),i=await(na(s)?s:Promise.resolve(s));return R_(r,i)}refine(e,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,i)=>{let o=e(s),a=()=>i.addIssue({code:W.custom,...r(s)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(e,n){return this._refinement((r,s)=>e(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(e){return new ir({schema:this,typeName:we.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return nr.create(this,this._def)}nullable(){return Zr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Gn.create(this)}promise(){return ui.create(this,this._def)}or(e){return so.create([this,e],this._def)}and(e){return io.create(this,e,this._def)}transform(e){return new ir({...xe(this._def),schema:this,typeName:we.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new lo({...xe(this._def),innerType:this,defaultValue:n,typeName:we.ZodDefault})}brand(){return new Nc({typeName:we.ZodBranded,type:this,...xe(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new fo({...xe(this._def),innerType:this,catchValue:n,typeName:we.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return po.create(this,e)}readonly(){return ho.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},k6=/^c[^\s-]{8,}$/i,E6=/^[0-9a-z]+$/,x6=/^[0-9A-HJKMNP-TV-Z]{26}$/i,S6=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,O6=/^[a-z0-9_-]{21}$/i,I6=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,A6=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,C6=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,N6="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",rm,R6=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,B6=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,M6=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,D6=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,j6=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,U6=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,M_="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",L6=new RegExp(`^${M_}$`);function D_(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}function P6(t){return new RegExp(`^${D_(t)}$`)}function j_(t){let e=`${M_}T${D_(t)}`,n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function V6(t,e){return!!((e==="v4"||!e)&&R6.test(t)||(e==="v6"||!e)&&M6.test(t))}function F6(t,e){if(!I6.test(t))return!1;try{let[n]=t.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||e&&s.alg!==e)}catch{return!1}}function q6(t,e){return!!((e==="v4"||!e)&&B6.test(t)||(e==="v6"||!e)&&D6.test(t))}var $n=class extends Oe{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==ie.string){let i=this._getOrReturnCtx(e);return te(i,{code:W.invalid_type,expected:ie.string,received:i.parsedType}),ge}let r=new Yt,s;for(let i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(s=this._getOrReturnCtx(e,s),te(s,{code:W.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="max")e.data.length>i.value&&(s=this._getOrReturnCtx(e,s),te(s,{code:W.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="length"){let o=e.data.length>i.value,a=e.data.length<i.value;(o||a)&&(s=this._getOrReturnCtx(e,s),o?te(s,{code:W.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&te(s,{code:W.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),r.dirty())}else if(i.kind==="email")C6.test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"email",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="emoji")rm||(rm=new RegExp(N6,"u")),rm.test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"emoji",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="uuid")S6.test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"uuid",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="nanoid")O6.test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"nanoid",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid")k6.test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"cuid",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid2")E6.test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"cuid2",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="ulid")x6.test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"ulid",code:W.invalid_string,message:i.message}),r.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),te(s,{validation:"url",code:W.invalid_string,message:i.message}),r.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"regex",code:W.invalid_string,message:i.message}),r.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(s=this._getOrReturnCtx(e,s),te(s,{code:W.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),r.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(s=this._getOrReturnCtx(e,s),te(s,{code:W.invalid_string,validation:{startsWith:i.value},message:i.message}),r.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(s=this._getOrReturnCtx(e,s),te(s,{code:W.invalid_string,validation:{endsWith:i.value},message:i.message}),r.dirty()):i.kind==="datetime"?j_(i).test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{code:W.invalid_string,validation:"datetime",message:i.message}),r.dirty()):i.kind==="date"?L6.test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{code:W.invalid_string,validation:"date",message:i.message}),r.dirty()):i.kind==="time"?P6(i).test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{code:W.invalid_string,validation:"time",message:i.message}),r.dirty()):i.kind==="duration"?A6.test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"duration",code:W.invalid_string,message:i.message}),r.dirty()):i.kind==="ip"?V6(e.data,i.version)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"ip",code:W.invalid_string,message:i.message}),r.dirty()):i.kind==="jwt"?F6(e.data,i.alg)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"jwt",code:W.invalid_string,message:i.message}),r.dirty()):i.kind==="cidr"?q6(e.data,i.version)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"cidr",code:W.invalid_string,message:i.message}),r.dirty()):i.kind==="base64"?j6.test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"base64",code:W.invalid_string,message:i.message}),r.dirty()):i.kind==="base64url"?U6.test(e.data)||(s=this._getOrReturnCtx(e,s),te(s,{validation:"base64url",code:W.invalid_string,message:i.message}),r.dirty()):Ce.assertNever(i);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(s=>e.test(s),{validation:n,code:W.invalid_string,...ue.errToObj(r)})}_addCheck(e){return new $n({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...ue.errToObj(e)})}url(e){return this._addCheck({kind:"url",...ue.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...ue.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...ue.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...ue.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...ue.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...ue.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...ue.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...ue.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...ue.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...ue.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...ue.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...ue.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...ue.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...ue.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...ue.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...ue.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n?.position,...ue.errToObj(n?.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...ue.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...ue.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...ue.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...ue.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...ue.errToObj(n)})}nonempty(e){return this.min(1,ue.errToObj(e))}trim(){return new $n({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new $n({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new $n({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};$n.create=t=>new $n({checks:[],typeName:we.ZodString,coerce:t?.coerce??!1,...xe(t)});function $6(t,e){let n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,s=n>r?n:r,i=Number.parseInt(t.toFixed(s).replace(".","")),o=Number.parseInt(e.toFixed(s).replace(".",""));return i%o/10**s}var Hr=class extends Oe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==ie.number){let i=this._getOrReturnCtx(e);return te(i,{code:W.invalid_type,expected:ie.number,received:i.parsedType}),ge}let r,s=new Yt;for(let i of this._def.checks)i.kind==="int"?Ce.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),te(r,{code:W.invalid_type,expected:"integer",received:"float",message:i.message}),s.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),te(r,{code:W.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),te(r,{code:W.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="multipleOf"?$6(e.data,i.value)!==0&&(r=this._getOrReturnCtx(e,r),te(r,{code:W.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),te(r,{code:W.not_finite,message:i.message}),s.dirty()):Ce.assertNever(i);return{status:s.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,ue.toString(n))}gt(e,n){return this.setLimit("min",e,!1,ue.toString(n))}lte(e,n){return this.setLimit("max",e,!0,ue.toString(n))}lt(e,n){return this.setLimit("max",e,!1,ue.toString(n))}setLimit(e,n,r,s){return new Hr({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:ue.toString(s)}]})}_addCheck(e){return new Hr({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:ue.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ue.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ue.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ue.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ue.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:ue.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:ue.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ue.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ue.toString(e)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&Ce.isInteger(e.value))}get isFinite(){let e=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}};Hr.create=t=>new Hr({checks:[],typeName:we.ZodNumber,coerce:t?.coerce||!1,...xe(t)});var zr=class extends Oe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==ie.bigint)return this._getInvalidInput(e);let r,s=new Yt;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),te(r,{code:W.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),te(r,{code:W.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),te(r,{code:W.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):Ce.assertNever(i);return{status:s.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return te(n,{code:W.invalid_type,expected:ie.bigint,received:n.parsedType}),ge}gte(e,n){return this.setLimit("min",e,!0,ue.toString(n))}gt(e,n){return this.setLimit("min",e,!1,ue.toString(n))}lte(e,n){return this.setLimit("max",e,!0,ue.toString(n))}lt(e,n){return this.setLimit("max",e,!1,ue.toString(n))}setLimit(e,n,r,s){return new zr({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:ue.toString(s)}]})}_addCheck(e){return new zr({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ue.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ue.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ue.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ue.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:ue.toString(n)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};zr.create=t=>new zr({checks:[],typeName:we.ZodBigInt,coerce:t?.coerce??!1,...xe(t)});var to=class extends Oe{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==ie.boolean){let r=this._getOrReturnCtx(e);return te(r,{code:W.invalid_type,expected:ie.boolean,received:r.parsedType}),ge}return gn(e.data)}};to.create=t=>new to({typeName:we.ZodBoolean,coerce:t?.coerce||!1,...xe(t)});var xs=class extends Oe{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==ie.date){let i=this._getOrReturnCtx(e);return te(i,{code:W.invalid_type,expected:ie.date,received:i.parsedType}),ge}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return te(i,{code:W.invalid_date}),ge}let r=new Yt,s;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(s=this._getOrReturnCtx(e,s),te(s,{code:W.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),r.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(s=this._getOrReturnCtx(e,s),te(s,{code:W.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),r.dirty()):Ce.assertNever(i);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new xs({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:ue.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:ue.toString(n)})}get minDate(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}};xs.create=t=>new xs({checks:[],coerce:t?.coerce||!1,typeName:we.ZodDate,...xe(t)});var sa=class extends Oe{_parse(e){if(this._getType(e)!==ie.symbol){let r=this._getOrReturnCtx(e);return te(r,{code:W.invalid_type,expected:ie.symbol,received:r.parsedType}),ge}return gn(e.data)}};sa.create=t=>new sa({typeName:we.ZodSymbol,...xe(t)});var no=class extends Oe{_parse(e){if(this._getType(e)!==ie.undefined){let r=this._getOrReturnCtx(e);return te(r,{code:W.invalid_type,expected:ie.undefined,received:r.parsedType}),ge}return gn(e.data)}};no.create=t=>new no({typeName:we.ZodUndefined,...xe(t)});var ro=class extends Oe{_parse(e){if(this._getType(e)!==ie.null){let r=this._getOrReturnCtx(e);return te(r,{code:W.invalid_type,expected:ie.null,received:r.parsedType}),ge}return gn(e.data)}};ro.create=t=>new ro({typeName:we.ZodNull,...xe(t)});var ci=class extends Oe{constructor(){super(...arguments),this._any=!0}_parse(e){return gn(e.data)}};ci.create=t=>new ci({typeName:we.ZodAny,...xe(t)});var Es=class extends Oe{constructor(){super(...arguments),this._unknown=!0}_parse(e){return gn(e.data)}};Es.create=t=>new Es({typeName:we.ZodUnknown,...xe(t)});var Tr=class extends Oe{_parse(e){let n=this._getOrReturnCtx(e);return te(n,{code:W.invalid_type,expected:ie.never,received:n.parsedType}),ge}};Tr.create=t=>new Tr({typeName:we.ZodNever,...xe(t)});var ia=class extends Oe{_parse(e){if(this._getType(e)!==ie.undefined){let r=this._getOrReturnCtx(e);return te(r,{code:W.invalid_type,expected:ie.void,received:r.parsedType}),ge}return gn(e.data)}};ia.create=t=>new ia({typeName:we.ZodVoid,...xe(t)});var Gn=class extends Oe{_parse(e){let{ctx:n,status:r}=this._processInputParams(e),s=this._def;if(n.parsedType!==ie.array)return te(n,{code:W.invalid_type,expected:ie.array,received:n.parsedType}),ge;if(s.exactLength!==null){let o=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(o||a)&&(te(n,{code:o?W.too_big:W.too_small,minimum:a?s.exactLength.value:void 0,maximum:o?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(te(n,{code:W.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(te(n,{code:W.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((o,a)=>s.type._parseAsync(new rr(n,o,n.path,a)))).then(o=>Yt.mergeArray(r,o));let i=[...n.data].map((o,a)=>s.type._parseSync(new rr(n,o,n.path,a)));return Yt.mergeArray(r,i)}get element(){return this._def.type}min(e,n){return new Gn({...this._def,minLength:{value:e,message:ue.toString(n)}})}max(e,n){return new Gn({...this._def,maxLength:{value:e,message:ue.toString(n)}})}length(e,n){return new Gn({...this._def,exactLength:{value:e,message:ue.toString(n)}})}nonempty(e){return this.min(1,e)}};Gn.create=(t,e)=>new Gn({type:t,minLength:null,maxLength:null,exactLength:null,typeName:we.ZodArray,...xe(e)});function ra(t){if(t instanceof Je){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=nr.create(ra(r))}return new Je({...t._def,shape:()=>e})}else return t instanceof Gn?new Gn({...t._def,type:ra(t.element)}):t instanceof nr?nr.create(ra(t.unwrap())):t instanceof Zr?Zr.create(ra(t.unwrap())):t instanceof sr?sr.create(t.items.map(e=>ra(e))):t}var Je=class extends Oe{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=Ce.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==ie.object){let u=this._getOrReturnCtx(e);return te(u,{code:W.invalid_type,expected:ie.object,received:u.parsedType}),ge}let{status:r,ctx:s}=this._processInputParams(e),{shape:i,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof Tr&&this._def.unknownKeys==="strip"))for(let u in s.data)o.includes(u)||a.push(u);let c=[];for(let u of o){let d=i[u],f=s.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new rr(s,f,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof Tr){let u=this._def.unknownKeys;if(u==="passthrough")for(let d of a)c.push({key:{status:"valid",value:d},value:{status:"valid",value:s.data[d]}});else if(u==="strict")a.length>0&&(te(s,{code:W.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let d of a){let f=s.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new rr(s,f,s.path,d)),alwaysSet:d in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let u=[];for(let d of c){let f=await d.key,p=await d.value;u.push({key:f,value:p,alwaysSet:d.alwaysSet})}return u}).then(u=>Yt.mergeObjectSync(r,u)):Yt.mergeObjectSync(r,c)}get shape(){return this._def.shape()}strict(e){return ue.errToObj,new Je({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:ue.errToObj(e).message??s}:{message:s}}}:{}})}strip(){return new Je({...this._def,unknownKeys:"strip"})}passthrough(){return new Je({...this._def,unknownKeys:"passthrough"})}extend(e){return new Je({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Je({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:we.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new Je({...this._def,catchall:e})}pick(e){let n={};for(let r of Ce.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new Je({...this._def,shape:()=>n})}omit(e){let n={};for(let r of Ce.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new Je({...this._def,shape:()=>n})}deepPartial(){return ra(this)}partial(e){let n={};for(let r of Ce.objectKeys(this.shape)){let s=this.shape[r];e&&!e[r]?n[r]=s:n[r]=s.optional()}return new Je({...this._def,shape:()=>n})}required(e){let n={};for(let r of Ce.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let i=this.shape[r];for(;i instanceof nr;)i=i._def.innerType;n[r]=i}return new Je({...this._def,shape:()=>n})}keyof(){return U_(Ce.objectKeys(this.shape))}};Je.create=(t,e)=>new Je({shape:()=>t,unknownKeys:"strip",catchall:Tr.create(),typeName:we.ZodObject,...xe(e)});Je.strictCreate=(t,e)=>new Je({shape:()=>t,unknownKeys:"strict",catchall:Tr.create(),typeName:we.ZodObject,...xe(e)});Je.lazycreate=(t,e)=>new Je({shape:t,unknownKeys:"strip",catchall:Tr.create(),typeName:we.ZodObject,...xe(e)});var so=class extends Oe{_parse(e){let{ctx:n}=this._processInputParams(e),r=this._def.options;function s(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let o=i.map(a=>new mn(a.ctx.common.issues));return te(n,{code:W.invalid_union,unionErrors:o}),ge}if(n.common.async)return Promise.all(r.map(async i=>{let o={...n,common:{...n.common,issues:[]},parent:null};return{result:await i._parseAsync({data:n.data,path:n.path,parent:o}),ctx:o}})).then(s);{let i,o=[];for(let c of r){let u={...n,common:{...n.common,issues:[]},parent:null},d=c._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!i&&(i={result:d,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(i)return n.common.issues.push(...i.ctx.common.issues),i.result;let a=o.map(c=>new mn(c));return te(n,{code:W.invalid_union,unionErrors:a}),ge}}get options(){return this._def.options}};so.create=(t,e)=>new so({options:t,typeName:we.ZodUnion,...xe(e)});var ks=t=>t instanceof ao?ks(t.schema):t instanceof ir?ks(t.innerType()):t instanceof co?[t.value]:t instanceof Wr?t.options:t instanceof uo?Ce.objectValues(t.enum):t instanceof lo?ks(t._def.innerType):t instanceof no?[void 0]:t instanceof ro?[null]:t instanceof nr?[void 0,...ks(t.unwrap())]:t instanceof Zr?[null,...ks(t.unwrap())]:t instanceof Nc||t instanceof ho?ks(t.unwrap()):t instanceof fo?ks(t._def.innerType):[],oa=class extends Oe{_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==ie.object)return te(n,{code:W.invalid_type,expected:ie.object,received:n.parsedType}),ge;let r=this.discriminator,s=n.data[r],i=this.optionsMap.get(s);return i?n.common.async?i._parseAsync({data:n.data,path:n.path,parent:n}):i._parseSync({data:n.data,path:n.path,parent:n}):(te(n,{code:W.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),ge)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){let s=new Map;for(let i of n){let o=ks(i.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of o){if(s.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);s.set(a,i)}}return new oa({typeName:we.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:s,...xe(r)})}};function sm(t,e){let n=Gr(t),r=Gr(e);if(t===e)return{valid:!0,data:t};if(n===ie.object&&r===ie.object){let s=Ce.objectKeys(e),i=Ce.objectKeys(t).filter(a=>s.indexOf(a)!==-1),o={...t,...e};for(let a of i){let c=sm(t[a],e[a]);if(!c.valid)return{valid:!1};o[a]=c.data}return{valid:!0,data:o}}else if(n===ie.array&&r===ie.array){if(t.length!==e.length)return{valid:!1};let s=[];for(let i=0;i<t.length;i++){let o=t[i],a=e[i],c=sm(o,a);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return n===ie.date&&r===ie.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var io=class extends Oe{_parse(e){let{status:n,ctx:r}=this._processInputParams(e),s=(i,o)=>{if(jl(i)||jl(o))return ge;let a=sm(i.value,o.value);return a.valid?((Ul(i)||Ul(o))&&n.dirty(),{status:n.value,value:a.data}):(te(r,{code:W.invalid_intersection_types}),ge)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([i,o])=>s(i,o)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};io.create=(t,e,n)=>new io({left:t,right:e,typeName:we.ZodIntersection,...xe(n)});var sr=class extends Oe{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==ie.array)return te(r,{code:W.invalid_type,expected:ie.array,received:r.parsedType}),ge;if(r.data.length<this._def.items.length)return te(r,{code:W.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),ge;!this._def.rest&&r.data.length>this._def.items.length&&(te(r,{code:W.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let i=[...r.data].map((o,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new rr(r,o,r.path,a)):null}).filter(o=>!!o);return r.common.async?Promise.all(i).then(o=>Yt.mergeArray(n,o)):Yt.mergeArray(n,i)}get items(){return this._def.items}rest(e){return new sr({...this._def,rest:e})}};sr.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new sr({items:t,typeName:we.ZodTuple,rest:null,...xe(e)})};var oo=class extends Oe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==ie.object)return te(r,{code:W.invalid_type,expected:ie.object,received:r.parsedType}),ge;let s=[],i=this._def.keyType,o=this._def.valueType;for(let a in r.data)s.push({key:i._parse(new rr(r,a,r.path,a)),value:o._parse(new rr(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Yt.mergeObjectAsync(n,s):Yt.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof Oe?new oo({keyType:e,valueType:n,typeName:we.ZodRecord,...xe(r)}):new oo({keyType:$n.create(),valueType:e,typeName:we.ZodRecord,...xe(n)})}},aa=class extends Oe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==ie.map)return te(r,{code:W.invalid_type,expected:ie.map,received:r.parsedType}),ge;let s=this._def.keyType,i=this._def.valueType,o=[...r.data.entries()].map(([a,c],u)=>({key:s._parse(new rr(r,a,r.path,[u,"key"])),value:i._parse(new rr(r,c,r.path,[u,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of o){let u=await c.key,d=await c.value;if(u.status==="aborted"||d.status==="aborted")return ge;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let c of o){let u=c.key,d=c.value;if(u.status==="aborted"||d.status==="aborted")return ge;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}};aa.create=(t,e,n)=>new aa({valueType:e,keyType:t,typeName:we.ZodMap,...xe(n)});var Ss=class extends Oe{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==ie.set)return te(r,{code:W.invalid_type,expected:ie.set,received:r.parsedType}),ge;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(te(r,{code:W.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(te(r,{code:W.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let i=this._def.valueType;function o(c){let u=new Set;for(let d of c){if(d.status==="aborted")return ge;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}let a=[...r.data.values()].map((c,u)=>i._parse(new rr(r,c,r.path,u)));return r.common.async?Promise.all(a).then(c=>o(c)):o(a)}min(e,n){return new Ss({...this._def,minSize:{value:e,message:ue.toString(n)}})}max(e,n){return new Ss({...this._def,maxSize:{value:e,message:ue.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};Ss.create=(t,e)=>new Ss({valueType:t,minSize:null,maxSize:null,typeName:we.ZodSet,...xe(e)});var ai=class extends Oe{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==ie.function)return te(n,{code:W.invalid_type,expected:ie.function,received:n.parsedType}),ge;function r(a,c){return Cc({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ta(),Ts].filter(u=>!!u),issueData:{code:W.invalid_arguments,argumentsError:c}})}function s(a,c){return Cc({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ta(),Ts].filter(u=>!!u),issueData:{code:W.invalid_return_type,returnTypeError:c}})}let i={errorMap:n.common.contextualErrorMap},o=n.data;if(this._def.returns instanceof ui){let a=this;return gn(async function(...c){let u=new mn([]),d=await a._def.args.parseAsync(c,i).catch(m=>{throw u.addIssue(r(c,m)),u}),f=await Reflect.apply(o,this,d);return await a._def.returns._def.type.parseAsync(f,i).catch(m=>{throw u.addIssue(s(f,m)),u})})}else{let a=this;return gn(function(...c){let u=a._def.args.safeParse(c,i);if(!u.success)throw new mn([r(c,u.error)]);let d=Reflect.apply(o,this,u.data),f=a._def.returns.safeParse(d,i);if(!f.success)throw new mn([s(d,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new ai({...this._def,args:sr.create(e).rest(Es.create())})}returns(e){return new ai({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new ai({args:e||sr.create([]).rest(Es.create()),returns:n||Es.create(),typeName:we.ZodFunction,...xe(r)})}},ao=class extends Oe{get schema(){return this._def.getter()}_parse(e){let{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};ao.create=(t,e)=>new ao({getter:t,typeName:we.ZodLazy,...xe(e)});var co=class extends Oe{_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return te(n,{received:n.data,code:W.invalid_literal,expected:this._def.value}),ge}return{status:"valid",value:e.data}}get value(){return this._def.value}};co.create=(t,e)=>new co({value:t,typeName:we.ZodLiteral,...xe(e)});function U_(t,e){return new Wr({values:t,typeName:we.ZodEnum,...xe(e)})}var Wr=class extends Oe{_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return te(n,{expected:Ce.joinValues(r),received:n.parsedType,code:W.invalid_type}),ge}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let n=this._getOrReturnCtx(e),r=this._def.values;return te(n,{received:n.data,code:W.invalid_enum_value,options:r}),ge}return gn(e.data)}get options(){return this._def.values}get enum(){let e={};for(let n of this._def.values)e[n]=n;return e}get Values(){let e={};for(let n of this._def.values)e[n]=n;return e}get Enum(){let e={};for(let n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return Wr.create(e,{...this._def,...n})}exclude(e,n=this._def){return Wr.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}};Wr.create=U_;var uo=class extends Oe{_parse(e){let n=Ce.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==ie.string&&r.parsedType!==ie.number){let s=Ce.objectValues(n);return te(r,{expected:Ce.joinValues(s),received:r.parsedType,code:W.invalid_type}),ge}if(this._cache||(this._cache=new Set(Ce.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let s=Ce.objectValues(n);return te(r,{received:r.data,code:W.invalid_enum_value,options:s}),ge}return gn(e.data)}get enum(){return this._def.values}};uo.create=(t,e)=>new uo({values:t,typeName:we.ZodNativeEnum,...xe(e)});var ui=class extends Oe{unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==ie.promise&&n.common.async===!1)return te(n,{code:W.invalid_type,expected:ie.promise,received:n.parsedType}),ge;let r=n.parsedType===ie.promise?n.data:Promise.resolve(n.data);return gn(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};ui.create=(t,e)=>new ui({type:t,typeName:we.ZodPromise,...xe(e)});var ir=class extends Oe{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===we.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),s=this._def.effect||null,i={addIssue:o=>{te(r,o),o.fatal?n.abort():n.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),s.type==="preprocess"){let o=s.transform(r.data,i);if(r.common.async)return Promise.resolve(o).then(async a=>{if(n.value==="aborted")return ge;let c=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return c.status==="aborted"?ge:c.status==="dirty"?eo(c.value):n.value==="dirty"?eo(c.value):c});{if(n.value==="aborted")return ge;let a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?ge:a.status==="dirty"?eo(a.value):n.value==="dirty"?eo(a.value):a}}if(s.type==="refinement"){let o=a=>{let c=s.refinement(a,i);if(r.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?ge:(a.status==="dirty"&&n.dirty(),o(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?ge:(a.status==="dirty"&&n.dirty(),o(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!oi(o))return ge;let a=s.transform(o.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>oi(o)?Promise.resolve(s.transform(o.value,i)).then(a=>({status:n.value,value:a})):ge);Ce.assertNever(s)}};ir.create=(t,e,n)=>new ir({schema:t,typeName:we.ZodEffects,effect:e,...xe(n)});ir.createWithPreprocess=(t,e,n)=>new ir({schema:e,effect:{type:"preprocess",transform:t},typeName:we.ZodEffects,...xe(n)});var nr=class extends Oe{_parse(e){return this._getType(e)===ie.undefined?gn(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};nr.create=(t,e)=>new nr({innerType:t,typeName:we.ZodOptional,...xe(e)});var Zr=class extends Oe{_parse(e){return this._getType(e)===ie.null?gn(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Zr.create=(t,e)=>new Zr({innerType:t,typeName:we.ZodNullable,...xe(e)});var lo=class extends Oe{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return n.parsedType===ie.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};lo.create=(t,e)=>new lo({innerType:t,typeName:we.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...xe(e)});var fo=class extends Oe{_parse(e){let{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return na(s)?s.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new mn(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new mn(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};fo.create=(t,e)=>new fo({innerType:t,typeName:we.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...xe(e)});var ca=class extends Oe{_parse(e){if(this._getType(e)!==ie.nan){let r=this._getOrReturnCtx(e);return te(r,{code:W.invalid_type,expected:ie.nan,received:r.parsedType}),ge}return{status:"valid",value:e.data}}};ca.create=t=>new ca({typeName:we.ZodNaN,...xe(t)});var G6=Symbol("zod_brand"),Nc=class extends Oe{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},po=class extends Oe{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?ge:i.status==="dirty"?(n.dirty(),eo(i.value)):this._def.out._parseAsync({data:i.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?ge:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(e,n){return new po({in:e,out:n,typeName:we.ZodPipeline})}},ho=class extends Oe{_parse(e){let n=this._def.innerType._parse(e),r=s=>(oi(s)&&(s.value=Object.freeze(s.value)),s);return na(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};ho.create=(t,e)=>new ho({innerType:t,typeName:we.ZodReadonly,...xe(e)});function B_(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function L_(t,e={},n){return t?ci.create().superRefine((r,s)=>{let i=t(r);if(i instanceof Promise)return i.then(o=>{if(!o){let a=B_(e,r),c=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:c})}});if(!i){let o=B_(e,r),a=o.fatal??n??!0;s.addIssue({code:"custom",...o,fatal:a})}}):ci.create()}var H6={object:Je.lazycreate},we;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(we||(we={}));var z6=(t,e={message:`Input not instance of ${t.name}`})=>L_(n=>n instanceof t,e),P_=$n.create,V_=Hr.create,W6=ca.create,Z6=zr.create,F_=to.create,J6=xs.create,K6=sa.create,Y6=no.create,X6=ro.create,Q6=ci.create,e4=Es.create,t4=Tr.create,n4=ia.create,r4=Gn.create,s4=Je.create,i4=Je.strictCreate,o4=so.create,a4=oa.create,c4=io.create,u4=sr.create,l4=oo.create,d4=aa.create,f4=Ss.create,p4=ai.create,h4=ao.create,m4=co.create,g4=Wr.create,y4=uo.create,b4=ui.create,w4=ir.create,_4=nr.create,v4=Zr.create,T4=ir.createWithPreprocess,k4=po.create,E4=()=>P_().optional(),x4=()=>V_().optional(),S4=()=>F_().optional(),O4={string:t=>$n.create({...t,coerce:!0}),number:t=>Hr.create({...t,coerce:!0}),boolean:t=>to.create({...t,coerce:!0}),bigint:t=>zr.create({...t,coerce:!0}),date:t=>xs.create({...t,coerce:!0})};var I4=ge;function C4(t,e){let n={...t};for(let r of e)delete n[r];return n}var N4=/:([a-zA-Z_][a-zA-Z0-9_]*)/g;function R4(t){let e=t.url,n=t.params;return n&&(e=e.replace(N4,(r,s)=>s in n?`${n[s]}`:r)),e}function q_(t,e,n){return t.find(r=>r.method===e&&r.path===n)}function B4(t){let e=new FormData;for(let n in t)e.append(n,t[n]);return{data:e}}var Ll=class extends Error{constructor(t,e,n,r){super(t),this.config=e,this.data=n,this.cause=r}},M4={name:"form-data",request:async(t,e)=>{if(typeof e.data!="object"||Array.isArray(e.data))throw new Ll("Zodios: multipart/form-data body must be an object",e);let n=B4(e.data);return{...e,data:n.data,headers:{...e.headers,...n.headers}}}};function D4(){return M4}var j4={name:"form-url",request:async(t,e)=>{if(typeof e.data!="object"||Array.isArray(e.data))throw new Ll("Zodios: application/x-www-form-urlencoded body must be an object",e);return{...e,data:new URLSearchParams(e.data).toString(),headers:{...e.headers,"Content-Type":"application/x-www-form-urlencoded"}}}};function U4(){return j4}function $_(t,e){return{request:async(n,r)=>({...r,headers:{...r.headers,[t]:e}})}}function G_(t){return[!0,"response","all"].includes(t)}function H_(t){return[!0,"request","all"].includes(t)}function L4({validate:t,transform:e,sendDefaults:n}){return{name:"zod-validation",request:H_(t)?async(r,s)=>{let i=q_(r,s.method,s.url);if(!i)throw new Error(`No endpoint found for ${s.method} ${s.url}`);let{parameters:o}=i;if(!o)return s;let a={...s,queries:{...s.queries},headers:{...s.headers},params:{...s.params}},c={Query:f=>{var p;return(p=a.queries)==null?void 0:p[f]},Body:f=>a.data,Header:f=>{var p;return(p=a.headers)==null?void 0:p[f]},Path:f=>{var p;return(p=a.params)==null?void 0:p[f]}},u={Query:(f,p)=>a.queries[f]=p,Body:(f,p)=>a.data=p,Header:(f,p)=>a.headers[f]=p,Path:(f,p)=>a.params[f]=p},d=H_(e);for(let f of o){let{name:p,schema:m,type:b}=f,_=c[b](p);if(n||_!==void 0){let T=await m.safeParseAsync(_);if(!T.success)throw new Ll(`Zodios: Invalid ${b} parameter '${p}'`,s,_,T.error);d&&u[b](p,T.data)}}return a}:void 0,response:G_(t)?async(r,s,i)=>{var o,a,c,u;let d=q_(r,s.method,s.url);if(!d)throw new Error(`No endpoint found for ${s.method} ${s.url}`);if((a=(o=i.headers)==null?void 0:o["content-type"])!=null&&a.includes("application/json")||(u=(c=i.headers)==null?void 0:c["content-type"])!=null&&u.includes("application/vnd.api+json")){let f=await d.response.safeParseAsync(i.data);if(!f.success)throw new Ll(`Zodios: Invalid response from endpoint '${d.method} ${d.path}'
847
847
  status: ${i.status} ${i.statusText}
848
848
  cause:
849
849
  ${f.error.message}
850
850
  received:
851
- ${JSON.stringify(i.data,null,2)}`,s,i.data,f.error);u_(e)&&(i.data=f.data)}return i}:void 0}}var d_=class{constructor(t,e){this.plugins=[],this.key=`${t}-${e}`}indexOf(t){return this.plugins.findIndex(e=>e?.name===t)}use(t){if(t.name){let e=this.indexOf(t.name);if(e!==-1)return this.plugins[e]=t,{key:this.key,value:e}}return this.plugins.push(t),{key:this.key,value:this.plugins.length-1}}eject(t){if(typeof t=="string"){let e=this.indexOf(t);if(e===-1)throw new Error(`Plugin with name '${t}' not found`);this.plugins[e]=void 0}else{if(t.key!==this.key)throw new Error(`Plugin with key '${t.key}' is not registered for endpoint '${this.key}'`);this.plugins[t.value]=void 0}}async interceptRequest(t,e){let n=e;for(let r of this.plugins)r!=null&&r.request&&(n=await r.request(t,n));return n}async interceptResponse(t,e,n){let r=n;for(let s=this.plugins.length-1;s>=0;s--){let i=this.plugins[s];i&&(r=r.then(i!=null&&i.response?o=>i.response(t,e,o):void 0,i!=null&&i.error?o=>i.error(t,e,o):void 0))}return r}count(){return this.plugins.reduce((t,e)=>e?t+1:t,0)}};function f_(t){let e=new Set;for(let r of t){let s=`${r.method} ${r.path}`;if(e.has(s))throw new Error(`Zodios: Duplicate path '${s}'`);e.add(s)}let n=new Set;for(let r of t)if(r.alias){if(n.has(r.alias))throw new Error(`Zodios: Duplicate alias '${r.alias}'`);n.add(r.alias)}for(let r of t)if(r.parameters&&r.parameters.filter(s=>s.type==="Body").length>1)throw new Error(`Zodios: Multiple body parameters in endpoint '${r.path}'`)}function p_(t){return f_(t),t}var rC=class{constructor(t,e,n){this.endpointPlugins=new Map;let r;if(!t)throw Array.isArray(e)?new Error("Zodios: missing base url"):new Error("Zodios: missing api description");let s;if(typeof t=="string"&&Array.isArray(e))s=t,this.api=e,r=n||{};else if(Array.isArray(t)&&!Array.isArray(e))this.api=t,r=e||{};else throw new Error("Zodios: api must be an array");f_(this.api),this.options={validate:!0,transform:!0,sendDefaults:!1,...r},this.options.axiosInstance?this.axiosInstance=this.options.axiosInstance:this.axiosInstance=W4.create({...this.options.axiosConfig}),s&&(this.axiosInstance.defaults.baseURL=s),this.injectAliasEndpoints(),this.initPlugins(),[!0,"all","request","response"].includes(this.options.validate)&&this.use(nC(this.options))}initPlugins(){this.endpointPlugins.set("any-any",new d_("any","any")),this.api.forEach(t=>{let e=new d_(t.method,t.path);switch(t.requestFormat){case"binary":e.use(c_("Content-Type","application/octet-stream"));break;case"form-data":e.use(Q4());break;case"form-url":e.use(tC());break;case"text":e.use(c_("Content-Type","text/plain"));break}this.endpointPlugins.set(`${t.method}-${t.path}`,e)})}getAnyEndpointPlugins(){return this.endpointPlugins.get("any-any")}findAliasEndpointPlugins(t){let e=this.api.find(n=>n.alias===t);if(e)return this.endpointPlugins.get(`${e.method}-${e.path}`)}findEnpointPlugins(t,e){return this.endpointPlugins.get(`${t}-${e}`)}get baseURL(){return this.axiosInstance.defaults.baseURL}get axios(){return this.axiosInstance}use(...t){if(typeof t[0]=="object")return this.getAnyEndpointPlugins().use(t[0]);if(typeof t[0]=="string"&&typeof t[1]=="object"){let e=this.findAliasEndpointPlugins(t[0]);if(!e)throw new Error(`Zodios: no alias '${t[0]}' found to register plugin`);return e.use(t[1])}else if(typeof t[0]=="string"&&typeof t[1]=="string"&&typeof t[2]=="object"){let e=this.findEnpointPlugins(t[0],t[1]);if(!e)throw new Error(`Zodios: no endpoint '${t[0]} ${t[1]}' found to register plugin`);return e.use(t[2])}throw new Error("Zodios: invalid plugin registration")}eject(t){var e;if(typeof t=="string"){this.getAnyEndpointPlugins().eject(t);return}(e=this.endpointPlugins.get(t.key))==null||e.eject(t)}injectAliasEndpoints(){this.api.forEach(t=>{t.alias&&(["post","put","patch","delete"].includes(t.method)?this[t.alias]=(e,n)=>this.request({...n,method:t.method,url:t.path,data:e}):this[t.alias]=e=>this.request({...e,method:t.method,url:t.path}))})}async request(t){let e=t,n=this.getAnyEndpointPlugins(),r=this.findEnpointPlugins(e.method,e.url);e=await n.interceptRequest(this.api,e),r&&(e=await r.interceptRequest(this.api,e));let s=this.axiosInstance.request({...Z4(e,["params","queries"]),url:K4(e),params:e.queries});return r&&(s=r.interceptResponse(this.api,e,s)),s=n.interceptResponse(this.api,e,s),(await s).data}async get(t,...[e]){return this.request({...e,method:"get",url:t})}async post(t,e,...[n]){return this.request({...n,method:"post",url:t,data:e})}async put(t,e,...[n]){return this.request({...n,method:"put",url:t,data:e})}async patch(t,e,...[n]){return this.request({...n,method:"patch",url:t,data:e})}async delete(t,e,...[n]){return this.request({...n,method:"delete",url:t,data:e})}},h_=rC;var m_=pe.enum(["crypto","fx","equity","metal","rates","crypto_redemption_rate","commodities","crypto_index","crypto_nav","eco","kalshi"]),g_=m_.nullish(),mm=pe.string(),y_=pe.object({attributes:pe.record(pe.string()),id:mm}).passthrough(),zl=pe.string(),b_=pe.enum(["hex","base64"]),gm=pe.object({data:pe.array(pe.string()),encoding:b_}).passthrough(),hm=pe.object({conf:pe.string(),expo:pe.number().int(),price:pe.string(),publish_time:pe.number().int()}).passthrough(),w_=pe.object({prev_publish_time:pe.number().int().nullable(),proof_available_time:pe.number().int().nullable(),slot:pe.number().int().gte(0).nullable()}).partial().passthrough(),v_=pe.object({ema_price:hm,id:mm,metadata:w_,price:hm}).passthrough(),Wl=pe.object({binary:gm,parsed:pe.array(v_).nullish()}).passthrough(),__=pe.object({cap:pe.number().int().gte(0),publisher:pe.string()}).passthrough(),T_=pe.object({publisher_stake_caps:pe.array(__)}).passthrough(),k_=pe.object({binary:gm,parsed:pe.array(T_).nullish()}).passthrough(),jc={AssetType:m_,asset_type:g_,RpcPriceIdentifier:mm,PriceFeedMetadata:y_,PriceIdInput:zl,EncodingType:b_,BinaryUpdate:gm,RpcPrice:hm,RpcPriceFeedMetadataV2:w_,ParsedPriceUpdate:v_,PriceUpdate:Wl,ParsedPublisherStakeCap:__,ParsedPublisherStakeCapsUpdate:T_,LatestPublisherStakeCapsUpdateDataResponse:k_},sC=p_([{method:"get",path:"/v2/price_feeds",alias:"price_feeds_metadata",description:`Get the set of price feeds.
851
+ ${JSON.stringify(i.data,null,2)}`,s,i.data,f.error);G_(e)&&(i.data=f.data)}return i}:void 0}}var z_=class{constructor(t,e){this.plugins=[],this.key=`${t}-${e}`}indexOf(t){return this.plugins.findIndex(e=>e?.name===t)}use(t){if(t.name){let e=this.indexOf(t.name);if(e!==-1)return this.plugins[e]=t,{key:this.key,value:e}}return this.plugins.push(t),{key:this.key,value:this.plugins.length-1}}eject(t){if(typeof t=="string"){let e=this.indexOf(t);if(e===-1)throw new Error(`Plugin with name '${t}' not found`);this.plugins[e]=void 0}else{if(t.key!==this.key)throw new Error(`Plugin with key '${t.key}' is not registered for endpoint '${this.key}'`);this.plugins[t.value]=void 0}}async interceptRequest(t,e){let n=e;for(let r of this.plugins)r!=null&&r.request&&(n=await r.request(t,n));return n}async interceptResponse(t,e,n){let r=n;for(let s=this.plugins.length-1;s>=0;s--){let i=this.plugins[s];i&&(r=r.then(i!=null&&i.response?o=>i.response(t,e,o):void 0,i!=null&&i.error?o=>i.error(t,e,o):void 0))}return r}count(){return this.plugins.reduce((t,e)=>e?t+1:t,0)}};function W_(t){let e=new Set;for(let r of t){let s=`${r.method} ${r.path}`;if(e.has(s))throw new Error(`Zodios: Duplicate path '${s}'`);e.add(s)}let n=new Set;for(let r of t)if(r.alias){if(n.has(r.alias))throw new Error(`Zodios: Duplicate alias '${r.alias}'`);n.add(r.alias)}for(let r of t)if(r.parameters&&r.parameters.filter(s=>s.type==="Body").length>1)throw new Error(`Zodios: Multiple body parameters in endpoint '${r.path}'`)}function Z_(t){return W_(t),t}var P4=class{constructor(t,e,n){this.endpointPlugins=new Map;let r;if(!t)throw Array.isArray(e)?new Error("Zodios: missing base url"):new Error("Zodios: missing api description");let s;if(typeof t=="string"&&Array.isArray(e))s=t,this.api=e,r=n||{};else if(Array.isArray(t)&&!Array.isArray(e))this.api=t,r=e||{};else throw new Error("Zodios: api must be an array");W_(this.api),this.options={validate:!0,transform:!0,sendDefaults:!1,...r},this.options.axiosInstance?this.axiosInstance=this.options.axiosInstance:this.axiosInstance=A4.create({...this.options.axiosConfig}),s&&(this.axiosInstance.defaults.baseURL=s),this.injectAliasEndpoints(),this.initPlugins(),[!0,"all","request","response"].includes(this.options.validate)&&this.use(L4(this.options))}initPlugins(){this.endpointPlugins.set("any-any",new z_("any","any")),this.api.forEach(t=>{let e=new z_(t.method,t.path);switch(t.requestFormat){case"binary":e.use($_("Content-Type","application/octet-stream"));break;case"form-data":e.use(D4());break;case"form-url":e.use(U4());break;case"text":e.use($_("Content-Type","text/plain"));break}this.endpointPlugins.set(`${t.method}-${t.path}`,e)})}getAnyEndpointPlugins(){return this.endpointPlugins.get("any-any")}findAliasEndpointPlugins(t){let e=this.api.find(n=>n.alias===t);if(e)return this.endpointPlugins.get(`${e.method}-${e.path}`)}findEnpointPlugins(t,e){return this.endpointPlugins.get(`${t}-${e}`)}get baseURL(){return this.axiosInstance.defaults.baseURL}get axios(){return this.axiosInstance}use(...t){if(typeof t[0]=="object")return this.getAnyEndpointPlugins().use(t[0]);if(typeof t[0]=="string"&&typeof t[1]=="object"){let e=this.findAliasEndpointPlugins(t[0]);if(!e)throw new Error(`Zodios: no alias '${t[0]}' found to register plugin`);return e.use(t[1])}else if(typeof t[0]=="string"&&typeof t[1]=="string"&&typeof t[2]=="object"){let e=this.findEnpointPlugins(t[0],t[1]);if(!e)throw new Error(`Zodios: no endpoint '${t[0]} ${t[1]}' found to register plugin`);return e.use(t[2])}throw new Error("Zodios: invalid plugin registration")}eject(t){var e;if(typeof t=="string"){this.getAnyEndpointPlugins().eject(t);return}(e=this.endpointPlugins.get(t.key))==null||e.eject(t)}injectAliasEndpoints(){this.api.forEach(t=>{t.alias&&(["post","put","patch","delete"].includes(t.method)?this[t.alias]=(e,n)=>this.request({...n,method:t.method,url:t.path,data:e}):this[t.alias]=e=>this.request({...e,method:t.method,url:t.path}))})}async request(t){let e=t,n=this.getAnyEndpointPlugins(),r=this.findEnpointPlugins(e.method,e.url);e=await n.interceptRequest(this.api,e),r&&(e=await r.interceptRequest(this.api,e));let s=this.axiosInstance.request({...C4(e,["params","queries"]),url:R4(e),params:e.queries});return r&&(s=r.interceptResponse(this.api,e,s)),s=n.interceptResponse(this.api,e,s),(await s).data}async get(t,...[e]){return this.request({...e,method:"get",url:t})}async post(t,e,...[n]){return this.request({...n,method:"post",url:t,data:e})}async put(t,e,...[n]){return this.request({...n,method:"put",url:t,data:e})}async patch(t,e,...[n]){return this.request({...n,method:"patch",url:t,data:e})}async delete(t,e,...[n]){return this.request({...n,method:"delete",url:t,data:e})}},J_=P4;var K_=pe.enum(["crypto","fx","equity","metal","rates","crypto_redemption_rate","commodities","crypto_index","crypto_nav","eco","kalshi"]),Y_=K_.nullish(),om=pe.string(),X_=pe.object({attributes:pe.record(pe.string()),id:om}).passthrough(),Pl=pe.string(),Q_=pe.enum(["hex","base64"]),am=pe.object({data:pe.array(pe.string()),encoding:Q_}).passthrough(),im=pe.object({conf:pe.string(),expo:pe.number().int(),price:pe.string(),publish_time:pe.number().int()}).passthrough(),ev=pe.object({prev_publish_time:pe.number().int().nullable(),proof_available_time:pe.number().int().nullable(),slot:pe.number().int().gte(0).nullable()}).partial().passthrough(),tv=pe.object({ema_price:im,id:om,metadata:ev,price:im}).passthrough(),Vl=pe.object({binary:am,parsed:pe.array(tv).nullish()}).passthrough(),nv=pe.object({cap:pe.number().int().gte(0),publisher:pe.string()}).passthrough(),rv=pe.object({publisher_stake_caps:pe.array(nv)}).passthrough(),sv=pe.object({binary:am,parsed:pe.array(rv).nullish()}).passthrough(),Rc={AssetType:K_,asset_type:Y_,RpcPriceIdentifier:om,PriceFeedMetadata:X_,PriceIdInput:Pl,EncodingType:Q_,BinaryUpdate:am,RpcPrice:im,RpcPriceFeedMetadataV2:ev,ParsedPriceUpdate:tv,PriceUpdate:Vl,ParsedPublisherStakeCap:nv,ParsedPublisherStakeCapsUpdate:rv,LatestPublisherStakeCapsUpdateDataResponse:sv},V4=Z_([{method:"get",path:"/v2/price_feeds",alias:"price_feeds_metadata",description:`Get the set of price feeds.
852
852
 
853
853
  This endpoint fetches all price feeds from the Pyth network. It can be filtered by asset type
854
- and query string.`,requestFormat:"json",parameters:[{name:"query",type:"Query",schema:pe.string().nullish()},{name:"asset_type",type:"Query",schema:g_}],response:pe.array(y_)},{method:"get",path:"/v2/updates/price/:publish_time",alias:"timestamp_price_updates",description:`Get the latest price updates by price feed id.
854
+ and query string.`,requestFormat:"json",parameters:[{name:"query",type:"Query",schema:pe.string().nullish()},{name:"asset_type",type:"Query",schema:Y_}],response:pe.array(X_)},{method:"get",path:"/v2/updates/price/:publish_time",alias:"timestamp_price_updates",description:`Get the latest price updates by price feed id.
855
855
 
856
- Given a collection of price feed ids, retrieve the latest Pyth price for each price feed.`,requestFormat:"json",parameters:[{name:"publish_time",type:"Path",schema:pe.number().int()},{name:"ids[]",type:"Query",schema:pe.array(zl)},{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()},{name:"ignore_invalid_price_ids",type:"Query",schema:pe.boolean().optional()}],response:Wl,errors:[{status:404,description:"Price ids not found",schema:pe.void()}]},{method:"get",path:"/v2/updates/price/latest",alias:"latest_price_updates",description:`Get the latest price updates by price feed id.
856
+ Given a collection of price feed ids, retrieve the latest Pyth price for each price feed.`,requestFormat:"json",parameters:[{name:"publish_time",type:"Path",schema:pe.number().int()},{name:"ids[]",type:"Query",schema:pe.array(Pl)},{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()},{name:"ignore_invalid_price_ids",type:"Query",schema:pe.boolean().optional()}],response:Vl,errors:[{status:404,description:"Price ids not found",schema:pe.void()}]},{method:"get",path:"/v2/updates/price/latest",alias:"latest_price_updates",description:`Get the latest price updates by price feed id.
857
857
 
858
- Given a collection of price feed ids, retrieve the latest Pyth price for each price feed.`,requestFormat:"json",parameters:[{name:"ids[]",type:"Query",schema:pe.array(zl)},{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()},{name:"ignore_invalid_price_ids",type:"Query",schema:pe.boolean().optional()}],response:Wl,errors:[{status:404,description:"Price ids not found",schema:pe.void()}]},{method:"get",path:"/v2/updates/price/stream",alias:"price_stream_sse_handler",description:`SSE route handler for streaming price updates.
858
+ Given a collection of price feed ids, retrieve the latest Pyth price for each price feed.`,requestFormat:"json",parameters:[{name:"ids[]",type:"Query",schema:pe.array(Pl)},{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()},{name:"ignore_invalid_price_ids",type:"Query",schema:pe.boolean().optional()}],response:Vl,errors:[{status:404,description:"Price ids not found",schema:pe.void()}]},{method:"get",path:"/v2/updates/price/stream",alias:"price_stream_sse_handler",description:`SSE route handler for streaming price updates.
859
859
 
860
860
  The connection will automatically close after 24 hours to prevent resource leaks.
861
- Clients should implement reconnection logic to maintain continuous price updates.`,requestFormat:"json",parameters:[{name:"ids[]",type:"Query",schema:pe.array(zl)},{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()},{name:"allow_unordered",type:"Query",schema:pe.boolean().optional()},{name:"benchmarks_only",type:"Query",schema:pe.boolean().optional()},{name:"ignore_invalid_price_ids",type:"Query",schema:pe.boolean().optional()}],response:Wl,errors:[{status:404,description:"Price ids not found",schema:pe.void()}]},{method:"get",path:"/v2/updates/publisher_stake_caps/latest",alias:"latest_publisher_stake_caps",description:"Get the most recent publisher stake caps update data.",requestFormat:"json",parameters:[{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()}],response:k_}]),$z=new h_(sC);var iC=5e3,oC=3,Zl=class{baseURL;timeout;httpRetries;headers;accessToken;constructor(e,n){this.baseURL=e,this.timeout=n?.timeout??iC,this.httpRetries=n?.httpRetries??oC,this.headers=n?.headers??{},this.accessToken=n?.accessToken}async httpRequest(e,n,r,s=this.httpRetries,i=100+Math.floor(Math.random()*100)){try{let o={};this.accessToken!==void 0&&(o.Authorization=`Bearer ${this.accessToken}`);let a=await fetch(e,{...r,signal:AbortSignal.any([...r?.signal?[r.signal]:[],AbortSignal.timeout(this.timeout)]),headers:{...o,...this.headers,...r?.headers}});if(!a.ok){let u=await a.text();throw new Error(`HTTP error! status: ${a.status.toString()}${u?`, body: ${u}`:""}`)}let c=await a.json();return n.parse(c)}catch(o){if(s>0&&!(o instanceof Error&&o.name==="AbortError"))return await new Promise(a=>setTimeout(a,i)),this.httpRequest(e,n,r,s-1,i*2);throw o}}async getPriceFeeds({fetchOptions:e,...n}={}){let r=this.buildURL("price_feeds");if(n){let s=Rc(n);this.appendUrlSearchParams(r,s)}return await this.httpRequest(r.toString(),jc.PriceFeedMetadata.array(),e)}async getLatestPublisherCaps({fetchOptions:e,...n}={}){let r=this.buildURL("updates/publisher_stake_caps/latest");return n&&this.appendUrlSearchParams(r,n),await this.httpRequest(r.toString(),jc.LatestPublisherStakeCapsUpdateDataResponse,e)}async getLatestPriceUpdates(e,n,r){let s=this.buildURL("updates/price/latest");for(let i of e)s.searchParams.append("ids[]",i);if(n){let i=Rc(n);this.appendUrlSearchParams(s,i)}return this.httpRequest(s.toString(),jc.PriceUpdate,r)}async getPriceUpdatesAtTimestamp(e,n,r,s){let i=this.buildURL(`updates/price/${e.toString()}`);for(let o of n)i.searchParams.append("ids[]",o);if(r){let o=Rc(r);this.appendUrlSearchParams(i,o)}return this.httpRequest(i.toString(),jc.PriceUpdate,s)}async getPriceUpdatesStream(e,n){let r=this.buildURL("updates/price/stream");for(let i of e)r.searchParams.append("ids[]",i);if(n){let i=Rc(n);this.appendUrlSearchParams(r,i)}let s={};return this.accessToken!==void 0&&(s.Authorization=`Bearer ${this.accessToken}`),new eo(r.toString(),{fetch:(i,o)=>fetch(i,{...o,headers:{...o?.headers,...s,...this.headers}})})}appendUrlSearchParams(e,n){for(let[r,s]of Object.entries(n))s!==void 0&&e.searchParams.append(r,String(s))}buildURL(e){return new URL(`./v2/${e}`,`${this.baseURL}${this.baseURL.endsWith("/")?"":"/"}`)}};var aC=Object.create,R_=Object.defineProperty,cC=Object.getOwnPropertyDescriptor,uC=Object.getOwnPropertyNames,lC=Object.getPrototypeOf,dC=Object.prototype.hasOwnProperty,fC=(t=>typeof bi<"u"?bi:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof bi<"u"?bi:e)[n]}):t)(function(t){if(typeof bi<"u")return bi.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')}),pC=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),hC=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of uC(e))!dC.call(t,s)&&s!==n&&R_(t,s,{get:()=>e[s],enumerable:!(r=cC(e,s))||r.enumerable});return t},Uc=(t,e,n)=>(n=t!=null?aC(lC(t)):{},hC(e||!t||!t.__esModule?R_(n,"default",{value:t,enumerable:!0}):n,t)),Pc=pC((t,e)=>{"use strict";(function(n,r){"use strict";function s(l,h){if(!l)throw new Error(h||"Assertion failed")}function i(l,h){l.super_=h;var y=function(){};y.prototype=h.prototype,l.prototype=new y,l.prototype.constructor=l}function o(l,h,y){if(o.isBN(l))return l;this.negative=0,this.words=null,this.length=0,this.red=null,l!==null&&((h==="le"||h==="be")&&(y=h,h=10),this._init(l||0,h||10,y||"be"))}typeof n=="object"?n.exports=o:r.BN=o,o.BN=o,o.wordSize=26;var a;try{typeof window<"u"&&typeof window.Buffer<"u"?a=window.Buffer:a=fC("buffer").Buffer}catch{}o.isBN=function(l){return l instanceof o?!0:l!==null&&typeof l=="object"&&l.constructor.wordSize===o.wordSize&&Array.isArray(l.words)},o.max=function(l,h){return l.cmp(h)>0?l:h},o.min=function(l,h){return l.cmp(h)<0?l:h},o.prototype._init=function(l,h,y){if(typeof l=="number")return this._initNumber(l,h,y);if(typeof l=="object")return this._initArray(l,h,y);h==="hex"&&(h=16),s(h===(h|0)&&h>=2&&h<=36),l=l.toString().replace(/\s+/g,"");var w=0;l[0]==="-"&&(w++,this.negative=1),w<l.length&&(h===16?this._parseHex(l,w,y):(this._parseBase(l,h,w),y==="le"&&this._initArray(this.toArray(),h,y)))},o.prototype._initNumber=function(l,h,y){l<0&&(this.negative=1,l=-l),l<67108864?(this.words=[l&67108863],this.length=1):l<4503599627370496?(this.words=[l&67108863,l/67108864&67108863],this.length=2):(s(l<9007199254740992),this.words=[l&67108863,l/67108864&67108863,1],this.length=3),y==="le"&&this._initArray(this.toArray(),h,y)},o.prototype._initArray=function(l,h,y){if(s(typeof l.length=="number"),l.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(l.length/3),this.words=new Array(this.length);for(var w=0;w<this.length;w++)this.words[w]=0;var _,S,I=0;if(y==="be")for(w=l.length-1,_=0;w>=0;w-=3)S=l[w]|l[w-1]<<8|l[w-2]<<16,this.words[_]|=S<<I&67108863,this.words[_+1]=S>>>26-I&67108863,I+=24,I>=26&&(I-=26,_++);else if(y==="le")for(w=0,_=0;w<l.length;w+=3)S=l[w]|l[w+1]<<8|l[w+2]<<16,this.words[_]|=S<<I&67108863,this.words[_+1]=S>>>26-I&67108863,I+=24,I>=26&&(I-=26,_++);return this._strip()};function c(l,h){var y=l.charCodeAt(h);if(y>=48&&y<=57)return y-48;if(y>=65&&y<=70)return y-55;if(y>=97&&y<=102)return y-87;s(!1,"Invalid character in "+l)}function u(l,h,y){var w=c(l,y);return y-1>=h&&(w|=c(l,y-1)<<4),w}o.prototype._parseHex=function(l,h,y){this.length=Math.ceil((l.length-h)/6),this.words=new Array(this.length);for(var w=0;w<this.length;w++)this.words[w]=0;var _=0,S=0,I;if(y==="be")for(w=l.length-1;w>=h;w-=2)I=u(l,h,w)<<_,this.words[S]|=I&67108863,_>=18?(_-=18,S+=1,this.words[S]|=I>>>26):_+=8;else{var k=l.length-h;for(w=k%2===0?h+1:h;w<l.length;w+=2)I=u(l,h,w)<<_,this.words[S]|=I&67108863,_>=18?(_-=18,S+=1,this.words[S]|=I>>>26):_+=8}this._strip()};function d(l,h,y,w){for(var _=0,S=0,I=Math.min(l.length,y),k=h;k<I;k++){var g=l.charCodeAt(k)-48;_*=w,g>=49?S=g-49+10:g>=17?S=g-17+10:S=g,s(g>=0&&S<w,"Invalid character"),_+=S}return _}o.prototype._parseBase=function(l,h,y){this.words=[0],this.length=1;for(var w=0,_=1;_<=67108863;_*=h)w++;w--,_=_/h|0;for(var S=l.length-y,I=S%w,k=Math.min(S,S-I)+y,g=0,E=y;E<k;E+=w)g=d(l,E,E+w,h),this.imuln(_),this.words[0]+g<67108864?this.words[0]+=g:this._iaddn(g);if(I!==0){var G=1;for(g=d(l,E,l.length,h),E=0;E<I;E++)G*=h;this.imuln(G),this.words[0]+g<67108864?this.words[0]+=g:this._iaddn(g)}this._strip()},o.prototype.copy=function(l){l.words=new Array(this.length);for(var h=0;h<this.length;h++)l.words[h]=this.words[h];l.length=this.length,l.negative=this.negative,l.red=this.red};function f(l,h){l.words=h.words,l.length=h.length,l.negative=h.negative,l.red=h.red}if(o.prototype._move=function(l){f(l,this)},o.prototype.clone=function(){var l=new o(null);return this.copy(l),l},o.prototype._expand=function(l){for(;this.length<l;)this.words[this.length++]=0;return this},o.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},o.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=p}catch{o.prototype.inspect=p}else o.prototype.inspect=p;function p(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var m=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],b=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],v=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(l,h){l=l||10,h=h|0||1;var y;if(l===16||l==="hex"){y="";for(var w=0,_=0,S=0;S<this.length;S++){var I=this.words[S],k=((I<<w|_)&16777215).toString(16);_=I>>>24-w&16777215,w+=2,w>=26&&(w-=26,S--),_!==0||S!==this.length-1?y=m[6-k.length]+k+y:y=k+y}for(_!==0&&(y=_.toString(16)+y);y.length%h!==0;)y="0"+y;return this.negative!==0&&(y="-"+y),y}if(l===(l|0)&&l>=2&&l<=36){var g=b[l],E=v[l];y="";var G=this.clone();for(G.negative=0;!G.isZero();){var z=G.modrn(E).toString(l);G=G.idivn(E),G.isZero()?y=z+y:y=m[g-z.length]+z+y}for(this.isZero()&&(y="0"+y);y.length%h!==0;)y="0"+y;return this.negative!==0&&(y="-"+y),y}s(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var l=this.words[0];return this.length===2?l+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l+=4503599627370496+this.words[1]*67108864:this.length>2&&s(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l:l},o.prototype.toJSON=function(){return this.toString(16,2)},a&&(o.prototype.toBuffer=function(l,h){return this.toArrayLike(a,l,h)}),o.prototype.toArray=function(l,h){return this.toArrayLike(Array,l,h)};var T=function(l,h){return l.allocUnsafe?l.allocUnsafe(h):new l(h)};o.prototype.toArrayLike=function(l,h,y){this._strip();var w=this.byteLength(),_=y||Math.max(1,w);s(w<=_,"byte array longer than desired length"),s(_>0,"Requested array length <= 0");var S=T(l,_),I=h==="le"?"LE":"BE";return this["_toArrayLike"+I](S,w),S},o.prototype._toArrayLikeLE=function(l,h){for(var y=0,w=0,_=0,S=0;_<this.length;_++){var I=this.words[_]<<S|w;l[y++]=I&255,y<l.length&&(l[y++]=I>>8&255),y<l.length&&(l[y++]=I>>16&255),S===6?(y<l.length&&(l[y++]=I>>24&255),w=0,S=0):(w=I>>>24,S+=2)}if(y<l.length)for(l[y++]=w;y<l.length;)l[y++]=0},o.prototype._toArrayLikeBE=function(l,h){for(var y=l.length-1,w=0,_=0,S=0;_<this.length;_++){var I=this.words[_]<<S|w;l[y--]=I&255,y>=0&&(l[y--]=I>>8&255),y>=0&&(l[y--]=I>>16&255),S===6?(y>=0&&(l[y--]=I>>24&255),w=0,S=0):(w=I>>>24,S+=2)}if(y>=0)for(l[y--]=w;y>=0;)l[y--]=0},Math.clz32?o.prototype._countBits=function(l){return 32-Math.clz32(l)}:o.prototype._countBits=function(l){var h=l,y=0;return h>=4096&&(y+=13,h>>>=13),h>=64&&(y+=7,h>>>=7),h>=8&&(y+=4,h>>>=4),h>=2&&(y+=2,h>>>=2),y+h},o.prototype._zeroBits=function(l){if(l===0)return 26;var h=l,y=0;return!(h&8191)&&(y+=13,h>>>=13),!(h&127)&&(y+=7,h>>>=7),!(h&15)&&(y+=4,h>>>=4),!(h&3)&&(y+=2,h>>>=2),!(h&1)&&y++,y},o.prototype.bitLength=function(){var l=this.words[this.length-1],h=this._countBits(l);return(this.length-1)*26+h};function O(l){for(var h=new Array(l.bitLength()),y=0;y<h.length;y++){var w=y/26|0,_=y%26;h[y]=l.words[w]>>>_&1}return h}o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l=0,h=0;h<this.length;h++){var y=this._zeroBits(this.words[h]);if(l+=y,y!==26)break}return l},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(l){return this.negative!==0?this.abs().inotn(l).iaddn(1):this.clone()},o.prototype.fromTwos=function(l){return this.testn(l-1)?this.notn(l).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return this.negative!==0},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(l){for(;this.length<l.length;)this.words[this.length++]=0;for(var h=0;h<l.length;h++)this.words[h]=this.words[h]|l.words[h];return this._strip()},o.prototype.ior=function(l){return s((this.negative|l.negative)===0),this.iuor(l)},o.prototype.or=function(l){return this.length>l.length?this.clone().ior(l):l.clone().ior(this)},o.prototype.uor=function(l){return this.length>l.length?this.clone().iuor(l):l.clone().iuor(this)},o.prototype.iuand=function(l){var h;this.length>l.length?h=l:h=this;for(var y=0;y<h.length;y++)this.words[y]=this.words[y]&l.words[y];return this.length=h.length,this._strip()},o.prototype.iand=function(l){return s((this.negative|l.negative)===0),this.iuand(l)},o.prototype.and=function(l){return this.length>l.length?this.clone().iand(l):l.clone().iand(this)},o.prototype.uand=function(l){return this.length>l.length?this.clone().iuand(l):l.clone().iuand(this)},o.prototype.iuxor=function(l){var h,y;this.length>l.length?(h=this,y=l):(h=l,y=this);for(var w=0;w<y.length;w++)this.words[w]=h.words[w]^y.words[w];if(this!==h)for(;w<h.length;w++)this.words[w]=h.words[w];return this.length=h.length,this._strip()},o.prototype.ixor=function(l){return s((this.negative|l.negative)===0),this.iuxor(l)},o.prototype.xor=function(l){return this.length>l.length?this.clone().ixor(l):l.clone().ixor(this)},o.prototype.uxor=function(l){return this.length>l.length?this.clone().iuxor(l):l.clone().iuxor(this)},o.prototype.inotn=function(l){s(typeof l=="number"&&l>=0);var h=Math.ceil(l/26)|0,y=l%26;this._expand(h),y>0&&h--;for(var w=0;w<h;w++)this.words[w]=~this.words[w]&67108863;return y>0&&(this.words[w]=~this.words[w]&67108863>>26-y),this._strip()},o.prototype.notn=function(l){return this.clone().inotn(l)},o.prototype.setn=function(l,h){s(typeof l=="number"&&l>=0);var y=l/26|0,w=l%26;return this._expand(y+1),h?this.words[y]=this.words[y]|1<<w:this.words[y]=this.words[y]&~(1<<w),this._strip()},o.prototype.iadd=function(l){var h;if(this.negative!==0&&l.negative===0)return this.negative=0,h=this.isub(l),this.negative^=1,this._normSign();if(this.negative===0&&l.negative!==0)return l.negative=0,h=this.isub(l),l.negative=1,h._normSign();var y,w;this.length>l.length?(y=this,w=l):(y=l,w=this);for(var _=0,S=0;S<w.length;S++)h=(y.words[S]|0)+(w.words[S]|0)+_,this.words[S]=h&67108863,_=h>>>26;for(;_!==0&&S<y.length;S++)h=(y.words[S]|0)+_,this.words[S]=h&67108863,_=h>>>26;if(this.length=y.length,_!==0)this.words[this.length]=_,this.length++;else if(y!==this)for(;S<y.length;S++)this.words[S]=y.words[S];return this},o.prototype.add=function(l){var h;return l.negative!==0&&this.negative===0?(l.negative=0,h=this.sub(l),l.negative^=1,h):l.negative===0&&this.negative!==0?(this.negative=0,h=l.sub(this),this.negative=1,h):this.length>l.length?this.clone().iadd(l):l.clone().iadd(this)},o.prototype.isub=function(l){if(l.negative!==0){l.negative=0;var h=this.iadd(l);return l.negative=1,h._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l),this.negative=1,this._normSign();var y=this.cmp(l);if(y===0)return this.negative=0,this.length=1,this.words[0]=0,this;var w,_;y>0?(w=this,_=l):(w=l,_=this);for(var S=0,I=0;I<_.length;I++)h=(w.words[I]|0)-(_.words[I]|0)+S,S=h>>26,this.words[I]=h&67108863;for(;S!==0&&I<w.length;I++)h=(w.words[I]|0)+S,S=h>>26,this.words[I]=h&67108863;if(S===0&&I<w.length&&w!==this)for(;I<w.length;I++)this.words[I]=w.words[I];return this.length=Math.max(this.length,I),w!==this&&(this.negative=1),this._strip()},o.prototype.sub=function(l){return this.clone().isub(l)};function B(l,h,y){y.negative=h.negative^l.negative;var w=l.length+h.length|0;y.length=w,w=w-1|0;var _=l.words[0]|0,S=h.words[0]|0,I=_*S,k=I&67108863,g=I/67108864|0;y.words[0]=k;for(var E=1;E<w;E++){for(var G=g>>>26,z=g&67108863,K=Math.min(E,h.length-1),re=Math.max(0,E-l.length+1);re<=K;re++){var se=E-re|0;_=l.words[se]|0,S=h.words[re]|0,I=_*S+z,G+=I/67108864|0,z=I&67108863}y.words[E]=z|0,g=G|0}return g!==0?y.words[E]=g|0:y.length--,y._strip()}var C=function(l,h,y){var w=l.words,_=h.words,S=y.words,I=0,k,g,E,G=w[0]|0,z=G&8191,K=G>>>13,re=w[1]|0,se=re&8191,ve=re>>>13,Zt=w[2]|0,Be=Zt&8191,Pe=Zt>>>13,ba=w[3]|0,ct=ba&8191,ut=ba>>>13,Pm=w[4]|0,lt=Pm&8191,dt=Pm>>>13,Lm=w[5]|0,ft=Lm&8191,pt=Lm>>>13,Vm=w[6]|0,ht=Vm&8191,mt=Vm>>>13,Fm=w[7]|0,gt=Fm&8191,yt=Fm>>>13,qm=w[8]|0,bt=qm&8191,wt=qm>>>13,$m=w[9]|0,vt=$m&8191,_t=$m>>>13,Gm=_[0]|0,Tt=Gm&8191,kt=Gm>>>13,Hm=_[1]|0,Et=Hm&8191,St=Hm>>>13,zm=_[2]|0,xt=zm&8191,Ot=zm>>>13,Wm=_[3]|0,It=Wm&8191,At=Wm>>>13,Zm=_[4]|0,Ct=Zm&8191,Nt=Zm>>>13,Jm=_[5]|0,Rt=Jm&8191,Bt=Jm>>>13,Km=_[6]|0,Mt=Km&8191,jt=Km>>>13,Ym=_[7]|0,Dt=Ym&8191,Ut=Ym>>>13,Xm=_[8]|0,Pt=Xm&8191,Lt=Xm>>>13,Qm=_[9]|0,Vt=Qm&8191,Ft=Qm>>>13;y.negative=l.negative^h.negative,y.length=19,k=Math.imul(z,Tt),g=Math.imul(z,kt),g=g+Math.imul(K,Tt)|0,E=Math.imul(K,kt);var dd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(dd>>>26)|0,dd&=67108863,k=Math.imul(se,Tt),g=Math.imul(se,kt),g=g+Math.imul(ve,Tt)|0,E=Math.imul(ve,kt),k=k+Math.imul(z,Et)|0,g=g+Math.imul(z,St)|0,g=g+Math.imul(K,Et)|0,E=E+Math.imul(K,St)|0;var fd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(fd>>>26)|0,fd&=67108863,k=Math.imul(Be,Tt),g=Math.imul(Be,kt),g=g+Math.imul(Pe,Tt)|0,E=Math.imul(Pe,kt),k=k+Math.imul(se,Et)|0,g=g+Math.imul(se,St)|0,g=g+Math.imul(ve,Et)|0,E=E+Math.imul(ve,St)|0,k=k+Math.imul(z,xt)|0,g=g+Math.imul(z,Ot)|0,g=g+Math.imul(K,xt)|0,E=E+Math.imul(K,Ot)|0;var pd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(pd>>>26)|0,pd&=67108863,k=Math.imul(ct,Tt),g=Math.imul(ct,kt),g=g+Math.imul(ut,Tt)|0,E=Math.imul(ut,kt),k=k+Math.imul(Be,Et)|0,g=g+Math.imul(Be,St)|0,g=g+Math.imul(Pe,Et)|0,E=E+Math.imul(Pe,St)|0,k=k+Math.imul(se,xt)|0,g=g+Math.imul(se,Ot)|0,g=g+Math.imul(ve,xt)|0,E=E+Math.imul(ve,Ot)|0,k=k+Math.imul(z,It)|0,g=g+Math.imul(z,At)|0,g=g+Math.imul(K,It)|0,E=E+Math.imul(K,At)|0;var hd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(hd>>>26)|0,hd&=67108863,k=Math.imul(lt,Tt),g=Math.imul(lt,kt),g=g+Math.imul(dt,Tt)|0,E=Math.imul(dt,kt),k=k+Math.imul(ct,Et)|0,g=g+Math.imul(ct,St)|0,g=g+Math.imul(ut,Et)|0,E=E+Math.imul(ut,St)|0,k=k+Math.imul(Be,xt)|0,g=g+Math.imul(Be,Ot)|0,g=g+Math.imul(Pe,xt)|0,E=E+Math.imul(Pe,Ot)|0,k=k+Math.imul(se,It)|0,g=g+Math.imul(se,At)|0,g=g+Math.imul(ve,It)|0,E=E+Math.imul(ve,At)|0,k=k+Math.imul(z,Ct)|0,g=g+Math.imul(z,Nt)|0,g=g+Math.imul(K,Ct)|0,E=E+Math.imul(K,Nt)|0;var md=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(md>>>26)|0,md&=67108863,k=Math.imul(ft,Tt),g=Math.imul(ft,kt),g=g+Math.imul(pt,Tt)|0,E=Math.imul(pt,kt),k=k+Math.imul(lt,Et)|0,g=g+Math.imul(lt,St)|0,g=g+Math.imul(dt,Et)|0,E=E+Math.imul(dt,St)|0,k=k+Math.imul(ct,xt)|0,g=g+Math.imul(ct,Ot)|0,g=g+Math.imul(ut,xt)|0,E=E+Math.imul(ut,Ot)|0,k=k+Math.imul(Be,It)|0,g=g+Math.imul(Be,At)|0,g=g+Math.imul(Pe,It)|0,E=E+Math.imul(Pe,At)|0,k=k+Math.imul(se,Ct)|0,g=g+Math.imul(se,Nt)|0,g=g+Math.imul(ve,Ct)|0,E=E+Math.imul(ve,Nt)|0,k=k+Math.imul(z,Rt)|0,g=g+Math.imul(z,Bt)|0,g=g+Math.imul(K,Rt)|0,E=E+Math.imul(K,Bt)|0;var gd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(gd>>>26)|0,gd&=67108863,k=Math.imul(ht,Tt),g=Math.imul(ht,kt),g=g+Math.imul(mt,Tt)|0,E=Math.imul(mt,kt),k=k+Math.imul(ft,Et)|0,g=g+Math.imul(ft,St)|0,g=g+Math.imul(pt,Et)|0,E=E+Math.imul(pt,St)|0,k=k+Math.imul(lt,xt)|0,g=g+Math.imul(lt,Ot)|0,g=g+Math.imul(dt,xt)|0,E=E+Math.imul(dt,Ot)|0,k=k+Math.imul(ct,It)|0,g=g+Math.imul(ct,At)|0,g=g+Math.imul(ut,It)|0,E=E+Math.imul(ut,At)|0,k=k+Math.imul(Be,Ct)|0,g=g+Math.imul(Be,Nt)|0,g=g+Math.imul(Pe,Ct)|0,E=E+Math.imul(Pe,Nt)|0,k=k+Math.imul(se,Rt)|0,g=g+Math.imul(se,Bt)|0,g=g+Math.imul(ve,Rt)|0,E=E+Math.imul(ve,Bt)|0,k=k+Math.imul(z,Mt)|0,g=g+Math.imul(z,jt)|0,g=g+Math.imul(K,Mt)|0,E=E+Math.imul(K,jt)|0;var yd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(yd>>>26)|0,yd&=67108863,k=Math.imul(gt,Tt),g=Math.imul(gt,kt),g=g+Math.imul(yt,Tt)|0,E=Math.imul(yt,kt),k=k+Math.imul(ht,Et)|0,g=g+Math.imul(ht,St)|0,g=g+Math.imul(mt,Et)|0,E=E+Math.imul(mt,St)|0,k=k+Math.imul(ft,xt)|0,g=g+Math.imul(ft,Ot)|0,g=g+Math.imul(pt,xt)|0,E=E+Math.imul(pt,Ot)|0,k=k+Math.imul(lt,It)|0,g=g+Math.imul(lt,At)|0,g=g+Math.imul(dt,It)|0,E=E+Math.imul(dt,At)|0,k=k+Math.imul(ct,Ct)|0,g=g+Math.imul(ct,Nt)|0,g=g+Math.imul(ut,Ct)|0,E=E+Math.imul(ut,Nt)|0,k=k+Math.imul(Be,Rt)|0,g=g+Math.imul(Be,Bt)|0,g=g+Math.imul(Pe,Rt)|0,E=E+Math.imul(Pe,Bt)|0,k=k+Math.imul(se,Mt)|0,g=g+Math.imul(se,jt)|0,g=g+Math.imul(ve,Mt)|0,E=E+Math.imul(ve,jt)|0,k=k+Math.imul(z,Dt)|0,g=g+Math.imul(z,Ut)|0,g=g+Math.imul(K,Dt)|0,E=E+Math.imul(K,Ut)|0;var bd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(bd>>>26)|0,bd&=67108863,k=Math.imul(bt,Tt),g=Math.imul(bt,kt),g=g+Math.imul(wt,Tt)|0,E=Math.imul(wt,kt),k=k+Math.imul(gt,Et)|0,g=g+Math.imul(gt,St)|0,g=g+Math.imul(yt,Et)|0,E=E+Math.imul(yt,St)|0,k=k+Math.imul(ht,xt)|0,g=g+Math.imul(ht,Ot)|0,g=g+Math.imul(mt,xt)|0,E=E+Math.imul(mt,Ot)|0,k=k+Math.imul(ft,It)|0,g=g+Math.imul(ft,At)|0,g=g+Math.imul(pt,It)|0,E=E+Math.imul(pt,At)|0,k=k+Math.imul(lt,Ct)|0,g=g+Math.imul(lt,Nt)|0,g=g+Math.imul(dt,Ct)|0,E=E+Math.imul(dt,Nt)|0,k=k+Math.imul(ct,Rt)|0,g=g+Math.imul(ct,Bt)|0,g=g+Math.imul(ut,Rt)|0,E=E+Math.imul(ut,Bt)|0,k=k+Math.imul(Be,Mt)|0,g=g+Math.imul(Be,jt)|0,g=g+Math.imul(Pe,Mt)|0,E=E+Math.imul(Pe,jt)|0,k=k+Math.imul(se,Dt)|0,g=g+Math.imul(se,Ut)|0,g=g+Math.imul(ve,Dt)|0,E=E+Math.imul(ve,Ut)|0,k=k+Math.imul(z,Pt)|0,g=g+Math.imul(z,Lt)|0,g=g+Math.imul(K,Pt)|0,E=E+Math.imul(K,Lt)|0;var wd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(wd>>>26)|0,wd&=67108863,k=Math.imul(vt,Tt),g=Math.imul(vt,kt),g=g+Math.imul(_t,Tt)|0,E=Math.imul(_t,kt),k=k+Math.imul(bt,Et)|0,g=g+Math.imul(bt,St)|0,g=g+Math.imul(wt,Et)|0,E=E+Math.imul(wt,St)|0,k=k+Math.imul(gt,xt)|0,g=g+Math.imul(gt,Ot)|0,g=g+Math.imul(yt,xt)|0,E=E+Math.imul(yt,Ot)|0,k=k+Math.imul(ht,It)|0,g=g+Math.imul(ht,At)|0,g=g+Math.imul(mt,It)|0,E=E+Math.imul(mt,At)|0,k=k+Math.imul(ft,Ct)|0,g=g+Math.imul(ft,Nt)|0,g=g+Math.imul(pt,Ct)|0,E=E+Math.imul(pt,Nt)|0,k=k+Math.imul(lt,Rt)|0,g=g+Math.imul(lt,Bt)|0,g=g+Math.imul(dt,Rt)|0,E=E+Math.imul(dt,Bt)|0,k=k+Math.imul(ct,Mt)|0,g=g+Math.imul(ct,jt)|0,g=g+Math.imul(ut,Mt)|0,E=E+Math.imul(ut,jt)|0,k=k+Math.imul(Be,Dt)|0,g=g+Math.imul(Be,Ut)|0,g=g+Math.imul(Pe,Dt)|0,E=E+Math.imul(Pe,Ut)|0,k=k+Math.imul(se,Pt)|0,g=g+Math.imul(se,Lt)|0,g=g+Math.imul(ve,Pt)|0,E=E+Math.imul(ve,Lt)|0,k=k+Math.imul(z,Vt)|0,g=g+Math.imul(z,Ft)|0,g=g+Math.imul(K,Vt)|0,E=E+Math.imul(K,Ft)|0;var vd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(vd>>>26)|0,vd&=67108863,k=Math.imul(vt,Et),g=Math.imul(vt,St),g=g+Math.imul(_t,Et)|0,E=Math.imul(_t,St),k=k+Math.imul(bt,xt)|0,g=g+Math.imul(bt,Ot)|0,g=g+Math.imul(wt,xt)|0,E=E+Math.imul(wt,Ot)|0,k=k+Math.imul(gt,It)|0,g=g+Math.imul(gt,At)|0,g=g+Math.imul(yt,It)|0,E=E+Math.imul(yt,At)|0,k=k+Math.imul(ht,Ct)|0,g=g+Math.imul(ht,Nt)|0,g=g+Math.imul(mt,Ct)|0,E=E+Math.imul(mt,Nt)|0,k=k+Math.imul(ft,Rt)|0,g=g+Math.imul(ft,Bt)|0,g=g+Math.imul(pt,Rt)|0,E=E+Math.imul(pt,Bt)|0,k=k+Math.imul(lt,Mt)|0,g=g+Math.imul(lt,jt)|0,g=g+Math.imul(dt,Mt)|0,E=E+Math.imul(dt,jt)|0,k=k+Math.imul(ct,Dt)|0,g=g+Math.imul(ct,Ut)|0,g=g+Math.imul(ut,Dt)|0,E=E+Math.imul(ut,Ut)|0,k=k+Math.imul(Be,Pt)|0,g=g+Math.imul(Be,Lt)|0,g=g+Math.imul(Pe,Pt)|0,E=E+Math.imul(Pe,Lt)|0,k=k+Math.imul(se,Vt)|0,g=g+Math.imul(se,Ft)|0,g=g+Math.imul(ve,Vt)|0,E=E+Math.imul(ve,Ft)|0;var _d=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(_d>>>26)|0,_d&=67108863,k=Math.imul(vt,xt),g=Math.imul(vt,Ot),g=g+Math.imul(_t,xt)|0,E=Math.imul(_t,Ot),k=k+Math.imul(bt,It)|0,g=g+Math.imul(bt,At)|0,g=g+Math.imul(wt,It)|0,E=E+Math.imul(wt,At)|0,k=k+Math.imul(gt,Ct)|0,g=g+Math.imul(gt,Nt)|0,g=g+Math.imul(yt,Ct)|0,E=E+Math.imul(yt,Nt)|0,k=k+Math.imul(ht,Rt)|0,g=g+Math.imul(ht,Bt)|0,g=g+Math.imul(mt,Rt)|0,E=E+Math.imul(mt,Bt)|0,k=k+Math.imul(ft,Mt)|0,g=g+Math.imul(ft,jt)|0,g=g+Math.imul(pt,Mt)|0,E=E+Math.imul(pt,jt)|0,k=k+Math.imul(lt,Dt)|0,g=g+Math.imul(lt,Ut)|0,g=g+Math.imul(dt,Dt)|0,E=E+Math.imul(dt,Ut)|0,k=k+Math.imul(ct,Pt)|0,g=g+Math.imul(ct,Lt)|0,g=g+Math.imul(ut,Pt)|0,E=E+Math.imul(ut,Lt)|0,k=k+Math.imul(Be,Vt)|0,g=g+Math.imul(Be,Ft)|0,g=g+Math.imul(Pe,Vt)|0,E=E+Math.imul(Pe,Ft)|0;var Td=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(Td>>>26)|0,Td&=67108863,k=Math.imul(vt,It),g=Math.imul(vt,At),g=g+Math.imul(_t,It)|0,E=Math.imul(_t,At),k=k+Math.imul(bt,Ct)|0,g=g+Math.imul(bt,Nt)|0,g=g+Math.imul(wt,Ct)|0,E=E+Math.imul(wt,Nt)|0,k=k+Math.imul(gt,Rt)|0,g=g+Math.imul(gt,Bt)|0,g=g+Math.imul(yt,Rt)|0,E=E+Math.imul(yt,Bt)|0,k=k+Math.imul(ht,Mt)|0,g=g+Math.imul(ht,jt)|0,g=g+Math.imul(mt,Mt)|0,E=E+Math.imul(mt,jt)|0,k=k+Math.imul(ft,Dt)|0,g=g+Math.imul(ft,Ut)|0,g=g+Math.imul(pt,Dt)|0,E=E+Math.imul(pt,Ut)|0,k=k+Math.imul(lt,Pt)|0,g=g+Math.imul(lt,Lt)|0,g=g+Math.imul(dt,Pt)|0,E=E+Math.imul(dt,Lt)|0,k=k+Math.imul(ct,Vt)|0,g=g+Math.imul(ct,Ft)|0,g=g+Math.imul(ut,Vt)|0,E=E+Math.imul(ut,Ft)|0;var kd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(kd>>>26)|0,kd&=67108863,k=Math.imul(vt,Ct),g=Math.imul(vt,Nt),g=g+Math.imul(_t,Ct)|0,E=Math.imul(_t,Nt),k=k+Math.imul(bt,Rt)|0,g=g+Math.imul(bt,Bt)|0,g=g+Math.imul(wt,Rt)|0,E=E+Math.imul(wt,Bt)|0,k=k+Math.imul(gt,Mt)|0,g=g+Math.imul(gt,jt)|0,g=g+Math.imul(yt,Mt)|0,E=E+Math.imul(yt,jt)|0,k=k+Math.imul(ht,Dt)|0,g=g+Math.imul(ht,Ut)|0,g=g+Math.imul(mt,Dt)|0,E=E+Math.imul(mt,Ut)|0,k=k+Math.imul(ft,Pt)|0,g=g+Math.imul(ft,Lt)|0,g=g+Math.imul(pt,Pt)|0,E=E+Math.imul(pt,Lt)|0,k=k+Math.imul(lt,Vt)|0,g=g+Math.imul(lt,Ft)|0,g=g+Math.imul(dt,Vt)|0,E=E+Math.imul(dt,Ft)|0;var Ed=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(Ed>>>26)|0,Ed&=67108863,k=Math.imul(vt,Rt),g=Math.imul(vt,Bt),g=g+Math.imul(_t,Rt)|0,E=Math.imul(_t,Bt),k=k+Math.imul(bt,Mt)|0,g=g+Math.imul(bt,jt)|0,g=g+Math.imul(wt,Mt)|0,E=E+Math.imul(wt,jt)|0,k=k+Math.imul(gt,Dt)|0,g=g+Math.imul(gt,Ut)|0,g=g+Math.imul(yt,Dt)|0,E=E+Math.imul(yt,Ut)|0,k=k+Math.imul(ht,Pt)|0,g=g+Math.imul(ht,Lt)|0,g=g+Math.imul(mt,Pt)|0,E=E+Math.imul(mt,Lt)|0,k=k+Math.imul(ft,Vt)|0,g=g+Math.imul(ft,Ft)|0,g=g+Math.imul(pt,Vt)|0,E=E+Math.imul(pt,Ft)|0;var Sd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(Sd>>>26)|0,Sd&=67108863,k=Math.imul(vt,Mt),g=Math.imul(vt,jt),g=g+Math.imul(_t,Mt)|0,E=Math.imul(_t,jt),k=k+Math.imul(bt,Dt)|0,g=g+Math.imul(bt,Ut)|0,g=g+Math.imul(wt,Dt)|0,E=E+Math.imul(wt,Ut)|0,k=k+Math.imul(gt,Pt)|0,g=g+Math.imul(gt,Lt)|0,g=g+Math.imul(yt,Pt)|0,E=E+Math.imul(yt,Lt)|0,k=k+Math.imul(ht,Vt)|0,g=g+Math.imul(ht,Ft)|0,g=g+Math.imul(mt,Vt)|0,E=E+Math.imul(mt,Ft)|0;var xd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(xd>>>26)|0,xd&=67108863,k=Math.imul(vt,Dt),g=Math.imul(vt,Ut),g=g+Math.imul(_t,Dt)|0,E=Math.imul(_t,Ut),k=k+Math.imul(bt,Pt)|0,g=g+Math.imul(bt,Lt)|0,g=g+Math.imul(wt,Pt)|0,E=E+Math.imul(wt,Lt)|0,k=k+Math.imul(gt,Vt)|0,g=g+Math.imul(gt,Ft)|0,g=g+Math.imul(yt,Vt)|0,E=E+Math.imul(yt,Ft)|0;var Od=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(Od>>>26)|0,Od&=67108863,k=Math.imul(vt,Pt),g=Math.imul(vt,Lt),g=g+Math.imul(_t,Pt)|0,E=Math.imul(_t,Lt),k=k+Math.imul(bt,Vt)|0,g=g+Math.imul(bt,Ft)|0,g=g+Math.imul(wt,Vt)|0,E=E+Math.imul(wt,Ft)|0;var Id=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(Id>>>26)|0,Id&=67108863,k=Math.imul(vt,Vt),g=Math.imul(vt,Ft),g=g+Math.imul(_t,Vt)|0,E=Math.imul(_t,Ft);var Ad=(I+k|0)+((g&8191)<<13)|0;return I=(E+(g>>>13)|0)+(Ad>>>26)|0,Ad&=67108863,S[0]=dd,S[1]=fd,S[2]=pd,S[3]=hd,S[4]=md,S[5]=gd,S[6]=yd,S[7]=bd,S[8]=wd,S[9]=vd,S[10]=_d,S[11]=Td,S[12]=kd,S[13]=Ed,S[14]=Sd,S[15]=xd,S[16]=Od,S[17]=Id,S[18]=Ad,I!==0&&(S[19]=I,y.length++),y};Math.imul||(C=B);function U(l,h,y){y.negative=h.negative^l.negative,y.length=l.length+h.length;for(var w=0,_=0,S=0;S<y.length-1;S++){var I=_;_=0;for(var k=w&67108863,g=Math.min(S,h.length-1),E=Math.max(0,S-l.length+1);E<=g;E++){var G=S-E,z=l.words[G]|0,K=h.words[E]|0,re=z*K,se=re&67108863;I=I+(re/67108864|0)|0,se=se+k|0,k=se&67108863,I=I+(se>>>26)|0,_+=I>>>26,I&=67108863}y.words[S]=k,w=I,I=_}return w!==0?y.words[S]=w:y.length--,y._strip()}function L(l,h,y){return U(l,h,y)}o.prototype.mulTo=function(l,h){var y,w=this.length+l.length;return this.length===10&&l.length===10?y=C(this,l,h):w<63?y=B(this,l,h):w<1024?y=U(this,l,h):y=L(this,l,h),y};function P(l,h){this.x=l,this.y=h}P.prototype.makeRBT=function(l){for(var h=new Array(l),y=o.prototype._countBits(l)-1,w=0;w<l;w++)h[w]=this.revBin(w,y,l);return h},P.prototype.revBin=function(l,h,y){if(l===0||l===y-1)return l;for(var w=0,_=0;_<h;_++)w|=(l&1)<<h-_-1,l>>=1;return w},P.prototype.permute=function(l,h,y,w,_,S){for(var I=0;I<S;I++)w[I]=h[l[I]],_[I]=y[l[I]]},P.prototype.transform=function(l,h,y,w,_,S){this.permute(S,l,h,y,w,_);for(var I=1;I<_;I<<=1)for(var k=I<<1,g=Math.cos(2*Math.PI/k),E=Math.sin(2*Math.PI/k),G=0;G<_;G+=k)for(var z=g,K=E,re=0;re<I;re++){var se=y[G+re],ve=w[G+re],Zt=y[G+re+I],Be=w[G+re+I],Pe=z*Zt-K*Be;Be=z*Be+K*Zt,Zt=Pe,y[G+re]=se+Zt,w[G+re]=ve+Be,y[G+re+I]=se-Zt,w[G+re+I]=ve-Be,re!==k&&(Pe=g*z-E*K,K=g*K+E*z,z=Pe)}},P.prototype.guessLen13b=function(l,h){var y=Math.max(h,l)|1,w=y&1,_=0;for(y=y/2|0;y;y=y>>>1)_++;return 1<<_+1+w},P.prototype.conjugate=function(l,h,y){if(!(y<=1))for(var w=0;w<y/2;w++){var _=l[w];l[w]=l[y-w-1],l[y-w-1]=_,_=h[w],h[w]=-h[y-w-1],h[y-w-1]=-_}},P.prototype.normalize13b=function(l,h){for(var y=0,w=0;w<h/2;w++){var _=Math.round(l[2*w+1]/h)*8192+Math.round(l[2*w]/h)+y;l[w]=_&67108863,_<67108864?y=0:y=_/67108864|0}return l},P.prototype.convert13b=function(l,h,y,w){for(var _=0,S=0;S<h;S++)_=_+(l[S]|0),y[2*S]=_&8191,_=_>>>13,y[2*S+1]=_&8191,_=_>>>13;for(S=2*h;S<w;++S)y[S]=0;s(_===0),s((_&-8192)===0)},P.prototype.stub=function(l){for(var h=new Array(l),y=0;y<l;y++)h[y]=0;return h},P.prototype.mulp=function(l,h,y){var w=2*this.guessLen13b(l.length,h.length),_=this.makeRBT(w),S=this.stub(w),I=new Array(w),k=new Array(w),g=new Array(w),E=new Array(w),G=new Array(w),z=new Array(w),K=y.words;K.length=w,this.convert13b(l.words,l.length,I,w),this.convert13b(h.words,h.length,E,w),this.transform(I,S,k,g,w,_),this.transform(E,S,G,z,w,_);for(var re=0;re<w;re++){var se=k[re]*G[re]-g[re]*z[re];g[re]=k[re]*z[re]+g[re]*G[re],k[re]=se}return this.conjugate(k,g,w),this.transform(k,g,K,S,w,_),this.conjugate(K,S,w),this.normalize13b(K,w),y.negative=l.negative^h.negative,y.length=l.length+h.length,y._strip()},o.prototype.mul=function(l){var h=new o(null);return h.words=new Array(this.length+l.length),this.mulTo(l,h)},o.prototype.mulf=function(l){var h=new o(null);return h.words=new Array(this.length+l.length),L(this,l,h)},o.prototype.imul=function(l){return this.clone().mulTo(l,this)},o.prototype.imuln=function(l){var h=l<0;h&&(l=-l),s(typeof l=="number"),s(l<67108864);for(var y=0,w=0;w<this.length;w++){var _=(this.words[w]|0)*l,S=(_&67108863)+(y&67108863);y>>=26,y+=_/67108864|0,y+=S>>>26,this.words[w]=S&67108863}return y!==0&&(this.words[w]=y,this.length++),this.length=l===0?1:this.length,h?this.ineg():this},o.prototype.muln=function(l){return this.clone().imuln(l)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(l){var h=O(l);if(h.length===0)return new o(1);for(var y=this,w=0;w<h.length&&h[w]===0;w++,y=y.sqr());if(++w<h.length)for(var _=y.sqr();w<h.length;w++,_=_.sqr())h[w]!==0&&(y=y.mul(_));return y},o.prototype.iushln=function(l){s(typeof l=="number"&&l>=0);var h=l%26,y=(l-h)/26,w=67108863>>>26-h<<26-h,_;if(h!==0){var S=0;for(_=0;_<this.length;_++){var I=this.words[_]&w,k=(this.words[_]|0)-I<<h;this.words[_]=k|S,S=I>>>26-h}S&&(this.words[_]=S,this.length++)}if(y!==0){for(_=this.length-1;_>=0;_--)this.words[_+y]=this.words[_];for(_=0;_<y;_++)this.words[_]=0;this.length+=y}return this._strip()},o.prototype.ishln=function(l){return s(this.negative===0),this.iushln(l)},o.prototype.iushrn=function(l,h,y){s(typeof l=="number"&&l>=0);var w;h?w=(h-h%26)/26:w=0;var _=l%26,S=Math.min((l-_)/26,this.length),I=67108863^67108863>>>_<<_,k=y;if(w-=S,w=Math.max(0,w),k){for(var g=0;g<S;g++)k.words[g]=this.words[g];k.length=S}if(S!==0)if(this.length>S)for(this.length-=S,g=0;g<this.length;g++)this.words[g]=this.words[g+S];else this.words[0]=0,this.length=1;var E=0;for(g=this.length-1;g>=0&&(E!==0||g>=w);g--){var G=this.words[g]|0;this.words[g]=E<<26-_|G>>>_,E=G&I}return k&&E!==0&&(k.words[k.length++]=E),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(l,h,y){return s(this.negative===0),this.iushrn(l,h,y)},o.prototype.shln=function(l){return this.clone().ishln(l)},o.prototype.ushln=function(l){return this.clone().iushln(l)},o.prototype.shrn=function(l){return this.clone().ishrn(l)},o.prototype.ushrn=function(l){return this.clone().iushrn(l)},o.prototype.testn=function(l){s(typeof l=="number"&&l>=0);var h=l%26,y=(l-h)/26,w=1<<h;if(this.length<=y)return!1;var _=this.words[y];return!!(_&w)},o.prototype.imaskn=function(l){s(typeof l=="number"&&l>=0);var h=l%26,y=(l-h)/26;if(s(this.negative===0,"imaskn works only with positive numbers"),this.length<=y)return this;if(h!==0&&y++,this.length=Math.min(y,this.length),h!==0){var w=67108863^67108863>>>h<<h;this.words[this.length-1]&=w}return this.length===0&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.maskn=function(l){return this.clone().imaskn(l)},o.prototype.iaddn=function(l){return s(typeof l=="number"),s(l<67108864),l<0?this.isubn(-l):this.negative!==0?this.length===1&&(this.words[0]|0)<=l?(this.words[0]=l-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(l),this.negative=1,this):this._iaddn(l)},o.prototype._iaddn=function(l){this.words[0]+=l;for(var h=0;h<this.length&&this.words[h]>=67108864;h++)this.words[h]-=67108864,h===this.length-1?this.words[h+1]=1:this.words[h+1]++;return this.length=Math.max(this.length,h+1),this},o.prototype.isubn=function(l){if(s(typeof l=="number"),s(l<67108864),l<0)return this.iaddn(-l);if(this.negative!==0)return this.negative=0,this.iaddn(l),this.negative=1,this;if(this.words[0]-=l,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var h=0;h<this.length&&this.words[h]<0;h++)this.words[h]+=67108864,this.words[h+1]-=1;return this._strip()},o.prototype.addn=function(l){return this.clone().iaddn(l)},o.prototype.subn=function(l){return this.clone().isubn(l)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(l,h,y){var w=l.length+y,_;this._expand(w);var S,I=0;for(_=0;_<l.length;_++){S=(this.words[_+y]|0)+I;var k=(l.words[_]|0)*h;S-=k&67108863,I=(S>>26)-(k/67108864|0),this.words[_+y]=S&67108863}for(;_<this.length-y;_++)S=(this.words[_+y]|0)+I,I=S>>26,this.words[_+y]=S&67108863;if(I===0)return this._strip();for(s(I===-1),I=0,_=0;_<this.length;_++)S=-(this.words[_]|0)+I,I=S>>26,this.words[_]=S&67108863;return this.negative=1,this._strip()},o.prototype._wordDiv=function(l,h){var y=this.length-l.length,w=this.clone(),_=l,S=_.words[_.length-1]|0,I=this._countBits(S);y=26-I,y!==0&&(_=_.ushln(y),w.iushln(y),S=_.words[_.length-1]|0);var k=w.length-_.length,g;if(h!=="mod"){g=new o(null),g.length=k+1,g.words=new Array(g.length);for(var E=0;E<g.length;E++)g.words[E]=0}var G=w.clone()._ishlnsubmul(_,1,k);G.negative===0&&(w=G,g&&(g.words[k]=1));for(var z=k-1;z>=0;z--){var K=(w.words[_.length+z]|0)*67108864+(w.words[_.length+z-1]|0);for(K=Math.min(K/S|0,67108863),w._ishlnsubmul(_,K,z);w.negative!==0;)K--,w.negative=0,w._ishlnsubmul(_,1,z),w.isZero()||(w.negative^=1);g&&(g.words[z]=K)}return g&&g._strip(),w._strip(),h!=="div"&&y!==0&&w.iushrn(y),{div:g||null,mod:w}},o.prototype.divmod=function(l,h,y){if(s(!l.isZero()),this.isZero())return{div:new o(0),mod:new o(0)};var w,_,S;return this.negative!==0&&l.negative===0?(S=this.neg().divmod(l,h),h!=="mod"&&(w=S.div.neg()),h!=="div"&&(_=S.mod.neg(),y&&_.negative!==0&&_.iadd(l)),{div:w,mod:_}):this.negative===0&&l.negative!==0?(S=this.divmod(l.neg(),h),h!=="mod"&&(w=S.div.neg()),{div:w,mod:S.mod}):this.negative&l.negative?(S=this.neg().divmod(l.neg(),h),h!=="div"&&(_=S.mod.neg(),y&&_.negative!==0&&_.isub(l)),{div:S.div,mod:_}):l.length>this.length||this.cmp(l)<0?{div:new o(0),mod:this}:l.length===1?h==="div"?{div:this.divn(l.words[0]),mod:null}:h==="mod"?{div:null,mod:new o(this.modrn(l.words[0]))}:{div:this.divn(l.words[0]),mod:new o(this.modrn(l.words[0]))}:this._wordDiv(l,h)},o.prototype.div=function(l){return this.divmod(l,"div",!1).div},o.prototype.mod=function(l){return this.divmod(l,"mod",!1).mod},o.prototype.umod=function(l){return this.divmod(l,"mod",!0).mod},o.prototype.divRound=function(l){var h=this.divmod(l);if(h.mod.isZero())return h.div;var y=h.div.negative!==0?h.mod.isub(l):h.mod,w=l.ushrn(1),_=l.andln(1),S=y.cmp(w);return S<0||_===1&&S===0?h.div:h.div.negative!==0?h.div.isubn(1):h.div.iaddn(1)},o.prototype.modrn=function(l){var h=l<0;h&&(l=-l),s(l<=67108863);for(var y=(1<<26)%l,w=0,_=this.length-1;_>=0;_--)w=(y*w+(this.words[_]|0))%l;return h?-w:w},o.prototype.modn=function(l){return this.modrn(l)},o.prototype.idivn=function(l){var h=l<0;h&&(l=-l),s(l<=67108863);for(var y=0,w=this.length-1;w>=0;w--){var _=(this.words[w]|0)+y*67108864;this.words[w]=_/l|0,y=_%l}return this._strip(),h?this.ineg():this},o.prototype.divn=function(l){return this.clone().idivn(l)},o.prototype.egcd=function(l){s(l.negative===0),s(!l.isZero());var h=this,y=l.clone();h.negative!==0?h=h.umod(l):h=h.clone();for(var w=new o(1),_=new o(0),S=new o(0),I=new o(1),k=0;h.isEven()&&y.isEven();)h.iushrn(1),y.iushrn(1),++k;for(var g=y.clone(),E=h.clone();!h.isZero();){for(var G=0,z=1;!(h.words[0]&z)&&G<26;++G,z<<=1);if(G>0)for(h.iushrn(G);G-- >0;)(w.isOdd()||_.isOdd())&&(w.iadd(g),_.isub(E)),w.iushrn(1),_.iushrn(1);for(var K=0,re=1;!(y.words[0]&re)&&K<26;++K,re<<=1);if(K>0)for(y.iushrn(K);K-- >0;)(S.isOdd()||I.isOdd())&&(S.iadd(g),I.isub(E)),S.iushrn(1),I.iushrn(1);h.cmp(y)>=0?(h.isub(y),w.isub(S),_.isub(I)):(y.isub(h),S.isub(w),I.isub(_))}return{a:S,b:I,gcd:y.iushln(k)}},o.prototype._invmp=function(l){s(l.negative===0),s(!l.isZero());var h=this,y=l.clone();h.negative!==0?h=h.umod(l):h=h.clone();for(var w=new o(1),_=new o(0),S=y.clone();h.cmpn(1)>0&&y.cmpn(1)>0;){for(var I=0,k=1;!(h.words[0]&k)&&I<26;++I,k<<=1);if(I>0)for(h.iushrn(I);I-- >0;)w.isOdd()&&w.iadd(S),w.iushrn(1);for(var g=0,E=1;!(y.words[0]&E)&&g<26;++g,E<<=1);if(g>0)for(y.iushrn(g);g-- >0;)_.isOdd()&&_.iadd(S),_.iushrn(1);h.cmp(y)>=0?(h.isub(y),w.isub(_)):(y.isub(h),_.isub(w))}var G;return h.cmpn(1)===0?G=w:G=_,G.cmpn(0)<0&&G.iadd(l),G},o.prototype.gcd=function(l){if(this.isZero())return l.abs();if(l.isZero())return this.abs();var h=this.clone(),y=l.clone();h.negative=0,y.negative=0;for(var w=0;h.isEven()&&y.isEven();w++)h.iushrn(1),y.iushrn(1);do{for(;h.isEven();)h.iushrn(1);for(;y.isEven();)y.iushrn(1);var _=h.cmp(y);if(_<0){var S=h;h=y,y=S}else if(_===0||y.cmpn(1)===0)break;h.isub(y)}while(!0);return y.iushln(w)},o.prototype.invm=function(l){return this.egcd(l).a.umod(l)},o.prototype.isEven=function(){return(this.words[0]&1)===0},o.prototype.isOdd=function(){return(this.words[0]&1)===1},o.prototype.andln=function(l){return this.words[0]&l},o.prototype.bincn=function(l){s(typeof l=="number");var h=l%26,y=(l-h)/26,w=1<<h;if(this.length<=y)return this._expand(y+1),this.words[y]|=w,this;for(var _=w,S=y;_!==0&&S<this.length;S++){var I=this.words[S]|0;I+=_,_=I>>>26,I&=67108863,this.words[S]=I}return _!==0&&(this.words[S]=_,this.length++),this},o.prototype.isZero=function(){return this.length===1&&this.words[0]===0},o.prototype.cmpn=function(l){var h=l<0;if(this.negative!==0&&!h)return-1;if(this.negative===0&&h)return 1;this._strip();var y;if(this.length>1)y=1;else{h&&(l=-l),s(l<=67108863,"Number is too big");var w=this.words[0]|0;y=w===l?0:w<l?-1:1}return this.negative!==0?-y|0:y},o.prototype.cmp=function(l){if(this.negative!==0&&l.negative===0)return-1;if(this.negative===0&&l.negative!==0)return 1;var h=this.ucmp(l);return this.negative!==0?-h|0:h},o.prototype.ucmp=function(l){if(this.length>l.length)return 1;if(this.length<l.length)return-1;for(var h=0,y=this.length-1;y>=0;y--){var w=this.words[y]|0,_=l.words[y]|0;if(w!==_){w<_?h=-1:w>_&&(h=1);break}}return h},o.prototype.gtn=function(l){return this.cmpn(l)===1},o.prototype.gt=function(l){return this.cmp(l)===1},o.prototype.gten=function(l){return this.cmpn(l)>=0},o.prototype.gte=function(l){return this.cmp(l)>=0},o.prototype.ltn=function(l){return this.cmpn(l)===-1},o.prototype.lt=function(l){return this.cmp(l)===-1},o.prototype.lten=function(l){return this.cmpn(l)<=0},o.prototype.lte=function(l){return this.cmp(l)<=0},o.prototype.eqn=function(l){return this.cmpn(l)===0},o.prototype.eq=function(l){return this.cmp(l)===0},o.red=function(l){return new N(l)},o.prototype.toRed=function(l){return s(!this.red,"Already a number in reduction context"),s(this.negative===0,"red works only with positives"),l.convertTo(this)._forceRed(l)},o.prototype.fromRed=function(){return s(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(l){return this.red=l,this},o.prototype.forceRed=function(l){return s(!this.red,"Already a number in reduction context"),this._forceRed(l)},o.prototype.redAdd=function(l){return s(this.red,"redAdd works only with red numbers"),this.red.add(this,l)},o.prototype.redIAdd=function(l){return s(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l)},o.prototype.redSub=function(l){return s(this.red,"redSub works only with red numbers"),this.red.sub(this,l)},o.prototype.redISub=function(l){return s(this.red,"redISub works only with red numbers"),this.red.isub(this,l)},o.prototype.redShl=function(l){return s(this.red,"redShl works only with red numbers"),this.red.shl(this,l)},o.prototype.redMul=function(l){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.mul(this,l)},o.prototype.redIMul=function(l){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.imul(this,l)},o.prototype.redSqr=function(){return s(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return s(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return s(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return s(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return s(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(l){return s(this.red&&!l.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l)};var q={k256:null,p224:null,p192:null,p25519:null};function V(l,h){this.name=l,this.p=new o(h,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}V.prototype._tmp=function(){var l=new o(null);return l.words=new Array(Math.ceil(this.n/13)),l},V.prototype.ireduce=function(l){var h=l,y;do this.split(h,this.tmp),h=this.imulK(h),h=h.iadd(this.tmp),y=h.bitLength();while(y>this.n);var w=y<this.n?-1:h.ucmp(this.p);return w===0?(h.words[0]=0,h.length=1):w>0?h.isub(this.p):h.strip!==void 0?h.strip():h._strip(),h},V.prototype.split=function(l,h){l.iushrn(this.n,0,h)},V.prototype.imulK=function(l){return l.imul(this.k)};function F(){V.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(F,V),F.prototype.split=function(l,h){for(var y=4194303,w=Math.min(l.length,9),_=0;_<w;_++)h.words[_]=l.words[_];if(h.length=w,l.length<=9){l.words[0]=0,l.length=1;return}var S=l.words[9];for(h.words[h.length++]=S&y,_=10;_<l.length;_++){var I=l.words[_]|0;l.words[_-10]=(I&y)<<4|S>>>22,S=I}S>>>=22,l.words[_-10]=S,S===0&&l.length>10?l.length-=10:l.length-=9},F.prototype.imulK=function(l){l.words[l.length]=0,l.words[l.length+1]=0,l.length+=2;for(var h=0,y=0;y<l.length;y++){var w=l.words[y]|0;h+=w*977,l.words[y]=h&67108863,h=w*64+(h/67108864|0)}return l.words[l.length-1]===0&&(l.length--,l.words[l.length-1]===0&&l.length--),l};function X(){V.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(X,V);function ee(){V.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(ee,V);function j(){V.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(j,V),j.prototype.imulK=function(l){for(var h=0,y=0;y<l.length;y++){var w=(l.words[y]|0)*19+h,_=w&67108863;w>>>=26,l.words[y]=_,h=w}return h!==0&&(l.words[l.length++]=h),l},o._prime=function(l){if(q[l])return q[l];var h;if(l==="k256")h=new F;else if(l==="p224")h=new X;else if(l==="p192")h=new ee;else if(l==="p25519")h=new j;else throw new Error("Unknown prime "+l);return q[l]=h,h};function N(l){if(typeof l=="string"){var h=o._prime(l);this.m=h.p,this.prime=h}else s(l.gtn(1),"modulus must be greater than 1"),this.m=l,this.prime=null}N.prototype._verify1=function(l){s(l.negative===0,"red works only with positives"),s(l.red,"red works only with red numbers")},N.prototype._verify2=function(l,h){s((l.negative|h.negative)===0,"red works only with positives"),s(l.red&&l.red===h.red,"red works only with red numbers")},N.prototype.imod=function(l){return this.prime?this.prime.ireduce(l)._forceRed(this):(f(l,l.umod(this.m)._forceRed(this)),l)},N.prototype.neg=function(l){return l.isZero()?l.clone():this.m.sub(l)._forceRed(this)},N.prototype.add=function(l,h){this._verify2(l,h);var y=l.add(h);return y.cmp(this.m)>=0&&y.isub(this.m),y._forceRed(this)},N.prototype.iadd=function(l,h){this._verify2(l,h);var y=l.iadd(h);return y.cmp(this.m)>=0&&y.isub(this.m),y},N.prototype.sub=function(l,h){this._verify2(l,h);var y=l.sub(h);return y.cmpn(0)<0&&y.iadd(this.m),y._forceRed(this)},N.prototype.isub=function(l,h){this._verify2(l,h);var y=l.isub(h);return y.cmpn(0)<0&&y.iadd(this.m),y},N.prototype.shl=function(l,h){return this._verify1(l),this.imod(l.ushln(h))},N.prototype.imul=function(l,h){return this._verify2(l,h),this.imod(l.imul(h))},N.prototype.mul=function(l,h){return this._verify2(l,h),this.imod(l.mul(h))},N.prototype.isqr=function(l){return this.imul(l,l.clone())},N.prototype.sqr=function(l){return this.mul(l,l)},N.prototype.sqrt=function(l){if(l.isZero())return l.clone();var h=this.m.andln(3);if(s(h%2===1),h===3){var y=this.m.add(new o(1)).iushrn(2);return this.pow(l,y)}for(var w=this.m.subn(1),_=0;!w.isZero()&&w.andln(1)===0;)_++,w.iushrn(1);s(!w.isZero());var S=new o(1).toRed(this),I=S.redNeg(),k=this.m.subn(1).iushrn(1),g=this.m.bitLength();for(g=new o(2*g*g).toRed(this);this.pow(g,k).cmp(I)!==0;)g.redIAdd(I);for(var E=this.pow(g,w),G=this.pow(l,w.addn(1).iushrn(1)),z=this.pow(l,w),K=_;z.cmp(S)!==0;){for(var re=z,se=0;re.cmp(S)!==0;se++)re=re.redSqr();s(se<K);var ve=this.pow(E,new o(1).iushln(K-se-1));G=G.redMul(ve),E=ve.redSqr(),z=z.redMul(E),K=se}return G},N.prototype.invm=function(l){var h=l._invmp(this.m);return h.negative!==0?(h.negative=0,this.imod(h).redNeg()):this.imod(h)},N.prototype.pow=function(l,h){if(h.isZero())return new o(1).toRed(this);if(h.cmpn(1)===0)return l.clone();var y=4,w=new Array(1<<y);w[0]=new o(1).toRed(this),w[1]=l;for(var _=2;_<w.length;_++)w[_]=this.mul(w[_-1],l);var S=w[0],I=0,k=0,g=h.bitLength()%26;for(g===0&&(g=26),_=h.length-1;_>=0;_--){for(var E=h.words[_],G=g-1;G>=0;G--){var z=E>>G&1;if(S!==w[0]&&(S=this.sqr(S)),z===0&&I===0){k=0;continue}I<<=1,I|=z,k++,!(k!==y&&(_!==0||G!==0))&&(S=this.mul(S,w[I]),k=0,I=0)}g=26}return S},N.prototype.convertTo=function(l){var h=l.umod(this.m);return h===l?h.clone():h},N.prototype.convertFrom=function(l){var h=l.clone();return h.red=null,h},o.mont=function(l){return new D(l)};function D(l){N.call(this,l),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}i(D,N),D.prototype.convertTo=function(l){return this.imod(l.ushln(this.shift))},D.prototype.convertFrom=function(l){var h=this.imod(l.mul(this.rinv));return h.red=null,h},D.prototype.imul=function(l,h){if(l.isZero()||h.isZero())return l.words[0]=0,l.length=1,l;var y=l.imul(h),w=y.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_=y.isub(w).iushrn(this.shift),S=_;return _.cmp(this.m)>=0?S=_.isub(this.m):_.cmpn(0)<0&&(S=_.iadd(this.m)),S._forceRed(this)},D.prototype.mul=function(l,h){if(l.isZero()||h.isZero())return new o(0)._forceRed(this);var y=l.mul(h),w=y.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_=y.isub(w).iushrn(this.shift),S=_;return _.cmp(this.m)>=0?S=_.isub(this.m):_.cmpn(0)<0&&(S=_.iadd(this.m)),S._forceRed(this)},D.prototype.invm=function(l){var h=this.imod(l._invmp(this.m).mul(this.r2));return h._forceRed(this)}})(typeof e>"u"||e,t)}),mC={REQUEST_PARAMS:"requestParams",METHOD_NAME:"methodName"},gC=class B_ extends Error{constructor(e,n,r){super(e),this.code=n,this.details=r,this.name=this.constructor.name}static{this.DETAILS_KEYS=mC}toJSON(){return{name:this.name,message:this.message,code:this.code,details:this.details}}toString(){return JSON.stringify(this.toJSON())}static isErrorCode(e,n){return e instanceof B_&&e.code===n}},yC=class extends gC{constructor(t,e,n){super(t,e||"UnknownError",n)}static isCommonErrorCode(t,e){return this.isErrorCode(t,e)}},E_=(t,e,n)=>{throw new yC(e,t,n)};function S_(t){return Date.parse(new Date().toString())+t}var bC=class{constructor(t,e=0){this.overdue_time=e,this.value=t}isValid(){return this.value===null?!1:this.overdue_time===0?!0:!(Date.parse(new Date().toString())>this.overdue_time)}},pa=9e15,mi=1e9,bm="0123456789abcdef",Xl="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Ql="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",wm={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-pa,maxE:pa,crypto:!1},M_,As,ke=!0,nd="[DecimalError] ",hi=nd+"Invalid argument: ",j_=nd+"Precision limit exceeded",D_=nd+"crypto unavailable",U_="[object Decimal]",_n=Math.floor,Qt=Math.pow,wC=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,vC=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,_C=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,P_=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Ar=1e7,we=7,TC=9007199254740991,kC=Xl.length-1,vm=Ql.length-1,H={toStringTag:U_};H.absoluteValue=H.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),fe(t)};H.ceil=function(){return fe(new this.constructor(this),this.e+1,2)};H.clampedTo=H.clamp=function(t,e){var n,r=this,s=r.constructor;if(t=new s(t),e=new s(e),!t.s||!e.s)return new s(NaN);if(t.gt(e))throw Error(hi+e);return n=r.cmp(t),n<0?t:r.cmp(e)>0?e:new s(r)};H.comparedTo=H.cmp=function(t){var e,n,r,s,i=this,o=i.d,a=(t=new i.constructor(t)).d,c=i.s,u=t.s;if(!o||!a)return!c||!u?NaN:c!==u?c:o===a?0:!o^c<0?1:-1;if(!o[0]||!a[0])return o[0]?c:a[0]?-u:0;if(c!==u)return c;if(i.e!==t.e)return i.e>t.e^c<0?1:-1;for(r=o.length,s=a.length,e=0,n=r<s?r:s;e<n;++e)if(o[e]!==a[e])return o[e]>a[e]^c<0?1:-1;return r===s?0:r>s^c<0?1:-1};H.cosine=H.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+we,r.rounding=1,n=EC(r,$_(r,n)),r.precision=t,r.rounding=e,fe(As==2||As==3?n.neg():n,t,e,!0)):new r(1):new r(NaN)};H.cubeRoot=H.cbrt=function(){var t,e,n,r,s,i,o,a,c,u,d=this,f=d.constructor;if(!d.isFinite()||d.isZero())return new f(d);for(ke=!1,i=d.s*Qt(d.s*d,1/3),!i||Math.abs(i)==1/0?(n=fn(d.d),t=d.e,(i=(t-n.length+1)%3)&&(n+=i==1||i==-2?"0":"00"),i=Qt(n,1/3),t=_n((t+1)/3)-(t%3==(t<0?-1:2)),i==1/0?n="5e"+t:(n=i.toExponential(),n=n.slice(0,n.indexOf("e")+1)+t),r=new f(n),r.s=d.s):r=new f(i.toString()),o=(t=f.precision)+3;;)if(a=r,c=a.times(a).times(a),u=c.plus(d),r=Ge(u.plus(d).times(a),u.plus(c),o+2,1),fn(a.d).slice(0,o)===(n=fn(r.d)).slice(0,o))if(n=n.slice(o-3,o+1),n=="9999"||!s&&n=="4999"){if(!s&&(fe(a,t+1,0),a.times(a).times(a).eq(d))){r=a;break}o+=4,s=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(fe(r,t+1,1),e=!r.times(r).times(r).eq(d));break}return ke=!0,fe(r,t,f.rounding,e)};H.decimalPlaces=H.dp=function(){var t,e=this.d,n=NaN;if(e){if(t=e.length-1,n=(t-_n(this.e/we))*we,t=e[t],t)for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n};H.dividedBy=H.div=function(t){return Ge(this,new this.constructor(t))};H.dividedToIntegerBy=H.divToInt=function(t){var e=this,n=e.constructor;return fe(Ge(e,new n(t),0,1,1),n.precision,n.rounding)};H.equals=H.eq=function(t){return this.cmp(t)===0};H.floor=function(){return fe(new this.constructor(this),this.e+1,3)};H.greaterThan=H.gt=function(t){return this.cmp(t)>0};H.greaterThanOrEqualTo=H.gte=function(t){var e=this.cmp(t);return e==1||e===0};H.hyperbolicCosine=H.cosh=function(){var t,e,n,r,s,i=this,o=i.constructor,a=new o(1);if(!i.isFinite())return new o(i.s?1/0:NaN);if(i.isZero())return a;n=o.precision,r=o.rounding,o.precision=n+Math.max(i.e,i.sd())+4,o.rounding=1,s=i.d.length,s<32?(t=Math.ceil(s/3),e=(1/sd(4,t)).toString()):(t=16,e="2.3283064365386962890625e-10"),i=ha(o,1,i.times(e),new o(1),!0);for(var c,u=t,d=new o(8);u--;)c=i.times(i),i=a.minus(c.times(d.minus(c.times(d))));return fe(i,o.precision=n,o.rounding=r,!0)};H.hyperbolicSine=H.sinh=function(){var t,e,n,r,s=this,i=s.constructor;if(!s.isFinite()||s.isZero())return new i(s);if(e=i.precision,n=i.rounding,i.precision=e+Math.max(s.e,s.sd())+4,i.rounding=1,r=s.d.length,r<3)s=ha(i,2,s,s,!0);else{t=1.4*Math.sqrt(r),t=t>16?16:t|0,s=s.times(1/sd(5,t)),s=ha(i,2,s,s,!0);for(var o,a=new i(5),c=new i(16),u=new i(20);t--;)o=s.times(s),s=s.times(a.plus(o.times(c.times(o).plus(u))))}return i.precision=e,i.rounding=n,fe(s,e,n,!0)};H.hyperbolicTangent=H.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,Ge(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)};H.inverseCosine=H.acos=function(){var t=this,e=t.constructor,n=t.abs().cmp(1),r=e.precision,s=e.rounding;return n!==-1?n===0?t.isNeg()?Xr(e,r,s):new e(0):new e(NaN):t.isZero()?Xr(e,r+4,s).times(.5):(e.precision=r+6,e.rounding=1,t=new e(1).minus(t).div(t.plus(1)).sqrt().atan(),e.precision=r,e.rounding=s,t.times(2))};H.inverseHyperbolicCosine=H.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,ke=!1,n=n.times(n).minus(1).sqrt().plus(n),ke=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)};H.inverseHyperbolicSine=H.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,ke=!1,n=n.times(n).plus(1).sqrt().plus(n),ke=!0,r.precision=t,r.rounding=e,n.ln())};H.inverseHyperbolicTangent=H.atanh=function(){var t,e,n,r,s=this,i=s.constructor;return s.isFinite()?s.e>=0?new i(s.abs().eq(1)?s.s/0:s.isZero()?s:NaN):(t=i.precision,e=i.rounding,r=s.sd(),Math.max(r,t)<2*-s.e-1?fe(new i(s),t,e,!0):(i.precision=n=r-s.e,s=Ge(s.plus(1),new i(1).minus(s),n+t,1),i.precision=t+4,i.rounding=1,s=s.ln(),i.precision=t,i.rounding=e,s.times(.5))):new i(NaN)};H.inverseSine=H.asin=function(){var t,e,n,r,s=this,i=s.constructor;return s.isZero()?new i(s):(e=s.abs().cmp(1),n=i.precision,r=i.rounding,e!==-1?e===0?(t=Xr(i,n+4,r).times(.5),t.s=s.s,t):new i(NaN):(i.precision=n+6,i.rounding=1,s=s.div(new i(1).minus(s.times(s)).sqrt().plus(1)).atan(),i.precision=n,i.rounding=r,s.times(2)))};H.inverseTangent=H.atan=function(){var t,e,n,r,s,i,o,a,c,u=this,d=u.constructor,f=d.precision,p=d.rounding;if(u.isFinite()){if(u.isZero())return new d(u);if(u.abs().eq(1)&&f+4<=vm)return o=Xr(d,f+4,p).times(.25),o.s=u.s,o}else{if(!u.s)return new d(NaN);if(f+4<=vm)return o=Xr(d,f+4,p).times(.5),o.s=u.s,o}for(d.precision=a=f+10,d.rounding=1,n=Math.min(28,a/we+2|0),t=n;t;--t)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(ke=!1,e=Math.ceil(a/we),r=1,c=u.times(u),o=new d(u),s=u;t!==-1;)if(s=s.times(c),i=o.minus(s.div(r+=2)),s=s.times(c),o=i.plus(s.div(r+=2)),o.d[e]!==void 0)for(t=e;o.d[t]===i.d[t]&&t--;);return n&&(o=o.times(2<<n-1)),ke=!0,fe(o,d.precision=f,d.rounding=p,!0)};H.isFinite=function(){return!!this.d};H.isInteger=H.isInt=function(){return!!this.d&&_n(this.e/we)>this.d.length-2};H.isNaN=function(){return!this.s};H.isNegative=H.isNeg=function(){return this.s<0};H.isPositive=H.isPos=function(){return this.s>0};H.isZero=function(){return!!this.d&&this.d[0]===0};H.lessThan=H.lt=function(t){return this.cmp(t)<0};H.lessThanOrEqualTo=H.lte=function(t){return this.cmp(t)<1};H.logarithm=H.log=function(t){var e,n,r,s,i,o,a,c,u=this,d=u.constructor,f=d.precision,p=d.rounding,m=5;if(t==null)t=new d(10),e=!0;else{if(t=new d(t),n=t.d,t.s<0||!n||!n[0]||t.eq(1))return new d(NaN);e=t.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new d(n&&!n[0]?-1/0:u.s!=1?NaN:n?0:1/0);if(e)if(n.length>1)i=!0;else{for(s=n[0];s%10===0;)s/=10;i=s!==1}if(ke=!1,a=f+m,o=pi(u,a),r=e?ed(d,a+10):pi(t,a),c=Ge(o,r,a,1),Dc(c.d,s=f,p))do if(a+=10,o=pi(u,a),r=e?ed(d,a+10):pi(t,a),c=Ge(o,r,a,1),!i){+fn(c.d).slice(s+1,s+15)+1==1e14&&(c=fe(c,f+1,0));break}while(Dc(c.d,s+=10,p));return ke=!0,fe(c,f,p)};H.minus=H.sub=function(t){var e,n,r,s,i,o,a,c,u,d,f,p,m=this,b=m.constructor;if(t=new b(t),!m.d||!t.d)return!m.s||!t.s?t=new b(NaN):m.d?t.s=-t.s:t=new b(t.d||m.s!==t.s?m:NaN),t;if(m.s!=t.s)return t.s=-t.s,m.plus(t);if(u=m.d,p=t.d,a=b.precision,c=b.rounding,!u[0]||!p[0]){if(p[0])t.s=-t.s;else if(u[0])t=new b(m);else return new b(c===3?-0:0);return ke?fe(t,a,c):t}if(n=_n(t.e/we),d=_n(m.e/we),u=u.slice(),i=d-n,i){for(f=i<0,f?(e=u,i=-i,o=p.length):(e=p,n=d,o=u.length),r=Math.max(Math.ceil(a/we),o)+2,i>r&&(i=r,e.length=1),e.reverse(),r=i;r--;)e.push(0);e.reverse()}else{for(r=u.length,o=p.length,f=r<o,f&&(o=r),r=0;r<o;r++)if(u[r]!=p[r]){f=u[r]<p[r];break}i=0}for(f&&(e=u,u=p,p=e,t.s=-t.s),o=u.length,r=p.length-o;r>0;--r)u[o++]=0;for(r=p.length;r>i;){if(u[--r]<p[r]){for(s=r;s&&u[--s]===0;)u[s]=Ar-1;--u[s],u[r]+=Ar}u[r]-=p[r]}for(;u[--o]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(t.d=u,t.e=rd(u,n),ke?fe(t,a,c):t):new b(c===3?-0:0)};H.modulo=H.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?fe(new r(n),r.precision,r.rounding):(ke=!1,r.modulo==9?(e=Ge(n,t.abs(),0,3,1),e.s*=t.s):e=Ge(n,t,0,r.modulo,1),e=e.times(t),ke=!0,n.minus(e))};H.naturalExponential=H.exp=function(){return _m(this)};H.naturalLogarithm=H.ln=function(){return pi(this)};H.negated=H.neg=function(){var t=new this.constructor(this);return t.s=-t.s,fe(t)};H.plus=H.add=function(t){var e,n,r,s,i,o,a,c,u,d,f=this,p=f.constructor;if(t=new p(t),!f.d||!t.d)return!f.s||!t.s?t=new p(NaN):f.d||(t=new p(t.d||f.s===t.s?f:NaN)),t;if(f.s!=t.s)return t.s=-t.s,f.minus(t);if(u=f.d,d=t.d,a=p.precision,c=p.rounding,!u[0]||!d[0])return d[0]||(t=new p(f)),ke?fe(t,a,c):t;if(i=_n(f.e/we),r=_n(t.e/we),u=u.slice(),s=i-r,s){for(s<0?(n=u,s=-s,o=d.length):(n=d,r=i,o=u.length),i=Math.ceil(a/we),o=i>o?i+1:o+1,s>o&&(s=o,n.length=1),n.reverse();s--;)n.push(0);n.reverse()}for(o=u.length,s=d.length,o-s<0&&(s=o,n=d,d=u,u=n),e=0;s;)e=(u[--s]=u[s]+d[s]+e)/Ar|0,u[s]%=Ar;for(e&&(u.unshift(e),++r),o=u.length;u[--o]==0;)u.pop();return t.d=u,t.e=rd(u,r),ke?fe(t,a,c):t};H.precision=H.sd=function(t){var e,n=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(hi+t);return n.d?(e=L_(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e};H.round=function(){var t=this,e=t.constructor;return fe(new e(t),t.e+1,e.rounding)};H.sine=H.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+we,r.rounding=1,n=xC(r,$_(r,n)),r.precision=t,r.rounding=e,fe(As>2?n.neg():n,t,e,!0)):new r(NaN)};H.squareRoot=H.sqrt=function(){var t,e,n,r,s,i,o=this,a=o.d,c=o.e,u=o.s,d=o.constructor;if(u!==1||!a||!a[0])return new d(!u||u<0&&(!a||a[0])?NaN:a?o:1/0);for(ke=!1,u=Math.sqrt(+o),u==0||u==1/0?(e=fn(a),(e.length+c)%2==0&&(e+="0"),u=Math.sqrt(e),c=_n((c+1)/2)-(c<0||c%2),u==1/0?e="5e"+c:(e=u.toExponential(),e=e.slice(0,e.indexOf("e")+1)+c),r=new d(e)):r=new d(u.toString()),n=(c=d.precision)+3;;)if(i=r,r=i.plus(Ge(o,i,n+2,1)).times(.5),fn(i.d).slice(0,n)===(e=fn(r.d)).slice(0,n))if(e=e.slice(n-3,n+1),e=="9999"||!s&&e=="4999"){if(!s&&(fe(i,c+1,0),i.times(i).eq(o))){r=i;break}n+=4,s=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(fe(r,c+1,1),t=!r.times(r).eq(o));break}return ke=!0,fe(r,c,d.rounding,t)};H.tangent=H.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,n=n.sin(),n.s=1,n=Ge(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,fe(As==2||As==4?n.neg():n,t,e,!0)):new r(NaN)};H.times=H.mul=function(t){var e,n,r,s,i,o,a,c,u,d=this,f=d.constructor,p=d.d,m=(t=new f(t)).d;if(t.s*=d.s,!p||!p[0]||!m||!m[0])return new f(!t.s||p&&!p[0]&&!m||m&&!m[0]&&!p?NaN:!p||!m?t.s/0:t.s*0);for(n=_n(d.e/we)+_n(t.e/we),c=p.length,u=m.length,c<u&&(i=p,p=m,m=i,o=c,c=u,u=o),i=[],o=c+u,r=o;r--;)i.push(0);for(r=u;--r>=0;){for(e=0,s=c+r;s>r;)a=i[s]+m[r]*p[s-r-1]+e,i[s--]=a%Ar|0,e=a/Ar|0;i[s]=(i[s]+e)%Ar|0}for(;!i[--o];)i.pop();return e?++n:i.shift(),t.d=i,t.e=rd(i,n),ke?fe(t,f.precision,f.rounding):t};H.toBinary=function(t,e){return km(this,2,t,e)};H.toDecimalPlaces=H.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(Ln(t,0,mi),e===void 0?e=r.rounding:Ln(e,0,8),fe(n,t+n.e+1,e))};H.toExponential=function(t,e){var n,r=this,s=r.constructor;return t===void 0?n=Qr(r,!0):(Ln(t,0,mi),e===void 0?e=s.rounding:Ln(e,0,8),r=fe(new s(r),t+1,e),n=Qr(r,!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n};H.toFixed=function(t,e){var n,r,s=this,i=s.constructor;return t===void 0?n=Qr(s):(Ln(t,0,mi),e===void 0?e=i.rounding:Ln(e,0,8),r=fe(new i(s),t+s.e+1,e),n=Qr(r,!1,t+r.e+1)),s.isNeg()&&!s.isZero()?"-"+n:n};H.toFraction=function(t){var e,n,r,s,i,o,a,c,u,d,f,p,m=this,b=m.d,v=m.constructor;if(!b)return new v(m);if(u=n=new v(1),r=c=new v(0),e=new v(r),i=e.e=L_(b)-m.e-1,o=i%we,e.d[0]=Qt(10,o<0?we+o:o),t==null)t=i>0?e:u;else{if(a=new v(t),!a.isInt()||a.lt(u))throw Error(hi+a);t=a.gt(e)?i>0?e:u:a}for(ke=!1,a=new v(fn(b)),d=v.precision,v.precision=i=b.length*we*2;f=Ge(a,e,0,1,1),s=n.plus(f.times(r)),s.cmp(t)!=1;)n=r,r=s,s=u,u=c.plus(f.times(s)),c=s,s=e,e=a.minus(f.times(s)),a=s;return s=Ge(t.minus(n),r,0,1,1),c=c.plus(s.times(u)),n=n.plus(s.times(r)),c.s=u.s=m.s,p=Ge(u,r,i,1).minus(m).abs().cmp(Ge(c,n,i,1).minus(m).abs())<1?[u,r]:[c,n],v.precision=d,ke=!0,p};H.toHexadecimal=H.toHex=function(t,e){return km(this,16,t,e)};H.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),t==null){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),e===void 0?e=r.rounding:Ln(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?(ke=!1,n=Ge(n,t,0,e,1).times(t),ke=!0,fe(n)):(t.s=n.s,n=t),n};H.toNumber=function(){return+this};H.toOctal=function(t,e){return km(this,8,t,e)};H.toPower=H.pow=function(t){var e,n,r,s,i,o,a=this,c=a.constructor,u=+(t=new c(t));if(!a.d||!t.d||!a.d[0]||!t.d[0])return new c(Qt(+a,u));if(a=new c(a),a.eq(1))return a;if(r=c.precision,i=c.rounding,t.eq(1))return fe(a,r,i);if(e=_n(t.e/we),e>=t.d.length-1&&(n=u<0?-u:u)<=TC)return s=V_(c,a,n,r),t.s<0?new c(1).div(s):fe(s,r,i);if(o=a.s,o<0){if(e<t.d.length-1)return new c(NaN);if(!(t.d[e]&1)&&(o=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=o,a}return n=Qt(+a,u),e=n==0||!isFinite(n)?_n(u*(Math.log("0."+fn(a.d))/Math.LN10+a.e+1)):new c(n+"").e,e>c.maxE+1||e<c.minE-1?new c(e>0?o/0:0):(ke=!1,c.rounding=a.s=1,n=Math.min(12,(e+"").length),s=_m(t.times(pi(a,r+n)),r),s.d&&(s=fe(s,r+5,1),Dc(s.d,r,i)&&(e=r+10,s=fe(_m(t.times(pi(a,e+n)),e),e+5,1),+fn(s.d).slice(r+1,r+15)+1==1e14&&(s=fe(s,r+1,0)))),s.s=o,ke=!0,c.rounding=i,fe(s,r,i))};H.toPrecision=function(t,e){var n,r=this,s=r.constructor;return t===void 0?n=Qr(r,r.e<=s.toExpNeg||r.e>=s.toExpPos):(Ln(t,1,mi),e===void 0?e=s.rounding:Ln(e,0,8),r=fe(new s(r),t,e),n=Qr(r,t<=r.e||r.e<=s.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n};H.toSignificantDigits=H.toSD=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(Ln(t,1,mi),e===void 0?e=r.rounding:Ln(e,0,8)),fe(new r(n),t,e)};H.toString=function(){var t=this,e=t.constructor,n=Qr(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n};H.truncated=H.trunc=function(){return fe(new this.constructor(this),this.e+1,1)};H.valueOf=H.toJSON=function(){var t=this,e=t.constructor,n=Qr(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};function fn(t){var e,n,r,s=t.length-1,i="",o=t[0];if(s>0){for(i+=o,e=1;e<s;e++)r=t[e]+"",n=we-r.length,n&&(i+=fi(n)),i+=r;o=t[e],r=o+"",n=we-r.length,n&&(i+=fi(n))}else if(o===0)return"0";for(;o%10===0;)o/=10;return i+o}function Ln(t,e,n){if(t!==~~t||t<e||t>n)throw Error(hi+t)}function Dc(t,e,n,r){var s,i,o,a;for(i=t[0];i>=10;i/=10)--e;return--e<0?(e+=we,s=0):(s=Math.ceil((e+1)/we),e%=we),i=Qt(10,we-e),a=t[s]%i|0,r==null?e<3?(e==0?a=a/100|0:e==1&&(a=a/10|0),o=n<4&&a==99999||n>3&&a==49999||a==5e4||a==0):o=(n<4&&a+1==i||n>3&&a+1==i/2)&&(t[s+1]/i/100|0)==Qt(10,e-2)-1||(a==i/2||a==0)&&(t[s+1]/i/100|0)==0:e<4?(e==0?a=a/1e3|0:e==1?a=a/100|0:e==2&&(a=a/10|0),o=(r||n<4)&&a==9999||!r&&n>3&&a==4999):o=((r||n<4)&&a+1==i||!r&&n>3&&a+1==i/2)&&(t[s+1]/i/1e3|0)==Qt(10,e-3)-1,o}function Jl(t,e,n){for(var r,s=[0],i,o=0,a=t.length;o<a;){for(i=s.length;i--;)s[i]*=e;for(s[0]+=bm.indexOf(t.charAt(o++)),r=0;r<s.length;r++)s[r]>n-1&&(s[r+1]===void 0&&(s[r+1]=0),s[r+1]+=s[r]/n|0,s[r]%=n)}return s.reverse()}function EC(t,e){var n,r,s;if(e.isZero())return e;r=e.d.length,r<32?(n=Math.ceil(r/3),s=(1/sd(4,n)).toString()):(n=16,s="2.3283064365386962890625e-10"),t.precision+=n,e=ha(t,1,e.times(s),new t(1));for(var i=n;i--;){var o=e.times(e);e=o.times(o).minus(o).times(8).plus(1)}return t.precision-=n,e}var Ge=function(){function t(r,s,i){var o,a=0,c=r.length;for(r=r.slice();c--;)o=r[c]*s+a,r[c]=o%i|0,a=o/i|0;return a&&r.unshift(a),r}function e(r,s,i,o){var a,c;if(i!=o)c=i>o?1:-1;else for(a=c=0;a<i;a++)if(r[a]!=s[a]){c=r[a]>s[a]?1:-1;break}return c}function n(r,s,i,o){for(var a=0;i--;)r[i]-=a,a=r[i]<s[i]?1:0,r[i]=a*o+r[i]-s[i];for(;!r[0]&&r.length>1;)r.shift()}return function(r,s,i,o,a,c){var u,d,f,p,m,b,v,T,O,B,C,U,L,P,q,V,F,X,ee,j,N=r.constructor,D=r.s==s.s?1:-1,l=r.d,h=s.d;if(!l||!l[0]||!h||!h[0])return new N(!r.s||!s.s||(l?h&&l[0]==h[0]:!h)?NaN:l&&l[0]==0||!h?D*0:D/0);for(c?(m=1,d=r.e-s.e):(c=Ar,m=we,d=_n(r.e/m)-_n(s.e/m)),ee=h.length,F=l.length,O=new N(D),B=O.d=[],f=0;h[f]==(l[f]||0);f++);if(h[f]>(l[f]||0)&&d--,i==null?(P=i=N.precision,o=N.rounding):a?P=i+(r.e-s.e)+1:P=i,P<0)B.push(1),b=!0;else{if(P=P/m+2|0,f=0,ee==1){for(p=0,h=h[0],P++;(f<F||p)&&P--;f++)q=p*c+(l[f]||0),B[f]=q/h|0,p=q%h|0;b=p||f<F}else{for(p=c/(h[0]+1)|0,p>1&&(h=t(h,p,c),l=t(l,p,c),ee=h.length,F=l.length),V=ee,C=l.slice(0,ee),U=C.length;U<ee;)C[U++]=0;j=h.slice(),j.unshift(0),X=h[0],h[1]>=c/2&&++X;do p=0,u=e(h,C,ee,U),u<0?(L=C[0],ee!=U&&(L=L*c+(C[1]||0)),p=L/X|0,p>1?(p>=c&&(p=c-1),v=t(h,p,c),T=v.length,U=C.length,u=e(v,C,T,U),u==1&&(p--,n(v,ee<T?j:h,T,c))):(p==0&&(u=p=1),v=h.slice()),T=v.length,T<U&&v.unshift(0),n(C,v,U,c),u==-1&&(U=C.length,u=e(h,C,ee,U),u<1&&(p++,n(C,ee<U?j:h,U,c))),U=C.length):u===0&&(p++,C=[0]),B[f++]=p,u&&C[0]?C[U++]=l[V]||0:(C=[l[V]],U=1);while((V++<F||C[0]!==void 0)&&P--);b=C[0]!==void 0}B[0]||B.shift()}if(m==1)O.e=d,M_=b;else{for(f=1,p=B[0];p>=10;p/=10)f++;O.e=f+d*m-1,fe(O,a?i+O.e+1:i,o,b)}return O}}();function fe(t,e,n,r){var s,i,o,a,c,u,d,f,p,m=t.constructor;e:if(e!=null){if(f=t.d,!f)return t;for(s=1,a=f[0];a>=10;a/=10)s++;if(i=e-s,i<0)i+=we,o=e,d=f[p=0],c=d/Qt(10,s-o-1)%10|0;else if(p=Math.ceil((i+1)/we),a=f.length,p>=a)if(r){for(;a++<=p;)f.push(0);d=c=0,s=1,i%=we,o=i-we+1}else break e;else{for(d=a=f[p],s=1;a>=10;a/=10)s++;i%=we,o=i-we+s,c=o<0?0:d/Qt(10,s-o-1)%10|0}if(r=r||e<0||f[p+1]!==void 0||(o<0?d:d%Qt(10,s-o-1)),u=n<4?(c||r)&&(n==0||n==(t.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(i>0?o>0?d/Qt(10,s-o):0:f[p-1])%10&1||n==(t.s<0?8:7)),e<1||!f[0])return f.length=0,u?(e-=t.e+1,f[0]=Qt(10,(we-e%we)%we),t.e=-e||0):f[0]=t.e=0,t;if(i==0?(f.length=p,a=1,p--):(f.length=p+1,a=Qt(10,we-i),f[p]=o>0?(d/Qt(10,s-o)%Qt(10,o)|0)*a:0),u)for(;;)if(p==0){for(i=1,o=f[0];o>=10;o/=10)i++;for(o=f[0]+=a,a=1;o>=10;o/=10)a++;i!=a&&(t.e++,f[0]==Ar&&(f[0]=1));break}else{if(f[p]+=a,f[p]!=Ar)break;f[p--]=0,a=1}for(i=f.length;f[--i]===0;)f.pop()}return ke&&(t.e>m.maxE?(t.d=null,t.e=NaN):t.e<m.minE&&(t.e=0,t.d=[0])),t}function Qr(t,e,n){if(!t.isFinite())return q_(t);var r,s=t.e,i=fn(t.d),o=i.length;return e?(n&&(r=n-o)>0?i=i.charAt(0)+"."+i.slice(1)+fi(r):o>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(t.e<0?"e":"e+")+t.e):s<0?(i="0."+fi(-s-1)+i,n&&(r=n-o)>0&&(i+=fi(r))):s>=o?(i+=fi(s+1-o),n&&(r=n-s-1)>0&&(i=i+"."+fi(r))):((r=s+1)<o&&(i=i.slice(0,r)+"."+i.slice(r)),n&&(r=n-o)>0&&(s+1===o&&(i+="."),i+=fi(r))),i}function rd(t,e){var n=t[0];for(e*=we;n>=10;n/=10)e++;return e}function ed(t,e,n){if(e>kC)throw ke=!0,n&&(t.precision=n),Error(j_);return fe(new t(Xl),e,1,!0)}function Xr(t,e,n){if(e>vm)throw Error(j_);return fe(new t(Ql),e,n,!0)}function L_(t){var e=t.length-1,n=e*we+1;if(e=t[e],e){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function fi(t){for(var e="";t--;)e+="0";return e}function V_(t,e,n,r){var s,i=new t(1),o=Math.ceil(r/we+4);for(ke=!1;;){if(n%2&&(i=i.times(e),O_(i.d,o)&&(s=!0)),n=_n(n/2),n===0){n=i.d.length-1,s&&i.d[n]===0&&++i.d[n];break}e=e.times(e),O_(e.d,o)}return ke=!0,i}function x_(t){return t.d[t.d.length-1]&1}function F_(t,e,n){for(var r,s,i=new t(e[0]),o=0;++o<e.length;){if(s=new t(e[o]),!s.s){i=s;break}r=i.cmp(s),(r===n||r===0&&i.s===n)&&(i=s)}return i}function _m(t,e){var n,r,s,i,o,a,c,u=0,d=0,f=0,p=t.constructor,m=p.rounding,b=p.precision;if(!t.d||!t.d[0]||t.e>17)return new p(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);for(e==null?(ke=!1,c=b):c=e,a=new p(.03125);t.e>-2;)t=t.times(a),f+=5;for(r=Math.log(Qt(2,f))/Math.LN10*2+5|0,c+=r,n=i=o=new p(1),p.precision=c;;){if(i=fe(i.times(t),c,1),n=n.times(++d),a=o.plus(Ge(i,n,c,1)),fn(a.d).slice(0,c)===fn(o.d).slice(0,c)){for(s=f;s--;)o=fe(o.times(o),c,1);if(e==null)if(u<3&&Dc(o.d,c-r,m,u))p.precision=c+=10,n=i=a=new p(1),d=0,u++;else return fe(o,p.precision=b,m,ke=!0);else return p.precision=b,o}o=a}}function pi(t,e){var n,r,s,i,o,a,c,u,d,f,p,m=1,b=10,v=t,T=v.d,O=v.constructor,B=O.rounding,C=O.precision;if(v.s<0||!T||!T[0]||!v.e&&T[0]==1&&T.length==1)return new O(T&&!T[0]?-1/0:v.s!=1?NaN:T?0:v);if(e==null?(ke=!1,d=C):d=e,O.precision=d+=b,n=fn(T),r=n.charAt(0),Math.abs(i=v.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)v=v.times(t),n=fn(v.d),r=n.charAt(0),m++;i=v.e,r>1?(v=new O("0."+n),i++):v=new O(r+"."+n.slice(1))}else return u=ed(O,d+2,C).times(i+""),v=pi(new O(r+"."+n.slice(1)),d-b).plus(u),O.precision=C,e==null?fe(v,C,B,ke=!0):v;for(f=v,c=o=v=Ge(v.minus(1),v.plus(1),d,1),p=fe(v.times(v),d,1),s=3;;){if(o=fe(o.times(p),d,1),u=c.plus(Ge(o,new O(s),d,1)),fn(u.d).slice(0,d)===fn(c.d).slice(0,d))if(c=c.times(2),i!==0&&(c=c.plus(ed(O,d+2,C).times(i+""))),c=Ge(c,new O(m),d,1),e==null)if(Dc(c.d,d-b,B,a))O.precision=d+=b,u=o=v=Ge(f.minus(1),f.plus(1),d,1),p=fe(v.times(v),d,1),s=a=1;else return fe(c,O.precision=C,B,ke=!0);else return O.precision=C,c;c=u,s+=2}}function q_(t){return String(t.s*t.s/0)}function Kl(t,e){var n,r,s;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;r++);for(s=e.length;e.charCodeAt(s-1)===48;--s);if(e=e.slice(r,s),e){if(s-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%we,n<0&&(r+=we),r<s){for(r&&t.d.push(+e.slice(0,r)),s-=we;r<s;)t.d.push(+e.slice(r,r+=we));e=e.slice(r),r=we-e.length}else r-=s;for(;r--;)e+="0";t.d.push(+e),ke&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function SC(t,e){var n,r,s,i,o,a,c,u,d;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),P_.test(e))return Kl(t,e)}else if(e==="Infinity"||e==="NaN")return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(vC.test(e))n=16,e=e.toLowerCase();else if(wC.test(e))n=2;else if(_C.test(e))n=8;else throw Error(hi+e);for(i=e.search(/p/i),i>0?(c=+e.slice(i+1),e=e.substring(2,i)):e=e.slice(2),i=e.indexOf("."),o=i>=0,r=t.constructor,o&&(e=e.replace(".",""),a=e.length,i=a-i,s=V_(r,new r(n),i,i*2)),u=Jl(e,n,Ar),d=u.length-1,i=d;u[i]===0;--i)u.pop();return i<0?new r(t.s*0):(t.e=rd(u,d),t.d=u,ke=!1,o&&(t=Ge(t,s,a*4)),c&&(t=t.times(Math.abs(c)<54?Qt(2,c):Lc.pow(2,c))),ke=!0,t)}function xC(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:ha(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:n|0,e=e.times(1/sd(5,n)),e=ha(t,2,e,e);for(var s,i=new t(5),o=new t(16),a=new t(20);n--;)s=e.times(e),e=e.times(i.plus(s.times(o.times(s).minus(a))));return e}function ha(t,e,n,r,s){var i,o,a,c,u=1,d=t.precision,f=Math.ceil(d/we);for(ke=!1,c=n.times(n),a=new t(r);;){if(o=Ge(a.times(c),new t(e++*e++),d,1),a=s?r.plus(o):r.minus(o),r=Ge(o.times(c),new t(e++*e++),d,1),o=a.plus(r),o.d[f]!==void 0){for(i=f;o.d[i]===a.d[i]&&i--;);if(i==-1)break}i=a,a=r,r=o,o=i,u++}return ke=!0,o.d.length=f+1,o}function sd(t,e){for(var n=t;--e;)n*=t;return n}function $_(t,e){var n,r=e.s<0,s=Xr(t,t.precision,1),i=s.times(.5);if(e=e.abs(),e.lte(i))return As=r?4:1,e;if(n=e.divToInt(s),n.isZero())As=r?3:2;else{if(e=e.minus(n.times(s)),e.lte(i))return As=x_(n)?r?2:3:r?4:1,e;As=x_(n)?r?1:4:r?3:2}return e.minus(s).abs()}function km(t,e,n,r){var s,i,o,a,c,u,d,f,p,m=t.constructor,b=n!==void 0;if(b?(Ln(n,1,mi),r===void 0?r=m.rounding:Ln(r,0,8)):(n=m.precision,r=m.rounding),!t.isFinite())d=q_(t);else{for(d=Qr(t),o=d.indexOf("."),b?(s=2,e==16?n=n*4-3:e==8&&(n=n*3-2)):s=e,o>=0&&(d=d.replace(".",""),p=new m(1),p.e=d.length-o,p.d=Jl(Qr(p),10,s),p.e=p.d.length),f=Jl(d,10,s),i=c=f.length;f[--c]==0;)f.pop();if(!f[0])d=b?"0p+0":"0";else{if(o<0?i--:(t=new m(t),t.d=f,t.e=i,t=Ge(t,p,n,r,0,s),f=t.d,i=t.e,u=M_),o=f[n],a=s/2,u=u||f[n+1]!==void 0,u=r<4?(o!==void 0||u)&&(r===0||r===(t.s<0?3:2)):o>a||o===a&&(r===4||u||r===6&&f[n-1]&1||r===(t.s<0?8:7)),f.length=n,u)for(;++f[--n]>s-1;)f[n]=0,n||(++i,f.unshift(1));for(c=f.length;!f[c-1];--c);for(o=0,d="";o<c;o++)d+=bm.charAt(f[o]);if(b){if(c>1)if(e==16||e==8){for(o=e==16?4:3,--c;c%o;c++)d+="0";for(f=Jl(d,s,e),c=f.length;!f[c-1];--c);for(o=1,d="1.";o<c;o++)d+=bm.charAt(f[o])}else d=d.charAt(0)+"."+d.slice(1);d=d+(i<0?"p":"p+")+i}else if(i<0){for(;++i;)d="0"+d;d="0."+d}else if(++i>c)for(i-=c;i--;)d+="0";else i<c&&(d=d.slice(0,i)+"."+d.slice(i))}d=(e==16?"0x":e==2?"0b":e==8?"0o":"")+d}return t.s<0?"-"+d:d}function O_(t,e){if(t.length>e)return t.length=e,!0}function OC(t){return new this(t).abs()}function IC(t){return new this(t).acos()}function AC(t){return new this(t).acosh()}function CC(t,e){return new this(t).plus(e)}function NC(t){return new this(t).asin()}function RC(t){return new this(t).asinh()}function BC(t){return new this(t).atan()}function MC(t){return new this(t).atanh()}function jC(t,e){t=new this(t),e=new this(e);var n,r=this.precision,s=this.rounding,i=r+4;return!t.s||!e.s?n=new this(NaN):!t.d&&!e.d?(n=Xr(this,i,1).times(e.s>0?.25:.75),n.s=t.s):!e.d||t.isZero()?(n=e.s<0?Xr(this,r,s):new this(0),n.s=t.s):!t.d||e.isZero()?(n=Xr(this,i,1).times(.5),n.s=t.s):e.s<0?(this.precision=i,this.rounding=1,n=this.atan(Ge(t,e,i,1)),e=Xr(this,i,1),this.precision=r,this.rounding=s,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(Ge(t,e,i,1)),n}function DC(t){return new this(t).cbrt()}function UC(t){return fe(t=new this(t),t.e+1,2)}function PC(t,e,n){return new this(t).clamp(e,n)}function LC(t){if(!t||typeof t!="object")throw Error(nd+"Object expected");var e,n,r,s=t.defaults===!0,i=["precision",1,mi,"rounding",0,8,"toExpNeg",-pa,0,"toExpPos",0,pa,"maxE",0,pa,"minE",-pa,0,"modulo",0,9];for(e=0;e<i.length;e+=3)if(n=i[e],s&&(this[n]=wm[n]),(r=t[n])!==void 0)if(_n(r)===r&&r>=i[e+1]&&r<=i[e+2])this[n]=r;else throw Error(hi+n+": "+r);if(n="crypto",s&&(this[n]=wm[n]),(r=t[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(D_);else this[n]=!1;else throw Error(hi+n+": "+r);return this}function VC(t){return new this(t).cos()}function FC(t){return new this(t).cosh()}function G_(t){var e,n,r;function s(i){var o,a,c,u=this;if(!(u instanceof s))return new s(i);if(u.constructor=s,I_(i)){u.s=i.s,ke?!i.d||i.e>s.maxE?(u.e=NaN,u.d=null):i.e<s.minE?(u.e=0,u.d=[0]):(u.e=i.e,u.d=i.d.slice()):(u.e=i.e,u.d=i.d?i.d.slice():i.d);return}if(c=typeof i,c==="number"){if(i===0){u.s=1/i<0?-1:1,u.e=0,u.d=[0];return}if(i<0?(i=-i,u.s=-1):u.s=1,i===~~i&&i<1e7){for(o=0,a=i;a>=10;a/=10)o++;ke?o>s.maxE?(u.e=NaN,u.d=null):o<s.minE?(u.e=0,u.d=[0]):(u.e=o,u.d=[i]):(u.e=o,u.d=[i]);return}if(i*0!==0){i||(u.s=NaN),u.e=NaN,u.d=null;return}return Kl(u,i.toString())}if(c==="string")return(a=i.charCodeAt(0))===45?(i=i.slice(1),u.s=-1):(a===43&&(i=i.slice(1)),u.s=1),P_.test(i)?Kl(u,i):SC(u,i);if(c==="bigint")return i<0?(i=-i,u.s=-1):u.s=1,Kl(u,i.toString());throw Error(hi+i)}if(s.prototype=H,s.ROUND_UP=0,s.ROUND_DOWN=1,s.ROUND_CEIL=2,s.ROUND_FLOOR=3,s.ROUND_HALF_UP=4,s.ROUND_HALF_DOWN=5,s.ROUND_HALF_EVEN=6,s.ROUND_HALF_CEIL=7,s.ROUND_HALF_FLOOR=8,s.EUCLID=9,s.config=s.set=LC,s.clone=G_,s.isDecimal=I_,s.abs=OC,s.acos=IC,s.acosh=AC,s.add=CC,s.asin=NC,s.asinh=RC,s.atan=BC,s.atanh=MC,s.atan2=jC,s.cbrt=DC,s.ceil=UC,s.clamp=PC,s.cos=VC,s.cosh=FC,s.div=qC,s.exp=$C,s.floor=GC,s.hypot=HC,s.ln=zC,s.log=WC,s.log10=JC,s.log2=ZC,s.max=KC,s.min=YC,s.mod=XC,s.mul=QC,s.pow=e3,s.random=t3,s.round=n3,s.sign=r3,s.sin=s3,s.sinh=i3,s.sqrt=o3,s.sub=a3,s.sum=c3,s.tan=u3,s.tanh=l3,s.trunc=d3,t===void 0&&(t={}),t&&t.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<r.length;)t.hasOwnProperty(n=r[e++])||(t[n]=this[n]);return s.config(t),s}function qC(t,e){return new this(t).div(e)}function $C(t){return new this(t).exp()}function GC(t){return fe(t=new this(t),t.e+1,3)}function HC(){var t,e,n=new this(0);for(ke=!1,t=0;t<arguments.length;)if(e=new this(arguments[t++]),e.d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return ke=!0,new this(1/0);n=e}return ke=!0,n.sqrt()}function I_(t){return t instanceof Lc||t&&t.toStringTag===U_||!1}function zC(t){return new this(t).ln()}function WC(t,e){return new this(t).log(e)}function ZC(t){return new this(t).log(2)}function JC(t){return new this(t).log(10)}function KC(){return F_(this,arguments,-1)}function YC(){return F_(this,arguments,1)}function XC(t,e){return new this(t).mod(e)}function QC(t,e){return new this(t).mul(e)}function e3(t,e){return new this(t).pow(e)}function t3(t){var e,n,r,s,i=0,o=new this(1),a=[];if(t===void 0?t=this.precision:Ln(t,1,mi),r=Math.ceil(t/we),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));i<r;)s=e[i],s>=429e7?e[i]=crypto.getRandomValues(new Uint32Array(1))[0]:a[i++]=s%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(r*=4);i<r;)s=e[i]+(e[i+1]<<8)+(e[i+2]<<16)+((e[i+3]&127)<<24),s>=214e7?crypto.randomBytes(4).copy(e,i):(a.push(s%1e7),i+=4);i=r/4}else throw Error(D_);else for(;i<r;)a[i++]=Math.random()*1e7|0;for(r=a[--i],t%=we,r&&t&&(s=Qt(10,we-t),a[i]=(r/s|0)*s);a[i]===0;i--)a.pop();if(i<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=we)a.shift();for(r=1,s=a[0];s>=10;s/=10)r++;r<we&&(n-=we-r)}return o.e=n,o.d=a,o}function n3(t){return fe(t=new this(t),t.e+1,this.rounding)}function r3(t){return t=new this(t),t.d?t.d[0]?t.s:0*t.s:t.s||NaN}function s3(t){return new this(t).sin()}function i3(t){return new this(t).sinh()}function o3(t){return new this(t).sqrt()}function a3(t,e){return new this(t).sub(e)}function c3(){var t=0,e=arguments,n=new this(e[t]);for(ke=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return ke=!0,fe(n,this.precision,this.rounding)}function u3(t){return new this(t).tan()}function l3(t){return new this(t).tanh()}function d3(t){return fe(t=new this(t),t.e+1,1)}H[Symbol.for("nodejs.util.inspect.custom")]=H.toString;H[Symbol.toStringTag]="Decimal";var Lc=H.constructor=G_(wm);Xl=new Lc(Xl);Ql=new Lc(Ql);var td=Lc;function Yl(t){return td.isDecimal(t)?t:new td(t===void 0?0:t)}var H_="0x2::sui::SUI",f3="0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";var p3=class zt{static totalBalance(e,n){let r=BigInt(0);return e.forEach(s=>{n===s.coin_type&&(r+=BigInt(s.balance))}),r}static getCoinAssets(e,n){let r=[];return n.forEach(s=>{C_(s.coin_type)===C_(e)&&r.push(s)}),r}static isSuiCoin(e){return go(e).full_address===H_}static selectCoinObjectIdGreaterThanOrEqual(e,n,r=[]){let s=zt.selectCoinAssetGreaterThanOrEqual(e,n,r),i=s.selected_coins.map(c=>c.coin_object_id),o=s.remain_coins,a=s.selected_coins.map(c=>c.balance.toString());return{object_array:i,remain_coins:o,amount_array:a}}static selectCoinAssetGreaterThanOrEqual(e,n,r=[]){let s=zt.sortByBalance(e.filter(u=>!r.includes(u.coin_object_id))),i=zt.calculateTotalBalance(s);if(i<n)return{selected_coins:[],remain_coins:s};if(i===n)return{selected_coins:s,remain_coins:[]};let o=BigInt(0),a=[],c=[...s];for(;o<i;){let u=n-o,d=c.findIndex(p=>p.balance>=u);if(d!==-1){a.push(c[d]),c.splice(d,1);break}let f=c.pop();f.balance>0&&(a.push(f),o+=f.balance)}return{selected_coins:zt.sortByBalance(a),remain_coins:zt.sortByBalance(c)}}static sortByBalance(e){return e.sort((n,r)=>n.balance<r.balance?-1:n.balance>r.balance?1:0)}static sortByBalanceDes(e){return e.sort((n,r)=>n.balance>r.balance?-1:n.balance<r.balance?0:1)}static calculateTotalBalance(e){return e.reduce((n,r)=>n+r.balance,BigInt(0))}static buildCoinForAmount(e,n,r,s,i=!0,o=!0){let a=zt.getCoinAssets(s,n);if(r===BigInt(0))return this.buildZeroValueCoin(n,e,s,i);let c=zt.calculateTotalBalance(a);if(c<r)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r} `);return this.buildCoin(e,n,a,r,s,i,o)}static buildCoinWithBalance(e,n,r){return e===BigInt(0)&&zt.isSuiCoin(n)?r.add(or({balance:e,useGasCoin:!1})):r.add(or({balance:e,type:n}))}static buildVectorCoin(e,n,r,s,i,o=!0){if(zt.isSuiCoin(i)){let p=e.splitCoins(e.gas,[e.pure.u64(s)]);return{selected_coins:[],target_coin:p,remain_coins:n,target_coin_amount:s.toString(),is_mint_zero_coin:!1,original_spited_coin:e.gas}}let{original_spited_coin:a,target_coin:c,target_coin_amount:u,remain_coins:d,selected_coins:f}=this.buildSpitTargeCoin(e,s,r,o);return o?{target_coin:e.makeMoveVec({elements:[c]}),selected_coins:f,remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1,original_spited_coin:a}:{selected_coins:f,target_coin:e.makeMoveVec({elements:f.map(p=>e.object(p))}),remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1}}static buildOneCoin(e,n,r,s,i=!0){if(zt.isSuiCoin(s)){if(r===0n&&n.length>1){let c=zt.selectCoinObjectIdGreaterThanOrEqual(n,r);return{selected_coins:c.object_array,target_coin:e.object(c.object_array[0]),remain_coins:c.remain_coins,target_coin_amount:c.amount_array[0],is_mint_zero_coin:!1}}let o=zt.selectCoinObjectIdGreaterThanOrEqual(n,r),a=e.splitCoins(e.gas,[e.pure.u64(r)]);return{selected_coins:[],target_coin:a,remain_coins:o.remain_coins,target_coin_amount:r.toString(),is_mint_zero_coin:!1,original_spited_coin:e.gas}}return this.buildSpitTargeCoin(e,r,n,i)}static buildSpitTargeCoin(e,n,r,s){let i=zt.selectCoinObjectIdGreaterThanOrEqual(r,n),o=i.amount_array.reduce((b,v)=>Number(b)+Number(v),0).toString(),a=i.object_array,[c,...u]=a,d=e.object(c),f=d,p=i.amount_array.reduce((b,v)=>Number(b)+Number(v),0).toString(),m;return u.length>0&&e.mergeCoins(d,u.map(b=>e.object(b))),s&&Number(o)>Number(n)&&(f=e.splitCoins(d,[e.pure.u64(n)]),m=d),{original_spited_coin:m,target_coin:f,target_coin_amount:p,remain_coins:i.remain_coins,selected_coins:i.object_array,is_mint_zero_coin:!1}}static buildCoin(e,n,r,s,i,o=!0,a=!0){return o?this.buildVectorCoin(e,n,r,s,i,a):this.buildOneCoin(e,r,s,i,a)}static buildZeroValueCoin(e,n,r,s=!0){let i=this.callMintZeroValueCoin(n,r),o;return s?o=n.makeMoveVec({elements:[i]}):o=i,{target_coin:o,remain_coins:e,selected_coins:[],is_mint_zero_coin:!0,target_coin_amount:"0"}}static buildCoinForAmountInterval(e,n,r,s,i=!0,o=!0){let a=zt.getCoinAssets(s,n);if(r.amount_first===BigInt(0))return a.length>0?this.buildCoin(e,[...n],[...a],r.amount_first,s,i,o):this.buildZeroValueCoin(n,e,s,i);let c=zt.calculateTotalBalance(a);if(c>=r.amount_first)return this.buildCoin(e,[...n],[...a],r.amount_first,s,i,o);if(c<r.amount_second)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r.amount_second} `);return this.buildCoin(e,[...n],[...a],r.amount_second,s,i,o)}static{this.callMintZeroValueCoin=(e,n)=>e.moveCall({target:"0x2::coin::zero",typeArguments:[n]})}static fromBalance(e,n,r){return r.moveCall({target:"0x2::coin::from_balance",typeArguments:[n],arguments:[e]})}static intoBalance(e,n,r){return r.moveCall({target:"0x2::coin::into_balance",typeArguments:[n],arguments:[typeof e=="string"?r.object(e):e]})}static mintBalanceZero(e,n){return n.moveCall({target:"0x2::balance::zero",typeArguments:[e],arguments:[]})}static destroyBalanceZero(e,n,r){return r.moveCall({target:"0x2::balance::destroy_zero",typeArguments:[n],arguments:[e]})}static getCoinAmountObjId(e,n){let r=e.amount_coin_array.find(s=>!s.used&&Yl(s.amount).eq(n)?(s.used=!0,!0):!1);return r?r.coin_object_id:E_("CoinNotFound",`Coin not found for ${n} ${e.coin_type}`)}static buildMultiCoinInput(e,n,r,s){let i=zt.getCoinAssets(r,n);if(zt.isSuiCoin(r)){let f=e.splitCoins(e.gas,s.map(p=>e.pure.u64(p)));return{amount_coin_array:s.map((p,m)=>({coin_object_id:f[m],amount:p.toString(),used:!1})),coin_type:r,remain_coins:i}}let o=s.reduce((f,p)=>f+p,BigInt(0)),a=zt.selectCoinObjectIdGreaterThanOrEqual(i,o);if(a.object_array.length===0)return E_("InsufficientBalance",`No enough coins for ${r} expect ${o} actual ${zt.calculateTotalBalance(i)}`);let[c,...u]=a.object_array;u.length>0&&e.mergeCoins(c,[...u]);let d=e.splitCoins(c,s.map(f=>e.pure.u64(f)));return{amount_coin_array:s.map((f,p)=>({coin_object_id:d[p],amount:f.toString(),used:!1})),remain_coins:a.remain_coins,coin_type:r}}};function h3(t){return t.startsWith("0x")?`${t.slice(2)}`:t}function A_(t,...e){let n=Array.isArray(e[e.length-1])?e.pop():[],r=[t,...e].filter(Boolean).join("::");return n&&n.length&&(r+=`<${n.join(", ")}>`),r}function go(t){try{let e=t.replace(/\s/g,""),n=e.match(/(<.+>)$/)?.[0]?.match(/(\w+::\w+::\w+)(?:<.*?>(?!>))?/g);if(n){e=e.slice(0,e.indexOf("<"));let i={...go(e),type_arguments:n.map(o=>go(o).source_address)};return i.type_arguments=i.type_arguments.map(o=>p3.isSuiCoin(o)?o:go(o).source_address),i.source_address=A_(i.full_address,i.type_arguments),i}let r=e.split("::"),s={full_address:e,address:e===H_||e===f3?"0x2":$t(r[0]),module:r[1],name:r[2],type_arguments:[],source_address:""};return s.full_address=`${s.address}::${s.module}::${s.name}`,s.source_address=A_(s.full_address,s.type_arguments),s}catch{return{full_address:t,address:"",module:"",name:"",type_arguments:[],source_address:t}}}function C_(t){return go(t).source_address}var Tm=(t,e=!0)=>{let n=t.split("::"),r=n.shift(),s=$t(r);return e&&(s=h3(s)),`${s}::${n.join("::")}`};function m3(t){return`0x${Buffer.from(t).toString("hex")}`}function g3(t,e,n,r){let s;switch(r){case"address":s=A.Address.serialize(e).toBytes();break;case"u8":s=A.u8().serialize(e).toBytes();break;case"u16":s=A.u16().serialize(e).toBytes();break;case"u32":s=A.u32().serialize(e).toBytes();break;case"u64":s=A.u64().serialize(e).toBytes();break;case"u128":s=A.u128().serialize(e).toBytes();break;case"u256":s=A.u256().serialize(e).toBytes();break;case"string":s=A.string().serialize(e).toBytes();break;default:throw new Error(`Unsupported value type: ${r}`)}return mr(t,n,s)}var y3=Xo(`
861
+ Clients should implement reconnection logic to maintain continuous price updates.`,requestFormat:"json",parameters:[{name:"ids[]",type:"Query",schema:pe.array(Pl)},{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()},{name:"allow_unordered",type:"Query",schema:pe.boolean().optional()},{name:"benchmarks_only",type:"Query",schema:pe.boolean().optional()},{name:"ignore_invalid_price_ids",type:"Query",schema:pe.boolean().optional()}],response:Vl,errors:[{status:404,description:"Price ids not found",schema:pe.void()}]},{method:"get",path:"/v2/updates/publisher_stake_caps/latest",alias:"latest_publisher_stake_caps",description:"Get the most recent publisher stake caps update data.",requestFormat:"json",parameters:[{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()}],response:sv}]),VH=new J_(V4);var F4=5e3,q4=3,Fl=class{baseURL;timeout;httpRetries;headers;accessToken;constructor(e,n){this.baseURL=e,this.timeout=n?.timeout??F4,this.httpRetries=n?.httpRetries??q4,this.headers=n?.headers??{},this.accessToken=n?.accessToken}async httpRequest(e,n,r,s=this.httpRetries,i=100+Math.floor(Math.random()*100)){try{let o={};this.accessToken!==void 0&&(o.Authorization=`Bearer ${this.accessToken}`);let a=await fetch(e,{...r,signal:AbortSignal.any([...r?.signal?[r.signal]:[],AbortSignal.timeout(this.timeout)]),headers:{...o,...this.headers,...r?.headers}});if(!a.ok){let u=await a.text();throw new Error(`HTTP error! status: ${a.status.toString()}${u?`, body: ${u}`:""}`)}let c=await a.json();return n.parse(c)}catch(o){if(s>0&&!(o instanceof Error&&o.name==="AbortError"))return await new Promise(a=>setTimeout(a,i)),this.httpRequest(e,n,r,s-1,i*2);throw o}}async getPriceFeeds({fetchOptions:e,...n}={}){let r=this.buildURL("price_feeds");if(n){let s=Ac(n);this.appendUrlSearchParams(r,s)}return await this.httpRequest(r.toString(),Rc.PriceFeedMetadata.array(),e)}async getLatestPublisherCaps({fetchOptions:e,...n}={}){let r=this.buildURL("updates/publisher_stake_caps/latest");return n&&this.appendUrlSearchParams(r,n),await this.httpRequest(r.toString(),Rc.LatestPublisherStakeCapsUpdateDataResponse,e)}async getLatestPriceUpdates(e,n,r){let s=this.buildURL("updates/price/latest");for(let i of e)s.searchParams.append("ids[]",i);if(n){let i=Ac(n);this.appendUrlSearchParams(s,i)}return this.httpRequest(s.toString(),Rc.PriceUpdate,r)}async getPriceUpdatesAtTimestamp(e,n,r,s){let i=this.buildURL(`updates/price/${e.toString()}`);for(let o of n)i.searchParams.append("ids[]",o);if(r){let o=Ac(r);this.appendUrlSearchParams(i,o)}return this.httpRequest(i.toString(),Rc.PriceUpdate,s)}async getPriceUpdatesStream(e,n){let r=this.buildURL("updates/price/stream");for(let i of e)r.searchParams.append("ids[]",i);if(n){let i=Ac(n);this.appendUrlSearchParams(r,i)}let s={};return this.accessToken!==void 0&&(s.Authorization=`Bearer ${this.accessToken}`),new Qi(r.toString(),{fetch:(i,o)=>fetch(i,{...o,headers:{...o?.headers,...s,...this.headers}})})}appendUrlSearchParams(e,n){for(let[r,s]of Object.entries(n))s!==void 0&&e.searchParams.append(r,String(s))}buildURL(e){return new URL(`./v2/${e}`,`${this.baseURL}${this.baseURL.endsWith("/")?"":"/"}`)}};var $4=Object.create,yv=Object.defineProperty,G4=Object.getOwnPropertyDescriptor,H4=Object.getOwnPropertyNames,z4=Object.getPrototypeOf,W4=Object.prototype.hasOwnProperty,Z4=(t=>typeof yi<"u"?yi:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof yi<"u"?yi:e)[n]}):t)(function(t){if(typeof yi<"u")return yi.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')}),J4=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),K4=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of H4(e))!W4.call(t,s)&&s!==n&&yv(t,s,{get:()=>e[s],enumerable:!(r=G4(e,s))||r.enumerable});return t},Dc=(t,e,n)=>(n=t!=null?$4(z4(t)):{},K4(e||!t||!t.__esModule?yv(n,"default",{value:t,enumerable:!0}):n,t)),jc=J4((t,e)=>{"use strict";(function(n,r){"use strict";function s(l,h){if(!l)throw new Error(h||"Assertion failed")}function i(l,h){l.super_=h;var y=function(){};y.prototype=h.prototype,l.prototype=new y,l.prototype.constructor=l}function o(l,h,y){if(o.isBN(l))return l;this.negative=0,this.words=null,this.length=0,this.red=null,l!==null&&((h==="le"||h==="be")&&(y=h,h=10),this._init(l||0,h||10,y||"be"))}typeof n=="object"?n.exports=o:r.BN=o,o.BN=o,o.wordSize=26;var a;try{typeof window<"u"&&typeof window.Buffer<"u"?a=window.Buffer:a=Z4("buffer").Buffer}catch{}o.isBN=function(l){return l instanceof o?!0:l!==null&&typeof l=="object"&&l.constructor.wordSize===o.wordSize&&Array.isArray(l.words)},o.max=function(l,h){return l.cmp(h)>0?l:h},o.min=function(l,h){return l.cmp(h)<0?l:h},o.prototype._init=function(l,h,y){if(typeof l=="number")return this._initNumber(l,h,y);if(typeof l=="object")return this._initArray(l,h,y);h==="hex"&&(h=16),s(h===(h|0)&&h>=2&&h<=36),l=l.toString().replace(/\s+/g,"");var w=0;l[0]==="-"&&(w++,this.negative=1),w<l.length&&(h===16?this._parseHex(l,w,y):(this._parseBase(l,h,w),y==="le"&&this._initArray(this.toArray(),h,y)))},o.prototype._initNumber=function(l,h,y){l<0&&(this.negative=1,l=-l),l<67108864?(this.words=[l&67108863],this.length=1):l<4503599627370496?(this.words=[l&67108863,l/67108864&67108863],this.length=2):(s(l<9007199254740992),this.words=[l&67108863,l/67108864&67108863,1],this.length=3),y==="le"&&this._initArray(this.toArray(),h,y)},o.prototype._initArray=function(l,h,y){if(s(typeof l.length=="number"),l.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(l.length/3),this.words=new Array(this.length);for(var w=0;w<this.length;w++)this.words[w]=0;var v,x,I=0;if(y==="be")for(w=l.length-1,v=0;w>=0;w-=3)x=l[w]|l[w-1]<<8|l[w-2]<<16,this.words[v]|=x<<I&67108863,this.words[v+1]=x>>>26-I&67108863,I+=24,I>=26&&(I-=26,v++);else if(y==="le")for(w=0,v=0;w<l.length;w+=3)x=l[w]|l[w+1]<<8|l[w+2]<<16,this.words[v]|=x<<I&67108863,this.words[v+1]=x>>>26-I&67108863,I+=24,I>=26&&(I-=26,v++);return this._strip()};function c(l,h){var y=l.charCodeAt(h);if(y>=48&&y<=57)return y-48;if(y>=65&&y<=70)return y-55;if(y>=97&&y<=102)return y-87;s(!1,"Invalid character in "+l)}function u(l,h,y){var w=c(l,y);return y-1>=h&&(w|=c(l,y-1)<<4),w}o.prototype._parseHex=function(l,h,y){this.length=Math.ceil((l.length-h)/6),this.words=new Array(this.length);for(var w=0;w<this.length;w++)this.words[w]=0;var v=0,x=0,I;if(y==="be")for(w=l.length-1;w>=h;w-=2)I=u(l,h,w)<<v,this.words[x]|=I&67108863,v>=18?(v-=18,x+=1,this.words[x]|=I>>>26):v+=8;else{var k=l.length-h;for(w=k%2===0?h+1:h;w<l.length;w+=2)I=u(l,h,w)<<v,this.words[x]|=I&67108863,v>=18?(v-=18,x+=1,this.words[x]|=I>>>26):v+=8}this._strip()};function d(l,h,y,w){for(var v=0,x=0,I=Math.min(l.length,y),k=h;k<I;k++){var g=l.charCodeAt(k)-48;v*=w,g>=49?x=g-49+10:g>=17?x=g-17+10:x=g,s(g>=0&&x<w,"Invalid character"),v+=x}return v}o.prototype._parseBase=function(l,h,y){this.words=[0],this.length=1;for(var w=0,v=1;v<=67108863;v*=h)w++;w--,v=v/h|0;for(var x=l.length-y,I=x%w,k=Math.min(x,x-I)+y,g=0,E=y;E<k;E+=w)g=d(l,E,E+w,h),this.imuln(v),this.words[0]+g<67108864?this.words[0]+=g:this._iaddn(g);if(I!==0){var G=1;for(g=d(l,E,l.length,h),E=0;E<I;E++)G*=h;this.imuln(G),this.words[0]+g<67108864?this.words[0]+=g:this._iaddn(g)}this._strip()},o.prototype.copy=function(l){l.words=new Array(this.length);for(var h=0;h<this.length;h++)l.words[h]=this.words[h];l.length=this.length,l.negative=this.negative,l.red=this.red};function f(l,h){l.words=h.words,l.length=h.length,l.negative=h.negative,l.red=h.red}if(o.prototype._move=function(l){f(l,this)},o.prototype.clone=function(){var l=new o(null);return this.copy(l),l},o.prototype._expand=function(l){for(;this.length<l;)this.words[this.length++]=0;return this},o.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},o.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=p}catch{o.prototype.inspect=p}else o.prototype.inspect=p;function p(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var m=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],b=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],_=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(l,h){l=l||10,h=h|0||1;var y;if(l===16||l==="hex"){y="";for(var w=0,v=0,x=0;x<this.length;x++){var I=this.words[x],k=((I<<w|v)&16777215).toString(16);v=I>>>24-w&16777215,w+=2,w>=26&&(w-=26,x--),v!==0||x!==this.length-1?y=m[6-k.length]+k+y:y=k+y}for(v!==0&&(y=v.toString(16)+y);y.length%h!==0;)y="0"+y;return this.negative!==0&&(y="-"+y),y}if(l===(l|0)&&l>=2&&l<=36){var g=b[l],E=_[l];y="";var G=this.clone();for(G.negative=0;!G.isZero();){var z=G.modrn(E).toString(l);G=G.idivn(E),G.isZero()?y=z+y:y=m[g-z.length]+z+y}for(this.isZero()&&(y="0"+y);y.length%h!==0;)y="0"+y;return this.negative!==0&&(y="-"+y),y}s(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var l=this.words[0];return this.length===2?l+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l+=4503599627370496+this.words[1]*67108864:this.length>2&&s(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l:l},o.prototype.toJSON=function(){return this.toString(16,2)},a&&(o.prototype.toBuffer=function(l,h){return this.toArrayLike(a,l,h)}),o.prototype.toArray=function(l,h){return this.toArrayLike(Array,l,h)};var T=function(l,h){return l.allocUnsafe?l.allocUnsafe(h):new l(h)};o.prototype.toArrayLike=function(l,h,y){this._strip();var w=this.byteLength(),v=y||Math.max(1,w);s(w<=v,"byte array longer than desired length"),s(v>0,"Requested array length <= 0");var x=T(l,v),I=h==="le"?"LE":"BE";return this["_toArrayLike"+I](x,w),x},o.prototype._toArrayLikeLE=function(l,h){for(var y=0,w=0,v=0,x=0;v<this.length;v++){var I=this.words[v]<<x|w;l[y++]=I&255,y<l.length&&(l[y++]=I>>8&255),y<l.length&&(l[y++]=I>>16&255),x===6?(y<l.length&&(l[y++]=I>>24&255),w=0,x=0):(w=I>>>24,x+=2)}if(y<l.length)for(l[y++]=w;y<l.length;)l[y++]=0},o.prototype._toArrayLikeBE=function(l,h){for(var y=l.length-1,w=0,v=0,x=0;v<this.length;v++){var I=this.words[v]<<x|w;l[y--]=I&255,y>=0&&(l[y--]=I>>8&255),y>=0&&(l[y--]=I>>16&255),x===6?(y>=0&&(l[y--]=I>>24&255),w=0,x=0):(w=I>>>24,x+=2)}if(y>=0)for(l[y--]=w;y>=0;)l[y--]=0},Math.clz32?o.prototype._countBits=function(l){return 32-Math.clz32(l)}:o.prototype._countBits=function(l){var h=l,y=0;return h>=4096&&(y+=13,h>>>=13),h>=64&&(y+=7,h>>>=7),h>=8&&(y+=4,h>>>=4),h>=2&&(y+=2,h>>>=2),y+h},o.prototype._zeroBits=function(l){if(l===0)return 26;var h=l,y=0;return!(h&8191)&&(y+=13,h>>>=13),!(h&127)&&(y+=7,h>>>=7),!(h&15)&&(y+=4,h>>>=4),!(h&3)&&(y+=2,h>>>=2),!(h&1)&&y++,y},o.prototype.bitLength=function(){var l=this.words[this.length-1],h=this._countBits(l);return(this.length-1)*26+h};function O(l){for(var h=new Array(l.bitLength()),y=0;y<h.length;y++){var w=y/26|0,v=y%26;h[y]=l.words[w]>>>v&1}return h}o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l=0,h=0;h<this.length;h++){var y=this._zeroBits(this.words[h]);if(l+=y,y!==26)break}return l},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(l){return this.negative!==0?this.abs().inotn(l).iaddn(1):this.clone()},o.prototype.fromTwos=function(l){return this.testn(l-1)?this.notn(l).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return this.negative!==0},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(l){for(;this.length<l.length;)this.words[this.length++]=0;for(var h=0;h<l.length;h++)this.words[h]=this.words[h]|l.words[h];return this._strip()},o.prototype.ior=function(l){return s((this.negative|l.negative)===0),this.iuor(l)},o.prototype.or=function(l){return this.length>l.length?this.clone().ior(l):l.clone().ior(this)},o.prototype.uor=function(l){return this.length>l.length?this.clone().iuor(l):l.clone().iuor(this)},o.prototype.iuand=function(l){var h;this.length>l.length?h=l:h=this;for(var y=0;y<h.length;y++)this.words[y]=this.words[y]&l.words[y];return this.length=h.length,this._strip()},o.prototype.iand=function(l){return s((this.negative|l.negative)===0),this.iuand(l)},o.prototype.and=function(l){return this.length>l.length?this.clone().iand(l):l.clone().iand(this)},o.prototype.uand=function(l){return this.length>l.length?this.clone().iuand(l):l.clone().iuand(this)},o.prototype.iuxor=function(l){var h,y;this.length>l.length?(h=this,y=l):(h=l,y=this);for(var w=0;w<y.length;w++)this.words[w]=h.words[w]^y.words[w];if(this!==h)for(;w<h.length;w++)this.words[w]=h.words[w];return this.length=h.length,this._strip()},o.prototype.ixor=function(l){return s((this.negative|l.negative)===0),this.iuxor(l)},o.prototype.xor=function(l){return this.length>l.length?this.clone().ixor(l):l.clone().ixor(this)},o.prototype.uxor=function(l){return this.length>l.length?this.clone().iuxor(l):l.clone().iuxor(this)},o.prototype.inotn=function(l){s(typeof l=="number"&&l>=0);var h=Math.ceil(l/26)|0,y=l%26;this._expand(h),y>0&&h--;for(var w=0;w<h;w++)this.words[w]=~this.words[w]&67108863;return y>0&&(this.words[w]=~this.words[w]&67108863>>26-y),this._strip()},o.prototype.notn=function(l){return this.clone().inotn(l)},o.prototype.setn=function(l,h){s(typeof l=="number"&&l>=0);var y=l/26|0,w=l%26;return this._expand(y+1),h?this.words[y]=this.words[y]|1<<w:this.words[y]=this.words[y]&~(1<<w),this._strip()},o.prototype.iadd=function(l){var h;if(this.negative!==0&&l.negative===0)return this.negative=0,h=this.isub(l),this.negative^=1,this._normSign();if(this.negative===0&&l.negative!==0)return l.negative=0,h=this.isub(l),l.negative=1,h._normSign();var y,w;this.length>l.length?(y=this,w=l):(y=l,w=this);for(var v=0,x=0;x<w.length;x++)h=(y.words[x]|0)+(w.words[x]|0)+v,this.words[x]=h&67108863,v=h>>>26;for(;v!==0&&x<y.length;x++)h=(y.words[x]|0)+v,this.words[x]=h&67108863,v=h>>>26;if(this.length=y.length,v!==0)this.words[this.length]=v,this.length++;else if(y!==this)for(;x<y.length;x++)this.words[x]=y.words[x];return this},o.prototype.add=function(l){var h;return l.negative!==0&&this.negative===0?(l.negative=0,h=this.sub(l),l.negative^=1,h):l.negative===0&&this.negative!==0?(this.negative=0,h=l.sub(this),this.negative=1,h):this.length>l.length?this.clone().iadd(l):l.clone().iadd(this)},o.prototype.isub=function(l){if(l.negative!==0){l.negative=0;var h=this.iadd(l);return l.negative=1,h._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l),this.negative=1,this._normSign();var y=this.cmp(l);if(y===0)return this.negative=0,this.length=1,this.words[0]=0,this;var w,v;y>0?(w=this,v=l):(w=l,v=this);for(var x=0,I=0;I<v.length;I++)h=(w.words[I]|0)-(v.words[I]|0)+x,x=h>>26,this.words[I]=h&67108863;for(;x!==0&&I<w.length;I++)h=(w.words[I]|0)+x,x=h>>26,this.words[I]=h&67108863;if(x===0&&I<w.length&&w!==this)for(;I<w.length;I++)this.words[I]=w.words[I];return this.length=Math.max(this.length,I),w!==this&&(this.negative=1),this._strip()},o.prototype.sub=function(l){return this.clone().isub(l)};function B(l,h,y){y.negative=h.negative^l.negative;var w=l.length+h.length|0;y.length=w,w=w-1|0;var v=l.words[0]|0,x=h.words[0]|0,I=v*x,k=I&67108863,g=I/67108864|0;y.words[0]=k;for(var E=1;E<w;E++){for(var G=g>>>26,z=g&67108863,K=Math.min(E,h.length-1),ne=Math.max(0,E-l.length+1);ne<=K;ne++){var re=E-ne|0;v=l.words[re]|0,x=h.words[ne]|0,I=v*x+z,G+=I/67108864|0,z=I&67108863}y.words[E]=z|0,g=G|0}return g!==0?y.words[E]=g|0:y.length--,y._strip()}var C=function(l,h,y){var w=l.words,v=h.words,x=y.words,I=0,k,g,E,G=w[0]|0,z=G&8191,K=G>>>13,ne=w[1]|0,re=ne&8191,be=ne>>>13,Wt=w[2]|0,Re=Wt&8191,Le=Wt>>>13,ha=w[3]|0,ut=ha&8191,lt=ha>>>13,Cm=w[4]|0,dt=Cm&8191,ft=Cm>>>13,Nm=w[5]|0,pt=Nm&8191,ht=Nm>>>13,Rm=w[6]|0,mt=Rm&8191,gt=Rm>>>13,Bm=w[7]|0,yt=Bm&8191,bt=Bm>>>13,Mm=w[8]|0,wt=Mm&8191,_t=Mm>>>13,Dm=w[9]|0,vt=Dm&8191,Tt=Dm>>>13,jm=v[0]|0,kt=jm&8191,Et=jm>>>13,Um=v[1]|0,xt=Um&8191,St=Um>>>13,Lm=v[2]|0,Ot=Lm&8191,It=Lm>>>13,Pm=v[3]|0,At=Pm&8191,Ct=Pm>>>13,Vm=v[4]|0,Nt=Vm&8191,Rt=Vm>>>13,Fm=v[5]|0,Bt=Fm&8191,Mt=Fm>>>13,qm=v[6]|0,Dt=qm&8191,jt=qm>>>13,$m=v[7]|0,Ut=$m&8191,Lt=$m>>>13,Gm=v[8]|0,Pt=Gm&8191,Vt=Gm>>>13,Hm=v[9]|0,Ft=Hm&8191,qt=Hm>>>13;y.negative=l.negative^h.negative,y.length=19,k=Math.imul(z,kt),g=Math.imul(z,Et),g=g+Math.imul(K,kt)|0,E=Math.imul(K,Et);var id=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(id>>>26)|0,id&=67108863,k=Math.imul(re,kt),g=Math.imul(re,Et),g=g+Math.imul(be,kt)|0,E=Math.imul(be,Et),k=k+Math.imul(z,xt)|0,g=g+Math.imul(z,St)|0,g=g+Math.imul(K,xt)|0,E=E+Math.imul(K,St)|0;var od=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(od>>>26)|0,od&=67108863,k=Math.imul(Re,kt),g=Math.imul(Re,Et),g=g+Math.imul(Le,kt)|0,E=Math.imul(Le,Et),k=k+Math.imul(re,xt)|0,g=g+Math.imul(re,St)|0,g=g+Math.imul(be,xt)|0,E=E+Math.imul(be,St)|0,k=k+Math.imul(z,Ot)|0,g=g+Math.imul(z,It)|0,g=g+Math.imul(K,Ot)|0,E=E+Math.imul(K,It)|0;var ad=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(ad>>>26)|0,ad&=67108863,k=Math.imul(ut,kt),g=Math.imul(ut,Et),g=g+Math.imul(lt,kt)|0,E=Math.imul(lt,Et),k=k+Math.imul(Re,xt)|0,g=g+Math.imul(Re,St)|0,g=g+Math.imul(Le,xt)|0,E=E+Math.imul(Le,St)|0,k=k+Math.imul(re,Ot)|0,g=g+Math.imul(re,It)|0,g=g+Math.imul(be,Ot)|0,E=E+Math.imul(be,It)|0,k=k+Math.imul(z,At)|0,g=g+Math.imul(z,Ct)|0,g=g+Math.imul(K,At)|0,E=E+Math.imul(K,Ct)|0;var cd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(cd>>>26)|0,cd&=67108863,k=Math.imul(dt,kt),g=Math.imul(dt,Et),g=g+Math.imul(ft,kt)|0,E=Math.imul(ft,Et),k=k+Math.imul(ut,xt)|0,g=g+Math.imul(ut,St)|0,g=g+Math.imul(lt,xt)|0,E=E+Math.imul(lt,St)|0,k=k+Math.imul(Re,Ot)|0,g=g+Math.imul(Re,It)|0,g=g+Math.imul(Le,Ot)|0,E=E+Math.imul(Le,It)|0,k=k+Math.imul(re,At)|0,g=g+Math.imul(re,Ct)|0,g=g+Math.imul(be,At)|0,E=E+Math.imul(be,Ct)|0,k=k+Math.imul(z,Nt)|0,g=g+Math.imul(z,Rt)|0,g=g+Math.imul(K,Nt)|0,E=E+Math.imul(K,Rt)|0;var ud=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(ud>>>26)|0,ud&=67108863,k=Math.imul(pt,kt),g=Math.imul(pt,Et),g=g+Math.imul(ht,kt)|0,E=Math.imul(ht,Et),k=k+Math.imul(dt,xt)|0,g=g+Math.imul(dt,St)|0,g=g+Math.imul(ft,xt)|0,E=E+Math.imul(ft,St)|0,k=k+Math.imul(ut,Ot)|0,g=g+Math.imul(ut,It)|0,g=g+Math.imul(lt,Ot)|0,E=E+Math.imul(lt,It)|0,k=k+Math.imul(Re,At)|0,g=g+Math.imul(Re,Ct)|0,g=g+Math.imul(Le,At)|0,E=E+Math.imul(Le,Ct)|0,k=k+Math.imul(re,Nt)|0,g=g+Math.imul(re,Rt)|0,g=g+Math.imul(be,Nt)|0,E=E+Math.imul(be,Rt)|0,k=k+Math.imul(z,Bt)|0,g=g+Math.imul(z,Mt)|0,g=g+Math.imul(K,Bt)|0,E=E+Math.imul(K,Mt)|0;var ld=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(ld>>>26)|0,ld&=67108863,k=Math.imul(mt,kt),g=Math.imul(mt,Et),g=g+Math.imul(gt,kt)|0,E=Math.imul(gt,Et),k=k+Math.imul(pt,xt)|0,g=g+Math.imul(pt,St)|0,g=g+Math.imul(ht,xt)|0,E=E+Math.imul(ht,St)|0,k=k+Math.imul(dt,Ot)|0,g=g+Math.imul(dt,It)|0,g=g+Math.imul(ft,Ot)|0,E=E+Math.imul(ft,It)|0,k=k+Math.imul(ut,At)|0,g=g+Math.imul(ut,Ct)|0,g=g+Math.imul(lt,At)|0,E=E+Math.imul(lt,Ct)|0,k=k+Math.imul(Re,Nt)|0,g=g+Math.imul(Re,Rt)|0,g=g+Math.imul(Le,Nt)|0,E=E+Math.imul(Le,Rt)|0,k=k+Math.imul(re,Bt)|0,g=g+Math.imul(re,Mt)|0,g=g+Math.imul(be,Bt)|0,E=E+Math.imul(be,Mt)|0,k=k+Math.imul(z,Dt)|0,g=g+Math.imul(z,jt)|0,g=g+Math.imul(K,Dt)|0,E=E+Math.imul(K,jt)|0;var dd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(dd>>>26)|0,dd&=67108863,k=Math.imul(yt,kt),g=Math.imul(yt,Et),g=g+Math.imul(bt,kt)|0,E=Math.imul(bt,Et),k=k+Math.imul(mt,xt)|0,g=g+Math.imul(mt,St)|0,g=g+Math.imul(gt,xt)|0,E=E+Math.imul(gt,St)|0,k=k+Math.imul(pt,Ot)|0,g=g+Math.imul(pt,It)|0,g=g+Math.imul(ht,Ot)|0,E=E+Math.imul(ht,It)|0,k=k+Math.imul(dt,At)|0,g=g+Math.imul(dt,Ct)|0,g=g+Math.imul(ft,At)|0,E=E+Math.imul(ft,Ct)|0,k=k+Math.imul(ut,Nt)|0,g=g+Math.imul(ut,Rt)|0,g=g+Math.imul(lt,Nt)|0,E=E+Math.imul(lt,Rt)|0,k=k+Math.imul(Re,Bt)|0,g=g+Math.imul(Re,Mt)|0,g=g+Math.imul(Le,Bt)|0,E=E+Math.imul(Le,Mt)|0,k=k+Math.imul(re,Dt)|0,g=g+Math.imul(re,jt)|0,g=g+Math.imul(be,Dt)|0,E=E+Math.imul(be,jt)|0,k=k+Math.imul(z,Ut)|0,g=g+Math.imul(z,Lt)|0,g=g+Math.imul(K,Ut)|0,E=E+Math.imul(K,Lt)|0;var fd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(fd>>>26)|0,fd&=67108863,k=Math.imul(wt,kt),g=Math.imul(wt,Et),g=g+Math.imul(_t,kt)|0,E=Math.imul(_t,Et),k=k+Math.imul(yt,xt)|0,g=g+Math.imul(yt,St)|0,g=g+Math.imul(bt,xt)|0,E=E+Math.imul(bt,St)|0,k=k+Math.imul(mt,Ot)|0,g=g+Math.imul(mt,It)|0,g=g+Math.imul(gt,Ot)|0,E=E+Math.imul(gt,It)|0,k=k+Math.imul(pt,At)|0,g=g+Math.imul(pt,Ct)|0,g=g+Math.imul(ht,At)|0,E=E+Math.imul(ht,Ct)|0,k=k+Math.imul(dt,Nt)|0,g=g+Math.imul(dt,Rt)|0,g=g+Math.imul(ft,Nt)|0,E=E+Math.imul(ft,Rt)|0,k=k+Math.imul(ut,Bt)|0,g=g+Math.imul(ut,Mt)|0,g=g+Math.imul(lt,Bt)|0,E=E+Math.imul(lt,Mt)|0,k=k+Math.imul(Re,Dt)|0,g=g+Math.imul(Re,jt)|0,g=g+Math.imul(Le,Dt)|0,E=E+Math.imul(Le,jt)|0,k=k+Math.imul(re,Ut)|0,g=g+Math.imul(re,Lt)|0,g=g+Math.imul(be,Ut)|0,E=E+Math.imul(be,Lt)|0,k=k+Math.imul(z,Pt)|0,g=g+Math.imul(z,Vt)|0,g=g+Math.imul(K,Pt)|0,E=E+Math.imul(K,Vt)|0;var pd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(pd>>>26)|0,pd&=67108863,k=Math.imul(vt,kt),g=Math.imul(vt,Et),g=g+Math.imul(Tt,kt)|0,E=Math.imul(Tt,Et),k=k+Math.imul(wt,xt)|0,g=g+Math.imul(wt,St)|0,g=g+Math.imul(_t,xt)|0,E=E+Math.imul(_t,St)|0,k=k+Math.imul(yt,Ot)|0,g=g+Math.imul(yt,It)|0,g=g+Math.imul(bt,Ot)|0,E=E+Math.imul(bt,It)|0,k=k+Math.imul(mt,At)|0,g=g+Math.imul(mt,Ct)|0,g=g+Math.imul(gt,At)|0,E=E+Math.imul(gt,Ct)|0,k=k+Math.imul(pt,Nt)|0,g=g+Math.imul(pt,Rt)|0,g=g+Math.imul(ht,Nt)|0,E=E+Math.imul(ht,Rt)|0,k=k+Math.imul(dt,Bt)|0,g=g+Math.imul(dt,Mt)|0,g=g+Math.imul(ft,Bt)|0,E=E+Math.imul(ft,Mt)|0,k=k+Math.imul(ut,Dt)|0,g=g+Math.imul(ut,jt)|0,g=g+Math.imul(lt,Dt)|0,E=E+Math.imul(lt,jt)|0,k=k+Math.imul(Re,Ut)|0,g=g+Math.imul(Re,Lt)|0,g=g+Math.imul(Le,Ut)|0,E=E+Math.imul(Le,Lt)|0,k=k+Math.imul(re,Pt)|0,g=g+Math.imul(re,Vt)|0,g=g+Math.imul(be,Pt)|0,E=E+Math.imul(be,Vt)|0,k=k+Math.imul(z,Ft)|0,g=g+Math.imul(z,qt)|0,g=g+Math.imul(K,Ft)|0,E=E+Math.imul(K,qt)|0;var hd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(hd>>>26)|0,hd&=67108863,k=Math.imul(vt,xt),g=Math.imul(vt,St),g=g+Math.imul(Tt,xt)|0,E=Math.imul(Tt,St),k=k+Math.imul(wt,Ot)|0,g=g+Math.imul(wt,It)|0,g=g+Math.imul(_t,Ot)|0,E=E+Math.imul(_t,It)|0,k=k+Math.imul(yt,At)|0,g=g+Math.imul(yt,Ct)|0,g=g+Math.imul(bt,At)|0,E=E+Math.imul(bt,Ct)|0,k=k+Math.imul(mt,Nt)|0,g=g+Math.imul(mt,Rt)|0,g=g+Math.imul(gt,Nt)|0,E=E+Math.imul(gt,Rt)|0,k=k+Math.imul(pt,Bt)|0,g=g+Math.imul(pt,Mt)|0,g=g+Math.imul(ht,Bt)|0,E=E+Math.imul(ht,Mt)|0,k=k+Math.imul(dt,Dt)|0,g=g+Math.imul(dt,jt)|0,g=g+Math.imul(ft,Dt)|0,E=E+Math.imul(ft,jt)|0,k=k+Math.imul(ut,Ut)|0,g=g+Math.imul(ut,Lt)|0,g=g+Math.imul(lt,Ut)|0,E=E+Math.imul(lt,Lt)|0,k=k+Math.imul(Re,Pt)|0,g=g+Math.imul(Re,Vt)|0,g=g+Math.imul(Le,Pt)|0,E=E+Math.imul(Le,Vt)|0,k=k+Math.imul(re,Ft)|0,g=g+Math.imul(re,qt)|0,g=g+Math.imul(be,Ft)|0,E=E+Math.imul(be,qt)|0;var md=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(md>>>26)|0,md&=67108863,k=Math.imul(vt,Ot),g=Math.imul(vt,It),g=g+Math.imul(Tt,Ot)|0,E=Math.imul(Tt,It),k=k+Math.imul(wt,At)|0,g=g+Math.imul(wt,Ct)|0,g=g+Math.imul(_t,At)|0,E=E+Math.imul(_t,Ct)|0,k=k+Math.imul(yt,Nt)|0,g=g+Math.imul(yt,Rt)|0,g=g+Math.imul(bt,Nt)|0,E=E+Math.imul(bt,Rt)|0,k=k+Math.imul(mt,Bt)|0,g=g+Math.imul(mt,Mt)|0,g=g+Math.imul(gt,Bt)|0,E=E+Math.imul(gt,Mt)|0,k=k+Math.imul(pt,Dt)|0,g=g+Math.imul(pt,jt)|0,g=g+Math.imul(ht,Dt)|0,E=E+Math.imul(ht,jt)|0,k=k+Math.imul(dt,Ut)|0,g=g+Math.imul(dt,Lt)|0,g=g+Math.imul(ft,Ut)|0,E=E+Math.imul(ft,Lt)|0,k=k+Math.imul(ut,Pt)|0,g=g+Math.imul(ut,Vt)|0,g=g+Math.imul(lt,Pt)|0,E=E+Math.imul(lt,Vt)|0,k=k+Math.imul(Re,Ft)|0,g=g+Math.imul(Re,qt)|0,g=g+Math.imul(Le,Ft)|0,E=E+Math.imul(Le,qt)|0;var gd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(gd>>>26)|0,gd&=67108863,k=Math.imul(vt,At),g=Math.imul(vt,Ct),g=g+Math.imul(Tt,At)|0,E=Math.imul(Tt,Ct),k=k+Math.imul(wt,Nt)|0,g=g+Math.imul(wt,Rt)|0,g=g+Math.imul(_t,Nt)|0,E=E+Math.imul(_t,Rt)|0,k=k+Math.imul(yt,Bt)|0,g=g+Math.imul(yt,Mt)|0,g=g+Math.imul(bt,Bt)|0,E=E+Math.imul(bt,Mt)|0,k=k+Math.imul(mt,Dt)|0,g=g+Math.imul(mt,jt)|0,g=g+Math.imul(gt,Dt)|0,E=E+Math.imul(gt,jt)|0,k=k+Math.imul(pt,Ut)|0,g=g+Math.imul(pt,Lt)|0,g=g+Math.imul(ht,Ut)|0,E=E+Math.imul(ht,Lt)|0,k=k+Math.imul(dt,Pt)|0,g=g+Math.imul(dt,Vt)|0,g=g+Math.imul(ft,Pt)|0,E=E+Math.imul(ft,Vt)|0,k=k+Math.imul(ut,Ft)|0,g=g+Math.imul(ut,qt)|0,g=g+Math.imul(lt,Ft)|0,E=E+Math.imul(lt,qt)|0;var yd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(yd>>>26)|0,yd&=67108863,k=Math.imul(vt,Nt),g=Math.imul(vt,Rt),g=g+Math.imul(Tt,Nt)|0,E=Math.imul(Tt,Rt),k=k+Math.imul(wt,Bt)|0,g=g+Math.imul(wt,Mt)|0,g=g+Math.imul(_t,Bt)|0,E=E+Math.imul(_t,Mt)|0,k=k+Math.imul(yt,Dt)|0,g=g+Math.imul(yt,jt)|0,g=g+Math.imul(bt,Dt)|0,E=E+Math.imul(bt,jt)|0,k=k+Math.imul(mt,Ut)|0,g=g+Math.imul(mt,Lt)|0,g=g+Math.imul(gt,Ut)|0,E=E+Math.imul(gt,Lt)|0,k=k+Math.imul(pt,Pt)|0,g=g+Math.imul(pt,Vt)|0,g=g+Math.imul(ht,Pt)|0,E=E+Math.imul(ht,Vt)|0,k=k+Math.imul(dt,Ft)|0,g=g+Math.imul(dt,qt)|0,g=g+Math.imul(ft,Ft)|0,E=E+Math.imul(ft,qt)|0;var bd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(bd>>>26)|0,bd&=67108863,k=Math.imul(vt,Bt),g=Math.imul(vt,Mt),g=g+Math.imul(Tt,Bt)|0,E=Math.imul(Tt,Mt),k=k+Math.imul(wt,Dt)|0,g=g+Math.imul(wt,jt)|0,g=g+Math.imul(_t,Dt)|0,E=E+Math.imul(_t,jt)|0,k=k+Math.imul(yt,Ut)|0,g=g+Math.imul(yt,Lt)|0,g=g+Math.imul(bt,Ut)|0,E=E+Math.imul(bt,Lt)|0,k=k+Math.imul(mt,Pt)|0,g=g+Math.imul(mt,Vt)|0,g=g+Math.imul(gt,Pt)|0,E=E+Math.imul(gt,Vt)|0,k=k+Math.imul(pt,Ft)|0,g=g+Math.imul(pt,qt)|0,g=g+Math.imul(ht,Ft)|0,E=E+Math.imul(ht,qt)|0;var wd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(wd>>>26)|0,wd&=67108863,k=Math.imul(vt,Dt),g=Math.imul(vt,jt),g=g+Math.imul(Tt,Dt)|0,E=Math.imul(Tt,jt),k=k+Math.imul(wt,Ut)|0,g=g+Math.imul(wt,Lt)|0,g=g+Math.imul(_t,Ut)|0,E=E+Math.imul(_t,Lt)|0,k=k+Math.imul(yt,Pt)|0,g=g+Math.imul(yt,Vt)|0,g=g+Math.imul(bt,Pt)|0,E=E+Math.imul(bt,Vt)|0,k=k+Math.imul(mt,Ft)|0,g=g+Math.imul(mt,qt)|0,g=g+Math.imul(gt,Ft)|0,E=E+Math.imul(gt,qt)|0;var _d=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(_d>>>26)|0,_d&=67108863,k=Math.imul(vt,Ut),g=Math.imul(vt,Lt),g=g+Math.imul(Tt,Ut)|0,E=Math.imul(Tt,Lt),k=k+Math.imul(wt,Pt)|0,g=g+Math.imul(wt,Vt)|0,g=g+Math.imul(_t,Pt)|0,E=E+Math.imul(_t,Vt)|0,k=k+Math.imul(yt,Ft)|0,g=g+Math.imul(yt,qt)|0,g=g+Math.imul(bt,Ft)|0,E=E+Math.imul(bt,qt)|0;var vd=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(vd>>>26)|0,vd&=67108863,k=Math.imul(vt,Pt),g=Math.imul(vt,Vt),g=g+Math.imul(Tt,Pt)|0,E=Math.imul(Tt,Vt),k=k+Math.imul(wt,Ft)|0,g=g+Math.imul(wt,qt)|0,g=g+Math.imul(_t,Ft)|0,E=E+Math.imul(_t,qt)|0;var Td=(I+k|0)+((g&8191)<<13)|0;I=(E+(g>>>13)|0)+(Td>>>26)|0,Td&=67108863,k=Math.imul(vt,Ft),g=Math.imul(vt,qt),g=g+Math.imul(Tt,Ft)|0,E=Math.imul(Tt,qt);var kd=(I+k|0)+((g&8191)<<13)|0;return I=(E+(g>>>13)|0)+(kd>>>26)|0,kd&=67108863,x[0]=id,x[1]=od,x[2]=ad,x[3]=cd,x[4]=ud,x[5]=ld,x[6]=dd,x[7]=fd,x[8]=pd,x[9]=hd,x[10]=md,x[11]=gd,x[12]=yd,x[13]=bd,x[14]=wd,x[15]=_d,x[16]=vd,x[17]=Td,x[18]=kd,I!==0&&(x[19]=I,y.length++),y};Math.imul||(C=B);function U(l,h,y){y.negative=h.negative^l.negative,y.length=l.length+h.length;for(var w=0,v=0,x=0;x<y.length-1;x++){var I=v;v=0;for(var k=w&67108863,g=Math.min(x,h.length-1),E=Math.max(0,x-l.length+1);E<=g;E++){var G=x-E,z=l.words[G]|0,K=h.words[E]|0,ne=z*K,re=ne&67108863;I=I+(ne/67108864|0)|0,re=re+k|0,k=re&67108863,I=I+(re>>>26)|0,v+=I>>>26,I&=67108863}y.words[x]=k,w=I,I=v}return w!==0?y.words[x]=w:y.length--,y._strip()}function P(l,h,y){return U(l,h,y)}o.prototype.mulTo=function(l,h){var y,w=this.length+l.length;return this.length===10&&l.length===10?y=C(this,l,h):w<63?y=B(this,l,h):w<1024?y=U(this,l,h):y=P(this,l,h),y};function L(l,h){this.x=l,this.y=h}L.prototype.makeRBT=function(l){for(var h=new Array(l),y=o.prototype._countBits(l)-1,w=0;w<l;w++)h[w]=this.revBin(w,y,l);return h},L.prototype.revBin=function(l,h,y){if(l===0||l===y-1)return l;for(var w=0,v=0;v<h;v++)w|=(l&1)<<h-v-1,l>>=1;return w},L.prototype.permute=function(l,h,y,w,v,x){for(var I=0;I<x;I++)w[I]=h[l[I]],v[I]=y[l[I]]},L.prototype.transform=function(l,h,y,w,v,x){this.permute(x,l,h,y,w,v);for(var I=1;I<v;I<<=1)for(var k=I<<1,g=Math.cos(2*Math.PI/k),E=Math.sin(2*Math.PI/k),G=0;G<v;G+=k)for(var z=g,K=E,ne=0;ne<I;ne++){var re=y[G+ne],be=w[G+ne],Wt=y[G+ne+I],Re=w[G+ne+I],Le=z*Wt-K*Re;Re=z*Re+K*Wt,Wt=Le,y[G+ne]=re+Wt,w[G+ne]=be+Re,y[G+ne+I]=re-Wt,w[G+ne+I]=be-Re,ne!==k&&(Le=g*z-E*K,K=g*K+E*z,z=Le)}},L.prototype.guessLen13b=function(l,h){var y=Math.max(h,l)|1,w=y&1,v=0;for(y=y/2|0;y;y=y>>>1)v++;return 1<<v+1+w},L.prototype.conjugate=function(l,h,y){if(!(y<=1))for(var w=0;w<y/2;w++){var v=l[w];l[w]=l[y-w-1],l[y-w-1]=v,v=h[w],h[w]=-h[y-w-1],h[y-w-1]=-v}},L.prototype.normalize13b=function(l,h){for(var y=0,w=0;w<h/2;w++){var v=Math.round(l[2*w+1]/h)*8192+Math.round(l[2*w]/h)+y;l[w]=v&67108863,v<67108864?y=0:y=v/67108864|0}return l},L.prototype.convert13b=function(l,h,y,w){for(var v=0,x=0;x<h;x++)v=v+(l[x]|0),y[2*x]=v&8191,v=v>>>13,y[2*x+1]=v&8191,v=v>>>13;for(x=2*h;x<w;++x)y[x]=0;s(v===0),s((v&-8192)===0)},L.prototype.stub=function(l){for(var h=new Array(l),y=0;y<l;y++)h[y]=0;return h},L.prototype.mulp=function(l,h,y){var w=2*this.guessLen13b(l.length,h.length),v=this.makeRBT(w),x=this.stub(w),I=new Array(w),k=new Array(w),g=new Array(w),E=new Array(w),G=new Array(w),z=new Array(w),K=y.words;K.length=w,this.convert13b(l.words,l.length,I,w),this.convert13b(h.words,h.length,E,w),this.transform(I,x,k,g,w,v),this.transform(E,x,G,z,w,v);for(var ne=0;ne<w;ne++){var re=k[ne]*G[ne]-g[ne]*z[ne];g[ne]=k[ne]*z[ne]+g[ne]*G[ne],k[ne]=re}return this.conjugate(k,g,w),this.transform(k,g,K,x,w,v),this.conjugate(K,x,w),this.normalize13b(K,w),y.negative=l.negative^h.negative,y.length=l.length+h.length,y._strip()},o.prototype.mul=function(l){var h=new o(null);return h.words=new Array(this.length+l.length),this.mulTo(l,h)},o.prototype.mulf=function(l){var h=new o(null);return h.words=new Array(this.length+l.length),P(this,l,h)},o.prototype.imul=function(l){return this.clone().mulTo(l,this)},o.prototype.imuln=function(l){var h=l<0;h&&(l=-l),s(typeof l=="number"),s(l<67108864);for(var y=0,w=0;w<this.length;w++){var v=(this.words[w]|0)*l,x=(v&67108863)+(y&67108863);y>>=26,y+=v/67108864|0,y+=x>>>26,this.words[w]=x&67108863}return y!==0&&(this.words[w]=y,this.length++),this.length=l===0?1:this.length,h?this.ineg():this},o.prototype.muln=function(l){return this.clone().imuln(l)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(l){var h=O(l);if(h.length===0)return new o(1);for(var y=this,w=0;w<h.length&&h[w]===0;w++,y=y.sqr());if(++w<h.length)for(var v=y.sqr();w<h.length;w++,v=v.sqr())h[w]!==0&&(y=y.mul(v));return y},o.prototype.iushln=function(l){s(typeof l=="number"&&l>=0);var h=l%26,y=(l-h)/26,w=67108863>>>26-h<<26-h,v;if(h!==0){var x=0;for(v=0;v<this.length;v++){var I=this.words[v]&w,k=(this.words[v]|0)-I<<h;this.words[v]=k|x,x=I>>>26-h}x&&(this.words[v]=x,this.length++)}if(y!==0){for(v=this.length-1;v>=0;v--)this.words[v+y]=this.words[v];for(v=0;v<y;v++)this.words[v]=0;this.length+=y}return this._strip()},o.prototype.ishln=function(l){return s(this.negative===0),this.iushln(l)},o.prototype.iushrn=function(l,h,y){s(typeof l=="number"&&l>=0);var w;h?w=(h-h%26)/26:w=0;var v=l%26,x=Math.min((l-v)/26,this.length),I=67108863^67108863>>>v<<v,k=y;if(w-=x,w=Math.max(0,w),k){for(var g=0;g<x;g++)k.words[g]=this.words[g];k.length=x}if(x!==0)if(this.length>x)for(this.length-=x,g=0;g<this.length;g++)this.words[g]=this.words[g+x];else this.words[0]=0,this.length=1;var E=0;for(g=this.length-1;g>=0&&(E!==0||g>=w);g--){var G=this.words[g]|0;this.words[g]=E<<26-v|G>>>v,E=G&I}return k&&E!==0&&(k.words[k.length++]=E),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(l,h,y){return s(this.negative===0),this.iushrn(l,h,y)},o.prototype.shln=function(l){return this.clone().ishln(l)},o.prototype.ushln=function(l){return this.clone().iushln(l)},o.prototype.shrn=function(l){return this.clone().ishrn(l)},o.prototype.ushrn=function(l){return this.clone().iushrn(l)},o.prototype.testn=function(l){s(typeof l=="number"&&l>=0);var h=l%26,y=(l-h)/26,w=1<<h;if(this.length<=y)return!1;var v=this.words[y];return!!(v&w)},o.prototype.imaskn=function(l){s(typeof l=="number"&&l>=0);var h=l%26,y=(l-h)/26;if(s(this.negative===0,"imaskn works only with positive numbers"),this.length<=y)return this;if(h!==0&&y++,this.length=Math.min(y,this.length),h!==0){var w=67108863^67108863>>>h<<h;this.words[this.length-1]&=w}return this.length===0&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.maskn=function(l){return this.clone().imaskn(l)},o.prototype.iaddn=function(l){return s(typeof l=="number"),s(l<67108864),l<0?this.isubn(-l):this.negative!==0?this.length===1&&(this.words[0]|0)<=l?(this.words[0]=l-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(l),this.negative=1,this):this._iaddn(l)},o.prototype._iaddn=function(l){this.words[0]+=l;for(var h=0;h<this.length&&this.words[h]>=67108864;h++)this.words[h]-=67108864,h===this.length-1?this.words[h+1]=1:this.words[h+1]++;return this.length=Math.max(this.length,h+1),this},o.prototype.isubn=function(l){if(s(typeof l=="number"),s(l<67108864),l<0)return this.iaddn(-l);if(this.negative!==0)return this.negative=0,this.iaddn(l),this.negative=1,this;if(this.words[0]-=l,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var h=0;h<this.length&&this.words[h]<0;h++)this.words[h]+=67108864,this.words[h+1]-=1;return this._strip()},o.prototype.addn=function(l){return this.clone().iaddn(l)},o.prototype.subn=function(l){return this.clone().isubn(l)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(l,h,y){var w=l.length+y,v;this._expand(w);var x,I=0;for(v=0;v<l.length;v++){x=(this.words[v+y]|0)+I;var k=(l.words[v]|0)*h;x-=k&67108863,I=(x>>26)-(k/67108864|0),this.words[v+y]=x&67108863}for(;v<this.length-y;v++)x=(this.words[v+y]|0)+I,I=x>>26,this.words[v+y]=x&67108863;if(I===0)return this._strip();for(s(I===-1),I=0,v=0;v<this.length;v++)x=-(this.words[v]|0)+I,I=x>>26,this.words[v]=x&67108863;return this.negative=1,this._strip()},o.prototype._wordDiv=function(l,h){var y=this.length-l.length,w=this.clone(),v=l,x=v.words[v.length-1]|0,I=this._countBits(x);y=26-I,y!==0&&(v=v.ushln(y),w.iushln(y),x=v.words[v.length-1]|0);var k=w.length-v.length,g;if(h!=="mod"){g=new o(null),g.length=k+1,g.words=new Array(g.length);for(var E=0;E<g.length;E++)g.words[E]=0}var G=w.clone()._ishlnsubmul(v,1,k);G.negative===0&&(w=G,g&&(g.words[k]=1));for(var z=k-1;z>=0;z--){var K=(w.words[v.length+z]|0)*67108864+(w.words[v.length+z-1]|0);for(K=Math.min(K/x|0,67108863),w._ishlnsubmul(v,K,z);w.negative!==0;)K--,w.negative=0,w._ishlnsubmul(v,1,z),w.isZero()||(w.negative^=1);g&&(g.words[z]=K)}return g&&g._strip(),w._strip(),h!=="div"&&y!==0&&w.iushrn(y),{div:g||null,mod:w}},o.prototype.divmod=function(l,h,y){if(s(!l.isZero()),this.isZero())return{div:new o(0),mod:new o(0)};var w,v,x;return this.negative!==0&&l.negative===0?(x=this.neg().divmod(l,h),h!=="mod"&&(w=x.div.neg()),h!=="div"&&(v=x.mod.neg(),y&&v.negative!==0&&v.iadd(l)),{div:w,mod:v}):this.negative===0&&l.negative!==0?(x=this.divmod(l.neg(),h),h!=="mod"&&(w=x.div.neg()),{div:w,mod:x.mod}):this.negative&l.negative?(x=this.neg().divmod(l.neg(),h),h!=="div"&&(v=x.mod.neg(),y&&v.negative!==0&&v.isub(l)),{div:x.div,mod:v}):l.length>this.length||this.cmp(l)<0?{div:new o(0),mod:this}:l.length===1?h==="div"?{div:this.divn(l.words[0]),mod:null}:h==="mod"?{div:null,mod:new o(this.modrn(l.words[0]))}:{div:this.divn(l.words[0]),mod:new o(this.modrn(l.words[0]))}:this._wordDiv(l,h)},o.prototype.div=function(l){return this.divmod(l,"div",!1).div},o.prototype.mod=function(l){return this.divmod(l,"mod",!1).mod},o.prototype.umod=function(l){return this.divmod(l,"mod",!0).mod},o.prototype.divRound=function(l){var h=this.divmod(l);if(h.mod.isZero())return h.div;var y=h.div.negative!==0?h.mod.isub(l):h.mod,w=l.ushrn(1),v=l.andln(1),x=y.cmp(w);return x<0||v===1&&x===0?h.div:h.div.negative!==0?h.div.isubn(1):h.div.iaddn(1)},o.prototype.modrn=function(l){var h=l<0;h&&(l=-l),s(l<=67108863);for(var y=(1<<26)%l,w=0,v=this.length-1;v>=0;v--)w=(y*w+(this.words[v]|0))%l;return h?-w:w},o.prototype.modn=function(l){return this.modrn(l)},o.prototype.idivn=function(l){var h=l<0;h&&(l=-l),s(l<=67108863);for(var y=0,w=this.length-1;w>=0;w--){var v=(this.words[w]|0)+y*67108864;this.words[w]=v/l|0,y=v%l}return this._strip(),h?this.ineg():this},o.prototype.divn=function(l){return this.clone().idivn(l)},o.prototype.egcd=function(l){s(l.negative===0),s(!l.isZero());var h=this,y=l.clone();h.negative!==0?h=h.umod(l):h=h.clone();for(var w=new o(1),v=new o(0),x=new o(0),I=new o(1),k=0;h.isEven()&&y.isEven();)h.iushrn(1),y.iushrn(1),++k;for(var g=y.clone(),E=h.clone();!h.isZero();){for(var G=0,z=1;!(h.words[0]&z)&&G<26;++G,z<<=1);if(G>0)for(h.iushrn(G);G-- >0;)(w.isOdd()||v.isOdd())&&(w.iadd(g),v.isub(E)),w.iushrn(1),v.iushrn(1);for(var K=0,ne=1;!(y.words[0]&ne)&&K<26;++K,ne<<=1);if(K>0)for(y.iushrn(K);K-- >0;)(x.isOdd()||I.isOdd())&&(x.iadd(g),I.isub(E)),x.iushrn(1),I.iushrn(1);h.cmp(y)>=0?(h.isub(y),w.isub(x),v.isub(I)):(y.isub(h),x.isub(w),I.isub(v))}return{a:x,b:I,gcd:y.iushln(k)}},o.prototype._invmp=function(l){s(l.negative===0),s(!l.isZero());var h=this,y=l.clone();h.negative!==0?h=h.umod(l):h=h.clone();for(var w=new o(1),v=new o(0),x=y.clone();h.cmpn(1)>0&&y.cmpn(1)>0;){for(var I=0,k=1;!(h.words[0]&k)&&I<26;++I,k<<=1);if(I>0)for(h.iushrn(I);I-- >0;)w.isOdd()&&w.iadd(x),w.iushrn(1);for(var g=0,E=1;!(y.words[0]&E)&&g<26;++g,E<<=1);if(g>0)for(y.iushrn(g);g-- >0;)v.isOdd()&&v.iadd(x),v.iushrn(1);h.cmp(y)>=0?(h.isub(y),w.isub(v)):(y.isub(h),v.isub(w))}var G;return h.cmpn(1)===0?G=w:G=v,G.cmpn(0)<0&&G.iadd(l),G},o.prototype.gcd=function(l){if(this.isZero())return l.abs();if(l.isZero())return this.abs();var h=this.clone(),y=l.clone();h.negative=0,y.negative=0;for(var w=0;h.isEven()&&y.isEven();w++)h.iushrn(1),y.iushrn(1);do{for(;h.isEven();)h.iushrn(1);for(;y.isEven();)y.iushrn(1);var v=h.cmp(y);if(v<0){var x=h;h=y,y=x}else if(v===0||y.cmpn(1)===0)break;h.isub(y)}while(!0);return y.iushln(w)},o.prototype.invm=function(l){return this.egcd(l).a.umod(l)},o.prototype.isEven=function(){return(this.words[0]&1)===0},o.prototype.isOdd=function(){return(this.words[0]&1)===1},o.prototype.andln=function(l){return this.words[0]&l},o.prototype.bincn=function(l){s(typeof l=="number");var h=l%26,y=(l-h)/26,w=1<<h;if(this.length<=y)return this._expand(y+1),this.words[y]|=w,this;for(var v=w,x=y;v!==0&&x<this.length;x++){var I=this.words[x]|0;I+=v,v=I>>>26,I&=67108863,this.words[x]=I}return v!==0&&(this.words[x]=v,this.length++),this},o.prototype.isZero=function(){return this.length===1&&this.words[0]===0},o.prototype.cmpn=function(l){var h=l<0;if(this.negative!==0&&!h)return-1;if(this.negative===0&&h)return 1;this._strip();var y;if(this.length>1)y=1;else{h&&(l=-l),s(l<=67108863,"Number is too big");var w=this.words[0]|0;y=w===l?0:w<l?-1:1}return this.negative!==0?-y|0:y},o.prototype.cmp=function(l){if(this.negative!==0&&l.negative===0)return-1;if(this.negative===0&&l.negative!==0)return 1;var h=this.ucmp(l);return this.negative!==0?-h|0:h},o.prototype.ucmp=function(l){if(this.length>l.length)return 1;if(this.length<l.length)return-1;for(var h=0,y=this.length-1;y>=0;y--){var w=this.words[y]|0,v=l.words[y]|0;if(w!==v){w<v?h=-1:w>v&&(h=1);break}}return h},o.prototype.gtn=function(l){return this.cmpn(l)===1},o.prototype.gt=function(l){return this.cmp(l)===1},o.prototype.gten=function(l){return this.cmpn(l)>=0},o.prototype.gte=function(l){return this.cmp(l)>=0},o.prototype.ltn=function(l){return this.cmpn(l)===-1},o.prototype.lt=function(l){return this.cmp(l)===-1},o.prototype.lten=function(l){return this.cmpn(l)<=0},o.prototype.lte=function(l){return this.cmp(l)<=0},o.prototype.eqn=function(l){return this.cmpn(l)===0},o.prototype.eq=function(l){return this.cmp(l)===0},o.red=function(l){return new N(l)},o.prototype.toRed=function(l){return s(!this.red,"Already a number in reduction context"),s(this.negative===0,"red works only with positives"),l.convertTo(this)._forceRed(l)},o.prototype.fromRed=function(){return s(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(l){return this.red=l,this},o.prototype.forceRed=function(l){return s(!this.red,"Already a number in reduction context"),this._forceRed(l)},o.prototype.redAdd=function(l){return s(this.red,"redAdd works only with red numbers"),this.red.add(this,l)},o.prototype.redIAdd=function(l){return s(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l)},o.prototype.redSub=function(l){return s(this.red,"redSub works only with red numbers"),this.red.sub(this,l)},o.prototype.redISub=function(l){return s(this.red,"redISub works only with red numbers"),this.red.isub(this,l)},o.prototype.redShl=function(l){return s(this.red,"redShl works only with red numbers"),this.red.shl(this,l)},o.prototype.redMul=function(l){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.mul(this,l)},o.prototype.redIMul=function(l){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.imul(this,l)},o.prototype.redSqr=function(){return s(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return s(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return s(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return s(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return s(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(l){return s(this.red&&!l.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l)};var q={k256:null,p224:null,p192:null,p25519:null};function V(l,h){this.name=l,this.p=new o(h,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}V.prototype._tmp=function(){var l=new o(null);return l.words=new Array(Math.ceil(this.n/13)),l},V.prototype.ireduce=function(l){var h=l,y;do this.split(h,this.tmp),h=this.imulK(h),h=h.iadd(this.tmp),y=h.bitLength();while(y>this.n);var w=y<this.n?-1:h.ucmp(this.p);return w===0?(h.words[0]=0,h.length=1):w>0?h.isub(this.p):h.strip!==void 0?h.strip():h._strip(),h},V.prototype.split=function(l,h){l.iushrn(this.n,0,h)},V.prototype.imulK=function(l){return l.imul(this.k)};function F(){V.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(F,V),F.prototype.split=function(l,h){for(var y=4194303,w=Math.min(l.length,9),v=0;v<w;v++)h.words[v]=l.words[v];if(h.length=w,l.length<=9){l.words[0]=0,l.length=1;return}var x=l.words[9];for(h.words[h.length++]=x&y,v=10;v<l.length;v++){var I=l.words[v]|0;l.words[v-10]=(I&y)<<4|x>>>22,x=I}x>>>=22,l.words[v-10]=x,x===0&&l.length>10?l.length-=10:l.length-=9},F.prototype.imulK=function(l){l.words[l.length]=0,l.words[l.length+1]=0,l.length+=2;for(var h=0,y=0;y<l.length;y++){var w=l.words[y]|0;h+=w*977,l.words[y]=h&67108863,h=w*64+(h/67108864|0)}return l.words[l.length-1]===0&&(l.length--,l.words[l.length-1]===0&&l.length--),l};function X(){V.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(X,V);function Q(){V.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(Q,V);function D(){V.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(D,V),D.prototype.imulK=function(l){for(var h=0,y=0;y<l.length;y++){var w=(l.words[y]|0)*19+h,v=w&67108863;w>>>=26,l.words[y]=v,h=w}return h!==0&&(l.words[l.length++]=h),l},o._prime=function(l){if(q[l])return q[l];var h;if(l==="k256")h=new F;else if(l==="p224")h=new X;else if(l==="p192")h=new Q;else if(l==="p25519")h=new D;else throw new Error("Unknown prime "+l);return q[l]=h,h};function N(l){if(typeof l=="string"){var h=o._prime(l);this.m=h.p,this.prime=h}else s(l.gtn(1),"modulus must be greater than 1"),this.m=l,this.prime=null}N.prototype._verify1=function(l){s(l.negative===0,"red works only with positives"),s(l.red,"red works only with red numbers")},N.prototype._verify2=function(l,h){s((l.negative|h.negative)===0,"red works only with positives"),s(l.red&&l.red===h.red,"red works only with red numbers")},N.prototype.imod=function(l){return this.prime?this.prime.ireduce(l)._forceRed(this):(f(l,l.umod(this.m)._forceRed(this)),l)},N.prototype.neg=function(l){return l.isZero()?l.clone():this.m.sub(l)._forceRed(this)},N.prototype.add=function(l,h){this._verify2(l,h);var y=l.add(h);return y.cmp(this.m)>=0&&y.isub(this.m),y._forceRed(this)},N.prototype.iadd=function(l,h){this._verify2(l,h);var y=l.iadd(h);return y.cmp(this.m)>=0&&y.isub(this.m),y},N.prototype.sub=function(l,h){this._verify2(l,h);var y=l.sub(h);return y.cmpn(0)<0&&y.iadd(this.m),y._forceRed(this)},N.prototype.isub=function(l,h){this._verify2(l,h);var y=l.isub(h);return y.cmpn(0)<0&&y.iadd(this.m),y},N.prototype.shl=function(l,h){return this._verify1(l),this.imod(l.ushln(h))},N.prototype.imul=function(l,h){return this._verify2(l,h),this.imod(l.imul(h))},N.prototype.mul=function(l,h){return this._verify2(l,h),this.imod(l.mul(h))},N.prototype.isqr=function(l){return this.imul(l,l.clone())},N.prototype.sqr=function(l){return this.mul(l,l)},N.prototype.sqrt=function(l){if(l.isZero())return l.clone();var h=this.m.andln(3);if(s(h%2===1),h===3){var y=this.m.add(new o(1)).iushrn(2);return this.pow(l,y)}for(var w=this.m.subn(1),v=0;!w.isZero()&&w.andln(1)===0;)v++,w.iushrn(1);s(!w.isZero());var x=new o(1).toRed(this),I=x.redNeg(),k=this.m.subn(1).iushrn(1),g=this.m.bitLength();for(g=new o(2*g*g).toRed(this);this.pow(g,k).cmp(I)!==0;)g.redIAdd(I);for(var E=this.pow(g,w),G=this.pow(l,w.addn(1).iushrn(1)),z=this.pow(l,w),K=v;z.cmp(x)!==0;){for(var ne=z,re=0;ne.cmp(x)!==0;re++)ne=ne.redSqr();s(re<K);var be=this.pow(E,new o(1).iushln(K-re-1));G=G.redMul(be),E=be.redSqr(),z=z.redMul(E),K=re}return G},N.prototype.invm=function(l){var h=l._invmp(this.m);return h.negative!==0?(h.negative=0,this.imod(h).redNeg()):this.imod(h)},N.prototype.pow=function(l,h){if(h.isZero())return new o(1).toRed(this);if(h.cmpn(1)===0)return l.clone();var y=4,w=new Array(1<<y);w[0]=new o(1).toRed(this),w[1]=l;for(var v=2;v<w.length;v++)w[v]=this.mul(w[v-1],l);var x=w[0],I=0,k=0,g=h.bitLength()%26;for(g===0&&(g=26),v=h.length-1;v>=0;v--){for(var E=h.words[v],G=g-1;G>=0;G--){var z=E>>G&1;if(x!==w[0]&&(x=this.sqr(x)),z===0&&I===0){k=0;continue}I<<=1,I|=z,k++,!(k!==y&&(v!==0||G!==0))&&(x=this.mul(x,w[I]),k=0,I=0)}g=26}return x},N.prototype.convertTo=function(l){var h=l.umod(this.m);return h===l?h.clone():h},N.prototype.convertFrom=function(l){var h=l.clone();return h.red=null,h},o.mont=function(l){return new j(l)};function j(l){N.call(this,l),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}i(j,N),j.prototype.convertTo=function(l){return this.imod(l.ushln(this.shift))},j.prototype.convertFrom=function(l){var h=this.imod(l.mul(this.rinv));return h.red=null,h},j.prototype.imul=function(l,h){if(l.isZero()||h.isZero())return l.words[0]=0,l.length=1,l;var y=l.imul(h),w=y.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),v=y.isub(w).iushrn(this.shift),x=v;return v.cmp(this.m)>=0?x=v.isub(this.m):v.cmpn(0)<0&&(x=v.iadd(this.m)),x._forceRed(this)},j.prototype.mul=function(l,h){if(l.isZero()||h.isZero())return new o(0)._forceRed(this);var y=l.mul(h),w=y.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),v=y.isub(w).iushrn(this.shift),x=v;return v.cmp(this.m)>=0?x=v.isub(this.m):v.cmpn(0)<0&&(x=v.iadd(this.m)),x._forceRed(this)},j.prototype.invm=function(l){var h=this.imod(l._invmp(this.m).mul(this.r2));return h._forceRed(this)}})(typeof e>"u"||e,t)}),Y4={REQUEST_PARAMS:"requestParams",METHOD_NAME:"methodName"},X4=class bv extends Error{constructor(e,n,r){super(e),this.code=n,this.details=r,this.name=this.constructor.name}static{this.DETAILS_KEYS=Y4}toJSON(){return{name:this.name,message:this.message,code:this.code,details:this.details}}toString(){return JSON.stringify(this.toJSON())}static isErrorCode(e,n){return e instanceof bv&&e.code===n}},Q4=class extends X4{constructor(t,e,n){super(t,e||"UnknownError",n)}static isCommonErrorCode(t,e){return this.isErrorCode(t,e)}},iv=(t,e,n)=>{throw new Q4(e,t,n)};function ov(t){return Date.parse(new Date().toString())+t}var eC=class{constructor(t,e=0){this.overdue_time=e,this.value=t}isValid(){return this.value===null?!1:this.overdue_time===0?!0:!(Date.parse(new Date().toString())>this.overdue_time)}},ua=9e15,hi=1e9,um="0123456789abcdef",Hl="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",zl="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",lm={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ua,maxE:ua,crypto:!1},wv,Os,Te=!0,Jl="[DecimalError] ",pi=Jl+"Invalid argument: ",_v=Jl+"Precision limit exceeded",vv=Jl+"crypto unavailable",Tv="[object Decimal]",yn=Math.floor,Xt=Math.pow,tC=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,nC=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,rC=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,kv=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,kr=1e7,ye=7,sC=9007199254740991,iC=Hl.length-1,dm=zl.length-1,H={toStringTag:Tv};H.absoluteValue=H.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),fe(t)};H.ceil=function(){return fe(new this.constructor(this),this.e+1,2)};H.clampedTo=H.clamp=function(t,e){var n,r=this,s=r.constructor;if(t=new s(t),e=new s(e),!t.s||!e.s)return new s(NaN);if(t.gt(e))throw Error(pi+e);return n=r.cmp(t),n<0?t:r.cmp(e)>0?e:new s(r)};H.comparedTo=H.cmp=function(t){var e,n,r,s,i=this,o=i.d,a=(t=new i.constructor(t)).d,c=i.s,u=t.s;if(!o||!a)return!c||!u?NaN:c!==u?c:o===a?0:!o^c<0?1:-1;if(!o[0]||!a[0])return o[0]?c:a[0]?-u:0;if(c!==u)return c;if(i.e!==t.e)return i.e>t.e^c<0?1:-1;for(r=o.length,s=a.length,e=0,n=r<s?r:s;e<n;++e)if(o[e]!==a[e])return o[e]>a[e]^c<0?1:-1;return r===s?0:r>s^c<0?1:-1};H.cosine=H.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+ye,r.rounding=1,n=oC(r,Iv(r,n)),r.precision=t,r.rounding=e,fe(Os==2||Os==3?n.neg():n,t,e,!0)):new r(1):new r(NaN)};H.cubeRoot=H.cbrt=function(){var t,e,n,r,s,i,o,a,c,u,d=this,f=d.constructor;if(!d.isFinite()||d.isZero())return new f(d);for(Te=!1,i=d.s*Xt(d.s*d,1/3),!i||Math.abs(i)==1/0?(n=un(d.d),t=d.e,(i=(t-n.length+1)%3)&&(n+=i==1||i==-2?"0":"00"),i=Xt(n,1/3),t=yn((t+1)/3)-(t%3==(t<0?-1:2)),i==1/0?n="5e"+t:(n=i.toExponential(),n=n.slice(0,n.indexOf("e")+1)+t),r=new f(n),r.s=d.s):r=new f(i.toString()),o=(t=f.precision)+3;;)if(a=r,c=a.times(a).times(a),u=c.plus(d),r=Ge(u.plus(d).times(a),u.plus(c),o+2,1),un(a.d).slice(0,o)===(n=un(r.d)).slice(0,o))if(n=n.slice(o-3,o+1),n=="9999"||!s&&n=="4999"){if(!s&&(fe(a,t+1,0),a.times(a).times(a).eq(d))){r=a;break}o+=4,s=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(fe(r,t+1,1),e=!r.times(r).times(r).eq(d));break}return Te=!0,fe(r,t,f.rounding,e)};H.decimalPlaces=H.dp=function(){var t,e=this.d,n=NaN;if(e){if(t=e.length-1,n=(t-yn(this.e/ye))*ye,t=e[t],t)for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n};H.dividedBy=H.div=function(t){return Ge(this,new this.constructor(t))};H.dividedToIntegerBy=H.divToInt=function(t){var e=this,n=e.constructor;return fe(Ge(e,new n(t),0,1,1),n.precision,n.rounding)};H.equals=H.eq=function(t){return this.cmp(t)===0};H.floor=function(){return fe(new this.constructor(this),this.e+1,3)};H.greaterThan=H.gt=function(t){return this.cmp(t)>0};H.greaterThanOrEqualTo=H.gte=function(t){var e=this.cmp(t);return e==1||e===0};H.hyperbolicCosine=H.cosh=function(){var t,e,n,r,s,i=this,o=i.constructor,a=new o(1);if(!i.isFinite())return new o(i.s?1/0:NaN);if(i.isZero())return a;n=o.precision,r=o.rounding,o.precision=n+Math.max(i.e,i.sd())+4,o.rounding=1,s=i.d.length,s<32?(t=Math.ceil(s/3),e=(1/Yl(4,t)).toString()):(t=16,e="2.3283064365386962890625e-10"),i=la(o,1,i.times(e),new o(1),!0);for(var c,u=t,d=new o(8);u--;)c=i.times(i),i=a.minus(c.times(d.minus(c.times(d))));return fe(i,o.precision=n,o.rounding=r,!0)};H.hyperbolicSine=H.sinh=function(){var t,e,n,r,s=this,i=s.constructor;if(!s.isFinite()||s.isZero())return new i(s);if(e=i.precision,n=i.rounding,i.precision=e+Math.max(s.e,s.sd())+4,i.rounding=1,r=s.d.length,r<3)s=la(i,2,s,s,!0);else{t=1.4*Math.sqrt(r),t=t>16?16:t|0,s=s.times(1/Yl(5,t)),s=la(i,2,s,s,!0);for(var o,a=new i(5),c=new i(16),u=new i(20);t--;)o=s.times(s),s=s.times(a.plus(o.times(c.times(o).plus(u))))}return i.precision=e,i.rounding=n,fe(s,e,n,!0)};H.hyperbolicTangent=H.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,Ge(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)};H.inverseCosine=H.acos=function(){var t=this,e=t.constructor,n=t.abs().cmp(1),r=e.precision,s=e.rounding;return n!==-1?n===0?t.isNeg()?Jr(e,r,s):new e(0):new e(NaN):t.isZero()?Jr(e,r+4,s).times(.5):(e.precision=r+6,e.rounding=1,t=new e(1).minus(t).div(t.plus(1)).sqrt().atan(),e.precision=r,e.rounding=s,t.times(2))};H.inverseHyperbolicCosine=H.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,Te=!1,n=n.times(n).minus(1).sqrt().plus(n),Te=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)};H.inverseHyperbolicSine=H.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,Te=!1,n=n.times(n).plus(1).sqrt().plus(n),Te=!0,r.precision=t,r.rounding=e,n.ln())};H.inverseHyperbolicTangent=H.atanh=function(){var t,e,n,r,s=this,i=s.constructor;return s.isFinite()?s.e>=0?new i(s.abs().eq(1)?s.s/0:s.isZero()?s:NaN):(t=i.precision,e=i.rounding,r=s.sd(),Math.max(r,t)<2*-s.e-1?fe(new i(s),t,e,!0):(i.precision=n=r-s.e,s=Ge(s.plus(1),new i(1).minus(s),n+t,1),i.precision=t+4,i.rounding=1,s=s.ln(),i.precision=t,i.rounding=e,s.times(.5))):new i(NaN)};H.inverseSine=H.asin=function(){var t,e,n,r,s=this,i=s.constructor;return s.isZero()?new i(s):(e=s.abs().cmp(1),n=i.precision,r=i.rounding,e!==-1?e===0?(t=Jr(i,n+4,r).times(.5),t.s=s.s,t):new i(NaN):(i.precision=n+6,i.rounding=1,s=s.div(new i(1).minus(s.times(s)).sqrt().plus(1)).atan(),i.precision=n,i.rounding=r,s.times(2)))};H.inverseTangent=H.atan=function(){var t,e,n,r,s,i,o,a,c,u=this,d=u.constructor,f=d.precision,p=d.rounding;if(u.isFinite()){if(u.isZero())return new d(u);if(u.abs().eq(1)&&f+4<=dm)return o=Jr(d,f+4,p).times(.25),o.s=u.s,o}else{if(!u.s)return new d(NaN);if(f+4<=dm)return o=Jr(d,f+4,p).times(.5),o.s=u.s,o}for(d.precision=a=f+10,d.rounding=1,n=Math.min(28,a/ye+2|0),t=n;t;--t)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(Te=!1,e=Math.ceil(a/ye),r=1,c=u.times(u),o=new d(u),s=u;t!==-1;)if(s=s.times(c),i=o.minus(s.div(r+=2)),s=s.times(c),o=i.plus(s.div(r+=2)),o.d[e]!==void 0)for(t=e;o.d[t]===i.d[t]&&t--;);return n&&(o=o.times(2<<n-1)),Te=!0,fe(o,d.precision=f,d.rounding=p,!0)};H.isFinite=function(){return!!this.d};H.isInteger=H.isInt=function(){return!!this.d&&yn(this.e/ye)>this.d.length-2};H.isNaN=function(){return!this.s};H.isNegative=H.isNeg=function(){return this.s<0};H.isPositive=H.isPos=function(){return this.s>0};H.isZero=function(){return!!this.d&&this.d[0]===0};H.lessThan=H.lt=function(t){return this.cmp(t)<0};H.lessThanOrEqualTo=H.lte=function(t){return this.cmp(t)<1};H.logarithm=H.log=function(t){var e,n,r,s,i,o,a,c,u=this,d=u.constructor,f=d.precision,p=d.rounding,m=5;if(t==null)t=new d(10),e=!0;else{if(t=new d(t),n=t.d,t.s<0||!n||!n[0]||t.eq(1))return new d(NaN);e=t.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new d(n&&!n[0]?-1/0:u.s!=1?NaN:n?0:1/0);if(e)if(n.length>1)i=!0;else{for(s=n[0];s%10===0;)s/=10;i=s!==1}if(Te=!1,a=f+m,o=di(u,a),r=e?Wl(d,a+10):di(t,a),c=Ge(o,r,a,1),Mc(c.d,s=f,p))do if(a+=10,o=di(u,a),r=e?Wl(d,a+10):di(t,a),c=Ge(o,r,a,1),!i){+un(c.d).slice(s+1,s+15)+1==1e14&&(c=fe(c,f+1,0));break}while(Mc(c.d,s+=10,p));return Te=!0,fe(c,f,p)};H.minus=H.sub=function(t){var e,n,r,s,i,o,a,c,u,d,f,p,m=this,b=m.constructor;if(t=new b(t),!m.d||!t.d)return!m.s||!t.s?t=new b(NaN):m.d?t.s=-t.s:t=new b(t.d||m.s!==t.s?m:NaN),t;if(m.s!=t.s)return t.s=-t.s,m.plus(t);if(u=m.d,p=t.d,a=b.precision,c=b.rounding,!u[0]||!p[0]){if(p[0])t.s=-t.s;else if(u[0])t=new b(m);else return new b(c===3?-0:0);return Te?fe(t,a,c):t}if(n=yn(t.e/ye),d=yn(m.e/ye),u=u.slice(),i=d-n,i){for(f=i<0,f?(e=u,i=-i,o=p.length):(e=p,n=d,o=u.length),r=Math.max(Math.ceil(a/ye),o)+2,i>r&&(i=r,e.length=1),e.reverse(),r=i;r--;)e.push(0);e.reverse()}else{for(r=u.length,o=p.length,f=r<o,f&&(o=r),r=0;r<o;r++)if(u[r]!=p[r]){f=u[r]<p[r];break}i=0}for(f&&(e=u,u=p,p=e,t.s=-t.s),o=u.length,r=p.length-o;r>0;--r)u[o++]=0;for(r=p.length;r>i;){if(u[--r]<p[r]){for(s=r;s&&u[--s]===0;)u[s]=kr-1;--u[s],u[r]+=kr}u[r]-=p[r]}for(;u[--o]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(t.d=u,t.e=Kl(u,n),Te?fe(t,a,c):t):new b(c===3?-0:0)};H.modulo=H.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?fe(new r(n),r.precision,r.rounding):(Te=!1,r.modulo==9?(e=Ge(n,t.abs(),0,3,1),e.s*=t.s):e=Ge(n,t,0,r.modulo,1),e=e.times(t),Te=!0,n.minus(e))};H.naturalExponential=H.exp=function(){return fm(this)};H.naturalLogarithm=H.ln=function(){return di(this)};H.negated=H.neg=function(){var t=new this.constructor(this);return t.s=-t.s,fe(t)};H.plus=H.add=function(t){var e,n,r,s,i,o,a,c,u,d,f=this,p=f.constructor;if(t=new p(t),!f.d||!t.d)return!f.s||!t.s?t=new p(NaN):f.d||(t=new p(t.d||f.s===t.s?f:NaN)),t;if(f.s!=t.s)return t.s=-t.s,f.minus(t);if(u=f.d,d=t.d,a=p.precision,c=p.rounding,!u[0]||!d[0])return d[0]||(t=new p(f)),Te?fe(t,a,c):t;if(i=yn(f.e/ye),r=yn(t.e/ye),u=u.slice(),s=i-r,s){for(s<0?(n=u,s=-s,o=d.length):(n=d,r=i,o=u.length),i=Math.ceil(a/ye),o=i>o?i+1:o+1,s>o&&(s=o,n.length=1),n.reverse();s--;)n.push(0);n.reverse()}for(o=u.length,s=d.length,o-s<0&&(s=o,n=d,d=u,u=n),e=0;s;)e=(u[--s]=u[s]+d[s]+e)/kr|0,u[s]%=kr;for(e&&(u.unshift(e),++r),o=u.length;u[--o]==0;)u.pop();return t.d=u,t.e=Kl(u,r),Te?fe(t,a,c):t};H.precision=H.sd=function(t){var e,n=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(pi+t);return n.d?(e=Ev(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e};H.round=function(){var t=this,e=t.constructor;return fe(new e(t),t.e+1,e.rounding)};H.sine=H.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+ye,r.rounding=1,n=cC(r,Iv(r,n)),r.precision=t,r.rounding=e,fe(Os>2?n.neg():n,t,e,!0)):new r(NaN)};H.squareRoot=H.sqrt=function(){var t,e,n,r,s,i,o=this,a=o.d,c=o.e,u=o.s,d=o.constructor;if(u!==1||!a||!a[0])return new d(!u||u<0&&(!a||a[0])?NaN:a?o:1/0);for(Te=!1,u=Math.sqrt(+o),u==0||u==1/0?(e=un(a),(e.length+c)%2==0&&(e+="0"),u=Math.sqrt(e),c=yn((c+1)/2)-(c<0||c%2),u==1/0?e="5e"+c:(e=u.toExponential(),e=e.slice(0,e.indexOf("e")+1)+c),r=new d(e)):r=new d(u.toString()),n=(c=d.precision)+3;;)if(i=r,r=i.plus(Ge(o,i,n+2,1)).times(.5),un(i.d).slice(0,n)===(e=un(r.d)).slice(0,n))if(e=e.slice(n-3,n+1),e=="9999"||!s&&e=="4999"){if(!s&&(fe(i,c+1,0),i.times(i).eq(o))){r=i;break}n+=4,s=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(fe(r,c+1,1),t=!r.times(r).eq(o));break}return Te=!0,fe(r,c,d.rounding,t)};H.tangent=H.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,n=n.sin(),n.s=1,n=Ge(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,fe(Os==2||Os==4?n.neg():n,t,e,!0)):new r(NaN)};H.times=H.mul=function(t){var e,n,r,s,i,o,a,c,u,d=this,f=d.constructor,p=d.d,m=(t=new f(t)).d;if(t.s*=d.s,!p||!p[0]||!m||!m[0])return new f(!t.s||p&&!p[0]&&!m||m&&!m[0]&&!p?NaN:!p||!m?t.s/0:t.s*0);for(n=yn(d.e/ye)+yn(t.e/ye),c=p.length,u=m.length,c<u&&(i=p,p=m,m=i,o=c,c=u,u=o),i=[],o=c+u,r=o;r--;)i.push(0);for(r=u;--r>=0;){for(e=0,s=c+r;s>r;)a=i[s]+m[r]*p[s-r-1]+e,i[s--]=a%kr|0,e=a/kr|0;i[s]=(i[s]+e)%kr|0}for(;!i[--o];)i.pop();return e?++n:i.shift(),t.d=i,t.e=Kl(i,n),Te?fe(t,f.precision,f.rounding):t};H.toBinary=function(t,e){return hm(this,2,t,e)};H.toDecimalPlaces=H.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(Dn(t,0,hi),e===void 0?e=r.rounding:Dn(e,0,8),fe(n,t+n.e+1,e))};H.toExponential=function(t,e){var n,r=this,s=r.constructor;return t===void 0?n=Kr(r,!0):(Dn(t,0,hi),e===void 0?e=s.rounding:Dn(e,0,8),r=fe(new s(r),t+1,e),n=Kr(r,!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n};H.toFixed=function(t,e){var n,r,s=this,i=s.constructor;return t===void 0?n=Kr(s):(Dn(t,0,hi),e===void 0?e=i.rounding:Dn(e,0,8),r=fe(new i(s),t+s.e+1,e),n=Kr(r,!1,t+r.e+1)),s.isNeg()&&!s.isZero()?"-"+n:n};H.toFraction=function(t){var e,n,r,s,i,o,a,c,u,d,f,p,m=this,b=m.d,_=m.constructor;if(!b)return new _(m);if(u=n=new _(1),r=c=new _(0),e=new _(r),i=e.e=Ev(b)-m.e-1,o=i%ye,e.d[0]=Xt(10,o<0?ye+o:o),t==null)t=i>0?e:u;else{if(a=new _(t),!a.isInt()||a.lt(u))throw Error(pi+a);t=a.gt(e)?i>0?e:u:a}for(Te=!1,a=new _(un(b)),d=_.precision,_.precision=i=b.length*ye*2;f=Ge(a,e,0,1,1),s=n.plus(f.times(r)),s.cmp(t)!=1;)n=r,r=s,s=u,u=c.plus(f.times(s)),c=s,s=e,e=a.minus(f.times(s)),a=s;return s=Ge(t.minus(n),r,0,1,1),c=c.plus(s.times(u)),n=n.plus(s.times(r)),c.s=u.s=m.s,p=Ge(u,r,i,1).minus(m).abs().cmp(Ge(c,n,i,1).minus(m).abs())<1?[u,r]:[c,n],_.precision=d,Te=!0,p};H.toHexadecimal=H.toHex=function(t,e){return hm(this,16,t,e)};H.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),t==null){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),e===void 0?e=r.rounding:Dn(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?(Te=!1,n=Ge(n,t,0,e,1).times(t),Te=!0,fe(n)):(t.s=n.s,n=t),n};H.toNumber=function(){return+this};H.toOctal=function(t,e){return hm(this,8,t,e)};H.toPower=H.pow=function(t){var e,n,r,s,i,o,a=this,c=a.constructor,u=+(t=new c(t));if(!a.d||!t.d||!a.d[0]||!t.d[0])return new c(Xt(+a,u));if(a=new c(a),a.eq(1))return a;if(r=c.precision,i=c.rounding,t.eq(1))return fe(a,r,i);if(e=yn(t.e/ye),e>=t.d.length-1&&(n=u<0?-u:u)<=sC)return s=xv(c,a,n,r),t.s<0?new c(1).div(s):fe(s,r,i);if(o=a.s,o<0){if(e<t.d.length-1)return new c(NaN);if(!(t.d[e]&1)&&(o=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=o,a}return n=Xt(+a,u),e=n==0||!isFinite(n)?yn(u*(Math.log("0."+un(a.d))/Math.LN10+a.e+1)):new c(n+"").e,e>c.maxE+1||e<c.minE-1?new c(e>0?o/0:0):(Te=!1,c.rounding=a.s=1,n=Math.min(12,(e+"").length),s=fm(t.times(di(a,r+n)),r),s.d&&(s=fe(s,r+5,1),Mc(s.d,r,i)&&(e=r+10,s=fe(fm(t.times(di(a,e+n)),e),e+5,1),+un(s.d).slice(r+1,r+15)+1==1e14&&(s=fe(s,r+1,0)))),s.s=o,Te=!0,c.rounding=i,fe(s,r,i))};H.toPrecision=function(t,e){var n,r=this,s=r.constructor;return t===void 0?n=Kr(r,r.e<=s.toExpNeg||r.e>=s.toExpPos):(Dn(t,1,hi),e===void 0?e=s.rounding:Dn(e,0,8),r=fe(new s(r),t,e),n=Kr(r,t<=r.e||r.e<=s.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n};H.toSignificantDigits=H.toSD=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(Dn(t,1,hi),e===void 0?e=r.rounding:Dn(e,0,8)),fe(new r(n),t,e)};H.toString=function(){var t=this,e=t.constructor,n=Kr(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n};H.truncated=H.trunc=function(){return fe(new this.constructor(this),this.e+1,1)};H.valueOf=H.toJSON=function(){var t=this,e=t.constructor,n=Kr(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};function un(t){var e,n,r,s=t.length-1,i="",o=t[0];if(s>0){for(i+=o,e=1;e<s;e++)r=t[e]+"",n=ye-r.length,n&&(i+=li(n)),i+=r;o=t[e],r=o+"",n=ye-r.length,n&&(i+=li(n))}else if(o===0)return"0";for(;o%10===0;)o/=10;return i+o}function Dn(t,e,n){if(t!==~~t||t<e||t>n)throw Error(pi+t)}function Mc(t,e,n,r){var s,i,o,a;for(i=t[0];i>=10;i/=10)--e;return--e<0?(e+=ye,s=0):(s=Math.ceil((e+1)/ye),e%=ye),i=Xt(10,ye-e),a=t[s]%i|0,r==null?e<3?(e==0?a=a/100|0:e==1&&(a=a/10|0),o=n<4&&a==99999||n>3&&a==49999||a==5e4||a==0):o=(n<4&&a+1==i||n>3&&a+1==i/2)&&(t[s+1]/i/100|0)==Xt(10,e-2)-1||(a==i/2||a==0)&&(t[s+1]/i/100|0)==0:e<4?(e==0?a=a/1e3|0:e==1?a=a/100|0:e==2&&(a=a/10|0),o=(r||n<4)&&a==9999||!r&&n>3&&a==4999):o=((r||n<4)&&a+1==i||!r&&n>3&&a+1==i/2)&&(t[s+1]/i/1e3|0)==Xt(10,e-3)-1,o}function ql(t,e,n){for(var r,s=[0],i,o=0,a=t.length;o<a;){for(i=s.length;i--;)s[i]*=e;for(s[0]+=um.indexOf(t.charAt(o++)),r=0;r<s.length;r++)s[r]>n-1&&(s[r+1]===void 0&&(s[r+1]=0),s[r+1]+=s[r]/n|0,s[r]%=n)}return s.reverse()}function oC(t,e){var n,r,s;if(e.isZero())return e;r=e.d.length,r<32?(n=Math.ceil(r/3),s=(1/Yl(4,n)).toString()):(n=16,s="2.3283064365386962890625e-10"),t.precision+=n,e=la(t,1,e.times(s),new t(1));for(var i=n;i--;){var o=e.times(e);e=o.times(o).minus(o).times(8).plus(1)}return t.precision-=n,e}var Ge=function(){function t(r,s,i){var o,a=0,c=r.length;for(r=r.slice();c--;)o=r[c]*s+a,r[c]=o%i|0,a=o/i|0;return a&&r.unshift(a),r}function e(r,s,i,o){var a,c;if(i!=o)c=i>o?1:-1;else for(a=c=0;a<i;a++)if(r[a]!=s[a]){c=r[a]>s[a]?1:-1;break}return c}function n(r,s,i,o){for(var a=0;i--;)r[i]-=a,a=r[i]<s[i]?1:0,r[i]=a*o+r[i]-s[i];for(;!r[0]&&r.length>1;)r.shift()}return function(r,s,i,o,a,c){var u,d,f,p,m,b,_,T,O,B,C,U,P,L,q,V,F,X,Q,D,N=r.constructor,j=r.s==s.s?1:-1,l=r.d,h=s.d;if(!l||!l[0]||!h||!h[0])return new N(!r.s||!s.s||(l?h&&l[0]==h[0]:!h)?NaN:l&&l[0]==0||!h?j*0:j/0);for(c?(m=1,d=r.e-s.e):(c=kr,m=ye,d=yn(r.e/m)-yn(s.e/m)),Q=h.length,F=l.length,O=new N(j),B=O.d=[],f=0;h[f]==(l[f]||0);f++);if(h[f]>(l[f]||0)&&d--,i==null?(L=i=N.precision,o=N.rounding):a?L=i+(r.e-s.e)+1:L=i,L<0)B.push(1),b=!0;else{if(L=L/m+2|0,f=0,Q==1){for(p=0,h=h[0],L++;(f<F||p)&&L--;f++)q=p*c+(l[f]||0),B[f]=q/h|0,p=q%h|0;b=p||f<F}else{for(p=c/(h[0]+1)|0,p>1&&(h=t(h,p,c),l=t(l,p,c),Q=h.length,F=l.length),V=Q,C=l.slice(0,Q),U=C.length;U<Q;)C[U++]=0;D=h.slice(),D.unshift(0),X=h[0],h[1]>=c/2&&++X;do p=0,u=e(h,C,Q,U),u<0?(P=C[0],Q!=U&&(P=P*c+(C[1]||0)),p=P/X|0,p>1?(p>=c&&(p=c-1),_=t(h,p,c),T=_.length,U=C.length,u=e(_,C,T,U),u==1&&(p--,n(_,Q<T?D:h,T,c))):(p==0&&(u=p=1),_=h.slice()),T=_.length,T<U&&_.unshift(0),n(C,_,U,c),u==-1&&(U=C.length,u=e(h,C,Q,U),u<1&&(p++,n(C,Q<U?D:h,U,c))),U=C.length):u===0&&(p++,C=[0]),B[f++]=p,u&&C[0]?C[U++]=l[V]||0:(C=[l[V]],U=1);while((V++<F||C[0]!==void 0)&&L--);b=C[0]!==void 0}B[0]||B.shift()}if(m==1)O.e=d,wv=b;else{for(f=1,p=B[0];p>=10;p/=10)f++;O.e=f+d*m-1,fe(O,a?i+O.e+1:i,o,b)}return O}}();function fe(t,e,n,r){var s,i,o,a,c,u,d,f,p,m=t.constructor;e:if(e!=null){if(f=t.d,!f)return t;for(s=1,a=f[0];a>=10;a/=10)s++;if(i=e-s,i<0)i+=ye,o=e,d=f[p=0],c=d/Xt(10,s-o-1)%10|0;else if(p=Math.ceil((i+1)/ye),a=f.length,p>=a)if(r){for(;a++<=p;)f.push(0);d=c=0,s=1,i%=ye,o=i-ye+1}else break e;else{for(d=a=f[p],s=1;a>=10;a/=10)s++;i%=ye,o=i-ye+s,c=o<0?0:d/Xt(10,s-o-1)%10|0}if(r=r||e<0||f[p+1]!==void 0||(o<0?d:d%Xt(10,s-o-1)),u=n<4?(c||r)&&(n==0||n==(t.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(i>0?o>0?d/Xt(10,s-o):0:f[p-1])%10&1||n==(t.s<0?8:7)),e<1||!f[0])return f.length=0,u?(e-=t.e+1,f[0]=Xt(10,(ye-e%ye)%ye),t.e=-e||0):f[0]=t.e=0,t;if(i==0?(f.length=p,a=1,p--):(f.length=p+1,a=Xt(10,ye-i),f[p]=o>0?(d/Xt(10,s-o)%Xt(10,o)|0)*a:0),u)for(;;)if(p==0){for(i=1,o=f[0];o>=10;o/=10)i++;for(o=f[0]+=a,a=1;o>=10;o/=10)a++;i!=a&&(t.e++,f[0]==kr&&(f[0]=1));break}else{if(f[p]+=a,f[p]!=kr)break;f[p--]=0,a=1}for(i=f.length;f[--i]===0;)f.pop()}return Te&&(t.e>m.maxE?(t.d=null,t.e=NaN):t.e<m.minE&&(t.e=0,t.d=[0])),t}function Kr(t,e,n){if(!t.isFinite())return Ov(t);var r,s=t.e,i=un(t.d),o=i.length;return e?(n&&(r=n-o)>0?i=i.charAt(0)+"."+i.slice(1)+li(r):o>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(t.e<0?"e":"e+")+t.e):s<0?(i="0."+li(-s-1)+i,n&&(r=n-o)>0&&(i+=li(r))):s>=o?(i+=li(s+1-o),n&&(r=n-s-1)>0&&(i=i+"."+li(r))):((r=s+1)<o&&(i=i.slice(0,r)+"."+i.slice(r)),n&&(r=n-o)>0&&(s+1===o&&(i+="."),i+=li(r))),i}function Kl(t,e){var n=t[0];for(e*=ye;n>=10;n/=10)e++;return e}function Wl(t,e,n){if(e>iC)throw Te=!0,n&&(t.precision=n),Error(_v);return fe(new t(Hl),e,1,!0)}function Jr(t,e,n){if(e>dm)throw Error(_v);return fe(new t(zl),e,n,!0)}function Ev(t){var e=t.length-1,n=e*ye+1;if(e=t[e],e){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function li(t){for(var e="";t--;)e+="0";return e}function xv(t,e,n,r){var s,i=new t(1),o=Math.ceil(r/ye+4);for(Te=!1;;){if(n%2&&(i=i.times(e),cv(i.d,o)&&(s=!0)),n=yn(n/2),n===0){n=i.d.length-1,s&&i.d[n]===0&&++i.d[n];break}e=e.times(e),cv(e.d,o)}return Te=!0,i}function av(t){return t.d[t.d.length-1]&1}function Sv(t,e,n){for(var r,s,i=new t(e[0]),o=0;++o<e.length;){if(s=new t(e[o]),!s.s){i=s;break}r=i.cmp(s),(r===n||r===0&&i.s===n)&&(i=s)}return i}function fm(t,e){var n,r,s,i,o,a,c,u=0,d=0,f=0,p=t.constructor,m=p.rounding,b=p.precision;if(!t.d||!t.d[0]||t.e>17)return new p(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);for(e==null?(Te=!1,c=b):c=e,a=new p(.03125);t.e>-2;)t=t.times(a),f+=5;for(r=Math.log(Xt(2,f))/Math.LN10*2+5|0,c+=r,n=i=o=new p(1),p.precision=c;;){if(i=fe(i.times(t),c,1),n=n.times(++d),a=o.plus(Ge(i,n,c,1)),un(a.d).slice(0,c)===un(o.d).slice(0,c)){for(s=f;s--;)o=fe(o.times(o),c,1);if(e==null)if(u<3&&Mc(o.d,c-r,m,u))p.precision=c+=10,n=i=a=new p(1),d=0,u++;else return fe(o,p.precision=b,m,Te=!0);else return p.precision=b,o}o=a}}function di(t,e){var n,r,s,i,o,a,c,u,d,f,p,m=1,b=10,_=t,T=_.d,O=_.constructor,B=O.rounding,C=O.precision;if(_.s<0||!T||!T[0]||!_.e&&T[0]==1&&T.length==1)return new O(T&&!T[0]?-1/0:_.s!=1?NaN:T?0:_);if(e==null?(Te=!1,d=C):d=e,O.precision=d+=b,n=un(T),r=n.charAt(0),Math.abs(i=_.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)_=_.times(t),n=un(_.d),r=n.charAt(0),m++;i=_.e,r>1?(_=new O("0."+n),i++):_=new O(r+"."+n.slice(1))}else return u=Wl(O,d+2,C).times(i+""),_=di(new O(r+"."+n.slice(1)),d-b).plus(u),O.precision=C,e==null?fe(_,C,B,Te=!0):_;for(f=_,c=o=_=Ge(_.minus(1),_.plus(1),d,1),p=fe(_.times(_),d,1),s=3;;){if(o=fe(o.times(p),d,1),u=c.plus(Ge(o,new O(s),d,1)),un(u.d).slice(0,d)===un(c.d).slice(0,d))if(c=c.times(2),i!==0&&(c=c.plus(Wl(O,d+2,C).times(i+""))),c=Ge(c,new O(m),d,1),e==null)if(Mc(c.d,d-b,B,a))O.precision=d+=b,u=o=_=Ge(f.minus(1),f.plus(1),d,1),p=fe(_.times(_),d,1),s=a=1;else return fe(c,O.precision=C,B,Te=!0);else return O.precision=C,c;c=u,s+=2}}function Ov(t){return String(t.s*t.s/0)}function $l(t,e){var n,r,s;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;r++);for(s=e.length;e.charCodeAt(s-1)===48;--s);if(e=e.slice(r,s),e){if(s-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%ye,n<0&&(r+=ye),r<s){for(r&&t.d.push(+e.slice(0,r)),s-=ye;r<s;)t.d.push(+e.slice(r,r+=ye));e=e.slice(r),r=ye-e.length}else r-=s;for(;r--;)e+="0";t.d.push(+e),Te&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function aC(t,e){var n,r,s,i,o,a,c,u,d;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),kv.test(e))return $l(t,e)}else if(e==="Infinity"||e==="NaN")return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(nC.test(e))n=16,e=e.toLowerCase();else if(tC.test(e))n=2;else if(rC.test(e))n=8;else throw Error(pi+e);for(i=e.search(/p/i),i>0?(c=+e.slice(i+1),e=e.substring(2,i)):e=e.slice(2),i=e.indexOf("."),o=i>=0,r=t.constructor,o&&(e=e.replace(".",""),a=e.length,i=a-i,s=xv(r,new r(n),i,i*2)),u=ql(e,n,kr),d=u.length-1,i=d;u[i]===0;--i)u.pop();return i<0?new r(t.s*0):(t.e=Kl(u,d),t.d=u,Te=!1,o&&(t=Ge(t,s,a*4)),c&&(t=t.times(Math.abs(c)<54?Xt(2,c):Uc.pow(2,c))),Te=!0,t)}function cC(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:la(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:n|0,e=e.times(1/Yl(5,n)),e=la(t,2,e,e);for(var s,i=new t(5),o=new t(16),a=new t(20);n--;)s=e.times(e),e=e.times(i.plus(s.times(o.times(s).minus(a))));return e}function la(t,e,n,r,s){var i,o,a,c,u=1,d=t.precision,f=Math.ceil(d/ye);for(Te=!1,c=n.times(n),a=new t(r);;){if(o=Ge(a.times(c),new t(e++*e++),d,1),a=s?r.plus(o):r.minus(o),r=Ge(o.times(c),new t(e++*e++),d,1),o=a.plus(r),o.d[f]!==void 0){for(i=f;o.d[i]===a.d[i]&&i--;);if(i==-1)break}i=a,a=r,r=o,o=i,u++}return Te=!0,o.d.length=f+1,o}function Yl(t,e){for(var n=t;--e;)n*=t;return n}function Iv(t,e){var n,r=e.s<0,s=Jr(t,t.precision,1),i=s.times(.5);if(e=e.abs(),e.lte(i))return Os=r?4:1,e;if(n=e.divToInt(s),n.isZero())Os=r?3:2;else{if(e=e.minus(n.times(s)),e.lte(i))return Os=av(n)?r?2:3:r?4:1,e;Os=av(n)?r?1:4:r?3:2}return e.minus(s).abs()}function hm(t,e,n,r){var s,i,o,a,c,u,d,f,p,m=t.constructor,b=n!==void 0;if(b?(Dn(n,1,hi),r===void 0?r=m.rounding:Dn(r,0,8)):(n=m.precision,r=m.rounding),!t.isFinite())d=Ov(t);else{for(d=Kr(t),o=d.indexOf("."),b?(s=2,e==16?n=n*4-3:e==8&&(n=n*3-2)):s=e,o>=0&&(d=d.replace(".",""),p=new m(1),p.e=d.length-o,p.d=ql(Kr(p),10,s),p.e=p.d.length),f=ql(d,10,s),i=c=f.length;f[--c]==0;)f.pop();if(!f[0])d=b?"0p+0":"0";else{if(o<0?i--:(t=new m(t),t.d=f,t.e=i,t=Ge(t,p,n,r,0,s),f=t.d,i=t.e,u=wv),o=f[n],a=s/2,u=u||f[n+1]!==void 0,u=r<4?(o!==void 0||u)&&(r===0||r===(t.s<0?3:2)):o>a||o===a&&(r===4||u||r===6&&f[n-1]&1||r===(t.s<0?8:7)),f.length=n,u)for(;++f[--n]>s-1;)f[n]=0,n||(++i,f.unshift(1));for(c=f.length;!f[c-1];--c);for(o=0,d="";o<c;o++)d+=um.charAt(f[o]);if(b){if(c>1)if(e==16||e==8){for(o=e==16?4:3,--c;c%o;c++)d+="0";for(f=ql(d,s,e),c=f.length;!f[c-1];--c);for(o=1,d="1.";o<c;o++)d+=um.charAt(f[o])}else d=d.charAt(0)+"."+d.slice(1);d=d+(i<0?"p":"p+")+i}else if(i<0){for(;++i;)d="0"+d;d="0."+d}else if(++i>c)for(i-=c;i--;)d+="0";else i<c&&(d=d.slice(0,i)+"."+d.slice(i))}d=(e==16?"0x":e==2?"0b":e==8?"0o":"")+d}return t.s<0?"-"+d:d}function cv(t,e){if(t.length>e)return t.length=e,!0}function uC(t){return new this(t).abs()}function lC(t){return new this(t).acos()}function dC(t){return new this(t).acosh()}function fC(t,e){return new this(t).plus(e)}function pC(t){return new this(t).asin()}function hC(t){return new this(t).asinh()}function mC(t){return new this(t).atan()}function gC(t){return new this(t).atanh()}function yC(t,e){t=new this(t),e=new this(e);var n,r=this.precision,s=this.rounding,i=r+4;return!t.s||!e.s?n=new this(NaN):!t.d&&!e.d?(n=Jr(this,i,1).times(e.s>0?.25:.75),n.s=t.s):!e.d||t.isZero()?(n=e.s<0?Jr(this,r,s):new this(0),n.s=t.s):!t.d||e.isZero()?(n=Jr(this,i,1).times(.5),n.s=t.s):e.s<0?(this.precision=i,this.rounding=1,n=this.atan(Ge(t,e,i,1)),e=Jr(this,i,1),this.precision=r,this.rounding=s,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(Ge(t,e,i,1)),n}function bC(t){return new this(t).cbrt()}function wC(t){return fe(t=new this(t),t.e+1,2)}function _C(t,e,n){return new this(t).clamp(e,n)}function vC(t){if(!t||typeof t!="object")throw Error(Jl+"Object expected");var e,n,r,s=t.defaults===!0,i=["precision",1,hi,"rounding",0,8,"toExpNeg",-ua,0,"toExpPos",0,ua,"maxE",0,ua,"minE",-ua,0,"modulo",0,9];for(e=0;e<i.length;e+=3)if(n=i[e],s&&(this[n]=lm[n]),(r=t[n])!==void 0)if(yn(r)===r&&r>=i[e+1]&&r<=i[e+2])this[n]=r;else throw Error(pi+n+": "+r);if(n="crypto",s&&(this[n]=lm[n]),(r=t[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(vv);else this[n]=!1;else throw Error(pi+n+": "+r);return this}function TC(t){return new this(t).cos()}function kC(t){return new this(t).cosh()}function Av(t){var e,n,r;function s(i){var o,a,c,u=this;if(!(u instanceof s))return new s(i);if(u.constructor=s,uv(i)){u.s=i.s,Te?!i.d||i.e>s.maxE?(u.e=NaN,u.d=null):i.e<s.minE?(u.e=0,u.d=[0]):(u.e=i.e,u.d=i.d.slice()):(u.e=i.e,u.d=i.d?i.d.slice():i.d);return}if(c=typeof i,c==="number"){if(i===0){u.s=1/i<0?-1:1,u.e=0,u.d=[0];return}if(i<0?(i=-i,u.s=-1):u.s=1,i===~~i&&i<1e7){for(o=0,a=i;a>=10;a/=10)o++;Te?o>s.maxE?(u.e=NaN,u.d=null):o<s.minE?(u.e=0,u.d=[0]):(u.e=o,u.d=[i]):(u.e=o,u.d=[i]);return}if(i*0!==0){i||(u.s=NaN),u.e=NaN,u.d=null;return}return $l(u,i.toString())}if(c==="string")return(a=i.charCodeAt(0))===45?(i=i.slice(1),u.s=-1):(a===43&&(i=i.slice(1)),u.s=1),kv.test(i)?$l(u,i):aC(u,i);if(c==="bigint")return i<0?(i=-i,u.s=-1):u.s=1,$l(u,i.toString());throw Error(pi+i)}if(s.prototype=H,s.ROUND_UP=0,s.ROUND_DOWN=1,s.ROUND_CEIL=2,s.ROUND_FLOOR=3,s.ROUND_HALF_UP=4,s.ROUND_HALF_DOWN=5,s.ROUND_HALF_EVEN=6,s.ROUND_HALF_CEIL=7,s.ROUND_HALF_FLOOR=8,s.EUCLID=9,s.config=s.set=vC,s.clone=Av,s.isDecimal=uv,s.abs=uC,s.acos=lC,s.acosh=dC,s.add=fC,s.asin=pC,s.asinh=hC,s.atan=mC,s.atanh=gC,s.atan2=yC,s.cbrt=bC,s.ceil=wC,s.clamp=_C,s.cos=TC,s.cosh=kC,s.div=EC,s.exp=xC,s.floor=SC,s.hypot=OC,s.ln=IC,s.log=AC,s.log10=NC,s.log2=CC,s.max=RC,s.min=BC,s.mod=MC,s.mul=DC,s.pow=jC,s.random=UC,s.round=LC,s.sign=PC,s.sin=VC,s.sinh=FC,s.sqrt=qC,s.sub=$C,s.sum=GC,s.tan=HC,s.tanh=zC,s.trunc=WC,t===void 0&&(t={}),t&&t.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<r.length;)t.hasOwnProperty(n=r[e++])||(t[n]=this[n]);return s.config(t),s}function EC(t,e){return new this(t).div(e)}function xC(t){return new this(t).exp()}function SC(t){return fe(t=new this(t),t.e+1,3)}function OC(){var t,e,n=new this(0);for(Te=!1,t=0;t<arguments.length;)if(e=new this(arguments[t++]),e.d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return Te=!0,new this(1/0);n=e}return Te=!0,n.sqrt()}function uv(t){return t instanceof Uc||t&&t.toStringTag===Tv||!1}function IC(t){return new this(t).ln()}function AC(t,e){return new this(t).log(e)}function CC(t){return new this(t).log(2)}function NC(t){return new this(t).log(10)}function RC(){return Sv(this,arguments,-1)}function BC(){return Sv(this,arguments,1)}function MC(t,e){return new this(t).mod(e)}function DC(t,e){return new this(t).mul(e)}function jC(t,e){return new this(t).pow(e)}function UC(t){var e,n,r,s,i=0,o=new this(1),a=[];if(t===void 0?t=this.precision:Dn(t,1,hi),r=Math.ceil(t/ye),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));i<r;)s=e[i],s>=429e7?e[i]=crypto.getRandomValues(new Uint32Array(1))[0]:a[i++]=s%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(r*=4);i<r;)s=e[i]+(e[i+1]<<8)+(e[i+2]<<16)+((e[i+3]&127)<<24),s>=214e7?crypto.randomBytes(4).copy(e,i):(a.push(s%1e7),i+=4);i=r/4}else throw Error(vv);else for(;i<r;)a[i++]=Math.random()*1e7|0;for(r=a[--i],t%=ye,r&&t&&(s=Xt(10,ye-t),a[i]=(r/s|0)*s);a[i]===0;i--)a.pop();if(i<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=ye)a.shift();for(r=1,s=a[0];s>=10;s/=10)r++;r<ye&&(n-=ye-r)}return o.e=n,o.d=a,o}function LC(t){return fe(t=new this(t),t.e+1,this.rounding)}function PC(t){return t=new this(t),t.d?t.d[0]?t.s:0*t.s:t.s||NaN}function VC(t){return new this(t).sin()}function FC(t){return new this(t).sinh()}function qC(t){return new this(t).sqrt()}function $C(t,e){return new this(t).sub(e)}function GC(){var t=0,e=arguments,n=new this(e[t]);for(Te=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return Te=!0,fe(n,this.precision,this.rounding)}function HC(t){return new this(t).tan()}function zC(t){return new this(t).tanh()}function WC(t){return fe(t=new this(t),t.e+1,1)}H[Symbol.for("nodejs.util.inspect.custom")]=H.toString;H[Symbol.toStringTag]="Decimal";var Uc=H.constructor=Av(lm);Hl=new Uc(Hl);zl=new Uc(zl);var Zl=Uc;function Gl(t){return Zl.isDecimal(t)?t:new Zl(t===void 0?0:t)}var Cv="0x2::sui::SUI",ZC="0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";var JC=class Ht{static totalBalance(e,n){let r=BigInt(0);return e.forEach(s=>{n===s.coin_type&&(r+=BigInt(s.balance))}),r}static getCoinAssets(e,n){let r=[];return n.forEach(s=>{dv(s.coin_type)===dv(e)&&r.push(s)}),r}static isSuiCoin(e){return fi(e).full_address===Cv}static selectCoinObjectIdGreaterThanOrEqual(e,n,r=[]){let s=Ht.selectCoinAssetGreaterThanOrEqual(e,n,r),i=s.selected_coins.map(c=>c.coin_object_id),o=s.remain_coins,a=s.selected_coins.map(c=>c.balance.toString());return{object_array:i,remain_coins:o,amount_array:a}}static selectCoinAssetGreaterThanOrEqual(e,n,r=[]){let s=Ht.sortByBalance(e.filter(u=>!r.includes(u.coin_object_id))),i=Ht.calculateTotalBalance(s);if(i<n)return{selected_coins:[],remain_coins:s};if(i===n)return{selected_coins:s,remain_coins:[]};let o=BigInt(0),a=[],c=[...s];for(;o<i;){let u=n-o,d=c.findIndex(p=>p.balance>=u);if(d!==-1){a.push(c[d]),c.splice(d,1);break}let f=c.pop();f.balance>0&&(a.push(f),o+=f.balance)}return{selected_coins:Ht.sortByBalance(a),remain_coins:Ht.sortByBalance(c)}}static sortByBalance(e){return e.sort((n,r)=>n.balance<r.balance?-1:n.balance>r.balance?1:0)}static sortByBalanceDes(e){return e.sort((n,r)=>n.balance>r.balance?-1:n.balance<r.balance?0:1)}static calculateTotalBalance(e){return e.reduce((n,r)=>n+r.balance,BigInt(0))}static buildCoinForAmount(e,n,r,s,i=!0,o=!0){let a=Ht.getCoinAssets(s,n);if(r===BigInt(0))return this.buildZeroValueCoin(n,e,s,i);let c=Ht.calculateTotalBalance(a);if(c<r)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r} `);return this.buildCoin(e,n,a,r,s,i,o)}static buildCoinWithBalance(e,n,r){return e===BigInt(0)&&Ht.isSuiCoin(n)?r.add(tr({balance:e,useGasCoin:!1})):r.add(tr({balance:e,type:n}))}static buildVectorCoin(e,n,r,s,i,o=!0){if(Ht.isSuiCoin(i)){let p=e.splitCoins(e.gas,[e.pure.u64(s)]);return{selected_coins:[],target_coin:p,remain_coins:n,target_coin_amount:s.toString(),is_mint_zero_coin:!1,original_spited_coin:e.gas}}let{original_spited_coin:a,target_coin:c,target_coin_amount:u,remain_coins:d,selected_coins:f}=this.buildSpitTargeCoin(e,s,r,o);return o?{target_coin:e.makeMoveVec({elements:[c]}),selected_coins:f,remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1,original_spited_coin:a}:{selected_coins:f,target_coin:e.makeMoveVec({elements:f.map(p=>e.object(p))}),remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1}}static buildOneCoin(e,n,r,s,i=!0){if(Ht.isSuiCoin(s)){if(r===0n&&n.length>1){let c=Ht.selectCoinObjectIdGreaterThanOrEqual(n,r);return{selected_coins:c.object_array,target_coin:e.object(c.object_array[0]),remain_coins:c.remain_coins,target_coin_amount:c.amount_array[0],is_mint_zero_coin:!1}}let o=Ht.selectCoinObjectIdGreaterThanOrEqual(n,r),a=e.splitCoins(e.gas,[e.pure.u64(r)]);return{selected_coins:[],target_coin:a,remain_coins:o.remain_coins,target_coin_amount:r.toString(),is_mint_zero_coin:!1,original_spited_coin:e.gas}}return this.buildSpitTargeCoin(e,r,n,i)}static buildSpitTargeCoin(e,n,r,s){let i=Ht.selectCoinObjectIdGreaterThanOrEqual(r,n),o=i.amount_array.reduce((b,_)=>Number(b)+Number(_),0).toString(),a=i.object_array,[c,...u]=a,d=e.object(c),f=d,p=i.amount_array.reduce((b,_)=>Number(b)+Number(_),0).toString(),m;return u.length>0&&e.mergeCoins(d,u.map(b=>e.object(b))),s&&Number(o)>Number(n)&&(f=e.splitCoins(d,[e.pure.u64(n)]),m=d),{original_spited_coin:m,target_coin:f,target_coin_amount:p,remain_coins:i.remain_coins,selected_coins:i.object_array,is_mint_zero_coin:!1}}static buildCoin(e,n,r,s,i,o=!0,a=!0){return o?this.buildVectorCoin(e,n,r,s,i,a):this.buildOneCoin(e,r,s,i,a)}static buildZeroValueCoin(e,n,r,s=!0){let i=this.callMintZeroValueCoin(n,r),o;return s?o=n.makeMoveVec({elements:[i]}):o=i,{target_coin:o,remain_coins:e,selected_coins:[],is_mint_zero_coin:!0,target_coin_amount:"0"}}static buildCoinForAmountInterval(e,n,r,s,i=!0,o=!0){let a=Ht.getCoinAssets(s,n);if(r.amount_first===BigInt(0))return a.length>0?this.buildCoin(e,[...n],[...a],r.amount_first,s,i,o):this.buildZeroValueCoin(n,e,s,i);let c=Ht.calculateTotalBalance(a);if(c>=r.amount_first)return this.buildCoin(e,[...n],[...a],r.amount_first,s,i,o);if(c<r.amount_second)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r.amount_second} `);return this.buildCoin(e,[...n],[...a],r.amount_second,s,i,o)}static{this.callMintZeroValueCoin=(e,n)=>e.moveCall({target:"0x2::coin::zero",typeArguments:[n]})}static fromBalance(e,n,r){return r.moveCall({target:"0x2::coin::from_balance",typeArguments:[n],arguments:[e]})}static intoBalance(e,n,r){return r.moveCall({target:"0x2::coin::into_balance",typeArguments:[n],arguments:[typeof e=="string"?r.object(e):e]})}static mintBalanceZero(e,n){return n.moveCall({target:"0x2::balance::zero",typeArguments:[e],arguments:[]})}static destroyBalanceZero(e,n,r){return r.moveCall({target:"0x2::balance::destroy_zero",typeArguments:[n],arguments:[e]})}static getCoinAmountObjId(e,n){let r=e.amount_coin_array.find(s=>!s.used&&Gl(s.amount).eq(n)?(s.used=!0,!0):!1);return r?r.coin_object_id:iv("CoinNotFound",`Coin not found for ${n} ${e.coin_type}`)}static buildMultiCoinInput(e,n,r,s){let i=Ht.getCoinAssets(r,n);if(Ht.isSuiCoin(r)){let f=e.splitCoins(e.gas,s.map(p=>e.pure.u64(p)));return{amount_coin_array:s.map((p,m)=>({coin_object_id:f[m],amount:p.toString(),used:!1})),coin_type:r,remain_coins:i}}let o=s.reduce((f,p)=>f+p,BigInt(0)),a=Ht.selectCoinObjectIdGreaterThanOrEqual(i,o);if(a.object_array.length===0)return iv("InsufficientBalance",`No enough coins for ${r} expect ${o} actual ${Ht.calculateTotalBalance(i)}`);let[c,...u]=a.object_array;u.length>0&&e.mergeCoins(c,[...u]);let d=e.splitCoins(c,s.map(f=>e.pure.u64(f)));return{amount_coin_array:s.map((f,p)=>({coin_object_id:d[p],amount:f.toString(),used:!1})),remain_coins:a.remain_coins,coin_type:r}}};function KC(t){return t.startsWith("0x")?`${t.slice(2)}`:t}function lv(t,...e){let n=Array.isArray(e[e.length-1])?e.pop():[],r=[t,...e].filter(Boolean).join("::");return n&&n.length&&(r+=`<${n.join(", ")}>`),r}function fi(t){try{let e=t.replace(/\s/g,""),n=e.match(/(<.+>)$/)?.[0]?.match(/(\w+::\w+::\w+)(?:<.*?>(?!>))?/g);if(n){e=e.slice(0,e.indexOf("<"));let i={...fi(e),type_arguments:n.map(o=>fi(o).source_address)};return i.type_arguments=i.type_arguments.map(o=>JC.isSuiCoin(o)?o:fi(o).source_address),i.source_address=lv(i.full_address,i.type_arguments),i}let r=e.split("::"),s={full_address:e,address:e===Cv||e===ZC?"0x2":bn(r[0]),module:r[1],name:r[2],type_arguments:[],source_address:""};return s.full_address=`${s.address}::${s.module}::${s.name}`,s.source_address=lv(s.full_address,s.type_arguments),s}catch{return{full_address:t,address:"",module:"",name:"",type_arguments:[],source_address:t}}}function dv(t){return fi(t).source_address}var pm=(t,e=!0)=>{let n=t.split("::"),r=n.shift(),s=bn(r);return e&&(s=KC(s)),`${s}::${n.join("::")}`};function YC(t){return`0x${Buffer.from(t).toString("hex")}`}function XC(t,e,n,r){let s;switch(r){case"address":s=A.Address.serialize(e).toBytes();break;case"u8":s=A.u8().serialize(e).toBytes();break;case"u16":s=A.u16().serialize(e).toBytes();break;case"u32":s=A.u32().serialize(e).toBytes();break;case"u64":s=A.u64().serialize(e).toBytes();break;case"u128":s=A.u128().serialize(e).toBytes();break;case"u256":s=A.u256().serialize(e).toBytes();break;case"string":s=A.string().serialize(e).toBytes();break;default:throw new Error(`Unsupported value type: ${r}`)}return rs(t,n,s)}var QC=Jo(`
862
862
  query coinMetadataId($coinType: String!) {
863
863
  objects(filter: { type: $coinType }, first: 1) {
864
864
  nodes {
@@ -866,7 +866,7 @@ Clients should implement reconnection logic to maintain continuous price updates
866
866
  }
867
867
  }
868
868
  }
869
- `),b3=Xo(`
869
+ `),e3=Jo(`
870
870
  query GetTx($digest: String!) {
871
871
  transaction(digest: $digest) {
872
872
  digest
@@ -919,7 +919,7 @@ Clients should implement reconnection logic to maintain continuous price updates
919
919
  transactionJson
920
920
  }
921
921
  }
922
- `),w3=Xo(`
922
+ `),t3=Jo(`
923
923
  query GetAllDynamicFields($id: SuiAddress!, $first: Int, $after: String) {
924
924
  address(address: $id) {
925
925
  dynamicFields(first: $first, after: $after) {
@@ -955,7 +955,7 @@ Clients should implement reconnection logic to maintain continuous price updates
955
955
  }
956
956
  }
957
957
  }
958
- `),v3=Xo(`
958
+ `),n3=Jo(`
959
959
  query QueryEvents($type: String!, $first: Int, $after: String) {
960
960
  events(first: $first, after: $after, filter: { type: $type }) {
961
961
  pageInfo {
@@ -963,6 +963,10 @@ Clients should implement reconnection logic to maintain continuous price updates
963
963
  endCursor
964
964
  }
965
965
  nodes {
966
+ timestamp
967
+ transaction {
968
+ digest
969
+ }
966
970
  transactionModule {
967
971
  package {
968
972
  address
@@ -981,12 +985,20 @@ Clients should implement reconnection logic to maintain continuous price updates
981
985
  }
982
986
  }
983
987
  }
984
- `),_3=Xo(`
985
- query QueryTransactions($filter: TransactionFilter, $first: Int, $after: String) {
986
- transactions(first: $first, after: $after, filter: $filter) {
988
+ `),fv=Jo(`
989
+ query QueryTransactions(
990
+ $filter: TransactionFilter
991
+ $first: Int
992
+ $after: String
993
+ $last: Int
994
+ $before: String
995
+ ) {
996
+ transactions(first: $first, after: $after, last: $last, before: $before, filter: $filter) {
987
997
  pageInfo {
988
998
  hasNextPage
989
999
  endCursor
1000
+ hasPreviousPage
1001
+ startCursor
990
1002
  }
991
1003
  nodes {
992
1004
  digest
@@ -1021,7 +1033,7 @@ Clients should implement reconnection logic to maintain continuous price updates
1021
1033
  }
1022
1034
  }
1023
1035
  }
1024
- `);var T3=["https://rpc-mainnet.suiscan.xyz:443","https://cetus-mainnet-endpoint.blockvision.org","https://cetus-suimain-e31f.mainnet.sui.rpcpool.com"];var iW=jl("mainnet"),oW=jl("testnet");var aW=A.struct("Table<ID, bool>",{id:A.Address,size:A.u64()}),k3=A.struct("TypeName",{name:A.string()}),cW=A.struct("OptionU64",{is_none:A.bool(),v:A.u64()}),E3=A.struct("UID",{id:A.Address}),uW=A.struct("TableSuiRaw",{id:E3,size:A.u64()});var S3=class{constructor(t,e,n,r){this._cache={},this._env="mainnet",this._client=t,this._env=n||"mainnet",this._graphQLClient=e,this._jsonRpcClient=r}async fetchCoinMetadata(t){let e=`coin_metadata_${t}`,n=this.getCache(e);if(n)return n;let r=await this._client.getCoinMetadata({coinType:t});return this.updateCache(e,r.coinMetadata),r.coinMetadata}async fetchCoinMetadataId(t){if(!this._graphQLClient)throw new Error("graphQLClient is not set");let e=`coin_metadata_id_${t}`,n=this.getCache(e);if(n)return n;let r=(await this._graphQLClient.query({query:y3,variables:{coinType:`0x2::coin::CoinMetadata<${t}>`}})).data?.objects?.nodes?.[0]?.address??null;return r&&this.updateCache(e,r),r}async getSuiTransactionResponse(t){try{return await this._client.getTransaction({digest:t,include:{effects:!0,events:!0,balanceChanges:!0,transaction:!0,objectTypes:!0}})}catch(e){throw console.log("getSuiTransactionResponse error",e),e}}async getTransactionByGraphQL(t){try{return await this._graphQLClient.query({query:b3,variables:{digest:t}})}catch(e){throw console.log("getTransactionByGraphQL error",e),e}}async queryEventsByGraphQL(t,e="all"){if(!this._graphQLClient)throw new Error("graphQLClient is not set");let n=e==="all",r=n?50:e.limit??50,s=[],i=n?null:e.cursor??null,o=!0;do{let a=(await this._graphQLClient.query({query:v3,variables:{type:t,first:r,...i?{after:i}:{}}})).data?.events,c=a?.nodes??[],u=a?.pageInfo;s=[...s,...c],o=u?.hasNextPage??!1,i=u?.endCursor??null}while(n&&o);return{data:s,next_cursor:i,has_next_page:o}}async queryTransactionBlocksByPage(t,e="all"){if(!this._graphQLClient)throw new Error("graphQLClient is not set");if(!(t.sentAddress!=null||t.affectedAddress!=null||t.affectedObject!=null||t.function!=null))throw new Error("At least one of sentAddress, affectedAddress, affectedObject, function is required");let n=e==="all",r=n?50:e.limit??50,s=[],i=n?null:e.cursor??null,o=!0,a={};t.sentAddress&&(a.sentAddress=Q(t.sentAddress)),t.affectedAddress&&(a.affectedAddress=Q(t.affectedAddress)),t.affectedObject&&(a.affectedObject=Q(t.affectedObject)),t.function&&(a.function=t.function);do{let c=(await this._graphQLClient.query({query:_3,variables:{filter:a,first:r,...i?{after:i}:{}}})).data?.transactions,u=c?.nodes??[],d=c?.pageInfo;s=[...s,...u],o=d?.hasNextPage??!1,i=d?.endCursor??null}while(n&&o);return{data:s,next_cursor:i,has_next_page:o}}async queryEventsByPage(t,e="all"){let n=[],r=!0,s=e==="all",i=s?null:e.cursor;do{let o=await this._jsonRpcClient.queryEvents({query:t,cursor:i,limit:s?null:e.limit});o.data?(n=[...n,...o.data],r=o.hasNextPage,i=o.nextCursor):r=!1}while(s&&r);return{data:n,next_cursor:i,has_next_page:r}}async getOwnedObjectsByPage(t,e,n="all"){let r=async s=>{let i=[],o=!0,a=n==="all",c=a?null:n.cursor;do{let u=await s.listOwnedObjects({owner:t,type:e,cursor:c??void 0,limit:a?1e3:n.limit??void 0,include:{content:!0,previousTransaction:!0,json:!0}});i=[...i,...u.objects],o=u.hasNextPage,c=u.cursor??null}while(a&&o);return{data:i,next_cursor:c,has_next_page:o}};try{return await r(this._client)}catch(s){let i=s,o=this._env==="testnet"?"testnet":"mainnet";for(let a of T3)try{let c=Em(new Ja({baseUrl:a,network:o}),this._graphQLClient,this._env);return await r(c._client)}catch(c){i=c;continue}throw i}}async getAllDynamicFields(t,e="all"){if(!this._graphQLClient)throw new Error("graphQLClient is not set");let n=e==="all",r=n?50:e.limit??50,s=[],i=n?null:e.cursor??null,o=!0;do{let a=(await this._graphQLClient.query({query:w3,variables:{id:Q(t),first:r,...i?{after:i}:{}}})).data?.address?.dynamicFields,c=a?.nodes??[],u=a?.pageInfo;s=[...s,...c],o=u?.hasNextPage??!1,i=u?.endCursor??null}while(n&&o);return{data:s,next_cursor:i,has_next_page:o}}async getDynamicFieldsByPage(t,e="all"){let n=[],r=!0,s=e==="all",i=s?null:e.cursor;do{let o=await this._client.listDynamicFields({parentId:t,cursor:i??void 0,limit:s?1e3:e.limit??void 0});n=[...n,...o.dynamicFields],r=o.hasNextPage,i=o.cursor??null}while(s&&r);return{data:n,next_cursor:i,has_next_page:r}}async getDynamicFieldObjects(t,e,n,r,s){let i=e.map(o=>g3(t,o,n,r));return i.length===0?[]:this.batchGetObjects(i,s)}async batchGetObjects(t,e,n=1e3){let r=[];try{for(let s=0;s<Math.ceil(t.length/n);s++){let i=t.slice(s*n,n*(s+1)),o=await this._client.getObjects({objectIds:i,include:e});r=[...r,...o.objects]}}catch(s){console.log(s)}return r}async calculationTxGas(t){let e=t.getData?.()?.sender??t.blockData?.sender;if(e==null)throw Error("sdk sender is empty");t.setSender(e);let n=await this._client.simulateTransaction({transaction:t,include:{effects:!0}}),r=n.Transaction??n.FailedTransaction;if(!r?.effects?.gasUsed)throw new Error("Simulation did not return effects");let{gasUsed:s}=r.effects;return Number(s.computationCost)+Number(s.storageCost)-Number(s.storageRebate)}async sendTransaction(t,e){try{return await this._client.signAndExecuteTransaction({transaction:e,signer:t,include:{effects:!0,events:!0}})}catch(n){console.log("error: ",n)}}async sendSimulationTransaction(t,e,n=!0){try{return t.setSender(e),await this._client.simulateTransaction({transaction:t,include:{events:!0,balanceChanges:!0,effects:!0,objectChanges:!0,commandResults:!0},checksEnabled:n})}catch(r){throw console.log("simulateTransaction error",r),r}}async executeTx(t,e,n){try{if(n){let r=typeof t=="string"?Q(t):Q(t.getPublicKey().toSuiAddress());return await this.sendSimulationTransaction(e,r)}else{if(typeof t=="string")throw new Error("Cannot send transaction with string address - keypair required for signing");return await this.sendTransaction(t,e)}}catch(r){return r}}async getOwnerCoinAssets(t,e){let n=[],r=null;if(e)for(;;){let s=await this._client.listCoins({owner:t,coinType:e,cursor:r??void 0});for(let i of s.objects)BigInt(i.balance)>0&&n.push({coin_type:go(i.type).type_arguments[0],coin_object_id:i.objectId,balance:BigInt(i.balance)});if(r=s.cursor??null,!s.hasNextPage)break}else{let s=null;do{let i=await this._client.listOwnedObjects({owner:t,cursor:s??void 0,include:{json:!0}});if(i.objects.forEach(o=>{let a=go(o.type);o.type.includes('"0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin')&&BigInt(o.balance)>0&&n.push({coin_type:Tm(a.type_arguments[0],!1),coin_object_id:o.json.id,balance:BigInt(o.json.balance)})}),s=i.cursor??null,!i.hasNextPage)break}while(!0)}return n}async getOwnerCoinBalances(t,e){if(e)return[(await this._client.getBalance({owner:t,coinType:e})).balance];let n=[],r=null;do{let s=await this._client.listBalances({owner:t,cursor:r??void 0});if(n.push(...s.balances),r=s.cursor??null,!s.hasNextPage)break}while(!0);return n}updateCache(t,e,n=864e5){let r=this._cache[t];r?(r.overdue_time=S_(n),r.value=e):r=new bC(e,S_(n)),this._cache[t]=r}getCache(t,e=!1){let n=this._cache[t],r=n?.isValid();if(!e&&r)return n.value;r||delete this._cache[t]}};function Em(t,e,n,r){let s=new S3(t,e,n,r);return new Proxy(s,{get(i,o,a){if(o in i)return Reflect.get(i,o,a);if(o in i._client){let c=Reflect.get(i._client,o);return typeof c=="function"?c.bind(i._client):c}throw new Error(`Property or method "${String(o)}" does not exist on FullClient or its client.`)}})}var x3=Uc(Pc(),1);var pW=new x3.default(1e6),O3=(t=>(t[t.BelowRange=0]="BelowRange",t[t.InRange=1]="InRange",t[t.AboveRange=2]="AboveRange",t))(O3||{}),ym=10n,I3={pyth_package_id:"0x04e20ddf36af412a4096f9014f4a565af9e812db9a05cc40254846cf6ed0ad91",pyth_published_at:"0x04e20ddf36af412a4096f9014f4a565af9e812db9a05cc40254846cf6ed0ad91",pyth_state_id:"0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",wormhole_state_id:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",hermes_service_urls:[]},A3={"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC":{coin_type:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",price_feed_id:"0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",coin_decimals:6},"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI":{coin_type:"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",price_feed_id:"0x23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",coin_decimals:9},"0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS":{coin_type:"0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS",price_feed_id:"0xe5b274b2611143df055d6e7cd8d93fe1961716bcd4dca1cad87a83bc1e78c1ef",coin_decimals:9},"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP":{coin_type:"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",price_feed_id:"0x29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff",coin_decimals:6},"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX":{coin_type:"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX",price_feed_id:"0x88250f854c019ef4f88a5c073d52a18bb1c6ac437033f5932cd017d24917ab46",coin_decimals:9},"0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN":{coin_type:"0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN",price_feed_id:"0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43",coin_decimals:9},"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI":{coin_type:"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI",price_feed_id:"0x6120ffcf96395c70aa77e72dcb900bf9d40dccab228efca59a17b90ce423d5e8",coin_decimals:9},"0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH":{coin_type:"0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH",price_feed_id:"0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace",coin_decimals:8},"0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL":{coin_type:"0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL",price_feed_id:"0xeba0732395fae9dec4bae12e52760b35fc1c5671e2da8b449c9af4efe5d54341",coin_decimals:9},"0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040::lbtc::LBTC":{coin_type:"0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040::lbtc::LBTC",price_feed_id:"0x8f257aab6e7698bb92b15511915e593d6f8eae914452f781874754b03d0c612b",coin_decimals:8},"0x3a304c7feba2d819ea57c3542d68439ca2c386ba02159c740f7b406e592c62ea::haedal::HAEDAL":{coin_type:"0x3a304c7feba2d819ea57c3542d68439ca2c386ba02159c740f7b406e592c62ea::haedal::HAEDAL",price_feed_id:"0xe67d98cc1fbd94f569d5ba6c3c3c759eb3ffc5d2b28e64538a53ae13efad8fd1",coin_decimals:9}};function C3(t,e){if(!ym)throw new Error("oraclePriceMultiplierDecimal is required");if(t===0n)throw new Error("Invalid oracle price");if(e<0n){let n=10n**(ym- -e);return t*n}return t/10n**(e+ym)}var N_=16*1024,z_=class{constructor(t,e=I3){this.hasChangeConnection=!1,this.pythConfigs=e,this.fullClient=t;let n=[...e.hermes_service_urls];n.includes("https://hermes.pyth.network")||n.push("https://hermes.pyth.network"),this.hermesClients=n.map(r=>new Zl(r,{timeout:3e3}))}async getFeedInfoList(t){let e=t.map(n=>this.getFeedInfo(n,!1));return await Promise.all(e)}priceCheck(t,e=60){let n=Math.floor(Date.now()/1e3);if(!(Math.abs(n-t.last_update_time)>e))return t}async getPackageId(t){let e=(await this.fullClient.getObject({objectId:t,include:{json:!0}}))?.object?.json;if(e?.upgrade_cap?.package)return e.upgrade_cap.package;throw new Error("upgrade_cap not found")}async getWormholePackageId(){let{wormhole_state_id:t}=this.pythConfigs,e=`getWormholePackageId_${t}`,n=this.fullClient.getCache(e);if(n)return n;let r=await this.getPackageId(this.pythConfigs.wormhole_state_id);return this.fullClient.updateCache(e,r),r}async getLatestPrice(t,e=!1){let n={},r=[];if(e?t.forEach(i=>{let o=this.fullClient.getCache(`getLatestPrice_${i}`);o&&this.priceCheck(o,60)?n[i]=o:r.push(i)}):r=[...t],r.length===0)return n;let s=await this.getFeedInfoList(r);return(await this.getLatestPriceFeeds(s.map(i=>i.price_feed_id)))?.parsed?.forEach((i,o)=>{if(i){let{price:a,expo:c,publish_time:u}=i.price,d=Yl(a).mul(Yl(10).pow(Yl(c))).toString(),f=s[o],p={coin_type:f.coin_type,price:d,coin_decimals:f.coin_decimals,oracle_price:0n,last_update_time:u};p.oracle_price=C3(BigInt(a),BigInt(c)),n[r[o]]=p,this.fullClient.updateCache(`getLatestPrice_${p.coin_type}`,p)}}),n}async getPriceFeedsUpdateData(t){let e=null;for(let n of this.hermesClients)try{return(await n.getLatestPriceUpdates(t,{encoding:"hex"})).binary.data.map(r=>Buffer.from(r,"hex"))}catch(r){console.log("\u{1F680} ~ PythPriceModule ~ getPriceFeedsUpdateData ~ e:",r),e=r;continue}throw new Error(`All Pyth Hermes endpoints are unavailable. getPriceFeedsUpdateData Detailed error: ${e?.message}`)}async getLatestPriceFeeds(t){let e=null;for(let n of this.hermesClients)try{return await n.getLatestPriceUpdates(t,{parsed:!0})}catch(r){console.log("\u{1F680} ~ PythPriceModule ~ getLatestPriceFeeds ~ error:",r),e=r;continue}throw new Error(`All Pyth Hermes endpoints are unavailable. getLatestPriceFeeds Detailed error: ${e?.message}`)}extractVaaBytesFromAccumulatorMessage(t){let e=7+t.readUint8(6)+1,n=t.readUint16BE(e),r=e+2;return t.subarray(r,r+n)}async verifyVaas(t,e){let n=await this.getWormholePackageId(),r=[];for(let s of t){let[i]=e.moveCall({target:`${n}::vaa::parse_and_verify`,arguments:[e.object(this.pythConfigs.wormhole_state_id),e.pure(A.vector(A.u8()).serialize(Array.from(s),{maxSize:N_}).toBytes()),e.object(he)]});r.push(i)}return r}async getPriceTableInfo(){if(this.priceTableInfo===void 0){let t=null,e=!0;for(;e;){let n=await this.fullClient.listDynamicFields({parentId:this.pythConfigs.pyth_state_id,cursor:t});for(let r of n.dynamicFields)if(r.name.type==="vector<u8>"){let s=r.$kind==="DynamicObject"&&r.childId?r.childId:r.fieldId,i=await this.fullClient.getObject({objectId:s,include:{json:!0}}),o=i.object.type;if(o.includes("table::Table")){let a=o.replace(/.*table::Table</,"").replace(/>$/,"").split(",")[0].trim();return this.priceTableInfo={id:i.object.objectId,fieldType:a},this.priceTableInfo}}e=n.hasNextPage,t=n.cursor}}if(this.priceTableInfo===void 0)throw new Error(" getPriceTableInfo Price table not found");return this.priceTableInfo}async getPriceFeedObjectId(t){let e=t.replace("0x",""),n=`getPriceFeedObjectId_${e}`,r=this.fullClient.getCache(n);if(r)return r;let{id:s,fieldType:i}=await this.getPriceTableInfo(),o=A.struct("PriceIdentifier",{bytes:A.vector(A.u8())}).serialize({bytes:Array.from(Buffer.from(e,"hex"))}).toBytes(),a=(await this.fullClient.getDynamicField({parentId:s,name:{type:i,bcs:o}})).dynamicField.value.bcs,c=a instanceof Uint8Array?a:new Uint8Array(Object.values(a)),u="0x"+Array.from(c).map(d=>d.toString(16).padStart(2,"0")).join("");return this.fullClient.updateCache(n,u),u}async verifyVaasAndGetHotPotato(t,e,n){if(e.length>1)throw new Error("SDK does not support sending multiple accumulator messages in a single transaction");let r=this.extractVaaBytesFromAccumulatorMessage(e[0]),s=await this.verifyVaas([r],t),[i]=t.moveCall({target:`${n}::pyth::create_authenticated_price_infos_using_accumulator`,arguments:[t.object(this.pythConfigs.pyth_state_id),t.pure(A.vector(A.u8()).serialize(Array.from(e[0]),{maxSize:N_}).toBytes()),s[0],t.object(he)]});return i}async buildUpdatePythPricePayload(t,e,n){let{pyth_state_id:r,pyth_published_at:s,pyth_package_id:i}=this.pythConfigs,o=(await this.getFeedInfoList(t)).map(d=>d.price_feed_id);if(t.length!==o.length)throw Error("find feed id fail");let a=await this.getPriceFeedsUpdateData(o);if(!a)throw new Error("get price update data fail");if(a.length>1)throw new Error("SDK does not support sending multiple accumulator messages in a single transaction");let c=await this.verifyVaasAndGetHotPotato(e,a,s),u=0;for(let d of o){let f=await this.getPriceFeedObjectId(d);if(!f)throw new Error(`Price feed ${d} not found, please create it first`);c=n({tx:e,coinType:t[u],priceUpdatesHotPotato:c,priceInfoObjectId:f}),u+=1}return e.moveCall({target:`${s}::hot_potato_vector::destroy`,arguments:[c],typeArguments:[`${i}::price_info::PriceInfo`]}),e}async getBaseUpdateFee(){if(this.baseUpdateFee===void 0){let t=(await this.fullClient.getObject({objectId:this.pythConfigs.pyth_state_id,include:{json:!0}}))?.object?.json;if(!t)throw new Error("Unable to fetch pyth state object");this.baseUpdateFee=Number(t.base_update_fee)}return this.baseUpdateFee}async updatePriceFeeds(t,e,n){let r=this.pythConfigs.pyth_package_id,s=await this.verifyVaasAndGetHotPotato(t,e,r),i=await this.getBaseUpdateFee(),o=t.splitCoins(t.gas,n.map(()=>t.pure.u64(i))),a=[],c=0;for(let u of n){let d=await this.getPriceFeedObjectId(u);if(!d)throw new Error(`Price feed ${u} not found, please create it first`);a.push(d),[s]=t.moveCall({target:`${r}::pyth::update_single_price_feed`,arguments:[t.object(this.pythConfigs.pyth_state_id),s,t.object(d),o[c],t.object(he)]}),c++}return t.moveCall({target:`${r}::hot_potato_vector::destroy`,arguments:[s],typeArguments:[`${r}::price_info::PriceInfo`]}),a}async buildUpdatePythPricePayloadV2(t,e,n){if(t.length===0)return e;let r=(await this.getFeedInfoList(t)).map(a=>a.price_feed_id);if(t.length!==r.length)throw Error("find feed id fail");let s=await this.getPriceFeedsUpdateData(r);if(!s)throw new Error("get price update data fail");if(s.length>1)throw new Error("SDK does not support sending multiple accumulator messages in a single transaction");let i=await this.updatePriceFeeds(e,s,r),o=0;for(let a of i)n({tx:e,coinType:t[o],priceUpdatesHotPotato:{},priceInfoObjectId:a}),o+=1;return e}getFeedInfoByJson(t){let e=Tm(t,!1);return A3[e]}async getFeedInfo(t,e){let n=`getFeedInfo_${t}`,r=this.fullClient.getCache(n,e);if(r)return r;let s=this.getFeedInfoByJson(t);if(s)return s;if(!this.pythConfigs.feed_info_handle)throw new Error("feed_info_handle is not set");let i=await this.fullClient.getDynamicField({parentId:this.pythConfigs.feed_info_handle,name:{type:"0x1::type_name::TypeName",bcs:k3.serialize({name:Tm(t,!0)}).toBytes()}}),o=A.struct("OracleInfo",{price_feed_id:A.vector(A.U8),price_info_object_id:A.Address,last_update_time:A.u64(),coin_decimals:A.u8()}).parse(i.dynamicField.value.bcs),a={coin_type:t,price_feed_id:m3(o.price_feed_id),coin_decimals:o.coin_decimals};return console.log("\u{1F680} ~ PythPriceModule ~ getFeedInfo ~ info:",a),this.fullClient.updateCache(n,a),a}},ma=Uc(Pc(),1),mW=new ma.default(0),W_=new ma.default(1),Sm=new ma.default(2),gW=Sm.pow(new ma.default(128)),yW=Sm.pow(new ma.default(64)).sub(W_),bW=Sm.pow(new ma.default(128)).sub(W_);td.config({precision:64,rounding:td.ROUND_DOWN,toExpNeg:-64,toExpPos:64});var wW=Uc(Pc(),1),vW=Uc(Pc(),1);var _W=Uc(Pc(),1);import{DeepBookClient as H3}from"@mysten/deepbook-v3";import{Base64 as z3}from"js-base64";var N3={REQUEST_PARAMS:"requestParams",METHOD_NAME:"methodName"},xm=class extends Error{constructor(n,r,s){super(n);this.code=r;this.details=s;this.name=this.constructor.name}toJSON(){return{name:this.name,message:this.message,code:this.code,details:this.details}}toString(){return JSON.stringify(this.toJSON())}static isErrorCode(n,r){return n instanceof xm&&n.code===r}},Vc=xm;An(Vc,"DETAILS_KEYS",N3);var Om=class extends Vc{constructor(e,n,r){super(e,n||"UnknownError",r)}static isCommonErrorCode(e,n){return this.isErrorCode(e,n)}};var Im=(t,e,n)=>{throw new Om(e,t,n)};var R3=/^[-+]?[0-9A-Fa-f]+\.?[0-9A-Fa-f]*?$/;function Z_(t){return t.startsWith("0x")?t:`0x${t}`}function Am(t){return t.startsWith("0x")?`${t.slice(2)}`:t}function B3(t,e=4,n=4){let r=Math.max(e,1),s=Math.max(n,1);return`${t.slice(0,r+2)} ... ${t.slice(-s)}`}function RW(t,e=4,n=4){return B3(Z_(t),e,n)}function BW(t,e={leadingZero:!0}){if(typeof t!="string")return!1;let n=t;if(e.leadingZero){if(!t.startsWith("0x"))return!1;n=n.substring(2)}return R3.test(n)}function M3(t){if(!Buffer.isBuffer(t))if(Array.isArray(t))t=Buffer.from(t);else if(typeof t=="string")exports.isHexString(t)?t=Buffer.from(exports.padToEven(exports.stripHexPrefix(t)),"hex"):t=Buffer.from(t);else if(typeof t=="number")t=exports.intToBuffer(t);else if(t==null)t=Buffer.allocUnsafe(0);else if(t.toArray)t=Buffer.from(t.toArray());else throw new Error("invalid type");return t}function MW(t){return Z_(M3(t).toString("hex"))}function jW(t){let e=new ArrayBuffer(4),n=new DataView(e);for(let s=0;s<t.length;s++)n.setUint8(s,t.charCodeAt(s));return n.getUint32(0,!0)}function j3(t){let e,n,r,s,i;e="";let o=t.length;for(n=0;n<o;)switch(r=t.charCodeAt(n++),r>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:e+=t.charAt(n-1);break;case 12:case 13:s=t.charCodeAt(n++),e+=String.fromCharCode((r&31)<<6|s&63);break;case 14:s=t.charCodeAt(n++),i=t.charCodeAt(n++),e+=String.fromCharCode((r&15)<<12|(s&63)<<6|(i&63)<<0);break}return e}function DW(t){let e="",n=Am(t),r=n.length/2;for(let s=0;s<r;s++)e+=String.fromCharCode(Number.parseInt(n.substr(s*2,2),16));return j3(e)}var D3=0,Y_=1,U3=2;function J_(t,e){return t===e?D3:t<e?Y_:U3}function P3(t,e){let n=0,r=t.length<=e.length?t.length:e.length,s=J_(t.length,e.length);for(;n<r;){let i=J_(t.charCodeAt(n),e.charCodeAt(n));if(n+=1,i!==0)return i}return s}function FW(t,e){return P3(t,e)===Y_}function K_(t,...e){let n=Array.isArray(e[e.length-1])?e.pop():[],s=[t,...e].filter(Boolean).join("::");return n&&n.length&&(s+=`<${n.join(", ")}>`),s}function qW(t){return t.split("::")[0]}function gi(t){try{let e=t.replace(/\s/g,""),r=e.match(/(<.+>)$/)?.[0]?.match(/(\w+::\w+::\w+)(?:<.*?>(?!>))?/g);if(r){e=e.slice(0,e.indexOf("<"));let c={...gi(e),type_arguments:r.map(u=>gi(u).source_address)};return c.type_arguments=c.type_arguments.map(u=>Wt.isSuiCoin(u)?u:gi(u).source_address),c.source_address=K_(c.full_address,c.type_arguments),c}let s=e.split("::"),o={full_address:e,address:e===Rm||e===X_?"0x2":$t(s[0]),module:s[1],name:s[2],type_arguments:[],source_address:""};return o.full_address=`${o.address}::${o.module}::${o.name}`,o.source_address=K_(o.full_address,o.type_arguments),o}catch{return{full_address:t,address:"",module:"",name:"",type_arguments:[],source_address:t}}}function Cm(t){return gi(t).source_address}function L3(t){return t.toLowerCase().startsWith("0x")?$t(t):t}var $W=(t,e=!0)=>{let n=t.split("::"),r=n.shift(),s=$t(r);return e&&(s=Am(s)),`${s}::${n.join("::")}`};function Nm(t){for(let e in t){let n=typeof t[e];if(n==="object")Nm(t[e]);else if(n==="string"){let r=t[e];t[e]=L3(r)}}}var GW=ye(Qn);import id from"decimal.js";function M(t){return id.isDecimal(t)?t:new id(t===void 0?0:t)}function Bm(t){return M(10).pow(M(t).abs())}var yo=(t,e)=>{try{return M(t).toDP(e,id.ROUND_DOWN).toString()}catch{return t}},Mm=(t,e)=>id.max(M(t),M(e));var QW=1e3,eZ=500,tZ=100,nZ=100,rZ=1e3,Rm="0x2::sui::SUI",X_="0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",sZ="SUI",iZ=450,oZ="0x0000000000000000000000000000000000000005",at=class{static totalBalance(e,n){let r=BigInt(0);return e.forEach(s=>{n===s.coin_type&&(r+=BigInt(s.balance))}),r}static getCoinAssets(e,n){let r=[];return n.forEach(s=>{Cm(s.coin_type)===Cm(e)&&r.push(s)}),r}static isSuiCoin(e){return gi(e).full_address===Rm}static selectCoinObjectIdGreaterThanOrEqual(e,n,r=[]){let s=at.selectCoinAssetGreaterThanOrEqual(e,n,r),i=s.selected_coins.map(c=>c.coin_object_id),o=s.remain_coins,a=s.selected_coins.map(c=>c.balance.toString());return{object_array:i,remain_coins:o,amount_array:a}}static selectCoinAssetGreaterThanOrEqual(e,n,r=[]){let s=at.sortByBalance(e.filter(u=>!r.includes(u.coin_object_id))),i=at.calculateTotalBalance(s);if(i<n)return{selected_coins:[],remain_coins:s};if(i===n)return{selected_coins:s,remain_coins:[]};let o=BigInt(0),a=[],c=[...s];for(;o<i;){let u=n-o,d=c.findIndex(p=>p.balance>=u);if(d!==-1){a.push(c[d]),c.splice(d,1);break}let f=c.pop();f.balance>0&&(a.push(f),o+=f.balance)}return{selected_coins:at.sortByBalance(a),remain_coins:at.sortByBalance(c)}}static sortByBalance(e){return e.sort((n,r)=>n.balance<r.balance?-1:n.balance>r.balance?1:0)}static sortByBalanceDes(e){return e.sort((n,r)=>n.balance>r.balance?-1:n.balance<r.balance?0:1)}static calculateTotalBalance(e){return e.reduce((n,r)=>n+r.balance,BigInt(0))}static buildCoinForAmount(e,n,r,s,i=!0,o=!0){let a=at.getCoinAssets(s,n);if(r===BigInt(0))return this.buildZeroValueCoin(n,e,s,i);let c=at.calculateTotalBalance(a);if(c<r)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r} `);return this.buildCoin(e,n,a,r,s,i,o)}static buildCoinWithBalance(e,n,r){return e===BigInt(0)&&at.isSuiCoin(n)?r.add(or({balance:e,useGasCoin:!1})):r.add(or({balance:e,type:n}))}static buildVectorCoin(e,n,r,s,i,o=!0){if(at.isSuiCoin(i)){let p=e.splitCoins(e.gas,[e.pure.u64(s)]);return{selected_coins:[],target_coin:p,remain_coins:n,target_coin_amount:s.toString(),is_mint_zero_coin:!1,original_spited_coin:e.gas}}let{original_spited_coin:a,target_coin:c,target_coin_amount:u,remain_coins:d,selected_coins:f}=this.buildSpitTargeCoin(e,s,r,o);return o?{target_coin:e.makeMoveVec({elements:[c]}),selected_coins:f,remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1,original_spited_coin:a}:{selected_coins:f,target_coin:e.makeMoveVec({elements:f.map(p=>e.object(p))}),remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1}}static buildOneCoin(e,n,r,s,i=!0){if(at.isSuiCoin(s)){if(r===0n&&n.length>1){let c=at.selectCoinObjectIdGreaterThanOrEqual(n,r);return{selected_coins:c.object_array,target_coin:e.object(c.object_array[0]),remain_coins:c.remain_coins,target_coin_amount:c.amount_array[0],is_mint_zero_coin:!1}}let o=at.selectCoinObjectIdGreaterThanOrEqual(n,r),a=e.splitCoins(e.gas,[e.pure.u64(r)]);return{selected_coins:[],target_coin:a,remain_coins:o.remain_coins,target_coin_amount:r.toString(),is_mint_zero_coin:!1,original_spited_coin:e.gas}}return this.buildSpitTargeCoin(e,r,n,i)}static buildSpitTargeCoin(e,n,r,s){let i=at.selectCoinObjectIdGreaterThanOrEqual(r,n),o=i.amount_array.reduce((b,v)=>Number(b)+Number(v),0).toString(),a=i.object_array,[c,...u]=a,d=e.object(c),f=d,p=i.amount_array.reduce((b,v)=>Number(b)+Number(v),0).toString(),m;return u.length>0&&e.mergeCoins(d,u.map(b=>e.object(b))),s&&Number(o)>Number(n)&&(f=e.splitCoins(d,[e.pure.u64(n)]),m=d),{original_spited_coin:m,target_coin:f,target_coin_amount:p,remain_coins:i.remain_coins,selected_coins:i.object_array,is_mint_zero_coin:!1}}static buildCoin(e,n,r,s,i,o=!0,a=!0){return o?this.buildVectorCoin(e,n,r,s,i,a):this.buildOneCoin(e,r,s,i,a)}static buildZeroValueCoin(e,n,r,s=!0){let i=this.callMintZeroValueCoin(n,r),o;return s?o=n.makeMoveVec({elements:[i]}):o=i,{target_coin:o,remain_coins:e,selected_coins:[],is_mint_zero_coin:!0,target_coin_amount:"0"}}static buildCoinForAmountInterval(e,n,r,s,i=!0,o=!0){let a=at.getCoinAssets(s,n);if(r.amount_first===BigInt(0))return a.length>0?this.buildCoin(e,[...n],[...a],r.amount_first,s,i,o):this.buildZeroValueCoin(n,e,s,i);let c=at.calculateTotalBalance(a);if(c>=r.amount_first)return this.buildCoin(e,[...n],[...a],r.amount_first,s,i,o);if(c<r.amount_second)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r.amount_second} `);return this.buildCoin(e,[...n],[...a],r.amount_second,s,i,o)}static fromBalance(e,n,r){return r.moveCall({target:"0x2::coin::from_balance",typeArguments:[n],arguments:[e]})}static intoBalance(e,n,r){return r.moveCall({target:"0x2::coin::into_balance",typeArguments:[n],arguments:[typeof e=="string"?r.object(e):e]})}static mintBalanceZero(e,n){return n.moveCall({target:"0x2::balance::zero",typeArguments:[e],arguments:[]})}static destroyBalanceZero(e,n,r){return r.moveCall({target:"0x2::balance::destroy_zero",typeArguments:[n],arguments:[e]})}static getCoinAmountObjId(e,n){let r=e.amount_coin_array.find(s=>!s.used&&M(s.amount).eq(n)?(s.used=!0,!0):!1);return r?r.coin_object_id:Im("CoinNotFound",`Coin not found for ${n} ${e.coin_type}`)}static buildMultiCoinInput(e,n,r,s){let i=at.getCoinAssets(r,n);if(at.isSuiCoin(r)){let p=e.splitCoins(e.gas,s.map(b=>e.pure.u64(b)));return{amount_coin_array:s.map((b,v)=>({coin_object_id:p[v],amount:b.toString(),used:!1})),coin_type:r,remain_coins:i}}let o=s.reduce((p,m)=>p+m,BigInt(0)),a=at.selectCoinObjectIdGreaterThanOrEqual(i,o);if(a.object_array.length===0)return Im("InsufficientBalance",`No enough coins for ${r} expect ${o} actual ${at.calculateTotalBalance(i)}`);let[c,...u]=a.object_array;u.length>0&&e.mergeCoins(c,[...u]);let d=e.splitCoins(c,s.map(p=>e.pure.u64(p)));return{amount_coin_array:s.map((p,m)=>({coin_object_id:d[m],amount:p.toString(),used:!1})),remain_coins:a.remain_coins,coin_type:r}}},Wt=at;An(Wt,"callMintZeroValueCoin",(e,n)=>e.moveCall({target:"0x2::coin::zero",typeArguments:[n]}));var Q_=6e4,eT=3e5,ga=864e5;function jm(t){return Date.parse(new Date().toString())+t}var od=class{overdueTime;value;constructor(e,n=0){this.overdueTime=n,this.value=e}isValid(){return this.value===null?!1:this.overdueTime===0?!0:!(Date.parse(new Date().toString())>this.overdueTime)}};function yi(t,e){let n=Bm(M(e));return Number(M(t).mul(n))}function hZ(t,e=32){return BigInt.asUintN(e,BigInt(t)).toString()}function mZ(t,e=32){return Number(BigInt.asIntN(e,BigInt(t)))}function bo(t,e){let n=Bm(M(e));return Number(M(t).div(n))}function gZ(t,e="hex"){if(t instanceof Uint8Array){let r=Buffer.from(t);return hl.fromSecretKey(new Uint8Array(r))}let n=e==="hex"?hn(t):ce(t);return hl.fromSecretKey(n)}function yZ(t,e="hex"){if(t instanceof Uint8Array){let r=Buffer.from(t);return xl.fromSecretKey(new Uint8Array(r))}let n=e==="hex"?hn(t):ce(t);return xl.fromSecretKey(n)}var tT=async t=>new Promise(e=>{setTimeout(()=>{e(1)},t)});async function nT(t,e=!0){t.getData().commands.forEach((n,r)=>{e&&console.log(`transaction ${r}: `,n)})}var rT={coinType:"0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP",decimals:6},sT={coinType:"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",decimals:6};function iT(...t){console.log("DeepbookV3_Utils_Sdk###",...t)}function oT(t){return t.data}function V3(t){if(t.error&&"object_id"in t.error&&"version"in t.error&&"digest"in t.error){let{error:e}=t;return{objectId:e.object_id,version:e.version,digest:e.digest}}}function F3(t){if(t.error&&"object_id"in t.error&&!("version"in t.error)&&!("digest"in t.error))return t.error.object_id}function q3(t){if("reference"in t)return t.reference;let e=oT(t);return e?{objectId:e.objectId,version:e.version,digest:e.digest}:V3(t)}function aT(t){return"objectId"in t?t.objectId:q3(t)?.objectId??F3(t)}function _Z(t){return t.data!==void 0}function $3(t){return t.content!==void 0}function G3(t){let e="data"in t?oT(t):t;if(!(!e||!$3(e)||e.content.dataType!=="moveObject"))return e.content}function cT(t){let e=G3(t)?.fields;if(e)return"fields"in e?e.fields:e}var uT=A.struct("GetCetusBalanceManagerList",{owner:A.Address,cetus_balance_managers:A.vector(A.Address),deepbook_balance_managers:A.vector(A.Address)}),lT=A.struct("Account",{epoch:A.u64(),open_orders:A.vector(A.u128()),taker_volume:A.u128(),maker_volume:A.u128(),active_stake:A.u64(),inactive_stake:A.u64(),created_proposal:A.bool(),voted_proposal:A.option(A.Address),unclaimed_rebates:A.struct("Balances",{base:A.u64(),quote:A.u64(),deep:A.u64()}),settled_balances:A.struct("Balances",{base:A.u64(),quote:A.u64(),deep:A.u64()}),owed_balances:A.struct("Balances",{base:A.u64(),quote:A.u64(),deep:A.u64()})});var Dm=1e6,Cr=1e9,W3={coinType:"0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP",decimals:6},Z3={coinType:"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",decimals:6},ad=class{_sdk;_deep;_cache={};constructor(e){this._sdk=e,this._deep=e.sdkOptions.network==="mainnet"?Z3:W3}get sdk(){return this._sdk}get deepCoin(){return this._deep}createAndShareBalanceManager(){let e=new Y,n=e.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::new`});return e.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::cetus_balance_manager::check_and_add_deepbook_balance_manager_indexer`,arguments:[e.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),n],typeArguments:[]}),e.moveCall({target:"0x2::transfer::public_share_object",arguments:[n],typeArguments:[`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::BalanceManager`]}),e}createAndDepsit({account:e,coin:n,amountToDeposit:r}){let s=new Y;s.setSenderIfNotSet(e);let i=s.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::new`}),o=or({type:n.coinType,balance:BigInt(r)});return s.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::deposit`,arguments:[i,o],typeArguments:[n.coinType]}),s.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::cetus_balance_manager::check_and_add_deepbook_balance_manager_indexer`,arguments:[s.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),i],typeArguments:[]}),s.moveCall({target:"0x2::transfer::public_share_object",arguments:[i],typeArguments:[`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::BalanceManager`]}),s}depositIntoManager({account:e,balanceManager:n,coin:r,amountToDeposit:s,tx:i}){let o=i||new Y;if(n){o.setSenderIfNotSet(e);let a=or({type:r.coinType,balance:BigInt(s)});return o.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::deposit`,arguments:[o.object(n),a],typeArguments:[r.coinType]}),o}return null}async withdrawFromManager({account:e,balanceManager:n,coin:r,amountToWithdraw:s,returnAssets:i,txb:o}){let a=o||new Y,c=a.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::withdraw`,arguments:[a.object(n),a.pure.u64(s)],typeArguments:[r.coinType]});if(i)return c;if(Wt.isSuiCoin(r.coinType))a.transferObjects([c],e);else{let u=await this._sdk.fullClient.getOwnerCoinAssets(e,r.coinType),d=Wt.buildCoinForAmount(a,u,BigInt(0),r.coinType,!1);d.target_coin?(a.mergeCoins(d.target_coin,[c]),d.is_mint_zero_coin&&a.transferObjects([d.target_coin],e)):a.transferObjects([c],e)}return a}withdrawManagersFreeBalance({account:e,balanceManagers:n,tx:r=new Y}){for(let s in n)n[s].forEach(o=>{let a=r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::withdraw`,arguments:[r.object(s),r.pure.u64(o.amount)],typeArguments:[o.coinType]});r.transferObjects([a],e)});return r}async getBalanceManager(e,n=!0){let r=`getBalanceManager_${e}`,s=this.getCache(r,n);if(!n&&s!==void 0)return s;try{let i=new Y;i.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.package_id}::cetus_balance_manager::get_balance_managers_by_owner`,arguments:[i.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),i.pure.address(e)],typeArguments:[]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,e),c=(o?.Transaction??o?.FailedTransaction)?.events?.find(T=>T.eventType===`${this._sdk.sdkOptions.deepbook_utils.package_id}::cetus_balance_manager::GetCetusBalanceManagerList`);if(c?.bcs==null)throw new Error("GetCetusBalanceManagerList event not found or missing BCS payload (check simulation / RPC transport)");let d=uT.parse(new Uint8Array(c.bcs))?.deepbook_balance_managers||[],f=await this._sdk.fullClient.batchGetObjects(d,{json:!0}),p={};for(let T=0;T<f.length;T++){let O=f[T],B=O?.data?.objectId??O?.objectId,C=O?.json??O?.data?.content?.fields,U=C?.allow_listed?.fields?.contents??C?.allow_listed?.contents??C?.balance_manager?.allow_listed?.contents;B&&Array.isArray(U)&&U.length>0&&(p[B]=U)}let m=await this.batchGetObjectsByIdMap(p),b=Q(e),v=[];return d.forEach(T=>{let O=m[T]??[],B=O.filter(U=>{let L=this.getSuiObjectOwnerAddress(U);return L!==void 0&&Q(L)===b});O.length===0||B.length===O.length?v.push({balanceManager:T,cetusBalanceManager:"",capOk:!0}):v.push({balanceManager:T,cetusBalanceManager:"",capOk:!1})}),this.updateCache(r,v,864e5),v||[]}catch(i){throw i instanceof Error?i:new Error(String(i))}}async batchGetObjectsByIdMap(e){let n=Object.entries(e).filter(([,o])=>Array.isArray(o)&&o.length>0);if(n.length===0)return{};let r=[...new Set(n.flatMap(([,o])=>o))],s=await this._sdk.fullClient.batchGetObjects(r,{json:!0}),i=new Map;return s.forEach(o=>{let a=o?.data?.objectId??o?.objectId;a&&i.set(a,o)}),Object.fromEntries(n.map(([o,a])=>[o,a.map(c=>i.get(c)).filter(Boolean)]))}getSuiObjectOwnerAddress(e){let r=e?.owner;if(r&&typeof r=="object"){if(r.$kind==="AddressOwner"&&typeof r.AddressOwner=="string")return r.AddressOwner;if(r.$kind==="ObjectOwner"&&typeof r.ObjectOwner=="string")return r.ObjectOwner;if(typeof r.AddressOwner=="string")return r.AddressOwner;if(typeof r.ObjectOwner=="string")return r.ObjectOwner}let s=e.data?.owner;if(!(!s||typeof s!="object")){if(typeof s.AddressOwner=="string")return s.AddressOwner;if(typeof s.ObjectOwner=="string")return s.ObjectOwner}}withdrawSettledAmounts({poolInfo:e,balanceManager:n},r=new Y){let s=r.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::generate_proof_as_owner`,arguments:[r.object(n)]});return r.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::pool::withdraw_settled_amounts`,arguments:[r.object(e.address),r.object(n),s],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]}),r}async getManagerBalance({account:e,balanceManager:n,coins:r}){try{let s=new Y;r.forEach(a=>{s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::balance`,arguments:[s.object(n)],typeArguments:[a.coinType]})});let i=await this.sdk.fullClient.sendSimulationTransaction(s,e),o={};return i?.commandResults?.forEach((a,c)=>{let u=r[c],d=a.returnValues[0]?.bcs,f=A.U64.parse(new Uint8Array(d)),p=M(f),m=p.eq(0)?"0":p.div(Math.pow(10,u.decimals)).toString();o[u.coinType]={adjusted_balance:m,balance:p.toString()}}),o}catch(s){throw s instanceof Error?s:new Error(String(s))}}async getAccountAllManagerBalance({account:e,coins:n}){try{let r=new Y,s=await this.getBalanceManager(e,!0);if(!Array.isArray(s)||s.length===0)return{};s.forEach(a=>{n.forEach(c=>{r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::balance`,arguments:[r.object(a.balanceManager)],typeArguments:[c.coinType]})})});let i=await this.sdk.fullClient.sendSimulationTransaction(r,e),o={};return s.forEach((a,c)=>{let u={},d=c*n.length;n.forEach((f,p)=>{let m=d+p,b=i.commandResults?.[m];if(b){let v=b.returnValues[0].bcs,T=A.U64.parse(new Uint8Array(v)),O=M(T),B=O.eq(0)?"0":O.div(Math.pow(10,f.decimals)).toString();u[f.coinType]={adjusted_balance:B,balance:O.toString()}}}),o[a.balanceManager]=u}),o}catch(r){throw r instanceof Error?r:new Error(String(r))}}async getMarketPrice(e){try{let n=new Y;n.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::mid_price`,arguments:[n.object(e.address),n.object(he)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let s=(await this._sdk.fullClient.sendSimulationTransaction(n,this._sdk.sdkOptions.simulationAccount.address)).commandResults[0]?.returnValues[0]?.bcs,i=Number(A.U64.parse(new Uint8Array(s))),o=Math.pow(10,e.baseCoin.decimals).toString(),a=Math.pow(10,e.quoteCoin.decimals).toString();return M(i).mul(o).div(a).div(Cr).toString()}catch(n){return iT("getMarketPrice ~ error:",n),"0"}}async getPools(e=!1){let n="Deepbook_getPools",r=this.getCache(n,e);if(r!==void 0)return r;let s=await this._sdk.fullClient?.queryEventsByPage({MoveEventModule:{module:"pool",package:this._sdk.sdkOptions.deepbook.package_id}}),i=/<([^>]+)>/,o=[];return s?.data?.forEach(a=>{let c=a?.parsedJson,u=a.type.match(i);if(u){let f=u[1].split(", ");o.push({...c,baseCoinType:f[0],quoteCoinType:f[1]})}}),this.updateCache(n,o,864e5),o}async getQuoteQuantityOut(e,n,r){let s=new Y;s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_quote_quantity_out`,arguments:[s.object(e.address),s.pure.u64(n),s.object(he)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let i=await this._sdk.fullClient.sendSimulationTransaction(s,r),o=String(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs))),a=String(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs))),c=String(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs)));return{baseQuantityDisplay:M(n).div(Math.pow(10,e.baseCoin.decimals)).toString(),baseOutDisplay:M(o).div(Math.pow(10,e.baseCoin.decimals)).toString(),quoteOutDisplay:M(a).div(Math.pow(10,e.quoteCoin.decimals)).toString(),deepRequiredDisplay:M(c).div(Dm).toString(),baseQuantity:n,baseOut:o,quoteOut:a,deepRequired:c}}async getBaseQuantityOut(e,n,r){let s=new Y;s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_base_quantity_out`,arguments:[s.object(e.address),s.pure.u64(n),s.object(he)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let i=await this._sdk.fullClient.sendSimulationTransaction(s,r),o=String(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs))),a=String(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs))),c=String(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs)));return{quoteQuantityDisplay:M(n).div(Math.pow(10,e.quoteCoin.decimals)).toString(),baseOutDisplay:M(o).div(Math.pow(10,e.baseCoin.decimals)).toString(),quoteOutDisplay:M(a).div(Math.pow(10,e.quoteCoin.decimals)).toString(),deepRequiredDisplay:M(c).div(Dm).toString(),quoteQuantity:n,baseOut:o,quoteOut:a,deepRequired:c}}async getQuantityOut(e,n,r,s){let i=new Y;i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_quantity_out`,arguments:[i.object(e.address),i.pure.u64(n),i.pure.u64(r),i.object(he)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let o=await this._sdk.fullClient.sendSimulationTransaction(i,s),a=Number(A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs))),c=Number(A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs))),u=Number(A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[2].bcs)));return{baseQuantityDisplay:M(n).div(Math.pow(10,e.baseCoin.decimals)).toString(),quoteQuantityDisplay:M(r).div(Math.pow(10,e.quoteCoin.decimals)).toString(),baseOutDisplay:M(a).div(Math.pow(10,e.baseCoin.decimals)).toString(),quoteOutDisplay:M(c).div(Math.pow(10,e.quoteCoin.decimals)).toString(),deepRequiredDisplay:M(u).div(Dm).toString(),baseQuantity:n,quoteQuantity:r,baseOut:a,quoteOut:c,deepRequired:u}}async getReferencePool(e){let n=await this.getPools(),r=e.baseCoin.coinType,s=e.quoteCoin.coinType,i=this._deep.coinType;for(let o=0;o<n.length;o++){let a=n[o];if(a.address===e.address)continue;let c=[a.baseCoinType,a.quoteCoinType];if(a.baseCoinType===i&&(c.includes(r)||c.includes(s)))return a}return null}async updateDeepPrice(e,n){let r=await this.getReferencePool(e);return r?(n.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::add_deep_price_point`,arguments:[n.object(e.address),n.object(r.pool_id),n.object(he)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType,r.baseCoinType,r.quoteCoinType]}),n):null}async estimatedMaxFee(e,n,r,s,i,o,a){let c=this.deepCoin;try{let{taker_fee:u,maker_fee:d}=e,f=M(u).div(Cr).toString(),p=M(d).div(Cr).toString(),m=await this.getMarketPrice(e);console.log("\u{1F680} ~ DeepbookUtilsModule ~ estimatedMaxFee ~ marketPrice:",m);let b=o?r:m!=="0"?m:a;if(b==="0")throw new Error("Cannot get market price");let v=Math.pow(10,e.baseCoin.decimals).toString(),T=Math.pow(10,e.quoteCoin.decimals).toString(),O=M(b).div(v).mul(T).mul(Cr).toString();if(s){let U=await this.getMarketPrice(e),P=M(o?r:U!=="0"?U:a).div(v).mul(T).mul(Cr).toString(),q=await this.getOrderDeepPrice(e);if(!q)throw new Error("Cannot get deep price");let V=Mm(P,r),F=M(n).mul(M(f)).mul(M(q.deep_per_asset)).div(M(Cr)),X=M(n).mul(M(p)).mul(M(q.deep_per_asset)).div(M(Cr));q.asset_is_base||(F=F.mul(V).div(M(Cr)),X=X.mul(V).div(M(Cr)));let ee=F.ceil().toString(),j=X.ceil().toString();return{takerFee:ee,makerFee:j,takerFeeDisplay:bo(ee,c.decimals).toString(),makerFeeDisplay:bo(j,c.decimals).toString(),feeType:c.coinType}}if(i){let U=Mm(O,o?r:m),L=M(n).mul(U).mul(M(f).mul(1.25)).div(M(Cr)).ceil().toFixed(0),P=M(n).mul(U).mul(M(p).mul(1.25)).div(M(Cr)).ceil().toFixed(0);return{takerFee:L,makerFee:P,takerFeeDisplay:bo(L,e.quoteCoin.decimals).toString(),makerFeeDisplay:bo(P,e.quoteCoin.decimals).toString(),feeType:e.quoteCoin.coinType}}let B=M(n).mul(M(f).mul(1.25)).ceil().toFixed(0),C=M(n).mul(M(p).mul(1.25)).ceil().toFixed(0);return{takerFee:B,makerFee:C,takerFeeDisplay:bo(B,e.baseCoin.decimals).toString(),makerFeeDisplay:bo(C,e.baseCoin.decimals).toString(),feeType:e.baseCoin.coinType}}catch(u){throw u instanceof Error?u:new Error(String(u))}}async getOrderDeepPrice(e,n=!0){let r=`getOrderDeepPrice_${e.address}}`,s=this.getCache(r);if(s!==void 0)return s;try{let i=new Y,o=!1;n&&e?.baseCoin?.coinType!==this._deep.coinType&&e?.quoteCoin?.coinType!==this._deep.coinType&&await this.updateDeepPrice(e,i)&&(o=!0),i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_order_deep_price`,arguments:[i.object(e.address)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let a=await this._sdk.fullClient.sendSimulationTransaction(i,this._sdk.sdkOptions.simulationAccount.address),c=o?a.commandResults[1]?.returnValues[0]?.bcs:a.commandResults[0]?.returnValues[0]?.bcs,u=this.parseOrderDeepPrice(new Uint8Array(c));return this.updateCache(r,u,6e4),u}catch{return await tT(2e3),this.getOrderDeepPrice(e,!1)}}parseOrderDeepPrice(e){let n=new DataView(e.buffer),r=n.getUint8(0)!==0,s=Number(n.getBigUint64(1,!0));return{asset_is_base:r,deep_per_asset:s}}getCoinAssets(e,n,r){return Wt.buildCoinWithBalance(BigInt(M(n).abs().ceil().toString()),e,r)}async getTransactionRelatedBalance(e,n,r,s,i,o,a){let c=this.deepCoin;if(!a)return{baseManagerBlance:"0",quoteManagerBlance:"0",feeManaerBalance:"0"};try{let u=[{coinType:e.baseCoin.coinType,decimals:e.baseCoin.decimals},{coinType:e.quoteCoin.coinType,decimals:e.quoteCoin.decimals}];s&&u.push(c);let d=await this.getManagerBalance({account:i,balanceManager:a,coins:u}),f=d?.[n]?.balance||"0",p=d?.[r]?.balance||"0",m=o&&d?.[c.coinType]?.balance||"0";return{baseManagerBlance:f,quoteManagerBlance:p,feeManaerBalance:m}}catch(u){throw u instanceof Error?u:new Error(String(u))}}getFeeAsset(e,n,r,s,i,o,a,c,u){let d=M(e).gt(0)&&c,f="0";if(!d)return{feeAsset:this.getEmptyCoin(u,n),haveDepositFee:"0"};if(o||a){let p=M(i).sub(o?s:r);f=p.lte(0)?e:p.sub(e).lt(0)?p.sub(e).toString():"0"}else f=M(i).sub(e).lt("0")?M(i).sub(e).abs().toString():"0";return{feeAsset:M(f).gt("0")?this.getCoinAssets(n,f,u):this.getEmptyCoin(u,n),haveDepositFee:f}}async getTransactionRelatedAssets(e,n,r,s,i,o,a,c,u){try{let d=this.deepCoin,f=ye(e.baseCoin.coinType),p=ye(e.quoteCoin.coinType),m=f===d.coinType,b=p===d.coinType,v=!m&&!b,{baseManagerBlance:T,quoteManagerBlance:O,feeManaerBalance:B}=await this.getTransactionRelatedBalance(e,f,p,v,o,a,c);console.log("\u{1F680}\u{1F680}\u{1F680} ~ deepbookUtilsModule.ts:897 ~ DeepbookUtilsModule ~ getTransactionRelatedAssets ~ quoteManagerBlance:",{baseManagerBlance:T,quoteManagerBlance:O});let C,U,L=!1;if(i){a||(r=M(r).add(M(s)).toString());let q=M(O).sub(r).toString();M(q).lt(0)?(L=!0,U=this.getCoinAssets(p,q,u)):U=this.getEmptyCoin(u,p),C=this.getEmptyCoin(u,f)}else{a||(n=M(n).add(M(s)).toString());let q=M(T).sub(n).toString();M(q).lt(0)?(L=!0,C=this.getCoinAssets(f,q,u)):C=this.getEmptyCoin(u,f),U=this.getEmptyCoin(u,p)}let P=this.getFeeAsset(s,d.coinType,n,r,B,b,m,a,u);return{baseAsset:C,quoteAsset:U,feeAsset:P,haveDeposit:L}}catch(d){throw d instanceof Error?d:new Error(String(d))}}async getMarketTransactionRelatedAssets(e,n,r,s,i,o,a,c,u,d){try{let f=this.deepCoin,p=ye(e.baseCoin.coinType),m=ye(e.quoteCoin.coinType),b=p===f.coinType,v=m===f.coinType,T=!b&&!v,O=await this.getTransactionRelatedBalance(e,p,m,T,o,a,c),{feeManaerBalance:B}=O,C=M(O.baseManagerBlance).add(M(d?.base||"0")).toString(),U=M(O.quoteManagerBlance).add(M(d?.quote||"0")).toString(),L;a&&M(B).lt(s)?L=this.getCoinAssets(f.coinType,M(s).sub(B).toString(),u):L=this.getEmptyCoin(u,f.coinType);let P,q;if(i){a||(r=M(r).add(M(s)).toString());let V=M(U).sub(r).toString();if(M(V).lt(0)){let F;M(U).gt(0)&&(F=await this.withdrawFromManager({account:o,balanceManager:c,coin:e.quoteCoin,amountToWithdraw:U,returnAssets:!0,txb:u}));let X=this.getCoinAssets(m,V,u);F&&u.mergeCoins(X,[F]),q=X}else q=await this.withdrawFromManager({account:o,balanceManager:c,coin:e.quoteCoin,amountToWithdraw:r,returnAssets:!0,txb:u});P=this.getEmptyCoin(u,p)}else{a||(n=M(n).add(M(s)).toString());let V=M(C).sub(n).toString();if(M(V).lt(0)){let F;M(C).gt(0)&&(F=await this.withdrawFromManager({account:o,balanceManager:c,coin:e.baseCoin,amountToWithdraw:C,returnAssets:!0,txb:u}));let X=this.getCoinAssets(p,V,u);F&&u.mergeCoins(X,[F]),P=X}else P=await this.withdrawFromManager({account:o,balanceManager:c,coin:e.baseCoin,amountToWithdraw:n,returnAssets:!0,txb:u});q=this.getEmptyCoin(u,m)}return{baseAsset:P,quoteAsset:q,feeAsset:L}}catch(f){throw f instanceof Error?f:new Error(String(f))}}async createDepositThenPlaceLimitOrder({poolInfo:e,priceInput:n,quantity:r,orderType:s,isBid:i,maxFee:o,account:a,payWithDeep:c,expirationTimestamp:u=Date.now()+31536e8}){try{let d=this.deepCoin,f=e.address,p=e.baseCoin.decimals,m=e.quoteCoin.decimals,b=e.baseCoin.coinType,v=e.quoteCoin.coinType,T=M(n).mul(10**(m-p+9)).toString(),O=ye(b),B=ye(v),C=new Y,U,L;if(i){let F=M(n).mul(M(r).div(Math.pow(10,e.baseCoin.decimals))).mul(Math.pow(10,e.quoteCoin.decimals)).toString();c||(F=M(F).add(M(o)).toString()),L=Wt.buildCoinWithBalance(BigInt(F),B,C)}else{let F=r;c||(F=M(r).abs().add(M(o)).toString()),U=Wt.buildCoinWithBalance(BigInt(F),O,C)}let P=c?M(o).gt(0)?Wt.buildCoinWithBalance(BigInt(M(o).abs().ceil().toString()),d.coinType,C):this.getEmptyCoin(C,d.coinType):this.getEmptyCoin(C,d.coinType),q=C.moveCall({typeArguments:[i?b:v],target:"0x2::coin::zero",arguments:[]}),V=[C.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),C.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),C.object(f),i?q:U,i?L:q,P,C.pure.u8(s),C.pure.u8(0),C.pure.u64(T),C.pure.u64(r),C.pure.bool(i),C.pure.bool(!1),C.pure.u64(u),C.object(he)];return C.moveCall({typeArguments:[O,B],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::create_deposit_then_place_limit_order`,arguments:V}),C}catch(d){throw d instanceof Error?d:new Error(String(d))}}getEmptyCoin(e,n){return Wt.buildCoinWithBalance(BigInt(0),n,e)}async createDepositThenPlaceMarketOrder({poolInfo:e,quantity:n,isBid:r,maxFee:s,account:i,payWithDeep:o,slippage:a=.01}){try{let c=e.address,u=e.baseCoin.coinType,d=e.quoteCoin.coinType,f=ye(u),p=ye(d),m=new Y,b,v,T=n,O,B=await this.getOrderBook(e,"all",6);if(r){let L=B?.ask?.[0]?.price||"0",P=M(L).mul(M(n).div(Math.pow(10,e.baseCoin.decimals))).mul(Math.pow(10,e.quoteCoin.decimals)).toString();O=M(P).plus(M(P).mul(a)).ceil().toString()}else{let L=await B?.bid?.[0]?.price||"0",P=M(L).mul(M(n).div(Math.pow(10,e.baseCoin.decimals))).mul(Math.pow(10,e.quoteCoin.decimals)).toString();O=M(P).minus(M(P).mul(a)).floor().toString()}r?(o||(O=M(O).add(M(s)).toString()),v=this.getCoinAssets(p,O,m),b=this.getEmptyCoin(m,f)):(o||(T=M(T).add(M(s)).toString()),v=this.getEmptyCoin(m,p),b=this.getCoinAssets(f,T,m));let C=o?M(s).gt(0)?Wt.buildCoinWithBalance(BigInt(M(s).abs().ceil().toString()),this.deepCoin.coinType,m):this.getEmptyCoin(m,this.deepCoin.coinType):this.getEmptyCoin(m,this.deepCoin.coinType),U=[m.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),m.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),m.object(c),b,v,C,m.pure.u8(0),m.pure.u64(n),m.pure.bool(r),m.pure.bool(o),m.pure.u64(O),m.object(he)];return m.moveCall({typeArguments:[f,p],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::create_deposit_then_place_market_order_v2`,arguments:U}),m}catch(c){throw c instanceof Error?c:new Error(String(c))}}async placeLimitOrder({balanceManager:e,poolInfo:n,priceInput:r,quantity:s,isBid:i,orderType:o,maxFee:a,account:c,payWithDeep:u,expirationTimestamp:d=Date.now()+31536e8}){try{let f=this.deepCoin,p=M(r).mul(10**(n.quoteCoin.decimals-n.baseCoin.decimals+9)).toString(),m=n.baseCoin.coinType,b=n.quoteCoin.coinType,v=new Y,T=i?M(r).mul(M(s).div(Math.pow(10,n.baseCoin.decimals))).mul(Math.pow(10,n.quoteCoin.decimals)).toString():"0",O=i?"0":s,{baseAsset:B,quoteAsset:C,feeAsset:U,haveDeposit:L}=await this.getTransactionRelatedAssets(n,O,T,a,i,c,u,e,v);if(L){let V=[v.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),v.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),v.object(n.address),v.object(e),B,C,U.feeAsset,v.pure.u8(o),v.pure.u8(0),v.pure.u64(p),v.pure.u64(s),v.pure.bool(i),v.pure.bool(u),v.pure.u64(d),v.object(he)];return v.moveCall({typeArguments:[m,b],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::deposit_then_place_limit_order_by_owner`,arguments:V}),v}let P=new Y;M(U.haveDepositFee).gt(0)&&this.depositIntoManager({account:c,balanceManager:e,coin:f,amountToDeposit:U.haveDepositFee,tx:P});let q=[P.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),P.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),P.object(n.address),P.object(e),P.pure.u8(o),P.pure.u8(0),P.pure.u64(p),P.pure.u64(s),P.pure.bool(i),P.pure.bool(u),P.pure.u64(d),P.object(he)];return P.moveCall({typeArguments:[m,b],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::place_limit_order`,arguments:q}),P}catch(f){throw f instanceof Error?f:new Error(String(f))}}modifyOrder({balanceManager:e,poolInfo:n,orderId:r,newOrderQuantity:s}){let i=new Y;return i.moveCall({typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::modify_order`,arguments:[i.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),i.object(e),i.object(n.address),i.pure.u128(r),i.pure.u64(s),i.object(he)]}),i}async getBestAskprice(e){try{let{baseCoin:n,quoteCoin:r}=e,s=new Y,i=await this.getMarketPrice(e),o=M(i).gt(0)?i:Math.pow(10,-1),a=Math.pow(10,6),c=M(o).mul(Math.pow(10,9+r.decimals-n.decimals)).toString(),u=M(a).mul(Math.pow(10,9+r.decimals-n.decimals)).toString();s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[s.object(e.address),s.pure.u64(c),s.pure.u64(u),s.pure.bool(!1),s.object(he)],typeArguments:[n.coinType,r.coinType]});let d=this._sdk.sdkOptions.simulationAccount.address,f=await this._sdk.fullClient.sendSimulationTransaction(s,d),p=[],m=f.commandResults[0].returnValues[0].bcs,b=A.vector(A.u64()).parse(new Uint8Array(m)),v=f.commandResults[0].returnValues[1].bcs,T=A.vector(A.u64()).parse(new Uint8Array(v));return b.forEach((O,B)=>{let C=M(O).div(Math.pow(10,9+r.decimals-n.decimals)).toString(),U=M(T[B]).div(Math.pow(10,n.decimals)).toString();p.push({price:C,quantity:U})}),p?.[0]?.price||0}catch{return 0}}async getBestBidprice(e){try{let{baseCoin:n,quoteCoin:r}=e,s=new Y,i=await this.getMarketPrice(e),o=M(i).gt(0)?M(i).div(3).toNumber():Math.pow(10,-6),a=M(i).gt(0)?i:Math.pow(10,6),c=M(o).mul(Math.pow(10,9+r.decimals-n.decimals)).toString(),u=M(a).mul(Math.pow(10,9+r.decimals-n.decimals)).toString();s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[s.object(e.address),s.pure.u64(yo(c,0)),s.pure.u64(yo(u,0)),s.pure.bool(!0),s.object(he)],typeArguments:[n.coinType,r.coinType]});let d=this._sdk.sdkOptions.simulationAccount.address,f=await this._sdk.fullClient.sendSimulationTransaction(s,d),p=[],m=f.commandResults[0].returnValues[0].bcs,b=A.vector(A.u64()).parse(new Uint8Array(m)),v=f.commandResults[0].returnValues[1].bcs,T=A.vector(A.u64()).parse(new Uint8Array(v));return b.forEach((O,B)=>{let C=M(O).div(Math.pow(10,9+r.decimals-n.decimals)).toString(),U=M(T[B]).div(Math.pow(10,n.decimals)).toString();p.push({price:C,quantity:U})}),p?.[0]?.price||0}catch{return 0}}async getBestAskOrBidPrice(e,n){try{let{baseCoin:r,quoteCoin:s}=e,i=new Y,o=await this.getMarketPrice(e),a,c;n?(a=M(o).gt(0)?M(o).div(3).toNumber():Math.pow(10,-6),c=M(o).gt(0)?o:Math.pow(10,6)):(a=M(o).gt(0)?o:Math.pow(10,-1),c=M(o).gt(0)?M(o).mul(3).toNumber():Math.pow(10,6));let u=M(a).mul(Math.pow(10,9+s.decimals-r.decimals)).toString(),d=M(c).mul(Math.pow(10,9+s.decimals-r.decimals)).toString();i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[i.object(e.address),i.pure.u64(yo(u,0)),i.pure.u64(yo(d,0)),i.pure.bool(n),i.object(he)],typeArguments:[r.coinType,s.coinType]});let f=this._sdk.sdkOptions.simulationAccount.address,p=await this._sdk.fullClient.sendSimulationTransaction(i,f),m=[],b=p.commandResults[0].returnValues[0].bcs,v=A.vector(A.u64()).parse(new Uint8Array(b)),T=p.commandResults[0].returnValues[1].bcs,O=A.vector(A.u64()).parse(new Uint8Array(T));return v.forEach((B,C)=>{let U=M(B).div(Math.pow(10,9+s.decimals-r.decimals)).toString(),L=M(O[C]).div(Math.pow(10,r.decimals)).toString();m.push({price:U,quantity:L})}),m?.[0]?.price||0}catch{return 0}}async placeMarketOrder({balanceManager:e,poolInfo:n,baseQuantity:r,quoteQuantity:s,isBid:i,maxFee:o,account:a,payWithDeep:c,slippage:u=.01,settled_balances:d={base:"0",quote:"0"}}){try{let f=ye(n.baseCoin.coinType),p=ye(n.quoteCoin.coinType),m=new Y;d&&(M(d.base).gt(0)||M(d.quote).gt(0))&&this.withdrawSettledAmounts({poolInfo:n,balanceManager:e},m);let{baseAsset:b,quoteAsset:v,feeAsset:T}=await this.getMarketTransactionRelatedAssets(n,r,s,o,i,a,c,e,m,d),O=await this.getOrderBook(n,"all",6);if(i){let U=O?.ask?.[0]?.price||"0",L=M(U).mul(M(r).div(Math.pow(10,n.baseCoin.decimals))).mul(Math.pow(10,n.quoteCoin.decimals)).toString();s=M(L).plus(M(L).mul(u)).ceil().toString()}else{let U=await O?.bid?.[0]?.price||"0",L=M(U).mul(M(r).div(Math.pow(10,n.baseCoin.decimals))).mul(Math.pow(10,n.quoteCoin.decimals)).toString();s=M(L).minus(M(L).mul(u)).floor().toString()}let B=s,C=[m.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),m.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),m.object(n.address),m.object(e),b,v,T,m.pure.u8(0),m.pure.u64(r),m.pure.bool(i),m.pure.bool(c),m.pure.u64(B),m.object(he)];return m.setSenderIfNotSet(a),m.moveCall({typeArguments:[f,p],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::deposit_then_place_market_order_by_owner_v2`,arguments:C}),m}catch(f){throw f instanceof Error?f:new Error(String(f))}}async getOrderInfoList(e,n){try{let r=new Y;e.forEach(u=>{let d=u?.pool,f=u?.orderId;r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_order`,arguments:[r.object(d.pool_id),r.pure.u128(BigInt(f))],typeArguments:[d.baseCoinType,d.quoteCoinType]})});let s=await this._sdk.fullClient.sendSimulationTransaction(r,n),i=A.struct("ID",{bytes:A.Address}),o=A.struct("OrderDeepPrice",{asset_is_base:A.bool(),deep_per_asset:A.u64()}),a=A.struct("Order",{balance_manager_id:i,order_id:A.u128(),client_order_id:A.u64(),quantity:A.u64(),filled_quantity:A.u64(),fee_is_deep:A.bool(),order_deep_price:o,epoch:A.u64(),status:A.u8(),expire_timestamp:A.u64()}),c=[];return s?.commandResults?.forEach(u=>{let d=u.returnValues[0].bcs,f=a.parse(new Uint8Array(d));c.push(f)}),c}catch{return[]}}decodeOrderId(e){let n=e>>BigInt(127)===BigInt(0),r=e>>BigInt(64)&(BigInt(1)<<BigInt(63))-BigInt(1),s=e&(BigInt(1)<<BigInt(64))-BigInt(1);return{isBid:n,price:r,orderId:s}}async getOpenOrder(e,n,r,s,i=!1,o=new Y){let a;if(s)a=s;else{o.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[o.object(e.address),i?r:o.object(r)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let f=await this._sdk.fullClient.sendSimulationTransaction(o,n);console.log("\u{1F680} ~ DeepbookUtilsModule ~ getOpenOrder ~ res:",f?.FailedTransaction?.status);let p=f.commandResults[i?1:0].returnValues[0].bcs;a=A.struct("VecSet",{constants:A.vector(A.U128)}).parse(new Uint8Array(p)).constants}if(a.length===0)return[];let c=a.map(f=>({pool:{pool_id:e.address,baseCoinType:e.baseCoin.coinType,quoteCoinType:e.quoteCoin.coinType},orderId:f})),u=await this.getOrderInfoList(c,n)||[],d=[];return u.forEach(f=>{let p=this.decodeOrderId(BigInt(f.order_id));d.push({...f,price:p.price,isBid:p.isBid,pool:e})}),d}async getAllMarketsOpenOrders(e,n){try{let r=await this.getPools(),s=new Y;r.forEach(f=>{s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[s.object(f.pool_id),s.object(n)],typeArguments:[f.baseCoinType,f.quoteCoinType]})});let o=(await this._sdk.fullClient.sendSimulationTransaction(s,e)).commandResults?.map(f=>f.returnValues?.[0]?.bcs)||[],a=A.struct("VecSet",{constants:A.vector(A.U128)}),c=[];o.forEach((f,p)=>{let m=a.parse(new Uint8Array(f)).constants;m.length>0&&m.forEach(b=>{c.push({pool:r[p],orderId:b})})});let u=await this.getOrderInfoList(c,e)||[],d=[];return c.forEach((f,p)=>{let m=this.decodeOrderId(BigInt(f.orderId)),b=u.find(v=>v.order_id===f.orderId)||{};d.push({...f,...b,price:m.price,isBid:m.isBid})}),d}catch(r){return console.log("\u{1F680} ~ DeepbookUtilsModule ~ getAllMarketsOpenOrders ~ error:",r),[]}}cancelOrders(e,n,r=new Y){return e.forEach(s=>{r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::cancel_order`,arguments:[r.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),r.object(n),r.object(s.poolInfo.address),r.pure.u128(s.orderId),r.object(he)],typeArguments:[s.poolInfo.baseCoin.coinType,s.poolInfo.quoteCoin.coinType]})}),r}async getDeepbookOrderBook(e,n,r,s,i,o){let a=this._sdk.fullClient,u=await new H3({client:a,address:i,network:"testnet",balanceManagers:{test1:{address:o,tradeCap:""}}}).getLevel2Range(e,n,r,s)}processOrderBookData(e,n,r,s){let i=e.returnValues[0].bcs,o=A.vector(A.u64()).parse(new Uint8Array(i)),a=e.returnValues[1].bcs,c=A.vector(A.u64()).parse(new Uint8Array(a)),u={};return o.forEach((f,p)=>{let m=M(f).div(Math.pow(10,9+r.decimals-n.decimals)).toString(),b=M(c[p]).div(Math.pow(10,n.decimals)).toString();u[m]?u[m]={price:m,quantity:M(u[m].quantity).add(b).toString()}:u[m]={price:m,quantity:b}}),Object.values(u)}getLevel2RangeTx(e,n,r,s,i=new Y){let{baseCoin:o,quoteCoin:a}=e,c=yo(M(r).mul(Math.pow(10,9+a.decimals-o.decimals)).toString(),0),u=yo(M(s).mul(Math.pow(10,9+a.decimals-o.decimals)).toString(),0);return i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[i.object(e.address),i.pure.u64(c),i.pure.u64(u),i.pure.bool(n),i.object(he)],typeArguments:[o.coinType,a.coinType]}),i}async fetchOrderBook(e,n,r,s,i,o){let a=new Y,{baseCoin:c,quoteCoin:u}=e;try{if(n==="bid"||n==="all"){let b=s,v=r==="0"?i:r;a=this.getLevel2RangeTx(e,!0,b,v,a)}if(n==="ask"||n==="all"){let b=r==="0"?s:r,v=i;a=this.getLevel2RangeTx(e,!1,b,v,a)}let d=this._sdk.sdkOptions.simulationAccount.address,f=await this._sdk.fullClient.sendSimulationTransaction(a,d),p=[];(n==="bid"||n==="all")&&(p=f.commandResults?.[0]?this.processOrderBookData(f.commandResults[0],c,u,o):[]);let m=[];if(n==="ask"||n==="all"){let b=n==="ask"?0:1;m=f.commandResults?.[b]?this.processOrderBookData(f.commandResults[b],c,u,o):[]}return{bid:p.sort((b,v)=>v.price-b.price),ask:m.sort((b,v)=>b.price-v.price)}}catch{let f=this._sdk.sdkOptions.simulationAccount.address,p=[],m=[];try{let b=this.getLevel2RangeTx(e,!0,s,r),v=await this._sdk.fullClient.sendSimulationTransaction(b,f);p=v.commandResults?.[0]?this.processOrderBookData(v.commandResults[0],c,u,o):[]}catch{p=[]}try{let b=this.getLevel2RangeTx(e,!1,s,r),v=await this._sdk.fullClient.sendSimulationTransaction(b,f);m=v.commandResults?.[0]?this.processOrderBookData(v.commandResults[0],c,u,o):[]}catch{m=[]}return{bid:p,ask:m}}}async getOrderBook(e,n,r){let s={bid:[],ask:[]};try{let i=await this.getMarketPrice(e),o=n,a=Math.pow(10,-r),c=Math.pow(10,r),u=await this.fetchOrderBook(e,o,i,a,c,r);return{bid:u?.bid,ask:u?.ask}}catch{return s}}async getOrderBookOrigin(e,n){try{let r=new Y,s=await this.getMarketPrice(e),{baseCoin:i,quoteCoin:o}=e;if(n==="bid"||n==="all"){let f=Math.pow(10,-6),p=s,m=M(f).mul(Math.pow(10,9+o.decimals-i.decimals)).toString(),b=M(p).mul(Math.pow(10,9+o.decimals-i.decimals)).toString();r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[r.object(e.address),r.pure.u64(m),r.pure.u64(b),r.pure.bool(!0),r.object(he)],typeArguments:[i.coinType,o.coinType]})}if(n==="ask"||n==="all"){let f=s,p=Math.pow(10,6),m=M(f).mul(Math.pow(10,9+o.decimals-i.decimals)).toString(),b=M(p).mul(Math.pow(10,9+o.decimals-i.decimals)).toString();r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[r.object(e.address),r.pure.u64(m),r.pure.u64(b),r.pure.bool(!1),r.object(he)],typeArguments:[i.coinType,o.coinType]})}let a=this._sdk.sdkOptions.simulationAccount.address,c=await this._sdk.fullClient.sendSimulationTransaction(r,a),u=[];if(n==="bid"||n==="all"){let f=c.commandResults[0]?.returnValues[0]?.bcs,p=A.vector(A.u64()).parse(new Uint8Array(f)),m=c.commandResults[0]?.returnValues[1]?.bcs,b=A.vector(A.u64()).parse(new Uint8Array(m));p.forEach((v,T)=>{let O=M(v).div(Math.pow(10,9+o.decimals-i.decimals)).toString(),B=M(b[T]).div(Math.pow(10,i.decimals)).toString();u.push({price:O,quantity:B})})}let d=[];if(n==="ask"||n==="all"){let f=n==="ask"?0:1,p=c.results[f]?.returnValues[0]?.[0],m=A.vector(A.u64()).parse(new Uint8Array(p)),b=c.results[f]?.returnValues[1]?.[0],v=A.vector(A.u64()).parse(new Uint8Array(b));m.forEach((T,O)=>{let B=M(T).div(Math.pow(10,9+o.decimals-i.decimals)).toString(),C=M(v[O]).div(Math.pow(10,i.decimals)).toString();d.push({price:B,quantity:C})})}return{bid:u,ask:d}}catch{return{bids:[],asks:[]}}}async getWalletBalance(e){let n=await this._sdk.fullClient?.getOwnerCoinBalances(e);return console.log("\u{1F680} ~ DeepbookUtilsModule ~ getWalletBalance ~ result:",n),Object.fromEntries(n.map((s,i)=>[ye(s.coinType),{coinType:s.coinType,totalBalance:s.balance,coinBalance:s.coinBalance,addressBalance:s.addressBalance}]))}async getAccount(e,n,r=new Y){for(let o=0;o<n.length;o++){let a=n[o];r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::order_trader::get_account_id`,arguments:[r.object(a.address),typeof e=="string"?r.object(e):e],typeArguments:[a.baseCoin.coinType,a.quoteCoin.coinType]})}let s=await this._sdk.fullClient.sendSimulationTransaction(r,this._sdk.senderAddress);if(s?.Transaction?.events?.length===0)return null;let i=[];return s?.Transaction?.events?.forEach((o,a)=>{let c=o?.bcs,u=lT.parse(c),d=u.open_orders,f=u.owed_balances,p=u.settled_balances,m=u.unclaimed_rebates,b=u.taker_volume;i.push({balance_manager_id:e,open_orders:d,owed_balances:f,settled_balances:p,unclaimed_rebates:m,taker_volume:b,poolInfo:n[a]})}),i}async getSuiTransactionResponse(e,n=!1){let r=`${e}_getSuiTransactionResponse`,s=this.getCache(r,n);if(s!==void 0)return s;let i;try{i=await this._sdk.fullClient.getTransaction({digest:e,include:{events:!0,effects:!0,balanceChanges:!0,showInput:!0,showObjectChanges:!0}})}catch{i=await this._sdk.fullClient.getTransaction({digest:e,include:{events:!0,effects:!0}})}return this.updateCache(r,i,864e5),i}transformExtensions(e,n,r=!0){let s=[];for(let i of n){let{key:o}=i.fields,{value:a}=i.fields;if(o==="labels")try{a=JSON.parse(decodeURIComponent(z3.decode(a)))}catch{}r&&(e[o]=a),s.push({key:o,value:a})}delete e.extension_fields,r||(e.extensions=s)}async getCoinConfigs(e=!1,n=!0){let r=this.sdk.sdkOptions.coinlist.handle,s=`${r}_getCoinConfigs`,i=this.getCache(s,e);if(i)return i;let a=(await this._sdk.fullClient.getDynamicFieldsByPage(r)).data.map(d=>d.objectId),c=await this._sdk.fullClient.batchGetObjects(a,{json:!0}),u=[];return c.forEach(d=>{let f=this.buildCoinConfig(d,n);this.updateCache(`${r}_${f.address}_getCoinConfig`,f,864e5),u.push({...f})}),this.updateCache(s,u,864e5),u}buildCoinConfig(e,n=!0){let r=cT(e);r=r.value.fields;let s={...r};return s.id=aT(e),s.address=gi(r.coin_type.fields.name).full_address,r.pyth_id&&(s.pyth_id=$t(r.pyth_id)),this.transformExtensions(s,r.extension_fields.fields.contents,n),delete s.coin_type,s}updateCache(e,n,r=3e5){let s=this._cache[e];s?(s.overdueTime=jm(r),s.value=n):s=new od(n,jm(r)),this._cache[e]=s}getCache(e,n=!1){let r=this._cache[e],s=r?.isValid();if(!n&&s)return r.value;s||delete this._cache[e]}async createPermissionlessPool({tickSize:e,lotSize:n,minSize:r,baseCoinType:s,quoteCoinType:i}){let o=new Y,a=Wt.buildCoinWithBalance(BigInt(500*10**6),"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",o);o.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::create_permissionless_pool`,typeArguments:[s,i],arguments:[o.object(this.sdk.sdkOptions.deepbook.registry_id),o.pure.u64(e),o.pure.u64(n),o.pure.u64(r),a]});try{let c=await this._sdk.fullClient.sendSimulationTransaction(o,this.sdk.senderAddress);if(c?.Transaction?.effects?.status?.success)return o;if(c?.Transaction?.effects?.status?.error&&c.Transaction.effects.status.error.indexOf('Some("register_pool") }, 1)')>-1)throw new Error("Pool already exists")}catch(c){throw c instanceof Error?c:new Error(String(c))}return o}newWithCustomOwnerCaps({owner:e,appType:n}){let r=new Y,s=n||`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_manager::MarginApp`,[i,o,a,c]=r.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::new_with_custom_owner_caps`,arguments:[r.object(this._sdk.sdkOptions.deepbook.registry_id),r.pure.address(e)],typeArguments:[s]});return r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::cetus_balance_manager::check_and_add_deepbook_balance_manager_indexer`,arguments:[r.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),i],typeArguments:[]}),r.moveCall({target:"0x2::transfer::public_share_object",arguments:[i],typeArguments:[`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::BalanceManager`]}),r.transferObjects([o,a,c],e),r}};var cd="0x0000000000000000000000000000000000000000000000000000000000000006",FZ="pool_script",qZ="pool_script_v2",$Z="router",GZ="router_with_partner",HZ="fetcher_script",zZ="expect_swap",WZ="utils",ZZ="0x1::coin::CoinInfo",JZ="0x1::coin::CoinStore",KZ="custodian_v2",YZ="clob_v2",XZ="endpoints_v2",QZ=t=>{if(typeof t=="string"&&t.startsWith("0x"))return"object";if(typeof t=="number"||typeof t=="bigint")return"u64";if(typeof t=="boolean")return"bool";throw new Error(`Unknown type for value: ${t}`)},eJ=["https://rpc-mainnet.suiscan.xyz:443","https://cetus-mainnet-endpoint.blockvision.org","https://cetus-suimain-e31f.mainnet.sui.rpcpool.com"];import dT from"decimal.js";dT.config({precision:64,rounding:dT.ROUND_DOWN,toExpNeg:-64,toExpPos:64});var iJ=({totalAssetsValue:t,totalDebtValue:e})=>M(e).eq(0)||M(t).eq(0)?"0":M(t).div(M(e)).toString(),fT=t=>{let{base_margin_pool_id:e,quote_margin_pool_id:n,enabled:r,pool_liquidation_reward:s,user_liquidation_reward:i}=t.value.fields,{liquidation_risk_ratio:o,min_borrow_risk_ratio:a,min_withdraw_risk_ratio:c,target_liquidation_risk_ratio:u}=t.value.fields.risk_ratios.fields;return{id:t.id.id,name:t.name,base_margin_pool_id:e,quote_margin_pool_id:n,enabled:r,pool_liquidation_reward:s,user_liquidation_reward:i,liquidation_risk_ratio:o,min_borrow_risk_ratio:a,min_withdraw_risk_ratio:c,target_liquidation_risk_ratio:u}},pT=(t,e)=>{let{deposit_coin_type:n}=e,r=t.id,{max_utilization_rate:s,min_borrow:i,protocol_spread:o,supply_cap:a}=t.config.margin_pool_config,{maintainer_fees:c,protocol_fees:u}=t.protocol_fees,{total_supply:d,total_borrow:f}=t.state,p=M(a).sub(d).toString();return{deposit_coin_type:n,id:r,supply_cap:a,total_supply:d,total_borrow:f,available_supply:p,max_utilization_rate:s,min_borrow:i,protocol_spread:o,maintainer_fees:c,protocol_fees:u}};var es=1000000000n,J3=365n*24n*60n*60n*1000n;function K3(t,e){return e===0n?0n:t*es/e}function Y3(t,e){let{base_rate:n,base_slope:r,optimal_utilization:s,excess_slope:i}=e;if(t<s)return n+t*r/es;{let o=t-s,a=s*r/es,c=o*i/es;return n+a+c}}function hT(t,e){let n=t*e,r=n/es;return n%es>0n?r+1n:r}function X3(t,e,n,r){let s=e.borrow_shares===0n?es:e.total_borrow*es/e.borrow_shares,i=hT(t,s),o=K3(e.total_borrow,e.total_supply),a=Y3(o,n),c=r-e.last_update_timestamp,u=e.total_borrow*a/es*c/J3,d=e.borrow_shares===0n?0n:hT(u,t*es/e.borrow_shares),f=i+d;return{confirmedDebt:i,estimatedInterest:d,totalDebt:f,annualInterestRate:a}}function aJ(t,e,n,r,s=60000n){let i=r+s,{totalDebt:o}=X3(t,e,n,i);return o}var Um=10n;function Q3(t,e){if(!Um)throw new Error("oraclePriceMultiplierDecimal is required");if(t===0n)throw new Error("Invalid oracle price");if(e<0n){let n=10n**(Um- -e);return t*n}return t/10n**(e+Um)}var ya=class{_sdk;hasChangeConnection=!1;_commonPythPrice;_cache={};constructor(e){this._sdk=e,this._commonPythPrice=new z_(e.fullClient)}get sdk(){return this._sdk}async updatePythPriceIDs(e,n){let r=null,s=null;try{r=await this._commonPythPrice.getPriceFeedsUpdateData(e)}catch(a){s=a,console.log("Error: ",a)}if(r==null)throw new Error(`All Pyth price nodes are unavailable. Cannot fetch price data. Please switch to or add new available Pyth nodes. Detailed error: ${s?.message}`);let i=[];try{i=await this._commonPythPrice.updatePriceFeeds(n,r,e)}catch(a){throw new Error(`All Pyth price nodes are unavailable. Cannot fetch price data. Please switch to or add new available Pyth nodes in the pythUrls parameter when initializing AggregatorClient, for example: new AggregatorClient({ pythUrls: ["https://your-pyth-node-url"] }). Detailed error: ${a}`)}let o=new Map;for(let a=0;a<e.length;a++)o.set(e[a],i[a]);return o}priceCheck(e,n=60){let r=Math.floor(Date.now()/1e3);if(!(Math.abs(r-e.last_update_time)>n))return e}async getLatestPrice(e,n=!1){let r={},s=[];if(n?e.forEach(a=>{let c=this._sdk.fullClient.getCache(`getLatestPrice_${a.coinType}`);c&&this.priceCheck(c,60)?r[a.coinType]=c:s.push(a.coinType)}):s=e.map(a=>a.coinType),s.length===0)return r;let i=e.map(a=>a.feed);return(await this._commonPythPrice.getLatestPriceFeeds(i))?.parsed?.forEach((a,c)=>{let u=a.price;if(u){let{price:d,expo:f}=u,p=M(d).mul(M(10).pow(M(f))).toString(),b={coin_type:e[c].coinType,price:p,oracle_price:0n,last_update_time:u.publish_time};b.oracle_price=Q3(BigInt(d),BigInt(f)),r[s[c]]=b,this._sdk.fullClient.updateCache(`getLatestPrice_${b.coin_type}`,b)}}),r}};var ud=class{_sdk;pythPrice;_deep;_cache={};constructor(e){if(!e)throw new Error("SDK instance is required");this._sdk=e,this.pythPrice=new ya(e),this._deep=e.sdkOptions.network==="mainnet"?sT:rT}get sdk(){return this._sdk}get deepCoin(){return this._deep}createAndShareMarginManager(e,n=new Y){if(!e)throw new Error("Pool info is required");if(!e.id)throw new Error("Pool ID is required");if(!e.baseCoin?.coinType||!e.quoteCoin?.coinType)throw new Error("Base and quote coin types are required");let{baseCoin:r,quoteCoin:s}=e;try{let{margin_manager:i,initializer:o}=this.createMarginManager(e,n);return this.shareMarginManager({marginManager:i,initializer:o,baseCoin:r,quoteCoin:s},n),{tx:n,margin_manager:i,initializer:o}}catch(i){throw new Error(`Failed to create and share margin manager: ${i instanceof Error?i.message:String(i)}`)}}createMarginManager(e,n=new Y){if(!e)throw new Error("Pool info is required");if(!e.id)throw new Error("Pool ID is required");let{id:r,baseCoin:s,quoteCoin:i}=e;try{let[o,a]=n.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::create_margin_manager`,arguments:[n.object(this.sdk.sdkOptions.margin_utils.versioned_id),n.object(r),n.object(this._sdk.sdkOptions.margin_utils.registry_id),n.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),n.object(he)],typeArguments:[s.coinType,i.coinType]});return{tx:n,margin_manager:o,initializer:a}}catch(o){throw new Error(`Failed to create margin manager: ${o instanceof Error?o.message:String(o)}`)}}shareMarginManager({marginManager:e,initializer:n,baseCoin:r,quoteCoin:s},i=new Y){try{return i.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::share_margin_manager`,arguments:[e,n],typeArguments:[r.coinType,s.coinType]}),i}catch(o){throw new Error(`Failed to share margin manager: ${o instanceof Error?o.message:String(o)}`)}}async getMarginManagerByAccount(e){if(!e||typeof e!="string")throw new Error("Valid account address is required");try{let s=((await this.sdk.fullClient.queryEventsByPage({MoveEventType:`${this._sdk.sdkOptions.margin_utils.package_id}::margin_utils::CreateMarginManagerEvent`}))?.data??[]).filter(f=>f.parsedJson?.owner===e);if(!s.length)return[];let i=s.map(f=>f.parsedJson?.margin_manager_id),a=(await this.sdk.fullClient.batchGetObjects(i,{json:!0})).map((f,p)=>{let m=f.json,v=(m?.balance_manager?.allow_listed?.contents).map(O=>O),T=v.includes(m?.deposit_cap?.id)&&v.includes(m?.withdraw_cap?.id)&&v.includes(m?.trade_cap?.id);return{balanceManagerId:m?.balance_manager?.id,marginManagerId:i[p],capOk:T}}),c=await Promise.all(a.map(({balanceManagerId:f})=>this.sdk.fullClient.listDynamicFields({parentId:f}))),u=new Map;return c.forEach((f,p)=>{let m=f?.dynamicFields??[];if(m.length>0){let b=A.struct("ReferralKey",{pos0:A.Address}).parse(m[0].name.bcs);u.set(a[p].marginManagerId,b.pos0)}}),{finalResult:s.map(f=>{let p=f.parsedJson?.margin_manager_id;return{...f.parsedJson,referralKey:u.get(p)}}),referralMap:u}}catch(n){throw new Error(`Failed to get margin managers by account: ${n instanceof Error?n.message:String(n)}`)}}async getBaseBalance({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!e||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new Y;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::base_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,e);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);return A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)).toString()}catch(o){throw new Error(`Failed to get base balance: ${o instanceof Error?o.message:String(o)}`)}}async getQuoteBalance({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!e||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new Y;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::quote_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,e);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);return A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)).toString()}catch(o){throw new Error(`Failed to get quote balance: ${o instanceof Error?o.message:String(o)}`)}}async getDeepBalance({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!e||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new Y;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::deep_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,e);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.status?.error||"Unknown error"}`);return A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)).toString()}catch(o){throw new Error(`Failed to get base balance: ${o instanceof Error?o.message:String(o)}`)}}async getPoolMarginManagerBalance({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!e||!n||!r||!s)throw new Error("All parameters (account, marginManagers, baseCoinType, quoteCoinType) are required");let i=new Y,o=r===this.deepCoin.coinType,a=s===this.deepCoin.coinType,c=o||a;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::base_balance`,arguments:[i.object(n)],typeArguments:[r,s]}),i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::quote_balance`,arguments:[i.object(n)],typeArguments:[r,s]}),c||i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::deep_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let u=await this.sdk.fullClient.sendSimulationTransaction(i,e);if(!u.commandResults||!u.commandResults[0]||!u.commandResults[0].returnValues||!u.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${u.effects?.status?.error||"Unknown error"}`);let d=A.U64.parse(new Uint8Array(u.commandResults[0].returnValues[0].bcs)),f=A.U64.parse(new Uint8Array(u.commandResults[1].returnValues[0].bcs)),p=c?o?d:f:A.U64.parse(new Uint8Array(u.commandResults[2].returnValues[0].bcs));return{[r]:d.toString(),[s]:f.toString(),[this.deepCoin.coinType]:p.toString()}}catch(u){throw new Error(`Failed to getPoolMarginManagerBalance: ${u instanceof Error?u.message:String(u)}`)}}async getBorrowedShares({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!e||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new Y;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::borrowed_shares`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,e);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||o.commandResults[0].returnValues.length<2)throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);let a=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)),c=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs));return{baseBorrowedShare:a,quoteBorrowedShare:c}}catch(o){throw new Error(`Failed to get borrowed shares: ${o instanceof Error?o.message:String(o)}`)}}managerState=({account:e,marginManager:n,baseCoin:r,quoteCoin:s,pool:i,baseMarginPool:o,quoteMarginPool:a,decimals:c=6,basePriceFeedObjectId:u,quotePriceFeedObjectId:d})=>f=>{f.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_manager::manager_state`,arguments:[f.object(n),f.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),f.object(u),f.object(d),f.object(i),f.object(o),f.object(a),f.object.clock()],typeArguments:[r.coinType,s.coinType]})};async getManagerState(e,n=new Y){let{account:r,marginManager:s,baseCoin:i,quoteCoin:o,pool:a,baseMarginPool:c,quoteMarginPool:u,decimals:d=6}=e;if(!r||!s||!a||!c||!u)throw new Error("All required parameters must be provided");if(!i?.feed||!o?.feed)throw new Error("Base and quote coin feeds are required");if(!i.scalar||!o.scalar)throw new Error("Base and quote coin scalars are required");try{let f=await this.pythPrice.updatePythPriceIDs([i.feed,o.feed],n),p=f.get(i.feed),m=f.get(o.feed);if(!p||!m)throw new Error("Failed to get price feed object IDs");n.add(this.managerState({...e,basePriceFeedObjectId:p,quotePriceFeedObjectId:m}));let b=await this.sdk.fullClient.sendSimulationTransaction(n,r);if(!b.commandResults||!b.commandResults[0]||!b.commandResults[0].returnValues||b.commandResults[0].returnValues.length<14)throw new Error(`Failed to get margin manager state: ${b.Transaction?.effects?.status?.error||"Unknown error"}`);let v=Q(A.Address.parse(new Uint8Array(b.commandResults[0].returnValues[0].bcs))),T=Q(A.Address.parse(new Uint8Array(b.commandResults[0].returnValues[1].bcs))),O=Number(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[2].bcs)))/1e9,B=this.#t(BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[3].bcs))),i.scalar,d),C=this.#t(BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[4].bcs))),o.scalar,d),U=this.#t(BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[5].bcs))),i.scalar,d),L=this.#t(BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[6].bcs))),o.scalar,d),P=A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[7].bcs)),q=Number(A.u8().parse(new Uint8Array(b.commandResults[0].returnValues[8].bcs))),V=A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[9].bcs)),F=Number(A.u8().parse(new Uint8Array(b.commandResults[0].returnValues[10].bcs))),X=BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[11].bcs))),ee=BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[12].bcs))),j=BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[13].bcs)));return{managerId:v,deepbookPoolId:T,riskRatio:O,baseAsset:B,quoteAsset:C,baseDebt:U,quoteDebt:L,basePythPrice:P.toString(),basePythDecimals:q,quotePythPrice:V.toString(),quotePythDecimals:F,currentPrice:X,lowestTriggerAbovePrice:ee,highestTriggerBelowPrice:j}}catch(f){throw new Error(`Failed to get manager state: ${f instanceof Error?f.message:String(f)}`)}}async detectPriceBoundary({account:e,marginManager:n,baseCoin:r,quoteCoin:s,pool:i,baseMarginPool:o,quoteMarginPool:a,price:c,is_bid:u,decimals:d=6}){if(!e||!n||!i||!o||!a)throw new Error("All required parameters must be provided");if(!r?.feed||!s?.feed)throw new Error("Base and quote coin feeds are required");if(!r.scalar||!s.scalar)throw new Error("Base and quote coin scalars are required");let f=typeof c=="bigint"?c:BigInt(c),p=await this.getManagerState({account:e,marginManager:n,baseCoin:r,quoteCoin:s,pool:i,baseMarginPool:o,quoteMarginPool:a,decimals:d},new Y),m=p.highestTriggerBelowPrice,b=p.lowestTriggerAbovePrice,v=u?f<=b:f>=m;return{is_bid:u,price:f,lower_bound:m,upper_bound:b,is_within:v,is_boundary:u?f===b:f===m}}async calculateAssets({account:e,marginManager:n,pool:r,baseCoin:s,quoteCoin:i,tx:o=new Y}){if(!e||!n||!r)throw new Error("Account, marginManager, and pool are required");if(!s?.coinType||!i?.coinType)throw new Error("Base and quote coin types are required");try{o.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_manager::calculate_assets`,arguments:[o.object(n),o.object(r)],typeArguments:[s.coinType,i.coinType]});let a=await this.sdk.fullClient.sendSimulationTransaction(o,e);if(!a.commandResults||!a.commandResults[0]||!a.commandResults[0].returnValues||a.commandResults[0].returnValues.length<2)throw new Error(`Transaction failed: ${a.effects?.status?.error||"Unknown error"}`);let c=a.commandResults[0].returnValues[0].bcs,u=a.commandResults[0].returnValues[1].bcs;if(!s.scalar||!i.scalar)throw new Error("Base and quote coin scalars are required");let d=A.U64.parse(new Uint8Array(c)),f=A.U64.parse(new Uint8Array(u));return{baseAsset:d.toString(),quoteAsset:f.toString(),tx:o}}catch(a){throw new Error(`Failed to calculate assets: ${a instanceof Error?a.message:String(a)}`)}}async getBorrowedAmount({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s,baseMarginPool:i,quoteMarginPool:o}){if(!e||!n||!r||!s||!i||!o)throw new Error("All parameters are required");try{let{baseBorrowedShare:a,quoteBorrowedShare:c}=await this.getBorrowedShares({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s}),u=!!M(a).gt(M(c)),d=u?i:o,f=u?a:c,p=new Y;p.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_pool::borrow_shares_to_amount`,arguments:[p.object(d),p.pure.u64(BigInt(f)),p.object.clock()],typeArguments:[u?r:s]});let m=await this.sdk.fullClient.simulateTransaction({transaction:p,checksEnabled:!1,include:{commandResults:!0,json:!0}}),b=A.U64.parse(m?.commandResults?.[0]?.returnValues?.[0]?.bcs);return u?{baseBorrowedAmount:b.toString(),quoteBorrowedAmount:"0"}:{baseBorrowedAmount:"0",quoteBorrowedAmount:b.toString()}}catch(a){throw new Error(`Failed to get borrowed amount: ${a instanceof Error?a.message:String(a)}`)}}async deposit({marginManager:e,baseCoin:n,quoteCoin:r,amount:s,depositCoinType:i},o=new Y){if(!e)throw new Error("Margin manager is required");if(!n?.coinType||!r?.coinType)throw new Error("Base and quote coin types are required");if(!s||BigInt(s)<=0n)throw new Error("Valid deposit amount is required");if(!n.feed||!r.feed)throw new Error("Base and quote coin feeds are required");try{let a=Wt.buildCoinWithBalance(BigInt(s),i,o),c=await this.pythPrice.updatePythPriceIDs([n.feed,r.feed],o),u=c.get(n.feed),d=c.get(r.feed);if(!u||!d)throw new Error("Failed to get price feed object IDs");return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::deposit`,arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),typeof e=="string"?o.object(e):e,o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(u),o.object(d),a,o.object(he)],typeArguments:[n.coinType,r.coinType,i]}),o}catch(a){throw new Error(`Failed to deposit: ${a instanceof Error?a.message:String(a)}`)}}async withdraw({account:e,marginManager:n,baseMarginPool:r,quoteMarginPool:s,baseCoin:i,quoteCoin:o,pool:a,amount:c,withdrawCoinType:u},d=new Y){if(!e||!n||!r||!s||!a)throw new Error("All required parameters must be provided");if(!i?.coinType||!o?.coinType)throw new Error("Base and quote coin types are required");if(!c||BigInt(c)<=0n)throw new Error("Valid withdraw amount is required");if(!i.feed||!o.feed)throw new Error("Base and quote coin feeds are required");try{let f=await this.pythPrice.updatePythPriceIDs([i.feed,o.feed],d),p=f.get(i.feed),m=f.get(o.feed);if(!p||!m)throw new Error("Failed to get price feed object IDs");let b=d.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::withdraw`,arguments:[d.object(this._sdk.sdkOptions.margin_utils.global_config_id),d.object(this._sdk.sdkOptions.margin_utils.versioned_id),d.object(n),d.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),d.object(r),d.object(s),d.object(p),d.object(m),d.object(a),d.pure.u64(BigInt(c)),d.object(he)],typeArguments:[i.coinType,o.coinType,u]});if(Wt.isSuiCoin(u))d.transferObjects([b],e);else{let v=await this._sdk.fullClient.getOwnerCoinAssets(e,u),T=Wt.buildCoinForAmount(d,v,BigInt(0),u,!1);T.target_coin?(d.mergeCoins(T.target_coin,[b]),T.is_mint_zero_coin&&d.transferObjects([T.target_coin],e)):d.transferObjects([b],e)}return d}catch(f){throw new Error(`Failed to withdraw: ${f instanceof Error?f.message:String(f)}`)}}async borrowBase({marginManager:e,baseMarginPool:n,baseCoin:r,quoteCoin:s,pool:i,amount:o},a=new Y){if(!e||!n||!i)throw new Error("Margin manager, base margin pool, and pool are required");if(!r?.coinType||!s?.coinType)throw new Error("Base and quote coin types are required");if(!o||BigInt(o)<=0n)throw new Error("Valid borrow amount is required");if(!r.feed||!s.feed)throw new Error("Base and quote coin feeds are required");try{let c=await this.pythPrice.updatePythPriceIDs([r.feed,s.feed],a),u=c.get(r.feed),d=c.get(s.feed);if(!u||!d)throw new Error("Failed to get price feed object IDs");return a.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::borrow_base`,arguments:[a.object(this.sdk.sdkOptions.margin_utils.global_config_id),a.object(this.sdk.sdkOptions.margin_utils.versioned_id),a.object(e),a.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),a.object(n),a.object(u),a.object(d),a.object(i),a.pure.u64(BigInt(o)),a.object(he)],typeArguments:[r.coinType,s.coinType]}),a}catch(c){throw new Error(`Failed to borrow base: ${c instanceof Error?c.message:String(c)}`)}}async borrowQuote({marginManager:e,quoteMarginPool:n,baseCoin:r,quoteCoin:s,pool:i,amount:o},a=new Y){if(!e||!n||!i)throw new Error("Margin manager, quote margin pool, and pool are required");if(!r?.coinType||!s?.coinType)throw new Error("Base and quote coin types are required");if(!o||BigInt(o)<=0n)throw new Error("Valid borrow amount is required");if(!r.feed||!s.feed)throw new Error("Base and quote coin feeds are required");try{let c=await this.pythPrice.updatePythPriceIDs([r.feed,s.feed],a),u=c.get(r.feed),d=c.get(s.feed);if(!u||!d)throw new Error("Failed to get price feed object IDs");return a.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::borrow_quote`,arguments:[a.object(this.sdk.sdkOptions.margin_utils.global_config_id),a.object(this.sdk.sdkOptions.margin_utils.versioned_id),typeof e=="string"?a.object(e):e,a.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),a.object(n),a.object(u),a.object(d),a.object(i),a.pure.u64(BigInt(o)),a.object(he)],typeArguments:[r.coinType,s.coinType]}),a}catch(c){throw new Error(`Failed to borrow quote: ${c instanceof Error?c.message:String(c)}`)}}async repayBase({marginManager:e,baseMarginPool:n,baseCoin:r,quoteCoin:s,amount:i},o=new Y){if(!e||!n||!r||!s)throw new Error("All required parameters (marginManager, baseMarginPool, baseCoin, quoteCoin) are required");if(i&&BigInt(i)<=0n)throw new Error("Repay amount must be greater than zero if provided");let a={marginManager:e,baseCoin:r,quoteCoin:s,amount:i,depositCoinType:r.coinType};await this.deposit(a,o);try{return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::repay_base`,arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),o.object(e),o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(n),o.object.option({type:"u64",value:i?o.pure.u64(i):null}),o.object(he)],typeArguments:[r.coinType,s.coinType]}),o}catch(c){throw new Error(`Failed to repay base: ${c instanceof Error?c.message:String(c)}`)}}async repayQuote({marginManager:e,quoteMarginPool:n,baseCoin:r,quoteCoin:s,amount:i},o=new Y){if(!e||!n||!r||!s)throw new Error("All required parameters (marginManager, quoteMarginPool, baseCoin, quoteCoin) are required");if(i&&BigInt(i)<=0n)throw new Error("Repay amount must be greater than zero if provided");let a={marginManager:e,baseCoin:r,quoteCoin:s,amount:i,depositCoinType:s.coinType};await this.deposit(a,o);try{return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::repay_quote`,arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),o.object(e),o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(n),o.object.option({type:"u64",value:i?o.pure.u64(i):null}),o.object(he)],typeArguments:[r.coinType,s.coinType]}),o}catch(c){throw new Error(`Failed to repay quote: ${c instanceof Error?c.message:String(c)}`)}}async repay({marginManager:e,baseMarginPool:n,quoteMarginPool:r,baseCoin:s,quoteCoin:i,isBase:o,amount:a},c=new Y){try{let u=this.sdk.senderAddress,d,f=a;a||(d=await this.getBorrowedAmount({account:u,marginManager:e,baseCoinType:s?.coinType,quoteCoinType:i?.coinType,baseMarginPool:n,quoteMarginPool:r}),f=o?d.baseBorrowedAmount:d.quoteBorrowedAmount);let p,m={marginManager:e,baseCoin:s,quoteCoin:i,depositCoinType:o?s.coinType:i.coinType};if(o){let b=await this.getBaseBalance({account:u,marginManager:e,baseCoinType:s?.coinType,quoteCoinType:i?.coinType});p=M(f).sub(b).toString()}else{let b=await this.getQuoteBalance({account:u,marginManager:e,baseCoinType:s?.coinType,quoteCoinType:i?.coinType});p=M(f).sub(b).toString()}M(p).gt(0)&&await this.deposit({...m,amount:p},c),c.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::${o?"repay_base":"repay_quote"}`,arguments:[c.object(this._sdk.sdkOptions.margin_utils.global_config_id),c.object(this._sdk.sdkOptions.margin_utils.versioned_id),c.object(e),c.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),c.object(o?n:r),c.object.option({type:"u64",value:a?c.pure.u64(a):null}),c.object(he)],typeArguments:[s.coinType,i.coinType]})}catch(u){console.log("\u{1F680} ~ MarginUtilsModule ~ repay ~ error:",u)}return c}removeReferralKey=(e,n,r,s,i=new Y)=>{let o=i.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::pool::id`,typeArguments:[r,s],arguments:[i.object(n)]});return i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::unset_margin_manager_referral`,typeArguments:[r,s],arguments:[typeof e=="string"?i.object(e):e,o]})};async#e(e,n,r){if(!e.feed||!n.feed)throw new Error("Base and quote coin feeds are required");let s=await this.pythPrice.updatePythPriceIDs([e.feed,n.feed],r),i=s.get(e.feed),o=s.get(n.feed);if(!i||!o)throw new Error("Failed to get price feed object IDs");return{baseOracle:i,quoteOracle:o}}async placeMarginMarketOrder({marginManager:e,poolInfo:n,baseMarginPool:r,quoteMarginPool:s,selfMatchingOption:i,quantity:o,amountLimit:a,isBid:c,payWithDeep:u,exactBase:d,referralKey:f},p=new Y){if(!e||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r||!s)throw new Error("Base and quote margin pool ids are required");if(!o||BigInt(yi(o,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order quantity is required");if(!a||BigInt(yi(a,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order amount limit is required");let{id:m,baseCoin:b,quoteCoin:v}=n;if(b.decimals===void 0||v.decimals===void 0)throw new Error("Base and quote coin decimals are required");f&&this.removeReferralKey(e,m,b.coinType,v.coinType,p);try{let{baseOracle:T,quoteOracle:O}=await this.#e(b,v,p);return p.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_margin_market_order_v2`,arguments:[p.object(this.sdk.sdkOptions.margin_utils.global_config_id),p.object(this.sdk.sdkOptions.margin_utils.versioned_id),typeof e=="string"?p.object(e):e,p.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),p.object(m),p.object(r),p.object(s),p.object(T),p.object(O),p.pure.u8(i),p.pure.u64(o),p.pure.bool(c),p.pure.bool(u),p.pure.bool(d===void 0?!c:d),p.pure.u64(a),p.object(he)],typeArguments:[b.coinType,v.coinType]}),p}catch(T){throw new Error(`Failed to place market order: ${T instanceof Error?T.message:String(T)}`)}}async placeMarginLimitOrder({marginManager:e,poolInfo:n,baseMarginPool:r,quoteMarginPool:s,orderType:i,selfMatchingOption:o,priceInput:a,quantity:c,isBid:u,payWithDeep:d,expirationTimestamp:f=Date.now()+31536e8,referralKey:p},m=new Y){if(!e||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r||!s)throw new Error("Base and quote margin pool ids are required");if(!a||!c)throw new Error("Price and quantity are required");let{id:b,baseCoin:v,quoteCoin:T}=n;if(v.decimals===void 0||T.decimals===void 0)throw new Error("Base and quote coin decimals are required");try{let O=BigInt(M(a).mul(10**(T.decimals-v.decimals+9)).toString()),B=BigInt(yi(c,v.decimals));if(O<=0n||B<=0n)throw new Error("Price and quantity must be greater than zero");p&&this.removeReferralKey(e,b,v.coinType,T.coinType,m);let{baseOracle:C,quoteOracle:U}=await this.#e(v,T,m);return m.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_margin_limit_order_v2`,arguments:[m.object(this.sdk.sdkOptions.margin_utils.global_config_id),m.object(this.sdk.sdkOptions.margin_utils.versioned_id),m.object(e),m.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),m.object(b),m.object(r),m.object(s),m.object(C),m.object(U),m.pure.u8(i),m.pure.u8(o),m.pure.u64(O),m.pure.u64(B),m.pure.bool(u),m.pure.bool(d),m.pure.u64(f),m.object(he)],typeArguments:[v.coinType,T.coinType]}),m}catch(O){throw new Error(`Failed to place limit order: ${O instanceof Error?O.message:String(O)}`)}}modifyMarginOrder({marginManager:e,poolInfo:n,orderId:r,newQuantity:s},i=new Y){if(!e||!n||!r||!s)throw new Error("All parameters (marginManager, poolInfo, orderId, newQuantity) are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(n.baseCoin.decimals===void 0)throw new Error("Base coin decimals are required");try{let o=BigInt(yi(s,n.baseCoin.decimals));if(o<=0n)throw new Error("New quantity must be greater than zero");return i.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::modify_margin_order`,arguments:[i.object(this.sdk.sdkOptions.margin_utils.global_config_id),i.object(this.sdk.sdkOptions.margin_utils.versioned_id),i.object(e),i.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),i.object(n.id),i.pure.u128(r),i.pure.u64(o),i.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),i}catch(o){throw new Error(`Failed to modify order: ${o instanceof Error?o.message:String(o)}`)}}cancelMarginOrder({marginManager:e,poolInfo:n,orderId:r},s=new Y){if(!e||!n||!r)throw new Error("All parameters (marginManager, poolInfo, orderId) are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");try{return s.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::cancel_margin_order`,arguments:[s.object(this.sdk.sdkOptions.margin_utils.global_config_id),s.object(this.sdk.sdkOptions.margin_utils.versioned_id),s.object(e),s.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),s.object(n.id),s.pure.u128(r),s.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),s}catch(i){throw new Error(`Failed to cancel order: ${i instanceof Error?i.message:String(i)}`)}}cancelAllMarginOrders({marginManager:e,poolInfo:n},r=new Y){if(!e||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");try{return r.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::cancel_all_margin_orders`,arguments:[r.object(this.sdk.sdkOptions.margin_utils.global_config_id),r.object(this.sdk.sdkOptions.margin_utils.versioned_id),r.object(e),r.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),r.object(n.id),r.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),r}catch(s){throw new Error(`Failed to cancel all orders: ${s instanceof Error?s.message:String(s)}`)}}async placeReduceOnlyLimitOrder({marginManager:e,poolInfo:n,baseMarginPool:r,quoteMarginPool:s,orderType:i,selfMatchingOption:o,priceInput:a,quantity:c,isBid:u,payWithDeep:d,expirationTimestamp:f=Date.now()+31536e8},p=new Y){if(!e||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r||!s)throw new Error("Base and quote margin pool ids are required");if(!a||!c)throw new Error("Price and quantity are required");let{baseCoin:m,quoteCoin:b}=n;if(m.decimals===void 0||b.decimals===void 0)throw new Error("Base and quote coin decimals are required");try{let v=BigInt(M(a).mul(10**(b.decimals-m.decimals+9)).toString()),T=BigInt(yi(c,m.decimals));if(v<=0n||T<=0n)throw new Error("Price and quantity must be greater than zero");let{baseOracle:O,quoteOracle:B}=await this.#e(m,b,p);return p.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_reduce_only_limit_order_v2`,arguments:[p.object(this.sdk.sdkOptions.margin_utils.global_config_id),p.object(this.sdk.sdkOptions.margin_utils.versioned_id),p.object(e),p.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),p.object(n.id),p.object(r),p.object(s),p.object(O),p.object(B),p.pure.u8(i),p.pure.u8(o),p.pure.u64(v),p.pure.u64(T),p.pure.bool(u),p.pure.bool(d),p.pure.u64(f),p.object(he)],typeArguments:[m.coinType,b.coinType]}),p}catch(v){throw new Error(`Failed to place reduce only limit order: ${v instanceof Error?v.message:String(v)}`)}}async placeReduceOnlyMarketOrder({marginManager:e,poolInfo:n,baseMarginPool:r,quoteMarginPool:s,selfMatchingOption:i,quantity:o,amountLimit:a,isBid:c,payWithDeep:u},d=new Y){if(!e||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r||!s)throw new Error("Base and quote margin pool ids are required");if(!o||BigInt(yi(o,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order quantity is required");if(!a||BigInt(yi(a,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order amount limit is required");let{baseCoin:f,quoteCoin:p}=n;if(f.decimals===void 0||p.decimals===void 0)throw new Error("Base and quote coin decimals are required");try{let{baseOracle:m,quoteOracle:b}=await this.#e(f,p,d);return d.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_reduce_only_market_order_v2`,arguments:[d.object(this.sdk.sdkOptions.margin_utils.global_config_id),d.object(this.sdk.sdkOptions.margin_utils.versioned_id),d.object(e),d.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),d.object(n.id),d.object(r),d.object(s),d.object(m),d.object(b),d.pure.u8(i),d.pure.u64(o),d.pure.bool(c),d.pure.bool(u),d.pure.u64(a),d.object(he)],typeArguments:[f.coinType,p.coinType]}),d}catch(m){throw new Error(`Failed to place reduce only market order: ${m instanceof Error?m.message:String(m)}`)}}async getOpenOrder(e,n,r,s,i=!1,o=new Y){let a;if(s)a=s;else{o.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::pool::account_open_orders`,arguments:[o.object(e.address),i?r:o.object(r)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let p=(await this._sdk.fullClient.simulateTransaction({transaction:o,include:{commandResults:!0,json:!0},checksEnabled:!1})).commandResults[i?1:0].returnValues[0].bcs;a=A.struct("VecSet",{constants:A.vector(A.U128)}).parse(new Uint8Array(p)).constants}if(a.length===0)return[];let c=a.map(f=>({pool:{pool_id:e.address,baseCoinType:e.baseCoin.coinType,quoteCoinType:e.quoteCoin.coinType},orderId:f})),u=await this.sdk.DeepbookUtils.getOrderInfoList(c,n)||[],d=[];return u.forEach(f=>{let p=this.sdk.DeepbookUtils.decodeOrderId(BigInt(f.order_id));d.push({...f,price:p.price,isBid:p.isBid,pool:e})}),d}async getAccountOpenOrders({poolInfo:e,marginManager:n}){try{let r=new Y,s=r.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[r.object(n)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});return await this.getOpenOrder(e,this.sdk.senderAddress,s,void 0,!0,r)}catch(r){throw new Error(`Failed to get account open orders: ${r instanceof Error?r.message:String(r)}`)}}async getAccountAllMarketsOpenOrders(e,n){try{if(!e||!n||n.length===0)throw new Error("Account or pools are required");let r=[];for(let s=0;s<n.length;s++){let i=new Y,o=n[s];if(o.margin_manager_id){let a=await i.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[i.object(o.margin_manager_id)],typeArguments:[o.baseCoin.coinType,o.quoteCoin.coinType]}),c=await this.getOpenOrder(o,this.sdk.senderAddress,a,void 0,!0,i);r.push(...c)}}return r}catch(r){throw new Error(`Failed to get account all markets open orders: ${r instanceof Error?r.message:String(r)}`)}}mintSupplierCap(e=new Y,n){let r=e.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::mint_supplier_cap`,arguments:[e.object(this._sdk.sdkOptions.margin_utils.versioned_id),e.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),e.object(he)]});return n&&e.transferObjects([r],this.sdk.senderAddress),{tx:e,supplierCap:r}}async querySupplierCap(){try{return((await this.sdk.fullClient.queryEventsByPage({MoveEventType:`${this._sdk.sdkOptions.margin_utils.package_id}::margin_utils::SupplierCapCreatedEvent`}))?.data||[]).filter(s=>s.parsedJson?.owner===this.sdk.senderAddress)[0].parsedJson.supplier_cap_id}catch(e){throw new Error(`Failed to get account supplyCap: ${e instanceof Error?e.message:String(e)}`)}}mintSupplierCapAndSupply({marginPool:e,supplyCoinType:n,amount:r}){let s=new Y,{supplierCap:i}=this.mintSupplierCap(s,!1);return this.supply({marginPool:e,supplierCap:i,supplyCoinType:n,amount:r,tx:s}),s.transferObjects([i],this.sdk.senderAddress),s}supply({marginPool:e,supplierCap:n,supplyCoinType:r,amount:s,tx:i}){let o=i??new Y;if(!n)throw new Error("Either supplierCap must be provided");let a=Wt.buildCoinWithBalance(BigInt(s),r,o);return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::supply`,typeArguments:[r],arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),o.object(e),o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(n),a,o.pure.option("address","0x0"),o.object(he)]}),o}supplierWithdraw({marginPool:e,withdrawCoinType:n,amount:r,supplierCapId:s,hasSwap:i,withdrawAll:o,tx:a=new Y}){let c=a.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::supplier_withdraw`,typeArguments:[n],arguments:[a.object(this._sdk.sdkOptions.margin_utils.global_config_id),a.object(this._sdk.sdkOptions.margin_utils.versioned_id),a.object(e),a.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),a.object(s),a.object.option({type:"u64",value:o?null:a.pure.u64(r)}),a.object(he)]});return i?c:(a.transferObjects([c],this.sdk.senderAddress),a)}withdrawReferralFees({marginPool:e}){let n=new Y,r=n.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::withdraw_referral_fees`,arguments:[n.object(this._sdk.sdkOptions.margin_utils.versioned_id),n.object(e),n.object(this._sdk.sdkOptions.margin_utils.registry_id),n.object.option({type:"0x1",value:null}),n.object(he)],typeArguments:[this.deepCoin.coinType]});return n.transferObjects([r],this.sdk.senderAddress),n}async getUserSupplyAmount({marginPool:e,supplyCoin:n,supplierCapId:r}){let s=new Y;s.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::get_user_supply_amount`,typeArguments:[n.coinType],arguments:[s.object(e),s.object(r),s.object(he)]});let i=await this.sdk.fullClient.sendSimulationTransaction(s,this.sdk.senderAddress);if(!i.commandResults||!i.commandResults[0]||!i.commandResults[0].returnValues||!i.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${i.effects?.status?.error||"Unknown error"}`);return this.#t(BigInt(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs))),n.scalar,n.decimals)}async getDeepBookMarginRegistry(){let n=(await this.sdk.fullClient.getObject({objectId:this._sdk.sdkOptions.margin_utils.margin_registry_id,include:{json:!0}})).data.content.fields.inner.fields.id.id,r=await this.sdk.fullClient.getDynamicField({parentId:n,name:{type:"u64",bcs:A.u64().serialize(1).toBytes()}}),s=r.data.content.fields.value.fields.pool_registry.fields.id.id,i=r.data.content.fields.value.fields.margin_pools.fields.id.id;return{pool_registry_table_id:s,margin_pool_table_id:i}}async getDeepBookPool(){let{data:e}=await this.sdk.fullClient.listDynamicFields({parentId:this.sdk.sdkOptions.margin_utils.pool_registry_table_id}),n=e.map(i=>i.objectId),r=await this.sdk.fullClient.batchGetObjects(n,{json:!0}),s=[];for(let i=0;i<r.length;i++){let o=r[i].json;s.push(fT(o))}return s}async getDeepBookMarginPool(){let{data:e}=await this.sdk.fullClient.getDynamicFieldsByPage(this.sdk.sdkOptions.margin_utils.margin_pool_table_id),n=e.map(c=>c.fieldId),r=await this.sdk.fullClient.batchGetObjects(n,{json:!0}),s=[],i=[];for(let c=0;c<r.length;c++){let u=r[c].json;i.push(u.value),s.push({deposit_coin_type:u.name.name,id:u.id})}let o=await this.sdk.fullClient.batchGetObjects(i,{json:!0}),a=[];for(let c=0;c<o.length;c++){let u=o[c].json;a.push(pT(u,s[c]))}return a}async getBaseQuantityIn(e,n,r,s=.01){let i=new Y;i.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::get_base_quantity_in`,typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType],arguments:[i.object(e.address),i.pure.u64(n),i.pure.bool(r),i.object(he)]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,this.sdk.senderAddress);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);let a=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)),c=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs)),u=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[2].bcs));return{quantityOut:c.toString(),quantityInLeft:M(a.toString()).mul(M(1+s)).ceil().toString(),deep_fee_amount:u.toString()}}async getQuoteQuantityIn(e,n,r,s=.01){let i=new Y;i.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::get_quote_quantity_in`,typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType],arguments:[i.object(e.address),i.pure.u64(n),i.pure.bool(r),i.object(he)]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,this.sdk.senderAddress);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);let a=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)),c=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs)),u=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[2].bcs));return{quantityOut:a.toString(),quantityInLeft:M(c.toString()).mul(M(1+s)).ceil().toString(),deep_fee_amount:u.toString()}}async getBaseQuantityOutInput(e,n,r){let s=new Y;s.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}${r?"::pool::get_base_quantity_out":"::pool::get_base_quantity_out_input_fee"}`,typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType],arguments:[s.object(e.address),s.pure.u64(n),s.object(he)]});let i=await this.sdk.fullClient.sendSimulationTransaction(s,this.sdk.senderAddress);if(!i.commandResults||!i.commandResults[0]||!i.commandResults[0].returnValues||!i.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${i.effects?.status?.error||"Unknown error"}`);let o=A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs)),a=A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs)),c=A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs));return{base_amount:o.toString(),quote_amount:a.toString(),deep_fee_amount:c.toString()}}async getQuoteQuantityOutInput(e,n,r){let s=new Y;s.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::${r?"get_quote_quantity_out":"get_quote_quantity_out_input_fee"}`,typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType],arguments:[s.object(e.address),s.pure.u64(n),s.object(he)]});let i=await this.sdk.fullClient.sendSimulationTransaction(s,this.sdk.senderAddress);if(!i.commandResults||!i.commandResults[0]||!i.commandResults[0].returnValues||!i.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${i.effects?.status?.error||"Unknown error"}`);let o=A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs)),a=A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs)),c=A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs));return{base_amount:o.toString(),quote_amount:a.toString(),deep_fee_amount:c.toString()}}async getAccount(e,n,r=new Y){let s=r.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[r.object(e)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),i=[n];for(let d=0;d<i.length;d++){let f=i[d];r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::order_trader::get_account_id`,arguments:[r.object(f.address),typeof s=="string"?r.object(s):s],typeArguments:[f.baseCoin.coinType,f.quoteCoin.coinType]})}let o=await this._sdk.fullClient.simulateTransaction({transaction:r,checksEnabled:!1,include:{events:!0,json:!0}}),a=o.Transaction??o.FailedTransaction;if(!a?.events?.length)return null;let c,u=[];return a.events.forEach((d,f)=>{c=d?.json;let p=c.account.open_orders.contents,m=c.account.owed_balances,b=c.account.settled_balances,v=c.account.unclaimed_rebates,T=c.account.taker_volume;u.push({balance_manager_id:s,open_orders:p,owed_balances:m,settled_balances:b,unclaimed_rebates:v,taker_volume:T,poolInfo:i[f]})}),u}async withdrawSettledAmounts({poolInfo:e,marginManager:n},r=new Y){return r.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::pool_proxy::withdraw_settled_amounts`,arguments:[r.object(this.sdk.sdkOptions.margin_utils.margin_registry_id),r.object(n),r.object(e.address)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]}),r}#t(e,n,r){if(n<=0||r<0)throw new Error("Scalar must be positive and decimals must be non-negative");let s=BigInt(n),i=e/s,o=e%s;if(o===0n)return i.toString();let a=n.toString().length-1,d=o.toString().padStart(a,"0").slice(0,r).replace(/0+$/,"");return d?`${i}.${d}`:i.toString()}async getMarginPoolStateForInterest(e){if(!e)throw new Error("marginPoolId is required");let n=await this.sdk.fullClient.getObject({objectId:e,include:{json:!0}});if(!n?.object?.json)throw new Error(`Failed to fetch margin pool: ${e}`);let r=n.object.json,s=r.state,i=r.config,o=i.interest_config,a=i.margin_pool_config;return{poolState:{total_supply:BigInt(s.total_supply),total_borrow:BigInt(s.total_borrow),supply_shares:BigInt(s.supply_shares),borrow_shares:BigInt(s.borrow_shares),last_update_timestamp:BigInt(s.last_update_timestamp)},interestConfig:{base_rate:BigInt(o.base_rate),base_slope:BigInt(o.base_slope),optimal_utilization:BigInt(o.optimal_utilization),excess_slope:BigInt(o.excess_slope)},marginPoolConfig:{protocol_spread:BigInt(a.protocol_spread),max_utilization_rate:BigInt(a.max_utilization_rate),min_borrow:BigInt(a.min_borrow),supply_cap:BigInt(a.supply_cap)}}}async getMarginPoolStateForInterestList(e){if(!e||e.length===0)throw new Error("marginPoolIds is required");let n=await this.sdk.fullClient.batchGetObjects(e,{json:!0}),r=[];return e.forEach((i,o)=>{let a=n[o];if(a){let c=a.json.state,u=a.json.config,d=u.interest_config,f=u.margin_pool_config;r.push({poolState:{total_supply:BigInt(c.total_supply),total_borrow:BigInt(c.total_borrow),supply_shares:BigInt(c.supply_shares),borrow_shares:BigInt(c.borrow_shares),last_update_timestamp:BigInt(c.last_update_timestamp)},interestConfig:{base_rate:BigInt(d.base_rate),base_slope:BigInt(d.base_slope),optimal_utilization:BigInt(d.optimal_utilization),excess_slope:BigInt(d.excess_slope)},marginPoolConfig:{protocol_spread:BigInt(f.protocol_spread),max_utilization_rate:BigInt(f.max_utilization_rate),min_borrow:BigInt(f.min_borrow),supply_cap:BigInt(f.supply_cap)}})}}),{poolStateObj:Object.fromEntries(e.map((i,o)=>[i,r[o]])),poolStateList:r}}async getChainTimestamp(){let{response:e}=await this.sdk.fullClient.ledgerService.getServiceInfo({}),n=e.timestamp;if(!n)throw new Error("No timestamp in service info");return BigInt(n.seconds)*1000n+BigInt(n.nanos)/1000000n}async batchGetBorrowedShares({account:e,marginManagerList:n}){let r=new Y;return n.forEach(i=>{r.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::borrowed_shares`,arguments:[r.object(i.marginManagerId)],typeArguments:[i.baseCoinType,i.quoteCoinType]})}),(await this.sdk.fullClient.sendSimulationTransaction(r,e)).commandResults.map((i,o)=>{let a=A.U64.parse(new Uint8Array(i.returnValues[0].bcs)),c=A.U64.parse(new Uint8Array(i.returnValues[1].bcs));return{marginManagerId:n[o].marginManagerId,baseBorrowedShare:a,quoteBorrowedShare:c}})}async betchGetOpenOrders({account:e,marginManagerList:n},r=new Y,s=!1){n.forEach(m=>{let b=r.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[r.object(m.marginManagerId)],typeArguments:[m.baseCoinType,m.quoteCoinType]});r.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::pool::account_open_orders`,arguments:[r.object(m.poolId),r.object(b)],typeArguments:[m.baseCoinType,m.quoteCoinType]}),r.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::get_account_id_with_margin_manager`,arguments:[r.object(m.marginManagerId),r.object(m.poolId)],typeArguments:[m.baseCoinType,m.quoteCoinType]}),r.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::locked_balance_with_margin_manager`,arguments:[r.object(m.marginManagerId),r.object(m.poolId)],typeArguments:[m.baseCoinType,m.quoteCoinType]})});let i=await this.sdk.fullClient.simulateTransaction({transaction:r,checksEnabled:!1,include:{events:!0,commandResults:!0,json:!0}}),o=i.Transaction?.events.map((m,b)=>({marginManagerId:n[b].marginManagerId,...m?.json?.account?.settled_balances||{}})),a=i.commandResults.filter((m,b)=>(b-1)%4===0),c=A.struct("VecSet",{constants:A.vector(A.U128)}),u=[];a.forEach((m,b)=>{let v=c.parse(m.returnValues[0].bcs).constants;v.length>0&&v.forEach(T=>{u.push({pool:{pool_id:n[b].poolId,baseCoinType:n[b].baseCoinType,quoteCoinType:n[b].quoteCoinType},marginManagerId:n[b].marginManagerId,orderId:T})})});let d=i.commandResults.filter((m,b)=>(b-3)%4===0),f=[];d.forEach((m,b)=>{f.push({marginManagerId:n[b].marginManagerId,base:A.U64.parse(m.returnValues[0].bcs),quote:A.U64.parse(m.returnValues[1].bcs),deep:A.U64.parse(m.returnValues[2].bcs)})});let p=[];return u.forEach((m,b)=>{let v=this.sdk.DeepbookUtils.decodeOrderId(BigInt(m.orderId));p.push({...m,price:v.price.toString(),isBid:v.isBid})}),{openOrders:p,settledBalances:o,lockedBalances:f}}async getAllPosRelevantData({account:e,marginManagerList:n}){try{let{openOrders:r,settledBalances:s,lockedBalances:i}=await this.betchGetOpenOrders({account:e,marginManagerList:n}),o=await this.batchGetBorrowedShares({account:e,marginManagerList:n}),a=new Y,c=0,u=[];n.forEach(p=>{a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::base_balance`,arguments:[a.object(p.marginManagerId)],typeArguments:[p.baseCoinType,p.quoteCoinType]}),u[c]={type:"base_balance",marginManagerId:p.marginManagerId},c++,a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::quote_balance`,arguments:[a.object(p.marginManagerId)],typeArguments:[p.baseCoinType,p.quoteCoinType]}),u[c]={type:"quote_balance",marginManagerId:p.marginManagerId},c++,a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::deep_balance`,arguments:[a.object(p.marginManagerId)],typeArguments:[p.baseCoinType,p.quoteCoinType]}),u[c]={type:"deep_balance",marginManagerId:p.marginManagerId},c++;let m=o?.find(b=>b.marginManagerId===p.marginManagerId);if(m&&(Number(m.baseBorrowedShare)>0||Number(m.quoteBorrowedShare)>0)){let b=m.baseBorrowedShare,v=m.quoteBorrowedShare,T=!!M(b).gt(M(v)),O=T?p.baseMarginPool:p.quoteMarginPool,B=T?b:v;a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_pool::borrow_shares_to_amount`,arguments:[a.object(O),a.pure.u64(BigInt(B)),a.object.clock()],typeArguments:[T?p?.baseCoinType:p?.quoteCoinType]}),u[c]={type:T?"borrow_base_amount":"borrow_quote_amount",marginManagerId:p.marginManagerId},c++}}),nT(a);let d=await this.sdk.fullClient.simulateTransaction({transaction:a,checksEnabled:!1,include:{commandResults:!0,events:!0,json:!0}}),f=Object.fromEntries(n.map(p=>[p.marginManagerId,{...p,quote_balance:"0",base_balance:"0",deep_balance:"0",borrow_base_amount:"0",borrow_quote_amount:"0",open_orders:[],settled_balances:{base:"0",quote:"0",deep:"0"}}]));return d?.commandResults?.forEach((p,m)=>{let b=u[m],v=A.U64.parse(new Uint8Array(p.returnValues[0].bcs));f[b.marginManagerId]={...f[b.marginManagerId],[b.type]:v}}),r?.forEach(p=>{f[p.marginManagerId].open_orders.push(p)}),s?.forEach(p=>{f[p.marginManagerId].settled_balances=p}),i?.forEach(p=>{f[p.marginManagerId].locked_balances=p}),Object.values(f)?.forEach(p=>{p.locked_balances&&p.settled_balances&&(p.locked_balances={...p.locked_balances,base:M(p.locked_balances.base||"0").minus(M(p.settled_balances.base||"0")).toString(),quote:M(p.locked_balances.quote||"0").minus(M(p.settled_balances.quote||"0")).toString(),deep:M(p.locked_balances.deep||"0").minus(M(p.settled_balances.deep||"0")).toString()})}),f}catch(r){throw new Error(`Failed to get all pos relevant data: ${r instanceof Error?r.message:String(r)}`)}}async addConditionalOrder(e,n){let{margin_utils:r}=this.sdk.sdkOptions,{global_config_id:s,versioned_id:i,margin_registry_id:o}=r,{margin_manager_id:a,pool_id:c,base_coin:u,quote_coin:d,conditional_order_id:f,pending_order:p,is_trigger_below_price:m,trigger_price:b}=e,v=await this.pythPrice.updatePythPriceIDs([u.feed,d.feed],n),T=v.get(u.feed),O=v.get(d.feed);if(!T||!O)throw new Error("Failed to get price feed object IDs");let B=n.moveCall({target:`${r.published_at}::margin_utils::new_condition`,arguments:[n.pure.bool(m),n.pure.u64(b)]}),C=this.newPendingOrder(p,n);n.moveCall({target:`${r.published_at}::margin_utils::add_conditional_order`,arguments:[n.object(s),n.object(i),n.object(a),n.object(c),n.object(T),n.object(O),n.object(o),typeof f=="string"?n.pure.u64(BigInt(f)):f,B,C,n.object(cd)],typeArguments:[u.coinType,d.coinType]})}newPendingOrder(e,n){let{margin_utils:r}=this.sdk.sdkOptions;if("price"in e){let{client_order_id:s,order_type:i,self_matching_option:o,price:a,quantity:c,is_bid:u,pay_with_deep:d,expire_timestamp:f}=e;return n.moveCall({target:`${r.published_at}::margin_utils::new_pending_limit_order`,arguments:[n.pure.u64(s),n.pure.u8(i),n.pure.u8(o),n.pure.u64(a),n.pure.u64(c),n.pure.bool(u),n.pure.bool(d),n.pure.u64(f)]})}else{let{client_order_id:s,self_matching_option:i,quantity:o,is_bid:a,pay_with_deep:c}=e;return n.moveCall({target:`${r.published_at}::margin_utils::new_pending_market_order`,arguments:[n.pure.u64(s),n.pure.u8(i),n.pure.u64(o),n.pure.bool(a),n.pure.bool(c)]})}}cancelAllConditionalOrders(e,n){let{margin_utils:r}=this.sdk.sdkOptions,{global_config_id:s,versioned_id:i}=r,{margin_manager_id:o,base_coin_type:a,quote_coin_type:c}=e;n.moveCall({target:`${r.published_at}::margin_utils::cancel_all_conditional_orders`,arguments:[n.object(s),n.object(i),n.object(o),n.object(cd)],typeArguments:[a,c]})}cancelConditionalOrders(e,n){let{margin_utils:r}=this.sdk.sdkOptions,{global_config_id:s,versioned_id:i}=r,{margin_manager_id:o,base_coin_type:a,quote_coin_type:c,conditional_order_id:u}=e;n.moveCall({target:`${r.published_at}::margin_utils::cancel_conditional_order`,arguments:[n.object(s),n.object(i),n.object(o),n.pure.u64(u),n.object(cd)],typeArguments:[a,c]})}async getConditionalOrders(e,n){let{deepbook:r}=this.sdk.sdkOptions;e.forEach(u=>{let{margin_manager_id:d,base_coin_type:f,quote_coin_type:p,conditional_order_ids:m}=u;m.forEach(b=>{n.moveCall({target:`${r.margin_published_at}::margin_manager::conditional_order`,arguments:[n.object(d),n.pure.u64(b)],typeArguments:[f,p]})})});let s=await this.sdk.fullClient.sendSimulationTransaction(n,Q("0x0"));if(!s?.commandResults)return[];let i=A.struct("Condition",{trigger_below_price:A.bool(),trigger_price:A.u64()}),o=A.struct("PendingOrder",{is_limit_order:A.bool(),client_order_id:A.u64(),order_type:A.option(A.u8()),self_matching_option:A.u8(),price:A.option(A.u64()),quantity:A.u64(),is_bid:A.bool(),pay_with_deep:A.bool(),expire_timestamp:A.option(A.u64())}),a=A.struct("ConditionalOrder",{conditional_order_id:A.u64(),condition:i,pending_order:o}),c=u=>{if(u.length===0||u.length===1&&u[0]===0)return null;try{return a.parse(u)}catch{if(u[0]===1&&u.length>1)try{return a.parse(u.subarray(1))}catch{return null}return null}};return s.commandResults.map(u=>{if(!u?.returnValues?.[0]?.bcs)return null;try{let d=u.returnValues[0].bcs,f=c(d);if(!f)return null;let p=this.normalizeConditionalOrder(f);return e.forEach(m=>{m.conditional_order_ids.find(v=>v===p.conditional_order_id)&&(p.margin_manager_id=m.margin_manager_id,p.base_coin_type=m.base_coin_type,p.quote_coin_type=m.quote_coin_type)}),p}catch{return null}})}async getConditionalOrderIds(e,n){n=n||new Y;let{deepbook:r}=this.sdk.sdkOptions,s={};return e.forEach(o=>{let{margin_manager_id:a,base_coin_type:c,quote_coin_type:u}=o;n.moveCall({target:`${r.margin_published_at}::margin_manager::conditional_order_ids`,arguments:[n.object(a)],typeArguments:[c,u]})}),(await this.sdk.fullClient.sendSimulationTransaction(n,Q("0x0"))).commandResults.forEach((o,a)=>{if(o?.returnValues?.[0]?.bcs){let c=new Uint8Array(o.returnValues[0].bcs),u=A.vector(A.u64()).parse(c),d={margin_manager_id:e[a].margin_manager_id,base_coin_type:e[a].base_coin_type,quote_coin_type:e[a].quote_coin_type,conditional_order_ids:u.map(f=>f.toString())};s[e[a].margin_manager_id]=d}}),s}normalizeConditionalOrder(e){let n=r=>typeof r=="bigint"?String(r):r;return{margin_manager_id:"",base_coin_type:"",quote_coin_type:"",conditional_order_id:n(e.conditional_order_id),condition:{trigger_below_price:e.condition.trigger_below_price,trigger_price:n(e.condition.trigger_price)},pending_order:{is_limit_order:e.pending_order.is_limit_order,client_order_id:n(e.pending_order.client_order_id),order_type:e.pending_order.order_type,self_matching_option:e.pending_order.self_matching_option,price:e.pending_order.price,quantity:n(e.pending_order.quantity),is_bid:e.pending_order.is_bid,pay_with_deep:e.pending_order.pay_with_deep,expire_timestamp:e.pending_order.expire_timestamp}}}async getPoolsPriceBounds(e){if(!e?.length)throw new Error("poolInfos is required");for(let p of e){if(!p.poolId||!p.baseCoin?.coinType||!p.quoteCoin?.coinType)throw new Error("poolId, baseCoin.coinType and quoteCoin.coinType are required");if(!p.baseCoin?.feed||!p.quoteCoin?.feed)throw new Error("baseCoin.feed and quoteCoin.feed are required to refresh pool price")}let n=new Y,r=[...new Set(e.flatMap(p=>[p.baseCoin.feed,p.quoteCoin.feed]))],s=await this.pythPrice.updatePythPriceIDs(r,n),i=this.sdk.sdkOptions.margin_utils.margin_registry_id,o=this.sdk.sdkOptions.deepbook.margin_published_at;for(let p of e){let m=s.get(p.baseCoin.feed),b=s.get(p.quoteCoin.feed);if(!m||!b)throw new Error(`Failed to get price feed object IDs for pool ${p.poolId}`);n.moveCall({target:`${o}::pool_proxy::update_current_price`,arguments:[n.object(i),n.object(p.poolId),n.object(m),n.object(b),n.object(he)],typeArguments:[p.baseCoin.coinType,p.quoteCoin.coinType]}),n.moveCall({target:`${o}::margin_registry::get_price_bounds`,arguments:[n.object(i),n.pure.id(p.poolId),n.object(he)]})}let a=await this.sdk.fullClient.simulateTransaction({transaction:n,checksEnabled:!1,include:{commandResults:!0,json:!0}});if(a?.$kind==="FailedTransaction"||!a?.commandResults?.length){let p=a?.FailedTransaction?.status?.error;throw new Error(`Failed to get pools price bounds: ${p?.message??JSON.stringify(p??"Unknown error")}`)}let c=a.commandResults.filter(p=>p?.returnValues?.length===2);if(c.length<e.length)throw new Error(`Failed to get pools price bounds: expected ${e.length} results, got ${c.length}`);let u=[],d=c.slice(-e.length);for(let p=0;p<e.length;p++){let m=d[p],b=m?.returnValues?.[0]?.bcs??m?.returnValues?.[0]?.[0],v=m?.returnValues?.[1]?.bcs??m?.returnValues?.[1]?.[0];if(!b||!v)throw new Error(`Failed to parse price bounds for pool ${e[p].poolId}`);let T=9-e[p].baseDecimals+e[p].quoteDecimals,O=A.U64.parse(new Uint8Array(b)),B=A.U64.parse(new Uint8Array(v));u.push({pool_id:e[p].poolId,lower_bound:M(O).div(10**T).toString(),upper_bound:M(B).div(10**T).toString()})}let f=new Map;return u.forEach(p=>{f.set(p.pool_id,p)}),{priceBounds:u,priceBoundsMap:f}}};var tN="https://graphql.mainnet.sui.io/graphql",nN="https://graphql.testnet.sui.io/graphql",ld=class{_rpcModule;_deepbookUtils;_marginUtils;_pythPrice;_sdkOptions;_senderAddress="";constructor(e){this._sdkOptions=e,this._rpcModule=Em(new Ja({baseUrl:e.fullRpcUrl,network:e.network==="testnet"?"testnet":"mainnet"}),new em({network:e.network,url:e.network==="testnet"?nN:tN}),e.network==="testnet"?"testnet":"mainnet",new Lh({url:e.fullRpcUrl,network:e.network})),this._deepbookUtils=new ad(this),this._marginUtils=new ud(this),this._pythPrice=new ya(this),Nm(this._sdkOptions)}get senderAddress(){return this._senderAddress}set senderAddress(e){this._senderAddress=e}get DeepbookUtils(){return this._deepbookUtils}get MarginUtils(){return this._marginUtils}get PythPrice(){return this._pythPrice}get fullClient(){return this._rpcModule}get sdkOptions(){return this._sdkOptions}};var rN=(s=>(s[s.NO_RESTRICTION=0]="NO_RESTRICTION",s[s.IMMEDIATE_OR_CANCEL=1]="IMMEDIATE_OR_CANCEL",s[s.FILL_OR_KILL=2]="FILL_OR_KILL",s[s.POST_ONLY=3]="POST_ONLY",s))(rN||{}),sN=(r=>(r[r.SELF_MATCHING_ALLOWED=0]="SELF_MATCHING_ALLOWED",r[r.CANCEL_TAKER=1]="CANCEL_TAKER",r[r.CANCEL_MAKER=2]="CANCEL_MAKER",r))(sN||{});var tK=ld;export{cd as CLOCK_ADDRESS,od as CachedContent,ld as CetusClmmSDK,zZ as ClmmExpectSwapModule,HZ as ClmmFetcherModule,FZ as ClmmIntegratePoolModule,qZ as ClmmIntegratePoolV2Module,$Z as ClmmIntegrateRouterModule,GZ as ClmmIntegrateRouterWithPartnerModule,WZ as ClmmIntegrateUtilsModule,Wt as CoinAssist,ZZ as CoinInfoAddress,JZ as CoinStoreAddress,Dm as DEEP_SCALAR,eZ as DEFAULT_GAS_BUDGET_FOR_MERGE,QW as DEFAULT_GAS_BUDGET_FOR_SPLIT,rZ as DEFAULT_GAS_BUDGET_FOR_STAKE,tZ as DEFAULT_GAS_BUDGET_FOR_TRANSFER,nZ as DEFAULT_GAS_BUDGET_FOR_TRANSFER_SUI,iZ as DEFAULT_NFT_TRANSFER_GAS_FEE,YZ as DeepbookClobV2Moudle,KZ as DeepbookCustodianV2Moudle,XZ as DeepbookEndpointsV2Moudle,ad as DeepbookUtilsModule,eJ as ERROR_HANDLING_RPC_LIST,Cr as FLOAT_SCALAR,es as FLOAT_SCALING,sZ as GAS_SYMBOL,Rm as GAS_TYPE_ARG,X_ as GAS_TYPE_ARG_LONG,ud as MarginUtilsModule,GW as NORMALIZED_SUI_COIN_TYPE,rN as OrderType,oZ as SUI_SYSTEM_STATE_OBJECT_ID,sN as SelfMatchingOption,J3 as YEAR_MS,Z_ as addHexPrefix,mZ as asIntN,hZ as asUintN,MW as bufferToHex,Q_ as cacheTime1min,ga as cacheTime24h,eT as cacheTime5min,aJ as calc100PercentRepay,X3 as calcDebtDetail,Y3 as calcInterestRate,K3 as calcUtilizationRate,iJ as calculateRiskRatio,BW as checkAddress,K_ as composeType,M as d,Bm as decimalsMultiplier,tK as default,qW as extractAddressFromType,gi as extractStructTagFromType,$W as fixCoinType,yo as fixDown,L3 as fixSuiObjectId,bo as fromDecimalsAmount,QZ as getDefaultSuiInputType,jm as getFutureTime,G3 as getMoveObject,V3 as getObjectDeletedResponse,cT as getObjectFields,aT as getObjectId,F3 as getObjectNotExistsResponse,q3 as getObjectReference,oT as getSuiObjectData,jW as hexToNumber,DW as hexToString,FW as isSortedSymbols,_Z as isSuiObjectResponse,Mm as maxDecimal,hT as mulRoundUp,Cm as normalizeCoinType,Nm as patchFixSuiObjectId,nT as printTransaction,Am as removeHexPrefix,gZ as secretKeyToEd25519Keypair,yZ as secretKeyToSecp256k1Keypair,RW as shortAddress,B3 as shortString,tT as sleepTime,M3 as toBuffer,yi as toDecimalsAmount,j3 as utf8to16,pT as wrapDeepBookMarginPoolInfo,fT as wrapDeepBookPoolInfo};
1036
+ `);var r3=["https://rpc-mainnet.suiscan.xyz:443","https://cetus-mainnet-endpoint.blockvision.org","https://cetus-suimain-e31f.mainnet.sui.rpcpool.com"];var tz=A.struct("Table<ID, bool>",{id:A.Address,size:A.u64()}),s3=A.struct("TypeName",{name:A.string()}),nz=A.struct("OptionU64",{is_none:A.bool(),v:A.u64()}),i3=A.struct("UID",{id:A.Address}),rz=A.struct("TableSuiRaw",{id:i3,size:A.u64()});function o3(t){if(!t)return"0";let e=new Date(t).getTime();return Number.isFinite(e)?e.toString():"0"}function Nv(t){if(t.reason!==void 0)return t.reason;let e=new Error("The operation was aborted");return e.name="AbortError",e}function Ke(t){let e=t?.signal;if(e?.aborted)throw Nv(e)}function Bc(t,e){let n=e?.signal;return n?(Ke(e),new Promise((r,s)=>{let i=()=>s(Nv(n));n.addEventListener("abort",i,{once:!0}),t.then(o=>{n.removeEventListener("abort",i),r(o)},o=>{n.removeEventListener("abort",i),s(o)})})):t}var a3=class{constructor(t,e,n,r){this._cache={},this._env="mainnet",this._client=t,this._env=n||"mainnet",this._graphQLClient=e,this._archivalClient=r}callRpc(t,e){return Ke(t),Bc(e(),t)}requestOptionsFromInput(t){return t.signal?{signal:t.signal}:void 0}async getObject(t){return this.callRpc(this.requestOptionsFromInput(t),()=>this._client.getObject(t))}async listOwnedObjects(t){return this.callRpc(this.requestOptionsFromInput(t),()=>this._client.listOwnedObjects(t))}async getBalance(t){return this.callRpc(this.requestOptionsFromInput(t),()=>this._client.getBalance(t))}async getCoinMetadata(t){return this.callRpc(this.requestOptionsFromInput(t),()=>this._client.getCoinMetadata(t))}async getDynamicField(t){return this.callRpc(this.requestOptionsFromInput(t),()=>this._client.getDynamicField(t))}listDynamicFields(t){return this.callRpc(this.requestOptionsFromInput(t),()=>this._client.listDynamicFields(t))}async simulateTransaction(t){return this.callRpc(this.requestOptionsFromInput(t),()=>this._client.simulateTransaction(t))}queryGraphQL(t,e){if(!this._graphQLClient)throw new Error("graphQLClient is not set");let n={...t,signal:e?.signal};return this.callRpc(e,()=>this._graphQLClient.query(n))}async fetchCoinMetadata(t,e){Ke(e);let n=`coin_metadata_${t}`,r=this.getCache(n);if(r)return r;let s=await this.callRpc(e,()=>this._client.getCoinMetadata({coinType:t,signal:e?.signal}));return Ke(e),this.updateCache(n,s.coinMetadata),s.coinMetadata}async fetchCoinMetadataId(t,e){if(Ke(e),!this._graphQLClient)throw new Error("graphQLClient is not set");let n=`coin_metadata_id_${t}`,r=this.getCache(n);if(r)return r;let s=(await this.queryGraphQL({query:QC,variables:{coinType:`0x2::coin::CoinMetadata<${t}>`}},e)).data?.objects?.nodes?.[0]?.address??null;return s&&this.updateCache(n,s),s}async getTransactionByGraphQL(t,e){if(Ke(e),!this._graphQLClient)throw new Error("graphQLClient is not set");try{let n=(await this.queryGraphQL({query:e3,variables:{digest:t}},e)).data?.transaction;if(!n)throw new Error(`Transaction ${t} not found`);return this.transformGraphQLTxResult(n,t)}catch(n){if(Ke(e),console.log("getTransactionByGraphQL error, trying archival client",n),this._archivalClient)return this.callRpc(e,()=>this._archivalClient.getTransaction({digest:t,include:{effects:!0,events:!0,balanceChanges:!0,transaction:!0,objectTypes:!0},signal:e?.signal}));throw n}}transformGraphQLTxResult(t,e){let n=(t.effects?.events?.nodes??[]).map(s=>{let i=s.contents?.type?.repr??"",o=i?fi(i):null;return{packageId:o?.address??"",module:o?.module??"",sender:s.sender?.address??"",eventType:i,json:s.contents?.json??null,bcs:void 0,timestamp:s.timestamp??""}}),r=(t.effects?.balanceChanges?.nodes??[]).map(s=>({coinType:s.coinType?.repr??"",amount:s.amount??"0",owner:s.owner?.id??""}));return{$kind:"Transaction",Transaction:{digest:t.digest??e,signatures:[],epoch:t.effects?.epoch?.epochId!=null?String(t.effects.epoch.epochId):null,status:t.effects?.status??{success:!0,error:null},balanceChanges:r,effects:void 0,events:n,objectTypes:void 0,transaction:void 0,bcs:void 0}}}async queryEventsByGraphQL(t,e="all",n){if(Ke(n),typeof t=="object"&&"Transaction"in t)return this.queryEventsByTransactionGraphQL(t.Transaction,n);let r=typeof t=="string"?t:t.MoveEventType;return this.queryEventsByTypeGraphQL(r,e,n)}async queryEventsByTypeGraphQL(t,e="all",n){if(!this._graphQLClient)throw new Error("graphQLClient is not set");let r=e==="all",s=r?50:e.limit??50,i=[],o=r?null:e.cursor??null,a=!0;do{Ke(n);let c=(await this.queryGraphQL({query:n3,variables:{type:t,first:s,...o?{after:o}:{}}},n)).data?.events,u=c?.nodes??[],d=c?.pageInfo,f=u.map(p=>this.normalizeGraphQLEvent(p));i=[...i,...f],a=d?.hasNextPage??!1,o=d?.endCursor??null}while(r&&a);return{data:i,next_cursor:o,has_next_page:a}}async queryEventsByTransactionGraphQL(t,e){return{data:((await this.getTransactionByGraphQL(t,e))?.data?.transaction?.effects?.events?.nodes??[]).map(n=>({type:n.contents?.type?.repr??"",parsedJson:n.contents?.json??{},sender:n.sender?.address??"",packageId:"",module:"",txDigest:t,timestampMs:n.timestamp?new Date(n.timestamp).getTime().toString():"0",bcs:void 0})),next_cursor:null,has_next_page:!1}}normalizeGraphQLEvent(t){return{type:t.contents?.type?.repr??t.type??"",parsedJson:t.contents?.json??t.parsedJson??{},sender:typeof t.sender=="string"?t.sender:t.sender?.address??"",packageId:t.transactionModule?.package?.address??"",module:t.transactionModule?.name??"",txDigest:t.transaction?.digest??"",timestampMs:o3(t.timestamp),timestamp:t.timestamp}}async queryTransactionBlocksByPage(t,e="all",n="descending",r){if(!this._graphQLClient)throw new Error("graphQLClient is not set");if(!(t.sentAddress!=null||t.affectedAddress!=null||t.affectedObject!=null||t.function!=null))throw new Error("At least one of sentAddress, affectedAddress, affectedObject, function is required");let s=e==="all",i=s?50:e.limit??50,o=[],a=s?null:e.cursor??null,c=!0,u=n!=="ascending",d={};t.sentAddress&&(d.sentAddress=ae(t.sentAddress)),t.affectedAddress&&(d.affectedAddress=ae(t.affectedAddress)),t.affectedObject&&(d.affectedObject=ae(t.affectedObject)),t.function&&(d.function=t.function);do{Ke(r);let f=(u?await this.queryGraphQL({query:fv,variables:{filter:d,last:i,...a?{before:a}:{}}},r):await this.queryGraphQL({query:fv,variables:{filter:d,first:i,...a?{after:a}:{}}},r)).data?.transactions,p=f?.nodes??[],m=f?.pageInfo,b=u?[...p].reverse():p;o=[...o,...b],c=u?m?.hasPreviousPage??!1:m?.hasNextPage??!1,a=u?m?.startCursor??null:m?.endCursor??null}while(s&&c);return{data:o,next_cursor:a,has_next_page:c}}async getOwnedObjectsByPage(t,e,n="all",r){let s=async i=>{let o=[],a=!0,c=n==="all",u=c?null:n.cursor;do{Ke(r);let d=await this.callRpc(r,()=>i.listOwnedObjects({owner:t,type:e,cursor:u??void 0,limit:c?1e3:n.limit??void 0,include:{content:!0,previousTransaction:!0,json:!0},signal:r?.signal}));o=[...o,...d.objects],a=d.hasNextPage,u=d.cursor??null}while(c&&a);return{data:o,next_cursor:u,has_next_page:a}};try{return await s(this._client)}catch(i){Ke(r);let o=i,a=this._env==="testnet"?"testnet":"mainnet";for(let c of r3)try{Ke(r);let u=mm(new Wa({baseUrl:c,network:a}),this._graphQLClient,this._env);return await s(u._client)}catch(u){Ke(r),o=u;continue}throw o}}async getAllDynamicFields(t,e="all",n){if(!this._graphQLClient)throw new Error("graphQLClient is not set");let r=e==="all",s=r?50:e.limit??50,i=[],o=r?null:e.cursor??null,a=!0;do{Ke(n);let c=(await this.queryGraphQL({query:t3,variables:{id:ae(t),first:s,...o?{after:o}:{}}},n)).data?.address?.dynamicFields,u=c?.nodes??[],d=c?.pageInfo;i=[...i,...u],a=d?.hasNextPage??!1,o=d?.endCursor??null}while(r&&a);return{data:i,next_cursor:o,has_next_page:a}}async getDynamicFieldsByPage(t,e="all",n){let r=[],s=!0,i=e==="all",o=i?null:e.cursor;do{Ke(n);let a=await this.callRpc(n,()=>this._client.listDynamicFields({parentId:t,cursor:o??void 0,limit:i?1e3:e.limit??void 0,signal:n?.signal}));r=[...r,...a.dynamicFields],s=a.hasNextPage,o=a.cursor??null}while(i&&s);return{data:r,next_cursor:o,has_next_page:s}}async getDynamicFieldObjects(t,e,n,r,s,i){let o=e.map(a=>XC(t,a,n,r));return o.length===0?[]:this.batchGetObjects(o,s,1e3,i)}async batchGetObjects(t,e,n=1e3,r){let s=[];try{for(let i=0;i<Math.ceil(t.length/n);i++){Ke(r);let o=t.slice(i*n,n*(i+1)),a=await this.callRpc(r,()=>this._client.getObjects({objectIds:o,include:e,signal:r?.signal}));s=[...s,...a.objects]}}catch(i){Ke(r),console.log(i)}return s}async calculationTxGas(t,e){let n=t.getData?.()?.sender??t.blockData?.sender;if(n==null)throw Error("sdk sender is empty");t.setSender(n);let r=await this.callRpc(e,()=>this._client.simulateTransaction({transaction:t,include:{effects:!0},signal:e?.signal})),s=r.Transaction??r.FailedTransaction;if(!s?.effects?.gasUsed)throw new Error("Simulation did not return effects");let{gasUsed:i}=s.effects;return Number(i.computationCost)+Number(i.storageCost)-Number(i.storageRebate)}async sendTransaction(t,e,n){try{return await this.callRpc(n,()=>this._client.signAndExecuteTransaction({transaction:e,signer:t,include:{effects:!0,events:!0},signal:n?.signal}))}catch(r){Ke(n),console.log("error: ",r)}}async sendSimulationTransaction(t,e,n=!0,r){try{return t.setSender(e),await this.callRpc(r,()=>this._client.simulateTransaction({transaction:t,include:{events:!0,balanceChanges:!0,effects:!0,objectChanges:!0,commandResults:!0},checksEnabled:n,signal:r?.signal}))}catch(s){throw Ke(r),console.log("simulateTransaction error",s),s}}async executeTx(t,e,n,r){try{if(n){let s=typeof t=="string"?ae(t):ae(t.getPublicKey().toSuiAddress());return await this.sendSimulationTransaction(e,s,!0,r)}else{if(typeof t=="string")throw new Error("Cannot send transaction with string address - keypair required for signing");return await this.sendTransaction(t,e,r)}}catch(s){return Ke(r),s}}async getOwnerCoinAssets(t,e,n){let r=[],s=null;if(e)for(;;){Ke(n);let i=await this.callRpc(n,()=>this._client.listCoins({owner:t,coinType:e,cursor:s??void 0,signal:n?.signal}));for(let o of i.objects)BigInt(o.balance)>0&&r.push({coin_type:fi(o.type).type_arguments[0],coin_object_id:o.objectId,balance:BigInt(o.balance)});if(s=i.cursor??null,!i.hasNextPage)break}else{let i=null;do{Ke(n);let o=await this.callRpc(n,()=>this._client.listOwnedObjects({owner:t,cursor:i??void 0,include:{json:!0},signal:n?.signal}));if(o.objects.forEach(a=>{let c=fi(a.type);a.type.includes('"0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin')&&BigInt(a.balance)>0&&r.push({coin_type:pm(c.type_arguments[0],!1),coin_object_id:a.json.id,balance:BigInt(a.json.balance)})}),i=o.cursor??null,!o.hasNextPage)break}while(!0)}return r}async getOwnerCoinBalances(t,e,n){if(e)return[(await this.callRpc(n,()=>this._client.getBalance({owner:t,coinType:e,signal:n?.signal}))).balance];let r=[],s=null;do{Ke(n);let i=await this.callRpc(n,()=>this._client.listBalances({owner:t,cursor:s??void 0,signal:n?.signal}));if(r.push(...i.balances),s=i.cursor??null,!i.hasNextPage)break}while(!0);return r}updateCache(t,e,n=864e5){let r=this._cache[t];r?(r.overdue_time=ov(n),r.value=e):r=new eC(e,ov(n)),this._cache[t]=r}getCache(t,e=!1){let n=this._cache[t],r=n?.isValid();if(!e&&r)return n.value;r||delete this._cache[t]}};function mm(t,e,n,r){let s=new a3(t,e,n,r);return new Proxy(s,{get(i,o,a){if(o in i)return Reflect.get(i,o,a);if(o in i._client){let c=Reflect.get(i._client,o);return typeof c=="function"?c.bind(i._client):c}throw new Error(`Property or method "${String(o)}" does not exist on FullClient or its client.`)}})}var c3=Dc(jc(),1);var az=new c3.default(1e6),u3=(t=>(t[t.BelowRange=0]="BelowRange",t[t.InRange=1]="InRange",t[t.AboveRange=2]="AboveRange",t))(u3||{}),cm=10n,pv={pyth_state_id:"0x03719fae774ddab3cfcaa53bbc046f0cbe21410019b6280811bf3f9f4b05839d",wormhole_state_id:"0xdbca52b9fb4f712e25f61f974586d93ac541bcf8389564f0323bb07215168b5c"},l3={"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC":{coin_type:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",price_feed_id:"0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",coin_decimals:6},"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI":{coin_type:"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",price_feed_id:"0x23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",coin_decimals:9},"0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS":{coin_type:"0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS",price_feed_id:"0xe5b274b2611143df055d6e7cd8d93fe1961716bcd4dca1cad87a83bc1e78c1ef",coin_decimals:9},"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP":{coin_type:"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",price_feed_id:"0x29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff",coin_decimals:6},"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX":{coin_type:"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX",price_feed_id:"0x88250f854c019ef4f88a5c073d52a18bb1c6ac437033f5932cd017d24917ab46",coin_decimals:9},"0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN":{coin_type:"0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN",price_feed_id:"0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43",coin_decimals:9},"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI":{coin_type:"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI",price_feed_id:"0x6120ffcf96395c70aa77e72dcb900bf9d40dccab228efca59a17b90ce423d5e8",coin_decimals:9},"0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH":{coin_type:"0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH",price_feed_id:"0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace",coin_decimals:8},"0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL":{coin_type:"0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL",price_feed_id:"0xeba0732395fae9dec4bae12e52760b35fc1c5671e2da8b449c9af4efe5d54341",coin_decimals:9},"0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040::lbtc::LBTC":{coin_type:"0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040::lbtc::LBTC",price_feed_id:"0x8f257aab6e7698bb92b15511915e593d6f8eae914452f781874754b03d0c612b",coin_decimals:8},"0x3a304c7feba2d819ea57c3542d68439ca2c386ba02159c740f7b406e592c62ea::haedal::HAEDAL":{coin_type:"0x3a304c7feba2d819ea57c3542d68439ca2c386ba02159c740f7b406e592c62ea::haedal::HAEDAL",price_feed_id:"0xe67d98cc1fbd94f569d5ba6c3c3c759eb3ffc5d2b28e64538a53ae13efad8fd1",coin_decimals:9}};function d3(t,e){if(!cm)throw new Error("oraclePriceMultiplierDecimal is required");if(t===0n)throw new Error("Invalid oracle price");if(e<0n){let n=10n**(cm- -e);return t*n}return t/10n**(e+cm)}var hv=16*1024,mv=3e3,f3=30,gv="https://hermes.pyth.network",Rv=class mo{constructor(e,n=pv,r=pv){if(this.hermesClientCache=new Map,this.fullClient=e,Array.isArray(n)){if(n.length===0)throw new Error("pythEndpoints is empty, at least one Pyth endpoint is required");this.endpoints=n,this.pythConfigs=r;return}this.pythConfigs=n;let s=[...n.hermes_service_urls??[]];s.includes(gv)||s.push(gv),this.endpoints=s.map(i=>({url:i,mode:"hermes"}))}static getEndpointMode(e){return e.mode??"hermes"}getHermesClient(e){let n=`${e.url}::${e.accessToken??""}`,r=this.hermesClientCache.get(n);if(r)return r;let s=mo.createHermesClient(e);return this.hermesClientCache.set(n,s),s}static createHermesClient(e){let n={timeout:mv};return e.accessToken&&(n.accessToken=e.accessToken),new Fl(e.url,n)}async requestPriceUpdate(e,n,r,s){let i=null;for(let o of this.endpoints)try{if(mo.getEndpointMode(o)==="rest")return await Bc(this.fetchPostPriceUpdate(o,n),s);let a=this.getHermesClient(o);return r==="parsed"?await Bc(a.getLatestPriceUpdates(n,{parsed:!0}),s):await Bc(a.getLatestPriceUpdates(n,{encoding:"hex"}),s)}catch(a){Ke(s),console.log(`\u{1F680} ~ PythPriceModule ~ ${e} ~ error:`,a),i=a}throw new Error(`All Pyth endpoints are unavailable for ${r}. ${e} Detailed error: ${i?.message}`)}static normalizeFeedId(e){return e?e.startsWith("0x")?e:`0x${e}`:"0x"}static toPostPriceUpdate(e){return Array.isArray(e.prices)?{parsed:e.prices.map(n=>({id:mo.normalizeFeedId(n.id),price:n.price})),binary:{encoding:"hex",data:(e.price_update_data??[]).map(n=>Buffer.from(n,"base64").toString("hex"))}}:Array.isArray(e.parsed)?{parsed:e.parsed.map(n=>({id:mo.normalizeFeedId(n.id),price:n.price})),binary:{encoding:e.binary?.encoding??"hex",data:e.binary?.data??[]}}:{parsed:[],binary:{encoding:"hex",data:[]}}}static resolveRestBody(e,n){return e.buildRestBody?e.buildRestBody(n):{price_seeds:n,max_age_seconds:f3}}async fetchPostPriceUpdate(e,n){let r={"Content-Type":"application/json"};e.accessToken&&(r.Authorization=`Bearer ${e.accessToken}`);let s=await fetch(e.url,{method:"POST",headers:r,body:JSON.stringify(mo.resolveRestBody(e,n)),signal:AbortSignal.timeout(mv)});if(!s.ok){let o=await s.text();throw new Error(`HTTP error! status: ${s.status}${o?`, body: ${o}`:""}`)}let i=await s.json();return mo.toPostPriceUpdate(i)}async getFeedInfoList(e,n){let r=e.map(s=>this.getFeedInfo(s,!1,n));return await Bc(Promise.all(r),n)}priceCheck(e,n=60){let r=Math.floor(Date.now()/1e3);if(!(Math.abs(r-e.last_update_time)>n))return e}applyPriceFeedUpdates(e,n,r){e?.parsed?.forEach((s,i)=>{if(!s)return;let{price:o,expo:a,publish_time:c}=s.price,u=Gl(o).mul(Gl(10).pow(Gl(a))).toString(),{mapKey:d,coinType:f,coinDecimals:p,cacheKey:m}=n[i],b={coin_type:f,price:u,coin_decimals:p,oracle_price:d3(BigInt(o),BigInt(a)),last_update_time:c};r[d]=b,this.fullClient.updateCache(m,b)})}async getPackageId(e,n){let r=(await this.fullClient.getObject({objectId:e,include:{json:!0},signal:n?.signal}))?.object?.json;if(r?.upgrade_cap?.package)return r.upgrade_cap.package;throw new Error("upgrade_cap not found")}async getWormholePackageId(e){let{wormhole_state_id:n}=this.pythConfigs,r=`getWormholePackageId_${n}`,s=this.fullClient.getCache(r);if(s)return s;let i=await this.getPackageId(this.pythConfigs.wormhole_state_id,e);return this.fullClient.updateCache(r,i),i}async getPythPackageId(){if(this.pythConfigs.pyth_package_id)return this.pythConfigs.pyth_package_id;let e=`getPythPackageId_${this.pythConfigs.pyth_state_id}`,n=this.fullClient.getCache(e);if(n)return n;let r=await this.getPackageId(this.pythConfigs.pyth_state_id);return this.fullClient.updateCache(e,r),r}async getLatestPrice(e,n=!1,r){let s={},i=[];if(n?e.forEach(c=>{let u=this.fullClient.getCache(`getLatestPrice_${c}`);u&&this.priceCheck(u,60)?s[c]=u:i.push(c)}):i=[...e],i.length===0)return s;let o=await this.getFeedInfoList(i,r),a=await this.getLatestPriceFeeds(o.map(c=>c.price_feed_id),r);return this.applyPriceFeedUpdates(a,i.map((c,u)=>({mapKey:c,coinType:o[u].coin_type,coinDecimals:o[u].coin_decimals,cacheKey:`getLatestPrice_${o[u].coin_type}`})),s),s}async getLatestPriceByFeedIds(e,n=!1,r){let s={},i=[];if(n?e.forEach(a=>{let c=this.fullClient.getCache(`getLatestPriceByFeedId_${a}`);c&&this.priceCheck(c,60)?s[a]=c:i.push(a)}):i=[...e],i.length===0)return s;let o=await this.getLatestPriceFeeds(i,r);return this.applyPriceFeedUpdates(o,i.map(a=>({mapKey:a,coinType:a,coinDecimals:0,cacheKey:`getLatestPriceByFeedId_${a}`})),s),s}async getPriceFeedsUpdateData(e,n){let r=await this.requestPriceUpdate("getPriceFeedsUpdateData",e,"binary",n);if(!r.binary?.data?.length)throw new Error("getPriceFeedsUpdateData: missing binary price update data in response");return r.binary.data.map(s=>Buffer.from(s,"hex"))}async getLatestPriceFeeds(e,n){return this.requestPriceUpdate("getLatestPriceFeeds",e,"parsed",n)}extractVaaBytesFromAccumulatorMessage(e){let n=7+e.readUint8(6)+1,r=e.readUint16BE(n),s=n+2;return e.subarray(s,s+r)}async verifyVaas(e,n,r){let s=await this.getWormholePackageId(r),i=[];for(let o of e){let[a]=n.moveCall({target:`${s}::vaa::parse_and_verify`,arguments:[n.object(this.pythConfigs.wormhole_state_id),n.pure(A.vector(A.u8()).serialize(Array.from(o),{maxSize:hv}).toBytes()),n.object(he)]});i.push(a)}return i}async getPriceTableInfo(e){if(this.priceTableInfo===void 0){let n=null,r=!0;for(;r;){let s=await this.fullClient.listDynamicFields({parentId:this.pythConfigs.pyth_state_id,cursor:n,signal:e?.signal});for(let i of s.dynamicFields)if(i.name.type==="vector<u8>"){let o=i.$kind==="DynamicObject"&&i.childId?i.childId:i.fieldId,a=await this.fullClient.getObject({objectId:o,include:{json:!0},signal:e?.signal}),c=a.object.type;if(c.includes("table::Table")){let u=c.replace(/.*table::Table</,"").replace(/>$/,"").split(",")[0].trim();return this.priceTableInfo={id:a.object.objectId,fieldType:u},this.priceTableInfo}}r=s.hasNextPage,n=s.cursor}}if(this.priceTableInfo===void 0)throw new Error(" getPriceTableInfo Price table not found");return this.priceTableInfo}async getPriceFeedObjectId(e,n){let r=e.replace("0x",""),s=`getPriceFeedObjectId_${r}`,i=this.fullClient.getCache(s);if(i)return i;let{id:o,fieldType:a}=await this.getPriceTableInfo(n),c=A.struct("PriceIdentifier",{bytes:A.vector(A.u8())}).serialize({bytes:Array.from(Buffer.from(r,"hex"))}).toBytes(),u=(await this.fullClient.getDynamicField({parentId:o,name:{type:a,bcs:c},signal:n?.signal})).dynamicField.value.bcs,d=u instanceof Uint8Array?u:new Uint8Array(Object.values(u)),f="0x"+Array.from(d).map(p=>p.toString(16).padStart(2,"0")).join("");return this.fullClient.updateCache(s,f),f}async verifyVaasAndGetHotPotato(e,n,r,s){if(n.length>1)throw new Error("SDK does not support sending multiple accumulator messages in a single transaction");let i=this.extractVaaBytesFromAccumulatorMessage(n[0]),o=await this.verifyVaas([i],e,s),[a]=e.moveCall({target:`${r}::pyth::create_authenticated_price_infos_using_accumulator`,arguments:[e.object(this.pythConfigs.pyth_state_id),e.pure(A.vector(A.u8()).serialize(Array.from(n[0]),{maxSize:hv}).toBytes()),o[0],e.object(he)]});return a}async buildUpdatePythPricePayload(e,n,r,s){let i=await this.getPythPackageId(),o=this.pythConfigs.pyth_published_at??i,a=(await this.getFeedInfoList(e,s)).map(f=>f.price_feed_id);if(e.length!==a.length)throw Error("find feed id fail");let c=await this.getPriceFeedsUpdateData(a,s);if(!c)throw new Error("get price update data fail");if(c.length>1)throw new Error("SDK does not support sending multiple accumulator messages in a single transaction");let u=await this.verifyVaasAndGetHotPotato(n,c,o,s),d=0;for(let f of a){let p=await this.getPriceFeedObjectId(f,s);if(!p)throw new Error(`Price feed ${f} not found, please create it first`);u=r({tx:n,coinType:e[d],priceUpdatesHotPotato:u,priceInfoObjectId:p}),d+=1}return n.moveCall({target:`${o}::hot_potato_vector::destroy`,arguments:[u],typeArguments:[`${i}::price_info::PriceInfo`]}),n}async getBaseUpdateFee(e){if(this.baseUpdateFee===void 0){let n=(await this.fullClient.getObject({objectId:this.pythConfigs.pyth_state_id,include:{json:!0},signal:e?.signal}))?.object?.json;if(!n)throw new Error("Unable to fetch pyth state object");this.baseUpdateFee=Number(n.base_update_fee)}return this.baseUpdateFee}async updatePriceFeeds(e,n,r,s){let i=this.pythConfigs.pyth_package_id??await this.getPythPackageId(),o=await this.verifyVaasAndGetHotPotato(e,n,i,s),a=await this.getBaseUpdateFee(s),c=e.splitCoins(e.gas,r.map(()=>e.pure.u64(a))),u=[],d=0;for(let f of r){let p=await this.getPriceFeedObjectId(f,s);if(!p)throw new Error(`Price feed ${f} not found, please create it first`);u.push(p),[o]=e.moveCall({target:`${i}::pyth::update_single_price_feed`,arguments:[e.object(this.pythConfigs.pyth_state_id),o,e.object(p),c[d],e.object(he)]}),d++}return e.moveCall({target:`${i}::hot_potato_vector::destroy`,arguments:[o],typeArguments:[`${i}::price_info::PriceInfo`]}),u}async buildUpdatePythPricePayloadV2(e,n,r,s){if(e.length===0)return n;let i=(await this.getFeedInfoList(e,s)).map(u=>u.price_feed_id);if(e.length!==i.length)throw Error("find feed id fail");let o=await this.getPriceFeedsUpdateData(i,s);if(!o)throw new Error("get price update data fail");if(o.length>1)throw new Error("SDK does not support sending multiple accumulator messages in a single transaction");let a=await this.updatePriceFeeds(n,o,i,s),c=0;for(let u of a)r({tx:n,coinType:e[c],priceUpdatesHotPotato:{},priceInfoObjectId:u}),c+=1;return n}getFeedInfoByJson(e){let n=pm(e,!1);return l3[n]}async getFeedInfo(e,n,r){let s=`getFeedInfo_${e}`,i=this.fullClient.getCache(s,n);if(i)return i;let o=this.getFeedInfoByJson(e);if(o)return o;if(!this.pythConfigs.feed_info_handle)throw new Error("feed_info_handle is not set");let a=await this.fullClient.getDynamicField({parentId:this.pythConfigs.feed_info_handle,name:{type:"0x1::type_name::TypeName",bcs:s3.serialize({name:pm(e,!0)}).toBytes()},signal:r?.signal}),c=A.struct("OracleInfo",{price_feed_id:A.vector(A.U8),price_info_object_id:A.Address,last_update_time:A.u64(),coin_decimals:A.u8()}).parse(a.dynamicField.value.bcs),u={coin_type:e,price_feed_id:YC(c.price_feed_id),coin_decimals:c.coin_decimals};return console.log("\u{1F680} ~ PythPriceModule ~ getFeedInfo ~ info:",u),this.fullClient.updateCache(s,u),u}},da=Dc(jc(),1),uz=new da.default(0),Bv=new da.default(1),gm=new da.default(2),lz=gm.pow(new da.default(128)),dz=gm.pow(new da.default(64)).sub(Bv),fz=gm.pow(new da.default(128)).sub(Bv);Zl.config({precision:64,rounding:Zl.ROUND_DOWN,toExpNeg:-64,toExpPos:64});var pz=Dc(jc(),1),hz=Dc(jc(),1);var mz=Dc(jc(),1);import{DeepBookClient as O3}from"@mysten/deepbook-v3";import{Base64 as Yv}from"js-base64";var p3={REQUEST_PARAMS:"requestParams",METHOD_NAME:"methodName"},ym=class extends Error{constructor(n,r,s){super(n);this.code=r;this.details=s;this.name=this.constructor.name}toJSON(){return{name:this.name,message:this.message,code:this.code,details:this.details}}toString(){return JSON.stringify(this.toJSON())}static isErrorCode(n,r){return n instanceof ym&&n.code===r}},Lc=ym;xn(Lc,"DETAILS_KEYS",p3);var bm=class extends Lc{constructor(e,n,r){super(e,n||"UnknownError",r)}static isCommonErrorCode(e,n){return this.isErrorCode(e,n)}};var wm=(t,e,n)=>{throw new bm(e,t,n)};var h3=/^[-+]?[0-9A-Fa-f]+\.?[0-9A-Fa-f]*?$/;function Mv(t){return t.startsWith("0x")?t:`0x${t}`}function _m(t){return t.startsWith("0x")?`${t.slice(2)}`:t}function m3(t,e=4,n=4){let r=Math.max(e,1),s=Math.max(n,1);return`${t.slice(0,r+2)} ... ${t.slice(-s)}`}function xz(t,e=4,n=4){return m3(Mv(t),e,n)}function Sz(t,e={leadingZero:!0}){if(typeof t!="string")return!1;let n=t;if(e.leadingZero){if(!t.startsWith("0x"))return!1;n=n.substring(2)}return h3.test(n)}function g3(t){if(!Buffer.isBuffer(t))if(Array.isArray(t))t=Buffer.from(t);else if(typeof t=="string")exports.isHexString(t)?t=Buffer.from(exports.padToEven(exports.stripHexPrefix(t)),"hex"):t=Buffer.from(t);else if(typeof t=="number")t=exports.intToBuffer(t);else if(t==null)t=Buffer.allocUnsafe(0);else if(t.toArray)t=Buffer.from(t.toArray());else throw new Error("invalid type");return t}function Oz(t){return Mv(g3(t).toString("hex"))}function Iz(t){let e=new ArrayBuffer(4),n=new DataView(e);for(let s=0;s<t.length;s++)n.setUint8(s,t.charCodeAt(s));return n.getUint32(0,!0)}function y3(t){let e,n,r,s,i;e="";let o=t.length;for(n=0;n<o;)switch(r=t.charCodeAt(n++),r>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:e+=t.charAt(n-1);break;case 12:case 13:s=t.charCodeAt(n++),e+=String.fromCharCode((r&31)<<6|s&63);break;case 14:s=t.charCodeAt(n++),i=t.charCodeAt(n++),e+=String.fromCharCode((r&15)<<12|(s&63)<<6|(i&63)<<0);break}return e}function Az(t){let e="",n=_m(t),r=n.length/2;for(let s=0;s<r;s++)e+=String.fromCharCode(Number.parseInt(n.substr(s*2,2),16));return y3(e)}var b3=0,Uv=1,w3=2;function Dv(t,e){return t===e?b3:t<e?Uv:w3}function _3(t,e){let n=0,r=t.length<=e.length?t.length:e.length,s=Dv(t.length,e.length);for(;n<r;){let i=Dv(t.charCodeAt(n),e.charCodeAt(n));if(n+=1,i!==0)return i}return s}function Mz(t,e){return _3(t,e)===Uv}function jv(t,...e){let n=Array.isArray(e[e.length-1])?e.pop():[],s=[t,...e].filter(Boolean).join("::");return n&&n.length&&(s+=`<${n.join(", ")}>`),s}function Dz(t){return t.split("::")[0]}function mi(t){try{let e=t.replace(/\s/g,""),r=e.match(/(<.+>)$/)?.[0]?.match(/(\w+::\w+::\w+)(?:<.*?>(?!>))?/g);if(r){e=e.slice(0,e.indexOf("<"));let c={...mi(e),type_arguments:r.map(u=>mi(u).source_address)};return c.type_arguments=c.type_arguments.map(u=>zt.isSuiCoin(u)?u:mi(u).source_address),c.source_address=jv(c.full_address,c.type_arguments),c}let s=e.split("::"),o={full_address:e,address:e===km||e===Lv?"0x2":bn(s[0]),module:s[1],name:s[2],type_arguments:[],source_address:""};return o.full_address=`${o.address}::${o.module}::${o.name}`,o.source_address=jv(o.full_address,o.type_arguments),o}catch{return{full_address:t,address:"",module:"",name:"",type_arguments:[],source_address:t}}}function vm(t){return mi(t).source_address}function v3(t){return t.toLowerCase().startsWith("0x")?bn(t):t}var jz=(t,e=!0)=>{let n=t.split("::"),r=n.shift(),s=bn(r);return e&&(s=_m(s)),`${s}::${n.join("::")}`};function Tm(t){for(let e in t){let n=typeof t[e];if(n==="object")Tm(t[e]);else if(n==="string"){let r=t[e];t[e]=v3(r)}}}var Uz=Be(Zn);import Xl from"decimal.js";function M(t){return Xl.isDecimal(t)?t:new Xl(t===void 0?0:t)}function Em(t){return M(10).pow(M(t).abs())}var go=(t,e)=>{try{return M(t).toDP(e,Xl.ROUND_DOWN).toString()}catch{return t}},xm=(t,e)=>Xl.max(M(t),M(e));var zz=1e3,Wz=500,Zz=100,Jz=100,Kz=1e3,km="0x2::sui::SUI",Lv="0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",Yz="SUI",Xz=450,Qz="0x0000000000000000000000000000000000000005",ct=class{static totalBalance(e,n){let r=BigInt(0);return e.forEach(s=>{n===s.coin_type&&(r+=BigInt(s.balance))}),r}static getCoinAssets(e,n){let r=[];return n.forEach(s=>{vm(s.coin_type)===vm(e)&&r.push(s)}),r}static isSuiCoin(e){return mi(e).full_address===km}static selectCoinObjectIdGreaterThanOrEqual(e,n,r=[]){let s=ct.selectCoinAssetGreaterThanOrEqual(e,n,r),i=s.selected_coins.map(c=>c.coin_object_id),o=s.remain_coins,a=s.selected_coins.map(c=>c.balance.toString());return{object_array:i,remain_coins:o,amount_array:a}}static selectCoinAssetGreaterThanOrEqual(e,n,r=[]){let s=ct.sortByBalance(e.filter(u=>!r.includes(u.coin_object_id))),i=ct.calculateTotalBalance(s);if(i<n)return{selected_coins:[],remain_coins:s};if(i===n)return{selected_coins:s,remain_coins:[]};let o=BigInt(0),a=[],c=[...s];for(;o<i;){let u=n-o,d=c.findIndex(p=>p.balance>=u);if(d!==-1){a.push(c[d]),c.splice(d,1);break}let f=c.pop();f.balance>0&&(a.push(f),o+=f.balance)}return{selected_coins:ct.sortByBalance(a),remain_coins:ct.sortByBalance(c)}}static sortByBalance(e){return e.sort((n,r)=>n.balance<r.balance?-1:n.balance>r.balance?1:0)}static sortByBalanceDes(e){return e.sort((n,r)=>n.balance>r.balance?-1:n.balance<r.balance?0:1)}static calculateTotalBalance(e){return e.reduce((n,r)=>n+r.balance,BigInt(0))}static buildCoinForAmount(e,n,r,s,i=!0,o=!0){let a=ct.getCoinAssets(s,n);if(r===BigInt(0))return this.buildZeroValueCoin(n,e,s,i);let c=ct.calculateTotalBalance(a);if(c<r)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r} `);return this.buildCoin(e,n,a,r,s,i,o)}static buildCoinWithBalance(e,n,r){return e===BigInt(0)&&ct.isSuiCoin(n)?r.add(tr({balance:e,useGasCoin:!1})):r.add(tr({balance:e,type:n}))}static buildVectorCoin(e,n,r,s,i,o=!0){if(ct.isSuiCoin(i)){let p=e.splitCoins(e.gas,[e.pure.u64(s)]);return{selected_coins:[],target_coin:p,remain_coins:n,target_coin_amount:s.toString(),is_mint_zero_coin:!1,original_spited_coin:e.gas}}let{original_spited_coin:a,target_coin:c,target_coin_amount:u,remain_coins:d,selected_coins:f}=this.buildSpitTargeCoin(e,s,r,o);return o?{target_coin:e.makeMoveVec({elements:[c]}),selected_coins:f,remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1,original_spited_coin:a}:{selected_coins:f,target_coin:e.makeMoveVec({elements:f.map(p=>e.object(p))}),remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1}}static buildOneCoin(e,n,r,s,i=!0){if(ct.isSuiCoin(s)){if(r===0n&&n.length>1){let c=ct.selectCoinObjectIdGreaterThanOrEqual(n,r);return{selected_coins:c.object_array,target_coin:e.object(c.object_array[0]),remain_coins:c.remain_coins,target_coin_amount:c.amount_array[0],is_mint_zero_coin:!1}}let o=ct.selectCoinObjectIdGreaterThanOrEqual(n,r),a=e.splitCoins(e.gas,[e.pure.u64(r)]);return{selected_coins:[],target_coin:a,remain_coins:o.remain_coins,target_coin_amount:r.toString(),is_mint_zero_coin:!1,original_spited_coin:e.gas}}return this.buildSpitTargeCoin(e,r,n,i)}static buildSpitTargeCoin(e,n,r,s){let i=ct.selectCoinObjectIdGreaterThanOrEqual(r,n),o=i.amount_array.reduce((b,_)=>Number(b)+Number(_),0).toString(),a=i.object_array,[c,...u]=a,d=e.object(c),f=d,p=i.amount_array.reduce((b,_)=>Number(b)+Number(_),0).toString(),m;return u.length>0&&e.mergeCoins(d,u.map(b=>e.object(b))),s&&Number(o)>Number(n)&&(f=e.splitCoins(d,[e.pure.u64(n)]),m=d),{original_spited_coin:m,target_coin:f,target_coin_amount:p,remain_coins:i.remain_coins,selected_coins:i.object_array,is_mint_zero_coin:!1}}static buildCoin(e,n,r,s,i,o=!0,a=!0){return o?this.buildVectorCoin(e,n,r,s,i,a):this.buildOneCoin(e,r,s,i,a)}static buildZeroValueCoin(e,n,r,s=!0){let i=this.callMintZeroValueCoin(n,r),o;return s?o=n.makeMoveVec({elements:[i]}):o=i,{target_coin:o,remain_coins:e,selected_coins:[],is_mint_zero_coin:!0,target_coin_amount:"0"}}static buildCoinForAmountInterval(e,n,r,s,i=!0,o=!0){let a=ct.getCoinAssets(s,n);if(r.amount_first===BigInt(0))return a.length>0?this.buildCoin(e,[...n],[...a],r.amount_first,s,i,o):this.buildZeroValueCoin(n,e,s,i);let c=ct.calculateTotalBalance(a);if(c>=r.amount_first)return this.buildCoin(e,[...n],[...a],r.amount_first,s,i,o);if(c<r.amount_second)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r.amount_second} `);return this.buildCoin(e,[...n],[...a],r.amount_second,s,i,o)}static fromBalance(e,n,r){return r.moveCall({target:"0x2::coin::from_balance",typeArguments:[n],arguments:[e]})}static intoBalance(e,n,r){return r.moveCall({target:"0x2::coin::into_balance",typeArguments:[n],arguments:[typeof e=="string"?r.object(e):e]})}static mintBalanceZero(e,n){return n.moveCall({target:"0x2::balance::zero",typeArguments:[e],arguments:[]})}static destroyBalanceZero(e,n,r){return r.moveCall({target:"0x2::balance::destroy_zero",typeArguments:[n],arguments:[e]})}static getCoinAmountObjId(e,n){let r=e.amount_coin_array.find(s=>!s.used&&M(s.amount).eq(n)?(s.used=!0,!0):!1);return r?r.coin_object_id:wm("CoinNotFound",`Coin not found for ${n} ${e.coin_type}`)}static buildMultiCoinInput(e,n,r,s){let i=ct.getCoinAssets(r,n);if(ct.isSuiCoin(r)){let p=e.splitCoins(e.gas,s.map(b=>e.pure.u64(b)));return{amount_coin_array:s.map((b,_)=>({coin_object_id:p[_],amount:b.toString(),used:!1})),coin_type:r,remain_coins:i}}let o=s.reduce((p,m)=>p+m,BigInt(0)),a=ct.selectCoinObjectIdGreaterThanOrEqual(i,o);if(a.object_array.length===0)return wm("InsufficientBalance",`No enough coins for ${r} expect ${o} actual ${ct.calculateTotalBalance(i)}`);let[c,...u]=a.object_array;u.length>0&&e.mergeCoins(c,[...u]);let d=e.splitCoins(c,s.map(p=>e.pure.u64(p)));return{amount_coin_array:s.map((p,m)=>({coin_object_id:d[m],amount:p.toString(),used:!1})),remain_coins:a.remain_coins,coin_type:r}}},zt=ct;xn(zt,"callMintZeroValueCoin",(e,n)=>e.moveCall({target:"0x2::coin::zero",typeArguments:[n]}));var Pv=6e4,Vv=3e5,fa=864e5;function Sm(t){return Date.parse(new Date().toString())+t}var Ql=class{overdueTime;value;constructor(e,n=0){this.overdueTime=n,this.value=e}isValid(){return this.value===null?!1:this.overdueTime===0?!0:!(Date.parse(new Date().toString())>this.overdueTime)}};function gi(t,e){let n=Em(M(e));return Number(M(t).mul(n))}function aW(t,e=32){return BigInt.asUintN(e,BigInt(t)).toString()}function cW(t,e=32){return Number(BigInt.asIntN(e,BigInt(t)))}function yo(t,e){let n=Em(M(e));return Number(M(t).div(n))}function uW(t,e="hex"){if(t instanceof Uint8Array){let r=Buffer.from(t);return ll.fromSecretKey(new Uint8Array(r))}let n=e==="hex"?ln(t):le(t);return ll.fromSecretKey(n)}function lW(t,e="hex"){if(t instanceof Uint8Array){let r=Buffer.from(t);return Tl.fromSecretKey(new Uint8Array(r))}let n=e==="hex"?ln(t):le(t);return Tl.fromSecretKey(n)}var Fv=async t=>new Promise(e=>{setTimeout(()=>{e(1)},t)});async function qv(t,e=!0){t.getData().commands.forEach((n,r)=>{e&&console.log(`transaction ${r}: `,n)})}var $v={coinType:"0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP",decimals:6},Gv={coinType:"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",decimals:6};function Hv(...t){console.log("DeepbookV3_Utils_Sdk###",...t)}function zv(t){return t.data}function T3(t){if(t.error&&"object_id"in t.error&&"version"in t.error&&"digest"in t.error){let{error:e}=t;return{objectId:e.object_id,version:e.version,digest:e.digest}}}function k3(t){if(t.error&&"object_id"in t.error&&!("version"in t.error)&&!("digest"in t.error))return t.error.object_id}function E3(t){if("reference"in t)return t.reference;let e=zv(t);return e?{objectId:e.objectId,version:e.version,digest:e.digest}:T3(t)}function Wv(t){return"objectId"in t?t.objectId:E3(t)?.objectId??k3(t)}function hW(t){return t.data!==void 0}function x3(t){return t.content!==void 0}function S3(t){let e="data"in t?zv(t):t;if(!(!e||!x3(e)||e.content.dataType!=="moveObject"))return e.content}function Zv(t){let e=S3(t)?.fields;if(e)return"fields"in e?e.fields:e}var Jv=A.struct("GetCetusBalanceManagerList",{owner:A.Address,cetus_balance_managers:A.vector(A.Address),deepbook_balance_managers:A.vector(A.Address)}),Kv=A.struct("Account",{epoch:A.u64(),open_orders:A.vector(A.u128()),taker_volume:A.u128(),maker_volume:A.u128(),active_stake:A.u64(),inactive_stake:A.u64(),created_proposal:A.bool(),voted_proposal:A.option(A.Address),unclaimed_rebates:A.struct("Balances",{base:A.u64(),quote:A.u64(),deep:A.u64()}),settled_balances:A.struct("Balances",{base:A.u64(),quote:A.u64(),deep:A.u64()}),owed_balances:A.struct("Balances",{base:A.u64(),quote:A.u64(),deep:A.u64()})});var Om=1e6,Er=1e9;function Im(t){let e=t?.bcs??t?.[0];if(e instanceof Uint8Array)return e;if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);if(Array.isArray(e))return Uint8Array.from(e);if(typeof e=="string"&&e.length>0)return Uint8Array.from(Yv.toUint8Array(e));throw new Error("Missing simulation return bytes")}function ed(t,e){if(t?.$kind==="FailedTransaction"||!t?.commandResults?.length){let n=t?.FailedTransaction?.status?.error;throw new Error(`${e}: ${n?.message??JSON.stringify(n??"Unknown error")}`)}}var I3={coinType:"0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP",decimals:6},A3={coinType:"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",decimals:6},td=class{_sdk;_deep;_cache={};constructor(e){this._sdk=e,this._deep=e.sdkOptions.network==="mainnet"?A3:I3}get sdk(){return this._sdk}get deepCoin(){return this._deep}createAndShareBalanceManager(){let e=new Y,n=e.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::new`});return e.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::cetus_balance_manager::check_and_add_deepbook_balance_manager_indexer`,arguments:[e.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),n],typeArguments:[]}),e.moveCall({target:"0x2::transfer::public_share_object",arguments:[n],typeArguments:[`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::BalanceManager`]}),e}createAndDepsit({account:e,coin:n,amountToDeposit:r}){let s=new Y;s.setSenderIfNotSet(e);let i=s.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::new`}),o=tr({type:n.coinType,balance:BigInt(r)});return s.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::deposit`,arguments:[i,o],typeArguments:[n.coinType]}),s.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::cetus_balance_manager::check_and_add_deepbook_balance_manager_indexer`,arguments:[s.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),i],typeArguments:[]}),s.moveCall({target:"0x2::transfer::public_share_object",arguments:[i],typeArguments:[`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::BalanceManager`]}),s}depositIntoManager({account:e,balanceManager:n,coin:r,amountToDeposit:s,tx:i}){let o=i||new Y;if(n){o.setSenderIfNotSet(e);let a=tr({type:r.coinType,balance:BigInt(s)});return o.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::deposit`,arguments:[o.object(n),a],typeArguments:[r.coinType]}),o}return null}async withdrawFromManager({account:e,balanceManager:n,coin:r,amountToWithdraw:s,returnAssets:i,txb:o}){let a=o||new Y,c=a.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::withdraw`,arguments:[a.object(n),a.pure.u64(s)],typeArguments:[r.coinType]});if(i)return c;if(zt.isSuiCoin(r.coinType))a.transferObjects([c],e);else{let u=await this._sdk.fullClient.getOwnerCoinAssets(e,r.coinType),d=zt.buildCoinForAmount(a,u,BigInt(0),r.coinType,!1);d.target_coin?(a.mergeCoins(d.target_coin,[c]),d.is_mint_zero_coin&&a.transferObjects([d.target_coin],e)):a.transferObjects([c],e)}return a}withdrawManagersFreeBalance({account:e,balanceManagers:n,tx:r=new Y}){for(let s in n)n[s].forEach(o=>{let a=r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::withdraw`,arguments:[r.object(s),r.pure.u64(o.amount)],typeArguments:[o.coinType]});r.transferObjects([a],e)});return r}async getBalanceManager(e,n=!0){let r=`getBalanceManager_${e}`,s=this.getCache(r,n);if(!n&&s!==void 0)return s;try{let i=new Y;i.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.package_id}::cetus_balance_manager::get_balance_managers_by_owner`,arguments:[i.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),i.pure.address(e)],typeArguments:[]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,e),c=(o?.Transaction??o?.FailedTransaction)?.events?.find(T=>T.eventType===`${this._sdk.sdkOptions.deepbook_utils.package_id}::cetus_balance_manager::GetCetusBalanceManagerList`);if(c?.bcs==null)throw new Error("GetCetusBalanceManagerList event not found or missing BCS payload (check simulation / RPC transport)");let d=Jv.parse(new Uint8Array(c.bcs))?.deepbook_balance_managers||[],f=await this._sdk.fullClient.batchGetObjects(d,{json:!0}),p={};for(let T=0;T<f.length;T++){let O=f[T],B=O?.data?.objectId??O?.objectId,C=O?.json??O?.data?.content?.fields,U=C?.allow_listed?.fields?.contents??C?.allow_listed?.contents??C?.balance_manager?.allow_listed?.contents;B&&Array.isArray(U)&&U.length>0&&(p[B]=U)}let m=await this.batchGetObjectsByIdMap(p),b=ae(e),_=[];return d.forEach(T=>{let O=m[T]??[],B=O.filter(U=>{let P=this.getSuiObjectOwnerAddress(U);return P!==void 0&&ae(P)===b});O.length===0||B.length===O.length?_.push({balanceManager:T,cetusBalanceManager:"",capOk:!0}):_.push({balanceManager:T,cetusBalanceManager:"",capOk:!1})}),this.updateCache(r,_,864e5),_||[]}catch(i){throw i instanceof Error?i:new Error(String(i))}}async batchGetObjectsByIdMap(e){let n=Object.entries(e).filter(([,o])=>Array.isArray(o)&&o.length>0);if(n.length===0)return{};let r=[...new Set(n.flatMap(([,o])=>o))],s=await this._sdk.fullClient.batchGetObjects(r,{json:!0}),i=new Map;return s.forEach(o=>{let a=o?.data?.objectId??o?.objectId;a&&i.set(a,o)}),Object.fromEntries(n.map(([o,a])=>[o,a.map(c=>i.get(c)).filter(Boolean)]))}getSuiObjectOwnerAddress(e){let r=e?.owner;if(r&&typeof r=="object"){if(r.$kind==="AddressOwner"&&typeof r.AddressOwner=="string")return r.AddressOwner;if(r.$kind==="ObjectOwner"&&typeof r.ObjectOwner=="string")return r.ObjectOwner;if(typeof r.AddressOwner=="string")return r.AddressOwner;if(typeof r.ObjectOwner=="string")return r.ObjectOwner}let s=e.data?.owner;if(!(!s||typeof s!="object")){if(typeof s.AddressOwner=="string")return s.AddressOwner;if(typeof s.ObjectOwner=="string")return s.ObjectOwner}}withdrawSettledAmounts({poolInfo:e,balanceManager:n},r=new Y){let s=r.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::generate_proof_as_owner`,arguments:[r.object(n)]});return r.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::pool::withdraw_settled_amounts`,arguments:[r.object(e.address),r.object(n),s],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]}),r}async getManagerBalance({account:e,balanceManager:n,coins:r}){try{let s=new Y;r.forEach(a=>{s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::balance`,arguments:[s.object(n)],typeArguments:[a.coinType]})});let i=await this.sdk.fullClient.sendSimulationTransaction(s,e),o={};return i?.commandResults?.forEach((a,c)=>{let u=r[c],d=a.returnValues[0]?.bcs,f=A.U64.parse(new Uint8Array(d)),p=M(f),m=p.eq(0)?"0":p.div(Math.pow(10,u.decimals)).toString();o[u.coinType]={adjusted_balance:m,balance:p.toString()}}),o}catch(s){throw s instanceof Error?s:new Error(String(s))}}async getAccountAllManagerBalance({account:e,coins:n}){try{let r=new Y,s=await this.getBalanceManager(e,!0);if(!Array.isArray(s)||s.length===0)return{};s.forEach(a=>{n.forEach(c=>{r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::balance`,arguments:[r.object(a.balanceManager)],typeArguments:[c.coinType]})})});let i=await this.sdk.fullClient.sendSimulationTransaction(r,e),o={};return s.forEach((a,c)=>{let u={},d=c*n.length;n.forEach((f,p)=>{let m=d+p,b=i.commandResults?.[m];if(b){let _=b.returnValues[0].bcs,T=A.U64.parse(new Uint8Array(_)),O=M(T),B=O.eq(0)?"0":O.div(Math.pow(10,f.decimals)).toString();u[f.coinType]={adjusted_balance:B,balance:O.toString()}}}),o[a.balanceManager]=u}),o}catch(r){throw r instanceof Error?r:new Error(String(r))}}async getMarketPrice(e){try{let n=new Y;n.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::pool::mid_price`,arguments:[n.object(e.address),n.object(he)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let r=await this._sdk.fullClient.sendSimulationTransaction(n,this._sdk.sdkOptions.simulationAccount.address,!1);ed(r,"Failed to get market price");let s=Im(r.commandResults[0]?.returnValues?.[0]),i=Number(A.U64.parse(s)),o=Math.pow(10,e.baseCoin.decimals).toString(),a=Math.pow(10,e.quoteCoin.decimals).toString();return M(i).mul(o).div(a).div(Er).toString()}catch(n){return Hv("getMarketPrice ~ error:",n),"0"}}async getPools(e=!1){let n="Deepbook_getPools",r=this.getCache(n,e);if(r!==void 0)return r;let s=await this._sdk.fullClient.queryEventsByGraphQL({MoveEventType:`${this._sdk.sdkOptions.deepbook.package_id}::pool::PoolCreated`},"all"),i=/<([^>]+)>/,o=[];return s?.data?.forEach(a=>{let c=a?.parsedJson,u=a.type.match(i);if(u){let f=u[1].split(", ");o.push({...c,baseCoinType:f[0],quoteCoinType:f[1]})}}),this.updateCache(n,o,864e5),o}async getQuoteQuantityOut(e,n,r){let s=new Y;s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_quote_quantity_out`,arguments:[s.object(e.address),s.pure.u64(n),s.object(he)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let i=await this._sdk.fullClient.sendSimulationTransaction(s,r),o=String(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs))),a=String(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs))),c=String(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs)));return{baseQuantityDisplay:M(n).div(Math.pow(10,e.baseCoin.decimals)).toString(),baseOutDisplay:M(o).div(Math.pow(10,e.baseCoin.decimals)).toString(),quoteOutDisplay:M(a).div(Math.pow(10,e.quoteCoin.decimals)).toString(),deepRequiredDisplay:M(c).div(Om).toString(),baseQuantity:n,baseOut:o,quoteOut:a,deepRequired:c}}async getBaseQuantityOut(e,n,r){let s=new Y;s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_base_quantity_out`,arguments:[s.object(e.address),s.pure.u64(n),s.object(he)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let i=await this._sdk.fullClient.sendSimulationTransaction(s,r),o=String(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs))),a=String(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs))),c=String(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs)));return{quoteQuantityDisplay:M(n).div(Math.pow(10,e.quoteCoin.decimals)).toString(),baseOutDisplay:M(o).div(Math.pow(10,e.baseCoin.decimals)).toString(),quoteOutDisplay:M(a).div(Math.pow(10,e.quoteCoin.decimals)).toString(),deepRequiredDisplay:M(c).div(Om).toString(),quoteQuantity:n,baseOut:o,quoteOut:a,deepRequired:c}}async getQuantityOut(e,n,r,s){let i=new Y;i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_quantity_out`,arguments:[i.object(e.address),i.pure.u64(n),i.pure.u64(r),i.object(he)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let o=await this._sdk.fullClient.sendSimulationTransaction(i,s),a=Number(A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs))),c=Number(A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs))),u=Number(A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[2].bcs)));return{baseQuantityDisplay:M(n).div(Math.pow(10,e.baseCoin.decimals)).toString(),quoteQuantityDisplay:M(r).div(Math.pow(10,e.quoteCoin.decimals)).toString(),baseOutDisplay:M(a).div(Math.pow(10,e.baseCoin.decimals)).toString(),quoteOutDisplay:M(c).div(Math.pow(10,e.quoteCoin.decimals)).toString(),deepRequiredDisplay:M(u).div(Om).toString(),baseQuantity:n,quoteQuantity:r,baseOut:a,quoteOut:c,deepRequired:u}}async getReferencePool(e){let n=await this.getPools(),r=e.baseCoin.coinType,s=e.quoteCoin.coinType,i=this._deep.coinType;for(let o=0;o<n.length;o++){let a=n[o];if(a.address===e.address)continue;let c=[a.baseCoinType,a.quoteCoinType];if(a.baseCoinType===i&&(c.includes(r)||c.includes(s)))return a}return null}async updateDeepPrice(e,n){let r=await this.getReferencePool(e);return r?(n.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::add_deep_price_point`,arguments:[n.object(e.address),n.object(r.pool_id),n.object(he)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType,r.baseCoinType,r.quoteCoinType]}),n):null}async estimatedMaxFee(e,n,r,s,i,o,a){let c=this.deepCoin;try{let{taker_fee:u,maker_fee:d}=e,f=M(u).div(Er).toString(),p=M(d).div(Er).toString(),m=await this.getMarketPrice(e);console.log("\u{1F680} ~ DeepbookUtilsModule ~ estimatedMaxFee ~ marketPrice:",m);let b=o?r:m!=="0"?m:a;if(b==="0")throw new Error("Cannot get market price");let _=Math.pow(10,e.baseCoin.decimals).toString(),T=Math.pow(10,e.quoteCoin.decimals).toString(),O=M(b).div(_).mul(T).mul(Er).toString();if(s){let U=await this.getMarketPrice(e),L=M(o?r:U!=="0"?U:a).div(_).mul(T).mul(Er).toString(),q=await this.getOrderDeepPrice(e);if(!q)throw new Error("Cannot get deep price");let V=xm(L,r),F=M(n).mul(M(f)).mul(M(q.deep_per_asset)).div(M(Er)),X=M(n).mul(M(p)).mul(M(q.deep_per_asset)).div(M(Er));q.asset_is_base||(F=F.mul(V).div(M(Er)),X=X.mul(V).div(M(Er)));let Q=F.ceil().toString(),D=X.ceil().toString();return{takerFee:Q,makerFee:D,takerFeeDisplay:yo(Q,c.decimals).toString(),makerFeeDisplay:yo(D,c.decimals).toString(),feeType:c.coinType}}if(i){let U=xm(O,o?r:m),P=M(n).mul(U).mul(M(f).mul(1.25)).div(M(Er)).ceil().toFixed(0),L=M(n).mul(U).mul(M(p).mul(1.25)).div(M(Er)).ceil().toFixed(0);return{takerFee:P,makerFee:L,takerFeeDisplay:yo(P,e.quoteCoin.decimals).toString(),makerFeeDisplay:yo(L,e.quoteCoin.decimals).toString(),feeType:e.quoteCoin.coinType}}let B=M(n).mul(M(f).mul(1.25)).ceil().toFixed(0),C=M(n).mul(M(p).mul(1.25)).ceil().toFixed(0);return{takerFee:B,makerFee:C,takerFeeDisplay:yo(B,e.baseCoin.decimals).toString(),makerFeeDisplay:yo(C,e.baseCoin.decimals).toString(),feeType:e.baseCoin.coinType}}catch(u){throw u instanceof Error?u:new Error(String(u))}}async getOrderDeepPrice(e,n=!0){let r=`getOrderDeepPrice_${e.address}}`,s=this.getCache(r);if(s!==void 0)return s;try{let i=new Y,o=!1;n&&e?.baseCoin?.coinType!==this._deep.coinType&&e?.quoteCoin?.coinType!==this._deep.coinType&&await this.updateDeepPrice(e,i)&&(o=!0),i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_order_deep_price`,arguments:[i.object(e.address)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let a=await this._sdk.fullClient.sendSimulationTransaction(i,this._sdk.sdkOptions.simulationAccount.address),c=o?a.commandResults[1]?.returnValues[0]?.bcs:a.commandResults[0]?.returnValues[0]?.bcs,u=this.parseOrderDeepPrice(new Uint8Array(c));return this.updateCache(r,u,6e4),u}catch{return await Fv(2e3),this.getOrderDeepPrice(e,!1)}}parseOrderDeepPrice(e){let n=new DataView(e.buffer),r=n.getUint8(0)!==0,s=Number(n.getBigUint64(1,!0));return{asset_is_base:r,deep_per_asset:s}}getCoinAssets(e,n,r){return zt.buildCoinWithBalance(BigInt(M(n).abs().ceil().toString()),e,r)}async getTransactionRelatedBalance(e,n,r,s,i,o,a){let c=this.deepCoin;if(!a)return{baseManagerBlance:"0",quoteManagerBlance:"0",feeManaerBalance:"0"};try{let u=[{coinType:e.baseCoin.coinType,decimals:e.baseCoin.decimals},{coinType:e.quoteCoin.coinType,decimals:e.quoteCoin.decimals}];s&&u.push(c);let d=await this.getManagerBalance({account:i,balanceManager:a,coins:u}),f=d?.[n]?.balance||"0",p=d?.[r]?.balance||"0",m=o&&d?.[c.coinType]?.balance||"0";return{baseManagerBlance:f,quoteManagerBlance:p,feeManaerBalance:m}}catch(u){throw u instanceof Error?u:new Error(String(u))}}getFeeAsset(e,n,r,s,i,o,a,c,u){let d=M(e).gt(0)&&c,f="0";if(!d)return{feeAsset:this.getEmptyCoin(u,n),haveDepositFee:"0"};if(o||a){let p=M(i).sub(o?s:r);f=p.lte(0)?e:p.sub(e).lt(0)?p.sub(e).toString():"0"}else f=M(i).sub(e).lt("0")?M(i).sub(e).abs().toString():"0";return{feeAsset:M(f).gt("0")?this.getCoinAssets(n,f,u):this.getEmptyCoin(u,n),haveDepositFee:f}}async getTransactionRelatedAssets(e,n,r,s,i,o,a,c,u){try{let d=this.deepCoin,f=Be(e.baseCoin.coinType),p=Be(e.quoteCoin.coinType),m=f===d.coinType,b=p===d.coinType,_=!m&&!b,{baseManagerBlance:T,quoteManagerBlance:O,feeManaerBalance:B}=await this.getTransactionRelatedBalance(e,f,p,_,o,a,c);console.log("\u{1F680}\u{1F680}\u{1F680} ~ deepbookUtilsModule.ts:897 ~ DeepbookUtilsModule ~ getTransactionRelatedAssets ~ quoteManagerBlance:",{baseManagerBlance:T,quoteManagerBlance:O});let C,U,P=!1;if(i){a||(r=M(r).add(M(s)).toString());let q=M(O).sub(r).toString();M(q).lt(0)?(P=!0,U=this.getCoinAssets(p,q,u)):U=this.getEmptyCoin(u,p),C=this.getEmptyCoin(u,f)}else{a||(n=M(n).add(M(s)).toString());let q=M(T).sub(n).toString();M(q).lt(0)?(P=!0,C=this.getCoinAssets(f,q,u)):C=this.getEmptyCoin(u,f),U=this.getEmptyCoin(u,p)}let L=this.getFeeAsset(s,d.coinType,n,r,B,b,m,a,u);return{baseAsset:C,quoteAsset:U,feeAsset:L,haveDeposit:P}}catch(d){throw d instanceof Error?d:new Error(String(d))}}async getMarketTransactionRelatedAssets(e,n,r,s,i,o,a,c,u,d){try{let f=this.deepCoin,p=Be(e.baseCoin.coinType),m=Be(e.quoteCoin.coinType),b=p===f.coinType,_=m===f.coinType,T=!b&&!_,O=await this.getTransactionRelatedBalance(e,p,m,T,o,a,c),{feeManaerBalance:B}=O,C=M(O.baseManagerBlance).add(M(d?.base||"0")).toString(),U=M(O.quoteManagerBlance).add(M(d?.quote||"0")).toString(),P;a&&M(B).lt(s)?P=this.getCoinAssets(f.coinType,M(s).sub(B).toString(),u):P=this.getEmptyCoin(u,f.coinType);let L,q;if(i){a||(r=M(r).add(M(s)).toString());let V=M(U).sub(r).toString();if(M(V).lt(0)){let F;M(U).gt(0)&&(F=await this.withdrawFromManager({account:o,balanceManager:c,coin:e.quoteCoin,amountToWithdraw:U,returnAssets:!0,txb:u}));let X=this.getCoinAssets(m,V,u);F&&u.mergeCoins(X,[F]),q=X}else q=await this.withdrawFromManager({account:o,balanceManager:c,coin:e.quoteCoin,amountToWithdraw:r,returnAssets:!0,txb:u});L=this.getEmptyCoin(u,p)}else{a||(n=M(n).add(M(s)).toString());let V=M(C).sub(n).toString();if(M(V).lt(0)){let F;M(C).gt(0)&&(F=await this.withdrawFromManager({account:o,balanceManager:c,coin:e.baseCoin,amountToWithdraw:C,returnAssets:!0,txb:u}));let X=this.getCoinAssets(p,V,u);F&&u.mergeCoins(X,[F]),L=X}else L=await this.withdrawFromManager({account:o,balanceManager:c,coin:e.baseCoin,amountToWithdraw:n,returnAssets:!0,txb:u});q=this.getEmptyCoin(u,m)}return{baseAsset:L,quoteAsset:q,feeAsset:P}}catch(f){throw f instanceof Error?f:new Error(String(f))}}async createDepositThenPlaceLimitOrder({poolInfo:e,priceInput:n,quantity:r,orderType:s,isBid:i,maxFee:o,account:a,payWithDeep:c,expirationTimestamp:u=Date.now()+31536e8}){try{let d=this.deepCoin,f=e.address,p=e.baseCoin.decimals,m=e.quoteCoin.decimals,b=e.baseCoin.coinType,_=e.quoteCoin.coinType,T=M(n).mul(10**(m-p+9)).toString(),O=Be(b),B=Be(_),C=new Y,U,P;if(i){let F=M(n).mul(M(r).div(Math.pow(10,e.baseCoin.decimals))).mul(Math.pow(10,e.quoteCoin.decimals)).toString();c||(F=M(F).add(M(o)).toString()),P=zt.buildCoinWithBalance(BigInt(F),B,C)}else{let F=r;c||(F=M(r).abs().add(M(o)).toString()),U=zt.buildCoinWithBalance(BigInt(F),O,C)}let L=c?M(o).gt(0)?zt.buildCoinWithBalance(BigInt(M(o).abs().ceil().toString()),d.coinType,C):this.getEmptyCoin(C,d.coinType):this.getEmptyCoin(C,d.coinType),q=C.moveCall({typeArguments:[i?b:_],target:"0x2::coin::zero",arguments:[]}),V=[C.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),C.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),C.object(f),i?q:U,i?P:q,L,C.pure.u8(s),C.pure.u8(0),C.pure.u64(T),C.pure.u64(r),C.pure.bool(i),C.pure.bool(!1),C.pure.u64(u),C.object(he)];return C.moveCall({typeArguments:[O,B],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::create_deposit_then_place_limit_order`,arguments:V}),C}catch(d){throw d instanceof Error?d:new Error(String(d))}}getEmptyCoin(e,n){return zt.buildCoinWithBalance(BigInt(0),n,e)}async createDepositThenPlaceMarketOrder({poolInfo:e,quantity:n,isBid:r,maxFee:s,account:i,payWithDeep:o,slippage:a=.01}){try{let c=e.address,u=e.baseCoin.coinType,d=e.quoteCoin.coinType,f=Be(u),p=Be(d),m=new Y,b,_,T=n,O,B=await this.getOrderBook(e,"all",6);if(r){let P=B?.ask?.[0]?.price||"0",L=M(P).mul(M(n).div(Math.pow(10,e.baseCoin.decimals))).mul(Math.pow(10,e.quoteCoin.decimals)).toString();O=M(L).plus(M(L).mul(a)).ceil().toString()}else{let P=await B?.bid?.[0]?.price||"0",L=M(P).mul(M(n).div(Math.pow(10,e.baseCoin.decimals))).mul(Math.pow(10,e.quoteCoin.decimals)).toString();O=M(L).minus(M(L).mul(a)).floor().toString()}r?(o||(O=M(O).add(M(s)).toString()),_=this.getCoinAssets(p,O,m),b=this.getEmptyCoin(m,f)):(o||(T=M(T).add(M(s)).toString()),_=this.getEmptyCoin(m,p),b=this.getCoinAssets(f,T,m));let C=o?M(s).gt(0)?zt.buildCoinWithBalance(BigInt(M(s).abs().ceil().toString()),this.deepCoin.coinType,m):this.getEmptyCoin(m,this.deepCoin.coinType):this.getEmptyCoin(m,this.deepCoin.coinType),U=[m.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),m.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),m.object(c),b,_,C,m.pure.u8(0),m.pure.u64(n),m.pure.bool(r),m.pure.bool(o),m.pure.u64(O),m.object(he)];return m.moveCall({typeArguments:[f,p],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::create_deposit_then_place_market_order_v2`,arguments:U}),m}catch(c){throw c instanceof Error?c:new Error(String(c))}}async placeLimitOrder({balanceManager:e,poolInfo:n,priceInput:r,quantity:s,isBid:i,orderType:o,maxFee:a,account:c,payWithDeep:u,expirationTimestamp:d=Date.now()+31536e8}){try{let f=this.deepCoin,p=M(r).mul(10**(n.quoteCoin.decimals-n.baseCoin.decimals+9)).toString(),m=n.baseCoin.coinType,b=n.quoteCoin.coinType,_=new Y,T=i?M(r).mul(M(s).div(Math.pow(10,n.baseCoin.decimals))).mul(Math.pow(10,n.quoteCoin.decimals)).toString():"0",O=i?"0":s,{baseAsset:B,quoteAsset:C,feeAsset:U,haveDeposit:P}=await this.getTransactionRelatedAssets(n,O,T,a,i,c,u,e,_);if(P){let V=[_.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),_.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),_.object(n.address),_.object(e),B,C,U.feeAsset,_.pure.u8(o),_.pure.u8(0),_.pure.u64(p),_.pure.u64(s),_.pure.bool(i),_.pure.bool(u),_.pure.u64(d),_.object(he)];return _.moveCall({typeArguments:[m,b],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::deposit_then_place_limit_order_by_owner`,arguments:V}),_}let L=new Y;M(U.haveDepositFee).gt(0)&&this.depositIntoManager({account:c,balanceManager:e,coin:f,amountToDeposit:U.haveDepositFee,tx:L});let q=[L.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),L.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),L.object(n.address),L.object(e),L.pure.u8(o),L.pure.u8(0),L.pure.u64(p),L.pure.u64(s),L.pure.bool(i),L.pure.bool(u),L.pure.u64(d),L.object(he)];return L.moveCall({typeArguments:[m,b],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::place_limit_order`,arguments:q}),L}catch(f){throw f instanceof Error?f:new Error(String(f))}}modifyOrder({balanceManager:e,poolInfo:n,orderId:r,newOrderQuantity:s}){let i=new Y;return i.moveCall({typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::modify_order`,arguments:[i.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),i.object(e),i.object(n.address),i.pure.u128(r),i.pure.u64(s),i.object(he)]}),i}async getBestAskprice(e){try{let{baseCoin:n,quoteCoin:r}=e,s=new Y,i=await this.getMarketPrice(e),o=M(i).gt(0)?i:Math.pow(10,-1),a=Math.pow(10,6),c=M(o).mul(Math.pow(10,9+r.decimals-n.decimals)).toString(),u=M(a).mul(Math.pow(10,9+r.decimals-n.decimals)).toString();s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[s.object(e.address),s.pure.u64(c),s.pure.u64(u),s.pure.bool(!1),s.object(he)],typeArguments:[n.coinType,r.coinType]});let d=this._sdk.sdkOptions.simulationAccount.address,f=await this._sdk.fullClient.sendSimulationTransaction(s,d),p=[],m=f.commandResults[0].returnValues[0].bcs,b=A.vector(A.u64()).parse(new Uint8Array(m)),_=f.commandResults[0].returnValues[1].bcs,T=A.vector(A.u64()).parse(new Uint8Array(_));return b.forEach((O,B)=>{let C=M(O).div(Math.pow(10,9+r.decimals-n.decimals)).toString(),U=M(T[B]).div(Math.pow(10,n.decimals)).toString();p.push({price:C,quantity:U})}),p?.[0]?.price||0}catch{return 0}}async getBestBidprice(e){try{let{baseCoin:n,quoteCoin:r}=e,s=new Y,i=await this.getMarketPrice(e),o=M(i).gt(0)?M(i).div(3).toNumber():Math.pow(10,-6),a=M(i).gt(0)?i:Math.pow(10,6),c=M(o).mul(Math.pow(10,9+r.decimals-n.decimals)).toString(),u=M(a).mul(Math.pow(10,9+r.decimals-n.decimals)).toString();s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[s.object(e.address),s.pure.u64(go(c,0)),s.pure.u64(go(u,0)),s.pure.bool(!0),s.object(he)],typeArguments:[n.coinType,r.coinType]});let d=this._sdk.sdkOptions.simulationAccount.address,f=await this._sdk.fullClient.sendSimulationTransaction(s,d),p=[],m=f.commandResults[0].returnValues[0].bcs,b=A.vector(A.u64()).parse(new Uint8Array(m)),_=f.commandResults[0].returnValues[1].bcs,T=A.vector(A.u64()).parse(new Uint8Array(_));return b.forEach((O,B)=>{let C=M(O).div(Math.pow(10,9+r.decimals-n.decimals)).toString(),U=M(T[B]).div(Math.pow(10,n.decimals)).toString();p.push({price:C,quantity:U})}),p?.[0]?.price||0}catch{return 0}}async getBestAskOrBidPrice(e,n){try{let{baseCoin:r,quoteCoin:s}=e,i=new Y,o=await this.getMarketPrice(e),a,c;n?(a=M(o).gt(0)?M(o).div(3).toNumber():Math.pow(10,-6),c=M(o).gt(0)?o:Math.pow(10,6)):(a=M(o).gt(0)?o:Math.pow(10,-1),c=M(o).gt(0)?M(o).mul(3).toNumber():Math.pow(10,6));let u=M(a).mul(Math.pow(10,9+s.decimals-r.decimals)).toString(),d=M(c).mul(Math.pow(10,9+s.decimals-r.decimals)).toString();i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[i.object(e.address),i.pure.u64(go(u,0)),i.pure.u64(go(d,0)),i.pure.bool(n),i.object(he)],typeArguments:[r.coinType,s.coinType]});let f=this._sdk.sdkOptions.simulationAccount.address,p=await this._sdk.fullClient.sendSimulationTransaction(i,f),m=[],b=p.commandResults[0].returnValues[0].bcs,_=A.vector(A.u64()).parse(new Uint8Array(b)),T=p.commandResults[0].returnValues[1].bcs,O=A.vector(A.u64()).parse(new Uint8Array(T));return _.forEach((B,C)=>{let U=M(B).div(Math.pow(10,9+s.decimals-r.decimals)).toString(),P=M(O[C]).div(Math.pow(10,r.decimals)).toString();m.push({price:U,quantity:P})}),m?.[0]?.price||0}catch{return 0}}async placeMarketOrder({balanceManager:e,poolInfo:n,baseQuantity:r,quoteQuantity:s,isBid:i,maxFee:o,account:a,payWithDeep:c,slippage:u=.01,settled_balances:d={base:"0",quote:"0"}}){try{let f=Be(n.baseCoin.coinType),p=Be(n.quoteCoin.coinType),m=new Y;d&&(M(d.base).gt(0)||M(d.quote).gt(0))&&this.withdrawSettledAmounts({poolInfo:n,balanceManager:e},m);let{baseAsset:b,quoteAsset:_,feeAsset:T}=await this.getMarketTransactionRelatedAssets(n,r,s,o,i,a,c,e,m,d),O=await this.getOrderBook(n,"all",6);if(i){let U=O?.ask?.[0]?.price||"0",P=M(U).mul(M(r).div(Math.pow(10,n.baseCoin.decimals))).mul(Math.pow(10,n.quoteCoin.decimals)).toString();s=M(P).plus(M(P).mul(u)).ceil().toString()}else{let U=await O?.bid?.[0]?.price||"0",P=M(U).mul(M(r).div(Math.pow(10,n.baseCoin.decimals))).mul(Math.pow(10,n.quoteCoin.decimals)).toString();s=M(P).minus(M(P).mul(u)).floor().toString()}let B=s,C=[m.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),m.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),m.object(n.address),m.object(e),b,_,T,m.pure.u8(0),m.pure.u64(r),m.pure.bool(i),m.pure.bool(c),m.pure.u64(B),m.object(he)];return m.setSenderIfNotSet(a),m.moveCall({typeArguments:[f,p],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::deposit_then_place_market_order_by_owner_v2`,arguments:C}),m}catch(f){throw f instanceof Error?f:new Error(String(f))}}async getOrderInfoList(e,n){try{let r=new Y;e.forEach(u=>{let d=u?.pool,f=u?.orderId;r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_order`,arguments:[r.object(d.pool_id),r.pure.u128(BigInt(f))],typeArguments:[d.baseCoinType,d.quoteCoinType]})});let s=await this._sdk.fullClient.sendSimulationTransaction(r,n),i=A.struct("ID",{bytes:A.Address}),o=A.struct("OrderDeepPrice",{asset_is_base:A.bool(),deep_per_asset:A.u64()}),a=A.struct("Order",{balance_manager_id:i,order_id:A.u128(),client_order_id:A.u64(),quantity:A.u64(),filled_quantity:A.u64(),fee_is_deep:A.bool(),order_deep_price:o,epoch:A.u64(),status:A.u8(),expire_timestamp:A.u64()}),c=[];return s?.commandResults?.forEach(u=>{let d=u.returnValues[0].bcs,f=a.parse(new Uint8Array(d));c.push(f)}),c}catch{return[]}}decodeOrderId(e){let n=e>>BigInt(127)===BigInt(0),r=e>>BigInt(64)&(BigInt(1)<<BigInt(63))-BigInt(1),s=e&(BigInt(1)<<BigInt(64))-BigInt(1);return{isBid:n,price:r,orderId:s}}async getOpenOrder(e,n,r,s,i=!1,o=new Y){let a;if(s)a=s;else{o.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[o.object(e.address),i?r:o.object(r)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let f=await this._sdk.fullClient.sendSimulationTransaction(o,n);console.log("\u{1F680} ~ DeepbookUtilsModule ~ getOpenOrder ~ res:",f?.FailedTransaction?.status);let p=f.commandResults[i?1:0].returnValues[0].bcs;a=A.struct("VecSet",{constants:A.vector(A.U128)}).parse(new Uint8Array(p)).constants}if(a.length===0)return[];let c=a.map(f=>({pool:{pool_id:e.address,baseCoinType:e.baseCoin.coinType,quoteCoinType:e.quoteCoin.coinType},orderId:f})),u=await this.getOrderInfoList(c,n)||[],d=[];return u.forEach(f=>{let p=this.decodeOrderId(BigInt(f.order_id));d.push({...f,price:p.price,isBid:p.isBid,pool:e})}),d}async getAllMarketsOpenOrders(e,n){try{let r=await this.getPools(),s=new Y;r.forEach(f=>{s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[s.object(f.pool_id),s.object(n)],typeArguments:[f.baseCoinType,f.quoteCoinType]})});let o=(await this._sdk.fullClient.sendSimulationTransaction(s,e)).commandResults?.map(f=>f.returnValues?.[0]?.bcs)||[],a=A.struct("VecSet",{constants:A.vector(A.U128)}),c=[];o.forEach((f,p)=>{let m=a.parse(new Uint8Array(f)).constants;m.length>0&&m.forEach(b=>{c.push({pool:r[p],orderId:b})})});let u=await this.getOrderInfoList(c,e)||[],d=[];return c.forEach((f,p)=>{let m=this.decodeOrderId(BigInt(f.orderId)),b=u.find(_=>_.order_id===f.orderId)||{};d.push({...f,...b,price:m.price,isBid:m.isBid})}),d}catch(r){return console.log("\u{1F680} ~ DeepbookUtilsModule ~ getAllMarketsOpenOrders ~ error:",r),[]}}cancelOrders(e,n,r=new Y){return e.forEach(s=>{r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::cancel_order`,arguments:[r.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),r.object(n),r.object(s.poolInfo.address),r.pure.u128(s.orderId),r.object(he)],typeArguments:[s.poolInfo.baseCoin.coinType,s.poolInfo.quoteCoin.coinType]})}),r}async getDeepbookOrderBook(e,n,r,s,i,o){let a=this._sdk.fullClient,u=await new O3({client:a,address:i,network:"testnet",balanceManagers:{test1:{address:o,tradeCap:""}}}).getLevel2Range(e,n,r,s)}processOrderBookData(e,n,r,s){let i=A.vector(A.u64()).parse(Im(e.returnValues?.[0])),o=A.vector(A.u64()).parse(Im(e.returnValues?.[1])),a={};return i.forEach((u,d)=>{let f=M(u).div(Math.pow(10,9+r.decimals-n.decimals)).toString(),p=M(o[d]).div(Math.pow(10,n.decimals)).toString();a[f]?a[f]={price:f,quantity:M(a[f].quantity).add(p).toString()}:a[f]={price:f,quantity:p}}),Object.values(a)}getLevel2RangeTx(e,n,r,s,i=new Y){let{baseCoin:o,quoteCoin:a}=e,c=go(M(r).mul(Math.pow(10,9+a.decimals-o.decimals)).toString(),0),u=go(M(s).mul(Math.pow(10,9+a.decimals-o.decimals)).toString(),0);return i.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::pool::get_level2_range`,arguments:[i.object(e.address),i.pure.u64(c),i.pure.u64(u),i.pure.bool(n),i.object(he)],typeArguments:[o.coinType,a.coinType]}),i}async fetchOrderBook(e,n,r,s,i,o){let a=new Y,{baseCoin:c,quoteCoin:u}=e;try{if(n==="bid"||n==="all"){let b=s,_=r==="0"?i:r;a=this.getLevel2RangeTx(e,!0,b,_,a)}if(n==="ask"||n==="all"){let b=r==="0"?s:r,_=i;a=this.getLevel2RangeTx(e,!1,b,_,a)}let d=this._sdk.sdkOptions.simulationAccount.address,f=await this._sdk.fullClient.sendSimulationTransaction(a,d,!1);ed(f,"Failed to fetch order book");let p=[];(n==="bid"||n==="all")&&(p=f.commandResults?.[0]?this.processOrderBookData(f.commandResults[0],c,u,o):[]);let m=[];if(n==="ask"||n==="all"){let b=n==="ask"?0:1;m=f.commandResults?.[b]?this.processOrderBookData(f.commandResults[b],c,u,o):[]}return{bid:p.sort((b,_)=>_.price-b.price),ask:m.sort((b,_)=>b.price-_.price)}}catch{let f=this._sdk.sdkOptions.simulationAccount.address,p=[],m=[];try{let b=this.getLevel2RangeTx(e,!0,s,r),_=await this._sdk.fullClient.sendSimulationTransaction(b,f,!1);ed(_,"Failed to fetch bid order book"),p=_.commandResults?.[0]?this.processOrderBookData(_.commandResults[0],c,u,o):[]}catch{p=[]}try{let b=this.getLevel2RangeTx(e,!1,s,r),_=await this._sdk.fullClient.sendSimulationTransaction(b,f,!1);ed(_,"Failed to fetch ask order book"),m=_.commandResults?.[0]?this.processOrderBookData(_.commandResults[0],c,u,o):[]}catch{m=[]}return{bid:p,ask:m}}}async getOrderBook(e,n,r){let s={bid:[],ask:[]};try{let i=await this.getMarketPrice(e),o=n,a=Math.pow(10,-r),c=Math.pow(10,r),u=await this.fetchOrderBook(e,o,i,a,c,r);return{bid:u?.bid,ask:u?.ask}}catch{return s}}async getOrderBookOrigin(e,n){try{let r=new Y,s=await this.getMarketPrice(e),{baseCoin:i,quoteCoin:o}=e;if(n==="bid"||n==="all"){let f=Math.pow(10,-6),p=s,m=M(f).mul(Math.pow(10,9+o.decimals-i.decimals)).toString(),b=M(p).mul(Math.pow(10,9+o.decimals-i.decimals)).toString();r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[r.object(e.address),r.pure.u64(m),r.pure.u64(b),r.pure.bool(!0),r.object(he)],typeArguments:[i.coinType,o.coinType]})}if(n==="ask"||n==="all"){let f=s,p=Math.pow(10,6),m=M(f).mul(Math.pow(10,9+o.decimals-i.decimals)).toString(),b=M(p).mul(Math.pow(10,9+o.decimals-i.decimals)).toString();r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[r.object(e.address),r.pure.u64(m),r.pure.u64(b),r.pure.bool(!1),r.object(he)],typeArguments:[i.coinType,o.coinType]})}let a=this._sdk.sdkOptions.simulationAccount.address,c=await this._sdk.fullClient.sendSimulationTransaction(r,a),u=[];if(n==="bid"||n==="all"){let f=c.commandResults[0]?.returnValues[0]?.bcs,p=A.vector(A.u64()).parse(new Uint8Array(f)),m=c.commandResults[0]?.returnValues[1]?.bcs,b=A.vector(A.u64()).parse(new Uint8Array(m));p.forEach((_,T)=>{let O=M(_).div(Math.pow(10,9+o.decimals-i.decimals)).toString(),B=M(b[T]).div(Math.pow(10,i.decimals)).toString();u.push({price:O,quantity:B})})}let d=[];if(n==="ask"||n==="all"){let f=n==="ask"?0:1,p=c.results[f]?.returnValues[0]?.[0],m=A.vector(A.u64()).parse(new Uint8Array(p)),b=c.results[f]?.returnValues[1]?.[0],_=A.vector(A.u64()).parse(new Uint8Array(b));m.forEach((T,O)=>{let B=M(T).div(Math.pow(10,9+o.decimals-i.decimals)).toString(),C=M(_[O]).div(Math.pow(10,i.decimals)).toString();d.push({price:B,quantity:C})})}return{bid:u,ask:d}}catch{return{bids:[],asks:[]}}}async getWalletBalance(e){let n=await this._sdk.fullClient?.getOwnerCoinBalances(e);return console.log("\u{1F680} ~ DeepbookUtilsModule ~ getWalletBalance ~ result:",n),Object.fromEntries(n.map((s,i)=>[Be(s.coinType),{coinType:s.coinType,totalBalance:s.balance,coinBalance:s.coinBalance,addressBalance:s.addressBalance}]))}async getAccount(e,n,r=new Y){for(let o=0;o<n.length;o++){let a=n[o];r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::order_trader::get_account_id`,arguments:[r.object(a.address),typeof e=="string"?r.object(e):e],typeArguments:[a.baseCoin.coinType,a.quoteCoin.coinType]})}let s=await this._sdk.fullClient.sendSimulationTransaction(r,this._sdk.senderAddress);if(s?.Transaction?.events?.length===0)return null;let i=[];return s?.Transaction?.events?.forEach((o,a)=>{let c=o?.bcs,u=Kv.parse(c),d=u.open_orders,f=u.owed_balances,p=u.settled_balances,m=u.unclaimed_rebates,b=u.taker_volume;i.push({balance_manager_id:e,open_orders:d,owed_balances:f,settled_balances:p,unclaimed_rebates:m,taker_volume:b,poolInfo:n[a]})}),i}async getSuiTransactionResponse(e,n=!1){let r=`${e}_getSuiTransactionResponse`,s=this.getCache(r,n);if(s!==void 0)return s;let i;try{i=await this._sdk.fullClient.getTransaction({digest:e,include:{events:!0,effects:!0,balanceChanges:!0,showInput:!0,showObjectChanges:!0}})}catch{i=await this._sdk.fullClient.getTransaction({digest:e,include:{events:!0,effects:!0}})}return this.updateCache(r,i,864e5),i}transformExtensions(e,n,r=!0){let s=[];for(let i of n){let{key:o}=i.fields,{value:a}=i.fields;if(o==="labels")try{a=JSON.parse(decodeURIComponent(Yv.decode(a)))}catch{}r&&(e[o]=a),s.push({key:o,value:a})}delete e.extension_fields,r||(e.extensions=s)}async getCoinConfigs(e=!1,n=!0){let r=this.sdk.sdkOptions.coinlist.handle,s=`${r}_getCoinConfigs`,i=this.getCache(s,e);if(i)return i;let a=(await this._sdk.fullClient.getDynamicFieldsByPage(r)).data.map(d=>d.objectId),c=await this._sdk.fullClient.batchGetObjects(a,{json:!0}),u=[];return c.forEach(d=>{let f=this.buildCoinConfig(d,n);this.updateCache(`${r}_${f.address}_getCoinConfig`,f,864e5),u.push({...f})}),this.updateCache(s,u,864e5),u}buildCoinConfig(e,n=!0){let r=Zv(e);r=r.value.fields;let s={...r};return s.id=Wv(e),s.address=mi(r.coin_type.fields.name).full_address,r.pyth_id&&(s.pyth_id=bn(r.pyth_id)),this.transformExtensions(s,r.extension_fields.fields.contents,n),delete s.coin_type,s}updateCache(e,n,r=3e5){let s=this._cache[e];s?(s.overdueTime=Sm(r),s.value=n):s=new Ql(n,Sm(r)),this._cache[e]=s}getCache(e,n=!1){let r=this._cache[e],s=r?.isValid();if(!n&&s)return r.value;s||delete this._cache[e]}async createPermissionlessPool({tickSize:e,lotSize:n,minSize:r,baseCoinType:s,quoteCoinType:i}){let o=new Y,a=zt.buildCoinWithBalance(BigInt(500*10**6),"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",o);o.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::create_permissionless_pool`,typeArguments:[s,i],arguments:[o.object(this.sdk.sdkOptions.deepbook.registry_id),o.pure.u64(e),o.pure.u64(n),o.pure.u64(r),a]});try{let c=await this._sdk.fullClient.sendSimulationTransaction(o,this.sdk.senderAddress);if(c?.Transaction?.effects?.status?.success)return o;if(c?.Transaction?.effects?.status?.error&&c.Transaction.effects.status.error.indexOf('Some("register_pool") }, 1)')>-1)throw new Error("Pool already exists")}catch(c){throw c instanceof Error?c:new Error(String(c))}return o}newWithCustomOwnerCaps({owner:e,appType:n}){let r=new Y,s=n||`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_manager::MarginApp`,[i,o,a,c]=r.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::new_with_custom_owner_caps`,arguments:[r.object(this._sdk.sdkOptions.deepbook.registry_id),r.pure.address(e)],typeArguments:[s]});return r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::cetus_balance_manager::check_and_add_deepbook_balance_manager_indexer`,arguments:[r.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),i],typeArguments:[]}),r.moveCall({target:"0x2::transfer::public_share_object",arguments:[i],typeArguments:[`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::BalanceManager`]}),r.transferObjects([o,a,c],e),r}};var nd="0x0000000000000000000000000000000000000000000000000000000000000006",MW="pool_script",DW="pool_script_v2",jW="router",UW="router_with_partner",LW="fetcher_script",PW="expect_swap",VW="utils",FW="0x1::coin::CoinInfo",qW="0x1::coin::CoinStore",$W="custodian_v2",GW="clob_v2",HW="endpoints_v2",zW=t=>{if(typeof t=="string"&&t.startsWith("0x"))return"object";if(typeof t=="number"||typeof t=="bigint")return"u64";if(typeof t=="boolean")return"bool";throw new Error(`Unknown type for value: ${t}`)},WW=["https://rpc-mainnet.suiscan.xyz:443","https://cetus-mainnet-endpoint.blockvision.org","https://cetus-suimain-e31f.mainnet.sui.rpcpool.com"];import Xv from"decimal.js";Xv.config({precision:64,rounding:Xv.ROUND_DOWN,toExpNeg:-64,toExpPos:64});var XW=({totalAssetsValue:t,totalDebtValue:e})=>M(e).eq(0)||M(t).eq(0)?"0":M(t).div(M(e)).toString(),Qv=t=>{let{base_margin_pool_id:e,quote_margin_pool_id:n,enabled:r,pool_liquidation_reward:s,user_liquidation_reward:i}=t.value.fields,{liquidation_risk_ratio:o,min_borrow_risk_ratio:a,min_withdraw_risk_ratio:c,target_liquidation_risk_ratio:u}=t.value.fields.risk_ratios.fields;return{id:t.id.id,name:t.name,base_margin_pool_id:e,quote_margin_pool_id:n,enabled:r,pool_liquidation_reward:s,user_liquidation_reward:i,liquidation_risk_ratio:o,min_borrow_risk_ratio:a,min_withdraw_risk_ratio:c,target_liquidation_risk_ratio:u}},eT=(t,e)=>{let{deposit_coin_type:n}=e,r=t.id,{max_utilization_rate:s,min_borrow:i,protocol_spread:o,supply_cap:a}=t.config.margin_pool_config,{maintainer_fees:c,protocol_fees:u}=t.protocol_fees,{total_supply:d,total_borrow:f}=t.state,p=M(a).sub(d).toString();return{deposit_coin_type:n,id:r,supply_cap:a,total_supply:d,total_borrow:f,available_supply:p,max_utilization_rate:s,min_borrow:i,protocol_spread:o,maintainer_fees:c,protocol_fees:u}};var Yr=1000000000n,C3=365n*24n*60n*60n*1000n;function N3(t,e){return e===0n?0n:t*Yr/e}function R3(t,e){let{base_rate:n,base_slope:r,optimal_utilization:s,excess_slope:i}=e;if(t<s)return n+t*r/Yr;{let o=t-s,a=s*r/Yr,c=o*i/Yr;return n+a+c}}function tT(t,e){let n=t*e,r=n/Yr;return n%Yr>0n?r+1n:r}function B3(t,e,n,r){let s=e.borrow_shares===0n?Yr:e.total_borrow*Yr/e.borrow_shares,i=tT(t,s),o=N3(e.total_borrow,e.total_supply),a=R3(o,n),c=r-e.last_update_timestamp,u=e.total_borrow*a/Yr*c/C3,d=e.borrow_shares===0n?0n:tT(u,t*Yr/e.borrow_shares),f=i+d;return{confirmedDebt:i,estimatedInterest:d,totalDebt:f,annualInterestRate:a}}function eZ(t,e,n,r,s=60000n){let i=r+s,{totalDebt:o}=B3(t,e,n,i);return o}var Am=10n;function M3(t,e){if(!Am)throw new Error("oraclePriceMultiplierDecimal is required");if(t===0n)throw new Error("Invalid oracle price");if(e<0n){let n=10n**(Am- -e);return t*n}return t/10n**(e+Am)}var pa=class{_sdk;hasChangeConnection=!1;_commonPythPrice;_cache={};constructor(e){this._sdk=e;let{pyth_state_id:n,wormhole_state_id:r}=e.sdkOptions.margin_utils;this._commonPythPrice=new Rv(e.fullClient,this._sdk.sdkOptions.pythEndpoints,{pyth_state_id:n,wormhole_state_id:r})}get sdk(){return this._sdk}async updatePythPriceIDs(e,n){let r=null,s=null;try{r=await this._commonPythPrice.getPriceFeedsUpdateData(e)}catch(a){s=a,console.log("Error: ",a)}if(r==null)throw new Error(`All Pyth price nodes are unavailable. Cannot fetch price data. Please switch to or add new available Pyth nodes. Detailed error: ${s?.message}`);let i=[];try{i=await this._commonPythPrice.updatePriceFeeds(n,r,e)}catch(a){throw new Error(`All Pyth price nodes are unavailable. Cannot fetch price data. Please switch to or add new available Pyth nodes in the pythUrls parameter when initializing AggregatorClient, for example: new AggregatorClient({ pythUrls: ["https://your-pyth-node-url"] }). Detailed error: ${a}`)}let o=new Map;for(let a=0;a<e.length;a++)o.set(e[a],i[a]);return o}priceCheck(e,n=60){let r=Math.floor(Date.now()/1e3);if(!(Math.abs(r-e.last_update_time)>n))return e}async getLatestPrice(e,n=!1){let r={},s=[];if(n?e.forEach(a=>{let c=this._sdk.fullClient.getCache(`getLatestPrice_${a.coinType}`);c&&this.priceCheck(c,60)?r[a.coinType]=c:s.push(a.coinType)}):s=e.map(a=>a.coinType),s.length===0)return r;let i=e.map(a=>a.feed);return(await this._commonPythPrice.getLatestPriceFeeds(i))?.parsed?.forEach((a,c)=>{let u=a.price;if(u){let{price:d,expo:f}=u,p=M(d).mul(M(10).pow(M(f))).toString(),b={coin_type:e[c].coinType,price:p,oracle_price:0n,last_update_time:u.publish_time};b.oracle_price=M3(BigInt(d),BigInt(f)),r[s[c]]=b,this._sdk.fullClient.updateCache(`getLatestPrice_${b.coin_type}`,b)}}),r}};var rd=class{_sdk;pythPrice;_deep;_cache={};constructor(e){if(!e)throw new Error("SDK instance is required");this._sdk=e,this.pythPrice=new pa(e),this._deep=e.sdkOptions.network==="mainnet"?Gv:$v}get sdk(){return this._sdk}get deepCoin(){return this._deep}createAndShareMarginManager(e,n=new Y){if(!e)throw new Error("Pool info is required");if(!e.id)throw new Error("Pool ID is required");if(!e.baseCoin?.coinType||!e.quoteCoin?.coinType)throw new Error("Base and quote coin types are required");let{baseCoin:r,quoteCoin:s}=e;try{let{margin_manager:i,initializer:o}=this.createMarginManager(e,n);return this.shareMarginManager({marginManager:i,initializer:o,baseCoin:r,quoteCoin:s},n),{tx:n,margin_manager:i,initializer:o}}catch(i){throw new Error(`Failed to create and share margin manager: ${i instanceof Error?i.message:String(i)}`)}}createMarginManager(e,n=new Y){if(!e)throw new Error("Pool info is required");if(!e.id)throw new Error("Pool ID is required");let{id:r,baseCoin:s,quoteCoin:i}=e;try{let[o,a]=n.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::create_margin_manager`,arguments:[n.object(this.sdk.sdkOptions.margin_utils.versioned_id),n.object(r),n.object(this._sdk.sdkOptions.margin_utils.registry_id),n.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),n.object(he)],typeArguments:[s.coinType,i.coinType]});return{tx:n,margin_manager:o,initializer:a}}catch(o){throw new Error(`Failed to create margin manager: ${o instanceof Error?o.message:String(o)}`)}}shareMarginManager({marginManager:e,initializer:n,baseCoin:r,quoteCoin:s},i=new Y){try{return i.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::share_margin_manager`,arguments:[e,n],typeArguments:[r.coinType,s.coinType]}),i}catch(o){throw new Error(`Failed to share margin manager: ${o instanceof Error?o.message:String(o)}`)}}async getMarginManagerByAccount(e){if(!e||typeof e!="string")throw new Error("Valid account address is required");try{let s=((await this.sdk.fullClient.queryEventsByGraphQL({MoveEventType:`${this._sdk.sdkOptions.margin_utils.package_id}::margin_utils::CreateMarginManagerEvent`},"all"))?.data??[]).filter(f=>f.parsedJson?.owner===e);if(!s.length)return[];let i=s.map(f=>f.parsedJson?.margin_manager_id),a=(await this.sdk.fullClient.batchGetObjects(i,{json:!0})).map((f,p)=>{let m=f.json,_=(m?.balance_manager?.allow_listed?.contents).map(O=>O),T=_.includes(m?.deposit_cap?.id)&&_.includes(m?.withdraw_cap?.id)&&_.includes(m?.trade_cap?.id);return{balanceManagerId:m?.balance_manager?.id,marginManagerId:i[p],capOk:T}}),c=await Promise.all(a.map(({balanceManagerId:f})=>this.sdk.fullClient.listDynamicFields({parentId:f}))),u=new Map;return c.forEach((f,p)=>{let m=f?.dynamicFields??[];if(m.length>0){let b=A.struct("ReferralKey",{pos0:A.Address}).parse(m[0].name.bcs);u.set(a[p].marginManagerId,b.pos0)}}),{finalResult:s.map(f=>{let p=f.parsedJson?.margin_manager_id;return{...f.parsedJson,referralKey:u.get(p)}}),referralMap:u}}catch(n){throw new Error(`Failed to get margin managers by account: ${n instanceof Error?n.message:String(n)}`)}}async getBaseBalance({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!e||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new Y;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::base_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,e);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);return A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)).toString()}catch(o){throw new Error(`Failed to get base balance: ${o instanceof Error?o.message:String(o)}`)}}async getQuoteBalance({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!e||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new Y;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::quote_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,e);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);return A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)).toString()}catch(o){throw new Error(`Failed to get quote balance: ${o instanceof Error?o.message:String(o)}`)}}async getDeepBalance({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!e||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new Y;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::deep_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,e);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.status?.error||"Unknown error"}`);return A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)).toString()}catch(o){throw new Error(`Failed to get base balance: ${o instanceof Error?o.message:String(o)}`)}}async getPoolMarginManagerBalance({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!e||!n||!r||!s)throw new Error("All parameters (account, marginManagers, baseCoinType, quoteCoinType) are required");let i=new Y,o=r===this.deepCoin.coinType,a=s===this.deepCoin.coinType,c=o||a;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::base_balance`,arguments:[i.object(n)],typeArguments:[r,s]}),i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::quote_balance`,arguments:[i.object(n)],typeArguments:[r,s]}),c||i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::deep_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let u=await this.sdk.fullClient.sendSimulationTransaction(i,e);if(!u.commandResults||!u.commandResults[0]||!u.commandResults[0].returnValues||!u.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${u.effects?.status?.error||"Unknown error"}`);let d=A.U64.parse(new Uint8Array(u.commandResults[0].returnValues[0].bcs)),f=A.U64.parse(new Uint8Array(u.commandResults[1].returnValues[0].bcs)),p=c?o?d:f:A.U64.parse(new Uint8Array(u.commandResults[2].returnValues[0].bcs));return{[r]:d.toString(),[s]:f.toString(),[this.deepCoin.coinType]:p.toString()}}catch(u){throw new Error(`Failed to getPoolMarginManagerBalance: ${u instanceof Error?u.message:String(u)}`)}}async getBorrowedShares({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!e||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new Y;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::borrowed_shares`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,e);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||o.commandResults[0].returnValues.length<2)throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);let a=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)),c=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs));return{baseBorrowedShare:a,quoteBorrowedShare:c}}catch(o){throw new Error(`Failed to get borrowed shares: ${o instanceof Error?o.message:String(o)}`)}}managerState=({account:e,marginManager:n,baseCoin:r,quoteCoin:s,pool:i,baseMarginPool:o,quoteMarginPool:a,decimals:c=6,basePriceFeedObjectId:u,quotePriceFeedObjectId:d})=>f=>{f.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager_upgraded::manager_state`,arguments:[f.object(n),f.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),f.object(u),f.object(d),f.object(i),f.object(o),f.object(a),f.object.clock()],typeArguments:[r.coinType,s.coinType]})};async getManagerState(e,n=new Y){let{account:r,marginManager:s,baseCoin:i,quoteCoin:o,pool:a,baseMarginPool:c,quoteMarginPool:u,decimals:d=6}=e;if(!r||!s||!a||!c||!u)throw new Error("All required parameters must be provided");if(!i?.feed||!o?.feed)throw new Error("Base and quote coin feeds are required");if(!i.scalar||!o.scalar)throw new Error("Base and quote coin scalars are required");try{let f=await this.pythPrice.updatePythPriceIDs([i.feed,o.feed],n),p=f.get(i.feed),m=f.get(o.feed);if(!p||!m)throw new Error("Failed to get price feed object IDs");n.add(this.managerState({...e,basePriceFeedObjectId:p,quotePriceFeedObjectId:m}));let b=await this.sdk.fullClient.sendSimulationTransaction(n,r);if(!b.commandResults||!b.commandResults[0]||!b.commandResults[0].returnValues||b.commandResults[0].returnValues.length<14)throw new Error(`Failed to get margin manager state: ${b.Transaction?.effects?.status?.error||"Unknown error"}`);let _=ae(A.Address.parse(new Uint8Array(b.commandResults[0].returnValues[0].bcs))),T=ae(A.Address.parse(new Uint8Array(b.commandResults[0].returnValues[1].bcs))),O=Number(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[2].bcs)))/1e9,B=this.#e(BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[3].bcs))),i.scalar,d),C=this.#e(BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[4].bcs))),o.scalar,d),U=this.#e(BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[5].bcs))),i.scalar,d),P=this.#e(BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[6].bcs))),o.scalar,d),L=A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[7].bcs)),q=Number(A.u8().parse(new Uint8Array(b.commandResults[0].returnValues[8].bcs))),V=A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[9].bcs)),F=Number(A.u8().parse(new Uint8Array(b.commandResults[0].returnValues[10].bcs))),X=BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[11].bcs))),Q=BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[12].bcs))),D=BigInt(A.U64.parse(new Uint8Array(b.commandResults[0].returnValues[13].bcs)));return{managerId:_,deepbookPoolId:T,riskRatio:O,baseAsset:B,quoteAsset:C,baseDebt:U,quoteDebt:P,basePythPrice:L.toString(),basePythDecimals:q,quotePythPrice:V.toString(),quotePythDecimals:F,currentPrice:X,lowestTriggerAbovePrice:Q,highestTriggerBelowPrice:D}}catch(f){throw new Error(`Failed to get manager state: ${f instanceof Error?f.message:String(f)}`)}}async detectPriceBoundary({account:e,marginManager:n,baseCoin:r,quoteCoin:s,pool:i,baseMarginPool:o,quoteMarginPool:a,price:c,is_bid:u,decimals:d=6}){if(!e||!n||!i||!o||!a)throw new Error("All required parameters must be provided");if(!r?.feed||!s?.feed)throw new Error("Base and quote coin feeds are required");if(!r.scalar||!s.scalar)throw new Error("Base and quote coin scalars are required");let f=typeof c=="bigint"?c:BigInt(c),p=await this.getManagerState({account:e,marginManager:n,baseCoin:r,quoteCoin:s,pool:i,baseMarginPool:o,quoteMarginPool:a,decimals:d},new Y),m=p.highestTriggerBelowPrice,b=p.lowestTriggerAbovePrice,_=u?f<=b:f>=m;return{is_bid:u,price:f,lower_bound:m,upper_bound:b,is_within:_,is_boundary:u?f===b:f===m}}async calculateAssets({account:e,marginManager:n,pool:r,baseCoin:s,quoteCoin:i,tx:o=new Y}){if(!e||!n||!r)throw new Error("Account, marginManager, and pool are required");if(!s?.coinType||!i?.coinType)throw new Error("Base and quote coin types are required");try{o.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_manager::calculate_assets`,arguments:[o.object(n),o.object(r)],typeArguments:[s.coinType,i.coinType]});let a=await this.sdk.fullClient.sendSimulationTransaction(o,e);if(!a.commandResults||!a.commandResults[0]||!a.commandResults[0].returnValues||a.commandResults[0].returnValues.length<2)throw new Error(`Transaction failed: ${a.effects?.status?.error||"Unknown error"}`);let c=a.commandResults[0].returnValues[0].bcs,u=a.commandResults[0].returnValues[1].bcs;if(!s.scalar||!i.scalar)throw new Error("Base and quote coin scalars are required");let d=A.U64.parse(new Uint8Array(c)),f=A.U64.parse(new Uint8Array(u));return{baseAsset:d.toString(),quoteAsset:f.toString(),tx:o}}catch(a){throw new Error(`Failed to calculate assets: ${a instanceof Error?a.message:String(a)}`)}}async getBorrowedAmount({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s,baseMarginPool:i,quoteMarginPool:o}){if(!e||!n||!r||!s||!i||!o)throw new Error("All parameters are required");try{let{baseBorrowedShare:a,quoteBorrowedShare:c}=await this.getBorrowedShares({account:e,marginManager:n,baseCoinType:r,quoteCoinType:s}),u=!!M(a).gt(M(c)),d=u?i:o,f=u?a:c,p=new Y;p.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_pool::borrow_shares_to_amount`,arguments:[p.object(d),p.pure.u64(BigInt(f)),p.object.clock()],typeArguments:[u?r:s]});let m=await this.sdk.fullClient.simulateTransaction({transaction:p,checksEnabled:!1,include:{commandResults:!0,json:!0}}),b=A.U64.parse(m?.commandResults?.[0]?.returnValues?.[0]?.bcs);return u?{baseBorrowedAmount:b.toString(),quoteBorrowedAmount:"0"}:{baseBorrowedAmount:"0",quoteBorrowedAmount:b.toString()}}catch(a){throw new Error(`Failed to get borrowed amount: ${a instanceof Error?a.message:String(a)}`)}}async deposit({marginManager:e,baseCoin:n,quoteCoin:r,amount:s,depositCoinType:i},o=new Y){if(!e)throw new Error("Margin manager is required");if(!n?.coinType||!r?.coinType)throw new Error("Base and quote coin types are required");if(!s||BigInt(s)<=0n)throw new Error("Valid deposit amount is required");if(!n.feed||!r.feed)throw new Error("Base and quote coin feeds are required");try{let a=zt.buildCoinWithBalance(BigInt(s),i,o),c=await this.pythPrice.updatePythPriceIDs([n.feed,r.feed],o),u=c.get(n.feed),d=c.get(r.feed);if(!u||!d)throw new Error("Failed to get price feed object IDs");return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::deposit_pyth_upgraded`,arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),typeof e=="string"?o.object(e):e,o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(u),o.object(d),a,o.object(he)],typeArguments:[n.coinType,r.coinType,i]}),o}catch(a){throw new Error(`Failed to deposit: ${a instanceof Error?a.message:String(a)}`)}}async withdraw({account:e,marginManager:n,baseMarginPool:r,quoteMarginPool:s,baseCoin:i,quoteCoin:o,pool:a,amount:c,withdrawCoinType:u},d=new Y){if(!e||!n||!r||!s||!a)throw new Error("All required parameters must be provided");if(!i?.coinType||!o?.coinType)throw new Error("Base and quote coin types are required");if(!c||BigInt(c)<=0n)throw new Error("Valid withdraw amount is required");if(!i.feed||!o.feed)throw new Error("Base and quote coin feeds are required");try{let f=await this.pythPrice.updatePythPriceIDs([i.feed,o.feed],d),p=f.get(i.feed),m=f.get(o.feed);if(!p||!m)throw new Error("Failed to get price feed object IDs");let b=d.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::withdraw_pyth_upgraded`,arguments:[d.object(this._sdk.sdkOptions.margin_utils.global_config_id),d.object(this._sdk.sdkOptions.margin_utils.versioned_id),d.object(n),d.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),d.object(r),d.object(s),d.object(p),d.object(m),d.object(a),d.pure.u64(BigInt(c)),d.object(he)],typeArguments:[i.coinType,o.coinType,u]});if(zt.isSuiCoin(u))d.transferObjects([b],e);else{let _=await this._sdk.fullClient.getOwnerCoinAssets(e,u),T=zt.buildCoinForAmount(d,_,BigInt(0),u,!1);T.target_coin?(d.mergeCoins(T.target_coin,[b]),T.is_mint_zero_coin&&d.transferObjects([T.target_coin],e)):d.transferObjects([b],e)}return d}catch(f){throw new Error(`Failed to withdraw: ${f instanceof Error?f.message:String(f)}`)}}async borrowBase({marginManager:e,baseMarginPool:n,baseCoin:r,quoteCoin:s,pool:i,amount:o},a=new Y){if(!e||!n||!i)throw new Error("Margin manager, base margin pool, and pool are required");if(!r?.coinType||!s?.coinType)throw new Error("Base and quote coin types are required");if(!o||BigInt(o)<=0n)throw new Error("Valid borrow amount is required");if(!r.feed||!s.feed)throw new Error("Base and quote coin feeds are required");try{let c=await this.pythPrice.updatePythPriceIDs([r.feed,s.feed],a),u=c.get(r.feed),d=c.get(s.feed);if(!u||!d)throw new Error("Failed to get price feed object IDs");return a.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::borrow_base_pyth_upgraded`,arguments:[a.object(this.sdk.sdkOptions.margin_utils.global_config_id),a.object(this.sdk.sdkOptions.margin_utils.versioned_id),a.object(e),a.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),a.object(n),a.object(u),a.object(d),a.object(i),a.pure.u64(BigInt(o)),a.object(he)],typeArguments:[r.coinType,s.coinType]}),a}catch(c){throw new Error(`Failed to borrow base: ${c instanceof Error?c.message:String(c)}`)}}async borrowQuote({marginManager:e,quoteMarginPool:n,baseCoin:r,quoteCoin:s,pool:i,amount:o},a=new Y){if(!e||!n||!i)throw new Error("Margin manager, quote margin pool, and pool are required");if(!r?.coinType||!s?.coinType)throw new Error("Base and quote coin types are required");if(!o||BigInt(o)<=0n)throw new Error("Valid borrow amount is required");if(!r.feed||!s.feed)throw new Error("Base and quote coin feeds are required");try{let c=await this.pythPrice.updatePythPriceIDs([r.feed,s.feed],a),u=c.get(r.feed),d=c.get(s.feed);if(!u||!d)throw new Error("Failed to get price feed object IDs");return a.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::borrow_quote_pyth_upgraded`,arguments:[a.object(this.sdk.sdkOptions.margin_utils.global_config_id),a.object(this.sdk.sdkOptions.margin_utils.versioned_id),typeof e=="string"?a.object(e):e,a.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),a.object(n),a.object(u),a.object(d),a.object(i),a.pure.u64(BigInt(o)),a.object(he)],typeArguments:[r.coinType,s.coinType]}),a}catch(c){throw new Error(`Failed to borrow quote: ${c instanceof Error?c.message:String(c)}`)}}async repayBase({marginManager:e,baseMarginPool:n,baseCoin:r,quoteCoin:s,amount:i},o=new Y){if(!e||!n||!r||!s)throw new Error("All required parameters (marginManager, baseMarginPool, baseCoin, quoteCoin) are required");if(i&&BigInt(i)<=0n)throw new Error("Repay amount must be greater than zero if provided");let a={marginManager:e,baseCoin:r,quoteCoin:s,amount:i,depositCoinType:r.coinType};await this.deposit(a,o);try{return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::repay_base`,arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),o.object(e),o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(n),o.object.option({type:"u64",value:i?o.pure.u64(i):null}),o.object(he)],typeArguments:[r.coinType,s.coinType]}),o}catch(c){throw new Error(`Failed to repay base: ${c instanceof Error?c.message:String(c)}`)}}async repayQuote({marginManager:e,quoteMarginPool:n,baseCoin:r,quoteCoin:s,amount:i},o=new Y){if(!e||!n||!r||!s)throw new Error("All required parameters (marginManager, quoteMarginPool, baseCoin, quoteCoin) are required");if(i&&BigInt(i)<=0n)throw new Error("Repay amount must be greater than zero if provided");let a={marginManager:e,baseCoin:r,quoteCoin:s,amount:i,depositCoinType:s.coinType};await this.deposit(a,o);try{return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::repay_quote`,arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),o.object(e),o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(n),o.object.option({type:"u64",value:i?o.pure.u64(i):null}),o.object(he)],typeArguments:[r.coinType,s.coinType]}),o}catch(c){throw new Error(`Failed to repay quote: ${c instanceof Error?c.message:String(c)}`)}}async repay({marginManager:e,baseMarginPool:n,quoteMarginPool:r,baseCoin:s,quoteCoin:i,isBase:o,amount:a},c=new Y){try{let u=this.sdk.senderAddress,d,f=a;a||(d=await this.getBorrowedAmount({account:u,marginManager:e,baseCoinType:s?.coinType,quoteCoinType:i?.coinType,baseMarginPool:n,quoteMarginPool:r}),f=o?d.baseBorrowedAmount:d.quoteBorrowedAmount);let p,m={marginManager:e,baseCoin:s,quoteCoin:i,depositCoinType:o?s.coinType:i.coinType};if(o){let b=await this.getBaseBalance({account:u,marginManager:e,baseCoinType:s?.coinType,quoteCoinType:i?.coinType});p=M(f).sub(b).toString()}else{let b=await this.getQuoteBalance({account:u,marginManager:e,baseCoinType:s?.coinType,quoteCoinType:i?.coinType});p=M(f).sub(b).toString()}M(p).gt(0)&&await this.deposit({...m,amount:p},c),c.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::${o?"repay_base":"repay_quote"}`,arguments:[c.object(this._sdk.sdkOptions.margin_utils.global_config_id),c.object(this._sdk.sdkOptions.margin_utils.versioned_id),c.object(e),c.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),c.object(o?n:r),c.object.option({type:"u64",value:a?c.pure.u64(a):null}),c.object(he)],typeArguments:[s.coinType,i.coinType]})}catch(u){console.log("\u{1F680} ~ MarginUtilsModule ~ repay ~ error:",u)}return c}removeReferralKey=(e,n,r,s,i=new Y)=>{let o=i.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::pool::id`,typeArguments:[r,s],arguments:[i.object(n)]});return i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::unset_margin_manager_referral`,typeArguments:[r,s],arguments:[typeof e=="string"?i.object(e):e,o]})};async#t(e,n,r){if(!e.feed||!n.feed)throw new Error("Base and quote coin feeds are required");let s=await this.pythPrice.updatePythPriceIDs([e.feed,n.feed],r),i=s.get(e.feed),o=s.get(n.feed);if(!i||!o)throw new Error("Failed to get price feed object IDs");return{baseOracle:i,quoteOracle:o}}async placeMarginMarketOrder({marginManager:e,poolInfo:n,baseMarginPool:r,quoteMarginPool:s,selfMatchingOption:i,quantity:o,amountLimit:a,isBid:c,payWithDeep:u,exactBase:d,referralKey:f},p=new Y){if(!e||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r||!s)throw new Error("Base and quote margin pool ids are required");if(!o||BigInt(gi(o,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order quantity is required");if(!a||BigInt(gi(a,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order amount limit is required");let{id:m,baseCoin:b,quoteCoin:_}=n;if(b.decimals===void 0||_.decimals===void 0)throw new Error("Base and quote coin decimals are required");f&&this.removeReferralKey(e,m,b.coinType,_.coinType,p);try{let{baseOracle:T,quoteOracle:O}=await this.#t(b,_,p);return p.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_margin_market_order_v2_pyth_upgraded`,arguments:[p.object(this.sdk.sdkOptions.margin_utils.global_config_id),p.object(this.sdk.sdkOptions.margin_utils.versioned_id),typeof e=="string"?p.object(e):e,p.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),p.object(m),p.object(r),p.object(s),p.object(T),p.object(O),p.pure.u8(i),p.pure.u64(o),p.pure.bool(c),p.pure.bool(u),p.pure.bool(d===void 0?!c:d),p.pure.u64(a),p.object(he)],typeArguments:[b.coinType,_.coinType]}),p}catch(T){throw new Error(`Failed to place market order: ${T instanceof Error?T.message:String(T)}`)}}async placeMarginLimitOrder({marginManager:e,poolInfo:n,baseMarginPool:r,quoteMarginPool:s,orderType:i,selfMatchingOption:o,priceInput:a,quantity:c,isBid:u,payWithDeep:d,expirationTimestamp:f=Date.now()+31536e8,referralKey:p},m=new Y){if(!e||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r||!s)throw new Error("Base and quote margin pool ids are required");if(!a||!c)throw new Error("Price and quantity are required");let{id:b,baseCoin:_,quoteCoin:T}=n;if(_.decimals===void 0||T.decimals===void 0)throw new Error("Base and quote coin decimals are required");try{let O=BigInt(M(a).mul(10**(T.decimals-_.decimals+9)).toString()),B=BigInt(gi(c,_.decimals));if(O<=0n||B<=0n)throw new Error("Price and quantity must be greater than zero");p&&this.removeReferralKey(e,b,_.coinType,T.coinType,m);let{baseOracle:C,quoteOracle:U}=await this.#t(_,T,m);return m.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_margin_limit_order_v2_pyth_upgraded`,arguments:[m.object(this.sdk.sdkOptions.margin_utils.global_config_id),m.object(this.sdk.sdkOptions.margin_utils.versioned_id),m.object(e),m.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),m.object(b),m.object(r),m.object(s),m.object(C),m.object(U),m.pure.u8(i),m.pure.u8(o),m.pure.u64(O),m.pure.u64(B),m.pure.bool(u),m.pure.bool(d),m.pure.u64(f),m.object(he)],typeArguments:[_.coinType,T.coinType]}),m}catch(O){throw new Error(`Failed to place limit order: ${O instanceof Error?O.message:String(O)}`)}}modifyMarginOrder({marginManager:e,poolInfo:n,orderId:r,newQuantity:s},i=new Y){if(!e||!n||!r||!s)throw new Error("All parameters (marginManager, poolInfo, orderId, newQuantity) are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(n.baseCoin.decimals===void 0)throw new Error("Base coin decimals are required");try{let o=BigInt(gi(s,n.baseCoin.decimals));if(o<=0n)throw new Error("New quantity must be greater than zero");return i.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::modify_margin_order`,arguments:[i.object(this.sdk.sdkOptions.margin_utils.global_config_id),i.object(this.sdk.sdkOptions.margin_utils.versioned_id),i.object(e),i.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),i.object(n.id),i.pure.u128(r),i.pure.u64(o),i.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),i}catch(o){throw new Error(`Failed to modify order: ${o instanceof Error?o.message:String(o)}`)}}cancelMarginOrder({marginManager:e,poolInfo:n,orderId:r},s=new Y){if(!e||!n||!r)throw new Error("All parameters (marginManager, poolInfo, orderId) are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");try{return s.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::cancel_margin_order`,arguments:[s.object(this.sdk.sdkOptions.margin_utils.global_config_id),s.object(this.sdk.sdkOptions.margin_utils.versioned_id),s.object(e),s.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),s.object(n.id),s.pure.u128(r),s.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),s}catch(i){throw new Error(`Failed to cancel order: ${i instanceof Error?i.message:String(i)}`)}}cancelAllMarginOrders({marginManager:e,poolInfo:n},r=new Y){if(!e||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");try{return r.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::cancel_all_margin_orders`,arguments:[r.object(this.sdk.sdkOptions.margin_utils.global_config_id),r.object(this.sdk.sdkOptions.margin_utils.versioned_id),r.object(e),r.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),r.object(n.id),r.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),r}catch(s){throw new Error(`Failed to cancel all orders: ${s instanceof Error?s.message:String(s)}`)}}async placeReduceOnlyLimitOrder({marginManager:e,poolInfo:n,baseMarginPool:r,quoteMarginPool:s,orderType:i,selfMatchingOption:o,priceInput:a,quantity:c,isBid:u,payWithDeep:d,expirationTimestamp:f=Date.now()+31536e8},p=new Y){if(!e||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r||!s)throw new Error("Base and quote margin pool ids are required");if(!a||!c)throw new Error("Price and quantity are required");let{baseCoin:m,quoteCoin:b}=n;if(m.decimals===void 0||b.decimals===void 0)throw new Error("Base and quote coin decimals are required");try{let _=BigInt(M(a).mul(10**(b.decimals-m.decimals+9)).toString()),T=BigInt(gi(c,m.decimals));if(_<=0n||T<=0n)throw new Error("Price and quantity must be greater than zero");let{baseOracle:O,quoteOracle:B}=await this.#t(m,b,p);return p.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_reduce_only_limit_order_v2_pyth_upgraded`,arguments:[p.object(this.sdk.sdkOptions.margin_utils.global_config_id),p.object(this.sdk.sdkOptions.margin_utils.versioned_id),p.object(e),p.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),p.object(n.id),p.object(r),p.object(s),p.object(O),p.object(B),p.pure.u8(i),p.pure.u8(o),p.pure.u64(_),p.pure.u64(T),p.pure.bool(u),p.pure.bool(d),p.pure.u64(f),p.object(he)],typeArguments:[m.coinType,b.coinType]}),p}catch(_){throw new Error(`Failed to place reduce only limit order: ${_ instanceof Error?_.message:String(_)}`)}}async placeReduceOnlyMarketOrder({marginManager:e,poolInfo:n,baseMarginPool:r,quoteMarginPool:s,selfMatchingOption:i,quantity:o,amountLimit:a,isBid:c,payWithDeep:u},d=new Y){if(!e||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r||!s)throw new Error("Base and quote margin pool ids are required");if(!o||BigInt(gi(o,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order quantity is required");if(!a||BigInt(gi(a,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order amount limit is required");let{baseCoin:f,quoteCoin:p}=n;if(f.decimals===void 0||p.decimals===void 0)throw new Error("Base and quote coin decimals are required");try{let{baseOracle:m,quoteOracle:b}=await this.#t(f,p,d);return d.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_reduce_only_market_order_v2_pyth_upgraded`,arguments:[d.object(this.sdk.sdkOptions.margin_utils.global_config_id),d.object(this.sdk.sdkOptions.margin_utils.versioned_id),d.object(e),d.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),d.object(n.id),d.object(r),d.object(s),d.object(m),d.object(b),d.pure.u8(i),d.pure.u64(o),d.pure.bool(c),d.pure.bool(u),d.pure.u64(a),d.object(he)],typeArguments:[f.coinType,p.coinType]}),d}catch(m){throw new Error(`Failed to place reduce only market order: ${m instanceof Error?m.message:String(m)}`)}}async getOpenOrder(e,n,r,s,i=!1,o=new Y){let a;if(s)a=s;else{o.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::pool::account_open_orders`,arguments:[o.object(e.address),i?r:o.object(r)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});let p=(await this._sdk.fullClient.simulateTransaction({transaction:o,include:{commandResults:!0,json:!0},checksEnabled:!1})).commandResults[i?1:0].returnValues[0].bcs;a=A.struct("VecSet",{constants:A.vector(A.U128)}).parse(new Uint8Array(p)).constants}if(a.length===0)return[];let c=a.map(f=>({pool:{pool_id:e.address,baseCoinType:e.baseCoin.coinType,quoteCoinType:e.quoteCoin.coinType},orderId:f})),u=await this.sdk.DeepbookUtils.getOrderInfoList(c,n)||[],d=[];return u.forEach(f=>{let p=this.sdk.DeepbookUtils.decodeOrderId(BigInt(f.order_id));d.push({...f,price:p.price,isBid:p.isBid,pool:e})}),d}async getAccountOpenOrders({poolInfo:e,marginManager:n}){try{let r=new Y,s=r.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[r.object(n)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]});return await this.getOpenOrder(e,this.sdk.senderAddress,s,void 0,!0,r)}catch(r){throw new Error(`Failed to get account open orders: ${r instanceof Error?r.message:String(r)}`)}}async getAccountAllMarketsOpenOrders(e,n){try{if(!e||!n||n.length===0)throw new Error("Account or pools are required");let r=[];for(let s=0;s<n.length;s++){let i=new Y,o=n[s];if(o.margin_manager_id){let a=await i.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[i.object(o.margin_manager_id)],typeArguments:[o.baseCoin.coinType,o.quoteCoin.coinType]}),c=await this.getOpenOrder(o,this.sdk.senderAddress,a,void 0,!0,i);r.push(...c)}}return r}catch(r){throw new Error(`Failed to get account all markets open orders: ${r instanceof Error?r.message:String(r)}`)}}mintSupplierCap(e=new Y,n){let r=e.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::mint_supplier_cap`,arguments:[e.object(this._sdk.sdkOptions.margin_utils.versioned_id),e.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),e.object(he)]});return n&&e.transferObjects([r],this.sdk.senderAddress),{tx:e,supplierCap:r}}async querySupplierCap(){try{return((await this.sdk.fullClient.queryEventsByGraphQL({MoveEventType:`${this._sdk.sdkOptions.margin_utils.package_id}::margin_utils::SupplierCapCreatedEvent`},"all"))?.data||[]).filter(s=>s.parsedJson?.owner===this.sdk.senderAddress)[0].parsedJson.supplier_cap_id}catch(e){throw new Error(`Failed to get account supplyCap: ${e instanceof Error?e.message:String(e)}`)}}mintSupplierCapAndSupply({marginPool:e,supplyCoinType:n,amount:r}){let s=new Y,{supplierCap:i}=this.mintSupplierCap(s,!1);return this.supply({marginPool:e,supplierCap:i,supplyCoinType:n,amount:r,tx:s}),s.transferObjects([i],this.sdk.senderAddress),s}supply({marginPool:e,supplierCap:n,supplyCoinType:r,amount:s,tx:i}){let o=i??new Y;if(!n)throw new Error("Either supplierCap must be provided");let a=zt.buildCoinWithBalance(BigInt(s),r,o);return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::supply`,typeArguments:[r],arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),o.object(e),o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(n),a,o.pure.option("address","0x0"),o.object(he)]}),o}supplierWithdraw({marginPool:e,withdrawCoinType:n,amount:r,supplierCapId:s,hasSwap:i,withdrawAll:o,tx:a=new Y}){let c=a.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::supplier_withdraw`,typeArguments:[n],arguments:[a.object(this._sdk.sdkOptions.margin_utils.global_config_id),a.object(this._sdk.sdkOptions.margin_utils.versioned_id),a.object(e),a.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),a.object(s),a.object.option({type:"u64",value:o?null:a.pure.u64(r)}),a.object(he)]});return i?c:(a.transferObjects([c],this.sdk.senderAddress),a)}withdrawReferralFees({marginPool:e}){let n=new Y,r=n.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::withdraw_referral_fees`,arguments:[n.object(this._sdk.sdkOptions.margin_utils.versioned_id),n.object(e),n.object(this._sdk.sdkOptions.margin_utils.registry_id),n.object.option({type:"0x1",value:null}),n.object(he)],typeArguments:[this.deepCoin.coinType]});return n.transferObjects([r],this.sdk.senderAddress),n}async getUserSupplyAmount({marginPool:e,supplyCoin:n,supplierCapId:r}){let s=new Y;s.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::get_user_supply_amount`,typeArguments:[n.coinType],arguments:[s.object(e),s.object(r),s.object(he)]});let i=await this.sdk.fullClient.sendSimulationTransaction(s,this.sdk.senderAddress);if(!i.commandResults||!i.commandResults[0]||!i.commandResults[0].returnValues||!i.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${i.effects?.status?.error||"Unknown error"}`);return this.#e(BigInt(A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs))),n.scalar,n.decimals)}async getDeepBookMarginRegistry(){let n=(await this.sdk.fullClient.getObject({objectId:this._sdk.sdkOptions.margin_utils.margin_registry_id,include:{json:!0}})).data.content.fields.inner.fields.id.id,r=await this.sdk.fullClient.getDynamicField({parentId:n,name:{type:"u64",bcs:A.u64().serialize(1).toBytes()}}),s=r.data.content.fields.value.fields.pool_registry.fields.id.id,i=r.data.content.fields.value.fields.margin_pools.fields.id.id;return{pool_registry_table_id:s,margin_pool_table_id:i}}async getDeepBookPool(){let{data:e}=await this.sdk.fullClient.listDynamicFields({parentId:this.sdk.sdkOptions.margin_utils.pool_registry_table_id}),n=e.map(i=>i.objectId),r=await this.sdk.fullClient.batchGetObjects(n,{json:!0}),s=[];for(let i=0;i<r.length;i++){let o=r[i].json;s.push(Qv(o))}return s}async getDeepBookMarginPool(){let{data:e}=await this.sdk.fullClient.getDynamicFieldsByPage(this.sdk.sdkOptions.margin_utils.margin_pool_table_id),n=e.map(c=>c.fieldId),r=await this.sdk.fullClient.batchGetObjects(n,{json:!0}),s=[],i=[];for(let c=0;c<r.length;c++){let u=r[c].json;i.push(u.value),s.push({deposit_coin_type:u.name.name,id:u.id})}let o=await this.sdk.fullClient.batchGetObjects(i,{json:!0}),a=[];for(let c=0;c<o.length;c++){let u=o[c].json;a.push(eT(u,s[c]))}return a}async getBaseQuantityIn(e,n,r,s=.01){let i=new Y;i.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::get_base_quantity_in`,typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType],arguments:[i.object(e.address),i.pure.u64(n),i.pure.bool(r),i.object(he)]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,this.sdk.senderAddress);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);let a=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)),c=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs)),u=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[2].bcs));return{quantityOut:c.toString(),quantityInLeft:M(a.toString()).mul(M(1+s)).ceil().toString(),deep_fee_amount:u.toString()}}async getQuoteQuantityIn(e,n,r,s=.01){let i=new Y;i.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::get_quote_quantity_in`,typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType],arguments:[i.object(e.address),i.pure.u64(n),i.pure.bool(r),i.object(he)]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,this.sdk.senderAddress);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);let a=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)),c=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs)),u=A.U64.parse(new Uint8Array(o.commandResults[0].returnValues[2].bcs));return{quantityOut:a.toString(),quantityInLeft:M(c.toString()).mul(M(1+s)).ceil().toString(),deep_fee_amount:u.toString()}}async getBaseQuantityOutInput(e,n,r){let s=new Y;s.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}${r?"::pool::get_base_quantity_out":"::pool::get_base_quantity_out_input_fee"}`,typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType],arguments:[s.object(e.address),s.pure.u64(n),s.object(he)]});let i=await this.sdk.fullClient.sendSimulationTransaction(s,this.sdk.senderAddress);if(!i.commandResults||!i.commandResults[0]||!i.commandResults[0].returnValues||!i.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${i.effects?.status?.error||"Unknown error"}`);let o=A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs)),a=A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs)),c=A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs));return{base_amount:o.toString(),quote_amount:a.toString(),deep_fee_amount:c.toString()}}async getQuoteQuantityOutInput(e,n,r){let s=new Y;s.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::${r?"get_quote_quantity_out":"get_quote_quantity_out_input_fee"}`,typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType],arguments:[s.object(e.address),s.pure.u64(n),s.object(he)]});let i=await this.sdk.fullClient.sendSimulationTransaction(s,this.sdk.senderAddress);if(!i.commandResults||!i.commandResults[0]||!i.commandResults[0].returnValues||!i.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${i.effects?.status?.error||"Unknown error"}`);let o=A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs)),a=A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs)),c=A.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs));return{base_amount:o.toString(),quote_amount:a.toString(),deep_fee_amount:c.toString()}}async getAccount(e,n,r=new Y){let s=r.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[r.object(e)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),i=[n];for(let d=0;d<i.length;d++){let f=i[d];r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::order_trader::get_account_id`,arguments:[r.object(f.address),typeof s=="string"?r.object(s):s],typeArguments:[f.baseCoin.coinType,f.quoteCoin.coinType]})}let o=await this._sdk.fullClient.simulateTransaction({transaction:r,checksEnabled:!1,include:{events:!0,json:!0}}),a=o.Transaction??o.FailedTransaction;if(!a?.events?.length)return null;let c,u=[];return a.events.forEach((d,f)=>{c=d?.json;let p=c.account.open_orders.contents,m=c.account.owed_balances,b=c.account.settled_balances,_=c.account.unclaimed_rebates,T=c.account.taker_volume;u.push({balance_manager_id:s,open_orders:p,owed_balances:m,settled_balances:b,unclaimed_rebates:_,taker_volume:T,poolInfo:i[f]})}),u}async withdrawSettledAmounts({poolInfo:e,marginManager:n},r=new Y){return r.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::pool_proxy::withdraw_settled_amounts`,arguments:[r.object(this.sdk.sdkOptions.margin_utils.margin_registry_id),r.object(n),r.object(e.address)],typeArguments:[e.baseCoin.coinType,e.quoteCoin.coinType]}),r}#e(e,n,r){if(n<=0||r<0)throw new Error("Scalar must be positive and decimals must be non-negative");let s=BigInt(n),i=e/s,o=e%s;if(o===0n)return i.toString();let a=n.toString().length-1,d=o.toString().padStart(a,"0").slice(0,r).replace(/0+$/,"");return d?`${i}.${d}`:i.toString()}async getMarginPoolStateForInterest(e){if(!e)throw new Error("marginPoolId is required");let n=await this.sdk.fullClient.getObject({objectId:e,include:{json:!0}});if(!n?.object?.json)throw new Error(`Failed to fetch margin pool: ${e}`);let r=n.object.json,s=r.state,i=r.config,o=i.interest_config,a=i.margin_pool_config;return{poolState:{total_supply:BigInt(s.total_supply),total_borrow:BigInt(s.total_borrow),supply_shares:BigInt(s.supply_shares),borrow_shares:BigInt(s.borrow_shares),last_update_timestamp:BigInt(s.last_update_timestamp)},interestConfig:{base_rate:BigInt(o.base_rate),base_slope:BigInt(o.base_slope),optimal_utilization:BigInt(o.optimal_utilization),excess_slope:BigInt(o.excess_slope)},marginPoolConfig:{protocol_spread:BigInt(a.protocol_spread),max_utilization_rate:BigInt(a.max_utilization_rate),min_borrow:BigInt(a.min_borrow),supply_cap:BigInt(a.supply_cap)}}}async getMarginPoolStateForInterestList(e){if(!e||e.length===0)throw new Error("marginPoolIds is required");let n=await this.sdk.fullClient.batchGetObjects(e,{json:!0}),r=[];return e.forEach((i,o)=>{let a=n[o];if(a){let c=a.json.state,u=a.json.config,d=u.interest_config,f=u.margin_pool_config;r.push({poolState:{total_supply:BigInt(c.total_supply),total_borrow:BigInt(c.total_borrow),supply_shares:BigInt(c.supply_shares),borrow_shares:BigInt(c.borrow_shares),last_update_timestamp:BigInt(c.last_update_timestamp)},interestConfig:{base_rate:BigInt(d.base_rate),base_slope:BigInt(d.base_slope),optimal_utilization:BigInt(d.optimal_utilization),excess_slope:BigInt(d.excess_slope)},marginPoolConfig:{protocol_spread:BigInt(f.protocol_spread),max_utilization_rate:BigInt(f.max_utilization_rate),min_borrow:BigInt(f.min_borrow),supply_cap:BigInt(f.supply_cap)}})}}),{poolStateObj:Object.fromEntries(e.map((i,o)=>[i,r[o]])),poolStateList:r}}async getChainTimestamp(){let{response:e}=await this.sdk.fullClient.ledgerService.getServiceInfo({}),n=e.timestamp;if(!n)throw new Error("No timestamp in service info");return BigInt(n.seconds)*1000n+BigInt(n.nanos)/1000000n}async batchGetBorrowedShares({account:e,marginManagerList:n}){let r=new Y;return n.forEach(i=>{r.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::borrowed_shares`,arguments:[r.object(i.marginManagerId)],typeArguments:[i.baseCoinType,i.quoteCoinType]})}),(await this.sdk.fullClient.sendSimulationTransaction(r,e)).commandResults.map((i,o)=>{let a=A.U64.parse(new Uint8Array(i.returnValues[0].bcs)),c=A.U64.parse(new Uint8Array(i.returnValues[1].bcs));return{marginManagerId:n[o].marginManagerId,baseBorrowedShare:a,quoteBorrowedShare:c}})}async betchGetOpenOrders({account:e,marginManagerList:n},r=new Y,s=!1){n.forEach(m=>{let b=r.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[r.object(m.marginManagerId)],typeArguments:[m.baseCoinType,m.quoteCoinType]});r.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::pool::account_open_orders`,arguments:[r.object(m.poolId),r.object(b)],typeArguments:[m.baseCoinType,m.quoteCoinType]}),r.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::get_account_id_with_margin_manager`,arguments:[r.object(m.marginManagerId),r.object(m.poolId)],typeArguments:[m.baseCoinType,m.quoteCoinType]}),r.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::locked_balance_with_margin_manager`,arguments:[r.object(m.marginManagerId),r.object(m.poolId)],typeArguments:[m.baseCoinType,m.quoteCoinType]})});let i=await this.sdk.fullClient.simulateTransaction({transaction:r,checksEnabled:!1,include:{events:!0,commandResults:!0,json:!0}}),o=i.Transaction?.events.map((m,b)=>({marginManagerId:n[b].marginManagerId,...m?.json?.account?.settled_balances||{}})),a=i.commandResults.filter((m,b)=>(b-1)%4===0),c=A.struct("VecSet",{constants:A.vector(A.U128)}),u=[];a.forEach((m,b)=>{let _=c.parse(m.returnValues[0].bcs).constants;_.length>0&&_.forEach(T=>{u.push({pool:{pool_id:n[b].poolId,baseCoinType:n[b].baseCoinType,quoteCoinType:n[b].quoteCoinType},marginManagerId:n[b].marginManagerId,orderId:T})})});let d=i.commandResults.filter((m,b)=>(b-3)%4===0),f=[];d.forEach((m,b)=>{f.push({marginManagerId:n[b].marginManagerId,base:A.U64.parse(m.returnValues[0].bcs),quote:A.U64.parse(m.returnValues[1].bcs),deep:A.U64.parse(m.returnValues[2].bcs)})});let p=[];return u.forEach((m,b)=>{let _=this.sdk.DeepbookUtils.decodeOrderId(BigInt(m.orderId));p.push({...m,price:_.price.toString(),isBid:_.isBid})}),{openOrders:p,settledBalances:o,lockedBalances:f}}async getAllPosRelevantData({account:e,marginManagerList:n}){try{let{openOrders:r,settledBalances:s,lockedBalances:i}=await this.betchGetOpenOrders({account:e,marginManagerList:n}),o=await this.batchGetBorrowedShares({account:e,marginManagerList:n}),a=new Y,c=0,u=[];n.forEach(p=>{a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::base_balance`,arguments:[a.object(p.marginManagerId)],typeArguments:[p.baseCoinType,p.quoteCoinType]}),u[c]={type:"base_balance",marginManagerId:p.marginManagerId},c++,a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::quote_balance`,arguments:[a.object(p.marginManagerId)],typeArguments:[p.baseCoinType,p.quoteCoinType]}),u[c]={type:"quote_balance",marginManagerId:p.marginManagerId},c++,a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::deep_balance`,arguments:[a.object(p.marginManagerId)],typeArguments:[p.baseCoinType,p.quoteCoinType]}),u[c]={type:"deep_balance",marginManagerId:p.marginManagerId},c++;let m=o?.find(b=>b.marginManagerId===p.marginManagerId);if(m&&(Number(m.baseBorrowedShare)>0||Number(m.quoteBorrowedShare)>0)){let b=m.baseBorrowedShare,_=m.quoteBorrowedShare,T=!!M(b).gt(M(_)),O=T?p.baseMarginPool:p.quoteMarginPool,B=T?b:_;a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_pool::borrow_shares_to_amount`,arguments:[a.object(O),a.pure.u64(BigInt(B)),a.object.clock()],typeArguments:[T?p?.baseCoinType:p?.quoteCoinType]}),u[c]={type:T?"borrow_base_amount":"borrow_quote_amount",marginManagerId:p.marginManagerId},c++}}),qv(a);let d=await this.sdk.fullClient.simulateTransaction({transaction:a,checksEnabled:!1,include:{commandResults:!0,events:!0,json:!0}}),f=Object.fromEntries(n.map(p=>[p.marginManagerId,{...p,quote_balance:"0",base_balance:"0",deep_balance:"0",borrow_base_amount:"0",borrow_quote_amount:"0",open_orders:[],settled_balances:{base:"0",quote:"0",deep:"0"}}]));return d?.commandResults?.forEach((p,m)=>{let b=u[m],_=A.U64.parse(new Uint8Array(p.returnValues[0].bcs));f[b.marginManagerId]={...f[b.marginManagerId],[b.type]:_}}),r?.forEach(p=>{f[p.marginManagerId].open_orders.push(p)}),s?.forEach(p=>{f[p.marginManagerId].settled_balances=p}),i?.forEach(p=>{f[p.marginManagerId].locked_balances=p}),Object.values(f)?.forEach(p=>{p.locked_balances&&p.settled_balances&&(p.locked_balances={...p.locked_balances,base:M(p.locked_balances.base||"0").minus(M(p.settled_balances.base||"0")).toString(),quote:M(p.locked_balances.quote||"0").minus(M(p.settled_balances.quote||"0")).toString(),deep:M(p.locked_balances.deep||"0").minus(M(p.settled_balances.deep||"0")).toString()})}),f}catch(r){throw new Error(`Failed to get all pos relevant data: ${r instanceof Error?r.message:String(r)}`)}}async addConditionalOrder(e,n){let{margin_utils:r}=this.sdk.sdkOptions,{global_config_id:s,versioned_id:i,margin_registry_id:o}=r,{margin_manager_id:a,pool_id:c,base_coin:u,quote_coin:d,conditional_order_id:f,pending_order:p,is_trigger_below_price:m,trigger_price:b}=e,_=await this.pythPrice.updatePythPriceIDs([u.feed,d.feed],n),T=_.get(u.feed),O=_.get(d.feed);if(!T||!O)throw new Error("Failed to get price feed object IDs");let B=n.moveCall({target:`${r.published_at}::margin_utils::new_condition`,arguments:[n.pure.bool(m),n.pure.u64(b)]}),C=this.newPendingOrder(p,n);n.moveCall({target:`${r.published_at}::margin_utils::add_conditional_order_pyth_upgraded`,arguments:[n.object(s),n.object(i),n.object(a),n.object(c),n.object(T),n.object(O),n.object(o),typeof f=="string"?n.pure.u64(BigInt(f)):f,B,C,n.object(nd)],typeArguments:[u.coinType,d.coinType]})}newPendingOrder(e,n){let{margin_utils:r}=this.sdk.sdkOptions;if("price"in e){let{client_order_id:s,order_type:i,self_matching_option:o,price:a,quantity:c,is_bid:u,pay_with_deep:d,expire_timestamp:f}=e;return n.moveCall({target:`${r.published_at}::margin_utils::new_pending_limit_order`,arguments:[n.pure.u64(s),n.pure.u8(i),n.pure.u8(o),n.pure.u64(a),n.pure.u64(c),n.pure.bool(u),n.pure.bool(d),n.pure.u64(f)]})}else{let{client_order_id:s,self_matching_option:i,quantity:o,is_bid:a,pay_with_deep:c}=e;return n.moveCall({target:`${r.published_at}::margin_utils::new_pending_market_order`,arguments:[n.pure.u64(s),n.pure.u8(i),n.pure.u64(o),n.pure.bool(a),n.pure.bool(c)]})}}cancelAllConditionalOrders(e,n){let{margin_utils:r}=this.sdk.sdkOptions,{global_config_id:s,versioned_id:i}=r,{margin_manager_id:o,base_coin_type:a,quote_coin_type:c}=e;n.moveCall({target:`${r.published_at}::margin_utils::cancel_all_conditional_orders`,arguments:[n.object(s),n.object(i),n.object(o),n.object(nd)],typeArguments:[a,c]})}cancelConditionalOrders(e,n){let{margin_utils:r}=this.sdk.sdkOptions,{global_config_id:s,versioned_id:i}=r,{margin_manager_id:o,base_coin_type:a,quote_coin_type:c,conditional_order_id:u}=e;n.moveCall({target:`${r.published_at}::margin_utils::cancel_conditional_order`,arguments:[n.object(s),n.object(i),n.object(o),n.pure.u64(u),n.object(nd)],typeArguments:[a,c]})}async getConditionalOrders(e,n){let{deepbook:r}=this.sdk.sdkOptions;e.forEach(u=>{let{margin_manager_id:d,base_coin_type:f,quote_coin_type:p,conditional_order_ids:m}=u;m.forEach(b=>{n.moveCall({target:`${r.margin_published_at}::margin_manager::conditional_order`,arguments:[n.object(d),n.pure.u64(b)],typeArguments:[f,p]})})});let s=await this.sdk.fullClient.sendSimulationTransaction(n,ae("0x0"));if(!s?.commandResults)return[];let i=A.struct("Condition",{trigger_below_price:A.bool(),trigger_price:A.u64()}),o=A.struct("PendingOrder",{is_limit_order:A.bool(),client_order_id:A.u64(),order_type:A.option(A.u8()),self_matching_option:A.u8(),price:A.option(A.u64()),quantity:A.u64(),is_bid:A.bool(),pay_with_deep:A.bool(),expire_timestamp:A.option(A.u64())}),a=A.struct("ConditionalOrder",{conditional_order_id:A.u64(),condition:i,pending_order:o}),c=u=>{if(u.length===0||u.length===1&&u[0]===0)return null;try{return a.parse(u)}catch{if(u[0]===1&&u.length>1)try{return a.parse(u.subarray(1))}catch{return null}return null}};return s.commandResults.map(u=>{if(!u?.returnValues?.[0]?.bcs)return null;try{let d=u.returnValues[0].bcs,f=c(d);if(!f)return null;let p=this.normalizeConditionalOrder(f);return e.forEach(m=>{m.conditional_order_ids.find(_=>_===p.conditional_order_id)&&(p.margin_manager_id=m.margin_manager_id,p.base_coin_type=m.base_coin_type,p.quote_coin_type=m.quote_coin_type)}),p}catch{return null}})}async getConditionalOrderIds(e,n){n=n||new Y;let{deepbook:r}=this.sdk.sdkOptions,s={};return e.forEach(o=>{let{margin_manager_id:a,base_coin_type:c,quote_coin_type:u}=o;n.moveCall({target:`${r.margin_published_at}::margin_manager::conditional_order_ids`,arguments:[n.object(a)],typeArguments:[c,u]})}),(await this.sdk.fullClient.sendSimulationTransaction(n,ae("0x0"))).commandResults.forEach((o,a)=>{if(o?.returnValues?.[0]?.bcs){let c=new Uint8Array(o.returnValues[0].bcs),u=A.vector(A.u64()).parse(c),d={margin_manager_id:e[a].margin_manager_id,base_coin_type:e[a].base_coin_type,quote_coin_type:e[a].quote_coin_type,conditional_order_ids:u.map(f=>f.toString())};s[e[a].margin_manager_id]=d}}),s}normalizeConditionalOrder(e){let n=r=>typeof r=="bigint"?String(r):r;return{margin_manager_id:"",base_coin_type:"",quote_coin_type:"",conditional_order_id:n(e.conditional_order_id),condition:{trigger_below_price:e.condition.trigger_below_price,trigger_price:n(e.condition.trigger_price)},pending_order:{is_limit_order:e.pending_order.is_limit_order,client_order_id:n(e.pending_order.client_order_id),order_type:e.pending_order.order_type,self_matching_option:e.pending_order.self_matching_option,price:e.pending_order.price,quantity:n(e.pending_order.quantity),is_bid:e.pending_order.is_bid,pay_with_deep:e.pending_order.pay_with_deep,expire_timestamp:e.pending_order.expire_timestamp}}}async getPoolsPriceBounds(e){if(!e?.length)throw new Error("poolInfos is required");for(let p of e){if(!p.poolId||!p.baseCoin?.coinType||!p.quoteCoin?.coinType)throw new Error("poolId, baseCoin.coinType and quoteCoin.coinType are required");if(!p.baseCoin?.feed||!p.quoteCoin?.feed)throw new Error("baseCoin.feed and quoteCoin.feed are required to refresh pool price")}let n=new Y,r=[...new Set(e.flatMap(p=>[p.baseCoin.feed,p.quoteCoin.feed]))],s=await this.pythPrice.updatePythPriceIDs(r,n),i=this.sdk.sdkOptions.margin_utils.margin_registry_id,o=this.sdk.sdkOptions.deepbook.margin_published_at;for(let p of e){let m=s.get(p.baseCoin.feed),b=s.get(p.quoteCoin.feed);if(!m||!b)throw new Error(`Failed to get price feed object IDs for pool ${p.poolId}`);n.moveCall({target:`${o}::pool_proxy_upgraded::update_current_price`,arguments:[n.object(i),n.object(p.poolId),n.object(m),n.object(b),n.object(he)],typeArguments:[p.baseCoin.coinType,p.quoteCoin.coinType]}),n.moveCall({target:`${o}::margin_registry::get_price_bounds`,arguments:[n.object(i),n.pure.id(p.poolId),n.object(he)]})}let a=await this.sdk.fullClient.simulateTransaction({transaction:n,checksEnabled:!1,include:{commandResults:!0,json:!0}});if(a?.$kind==="FailedTransaction"||!a?.commandResults?.length){let p=a?.FailedTransaction?.status?.error;throw new Error(`Failed to get pools price bounds: ${p?.message??JSON.stringify(p??"Unknown error")}`)}let c=a.commandResults.filter(p=>p?.returnValues?.length===2);if(c.length<e.length)throw new Error(`Failed to get pools price bounds: expected ${e.length} results, got ${c.length}`);let u=[],d=c.slice(-e.length);for(let p=0;p<e.length;p++){let m=d[p],b=m?.returnValues?.[0]?.bcs??m?.returnValues?.[0]?.[0],_=m?.returnValues?.[1]?.bcs??m?.returnValues?.[1]?.[0];if(!b||!_)throw new Error(`Failed to parse price bounds for pool ${e[p].poolId}`);let T=9-e[p].baseDecimals+e[p].quoteDecimals,O=A.U64.parse(new Uint8Array(b)),B=A.U64.parse(new Uint8Array(_));u.push({pool_id:e[p].poolId,lower_bound:M(O).div(10**T).toString(),upper_bound:M(B).div(10**T).toString()})}let f=new Map;return u.forEach(p=>{f.set(p.pool_id,p)}),{priceBounds:u,priceBoundsMap:f}}};var j3="https://graphql.mainnet.sui.io/graphql",U3="https://graphql.testnet.sui.io/graphql",sd=class{_rpcModule;_deepbookUtils;_marginUtils;_pythPrice;_sdkOptions;_senderAddress="";constructor(e){this._sdkOptions=e;let n=e.network==="testnet"?"testnet":"mainnet";this._rpcModule=mm(new Wa({baseUrl:e.fullRpcUrl,network:n}),new Hh({network:e.network,url:n==="testnet"?U3:j3}),n),this._deepbookUtils=new td(this),this._marginUtils=new rd(this),this._pythPrice=new pa(this),Tm(this._sdkOptions)}get senderAddress(){return this._senderAddress}set senderAddress(e){this._senderAddress=e}get DeepbookUtils(){return this._deepbookUtils}get MarginUtils(){return this._marginUtils}get PythPrice(){return this._pythPrice}get fullClient(){return this._rpcModule}get sdkOptions(){return this._sdkOptions}};var L3=(s=>(s[s.NO_RESTRICTION=0]="NO_RESTRICTION",s[s.IMMEDIATE_OR_CANCEL=1]="IMMEDIATE_OR_CANCEL",s[s.FILL_OR_KILL=2]="FILL_OR_KILL",s[s.POST_ONLY=3]="POST_ONLY",s))(L3||{}),P3=(r=>(r[r.SELF_MATCHING_ALLOWED=0]="SELF_MATCHING_ALLOWED",r[r.CANCEL_TAKER=1]="CANCEL_TAKER",r[r.CANCEL_MAKER=2]="CANCEL_MAKER",r))(P3||{});var WZ=sd;export{nd as CLOCK_ADDRESS,Ql as CachedContent,sd as CetusClmmSDK,PW as ClmmExpectSwapModule,LW as ClmmFetcherModule,MW as ClmmIntegratePoolModule,DW as ClmmIntegratePoolV2Module,jW as ClmmIntegrateRouterModule,UW as ClmmIntegrateRouterWithPartnerModule,VW as ClmmIntegrateUtilsModule,zt as CoinAssist,FW as CoinInfoAddress,qW as CoinStoreAddress,Om as DEEP_SCALAR,Wz as DEFAULT_GAS_BUDGET_FOR_MERGE,zz as DEFAULT_GAS_BUDGET_FOR_SPLIT,Kz as DEFAULT_GAS_BUDGET_FOR_STAKE,Zz as DEFAULT_GAS_BUDGET_FOR_TRANSFER,Jz as DEFAULT_GAS_BUDGET_FOR_TRANSFER_SUI,Xz as DEFAULT_NFT_TRANSFER_GAS_FEE,GW as DeepbookClobV2Moudle,$W as DeepbookCustodianV2Moudle,HW as DeepbookEndpointsV2Moudle,td as DeepbookUtilsModule,WW as ERROR_HANDLING_RPC_LIST,Er as FLOAT_SCALAR,Yr as FLOAT_SCALING,Yz as GAS_SYMBOL,km as GAS_TYPE_ARG,Lv as GAS_TYPE_ARG_LONG,rd as MarginUtilsModule,Uz as NORMALIZED_SUI_COIN_TYPE,L3 as OrderType,Qz as SUI_SYSTEM_STATE_OBJECT_ID,P3 as SelfMatchingOption,C3 as YEAR_MS,Mv as addHexPrefix,cW as asIntN,aW as asUintN,Oz as bufferToHex,Pv as cacheTime1min,fa as cacheTime24h,Vv as cacheTime5min,eZ as calc100PercentRepay,B3 as calcDebtDetail,R3 as calcInterestRate,N3 as calcUtilizationRate,XW as calculateRiskRatio,Sz as checkAddress,jv as composeType,M as d,Em as decimalsMultiplier,WZ as default,Dz as extractAddressFromType,mi as extractStructTagFromType,jz as fixCoinType,go as fixDown,v3 as fixSuiObjectId,yo as fromDecimalsAmount,zW as getDefaultSuiInputType,Sm as getFutureTime,S3 as getMoveObject,T3 as getObjectDeletedResponse,Zv as getObjectFields,Wv as getObjectId,k3 as getObjectNotExistsResponse,E3 as getObjectReference,zv as getSuiObjectData,Iz as hexToNumber,Az as hexToString,Mz as isSortedSymbols,hW as isSuiObjectResponse,xm as maxDecimal,tT as mulRoundUp,vm as normalizeCoinType,Tm as patchFixSuiObjectId,qv as printTransaction,_m as removeHexPrefix,uW as secretKeyToEd25519Keypair,lW as secretKeyToSecp256k1Keypair,xz as shortAddress,m3 as shortString,Fv as sleepTime,g3 as toBuffer,gi as toDecimalsAmount,y3 as utf8to16,eT as wrapDeepBookMarginPoolInfo,Qv as wrapDeepBookPoolInfo};
1025
1037
  /*! Bundled license information:
1026
1038
 
1027
1039
  @scure/base/index.js: