@gardenfi/core 2.0.18 → 2.0.19

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 CHANGED
@@ -1,12 +1,12 @@
1
- "use strict";var au=Object.defineProperty;var fu=(e,t,r)=>t in e?au(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var _r=(e,t,r)=>fu(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const le=require("@gardenfi/orderbook"),pe=require("@gardenfi/utils"),Ur=require("@catalogfi/wallets"),St=require("viem"),pa=require("varuint-bitcoin"),uu=require("tiny-secp256k1"),ya=require("bitcoinjs-lib"),cu=require("bignumber.js");function Ts(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 no=Ts(pa),or=Ts(uu),re=Ts(ya);var ba=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},Ui=(e,t,r)=>(ba(e,t,"read from private field"),r?r.call(e):t.get(e)),Ci=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},Li=(e,t,r,n)=>(ba(e,t,"write to private field"),t.set(e,r),r);const hu=e=>new Promise(t=>setTimeout(t,e));class lu{constructor(t,r){this.maxRetries=Math.max(t,0),this.delay=r}async retry(t){let r=0,n;for(;r<this.maxRetries+1;)try{return await t()}catch(i){r++,n=i,await hu(this.delay*r)}throw n}}const du=e=>{try{return JSON.parse(e)}catch{return e}};class nr{static async _postWithFallback(t,r){let n="";for(const i of t)try{const s=await fetch(i,{method:"POST",...r});if(s.status>=500){n=await(s.text()||s.json());continue}return await this.parse(s)}catch(s){n=io(s);continue}throw new Error(n||"All APIs failed")}static async postWithFallback(t,r){return await kn(r).retry(()=>this._postWithFallback(t,r))}static async _getWithFallback(t,r){let n="";for(const i of t)try{const s=await fetch(i,r);if(s.status>=500){n=await(s.text()||s.json());continue}return await this.parse(s)}catch(s){n=io(s);continue}throw new Error(n||"All APIs failed")}static async getWithFallback(t,r){return await kn(r).retry(()=>this._getWithFallback(t,r))}static async _get(t,r){return await this.parse(await fetch(t,r))}static async get(t,r){return await kn(r).retry(()=>this._get(t,r))}static async _post(t,r){return await this.parse(await fetch(t,{method:"POST",...r}))}static async post(t,r){return await kn(r).retry(()=>this._post(t,r))}static async parse(t){const r=await t.text();if(t.status>=200&&t.status<300)return du(r);throw new Error(r)}}function io(e){return(e==null?void 0:e.message)||(e==null?void 0:e.toString())||"unknown error"}const kn=e=>new lu((e==null?void 0:e.retryCount)??2,(e==null?void 0:e.retryDelay)??1e3),rr=e=>e.startsWith("0x")?e.slice(2):e;var $n,jn,Gn;let hs=class{constructor(t,r,n=void 0){Ci(this,$n,void 0),Ci(this,jn,void 0),Ci(this,Gn,void 0),Li(this,$n,t),Li(this,Gn,n),Li(this,jn,r)}get ok(){return Ui(this,$n)}get error(){return Ui(this,Gn)}get val(){return Ui(this,jn)}};$n=new WeakMap,jn=new WeakMap,Gn=new WeakMap;const ne=e=>new hs(!0,e),j=(e,...t)=>{if(typeof e=="string"&&t&&t.length>0){let r=[e,...t].map(n=>{if(n){if(n instanceof Error)return n.message;if(typeof n=="string")return n;if(n!=null&&n.toString)return n.toString()}});return new hs(!1,null,r.filter(n=>n!==void 0).join(" "))}return new hs(!1,null,e)};var Ne=(e=>(e.Idle="Idle",e.Initiate="Initiate",e.Redeem="Redeem",e.Refund="Refund",e))(Ne||{});function ls(e){return typeof e=="string"&&(e=Buffer.from(e,"hex")),e.length===32?e:e.subarray(1,33)}function Zt(e,t){if(!e)throw new Error(t)}function pu(e){return Buffer.concat([Uint8Array.from([192]),yu(e)])}function yu(e){const t=no.encodingLength(e.length),r=Buffer.allocUnsafe(t);return no.encode(e.length,r),Buffer.concat([r,e])}function bu(e,t){if(e.compare(t)>0){const r=e;e=t,t=r}return[e,t]}const er=e=>e.length===64?e:e.slice(2),wu=e=>{if(!e)return!1;try{const t=Buffer.from(e,"hex");return or.isPoint(t)}catch{return!1}},wa=(e,t,r,n)=>e+":"+t.toLowerCase()+"::"+r+":"+n.toLowerCase();function gu(e,t){if(!e)return!1;const r=t===pe.Environment.MAINNET?re.networks.bitcoin:t===pe.Environment.TESTNET?re.networks.testnet:re.networks.regtest;if(!r)return!1;re.initEccLib(or);try{return re.address.toOutputScript(e,r),!0}catch{return!1}}const mu=e=>{switch(e){case pe.Environment.MAINNET:return Ur.BitcoinNetwork.Mainnet;case pe.Environment.TESTNET:return Ur.BitcoinNetwork.Testnet;default:throw new Error(`Invalid bitcoin network ${e}`)}};var de=(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))(de||{}),me=(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))(me||{});const As=(e,t,r)=>{const n=ds(e.source_swap,t),i=ds(e.destination_swap,r);if(i===me.RedeemDetected)return de.RedeemDetected;if(i===me.Redeemed)return de.Redeemed;if(n===me.Refunded)return de.Refunded;if(n===me.RefundDetected)return de.RefundDetected;if(i===me.Expired)return de.CounterPartySwapExpired;if(n===me.Expired)return de.Expired;if(i===me.Refunded)return de.CounterPartyRefunded;if(i===me.RefundDetected)return de.CounterPartyRefundDetected;const s=Number(e.create_order.additional_data.deadline);return i===me.Initiated?de.CounterPartyInitiated:i===me.InitiateDetected?de.CounterPartyInitiateDetected:pn(s,12)?de.DeadLineExceeded:n===me.Initiated?de.Initiated:pn(s,1)?de.DeadLineExceeded:n===me.InitiateDetected?de.InitiateDetected:n===me.Redeemed?de.CounterPartyRedeemed:n===me.RedeemDetected?de.CounterPartyRedeemDetected:de.Matched},ds=(e,t)=>{if(e.redeem_tx_hash)return Number(e.redeem_block_number)?me.Redeemed:me.RedeemDetected;if(e.refund_tx_hash)return Number(e.refund_block_number)?me.Refunded:me.RefundDetected;if(Number(e.initiate_block_number)){const r=Number(e.initiate_block_number)+e.timelock;if(t>r)return me.Expired}return e.initiate_tx_hash?Number(e.initiate_block_number)?me.Initiated:me.InitiateDetected:me.Idle},_u=(e,t,r)=>{const n=As(e,t,r);return Is(n)},Is=e=>{switch(e){case de.Matched:return Ne.Initiate;case de.CounterPartyInitiated:case de.CounterPartyInitiateDetected:case de.RedeemDetected:return Ne.Redeem;case de.Expired:return Ne.Refund;default:return Ne.Idle}},pn=(e,t=0)=>{const r=Date.now(),n=e*1e3+t*36e5;return r>=n},vu=e=>e.filter(t=>!ga(t)),ga=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)?pn(Number(s),12):n?!1:pn(Number(s),1)},Eu=[{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 ma{constructor(t,r){this.url=new pe.Url("/relayer",t),this.auth=r}async init(t,r){if(!t.account)return j("No account found");if(t.account.address.toLowerCase()!==r.source_swap.initiator.toLowerCase())return j("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 j("Invalid order");const s=pe.with0x(n.secret_hash),o=BigInt(n.timelock),a=pe.with0x(i.redeemer),c=BigInt(i.amount);try{const l=await this.auth.getAuthHeaders();if(l.error)return j(l.error);const d=St.getContract({address:pe.with0x(r.source_swap.asset),abi:Eu,client:t}),p=await d.read.token(),_=await pe.checkAllowanceAndApprove(Number(c),p,r.source_swap.asset,t);if(_.error)return j(_.error);const y=await d.read.eip712Domain(),I=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:a,timelock:o,amount:c,secretHash:s}}),B={...l.val,"Content-Type":"application/json"},A=await nr.post(this.url.endpoint("initiate"),{body:JSON.stringify({order_id:n.create_id,signature:I,perform_on:"Source"}),headers:B});return A.error?j(A.error):A.result?ne(A.result):j("Init: No result found")}catch(l){return console.log("init error :",l),j(String(l))}}async redeem(t,r){try{const n=await this.auth.getAuthHeaders();if(n.error)return j(n.error);const i=await nr.post(this.url.endpoint("redeem"),{body:JSON.stringify({order_id:t,secret:rr(r),perform_on:"Destination"}),headers:{...n.val,"Content-Type":"application/json"}});return i.error?j(i.error):i.result?ne(i.result):j("Redeem: No result found")}catch(n){return j(String(n))}}}const xu=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),Su=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),Bu=Buffer.concat([xu,Su]),Pu=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),so={failedToCreateInternalPubkey:"failed to create internal pubkey",failedToTweakPubkey:"failed to tweak pubkey"};function Tu(){const e=ya.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),t=or.pointMultiply(Buffer.concat([Buffer.from("04","hex"),Bu]),e);if(!t)throw new Error(so.failedToCreateInternalPubkey);const r=or.pointAdd(Pu,t);if(!r)throw new Error(so.failedToCreateInternalPubkey);return ls(Buffer.from(r))}var Vt=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 Iu(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 _e={},He={},Ot={},ui={};ui.byteLength=Ru;ui.toByteArray=Cu;ui.fromByteArray=Fu;var dt=[],Ze=[],Ou=typeof Uint8Array<"u"?Uint8Array:Array,Ni="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var vr=0,ku=Ni.length;vr<ku;++vr)dt[vr]=Ni[vr],Ze[Ni.charCodeAt(vr)]=vr;Ze[45]=62;Ze[95]=63;function _a(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 Ru(e){var t=_a(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Uu(e,t,r){return(t+r)*3/4-r}function Cu(e){var t,r=_a(e),n=r[0],i=r[1],s=new Ou(Uu(e,n,i)),o=0,a=i>0?n-4:n,c;for(c=0;c<a;c+=4)t=Ze[e.charCodeAt(c)]<<18|Ze[e.charCodeAt(c+1)]<<12|Ze[e.charCodeAt(c+2)]<<6|Ze[e.charCodeAt(c+3)],s[o++]=t>>16&255,s[o++]=t>>8&255,s[o++]=t&255;return i===2&&(t=Ze[e.charCodeAt(c)]<<2|Ze[e.charCodeAt(c+1)]>>4,s[o++]=t&255),i===1&&(t=Ze[e.charCodeAt(c)]<<10|Ze[e.charCodeAt(c+1)]<<4|Ze[e.charCodeAt(c+2)]>>2,s[o++]=t>>8&255,s[o++]=t&255),s}function Lu(e){return dt[e>>18&63]+dt[e>>12&63]+dt[e>>6&63]+dt[e&63]}function Nu(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(Lu(n));return i.join("")}function Fu(e){for(var t,r=e.length,n=r%3,i=[],s=16383,o=0,a=r-n;o<a;o+=s)i.push(Nu(e,o,o+s>a?a:o+s));return n===1?(t=e[r-1],i.push(dt[t>>2]+dt[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(dt[t>>10]+dt[t>>4&63]+dt[t<<2&63]+"=")),i.join("")}var Os={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */Os.read=function(e,t,r,n,i){var s,o,a=i*8-n-1,c=(1<<a)-1,l=c>>1,d=-7,p=r?i-1:0,_=r?-1:1,y=e[t+p];for(p+=_,s=y&(1<<-d)-1,y>>=-d,d+=a;d>0;s=s*256+e[t+p],p+=_,d-=8);for(o=s&(1<<-d)-1,s>>=-d,d+=n;d>0;o=o*256+e[t+p],p+=_,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)};Os.write=function(e,t,r,n,i,s){var o,a,c,l=s*8-i-1,d=(1<<l)-1,p=d>>1,_=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,y=n?0:s-1,I=n?1:-1,B=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=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+p>=1?t+=_/c:t+=_*Math.pow(2,1-p),t*c>=2&&(o++,c/=2),o+p>=d?(a=0,o=d):o+p>=1?(a=(t*c-1)*Math.pow(2,i),o=o+p):(a=t*Math.pow(2,p-1)*Math.pow(2,i),o=0));i>=8;e[r+y]=a&255,y+=I,a/=256,i-=8);for(o=o<<i|a,l+=i;l>0;e[r+y]=o&255,y+=I,o/=256,l-=8);e[r+y-I]|=B*128};/*!
1
+ "use strict";var au=Object.defineProperty;var fu=(e,t,r)=>t in e?au(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var _r=(e,t,r)=>fu(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const le=require("@gardenfi/orderbook"),pe=require("@gardenfi/utils"),Ur=require("@catalogfi/wallets"),St=require("viem"),pa=require("varuint-bitcoin"),uu=require("tiny-secp256k1"),ya=require("bitcoinjs-lib"),cu=require("bignumber.js");function Ps(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 no=Ps(pa),or=Ps(uu),re=Ps(ya);var ba=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},Ui=(e,t,r)=>(ba(e,t,"read from private field"),r?r.call(e):t.get(e)),Ci=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},Li=(e,t,r,n)=>(ba(e,t,"write to private field"),t.set(e,r),r);const hu=e=>new Promise(t=>setTimeout(t,e));class lu{constructor(t,r){this.maxRetries=Math.max(t,0),this.delay=r}async retry(t){let r=0,n;for(;r<this.maxRetries+1;)try{return await t()}catch(i){r++,n=i,await hu(this.delay*r)}throw n}}const du=e=>{try{return JSON.parse(e)}catch{return e}};class nr{static async _postWithFallback(t,r){let n="";for(const i of t)try{const s=await fetch(i,{method:"POST",...r});if(s.status>=500){n=await(s.text()||s.json());continue}return await this.parse(s)}catch(s){n=io(s);continue}throw new Error(n||"All APIs failed")}static async postWithFallback(t,r){return await kn(r).retry(()=>this._postWithFallback(t,r))}static async _getWithFallback(t,r){let n="";for(const i of t)try{const s=await fetch(i,r);if(s.status>=500){n=await(s.text()||s.json());continue}return await this.parse(s)}catch(s){n=io(s);continue}throw new Error(n||"All APIs failed")}static async getWithFallback(t,r){return await kn(r).retry(()=>this._getWithFallback(t,r))}static async _get(t,r){return await this.parse(await fetch(t,r))}static async get(t,r){return await kn(r).retry(()=>this._get(t,r))}static async _post(t,r){return await this.parse(await fetch(t,{method:"POST",...r}))}static async post(t,r){return await kn(r).retry(()=>this._post(t,r))}static async parse(t){const r=await t.text();if(t.status>=200&&t.status<300)return du(r);throw new Error(r)}}function io(e){return(e==null?void 0:e.message)||(e==null?void 0:e.toString())||"unknown error"}const kn=e=>new lu((e==null?void 0:e.retryCount)??2,(e==null?void 0:e.retryDelay)??1e3),rr=e=>e.startsWith("0x")?e.slice(2):e;var $n,jn,Gn;let hs=class{constructor(t,r,n=void 0){Ci(this,$n,void 0),Ci(this,jn,void 0),Ci(this,Gn,void 0),Li(this,$n,t),Li(this,Gn,n),Li(this,jn,r)}get ok(){return Ui(this,$n)}get error(){return Ui(this,Gn)}get val(){return Ui(this,jn)}};$n=new WeakMap,jn=new WeakMap,Gn=new WeakMap;const ne=e=>new hs(!0,e),j=(e,...t)=>{if(typeof e=="string"&&t&&t.length>0){let r=[e,...t].map(n=>{if(n){if(n instanceof Error)return n.message;if(typeof n=="string")return n;if(n!=null&&n.toString)return n.toString()}});return new hs(!1,null,r.filter(n=>n!==void 0).join(" "))}return new hs(!1,null,e)};var Ne=(e=>(e.Idle="Idle",e.Initiate="Initiate",e.Redeem="Redeem",e.Refund="Refund",e))(Ne||{});function ls(e){return typeof e=="string"&&(e=Buffer.from(e,"hex")),e.length===32?e:e.subarray(1,33)}function Zt(e,t){if(!e)throw new Error(t)}function pu(e){return Buffer.concat([Uint8Array.from([192]),yu(e)])}function yu(e){const t=no.encodingLength(e.length),r=Buffer.allocUnsafe(t);return no.encode(e.length,r),Buffer.concat([r,e])}function bu(e,t){if(e.compare(t)>0){const r=e;e=t,t=r}return[e,t]}const er=e=>e.length===64?e:e.slice(2),wu=e=>{if(!e)return!1;try{const t=Buffer.from(e,"hex");return or.isPoint(t)}catch{return!1}},wa=(e,t,r,n)=>e+":"+t.toLowerCase()+"::"+r+":"+n.toLowerCase();function gu(e,t){if(!e)return!1;const r=t===pe.Environment.MAINNET?re.networks.bitcoin:t===pe.Environment.TESTNET?re.networks.testnet:re.networks.regtest;if(!r)return!1;re.initEccLib(or);try{return re.address.toOutputScript(e,r),!0}catch{return!1}}const mu=e=>{switch(e){case pe.Environment.MAINNET:return Ur.BitcoinNetwork.Mainnet;case pe.Environment.TESTNET:return Ur.BitcoinNetwork.Testnet;default:throw new Error(`Invalid bitcoin network ${e}`)}};var de=(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))(de||{}),me=(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))(me||{});const As=(e,t,r)=>{const n=ds(e.source_swap,t),i=ds(e.destination_swap,r);if(i===me.RedeemDetected)return de.RedeemDetected;if(i===me.Redeemed)return de.Redeemed;if(n===me.Refunded)return de.Refunded;if(n===me.RefundDetected)return de.RefundDetected;if(i===me.Expired)return de.CounterPartySwapExpired;if(n===me.Expired)return de.Expired;if(i===me.Refunded)return de.CounterPartyRefunded;if(i===me.RefundDetected)return de.CounterPartyRefundDetected;const s=Number(e.create_order.additional_data.deadline);return i===me.Initiated?de.CounterPartyInitiated:i===me.InitiateDetected?de.CounterPartyInitiateDetected:pn(s,12)?de.DeadLineExceeded:n===me.Initiated?de.Initiated:pn(s,1)?de.DeadLineExceeded:n===me.InitiateDetected?de.InitiateDetected:n===me.Redeemed?de.CounterPartyRedeemed:n===me.RedeemDetected?de.CounterPartyRedeemDetected:de.Matched},ds=(e,t)=>{if(e.redeem_tx_hash)return Number(e.redeem_block_number)?me.Redeemed:me.RedeemDetected;if(e.refund_tx_hash)return Number(e.refund_block_number)?me.Refunded:me.RefundDetected;if(Number(e.initiate_block_number)){const r=Number(e.initiate_block_number)+e.timelock;if(t>r)return me.Expired}return e.initiate_tx_hash?Number(e.initiate_block_number)?me.Initiated:me.InitiateDetected:me.Idle},_u=(e,t,r)=>{const n=As(e,t,r);return Is(n)},Is=e=>{switch(e){case de.Matched:return Ne.Initiate;case de.CounterPartyInitiated:case de.CounterPartyInitiateDetected:case de.RedeemDetected:return Ne.Redeem;case de.Expired:return Ne.Refund;default:return Ne.Idle}},pn=(e,t=0)=>{const r=Date.now(),n=e*1e3+t*36e5;return r>=n},vu=e=>e.filter(t=>!ga(t)),ga=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)?pn(Number(s),12):n?!1:pn(Number(s),1)},Eu=[{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 ma{constructor(t,r){this.url=new pe.Url("/relayer",t),this.auth=r}async init(t,r){if(!t.account)return j("No account found");if(t.account.address.toLowerCase()!==r.source_swap.initiator.toLowerCase())return j("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 j("Invalid order");const s=pe.with0x(n.secret_hash),o=BigInt(n.timelock),a=pe.with0x(i.redeemer),c=BigInt(i.amount);try{const l=await this.auth.getAuthHeaders();if(l.error)return j(l.error);const d=St.getContract({address:pe.with0x(r.source_swap.asset),abi:Eu,client:t}),p=await d.read.token(),_=await pe.checkAllowanceAndApprove(Number(c),p,r.source_swap.asset,t);if(_.error)return j(_.error);const y=await d.read.eip712Domain(),I=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:a,timelock:o,amount:c,secretHash:s}}),B={...l.val,"Content-Type":"application/json"},A=await nr.post(this.url.endpoint("initiate"),{body:JSON.stringify({order_id:n.create_id,signature:I,perform_on:"Source"}),headers:B});return A.error?j(A.error):A.result?ne(A.result):j("Init: No result found")}catch(l){return console.log("init error :",l),j(String(l))}}async redeem(t,r){try{const n=await this.auth.getAuthHeaders();if(n.error)return j(n.error);const i=await nr.post(this.url.endpoint("redeem"),{body:JSON.stringify({order_id:t,secret:rr(r),perform_on:"Destination"}),headers:{...n.val,"Content-Type":"application/json"}});return i.error?j(i.error):i.result?ne(i.result):j("Redeem: No result found")}catch(n){return j(String(n))}}}const xu=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),Su=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),Bu=Buffer.concat([xu,Su]),Tu=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),so={failedToCreateInternalPubkey:"failed to create internal pubkey",failedToTweakPubkey:"failed to tweak pubkey"};function Pu(){const e=ya.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),t=or.pointMultiply(Buffer.concat([Buffer.from("04","hex"),Bu]),e);if(!t)throw new Error(so.failedToCreateInternalPubkey);const r=or.pointAdd(Tu,t);if(!r)throw new Error(so.failedToCreateInternalPubkey);return ls(Buffer.from(r))}var Vt=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 Iu(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 _e={},He={},Ot={},ui={};ui.byteLength=Ru;ui.toByteArray=Cu;ui.fromByteArray=Fu;var dt=[],Ze=[],Ou=typeof Uint8Array<"u"?Uint8Array:Array,Ni="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var vr=0,ku=Ni.length;vr<ku;++vr)dt[vr]=Ni[vr],Ze[Ni.charCodeAt(vr)]=vr;Ze[45]=62;Ze[95]=63;function _a(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 Ru(e){var t=_a(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Uu(e,t,r){return(t+r)*3/4-r}function Cu(e){var t,r=_a(e),n=r[0],i=r[1],s=new Ou(Uu(e,n,i)),o=0,a=i>0?n-4:n,c;for(c=0;c<a;c+=4)t=Ze[e.charCodeAt(c)]<<18|Ze[e.charCodeAt(c+1)]<<12|Ze[e.charCodeAt(c+2)]<<6|Ze[e.charCodeAt(c+3)],s[o++]=t>>16&255,s[o++]=t>>8&255,s[o++]=t&255;return i===2&&(t=Ze[e.charCodeAt(c)]<<2|Ze[e.charCodeAt(c+1)]>>4,s[o++]=t&255),i===1&&(t=Ze[e.charCodeAt(c)]<<10|Ze[e.charCodeAt(c+1)]<<4|Ze[e.charCodeAt(c+2)]>>2,s[o++]=t>>8&255,s[o++]=t&255),s}function Lu(e){return dt[e>>18&63]+dt[e>>12&63]+dt[e>>6&63]+dt[e&63]}function Nu(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(Lu(n));return i.join("")}function Fu(e){for(var t,r=e.length,n=r%3,i=[],s=16383,o=0,a=r-n;o<a;o+=s)i.push(Nu(e,o,o+s>a?a:o+s));return n===1?(t=e[r-1],i.push(dt[t>>2]+dt[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(dt[t>>10]+dt[t>>4&63]+dt[t<<2&63]+"=")),i.join("")}var Os={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */Os.read=function(e,t,r,n,i){var s,o,a=i*8-n-1,c=(1<<a)-1,l=c>>1,d=-7,p=r?i-1:0,_=r?-1:1,y=e[t+p];for(p+=_,s=y&(1<<-d)-1,y>>=-d,d+=a;d>0;s=s*256+e[t+p],p+=_,d-=8);for(o=s&(1<<-d)-1,s>>=-d,d+=n;d>0;o=o*256+e[t+p],p+=_,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)};Os.write=function(e,t,r,n,i,s){var o,a,c,l=s*8-i-1,d=(1<<l)-1,p=d>>1,_=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,y=n?0:s-1,I=n?1:-1,B=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=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+p>=1?t+=_/c:t+=_*Math.pow(2,1-p),t*c>=2&&(o++,c/=2),o+p>=d?(a=0,o=d):o+p>=1?(a=(t*c-1)*Math.pow(2,i),o=o+p):(a=t*Math.pow(2,p-1)*Math.pow(2,i),o=0));i>=8;e[r+y]=a&255,y+=I,a/=256,i-=8);for(o=o<<i|a,l+=i;l>0;e[r+y]=o&255,y+=I,o/=256,l-=8);e[r+y-I]|=B*128};/*!
2
2
  * The buffer module from node.js, for the browser.
3
3
  *
4
4
  * @author Feross Aboukhadijeh <https://feross.org>
5
5
  * @license MIT
6
- */(function(e){const t=ui,r=Os,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=a,e.SlowBuffer=U,e.INSPECT_MAX_BYTES=50;const i=2147483647;e.kMaxLength=i,a.TYPED_ARRAY_SUPPORT=s(),!a.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),f={foo:function(){return 42}};return Object.setPrototypeOf(f,Uint8Array.prototype),Object.setPrototypeOf(h,f),h.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function o(h){if(h>i)throw new RangeError('The value "'+h+'" is invalid for option "size"');const f=new Uint8Array(h);return Object.setPrototypeOf(f,a.prototype),f}function a(h,f,u){if(typeof h=="number"){if(typeof f=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return p(h)}return c(h,f,u)}a.poolSize=8192;function c(h,f,u){if(typeof h=="string")return _(h,f);if(ArrayBuffer.isView(h))return I(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(qe(h,ArrayBuffer)||h&&qe(h.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(qe(h,SharedArrayBuffer)||h&&qe(h.buffer,SharedArrayBuffer)))return B(h,f,u);if(typeof h=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const b=h.valueOf&&h.valueOf();if(b!=null&&b!==h)return a.from(b,f,u);const E=A(h);if(E)return E;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof h[Symbol.toPrimitive]=="function")return a.from(h[Symbol.toPrimitive]("string"),f,u);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h)}a.from=function(h,f,u){return c(h,f,u)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,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,f,u){return l(h),h<=0?o(h):f!==void 0?typeof u=="string"?o(h).fill(f,u):o(h).fill(f):o(h)}a.alloc=function(h,f,u){return d(h,f,u)};function p(h){return l(h),o(h<0?0:k(h)|0)}a.allocUnsafe=function(h){return p(h)},a.allocUnsafeSlow=function(h){return p(h)};function _(h,f){if((typeof f!="string"||f==="")&&(f="utf8"),!a.isEncoding(f))throw new TypeError("Unknown encoding: "+f);const u=v(h,f)|0;let b=o(u);const E=b.write(h,f);return E!==u&&(b=b.slice(0,E)),b}function y(h){const f=h.length<0?0:k(h.length)|0,u=o(f);for(let b=0;b<f;b+=1)u[b]=h[b]&255;return u}function I(h){if(qe(h,Uint8Array)){const f=new Uint8Array(h);return B(f.buffer,f.byteOffset,f.byteLength)}return y(h)}function B(h,f,u){if(f<0||h.byteLength<f)throw new RangeError('"offset" is outside of buffer bounds');if(h.byteLength<f+(u||0))throw new RangeError('"length" is outside of buffer bounds');let b;return f===void 0&&u===void 0?b=new Uint8Array(h):u===void 0?b=new Uint8Array(h,f):b=new Uint8Array(h,f,u),Object.setPrototypeOf(b,a.prototype),b}function A(h){if(a.isBuffer(h)){const f=k(h.length)|0,u=o(f);return u.length===0||h.copy(u,0,0,f),u}if(h.length!==void 0)return typeof h.length!="number"||Jt(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),a.alloc(+h)}a.isBuffer=function(f){return f!=null&&f._isBuffer===!0&&f!==a.prototype},a.compare=function(f,u){if(qe(f,Uint8Array)&&(f=a.from(f,f.offset,f.byteLength)),qe(u,Uint8Array)&&(u=a.from(u,u.offset,u.byteLength)),!a.isBuffer(f)||!a.isBuffer(u))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(f===u)return 0;let b=f.length,E=u.length;for(let O=0,L=Math.min(b,E);O<L;++O)if(f[O]!==u[O]){b=f[O],E=u[O];break}return b<E?-1:E<b?1:0},a.isEncoding=function(f){switch(String(f).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}},a.concat=function(f,u){if(!Array.isArray(f))throw new TypeError('"list" argument must be an Array of Buffers');if(f.length===0)return a.alloc(0);let b;if(u===void 0)for(u=0,b=0;b<f.length;++b)u+=f[b].length;const E=a.allocUnsafe(u);let O=0;for(b=0;b<f.length;++b){let L=f[b];if(qe(L,Uint8Array))O+L.length>E.length?(a.isBuffer(L)||(L=a.from(L)),L.copy(E,O)):Uint8Array.prototype.set.call(E,L,O);else if(a.isBuffer(L))L.copy(E,O);else throw new TypeError('"list" argument must be an Array of Buffers');O+=L.length}return E};function v(h,f){if(a.isBuffer(h))return h.length;if(ArrayBuffer.isView(h)||qe(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,b=arguments.length>2&&arguments[2]===!0;if(!b&&u===0)return 0;let E=!1;for(;;)switch(f){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 Wr(h).length;default:if(E)return b?-1:te(h).length;f=(""+f).toLowerCase(),E=!0}}a.byteLength=v;function m(h,f,u){let b=!1;if((f===void 0||f<0)&&(f=0),f>this.length||((u===void 0||u>this.length)&&(u=this.length),u<=0)||(u>>>=0,f>>>=0,u<=f))return"";for(h||(h="utf8");;)switch(h){case"hex":return Ve(this,f,u);case"utf8":case"utf-8":return W(this,f,u);case"ascii":return ue(this,f,u);case"latin1":case"binary":return tt(this,f,u);case"base64":return H(this,f,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return st(this,f,u);default:if(b)throw new TypeError("Unknown encoding: "+h);h=(h+"").toLowerCase(),b=!0}}a.prototype._isBuffer=!0;function S(h,f,u){const b=h[f];h[f]=h[u],h[u]=b}a.prototype.swap16=function(){const f=this.length;if(f%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let u=0;u<f;u+=2)S(this,u,u+1);return this},a.prototype.swap32=function(){const f=this.length;if(f%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let u=0;u<f;u+=4)S(this,u,u+3),S(this,u+1,u+2);return this},a.prototype.swap64=function(){const f=this.length;if(f%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let u=0;u<f;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},a.prototype.toString=function(){const f=this.length;return f===0?"":arguments.length===0?W(this,0,f):m.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(f){if(!a.isBuffer(f))throw new TypeError("Argument must be a Buffer");return this===f?!0:a.compare(this,f)===0},a.prototype.inspect=function(){let f="";const u=e.INSPECT_MAX_BYTES;return f=this.toString("hex",0,u).replace(/(.{2})/g,"$1 ").trim(),this.length>u&&(f+=" ... "),"<Buffer "+f+">"},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(f,u,b,E,O){if(qe(f,Uint8Array)&&(f=a.from(f,f.offset,f.byteLength)),!a.isBuffer(f))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof f);if(u===void 0&&(u=0),b===void 0&&(b=f?f.length:0),E===void 0&&(E=0),O===void 0&&(O=this.length),u<0||b>f.length||E<0||O>this.length)throw new RangeError("out of range index");if(E>=O&&u>=b)return 0;if(E>=O)return-1;if(u>=b)return 1;if(u>>>=0,b>>>=0,E>>>=0,O>>>=0,this===f)return 0;let L=O-E,Q=b-u;const ve=Math.min(L,Q),ge=this.slice(E,O),Ee=f.slice(u,b);for(let se=0;se<ve;++se)if(ge[se]!==Ee[se]){L=ge[se],Q=Ee[se];break}return L<Q?-1:Q<L?1:0};function x(h,f,u,b,E){if(h.length===0)return-1;if(typeof u=="string"?(b=u,u=0):u>2147483647?u=2147483647:u<-2147483648&&(u=-2147483648),u=+u,Jt(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 f=="string"&&(f=a.from(f,b)),a.isBuffer(f))return f.length===0?-1:M(h,f,u,b,E);if(typeof f=="number")return f=f&255,typeof Uint8Array.prototype.indexOf=="function"?E?Uint8Array.prototype.indexOf.call(h,f,u):Uint8Array.prototype.lastIndexOf.call(h,f,u):M(h,[f],u,b,E);throw new TypeError("val must be string, number or Buffer")}function M(h,f,u,b,E){let O=1,L=h.length,Q=f.length;if(b!==void 0&&(b=String(b).toLowerCase(),b==="ucs2"||b==="ucs-2"||b==="utf16le"||b==="utf-16le")){if(h.length<2||f.length<2)return-1;O=2,L/=2,Q/=2,u/=2}function ve(Ee,se){return O===1?Ee[se]:Ee.readUInt16BE(se*O)}let ge;if(E){let Ee=-1;for(ge=u;ge<L;ge++)if(ve(h,ge)===ve(f,Ee===-1?0:ge-Ee)){if(Ee===-1&&(Ee=ge),ge-Ee+1===Q)return Ee*O}else Ee!==-1&&(ge-=ge-Ee),Ee=-1}else for(u+Q>L&&(u=L-Q),ge=u;ge>=0;ge--){let Ee=!0;for(let se=0;se<Q;se++)if(ve(h,ge+se)!==ve(f,se)){Ee=!1;break}if(Ee)return ge}return-1}a.prototype.includes=function(f,u,b){return this.indexOf(f,u,b)!==-1},a.prototype.indexOf=function(f,u,b){return x(this,f,u,b,!0)},a.prototype.lastIndexOf=function(f,u,b){return x(this,f,u,b,!1)};function $(h,f,u,b){u=Number(u)||0;const E=h.length-u;b?(b=Number(b),b>E&&(b=E)):b=E;const O=f.length;b>O/2&&(b=O/2);let L;for(L=0;L<b;++L){const Q=parseInt(f.substr(L*2,2),16);if(Jt(Q))return L;h[u+L]=Q}return L}function R(h,f,u,b){return mr(te(f,h.length-u),h,u,b)}function z(h,f,u,b){return mr(Rt(f),h,u,b)}function Z(h,f,u,b){return mr(Wr(f),h,u,b)}function C(h,f,u,b){return mr(gr(f,h.length-u),h,u,b)}a.prototype.write=function(f,u,b,E){if(u===void 0)E="utf8",b=this.length,u=0;else if(b===void 0&&typeof u=="string")E=u,b=this.length,u=0;else if(isFinite(u))u=u>>>0,isFinite(b)?(b=b>>>0,E===void 0&&(E="utf8")):(E=b,b=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const O=this.length-u;if((b===void 0||b>O)&&(b=O),f.length>0&&(b<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 $(this,f,u,b);case"utf8":case"utf-8":return R(this,f,u,b);case"ascii":case"latin1":case"binary":return z(this,f,u,b);case"base64":return Z(this,f,u,b);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,f,u,b);default:if(L)throw new TypeError("Unknown encoding: "+E);E=(""+E).toLowerCase(),L=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function H(h,f,u){return f===0&&u===h.length?t.fromByteArray(h):t.fromByteArray(h.slice(f,u))}function W(h,f,u){u=Math.min(h.length,u);const b=[];let E=f;for(;E<u;){const O=h[E];let L=null,Q=O>239?4:O>223?3:O>191?2:1;if(E+Q<=u){let ve,ge,Ee,se;switch(Q){case 1:O<128&&(L=O);break;case 2:ve=h[E+1],(ve&192)===128&&(se=(O&31)<<6|ve&63,se>127&&(L=se));break;case 3:ve=h[E+1],ge=h[E+2],(ve&192)===128&&(ge&192)===128&&(se=(O&15)<<12|(ve&63)<<6|ge&63,se>2047&&(se<55296||se>57343)&&(L=se));break;case 4:ve=h[E+1],ge=h[E+2],Ee=h[E+3],(ve&192)===128&&(ge&192)===128&&(Ee&192)===128&&(se=(O&15)<<18|(ve&63)<<12|(ge&63)<<6|Ee&63,se>65535&&se<1114112&&(L=se))}}L===null?(L=65533,Q=1):L>65535&&(L-=65536,b.push(L>>>10&1023|55296),L=56320|L&1023),b.push(L),E+=Q}return fe(b)}const q=4096;function fe(h){const f=h.length;if(f<=q)return String.fromCharCode.apply(String,h);let u="",b=0;for(;b<f;)u+=String.fromCharCode.apply(String,h.slice(b,b+=q));return u}function ue(h,f,u){let b="";u=Math.min(h.length,u);for(let E=f;E<u;++E)b+=String.fromCharCode(h[E]&127);return b}function tt(h,f,u){let b="";u=Math.min(h.length,u);for(let E=f;E<u;++E)b+=String.fromCharCode(h[E]);return b}function Ve(h,f,u){const b=h.length;(!f||f<0)&&(f=0),(!u||u<0||u>b)&&(u=b);let E="";for(let O=f;O<u;++O)E+=Vr[h[O]];return E}function st(h,f,u){const b=h.slice(f,u);let E="";for(let O=0;O<b.length-1;O+=2)E+=String.fromCharCode(b[O]+b[O+1]*256);return E}a.prototype.slice=function(f,u){const b=this.length;f=~~f,u=u===void 0?b:~~u,f<0?(f+=b,f<0&&(f=0)):f>b&&(f=b),u<0?(u+=b,u<0&&(u=0)):u>b&&(u=b),u<f&&(u=f);const E=this.subarray(f,u);return Object.setPrototypeOf(E,a.prototype),E};function be(h,f,u){if(h%1!==0||h<0)throw new RangeError("offset is not uint");if(h+f>u)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(f,u,b){f=f>>>0,u=u>>>0,b||be(f,u,this.length);let E=this[f],O=1,L=0;for(;++L<u&&(O*=256);)E+=this[f+L]*O;return E},a.prototype.readUintBE=a.prototype.readUIntBE=function(f,u,b){f=f>>>0,u=u>>>0,b||be(f,u,this.length);let E=this[f+--u],O=1;for(;u>0&&(O*=256);)E+=this[f+--u]*O;return E},a.prototype.readUint8=a.prototype.readUInt8=function(f,u){return f=f>>>0,u||be(f,1,this.length),this[f]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(f,u){return f=f>>>0,u||be(f,2,this.length),this[f]|this[f+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(f,u){return f=f>>>0,u||be(f,2,this.length),this[f]<<8|this[f+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(f,u){return f=f>>>0,u||be(f,4,this.length),(this[f]|this[f+1]<<8|this[f+2]<<16)+this[f+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(f,u){return f=f>>>0,u||be(f,4,this.length),this[f]*16777216+(this[f+1]<<16|this[f+2]<<8|this[f+3])},a.prototype.readBigUInt64LE=Xe(function(f){f=f>>>0,N(f,"offset");const u=this[f],b=this[f+7];(u===void 0||b===void 0)&&D(f,this.length-8);const E=u+this[++f]*2**8+this[++f]*2**16+this[++f]*2**24,O=this[++f]+this[++f]*2**8+this[++f]*2**16+b*2**24;return BigInt(E)+(BigInt(O)<<BigInt(32))}),a.prototype.readBigUInt64BE=Xe(function(f){f=f>>>0,N(f,"offset");const u=this[f],b=this[f+7];(u===void 0||b===void 0)&&D(f,this.length-8);const E=u*2**24+this[++f]*2**16+this[++f]*2**8+this[++f],O=this[++f]*2**24+this[++f]*2**16+this[++f]*2**8+b;return(BigInt(E)<<BigInt(32))+BigInt(O)}),a.prototype.readIntLE=function(f,u,b){f=f>>>0,u=u>>>0,b||be(f,u,this.length);let E=this[f],O=1,L=0;for(;++L<u&&(O*=256);)E+=this[f+L]*O;return O*=128,E>=O&&(E-=Math.pow(2,8*u)),E},a.prototype.readIntBE=function(f,u,b){f=f>>>0,u=u>>>0,b||be(f,u,this.length);let E=u,O=1,L=this[f+--E];for(;E>0&&(O*=256);)L+=this[f+--E]*O;return O*=128,L>=O&&(L-=Math.pow(2,8*u)),L},a.prototype.readInt8=function(f,u){return f=f>>>0,u||be(f,1,this.length),this[f]&128?(255-this[f]+1)*-1:this[f]},a.prototype.readInt16LE=function(f,u){f=f>>>0,u||be(f,2,this.length);const b=this[f]|this[f+1]<<8;return b&32768?b|4294901760:b},a.prototype.readInt16BE=function(f,u){f=f>>>0,u||be(f,2,this.length);const b=this[f+1]|this[f]<<8;return b&32768?b|4294901760:b},a.prototype.readInt32LE=function(f,u){return f=f>>>0,u||be(f,4,this.length),this[f]|this[f+1]<<8|this[f+2]<<16|this[f+3]<<24},a.prototype.readInt32BE=function(f,u){return f=f>>>0,u||be(f,4,this.length),this[f]<<24|this[f+1]<<16|this[f+2]<<8|this[f+3]},a.prototype.readBigInt64LE=Xe(function(f){f=f>>>0,N(f,"offset");const u=this[f],b=this[f+7];(u===void 0||b===void 0)&&D(f,this.length-8);const E=this[f+4]+this[f+5]*2**8+this[f+6]*2**16+(b<<24);return(BigInt(E)<<BigInt(32))+BigInt(u+this[++f]*2**8+this[++f]*2**16+this[++f]*2**24)}),a.prototype.readBigInt64BE=Xe(function(f){f=f>>>0,N(f,"offset");const u=this[f],b=this[f+7];(u===void 0||b===void 0)&&D(f,this.length-8);const E=(u<<24)+this[++f]*2**16+this[++f]*2**8+this[++f];return(BigInt(E)<<BigInt(32))+BigInt(this[++f]*2**24+this[++f]*2**16+this[++f]*2**8+b)}),a.prototype.readFloatLE=function(f,u){return f=f>>>0,u||be(f,4,this.length),r.read(this,f,!0,23,4)},a.prototype.readFloatBE=function(f,u){return f=f>>>0,u||be(f,4,this.length),r.read(this,f,!1,23,4)},a.prototype.readDoubleLE=function(f,u){return f=f>>>0,u||be(f,8,this.length),r.read(this,f,!0,52,8)},a.prototype.readDoubleBE=function(f,u){return f=f>>>0,u||be(f,8,this.length),r.read(this,f,!1,52,8)};function xe(h,f,u,b,E,O){if(!a.isBuffer(h))throw new TypeError('"buffer" argument must be a Buffer instance');if(f>E||f<O)throw new RangeError('"value" argument is out of bounds');if(u+b>h.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(f,u,b,E){if(f=+f,u=u>>>0,b=b>>>0,!E){const Q=Math.pow(2,8*b)-1;xe(this,f,u,b,Q,0)}let O=1,L=0;for(this[u]=f&255;++L<b&&(O*=256);)this[u+L]=f/O&255;return u+b},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(f,u,b,E){if(f=+f,u=u>>>0,b=b>>>0,!E){const Q=Math.pow(2,8*b)-1;xe(this,f,u,b,Q,0)}let O=b-1,L=1;for(this[u+O]=f&255;--O>=0&&(L*=256);)this[u+O]=f/L&255;return u+b},a.prototype.writeUint8=a.prototype.writeUInt8=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,1,255,0),this[u]=f&255,u+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,2,65535,0),this[u]=f&255,this[u+1]=f>>>8,u+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,2,65535,0),this[u]=f>>>8,this[u+1]=f&255,u+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,4,4294967295,0),this[u+3]=f>>>24,this[u+2]=f>>>16,this[u+1]=f>>>8,this[u]=f&255,u+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,4,4294967295,0),this[u]=f>>>24,this[u+1]=f>>>16,this[u+2]=f>>>8,this[u+3]=f&255,u+4};function ze(h,f,u,b,E){g(f,b,E,h,u,7);let O=Number(f&BigInt(4294967295));h[u++]=O,O=O>>8,h[u++]=O,O=O>>8,h[u++]=O,O=O>>8,h[u++]=O;let L=Number(f>>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 kt(h,f,u,b,E){g(f,b,E,h,u,7);let O=Number(f&BigInt(4294967295));h[u+7]=O,O=O>>8,h[u+6]=O,O=O>>8,h[u+5]=O,O=O>>8,h[u+4]=O;let L=Number(f>>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}a.prototype.writeBigUInt64LE=Xe(function(f,u=0){return ze(this,f,u,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=Xe(function(f,u=0){return kt(this,f,u,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(f,u,b,E){if(f=+f,u=u>>>0,!E){const ve=Math.pow(2,8*b-1);xe(this,f,u,b,ve-1,-ve)}let O=0,L=1,Q=0;for(this[u]=f&255;++O<b&&(L*=256);)f<0&&Q===0&&this[u+O-1]!==0&&(Q=1),this[u+O]=(f/L>>0)-Q&255;return u+b},a.prototype.writeIntBE=function(f,u,b,E){if(f=+f,u=u>>>0,!E){const ve=Math.pow(2,8*b-1);xe(this,f,u,b,ve-1,-ve)}let O=b-1,L=1,Q=0;for(this[u+O]=f&255;--O>=0&&(L*=256);)f<0&&Q===0&&this[u+O+1]!==0&&(Q=1),this[u+O]=(f/L>>0)-Q&255;return u+b},a.prototype.writeInt8=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,1,127,-128),f<0&&(f=255+f+1),this[u]=f&255,u+1},a.prototype.writeInt16LE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,2,32767,-32768),this[u]=f&255,this[u+1]=f>>>8,u+2},a.prototype.writeInt16BE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,2,32767,-32768),this[u]=f>>>8,this[u+1]=f&255,u+2},a.prototype.writeInt32LE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,4,2147483647,-2147483648),this[u]=f&255,this[u+1]=f>>>8,this[u+2]=f>>>16,this[u+3]=f>>>24,u+4},a.prototype.writeInt32BE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,4,2147483647,-2147483648),f<0&&(f=4294967295+f+1),this[u]=f>>>24,this[u+1]=f>>>16,this[u+2]=f>>>8,this[u+3]=f&255,u+4},a.prototype.writeBigInt64LE=Xe(function(f,u=0){return ze(this,f,u,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=Xe(function(f,u=0){return kt(this,f,u,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function bt(h,f,u,b,E,O){if(u+b>h.length)throw new RangeError("Index out of range");if(u<0)throw new RangeError("Index out of range")}function T(h,f,u,b,E){return f=+f,u=u>>>0,E||bt(h,f,u,4),r.write(h,f,u,b,23,4),u+4}a.prototype.writeFloatLE=function(f,u,b){return T(this,f,u,!0,b)},a.prototype.writeFloatBE=function(f,u,b){return T(this,f,u,!1,b)};function P(h,f,u,b,E){return f=+f,u=u>>>0,E||bt(h,f,u,8),r.write(h,f,u,b,52,8),u+8}a.prototype.writeDoubleLE=function(f,u,b){return P(this,f,u,!0,b)},a.prototype.writeDoubleBE=function(f,u,b){return P(this,f,u,!1,b)},a.prototype.copy=function(f,u,b,E){if(!a.isBuffer(f))throw new TypeError("argument should be a Buffer");if(b||(b=0),!E&&E!==0&&(E=this.length),u>=f.length&&(u=f.length),u||(u=0),E>0&&E<b&&(E=b),E===b||f.length===0||this.length===0)return 0;if(u<0)throw new RangeError("targetStart out of bounds");if(b<0||b>=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),f.length-u<E-b&&(E=f.length-u+b);const O=E-b;return this===f&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(u,b,E):Uint8Array.prototype.set.call(f,this.subarray(b,E),u),O},a.prototype.fill=function(f,u,b,E){if(typeof f=="string"){if(typeof u=="string"?(E=u,u=0,b=this.length):typeof b=="string"&&(E=b,b=this.length),E!==void 0&&typeof E!="string")throw new TypeError("encoding must be a string");if(typeof E=="string"&&!a.isEncoding(E))throw new TypeError("Unknown encoding: "+E);if(f.length===1){const L=f.charCodeAt(0);(E==="utf8"&&L<128||E==="latin1")&&(f=L)}}else typeof f=="number"?f=f&255:typeof f=="boolean"&&(f=Number(f));if(u<0||this.length<u||this.length<b)throw new RangeError("Out of range index");if(b<=u)return this;u=u>>>0,b=b===void 0?this.length:b>>>0,f||(f=0);let O;if(typeof f=="number")for(O=u;O<b;++O)this[O]=f;else{const L=a.isBuffer(f)?f:a.from(f,E),Q=L.length;if(Q===0)throw new TypeError('The value "'+f+'" is invalid for argument "value"');for(O=0;O<b-u;++O)this[O+u]=L[O%Q]}return this};const F={};function G(h,f,u){F[h]=class extends u{constructor(){super(),Object.defineProperty(this,"message",{value:f.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,f){return`The "${h}" argument must be of type number. Received type ${typeof f}`},TypeError),G("ERR_OUT_OF_RANGE",function(h,f,u){let b=`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"),b+=` It must be ${f}. Received ${E}`,b},RangeError);function K(h){let f="",u=h.length;const b=h[0]==="-"?1:0;for(;u>=b+4;u-=3)f=`_${h.slice(u-3,u)}${f}`;return`${h.slice(0,u)}${f}`}function w(h,f,u){N(f,"offset"),(h[f]===void 0||h[f+u]===void 0)&&D(f,h.length-(u+1))}function g(h,f,u,b,E,O){if(h>u||h<f){const L=typeof f=="bigint"?"n":"";let Q;throw f===0||f===BigInt(0)?Q=`>= 0${L} and < 2${L} ** ${(O+1)*8}${L}`:Q=`>= -(2${L} ** ${(O+1)*8-1}${L}) and < 2 ** ${(O+1)*8-1}${L}`,new F.ERR_OUT_OF_RANGE("value",Q,h)}w(b,E,O)}function N(h,f){if(typeof h!="number")throw new F.ERR_INVALID_ARG_TYPE(f,"number",h)}function D(h,f,u){throw Math.floor(h)!==h?(N(h,u),new F.ERR_OUT_OF_RANGE("offset","an integer",h)):f<0?new F.ERR_BUFFER_OUT_OF_BOUNDS:new F.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${f}`,h)}const we=/[^+/0-9A-Za-z-_]/g;function Y(h){if(h=h.split("=")[0],h=h.trim().replace(we,""),h.length<2)return"";for(;h.length%4!==0;)h=h+"=";return h}function te(h,f){f=f||1/0;let u;const b=h.length;let E=null;const O=[];for(let L=0;L<b;++L){if(u=h.charCodeAt(L),u>55295&&u<57344){if(!E){if(u>56319){(f-=3)>-1&&O.push(239,191,189);continue}else if(L+1===b){(f-=3)>-1&&O.push(239,191,189);continue}E=u;continue}if(u<56320){(f-=3)>-1&&O.push(239,191,189),E=u;continue}u=(E-55296<<10|u-56320)+65536}else E&&(f-=3)>-1&&O.push(239,191,189);if(E=null,u<128){if((f-=1)<0)break;O.push(u)}else if(u<2048){if((f-=2)<0)break;O.push(u>>6|192,u&63|128)}else if(u<65536){if((f-=3)<0)break;O.push(u>>12|224,u>>6&63|128,u&63|128)}else if(u<1114112){if((f-=4)<0)break;O.push(u>>18|240,u>>12&63|128,u>>6&63|128,u&63|128)}else throw new Error("Invalid code point")}return O}function Rt(h){const f=[];for(let u=0;u<h.length;++u)f.push(h.charCodeAt(u)&255);return f}function gr(h,f){let u,b,E;const O=[];for(let L=0;L<h.length&&!((f-=2)<0);++L)u=h.charCodeAt(L),b=u>>8,E=u%256,O.push(E),O.push(b);return O}function Wr(h){return t.toByteArray(Y(h))}function mr(h,f,u,b){let E;for(E=0;E<b&&!(E+u>=f.length||E>=h.length);++E)f[E+u]=h[E];return E}function qe(h,f){return h instanceof f||h!=null&&h.constructor!=null&&h.constructor.name!=null&&h.constructor.name===f.name}function Jt(h){return h!==h}const Vr=function(){const h="0123456789abcdef",f=new Array(256);for(let u=0;u<16;++u){const b=u*16;for(let E=0;E<16;++E)f[b+E]=h[u]+h[E]}return f}();function Xe(h){return typeof BigInt>"u"?Qt:h}function Qt(){throw new Error("BigInt not supported")}})(Ot);var yn={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}};yn.Null=yn.Nil;for(var oo in yn)yn[oo].toJSON=(function(e){return e}).bind(null,oo);var ks=yn,ir=ks;function va(e){return e.name||e.toString().match(/function (.*?)\s*\(/)[1]}function Rs(e){return ir.Nil(e)?"":va(e.constructor)}function Hu(e){return ir.Function(e)?"":ir.String(e)?JSON.stringify(e):e&&ir.Object(e)?"":e}function Us(e,t){Error.captureStackTrace&&Error.captureStackTrace(e,t)}function Qn(e){return ir.Function(e)?e.toJSON?e.toJSON():va(e):ir.Array(e)?"Array":e&&ir.Object(e)?"Object":e!==void 0?e:""}function Ea(e,t,r){var n=Hu(t);return"Expected "+Qn(e)+", got"+(r!==""?" "+r:"")+(n!==""?" "+n:"")}function Tt(e,t,r){r=r||Rs(t),this.message=Ea(e,t,r),Us(this,Tt),this.__type=e,this.__value=t,this.__valueTypeName=r}Tt.prototype=Object.create(Error.prototype);Tt.prototype.constructor=Tt;function Mu(e,t,r,n,i){var s='" of type ';return t==="key"&&(s='" with key type '),Ea('property "'+Qn(r)+s+Qn(e),n,i)}function Ir(e,t,r,n,i){e?(i=i||Rs(n),this.message=Mu(e,r,t,n,i)):this.message='Unexpected property "'+t+'"',Us(this,Tt),this.__label=r,this.__property=t,this.__type=e,this.__value=n,this.__valueTypeName=i}Ir.prototype=Object.create(Error.prototype);Ir.prototype.constructor=Tt;function Du(e,t){return new Tt(e,{},t)}function $u(e,t,r){return e instanceof Ir?(t=t+"."+e.__property,e=new Ir(e.__type,t,e.__label,e.__value,e.__valueTypeName)):e instanceof Tt&&(e=new Ir(e.__type,t,r,e.__value,e.__valueTypeName)),Us(e),e}var xa={TfTypeError:Tt,TfPropertyTypeError:Ir,tfCustomError:Du,tfSubError:$u,tfJSON:Qn,getValueTypeName:Rs},Fi,ao;function ju(){if(ao)return Fi;ao=1;var e=ks,t=xa;function r(x){return Buffer.isBuffer(x)}function n(x){return typeof x=="string"&&/^([0-9a-f]{2})+$/i.test(x)}function i(x,M){var $=x.toJSON();function R(z){if(!x(z))return!1;if(z.length===M)return!0;throw t.tfCustomError($+"(Length: "+M+")",$+"(Length: "+z.length+")")}return R.toJSON=function(){return $},R}var s=i.bind(null,e.Array),o=i.bind(null,r),a=i.bind(null,n),c=i.bind(null,e.String);function l(x,M,$){$=$||e.Number;function R(z,Z){return $(z,Z)&&z>x&&z<M}return R.toJSON=function(){return`${$.toJSON()} between [${x}, ${M}]`},R}var d=Math.pow(2,53)-1;function p(x){return typeof x=="number"&&isFinite(x)}function _(x){return x<<24>>24===x}function y(x){return x<<16>>16===x}function I(x){return(x|0)===x}function B(x){return typeof x=="number"&&x>=-d&&x<=d&&Math.floor(x)===x}function A(x){return(x&255)===x}function k(x){return(x&65535)===x}function U(x){return x>>>0===x}function v(x){return typeof x=="number"&&x>=0&&x<=d&&Math.floor(x)===x}var m={ArrayN:s,Buffer:r,BufferN:o,Finite:p,Hex:n,HexN:a,Int8:_,Int16:y,Int32:I,Int53:B,Range:l,StringN:c,UInt8:A,UInt16:k,UInt32:U,UInt53:v};for(var S in m)m[S].toJSON=(function(x){return x}).bind(null,S);return Fi=m,Fi}var mn=xa,Ie=ks,wt=mn.tfJSON,Sa=mn.TfTypeError,Ba=mn.TfPropertyTypeError,zr=mn.tfSubError,Gu=mn.getValueTypeName,xt={arrayOf:function(t,r){t=lt(t),r=r||{};function n(i,s){return!Ie.Array(i)||Ie.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,a){try{return Ge(t,o,s)}catch(c){throw zr(c,a)}})}return n.toJSON=function(){var i="["+wt(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=lt(t);function r(n,i){return Ie.Nil(n)||t(n,i,e)}return r.toJSON=function(){return"?"+wt(t)},r},map:function(t,r){t=lt(t),r&&(r=lt(r));function n(i,s){if(!Ie.Object(i)||Ie.Nil(i))return!1;for(var o in i){try{r&&Ge(r,o,s)}catch(c){throw zr(c,o,"key")}try{var a=i[o];Ge(t,a,s)}catch(c){throw zr(c,o)}}return!0}return r?n.toJSON=function(){return"{"+wt(r)+": "+wt(t)+"}"}:n.toJSON=function(){return"{"+wt(t)+"}"},n},object:function(t){var r={};for(var n in t)r[n]=lt(t[n]);function i(s,o){if(!Ie.Object(s)||Ie.Nil(s))return!1;var a;try{for(a in r){var c=r[a],l=s[a];Ge(c,l,o)}}catch(d){throw zr(d,a)}if(o){for(a in s)if(!r[a])throw new Ba(void 0,a)}return!0}return i.toJSON=function(){return wt(r)},i},anyOf:function(){var t=[].slice.call(arguments).map(lt);function r(n,i){return t.some(function(s){try{return Ge(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(wt).join("|")},r},allOf:function(){var t=[].slice.call(arguments).map(lt);function r(n,i){return t.every(function(s){try{return Ge(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(wt).join(" & ")},r},quacksLike:function(t){function r(n){return t===Gu(n)}return r.toJSON=function(){return t},r},tuple:function(){var t=[].slice.call(arguments).map(lt);function r(n,i){return Ie.Nil(n)||Ie.Nil(n.length)||i&&n.length!==t.length?!1:t.every(function(s,o){try{return Ge(s,n[o],i)}catch(a){throw zr(a,o)}})}return r.toJSON=function(){return"("+t.map(wt).join(", ")+")"},r},value:function(t){function r(n){return n===t}return r.toJSON=function(){return t},r}};xt.oneOf=xt.anyOf;function lt(e){if(Ie.String(e))return e[0]==="?"?xt.maybe(e.slice(1)):Ie[e]||xt.quacksLike(e);if(e&&Ie.Object(e)){if(Ie.Array(e)){if(e.length!==1)throw new TypeError("Expected compile() parameter of type Array of length 1");return xt.arrayOf(e[0])}return xt.object(e)}else if(Ie.Function(e))return e;return xt.value(e)}function Ge(e,t,r,n){if(Ie.Function(e)){if(e(t,r))return!0;throw new Sa(n||e,t)}return Ge(lt(e),t,r)}for(var Gt in Ie)Ge[Gt]=Ie[Gt];for(Gt in xt)Ge[Gt]=xt[Gt];var fo=ju();for(Gt in fo)Ge[Gt]=fo[Gt];Ge.compile=lt;Ge.TfTypeError=Sa;Ge.TfPropertyTypeError=Ba;var Pa=Ge;(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=Ot;e.typeforce=Pa;const r=t.Buffer.alloc(32,0),n=t.Buffer.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex");function i(d,p){return d.length!==p.length?!1:d.every((_,y)=>_.equals(p[y]))}e.stacksEqual=i;function s(d){if(!t.Buffer.isBuffer(d)||d.length<33)return!1;const p=d[0],_=d.slice(1,33);if(_.compare(r)===0||_.compare(n)>=0)return!1;if((p===2||p===3)&&d.length===33)return!0;const y=d.slice(33);return y.compare(r)===0||y.compare(n)>=0?!1:p===4&&d.length===65}e.isPoint=s;const o=21*1e14;function a(d){return e.typeforce.UInt53(d)&&d<=o}e.Satoshi=a,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(p=>l(p)):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})(He);var _n={},Oe={};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.BufferReader=Oe.BufferWriter=Oe.cloneBuffer=Oe.reverseBuffer=Oe.writeUInt64LE=Oe.readUInt64LE=Oe.varuint=void 0;const sr=He,{typeforce:Ta}=sr,bn=pa;Oe.varuint=bn;function Aa(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 Ia(e,t){const r=e.readUInt32LE(t);let n=e.readUInt32LE(t+4);return n*=4294967296,Aa(n+r,9007199254740991),n+r}Oe.readUInt64LE=Ia;function Oa(e,t,r){return Aa(t,9007199254740991),e.writeInt32LE(t&-1,r),e.writeUInt32LE(Math.floor(t/4294967296),r+4),r+8}Oe.writeUInt64LE=Oa;function Wu(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}Oe.reverseBuffer=Wu;function Vu(e){const t=Buffer.allocUnsafe(e.length);return e.copy(t),t}Oe.cloneBuffer=Vu;class Cs{static withCapacity(t){return new Cs(Buffer.alloc(t))}constructor(t,r=0){this.buffer=t,this.offset=r,Ta(sr.tuple(sr.Buffer,sr.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=Oa(this.buffer,t,this.offset)}writeVarInt(t){bn.encode(t,this.buffer,this.offset),this.offset+=bn.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}`)}}Oe.BufferWriter=Cs;class zu{constructor(t,r=0){this.buffer=t,this.offset=r,Ta(sr.tuple(sr.Buffer,sr.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=Ia(this.buffer,this.offset);return this.offset+=8,t}readVarInt(){const t=bn.decode(this.buffer,this.offset);return this.offset+=bn.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}}Oe.BufferReader=zu;var qt={},Cr={},pt={},nt={};Object.defineProperty(nt,"__esModule",{value:!0});nt.isBytes=Ra;nt.number=Zn;nt.bool=ka;nt.bytes=Ls;nt.hash=Ua;nt.exists=Ca;nt.output=La;function Zn(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function ka(e){if(typeof e!="boolean")throw new Error(`boolean expected, not ${e}`)}function Ra(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function Ls(e,...t){if(!Ra(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 Ua(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Zn(e.outputLen),Zn(e.blockLen)}function Ca(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 La(e,t){Ls(e);const r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}const qu={number:Zn,bool:ka,bytes:Ls,hash:Ua,exists:Ca,output:La};nt.default=qu;var vn={},ci={};Object.defineProperty(ci,"__esModule",{value:!0});ci.crypto=void 0;ci.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=_,e.hexToBytes=B,e.asyncLoop=k,e.utf8ToBytes=U,e.toBytes=v,e.concatBytes=m,e.checkOpts=M,e.wrapConstructor=$,e.wrapConstructorWithOpts=R,e.wrapXOFConstructorWithOpts=z,e.randomBytes=Z;const t=ci,r=nt;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 a=(C,H)=>C<<32-H|C>>>H;e.rotr=a;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 p=Array.from({length:256},(C,H)=>H.toString(16).padStart(2,"0"));function _(C){(0,r.bytes)(C);let H="";for(let W=0;W<C.length;W++)H+=p[C[W]];return H}const y={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function I(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,W=H/2;if(H%2)throw new Error("padded hex string expected, got unpadded hex of length "+H);const q=new Uint8Array(W);for(let fe=0,ue=0;fe<W;fe++,ue+=2){const tt=I(C.charCodeAt(ue)),Ve=I(C.charCodeAt(ue+1));if(tt===void 0||Ve===void 0){const st=C[ue]+C[ue+1];throw new Error('hex string expected, got non-hex character "'+st+'" at index '+ue)}q[fe]=tt*16+Ve}return q}const A=async()=>{};e.nextTick=A;async function k(C,H,W){let q=Date.now();for(let fe=0;fe<C;fe++){W(fe);const ue=Date.now()-q;ue>=0&&ue<H||(await(0,e.nextTick)(),q+=ue)}}function U(C){if(typeof C!="string")throw new Error(`utf8ToBytes expected string, got ${typeof C}`);return new Uint8Array(new TextEncoder().encode(C))}function v(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 fe=C[q];(0,r.bytes)(fe),H+=fe.length}const W=new Uint8Array(H);for(let q=0,fe=0;q<C.length;q++){const ue=C[q];W.set(ue,fe),fe+=ue.length}return W}class S{clone(){return this._cloneInto()}}e.Hash=S;const x={}.toString;function M(C,H){if(H!==void 0&&x.call(H)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(C,H)}function $(C){const H=q=>C().update(v(q)).digest(),W=C();return H.outputLen=W.outputLen,H.blockLen=W.blockLen,H.create=()=>C(),H}function R(C){const H=(q,fe)=>C(fe).update(v(q)).digest(),W=C({});return H.outputLen=W.outputLen,H.blockLen=W.blockLen,H.create=q=>C(q),H}function z(C){const H=(q,fe)=>C(fe).update(v(q)).digest(),W=C({});return H.outputLen=W.outputLen,H.blockLen=W.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")}})(vn);Object.defineProperty(pt,"__esModule",{value:!0});pt.HashMD=pt.Maj=pt.Chi=void 0;const Hi=nt,qr=vn;function Ku(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),a=Number(r&s),c=n?4:0,l=n?0:4;e.setUint32(t+c,o,n),e.setUint32(t+l,a,n)}const Yu=(e,t,r)=>e&t^~e&r;pt.Chi=Yu;const Xu=(e,t,r)=>e&t^e&r^t&r;pt.Maj=Xu;let Ju=class extends qr.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,qr.createView)(this.buffer)}update(t){(0,Hi.exists)(this);const{view:r,buffer:n,blockLen:i}=this;t=(0,qr.toBytes)(t);const s=t.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const c=(0,qr.createView)(t);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){(0,Hi.exists)(this),(0,Hi.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 p=o;p<i;p++)r[p]=0;Ku(n,i-8,BigInt(this.length*8),s),this.process(n,0);const a=(0,qr.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 p=0;p<l;p++)a.setUint32(4*p,d[p],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:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}};pt.HashMD=Ju;Object.defineProperty(Cr,"__esModule",{value:!0});Cr.ripemd160=Cr.RIPEMD160=void 0;const Qu=pt,fn=vn,Zu=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Na=new Uint8Array(new Array(16).fill(0).map((e,t)=>t)),ec=Na.map(e=>(9*e+5)%16);let Ns=[Na],Fs=[ec];for(let e=0;e<4;e++)for(let t of[Ns,Fs])t.push(t[e].map(r=>Zu[r]));const Fa=[[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)),tc=Ns.map((e,t)=>e.map(r=>Fa[t][r])),rc=Fs.map((e,t)=>e.map(r=>Fa[t][r])),nc=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),ic=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]);function uo(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 Rn=new Uint32Array(16);let Ha=class extends Qu.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)Rn[y]=t.getUint32(r,!0);let n=this.h0|0,i=n,s=this.h1|0,o=s,a=this.h2|0,c=a,l=this.h3|0,d=l,p=this.h4|0,_=p;for(let y=0;y<5;y++){const I=4-y,B=nc[y],A=ic[y],k=Ns[y],U=Fs[y],v=tc[y],m=rc[y];for(let S=0;S<16;S++){const x=(0,fn.rotl)(n+uo(y,s,a,l)+Rn[k[S]]+B,v[S])+p|0;n=p,p=l,l=(0,fn.rotl)(a,10)|0,a=s,s=x}for(let S=0;S<16;S++){const x=(0,fn.rotl)(i+uo(I,o,c,d)+Rn[U[S]]+A,m[S])+_|0;i=_,_=d,d=(0,fn.rotl)(c,10)|0,c=o,o=x}}this.set(this.h1+a+d|0,this.h2+l+_|0,this.h3+p+i|0,this.h4+n+o|0,this.h0+s+c|0)}roundClean(){Rn.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}};Cr.RIPEMD160=Ha;Cr.ripemd160=(0,fn.wrapConstructor)(()=>new Ha);var Lr={};Object.defineProperty(Lr,"__esModule",{value:!0});Lr.sha1=Lr.SHA1=void 0;const Mi=pt,Wn=vn,Kr=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Ut=new Uint32Array(80);class Ma extends Mi.HashMD{constructor(){super(64,20,8,!1),this.A=Kr[0]|0,this.B=Kr[1]|0,this.C=Kr[2]|0,this.D=Kr[3]|0,this.E=Kr[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)Ut[c]=t.getUint32(r,!1);for(let c=16;c<80;c++)Ut[c]=(0,Wn.rotl)(Ut[c-3]^Ut[c-8]^Ut[c-14]^Ut[c-16],1);let{A:n,B:i,C:s,D:o,E:a}=this;for(let c=0;c<80;c++){let l,d;c<20?(l=(0,Mi.Chi)(i,s,o),d=1518500249):c<40?(l=i^s^o,d=1859775393):c<60?(l=(0,Mi.Maj)(i,s,o),d=2400959708):(l=i^s^o,d=3395469782);const p=(0,Wn.rotl)(n,5)+l+a+d+Ut[c]|0;a=o,o=s,s=(0,Wn.rotl)(i,30),i=n,n=p}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,this.set(n,i,s,o,a)}roundClean(){Ut.fill(0)}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0)}}Lr.SHA1=Ma;Lr.sha1=(0,Wn.wrapConstructor)(()=>new Ma);var Bt={};Object.defineProperty(Bt,"__esModule",{value:!0});Bt.sha224=Bt.sha256=Bt.SHA256=void 0;const Di=pt,Qe=vn,sc=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]),Ct=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Lt=new Uint32Array(64);let Hs=class extends Di.HashMD{constructor(){super(64,32,8,!1),this.A=Ct[0]|0,this.B=Ct[1]|0,this.C=Ct[2]|0,this.D=Ct[3]|0,this.E=Ct[4]|0,this.F=Ct[5]|0,this.G=Ct[6]|0,this.H=Ct[7]|0}get(){const{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[t,r,n,i,s,o,a,c]}set(t,r,n,i,s,o,a,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=a|0,this.H=c|0}process(t,r){for(let p=0;p<16;p++,r+=4)Lt[p]=t.getUint32(r,!1);for(let p=16;p<64;p++){const _=Lt[p-15],y=Lt[p-2],I=(0,Qe.rotr)(_,7)^(0,Qe.rotr)(_,18)^_>>>3,B=(0,Qe.rotr)(y,17)^(0,Qe.rotr)(y,19)^y>>>10;Lt[p]=B+Lt[p-7]+I+Lt[p-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:l,H:d}=this;for(let p=0;p<64;p++){const _=(0,Qe.rotr)(a,6)^(0,Qe.rotr)(a,11)^(0,Qe.rotr)(a,25),y=d+_+(0,Di.Chi)(a,c,l)+sc[p]+Lt[p]|0,B=((0,Qe.rotr)(n,2)^(0,Qe.rotr)(n,13)^(0,Qe.rotr)(n,22))+(0,Di.Maj)(n,i,s)|0;d=l,l=c,c=a,a=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,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(n,i,s,o,a,c,l,d)}roundClean(){Lt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};Bt.SHA256=Hs;class oc extends Hs{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}}Bt.sha256=(0,Qe.wrapConstructor)(()=>new Hs);Bt.sha224=(0,Qe.wrapConstructor)(()=>new oc);(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=Cr,r=Lr,n=Bt;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 a(d){return Buffer.from((0,t.ripemd160)((0,n.sha256)(Uint8Array.from(d))))}e.hash160=a;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,p){return o(Buffer.concat([e.TAGGED_HASH_PREFIXES[d],p]))}e.taggedHash=l})(qt);var $i={},Pt={};Object.defineProperty(Pt,"__esModule",{value:!0});Pt.encode=Pt.decode=Pt.check=void 0;function ac(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))}Pt.check=ac;function fc(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)}}Pt.decode=fc;function uc(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}Pt.encode=uc;var ar={};Object.defineProperty(ar,"__esModule",{value:!0});ar.REVERSE_OPS=ar.OPS=void 0;const ps={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};ar.OPS=ps;const Da={};ar.REVERSE_OPS=Da;for(const e of Object.keys(ps)){const t=ps[e];Da[t]=e}var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0});Wt.decode=Wt.encode=Wt.encodingLength=void 0;const jt=ar;function $a(e){return e<jt.OPS.OP_PUSHDATA1?1:e<=255?2:e<=65535?3:5}Wt.encodingLength=$a;function cc(e,t,r){const n=$a(t);return n===1?e.writeUInt8(t,r):n===2?(e.writeUInt8(jt.OPS.OP_PUSHDATA1,r),e.writeUInt8(t,r+1)):n===3?(e.writeUInt8(jt.OPS.OP_PUSHDATA2,r),e.writeUInt16LE(t,r+1)):(e.writeUInt8(jt.OPS.OP_PUSHDATA4,r),e.writeUInt32LE(t,r+1)),n}Wt.encode=cc;function hc(e,t){const r=e.readUInt8(t);let n,i;if(r<jt.OPS.OP_PUSHDATA1)n=r,i=1;else if(r===jt.OPS.OP_PUSHDATA1){if(t+2>e.length)return null;n=e.readUInt8(t+1),i=2}else if(r===jt.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!==jt.OPS.OP_PUSHDATA4)throw new Error("Unexpected opcode");n=e.readUInt32LE(t+1),i=5}return{opcode:r,number:n,size:i}}Wt.decode=hc;var Nr={};Object.defineProperty(Nr,"__esModule",{value:!0});Nr.encode=Nr.decode=void 0;function lc(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}Nr.decode=lc;function dc(e){return e>2147483647?5:e>8388607?4:e>32767?3:e>127?2:e>0?1:0}function pc(e){let t=Math.abs(e);const r=dc(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}Nr.encode=pc;var tr={},co;function yc(){if(co)return tr;co=1,Object.defineProperty(tr,"__esModule",{value:!0}),tr.encode=tr.decode=void 0;const e=Pt,t=Ye(),r=He,{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),p=Math.max(0,32-l.length);return l.copy(d,p),d}function a(l){const d=l.readUInt8(l.length-1);if(!(0,t.isDefinedHashType)(d))throw new Error("Invalid hashType "+d);const p=e.decode(l.slice(0,-1)),_=o(p.r),y=o(p.s);return{signature:Buffer.concat([_,y],64),hashType:d}}tr.decode=a;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 p=Buffer.allocUnsafe(1);p.writeUInt8(d,0);const _=s(l.slice(0,32)),y=s(l.slice(32,64));return Buffer.concat([e.encode(_,y),p])}return tr.encode=c,tr}var ho;function Ye(){return ho||(ho=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=Pt,r=ar;Object.defineProperty(e,"OPS",{enumerable:!0,get:function(){return r.OPS}});const n=Wt,i=Nr,s=yc(),o=He,{typeforce:a}=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 p(R){return o.Array(R)&&R.every(d)}e.isPushOnly=p;function _(R){return R.length-R.filter(d).length}e.countNonPushOnlyOPs=_;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 I(R){return Buffer.isBuffer(R)}function B(R){return o.Array(R)}function A(R){return Buffer.isBuffer(R)}function k(R){if(I(R))return R;a(o.Array,R);const z=R.reduce((H,W)=>A(W)?W.length===1&&y(W)!==void 0?H+1:H+n.encodingLength(W.length)+W.length:H+1,0),Z=Buffer.allocUnsafe(z);let C=0;if(R.forEach(H=>{if(A(H)){const W=y(H);if(W!==void 0){Z.writeUInt8(W,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;a(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 W=R.slice(Z,Z+H.number);Z+=H.number;const q=y(W);q!==void 0?z.push(q):z.push(W)}else z.push(C),Z+=1}return z}e.decompile=U;function v(R){if(I(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=v;function m(R){return a(o.String,R),k(R.split(" ").map(z=>r.OPS[z]!==void 0?r.OPS[z]:(a(o.Hex,z),Buffer.from(z,"hex"))))}e.fromASM=m;function S(R){return R=U(R),a(p,R),R.map(z=>A(z)?z:z===r.OPS.OP_0?Buffer.allocUnsafe(0):i.encode(z-c))}e.toStack=S;function x(R){return o.isPoint(R)}e.isCanonicalPubKey=x;function M(R){const z=R&-129;return z>0&&z<4}e.isDefinedHashType=M;function $(R){return!Buffer.isBuffer(R)||!M(R[R.length-1])?!1:t.check(R.slice(0,-1))}e.isCanonicalScriptSignature=$,e.number=i,e.signature=s}($i)),$i}Object.defineProperty(_n,"__esModule",{value:!0});_n.Transaction=void 0;const Be=Oe,Me=qt,lo=Ye(),bc=Ye(),ee=He,{typeforce:ot}=ee;function ct(e){const t=e.length;return Be.varuint.encodingLength(t)+t}function wc(e){const t=e.length;return Be.varuint.encodingLength(t)+e.reduce((r,n)=>r+ct(n),0)}const $t=Buffer.allocUnsafe(0),po=[],ji=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),yo=Buffer.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),gc=Buffer.from("ffffffffffffffff","hex"),mc={script:$t,valueBuffer:gc};function _c(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 Be.BufferReader(t),i=new X;i.version=n.readInt32();const s=n.readUInt8(),o=n.readUInt8();let a=!1;s===X.ADVANCED_TRANSACTION_MARKER&&o===X.ADVANCED_TRANSACTION_FLAG?a=!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:po});const l=n.readVarInt();for(let d=0;d<l;++d)i.outs.push({value:n.readUInt64(),script:n.readVarSlice()});if(a){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){ot(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 ot(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||$t,sequence:n,witness:po})-1}addOutput(t,r){return ot(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)+Be.varuint.encodingLength(this.ins.length)+Be.varuint.encodingLength(this.outs.length)+this.ins.reduce((n,i)=>n+40+ct(i.script),0)+this.outs.reduce((n,i)=>n+8+ct(i.script),0)+(r?this.ins.reduce((n,i)=>n+wc(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(ot(ee.tuple(ee.UInt32,ee.Buffer,ee.Number),arguments),t>=this.ins.length)return yo;const i=lo.compile(lo.decompile(r).filter(a=>a!==bc.OPS.OP_CODESEPARATOR)),s=this.clone();if((n&31)===X.SIGHASH_NONE)s.outs=[],s.ins.forEach((a,c)=>{c!==t&&(a.sequence=0)});else if((n&31)===X.SIGHASH_SINGLE){if(t>=this.outs.length)return yo;s.outs.length=t+1;for(let a=0;a<t;a++)s.outs[a]=mc;s.ins.forEach((a,c)=>{c!==t&&(a.sequence=0)})}n&X.SIGHASH_ANYONECANPAY?(s.ins=[s.ins[t]],s.ins[0].script=i):(s.ins.forEach(a=>{a.script=$t}),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),Me.hash256(o)}hashForWitnessV1(t,r,n,i,s,o){if(ot(ee.tuple(ee.UInt32,ot.arrayOf(ee.Buffer),ot.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 a=i===X.SIGHASH_DEFAULT?X.SIGHASH_ALL:i&X.SIGHASH_OUTPUT_MASK,l=(i&X.SIGHASH_INPUT_MASK)===X.SIGHASH_ANYONECANPAY,d=a===X.SIGHASH_NONE,p=a===X.SIGHASH_SINGLE;let _=$t,y=$t,I=$t,B=$t,A=$t;if(!l){let m=Be.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach(S=>{m.writeSlice(S.hash),m.writeUInt32(S.index)}),_=Me.sha256(m.end()),m=Be.BufferWriter.withCapacity(8*this.ins.length),n.forEach(S=>m.writeUInt64(S)),y=Me.sha256(m.end()),m=Be.BufferWriter.withCapacity(r.map(ct).reduce((S,x)=>S+x)),r.forEach(S=>m.writeVarSlice(S)),I=Me.sha256(m.end()),m=Be.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach(S=>m.writeUInt32(S.sequence)),B=Me.sha256(m.end())}if(d||p){if(p&&t<this.outs.length){const m=this.outs[t],S=Be.BufferWriter.withCapacity(8+ct(m.script));S.writeUInt64(m.value),S.writeVarSlice(m.script),A=Me.sha256(S.end())}}else{const m=this.outs.map(x=>8+ct(x.script)).reduce((x,M)=>x+M),S=Be.BufferWriter.withCapacity(m);this.outs.forEach(x=>{S.writeUInt64(x.value),S.writeVarSlice(x.script)}),A=Me.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),v=Be.BufferWriter.withCapacity(U);if(v.writeUInt8(i),v.writeInt32(this.version),v.writeUInt32(this.locktime),v.writeSlice(_),v.writeSlice(y),v.writeSlice(I),v.writeSlice(B),d||p||v.writeSlice(A),v.writeUInt8(k),l){const m=this.ins[t];v.writeSlice(m.hash),v.writeUInt32(m.index),v.writeUInt64(n[t]),v.writeVarSlice(r[t]),v.writeUInt32(m.sequence)}else v.writeUInt32(t);if(o){const m=Be.BufferWriter.withCapacity(ct(o));m.writeVarSlice(o),v.writeSlice(Me.sha256(m.end()))}return p&&v.writeSlice(A),s&&(v.writeSlice(s),v.writeUInt8(0),v.writeUInt32(4294967295)),Me.taggedHash("TapSighash",Buffer.concat([Buffer.from([0]),v.end()]))}hashForWitnessV0(t,r,n,i){ot(ee.tuple(ee.UInt32,ee.Buffer,ee.Satoshi,ee.UInt32),arguments);let s=Buffer.from([]),o,a=ji,c=ji,l=ji;if(i&X.SIGHASH_ANYONECANPAY||(s=Buffer.allocUnsafe(36*this.ins.length),o=new Be.BufferWriter(s,0),this.ins.forEach(p=>{o.writeSlice(p.hash),o.writeUInt32(p.index)}),c=Me.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 Be.BufferWriter(s,0),this.ins.forEach(p=>{o.writeUInt32(p.sequence)}),l=Me.hash256(s)),(i&31)!==X.SIGHASH_SINGLE&&(i&31)!==X.SIGHASH_NONE){const p=this.outs.reduce((_,y)=>_+8+ct(y.script),0);s=Buffer.allocUnsafe(p),o=new Be.BufferWriter(s,0),this.outs.forEach(_=>{o.writeUInt64(_.value),o.writeVarSlice(_.script)}),a=Me.hash256(s)}else if((i&31)===X.SIGHASH_SINGLE&&t<this.outs.length){const p=this.outs[t];s=Buffer.allocUnsafe(8+ct(p.script)),o=new Be.BufferWriter(s,0),o.writeUInt64(p.value),o.writeVarSlice(p.script),a=Me.hash256(s)}s=Buffer.allocUnsafe(156+ct(r)),o=new Be.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(a),o.writeUInt32(this.locktime),o.writeUInt32(i),Me.hash256(s)}getHash(t){return t&&this.isCoinbase()?Buffer.alloc(32,0):Me.hash256(this.__toBuffer(void 0,void 0,t))}getId(){return(0,Be.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){ot(ee.tuple(ee.Number,ee.Buffer),arguments),this.ins[t].script=r}setWitness(t,r){ot(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 Be.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=>{_c(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}}_n.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 oe={},En={};Object.defineProperty(En,"__esModule",{value:!0});const vc=9007199254740991;function Ms(e){if(e<0||e>vc||e%1!==0)throw new RangeError("value out of range")}function un(e,t,r){if(Ms(e),t||(t=Buffer.allocUnsafe(ja(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(un,{bytes:1})):e<=65535?(t.writeUInt8(253,r),t.writeUInt16LE(e,r+1),Object.assign(un,{bytes:3})):e<=4294967295?(t.writeUInt8(254,r),t.writeUInt32LE(e,r+1),Object.assign(un,{bytes:5})):(t.writeUInt8(255,r),t.writeUInt32LE(e>>>0,r+1),t.writeUInt32LE(e/4294967296|0,r+5),Object.assign(un,{bytes:9})),t}En.encode=un;function cn(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(cn,{bytes:1}),r;if(r===253)return Object.assign(cn,{bytes:3}),e.readUInt16LE(t+1);if(r===254)return Object.assign(cn,{bytes:5}),e.readUInt32LE(t+1);{Object.assign(cn,{bytes:9});const n=e.readUInt32LE(t+1),s=e.readUInt32LE(t+5)*4294967296+n;return Ms(s),s}}En.decode=cn;function ja(e){return Ms(e),e<253?1:e<=65535?3:e<=4294967295?5:9}En.encodingLength=ja;var Gi={},hi={},Fe={};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.testnet=Fe.regtest=Fe.bitcoin=void 0;Fe.bitcoin={messagePrefix:`Bitcoin Signed Message:
6
+ */(function(e){const t=ui,r=Os,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=a,e.SlowBuffer=U,e.INSPECT_MAX_BYTES=50;const i=2147483647;e.kMaxLength=i,a.TYPED_ARRAY_SUPPORT=s(),!a.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),f={foo:function(){return 42}};return Object.setPrototypeOf(f,Uint8Array.prototype),Object.setPrototypeOf(h,f),h.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function o(h){if(h>i)throw new RangeError('The value "'+h+'" is invalid for option "size"');const f=new Uint8Array(h);return Object.setPrototypeOf(f,a.prototype),f}function a(h,f,u){if(typeof h=="number"){if(typeof f=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return p(h)}return c(h,f,u)}a.poolSize=8192;function c(h,f,u){if(typeof h=="string")return _(h,f);if(ArrayBuffer.isView(h))return I(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(qe(h,ArrayBuffer)||h&&qe(h.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(qe(h,SharedArrayBuffer)||h&&qe(h.buffer,SharedArrayBuffer)))return B(h,f,u);if(typeof h=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const b=h.valueOf&&h.valueOf();if(b!=null&&b!==h)return a.from(b,f,u);const E=A(h);if(E)return E;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof h[Symbol.toPrimitive]=="function")return a.from(h[Symbol.toPrimitive]("string"),f,u);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h)}a.from=function(h,f,u){return c(h,f,u)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,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,f,u){return l(h),h<=0?o(h):f!==void 0?typeof u=="string"?o(h).fill(f,u):o(h).fill(f):o(h)}a.alloc=function(h,f,u){return d(h,f,u)};function p(h){return l(h),o(h<0?0:k(h)|0)}a.allocUnsafe=function(h){return p(h)},a.allocUnsafeSlow=function(h){return p(h)};function _(h,f){if((typeof f!="string"||f==="")&&(f="utf8"),!a.isEncoding(f))throw new TypeError("Unknown encoding: "+f);const u=v(h,f)|0;let b=o(u);const E=b.write(h,f);return E!==u&&(b=b.slice(0,E)),b}function y(h){const f=h.length<0?0:k(h.length)|0,u=o(f);for(let b=0;b<f;b+=1)u[b]=h[b]&255;return u}function I(h){if(qe(h,Uint8Array)){const f=new Uint8Array(h);return B(f.buffer,f.byteOffset,f.byteLength)}return y(h)}function B(h,f,u){if(f<0||h.byteLength<f)throw new RangeError('"offset" is outside of buffer bounds');if(h.byteLength<f+(u||0))throw new RangeError('"length" is outside of buffer bounds');let b;return f===void 0&&u===void 0?b=new Uint8Array(h):u===void 0?b=new Uint8Array(h,f):b=new Uint8Array(h,f,u),Object.setPrototypeOf(b,a.prototype),b}function A(h){if(a.isBuffer(h)){const f=k(h.length)|0,u=o(f);return u.length===0||h.copy(u,0,0,f),u}if(h.length!==void 0)return typeof h.length!="number"||Jt(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),a.alloc(+h)}a.isBuffer=function(f){return f!=null&&f._isBuffer===!0&&f!==a.prototype},a.compare=function(f,u){if(qe(f,Uint8Array)&&(f=a.from(f,f.offset,f.byteLength)),qe(u,Uint8Array)&&(u=a.from(u,u.offset,u.byteLength)),!a.isBuffer(f)||!a.isBuffer(u))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(f===u)return 0;let b=f.length,E=u.length;for(let O=0,L=Math.min(b,E);O<L;++O)if(f[O]!==u[O]){b=f[O],E=u[O];break}return b<E?-1:E<b?1:0},a.isEncoding=function(f){switch(String(f).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}},a.concat=function(f,u){if(!Array.isArray(f))throw new TypeError('"list" argument must be an Array of Buffers');if(f.length===0)return a.alloc(0);let b;if(u===void 0)for(u=0,b=0;b<f.length;++b)u+=f[b].length;const E=a.allocUnsafe(u);let O=0;for(b=0;b<f.length;++b){let L=f[b];if(qe(L,Uint8Array))O+L.length>E.length?(a.isBuffer(L)||(L=a.from(L)),L.copy(E,O)):Uint8Array.prototype.set.call(E,L,O);else if(a.isBuffer(L))L.copy(E,O);else throw new TypeError('"list" argument must be an Array of Buffers');O+=L.length}return E};function v(h,f){if(a.isBuffer(h))return h.length;if(ArrayBuffer.isView(h)||qe(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,b=arguments.length>2&&arguments[2]===!0;if(!b&&u===0)return 0;let E=!1;for(;;)switch(f){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 Wr(h).length;default:if(E)return b?-1:te(h).length;f=(""+f).toLowerCase(),E=!0}}a.byteLength=v;function m(h,f,u){let b=!1;if((f===void 0||f<0)&&(f=0),f>this.length||((u===void 0||u>this.length)&&(u=this.length),u<=0)||(u>>>=0,f>>>=0,u<=f))return"";for(h||(h="utf8");;)switch(h){case"hex":return Ve(this,f,u);case"utf8":case"utf-8":return W(this,f,u);case"ascii":return ue(this,f,u);case"latin1":case"binary":return tt(this,f,u);case"base64":return H(this,f,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return st(this,f,u);default:if(b)throw new TypeError("Unknown encoding: "+h);h=(h+"").toLowerCase(),b=!0}}a.prototype._isBuffer=!0;function S(h,f,u){const b=h[f];h[f]=h[u],h[u]=b}a.prototype.swap16=function(){const f=this.length;if(f%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let u=0;u<f;u+=2)S(this,u,u+1);return this},a.prototype.swap32=function(){const f=this.length;if(f%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let u=0;u<f;u+=4)S(this,u,u+3),S(this,u+1,u+2);return this},a.prototype.swap64=function(){const f=this.length;if(f%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let u=0;u<f;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},a.prototype.toString=function(){const f=this.length;return f===0?"":arguments.length===0?W(this,0,f):m.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(f){if(!a.isBuffer(f))throw new TypeError("Argument must be a Buffer");return this===f?!0:a.compare(this,f)===0},a.prototype.inspect=function(){let f="";const u=e.INSPECT_MAX_BYTES;return f=this.toString("hex",0,u).replace(/(.{2})/g,"$1 ").trim(),this.length>u&&(f+=" ... "),"<Buffer "+f+">"},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(f,u,b,E,O){if(qe(f,Uint8Array)&&(f=a.from(f,f.offset,f.byteLength)),!a.isBuffer(f))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof f);if(u===void 0&&(u=0),b===void 0&&(b=f?f.length:0),E===void 0&&(E=0),O===void 0&&(O=this.length),u<0||b>f.length||E<0||O>this.length)throw new RangeError("out of range index");if(E>=O&&u>=b)return 0;if(E>=O)return-1;if(u>=b)return 1;if(u>>>=0,b>>>=0,E>>>=0,O>>>=0,this===f)return 0;let L=O-E,Q=b-u;const ve=Math.min(L,Q),ge=this.slice(E,O),Ee=f.slice(u,b);for(let se=0;se<ve;++se)if(ge[se]!==Ee[se]){L=ge[se],Q=Ee[se];break}return L<Q?-1:Q<L?1:0};function x(h,f,u,b,E){if(h.length===0)return-1;if(typeof u=="string"?(b=u,u=0):u>2147483647?u=2147483647:u<-2147483648&&(u=-2147483648),u=+u,Jt(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 f=="string"&&(f=a.from(f,b)),a.isBuffer(f))return f.length===0?-1:M(h,f,u,b,E);if(typeof f=="number")return f=f&255,typeof Uint8Array.prototype.indexOf=="function"?E?Uint8Array.prototype.indexOf.call(h,f,u):Uint8Array.prototype.lastIndexOf.call(h,f,u):M(h,[f],u,b,E);throw new TypeError("val must be string, number or Buffer")}function M(h,f,u,b,E){let O=1,L=h.length,Q=f.length;if(b!==void 0&&(b=String(b).toLowerCase(),b==="ucs2"||b==="ucs-2"||b==="utf16le"||b==="utf-16le")){if(h.length<2||f.length<2)return-1;O=2,L/=2,Q/=2,u/=2}function ve(Ee,se){return O===1?Ee[se]:Ee.readUInt16BE(se*O)}let ge;if(E){let Ee=-1;for(ge=u;ge<L;ge++)if(ve(h,ge)===ve(f,Ee===-1?0:ge-Ee)){if(Ee===-1&&(Ee=ge),ge-Ee+1===Q)return Ee*O}else Ee!==-1&&(ge-=ge-Ee),Ee=-1}else for(u+Q>L&&(u=L-Q),ge=u;ge>=0;ge--){let Ee=!0;for(let se=0;se<Q;se++)if(ve(h,ge+se)!==ve(f,se)){Ee=!1;break}if(Ee)return ge}return-1}a.prototype.includes=function(f,u,b){return this.indexOf(f,u,b)!==-1},a.prototype.indexOf=function(f,u,b){return x(this,f,u,b,!0)},a.prototype.lastIndexOf=function(f,u,b){return x(this,f,u,b,!1)};function $(h,f,u,b){u=Number(u)||0;const E=h.length-u;b?(b=Number(b),b>E&&(b=E)):b=E;const O=f.length;b>O/2&&(b=O/2);let L;for(L=0;L<b;++L){const Q=parseInt(f.substr(L*2,2),16);if(Jt(Q))return L;h[u+L]=Q}return L}function R(h,f,u,b){return mr(te(f,h.length-u),h,u,b)}function z(h,f,u,b){return mr(Rt(f),h,u,b)}function Z(h,f,u,b){return mr(Wr(f),h,u,b)}function C(h,f,u,b){return mr(gr(f,h.length-u),h,u,b)}a.prototype.write=function(f,u,b,E){if(u===void 0)E="utf8",b=this.length,u=0;else if(b===void 0&&typeof u=="string")E=u,b=this.length,u=0;else if(isFinite(u))u=u>>>0,isFinite(b)?(b=b>>>0,E===void 0&&(E="utf8")):(E=b,b=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const O=this.length-u;if((b===void 0||b>O)&&(b=O),f.length>0&&(b<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 $(this,f,u,b);case"utf8":case"utf-8":return R(this,f,u,b);case"ascii":case"latin1":case"binary":return z(this,f,u,b);case"base64":return Z(this,f,u,b);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,f,u,b);default:if(L)throw new TypeError("Unknown encoding: "+E);E=(""+E).toLowerCase(),L=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function H(h,f,u){return f===0&&u===h.length?t.fromByteArray(h):t.fromByteArray(h.slice(f,u))}function W(h,f,u){u=Math.min(h.length,u);const b=[];let E=f;for(;E<u;){const O=h[E];let L=null,Q=O>239?4:O>223?3:O>191?2:1;if(E+Q<=u){let ve,ge,Ee,se;switch(Q){case 1:O<128&&(L=O);break;case 2:ve=h[E+1],(ve&192)===128&&(se=(O&31)<<6|ve&63,se>127&&(L=se));break;case 3:ve=h[E+1],ge=h[E+2],(ve&192)===128&&(ge&192)===128&&(se=(O&15)<<12|(ve&63)<<6|ge&63,se>2047&&(se<55296||se>57343)&&(L=se));break;case 4:ve=h[E+1],ge=h[E+2],Ee=h[E+3],(ve&192)===128&&(ge&192)===128&&(Ee&192)===128&&(se=(O&15)<<18|(ve&63)<<12|(ge&63)<<6|Ee&63,se>65535&&se<1114112&&(L=se))}}L===null?(L=65533,Q=1):L>65535&&(L-=65536,b.push(L>>>10&1023|55296),L=56320|L&1023),b.push(L),E+=Q}return fe(b)}const q=4096;function fe(h){const f=h.length;if(f<=q)return String.fromCharCode.apply(String,h);let u="",b=0;for(;b<f;)u+=String.fromCharCode.apply(String,h.slice(b,b+=q));return u}function ue(h,f,u){let b="";u=Math.min(h.length,u);for(let E=f;E<u;++E)b+=String.fromCharCode(h[E]&127);return b}function tt(h,f,u){let b="";u=Math.min(h.length,u);for(let E=f;E<u;++E)b+=String.fromCharCode(h[E]);return b}function Ve(h,f,u){const b=h.length;(!f||f<0)&&(f=0),(!u||u<0||u>b)&&(u=b);let E="";for(let O=f;O<u;++O)E+=Vr[h[O]];return E}function st(h,f,u){const b=h.slice(f,u);let E="";for(let O=0;O<b.length-1;O+=2)E+=String.fromCharCode(b[O]+b[O+1]*256);return E}a.prototype.slice=function(f,u){const b=this.length;f=~~f,u=u===void 0?b:~~u,f<0?(f+=b,f<0&&(f=0)):f>b&&(f=b),u<0?(u+=b,u<0&&(u=0)):u>b&&(u=b),u<f&&(u=f);const E=this.subarray(f,u);return Object.setPrototypeOf(E,a.prototype),E};function be(h,f,u){if(h%1!==0||h<0)throw new RangeError("offset is not uint");if(h+f>u)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(f,u,b){f=f>>>0,u=u>>>0,b||be(f,u,this.length);let E=this[f],O=1,L=0;for(;++L<u&&(O*=256);)E+=this[f+L]*O;return E},a.prototype.readUintBE=a.prototype.readUIntBE=function(f,u,b){f=f>>>0,u=u>>>0,b||be(f,u,this.length);let E=this[f+--u],O=1;for(;u>0&&(O*=256);)E+=this[f+--u]*O;return E},a.prototype.readUint8=a.prototype.readUInt8=function(f,u){return f=f>>>0,u||be(f,1,this.length),this[f]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(f,u){return f=f>>>0,u||be(f,2,this.length),this[f]|this[f+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(f,u){return f=f>>>0,u||be(f,2,this.length),this[f]<<8|this[f+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(f,u){return f=f>>>0,u||be(f,4,this.length),(this[f]|this[f+1]<<8|this[f+2]<<16)+this[f+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(f,u){return f=f>>>0,u||be(f,4,this.length),this[f]*16777216+(this[f+1]<<16|this[f+2]<<8|this[f+3])},a.prototype.readBigUInt64LE=Xe(function(f){f=f>>>0,N(f,"offset");const u=this[f],b=this[f+7];(u===void 0||b===void 0)&&D(f,this.length-8);const E=u+this[++f]*2**8+this[++f]*2**16+this[++f]*2**24,O=this[++f]+this[++f]*2**8+this[++f]*2**16+b*2**24;return BigInt(E)+(BigInt(O)<<BigInt(32))}),a.prototype.readBigUInt64BE=Xe(function(f){f=f>>>0,N(f,"offset");const u=this[f],b=this[f+7];(u===void 0||b===void 0)&&D(f,this.length-8);const E=u*2**24+this[++f]*2**16+this[++f]*2**8+this[++f],O=this[++f]*2**24+this[++f]*2**16+this[++f]*2**8+b;return(BigInt(E)<<BigInt(32))+BigInt(O)}),a.prototype.readIntLE=function(f,u,b){f=f>>>0,u=u>>>0,b||be(f,u,this.length);let E=this[f],O=1,L=0;for(;++L<u&&(O*=256);)E+=this[f+L]*O;return O*=128,E>=O&&(E-=Math.pow(2,8*u)),E},a.prototype.readIntBE=function(f,u,b){f=f>>>0,u=u>>>0,b||be(f,u,this.length);let E=u,O=1,L=this[f+--E];for(;E>0&&(O*=256);)L+=this[f+--E]*O;return O*=128,L>=O&&(L-=Math.pow(2,8*u)),L},a.prototype.readInt8=function(f,u){return f=f>>>0,u||be(f,1,this.length),this[f]&128?(255-this[f]+1)*-1:this[f]},a.prototype.readInt16LE=function(f,u){f=f>>>0,u||be(f,2,this.length);const b=this[f]|this[f+1]<<8;return b&32768?b|4294901760:b},a.prototype.readInt16BE=function(f,u){f=f>>>0,u||be(f,2,this.length);const b=this[f+1]|this[f]<<8;return b&32768?b|4294901760:b},a.prototype.readInt32LE=function(f,u){return f=f>>>0,u||be(f,4,this.length),this[f]|this[f+1]<<8|this[f+2]<<16|this[f+3]<<24},a.prototype.readInt32BE=function(f,u){return f=f>>>0,u||be(f,4,this.length),this[f]<<24|this[f+1]<<16|this[f+2]<<8|this[f+3]},a.prototype.readBigInt64LE=Xe(function(f){f=f>>>0,N(f,"offset");const u=this[f],b=this[f+7];(u===void 0||b===void 0)&&D(f,this.length-8);const E=this[f+4]+this[f+5]*2**8+this[f+6]*2**16+(b<<24);return(BigInt(E)<<BigInt(32))+BigInt(u+this[++f]*2**8+this[++f]*2**16+this[++f]*2**24)}),a.prototype.readBigInt64BE=Xe(function(f){f=f>>>0,N(f,"offset");const u=this[f],b=this[f+7];(u===void 0||b===void 0)&&D(f,this.length-8);const E=(u<<24)+this[++f]*2**16+this[++f]*2**8+this[++f];return(BigInt(E)<<BigInt(32))+BigInt(this[++f]*2**24+this[++f]*2**16+this[++f]*2**8+b)}),a.prototype.readFloatLE=function(f,u){return f=f>>>0,u||be(f,4,this.length),r.read(this,f,!0,23,4)},a.prototype.readFloatBE=function(f,u){return f=f>>>0,u||be(f,4,this.length),r.read(this,f,!1,23,4)},a.prototype.readDoubleLE=function(f,u){return f=f>>>0,u||be(f,8,this.length),r.read(this,f,!0,52,8)},a.prototype.readDoubleBE=function(f,u){return f=f>>>0,u||be(f,8,this.length),r.read(this,f,!1,52,8)};function xe(h,f,u,b,E,O){if(!a.isBuffer(h))throw new TypeError('"buffer" argument must be a Buffer instance');if(f>E||f<O)throw new RangeError('"value" argument is out of bounds');if(u+b>h.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(f,u,b,E){if(f=+f,u=u>>>0,b=b>>>0,!E){const Q=Math.pow(2,8*b)-1;xe(this,f,u,b,Q,0)}let O=1,L=0;for(this[u]=f&255;++L<b&&(O*=256);)this[u+L]=f/O&255;return u+b},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(f,u,b,E){if(f=+f,u=u>>>0,b=b>>>0,!E){const Q=Math.pow(2,8*b)-1;xe(this,f,u,b,Q,0)}let O=b-1,L=1;for(this[u+O]=f&255;--O>=0&&(L*=256);)this[u+O]=f/L&255;return u+b},a.prototype.writeUint8=a.prototype.writeUInt8=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,1,255,0),this[u]=f&255,u+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,2,65535,0),this[u]=f&255,this[u+1]=f>>>8,u+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,2,65535,0),this[u]=f>>>8,this[u+1]=f&255,u+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,4,4294967295,0),this[u+3]=f>>>24,this[u+2]=f>>>16,this[u+1]=f>>>8,this[u]=f&255,u+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,4,4294967295,0),this[u]=f>>>24,this[u+1]=f>>>16,this[u+2]=f>>>8,this[u+3]=f&255,u+4};function ze(h,f,u,b,E){g(f,b,E,h,u,7);let O=Number(f&BigInt(4294967295));h[u++]=O,O=O>>8,h[u++]=O,O=O>>8,h[u++]=O,O=O>>8,h[u++]=O;let L=Number(f>>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 kt(h,f,u,b,E){g(f,b,E,h,u,7);let O=Number(f&BigInt(4294967295));h[u+7]=O,O=O>>8,h[u+6]=O,O=O>>8,h[u+5]=O,O=O>>8,h[u+4]=O;let L=Number(f>>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}a.prototype.writeBigUInt64LE=Xe(function(f,u=0){return ze(this,f,u,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=Xe(function(f,u=0){return kt(this,f,u,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(f,u,b,E){if(f=+f,u=u>>>0,!E){const ve=Math.pow(2,8*b-1);xe(this,f,u,b,ve-1,-ve)}let O=0,L=1,Q=0;for(this[u]=f&255;++O<b&&(L*=256);)f<0&&Q===0&&this[u+O-1]!==0&&(Q=1),this[u+O]=(f/L>>0)-Q&255;return u+b},a.prototype.writeIntBE=function(f,u,b,E){if(f=+f,u=u>>>0,!E){const ve=Math.pow(2,8*b-1);xe(this,f,u,b,ve-1,-ve)}let O=b-1,L=1,Q=0;for(this[u+O]=f&255;--O>=0&&(L*=256);)f<0&&Q===0&&this[u+O+1]!==0&&(Q=1),this[u+O]=(f/L>>0)-Q&255;return u+b},a.prototype.writeInt8=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,1,127,-128),f<0&&(f=255+f+1),this[u]=f&255,u+1},a.prototype.writeInt16LE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,2,32767,-32768),this[u]=f&255,this[u+1]=f>>>8,u+2},a.prototype.writeInt16BE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,2,32767,-32768),this[u]=f>>>8,this[u+1]=f&255,u+2},a.prototype.writeInt32LE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,4,2147483647,-2147483648),this[u]=f&255,this[u+1]=f>>>8,this[u+2]=f>>>16,this[u+3]=f>>>24,u+4},a.prototype.writeInt32BE=function(f,u,b){return f=+f,u=u>>>0,b||xe(this,f,u,4,2147483647,-2147483648),f<0&&(f=4294967295+f+1),this[u]=f>>>24,this[u+1]=f>>>16,this[u+2]=f>>>8,this[u+3]=f&255,u+4},a.prototype.writeBigInt64LE=Xe(function(f,u=0){return ze(this,f,u,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=Xe(function(f,u=0){return kt(this,f,u,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function bt(h,f,u,b,E,O){if(u+b>h.length)throw new RangeError("Index out of range");if(u<0)throw new RangeError("Index out of range")}function P(h,f,u,b,E){return f=+f,u=u>>>0,E||bt(h,f,u,4),r.write(h,f,u,b,23,4),u+4}a.prototype.writeFloatLE=function(f,u,b){return P(this,f,u,!0,b)},a.prototype.writeFloatBE=function(f,u,b){return P(this,f,u,!1,b)};function T(h,f,u,b,E){return f=+f,u=u>>>0,E||bt(h,f,u,8),r.write(h,f,u,b,52,8),u+8}a.prototype.writeDoubleLE=function(f,u,b){return T(this,f,u,!0,b)},a.prototype.writeDoubleBE=function(f,u,b){return T(this,f,u,!1,b)},a.prototype.copy=function(f,u,b,E){if(!a.isBuffer(f))throw new TypeError("argument should be a Buffer");if(b||(b=0),!E&&E!==0&&(E=this.length),u>=f.length&&(u=f.length),u||(u=0),E>0&&E<b&&(E=b),E===b||f.length===0||this.length===0)return 0;if(u<0)throw new RangeError("targetStart out of bounds");if(b<0||b>=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),f.length-u<E-b&&(E=f.length-u+b);const O=E-b;return this===f&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(u,b,E):Uint8Array.prototype.set.call(f,this.subarray(b,E),u),O},a.prototype.fill=function(f,u,b,E){if(typeof f=="string"){if(typeof u=="string"?(E=u,u=0,b=this.length):typeof b=="string"&&(E=b,b=this.length),E!==void 0&&typeof E!="string")throw new TypeError("encoding must be a string");if(typeof E=="string"&&!a.isEncoding(E))throw new TypeError("Unknown encoding: "+E);if(f.length===1){const L=f.charCodeAt(0);(E==="utf8"&&L<128||E==="latin1")&&(f=L)}}else typeof f=="number"?f=f&255:typeof f=="boolean"&&(f=Number(f));if(u<0||this.length<u||this.length<b)throw new RangeError("Out of range index");if(b<=u)return this;u=u>>>0,b=b===void 0?this.length:b>>>0,f||(f=0);let O;if(typeof f=="number")for(O=u;O<b;++O)this[O]=f;else{const L=a.isBuffer(f)?f:a.from(f,E),Q=L.length;if(Q===0)throw new TypeError('The value "'+f+'" is invalid for argument "value"');for(O=0;O<b-u;++O)this[O+u]=L[O%Q]}return this};const F={};function G(h,f,u){F[h]=class extends u{constructor(){super(),Object.defineProperty(this,"message",{value:f.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,f){return`The "${h}" argument must be of type number. Received type ${typeof f}`},TypeError),G("ERR_OUT_OF_RANGE",function(h,f,u){let b=`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"),b+=` It must be ${f}. Received ${E}`,b},RangeError);function K(h){let f="",u=h.length;const b=h[0]==="-"?1:0;for(;u>=b+4;u-=3)f=`_${h.slice(u-3,u)}${f}`;return`${h.slice(0,u)}${f}`}function w(h,f,u){N(f,"offset"),(h[f]===void 0||h[f+u]===void 0)&&D(f,h.length-(u+1))}function g(h,f,u,b,E,O){if(h>u||h<f){const L=typeof f=="bigint"?"n":"";let Q;throw f===0||f===BigInt(0)?Q=`>= 0${L} and < 2${L} ** ${(O+1)*8}${L}`:Q=`>= -(2${L} ** ${(O+1)*8-1}${L}) and < 2 ** ${(O+1)*8-1}${L}`,new F.ERR_OUT_OF_RANGE("value",Q,h)}w(b,E,O)}function N(h,f){if(typeof h!="number")throw new F.ERR_INVALID_ARG_TYPE(f,"number",h)}function D(h,f,u){throw Math.floor(h)!==h?(N(h,u),new F.ERR_OUT_OF_RANGE("offset","an integer",h)):f<0?new F.ERR_BUFFER_OUT_OF_BOUNDS:new F.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${f}`,h)}const we=/[^+/0-9A-Za-z-_]/g;function Y(h){if(h=h.split("=")[0],h=h.trim().replace(we,""),h.length<2)return"";for(;h.length%4!==0;)h=h+"=";return h}function te(h,f){f=f||1/0;let u;const b=h.length;let E=null;const O=[];for(let L=0;L<b;++L){if(u=h.charCodeAt(L),u>55295&&u<57344){if(!E){if(u>56319){(f-=3)>-1&&O.push(239,191,189);continue}else if(L+1===b){(f-=3)>-1&&O.push(239,191,189);continue}E=u;continue}if(u<56320){(f-=3)>-1&&O.push(239,191,189),E=u;continue}u=(E-55296<<10|u-56320)+65536}else E&&(f-=3)>-1&&O.push(239,191,189);if(E=null,u<128){if((f-=1)<0)break;O.push(u)}else if(u<2048){if((f-=2)<0)break;O.push(u>>6|192,u&63|128)}else if(u<65536){if((f-=3)<0)break;O.push(u>>12|224,u>>6&63|128,u&63|128)}else if(u<1114112){if((f-=4)<0)break;O.push(u>>18|240,u>>12&63|128,u>>6&63|128,u&63|128)}else throw new Error("Invalid code point")}return O}function Rt(h){const f=[];for(let u=0;u<h.length;++u)f.push(h.charCodeAt(u)&255);return f}function gr(h,f){let u,b,E;const O=[];for(let L=0;L<h.length&&!((f-=2)<0);++L)u=h.charCodeAt(L),b=u>>8,E=u%256,O.push(E),O.push(b);return O}function Wr(h){return t.toByteArray(Y(h))}function mr(h,f,u,b){let E;for(E=0;E<b&&!(E+u>=f.length||E>=h.length);++E)f[E+u]=h[E];return E}function qe(h,f){return h instanceof f||h!=null&&h.constructor!=null&&h.constructor.name!=null&&h.constructor.name===f.name}function Jt(h){return h!==h}const Vr=function(){const h="0123456789abcdef",f=new Array(256);for(let u=0;u<16;++u){const b=u*16;for(let E=0;E<16;++E)f[b+E]=h[u]+h[E]}return f}();function Xe(h){return typeof BigInt>"u"?Qt:h}function Qt(){throw new Error("BigInt not supported")}})(Ot);var yn={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}};yn.Null=yn.Nil;for(var oo in yn)yn[oo].toJSON=(function(e){return e}).bind(null,oo);var ks=yn,ir=ks;function va(e){return e.name||e.toString().match(/function (.*?)\s*\(/)[1]}function Rs(e){return ir.Nil(e)?"":va(e.constructor)}function Hu(e){return ir.Function(e)?"":ir.String(e)?JSON.stringify(e):e&&ir.Object(e)?"":e}function Us(e,t){Error.captureStackTrace&&Error.captureStackTrace(e,t)}function Qn(e){return ir.Function(e)?e.toJSON?e.toJSON():va(e):ir.Array(e)?"Array":e&&ir.Object(e)?"Object":e!==void 0?e:""}function Ea(e,t,r){var n=Hu(t);return"Expected "+Qn(e)+", got"+(r!==""?" "+r:"")+(n!==""?" "+n:"")}function Pt(e,t,r){r=r||Rs(t),this.message=Ea(e,t,r),Us(this,Pt),this.__type=e,this.__value=t,this.__valueTypeName=r}Pt.prototype=Object.create(Error.prototype);Pt.prototype.constructor=Pt;function Mu(e,t,r,n,i){var s='" of type ';return t==="key"&&(s='" with key type '),Ea('property "'+Qn(r)+s+Qn(e),n,i)}function Ir(e,t,r,n,i){e?(i=i||Rs(n),this.message=Mu(e,r,t,n,i)):this.message='Unexpected property "'+t+'"',Us(this,Pt),this.__label=r,this.__property=t,this.__type=e,this.__value=n,this.__valueTypeName=i}Ir.prototype=Object.create(Error.prototype);Ir.prototype.constructor=Pt;function Du(e,t){return new Pt(e,{},t)}function $u(e,t,r){return e instanceof Ir?(t=t+"."+e.__property,e=new Ir(e.__type,t,e.__label,e.__value,e.__valueTypeName)):e instanceof Pt&&(e=new Ir(e.__type,t,r,e.__value,e.__valueTypeName)),Us(e),e}var xa={TfTypeError:Pt,TfPropertyTypeError:Ir,tfCustomError:Du,tfSubError:$u,tfJSON:Qn,getValueTypeName:Rs},Fi,ao;function ju(){if(ao)return Fi;ao=1;var e=ks,t=xa;function r(x){return Buffer.isBuffer(x)}function n(x){return typeof x=="string"&&/^([0-9a-f]{2})+$/i.test(x)}function i(x,M){var $=x.toJSON();function R(z){if(!x(z))return!1;if(z.length===M)return!0;throw t.tfCustomError($+"(Length: "+M+")",$+"(Length: "+z.length+")")}return R.toJSON=function(){return $},R}var s=i.bind(null,e.Array),o=i.bind(null,r),a=i.bind(null,n),c=i.bind(null,e.String);function l(x,M,$){$=$||e.Number;function R(z,Z){return $(z,Z)&&z>x&&z<M}return R.toJSON=function(){return`${$.toJSON()} between [${x}, ${M}]`},R}var d=Math.pow(2,53)-1;function p(x){return typeof x=="number"&&isFinite(x)}function _(x){return x<<24>>24===x}function y(x){return x<<16>>16===x}function I(x){return(x|0)===x}function B(x){return typeof x=="number"&&x>=-d&&x<=d&&Math.floor(x)===x}function A(x){return(x&255)===x}function k(x){return(x&65535)===x}function U(x){return x>>>0===x}function v(x){return typeof x=="number"&&x>=0&&x<=d&&Math.floor(x)===x}var m={ArrayN:s,Buffer:r,BufferN:o,Finite:p,Hex:n,HexN:a,Int8:_,Int16:y,Int32:I,Int53:B,Range:l,StringN:c,UInt8:A,UInt16:k,UInt32:U,UInt53:v};for(var S in m)m[S].toJSON=(function(x){return x}).bind(null,S);return Fi=m,Fi}var mn=xa,Ie=ks,wt=mn.tfJSON,Sa=mn.TfTypeError,Ba=mn.TfPropertyTypeError,zr=mn.tfSubError,Gu=mn.getValueTypeName,xt={arrayOf:function(t,r){t=lt(t),r=r||{};function n(i,s){return!Ie.Array(i)||Ie.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,a){try{return Ge(t,o,s)}catch(c){throw zr(c,a)}})}return n.toJSON=function(){var i="["+wt(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=lt(t);function r(n,i){return Ie.Nil(n)||t(n,i,e)}return r.toJSON=function(){return"?"+wt(t)},r},map:function(t,r){t=lt(t),r&&(r=lt(r));function n(i,s){if(!Ie.Object(i)||Ie.Nil(i))return!1;for(var o in i){try{r&&Ge(r,o,s)}catch(c){throw zr(c,o,"key")}try{var a=i[o];Ge(t,a,s)}catch(c){throw zr(c,o)}}return!0}return r?n.toJSON=function(){return"{"+wt(r)+": "+wt(t)+"}"}:n.toJSON=function(){return"{"+wt(t)+"}"},n},object:function(t){var r={};for(var n in t)r[n]=lt(t[n]);function i(s,o){if(!Ie.Object(s)||Ie.Nil(s))return!1;var a;try{for(a in r){var c=r[a],l=s[a];Ge(c,l,o)}}catch(d){throw zr(d,a)}if(o){for(a in s)if(!r[a])throw new Ba(void 0,a)}return!0}return i.toJSON=function(){return wt(r)},i},anyOf:function(){var t=[].slice.call(arguments).map(lt);function r(n,i){return t.some(function(s){try{return Ge(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(wt).join("|")},r},allOf:function(){var t=[].slice.call(arguments).map(lt);function r(n,i){return t.every(function(s){try{return Ge(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(wt).join(" & ")},r},quacksLike:function(t){function r(n){return t===Gu(n)}return r.toJSON=function(){return t},r},tuple:function(){var t=[].slice.call(arguments).map(lt);function r(n,i){return Ie.Nil(n)||Ie.Nil(n.length)||i&&n.length!==t.length?!1:t.every(function(s,o){try{return Ge(s,n[o],i)}catch(a){throw zr(a,o)}})}return r.toJSON=function(){return"("+t.map(wt).join(", ")+")"},r},value:function(t){function r(n){return n===t}return r.toJSON=function(){return t},r}};xt.oneOf=xt.anyOf;function lt(e){if(Ie.String(e))return e[0]==="?"?xt.maybe(e.slice(1)):Ie[e]||xt.quacksLike(e);if(e&&Ie.Object(e)){if(Ie.Array(e)){if(e.length!==1)throw new TypeError("Expected compile() parameter of type Array of length 1");return xt.arrayOf(e[0])}return xt.object(e)}else if(Ie.Function(e))return e;return xt.value(e)}function Ge(e,t,r,n){if(Ie.Function(e)){if(e(t,r))return!0;throw new Sa(n||e,t)}return Ge(lt(e),t,r)}for(var Gt in Ie)Ge[Gt]=Ie[Gt];for(Gt in xt)Ge[Gt]=xt[Gt];var fo=ju();for(Gt in fo)Ge[Gt]=fo[Gt];Ge.compile=lt;Ge.TfTypeError=Sa;Ge.TfPropertyTypeError=Ba;var Ta=Ge;(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=Ot;e.typeforce=Ta;const r=t.Buffer.alloc(32,0),n=t.Buffer.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex");function i(d,p){return d.length!==p.length?!1:d.every((_,y)=>_.equals(p[y]))}e.stacksEqual=i;function s(d){if(!t.Buffer.isBuffer(d)||d.length<33)return!1;const p=d[0],_=d.slice(1,33);if(_.compare(r)===0||_.compare(n)>=0)return!1;if((p===2||p===3)&&d.length===33)return!0;const y=d.slice(33);return y.compare(r)===0||y.compare(n)>=0?!1:p===4&&d.length===65}e.isPoint=s;const o=21*1e14;function a(d){return e.typeforce.UInt53(d)&&d<=o}e.Satoshi=a,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(p=>l(p)):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})(He);var _n={},Oe={};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.BufferReader=Oe.BufferWriter=Oe.cloneBuffer=Oe.reverseBuffer=Oe.writeUInt64LE=Oe.readUInt64LE=Oe.varuint=void 0;const sr=He,{typeforce:Pa}=sr,bn=pa;Oe.varuint=bn;function Aa(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 Ia(e,t){const r=e.readUInt32LE(t);let n=e.readUInt32LE(t+4);return n*=4294967296,Aa(n+r,9007199254740991),n+r}Oe.readUInt64LE=Ia;function Oa(e,t,r){return Aa(t,9007199254740991),e.writeInt32LE(t&-1,r),e.writeUInt32LE(Math.floor(t/4294967296),r+4),r+8}Oe.writeUInt64LE=Oa;function Wu(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}Oe.reverseBuffer=Wu;function Vu(e){const t=Buffer.allocUnsafe(e.length);return e.copy(t),t}Oe.cloneBuffer=Vu;class Cs{static withCapacity(t){return new Cs(Buffer.alloc(t))}constructor(t,r=0){this.buffer=t,this.offset=r,Pa(sr.tuple(sr.Buffer,sr.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=Oa(this.buffer,t,this.offset)}writeVarInt(t){bn.encode(t,this.buffer,this.offset),this.offset+=bn.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}`)}}Oe.BufferWriter=Cs;class zu{constructor(t,r=0){this.buffer=t,this.offset=r,Pa(sr.tuple(sr.Buffer,sr.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=Ia(this.buffer,this.offset);return this.offset+=8,t}readVarInt(){const t=bn.decode(this.buffer,this.offset);return this.offset+=bn.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}}Oe.BufferReader=zu;var qt={},Cr={},pt={},nt={};Object.defineProperty(nt,"__esModule",{value:!0});nt.isBytes=Ra;nt.number=Zn;nt.bool=ka;nt.bytes=Ls;nt.hash=Ua;nt.exists=Ca;nt.output=La;function Zn(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function ka(e){if(typeof e!="boolean")throw new Error(`boolean expected, not ${e}`)}function Ra(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function Ls(e,...t){if(!Ra(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 Ua(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Zn(e.outputLen),Zn(e.blockLen)}function Ca(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 La(e,t){Ls(e);const r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}const qu={number:Zn,bool:ka,bytes:Ls,hash:Ua,exists:Ca,output:La};nt.default=qu;var vn={},ci={};Object.defineProperty(ci,"__esModule",{value:!0});ci.crypto=void 0;ci.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=_,e.hexToBytes=B,e.asyncLoop=k,e.utf8ToBytes=U,e.toBytes=v,e.concatBytes=m,e.checkOpts=M,e.wrapConstructor=$,e.wrapConstructorWithOpts=R,e.wrapXOFConstructorWithOpts=z,e.randomBytes=Z;const t=ci,r=nt;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 a=(C,H)=>C<<32-H|C>>>H;e.rotr=a;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 p=Array.from({length:256},(C,H)=>H.toString(16).padStart(2,"0"));function _(C){(0,r.bytes)(C);let H="";for(let W=0;W<C.length;W++)H+=p[C[W]];return H}const y={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function I(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,W=H/2;if(H%2)throw new Error("padded hex string expected, got unpadded hex of length "+H);const q=new Uint8Array(W);for(let fe=0,ue=0;fe<W;fe++,ue+=2){const tt=I(C.charCodeAt(ue)),Ve=I(C.charCodeAt(ue+1));if(tt===void 0||Ve===void 0){const st=C[ue]+C[ue+1];throw new Error('hex string expected, got non-hex character "'+st+'" at index '+ue)}q[fe]=tt*16+Ve}return q}const A=async()=>{};e.nextTick=A;async function k(C,H,W){let q=Date.now();for(let fe=0;fe<C;fe++){W(fe);const ue=Date.now()-q;ue>=0&&ue<H||(await(0,e.nextTick)(),q+=ue)}}function U(C){if(typeof C!="string")throw new Error(`utf8ToBytes expected string, got ${typeof C}`);return new Uint8Array(new TextEncoder().encode(C))}function v(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 fe=C[q];(0,r.bytes)(fe),H+=fe.length}const W=new Uint8Array(H);for(let q=0,fe=0;q<C.length;q++){const ue=C[q];W.set(ue,fe),fe+=ue.length}return W}class S{clone(){return this._cloneInto()}}e.Hash=S;const x={}.toString;function M(C,H){if(H!==void 0&&x.call(H)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(C,H)}function $(C){const H=q=>C().update(v(q)).digest(),W=C();return H.outputLen=W.outputLen,H.blockLen=W.blockLen,H.create=()=>C(),H}function R(C){const H=(q,fe)=>C(fe).update(v(q)).digest(),W=C({});return H.outputLen=W.outputLen,H.blockLen=W.blockLen,H.create=q=>C(q),H}function z(C){const H=(q,fe)=>C(fe).update(v(q)).digest(),W=C({});return H.outputLen=W.outputLen,H.blockLen=W.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")}})(vn);Object.defineProperty(pt,"__esModule",{value:!0});pt.HashMD=pt.Maj=pt.Chi=void 0;const Hi=nt,qr=vn;function Ku(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),a=Number(r&s),c=n?4:0,l=n?0:4;e.setUint32(t+c,o,n),e.setUint32(t+l,a,n)}const Yu=(e,t,r)=>e&t^~e&r;pt.Chi=Yu;const Xu=(e,t,r)=>e&t^e&r^t&r;pt.Maj=Xu;let Ju=class extends qr.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,qr.createView)(this.buffer)}update(t){(0,Hi.exists)(this);const{view:r,buffer:n,blockLen:i}=this;t=(0,qr.toBytes)(t);const s=t.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const c=(0,qr.createView)(t);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){(0,Hi.exists)(this),(0,Hi.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 p=o;p<i;p++)r[p]=0;Ku(n,i-8,BigInt(this.length*8),s),this.process(n,0);const a=(0,qr.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 p=0;p<l;p++)a.setUint32(4*p,d[p],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:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}};pt.HashMD=Ju;Object.defineProperty(Cr,"__esModule",{value:!0});Cr.ripemd160=Cr.RIPEMD160=void 0;const Qu=pt,fn=vn,Zu=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Na=new Uint8Array(new Array(16).fill(0).map((e,t)=>t)),ec=Na.map(e=>(9*e+5)%16);let Ns=[Na],Fs=[ec];for(let e=0;e<4;e++)for(let t of[Ns,Fs])t.push(t[e].map(r=>Zu[r]));const Fa=[[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)),tc=Ns.map((e,t)=>e.map(r=>Fa[t][r])),rc=Fs.map((e,t)=>e.map(r=>Fa[t][r])),nc=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),ic=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]);function uo(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 Rn=new Uint32Array(16);let Ha=class extends Qu.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)Rn[y]=t.getUint32(r,!0);let n=this.h0|0,i=n,s=this.h1|0,o=s,a=this.h2|0,c=a,l=this.h3|0,d=l,p=this.h4|0,_=p;for(let y=0;y<5;y++){const I=4-y,B=nc[y],A=ic[y],k=Ns[y],U=Fs[y],v=tc[y],m=rc[y];for(let S=0;S<16;S++){const x=(0,fn.rotl)(n+uo(y,s,a,l)+Rn[k[S]]+B,v[S])+p|0;n=p,p=l,l=(0,fn.rotl)(a,10)|0,a=s,s=x}for(let S=0;S<16;S++){const x=(0,fn.rotl)(i+uo(I,o,c,d)+Rn[U[S]]+A,m[S])+_|0;i=_,_=d,d=(0,fn.rotl)(c,10)|0,c=o,o=x}}this.set(this.h1+a+d|0,this.h2+l+_|0,this.h3+p+i|0,this.h4+n+o|0,this.h0+s+c|0)}roundClean(){Rn.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}};Cr.RIPEMD160=Ha;Cr.ripemd160=(0,fn.wrapConstructor)(()=>new Ha);var Lr={};Object.defineProperty(Lr,"__esModule",{value:!0});Lr.sha1=Lr.SHA1=void 0;const Mi=pt,Wn=vn,Kr=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Ut=new Uint32Array(80);class Ma extends Mi.HashMD{constructor(){super(64,20,8,!1),this.A=Kr[0]|0,this.B=Kr[1]|0,this.C=Kr[2]|0,this.D=Kr[3]|0,this.E=Kr[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)Ut[c]=t.getUint32(r,!1);for(let c=16;c<80;c++)Ut[c]=(0,Wn.rotl)(Ut[c-3]^Ut[c-8]^Ut[c-14]^Ut[c-16],1);let{A:n,B:i,C:s,D:o,E:a}=this;for(let c=0;c<80;c++){let l,d;c<20?(l=(0,Mi.Chi)(i,s,o),d=1518500249):c<40?(l=i^s^o,d=1859775393):c<60?(l=(0,Mi.Maj)(i,s,o),d=2400959708):(l=i^s^o,d=3395469782);const p=(0,Wn.rotl)(n,5)+l+a+d+Ut[c]|0;a=o,o=s,s=(0,Wn.rotl)(i,30),i=n,n=p}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,this.set(n,i,s,o,a)}roundClean(){Ut.fill(0)}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0)}}Lr.SHA1=Ma;Lr.sha1=(0,Wn.wrapConstructor)(()=>new Ma);var Bt={};Object.defineProperty(Bt,"__esModule",{value:!0});Bt.sha224=Bt.sha256=Bt.SHA256=void 0;const Di=pt,Qe=vn,sc=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]),Ct=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Lt=new Uint32Array(64);let Hs=class extends Di.HashMD{constructor(){super(64,32,8,!1),this.A=Ct[0]|0,this.B=Ct[1]|0,this.C=Ct[2]|0,this.D=Ct[3]|0,this.E=Ct[4]|0,this.F=Ct[5]|0,this.G=Ct[6]|0,this.H=Ct[7]|0}get(){const{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[t,r,n,i,s,o,a,c]}set(t,r,n,i,s,o,a,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=a|0,this.H=c|0}process(t,r){for(let p=0;p<16;p++,r+=4)Lt[p]=t.getUint32(r,!1);for(let p=16;p<64;p++){const _=Lt[p-15],y=Lt[p-2],I=(0,Qe.rotr)(_,7)^(0,Qe.rotr)(_,18)^_>>>3,B=(0,Qe.rotr)(y,17)^(0,Qe.rotr)(y,19)^y>>>10;Lt[p]=B+Lt[p-7]+I+Lt[p-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:l,H:d}=this;for(let p=0;p<64;p++){const _=(0,Qe.rotr)(a,6)^(0,Qe.rotr)(a,11)^(0,Qe.rotr)(a,25),y=d+_+(0,Di.Chi)(a,c,l)+sc[p]+Lt[p]|0,B=((0,Qe.rotr)(n,2)^(0,Qe.rotr)(n,13)^(0,Qe.rotr)(n,22))+(0,Di.Maj)(n,i,s)|0;d=l,l=c,c=a,a=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,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(n,i,s,o,a,c,l,d)}roundClean(){Lt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};Bt.SHA256=Hs;class oc extends Hs{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}}Bt.sha256=(0,Qe.wrapConstructor)(()=>new Hs);Bt.sha224=(0,Qe.wrapConstructor)(()=>new oc);(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=Cr,r=Lr,n=Bt;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 a(d){return Buffer.from((0,t.ripemd160)((0,n.sha256)(Uint8Array.from(d))))}e.hash160=a;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,p){return o(Buffer.concat([e.TAGGED_HASH_PREFIXES[d],p]))}e.taggedHash=l})(qt);var $i={},Tt={};Object.defineProperty(Tt,"__esModule",{value:!0});Tt.encode=Tt.decode=Tt.check=void 0;function ac(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))}Tt.check=ac;function fc(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)}}Tt.decode=fc;function uc(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}Tt.encode=uc;var ar={};Object.defineProperty(ar,"__esModule",{value:!0});ar.REVERSE_OPS=ar.OPS=void 0;const ps={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};ar.OPS=ps;const Da={};ar.REVERSE_OPS=Da;for(const e of Object.keys(ps)){const t=ps[e];Da[t]=e}var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0});Wt.decode=Wt.encode=Wt.encodingLength=void 0;const jt=ar;function $a(e){return e<jt.OPS.OP_PUSHDATA1?1:e<=255?2:e<=65535?3:5}Wt.encodingLength=$a;function cc(e,t,r){const n=$a(t);return n===1?e.writeUInt8(t,r):n===2?(e.writeUInt8(jt.OPS.OP_PUSHDATA1,r),e.writeUInt8(t,r+1)):n===3?(e.writeUInt8(jt.OPS.OP_PUSHDATA2,r),e.writeUInt16LE(t,r+1)):(e.writeUInt8(jt.OPS.OP_PUSHDATA4,r),e.writeUInt32LE(t,r+1)),n}Wt.encode=cc;function hc(e,t){const r=e.readUInt8(t);let n,i;if(r<jt.OPS.OP_PUSHDATA1)n=r,i=1;else if(r===jt.OPS.OP_PUSHDATA1){if(t+2>e.length)return null;n=e.readUInt8(t+1),i=2}else if(r===jt.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!==jt.OPS.OP_PUSHDATA4)throw new Error("Unexpected opcode");n=e.readUInt32LE(t+1),i=5}return{opcode:r,number:n,size:i}}Wt.decode=hc;var Nr={};Object.defineProperty(Nr,"__esModule",{value:!0});Nr.encode=Nr.decode=void 0;function lc(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}Nr.decode=lc;function dc(e){return e>2147483647?5:e>8388607?4:e>32767?3:e>127?2:e>0?1:0}function pc(e){let t=Math.abs(e);const r=dc(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}Nr.encode=pc;var tr={},co;function yc(){if(co)return tr;co=1,Object.defineProperty(tr,"__esModule",{value:!0}),tr.encode=tr.decode=void 0;const e=Tt,t=Ye(),r=He,{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),p=Math.max(0,32-l.length);return l.copy(d,p),d}function a(l){const d=l.readUInt8(l.length-1);if(!(0,t.isDefinedHashType)(d))throw new Error("Invalid hashType "+d);const p=e.decode(l.slice(0,-1)),_=o(p.r),y=o(p.s);return{signature:Buffer.concat([_,y],64),hashType:d}}tr.decode=a;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 p=Buffer.allocUnsafe(1);p.writeUInt8(d,0);const _=s(l.slice(0,32)),y=s(l.slice(32,64));return Buffer.concat([e.encode(_,y),p])}return tr.encode=c,tr}var ho;function Ye(){return ho||(ho=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=Tt,r=ar;Object.defineProperty(e,"OPS",{enumerable:!0,get:function(){return r.OPS}});const n=Wt,i=Nr,s=yc(),o=He,{typeforce:a}=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 p(R){return o.Array(R)&&R.every(d)}e.isPushOnly=p;function _(R){return R.length-R.filter(d).length}e.countNonPushOnlyOPs=_;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 I(R){return Buffer.isBuffer(R)}function B(R){return o.Array(R)}function A(R){return Buffer.isBuffer(R)}function k(R){if(I(R))return R;a(o.Array,R);const z=R.reduce((H,W)=>A(W)?W.length===1&&y(W)!==void 0?H+1:H+n.encodingLength(W.length)+W.length:H+1,0),Z=Buffer.allocUnsafe(z);let C=0;if(R.forEach(H=>{if(A(H)){const W=y(H);if(W!==void 0){Z.writeUInt8(W,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;a(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 W=R.slice(Z,Z+H.number);Z+=H.number;const q=y(W);q!==void 0?z.push(q):z.push(W)}else z.push(C),Z+=1}return z}e.decompile=U;function v(R){if(I(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=v;function m(R){return a(o.String,R),k(R.split(" ").map(z=>r.OPS[z]!==void 0?r.OPS[z]:(a(o.Hex,z),Buffer.from(z,"hex"))))}e.fromASM=m;function S(R){return R=U(R),a(p,R),R.map(z=>A(z)?z:z===r.OPS.OP_0?Buffer.allocUnsafe(0):i.encode(z-c))}e.toStack=S;function x(R){return o.isPoint(R)}e.isCanonicalPubKey=x;function M(R){const z=R&-129;return z>0&&z<4}e.isDefinedHashType=M;function $(R){return!Buffer.isBuffer(R)||!M(R[R.length-1])?!1:t.check(R.slice(0,-1))}e.isCanonicalScriptSignature=$,e.number=i,e.signature=s}($i)),$i}Object.defineProperty(_n,"__esModule",{value:!0});_n.Transaction=void 0;const Be=Oe,Me=qt,lo=Ye(),bc=Ye(),ee=He,{typeforce:ot}=ee;function ct(e){const t=e.length;return Be.varuint.encodingLength(t)+t}function wc(e){const t=e.length;return Be.varuint.encodingLength(t)+e.reduce((r,n)=>r+ct(n),0)}const $t=Buffer.allocUnsafe(0),po=[],ji=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),yo=Buffer.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),gc=Buffer.from("ffffffffffffffff","hex"),mc={script:$t,valueBuffer:gc};function _c(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 Be.BufferReader(t),i=new X;i.version=n.readInt32();const s=n.readUInt8(),o=n.readUInt8();let a=!1;s===X.ADVANCED_TRANSACTION_MARKER&&o===X.ADVANCED_TRANSACTION_FLAG?a=!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:po});const l=n.readVarInt();for(let d=0;d<l;++d)i.outs.push({value:n.readUInt64(),script:n.readVarSlice()});if(a){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){ot(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 ot(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||$t,sequence:n,witness:po})-1}addOutput(t,r){return ot(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)+Be.varuint.encodingLength(this.ins.length)+Be.varuint.encodingLength(this.outs.length)+this.ins.reduce((n,i)=>n+40+ct(i.script),0)+this.outs.reduce((n,i)=>n+8+ct(i.script),0)+(r?this.ins.reduce((n,i)=>n+wc(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(ot(ee.tuple(ee.UInt32,ee.Buffer,ee.Number),arguments),t>=this.ins.length)return yo;const i=lo.compile(lo.decompile(r).filter(a=>a!==bc.OPS.OP_CODESEPARATOR)),s=this.clone();if((n&31)===X.SIGHASH_NONE)s.outs=[],s.ins.forEach((a,c)=>{c!==t&&(a.sequence=0)});else if((n&31)===X.SIGHASH_SINGLE){if(t>=this.outs.length)return yo;s.outs.length=t+1;for(let a=0;a<t;a++)s.outs[a]=mc;s.ins.forEach((a,c)=>{c!==t&&(a.sequence=0)})}n&X.SIGHASH_ANYONECANPAY?(s.ins=[s.ins[t]],s.ins[0].script=i):(s.ins.forEach(a=>{a.script=$t}),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),Me.hash256(o)}hashForWitnessV1(t,r,n,i,s,o){if(ot(ee.tuple(ee.UInt32,ot.arrayOf(ee.Buffer),ot.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 a=i===X.SIGHASH_DEFAULT?X.SIGHASH_ALL:i&X.SIGHASH_OUTPUT_MASK,l=(i&X.SIGHASH_INPUT_MASK)===X.SIGHASH_ANYONECANPAY,d=a===X.SIGHASH_NONE,p=a===X.SIGHASH_SINGLE;let _=$t,y=$t,I=$t,B=$t,A=$t;if(!l){let m=Be.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach(S=>{m.writeSlice(S.hash),m.writeUInt32(S.index)}),_=Me.sha256(m.end()),m=Be.BufferWriter.withCapacity(8*this.ins.length),n.forEach(S=>m.writeUInt64(S)),y=Me.sha256(m.end()),m=Be.BufferWriter.withCapacity(r.map(ct).reduce((S,x)=>S+x)),r.forEach(S=>m.writeVarSlice(S)),I=Me.sha256(m.end()),m=Be.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach(S=>m.writeUInt32(S.sequence)),B=Me.sha256(m.end())}if(d||p){if(p&&t<this.outs.length){const m=this.outs[t],S=Be.BufferWriter.withCapacity(8+ct(m.script));S.writeUInt64(m.value),S.writeVarSlice(m.script),A=Me.sha256(S.end())}}else{const m=this.outs.map(x=>8+ct(x.script)).reduce((x,M)=>x+M),S=Be.BufferWriter.withCapacity(m);this.outs.forEach(x=>{S.writeUInt64(x.value),S.writeVarSlice(x.script)}),A=Me.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),v=Be.BufferWriter.withCapacity(U);if(v.writeUInt8(i),v.writeInt32(this.version),v.writeUInt32(this.locktime),v.writeSlice(_),v.writeSlice(y),v.writeSlice(I),v.writeSlice(B),d||p||v.writeSlice(A),v.writeUInt8(k),l){const m=this.ins[t];v.writeSlice(m.hash),v.writeUInt32(m.index),v.writeUInt64(n[t]),v.writeVarSlice(r[t]),v.writeUInt32(m.sequence)}else v.writeUInt32(t);if(o){const m=Be.BufferWriter.withCapacity(ct(o));m.writeVarSlice(o),v.writeSlice(Me.sha256(m.end()))}return p&&v.writeSlice(A),s&&(v.writeSlice(s),v.writeUInt8(0),v.writeUInt32(4294967295)),Me.taggedHash("TapSighash",Buffer.concat([Buffer.from([0]),v.end()]))}hashForWitnessV0(t,r,n,i){ot(ee.tuple(ee.UInt32,ee.Buffer,ee.Satoshi,ee.UInt32),arguments);let s=Buffer.from([]),o,a=ji,c=ji,l=ji;if(i&X.SIGHASH_ANYONECANPAY||(s=Buffer.allocUnsafe(36*this.ins.length),o=new Be.BufferWriter(s,0),this.ins.forEach(p=>{o.writeSlice(p.hash),o.writeUInt32(p.index)}),c=Me.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 Be.BufferWriter(s,0),this.ins.forEach(p=>{o.writeUInt32(p.sequence)}),l=Me.hash256(s)),(i&31)!==X.SIGHASH_SINGLE&&(i&31)!==X.SIGHASH_NONE){const p=this.outs.reduce((_,y)=>_+8+ct(y.script),0);s=Buffer.allocUnsafe(p),o=new Be.BufferWriter(s,0),this.outs.forEach(_=>{o.writeUInt64(_.value),o.writeVarSlice(_.script)}),a=Me.hash256(s)}else if((i&31)===X.SIGHASH_SINGLE&&t<this.outs.length){const p=this.outs[t];s=Buffer.allocUnsafe(8+ct(p.script)),o=new Be.BufferWriter(s,0),o.writeUInt64(p.value),o.writeVarSlice(p.script),a=Me.hash256(s)}s=Buffer.allocUnsafe(156+ct(r)),o=new Be.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(a),o.writeUInt32(this.locktime),o.writeUInt32(i),Me.hash256(s)}getHash(t){return t&&this.isCoinbase()?Buffer.alloc(32,0):Me.hash256(this.__toBuffer(void 0,void 0,t))}getId(){return(0,Be.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){ot(ee.tuple(ee.Number,ee.Buffer),arguments),this.ins[t].script=r}setWitness(t,r){ot(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 Be.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=>{_c(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}}_n.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 oe={},En={};Object.defineProperty(En,"__esModule",{value:!0});const vc=9007199254740991;function Ms(e){if(e<0||e>vc||e%1!==0)throw new RangeError("value out of range")}function un(e,t,r){if(Ms(e),t||(t=Buffer.allocUnsafe(ja(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(un,{bytes:1})):e<=65535?(t.writeUInt8(253,r),t.writeUInt16LE(e,r+1),Object.assign(un,{bytes:3})):e<=4294967295?(t.writeUInt8(254,r),t.writeUInt32LE(e,r+1),Object.assign(un,{bytes:5})):(t.writeUInt8(255,r),t.writeUInt32LE(e>>>0,r+1),t.writeUInt32LE(e/4294967296|0,r+5),Object.assign(un,{bytes:9})),t}En.encode=un;function cn(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(cn,{bytes:1}),r;if(r===253)return Object.assign(cn,{bytes:3}),e.readUInt16LE(t+1);if(r===254)return Object.assign(cn,{bytes:5}),e.readUInt32LE(t+1);{Object.assign(cn,{bytes:9});const n=e.readUInt32LE(t+1),s=e.readUInt32LE(t+5)*4294967296+n;return Ms(s),s}}En.decode=cn;function ja(e){return Ms(e),e<253?1:e<=65535?3:e<=4294967295?5:9}En.encodingLength=ja;var Gi={},hi={},Fe={};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.testnet=Fe.regtest=Fe.bitcoin=void 0;Fe.bitcoin={messagePrefix:`Bitcoin Signed Message:
7
7
  `,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};Fe.regtest={messagePrefix:`Bitcoin Signed Message:
8
8
  `,bech32:"bcrt",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};Fe.testnet={messagePrefix:`Bitcoin Signed Message:
9
- `,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var Ke={};Object.defineProperty(Ke,"__esModule",{value:!0});Ke.value=Ke.prop=void 0;function Ec(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})}})}Ke.prop=Ec;function xc(e){let t;return()=>(t!==void 0||(t=e()),t)}Ke.value=xc;Object.defineProperty(hi,"__esModule",{value:!0});hi.p2data=void 0;const Sc=Fe,Vn=Ye(),at=He,bo=Ke,wo=Vn.OPS;function Bc(e,t){if(!e.data&&!e.output)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,at.typeforce)({network:at.typeforce.maybe(at.typeforce.Object),output:at.typeforce.maybe(at.typeforce.Buffer),data:at.typeforce.maybe(at.typeforce.arrayOf(at.typeforce.Buffer))},e);const n={name:"embed",network:e.network||Sc.bitcoin};if(bo.prop(n,"output",()=>{if(e.data)return Vn.compile([wo.OP_RETURN].concat(e.data))}),bo.prop(n,"data",()=>{if(e.output)return Vn.decompile(e.output).slice(1)}),t.validate&&e.output){const i=Vn.decompile(e.output);if(i[0]!==wo.OP_RETURN)throw new TypeError("Output is invalid");if(!i.slice(1).every(at.typeforce.Buffer))throw new TypeError("Output is invalid");if(e.data&&!(0,at.stacksEqual)(e.data,n.data))throw new TypeError("Data mismatch")}return Object.assign(n,e)}hi.p2data=Bc;var li={};Object.defineProperty(li,"__esModule",{value:!0});li.p2ms=void 0;const Pc=Fe,Sr=Ye(),Se=He,Nt=Ke,Br=Sr.OPS,Un=Br.OP_RESERVED;function Tc(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 Sr.isCanonicalScriptSignature(c)||(t.allowIncomplete&&c===Br.OP_0)!==void 0}(0,Se.typeforce)({network:Se.typeforce.maybe(Se.typeforce.Object),m:Se.typeforce.maybe(Se.typeforce.Number),n:Se.typeforce.maybe(Se.typeforce.Number),output:Se.typeforce.maybe(Se.typeforce.Buffer),pubkeys:Se.typeforce.maybe(Se.typeforce.arrayOf(Se.isPoint)),signatures:Se.typeforce.maybe(Se.typeforce.arrayOf(r)),input:Se.typeforce.maybe(Se.typeforce.Buffer)},e);const i={network:e.network||Pc.bitcoin};let s=[],o=!1;function a(c){o||(o=!0,s=Sr.decompile(c),i.m=s[0]-Un,i.n=s[s.length-2]-Un,i.pubkeys=s.slice(1,-2))}if(Nt.prop(i,"output",()=>{if(e.m&&i.n&&e.pubkeys)return Sr.compile([].concat(Un+e.m,e.pubkeys,Un+i.n,Br.OP_CHECKMULTISIG))}),Nt.prop(i,"m",()=>{if(i.output)return a(i.output),i.m}),Nt.prop(i,"n",()=>{if(i.pubkeys)return i.pubkeys.length}),Nt.prop(i,"pubkeys",()=>{if(e.output)return a(e.output),i.pubkeys}),Nt.prop(i,"signatures",()=>{if(e.input)return Sr.decompile(e.input).slice(1)}),Nt.prop(i,"input",()=>{if(e.signatures)return Sr.compile([Br.OP_0].concat(e.signatures))}),Nt.prop(i,"witness",()=>{if(i.input)return[]}),Nt.prop(i,"name",()=>{if(!(!i.m||!i.n))return`p2ms(${i.m} of ${i.n})`}),t.validate){if(e.output){if(a(e.output),!Se.typeforce.Number(s[0]))throw new TypeError("Output is invalid");if(!Se.typeforce.Number(s[s.length-2]))throw new TypeError("Output is invalid");if(s[s.length-1]!==Br.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,Se.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,Se.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]!==Br.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,Se.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)}li.p2ms=Tc;var di={};Object.defineProperty(di,"__esModule",{value:!0});di.p2pk=void 0;const Ac=Fe,Pr=Ye(),rt=He,Er=Ke,go=Pr.OPS;function Ic(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,rt.typeforce)({network:rt.typeforce.maybe(rt.typeforce.Object),output:rt.typeforce.maybe(rt.typeforce.Buffer),pubkey:rt.typeforce.maybe(rt.isPoint),signature:rt.typeforce.maybe(Pr.isCanonicalScriptSignature),input:rt.typeforce.maybe(rt.typeforce.Buffer)},e);const r=Er.value(()=>Pr.decompile(e.input)),i={name:"p2pk",network:e.network||Ac.bitcoin};if(Er.prop(i,"output",()=>{if(e.pubkey)return Pr.compile([e.pubkey,go.OP_CHECKSIG])}),Er.prop(i,"pubkey",()=>{if(e.output)return e.output.slice(1,-1)}),Er.prop(i,"signature",()=>{if(e.input)return r()[0]}),Er.prop(i,"input",()=>{if(e.signature)return Pr.compile([e.signature])}),Er.prop(i,"witness",()=>{if(i.input)return[]}),t.validate){if(e.output){if(e.output[e.output.length-1]!==go.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,rt.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(!Pr.isCanonicalScriptSignature(i.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(i,e)}di.p2pk=Ic;var pi={};function Oc(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,a=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 I=0,B=0,A=0,k=y.length;A!==k&&y[A]===0;)A++,I++;for(var U=(k-A)*l+1>>>0,v=new Uint8Array(U);A!==k;){for(var m=y[A],S=0,x=U-1;(m!==0||S<B)&&x!==-1;x--,S++)m+=256*v[x]>>>0,v[x]=m%o>>>0,m=m/o>>>0;if(m!==0)throw new Error("Non-zero carry");B=S,A++}for(var M=U-B;M!==U&&v[M]===0;)M++;for(var $=a.repeat(I);M<U;++M)$+=e.charAt(v[M]);return $}function p(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return new Uint8Array;for(var I=0,B=0,A=0;y[I]===a;)B++,I++;for(var k=(y.length-I)*c+1>>>0,U=new Uint8Array(k);y[I];){var v=t[y.charCodeAt(I)];if(v===255)return;for(var m=0,S=k-1;(v!==0||m<A)&&S!==-1;S--,m++)v+=o*U[S]>>>0,U[S]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");A=m,I++}for(var x=k-A;x!==k&&U[x]===0;)x++;for(var M=new Uint8Array(B+(k-x)),$=B;x!==k;)M[$++]=U[x++];return M}function _(y){var I=p(y);if(I)return I;throw new Error("Non-base"+o+" character")}return{encode:d,decodeUnsafe:p,decode:_}}var kc=Oc;const Rc=kc,Uc="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";var Cc=Rc(Uc),Wi=Cc,Lc=function(e){function t(s){var o=Uint8Array.from(s),a=e(o),c=o.length+4,l=new Uint8Array(c);return l.set(o,0),l.set(a.subarray(0,4),o.length),Wi.encode(l,c)}function r(s){var o=s.slice(0,-4),a=s.slice(-4),c=e(o);if(!(a[0]^c[0]|a[1]^c[1]|a[2]^c[2]|a[3]^c[3]))return o}function n(s){var o=Wi.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=Wi.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},{sha256:mo}=Bt,Nc=Lc;function Fc(e){return mo(mo(e))}var Ds=Nc(Fc);Object.defineProperty(pi,"__esModule",{value:!0});pi.p2pkh=void 0;const Vi=qt,Hc=Fe,Tr=Ye(),De=He,gt=Ke,_o=Ds,Ft=Tr.OPS;function Mc(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,De.typeforce)({network:De.typeforce.maybe(De.typeforce.Object),address:De.typeforce.maybe(De.typeforce.String),hash:De.typeforce.maybe(De.typeforce.BufferN(20)),output:De.typeforce.maybe(De.typeforce.BufferN(25)),pubkey:De.typeforce.maybe(De.isPoint),signature:De.typeforce.maybe(Tr.isCanonicalScriptSignature),input:De.typeforce.maybe(De.typeforce.Buffer)},e);const r=gt.value(()=>{const o=Buffer.from(_o.decode(e.address)),a=o.readUInt8(0),c=o.slice(1);return{version:a,hash:c}}),n=gt.value(()=>Tr.decompile(e.input)),i=e.network||Hc.bitcoin,s={name:"p2pkh",network:i};if(gt.prop(s,"address",()=>{if(!s.hash)return;const o=Buffer.allocUnsafe(21);return o.writeUInt8(i.pubKeyHash,0),s.hash.copy(o,1),_o.encode(o)}),gt.prop(s,"hash",()=>{if(e.output)return e.output.slice(3,23);if(e.address)return r().hash;if(e.pubkey||s.pubkey)return Vi.hash160(e.pubkey||s.pubkey)}),gt.prop(s,"output",()=>{if(s.hash)return Tr.compile([Ft.OP_DUP,Ft.OP_HASH160,s.hash,Ft.OP_EQUALVERIFY,Ft.OP_CHECKSIG])}),gt.prop(s,"pubkey",()=>{if(e.input)return n()[1]}),gt.prop(s,"signature",()=>{if(e.input)return n()[0]}),gt.prop(s,"input",()=>{if(e.pubkey&&e.signature)return Tr.compile([e.signature,e.pubkey])}),gt.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]!==Ft.OP_DUP||e.output[1]!==Ft.OP_HASH160||e.output[2]!==20||e.output[23]!==Ft.OP_EQUALVERIFY||e.output[24]!==Ft.OP_CHECKSIG)throw new TypeError("Output is invalid");const a=e.output.slice(3,23);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.pubkey){const a=Vi.hash160(e.pubkey);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.input){const a=n();if(a.length!==2)throw new TypeError("Input is invalid");if(!Tr.isCanonicalScriptSignature(a[0]))throw new TypeError("Input has invalid signature");if(!(0,De.isPoint)(a[1]))throw new TypeError("Input has invalid pubkey");if(e.signature&&!e.signature.equals(a[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(a[1]))throw new TypeError("Pubkey mismatch");const c=Vi.hash160(a[1]);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch")}}return Object.assign(s,e)}pi.p2pkh=Mc;var yi={};Object.defineProperty(yi,"__esModule",{value:!0});yi.p2sh=void 0;const vo=qt,Dc=Fe,ht=Ye(),ce=He,ft=Ke,Eo=Ds,Yr=ht.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,ce.typeforce)({network:ce.typeforce.maybe(ce.typeforce.Object),address:ce.typeforce.maybe(ce.typeforce.String),hash:ce.typeforce.maybe(ce.typeforce.BufferN(20)),output:ce.typeforce.maybe(ce.typeforce.BufferN(23)),redeem:ce.typeforce.maybe({network:ce.typeforce.maybe(ce.typeforce.Object),output:ce.typeforce.maybe(ce.typeforce.Buffer),input:ce.typeforce.maybe(ce.typeforce.Buffer),witness:ce.typeforce.maybe(ce.typeforce.arrayOf(ce.typeforce.Buffer))}),input:ce.typeforce.maybe(ce.typeforce.Buffer),witness:ce.typeforce.maybe(ce.typeforce.arrayOf(ce.typeforce.Buffer))},e);let r=e.network;r||(r=e.redeem&&e.redeem.network||Dc.bitcoin);const n={network:r},i=ft.value(()=>{const a=Buffer.from(Eo.decode(e.address)),c=a.readUInt8(0),l=a.slice(1);return{version:c,hash:l}}),s=ft.value(()=>ht.decompile(e.input)),o=ft.value(()=>{const a=s(),c=a[a.length-1];return{network:r,output:c===Yr.OP_FALSE?Buffer.from([]):c,input:ht.compile(a.slice(0,-1)),witness:e.witness||[]}});if(ft.prop(n,"address",()=>{if(!n.hash)return;const a=Buffer.allocUnsafe(21);return a.writeUInt8(n.network.scriptHash,0),n.hash.copy(a,1),Eo.encode(a)}),ft.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 vo.hash160(n.redeem.output)}),ft.prop(n,"output",()=>{if(n.hash)return ht.compile([Yr.OP_HASH160,n.hash,Yr.OP_EQUAL])}),ft.prop(n,"redeem",()=>{if(e.input)return o()}),ft.prop(n,"input",()=>{if(!(!e.redeem||!e.redeem.input||!e.redeem.output))return ht.compile([].concat(ht.decompile(e.redeem.input),e.redeem.output))}),ft.prop(n,"witness",()=>{if(n.redeem&&n.redeem.witness)return n.redeem.witness;if(n.input)return[]}),ft.prop(n,"name",()=>{const a=["p2sh"];return n.redeem!==void 0&&n.redeem.name!==void 0&&a.push(n.redeem.name),a.join("-")}),t.validate){let a=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");a=i().hash}if(e.hash){if(a.length>0&&!a.equals(e.hash))throw new TypeError("Hash mismatch");a=e.hash}if(e.output){if(e.output.length!==23||e.output[0]!==Yr.OP_HASH160||e.output[1]!==20||e.output[22]!==Yr.OP_EQUAL)throw new TypeError("Output is invalid");const l=e.output.slice(2,22);if(a.length>0&&!a.equals(l))throw new TypeError("Hash mismatch");a=l}const c=l=>{if(l.output){const d=ht.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(ht.countNonPushOnlyOPs(d)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const p=vo.hash160(l.output);if(a.length>0&&!a.equals(p))throw new TypeError("Hash mismatch");a=p}if(l.input){const d=l.input.length>0,p=l.witness&&l.witness.length>0;if(!d&&!p)throw new TypeError("Empty input");if(d&&p)throw new TypeError("Input and witness provided");if(d){const _=ht.decompile(l.input);if(!ht.isPushOnly(_))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,ce.stacksEqual)(e.redeem.witness,e.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(n,e)}yi.p2sh=$c;var bi={},At={};Object.defineProperty(At,"__esModule",{value:!0});At.bech32m=At.bech32=void 0;const ei="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Ga={};for(let e=0;e<ei.length;e++){const t=ei.charAt(e);Ga[t]=e}function Or(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 xo(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=Or(t)^n>>5}t=Or(t);for(let r=0;r<e.length;++r){const n=e.charCodeAt(r);t=Or(t)^n&31}return t}function $s(e,t,r,n){let i=0,s=0;const o=(1<<r)-1,a=[];for(let c=0;c<e.length;++c)for(i=i<<t|e[c],s+=t;s>=r;)s-=r,a.push(i>>s&o);if(n)s>0&&a.push(i<<r-s&o);else{if(s>=t)return"Excess padding";if(i<<r-s&o)return"Non-zero padding"}return a}function jc(e){return $s(e,8,5,!0)}function Gc(e){const t=$s(e,5,8,!1);if(Array.isArray(t))return t}function Wc(e){const t=$s(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}function Wa(e){let t;e==="bech32"?t=1:t=734539939;function r(o,a,c){if(c=c||90,o.length+7+a.length>c)throw new TypeError("Exceeds length limit");o=o.toLowerCase();let l=xo(o);if(typeof l=="string")throw new Error(l);let d=o+"1";for(let p=0;p<a.length;++p){const _=a[p];if(_>>5)throw new Error("Non 5-bit word");l=Or(l)^_,d+=ei.charAt(_)}for(let p=0;p<6;++p)l=Or(l);l^=t;for(let p=0;p<6;++p){const _=l>>(5-p)*5&31;d+=ei.charAt(_)}return d}function n(o,a){if(a=a||90,o.length<8)return o+" too short";if(o.length>a)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 p=o.slice(0,d),_=o.slice(d+1);if(_.length<6)return"Data too short";let y=xo(p);if(typeof y=="string")return y;const I=[];for(let B=0;B<_.length;++B){const A=_.charAt(B),k=Ga[A];if(k===void 0)return"Unknown character "+A;y=Or(y)^k,!(B+6>=_.length)&&I.push(k)}return y!==t?"Invalid checksum for "+o:{prefix:p,words:I}}function i(o,a){const c=n(o,a);if(typeof c=="object")return c}function s(o,a){const c=n(o,a);if(typeof c=="object")return c;throw new Error(c)}return{decodeUnsafe:i,decode:s,encode:r,toWords:jc,fromWordsUnsafe:Gc,fromWords:Wc}}At.bech32=Wa("bech32");At.bech32m=Wa("bech32m");Object.defineProperty(bi,"__esModule",{value:!0});bi.p2wpkh=void 0;const zi=qt,Vc=Fe,zn=Ye(),Pe=He,Ht=Ke,Cn=At,So=zn.OPS,zc=Buffer.alloc(0);function qc(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,Pe.typeforce)({address:Pe.typeforce.maybe(Pe.typeforce.String),hash:Pe.typeforce.maybe(Pe.typeforce.BufferN(20)),input:Pe.typeforce.maybe(Pe.typeforce.BufferN(0)),network:Pe.typeforce.maybe(Pe.typeforce.Object),output:Pe.typeforce.maybe(Pe.typeforce.BufferN(22)),pubkey:Pe.typeforce.maybe(Pe.isPoint),signature:Pe.typeforce.maybe(zn.isCanonicalScriptSignature),witness:Pe.typeforce.maybe(Pe.typeforce.arrayOf(Pe.typeforce.Buffer))},e);const r=Ht.value(()=>{const s=Cn.bech32.decode(e.address),o=s.words.shift(),a=Cn.bech32.fromWords(s.words);return{version:o,prefix:s.prefix,data:Buffer.from(a)}}),n=e.network||Vc.bitcoin,i={name:"p2wpkh",network:n};if(Ht.prop(i,"address",()=>{if(!i.hash)return;const s=Cn.bech32.toWords(i.hash);return s.unshift(0),Cn.bech32.encode(n.bech32,s)}),Ht.prop(i,"hash",()=>{if(e.output)return e.output.slice(2,22);if(e.address)return r().data;if(e.pubkey||i.pubkey)return zi.hash160(e.pubkey||i.pubkey)}),Ht.prop(i,"output",()=>{if(i.hash)return zn.compile([So.OP_0,i.hash])}),Ht.prop(i,"pubkey",()=>{if(e.pubkey)return e.pubkey;if(e.witness)return e.witness[1]}),Ht.prop(i,"signature",()=>{if(e.witness)return e.witness[0]}),Ht.prop(i,"input",()=>{if(i.witness)return zc}),Ht.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]!==So.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=zi.hash160(e.pubkey);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch");if(s=o,!(0,Pe.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(!zn.isCanonicalScriptSignature(e.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,Pe.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=zi.hash160(e.witness[1]);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch")}}return Object.assign(i,e)}bi.p2wpkh=qc;var wi={};Object.defineProperty(wi,"__esModule",{value:!0});wi.p2wsh=void 0;const Bo=qt,Kc=Fe,Et=Ye(),ae=He,mt=Ke,Ln=At,Po=Et.OPS,qi=Buffer.alloc(0);function Nn(e){return!!(Buffer.isBuffer(e)&&e.length===65&&e[0]===4&&(0,ae.isPoint)(e))}function Yc(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,ae.typeforce)({network:ae.typeforce.maybe(ae.typeforce.Object),address:ae.typeforce.maybe(ae.typeforce.String),hash:ae.typeforce.maybe(ae.typeforce.BufferN(32)),output:ae.typeforce.maybe(ae.typeforce.BufferN(34)),redeem:ae.typeforce.maybe({input:ae.typeforce.maybe(ae.typeforce.Buffer),network:ae.typeforce.maybe(ae.typeforce.Object),output:ae.typeforce.maybe(ae.typeforce.Buffer),witness:ae.typeforce.maybe(ae.typeforce.arrayOf(ae.typeforce.Buffer))}),input:ae.typeforce.maybe(ae.typeforce.BufferN(0)),witness:ae.typeforce.maybe(ae.typeforce.arrayOf(ae.typeforce.Buffer))},e);const r=mt.value(()=>{const o=Ln.bech32.decode(e.address),a=o.words.shift(),c=Ln.bech32.fromWords(o.words);return{version:a,prefix:o.prefix,data:Buffer.from(c)}}),n=mt.value(()=>Et.decompile(e.redeem.input));let i=e.network;i||(i=e.redeem&&e.redeem.network||Kc.bitcoin);const s={network:i};if(mt.prop(s,"address",()=>{if(!s.hash)return;const o=Ln.bech32.toWords(s.hash);return o.unshift(0),Ln.bech32.encode(i.bech32,o)}),mt.prop(s,"hash",()=>{if(e.output)return e.output.slice(2);if(e.address)return r().data;if(s.redeem&&s.redeem.output)return Bo.sha256(s.redeem.output)}),mt.prop(s,"output",()=>{if(s.hash)return Et.compile([Po.OP_0,s.hash])}),mt.prop(s,"redeem",()=>{if(e.witness)return{output:e.witness[e.witness.length-1],input:qi,witness:e.witness.slice(0,-1)}}),mt.prop(s,"input",()=>{if(s.witness)return qi}),mt.prop(s,"witness",()=>{if(e.redeem&&e.redeem.input&&e.redeem.input.length>0&&e.redeem.output&&e.redeem.output.length>0){const o=Et.toStack(n());return s.redeem=Object.assign({witness:o},e.redeem),s.redeem.input=qi,[].concat(o,e.redeem.output)}if(e.redeem&&e.redeem.output&&e.redeem.witness)return[].concat(e.redeem.witness,e.redeem.output)}),mt.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]!==Po.OP_0||e.output[1]!==32)throw new TypeError("Output is invalid");const a=e.output.slice(2);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}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 a=Et.decompile(e.redeem.output);if(!a||a.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(Et.countNonPushOnlyOPs(a)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const c=Bo.sha256(e.redeem.output);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch");o=c}if(e.redeem.input&&!Et.isPushOnly(n()))throw new TypeError("Non push-only scriptSig");if(e.witness&&e.redeem.witness&&!(0,ae.stacksEqual)(e.witness,e.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(e.redeem.input&&n().some(Nn)||e.redeem.output&&(Et.decompile(e.redeem.output)||[]).some(Nn))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(e.witness&&e.witness.length>0){const a=e.witness[e.witness.length-1];if(e.redeem&&e.redeem.output&&!e.redeem.output.equals(a))throw new TypeError("Witness and redeem.output mismatch");if(e.witness.some(Nn)||(Et.decompile(a)||[]).some(Nn))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(s,e)}wi.p2wsh=Yc;var Xr={},fr={};Object.defineProperty(fr,"__esModule",{value:!0});fr.getEccLib=fr.initEccLib=void 0;const hn={};function Xc(e){e?e!==hn.eccLib&&(Qc(e),hn.eccLib=e):hn.eccLib=e}fr.initEccLib=Xc;function Jc(){if(!hn.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return hn.eccLib}fr.getEccLib=Jc;const _t=e=>Buffer.from(e,"hex");function Qc(e){Je(typeof e.isXOnlyPoint=="function"),Je(e.isXOnlyPoint(_t("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),Je(e.isXOnlyPoint(_t("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),Je(e.isXOnlyPoint(_t("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),Je(e.isXOnlyPoint(_t("0000000000000000000000000000000000000000000000000000000000000001"))),Je(!e.isXOnlyPoint(_t("0000000000000000000000000000000000000000000000000000000000000000"))),Je(!e.isXOnlyPoint(_t("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),Je(typeof e.xOnlyPointAddTweak=="function"),Zc.forEach(t=>{const r=e.xOnlyPointAddTweak(_t(t.pubkey),_t(t.tweak));t.result===null?Je(r===null):(Je(r!==null),Je(r.parity===t.parity),Je(Buffer.from(r.xOnlyPubkey).equals(_t(t.result))))})}function Je(e){if(!e)throw new Error("ecc library invalid")}const Zc=[{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 js={};(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=Ot,r=fr,n=qt,i=Oe,s=He;e.LEAF_VERSION_TAPSCRIPT=192,e.MAX_TAPTREE_DEPTH=128;const o=B=>"left"in B&&"right"in B;function a(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 v=0;v<k;v++){const m=B.slice(33+32*v,65+32*v);U.compare(m)<0?U=y(U,m):U=y(m,U)}return U}e.rootHashFromPath=a;function c(B){if((0,s.isTapleaf)(B))return{hash:d(B)};const A=[c(B[0]),c(B[1])];A.sort((v,m)=>v.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]),I(B.output)]))}e.tapleafHash=d;function p(B,A){return n.taggedHash("TapTweak",t.Buffer.concat(A?[B,A]:[B]))}e.tapTweakHash=p;function _(B,A){if(!t.Buffer.isBuffer(B)||B.length!==32||A&&A.length!==32)return null;const k=p(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=_;function y(B,A){return n.taggedHash("TapBranch",t.Buffer.concat([B,A]))}function I(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])}})(js);var $e={},To;function eh(){if(To)return $e;To=1,Object.defineProperty($e,"__esModule",{value:!0}),$e.toOutputScript=$e.fromOutputScript=$e.toBech32=$e.toBase58Check=$e.fromBech32=$e.fromBase58Check=void 0;const e=Fe,t=Gs(),r=Ye(),n=He,i=At,s=Ds,o=40,a=2,c=16,l=2,d=80,p="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 _(v,m){const S=v.slice(2);if(S.length<a||S.length>o)throw new TypeError("Invalid program length for segwit address");const x=v[0]-d;if(x<l||x>c)throw new TypeError("Invalid version for segwit address");if(v[1]!==S.length)throw new TypeError("Invalid script for segwit address");return console.warn(p),A(S,x,m.bech32)}function y(v){const m=Buffer.from(s.decode(v));if(m.length<21)throw new TypeError(v+" is too short");if(m.length>21)throw new TypeError(v+" is too long");const S=m.readUInt8(0),x=m.slice(1);return{version:S,hash:x}}$e.fromBase58Check=y;function I(v){let m,S;try{m=i.bech32.decode(v)}catch{}if(m){if(S=m.words[0],S!==0)throw new TypeError(v+" uses wrong encoding")}else if(m=i.bech32m.decode(v),S=m.words[0],S===0)throw new TypeError(v+" uses wrong encoding");const x=i.bech32.fromWords(m.words.slice(1));return{version:S,prefix:m.prefix,data:Buffer.from(x)}}$e.fromBech32=I;function B(v,m){(0,n.typeforce)((0,n.tuple)(n.Hash160bit,n.UInt8),arguments);const S=Buffer.allocUnsafe(21);return S.writeUInt8(m,0),v.copy(S,1),s.encode(S)}$e.toBase58Check=B;function A(v,m,S){const x=i.bech32.toWords(v);return x.unshift(m),m===0?i.bech32.encode(S,x):i.bech32m.encode(S,x)}$e.toBech32=A;function k(v,m){m=m||e.bitcoin;try{return t.p2pkh({output:v,network:m}).address}catch{}try{return t.p2sh({output:v,network:m}).address}catch{}try{return t.p2wpkh({output:v,network:m}).address}catch{}try{return t.p2wsh({output:v,network:m}).address}catch{}try{return t.p2tr({output:v,network:m}).address}catch{}try{return _(v,m)}catch{}throw new Error(r.toASM(v)+" has no matching Address")}$e.fromOutputScript=k;function U(v,m){m=m||e.bitcoin;let S,x;try{S=y(v)}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{x=I(v)}catch{}if(x){if(x.prefix!==m.bech32)throw new Error(v+" has an invalid prefix");if(x.version===0){if(x.data.length===20)return t.p2wpkh({hash:x.data}).output;if(x.data.length===32)return t.p2wsh({hash:x.data}).output}else if(x.version===1){if(x.data.length===32)return t.p2tr({pubkey:x.data}).output}else if(x.version>=l&&x.version<=c&&x.data.length>=a&&x.data.length<=o)return console.warn(p),r.compile([x.version+d,x.data])}}throw new Error(v+" has no matching Script")}return $e.toOutputScript=U,$e}var Ao;function th(){if(Ao)return Xr;Ao=1,Object.defineProperty(Xr,"__esModule",{value:!0}),Xr.p2tr=void 0;const e=Ot,t=Fe,r=Ye(),n=He,i=fr,s=js,o=Ke,a=At,c=eh(),l=r.OPS,d=1,p=80;function _(y,I){if(!y.address&&!y.output&&!y.pubkey&&!y.internalPubkey&&!(y.witness&&y.witness.length>1))throw new TypeError("Not enough data");I=Object.assign({validate:!0},I||{}),(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]===p?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,v={name:"p2tr",network:U};if(o.prop(v,"address",()=>{if(!v.pubkey)return;const m=a.bech32m.toWords(v.pubkey);return m.unshift(d),a.bech32m.encode(U.bech32,m)}),o.prop(v,"hash",()=>{const m=k();if(m)return m.hash;const S=A();if(S&&S.length>1){const x=S[S.length-1],M=x[0]&n.TAPLEAF_VERSION_MASK,$=S[S.length-2],R=(0,s.tapleafHash)({output:$,version:M});return(0,s.rootHashFromPath)(x,R)}return null}),o.prop(v,"output",()=>{if(v.pubkey)return r.compile([l.OP_1,v.pubkey])}),o.prop(v,"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(v,"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(v,"pubkey",()=>{if(y.pubkey)return y.pubkey;if(y.output)return y.output.slice(2);if(y.address)return B().data;if(v.internalPubkey){const m=(0,s.tweakKey)(v.internalPubkey,v.hash);if(m)return m.x}}),o.prop(v,"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(v,"signature",()=>{if(y.signature)return y.signature;const m=A();if(!(!m||m.length!==1))return m[0]}),o.prop(v,"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:v.redeemVersion}),x=(0,s.findScriptPath)(m,S);if(!x)return;const M=(0,s.tweakKey)(y.internalPubkey,m.hash);if(!M)return;const $=e.Buffer.concat([e.Buffer.from([v.redeemVersion|M.parity]),y.internalPubkey].concat(x));return[y.redeem.output,$]}if(y.signature)return[y.signature]}),I.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 M=(0,s.tweakKey)(y.internalPubkey,v.hash);if(m.length>0&&!m.equals(M.x))throw new TypeError("Pubkey mismatch");m=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 M=(0,s.tapleafHash)({output:y.redeem.output,version:v.redeemVersion});if(!(0,s.findScriptPath)(S,M))throw new TypeError("Redeem script not in tree")}const x=A();if(y.redeem&&v.redeem){if(y.redeem.redeemVersion&&y.redeem.redeemVersion!==v.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(v.redeem.output&&!y.redeem.output.equals(v.redeem.output))throw new TypeError("Redeem.output and witness mismatch")}if(y.redeem.witness&&v.redeem.witness&&!(0,n.stacksEqual)(y.redeem.witness,v.redeem.witness))throw new TypeError("Redeem.witness and witness mismatch")}if(x&&x.length)if(x.length===1){if(y.signature&&!y.signature.equals(x[0]))throw new TypeError("Signature mismatch")}else{const M=x[x.length-1];if(M.length<33)throw new TypeError(`The control-block length is too small. Got ${M.length}, expected min 33.`);if((M.length-33)%32!==0)throw new TypeError(`The control-block length of ${M.length} is incorrect!`);const $=(M.length-33)/32;if($>128)throw new TypeError(`The script path is too long. Got ${$}, expected max 128.`);const R=M.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=M[0]&n.TAPLEAF_VERSION_MASK,Z=x[x.length-2],C=(0,s.tapleafHash)({output:Z,version:z}),H=(0,s.rootHashFromPath)(M,C),W=(0,s.tweakKey)(R,H);if(!W)throw new TypeError("Invalid outputKey for p2tr witness");if(m.length&&!m.equals(W.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(W.parity!==(M[0]&1))throw new Error("Incorrect parity")}}return Object.assign(v,y)}return Xr.p2tr=_,Xr}var Io;function Gs(){return Io||(Io=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=hi;Object.defineProperty(e,"embed",{enumerable:!0,get:function(){return t.p2data}});const r=li;Object.defineProperty(e,"p2ms",{enumerable:!0,get:function(){return r.p2ms}});const n=di;Object.defineProperty(e,"p2pk",{enumerable:!0,get:function(){return n.p2pk}});const i=pi;Object.defineProperty(e,"p2pkh",{enumerable:!0,get:function(){return i.p2pkh}});const s=yi;Object.defineProperty(e,"p2sh",{enumerable:!0,get:function(){return s.p2sh}});const o=bi;Object.defineProperty(e,"p2wpkh",{enumerable:!0,get:function(){return o.p2wpkh}});const a=wi;Object.defineProperty(e,"p2wsh",{enumerable:!0,get:function(){return a.p2wsh}});const c=th();Object.defineProperty(e,"p2tr",{enumerable:!0,get:function(){return c.p2tr}})}(Gi)),Gi}Object.defineProperty(oe,"__esModule",{value:!0});oe.signatureBlocksAction=oe.checkInputForSig=oe.pubkeyInScript=oe.pubkeyPositionInScript=oe.witnessStackToScriptWitness=oe.isP2TR=oe.isP2SHScript=oe.isP2WSHScript=oe.isP2WPKH=oe.isP2PKH=oe.isP2PK=oe.isP2MS=void 0;const Oo=En,ln=Ye(),Fn=_n,rh=qt,pr=Gs();function yr(e){return t=>{try{return e({output:t}),!0}catch{return!1}}}oe.isP2MS=yr(pr.p2ms);oe.isP2PK=yr(pr.p2pk);oe.isP2PKH=yr(pr.p2pkh);oe.isP2WPKH=yr(pr.p2wpkh);oe.isP2WSHScript=yr(pr.p2wsh);oe.isP2SHScript=yr(pr.p2sh);oe.isP2TR=yr(pr.p2tr);function nh(e){let t=Buffer.allocUnsafe(0);function r(o){t=Buffer.concat([t,Buffer.from(o)])}function n(o){const a=t.length,c=Oo.encodingLength(o);t=Buffer.concat([t,Buffer.allocUnsafe(c)]),Oo.encode(o,t,a)}function i(o){n(o.length),r(o)}function s(o){n(o.length),o.forEach(i)}return s(e),t}oe.witnessStackToScriptWitness=nh;function Va(e,t){const r=(0,rh.hash160)(e),n=e.slice(1,33),i=ln.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))}oe.pubkeyPositionInScript=Va;function ih(e,t){return Va(e,t)!==-1}oe.pubkeyInScript=ih;function sh(e,t){return oh(e).some(n=>za(n,ln.signature.decode,t))}oe.checkInputForSig=sh;function za(e,t,r){const{hashType:n}=t(e),i=[];switch(n&Fn.Transaction.SIGHASH_ANYONECANPAY&&i.push("addInput"),n&31){case Fn.Transaction.SIGHASH_ALL:break;case Fn.Transaction.SIGHASH_SINGLE:case Fn.Transaction.SIGHASH_NONE:i.push("addOutput"),i.push("setInputSequence");break}return i.indexOf(r)===-1}oe.signatureBlocksAction=za;function oh(e){let t=[];if((e.partialSig||[]).length===0){if(!e.finalScriptSig&&!e.finalScriptWitness)return[];t=ah(e)}else t=e.partialSig;return t.map(r=>r.signature)}function ah(e){const t=e.finalScriptSig?ln.decompile(e.finalScriptSig)||[]:[],r=e.finalScriptWitness?ln.decompile(e.finalScriptWitness)||[]:[];return t.concat(r).filter(n=>Buffer.isBuffer(n)&&ln.isCanonicalScriptSignature(n)).map(n=>({signature:n}))}Object.defineProperty(_e,"__esModule",{value:!0});_e.checkTaprootInputForSigs=_e.tapTreeFromList=_e.tapTreeToList=_e.tweakInternalPubKey=_e.checkTaprootOutputFields=_e.checkTaprootInputFields=_e.isTaprootOutput=_e.isTaprootInput=qn=_e.serializeTaprootSignature=_e.tapScriptFinalizer=_e.toXOnly=void 0;const Ws=He,fh=_n,gi=oe,zt=js,uh=Gs(),ch=oe,hh=e=>e.length===32?e:e.slice(1,33);_e.toXOnly=hh;function lh(e,t,r){const n=Oh(t,e,r);try{const s=Ah(t,n).concat(n.script).concat(n.controlBlock);return{finalScriptWitness:(0,gi.witnessStackToScriptWitness)(s)}}catch(i){throw new Error(`Can not finalize taproot input #${e}: ${i}`)}}_e.tapScriptFinalizer=lh;function dh(e,t){const r=t?Buffer.from([t]):Buffer.from([]);return Buffer.concat([e,r])}var qn=_e.serializeTaprootSignature=dh;function Kn(e){return e&&!!(e.tapInternalKey||e.tapMerkleRoot||e.tapLeafScript&&e.tapLeafScript.length||e.tapBip32Derivation&&e.tapBip32Derivation.length||e.witnessUtxo&&(0,gi.isP2TR)(e.witnessUtxo.script))}_e.isTaprootInput=Kn;function Yn(e,t){return e&&!!(e.tapInternalKey||e.tapTree||e.tapBip32Derivation&&e.tapBip32Derivation.length||t&&(0,gi.isP2TR)(t))}_e.isTaprootOutput=Yn;function ph(e,t,r){Bh(e,t,r),Th(e,t,r)}_e.checkTaprootInputFields=ph;function yh(e,t,r){Ph(e,t,r),bh(e,t)}_e.checkTaprootOutputFields=yh;function bh(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=wh(r,n);if(i&&!i.equals(s))throw new Error("Error adding output. Script or address missmatch.")}}function wh(e,t){const r=t&&qa(t.leaves),{output:n}=(0,uh.p2tr)({internalPubkey:e,scriptTree:r});return n}function gh(e,t){const r=t.tapInternalKey,n=r&&(0,zt.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}_e.tweakInternalPubKey=gh;function mh(e){if(!(0,Ws.isTaptree)(e))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return ys(e)}_e.tapTreeToList=mh;function qa(e=[]){return e.length===1&&e[0].depth===0?{output:e[0].script,version:e[0].leafVersion}:Sh(e)}_e.tapTreeFromList=qa;function _h(e,t){return Eh(e).some(n=>(0,ch.signatureBlocksAction)(n,vh,t))}_e.checkTaprootInputForSigs=_h;function vh(e){return{signature:e.slice(0,64),hashType:e.slice(64)[0]||fh.Transaction.SIGHASH_DEFAULT}}function Eh(e){const t=[];if(e.tapKeySig&&t.push(e.tapKeySig),e.tapScriptSig&&t.push(...e.tapScriptSig.map(r=>r.signature)),!t.length){const r=xh(e.finalScriptWitness);r&&t.push(r)}return t}function xh(e){if(!e)return;const t=e.slice(2);if(t.length===64||t.length===65)return t}function ys(e,t=[],r=0){if(r>zt.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return e?(0,Ws.isTapleaf)(e)?(t.push({depth:r,leafVersion:e.version||zt.LEAF_VERSION_TAPSCRIPT,script:e.output}),t):(e[0]&&ys(e[0],t,r+1),e[1]&&ys(e[1],t,r+1),t):[]}function Sh(e){let t;for(const r of e)if(t=bs(r,t),!t)throw new Error("No room left to insert tapleaf in tree");return t}function bs(e,t,r=0){if(r>zt.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,Ws.isTapleaf)(t))return;const n=bs(e,t&&t[0],r+1);if(n)return[n,t&&t[1]];const i=bs(e,t&&t[1],r+1);if(i)return[t&&t[0],i]}function Bh(e,t,r){const n=Kn(e)&&kr(t),i=kr(e)&&Kn(t),s=e===t&&Kn(t)&&kr(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function Ph(e,t,r){const n=Yn(e)&&kr(t),i=kr(e)&&Yn(t),s=e===t&&Yn(t)&&kr(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function Th(e,t,r){if(t.tapMerkleRoot){const n=(t.tapLeafScript||[]).every(s=>Ki(s,t.tapMerkleRoot)),i=(e.tapLeafScript||[]).every(s=>Ki(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=>Ki(i,e.tapMerkleRoot)))throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}function Ki(e,t){if(!t)return!0;const r=(0,zt.tapleafHash)({output:e.script,version:e.leafVersion});return(0,zt.rootHashFromPath)(e.controlBlock,r).equals(t)}function Ah(e,t){const r=(0,zt.tapleafHash)({output:t.script,version:t.leafVersion});return(e.tapScriptSig||[]).filter(n=>n.leafHash.equals(r)).map(n=>Ih(t.script,n)).sort((n,i)=>i.positionInScript-n.positionInScript).map(n=>n.signature)}function Ih(e,t){return Object.assign({positionInScript:(0,gi.pubkeyPositionInScript)(t.pubkey,e)},t)}function Oh(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=>kh(i,e.tapScriptSig,r));if(!n)throw new Error(`Can not finalize taproot input #${t}. Signature for tapleaf script not found.`);return n}function kh(e,t,r){const n=(0,zt.tapleafHash)({output:e.script,version:e.leafVersion});return(!r||r.equals(n))&&t.find(s=>s.leafHash.equals(n))!==void 0}function kr(e){return e&&!!(e.redeemScript||e.witnessScript||e.bip32Derivation&&e.bip32Derivation.length)}const Ae={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"},Hn=192;re.initEccLib(or);class dn{constructor(t,r,n,i,s,o,a,c){this.secretHash=n,this.redeemerPubkey=i,this.initiatorPubkey=s,this.expiry=o,this.signer=t,this.network=a,this.internalPubkey=Tu(),this.initiateAmount=r,this.utxoHashes=c}static async from(t,r,n,i,s,o,a){n=n.startsWith("0x")?n.slice(2):n,Zt(n.length===64,Ae.secretHashLenMismatch),Zt(i.length===64||i.length===66,`initiator ${Ae.pubkeyLenMismatch}`),Zt(s.length===64||s.length===66,`redeemer ${Ae.pubkeyLenMismatch}`),Zt(o>0,Ae.zeroOrNegativeExpiry);const c=await t.getNetwork();return new dn(t,r,n,ls(s).toString("hex"),ls(i).toString("hex"),o,c,a)}address(){const{address:t}=re.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves()});if(!t)throw new Error(Ae.htlcAddressGenerationFailed);return t}id(){return this.address()}async _buildRawTx(t,r){const n=new re.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 p=l.vout[d];p.scriptpubkey_address===i&&o.push({txid:l.txid,vout:d,value:p.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const a=o.reduce((c,l)=>c+l.value,0);if(a===0)throw new Error(`${i} ${Ae.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,a,Ur.Urgency.MEDIUM)),n.addOutput(re.address.toOutputScript(t,this.network),a-r),{tx:n,usedUtxos:o}}async _tempBuildRawTx(t,r){const n=new re.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 p=l.vout[d];p.scriptpubkey_address===i&&o.push({txid:l.txid,vout:d,value:p.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const a=o.reduce((c,l)=>c+l.value,0);if(a===0)throw new Error(`${i} ${Ae.notFunded}`);for(let c=0;c<o.length;c++)n.addInput(Buffer.from(o[c].txid,"hex").reverse(),o[c].vout);if(n.addOutput(re.address.toOutputScript(t,this.network),a),r){const c=await s.getFeeRates(),l=Math.ceil(c.hourFee*r),d=a-l;n.outs[0].value=d}return{tx:n,usedUtxos:o}}async buildRawTx(t){return await this._buildRawTx(await this.signer.getAddress(),t)}getOutputScript(){return re.address.toOutputScript(this.address(),this.network)}async init(t){return t??(t=await(await this.signer.getProvider()).suggestFee(await this.signer.getAddress(),this.initiateAmount,Ur.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(),a=re.Transaction.SIGHASH_SINGLE|re.Transaction.SIGHASH_ANYONECANPAY,c=this.leafHash(1),l=s.map(p=>p.value),d=xr(o,s.length);for(let p=0;p<i.ins.length;p++){const _=i.hashForWitnessV1(p,d,l,a,c),y=await this.signer.signSchnorr(_);i.setWitness(p,[qn(y,a),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=re.Transaction.SIGHASH_SINGLE|re.Transaction.SIGHASH_ANYONECANPAY,a=this.leafHash(2),c=i.map(d=>d.value),l=xr(s,i.length);for(let d=0;d<n.ins.length;d++){const p=n.hashForWitnessV1(d,l,c,o,a),_=await this.signer.signSchnorr(p);n.setWitness(d,[qn(_,o),qn(_,o),this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return n.toHex()}async instantRefund(t,r){Zt(t.length>0,Ae.noCounterpartySigs);const{tx:n,usedUtxos:i}=await this.buildRawTx(r);for(const p of i)if(!t.find(_=>_.utxo===p.txid))throw new Error(Ae.counterPartySigNotFound(p.txid));const s=this.getOutputScript(),o=re.Transaction.SIGHASH_DEFAULT,a=this.leafHash(2),c=i.map(p=>p.value),l=xr(s,i.length);for(let p=0;p<n.ins.length;p++){const _=n.hashForWitnessV1(p,l,c,o,a);if(!or.verifySchnorr(_,Buffer.from(this.redeemerPubkey,"hex"),Buffer.from(t[p].sig,"hex")))throw new Error(Ae.invalidCounterpartySigForUTXO(t[p].utxo));const y=await this.signer.signSchnorr(_),I=Buffer.from(n.ins[p].hash).reverse().toString("hex"),B=t.find(A=>A.utxo===I);if(!B)throw new Error(Ae.counterPartySigNotFound(I));n.setWitness(p,[Buffer.from(B.sig,"hex"),y,this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async redeem(t,r){Zt(re.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,Ae.secretMismatch);const n=r??await this.signer.getAddress(),{tx:i,usedUtxos:s}=await this._tempBuildRawTx(n),o=this.leafHash(1),a=s.map(_=>_.value),c=xr(this.getOutputScript(),s.length),l=re.Transaction.SIGHASH_DEFAULT;for(let _=0;_<i.ins.length;_++){const y=i.hashForWitnessV1(_,c,a,l,o),I=await this.signer.signSchnorr(y);i.setWitness(_,[I,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}const{tx:d}=await this._tempBuildRawTx(n,i.virtualSize());for(let _=0;_<d.ins.length;_++){const y=d.hashForWitnessV1(_,c,a,l,o),I=await this.signer.signSchnorr(y);d.setWitness(_,[I,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return await(await this.signer.getProvider()).broadcast(d.toHex())}async getRedeemHex(t,r){Zt(re.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,Ae.secretMismatch);const n=r??await this.signer.getAddress(),{tx:i,usedUtxos:s}=await this._tempBuildRawTx(n),o=this.leafHash(1),a=s.map(p=>p.value),c=xr(this.getOutputScript(),s.length),l=re.Transaction.SIGHASH_DEFAULT;for(let p=0;p<i.ins.length;p++){const _=i.hashForWitnessV1(p,c,a,l,o),y=await this.signer.signSchnorr(_);i.setWitness(p,[y,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}const{tx:d}=await this._tempBuildRawTx(n,i.virtualSize());for(let p=0;p<d.ins.length;p++){const _=d.hashForWitnessV1(p,c,a,l,o),y=await this.signer.signSchnorr(_);d.setWitness(p,[y,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return d.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(Ae.htlcNotExpired(o));const a=this.leafHash(0),c=i.map(_=>_.value),l=xr(this.getOutputScript(),i.length),d=re.Transaction.SIGHASH_DEFAULT;for(let _=0;_<n.ins.length;_++){n.ins[_].sequence=this.expiry;const y=n.hashForWitnessV1(_,l,c,d,a),I=await this.signer.signSchnorr(y);n.setWitness(_,[I,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(Ae.invalidLeaf)}const n=re.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves(),redeem:{output:r,redeemVersion:Hn}});if(!n.witness)throw new Error(Ae.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()),re.crypto.taggedHash("TapLeaf",pu(r))}refundLeaf(){return re.script.fromASM(`
9
+ `,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var Ke={};Object.defineProperty(Ke,"__esModule",{value:!0});Ke.value=Ke.prop=void 0;function Ec(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})}})}Ke.prop=Ec;function xc(e){let t;return()=>(t!==void 0||(t=e()),t)}Ke.value=xc;Object.defineProperty(hi,"__esModule",{value:!0});hi.p2data=void 0;const Sc=Fe,Vn=Ye(),at=He,bo=Ke,wo=Vn.OPS;function Bc(e,t){if(!e.data&&!e.output)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,at.typeforce)({network:at.typeforce.maybe(at.typeforce.Object),output:at.typeforce.maybe(at.typeforce.Buffer),data:at.typeforce.maybe(at.typeforce.arrayOf(at.typeforce.Buffer))},e);const n={name:"embed",network:e.network||Sc.bitcoin};if(bo.prop(n,"output",()=>{if(e.data)return Vn.compile([wo.OP_RETURN].concat(e.data))}),bo.prop(n,"data",()=>{if(e.output)return Vn.decompile(e.output).slice(1)}),t.validate&&e.output){const i=Vn.decompile(e.output);if(i[0]!==wo.OP_RETURN)throw new TypeError("Output is invalid");if(!i.slice(1).every(at.typeforce.Buffer))throw new TypeError("Output is invalid");if(e.data&&!(0,at.stacksEqual)(e.data,n.data))throw new TypeError("Data mismatch")}return Object.assign(n,e)}hi.p2data=Bc;var li={};Object.defineProperty(li,"__esModule",{value:!0});li.p2ms=void 0;const Tc=Fe,Sr=Ye(),Se=He,Nt=Ke,Br=Sr.OPS,Un=Br.OP_RESERVED;function Pc(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 Sr.isCanonicalScriptSignature(c)||(t.allowIncomplete&&c===Br.OP_0)!==void 0}(0,Se.typeforce)({network:Se.typeforce.maybe(Se.typeforce.Object),m:Se.typeforce.maybe(Se.typeforce.Number),n:Se.typeforce.maybe(Se.typeforce.Number),output:Se.typeforce.maybe(Se.typeforce.Buffer),pubkeys:Se.typeforce.maybe(Se.typeforce.arrayOf(Se.isPoint)),signatures:Se.typeforce.maybe(Se.typeforce.arrayOf(r)),input:Se.typeforce.maybe(Se.typeforce.Buffer)},e);const i={network:e.network||Tc.bitcoin};let s=[],o=!1;function a(c){o||(o=!0,s=Sr.decompile(c),i.m=s[0]-Un,i.n=s[s.length-2]-Un,i.pubkeys=s.slice(1,-2))}if(Nt.prop(i,"output",()=>{if(e.m&&i.n&&e.pubkeys)return Sr.compile([].concat(Un+e.m,e.pubkeys,Un+i.n,Br.OP_CHECKMULTISIG))}),Nt.prop(i,"m",()=>{if(i.output)return a(i.output),i.m}),Nt.prop(i,"n",()=>{if(i.pubkeys)return i.pubkeys.length}),Nt.prop(i,"pubkeys",()=>{if(e.output)return a(e.output),i.pubkeys}),Nt.prop(i,"signatures",()=>{if(e.input)return Sr.decompile(e.input).slice(1)}),Nt.prop(i,"input",()=>{if(e.signatures)return Sr.compile([Br.OP_0].concat(e.signatures))}),Nt.prop(i,"witness",()=>{if(i.input)return[]}),Nt.prop(i,"name",()=>{if(!(!i.m||!i.n))return`p2ms(${i.m} of ${i.n})`}),t.validate){if(e.output){if(a(e.output),!Se.typeforce.Number(s[0]))throw new TypeError("Output is invalid");if(!Se.typeforce.Number(s[s.length-2]))throw new TypeError("Output is invalid");if(s[s.length-1]!==Br.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,Se.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,Se.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]!==Br.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,Se.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)}li.p2ms=Pc;var di={};Object.defineProperty(di,"__esModule",{value:!0});di.p2pk=void 0;const Ac=Fe,Tr=Ye(),rt=He,Er=Ke,go=Tr.OPS;function Ic(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,rt.typeforce)({network:rt.typeforce.maybe(rt.typeforce.Object),output:rt.typeforce.maybe(rt.typeforce.Buffer),pubkey:rt.typeforce.maybe(rt.isPoint),signature:rt.typeforce.maybe(Tr.isCanonicalScriptSignature),input:rt.typeforce.maybe(rt.typeforce.Buffer)},e);const r=Er.value(()=>Tr.decompile(e.input)),i={name:"p2pk",network:e.network||Ac.bitcoin};if(Er.prop(i,"output",()=>{if(e.pubkey)return Tr.compile([e.pubkey,go.OP_CHECKSIG])}),Er.prop(i,"pubkey",()=>{if(e.output)return e.output.slice(1,-1)}),Er.prop(i,"signature",()=>{if(e.input)return r()[0]}),Er.prop(i,"input",()=>{if(e.signature)return Tr.compile([e.signature])}),Er.prop(i,"witness",()=>{if(i.input)return[]}),t.validate){if(e.output){if(e.output[e.output.length-1]!==go.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,rt.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(!Tr.isCanonicalScriptSignature(i.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(i,e)}di.p2pk=Ic;var pi={};function Oc(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,a=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 I=0,B=0,A=0,k=y.length;A!==k&&y[A]===0;)A++,I++;for(var U=(k-A)*l+1>>>0,v=new Uint8Array(U);A!==k;){for(var m=y[A],S=0,x=U-1;(m!==0||S<B)&&x!==-1;x--,S++)m+=256*v[x]>>>0,v[x]=m%o>>>0,m=m/o>>>0;if(m!==0)throw new Error("Non-zero carry");B=S,A++}for(var M=U-B;M!==U&&v[M]===0;)M++;for(var $=a.repeat(I);M<U;++M)$+=e.charAt(v[M]);return $}function p(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return new Uint8Array;for(var I=0,B=0,A=0;y[I]===a;)B++,I++;for(var k=(y.length-I)*c+1>>>0,U=new Uint8Array(k);y[I];){var v=t[y.charCodeAt(I)];if(v===255)return;for(var m=0,S=k-1;(v!==0||m<A)&&S!==-1;S--,m++)v+=o*U[S]>>>0,U[S]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");A=m,I++}for(var x=k-A;x!==k&&U[x]===0;)x++;for(var M=new Uint8Array(B+(k-x)),$=B;x!==k;)M[$++]=U[x++];return M}function _(y){var I=p(y);if(I)return I;throw new Error("Non-base"+o+" character")}return{encode:d,decodeUnsafe:p,decode:_}}var kc=Oc;const Rc=kc,Uc="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";var Cc=Rc(Uc),Wi=Cc,Lc=function(e){function t(s){var o=Uint8Array.from(s),a=e(o),c=o.length+4,l=new Uint8Array(c);return l.set(o,0),l.set(a.subarray(0,4),o.length),Wi.encode(l,c)}function r(s){var o=s.slice(0,-4),a=s.slice(-4),c=e(o);if(!(a[0]^c[0]|a[1]^c[1]|a[2]^c[2]|a[3]^c[3]))return o}function n(s){var o=Wi.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=Wi.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},{sha256:mo}=Bt,Nc=Lc;function Fc(e){return mo(mo(e))}var Ds=Nc(Fc);Object.defineProperty(pi,"__esModule",{value:!0});pi.p2pkh=void 0;const Vi=qt,Hc=Fe,Pr=Ye(),De=He,gt=Ke,_o=Ds,Ft=Pr.OPS;function Mc(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,De.typeforce)({network:De.typeforce.maybe(De.typeforce.Object),address:De.typeforce.maybe(De.typeforce.String),hash:De.typeforce.maybe(De.typeforce.BufferN(20)),output:De.typeforce.maybe(De.typeforce.BufferN(25)),pubkey:De.typeforce.maybe(De.isPoint),signature:De.typeforce.maybe(Pr.isCanonicalScriptSignature),input:De.typeforce.maybe(De.typeforce.Buffer)},e);const r=gt.value(()=>{const o=Buffer.from(_o.decode(e.address)),a=o.readUInt8(0),c=o.slice(1);return{version:a,hash:c}}),n=gt.value(()=>Pr.decompile(e.input)),i=e.network||Hc.bitcoin,s={name:"p2pkh",network:i};if(gt.prop(s,"address",()=>{if(!s.hash)return;const o=Buffer.allocUnsafe(21);return o.writeUInt8(i.pubKeyHash,0),s.hash.copy(o,1),_o.encode(o)}),gt.prop(s,"hash",()=>{if(e.output)return e.output.slice(3,23);if(e.address)return r().hash;if(e.pubkey||s.pubkey)return Vi.hash160(e.pubkey||s.pubkey)}),gt.prop(s,"output",()=>{if(s.hash)return Pr.compile([Ft.OP_DUP,Ft.OP_HASH160,s.hash,Ft.OP_EQUALVERIFY,Ft.OP_CHECKSIG])}),gt.prop(s,"pubkey",()=>{if(e.input)return n()[1]}),gt.prop(s,"signature",()=>{if(e.input)return n()[0]}),gt.prop(s,"input",()=>{if(e.pubkey&&e.signature)return Pr.compile([e.signature,e.pubkey])}),gt.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]!==Ft.OP_DUP||e.output[1]!==Ft.OP_HASH160||e.output[2]!==20||e.output[23]!==Ft.OP_EQUALVERIFY||e.output[24]!==Ft.OP_CHECKSIG)throw new TypeError("Output is invalid");const a=e.output.slice(3,23);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.pubkey){const a=Vi.hash160(e.pubkey);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.input){const a=n();if(a.length!==2)throw new TypeError("Input is invalid");if(!Pr.isCanonicalScriptSignature(a[0]))throw new TypeError("Input has invalid signature");if(!(0,De.isPoint)(a[1]))throw new TypeError("Input has invalid pubkey");if(e.signature&&!e.signature.equals(a[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(a[1]))throw new TypeError("Pubkey mismatch");const c=Vi.hash160(a[1]);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch")}}return Object.assign(s,e)}pi.p2pkh=Mc;var yi={};Object.defineProperty(yi,"__esModule",{value:!0});yi.p2sh=void 0;const vo=qt,Dc=Fe,ht=Ye(),ce=He,ft=Ke,Eo=Ds,Yr=ht.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,ce.typeforce)({network:ce.typeforce.maybe(ce.typeforce.Object),address:ce.typeforce.maybe(ce.typeforce.String),hash:ce.typeforce.maybe(ce.typeforce.BufferN(20)),output:ce.typeforce.maybe(ce.typeforce.BufferN(23)),redeem:ce.typeforce.maybe({network:ce.typeforce.maybe(ce.typeforce.Object),output:ce.typeforce.maybe(ce.typeforce.Buffer),input:ce.typeforce.maybe(ce.typeforce.Buffer),witness:ce.typeforce.maybe(ce.typeforce.arrayOf(ce.typeforce.Buffer))}),input:ce.typeforce.maybe(ce.typeforce.Buffer),witness:ce.typeforce.maybe(ce.typeforce.arrayOf(ce.typeforce.Buffer))},e);let r=e.network;r||(r=e.redeem&&e.redeem.network||Dc.bitcoin);const n={network:r},i=ft.value(()=>{const a=Buffer.from(Eo.decode(e.address)),c=a.readUInt8(0),l=a.slice(1);return{version:c,hash:l}}),s=ft.value(()=>ht.decompile(e.input)),o=ft.value(()=>{const a=s(),c=a[a.length-1];return{network:r,output:c===Yr.OP_FALSE?Buffer.from([]):c,input:ht.compile(a.slice(0,-1)),witness:e.witness||[]}});if(ft.prop(n,"address",()=>{if(!n.hash)return;const a=Buffer.allocUnsafe(21);return a.writeUInt8(n.network.scriptHash,0),n.hash.copy(a,1),Eo.encode(a)}),ft.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 vo.hash160(n.redeem.output)}),ft.prop(n,"output",()=>{if(n.hash)return ht.compile([Yr.OP_HASH160,n.hash,Yr.OP_EQUAL])}),ft.prop(n,"redeem",()=>{if(e.input)return o()}),ft.prop(n,"input",()=>{if(!(!e.redeem||!e.redeem.input||!e.redeem.output))return ht.compile([].concat(ht.decompile(e.redeem.input),e.redeem.output))}),ft.prop(n,"witness",()=>{if(n.redeem&&n.redeem.witness)return n.redeem.witness;if(n.input)return[]}),ft.prop(n,"name",()=>{const a=["p2sh"];return n.redeem!==void 0&&n.redeem.name!==void 0&&a.push(n.redeem.name),a.join("-")}),t.validate){let a=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");a=i().hash}if(e.hash){if(a.length>0&&!a.equals(e.hash))throw new TypeError("Hash mismatch");a=e.hash}if(e.output){if(e.output.length!==23||e.output[0]!==Yr.OP_HASH160||e.output[1]!==20||e.output[22]!==Yr.OP_EQUAL)throw new TypeError("Output is invalid");const l=e.output.slice(2,22);if(a.length>0&&!a.equals(l))throw new TypeError("Hash mismatch");a=l}const c=l=>{if(l.output){const d=ht.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(ht.countNonPushOnlyOPs(d)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const p=vo.hash160(l.output);if(a.length>0&&!a.equals(p))throw new TypeError("Hash mismatch");a=p}if(l.input){const d=l.input.length>0,p=l.witness&&l.witness.length>0;if(!d&&!p)throw new TypeError("Empty input");if(d&&p)throw new TypeError("Input and witness provided");if(d){const _=ht.decompile(l.input);if(!ht.isPushOnly(_))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,ce.stacksEqual)(e.redeem.witness,e.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(n,e)}yi.p2sh=$c;var bi={},At={};Object.defineProperty(At,"__esModule",{value:!0});At.bech32m=At.bech32=void 0;const ei="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Ga={};for(let e=0;e<ei.length;e++){const t=ei.charAt(e);Ga[t]=e}function Or(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 xo(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=Or(t)^n>>5}t=Or(t);for(let r=0;r<e.length;++r){const n=e.charCodeAt(r);t=Or(t)^n&31}return t}function $s(e,t,r,n){let i=0,s=0;const o=(1<<r)-1,a=[];for(let c=0;c<e.length;++c)for(i=i<<t|e[c],s+=t;s>=r;)s-=r,a.push(i>>s&o);if(n)s>0&&a.push(i<<r-s&o);else{if(s>=t)return"Excess padding";if(i<<r-s&o)return"Non-zero padding"}return a}function jc(e){return $s(e,8,5,!0)}function Gc(e){const t=$s(e,5,8,!1);if(Array.isArray(t))return t}function Wc(e){const t=$s(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}function Wa(e){let t;e==="bech32"?t=1:t=734539939;function r(o,a,c){if(c=c||90,o.length+7+a.length>c)throw new TypeError("Exceeds length limit");o=o.toLowerCase();let l=xo(o);if(typeof l=="string")throw new Error(l);let d=o+"1";for(let p=0;p<a.length;++p){const _=a[p];if(_>>5)throw new Error("Non 5-bit word");l=Or(l)^_,d+=ei.charAt(_)}for(let p=0;p<6;++p)l=Or(l);l^=t;for(let p=0;p<6;++p){const _=l>>(5-p)*5&31;d+=ei.charAt(_)}return d}function n(o,a){if(a=a||90,o.length<8)return o+" too short";if(o.length>a)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 p=o.slice(0,d),_=o.slice(d+1);if(_.length<6)return"Data too short";let y=xo(p);if(typeof y=="string")return y;const I=[];for(let B=0;B<_.length;++B){const A=_.charAt(B),k=Ga[A];if(k===void 0)return"Unknown character "+A;y=Or(y)^k,!(B+6>=_.length)&&I.push(k)}return y!==t?"Invalid checksum for "+o:{prefix:p,words:I}}function i(o,a){const c=n(o,a);if(typeof c=="object")return c}function s(o,a){const c=n(o,a);if(typeof c=="object")return c;throw new Error(c)}return{decodeUnsafe:i,decode:s,encode:r,toWords:jc,fromWordsUnsafe:Gc,fromWords:Wc}}At.bech32=Wa("bech32");At.bech32m=Wa("bech32m");Object.defineProperty(bi,"__esModule",{value:!0});bi.p2wpkh=void 0;const zi=qt,Vc=Fe,zn=Ye(),Te=He,Ht=Ke,Cn=At,So=zn.OPS,zc=Buffer.alloc(0);function qc(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,Te.typeforce)({address:Te.typeforce.maybe(Te.typeforce.String),hash:Te.typeforce.maybe(Te.typeforce.BufferN(20)),input:Te.typeforce.maybe(Te.typeforce.BufferN(0)),network:Te.typeforce.maybe(Te.typeforce.Object),output:Te.typeforce.maybe(Te.typeforce.BufferN(22)),pubkey:Te.typeforce.maybe(Te.isPoint),signature:Te.typeforce.maybe(zn.isCanonicalScriptSignature),witness:Te.typeforce.maybe(Te.typeforce.arrayOf(Te.typeforce.Buffer))},e);const r=Ht.value(()=>{const s=Cn.bech32.decode(e.address),o=s.words.shift(),a=Cn.bech32.fromWords(s.words);return{version:o,prefix:s.prefix,data:Buffer.from(a)}}),n=e.network||Vc.bitcoin,i={name:"p2wpkh",network:n};if(Ht.prop(i,"address",()=>{if(!i.hash)return;const s=Cn.bech32.toWords(i.hash);return s.unshift(0),Cn.bech32.encode(n.bech32,s)}),Ht.prop(i,"hash",()=>{if(e.output)return e.output.slice(2,22);if(e.address)return r().data;if(e.pubkey||i.pubkey)return zi.hash160(e.pubkey||i.pubkey)}),Ht.prop(i,"output",()=>{if(i.hash)return zn.compile([So.OP_0,i.hash])}),Ht.prop(i,"pubkey",()=>{if(e.pubkey)return e.pubkey;if(e.witness)return e.witness[1]}),Ht.prop(i,"signature",()=>{if(e.witness)return e.witness[0]}),Ht.prop(i,"input",()=>{if(i.witness)return zc}),Ht.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]!==So.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=zi.hash160(e.pubkey);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch");if(s=o,!(0,Te.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(!zn.isCanonicalScriptSignature(e.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,Te.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=zi.hash160(e.witness[1]);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch")}}return Object.assign(i,e)}bi.p2wpkh=qc;var wi={};Object.defineProperty(wi,"__esModule",{value:!0});wi.p2wsh=void 0;const Bo=qt,Kc=Fe,Et=Ye(),ae=He,mt=Ke,Ln=At,To=Et.OPS,qi=Buffer.alloc(0);function Nn(e){return!!(Buffer.isBuffer(e)&&e.length===65&&e[0]===4&&(0,ae.isPoint)(e))}function Yc(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,ae.typeforce)({network:ae.typeforce.maybe(ae.typeforce.Object),address:ae.typeforce.maybe(ae.typeforce.String),hash:ae.typeforce.maybe(ae.typeforce.BufferN(32)),output:ae.typeforce.maybe(ae.typeforce.BufferN(34)),redeem:ae.typeforce.maybe({input:ae.typeforce.maybe(ae.typeforce.Buffer),network:ae.typeforce.maybe(ae.typeforce.Object),output:ae.typeforce.maybe(ae.typeforce.Buffer),witness:ae.typeforce.maybe(ae.typeforce.arrayOf(ae.typeforce.Buffer))}),input:ae.typeforce.maybe(ae.typeforce.BufferN(0)),witness:ae.typeforce.maybe(ae.typeforce.arrayOf(ae.typeforce.Buffer))},e);const r=mt.value(()=>{const o=Ln.bech32.decode(e.address),a=o.words.shift(),c=Ln.bech32.fromWords(o.words);return{version:a,prefix:o.prefix,data:Buffer.from(c)}}),n=mt.value(()=>Et.decompile(e.redeem.input));let i=e.network;i||(i=e.redeem&&e.redeem.network||Kc.bitcoin);const s={network:i};if(mt.prop(s,"address",()=>{if(!s.hash)return;const o=Ln.bech32.toWords(s.hash);return o.unshift(0),Ln.bech32.encode(i.bech32,o)}),mt.prop(s,"hash",()=>{if(e.output)return e.output.slice(2);if(e.address)return r().data;if(s.redeem&&s.redeem.output)return Bo.sha256(s.redeem.output)}),mt.prop(s,"output",()=>{if(s.hash)return Et.compile([To.OP_0,s.hash])}),mt.prop(s,"redeem",()=>{if(e.witness)return{output:e.witness[e.witness.length-1],input:qi,witness:e.witness.slice(0,-1)}}),mt.prop(s,"input",()=>{if(s.witness)return qi}),mt.prop(s,"witness",()=>{if(e.redeem&&e.redeem.input&&e.redeem.input.length>0&&e.redeem.output&&e.redeem.output.length>0){const o=Et.toStack(n());return s.redeem=Object.assign({witness:o},e.redeem),s.redeem.input=qi,[].concat(o,e.redeem.output)}if(e.redeem&&e.redeem.output&&e.redeem.witness)return[].concat(e.redeem.witness,e.redeem.output)}),mt.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]!==To.OP_0||e.output[1]!==32)throw new TypeError("Output is invalid");const a=e.output.slice(2);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}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 a=Et.decompile(e.redeem.output);if(!a||a.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(Et.countNonPushOnlyOPs(a)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const c=Bo.sha256(e.redeem.output);if(o.length>0&&!o.equals(c))throw new TypeError("Hash mismatch");o=c}if(e.redeem.input&&!Et.isPushOnly(n()))throw new TypeError("Non push-only scriptSig");if(e.witness&&e.redeem.witness&&!(0,ae.stacksEqual)(e.witness,e.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(e.redeem.input&&n().some(Nn)||e.redeem.output&&(Et.decompile(e.redeem.output)||[]).some(Nn))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(e.witness&&e.witness.length>0){const a=e.witness[e.witness.length-1];if(e.redeem&&e.redeem.output&&!e.redeem.output.equals(a))throw new TypeError("Witness and redeem.output mismatch");if(e.witness.some(Nn)||(Et.decompile(a)||[]).some(Nn))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(s,e)}wi.p2wsh=Yc;var Xr={},fr={};Object.defineProperty(fr,"__esModule",{value:!0});fr.getEccLib=fr.initEccLib=void 0;const hn={};function Xc(e){e?e!==hn.eccLib&&(Qc(e),hn.eccLib=e):hn.eccLib=e}fr.initEccLib=Xc;function Jc(){if(!hn.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return hn.eccLib}fr.getEccLib=Jc;const _t=e=>Buffer.from(e,"hex");function Qc(e){Je(typeof e.isXOnlyPoint=="function"),Je(e.isXOnlyPoint(_t("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),Je(e.isXOnlyPoint(_t("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),Je(e.isXOnlyPoint(_t("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),Je(e.isXOnlyPoint(_t("0000000000000000000000000000000000000000000000000000000000000001"))),Je(!e.isXOnlyPoint(_t("0000000000000000000000000000000000000000000000000000000000000000"))),Je(!e.isXOnlyPoint(_t("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),Je(typeof e.xOnlyPointAddTweak=="function"),Zc.forEach(t=>{const r=e.xOnlyPointAddTweak(_t(t.pubkey),_t(t.tweak));t.result===null?Je(r===null):(Je(r!==null),Je(r.parity===t.parity),Je(Buffer.from(r.xOnlyPubkey).equals(_t(t.result))))})}function Je(e){if(!e)throw new Error("ecc library invalid")}const Zc=[{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 js={};(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=Ot,r=fr,n=qt,i=Oe,s=He;e.LEAF_VERSION_TAPSCRIPT=192,e.MAX_TAPTREE_DEPTH=128;const o=B=>"left"in B&&"right"in B;function a(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 v=0;v<k;v++){const m=B.slice(33+32*v,65+32*v);U.compare(m)<0?U=y(U,m):U=y(m,U)}return U}e.rootHashFromPath=a;function c(B){if((0,s.isTapleaf)(B))return{hash:d(B)};const A=[c(B[0]),c(B[1])];A.sort((v,m)=>v.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]),I(B.output)]))}e.tapleafHash=d;function p(B,A){return n.taggedHash("TapTweak",t.Buffer.concat(A?[B,A]:[B]))}e.tapTweakHash=p;function _(B,A){if(!t.Buffer.isBuffer(B)||B.length!==32||A&&A.length!==32)return null;const k=p(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=_;function y(B,A){return n.taggedHash("TapBranch",t.Buffer.concat([B,A]))}function I(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])}})(js);var $e={},Po;function eh(){if(Po)return $e;Po=1,Object.defineProperty($e,"__esModule",{value:!0}),$e.toOutputScript=$e.fromOutputScript=$e.toBech32=$e.toBase58Check=$e.fromBech32=$e.fromBase58Check=void 0;const e=Fe,t=Gs(),r=Ye(),n=He,i=At,s=Ds,o=40,a=2,c=16,l=2,d=80,p="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 _(v,m){const S=v.slice(2);if(S.length<a||S.length>o)throw new TypeError("Invalid program length for segwit address");const x=v[0]-d;if(x<l||x>c)throw new TypeError("Invalid version for segwit address");if(v[1]!==S.length)throw new TypeError("Invalid script for segwit address");return console.warn(p),A(S,x,m.bech32)}function y(v){const m=Buffer.from(s.decode(v));if(m.length<21)throw new TypeError(v+" is too short");if(m.length>21)throw new TypeError(v+" is too long");const S=m.readUInt8(0),x=m.slice(1);return{version:S,hash:x}}$e.fromBase58Check=y;function I(v){let m,S;try{m=i.bech32.decode(v)}catch{}if(m){if(S=m.words[0],S!==0)throw new TypeError(v+" uses wrong encoding")}else if(m=i.bech32m.decode(v),S=m.words[0],S===0)throw new TypeError(v+" uses wrong encoding");const x=i.bech32.fromWords(m.words.slice(1));return{version:S,prefix:m.prefix,data:Buffer.from(x)}}$e.fromBech32=I;function B(v,m){(0,n.typeforce)((0,n.tuple)(n.Hash160bit,n.UInt8),arguments);const S=Buffer.allocUnsafe(21);return S.writeUInt8(m,0),v.copy(S,1),s.encode(S)}$e.toBase58Check=B;function A(v,m,S){const x=i.bech32.toWords(v);return x.unshift(m),m===0?i.bech32.encode(S,x):i.bech32m.encode(S,x)}$e.toBech32=A;function k(v,m){m=m||e.bitcoin;try{return t.p2pkh({output:v,network:m}).address}catch{}try{return t.p2sh({output:v,network:m}).address}catch{}try{return t.p2wpkh({output:v,network:m}).address}catch{}try{return t.p2wsh({output:v,network:m}).address}catch{}try{return t.p2tr({output:v,network:m}).address}catch{}try{return _(v,m)}catch{}throw new Error(r.toASM(v)+" has no matching Address")}$e.fromOutputScript=k;function U(v,m){m=m||e.bitcoin;let S,x;try{S=y(v)}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{x=I(v)}catch{}if(x){if(x.prefix!==m.bech32)throw new Error(v+" has an invalid prefix");if(x.version===0){if(x.data.length===20)return t.p2wpkh({hash:x.data}).output;if(x.data.length===32)return t.p2wsh({hash:x.data}).output}else if(x.version===1){if(x.data.length===32)return t.p2tr({pubkey:x.data}).output}else if(x.version>=l&&x.version<=c&&x.data.length>=a&&x.data.length<=o)return console.warn(p),r.compile([x.version+d,x.data])}}throw new Error(v+" has no matching Script")}return $e.toOutputScript=U,$e}var Ao;function th(){if(Ao)return Xr;Ao=1,Object.defineProperty(Xr,"__esModule",{value:!0}),Xr.p2tr=void 0;const e=Ot,t=Fe,r=Ye(),n=He,i=fr,s=js,o=Ke,a=At,c=eh(),l=r.OPS,d=1,p=80;function _(y,I){if(!y.address&&!y.output&&!y.pubkey&&!y.internalPubkey&&!(y.witness&&y.witness.length>1))throw new TypeError("Not enough data");I=Object.assign({validate:!0},I||{}),(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]===p?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,v={name:"p2tr",network:U};if(o.prop(v,"address",()=>{if(!v.pubkey)return;const m=a.bech32m.toWords(v.pubkey);return m.unshift(d),a.bech32m.encode(U.bech32,m)}),o.prop(v,"hash",()=>{const m=k();if(m)return m.hash;const S=A();if(S&&S.length>1){const x=S[S.length-1],M=x[0]&n.TAPLEAF_VERSION_MASK,$=S[S.length-2],R=(0,s.tapleafHash)({output:$,version:M});return(0,s.rootHashFromPath)(x,R)}return null}),o.prop(v,"output",()=>{if(v.pubkey)return r.compile([l.OP_1,v.pubkey])}),o.prop(v,"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(v,"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(v,"pubkey",()=>{if(y.pubkey)return y.pubkey;if(y.output)return y.output.slice(2);if(y.address)return B().data;if(v.internalPubkey){const m=(0,s.tweakKey)(v.internalPubkey,v.hash);if(m)return m.x}}),o.prop(v,"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(v,"signature",()=>{if(y.signature)return y.signature;const m=A();if(!(!m||m.length!==1))return m[0]}),o.prop(v,"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:v.redeemVersion}),x=(0,s.findScriptPath)(m,S);if(!x)return;const M=(0,s.tweakKey)(y.internalPubkey,m.hash);if(!M)return;const $=e.Buffer.concat([e.Buffer.from([v.redeemVersion|M.parity]),y.internalPubkey].concat(x));return[y.redeem.output,$]}if(y.signature)return[y.signature]}),I.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 M=(0,s.tweakKey)(y.internalPubkey,v.hash);if(m.length>0&&!m.equals(M.x))throw new TypeError("Pubkey mismatch");m=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 M=(0,s.tapleafHash)({output:y.redeem.output,version:v.redeemVersion});if(!(0,s.findScriptPath)(S,M))throw new TypeError("Redeem script not in tree")}const x=A();if(y.redeem&&v.redeem){if(y.redeem.redeemVersion&&y.redeem.redeemVersion!==v.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(v.redeem.output&&!y.redeem.output.equals(v.redeem.output))throw new TypeError("Redeem.output and witness mismatch")}if(y.redeem.witness&&v.redeem.witness&&!(0,n.stacksEqual)(y.redeem.witness,v.redeem.witness))throw new TypeError("Redeem.witness and witness mismatch")}if(x&&x.length)if(x.length===1){if(y.signature&&!y.signature.equals(x[0]))throw new TypeError("Signature mismatch")}else{const M=x[x.length-1];if(M.length<33)throw new TypeError(`The control-block length is too small. Got ${M.length}, expected min 33.`);if((M.length-33)%32!==0)throw new TypeError(`The control-block length of ${M.length} is incorrect!`);const $=(M.length-33)/32;if($>128)throw new TypeError(`The script path is too long. Got ${$}, expected max 128.`);const R=M.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=M[0]&n.TAPLEAF_VERSION_MASK,Z=x[x.length-2],C=(0,s.tapleafHash)({output:Z,version:z}),H=(0,s.rootHashFromPath)(M,C),W=(0,s.tweakKey)(R,H);if(!W)throw new TypeError("Invalid outputKey for p2tr witness");if(m.length&&!m.equals(W.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(W.parity!==(M[0]&1))throw new Error("Incorrect parity")}}return Object.assign(v,y)}return Xr.p2tr=_,Xr}var Io;function Gs(){return Io||(Io=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=hi;Object.defineProperty(e,"embed",{enumerable:!0,get:function(){return t.p2data}});const r=li;Object.defineProperty(e,"p2ms",{enumerable:!0,get:function(){return r.p2ms}});const n=di;Object.defineProperty(e,"p2pk",{enumerable:!0,get:function(){return n.p2pk}});const i=pi;Object.defineProperty(e,"p2pkh",{enumerable:!0,get:function(){return i.p2pkh}});const s=yi;Object.defineProperty(e,"p2sh",{enumerable:!0,get:function(){return s.p2sh}});const o=bi;Object.defineProperty(e,"p2wpkh",{enumerable:!0,get:function(){return o.p2wpkh}});const a=wi;Object.defineProperty(e,"p2wsh",{enumerable:!0,get:function(){return a.p2wsh}});const c=th();Object.defineProperty(e,"p2tr",{enumerable:!0,get:function(){return c.p2tr}})}(Gi)),Gi}Object.defineProperty(oe,"__esModule",{value:!0});oe.signatureBlocksAction=oe.checkInputForSig=oe.pubkeyInScript=oe.pubkeyPositionInScript=oe.witnessStackToScriptWitness=oe.isP2TR=oe.isP2SHScript=oe.isP2WSHScript=oe.isP2WPKH=oe.isP2PKH=oe.isP2PK=oe.isP2MS=void 0;const Oo=En,ln=Ye(),Fn=_n,rh=qt,pr=Gs();function yr(e){return t=>{try{return e({output:t}),!0}catch{return!1}}}oe.isP2MS=yr(pr.p2ms);oe.isP2PK=yr(pr.p2pk);oe.isP2PKH=yr(pr.p2pkh);oe.isP2WPKH=yr(pr.p2wpkh);oe.isP2WSHScript=yr(pr.p2wsh);oe.isP2SHScript=yr(pr.p2sh);oe.isP2TR=yr(pr.p2tr);function nh(e){let t=Buffer.allocUnsafe(0);function r(o){t=Buffer.concat([t,Buffer.from(o)])}function n(o){const a=t.length,c=Oo.encodingLength(o);t=Buffer.concat([t,Buffer.allocUnsafe(c)]),Oo.encode(o,t,a)}function i(o){n(o.length),r(o)}function s(o){n(o.length),o.forEach(i)}return s(e),t}oe.witnessStackToScriptWitness=nh;function Va(e,t){const r=(0,rh.hash160)(e),n=e.slice(1,33),i=ln.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))}oe.pubkeyPositionInScript=Va;function ih(e,t){return Va(e,t)!==-1}oe.pubkeyInScript=ih;function sh(e,t){return oh(e).some(n=>za(n,ln.signature.decode,t))}oe.checkInputForSig=sh;function za(e,t,r){const{hashType:n}=t(e),i=[];switch(n&Fn.Transaction.SIGHASH_ANYONECANPAY&&i.push("addInput"),n&31){case Fn.Transaction.SIGHASH_ALL:break;case Fn.Transaction.SIGHASH_SINGLE:case Fn.Transaction.SIGHASH_NONE:i.push("addOutput"),i.push("setInputSequence");break}return i.indexOf(r)===-1}oe.signatureBlocksAction=za;function oh(e){let t=[];if((e.partialSig||[]).length===0){if(!e.finalScriptSig&&!e.finalScriptWitness)return[];t=ah(e)}else t=e.partialSig;return t.map(r=>r.signature)}function ah(e){const t=e.finalScriptSig?ln.decompile(e.finalScriptSig)||[]:[],r=e.finalScriptWitness?ln.decompile(e.finalScriptWitness)||[]:[];return t.concat(r).filter(n=>Buffer.isBuffer(n)&&ln.isCanonicalScriptSignature(n)).map(n=>({signature:n}))}Object.defineProperty(_e,"__esModule",{value:!0});_e.checkTaprootInputForSigs=_e.tapTreeFromList=_e.tapTreeToList=_e.tweakInternalPubKey=_e.checkTaprootOutputFields=_e.checkTaprootInputFields=_e.isTaprootOutput=_e.isTaprootInput=qn=_e.serializeTaprootSignature=_e.tapScriptFinalizer=_e.toXOnly=void 0;const Ws=He,fh=_n,gi=oe,zt=js,uh=Gs(),ch=oe,hh=e=>e.length===32?e:e.slice(1,33);_e.toXOnly=hh;function lh(e,t,r){const n=Oh(t,e,r);try{const s=Ah(t,n).concat(n.script).concat(n.controlBlock);return{finalScriptWitness:(0,gi.witnessStackToScriptWitness)(s)}}catch(i){throw new Error(`Can not finalize taproot input #${e}: ${i}`)}}_e.tapScriptFinalizer=lh;function dh(e,t){const r=t?Buffer.from([t]):Buffer.from([]);return Buffer.concat([e,r])}var qn=_e.serializeTaprootSignature=dh;function Kn(e){return e&&!!(e.tapInternalKey||e.tapMerkleRoot||e.tapLeafScript&&e.tapLeafScript.length||e.tapBip32Derivation&&e.tapBip32Derivation.length||e.witnessUtxo&&(0,gi.isP2TR)(e.witnessUtxo.script))}_e.isTaprootInput=Kn;function Yn(e,t){return e&&!!(e.tapInternalKey||e.tapTree||e.tapBip32Derivation&&e.tapBip32Derivation.length||t&&(0,gi.isP2TR)(t))}_e.isTaprootOutput=Yn;function ph(e,t,r){Bh(e,t,r),Ph(e,t,r)}_e.checkTaprootInputFields=ph;function yh(e,t,r){Th(e,t,r),bh(e,t)}_e.checkTaprootOutputFields=yh;function bh(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=wh(r,n);if(i&&!i.equals(s))throw new Error("Error adding output. Script or address missmatch.")}}function wh(e,t){const r=t&&qa(t.leaves),{output:n}=(0,uh.p2tr)({internalPubkey:e,scriptTree:r});return n}function gh(e,t){const r=t.tapInternalKey,n=r&&(0,zt.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}_e.tweakInternalPubKey=gh;function mh(e){if(!(0,Ws.isTaptree)(e))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return ys(e)}_e.tapTreeToList=mh;function qa(e=[]){return e.length===1&&e[0].depth===0?{output:e[0].script,version:e[0].leafVersion}:Sh(e)}_e.tapTreeFromList=qa;function _h(e,t){return Eh(e).some(n=>(0,ch.signatureBlocksAction)(n,vh,t))}_e.checkTaprootInputForSigs=_h;function vh(e){return{signature:e.slice(0,64),hashType:e.slice(64)[0]||fh.Transaction.SIGHASH_DEFAULT}}function Eh(e){const t=[];if(e.tapKeySig&&t.push(e.tapKeySig),e.tapScriptSig&&t.push(...e.tapScriptSig.map(r=>r.signature)),!t.length){const r=xh(e.finalScriptWitness);r&&t.push(r)}return t}function xh(e){if(!e)return;const t=e.slice(2);if(t.length===64||t.length===65)return t}function ys(e,t=[],r=0){if(r>zt.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return e?(0,Ws.isTapleaf)(e)?(t.push({depth:r,leafVersion:e.version||zt.LEAF_VERSION_TAPSCRIPT,script:e.output}),t):(e[0]&&ys(e[0],t,r+1),e[1]&&ys(e[1],t,r+1),t):[]}function Sh(e){let t;for(const r of e)if(t=bs(r,t),!t)throw new Error("No room left to insert tapleaf in tree");return t}function bs(e,t,r=0){if(r>zt.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,Ws.isTapleaf)(t))return;const n=bs(e,t&&t[0],r+1);if(n)return[n,t&&t[1]];const i=bs(e,t&&t[1],r+1);if(i)return[t&&t[0],i]}function Bh(e,t,r){const n=Kn(e)&&kr(t),i=kr(e)&&Kn(t),s=e===t&&Kn(t)&&kr(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function Th(e,t,r){const n=Yn(e)&&kr(t),i=kr(e)&&Yn(t),s=e===t&&Yn(t)&&kr(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function Ph(e,t,r){if(t.tapMerkleRoot){const n=(t.tapLeafScript||[]).every(s=>Ki(s,t.tapMerkleRoot)),i=(e.tapLeafScript||[]).every(s=>Ki(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=>Ki(i,e.tapMerkleRoot)))throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}function Ki(e,t){if(!t)return!0;const r=(0,zt.tapleafHash)({output:e.script,version:e.leafVersion});return(0,zt.rootHashFromPath)(e.controlBlock,r).equals(t)}function Ah(e,t){const r=(0,zt.tapleafHash)({output:t.script,version:t.leafVersion});return(e.tapScriptSig||[]).filter(n=>n.leafHash.equals(r)).map(n=>Ih(t.script,n)).sort((n,i)=>i.positionInScript-n.positionInScript).map(n=>n.signature)}function Ih(e,t){return Object.assign({positionInScript:(0,gi.pubkeyPositionInScript)(t.pubkey,e)},t)}function Oh(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=>kh(i,e.tapScriptSig,r));if(!n)throw new Error(`Can not finalize taproot input #${t}. Signature for tapleaf script not found.`);return n}function kh(e,t,r){const n=(0,zt.tapleafHash)({output:e.script,version:e.leafVersion});return(!r||r.equals(n))&&t.find(s=>s.leafHash.equals(n))!==void 0}function kr(e){return e&&!!(e.redeemScript||e.witnessScript||e.bip32Derivation&&e.bip32Derivation.length)}const Ae={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"},Hn=192;re.initEccLib(or);class dn{constructor(t,r,n,i,s,o,a,c){this.secretHash=n,this.redeemerPubkey=i,this.initiatorPubkey=s,this.expiry=o,this.signer=t,this.network=a,this.internalPubkey=Pu(),this.initiateAmount=r,this.utxoHashes=c}static async from(t,r,n,i,s,o,a){n=n.startsWith("0x")?n.slice(2):n,Zt(n.length===64,Ae.secretHashLenMismatch),Zt(i.length===64||i.length===66,`initiator ${Ae.pubkeyLenMismatch}`),Zt(s.length===64||s.length===66,`redeemer ${Ae.pubkeyLenMismatch}`),Zt(o>0,Ae.zeroOrNegativeExpiry);const c=await t.getNetwork();return new dn(t,r,n,ls(s).toString("hex"),ls(i).toString("hex"),o,c,a)}address(){const{address:t}=re.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves()});if(!t)throw new Error(Ae.htlcAddressGenerationFailed);return t}id(){return this.address()}async _buildRawTx(t,r){const n=new re.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 p=l.vout[d];p.scriptpubkey_address===i&&o.push({txid:l.txid,vout:d,value:p.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const a=o.reduce((c,l)=>c+l.value,0);if(a===0)throw new Error(`${i} ${Ae.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,a,Ur.Urgency.MEDIUM)),n.addOutput(re.address.toOutputScript(t,this.network),a-r),{tx:n,usedUtxos:o}}async _tempBuildRawTx(t,r){const n=new re.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 p=l.vout[d];p.scriptpubkey_address===i&&o.push({txid:l.txid,vout:d,value:p.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const a=o.reduce((c,l)=>c+l.value,0);if(a===0)throw new Error(`${i} ${Ae.notFunded}`);for(let c=0;c<o.length;c++)n.addInput(Buffer.from(o[c].txid,"hex").reverse(),o[c].vout);if(n.addOutput(re.address.toOutputScript(t,this.network),a),r){const c=await s.getFeeRates(),l=Math.ceil(c.hourFee*r),d=a-l;n.outs[0].value=d}return{tx:n,usedUtxos:o}}async buildRawTx(t){return await this._buildRawTx(await this.signer.getAddress(),t)}getOutputScript(){return re.address.toOutputScript(this.address(),this.network)}async init(t){return t??(t=await(await this.signer.getProvider()).suggestFee(await this.signer.getAddress(),this.initiateAmount,Ur.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(),a=re.Transaction.SIGHASH_SINGLE|re.Transaction.SIGHASH_ANYONECANPAY,c=this.leafHash(1),l=s.map(p=>p.value),d=xr(o,s.length);for(let p=0;p<i.ins.length;p++){const _=i.hashForWitnessV1(p,d,l,a,c),y=await this.signer.signSchnorr(_);i.setWitness(p,[qn(y,a),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=re.Transaction.SIGHASH_SINGLE|re.Transaction.SIGHASH_ANYONECANPAY,a=this.leafHash(2),c=i.map(d=>d.value),l=xr(s,i.length);for(let d=0;d<n.ins.length;d++){const p=n.hashForWitnessV1(d,l,c,o,a),_=await this.signer.signSchnorr(p);n.setWitness(d,[qn(_,o),qn(_,o),this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return n.toHex()}async instantRefund(t,r){Zt(t.length>0,Ae.noCounterpartySigs);const{tx:n,usedUtxos:i}=await this.buildRawTx(r);for(const p of i)if(!t.find(_=>_.utxo===p.txid))throw new Error(Ae.counterPartySigNotFound(p.txid));const s=this.getOutputScript(),o=re.Transaction.SIGHASH_DEFAULT,a=this.leafHash(2),c=i.map(p=>p.value),l=xr(s,i.length);for(let p=0;p<n.ins.length;p++){const _=n.hashForWitnessV1(p,l,c,o,a);if(!or.verifySchnorr(_,Buffer.from(this.redeemerPubkey,"hex"),Buffer.from(t[p].sig,"hex")))throw new Error(Ae.invalidCounterpartySigForUTXO(t[p].utxo));const y=await this.signer.signSchnorr(_),I=Buffer.from(n.ins[p].hash).reverse().toString("hex"),B=t.find(A=>A.utxo===I);if(!B)throw new Error(Ae.counterPartySigNotFound(I));n.setWitness(p,[Buffer.from(B.sig,"hex"),y,this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async redeem(t,r){Zt(re.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,Ae.secretMismatch);const n=r??await this.signer.getAddress(),{tx:i,usedUtxos:s}=await this._tempBuildRawTx(n),o=this.leafHash(1),a=s.map(_=>_.value),c=xr(this.getOutputScript(),s.length),l=re.Transaction.SIGHASH_DEFAULT;for(let _=0;_<i.ins.length;_++){const y=i.hashForWitnessV1(_,c,a,l,o),I=await this.signer.signSchnorr(y);i.setWitness(_,[I,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}const{tx:d}=await this._tempBuildRawTx(n,i.virtualSize());for(let _=0;_<d.ins.length;_++){const y=d.hashForWitnessV1(_,c,a,l,o),I=await this.signer.signSchnorr(y);d.setWitness(_,[I,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return await(await this.signer.getProvider()).broadcast(d.toHex())}async getRedeemHex(t,r){Zt(re.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,Ae.secretMismatch);const n=r??await this.signer.getAddress(),{tx:i,usedUtxos:s}=await this._tempBuildRawTx(n);console.log("utxos :",s);const o=this.leafHash(1),a=s.map(p=>p.value),c=xr(this.getOutputScript(),s.length),l=re.Transaction.SIGHASH_DEFAULT;for(let p=0;p<i.ins.length;p++){const _=i.hashForWitnessV1(p,c,a,l,o),y=await this.signer.signSchnorr(_);i.setWitness(p,[y,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}const{tx:d}=await this._tempBuildRawTx(n,i.virtualSize());for(let p=0;p<d.ins.length;p++){const _=d.hashForWitnessV1(p,c,a,l,o),y=await this.signer.signSchnorr(_);d.setWitness(p,[y,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return d.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(Ae.htlcNotExpired(o));const a=this.leafHash(0),c=i.map(_=>_.value),l=xr(this.getOutputScript(),i.length),d=re.Transaction.SIGHASH_DEFAULT;for(let _=0;_<n.ins.length;_++){n.ins[_].sequence=this.expiry;const y=n.hashForWitnessV1(_,l,c,d,a),I=await this.signer.signSchnorr(y);n.setWitness(_,[I,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(Ae.invalidLeaf)}const n=re.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves(),redeem:{output:r,redeemVersion:Hn}});if(!n.witness)throw new Error(Ae.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()),re.crypto.taggedHash("TapLeaf",pu(r))}refundLeaf(){return re.script.fromASM(`
10
10
  ${re.script.number.encode(this.expiry).toString("hex")}
11
11
  OP_CHECKSEQUENCEVERIFY
12
12
  OP_DROP
@@ -27,8 +27,8 @@
27
27
  OP_NUMEQUAL
28
28
  `.trim().replace(/\s+/g," "))}leaves(){return[{version:Hn,output:this.redeemLeaf()},[{version:Hn,output:this.refundLeaf()},{version:Hn,output:this.instantRefundLeaf()}]]}generateMerkleProofFor(t){const r=this.leafHash(1),n=this.leafHash(2),i=this.leafHash(0);switch(t){case 1:{const s=bu(i,n);return[re.crypto.taggedHash("TapBranch",Buffer.concat(s))]}case 0:return[n,r];case 2:return[i,r];default:throw new Error(Ae.invalidLeaf)}}}function xr(e,t){const r=[];for(let n=0;n<t;n++)r.push(e);return r}class Rh{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 Uh{constructor(){this.cache={}}set(t,r){this.cache[t]=r}get(t){return this.cache[t]||null}}class Ka{constructor(t,r){this.url=new pe.Url("/blocknumber/"+r,t)}async fetchBlockNumbers(){try{const t=await nr.get(this.url);return ne(t)}catch(t){return j("Failed to fetch block numbers",t)}}}const ws={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:{orderbook:"",quote:"",info:""}};class Ya{constructor(t){this.quoteUrl=new pe.Url("/quote",t)}async getQuote(t,r,n=!1,i){try{const s=this.quoteUrl.addSearchParams({order_pair:t,amount:r.toString(),exact_out:n.toString()}),o=await nr.get(s,{retryCount:0,...i});return o.error?j(o.error):o.result?ne(o.result):j("GetQuote: Unexpected error, result is undefined")}catch(s){return j("GetQuote:",String(s))}}async getAttestedQuote(t){try{const r=await nr.post(this.quoteUrl.endpoint("/attested").toString(),{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}});return r.error?j(r.error):r.result?ne(r.result):j("GetAttestedQuote: Unexpected error, result is undefined")}catch(r){return console.log("error :",r),j("GetAttestedQuote:",String(r))}}async getStrategies(){try{const t=await nr.get(this.quoteUrl.endpoint("/strategies"));if(t.error)return j(t.error);if(!t.result)return j("GetStrategies: Unexpected error, result is undefined");const r={};for(const n of Object.values(t.result)){const i=wa(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 ne(r)}catch(t){return j("GetStrategies:",String(t))}}}var Xa={},Fr={},Hr={};Object.defineProperty(Hr,"__esModule",{value:!0});Hr.testnet=Hr.bitcoin=void 0;Hr.bitcoin={messagePrefix:`Bitcoin Signed Message:
29
29
  `,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};Hr.testnet={messagePrefix:`Bitcoin Signed Message:
30
- `,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var Ja={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.maybe=e.Boolean=e.Array=e.Buffer256bit=e.Network=e.typeforce=void 0,e.typeforce=Pa,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})(Ja);var gs={exports:{}},ms={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(e,t){var r=Ot,n=r.Buffer;function i(o,a){for(var c in o)a[c]=o[c]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=s);function s(o,a,c){return n(o,a,c)}s.prototype=Object.create(n.prototype),i(n,s),s.from=function(o,a,c){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,c)},s.alloc=function(o,a,c){if(typeof o!="number")throw new TypeError("Argument must be a number");var l=n(o);return a!==void 0?typeof c=="string"?l.fill(a,c):l.fill(a):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)}})(ms,ms.exports);var We=ms.exports,Yi=65536,Ch=4294967295;function Lh(){throw new Error(`Secure random number generation is not supported by this browser.
31
- Use Chrome, Firefox or Internet Explorer 11`)}var Nh=We.Buffer,ti=Vt.crypto||Vt.msCrypto;ti&&ti.getRandomValues?gs.exports=Fh:gs.exports=Lh;function Fh(e,t){if(e>Ch)throw new RangeError("requested too many random bytes");var r=Nh.allocUnsafe(e);if(e>0)if(e>Yi)for(var n=0;n<e;n+=Yi)ti.getRandomValues(r.slice(n,n+Yi));else ti.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}var Hh=gs.exports,_s={exports:{}};typeof Object.create=="function"?_s.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:_s.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 ke=_s.exports,vs={exports:{}},Vs={exports:{}},Rr=typeof Reflect=="object"?Reflect:null,ko=Rr&&typeof Rr.apply=="function"?Rr.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},Xn;Rr&&typeof Rr.ownKeys=="function"?Xn=Rr.ownKeys:Object.getOwnPropertySymbols?Xn=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Xn=function(t){return Object.getOwnPropertyNames(t)};function Mh(e){console&&console.warn&&console.warn(e)}var Qa=Number.isNaN||function(t){return t!==t};function ie(){ie.init.call(this)}Vs.exports=ie;Vs.exports.once=Gh;ie.EventEmitter=ie;ie.prototype._events=void 0;ie.prototype._eventsCount=0;ie.prototype._maxListeners=void 0;var Ro=10;function mi(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(ie,"defaultMaxListeners",{enumerable:!0,get:function(){return Ro},set:function(e){if(typeof e!="number"||e<0||Qa(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");Ro=e}});ie.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};ie.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||Qa(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 Za(e){return e._maxListeners===void 0?ie.defaultMaxListeners:e._maxListeners}ie.prototype.getMaxListeners=function(){return Za(this)};ie.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 a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[t];if(c===void 0)return!1;if(typeof c=="function")ko(c,this,r);else for(var l=c.length,d=sf(c,l),n=0;n<l;++n)ko(d[n],this,r);return!0};function ef(e,t,r,n){var i,s,o;if(mi(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=Za(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,Mh(a)}return e}ie.prototype.addListener=function(t,r){return ef(this,t,r,!1)};ie.prototype.on=ie.prototype.addListener;ie.prototype.prependListener=function(t,r){return ef(this,t,r,!0)};function Dh(){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 tf(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=Dh.bind(n);return i.listener=r,n.wrapFn=i,i}ie.prototype.once=function(t,r){return mi(r),this.on(t,tf(this,t,r)),this};ie.prototype.prependOnceListener=function(t,r){return mi(r),this.prependListener(t,tf(this,t,r)),this};ie.prototype.removeListener=function(t,r){var n,i,s,o,a;if(mi(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){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():$h(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};ie.prototype.off=ie.prototype.removeListener;ie.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 rf(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?jh(i):sf(i,i.length)}ie.prototype.listeners=function(t){return rf(this,t,!0)};ie.prototype.rawListeners=function(t){return rf(this,t,!1)};ie.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):nf.call(e,t)};ie.prototype.listenerCount=nf;function nf(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}ie.prototype.eventNames=function(){return this._eventsCount>0?Xn(this._events):[]};function sf(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function $h(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function jh(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function Gh(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))}of(e,t,s,{once:!0}),t!=="error"&&Wh(e,i,{once:!0})})}function Wh(e,t,r){typeof e.on=="function"&&of(e,"error",t,r)}function of(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 af=Vs.exports,ff=af.EventEmitter;const Vh={},zh=Object.freeze(Object.defineProperty({__proto__:null,default:Vh},Symbol.toStringTag,{value:"Module"})),zs=Iu(zh);var Xi,Uo;function qh(){if(Uo)return Xi;Uo=1;function e(I,B){var A=Object.keys(I);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(I);B&&(k=k.filter(function(U){return Object.getOwnPropertyDescriptor(I,U).enumerable})),A.push.apply(A,k)}return A}function t(I){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(I,k,A[k])}):Object.getOwnPropertyDescriptors?Object.defineProperties(I,Object.getOwnPropertyDescriptors(A)):e(Object(A)).forEach(function(k){Object.defineProperty(I,k,Object.getOwnPropertyDescriptor(A,k))})}return I}function r(I,B,A){return B=o(B),B in I?Object.defineProperty(I,B,{value:A,enumerable:!0,configurable:!0,writable:!0}):I[B]=A,I}function n(I,B){if(!(I instanceof B))throw new TypeError("Cannot call a class as a function")}function i(I,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(I,o(k.key),k)}}function s(I,B,A){return B&&i(I.prototype,B),Object.defineProperty(I,"prototype",{writable:!1}),I}function o(I){var B=a(I,"string");return typeof B=="symbol"?B:String(B)}function a(I,B){if(typeof I!="object"||I===null)return I;var A=I[Symbol.toPrimitive];if(A!==void 0){var k=A.call(I,B||"default");if(typeof k!="object")return k;throw new TypeError("@@toPrimitive must return a primitive value.")}return(B==="string"?String:Number)(I)}var c=Ot,l=c.Buffer,d=zs,p=d.inspect,_=p&&p.custom||"inspect";function y(I,B,A){l.prototype.copy.call(I,B,A)}return Xi=function(){function I(){n(this,I),this.head=null,this.tail=null,this.length=0}return s(I,[{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,v=0;U;)y(U.data,k,v),v+=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,v=k.data;for(A-=v.length;k=k.next;){var m=k.data,S=A>m.length?m.length:A;if(S===m.length?v+=m:v+=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,v}},{key:"_getBuffer",value:function(A){var k=l.allocUnsafe(A),U=this.head,v=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?(++v,U.next?this.head=U.next:this.head=this.tail=null):(this.head=U,U.data=m.slice(S));break}++v}return this.length-=v,k}},{key:_,value:function(A,k){return p(this,t(t({},k),{},{depth:0,customInspect:!1}))}}]),I}(),Xi}function Kh(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(Es,this,e)):process.nextTick(Es,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(Jn,r):(r._writableState.errorEmitted=!0,process.nextTick(Co,r,s)):process.nextTick(Co,r,s):t?(process.nextTick(Jn,r),t(s)):process.nextTick(Jn,r)}),this)}function Co(e,t){Es(e,t),Jn(e)}function Jn(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function Yh(){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 Es(e,t){e.emit("error",t)}function Xh(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}var uf={destroy:Kh,undestroy:Yh,errorOrDestroy:Xh},br={};function Jh(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var cf={};function et(e,t,r){r||(r=Error);function n(s,o,a){return typeof t=="string"?t:t(s,o,a)}var i=function(s){Jh(o,s);function o(a,c,l){return s.call(this,n(a,c,l))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,cf[e]=i}function Lo(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 Qh(e,t,r){return e.substr(0,t.length)===t}function Zh(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function el(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}et("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);et("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&Qh(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(Zh(e," argument"))i="The ".concat(e," ").concat(n," ").concat(Lo(t,"type"));else{var s=el(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(s," ").concat(n," ").concat(Lo(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);et("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");et("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});et("ERR_STREAM_PREMATURE_CLOSE","Premature close");et("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});et("ERR_MULTIPLE_CALLBACK","Callback called multiple times");et("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");et("ERR_STREAM_WRITE_AFTER_END","write after end");et("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);et("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);et("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");br.codes=cf;var tl=br.codes.ERR_INVALID_OPT_VALUE;function rl(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function nl(e,t,r,n){var i=rl(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var s=n?r:"highWaterMark";throw new tl(s,i)}return Math.floor(i)}return e.objectMode?16:16*1024}var hf={getHighWaterMark:nl},il=sl;function sl(e,t){if(Ji("noDeprecation"))return e;var r=!1;function n(){if(!r){if(Ji("throwDeprecation"))throw new Error(t);Ji("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function Ji(e){try{if(!Vt.localStorage)return!1}catch{return!1}var t=Vt.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}var Qi,No;function lf(){if(No)return Qi;No=1,Qi=$;function e(T){var P=this;this.next=null,this.entry=null,this.finish=function(){bt(P,T)}}var t;$.WritableState=x;var r={deprecate:il},n=ff,i=Ot.Buffer,s=(typeof Vt<"u"?Vt:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(T){return i.from(T)}function a(T){return i.isBuffer(T)||T instanceof s}var c=uf,l=hf,d=l.getHighWaterMark,p=br.codes,_=p.ERR_INVALID_ARG_TYPE,y=p.ERR_METHOD_NOT_IMPLEMENTED,I=p.ERR_MULTIPLE_CALLBACK,B=p.ERR_STREAM_CANNOT_PIPE,A=p.ERR_STREAM_DESTROYED,k=p.ERR_STREAM_NULL_VALUES,U=p.ERR_STREAM_WRITE_AFTER_END,v=p.ERR_UNKNOWN_ENCODING,m=c.errorOrDestroy;ke($,n);function S(){}function x(T,P,F){t=t||Mr(),T=T||{},typeof F!="boolean"&&(F=P instanceof t),this.objectMode=!!T.objectMode,F&&(this.objectMode=this.objectMode||!!T.writableObjectMode),this.highWaterMark=d(this,T,"writableHighWaterMark",F),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){fe(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)}x.prototype.getBuffer=function(){for(var P=this.bufferedRequest,F=[];P;)F.push(P),P=P.next;return F},function(){try{Object.defineProperty(x.prototype,"buffer",{get:r.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var M;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(M=Function.prototype[Symbol.hasInstance],Object.defineProperty($,Symbol.hasInstance,{value:function(P){return M.call(this,P)?!0:this!==$?!1:P&&P._writableState instanceof x}})):M=function(P){return P instanceof this};function $(T){t=t||Mr();var P=this instanceof t;if(!P&&!M.call($,this))return new $(T);this._writableState=new x(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)}$.prototype.pipe=function(){m(this,new B)};function R(T,P){var F=new U;m(T,F),process.nextTick(P,F)}function z(T,P,F,G){var K;return F===null?K=new k:typeof F!="string"&&!P.objectMode&&(K=new _("chunk",["string","Buffer"],F)),K?(m(T,K),process.nextTick(G,K),!1):!0}$.prototype.write=function(T,P,F){var G=this._writableState,K=!1,w=!G.objectMode&&a(T);return w&&!i.isBuffer(T)&&(T=o(T)),typeof P=="function"&&(F=P,P=null),w?P="buffer":P||(P=G.defaultEncoding),typeof F!="function"&&(F=S),G.ending?R(this,F):(w||z(this,G,T,F))&&(G.pendingcb++,K=C(this,G,w,T,P,F)),K},$.prototype.cork=function(){this._writableState.corked++},$.prototype.uncork=function(){var T=this._writableState;T.corked&&(T.corked--,!T.writing&&!T.corked&&!T.bufferProcessing&&T.bufferedRequest&&Ve(this,T))},$.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 v(P);return this._writableState.defaultEncoding=P,this},Object.defineProperty($.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function Z(T,P,F){return!T.objectMode&&T.decodeStrings!==!1&&typeof P=="string"&&(P=i.from(P,F)),P}Object.defineProperty($.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function C(T,P,F,G,K,w){if(!F){var g=Z(P,G,K);G!==g&&(F=!0,K="buffer",G=g)}var N=P.objectMode?1:G.length;P.length+=N;var D=P.length<P.highWaterMark;if(D||(P.needDrain=!0),P.writing||P.corked){var we=P.lastBufferedRequest;P.lastBufferedRequest={chunk:G,encoding:K,isBuf:F,callback:w,next:null},we?we.next=P.lastBufferedRequest:P.bufferedRequest=P.lastBufferedRequest,P.bufferedRequestCount+=1}else H(T,P,!1,N,G,K,w);return D}function H(T,P,F,G,K,w,g){P.writelen=G,P.writecb=g,P.writing=!0,P.sync=!0,P.destroyed?P.onwrite(new A("write")):F?T._writev(K,P.onwrite):T._write(K,w,P.onwrite),P.sync=!1}function W(T,P,F,G,K){--P.pendingcb,F?(process.nextTick(K,G),process.nextTick(ze,T,P),T._writableState.errorEmitted=!0,m(T,G)):(K(G),T._writableState.errorEmitted=!0,m(T,G),ze(T,P))}function q(T){T.writing=!1,T.writecb=null,T.length-=T.writelen,T.writelen=0}function fe(T,P){var F=T._writableState,G=F.sync,K=F.writecb;if(typeof K!="function")throw new I;if(q(F),P)W(T,F,G,P,K);else{var w=st(F)||T.destroyed;!w&&!F.corked&&!F.bufferProcessing&&F.bufferedRequest&&Ve(T,F),G?process.nextTick(ue,T,F,w,K):ue(T,F,w,K)}}function ue(T,P,F,G){F||tt(T,P),P.pendingcb--,G(),ze(T,P)}function tt(T,P){P.length===0&&P.needDrain&&(P.needDrain=!1,T.emit("drain"))}function Ve(T,P){P.bufferProcessing=!0;var F=P.bufferedRequest;if(T._writev&&F&&F.next){var G=P.bufferedRequestCount,K=new Array(G),w=P.corkedRequestsFree;w.entry=F;for(var g=0,N=!0;F;)K[g]=F,F.isBuf||(N=!1),F=F.next,g+=1;K.allBuffers=N,H(T,P,!0,P.length,K,"",w.finish),P.pendingcb++,P.lastBufferedRequest=null,w.next?(P.corkedRequestsFree=w.next,w.next=null):P.corkedRequestsFree=new e(P),P.bufferedRequestCount=0}else{for(;F;){var D=F.chunk,we=F.encoding,Y=F.callback,te=P.objectMode?1:D.length;if(H(T,P,!1,te,D,we,Y),F=F.next,P.bufferedRequestCount--,P.writing)break}F===null&&(P.lastBufferedRequest=null)}P.bufferedRequest=F,P.bufferProcessing=!1}$.prototype._write=function(T,P,F){F(new y("_write()"))},$.prototype._writev=null,$.prototype.end=function(T,P,F){var G=this._writableState;return typeof T=="function"?(F=T,T=null,P=null):typeof P=="function"&&(F=P,P=null),T!=null&&this.write(T,P),G.corked&&(G.corked=1,this.uncork()),G.ending||kt(this,G,F),this},Object.defineProperty($.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function st(T){return T.ending&&T.length===0&&T.bufferedRequest===null&&!T.finished&&!T.writing}function be(T,P){T._final(function(F){P.pendingcb--,F&&m(T,F),P.prefinished=!0,T.emit("prefinish"),ze(T,P)})}function xe(T,P){!P.prefinished&&!P.finalCalled&&(typeof T._final=="function"&&!P.destroyed?(P.pendingcb++,P.finalCalled=!0,process.nextTick(be,T,P)):(P.prefinished=!0,T.emit("prefinish")))}function ze(T,P){var F=st(P);if(F&&(xe(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 F}function kt(T,P,F){P.ending=!0,ze(T,P),F&&(P.finished?process.nextTick(F):T.once("finish",F)),P.ended=!0,T.writable=!1}function bt(T,P,F){var G=T.entry;for(T.entry=null;G;){var K=G.callback;P.pendingcb--,K(F),G=G.next}P.corkedRequestsFree.next=T}return Object.defineProperty($.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(P){this._writableState&&(this._writableState.destroyed=P)}}),$.prototype.destroy=c.destroy,$.prototype._undestroy=c.undestroy,$.prototype._destroy=function(T,P){P(T)},Qi}var Zi,Fo;function Mr(){if(Fo)return Zi;Fo=1;var e=Object.keys||function(l){var d=[];for(var p in l)d.push(p);return d};Zi=o;var t=pf(),r=lf();ke(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",a)))}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 a(){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)}}),Zi}var ri={},qs=We.Buffer,Ho=qs.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 ol(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 al(e){var t=ol(e);if(typeof t!="string"&&(qs.isEncoding===Ho||!Ho(e)))throw new Error("Unknown encoding: "+e);return t||e}ri.StringDecoder=xn;function xn(e){this.encoding=al(e);var t;switch(this.encoding){case"utf16le":this.text=dl,this.end=pl,t=4;break;case"utf8":this.fillLast=cl,t=4;break;case"base64":this.text=yl,this.end=bl,t=3;break;default:this.write=wl,this.end=gl;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=qs.allocUnsafe(t)}xn.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||""};xn.prototype.end=ll;xn.prototype.text=hl;xn.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 es(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function fl(e,t,r){var n=t.length-1;if(n<r)return 0;var i=es(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=es(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=es(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function ul(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 cl(e){var t=this.lastTotal-this.lastNeed,r=ul(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 hl(e,t){var r=fl(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 ll(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function dl(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 pl(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 yl(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 bl(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function wl(e){return e.toString(this.encoding)}function gl(e){return e&&e.length?this.write(e):""}var Mo=br.codes.ERR_STREAM_PREMATURE_CLOSE;function ml(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 _l(){}function vl(e){return e.setHeader&&typeof e.abort=="function"}function df(e,t,r){if(typeof t=="function")return df(e,null,t);t||(t={}),r=ml(r||_l);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,s=function(){e.writable||a()},o=e._writableState&&e._writableState.finished,a=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(I){r.call(e,I)},p=function(){var I;if(n&&!c)return(!e._readableState||!e._readableState.ended)&&(I=new Mo),r.call(e,I);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(I=new Mo),r.call(e,I)},_=function(){e.req.on("finish",a)};return vl(e)?(e.on("complete",a),e.on("abort",p),e.req?_():e.on("request",_)):i&&!e._writableState&&(e.on("end",s),e.on("close",s)),e.on("end",l),e.on("finish",a),t.error!==!1&&e.on("error",d),e.on("close",p),function(){e.removeListener("complete",a),e.removeListener("abort",p),e.removeListener("request",_),e.req&&e.req.removeListener("finish",a),e.removeListener("end",s),e.removeListener("close",s),e.removeListener("finish",a),e.removeListener("end",l),e.removeListener("error",d),e.removeListener("close",p)}}var Ks=df,ts,Do;function El(){if(Do)return ts;Do=1;var e;function t(v,m,S){return m=r(m),m in v?Object.defineProperty(v,m,{value:S,enumerable:!0,configurable:!0,writable:!0}):v[m]=S,v}function r(v){var m=n(v,"string");return typeof m=="symbol"?m:String(m)}function n(v,m){if(typeof v!="object"||v===null)return v;var S=v[Symbol.toPrimitive];if(S!==void 0){var x=S.call(v,m||"default");if(typeof x!="object")return x;throw new TypeError("@@toPrimitive must return a primitive value.")}return(m==="string"?String:Number)(v)}var i=Ks,s=Symbol("lastResolve"),o=Symbol("lastReject"),a=Symbol("error"),c=Symbol("ended"),l=Symbol("lastPromise"),d=Symbol("handlePromise"),p=Symbol("stream");function _(v,m){return{value:v,done:m}}function y(v){var m=v[s];if(m!==null){var S=v[p].read();S!==null&&(v[l]=null,v[s]=null,v[o]=null,m(_(S,!1)))}}function I(v){process.nextTick(y,v)}function B(v,m){return function(S,x){v.then(function(){if(m[c]){S(_(void 0,!0));return}m[d](S,x)},x)}}var A=Object.getPrototypeOf(function(){}),k=Object.setPrototypeOf((e={get stream(){return this[p]},next:function(){var m=this,S=this[a];if(S!==null)return Promise.reject(S);if(this[c])return Promise.resolve(_(void 0,!0));if(this[p].destroyed)return new Promise(function(R,z){process.nextTick(function(){m[a]?z(m[a]):R(_(void 0,!0))})});var x=this[l],M;if(x)M=new Promise(B(x,this));else{var $=this[p].read();if($!==null)return Promise.resolve(_($,!1));M=new Promise(this[d])}return this[l]=M,M}},t(e,Symbol.asyncIterator,function(){return this}),t(e,"return",function(){var m=this;return new Promise(function(S,x){m[p].destroy(null,function(M){if(M){x(M);return}S(_(void 0,!0))})})}),e),A),U=function(m){var S,x=Object.create(k,(S={},t(S,p,{value:m,writable:!0}),t(S,s,{value:null,writable:!0}),t(S,o,{value:null,writable:!0}),t(S,a,{value:null,writable:!0}),t(S,c,{value:m._readableState.endEmitted,writable:!0}),t(S,d,{value:function($,R){var z=x[p].read();z?(x[l]=null,x[s]=null,x[o]=null,$(_(z,!1))):(x[s]=$,x[o]=R)},writable:!0}),S));return x[l]=null,i(m,function(M){if(M&&M.code!=="ERR_STREAM_PREMATURE_CLOSE"){var $=x[o];$!==null&&(x[l]=null,x[s]=null,x[o]=null,$(M)),x[a]=M;return}var R=x[s];R!==null&&(x[l]=null,x[s]=null,x[o]=null,R(_(void 0,!0))),x[c]=!0}),m.on("readable",I.bind(null,x)),x};return ts=U,ts}var rs,$o;function xl(){return $o||($o=1,rs=function(){throw new Error("Readable.from is not available in the browser")}),rs}var ns,jo;function pf(){if(jo)return ns;jo=1,ns=R;var e;R.ReadableState=$,af.EventEmitter;var t=function(g,N){return g.listeners(N).length},r=ff,n=Ot.Buffer,i=(typeof Vt<"u"?Vt:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function s(w){return n.from(w)}function o(w){return n.isBuffer(w)||w instanceof i}var a=zs,c;a&&a.debuglog?c=a.debuglog("stream"):c=function(){};var l=qh(),d=uf,p=hf,_=p.getHighWaterMark,y=br.codes,I=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,v,m;ke(R,r);var S=d.errorOrDestroy,x=["error","close","destroy","pause","resume"];function M(w,g,N){if(typeof w.prependListener=="function")return w.prependListener(g,N);!w._events||!w._events[g]?w.on(g,N):Array.isArray(w._events[g])?w._events[g].unshift(N):w._events[g]=[N,w._events[g]]}function $(w,g,N){e=e||Mr(),w=w||{},typeof N!="boolean"&&(N=g instanceof e),this.objectMode=!!w.objectMode,N&&(this.objectMode=this.objectMode||!!w.readableObjectMode),this.highWaterMark=_(this,w,"readableHighWaterMark",N),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=w.emitClose!==!1,this.autoDestroy=!!w.autoDestroy,this.destroyed=!1,this.defaultEncoding=w.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,w.encoding&&(U||(U=ri.StringDecoder),this.decoder=new U(w.encoding),this.encoding=w.encoding)}function R(w){if(e=e||Mr(),!(this instanceof R))return new R(w);var g=this instanceof e;this._readableState=new $(w,this,g),this.readable=!0,w&&(typeof w.read=="function"&&(this._read=w.read),typeof w.destroy=="function"&&(this._destroy=w.destroy)),r.call(this)}Object.defineProperty(R.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(g){this._readableState&&(this._readableState.destroyed=g)}}),R.prototype.destroy=d.destroy,R.prototype._undestroy=d.undestroy,R.prototype._destroy=function(w,g){g(w)},R.prototype.push=function(w,g){var N=this._readableState,D;return N.objectMode?D=!0:typeof w=="string"&&(g=g||N.defaultEncoding,g!==N.encoding&&(w=n.from(w,g),g=""),D=!0),z(this,w,g,!1,D)},R.prototype.unshift=function(w){return z(this,w,null,!0,!1)};function z(w,g,N,D,we){c("readableAddChunk",g);var Y=w._readableState;if(g===null)Y.reading=!1,fe(w,Y);else{var te;if(we||(te=C(Y,g)),te)S(w,te);else if(Y.objectMode||g&&g.length>0)if(typeof g!="string"&&!Y.objectMode&&Object.getPrototypeOf(g)!==n.prototype&&(g=s(g)),D)Y.endEmitted?S(w,new k):Z(w,Y,g,!0);else if(Y.ended)S(w,new B);else{if(Y.destroyed)return!1;Y.reading=!1,Y.decoder&&!N?(g=Y.decoder.write(g),Y.objectMode||g.length!==0?Z(w,Y,g,!1):Ve(w,Y)):Z(w,Y,g,!1)}else D||(Y.reading=!1,Ve(w,Y))}return!Y.ended&&(Y.length<Y.highWaterMark||Y.length===0)}function Z(w,g,N,D){g.flowing&&g.length===0&&!g.sync?(g.awaitDrain=0,w.emit("data",N)):(g.length+=g.objectMode?1:N.length,D?g.buffer.unshift(N):g.buffer.push(N),g.needReadable&&ue(w)),Ve(w,g)}function C(w,g){var N;return!o(g)&&typeof g!="string"&&g!==void 0&&!w.objectMode&&(N=new I("chunk",["string","Buffer","Uint8Array"],g)),N}R.prototype.isPaused=function(){return this._readableState.flowing===!1},R.prototype.setEncoding=function(w){U||(U=ri.StringDecoder);var g=new U(w);this._readableState.decoder=g,this._readableState.encoding=this._readableState.decoder.encoding;for(var N=this._readableState.buffer.head,D="";N!==null;)D+=g.write(N.data),N=N.next;return this._readableState.buffer.clear(),D!==""&&this._readableState.buffer.push(D),this._readableState.length=D.length,this};var H=1073741824;function W(w){return w>=H?w=H:(w--,w|=w>>>1,w|=w>>>2,w|=w>>>4,w|=w>>>8,w|=w>>>16,w++),w}function q(w,g){return w<=0||g.length===0&&g.ended?0:g.objectMode?1:w!==w?g.flowing&&g.length?g.buffer.head.data.length:g.length:(w>g.highWaterMark&&(g.highWaterMark=W(w)),w<=g.length?w:g.ended?g.length:(g.needReadable=!0,0))}R.prototype.read=function(w){c("read",w),w=parseInt(w,10);var g=this._readableState,N=w;if(w!==0&&(g.emittedReadable=!1),w===0&&g.needReadable&&((g.highWaterMark!==0?g.length>=g.highWaterMark:g.length>0)||g.ended))return c("read: emitReadable",g.length,g.ended),g.length===0&&g.ended?F(this):ue(this),null;if(w=q(w,g),w===0&&g.ended)return g.length===0&&F(this),null;var D=g.needReadable;c("need readable",D),(g.length===0||g.length-w<g.highWaterMark)&&(D=!0,c("length less than watermark",D)),g.ended||g.reading?(D=!1,c("reading or ended",D)):D&&(c("do read"),g.reading=!0,g.sync=!0,g.length===0&&(g.needReadable=!0),this._read(g.highWaterMark),g.sync=!1,g.reading||(w=q(N,g)));var we;return w>0?we=P(w,g):we=null,we===null?(g.needReadable=g.length<=g.highWaterMark,w=0):(g.length-=w,g.awaitDrain=0),g.length===0&&(g.ended||(g.needReadable=!0),N!==w&&g.ended&&F(this)),we!==null&&this.emit("data",we),we};function fe(w,g){if(c("onEofChunk"),!g.ended){if(g.decoder){var N=g.decoder.end();N&&N.length&&(g.buffer.push(N),g.length+=g.objectMode?1:N.length)}g.ended=!0,g.sync?ue(w):(g.needReadable=!1,g.emittedReadable||(g.emittedReadable=!0,tt(w)))}}function ue(w){var g=w._readableState;c("emitReadable",g.needReadable,g.emittedReadable),g.needReadable=!1,g.emittedReadable||(c("emitReadable",g.flowing),g.emittedReadable=!0,process.nextTick(tt,w))}function tt(w){var g=w._readableState;c("emitReadable_",g.destroyed,g.length,g.ended),!g.destroyed&&(g.length||g.ended)&&(w.emit("readable"),g.emittedReadable=!1),g.needReadable=!g.flowing&&!g.ended&&g.length<=g.highWaterMark,T(w)}function Ve(w,g){g.readingMore||(g.readingMore=!0,process.nextTick(st,w,g))}function st(w,g){for(;!g.reading&&!g.ended&&(g.length<g.highWaterMark||g.flowing&&g.length===0);){var N=g.length;if(c("maybeReadMore read 0"),w.read(0),N===g.length)break}g.readingMore=!1}R.prototype._read=function(w){S(this,new A("_read()"))},R.prototype.pipe=function(w,g){var N=this,D=this._readableState;switch(D.pipesCount){case 0:D.pipes=w;break;case 1:D.pipes=[D.pipes,w];break;default:D.pipes.push(w);break}D.pipesCount+=1,c("pipe count=%d opts=%j",D.pipesCount,g);var we=(!g||g.end!==!1)&&w!==process.stdout&&w!==process.stderr,Y=we?Rt:Qt;D.endEmitted?process.nextTick(Y):N.once("end",Y),w.on("unpipe",te);function te(h,f){c("onunpipe"),h===N&&f&&f.hasUnpiped===!1&&(f.hasUnpiped=!0,mr())}function Rt(){c("onend"),w.end()}var gr=be(N);w.on("drain",gr);var Wr=!1;function mr(){c("cleanup"),w.removeListener("close",Vr),w.removeListener("finish",Xe),w.removeListener("drain",gr),w.removeListener("error",Jt),w.removeListener("unpipe",te),N.removeListener("end",Rt),N.removeListener("end",Qt),N.removeListener("data",qe),Wr=!0,D.awaitDrain&&(!w._writableState||w._writableState.needDrain)&&gr()}N.on("data",qe);function qe(h){c("ondata");var f=w.write(h);c("dest.write",f),f===!1&&((D.pipesCount===1&&D.pipes===w||D.pipesCount>1&&K(D.pipes,w)!==-1)&&!Wr&&(c("false write response, pause",D.awaitDrain),D.awaitDrain++),N.pause())}function Jt(h){c("onerror",h),Qt(),w.removeListener("error",Jt),t(w,"error")===0&&S(w,h)}M(w,"error",Jt);function Vr(){w.removeListener("finish",Xe),Qt()}w.once("close",Vr);function Xe(){c("onfinish"),w.removeListener("close",Vr),Qt()}w.once("finish",Xe);function Qt(){c("unpipe"),N.unpipe(w)}return w.emit("pipe",N),D.flowing||(c("pipe resume"),N.resume()),w};function be(w){return function(){var N=w._readableState;c("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,N.awaitDrain===0&&t(w,"data")&&(N.flowing=!0,T(w))}}R.prototype.unpipe=function(w){var g=this._readableState,N={hasUnpiped:!1};if(g.pipesCount===0)return this;if(g.pipesCount===1)return w&&w!==g.pipes?this:(w||(w=g.pipes),g.pipes=null,g.pipesCount=0,g.flowing=!1,w&&w.emit("unpipe",this,N),this);if(!w){var D=g.pipes,we=g.pipesCount;g.pipes=null,g.pipesCount=0,g.flowing=!1;for(var Y=0;Y<we;Y++)D[Y].emit("unpipe",this,{hasUnpiped:!1});return this}var te=K(g.pipes,w);return te===-1?this:(g.pipes.splice(te,1),g.pipesCount-=1,g.pipesCount===1&&(g.pipes=g.pipes[0]),w.emit("unpipe",this,N),this)},R.prototype.on=function(w,g){var N=r.prototype.on.call(this,w,g),D=this._readableState;return w==="data"?(D.readableListening=this.listenerCount("readable")>0,D.flowing!==!1&&this.resume()):w==="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?ue(this):D.reading||process.nextTick(ze,this)),N},R.prototype.addListener=R.prototype.on,R.prototype.removeListener=function(w,g){var N=r.prototype.removeListener.call(this,w,g);return w==="readable"&&process.nextTick(xe,this),N},R.prototype.removeAllListeners=function(w){var g=r.prototype.removeAllListeners.apply(this,arguments);return(w==="readable"||w===void 0)&&process.nextTick(xe,this),g};function xe(w){var g=w._readableState;g.readableListening=w.listenerCount("readable")>0,g.resumeScheduled&&!g.paused?g.flowing=!0:w.listenerCount("data")>0&&w.resume()}function ze(w){c("readable nexttick read 0"),w.read(0)}R.prototype.resume=function(){var w=this._readableState;return w.flowing||(c("resume"),w.flowing=!w.readableListening,kt(this,w)),w.paused=!1,this};function kt(w,g){g.resumeScheduled||(g.resumeScheduled=!0,process.nextTick(bt,w,g))}function bt(w,g){c("resume",g.reading),g.reading||w.read(0),g.resumeScheduled=!1,w.emit("resume"),T(w),g.flowing&&!g.reading&&w.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(w){var g=w._readableState;for(c("flow",g.flowing);g.flowing&&w.read()!==null;);}R.prototype.wrap=function(w){var g=this,N=this._readableState,D=!1;w.on("end",function(){if(c("wrapped end"),N.decoder&&!N.ended){var te=N.decoder.end();te&&te.length&&g.push(te)}g.push(null)}),w.on("data",function(te){if(c("wrapped data"),N.decoder&&(te=N.decoder.write(te)),!(N.objectMode&&te==null)&&!(!N.objectMode&&(!te||!te.length))){var Rt=g.push(te);Rt||(D=!0,w.pause())}});for(var we in w)this[we]===void 0&&typeof w[we]=="function"&&(this[we]=function(Rt){return function(){return w[Rt].apply(w,arguments)}}(we));for(var Y=0;Y<x.length;Y++)w.on(x[Y],this.emit.bind(this,x[Y]));return this._read=function(te){c("wrapped _read",te),D&&(D=!1,w.resume())},this},typeof Symbol=="function"&&(R.prototype[Symbol.asyncIterator]=function(){return v===void 0&&(v=El()),v(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(g){this._readableState&&(this._readableState.flowing=g)}}),R._fromList=P,Object.defineProperty(R.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function P(w,g){if(g.length===0)return null;var N;return g.objectMode?N=g.buffer.shift():!w||w>=g.length?(g.decoder?N=g.buffer.join(""):g.buffer.length===1?N=g.buffer.first():N=g.buffer.concat(g.length),g.buffer.clear()):N=g.buffer.consume(w,g.decoder),N}function F(w){var g=w._readableState;c("endReadable",g.endEmitted),g.endEmitted||(g.ended=!0,process.nextTick(G,g,w))}function G(w,g){if(c("endReadableNT",w.endEmitted,w.length),!w.endEmitted&&w.length===0&&(w.endEmitted=!0,g.readable=!1,g.emit("end"),w.autoDestroy)){var N=g._writableState;(!N||N.autoDestroy&&N.finished)&&g.destroy()}}typeof Symbol=="function"&&(R.from=function(w,g){return m===void 0&&(m=xl()),m(R,w,g)});function K(w,g){for(var N=0,D=w.length;N<D;N++)if(w[N]===g)return N;return-1}return ns}var yf=It,_i=br.codes,Sl=_i.ERR_METHOD_NOT_IMPLEMENTED,Bl=_i.ERR_MULTIPLE_CALLBACK,Pl=_i.ERR_TRANSFORM_ALREADY_TRANSFORMING,Tl=_i.ERR_TRANSFORM_WITH_LENGTH_0,vi=Mr();ke(It,vi);function Al(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new Bl);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 It(e){if(!(this instanceof It))return new It(e);vi.call(this,e),this._transformState={afterTransform:Al.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",Il)}function Il(){var e=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(t,r){Go(e,t,r)}):Go(this,null,null)}It.prototype.push=function(e,t){return this._transformState.needTransform=!1,vi.prototype.push.call(this,e,t)};It.prototype._transform=function(e,t,r){r(new Sl("_transform()"))};It.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)}};It.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};It.prototype._destroy=function(e,t){vi.prototype._destroy.call(this,e,function(r){t(r)})};function Go(e,t,r){if(t)return e.emit("error",t);if(r!=null&&e.push(r),e._writableState.length)throw new Tl;if(e._transformState.transforming)throw new Pl;return e.push(null)}var Ol=wn,bf=yf;ke(wn,bf);function wn(e){if(!(this instanceof wn))return new wn(e);bf.call(this,e)}wn.prototype._transform=function(e,t,r){r(null,e)};var is;function kl(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var wf=br.codes,Rl=wf.ERR_MISSING_ARGS,Ul=wf.ERR_STREAM_DESTROYED;function Wo(e){if(e)throw e}function Cl(e){return e.setHeader&&typeof e.abort=="function"}function Ll(e,t,r,n){n=kl(n);var i=!1;e.on("close",function(){i=!0}),is===void 0&&(is=Ks),is(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,Cl(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new Ul("pipe"))}}}function Vo(e){e()}function Nl(e,t){return e.pipe(t)}function Fl(e){return!e.length||typeof e[e.length-1]!="function"?Wo:e.pop()}function Hl(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=Fl(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Rl("streams");var i,s=t.map(function(o,a){var c=a<t.length-1,l=a>0;return Ll(o,c,l,function(d){i||(i=d),d&&s.forEach(Vo),!c&&(s.forEach(Vo),n(i))})});return t.reduce(Nl)}var Ml=Hl;(function(e,t){t=e.exports=pf(),t.Stream=t,t.Readable=t,t.Writable=lf(),t.Duplex=Mr(),t.Transform=yf,t.PassThrough=Ol,t.finished=Ks,t.pipeline=Ml})(vs,vs.exports);var gf=vs.exports,ni=We.Buffer,mf=gf.Transform,Dl=ke;function $l(e,t){if(!ni.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Kt(e){mf.call(this),this._block=ni.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}Dl(Kt,mf);Kt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Kt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Kt.prototype.update=function(e,t){if($l(e,"Data"),this._finalized)throw new Error("Digest already called");ni.isBuffer(e)||(e=ni.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};Kt.prototype._update=function(){throw new Error("_update is not implemented")};Kt.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};Kt.prototype._digest=function(){throw new Error("_digest is not implemented")};var jl=Kt,Gl=ke,_f=jl,Wl=We.Buffer,Vl=new Array(16);function Ei(){_f.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}Gl(Ei,_f);Ei.prototype._update=function(){for(var e=Vl,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=Re(r,n,i,s,e[0],3614090360,7),s=Re(s,r,n,i,e[1],3905402710,12),i=Re(i,s,r,n,e[2],606105819,17),n=Re(n,i,s,r,e[3],3250441966,22),r=Re(r,n,i,s,e[4],4118548399,7),s=Re(s,r,n,i,e[5],1200080426,12),i=Re(i,s,r,n,e[6],2821735955,17),n=Re(n,i,s,r,e[7],4249261313,22),r=Re(r,n,i,s,e[8],1770035416,7),s=Re(s,r,n,i,e[9],2336552879,12),i=Re(i,s,r,n,e[10],4294925233,17),n=Re(n,i,s,r,e[11],2304563134,22),r=Re(r,n,i,s,e[12],1804603682,7),s=Re(s,r,n,i,e[13],4254626195,12),i=Re(i,s,r,n,e[14],2792965006,17),n=Re(n,i,s,r,e[15],1236535329,22),r=Ue(r,n,i,s,e[1],4129170786,5),s=Ue(s,r,n,i,e[6],3225465664,9),i=Ue(i,s,r,n,e[11],643717713,14),n=Ue(n,i,s,r,e[0],3921069994,20),r=Ue(r,n,i,s,e[5],3593408605,5),s=Ue(s,r,n,i,e[10],38016083,9),i=Ue(i,s,r,n,e[15],3634488961,14),n=Ue(n,i,s,r,e[4],3889429448,20),r=Ue(r,n,i,s,e[9],568446438,5),s=Ue(s,r,n,i,e[14],3275163606,9),i=Ue(i,s,r,n,e[3],4107603335,14),n=Ue(n,i,s,r,e[8],1163531501,20),r=Ue(r,n,i,s,e[13],2850285829,5),s=Ue(s,r,n,i,e[2],4243563512,9),i=Ue(i,s,r,n,e[7],1735328473,14),n=Ue(n,i,s,r,e[12],2368359562,20),r=Ce(r,n,i,s,e[5],4294588738,4),s=Ce(s,r,n,i,e[8],2272392833,11),i=Ce(i,s,r,n,e[11],1839030562,16),n=Ce(n,i,s,r,e[14],4259657740,23),r=Ce(r,n,i,s,e[1],2763975236,4),s=Ce(s,r,n,i,e[4],1272893353,11),i=Ce(i,s,r,n,e[7],4139469664,16),n=Ce(n,i,s,r,e[10],3200236656,23),r=Ce(r,n,i,s,e[13],681279174,4),s=Ce(s,r,n,i,e[0],3936430074,11),i=Ce(i,s,r,n,e[3],3572445317,16),n=Ce(n,i,s,r,e[6],76029189,23),r=Ce(r,n,i,s,e[9],3654602809,4),s=Ce(s,r,n,i,e[12],3873151461,11),i=Ce(i,s,r,n,e[15],530742520,16),n=Ce(n,i,s,r,e[2],3299628645,23),r=Le(r,n,i,s,e[0],4096336452,6),s=Le(s,r,n,i,e[7],1126891415,10),i=Le(i,s,r,n,e[14],2878612391,15),n=Le(n,i,s,r,e[5],4237533241,21),r=Le(r,n,i,s,e[12],1700485571,6),s=Le(s,r,n,i,e[3],2399980690,10),i=Le(i,s,r,n,e[10],4293915773,15),n=Le(n,i,s,r,e[1],2240044497,21),r=Le(r,n,i,s,e[8],1873313359,6),s=Le(s,r,n,i,e[15],4264355552,10),i=Le(i,s,r,n,e[6],2734768916,15),n=Le(n,i,s,r,e[13],1309151649,21),r=Le(r,n,i,s,e[4],4149444226,6),s=Le(s,r,n,i,e[11],3174756917,10),i=Le(i,s,r,n,e[2],718787259,15),n=Le(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};Ei.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=Wl.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 xi(e,t){return e<<t|e>>>32-t}function Re(e,t,r,n,i,s,o){return xi(e+(t&r|~t&n)+i+s|0,o)+t|0}function Ue(e,t,r,n,i,s,o){return xi(e+(t&n|r&~n)+i+s|0,o)+t|0}function Ce(e,t,r,n,i,s,o){return xi(e+(t^r^n)+i+s|0,o)+t|0}function Le(e,t,r,n,i,s,o){return xi(e+(r^(t|~n))+i+s|0,o)+t|0}var zl=Ei,ii=We.Buffer,vf=gf.Transform,ql=ke;function Kl(e,t){if(!ii.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Yt(e){vf.call(this),this._block=ii.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}ql(Yt,vf);Yt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Yt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Yt.prototype.update=function(e,t){if(Kl(e,"Data"),this._finalized)throw new Error("Digest already called");ii.isBuffer(e)||(e=ii.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};Yt.prototype._update=function(){throw new Error("_update is not implemented")};Yt.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};Yt.prototype._digest=function(){throw new Error("_digest is not implemented")};var Yl=Yt,ss=Ot.Buffer,Xl=ke,Ef=Yl,Jl=new Array(16),Jr=[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],Qr=[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],Zr=[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],en=[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],tn=[0,1518500249,1859775393,2400959708,2840853838],rn=[1352829926,1548603684,1836072691,2053994217,0];function Si(){Ef.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}Xl(Si,Ef);Si.prototype._update=function(){for(var e=Jl,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,a=this._a|0,c=this._b|0,l=this._c|0,d=this._d|0,p=this._e|0,_=0;_<80;_+=1){var y,I;_<16?(y=zo(r,n,i,s,o,e[Jr[_]],tn[0],Zr[_]),I=Xo(a,c,l,d,p,e[Qr[_]],rn[0],en[_])):_<32?(y=qo(r,n,i,s,o,e[Jr[_]],tn[1],Zr[_]),I=Yo(a,c,l,d,p,e[Qr[_]],rn[1],en[_])):_<48?(y=Ko(r,n,i,s,o,e[Jr[_]],tn[2],Zr[_]),I=Ko(a,c,l,d,p,e[Qr[_]],rn[2],en[_])):_<64?(y=Yo(r,n,i,s,o,e[Jr[_]],tn[3],Zr[_]),I=qo(a,c,l,d,p,e[Qr[_]],rn[3],en[_])):(y=Xo(r,n,i,s,o,e[Jr[_]],tn[4],Zr[_]),I=zo(a,c,l,d,p,e[Qr[_]],rn[4],en[_])),r=o,o=s,s=ur(i,10),i=n,n=y,a=p,p=d,d=ur(l,10),l=c,c=I}var B=this._b+i+d|0;this._b=this._c+s+p|0,this._c=this._d+o+a|0,this._d=this._e+r+c|0,this._e=this._a+n+l|0,this._a=B};Si.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=ss.alloc?ss.alloc(20):new ss(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 ur(e,t){return e<<t|e>>>32-t}function zo(e,t,r,n,i,s,o,a){return ur(e+(t^r^n)+s+o|0,a)+i|0}function qo(e,t,r,n,i,s,o,a){return ur(e+(t&r|~t&n)+s+o|0,a)+i|0}function Ko(e,t,r,n,i,s,o,a){return ur(e+((t|~r)^n)+s+o|0,a)+i|0}function Yo(e,t,r,n,i,s,o,a){return ur(e+(t&n|r&~n)+s+o|0,a)+i|0}function Xo(e,t,r,n,i,s,o,a){return ur(e+(t^(r|~n))+s+o|0,a)+i|0}var Ql=Si,xf={exports:{}},Sf=We.Buffer;function Bi(e,t){this._block=Sf.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}Bi.prototype.update=function(e,t){typeof e=="string"&&(t=t||"utf8",e=Sf.from(e,t));for(var r=this._block,n=this._blockSize,i=e.length,s=this._len,o=0;o<i;){for(var a=s%n,c=Math.min(i-o,n-a),l=0;l<c;l++)r[a+l]=e[o+l];s+=c,o+=c,s%n===0&&this._update(r)}return this._len+=i,this};Bi.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};Bi.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var $r=Bi,Zl=ke,Bf=$r,e0=We.Buffer,t0=[1518500249,1859775393,-1894007588,-899497514],r0=new Array(80);function Sn(){this.init(),this._w=r0,Bf.call(this,64,56)}Zl(Sn,Bf);Sn.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function n0(e){return e<<5|e>>>27}function i0(e){return e<<30|e>>>2}function s0(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}Sn.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,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=t[a-3]^t[a-8]^t[a-14]^t[a-16];for(var c=0;c<80;++c){var l=~~(c/20),d=n0(r)+s0(l,n,i,s)+o+t[c]+t0[l]|0;o=s,s=i,i=i0(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};Sn.prototype._hash=function(){var e=e0.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 o0=Sn,a0=ke,Pf=$r,f0=We.Buffer,u0=[1518500249,1859775393,-1894007588,-899497514],c0=new Array(80);function Bn(){this.init(),this._w=c0,Pf.call(this,64,56)}a0(Bn,Pf);Bn.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function h0(e){return e<<1|e>>>31}function l0(e){return e<<5|e>>>27}function d0(e){return e<<30|e>>>2}function p0(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}Bn.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,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=h0(t[a-3]^t[a-8]^t[a-14]^t[a-16]);for(var c=0;c<80;++c){var l=~~(c/20),d=l0(r)+p0(l,n,i,s)+o+t[c]+u0[l]|0;o=s,s=i,i=d0(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};Bn.prototype._hash=function(){var e=f0.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 y0=Bn,b0=ke,Tf=$r,w0=We.Buffer,g0=[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],m0=new Array(64);function Pn(){this.init(),this._w=m0,Tf.call(this,64,56)}b0(Pn,Tf);Pn.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 _0(e,t,r){return r^e&(t^r)}function v0(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 x0(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function S0(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function B0(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}Pn.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,a=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]=B0(t[d-2])+t[d-7]+S0(t[d-15])+t[d-16]|0;for(var p=0;p<64;++p){var _=l+x0(o)+_0(o,a,c)+g0[p]+t[p]|0,y=E0(r)+v0(r,n,i)|0;l=c,c=a,a=o,o=s+_|0,s=i,i=n,n=r,r=_+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=a+this._f|0,this._g=c+this._g|0,this._h=l+this._h|0};Pn.prototype._hash=function(){var e=w0.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 Af=Pn,P0=ke,T0=Af,A0=$r,I0=We.Buffer,O0=new Array(64);function Pi(){this.init(),this._w=O0,A0.call(this,64,56)}P0(Pi,T0);Pi.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};Pi.prototype._hash=function(){var e=I0.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 k0=Pi,R0=ke,If=$r,U0=We.Buffer,Jo=[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],C0=new Array(160);function Tn(){this.init(),this._w=C0,If.call(this,128,112)}R0(Tn,If);Tn.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 Qo(e,t,r){return r^e&(t^r)}function Zo(e,t,r){return e&t|r&(e|t)}function ea(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function ta(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function L0(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function N0(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function F0(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function H0(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}Tn.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,a=this._fh|0,c=this._gh|0,l=this._hh|0,d=this._al|0,p=this._bl|0,_=this._cl|0,y=this._dl|0,I=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 v=t[U-30],m=t[U-15*2+1],S=L0(v,m),x=N0(m,v);v=t[U-2*2],m=t[U-2*2+1];var M=F0(v,m),$=H0(m,v),R=t[U-7*2],z=t[U-7*2+1],Z=t[U-16*2],C=t[U-16*2+1],H=x+z|0,W=S+R+Te(H,x)|0;H=H+$|0,W=W+M+Te(H,$)|0,H=H+C|0,W=W+Z+Te(H,C)|0,t[U]=W,t[U+1]=H}for(var q=0;q<160;q+=2){W=t[q],H=t[q+1];var fe=Zo(r,n,i),ue=Zo(d,p,_),tt=ea(r,d),Ve=ea(d,r),st=ta(o,I),be=ta(I,o),xe=Jo[q],ze=Jo[q+1],kt=Qo(o,a,c),bt=Qo(I,B,A),T=k+be|0,P=l+st+Te(T,k)|0;T=T+bt|0,P=P+kt+Te(T,bt)|0,T=T+ze|0,P=P+xe+Te(T,ze)|0,T=T+H|0,P=P+W+Te(T,H)|0;var F=Ve+ue|0,G=tt+fe+Te(F,Ve)|0;l=c,k=A,c=a,A=B,a=o,B=I,I=y+T|0,o=s+P+Te(I,y)|0,s=i,y=_,i=n,_=p,n=r,p=d,d=T+F|0,r=P+G+Te(d,T)|0}this._al=this._al+d|0,this._bl=this._bl+p|0,this._cl=this._cl+_|0,this._dl=this._dl+y|0,this._el=this._el+I|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,p)|0,this._ch=this._ch+i+Te(this._cl,_)|0,this._dh=this._dh+s+Te(this._dl,y)|0,this._eh=this._eh+o+Te(this._el,I)|0,this._fh=this._fh+a+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};Tn.prototype._hash=function(){var e=U0.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 Of=Tn,M0=ke,D0=Of,$0=$r,j0=We.Buffer,G0=new Array(160);function Ti(){this.init(),this._w=G0,$0.call(this,128,112)}M0(Ti,D0);Ti.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};Ti.prototype._hash=function(){var e=j0.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 W0=Ti,wr=xf.exports=function(t){t=t.toLowerCase();var r=wr[t];if(!r)throw new Error(t+" is not supported (we accept pull requests)");return new r};wr.sha=o0;wr.sha1=y0;wr.sha224=k0;wr.sha256=Af;wr.sha384=W0;wr.sha512=Of;var V0=xf.exports,kf=We.Buffer,Rf=zs.Transform,z0=ri.StringDecoder,q0=ke;function it(e){Rf.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}q0(it,Rf);it.prototype.update=function(e,t,r){typeof e=="string"&&(e=kf.from(e,t));var n=this._update(e);return this.hashMode?this:(r&&(n=this._toString(n,r)),n)};it.prototype.setAutoPadding=function(){};it.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")};it.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")};it.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")};it.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)}};it.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(r){t=r}e(t)};it.prototype._finalOrDigest=function(e){var t=this.__final()||kf.alloc(0);return e&&(t=this._toString(t,e,!0)),t};it.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new z0(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 K0=it,Y0=ke,X0=zl,J0=Ql,Q0=V0,Uf=K0;function Ai(e){Uf.call(this,"digest"),this._hash=e}Y0(Ai,Uf);Ai.prototype._update=function(e){this._hash.update(e)};Ai.prototype._final=function(){return this._hash.digest()};var Z0=function(t){return t=t.toLowerCase(),t==="md5"?new X0:t==="rmd160"||t==="ripemd160"?new J0:new Ai(Q0(t))},Mn=We.Buffer;function ed(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,a=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=Mn.from(y)),!Mn.isBuffer(y))throw new TypeError("Expected Buffer");if(y.length===0)return"";for(var I=0,B=0,A=0,k=y.length;A!==k&&y[A]===0;)A++,I++;for(var U=(k-A)*l+1>>>0,v=new Uint8Array(U);A!==k;){for(var m=y[A],S=0,x=U-1;(m!==0||S<B)&&x!==-1;x--,S++)m+=256*v[x]>>>0,v[x]=m%o>>>0,m=m/o>>>0;if(m!==0)throw new Error("Non-zero carry");B=S,A++}for(var M=U-B;M!==U&&v[M]===0;)M++;for(var $=a.repeat(I);M<U;++M)$+=e.charAt(v[M]);return $}function p(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return Mn.alloc(0);for(var I=0,B=0,A=0;y[I]===a;)B++,I++;for(var k=(y.length-I)*c+1>>>0,U=new Uint8Array(k);I<y.length;){var v=t[y.charCodeAt(I)];if(v===255)return;for(var m=0,S=k-1;(v!==0||m<A)&&S!==-1;S--,m++)v+=o*U[S]>>>0,U[S]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");A=m,I++}for(var x=k-A;x!==k&&U[x]===0;)x++;var M=Mn.allocUnsafe(B+(k-x));M.fill(0,0,B);for(var $=B;x!==k;)M[$++]=U[x++];return M}function _(y){var I=p(y);if(I)return I;throw new Error("Non-base"+o+" character")}return{encode:d,decodeUnsafe:p,decode:_}}var td=ed,rd=td,nd="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",id=rd(nd),os=id,sd=We.Buffer,od=function(e){function t(s){var o=e(s);return os.encode(sd.concat([s,o],s.length+4))}function r(s){var o=s.slice(0,-4),a=s.slice(-4),c=e(o);if(!(a[0]^c[0]|a[1]^c[1]|a[2]^c[2]|a[3]^c[3]))return o}function n(s){var o=os.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=os.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},ra=Z0,ad=od;function fd(e){var t=ra("sha256").update(e).digest();return ra("sha256").update(t).digest()}var ud=ad(fd),xs=ud;function Cf(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 Ss(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 cd(e,t){return Cf(xs.decode(e),t)}function hd(e,t,r){return typeof e=="number"?xs.encode(Ss(e,t,r)):xs.encode(Ss(e.version,e.privateKey,e.compressed))}var ld={decode:cd,decodeRaw:Cf,encode:hd,encodeRaw:Ss},Ii={};Object.defineProperty(Ii,"__esModule",{value:!0});Ii.testEcc=void 0;const V=e=>Buffer.from(e,"hex");function dd(e){he(e.isPoint(V("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),he(!e.isPoint(V("030000000000000000000000000000000000000000000000000000000000000005"))),he(e.isPrivate(V("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),he(e.isPrivate(V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),he(!e.isPrivate(V("0000000000000000000000000000000000000000000000000000000000000000"))),he(!e.isPrivate(V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))),he(!e.isPrivate(V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))),he(Buffer.from(e.privateAdd(V("0000000000000000000000000000000000000000000000000000000000000001"),V("0000000000000000000000000000000000000000000000000000000000000000"))).equals(V("0000000000000000000000000000000000000000000000000000000000000001"))),he(e.privateAdd(V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"),V("0000000000000000000000000000000000000000000000000000000000000003"))===null),he(Buffer.from(e.privateAdd(V("e211078564db65c3ce7704f08262b1f38f1ef412ad15b5ac2d76657a63b2c500"),V("b51fbb69051255d1becbd683de5848242a89c229348dd72896a87ada94ae8665"))).equals(V("9730c2ee69edbb958d42db7460bafa18fef9d955325aec99044c81c8282b0a24"))),he(Buffer.from(e.privateNegate(V("0000000000000000000000000000000000000000000000000000000000000001"))).equals(V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),he(Buffer.from(e.privateNegate(V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"))).equals(V("0000000000000000000000000000000000000000000000000000000000000003"))),he(Buffer.from(e.privateNegate(V("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(V("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792"))),he(Buffer.from(e.pointCompress(V("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!0)).equals(V("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),he(Buffer.from(e.pointCompress(V("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!1)).equals(V("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),he(Buffer.from(e.pointCompress(V("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!0)).equals(V("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),he(Buffer.from(e.pointCompress(V("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!1)).equals(V("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),he(Buffer.from(e.pointFromScalar(V("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(V("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99"))),he(e.xOnlyPointAddTweak(V("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))===null);let t=e.xOnlyPointAddTweak(V("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"),V("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));he(Buffer.from(t.xOnlyPubkey).equals(V("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"))&&t.parity===1),t=e.xOnlyPointAddTweak(V("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"),V("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47")),he(Buffer.from(t.xOnlyPubkey).equals(V("9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"))&&t.parity===0),he(Buffer.from(e.sign(V("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))).equals(V("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),he(e.verify(V("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),V("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),V("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),e.signSchnorr&&he(Buffer.from(e.signSchnorr(V("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),V("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"),V("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906"))).equals(V("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7"))),e.verifySchnorr&&he(e.verifySchnorr(V("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),V("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"),V("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")))}Ii.testEcc=dd;function he(e){if(!e)throw new Error("ecc library invalid")}Object.defineProperty(Fr,"__esModule",{value:!0});Fr.ECPairFactory=Fr.networks=void 0;const Bs=Hr;Fr.networks=Bs;const je=Ja,pd=Hh,na=ld,yd=Ii,as=je.typeforce.maybe(je.typeforce.compile({compressed:je.maybe(je.Boolean),network:je.maybe(je.Network)})),bd=e=>e.length===32?e:e.slice(1,33);function wd(e){(0,yd.testEcc)(e);function t(a){return e.isPoint(a)}function r(a,c){if(je.typeforce(je.Buffer256bit,a),!e.isPrivate(a))throw new TypeError("Private key not in range [1, n)");return je.typeforce(as,c),new o(a,void 0,c)}function n(a,c){return je.typeforce(e.isPoint,a),je.typeforce(as,c),new o(void 0,a,c)}function i(a,c){const l=na.decode(a),d=l.version;if(je.Array(c)){if(c=c.filter(p=>d===p.wif).pop(),!c)throw new Error("Unknown network version")}else if(c=c||Bs.bitcoin,d!==c.wif)throw new Error("Invalid network version");return r(l.privateKey,{compressed:l.compressed,network:c})}function s(a){je.typeforce(as,a),a===void 0&&(a={});const c=a.rng||pd;let l;do l=c(32),je.typeforce(je.Buffer256bit,l);while(!e.isPrivate(l));return r(l,a)}class o{constructor(c,l,d){_r(this,"__D");_r(this,"__Q");_r(this,"compressed");_r(this,"network");_r(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||Bs.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 na.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 p=Buffer.alloc(32,0);let _=0;for(;d[0]>127;)_++,p.writeUIntLE(_,0,6),d=e.sign(c,this.__D,p);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=bd(this.publicKey),d=e.xOnlyPointAddTweak(l,c);if(!d||d.xOnlyPubkey===null)throw new Error("Cannot tweak public key!");const p=Buffer.from([d.parity===0?2:3]);return n(Buffer.concat([p,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,p=e.privateAdd(d,c);if(!p)throw new Error("Invalid tweaked private key!");return r(Buffer.from(p),{network:this.network,compressed:this.compressed})}}return{isPoint:t,fromPrivateKey:r,fromPublicKey:n,fromWIF:i,makeRandom:s}}Fr.ECPairFactory=wd;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.networks=e.ECPairFactory=e.default=void 0;var t=Fr;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}})})(Xa);const gd=Au(Xa);class gn extends pe.EventBroker{get isInitialized(){return!!this.privKey}constructor(t,r){super(),this.privKey=t,this.walletClient=r}static fromPrivKey(t){return new gn(rr(t))}static fromWalletClient(t){return new gn(void 0,t)}async initialize(){if(this.privKey)return ne("Already initialized");const t=await this.derivePrivKeyFromWalletClient();return t.error?j(t.error):(this.emit("initialized",!0),ne("Initialized"))}async derivePrivKeyFromWalletClient(){if(!this.walletClient)return j("No walletClient found");if(!this.walletClient.account)return j("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=rr(St.sha256(t)),this.emit("initialized",!0),ne(this.privKey)}catch(t){return j("Failed to initialize: "+t)}}async getMasterPrivKey(){if(!this.privKey&&!this.walletClient)return j("No private key or wallet client found");if(!this.privKey&&this.walletClient){const t=await this.derivePrivKeyFromWalletClient();if(t.error)return j(t.error)}return this.privKey?ne(this.privKey):j("No private key found")}async generateSecret(t){const r=await this.signMessage(t);if(r.error)return j(r.error);const n=St.sha256(pe.with0x(r.val)),i=St.sha256(n);return ne({secret:n,secretHash:i})}async signMessage(t){if(!this.privKey){const l=await this.getMasterPrivKey();if(l.error)return j(l.error);this.privKey=l.val}const r=gd(or),n="Garden.fi"+t.toString(),i=Buffer.from(n,"utf8"),s=St.sha256(i),o=Buffer.from(rr(this.privKey),"hex");if(o.length!==32)return j("Invalid private key length. Expected 32 bytes.");const c=r.fromPrivateKey(o).sign(Buffer.from(rr(s),"hex"));return ne(c.toString("hex"))}}class md extends pe.EventBroker{constructor(t){super(),this.getOrderThreshold=20,this.refundSacpCache=new Map,this.bitcoinRedeemCache=new Uh,this.environment=t.environment;const r=t.environment===pe.Environment.MAINNET?ws.mainnet:t.environment===pe.Environment.TESTNET?ws.testnet:void 0;if(!r)throw new Error("API not found, invalid environment "+t.environment);if(this._quote=t.quote??new Ya(r.quote),this._orderbookUrl=new pe.Url(t.orderbookURl??r.orderbook),this._auth=new pe.Auth({siwe:t.apiKey?void 0:new pe.Siwe(new pe.Url(t.orderbookURl??r.orderbook),t.evmWallet,t.siweOpts),apiKey:t.apiKey}),this._orderBook=new le.Orderbook({url:t.orderbookURl??r.orderbook,walletClient:t.evmWallet,auth:this._auth}),this._evmRelay=new ma(this._orderbookUrl,this._auth),this._secretManager=t.secretManager??gn.fromWalletClient(t.evmWallet),this.orderExecutorCache=new Rh,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 ne(this._btcWallet);const t=await this._secretManager.getMasterPrivKey();if(t.error)return j(t.error);const r=new Ur.BitcoinProvider(mu(this.environment));return this._btcWallet=Ur.BitcoinWallet.fromPrivateKey(t.val,r),ne(this._btcWallet)}async swap(t){const r=await this.validateAndFillParams(t);if(r.error)return j(r.error);const{sendAddress:n,receiveAddress:i,timelock:s}=r.val,o=Date.now().toString(),a=await this._secretManager.generateSecret(o);if(a.error)return j(a.error);const{strategyId:c,btcAddress:l}=t.additionalData,d={strategy_id:c,...l&&{bitcoin_optional_recipient:l}},p={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,timelock:s,secret_hash:rr(a.val.secretHash),min_destination_confirmations:t.minDestinationConfirmations??0,additional_data:d},_=await this._quote.getAttestedQuote(p);if(_.error)return j(_.error);const y=await this._orderBook.createOrder(_.val);if(y.error)return j(y.error);const I=await this.pollOrder(y.val);return I.error?j(I.error):ne(I.val)}async validateAndFillParams(t){if(!t.additionalData.strategyId)return j("StrategyId is required");if(!t.fromAsset||!t.toAsset)return j("Source and destination assets are required for swap");if(t.fromAsset.chain===t.toAsset.chain&&t.fromAsset.atomicSwapAddress===t.toAsset.atomicSwapAddress)return j("Source and destination assets cannot be the same");if(le.isMainnet(t.fromAsset.chain)&&!le.isMainnet(t.toAsset.chain)||!le.isMainnet(t.fromAsset.chain)&&le.isMainnet(t.toAsset.chain))return j("Both assets should be on the same network (either mainnet or testnet)");const r=this.validateAmount(t.sendAmount);if(r.error)return j(r.error);const n=this.validateAmount(t.receiveAmount);if(n.error)return j(n.error);if(r<n)return j("Send amount should be greater than receive amount");const i=le.getTimeLock(t.fromAsset.chain);if(!i)return j("Unsupported chain for timelock");if(le.isBitcoin(t.fromAsset.chain)||le.isBitcoin(t.toAsset.chain)){if(!t.additionalData.btcAddress)return j("btcAddress in additionalData is required if source or destination chain is bitcoin, it is used as refund or redeem address.");const a=await this.initializeSMandBTCWallet();if(a.error)return j(a.error);if(!this._btcWallet)return j("btcWallet is required for bitcoin chain. Please provide btcWallet in the constructor")}const s=await this.getAddresses(t.fromAsset.chain);if(s.error)return j(s.error);const o=await this.getAddresses(t.toAsset.chain);return o.error?j(o.error):ne({sendAddress:s.val,receiveAddress:o.val,timelock:t.timelock??i})}async getAddresses(t){var n;switch(le.getBlockchainType(t)){case le.BlockchainType.EVM:return this._evmWallet.account?ne(this._evmWallet.account.address):j("EVM Wallet not found");case le.BlockchainType.Bitcoin:{const i=await((n=this._btcWallet)==null?void 0:n.getPublicKey());return!i||!wu(i)?j("Invalid btc public key"):ne(er(i))}default:return j("Unsupported chain")}}validateAmount(t){if(t==null||t.includes("."))return j("Invalid amount ",t);const r=new cu(t);return!r.isInteger()||r.isNaN()||r.lt(0)||r.isLessThanOrEqualTo(0)?j("Invalid amount ",t):ne(r)}async pollOrder(t){let r=await this._orderBook.getOrder(t,!0),n=0;for(;n<this.getOrderThreshold;){if(await pe.sleep(1e3),n++,r.error){if(!r.error.includes("result is undefined"))return j(r.error)}else if(r.val&&r.val.create_order.create_id.toLowerCase()===t.toLowerCase())return ne(r.val);r=await this._orderBook.getOrder(t,!0)}return j(`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=Is(s.status);if(le.isBitcoin(s.source_swap.chain)&&s.status===de.InitiateDetected){const a=this.getWallet(s.source_swap.chain);if(a.error){this.emit("error",s,a.error);continue}await this.postRefundSACP(s,a.val)}switch(o){case Ne.Redeem:{const a=await this._secretManager.generateSecret(s.create_order.nonce);if(a.error){this.emit("error",s,a.error);return}switch(le.getBlockchainType(s.destination_swap.chain)){case le.BlockchainType.EVM:{await this.evmRedeem(s,a.val.secret);break}case le.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,a.val.secret);break}default:this.emit("error",s,"Unsupported chain: "+s.destination_swap.chain)}break}case Ne.Refund:{switch(le.getBlockchainType(s.source_swap.chain)){case le.BlockchainType.EVM:{this.emit("error",s,"EVM refund is automatically done by relay service");break}case le.BlockchainType.Bitcoin:{const a=this.getWallet(s.source_swap.chain);if(a.error){this.emit("error",s,a.error);return}await this.btcRefund(a.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,Ne.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,Ne.Redeem,t.destination_swap.redeem_tx_hash);return}this.orderExecutorCache.set(t,Ne.Redeem,i.val),this.emit("success",t,Ne.Redeem,i.val)}async btcRedeem(t,r,n){var a,c;const i=this.bitcoinRedeemCache.get(r.create_order.create_id),s=(a=r.destination_swap.initiate_tx_hash.split(",").at(-1))==null?void 0:a.split(":").at(0);if(!s){this.emit("error",r,"Failed to get initiate_tx_hash");return}let o=!1;if(i)if(i.redeemedFromUTXO&&i.redeemedFromUTXO!==s)o=!0,this.emit("log",r.create_order.create_id,"rbf btc redeem");else if(i.redeemedAt&&Date.now()-i.redeemedAt>1e3*60*15)this.emit("log",r.create_order.create_id,"redeem not confirmed in last 15 minutes"),o=!0;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 p of l.vin)if(p.txid===s){d=!0;break}if(d){this.emit("log",r.create_order.create_id,"already a valid redeem");let p=0;try{const[_]=await(await t.getProvider()).getTransactionTimes([r.destination_swap.redeem_tx_hash]);_!==0&&(p=_)}catch{p=Date.now()}this.bitcoinRedeemCache.set(r.create_order.create_id,{redeemedFromUTXO:s,redeemedAt:p,redeemTxHash:r.destination_swap.redeem_tx_hash});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 dn.from(t,Number(r.destination_swap.amount),r.create_order.secret_hash,er(r.destination_swap.initiator),er(r.destination_swap.redeemer),r.destination_swap.timelock,o?[s]:[])).getRedeemHex(rr(n),(c=r.create_order.additional_data)==null?void 0:c.bitcoin_optional_recipient),p=await this.broadcastRedeemTx(d,r.create_order.create_id);if(p.error||!p.val){this.emit("error",r,p.error||"Failed to broadcast redeem tx");return}o?(this.emit("log",r.create_order.create_id,"rbf: btc redeem success"),this.emit("rbf",r,p.val)):this.emit("success",r,Ne.Redeem,p.val),this.bitcoinRedeemCache.set(r.create_order.create_id,{redeemedFromUTXO:s,redeemedAt:Date.now(),redeemTxHash:p.val})}catch(l){console.log("error",l),this.emit("error",r,"Failed btc redeem: "+l)}}async btcRefund(t,r){var n;if(!this.orderExecutorCache.get(r,Ne.Refund)){this.emit("log",r.create_order.create_id,"executing btc refund");try{const s=await(await dn.from(t,Number(r.source_swap.amount),r.create_order.secret_hash,er(r.source_swap.initiator),er(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,Ne.Refund,s),this.emit("success",r,Ne.Refund,s)}catch(i){this.emit("error",r,"Failed btc refund: "+i)}}}getWallet(t){switch(le.getBlockchainType(t)){case le.BlockchainType.EVM:return ne(this._evmWallet);case le.BlockchainType.Bitcoin:return ne(this._btcWallet);default:return j("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 dn.from(r,Number(t.source_swap.amount),t.create_order.secret_hash,er(t.source_swap.initiator),er(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),a=this._orderbookUrl.endpoint("orders/add-instant-refund-sacp");(await nr.post(a,{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 j("Provide wallets to fetch the current block number");const n=le.isBitcoin(t.source_swap.chain)?await pe.fetchBitcoinBlockNumber(await r.source.getProvider()):await pe.fetchEVMBlockNumber(r.source);if(n.error)return j(n.error);const i=le.isBitcoin(t.destination_swap.chain)?await pe.fetchBitcoinBlockNumber(await r.destination.getProvider()):await pe.fetchEVMBlockNumber(r.destination);return i.error?j(i.error):ne({source:n.val,destination:i.val})}async filterExpiredAndAssignStatus(t){var i;if(t.length===0)return ne([]);const r=await((i=this._blockNumberFetcher)==null?void 0:i.fetchBlockNumbers());if(r.error)return j(r.error);const n=[];for(let s=0;s<t.length;s++){const o=t[s];if(ga(o))continue;const a=o.source_swap.chain,c=o.destination_swap.chain,l=r==null?void 0:r.val[a],d=r==null?void 0:r.val[c];if(!l||!d){this.emit("error",o,"Error while fetching CurrentBlockNumbers");continue}const p=As(o,l,d);n.push({...o,status:p})}return ne(n)}async broadcastRedeemTx(t,r){try{const n=this._orderbookUrl.endpoint("gasless/order/bitcoin/redeem"),i=await this._auth.getAuthHeaders(),o=await(await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",...i.val},body:JSON.stringify({redeem_tx_bytes:t,order_id:r})})).json();return o.status==="Ok"&&o.result?ne(o.result):j(o.error)}catch(n){return j("Failed to broadcast redeem tx: "+n)}}}function yt(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}const Lf="2.22.23";let nn={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${Lf}`};class ye extends Error{constructor(t,r={}){var a;const n=(()=>{var c;return r.cause instanceof ye?r.cause.details:(c=r.cause)!=null&&c.message?r.cause.message:r.details})(),i=r.cause instanceof ye&&r.cause.docsPath||r.docsPath,s=(a=nn.getDocsUrl)==null?void 0:a.call(nn,{...r,docsPath:i}),o=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...n?[`Details: ${n}`]:[],...nn.version?[`Version: ${nn.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=Lf}walk(t){return Nf(this,t)}}function Nf(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?Nf(e.cause,t):t?null:e}class _d extends ye{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 vd extends ye{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function An(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function Dr(e){return An(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function si(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 ye{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 Ff extends ye{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 jr(e,{dir:t,size:r=32}={}){return typeof e=="string"?xd(e,{dir:t,size:r}):Sd(e,{dir:t,size:r})}function xd(e,{dir:t,size:r=32}={}){if(r===null)return e;const n=e.replace("0x","");if(n.length>r*2)throw new Ff({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function Sd(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new Ff({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 Bd=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function J(e,t={}){return typeof e=="number"||typeof e=="bigint"?Hf(e,t):typeof e=="string"?Ad(e,t):typeof e=="boolean"?Pd(e,t):Xt(e,t)}function Pd(e,t={}){const r=`0x${Number(e)}`;return typeof t.size=="number"?(Gr(r,{size:t.size}),jr(r,{size:t.size})):r}function Xt(e,t={}){let r="";for(let i=0;i<e.length;i++)r+=Bd[e[i]];const n=`0x${r}`;return typeof t.size=="number"?(Gr(n,{size:t.size}),jr(n,{dir:"right",size:t.size})):n}function Hf(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 _d({max:s?`${s}${c}`:void 0,min:`${o}${c}`,signed:r,size:n,value:`${e}${c}`})}const a=`0x${(r&&i<0?(1n<<BigInt(n*8))+BigInt(i):i).toString(16)}`;return n?jr(a,{size:n}):a}const Td=new TextEncoder;function Ad(e,t={}){const r=Td.encode(e);return Xt(r,t)}const Id=new TextEncoder;function Mf(e,t={}){return typeof e=="number"||typeof e=="bigint"?kd(e,t):typeof e=="boolean"?Od(e,t):An(e)?cr(e,t):Df(e,t)}function Od(e,t={}){const r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(Gr(r,{size:t.size}),jr(r,{size:t.size})):r}const vt={zero:48,nine:57,A:65,F:70,a:97,f:102};function ia(e){if(e>=vt.zero&&e<=vt.nine)return e-vt.zero;if(e>=vt.A&&e<=vt.F)return e-(vt.A-10);if(e>=vt.a&&e<=vt.f)return e-(vt.a-10)}function cr(e,t={}){let r=e;t.size&&(Gr(r,{size:t.size}),r=jr(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,a=0;o<i;o++){const c=ia(n.charCodeAt(a++)),l=ia(n.charCodeAt(a++));if(c===void 0||l===void 0)throw new ye(`Invalid byte sequence ("${n[a-2]}${n[a-1]}" in "${n}").`);s[o]=c*16+l}return s}function kd(e,t){const r=Hf(e,t);return cr(r)}function Df(e,t={}){const r=Id.encode(e);return typeof t.size=="number"?(Gr(r,{size:t.size}),jr(r,{dir:"right",size:t.size})):r}function Gr(e,{size:t}){if(Dr(e)>t)throw new vd({givenSize:Dr(e),maxSize:t})}function Ar(e,t={}){const{signed:r}=t;t.size&&Gr(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 oi(e,t={}){return Number(Ar(e,t))}function Ys(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 $f={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Xs(e){const t={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?oi(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?oi(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?$f[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=Ud(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 Rd=Ys("transaction",Xs);function Ud(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 Cd(e){const t=(e.transactions??[]).map(r=>typeof r=="string"?r:Xs(r));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 Ld=Ys("block",Cd);function Nd(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 Fd={"0x0":"reverted","0x1":"success"};function Hd(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=>Nd(r)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?oi(e.transactionIndex):null,status:e.status?Fd[e.status]:null,type:e.type?$f[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}const Md=Ys("transactionReceipt",Hd),Js=2n**256n-1n;function In(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}class sa extends ye{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class Dd extends ye{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class $d extends ye{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const jd={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 $d({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Dd({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new sa({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 sa({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 jf(e,{recursiveReadLimit:t=8192}={}){const r=Object.create(jd);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}function hr(e,t="hex"){const r=Gf(e),n=jf(new Uint8Array(r.length));return r.encode(n),t==="hex"?Xt(n.bytes):n.bytes}function Gf(e){return Array.isArray(e)?Gd(e.map(t=>Gf(t))):Wd(e)}function Gd(e){const t=e.reduce((i,s)=>i+s.length,0),r=Wf(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 Wd(e){const t=typeof e=="string"?cr(e):e,r=Wf(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 Wf(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 ye("Length is too large.")}const Vd={ether:-9,wei:9};function zd(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 Ps(e,t="wei"){return zd(e,Vd[t])}function qd(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 Kd extends ye{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class Yd extends ye{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",qd(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 Xd extends ye{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 Vf(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=>cr(s)):e.blobs,i=[];for(const s of n)i.push(Uint8Array.from(t.blobToKzgCommitment(s)));return r==="bytes"?i:i.map(s=>Xt(s))}function zf(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=>cr(o)):e.blobs,i=typeof e.commitments[0]=="string"?e.commitments.map(o=>cr(o)):e.commitments,s=[];for(let o=0;o<n.length;o++){const a=n[o],c=i[o];s.push(Uint8Array.from(t.computeBlobKzgProof(a,c)))}return r==="bytes"?s:s.map(o=>Xt(o))}function oa(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Jd(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Qs(e,...t){if(!Jd(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function ai(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 qf(e,t){Qs(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Qd(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function fs(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ut(e,t){return e<<32-t|e>>>t}const aa=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Zd(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function fa(e){for(let t=0;t<e.length;t++)e[t]=Zd(e[t])}function ep(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function Zs(e){return typeof e=="string"&&(e=ep(e)),Qs(e),e}class Kf{clone(){return this._cloneInto()}}function Yf(e){const t=n=>e().update(Zs(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function tp(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),a=Number(r&s),c=n?4:0,l=n?0:4;e.setUint32(t+c,o,n),e.setUint32(t+l,a,n)}function rp(e,t,r){return e&t^~e&r}function np(e,t,r){return e&t^e&r^t&r}class ip extends Kf{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=fs(this.buffer)}update(t){ai(this);const{view:r,buffer:n,blockLen:i}=this;t=Zs(t);const s=t.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const c=fs(t);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ai(this),qf(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 p=o;p<i;p++)r[p]=0;tp(n,i-8,BigInt(this.length*8),s),this.process(n,0);const a=fs(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 p=0;p<l;p++)a.setUint32(4*p,d[p],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:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}}const sp=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]),Mt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Dt=new Uint32Array(64);class op extends ip{constructor(){super(64,32,8,!1),this.A=Mt[0]|0,this.B=Mt[1]|0,this.C=Mt[2]|0,this.D=Mt[3]|0,this.E=Mt[4]|0,this.F=Mt[5]|0,this.G=Mt[6]|0,this.H=Mt[7]|0}get(){const{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[t,r,n,i,s,o,a,c]}set(t,r,n,i,s,o,a,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=a|0,this.H=c|0}process(t,r){for(let p=0;p<16;p++,r+=4)Dt[p]=t.getUint32(r,!1);for(let p=16;p<64;p++){const _=Dt[p-15],y=Dt[p-2],I=ut(_,7)^ut(_,18)^_>>>3,B=ut(y,17)^ut(y,19)^y>>>10;Dt[p]=B+Dt[p-7]+I+Dt[p-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:l,H:d}=this;for(let p=0;p<64;p++){const _=ut(a,6)^ut(a,11)^ut(a,25),y=d+_+rp(a,c,l)+sp[p]+Dt[p]|0,B=(ut(n,2)^ut(n,13)^ut(n,22))+np(n,i,s)|0;d=l,l=c,c=a,a=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,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(n,i,s,o,a,c,l,d)}roundClean(){Dt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const ap=Yf(()=>new op);function fp(e,t){return ap(An(e,{strict:!1})?Mf(e):e)}function up(e){const{commitment:t,version:r=1}=e,n=e.to??(typeof t=="string"?"hex":"bytes"),i=fp(t);return i.set([r],0),n==="bytes"?i:Xt(i)}function cp(e){const{commitments:t,version:r}=e,n=e.to??(typeof t[0]=="string"?"hex":"bytes"),i=[];for(const s of t)i.push(up({commitment:s,to:n,version:r}));return i}const ua=6,Xf=32,eo=4096,Jf=Xf*eo,ca=Jf*ua-1-1*eo*ua,Qf=1;class hp extends ye{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class Zf extends ye{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class lp extends ye{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class dp extends ye{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${Qf}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}function pp(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?cr(e.data):e.data,n=Dr(r);if(!n)throw new Zf;if(n>ca)throw new hp({maxSize:ca,size:n});const i=[];let s=!0,o=0;for(;s;){const a=jf(new Uint8Array(Jf));let c=0;for(;c<eo;){const l=r.slice(o,o+(Xf-1));if(a.pushByte(0),a.pushBytes(l),l.length<31){a.pushByte(128),s=!1;break}c++,o+=31}i.push(a)}return t==="bytes"?i.map(a=>a.bytes):i.map(a=>Xt(a.bytes))}function yp(e){const{data:t,kzg:r,to:n}=e,i=e.blobs??pp({data:t,to:n}),s=e.commitments??Vf({blobs:i,kzg:r,to:n}),o=e.proofs??zf({blobs:i,commitments:s,kzg:r,to:n}),a=[];for(let c=0;c<i.length;c++)a.push({blob:i[c],commitment:s[c],proof:o[c]});return a}function bp(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",...On({},o)])}return t}class lr extends ye{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 Oi extends ye{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class ki extends ye{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Ps(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(ki,"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 eu extends ye{constructor({cause:t,maxPriorityFeePerGas:r,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${Ps(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${Ps(n)} gwei`:""}).`].join(`
34
- `),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(eu,"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 tu 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 Dn=BigInt(2**32-1),ha=BigInt(32);function wp(e,t=!1){return t?{h:Number(e&Dn),l:Number(e>>ha&Dn)}:{h:Number(e>>ha&Dn)|0,l:Number(e&Dn)|0}}function gp(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}=wp(e[i],t);[r[i],n[i]]=[s,o]}return[r,n]}const mp=(e,t,r)=>e<<r|t>>>32-r,_p=(e,t,r)=>t<<r|e>>>32-r,vp=(e,t,r)=>t<<r-32|e>>>64-r,Ep=(e,t,r)=>e<<r-32|t>>>64-r,ru=[],nu=[],iu=[],xp=BigInt(0),sn=BigInt(1),Sp=BigInt(2),Bp=BigInt(7),Pp=BigInt(256),Tp=BigInt(113);for(let e=0,t=sn,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],ru.push(2*(5*n+r)),nu.push((e+1)*(e+2)/2%64);let i=xp;for(let s=0;s<7;s++)t=(t<<sn^(t>>Bp)*Tp)%Pp,t&Sp&&(i^=sn<<(sn<<BigInt(s))-sn);iu.push(i)}const[Ap,Ip]=gp(iu,!0),la=(e,t,r)=>r>32?vp(e,t,r):mp(e,t,r),da=(e,t,r)=>r>32?Ep(e,t,r):_p(e,t,r);function Op(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 a=(o+8)%10,c=(o+2)%10,l=r[c],d=r[c+1],p=la(l,d,1)^r[a],_=da(l,d,1)^r[a+1];for(let y=0;y<50;y+=10)e[o+y]^=p,e[o+y+1]^=_}let i=e[2],s=e[3];for(let o=0;o<24;o++){const a=nu[o],c=la(i,s,a),l=da(i,s,a),d=ru[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 a=0;a<10;a++)r[a]=e[o+a];for(let a=0;a<10;a++)e[o+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=Ap[n],e[1]^=Ip[n]}r.fill(0)}class to extends Kf{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,oa(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Qd(this.state)}keccak(){aa||fa(this.state32),Op(this.state32,this.rounds),aa||fa(this.state32),this.posOut=0,this.pos=0}update(t){ai(this);const{blockLen:r,state:n}=this;t=Zs(t);const i=t.length;for(let s=0;s<i;){const o=Math.min(r-this.pos,i-s);for(let a=0;a<o;a++)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){ai(this,!1),Qs(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 oa(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(qf(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 to(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 kp=(e,t,r)=>Yf(()=>new to(t,e,r)),Rp=kp(1,136,256/8);function Up(e,t){return Rp(An(e,{strict:!1})?Mf(e):e)}const us=new tu(8192);function Cp(e,t){if(us.has(`${e}.${t}`))return us.get(`${e}.${t}`);const r=e.substring(2).toLowerCase(),n=Up(Df(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 us.set(`${e}.${t}`,s),s}const Lp=/^0x[a-fA-F0-9]{40}$/,cs=new tu(8192);function dr(e,t){const{strict:r=!0}=t??{},n=`${e}.${r}`;if(cs.has(n))return cs.get(n);const i=Lp.test(e)?e.toLowerCase()===e?!0:r?Cp(e)===e:!0:!1;return cs.set(n,i),i}function Np(e,t,r,{strict:n}={}){return An(e,{strict:!1})?Hp(e,t,r,{strict:n}):Fp(e,t,r,{strict:n})}function su(e,t,r){if(Dr(e)!==r-t)throw new Ed({offset:r,position:"end",size:Dr(e)})}function Fp(e,t,r,{strict:n}={}){const i=e.slice(t,r);return n&&su(i,t,r),i}function Hp(e,t,r,{strict:n}={}){const i=`0x${e.replace("0x","").slice(t*2,r*2)}`;return n&&su(i,t,r),i}function Mp(e){const{authorizationList:t}=e;if(t)for(const r of t){const{contractAddress:n,chainId:i}=r;if(!dr(n))throw new lr({address:n});if(i<0)throw new Oi({chainId:i})}ro(e)}function Dp(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Zf;for(const r of t){const n=Dr(r),i=oi(Np(r,0,1));if(n!==32)throw new lp({hash:r,size:n});if(i!==Qf)throw new dp({hash:r,version:i})}}ro(e)}function ro(e){const{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:n,to:i}=e;if(t<=0)throw new Oi({chainId:t});if(i&&!dr(i))throw new lr({address:i});if(n&&n>Js)throw new ki({maxFeePerGas:n});if(r&&n&&r>n)throw new eu({maxFeePerGas:n,maxPriorityFeePerGas:r})}function $p(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(t<=0)throw new Oi({chainId:t});if(s&&!dr(s))throw new lr({address:s});if(r||i)throw new ye("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>Js)throw new ki({maxFeePerGas:n})}function jp(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(s&&!dr(s))throw new lr({address:s});if(typeof t<"u"&&t<=0)throw new Oi({chainId:t});if(r||i)throw new ye("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>Js)throw new ki({maxFeePerGas:n})}function Gp(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 Yd({transaction:e})}function Ri(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 Xd({storageKey:i[s]});if(!dr(n,{strict:!1}))throw new lr({address:n});t.push([n,i])}return t}function Wp(e,t){const r=Gp(e);return r==="eip1559"?qp(e,t):r==="eip2930"?Kp(e,t):r==="eip4844"?zp(e,t):r==="eip7702"?Vp(e,t):Yp(e,t)}function Vp(e,t){const{authorizationList:r,chainId:n,gas:i,nonce:s,to:o,value:a,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:d,data:p}=e;Mp(e);const _=Ri(d),y=bp(r);return In(["0x04",hr([J(n),s?J(s):"0x",l?J(l):"0x",c?J(c):"0x",i?J(i):"0x",o??"0x",a?J(a):"0x",p??"0x",_,y,...On(e,t)])])}function zp(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:d,data:p}=e;Dp(e);let _=e.blobVersionedHashes,y=e.sidecars;if(e.blobs&&(typeof _>"u"||typeof y>"u")){const v=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(x=>Xt(x)),m=e.kzg,S=Vf({blobs:v,kzg:m});if(typeof _>"u"&&(_=cp({commitments:S})),typeof y>"u"){const x=zf({blobs:v,commitments:S,kzg:m});y=yp({blobs:v,commitments:S,proofs:x})}}const I=Ri(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",p??"0x",I,a?J(a):"0x",_??[],...On(e,t)],A=[],k=[],U=[];if(y)for(let v=0;v<y.length;v++){const{blob:m,commitment:S,proof:x}=y[v];A.push(m),k.push(S),U.push(x)}return In(["0x03",hr(y?[B,A,k,U]:B)])}function qp(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:l,data:d}=e;ro(e);const p=Ri(l),_=[J(r),i?J(i):"0x",c?J(c):"0x",a?J(a):"0x",n?J(n):"0x",s??"0x",o?J(o):"0x",d??"0x",p,...On(e,t)];return In(["0x02",hr(_)])}function Kp(e,t){const{chainId:r,gas:n,data:i,nonce:s,to:o,value:a,accessList:c,gasPrice:l}=e;$p(e);const d=Ri(c),p=[J(r),s?J(s):"0x",l?J(l):"0x",n?J(n):"0x",o??"0x",a?J(a):"0x",i??"0x",d,...On(e,t)];return In(["0x01",hr(p)])}function Yp(e,t){const{chainId:r=0,gas:n,data:i,nonce:s,to:o,value:a,gasPrice:c}=e;jp(e);let l=[s?J(s):"0x",c?J(c):"0x",n?J(n):"0x",o??"0x",a?J(a):"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 Kd({v:t.v});return y})(),p=si(t.r),_=si(t.s);l=[...l,J(d),p==="0x00"?"0x":p,_==="0x00"?"0x":_]}else r>0&&(l=[...l,J(r),"0x","0x"]);return hr(l)}function On(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=si(r.r),o=si(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 Xp={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},Jp={block:Ld({format(e){var r;return{transactions:(r=e.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const i=Xs(n);return i.typeHex==="0x7e"&&(i.isSystemTx=n.isSystemTx,i.mint=n.mint?Ar(n.mint):void 0,i.sourceHash=n.sourceHash,i.type="deposit"),i}),stateRoot:e.stateRoot}}}),transaction:Rd({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Ar(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:Md({format(e){return{l1GasPrice:e.l1GasPrice?Ar(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Ar(e.l1GasUsed):null,l1Fee:e.l1Fee?Ar(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function Qp(e,t){return t1(e)?e1(e):Wp(e,t)}const Zp={transaction:Qp};function e1(e){r1(e);const{sourceHash:t,data:r,from:n,gas:i,isSystemTx:s,mint:o,to:a,value:c}=e,l=[t,n,a??"0x",o?J(o):"0x",c?J(c):"0x",i?J(i):"0x",s?"0x1":"0x",r??"0x"];return In(["0x7e",hr(l)])}function t1(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function r1(e){const{from:t,to:r}=e;if(t&&!dr(t))throw new lr({address:t});if(r&&!dr(r))throw new lr({address:r})}const fi={contracts:Xp,formatters:Jp,serializers:Zp},n1=yt({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}}}),i1=yt({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}),on=1,s1=yt({...fi,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:{...fi.contracts,disputeGameFactory:{[on]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[on]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[on]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[on]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:on}),an=11155111,o1=yt({...fi,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:{...fi.contracts,disputeGameFactory:{[an]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[an]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[an]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[an]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:an}),a1=yt({id:80094,name:"Berachain",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:0}},rpcUrls:{default:{http:["https://rpc.berachain.com"]}},blockExplorers:{default:{name:"Berascan",url:"https://berascan.com"}},testnet:!1}),f1=yt({id:80084,name:"Berachain bArtio",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:109269},ensRegistry:{address:"0xB0eef18971290b333450586D33dcA6cE122651D2",blockCreated:7736794},ensUniversalResolver:{address:"0x41692Ef1EA0C79E6b73077E4A67572D2BDbD7057",blockCreated:7736795}},rpcUrls:{default:{http:["https://bartio.rpc.berachain.com"]}},blockExplorers:{default:{name:"Berachain bArtio Beratrail",url:"https://bartio.beratrail.io"}},testnet:!0}),u1=yt({id:5115,name:"Citrea Testnet",nativeCurrency:{name:"cBTC",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"}},testnet:!0}),c1=yt({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://eth.merkle.io"]}},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}}}),h1=yt({id:10143,name:"Monad Testnet",nativeCurrency:{name:"Testnet MON Token",symbol:"MON",decimals:18},rpcUrls:{default:{http:["https://testnet-rpc.monad.xyz"]}},blockExplorers:{default:{name:"Monad Testnet explorer",url:"https://testnet.monadexplorer.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:251449}},testnet:!0}),l1=yt({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}),d1={...l1,rpcUrls:{default:{http:["https://ethereum-sepolia-rpc.publicnode.com"]}}},ou={ethereum:c1,arbitrum:n1,ethereum_sepolia:d1,arbitrum_sepolia:i1,ethereum_localnet:le.EthereumLocalnet,arbitrum_localnet:le.ArbitrumLocalnet,base_sepolia:o1,base:s1,bera_testnet:f1,citrea_testnet:u1,bera:a1,monad_testnet:h1},p1=async(e,t)=>{var n;const r=ou[e];if(r)try{if(r.id===((n=t.chain)==null?void 0:n.id))return ne({message:"Already on the network",walletClient:t});await t.switchChain({id:r.id});const i=St.createWalletClient({account:t.account,chain:r,transport:St.custom(window.ethereum)});return ne({message:"Switched chain",walletClient:i})}catch(i){if(y1(i))try{await t.addChain({chain:r});const s=St.createWalletClient({account:t.account,chain:r,transport:St.custom(window.ethereum)});return ne({message:"Added network",walletClient:s})}catch{return j("Failed to add network")}else return j("Failed to switch network")}else return j("Chain not supported")},y1=e=>typeof e=="object"&&e!==null&&"code"in e&&e.code===4902;exports.API=ws;exports.BlockNumberFetcher=Ka;exports.EvmRelay=ma;exports.Garden=md;exports.OrderActions=Ne;exports.OrderStatus=de;exports.ParseOrderStatus=As;exports.ParseSwapStatus=ds;exports.Quote=Ya;exports.SecretManager=gn;exports.SwapStatus=me;exports.constructOrderPair=wa;exports.evmToViemChainMap=ou;exports.filterDeadlineExpiredOrders=vu;exports.isExpired=pn;exports.parseAction=_u;exports.parseActionFromStatus=Is;exports.switchOrAddNetwork=p1;exports.validateBTCAddress=gu;
30
+ `,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var Ja={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.maybe=e.Boolean=e.Array=e.Buffer256bit=e.Network=e.typeforce=void 0,e.typeforce=Ta,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})(Ja);var gs={exports:{}},ms={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(e,t){var r=Ot,n=r.Buffer;function i(o,a){for(var c in o)a[c]=o[c]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=s);function s(o,a,c){return n(o,a,c)}s.prototype=Object.create(n.prototype),i(n,s),s.from=function(o,a,c){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,c)},s.alloc=function(o,a,c){if(typeof o!="number")throw new TypeError("Argument must be a number");var l=n(o);return a!==void 0?typeof c=="string"?l.fill(a,c):l.fill(a):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)}})(ms,ms.exports);var We=ms.exports,Yi=65536,Ch=4294967295;function Lh(){throw new Error(`Secure random number generation is not supported by this browser.
31
+ Use Chrome, Firefox or Internet Explorer 11`)}var Nh=We.Buffer,ti=Vt.crypto||Vt.msCrypto;ti&&ti.getRandomValues?gs.exports=Fh:gs.exports=Lh;function Fh(e,t){if(e>Ch)throw new RangeError("requested too many random bytes");var r=Nh.allocUnsafe(e);if(e>0)if(e>Yi)for(var n=0;n<e;n+=Yi)ti.getRandomValues(r.slice(n,n+Yi));else ti.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}var Hh=gs.exports,_s={exports:{}};typeof Object.create=="function"?_s.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:_s.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 ke=_s.exports,vs={exports:{}},Vs={exports:{}},Rr=typeof Reflect=="object"?Reflect:null,ko=Rr&&typeof Rr.apply=="function"?Rr.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},Xn;Rr&&typeof Rr.ownKeys=="function"?Xn=Rr.ownKeys:Object.getOwnPropertySymbols?Xn=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Xn=function(t){return Object.getOwnPropertyNames(t)};function Mh(e){console&&console.warn&&console.warn(e)}var Qa=Number.isNaN||function(t){return t!==t};function ie(){ie.init.call(this)}Vs.exports=ie;Vs.exports.once=Gh;ie.EventEmitter=ie;ie.prototype._events=void 0;ie.prototype._eventsCount=0;ie.prototype._maxListeners=void 0;var Ro=10;function mi(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(ie,"defaultMaxListeners",{enumerable:!0,get:function(){return Ro},set:function(e){if(typeof e!="number"||e<0||Qa(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");Ro=e}});ie.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};ie.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||Qa(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 Za(e){return e._maxListeners===void 0?ie.defaultMaxListeners:e._maxListeners}ie.prototype.getMaxListeners=function(){return Za(this)};ie.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 a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[t];if(c===void 0)return!1;if(typeof c=="function")ko(c,this,r);else for(var l=c.length,d=sf(c,l),n=0;n<l;++n)ko(d[n],this,r);return!0};function ef(e,t,r,n){var i,s,o;if(mi(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=Za(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,Mh(a)}return e}ie.prototype.addListener=function(t,r){return ef(this,t,r,!1)};ie.prototype.on=ie.prototype.addListener;ie.prototype.prependListener=function(t,r){return ef(this,t,r,!0)};function Dh(){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 tf(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=Dh.bind(n);return i.listener=r,n.wrapFn=i,i}ie.prototype.once=function(t,r){return mi(r),this.on(t,tf(this,t,r)),this};ie.prototype.prependOnceListener=function(t,r){return mi(r),this.prependListener(t,tf(this,t,r)),this};ie.prototype.removeListener=function(t,r){var n,i,s,o,a;if(mi(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){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():$h(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};ie.prototype.off=ie.prototype.removeListener;ie.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 rf(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?jh(i):sf(i,i.length)}ie.prototype.listeners=function(t){return rf(this,t,!0)};ie.prototype.rawListeners=function(t){return rf(this,t,!1)};ie.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):nf.call(e,t)};ie.prototype.listenerCount=nf;function nf(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}ie.prototype.eventNames=function(){return this._eventsCount>0?Xn(this._events):[]};function sf(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function $h(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function jh(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function Gh(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))}of(e,t,s,{once:!0}),t!=="error"&&Wh(e,i,{once:!0})})}function Wh(e,t,r){typeof e.on=="function"&&of(e,"error",t,r)}function of(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 af=Vs.exports,ff=af.EventEmitter;const Vh={},zh=Object.freeze(Object.defineProperty({__proto__:null,default:Vh},Symbol.toStringTag,{value:"Module"})),zs=Iu(zh);var Xi,Uo;function qh(){if(Uo)return Xi;Uo=1;function e(I,B){var A=Object.keys(I);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(I);B&&(k=k.filter(function(U){return Object.getOwnPropertyDescriptor(I,U).enumerable})),A.push.apply(A,k)}return A}function t(I){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(I,k,A[k])}):Object.getOwnPropertyDescriptors?Object.defineProperties(I,Object.getOwnPropertyDescriptors(A)):e(Object(A)).forEach(function(k){Object.defineProperty(I,k,Object.getOwnPropertyDescriptor(A,k))})}return I}function r(I,B,A){return B=o(B),B in I?Object.defineProperty(I,B,{value:A,enumerable:!0,configurable:!0,writable:!0}):I[B]=A,I}function n(I,B){if(!(I instanceof B))throw new TypeError("Cannot call a class as a function")}function i(I,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(I,o(k.key),k)}}function s(I,B,A){return B&&i(I.prototype,B),Object.defineProperty(I,"prototype",{writable:!1}),I}function o(I){var B=a(I,"string");return typeof B=="symbol"?B:String(B)}function a(I,B){if(typeof I!="object"||I===null)return I;var A=I[Symbol.toPrimitive];if(A!==void 0){var k=A.call(I,B||"default");if(typeof k!="object")return k;throw new TypeError("@@toPrimitive must return a primitive value.")}return(B==="string"?String:Number)(I)}var c=Ot,l=c.Buffer,d=zs,p=d.inspect,_=p&&p.custom||"inspect";function y(I,B,A){l.prototype.copy.call(I,B,A)}return Xi=function(){function I(){n(this,I),this.head=null,this.tail=null,this.length=0}return s(I,[{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,v=0;U;)y(U.data,k,v),v+=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,v=k.data;for(A-=v.length;k=k.next;){var m=k.data,S=A>m.length?m.length:A;if(S===m.length?v+=m:v+=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,v}},{key:"_getBuffer",value:function(A){var k=l.allocUnsafe(A),U=this.head,v=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?(++v,U.next?this.head=U.next:this.head=this.tail=null):(this.head=U,U.data=m.slice(S));break}++v}return this.length-=v,k}},{key:_,value:function(A,k){return p(this,t(t({},k),{},{depth:0,customInspect:!1}))}}]),I}(),Xi}function Kh(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(Es,this,e)):process.nextTick(Es,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(Jn,r):(r._writableState.errorEmitted=!0,process.nextTick(Co,r,s)):process.nextTick(Co,r,s):t?(process.nextTick(Jn,r),t(s)):process.nextTick(Jn,r)}),this)}function Co(e,t){Es(e,t),Jn(e)}function Jn(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function Yh(){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 Es(e,t){e.emit("error",t)}function Xh(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}var uf={destroy:Kh,undestroy:Yh,errorOrDestroy:Xh},br={};function Jh(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var cf={};function et(e,t,r){r||(r=Error);function n(s,o,a){return typeof t=="string"?t:t(s,o,a)}var i=function(s){Jh(o,s);function o(a,c,l){return s.call(this,n(a,c,l))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,cf[e]=i}function Lo(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 Qh(e,t,r){return e.substr(0,t.length)===t}function Zh(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function el(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}et("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);et("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&Qh(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(Zh(e," argument"))i="The ".concat(e," ").concat(n," ").concat(Lo(t,"type"));else{var s=el(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(s," ").concat(n," ").concat(Lo(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);et("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");et("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});et("ERR_STREAM_PREMATURE_CLOSE","Premature close");et("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});et("ERR_MULTIPLE_CALLBACK","Callback called multiple times");et("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");et("ERR_STREAM_WRITE_AFTER_END","write after end");et("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);et("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);et("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");br.codes=cf;var tl=br.codes.ERR_INVALID_OPT_VALUE;function rl(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function nl(e,t,r,n){var i=rl(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var s=n?r:"highWaterMark";throw new tl(s,i)}return Math.floor(i)}return e.objectMode?16:16*1024}var hf={getHighWaterMark:nl},il=sl;function sl(e,t){if(Ji("noDeprecation"))return e;var r=!1;function n(){if(!r){if(Ji("throwDeprecation"))throw new Error(t);Ji("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function Ji(e){try{if(!Vt.localStorage)return!1}catch{return!1}var t=Vt.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}var Qi,No;function lf(){if(No)return Qi;No=1,Qi=$;function e(P){var T=this;this.next=null,this.entry=null,this.finish=function(){bt(T,P)}}var t;$.WritableState=x;var r={deprecate:il},n=ff,i=Ot.Buffer,s=(typeof Vt<"u"?Vt:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(P){return i.from(P)}function a(P){return i.isBuffer(P)||P instanceof s}var c=uf,l=hf,d=l.getHighWaterMark,p=br.codes,_=p.ERR_INVALID_ARG_TYPE,y=p.ERR_METHOD_NOT_IMPLEMENTED,I=p.ERR_MULTIPLE_CALLBACK,B=p.ERR_STREAM_CANNOT_PIPE,A=p.ERR_STREAM_DESTROYED,k=p.ERR_STREAM_NULL_VALUES,U=p.ERR_STREAM_WRITE_AFTER_END,v=p.ERR_UNKNOWN_ENCODING,m=c.errorOrDestroy;ke($,n);function S(){}function x(P,T,F){t=t||Mr(),P=P||{},typeof F!="boolean"&&(F=T instanceof t),this.objectMode=!!P.objectMode,F&&(this.objectMode=this.objectMode||!!P.writableObjectMode),this.highWaterMark=d(this,P,"writableHighWaterMark",F),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var G=P.decodeStrings===!1;this.decodeStrings=!G,this.defaultEncoding=P.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(K){fe(T,K)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=P.emitClose!==!1,this.autoDestroy=!!P.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}x.prototype.getBuffer=function(){for(var T=this.bufferedRequest,F=[];T;)F.push(T),T=T.next;return F},function(){try{Object.defineProperty(x.prototype,"buffer",{get:r.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var M;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(M=Function.prototype[Symbol.hasInstance],Object.defineProperty($,Symbol.hasInstance,{value:function(T){return M.call(this,T)?!0:this!==$?!1:T&&T._writableState instanceof x}})):M=function(T){return T instanceof this};function $(P){t=t||Mr();var T=this instanceof t;if(!T&&!M.call($,this))return new $(P);this._writableState=new x(P,this,T),this.writable=!0,P&&(typeof P.write=="function"&&(this._write=P.write),typeof P.writev=="function"&&(this._writev=P.writev),typeof P.destroy=="function"&&(this._destroy=P.destroy),typeof P.final=="function"&&(this._final=P.final)),n.call(this)}$.prototype.pipe=function(){m(this,new B)};function R(P,T){var F=new U;m(P,F),process.nextTick(T,F)}function z(P,T,F,G){var K;return F===null?K=new k:typeof F!="string"&&!T.objectMode&&(K=new _("chunk",["string","Buffer"],F)),K?(m(P,K),process.nextTick(G,K),!1):!0}$.prototype.write=function(P,T,F){var G=this._writableState,K=!1,w=!G.objectMode&&a(P);return w&&!i.isBuffer(P)&&(P=o(P)),typeof T=="function"&&(F=T,T=null),w?T="buffer":T||(T=G.defaultEncoding),typeof F!="function"&&(F=S),G.ending?R(this,F):(w||z(this,G,P,F))&&(G.pendingcb++,K=C(this,G,w,P,T,F)),K},$.prototype.cork=function(){this._writableState.corked++},$.prototype.uncork=function(){var P=this._writableState;P.corked&&(P.corked--,!P.writing&&!P.corked&&!P.bufferProcessing&&P.bufferedRequest&&Ve(this,P))},$.prototype.setDefaultEncoding=function(T){if(typeof T=="string"&&(T=T.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((T+"").toLowerCase())>-1))throw new v(T);return this._writableState.defaultEncoding=T,this},Object.defineProperty($.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function Z(P,T,F){return!P.objectMode&&P.decodeStrings!==!1&&typeof T=="string"&&(T=i.from(T,F)),T}Object.defineProperty($.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function C(P,T,F,G,K,w){if(!F){var g=Z(T,G,K);G!==g&&(F=!0,K="buffer",G=g)}var N=T.objectMode?1:G.length;T.length+=N;var D=T.length<T.highWaterMark;if(D||(T.needDrain=!0),T.writing||T.corked){var we=T.lastBufferedRequest;T.lastBufferedRequest={chunk:G,encoding:K,isBuf:F,callback:w,next:null},we?we.next=T.lastBufferedRequest:T.bufferedRequest=T.lastBufferedRequest,T.bufferedRequestCount+=1}else H(P,T,!1,N,G,K,w);return D}function H(P,T,F,G,K,w,g){T.writelen=G,T.writecb=g,T.writing=!0,T.sync=!0,T.destroyed?T.onwrite(new A("write")):F?P._writev(K,T.onwrite):P._write(K,w,T.onwrite),T.sync=!1}function W(P,T,F,G,K){--T.pendingcb,F?(process.nextTick(K,G),process.nextTick(ze,P,T),P._writableState.errorEmitted=!0,m(P,G)):(K(G),P._writableState.errorEmitted=!0,m(P,G),ze(P,T))}function q(P){P.writing=!1,P.writecb=null,P.length-=P.writelen,P.writelen=0}function fe(P,T){var F=P._writableState,G=F.sync,K=F.writecb;if(typeof K!="function")throw new I;if(q(F),T)W(P,F,G,T,K);else{var w=st(F)||P.destroyed;!w&&!F.corked&&!F.bufferProcessing&&F.bufferedRequest&&Ve(P,F),G?process.nextTick(ue,P,F,w,K):ue(P,F,w,K)}}function ue(P,T,F,G){F||tt(P,T),T.pendingcb--,G(),ze(P,T)}function tt(P,T){T.length===0&&T.needDrain&&(T.needDrain=!1,P.emit("drain"))}function Ve(P,T){T.bufferProcessing=!0;var F=T.bufferedRequest;if(P._writev&&F&&F.next){var G=T.bufferedRequestCount,K=new Array(G),w=T.corkedRequestsFree;w.entry=F;for(var g=0,N=!0;F;)K[g]=F,F.isBuf||(N=!1),F=F.next,g+=1;K.allBuffers=N,H(P,T,!0,T.length,K,"",w.finish),T.pendingcb++,T.lastBufferedRequest=null,w.next?(T.corkedRequestsFree=w.next,w.next=null):T.corkedRequestsFree=new e(T),T.bufferedRequestCount=0}else{for(;F;){var D=F.chunk,we=F.encoding,Y=F.callback,te=T.objectMode?1:D.length;if(H(P,T,!1,te,D,we,Y),F=F.next,T.bufferedRequestCount--,T.writing)break}F===null&&(T.lastBufferedRequest=null)}T.bufferedRequest=F,T.bufferProcessing=!1}$.prototype._write=function(P,T,F){F(new y("_write()"))},$.prototype._writev=null,$.prototype.end=function(P,T,F){var G=this._writableState;return typeof P=="function"?(F=P,P=null,T=null):typeof T=="function"&&(F=T,T=null),P!=null&&this.write(P,T),G.corked&&(G.corked=1,this.uncork()),G.ending||kt(this,G,F),this},Object.defineProperty($.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function st(P){return P.ending&&P.length===0&&P.bufferedRequest===null&&!P.finished&&!P.writing}function be(P,T){P._final(function(F){T.pendingcb--,F&&m(P,F),T.prefinished=!0,P.emit("prefinish"),ze(P,T)})}function xe(P,T){!T.prefinished&&!T.finalCalled&&(typeof P._final=="function"&&!T.destroyed?(T.pendingcb++,T.finalCalled=!0,process.nextTick(be,P,T)):(T.prefinished=!0,P.emit("prefinish")))}function ze(P,T){var F=st(T);if(F&&(xe(P,T),T.pendingcb===0&&(T.finished=!0,P.emit("finish"),T.autoDestroy))){var G=P._readableState;(!G||G.autoDestroy&&G.endEmitted)&&P.destroy()}return F}function kt(P,T,F){T.ending=!0,ze(P,T),F&&(T.finished?process.nextTick(F):P.once("finish",F)),T.ended=!0,P.writable=!1}function bt(P,T,F){var G=P.entry;for(P.entry=null;G;){var K=G.callback;T.pendingcb--,K(F),G=G.next}T.corkedRequestsFree.next=P}return Object.defineProperty($.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(T){this._writableState&&(this._writableState.destroyed=T)}}),$.prototype.destroy=c.destroy,$.prototype._undestroy=c.undestroy,$.prototype._destroy=function(P,T){T(P)},Qi}var Zi,Fo;function Mr(){if(Fo)return Zi;Fo=1;var e=Object.keys||function(l){var d=[];for(var p in l)d.push(p);return d};Zi=o;var t=pf(),r=lf();ke(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",a)))}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 a(){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)}}),Zi}var ri={},qs=We.Buffer,Ho=qs.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 ol(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 al(e){var t=ol(e);if(typeof t!="string"&&(qs.isEncoding===Ho||!Ho(e)))throw new Error("Unknown encoding: "+e);return t||e}ri.StringDecoder=xn;function xn(e){this.encoding=al(e);var t;switch(this.encoding){case"utf16le":this.text=dl,this.end=pl,t=4;break;case"utf8":this.fillLast=cl,t=4;break;case"base64":this.text=yl,this.end=bl,t=3;break;default:this.write=wl,this.end=gl;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=qs.allocUnsafe(t)}xn.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||""};xn.prototype.end=ll;xn.prototype.text=hl;xn.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 es(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function fl(e,t,r){var n=t.length-1;if(n<r)return 0;var i=es(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=es(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=es(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function ul(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 cl(e){var t=this.lastTotal-this.lastNeed,r=ul(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 hl(e,t){var r=fl(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 ll(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function dl(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 pl(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 yl(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 bl(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function wl(e){return e.toString(this.encoding)}function gl(e){return e&&e.length?this.write(e):""}var Mo=br.codes.ERR_STREAM_PREMATURE_CLOSE;function ml(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 _l(){}function vl(e){return e.setHeader&&typeof e.abort=="function"}function df(e,t,r){if(typeof t=="function")return df(e,null,t);t||(t={}),r=ml(r||_l);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,s=function(){e.writable||a()},o=e._writableState&&e._writableState.finished,a=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(I){r.call(e,I)},p=function(){var I;if(n&&!c)return(!e._readableState||!e._readableState.ended)&&(I=new Mo),r.call(e,I);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(I=new Mo),r.call(e,I)},_=function(){e.req.on("finish",a)};return vl(e)?(e.on("complete",a),e.on("abort",p),e.req?_():e.on("request",_)):i&&!e._writableState&&(e.on("end",s),e.on("close",s)),e.on("end",l),e.on("finish",a),t.error!==!1&&e.on("error",d),e.on("close",p),function(){e.removeListener("complete",a),e.removeListener("abort",p),e.removeListener("request",_),e.req&&e.req.removeListener("finish",a),e.removeListener("end",s),e.removeListener("close",s),e.removeListener("finish",a),e.removeListener("end",l),e.removeListener("error",d),e.removeListener("close",p)}}var Ks=df,ts,Do;function El(){if(Do)return ts;Do=1;var e;function t(v,m,S){return m=r(m),m in v?Object.defineProperty(v,m,{value:S,enumerable:!0,configurable:!0,writable:!0}):v[m]=S,v}function r(v){var m=n(v,"string");return typeof m=="symbol"?m:String(m)}function n(v,m){if(typeof v!="object"||v===null)return v;var S=v[Symbol.toPrimitive];if(S!==void 0){var x=S.call(v,m||"default");if(typeof x!="object")return x;throw new TypeError("@@toPrimitive must return a primitive value.")}return(m==="string"?String:Number)(v)}var i=Ks,s=Symbol("lastResolve"),o=Symbol("lastReject"),a=Symbol("error"),c=Symbol("ended"),l=Symbol("lastPromise"),d=Symbol("handlePromise"),p=Symbol("stream");function _(v,m){return{value:v,done:m}}function y(v){var m=v[s];if(m!==null){var S=v[p].read();S!==null&&(v[l]=null,v[s]=null,v[o]=null,m(_(S,!1)))}}function I(v){process.nextTick(y,v)}function B(v,m){return function(S,x){v.then(function(){if(m[c]){S(_(void 0,!0));return}m[d](S,x)},x)}}var A=Object.getPrototypeOf(function(){}),k=Object.setPrototypeOf((e={get stream(){return this[p]},next:function(){var m=this,S=this[a];if(S!==null)return Promise.reject(S);if(this[c])return Promise.resolve(_(void 0,!0));if(this[p].destroyed)return new Promise(function(R,z){process.nextTick(function(){m[a]?z(m[a]):R(_(void 0,!0))})});var x=this[l],M;if(x)M=new Promise(B(x,this));else{var $=this[p].read();if($!==null)return Promise.resolve(_($,!1));M=new Promise(this[d])}return this[l]=M,M}},t(e,Symbol.asyncIterator,function(){return this}),t(e,"return",function(){var m=this;return new Promise(function(S,x){m[p].destroy(null,function(M){if(M){x(M);return}S(_(void 0,!0))})})}),e),A),U=function(m){var S,x=Object.create(k,(S={},t(S,p,{value:m,writable:!0}),t(S,s,{value:null,writable:!0}),t(S,o,{value:null,writable:!0}),t(S,a,{value:null,writable:!0}),t(S,c,{value:m._readableState.endEmitted,writable:!0}),t(S,d,{value:function($,R){var z=x[p].read();z?(x[l]=null,x[s]=null,x[o]=null,$(_(z,!1))):(x[s]=$,x[o]=R)},writable:!0}),S));return x[l]=null,i(m,function(M){if(M&&M.code!=="ERR_STREAM_PREMATURE_CLOSE"){var $=x[o];$!==null&&(x[l]=null,x[s]=null,x[o]=null,$(M)),x[a]=M;return}var R=x[s];R!==null&&(x[l]=null,x[s]=null,x[o]=null,R(_(void 0,!0))),x[c]=!0}),m.on("readable",I.bind(null,x)),x};return ts=U,ts}var rs,$o;function xl(){return $o||($o=1,rs=function(){throw new Error("Readable.from is not available in the browser")}),rs}var ns,jo;function pf(){if(jo)return ns;jo=1,ns=R;var e;R.ReadableState=$,af.EventEmitter;var t=function(g,N){return g.listeners(N).length},r=ff,n=Ot.Buffer,i=(typeof Vt<"u"?Vt:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function s(w){return n.from(w)}function o(w){return n.isBuffer(w)||w instanceof i}var a=zs,c;a&&a.debuglog?c=a.debuglog("stream"):c=function(){};var l=qh(),d=uf,p=hf,_=p.getHighWaterMark,y=br.codes,I=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,v,m;ke(R,r);var S=d.errorOrDestroy,x=["error","close","destroy","pause","resume"];function M(w,g,N){if(typeof w.prependListener=="function")return w.prependListener(g,N);!w._events||!w._events[g]?w.on(g,N):Array.isArray(w._events[g])?w._events[g].unshift(N):w._events[g]=[N,w._events[g]]}function $(w,g,N){e=e||Mr(),w=w||{},typeof N!="boolean"&&(N=g instanceof e),this.objectMode=!!w.objectMode,N&&(this.objectMode=this.objectMode||!!w.readableObjectMode),this.highWaterMark=_(this,w,"readableHighWaterMark",N),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=w.emitClose!==!1,this.autoDestroy=!!w.autoDestroy,this.destroyed=!1,this.defaultEncoding=w.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,w.encoding&&(U||(U=ri.StringDecoder),this.decoder=new U(w.encoding),this.encoding=w.encoding)}function R(w){if(e=e||Mr(),!(this instanceof R))return new R(w);var g=this instanceof e;this._readableState=new $(w,this,g),this.readable=!0,w&&(typeof w.read=="function"&&(this._read=w.read),typeof w.destroy=="function"&&(this._destroy=w.destroy)),r.call(this)}Object.defineProperty(R.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(g){this._readableState&&(this._readableState.destroyed=g)}}),R.prototype.destroy=d.destroy,R.prototype._undestroy=d.undestroy,R.prototype._destroy=function(w,g){g(w)},R.prototype.push=function(w,g){var N=this._readableState,D;return N.objectMode?D=!0:typeof w=="string"&&(g=g||N.defaultEncoding,g!==N.encoding&&(w=n.from(w,g),g=""),D=!0),z(this,w,g,!1,D)},R.prototype.unshift=function(w){return z(this,w,null,!0,!1)};function z(w,g,N,D,we){c("readableAddChunk",g);var Y=w._readableState;if(g===null)Y.reading=!1,fe(w,Y);else{var te;if(we||(te=C(Y,g)),te)S(w,te);else if(Y.objectMode||g&&g.length>0)if(typeof g!="string"&&!Y.objectMode&&Object.getPrototypeOf(g)!==n.prototype&&(g=s(g)),D)Y.endEmitted?S(w,new k):Z(w,Y,g,!0);else if(Y.ended)S(w,new B);else{if(Y.destroyed)return!1;Y.reading=!1,Y.decoder&&!N?(g=Y.decoder.write(g),Y.objectMode||g.length!==0?Z(w,Y,g,!1):Ve(w,Y)):Z(w,Y,g,!1)}else D||(Y.reading=!1,Ve(w,Y))}return!Y.ended&&(Y.length<Y.highWaterMark||Y.length===0)}function Z(w,g,N,D){g.flowing&&g.length===0&&!g.sync?(g.awaitDrain=0,w.emit("data",N)):(g.length+=g.objectMode?1:N.length,D?g.buffer.unshift(N):g.buffer.push(N),g.needReadable&&ue(w)),Ve(w,g)}function C(w,g){var N;return!o(g)&&typeof g!="string"&&g!==void 0&&!w.objectMode&&(N=new I("chunk",["string","Buffer","Uint8Array"],g)),N}R.prototype.isPaused=function(){return this._readableState.flowing===!1},R.prototype.setEncoding=function(w){U||(U=ri.StringDecoder);var g=new U(w);this._readableState.decoder=g,this._readableState.encoding=this._readableState.decoder.encoding;for(var N=this._readableState.buffer.head,D="";N!==null;)D+=g.write(N.data),N=N.next;return this._readableState.buffer.clear(),D!==""&&this._readableState.buffer.push(D),this._readableState.length=D.length,this};var H=1073741824;function W(w){return w>=H?w=H:(w--,w|=w>>>1,w|=w>>>2,w|=w>>>4,w|=w>>>8,w|=w>>>16,w++),w}function q(w,g){return w<=0||g.length===0&&g.ended?0:g.objectMode?1:w!==w?g.flowing&&g.length?g.buffer.head.data.length:g.length:(w>g.highWaterMark&&(g.highWaterMark=W(w)),w<=g.length?w:g.ended?g.length:(g.needReadable=!0,0))}R.prototype.read=function(w){c("read",w),w=parseInt(w,10);var g=this._readableState,N=w;if(w!==0&&(g.emittedReadable=!1),w===0&&g.needReadable&&((g.highWaterMark!==0?g.length>=g.highWaterMark:g.length>0)||g.ended))return c("read: emitReadable",g.length,g.ended),g.length===0&&g.ended?F(this):ue(this),null;if(w=q(w,g),w===0&&g.ended)return g.length===0&&F(this),null;var D=g.needReadable;c("need readable",D),(g.length===0||g.length-w<g.highWaterMark)&&(D=!0,c("length less than watermark",D)),g.ended||g.reading?(D=!1,c("reading or ended",D)):D&&(c("do read"),g.reading=!0,g.sync=!0,g.length===0&&(g.needReadable=!0),this._read(g.highWaterMark),g.sync=!1,g.reading||(w=q(N,g)));var we;return w>0?we=T(w,g):we=null,we===null?(g.needReadable=g.length<=g.highWaterMark,w=0):(g.length-=w,g.awaitDrain=0),g.length===0&&(g.ended||(g.needReadable=!0),N!==w&&g.ended&&F(this)),we!==null&&this.emit("data",we),we};function fe(w,g){if(c("onEofChunk"),!g.ended){if(g.decoder){var N=g.decoder.end();N&&N.length&&(g.buffer.push(N),g.length+=g.objectMode?1:N.length)}g.ended=!0,g.sync?ue(w):(g.needReadable=!1,g.emittedReadable||(g.emittedReadable=!0,tt(w)))}}function ue(w){var g=w._readableState;c("emitReadable",g.needReadable,g.emittedReadable),g.needReadable=!1,g.emittedReadable||(c("emitReadable",g.flowing),g.emittedReadable=!0,process.nextTick(tt,w))}function tt(w){var g=w._readableState;c("emitReadable_",g.destroyed,g.length,g.ended),!g.destroyed&&(g.length||g.ended)&&(w.emit("readable"),g.emittedReadable=!1),g.needReadable=!g.flowing&&!g.ended&&g.length<=g.highWaterMark,P(w)}function Ve(w,g){g.readingMore||(g.readingMore=!0,process.nextTick(st,w,g))}function st(w,g){for(;!g.reading&&!g.ended&&(g.length<g.highWaterMark||g.flowing&&g.length===0);){var N=g.length;if(c("maybeReadMore read 0"),w.read(0),N===g.length)break}g.readingMore=!1}R.prototype._read=function(w){S(this,new A("_read()"))},R.prototype.pipe=function(w,g){var N=this,D=this._readableState;switch(D.pipesCount){case 0:D.pipes=w;break;case 1:D.pipes=[D.pipes,w];break;default:D.pipes.push(w);break}D.pipesCount+=1,c("pipe count=%d opts=%j",D.pipesCount,g);var we=(!g||g.end!==!1)&&w!==process.stdout&&w!==process.stderr,Y=we?Rt:Qt;D.endEmitted?process.nextTick(Y):N.once("end",Y),w.on("unpipe",te);function te(h,f){c("onunpipe"),h===N&&f&&f.hasUnpiped===!1&&(f.hasUnpiped=!0,mr())}function Rt(){c("onend"),w.end()}var gr=be(N);w.on("drain",gr);var Wr=!1;function mr(){c("cleanup"),w.removeListener("close",Vr),w.removeListener("finish",Xe),w.removeListener("drain",gr),w.removeListener("error",Jt),w.removeListener("unpipe",te),N.removeListener("end",Rt),N.removeListener("end",Qt),N.removeListener("data",qe),Wr=!0,D.awaitDrain&&(!w._writableState||w._writableState.needDrain)&&gr()}N.on("data",qe);function qe(h){c("ondata");var f=w.write(h);c("dest.write",f),f===!1&&((D.pipesCount===1&&D.pipes===w||D.pipesCount>1&&K(D.pipes,w)!==-1)&&!Wr&&(c("false write response, pause",D.awaitDrain),D.awaitDrain++),N.pause())}function Jt(h){c("onerror",h),Qt(),w.removeListener("error",Jt),t(w,"error")===0&&S(w,h)}M(w,"error",Jt);function Vr(){w.removeListener("finish",Xe),Qt()}w.once("close",Vr);function Xe(){c("onfinish"),w.removeListener("close",Vr),Qt()}w.once("finish",Xe);function Qt(){c("unpipe"),N.unpipe(w)}return w.emit("pipe",N),D.flowing||(c("pipe resume"),N.resume()),w};function be(w){return function(){var N=w._readableState;c("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,N.awaitDrain===0&&t(w,"data")&&(N.flowing=!0,P(w))}}R.prototype.unpipe=function(w){var g=this._readableState,N={hasUnpiped:!1};if(g.pipesCount===0)return this;if(g.pipesCount===1)return w&&w!==g.pipes?this:(w||(w=g.pipes),g.pipes=null,g.pipesCount=0,g.flowing=!1,w&&w.emit("unpipe",this,N),this);if(!w){var D=g.pipes,we=g.pipesCount;g.pipes=null,g.pipesCount=0,g.flowing=!1;for(var Y=0;Y<we;Y++)D[Y].emit("unpipe",this,{hasUnpiped:!1});return this}var te=K(g.pipes,w);return te===-1?this:(g.pipes.splice(te,1),g.pipesCount-=1,g.pipesCount===1&&(g.pipes=g.pipes[0]),w.emit("unpipe",this,N),this)},R.prototype.on=function(w,g){var N=r.prototype.on.call(this,w,g),D=this._readableState;return w==="data"?(D.readableListening=this.listenerCount("readable")>0,D.flowing!==!1&&this.resume()):w==="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?ue(this):D.reading||process.nextTick(ze,this)),N},R.prototype.addListener=R.prototype.on,R.prototype.removeListener=function(w,g){var N=r.prototype.removeListener.call(this,w,g);return w==="readable"&&process.nextTick(xe,this),N},R.prototype.removeAllListeners=function(w){var g=r.prototype.removeAllListeners.apply(this,arguments);return(w==="readable"||w===void 0)&&process.nextTick(xe,this),g};function xe(w){var g=w._readableState;g.readableListening=w.listenerCount("readable")>0,g.resumeScheduled&&!g.paused?g.flowing=!0:w.listenerCount("data")>0&&w.resume()}function ze(w){c("readable nexttick read 0"),w.read(0)}R.prototype.resume=function(){var w=this._readableState;return w.flowing||(c("resume"),w.flowing=!w.readableListening,kt(this,w)),w.paused=!1,this};function kt(w,g){g.resumeScheduled||(g.resumeScheduled=!0,process.nextTick(bt,w,g))}function bt(w,g){c("resume",g.reading),g.reading||w.read(0),g.resumeScheduled=!1,w.emit("resume"),P(w),g.flowing&&!g.reading&&w.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 P(w){var g=w._readableState;for(c("flow",g.flowing);g.flowing&&w.read()!==null;);}R.prototype.wrap=function(w){var g=this,N=this._readableState,D=!1;w.on("end",function(){if(c("wrapped end"),N.decoder&&!N.ended){var te=N.decoder.end();te&&te.length&&g.push(te)}g.push(null)}),w.on("data",function(te){if(c("wrapped data"),N.decoder&&(te=N.decoder.write(te)),!(N.objectMode&&te==null)&&!(!N.objectMode&&(!te||!te.length))){var Rt=g.push(te);Rt||(D=!0,w.pause())}});for(var we in w)this[we]===void 0&&typeof w[we]=="function"&&(this[we]=function(Rt){return function(){return w[Rt].apply(w,arguments)}}(we));for(var Y=0;Y<x.length;Y++)w.on(x[Y],this.emit.bind(this,x[Y]));return this._read=function(te){c("wrapped _read",te),D&&(D=!1,w.resume())},this},typeof Symbol=="function"&&(R.prototype[Symbol.asyncIterator]=function(){return v===void 0&&(v=El()),v(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(g){this._readableState&&(this._readableState.flowing=g)}}),R._fromList=T,Object.defineProperty(R.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function T(w,g){if(g.length===0)return null;var N;return g.objectMode?N=g.buffer.shift():!w||w>=g.length?(g.decoder?N=g.buffer.join(""):g.buffer.length===1?N=g.buffer.first():N=g.buffer.concat(g.length),g.buffer.clear()):N=g.buffer.consume(w,g.decoder),N}function F(w){var g=w._readableState;c("endReadable",g.endEmitted),g.endEmitted||(g.ended=!0,process.nextTick(G,g,w))}function G(w,g){if(c("endReadableNT",w.endEmitted,w.length),!w.endEmitted&&w.length===0&&(w.endEmitted=!0,g.readable=!1,g.emit("end"),w.autoDestroy)){var N=g._writableState;(!N||N.autoDestroy&&N.finished)&&g.destroy()}}typeof Symbol=="function"&&(R.from=function(w,g){return m===void 0&&(m=xl()),m(R,w,g)});function K(w,g){for(var N=0,D=w.length;N<D;N++)if(w[N]===g)return N;return-1}return ns}var yf=It,_i=br.codes,Sl=_i.ERR_METHOD_NOT_IMPLEMENTED,Bl=_i.ERR_MULTIPLE_CALLBACK,Tl=_i.ERR_TRANSFORM_ALREADY_TRANSFORMING,Pl=_i.ERR_TRANSFORM_WITH_LENGTH_0,vi=Mr();ke(It,vi);function Al(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new Bl);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 It(e){if(!(this instanceof It))return new It(e);vi.call(this,e),this._transformState={afterTransform:Al.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",Il)}function Il(){var e=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(t,r){Go(e,t,r)}):Go(this,null,null)}It.prototype.push=function(e,t){return this._transformState.needTransform=!1,vi.prototype.push.call(this,e,t)};It.prototype._transform=function(e,t,r){r(new Sl("_transform()"))};It.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)}};It.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};It.prototype._destroy=function(e,t){vi.prototype._destroy.call(this,e,function(r){t(r)})};function Go(e,t,r){if(t)return e.emit("error",t);if(r!=null&&e.push(r),e._writableState.length)throw new Pl;if(e._transformState.transforming)throw new Tl;return e.push(null)}var Ol=wn,bf=yf;ke(wn,bf);function wn(e){if(!(this instanceof wn))return new wn(e);bf.call(this,e)}wn.prototype._transform=function(e,t,r){r(null,e)};var is;function kl(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var wf=br.codes,Rl=wf.ERR_MISSING_ARGS,Ul=wf.ERR_STREAM_DESTROYED;function Wo(e){if(e)throw e}function Cl(e){return e.setHeader&&typeof e.abort=="function"}function Ll(e,t,r,n){n=kl(n);var i=!1;e.on("close",function(){i=!0}),is===void 0&&(is=Ks),is(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,Cl(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new Ul("pipe"))}}}function Vo(e){e()}function Nl(e,t){return e.pipe(t)}function Fl(e){return!e.length||typeof e[e.length-1]!="function"?Wo:e.pop()}function Hl(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=Fl(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Rl("streams");var i,s=t.map(function(o,a){var c=a<t.length-1,l=a>0;return Ll(o,c,l,function(d){i||(i=d),d&&s.forEach(Vo),!c&&(s.forEach(Vo),n(i))})});return t.reduce(Nl)}var Ml=Hl;(function(e,t){t=e.exports=pf(),t.Stream=t,t.Readable=t,t.Writable=lf(),t.Duplex=Mr(),t.Transform=yf,t.PassThrough=Ol,t.finished=Ks,t.pipeline=Ml})(vs,vs.exports);var gf=vs.exports,ni=We.Buffer,mf=gf.Transform,Dl=ke;function $l(e,t){if(!ni.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Kt(e){mf.call(this),this._block=ni.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}Dl(Kt,mf);Kt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Kt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Kt.prototype.update=function(e,t){if($l(e,"Data"),this._finalized)throw new Error("Digest already called");ni.isBuffer(e)||(e=ni.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};Kt.prototype._update=function(){throw new Error("_update is not implemented")};Kt.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};Kt.prototype._digest=function(){throw new Error("_digest is not implemented")};var jl=Kt,Gl=ke,_f=jl,Wl=We.Buffer,Vl=new Array(16);function Ei(){_f.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}Gl(Ei,_f);Ei.prototype._update=function(){for(var e=Vl,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=Re(r,n,i,s,e[0],3614090360,7),s=Re(s,r,n,i,e[1],3905402710,12),i=Re(i,s,r,n,e[2],606105819,17),n=Re(n,i,s,r,e[3],3250441966,22),r=Re(r,n,i,s,e[4],4118548399,7),s=Re(s,r,n,i,e[5],1200080426,12),i=Re(i,s,r,n,e[6],2821735955,17),n=Re(n,i,s,r,e[7],4249261313,22),r=Re(r,n,i,s,e[8],1770035416,7),s=Re(s,r,n,i,e[9],2336552879,12),i=Re(i,s,r,n,e[10],4294925233,17),n=Re(n,i,s,r,e[11],2304563134,22),r=Re(r,n,i,s,e[12],1804603682,7),s=Re(s,r,n,i,e[13],4254626195,12),i=Re(i,s,r,n,e[14],2792965006,17),n=Re(n,i,s,r,e[15],1236535329,22),r=Ue(r,n,i,s,e[1],4129170786,5),s=Ue(s,r,n,i,e[6],3225465664,9),i=Ue(i,s,r,n,e[11],643717713,14),n=Ue(n,i,s,r,e[0],3921069994,20),r=Ue(r,n,i,s,e[5],3593408605,5),s=Ue(s,r,n,i,e[10],38016083,9),i=Ue(i,s,r,n,e[15],3634488961,14),n=Ue(n,i,s,r,e[4],3889429448,20),r=Ue(r,n,i,s,e[9],568446438,5),s=Ue(s,r,n,i,e[14],3275163606,9),i=Ue(i,s,r,n,e[3],4107603335,14),n=Ue(n,i,s,r,e[8],1163531501,20),r=Ue(r,n,i,s,e[13],2850285829,5),s=Ue(s,r,n,i,e[2],4243563512,9),i=Ue(i,s,r,n,e[7],1735328473,14),n=Ue(n,i,s,r,e[12],2368359562,20),r=Ce(r,n,i,s,e[5],4294588738,4),s=Ce(s,r,n,i,e[8],2272392833,11),i=Ce(i,s,r,n,e[11],1839030562,16),n=Ce(n,i,s,r,e[14],4259657740,23),r=Ce(r,n,i,s,e[1],2763975236,4),s=Ce(s,r,n,i,e[4],1272893353,11),i=Ce(i,s,r,n,e[7],4139469664,16),n=Ce(n,i,s,r,e[10],3200236656,23),r=Ce(r,n,i,s,e[13],681279174,4),s=Ce(s,r,n,i,e[0],3936430074,11),i=Ce(i,s,r,n,e[3],3572445317,16),n=Ce(n,i,s,r,e[6],76029189,23),r=Ce(r,n,i,s,e[9],3654602809,4),s=Ce(s,r,n,i,e[12],3873151461,11),i=Ce(i,s,r,n,e[15],530742520,16),n=Ce(n,i,s,r,e[2],3299628645,23),r=Le(r,n,i,s,e[0],4096336452,6),s=Le(s,r,n,i,e[7],1126891415,10),i=Le(i,s,r,n,e[14],2878612391,15),n=Le(n,i,s,r,e[5],4237533241,21),r=Le(r,n,i,s,e[12],1700485571,6),s=Le(s,r,n,i,e[3],2399980690,10),i=Le(i,s,r,n,e[10],4293915773,15),n=Le(n,i,s,r,e[1],2240044497,21),r=Le(r,n,i,s,e[8],1873313359,6),s=Le(s,r,n,i,e[15],4264355552,10),i=Le(i,s,r,n,e[6],2734768916,15),n=Le(n,i,s,r,e[13],1309151649,21),r=Le(r,n,i,s,e[4],4149444226,6),s=Le(s,r,n,i,e[11],3174756917,10),i=Le(i,s,r,n,e[2],718787259,15),n=Le(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};Ei.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=Wl.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 xi(e,t){return e<<t|e>>>32-t}function Re(e,t,r,n,i,s,o){return xi(e+(t&r|~t&n)+i+s|0,o)+t|0}function Ue(e,t,r,n,i,s,o){return xi(e+(t&n|r&~n)+i+s|0,o)+t|0}function Ce(e,t,r,n,i,s,o){return xi(e+(t^r^n)+i+s|0,o)+t|0}function Le(e,t,r,n,i,s,o){return xi(e+(r^(t|~n))+i+s|0,o)+t|0}var zl=Ei,ii=We.Buffer,vf=gf.Transform,ql=ke;function Kl(e,t){if(!ii.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Yt(e){vf.call(this),this._block=ii.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}ql(Yt,vf);Yt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Yt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Yt.prototype.update=function(e,t){if(Kl(e,"Data"),this._finalized)throw new Error("Digest already called");ii.isBuffer(e)||(e=ii.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};Yt.prototype._update=function(){throw new Error("_update is not implemented")};Yt.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};Yt.prototype._digest=function(){throw new Error("_digest is not implemented")};var Yl=Yt,ss=Ot.Buffer,Xl=ke,Ef=Yl,Jl=new Array(16),Jr=[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],Qr=[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],Zr=[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],en=[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],tn=[0,1518500249,1859775393,2400959708,2840853838],rn=[1352829926,1548603684,1836072691,2053994217,0];function Si(){Ef.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}Xl(Si,Ef);Si.prototype._update=function(){for(var e=Jl,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,a=this._a|0,c=this._b|0,l=this._c|0,d=this._d|0,p=this._e|0,_=0;_<80;_+=1){var y,I;_<16?(y=zo(r,n,i,s,o,e[Jr[_]],tn[0],Zr[_]),I=Xo(a,c,l,d,p,e[Qr[_]],rn[0],en[_])):_<32?(y=qo(r,n,i,s,o,e[Jr[_]],tn[1],Zr[_]),I=Yo(a,c,l,d,p,e[Qr[_]],rn[1],en[_])):_<48?(y=Ko(r,n,i,s,o,e[Jr[_]],tn[2],Zr[_]),I=Ko(a,c,l,d,p,e[Qr[_]],rn[2],en[_])):_<64?(y=Yo(r,n,i,s,o,e[Jr[_]],tn[3],Zr[_]),I=qo(a,c,l,d,p,e[Qr[_]],rn[3],en[_])):(y=Xo(r,n,i,s,o,e[Jr[_]],tn[4],Zr[_]),I=zo(a,c,l,d,p,e[Qr[_]],rn[4],en[_])),r=o,o=s,s=ur(i,10),i=n,n=y,a=p,p=d,d=ur(l,10),l=c,c=I}var B=this._b+i+d|0;this._b=this._c+s+p|0,this._c=this._d+o+a|0,this._d=this._e+r+c|0,this._e=this._a+n+l|0,this._a=B};Si.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=ss.alloc?ss.alloc(20):new ss(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 ur(e,t){return e<<t|e>>>32-t}function zo(e,t,r,n,i,s,o,a){return ur(e+(t^r^n)+s+o|0,a)+i|0}function qo(e,t,r,n,i,s,o,a){return ur(e+(t&r|~t&n)+s+o|0,a)+i|0}function Ko(e,t,r,n,i,s,o,a){return ur(e+((t|~r)^n)+s+o|0,a)+i|0}function Yo(e,t,r,n,i,s,o,a){return ur(e+(t&n|r&~n)+s+o|0,a)+i|0}function Xo(e,t,r,n,i,s,o,a){return ur(e+(t^(r|~n))+s+o|0,a)+i|0}var Ql=Si,xf={exports:{}},Sf=We.Buffer;function Bi(e,t){this._block=Sf.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}Bi.prototype.update=function(e,t){typeof e=="string"&&(t=t||"utf8",e=Sf.from(e,t));for(var r=this._block,n=this._blockSize,i=e.length,s=this._len,o=0;o<i;){for(var a=s%n,c=Math.min(i-o,n-a),l=0;l<c;l++)r[a+l]=e[o+l];s+=c,o+=c,s%n===0&&this._update(r)}return this._len+=i,this};Bi.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};Bi.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var $r=Bi,Zl=ke,Bf=$r,e0=We.Buffer,t0=[1518500249,1859775393,-1894007588,-899497514],r0=new Array(80);function Sn(){this.init(),this._w=r0,Bf.call(this,64,56)}Zl(Sn,Bf);Sn.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function n0(e){return e<<5|e>>>27}function i0(e){return e<<30|e>>>2}function s0(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}Sn.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,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=t[a-3]^t[a-8]^t[a-14]^t[a-16];for(var c=0;c<80;++c){var l=~~(c/20),d=n0(r)+s0(l,n,i,s)+o+t[c]+t0[l]|0;o=s,s=i,i=i0(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};Sn.prototype._hash=function(){var e=e0.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 o0=Sn,a0=ke,Tf=$r,f0=We.Buffer,u0=[1518500249,1859775393,-1894007588,-899497514],c0=new Array(80);function Bn(){this.init(),this._w=c0,Tf.call(this,64,56)}a0(Bn,Tf);Bn.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function h0(e){return e<<1|e>>>31}function l0(e){return e<<5|e>>>27}function d0(e){return e<<30|e>>>2}function p0(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}Bn.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,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=h0(t[a-3]^t[a-8]^t[a-14]^t[a-16]);for(var c=0;c<80;++c){var l=~~(c/20),d=l0(r)+p0(l,n,i,s)+o+t[c]+u0[l]|0;o=s,s=i,i=d0(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};Bn.prototype._hash=function(){var e=f0.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 y0=Bn,b0=ke,Pf=$r,w0=We.Buffer,g0=[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],m0=new Array(64);function Tn(){this.init(),this._w=m0,Pf.call(this,64,56)}b0(Tn,Pf);Tn.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 _0(e,t,r){return r^e&(t^r)}function v0(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 x0(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function S0(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function B0(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}Tn.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,a=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]=B0(t[d-2])+t[d-7]+S0(t[d-15])+t[d-16]|0;for(var p=0;p<64;++p){var _=l+x0(o)+_0(o,a,c)+g0[p]+t[p]|0,y=E0(r)+v0(r,n,i)|0;l=c,c=a,a=o,o=s+_|0,s=i,i=n,n=r,r=_+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=a+this._f|0,this._g=c+this._g|0,this._h=l+this._h|0};Tn.prototype._hash=function(){var e=w0.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 Af=Tn,T0=ke,P0=Af,A0=$r,I0=We.Buffer,O0=new Array(64);function Ti(){this.init(),this._w=O0,A0.call(this,64,56)}T0(Ti,P0);Ti.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};Ti.prototype._hash=function(){var e=I0.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 k0=Ti,R0=ke,If=$r,U0=We.Buffer,Jo=[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],C0=new Array(160);function Pn(){this.init(),this._w=C0,If.call(this,128,112)}R0(Pn,If);Pn.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 Qo(e,t,r){return r^e&(t^r)}function Zo(e,t,r){return e&t|r&(e|t)}function ea(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function ta(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function L0(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function N0(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function F0(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function H0(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function Pe(e,t){return e>>>0<t>>>0?1:0}Pn.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,a=this._fh|0,c=this._gh|0,l=this._hh|0,d=this._al|0,p=this._bl|0,_=this._cl|0,y=this._dl|0,I=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 v=t[U-30],m=t[U-15*2+1],S=L0(v,m),x=N0(m,v);v=t[U-2*2],m=t[U-2*2+1];var M=F0(v,m),$=H0(m,v),R=t[U-7*2],z=t[U-7*2+1],Z=t[U-16*2],C=t[U-16*2+1],H=x+z|0,W=S+R+Pe(H,x)|0;H=H+$|0,W=W+M+Pe(H,$)|0,H=H+C|0,W=W+Z+Pe(H,C)|0,t[U]=W,t[U+1]=H}for(var q=0;q<160;q+=2){W=t[q],H=t[q+1];var fe=Zo(r,n,i),ue=Zo(d,p,_),tt=ea(r,d),Ve=ea(d,r),st=ta(o,I),be=ta(I,o),xe=Jo[q],ze=Jo[q+1],kt=Qo(o,a,c),bt=Qo(I,B,A),P=k+be|0,T=l+st+Pe(P,k)|0;P=P+bt|0,T=T+kt+Pe(P,bt)|0,P=P+ze|0,T=T+xe+Pe(P,ze)|0,P=P+H|0,T=T+W+Pe(P,H)|0;var F=Ve+ue|0,G=tt+fe+Pe(F,Ve)|0;l=c,k=A,c=a,A=B,a=o,B=I,I=y+P|0,o=s+T+Pe(I,y)|0,s=i,y=_,i=n,_=p,n=r,p=d,d=P+F|0,r=T+G+Pe(d,P)|0}this._al=this._al+d|0,this._bl=this._bl+p|0,this._cl=this._cl+_|0,this._dl=this._dl+y|0,this._el=this._el+I|0,this._fl=this._fl+B|0,this._gl=this._gl+A|0,this._hl=this._hl+k|0,this._ah=this._ah+r+Pe(this._al,d)|0,this._bh=this._bh+n+Pe(this._bl,p)|0,this._ch=this._ch+i+Pe(this._cl,_)|0,this._dh=this._dh+s+Pe(this._dl,y)|0,this._eh=this._eh+o+Pe(this._el,I)|0,this._fh=this._fh+a+Pe(this._fl,B)|0,this._gh=this._gh+c+Pe(this._gl,A)|0,this._hh=this._hh+l+Pe(this._hl,k)|0};Pn.prototype._hash=function(){var e=U0.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 Of=Pn,M0=ke,D0=Of,$0=$r,j0=We.Buffer,G0=new Array(160);function Pi(){this.init(),this._w=G0,$0.call(this,128,112)}M0(Pi,D0);Pi.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};Pi.prototype._hash=function(){var e=j0.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 W0=Pi,wr=xf.exports=function(t){t=t.toLowerCase();var r=wr[t];if(!r)throw new Error(t+" is not supported (we accept pull requests)");return new r};wr.sha=o0;wr.sha1=y0;wr.sha224=k0;wr.sha256=Af;wr.sha384=W0;wr.sha512=Of;var V0=xf.exports,kf=We.Buffer,Rf=zs.Transform,z0=ri.StringDecoder,q0=ke;function it(e){Rf.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}q0(it,Rf);it.prototype.update=function(e,t,r){typeof e=="string"&&(e=kf.from(e,t));var n=this._update(e);return this.hashMode?this:(r&&(n=this._toString(n,r)),n)};it.prototype.setAutoPadding=function(){};it.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")};it.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")};it.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")};it.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)}};it.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(r){t=r}e(t)};it.prototype._finalOrDigest=function(e){var t=this.__final()||kf.alloc(0);return e&&(t=this._toString(t,e,!0)),t};it.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new z0(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 K0=it,Y0=ke,X0=zl,J0=Ql,Q0=V0,Uf=K0;function Ai(e){Uf.call(this,"digest"),this._hash=e}Y0(Ai,Uf);Ai.prototype._update=function(e){this._hash.update(e)};Ai.prototype._final=function(){return this._hash.digest()};var Z0=function(t){return t=t.toLowerCase(),t==="md5"?new X0:t==="rmd160"||t==="ripemd160"?new J0:new Ai(Q0(t))},Mn=We.Buffer;function ed(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,a=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=Mn.from(y)),!Mn.isBuffer(y))throw new TypeError("Expected Buffer");if(y.length===0)return"";for(var I=0,B=0,A=0,k=y.length;A!==k&&y[A]===0;)A++,I++;for(var U=(k-A)*l+1>>>0,v=new Uint8Array(U);A!==k;){for(var m=y[A],S=0,x=U-1;(m!==0||S<B)&&x!==-1;x--,S++)m+=256*v[x]>>>0,v[x]=m%o>>>0,m=m/o>>>0;if(m!==0)throw new Error("Non-zero carry");B=S,A++}for(var M=U-B;M!==U&&v[M]===0;)M++;for(var $=a.repeat(I);M<U;++M)$+=e.charAt(v[M]);return $}function p(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return Mn.alloc(0);for(var I=0,B=0,A=0;y[I]===a;)B++,I++;for(var k=(y.length-I)*c+1>>>0,U=new Uint8Array(k);I<y.length;){var v=t[y.charCodeAt(I)];if(v===255)return;for(var m=0,S=k-1;(v!==0||m<A)&&S!==-1;S--,m++)v+=o*U[S]>>>0,U[S]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");A=m,I++}for(var x=k-A;x!==k&&U[x]===0;)x++;var M=Mn.allocUnsafe(B+(k-x));M.fill(0,0,B);for(var $=B;x!==k;)M[$++]=U[x++];return M}function _(y){var I=p(y);if(I)return I;throw new Error("Non-base"+o+" character")}return{encode:d,decodeUnsafe:p,decode:_}}var td=ed,rd=td,nd="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",id=rd(nd),os=id,sd=We.Buffer,od=function(e){function t(s){var o=e(s);return os.encode(sd.concat([s,o],s.length+4))}function r(s){var o=s.slice(0,-4),a=s.slice(-4),c=e(o);if(!(a[0]^c[0]|a[1]^c[1]|a[2]^c[2]|a[3]^c[3]))return o}function n(s){var o=os.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=os.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},ra=Z0,ad=od;function fd(e){var t=ra("sha256").update(e).digest();return ra("sha256").update(t).digest()}var ud=ad(fd),xs=ud;function Cf(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 Ss(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 cd(e,t){return Cf(xs.decode(e),t)}function hd(e,t,r){return typeof e=="number"?xs.encode(Ss(e,t,r)):xs.encode(Ss(e.version,e.privateKey,e.compressed))}var ld={decode:cd,decodeRaw:Cf,encode:hd,encodeRaw:Ss},Ii={};Object.defineProperty(Ii,"__esModule",{value:!0});Ii.testEcc=void 0;const V=e=>Buffer.from(e,"hex");function dd(e){he(e.isPoint(V("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),he(!e.isPoint(V("030000000000000000000000000000000000000000000000000000000000000005"))),he(e.isPrivate(V("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),he(e.isPrivate(V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),he(!e.isPrivate(V("0000000000000000000000000000000000000000000000000000000000000000"))),he(!e.isPrivate(V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))),he(!e.isPrivate(V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))),he(Buffer.from(e.privateAdd(V("0000000000000000000000000000000000000000000000000000000000000001"),V("0000000000000000000000000000000000000000000000000000000000000000"))).equals(V("0000000000000000000000000000000000000000000000000000000000000001"))),he(e.privateAdd(V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"),V("0000000000000000000000000000000000000000000000000000000000000003"))===null),he(Buffer.from(e.privateAdd(V("e211078564db65c3ce7704f08262b1f38f1ef412ad15b5ac2d76657a63b2c500"),V("b51fbb69051255d1becbd683de5848242a89c229348dd72896a87ada94ae8665"))).equals(V("9730c2ee69edbb958d42db7460bafa18fef9d955325aec99044c81c8282b0a24"))),he(Buffer.from(e.privateNegate(V("0000000000000000000000000000000000000000000000000000000000000001"))).equals(V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),he(Buffer.from(e.privateNegate(V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"))).equals(V("0000000000000000000000000000000000000000000000000000000000000003"))),he(Buffer.from(e.privateNegate(V("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(V("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792"))),he(Buffer.from(e.pointCompress(V("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!0)).equals(V("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),he(Buffer.from(e.pointCompress(V("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!1)).equals(V("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),he(Buffer.from(e.pointCompress(V("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!0)).equals(V("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),he(Buffer.from(e.pointCompress(V("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!1)).equals(V("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),he(Buffer.from(e.pointFromScalar(V("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(V("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99"))),he(e.xOnlyPointAddTweak(V("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))===null);let t=e.xOnlyPointAddTweak(V("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"),V("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));he(Buffer.from(t.xOnlyPubkey).equals(V("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"))&&t.parity===1),t=e.xOnlyPointAddTweak(V("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"),V("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47")),he(Buffer.from(t.xOnlyPubkey).equals(V("9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"))&&t.parity===0),he(Buffer.from(e.sign(V("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),V("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))).equals(V("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),he(e.verify(V("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),V("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),V("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),e.signSchnorr&&he(Buffer.from(e.signSchnorr(V("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),V("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"),V("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906"))).equals(V("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7"))),e.verifySchnorr&&he(e.verifySchnorr(V("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),V("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"),V("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")))}Ii.testEcc=dd;function he(e){if(!e)throw new Error("ecc library invalid")}Object.defineProperty(Fr,"__esModule",{value:!0});Fr.ECPairFactory=Fr.networks=void 0;const Bs=Hr;Fr.networks=Bs;const je=Ja,pd=Hh,na=ld,yd=Ii,as=je.typeforce.maybe(je.typeforce.compile({compressed:je.maybe(je.Boolean),network:je.maybe(je.Network)})),bd=e=>e.length===32?e:e.slice(1,33);function wd(e){(0,yd.testEcc)(e);function t(a){return e.isPoint(a)}function r(a,c){if(je.typeforce(je.Buffer256bit,a),!e.isPrivate(a))throw new TypeError("Private key not in range [1, n)");return je.typeforce(as,c),new o(a,void 0,c)}function n(a,c){return je.typeforce(e.isPoint,a),je.typeforce(as,c),new o(void 0,a,c)}function i(a,c){const l=na.decode(a),d=l.version;if(je.Array(c)){if(c=c.filter(p=>d===p.wif).pop(),!c)throw new Error("Unknown network version")}else if(c=c||Bs.bitcoin,d!==c.wif)throw new Error("Invalid network version");return r(l.privateKey,{compressed:l.compressed,network:c})}function s(a){je.typeforce(as,a),a===void 0&&(a={});const c=a.rng||pd;let l;do l=c(32),je.typeforce(je.Buffer256bit,l);while(!e.isPrivate(l));return r(l,a)}class o{constructor(c,l,d){_r(this,"__D");_r(this,"__Q");_r(this,"compressed");_r(this,"network");_r(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||Bs.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 na.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 p=Buffer.alloc(32,0);let _=0;for(;d[0]>127;)_++,p.writeUIntLE(_,0,6),d=e.sign(c,this.__D,p);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=bd(this.publicKey),d=e.xOnlyPointAddTweak(l,c);if(!d||d.xOnlyPubkey===null)throw new Error("Cannot tweak public key!");const p=Buffer.from([d.parity===0?2:3]);return n(Buffer.concat([p,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,p=e.privateAdd(d,c);if(!p)throw new Error("Invalid tweaked private key!");return r(Buffer.from(p),{network:this.network,compressed:this.compressed})}}return{isPoint:t,fromPrivateKey:r,fromPublicKey:n,fromWIF:i,makeRandom:s}}Fr.ECPairFactory=wd;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.networks=e.ECPairFactory=e.default=void 0;var t=Fr;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}})})(Xa);const gd=Au(Xa);class gn extends pe.EventBroker{get isInitialized(){return!!this.digestKey}constructor(t,r){super(),this.digestKey=t,this.walletClient=r}static fromDigestKey(t){return new gn(rr(t))}static fromWalletClient(t){return new gn(void 0,t)}async initialize(){if(this.digestKey)return ne("Already initialized");const t=await this.deriveDigestKeyFromWalletClient();return t.error?j(t.error):(this.emit("initialized",!0),ne("Initialized"))}async deriveDigestKeyFromWalletClient(){if(!this.walletClient)return j("No walletClient found");if(!this.walletClient.account)return j("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.digestKey=rr(St.sha256(t)),this.emit("initialized",!0),ne(this.digestKey)}catch(t){return j("Failed to initialize: "+t)}}async getDigestKey(){if(!this.digestKey&&!this.walletClient)return j("No private key or wallet client found");if(!this.digestKey&&this.walletClient){const t=await this.deriveDigestKeyFromWalletClient();if(t.error)return j(t.error)}return this.digestKey?ne(this.digestKey):j("No private key found")}async generateSecret(t){const r=await this.signMessage(t);if(r.error)return j(r.error);const n=St.sha256(pe.with0x(r.val)),i=St.sha256(n);return ne({secret:n,secretHash:i})}async signMessage(t){if(!this.digestKey){const l=await this.getDigestKey();if(l.error)return j(l.error);this.digestKey=l.val}const r=gd(or),n="Garden.fi"+t.toString(),i=Buffer.from(n,"utf8"),s=St.sha256(i),o=Buffer.from(rr(this.digestKey),"hex");if(o.length!==32)return j("Invalid private key length. Expected 32 bytes.");const c=r.fromPrivateKey(o).sign(Buffer.from(rr(s),"hex"));return ne(c.toString("hex"))}}class md extends pe.EventBroker{constructor(t){super(),this.getOrderThreshold=20,this.refundSacpCache=new Map,this.bitcoinRedeemCache=new Uh,this.environment=t.environment;const r=t.environment===pe.Environment.MAINNET?ws.mainnet:t.environment===pe.Environment.TESTNET?ws.testnet:void 0;if(!r)throw new Error("API not found, invalid environment "+t.environment);if(this._quote=t.quote??new Ya(r.quote),this._orderbookUrl=new pe.Url(t.orderbookURl??r.orderbook),this._auth=new pe.Auth({siwe:t.apiKey?void 0:new pe.Siwe(new pe.Url(t.orderbookURl??r.orderbook),t.evmWallet,t.siweOpts),apiKey:t.apiKey}),this._orderBook=new le.Orderbook({url:t.orderbookURl??r.orderbook,walletClient:t.evmWallet,auth:this._auth}),this._evmRelay=new ma(this._orderbookUrl,this._auth),this._secretManager=t.secretManager??gn.fromWalletClient(t.evmWallet),this.orderExecutorCache=new Rh,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 ne(this._btcWallet);const t=await this._secretManager.getDigestKey();if(t.error)return j(t.error);const r=new Ur.BitcoinProvider(mu(this.environment));return this._btcWallet=Ur.BitcoinWallet.fromPrivateKey(t.val,r),ne(this._btcWallet)}async swap(t){const r=await this.validateAndFillParams(t);if(r.error)return j(r.error);const{sendAddress:n,receiveAddress:i,timelock:s}=r.val,o=Date.now().toString(),a=await this._secretManager.generateSecret(o);if(a.error)return j(a.error);const{strategyId:c,btcAddress:l}=t.additionalData,d={strategy_id:c,...l&&{bitcoin_optional_recipient:l}},p={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,timelock:s,secret_hash:rr(a.val.secretHash),min_destination_confirmations:t.minDestinationConfirmations??0,additional_data:d},_=await this._quote.getAttestedQuote(p);if(_.error)return j(_.error);const y=await this._orderBook.createOrder(_.val);if(y.error)return j(y.error);const I=await this.pollOrder(y.val);return I.error?j(I.error):ne(I.val)}async validateAndFillParams(t){if(!t.additionalData.strategyId)return j("StrategyId is required");if(!t.fromAsset||!t.toAsset)return j("Source and destination assets are required for swap");if(t.fromAsset.chain===t.toAsset.chain&&t.fromAsset.atomicSwapAddress===t.toAsset.atomicSwapAddress)return j("Source and destination assets cannot be the same");if(le.isMainnet(t.fromAsset.chain)&&!le.isMainnet(t.toAsset.chain)||!le.isMainnet(t.fromAsset.chain)&&le.isMainnet(t.toAsset.chain))return j("Both assets should be on the same network (either mainnet or testnet)");const r=this.validateAmount(t.sendAmount);if(r.error)return j(r.error);const n=this.validateAmount(t.receiveAmount);if(n.error)return j(n.error);if(r<n)return j("Send amount should be greater than receive amount");const i=le.getTimeLock(t.fromAsset.chain);if(!i)return j("Unsupported chain for timelock");if(le.isBitcoin(t.fromAsset.chain)||le.isBitcoin(t.toAsset.chain)){if(!t.additionalData.btcAddress)return j("btcAddress in additionalData is required if source or destination chain is bitcoin, it is used as refund or redeem address.");const a=await this.initializeSMandBTCWallet();if(a.error)return j(a.error);if(!this._btcWallet)return j("btcWallet is required for bitcoin chain. Please provide btcWallet in the constructor")}const s=await this.getAddresses(t.fromAsset.chain);if(s.error)return j(s.error);const o=await this.getAddresses(t.toAsset.chain);return o.error?j(o.error):ne({sendAddress:s.val,receiveAddress:o.val,timelock:t.timelock??i})}async getAddresses(t){var n;switch(le.getBlockchainType(t)){case le.BlockchainType.EVM:return this._evmWallet.account?ne(this._evmWallet.account.address):j("EVM Wallet not found");case le.BlockchainType.Bitcoin:{const i=await((n=this._btcWallet)==null?void 0:n.getPublicKey());return!i||!wu(i)?j("Invalid btc public key"):ne(er(i))}default:return j("Unsupported chain")}}validateAmount(t){if(t==null||t.includes("."))return j("Invalid amount ",t);const r=new cu(t);return!r.isInteger()||r.isNaN()||r.lt(0)||r.isLessThanOrEqualTo(0)?j("Invalid amount ",t):ne(r)}async pollOrder(t){let r=await this._orderBook.getOrder(t,!0),n=0;for(;n<this.getOrderThreshold;){if(await pe.sleep(1e3),n++,r.error){if(!r.error.includes("result is undefined"))return j(r.error)}else if(r.val&&r.val.create_order.create_id.toLowerCase()===t.toLowerCase())return ne(r.val);r=await this._orderBook.getOrder(t,!0)}return j(`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=Is(s.status);if(le.isBitcoin(s.source_swap.chain)&&s.status===de.InitiateDetected){const a=this.getWallet(s.source_swap.chain);if(a.error){this.emit("error",s,a.error);continue}await this.postRefundSACP(s,a.val)}switch(o){case Ne.Redeem:{const a=await this._secretManager.generateSecret(s.create_order.nonce);if(a.error){this.emit("error",s,a.error);return}switch(le.getBlockchainType(s.destination_swap.chain)){case le.BlockchainType.EVM:{await this.evmRedeem(s,a.val.secret);break}case le.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,a.val.secret);break}default:this.emit("error",s,"Unsupported chain: "+s.destination_swap.chain)}break}case Ne.Refund:{switch(le.getBlockchainType(s.source_swap.chain)){case le.BlockchainType.EVM:{this.emit("error",s,"EVM refund is automatically done by relay service");break}case le.BlockchainType.Bitcoin:{const a=this.getWallet(s.source_swap.chain);if(a.error){this.emit("error",s,a.error);return}await this.btcRefund(a.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,Ne.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,Ne.Redeem,t.destination_swap.redeem_tx_hash);return}this.orderExecutorCache.set(t,Ne.Redeem,i.val),this.emit("success",t,Ne.Redeem,i.val)}async btcRedeem(t,r,n){var a,c;const i=this.bitcoinRedeemCache.get(r.create_order.create_id),s=(a=r.destination_swap.initiate_tx_hash.split(",").at(-1))==null?void 0:a.split(":").at(0);if(!s){this.emit("error",r,"Failed to get initiate_tx_hash");return}let o=!1;if(i)if(i.redeemedFromUTXO&&i.redeemedFromUTXO!==s)o=!0,this.emit("log",r.create_order.create_id,"rbf btc redeem");else if(i.redeemedAt&&Date.now()-i.redeemedAt>1e3*60*15)this.emit("log",r.create_order.create_id,"redeem not confirmed in last 15 minutes"),o=!0;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 p of l.vin)if(p.txid===s){d=!0;break}if(d){this.emit("log",r.create_order.create_id,"already a valid redeem");let p=0;try{const[_]=await(await t.getProvider()).getTransactionTimes([r.destination_swap.redeem_tx_hash]);_!==0&&(p=_)}catch{p=Date.now()}this.bitcoinRedeemCache.set(r.create_order.create_id,{redeemedFromUTXO:s,redeemedAt:p,redeemTxHash:r.destination_swap.redeem_tx_hash});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 dn.from(t,Number(r.destination_swap.amount),r.create_order.secret_hash,er(r.destination_swap.initiator),er(r.destination_swap.redeemer),r.destination_swap.timelock,o?[s]:[])).getRedeemHex(rr(n),(c=r.create_order.additional_data)==null?void 0:c.bitcoin_optional_recipient),p=await this.broadcastRedeemTx(d,r.create_order.create_id);if(p.error||!p.val){this.emit("error",r,p.error||"Failed to broadcast redeem tx");return}o?(this.emit("log",r.create_order.create_id,"rbf: btc redeem success"),this.emit("rbf",r,p.val)):this.emit("success",r,Ne.Redeem,p.val),this.bitcoinRedeemCache.set(r.create_order.create_id,{redeemedFromUTXO:s,redeemedAt:Date.now(),redeemTxHash:p.val})}catch(l){console.log("error",l),this.emit("error",r,"Failed btc redeem: "+l)}}async btcRefund(t,r){var n;if(!this.orderExecutorCache.get(r,Ne.Refund)){this.emit("log",r.create_order.create_id,"executing btc refund");try{const s=await(await dn.from(t,Number(r.source_swap.amount),r.create_order.secret_hash,er(r.source_swap.initiator),er(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,Ne.Refund,s),this.emit("success",r,Ne.Refund,s)}catch(i){this.emit("error",r,"Failed btc refund: "+i)}}}getWallet(t){switch(le.getBlockchainType(t)){case le.BlockchainType.EVM:return ne(this._evmWallet);case le.BlockchainType.Bitcoin:return ne(this._btcWallet);default:return j("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 dn.from(r,Number(t.source_swap.amount),t.create_order.secret_hash,er(t.source_swap.initiator),er(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),a=this._orderbookUrl.endpoint("orders/add-instant-refund-sacp");(await nr.post(a,{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 j("Provide wallets to fetch the current block number");const n=le.isBitcoin(t.source_swap.chain)?await pe.fetchBitcoinBlockNumber(await r.source.getProvider()):await pe.fetchEVMBlockNumber(r.source);if(n.error)return j(n.error);const i=le.isBitcoin(t.destination_swap.chain)?await pe.fetchBitcoinBlockNumber(await r.destination.getProvider()):await pe.fetchEVMBlockNumber(r.destination);return i.error?j(i.error):ne({source:n.val,destination:i.val})}async filterExpiredAndAssignStatus(t){var i;if(t.length===0)return ne([]);const r=await((i=this._blockNumberFetcher)==null?void 0:i.fetchBlockNumbers());if(r.error)return j(r.error);const n=[];for(let s=0;s<t.length;s++){const o=t[s];if(ga(o))continue;const a=o.source_swap.chain,c=o.destination_swap.chain,l=r==null?void 0:r.val[a],d=r==null?void 0:r.val[c];if(!l||!d){this.emit("error",o,"Error while fetching CurrentBlockNumbers");continue}const p=As(o,l,d);n.push({...o,status:p})}return ne(n)}async broadcastRedeemTx(t,r){try{const n=this._orderbookUrl.endpoint("gasless/order/bitcoin/redeem"),i=await this._auth.getAuthHeaders(),o=await(await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",...i.val},body:JSON.stringify({redeem_tx_bytes:t,order_id:r})})).json();return o.status==="Ok"&&o.result?ne(o.result):j(o.error)}catch(n){return j("Failed to broadcast redeem tx: "+n)}}}function yt(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}const Lf="2.22.23";let nn={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${Lf}`};class ye extends Error{constructor(t,r={}){var a;const n=(()=>{var c;return r.cause instanceof ye?r.cause.details:(c=r.cause)!=null&&c.message?r.cause.message:r.details})(),i=r.cause instanceof ye&&r.cause.docsPath||r.docsPath,s=(a=nn.getDocsUrl)==null?void 0:a.call(nn,{...r,docsPath:i}),o=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...n?[`Details: ${n}`]:[],...nn.version?[`Version: ${nn.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=Lf}walk(t){return Nf(this,t)}}function Nf(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?Nf(e.cause,t):t?null:e}class _d extends ye{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 vd extends ye{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function An(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function Dr(e){return An(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function si(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 ye{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 Ff extends ye{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 jr(e,{dir:t,size:r=32}={}){return typeof e=="string"?xd(e,{dir:t,size:r}):Sd(e,{dir:t,size:r})}function xd(e,{dir:t,size:r=32}={}){if(r===null)return e;const n=e.replace("0x","");if(n.length>r*2)throw new Ff({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function Sd(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new Ff({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 Bd=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function J(e,t={}){return typeof e=="number"||typeof e=="bigint"?Hf(e,t):typeof e=="string"?Ad(e,t):typeof e=="boolean"?Td(e,t):Xt(e,t)}function Td(e,t={}){const r=`0x${Number(e)}`;return typeof t.size=="number"?(Gr(r,{size:t.size}),jr(r,{size:t.size})):r}function Xt(e,t={}){let r="";for(let i=0;i<e.length;i++)r+=Bd[e[i]];const n=`0x${r}`;return typeof t.size=="number"?(Gr(n,{size:t.size}),jr(n,{dir:"right",size:t.size})):n}function Hf(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 _d({max:s?`${s}${c}`:void 0,min:`${o}${c}`,signed:r,size:n,value:`${e}${c}`})}const a=`0x${(r&&i<0?(1n<<BigInt(n*8))+BigInt(i):i).toString(16)}`;return n?jr(a,{size:n}):a}const Pd=new TextEncoder;function Ad(e,t={}){const r=Pd.encode(e);return Xt(r,t)}const Id=new TextEncoder;function Mf(e,t={}){return typeof e=="number"||typeof e=="bigint"?kd(e,t):typeof e=="boolean"?Od(e,t):An(e)?cr(e,t):Df(e,t)}function Od(e,t={}){const r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(Gr(r,{size:t.size}),jr(r,{size:t.size})):r}const vt={zero:48,nine:57,A:65,F:70,a:97,f:102};function ia(e){if(e>=vt.zero&&e<=vt.nine)return e-vt.zero;if(e>=vt.A&&e<=vt.F)return e-(vt.A-10);if(e>=vt.a&&e<=vt.f)return e-(vt.a-10)}function cr(e,t={}){let r=e;t.size&&(Gr(r,{size:t.size}),r=jr(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,a=0;o<i;o++){const c=ia(n.charCodeAt(a++)),l=ia(n.charCodeAt(a++));if(c===void 0||l===void 0)throw new ye(`Invalid byte sequence ("${n[a-2]}${n[a-1]}" in "${n}").`);s[o]=c*16+l}return s}function kd(e,t){const r=Hf(e,t);return cr(r)}function Df(e,t={}){const r=Id.encode(e);return typeof t.size=="number"?(Gr(r,{size:t.size}),jr(r,{dir:"right",size:t.size})):r}function Gr(e,{size:t}){if(Dr(e)>t)throw new vd({givenSize:Dr(e),maxSize:t})}function Ar(e,t={}){const{signed:r}=t;t.size&&Gr(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 oi(e,t={}){return Number(Ar(e,t))}function Ys(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 $f={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Xs(e){const t={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?oi(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?oi(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?$f[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=Ud(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 Rd=Ys("transaction",Xs);function Ud(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 Cd(e){const t=(e.transactions??[]).map(r=>typeof r=="string"?r:Xs(r));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 Ld=Ys("block",Cd);function Nd(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 Fd={"0x0":"reverted","0x1":"success"};function Hd(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=>Nd(r)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?oi(e.transactionIndex):null,status:e.status?Fd[e.status]:null,type:e.type?$f[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}const Md=Ys("transactionReceipt",Hd),Js=2n**256n-1n;function In(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}class sa extends ye{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class Dd extends ye{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class $d extends ye{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const jd={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 $d({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Dd({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new sa({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 sa({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 jf(e,{recursiveReadLimit:t=8192}={}){const r=Object.create(jd);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}function hr(e,t="hex"){const r=Gf(e),n=jf(new Uint8Array(r.length));return r.encode(n),t==="hex"?Xt(n.bytes):n.bytes}function Gf(e){return Array.isArray(e)?Gd(e.map(t=>Gf(t))):Wd(e)}function Gd(e){const t=e.reduce((i,s)=>i+s.length,0),r=Wf(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 Wd(e){const t=typeof e=="string"?cr(e):e,r=Wf(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 Wf(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 ye("Length is too large.")}const Vd={ether:-9,wei:9};function zd(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 Ts(e,t="wei"){return zd(e,Vd[t])}function qd(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 Kd extends ye{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class Yd extends ye{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",qd(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 Xd extends ye{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 Vf(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=>cr(s)):e.blobs,i=[];for(const s of n)i.push(Uint8Array.from(t.blobToKzgCommitment(s)));return r==="bytes"?i:i.map(s=>Xt(s))}function zf(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=>cr(o)):e.blobs,i=typeof e.commitments[0]=="string"?e.commitments.map(o=>cr(o)):e.commitments,s=[];for(let o=0;o<n.length;o++){const a=n[o],c=i[o];s.push(Uint8Array.from(t.computeBlobKzgProof(a,c)))}return r==="bytes"?s:s.map(o=>Xt(o))}function oa(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Jd(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Qs(e,...t){if(!Jd(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function ai(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 qf(e,t){Qs(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Qd(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function fs(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ut(e,t){return e<<32-t|e>>>t}const aa=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Zd(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function fa(e){for(let t=0;t<e.length;t++)e[t]=Zd(e[t])}function ep(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function Zs(e){return typeof e=="string"&&(e=ep(e)),Qs(e),e}class Kf{clone(){return this._cloneInto()}}function Yf(e){const t=n=>e().update(Zs(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function tp(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),a=Number(r&s),c=n?4:0,l=n?0:4;e.setUint32(t+c,o,n),e.setUint32(t+l,a,n)}function rp(e,t,r){return e&t^~e&r}function np(e,t,r){return e&t^e&r^t&r}class ip extends Kf{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=fs(this.buffer)}update(t){ai(this);const{view:r,buffer:n,blockLen:i}=this;t=Zs(t);const s=t.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const c=fs(t);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ai(this),qf(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 p=o;p<i;p++)r[p]=0;tp(n,i-8,BigInt(this.length*8),s),this.process(n,0);const a=fs(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 p=0;p<l;p++)a.setUint32(4*p,d[p],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:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}}const sp=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]),Mt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Dt=new Uint32Array(64);class op extends ip{constructor(){super(64,32,8,!1),this.A=Mt[0]|0,this.B=Mt[1]|0,this.C=Mt[2]|0,this.D=Mt[3]|0,this.E=Mt[4]|0,this.F=Mt[5]|0,this.G=Mt[6]|0,this.H=Mt[7]|0}get(){const{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[t,r,n,i,s,o,a,c]}set(t,r,n,i,s,o,a,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=a|0,this.H=c|0}process(t,r){for(let p=0;p<16;p++,r+=4)Dt[p]=t.getUint32(r,!1);for(let p=16;p<64;p++){const _=Dt[p-15],y=Dt[p-2],I=ut(_,7)^ut(_,18)^_>>>3,B=ut(y,17)^ut(y,19)^y>>>10;Dt[p]=B+Dt[p-7]+I+Dt[p-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:l,H:d}=this;for(let p=0;p<64;p++){const _=ut(a,6)^ut(a,11)^ut(a,25),y=d+_+rp(a,c,l)+sp[p]+Dt[p]|0,B=(ut(n,2)^ut(n,13)^ut(n,22))+np(n,i,s)|0;d=l,l=c,c=a,a=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,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(n,i,s,o,a,c,l,d)}roundClean(){Dt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const ap=Yf(()=>new op);function fp(e,t){return ap(An(e,{strict:!1})?Mf(e):e)}function up(e){const{commitment:t,version:r=1}=e,n=e.to??(typeof t=="string"?"hex":"bytes"),i=fp(t);return i.set([r],0),n==="bytes"?i:Xt(i)}function cp(e){const{commitments:t,version:r}=e,n=e.to??(typeof t[0]=="string"?"hex":"bytes"),i=[];for(const s of t)i.push(up({commitment:s,to:n,version:r}));return i}const ua=6,Xf=32,eo=4096,Jf=Xf*eo,ca=Jf*ua-1-1*eo*ua,Qf=1;class hp extends ye{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class Zf extends ye{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class lp extends ye{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class dp extends ye{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${Qf}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}function pp(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?cr(e.data):e.data,n=Dr(r);if(!n)throw new Zf;if(n>ca)throw new hp({maxSize:ca,size:n});const i=[];let s=!0,o=0;for(;s;){const a=jf(new Uint8Array(Jf));let c=0;for(;c<eo;){const l=r.slice(o,o+(Xf-1));if(a.pushByte(0),a.pushBytes(l),l.length<31){a.pushByte(128),s=!1;break}c++,o+=31}i.push(a)}return t==="bytes"?i.map(a=>a.bytes):i.map(a=>Xt(a.bytes))}function yp(e){const{data:t,kzg:r,to:n}=e,i=e.blobs??pp({data:t,to:n}),s=e.commitments??Vf({blobs:i,kzg:r,to:n}),o=e.proofs??zf({blobs:i,commitments:s,kzg:r,to:n}),a=[];for(let c=0;c<i.length;c++)a.push({blob:i[c],commitment:s[c],proof:o[c]});return a}function bp(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",...On({},o)])}return t}class lr extends ye{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 Oi extends ye{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class ki extends ye{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Ts(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(ki,"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 eu extends ye{constructor({cause:t,maxPriorityFeePerGas:r,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${Ts(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${Ts(n)} gwei`:""}).`].join(`
34
+ `),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(eu,"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 tu 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 Dn=BigInt(2**32-1),ha=BigInt(32);function wp(e,t=!1){return t?{h:Number(e&Dn),l:Number(e>>ha&Dn)}:{h:Number(e>>ha&Dn)|0,l:Number(e&Dn)|0}}function gp(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}=wp(e[i],t);[r[i],n[i]]=[s,o]}return[r,n]}const mp=(e,t,r)=>e<<r|t>>>32-r,_p=(e,t,r)=>t<<r|e>>>32-r,vp=(e,t,r)=>t<<r-32|e>>>64-r,Ep=(e,t,r)=>e<<r-32|t>>>64-r,ru=[],nu=[],iu=[],xp=BigInt(0),sn=BigInt(1),Sp=BigInt(2),Bp=BigInt(7),Tp=BigInt(256),Pp=BigInt(113);for(let e=0,t=sn,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],ru.push(2*(5*n+r)),nu.push((e+1)*(e+2)/2%64);let i=xp;for(let s=0;s<7;s++)t=(t<<sn^(t>>Bp)*Pp)%Tp,t&Sp&&(i^=sn<<(sn<<BigInt(s))-sn);iu.push(i)}const[Ap,Ip]=gp(iu,!0),la=(e,t,r)=>r>32?vp(e,t,r):mp(e,t,r),da=(e,t,r)=>r>32?Ep(e,t,r):_p(e,t,r);function Op(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 a=(o+8)%10,c=(o+2)%10,l=r[c],d=r[c+1],p=la(l,d,1)^r[a],_=da(l,d,1)^r[a+1];for(let y=0;y<50;y+=10)e[o+y]^=p,e[o+y+1]^=_}let i=e[2],s=e[3];for(let o=0;o<24;o++){const a=nu[o],c=la(i,s,a),l=da(i,s,a),d=ru[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 a=0;a<10;a++)r[a]=e[o+a];for(let a=0;a<10;a++)e[o+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=Ap[n],e[1]^=Ip[n]}r.fill(0)}class to extends Kf{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,oa(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Qd(this.state)}keccak(){aa||fa(this.state32),Op(this.state32,this.rounds),aa||fa(this.state32),this.posOut=0,this.pos=0}update(t){ai(this);const{blockLen:r,state:n}=this;t=Zs(t);const i=t.length;for(let s=0;s<i;){const o=Math.min(r-this.pos,i-s);for(let a=0;a<o;a++)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){ai(this,!1),Qs(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 oa(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(qf(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 to(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 kp=(e,t,r)=>Yf(()=>new to(t,e,r)),Rp=kp(1,136,256/8);function Up(e,t){return Rp(An(e,{strict:!1})?Mf(e):e)}const us=new tu(8192);function Cp(e,t){if(us.has(`${e}.${t}`))return us.get(`${e}.${t}`);const r=e.substring(2).toLowerCase(),n=Up(Df(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 us.set(`${e}.${t}`,s),s}const Lp=/^0x[a-fA-F0-9]{40}$/,cs=new tu(8192);function dr(e,t){const{strict:r=!0}=t??{},n=`${e}.${r}`;if(cs.has(n))return cs.get(n);const i=Lp.test(e)?e.toLowerCase()===e?!0:r?Cp(e)===e:!0:!1;return cs.set(n,i),i}function Np(e,t,r,{strict:n}={}){return An(e,{strict:!1})?Hp(e,t,r,{strict:n}):Fp(e,t,r,{strict:n})}function su(e,t,r){if(Dr(e)!==r-t)throw new Ed({offset:r,position:"end",size:Dr(e)})}function Fp(e,t,r,{strict:n}={}){const i=e.slice(t,r);return n&&su(i,t,r),i}function Hp(e,t,r,{strict:n}={}){const i=`0x${e.replace("0x","").slice(t*2,r*2)}`;return n&&su(i,t,r),i}function Mp(e){const{authorizationList:t}=e;if(t)for(const r of t){const{contractAddress:n,chainId:i}=r;if(!dr(n))throw new lr({address:n});if(i<0)throw new Oi({chainId:i})}ro(e)}function Dp(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Zf;for(const r of t){const n=Dr(r),i=oi(Np(r,0,1));if(n!==32)throw new lp({hash:r,size:n});if(i!==Qf)throw new dp({hash:r,version:i})}}ro(e)}function ro(e){const{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:n,to:i}=e;if(t<=0)throw new Oi({chainId:t});if(i&&!dr(i))throw new lr({address:i});if(n&&n>Js)throw new ki({maxFeePerGas:n});if(r&&n&&r>n)throw new eu({maxFeePerGas:n,maxPriorityFeePerGas:r})}function $p(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(t<=0)throw new Oi({chainId:t});if(s&&!dr(s))throw new lr({address:s});if(r||i)throw new ye("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>Js)throw new ki({maxFeePerGas:n})}function jp(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(s&&!dr(s))throw new lr({address:s});if(typeof t<"u"&&t<=0)throw new Oi({chainId:t});if(r||i)throw new ye("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>Js)throw new ki({maxFeePerGas:n})}function Gp(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 Yd({transaction:e})}function Ri(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 Xd({storageKey:i[s]});if(!dr(n,{strict:!1}))throw new lr({address:n});t.push([n,i])}return t}function Wp(e,t){const r=Gp(e);return r==="eip1559"?qp(e,t):r==="eip2930"?Kp(e,t):r==="eip4844"?zp(e,t):r==="eip7702"?Vp(e,t):Yp(e,t)}function Vp(e,t){const{authorizationList:r,chainId:n,gas:i,nonce:s,to:o,value:a,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:d,data:p}=e;Mp(e);const _=Ri(d),y=bp(r);return In(["0x04",hr([J(n),s?J(s):"0x",l?J(l):"0x",c?J(c):"0x",i?J(i):"0x",o??"0x",a?J(a):"0x",p??"0x",_,y,...On(e,t)])])}function zp(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:d,data:p}=e;Dp(e);let _=e.blobVersionedHashes,y=e.sidecars;if(e.blobs&&(typeof _>"u"||typeof y>"u")){const v=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(x=>Xt(x)),m=e.kzg,S=Vf({blobs:v,kzg:m});if(typeof _>"u"&&(_=cp({commitments:S})),typeof y>"u"){const x=zf({blobs:v,commitments:S,kzg:m});y=yp({blobs:v,commitments:S,proofs:x})}}const I=Ri(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",p??"0x",I,a?J(a):"0x",_??[],...On(e,t)],A=[],k=[],U=[];if(y)for(let v=0;v<y.length;v++){const{blob:m,commitment:S,proof:x}=y[v];A.push(m),k.push(S),U.push(x)}return In(["0x03",hr(y?[B,A,k,U]:B)])}function qp(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:l,data:d}=e;ro(e);const p=Ri(l),_=[J(r),i?J(i):"0x",c?J(c):"0x",a?J(a):"0x",n?J(n):"0x",s??"0x",o?J(o):"0x",d??"0x",p,...On(e,t)];return In(["0x02",hr(_)])}function Kp(e,t){const{chainId:r,gas:n,data:i,nonce:s,to:o,value:a,accessList:c,gasPrice:l}=e;$p(e);const d=Ri(c),p=[J(r),s?J(s):"0x",l?J(l):"0x",n?J(n):"0x",o??"0x",a?J(a):"0x",i??"0x",d,...On(e,t)];return In(["0x01",hr(p)])}function Yp(e,t){const{chainId:r=0,gas:n,data:i,nonce:s,to:o,value:a,gasPrice:c}=e;jp(e);let l=[s?J(s):"0x",c?J(c):"0x",n?J(n):"0x",o??"0x",a?J(a):"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 Kd({v:t.v});return y})(),p=si(t.r),_=si(t.s);l=[...l,J(d),p==="0x00"?"0x":p,_==="0x00"?"0x":_]}else r>0&&(l=[...l,J(r),"0x","0x"]);return hr(l)}function On(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=si(r.r),o=si(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 Xp={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},Jp={block:Ld({format(e){var r;return{transactions:(r=e.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const i=Xs(n);return i.typeHex==="0x7e"&&(i.isSystemTx=n.isSystemTx,i.mint=n.mint?Ar(n.mint):void 0,i.sourceHash=n.sourceHash,i.type="deposit"),i}),stateRoot:e.stateRoot}}}),transaction:Rd({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Ar(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:Md({format(e){return{l1GasPrice:e.l1GasPrice?Ar(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Ar(e.l1GasUsed):null,l1Fee:e.l1Fee?Ar(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function Qp(e,t){return t1(e)?e1(e):Wp(e,t)}const Zp={transaction:Qp};function e1(e){r1(e);const{sourceHash:t,data:r,from:n,gas:i,isSystemTx:s,mint:o,to:a,value:c}=e,l=[t,n,a??"0x",o?J(o):"0x",c?J(c):"0x",i?J(i):"0x",s?"0x1":"0x",r??"0x"];return In(["0x7e",hr(l)])}function t1(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function r1(e){const{from:t,to:r}=e;if(t&&!dr(t))throw new lr({address:t});if(r&&!dr(r))throw new lr({address:r})}const fi={contracts:Xp,formatters:Jp,serializers:Zp},n1=yt({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}}}),i1=yt({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}),on=1,s1=yt({...fi,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:{...fi.contracts,disputeGameFactory:{[on]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[on]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[on]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[on]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:on}),an=11155111,o1=yt({...fi,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:{...fi.contracts,disputeGameFactory:{[an]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[an]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[an]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[an]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:an}),a1=yt({id:80094,name:"Berachain",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:0}},rpcUrls:{default:{http:["https://rpc.berachain.com"]}},blockExplorers:{default:{name:"Berascan",url:"https://berascan.com"}},testnet:!1}),f1=yt({id:80084,name:"Berachain bArtio",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:109269},ensRegistry:{address:"0xB0eef18971290b333450586D33dcA6cE122651D2",blockCreated:7736794},ensUniversalResolver:{address:"0x41692Ef1EA0C79E6b73077E4A67572D2BDbD7057",blockCreated:7736795}},rpcUrls:{default:{http:["https://bartio.rpc.berachain.com"]}},blockExplorers:{default:{name:"Berachain bArtio Beratrail",url:"https://bartio.beratrail.io"}},testnet:!0}),u1=yt({id:5115,name:"Citrea Testnet",nativeCurrency:{name:"cBTC",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"}},testnet:!0}),c1=yt({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://eth.merkle.io"]}},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}}}),h1=yt({id:10143,name:"Monad Testnet",nativeCurrency:{name:"Testnet MON Token",symbol:"MON",decimals:18},rpcUrls:{default:{http:["https://testnet-rpc.monad.xyz"]}},blockExplorers:{default:{name:"Monad Testnet explorer",url:"https://testnet.monadexplorer.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:251449}},testnet:!0}),l1=yt({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}),d1={...l1,rpcUrls:{default:{http:["https://ethereum-sepolia-rpc.publicnode.com"]}}},ou={ethereum:c1,arbitrum:n1,ethereum_sepolia:d1,arbitrum_sepolia:i1,ethereum_localnet:le.EthereumLocalnet,arbitrum_localnet:le.ArbitrumLocalnet,base_sepolia:o1,base:s1,bera_testnet:f1,citrea_testnet:u1,bera:a1,monad_testnet:h1},p1=async(e,t)=>{var n;const r=ou[e];if(r)try{if(r.id===((n=t.chain)==null?void 0:n.id))return ne({message:"Already on the network",walletClient:t});await t.switchChain({id:r.id});const i=St.createWalletClient({account:t.account,chain:r,transport:St.custom(window.ethereum)});return ne({message:"Switched chain",walletClient:i})}catch(i){if(y1(i))try{await t.addChain({chain:r});const s=St.createWalletClient({account:t.account,chain:r,transport:St.custom(window.ethereum)});return ne({message:"Added network",walletClient:s})}catch{return j("Failed to add network")}else return j("Failed to switch network")}else return j("Chain not supported")},y1=e=>typeof e=="object"&&e!==null&&"code"in e&&e.code===4902;exports.API=ws;exports.BlockNumberFetcher=Ka;exports.EvmRelay=ma;exports.Garden=md;exports.OrderActions=Ne;exports.OrderStatus=de;exports.ParseOrderStatus=As;exports.ParseSwapStatus=ds;exports.Quote=Ya;exports.SecretManager=gn;exports.SwapStatus=me;exports.constructOrderPair=wa;exports.evmToViemChainMap=ou;exports.filterDeadlineExpiredOrders=vu;exports.isExpired=pn;exports.parseAction=_u;exports.parseActionFromStatus=Is;exports.switchOrAddNetwork=p1;exports.validateBTCAddress=gu;