UNPKG

test-raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

1 lines 50.7 kB
var Kt=Object.defineProperty,jt=Object.defineProperties;var Zt=Object.getOwnPropertyDescriptors;var nt=Object.getOwnPropertySymbols;var Yt=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable;var rt=(e,t,n)=>t in e?Kt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,le=(e,t)=>{for(var n in t||(t={}))Yt.call(t,n)&&rt(e,n,t[n]);if(nt)for(var n of nt(t))Ht.call(t,n)&&rt(e,n,t[n]);return e},ke=(e,t)=>jt(e,Zt(t));import{PublicKey as Er}from"@solana/web3.js";import{PublicKey as ut,ComputeBudgetProgram as Ur,Transaction as Fe,TransactionMessage as Zr,Keypair as Yr,VersionedTransaction as Gr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as zr}from"@solana/spl-token";import{get as it,set as Gt}from"lodash";import st from"dayjs";import Qt from"dayjs/plugin/utc";st.extend(Qt);var qe=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return st().utc().format("YYYY/MM/DD HH:mm:ss UTC")}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},ot={},zt={};function O(e){let t=it(ot,e);if(!t){let n=it(zt,e);t=new qe({name:e,logLevel:n}),Gt(ot,e,t)}return t}var G=O("Raydium_txUtil"),$t=1644;function Jt(e,t){e.length<1&&G.logWithError(`no instructions provided: ${e.toString()}`),t.length<1&&G.logWithError(`no signers provided:, ${t.toString()}`);let n=new Fe;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...e);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<$t}catch{return!1}}async function at(e,t,n,r=!0){let i=new ut("RaydiumSimuLateTransaction11111111111111111"),o=[],s=new Fe;s.feePayer=i;for(let a of t)Jt([...s.instructions,a],[i])||(o.push(s),s=new Fe,s.feePayer=i),s.add(a);s.instructions.length>0&&o.push(s);let u=[];try{if(u=await en(e,o,r),u.find(a=>a.err!==null))throw Error("rpc simulateTransaction error")}catch(a){a instanceof Error&&G.logWithError("failed to simulate for instructions","RPC_ERROR",{message:a.message})}let c=[];for(let a of u)if(G.debug("simulate result:",a),a.logs){let l=a.logs.filter(m=>m&&m.includes(n));G.debug("filteredLog:",c),l.length||G.logWithError("simulate log not match keyword","keyword",n),c.push(...l)}return c}function ct(e,t){let n=e.match(/{["\w:,]+}/g);return!n||n.length!==1?G.logWithError(`simulate log fail to match json, keyword: ${t}`):n[0]}function Q(e,t){let r=new RegExp(`"${t}":(\\d+)`,"g").exec(e);return!r||r.length!==2?G.logWithError(`simulate log fail to match key", key: ${t}`):r[1]}function me(e,t){let[n,r]=ut.findProgramAddressSync(e,t);return{publicKey:n,nonce:r}}async function en(e,t,n){let r=[];if(n){let i=await e.getLatestBlockhash(),o=[];for(let a of t){a.recentBlockhash=i.blockhash,a.lastValidBlockHeight=i.lastValidBlockHeight;let m=a._compile().serialize(),g=a._serialize(m).toString("base64");o.push(g)}let s=o.map(a=>{let l=e._buildArgs([a],void 0,"base64");return{methodName:"simulateTransaction",args:l}}),u=[],c=20;for(let a=0;a<Math.ceil(s.length/c);a++)u.push(s.slice(a*c,(a+1)*c));r=await(await Promise.all(u.map(async a=>(await e._rpcBatchRequest(a)).map(l=>l.result.value)))).flat()}else try{r=await Promise.all(t.map(async i=>await(await e.simulateTransaction(i)).value))}catch(i){i instanceof Error&&G.logWithError("failed to get info for multiple accounts","RPC_ERROR",{message:i.message})}return r}import{PublicKey as tn}from"@solana/web3.js";import lt from"bn.js";var ti=new lt(25),ni=new lt(1e4);var nn=O("Raydium_liquidity_serum");function mt({programId:e,marketId:t}){let n=[t.toBuffer()],r=0,i;for(;r<100;){try{let o=n.concat(Buffer.from([r]),Buffer.alloc(7));i=tn.createProgramAddressSync(o,e)}catch(o){if(o instanceof TypeError)throw o;r++;continue}return{publicKey:i,nonce:r}}throw nn.logWithError("unable to find a viable program address nonce","params",{programId:e,marketId:t}),new Error("unable to find a viable program address nonce")}import{PublicKey as ln}from"@solana/web3.js";import{PublicKey as cn}from"@solana/web3.js";import gt,{isBN as bt}from"bn.js";import{bits as li,BitStructure as mi,blob as rn,Blob as pi,cstr as fi,f32 as di,f32be as gi,f64 as bi,f64be as hi,greedy as yi,Layout as on,ns64 as wi,ns64be as Pi,nu64 as xi,nu64be as ki,offset as Si,s16 as Ni,s16be as Li,s24 as Ti,s24be as Bi,s32 as Ai,s32be as Ii,s40 as Ei,s40be as _i,s48 as vi,s48be as Wi,s8 as Di,seq as sn,struct as Ci,Structure as un,u16 as Ri,u16be as Oi,u24 as Mi,u24be as qi,u32 as Fi,u32be as Vi,u40 as Ui,u40be as Ki,u48 as ji,u48be as Zi,u8 as Yi,UInt as an,union as Hi,Union as Gi,unionLayoutDiscriminator as Qi,utf8 as zi}from"@solana/buffer-layout";var Ve=on,pt=un;var ft=an;var dt=sn;var Ue=rn;var Se=class extends Ve{constructor(n,r,i){super(n,i);this.blob=Ue(n),this.signed=r}decode(n,r=0){let i=new gt(this.blob.decode(n,r),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(n,r,i=0){return typeof n=="number"&&(n=new gt(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,i)}};function V(e){return new ft(1,e)}function d(e){return new Se(8,!1,e)}function z(e){return new Se(16,!1,e)}var Ke=class extends Ve{constructor(n,r,i,o){super(n.span,o);this.layout=n,this.decoder=r,this.encoder=i}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,i){return this.layout.encode(this.encoder(n),r,i)}getSpan(n,r){return this.layout.getSpan(n,r)}};function A(e){return new Ke(Ue(32),t=>new cn(t),t=>t.toBuffer(),e)}var je=class extends pt{decode(t,n){return super.decode(t,n)}};function R(e,t,n){return new je(e,t,n)}function pe(e,t,n){let r,i=typeof t=="number"?t:bt(t)?t.toNumber():new Proxy(t,{get(o,s){if(!r){let u=Reflect.get(o,"count");r=bt(u)?u.toNumber():u,Reflect.set(o,"count",r)}return Reflect.get(o,s)},set(o,s,u){return s==="count"&&(r=u),Reflect.set(o,s,u)}});return dt(e,i,n)}var ht=new ln("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),mn=5e4,pn=R([d("x"),d("y"),d("price")]),fn=R([d("accountType"),d("status"),d("multiplier"),d("validDataCount"),pe(pn,mn,"DataElement")]);function dn(e){let t=fn.decode(e);return{accountType:t.accountType.toNumber(),status:t.status.toNumber(),multiplier:t.multiplier.toNumber(),validDataCount:t.validDataCount.toNumber(),DataElement:t.DataElement.map(n=>({x:n.x.toNumber(),y:n.y.toNumber(),price:n.price.toNumber()}))}}var Ne=class{constructor({connection:t}){this._layoutData={accountType:0,status:0,multiplier:0,validDataCount:0,DataElement:[]};this.connection=t}get stableModelData(){return this._layoutData}async initStableModelLayout(){if(this._layoutData.validDataCount===0&&this.connection){let t=await this.connection.getAccountInfo(ht);t&&(this._layoutData=dn(t==null?void 0:t.data))}}};import{TOKEN_PROGRAM_ID as Tu,ASSOCIATED_TOKEN_PROGRAM_ID as Bu}from"@solana/spl-token";import{PublicKey as J,TransactionInstruction as Ir,SystemProgram as Iu,SYSVAR_RENT_PUBKEY as Eu}from"@solana/web3.js";import q from"bn.js";var se=9e15,re=1e9,Ze="0123456789abcdef",Te="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Be="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Ye={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-se,maxE:se,crypto:!1},xt,X,w=!0,Ie="[DecimalError] ",ne=Ie+"Invalid argument: ",kt=Ie+"Precision limit exceeded",St=Ie+"crypto unavailable",Nt="[object Decimal]",C=Math.floor,E=Math.pow,gn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,bn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,hn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Lt=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Z=1e7,h=7,yn=9007199254740991,wn=Te.length-1,He=Be.length-1,f={toStringTag:Nt};f.absoluteValue=f.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),b(e)};f.ceil=function(){return b(new this.constructor(this),this.e+1,2)};f.clampedTo=f.clamp=function(e,t){var n,r=this,i=r.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(ne+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new i(r)};f.comparedTo=f.cmp=function(e){var t,n,r,i,o=this,s=o.d,u=(e=new o.constructor(e)).d,c=o.s,a=e.s;if(!s||!u)return!c||!a?NaN:c!==a?c:s===u?0:!s^c<0?1:-1;if(!s[0]||!u[0])return s[0]?c:u[0]?-a:0;if(c!==a)return c;if(o.e!==e.e)return o.e>e.e^c<0?1:-1;for(r=s.length,i=u.length,t=0,n=r<i?r:i;t<n;++t)if(s[t]!==u[t])return s[t]>u[t]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1};f.cosine=f.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+h,r.rounding=1,n=Pn(r,Et(r,n)),r.precision=e,r.rounding=t,b(X==2||X==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)};f.cubeRoot=f.cbrt=function(){var e,t,n,r,i,o,s,u,c,a,l=this,m=l.constructor;if(!l.isFinite()||l.isZero())return new m(l);for(w=!1,o=l.s*E(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=v(l.d),e=l.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=E(n,1/3),e=C((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?n="5e"+e:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),r=new m(n),r.s=l.s):r=new m(o.toString()),s=(e=m.precision)+3;;)if(u=r,c=u.times(u).times(u),a=c.plus(l),r=k(a.plus(l).times(u),a.plus(c),s+2,1),v(u.d).slice(0,s)===(n=v(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(b(u,e+1,0),u.times(u).times(u).eq(l))){r=u;break}s+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(b(r,e+1,1),t=!r.times(r).times(r).eq(l));break}return w=!0,b(r,e,m.rounding,t)};f.decimalPlaces=f.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-C(this.e/h))*h,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};f.dividedBy=f.div=function(e){return k(this,new this.constructor(e))};f.dividedToIntegerBy=f.divToInt=function(e){var t=this,n=t.constructor;return b(k(t,new n(e),0,1,1),n.precision,n.rounding)};f.equals=f.eq=function(e){return this.cmp(e)===0};f.floor=function(){return b(new this.constructor(this),this.e+1,3)};f.greaterThan=f.gt=function(e){return this.cmp(e)>0};f.greaterThanOrEqualTo=f.gte=function(e){var t=this.cmp(e);return t==1||t===0};f.hyperbolicCosine=f.cosh=function(){var e,t,n,r,i,o=this,s=o.constructor,u=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return u;n=s.precision,r=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/_e(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=ue(s,1,o.times(t),new s(1),!0);for(var c,a=e,l=new s(8);a--;)c=o.times(o),o=u.minus(c.times(l.minus(c.times(l))));return b(o,s.precision=n,s.rounding=r,!0)};f.hyperbolicSine=f.sinh=function(){var e,t,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=ue(o,2,i,i,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,i=i.times(1/_e(5,e)),i=ue(o,2,i,i,!0);for(var s,u=new o(5),c=new o(16),a=new o(20);e--;)s=i.times(i),i=i.times(u.plus(s.times(c.times(s).plus(a))))}return o.precision=t,o.rounding=n,b(i,t,n,!0)};f.hyperbolicTangent=f.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,k(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)};f.inverseCosine=f.acos=function(){var e,t=this,n=t.constructor,r=t.abs().cmp(1),i=n.precision,o=n.rounding;return r!==-1?r===0?t.isNeg()?j(n,i,o):new n(0):new n(NaN):t.isZero()?j(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,t=t.asin(),e=j(n,i+4,o).times(.5),n.precision=i,n.rounding=o,e.minus(t))};f.inverseHyperbolicCosine=f.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,w=!1,n=n.times(n).minus(1).sqrt().plus(n),w=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)};f.inverseHyperbolicSine=f.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,w=!1,n=n.times(n).plus(1).sqrt().plus(n),w=!0,r.precision=e,r.rounding=t,n.ln())};f.inverseHyperbolicTangent=f.atanh=function(){var e,t,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?b(new o(i),e,t,!0):(o.precision=n=r-i.e,i=k(i.plus(1),new o(1).minus(i),n+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};f.inverseSine=f.asin=function(){var e,t,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),n=o.precision,r=o.rounding,t!==-1?t===0?(e=j(o,n+4,r).times(.5),e.s=i.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))};f.inverseTangent=f.atan=function(){var e,t,n,r,i,o,s,u,c,a=this,l=a.constructor,m=l.precision,p=l.rounding;if(a.isFinite()){if(a.isZero())return new l(a);if(a.abs().eq(1)&&m+4<=He)return s=j(l,m+4,p).times(.25),s.s=a.s,s}else{if(!a.s)return new l(NaN);if(m+4<=He)return s=j(l,m+4,p).times(.5),s.s=a.s,s}for(l.precision=u=m+10,l.rounding=1,n=Math.min(28,u/h+2|0),e=n;e;--e)a=a.div(a.times(a).plus(1).sqrt().plus(1));for(w=!1,t=Math.ceil(u/h),r=1,c=a.times(a),s=new l(a),i=a;e!==-1;)if(i=i.times(c),o=s.minus(i.div(r+=2)),i=i.times(c),s=o.plus(i.div(r+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),w=!0,b(s,l.precision=m,l.rounding=p,!0)};f.isFinite=function(){return!!this.d};f.isInteger=f.isInt=function(){return!!this.d&&C(this.e/h)>this.d.length-2};f.isNaN=function(){return!this.s};f.isNegative=f.isNeg=function(){return this.s<0};f.isPositive=f.isPos=function(){return this.s>0};f.isZero=function(){return!!this.d&&this.d[0]===0};f.lessThan=f.lt=function(e){return this.cmp(e)<0};f.lessThanOrEqualTo=f.lte=function(e){return this.cmp(e)<1};f.logarithm=f.log=function(e){var t,n,r,i,o,s,u,c,a=this,l=a.constructor,m=l.precision,p=l.rounding,g=5;if(e==null)e=new l(10),t=!0;else{if(e=new l(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=a.d,a.s<0||!n||!n[0]||a.eq(1))return new l(n&&!n[0]?-1/0:a.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(i=n[0];i%10===0;)i/=10;o=i!==1}if(w=!1,u=m+g,s=te(a,u),r=t?Ae(l,u+10):te(e,u),c=k(s,r,u,1),fe(c.d,i=m,p))do if(u+=10,s=te(a,u),r=t?Ae(l,u+10):te(e,u),c=k(s,r,u,1),!o){+v(c.d).slice(i+1,i+15)+1==1e14&&(c=b(c,m+1,0));break}while(fe(c.d,i+=10,p));return w=!0,b(c,m,p)};f.minus=f.sub=function(e){var t,n,r,i,o,s,u,c,a,l,m,p,g=this,P=g.constructor;if(e=new P(e),!g.d||!e.d)return!g.s||!e.s?e=new P(NaN):g.d?e.s=-e.s:e=new P(e.d||g.s!==e.s?g:NaN),e;if(g.s!=e.s)return e.s=-e.s,g.plus(e);if(a=g.d,p=e.d,u=P.precision,c=P.rounding,!a[0]||!p[0]){if(p[0])e.s=-e.s;else if(a[0])e=new P(g);else return new P(c===3?-0:0);return w?b(e,u,c):e}if(n=C(e.e/h),l=C(g.e/h),a=a.slice(),o=l-n,o){for(m=o<0,m?(t=a,o=-o,s=p.length):(t=p,n=l,s=a.length),r=Math.max(Math.ceil(u/h),s)+2,o>r&&(o=r,t.length=1),t.reverse(),r=o;r--;)t.push(0);t.reverse()}else{for(r=a.length,s=p.length,m=r<s,m&&(s=r),r=0;r<s;r++)if(a[r]!=p[r]){m=a[r]<p[r];break}o=0}for(m&&(t=a,a=p,p=t,e.s=-e.s),s=a.length,r=p.length-s;r>0;--r)a[s++]=0;for(r=p.length;r>o;){if(a[--r]<p[r]){for(i=r;i&&a[--i]===0;)a[i]=Z-1;--a[i],a[r]+=Z}a[r]-=p[r]}for(;a[--s]===0;)a.pop();for(;a[0]===0;a.shift())--n;return a[0]?(e.d=a,e.e=Ee(a,n),w?b(e,u,c):e):new P(c===3?-0:0)};f.modulo=f.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?b(new r(n),r.precision,r.rounding):(w=!1,r.modulo==9?(t=k(n,e.abs(),0,3,1),t.s*=e.s):t=k(n,e,0,r.modulo,1),t=t.times(e),w=!0,n.minus(t))};f.naturalExponential=f.exp=function(){return Ge(this)};f.naturalLogarithm=f.ln=function(){return te(this)};f.negated=f.neg=function(){var e=new this.constructor(this);return e.s=-e.s,b(e)};f.plus=f.add=function(e){var t,n,r,i,o,s,u,c,a,l,m=this,p=m.constructor;if(e=new p(e),!m.d||!e.d)return!m.s||!e.s?e=new p(NaN):m.d||(e=new p(e.d||m.s===e.s?m:NaN)),e;if(m.s!=e.s)return e.s=-e.s,m.minus(e);if(a=m.d,l=e.d,u=p.precision,c=p.rounding,!a[0]||!l[0])return l[0]||(e=new p(m)),w?b(e,u,c):e;if(o=C(m.e/h),r=C(e.e/h),a=a.slice(),i=o-r,i){for(i<0?(n=a,i=-i,s=l.length):(n=l,r=o,s=a.length),o=Math.ceil(u/h),s=o>s?o+1:s+1,i>s&&(i=s,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(s=a.length,i=l.length,s-i<0&&(i=s,n=l,l=a,a=n),t=0;i;)t=(a[--i]=a[i]+l[i]+t)/Z|0,a[i]%=Z;for(t&&(a.unshift(t),++r),s=a.length;a[--s]==0;)a.pop();return e.d=a,e.e=Ee(a,r),w?b(e,u,c):e};f.precision=f.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ne+e);return n.d?(t=Tt(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};f.round=function(){var e=this,t=e.constructor;return b(new t(e),e.e+1,t.rounding)};f.sine=f.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+h,r.rounding=1,n=kn(r,Et(r,n)),r.precision=e,r.rounding=t,b(X>2?n.neg():n,e,t,!0)):new r(NaN)};f.squareRoot=f.sqrt=function(){var e,t,n,r,i,o,s=this,u=s.d,c=s.e,a=s.s,l=s.constructor;if(a!==1||!u||!u[0])return new l(!a||a<0&&(!u||u[0])?NaN:u?s:1/0);for(w=!1,a=Math.sqrt(+s),a==0||a==1/0?(t=v(u),(t.length+c)%2==0&&(t+="0"),a=Math.sqrt(t),c=C((c+1)/2)-(c<0||c%2),a==1/0?t="5e"+c:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),r=new l(t)):r=new l(a.toString()),n=(c=l.precision)+3;;)if(o=r,r=o.plus(k(s,o,n+2,1)).times(.5),v(o.d).slice(0,n)===(t=v(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!i&&t=="4999"){if(!i&&(b(o,c+1,0),o.times(o).eq(s))){r=o;break}n+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(b(r,c+1,1),e=!r.times(r).eq(s));break}return w=!0,b(r,c,l.rounding,e)};f.tangent=f.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,n=n.sin(),n.s=1,n=k(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,b(X==2||X==4?n.neg():n,e,t,!0)):new r(NaN)};f.times=f.mul=function(e){var t,n,r,i,o,s,u,c,a,l=this,m=l.constructor,p=l.d,g=(e=new m(e)).d;if(e.s*=l.s,!p||!p[0]||!g||!g[0])return new m(!e.s||p&&!p[0]&&!g||g&&!g[0]&&!p?NaN:!p||!g?e.s/0:e.s*0);for(n=C(l.e/h)+C(e.e/h),c=p.length,a=g.length,c<a&&(o=p,p=g,g=o,s=c,c=a,a=s),o=[],s=c+a,r=s;r--;)o.push(0);for(r=a;--r>=0;){for(t=0,i=c+r;i>r;)u=o[i]+g[r]*p[i-r-1]+t,o[i--]=u%Z|0,t=u/Z|0;o[i]=(o[i]+t)%Z|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=Ee(o,n),w?b(e,m.precision,m.rounding):e};f.toBinary=function(e,t){return ze(this,2,e,t)};f.toDecimalPlaces=f.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(M(e,0,re),t===void 0?t=r.rounding:M(t,0,8),b(n,e+n.e+1,t))};f.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=Y(r,!0):(M(e,0,re),t===void 0?t=i.rounding:M(t,0,8),r=b(new i(r),e+1,t),n=Y(r,!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};f.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return e===void 0?n=Y(i):(M(e,0,re),t===void 0?t=o.rounding:M(t,0,8),r=b(new o(i),e+i.e+1,t),n=Y(r,!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};f.toFraction=function(e){var t,n,r,i,o,s,u,c,a,l,m,p,g=this,P=g.d,y=g.constructor;if(!P)return new y(g);if(a=n=new y(1),r=c=new y(0),t=new y(r),o=t.e=Tt(P)-g.e-1,s=o%h,t.d[0]=E(10,s<0?h+s:s),e==null)e=o>0?t:a;else{if(u=new y(e),!u.isInt()||u.lt(a))throw Error(ne+u);e=u.gt(t)?o>0?t:a:u}for(w=!1,u=new y(v(P)),l=y.precision,y.precision=o=P.length*h*2;m=k(u,t,0,1,1),i=n.plus(m.times(r)),i.cmp(e)!=1;)n=r,r=i,i=a,a=c.plus(m.times(i)),c=i,i=t,t=u.minus(m.times(i)),u=i;return i=k(e.minus(n),r,0,1,1),c=c.plus(i.times(a)),n=n.plus(i.times(r)),c.s=a.s=g.s,p=k(a,r,o,1).minus(g).abs().cmp(k(c,n,o,1).minus(g).abs())<1?[a,r]:[c,n],y.precision=l,w=!0,p};f.toHexadecimal=f.toHex=function(e,t){return ze(this,16,e,t)};f.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),e==null){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),t===void 0?t=r.rounding:M(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(w=!1,n=k(n,e,0,t,1).times(e),w=!0,b(n)):(e.s=n.s,n=e),n};f.toNumber=function(){return+this};f.toOctal=function(e,t){return ze(this,8,e,t)};f.toPower=f.pow=function(e){var t,n,r,i,o,s,u=this,c=u.constructor,a=+(e=new c(e));if(!u.d||!e.d||!u.d[0]||!e.d[0])return new c(E(+u,a));if(u=new c(u),u.eq(1))return u;if(r=c.precision,o=c.rounding,e.eq(1))return b(u,r,o);if(t=C(e.e/h),t>=e.d.length-1&&(n=a<0?-a:a)<=yn)return i=Bt(c,u,n,r),e.s<0?new c(1).div(i):b(i,r,o);if(s=u.s,s<0){if(t<e.d.length-1)return new c(NaN);if((e.d[t]&1)==0&&(s=1),u.e==0&&u.d[0]==1&&u.d.length==1)return u.s=s,u}return n=E(+u,a),t=n==0||!isFinite(n)?C(a*(Math.log("0."+v(u.d))/Math.LN10+u.e+1)):new c(n+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(w=!1,c.rounding=u.s=1,n=Math.min(12,(t+"").length),i=Ge(e.times(te(u,r+n)),r),i.d&&(i=b(i,r+5,1),fe(i.d,r,o)&&(t=r+10,i=b(Ge(e.times(te(u,t+n)),t),t+5,1),+v(i.d).slice(r+1,r+15)+1==1e14&&(i=b(i,r+1,0)))),i.s=s,w=!0,c.rounding=o,b(i,r,o))};f.toPrecision=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=Y(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(M(e,1,re),t===void 0?t=i.rounding:M(t,0,8),r=b(new i(r),e,t),n=Y(r,e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n};f.toSignificantDigits=f.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(M(e,1,re),t===void 0?t=r.rounding:M(t,0,8)),b(new r(n),e,t)};f.toString=function(){var e=this,t=e.constructor,n=Y(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};f.truncated=f.trunc=function(){return b(new this.constructor(this),this.e+1,1)};f.valueOf=f.toJSON=function(){var e=this,t=e.constructor,n=Y(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function v(e){var t,n,r,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;t<i;t++)r=e[t]+"",n=h-r.length,n&&(o+=ee(n)),o+=r;s=e[t],r=s+"",n=h-r.length,n&&(o+=ee(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function M(e,t,n){if(e!==~~e||e<t||e>n)throw Error(ne+e)}function fe(e,t,n,r){var i,o,s,u;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=h,i=0):(i=Math.ceil((t+1)/h),t%=h),o=E(10,h-t),u=e[i]%o|0,r==null?t<3?(t==0?u=u/100|0:t==1&&(u=u/10|0),s=n<4&&u==99999||n>3&&u==49999||u==5e4||u==0):s=(n<4&&u+1==o||n>3&&u+1==o/2)&&(e[i+1]/o/100|0)==E(10,t-2)-1||(u==o/2||u==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?u=u/1e3|0:t==1?u=u/100|0:t==2&&(u=u/10|0),s=(r||n<4)&&u==9999||!r&&n>3&&u==4999):s=((r||n<4)&&u+1==o||!r&&n>3&&u+1==o/2)&&(e[i+1]/o/1e3|0)==E(10,t-3)-1,s}function Le(e,t,n){for(var r,i=[0],o,s=0,u=e.length;s<u;){for(o=i.length;o--;)i[o]*=t;for(i[0]+=Ze.indexOf(e.charAt(s++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function Pn(e,t){var n,r,i;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),i=(1/_e(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),e.precision+=n,t=ue(e,1,t.times(i),new e(1));for(var o=n;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=n,t}var k=function(){function e(r,i,o){var s,u=0,c=r.length;for(r=r.slice();c--;)s=r[c]*i+u,r[c]=s%o|0,u=s/o|0;return u&&r.unshift(u),r}function t(r,i,o,s){var u,c;if(o!=s)c=o>s?1:-1;else for(u=c=0;u<o;u++)if(r[u]!=i[u]){c=r[u]>i[u]?1:-1;break}return c}function n(r,i,o,s){for(var u=0;o--;)r[o]-=u,u=r[o]<i[o]?1:0,r[o]=u*s+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,s,u,c){var a,l,m,p,g,P,y,_,N,F,x,W,ye,H,Re,we,ce,Oe,K,Pe,xe=r.constructor,Me=r.s==i.s?1:-1,D=r.d,S=i.d;if(!D||!D[0]||!S||!S[0])return new xe(!r.s||!i.s||(D?S&&D[0]==S[0]:!S)?NaN:D&&D[0]==0||!S?Me*0:Me/0);for(c?(g=1,l=r.e-i.e):(c=Z,g=h,l=C(r.e/g)-C(i.e/g)),K=S.length,ce=D.length,N=new xe(Me),F=N.d=[],m=0;S[m]==(D[m]||0);m++);if(S[m]>(D[m]||0)&&l--,o==null?(H=o=xe.precision,s=xe.rounding):u?H=o+(r.e-i.e)+1:H=o,H<0)F.push(1),P=!0;else{if(H=H/g+2|0,m=0,K==1){for(p=0,S=S[0],H++;(m<ce||p)&&H--;m++)Re=p*c+(D[m]||0),F[m]=Re/S|0,p=Re%S|0;P=p||m<ce}else{for(p=c/(S[0]+1)|0,p>1&&(S=e(S,p,c),D=e(D,p,c),K=S.length,ce=D.length),we=K,x=D.slice(0,K),W=x.length;W<K;)x[W++]=0;Pe=S.slice(),Pe.unshift(0),Oe=S[0],S[1]>=c/2&&++Oe;do p=0,a=t(S,x,K,W),a<0?(ye=x[0],K!=W&&(ye=ye*c+(x[1]||0)),p=ye/Oe|0,p>1?(p>=c&&(p=c-1),y=e(S,p,c),_=y.length,W=x.length,a=t(y,x,_,W),a==1&&(p--,n(y,K<_?Pe:S,_,c))):(p==0&&(a=p=1),y=S.slice()),_=y.length,_<W&&y.unshift(0),n(x,y,W,c),a==-1&&(W=x.length,a=t(S,x,K,W),a<1&&(p++,n(x,K<W?Pe:S,W,c))),W=x.length):a===0&&(p++,x=[0]),F[m++]=p,a&&x[0]?x[W++]=D[we]||0:(x=[D[we]],W=1);while((we++<ce||x[0]!==void 0)&&H--);P=x[0]!==void 0}F[0]||F.shift()}if(g==1)N.e=l,xt=P;else{for(m=1,p=F[0];p>=10;p/=10)m++;N.e=m+l*g-1,b(N,u?o+N.e+1:o,s,P)}return N}}();function b(e,t,n,r){var i,o,s,u,c,a,l,m,p,g=e.constructor;e:if(t!=null){if(m=e.d,!m)return e;for(i=1,u=m[0];u>=10;u/=10)i++;if(o=t-i,o<0)o+=h,s=t,l=m[p=0],c=l/E(10,i-s-1)%10|0;else if(p=Math.ceil((o+1)/h),u=m.length,p>=u)if(r){for(;u++<=p;)m.push(0);l=c=0,i=1,o%=h,s=o-h+1}else break e;else{for(l=u=m[p],i=1;u>=10;u/=10)i++;o%=h,s=o-h+i,c=s<0?0:l/E(10,i-s-1)%10|0}if(r=r||t<0||m[p+1]!==void 0||(s<0?l:l%E(10,i-s-1)),a=n<4?(c||r)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(o>0?s>0?l/E(10,i-s):0:m[p-1])%10&1||n==(e.s<0?8:7)),t<1||!m[0])return m.length=0,a?(t-=e.e+1,m[0]=E(10,(h-t%h)%h),e.e=-t||0):m[0]=e.e=0,e;if(o==0?(m.length=p,u=1,p--):(m.length=p+1,u=E(10,h-o),m[p]=s>0?(l/E(10,i-s)%E(10,s)|0)*u:0),a)for(;;)if(p==0){for(o=1,s=m[0];s>=10;s/=10)o++;for(s=m[0]+=u,u=1;s>=10;s/=10)u++;o!=u&&(e.e++,m[0]==Z&&(m[0]=1));break}else{if(m[p]+=u,m[p]!=Z)break;m[p--]=0,u=1}for(o=m.length;m[--o]===0;)m.pop()}return w&&(e.e>g.maxE?(e.d=null,e.e=NaN):e.e<g.minE&&(e.e=0,e.d=[0])),e}function Y(e,t,n){if(!e.isFinite())return It(e);var r,i=e.e,o=v(e.d),s=o.length;return t?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+ee(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+ee(-i-1)+o,n&&(r=n-s)>0&&(o+=ee(r))):i>=s?(o+=ee(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+ee(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=ee(r))),o}function Ee(e,t){var n=e[0];for(t*=h;n>=10;n/=10)t++;return t}function Ae(e,t,n){if(t>wn)throw w=!0,n&&(e.precision=n),Error(kt);return b(new e(Te),t,1,!0)}function j(e,t,n){if(t>He)throw Error(kt);return b(new e(Be),t,n,!0)}function Tt(e){var t=e.length-1,n=t*h+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function ee(e){for(var t="";e--;)t+="0";return t}function Bt(e,t,n,r){var i,o=new e(1),s=Math.ceil(r/h+4);for(w=!1;;){if(n%2&&(o=o.times(t),wt(o.d,s)&&(i=!0)),n=C(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}t=t.times(t),wt(t.d,s)}return w=!0,o}function yt(e){return e.d[e.d.length-1]&1}function At(e,t,n){for(var r,i=new e(t[0]),o=0;++o<t.length;)if(r=new e(t[o]),r.s)i[n](r)&&(i=r);else{i=r;break}return i}function Ge(e,t){var n,r,i,o,s,u,c,a=0,l=0,m=0,p=e.constructor,g=p.rounding,P=p.precision;if(!e.d||!e.d[0]||e.e>17)return new p(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(w=!1,c=P):c=t,u=new p(.03125);e.e>-2;)e=e.times(u),m+=5;for(r=Math.log(E(2,m))/Math.LN10*2+5|0,c+=r,n=o=s=new p(1),p.precision=c;;){if(o=b(o.times(e),c,1),n=n.times(++l),u=s.plus(k(o,n,c,1)),v(u.d).slice(0,c)===v(s.d).slice(0,c)){for(i=m;i--;)s=b(s.times(s),c,1);if(t==null)if(a<3&&fe(s.d,c-r,g,a))p.precision=c+=10,n=o=u=new p(1),l=0,a++;else return b(s,p.precision=P,g,w=!0);else return p.precision=P,s}s=u}}function te(e,t){var n,r,i,o,s,u,c,a,l,m,p,g=1,P=10,y=e,_=y.d,N=y.constructor,F=N.rounding,x=N.precision;if(y.s<0||!_||!_[0]||!y.e&&_[0]==1&&_.length==1)return new N(_&&!_[0]?-1/0:y.s!=1?NaN:_?0:y);if(t==null?(w=!1,l=x):l=t,N.precision=l+=P,n=v(_),r=n.charAt(0),Math.abs(o=y.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)y=y.times(e),n=v(y.d),r=n.charAt(0),g++;o=y.e,r>1?(y=new N("0."+n),o++):y=new N(r+"."+n.slice(1))}else return a=Ae(N,l+2,x).times(o+""),y=te(new N(r+"."+n.slice(1)),l-P).plus(a),N.precision=x,t==null?b(y,x,F,w=!0):y;for(m=y,c=s=y=k(y.minus(1),y.plus(1),l,1),p=b(y.times(y),l,1),i=3;;){if(s=b(s.times(p),l,1),a=c.plus(k(s,new N(i),l,1)),v(a.d).slice(0,l)===v(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(Ae(N,l+2,x).times(o+""))),c=k(c,new N(g),l,1),t==null)if(fe(c.d,l-P,F,u))N.precision=l+=P,a=s=y=k(m.minus(1),m.plus(1),l,1),p=b(y.times(y),l,1),i=u=1;else return b(c,N.precision=x,F,w=!0);else return N.precision=x,c;c=a,i+=2}}function It(e){return String(e.s*e.s/0)}function Qe(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;r++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(r,i),t){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%h,n<0&&(r+=h),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=h;r<i;)e.d.push(+t.slice(r,r+=h));t=t.slice(r),r=h-t.length}else r-=i;for(;r--;)t+="0";e.d.push(+t),w&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function xn(e,t){var n,r,i,o,s,u,c,a,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),Lt.test(t))return Qe(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(bn.test(t))n=16,t=t.toLowerCase();else if(gn.test(t))n=2;else if(hn.test(t))n=8;else throw Error(ne+t);for(o=t.search(/p/i),o>0?(c=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,r=e.constructor,s&&(t=t.replace(".",""),u=t.length,o=u-o,i=Bt(r,new r(n),o,o*2)),a=Le(t,n,Z),l=a.length-1,o=l;a[o]===0;--o)a.pop();return o<0?new r(e.s*0):(e.e=Ee(a,l),e.d=a,w=!1,s&&(e=k(e,i,u*4)),c&&(e=e.times(Math.abs(c)<54?E(2,c):ve.pow(2,c))),w=!0,e)}function kn(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:ue(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/_e(5,n)),t=ue(e,2,t,t);for(var i,o=new e(5),s=new e(16),u=new e(20);n--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(u))));return t}function ue(e,t,n,r,i){var o,s,u,c,a=1,l=e.precision,m=Math.ceil(l/h);for(w=!1,c=n.times(n),u=new e(r);;){if(s=k(u.times(c),new e(t++*t++),l,1),u=i?r.plus(s):r.minus(s),r=k(s.times(c),new e(t++*t++),l,1),s=u.plus(r),s.d[m]!==void 0){for(o=m;s.d[o]===u.d[o]&&o--;);if(o==-1)break}o=u,u=r,r=s,s=o,a++}return w=!0,s.d.length=m+1,s}function _e(e,t){for(var n=e;--t;)n*=e;return n}function Et(e,t){var n,r=t.s<0,i=j(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return X=r?4:1,t;if(n=t.divToInt(i),n.isZero())X=r?3:2;else{if(t=t.minus(n.times(i)),t.lte(o))return X=yt(n)?r?2:3:r?4:1,t;X=yt(n)?r?1:4:r?3:2}return t.minus(i).abs()}function ze(e,t,n,r){var i,o,s,u,c,a,l,m,p,g=e.constructor,P=n!==void 0;if(P?(M(n,1,re),r===void 0?r=g.rounding:M(r,0,8)):(n=g.precision,r=g.rounding),!e.isFinite())l=It(e);else{for(l=Y(e),s=l.indexOf("."),P?(i=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):i=t,s>=0&&(l=l.replace(".",""),p=new g(1),p.e=l.length-s,p.d=Le(Y(p),10,i),p.e=p.d.length),m=Le(l,10,i),o=c=m.length;m[--c]==0;)m.pop();if(!m[0])l=P?"0p+0":"0";else{if(s<0?o--:(e=new g(e),e.d=m,e.e=o,e=k(e,p,n,r,0,i),m=e.d,o=e.e,a=xt),s=m[n],u=i/2,a=a||m[n+1]!==void 0,a=r<4?(s!==void 0||a)&&(r===0||r===(e.s<0?3:2)):s>u||s===u&&(r===4||a||r===6&&m[n-1]&1||r===(e.s<0?8:7)),m.length=n,a)for(;++m[--n]>i-1;)m[n]=0,n||(++o,m.unshift(1));for(c=m.length;!m[c-1];--c);for(s=0,l="";s<c;s++)l+=Ze.charAt(m[s]);if(P){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(m=Le(l,i,t),c=m.length;!m[c-1];--c);for(s=1,l="1.";s<c;s++)l+=Ze.charAt(m[s])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>c)for(o-=c;o--;)l+="0";else o<c&&(l=l.slice(0,o)+"."+l.slice(o))}l=(t==16?"0x":t==2?"0b":t==8?"0o":"")+l}return e.s<0?"-"+l:l}function wt(e,t){if(e.length>t)return e.length=t,!0}function Sn(e){return new this(e).abs()}function Nn(e){return new this(e).acos()}function Ln(e){return new this(e).acosh()}function Tn(e,t){return new this(e).plus(t)}function Bn(e){return new this(e).asin()}function An(e){return new this(e).asinh()}function In(e){return new this(e).atan()}function En(e){return new this(e).atanh()}function _n(e,t){e=new this(e),t=new this(t);var n,r=this.precision,i=this.rounding,o=r+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=j(this,o,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?j(this,r,i):new this(0),n.s=e.s):!e.d||t.isZero()?(n=j(this,o,1).times(.5),n.s=e.s):t.s<0?(this.precision=o,this.rounding=1,n=this.atan(k(e,t,o,1)),t=j(this,o,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(k(e,t,o,1)),n}function vn(e){return new this(e).cbrt()}function Wn(e){return b(e=new this(e),e.e+1,2)}function Dn(e,t,n){return new this(e).clamp(t,n)}function Cn(e){if(!e||typeof e!="object")throw Error(Ie+"Object expected");var t,n,r,i=e.defaults===!0,o=["precision",1,re,"rounding",0,8,"toExpNeg",-se,0,"toExpPos",0,se,"maxE",0,se,"minE",-se,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],i&&(this[n]=Ye[n]),(r=e[n])!==void 0)if(C(r)===r&&r>=o[t+1]&&r<=o[t+2])this[n]=r;else throw Error(ne+n+": "+r);if(n="crypto",i&&(this[n]=Ye[n]),(r=e[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(St);else this[n]=!1;else throw Error(ne+n+": "+r);return this}function Rn(e){return new this(e).cos()}function On(e){return new this(e).cosh()}function _t(e){var t,n,r;function i(o){var s,u,c,a=this;if(!(a instanceof i))return new i(o);if(a.constructor=i,Pt(o)){a.s=o.s,w?!o.d||o.e>i.maxE?(a.e=NaN,a.d=null):o.e<i.minE?(a.e=0,a.d=[0]):(a.e=o.e,a.d=o.d.slice()):(a.e=o.e,a.d=o.d?o.d.slice():o.d);return}if(c=typeof o,c==="number"){if(o===0){a.s=1/o<0?-1:1,a.e=0,a.d=[0];return}if(o<0?(o=-o,a.s=-1):a.s=1,o===~~o&&o<1e7){for(s=0,u=o;u>=10;u/=10)s++;w?s>i.maxE?(a.e=NaN,a.d=null):s<i.minE?(a.e=0,a.d=[0]):(a.e=s,a.d=[o]):(a.e=s,a.d=[o]);return}else if(o*0!==0){o||(a.s=NaN),a.e=NaN,a.d=null;return}return Qe(a,o.toString())}else if(c!=="string")throw Error(ne+o);return(u=o.charCodeAt(0))===45?(o=o.slice(1),a.s=-1):(u===43&&(o=o.slice(1)),a.s=1),Lt.test(o)?Qe(a,o):xn(a,o)}if(i.prototype=f,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=Cn,i.clone=_t,i.isDecimal=Pt,i.abs=Sn,i.acos=Nn,i.acosh=Ln,i.add=Tn,i.asin=Bn,i.asinh=An,i.atan=In,i.atanh=En,i.atan2=_n,i.cbrt=vn,i.ceil=Wn,i.clamp=Dn,i.cos=Rn,i.cosh=On,i.div=Mn,i.exp=qn,i.floor=Fn,i.hypot=Vn,i.ln=Un,i.log=Kn,i.log10=Zn,i.log2=jn,i.max=Yn,i.min=Hn,i.mod=Gn,i.mul=Qn,i.pow=zn,i.random=Xn,i.round=$n,i.sign=Jn,i.sin=er,i.sinh=tr,i.sqrt=nr,i.sub=rr,i.sum=ir,i.tan=or,i.tanh=sr,i.trunc=ur,e===void 0&&(e={}),e&&e.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return i.config(e),i}function Mn(e,t){return new this(e).div(t)}function qn(e){return new this(e).exp()}function Fn(e){return b(e=new this(e),e.e+1,3)}function Vn(){var e,t,n=new this(0);for(w=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return w=!0,new this(1/0);n=t}return w=!0,n.sqrt()}function Pt(e){return e instanceof ve||e&&e.toStringTag===Nt||!1}function Un(e){return new this(e).ln()}function Kn(e,t){return new this(e).log(t)}function jn(e){return new this(e).log(2)}function Zn(e){return new this(e).log(10)}function Yn(){return At(this,arguments,"lt")}function Hn(){return At(this,arguments,"gt")}function Gn(e,t){return new this(e).mod(t)}function Qn(e,t){return new this(e).mul(t)}function zn(e,t){return new this(e).pow(t)}function Xn(e){var t,n,r,i,o=0,s=new this(1),u=[];if(e===void 0?e=this.precision:M(e,1,re),r=Math.ceil(e/h),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));o<r;)i=t[o],i>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:u[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);o<r;)i=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((t[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(t,o):(u.push(i%1e7),o+=4);o=r/4}else throw Error(St);else for(;o<r;)u[o++]=Math.random()*1e7|0;for(r=u[--o],e%=h,r&&e&&(i=E(10,h-e),u[o]=(r/i|0)*i);u[o]===0;o--)u.pop();if(o<0)n=0,u=[0];else{for(n=-1;u[0]===0;n-=h)u.shift();for(r=1,i=u[0];i>=10;i/=10)r++;r<h&&(n-=h-r)}return s.e=n,s.d=u,s}function $n(e){return b(e=new this(e),e.e+1,this.rounding)}function Jn(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function er(e){return new this(e).sin()}function tr(e){return new this(e).sinh()}function nr(e){return new this(e).sqrt()}function rr(e,t){return new this(e).sub(t)}function ir(){var e=0,t=arguments,n=new this(t[e]);for(w=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return w=!0,b(n,this.precision,this.rounding)}function or(e){return new this(e).tan()}function sr(e){return new this(e).tanh()}function ur(e){return b(e=new this(e),e.e+1,1)}f[Symbol.for("nodejs.util.inspect.custom")]=f.toString;f[Symbol.toStringTag]="Decimal";var ve=f.constructor=_t(Ye);Te=new ve(Te);Be=new ve(Be);import{PublicKey as Xe}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ar}from"@solana/spl-token";import{PublicKey as I,SystemProgram as cr,SYSVAR_RENT_PUBKEY as lr}from"@solana/web3.js";function U({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var wo=[U({pubkey:ar,isWritable:!1}),U({pubkey:cr.programId,isWritable:!1}),U({pubkey:lr,isWritable:!1})];function Wt({publicKey:e,transformSol:t}){let n=Dt(e.toString());if(n instanceof I)return t&&n.equals(de)?vt:n;if(t&&n.toString()===de.toBase58())return vt;if(typeof n=="string"){if(n===I.default.toBase58())return I.default;try{return new I(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function Dt(e){try{return new I(e)}catch{return e}}var Po=new I("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),mr=new I("SysvarRent111111111111111111111111111111111"),xo=new I("SysvarC1ock11111111111111111111111111111111"),ko=new I("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),So=new I("Sysvar1nstructions1111111111111111111111111"),No=new I("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Lo=new I("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),To=new I("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Bo=new I("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Ao=new I("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Io=new I("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Eo=new I("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),_o=new I("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),vo=new I("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Wo=new I("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Do=new I("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),vt=new I("So11111111111111111111111111111111111111112"),de=I.default;import{PublicKey as pr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Ct}from"@solana/spl-token";var Rt={chainId:101,address:pr.default.toBase58(),programId:Ct.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},ie={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Ct.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};var $e=class{constructor({mint:t,decimals:n,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(t===de.toBase58()||t instanceof Xe&&de.equals(t)){this.decimals=ie.decimals,this.symbol=ie.symbol,this.name=ie.name,this.mint=new Xe(ie.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||t.toString().substring(0,6),this.name=i||t.toString().substring(0,6),this.mint=o?Xe.default:Wt({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},ae=$e;ae.WSOL=new $e(ke(le({},ie),{mint:ie.address}));import De from"big.js";import gr from"bn.js";import br from"decimal.js-light";import fr from"toformat";var dr=fr,ge=dr;var We=O("module/fraction"),Je=ge(De),be=ge(br),hr={[0]:be.ROUND_DOWN,[1]:be.ROUND_HALF_UP,[2]:be.ROUND_UP},yr={[0]:De.roundDown,[1]:De.roundHalfUp,[2]:De.roundUp},L=class{constructor(t,n=new gr(1)){this.numerator=$(t),this.denominator=$(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new L(this.denominator,this.numerator)}add(t){let n=t instanceof L?t:new L($(t));return this.denominator.eq(n.denominator)?new L(this.numerator.add(n.numerator),this.denominator):new L(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof L?t:new L($(t));return this.denominator.eq(n.denominator)?new L(this.numerator.sub(n.numerator),this.denominator):new L(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof L?t:new L($(t));return new L(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof L?t:new L($(t));return new L(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||We.logWithError(`${t} is not an integer.`),t<=0&&We.logWithError(`${t} is not positive.`),be.set({precision:t+1,rounding:hr[r]});let i=new be(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return i.toFormat(i.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||We.logWithError(`${t} is not an integer.`),t<0&&We.logWithError(`${t} is negative.`),Je.DP=t,Je.RM=yr[r]||1,new Je(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var ss=O("Raydium_price");var et=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},Ce=et;Ce.SOL=new et(Rt);import Pr from"big.js";import ds from"bn.js";var ks=O("Raydium_amount"),Ss=ge(Pr);import kr from"bn.js";var Bs=new L(new kr(100));import{PublicKey as Ks}from"@solana/web3.js";import Zs from"bn.js";var Ft=new q(0),Sr=new q(1),lu=new q(2),mu=new q(3),pu=new q(5),xr=new q(10),fu=new q(100),du=new q(1e3),gu=new q(1e4),Vt=9007199254740991;function $(e){let t=O("Raydium_parseBigNumberish");if(e instanceof q)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new q(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=Vt||e<=-Vt)&&t.logWithError(`BigNumberish number overflow: ${e}`),new q(String(e))):typeof e=="bigint"?new q(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new q(0))}var Nr=R([V("instruction"),d("amountIn"),d("minAmountOut")]),Lr=R([V("instruction"),d("maxAmountIn"),d("amountOut")]),wu=R([V("instruction"),V("nonce")]),Tr=R([V("instruction"),V("nonce"),d("startTime")]),Pu=R([d("status"),d("nonce"),d("maxOrder"),d("depth"),d("baseDecimal"),d("quoteDecimal"),d("state"),d("resetFlag"),d("minSize"),d("volMaxCutRatio"),d("amountWaveRatio"),d("baseLotSize"),d("quoteLotSize"),d("minPriceMultiplier"),d("maxPriceMultiplier"),d("systemDecimalValue"),d("minSeparateNumerator"),d("minSeparateDenominator"),d("tradeFeeNumerator"),d("tradeFeeDenominator"),d("pnlNumerator"),d("pnlDenominator"),d("swapFeeNumerator"),d("swapFeeDenominator"),d("baseNeedTakePnl"),d("quoteNeedTakePnl"),d("quoteTotalPnl"),d("baseTotalPnl"),d("poolOpenTime"),d("punishPcAmount"),d("punishCoinAmount"),d("orderbookToInitTime"),z("swapBaseInAmount"),z("swapQuoteOutAmount"),d("swapBase2QuoteFee"),z("swapQuoteInAmount"),z("swapBaseOutAmount"),d("swapQuote2BaseFee"),A("baseVault"),A("quoteVault"),A("baseMint"),A("quoteMint"),A("lpMint"),A("openOrders"),A("marketId"),A("marketProgramId"),A("targetOrders"),A("withdrawQueue"),A("lpVault"),A("owner"),d("lpReserve"),pe(d(),3,"padding")]),xu=R([d("accountType"),d("status"),d("nonce"),d("maxOrder"),d("depth"),d("baseDecimal"),d("quoteDecimal"),d("state"),d("resetFlag"),d("minSize"),d("volMaxCutRatio"),d("amountWaveRatio"),d("baseLotSize"),d("quoteLotSize"),d("minPriceMultiplier"),d("maxPriceMultiplier"),d("systemDecimalsValue"),d("abortTradeFactor"),d("priceTickMultiplier"),d("priceTick"),d("minSeparateNumerator"),d("minSeparateDenominator"),d("tradeFeeNumerator"),d("tradeFeeDenominator"),d("pnlNumerator"),d("pnlDenominator"),d("swapFeeNumerator"),d("swapFeeDenominator"),d("baseNeedTakePnl"),d("quoteNeedTakePnl"),d("quoteTotalPnl"),d("baseTotalPnl"),d("poolOpenTime"),d("punishPcAmount"),d("punishCoinAmount"),d("orderbookToInitTime"),z("swapBaseInAmount"),z("swapQuoteOutAmount"),z("swapQuoteInAmount"),z("swapBaseOutAmount"),d("swapQuote2BaseFee"),d("swapBase2QuoteFee"),A("baseVault"),A("quoteVault"),A("baseMint"),A("quoteMint"),A("lpMint"),A("modelDataAccount"),A("openOrders"),A("marketId"),A("marketProgramId"),A("targetOrders"),A("owner"),pe(d(),64,"padding")]),Br=R([V("instruction"),d("baseAmountIn"),d("quoteAmountIn"),d("fixedSide")]),Ar=R([V("instruction"),d("amountIn")]);var ku=R([d("fee")]);var qu=O("Raydium_liquidity_instruction");function Ut({poolKeys:e}){let t=R([V("instruction"),V("simulateType")]),n=Buffer.alloc(t.span);t.encode({instruction:12,simulateType:0},n);let r=[U({pubkey:new J(e.id),isWritable:!1}),U({pubkey:new J(e.authority),isWritable:!1}),U({pubkey:new J(e.openOrders),isWritable:!1}),U({pubkey:new J(e.vault.A),isWritable:!1}),U({pubkey:new J(e.vault.B),isWritable:!1}),U({pubkey:new J(e.mintLp.address),isWritable:!1}),U({pubkey:new J(e.marketId),isWritable:!1}),U({pubkey:new J(e.marketEventQueue),isWritable:!1})];return{instruction:new Ir({programId:new J(e.programId),keys:r,data:n})}}import he from"bn.js";function _r({programId:e}){let{publicKey:t}=me([Buffer.from("amm_config_account_seed","utf-8")],e);return t}function oe({name:e,programId:t,marketId:n}){let{publicKey:r}=me([t.toBuffer(),n.toBuffer(),Buffer.from(e,"utf-8")],t);return r}function vr({programId:e,marketId:t}){let{publicKey:n}=me([e.toBuffer(),t.toBuffer(),Buffer.from("open_order_associated_seed","utf-8")],e);return n}function Wr({programId:e}){return me([Buffer.from([97,109,109,32,97,117,116,104,111,114,105,116,121])],e)}function Gu({version:e,marketVersion:t,marketId:n,baseMint:r,quoteMint:i,baseDecimals:o,quoteDecimals:s,programId:u,marketProgramId:c}){let a=oe({name:"amm_associated_seed",programId:u,marketId:n}),l=oe({name:"lp_mint_associated_seed",programId:u,marketId:n}),{publicKey:m,nonce:p}=Wr({programId:u}),g=oe({name:"coin_vault_associated_seed",programId:u,marketId:n}),P=oe({name:"pc_vault_associated_seed",programId:u,marketId:n}),y=oe({name:"temp_lp_token_associated_seed",programId:u,marketId:n}),_=vr({programId:u,marketId:n}),N=oe({name:"target_associated_seed",programId:u,marketId:n}),F=oe({name:"withdraw_associated_seed",programId:u,marketId:n}),{publicKey:x}=mt({programId:c,marketId:n});return{id:a,baseMint:r,quoteMint:i,lpMint:l,baseDecimals:o,quoteDecimals:s,lpDecimals:o,version:e,programId:u,authority:m,nonce:p,baseVault:g,quoteVault:P,lpVault:y,openOrders:_,targetOrders:N,withdrawQueue:F,marketVersion:t,marketProgramId:c,marketId:n,marketAuthority:x,lookupTableAccount:Er.default,configId:_r({programId:u})}}var tt;async function Qu({connection:e,poolKeysList:t,config:n}){tt||(tt=new Ne({connection:e}),await tt.initStableModelLayout());let r=t.map(s=>Ut({poolKeys:s}));return(await at(e,r.ma