@gardenfi/core 0.3.0-beta.9 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +19 -16
- package/dist/index.js +10713 -6933
- package/dist/src/index.d.ts +5 -4
- package/dist/src/lib/bitcoin/htlc.d.ts +1 -0
- package/dist/src/lib/{garden → blockNumberFetcher}/blockNumber.d.ts +2 -2
- package/dist/src/lib/constants.d.ts +13 -0
- package/dist/src/lib/evm/htlc/evmHTLC.d.ts +54 -54
- package/dist/src/lib/evm/relay/evmRelay.d.ts +3 -4
- package/dist/src/lib/evm/relay/evmRelay.types.d.ts +2 -1
- package/dist/src/lib/garden/garden.d.ts +26 -32
- package/dist/src/lib/garden/garden.types.d.ts +60 -8
- package/dist/src/lib/{garden/orderStatusParser.d.ts → orderStatusParser.d.ts} +3 -2
- package/dist/src/lib/secretManager/secretManager.d.ts +12 -7
- package/dist/src/lib/secretManager/secretManager.types.d.ts +18 -4
- package/dist/src/lib/switchOrAddNetwork.d.ts +53 -0
- package/dist/src/lib/utils.d.ts +4 -16
- package/package.json +7 -7
package/dist/index.cjs
CHANGED
|
@@ -1,31 +1,34 @@
|
|
|
1
|
-
"use strict";var Ds=Object.defineProperty;var $s=(e,t,r)=>t in e?Ds(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var mt=(e,t,r)=>$s(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("@catalogfi/utils"),X=require("@gardenfi/orderbook"),we=require("@gardenfi/utils"),He=require("viem"),Hs=require("varuint-bitcoin"),zs=require("tiny-secp256k1"),_i=require("bitcoinjs-lib"),kn=require("@catalogfi/wallets"),Gs=require("bignumber.js");function ln(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const Pn=ln(Hs),at=ln(zs),oe=ln(_i);var ce=(e=>(e.Idle="Idle",e.Initiate="Initiate",e.Redeem="Redeem",e.Refund="Refund",e))(ce||{});function dt(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}const wi="2.21.41";let Ot={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${wi}`};class Z extends Error{constructor(t,r={}){var u;const n=(()=>{var l;return r.cause instanceof Z?r.cause.details:(l=r.cause)!=null&&l.message?r.cause.message:r.details})(),i=r.cause instanceof Z&&r.cause.docsPath||r.docsPath,a=(u=Ot.getDocsUrl)==null?void 0:u.call(Ot,{...r,docsPath:i}),f=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...a?[`Docs: ${a}`]:[],...n?[`Details: ${n}`]:[],...Ot.version?[`Version: ${Ot.version}`]:[]].join(`
|
|
2
|
-
`);super(f,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=n,this.docsPath=i,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=t,this.version=wi}walk(t){return xi(this,t)}}function xi(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?xi(e.cause,t):t?null:e}class js extends Z{constructor({max:t,min:r,signed:n,size:i,value:a}){super(`Number "${a}" is not in safe ${i?`${i*8}-bit ${n?"signed":"unsigned"} `:""}integer range ${t?`(${r} to ${t})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}}class Ws extends Z{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function Yt(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function Bt(e){return Yt(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function cr(e,{dir:t="left"}={}){let r=typeof e=="string"?e.replace("0x",""):e,n=0;for(let i=0;i<r.length-1&&r[t==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=t==="left"?r.slice(n):r.slice(0,r.length-n),typeof e=="string"?(r.length===1&&t==="right"&&(r=`${r}0`),`0x${r.length%2===1?`0${r}`:r}`):r}class qs extends Z{constructor({offset:t,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}}class vi extends Z{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${t}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}}function Rt(e,{dir:t,size:r=32}={}){return typeof e=="string"?Vs(e,{dir:t,size:r}):Ks(e,{dir:t,size:r})}function Vs(e,{dir:t,size:r=32}={}){if(r===null)return e;const n=e.replace("0x","");if(n.length>r*2)throw new vi({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function Ks(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new vi({size:e.length,targetSize:r,type:"bytes"});const n=new Uint8Array(r);for(let i=0;i<r;i++){const a=t==="right";n[a?i:r-i-1]=e[a?i:e.length-i-1]}return n}const Ys=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function W(e,t={}){return typeof e=="number"||typeof e=="bigint"?Ei(e,t):typeof e=="string"?Qs(e,t):typeof e=="boolean"?Js(e,t):Ze(e,t)}function Js(e,t={}){const r=`0x${Number(e)}`;return typeof t.size=="number"?(Tt(r,{size:t.size}),Rt(r,{size:t.size})):r}function Ze(e,t={}){let r="";for(let i=0;i<e.length;i++)r+=Ys[e[i]];const n=`0x${r}`;return typeof t.size=="number"?(Tt(n,{size:t.size}),Rt(n,{dir:"right",size:t.size})):n}function Ei(e,t={}){const{signed:r,size:n}=t,i=BigInt(e);let a;n?r?a=(1n<<BigInt(n)*8n-1n)-1n:a=2n**(BigInt(n)*8n)-1n:typeof e=="number"&&(a=BigInt(Number.MAX_SAFE_INTEGER));const f=typeof a=="bigint"&&r?-a-1n:0;if(a&&i>a||i<f){const l=typeof e=="bigint"?"n":"";throw new js({max:a?`${a}${l}`:void 0,min:`${f}${l}`,signed:r,size:n,value:`${e}${l}`})}const u=`0x${(r&&i<0?(1n<<BigInt(n*8))+BigInt(i):i).toString(16)}`;return n?Rt(u,{size:n}):u}const Xs=new TextEncoder;function Qs(e,t={}){const r=Xs.encode(e);return Ze(r,t)}const Zs=new TextEncoder;function Bi(e,t={}){return typeof e=="number"||typeof e=="bigint"?to(e,t):typeof e=="boolean"?eo(e,t):Yt(e)?ft(e,t):Si(e,t)}function eo(e,t={}){const r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(Tt(r,{size:t.size}),Rt(r,{size:t.size})):r}const Me={zero:48,nine:57,A:65,F:70,a:97,f:102};function Cn(e){if(e>=Me.zero&&e<=Me.nine)return e-Me.zero;if(e>=Me.A&&e<=Me.F)return e-(Me.A-10);if(e>=Me.a&&e<=Me.f)return e-(Me.a-10)}function ft(e,t={}){let r=e;t.size&&(Tt(r,{size:t.size}),r=Rt(r,{dir:"right",size:t.size}));let n=r.slice(2);n.length%2&&(n=`0${n}`);const i=n.length/2,a=new Uint8Array(i);for(let f=0,u=0;f<i;f++){const l=Cn(n.charCodeAt(u++)),b=Cn(n.charCodeAt(u++));if(l===void 0||b===void 0)throw new Z(`Invalid byte sequence ("${n[u-2]}${n[u-1]}" in "${n}").`);a[f]=l*16+b}return a}function to(e,t){const r=Ei(e,t);return ft(r)}function Si(e,t={}){const r=Zs.encode(e);return typeof t.size=="number"?(Tt(r,{size:t.size}),Rt(r,{dir:"right",size:t.size})):r}function Tt(e,{size:t}){if(Bt(e)>t)throw new Ws({givenSize:Bt(e),maxSize:t})}function xt(e,t={}){const{signed:r}=t;t.size&&Tt(e,{size:t.size});const n=BigInt(e);if(!r)return n;const i=(e.length-2)/2,a=(1n<<BigInt(i)*8n-1n)-1n;return n<=a?n:n-BigInt(`0x${"f".padStart(i*2,"f")}`)-1n}function lr(e,t={}){return Number(xt(e,t))}function hn(e,t){return({exclude:r,format:n})=>({exclude:r,format:i=>{const a=t(i);if(r)for(const f of r)delete a[f];return{...a,...n(i)}},type:e})}const Ai={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function dn(e){const t={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?lr(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?lr(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?Ai[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(t.authorizationList=no(e.authorizationList)),t.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof t.v=="bigint"){if(t.v===0n||t.v===27n)return 0;if(t.v===1n||t.v===28n)return 1;if(t.v>=35n)return t.v%2n===0n?1:0}})(),t.type==="legacy"&&(delete t.accessList,delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas,delete t.yParity),t.type==="eip2930"&&(delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas),t.type==="eip1559"&&delete t.maxFeePerBlobGas,t}const ro=hn("transaction",dn);function no(e){return e.map(t=>({contractAddress:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function io(e){var r;const t=(r=e.transactions)==null?void 0:r.map(n=>typeof n=="string"?n:dn(n));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:t,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const so=hn("block",io);function oo(e,{args:t,eventName:r}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...r?{args:t,eventName:r}:{}}}const ao={"0x0":"reverted","0x1":"success"};function fo(e){const t={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(r=>oo(r)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?lr(e.transactionIndex):null,status:e.status?ao[e.status]:null,type:e.type?Ai[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}const uo=hn("transactionReceipt",fo),pn=2n**256n-1n;function Jt(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}class Ln extends Z{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class co extends Z{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class lo extends Z{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const ho={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new lo({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new co({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Ln({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Ln({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function Ii(e,{recursiveReadLimit:t=8192}={}){const r=Object.create(ho);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}function ut(e,t="hex"){const r=Ri(e),n=Ii(new Uint8Array(r.length));return r.encode(n),t==="hex"?Ze(n.bytes):n.bytes}function Ri(e){return Array.isArray(e)?po(e.map(t=>Ri(t))):bo(e)}function po(e){const t=e.reduce((i,a)=>i+a.length,0),r=Ti(t);return{length:t<=55?1+t:1+r+t,encode(i){t<=55?i.pushByte(192+t):(i.pushByte(247+r),r===1?i.pushUint8(t):r===2?i.pushUint16(t):r===3?i.pushUint24(t):i.pushUint32(t));for(const{encode:a}of e)a(i)}}}function bo(e){const t=typeof e=="string"?ft(e):e,r=Ti(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(i){t.length===1&&t[0]<128?i.pushBytes(t):t.length<=55?(i.pushByte(128+t.length),i.pushBytes(t)):(i.pushByte(183+r),r===1?i.pushUint8(t.length):r===2?i.pushUint16(t.length):r===3?i.pushUint24(t.length):i.pushUint32(t.length),i.pushBytes(t))}}}function Ti(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new Z("Length is too large.")}const yo={ether:-9,wei:9};function go(e,t){let r=e.toString();const n=r.startsWith("-");n&&(r=r.slice(1)),r=r.padStart(t,"0");let[i,a]=[r.slice(0,r.length-t),r.slice(r.length-t)];return a=a.replace(/(0+)$/,""),`${n?"-":""}${i||"0"}${a?`.${a}`:""}`}function Zr(e,t="wei"){return go(e,yo[t])}function mo(e){const t=Object.entries(e).map(([n,i])=>i===void 0||i===!1?null:[n,i]).filter(Boolean),r=t.reduce((n,[i])=>Math.max(n,i.length),0);return t.map(([n,i])=>` ${`${n}:`.padEnd(r+1)} ${i}`).join(`
|
|
3
|
-
|
|
4
|
-
`),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(Di,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class $i extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}}const ir=BigInt(2**32-1),Dn=BigInt(32);function zo(e,t=!1){return t?{h:Number(e&ir),l:Number(e>>Dn&ir)}:{h:Number(e>>Dn&ir)|0,l:Number(e&ir)|0}}function Go(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){const{h:a,l:f}=zo(e[i],t);[r[i],n[i]]=[a,f]}return[r,n]}const jo=(e,t,r)=>e<<r|t>>>32-r,Wo=(e,t,r)=>t<<r|e>>>32-r,qo=(e,t,r)=>t<<r-32|e>>>64-r,Vo=(e,t,r)=>e<<r-32|t>>>64-r,Hi=[],zi=[],Gi=[],Ko=BigInt(0),Ft=BigInt(1),Yo=BigInt(2),Jo=BigInt(7),Xo=BigInt(256),Qo=BigInt(113);for(let e=0,t=Ft,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],Hi.push(2*(5*n+r)),zi.push((e+1)*(e+2)/2%64);let i=Ko;for(let a=0;a<7;a++)t=(t<<Ft^(t>>Jo)*Qo)%Xo,t&Yo&&(i^=Ft<<(Ft<<BigInt(a))-Ft);Gi.push(i)}const[Zo,ea]=Go(Gi,!0),$n=(e,t,r)=>r>32?qo(e,t,r):jo(e,t,r),Hn=(e,t,r)=>r>32?Vo(e,t,r):Wo(e,t,r);function ta(e,t=24){const r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let f=0;f<10;f++)r[f]=e[f]^e[f+10]^e[f+20]^e[f+30]^e[f+40];for(let f=0;f<10;f+=2){const u=(f+8)%10,l=(f+2)%10,b=r[l],g=r[l+1],m=$n(b,g,1)^r[u],v=Hn(b,g,1)^r[u+1];for(let A=0;A<50;A+=10)e[f+A]^=m,e[f+A+1]^=v}let i=e[2],a=e[3];for(let f=0;f<24;f++){const u=zi[f],l=$n(i,a,u),b=Hn(i,a,u),g=Hi[f];i=e[g],a=e[g+1],e[g]=l,e[g+1]=b}for(let f=0;f<50;f+=10){for(let u=0;u<10;u++)r[u]=e[f+u];for(let u=0;u<10;u++)e[f+u]^=~r[(u+2)%10]&r[(u+4)%10]}e[0]^=Zo[n],e[1]^=ea[n]}r.fill(0)}class mn extends Li{constructor(t,r,n,i=!1,a=24){if(super(),this.blockLen=t,this.suffix=r,this.outputLen=n,this.enableXOF=i,this.rounds=a,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,On(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Eo(this.state)}keccak(){Fn||Un(this.state32),ta(this.state32,this.rounds),Fn||Un(this.state32),this.posOut=0,this.pos=0}update(t){hr(this);const{blockLen:r,state:n}=this;t=yn(t);const i=t.length;for(let a=0;a<i;){const f=Math.min(r-this.pos,i-a);for(let u=0;u<f;u++)n[this.pos++]^=t[a++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:r,pos:n,blockLen:i}=this;t[n]^=r,r&128&&n===i-1&&this.keccak(),t[i-1]^=128,this.keccak()}writeInto(t){hr(this,!1),bn(t),this.finish();const r=this.state,{blockLen:n}=this;for(let i=0,a=t.length;i<a;){this.posOut>=n&&this.keccak();const f=Math.min(n-this.posOut,a-i);t.set(r.subarray(this.posOut,this.posOut+f),i),this.posOut+=f,i+=f}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return On(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Ci(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:r,suffix:n,outputLen:i,rounds:a,enableXOF:f}=this;return t||(t=new mn(r,n,i,f,a)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=n,t.outputLen=i,t.enableXOF=f,t.destroyed=this.destroyed,t}}const ra=(e,t,r)=>Oi(()=>new mn(t,e,r)),na=ra(1,136,256/8);function ia(e,t){return na(Yt(e,{strict:!1})?Bi(e):e)}const Ur=new $i(8192);function sa(e,t){if(Ur.has(`${e}.${t}`))return Ur.get(`${e}.${t}`);const r=e.substring(2).toLowerCase(),n=ia(Si(r)),i=r.split("");for(let f=0;f<40;f+=2)n[f>>1]>>4>=8&&i[f]&&(i[f]=i[f].toUpperCase()),(n[f>>1]&15)>=8&&i[f+1]&&(i[f+1]=i[f+1].toUpperCase());const a=`0x${i.join("")}`;return Ur.set(`${e}.${t}`,a),a}const oa=/^0x[a-fA-F0-9]{40}$/,Nr=new $i(8192);function lt(e,t){const{strict:r=!0}=t??{},n=`${e}.${r}`;if(Nr.has(n))return Nr.get(n);const i=oa.test(e)?e.toLowerCase()===e?!0:r?sa(e)===e:!0:!1;return Nr.set(n,i),i}function aa(e,t,r,{strict:n}={}){return Yt(e,{strict:!1})?ua(e,t,r,{strict:n}):fa(e,t,r,{strict:n})}function ji(e,t,r){if(Bt(e)!==r-t)throw new qs({offset:r,position:"end",size:Bt(e)})}function fa(e,t,r,{strict:n}={}){const i=e.slice(t,r);return n&&ji(i,t,r),i}function ua(e,t,r,{strict:n}={}){const i=`0x${e.replace("0x","").slice(t*2,r*2)}`;return n&&ji(i,t,r),i}function ca(e){const{authorizationList:t}=e;if(t)for(const r of t){const{contractAddress:n,chainId:i}=r;if(!lt(n))throw new ct({address:n});if(i<0)throw new wr({chainId:i})}_n(e)}function la(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Mi;for(const r of t){const n=Bt(r),i=lr(aa(r,0,1));if(n!==32)throw new No({hash:r,size:n});if(i!==Ni)throw new Mo({hash:r,version:i})}}_n(e)}function _n(e){const{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:n,to:i}=e;if(t<=0)throw new wr({chainId:t});if(i&&!lt(i))throw new ct({address:i});if(n&&n>pn)throw new xr({maxFeePerGas:n});if(r&&n&&r>n)throw new Di({maxFeePerGas:n,maxPriorityFeePerGas:r})}function ha(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:a}=e;if(t<=0)throw new wr({chainId:t});if(a&&!lt(a))throw new ct({address:a});if(r||i)throw new Z("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>pn)throw new xr({maxFeePerGas:n})}function da(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:a}=e;if(a&&!lt(a))throw new ct({address:a});if(typeof t<"u"&&t<=0)throw new wr({chainId:t});if(r||i)throw new Z("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>pn)throw new xr({maxFeePerGas:n})}function pa(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new wo({transaction:e})}function vr(e){if(!e||e.length===0)return[];const t=[];for(let r=0;r<e.length;r++){const{address:n,storageKeys:i}=e[r];for(let a=0;a<i.length;a++)if(i[a].length-2!==64)throw new xo({storageKey:i[a]});if(!lt(n,{strict:!1}))throw new ct({address:n});t.push([n,i])}return t}function ba(e,t){const r=pa(e);return r==="eip1559"?ma(e,t):r==="eip2930"?_a(e,t):r==="eip4844"?ga(e,t):r==="eip7702"?ya(e,t):wa(e,t)}function ya(e,t){const{authorizationList:r,chainId:n,gas:i,nonce:a,to:f,value:u,maxFeePerGas:l,maxPriorityFeePerGas:b,accessList:g,data:m}=e;ca(e);const v=vr(g),A=Ho(r);return Jt(["0x04",ut([W(n),a?W(a):"0x",b?W(b):"0x",l?W(l):"0x",i?W(i):"0x",f??"0x",u?W(u):"0x",m??"0x",v,A,...Xt(e,t)])])}function ga(e,t){const{chainId:r,gas:n,nonce:i,to:a,value:f,maxFeePerBlobGas:u,maxFeePerGas:l,maxPriorityFeePerGas:b,accessList:g,data:m}=e;la(e);let v=e.blobVersionedHashes,A=e.sidecars;if(e.blobs&&(typeof v>"u"||typeof A>"u")){const O=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(S=>Ze(S)),L=e.kzg,U=ki({blobs:O,kzg:L});if(typeof v>"u"&&(v=Fo({commitments:U})),typeof A>"u"){const S=Pi({blobs:O,commitments:U,kzg:L});A=$o({blobs:O,commitments:U,proofs:S})}}const B=vr(g),P=[W(r),i?W(i):"0x",b?W(b):"0x",l?W(l):"0x",n?W(n):"0x",a??"0x",f?W(f):"0x",m??"0x",B,u?W(u):"0x",v??[],...Xt(e,t)],T=[],C=[],F=[];if(A)for(let O=0;O<A.length;O++){const{blob:L,commitment:U,proof:S}=A[O];T.push(L),C.push(U),F.push(S)}return Jt(["0x03",ut(A?[P,T,C,F]:P)])}function ma(e,t){const{chainId:r,gas:n,nonce:i,to:a,value:f,maxFeePerGas:u,maxPriorityFeePerGas:l,accessList:b,data:g}=e;_n(e);const m=vr(b),v=[W(r),i?W(i):"0x",l?W(l):"0x",u?W(u):"0x",n?W(n):"0x",a??"0x",f?W(f):"0x",g??"0x",m,...Xt(e,t)];return Jt(["0x02",ut(v)])}function _a(e,t){const{chainId:r,gas:n,data:i,nonce:a,to:f,value:u,accessList:l,gasPrice:b}=e;ha(e);const g=vr(l),m=[W(r),a?W(a):"0x",b?W(b):"0x",n?W(n):"0x",f??"0x",u?W(u):"0x",i??"0x",g,...Xt(e,t)];return Jt(["0x01",ut(m)])}function wa(e,t){const{chainId:r=0,gas:n,data:i,nonce:a,to:f,value:u,gasPrice:l}=e;da(e);let b=[a?W(a):"0x",l?W(l):"0x",n?W(n):"0x",f??"0x",u?W(u):"0x",i??"0x"];if(t){const g=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+t.v-27n);const A=27n+(t.v===27n?0n:1n);if(t.v!==A)throw new _o({v:t.v});return A})(),m=cr(t.r),v=cr(t.s);b=[...b,W(g),m==="0x00"?"0x":m,v==="0x00"?"0x":v]}else r>0&&(b=[...b,W(r),"0x","0x"]);return ut(b)}function Xt(e,t){const r=t??e,{v:n,yParity:i}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof n>"u"&&typeof i>"u")return[];const a=cr(r.r),f=cr(r.s);return[typeof i=="number"?i?W(1):"0x":n===0n?"0x":n===1n?W(1):n===27n?"0x":W(1),a==="0x00"?"0x":a,f==="0x00"?"0x":f]}const xa={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},va={block:so({format(e){var r;return{transactions:(r=e.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const i=dn(n);return i.typeHex==="0x7e"&&(i.isSystemTx=n.isSystemTx,i.mint=n.mint?xt(n.mint):void 0,i.sourceHash=n.sourceHash,i.type="deposit"),i}),stateRoot:e.stateRoot}}}),transaction:ro({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?xt(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:uo({format(e){return{l1GasPrice:e.l1GasPrice?xt(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?xt(e.l1GasUsed):null,l1Fee:e.l1Fee?xt(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function Ea(e,t){return Aa(e)?Sa(e):ba(e,t)}const Ba={transaction:Ea};function Sa(e){Ia(e);const{sourceHash:t,data:r,from:n,gas:i,isSystemTx:a,mint:f,to:u,value:l}=e,b=[t,n,u??"0x",f?W(f):"0x",l?W(l):"0x",i?W(i):"0x",a?"0x1":"0x",r??"0x"];return Jt(["0x7e",ut(b)])}function Aa(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function Ia(e){const{from:t,to:r}=e;if(t&&!lt(t))throw new ct({address:t});if(r&&!lt(r))throw new ct({address:r})}const dr={contracts:xa,formatters:va,serializers:Ba},Ra=dt({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),Ta=dt({id:421614,name:"Arbitrum Sepolia",nativeCurrency:{name:"Arbitrum Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://sepolia.arbiscan.io",apiUrl:"https://api-sepolia.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:81930}},testnet:!0}),Ut=1,ka=dt({...dr,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...dr.contracts,disputeGameFactory:{[Ut]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Ut]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Ut]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Ut]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:Ut}),Nt=11155111,Pa=dt({...dr,id:84532,network:"base-sepolia",name:"Base Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://sepolia.basescan.org",apiUrl:"https://api-sepolia.basescan.org/api"}},contracts:{...dr.contracts,disputeGameFactory:{[Nt]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[Nt]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[Nt]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[Nt]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:Nt}),Ca=dt({id:80084,name:"Berachain bArtio",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:109269}},rpcUrls:{default:{http:["https://bartio.rpc.berachain.com"]}},blockExplorers:{default:{name:"Berachain bArtio Beratrail",url:"https://bartio.beratrail.io"}},testnet:!0}),La=dt({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://cloudflare-eth.com"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xce01f8eee7E479C928F8919abD53E553a36CeF67",blockCreated:19258213},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),Oa=dt({id:11155111,name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.drpc.org"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xc8Af999e38273D658BE1b921b88A9Ddf005769cC",blockCreated:5317080}},testnet:!0});function en(e){return typeof e=="string"&&(e=Buffer.from(e,"hex")),e.length===32?e:e.subarray(1,33)}function _t(e,t){if(!e)throw new Error(t)}function Fa(e){return Buffer.concat([Uint8Array.from([192]),Ua(e)])}function Ua(e){const t=Pn.encodingLength(e.length),r=Buffer.allocUnsafe(t);return Pn.encode(e.length,r),Buffer.concat([r,e])}function Na(e,t){if(e.compare(t)>0){const r=e;e=t,t=r}return[e,t]}const st=e=>e.length===64?e:e.slice(2),Ma=e=>{if(!e)return!1;try{const t=Buffer.from(e,"hex");return at.isPoint(t)}catch{return!1}},Da={...Oa,rpcUrls:{default:{http:["https://ethereum-sepolia-rpc.publicnode.com"]}}},Wi={ethereum:La,ethereum_arbitrum:Ra,ethereum_sepolia:Da,arbitrum_sepolia:Ta,ethereum_localnet:X.EthereumLocalnet,arbitrum_localnet:X.ArbitrumLocalnet,base_sepolia:Pa,base:ka,bera_testnet:Ca},$a=async(e,t)=>{var n;const r=Wi[e];if(r)try{if(r.id===((n=t.chain)==null?void 0:n.id))return k.Ok({message:"Already on the network",walletClient:t});await t.switchChain({id:r.id});const i=He.createWalletClient({account:t.account,chain:r,transport:He.custom(window.ethereum)});return k.Ok({message:"Switched chain",walletClient:i})}catch(i){if(Ha(i))try{await t.addChain({chain:r});const a=He.createWalletClient({account:t.account,chain:r,transport:He.custom(window.ethereum)});return k.Ok({message:"Added network",walletClient:a})}catch{return k.Err("Failed to add network")}else return k.Err("Failed to switch network")}else return k.Err("Chain not supported")},Ha=e=>typeof e=="object"&&e!==null&&"code"in e&&e.code===4902,qi=(e,t,r,n)=>e+":"+t.toLowerCase()+"::"+r+":"+n.toLowerCase();function za(e,t){if(!e)return!1;const r=t==="mainnet"?oe.networks.bitcoin:oe.networks.testnet;oe.initEccLib(at);try{return oe.address.toOutputScript(e,r),!0}catch{return!1}}var Q=(e=>(e.Created="Created",e.Matched="Matched",e.InitiateDetected="InitiateDetected",e.Initiated="Initiated",e.CounterPartyInitiateDetected="CounterPartyInitiateDetected",e.CounterPartyInitiated="CounterPartyInitiated",e.RedeemDetected="RedeemDetected",e.Redeemed="Redeemed",e.CounterPartyRedeemDetected="CounterPartyRedeemDetected",e.CounterPartyRedeemed="CounterPartyRedeemed",e.Completed="Completed",e.CounterPartySwapExpired="CounterPartySwapExpired",e.Expired="Expired",e.RefundDetected="RefundDetected",e.Refunded="Refunded",e.CounterPartyRefundDetected="CounterPartyRefundDetected",e.CounterPartyRefunded="CounterPartyRefunded",e.Cancelled="Cancelled",e.DeadLineExceeded="DeadLineExceeded",e))(Q||{}),ne=(e=>(e.Idle="Idle",e.InitiateDetected="InitiateDetected",e.Initiated="Initiated",e.RedeemDetected="RedeemDetected",e.Redeemed="Redeemed",e.RefundDetected="RefundDetected",e.Refunded="Refunded",e.Expired="Expired",e))(ne||{});const wn=(e,t,r)=>{const n=tn(e.source_swap,t),i=tn(e.destination_swap,r);if(i===ne.RedeemDetected)return Q.RedeemDetected;if(i===ne.Redeemed)return Q.Redeemed;if(n===ne.Refunded)return Q.Refunded;if(n===ne.RefundDetected)return Q.RefundDetected;if(i===ne.Expired)return Q.CounterPartySwapExpired;if(n===ne.Expired)return Q.Expired;if(i===ne.Refunded)return Q.CounterPartyRefunded;if(i===ne.RefundDetected)return Q.CounterPartyRefundDetected;const a=Number(e.create_order.additional_data.deadline);return i===ne.Initiated?Q.CounterPartyInitiated:i===ne.InitiateDetected?Q.CounterPartyInitiateDetected:qt(a,12)?Q.DeadLineExceeded:n===ne.Initiated?Q.Initiated:qt(a,1)?Q.DeadLineExceeded:n===ne.InitiateDetected?Q.InitiateDetected:n===ne.Redeemed?Q.CounterPartyRedeemed:n===ne.RedeemDetected?Q.CounterPartyRedeemDetected:Q.Matched},tn=(e,t)=>{if(e.redeem_tx_hash)return Number(e.redeem_block_number)?ne.Redeemed:ne.RedeemDetected;if(e.refund_tx_hash)return Number(e.refund_block_number)?ne.Refunded:ne.RefundDetected;if(Number(e.initiate_block_number)){const r=Number(e.initiate_block_number)+e.timelock;if(t>r)return ne.Expired}return e.initiate_tx_hash?Number(e.initiate_block_number)?ne.Initiated:ne.InitiateDetected:ne.Idle},Ga=(e,t,r)=>{const n=wn(e,t,r);return xn(n)},xn=e=>{switch(e){case Q.Matched:return ce.Initiate;case Q.CounterPartyInitiated:case Q.CounterPartyInitiateDetected:case Q.RedeemDetected:return ce.Redeem;case Q.Expired:return ce.Refund;default:return ce.Idle}},qt=(e,t=0)=>{const r=Date.now(),n=e*1e3+t*36e5;return r>=n},Vi=e=>e.filter(t=>{const{source_swap:r,create_order:n}=t,{initiate_tx_hash:i,initiate_block_number:a}=r,{deadline:f}=n.additional_data;return i&&Number(a)?!0:i&&!Number(a)?!qt(Number(f),12):i?!0:!qt(Number(f),1)}),ja=[{inputs:[{internalType:"address",name:"token_",type:"address"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Initiated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"secret",type:"bytes"}],name:"Redeemed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"Refunded",type:"event"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"}],name:"initiate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"initiateWithSignature",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"instantRefund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct HTLC.InitWithSig[]",name:"inits",type:"tuple[]"},{components:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],internalType:"struct HTLC.Redeem[]",name:"redeems",type:"tuple[]"},{components:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],internalType:"struct HTLC.Refund[]",name:"refunds",type:"tuple[]"}],name:"multicall",outputs:[{internalType:"bool[]",name:"results",type:"bool[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orders",outputs:[{internalType:"bool",name:"isFulfilled",type:"bool"},{internalType:"address",name:"initiator",type:"address"},{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"initiatedAt",type:"uint256"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"refund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"}];class Ki{constructor(t,r,n){this.url=new we.Url("/relayer",r),this.auth=n,this.order=t}async init(t){if(!t.account)return k.Err("No account found");if(t.account.address.toLowerCase()!==this.order.source_swap.initiator.toLowerCase())return k.Err("Account address and order initiator mismatch");const{create_order:r,source_swap:n}=this.order;if(!n.amount||!n.redeemer||!r.timelock||!r.secret_hash)return k.Err("Invalid order");const i=we.with0x(r.secret_hash),a=BigInt(r.timelock),f=we.with0x(n.redeemer),u=BigInt(n.amount);try{const l=await this.auth.getToken();if(l.error)return k.Err(l.error);const b=He.getContract({address:we.with0x(this.order.source_swap.asset),abi:ja,client:t}),g=await b.read.token(),m=await we.checkAllowanceAndApprove(Number(u),g,this.order.source_swap.asset,t);if(m.error)return k.Err(m.error);const v=await b.read.eip712Domain(),A=await t.signTypedData({account:t.account,domain:{name:v[1],version:v[2],chainId:Number(v[3]),verifyingContract:v[4]},types:{Initiate:[{name:"redeemer",type:"address"},{name:"timelock",type:"uint256"},{name:"amount",type:"uint256"},{name:"secretHash",type:"bytes32"}]},primaryType:"Initiate",message:{redeemer:f,timelock:a,amount:u,secretHash:i}}),B=await k.Fetcher.post(this.url.endpoint("initiate"),{body:JSON.stringify({order_id:r.create_id,signature:A,perform_on:"Source"}),headers:{Authorization:we.Authorization(l.val),"Content-Type":"application/json"}});return B.error?k.Err(B.error):B.result?k.Ok(B.result):k.Err("Init: No result found")}catch(l){return console.log("init error :",l),k.Err(String(l))}}async redeem(t,r){try{const n=await this.auth.getToken();if(n.error)return k.Err(n.error);const i=await k.Fetcher.post(this.url.endpoint("redeem"),{body:JSON.stringify({order_id:t,secret:k.trim0x(r),perform_on:"Destination"}),headers:{Authorization:we.Authorization(n.val),"Content-Type":"application/json"}});return i.error?k.Err(i.error):i.result?k.Ok(i.result):k.Err("Redeem: No result found")}catch(n){return k.Err(String(n))}}}const Wa=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),qa=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),Va=Buffer.concat([Wa,qa]),Ka=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),zn={failedToCreateInternalPubkey:"failed to create internal pubkey",failedToTweakPubkey:"failed to tweak pubkey"};function Ya(){const e=_i.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),t=at.pointMultiply(Buffer.concat([Buffer.from("04","hex"),Va]),e);if(!t)throw new Error(zn.failedToCreateInternalPubkey);const r=at.pointAdd(Ka,t);if(!r)throw new Error(zn.failedToCreateInternalPubkey);return en(Buffer.from(r))}const me={secretMismatch:"invalid secret",secretHashLenMismatch:"secret hash should be 32 bytes",pubkeyLenMismatch:"pubkey should be 32 bytes",zeroOrNegativeExpiry:"expiry should be greater than 0",htlcAddressGenerationFailed:"failed to generate htlc address",notFunded:"address not funded",noCounterpartySigs:"counterparty signatures are required",counterPartySigNotFound:e=>"counterparty signature not found for utxo "+e,invalidCounterpartySigForUTXO:e=>"invalid counterparty signature for utxo "+e,htlcNotExpired:e=>`HTLC not expired, need more ${e} blocks`,controlBlockGenerationFailed:"failed to generate control block",invalidLeaf:"invalid leaf"},sr=192;oe.initEccLib(at);class Wt{constructor(t,r,n,i,a,f,u,l){this.secretHash=n,this.redeemerPubkey=i,this.initiatorPubkey=a,this.expiry=f,this.signer=t,this.network=u,this.internalPubkey=Ya(),this.initiateAmount=r,this.utxoHashes=l}static async from(t,r,n,i,a,f,u){n=n.startsWith("0x")?n.slice(2):n,_t(n.length===64,me.secretHashLenMismatch),_t(i.length===64||i.length===66,`initiator ${me.pubkeyLenMismatch}`),_t(a.length===64||a.length===66,`redeemer ${me.pubkeyLenMismatch}`),_t(f>0,me.zeroOrNegativeExpiry);const l=await t.getNetwork();return new Wt(t,r,n,en(a).toString("hex"),en(i).toString("hex"),f,l,u)}address(){const{address:t}=oe.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves()});if(!t)throw new Error(me.htlcAddressGenerationFailed);return t}id(){return this.address()}async _buildRawTx(t,r){const n=new oe.Transaction;n.version=2;const i=this.address(),a=await this.signer.getProvider();let f=[];if(this.utxoHashes&&this.utxoHashes.length>0)for(const l of this.utxoHashes){const b=await a.getTransaction(l);for(let g=0;g<b.vout.length;g++){const m=b.vout[g];m.scriptpubkey_address===i&&f.push({txid:b.txid,vout:g,value:m.value,status:{confirmed:!1}})}}else f=await a.getUTXOs(i);const u=f.reduce((l,b)=>l+b.value,0);if(u===0)throw new Error(`${i} ${me.notFunded}`);for(let l=0;l<f.length;l++)n.addInput(Buffer.from(f[l].txid,"hex").reverse(),f[l].vout);return r??(r=await a.suggestFee(i,u,kn.Urgency.MEDIUM)),n.addOutput(oe.address.toOutputScript(t,this.network),u-r),{tx:n,usedUtxos:f}}async buildRawTx(t){return await this._buildRawTx(await this.signer.getAddress(),t)}getOutputScript(){return oe.address.toOutputScript(this.address(),this.network)}async init(t){return t??(t=await(await this.signer.getProvider()).suggestFee(await this.signer.getAddress(),this.initiateAmount,kn.Urgency.MEDIUM)),await this.signer.send(this.address(),this.initiateAmount,t)}async generateInstantRefundSACP(t,r){const{tx:n,usedUtxos:i}=await this._buildRawTx(t,r),a=this.getOutputScript(),f=oe.Transaction.SIGHASH_SINGLE|oe.Transaction.SIGHASH_ANYONECANPAY,u=this.leafHash(2),l=i.map(g=>g.value),b=or(a,i.length);for(let g=0;g<n.ins.length;g++){const m=n.hashForWitnessV1(g,b,l,f,u),v=await this.signer.signSchnorr(m);n.setWitness(g,[v,v,this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return n.toHex()}async instantRefund(t,r){_t(t.length>0,me.noCounterpartySigs);const{tx:n,usedUtxos:i}=await this.buildRawTx(r);for(const m of i)if(!t.find(v=>v.utxo===m.txid))throw new Error(me.counterPartySigNotFound(m.txid));const a=this.getOutputScript(),f=oe.Transaction.SIGHASH_DEFAULT,u=this.leafHash(2),l=i.map(m=>m.value),b=or(a,i.length);for(let m=0;m<n.ins.length;m++){const v=n.hashForWitnessV1(m,b,l,f,u);if(!at.verifySchnorr(v,Buffer.from(this.redeemerPubkey,"hex"),Buffer.from(t[m].sig,"hex")))throw new Error(me.invalidCounterpartySigForUTXO(t[m].utxo));const A=await this.signer.signSchnorr(v),B=Buffer.from(n.ins[m].hash).reverse().toString("hex"),P=t.find(T=>T.utxo===B);if(!P)throw new Error(me.counterPartySigNotFound(B));n.setWitness(m,[Buffer.from(P.sig,"hex"),A,this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async redeem(t,r,n){_t(oe.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,me.secretMismatch);const{tx:i,usedUtxos:a}=await this._buildRawTx(r??await this.signer.getAddress(),n),f=this.leafHash(1),u=a.map(m=>m.value),l=or(this.getOutputScript(),a.length),b=oe.Transaction.SIGHASH_DEFAULT;for(let m=0;m<i.ins.length;m++){const v=i.hashForWitnessV1(m,l,u,b,f),A=await this.signer.signSchnorr(v);i.setWitness(m,[A,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return await(await this.signer.getProvider()).broadcast(i.toHex())}async refund(t,r){const{tx:n,usedUtxos:i}=await this._buildRawTx(t??await this.signer.getAddress(),r),[a,f]=await this.canRefund(i);if(!a)throw new Error(me.htlcNotExpired(f));const u=this.leafHash(0),l=i.map(v=>v.value),b=or(this.getOutputScript(),i.length),g=oe.Transaction.SIGHASH_DEFAULT;for(let v=0;v<n.ins.length;v++){n.ins[v].sequence=this.expiry;const A=n.hashForWitnessV1(v,b,l,g,u),B=await this.signer.signSchnorr(A);n.setWitness(v,[B,this.refundLeaf(),this.generateControlBlockFor(0)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async canRefund(t){const n=await(await this.signer.getProvider()).getLatestTip();for(const i of t){let a=0;if(i.status.confirmed&&i.status.block_height+this.expiry>n?a=i.status.block_height+this.expiry-n+1:i.status.confirmed||(a=this.expiry+1),a>0)return[!1,a]}return[!0,0]}generateControlBlockFor(t){let r;switch(t){case 1:r=this.redeemLeaf();break;case 0:r=this.refundLeaf();break;case 2:r=this.instantRefundLeaf();break;default:throw new Error(me.invalidLeaf)}const n=oe.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves(),redeem:{output:r,redeemVersion:sr}});if(!n.witness)throw new Error(me.controlBlockGenerationFailed);return n.witness[n.witness.length-1]}leafHash(t){let r=this.redeemLeaf();return t===0&&(r=this.refundLeaf()),t===2&&(r=this.instantRefundLeaf()),oe.crypto.taggedHash("TapLeaf",Fa(r))}refundLeaf(){return oe.script.fromASM(`
|
|
5
|
-
|
|
1
|
+
"use strict";var Gf=Object.defineProperty;var Vf=(e,t,r)=>t in e?Gf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var dr=(e,t,r)=>Vf(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("@catalogfi/utils"),ce=require("@gardenfi/orderbook"),ge=require("@gardenfi/utils"),Pr=require("@catalogfi/wallets"),lt=require("viem"),Jo=require("varuint-bitcoin"),Wf=require("tiny-secp256k1"),Qo=require("bitcoinjs-lib"),zf=require("bignumber.js");function cs(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const Hs=cs(Jo),Qt=cs(Wf),be=cs(Qo);var Pe=(e=>(e.Idle="Idle",e.Initiate="Initiate",e.Redeem="Redeem",e.Refund="Refund",e))(Pe||{});function Xi(e){return typeof e=="string"&&(e=Buffer.from(e,"hex")),e.length===32?e:e.subarray(1,33)}function pr(e,t){if(!e)throw new Error(t)}function qf(e){return Buffer.concat([Uint8Array.from([192]),Kf(e)])}function Kf(e){const t=Hs.encodingLength(e.length),r=Buffer.allocUnsafe(t);return Hs.encode(e.length,r),Buffer.concat([r,e])}function Yf(e,t){if(e.compare(t)>0){const r=e;e=t,t=r}return[e,t]}const Kt=e=>e.length===64?e:e.slice(2),Xf=e=>{if(!e)return!1;try{const t=Buffer.from(e,"hex");return Qt.isPoint(t)}catch{return!1}},Zo=(e,t,r,n)=>e+":"+t.toLowerCase()+"::"+r+":"+n.toLowerCase();function Jf(e,t){if(!e)return!1;const r=t==="mainnet"?be.networks.bitcoin:be.networks.testnet;be.initEccLib(Qt);try{return be.address.toOutputScript(e,r),!0}catch{return!1}}const Qf=e=>{switch(e){case ge.Environment.MAINNET:return Pr.BitcoinNetwork.Mainnet;case ge.Environment.TESTNET:return Pr.BitcoinNetwork.Testnet;default:throw new Error(`Invalid bitcoin network ${e}`)}};var he=(e=>(e.Created="Created",e.Matched="Matched",e.InitiateDetected="InitiateDetected",e.Initiated="Initiated",e.CounterPartyInitiateDetected="CounterPartyInitiateDetected",e.CounterPartyInitiated="CounterPartyInitiated",e.RedeemDetected="RedeemDetected",e.Redeemed="Redeemed",e.CounterPartyRedeemDetected="CounterPartyRedeemDetected",e.CounterPartyRedeemed="CounterPartyRedeemed",e.Completed="Completed",e.CounterPartySwapExpired="CounterPartySwapExpired",e.Expired="Expired",e.RefundDetected="RefundDetected",e.Refunded="Refunded",e.CounterPartyRefundDetected="CounterPartyRefundDetected",e.CounterPartyRefunded="CounterPartyRefunded",e.Cancelled="Cancelled",e.DeadLineExceeded="DeadLineExceeded",e))(he||{}),we=(e=>(e.Idle="Idle",e.InitiateDetected="InitiateDetected",e.Initiated="Initiated",e.RedeemDetected="RedeemDetected",e.Redeemed="Redeemed",e.RefundDetected="RefundDetected",e.Refunded="Refunded",e.Expired="Expired",e))(we||{});const hs=(e,t,r)=>{const n=Ji(e.source_swap,t),i=Ji(e.destination_swap,r);if(i===we.RedeemDetected)return he.RedeemDetected;if(i===we.Redeemed)return he.Redeemed;if(n===we.Refunded)return he.Refunded;if(n===we.RefundDetected)return he.RefundDetected;if(i===we.Expired)return he.CounterPartySwapExpired;if(n===we.Expired)return he.Expired;if(i===we.Refunded)return he.CounterPartyRefunded;if(i===we.RefundDetected)return he.CounterPartyRefundDetected;const s=Number(e.create_order.additional_data.deadline);return i===we.Initiated?he.CounterPartyInitiated:i===we.InitiateDetected?he.CounterPartyInitiateDetected:fn(s,12)?he.DeadLineExceeded:n===we.Initiated?he.Initiated:fn(s,1)?he.DeadLineExceeded:n===we.InitiateDetected?he.InitiateDetected:n===we.Redeemed?he.CounterPartyRedeemed:n===we.RedeemDetected?he.CounterPartyRedeemDetected:he.Matched},Ji=(e,t)=>{if(e.redeem_tx_hash)return Number(e.redeem_block_number)?we.Redeemed:we.RedeemDetected;if(e.refund_tx_hash)return Number(e.refund_block_number)?we.Refunded:we.RefundDetected;if(Number(e.initiate_block_number)){const r=Number(e.initiate_block_number)+e.timelock;if(t>r)return we.Expired}return e.initiate_tx_hash?Number(e.initiate_block_number)?we.Initiated:we.InitiateDetected:we.Idle},Zf=(e,t,r)=>{const n=hs(e,t,r);return ls(n)},ls=e=>{switch(e){case he.Matched:return Pe.Initiate;case he.CounterPartyInitiated:case he.CounterPartyInitiateDetected:case he.RedeemDetected:return Pe.Redeem;case he.Expired:return Pe.Refund;default:return Pe.Idle}},fn=(e,t=0)=>{const r=Date.now(),n=e*1e3+t*36e5;return r>=n},eu=e=>e.filter(t=>!ea(t)),ea=e=>{const{source_swap:t,create_order:r}=e,{initiate_tx_hash:n,initiate_block_number:i}=t,{deadline:s}=r.additional_data;return n&&Number(i)?!1:n&&!Number(i)?fn(Number(s),12):n?!1:fn(Number(s),1)},tu=[{inputs:[{internalType:"address",name:"token_",type:"address"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Initiated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"secret",type:"bytes"}],name:"Redeemed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"Refunded",type:"event"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"}],name:"initiate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"initiateWithSignature",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"instantRefund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct HTLC.InitWithSig[]",name:"inits",type:"tuple[]"},{components:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],internalType:"struct HTLC.Redeem[]",name:"redeems",type:"tuple[]"},{components:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],internalType:"struct HTLC.Refund[]",name:"refunds",type:"tuple[]"}],name:"multicall",outputs:[{internalType:"bool[]",name:"results",type:"bool[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orders",outputs:[{internalType:"bool",name:"isFulfilled",type:"bool"},{internalType:"address",name:"initiator",type:"address"},{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"initiatedAt",type:"uint256"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"refund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"}];class ta{constructor(t,r){this.url=new ge.Url("/relayer",t),this.auth=r}async init(t,r){if(!t.account)return N.Err("No account found");if(t.account.address.toLowerCase()!==r.source_swap.initiator.toLowerCase())return N.Err("Account address and order initiator mismatch");const{create_order:n,source_swap:i}=r;if(!i.amount||!i.redeemer||!n.timelock||!n.secret_hash)return N.Err("Invalid order");const s=ge.with0x(n.secret_hash),o=BigInt(n.timelock),f=ge.with0x(i.redeemer),c=BigInt(i.amount);try{const l=await this.auth.getToken();if(l.error)return N.Err(l.error);const d=lt.getContract({address:ge.with0x(r.source_swap.asset),abi:tu,client:t}),g=await d.read.token(),x=await ge.checkAllowanceAndApprove(Number(c),g,r.source_swap.asset,t);if(x.error)return N.Err(x.error);const y=await d.read.eip712Domain(),O=await t.signTypedData({account:t.account,domain:{name:y[1],version:y[2],chainId:Number(y[3]),verifyingContract:y[4]},types:{Initiate:[{name:"redeemer",type:"address"},{name:"timelock",type:"uint256"},{name:"amount",type:"uint256"},{name:"secretHash",type:"bytes32"}]},primaryType:"Initiate",message:{redeemer:f,timelock:o,amount:c,secretHash:s}}),B=await N.Fetcher.post(this.url.endpoint("initiate"),{body:JSON.stringify({order_id:n.create_id,signature:O,perform_on:"Source"}),headers:{Authorization:ge.Authorization(l.val),"Content-Type":"application/json"}});return B.error?N.Err(B.error):B.result?N.Ok(B.result):N.Err("Init: No result found")}catch(l){return console.log("init error :",l),N.Err(String(l))}}async redeem(t,r){try{const n=await this.auth.getToken();if(n.error)return N.Err(n.error);const i=await N.Fetcher.post(this.url.endpoint("redeem"),{body:JSON.stringify({order_id:t,secret:N.trim0x(r),perform_on:"Destination"}),headers:{Authorization:ge.Authorization(n.val),"Content-Type":"application/json"}});return i.error?N.Err(i.error):i.result?N.Ok(i.result):N.Err("Redeem: No result found")}catch(n){return N.Err(String(n))}}}const ru=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),nu=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),iu=Buffer.concat([ru,nu]),su=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),$s={failedToCreateInternalPubkey:"failed to create internal pubkey",failedToTweakPubkey:"failed to tweak pubkey"};function ou(){const e=Qo.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),t=Qt.pointMultiply(Buffer.concat([Buffer.from("04","hex"),iu]),e);if(!t)throw new Error($s.failedToCreateInternalPubkey);const r=Qt.pointAdd(su,t);if(!r)throw new Error($s.failedToCreateInternalPubkey);return Xi(Buffer.from(r))}var $t=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function au(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function fu(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var me={},Ne={},Tt={},Qn={};Qn.byteLength=hu;Qn.toByteArray=du;Qn.fromByteArray=bu;var ht=[],Qe=[],uu=typeof Uint8Array<"u"?Uint8Array:Array,vi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var yr=0,cu=vi.length;yr<cu;++yr)ht[yr]=vi[yr],Qe[vi.charCodeAt(yr)]=yr;Qe[45]=62;Qe[95]=63;function ra(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function hu(e){var t=ra(e),r=t[0],n=t[1];return(r+n)*3/4-n}function lu(e,t,r){return(t+r)*3/4-r}function du(e){var t,r=ra(e),n=r[0],i=r[1],s=new uu(lu(e,n,i)),o=0,f=i>0?n-4:n,c;for(c=0;c<f;c+=4)t=Qe[e.charCodeAt(c)]<<18|Qe[e.charCodeAt(c+1)]<<12|Qe[e.charCodeAt(c+2)]<<6|Qe[e.charCodeAt(c+3)],s[o++]=t>>16&255,s[o++]=t>>8&255,s[o++]=t&255;return i===2&&(t=Qe[e.charCodeAt(c)]<<2|Qe[e.charCodeAt(c+1)]>>4,s[o++]=t&255),i===1&&(t=Qe[e.charCodeAt(c)]<<10|Qe[e.charCodeAt(c+1)]<<4|Qe[e.charCodeAt(c+2)]>>2,s[o++]=t>>8&255,s[o++]=t&255),s}function pu(e){return ht[e>>18&63]+ht[e>>12&63]+ht[e>>6&63]+ht[e&63]}function yu(e,t,r){for(var n,i=[],s=t;s<r;s+=3)n=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(e[s+2]&255),i.push(pu(n));return i.join("")}function bu(e){for(var t,r=e.length,n=r%3,i=[],s=16383,o=0,f=r-n;o<f;o+=s)i.push(yu(e,o,o+s>f?f:o+s));return n===1?(t=e[r-1],i.push(ht[t>>2]+ht[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(ht[t>>10]+ht[t>>4&63]+ht[t<<2&63]+"=")),i.join("")}var ds={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */ds.read=function(e,t,r,n,i){var s,o,f=i*8-n-1,c=(1<<f)-1,l=c>>1,d=-7,g=r?i-1:0,x=r?-1:1,y=e[t+g];for(g+=x,s=y&(1<<-d)-1,y>>=-d,d+=f;d>0;s=s*256+e[t+g],g+=x,d-=8);for(o=s&(1<<-d)-1,s>>=-d,d+=n;d>0;o=o*256+e[t+g],g+=x,d-=8);if(s===0)s=1-l;else{if(s===c)return o?NaN:(y?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-l}return(y?-1:1)*o*Math.pow(2,s-n)};ds.write=function(e,t,r,n,i,s){var o,f,c,l=s*8-i-1,d=(1<<l)-1,g=d>>1,x=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,y=n?0:s-1,O=n?1:-1,B=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(f=isNaN(t)?1:0,o=d):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+g>=1?t+=x/c:t+=x*Math.pow(2,1-g),t*c>=2&&(o++,c/=2),o+g>=d?(f=0,o=d):o+g>=1?(f=(t*c-1)*Math.pow(2,i),o=o+g):(f=t*Math.pow(2,g-1)*Math.pow(2,i),o=0));i>=8;e[r+y]=f&255,y+=O,f/=256,i-=8);for(o=o<<i|f,l+=i;l>0;e[r+y]=o&255,y+=O,o/=256,l-=8);e[r+y-O]|=B*128};/*!
|
|
2
|
+
* The buffer module from node.js, for the browser.
|
|
3
|
+
*
|
|
4
|
+
* @author Feross Aboukhadijeh <https://feross.org>
|
|
5
|
+
* @license MIT
|
|
6
|
+
*/(function(e){const t=Qn,r=ds,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=f,e.SlowBuffer=U,e.INSPECT_MAX_BYTES=50;const i=2147483647;e.kMaxLength=i,f.TYPED_ARRAY_SUPPORT=s(),!f.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(){try{const h=new Uint8Array(1),a={foo:function(){return 42}};return Object.setPrototypeOf(a,Uint8Array.prototype),Object.setPrototypeOf(h,a),h.foo()===42}catch{return!1}}Object.defineProperty(f.prototype,"parent",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.buffer}}),Object.defineProperty(f.prototype,"offset",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.byteOffset}});function o(h){if(h>i)throw new RangeError('The value "'+h+'" is invalid for option "size"');const a=new Uint8Array(h);return Object.setPrototypeOf(a,f.prototype),a}function f(h,a,u){if(typeof h=="number"){if(typeof a=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return g(h)}return c(h,a,u)}f.poolSize=8192;function c(h,a,u){if(typeof h=="string")return x(h,a);if(ArrayBuffer.isView(h))return O(h);if(h==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h);if(ze(h,ArrayBuffer)||h&&ze(h.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ze(h,SharedArrayBuffer)||h&&ze(h.buffer,SharedArrayBuffer)))return B(h,a,u);if(typeof h=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const p=h.valueOf&&h.valueOf();if(p!=null&&p!==h)return f.from(p,a,u);const E=A(h);if(E)return E;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof h[Symbol.toPrimitive]=="function")return f.from(h[Symbol.toPrimitive]("string"),a,u);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h)}f.from=function(h,a,u){return c(h,a,u)},Object.setPrototypeOf(f.prototype,Uint8Array.prototype),Object.setPrototypeOf(f,Uint8Array);function l(h){if(typeof h!="number")throw new TypeError('"size" argument must be of type number');if(h<0)throw new RangeError('The value "'+h+'" is invalid for option "size"')}function d(h,a,u){return l(h),h<=0?o(h):a!==void 0?typeof u=="string"?o(h).fill(a,u):o(h).fill(a):o(h)}f.alloc=function(h,a,u){return d(h,a,u)};function g(h){return l(h),o(h<0?0:k(h)|0)}f.allocUnsafe=function(h){return g(h)},f.allocUnsafeSlow=function(h){return g(h)};function x(h,a){if((typeof a!="string"||a==="")&&(a="utf8"),!f.isEncoding(a))throw new TypeError("Unknown encoding: "+a);const u=_(h,a)|0;let p=o(u);const E=p.write(h,a);return E!==u&&(p=p.slice(0,E)),p}function y(h){const a=h.length<0?0:k(h.length)|0,u=o(a);for(let p=0;p<a;p+=1)u[p]=h[p]&255;return u}function O(h){if(ze(h,Uint8Array)){const a=new Uint8Array(h);return B(a.buffer,a.byteOffset,a.byteLength)}return y(h)}function B(h,a,u){if(a<0||h.byteLength<a)throw new RangeError('"offset" is outside of buffer bounds');if(h.byteLength<a+(u||0))throw new RangeError('"length" is outside of buffer bounds');let p;return a===void 0&&u===void 0?p=new Uint8Array(h):u===void 0?p=new Uint8Array(h,a):p=new Uint8Array(h,a,u),Object.setPrototypeOf(p,f.prototype),p}function A(h){if(f.isBuffer(h)){const a=k(h.length)|0,u=o(a);return u.length===0||h.copy(u,0,0,a),u}if(h.length!==void 0)return typeof h.length!="number"||zt(h.length)?o(0):y(h);if(h.type==="Buffer"&&Array.isArray(h.data))return y(h.data)}function k(h){if(h>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return h|0}function U(h){return+h!=h&&(h=0),f.alloc(+h)}f.isBuffer=function(a){return a!=null&&a._isBuffer===!0&&a!==f.prototype},f.compare=function(a,u){if(ze(a,Uint8Array)&&(a=f.from(a,a.offset,a.byteLength)),ze(u,Uint8Array)&&(u=f.from(u,u.offset,u.byteLength)),!f.isBuffer(a)||!f.isBuffer(u))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(a===u)return 0;let p=a.length,E=u.length;for(let I=0,L=Math.min(p,E);I<L;++I)if(a[I]!==u[I]){p=a[I],E=u[I];break}return p<E?-1:E<p?1:0},f.isEncoding=function(a){switch(String(a).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},f.concat=function(a,u){if(!Array.isArray(a))throw new TypeError('"list" argument must be an Array of Buffers');if(a.length===0)return f.alloc(0);let p;if(u===void 0)for(u=0,p=0;p<a.length;++p)u+=a[p].length;const E=f.allocUnsafe(u);let I=0;for(p=0;p<a.length;++p){let L=a[p];if(ze(L,Uint8Array))I+L.length>E.length?(f.isBuffer(L)||(L=f.from(L)),L.copy(E,I)):Uint8Array.prototype.set.call(E,L,I);else if(f.isBuffer(L))L.copy(E,I);else throw new TypeError('"list" argument must be an Array of Buffers');I+=L.length}return E};function _(h,a){if(f.isBuffer(h))return h.length;if(ArrayBuffer.isView(h)||ze(h,ArrayBuffer))return h.byteLength;if(typeof h!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof h);const u=h.length,p=arguments.length>2&&arguments[2]===!0;if(!p&&u===0)return 0;let E=!1;for(;;)switch(a){case"ascii":case"latin1":case"binary":return u;case"utf8":case"utf-8":return te(h).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return u*2;case"hex":return u>>>1;case"base64":return Fr(h).length;default:if(E)return p?-1:te(h).length;a=(""+a).toLowerCase(),E=!0}}f.byteLength=_;function m(h,a,u){let p=!1;if((a===void 0||a<0)&&(a=0),a>this.length||((u===void 0||u>this.length)&&(u=this.length),u<=0)||(u>>>=0,a>>>=0,u<=a))return"";for(h||(h="utf8");;)switch(h){case"hex":return Ve(this,a,u);case"utf8":case"utf-8":return V(this,a,u);case"ascii":return ae(this,a,u);case"latin1":case"binary":return et(this,a,u);case"base64":return H(this,a,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return it(this,a,u);default:if(p)throw new TypeError("Unknown encoding: "+h);h=(h+"").toLowerCase(),p=!0}}f.prototype._isBuffer=!0;function S(h,a,u){const p=h[a];h[a]=h[u],h[u]=p}f.prototype.swap16=function(){const a=this.length;if(a%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let u=0;u<a;u+=2)S(this,u,u+1);return this},f.prototype.swap32=function(){const a=this.length;if(a%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let u=0;u<a;u+=4)S(this,u,u+3),S(this,u+1,u+2);return this},f.prototype.swap64=function(){const a=this.length;if(a%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let u=0;u<a;u+=8)S(this,u,u+7),S(this,u+1,u+6),S(this,u+2,u+5),S(this,u+3,u+4);return this},f.prototype.toString=function(){const a=this.length;return a===0?"":arguments.length===0?V(this,0,a):m.apply(this,arguments)},f.prototype.toLocaleString=f.prototype.toString,f.prototype.equals=function(a){if(!f.isBuffer(a))throw new TypeError("Argument must be a Buffer");return this===a?!0:f.compare(this,a)===0},f.prototype.inspect=function(){let a="";const u=e.INSPECT_MAX_BYTES;return a=this.toString("hex",0,u).replace(/(.{2})/g,"$1 ").trim(),this.length>u&&(a+=" ... "),"<Buffer "+a+">"},n&&(f.prototype[n]=f.prototype.inspect),f.prototype.compare=function(a,u,p,E,I){if(ze(a,Uint8Array)&&(a=f.from(a,a.offset,a.byteLength)),!f.isBuffer(a))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof a);if(u===void 0&&(u=0),p===void 0&&(p=a?a.length:0),E===void 0&&(E=0),I===void 0&&(I=this.length),u<0||p>a.length||E<0||I>this.length)throw new RangeError("out of range index");if(E>=I&&u>=p)return 0;if(E>=I)return-1;if(u>=p)return 1;if(u>>>=0,p>>>=0,E>>>=0,I>>>=0,this===a)return 0;let L=I-E,Q=p-u;const _e=Math.min(L,Q),ye=this.slice(E,I),Ee=a.slice(u,p);for(let ne=0;ne<_e;++ne)if(ye[ne]!==Ee[ne]){L=ye[ne],Q=Ee[ne];break}return L<Q?-1:Q<L?1:0};function v(h,a,u,p,E){if(h.length===0)return-1;if(typeof u=="string"?(p=u,u=0):u>2147483647?u=2147483647:u<-2147483648&&(u=-2147483648),u=+u,zt(u)&&(u=E?0:h.length-1),u<0&&(u=h.length+u),u>=h.length){if(E)return-1;u=h.length-1}else if(u<0)if(E)u=0;else return-1;if(typeof a=="string"&&(a=f.from(a,p)),f.isBuffer(a))return a.length===0?-1:$(h,a,u,p,E);if(typeof a=="number")return a=a&255,typeof Uint8Array.prototype.indexOf=="function"?E?Uint8Array.prototype.indexOf.call(h,a,u):Uint8Array.prototype.lastIndexOf.call(h,a,u):$(h,[a],u,p,E);throw new TypeError("val must be string, number or Buffer")}function $(h,a,u,p,E){let I=1,L=h.length,Q=a.length;if(p!==void 0&&(p=String(p).toLowerCase(),p==="ucs2"||p==="ucs-2"||p==="utf16le"||p==="utf-16le")){if(h.length<2||a.length<2)return-1;I=2,L/=2,Q/=2,u/=2}function _e(Ee,ne){return I===1?Ee[ne]:Ee.readUInt16BE(ne*I)}let ye;if(E){let Ee=-1;for(ye=u;ye<L;ye++)if(_e(h,ye)===_e(a,Ee===-1?0:ye-Ee)){if(Ee===-1&&(Ee=ye),ye-Ee+1===Q)return Ee*I}else Ee!==-1&&(ye-=ye-Ee),Ee=-1}else for(u+Q>L&&(u=L-Q),ye=u;ye>=0;ye--){let Ee=!0;for(let ne=0;ne<Q;ne++)if(_e(h,ye+ne)!==_e(a,ne)){Ee=!1;break}if(Ee)return ye}return-1}f.prototype.includes=function(a,u,p){return this.indexOf(a,u,p)!==-1},f.prototype.indexOf=function(a,u,p){return v(this,a,u,p,!0)},f.prototype.lastIndexOf=function(a,u,p){return v(this,a,u,p,!1)};function j(h,a,u,p){u=Number(u)||0;const E=h.length-u;p?(p=Number(p),p>E&&(p=E)):p=E;const I=a.length;p>I/2&&(p=I/2);let L;for(L=0;L<p;++L){const Q=parseInt(a.substr(L*2,2),16);if(zt(Q))return L;h[u+L]=Q}return L}function R(h,a,u,p){return lr(te(a,h.length-u),h,u,p)}function z(h,a,u,p){return lr(It(a),h,u,p)}function Z(h,a,u,p){return lr(Fr(a),h,u,p)}function C(h,a,u,p){return lr(hr(a,h.length-u),h,u,p)}f.prototype.write=function(a,u,p,E){if(u===void 0)E="utf8",p=this.length,u=0;else if(p===void 0&&typeof u=="string")E=u,p=this.length,u=0;else if(isFinite(u))u=u>>>0,isFinite(p)?(p=p>>>0,E===void 0&&(E="utf8")):(E=p,p=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const I=this.length-u;if((p===void 0||p>I)&&(p=I),a.length>0&&(p<0||u<0)||u>this.length)throw new RangeError("Attempt to write outside buffer bounds");E||(E="utf8");let L=!1;for(;;)switch(E){case"hex":return j(this,a,u,p);case"utf8":case"utf-8":return R(this,a,u,p);case"ascii":case"latin1":case"binary":return z(this,a,u,p);case"base64":return Z(this,a,u,p);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,a,u,p);default:if(L)throw new TypeError("Unknown encoding: "+E);E=(""+E).toLowerCase(),L=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function H(h,a,u){return a===0&&u===h.length?t.fromByteArray(h):t.fromByteArray(h.slice(a,u))}function V(h,a,u){u=Math.min(h.length,u);const p=[];let E=a;for(;E<u;){const I=h[E];let L=null,Q=I>239?4:I>223?3:I>191?2:1;if(E+Q<=u){let _e,ye,Ee,ne;switch(Q){case 1:I<128&&(L=I);break;case 2:_e=h[E+1],(_e&192)===128&&(ne=(I&31)<<6|_e&63,ne>127&&(L=ne));break;case 3:_e=h[E+1],ye=h[E+2],(_e&192)===128&&(ye&192)===128&&(ne=(I&15)<<12|(_e&63)<<6|ye&63,ne>2047&&(ne<55296||ne>57343)&&(L=ne));break;case 4:_e=h[E+1],ye=h[E+2],Ee=h[E+3],(_e&192)===128&&(ye&192)===128&&(Ee&192)===128&&(ne=(I&15)<<18|(_e&63)<<12|(ye&63)<<6|Ee&63,ne>65535&&ne<1114112&&(L=ne))}}L===null?(L=65533,Q=1):L>65535&&(L-=65536,p.push(L>>>10&1023|55296),L=56320|L&1023),p.push(L),E+=Q}return oe(p)}const q=4096;function oe(h){const a=h.length;if(a<=q)return String.fromCharCode.apply(String,h);let u="",p=0;for(;p<a;)u+=String.fromCharCode.apply(String,h.slice(p,p+=q));return u}function ae(h,a,u){let p="";u=Math.min(h.length,u);for(let E=a;E<u;++E)p+=String.fromCharCode(h[E]&127);return p}function et(h,a,u){let p="";u=Math.min(h.length,u);for(let E=a;E<u;++E)p+=String.fromCharCode(h[E]);return p}function Ve(h,a,u){const p=h.length;(!a||a<0)&&(a=0),(!u||u<0||u>p)&&(u=p);let E="";for(let I=a;I<u;++I)E+=Mr[h[I]];return E}function it(h,a,u){const p=h.slice(a,u);let E="";for(let I=0;I<p.length-1;I+=2)E+=String.fromCharCode(p[I]+p[I+1]*256);return E}f.prototype.slice=function(a,u){const p=this.length;a=~~a,u=u===void 0?p:~~u,a<0?(a+=p,a<0&&(a=0)):a>p&&(a=p),u<0?(u+=p,u<0&&(u=0)):u>p&&(u=p),u<a&&(u=a);const E=this.subarray(a,u);return Object.setPrototypeOf(E,f.prototype),E};function de(h,a,u){if(h%1!==0||h<0)throw new RangeError("offset is not uint");if(h+a>u)throw new RangeError("Trying to access beyond buffer length")}f.prototype.readUintLE=f.prototype.readUIntLE=function(a,u,p){a=a>>>0,u=u>>>0,p||de(a,u,this.length);let E=this[a],I=1,L=0;for(;++L<u&&(I*=256);)E+=this[a+L]*I;return E},f.prototype.readUintBE=f.prototype.readUIntBE=function(a,u,p){a=a>>>0,u=u>>>0,p||de(a,u,this.length);let E=this[a+--u],I=1;for(;u>0&&(I*=256);)E+=this[a+--u]*I;return E},f.prototype.readUint8=f.prototype.readUInt8=function(a,u){return a=a>>>0,u||de(a,1,this.length),this[a]},f.prototype.readUint16LE=f.prototype.readUInt16LE=function(a,u){return a=a>>>0,u||de(a,2,this.length),this[a]|this[a+1]<<8},f.prototype.readUint16BE=f.prototype.readUInt16BE=function(a,u){return a=a>>>0,u||de(a,2,this.length),this[a]<<8|this[a+1]},f.prototype.readUint32LE=f.prototype.readUInt32LE=function(a,u){return a=a>>>0,u||de(a,4,this.length),(this[a]|this[a+1]<<8|this[a+2]<<16)+this[a+3]*16777216},f.prototype.readUint32BE=f.prototype.readUInt32BE=function(a,u){return a=a>>>0,u||de(a,4,this.length),this[a]*16777216+(this[a+1]<<16|this[a+2]<<8|this[a+3])},f.prototype.readBigUInt64LE=Ye(function(a){a=a>>>0,F(a,"offset");const u=this[a],p=this[a+7];(u===void 0||p===void 0)&&D(a,this.length-8);const E=u+this[++a]*2**8+this[++a]*2**16+this[++a]*2**24,I=this[++a]+this[++a]*2**8+this[++a]*2**16+p*2**24;return BigInt(E)+(BigInt(I)<<BigInt(32))}),f.prototype.readBigUInt64BE=Ye(function(a){a=a>>>0,F(a,"offset");const u=this[a],p=this[a+7];(u===void 0||p===void 0)&&D(a,this.length-8);const E=u*2**24+this[++a]*2**16+this[++a]*2**8+this[++a],I=this[++a]*2**24+this[++a]*2**16+this[++a]*2**8+p;return(BigInt(E)<<BigInt(32))+BigInt(I)}),f.prototype.readIntLE=function(a,u,p){a=a>>>0,u=u>>>0,p||de(a,u,this.length);let E=this[a],I=1,L=0;for(;++L<u&&(I*=256);)E+=this[a+L]*I;return I*=128,E>=I&&(E-=Math.pow(2,8*u)),E},f.prototype.readIntBE=function(a,u,p){a=a>>>0,u=u>>>0,p||de(a,u,this.length);let E=u,I=1,L=this[a+--E];for(;E>0&&(I*=256);)L+=this[a+--E]*I;return I*=128,L>=I&&(L-=Math.pow(2,8*u)),L},f.prototype.readInt8=function(a,u){return a=a>>>0,u||de(a,1,this.length),this[a]&128?(255-this[a]+1)*-1:this[a]},f.prototype.readInt16LE=function(a,u){a=a>>>0,u||de(a,2,this.length);const p=this[a]|this[a+1]<<8;return p&32768?p|4294901760:p},f.prototype.readInt16BE=function(a,u){a=a>>>0,u||de(a,2,this.length);const p=this[a+1]|this[a]<<8;return p&32768?p|4294901760:p},f.prototype.readInt32LE=function(a,u){return a=a>>>0,u||de(a,4,this.length),this[a]|this[a+1]<<8|this[a+2]<<16|this[a+3]<<24},f.prototype.readInt32BE=function(a,u){return a=a>>>0,u||de(a,4,this.length),this[a]<<24|this[a+1]<<16|this[a+2]<<8|this[a+3]},f.prototype.readBigInt64LE=Ye(function(a){a=a>>>0,F(a,"offset");const u=this[a],p=this[a+7];(u===void 0||p===void 0)&&D(a,this.length-8);const E=this[a+4]+this[a+5]*2**8+this[a+6]*2**16+(p<<24);return(BigInt(E)<<BigInt(32))+BigInt(u+this[++a]*2**8+this[++a]*2**16+this[++a]*2**24)}),f.prototype.readBigInt64BE=Ye(function(a){a=a>>>0,F(a,"offset");const u=this[a],p=this[a+7];(u===void 0||p===void 0)&&D(a,this.length-8);const E=(u<<24)+this[++a]*2**16+this[++a]*2**8+this[++a];return(BigInt(E)<<BigInt(32))+BigInt(this[++a]*2**24+this[++a]*2**16+this[++a]*2**8+p)}),f.prototype.readFloatLE=function(a,u){return a=a>>>0,u||de(a,4,this.length),r.read(this,a,!0,23,4)},f.prototype.readFloatBE=function(a,u){return a=a>>>0,u||de(a,4,this.length),r.read(this,a,!1,23,4)},f.prototype.readDoubleLE=function(a,u){return a=a>>>0,u||de(a,8,this.length),r.read(this,a,!0,52,8)},f.prototype.readDoubleBE=function(a,u){return a=a>>>0,u||de(a,8,this.length),r.read(this,a,!1,52,8)};function ve(h,a,u,p,E,I){if(!f.isBuffer(h))throw new TypeError('"buffer" argument must be a Buffer instance');if(a>E||a<I)throw new RangeError('"value" argument is out of bounds');if(u+p>h.length)throw new RangeError("Index out of range")}f.prototype.writeUintLE=f.prototype.writeUIntLE=function(a,u,p,E){if(a=+a,u=u>>>0,p=p>>>0,!E){const Q=Math.pow(2,8*p)-1;ve(this,a,u,p,Q,0)}let I=1,L=0;for(this[u]=a&255;++L<p&&(I*=256);)this[u+L]=a/I&255;return u+p},f.prototype.writeUintBE=f.prototype.writeUIntBE=function(a,u,p,E){if(a=+a,u=u>>>0,p=p>>>0,!E){const Q=Math.pow(2,8*p)-1;ve(this,a,u,p,Q,0)}let I=p-1,L=1;for(this[u+I]=a&255;--I>=0&&(L*=256);)this[u+I]=a/L&255;return u+p},f.prototype.writeUint8=f.prototype.writeUInt8=function(a,u,p){return a=+a,u=u>>>0,p||ve(this,a,u,1,255,0),this[u]=a&255,u+1},f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(a,u,p){return a=+a,u=u>>>0,p||ve(this,a,u,2,65535,0),this[u]=a&255,this[u+1]=a>>>8,u+2},f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(a,u,p){return a=+a,u=u>>>0,p||ve(this,a,u,2,65535,0),this[u]=a>>>8,this[u+1]=a&255,u+2},f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(a,u,p){return a=+a,u=u>>>0,p||ve(this,a,u,4,4294967295,0),this[u+3]=a>>>24,this[u+2]=a>>>16,this[u+1]=a>>>8,this[u]=a&255,u+4},f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(a,u,p){return a=+a,u=u>>>0,p||ve(this,a,u,4,4294967295,0),this[u]=a>>>24,this[u+1]=a>>>16,this[u+2]=a>>>8,this[u+3]=a&255,u+4};function We(h,a,u,p,E){w(a,p,E,h,u,7);let I=Number(a&BigInt(4294967295));h[u++]=I,I=I>>8,h[u++]=I,I=I>>8,h[u++]=I,I=I>>8,h[u++]=I;let L=Number(a>>BigInt(32)&BigInt(4294967295));return h[u++]=L,L=L>>8,h[u++]=L,L=L>>8,h[u++]=L,L=L>>8,h[u++]=L,u}function At(h,a,u,p,E){w(a,p,E,h,u,7);let I=Number(a&BigInt(4294967295));h[u+7]=I,I=I>>8,h[u+6]=I,I=I>>8,h[u+5]=I,I=I>>8,h[u+4]=I;let L=Number(a>>BigInt(32)&BigInt(4294967295));return h[u+3]=L,L=L>>8,h[u+2]=L,L=L>>8,h[u+1]=L,L=L>>8,h[u]=L,u+8}f.prototype.writeBigUInt64LE=Ye(function(a,u=0){return We(this,a,u,BigInt(0),BigInt("0xffffffffffffffff"))}),f.prototype.writeBigUInt64BE=Ye(function(a,u=0){return At(this,a,u,BigInt(0),BigInt("0xffffffffffffffff"))}),f.prototype.writeIntLE=function(a,u,p,E){if(a=+a,u=u>>>0,!E){const _e=Math.pow(2,8*p-1);ve(this,a,u,p,_e-1,-_e)}let I=0,L=1,Q=0;for(this[u]=a&255;++I<p&&(L*=256);)a<0&&Q===0&&this[u+I-1]!==0&&(Q=1),this[u+I]=(a/L>>0)-Q&255;return u+p},f.prototype.writeIntBE=function(a,u,p,E){if(a=+a,u=u>>>0,!E){const _e=Math.pow(2,8*p-1);ve(this,a,u,p,_e-1,-_e)}let I=p-1,L=1,Q=0;for(this[u+I]=a&255;--I>=0&&(L*=256);)a<0&&Q===0&&this[u+I+1]!==0&&(Q=1),this[u+I]=(a/L>>0)-Q&255;return u+p},f.prototype.writeInt8=function(a,u,p){return a=+a,u=u>>>0,p||ve(this,a,u,1,127,-128),a<0&&(a=255+a+1),this[u]=a&255,u+1},f.prototype.writeInt16LE=function(a,u,p){return a=+a,u=u>>>0,p||ve(this,a,u,2,32767,-32768),this[u]=a&255,this[u+1]=a>>>8,u+2},f.prototype.writeInt16BE=function(a,u,p){return a=+a,u=u>>>0,p||ve(this,a,u,2,32767,-32768),this[u]=a>>>8,this[u+1]=a&255,u+2},f.prototype.writeInt32LE=function(a,u,p){return a=+a,u=u>>>0,p||ve(this,a,u,4,2147483647,-2147483648),this[u]=a&255,this[u+1]=a>>>8,this[u+2]=a>>>16,this[u+3]=a>>>24,u+4},f.prototype.writeInt32BE=function(a,u,p){return a=+a,u=u>>>0,p||ve(this,a,u,4,2147483647,-2147483648),a<0&&(a=4294967295+a+1),this[u]=a>>>24,this[u+1]=a>>>16,this[u+2]=a>>>8,this[u+3]=a&255,u+4},f.prototype.writeBigInt64LE=Ye(function(a,u=0){return We(this,a,u,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),f.prototype.writeBigInt64BE=Ye(function(a,u=0){return At(this,a,u,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function pt(h,a,u,p,E,I){if(u+p>h.length)throw new RangeError("Index out of range");if(u<0)throw new RangeError("Index out of range")}function T(h,a,u,p,E){return a=+a,u=u>>>0,E||pt(h,a,u,4),r.write(h,a,u,p,23,4),u+4}f.prototype.writeFloatLE=function(a,u,p){return T(this,a,u,!0,p)},f.prototype.writeFloatBE=function(a,u,p){return T(this,a,u,!1,p)};function P(h,a,u,p,E){return a=+a,u=u>>>0,E||pt(h,a,u,8),r.write(h,a,u,p,52,8),u+8}f.prototype.writeDoubleLE=function(a,u,p){return P(this,a,u,!0,p)},f.prototype.writeDoubleBE=function(a,u,p){return P(this,a,u,!1,p)},f.prototype.copy=function(a,u,p,E){if(!f.isBuffer(a))throw new TypeError("argument should be a Buffer");if(p||(p=0),!E&&E!==0&&(E=this.length),u>=a.length&&(u=a.length),u||(u=0),E>0&&E<p&&(E=p),E===p||a.length===0||this.length===0)return 0;if(u<0)throw new RangeError("targetStart out of bounds");if(p<0||p>=this.length)throw new RangeError("Index out of range");if(E<0)throw new RangeError("sourceEnd out of bounds");E>this.length&&(E=this.length),a.length-u<E-p&&(E=a.length-u+p);const I=E-p;return this===a&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(u,p,E):Uint8Array.prototype.set.call(a,this.subarray(p,E),u),I},f.prototype.fill=function(a,u,p,E){if(typeof a=="string"){if(typeof u=="string"?(E=u,u=0,p=this.length):typeof p=="string"&&(E=p,p=this.length),E!==void 0&&typeof E!="string")throw new TypeError("encoding must be a string");if(typeof E=="string"&&!f.isEncoding(E))throw new TypeError("Unknown encoding: "+E);if(a.length===1){const L=a.charCodeAt(0);(E==="utf8"&&L<128||E==="latin1")&&(a=L)}}else typeof a=="number"?a=a&255:typeof a=="boolean"&&(a=Number(a));if(u<0||this.length<u||this.length<p)throw new RangeError("Out of range index");if(p<=u)return this;u=u>>>0,p=p===void 0?this.length:p>>>0,a||(a=0);let I;if(typeof a=="number")for(I=u;I<p;++I)this[I]=a;else{const L=f.isBuffer(a)?a:f.from(a,E),Q=L.length;if(Q===0)throw new TypeError('The value "'+a+'" is invalid for argument "value"');for(I=0;I<p-u;++I)this[I+u]=L[I%Q]}return this};const M={};function G(h,a,u){M[h]=class extends u{constructor(){super(),Object.defineProperty(this,"message",{value:a.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${h}]`,this.stack,delete this.name}get code(){return h}set code(E){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:E,writable:!0})}toString(){return`${this.name} [${h}]: ${this.message}`}}}G("ERR_BUFFER_OUT_OF_BOUNDS",function(h){return h?`${h} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),G("ERR_INVALID_ARG_TYPE",function(h,a){return`The "${h}" argument must be of type number. Received type ${typeof a}`},TypeError),G("ERR_OUT_OF_RANGE",function(h,a,u){let p=`The value of "${h}" is out of range.`,E=u;return Number.isInteger(u)&&Math.abs(u)>2**32?E=K(String(u)):typeof u=="bigint"&&(E=String(u),(u>BigInt(2)**BigInt(32)||u<-(BigInt(2)**BigInt(32)))&&(E=K(E)),E+="n"),p+=` It must be ${a}. Received ${E}`,p},RangeError);function K(h){let a="",u=h.length;const p=h[0]==="-"?1:0;for(;u>=p+4;u-=3)a=`_${h.slice(u-3,u)}${a}`;return`${h.slice(0,u)}${a}`}function b(h,a,u){F(a,"offset"),(h[a]===void 0||h[a+u]===void 0)&&D(a,h.length-(u+1))}function w(h,a,u,p,E,I){if(h>u||h<a){const L=typeof a=="bigint"?"n":"";let Q;throw a===0||a===BigInt(0)?Q=`>= 0${L} and < 2${L} ** ${(I+1)*8}${L}`:Q=`>= -(2${L} ** ${(I+1)*8-1}${L}) and < 2 ** ${(I+1)*8-1}${L}`,new M.ERR_OUT_OF_RANGE("value",Q,h)}b(p,E,I)}function F(h,a){if(typeof h!="number")throw new M.ERR_INVALID_ARG_TYPE(a,"number",h)}function D(h,a,u){throw Math.floor(h)!==h?(F(h,u),new M.ERR_OUT_OF_RANGE("offset","an integer",h)):a<0?new M.ERR_BUFFER_OUT_OF_BOUNDS:new M.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${a}`,h)}const pe=/[^+/0-9A-Za-z-_]/g;function Y(h){if(h=h.split("=")[0],h=h.trim().replace(pe,""),h.length<2)return"";for(;h.length%4!==0;)h=h+"=";return h}function te(h,a){a=a||1/0;let u;const p=h.length;let E=null;const I=[];for(let L=0;L<p;++L){if(u=h.charCodeAt(L),u>55295&&u<57344){if(!E){if(u>56319){(a-=3)>-1&&I.push(239,191,189);continue}else if(L+1===p){(a-=3)>-1&&I.push(239,191,189);continue}E=u;continue}if(u<56320){(a-=3)>-1&&I.push(239,191,189),E=u;continue}u=(E-55296<<10|u-56320)+65536}else E&&(a-=3)>-1&&I.push(239,191,189);if(E=null,u<128){if((a-=1)<0)break;I.push(u)}else if(u<2048){if((a-=2)<0)break;I.push(u>>6|192,u&63|128)}else if(u<65536){if((a-=3)<0)break;I.push(u>>12|224,u>>6&63|128,u&63|128)}else if(u<1114112){if((a-=4)<0)break;I.push(u>>18|240,u>>12&63|128,u>>6&63|128,u&63|128)}else throw new Error("Invalid code point")}return I}function It(h){const a=[];for(let u=0;u<h.length;++u)a.push(h.charCodeAt(u)&255);return a}function hr(h,a){let u,p,E;const I=[];for(let L=0;L<h.length&&!((a-=2)<0);++L)u=h.charCodeAt(L),p=u>>8,E=u%256,I.push(E),I.push(p);return I}function Fr(h){return t.toByteArray(Y(h))}function lr(h,a,u,p){let E;for(E=0;E<p&&!(E+u>=a.length||E>=h.length);++E)a[E+u]=h[E];return E}function ze(h,a){return h instanceof a||h!=null&&h.constructor!=null&&h.constructor.name!=null&&h.constructor.name===a.name}function zt(h){return h!==h}const Mr=function(){const h="0123456789abcdef",a=new Array(256);for(let u=0;u<16;++u){const p=u*16;for(let E=0;E<16;++E)a[p+E]=h[u]+h[E]}return a}();function Ye(h){return typeof BigInt>"u"?qt:h}function qt(){throw new Error("BigInt not supported")}})(Tt);var un={Array:function(e){return e!=null&&e.constructor===Array},Boolean:function(e){return typeof e=="boolean"},Function:function(e){return typeof e=="function"},Nil:function(e){return e==null},Number:function(e){return typeof e=="number"},Object:function(e){return typeof e=="object"},String:function(e){return typeof e=="string"},"":function(){return!0}};un.Null=un.Nil;for(var Ds in un)un[Ds].toJSON=(function(e){return e}).bind(null,Ds);var ps=un,Xt=ps;function na(e){return e.name||e.toString().match(/function (.*?)\s*\(/)[1]}function ys(e){return Xt.Nil(e)?"":na(e.constructor)}function wu(e){return Xt.Function(e)?"":Xt.String(e)?JSON.stringify(e):e&&Xt.Object(e)?"":e}function bs(e,t){Error.captureStackTrace&&Error.captureStackTrace(e,t)}function jn(e){return Xt.Function(e)?e.toJSON?e.toJSON():na(e):Xt.Array(e)?"Array":e&&Xt.Object(e)?"Object":e!==void 0?e:""}function ia(e,t,r){var n=wu(t);return"Expected "+jn(e)+", got"+(r!==""?" "+r:"")+(n!==""?" "+n:"")}function St(e,t,r){r=r||ys(t),this.message=ia(e,t,r),bs(this,St),this.__type=e,this.__value=t,this.__valueTypeName=r}St.prototype=Object.create(Error.prototype);St.prototype.constructor=St;function gu(e,t,r,n,i){var s='" of type ';return t==="key"&&(s='" with key type '),ia('property "'+jn(r)+s+jn(e),n,i)}function vr(e,t,r,n,i){e?(i=i||ys(n),this.message=gu(e,r,t,n,i)):this.message='Unexpected property "'+t+'"',bs(this,St),this.__label=r,this.__property=t,this.__type=e,this.__value=n,this.__valueTypeName=i}vr.prototype=Object.create(Error.prototype);vr.prototype.constructor=St;function mu(e,t){return new St(e,{},t)}function _u(e,t,r){return e instanceof vr?(t=t+"."+e.__property,e=new vr(e.__type,t,e.__label,e.__value,e.__valueTypeName)):e instanceof St&&(e=new vr(e.__type,t,r,e.__value,e.__valueTypeName)),bs(e),e}var sa={TfTypeError:St,TfPropertyTypeError:vr,tfCustomError:mu,tfSubError:_u,tfJSON:jn,getValueTypeName:ys},xi,js;function Eu(){if(js)return xi;js=1;var e=ps,t=sa;function r(v){return Buffer.isBuffer(v)}function n(v){return typeof v=="string"&&/^([0-9a-f]{2})+$/i.test(v)}function i(v,$){var j=v.toJSON();function R(z){if(!v(z))return!1;if(z.length===$)return!0;throw t.tfCustomError(j+"(Length: "+$+")",j+"(Length: "+z.length+")")}return R.toJSON=function(){return j},R}var s=i.bind(null,e.Array),o=i.bind(null,r),f=i.bind(null,n),c=i.bind(null,e.String);function l(v,$,j){j=j||e.Number;function R(z,Z){return j(z,Z)&&z>v&&z<$}return R.toJSON=function(){return`${j.toJSON()} between [${v}, ${$}]`},R}var d=Math.pow(2,53)-1;function g(v){return typeof v=="number"&&isFinite(v)}function x(v){return v<<24>>24===v}function y(v){return v<<16>>16===v}function O(v){return(v|0)===v}function B(v){return typeof v=="number"&&v>=-d&&v<=d&&Math.floor(v)===v}function A(v){return(v&255)===v}function k(v){return(v&65535)===v}function U(v){return v>>>0===v}function _(v){return typeof v=="number"&&v>=0&&v<=d&&Math.floor(v)===v}var m={ArrayN:s,Buffer:r,BufferN:o,Finite:g,Hex:n,HexN:f,Int8:x,Int16:y,Int32:O,Int53:B,Range:l,StringN:c,UInt8:A,UInt16:k,UInt32:U,UInt53:_};for(var S in m)m[S].toJSON=(function(v){return v}).bind(null,S);return xi=m,xi}var dn=sa,Ae=ps,yt=dn.tfJSON,oa=dn.TfTypeError,aa=dn.TfPropertyTypeError,Hr=dn.tfSubError,vu=dn.getValueTypeName,Et={arrayOf:function(t,r){t=ct(t),r=r||{};function n(i,s){return!Ae.Array(i)||Ae.Nil(i)||r.minLength!==void 0&&i.length<r.minLength||r.maxLength!==void 0&&i.length>r.maxLength||r.length!==void 0&&i.length!==r.length?!1:i.every(function(o,f){try{return je(t,o,s)}catch(c){throw Hr(c,f)}})}return n.toJSON=function(){var i="["+yt(t)+"]";return r.length!==void 0?i+="{"+r.length+"}":(r.minLength!==void 0||r.maxLength!==void 0)&&(i+="{"+(r.minLength===void 0?0:r.minLength)+","+(r.maxLength===void 0?1/0:r.maxLength)+"}"),i},n},maybe:function e(t){t=ct(t);function r(n,i){return Ae.Nil(n)||t(n,i,e)}return r.toJSON=function(){return"?"+yt(t)},r},map:function(t,r){t=ct(t),r&&(r=ct(r));function n(i,s){if(!Ae.Object(i)||Ae.Nil(i))return!1;for(var o in i){try{r&&je(r,o,s)}catch(c){throw Hr(c,o,"key")}try{var f=i[o];je(t,f,s)}catch(c){throw Hr(c,o)}}return!0}return r?n.toJSON=function(){return"{"+yt(r)+": "+yt(t)+"}"}:n.toJSON=function(){return"{"+yt(t)+"}"},n},object:function(t){var r={};for(var n in t)r[n]=ct(t[n]);function i(s,o){if(!Ae.Object(s)||Ae.Nil(s))return!1;var f;try{for(f in r){var c=r[f],l=s[f];je(c,l,o)}}catch(d){throw Hr(d,f)}if(o){for(f in s)if(!r[f])throw new aa(void 0,f)}return!0}return i.toJSON=function(){return yt(r)},i},anyOf:function(){var t=[].slice.call(arguments).map(ct);function r(n,i){return t.some(function(s){try{return je(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(yt).join("|")},r},allOf:function(){var t=[].slice.call(arguments).map(ct);function r(n,i){return t.every(function(s){try{return je(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(yt).join(" & ")},r},quacksLike:function(t){function r(n){return t===vu(n)}return r.toJSON=function(){return t},r},tuple:function(){var t=[].slice.call(arguments).map(ct);function r(n,i){return Ae.Nil(n)||Ae.Nil(n.length)||i&&n.length!==t.length?!1:t.every(function(s,o){try{return je(s,n[o],i)}catch(f){throw Hr(f,o)}})}return r.toJSON=function(){return"("+t.map(yt).join(", ")+")"},r},value:function(t){function r(n){return n===t}return r.toJSON=function(){return t},r}};Et.oneOf=Et.anyOf;function ct(e){if(Ae.String(e))return e[0]==="?"?Et.maybe(e.slice(1)):Ae[e]||Et.quacksLike(e);if(e&&Ae.Object(e)){if(Ae.Array(e)){if(e.length!==1)throw new TypeError("Expected compile() parameter of type Array of length 1");return Et.arrayOf(e[0])}return Et.object(e)}else if(Ae.Function(e))return e;return Et.value(e)}function je(e,t,r,n){if(Ae.Function(e)){if(e(t,r))return!0;throw new oa(n||e,t)}return je(ct(e),t,r)}for(var Mt in Ae)je[Mt]=Ae[Mt];for(Mt in Et)je[Mt]=Et[Mt];var Gs=Eu();for(Mt in Gs)je[Mt]=Gs[Mt];je.compile=ct;je.TfTypeError=oa;je.TfPropertyTypeError=aa;var fa=je;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.oneOf=e.Null=e.BufferN=e.Function=e.UInt32=e.UInt8=e.tuple=e.maybe=e.Hex=e.Buffer=e.String=e.Boolean=e.Array=e.Number=e.Hash256bit=e.Hash160bit=e.Buffer256bit=e.isTaptree=e.isTapleaf=e.TAPLEAF_VERSION_MASK=e.Satoshi=e.isPoint=e.stacksEqual=e.typeforce=void 0;const t=Tt;e.typeforce=fa;const r=t.Buffer.alloc(32,0),n=t.Buffer.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex");function i(d,g){return d.length!==g.length?!1:d.every((x,y)=>x.equals(g[y]))}e.stacksEqual=i;function s(d){if(!t.Buffer.isBuffer(d)||d.length<33)return!1;const g=d[0],x=d.slice(1,33);if(x.compare(r)===0||x.compare(n)>=0)return!1;if((g===2||g===3)&&d.length===33)return!0;const y=d.slice(33);return y.compare(r)===0||y.compare(n)>=0?!1:g===4&&d.length===65}e.isPoint=s;const o=21*1e14;function f(d){return e.typeforce.UInt53(d)&&d<=o}e.Satoshi=f,e.TAPLEAF_VERSION_MASK=254;function c(d){return!d||!("output"in d)||!t.Buffer.isBuffer(d.output)?!1:d.version!==void 0?(d.version&e.TAPLEAF_VERSION_MASK)===d.version:!0}e.isTapleaf=c;function l(d){return(0,e.Array)(d)?d.length!==2?!1:d.every(g=>l(g)):c(d)}e.isTaptree=l,e.Buffer256bit=e.typeforce.BufferN(32),e.Hash160bit=e.typeforce.BufferN(20),e.Hash256bit=e.typeforce.BufferN(32),e.Number=e.typeforce.Number,e.Array=e.typeforce.Array,e.Boolean=e.typeforce.Boolean,e.String=e.typeforce.String,e.Buffer=e.typeforce.Buffer,e.Hex=e.typeforce.Hex,e.maybe=e.typeforce.maybe,e.tuple=e.typeforce.tuple,e.UInt8=e.typeforce.UInt8,e.UInt32=e.typeforce.UInt32,e.Function=e.typeforce.Function,e.BufferN=e.typeforce.BufferN,e.Null=e.typeforce.Null,e.oneOf=e.typeforce.oneOf})(Ne);var pn={},Ie={};Object.defineProperty(Ie,"__esModule",{value:!0});Ie.BufferReader=Ie.BufferWriter=Ie.cloneBuffer=Ie.reverseBuffer=Ie.writeUInt64LE=Ie.readUInt64LE=Ie.varuint=void 0;const Jt=Ne,{typeforce:ua}=Jt,cn=Jo;Ie.varuint=cn;function ca(e,t){if(typeof e!="number")throw new Error("cannot write a non-number as a number");if(e<0)throw new Error("specified a negative value for writing an unsigned value");if(e>t)throw new Error("RangeError: value out of range");if(Math.floor(e)!==e)throw new Error("value has a fractional component")}function ha(e,t){const r=e.readUInt32LE(t);let n=e.readUInt32LE(t+4);return n*=4294967296,ca(n+r,9007199254740991),n+r}Ie.readUInt64LE=ha;function la(e,t,r){return ca(t,9007199254740991),e.writeInt32LE(t&-1,r),e.writeUInt32LE(Math.floor(t/4294967296),r+4),r+8}Ie.writeUInt64LE=la;function xu(e){if(e.length<1)return e;let t=e.length-1,r=0;for(let n=0;n<e.length/2;n++)r=e[n],e[n]=e[t],e[t]=r,t--;return e}Ie.reverseBuffer=xu;function Su(e){const t=Buffer.allocUnsafe(e.length);return e.copy(t),t}Ie.cloneBuffer=Su;class ws{static withCapacity(t){return new ws(Buffer.alloc(t))}constructor(t,r=0){this.buffer=t,this.offset=r,ua(Jt.tuple(Jt.Buffer,Jt.UInt32),[t,r])}writeUInt8(t){this.offset=this.buffer.writeUInt8(t,this.offset)}writeInt32(t){this.offset=this.buffer.writeInt32LE(t,this.offset)}writeUInt32(t){this.offset=this.buffer.writeUInt32LE(t,this.offset)}writeUInt64(t){this.offset=la(this.buffer,t,this.offset)}writeVarInt(t){cn.encode(t,this.buffer,this.offset),this.offset+=cn.encode.bytes}writeSlice(t){if(this.buffer.length<this.offset+t.length)throw new Error("Cannot write slice out of bounds");this.offset+=t.copy(this.buffer,this.offset)}writeVarSlice(t){this.writeVarInt(t.length),this.writeSlice(t)}writeVector(t){this.writeVarInt(t.length),t.forEach(r=>this.writeVarSlice(r))}end(){if(this.buffer.length===this.offset)return this.buffer;throw new Error(`buffer size ${this.buffer.length}, offset ${this.offset}`)}}Ie.BufferWriter=ws;class Bu{constructor(t,r=0){this.buffer=t,this.offset=r,ua(Jt.tuple(Jt.Buffer,Jt.UInt32),[t,r])}readUInt8(){const t=this.buffer.readUInt8(this.offset);return this.offset++,t}readInt32(){const t=this.buffer.readInt32LE(this.offset);return this.offset+=4,t}readUInt32(){const t=this.buffer.readUInt32LE(this.offset);return this.offset+=4,t}readUInt64(){const t=ha(this.buffer,this.offset);return this.offset+=8,t}readVarInt(){const t=cn.decode(this.buffer,this.offset);return this.offset+=cn.decode.bytes,t}readSlice(t){if(this.buffer.length<this.offset+t)throw new Error("Cannot read slice out of bounds");const r=this.buffer.slice(this.offset,this.offset+t);return this.offset+=t,r}readVarSlice(){return this.readSlice(this.readVarInt())}readVector(){const t=this.readVarInt(),r=[];for(let n=0;n<t;n++)r.push(this.readVarSlice());return r}}Ie.BufferReader=Bu;var jt={},Tr={},dt={},rt={};Object.defineProperty(rt,"__esModule",{value:!0});rt.isBytes=pa;rt.number=Gn;rt.bool=da;rt.bytes=gs;rt.hash=ya;rt.exists=ba;rt.output=wa;function Gn(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function da(e){if(typeof e!="boolean")throw new Error(`boolean expected, not ${e}`)}function pa(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function gs(e,...t){if(!pa(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function ya(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Gn(e.outputLen),Gn(e.blockLen)}function ba(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function wa(e,t){gs(e);const r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}const Pu={number:Gn,bool:da,bytes:gs,hash:ya,exists:ba,output:wa};rt.default=Pu;var yn={},Zn={};Object.defineProperty(Zn,"__esModule",{value:!0});Zn.crypto=void 0;Zn.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;(function(e){/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(e,"__esModule",{value:!0}),e.Hash=e.nextTick=e.byteSwapIfBE=e.byteSwap=e.isLE=e.rotl=e.rotr=e.createView=e.u32=e.u8=void 0,e.isBytes=n,e.byteSwap32=d,e.bytesToHex=x,e.hexToBytes=B,e.asyncLoop=k,e.utf8ToBytes=U,e.toBytes=_,e.concatBytes=m,e.checkOpts=$,e.wrapConstructor=j,e.wrapConstructorWithOpts=R,e.wrapXOFConstructorWithOpts=z,e.randomBytes=Z;const t=Zn,r=rt;function n(C){return C instanceof Uint8Array||C!=null&&typeof C=="object"&&C.constructor.name==="Uint8Array"}const i=C=>new Uint8Array(C.buffer,C.byteOffset,C.byteLength);e.u8=i;const s=C=>new Uint32Array(C.buffer,C.byteOffset,Math.floor(C.byteLength/4));e.u32=s;const o=C=>new DataView(C.buffer,C.byteOffset,C.byteLength);e.createView=o;const f=(C,H)=>C<<32-H|C>>>H;e.rotr=f;const c=(C,H)=>C<<H|C>>>32-H>>>0;e.rotl=c,e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;const l=C=>C<<24&4278190080|C<<8&16711680|C>>>8&65280|C>>>24&255;e.byteSwap=l,e.byteSwapIfBE=e.isLE?C=>C:C=>(0,e.byteSwap)(C);function d(C){for(let H=0;H<C.length;H++)C[H]=(0,e.byteSwap)(C[H])}const g=Array.from({length:256},(C,H)=>H.toString(16).padStart(2,"0"));function x(C){(0,r.bytes)(C);let H="";for(let V=0;V<C.length;V++)H+=g[C[V]];return H}const y={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function O(C){if(C>=y._0&&C<=y._9)return C-y._0;if(C>=y._A&&C<=y._F)return C-(y._A-10);if(C>=y._a&&C<=y._f)return C-(y._a-10)}function B(C){if(typeof C!="string")throw new Error("hex string expected, got "+typeof C);const H=C.length,V=H/2;if(H%2)throw new Error("padded hex string expected, got unpadded hex of length "+H);const q=new Uint8Array(V);for(let oe=0,ae=0;oe<V;oe++,ae+=2){const et=O(C.charCodeAt(ae)),Ve=O(C.charCodeAt(ae+1));if(et===void 0||Ve===void 0){const it=C[ae]+C[ae+1];throw new Error('hex string expected, got non-hex character "'+it+'" at index '+ae)}q[oe]=et*16+Ve}return q}const A=async()=>{};e.nextTick=A;async function k(C,H,V){let q=Date.now();for(let oe=0;oe<C;oe++){V(oe);const ae=Date.now()-q;ae>=0&&ae<H||(await(0,e.nextTick)(),q+=ae)}}function U(C){if(typeof C!="string")throw new Error(`utf8ToBytes expected string, got ${typeof C}`);return new Uint8Array(new TextEncoder().encode(C))}function _(C){return typeof C=="string"&&(C=U(C)),(0,r.bytes)(C),C}function m(...C){let H=0;for(let q=0;q<C.length;q++){const oe=C[q];(0,r.bytes)(oe),H+=oe.length}const V=new Uint8Array(H);for(let q=0,oe=0;q<C.length;q++){const ae=C[q];V.set(ae,oe),oe+=ae.length}return V}class S{clone(){return this._cloneInto()}}e.Hash=S;const v={}.toString;function $(C,H){if(H!==void 0&&v.call(H)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(C,H)}function j(C){const H=q=>C().update(_(q)).digest(),V=C();return H.outputLen=V.outputLen,H.blockLen=V.blockLen,H.create=()=>C(),H}function R(C){const H=(q,oe)=>C(oe).update(_(q)).digest(),V=C({});return H.outputLen=V.outputLen,H.blockLen=V.blockLen,H.create=q=>C(q),H}function z(C){const H=(q,oe)=>C(oe).update(_(q)).digest(),V=C({});return H.outputLen=V.outputLen,H.blockLen=V.blockLen,H.create=q=>C(q),H}function Z(C=32){if(t.crypto&&typeof t.crypto.getRandomValues=="function")return t.crypto.getRandomValues(new Uint8Array(C));if(t.crypto&&typeof t.crypto.randomBytes=="function")return t.crypto.randomBytes(C);throw new Error("crypto.getRandomValues must be defined")}})(yn);Object.defineProperty(dt,"__esModule",{value:!0});dt.HashMD=dt.Maj=dt.Chi=void 0;const Si=rt,$r=yn;function Tu(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);const i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),f=Number(r&s),c=n?4:0,l=n?0:4;e.setUint32(t+c,o,n),e.setUint32(t+l,f,n)}const Au=(e,t,r)=>e&t^~e&r;dt.Chi=Au;const Iu=(e,t,r)=>e&t^e&r^t&r;dt.Maj=Iu;class Ou extends $r.Hash{constructor(t,r,n,i){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=(0,$r.createView)(this.buffer)}update(t){(0,Si.exists)(this);const{view:r,buffer:n,blockLen:i}=this;t=(0,$r.toBytes)(t);const s=t.length;for(let o=0;o<s;){const f=Math.min(i-this.pos,s-o);if(f===i){const c=(0,$r.createView)(t);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(t.subarray(o,o+f),this.pos),this.pos+=f,o+=f,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){(0,Si.exists)(this),(0,Si.output)(t,this),this.finished=!0;const{buffer:r,view:n,blockLen:i,isLE:s}=this;let{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let g=o;g<i;g++)r[g]=0;Tu(n,i-8,BigInt(this.length*8),s),this.process(n,0);const f=(0,$r.createView)(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=c/4,d=this.get();if(l>d.length)throw new Error("_sha2: outputLen bigger than state");for(let g=0;g<l;g++)f.setUint32(4*g,d[g],s)}digest(){const{buffer:t,outputLen:r}=this;this.digestInto(t);const n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:f}=this;return t.length=i,t.pos=f,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}}dt.HashMD=Ou;Object.defineProperty(Tr,"__esModule",{value:!0});Tr.ripemd160=Tr.RIPEMD160=void 0;const ku=dt,tn=yn,Ru=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),ga=new Uint8Array(new Array(16).fill(0).map((e,t)=>t)),Uu=ga.map(e=>(9*e+5)%16);let ms=[ga],_s=[Uu];for(let e=0;e<4;e++)for(let t of[ms,_s])t.push(t[e].map(r=>Ru[r]));const ma=[[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(e=>new Uint8Array(e)),Cu=ms.map((e,t)=>e.map(r=>ma[t][r])),Lu=_s.map((e,t)=>e.map(r=>ma[t][r])),Nu=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),Fu=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]);function Vs(e,t,r,n){return e===0?t^r^n:e===1?t&r|~t&n:e===2?(t|~r)^n:e===3?t&n|r&~n:t^(r|~n)}const Bn=new Uint32Array(16);let _a=class extends ku.HashMD{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:t,h1:r,h2:n,h3:i,h4:s}=this;return[t,r,n,i,s]}set(t,r,n,i,s){this.h0=t|0,this.h1=r|0,this.h2=n|0,this.h3=i|0,this.h4=s|0}process(t,r){for(let y=0;y<16;y++,r+=4)Bn[y]=t.getUint32(r,!0);let n=this.h0|0,i=n,s=this.h1|0,o=s,f=this.h2|0,c=f,l=this.h3|0,d=l,g=this.h4|0,x=g;for(let y=0;y<5;y++){const O=4-y,B=Nu[y],A=Fu[y],k=ms[y],U=_s[y],_=Cu[y],m=Lu[y];for(let S=0;S<16;S++){const v=(0,tn.rotl)(n+Vs(y,s,f,l)+Bn[k[S]]+B,_[S])+g|0;n=g,g=l,l=(0,tn.rotl)(f,10)|0,f=s,s=v}for(let S=0;S<16;S++){const v=(0,tn.rotl)(i+Vs(O,o,c,d)+Bn[U[S]]+A,m[S])+x|0;i=x,x=d,d=(0,tn.rotl)(c,10)|0,c=o,o=v}}this.set(this.h1+f+d|0,this.h2+l+x|0,this.h3+g+i|0,this.h4+n+o|0,this.h0+s+c|0)}roundClean(){Bn.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}};Tr.RIPEMD160=_a;Tr.ripemd160=(0,tn.wrapConstructor)(()=>new _a);var Ar={};Object.defineProperty(Ar,"__esModule",{value:!0});Ar.sha1=Ar.SHA1=void 0;const Bi=dt,Cn=yn,Dr=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Ot=new Uint32Array(80);class Ea extends Bi.HashMD{constructor(){super(64,20,8,!1),this.A=Dr[0]|0,this.B=Dr[1]|0,this.C=Dr[2]|0,this.D=Dr[3]|0,this.E=Dr[4]|0}get(){const{A:t,B:r,C:n,D:i,E:s}=this;return[t,r,n,i,s]}set(t,r,n,i,s){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0}process(t,r){for(let c=0;c<16;c++,r+=4)Ot[c]=t.getUint32(r,!1);for(let c=16;c<80;c++)Ot[c]=(0,Cn.rotl)(Ot[c-3]^Ot[c-8]^Ot[c-14]^Ot[c-16],1);let{A:n,B:i,C:s,D:o,E:f}=this;for(let c=0;c<80;c++){let l,d;c<20?(l=(0,Bi.Chi)(i,s,o),d=1518500249):c<40?(l=i^s^o,d=1859775393):c<60?(l=(0,Bi.Maj)(i,s,o),d=2400959708):(l=i^s^o,d=3395469782);const g=(0,Cn.rotl)(n,5)+l+f+d+Ot[c]|0;f=o,o=s,s=(0,Cn.rotl)(i,30),i=n,n=g}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,f=f+this.E|0,this.set(n,i,s,o,f)}roundClean(){Ot.fill(0)}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0)}}Ar.SHA1=Ea;Ar.sha1=(0,Cn.wrapConstructor)(()=>new Ea);var vt={};Object.defineProperty(vt,"__esModule",{value:!0});vt.sha224=va=vt.sha256=vt.SHA256=void 0;const Pi=dt,Je=yn,Mu=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),kt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Rt=new Uint32Array(64);class Es extends Pi.HashMD{constructor(){super(64,32,8,!1),this.A=kt[0]|0,this.B=kt[1]|0,this.C=kt[2]|0,this.D=kt[3]|0,this.E=kt[4]|0,this.F=kt[5]|0,this.G=kt[6]|0,this.H=kt[7]|0}get(){const{A:t,B:r,C:n,D:i,E:s,F:o,G:f,H:c}=this;return[t,r,n,i,s,o,f,c]}set(t,r,n,i,s,o,f,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=f|0,this.H=c|0}process(t,r){for(let g=0;g<16;g++,r+=4)Rt[g]=t.getUint32(r,!1);for(let g=16;g<64;g++){const x=Rt[g-15],y=Rt[g-2],O=(0,Je.rotr)(x,7)^(0,Je.rotr)(x,18)^x>>>3,B=(0,Je.rotr)(y,17)^(0,Je.rotr)(y,19)^y>>>10;Rt[g]=B+Rt[g-7]+O+Rt[g-16]|0}let{A:n,B:i,C:s,D:o,E:f,F:c,G:l,H:d}=this;for(let g=0;g<64;g++){const x=(0,Je.rotr)(f,6)^(0,Je.rotr)(f,11)^(0,Je.rotr)(f,25),y=d+x+(0,Pi.Chi)(f,c,l)+Mu[g]+Rt[g]|0,B=((0,Je.rotr)(n,2)^(0,Je.rotr)(n,13)^(0,Je.rotr)(n,22))+(0,Pi.Maj)(n,i,s)|0;d=l,l=c,c=f,f=o+y|0,o=s,s=i,i=n,n=y+B|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,f=f+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(n,i,s,o,f,c,l,d)}roundClean(){Rt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}vt.SHA256=Es;class Hu extends Es{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}var va=vt.sha256=(0,Je.wrapConstructor)(()=>new Es);vt.sha224=(0,Je.wrapConstructor)(()=>new Hu);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.taggedHash=e.TAGGED_HASH_PREFIXES=e.TAGS=e.hash256=e.hash160=e.sha256=e.sha1=e.ripemd160=void 0;const t=Tr,r=Ar,n=vt;function i(d){return Buffer.from((0,t.ripemd160)(Uint8Array.from(d)))}e.ripemd160=i;function s(d){return Buffer.from((0,r.sha1)(Uint8Array.from(d)))}e.sha1=s;function o(d){return Buffer.from((0,n.sha256)(Uint8Array.from(d)))}e.sha256=o;function f(d){return Buffer.from((0,t.ripemd160)((0,n.sha256)(Uint8Array.from(d))))}e.hash160=f;function c(d){return Buffer.from((0,n.sha256)((0,n.sha256)(Uint8Array.from(d))))}e.hash256=c,e.TAGS=["BIP0340/challenge","BIP0340/aux","BIP0340/nonce","TapLeaf","TapBranch","TapSighash","TapTweak","KeyAgg list","KeyAgg coefficient"],e.TAGGED_HASH_PREFIXES={"BIP0340/challenge":Buffer.from([123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124,123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124]),"BIP0340/aux":Buffer.from([241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144,241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144]),"BIP0340/nonce":Buffer.from([7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47,7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47]),TapLeaf:Buffer.from([174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238,174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238]),TapBranch:Buffer.from([25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21,25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21]),TapSighash:Buffer.from([244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49,244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49]),TapTweak:Buffer.from([232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233,232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233]),"KeyAgg list":Buffer.from([72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240,72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240]),"KeyAgg coefficient":Buffer.from([191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129,191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129])};function l(d,g){return o(Buffer.concat([e.TAGGED_HASH_PREFIXES[d],g]))}e.taggedHash=l})(jt);var Ti={},xt={};Object.defineProperty(xt,"__esModule",{value:!0});xt.encode=xt.decode=xt.check=void 0;function $u(e){if(e.length<8||e.length>72||e[0]!==48||e[1]!==e.length-2||e[2]!==2)return!1;const t=e[3];if(t===0||5+t>=e.length||e[4+t]!==2)return!1;const r=e[5+t];return!(r===0||6+t+r!==e.length||e[4]&128||t>1&&e[4]===0&&!(e[5]&128)||e[t+6]&128||r>1&&e[t+6]===0&&!(e[t+7]&128))}xt.check=$u;function Du(e){if(e.length<8)throw new Error("DER sequence length is too short");if(e.length>72)throw new Error("DER sequence length is too long");if(e[0]!==48)throw new Error("Expected DER sequence");if(e[1]!==e.length-2)throw new Error("DER sequence length is invalid");if(e[2]!==2)throw new Error("Expected DER integer");const t=e[3];if(t===0)throw new Error("R length is zero");if(5+t>=e.length)throw new Error("R length is too long");if(e[4+t]!==2)throw new Error("Expected DER integer (2)");const r=e[5+t];if(r===0)throw new Error("S length is zero");if(6+t+r!==e.length)throw new Error("S length is invalid");if(e[4]&128)throw new Error("R value is negative");if(t>1&&e[4]===0&&!(e[5]&128))throw new Error("R value excessively padded");if(e[t+6]&128)throw new Error("S value is negative");if(r>1&&e[t+6]===0&&!(e[t+7]&128))throw new Error("S value excessively padded");return{r:e.slice(4,4+t),s:e.slice(6+t)}}xt.decode=Du;function ju(e,t){const r=e.length,n=t.length;if(r===0)throw new Error("R length is zero");if(n===0)throw new Error("S length is zero");if(r>33)throw new Error("R length is too long");if(n>33)throw new Error("S length is too long");if(e[0]&128)throw new Error("R value is negative");if(t[0]&128)throw new Error("S value is negative");if(r>1&&e[0]===0&&!(e[1]&128))throw new Error("R value excessively padded");if(n>1&&t[0]===0&&!(t[1]&128))throw new Error("S value excessively padded");const i=Buffer.allocUnsafe(6+r+n);return i[0]=48,i[1]=i.length-2,i[2]=2,i[3]=e.length,e.copy(i,4),i[4+r]=2,i[5+r]=t.length,t.copy(i,6+r),i}xt.encode=ju;var Zt={};Object.defineProperty(Zt,"__esModule",{value:!0});Zt.REVERSE_OPS=Zt.OPS=void 0;const Qi={OP_FALSE:0,OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_RESERVED:80,OP_TRUE:81,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_VER:98,OP_IF:99,OP_NOTIF:100,OP_VERIF:101,OP_VERNOTIF:102,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_CAT:126,OP_SUBSTR:127,OP_LEFT:128,OP_RIGHT:129,OP_SIZE:130,OP_INVERT:131,OP_AND:132,OP_OR:133,OP_XOR:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_RESERVED1:137,OP_RESERVED2:138,OP_1ADD:139,OP_1SUB:140,OP_2MUL:141,OP_2DIV:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_MUL:149,OP_DIV:150,OP_MOD:151,OP_LSHIFT:152,OP_RSHIFT:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_NOP2:177,OP_CHECKLOCKTIMEVERIFY:177,OP_NOP3:178,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_CHECKSIGADD:186,OP_PUBKEYHASH:253,OP_PUBKEY:254,OP_INVALIDOPCODE:255};Zt.OPS=Qi;const xa={};Zt.REVERSE_OPS=xa;for(const e of Object.keys(Qi)){const t=Qi[e];xa[t]=e}var Ht={};Object.defineProperty(Ht,"__esModule",{value:!0});Ht.decode=Ht.encode=Ht.encodingLength=void 0;const Ft=Zt;function Sa(e){return e<Ft.OPS.OP_PUSHDATA1?1:e<=255?2:e<=65535?3:5}Ht.encodingLength=Sa;function Gu(e,t,r){const n=Sa(t);return n===1?e.writeUInt8(t,r):n===2?(e.writeUInt8(Ft.OPS.OP_PUSHDATA1,r),e.writeUInt8(t,r+1)):n===3?(e.writeUInt8(Ft.OPS.OP_PUSHDATA2,r),e.writeUInt16LE(t,r+1)):(e.writeUInt8(Ft.OPS.OP_PUSHDATA4,r),e.writeUInt32LE(t,r+1)),n}Ht.encode=Gu;function Vu(e,t){const r=e.readUInt8(t);let n,i;if(r<Ft.OPS.OP_PUSHDATA1)n=r,i=1;else if(r===Ft.OPS.OP_PUSHDATA1){if(t+2>e.length)return null;n=e.readUInt8(t+1),i=2}else if(r===Ft.OPS.OP_PUSHDATA2){if(t+3>e.length)return null;n=e.readUInt16LE(t+1),i=3}else{if(t+5>e.length)return null;if(r!==Ft.OPS.OP_PUSHDATA4)throw new Error("Unexpected opcode");n=e.readUInt32LE(t+1),i=5}return{opcode:r,number:n,size:i}}Ht.decode=Vu;var Ir={};Object.defineProperty(Ir,"__esModule",{value:!0});Ir.encode=Ir.decode=void 0;function Wu(e,t,r){t=t||4,r=r===void 0?!0:r;const n=e.length;if(n===0)return 0;if(n>t)throw new TypeError("Script number overflow");if(r&&!(e[n-1]&127)&&(n<=1||!(e[n-2]&128)))throw new Error("Non-minimally encoded script number");if(n===5){const s=e.readUInt32LE(0),o=e.readUInt8(4);return o&128?-((o&-129)*4294967296+s):o*4294967296+s}let i=0;for(let s=0;s<n;++s)i|=e[s]<<8*s;return e[n-1]&128?-(i&~(128<<8*(n-1))):i}Ir.decode=Wu;function zu(e){return e>2147483647?5:e>8388607?4:e>32767?3:e>127?2:e>0?1:0}function qu(e){let t=Math.abs(e);const r=zu(t),n=Buffer.allocUnsafe(r),i=e<0;for(let s=0;s<r;++s)n.writeUInt8(t&255,s),t>>=8;return n[r-1]&128?n.writeUInt8(i?128:0,r-1):i&&(n[r-1]|=128),n}Ir.encode=qu;var Yt={},Ws;function Ku(){if(Ws)return Yt;Ws=1,Object.defineProperty(Yt,"__esModule",{value:!0}),Yt.encode=Yt.decode=void 0;const e=xt,t=Ke(),r=Ne,{typeforce:n}=r,i=Buffer.alloc(1,0);function s(l){let d=0;for(;l[d]===0;)++d;return d===l.length?i:(l=l.slice(d),l[0]&128?Buffer.concat([i,l],1+l.length):l)}function o(l){l[0]===0&&(l=l.slice(1));const d=Buffer.alloc(32,0),g=Math.max(0,32-l.length);return l.copy(d,g),d}function f(l){const d=l.readUInt8(l.length-1);if(!(0,t.isDefinedHashType)(d))throw new Error("Invalid hashType "+d);const g=e.decode(l.slice(0,-1)),x=o(g.r),y=o(g.s);return{signature:Buffer.concat([x,y],64),hashType:d}}Yt.decode=f;function c(l,d){if(n({signature:r.BufferN(64),hashType:r.UInt8},{signature:l,hashType:d}),!(0,t.isDefinedHashType)(d))throw new Error("Invalid hashType "+d);const g=Buffer.allocUnsafe(1);g.writeUInt8(d,0);const x=s(l.slice(0,32)),y=s(l.slice(32,64));return Buffer.concat([e.encode(x,y),g])}return Yt.encode=c,Yt}var zs;function Ke(){return zs||(zs=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.signature=e.number=e.isCanonicalScriptSignature=e.isDefinedHashType=e.isCanonicalPubKey=e.toStack=e.fromASM=e.toASM=e.decompile=e.compile=e.countNonPushOnlyOPs=e.isPushOnly=e.OPS=void 0;const t=xt,r=Zt;Object.defineProperty(e,"OPS",{enumerable:!0,get:function(){return r.OPS}});const n=Ht,i=Ir,s=Ku(),o=Ne,{typeforce:f}=o,c=r.OPS.OP_RESERVED;function l(R){return o.Number(R)&&(R===r.OPS.OP_0||R>=r.OPS.OP_1&&R<=r.OPS.OP_16||R===r.OPS.OP_1NEGATE)}function d(R){return o.Buffer(R)||l(R)}function g(R){return o.Array(R)&&R.every(d)}e.isPushOnly=g;function x(R){return R.length-R.filter(d).length}e.countNonPushOnlyOPs=x;function y(R){if(R.length===0)return r.OPS.OP_0;if(R.length===1){if(R[0]>=1&&R[0]<=16)return c+R[0];if(R[0]===129)return r.OPS.OP_1NEGATE}}function O(R){return Buffer.isBuffer(R)}function B(R){return o.Array(R)}function A(R){return Buffer.isBuffer(R)}function k(R){if(O(R))return R;f(o.Array,R);const z=R.reduce((H,V)=>A(V)?V.length===1&&y(V)!==void 0?H+1:H+n.encodingLength(V.length)+V.length:H+1,0),Z=Buffer.allocUnsafe(z);let C=0;if(R.forEach(H=>{if(A(H)){const V=y(H);if(V!==void 0){Z.writeUInt8(V,C),C+=1;return}C+=n.encode(Z,H.length,C),H.copy(Z,C),C+=H.length}else Z.writeUInt8(H,C),C+=1}),C!==Z.length)throw new Error("Could not decode chunks");return Z}e.compile=k;function U(R){if(B(R))return R;f(o.Buffer,R);const z=[];let Z=0;for(;Z<R.length;){const C=R[Z];if(C>r.OPS.OP_0&&C<=r.OPS.OP_PUSHDATA4){const H=n.decode(R,Z);if(H===null||(Z+=H.size,Z+H.number>R.length))return null;const V=R.slice(Z,Z+H.number);Z+=H.number;const q=y(V);q!==void 0?z.push(q):z.push(V)}else z.push(C),Z+=1}return z}e.decompile=U;function _(R){if(O(R)&&(R=U(R)),!R)throw new Error("Could not convert invalid chunks to ASM");return R.map(z=>{if(A(z)){const Z=y(z);if(Z===void 0)return z.toString("hex");z=Z}return r.REVERSE_OPS[z]}).join(" ")}e.toASM=_;function m(R){return f(o.String,R),k(R.split(" ").map(z=>r.OPS[z]!==void 0?r.OPS[z]:(f(o.Hex,z),Buffer.from(z,"hex"))))}e.fromASM=m;function S(R){return R=U(R),f(g,R),R.map(z=>A(z)?z:z===r.OPS.OP_0?Buffer.allocUnsafe(0):i.encode(z-c))}e.toStack=S;function v(R){return o.isPoint(R)}e.isCanonicalPubKey=v;function $(R){const z=R&-129;return z>0&&z<4}e.isDefinedHashType=$;function j(R){return!Buffer.isBuffer(R)||!$(R[R.length-1])?!1:t.check(R.slice(0,-1))}e.isCanonicalScriptSignature=j,e.number=i,e.signature=s}(Ti)),Ti}Object.defineProperty(pn,"__esModule",{value:!0});pn.Transaction=void 0;const Se=Ie,Fe=jt,qs=Ke(),Yu=Ke(),ee=Ne,{typeforce:st}=ee;function ft(e){const t=e.length;return Se.varuint.encodingLength(t)+t}function Xu(e){const t=e.length;return Se.varuint.encodingLength(t)+e.reduce((r,n)=>r+ft(n),0)}const Nt=Buffer.allocUnsafe(0),Ks=[],Ai=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),Ys=Buffer.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),Ju=Buffer.from("ffffffffffffffff","hex"),Qu={script:Nt,valueBuffer:Ju};function Zu(e){return e.value!==void 0}class X{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(t,r){const n=new Se.BufferReader(t),i=new X;i.version=n.readInt32();const s=n.readUInt8(),o=n.readUInt8();let f=!1;s===X.ADVANCED_TRANSACTION_MARKER&&o===X.ADVANCED_TRANSACTION_FLAG?f=!0:n.offset-=2;const c=n.readVarInt();for(let d=0;d<c;++d)i.ins.push({hash:n.readSlice(32),index:n.readUInt32(),script:n.readVarSlice(),sequence:n.readUInt32(),witness:Ks});const l=n.readVarInt();for(let d=0;d<l;++d)i.outs.push({value:n.readUInt64(),script:n.readVarSlice()});if(f){for(let d=0;d<c;++d)i.ins[d].witness=n.readVector();if(!i.hasWitnesses())throw new Error("Transaction has superfluous witness data")}if(i.locktime=n.readUInt32(),r)return i;if(n.offset!==t.length)throw new Error("Transaction has unexpected data");return i}static fromHex(t){return X.fromBuffer(Buffer.from(t,"hex"),!1)}static isCoinbaseHash(t){st(ee.Hash256bit,t);for(let r=0;r<32;++r)if(t[r]!==0)return!1;return!0}isCoinbase(){return this.ins.length===1&&X.isCoinbaseHash(this.ins[0].hash)}addInput(t,r,n,i){return st(ee.tuple(ee.Hash256bit,ee.UInt32,ee.maybe(ee.UInt32),ee.maybe(ee.Buffer)),arguments),ee.Null(n)&&(n=X.DEFAULT_SEQUENCE),this.ins.push({hash:t,index:r,script:i||Nt,sequence:n,witness:Ks})-1}addOutput(t,r){return st(ee.tuple(ee.Buffer,ee.Satoshi),arguments),this.outs.push({script:t,value:r})-1}hasWitnesses(){return this.ins.some(t=>t.witness.length!==0)}weight(){const t=this.byteLength(!1),r=this.byteLength(!0);return t*3+r}virtualSize(){return Math.ceil(this.weight()/4)}byteLength(t=!0){const r=t&&this.hasWitnesses();return(r?10:8)+Se.varuint.encodingLength(this.ins.length)+Se.varuint.encodingLength(this.outs.length)+this.ins.reduce((n,i)=>n+40+ft(i.script),0)+this.outs.reduce((n,i)=>n+8+ft(i.script),0)+(r?this.ins.reduce((n,i)=>n+Xu(i.witness),0):0)}clone(){const t=new X;return t.version=this.version,t.locktime=this.locktime,t.ins=this.ins.map(r=>({hash:r.hash,index:r.index,script:r.script,sequence:r.sequence,witness:r.witness})),t.outs=this.outs.map(r=>({script:r.script,value:r.value})),t}hashForSignature(t,r,n){if(st(ee.tuple(ee.UInt32,ee.Buffer,ee.Number),arguments),t>=this.ins.length)return Ys;const i=qs.compile(qs.decompile(r).filter(f=>f!==Yu.OPS.OP_CODESEPARATOR)),s=this.clone();if((n&31)===X.SIGHASH_NONE)s.outs=[],s.ins.forEach((f,c)=>{c!==t&&(f.sequence=0)});else if((n&31)===X.SIGHASH_SINGLE){if(t>=this.outs.length)return Ys;s.outs.length=t+1;for(let f=0;f<t;f++)s.outs[f]=Qu;s.ins.forEach((f,c)=>{c!==t&&(f.sequence=0)})}n&X.SIGHASH_ANYONECANPAY?(s.ins=[s.ins[t]],s.ins[0].script=i):(s.ins.forEach(f=>{f.script=Nt}),s.ins[t].script=i);const o=Buffer.allocUnsafe(s.byteLength(!1)+4);return o.writeInt32LE(n,o.length-4),s.__toBuffer(o,0,!1),Fe.hash256(o)}hashForWitnessV1(t,r,n,i,s,o){if(st(ee.tuple(ee.UInt32,st.arrayOf(ee.Buffer),st.arrayOf(ee.Satoshi),ee.UInt32),arguments),n.length!==this.ins.length||r.length!==this.ins.length)throw new Error("Must supply prevout script and value for all inputs");const f=i===X.SIGHASH_DEFAULT?X.SIGHASH_ALL:i&X.SIGHASH_OUTPUT_MASK,l=(i&X.SIGHASH_INPUT_MASK)===X.SIGHASH_ANYONECANPAY,d=f===X.SIGHASH_NONE,g=f===X.SIGHASH_SINGLE;let x=Nt,y=Nt,O=Nt,B=Nt,A=Nt;if(!l){let m=Se.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach(S=>{m.writeSlice(S.hash),m.writeUInt32(S.index)}),x=Fe.sha256(m.end()),m=Se.BufferWriter.withCapacity(8*this.ins.length),n.forEach(S=>m.writeUInt64(S)),y=Fe.sha256(m.end()),m=Se.BufferWriter.withCapacity(r.map(ft).reduce((S,v)=>S+v)),r.forEach(S=>m.writeVarSlice(S)),O=Fe.sha256(m.end()),m=Se.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach(S=>m.writeUInt32(S.sequence)),B=Fe.sha256(m.end())}if(d||g){if(g&&t<this.outs.length){const m=this.outs[t],S=Se.BufferWriter.withCapacity(8+ft(m.script));S.writeUInt64(m.value),S.writeVarSlice(m.script),A=Fe.sha256(S.end())}}else{const m=this.outs.map(v=>8+ft(v.script)).reduce((v,$)=>v+$),S=Se.BufferWriter.withCapacity(m);this.outs.forEach(v=>{S.writeUInt64(v.value),S.writeVarSlice(v.script)}),A=Fe.sha256(S.end())}const k=(s?2:0)+(o?1:0),U=174-(l?49:0)-(d?32:0)+(o?32:0)+(s?37:0),_=Se.BufferWriter.withCapacity(U);if(_.writeUInt8(i),_.writeInt32(this.version),_.writeUInt32(this.locktime),_.writeSlice(x),_.writeSlice(y),_.writeSlice(O),_.writeSlice(B),d||g||_.writeSlice(A),_.writeUInt8(k),l){const m=this.ins[t];_.writeSlice(m.hash),_.writeUInt32(m.index),_.writeUInt64(n[t]),_.writeVarSlice(r[t]),_.writeUInt32(m.sequence)}else _.writeUInt32(t);if(o){const m=Se.BufferWriter.withCapacity(ft(o));m.writeVarSlice(o),_.writeSlice(Fe.sha256(m.end()))}return g&&_.writeSlice(A),s&&(_.writeSlice(s),_.writeUInt8(0),_.writeUInt32(4294967295)),Fe.taggedHash("TapSighash",Buffer.concat([Buffer.from([0]),_.end()]))}hashForWitnessV0(t,r,n,i){st(ee.tuple(ee.UInt32,ee.Buffer,ee.Satoshi,ee.UInt32),arguments);let s=Buffer.from([]),o,f=Ai,c=Ai,l=Ai;if(i&X.SIGHASH_ANYONECANPAY||(s=Buffer.allocUnsafe(36*this.ins.length),o=new Se.BufferWriter(s,0),this.ins.forEach(g=>{o.writeSlice(g.hash),o.writeUInt32(g.index)}),c=Fe.hash256(s)),!(i&X.SIGHASH_ANYONECANPAY)&&(i&31)!==X.SIGHASH_SINGLE&&(i&31)!==X.SIGHASH_NONE&&(s=Buffer.allocUnsafe(4*this.ins.length),o=new Se.BufferWriter(s,0),this.ins.forEach(g=>{o.writeUInt32(g.sequence)}),l=Fe.hash256(s)),(i&31)!==X.SIGHASH_SINGLE&&(i&31)!==X.SIGHASH_NONE){const g=this.outs.reduce((x,y)=>x+8+ft(y.script),0);s=Buffer.allocUnsafe(g),o=new Se.BufferWriter(s,0),this.outs.forEach(x=>{o.writeUInt64(x.value),o.writeVarSlice(x.script)}),f=Fe.hash256(s)}else if((i&31)===X.SIGHASH_SINGLE&&t<this.outs.length){const g=this.outs[t];s=Buffer.allocUnsafe(8+ft(g.script)),o=new Se.BufferWriter(s,0),o.writeUInt64(g.value),o.writeVarSlice(g.script),f=Fe.hash256(s)}s=Buffer.allocUnsafe(156+ft(r)),o=new Se.BufferWriter(s,0);const d=this.ins[t];return o.writeInt32(this.version),o.writeSlice(c),o.writeSlice(l),o.writeSlice(d.hash),o.writeUInt32(d.index),o.writeVarSlice(r),o.writeUInt64(n),o.writeUInt32(d.sequence),o.writeSlice(f),o.writeUInt32(this.locktime),o.writeUInt32(i),Fe.hash256(s)}getHash(t){return t&&this.isCoinbase()?Buffer.alloc(32,0):Fe.hash256(this.__toBuffer(void 0,void 0,t))}getId(){return(0,Se.reverseBuffer)(this.getHash(!1)).toString("hex")}toBuffer(t,r){return this.__toBuffer(t,r,!0)}toHex(){return this.toBuffer(void 0,void 0).toString("hex")}setInputScript(t,r){st(ee.tuple(ee.Number,ee.Buffer),arguments),this.ins[t].script=r}setWitness(t,r){st(ee.tuple(ee.Number,[ee.Buffer]),arguments),this.ins[t].witness=r}__toBuffer(t,r,n=!1){t||(t=Buffer.allocUnsafe(this.byteLength(n)));const i=new Se.BufferWriter(t,r||0);i.writeInt32(this.version);const s=n&&this.hasWitnesses();return s&&(i.writeUInt8(X.ADVANCED_TRANSACTION_MARKER),i.writeUInt8(X.ADVANCED_TRANSACTION_FLAG)),i.writeVarInt(this.ins.length),this.ins.forEach(o=>{i.writeSlice(o.hash),i.writeUInt32(o.index),i.writeVarSlice(o.script),i.writeUInt32(o.sequence)}),i.writeVarInt(this.outs.length),this.outs.forEach(o=>{Zu(o)?i.writeUInt64(o.value):i.writeSlice(o.valueBuffer),i.writeVarSlice(o.script)}),s&&this.ins.forEach(o=>{i.writeVector(o.witness)}),i.writeUInt32(this.locktime),r!==void 0?t.slice(r,i.offset):t}}pn.Transaction=X;X.DEFAULT_SEQUENCE=4294967295;X.SIGHASH_DEFAULT=0;X.SIGHASH_ALL=1;X.SIGHASH_NONE=2;X.SIGHASH_SINGLE=3;X.SIGHASH_ANYONECANPAY=128;X.SIGHASH_OUTPUT_MASK=3;X.SIGHASH_INPUT_MASK=128;X.ADVANCED_TRANSACTION_MARKER=0;X.ADVANCED_TRANSACTION_FLAG=1;var ie={},bn={};Object.defineProperty(bn,"__esModule",{value:!0});const ec=9007199254740991;function vs(e){if(e<0||e>ec||e%1!==0)throw new RangeError("value out of range")}function rn(e,t,r){if(vs(e),t||(t=Buffer.allocUnsafe(Ba(e))),!Buffer.isBuffer(t))throw new TypeError("buffer must be a Buffer instance");return r||(r=0),e<253?(t.writeUInt8(e,r),Object.assign(rn,{bytes:1})):e<=65535?(t.writeUInt8(253,r),t.writeUInt16LE(e,r+1),Object.assign(rn,{bytes:3})):e<=4294967295?(t.writeUInt8(254,r),t.writeUInt32LE(e,r+1),Object.assign(rn,{bytes:5})):(t.writeUInt8(255,r),t.writeUInt32LE(e>>>0,r+1),t.writeUInt32LE(e/4294967296|0,r+5),Object.assign(rn,{bytes:9})),t}bn.encode=rn;function nn(e,t){if(!Buffer.isBuffer(e))throw new TypeError("buffer must be a Buffer instance");t||(t=0);const r=e.readUInt8(t);if(r<253)return Object.assign(nn,{bytes:1}),r;if(r===253)return Object.assign(nn,{bytes:3}),e.readUInt16LE(t+1);if(r===254)return Object.assign(nn,{bytes:5}),e.readUInt32LE(t+1);{Object.assign(nn,{bytes:9});const n=e.readUInt32LE(t+1),s=e.readUInt32LE(t+5)*4294967296+n;return vs(s),s}}bn.decode=nn;function Ba(e){return vs(e),e<253?1:e<=65535?3:e<=4294967295?5:9}bn.encodingLength=Ba;var Ii={},ei={},Le={};Object.defineProperty(Le,"__esModule",{value:!0});Le.testnet=Le.regtest=Le.bitcoin=void 0;Le.bitcoin={messagePrefix:`Bitcoin Signed Message:
|
|
7
|
+
`,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};Le.regtest={messagePrefix:`Bitcoin Signed Message:
|
|
8
|
+
`,bech32:"bcrt",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};Le.testnet={messagePrefix:`Bitcoin Signed Message:
|
|
9
|
+
`,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var qe={};Object.defineProperty(qe,"__esModule",{value:!0});qe.value=qe.prop=void 0;function tc(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){const n=r.call(this);return this[t]=n,n},set(n){Object.defineProperty(this,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}})}qe.prop=tc;function rc(e){let t;return()=>(t!==void 0||(t=e()),t)}qe.value=rc;Object.defineProperty(ei,"__esModule",{value:!0});ei.p2data=void 0;const nc=Le,Ln=Ke(),ot=Ne,Xs=qe,Js=Ln.OPS;function ic(e,t){if(!e.data&&!e.output)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,ot.typeforce)({network:ot.typeforce.maybe(ot.typeforce.Object),output:ot.typeforce.maybe(ot.typeforce.Buffer),data:ot.typeforce.maybe(ot.typeforce.arrayOf(ot.typeforce.Buffer))},e);const n={name:"embed",network:e.network||nc.bitcoin};if(Xs.prop(n,"output",()=>{if(e.data)return Ln.compile([Js.OP_RETURN].concat(e.data))}),Xs.prop(n,"data",()=>{if(e.output)return Ln.decompile(e.output).slice(1)}),t.validate&&e.output){const i=Ln.decompile(e.output);if(i[0]!==Js.OP_RETURN)throw new TypeError("Output is invalid");if(!i.slice(1).every(ot.typeforce.Buffer))throw new TypeError("Output is invalid");if(e.data&&!(0,ot.stacksEqual)(e.data,n.data))throw new TypeError("Data mismatch")}return Object.assign(n,e)}ei.p2data=ic;var ti={};Object.defineProperty(ti,"__esModule",{value:!0});ti.p2ms=void 0;const sc=Le,wr=Ke(),xe=Ne,Ut=qe,gr=wr.OPS,Pn=gr.OP_RESERVED;function oc(e,t){if(!e.input&&!e.output&&!(e.pubkeys&&e.m!==void 0)&&!e.signatures)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{});function r(c){return wr.isCanonicalScriptSignature(c)||(t.allowIncomplete&&c===gr.OP_0)!==void 0}(0,xe.typeforce)({network:xe.typeforce.maybe(xe.typeforce.Object),m:xe.typeforce.maybe(xe.typeforce.Number),n:xe.typeforce.maybe(xe.typeforce.Number),output:xe.typeforce.maybe(xe.typeforce.Buffer),pubkeys:xe.typeforce.maybe(xe.typeforce.arrayOf(xe.isPoint)),signatures:xe.typeforce.maybe(xe.typeforce.arrayOf(r)),input:xe.typeforce.maybe(xe.typeforce.Buffer)},e);const i={network:e.network||sc.bitcoin};let s=[],o=!1;function f(c){o||(o=!0,s=wr.decompile(c),i.m=s[0]-Pn,i.n=s[s.length-2]-Pn,i.pubkeys=s.slice(1,-2))}if(Ut.prop(i,"output",()=>{if(e.m&&i.n&&e.pubkeys)return wr.compile([].concat(Pn+e.m,e.pubkeys,Pn+i.n,gr.OP_CHECKMULTISIG))}),Ut.prop(i,"m",()=>{if(i.output)return f(i.output),i.m}),Ut.prop(i,"n",()=>{if(i.pubkeys)return i.pubkeys.length}),Ut.prop(i,"pubkeys",()=>{if(e.output)return f(e.output),i.pubkeys}),Ut.prop(i,"signatures",()=>{if(e.input)return wr.decompile(e.input).slice(1)}),Ut.prop(i,"input",()=>{if(e.signatures)return wr.compile([gr.OP_0].concat(e.signatures))}),Ut.prop(i,"witness",()=>{if(i.input)return[]}),Ut.prop(i,"name",()=>{if(!(!i.m||!i.n))return`p2ms(${i.m} of ${i.n})`}),t.validate){if(e.output){if(f(e.output),!xe.typeforce.Number(s[0]))throw new TypeError("Output is invalid");if(!xe.typeforce.Number(s[s.length-2]))throw new TypeError("Output is invalid");if(s[s.length-1]!==gr.OP_CHECKMULTISIG)throw new TypeError("Output is invalid");if(i.m<=0||i.n>16||i.m>i.n||i.n!==s.length-3)throw new TypeError("Output is invalid");if(!i.pubkeys.every(c=>(0,xe.isPoint)(c)))throw new TypeError("Output is invalid");if(e.m!==void 0&&e.m!==i.m)throw new TypeError("m mismatch");if(e.n!==void 0&&e.n!==i.n)throw new TypeError("n mismatch");if(e.pubkeys&&!(0,xe.stacksEqual)(e.pubkeys,i.pubkeys))throw new TypeError("Pubkeys mismatch")}if(e.pubkeys){if(e.n!==void 0&&e.n!==e.pubkeys.length)throw new TypeError("Pubkey count mismatch");if(i.n=e.pubkeys.length,i.n<i.m)throw new TypeError("Pubkey count cannot be less than m")}if(e.signatures){if(e.signatures.length<i.m)throw new TypeError("Not enough signatures provided");if(e.signatures.length>i.m)throw new TypeError("Too many signatures provided")}if(e.input){if(e.input[0]!==gr.OP_0)throw new TypeError("Input is invalid");if(i.signatures.length===0||!i.signatures.every(r))throw new TypeError("Input has invalid signature(s)");if(e.signatures&&!(0,xe.stacksEqual)(e.signatures,i.signatures))throw new TypeError("Signature mismatch");if(e.m!==void 0&&e.m!==e.signatures.length)throw new TypeError("Signature count mismatch")}}return Object.assign(i,e)}ti.p2ms=oc;var ri={};Object.defineProperty(ri,"__esModule",{value:!0});ri.p2pk=void 0;const ac=Le,mr=Ke(),tt=Ne,br=qe,Qs=mr.OPS;function fc(e,t){if(!e.input&&!e.output&&!e.pubkey&&!e.input&&!e.signature)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,tt.typeforce)({network:tt.typeforce.maybe(tt.typeforce.Object),output:tt.typeforce.maybe(tt.typeforce.Buffer),pubkey:tt.typeforce.maybe(tt.isPoint),signature:tt.typeforce.maybe(mr.isCanonicalScriptSignature),input:tt.typeforce.maybe(tt.typeforce.Buffer)},e);const r=br.value(()=>mr.decompile(e.input)),i={name:"p2pk",network:e.network||ac.bitcoin};if(br.prop(i,"output",()=>{if(e.pubkey)return mr.compile([e.pubkey,Qs.OP_CHECKSIG])}),br.prop(i,"pubkey",()=>{if(e.output)return e.output.slice(1,-1)}),br.prop(i,"signature",()=>{if(e.input)return r()[0]}),br.prop(i,"input",()=>{if(e.signature)return mr.compile([e.signature])}),br.prop(i,"witness",()=>{if(i.input)return[]}),t.validate){if(e.output){if(e.output[e.output.length-1]!==Qs.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,tt.isPoint)(i.pubkey))throw new TypeError("Output pubkey is invalid");if(e.pubkey&&!e.pubkey.equals(i.pubkey))throw new TypeError("Pubkey mismatch")}if(e.signature&&e.input&&!e.input.equals(i.input))throw new TypeError("Signature mismatch");if(e.input){if(r().length!==1)throw new TypeError("Input is invalid");if(!mr.isCanonicalScriptSignature(i.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(i,e)}ri.p2pk=fc;var ni={};function uc(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var o=e.length,f=e.charAt(0),c=Math.log(o)/Math.log(256),l=Math.log(256)/Math.log(o);function d(y){if(y instanceof Uint8Array||(ArrayBuffer.isView(y)?y=new Uint8Array(y.buffer,y.byteOffset,y.byteLength):Array.isArray(y)&&(y=Uint8Array.from(y))),!(y instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(y.length===0)return"";for(var O=0,B=0,A=0,k=y.length;A!==k&&y[A]===0;)A++,O++;for(var U=(k-A)*l+1>>>0,_=new Uint8Array(U);A!==k;){for(var m=y[A],S=0,v=U-1;(m!==0||S<B)&&v!==-1;v--,S++)m+=256*_[v]>>>0,_[v]=m%o>>>0,m=m/o>>>0;if(m!==0)throw new Error("Non-zero carry");B=S,A++}for(var $=U-B;$!==U&&_[$]===0;)$++;for(var j=f.repeat(O);$<U;++$)j+=e.charAt(_[$]);return j}function g(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return new Uint8Array;for(var O=0,B=0,A=0;y[O]===f;)B++,O++;for(var k=(y.length-O)*c+1>>>0,U=new Uint8Array(k);y[O];){var _=t[y.charCodeAt(O)];if(_===255)return;for(var m=0,S=k-1;(_!==0||m<A)&&S!==-1;S--,m++)_+=o*U[S]>>>0,U[S]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");A=m,O++}for(var v=k-A;v!==k&&U[v]===0;)v++;for(var $=new Uint8Array(B+(k-v)),j=B;v!==k;)$[j++]=U[v++];return $}function x(y){var O=g(y);if(O)return O;throw new Error("Non-base"+o+" character")}return{encode:d,decodeUnsafe:g,decode:x}}var cc=uc;const hc=cc,lc="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";var dc=hc(lc),Oi=dc,pc=function(e){function t(s){var o=Uint8Array.from(s),f=e(o),c=o.length+4,l=new Uint8Array(c);return l.set(o,0),l.set(f.subarray(0,4),o.length),Oi.encode(l,c)}function r(s){var o=s.slice(0,-4),f=s.slice(-4),c=e(o);if(!(f[0]^c[0]|f[1]^c[1]|f[2]^c[2]|f[3]^c[3]))return o}function n(s){var o=Oi.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=Oi.decode(s),f=r(o);if(!f)throw new Error("Invalid checksum");return f}return{encode:t,decode:i,decodeUnsafe:n}},{sha256:Zs}=vt,yc=pc;function bc(e){return Zs(Zs(e))}var xs=yc(bc);Object.defineProperty(ni,"__esModule",{value:!0});ni.p2pkh=void 0;const ki=jt,wc=Le,_r=Ke(),Me=Ne,bt=qe,eo=xs,Ct=_r.OPS;function gc(e,t){if(!e.address&&!e.hash&&!e.output&&!e.pubkey&&!e.input)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,Me.typeforce)({network:Me.typeforce.maybe(Me.typeforce.Object),address:Me.typeforce.maybe(Me.typeforce.String),hash:Me.typeforce.maybe(Me.typeforce.BufferN(20)),output:Me.typeforce.maybe(Me.typeforce.BufferN(25)),pubkey:Me.typeforce.maybe(Me.isPoint),signature:Me.typeforce.maybe(_r.isCanonicalScriptSignature),input:Me.typeforce.maybe(Me.typeforce.Buffer)},e);const r=bt.value(()=>{const o=Buffer.from(eo.decode(e.address)),f=o.readUInt8(0),c=o.slice(1);return{version:f,hash:c}}),n=bt.value(()=>_r.decompile(e.input)),i=e.network||wc.bitcoin,s={name:"p2pkh",network:i};if(bt.prop(s,"address",()=>{if(!s.hash)return;const o=Buffer.allocUnsafe(21);return o.writeUInt8(i.pubKeyHash,0),s.hash.copy(o,1),eo.encode(o)}),bt.prop(s,"hash",()=>{if(e.output)return e.output.slice(3,23);if(e.address)return r().hash;if(e.pubkey||s.pubkey)return ki.hash160(e.pubkey||s.pubkey)}),bt.prop(s,"output",()=>{if(s.hash)return _r.compile([Ct.OP_DUP,Ct.OP_HASH160,s.hash,Ct.OP_EQUALVERIFY,Ct.OP_CHECKSIG])}),bt.prop(s,"pubkey",()=>{if(e.input)return n()[1]}),bt.prop(s,"signature",()=>{if(e.input)return n()[0]}),bt.prop(s,"input",()=>{if(e.pubkey&&e.signature)return _r.compile([e.signature,e.pubkey])}),bt.prop(s,"witness",()=>{if(s.input)return[]}),t.validate){let o=Buffer.from([]);if(e.address){if(r().version!==i.pubKeyHash)throw new TypeError("Invalid version or Network mismatch");if(r().hash.length!==20)throw new TypeError("Invalid address");o=r().hash}if(e.hash){if(o.length>0&&!o.equals(e.hash))throw new TypeError("Hash mismatch");o=e.hash}if(e.output){if(e.output.length!==25||e.output[0]!==Ct.OP_DUP||e.output[1]!==Ct.OP_HASH160||e.output[2]!==20||e.output[23]!==Ct.OP_EQUALVERIFY||e.output[24]!==Ct.OP_CHECKSIG)throw new TypeError("Output is invalid");const f=e.output.slice(3,23);if(o.length>0&&!o.equals(f))throw new TypeError("Hash mismatch");o=f}if(e.pubkey){const f=ki.hash160(e.pubkey);if(o.length>0&&!o.equals(f))throw new TypeError("Hash mismatch");o=f}if(e.input){const f=n();if(f.length!==2)throw new TypeError("Input is invalid");if(!_r.isCanonicalScriptSignature(f[0]))throw new TypeError("Input has invalid signature");if(!(0,Me.isPoint)(f[1]))throw new TypeError("Input has invalid pubkey");if(e.signature&&!e.signature.equals(f[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(f[1]))throw new TypeError("Pubkey mismatch");const c=ki.hash160(f[1]);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch")}}return Object.assign(s,e)}ni.p2pkh=gc;var ii={};Object.defineProperty(ii,"__esModule",{value:!0});ii.p2sh=void 0;const to=jt,mc=Le,ut=Ke(),fe=Ne,at=qe,ro=xs,jr=ut.OPS;function _c(e,t){if(!e.address&&!e.hash&&!e.output&&!e.redeem&&!e.input)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,fe.typeforce)({network:fe.typeforce.maybe(fe.typeforce.Object),address:fe.typeforce.maybe(fe.typeforce.String),hash:fe.typeforce.maybe(fe.typeforce.BufferN(20)),output:fe.typeforce.maybe(fe.typeforce.BufferN(23)),redeem:fe.typeforce.maybe({network:fe.typeforce.maybe(fe.typeforce.Object),output:fe.typeforce.maybe(fe.typeforce.Buffer),input:fe.typeforce.maybe(fe.typeforce.Buffer),witness:fe.typeforce.maybe(fe.typeforce.arrayOf(fe.typeforce.Buffer))}),input:fe.typeforce.maybe(fe.typeforce.Buffer),witness:fe.typeforce.maybe(fe.typeforce.arrayOf(fe.typeforce.Buffer))},e);let r=e.network;r||(r=e.redeem&&e.redeem.network||mc.bitcoin);const n={network:r},i=at.value(()=>{const f=Buffer.from(ro.decode(e.address)),c=f.readUInt8(0),l=f.slice(1);return{version:c,hash:l}}),s=at.value(()=>ut.decompile(e.input)),o=at.value(()=>{const f=s(),c=f[f.length-1];return{network:r,output:c===jr.OP_FALSE?Buffer.from([]):c,input:ut.compile(f.slice(0,-1)),witness:e.witness||[]}});if(at.prop(n,"address",()=>{if(!n.hash)return;const f=Buffer.allocUnsafe(21);return f.writeUInt8(n.network.scriptHash,0),n.hash.copy(f,1),ro.encode(f)}),at.prop(n,"hash",()=>{if(e.output)return e.output.slice(2,22);if(e.address)return i().hash;if(n.redeem&&n.redeem.output)return to.hash160(n.redeem.output)}),at.prop(n,"output",()=>{if(n.hash)return ut.compile([jr.OP_HASH160,n.hash,jr.OP_EQUAL])}),at.prop(n,"redeem",()=>{if(e.input)return o()}),at.prop(n,"input",()=>{if(!(!e.redeem||!e.redeem.input||!e.redeem.output))return ut.compile([].concat(ut.decompile(e.redeem.input),e.redeem.output))}),at.prop(n,"witness",()=>{if(n.redeem&&n.redeem.witness)return n.redeem.witness;if(n.input)return[]}),at.prop(n,"name",()=>{const f=["p2sh"];return n.redeem!==void 0&&n.redeem.name!==void 0&&f.push(n.redeem.name),f.join("-")}),t.validate){let f=Buffer.from([]);if(e.address){if(i().version!==r.scriptHash)throw new TypeError("Invalid version or Network mismatch");if(i().hash.length!==20)throw new TypeError("Invalid address");f=i().hash}if(e.hash){if(f.length>0&&!f.equals(e.hash))throw new TypeError("Hash mismatch");f=e.hash}if(e.output){if(e.output.length!==23||e.output[0]!==jr.OP_HASH160||e.output[1]!==20||e.output[22]!==jr.OP_EQUAL)throw new TypeError("Output is invalid");const l=e.output.slice(2,22);if(f.length>0&&!f.equals(l))throw new TypeError("Hash mismatch");f=l}const c=l=>{if(l.output){const d=ut.decompile(l.output);if(!d||d.length<1)throw new TypeError("Redeem.output too short");if(l.output.byteLength>520)throw new TypeError("Redeem.output unspendable if larger than 520 bytes");if(ut.countNonPushOnlyOPs(d)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const g=to.hash160(l.output);if(f.length>0&&!f.equals(g))throw new TypeError("Hash mismatch");f=g}if(l.input){const d=l.input.length>0,g=l.witness&&l.witness.length>0;if(!d&&!g)throw new TypeError("Empty input");if(d&&g)throw new TypeError("Input and witness provided");if(d){const x=ut.decompile(l.input);if(!ut.isPushOnly(x))throw new TypeError("Non push-only scriptSig")}}};if(e.input){const l=s();if(!l||l.length<1)throw new TypeError("Input too short");if(!Buffer.isBuffer(o().output))throw new TypeError("Input is invalid");c(o())}if(e.redeem){if(e.redeem.network&&e.redeem.network!==r)throw new TypeError("Network mismatch");if(e.input){const l=o();if(e.redeem.output&&!e.redeem.output.equals(l.output))throw new TypeError("Redeem.output mismatch");if(e.redeem.input&&!e.redeem.input.equals(l.input))throw new TypeError("Redeem.input mismatch")}c(e.redeem)}if(e.witness&&e.redeem&&e.redeem.witness&&!(0,fe.stacksEqual)(e.redeem.witness,e.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(n,e)}ii.p2sh=_c;var si={},Bt={};Object.defineProperty(Bt,"__esModule",{value:!0});Bt.bech32m=Bt.bech32=void 0;const Vn="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Pa={};for(let e=0;e<Vn.length;e++){const t=Vn.charAt(e);Pa[t]=e}function xr(e){const t=e>>25;return(e&33554431)<<5^-(t>>0&1)&996825010^-(t>>1&1)&642813549^-(t>>2&1)&513874426^-(t>>3&1)&1027748829^-(t>>4&1)&705979059}function no(e){let t=1;for(let r=0;r<e.length;++r){const n=e.charCodeAt(r);if(n<33||n>126)return"Invalid prefix ("+e+")";t=xr(t)^n>>5}t=xr(t);for(let r=0;r<e.length;++r){const n=e.charCodeAt(r);t=xr(t)^n&31}return t}function Ss(e,t,r,n){let i=0,s=0;const o=(1<<r)-1,f=[];for(let c=0;c<e.length;++c)for(i=i<<t|e[c],s+=t;s>=r;)s-=r,f.push(i>>s&o);if(n)s>0&&f.push(i<<r-s&o);else{if(s>=t)return"Excess padding";if(i<<r-s&o)return"Non-zero padding"}return f}function Ec(e){return Ss(e,8,5,!0)}function vc(e){const t=Ss(e,5,8,!1);if(Array.isArray(t))return t}function xc(e){const t=Ss(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}function Ta(e){let t;e==="bech32"?t=1:t=734539939;function r(o,f,c){if(c=c||90,o.length+7+f.length>c)throw new TypeError("Exceeds length limit");o=o.toLowerCase();let l=no(o);if(typeof l=="string")throw new Error(l);let d=o+"1";for(let g=0;g<f.length;++g){const x=f[g];if(x>>5)throw new Error("Non 5-bit word");l=xr(l)^x,d+=Vn.charAt(x)}for(let g=0;g<6;++g)l=xr(l);l^=t;for(let g=0;g<6;++g){const x=l>>(5-g)*5&31;d+=Vn.charAt(x)}return d}function n(o,f){if(f=f||90,o.length<8)return o+" too short";if(o.length>f)return"Exceeds length limit";const c=o.toLowerCase(),l=o.toUpperCase();if(o!==c&&o!==l)return"Mixed-case string "+o;o=c;const d=o.lastIndexOf("1");if(d===-1)return"No separator character for "+o;if(d===0)return"Missing prefix for "+o;const g=o.slice(0,d),x=o.slice(d+1);if(x.length<6)return"Data too short";let y=no(g);if(typeof y=="string")return y;const O=[];for(let B=0;B<x.length;++B){const A=x.charAt(B),k=Pa[A];if(k===void 0)return"Unknown character "+A;y=xr(y)^k,!(B+6>=x.length)&&O.push(k)}return y!==t?"Invalid checksum for "+o:{prefix:g,words:O}}function i(o,f){const c=n(o,f);if(typeof c=="object")return c}function s(o,f){const c=n(o,f);if(typeof c=="object")return c;throw new Error(c)}return{decodeUnsafe:i,decode:s,encode:r,toWords:Ec,fromWordsUnsafe:vc,fromWords:xc}}Bt.bech32=Ta("bech32");Bt.bech32m=Ta("bech32m");Object.defineProperty(si,"__esModule",{value:!0});si.p2wpkh=void 0;const Ri=jt,Sc=Le,Nn=Ke(),Be=Ne,Lt=qe,Tn=Bt,io=Nn.OPS,Bc=Buffer.alloc(0);function Pc(e,t){if(!e.address&&!e.hash&&!e.output&&!e.pubkey&&!e.witness)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,Be.typeforce)({address:Be.typeforce.maybe(Be.typeforce.String),hash:Be.typeforce.maybe(Be.typeforce.BufferN(20)),input:Be.typeforce.maybe(Be.typeforce.BufferN(0)),network:Be.typeforce.maybe(Be.typeforce.Object),output:Be.typeforce.maybe(Be.typeforce.BufferN(22)),pubkey:Be.typeforce.maybe(Be.isPoint),signature:Be.typeforce.maybe(Nn.isCanonicalScriptSignature),witness:Be.typeforce.maybe(Be.typeforce.arrayOf(Be.typeforce.Buffer))},e);const r=Lt.value(()=>{const s=Tn.bech32.decode(e.address),o=s.words.shift(),f=Tn.bech32.fromWords(s.words);return{version:o,prefix:s.prefix,data:Buffer.from(f)}}),n=e.network||Sc.bitcoin,i={name:"p2wpkh",network:n};if(Lt.prop(i,"address",()=>{if(!i.hash)return;const s=Tn.bech32.toWords(i.hash);return s.unshift(0),Tn.bech32.encode(n.bech32,s)}),Lt.prop(i,"hash",()=>{if(e.output)return e.output.slice(2,22);if(e.address)return r().data;if(e.pubkey||i.pubkey)return Ri.hash160(e.pubkey||i.pubkey)}),Lt.prop(i,"output",()=>{if(i.hash)return Nn.compile([io.OP_0,i.hash])}),Lt.prop(i,"pubkey",()=>{if(e.pubkey)return e.pubkey;if(e.witness)return e.witness[1]}),Lt.prop(i,"signature",()=>{if(e.witness)return e.witness[0]}),Lt.prop(i,"input",()=>{if(i.witness)return Bc}),Lt.prop(i,"witness",()=>{if(e.pubkey&&e.signature)return[e.signature,e.pubkey]}),t.validate){let s=Buffer.from([]);if(e.address){if(n&&n.bech32!==r().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(r().version!==0)throw new TypeError("Invalid address version");if(r().data.length!==20)throw new TypeError("Invalid address data");s=r().data}if(e.hash){if(s.length>0&&!s.equals(e.hash))throw new TypeError("Hash mismatch");s=e.hash}if(e.output){if(e.output.length!==22||e.output[0]!==io.OP_0||e.output[1]!==20)throw new TypeError("Output is invalid");if(s.length>0&&!s.equals(e.output.slice(2)))throw new TypeError("Hash mismatch");s=e.output.slice(2)}if(e.pubkey){const o=Ri.hash160(e.pubkey);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch");if(s=o,!(0,Be.isPoint)(e.pubkey)||e.pubkey.length!==33)throw new TypeError("Invalid pubkey for p2wpkh")}if(e.witness){if(e.witness.length!==2)throw new TypeError("Witness is invalid");if(!Nn.isCanonicalScriptSignature(e.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,Be.isPoint)(e.witness[1])||e.witness[1].length!==33)throw new TypeError("Witness has invalid pubkey");if(e.signature&&!e.signature.equals(e.witness[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(e.witness[1]))throw new TypeError("Pubkey mismatch");const o=Ri.hash160(e.witness[1]);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch")}}return Object.assign(i,e)}si.p2wpkh=Pc;var oi={};Object.defineProperty(oi,"__esModule",{value:!0});oi.p2wsh=void 0;const so=jt,Tc=Le,_t=Ke(),se=Ne,wt=qe,An=Bt,oo=_t.OPS,Ui=Buffer.alloc(0);function In(e){return!!(Buffer.isBuffer(e)&&e.length===65&&e[0]===4&&(0,se.isPoint)(e))}function Ac(e,t){if(!e.address&&!e.hash&&!e.output&&!e.redeem&&!e.witness)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,se.typeforce)({network:se.typeforce.maybe(se.typeforce.Object),address:se.typeforce.maybe(se.typeforce.String),hash:se.typeforce.maybe(se.typeforce.BufferN(32)),output:se.typeforce.maybe(se.typeforce.BufferN(34)),redeem:se.typeforce.maybe({input:se.typeforce.maybe(se.typeforce.Buffer),network:se.typeforce.maybe(se.typeforce.Object),output:se.typeforce.maybe(se.typeforce.Buffer),witness:se.typeforce.maybe(se.typeforce.arrayOf(se.typeforce.Buffer))}),input:se.typeforce.maybe(se.typeforce.BufferN(0)),witness:se.typeforce.maybe(se.typeforce.arrayOf(se.typeforce.Buffer))},e);const r=wt.value(()=>{const o=An.bech32.decode(e.address),f=o.words.shift(),c=An.bech32.fromWords(o.words);return{version:f,prefix:o.prefix,data:Buffer.from(c)}}),n=wt.value(()=>_t.decompile(e.redeem.input));let i=e.network;i||(i=e.redeem&&e.redeem.network||Tc.bitcoin);const s={network:i};if(wt.prop(s,"address",()=>{if(!s.hash)return;const o=An.bech32.toWords(s.hash);return o.unshift(0),An.bech32.encode(i.bech32,o)}),wt.prop(s,"hash",()=>{if(e.output)return e.output.slice(2);if(e.address)return r().data;if(s.redeem&&s.redeem.output)return so.sha256(s.redeem.output)}),wt.prop(s,"output",()=>{if(s.hash)return _t.compile([oo.OP_0,s.hash])}),wt.prop(s,"redeem",()=>{if(e.witness)return{output:e.witness[e.witness.length-1],input:Ui,witness:e.witness.slice(0,-1)}}),wt.prop(s,"input",()=>{if(s.witness)return Ui}),wt.prop(s,"witness",()=>{if(e.redeem&&e.redeem.input&&e.redeem.input.length>0&&e.redeem.output&&e.redeem.output.length>0){const o=_t.toStack(n());return s.redeem=Object.assign({witness:o},e.redeem),s.redeem.input=Ui,[].concat(o,e.redeem.output)}if(e.redeem&&e.redeem.output&&e.redeem.witness)return[].concat(e.redeem.witness,e.redeem.output)}),wt.prop(s,"name",()=>{const o=["p2wsh"];return s.redeem!==void 0&&s.redeem.name!==void 0&&o.push(s.redeem.name),o.join("-")}),t.validate){let o=Buffer.from([]);if(e.address){if(r().prefix!==i.bech32)throw new TypeError("Invalid prefix or Network mismatch");if(r().version!==0)throw new TypeError("Invalid address version");if(r().data.length!==32)throw new TypeError("Invalid address data");o=r().data}if(e.hash){if(o.length>0&&!o.equals(e.hash))throw new TypeError("Hash mismatch");o=e.hash}if(e.output){if(e.output.length!==34||e.output[0]!==oo.OP_0||e.output[1]!==32)throw new TypeError("Output is invalid");const f=e.output.slice(2);if(o.length>0&&!o.equals(f))throw new TypeError("Hash mismatch");o=f}if(e.redeem){if(e.redeem.network&&e.redeem.network!==i)throw new TypeError("Network mismatch");if(e.redeem.input&&e.redeem.input.length>0&&e.redeem.witness&&e.redeem.witness.length>0)throw new TypeError("Ambiguous witness source");if(e.redeem.output){const f=_t.decompile(e.redeem.output);if(!f||f.length<1)throw new TypeError("Redeem.output is invalid");if(e.redeem.output.byteLength>3600)throw new TypeError("Redeem.output unspendable if larger than 3600 bytes");if(_t.countNonPushOnlyOPs(f)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const c=so.sha256(e.redeem.output);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch");o=c}if(e.redeem.input&&!_t.isPushOnly(n()))throw new TypeError("Non push-only scriptSig");if(e.witness&&e.redeem.witness&&!(0,se.stacksEqual)(e.witness,e.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(e.redeem.input&&n().some(In)||e.redeem.output&&(_t.decompile(e.redeem.output)||[]).some(In))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(e.witness&&e.witness.length>0){const f=e.witness[e.witness.length-1];if(e.redeem&&e.redeem.output&&!e.redeem.output.equals(f))throw new TypeError("Witness and redeem.output mismatch");if(e.witness.some(In)||(_t.decompile(f)||[]).some(In))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(s,e)}oi.p2wsh=Ac;var Gr={},er={};Object.defineProperty(er,"__esModule",{value:!0});er.getEccLib=er.initEccLib=void 0;const sn={};function Ic(e){e?e!==sn.eccLib&&(kc(e),sn.eccLib=e):sn.eccLib=e}er.initEccLib=Ic;function Oc(){if(!sn.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return sn.eccLib}er.getEccLib=Oc;const gt=e=>Buffer.from(e,"hex");function kc(e){Xe(typeof e.isXOnlyPoint=="function"),Xe(e.isXOnlyPoint(gt("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),Xe(e.isXOnlyPoint(gt("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),Xe(e.isXOnlyPoint(gt("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),Xe(e.isXOnlyPoint(gt("0000000000000000000000000000000000000000000000000000000000000001"))),Xe(!e.isXOnlyPoint(gt("0000000000000000000000000000000000000000000000000000000000000000"))),Xe(!e.isXOnlyPoint(gt("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),Xe(typeof e.xOnlyPointAddTweak=="function"),Rc.forEach(t=>{const r=e.xOnlyPointAddTweak(gt(t.pubkey),gt(t.tweak));t.result===null?Xe(r===null):(Xe(r!==null),Xe(r.parity===t.parity),Xe(Buffer.from(r.xOnlyPubkey).equals(gt(t.result))))})}function Xe(e){if(!e)throw new Error("ecc library invalid")}const Rc=[{pubkey:"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",tweak:"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",parity:-1,result:null},{pubkey:"1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b",tweak:"a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac",parity:1,result:"e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"},{pubkey:"2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991",tweak:"823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47",parity:0,result:"9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"}];var Bs={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.tweakKey=e.tapTweakHash=e.tapleafHash=e.findScriptPath=e.toHashTree=e.rootHashFromPath=e.MAX_TAPTREE_DEPTH=e.LEAF_VERSION_TAPSCRIPT=void 0;const t=Tt,r=er,n=jt,i=Ie,s=Ne;e.LEAF_VERSION_TAPSCRIPT=192,e.MAX_TAPTREE_DEPTH=128;const o=B=>"left"in B&&"right"in B;function f(B,A){if(B.length<33)throw new TypeError(`The control-block length is too small. Got ${B.length}, expected min 33.`);const k=(B.length-33)/32;let U=A;for(let _=0;_<k;_++){const m=B.slice(33+32*_,65+32*_);U.compare(m)<0?U=y(U,m):U=y(m,U)}return U}e.rootHashFromPath=f;function c(B){if((0,s.isTapleaf)(B))return{hash:d(B)};const A=[c(B[0]),c(B[1])];A.sort((_,m)=>_.hash.compare(m.hash));const[k,U]=A;return{hash:y(k.hash,U.hash),left:k,right:U}}e.toHashTree=c;function l(B,A){if(o(B)){const k=l(B.left,A);if(k!==void 0)return[...k,B.right.hash];const U=l(B.right,A);if(U!==void 0)return[...U,B.left.hash]}else if(B.hash.equals(A))return[]}e.findScriptPath=l;function d(B){const A=B.version||e.LEAF_VERSION_TAPSCRIPT;return n.taggedHash("TapLeaf",t.Buffer.concat([t.Buffer.from([A]),O(B.output)]))}e.tapleafHash=d;function g(B,A){return n.taggedHash("TapTweak",t.Buffer.concat(A?[B,A]:[B]))}e.tapTweakHash=g;function x(B,A){if(!t.Buffer.isBuffer(B)||B.length!==32||A&&A.length!==32)return null;const k=g(B,A),U=(0,r.getEccLib)().xOnlyPointAddTweak(B,k);return!U||U.xOnlyPubkey===null?null:{parity:U.parity,x:t.Buffer.from(U.xOnlyPubkey)}}e.tweakKey=x;function y(B,A){return n.taggedHash("TapBranch",t.Buffer.concat([B,A]))}function O(B){const A=i.varuint.encodingLength(B.length),k=t.Buffer.allocUnsafe(A);return i.varuint.encode(B.length,k),t.Buffer.concat([k,B])}})(Bs);var He={},ao;function Uc(){if(ao)return He;ao=1,Object.defineProperty(He,"__esModule",{value:!0}),He.toOutputScript=He.fromOutputScript=He.toBech32=He.toBase58Check=He.fromBech32=He.fromBase58Check=void 0;const e=Le,t=Ps(),r=Ke(),n=Ne,i=Bt,s=xs,o=40,f=2,c=16,l=2,d=80,g="WARNING: Sending to a future segwit version address can lead to loss of funds. End users MUST be warned carefully in the GUI and asked if they wish to proceed with caution. Wallets should verify the segwit version from the output of fromBech32, then decide when it is safe to use which version of segwit.";function x(_,m){const S=_.slice(2);if(S.length<f||S.length>o)throw new TypeError("Invalid program length for segwit address");const v=_[0]-d;if(v<l||v>c)throw new TypeError("Invalid version for segwit address");if(_[1]!==S.length)throw new TypeError("Invalid script for segwit address");return console.warn(g),A(S,v,m.bech32)}function y(_){const m=Buffer.from(s.decode(_));if(m.length<21)throw new TypeError(_+" is too short");if(m.length>21)throw new TypeError(_+" is too long");const S=m.readUInt8(0),v=m.slice(1);return{version:S,hash:v}}He.fromBase58Check=y;function O(_){let m,S;try{m=i.bech32.decode(_)}catch{}if(m){if(S=m.words[0],S!==0)throw new TypeError(_+" uses wrong encoding")}else if(m=i.bech32m.decode(_),S=m.words[0],S===0)throw new TypeError(_+" uses wrong encoding");const v=i.bech32.fromWords(m.words.slice(1));return{version:S,prefix:m.prefix,data:Buffer.from(v)}}He.fromBech32=O;function B(_,m){(0,n.typeforce)((0,n.tuple)(n.Hash160bit,n.UInt8),arguments);const S=Buffer.allocUnsafe(21);return S.writeUInt8(m,0),_.copy(S,1),s.encode(S)}He.toBase58Check=B;function A(_,m,S){const v=i.bech32.toWords(_);return v.unshift(m),m===0?i.bech32.encode(S,v):i.bech32m.encode(S,v)}He.toBech32=A;function k(_,m){m=m||e.bitcoin;try{return t.p2pkh({output:_,network:m}).address}catch{}try{return t.p2sh({output:_,network:m}).address}catch{}try{return t.p2wpkh({output:_,network:m}).address}catch{}try{return t.p2wsh({output:_,network:m}).address}catch{}try{return t.p2tr({output:_,network:m}).address}catch{}try{return x(_,m)}catch{}throw new Error(r.toASM(_)+" has no matching Address")}He.fromOutputScript=k;function U(_,m){m=m||e.bitcoin;let S,v;try{S=y(_)}catch{}if(S){if(S.version===m.pubKeyHash)return t.p2pkh({hash:S.hash}).output;if(S.version===m.scriptHash)return t.p2sh({hash:S.hash}).output}else{try{v=O(_)}catch{}if(v){if(v.prefix!==m.bech32)throw new Error(_+" has an invalid prefix");if(v.version===0){if(v.data.length===20)return t.p2wpkh({hash:v.data}).output;if(v.data.length===32)return t.p2wsh({hash:v.data}).output}else if(v.version===1){if(v.data.length===32)return t.p2tr({pubkey:v.data}).output}else if(v.version>=l&&v.version<=c&&v.data.length>=f&&v.data.length<=o)return console.warn(g),r.compile([v.version+d,v.data])}}throw new Error(_+" has no matching Script")}return He.toOutputScript=U,He}var fo;function Cc(){if(fo)return Gr;fo=1,Object.defineProperty(Gr,"__esModule",{value:!0}),Gr.p2tr=void 0;const e=Tt,t=Le,r=Ke(),n=Ne,i=er,s=Bs,o=qe,f=Bt,c=Uc(),l=r.OPS,d=1,g=80;function x(y,O){if(!y.address&&!y.output&&!y.pubkey&&!y.internalPubkey&&!(y.witness&&y.witness.length>1))throw new TypeError("Not enough data");O=Object.assign({validate:!0},O||{}),(0,n.typeforce)({address:n.typeforce.maybe(n.typeforce.String),input:n.typeforce.maybe(n.typeforce.BufferN(0)),network:n.typeforce.maybe(n.typeforce.Object),output:n.typeforce.maybe(n.typeforce.BufferN(34)),internalPubkey:n.typeforce.maybe(n.typeforce.BufferN(32)),hash:n.typeforce.maybe(n.typeforce.BufferN(32)),pubkey:n.typeforce.maybe(n.typeforce.BufferN(32)),signature:n.typeforce.maybe(n.typeforce.anyOf(n.typeforce.BufferN(64),n.typeforce.BufferN(65))),witness:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer)),scriptTree:n.typeforce.maybe(n.isTaptree),redeem:n.typeforce.maybe({output:n.typeforce.maybe(n.typeforce.Buffer),redeemVersion:n.typeforce.maybe(n.typeforce.Number),witness:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer))}),redeemVersion:n.typeforce.maybe(n.typeforce.Number)},y);const B=o.value(()=>(0,c.fromBech32)(y.address)),A=o.value(()=>{if(!(!y.witness||!y.witness.length))return y.witness.length>=2&&y.witness[y.witness.length-1][0]===g?y.witness.slice(0,-1):y.witness.slice()}),k=o.value(()=>{if(y.scriptTree)return(0,s.toHashTree)(y.scriptTree);if(y.hash)return{hash:y.hash}}),U=y.network||t.bitcoin,_={name:"p2tr",network:U};if(o.prop(_,"address",()=>{if(!_.pubkey)return;const m=f.bech32m.toWords(_.pubkey);return m.unshift(d),f.bech32m.encode(U.bech32,m)}),o.prop(_,"hash",()=>{const m=k();if(m)return m.hash;const S=A();if(S&&S.length>1){const v=S[S.length-1],$=v[0]&n.TAPLEAF_VERSION_MASK,j=S[S.length-2],R=(0,s.tapleafHash)({output:j,version:$});return(0,s.rootHashFromPath)(v,R)}return null}),o.prop(_,"output",()=>{if(_.pubkey)return r.compile([l.OP_1,_.pubkey])}),o.prop(_,"redeemVersion",()=>y.redeemVersion?y.redeemVersion:y.redeem&&y.redeem.redeemVersion!==void 0&&y.redeem.redeemVersion!==null?y.redeem.redeemVersion:s.LEAF_VERSION_TAPSCRIPT),o.prop(_,"redeem",()=>{const m=A();if(!(!m||m.length<2))return{output:m[m.length-2],witness:m.slice(0,-2),redeemVersion:m[m.length-1][0]&n.TAPLEAF_VERSION_MASK}}),o.prop(_,"pubkey",()=>{if(y.pubkey)return y.pubkey;if(y.output)return y.output.slice(2);if(y.address)return B().data;if(_.internalPubkey){const m=(0,s.tweakKey)(_.internalPubkey,_.hash);if(m)return m.x}}),o.prop(_,"internalPubkey",()=>{if(y.internalPubkey)return y.internalPubkey;const m=A();if(m&&m.length>1)return m[m.length-1].slice(1,33)}),o.prop(_,"signature",()=>{if(y.signature)return y.signature;const m=A();if(!(!m||m.length!==1))return m[0]}),o.prop(_,"witness",()=>{if(y.witness)return y.witness;const m=k();if(m&&y.redeem&&y.redeem.output&&y.internalPubkey){const S=(0,s.tapleafHash)({output:y.redeem.output,version:_.redeemVersion}),v=(0,s.findScriptPath)(m,S);if(!v)return;const $=(0,s.tweakKey)(y.internalPubkey,m.hash);if(!$)return;const j=e.Buffer.concat([e.Buffer.from([_.redeemVersion|$.parity]),y.internalPubkey].concat(v));return[y.redeem.output,j]}if(y.signature)return[y.signature]}),O.validate){let m=e.Buffer.from([]);if(y.address){if(U&&U.bech32!==B().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(B().version!==d)throw new TypeError("Invalid address version");if(B().data.length!==32)throw new TypeError("Invalid address data");m=B().data}if(y.pubkey){if(m.length>0&&!m.equals(y.pubkey))throw new TypeError("Pubkey mismatch");m=y.pubkey}if(y.output){if(y.output.length!==34||y.output[0]!==l.OP_1||y.output[1]!==32)throw new TypeError("Output is invalid");if(m.length>0&&!m.equals(y.output.slice(2)))throw new TypeError("Pubkey mismatch");m=y.output.slice(2)}if(y.internalPubkey){const $=(0,s.tweakKey)(y.internalPubkey,_.hash);if(m.length>0&&!m.equals($.x))throw new TypeError("Pubkey mismatch");m=$.x}if(m&&m.length&&!(0,i.getEccLib)().isXOnlyPoint(m))throw new TypeError("Invalid pubkey for p2tr");const S=k();if(y.hash&&S&&!y.hash.equals(S.hash))throw new TypeError("Hash mismatch");if(y.redeem&&y.redeem.output&&S){const $=(0,s.tapleafHash)({output:y.redeem.output,version:_.redeemVersion});if(!(0,s.findScriptPath)(S,$))throw new TypeError("Redeem script not in tree")}const v=A();if(y.redeem&&_.redeem){if(y.redeem.redeemVersion&&y.redeem.redeemVersion!==_.redeem.redeemVersion)throw new TypeError("Redeem.redeemVersion and witness mismatch");if(y.redeem.output){if(r.decompile(y.redeem.output).length===0)throw new TypeError("Redeem.output is invalid");if(_.redeem.output&&!y.redeem.output.equals(_.redeem.output))throw new TypeError("Redeem.output and witness mismatch")}if(y.redeem.witness&&_.redeem.witness&&!(0,n.stacksEqual)(y.redeem.witness,_.redeem.witness))throw new TypeError("Redeem.witness and witness mismatch")}if(v&&v.length)if(v.length===1){if(y.signature&&!y.signature.equals(v[0]))throw new TypeError("Signature mismatch")}else{const $=v[v.length-1];if($.length<33)throw new TypeError(`The control-block length is too small. Got ${$.length}, expected min 33.`);if(($.length-33)%32!==0)throw new TypeError(`The control-block length of ${$.length} is incorrect!`);const j=($.length-33)/32;if(j>128)throw new TypeError(`The script path is too long. Got ${j}, expected max 128.`);const R=$.slice(1,33);if(y.internalPubkey&&!y.internalPubkey.equals(R))throw new TypeError("Internal pubkey mismatch");if(!(0,i.getEccLib)().isXOnlyPoint(R))throw new TypeError("Invalid internalPubkey for p2tr witness");const z=$[0]&n.TAPLEAF_VERSION_MASK,Z=v[v.length-2],C=(0,s.tapleafHash)({output:Z,version:z}),H=(0,s.rootHashFromPath)($,C),V=(0,s.tweakKey)(R,H);if(!V)throw new TypeError("Invalid outputKey for p2tr witness");if(m.length&&!m.equals(V.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(V.parity!==($[0]&1))throw new Error("Incorrect parity")}}return Object.assign(_,y)}return Gr.p2tr=x,Gr}var uo;function Ps(){return uo||(uo=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.p2tr=e.p2wsh=e.p2wpkh=e.p2sh=e.p2pkh=e.p2pk=e.p2ms=e.embed=void 0;const t=ei;Object.defineProperty(e,"embed",{enumerable:!0,get:function(){return t.p2data}});const r=ti;Object.defineProperty(e,"p2ms",{enumerable:!0,get:function(){return r.p2ms}});const n=ri;Object.defineProperty(e,"p2pk",{enumerable:!0,get:function(){return n.p2pk}});const i=ni;Object.defineProperty(e,"p2pkh",{enumerable:!0,get:function(){return i.p2pkh}});const s=ii;Object.defineProperty(e,"p2sh",{enumerable:!0,get:function(){return s.p2sh}});const o=si;Object.defineProperty(e,"p2wpkh",{enumerable:!0,get:function(){return o.p2wpkh}});const f=oi;Object.defineProperty(e,"p2wsh",{enumerable:!0,get:function(){return f.p2wsh}});const c=Cc();Object.defineProperty(e,"p2tr",{enumerable:!0,get:function(){return c.p2tr}})}(Ii)),Ii}Object.defineProperty(ie,"__esModule",{value:!0});ie.signatureBlocksAction=ie.checkInputForSig=ie.pubkeyInScript=ie.pubkeyPositionInScript=ie.witnessStackToScriptWitness=ie.isP2TR=ie.isP2SHScript=ie.isP2WSHScript=ie.isP2WPKH=ie.isP2PKH=ie.isP2PK=ie.isP2MS=void 0;const co=bn,on=Ke(),On=pn,Lc=jt,or=Ps();function ar(e){return t=>{try{return e({output:t}),!0}catch{return!1}}}ie.isP2MS=ar(or.p2ms);ie.isP2PK=ar(or.p2pk);ie.isP2PKH=ar(or.p2pkh);ie.isP2WPKH=ar(or.p2wpkh);ie.isP2WSHScript=ar(or.p2wsh);ie.isP2SHScript=ar(or.p2sh);ie.isP2TR=ar(or.p2tr);function Nc(e){let t=Buffer.allocUnsafe(0);function r(o){t=Buffer.concat([t,Buffer.from(o)])}function n(o){const f=t.length,c=co.encodingLength(o);t=Buffer.concat([t,Buffer.allocUnsafe(c)]),co.encode(o,t,f)}function i(o){n(o.length),r(o)}function s(o){n(o.length),o.forEach(i)}return s(e),t}ie.witnessStackToScriptWitness=Nc;function Aa(e,t){const r=(0,Lc.hash160)(e),n=e.slice(1,33),i=on.decompile(t);if(i===null)throw new Error("Unknown script error");return i.findIndex(s=>typeof s=="number"?!1:s.equals(e)||s.equals(r)||s.equals(n))}ie.pubkeyPositionInScript=Aa;function Fc(e,t){return Aa(e,t)!==-1}ie.pubkeyInScript=Fc;function Mc(e,t){return Hc(e).some(n=>Ia(n,on.signature.decode,t))}ie.checkInputForSig=Mc;function Ia(e,t,r){const{hashType:n}=t(e),i=[];switch(n&On.Transaction.SIGHASH_ANYONECANPAY&&i.push("addInput"),n&31){case On.Transaction.SIGHASH_ALL:break;case On.Transaction.SIGHASH_SINGLE:case On.Transaction.SIGHASH_NONE:i.push("addOutput"),i.push("setInputSequence");break}return i.indexOf(r)===-1}ie.signatureBlocksAction=Ia;function Hc(e){let t=[];if((e.partialSig||[]).length===0){if(!e.finalScriptSig&&!e.finalScriptWitness)return[];t=$c(e)}else t=e.partialSig;return t.map(r=>r.signature)}function $c(e){const t=e.finalScriptSig?on.decompile(e.finalScriptSig)||[]:[],r=e.finalScriptWitness?on.decompile(e.finalScriptWitness)||[]:[];return t.concat(r).filter(n=>Buffer.isBuffer(n)&&on.isCanonicalScriptSignature(n)).map(n=>({signature:n}))}Object.defineProperty(me,"__esModule",{value:!0});me.checkTaprootInputForSigs=me.tapTreeFromList=me.tapTreeToList=me.tweakInternalPubKey=me.checkTaprootOutputFields=me.checkTaprootInputFields=me.isTaprootOutput=me.isTaprootInput=Fn=me.serializeTaprootSignature=me.tapScriptFinalizer=me.toXOnly=void 0;const Ts=Ne,Dc=pn,ai=ie,Dt=Bs,jc=Ps(),Gc=ie,Vc=e=>e.length===32?e:e.slice(1,33);me.toXOnly=Vc;function Wc(e,t,r){const n=uh(t,e,r);try{const s=ah(t,n).concat(n.script).concat(n.controlBlock);return{finalScriptWitness:(0,ai.witnessStackToScriptWitness)(s)}}catch(i){throw new Error(`Can not finalize taproot input #${e}: ${i}`)}}me.tapScriptFinalizer=Wc;function zc(e,t){const r=t?Buffer.from([t]):Buffer.from([]);return Buffer.concat([e,r])}var Fn=me.serializeTaprootSignature=zc;function Mn(e){return e&&!!(e.tapInternalKey||e.tapMerkleRoot||e.tapLeafScript&&e.tapLeafScript.length||e.tapBip32Derivation&&e.tapBip32Derivation.length||e.witnessUtxo&&(0,ai.isP2TR)(e.witnessUtxo.script))}me.isTaprootInput=Mn;function Hn(e,t){return e&&!!(e.tapInternalKey||e.tapTree||e.tapBip32Derivation&&e.tapBip32Derivation.length||t&&(0,ai.isP2TR)(t))}me.isTaprootOutput=Hn;function qc(e,t,r){ih(e,t,r),oh(e,t,r)}me.checkTaprootInputFields=qc;function Kc(e,t,r){sh(e,t,r),Yc(e,t)}me.checkTaprootOutputFields=Kc;function Yc(e,t){if(!t.tapTree&&!t.tapInternalKey)return;const r=t.tapInternalKey||e.tapInternalKey,n=t.tapTree||e.tapTree;if(r){const{script:i}=e,s=Xc(r,n);if(i&&!i.equals(s))throw new Error("Error adding output. Script or address missmatch.")}}function Xc(e,t){const r=t&&Oa(t.leaves),{output:n}=(0,jc.p2tr)({internalPubkey:e,scriptTree:r});return n}function Jc(e,t){const r=t.tapInternalKey,n=r&&(0,Dt.tweakKey)(r,t.tapMerkleRoot);if(!n)throw new Error(`Cannot tweak tap internal key for input #${e}. Public key: ${r&&r.toString("hex")}`);return n.x}me.tweakInternalPubKey=Jc;function Qc(e){if(!(0,Ts.isTaptree)(e))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return Zi(e)}me.tapTreeToList=Qc;function Oa(e=[]){return e.length===1&&e[0].depth===0?{output:e[0].script,version:e[0].leafVersion}:nh(e)}me.tapTreeFromList=Oa;function Zc(e,t){return th(e).some(n=>(0,Gc.signatureBlocksAction)(n,eh,t))}me.checkTaprootInputForSigs=Zc;function eh(e){return{signature:e.slice(0,64),hashType:e.slice(64)[0]||Dc.Transaction.SIGHASH_DEFAULT}}function th(e){const t=[];if(e.tapKeySig&&t.push(e.tapKeySig),e.tapScriptSig&&t.push(...e.tapScriptSig.map(r=>r.signature)),!t.length){const r=rh(e.finalScriptWitness);r&&t.push(r)}return t}function rh(e){if(!e)return;const t=e.slice(2);if(t.length===64||t.length===65)return t}function Zi(e,t=[],r=0){if(r>Dt.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return e?(0,Ts.isTapleaf)(e)?(t.push({depth:r,leafVersion:e.version||Dt.LEAF_VERSION_TAPSCRIPT,script:e.output}),t):(e[0]&&Zi(e[0],t,r+1),e[1]&&Zi(e[1],t,r+1),t):[]}function nh(e){let t;for(const r of e)if(t=es(r,t),!t)throw new Error("No room left to insert tapleaf in tree");return t}function es(e,t,r=0){if(r>Dt.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");if(e.depth===r)return t?void 0:{output:e.script,version:e.leafVersion};if((0,Ts.isTapleaf)(t))return;const n=es(e,t&&t[0],r+1);if(n)return[n,t&&t[1]];const i=es(e,t&&t[1],r+1);if(i)return[t&&t[0],i]}function ih(e,t,r){const n=Mn(e)&&Sr(t),i=Sr(e)&&Mn(t),s=e===t&&Mn(t)&&Sr(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function sh(e,t,r){const n=Hn(e)&&Sr(t),i=Sr(e)&&Hn(t),s=e===t&&Hn(t)&&Sr(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function oh(e,t,r){if(t.tapMerkleRoot){const n=(t.tapLeafScript||[]).every(s=>Ci(s,t.tapMerkleRoot)),i=(e.tapLeafScript||[]).every(s=>Ci(s,t.tapMerkleRoot));if(!n||!i)throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}else if(e.tapMerkleRoot&&!(t.tapLeafScript||[]).every(i=>Ci(i,e.tapMerkleRoot)))throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}function Ci(e,t){if(!t)return!0;const r=(0,Dt.tapleafHash)({output:e.script,version:e.leafVersion});return(0,Dt.rootHashFromPath)(e.controlBlock,r).equals(t)}function ah(e,t){const r=(0,Dt.tapleafHash)({output:t.script,version:t.leafVersion});return(e.tapScriptSig||[]).filter(n=>n.leafHash.equals(r)).map(n=>fh(t.script,n)).sort((n,i)=>i.positionInScript-n.positionInScript).map(n=>n.signature)}function fh(e,t){return Object.assign({positionInScript:(0,ai.pubkeyPositionInScript)(t.pubkey,e)},t)}function uh(e,t,r){if(!e.tapScriptSig||!e.tapScriptSig.length)throw new Error(`Can not finalize taproot input #${t}. No tapleaf script signature provided.`);const n=(e.tapLeafScript||[]).sort((i,s)=>i.controlBlock.length-s.controlBlock.length).find(i=>ch(i,e.tapScriptSig,r));if(!n)throw new Error(`Can not finalize taproot input #${t}. Signature for tapleaf script not found.`);return n}function ch(e,t,r){const n=(0,Dt.tapleafHash)({output:e.script,version:e.leafVersion});return(!r||r.equals(n))&&t.find(s=>s.leafHash.equals(n))!==void 0}function Sr(e){return e&&!!(e.redeemScript||e.witnessScript||e.bip32Derivation&&e.bip32Derivation.length)}const $e={secretMismatch:"invalid secret",secretHashLenMismatch:"secret hash should be 32 bytes",pubkeyLenMismatch:"pubkey should be 32 bytes",zeroOrNegativeExpiry:"expiry should be greater than 0",htlcAddressGenerationFailed:"failed to generate htlc address",notFunded:"address not funded",noCounterpartySigs:"counterparty signatures are required",counterPartySigNotFound:e=>"counterparty signature not found for utxo "+e,invalidCounterpartySigForUTXO:e=>"invalid counterparty signature for utxo "+e,htlcNotExpired:e=>`HTLC not expired, need more ${e} blocks`,controlBlockGenerationFailed:"failed to generate control block",invalidLeaf:"invalid leaf"},kn=192;be.initEccLib(Qt);class an{constructor(t,r,n,i,s,o,f,c){this.secretHash=n,this.redeemerPubkey=i,this.initiatorPubkey=s,this.expiry=o,this.signer=t,this.network=f,this.internalPubkey=ou(),this.initiateAmount=r,this.utxoHashes=c}static async from(t,r,n,i,s,o,f){n=n.startsWith("0x")?n.slice(2):n,pr(n.length===64,$e.secretHashLenMismatch),pr(i.length===64||i.length===66,`initiator ${$e.pubkeyLenMismatch}`),pr(s.length===64||s.length===66,`redeemer ${$e.pubkeyLenMismatch}`),pr(o>0,$e.zeroOrNegativeExpiry);const c=await t.getNetwork();return new an(t,r,n,Xi(s).toString("hex"),Xi(i).toString("hex"),o,c,f)}address(){const{address:t}=be.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves()});if(!t)throw new Error($e.htlcAddressGenerationFailed);return t}id(){return this.address()}async _buildRawTx(t,r){const n=new be.Transaction;n.version=2;const i=this.address(),s=await this.signer.getProvider();let o=[];if(this.utxoHashes&&this.utxoHashes.length>0)for(const c of this.utxoHashes){const l=await s.getTransaction(c);for(let d=0;d<l.vout.length;d++){const g=l.vout[d];g.scriptpubkey_address===i&&o.push({txid:l.txid,vout:d,value:g.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const f=o.reduce((c,l)=>c+l.value,0);if(f===0)throw new Error(`${i} ${$e.notFunded}`);for(let c=0;c<o.length;c++)n.addInput(Buffer.from(o[c].txid,"hex").reverse(),o[c].vout);return r??(r=await s.suggestFee(i,f,Pr.Urgency.MEDIUM)),n.addOutput(be.address.toOutputScript(t,this.network),f-r),{tx:n,usedUtxos:o}}async buildRawTx(t){return await this._buildRawTx(await this.signer.getAddress(),t)}getOutputScript(){return be.address.toOutputScript(this.address(),this.network)}async init(t){return t??(t=await(await this.signer.getProvider()).suggestFee(await this.signer.getAddress(),this.initiateAmount,Pr.Urgency.MEDIUM)),await this.signer.send(this.address(),this.initiateAmount,t)}async generateRedeemSACP(t,r,n){const{tx:i,usedUtxos:s}=await this._buildRawTx(r,n),o=this.getOutputScript(),f=be.Transaction.SIGHASH_SINGLE|be.Transaction.SIGHASH_ANYONECANPAY,c=this.leafHash(1),l=s.map(g=>g.value),d=Vr(o,s.length);for(let g=0;g<i.ins.length;g++){const x=i.hashForWitnessV1(g,d,l,f,c),y=await this.signer.signSchnorr(x);i.setWitness(g,[Fn(y,f),Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return i.toHex()}async generateInstantRefundSACP(t,r){const{tx:n,usedUtxos:i}=await this._buildRawTx(t,r),s=this.getOutputScript(),o=be.Transaction.SIGHASH_SINGLE|be.Transaction.SIGHASH_ANYONECANPAY,f=this.leafHash(2),c=i.map(d=>d.value),l=Vr(s,i.length);for(let d=0;d<n.ins.length;d++){const g=n.hashForWitnessV1(d,l,c,o,f),x=await this.signer.signSchnorr(g);n.setWitness(d,[Fn(x,o),Fn(x,o),this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return n.toHex()}async instantRefund(t,r){pr(t.length>0,$e.noCounterpartySigs);const{tx:n,usedUtxos:i}=await this.buildRawTx(r);for(const g of i)if(!t.find(x=>x.utxo===g.txid))throw new Error($e.counterPartySigNotFound(g.txid));const s=this.getOutputScript(),o=be.Transaction.SIGHASH_DEFAULT,f=this.leafHash(2),c=i.map(g=>g.value),l=Vr(s,i.length);for(let g=0;g<n.ins.length;g++){const x=n.hashForWitnessV1(g,l,c,o,f);if(!Qt.verifySchnorr(x,Buffer.from(this.redeemerPubkey,"hex"),Buffer.from(t[g].sig,"hex")))throw new Error($e.invalidCounterpartySigForUTXO(t[g].utxo));const y=await this.signer.signSchnorr(x),O=Buffer.from(n.ins[g].hash).reverse().toString("hex"),B=t.find(A=>A.utxo===O);if(!B)throw new Error($e.counterPartySigNotFound(O));n.setWitness(g,[Buffer.from(B.sig,"hex"),y,this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async redeem(t,r,n){pr(be.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,$e.secretMismatch);const{tx:i,usedUtxos:s}=await this._buildRawTx(r??await this.signer.getAddress(),n),o=this.leafHash(1),f=s.map(g=>g.value),c=Vr(this.getOutputScript(),s.length),l=be.Transaction.SIGHASH_DEFAULT;for(let g=0;g<i.ins.length;g++){const x=i.hashForWitnessV1(g,c,f,l,o),y=await this.signer.signSchnorr(x);i.setWitness(g,[y,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return await(await this.signer.getProvider()).broadcast(i.toHex())}async refund(t,r){const{tx:n,usedUtxos:i}=await this._buildRawTx(t??await this.signer.getAddress(),r),[s,o]=await this.canRefund(i);if(!s)throw new Error($e.htlcNotExpired(o));const f=this.leafHash(0),c=i.map(x=>x.value),l=Vr(this.getOutputScript(),i.length),d=be.Transaction.SIGHASH_DEFAULT;for(let x=0;x<n.ins.length;x++){n.ins[x].sequence=this.expiry;const y=n.hashForWitnessV1(x,l,c,d,f),O=await this.signer.signSchnorr(y);n.setWitness(x,[O,this.refundLeaf(),this.generateControlBlockFor(0)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async canRefund(t){const n=await(await this.signer.getProvider()).getLatestTip();for(const i of t){let s=0;if(i.status.confirmed&&i.status.block_height+this.expiry>n?s=i.status.block_height+this.expiry-n+1:i.status.confirmed||(s=this.expiry+1),s>0)return[!1,s]}return[!0,0]}generateControlBlockFor(t){let r;switch(t){case 1:r=this.redeemLeaf();break;case 0:r=this.refundLeaf();break;case 2:r=this.instantRefundLeaf();break;default:throw new Error($e.invalidLeaf)}const n=be.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves(),redeem:{output:r,redeemVersion:kn}});if(!n.witness)throw new Error($e.controlBlockGenerationFailed);return n.witness[n.witness.length-1]}leafHash(t){let r=this.redeemLeaf();return t===0&&(r=this.refundLeaf()),t===2&&(r=this.instantRefundLeaf()),be.crypto.taggedHash("TapLeaf",qf(r))}refundLeaf(){return be.script.fromASM(`
|
|
10
|
+
${be.script.number.encode(this.expiry).toString("hex")}
|
|
6
11
|
OP_CHECKSEQUENCEVERIFY
|
|
7
12
|
OP_DROP
|
|
8
13
|
${this.initiatorPubkey}
|
|
9
14
|
OP_CHECKSIG
|
|
10
|
-
`.trim().replace(/\s+/g," "))}redeemLeaf(){return
|
|
15
|
+
`.trim().replace(/\s+/g," "))}redeemLeaf(){return be.script.fromASM(`
|
|
11
16
|
OP_SHA256
|
|
12
17
|
${this.secretHash}
|
|
13
18
|
OP_EQUALVERIFY
|
|
14
19
|
${this.redeemerPubkey}
|
|
15
20
|
OP_CHECKSIG
|
|
16
|
-
`.trim().replace(/\s+/g," "))}instantRefundLeaf(){return
|
|
21
|
+
`.trim().replace(/\s+/g," "))}instantRefundLeaf(){return be.script.fromASM(`
|
|
17
22
|
${this.initiatorPubkey}
|
|
18
23
|
OP_CHECKSIG
|
|
19
24
|
${this.redeemerPubkey}
|
|
20
25
|
OP_CHECKSIGADD
|
|
21
26
|
OP_2
|
|
22
27
|
OP_NUMEQUAL
|
|
23
|
-
`.trim().replace(/\s+/g," "))}leaves(){return[{version:sr,output:this.redeemLeaf()},[{version:sr,output:this.refundLeaf()},{version:sr,output:this.instantRefundLeaf()}]]}generateMerkleProofFor(t){const r=this.leafHash(1),n=this.leafHash(2),i=this.leafHash(0);switch(t){case 1:{const a=Na(i,n);return[oe.crypto.taggedHash("TapBranch",Buffer.concat(a))]}case 0:return[n,r];case 2:return[i,r];default:throw new Error(me.invalidLeaf)}}}function or(e,t){const r=[];for(let n=0;n<t;n++)r.push(e);return r}class Ja{constructor(){this.cache={}}set(t,r,n,i){const a={txHash:n,timeStamp:Date.now(),btcRedeemUTXO:i};this.cache[`${r}_${t.create_order.create_id}`]=a}get(t,r){return this.cache[`${r}_${t.create_order.create_id}`]||null}remove(t,r){delete this.cache[`${r}_${t.create_order.create_id}`]}}class Xa{constructor(t){if(this.eventListeners=new Map,this.getOrderThreshold=20,this.useRelay=!0,this.refundSacpCache=new Map,this.orderBook=new X.Orderbook({url:t.orderbookURl,walletClient:t.wallets.evmWallet,auth:t.auth}),this.quote=t.quote,this.secretManager=t.secretManager,this.wallets=t.wallets,this.orderbookUrl=t.orderbookURl,this.auth=t.auth,this.orderExecutorCache=new Ja,!t.wallets.evmWallet.account)throw new Error("Account not found in evmWallet");this.evmAddress=t.wallets.evmWallet.account.address,this.blockNumberFetcher=t.blockNumberFetcher}setUseRelay(t){this.useRelay=t}async swap(t){const r=await this.validateAndFillParams(t);if(r.error)return k.Err(r.error);const{sendAddress:n,receiveAddress:i,timelock:a}=r.val;let f=t.nonce;if(!f){const P=await this.orderBook.getOrdersCount(this.evmAddress);if(P.error)return k.Err(P.error);f=P.val+1}const u=this.secretManager.generateSecret(f);if(u.error)return k.Err(u.error);const{strategyId:l,btcAddress:b}=t.additionalData,g={strategy_id:l,...b&&{bitcoin_optional_recipient:b}},m={source_chain:t.fromAsset.chain,destination_chain:t.toAsset.chain,source_asset:t.fromAsset.atomicSwapAddress,destination_asset:t.toAsset.atomicSwapAddress,initiator_source_address:n,initiator_destination_address:i,source_amount:t.sendAmount,destination_amount:t.receiveAmount,fee:"1",nonce:f.toString(),timelock:a,secret_hash:k.trim0x(u.val.secretHash),min_destination_confirmations:t.minDestinationConfirmations??0,additional_data:g},v=await this.quote.getAttestedQuote(m);if(v.error)return k.Err(v.error);const A=await this.orderBook.createOrder(v.val);if(A.error)return k.Err(A.error);const B=await this.pollOrder(A.val);return B.error?k.Err(B.error):k.Ok(B.val)}async validateAndFillParams(t){if(t.fromAsset.chain===t.toAsset.chain&&t.fromAsset.atomicSwapAddress===t.toAsset.atomicSwapAddress)return k.Err("Source and destination assets cannot be the same");if(X.isMainnet(t.fromAsset.chain)&&!X.isMainnet(t.toAsset.chain)||!X.isMainnet(t.fromAsset.chain)&&X.isMainnet(t.toAsset.chain))return k.Err("Both assets should be on the same network (either mainnet or testnet)");if(X.isBitcoin(t.fromAsset.chain)||X.isBitcoin(t.toAsset.chain)){if(!this.wallets.btcWallet)return k.Err("btcWallet is required for bitcoin chain. Please provide btcWallet in the constructor");if(!t.additionalData.btcAddress)return k.Err("btcAddress in additionalData is required for bitcoin chain")}const r=await this.getAddresses(t.fromAsset.chain);if(r.error)return k.Err(r.error);const n=await this.getAddresses(t.toAsset.chain);if(n.error)return k.Err(n.error);const i=this.validateAmount(t.sendAmount);if(i.error)return k.Err(i.error);const a=this.validateAmount(t.receiveAmount);if(a.error)return k.Err(a.error);if(i<a)return k.Err("Send amount should be greater than receive amount");const f=X.getTimeLock(t.fromAsset.chain);return f?k.Ok({sendAddress:r.val,receiveAddress:n.val,timelock:t.timelock??f}):k.Err("Unsupported chain for timelock")}async getAddresses(t){var n;switch(X.getBlockchainType(t)){case X.BlockchainType.EVM:return this.wallets.evmWallet.account?k.Ok(this.wallets.evmWallet.account.address):k.Err("EVM Wallet not found");case X.BlockchainType.Bitcoin:{const i=await((n=this.wallets.btcWallet)==null?void 0:n.getPublicKey());return!i||!Ma(i)?k.Err("Invalid btc public key"):k.Ok(st(i))}default:return k.Err("Unsupported chain")}}validateAmount(t){if(t==null||t.includes("."))return k.Err("Invalid amount ",t);const r=new Gs(t);return!r.isInteger()||r.isNaN()||r.lt(0)||r.isLessThanOrEqualTo(0)?k.Err("Invalid amount ",t):k.Ok(r)}async pollOrder(t){let r=await this.orderBook.getOrder(t,!0),n=0;for(;n<this.getOrderThreshold;){if(await we.sleep(1e3),n++,r.error){if(!r.error.includes("result is undefined"))return k.Err(r.error)}else if(r.val&&r.val.create_order.create_id.toLowerCase()===t.toLowerCase())return k.Ok(r.val);r=await this.orderBook.getOrder(t,!0)}return k.Err(`Order not found, createOrder id: ${t}`)}async execute(t=5e3){return await this.orderBook.subscribeToOrders(!0,t,async r=>{const n=Vi(r.data),i=await this.assignOrderStatus(n);this.emit("onPendingOrdersChanged",i);for(let a=0;a<i.length;a++){const f=i[a],u=xn(f.status);if(X.isBitcoin(f.source_swap.chain)&&f.status===Q.InitiateDetected){const l=this.getWallet(f.source_swap.chain);if(l.error){this.emit("error",f,l.error);continue}await this.postRefundSACP(f,l.val)}switch(u){case ce.Redeem:{const l=this.secretManager.generateSecret(Number(f.create_order.nonce));if(l.error){this.emit("error",f,l.error);return}switch(X.getBlockchainType(f.destination_swap.chain)){case X.BlockchainType.EVM:{await this.evmRedeem(f,l.val.secret);break}case X.BlockchainType.Bitcoin:{const b=this.getWallet(f.destination_swap.chain);if(b.error){this.emit("error",f,b.error);return}await this.btcRedeem(b.val,f,l.val.secret);break}default:this.emit("error",f,"Unsupported chain: "+f.destination_swap.chain)}break}case ce.Refund:{switch(X.getBlockchainType(f.source_swap.chain)){case X.BlockchainType.EVM:{this.emit("error",f,"EVM refund is automatically done by relay service");break}case X.BlockchainType.Bitcoin:{const l=this.getWallet(f.source_swap.chain);if(l.error){this.emit("error",f,l.error);return}await this.btcRefund(l.val,f);break}default:this.emit("error",f,"Unsupported chain: "+f.source_swap.chain)}break}}}},{per_page:500},!0)}async evmRedeem(t,r){if(this.emit("log",t.create_order.create_id,"executing evm redeem"),this.orderExecutorCache.get(t,ce.Redeem)){this.emit("log",t.create_order.create_id,"already redeemed");return}const a=await new Ki(t,this.orderbookUrl,this.auth).redeem(t.create_order.create_id,r);if(a.error){this.emit("error",t,a.error),a.error.includes("Order already redeemed")&&this.orderExecutorCache.set(t,ce.Redeem,t.destination_swap.redeem_tx_hash);return}this.orderExecutorCache.set(t,ce.Redeem,a.val),this.emit("success",t,ce.Redeem,a.val)}async btcRedeem(t,r,n){var u,l;const i=this.orderExecutorCache.get(r,ce.Redeem),a=(u=r.destination_swap.initiate_tx_hash.split(",").at(-1))==null?void 0:u.split(":").at(0);if(!a){this.emit("error",r,"Failed to get initiate_tx_hash");return}let f=!1;if(i)if(i.btcRedeemUTXO&&i.btcRedeemUTXO!==a)f=!0,this.emit("log",r.create_order.create_id,"rbf btc redeem");else{this.emit("log",r.create_order.create_id,"btcRedeem: already redeemed");return}else if(r.destination_swap.redeem_tx_hash&&!Number(r.destination_swap.redeem_block_number))try{const b=await(await t.getProvider()).getTransaction(r.destination_swap.redeem_tx_hash);let g=!1;for(const m of b.vin)if(m.txid===a){g=!0;break}if(g){this.orderExecutorCache.set(r,ce.Redeem,r.destination_swap.redeem_tx_hash,a),this.emit("log",r.create_order.create_id,"already a valid redeem");return}f=!0}catch(b){if(b.message.includes("Transaction not found"))f=!0;else{this.emit("error",r,"Failed to get redeem tx: "+b);return}}this.emit("log",r.create_order.create_id,"executing btc redeem");try{const g=await(await Wt.from(t,Number(r.destination_swap.amount),r.create_order.secret_hash,st(r.destination_swap.initiator),st(r.destination_swap.redeemer),r.destination_swap.timelock,f?[a]:[])).redeem(k.trim0x(n),(l=r.create_order.additional_data)==null?void 0:l.bitcoin_optional_recipient);f?this.emit("log",r.create_order.create_id,"rbf: btc redeem success"):this.emit("success",r,ce.Redeem,g),this.orderExecutorCache.set(r,ce.Redeem,g,a)}catch(b){this.emit("error",r,"Failed btc redeem: "+b)}}async btcRefund(t,r){var n;if(!this.orderExecutorCache.get(r,ce.Refund)){this.emit("log",r.create_order.create_id,"executing btc refund");try{const a=await(await Wt.from(t,Number(r.source_swap.amount),r.create_order.secret_hash,st(r.source_swap.initiator),st(r.source_swap.redeemer),r.source_swap.timelock)).refund((n=r.create_order.additional_data)==null?void 0:n.bitcoin_optional_recipient);this.orderExecutorCache.set(r,ce.Refund,a),this.emit("success",r,ce.Refund,a)}catch(i){this.emit("error",r,"Failed btc refund: "+i)}}}getWallet(t){switch(X.getBlockchainType(t)){case X.BlockchainType.EVM:return k.Ok(this.wallets.evmWallet);case X.BlockchainType.Bitcoin:return k.Ok(this.wallets.btcWallet);default:return k.Err("Unsupported chain for wallet")}}async postRefundSACP(t,r){const n=this.refundSacpCache.get(t.create_order.create_id);if((n==null?void 0:n.initTxHash)===t.source_swap.initiate_tx_hash)return;const i=await Wt.from(r,Number(t.source_swap.amount),t.create_order.secret_hash,st(t.source_swap.initiator),st(t.source_swap.redeemer),t.source_swap.timelock),a=t.create_order.additional_data.bitcoin_optional_recipient;if(a)try{const f=await i.generateInstantRefundSACP(a),u=this.orderbookUrl+"/orders/add-instant-refund-sacp";(await k.Fetcher.post(u,{headers:{"Content-Type":"application/json"},body:JSON.stringify({order_id:t.create_order.create_id,instant_refund_tx_bytes:f})})).status==="Ok"&&this.refundSacpCache.set(t.create_order.create_id,{initTxHash:t.source_swap.initiate_tx_hash})}catch(f){this.emit("error",t,"Failed to generate and post SACP: "+f);return}}emit(t,...r){(this.eventListeners.get(t)??[]).forEach(i=>{i(...r)})}on(t,r){const n=this.eventListeners.get(t)??[];n.push(r),this.eventListeners.set(t,n)}off(t,r){const n=this.eventListeners.get(t)??[],i=n.indexOf(r);i!==-1&&n.splice(i,1)}async fetchCurrentBlockNumbers(t,r){if(!r||!r.source||!r.destination)return k.Err("Provide wallets to fetch the current block number");const n=X.isBitcoin(t.source_swap.chain)?await we.fetchBitcoinBlockNumber(await r.source.getProvider()):await we.fetchEVMBlockNumber(r.source);if(n.error)return k.Err(n.error);const i=X.isBitcoin(t.destination_swap.chain)?await we.fetchBitcoinBlockNumber(await r.destination.getProvider()):await we.fetchEVMBlockNumber(r.destination);return i.error?k.Err(i.error):k.Ok({source:n.val,destination:i.val})}async assignOrderStatus(t){var i;const r=await((i=this.blockNumberFetcher)==null?void 0:i.fetchBlockNumbers()),n=[];for(let a=0;a<t.length;a++){const f=t[a],u=f.source_swap.chain,l=f.destination_swap.chain,b=this.getWallet(u),g=this.getWallet(l);if(b.error||g.error||!b.val||!g.val){this.emit("error",f,"Source or Destination Wallet not found while executing order");continue}let m=r==null?void 0:r.val[u],v=r==null?void 0:r.val[l];if(!m||!v){const B=await this.fetchCurrentBlockNumbers(f,{source:b.val,destination:g.val});if(B.error){this.emit("error",f,"Error while fetching CurrentBlockNumbers: "+B.error);continue}m=B.val.source,v=B.val.destination}const A=wn(f,m,v);n.push({...f,status:A})}return n}}class Qa{constructor(t,r){this.url=new we.Url("/blocknumber/"+r,t)}async fetchBlockNumbers(){try{const t=await k.Fetcher.get(this.url);return k.Ok(t)}catch(t){return k.Err("Failed to fetch block numbers",t)}}}var Qe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Za(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ef(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var Yi={},St={},At={};Object.defineProperty(At,"__esModule",{value:!0});At.testnet=At.bitcoin=void 0;At.bitcoin={messagePrefix:`Bitcoin Signed Message:
|
|
24
|
-
`,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};
|
|
25
|
-
`,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var
|
|
26
|
-
* The buffer module from node.js, for the browser.
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* @license MIT
|
|
30
|
-
*/(function(e){const t=Er,r=Sn,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=u,e.SlowBuffer=F,e.INSPECT_MAX_BYTES=50;const i=2147483647;e.kMaxLength=i,u.TYPED_ARRAY_SUPPORT=a(),!u.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function a(){try{const c=new Uint8Array(1),s={foo:function(){return 42}};return Object.setPrototypeOf(s,Uint8Array.prototype),Object.setPrototypeOf(c,s),c.foo()===42}catch{return!1}}Object.defineProperty(u.prototype,"parent",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.buffer}}),Object.defineProperty(u.prototype,"offset",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.byteOffset}});function f(c){if(c>i)throw new RangeError('The value "'+c+'" is invalid for option "size"');const s=new Uint8Array(c);return Object.setPrototypeOf(s,u.prototype),s}function u(c,s,o){if(typeof c=="number"){if(typeof s=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return m(c)}return l(c,s,o)}u.poolSize=8192;function l(c,s,o){if(typeof c=="string")return v(c,s);if(ArrayBuffer.isView(c))return B(c);if(c==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof c);if(Ae(c,ArrayBuffer)||c&&Ae(c.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ae(c,SharedArrayBuffer)||c&&Ae(c.buffer,SharedArrayBuffer)))return P(c,s,o);if(typeof c=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const h=c.valueOf&&c.valueOf();if(h!=null&&h!==c)return u.from(h,s,o);const y=T(c);if(y)return y;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof c[Symbol.toPrimitive]=="function")return u.from(c[Symbol.toPrimitive]("string"),s,o);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof c)}u.from=function(c,s,o){return l(c,s,o)},Object.setPrototypeOf(u.prototype,Uint8Array.prototype),Object.setPrototypeOf(u,Uint8Array);function b(c){if(typeof c!="number")throw new TypeError('"size" argument must be of type number');if(c<0)throw new RangeError('The value "'+c+'" is invalid for option "size"')}function g(c,s,o){return b(c),c<=0?f(c):s!==void 0?typeof o=="string"?f(c).fill(s,o):f(c).fill(s):f(c)}u.alloc=function(c,s,o){return g(c,s,o)};function m(c){return b(c),f(c<0?0:C(c)|0)}u.allocUnsafe=function(c){return m(c)},u.allocUnsafeSlow=function(c){return m(c)};function v(c,s){if((typeof s!="string"||s==="")&&(s="utf8"),!u.isEncoding(s))throw new TypeError("Unknown encoding: "+s);const o=O(c,s)|0;let h=f(o);const y=h.write(c,s);return y!==o&&(h=h.slice(0,y)),h}function A(c){const s=c.length<0?0:C(c.length)|0,o=f(s);for(let h=0;h<s;h+=1)o[h]=c[h]&255;return o}function B(c){if(Ae(c,Uint8Array)){const s=new Uint8Array(c);return P(s.buffer,s.byteOffset,s.byteLength)}return A(c)}function P(c,s,o){if(s<0||c.byteLength<s)throw new RangeError('"offset" is outside of buffer bounds');if(c.byteLength<s+(o||0))throw new RangeError('"length" is outside of buffer bounds');let h;return s===void 0&&o===void 0?h=new Uint8Array(c):o===void 0?h=new Uint8Array(c,s):h=new Uint8Array(c,s,o),Object.setPrototypeOf(h,u.prototype),h}function T(c){if(u.isBuffer(c)){const s=C(c.length)|0,o=f(s);return o.length===0||c.copy(o,0,0,s),o}if(c.length!==void 0)return typeof c.length!="number"||nt(c.length)?f(0):A(c);if(c.type==="Buffer"&&Array.isArray(c.data))return A(c.data)}function C(c){if(c>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return c|0}function F(c){return+c!=c&&(c=0),u.alloc(+c)}u.isBuffer=function(s){return s!=null&&s._isBuffer===!0&&s!==u.prototype},u.compare=function(s,o){if(Ae(s,Uint8Array)&&(s=u.from(s,s.offset,s.byteLength)),Ae(o,Uint8Array)&&(o=u.from(o,o.offset,o.byteLength)),!u.isBuffer(s)||!u.isBuffer(o))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(s===o)return 0;let h=s.length,y=o.length;for(let x=0,E=Math.min(h,y);x<E;++x)if(s[x]!==o[x]){h=s[x],y=o[x];break}return h<y?-1:y<h?1:0},u.isEncoding=function(s){switch(String(s).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(s,o){if(!Array.isArray(s))throw new TypeError('"list" argument must be an Array of Buffers');if(s.length===0)return u.alloc(0);let h;if(o===void 0)for(o=0,h=0;h<s.length;++h)o+=s[h].length;const y=u.allocUnsafe(o);let x=0;for(h=0;h<s.length;++h){let E=s[h];if(Ae(E,Uint8Array))x+E.length>y.length?(u.isBuffer(E)||(E=u.from(E)),E.copy(y,x)):Uint8Array.prototype.set.call(y,E,x);else if(u.isBuffer(E))E.copy(y,x);else throw new TypeError('"list" argument must be an Array of Buffers');x+=E.length}return y};function O(c,s){if(u.isBuffer(c))return c.length;if(ArrayBuffer.isView(c)||Ae(c,ArrayBuffer))return c.byteLength;if(typeof c!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof c);const o=c.length,h=arguments.length>2&&arguments[2]===!0;if(!h&&o===0)return 0;let y=!1;for(;;)switch(s){case"ascii":case"latin1":case"binary":return o;case"utf8":case"utf-8":return V(c).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return o*2;case"hex":return o>>>1;case"base64":return Ct(c).length;default:if(y)return h?-1:V(c).length;s=(""+s).toLowerCase(),y=!0}}u.byteLength=O;function L(c,s,o){let h=!1;if((s===void 0||s<0)&&(s=0),s>this.length||((o===void 0||o>this.length)&&(o=this.length),o<=0)||(o>>>=0,s>>>=0,o<=s))return"";for(c||(c="utf8");;)switch(c){case"hex":return Ce(this,s,o);case"utf8":case"utf-8":return Ee(this,s,o);case"ascii":return Pe(this,s,o);case"latin1":case"binary":return We(this,s,o);case"base64":return ue(this,s,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return qe(this,s,o);default:if(h)throw new TypeError("Unknown encoding: "+c);c=(c+"").toLowerCase(),h=!0}}u.prototype._isBuffer=!0;function U(c,s,o){const h=c[s];c[s]=c[o],c[o]=h}u.prototype.swap16=function(){const s=this.length;if(s%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let o=0;o<s;o+=2)U(this,o,o+1);return this},u.prototype.swap32=function(){const s=this.length;if(s%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let o=0;o<s;o+=4)U(this,o,o+3),U(this,o+1,o+2);return this},u.prototype.swap64=function(){const s=this.length;if(s%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let o=0;o<s;o+=8)U(this,o,o+7),U(this,o+1,o+6),U(this,o+2,o+5),U(this,o+3,o+4);return this},u.prototype.toString=function(){const s=this.length;return s===0?"":arguments.length===0?Ee(this,0,s):L.apply(this,arguments)},u.prototype.toLocaleString=u.prototype.toString,u.prototype.equals=function(s){if(!u.isBuffer(s))throw new TypeError("Argument must be a Buffer");return this===s?!0:u.compare(this,s)===0},u.prototype.inspect=function(){let s="";const o=e.INSPECT_MAX_BYTES;return s=this.toString("hex",0,o).replace(/(.{2})/g,"$1 ").trim(),this.length>o&&(s+=" ... "),"<Buffer "+s+">"},n&&(u.prototype[n]=u.prototype.inspect),u.prototype.compare=function(s,o,h,y,x){if(Ae(s,Uint8Array)&&(s=u.from(s,s.offset,s.byteLength)),!u.isBuffer(s))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof s);if(o===void 0&&(o=0),h===void 0&&(h=s?s.length:0),y===void 0&&(y=0),x===void 0&&(x=this.length),o<0||h>s.length||y<0||x>this.length)throw new RangeError("out of range index");if(y>=x&&o>=h)return 0;if(y>=x)return-1;if(o>=h)return 1;if(o>>>=0,h>>>=0,y>>>=0,x>>>=0,this===s)return 0;let E=x-y,q=h-o;const ie=Math.min(E,q),re=this.slice(y,x),se=s.slice(o,h);for(let Y=0;Y<ie;++Y)if(re[Y]!==se[Y]){E=re[Y],q=se[Y];break}return E<q?-1:q<E?1:0};function S(c,s,o,h,y){if(c.length===0)return-1;if(typeof o=="string"?(h=o,o=0):o>2147483647?o=2147483647:o<-2147483648&&(o=-2147483648),o=+o,nt(o)&&(o=y?0:c.length-1),o<0&&(o=c.length+o),o>=c.length){if(y)return-1;o=c.length-1}else if(o<0)if(y)o=0;else return-1;if(typeof s=="string"&&(s=u.from(s,h)),u.isBuffer(s))return s.length===0?-1:z(c,s,o,h,y);if(typeof s=="number")return s=s&255,typeof Uint8Array.prototype.indexOf=="function"?y?Uint8Array.prototype.indexOf.call(c,s,o):Uint8Array.prototype.lastIndexOf.call(c,s,o):z(c,[s],o,h,y);throw new TypeError("val must be string, number or Buffer")}function z(c,s,o,h,y){let x=1,E=c.length,q=s.length;if(h!==void 0&&(h=String(h).toLowerCase(),h==="ucs2"||h==="ucs-2"||h==="utf16le"||h==="utf-16le")){if(c.length<2||s.length<2)return-1;x=2,E/=2,q/=2,o/=2}function ie(se,Y){return x===1?se[Y]:se.readUInt16BE(Y*x)}let re;if(y){let se=-1;for(re=o;re<E;re++)if(ie(c,re)===ie(s,se===-1?0:re-se)){if(se===-1&&(se=re),re-se+1===q)return se*x}else se!==-1&&(re-=re-se),se=-1}else for(o+q>E&&(o=E-q),re=o;re>=0;re--){let se=!0;for(let Y=0;Y<q;Y++)if(ie(c,re+Y)!==ie(s,Y)){se=!1;break}if(se)return re}return-1}u.prototype.includes=function(s,o,h){return this.indexOf(s,o,h)!==-1},u.prototype.indexOf=function(s,o,h){return S(this,s,o,h,!0)},u.prototype.lastIndexOf=function(s,o,h){return S(this,s,o,h,!1)};function M(c,s,o,h){o=Number(o)||0;const y=c.length-o;h?(h=Number(h),h>y&&(h=y)):h=y;const x=s.length;h>x/2&&(h=x/2);let E;for(E=0;E<h;++E){const q=parseInt(s.substr(E*2,2),16);if(nt(q))return E;c[o+E]=q}return E}function $(c,s,o,h){return gt(V(s,c.length-o),c,o,h)}function ae(c,s,o,h){return gt(Ke(s),c,o,h)}function ke(c,s,o,h){return gt(Ct(s),c,o,h)}function je(c,s,o,h){return gt(yt(s,c.length-o),c,o,h)}u.prototype.write=function(s,o,h,y){if(o===void 0)y="utf8",h=this.length,o=0;else if(h===void 0&&typeof o=="string")y=o,h=this.length,o=0;else if(isFinite(o))o=o>>>0,isFinite(h)?(h=h>>>0,y===void 0&&(y="utf8")):(y=h,h=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const x=this.length-o;if((h===void 0||h>x)&&(h=x),s.length>0&&(h<0||o<0)||o>this.length)throw new RangeError("Attempt to write outside buffer bounds");y||(y="utf8");let E=!1;for(;;)switch(y){case"hex":return M(this,s,o,h);case"utf8":case"utf-8":return $(this,s,o,h);case"ascii":case"latin1":case"binary":return ae(this,s,o,h);case"base64":return ke(this,s,o,h);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return je(this,s,o,h);default:if(E)throw new TypeError("Unknown encoding: "+y);y=(""+y).toLowerCase(),E=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ue(c,s,o){return s===0&&o===c.length?t.fromByteArray(c):t.fromByteArray(c.slice(s,o))}function Ee(c,s,o){o=Math.min(c.length,o);const h=[];let y=s;for(;y<o;){const x=c[y];let E=null,q=x>239?4:x>223?3:x>191?2:1;if(y+q<=o){let ie,re,se,Y;switch(q){case 1:x<128&&(E=x);break;case 2:ie=c[y+1],(ie&192)===128&&(Y=(x&31)<<6|ie&63,Y>127&&(E=Y));break;case 3:ie=c[y+1],re=c[y+2],(ie&192)===128&&(re&192)===128&&(Y=(x&15)<<12|(ie&63)<<6|re&63,Y>2047&&(Y<55296||Y>57343)&&(E=Y));break;case 4:ie=c[y+1],re=c[y+2],se=c[y+3],(ie&192)===128&&(re&192)===128&&(se&192)===128&&(Y=(x&15)<<18|(ie&63)<<12|(re&63)<<6|se&63,Y>65535&&Y<1114112&&(E=Y))}}E===null?(E=65533,q=1):E>65535&&(E-=65536,h.push(E>>>10&1023|55296),E=56320|E&1023),h.push(E),y+=q}return rt(h)}const Be=4096;function rt(c){const s=c.length;if(s<=Be)return String.fromCharCode.apply(String,c);let o="",h=0;for(;h<s;)o+=String.fromCharCode.apply(String,c.slice(h,h+=Be));return o}function Pe(c,s,o){let h="";o=Math.min(c.length,o);for(let y=s;y<o;++y)h+=String.fromCharCode(c[y]&127);return h}function We(c,s,o){let h="";o=Math.min(c.length,o);for(let y=s;y<o;++y)h+=String.fromCharCode(c[y]);return h}function Ce(c,s,o){const h=c.length;(!s||s<0)&&(s=0),(!o||o<0||o>h)&&(o=h);let y="";for(let x=s;x<o;++x)y+=Lt[c[x]];return y}function qe(c,s,o){const h=c.slice(s,o);let y="";for(let x=0;x<h.length-1;x+=2)y+=String.fromCharCode(h[x]+h[x+1]*256);return y}u.prototype.slice=function(s,o){const h=this.length;s=~~s,o=o===void 0?h:~~o,s<0?(s+=h,s<0&&(s=0)):s>h&&(s=h),o<0?(o+=h,o<0&&(o=0)):o>h&&(o=h),o<s&&(o=s);const y=this.subarray(s,o);return Object.setPrototypeOf(y,u.prototype),y};function ee(c,s,o){if(c%1!==0||c<0)throw new RangeError("offset is not uint");if(c+s>o)throw new RangeError("Trying to access beyond buffer length")}u.prototype.readUintLE=u.prototype.readUIntLE=function(s,o,h){s=s>>>0,o=o>>>0,h||ee(s,o,this.length);let y=this[s],x=1,E=0;for(;++E<o&&(x*=256);)y+=this[s+E]*x;return y},u.prototype.readUintBE=u.prototype.readUIntBE=function(s,o,h){s=s>>>0,o=o>>>0,h||ee(s,o,this.length);let y=this[s+--o],x=1;for(;o>0&&(x*=256);)y+=this[s+--o]*x;return y},u.prototype.readUint8=u.prototype.readUInt8=function(s,o){return s=s>>>0,o||ee(s,1,this.length),this[s]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(s,o){return s=s>>>0,o||ee(s,2,this.length),this[s]|this[s+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(s,o){return s=s>>>0,o||ee(s,2,this.length),this[s]<<8|this[s+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(s,o){return s=s>>>0,o||ee(s,4,this.length),(this[s]|this[s+1]<<8|this[s+2]<<16)+this[s+3]*16777216},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(s,o){return s=s>>>0,o||ee(s,4,this.length),this[s]*16777216+(this[s+1]<<16|this[s+2]<<8|this[s+3])},u.prototype.readBigUInt64LE=Ie(function(s){s=s>>>0,I(s,"offset");const o=this[s],h=this[s+7];(o===void 0||h===void 0)&&N(s,this.length-8);const y=o+this[++s]*2**8+this[++s]*2**16+this[++s]*2**24,x=this[++s]+this[++s]*2**8+this[++s]*2**16+h*2**24;return BigInt(y)+(BigInt(x)<<BigInt(32))}),u.prototype.readBigUInt64BE=Ie(function(s){s=s>>>0,I(s,"offset");const o=this[s],h=this[s+7];(o===void 0||h===void 0)&&N(s,this.length-8);const y=o*2**24+this[++s]*2**16+this[++s]*2**8+this[++s],x=this[++s]*2**24+this[++s]*2**16+this[++s]*2**8+h;return(BigInt(y)<<BigInt(32))+BigInt(x)}),u.prototype.readIntLE=function(s,o,h){s=s>>>0,o=o>>>0,h||ee(s,o,this.length);let y=this[s],x=1,E=0;for(;++E<o&&(x*=256);)y+=this[s+E]*x;return x*=128,y>=x&&(y-=Math.pow(2,8*o)),y},u.prototype.readIntBE=function(s,o,h){s=s>>>0,o=o>>>0,h||ee(s,o,this.length);let y=o,x=1,E=this[s+--y];for(;y>0&&(x*=256);)E+=this[s+--y]*x;return x*=128,E>=x&&(E-=Math.pow(2,8*o)),E},u.prototype.readInt8=function(s,o){return s=s>>>0,o||ee(s,1,this.length),this[s]&128?(255-this[s]+1)*-1:this[s]},u.prototype.readInt16LE=function(s,o){s=s>>>0,o||ee(s,2,this.length);const h=this[s]|this[s+1]<<8;return h&32768?h|4294901760:h},u.prototype.readInt16BE=function(s,o){s=s>>>0,o||ee(s,2,this.length);const h=this[s+1]|this[s]<<8;return h&32768?h|4294901760:h},u.prototype.readInt32LE=function(s,o){return s=s>>>0,o||ee(s,4,this.length),this[s]|this[s+1]<<8|this[s+2]<<16|this[s+3]<<24},u.prototype.readInt32BE=function(s,o){return s=s>>>0,o||ee(s,4,this.length),this[s]<<24|this[s+1]<<16|this[s+2]<<8|this[s+3]},u.prototype.readBigInt64LE=Ie(function(s){s=s>>>0,I(s,"offset");const o=this[s],h=this[s+7];(o===void 0||h===void 0)&&N(s,this.length-8);const y=this[s+4]+this[s+5]*2**8+this[s+6]*2**16+(h<<24);return(BigInt(y)<<BigInt(32))+BigInt(o+this[++s]*2**8+this[++s]*2**16+this[++s]*2**24)}),u.prototype.readBigInt64BE=Ie(function(s){s=s>>>0,I(s,"offset");const o=this[s],h=this[s+7];(o===void 0||h===void 0)&&N(s,this.length-8);const y=(o<<24)+this[++s]*2**16+this[++s]*2**8+this[++s];return(BigInt(y)<<BigInt(32))+BigInt(this[++s]*2**24+this[++s]*2**16+this[++s]*2**8+h)}),u.prototype.readFloatLE=function(s,o){return s=s>>>0,o||ee(s,4,this.length),r.read(this,s,!0,23,4)},u.prototype.readFloatBE=function(s,o){return s=s>>>0,o||ee(s,4,this.length),r.read(this,s,!1,23,4)},u.prototype.readDoubleLE=function(s,o){return s=s>>>0,o||ee(s,8,this.length),r.read(this,s,!0,52,8)},u.prototype.readDoubleBE=function(s,o){return s=s>>>0,o||ee(s,8,this.length),r.read(this,s,!1,52,8)};function fe(c,s,o,h,y,x){if(!u.isBuffer(c))throw new TypeError('"buffer" argument must be a Buffer instance');if(s>y||s<x)throw new RangeError('"value" argument is out of bounds');if(o+h>c.length)throw new RangeError("Index out of range")}u.prototype.writeUintLE=u.prototype.writeUIntLE=function(s,o,h,y){if(s=+s,o=o>>>0,h=h>>>0,!y){const q=Math.pow(2,8*h)-1;fe(this,s,o,h,q,0)}let x=1,E=0;for(this[o]=s&255;++E<h&&(x*=256);)this[o+E]=s/x&255;return o+h},u.prototype.writeUintBE=u.prototype.writeUIntBE=function(s,o,h,y){if(s=+s,o=o>>>0,h=h>>>0,!y){const q=Math.pow(2,8*h)-1;fe(this,s,o,h,q,0)}let x=h-1,E=1;for(this[o+x]=s&255;--x>=0&&(E*=256);)this[o+x]=s/E&255;return o+h},u.prototype.writeUint8=u.prototype.writeUInt8=function(s,o,h){return s=+s,o=o>>>0,h||fe(this,s,o,1,255,0),this[o]=s&255,o+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(s,o,h){return s=+s,o=o>>>0,h||fe(this,s,o,2,65535,0),this[o]=s&255,this[o+1]=s>>>8,o+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(s,o,h){return s=+s,o=o>>>0,h||fe(this,s,o,2,65535,0),this[o]=s>>>8,this[o+1]=s&255,o+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(s,o,h){return s=+s,o=o>>>0,h||fe(this,s,o,4,4294967295,0),this[o+3]=s>>>24,this[o+2]=s>>>16,this[o+1]=s>>>8,this[o]=s&255,o+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(s,o,h){return s=+s,o=o>>>0,h||fe(this,s,o,4,4294967295,0),this[o]=s>>>24,this[o+1]=s>>>16,this[o+2]=s>>>8,this[o+3]=s&255,o+4};function Se(c,s,o,h,y){p(s,h,y,c,o,7);let x=Number(s&BigInt(4294967295));c[o++]=x,x=x>>8,c[o++]=x,x=x>>8,c[o++]=x,x=x>>8,c[o++]=x;let E=Number(s>>BigInt(32)&BigInt(4294967295));return c[o++]=E,E=E>>8,c[o++]=E,E=E>>8,c[o++]=E,E=E>>8,c[o++]=E,o}function Ve(c,s,o,h,y){p(s,h,y,c,o,7);let x=Number(s&BigInt(4294967295));c[o+7]=x,x=x>>8,c[o+6]=x,x=x>>8,c[o+5]=x,x=x>>8,c[o+4]=x;let E=Number(s>>BigInt(32)&BigInt(4294967295));return c[o+3]=E,E=E>>8,c[o+2]=E,E=E>>8,c[o+1]=E,E=E>>8,c[o]=E,o+8}u.prototype.writeBigUInt64LE=Ie(function(s,o=0){return Se(this,s,o,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeBigUInt64BE=Ie(function(s,o=0){return Ve(this,s,o,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeIntLE=function(s,o,h,y){if(s=+s,o=o>>>0,!y){const ie=Math.pow(2,8*h-1);fe(this,s,o,h,ie-1,-ie)}let x=0,E=1,q=0;for(this[o]=s&255;++x<h&&(E*=256);)s<0&&q===0&&this[o+x-1]!==0&&(q=1),this[o+x]=(s/E>>0)-q&255;return o+h},u.prototype.writeIntBE=function(s,o,h,y){if(s=+s,o=o>>>0,!y){const ie=Math.pow(2,8*h-1);fe(this,s,o,h,ie-1,-ie)}let x=h-1,E=1,q=0;for(this[o+x]=s&255;--x>=0&&(E*=256);)s<0&&q===0&&this[o+x+1]!==0&&(q=1),this[o+x]=(s/E>>0)-q&255;return o+h},u.prototype.writeInt8=function(s,o,h){return s=+s,o=o>>>0,h||fe(this,s,o,1,127,-128),s<0&&(s=255+s+1),this[o]=s&255,o+1},u.prototype.writeInt16LE=function(s,o,h){return s=+s,o=o>>>0,h||fe(this,s,o,2,32767,-32768),this[o]=s&255,this[o+1]=s>>>8,o+2},u.prototype.writeInt16BE=function(s,o,h){return s=+s,o=o>>>0,h||fe(this,s,o,2,32767,-32768),this[o]=s>>>8,this[o+1]=s&255,o+2},u.prototype.writeInt32LE=function(s,o,h){return s=+s,o=o>>>0,h||fe(this,s,o,4,2147483647,-2147483648),this[o]=s&255,this[o+1]=s>>>8,this[o+2]=s>>>16,this[o+3]=s>>>24,o+4},u.prototype.writeInt32BE=function(s,o,h){return s=+s,o=o>>>0,h||fe(this,s,o,4,2147483647,-2147483648),s<0&&(s=4294967295+s+1),this[o]=s>>>24,this[o+1]=s>>>16,this[o+2]=s>>>8,this[o+3]=s&255,o+4},u.prototype.writeBigInt64LE=Ie(function(s,o=0){return Se(this,s,o,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),u.prototype.writeBigInt64BE=Ie(function(s,o=0){return Ve(this,s,o,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ne(c,s,o,h,y,x){if(o+h>c.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("Index out of range")}function w(c,s,o,h,y){return s=+s,o=o>>>0,y||Ne(c,s,o,4),r.write(c,s,o,h,23,4),o+4}u.prototype.writeFloatLE=function(s,o,h){return w(this,s,o,!0,h)},u.prototype.writeFloatBE=function(s,o,h){return w(this,s,o,!1,h)};function _(c,s,o,h,y){return s=+s,o=o>>>0,y||Ne(c,s,o,8),r.write(c,s,o,h,52,8),o+8}u.prototype.writeDoubleLE=function(s,o,h){return _(this,s,o,!0,h)},u.prototype.writeDoubleBE=function(s,o,h){return _(this,s,o,!1,h)},u.prototype.copy=function(s,o,h,y){if(!u.isBuffer(s))throw new TypeError("argument should be a Buffer");if(h||(h=0),!y&&y!==0&&(y=this.length),o>=s.length&&(o=s.length),o||(o=0),y>0&&y<h&&(y=h),y===h||s.length===0||this.length===0)return 0;if(o<0)throw new RangeError("targetStart out of bounds");if(h<0||h>=this.length)throw new RangeError("Index out of range");if(y<0)throw new RangeError("sourceEnd out of bounds");y>this.length&&(y=this.length),s.length-o<y-h&&(y=s.length-o+h);const x=y-h;return this===s&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(o,h,y):Uint8Array.prototype.set.call(s,this.subarray(h,y),o),x},u.prototype.fill=function(s,o,h,y){if(typeof s=="string"){if(typeof o=="string"?(y=o,o=0,h=this.length):typeof h=="string"&&(y=h,h=this.length),y!==void 0&&typeof y!="string")throw new TypeError("encoding must be a string");if(typeof y=="string"&&!u.isEncoding(y))throw new TypeError("Unknown encoding: "+y);if(s.length===1){const E=s.charCodeAt(0);(y==="utf8"&&E<128||y==="latin1")&&(s=E)}}else typeof s=="number"?s=s&255:typeof s=="boolean"&&(s=Number(s));if(o<0||this.length<o||this.length<h)throw new RangeError("Out of range index");if(h<=o)return this;o=o>>>0,h=h===void 0?this.length:h>>>0,s||(s=0);let x;if(typeof s=="number")for(x=o;x<h;++x)this[x]=s;else{const E=u.isBuffer(s)?s:u.from(s,y),q=E.length;if(q===0)throw new TypeError('The value "'+s+'" is invalid for argument "value"');for(x=0;x<h-o;++x)this[x+o]=E[x%q]}return this};const R={};function D(c,s,o){R[c]=class extends o{constructor(){super(),Object.defineProperty(this,"message",{value:s.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${c}]`,this.stack,delete this.name}get code(){return c}set code(y){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:y,writable:!0})}toString(){return`${this.name} [${c}]: ${this.message}`}}}D("ERR_BUFFER_OUT_OF_BOUNDS",function(c){return c?`${c} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),D("ERR_INVALID_ARG_TYPE",function(c,s){return`The "${c}" argument must be of type number. Received type ${typeof s}`},TypeError),D("ERR_OUT_OF_RANGE",function(c,s,o){let h=`The value of "${c}" is out of range.`,y=o;return Number.isInteger(o)&&Math.abs(o)>2**32?y=G(String(o)):typeof o=="bigint"&&(y=String(o),(o>BigInt(2)**BigInt(32)||o<-(BigInt(2)**BigInt(32)))&&(y=G(y)),y+="n"),h+=` It must be ${s}. Received ${y}`,h},RangeError);function G(c){let s="",o=c.length;const h=c[0]==="-"?1:0;for(;o>=h+4;o-=3)s=`_${c.slice(o-3,o)}${s}`;return`${c.slice(0,o)}${s}`}function d(c,s,o){I(s,"offset"),(c[s]===void 0||c[s+o]===void 0)&&N(s,c.length-(o+1))}function p(c,s,o,h,y,x){if(c>o||c<s){const E=typeof s=="bigint"?"n":"";let q;throw s===0||s===BigInt(0)?q=`>= 0${E} and < 2${E} ** ${(x+1)*8}${E}`:q=`>= -(2${E} ** ${(x+1)*8-1}${E}) and < 2 ** ${(x+1)*8-1}${E}`,new R.ERR_OUT_OF_RANGE("value",q,c)}d(h,y,x)}function I(c,s){if(typeof c!="number")throw new R.ERR_INVALID_ARG_TYPE(s,"number",c)}function N(c,s,o){throw Math.floor(c)!==c?(I(c,o),new R.ERR_OUT_OF_RANGE("offset","an integer",c)):s<0?new R.ERR_BUFFER_OUT_OF_BOUNDS:new R.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${s}`,c)}const te=/[^+/0-9A-Za-z-_]/g;function j(c){if(c=c.split("=")[0],c=c.trim().replace(te,""),c.length<2)return"";for(;c.length%4!==0;)c=c+"=";return c}function V(c,s){s=s||1/0;let o;const h=c.length;let y=null;const x=[];for(let E=0;E<h;++E){if(o=c.charCodeAt(E),o>55295&&o<57344){if(!y){if(o>56319){(s-=3)>-1&&x.push(239,191,189);continue}else if(E+1===h){(s-=3)>-1&&x.push(239,191,189);continue}y=o;continue}if(o<56320){(s-=3)>-1&&x.push(239,191,189),y=o;continue}o=(y-55296<<10|o-56320)+65536}else y&&(s-=3)>-1&&x.push(239,191,189);if(y=null,o<128){if((s-=1)<0)break;x.push(o)}else if(o<2048){if((s-=2)<0)break;x.push(o>>6|192,o&63|128)}else if(o<65536){if((s-=3)<0)break;x.push(o>>12|224,o>>6&63|128,o&63|128)}else if(o<1114112){if((s-=4)<0)break;x.push(o>>18|240,o>>12&63|128,o>>6&63|128,o&63|128)}else throw new Error("Invalid code point")}return x}function Ke(c){const s=[];for(let o=0;o<c.length;++o)s.push(c.charCodeAt(o)&255);return s}function yt(c,s){let o,h,y;const x=[];for(let E=0;E<c.length&&!((s-=2)<0);++E)o=c.charCodeAt(E),h=o>>8,y=o%256,x.push(y),x.push(h);return x}function Ct(c){return t.toByteArray(j(c))}function gt(c,s,o,h){let y;for(y=0;y<h&&!(y+o>=s.length||y>=c.length);++y)s[y+o]=c[y];return y}function Ae(c,s){return c instanceof s||c!=null&&c.constructor!=null&&c.constructor.name!=null&&c.constructor.name===s.name}function nt(c){return c!==c}const Lt=function(){const c="0123456789abcdef",s=new Array(256);for(let o=0;o<16;++o){const h=o*16;for(let y=0;y<16;++y)s[h+y]=c[o]+c[y]}return s}();function Ie(c){return typeof BigInt>"u"?it:c}function it(){throw new Error("BigInt not supported")}})(kt);/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(e,t){var r=kt,n=r.Buffer;function i(f,u){for(var l in f)u[l]=f[l]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=a);function a(f,u,l){return n(f,u,l)}a.prototype=Object.create(n.prototype),i(n,a),a.from=function(f,u,l){if(typeof f=="number")throw new TypeError("Argument must not be a number");return n(f,u,l)},a.alloc=function(f,u,l){if(typeof f!="number")throw new TypeError("Argument must be a number");var b=n(f);return u!==void 0?typeof l=="string"?b.fill(u,l):b.fill(u):b.fill(0),b},a.allocUnsafe=function(f){if(typeof f!="number")throw new TypeError("Argument must be a number");return n(f)},a.allocUnsafeSlow=function(f){if(typeof f!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(f)}})(nn,nn.exports);var ve=nn.exports,$r=65536,gf=4294967295;function mf(){throw new Error(`Secure random number generation is not supported by this browser.
|
|
31
|
-
Use Chrome, Firefox or Internet Explorer 11`)}var _f=ve.Buffer,br=Qe.crypto||Qe.msCrypto;br&&br.getRandomValues?rn.exports=wf:rn.exports=mf;function wf(e,t){if(e>gf)throw new RangeError("requested too many random bytes");var r=_f.allocUnsafe(e);if(e>0)if(e>$r)for(var n=0;n<e;n+=$r)br.getRandomValues(r.slice(n,n+$r));else br.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}var xf=rn.exports,sn={exports:{}};typeof Object.create=="function"?sn.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:sn.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}};var de=sn.exports,on={exports:{}},An={exports:{}},Et=typeof Reflect=="object"?Reflect:null,qn=Et&&typeof Et.apply=="function"?Et.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},fr;Et&&typeof Et.ownKeys=="function"?fr=Et.ownKeys:Object.getOwnPropertySymbols?fr=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:fr=function(t){return Object.getOwnPropertyNames(t)};function vf(e){console&&console.warn&&console.warn(e)}var ns=Number.isNaN||function(t){return t!==t};function K(){K.init.call(this)}An.exports=K;An.exports.once=Af;K.EventEmitter=K;K.prototype._events=void 0;K.prototype._eventsCount=0;K.prototype._maxListeners=void 0;var Vn=10;function Br(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(K,"defaultMaxListeners",{enumerable:!0,get:function(){return Vn},set:function(e){if(typeof e!="number"||e<0||ns(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");Vn=e}});K.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};K.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||ns(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function is(e){return e._maxListeners===void 0?K.defaultMaxListeners:e._maxListeners}K.prototype.getMaxListeners=function(){return is(this)};K.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="error",a=this._events;if(a!==void 0)i=i&&a.error===void 0;else if(!i)return!1;if(i){var f;if(r.length>0&&(f=r[0]),f instanceof Error)throw f;var u=new Error("Unhandled error."+(f?" ("+f.message+")":""));throw u.context=f,u}var l=a[t];if(l===void 0)return!1;if(typeof l=="function")qn(l,this,r);else for(var b=l.length,g=us(l,b),n=0;n<b;++n)qn(g[n],this,r);return!0};function ss(e,t,r,n){var i,a,f;if(Br(r),a=e._events,a===void 0?(a=e._events=Object.create(null),e._eventsCount=0):(a.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),a=e._events),f=a[t]),f===void 0)f=a[t]=r,++e._eventsCount;else if(typeof f=="function"?f=a[t]=n?[r,f]:[f,r]:n?f.unshift(r):f.push(r),i=is(e),i>0&&f.length>i&&!f.warned){f.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+f.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=f.length,vf(u)}return e}K.prototype.addListener=function(t,r){return ss(this,t,r,!1)};K.prototype.on=K.prototype.addListener;K.prototype.prependListener=function(t,r){return ss(this,t,r,!0)};function Ef(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function os(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=Ef.bind(n);return i.listener=r,n.wrapFn=i,i}K.prototype.once=function(t,r){return Br(r),this.on(t,os(this,t,r)),this};K.prototype.prependOnceListener=function(t,r){return Br(r),this.prependListener(t,os(this,t,r)),this};K.prototype.removeListener=function(t,r){var n,i,a,f,u;if(Br(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(a=-1,f=n.length-1;f>=0;f--)if(n[f]===r||n[f].listener===r){u=n[f].listener,a=f;break}if(a<0)return this;a===0?n.shift():Bf(n,a),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,u||r)}return this};K.prototype.off=K.prototype.removeListener;K.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var a=Object.keys(n),f;for(i=0;i<a.length;++i)f=a[i],f!=="removeListener"&&this.removeAllListeners(f);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function as(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Sf(i):us(i,i.length)}K.prototype.listeners=function(t){return as(this,t,!0)};K.prototype.rawListeners=function(t){return as(this,t,!1)};K.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):fs.call(e,t)};K.prototype.listenerCount=fs;function fs(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}K.prototype.eventNames=function(){return this._eventsCount>0?fr(this._events):[]};function us(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function Bf(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function Sf(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function Af(e,t){return new Promise(function(r,n){function i(f){e.removeListener(t,a),n(f)}function a(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}cs(e,t,a,{once:!0}),t!=="error"&&If(e,i,{once:!0})})}function If(e,t,r){typeof e.on=="function"&&cs(e,"error",t,r)}function cs(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(a){n.once&&e.removeEventListener(t,i),r(a)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}var ls=An.exports,hs=ls.EventEmitter;const Rf={},Tf=Object.freeze(Object.defineProperty({__proto__:null,default:Rf},Symbol.toStringTag,{value:"Module"})),In=ef(Tf);var Hr,Kn;function kf(){if(Kn)return Hr;Kn=1;function e(B,P){var T=Object.keys(B);if(Object.getOwnPropertySymbols){var C=Object.getOwnPropertySymbols(B);P&&(C=C.filter(function(F){return Object.getOwnPropertyDescriptor(B,F).enumerable})),T.push.apply(T,C)}return T}function t(B){for(var P=1;P<arguments.length;P++){var T=arguments[P]!=null?arguments[P]:{};P%2?e(Object(T),!0).forEach(function(C){r(B,C,T[C])}):Object.getOwnPropertyDescriptors?Object.defineProperties(B,Object.getOwnPropertyDescriptors(T)):e(Object(T)).forEach(function(C){Object.defineProperty(B,C,Object.getOwnPropertyDescriptor(T,C))})}return B}function r(B,P,T){return P=f(P),P in B?Object.defineProperty(B,P,{value:T,enumerable:!0,configurable:!0,writable:!0}):B[P]=T,B}function n(B,P){if(!(B instanceof P))throw new TypeError("Cannot call a class as a function")}function i(B,P){for(var T=0;T<P.length;T++){var C=P[T];C.enumerable=C.enumerable||!1,C.configurable=!0,"value"in C&&(C.writable=!0),Object.defineProperty(B,f(C.key),C)}}function a(B,P,T){return P&&i(B.prototype,P),Object.defineProperty(B,"prototype",{writable:!1}),B}function f(B){var P=u(B,"string");return typeof P=="symbol"?P:String(P)}function u(B,P){if(typeof B!="object"||B===null)return B;var T=B[Symbol.toPrimitive];if(T!==void 0){var C=T.call(B,P||"default");if(typeof C!="object")return C;throw new TypeError("@@toPrimitive must return a primitive value.")}return(P==="string"?String:Number)(B)}var l=kt,b=l.Buffer,g=In,m=g.inspect,v=m&&m.custom||"inspect";function A(B,P,T){b.prototype.copy.call(B,P,T)}return Hr=function(){function B(){n(this,B),this.head=null,this.tail=null,this.length=0}return a(B,[{key:"push",value:function(T){var C={data:T,next:null};this.length>0?this.tail.next=C:this.head=C,this.tail=C,++this.length}},{key:"unshift",value:function(T){var C={data:T,next:this.head};this.length===0&&(this.tail=C),this.head=C,++this.length}},{key:"shift",value:function(){if(this.length!==0){var T=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,T}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(T){if(this.length===0)return"";for(var C=this.head,F=""+C.data;C=C.next;)F+=T+C.data;return F}},{key:"concat",value:function(T){if(this.length===0)return b.alloc(0);for(var C=b.allocUnsafe(T>>>0),F=this.head,O=0;F;)A(F.data,C,O),O+=F.data.length,F=F.next;return C}},{key:"consume",value:function(T,C){var F;return T<this.head.data.length?(F=this.head.data.slice(0,T),this.head.data=this.head.data.slice(T)):T===this.head.data.length?F=this.shift():F=C?this._getString(T):this._getBuffer(T),F}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(T){var C=this.head,F=1,O=C.data;for(T-=O.length;C=C.next;){var L=C.data,U=T>L.length?L.length:T;if(U===L.length?O+=L:O+=L.slice(0,T),T-=U,T===0){U===L.length?(++F,C.next?this.head=C.next:this.head=this.tail=null):(this.head=C,C.data=L.slice(U));break}++F}return this.length-=F,O}},{key:"_getBuffer",value:function(T){var C=b.allocUnsafe(T),F=this.head,O=1;for(F.data.copy(C),T-=F.data.length;F=F.next;){var L=F.data,U=T>L.length?L.length:T;if(L.copy(C,C.length-T,0,U),T-=U,T===0){U===L.length?(++O,F.next?this.head=F.next:this.head=this.tail=null):(this.head=F,F.data=L.slice(U));break}++O}return this.length-=O,C}},{key:v,value:function(T,C){return m(this,t(t({},C),{},{depth:0,customInspect:!1}))}}]),B}(),Hr}function Pf(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(an,this,e)):process.nextTick(an,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?r._writableState?r._writableState.errorEmitted?process.nextTick(ur,r):(r._writableState.errorEmitted=!0,process.nextTick(Yn,r,a)):process.nextTick(Yn,r,a):t?(process.nextTick(ur,r),t(a)):process.nextTick(ur,r)}),this)}function Yn(e,t){an(e,t),ur(e)}function ur(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function Cf(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function an(e,t){e.emit("error",t)}function Lf(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}var ds={destroy:Pf,undestroy:Cf,errorOrDestroy:Lf},pt={};function Of(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var ps={};function Te(e,t,r){r||(r=Error);function n(a,f,u){return typeof t=="string"?t:t(a,f,u)}var i=function(a){Of(f,a);function f(u,l,b){return a.call(this,n(u,l,b))||this}return f}(r);i.prototype.name=r.name,i.prototype.code=e,ps[e]=i}function Jn(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function Ff(e,t,r){return e.substr(0,t.length)===t}function Uf(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function Nf(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}Te("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);Te("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&Ff(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(Uf(e," argument"))i="The ".concat(e," ").concat(n," ").concat(Jn(t,"type"));else{var a=Nf(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(a," ").concat(n," ").concat(Jn(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);Te("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Te("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});Te("ERR_STREAM_PREMATURE_CLOSE","Premature close");Te("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});Te("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Te("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Te("ERR_STREAM_WRITE_AFTER_END","write after end");Te("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Te("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);Te("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");pt.codes=ps;var Mf=pt.codes.ERR_INVALID_OPT_VALUE;function Df(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function $f(e,t,r,n){var i=Df(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var a=n?r:"highWaterMark";throw new Mf(a,i)}return Math.floor(i)}return e.objectMode?16:16*1024}var bs={getHighWaterMark:$f},Hf=zf;function zf(e,t){if(zr("noDeprecation"))return e;var r=!1;function n(){if(!r){if(zr("throwDeprecation"))throw new Error(t);zr("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function zr(e){try{if(!Qe.localStorage)return!1}catch{return!1}var t=Qe.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}var Gr,Xn;function ys(){if(Xn)return Gr;Xn=1,Gr=M;function e(w){var _=this;this.next=null,this.entry=null,this.finish=function(){Ne(_,w)}}var t;M.WritableState=S;var r={deprecate:Hf},n=hs,i=kt.Buffer,a=(typeof Qe<"u"?Qe:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function f(w){return i.from(w)}function u(w){return i.isBuffer(w)||w instanceof a}var l=ds,b=bs,g=b.getHighWaterMark,m=pt.codes,v=m.ERR_INVALID_ARG_TYPE,A=m.ERR_METHOD_NOT_IMPLEMENTED,B=m.ERR_MULTIPLE_CALLBACK,P=m.ERR_STREAM_CANNOT_PIPE,T=m.ERR_STREAM_DESTROYED,C=m.ERR_STREAM_NULL_VALUES,F=m.ERR_STREAM_WRITE_AFTER_END,O=m.ERR_UNKNOWN_ENCODING,L=l.errorOrDestroy;de(M,n);function U(){}function S(w,_,R){t=t||It(),w=w||{},typeof R!="boolean"&&(R=_ instanceof t),this.objectMode=!!w.objectMode,R&&(this.objectMode=this.objectMode||!!w.writableObjectMode),this.highWaterMark=g(this,w,"writableHighWaterMark",R),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var D=w.decodeStrings===!1;this.decodeStrings=!D,this.defaultEncoding=w.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(G){rt(_,G)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=w.emitClose!==!1,this.autoDestroy=!!w.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}S.prototype.getBuffer=function(){for(var _=this.bufferedRequest,R=[];_;)R.push(_),_=_.next;return R},function(){try{Object.defineProperty(S.prototype,"buffer",{get:r.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var z;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(z=Function.prototype[Symbol.hasInstance],Object.defineProperty(M,Symbol.hasInstance,{value:function(_){return z.call(this,_)?!0:this!==M?!1:_&&_._writableState instanceof S}})):z=function(_){return _ instanceof this};function M(w){t=t||It();var _=this instanceof t;if(!_&&!z.call(M,this))return new M(w);this._writableState=new S(w,this,_),this.writable=!0,w&&(typeof w.write=="function"&&(this._write=w.write),typeof w.writev=="function"&&(this._writev=w.writev),typeof w.destroy=="function"&&(this._destroy=w.destroy),typeof w.final=="function"&&(this._final=w.final)),n.call(this)}M.prototype.pipe=function(){L(this,new P)};function $(w,_){var R=new F;L(w,R),process.nextTick(_,R)}function ae(w,_,R,D){var G;return R===null?G=new C:typeof R!="string"&&!_.objectMode&&(G=new v("chunk",["string","Buffer"],R)),G?(L(w,G),process.nextTick(D,G),!1):!0}M.prototype.write=function(w,_,R){var D=this._writableState,G=!1,d=!D.objectMode&&u(w);return d&&!i.isBuffer(w)&&(w=f(w)),typeof _=="function"&&(R=_,_=null),d?_="buffer":_||(_=D.defaultEncoding),typeof R!="function"&&(R=U),D.ending?$(this,R):(d||ae(this,D,w,R))&&(D.pendingcb++,G=je(this,D,d,w,_,R)),G},M.prototype.cork=function(){this._writableState.corked++},M.prototype.uncork=function(){var w=this._writableState;w.corked&&(w.corked--,!w.writing&&!w.corked&&!w.bufferProcessing&&w.bufferedRequest&&Ce(this,w))},M.prototype.setDefaultEncoding=function(_){if(typeof _=="string"&&(_=_.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((_+"").toLowerCase())>-1))throw new O(_);return this._writableState.defaultEncoding=_,this},Object.defineProperty(M.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function ke(w,_,R){return!w.objectMode&&w.decodeStrings!==!1&&typeof _=="string"&&(_=i.from(_,R)),_}Object.defineProperty(M.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function je(w,_,R,D,G,d){if(!R){var p=ke(_,D,G);D!==p&&(R=!0,G="buffer",D=p)}var I=_.objectMode?1:D.length;_.length+=I;var N=_.length<_.highWaterMark;if(N||(_.needDrain=!0),_.writing||_.corked){var te=_.lastBufferedRequest;_.lastBufferedRequest={chunk:D,encoding:G,isBuf:R,callback:d,next:null},te?te.next=_.lastBufferedRequest:_.bufferedRequest=_.lastBufferedRequest,_.bufferedRequestCount+=1}else ue(w,_,!1,I,D,G,d);return N}function ue(w,_,R,D,G,d,p){_.writelen=D,_.writecb=p,_.writing=!0,_.sync=!0,_.destroyed?_.onwrite(new T("write")):R?w._writev(G,_.onwrite):w._write(G,d,_.onwrite),_.sync=!1}function Ee(w,_,R,D,G){--_.pendingcb,R?(process.nextTick(G,D),process.nextTick(Se,w,_),w._writableState.errorEmitted=!0,L(w,D)):(G(D),w._writableState.errorEmitted=!0,L(w,D),Se(w,_))}function Be(w){w.writing=!1,w.writecb=null,w.length-=w.writelen,w.writelen=0}function rt(w,_){var R=w._writableState,D=R.sync,G=R.writecb;if(typeof G!="function")throw new B;if(Be(R),_)Ee(w,R,D,_,G);else{var d=qe(R)||w.destroyed;!d&&!R.corked&&!R.bufferProcessing&&R.bufferedRequest&&Ce(w,R),D?process.nextTick(Pe,w,R,d,G):Pe(w,R,d,G)}}function Pe(w,_,R,D){R||We(w,_),_.pendingcb--,D(),Se(w,_)}function We(w,_){_.length===0&&_.needDrain&&(_.needDrain=!1,w.emit("drain"))}function Ce(w,_){_.bufferProcessing=!0;var R=_.bufferedRequest;if(w._writev&&R&&R.next){var D=_.bufferedRequestCount,G=new Array(D),d=_.corkedRequestsFree;d.entry=R;for(var p=0,I=!0;R;)G[p]=R,R.isBuf||(I=!1),R=R.next,p+=1;G.allBuffers=I,ue(w,_,!0,_.length,G,"",d.finish),_.pendingcb++,_.lastBufferedRequest=null,d.next?(_.corkedRequestsFree=d.next,d.next=null):_.corkedRequestsFree=new e(_),_.bufferedRequestCount=0}else{for(;R;){var N=R.chunk,te=R.encoding,j=R.callback,V=_.objectMode?1:N.length;if(ue(w,_,!1,V,N,te,j),R=R.next,_.bufferedRequestCount--,_.writing)break}R===null&&(_.lastBufferedRequest=null)}_.bufferedRequest=R,_.bufferProcessing=!1}M.prototype._write=function(w,_,R){R(new A("_write()"))},M.prototype._writev=null,M.prototype.end=function(w,_,R){var D=this._writableState;return typeof w=="function"?(R=w,w=null,_=null):typeof _=="function"&&(R=_,_=null),w!=null&&this.write(w,_),D.corked&&(D.corked=1,this.uncork()),D.ending||Ve(this,D,R),this},Object.defineProperty(M.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function qe(w){return w.ending&&w.length===0&&w.bufferedRequest===null&&!w.finished&&!w.writing}function ee(w,_){w._final(function(R){_.pendingcb--,R&&L(w,R),_.prefinished=!0,w.emit("prefinish"),Se(w,_)})}function fe(w,_){!_.prefinished&&!_.finalCalled&&(typeof w._final=="function"&&!_.destroyed?(_.pendingcb++,_.finalCalled=!0,process.nextTick(ee,w,_)):(_.prefinished=!0,w.emit("prefinish")))}function Se(w,_){var R=qe(_);if(R&&(fe(w,_),_.pendingcb===0&&(_.finished=!0,w.emit("finish"),_.autoDestroy))){var D=w._readableState;(!D||D.autoDestroy&&D.endEmitted)&&w.destroy()}return R}function Ve(w,_,R){_.ending=!0,Se(w,_),R&&(_.finished?process.nextTick(R):w.once("finish",R)),_.ended=!0,w.writable=!1}function Ne(w,_,R){var D=w.entry;for(w.entry=null;D;){var G=D.callback;_.pendingcb--,G(R),D=D.next}_.corkedRequestsFree.next=w}return Object.defineProperty(M.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(_){this._writableState&&(this._writableState.destroyed=_)}}),M.prototype.destroy=l.destroy,M.prototype._undestroy=l.undestroy,M.prototype._destroy=function(w,_){_(w)},Gr}var jr,Qn;function It(){if(Qn)return jr;Qn=1;var e=Object.keys||function(b){var g=[];for(var m in b)g.push(m);return g};jr=f;var t=ms(),r=ys();de(f,t);for(var n=e(r.prototype),i=0;i<n.length;i++){var a=n[i];f.prototype[a]||(f.prototype[a]=r.prototype[a])}function f(b){if(!(this instanceof f))return new f(b);t.call(this,b),r.call(this,b),this.allowHalfOpen=!0,b&&(b.readable===!1&&(this.readable=!1),b.writable===!1&&(this.writable=!1),b.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",u)))}Object.defineProperty(f.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(f.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(f.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function u(){this._writableState.ended||process.nextTick(l,this)}function l(b){b.end()}return Object.defineProperty(f.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(g){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=g,this._writableState.destroyed=g)}}),jr}var yr={},Rn=ve.Buffer,Zn=Rn.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function Gf(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function jf(e){var t=Gf(e);if(typeof t!="string"&&(Rn.isEncoding===Zn||!Zn(e)))throw new Error("Unknown encoding: "+e);return t||e}yr.StringDecoder=Zt;function Zt(e){this.encoding=jf(e);var t;switch(this.encoding){case"utf16le":this.text=Jf,this.end=Xf,t=4;break;case"utf8":this.fillLast=Vf,t=4;break;case"base64":this.text=Qf,this.end=Zf,t=3;break;default:this.write=eu,this.end=tu;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Rn.allocUnsafe(t)}Zt.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""};Zt.prototype.end=Yf;Zt.prototype.text=Kf;Zt.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function Wr(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function Wf(e,t,r){var n=t.length-1;if(n<r)return 0;var i=Wr(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=Wr(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=Wr(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function qf(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"�"}}function Vf(e){var t=this.lastTotal-this.lastNeed,r=qf(this,e);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function Kf(e,t){var r=Wf(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function Yf(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function Jf(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function Xf(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function Qf(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function Zf(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function eu(e){return e.toString(this.encoding)}function tu(e){return e&&e.length?this.write(e):""}var ei=pt.codes.ERR_STREAM_PREMATURE_CLOSE;function ru(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}function nu(){}function iu(e){return e.setHeader&&typeof e.abort=="function"}function gs(e,t,r){if(typeof t=="function")return gs(e,null,t);t||(t={}),r=ru(r||nu);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,a=function(){e.writable||u()},f=e._writableState&&e._writableState.finished,u=function(){i=!1,f=!0,n||r.call(e)},l=e._readableState&&e._readableState.endEmitted,b=function(){n=!1,l=!0,i||r.call(e)},g=function(B){r.call(e,B)},m=function(){var B;if(n&&!l)return(!e._readableState||!e._readableState.ended)&&(B=new ei),r.call(e,B);if(i&&!f)return(!e._writableState||!e._writableState.ended)&&(B=new ei),r.call(e,B)},v=function(){e.req.on("finish",u)};return iu(e)?(e.on("complete",u),e.on("abort",m),e.req?v():e.on("request",v)):i&&!e._writableState&&(e.on("end",a),e.on("close",a)),e.on("end",b),e.on("finish",u),t.error!==!1&&e.on("error",g),e.on("close",m),function(){e.removeListener("complete",u),e.removeListener("abort",m),e.removeListener("request",v),e.req&&e.req.removeListener("finish",u),e.removeListener("end",a),e.removeListener("close",a),e.removeListener("finish",u),e.removeListener("end",b),e.removeListener("error",g),e.removeListener("close",m)}}var Tn=gs,qr,ti;function su(){if(ti)return qr;ti=1;var e;function t(O,L,U){return L=r(L),L in O?Object.defineProperty(O,L,{value:U,enumerable:!0,configurable:!0,writable:!0}):O[L]=U,O}function r(O){var L=n(O,"string");return typeof L=="symbol"?L:String(L)}function n(O,L){if(typeof O!="object"||O===null)return O;var U=O[Symbol.toPrimitive];if(U!==void 0){var S=U.call(O,L||"default");if(typeof S!="object")return S;throw new TypeError("@@toPrimitive must return a primitive value.")}return(L==="string"?String:Number)(O)}var i=Tn,a=Symbol("lastResolve"),f=Symbol("lastReject"),u=Symbol("error"),l=Symbol("ended"),b=Symbol("lastPromise"),g=Symbol("handlePromise"),m=Symbol("stream");function v(O,L){return{value:O,done:L}}function A(O){var L=O[a];if(L!==null){var U=O[m].read();U!==null&&(O[b]=null,O[a]=null,O[f]=null,L(v(U,!1)))}}function B(O){process.nextTick(A,O)}function P(O,L){return function(U,S){O.then(function(){if(L[l]){U(v(void 0,!0));return}L[g](U,S)},S)}}var T=Object.getPrototypeOf(function(){}),C=Object.setPrototypeOf((e={get stream(){return this[m]},next:function(){var L=this,U=this[u];if(U!==null)return Promise.reject(U);if(this[l])return Promise.resolve(v(void 0,!0));if(this[m].destroyed)return new Promise(function($,ae){process.nextTick(function(){L[u]?ae(L[u]):$(v(void 0,!0))})});var S=this[b],z;if(S)z=new Promise(P(S,this));else{var M=this[m].read();if(M!==null)return Promise.resolve(v(M,!1));z=new Promise(this[g])}return this[b]=z,z}},t(e,Symbol.asyncIterator,function(){return this}),t(e,"return",function(){var L=this;return new Promise(function(U,S){L[m].destroy(null,function(z){if(z){S(z);return}U(v(void 0,!0))})})}),e),T),F=function(L){var U,S=Object.create(C,(U={},t(U,m,{value:L,writable:!0}),t(U,a,{value:null,writable:!0}),t(U,f,{value:null,writable:!0}),t(U,u,{value:null,writable:!0}),t(U,l,{value:L._readableState.endEmitted,writable:!0}),t(U,g,{value:function(M,$){var ae=S[m].read();ae?(S[b]=null,S[a]=null,S[f]=null,M(v(ae,!1))):(S[a]=M,S[f]=$)},writable:!0}),U));return S[b]=null,i(L,function(z){if(z&&z.code!=="ERR_STREAM_PREMATURE_CLOSE"){var M=S[f];M!==null&&(S[b]=null,S[a]=null,S[f]=null,M(z)),S[u]=z;return}var $=S[a];$!==null&&(S[b]=null,S[a]=null,S[f]=null,$(v(void 0,!0))),S[l]=!0}),L.on("readable",B.bind(null,S)),S};return qr=F,qr}var Vr,ri;function ou(){return ri||(ri=1,Vr=function(){throw new Error("Readable.from is not available in the browser")}),Vr}var Kr,ni;function ms(){if(ni)return Kr;ni=1,Kr=$;var e;$.ReadableState=M,ls.EventEmitter;var t=function(p,I){return p.listeners(I).length},r=hs,n=kt.Buffer,i=(typeof Qe<"u"?Qe:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function a(d){return n.from(d)}function f(d){return n.isBuffer(d)||d instanceof i}var u=In,l;u&&u.debuglog?l=u.debuglog("stream"):l=function(){};var b=kf(),g=ds,m=bs,v=m.getHighWaterMark,A=pt.codes,B=A.ERR_INVALID_ARG_TYPE,P=A.ERR_STREAM_PUSH_AFTER_EOF,T=A.ERR_METHOD_NOT_IMPLEMENTED,C=A.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,F,O,L;de($,r);var U=g.errorOrDestroy,S=["error","close","destroy","pause","resume"];function z(d,p,I){if(typeof d.prependListener=="function")return d.prependListener(p,I);!d._events||!d._events[p]?d.on(p,I):Array.isArray(d._events[p])?d._events[p].unshift(I):d._events[p]=[I,d._events[p]]}function M(d,p,I){e=e||It(),d=d||{},typeof I!="boolean"&&(I=p instanceof e),this.objectMode=!!d.objectMode,I&&(this.objectMode=this.objectMode||!!d.readableObjectMode),this.highWaterMark=v(this,d,"readableHighWaterMark",I),this.buffer=new b,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=d.emitClose!==!1,this.autoDestroy=!!d.autoDestroy,this.destroyed=!1,this.defaultEncoding=d.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,d.encoding&&(F||(F=yr.StringDecoder),this.decoder=new F(d.encoding),this.encoding=d.encoding)}function $(d){if(e=e||It(),!(this instanceof $))return new $(d);var p=this instanceof e;this._readableState=new M(d,this,p),this.readable=!0,d&&(typeof d.read=="function"&&(this._read=d.read),typeof d.destroy=="function"&&(this._destroy=d.destroy)),r.call(this)}Object.defineProperty($.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(p){this._readableState&&(this._readableState.destroyed=p)}}),$.prototype.destroy=g.destroy,$.prototype._undestroy=g.undestroy,$.prototype._destroy=function(d,p){p(d)},$.prototype.push=function(d,p){var I=this._readableState,N;return I.objectMode?N=!0:typeof d=="string"&&(p=p||I.defaultEncoding,p!==I.encoding&&(d=n.from(d,p),p=""),N=!0),ae(this,d,p,!1,N)},$.prototype.unshift=function(d){return ae(this,d,null,!0,!1)};function ae(d,p,I,N,te){l("readableAddChunk",p);var j=d._readableState;if(p===null)j.reading=!1,rt(d,j);else{var V;if(te||(V=je(j,p)),V)U(d,V);else if(j.objectMode||p&&p.length>0)if(typeof p!="string"&&!j.objectMode&&Object.getPrototypeOf(p)!==n.prototype&&(p=a(p)),N)j.endEmitted?U(d,new C):ke(d,j,p,!0);else if(j.ended)U(d,new P);else{if(j.destroyed)return!1;j.reading=!1,j.decoder&&!I?(p=j.decoder.write(p),j.objectMode||p.length!==0?ke(d,j,p,!1):Ce(d,j)):ke(d,j,p,!1)}else N||(j.reading=!1,Ce(d,j))}return!j.ended&&(j.length<j.highWaterMark||j.length===0)}function ke(d,p,I,N){p.flowing&&p.length===0&&!p.sync?(p.awaitDrain=0,d.emit("data",I)):(p.length+=p.objectMode?1:I.length,N?p.buffer.unshift(I):p.buffer.push(I),p.needReadable&&Pe(d)),Ce(d,p)}function je(d,p){var I;return!f(p)&&typeof p!="string"&&p!==void 0&&!d.objectMode&&(I=new B("chunk",["string","Buffer","Uint8Array"],p)),I}$.prototype.isPaused=function(){return this._readableState.flowing===!1},$.prototype.setEncoding=function(d){F||(F=yr.StringDecoder);var p=new F(d);this._readableState.decoder=p,this._readableState.encoding=this._readableState.decoder.encoding;for(var I=this._readableState.buffer.head,N="";I!==null;)N+=p.write(I.data),I=I.next;return this._readableState.buffer.clear(),N!==""&&this._readableState.buffer.push(N),this._readableState.length=N.length,this};var ue=1073741824;function Ee(d){return d>=ue?d=ue:(d--,d|=d>>>1,d|=d>>>2,d|=d>>>4,d|=d>>>8,d|=d>>>16,d++),d}function Be(d,p){return d<=0||p.length===0&&p.ended?0:p.objectMode?1:d!==d?p.flowing&&p.length?p.buffer.head.data.length:p.length:(d>p.highWaterMark&&(p.highWaterMark=Ee(d)),d<=p.length?d:p.ended?p.length:(p.needReadable=!0,0))}$.prototype.read=function(d){l("read",d),d=parseInt(d,10);var p=this._readableState,I=d;if(d!==0&&(p.emittedReadable=!1),d===0&&p.needReadable&&((p.highWaterMark!==0?p.length>=p.highWaterMark:p.length>0)||p.ended))return l("read: emitReadable",p.length,p.ended),p.length===0&&p.ended?R(this):Pe(this),null;if(d=Be(d,p),d===0&&p.ended)return p.length===0&&R(this),null;var N=p.needReadable;l("need readable",N),(p.length===0||p.length-d<p.highWaterMark)&&(N=!0,l("length less than watermark",N)),p.ended||p.reading?(N=!1,l("reading or ended",N)):N&&(l("do read"),p.reading=!0,p.sync=!0,p.length===0&&(p.needReadable=!0),this._read(p.highWaterMark),p.sync=!1,p.reading||(d=Be(I,p)));var te;return d>0?te=_(d,p):te=null,te===null?(p.needReadable=p.length<=p.highWaterMark,d=0):(p.length-=d,p.awaitDrain=0),p.length===0&&(p.ended||(p.needReadable=!0),I!==d&&p.ended&&R(this)),te!==null&&this.emit("data",te),te};function rt(d,p){if(l("onEofChunk"),!p.ended){if(p.decoder){var I=p.decoder.end();I&&I.length&&(p.buffer.push(I),p.length+=p.objectMode?1:I.length)}p.ended=!0,p.sync?Pe(d):(p.needReadable=!1,p.emittedReadable||(p.emittedReadable=!0,We(d)))}}function Pe(d){var p=d._readableState;l("emitReadable",p.needReadable,p.emittedReadable),p.needReadable=!1,p.emittedReadable||(l("emitReadable",p.flowing),p.emittedReadable=!0,process.nextTick(We,d))}function We(d){var p=d._readableState;l("emitReadable_",p.destroyed,p.length,p.ended),!p.destroyed&&(p.length||p.ended)&&(d.emit("readable"),p.emittedReadable=!1),p.needReadable=!p.flowing&&!p.ended&&p.length<=p.highWaterMark,w(d)}function Ce(d,p){p.readingMore||(p.readingMore=!0,process.nextTick(qe,d,p))}function qe(d,p){for(;!p.reading&&!p.ended&&(p.length<p.highWaterMark||p.flowing&&p.length===0);){var I=p.length;if(l("maybeReadMore read 0"),d.read(0),I===p.length)break}p.readingMore=!1}$.prototype._read=function(d){U(this,new T("_read()"))},$.prototype.pipe=function(d,p){var I=this,N=this._readableState;switch(N.pipesCount){case 0:N.pipes=d;break;case 1:N.pipes=[N.pipes,d];break;default:N.pipes.push(d);break}N.pipesCount+=1,l("pipe count=%d opts=%j",N.pipesCount,p);var te=(!p||p.end!==!1)&&d!==process.stdout&&d!==process.stderr,j=te?Ke:it;N.endEmitted?process.nextTick(j):I.once("end",j),d.on("unpipe",V);function V(c,s){l("onunpipe"),c===I&&s&&s.hasUnpiped===!1&&(s.hasUnpiped=!0,gt())}function Ke(){l("onend"),d.end()}var yt=ee(I);d.on("drain",yt);var Ct=!1;function gt(){l("cleanup"),d.removeListener("close",Lt),d.removeListener("finish",Ie),d.removeListener("drain",yt),d.removeListener("error",nt),d.removeListener("unpipe",V),I.removeListener("end",Ke),I.removeListener("end",it),I.removeListener("data",Ae),Ct=!0,N.awaitDrain&&(!d._writableState||d._writableState.needDrain)&&yt()}I.on("data",Ae);function Ae(c){l("ondata");var s=d.write(c);l("dest.write",s),s===!1&&((N.pipesCount===1&&N.pipes===d||N.pipesCount>1&&G(N.pipes,d)!==-1)&&!Ct&&(l("false write response, pause",N.awaitDrain),N.awaitDrain++),I.pause())}function nt(c){l("onerror",c),it(),d.removeListener("error",nt),t(d,"error")===0&&U(d,c)}z(d,"error",nt);function Lt(){d.removeListener("finish",Ie),it()}d.once("close",Lt);function Ie(){l("onfinish"),d.removeListener("close",Lt),it()}d.once("finish",Ie);function it(){l("unpipe"),I.unpipe(d)}return d.emit("pipe",I),N.flowing||(l("pipe resume"),I.resume()),d};function ee(d){return function(){var I=d._readableState;l("pipeOnDrain",I.awaitDrain),I.awaitDrain&&I.awaitDrain--,I.awaitDrain===0&&t(d,"data")&&(I.flowing=!0,w(d))}}$.prototype.unpipe=function(d){var p=this._readableState,I={hasUnpiped:!1};if(p.pipesCount===0)return this;if(p.pipesCount===1)return d&&d!==p.pipes?this:(d||(d=p.pipes),p.pipes=null,p.pipesCount=0,p.flowing=!1,d&&d.emit("unpipe",this,I),this);if(!d){var N=p.pipes,te=p.pipesCount;p.pipes=null,p.pipesCount=0,p.flowing=!1;for(var j=0;j<te;j++)N[j].emit("unpipe",this,{hasUnpiped:!1});return this}var V=G(p.pipes,d);return V===-1?this:(p.pipes.splice(V,1),p.pipesCount-=1,p.pipesCount===1&&(p.pipes=p.pipes[0]),d.emit("unpipe",this,I),this)},$.prototype.on=function(d,p){var I=r.prototype.on.call(this,d,p),N=this._readableState;return d==="data"?(N.readableListening=this.listenerCount("readable")>0,N.flowing!==!1&&this.resume()):d==="readable"&&!N.endEmitted&&!N.readableListening&&(N.readableListening=N.needReadable=!0,N.flowing=!1,N.emittedReadable=!1,l("on readable",N.length,N.reading),N.length?Pe(this):N.reading||process.nextTick(Se,this)),I},$.prototype.addListener=$.prototype.on,$.prototype.removeListener=function(d,p){var I=r.prototype.removeListener.call(this,d,p);return d==="readable"&&process.nextTick(fe,this),I},$.prototype.removeAllListeners=function(d){var p=r.prototype.removeAllListeners.apply(this,arguments);return(d==="readable"||d===void 0)&&process.nextTick(fe,this),p};function fe(d){var p=d._readableState;p.readableListening=d.listenerCount("readable")>0,p.resumeScheduled&&!p.paused?p.flowing=!0:d.listenerCount("data")>0&&d.resume()}function Se(d){l("readable nexttick read 0"),d.read(0)}$.prototype.resume=function(){var d=this._readableState;return d.flowing||(l("resume"),d.flowing=!d.readableListening,Ve(this,d)),d.paused=!1,this};function Ve(d,p){p.resumeScheduled||(p.resumeScheduled=!0,process.nextTick(Ne,d,p))}function Ne(d,p){l("resume",p.reading),p.reading||d.read(0),p.resumeScheduled=!1,d.emit("resume"),w(d),p.flowing&&!p.reading&&d.read(0)}$.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function w(d){var p=d._readableState;for(l("flow",p.flowing);p.flowing&&d.read()!==null;);}$.prototype.wrap=function(d){var p=this,I=this._readableState,N=!1;d.on("end",function(){if(l("wrapped end"),I.decoder&&!I.ended){var V=I.decoder.end();V&&V.length&&p.push(V)}p.push(null)}),d.on("data",function(V){if(l("wrapped data"),I.decoder&&(V=I.decoder.write(V)),!(I.objectMode&&V==null)&&!(!I.objectMode&&(!V||!V.length))){var Ke=p.push(V);Ke||(N=!0,d.pause())}});for(var te in d)this[te]===void 0&&typeof d[te]=="function"&&(this[te]=function(Ke){return function(){return d[Ke].apply(d,arguments)}}(te));for(var j=0;j<S.length;j++)d.on(S[j],this.emit.bind(this,S[j]));return this._read=function(V){l("wrapped _read",V),N&&(N=!1,d.resume())},this},typeof Symbol=="function"&&($.prototype[Symbol.asyncIterator]=function(){return O===void 0&&(O=su()),O(this)}),Object.defineProperty($.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty($.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty($.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(p){this._readableState&&(this._readableState.flowing=p)}}),$._fromList=_,Object.defineProperty($.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function _(d,p){if(p.length===0)return null;var I;return p.objectMode?I=p.buffer.shift():!d||d>=p.length?(p.decoder?I=p.buffer.join(""):p.buffer.length===1?I=p.buffer.first():I=p.buffer.concat(p.length),p.buffer.clear()):I=p.buffer.consume(d,p.decoder),I}function R(d){var p=d._readableState;l("endReadable",p.endEmitted),p.endEmitted||(p.ended=!0,process.nextTick(D,p,d))}function D(d,p){if(l("endReadableNT",d.endEmitted,d.length),!d.endEmitted&&d.length===0&&(d.endEmitted=!0,p.readable=!1,p.emit("end"),d.autoDestroy)){var I=p._writableState;(!I||I.autoDestroy&&I.finished)&&p.destroy()}}typeof Symbol=="function"&&($.from=function(d,p){return L===void 0&&(L=ou()),L($,d,p)});function G(d,p){for(var I=0,N=d.length;I<N;I++)if(d[I]===p)return I;return-1}return Kr}var _s=Ge,Sr=pt.codes,au=Sr.ERR_METHOD_NOT_IMPLEMENTED,fu=Sr.ERR_MULTIPLE_CALLBACK,uu=Sr.ERR_TRANSFORM_ALREADY_TRANSFORMING,cu=Sr.ERR_TRANSFORM_WITH_LENGTH_0,Ar=It();de(Ge,Ar);function lu(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new fu);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Ge(e){if(!(this instanceof Ge))return new Ge(e);Ar.call(this,e),this._transformState={afterTransform:lu.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",hu)}function hu(){var e=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(t,r){ii(e,t,r)}):ii(this,null,null)}Ge.prototype.push=function(e,t){return this._transformState.needTransform=!1,Ar.prototype.push.call(this,e,t)};Ge.prototype._transform=function(e,t,r){r(new au("_transform()"))};Ge.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Ge.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};Ge.prototype._destroy=function(e,t){Ar.prototype._destroy.call(this,e,function(r){t(r)})};function ii(e,t,r){if(t)return e.emit("error",t);if(r!=null&&e.push(r),e._writableState.length)throw new cu;if(e._transformState.transforming)throw new uu;return e.push(null)}var du=Kt,ws=_s;de(Kt,ws);function Kt(e){if(!(this instanceof Kt))return new Kt(e);ws.call(this,e)}Kt.prototype._transform=function(e,t,r){r(null,e)};var Yr;function pu(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var xs=pt.codes,bu=xs.ERR_MISSING_ARGS,yu=xs.ERR_STREAM_DESTROYED;function si(e){if(e)throw e}function gu(e){return e.setHeader&&typeof e.abort=="function"}function mu(e,t,r,n){n=pu(n);var i=!1;e.on("close",function(){i=!0}),Yr===void 0&&(Yr=Tn),Yr(e,{readable:t,writable:r},function(f){if(f)return n(f);i=!0,n()});var a=!1;return function(f){if(!i&&!a){if(a=!0,gu(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(f||new yu("pipe"))}}}function oi(e){e()}function _u(e,t){return e.pipe(t)}function wu(e){return!e.length||typeof e[e.length-1]!="function"?si:e.pop()}function xu(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=wu(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new bu("streams");var i,a=t.map(function(f,u){var l=u<t.length-1,b=u>0;return mu(f,l,b,function(g){i||(i=g),g&&a.forEach(oi),!l&&(a.forEach(oi),n(i))})});return t.reduce(_u)}var vu=xu;(function(e,t){t=e.exports=ms(),t.Stream=t,t.Readable=t,t.Writable=ys(),t.Duplex=It(),t.Transform=_s,t.PassThrough=du,t.finished=Tn,t.pipeline=vu})(on,on.exports);var vs=on.exports,gr=ve.Buffer,Es=vs.Transform,Eu=de;function Bu(e,t){if(!gr.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function et(e){Es.call(this),this._block=gr.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}Eu(et,Es);et.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};et.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};et.prototype.update=function(e,t){if(Bu(e,"Data"),this._finalized)throw new Error("Digest already called");gr.isBuffer(e)||(e=gr.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var a=0,f=e.length*8;f>0;++a)this._length[a]+=f,f=this._length[a]/4294967296|0,f>0&&(this._length[a]-=4294967296*f);return this};et.prototype._update=function(){throw new Error("_update is not implemented")};et.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};et.prototype._digest=function(){throw new Error("_digest is not implemented")};var Su=et,Au=de,Bs=Su,Iu=ve.Buffer,Ru=new Array(16);function Ir(){Bs.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}Au(Ir,Bs);Ir.prototype._update=function(){for(var e=Ru,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);var r=this._a,n=this._b,i=this._c,a=this._d;r=pe(r,n,i,a,e[0],3614090360,7),a=pe(a,r,n,i,e[1],3905402710,12),i=pe(i,a,r,n,e[2],606105819,17),n=pe(n,i,a,r,e[3],3250441966,22),r=pe(r,n,i,a,e[4],4118548399,7),a=pe(a,r,n,i,e[5],1200080426,12),i=pe(i,a,r,n,e[6],2821735955,17),n=pe(n,i,a,r,e[7],4249261313,22),r=pe(r,n,i,a,e[8],1770035416,7),a=pe(a,r,n,i,e[9],2336552879,12),i=pe(i,a,r,n,e[10],4294925233,17),n=pe(n,i,a,r,e[11],2304563134,22),r=pe(r,n,i,a,e[12],1804603682,7),a=pe(a,r,n,i,e[13],4254626195,12),i=pe(i,a,r,n,e[14],2792965006,17),n=pe(n,i,a,r,e[15],1236535329,22),r=be(r,n,i,a,e[1],4129170786,5),a=be(a,r,n,i,e[6],3225465664,9),i=be(i,a,r,n,e[11],643717713,14),n=be(n,i,a,r,e[0],3921069994,20),r=be(r,n,i,a,e[5],3593408605,5),a=be(a,r,n,i,e[10],38016083,9),i=be(i,a,r,n,e[15],3634488961,14),n=be(n,i,a,r,e[4],3889429448,20),r=be(r,n,i,a,e[9],568446438,5),a=be(a,r,n,i,e[14],3275163606,9),i=be(i,a,r,n,e[3],4107603335,14),n=be(n,i,a,r,e[8],1163531501,20),r=be(r,n,i,a,e[13],2850285829,5),a=be(a,r,n,i,e[2],4243563512,9),i=be(i,a,r,n,e[7],1735328473,14),n=be(n,i,a,r,e[12],2368359562,20),r=ye(r,n,i,a,e[5],4294588738,4),a=ye(a,r,n,i,e[8],2272392833,11),i=ye(i,a,r,n,e[11],1839030562,16),n=ye(n,i,a,r,e[14],4259657740,23),r=ye(r,n,i,a,e[1],2763975236,4),a=ye(a,r,n,i,e[4],1272893353,11),i=ye(i,a,r,n,e[7],4139469664,16),n=ye(n,i,a,r,e[10],3200236656,23),r=ye(r,n,i,a,e[13],681279174,4),a=ye(a,r,n,i,e[0],3936430074,11),i=ye(i,a,r,n,e[3],3572445317,16),n=ye(n,i,a,r,e[6],76029189,23),r=ye(r,n,i,a,e[9],3654602809,4),a=ye(a,r,n,i,e[12],3873151461,11),i=ye(i,a,r,n,e[15],530742520,16),n=ye(n,i,a,r,e[2],3299628645,23),r=ge(r,n,i,a,e[0],4096336452,6),a=ge(a,r,n,i,e[7],1126891415,10),i=ge(i,a,r,n,e[14],2878612391,15),n=ge(n,i,a,r,e[5],4237533241,21),r=ge(r,n,i,a,e[12],1700485571,6),a=ge(a,r,n,i,e[3],2399980690,10),i=ge(i,a,r,n,e[10],4293915773,15),n=ge(n,i,a,r,e[1],2240044497,21),r=ge(r,n,i,a,e[8],1873313359,6),a=ge(a,r,n,i,e[15],4264355552,10),i=ge(i,a,r,n,e[6],2734768916,15),n=ge(n,i,a,r,e[13],1309151649,21),r=ge(r,n,i,a,e[4],4149444226,6),a=ge(a,r,n,i,e[11],3174756917,10),i=ge(i,a,r,n,e[2],718787259,15),n=ge(n,i,a,r,e[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+a|0};Ir.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=Iu.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e};function Rr(e,t){return e<<t|e>>>32-t}function pe(e,t,r,n,i,a,f){return Rr(e+(t&r|~t&n)+i+a|0,f)+t|0}function be(e,t,r,n,i,a,f){return Rr(e+(t&n|r&~n)+i+a|0,f)+t|0}function ye(e,t,r,n,i,a,f){return Rr(e+(t^r^n)+i+a|0,f)+t|0}function ge(e,t,r,n,i,a,f){return Rr(e+(r^(t|~n))+i+a|0,f)+t|0}var Tu=Ir,mr=ve.Buffer,Ss=vs.Transform,ku=de;function Pu(e,t){if(!mr.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function tt(e){Ss.call(this),this._block=mr.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}ku(tt,Ss);tt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};tt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};tt.prototype.update=function(e,t){if(Pu(e,"Data"),this._finalized)throw new Error("Digest already called");mr.isBuffer(e)||(e=mr.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var a=0,f=e.length*8;f>0;++a)this._length[a]+=f,f=this._length[a]/4294967296|0,f>0&&(this._length[a]-=4294967296*f);return this};tt.prototype._update=function(){throw new Error("_update is not implemented")};tt.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};tt.prototype._digest=function(){throw new Error("_digest is not implemented")};var Cu=tt,Jr=kt.Buffer,Lu=de,As=Cu,Ou=new Array(16),Dt=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],$t=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Ht=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],zt=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],Gt=[0,1518500249,1859775393,2400959708,2840853838],jt=[1352829926,1548603684,1836072691,2053994217,0];function Tr(){As.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}Lu(Tr,As);Tr.prototype._update=function(){for(var e=Ou,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);for(var r=this._a|0,n=this._b|0,i=this._c|0,a=this._d|0,f=this._e|0,u=this._a|0,l=this._b|0,b=this._c|0,g=this._d|0,m=this._e|0,v=0;v<80;v+=1){var A,B;v<16?(A=ai(r,n,i,a,f,e[Dt[v]],Gt[0],Ht[v]),B=li(u,l,b,g,m,e[$t[v]],jt[0],zt[v])):v<32?(A=fi(r,n,i,a,f,e[Dt[v]],Gt[1],Ht[v]),B=ci(u,l,b,g,m,e[$t[v]],jt[1],zt[v])):v<48?(A=ui(r,n,i,a,f,e[Dt[v]],Gt[2],Ht[v]),B=ui(u,l,b,g,m,e[$t[v]],jt[2],zt[v])):v<64?(A=ci(r,n,i,a,f,e[Dt[v]],Gt[3],Ht[v]),B=fi(u,l,b,g,m,e[$t[v]],jt[3],zt[v])):(A=li(r,n,i,a,f,e[Dt[v]],Gt[4],Ht[v]),B=ai(u,l,b,g,m,e[$t[v]],jt[4],zt[v])),r=f,f=a,a=ht(i,10),i=n,n=A,u=m,m=g,g=ht(b,10),b=l,l=B}var P=this._b+i+g|0;this._b=this._c+a+m|0,this._c=this._d+f+u|0,this._d=this._e+r+l|0,this._e=this._a+n+b|0,this._a=P};Tr.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=Jr.alloc?Jr.alloc(20):new Jr(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e};function ht(e,t){return e<<t|e>>>32-t}function ai(e,t,r,n,i,a,f,u){return ht(e+(t^r^n)+a+f|0,u)+i|0}function fi(e,t,r,n,i,a,f,u){return ht(e+(t&r|~t&n)+a+f|0,u)+i|0}function ui(e,t,r,n,i,a,f,u){return ht(e+((t|~r)^n)+a+f|0,u)+i|0}function ci(e,t,r,n,i,a,f,u){return ht(e+(t&n|r&~n)+a+f|0,u)+i|0}function li(e,t,r,n,i,a,f,u){return ht(e+(t^(r|~n))+a+f|0,u)+i|0}var Fu=Tr,Is={exports:{}},Rs=ve.Buffer;function kr(e,t){this._block=Rs.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}kr.prototype.update=function(e,t){typeof e=="string"&&(t=t||"utf8",e=Rs.from(e,t));for(var r=this._block,n=this._blockSize,i=e.length,a=this._len,f=0;f<i;){for(var u=a%n,l=Math.min(i-f,n-u),b=0;b<l;b++)r[u+b]=e[f+b];a+=l,f+=l,a%n===0&&this._update(r)}return this._len+=i,this};kr.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(r&4294967295)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var a=this._hash();return e?a.toString(e):a};kr.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var Pt=kr,Uu=de,Ts=Pt,Nu=ve.Buffer,Mu=[1518500249,1859775393,-1894007588,-899497514],Du=new Array(80);function er(){this.init(),this._w=Du,Ts.call(this,64,56)}Uu(er,Ts);er.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function $u(e){return e<<5|e>>>27}function Hu(e){return e<<30|e>>>2}function zu(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}er.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,a=this._d|0,f=this._e|0,u=0;u<16;++u)t[u]=e.readInt32BE(u*4);for(;u<80;++u)t[u]=t[u-3]^t[u-8]^t[u-14]^t[u-16];for(var l=0;l<80;++l){var b=~~(l/20),g=$u(r)+zu(b,n,i,a)+f+t[l]+Mu[b]|0;f=a,a=i,i=Hu(n),n=r,r=g}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=a+this._d|0,this._e=f+this._e|0};er.prototype._hash=function(){var e=Nu.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var Gu=er,ju=de,ks=Pt,Wu=ve.Buffer,qu=[1518500249,1859775393,-1894007588,-899497514],Vu=new Array(80);function tr(){this.init(),this._w=Vu,ks.call(this,64,56)}ju(tr,ks);tr.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function Ku(e){return e<<1|e>>>31}function Yu(e){return e<<5|e>>>27}function Ju(e){return e<<30|e>>>2}function Xu(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}tr.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,a=this._d|0,f=this._e|0,u=0;u<16;++u)t[u]=e.readInt32BE(u*4);for(;u<80;++u)t[u]=Ku(t[u-3]^t[u-8]^t[u-14]^t[u-16]);for(var l=0;l<80;++l){var b=~~(l/20),g=Yu(r)+Xu(b,n,i,a)+f+t[l]+qu[b]|0;f=a,a=i,i=Ju(n),n=r,r=g}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=a+this._d|0,this._e=f+this._e|0};tr.prototype._hash=function(){var e=Wu.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var Qu=tr,Zu=de,Ps=Pt,ec=ve.Buffer,tc=[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],rc=new Array(64);function rr(){this.init(),this._w=rc,Ps.call(this,64,56)}Zu(rr,Ps);rr.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function nc(e,t,r){return r^e&(t^r)}function ic(e,t,r){return e&t|r&(e|t)}function sc(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function oc(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function ac(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function fc(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}rr.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,a=this._d|0,f=this._e|0,u=this._f|0,l=this._g|0,b=this._h|0,g=0;g<16;++g)t[g]=e.readInt32BE(g*4);for(;g<64;++g)t[g]=fc(t[g-2])+t[g-7]+ac(t[g-15])+t[g-16]|0;for(var m=0;m<64;++m){var v=b+oc(f)+nc(f,u,l)+tc[m]+t[m]|0,A=sc(r)+ic(r,n,i)|0;b=l,l=u,u=f,f=a+v|0,a=i,i=n,n=r,r=v+A|0}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=a+this._d|0,this._e=f+this._e|0,this._f=u+this._f|0,this._g=l+this._g|0,this._h=b+this._h|0};rr.prototype._hash=function(){var e=ec.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e};var Cs=rr,uc=de,cc=Cs,lc=Pt,hc=ve.Buffer,dc=new Array(64);function Pr(){this.init(),this._w=dc,lc.call(this,64,56)}uc(Pr,cc);Pr.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this};Pr.prototype._hash=function(){var e=hc.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e};var pc=Pr,bc=de,Ls=Pt,yc=ve.Buffer,hi=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],gc=new Array(160);function nr(){this.init(),this._w=gc,Ls.call(this,128,112)}bc(nr,Ls);nr.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function di(e,t,r){return r^e&(t^r)}function pi(e,t,r){return e&t|r&(e|t)}function bi(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function yi(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function mc(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function _c(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function wc(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function xc(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function le(e,t){return e>>>0<t>>>0?1:0}nr.prototype._update=function(e){for(var t=this._w,r=this._ah|0,n=this._bh|0,i=this._ch|0,a=this._dh|0,f=this._eh|0,u=this._fh|0,l=this._gh|0,b=this._hh|0,g=this._al|0,m=this._bl|0,v=this._cl|0,A=this._dl|0,B=this._el|0,P=this._fl|0,T=this._gl|0,C=this._hl|0,F=0;F<32;F+=2)t[F]=e.readInt32BE(F*4),t[F+1]=e.readInt32BE(F*4+4);for(;F<160;F+=2){var O=t[F-30],L=t[F-15*2+1],U=mc(O,L),S=_c(L,O);O=t[F-2*2],L=t[F-2*2+1];var z=wc(O,L),M=xc(L,O),$=t[F-7*2],ae=t[F-7*2+1],ke=t[F-16*2],je=t[F-16*2+1],ue=S+ae|0,Ee=U+$+le(ue,S)|0;ue=ue+M|0,Ee=Ee+z+le(ue,M)|0,ue=ue+je|0,Ee=Ee+ke+le(ue,je)|0,t[F]=Ee,t[F+1]=ue}for(var Be=0;Be<160;Be+=2){Ee=t[Be],ue=t[Be+1];var rt=pi(r,n,i),Pe=pi(g,m,v),We=bi(r,g),Ce=bi(g,r),qe=yi(f,B),ee=yi(B,f),fe=hi[Be],Se=hi[Be+1],Ve=di(f,u,l),Ne=di(B,P,T),w=C+ee|0,_=b+qe+le(w,C)|0;w=w+Ne|0,_=_+Ve+le(w,Ne)|0,w=w+Se|0,_=_+fe+le(w,Se)|0,w=w+ue|0,_=_+Ee+le(w,ue)|0;var R=Ce+Pe|0,D=We+rt+le(R,Ce)|0;b=l,C=T,l=u,T=P,u=f,P=B,B=A+w|0,f=a+_+le(B,A)|0,a=i,A=v,i=n,v=m,n=r,m=g,g=w+R|0,r=_+D+le(g,w)|0}this._al=this._al+g|0,this._bl=this._bl+m|0,this._cl=this._cl+v|0,this._dl=this._dl+A|0,this._el=this._el+B|0,this._fl=this._fl+P|0,this._gl=this._gl+T|0,this._hl=this._hl+C|0,this._ah=this._ah+r+le(this._al,g)|0,this._bh=this._bh+n+le(this._bl,m)|0,this._ch=this._ch+i+le(this._cl,v)|0,this._dh=this._dh+a+le(this._dl,A)|0,this._eh=this._eh+f+le(this._el,B)|0,this._fh=this._fh+u+le(this._fl,P)|0,this._gh=this._gh+l+le(this._gl,T)|0,this._hh=this._hh+b+le(this._hl,C)|0};nr.prototype._hash=function(){var e=yc.allocUnsafe(64);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e};var Os=nr,vc=de,Ec=Os,Bc=Pt,Sc=ve.Buffer,Ac=new Array(160);function Cr(){this.init(),this._w=Ac,Bc.call(this,128,112)}vc(Cr,Ec);Cr.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this};Cr.prototype._hash=function(){var e=Sc.allocUnsafe(48);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e};var Ic=Cr,bt=Is.exports=function(t){t=t.toLowerCase();var r=bt[t];if(!r)throw new Error(t+" is not supported (we accept pull requests)");return new r};bt.sha=Gu;bt.sha1=Qu;bt.sha224=pc;bt.sha256=Cs;bt.sha384=Ic;bt.sha512=Os;var Rc=Is.exports,Fs=ve.Buffer,Us=In.Transform,Tc=yr.StringDecoder,kc=de;function Le(e){Us.call(this),this.hashMode=typeof e=="string",this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}kc(Le,Us);Le.prototype.update=function(e,t,r){typeof e=="string"&&(e=Fs.from(e,t));var n=this._update(e);return this.hashMode?this:(r&&(n=this._toString(n,r)),n)};Le.prototype.setAutoPadding=function(){};Le.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")};Le.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")};Le.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")};Le.prototype._transform=function(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(i){n=i}finally{r(n)}};Le.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(r){t=r}e(t)};Le.prototype._finalOrDigest=function(e){var t=this.__final()||Fs.alloc(0);return e&&(t=this._toString(t,e,!0)),t};Le.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new Tc(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n};var Pc=Le,Cc=de,Lc=Tu,Oc=Fu,Fc=Rc,Ns=Pc;function Lr(e){Ns.call(this,"digest"),this._hash=e}Cc(Lr,Ns);Lr.prototype._update=function(e){this._hash.update(e)};Lr.prototype._final=function(){return this._hash.digest()};var Uc=function(t){return t=t.toLowerCase(),t==="md5"?new Lc:t==="rmd160"||t==="ripemd160"?new Oc:new Lr(Fc(t))},ar=ve.Buffer;function Nc(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),a=i.charCodeAt(0);if(t[a]!==255)throw new TypeError(i+" is ambiguous");t[a]=n}var f=e.length,u=e.charAt(0),l=Math.log(f)/Math.log(256),b=Math.log(256)/Math.log(f);function g(A){if((Array.isArray(A)||A instanceof Uint8Array)&&(A=ar.from(A)),!ar.isBuffer(A))throw new TypeError("Expected Buffer");if(A.length===0)return"";for(var B=0,P=0,T=0,C=A.length;T!==C&&A[T]===0;)T++,B++;for(var F=(C-T)*b+1>>>0,O=new Uint8Array(F);T!==C;){for(var L=A[T],U=0,S=F-1;(L!==0||U<P)&&S!==-1;S--,U++)L+=256*O[S]>>>0,O[S]=L%f>>>0,L=L/f>>>0;if(L!==0)throw new Error("Non-zero carry");P=U,T++}for(var z=F-P;z!==F&&O[z]===0;)z++;for(var M=u.repeat(B);z<F;++z)M+=e.charAt(O[z]);return M}function m(A){if(typeof A!="string")throw new TypeError("Expected String");if(A.length===0)return ar.alloc(0);for(var B=0,P=0,T=0;A[B]===u;)P++,B++;for(var C=(A.length-B)*l+1>>>0,F=new Uint8Array(C);B<A.length;){var O=t[A.charCodeAt(B)];if(O===255)return;for(var L=0,U=C-1;(O!==0||L<T)&&U!==-1;U--,L++)O+=f*F[U]>>>0,F[U]=O%256>>>0,O=O/256>>>0;if(O!==0)throw new Error("Non-zero carry");T=L,B++}for(var S=C-T;S!==C&&F[S]===0;)S++;var z=ar.allocUnsafe(P+(C-S));z.fill(0,0,P);for(var M=P;S!==C;)z[M++]=F[S++];return z}function v(A){var B=m(A);if(B)return B;throw new Error("Non-base"+f+" character")}return{encode:g,decodeUnsafe:m,decode:v}}var Mc=Nc,Dc=Mc,$c="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Hc=Dc($c),Xr=Hc,zc=ve.Buffer,Gc=function(e){function t(a){var f=e(a);return Xr.encode(zc.concat([a,f],a.length+4))}function r(a){var f=a.slice(0,-4),u=a.slice(-4),l=e(f);if(!(u[0]^l[0]|u[1]^l[1]|u[2]^l[2]|u[3]^l[3]))return f}function n(a){var f=Xr.decodeUnsafe(a);if(f)return r(f)}function i(a){var f=Xr.decode(a),u=r(f);if(!u)throw new Error("Invalid checksum");return u}return{encode:t,decode:i,decodeUnsafe:n}},gi=Uc,jc=Gc;function Wc(e){var t=gi("sha256").update(e).digest();return gi("sha256").update(t).digest()}var qc=jc(Wc),fn=qc;function Ms(e,t){if(t!==void 0&&e[0]!==t)throw new Error("Invalid network version");if(e.length===33)return{version:e[0],privateKey:e.slice(1,33),compressed:!1};if(e.length!==34)throw new Error("Invalid WIF length");if(e[33]!==1)throw new Error("Invalid compression flag");return{version:e[0],privateKey:e.slice(1,33),compressed:!0}}function un(e,t,r){var n=new Buffer(r?34:33);return n.writeUInt8(e,0),t.copy(n,1),r&&(n[33]=1),n}function Vc(e,t){return Ms(fn.decode(e),t)}function Kc(e,t,r){return typeof e=="number"?fn.encode(un(e,t,r)):fn.encode(un(e.version,e.privateKey,e.compressed))}var Yc={decode:Vc,decodeRaw:Ms,encode:Kc,encodeRaw:un},Or={};Object.defineProperty(Or,"__esModule",{value:!0});Or.testEcc=void 0;const H=e=>Buffer.from(e,"hex");function Jc(e){J(e.isPoint(H("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),J(!e.isPoint(H("030000000000000000000000000000000000000000000000000000000000000005"))),J(e.isPrivate(H("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),J(e.isPrivate(H("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),J(!e.isPrivate(H("0000000000000000000000000000000000000000000000000000000000000000"))),J(!e.isPrivate(H("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))),J(!e.isPrivate(H("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))),J(Buffer.from(e.privateAdd(H("0000000000000000000000000000000000000000000000000000000000000001"),H("0000000000000000000000000000000000000000000000000000000000000000"))).equals(H("0000000000000000000000000000000000000000000000000000000000000001"))),J(e.privateAdd(H("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"),H("0000000000000000000000000000000000000000000000000000000000000003"))===null),J(Buffer.from(e.privateAdd(H("e211078564db65c3ce7704f08262b1f38f1ef412ad15b5ac2d76657a63b2c500"),H("b51fbb69051255d1becbd683de5848242a89c229348dd72896a87ada94ae8665"))).equals(H("9730c2ee69edbb958d42db7460bafa18fef9d955325aec99044c81c8282b0a24"))),J(Buffer.from(e.privateNegate(H("0000000000000000000000000000000000000000000000000000000000000001"))).equals(H("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),J(Buffer.from(e.privateNegate(H("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"))).equals(H("0000000000000000000000000000000000000000000000000000000000000003"))),J(Buffer.from(e.privateNegate(H("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(H("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792"))),J(Buffer.from(e.pointCompress(H("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!0)).equals(H("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),J(Buffer.from(e.pointCompress(H("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!1)).equals(H("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),J(Buffer.from(e.pointCompress(H("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!0)).equals(H("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),J(Buffer.from(e.pointCompress(H("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!1)).equals(H("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),J(Buffer.from(e.pointFromScalar(H("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(H("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99"))),J(e.xOnlyPointAddTweak(H("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),H("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))===null);let t=e.xOnlyPointAddTweak(H("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"),H("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));J(Buffer.from(t.xOnlyPubkey).equals(H("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"))&&t.parity===1),t=e.xOnlyPointAddTweak(H("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"),H("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47")),J(Buffer.from(t.xOnlyPubkey).equals(H("9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"))&&t.parity===0),J(Buffer.from(e.sign(H("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),H("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))).equals(H("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),J(e.verify(H("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),H("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),H("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),e.signSchnorr&&J(Buffer.from(e.signSchnorr(H("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),H("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"),H("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906"))).equals(H("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7"))),e.verifySchnorr&&J(e.verifySchnorr(H("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),H("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"),H("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")))}Or.testEcc=Jc;function J(e){if(!e)throw new Error("ecc library invalid")}Object.defineProperty(St,"__esModule",{value:!0});St.ECPairFactory=St.networks=void 0;const cn=At;St.networks=cn;const _e=Ji,Xc=xf,mi=Yc,Qc=Or,Qr=_e.typeforce.maybe(_e.typeforce.compile({compressed:_e.maybe(_e.Boolean),network:_e.maybe(_e.Network)})),Zc=e=>e.length===32?e:e.slice(1,33);function el(e){(0,Qc.testEcc)(e);function t(u){return e.isPoint(u)}function r(u,l){if(_e.typeforce(_e.Buffer256bit,u),!e.isPrivate(u))throw new TypeError("Private key not in range [1, n)");return _e.typeforce(Qr,l),new f(u,void 0,l)}function n(u,l){return _e.typeforce(e.isPoint,u),_e.typeforce(Qr,l),new f(void 0,u,l)}function i(u,l){const b=mi.decode(u),g=b.version;if(_e.Array(l)){if(l=l.filter(m=>g===m.wif).pop(),!l)throw new Error("Unknown network version")}else if(l=l||cn.bitcoin,g!==l.wif)throw new Error("Invalid network version");return r(b.privateKey,{compressed:b.compressed,network:l})}function a(u){_e.typeforce(Qr,u),u===void 0&&(u={});const l=u.rng||Xc;let b;do b=l(32),_e.typeforce(_e.Buffer256bit,b);while(!e.isPrivate(b));return r(b,u)}class f{constructor(l,b,g){mt(this,"__D");mt(this,"__Q");mt(this,"compressed");mt(this,"network");mt(this,"lowR");this.__D=l,this.__Q=b,this.lowR=!1,g===void 0&&(g={}),this.compressed=g.compressed===void 0?!0:g.compressed,this.network=g.network||cn.bitcoin,b!==void 0&&(this.__Q=Buffer.from(e.pointCompress(b,this.compressed)))}get privateKey(){return this.__D}get publicKey(){if(!this.__Q){const l=e.pointFromScalar(this.__D,this.compressed);this.__Q=Buffer.from(l)}return this.__Q}toWIF(){if(!this.__D)throw new Error("Missing private key");return mi.encode(this.network.wif,this.__D,this.compressed)}tweak(l){return this.privateKey?this.tweakFromPrivateKey(l):this.tweakFromPublicKey(l)}sign(l,b){if(!this.__D)throw new Error("Missing private key");if(b===void 0&&(b=this.lowR),b===!1)return Buffer.from(e.sign(l,this.__D));{let g=e.sign(l,this.__D);const m=Buffer.alloc(32,0);let v=0;for(;g[0]>127;)v++,m.writeUIntLE(v,0,6),g=e.sign(l,this.__D,m);return Buffer.from(g)}}signSchnorr(l){if(!this.privateKey)throw new Error("Missing private key");if(!e.signSchnorr)throw new Error("signSchnorr not supported by ecc library");return Buffer.from(e.signSchnorr(l,this.privateKey))}verify(l,b){return e.verify(l,this.publicKey,b)}verifySchnorr(l,b){if(!e.verifySchnorr)throw new Error("verifySchnorr not supported by ecc library");return e.verifySchnorr(l,this.publicKey.subarray(1,33),b)}tweakFromPublicKey(l){const b=Zc(this.publicKey),g=e.xOnlyPointAddTweak(b,l);if(!g||g.xOnlyPubkey===null)throw new Error("Cannot tweak public key!");const m=Buffer.from([g.parity===0?2:3]);return n(Buffer.concat([m,g.xOnlyPubkey]),{network:this.network,compressed:this.compressed})}tweakFromPrivateKey(l){const g=this.publicKey[0]===3||this.publicKey[0]===4&&(this.publicKey[64]&1)===1?e.privateNegate(this.privateKey):this.privateKey,m=e.privateAdd(g,l);if(!m)throw new Error("Invalid tweaked private key!");return r(Buffer.from(m),{network:this.network,compressed:this.compressed})}}return{isPoint:t,fromPrivateKey:r,fromPublicKey:n,fromWIF:i,makeRandom:a}}St.ECPairFactory=el;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.networks=e.ECPairFactory=e.default=void 0;var t=St;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"ECPairFactory",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"networks",{enumerable:!0,get:function(){return t.networks}})})(Yi);const tl=Za(Yi);class _r{constructor(t){this.privKey=t}static fromPrivKey(t){return new _r(k.trim0x(t))}static async fromWalletClient(t){if(!t.account)return k.Err("No account found");try{const r=await t.signTypedData({account:t.account,types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"}],Data:[{name:"Message",type:"string"},{name:"Version",type:"string"},{name:"Nonce",type:"uint256"}]},domain:{name:"WBTC GARDEN",version:"1"},primaryType:"Data",message:{Message:"Initialize your account",Version:"1.0.2",Nonce:1n}});return k.Ok(new _r(k.trim0x(He.sha256(r))))}catch(r){return k.Err("Failed to initialize: "+r)}}getMasterPrivKey(){return this.privKey}generateSecret(t){const r=this.signMessage(t),n=He.sha256(we.with0x(r)),i=He.sha256(n);return k.Ok({secret:n,secretHash:i})}signMessage(t){const r=tl(at),n="Garden.fi"+t.toString(),i=Buffer.from(n,"utf8"),a=He.sha256(i),f=Buffer.from(k.trim0x(this.privKey),"hex");if(f.length!==32)throw new Error("Invalid private key length. Expected 32 bytes.");return r.fromPrivateKey(f).sign(Buffer.from(k.trim0x(a),"hex")).toString("hex")}}class rl{constructor(t){this.quoteUrl=new we.Url("/quote",t)}async getQuote(t,r,n=!1){try{const i=this.quoteUrl.addSearchParams({order_pair:t,amount:r.toString(),exact_out:n.toString()}),a=await k.Fetcher.get(i);return a.error?k.Err(a.error):a.result?k.Ok(a.result):k.Err("GetQuote: Unexpected error, result is undefined")}catch(i){return k.Err("GetQuote:",String(i))}}async getAttestedQuote(t){try{const r=await k.Fetcher.post(this.quoteUrl.endpoint("/attested").toString(),{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}});return r.error?k.Err(r.error):r.result?k.Ok(r.result):k.Err("GetAttestedQuote: Unexpected error, result is undefined")}catch(r){return console.log("error :",r),k.Err("GetAttestedQuote:",String(r))}}async getStrategies(){try{const t=await k.Fetcher.get(this.quoteUrl.endpoint("/strategies"));if(t.error)return k.Err(t.error);if(!t.result)return k.Err("GetStrategies: Unexpected error, result is undefined");const r={};for(const n of Object.values(t.result)){const i=qi(n.source_chain,n.source_asset.asset,n.dest_chain,n.dest_asset.asset);r[i]={id:n.id,minAmount:n.min_amount,maxAmount:n.max_amount,fee:n.fee}}return k.Ok(r)}catch(t){return k.Err("GetStrategies:",String(t))}}}exports.BlockNumberFetcher=Qa;exports.EvmRelay=Ki;exports.Garden=Xa;exports.OrderActions=ce;exports.OrderStatus=Q;exports.ParseOrderStatus=wn;exports.ParseSwapStatus=tn;exports.Quote=rl;exports.SecretManager=_r;exports.SwapStatus=ne;exports.constructOrderPair=qi;exports.evmToViemChainMap=Wi;exports.filterDeadlineExpiredOrders=Vi;exports.isExpired=qt;exports.parseAction=Ga;exports.parseActionFromStatus=xn;exports.switchOrAddNetwork=$a;exports.validateBTCAddress=za;
|
|
28
|
+
`.trim().replace(/\s+/g," "))}leaves(){return[{version:kn,output:this.redeemLeaf()},[{version:kn,output:this.refundLeaf()},{version:kn,output:this.instantRefundLeaf()}]]}generateMerkleProofFor(t){const r=this.leafHash(1),n=this.leafHash(2),i=this.leafHash(0);switch(t){case 1:{const s=Yf(i,n);return[be.crypto.taggedHash("TapBranch",Buffer.concat(s))]}case 0:return[n,r];case 2:return[i,r];default:throw new Error($e.invalidLeaf)}}}function Vr(e,t){const r=[];for(let n=0;n<t;n++)r.push(e);return r}class hh{constructor(){this.cache={}}set(t,r,n,i){const s={txHash:n,timeStamp:Date.now(),btcRedeemUTXO:i};this.cache[`${r}_${t.create_order.create_id}`]=s}get(t,r){return this.cache[`${r}_${t.create_order.create_id}`]||null}remove(t,r){delete this.cache[`${r}_${t.create_order.create_id}`]}}class ka{constructor(t,r){this.url=new ge.Url("/blocknumber/"+r,t)}async fetchBlockNumbers(){try{const t=await N.Fetcher.get(this.url);return N.Ok(t)}catch(t){return N.Err("Failed to fetch block numbers",t)}}}const ho={mainnet:{orderbook:"https://orderbookv2.garden.finance",quote:"https://pricev2.garden.finance",info:"https://infov2.garden.finance"},testnet:{orderbook:"https://orderbook.garden.finance",quote:"https://price.garden.finance",info:"https://info.garden.finance"},localnet:{}};class Ra{constructor(t){this.quoteUrl=new ge.Url("/quote",t)}async getQuote(t,r,n=!1){try{const i=this.quoteUrl.addSearchParams({order_pair:t,amount:r.toString(),exact_out:n.toString()}),s=await N.Fetcher.get(i);return s.error?N.Err(s.error):s.result?N.Ok(s.result):N.Err("GetQuote: Unexpected error, result is undefined")}catch(i){return N.Err("GetQuote:",String(i))}}async getAttestedQuote(t){try{const r=await N.Fetcher.post(this.quoteUrl.endpoint("/attested").toString(),{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}});return r.error?N.Err(r.error):r.result?N.Ok(r.result):N.Err("GetAttestedQuote: Unexpected error, result is undefined")}catch(r){return console.log("error :",r),N.Err("GetAttestedQuote:",String(r))}}async getStrategies(){try{const t=await N.Fetcher.get(this.quoteUrl.endpoint("/strategies"));if(t.error)return N.Err(t.error);if(!t.result)return N.Err("GetStrategies: Unexpected error, result is undefined");const r={};for(const n of Object.values(t.result)){const i=Zo(n.source_chain,n.source_asset.asset,n.dest_chain,n.dest_asset.asset);r[i]={id:n.id,minAmount:n.min_amount,maxAmount:n.max_amount,fee:n.fee}}return N.Ok(r)}catch(t){return N.Err("GetStrategies:",String(t))}}}var Ua={},Or={},kr={};Object.defineProperty(kr,"__esModule",{value:!0});kr.testnet=kr.bitcoin=void 0;kr.bitcoin={messagePrefix:`Bitcoin Signed Message:
|
|
29
|
+
`,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};kr.testnet={messagePrefix:`Bitcoin Signed Message:
|
|
30
|
+
`,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var Ca={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.maybe=e.Boolean=e.Array=e.Buffer256bit=e.Network=e.typeforce=void 0,e.typeforce=fa,e.Network=e.typeforce.compile({messagePrefix:e.typeforce.oneOf(e.typeforce.Buffer,e.typeforce.String),bip32:{public:e.typeforce.UInt32,private:e.typeforce.UInt32},pubKeyHash:e.typeforce.UInt8,scriptHash:e.typeforce.UInt8,wif:e.typeforce.UInt8}),e.Buffer256bit=e.typeforce.BufferN(32),e.Array=e.typeforce.Array,e.Boolean=e.typeforce.Boolean,e.maybe=e.typeforce.maybe})(Ca);var ts={exports:{}},rs={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(e,t){var r=Tt,n=r.Buffer;function i(o,f){for(var c in o)f[c]=o[c]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=s);function s(o,f,c){return n(o,f,c)}s.prototype=Object.create(n.prototype),i(n,s),s.from=function(o,f,c){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,f,c)},s.alloc=function(o,f,c){if(typeof o!="number")throw new TypeError("Argument must be a number");var l=n(o);return f!==void 0?typeof c=="string"?l.fill(f,c):l.fill(f):l.fill(0),l},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(o)}})(rs,rs.exports);var Ge=rs.exports,Li=65536,lh=4294967295;function dh(){throw new Error(`Secure random number generation is not supported by this browser.
|
|
31
|
+
Use Chrome, Firefox or Internet Explorer 11`)}var ph=Ge.Buffer,Wn=$t.crypto||$t.msCrypto;Wn&&Wn.getRandomValues?ts.exports=yh:ts.exports=dh;function yh(e,t){if(e>lh)throw new RangeError("requested too many random bytes");var r=ph.allocUnsafe(e);if(e>0)if(e>Li)for(var n=0;n<e;n+=Li)Wn.getRandomValues(r.slice(n,n+Li));else Wn.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}var bh=ts.exports,ns={exports:{}};typeof Object.create=="function"?ns.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:ns.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}};var Oe=ns.exports,is={exports:{}},As={exports:{}},Br=typeof Reflect=="object"?Reflect:null,lo=Br&&typeof Br.apply=="function"?Br.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},$n;Br&&typeof Br.ownKeys=="function"?$n=Br.ownKeys:Object.getOwnPropertySymbols?$n=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:$n=function(t){return Object.getOwnPropertyNames(t)};function wh(e){console&&console.warn&&console.warn(e)}var La=Number.isNaN||function(t){return t!==t};function re(){re.init.call(this)}As.exports=re;As.exports.once=Eh;re.EventEmitter=re;re.prototype._events=void 0;re.prototype._eventsCount=0;re.prototype._maxListeners=void 0;var po=10;function fi(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(re,"defaultMaxListeners",{enumerable:!0,get:function(){return po},set:function(e){if(typeof e!="number"||e<0||La(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");po=e}});re.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};re.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||La(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function Na(e){return e._maxListeners===void 0?re.defaultMaxListeners:e._maxListeners}re.prototype.getMaxListeners=function(){return Na(this)};re.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var f=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw f.context=o,f}var c=s[t];if(c===void 0)return!1;if(typeof c=="function")lo(c,this,r);else for(var l=c.length,d=Da(c,l),n=0;n<l;++n)lo(d[n],this,r);return!0};function Fa(e,t,r,n){var i,s,o;if(fi(r),s=e._events,s===void 0?(s=e._events=Object.create(null),e._eventsCount=0):(s.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),s=e._events),o=s[t]),o===void 0)o=s[t]=r,++e._eventsCount;else if(typeof o=="function"?o=s[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=Na(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var f=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");f.name="MaxListenersExceededWarning",f.emitter=e,f.type=t,f.count=o.length,wh(f)}return e}re.prototype.addListener=function(t,r){return Fa(this,t,r,!1)};re.prototype.on=re.prototype.addListener;re.prototype.prependListener=function(t,r){return Fa(this,t,r,!0)};function gh(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Ma(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=gh.bind(n);return i.listener=r,n.wrapFn=i,i}re.prototype.once=function(t,r){return fi(r),this.on(t,Ma(this,t,r)),this};re.prototype.prependOnceListener=function(t,r){return fi(r),this.prependListener(t,Ma(this,t,r)),this};re.prototype.removeListener=function(t,r){var n,i,s,o,f;if(fi(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){f=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():mh(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,f||r)}return this};re.prototype.off=re.prototype.removeListener;re.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function Ha(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?_h(i):Da(i,i.length)}re.prototype.listeners=function(t){return Ha(this,t,!0)};re.prototype.rawListeners=function(t){return Ha(this,t,!1)};re.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):$a.call(e,t)};re.prototype.listenerCount=$a;function $a(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}re.prototype.eventNames=function(){return this._eventsCount>0?$n(this._events):[]};function Da(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function mh(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function _h(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function Eh(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,s),n(o)}function s(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}ja(e,t,s,{once:!0}),t!=="error"&&vh(e,i,{once:!0})})}function vh(e,t,r){typeof e.on=="function"&&ja(e,"error",t,r)}function ja(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(s){n.once&&e.removeEventListener(t,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}var Ga=As.exports,Va=Ga.EventEmitter;const xh={},Sh=Object.freeze(Object.defineProperty({__proto__:null,default:xh},Symbol.toStringTag,{value:"Module"})),Is=fu(Sh);var Ni,yo;function Bh(){if(yo)return Ni;yo=1;function e(O,B){var A=Object.keys(O);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(O);B&&(k=k.filter(function(U){return Object.getOwnPropertyDescriptor(O,U).enumerable})),A.push.apply(A,k)}return A}function t(O){for(var B=1;B<arguments.length;B++){var A=arguments[B]!=null?arguments[B]:{};B%2?e(Object(A),!0).forEach(function(k){r(O,k,A[k])}):Object.getOwnPropertyDescriptors?Object.defineProperties(O,Object.getOwnPropertyDescriptors(A)):e(Object(A)).forEach(function(k){Object.defineProperty(O,k,Object.getOwnPropertyDescriptor(A,k))})}return O}function r(O,B,A){return B=o(B),B in O?Object.defineProperty(O,B,{value:A,enumerable:!0,configurable:!0,writable:!0}):O[B]=A,O}function n(O,B){if(!(O instanceof B))throw new TypeError("Cannot call a class as a function")}function i(O,B){for(var A=0;A<B.length;A++){var k=B[A];k.enumerable=k.enumerable||!1,k.configurable=!0,"value"in k&&(k.writable=!0),Object.defineProperty(O,o(k.key),k)}}function s(O,B,A){return B&&i(O.prototype,B),Object.defineProperty(O,"prototype",{writable:!1}),O}function o(O){var B=f(O,"string");return typeof B=="symbol"?B:String(B)}function f(O,B){if(typeof O!="object"||O===null)return O;var A=O[Symbol.toPrimitive];if(A!==void 0){var k=A.call(O,B||"default");if(typeof k!="object")return k;throw new TypeError("@@toPrimitive must return a primitive value.")}return(B==="string"?String:Number)(O)}var c=Tt,l=c.Buffer,d=Is,g=d.inspect,x=g&&g.custom||"inspect";function y(O,B,A){l.prototype.copy.call(O,B,A)}return Ni=function(){function O(){n(this,O),this.head=null,this.tail=null,this.length=0}return s(O,[{key:"push",value:function(A){var k={data:A,next:null};this.length>0?this.tail.next=k:this.head=k,this.tail=k,++this.length}},{key:"unshift",value:function(A){var k={data:A,next:this.head};this.length===0&&(this.tail=k),this.head=k,++this.length}},{key:"shift",value:function(){if(this.length!==0){var A=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,A}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(A){if(this.length===0)return"";for(var k=this.head,U=""+k.data;k=k.next;)U+=A+k.data;return U}},{key:"concat",value:function(A){if(this.length===0)return l.alloc(0);for(var k=l.allocUnsafe(A>>>0),U=this.head,_=0;U;)y(U.data,k,_),_+=U.data.length,U=U.next;return k}},{key:"consume",value:function(A,k){var U;return A<this.head.data.length?(U=this.head.data.slice(0,A),this.head.data=this.head.data.slice(A)):A===this.head.data.length?U=this.shift():U=k?this._getString(A):this._getBuffer(A),U}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(A){var k=this.head,U=1,_=k.data;for(A-=_.length;k=k.next;){var m=k.data,S=A>m.length?m.length:A;if(S===m.length?_+=m:_+=m.slice(0,A),A-=S,A===0){S===m.length?(++U,k.next?this.head=k.next:this.head=this.tail=null):(this.head=k,k.data=m.slice(S));break}++U}return this.length-=U,_}},{key:"_getBuffer",value:function(A){var k=l.allocUnsafe(A),U=this.head,_=1;for(U.data.copy(k),A-=U.data.length;U=U.next;){var m=U.data,S=A>m.length?m.length:A;if(m.copy(k,k.length-A,0,S),A-=S,A===0){S===m.length?(++_,U.next?this.head=U.next:this.head=this.tail=null):(this.head=U,U.data=m.slice(S));break}++_}return this.length-=_,k}},{key:x,value:function(A,k){return g(this,t(t({},k),{},{depth:0,customInspect:!1}))}}]),O}(),Ni}function Ph(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(ss,this,e)):process.nextTick(ss,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(s){!t&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(Dn,r):(r._writableState.errorEmitted=!0,process.nextTick(bo,r,s)):process.nextTick(bo,r,s):t?(process.nextTick(Dn,r),t(s)):process.nextTick(Dn,r)}),this)}function bo(e,t){ss(e,t),Dn(e)}function Dn(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function Th(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function ss(e,t){e.emit("error",t)}function Ah(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}var Wa={destroy:Ph,undestroy:Th,errorOrDestroy:Ah},fr={};function Ih(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var za={};function Ze(e,t,r){r||(r=Error);function n(s,o,f){return typeof t=="string"?t:t(s,o,f)}var i=function(s){Ih(o,s);function o(f,c,l){return s.call(this,n(f,c,l))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,za[e]=i}function wo(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function Oh(e,t,r){return e.substr(0,t.length)===t}function kh(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function Rh(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}Ze("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);Ze("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&Oh(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(kh(e," argument"))i="The ".concat(e," ").concat(n," ").concat(wo(t,"type"));else{var s=Rh(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(s," ").concat(n," ").concat(wo(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);Ze("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Ze("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});Ze("ERR_STREAM_PREMATURE_CLOSE","Premature close");Ze("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});Ze("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Ze("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Ze("ERR_STREAM_WRITE_AFTER_END","write after end");Ze("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Ze("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);Ze("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");fr.codes=za;var Uh=fr.codes.ERR_INVALID_OPT_VALUE;function Ch(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function Lh(e,t,r,n){var i=Ch(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var s=n?r:"highWaterMark";throw new Uh(s,i)}return Math.floor(i)}return e.objectMode?16:16*1024}var qa={getHighWaterMark:Lh},Nh=Fh;function Fh(e,t){if(Fi("noDeprecation"))return e;var r=!1;function n(){if(!r){if(Fi("throwDeprecation"))throw new Error(t);Fi("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function Fi(e){try{if(!$t.localStorage)return!1}catch{return!1}var t=$t.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}var Mi,go;function Ka(){if(go)return Mi;go=1,Mi=j;function e(T){var P=this;this.next=null,this.entry=null,this.finish=function(){pt(P,T)}}var t;j.WritableState=v;var r={deprecate:Nh},n=Va,i=Tt.Buffer,s=(typeof $t<"u"?$t:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(T){return i.from(T)}function f(T){return i.isBuffer(T)||T instanceof s}var c=Wa,l=qa,d=l.getHighWaterMark,g=fr.codes,x=g.ERR_INVALID_ARG_TYPE,y=g.ERR_METHOD_NOT_IMPLEMENTED,O=g.ERR_MULTIPLE_CALLBACK,B=g.ERR_STREAM_CANNOT_PIPE,A=g.ERR_STREAM_DESTROYED,k=g.ERR_STREAM_NULL_VALUES,U=g.ERR_STREAM_WRITE_AFTER_END,_=g.ERR_UNKNOWN_ENCODING,m=c.errorOrDestroy;Oe(j,n);function S(){}function v(T,P,M){t=t||Rr(),T=T||{},typeof M!="boolean"&&(M=P instanceof t),this.objectMode=!!T.objectMode,M&&(this.objectMode=this.objectMode||!!T.writableObjectMode),this.highWaterMark=d(this,T,"writableHighWaterMark",M),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var G=T.decodeStrings===!1;this.decodeStrings=!G,this.defaultEncoding=T.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(K){oe(P,K)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=T.emitClose!==!1,this.autoDestroy=!!T.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}v.prototype.getBuffer=function(){for(var P=this.bufferedRequest,M=[];P;)M.push(P),P=P.next;return M},function(){try{Object.defineProperty(v.prototype,"buffer",{get:r.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var $;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?($=Function.prototype[Symbol.hasInstance],Object.defineProperty(j,Symbol.hasInstance,{value:function(P){return $.call(this,P)?!0:this!==j?!1:P&&P._writableState instanceof v}})):$=function(P){return P instanceof this};function j(T){t=t||Rr();var P=this instanceof t;if(!P&&!$.call(j,this))return new j(T);this._writableState=new v(T,this,P),this.writable=!0,T&&(typeof T.write=="function"&&(this._write=T.write),typeof T.writev=="function"&&(this._writev=T.writev),typeof T.destroy=="function"&&(this._destroy=T.destroy),typeof T.final=="function"&&(this._final=T.final)),n.call(this)}j.prototype.pipe=function(){m(this,new B)};function R(T,P){var M=new U;m(T,M),process.nextTick(P,M)}function z(T,P,M,G){var K;return M===null?K=new k:typeof M!="string"&&!P.objectMode&&(K=new x("chunk",["string","Buffer"],M)),K?(m(T,K),process.nextTick(G,K),!1):!0}j.prototype.write=function(T,P,M){var G=this._writableState,K=!1,b=!G.objectMode&&f(T);return b&&!i.isBuffer(T)&&(T=o(T)),typeof P=="function"&&(M=P,P=null),b?P="buffer":P||(P=G.defaultEncoding),typeof M!="function"&&(M=S),G.ending?R(this,M):(b||z(this,G,T,M))&&(G.pendingcb++,K=C(this,G,b,T,P,M)),K},j.prototype.cork=function(){this._writableState.corked++},j.prototype.uncork=function(){var T=this._writableState;T.corked&&(T.corked--,!T.writing&&!T.corked&&!T.bufferProcessing&&T.bufferedRequest&&Ve(this,T))},j.prototype.setDefaultEncoding=function(P){if(typeof P=="string"&&(P=P.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((P+"").toLowerCase())>-1))throw new _(P);return this._writableState.defaultEncoding=P,this},Object.defineProperty(j.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function Z(T,P,M){return!T.objectMode&&T.decodeStrings!==!1&&typeof P=="string"&&(P=i.from(P,M)),P}Object.defineProperty(j.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function C(T,P,M,G,K,b){if(!M){var w=Z(P,G,K);G!==w&&(M=!0,K="buffer",G=w)}var F=P.objectMode?1:G.length;P.length+=F;var D=P.length<P.highWaterMark;if(D||(P.needDrain=!0),P.writing||P.corked){var pe=P.lastBufferedRequest;P.lastBufferedRequest={chunk:G,encoding:K,isBuf:M,callback:b,next:null},pe?pe.next=P.lastBufferedRequest:P.bufferedRequest=P.lastBufferedRequest,P.bufferedRequestCount+=1}else H(T,P,!1,F,G,K,b);return D}function H(T,P,M,G,K,b,w){P.writelen=G,P.writecb=w,P.writing=!0,P.sync=!0,P.destroyed?P.onwrite(new A("write")):M?T._writev(K,P.onwrite):T._write(K,b,P.onwrite),P.sync=!1}function V(T,P,M,G,K){--P.pendingcb,M?(process.nextTick(K,G),process.nextTick(We,T,P),T._writableState.errorEmitted=!0,m(T,G)):(K(G),T._writableState.errorEmitted=!0,m(T,G),We(T,P))}function q(T){T.writing=!1,T.writecb=null,T.length-=T.writelen,T.writelen=0}function oe(T,P){var M=T._writableState,G=M.sync,K=M.writecb;if(typeof K!="function")throw new O;if(q(M),P)V(T,M,G,P,K);else{var b=it(M)||T.destroyed;!b&&!M.corked&&!M.bufferProcessing&&M.bufferedRequest&&Ve(T,M),G?process.nextTick(ae,T,M,b,K):ae(T,M,b,K)}}function ae(T,P,M,G){M||et(T,P),P.pendingcb--,G(),We(T,P)}function et(T,P){P.length===0&&P.needDrain&&(P.needDrain=!1,T.emit("drain"))}function Ve(T,P){P.bufferProcessing=!0;var M=P.bufferedRequest;if(T._writev&&M&&M.next){var G=P.bufferedRequestCount,K=new Array(G),b=P.corkedRequestsFree;b.entry=M;for(var w=0,F=!0;M;)K[w]=M,M.isBuf||(F=!1),M=M.next,w+=1;K.allBuffers=F,H(T,P,!0,P.length,K,"",b.finish),P.pendingcb++,P.lastBufferedRequest=null,b.next?(P.corkedRequestsFree=b.next,b.next=null):P.corkedRequestsFree=new e(P),P.bufferedRequestCount=0}else{for(;M;){var D=M.chunk,pe=M.encoding,Y=M.callback,te=P.objectMode?1:D.length;if(H(T,P,!1,te,D,pe,Y),M=M.next,P.bufferedRequestCount--,P.writing)break}M===null&&(P.lastBufferedRequest=null)}P.bufferedRequest=M,P.bufferProcessing=!1}j.prototype._write=function(T,P,M){M(new y("_write()"))},j.prototype._writev=null,j.prototype.end=function(T,P,M){var G=this._writableState;return typeof T=="function"?(M=T,T=null,P=null):typeof P=="function"&&(M=P,P=null),T!=null&&this.write(T,P),G.corked&&(G.corked=1,this.uncork()),G.ending||At(this,G,M),this},Object.defineProperty(j.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function it(T){return T.ending&&T.length===0&&T.bufferedRequest===null&&!T.finished&&!T.writing}function de(T,P){T._final(function(M){P.pendingcb--,M&&m(T,M),P.prefinished=!0,T.emit("prefinish"),We(T,P)})}function ve(T,P){!P.prefinished&&!P.finalCalled&&(typeof T._final=="function"&&!P.destroyed?(P.pendingcb++,P.finalCalled=!0,process.nextTick(de,T,P)):(P.prefinished=!0,T.emit("prefinish")))}function We(T,P){var M=it(P);if(M&&(ve(T,P),P.pendingcb===0&&(P.finished=!0,T.emit("finish"),P.autoDestroy))){var G=T._readableState;(!G||G.autoDestroy&&G.endEmitted)&&T.destroy()}return M}function At(T,P,M){P.ending=!0,We(T,P),M&&(P.finished?process.nextTick(M):T.once("finish",M)),P.ended=!0,T.writable=!1}function pt(T,P,M){var G=T.entry;for(T.entry=null;G;){var K=G.callback;P.pendingcb--,K(M),G=G.next}P.corkedRequestsFree.next=T}return Object.defineProperty(j.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(P){this._writableState&&(this._writableState.destroyed=P)}}),j.prototype.destroy=c.destroy,j.prototype._undestroy=c.undestroy,j.prototype._destroy=function(T,P){P(T)},Mi}var Hi,mo;function Rr(){if(mo)return Hi;mo=1;var e=Object.keys||function(l){var d=[];for(var g in l)d.push(g);return d};Hi=o;var t=Xa(),r=Ka();Oe(o,t);for(var n=e(r.prototype),i=0;i<n.length;i++){var s=n[i];o.prototype[s]||(o.prototype[s]=r.prototype[s])}function o(l){if(!(this instanceof o))return new o(l);t.call(this,l),r.call(this,l),this.allowHalfOpen=!0,l&&(l.readable===!1&&(this.readable=!1),l.writable===!1&&(this.writable=!1),l.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",f)))}Object.defineProperty(o.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(o.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(o.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function f(){this._writableState.ended||process.nextTick(c,this)}function c(l){l.end()}return Object.defineProperty(o.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(d){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=d,this._writableState.destroyed=d)}}),Hi}var zn={},Os=Ge.Buffer,_o=Os.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function Mh(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function Hh(e){var t=Mh(e);if(typeof t!="string"&&(Os.isEncoding===_o||!_o(e)))throw new Error("Unknown encoding: "+e);return t||e}zn.StringDecoder=wn;function wn(e){this.encoding=Hh(e);var t;switch(this.encoding){case"utf16le":this.text=Wh,this.end=zh,t=4;break;case"utf8":this.fillLast=jh,t=4;break;case"base64":this.text=qh,this.end=Kh,t=3;break;default:this.write=Yh,this.end=Xh;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Os.allocUnsafe(t)}wn.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""};wn.prototype.end=Vh;wn.prototype.text=Gh;wn.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function $i(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function $h(e,t,r){var n=t.length-1;if(n<r)return 0;var i=$i(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=$i(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=$i(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function Dh(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"�"}}function jh(e){var t=this.lastTotal-this.lastNeed,r=Dh(this,e);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function Gh(e,t){var r=$h(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function Vh(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function Wh(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function zh(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function qh(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function Kh(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function Yh(e){return e.toString(this.encoding)}function Xh(e){return e&&e.length?this.write(e):""}var Eo=fr.codes.ERR_STREAM_PREMATURE_CLOSE;function Jh(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}function Qh(){}function Zh(e){return e.setHeader&&typeof e.abort=="function"}function Ya(e,t,r){if(typeof t=="function")return Ya(e,null,t);t||(t={}),r=Jh(r||Qh);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,s=function(){e.writable||f()},o=e._writableState&&e._writableState.finished,f=function(){i=!1,o=!0,n||r.call(e)},c=e._readableState&&e._readableState.endEmitted,l=function(){n=!1,c=!0,i||r.call(e)},d=function(O){r.call(e,O)},g=function(){var O;if(n&&!c)return(!e._readableState||!e._readableState.ended)&&(O=new Eo),r.call(e,O);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(O=new Eo),r.call(e,O)},x=function(){e.req.on("finish",f)};return Zh(e)?(e.on("complete",f),e.on("abort",g),e.req?x():e.on("request",x)):i&&!e._writableState&&(e.on("end",s),e.on("close",s)),e.on("end",l),e.on("finish",f),t.error!==!1&&e.on("error",d),e.on("close",g),function(){e.removeListener("complete",f),e.removeListener("abort",g),e.removeListener("request",x),e.req&&e.req.removeListener("finish",f),e.removeListener("end",s),e.removeListener("close",s),e.removeListener("finish",f),e.removeListener("end",l),e.removeListener("error",d),e.removeListener("close",g)}}var ks=Ya,Di,vo;function el(){if(vo)return Di;vo=1;var e;function t(_,m,S){return m=r(m),m in _?Object.defineProperty(_,m,{value:S,enumerable:!0,configurable:!0,writable:!0}):_[m]=S,_}function r(_){var m=n(_,"string");return typeof m=="symbol"?m:String(m)}function n(_,m){if(typeof _!="object"||_===null)return _;var S=_[Symbol.toPrimitive];if(S!==void 0){var v=S.call(_,m||"default");if(typeof v!="object")return v;throw new TypeError("@@toPrimitive must return a primitive value.")}return(m==="string"?String:Number)(_)}var i=ks,s=Symbol("lastResolve"),o=Symbol("lastReject"),f=Symbol("error"),c=Symbol("ended"),l=Symbol("lastPromise"),d=Symbol("handlePromise"),g=Symbol("stream");function x(_,m){return{value:_,done:m}}function y(_){var m=_[s];if(m!==null){var S=_[g].read();S!==null&&(_[l]=null,_[s]=null,_[o]=null,m(x(S,!1)))}}function O(_){process.nextTick(y,_)}function B(_,m){return function(S,v){_.then(function(){if(m[c]){S(x(void 0,!0));return}m[d](S,v)},v)}}var A=Object.getPrototypeOf(function(){}),k=Object.setPrototypeOf((e={get stream(){return this[g]},next:function(){var m=this,S=this[f];if(S!==null)return Promise.reject(S);if(this[c])return Promise.resolve(x(void 0,!0));if(this[g].destroyed)return new Promise(function(R,z){process.nextTick(function(){m[f]?z(m[f]):R(x(void 0,!0))})});var v=this[l],$;if(v)$=new Promise(B(v,this));else{var j=this[g].read();if(j!==null)return Promise.resolve(x(j,!1));$=new Promise(this[d])}return this[l]=$,$}},t(e,Symbol.asyncIterator,function(){return this}),t(e,"return",function(){var m=this;return new Promise(function(S,v){m[g].destroy(null,function($){if($){v($);return}S(x(void 0,!0))})})}),e),A),U=function(m){var S,v=Object.create(k,(S={},t(S,g,{value:m,writable:!0}),t(S,s,{value:null,writable:!0}),t(S,o,{value:null,writable:!0}),t(S,f,{value:null,writable:!0}),t(S,c,{value:m._readableState.endEmitted,writable:!0}),t(S,d,{value:function(j,R){var z=v[g].read();z?(v[l]=null,v[s]=null,v[o]=null,j(x(z,!1))):(v[s]=j,v[o]=R)},writable:!0}),S));return v[l]=null,i(m,function($){if($&&$.code!=="ERR_STREAM_PREMATURE_CLOSE"){var j=v[o];j!==null&&(v[l]=null,v[s]=null,v[o]=null,j($)),v[f]=$;return}var R=v[s];R!==null&&(v[l]=null,v[s]=null,v[o]=null,R(x(void 0,!0))),v[c]=!0}),m.on("readable",O.bind(null,v)),v};return Di=U,Di}var ji,xo;function tl(){return xo||(xo=1,ji=function(){throw new Error("Readable.from is not available in the browser")}),ji}var Gi,So;function Xa(){if(So)return Gi;So=1,Gi=R;var e;R.ReadableState=j,Ga.EventEmitter;var t=function(w,F){return w.listeners(F).length},r=Va,n=Tt.Buffer,i=(typeof $t<"u"?$t:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function s(b){return n.from(b)}function o(b){return n.isBuffer(b)||b instanceof i}var f=Is,c;f&&f.debuglog?c=f.debuglog("stream"):c=function(){};var l=Bh(),d=Wa,g=qa,x=g.getHighWaterMark,y=fr.codes,O=y.ERR_INVALID_ARG_TYPE,B=y.ERR_STREAM_PUSH_AFTER_EOF,A=y.ERR_METHOD_NOT_IMPLEMENTED,k=y.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,U,_,m;Oe(R,r);var S=d.errorOrDestroy,v=["error","close","destroy","pause","resume"];function $(b,w,F){if(typeof b.prependListener=="function")return b.prependListener(w,F);!b._events||!b._events[w]?b.on(w,F):Array.isArray(b._events[w])?b._events[w].unshift(F):b._events[w]=[F,b._events[w]]}function j(b,w,F){e=e||Rr(),b=b||{},typeof F!="boolean"&&(F=w instanceof e),this.objectMode=!!b.objectMode,F&&(this.objectMode=this.objectMode||!!b.readableObjectMode),this.highWaterMark=x(this,b,"readableHighWaterMark",F),this.buffer=new l,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=b.emitClose!==!1,this.autoDestroy=!!b.autoDestroy,this.destroyed=!1,this.defaultEncoding=b.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,b.encoding&&(U||(U=zn.StringDecoder),this.decoder=new U(b.encoding),this.encoding=b.encoding)}function R(b){if(e=e||Rr(),!(this instanceof R))return new R(b);var w=this instanceof e;this._readableState=new j(b,this,w),this.readable=!0,b&&(typeof b.read=="function"&&(this._read=b.read),typeof b.destroy=="function"&&(this._destroy=b.destroy)),r.call(this)}Object.defineProperty(R.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(w){this._readableState&&(this._readableState.destroyed=w)}}),R.prototype.destroy=d.destroy,R.prototype._undestroy=d.undestroy,R.prototype._destroy=function(b,w){w(b)},R.prototype.push=function(b,w){var F=this._readableState,D;return F.objectMode?D=!0:typeof b=="string"&&(w=w||F.defaultEncoding,w!==F.encoding&&(b=n.from(b,w),w=""),D=!0),z(this,b,w,!1,D)},R.prototype.unshift=function(b){return z(this,b,null,!0,!1)};function z(b,w,F,D,pe){c("readableAddChunk",w);var Y=b._readableState;if(w===null)Y.reading=!1,oe(b,Y);else{var te;if(pe||(te=C(Y,w)),te)S(b,te);else if(Y.objectMode||w&&w.length>0)if(typeof w!="string"&&!Y.objectMode&&Object.getPrototypeOf(w)!==n.prototype&&(w=s(w)),D)Y.endEmitted?S(b,new k):Z(b,Y,w,!0);else if(Y.ended)S(b,new B);else{if(Y.destroyed)return!1;Y.reading=!1,Y.decoder&&!F?(w=Y.decoder.write(w),Y.objectMode||w.length!==0?Z(b,Y,w,!1):Ve(b,Y)):Z(b,Y,w,!1)}else D||(Y.reading=!1,Ve(b,Y))}return!Y.ended&&(Y.length<Y.highWaterMark||Y.length===0)}function Z(b,w,F,D){w.flowing&&w.length===0&&!w.sync?(w.awaitDrain=0,b.emit("data",F)):(w.length+=w.objectMode?1:F.length,D?w.buffer.unshift(F):w.buffer.push(F),w.needReadable&&ae(b)),Ve(b,w)}function C(b,w){var F;return!o(w)&&typeof w!="string"&&w!==void 0&&!b.objectMode&&(F=new O("chunk",["string","Buffer","Uint8Array"],w)),F}R.prototype.isPaused=function(){return this._readableState.flowing===!1},R.prototype.setEncoding=function(b){U||(U=zn.StringDecoder);var w=new U(b);this._readableState.decoder=w,this._readableState.encoding=this._readableState.decoder.encoding;for(var F=this._readableState.buffer.head,D="";F!==null;)D+=w.write(F.data),F=F.next;return this._readableState.buffer.clear(),D!==""&&this._readableState.buffer.push(D),this._readableState.length=D.length,this};var H=1073741824;function V(b){return b>=H?b=H:(b--,b|=b>>>1,b|=b>>>2,b|=b>>>4,b|=b>>>8,b|=b>>>16,b++),b}function q(b,w){return b<=0||w.length===0&&w.ended?0:w.objectMode?1:b!==b?w.flowing&&w.length?w.buffer.head.data.length:w.length:(b>w.highWaterMark&&(w.highWaterMark=V(b)),b<=w.length?b:w.ended?w.length:(w.needReadable=!0,0))}R.prototype.read=function(b){c("read",b),b=parseInt(b,10);var w=this._readableState,F=b;if(b!==0&&(w.emittedReadable=!1),b===0&&w.needReadable&&((w.highWaterMark!==0?w.length>=w.highWaterMark:w.length>0)||w.ended))return c("read: emitReadable",w.length,w.ended),w.length===0&&w.ended?M(this):ae(this),null;if(b=q(b,w),b===0&&w.ended)return w.length===0&&M(this),null;var D=w.needReadable;c("need readable",D),(w.length===0||w.length-b<w.highWaterMark)&&(D=!0,c("length less than watermark",D)),w.ended||w.reading?(D=!1,c("reading or ended",D)):D&&(c("do read"),w.reading=!0,w.sync=!0,w.length===0&&(w.needReadable=!0),this._read(w.highWaterMark),w.sync=!1,w.reading||(b=q(F,w)));var pe;return b>0?pe=P(b,w):pe=null,pe===null?(w.needReadable=w.length<=w.highWaterMark,b=0):(w.length-=b,w.awaitDrain=0),w.length===0&&(w.ended||(w.needReadable=!0),F!==b&&w.ended&&M(this)),pe!==null&&this.emit("data",pe),pe};function oe(b,w){if(c("onEofChunk"),!w.ended){if(w.decoder){var F=w.decoder.end();F&&F.length&&(w.buffer.push(F),w.length+=w.objectMode?1:F.length)}w.ended=!0,w.sync?ae(b):(w.needReadable=!1,w.emittedReadable||(w.emittedReadable=!0,et(b)))}}function ae(b){var w=b._readableState;c("emitReadable",w.needReadable,w.emittedReadable),w.needReadable=!1,w.emittedReadable||(c("emitReadable",w.flowing),w.emittedReadable=!0,process.nextTick(et,b))}function et(b){var w=b._readableState;c("emitReadable_",w.destroyed,w.length,w.ended),!w.destroyed&&(w.length||w.ended)&&(b.emit("readable"),w.emittedReadable=!1),w.needReadable=!w.flowing&&!w.ended&&w.length<=w.highWaterMark,T(b)}function Ve(b,w){w.readingMore||(w.readingMore=!0,process.nextTick(it,b,w))}function it(b,w){for(;!w.reading&&!w.ended&&(w.length<w.highWaterMark||w.flowing&&w.length===0);){var F=w.length;if(c("maybeReadMore read 0"),b.read(0),F===w.length)break}w.readingMore=!1}R.prototype._read=function(b){S(this,new A("_read()"))},R.prototype.pipe=function(b,w){var F=this,D=this._readableState;switch(D.pipesCount){case 0:D.pipes=b;break;case 1:D.pipes=[D.pipes,b];break;default:D.pipes.push(b);break}D.pipesCount+=1,c("pipe count=%d opts=%j",D.pipesCount,w);var pe=(!w||w.end!==!1)&&b!==process.stdout&&b!==process.stderr,Y=pe?It:qt;D.endEmitted?process.nextTick(Y):F.once("end",Y),b.on("unpipe",te);function te(h,a){c("onunpipe"),h===F&&a&&a.hasUnpiped===!1&&(a.hasUnpiped=!0,lr())}function It(){c("onend"),b.end()}var hr=de(F);b.on("drain",hr);var Fr=!1;function lr(){c("cleanup"),b.removeListener("close",Mr),b.removeListener("finish",Ye),b.removeListener("drain",hr),b.removeListener("error",zt),b.removeListener("unpipe",te),F.removeListener("end",It),F.removeListener("end",qt),F.removeListener("data",ze),Fr=!0,D.awaitDrain&&(!b._writableState||b._writableState.needDrain)&&hr()}F.on("data",ze);function ze(h){c("ondata");var a=b.write(h);c("dest.write",a),a===!1&&((D.pipesCount===1&&D.pipes===b||D.pipesCount>1&&K(D.pipes,b)!==-1)&&!Fr&&(c("false write response, pause",D.awaitDrain),D.awaitDrain++),F.pause())}function zt(h){c("onerror",h),qt(),b.removeListener("error",zt),t(b,"error")===0&&S(b,h)}$(b,"error",zt);function Mr(){b.removeListener("finish",Ye),qt()}b.once("close",Mr);function Ye(){c("onfinish"),b.removeListener("close",Mr),qt()}b.once("finish",Ye);function qt(){c("unpipe"),F.unpipe(b)}return b.emit("pipe",F),D.flowing||(c("pipe resume"),F.resume()),b};function de(b){return function(){var F=b._readableState;c("pipeOnDrain",F.awaitDrain),F.awaitDrain&&F.awaitDrain--,F.awaitDrain===0&&t(b,"data")&&(F.flowing=!0,T(b))}}R.prototype.unpipe=function(b){var w=this._readableState,F={hasUnpiped:!1};if(w.pipesCount===0)return this;if(w.pipesCount===1)return b&&b!==w.pipes?this:(b||(b=w.pipes),w.pipes=null,w.pipesCount=0,w.flowing=!1,b&&b.emit("unpipe",this,F),this);if(!b){var D=w.pipes,pe=w.pipesCount;w.pipes=null,w.pipesCount=0,w.flowing=!1;for(var Y=0;Y<pe;Y++)D[Y].emit("unpipe",this,{hasUnpiped:!1});return this}var te=K(w.pipes,b);return te===-1?this:(w.pipes.splice(te,1),w.pipesCount-=1,w.pipesCount===1&&(w.pipes=w.pipes[0]),b.emit("unpipe",this,F),this)},R.prototype.on=function(b,w){var F=r.prototype.on.call(this,b,w),D=this._readableState;return b==="data"?(D.readableListening=this.listenerCount("readable")>0,D.flowing!==!1&&this.resume()):b==="readable"&&!D.endEmitted&&!D.readableListening&&(D.readableListening=D.needReadable=!0,D.flowing=!1,D.emittedReadable=!1,c("on readable",D.length,D.reading),D.length?ae(this):D.reading||process.nextTick(We,this)),F},R.prototype.addListener=R.prototype.on,R.prototype.removeListener=function(b,w){var F=r.prototype.removeListener.call(this,b,w);return b==="readable"&&process.nextTick(ve,this),F},R.prototype.removeAllListeners=function(b){var w=r.prototype.removeAllListeners.apply(this,arguments);return(b==="readable"||b===void 0)&&process.nextTick(ve,this),w};function ve(b){var w=b._readableState;w.readableListening=b.listenerCount("readable")>0,w.resumeScheduled&&!w.paused?w.flowing=!0:b.listenerCount("data")>0&&b.resume()}function We(b){c("readable nexttick read 0"),b.read(0)}R.prototype.resume=function(){var b=this._readableState;return b.flowing||(c("resume"),b.flowing=!b.readableListening,At(this,b)),b.paused=!1,this};function At(b,w){w.resumeScheduled||(w.resumeScheduled=!0,process.nextTick(pt,b,w))}function pt(b,w){c("resume",w.reading),w.reading||b.read(0),w.resumeScheduled=!1,b.emit("resume"),T(b),w.flowing&&!w.reading&&b.read(0)}R.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function T(b){var w=b._readableState;for(c("flow",w.flowing);w.flowing&&b.read()!==null;);}R.prototype.wrap=function(b){var w=this,F=this._readableState,D=!1;b.on("end",function(){if(c("wrapped end"),F.decoder&&!F.ended){var te=F.decoder.end();te&&te.length&&w.push(te)}w.push(null)}),b.on("data",function(te){if(c("wrapped data"),F.decoder&&(te=F.decoder.write(te)),!(F.objectMode&&te==null)&&!(!F.objectMode&&(!te||!te.length))){var It=w.push(te);It||(D=!0,b.pause())}});for(var pe in b)this[pe]===void 0&&typeof b[pe]=="function"&&(this[pe]=function(It){return function(){return b[It].apply(b,arguments)}}(pe));for(var Y=0;Y<v.length;Y++)b.on(v[Y],this.emit.bind(this,v[Y]));return this._read=function(te){c("wrapped _read",te),D&&(D=!1,b.resume())},this},typeof Symbol=="function"&&(R.prototype[Symbol.asyncIterator]=function(){return _===void 0&&(_=el()),_(this)}),Object.defineProperty(R.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(R.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(R.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(w){this._readableState&&(this._readableState.flowing=w)}}),R._fromList=P,Object.defineProperty(R.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function P(b,w){if(w.length===0)return null;var F;return w.objectMode?F=w.buffer.shift():!b||b>=w.length?(w.decoder?F=w.buffer.join(""):w.buffer.length===1?F=w.buffer.first():F=w.buffer.concat(w.length),w.buffer.clear()):F=w.buffer.consume(b,w.decoder),F}function M(b){var w=b._readableState;c("endReadable",w.endEmitted),w.endEmitted||(w.ended=!0,process.nextTick(G,w,b))}function G(b,w){if(c("endReadableNT",b.endEmitted,b.length),!b.endEmitted&&b.length===0&&(b.endEmitted=!0,w.readable=!1,w.emit("end"),b.autoDestroy)){var F=w._writableState;(!F||F.autoDestroy&&F.finished)&&w.destroy()}}typeof Symbol=="function"&&(R.from=function(b,w){return m===void 0&&(m=tl()),m(R,b,w)});function K(b,w){for(var F=0,D=b.length;F<D;F++)if(b[F]===w)return F;return-1}return Gi}var Ja=Pt,ui=fr.codes,rl=ui.ERR_METHOD_NOT_IMPLEMENTED,nl=ui.ERR_MULTIPLE_CALLBACK,il=ui.ERR_TRANSFORM_ALREADY_TRANSFORMING,sl=ui.ERR_TRANSFORM_WITH_LENGTH_0,ci=Rr();Oe(Pt,ci);function ol(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new nl);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Pt(e){if(!(this instanceof Pt))return new Pt(e);ci.call(this,e),this._transformState={afterTransform:ol.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",al)}function al(){var e=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(t,r){Bo(e,t,r)}):Bo(this,null,null)}Pt.prototype.push=function(e,t){return this._transformState.needTransform=!1,ci.prototype.push.call(this,e,t)};Pt.prototype._transform=function(e,t,r){r(new rl("_transform()"))};Pt.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Pt.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};Pt.prototype._destroy=function(e,t){ci.prototype._destroy.call(this,e,function(r){t(r)})};function Bo(e,t,r){if(t)return e.emit("error",t);if(r!=null&&e.push(r),e._writableState.length)throw new sl;if(e._transformState.transforming)throw new il;return e.push(null)}var fl=hn,Qa=Ja;Oe(hn,Qa);function hn(e){if(!(this instanceof hn))return new hn(e);Qa.call(this,e)}hn.prototype._transform=function(e,t,r){r(null,e)};var Vi;function ul(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var Za=fr.codes,cl=Za.ERR_MISSING_ARGS,hl=Za.ERR_STREAM_DESTROYED;function Po(e){if(e)throw e}function ll(e){return e.setHeader&&typeof e.abort=="function"}function dl(e,t,r,n){n=ul(n);var i=!1;e.on("close",function(){i=!0}),Vi===void 0&&(Vi=ks),Vi(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var s=!1;return function(o){if(!i&&!s){if(s=!0,ll(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new hl("pipe"))}}}function To(e){e()}function pl(e,t){return e.pipe(t)}function yl(e){return!e.length||typeof e[e.length-1]!="function"?Po:e.pop()}function bl(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=yl(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new cl("streams");var i,s=t.map(function(o,f){var c=f<t.length-1,l=f>0;return dl(o,c,l,function(d){i||(i=d),d&&s.forEach(To),!c&&(s.forEach(To),n(i))})});return t.reduce(pl)}var wl=bl;(function(e,t){t=e.exports=Xa(),t.Stream=t,t.Readable=t,t.Writable=Ka(),t.Duplex=Rr(),t.Transform=Ja,t.PassThrough=fl,t.finished=ks,t.pipeline=wl})(is,is.exports);var ef=is.exports,qn=Ge.Buffer,tf=ef.Transform,gl=Oe;function ml(e,t){if(!qn.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Gt(e){tf.call(this),this._block=qn.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}gl(Gt,tf);Gt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Gt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Gt.prototype.update=function(e,t){if(ml(e,"Data"),this._finalized)throw new Error("Digest already called");qn.isBuffer(e)||(e=qn.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s)this._length[s]+=o,o=this._length[s]/4294967296|0,o>0&&(this._length[s]-=4294967296*o);return this};Gt.prototype._update=function(){throw new Error("_update is not implemented")};Gt.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};Gt.prototype._digest=function(){throw new Error("_digest is not implemented")};var _l=Gt,El=Oe,rf=_l,vl=Ge.Buffer,xl=new Array(16);function hi(){rf.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}El(hi,rf);hi.prototype._update=function(){for(var e=xl,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);var r=this._a,n=this._b,i=this._c,s=this._d;r=ke(r,n,i,s,e[0],3614090360,7),s=ke(s,r,n,i,e[1],3905402710,12),i=ke(i,s,r,n,e[2],606105819,17),n=ke(n,i,s,r,e[3],3250441966,22),r=ke(r,n,i,s,e[4],4118548399,7),s=ke(s,r,n,i,e[5],1200080426,12),i=ke(i,s,r,n,e[6],2821735955,17),n=ke(n,i,s,r,e[7],4249261313,22),r=ke(r,n,i,s,e[8],1770035416,7),s=ke(s,r,n,i,e[9],2336552879,12),i=ke(i,s,r,n,e[10],4294925233,17),n=ke(n,i,s,r,e[11],2304563134,22),r=ke(r,n,i,s,e[12],1804603682,7),s=ke(s,r,n,i,e[13],4254626195,12),i=ke(i,s,r,n,e[14],2792965006,17),n=ke(n,i,s,r,e[15],1236535329,22),r=Re(r,n,i,s,e[1],4129170786,5),s=Re(s,r,n,i,e[6],3225465664,9),i=Re(i,s,r,n,e[11],643717713,14),n=Re(n,i,s,r,e[0],3921069994,20),r=Re(r,n,i,s,e[5],3593408605,5),s=Re(s,r,n,i,e[10],38016083,9),i=Re(i,s,r,n,e[15],3634488961,14),n=Re(n,i,s,r,e[4],3889429448,20),r=Re(r,n,i,s,e[9],568446438,5),s=Re(s,r,n,i,e[14],3275163606,9),i=Re(i,s,r,n,e[3],4107603335,14),n=Re(n,i,s,r,e[8],1163531501,20),r=Re(r,n,i,s,e[13],2850285829,5),s=Re(s,r,n,i,e[2],4243563512,9),i=Re(i,s,r,n,e[7],1735328473,14),n=Re(n,i,s,r,e[12],2368359562,20),r=Ue(r,n,i,s,e[5],4294588738,4),s=Ue(s,r,n,i,e[8],2272392833,11),i=Ue(i,s,r,n,e[11],1839030562,16),n=Ue(n,i,s,r,e[14],4259657740,23),r=Ue(r,n,i,s,e[1],2763975236,4),s=Ue(s,r,n,i,e[4],1272893353,11),i=Ue(i,s,r,n,e[7],4139469664,16),n=Ue(n,i,s,r,e[10],3200236656,23),r=Ue(r,n,i,s,e[13],681279174,4),s=Ue(s,r,n,i,e[0],3936430074,11),i=Ue(i,s,r,n,e[3],3572445317,16),n=Ue(n,i,s,r,e[6],76029189,23),r=Ue(r,n,i,s,e[9],3654602809,4),s=Ue(s,r,n,i,e[12],3873151461,11),i=Ue(i,s,r,n,e[15],530742520,16),n=Ue(n,i,s,r,e[2],3299628645,23),r=Ce(r,n,i,s,e[0],4096336452,6),s=Ce(s,r,n,i,e[7],1126891415,10),i=Ce(i,s,r,n,e[14],2878612391,15),n=Ce(n,i,s,r,e[5],4237533241,21),r=Ce(r,n,i,s,e[12],1700485571,6),s=Ce(s,r,n,i,e[3],2399980690,10),i=Ce(i,s,r,n,e[10],4293915773,15),n=Ce(n,i,s,r,e[1],2240044497,21),r=Ce(r,n,i,s,e[8],1873313359,6),s=Ce(s,r,n,i,e[15],4264355552,10),i=Ce(i,s,r,n,e[6],2734768916,15),n=Ce(n,i,s,r,e[13],1309151649,21),r=Ce(r,n,i,s,e[4],4149444226,6),s=Ce(s,r,n,i,e[11],3174756917,10),i=Ce(i,s,r,n,e[2],718787259,15),n=Ce(n,i,s,r,e[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+s|0};hi.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=vl.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e};function li(e,t){return e<<t|e>>>32-t}function ke(e,t,r,n,i,s,o){return li(e+(t&r|~t&n)+i+s|0,o)+t|0}function Re(e,t,r,n,i,s,o){return li(e+(t&n|r&~n)+i+s|0,o)+t|0}function Ue(e,t,r,n,i,s,o){return li(e+(t^r^n)+i+s|0,o)+t|0}function Ce(e,t,r,n,i,s,o){return li(e+(r^(t|~n))+i+s|0,o)+t|0}var Sl=hi,Kn=Ge.Buffer,nf=ef.Transform,Bl=Oe;function Pl(e,t){if(!Kn.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Vt(e){nf.call(this),this._block=Kn.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}Bl(Vt,nf);Vt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Vt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Vt.prototype.update=function(e,t){if(Pl(e,"Data"),this._finalized)throw new Error("Digest already called");Kn.isBuffer(e)||(e=Kn.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s)this._length[s]+=o,o=this._length[s]/4294967296|0,o>0&&(this._length[s]-=4294967296*o);return this};Vt.prototype._update=function(){throw new Error("_update is not implemented")};Vt.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};Vt.prototype._digest=function(){throw new Error("_digest is not implemented")};var Tl=Vt,Wi=Tt.Buffer,Al=Oe,sf=Tl,Il=new Array(16),Wr=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],zr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],qr=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Kr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],Yr=[0,1518500249,1859775393,2400959708,2840853838],Xr=[1352829926,1548603684,1836072691,2053994217,0];function di(){sf.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}Al(di,sf);di.prototype._update=function(){for(var e=Il,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);for(var r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,f=this._a|0,c=this._b|0,l=this._c|0,d=this._d|0,g=this._e|0,x=0;x<80;x+=1){var y,O;x<16?(y=Ao(r,n,i,s,o,e[Wr[x]],Yr[0],qr[x]),O=Ro(f,c,l,d,g,e[zr[x]],Xr[0],Kr[x])):x<32?(y=Io(r,n,i,s,o,e[Wr[x]],Yr[1],qr[x]),O=ko(f,c,l,d,g,e[zr[x]],Xr[1],Kr[x])):x<48?(y=Oo(r,n,i,s,o,e[Wr[x]],Yr[2],qr[x]),O=Oo(f,c,l,d,g,e[zr[x]],Xr[2],Kr[x])):x<64?(y=ko(r,n,i,s,o,e[Wr[x]],Yr[3],qr[x]),O=Io(f,c,l,d,g,e[zr[x]],Xr[3],Kr[x])):(y=Ro(r,n,i,s,o,e[Wr[x]],Yr[4],qr[x]),O=Ao(f,c,l,d,g,e[zr[x]],Xr[4],Kr[x])),r=o,o=s,s=tr(i,10),i=n,n=y,f=g,g=d,d=tr(l,10),l=c,c=O}var B=this._b+i+d|0;this._b=this._c+s+g|0,this._c=this._d+o+f|0,this._d=this._e+r+c|0,this._e=this._a+n+l|0,this._a=B};di.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=Wi.alloc?Wi.alloc(20):new Wi(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e};function tr(e,t){return e<<t|e>>>32-t}function Ao(e,t,r,n,i,s,o,f){return tr(e+(t^r^n)+s+o|0,f)+i|0}function Io(e,t,r,n,i,s,o,f){return tr(e+(t&r|~t&n)+s+o|0,f)+i|0}function Oo(e,t,r,n,i,s,o,f){return tr(e+((t|~r)^n)+s+o|0,f)+i|0}function ko(e,t,r,n,i,s,o,f){return tr(e+(t&n|r&~n)+s+o|0,f)+i|0}function Ro(e,t,r,n,i,s,o,f){return tr(e+(t^(r|~n))+s+o|0,f)+i|0}var Ol=di,of={exports:{}},af=Ge.Buffer;function pi(e,t){this._block=af.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}pi.prototype.update=function(e,t){typeof e=="string"&&(t=t||"utf8",e=af.from(e,t));for(var r=this._block,n=this._blockSize,i=e.length,s=this._len,o=0;o<i;){for(var f=s%n,c=Math.min(i-o,n-f),l=0;l<c;l++)r[f+l]=e[o+l];s+=c,o+=c,s%n===0&&this._update(r)}return this._len+=i,this};pi.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(r&4294967295)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var s=this._hash();return e?s.toString(e):s};pi.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var Cr=pi,kl=Oe,ff=Cr,Rl=Ge.Buffer,Ul=[1518500249,1859775393,-1894007588,-899497514],Cl=new Array(80);function gn(){this.init(),this._w=Cl,ff.call(this,64,56)}kl(gn,ff);gn.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function Ll(e){return e<<5|e>>>27}function Nl(e){return e<<30|e>>>2}function Fl(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}gn.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,f=0;f<16;++f)t[f]=e.readInt32BE(f*4);for(;f<80;++f)t[f]=t[f-3]^t[f-8]^t[f-14]^t[f-16];for(var c=0;c<80;++c){var l=~~(c/20),d=Ll(r)+Fl(l,n,i,s)+o+t[c]+Ul[l]|0;o=s,s=i,i=Nl(n),n=r,r=d}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0};gn.prototype._hash=function(){var e=Rl.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var Ml=gn,Hl=Oe,uf=Cr,$l=Ge.Buffer,Dl=[1518500249,1859775393,-1894007588,-899497514],jl=new Array(80);function mn(){this.init(),this._w=jl,uf.call(this,64,56)}Hl(mn,uf);mn.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function Gl(e){return e<<1|e>>>31}function Vl(e){return e<<5|e>>>27}function Wl(e){return e<<30|e>>>2}function zl(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}mn.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,f=0;f<16;++f)t[f]=e.readInt32BE(f*4);for(;f<80;++f)t[f]=Gl(t[f-3]^t[f-8]^t[f-14]^t[f-16]);for(var c=0;c<80;++c){var l=~~(c/20),d=Vl(r)+zl(l,n,i,s)+o+t[c]+Dl[l]|0;o=s,s=i,i=Wl(n),n=r,r=d}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0};mn.prototype._hash=function(){var e=$l.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var ql=mn,Kl=Oe,cf=Cr,Yl=Ge.Buffer,Xl=[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],Jl=new Array(64);function _n(){this.init(),this._w=Jl,cf.call(this,64,56)}Kl(_n,cf);_n.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function Ql(e,t,r){return r^e&(t^r)}function Zl(e,t,r){return e&t|r&(e|t)}function e0(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function t0(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function r0(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function n0(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}_n.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,f=this._f|0,c=this._g|0,l=this._h|0,d=0;d<16;++d)t[d]=e.readInt32BE(d*4);for(;d<64;++d)t[d]=n0(t[d-2])+t[d-7]+r0(t[d-15])+t[d-16]|0;for(var g=0;g<64;++g){var x=l+t0(o)+Ql(o,f,c)+Xl[g]+t[g]|0,y=e0(r)+Zl(r,n,i)|0;l=c,c=f,f=o,o=s+x|0,s=i,i=n,n=r,r=x+y|0}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0,this._f=f+this._f|0,this._g=c+this._g|0,this._h=l+this._h|0};_n.prototype._hash=function(){var e=Yl.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e};var hf=_n,i0=Oe,s0=hf,o0=Cr,a0=Ge.Buffer,f0=new Array(64);function yi(){this.init(),this._w=f0,o0.call(this,64,56)}i0(yi,s0);yi.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this};yi.prototype._hash=function(){var e=a0.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e};var u0=yi,c0=Oe,lf=Cr,h0=Ge.Buffer,Uo=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],l0=new Array(160);function En(){this.init(),this._w=l0,lf.call(this,128,112)}c0(En,lf);En.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function Co(e,t,r){return r^e&(t^r)}function Lo(e,t,r){return e&t|r&(e|t)}function No(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function Fo(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function d0(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p0(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function y0(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function b0(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function Te(e,t){return e>>>0<t>>>0?1:0}En.prototype._update=function(e){for(var t=this._w,r=this._ah|0,n=this._bh|0,i=this._ch|0,s=this._dh|0,o=this._eh|0,f=this._fh|0,c=this._gh|0,l=this._hh|0,d=this._al|0,g=this._bl|0,x=this._cl|0,y=this._dl|0,O=this._el|0,B=this._fl|0,A=this._gl|0,k=this._hl|0,U=0;U<32;U+=2)t[U]=e.readInt32BE(U*4),t[U+1]=e.readInt32BE(U*4+4);for(;U<160;U+=2){var _=t[U-30],m=t[U-15*2+1],S=d0(_,m),v=p0(m,_);_=t[U-2*2],m=t[U-2*2+1];var $=y0(_,m),j=b0(m,_),R=t[U-7*2],z=t[U-7*2+1],Z=t[U-16*2],C=t[U-16*2+1],H=v+z|0,V=S+R+Te(H,v)|0;H=H+j|0,V=V+$+Te(H,j)|0,H=H+C|0,V=V+Z+Te(H,C)|0,t[U]=V,t[U+1]=H}for(var q=0;q<160;q+=2){V=t[q],H=t[q+1];var oe=Lo(r,n,i),ae=Lo(d,g,x),et=No(r,d),Ve=No(d,r),it=Fo(o,O),de=Fo(O,o),ve=Uo[q],We=Uo[q+1],At=Co(o,f,c),pt=Co(O,B,A),T=k+de|0,P=l+it+Te(T,k)|0;T=T+pt|0,P=P+At+Te(T,pt)|0,T=T+We|0,P=P+ve+Te(T,We)|0,T=T+H|0,P=P+V+Te(T,H)|0;var M=Ve+ae|0,G=et+oe+Te(M,Ve)|0;l=c,k=A,c=f,A=B,f=o,B=O,O=y+T|0,o=s+P+Te(O,y)|0,s=i,y=x,i=n,x=g,n=r,g=d,d=T+M|0,r=P+G+Te(d,T)|0}this._al=this._al+d|0,this._bl=this._bl+g|0,this._cl=this._cl+x|0,this._dl=this._dl+y|0,this._el=this._el+O|0,this._fl=this._fl+B|0,this._gl=this._gl+A|0,this._hl=this._hl+k|0,this._ah=this._ah+r+Te(this._al,d)|0,this._bh=this._bh+n+Te(this._bl,g)|0,this._ch=this._ch+i+Te(this._cl,x)|0,this._dh=this._dh+s+Te(this._dl,y)|0,this._eh=this._eh+o+Te(this._el,O)|0,this._fh=this._fh+f+Te(this._fl,B)|0,this._gh=this._gh+c+Te(this._gl,A)|0,this._hh=this._hh+l+Te(this._hl,k)|0};En.prototype._hash=function(){var e=h0.allocUnsafe(64);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e};var df=En,w0=Oe,g0=df,m0=Cr,_0=Ge.Buffer,E0=new Array(160);function bi(){this.init(),this._w=E0,m0.call(this,128,112)}w0(bi,g0);bi.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this};bi.prototype._hash=function(){var e=_0.allocUnsafe(48);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e};var v0=bi,ur=of.exports=function(t){t=t.toLowerCase();var r=ur[t];if(!r)throw new Error(t+" is not supported (we accept pull requests)");return new r};ur.sha=Ml;ur.sha1=ql;ur.sha224=u0;ur.sha256=hf;ur.sha384=v0;ur.sha512=df;var x0=of.exports,pf=Ge.Buffer,yf=Is.Transform,S0=zn.StringDecoder,B0=Oe;function nt(e){yf.call(this),this.hashMode=typeof e=="string",this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}B0(nt,yf);nt.prototype.update=function(e,t,r){typeof e=="string"&&(e=pf.from(e,t));var n=this._update(e);return this.hashMode?this:(r&&(n=this._toString(n,r)),n)};nt.prototype.setAutoPadding=function(){};nt.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")};nt.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")};nt.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")};nt.prototype._transform=function(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(i){n=i}finally{r(n)}};nt.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(r){t=r}e(t)};nt.prototype._finalOrDigest=function(e){var t=this.__final()||pf.alloc(0);return e&&(t=this._toString(t,e,!0)),t};nt.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new S0(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n};var P0=nt,T0=Oe,A0=Sl,I0=Ol,O0=x0,bf=P0;function wi(e){bf.call(this,"digest"),this._hash=e}T0(wi,bf);wi.prototype._update=function(e){this._hash.update(e)};wi.prototype._final=function(){return this._hash.digest()};var k0=function(t){return t=t.toLowerCase(),t==="md5"?new A0:t==="rmd160"||t==="ripemd160"?new I0:new wi(O0(t))},Rn=Ge.Buffer;function R0(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var o=e.length,f=e.charAt(0),c=Math.log(o)/Math.log(256),l=Math.log(256)/Math.log(o);function d(y){if((Array.isArray(y)||y instanceof Uint8Array)&&(y=Rn.from(y)),!Rn.isBuffer(y))throw new TypeError("Expected Buffer");if(y.length===0)return"";for(var O=0,B=0,A=0,k=y.length;A!==k&&y[A]===0;)A++,O++;for(var U=(k-A)*l+1>>>0,_=new Uint8Array(U);A!==k;){for(var m=y[A],S=0,v=U-1;(m!==0||S<B)&&v!==-1;v--,S++)m+=256*_[v]>>>0,_[v]=m%o>>>0,m=m/o>>>0;if(m!==0)throw new Error("Non-zero carry");B=S,A++}for(var $=U-B;$!==U&&_[$]===0;)$++;for(var j=f.repeat(O);$<U;++$)j+=e.charAt(_[$]);return j}function g(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return Rn.alloc(0);for(var O=0,B=0,A=0;y[O]===f;)B++,O++;for(var k=(y.length-O)*c+1>>>0,U=new Uint8Array(k);O<y.length;){var _=t[y.charCodeAt(O)];if(_===255)return;for(var m=0,S=k-1;(_!==0||m<A)&&S!==-1;S--,m++)_+=o*U[S]>>>0,U[S]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");A=m,O++}for(var v=k-A;v!==k&&U[v]===0;)v++;var $=Rn.allocUnsafe(B+(k-v));$.fill(0,0,B);for(var j=B;v!==k;)$[j++]=U[v++];return $}function x(y){var O=g(y);if(O)return O;throw new Error("Non-base"+o+" character")}return{encode:d,decodeUnsafe:g,decode:x}}var U0=R0,C0=U0,L0="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",N0=C0(L0),zi=N0,F0=Ge.Buffer,M0=function(e){function t(s){var o=e(s);return zi.encode(F0.concat([s,o],s.length+4))}function r(s){var o=s.slice(0,-4),f=s.slice(-4),c=e(o);if(!(f[0]^c[0]|f[1]^c[1]|f[2]^c[2]|f[3]^c[3]))return o}function n(s){var o=zi.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=zi.decode(s),f=r(o);if(!f)throw new Error("Invalid checksum");return f}return{encode:t,decode:i,decodeUnsafe:n}},Mo=k0,H0=M0;function $0(e){var t=Mo("sha256").update(e).digest();return Mo("sha256").update(t).digest()}var D0=H0($0),os=D0;function wf(e,t){if(t!==void 0&&e[0]!==t)throw new Error("Invalid network version");if(e.length===33)return{version:e[0],privateKey:e.slice(1,33),compressed:!1};if(e.length!==34)throw new Error("Invalid WIF length");if(e[33]!==1)throw new Error("Invalid compression flag");return{version:e[0],privateKey:e.slice(1,33),compressed:!0}}function as(e,t,r){var n=new Buffer(r?34:33);return n.writeUInt8(e,0),t.copy(n,1),r&&(n[33]=1),n}function j0(e,t){return wf(os.decode(e),t)}function G0(e,t,r){return typeof e=="number"?os.encode(as(e,t,r)):os.encode(as(e.version,e.privateKey,e.compressed))}var V0={decode:j0,decodeRaw:wf,encode:G0,encodeRaw:as},gi={};Object.defineProperty(gi,"__esModule",{value:!0});gi.testEcc=void 0;const W=e=>Buffer.from(e,"hex");function W0(e){ue(e.isPoint(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(!e.isPoint(W("030000000000000000000000000000000000000000000000000000000000000005"))),ue(e.isPrivate(W("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(e.isPrivate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),ue(!e.isPrivate(W("0000000000000000000000000000000000000000000000000000000000000000"))),ue(!e.isPrivate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))),ue(!e.isPrivate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))),ue(Buffer.from(e.privateAdd(W("0000000000000000000000000000000000000000000000000000000000000001"),W("0000000000000000000000000000000000000000000000000000000000000000"))).equals(W("0000000000000000000000000000000000000000000000000000000000000001"))),ue(e.privateAdd(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"),W("0000000000000000000000000000000000000000000000000000000000000003"))===null),ue(Buffer.from(e.privateAdd(W("e211078564db65c3ce7704f08262b1f38f1ef412ad15b5ac2d76657a63b2c500"),W("b51fbb69051255d1becbd683de5848242a89c229348dd72896a87ada94ae8665"))).equals(W("9730c2ee69edbb958d42db7460bafa18fef9d955325aec99044c81c8282b0a24"))),ue(Buffer.from(e.privateNegate(W("0000000000000000000000000000000000000000000000000000000000000001"))).equals(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),ue(Buffer.from(e.privateNegate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"))).equals(W("0000000000000000000000000000000000000000000000000000000000000003"))),ue(Buffer.from(e.privateNegate(W("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(W("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792"))),ue(Buffer.from(e.pointCompress(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!0)).equals(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(Buffer.from(e.pointCompress(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!1)).equals(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),ue(Buffer.from(e.pointCompress(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!0)).equals(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(Buffer.from(e.pointCompress(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!1)).equals(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),ue(Buffer.from(e.pointFromScalar(W("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(W("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99"))),ue(e.xOnlyPointAddTweak(W("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))===null);let t=e.xOnlyPointAddTweak(W("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"),W("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));ue(Buffer.from(t.xOnlyPubkey).equals(W("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"))&&t.parity===1),t=e.xOnlyPointAddTweak(W("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"),W("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47")),ue(Buffer.from(t.xOnlyPubkey).equals(W("9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"))&&t.parity===0),ue(Buffer.from(e.sign(W("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))).equals(W("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),ue(e.verify(W("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),W("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),W("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),e.signSchnorr&&ue(Buffer.from(e.signSchnorr(W("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),W("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"),W("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906"))).equals(W("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7"))),e.verifySchnorr&&ue(e.verifySchnorr(W("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),W("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"),W("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")))}gi.testEcc=W0;function ue(e){if(!e)throw new Error("ecc library invalid")}Object.defineProperty(Or,"__esModule",{value:!0});Or.ECPairFactory=Or.networks=void 0;const fs=kr;Or.networks=fs;const De=Ca,z0=bh,Ho=V0,q0=gi,qi=De.typeforce.maybe(De.typeforce.compile({compressed:De.maybe(De.Boolean),network:De.maybe(De.Network)})),K0=e=>e.length===32?e:e.slice(1,33);function Y0(e){(0,q0.testEcc)(e);function t(f){return e.isPoint(f)}function r(f,c){if(De.typeforce(De.Buffer256bit,f),!e.isPrivate(f))throw new TypeError("Private key not in range [1, n)");return De.typeforce(qi,c),new o(f,void 0,c)}function n(f,c){return De.typeforce(e.isPoint,f),De.typeforce(qi,c),new o(void 0,f,c)}function i(f,c){const l=Ho.decode(f),d=l.version;if(De.Array(c)){if(c=c.filter(g=>d===g.wif).pop(),!c)throw new Error("Unknown network version")}else if(c=c||fs.bitcoin,d!==c.wif)throw new Error("Invalid network version");return r(l.privateKey,{compressed:l.compressed,network:c})}function s(f){De.typeforce(qi,f),f===void 0&&(f={});const c=f.rng||z0;let l;do l=c(32),De.typeforce(De.Buffer256bit,l);while(!e.isPrivate(l));return r(l,f)}class o{constructor(c,l,d){dr(this,"__D");dr(this,"__Q");dr(this,"compressed");dr(this,"network");dr(this,"lowR");this.__D=c,this.__Q=l,this.lowR=!1,d===void 0&&(d={}),this.compressed=d.compressed===void 0?!0:d.compressed,this.network=d.network||fs.bitcoin,l!==void 0&&(this.__Q=Buffer.from(e.pointCompress(l,this.compressed)))}get privateKey(){return this.__D}get publicKey(){if(!this.__Q){const c=e.pointFromScalar(this.__D,this.compressed);this.__Q=Buffer.from(c)}return this.__Q}toWIF(){if(!this.__D)throw new Error("Missing private key");return Ho.encode(this.network.wif,this.__D,this.compressed)}tweak(c){return this.privateKey?this.tweakFromPrivateKey(c):this.tweakFromPublicKey(c)}sign(c,l){if(!this.__D)throw new Error("Missing private key");if(l===void 0&&(l=this.lowR),l===!1)return Buffer.from(e.sign(c,this.__D));{let d=e.sign(c,this.__D);const g=Buffer.alloc(32,0);let x=0;for(;d[0]>127;)x++,g.writeUIntLE(x,0,6),d=e.sign(c,this.__D,g);return Buffer.from(d)}}signSchnorr(c){if(!this.privateKey)throw new Error("Missing private key");if(!e.signSchnorr)throw new Error("signSchnorr not supported by ecc library");return Buffer.from(e.signSchnorr(c,this.privateKey))}verify(c,l){return e.verify(c,this.publicKey,l)}verifySchnorr(c,l){if(!e.verifySchnorr)throw new Error("verifySchnorr not supported by ecc library");return e.verifySchnorr(c,this.publicKey.subarray(1,33),l)}tweakFromPublicKey(c){const l=K0(this.publicKey),d=e.xOnlyPointAddTweak(l,c);if(!d||d.xOnlyPubkey===null)throw new Error("Cannot tweak public key!");const g=Buffer.from([d.parity===0?2:3]);return n(Buffer.concat([g,d.xOnlyPubkey]),{network:this.network,compressed:this.compressed})}tweakFromPrivateKey(c){const d=this.publicKey[0]===3||this.publicKey[0]===4&&(this.publicKey[64]&1)===1?e.privateNegate(this.privateKey):this.privateKey,g=e.privateAdd(d,c);if(!g)throw new Error("Invalid tweaked private key!");return r(Buffer.from(g),{network:this.network,compressed:this.compressed})}}return{isPoint:t,fromPrivateKey:r,fromPublicKey:n,fromWIF:i,makeRandom:s}}Or.ECPairFactory=Y0;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.networks=e.ECPairFactory=e.default=void 0;var t=Or;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"ECPairFactory",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"networks",{enumerable:!0,get:function(){return t.networks}})})(Ua);const X0=au(Ua);class ln extends ge.EventBroker{get isInitialized(){return!!this.privKey}constructor(t,r){super(),this.privKey=t,this.walletClient=r}static fromPrivKey(t){return new ln(N.trim0x(t))}static fromWalletClient(t){return new ln(void 0,t)}async initialize(){if(this.privKey)return N.Ok("Already initialized");const t=await this.derivePrivKeyFromWalletClient();return t.error?N.Err(t.error):(this.emit("initialized",!0),N.Ok("Initialized"))}async derivePrivKeyFromWalletClient(){if(!this.walletClient)return N.Err("No walletClient found");if(!this.walletClient.account)return N.Err("No account found");try{const t=await this.walletClient.signTypedData({account:this.walletClient.account,types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"}],Data:[{name:"Message",type:"string"},{name:"Version",type:"string"},{name:"Nonce",type:"uint256"}]},domain:{name:"GARDEN FINANCE",version:"1"},primaryType:"Data",message:{Message:"Initialize your account",Version:"1.0.2",Nonce:1n}});return this.privKey=N.trim0x(lt.sha256(t)),this.emit("initialized",!0),N.Ok(this.privKey)}catch(t){return N.Err("Failed to initialize: "+t)}}async getMasterPrivKey(){if(!this.privKey&&!this.walletClient)return N.Err("No private key or wallet client found");if(!this.privKey&&this.walletClient){const t=await this.derivePrivKeyFromWalletClient();if(t.error)return N.Err(t.error)}return this.privKey?N.Ok(this.privKey):N.Err("No private key found")}async generateSecret(t){const r=await this.signMessage(t);if(r.error)return N.Err(r.error);const n=lt.sha256(ge.with0x(r.val)),i=lt.sha256(n);return N.Ok({secret:n,secretHash:i})}async signMessage(t){if(!this.privKey){const l=await this.getMasterPrivKey();if(l.error)return N.Err(l.error);this.privKey=l.val}const r=X0(Qt),n="Garden.fi"+t.toString(),i=Buffer.from(n,"utf8"),s=lt.sha256(i),o=Buffer.from(N.trim0x(this.privKey),"hex");if(o.length!==32)return N.Err("Invalid private key length. Expected 32 bytes.");const c=r.fromPrivateKey(o).sign(Buffer.from(N.trim0x(s),"hex"));return N.Ok(c.toString("hex"))}}class J0 extends ge.EventBroker{constructor(t){super(),this.getOrderThreshold=20,this.refundSacpCache=new Map,this.environment=t.environment;const r=t.environment===ge.Environment.MAINNET?ho.mainnet:t.environment===ge.Environment.TESTNET?ho.testnet:void 0;if(!r)throw new Error("API not found, invalid environment "+t.environment);if(this._auth=new ge.Siwe(new ge.Url(t.orderbookURl??r.orderbook),t.evmWallet,t.siweOpts),this._quote=t.quote??new Ra(r.quote),this._orderBook=new ce.Orderbook({url:t.orderbookURl??r.orderbook,walletClient:t.evmWallet,auth:this._auth}),this._orderbookUrl=new ge.Url(t.orderbookURl??r.orderbook),this._evmRelay=new ta(this._orderbookUrl,this._auth),this._secretManager=t.secretManager??ln.fromWalletClient(t.evmWallet),this.orderExecutorCache=new hh,this._evmWallet=t.evmWallet,!t.evmWallet.account)throw new Error("Account not found in evmWallet");this._blockNumberFetcher=t.blockNumberFetcher??new ka(r.info,t.environment)}get orderbookUrl(){return this._orderbookUrl.toString()}get evmRelay(){return this._evmRelay}get quote(){return this._quote}get btcWallet(){return this._btcWallet}get orderbook(){return this._orderBook}get blockNumberFetcher(){return this._blockNumberFetcher}get secretManager(){return this._secretManager}async initializeSMandBTCWallet(){if(this._secretManager.isInitialized&&this._btcWallet)return N.Ok(this._btcWallet);const t=await this._secretManager.getMasterPrivKey();if(t.error)return N.Err(t.error);const r=new Pr.BitcoinProvider(Qf(this.environment));return this._btcWallet=Pr.BitcoinWallet.fromPrivateKey(t.val,r),N.Ok(this._btcWallet)}async swap(t){const r=await this.validateAndFillParams(t);if(r.error)return N.Err(r.error);const{sendAddress:n,receiveAddress:i,timelock:s}=r.val;let o=t.nonce;if(!o){if(!this._evmWallet.account)return N.Err("EVM Wallet not found");const B=await this._orderBook.getOrdersCount(this._evmWallet.account.address);if(B.error)return N.Err(B.error);o=B.val+1}const f=await this._secretManager.generateSecret(o);if(f.error)return N.Err(f.error);const{strategyId:c,btcAddress:l}=t.additionalData,d={strategy_id:c,...l&&{bitcoin_optional_recipient:l}},g={source_chain:t.fromAsset.chain,destination_chain:t.toAsset.chain,source_asset:t.fromAsset.atomicSwapAddress,destination_asset:t.toAsset.atomicSwapAddress,initiator_source_address:n,initiator_destination_address:i,source_amount:t.sendAmount,destination_amount:t.receiveAmount,fee:"1",nonce:o.toString(),timelock:s,secret_hash:N.trim0x(f.val.secretHash),min_destination_confirmations:t.minDestinationConfirmations??0,additional_data:d},x=await this._quote.getAttestedQuote(g);if(x.error)return N.Err(x.error);const y=await this._orderBook.createOrder(x.val);if(y.error)return N.Err(y.error);const O=await this.pollOrder(y.val);return O.error?N.Err(O.error):N.Ok(O.val)}async validateAndFillParams(t){if(!t.additionalData.strategyId)return N.Err("StrategyId is required");if(!t.fromAsset||!t.toAsset)return N.Err("Source and destination assets are required for swap");if(t.fromAsset.chain===t.toAsset.chain&&t.fromAsset.atomicSwapAddress===t.toAsset.atomicSwapAddress)return N.Err("Source and destination assets cannot be the same");if(ce.isMainnet(t.fromAsset.chain)&&!ce.isMainnet(t.toAsset.chain)||!ce.isMainnet(t.fromAsset.chain)&&ce.isMainnet(t.toAsset.chain))return N.Err("Both assets should be on the same network (either mainnet or testnet)");const r=this.validateAmount(t.sendAmount);if(r.error)return N.Err(r.error);const n=this.validateAmount(t.receiveAmount);if(n.error)return N.Err(n.error);if(r<n)return N.Err("Send amount should be greater than receive amount");const i=ce.getTimeLock(t.fromAsset.chain);if(!i)return N.Err("Unsupported chain for timelock");if(ce.isBitcoin(t.fromAsset.chain)||ce.isBitcoin(t.toAsset.chain)){if(!t.additionalData.btcAddress)return N.Err("btcAddress in additionalData is required if source or destination chain is bitcoin, it is used as refund or redeem address.");const f=await this.initializeSMandBTCWallet();if(f.error)return N.Err(f.error);if(!this._btcWallet)return N.Err("btcWallet is required for bitcoin chain. Please provide btcWallet in the constructor")}const s=await this.getAddresses(t.fromAsset.chain);if(s.error)return N.Err(s.error);const o=await this.getAddresses(t.toAsset.chain);return o.error?N.Err(o.error):N.Ok({sendAddress:s.val,receiveAddress:o.val,timelock:t.timelock??i})}async getAddresses(t){var n;switch(ce.getBlockchainType(t)){case ce.BlockchainType.EVM:return this._evmWallet.account?N.Ok(this._evmWallet.account.address):N.Err("EVM Wallet not found");case ce.BlockchainType.Bitcoin:{const i=await((n=this._btcWallet)==null?void 0:n.getPublicKey());return!i||!Xf(i)?N.Err("Invalid btc public key"):N.Ok(Kt(i))}default:return N.Err("Unsupported chain")}}validateAmount(t){if(t==null||t.includes("."))return N.Err("Invalid amount ",t);const r=new zf(t);return!r.isInteger()||r.isNaN()||r.lt(0)||r.isLessThanOrEqualTo(0)?N.Err("Invalid amount ",t):N.Ok(r)}async pollOrder(t){let r=await this._orderBook.getOrder(t,!0),n=0;for(;n<this.getOrderThreshold;){if(await ge.sleep(1e3),n++,r.error){if(!r.error.includes("result is undefined"))return N.Err(r.error)}else if(r.val&&r.val.create_order.create_id.toLowerCase()===t.toLowerCase())return N.Ok(r.val);r=await this._orderBook.getOrder(t,!0)}return N.Err(`Order not found, createOrder id: ${t}`)}async execute(t=5e3){return await this.initializeSMandBTCWallet(),await this._orderBook.subscribeToOrders(t,async r=>{if(r.data.length===0)return;const n=await this.filterExpiredAndAssignStatus(r.data);if(!n.error){this.emit("onPendingOrdersChanged",n.val);for(let i=0;i<n.val.length;i++){const s=n.val[i],o=ls(s.status);if(ce.isBitcoin(s.source_swap.chain)&&s.status===he.InitiateDetected){const f=this.getWallet(s.source_swap.chain);if(f.error){this.emit("error",s,f.error);continue}await this.postRefundSACP(s,f.val)}switch(o){case Pe.Redeem:{const f=await this._secretManager.generateSecret(Number(s.create_order.nonce));if(f.error){this.emit("error",s,f.error);return}switch(ce.getBlockchainType(s.destination_swap.chain)){case ce.BlockchainType.EVM:{await this.evmRedeem(s,f.val.secret);break}case ce.BlockchainType.Bitcoin:{const c=this.getWallet(s.destination_swap.chain);if(c.error){this.emit("error",s,c.error);return}await this.btcRedeem(c.val,s,f.val.secret);break}default:this.emit("error",s,"Unsupported chain: "+s.destination_swap.chain)}break}case Pe.Refund:{switch(ce.getBlockchainType(s.source_swap.chain)){case ce.BlockchainType.EVM:{this.emit("error",s,"EVM refund is automatically done by relay service");break}case ce.BlockchainType.Bitcoin:{const f=this.getWallet(s.source_swap.chain);if(f.error){this.emit("error",s,f.error);return}await this.btcRefund(f.val,s);break}default:this.emit("error",s,"Unsupported chain: "+s.source_swap.chain)}break}}}}},{per_page:500},!0)}async evmRedeem(t,r){if(this.emit("log",t.create_order.create_id,"executing evm redeem"),this.orderExecutorCache.get(t,Pe.Redeem)){this.emit("log",t.create_order.create_id,"already redeemed");return}const i=await this._evmRelay.redeem(t.create_order.create_id,r);if(i.error){this.emit("error",t,i.error),i.error.includes("Order already redeemed")&&this.orderExecutorCache.set(t,Pe.Redeem,t.destination_swap.redeem_tx_hash);return}this.orderExecutorCache.set(t,Pe.Redeem,i.val),this.emit("success",t,Pe.Redeem,i.val)}async btcRedeem(t,r,n){var f,c;const i=this.orderExecutorCache.get(r,Pe.Redeem),s=(f=r.destination_swap.initiate_tx_hash.split(",").at(-1))==null?void 0:f.split(":").at(0);if(!s){this.emit("error",r,"Failed to get initiate_tx_hash");return}let o=!1;if(i)if(i.btcRedeemUTXO&&i.btcRedeemUTXO!==s)o=!0,this.emit("log",r.create_order.create_id,"rbf btc redeem");else{this.emit("log",r.create_order.create_id,"btcRedeem: already redeemed");return}else if(r.destination_swap.redeem_tx_hash&&!Number(r.destination_swap.redeem_block_number))try{const l=await(await t.getProvider()).getTransaction(r.destination_swap.redeem_tx_hash);let d=!1;for(const g of l.vin)if(g.txid===s){d=!0;break}if(d){this.orderExecutorCache.set(r,Pe.Redeem,r.destination_swap.redeem_tx_hash,s),this.emit("log",r.create_order.create_id,"already a valid redeem");return}o=!0}catch(l){if(l.message.includes("Transaction not found"))o=!0;else{this.emit("error",r,"Failed to get redeem tx: "+l);return}}this.emit("log",r.create_order.create_id,"executing btc redeem");try{const d=await(await an.from(t,Number(r.destination_swap.amount),r.create_order.secret_hash,Kt(r.destination_swap.initiator),Kt(r.destination_swap.redeemer),r.destination_swap.timelock,o?[s]:[])).redeem(N.trim0x(n),(c=r.create_order.additional_data)==null?void 0:c.bitcoin_optional_recipient);o?this.emit("log",r.create_order.create_id,"rbf: btc redeem success"):this.emit("success",r,Pe.Redeem,d),this.orderExecutorCache.set(r,Pe.Redeem,d,s)}catch(l){this.emit("error",r,"Failed btc redeem: "+l)}}async btcRefund(t,r){var n;if(!this.orderExecutorCache.get(r,Pe.Refund)){this.emit("log",r.create_order.create_id,"executing btc refund");try{const s=await(await an.from(t,Number(r.source_swap.amount),r.create_order.secret_hash,Kt(r.source_swap.initiator),Kt(r.source_swap.redeemer),r.source_swap.timelock)).refund((n=r.create_order.additional_data)==null?void 0:n.bitcoin_optional_recipient);this.orderExecutorCache.set(r,Pe.Refund,s),this.emit("success",r,Pe.Refund,s)}catch(i){this.emit("error",r,"Failed btc refund: "+i)}}}getWallet(t){switch(ce.getBlockchainType(t)){case ce.BlockchainType.EVM:return N.Ok(this._evmWallet);case ce.BlockchainType.Bitcoin:return N.Ok(this._btcWallet);default:return N.Err("Unsupported chain for wallet")}}async postRefundSACP(t,r){const n=this.refundSacpCache.get(t.create_order.create_id);if((n==null?void 0:n.initTxHash)===t.source_swap.initiate_tx_hash)return;const i=await an.from(r,Number(t.source_swap.amount),t.create_order.secret_hash,Kt(t.source_swap.initiator),Kt(t.source_swap.redeemer),t.source_swap.timelock),s=t.create_order.additional_data.bitcoin_optional_recipient;if(s)try{const o=await i.generateInstantRefundSACP(s),f=this._orderbookUrl.endpoint("orders/add-instant-refund-sacp");(await N.Fetcher.post(f,{headers:{"Content-Type":"application/json"},body:JSON.stringify({order_id:t.create_order.create_id,instant_refund_tx_bytes:o})})).status==="Ok"&&this.refundSacpCache.set(t.create_order.create_id,{initTxHash:t.source_swap.initiate_tx_hash})}catch(o){this.emit("error",t,"Failed to generate and post SACP: "+o);return}}async fetchCurrentBlockNumbers(t,r){if(!r||!r.source||!r.destination)return N.Err("Provide wallets to fetch the current block number");const n=ce.isBitcoin(t.source_swap.chain)?await ge.fetchBitcoinBlockNumber(await r.source.getProvider()):await ge.fetchEVMBlockNumber(r.source);if(n.error)return N.Err(n.error);const i=ce.isBitcoin(t.destination_swap.chain)?await ge.fetchBitcoinBlockNumber(await r.destination.getProvider()):await ge.fetchEVMBlockNumber(r.destination);return i.error?N.Err(i.error):N.Ok({source:n.val,destination:i.val})}async filterExpiredAndAssignStatus(t){var i;if(t.length===0)return N.Ok([]);const r=await((i=this._blockNumberFetcher)==null?void 0:i.fetchBlockNumbers());if(r.error)return N.Err(r.error);const n=[];for(let s=0;s<t.length;s++){const o=t[s];if(ea(o))continue;const f=o.source_swap.chain,c=o.destination_swap.chain,l=r==null?void 0:r.val[f],d=r==null?void 0:r.val[c];if(!l||!d){this.emit("error",o,"Error while fetching CurrentBlockNumbers");continue}const g=hs(o,l,d);n.push({...o,status:g})}return N.Ok(n)}}function cr(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}const gf="2.21.41";let Jr={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${gf}`};class le extends Error{constructor(t,r={}){var f;const n=(()=>{var c;return r.cause instanceof le?r.cause.details:(c=r.cause)!=null&&c.message?r.cause.message:r.details})(),i=r.cause instanceof le&&r.cause.docsPath||r.docsPath,s=(f=Jr.getDocsUrl)==null?void 0:f.call(Jr,{...r,docsPath:i}),o=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...n?[`Details: ${n}`]:[],...Jr.version?[`Version: ${Jr.version}`]:[]].join(`
|
|
32
|
+
`);super(o,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=n,this.docsPath=i,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=t,this.version=gf}walk(t){return mf(this,t)}}function mf(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?mf(e.cause,t):t?null:e}class Q0 extends le{constructor({max:t,min:r,signed:n,size:i,value:s}){super(`Number "${s}" is not in safe ${i?`${i*8}-bit ${n?"signed":"unsigned"} `:""}integer range ${t?`(${r} to ${t})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}}class Z0 extends le{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function vn(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function Ur(e){return vn(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function Yn(e,{dir:t="left"}={}){let r=typeof e=="string"?e.replace("0x",""):e,n=0;for(let i=0;i<r.length-1&&r[t==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=t==="left"?r.slice(n):r.slice(0,r.length-n),typeof e=="string"?(r.length===1&&t==="right"&&(r=`${r}0`),`0x${r.length%2===1?`0${r}`:r}`):r}class ed extends le{constructor({offset:t,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}}class _f extends le{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${t}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}}function Lr(e,{dir:t,size:r=32}={}){return typeof e=="string"?td(e,{dir:t,size:r}):rd(e,{dir:t,size:r})}function td(e,{dir:t,size:r=32}={}){if(r===null)return e;const n=e.replace("0x","");if(n.length>r*2)throw new _f({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function rd(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new _f({size:e.length,targetSize:r,type:"bytes"});const n=new Uint8Array(r);for(let i=0;i<r;i++){const s=t==="right";n[s?i:r-i-1]=e[s?i:e.length-i-1]}return n}const nd=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function J(e,t={}){return typeof e=="number"||typeof e=="bigint"?Ef(e,t):typeof e=="string"?od(e,t):typeof e=="boolean"?id(e,t):Wt(e,t)}function id(e,t={}){const r=`0x${Number(e)}`;return typeof t.size=="number"?(Nr(r,{size:t.size}),Lr(r,{size:t.size})):r}function Wt(e,t={}){let r="";for(let i=0;i<e.length;i++)r+=nd[e[i]];const n=`0x${r}`;return typeof t.size=="number"?(Nr(n,{size:t.size}),Lr(n,{dir:"right",size:t.size})):n}function Ef(e,t={}){const{signed:r,size:n}=t,i=BigInt(e);let s;n?r?s=(1n<<BigInt(n)*8n-1n)-1n:s=2n**(BigInt(n)*8n)-1n:typeof e=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof s=="bigint"&&r?-s-1n:0;if(s&&i>s||i<o){const c=typeof e=="bigint"?"n":"";throw new Q0({max:s?`${s}${c}`:void 0,min:`${o}${c}`,signed:r,size:n,value:`${e}${c}`})}const f=`0x${(r&&i<0?(1n<<BigInt(n*8))+BigInt(i):i).toString(16)}`;return n?Lr(f,{size:n}):f}const sd=new TextEncoder;function od(e,t={}){const r=sd.encode(e);return Wt(r,t)}const ad=new TextEncoder;function vf(e,t={}){return typeof e=="number"||typeof e=="bigint"?ud(e,t):typeof e=="boolean"?fd(e,t):vn(e)?rr(e,t):xf(e,t)}function fd(e,t={}){const r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(Nr(r,{size:t.size}),Lr(r,{size:t.size})):r}const mt={zero:48,nine:57,A:65,F:70,a:97,f:102};function $o(e){if(e>=mt.zero&&e<=mt.nine)return e-mt.zero;if(e>=mt.A&&e<=mt.F)return e-(mt.A-10);if(e>=mt.a&&e<=mt.f)return e-(mt.a-10)}function rr(e,t={}){let r=e;t.size&&(Nr(r,{size:t.size}),r=Lr(r,{dir:"right",size:t.size}));let n=r.slice(2);n.length%2&&(n=`0${n}`);const i=n.length/2,s=new Uint8Array(i);for(let o=0,f=0;o<i;o++){const c=$o(n.charCodeAt(f++)),l=$o(n.charCodeAt(f++));if(c===void 0||l===void 0)throw new le(`Invalid byte sequence ("${n[f-2]}${n[f-1]}" in "${n}").`);s[o]=c*16+l}return s}function ud(e,t){const r=Ef(e,t);return rr(r)}function xf(e,t={}){const r=ad.encode(e);return typeof t.size=="number"?(Nr(r,{size:t.size}),Lr(r,{dir:"right",size:t.size})):r}function Nr(e,{size:t}){if(Ur(e)>t)throw new Z0({givenSize:Ur(e),maxSize:t})}function Er(e,t={}){const{signed:r}=t;t.size&&Nr(e,{size:t.size});const n=BigInt(e);if(!r)return n;const i=(e.length-2)/2,s=(1n<<BigInt(i)*8n-1n)-1n;return n<=s?n:n-BigInt(`0x${"f".padStart(i*2,"f")}`)-1n}function Xn(e,t={}){return Number(Er(e,t))}function Rs(e,t){return({exclude:r,format:n})=>({exclude:r,format:i=>{const s=t(i);if(r)for(const o of r)delete s[o];return{...s,...n(i)}},type:e})}const Sf={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Us(e){const t={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?Xn(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?Xn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?Sf[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(t.authorizationList=hd(e.authorizationList)),t.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof t.v=="bigint"){if(t.v===0n||t.v===27n)return 0;if(t.v===1n||t.v===28n)return 1;if(t.v>=35n)return t.v%2n===0n?1:0}})(),t.type==="legacy"&&(delete t.accessList,delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas,delete t.yParity),t.type==="eip2930"&&(delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas),t.type==="eip1559"&&delete t.maxFeePerBlobGas,t}const cd=Rs("transaction",Us);function hd(e){return e.map(t=>({contractAddress:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function ld(e){var r;const t=(r=e.transactions)==null?void 0:r.map(n=>typeof n=="string"?n:Us(n));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:t,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const dd=Rs("block",ld);function pd(e,{args:t,eventName:r}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...r?{args:t,eventName:r}:{}}}const yd={"0x0":"reverted","0x1":"success"};function bd(e){const t={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(r=>pd(r)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Xn(e.transactionIndex):null,status:e.status?yd[e.status]:null,type:e.type?Sf[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}const wd=Rs("transactionReceipt",bd),Cs=2n**256n-1n;function xn(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}class Do extends le{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class gd extends le{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class md extends le{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const _d={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new md({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new gd({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Do({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Do({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function Bf(e,{recursiveReadLimit:t=8192}={}){const r=Object.create(_d);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}function nr(e,t="hex"){const r=Pf(e),n=Bf(new Uint8Array(r.length));return r.encode(n),t==="hex"?Wt(n.bytes):n.bytes}function Pf(e){return Array.isArray(e)?Ed(e.map(t=>Pf(t))):vd(e)}function Ed(e){const t=e.reduce((i,s)=>i+s.length,0),r=Tf(t);return{length:t<=55?1+t:1+r+t,encode(i){t<=55?i.pushByte(192+t):(i.pushByte(247+r),r===1?i.pushUint8(t):r===2?i.pushUint16(t):r===3?i.pushUint24(t):i.pushUint32(t));for(const{encode:s}of e)s(i)}}}function vd(e){const t=typeof e=="string"?rr(e):e,r=Tf(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(i){t.length===1&&t[0]<128?i.pushBytes(t):t.length<=55?(i.pushByte(128+t.length),i.pushBytes(t)):(i.pushByte(183+r),r===1?i.pushUint8(t.length):r===2?i.pushUint16(t.length):r===3?i.pushUint24(t.length):i.pushUint32(t.length),i.pushBytes(t))}}}function Tf(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new le("Length is too large.")}const xd={ether:-9,wei:9};function Sd(e,t){let r=e.toString();const n=r.startsWith("-");n&&(r=r.slice(1)),r=r.padStart(t,"0");let[i,s]=[r.slice(0,r.length-t),r.slice(r.length-t)];return s=s.replace(/(0+)$/,""),`${n?"-":""}${i||"0"}${s?`.${s}`:""}`}function us(e,t="wei"){return Sd(e,xd[t])}function Bd(e){const t=Object.entries(e).map(([n,i])=>i===void 0||i===!1?null:[n,i]).filter(Boolean),r=t.reduce((n,[i])=>Math.max(n,i.length),0);return t.map(([n,i])=>` ${`${n}:`.padEnd(r+1)} ${i}`).join(`
|
|
33
|
+
`)}class Pd extends le{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class Td extends le{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Bd(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class Ad extends le{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}function Af(e){const{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),n=typeof e.blobs[0]=="string"?e.blobs.map(s=>rr(s)):e.blobs,i=[];for(const s of n)i.push(Uint8Array.from(t.blobToKzgCommitment(s)));return r==="bytes"?i:i.map(s=>Wt(s))}function If(e){const{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),n=typeof e.blobs[0]=="string"?e.blobs.map(o=>rr(o)):e.blobs,i=typeof e.commitments[0]=="string"?e.commitments.map(o=>rr(o)):e.commitments,s=[];for(let o=0;o<n.length;o++){const f=n[o],c=i[o];s.push(Uint8Array.from(t.computeBlobKzgProof(f,c)))}return r==="bytes"?s:s.map(o=>Wt(o))}function Id(e,t){return va(vn(e,{strict:!1})?vf(e):e)}function Od(e){const{commitment:t,version:r=1}=e,n=e.to??(typeof t=="string"?"hex":"bytes"),i=Id(t);return i.set([r],0),n==="bytes"?i:Wt(i)}function kd(e){const{commitments:t,version:r}=e,n=e.to??(typeof t[0]=="string"?"hex":"bytes"),i=[];for(const s of t)i.push(Od({commitment:s,to:n,version:r}));return i}const jo=6,Of=32,Ls=4096,kf=Of*Ls,Go=kf*jo-1-1*Ls*jo,Rf=1;class Rd extends le{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class Uf extends le{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class Ud extends le{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class Cd extends le{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${Rf}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}function Ld(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?rr(e.data):e.data,n=Ur(r);if(!n)throw new Uf;if(n>Go)throw new Rd({maxSize:Go,size:n});const i=[];let s=!0,o=0;for(;s;){const f=Bf(new Uint8Array(kf));let c=0;for(;c<Ls;){const l=r.slice(o,o+(Of-1));if(f.pushByte(0),f.pushBytes(l),l.length<31){f.pushByte(128),s=!1;break}c++,o+=31}i.push(f)}return t==="bytes"?i.map(f=>f.bytes):i.map(f=>Wt(f.bytes))}function Nd(e){const{data:t,kzg:r,to:n}=e,i=e.blobs??Ld({data:t,to:n}),s=e.commitments??Af({blobs:i,kzg:r,to:n}),o=e.proofs??If({blobs:i,commitments:s,kzg:r,to:n}),f=[];for(let c=0;c<i.length;c++)f.push({blob:i[c],commitment:s[c],proof:o[c]});return f}function Fd(e){if(!e||e.length===0)return[];const t=[];for(const r of e){const{contractAddress:n,chainId:i,nonce:s,...o}=r;t.push([i?J(i):"0x",n,s?J(s):"0x",...Sn({},o)])}return t}class ir extends le{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class mi extends le{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class _i extends le{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${us(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(_i,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Cf extends le{constructor({cause:t,maxPriorityFeePerGas:r,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${us(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${us(n)} gwei`:""}).`].join(`
|
|
34
|
+
`),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(Cf,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class Lf extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}}function Vo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function Md(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function Ns(e,...t){if(!Md(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function Wo(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Hd(e,t){Ns(e);const r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}const Un=BigInt(2**32-1),zo=BigInt(32);function $d(e,t=!1){return t?{h:Number(e&Un),l:Number(e>>zo&Un)}:{h:Number(e>>zo&Un)|0,l:Number(e&Un)|0}}function Dd(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){const{h:s,l:o}=$d(e[i],t);[r[i],n[i]]=[s,o]}return[r,n]}const jd=(e,t,r)=>e<<r|t>>>32-r,Gd=(e,t,r)=>t<<r|e>>>32-r,Vd=(e,t,r)=>t<<r-32|e>>>64-r,Wd=(e,t,r)=>e<<r-32|t>>>64-r;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const zd=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),qo=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,qd=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Ko(e){for(let t=0;t<e.length;t++)e[t]=qd(e[t])}function Kd(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Nf(e){return typeof e=="string"&&(e=Kd(e)),Ns(e),e}class Yd{clone(){return this._cloneInto()}}function Xd(e){const t=n=>e().update(Nf(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}const Ff=[],Mf=[],Hf=[],Jd=BigInt(0),Qr=BigInt(1),Qd=BigInt(2),Zd=BigInt(7),ep=BigInt(256),tp=BigInt(113);for(let e=0,t=Qr,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],Ff.push(2*(5*n+r)),Mf.push((e+1)*(e+2)/2%64);let i=Jd;for(let s=0;s<7;s++)t=(t<<Qr^(t>>Zd)*tp)%ep,t&Qd&&(i^=Qr<<(Qr<<BigInt(s))-Qr);Hf.push(i)}const[rp,np]=Dd(Hf,!0),Yo=(e,t,r)=>r>32?Vd(e,t,r):jd(e,t,r),Xo=(e,t,r)=>r>32?Wd(e,t,r):Gd(e,t,r);function ip(e,t=24){const r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let o=0;o<10;o++)r[o]=e[o]^e[o+10]^e[o+20]^e[o+30]^e[o+40];for(let o=0;o<10;o+=2){const f=(o+8)%10,c=(o+2)%10,l=r[c],d=r[c+1],g=Yo(l,d,1)^r[f],x=Xo(l,d,1)^r[f+1];for(let y=0;y<50;y+=10)e[o+y]^=g,e[o+y+1]^=x}let i=e[2],s=e[3];for(let o=0;o<24;o++){const f=Mf[o],c=Yo(i,s,f),l=Xo(i,s,f),d=Ff[o];i=e[d],s=e[d+1],e[d]=c,e[d+1]=l}for(let o=0;o<50;o+=10){for(let f=0;f<10;f++)r[f]=e[o+f];for(let f=0;f<10;f++)e[o+f]^=~r[(f+2)%10]&r[(f+4)%10]}e[0]^=rp[n],e[1]^=np[n]}r.fill(0)}class Fs extends Yd{constructor(t,r,n,i=!1,s=24){if(super(),this.blockLen=t,this.suffix=r,this.outputLen=n,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Vo(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=zd(this.state)}keccak(){qo||Ko(this.state32),ip(this.state32,this.rounds),qo||Ko(this.state32),this.posOut=0,this.pos=0}update(t){Wo(this);const{blockLen:r,state:n}=this;t=Nf(t);const i=t.length;for(let s=0;s<i;){const o=Math.min(r-this.pos,i-s);for(let f=0;f<o;f++)n[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:r,pos:n,blockLen:i}=this;t[n]^=r,r&128&&n===i-1&&this.keccak(),t[i-1]^=128,this.keccak()}writeInto(t){Wo(this,!1),Ns(t),this.finish();const r=this.state,{blockLen:n}=this;for(let i=0,s=t.length;i<s;){this.posOut>=n&&this.keccak();const o=Math.min(n-this.posOut,s-i);t.set(r.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Vo(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Hd(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:r,suffix:n,outputLen:i,rounds:s,enableXOF:o}=this;return t||(t=new Fs(r,n,i,o,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=n,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}}const sp=(e,t,r)=>Xd(()=>new Fs(t,e,r)),op=sp(1,136,256/8);function ap(e,t){return op(vn(e,{strict:!1})?vf(e):e)}const Ki=new Lf(8192);function fp(e,t){if(Ki.has(`${e}.${t}`))return Ki.get(`${e}.${t}`);const r=e.substring(2).toLowerCase(),n=ap(xf(r)),i=r.split("");for(let o=0;o<40;o+=2)n[o>>1]>>4>=8&&i[o]&&(i[o]=i[o].toUpperCase()),(n[o>>1]&15)>=8&&i[o+1]&&(i[o+1]=i[o+1].toUpperCase());const s=`0x${i.join("")}`;return Ki.set(`${e}.${t}`,s),s}const up=/^0x[a-fA-F0-9]{40}$/,Yi=new Lf(8192);function sr(e,t){const{strict:r=!0}=t??{},n=`${e}.${r}`;if(Yi.has(n))return Yi.get(n);const i=up.test(e)?e.toLowerCase()===e?!0:r?fp(e)===e:!0:!1;return Yi.set(n,i),i}function cp(e,t,r,{strict:n}={}){return vn(e,{strict:!1})?lp(e,t,r,{strict:n}):hp(e,t,r,{strict:n})}function $f(e,t,r){if(Ur(e)!==r-t)throw new ed({offset:r,position:"end",size:Ur(e)})}function hp(e,t,r,{strict:n}={}){const i=e.slice(t,r);return n&&$f(i,t,r),i}function lp(e,t,r,{strict:n}={}){const i=`0x${e.replace("0x","").slice(t*2,r*2)}`;return n&&$f(i,t,r),i}function dp(e){const{authorizationList:t}=e;if(t)for(const r of t){const{contractAddress:n,chainId:i}=r;if(!sr(n))throw new ir({address:n});if(i<0)throw new mi({chainId:i})}Ms(e)}function pp(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Uf;for(const r of t){const n=Ur(r),i=Xn(cp(r,0,1));if(n!==32)throw new Ud({hash:r,size:n});if(i!==Rf)throw new Cd({hash:r,version:i})}}Ms(e)}function Ms(e){const{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:n,to:i}=e;if(t<=0)throw new mi({chainId:t});if(i&&!sr(i))throw new ir({address:i});if(n&&n>Cs)throw new _i({maxFeePerGas:n});if(r&&n&&r>n)throw new Cf({maxFeePerGas:n,maxPriorityFeePerGas:r})}function yp(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(t<=0)throw new mi({chainId:t});if(s&&!sr(s))throw new ir({address:s});if(r||i)throw new le("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>Cs)throw new _i({maxFeePerGas:n})}function bp(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(s&&!sr(s))throw new ir({address:s});if(typeof t<"u"&&t<=0)throw new mi({chainId:t});if(r||i)throw new le("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>Cs)throw new _i({maxFeePerGas:n})}function wp(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new Td({transaction:e})}function Ei(e){if(!e||e.length===0)return[];const t=[];for(let r=0;r<e.length;r++){const{address:n,storageKeys:i}=e[r];for(let s=0;s<i.length;s++)if(i[s].length-2!==64)throw new Ad({storageKey:i[s]});if(!sr(n,{strict:!1}))throw new ir({address:n});t.push([n,i])}return t}function gp(e,t){const r=wp(e);return r==="eip1559"?Ep(e,t):r==="eip2930"?vp(e,t):r==="eip4844"?_p(e,t):r==="eip7702"?mp(e,t):xp(e,t)}function mp(e,t){const{authorizationList:r,chainId:n,gas:i,nonce:s,to:o,value:f,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:d,data:g}=e;dp(e);const x=Ei(d),y=Fd(r);return xn(["0x04",nr([J(n),s?J(s):"0x",l?J(l):"0x",c?J(c):"0x",i?J(i):"0x",o??"0x",f?J(f):"0x",g??"0x",x,y,...Sn(e,t)])])}function _p(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerBlobGas:f,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:d,data:g}=e;pp(e);let x=e.blobVersionedHashes,y=e.sidecars;if(e.blobs&&(typeof x>"u"||typeof y>"u")){const _=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(v=>Wt(v)),m=e.kzg,S=Af({blobs:_,kzg:m});if(typeof x>"u"&&(x=kd({commitments:S})),typeof y>"u"){const v=If({blobs:_,commitments:S,kzg:m});y=Nd({blobs:_,commitments:S,proofs:v})}}const O=Ei(d),B=[J(r),i?J(i):"0x",l?J(l):"0x",c?J(c):"0x",n?J(n):"0x",s??"0x",o?J(o):"0x",g??"0x",O,f?J(f):"0x",x??[],...Sn(e,t)],A=[],k=[],U=[];if(y)for(let _=0;_<y.length;_++){const{blob:m,commitment:S,proof:v}=y[_];A.push(m),k.push(S),U.push(v)}return xn(["0x03",nr(y?[B,A,k,U]:B)])}function Ep(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerGas:f,maxPriorityFeePerGas:c,accessList:l,data:d}=e;Ms(e);const g=Ei(l),x=[J(r),i?J(i):"0x",c?J(c):"0x",f?J(f):"0x",n?J(n):"0x",s??"0x",o?J(o):"0x",d??"0x",g,...Sn(e,t)];return xn(["0x02",nr(x)])}function vp(e,t){const{chainId:r,gas:n,data:i,nonce:s,to:o,value:f,accessList:c,gasPrice:l}=e;yp(e);const d=Ei(c),g=[J(r),s?J(s):"0x",l?J(l):"0x",n?J(n):"0x",o??"0x",f?J(f):"0x",i??"0x",d,...Sn(e,t)];return xn(["0x01",nr(g)])}function xp(e,t){const{chainId:r=0,gas:n,data:i,nonce:s,to:o,value:f,gasPrice:c}=e;bp(e);let l=[s?J(s):"0x",c?J(c):"0x",n?J(n):"0x",o??"0x",f?J(f):"0x",i??"0x"];if(t){const d=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+t.v-27n);const y=27n+(t.v===27n?0n:1n);if(t.v!==y)throw new Pd({v:t.v});return y})(),g=Yn(t.r),x=Yn(t.s);l=[...l,J(d),g==="0x00"?"0x":g,x==="0x00"?"0x":x]}else r>0&&(l=[...l,J(r),"0x","0x"]);return nr(l)}function Sn(e,t){const r=t??e,{v:n,yParity:i}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof n>"u"&&typeof i>"u")return[];const s=Yn(r.r),o=Yn(r.s);return[typeof i=="number"?i?J(1):"0x":n===0n?"0x":n===1n?J(1):n===27n?"0x":J(1),s==="0x00"?"0x":s,o==="0x00"?"0x":o]}const Sp={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},Bp={block:dd({format(e){var r;return{transactions:(r=e.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const i=Us(n);return i.typeHex==="0x7e"&&(i.isSystemTx=n.isSystemTx,i.mint=n.mint?Er(n.mint):void 0,i.sourceHash=n.sourceHash,i.type="deposit"),i}),stateRoot:e.stateRoot}}}),transaction:cd({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Er(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:wd({format(e){return{l1GasPrice:e.l1GasPrice?Er(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Er(e.l1GasUsed):null,l1Fee:e.l1Fee?Er(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function Pp(e,t){return Ip(e)?Ap(e):gp(e,t)}const Tp={transaction:Pp};function Ap(e){Op(e);const{sourceHash:t,data:r,from:n,gas:i,isSystemTx:s,mint:o,to:f,value:c}=e,l=[t,n,f??"0x",o?J(o):"0x",c?J(c):"0x",i?J(i):"0x",s?"0x1":"0x",r??"0x"];return xn(["0x7e",nr(l)])}function Ip(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function Op(e){const{from:t,to:r}=e;if(t&&!sr(t))throw new ir({address:t});if(r&&!sr(r))throw new ir({address:r})}const Jn={contracts:Sp,formatters:Bp,serializers:Tp},kp=cr({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),Rp=cr({id:421614,name:"Arbitrum Sepolia",nativeCurrency:{name:"Arbitrum Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://sepolia.arbiscan.io",apiUrl:"https://api-sepolia.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:81930}},testnet:!0}),Zr=1,Up=cr({...Jn,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...Jn.contracts,disputeGameFactory:{[Zr]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Zr]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Zr]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Zr]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:Zr}),en=11155111,Cp=cr({...Jn,id:84532,network:"base-sepolia",name:"Base Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://sepolia.basescan.org",apiUrl:"https://api-sepolia.basescan.org/api"}},contracts:{...Jn.contracts,disputeGameFactory:{[en]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[en]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[en]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[en]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:en}),Lp=cr({id:80084,name:"Berachain bArtio",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:109269}},rpcUrls:{default:{http:["https://bartio.rpc.berachain.com"]}},blockExplorers:{default:{name:"Berachain bArtio Beratrail",url:"https://bartio.beratrail.io"}},testnet:!0}),Np=cr({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://cloudflare-eth.com"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xce01f8eee7E479C928F8919abD53E553a36CeF67",blockCreated:19258213},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),Fp=cr({id:11155111,name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.drpc.org"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xc8Af999e38273D658BE1b921b88A9Ddf005769cC",blockCreated:5317080}},testnet:!0}),Mp={...Fp,rpcUrls:{default:{http:["https://ethereum-sepolia-rpc.publicnode.com"]}}},Df=lt.defineChain({id:5115,name:"Citrea Testnet",nativeCurrency:{name:"",symbol:"cBTC",decimals:18},rpcUrls:{default:{http:["https://rpc.testnet.citrea.xyz"]}},blockExplorers:{default:{name:"Citrea Explorer",url:"https://explorer.testnet.citrea.xyz",apiUrl:"https://explorer.testnet.citrea.xyz/api/v2/"}},testnet:!0}),jf={ethereum:Np,arbitrum:kp,ethereum_sepolia:Mp,arbitrum_sepolia:Rp,ethereum_localnet:ce.EthereumLocalnet,arbitrum_localnet:ce.ArbitrumLocalnet,base_sepolia:Cp,base:Up,bera_testnet:Lp,citrea_testnet:Df},Hp=async(e,t)=>{var n;const r=jf[e];if(r)try{if(r.id===((n=t.chain)==null?void 0:n.id))return N.Ok({message:"Already on the network",walletClient:t});await t.switchChain({id:r.id});const i=lt.createWalletClient({account:t.account,chain:r,transport:lt.custom(window.ethereum)});return N.Ok({message:"Switched chain",walletClient:i})}catch(i){if($p(i))try{await t.addChain({chain:r});const s=lt.createWalletClient({account:t.account,chain:r,transport:lt.custom(window.ethereum)});return N.Ok({message:"Added network",walletClient:s})}catch{return N.Err("Failed to add network")}else return N.Err("Failed to switch network")}else return N.Err("Chain not supported")},$p=e=>typeof e=="object"&&e!==null&&"code"in e&&e.code===4902;exports.BlockNumberFetcher=ka;exports.EvmRelay=ta;exports.Garden=J0;exports.OrderActions=Pe;exports.OrderStatus=he;exports.ParseOrderStatus=hs;exports.ParseSwapStatus=Ji;exports.Quote=Ra;exports.SecretManager=ln;exports.SwapStatus=we;exports.citreaTestnet=Df;exports.constructOrderPair=Zo;exports.evmToViemChainMap=jf;exports.filterDeadlineExpiredOrders=eu;exports.isExpired=fn;exports.parseAction=Zf;exports.parseActionFromStatus=ls;exports.switchOrAddNetwork=Hp;exports.validateBTCAddress=Jf;
|