denotify-client 1.1.32 → 1.1.34

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
- "use strict";var Yi=Object.defineProperty;var Qi=(n,e,t)=>e in n?Yi(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var d=(n,e,t)=>(Qi(n,typeof e!="symbol"?e+"":e,t),t),zr=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var m=(n,e,t)=>(zr(n,e,"read from private field"),t?t.call(n):e.get(n)),F=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},P=(n,e,t,r)=>(zr(n,e,"write to private field"),r?r.call(n,t):e.set(n,t),t),Yn=(n,e,t,r)=>({set _(s){P(n,e,s,t)},get _(){return m(n,e,r)}}),B=(n,e,t)=>(zr(n,e,"access private method"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function eo(n,e){for(var t=0;t<e.length;t++){const r=e[t];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in n)){const i=Object.getOwnPropertyDescriptor(r,s);i&&Object.defineProperty(n,s,i.get?i:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}var to=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const ro=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>to(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>Rr)).fetch(...t)}):e=fetch,(...t)=>e(...t)};class An extends Error{constructor(e,t="FunctionsError",r){super(e),super.name=t,this.context=r}}class no extends An{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class so extends An{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class io extends An{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var oo=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};class ao{constructor(e,{headers:t={},customFetch:r}={}){this.url=e,this.headers=t,this.fetch=ro(r)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e,t={}){var r;return oo(this,void 0,void 0,function*(){try{const{headers:s,method:i,body:o}=t;let a={},c;o&&(s&&!Object.prototype.hasOwnProperty.call(s,"Content-Type")||!s)&&(typeof Blob<"u"&&o instanceof Blob||o instanceof ArrayBuffer?(a["Content-Type"]="application/octet-stream",c=o):typeof o=="string"?(a["Content-Type"]="text/plain",c=o):typeof FormData<"u"&&o instanceof FormData?c=o:(a["Content-Type"]="application/json",c=JSON.stringify(o)));const u=yield this.fetch(`${this.url}/${e}`,{method:i||"POST",headers:Object.assign(Object.assign(Object.assign({},a),this.headers),s),body:c}).catch(p=>{throw new no(p)}),l=u.headers.get("x-relay-error");if(l&&l==="true")throw new so(u);if(!u.ok)throw new io(u);let h=((r=u.headers.get("Content-Type"))!==null&&r!==void 0?r:"text/plain").split(";")[0].trim(),y;return h==="application/json"?y=yield u.json():h==="application/octet-stream"?y=yield u.blob():h==="multipart/form-data"?y=yield u.formData():y=yield u.text(),{data:y,error:null}}catch(s){return{data:null,error:s}}})}}var co=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function uo(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Ct={},lo={get exports(){return Ct},set exports(n){Ct=n}};(function(n,e){var t=typeof self<"u"?self:co,r=function(){function i(){this.fetch=!1,this.DOMException=t.DOMException}return i.prototype=t,new i}();(function(i){(function(o){var a={searchParams:"URLSearchParams"in i,iterable:"Symbol"in i&&"iterator"in Symbol,blob:"FileReader"in i&&"Blob"in i&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in i,arrayBuffer:"ArrayBuffer"in i};function c(f){return f&&DataView.prototype.isPrototypeOf(f)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(f){return f&&u.indexOf(Object.prototype.toString.call(f))>-1};function h(f){if(typeof f!="string"&&(f=String(f)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(f))throw new TypeError("Invalid character in header field name");return f.toLowerCase()}function y(f){return typeof f!="string"&&(f=String(f)),f}function p(f){var b={next:function(){var T=f.shift();return{done:T===void 0,value:T}}};return a.iterable&&(b[Symbol.iterator]=function(){return b}),b}function w(f){this.map={},f instanceof w?f.forEach(function(b,T){this.append(T,b)},this):Array.isArray(f)?f.forEach(function(b){this.append(b[0],b[1])},this):f&&Object.getOwnPropertyNames(f).forEach(function(b){this.append(b,f[b])},this)}w.prototype.append=function(f,b){f=h(f),b=y(b);var T=this.map[f];this.map[f]=T?T+", "+b:b},w.prototype.delete=function(f){delete this.map[h(f)]},w.prototype.get=function(f){return f=h(f),this.has(f)?this.map[f]:null},w.prototype.has=function(f){return this.map.hasOwnProperty(h(f))},w.prototype.set=function(f,b){this.map[h(f)]=y(b)},w.prototype.forEach=function(f,b){for(var T in this.map)this.map.hasOwnProperty(T)&&f.call(b,this.map[T],T,this)},w.prototype.keys=function(){var f=[];return this.forEach(function(b,T){f.push(T)}),p(f)},w.prototype.values=function(){var f=[];return this.forEach(function(b){f.push(b)}),p(f)},w.prototype.entries=function(){var f=[];return this.forEach(function(b,T){f.push([T,b])}),p(f)},a.iterable&&(w.prototype[Symbol.iterator]=w.prototype.entries);function v(f){if(f.bodyUsed)return Promise.reject(new TypeError("Already read"));f.bodyUsed=!0}function g(f){return new Promise(function(b,T){f.onload=function(){b(f.result)},f.onerror=function(){T(f.error)}})}function A(f){var b=new FileReader,T=g(b);return b.readAsArrayBuffer(f),T}function C(f){var b=new FileReader,T=g(b);return b.readAsText(f),T}function X(f){for(var b=new Uint8Array(f),T=new Array(b.length),J=0;J<b.length;J++)T[J]=String.fromCharCode(b[J]);return T.join("")}function U(f){if(f.slice)return f.slice(0);var b=new Uint8Array(f.byteLength);return b.set(new Uint8Array(f)),b.buffer}function be(){return this.bodyUsed=!1,this._initBody=function(f){this._bodyInit=f,f?typeof f=="string"?this._bodyText=f:a.blob&&Blob.prototype.isPrototypeOf(f)?this._bodyBlob=f:a.formData&&FormData.prototype.isPrototypeOf(f)?this._bodyFormData=f:a.searchParams&&URLSearchParams.prototype.isPrototypeOf(f)?this._bodyText=f.toString():a.arrayBuffer&&a.blob&&c(f)?(this._bodyArrayBuffer=U(f.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(f)||l(f))?this._bodyArrayBuffer=U(f):this._bodyText=f=Object.prototype.toString.call(f):this._bodyText="",this.headers.get("content-type")||(typeof f=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):a.searchParams&&URLSearchParams.prototype.isPrototypeOf(f)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},a.blob&&(this.blob=function(){var f=v(this);if(f)return f;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?v(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(A)}),this.text=function(){var f=v(this);if(f)return f;if(this._bodyBlob)return C(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(X(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},a.formData&&(this.formData=function(){return this.text().then(sr)}),this.json=function(){return this.text().then(JSON.parse)},this}var Dt=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function nr(f){var b=f.toUpperCase();return Dt.indexOf(b)>-1?b:f}function fe(f,b){b=b||{};var T=b.body;if(f instanceof fe){if(f.bodyUsed)throw new TypeError("Already read");this.url=f.url,this.credentials=f.credentials,b.headers||(this.headers=new w(f.headers)),this.method=f.method,this.mode=f.mode,this.signal=f.signal,!T&&f._bodyInit!=null&&(T=f._bodyInit,f.bodyUsed=!0)}else this.url=String(f);if(this.credentials=b.credentials||this.credentials||"same-origin",(b.headers||!this.headers)&&(this.headers=new w(b.headers)),this.method=nr(b.method||this.method||"GET"),this.mode=b.mode||this.mode||null,this.signal=b.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&T)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(T)}fe.prototype.clone=function(){return new fe(this,{body:this._bodyInit})};function sr(f){var b=new FormData;return f.trim().split("&").forEach(function(T){if(T){var J=T.split("="),V=J.shift().replace(/\+/g," "),N=J.join("=").replace(/\+/g," ");b.append(decodeURIComponent(V),decodeURIComponent(N))}}),b}function L(f){var b=new w,T=f.replace(/\r?\n[\t ]+/g," ");return T.split(/\r?\n/).forEach(function(J){var V=J.split(":"),N=V.shift().trim();if(N){var or=V.join(":").trim();b.append(N,or)}}),b}be.call(fe.prototype);function M(f,b){b||(b={}),this.type="default",this.status=b.status===void 0?200:b.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in b?b.statusText:"OK",this.headers=new w(b.headers),this.url=b.url||"",this._initBody(f)}be.call(M.prototype),M.prototype.clone=function(){return new M(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new w(this.headers),url:this.url})},M.error=function(){var f=new M(null,{status:0,statusText:""});return f.type="error",f};var ir=[301,302,303,307,308];M.redirect=function(f,b){if(ir.indexOf(b)===-1)throw new RangeError("Invalid status code");return new M(null,{status:b,headers:{location:f}})},o.DOMException=i.DOMException;try{new o.DOMException}catch{o.DOMException=function(b,T){this.message=b,this.name=T;var J=Error(b);this.stack=J.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function wt(f,b){return new Promise(function(T,J){var V=new fe(f,b);if(V.signal&&V.signal.aborted)return J(new o.DOMException("Aborted","AbortError"));var N=new XMLHttpRequest;function or(){N.abort()}N.onload=function(){var Ut={status:N.status,statusText:N.statusText,headers:L(N.getAllResponseHeaders()||"")};Ut.url="responseURL"in N?N.responseURL:Ut.headers.get("X-Request-URL");var Vr="response"in N?N.response:N.responseText;T(new M(Vr,Ut))},N.onerror=function(){J(new TypeError("Network request failed"))},N.ontimeout=function(){J(new TypeError("Network request failed"))},N.onabort=function(){J(new o.DOMException("Aborted","AbortError"))},N.open(V.method,V.url,!0),V.credentials==="include"?N.withCredentials=!0:V.credentials==="omit"&&(N.withCredentials=!1),"responseType"in N&&a.blob&&(N.responseType="blob"),V.headers.forEach(function(Ut,Vr){N.setRequestHeader(Vr,Ut)}),V.signal&&(V.signal.addEventListener("abort",or),N.onreadystatechange=function(){N.readyState===4&&V.signal.removeEventListener("abort",or)}),N.send(typeof V._bodyInit>"u"?null:V._bodyInit)})}return wt.polyfill=!0,i.fetch||(i.fetch=wt,i.Headers=w,i.Request=fe,i.Response=M),o.Headers=w,o.Request=fe,o.Response=M,o.fetch=wt,Object.defineProperty(o,"__esModule",{value:!0}),o})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var s=r;e=s.fetch,e.default=s.fetch,e.fetch=s.fetch,e.Headers=s.Headers,e.Request=s.Request,e.Response=s.Response,n.exports=e})(lo,Ct);const Sn=uo(Ct),Rr=eo({__proto__:null,default:Sn},[Ct]);class ho{constructor(e){this.shouldThrowOnError=!1,this.method=e.method,this.url=e.url,this.headers=e.headers,this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError,this.signal=e.signal,this.allowEmpty=e.allowEmpty,e.fetch?this.fetch=e.fetch:typeof fetch>"u"?this.fetch=Sn:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}then(e,t){this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers["Accept-Profile"]=this.schema:this.headers["Content-Profile"]=this.schema),this.method!=="GET"&&this.method!=="HEAD"&&(this.headers["Content-Type"]="application/json");const r=this.fetch;let s=r(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async i=>{var o,a,c;let u=null,l=null,h=null,y=i.status,p=i.statusText;if(i.ok){if(this.method!=="HEAD"){const A=await i.text();A===""||(this.headers.Accept==="text/csv"||this.headers.Accept&&this.headers.Accept.includes("application/vnd.pgrst.plan+text")?l=A:l=JSON.parse(A))}const v=(o=this.headers.Prefer)===null||o===void 0?void 0:o.match(/count=(exact|planned|estimated)/),g=(a=i.headers.get("content-range"))===null||a===void 0?void 0:a.split("/");v&&g&&g.length>1&&(h=parseInt(g[1]))}else{const v=await i.text();try{u=JSON.parse(v),Array.isArray(u)&&i.status===404&&(l=[],u=null,y=200,p="OK")}catch{i.status===404&&v===""?(y=204,p="No Content"):u={message:v}}if(u&&this.allowEmpty&&(!((c=u==null?void 0:u.details)===null||c===void 0)&&c.includes("Results contain 0 rows"))&&(u=null,y=200,p="OK"),u&&this.shouldThrowOnError)throw u}return{error:u,data:l,count:h,status:y,statusText:p}});return this.shouldThrowOnError||(s=s.catch(i=>({error:{message:`FetchError: ${i.message}`,details:"",hint:"",code:i.code||""},data:null,count:null,status:0,statusText:""}))),s.then(e,t)}}class fo extends ho{select(e){let t=!1;const r=(e??"*").split("").map(s=>/\s/.test(s)&&!t?"":(s==='"'&&(t=!t),s)).join("");return this.url.searchParams.set("select",r),this.headers.Prefer&&(this.headers.Prefer+=","),this.headers.Prefer+="return=representation",this}order(e,{ascending:t=!0,nullsFirst:r,foreignTable:s}={}){const i=s?`${s}.order`:"order",o=this.url.searchParams.get(i);return this.url.searchParams.set(i,`${o?`${o},`:""}${e}.${t?"asc":"desc"}${r===void 0?"":r?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:t}={}){const r=typeof t>"u"?"limit":`${t}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:r}={}){const s=typeof r>"u"?"offset":`${r}.offset`,i=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(s,`${e}`),this.url.searchParams.set(i,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.Accept="application/vnd.pgrst.object+json",this}maybeSingle(){return this.headers.Accept="application/vnd.pgrst.object+json",this.allowEmpty=!0,this}csv(){return this.headers.Accept="text/csv",this}geojson(){return this.headers.Accept="application/geo+json",this}explain({analyze:e=!1,verbose:t=!1,settings:r=!1,buffers:s=!1,wal:i=!1,format:o="text"}={}){const a=[e?"analyze":null,t?"verbose":null,r?"settings":null,s?"buffers":null,i?"wal":null].filter(Boolean).join("|"),c=this.headers.Accept;return this.headers.Accept=`application/vnd.pgrst.plan+${o}; for="${c}"; options=${a};`,o==="json"?this:this}rollback(){var e;return((e=this.headers.Prefer)!==null&&e!==void 0?e:"").trim().length>0?this.headers.Prefer+=",tx=rollback":this.headers.Prefer="tx=rollback",this}returns(){return this}}class xt extends fo{eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}in(e,t){const r=t.map(s=>typeof s=="string"&&new RegExp("[,()]").test(s)?`"${s}"`:`${s}`).join(",");return this.url.searchParams.append(e,`in.(${r})`),this}contains(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t=="string"?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(",")}}`),this}textSearch(e,t,{config:r,type:s}={}){let i="";s==="plain"?i="pl":s==="phrase"?i="ph":s==="websearch"&&(i="w");const o=r===void 0?"":`(${r})`;return this.url.searchParams.append(e,`${i}fts${o}.${t}`),this}match(e){return Object.entries(e).forEach(([t,r])=>{this.url.searchParams.append(t,`eq.${r}`)}),this}not(e,t,r){return this.url.searchParams.append(e,`not.${t}.${r}`),this}or(e,{foreignTable:t}={}){const r=t?`${t}.or`:"or";return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,r){return this.url.searchParams.append(e,`${t}.${r}`),this}}class po{constructor(e,{headers:t={},schema:r,fetch:s}){this.url=e,this.headers=t,this.schema=r,this.fetch=s}select(e,{head:t=!1,count:r}={}){const s=t?"HEAD":"GET";let i=!1;const o=(e??"*").split("").map(a=>/\s/.test(a)&&!i?"":(a==='"'&&(i=!i),a)).join("");return this.url.searchParams.set("select",o),r&&(this.headers.Prefer=`count=${r}`),new xt({method:s,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}insert(e,{count:t}={}){const r="POST",s=[],i=e;if(t&&s.push(`count=${t}`),this.headers.Prefer&&s.unshift(this.headers.Prefer),this.headers.Prefer=s.join(","),Array.isArray(e)){const o=e.reduce((a,c)=>a.concat(Object.keys(c)),[]);if(o.length>0){const a=[...new Set(o)].map(c=>`"${c}"`);this.url.searchParams.set("columns",a.join(","))}}return new xt({method:r,url:this.url,headers:this.headers,schema:this.schema,body:i,fetch:this.fetch,allowEmpty:!1})}upsert(e,{onConflict:t,ignoreDuplicates:r=!1,count:s}={}){const i="POST",o=[`resolution=${r?"ignore":"merge"}-duplicates`];t!==void 0&&this.url.searchParams.set("on_conflict",t);const a=e;return s&&o.push(`count=${s}`),this.headers.Prefer&&o.unshift(this.headers.Prefer),this.headers.Prefer=o.join(","),new xt({method:i,url:this.url,headers:this.headers,schema:this.schema,body:a,fetch:this.fetch,allowEmpty:!1})}update(e,{count:t}={}){const r="PATCH",s=[],i=e;return t&&s.push(`count=${t}`),this.headers.Prefer&&s.unshift(this.headers.Prefer),this.headers.Prefer=s.join(","),new xt({method:r,url:this.url,headers:this.headers,schema:this.schema,body:i,fetch:this.fetch,allowEmpty:!1})}delete({count:e}={}){const t="DELETE",r=[];return e&&r.push(`count=${e}`),this.headers.Prefer&&r.unshift(this.headers.Prefer),this.headers.Prefer=r.join(","),new xt({method:t,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}}const yo="1.4.1",mo={"X-Client-Info":`postgrest-js/${yo}`};class go{constructor(e,{headers:t={},schema:r,fetch:s}={}){this.url=e,this.headers=Object.assign(Object.assign({},mo),t),this.schema=r,this.fetch=s}from(e){const t=new URL(`${this.url}/${e}`);return new po(t,{headers:Object.assign({},this.headers),schema:this.schema,fetch:this.fetch})}rpc(e,t={},{head:r=!1,count:s}={}){let i;const o=new URL(`${this.url}/rpc/${e}`);let a;r?(i="HEAD",Object.entries(t).forEach(([u,l])=>{o.searchParams.append(u,`${l}`)})):(i="POST",a=t);const c=Object.assign({},this.headers);return s&&(c.Prefer=`count=${s}`),new xt({method:i,url:o,headers:c,schema:this.schema,body:a,fetch:this.fetch,allowEmpty:!1})}}var qr,Qn;function wo(){if(Qn)return qr;Qn=1;var n=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};return qr=function(){if(this)return this;if(typeof globalThis=="object"&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return n()}try{return __global__||n()}finally{delete Object.prototype.__global__}}(),qr}const bo="websocket",vo="Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.",_o=["websocket","websockets","socket","networking","comet","push","RFC-6455","realtime","server","client"],Eo="Brian McKelvey <theturtle32@gmail.com> (https://github.com/theturtle32)",xo=["Iñaki Baz Castillo <ibc@aliax.net> (http://dev.sipdoc.net)"],To="1.0.34",Oo={type:"git",url:"https://github.com/theturtle32/WebSocket-Node.git"},ko="https://github.com/theturtle32/WebSocket-Node",Ao={node:">=4.0.0"},So={bufferutil:"^4.0.1",debug:"^2.2.0","es5-ext":"^0.10.50","typedarray-to-buffer":"^3.1.5","utf-8-validate":"^5.0.2",yaeti:"^0.0.6"},Ro={"buffer-equal":"^1.0.0",gulp:"^4.0.2","gulp-jshint":"^2.0.4","jshint-stylish":"^2.2.1",jshint:"^2.0.0",tape:"^4.9.1"},$o={verbose:!1},Po={test:"tape test/unit/*.js",gulp:"gulp"},No="index",Io={lib:"./lib"},Co="lib/browser.js",Fo="Apache-2.0",Do={name:bo,description:vo,keywords:_o,author:Eo,contributors:xo,version:To,repository:Oo,homepage:ko,engines:Ao,dependencies:So,devDependencies:Ro,config:$o,scripts:Po,main:No,directories:Io,browser:Co,license:Fo};var Uo=Do.version,Qe;if(typeof globalThis=="object")Qe=globalThis;else try{Qe=wo()}catch{}finally{if(!Qe&&typeof window<"u"&&(Qe=window),!Qe)throw new Error("Could not determine global this")}var qt=Qe.WebSocket||Qe.MozWebSocket,jo=Uo;function qs(n,e){var t;return e?t=new qt(n,e):t=new qt(n),t}qt&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(n){Object.defineProperty(qs,n,{get:function(){return qt[n]}})});var Lo={w3cwebsocket:qt?qs:null,version:jo};const Bo="2.6.0",Ho={"X-Client-Info":`realtime-js/${Bo}`},Mo="1.0.0",Gs=1e4,Vo=1e3;var Mt;(function(n){n[n.connecting=0]="connecting",n[n.open=1]="open",n[n.closing=2]="closing",n[n.closed=3]="closed"})(Mt||(Mt={}));var ne;(function(n){n.closed="closed",n.errored="errored",n.joined="joined",n.joining="joining",n.leaving="leaving"})(ne||(ne={}));var ye;(function(n){n.close="phx_close",n.error="phx_error",n.join="phx_join",n.reply="phx_reply",n.leave="phx_leave",n.access_token="access_token"})(ye||(ye={}));var on;(function(n){n.websocket="websocket"})(on||(on={}));var et;(function(n){n.Connecting="connecting",n.Open="open",n.Closing="closing",n.Closed="closed"})(et||(et={}));class Js{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0,this.callback=e,this.timerCalc=t}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}class zo{constructor(){this.HEADER_LENGTH=1}decode(e,t){return e.constructor===ArrayBuffer?t(this._binaryDecode(e)):t(typeof e=="string"?JSON.parse(e):{})}_binaryDecode(e){const t=new DataView(e),r=new TextDecoder;return this._decodeBroadcast(e,t,r)}_decodeBroadcast(e,t,r){const s=t.getUint8(1),i=t.getUint8(2);let o=this.HEADER_LENGTH+2;const a=r.decode(e.slice(o,o+s));o=o+s;const c=r.decode(e.slice(o,o+i));o=o+i;const u=JSON.parse(r.decode(e.slice(o,e.byteLength)));return{ref:null,topic:a,event:c,payload:u}}}class Gr{constructor(e,t,r={},s=Gs){this.channel=e,this.event=t,this.payload=r,this.timeout=s,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null,this.rateLimited=!1}resend(e){this.timeout=e,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){if(this._hasReceived("timeout"))return;this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()})==="rate limited"&&(this.rateLimited=!0)}updatePayload(e){this.payload=Object.assign(Object.assign({},this.payload),e)}receive(e,t){var r;return this._hasReceived(e)&&t((r=this.receivedResp)===null||r===void 0?void 0:r.response),this.recHooks.push({status:e,callback:t}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);const e=t=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=t,this._matchReceive(t)};this.channel._on(this.refEvent,{},e),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(e,t){this.refEvent&&this.channel._trigger(this.refEvent,{status:e,response:t})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:e,response:t}){this.recHooks.filter(r=>r.status===e).forEach(r=>r.callback(t))}_hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}}var es;(function(n){n.SYNC="sync",n.JOIN="join",n.LEAVE="leave"})(es||(es={}));class Vt{constructor(e,t){this.channel=e,this.state={},this.pendingDiffs=[],this.joinRef=null,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const r=(t==null?void 0:t.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(r.state,{},s=>{const{onJoin:i,onLeave:o,onSync:a}=this.caller;this.joinRef=this.channel._joinRef(),this.state=Vt.syncState(this.state,s,i,o),this.pendingDiffs.forEach(c=>{this.state=Vt.syncDiff(this.state,c,i,o)}),this.pendingDiffs=[],a()}),this.channel._on(r.diff,{},s=>{const{onJoin:i,onLeave:o,onSync:a}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(s):(this.state=Vt.syncDiff(this.state,s,i,o),a())}),this.onJoin((s,i,o)=>{this.channel._trigger("presence",{event:"join",key:s,currentPresences:i,newPresences:o})}),this.onLeave((s,i,o)=>{this.channel._trigger("presence",{event:"leave",key:s,currentPresences:i,leftPresences:o})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(e,t,r,s){const i=this.cloneDeep(e),o=this.transformState(t),a={},c={};return this.map(i,(u,l)=>{o[u]||(c[u]=l)}),this.map(o,(u,l)=>{const h=i[u];if(h){const y=l.map(g=>g.presence_ref),p=h.map(g=>g.presence_ref),w=l.filter(g=>p.indexOf(g.presence_ref)<0),v=h.filter(g=>y.indexOf(g.presence_ref)<0);w.length>0&&(a[u]=w),v.length>0&&(c[u]=v)}else a[u]=l}),this.syncDiff(i,{joins:a,leaves:c},r,s)}static syncDiff(e,t,r,s){const{joins:i,leaves:o}={joins:this.transformState(t.joins),leaves:this.transformState(t.leaves)};return r||(r=()=>{}),s||(s=()=>{}),this.map(i,(a,c)=>{var u;const l=(u=e[a])!==null&&u!==void 0?u:[];if(e[a]=this.cloneDeep(c),l.length>0){const h=e[a].map(p=>p.presence_ref),y=l.filter(p=>h.indexOf(p.presence_ref)<0);e[a].unshift(...y)}r(a,l,c)}),this.map(o,(a,c)=>{let u=e[a];if(!u)return;const l=c.map(h=>h.presence_ref);u=u.filter(h=>l.indexOf(h.presence_ref)<0),e[a]=u,s(a,u,c),u.length===0&&delete e[a]}),e}static map(e,t){return Object.getOwnPropertyNames(e).map(r=>t(r,e[r]))}static transformState(e){return e=this.cloneDeep(e),Object.getOwnPropertyNames(e).reduce((t,r)=>{const s=e[r];return"metas"in s?t[r]=s.metas.map(i=>(i.presence_ref=i.phx_ref,delete i.phx_ref,delete i.phx_ref_prev,i)):t[r]=s,t},{})}static cloneDeep(e){return JSON.parse(JSON.stringify(e))}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}var D;(function(n){n.abstime="abstime",n.bool="bool",n.date="date",n.daterange="daterange",n.float4="float4",n.float8="float8",n.int2="int2",n.int4="int4",n.int4range="int4range",n.int8="int8",n.int8range="int8range",n.json="json",n.jsonb="jsonb",n.money="money",n.numeric="numeric",n.oid="oid",n.reltime="reltime",n.text="text",n.time="time",n.timestamp="timestamp",n.timestamptz="timestamptz",n.timetz="timetz",n.tsrange="tsrange",n.tstzrange="tstzrange"})(D||(D={}));const ts=(n,e,t={})=>{var r;const s=(r=t.skipTypes)!==null&&r!==void 0?r:[];return Object.keys(e).reduce((i,o)=>(i[o]=qo(o,n,e,s),i),{})},qo=(n,e,t,r)=>{const s=e.find(a=>a.name===n),i=s==null?void 0:s.type,o=t[n];return i&&!r.includes(i)?Ws(i,o):an(o)},Ws=(n,e)=>{if(n.charAt(0)==="_"){const t=n.slice(1,n.length);return Ko(e,t)}switch(n){case D.bool:return Go(e);case D.float4:case D.float8:case D.int2:case D.int4:case D.int8:case D.numeric:case D.oid:return Jo(e);case D.json:case D.jsonb:return Wo(e);case D.timestamp:return Xo(e);case D.abstime:case D.date:case D.daterange:case D.int4range:case D.int8range:case D.money:case D.reltime:case D.text:case D.time:case D.timestamptz:case D.timetz:case D.tsrange:case D.tstzrange:return an(e);default:return an(e)}},an=n=>n,Go=n=>{switch(n){case"t":return!0;case"f":return!1;default:return n}},Jo=n=>{if(typeof n=="string"){const e=parseFloat(n);if(!Number.isNaN(e))return e}return n},Wo=n=>{if(typeof n=="string")try{return JSON.parse(n)}catch(e){return console.log(`JSON parse error: ${e}`),n}return n},Ko=(n,e)=>{if(typeof n!="string")return n;const t=n.length-1,r=n[t];if(n[0]==="{"&&r==="}"){let i;const o=n.slice(1,t);try{i=JSON.parse("["+o+"]")}catch{i=o?o.split(","):[]}return i.map(a=>Ws(e,a))}return n},Xo=n=>typeof n=="string"?n.replace(" ","T"):n;var rs=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})},ns;(function(n){n.ALL="*",n.INSERT="INSERT",n.UPDATE="UPDATE",n.DELETE="DELETE"})(ns||(ns={}));var ss;(function(n){n.BROADCAST="broadcast",n.PRESENCE="presence",n.POSTGRES_CHANGES="postgres_changes"})(ss||(ss={}));var is;(function(n){n.SUBSCRIBED="SUBSCRIBED",n.TIMED_OUT="TIMED_OUT",n.CLOSED="CLOSED",n.CHANNEL_ERROR="CHANNEL_ERROR"})(is||(is={}));class Rn{constructor(e,t={config:{}},r){this.topic=e,this.params=t,this.socket=r,this.bindings={},this.state=ne.closed,this.joinedOnce=!1,this.pushBuffer=[],this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:""}},t.config),this.timeout=this.socket.timeout,this.joinPush=new Gr(this,ye.join,this.params,this.timeout),this.rejoinTimer=new Js(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=ne.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(s=>s.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=ne.closed,this.socket._remove(this)}),this._onError(s=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,s),this.state=ne.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=ne.errored,this.rejoinTimer.scheduleTimeout())}),this._on(ye.reply,{},(s,i)=>{this._trigger(this._replyEventName(i),s)}),this.presence=new Vt(this)}subscribe(e,t=this.timeout){var r,s;if(this.joinedOnce)throw"tried to subscribe multiple times. 'subscribe' can only be called a single time per channel instance";{const{config:{broadcast:i,presence:o}}=this.params;this._onError(u=>e&&e("CHANNEL_ERROR",u)),this._onClose(()=>e&&e("CLOSED"));const a={},c={broadcast:i,presence:o,postgres_changes:(s=(r=this.bindings.postgres_changes)===null||r===void 0?void 0:r.map(u=>u.filter))!==null&&s!==void 0?s:[]};this.socket.accessToken&&(a.access_token=this.socket.accessToken),this.updateJoinPayload(Object.assign({config:c},a)),this.joinedOnce=!0,this._rejoin(t),this.joinPush.receive("ok",({postgres_changes:u})=>{var l;if(this.socket.accessToken&&this.socket.setAuth(this.socket.accessToken),u===void 0){e&&e("SUBSCRIBED");return}else{const h=this.bindings.postgres_changes,y=(l=h==null?void 0:h.length)!==null&&l!==void 0?l:0,p=[];for(let w=0;w<y;w++){const v=h[w],{filter:{event:g,schema:A,table:C,filter:X}}=v,U=u&&u[w];if(U&&U.event===g&&U.schema===A&&U.table===C&&U.filter===X)p.push(Object.assign(Object.assign({},v),{id:U.id}));else{this.unsubscribe(),e&&e("CHANNEL_ERROR",new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=p,e&&e("SUBSCRIBED");return}}).receive("error",u=>{e&&e("CHANNEL_ERROR",new Error(JSON.stringify(Object.values(u).join(", ")||"error")))}).receive("timeout",()=>{e&&e("TIMED_OUT")})}return this}presenceState(){return this.presence.state}track(e,t={}){return rs(this,void 0,void 0,function*(){return yield this.send({type:"presence",event:"track",payload:e},t.timeout||this.timeout)})}untrack(e={}){return rs(this,void 0,void 0,function*(){return yield this.send({type:"presence",event:"untrack"},e)})}on(e,t,r){return this._on(e,t,r)}send(e,t={}){return new Promise(r=>{var s,i,o;const a=this._push(e.type,e,t.timeout||this.timeout);a.rateLimited&&r("rate limited"),e.type==="broadcast"&&!(!((o=(i=(s=this.params)===null||s===void 0?void 0:s.config)===null||i===void 0?void 0:i.broadcast)===null||o===void 0)&&o.ack)&&r("ok"),a.receive("ok",()=>r("ok")),a.receive("timeout",()=>r("timed out"))})}updateJoinPayload(e){this.joinPush.updatePayload(e)}unsubscribe(e=this.timeout){this.state=ne.leaving;const t=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(ye.close,"leave",this._joinRef())};return this.rejoinTimer.reset(),this.joinPush.destroy(),new Promise(r=>{const s=new Gr(this,ye.leave,{},e);s.receive("ok",()=>{t(),r("ok")}).receive("timeout",()=>{t(),r("timed out")}).receive("error",()=>{r("error")}),s.send(),this._canPush()||s.trigger("ok",{})})}_push(e,t,r=this.timeout){if(!this.joinedOnce)throw`tried to push '${e}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let s=new Gr(this,e,t,r);return this._canPush()?s.send():(s.startTimeout(),this.pushBuffer.push(s)),s}_onMessage(e,t,r){return t}_isMember(e){return this.topic===e}_joinRef(){return this.joinPush.ref}_trigger(e,t,r){var s,i;const o=e.toLocaleLowerCase(),{close:a,error:c,leave:u,join:l}=ye;if(r&&[a,c,u,l].indexOf(o)>=0&&r!==this._joinRef())return;let y=this._onMessage(o,t,r);if(t&&!y)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(o)?(s=this.bindings.postgres_changes)===null||s===void 0||s.filter(p=>{var w,v,g;return((w=p.filter)===null||w===void 0?void 0:w.event)==="*"||((g=(v=p.filter)===null||v===void 0?void 0:v.event)===null||g===void 0?void 0:g.toLocaleLowerCase())===o}).map(p=>p.callback(y,r)):(i=this.bindings[o])===null||i===void 0||i.filter(p=>{var w,v,g,A,C,X;if(["broadcast","presence","postgres_changes"].includes(o))if("id"in p){const U=p.id,be=(w=p.filter)===null||w===void 0?void 0:w.event;return U&&((v=t.ids)===null||v===void 0?void 0:v.includes(U))&&(be==="*"||(be==null?void 0:be.toLocaleLowerCase())===((g=t.data)===null||g===void 0?void 0:g.type.toLocaleLowerCase()))}else{const U=(C=(A=p==null?void 0:p.filter)===null||A===void 0?void 0:A.event)===null||C===void 0?void 0:C.toLocaleLowerCase();return U==="*"||U===((X=t==null?void 0:t.event)===null||X===void 0?void 0:X.toLocaleLowerCase())}else return p.type.toLocaleLowerCase()===o}).map(p=>{if(typeof y=="object"&&"ids"in y){const w=y.data,{schema:v,table:g,commit_timestamp:A,type:C,errors:X}=w;y=Object.assign(Object.assign({},{schema:v,table:g,commit_timestamp:A,eventType:C,new:{},old:{},errors:X}),this._getPayloadRecords(w))}p.callback(y,r)})}_isClosed(){return this.state===ne.closed}_isJoined(){return this.state===ne.joined}_isJoining(){return this.state===ne.joining}_isLeaving(){return this.state===ne.leaving}_replyEventName(e){return`chan_reply_${e}`}_on(e,t,r){const s=e.toLocaleLowerCase(),i={type:s,filter:t,callback:r};return this.bindings[s]?this.bindings[s].push(i):this.bindings[s]=[i],this}_off(e,t){const r=e.toLocaleLowerCase();return this.bindings[r]=this.bindings[r].filter(s=>{var i;return!(((i=s.type)===null||i===void 0?void 0:i.toLocaleLowerCase())===r&&Rn.isEqual(s.filter,t))}),this}static isEqual(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(e[r]!==t[r])return!1;return!0}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(e){this._on(ye.close,{},e)}_onError(e){this._on(ye.error,{},t=>e(t))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=ne.joining,this.joinPush.resend(e))}_getPayloadRecords(e){const t={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(t.new=ts(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(t.old=ts(e.columns,e.old_record)),t}}var Zo=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const Yo=()=>{};class Qo{constructor(e,t){var r;this.accessToken=null,this.channels=[],this.endPoint="",this.headers=Ho,this.params={},this.timeout=Gs,this.transport=Lo.w3cwebsocket,this.heartbeatIntervalMs=3e4,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.ref=0,this.logger=Yo,this.conn=null,this.sendBuffer=[],this.serializer=new zo,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.eventsPerSecondLimitMs=100,this.inThrottle=!1,this.endPoint=`${e}/${on.websocket}`,t!=null&&t.params&&(this.params=t.params),t!=null&&t.headers&&(this.headers=Object.assign(Object.assign({},this.headers),t.headers)),t!=null&&t.timeout&&(this.timeout=t.timeout),t!=null&&t.logger&&(this.logger=t.logger),t!=null&&t.transport&&(this.transport=t.transport),t!=null&&t.heartbeatIntervalMs&&(this.heartbeatIntervalMs=t.heartbeatIntervalMs);const s=(r=t==null?void 0:t.params)===null||r===void 0?void 0:r.eventsPerSecond;s&&(this.eventsPerSecondLimitMs=Math.floor(1e3/s)),this.reconnectAfterMs=t!=null&&t.reconnectAfterMs?t.reconnectAfterMs:i=>[1e3,2e3,5e3,1e4][i-1]||1e4,this.encode=t!=null&&t.encode?t.encode:(i,o)=>o(JSON.stringify(i)),this.decode=t!=null&&t.decode?t.decode:this.serializer.decode.bind(this.serializer),this.reconnectTimer=new Js(()=>Zo(this,void 0,void 0,function*(){this.disconnect(),this.connect()}),this.reconnectAfterMs)}connect(){this.conn||(this.conn=new this.transport(this._endPointURL(),[],null,this.headers),this.conn&&(this.conn.binaryType="arraybuffer",this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=e=>this._onConnError(e),this.conn.onmessage=e=>this._onConnMessage(e),this.conn.onclose=e=>this._onConnClose(e)))}disconnect(e,t){this.conn&&(this.conn.onclose=function(){},e?this.conn.close(e,t??""):this.conn.close(),this.conn=null,this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.reset())}getChannels(){return this.channels}removeChannel(e){return e.unsubscribe().then(t=>(this.channels.length===0&&this.disconnect(),t))}removeAllChannels(){return Promise.all(this.channels.map(e=>e.unsubscribe())).then(e=>(this.disconnect(),e))}log(e,t,r){this.logger(e,t,r)}connectionState(){switch(this.conn&&this.conn.readyState){case Mt.connecting:return et.Connecting;case Mt.open:return et.Open;case Mt.closing:return et.Closing;default:return et.Closed}}isConnected(){return this.connectionState()===et.Open}channel(e,t={config:{}}){this.isConnected()||this.connect();const r=new Rn(`realtime:${e}`,t,this);return this.channels.push(r),r}push(e){const{topic:t,event:r,payload:s,ref:i}=e;let o=()=>{this.encode(e,a=>{var c;(c=this.conn)===null||c===void 0||c.send(a)})};if(this.log("push",`${t} ${r} (${i})`,s),this.isConnected())if(["broadcast","presence","postgres_changes"].includes(r)){if(this._throttle(o)())return"rate limited"}else o();else this.sendBuffer.push(o)}setAuth(e){this.accessToken=e,this.channels.forEach(t=>{e&&t.updateJoinPayload({access_token:e}),t.joinedOnce&&t._isJoined()&&t._push(ye.access_token,{access_token:e})})}_makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}_leaveOpenTopic(e){let t=this.channels.find(r=>r.topic===e&&(r._isJoined()||r._isJoining()));t&&(this.log("transport",`leaving duplicate topic "${e}"`),t.unsubscribe())}_remove(e){this.channels=this.channels.filter(t=>t._joinRef()!==e._joinRef())}_endPointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:Mo}))}_onConnMessage(e){this.decode(e.data,t=>{let{topic:r,event:s,payload:i,ref:o}=t;(o&&o===this.pendingHeartbeatRef||s===(i==null?void 0:i.type))&&(this.pendingHeartbeatRef=null),this.log("receive",`${i.status||""} ${r} ${s} ${o&&"("+o+")"||""}`,i),this.channels.filter(a=>a._isMember(r)).forEach(a=>a._trigger(s,i,o)),this.stateChangeCallbacks.message.forEach(a=>a(t))})}_onConnOpen(){this.log("transport",`connected to ${this._endPointURL()}`),this._flushSendBuffer(),this.reconnectTimer.reset(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this._sendHeartbeat(),this.heartbeatIntervalMs),this.stateChangeCallbacks.open.forEach(e=>e())}_onConnClose(e){this.log("transport","close",e),this._triggerChanError(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.scheduleTimeout(),this.stateChangeCallbacks.close.forEach(t=>t(e))}_onConnError(e){this.log("transport",e.message),this._triggerChanError(),this.stateChangeCallbacks.error.forEach(t=>t(e))}_triggerChanError(){this.channels.forEach(e=>e._trigger(ye.error))}_appendParams(e,t){if(Object.keys(t).length===0)return e;const r=e.match(/\?/)?"&":"?",s=new URLSearchParams(t);return`${e}${r}${s}`}_flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}_sendHeartbeat(){var e;if(this.isConnected()){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection"),(e=this.conn)===null||e===void 0||e.close(Vo,"hearbeat timeout");return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef}),this.setAuth(this.accessToken)}}_throttle(e,t=this.eventsPerSecondLimitMs){return()=>this.inThrottle?!0:(e(),t>0&&(this.inThrottle=!0,setTimeout(()=>{this.inThrottle=!1},t)),!1)}}class Ks extends Error{constructor(e){super(e),this.__isStorageError=!0,this.name="StorageError"}}function Q(n){return typeof n=="object"&&n!==null&&"__isStorageError"in n}class ea extends Ks{constructor(e,t){super(e),this.name="StorageApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class os extends Ks{constructor(e,t){super(e),this.name="StorageUnknownError",this.originalError=t}}var Xs=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const Zs=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>Xs(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>Rr)).fetch(...t)}):e=fetch,(...t)=>e(...t)},ta=()=>Xs(void 0,void 0,void 0,function*(){return typeof Response>"u"?(yield Promise.resolve().then(()=>Rr)).Response:Response});var Ft=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const Jr=n=>n.msg||n.message||n.error_description||n.error||JSON.stringify(n),ra=(n,e)=>Ft(void 0,void 0,void 0,function*(){const t=yield ta();n instanceof t?n.json().then(r=>{e(new ea(Jr(r),n.status||500))}).catch(r=>{e(new os(Jr(r),r))}):e(new os(Jr(n),n))}),na=(n,e,t,r)=>{const s={method:n,headers:(e==null?void 0:e.headers)||{}};return n==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json"},e==null?void 0:e.headers),s.body=JSON.stringify(r),Object.assign(Object.assign({},s),t))};function $r(n,e,t,r,s,i){return Ft(this,void 0,void 0,function*(){return new Promise((o,a)=>{n(t,na(e,r,s,i)).then(c=>{if(!c.ok)throw c;return r!=null&&r.noResolveJson?c:c.json()}).then(c=>o(c)).catch(c=>ra(c,a))})})}function cn(n,e,t,r){return Ft(this,void 0,void 0,function*(){return $r(n,"GET",e,t,r)})}function tt(n,e,t,r,s){return Ft(this,void 0,void 0,function*(){return $r(n,"POST",e,r,s,t)})}function sa(n,e,t,r,s){return Ft(this,void 0,void 0,function*(){return $r(n,"PUT",e,r,s,t)})}function Ys(n,e,t,r,s){return Ft(this,void 0,void 0,function*(){return $r(n,"DELETE",e,r,s,t)})}var ve=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const ia={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},oa={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class aa{constructor(e,t={},r,s){this.url=e,this.headers=t,this.bucketId=r,this.fetch=Zs(s)}uploadOrUpdate(e,t,r,s){return ve(this,void 0,void 0,function*(){try{let i;const o=Object.assign(Object.assign({},oa),s),a=Object.assign(Object.assign({},this.headers),e==="POST"&&{"x-upsert":String(o.upsert)});typeof Blob<"u"&&r instanceof Blob?(i=new FormData,i.append("cacheControl",o.cacheControl),i.append("",r)):typeof FormData<"u"&&r instanceof FormData?(i=r,i.append("cacheControl",o.cacheControl)):(i=r,a["cache-control"]=`max-age=${o.cacheControl}`,a["content-type"]=o.contentType);const c=this._removeEmptyFolders(t),u=this._getFinalPath(c),l=yield this.fetch(`${this.url}/object/${u}`,{method:e,body:i,headers:a});return l.ok?{data:{path:c},error:null}:{data:null,error:yield l.json()}}catch(i){if(Q(i))return{data:null,error:i};throw i}})}upload(e,t,r){return ve(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",e,t,r)})}update(e,t,r){return ve(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",e,t,r)})}move(e,t){return ve(this,void 0,void 0,function*(){try{return{data:yield tt(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers}),error:null}}catch(r){if(Q(r))return{data:null,error:r};throw r}})}copy(e,t){return ve(this,void 0,void 0,function*(){try{return{data:{path:(yield tt(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers})).Key},error:null}}catch(r){if(Q(r))return{data:null,error:r};throw r}})}createSignedUrl(e,t,r){return ve(this,void 0,void 0,function*(){try{let s=this._getFinalPath(e),i=yield tt(this.fetch,`${this.url}/object/sign/${s}`,Object.assign({expiresIn:t},r!=null&&r.transform?{transform:r.transform}:{}),{headers:this.headers});const o=r!=null&&r.download?`&download=${r.download===!0?"":r.download}`:"";return i={signedUrl:encodeURI(`${this.url}${i.signedURL}${o}`)},{data:i,error:null}}catch(s){if(Q(s))return{data:null,error:s};throw s}})}createSignedUrls(e,t,r){return ve(this,void 0,void 0,function*(){try{const s=yield tt(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:t,paths:e},{headers:this.headers}),i=r!=null&&r.download?`&download=${r.download===!0?"":r.download}`:"";return{data:s.map(o=>Object.assign(Object.assign({},o),{signedUrl:o.signedURL?encodeURI(`${this.url}${o.signedURL}${i}`):null})),error:null}}catch(s){if(Q(s))return{data:null,error:s};throw s}})}download(e,t){return ve(this,void 0,void 0,function*(){const s=typeof(t==null?void 0:t.transform)<"u"?"render/image/authenticated":"object",i=this.transformOptsToQueryString((t==null?void 0:t.transform)||{}),o=i?`?${i}`:"";try{const a=this._getFinalPath(e);return{data:yield(yield cn(this.fetch,`${this.url}/${s}/${a}${o}`,{headers:this.headers,noResolveJson:!0})).blob(),error:null}}catch(a){if(Q(a))return{data:null,error:a};throw a}})}getPublicUrl(e,t){const r=this._getFinalPath(e),s=[],i=t!=null&&t.download?`download=${t.download===!0?"":t.download}`:"";i!==""&&s.push(i);const a=typeof(t==null?void 0:t.transform)<"u"?"render/image":"object",c=this.transformOptsToQueryString((t==null?void 0:t.transform)||{});c!==""&&s.push(c);let u=s.join("&");return u!==""&&(u=`?${u}`),{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${r}${u}`)}}}remove(e){return ve(this,void 0,void 0,function*(){try{return{data:yield Ys(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:e},{headers:this.headers}),error:null}}catch(t){if(Q(t))return{data:null,error:t};throw t}})}list(e,t,r){return ve(this,void 0,void 0,function*(){try{const s=Object.assign(Object.assign(Object.assign({},ia),t),{prefix:e||""});return{data:yield tt(this.fetch,`${this.url}/object/list/${this.bucketId}`,s,{headers:this.headers},r),error:null}}catch(s){if(Q(s))return{data:null,error:s};throw s}})}_getFinalPath(e){return`${this.bucketId}/${e}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(e){const t=[];return e.width&&t.push(`width=${e.width}`),e.height&&t.push(`height=${e.height}`),e.resize&&t.push(`resize=${e.resize}`),e.format&&t.push(`format=${e.format}`),e.quality&&t.push(`quality=${e.quality}`),t.join("&")}}const ca="2.3.1",ua={"X-Client-Info":`storage-js/${ca}`};var bt=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};class la{constructor(e,t={},r){this.url=e,this.headers=Object.assign(Object.assign({},ua),t),this.fetch=Zs(r)}listBuckets(){return bt(this,void 0,void 0,function*(){try{return{data:yield cn(this.fetch,`${this.url}/bucket`,{headers:this.headers}),error:null}}catch(e){if(Q(e))return{data:null,error:e};throw e}})}getBucket(e){return bt(this,void 0,void 0,function*(){try{return{data:yield cn(this.fetch,`${this.url}/bucket/${e}`,{headers:this.headers}),error:null}}catch(t){if(Q(t))return{data:null,error:t};throw t}})}createBucket(e,t={public:!1}){return bt(this,void 0,void 0,function*(){try{return{data:yield tt(this.fetch,`${this.url}/bucket`,{id:e,name:e,public:t.public},{headers:this.headers}),error:null}}catch(r){if(Q(r))return{data:null,error:r};throw r}})}updateBucket(e,t){return bt(this,void 0,void 0,function*(){try{return{data:yield sa(this.fetch,`${this.url}/bucket/${e}`,{id:e,name:e,public:t.public},{headers:this.headers}),error:null}}catch(r){if(Q(r))return{data:null,error:r};throw r}})}emptyBucket(e){return bt(this,void 0,void 0,function*(){try{return{data:yield tt(this.fetch,`${this.url}/bucket/${e}/empty`,{},{headers:this.headers}),error:null}}catch(t){if(Q(t))return{data:null,error:t};throw t}})}deleteBucket(e){return bt(this,void 0,void 0,function*(){try{return{data:yield Ys(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers}),error:null}}catch(t){if(Q(t))return{data:null,error:t};throw t}})}}class ha extends la{constructor(e,t={},r){super(e,t,r)}from(e){return new aa(this.url,this.headers,e,this.fetch)}}const fa="2.10.0",da={"X-Client-Info":`supabase-js/${fa}`};var pa=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const ya=n=>{let e;return n?e=n:typeof fetch>"u"?e=Sn:e=fetch,(...t)=>e(...t)},ma=()=>typeof Headers>"u"?Ct.Headers:Headers,ga=(n,e,t)=>{const r=ya(t),s=ma();return(i,o)=>pa(void 0,void 0,void 0,function*(){var a;const c=(a=yield e())!==null&&a!==void 0?a:n;let u=new s(o==null?void 0:o.headers);return u.has("apikey")||u.set("apikey",n),u.has("Authorization")||u.set("Authorization",`Bearer ${c}`),r(i,Object.assign(Object.assign({},o),{headers:u}))})};function wa(n){return n.replace(/\/$/,"")}function ba(n,e){const{db:t,auth:r,realtime:s,global:i}=n,{db:o,auth:a,realtime:c,global:u}=e;return{db:Object.assign(Object.assign({},o),t),auth:Object.assign(Object.assign({},a),r),realtime:Object.assign(Object.assign({},c),s),global:Object.assign(Object.assign({},u),i)}}var tr=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};function va(n){return Math.round(Date.now()/1e3)+n}function _a(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){const e=Math.random()*16|0;return(n=="x"?e:e&3|8).toString(16)})}const Ye=()=>typeof document<"u",Xe={tested:!1,writable:!1},Wr=()=>{if(!Ye())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(Xe.tested)return Xe.writable;const n=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(n,n),globalThis.localStorage.removeItem(n),Xe.tested=!0,Xe.writable=!0}catch{Xe.tested=!0,Xe.writable=!1}return Xe.writable};function ae(n,e){var t;e||(e=((t=window==null?void 0:window.location)===null||t===void 0?void 0:t.href)||""),n=n.replace(/[\[\]]/g,"\\$&");const r=new RegExp("[?&#]"+n+"(=([^&#]*)|&|#|$)"),s=r.exec(e);return s?s[2]?decodeURIComponent(s[2].replace(/\+/g," ")):"":null}const Qs=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>tr(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>Rr)).fetch(...t)}):e=fetch,(...t)=>e(...t)},Ea=n=>typeof n=="object"&&n!==null&&"status"in n&&"ok"in n&&"json"in n&&typeof n.json=="function",xa=(n,e,t)=>tr(void 0,void 0,void 0,function*(){yield n.setItem(e,JSON.stringify(t))}),as=(n,e)=>tr(void 0,void 0,void 0,function*(){const t=yield n.getItem(e);if(!t)return null;try{return JSON.parse(t)}catch{return t}}),Ta=(n,e)=>tr(void 0,void 0,void 0,function*(){yield n.removeItem(e)});function Oa(n){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let t="",r,s,i,o,a,c,u,l=0;for(n=n.replace("-","+").replace("_","/");l<n.length;)o=e.indexOf(n.charAt(l++)),a=e.indexOf(n.charAt(l++)),c=e.indexOf(n.charAt(l++)),u=e.indexOf(n.charAt(l++)),r=o<<2|a>>4,s=(a&15)<<4|c>>2,i=(c&3)<<6|u,t=t+String.fromCharCode(r),c!=64&&s!=0&&(t=t+String.fromCharCode(s)),u!=64&&i!=0&&(t=t+String.fromCharCode(i));return t}class Pr{constructor(){this.promise=new Pr.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}}Pr.promiseConstructor=Promise;function cs(n){const e=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i,t=n.split(".");if(t.length!==3)throw new Error("JWT is not valid: not a JWT structure");if(!e.test(t[1]))throw new Error("JWT is not valid: payload is not in base64url format");const r=t[1];return JSON.parse(Oa(r))}function ka(n){return new Promise(e=>{setTimeout(()=>e(null),n)})}function Aa(n,e){return new Promise((r,s)=>{tr(this,void 0,void 0,function*(){for(let i=0;i<1/0;i++)try{const o=yield n(i);if(!e(i,null,o)){r(o);return}}catch(o){if(!e(i,o)){s(o);return}}})})}class $n extends Error{constructor(e,t){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=t}}function $(n){return typeof n=="object"&&n!==null&&"__isAuthError"in n}class Sa extends $n{constructor(e,t){super(e,t),this.name="AuthApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}function Ra(n){return $(n)&&n.name==="AuthApiError"}class ei extends $n{constructor(e,t){super(e),this.name="AuthUnknownError",this.originalError=t}}class Nr extends $n{constructor(e,t,r){super(e),this.name=t,this.status=r}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class jt extends Nr{constructor(){super("Auth session missing!","AuthSessionMissingError",400)}}class Kr extends Nr{constructor(e){super(e,"AuthInvalidCredentialsError",400)}}class Ae extends Nr{constructor(e,t=null){super(e,"AuthImplicitGrantRedirectError",500),this.details=null,this.details=t}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class un extends Nr{constructor(e,t){super(e,"AuthRetryableFetchError",t)}}var Pn=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})},$a=globalThis&&globalThis.__rest||function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,r=Object.getOwnPropertySymbols(n);s<r.length;s++)e.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(n,r[s])&&(t[r[s]]=n[r[s]]);return t};const ar=n=>n.msg||n.message||n.error_description||n.error||JSON.stringify(n),Pa=(n,e)=>Pn(void 0,void 0,void 0,function*(){const t=[502,503,504];Ea(n)?t.includes(n.status)?e(new un(ar(n),n.status)):n.json().then(r=>{e(new Sa(ar(r),n.status||500))}).catch(r=>{e(new ei(ar(r),r))}):e(new un(ar(n),0))}),Na=(n,e,t,r)=>{const s={method:n,headers:(e==null?void 0:e.headers)||{}};return n==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),s.body=JSON.stringify(r),Object.assign(Object.assign({},s),t))};function I(n,e,t,r){var s;return Pn(this,void 0,void 0,function*(){const i=Object.assign({},r==null?void 0:r.headers);r!=null&&r.jwt&&(i.Authorization=`Bearer ${r.jwt}`);const o=(s=r==null?void 0:r.query)!==null&&s!==void 0?s:{};r!=null&&r.redirectTo&&(o.redirect_to=r.redirectTo);const a=Object.keys(o).length?"?"+new URLSearchParams(o).toString():"",c=yield Ia(n,e,t+a,{headers:i,noResolveJson:r==null?void 0:r.noResolveJson},{},r==null?void 0:r.body);return r!=null&&r.xform?r==null?void 0:r.xform(c):{data:Object.assign({},c),error:null}})}function Ia(n,e,t,r,s,i){return Pn(this,void 0,void 0,function*(){return new Promise((o,a)=>{n(t,Na(e,r,s,i)).then(c=>{if(!c.ok)throw c;return r!=null&&r.noResolveJson?c:c.json()}).then(c=>o(c)).catch(c=>Pa(c,a))})})}function Ze(n){var e;let t=null;Ua(n)&&(t=Object.assign({},n),t.expires_at=va(n.expires_in));const r=(e=n.user)!==null&&e!==void 0?e:n;return{data:{session:t,user:r},error:null}}function rt(n){var e;return{data:{user:(e=n.user)!==null&&e!==void 0?e:n},error:null}}function Ca(n){return{data:n,error:null}}function Fa(n){const{action_link:e,email_otp:t,hashed_token:r,redirect_to:s,verification_type:i}=n,o=$a(n,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),a={action_link:e,email_otp:t,hashed_token:r,redirect_to:s,verification_type:i},c=Object.assign({},o);return{data:{properties:a,user:c},error:null}}function Da(n){return n}function Ua(n){return n.access_token&&n.refresh_token&&n.expires_in}var _e=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})},ja=globalThis&&globalThis.__rest||function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,r=Object.getOwnPropertySymbols(n);s<r.length;s++)e.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(n,r[s])&&(t[r[s]]=n[r[s]]);return t};class La{constructor({url:e="",headers:t={},fetch:r}){this.url=e,this.headers=t,this.fetch=Qs(r),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)}}signOut(e){return _e(this,void 0,void 0,function*(){try{return yield I(this.fetch,"POST",`${this.url}/logout`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(t){if($(t))return{data:null,error:t};throw t}})}inviteUserByEmail(e,t={}){return _e(this,void 0,void 0,function*(){try{return yield I(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:rt})}catch(r){if($(r))return{data:{user:null},error:r};throw r}})}generateLink(e){return _e(this,void 0,void 0,function*(){try{const{options:t}=e,r=ja(e,["options"]),s=Object.assign(Object.assign({},r),t);return"newEmail"in r&&(s.new_email=r==null?void 0:r.newEmail,delete s.newEmail),yield I(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:Fa,redirectTo:t==null?void 0:t.redirectTo})}catch(t){if($(t))return{data:{properties:null,user:null},error:t};throw t}})}createUser(e){return _e(this,void 0,void 0,function*(){try{return yield I(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:rt})}catch(t){if($(t))return{data:{user:null},error:t};throw t}})}listUsers(e){var t,r,s,i,o,a,c;return _e(this,void 0,void 0,function*(){try{const u={nextPage:null,lastPage:0,total:0},l=yield I(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(t=e==null?void 0:e.page)===null||t===void 0?void 0:t.toString())!==null&&r!==void 0?r:"",per_page:(i=(s=e==null?void 0:e.perPage)===null||s===void 0?void 0:s.toString())!==null&&i!==void 0?i:""},xform:Da});if(l.error)throw l.error;const h=yield l.json(),y=(o=l.headers.get("x-total-count"))!==null&&o!==void 0?o:0,p=(c=(a=l.headers.get("link"))===null||a===void 0?void 0:a.split(","))!==null&&c!==void 0?c:[];return p.length>0&&(p.forEach(w=>{const v=parseInt(w.split(";")[0].split("=")[1].substring(0,1)),g=JSON.parse(w.split(";")[1].split("=")[1]);u[`${g}Page`]=v}),u.total=parseInt(y)),{data:Object.assign(Object.assign({},h),u),error:null}}catch(u){if($(u))return{data:{users:[]},error:u};throw u}})}getUserById(e){return _e(this,void 0,void 0,function*(){try{return yield I(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:rt})}catch(t){if($(t))return{data:{user:null},error:t};throw t}})}updateUserById(e,t){return _e(this,void 0,void 0,function*(){try{return yield I(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:rt})}catch(r){if($(r))return{data:{user:null},error:r};throw r}})}deleteUser(e,t=!1){return _e(this,void 0,void 0,function*(){try{return yield I(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:rt})}catch(r){if($(r))return{data:{user:null},error:r};throw r}})}_listFactors(e){return _e(this,void 0,void 0,function*(){try{const{data:t,error:r}=yield I(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:s=>({data:{factors:s},error:null})});return{data:t,error:r}}catch(t){if($(t))return{data:null,error:t};throw t}})}_deleteFactor(e){return _e(this,void 0,void 0,function*(){try{return{data:yield I(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(t){if($(t))return{data:null,error:t};throw t}})}}const Ba="2.13.0",Ha="http://localhost:9999",Ma="supabase.auth.token",Va={"X-Client-Info":`gotrue-js/${Ba}`},za=10,qa={getItem:n=>Wr()?globalThis.localStorage.getItem(n):null,setItem:(n,e)=>{Wr()&&globalThis.localStorage.setItem(n,e)},removeItem:n=>{Wr()&&globalThis.localStorage.removeItem(n)}};function Ga(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}var k=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};Ga();const Ja={url:Ha,storageKey:Ma,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:Va},Xr=10*1e3,Wa=3;class Ka{constructor(e){this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.broadcastChannel=null;const t=Object.assign(Object.assign({},Ja),e);this.inMemorySession=null,this.storageKey=t.storageKey,this.autoRefreshToken=t.autoRefreshToken,this.persistSession=t.persistSession,this.storage=t.storage||qa,this.admin=new La({url:t.url,headers:t.headers,fetch:t.fetch}),this.url=t.url,this.headers=t.headers,this.fetch=Qs(t.fetch),this.detectSessionInUrl=t.detectSessionInUrl,this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this)},Ye()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey&&(this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey),this.broadcastChannel.addEventListener("message",r=>{this._notifyAllSubscribers(r.data.event,r.data.session,!1)})),this.initialize()}initialize(){return this.initializePromise||(this.initializePromise=this._initialize()),this.initializePromise}_initialize(){return k(this,void 0,void 0,function*(){if(this.initializePromise)return this.initializePromise;try{if(this.detectSessionInUrl&&this._isImplicitGrantFlow()){const{data:e,error:t}=yield this._getSessionFromUrl();if(t)return yield this._removeSession(),{error:t};const{session:r,redirectType:s}=e;return yield this._saveSession(r),setTimeout(()=>{this._notifyAllSubscribers("SIGNED_IN",r),s==="recovery"&&this._notifyAllSubscribers("PASSWORD_RECOVERY",r)},0),{error:null}}return yield this._recoverAndRefresh(),{error:null}}catch(e){return $(e)?{error:e}:{error:new ei("Unexpected error during initialization",e)}}finally{yield this._handleVisibilityChange()}})}signUp(e){var t,r;return k(this,void 0,void 0,function*(){try{yield this._removeSession();let s;if("email"in e){const{email:u,password:l,options:h}=e;s=yield I(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:h==null?void 0:h.emailRedirectTo,body:{email:u,password:l,data:(t=h==null?void 0:h.data)!==null&&t!==void 0?t:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:Ze})}else if("phone"in e){const{phone:u,password:l,options:h}=e;s=yield I(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:u,password:l,data:(r=h==null?void 0:h.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:Ze})}else throw new Kr("You must provide either an email or phone number and a password");const{data:i,error:o}=s;if(o||!i)return{data:{user:null,session:null},error:o};const a=i.session,c=i.user;return i.session&&(yield this._saveSession(i.session),this._notifyAllSubscribers("SIGNED_IN",a)),{data:{user:c,session:a},error:null}}catch(s){if($(s))return{data:{user:null,session:null},error:s};throw s}})}signInWithPassword(e){var t;return k(this,void 0,void 0,function*(){try{yield this._removeSession();let r;if("email"in e){const{email:o,password:a,options:c}=e;r=yield I(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:o,password:a,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken}},xform:Ze})}else if("phone"in e){const{phone:o,password:a,options:c}=e;r=yield I(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:o,password:a,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(t=c==null?void 0:c.channel)!==null&&t!==void 0?t:"sms"},xform:Ze})}else throw new Kr("You must provide either an email or phone number and a password");const{data:s,error:i}=r;return i||!s?{data:{user:null,session:null},error:i}:(s.session&&(yield this._saveSession(s.session),this._notifyAllSubscribers("SIGNED_IN",s.session)),{data:s,error:i})}catch(r){if($(r))return{data:{user:null,session:null},error:r};throw r}})}signInWithOAuth(e){var t,r,s,i;return k(this,void 0,void 0,function*(){return yield this._removeSession(),this._handleProviderSignIn(e.provider,{redirectTo:(t=e.options)===null||t===void 0?void 0:t.redirectTo,scopes:(r=e.options)===null||r===void 0?void 0:r.scopes,queryParams:(s=e.options)===null||s===void 0?void 0:s.queryParams,skipBrowserRedirect:(i=e.options)===null||i===void 0?void 0:i.skipBrowserRedirect})})}signInWithIdToken(e){return k(this,void 0,void 0,function*(){yield this._removeSession();try{const{options:t,provider:r,token:s,nonce:i}=e,o=yield I(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:r,id_token:s,nonce:i,gotrue_meta_security:{captcha_token:t==null?void 0:t.captchaToken}},xform:Ze}),{data:a,error:c}=o;return c||!a?{data:{user:null,session:null},error:c}:(a.session&&(yield this._saveSession(a.session),this._notifyAllSubscribers("SIGNED_IN",a.session)),{data:a,error:c})}catch(t){if($(t))return{data:{user:null,session:null},error:t};throw t}})}signInWithOtp(e){var t,r,s,i,o;return k(this,void 0,void 0,function*(){try{if(yield this._removeSession(),"email"in e){const{email:a,options:c}=e,{error:u}=yield I(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:a,data:(t=c==null?void 0:c.data)!==null&&t!==void 0?t:{},create_user:(r=c==null?void 0:c.shouldCreateUser)!==null&&r!==void 0?r:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken}},redirectTo:c==null?void 0:c.emailRedirectTo});return{data:{user:null,session:null},error:u}}if("phone"in e){const{phone:a,options:c}=e,{error:u}=yield I(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:a,data:(s=c==null?void 0:c.data)!==null&&s!==void 0?s:{},create_user:(i=c==null?void 0:c.shouldCreateUser)!==null&&i!==void 0?i:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(o=c==null?void 0:c.channel)!==null&&o!==void 0?o:"sms"}});return{data:{user:null,session:null},error:u}}throw new Kr("You must provide either an email or phone number.")}catch(a){if($(a))return{data:{user:null,session:null},error:a};throw a}})}verifyOtp(e){var t,r;return k(this,void 0,void 0,function*(){try{yield this._removeSession();const{data:s,error:i}=yield I(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:(t=e.options)===null||t===void 0?void 0:t.captchaToken}}),redirectTo:(r=e.options)===null||r===void 0?void 0:r.redirectTo,xform:Ze});if(i)throw i;if(!s)throw"An error occurred on token verification.";const o=s.session,a=s.user;return o!=null&&o.access_token&&(yield this._saveSession(o),this._notifyAllSubscribers("SIGNED_IN",o)),{data:{user:a,session:o},error:null}}catch(s){if($(s))return{data:{user:null,session:null},error:s};throw s}})}signInWithSSO(e){var t,r,s;return k(this,void 0,void 0,function*(){try{return yield this._removeSession(),yield I(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(r=(t=e.options)===null||t===void 0?void 0:t.redirectTo)!==null&&r!==void 0?r:void 0}),!((s=e==null?void 0:e.options)===null||s===void 0)&&s.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0}),headers:this.headers,xform:Ca})}catch(i){if($(i))return{data:null,error:i};throw i}})}getSession(){return k(this,void 0,void 0,function*(){yield this.initializePromise;let e=null;if(this.persistSession){const i=yield as(this.storage,this.storageKey);i!==null&&(this._isValidSession(i)?e=i:yield this._removeSession())}else e=this.inMemorySession;if(!e)return{data:{session:null},error:null};if(!(e.expires_at?e.expires_at<=Date.now()/1e3:!1))return{data:{session:e},error:null};const{session:r,error:s}=yield this._callRefreshToken(e.refresh_token);return s?{data:{session:null},error:s}:{data:{session:r},error:null}})}getUser(e){var t,r;return k(this,void 0,void 0,function*(){try{if(!e){const{data:s,error:i}=yield this.getSession();if(i)throw i;e=(r=(t=s.session)===null||t===void 0?void 0:t.access_token)!==null&&r!==void 0?r:void 0}return yield I(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:rt})}catch(s){if($(s))return{data:{user:null},error:s};throw s}})}updateUser(e,t={}){return k(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();if(s)throw s;if(!r.session)throw new jt;const i=r.session,{data:o,error:a}=yield I(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:t==null?void 0:t.emailRedirectTo,body:e,jwt:i.access_token,xform:rt});if(a)throw a;return i.user=o.user,yield this._saveSession(i),this._notifyAllSubscribers("USER_UPDATED",i),{data:{user:i.user},error:null}}catch(r){if($(r))return{data:{user:null},error:r};throw r}})}_decodeJWT(e){return cs(e)}setSession(e){return k(this,void 0,void 0,function*(){try{if(!e.access_token||!e.refresh_token)throw new jt;const t=Date.now()/1e3;let r=t,s=!0,i=null;const o=cs(e.access_token);if(o.exp&&(r=o.exp,s=r<=t),s){const{session:a,error:c}=yield this._callRefreshToken(e.refresh_token);if(c)return{data:{user:null,session:null},error:c};if(!a)return{data:{user:null,session:null},error:null};i=a}else{const{data:a,error:c}=yield this.getUser(e.access_token);if(c)throw c;i={access_token:e.access_token,refresh_token:e.refresh_token,user:a.user,token_type:"bearer",expires_in:r-t,expires_at:r},yield this._saveSession(i),this._notifyAllSubscribers("SIGNED_IN",i)}return{data:{user:i.user,session:i},error:null}}catch(t){if($(t))return{data:{session:null,user:null},error:t};throw t}})}refreshSession(e){var t;return k(this,void 0,void 0,function*(){try{if(!e){const{data:i,error:o}=yield this.getSession();if(o)throw o;e=(t=i.session)!==null&&t!==void 0?t:void 0}if(!(e!=null&&e.refresh_token))throw new jt;const{session:r,error:s}=yield this._callRefreshToken(e.refresh_token);return s?{data:{user:null,session:null},error:s}:r?{data:{user:r.user,session:r},error:null}:{data:{user:null,session:null},error:null}}catch(r){if($(r))return{data:{user:null,session:null},error:r};throw r}})}_getSessionFromUrl(){return k(this,void 0,void 0,function*(){try{if(!Ye())throw new Ae("No browser detected.");if(!this._isImplicitGrantFlow())throw new Ae("Not a valid implicit grant flow url.");const e=ae("error_description");if(e){const v=ae("error_code");if(!v)throw new Ae("No error_code detected.");const g=ae("error");throw g?new Ae(e,{error:g,code:v}):new Ae("No error detected.")}const t=ae("provider_token"),r=ae("provider_refresh_token"),s=ae("access_token");if(!s)throw new Ae("No access_token detected.");const i=ae("expires_in");if(!i)throw new Ae("No expires_in detected.");const o=ae("refresh_token");if(!o)throw new Ae("No refresh_token detected.");const a=ae("token_type");if(!a)throw new Ae("No token_type detected.");const u=Math.round(Date.now()/1e3)+parseInt(i),{data:l,error:h}=yield this.getUser(s);if(h)throw h;const y=l.user,p={provider_token:t,provider_refresh_token:r,access_token:s,expires_in:parseInt(i),expires_at:u,refresh_token:o,token_type:a,user:y},w=ae("type");return window.location.hash="",{data:{session:p,redirectType:w},error:null}}catch(e){if($(e))return{data:{session:null,redirectType:null},error:e};throw e}})}_isImplicitGrantFlow(){return Ye()&&(Boolean(ae("access_token"))||Boolean(ae("error_description")))}signOut(){var e;return k(this,void 0,void 0,function*(){const{data:t,error:r}=yield this.getSession();if(r)return{error:r};const s=(e=t.session)===null||e===void 0?void 0:e.access_token;if(s){const{error:i}=yield this.admin.signOut(s);if(i&&!(Ra(i)&&(i.status===404||i.status===401)))return{error:i}}return yield this._removeSession(),this._notifyAllSubscribers("SIGNED_OUT",null),{error:null}})}onAuthStateChange(e){const t=_a(),r={id:t,callback:e,unsubscribe:()=>{this.stateChangeEmitters.delete(t)}};return this.stateChangeEmitters.set(t,r),{data:{subscription:r}}}resetPasswordForEmail(e,t={}){return k(this,void 0,void 0,function*(){try{return yield I(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:t.redirectTo})}catch(r){if($(r))return{data:null,error:r};throw r}})}_refreshAccessToken(e){return k(this,void 0,void 0,function*(){try{const t=Date.now();return yield Aa(r=>k(this,void 0,void 0,function*(){return yield ka(r*200),yield I(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:Ze})}),(r,s,i)=>i&&i.error&&i.error instanceof un&&Date.now()+(r+1)*200-t<Xr)}catch(t){if($(t))return{data:{session:null,user:null},error:t};throw t}})}_isValidSession(e){return typeof e=="object"&&e!==null&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e}_handleProviderSignIn(e,t={}){const r=this._getUrlForProvider(e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return Ye()&&!t.skipBrowserRedirect&&window.location.assign(r),{data:{provider:e,url:r},error:null}}_recoverAndRefresh(){var e;return k(this,void 0,void 0,function*(){try{const t=yield as(this.storage,this.storageKey);if(!this._isValidSession(t)){t!==null&&(yield this._removeSession());return}const r=Math.round(Date.now()/1e3);if(((e=t.expires_at)!==null&&e!==void 0?e:1/0)<r+za)if(this.autoRefreshToken&&t.refresh_token){const{error:s}=yield this._callRefreshToken(t.refresh_token);s&&(console.log(s.message),yield this._removeSession())}else yield this._removeSession();else this.persistSession&&(yield this._saveSession(t)),this._notifyAllSubscribers("SIGNED_IN",t)}catch(t){console.error(t);return}})}_callRefreshToken(e){var t,r;return k(this,void 0,void 0,function*(){if(this.refreshingDeferred)return this.refreshingDeferred.promise;try{if(this.refreshingDeferred=new Pr,!e)throw new jt;const{data:s,error:i}=yield this._refreshAccessToken(e);if(i)throw i;if(!s.session)throw new jt;yield this._saveSession(s.session),this._notifyAllSubscribers("TOKEN_REFRESHED",s.session);const o={session:s.session,error:null};return this.refreshingDeferred.resolve(o),o}catch(s){if($(s)){const i={session:null,error:s};return(t=this.refreshingDeferred)===null||t===void 0||t.resolve(i),i}throw(r=this.refreshingDeferred)===null||r===void 0||r.reject(s),s}finally{this.refreshingDeferred=null}})}_notifyAllSubscribers(e,t,r=!0){this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:e,session:t}),this.stateChangeEmitters.forEach(s=>s.callback(e,t))}_saveSession(e){return k(this,void 0,void 0,function*(){this.persistSession||(this.inMemorySession=e),this.persistSession&&e.expires_at&&(yield this._persistSession(e))})}_persistSession(e){return xa(this.storage,this.storageKey,e)}_removeSession(){return k(this,void 0,void 0,function*(){this.persistSession?yield Ta(this.storage,this.storageKey):this.inMemorySession=null})}_removeVisibilityChangedCallback(){const e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&Ye()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}catch(t){console.error("removing visibilitychange callback failed",t)}}_startAutoRefresh(){return k(this,void 0,void 0,function*(){yield this._stopAutoRefresh();const e=setInterval(()=>this._autoRefreshTokenTick(),Xr);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"&&e.unref(),yield this._autoRefreshTokenTick()})}_stopAutoRefresh(){return k(this,void 0,void 0,function*(){const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e)})}startAutoRefresh(){return k(this,void 0,void 0,function*(){this._removeVisibilityChangedCallback(),yield this._startAutoRefresh()})}stopAutoRefresh(){return k(this,void 0,void 0,function*(){this._removeVisibilityChangedCallback(),yield this._stopAutoRefresh()})}_autoRefreshTokenTick(){return k(this,void 0,void 0,function*(){const e=Date.now();try{const{data:{session:t}}=yield this.getSession();if(!t||!t.refresh_token||!t.expires_at)return;Math.floor((t.expires_at*1e3-e)/Xr)<Wa&&(yield this._callRefreshToken(t.refresh_token))}catch(t){console.error("Auto refresh tick failed with error. This is likely a transient error.",t)}})}_handleVisibilityChange(){return k(this,void 0,void 0,function*(){if(!Ye()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=()=>k(this,void 0,void 0,function*(){return yield this._onVisibilityChanged(!1)}),window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),yield this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}})}_onVisibilityChanged(e){return k(this,void 0,void 0,function*(){document.visibilityState==="visible"?(e||(yield this.initializePromise,yield this._recoverAndRefresh()),this.autoRefreshToken&&this._startAutoRefresh()):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()})}_getUrlForProvider(e,t){const r=[`provider=${encodeURIComponent(e)}`];if(t!=null&&t.redirectTo&&r.push(`redirect_to=${encodeURIComponent(t.redirectTo)}`),t!=null&&t.scopes&&r.push(`scopes=${encodeURIComponent(t.scopes)}`),t!=null&&t.queryParams){const s=new URLSearchParams(t.queryParams);r.push(s.toString())}return`${this.url}/authorize?${r.join("&")}`}_unenroll(e){var t;return k(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();return s?{data:null,error:s}:yield I(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(t=r==null?void 0:r.session)===null||t===void 0?void 0:t.access_token})}catch(r){if($(r))return{data:null,error:r};throw r}})}_enroll(e){var t,r;return k(this,void 0,void 0,function*(){try{const{data:s,error:i}=yield this.getSession();if(i)return{data:null,error:i};const{data:o,error:a}=yield I(this.fetch,"POST",`${this.url}/factors`,{body:{friendly_name:e.friendlyName,factor_type:e.factorType,issuer:e.issuer},headers:this.headers,jwt:(t=s==null?void 0:s.session)===null||t===void 0?void 0:t.access_token});return a?{data:null,error:a}:(!((r=o==null?void 0:o.totp)===null||r===void 0)&&r.qr_code&&(o.totp.qr_code=`data:image/svg+xml;utf-8,${o.totp.qr_code}`),{data:o,error:null})}catch(s){if($(s))return{data:null,error:s};throw s}})}_verify(e){var t;return k(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();if(s)return{data:null,error:s};const{data:i,error:o}=yield I(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:{code:e.code,challenge_id:e.challengeId},headers:this.headers,jwt:(t=r==null?void 0:r.session)===null||t===void 0?void 0:t.access_token});return o?{data:null,error:o}:(yield this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+i.expires_in},i)),this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",i),{data:i,error:o})}catch(r){if($(r))return{data:null,error:r};throw r}})}_challenge(e){var t;return k(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();return s?{data:null,error:s}:yield I(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{headers:this.headers,jwt:(t=r==null?void 0:r.session)===null||t===void 0?void 0:t.access_token})}catch(r){if($(r))return{data:null,error:r};throw r}})}_challengeAndVerify(e){return k(this,void 0,void 0,function*(){const{data:t,error:r}=yield this._challenge({factorId:e.factorId});return r?{data:null,error:r}:yield this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})})}_listFactors(){return k(this,void 0,void 0,function*(){const{data:{user:e},error:t}=yield this.getUser();if(t)return{data:null,error:t};const r=(e==null?void 0:e.factors)||[],s=r.filter(i=>i.factor_type==="totp"&&i.status==="verified");return{data:{all:r,totp:s},error:null}})}_getAuthenticatorAssuranceLevel(){var e,t;return k(this,void 0,void 0,function*(){const{data:{session:r},error:s}=yield this.getSession();if(s)return{data:null,error:s};if(!r)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const i=this._decodeJWT(r.access_token);let o=null;i.aal&&(o=i.aal);let a=o;((t=(e=r.user.factors)===null||e===void 0?void 0:e.filter(l=>l.status==="verified"))!==null&&t!==void 0?t:[]).length>0&&(a="aal2");const u=i.amr||[];return{data:{currentLevel:o,nextLevel:a,currentAuthenticationMethods:u},error:null}})}}class Xa extends Ka{constructor(e){super(e)}}var Za=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const Ya={headers:da},Qa={schema:"public"},ec={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0},tc={};class rc{constructor(e,t,r){var s,i,o,a,c,u,l,h;if(this.supabaseUrl=e,this.supabaseKey=t,!e)throw new Error("supabaseUrl is required.");if(!t)throw new Error("supabaseKey is required.");const y=wa(e);if(this.realtimeUrl=`${y}/realtime/v1`.replace(/^http/i,"ws"),this.authUrl=`${y}/auth/v1`,this.storageUrl=`${y}/storage/v1`,y.match(/(supabase\.co)|(supabase\.in)/)){const A=y.split(".");this.functionsUrl=`${A[0]}.functions.${A[1]}.${A[2]}`}else this.functionsUrl=`${y}/functions/v1`;const w=`sb-${new URL(this.authUrl).hostname.split(".")[0]}-auth-token`,v={db:Qa,realtime:tc,auth:Object.assign(Object.assign({},ec),{storageKey:w}),global:Ya},g=ba(r??{},v);this.storageKey=(i=(s=g.auth)===null||s===void 0?void 0:s.storageKey)!==null&&i!==void 0?i:"",this.headers=(a=(o=g.global)===null||o===void 0?void 0:o.headers)!==null&&a!==void 0?a:{},this.auth=this._initSupabaseAuthClient((c=g.auth)!==null&&c!==void 0?c:{},this.headers,(u=g.global)===null||u===void 0?void 0:u.fetch),this.fetch=ga(t,this._getAccessToken.bind(this),(l=g.global)===null||l===void 0?void 0:l.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers},g.realtime)),this.rest=new go(`${y}/rest/v1`,{headers:this.headers,schema:(h=g.db)===null||h===void 0?void 0:h.schema,fetch:this.fetch}),this._listenForAuthEvents()}get functions(){return new ao(this.functionsUrl,{headers:this.headers,customFetch:this.fetch})}get storage(){return new ha(this.storageUrl,this.headers,this.fetch)}from(e){return this.rest.from(e)}rpc(e,t={},r){return this.rest.rpc(e,t,r)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}_getAccessToken(){var e,t;return Za(this,void 0,void 0,function*(){const{data:r}=yield this.auth.getSession();return(t=(e=r.session)===null||e===void 0?void 0:e.access_token)!==null&&t!==void 0?t:null})}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:r,storage:s,storageKey:i},o,a){const c={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new Xa({url:this.authUrl,headers:Object.assign(Object.assign({},c),o),storageKey:i,autoRefreshToken:e,persistSession:t,detectSessionInUrl:r,storage:s,fetch:a})}_initRealtimeClient(e){return new Qo(this.realtimeUrl,Object.assign(Object.assign({},e),{params:Object.assign({apikey:this.supabaseKey},e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((t,r)=>{this._handleTokenChanged(t,r==null?void 0:r.access_token,"CLIENT")})}_handleTokenChanged(e,t,r){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==t?(this.realtime.setAuth(t??null),this.changedAccessToken=t):(e==="SIGNED_OUT"||e==="USER_DELETED")&&(this.realtime.setAuth(this.supabaseKey),r=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}}const nc=(n,e,t)=>new rc(n,e,t);function pt(n){this._maxSize=n,this.clear()}pt.prototype.clear=function(){this._size=0,this._values=Object.create(null)};pt.prototype.get=function(n){return this._values[n]};pt.prototype.set=function(n,e){return this._size>=this._maxSize&&this.clear(),n in this._values||this._size++,this._values[n]=e};var sc=/[^.^\]^[]+|(?=\[\]|\.\.)/g,ti=/^\d+$/,ic=/^\d/,oc=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,ac=/^\s*(['"]?)(.*?)(\1)\s*$/,Nn=512,us=new pt(Nn),ls=new pt(Nn),hs=new pt(Nn),ot={Cache:pt,split:ln,normalizePath:Zr,setter:function(n){var e=Zr(n);return ls.get(n)||ls.set(n,function(r,s){for(var i=0,o=e.length,a=r;i<o-1;){var c=e[i];if(c==="__proto__"||c==="constructor"||c==="prototype")return r;a=a[e[i++]]}a[e[i]]=s})},getter:function(n,e){var t=Zr(n);return hs.get(n)||hs.set(n,function(s){for(var i=0,o=t.length;i<o;)if(s!=null||!e)s=s[t[i++]];else return;return s})},join:function(n){return n.reduce(function(e,t){return e+(In(t)||ti.test(t)?"["+t+"]":(e?".":"")+t)},"")},forEach:function(n,e,t){cc(Array.isArray(n)?n:ln(n),e,t)}};function Zr(n){return us.get(n)||us.set(n,ln(n).map(function(e){return e.replace(ac,"$2")}))}function ln(n){return n.match(sc)||[""]}function cc(n,e,t){var r=n.length,s,i,o,a;for(i=0;i<r;i++)s=n[i],s&&(hc(s)&&(s='"'+s+'"'),a=In(s),o=!a&&/^\d+$/.test(s),e.call(t,s,a,o,i,n))}function In(n){return typeof n=="string"&&n&&["'",'"'].indexOf(n.charAt(0))!==-1}function uc(n){return n.match(ic)&&!n.match(ti)}function lc(n){return oc.test(n)}function hc(n){return!In(n)&&(uc(n)||lc(n))}const fc=/[A-Z\xc0-\xd6\xd8-\xde]?[a-z\xdf-\xf6\xf8-\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde]|$)|(?:[A-Z\xc0-\xd6\xd8-\xde]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde](?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])|$)|[A-Z\xc0-\xd6\xd8-\xde]?(?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\xc0-\xd6\xd8-\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+|(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?)*/g,Ir=n=>n.match(fc)||[],Cr=n=>n[0].toUpperCase()+n.slice(1),Cn=(n,e)=>Ir(n).join(e).toLowerCase(),ri=n=>Ir(n).reduce((e,t)=>`${e}${e?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()}`,""),dc=n=>Cr(ri(n)),pc=n=>Cn(n,"_"),yc=n=>Cn(n,"-"),mc=n=>Cr(Cn(n," ")),gc=n=>Ir(n).map(Cr).join(" ");var Yr={words:Ir,upperFirst:Cr,camelCase:ri,pascalCase:dc,snakeCase:pc,kebabCase:yc,sentenceCase:mc,titleCase:gc},wr={},wc={get exports(){return wr},set exports(n){wr=n}};wc.exports=function(n){return ni(bc(n),n)};wr.array=ni;function ni(n,e){var t=n.length,r=new Array(t),s={},i=t,o=vc(e),a=_c(n);for(e.forEach(function(u){if(!a.has(u[0])||!a.has(u[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});i--;)s[i]||c(n[i],i,new Set);return r;function c(u,l,h){if(h.has(u)){var y;try{y=", node was:"+JSON.stringify(u)}catch{y=""}throw new Error("Cyclic dependency"+y)}if(!a.has(u))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(u));if(!s[l]){s[l]=!0;var p=o.get(u)||new Set;if(p=Array.from(p),l=p.length){h.add(u);do{var w=p[--l];c(w,a.get(w),h)}while(l);h.delete(u)}r[--t]=u}}}function bc(n){for(var e=new Set,t=0,r=n.length;t<r;t++){var s=n[t];e.add(s[0]),e.add(s[1])}return Array.from(e)}function vc(n){for(var e=new Map,t=0,r=n.length;t<r;t++){var s=n[t];e.has(s[0])||e.set(s[0],new Set),e.has(s[1])||e.set(s[1],new Set),e.get(s[0]).add(s[1])}return e}function _c(n){for(var e=new Map,t=0,r=n.length;t<r;t++)e.set(n[t],t);return e}const Ec=Object.prototype.toString,xc=Error.prototype.toString,Tc=RegExp.prototype.toString,Oc=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",kc=/^Symbol\((.*)\)(.*)$/;function Ac(n){return n!=+n?"NaN":n===0&&1/n<0?"-0":""+n}function fs(n,e=!1){if(n==null||n===!0||n===!1)return""+n;const t=typeof n;if(t==="number")return Ac(n);if(t==="string")return e?`"${n}"`:n;if(t==="function")return"[Function "+(n.name||"anonymous")+"]";if(t==="symbol")return Oc.call(n).replace(kc,"Symbol($1)");const r=Ec.call(n).slice(8,-1);return r==="Date"?isNaN(n.getTime())?""+n:n.toISOString(n):r==="Error"||n instanceof Error?"["+xc.call(n)+"]":r==="RegExp"?Tc.call(n):null}function at(n,e){let t=fs(n,e);return t!==null?t:JSON.stringify(n,function(r,s){let i=fs(this[r],e);return i!==null?i:s},2)}function si(n){return n==null?[]:[].concat(n)}let Sc=/\$\{\s*(\w+)\s*\}/g;class ie extends Error{static formatError(e,t){const r=t.label||t.path||"this";return r!==t.path&&(t=Object.assign({},t,{path:r})),typeof e=="string"?e.replace(Sc,(s,i)=>at(t[i])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,r,s){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this.name="ValidationError",this.value=t,this.path=r,this.type=s,this.errors=[],this.inner=[],si(e).forEach(i=>{ie.isError(i)?(this.errors.push(...i.errors),this.inner=this.inner.concat(i.inner.length?i.inner:i)):this.errors.push(i)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,ie)}}let Se={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:n,type:e,value:t,originalValue:r})=>{const s=r!=null&&r!==t?` (cast from the value \`${at(r,!0)}\`).`:".";return e!=="mixed"?`${n} must be a \`${e}\` type, but the final value was: \`${at(t,!0)}\``+s:`${n} must match the configured type. The validated value was: \`${at(t,!0)}\``+s}},de={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},He={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},hn={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},fn={isValue:"${path} field must be ${value}"},dn={noUnknown:"${path} field has unspecified keys: ${unknown}"},pr={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"};Object.assign(Object.create(null),{mixed:Se,string:de,number:He,date:hn,object:dn,array:pr,boolean:fn});const Fr=n=>n&&n.__isYupSchema__;class br{static fromOptions(e,t){if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:r,then:s,otherwise:i}=t,o=typeof r=="function"?r:(...a)=>a.every(c=>c===r);return new br(e,(a,c)=>{var u;let l=o(...a)?s:i;return(u=l==null?void 0:l(c))!=null?u:c})}constructor(e,t){this.fn=void 0,this.refs=e,this.refs=e,this.fn=t}resolve(e,t){let r=this.refs.map(i=>i.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),s=this.fn(r,e,t);if(s===void 0||s===e)return e;if(!Fr(s))throw new TypeError("conditions must return a schema object");return s.resolve(t)}}const cr={context:"$",value:"."};class yt{constructor(e,t={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===cr.context,this.isValue=this.key[0]===cr.value,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?cr.context:this.isValue?cr.value:"";this.path=this.key.slice(r.length),this.getter=this.path&&ot.getter(this.path,!0),this.map=t.map}getValue(e,t,r){let s=this.isContext?r:this.isValue?e:t;return this.getter&&(s=this.getter(s||{})),this.map&&(s=this.map(s)),s}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}yt.prototype.__isYupRef=!0;const he=n=>n==null;function vt(n){function e({value:t,path:r="",options:s,originalValue:i,schema:o},a,c){const{name:u,test:l,params:h,message:y,skipAbsent:p}=n;let{parent:w,context:v,abortEarly:g=o.spec.abortEarly}=s;function A(L){return yt.isRef(L)?L.getValue(t,w,v):L}function C(L={}){const M=Object.assign({value:t,originalValue:i,label:o.spec.label,path:L.path||r,spec:o.spec},h,L.params);for(const wt of Object.keys(M))M[wt]=A(M[wt]);const ir=new ie(ie.formatError(L.message||y,M),t,M.path,L.type||u);return ir.params=M,ir}const X=g?a:c;let U={path:r,parent:w,type:u,from:s.from,createError:C,resolve:A,options:s,originalValue:i,schema:o};const be=L=>{ie.isError(L)?X(L):L?c(null):X(C())},Dt=L=>{ie.isError(L)?X(L):a(L)},nr=p&&he(t);if(!s.sync){try{Promise.resolve(nr?!0:l.call(U,t,U)).then(be,Dt)}catch(L){Dt(L)}return}let fe;try{var sr;if(fe=nr?!0:l.call(U,t,U),typeof((sr=fe)==null?void 0:sr.then)=="function")throw new Error(`Validation test of type: "${U.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(L){Dt(L);return}be(fe)}return e.OPTIONS=n,e}function Rc(n,e,t,r=t){let s,i,o;return e?(ot.forEach(e,(a,c,u)=>{let l=c?a.slice(1,a.length-1):a;n=n.resolve({context:r,parent:s,value:t});let h=n.type==="tuple",y=u?parseInt(l,10):0;if(n.innerType||h){if(h&&!u)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${o}" must contain an index to the tuple element, e.g. "${o}[0]"`);if(t&&y>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);s=t,t=t&&t[y],n=h?n.spec.types[y]:n.innerType}if(!u){if(!n.fields||!n.fields[l])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${n.type}")`);s=t,t=t&&t[l],n=n.fields[l]}i=l,o=c?"["+a+"]":"."+a}),{schema:n,parent:s,parentPath:i}):{parent:s,parentPath:e,schema:n}}class vr extends Set{describe(){const e=[];for(const t of this.values())e.push(yt.isRef(t)?t.describe():t);return e}resolveAll(e){let t=[];for(const r of this.values())t.push(e(r));return t}clone(){return new vr(this.values())}merge(e,t){const r=this.clone();return e.forEach(s=>r.add(s)),t.forEach(s=>r.delete(s)),r}}function Ot(n,e=new Map){if(Fr(n)||!n||typeof n!="object")return n;if(e.has(n))return e.get(n);let t;if(n instanceof Date)t=new Date(n.getTime()),e.set(n,t);else if(n instanceof RegExp)t=new RegExp(n),e.set(n,t);else if(Array.isArray(n)){t=new Array(n.length),e.set(n,t);for(let r=0;r<n.length;r++)t[r]=Ot(n[r],e)}else if(n instanceof Map){t=new Map,e.set(n,t);for(const[r,s]of n.entries())t.set(r,Ot(s,e))}else if(n instanceof Set){t=new Set,e.set(n,t);for(const r of n)t.add(Ot(r,e))}else if(n instanceof Object){t={},e.set(n,t);for(const[r,s]of Object.entries(n))t[r]=Ot(s,e)}else throw Error(`Unable to clone ${n}`);return t}class te{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new vr,this._blacklist=new vr,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError(Se.notType)}),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,optional:!0,coerce:!0},e==null?void 0:e.spec),this.withMutation(t=>{t.nonNullable()})}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeCheck=this._typeCheck,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.internalTests=Object.assign({},this.internalTests),t.exclusiveTests=Object.assign({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=Ot(Object.assign({},this.spec,e)),t}label(e){let t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let r=e(this);return this._mutate=t,r}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,r=e.clone();const s=Object.assign({},t.spec,r.spec);return r.spec=s,r.internalTests=Object.assign({},t.internalTests,r.internalTests),r._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),r._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),r.tests=t.tests,r.exclusiveTests=t.exclusiveTests,r.withMutation(i=>{e.tests.forEach(o=>{i.test(o.OPTIONS)})}),r.transforms=[...t.transforms,...r.transforms],r}isType(e){return e==null?!!(this.spec.nullable&&e===null||this.spec.optional&&e===void 0):this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let r=t.conditions;t=t.clone(),t.conditions=[],t=r.reduce((s,i)=>i.resolve(s,e),t),t=t.resolve(e)}return t}resolveOptions(e){var t,r,s;return Object.assign({},e,{from:e.from||[],strict:(t=e.strict)!=null?t:this.spec.strict,abortEarly:(r=e.abortEarly)!=null?r:this.spec.abortEarly,recursive:(s=e.recursive)!=null?s:this.spec.recursive})}cast(e,t={}){let r=this.resolve(Object.assign({value:e},t)),s=t.assert==="ignore-optionality",i=r._cast(e,t);if(t.assert!==!1&&!r.isType(i)){if(s&&he(i))return i;let o=at(e),a=at(i);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${r.type}".
1
+ "use strict";var Qi=Object.defineProperty;var eo=(n,e,t)=>e in n?Qi(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var d=(n,e,t)=>(eo(n,typeof e!="symbol"?e+"":e,t),t),zr=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var m=(n,e,t)=>(zr(n,e,"read from private field"),t?t.call(n):e.get(n)),F=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},P=(n,e,t,r)=>(zr(n,e,"write to private field"),r?r.call(n,t):e.set(n,t),t),Qn=(n,e,t,r)=>({set _(s){P(n,e,s,t)},get _(){return m(n,e,r)}}),B=(n,e,t)=>(zr(n,e,"access private method"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function to(n,e){for(var t=0;t<e.length;t++){const r=e[t];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in n)){const i=Object.getOwnPropertyDescriptor(r,s);i&&Object.defineProperty(n,s,i.get?i:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}var ro=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const no=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>ro(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>Rr)).fetch(...t)}):e=fetch,(...t)=>e(...t)};class An extends Error{constructor(e,t="FunctionsError",r){super(e),super.name=t,this.context=r}}class so extends An{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class io extends An{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class oo extends An{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var ao=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};class co{constructor(e,{headers:t={},customFetch:r}={}){this.url=e,this.headers=t,this.fetch=no(r)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e,t={}){var r;return ao(this,void 0,void 0,function*(){try{const{headers:s,method:i,body:o}=t;let a={},c;o&&(s&&!Object.prototype.hasOwnProperty.call(s,"Content-Type")||!s)&&(typeof Blob<"u"&&o instanceof Blob||o instanceof ArrayBuffer?(a["Content-Type"]="application/octet-stream",c=o):typeof o=="string"?(a["Content-Type"]="text/plain",c=o):typeof FormData<"u"&&o instanceof FormData?c=o:(a["Content-Type"]="application/json",c=JSON.stringify(o)));const u=yield this.fetch(`${this.url}/${e}`,{method:i||"POST",headers:Object.assign(Object.assign(Object.assign({},a),this.headers),s),body:c}).catch(p=>{throw new so(p)}),l=u.headers.get("x-relay-error");if(l&&l==="true")throw new io(u);if(!u.ok)throw new oo(u);let h=((r=u.headers.get("Content-Type"))!==null&&r!==void 0?r:"text/plain").split(";")[0].trim(),y;return h==="application/json"?y=yield u.json():h==="application/octet-stream"?y=yield u.blob():h==="multipart/form-data"?y=yield u.formData():y=yield u.text(),{data:y,error:null}}catch(s){return{data:null,error:s}}})}}var uo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function lo(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Ct={},ho={get exports(){return Ct},set exports(n){Ct=n}};(function(n,e){var t=typeof self<"u"?self:uo,r=function(){function i(){this.fetch=!1,this.DOMException=t.DOMException}return i.prototype=t,new i}();(function(i){(function(o){var a={searchParams:"URLSearchParams"in i,iterable:"Symbol"in i&&"iterator"in Symbol,blob:"FileReader"in i&&"Blob"in i&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in i,arrayBuffer:"ArrayBuffer"in i};function c(f){return f&&DataView.prototype.isPrototypeOf(f)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(f){return f&&u.indexOf(Object.prototype.toString.call(f))>-1};function h(f){if(typeof f!="string"&&(f=String(f)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(f))throw new TypeError("Invalid character in header field name");return f.toLowerCase()}function y(f){return typeof f!="string"&&(f=String(f)),f}function p(f){var b={next:function(){var O=f.shift();return{done:O===void 0,value:O}}};return a.iterable&&(b[Symbol.iterator]=function(){return b}),b}function w(f){this.map={},f instanceof w?f.forEach(function(b,O){this.append(O,b)},this):Array.isArray(f)?f.forEach(function(b){this.append(b[0],b[1])},this):f&&Object.getOwnPropertyNames(f).forEach(function(b){this.append(b,f[b])},this)}w.prototype.append=function(f,b){f=h(f),b=y(b);var O=this.map[f];this.map[f]=O?O+", "+b:b},w.prototype.delete=function(f){delete this.map[h(f)]},w.prototype.get=function(f){return f=h(f),this.has(f)?this.map[f]:null},w.prototype.has=function(f){return this.map.hasOwnProperty(h(f))},w.prototype.set=function(f,b){this.map[h(f)]=y(b)},w.prototype.forEach=function(f,b){for(var O in this.map)this.map.hasOwnProperty(O)&&f.call(b,this.map[O],O,this)},w.prototype.keys=function(){var f=[];return this.forEach(function(b,O){f.push(O)}),p(f)},w.prototype.values=function(){var f=[];return this.forEach(function(b){f.push(b)}),p(f)},w.prototype.entries=function(){var f=[];return this.forEach(function(b,O){f.push([O,b])}),p(f)},a.iterable&&(w.prototype[Symbol.iterator]=w.prototype.entries);function v(f){if(f.bodyUsed)return Promise.reject(new TypeError("Already read"));f.bodyUsed=!0}function g(f){return new Promise(function(b,O){f.onload=function(){b(f.result)},f.onerror=function(){O(f.error)}})}function A(f){var b=new FileReader,O=g(b);return b.readAsArrayBuffer(f),O}function C(f){var b=new FileReader,O=g(b);return b.readAsText(f),O}function Z(f){for(var b=new Uint8Array(f),O=new Array(b.length),J=0;J<b.length;J++)O[J]=String.fromCharCode(b[J]);return O.join("")}function U(f){if(f.slice)return f.slice(0);var b=new Uint8Array(f.byteLength);return b.set(new Uint8Array(f)),b.buffer}function be(){return this.bodyUsed=!1,this._initBody=function(f){this._bodyInit=f,f?typeof f=="string"?this._bodyText=f:a.blob&&Blob.prototype.isPrototypeOf(f)?this._bodyBlob=f:a.formData&&FormData.prototype.isPrototypeOf(f)?this._bodyFormData=f:a.searchParams&&URLSearchParams.prototype.isPrototypeOf(f)?this._bodyText=f.toString():a.arrayBuffer&&a.blob&&c(f)?(this._bodyArrayBuffer=U(f.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(f)||l(f))?this._bodyArrayBuffer=U(f):this._bodyText=f=Object.prototype.toString.call(f):this._bodyText="",this.headers.get("content-type")||(typeof f=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):a.searchParams&&URLSearchParams.prototype.isPrototypeOf(f)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},a.blob&&(this.blob=function(){var f=v(this);if(f)return f;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?v(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(A)}),this.text=function(){var f=v(this);if(f)return f;if(this._bodyBlob)return C(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(Z(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},a.formData&&(this.formData=function(){return this.text().then(sr)}),this.json=function(){return this.text().then(JSON.parse)},this}var Dt=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function nr(f){var b=f.toUpperCase();return Dt.indexOf(b)>-1?b:f}function fe(f,b){b=b||{};var O=b.body;if(f instanceof fe){if(f.bodyUsed)throw new TypeError("Already read");this.url=f.url,this.credentials=f.credentials,b.headers||(this.headers=new w(f.headers)),this.method=f.method,this.mode=f.mode,this.signal=f.signal,!O&&f._bodyInit!=null&&(O=f._bodyInit,f.bodyUsed=!0)}else this.url=String(f);if(this.credentials=b.credentials||this.credentials||"same-origin",(b.headers||!this.headers)&&(this.headers=new w(b.headers)),this.method=nr(b.method||this.method||"GET"),this.mode=b.mode||this.mode||null,this.signal=b.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&O)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(O)}fe.prototype.clone=function(){return new fe(this,{body:this._bodyInit})};function sr(f){var b=new FormData;return f.trim().split("&").forEach(function(O){if(O){var J=O.split("="),V=J.shift().replace(/\+/g," "),N=J.join("=").replace(/\+/g," ");b.append(decodeURIComponent(V),decodeURIComponent(N))}}),b}function L(f){var b=new w,O=f.replace(/\r?\n[\t ]+/g," ");return O.split(/\r?\n/).forEach(function(J){var V=J.split(":"),N=V.shift().trim();if(N){var or=V.join(":").trim();b.append(N,or)}}),b}be.call(fe.prototype);function M(f,b){b||(b={}),this.type="default",this.status=b.status===void 0?200:b.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in b?b.statusText:"OK",this.headers=new w(b.headers),this.url=b.url||"",this._initBody(f)}be.call(M.prototype),M.prototype.clone=function(){return new M(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new w(this.headers),url:this.url})},M.error=function(){var f=new M(null,{status:0,statusText:""});return f.type="error",f};var ir=[301,302,303,307,308];M.redirect=function(f,b){if(ir.indexOf(b)===-1)throw new RangeError("Invalid status code");return new M(null,{status:b,headers:{location:f}})},o.DOMException=i.DOMException;try{new o.DOMException}catch{o.DOMException=function(b,O){this.message=b,this.name=O;var J=Error(b);this.stack=J.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function wt(f,b){return new Promise(function(O,J){var V=new fe(f,b);if(V.signal&&V.signal.aborted)return J(new o.DOMException("Aborted","AbortError"));var N=new XMLHttpRequest;function or(){N.abort()}N.onload=function(){var Ut={status:N.status,statusText:N.statusText,headers:L(N.getAllResponseHeaders()||"")};Ut.url="responseURL"in N?N.responseURL:Ut.headers.get("X-Request-URL");var Vr="response"in N?N.response:N.responseText;O(new M(Vr,Ut))},N.onerror=function(){J(new TypeError("Network request failed"))},N.ontimeout=function(){J(new TypeError("Network request failed"))},N.onabort=function(){J(new o.DOMException("Aborted","AbortError"))},N.open(V.method,V.url,!0),V.credentials==="include"?N.withCredentials=!0:V.credentials==="omit"&&(N.withCredentials=!1),"responseType"in N&&a.blob&&(N.responseType="blob"),V.headers.forEach(function(Ut,Vr){N.setRequestHeader(Vr,Ut)}),V.signal&&(V.signal.addEventListener("abort",or),N.onreadystatechange=function(){N.readyState===4&&V.signal.removeEventListener("abort",or)}),N.send(typeof V._bodyInit>"u"?null:V._bodyInit)})}return wt.polyfill=!0,i.fetch||(i.fetch=wt,i.Headers=w,i.Request=fe,i.Response=M),o.Headers=w,o.Request=fe,o.Response=M,o.fetch=wt,Object.defineProperty(o,"__esModule",{value:!0}),o})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var s=r;e=s.fetch,e.default=s.fetch,e.fetch=s.fetch,e.Headers=s.Headers,e.Request=s.Request,e.Response=s.Response,n.exports=e})(ho,Ct);const Sn=lo(Ct),Rr=to({__proto__:null,default:Sn},[Ct]);class fo{constructor(e){this.shouldThrowOnError=!1,this.method=e.method,this.url=e.url,this.headers=e.headers,this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError,this.signal=e.signal,this.allowEmpty=e.allowEmpty,e.fetch?this.fetch=e.fetch:typeof fetch>"u"?this.fetch=Sn:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}then(e,t){this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers["Accept-Profile"]=this.schema:this.headers["Content-Profile"]=this.schema),this.method!=="GET"&&this.method!=="HEAD"&&(this.headers["Content-Type"]="application/json");const r=this.fetch;let s=r(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async i=>{var o,a,c;let u=null,l=null,h=null,y=i.status,p=i.statusText;if(i.ok){if(this.method!=="HEAD"){const A=await i.text();A===""||(this.headers.Accept==="text/csv"||this.headers.Accept&&this.headers.Accept.includes("application/vnd.pgrst.plan+text")?l=A:l=JSON.parse(A))}const v=(o=this.headers.Prefer)===null||o===void 0?void 0:o.match(/count=(exact|planned|estimated)/),g=(a=i.headers.get("content-range"))===null||a===void 0?void 0:a.split("/");v&&g&&g.length>1&&(h=parseInt(g[1]))}else{const v=await i.text();try{u=JSON.parse(v),Array.isArray(u)&&i.status===404&&(l=[],u=null,y=200,p="OK")}catch{i.status===404&&v===""?(y=204,p="No Content"):u={message:v}}if(u&&this.allowEmpty&&(!((c=u==null?void 0:u.details)===null||c===void 0)&&c.includes("Results contain 0 rows"))&&(u=null,y=200,p="OK"),u&&this.shouldThrowOnError)throw u}return{error:u,data:l,count:h,status:y,statusText:p}});return this.shouldThrowOnError||(s=s.catch(i=>({error:{message:`FetchError: ${i.message}`,details:"",hint:"",code:i.code||""},data:null,count:null,status:0,statusText:""}))),s.then(e,t)}}class po extends fo{select(e){let t=!1;const r=(e??"*").split("").map(s=>/\s/.test(s)&&!t?"":(s==='"'&&(t=!t),s)).join("");return this.url.searchParams.set("select",r),this.headers.Prefer&&(this.headers.Prefer+=","),this.headers.Prefer+="return=representation",this}order(e,{ascending:t=!0,nullsFirst:r,foreignTable:s}={}){const i=s?`${s}.order`:"order",o=this.url.searchParams.get(i);return this.url.searchParams.set(i,`${o?`${o},`:""}${e}.${t?"asc":"desc"}${r===void 0?"":r?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:t}={}){const r=typeof t>"u"?"limit":`${t}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:r}={}){const s=typeof r>"u"?"offset":`${r}.offset`,i=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(s,`${e}`),this.url.searchParams.set(i,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.Accept="application/vnd.pgrst.object+json",this}maybeSingle(){return this.headers.Accept="application/vnd.pgrst.object+json",this.allowEmpty=!0,this}csv(){return this.headers.Accept="text/csv",this}geojson(){return this.headers.Accept="application/geo+json",this}explain({analyze:e=!1,verbose:t=!1,settings:r=!1,buffers:s=!1,wal:i=!1,format:o="text"}={}){const a=[e?"analyze":null,t?"verbose":null,r?"settings":null,s?"buffers":null,i?"wal":null].filter(Boolean).join("|"),c=this.headers.Accept;return this.headers.Accept=`application/vnd.pgrst.plan+${o}; for="${c}"; options=${a};`,o==="json"?this:this}rollback(){var e;return((e=this.headers.Prefer)!==null&&e!==void 0?e:"").trim().length>0?this.headers.Prefer+=",tx=rollback":this.headers.Prefer="tx=rollback",this}returns(){return this}}class xt extends po{eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}in(e,t){const r=t.map(s=>typeof s=="string"&&new RegExp("[,()]").test(s)?`"${s}"`:`${s}`).join(",");return this.url.searchParams.append(e,`in.(${r})`),this}contains(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t=="string"?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(",")}}`),this}textSearch(e,t,{config:r,type:s}={}){let i="";s==="plain"?i="pl":s==="phrase"?i="ph":s==="websearch"&&(i="w");const o=r===void 0?"":`(${r})`;return this.url.searchParams.append(e,`${i}fts${o}.${t}`),this}match(e){return Object.entries(e).forEach(([t,r])=>{this.url.searchParams.append(t,`eq.${r}`)}),this}not(e,t,r){return this.url.searchParams.append(e,`not.${t}.${r}`),this}or(e,{foreignTable:t}={}){const r=t?`${t}.or`:"or";return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,r){return this.url.searchParams.append(e,`${t}.${r}`),this}}class yo{constructor(e,{headers:t={},schema:r,fetch:s}){this.url=e,this.headers=t,this.schema=r,this.fetch=s}select(e,{head:t=!1,count:r}={}){const s=t?"HEAD":"GET";let i=!1;const o=(e??"*").split("").map(a=>/\s/.test(a)&&!i?"":(a==='"'&&(i=!i),a)).join("");return this.url.searchParams.set("select",o),r&&(this.headers.Prefer=`count=${r}`),new xt({method:s,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}insert(e,{count:t}={}){const r="POST",s=[],i=e;if(t&&s.push(`count=${t}`),this.headers.Prefer&&s.unshift(this.headers.Prefer),this.headers.Prefer=s.join(","),Array.isArray(e)){const o=e.reduce((a,c)=>a.concat(Object.keys(c)),[]);if(o.length>0){const a=[...new Set(o)].map(c=>`"${c}"`);this.url.searchParams.set("columns",a.join(","))}}return new xt({method:r,url:this.url,headers:this.headers,schema:this.schema,body:i,fetch:this.fetch,allowEmpty:!1})}upsert(e,{onConflict:t,ignoreDuplicates:r=!1,count:s}={}){const i="POST",o=[`resolution=${r?"ignore":"merge"}-duplicates`];t!==void 0&&this.url.searchParams.set("on_conflict",t);const a=e;return s&&o.push(`count=${s}`),this.headers.Prefer&&o.unshift(this.headers.Prefer),this.headers.Prefer=o.join(","),new xt({method:i,url:this.url,headers:this.headers,schema:this.schema,body:a,fetch:this.fetch,allowEmpty:!1})}update(e,{count:t}={}){const r="PATCH",s=[],i=e;return t&&s.push(`count=${t}`),this.headers.Prefer&&s.unshift(this.headers.Prefer),this.headers.Prefer=s.join(","),new xt({method:r,url:this.url,headers:this.headers,schema:this.schema,body:i,fetch:this.fetch,allowEmpty:!1})}delete({count:e}={}){const t="DELETE",r=[];return e&&r.push(`count=${e}`),this.headers.Prefer&&r.unshift(this.headers.Prefer),this.headers.Prefer=r.join(","),new xt({method:t,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}}const mo="1.4.1",go={"X-Client-Info":`postgrest-js/${mo}`};class wo{constructor(e,{headers:t={},schema:r,fetch:s}={}){this.url=e,this.headers=Object.assign(Object.assign({},go),t),this.schema=r,this.fetch=s}from(e){const t=new URL(`${this.url}/${e}`);return new yo(t,{headers:Object.assign({},this.headers),schema:this.schema,fetch:this.fetch})}rpc(e,t={},{head:r=!1,count:s}={}){let i;const o=new URL(`${this.url}/rpc/${e}`);let a;r?(i="HEAD",Object.entries(t).forEach(([u,l])=>{o.searchParams.append(u,`${l}`)})):(i="POST",a=t);const c=Object.assign({},this.headers);return s&&(c.Prefer=`count=${s}`),new xt({method:i,url:o,headers:c,schema:this.schema,body:a,fetch:this.fetch,allowEmpty:!1})}}var qr,es;function bo(){if(es)return qr;es=1;var n=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};return qr=function(){if(this)return this;if(typeof globalThis=="object"&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return n()}try{return __global__||n()}finally{delete Object.prototype.__global__}}(),qr}const vo="websocket",_o="Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.",Eo=["websocket","websockets","socket","networking","comet","push","RFC-6455","realtime","server","client"],xo="Brian McKelvey <theturtle32@gmail.com> (https://github.com/theturtle32)",To=["Iñaki Baz Castillo <ibc@aliax.net> (http://dev.sipdoc.net)"],Oo="1.0.34",ko={type:"git",url:"https://github.com/theturtle32/WebSocket-Node.git"},Ao="https://github.com/theturtle32/WebSocket-Node",So={node:">=4.0.0"},Ro={bufferutil:"^4.0.1",debug:"^2.2.0","es5-ext":"^0.10.50","typedarray-to-buffer":"^3.1.5","utf-8-validate":"^5.0.2",yaeti:"^0.0.6"},$o={"buffer-equal":"^1.0.0",gulp:"^4.0.2","gulp-jshint":"^2.0.4","jshint-stylish":"^2.2.1",jshint:"^2.0.0",tape:"^4.9.1"},Po={verbose:!1},No={test:"tape test/unit/*.js",gulp:"gulp"},Io="index",Co={lib:"./lib"},Fo="lib/browser.js",Do="Apache-2.0",Uo={name:vo,description:_o,keywords:Eo,author:xo,contributors:To,version:Oo,repository:ko,homepage:Ao,engines:So,dependencies:Ro,devDependencies:$o,config:Po,scripts:No,main:Io,directories:Co,browser:Fo,license:Do};var jo=Uo.version,Qe;if(typeof globalThis=="object")Qe=globalThis;else try{Qe=bo()}catch{}finally{if(!Qe&&typeof window<"u"&&(Qe=window),!Qe)throw new Error("Could not determine global this")}var qt=Qe.WebSocket||Qe.MozWebSocket,Lo=jo;function Gs(n,e){var t;return e?t=new qt(n,e):t=new qt(n),t}qt&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(n){Object.defineProperty(Gs,n,{get:function(){return qt[n]}})});var Bo={w3cwebsocket:qt?Gs:null,version:Lo};const Ho="2.6.0",Mo={"X-Client-Info":`realtime-js/${Ho}`},Vo="1.0.0",Js=1e4,zo=1e3;var Mt;(function(n){n[n.connecting=0]="connecting",n[n.open=1]="open",n[n.closing=2]="closing",n[n.closed=3]="closed"})(Mt||(Mt={}));var se;(function(n){n.closed="closed",n.errored="errored",n.joined="joined",n.joining="joining",n.leaving="leaving"})(se||(se={}));var ye;(function(n){n.close="phx_close",n.error="phx_error",n.join="phx_join",n.reply="phx_reply",n.leave="phx_leave",n.access_token="access_token"})(ye||(ye={}));var on;(function(n){n.websocket="websocket"})(on||(on={}));var et;(function(n){n.Connecting="connecting",n.Open="open",n.Closing="closing",n.Closed="closed"})(et||(et={}));class Ws{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0,this.callback=e,this.timerCalc=t}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}class qo{constructor(){this.HEADER_LENGTH=1}decode(e,t){return e.constructor===ArrayBuffer?t(this._binaryDecode(e)):t(typeof e=="string"?JSON.parse(e):{})}_binaryDecode(e){const t=new DataView(e),r=new TextDecoder;return this._decodeBroadcast(e,t,r)}_decodeBroadcast(e,t,r){const s=t.getUint8(1),i=t.getUint8(2);let o=this.HEADER_LENGTH+2;const a=r.decode(e.slice(o,o+s));o=o+s;const c=r.decode(e.slice(o,o+i));o=o+i;const u=JSON.parse(r.decode(e.slice(o,e.byteLength)));return{ref:null,topic:a,event:c,payload:u}}}class Gr{constructor(e,t,r={},s=Js){this.channel=e,this.event=t,this.payload=r,this.timeout=s,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null,this.rateLimited=!1}resend(e){this.timeout=e,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){if(this._hasReceived("timeout"))return;this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()})==="rate limited"&&(this.rateLimited=!0)}updatePayload(e){this.payload=Object.assign(Object.assign({},this.payload),e)}receive(e,t){var r;return this._hasReceived(e)&&t((r=this.receivedResp)===null||r===void 0?void 0:r.response),this.recHooks.push({status:e,callback:t}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);const e=t=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=t,this._matchReceive(t)};this.channel._on(this.refEvent,{},e),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(e,t){this.refEvent&&this.channel._trigger(this.refEvent,{status:e,response:t})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:e,response:t}){this.recHooks.filter(r=>r.status===e).forEach(r=>r.callback(t))}_hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}}var ts;(function(n){n.SYNC="sync",n.JOIN="join",n.LEAVE="leave"})(ts||(ts={}));class Vt{constructor(e,t){this.channel=e,this.state={},this.pendingDiffs=[],this.joinRef=null,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const r=(t==null?void 0:t.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(r.state,{},s=>{const{onJoin:i,onLeave:o,onSync:a}=this.caller;this.joinRef=this.channel._joinRef(),this.state=Vt.syncState(this.state,s,i,o),this.pendingDiffs.forEach(c=>{this.state=Vt.syncDiff(this.state,c,i,o)}),this.pendingDiffs=[],a()}),this.channel._on(r.diff,{},s=>{const{onJoin:i,onLeave:o,onSync:a}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(s):(this.state=Vt.syncDiff(this.state,s,i,o),a())}),this.onJoin((s,i,o)=>{this.channel._trigger("presence",{event:"join",key:s,currentPresences:i,newPresences:o})}),this.onLeave((s,i,o)=>{this.channel._trigger("presence",{event:"leave",key:s,currentPresences:i,leftPresences:o})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(e,t,r,s){const i=this.cloneDeep(e),o=this.transformState(t),a={},c={};return this.map(i,(u,l)=>{o[u]||(c[u]=l)}),this.map(o,(u,l)=>{const h=i[u];if(h){const y=l.map(g=>g.presence_ref),p=h.map(g=>g.presence_ref),w=l.filter(g=>p.indexOf(g.presence_ref)<0),v=h.filter(g=>y.indexOf(g.presence_ref)<0);w.length>0&&(a[u]=w),v.length>0&&(c[u]=v)}else a[u]=l}),this.syncDiff(i,{joins:a,leaves:c},r,s)}static syncDiff(e,t,r,s){const{joins:i,leaves:o}={joins:this.transformState(t.joins),leaves:this.transformState(t.leaves)};return r||(r=()=>{}),s||(s=()=>{}),this.map(i,(a,c)=>{var u;const l=(u=e[a])!==null&&u!==void 0?u:[];if(e[a]=this.cloneDeep(c),l.length>0){const h=e[a].map(p=>p.presence_ref),y=l.filter(p=>h.indexOf(p.presence_ref)<0);e[a].unshift(...y)}r(a,l,c)}),this.map(o,(a,c)=>{let u=e[a];if(!u)return;const l=c.map(h=>h.presence_ref);u=u.filter(h=>l.indexOf(h.presence_ref)<0),e[a]=u,s(a,u,c),u.length===0&&delete e[a]}),e}static map(e,t){return Object.getOwnPropertyNames(e).map(r=>t(r,e[r]))}static transformState(e){return e=this.cloneDeep(e),Object.getOwnPropertyNames(e).reduce((t,r)=>{const s=e[r];return"metas"in s?t[r]=s.metas.map(i=>(i.presence_ref=i.phx_ref,delete i.phx_ref,delete i.phx_ref_prev,i)):t[r]=s,t},{})}static cloneDeep(e){return JSON.parse(JSON.stringify(e))}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}var D;(function(n){n.abstime="abstime",n.bool="bool",n.date="date",n.daterange="daterange",n.float4="float4",n.float8="float8",n.int2="int2",n.int4="int4",n.int4range="int4range",n.int8="int8",n.int8range="int8range",n.json="json",n.jsonb="jsonb",n.money="money",n.numeric="numeric",n.oid="oid",n.reltime="reltime",n.text="text",n.time="time",n.timestamp="timestamp",n.timestamptz="timestamptz",n.timetz="timetz",n.tsrange="tsrange",n.tstzrange="tstzrange"})(D||(D={}));const rs=(n,e,t={})=>{var r;const s=(r=t.skipTypes)!==null&&r!==void 0?r:[];return Object.keys(e).reduce((i,o)=>(i[o]=Go(o,n,e,s),i),{})},Go=(n,e,t,r)=>{const s=e.find(a=>a.name===n),i=s==null?void 0:s.type,o=t[n];return i&&!r.includes(i)?Ks(i,o):an(o)},Ks=(n,e)=>{if(n.charAt(0)==="_"){const t=n.slice(1,n.length);return Xo(e,t)}switch(n){case D.bool:return Jo(e);case D.float4:case D.float8:case D.int2:case D.int4:case D.int8:case D.numeric:case D.oid:return Wo(e);case D.json:case D.jsonb:return Ko(e);case D.timestamp:return Zo(e);case D.abstime:case D.date:case D.daterange:case D.int4range:case D.int8range:case D.money:case D.reltime:case D.text:case D.time:case D.timestamptz:case D.timetz:case D.tsrange:case D.tstzrange:return an(e);default:return an(e)}},an=n=>n,Jo=n=>{switch(n){case"t":return!0;case"f":return!1;default:return n}},Wo=n=>{if(typeof n=="string"){const e=parseFloat(n);if(!Number.isNaN(e))return e}return n},Ko=n=>{if(typeof n=="string")try{return JSON.parse(n)}catch(e){return console.log(`JSON parse error: ${e}`),n}return n},Xo=(n,e)=>{if(typeof n!="string")return n;const t=n.length-1,r=n[t];if(n[0]==="{"&&r==="}"){let i;const o=n.slice(1,t);try{i=JSON.parse("["+o+"]")}catch{i=o?o.split(","):[]}return i.map(a=>Ks(e,a))}return n},Zo=n=>typeof n=="string"?n.replace(" ","T"):n;var ns=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})},ss;(function(n){n.ALL="*",n.INSERT="INSERT",n.UPDATE="UPDATE",n.DELETE="DELETE"})(ss||(ss={}));var is;(function(n){n.BROADCAST="broadcast",n.PRESENCE="presence",n.POSTGRES_CHANGES="postgres_changes"})(is||(is={}));var os;(function(n){n.SUBSCRIBED="SUBSCRIBED",n.TIMED_OUT="TIMED_OUT",n.CLOSED="CLOSED",n.CHANNEL_ERROR="CHANNEL_ERROR"})(os||(os={}));class Rn{constructor(e,t={config:{}},r){this.topic=e,this.params=t,this.socket=r,this.bindings={},this.state=se.closed,this.joinedOnce=!1,this.pushBuffer=[],this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:""}},t.config),this.timeout=this.socket.timeout,this.joinPush=new Gr(this,ye.join,this.params,this.timeout),this.rejoinTimer=new Ws(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=se.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(s=>s.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=se.closed,this.socket._remove(this)}),this._onError(s=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,s),this.state=se.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=se.errored,this.rejoinTimer.scheduleTimeout())}),this._on(ye.reply,{},(s,i)=>{this._trigger(this._replyEventName(i),s)}),this.presence=new Vt(this)}subscribe(e,t=this.timeout){var r,s;if(this.joinedOnce)throw"tried to subscribe multiple times. 'subscribe' can only be called a single time per channel instance";{const{config:{broadcast:i,presence:o}}=this.params;this._onError(u=>e&&e("CHANNEL_ERROR",u)),this._onClose(()=>e&&e("CLOSED"));const a={},c={broadcast:i,presence:o,postgres_changes:(s=(r=this.bindings.postgres_changes)===null||r===void 0?void 0:r.map(u=>u.filter))!==null&&s!==void 0?s:[]};this.socket.accessToken&&(a.access_token=this.socket.accessToken),this.updateJoinPayload(Object.assign({config:c},a)),this.joinedOnce=!0,this._rejoin(t),this.joinPush.receive("ok",({postgres_changes:u})=>{var l;if(this.socket.accessToken&&this.socket.setAuth(this.socket.accessToken),u===void 0){e&&e("SUBSCRIBED");return}else{const h=this.bindings.postgres_changes,y=(l=h==null?void 0:h.length)!==null&&l!==void 0?l:0,p=[];for(let w=0;w<y;w++){const v=h[w],{filter:{event:g,schema:A,table:C,filter:Z}}=v,U=u&&u[w];if(U&&U.event===g&&U.schema===A&&U.table===C&&U.filter===Z)p.push(Object.assign(Object.assign({},v),{id:U.id}));else{this.unsubscribe(),e&&e("CHANNEL_ERROR",new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=p,e&&e("SUBSCRIBED");return}}).receive("error",u=>{e&&e("CHANNEL_ERROR",new Error(JSON.stringify(Object.values(u).join(", ")||"error")))}).receive("timeout",()=>{e&&e("TIMED_OUT")})}return this}presenceState(){return this.presence.state}track(e,t={}){return ns(this,void 0,void 0,function*(){return yield this.send({type:"presence",event:"track",payload:e},t.timeout||this.timeout)})}untrack(e={}){return ns(this,void 0,void 0,function*(){return yield this.send({type:"presence",event:"untrack"},e)})}on(e,t,r){return this._on(e,t,r)}send(e,t={}){return new Promise(r=>{var s,i,o;const a=this._push(e.type,e,t.timeout||this.timeout);a.rateLimited&&r("rate limited"),e.type==="broadcast"&&!(!((o=(i=(s=this.params)===null||s===void 0?void 0:s.config)===null||i===void 0?void 0:i.broadcast)===null||o===void 0)&&o.ack)&&r("ok"),a.receive("ok",()=>r("ok")),a.receive("timeout",()=>r("timed out"))})}updateJoinPayload(e){this.joinPush.updatePayload(e)}unsubscribe(e=this.timeout){this.state=se.leaving;const t=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(ye.close,"leave",this._joinRef())};return this.rejoinTimer.reset(),this.joinPush.destroy(),new Promise(r=>{const s=new Gr(this,ye.leave,{},e);s.receive("ok",()=>{t(),r("ok")}).receive("timeout",()=>{t(),r("timed out")}).receive("error",()=>{r("error")}),s.send(),this._canPush()||s.trigger("ok",{})})}_push(e,t,r=this.timeout){if(!this.joinedOnce)throw`tried to push '${e}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let s=new Gr(this,e,t,r);return this._canPush()?s.send():(s.startTimeout(),this.pushBuffer.push(s)),s}_onMessage(e,t,r){return t}_isMember(e){return this.topic===e}_joinRef(){return this.joinPush.ref}_trigger(e,t,r){var s,i;const o=e.toLocaleLowerCase(),{close:a,error:c,leave:u,join:l}=ye;if(r&&[a,c,u,l].indexOf(o)>=0&&r!==this._joinRef())return;let y=this._onMessage(o,t,r);if(t&&!y)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(o)?(s=this.bindings.postgres_changes)===null||s===void 0||s.filter(p=>{var w,v,g;return((w=p.filter)===null||w===void 0?void 0:w.event)==="*"||((g=(v=p.filter)===null||v===void 0?void 0:v.event)===null||g===void 0?void 0:g.toLocaleLowerCase())===o}).map(p=>p.callback(y,r)):(i=this.bindings[o])===null||i===void 0||i.filter(p=>{var w,v,g,A,C,Z;if(["broadcast","presence","postgres_changes"].includes(o))if("id"in p){const U=p.id,be=(w=p.filter)===null||w===void 0?void 0:w.event;return U&&((v=t.ids)===null||v===void 0?void 0:v.includes(U))&&(be==="*"||(be==null?void 0:be.toLocaleLowerCase())===((g=t.data)===null||g===void 0?void 0:g.type.toLocaleLowerCase()))}else{const U=(C=(A=p==null?void 0:p.filter)===null||A===void 0?void 0:A.event)===null||C===void 0?void 0:C.toLocaleLowerCase();return U==="*"||U===((Z=t==null?void 0:t.event)===null||Z===void 0?void 0:Z.toLocaleLowerCase())}else return p.type.toLocaleLowerCase()===o}).map(p=>{if(typeof y=="object"&&"ids"in y){const w=y.data,{schema:v,table:g,commit_timestamp:A,type:C,errors:Z}=w;y=Object.assign(Object.assign({},{schema:v,table:g,commit_timestamp:A,eventType:C,new:{},old:{},errors:Z}),this._getPayloadRecords(w))}p.callback(y,r)})}_isClosed(){return this.state===se.closed}_isJoined(){return this.state===se.joined}_isJoining(){return this.state===se.joining}_isLeaving(){return this.state===se.leaving}_replyEventName(e){return`chan_reply_${e}`}_on(e,t,r){const s=e.toLocaleLowerCase(),i={type:s,filter:t,callback:r};return this.bindings[s]?this.bindings[s].push(i):this.bindings[s]=[i],this}_off(e,t){const r=e.toLocaleLowerCase();return this.bindings[r]=this.bindings[r].filter(s=>{var i;return!(((i=s.type)===null||i===void 0?void 0:i.toLocaleLowerCase())===r&&Rn.isEqual(s.filter,t))}),this}static isEqual(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(e[r]!==t[r])return!1;return!0}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(e){this._on(ye.close,{},e)}_onError(e){this._on(ye.error,{},t=>e(t))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=se.joining,this.joinPush.resend(e))}_getPayloadRecords(e){const t={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(t.new=rs(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(t.old=rs(e.columns,e.old_record)),t}}var Yo=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const Qo=()=>{};class ea{constructor(e,t){var r;this.accessToken=null,this.channels=[],this.endPoint="",this.headers=Mo,this.params={},this.timeout=Js,this.transport=Bo.w3cwebsocket,this.heartbeatIntervalMs=3e4,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.ref=0,this.logger=Qo,this.conn=null,this.sendBuffer=[],this.serializer=new qo,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.eventsPerSecondLimitMs=100,this.inThrottle=!1,this.endPoint=`${e}/${on.websocket}`,t!=null&&t.params&&(this.params=t.params),t!=null&&t.headers&&(this.headers=Object.assign(Object.assign({},this.headers),t.headers)),t!=null&&t.timeout&&(this.timeout=t.timeout),t!=null&&t.logger&&(this.logger=t.logger),t!=null&&t.transport&&(this.transport=t.transport),t!=null&&t.heartbeatIntervalMs&&(this.heartbeatIntervalMs=t.heartbeatIntervalMs);const s=(r=t==null?void 0:t.params)===null||r===void 0?void 0:r.eventsPerSecond;s&&(this.eventsPerSecondLimitMs=Math.floor(1e3/s)),this.reconnectAfterMs=t!=null&&t.reconnectAfterMs?t.reconnectAfterMs:i=>[1e3,2e3,5e3,1e4][i-1]||1e4,this.encode=t!=null&&t.encode?t.encode:(i,o)=>o(JSON.stringify(i)),this.decode=t!=null&&t.decode?t.decode:this.serializer.decode.bind(this.serializer),this.reconnectTimer=new Ws(()=>Yo(this,void 0,void 0,function*(){this.disconnect(),this.connect()}),this.reconnectAfterMs)}connect(){this.conn||(this.conn=new this.transport(this._endPointURL(),[],null,this.headers),this.conn&&(this.conn.binaryType="arraybuffer",this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=e=>this._onConnError(e),this.conn.onmessage=e=>this._onConnMessage(e),this.conn.onclose=e=>this._onConnClose(e)))}disconnect(e,t){this.conn&&(this.conn.onclose=function(){},e?this.conn.close(e,t??""):this.conn.close(),this.conn=null,this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.reset())}getChannels(){return this.channels}removeChannel(e){return e.unsubscribe().then(t=>(this.channels.length===0&&this.disconnect(),t))}removeAllChannels(){return Promise.all(this.channels.map(e=>e.unsubscribe())).then(e=>(this.disconnect(),e))}log(e,t,r){this.logger(e,t,r)}connectionState(){switch(this.conn&&this.conn.readyState){case Mt.connecting:return et.Connecting;case Mt.open:return et.Open;case Mt.closing:return et.Closing;default:return et.Closed}}isConnected(){return this.connectionState()===et.Open}channel(e,t={config:{}}){this.isConnected()||this.connect();const r=new Rn(`realtime:${e}`,t,this);return this.channels.push(r),r}push(e){const{topic:t,event:r,payload:s,ref:i}=e;let o=()=>{this.encode(e,a=>{var c;(c=this.conn)===null||c===void 0||c.send(a)})};if(this.log("push",`${t} ${r} (${i})`,s),this.isConnected())if(["broadcast","presence","postgres_changes"].includes(r)){if(this._throttle(o)())return"rate limited"}else o();else this.sendBuffer.push(o)}setAuth(e){this.accessToken=e,this.channels.forEach(t=>{e&&t.updateJoinPayload({access_token:e}),t.joinedOnce&&t._isJoined()&&t._push(ye.access_token,{access_token:e})})}_makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}_leaveOpenTopic(e){let t=this.channels.find(r=>r.topic===e&&(r._isJoined()||r._isJoining()));t&&(this.log("transport",`leaving duplicate topic "${e}"`),t.unsubscribe())}_remove(e){this.channels=this.channels.filter(t=>t._joinRef()!==e._joinRef())}_endPointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:Vo}))}_onConnMessage(e){this.decode(e.data,t=>{let{topic:r,event:s,payload:i,ref:o}=t;(o&&o===this.pendingHeartbeatRef||s===(i==null?void 0:i.type))&&(this.pendingHeartbeatRef=null),this.log("receive",`${i.status||""} ${r} ${s} ${o&&"("+o+")"||""}`,i),this.channels.filter(a=>a._isMember(r)).forEach(a=>a._trigger(s,i,o)),this.stateChangeCallbacks.message.forEach(a=>a(t))})}_onConnOpen(){this.log("transport",`connected to ${this._endPointURL()}`),this._flushSendBuffer(),this.reconnectTimer.reset(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this._sendHeartbeat(),this.heartbeatIntervalMs),this.stateChangeCallbacks.open.forEach(e=>e())}_onConnClose(e){this.log("transport","close",e),this._triggerChanError(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.scheduleTimeout(),this.stateChangeCallbacks.close.forEach(t=>t(e))}_onConnError(e){this.log("transport",e.message),this._triggerChanError(),this.stateChangeCallbacks.error.forEach(t=>t(e))}_triggerChanError(){this.channels.forEach(e=>e._trigger(ye.error))}_appendParams(e,t){if(Object.keys(t).length===0)return e;const r=e.match(/\?/)?"&":"?",s=new URLSearchParams(t);return`${e}${r}${s}`}_flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}_sendHeartbeat(){var e;if(this.isConnected()){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection"),(e=this.conn)===null||e===void 0||e.close(zo,"hearbeat timeout");return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef}),this.setAuth(this.accessToken)}}_throttle(e,t=this.eventsPerSecondLimitMs){return()=>this.inThrottle?!0:(e(),t>0&&(this.inThrottle=!0,setTimeout(()=>{this.inThrottle=!1},t)),!1)}}class Xs extends Error{constructor(e){super(e),this.__isStorageError=!0,this.name="StorageError"}}function ee(n){return typeof n=="object"&&n!==null&&"__isStorageError"in n}class ta extends Xs{constructor(e,t){super(e),this.name="StorageApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class as extends Xs{constructor(e,t){super(e),this.name="StorageUnknownError",this.originalError=t}}var Zs=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const Ys=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>Zs(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>Rr)).fetch(...t)}):e=fetch,(...t)=>e(...t)},ra=()=>Zs(void 0,void 0,void 0,function*(){return typeof Response>"u"?(yield Promise.resolve().then(()=>Rr)).Response:Response});var Ft=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const Jr=n=>n.msg||n.message||n.error_description||n.error||JSON.stringify(n),na=(n,e)=>Ft(void 0,void 0,void 0,function*(){const t=yield ra();n instanceof t?n.json().then(r=>{e(new ta(Jr(r),n.status||500))}).catch(r=>{e(new as(Jr(r),r))}):e(new as(Jr(n),n))}),sa=(n,e,t,r)=>{const s={method:n,headers:(e==null?void 0:e.headers)||{}};return n==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json"},e==null?void 0:e.headers),s.body=JSON.stringify(r),Object.assign(Object.assign({},s),t))};function $r(n,e,t,r,s,i){return Ft(this,void 0,void 0,function*(){return new Promise((o,a)=>{n(t,sa(e,r,s,i)).then(c=>{if(!c.ok)throw c;return r!=null&&r.noResolveJson?c:c.json()}).then(c=>o(c)).catch(c=>na(c,a))})})}function cn(n,e,t,r){return Ft(this,void 0,void 0,function*(){return $r(n,"GET",e,t,r)})}function tt(n,e,t,r,s){return Ft(this,void 0,void 0,function*(){return $r(n,"POST",e,r,s,t)})}function ia(n,e,t,r,s){return Ft(this,void 0,void 0,function*(){return $r(n,"PUT",e,r,s,t)})}function Qs(n,e,t,r,s){return Ft(this,void 0,void 0,function*(){return $r(n,"DELETE",e,r,s,t)})}var ve=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const oa={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},aa={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class ca{constructor(e,t={},r,s){this.url=e,this.headers=t,this.bucketId=r,this.fetch=Ys(s)}uploadOrUpdate(e,t,r,s){return ve(this,void 0,void 0,function*(){try{let i;const o=Object.assign(Object.assign({},aa),s),a=Object.assign(Object.assign({},this.headers),e==="POST"&&{"x-upsert":String(o.upsert)});typeof Blob<"u"&&r instanceof Blob?(i=new FormData,i.append("cacheControl",o.cacheControl),i.append("",r)):typeof FormData<"u"&&r instanceof FormData?(i=r,i.append("cacheControl",o.cacheControl)):(i=r,a["cache-control"]=`max-age=${o.cacheControl}`,a["content-type"]=o.contentType);const c=this._removeEmptyFolders(t),u=this._getFinalPath(c),l=yield this.fetch(`${this.url}/object/${u}`,{method:e,body:i,headers:a});return l.ok?{data:{path:c},error:null}:{data:null,error:yield l.json()}}catch(i){if(ee(i))return{data:null,error:i};throw i}})}upload(e,t,r){return ve(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",e,t,r)})}update(e,t,r){return ve(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",e,t,r)})}move(e,t){return ve(this,void 0,void 0,function*(){try{return{data:yield tt(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers}),error:null}}catch(r){if(ee(r))return{data:null,error:r};throw r}})}copy(e,t){return ve(this,void 0,void 0,function*(){try{return{data:{path:(yield tt(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers})).Key},error:null}}catch(r){if(ee(r))return{data:null,error:r};throw r}})}createSignedUrl(e,t,r){return ve(this,void 0,void 0,function*(){try{let s=this._getFinalPath(e),i=yield tt(this.fetch,`${this.url}/object/sign/${s}`,Object.assign({expiresIn:t},r!=null&&r.transform?{transform:r.transform}:{}),{headers:this.headers});const o=r!=null&&r.download?`&download=${r.download===!0?"":r.download}`:"";return i={signedUrl:encodeURI(`${this.url}${i.signedURL}${o}`)},{data:i,error:null}}catch(s){if(ee(s))return{data:null,error:s};throw s}})}createSignedUrls(e,t,r){return ve(this,void 0,void 0,function*(){try{const s=yield tt(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:t,paths:e},{headers:this.headers}),i=r!=null&&r.download?`&download=${r.download===!0?"":r.download}`:"";return{data:s.map(o=>Object.assign(Object.assign({},o),{signedUrl:o.signedURL?encodeURI(`${this.url}${o.signedURL}${i}`):null})),error:null}}catch(s){if(ee(s))return{data:null,error:s};throw s}})}download(e,t){return ve(this,void 0,void 0,function*(){const s=typeof(t==null?void 0:t.transform)<"u"?"render/image/authenticated":"object",i=this.transformOptsToQueryString((t==null?void 0:t.transform)||{}),o=i?`?${i}`:"";try{const a=this._getFinalPath(e);return{data:yield(yield cn(this.fetch,`${this.url}/${s}/${a}${o}`,{headers:this.headers,noResolveJson:!0})).blob(),error:null}}catch(a){if(ee(a))return{data:null,error:a};throw a}})}getPublicUrl(e,t){const r=this._getFinalPath(e),s=[],i=t!=null&&t.download?`download=${t.download===!0?"":t.download}`:"";i!==""&&s.push(i);const a=typeof(t==null?void 0:t.transform)<"u"?"render/image":"object",c=this.transformOptsToQueryString((t==null?void 0:t.transform)||{});c!==""&&s.push(c);let u=s.join("&");return u!==""&&(u=`?${u}`),{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${r}${u}`)}}}remove(e){return ve(this,void 0,void 0,function*(){try{return{data:yield Qs(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:e},{headers:this.headers}),error:null}}catch(t){if(ee(t))return{data:null,error:t};throw t}})}list(e,t,r){return ve(this,void 0,void 0,function*(){try{const s=Object.assign(Object.assign(Object.assign({},oa),t),{prefix:e||""});return{data:yield tt(this.fetch,`${this.url}/object/list/${this.bucketId}`,s,{headers:this.headers},r),error:null}}catch(s){if(ee(s))return{data:null,error:s};throw s}})}_getFinalPath(e){return`${this.bucketId}/${e}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(e){const t=[];return e.width&&t.push(`width=${e.width}`),e.height&&t.push(`height=${e.height}`),e.resize&&t.push(`resize=${e.resize}`),e.format&&t.push(`format=${e.format}`),e.quality&&t.push(`quality=${e.quality}`),t.join("&")}}const ua="2.3.1",la={"X-Client-Info":`storage-js/${ua}`};var bt=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};class ha{constructor(e,t={},r){this.url=e,this.headers=Object.assign(Object.assign({},la),t),this.fetch=Ys(r)}listBuckets(){return bt(this,void 0,void 0,function*(){try{return{data:yield cn(this.fetch,`${this.url}/bucket`,{headers:this.headers}),error:null}}catch(e){if(ee(e))return{data:null,error:e};throw e}})}getBucket(e){return bt(this,void 0,void 0,function*(){try{return{data:yield cn(this.fetch,`${this.url}/bucket/${e}`,{headers:this.headers}),error:null}}catch(t){if(ee(t))return{data:null,error:t};throw t}})}createBucket(e,t={public:!1}){return bt(this,void 0,void 0,function*(){try{return{data:yield tt(this.fetch,`${this.url}/bucket`,{id:e,name:e,public:t.public},{headers:this.headers}),error:null}}catch(r){if(ee(r))return{data:null,error:r};throw r}})}updateBucket(e,t){return bt(this,void 0,void 0,function*(){try{return{data:yield ia(this.fetch,`${this.url}/bucket/${e}`,{id:e,name:e,public:t.public},{headers:this.headers}),error:null}}catch(r){if(ee(r))return{data:null,error:r};throw r}})}emptyBucket(e){return bt(this,void 0,void 0,function*(){try{return{data:yield tt(this.fetch,`${this.url}/bucket/${e}/empty`,{},{headers:this.headers}),error:null}}catch(t){if(ee(t))return{data:null,error:t};throw t}})}deleteBucket(e){return bt(this,void 0,void 0,function*(){try{return{data:yield Qs(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers}),error:null}}catch(t){if(ee(t))return{data:null,error:t};throw t}})}}class fa extends ha{constructor(e,t={},r){super(e,t,r)}from(e){return new ca(this.url,this.headers,e,this.fetch)}}const da="2.10.0",pa={"X-Client-Info":`supabase-js/${da}`};var ya=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const ma=n=>{let e;return n?e=n:typeof fetch>"u"?e=Sn:e=fetch,(...t)=>e(...t)},ga=()=>typeof Headers>"u"?Ct.Headers:Headers,wa=(n,e,t)=>{const r=ma(t),s=ga();return(i,o)=>ya(void 0,void 0,void 0,function*(){var a;const c=(a=yield e())!==null&&a!==void 0?a:n;let u=new s(o==null?void 0:o.headers);return u.has("apikey")||u.set("apikey",n),u.has("Authorization")||u.set("Authorization",`Bearer ${c}`),r(i,Object.assign(Object.assign({},o),{headers:u}))})};function ba(n){return n.replace(/\/$/,"")}function va(n,e){const{db:t,auth:r,realtime:s,global:i}=n,{db:o,auth:a,realtime:c,global:u}=e;return{db:Object.assign(Object.assign({},o),t),auth:Object.assign(Object.assign({},a),r),realtime:Object.assign(Object.assign({},c),s),global:Object.assign(Object.assign({},u),i)}}var tr=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};function _a(n){return Math.round(Date.now()/1e3)+n}function Ea(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){const e=Math.random()*16|0;return(n=="x"?e:e&3|8).toString(16)})}const Ye=()=>typeof document<"u",Xe={tested:!1,writable:!1},Wr=()=>{if(!Ye())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(Xe.tested)return Xe.writable;const n=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(n,n),globalThis.localStorage.removeItem(n),Xe.tested=!0,Xe.writable=!0}catch{Xe.tested=!0,Xe.writable=!1}return Xe.writable};function ae(n,e){var t;e||(e=((t=window==null?void 0:window.location)===null||t===void 0?void 0:t.href)||""),n=n.replace(/[\[\]]/g,"\\$&");const r=new RegExp("[?&#]"+n+"(=([^&#]*)|&|#|$)"),s=r.exec(e);return s?s[2]?decodeURIComponent(s[2].replace(/\+/g," ")):"":null}const ei=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>tr(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>Rr)).fetch(...t)}):e=fetch,(...t)=>e(...t)},xa=n=>typeof n=="object"&&n!==null&&"status"in n&&"ok"in n&&"json"in n&&typeof n.json=="function",Ta=(n,e,t)=>tr(void 0,void 0,void 0,function*(){yield n.setItem(e,JSON.stringify(t))}),cs=(n,e)=>tr(void 0,void 0,void 0,function*(){const t=yield n.getItem(e);if(!t)return null;try{return JSON.parse(t)}catch{return t}}),Oa=(n,e)=>tr(void 0,void 0,void 0,function*(){yield n.removeItem(e)});function ka(n){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let t="",r,s,i,o,a,c,u,l=0;for(n=n.replace("-","+").replace("_","/");l<n.length;)o=e.indexOf(n.charAt(l++)),a=e.indexOf(n.charAt(l++)),c=e.indexOf(n.charAt(l++)),u=e.indexOf(n.charAt(l++)),r=o<<2|a>>4,s=(a&15)<<4|c>>2,i=(c&3)<<6|u,t=t+String.fromCharCode(r),c!=64&&s!=0&&(t=t+String.fromCharCode(s)),u!=64&&i!=0&&(t=t+String.fromCharCode(i));return t}class Pr{constructor(){this.promise=new Pr.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}}Pr.promiseConstructor=Promise;function us(n){const e=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i,t=n.split(".");if(t.length!==3)throw new Error("JWT is not valid: not a JWT structure");if(!e.test(t[1]))throw new Error("JWT is not valid: payload is not in base64url format");const r=t[1];return JSON.parse(ka(r))}function Aa(n){return new Promise(e=>{setTimeout(()=>e(null),n)})}function Sa(n,e){return new Promise((r,s)=>{tr(this,void 0,void 0,function*(){for(let i=0;i<1/0;i++)try{const o=yield n(i);if(!e(i,null,o)){r(o);return}}catch(o){if(!e(i,o)){s(o);return}}})})}class $n extends Error{constructor(e,t){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=t}}function $(n){return typeof n=="object"&&n!==null&&"__isAuthError"in n}class Ra extends $n{constructor(e,t){super(e,t),this.name="AuthApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}function $a(n){return $(n)&&n.name==="AuthApiError"}class ti extends $n{constructor(e,t){super(e),this.name="AuthUnknownError",this.originalError=t}}class Nr extends $n{constructor(e,t,r){super(e),this.name=t,this.status=r}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class jt extends Nr{constructor(){super("Auth session missing!","AuthSessionMissingError",400)}}class Kr extends Nr{constructor(e){super(e,"AuthInvalidCredentialsError",400)}}class Ae extends Nr{constructor(e,t=null){super(e,"AuthImplicitGrantRedirectError",500),this.details=null,this.details=t}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class un extends Nr{constructor(e,t){super(e,"AuthRetryableFetchError",t)}}var Pn=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})},Pa=globalThis&&globalThis.__rest||function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,r=Object.getOwnPropertySymbols(n);s<r.length;s++)e.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(n,r[s])&&(t[r[s]]=n[r[s]]);return t};const ar=n=>n.msg||n.message||n.error_description||n.error||JSON.stringify(n),Na=(n,e)=>Pn(void 0,void 0,void 0,function*(){const t=[502,503,504];xa(n)?t.includes(n.status)?e(new un(ar(n),n.status)):n.json().then(r=>{e(new Ra(ar(r),n.status||500))}).catch(r=>{e(new ti(ar(r),r))}):e(new un(ar(n),0))}),Ia=(n,e,t,r)=>{const s={method:n,headers:(e==null?void 0:e.headers)||{}};return n==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),s.body=JSON.stringify(r),Object.assign(Object.assign({},s),t))};function I(n,e,t,r){var s;return Pn(this,void 0,void 0,function*(){const i=Object.assign({},r==null?void 0:r.headers);r!=null&&r.jwt&&(i.Authorization=`Bearer ${r.jwt}`);const o=(s=r==null?void 0:r.query)!==null&&s!==void 0?s:{};r!=null&&r.redirectTo&&(o.redirect_to=r.redirectTo);const a=Object.keys(o).length?"?"+new URLSearchParams(o).toString():"",c=yield Ca(n,e,t+a,{headers:i,noResolveJson:r==null?void 0:r.noResolveJson},{},r==null?void 0:r.body);return r!=null&&r.xform?r==null?void 0:r.xform(c):{data:Object.assign({},c),error:null}})}function Ca(n,e,t,r,s,i){return Pn(this,void 0,void 0,function*(){return new Promise((o,a)=>{n(t,Ia(e,r,s,i)).then(c=>{if(!c.ok)throw c;return r!=null&&r.noResolveJson?c:c.json()}).then(c=>o(c)).catch(c=>Na(c,a))})})}function Ze(n){var e;let t=null;ja(n)&&(t=Object.assign({},n),t.expires_at=_a(n.expires_in));const r=(e=n.user)!==null&&e!==void 0?e:n;return{data:{session:t,user:r},error:null}}function rt(n){var e;return{data:{user:(e=n.user)!==null&&e!==void 0?e:n},error:null}}function Fa(n){return{data:n,error:null}}function Da(n){const{action_link:e,email_otp:t,hashed_token:r,redirect_to:s,verification_type:i}=n,o=Pa(n,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),a={action_link:e,email_otp:t,hashed_token:r,redirect_to:s,verification_type:i},c=Object.assign({},o);return{data:{properties:a,user:c},error:null}}function Ua(n){return n}function ja(n){return n.access_token&&n.refresh_token&&n.expires_in}var _e=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})},La=globalThis&&globalThis.__rest||function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,r=Object.getOwnPropertySymbols(n);s<r.length;s++)e.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(n,r[s])&&(t[r[s]]=n[r[s]]);return t};class Ba{constructor({url:e="",headers:t={},fetch:r}){this.url=e,this.headers=t,this.fetch=ei(r),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)}}signOut(e){return _e(this,void 0,void 0,function*(){try{return yield I(this.fetch,"POST",`${this.url}/logout`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(t){if($(t))return{data:null,error:t};throw t}})}inviteUserByEmail(e,t={}){return _e(this,void 0,void 0,function*(){try{return yield I(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:rt})}catch(r){if($(r))return{data:{user:null},error:r};throw r}})}generateLink(e){return _e(this,void 0,void 0,function*(){try{const{options:t}=e,r=La(e,["options"]),s=Object.assign(Object.assign({},r),t);return"newEmail"in r&&(s.new_email=r==null?void 0:r.newEmail,delete s.newEmail),yield I(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:Da,redirectTo:t==null?void 0:t.redirectTo})}catch(t){if($(t))return{data:{properties:null,user:null},error:t};throw t}})}createUser(e){return _e(this,void 0,void 0,function*(){try{return yield I(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:rt})}catch(t){if($(t))return{data:{user:null},error:t};throw t}})}listUsers(e){var t,r,s,i,o,a,c;return _e(this,void 0,void 0,function*(){try{const u={nextPage:null,lastPage:0,total:0},l=yield I(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(t=e==null?void 0:e.page)===null||t===void 0?void 0:t.toString())!==null&&r!==void 0?r:"",per_page:(i=(s=e==null?void 0:e.perPage)===null||s===void 0?void 0:s.toString())!==null&&i!==void 0?i:""},xform:Ua});if(l.error)throw l.error;const h=yield l.json(),y=(o=l.headers.get("x-total-count"))!==null&&o!==void 0?o:0,p=(c=(a=l.headers.get("link"))===null||a===void 0?void 0:a.split(","))!==null&&c!==void 0?c:[];return p.length>0&&(p.forEach(w=>{const v=parseInt(w.split(";")[0].split("=")[1].substring(0,1)),g=JSON.parse(w.split(";")[1].split("=")[1]);u[`${g}Page`]=v}),u.total=parseInt(y)),{data:Object.assign(Object.assign({},h),u),error:null}}catch(u){if($(u))return{data:{users:[]},error:u};throw u}})}getUserById(e){return _e(this,void 0,void 0,function*(){try{return yield I(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:rt})}catch(t){if($(t))return{data:{user:null},error:t};throw t}})}updateUserById(e,t){return _e(this,void 0,void 0,function*(){try{return yield I(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:rt})}catch(r){if($(r))return{data:{user:null},error:r};throw r}})}deleteUser(e,t=!1){return _e(this,void 0,void 0,function*(){try{return yield I(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:rt})}catch(r){if($(r))return{data:{user:null},error:r};throw r}})}_listFactors(e){return _e(this,void 0,void 0,function*(){try{const{data:t,error:r}=yield I(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:s=>({data:{factors:s},error:null})});return{data:t,error:r}}catch(t){if($(t))return{data:null,error:t};throw t}})}_deleteFactor(e){return _e(this,void 0,void 0,function*(){try{return{data:yield I(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(t){if($(t))return{data:null,error:t};throw t}})}}const Ha="2.13.0",Ma="http://localhost:9999",Va="supabase.auth.token",za={"X-Client-Info":`gotrue-js/${Ha}`},qa=10,Ga={getItem:n=>Wr()?globalThis.localStorage.getItem(n):null,setItem:(n,e)=>{Wr()&&globalThis.localStorage.setItem(n,e)},removeItem:n=>{Wr()&&globalThis.localStorage.removeItem(n)}};function Ja(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}var k=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};Ja();const Wa={url:Ma,storageKey:Va,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:za},Xr=10*1e3,Ka=3;class Xa{constructor(e){this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.broadcastChannel=null;const t=Object.assign(Object.assign({},Wa),e);this.inMemorySession=null,this.storageKey=t.storageKey,this.autoRefreshToken=t.autoRefreshToken,this.persistSession=t.persistSession,this.storage=t.storage||Ga,this.admin=new Ba({url:t.url,headers:t.headers,fetch:t.fetch}),this.url=t.url,this.headers=t.headers,this.fetch=ei(t.fetch),this.detectSessionInUrl=t.detectSessionInUrl,this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this)},Ye()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey&&(this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey),this.broadcastChannel.addEventListener("message",r=>{this._notifyAllSubscribers(r.data.event,r.data.session,!1)})),this.initialize()}initialize(){return this.initializePromise||(this.initializePromise=this._initialize()),this.initializePromise}_initialize(){return k(this,void 0,void 0,function*(){if(this.initializePromise)return this.initializePromise;try{if(this.detectSessionInUrl&&this._isImplicitGrantFlow()){const{data:e,error:t}=yield this._getSessionFromUrl();if(t)return yield this._removeSession(),{error:t};const{session:r,redirectType:s}=e;return yield this._saveSession(r),setTimeout(()=>{this._notifyAllSubscribers("SIGNED_IN",r),s==="recovery"&&this._notifyAllSubscribers("PASSWORD_RECOVERY",r)},0),{error:null}}return yield this._recoverAndRefresh(),{error:null}}catch(e){return $(e)?{error:e}:{error:new ti("Unexpected error during initialization",e)}}finally{yield this._handleVisibilityChange()}})}signUp(e){var t,r;return k(this,void 0,void 0,function*(){try{yield this._removeSession();let s;if("email"in e){const{email:u,password:l,options:h}=e;s=yield I(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:h==null?void 0:h.emailRedirectTo,body:{email:u,password:l,data:(t=h==null?void 0:h.data)!==null&&t!==void 0?t:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:Ze})}else if("phone"in e){const{phone:u,password:l,options:h}=e;s=yield I(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:u,password:l,data:(r=h==null?void 0:h.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:Ze})}else throw new Kr("You must provide either an email or phone number and a password");const{data:i,error:o}=s;if(o||!i)return{data:{user:null,session:null},error:o};const a=i.session,c=i.user;return i.session&&(yield this._saveSession(i.session),this._notifyAllSubscribers("SIGNED_IN",a)),{data:{user:c,session:a},error:null}}catch(s){if($(s))return{data:{user:null,session:null},error:s};throw s}})}signInWithPassword(e){var t;return k(this,void 0,void 0,function*(){try{yield this._removeSession();let r;if("email"in e){const{email:o,password:a,options:c}=e;r=yield I(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:o,password:a,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken}},xform:Ze})}else if("phone"in e){const{phone:o,password:a,options:c}=e;r=yield I(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:o,password:a,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(t=c==null?void 0:c.channel)!==null&&t!==void 0?t:"sms"},xform:Ze})}else throw new Kr("You must provide either an email or phone number and a password");const{data:s,error:i}=r;return i||!s?{data:{user:null,session:null},error:i}:(s.session&&(yield this._saveSession(s.session),this._notifyAllSubscribers("SIGNED_IN",s.session)),{data:s,error:i})}catch(r){if($(r))return{data:{user:null,session:null},error:r};throw r}})}signInWithOAuth(e){var t,r,s,i;return k(this,void 0,void 0,function*(){return yield this._removeSession(),this._handleProviderSignIn(e.provider,{redirectTo:(t=e.options)===null||t===void 0?void 0:t.redirectTo,scopes:(r=e.options)===null||r===void 0?void 0:r.scopes,queryParams:(s=e.options)===null||s===void 0?void 0:s.queryParams,skipBrowserRedirect:(i=e.options)===null||i===void 0?void 0:i.skipBrowserRedirect})})}signInWithIdToken(e){return k(this,void 0,void 0,function*(){yield this._removeSession();try{const{options:t,provider:r,token:s,nonce:i}=e,o=yield I(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:r,id_token:s,nonce:i,gotrue_meta_security:{captcha_token:t==null?void 0:t.captchaToken}},xform:Ze}),{data:a,error:c}=o;return c||!a?{data:{user:null,session:null},error:c}:(a.session&&(yield this._saveSession(a.session),this._notifyAllSubscribers("SIGNED_IN",a.session)),{data:a,error:c})}catch(t){if($(t))return{data:{user:null,session:null},error:t};throw t}})}signInWithOtp(e){var t,r,s,i,o;return k(this,void 0,void 0,function*(){try{if(yield this._removeSession(),"email"in e){const{email:a,options:c}=e,{error:u}=yield I(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:a,data:(t=c==null?void 0:c.data)!==null&&t!==void 0?t:{},create_user:(r=c==null?void 0:c.shouldCreateUser)!==null&&r!==void 0?r:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken}},redirectTo:c==null?void 0:c.emailRedirectTo});return{data:{user:null,session:null},error:u}}if("phone"in e){const{phone:a,options:c}=e,{error:u}=yield I(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:a,data:(s=c==null?void 0:c.data)!==null&&s!==void 0?s:{},create_user:(i=c==null?void 0:c.shouldCreateUser)!==null&&i!==void 0?i:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(o=c==null?void 0:c.channel)!==null&&o!==void 0?o:"sms"}});return{data:{user:null,session:null},error:u}}throw new Kr("You must provide either an email or phone number.")}catch(a){if($(a))return{data:{user:null,session:null},error:a};throw a}})}verifyOtp(e){var t,r;return k(this,void 0,void 0,function*(){try{yield this._removeSession();const{data:s,error:i}=yield I(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:(t=e.options)===null||t===void 0?void 0:t.captchaToken}}),redirectTo:(r=e.options)===null||r===void 0?void 0:r.redirectTo,xform:Ze});if(i)throw i;if(!s)throw"An error occurred on token verification.";const o=s.session,a=s.user;return o!=null&&o.access_token&&(yield this._saveSession(o),this._notifyAllSubscribers("SIGNED_IN",o)),{data:{user:a,session:o},error:null}}catch(s){if($(s))return{data:{user:null,session:null},error:s};throw s}})}signInWithSSO(e){var t,r,s;return k(this,void 0,void 0,function*(){try{return yield this._removeSession(),yield I(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(r=(t=e.options)===null||t===void 0?void 0:t.redirectTo)!==null&&r!==void 0?r:void 0}),!((s=e==null?void 0:e.options)===null||s===void 0)&&s.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0}),headers:this.headers,xform:Fa})}catch(i){if($(i))return{data:null,error:i};throw i}})}getSession(){return k(this,void 0,void 0,function*(){yield this.initializePromise;let e=null;if(this.persistSession){const i=yield cs(this.storage,this.storageKey);i!==null&&(this._isValidSession(i)?e=i:yield this._removeSession())}else e=this.inMemorySession;if(!e)return{data:{session:null},error:null};if(!(e.expires_at?e.expires_at<=Date.now()/1e3:!1))return{data:{session:e},error:null};const{session:r,error:s}=yield this._callRefreshToken(e.refresh_token);return s?{data:{session:null},error:s}:{data:{session:r},error:null}})}getUser(e){var t,r;return k(this,void 0,void 0,function*(){try{if(!e){const{data:s,error:i}=yield this.getSession();if(i)throw i;e=(r=(t=s.session)===null||t===void 0?void 0:t.access_token)!==null&&r!==void 0?r:void 0}return yield I(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:rt})}catch(s){if($(s))return{data:{user:null},error:s};throw s}})}updateUser(e,t={}){return k(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();if(s)throw s;if(!r.session)throw new jt;const i=r.session,{data:o,error:a}=yield I(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:t==null?void 0:t.emailRedirectTo,body:e,jwt:i.access_token,xform:rt});if(a)throw a;return i.user=o.user,yield this._saveSession(i),this._notifyAllSubscribers("USER_UPDATED",i),{data:{user:i.user},error:null}}catch(r){if($(r))return{data:{user:null},error:r};throw r}})}_decodeJWT(e){return us(e)}setSession(e){return k(this,void 0,void 0,function*(){try{if(!e.access_token||!e.refresh_token)throw new jt;const t=Date.now()/1e3;let r=t,s=!0,i=null;const o=us(e.access_token);if(o.exp&&(r=o.exp,s=r<=t),s){const{session:a,error:c}=yield this._callRefreshToken(e.refresh_token);if(c)return{data:{user:null,session:null},error:c};if(!a)return{data:{user:null,session:null},error:null};i=a}else{const{data:a,error:c}=yield this.getUser(e.access_token);if(c)throw c;i={access_token:e.access_token,refresh_token:e.refresh_token,user:a.user,token_type:"bearer",expires_in:r-t,expires_at:r},yield this._saveSession(i),this._notifyAllSubscribers("SIGNED_IN",i)}return{data:{user:i.user,session:i},error:null}}catch(t){if($(t))return{data:{session:null,user:null},error:t};throw t}})}refreshSession(e){var t;return k(this,void 0,void 0,function*(){try{if(!e){const{data:i,error:o}=yield this.getSession();if(o)throw o;e=(t=i.session)!==null&&t!==void 0?t:void 0}if(!(e!=null&&e.refresh_token))throw new jt;const{session:r,error:s}=yield this._callRefreshToken(e.refresh_token);return s?{data:{user:null,session:null},error:s}:r?{data:{user:r.user,session:r},error:null}:{data:{user:null,session:null},error:null}}catch(r){if($(r))return{data:{user:null,session:null},error:r};throw r}})}_getSessionFromUrl(){return k(this,void 0,void 0,function*(){try{if(!Ye())throw new Ae("No browser detected.");if(!this._isImplicitGrantFlow())throw new Ae("Not a valid implicit grant flow url.");const e=ae("error_description");if(e){const v=ae("error_code");if(!v)throw new Ae("No error_code detected.");const g=ae("error");throw g?new Ae(e,{error:g,code:v}):new Ae("No error detected.")}const t=ae("provider_token"),r=ae("provider_refresh_token"),s=ae("access_token");if(!s)throw new Ae("No access_token detected.");const i=ae("expires_in");if(!i)throw new Ae("No expires_in detected.");const o=ae("refresh_token");if(!o)throw new Ae("No refresh_token detected.");const a=ae("token_type");if(!a)throw new Ae("No token_type detected.");const u=Math.round(Date.now()/1e3)+parseInt(i),{data:l,error:h}=yield this.getUser(s);if(h)throw h;const y=l.user,p={provider_token:t,provider_refresh_token:r,access_token:s,expires_in:parseInt(i),expires_at:u,refresh_token:o,token_type:a,user:y},w=ae("type");return window.location.hash="",{data:{session:p,redirectType:w},error:null}}catch(e){if($(e))return{data:{session:null,redirectType:null},error:e};throw e}})}_isImplicitGrantFlow(){return Ye()&&(Boolean(ae("access_token"))||Boolean(ae("error_description")))}signOut(){var e;return k(this,void 0,void 0,function*(){const{data:t,error:r}=yield this.getSession();if(r)return{error:r};const s=(e=t.session)===null||e===void 0?void 0:e.access_token;if(s){const{error:i}=yield this.admin.signOut(s);if(i&&!($a(i)&&(i.status===404||i.status===401)))return{error:i}}return yield this._removeSession(),this._notifyAllSubscribers("SIGNED_OUT",null),{error:null}})}onAuthStateChange(e){const t=Ea(),r={id:t,callback:e,unsubscribe:()=>{this.stateChangeEmitters.delete(t)}};return this.stateChangeEmitters.set(t,r),{data:{subscription:r}}}resetPasswordForEmail(e,t={}){return k(this,void 0,void 0,function*(){try{return yield I(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:t.redirectTo})}catch(r){if($(r))return{data:null,error:r};throw r}})}_refreshAccessToken(e){return k(this,void 0,void 0,function*(){try{const t=Date.now();return yield Sa(r=>k(this,void 0,void 0,function*(){return yield Aa(r*200),yield I(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:Ze})}),(r,s,i)=>i&&i.error&&i.error instanceof un&&Date.now()+(r+1)*200-t<Xr)}catch(t){if($(t))return{data:{session:null,user:null},error:t};throw t}})}_isValidSession(e){return typeof e=="object"&&e!==null&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e}_handleProviderSignIn(e,t={}){const r=this._getUrlForProvider(e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return Ye()&&!t.skipBrowserRedirect&&window.location.assign(r),{data:{provider:e,url:r},error:null}}_recoverAndRefresh(){var e;return k(this,void 0,void 0,function*(){try{const t=yield cs(this.storage,this.storageKey);if(!this._isValidSession(t)){t!==null&&(yield this._removeSession());return}const r=Math.round(Date.now()/1e3);if(((e=t.expires_at)!==null&&e!==void 0?e:1/0)<r+qa)if(this.autoRefreshToken&&t.refresh_token){const{error:s}=yield this._callRefreshToken(t.refresh_token);s&&(console.log(s.message),yield this._removeSession())}else yield this._removeSession();else this.persistSession&&(yield this._saveSession(t)),this._notifyAllSubscribers("SIGNED_IN",t)}catch(t){console.error(t);return}})}_callRefreshToken(e){var t,r;return k(this,void 0,void 0,function*(){if(this.refreshingDeferred)return this.refreshingDeferred.promise;try{if(this.refreshingDeferred=new Pr,!e)throw new jt;const{data:s,error:i}=yield this._refreshAccessToken(e);if(i)throw i;if(!s.session)throw new jt;yield this._saveSession(s.session),this._notifyAllSubscribers("TOKEN_REFRESHED",s.session);const o={session:s.session,error:null};return this.refreshingDeferred.resolve(o),o}catch(s){if($(s)){const i={session:null,error:s};return(t=this.refreshingDeferred)===null||t===void 0||t.resolve(i),i}throw(r=this.refreshingDeferred)===null||r===void 0||r.reject(s),s}finally{this.refreshingDeferred=null}})}_notifyAllSubscribers(e,t,r=!0){this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:e,session:t}),this.stateChangeEmitters.forEach(s=>s.callback(e,t))}_saveSession(e){return k(this,void 0,void 0,function*(){this.persistSession||(this.inMemorySession=e),this.persistSession&&e.expires_at&&(yield this._persistSession(e))})}_persistSession(e){return Ta(this.storage,this.storageKey,e)}_removeSession(){return k(this,void 0,void 0,function*(){this.persistSession?yield Oa(this.storage,this.storageKey):this.inMemorySession=null})}_removeVisibilityChangedCallback(){const e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&Ye()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}catch(t){console.error("removing visibilitychange callback failed",t)}}_startAutoRefresh(){return k(this,void 0,void 0,function*(){yield this._stopAutoRefresh();const e=setInterval(()=>this._autoRefreshTokenTick(),Xr);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"&&e.unref(),yield this._autoRefreshTokenTick()})}_stopAutoRefresh(){return k(this,void 0,void 0,function*(){const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e)})}startAutoRefresh(){return k(this,void 0,void 0,function*(){this._removeVisibilityChangedCallback(),yield this._startAutoRefresh()})}stopAutoRefresh(){return k(this,void 0,void 0,function*(){this._removeVisibilityChangedCallback(),yield this._stopAutoRefresh()})}_autoRefreshTokenTick(){return k(this,void 0,void 0,function*(){const e=Date.now();try{const{data:{session:t}}=yield this.getSession();if(!t||!t.refresh_token||!t.expires_at)return;Math.floor((t.expires_at*1e3-e)/Xr)<Ka&&(yield this._callRefreshToken(t.refresh_token))}catch(t){console.error("Auto refresh tick failed with error. This is likely a transient error.",t)}})}_handleVisibilityChange(){return k(this,void 0,void 0,function*(){if(!Ye()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=()=>k(this,void 0,void 0,function*(){return yield this._onVisibilityChanged(!1)}),window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),yield this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}})}_onVisibilityChanged(e){return k(this,void 0,void 0,function*(){document.visibilityState==="visible"?(e||(yield this.initializePromise,yield this._recoverAndRefresh()),this.autoRefreshToken&&this._startAutoRefresh()):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()})}_getUrlForProvider(e,t){const r=[`provider=${encodeURIComponent(e)}`];if(t!=null&&t.redirectTo&&r.push(`redirect_to=${encodeURIComponent(t.redirectTo)}`),t!=null&&t.scopes&&r.push(`scopes=${encodeURIComponent(t.scopes)}`),t!=null&&t.queryParams){const s=new URLSearchParams(t.queryParams);r.push(s.toString())}return`${this.url}/authorize?${r.join("&")}`}_unenroll(e){var t;return k(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();return s?{data:null,error:s}:yield I(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(t=r==null?void 0:r.session)===null||t===void 0?void 0:t.access_token})}catch(r){if($(r))return{data:null,error:r};throw r}})}_enroll(e){var t,r;return k(this,void 0,void 0,function*(){try{const{data:s,error:i}=yield this.getSession();if(i)return{data:null,error:i};const{data:o,error:a}=yield I(this.fetch,"POST",`${this.url}/factors`,{body:{friendly_name:e.friendlyName,factor_type:e.factorType,issuer:e.issuer},headers:this.headers,jwt:(t=s==null?void 0:s.session)===null||t===void 0?void 0:t.access_token});return a?{data:null,error:a}:(!((r=o==null?void 0:o.totp)===null||r===void 0)&&r.qr_code&&(o.totp.qr_code=`data:image/svg+xml;utf-8,${o.totp.qr_code}`),{data:o,error:null})}catch(s){if($(s))return{data:null,error:s};throw s}})}_verify(e){var t;return k(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();if(s)return{data:null,error:s};const{data:i,error:o}=yield I(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:{code:e.code,challenge_id:e.challengeId},headers:this.headers,jwt:(t=r==null?void 0:r.session)===null||t===void 0?void 0:t.access_token});return o?{data:null,error:o}:(yield this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+i.expires_in},i)),this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",i),{data:i,error:o})}catch(r){if($(r))return{data:null,error:r};throw r}})}_challenge(e){var t;return k(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();return s?{data:null,error:s}:yield I(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{headers:this.headers,jwt:(t=r==null?void 0:r.session)===null||t===void 0?void 0:t.access_token})}catch(r){if($(r))return{data:null,error:r};throw r}})}_challengeAndVerify(e){return k(this,void 0,void 0,function*(){const{data:t,error:r}=yield this._challenge({factorId:e.factorId});return r?{data:null,error:r}:yield this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})})}_listFactors(){return k(this,void 0,void 0,function*(){const{data:{user:e},error:t}=yield this.getUser();if(t)return{data:null,error:t};const r=(e==null?void 0:e.factors)||[],s=r.filter(i=>i.factor_type==="totp"&&i.status==="verified");return{data:{all:r,totp:s},error:null}})}_getAuthenticatorAssuranceLevel(){var e,t;return k(this,void 0,void 0,function*(){const{data:{session:r},error:s}=yield this.getSession();if(s)return{data:null,error:s};if(!r)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const i=this._decodeJWT(r.access_token);let o=null;i.aal&&(o=i.aal);let a=o;((t=(e=r.user.factors)===null||e===void 0?void 0:e.filter(l=>l.status==="verified"))!==null&&t!==void 0?t:[]).length>0&&(a="aal2");const u=i.amr||[];return{data:{currentLevel:o,nextLevel:a,currentAuthenticationMethods:u},error:null}})}}class Za extends Xa{constructor(e){super(e)}}var Ya=globalThis&&globalThis.__awaiter||function(n,e,t,r){function s(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(h){o(h)}}function c(l){try{u(r.throw(l))}catch(h){o(h)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(n,e||[])).next())})};const Qa={headers:pa},ec={schema:"public"},tc={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0},rc={};class nc{constructor(e,t,r){var s,i,o,a,c,u,l,h;if(this.supabaseUrl=e,this.supabaseKey=t,!e)throw new Error("supabaseUrl is required.");if(!t)throw new Error("supabaseKey is required.");const y=ba(e);if(this.realtimeUrl=`${y}/realtime/v1`.replace(/^http/i,"ws"),this.authUrl=`${y}/auth/v1`,this.storageUrl=`${y}/storage/v1`,y.match(/(supabase\.co)|(supabase\.in)/)){const A=y.split(".");this.functionsUrl=`${A[0]}.functions.${A[1]}.${A[2]}`}else this.functionsUrl=`${y}/functions/v1`;const w=`sb-${new URL(this.authUrl).hostname.split(".")[0]}-auth-token`,v={db:ec,realtime:rc,auth:Object.assign(Object.assign({},tc),{storageKey:w}),global:Qa},g=va(r??{},v);this.storageKey=(i=(s=g.auth)===null||s===void 0?void 0:s.storageKey)!==null&&i!==void 0?i:"",this.headers=(a=(o=g.global)===null||o===void 0?void 0:o.headers)!==null&&a!==void 0?a:{},this.auth=this._initSupabaseAuthClient((c=g.auth)!==null&&c!==void 0?c:{},this.headers,(u=g.global)===null||u===void 0?void 0:u.fetch),this.fetch=wa(t,this._getAccessToken.bind(this),(l=g.global)===null||l===void 0?void 0:l.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers},g.realtime)),this.rest=new wo(`${y}/rest/v1`,{headers:this.headers,schema:(h=g.db)===null||h===void 0?void 0:h.schema,fetch:this.fetch}),this._listenForAuthEvents()}get functions(){return new co(this.functionsUrl,{headers:this.headers,customFetch:this.fetch})}get storage(){return new fa(this.storageUrl,this.headers,this.fetch)}from(e){return this.rest.from(e)}rpc(e,t={},r){return this.rest.rpc(e,t,r)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}_getAccessToken(){var e,t;return Ya(this,void 0,void 0,function*(){const{data:r}=yield this.auth.getSession();return(t=(e=r.session)===null||e===void 0?void 0:e.access_token)!==null&&t!==void 0?t:null})}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:r,storage:s,storageKey:i},o,a){const c={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new Za({url:this.authUrl,headers:Object.assign(Object.assign({},c),o),storageKey:i,autoRefreshToken:e,persistSession:t,detectSessionInUrl:r,storage:s,fetch:a})}_initRealtimeClient(e){return new ea(this.realtimeUrl,Object.assign(Object.assign({},e),{params:Object.assign({apikey:this.supabaseKey},e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((t,r)=>{this._handleTokenChanged(t,r==null?void 0:r.access_token,"CLIENT")})}_handleTokenChanged(e,t,r){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==t?(this.realtime.setAuth(t??null),this.changedAccessToken=t):(e==="SIGNED_OUT"||e==="USER_DELETED")&&(this.realtime.setAuth(this.supabaseKey),r=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}}const sc=(n,e,t)=>new nc(n,e,t);function pt(n){this._maxSize=n,this.clear()}pt.prototype.clear=function(){this._size=0,this._values=Object.create(null)};pt.prototype.get=function(n){return this._values[n]};pt.prototype.set=function(n,e){return this._size>=this._maxSize&&this.clear(),n in this._values||this._size++,this._values[n]=e};var ic=/[^.^\]^[]+|(?=\[\]|\.\.)/g,ri=/^\d+$/,oc=/^\d/,ac=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,cc=/^\s*(['"]?)(.*?)(\1)\s*$/,Nn=512,ls=new pt(Nn),hs=new pt(Nn),fs=new pt(Nn),ot={Cache:pt,split:ln,normalizePath:Zr,setter:function(n){var e=Zr(n);return hs.get(n)||hs.set(n,function(r,s){for(var i=0,o=e.length,a=r;i<o-1;){var c=e[i];if(c==="__proto__"||c==="constructor"||c==="prototype")return r;a=a[e[i++]]}a[e[i]]=s})},getter:function(n,e){var t=Zr(n);return fs.get(n)||fs.set(n,function(s){for(var i=0,o=t.length;i<o;)if(s!=null||!e)s=s[t[i++]];else return;return s})},join:function(n){return n.reduce(function(e,t){return e+(In(t)||ri.test(t)?"["+t+"]":(e?".":"")+t)},"")},forEach:function(n,e,t){uc(Array.isArray(n)?n:ln(n),e,t)}};function Zr(n){return ls.get(n)||ls.set(n,ln(n).map(function(e){return e.replace(cc,"$2")}))}function ln(n){return n.match(ic)||[""]}function uc(n,e,t){var r=n.length,s,i,o,a;for(i=0;i<r;i++)s=n[i],s&&(fc(s)&&(s='"'+s+'"'),a=In(s),o=!a&&/^\d+$/.test(s),e.call(t,s,a,o,i,n))}function In(n){return typeof n=="string"&&n&&["'",'"'].indexOf(n.charAt(0))!==-1}function lc(n){return n.match(oc)&&!n.match(ri)}function hc(n){return ac.test(n)}function fc(n){return!In(n)&&(lc(n)||hc(n))}const dc=/[A-Z\xc0-\xd6\xd8-\xde]?[a-z\xdf-\xf6\xf8-\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde]|$)|(?:[A-Z\xc0-\xd6\xd8-\xde]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde](?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])|$)|[A-Z\xc0-\xd6\xd8-\xde]?(?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\xc0-\xd6\xd8-\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+|(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?)*/g,Ir=n=>n.match(dc)||[],Cr=n=>n[0].toUpperCase()+n.slice(1),Cn=(n,e)=>Ir(n).join(e).toLowerCase(),ni=n=>Ir(n).reduce((e,t)=>`${e}${e?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()}`,""),pc=n=>Cr(ni(n)),yc=n=>Cn(n,"_"),mc=n=>Cn(n,"-"),gc=n=>Cr(Cn(n," ")),wc=n=>Ir(n).map(Cr).join(" ");var Yr={words:Ir,upperFirst:Cr,camelCase:ni,pascalCase:pc,snakeCase:yc,kebabCase:mc,sentenceCase:gc,titleCase:wc},wr={},bc={get exports(){return wr},set exports(n){wr=n}};bc.exports=function(n){return si(vc(n),n)};wr.array=si;function si(n,e){var t=n.length,r=new Array(t),s={},i=t,o=_c(e),a=Ec(n);for(e.forEach(function(u){if(!a.has(u[0])||!a.has(u[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});i--;)s[i]||c(n[i],i,new Set);return r;function c(u,l,h){if(h.has(u)){var y;try{y=", node was:"+JSON.stringify(u)}catch{y=""}throw new Error("Cyclic dependency"+y)}if(!a.has(u))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(u));if(!s[l]){s[l]=!0;var p=o.get(u)||new Set;if(p=Array.from(p),l=p.length){h.add(u);do{var w=p[--l];c(w,a.get(w),h)}while(l);h.delete(u)}r[--t]=u}}}function vc(n){for(var e=new Set,t=0,r=n.length;t<r;t++){var s=n[t];e.add(s[0]),e.add(s[1])}return Array.from(e)}function _c(n){for(var e=new Map,t=0,r=n.length;t<r;t++){var s=n[t];e.has(s[0])||e.set(s[0],new Set),e.has(s[1])||e.set(s[1],new Set),e.get(s[0]).add(s[1])}return e}function Ec(n){for(var e=new Map,t=0,r=n.length;t<r;t++)e.set(n[t],t);return e}const xc=Object.prototype.toString,Tc=Error.prototype.toString,Oc=RegExp.prototype.toString,kc=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",Ac=/^Symbol\((.*)\)(.*)$/;function Sc(n){return n!=+n?"NaN":n===0&&1/n<0?"-0":""+n}function ds(n,e=!1){if(n==null||n===!0||n===!1)return""+n;const t=typeof n;if(t==="number")return Sc(n);if(t==="string")return e?`"${n}"`:n;if(t==="function")return"[Function "+(n.name||"anonymous")+"]";if(t==="symbol")return kc.call(n).replace(Ac,"Symbol($1)");const r=xc.call(n).slice(8,-1);return r==="Date"?isNaN(n.getTime())?""+n:n.toISOString(n):r==="Error"||n instanceof Error?"["+Tc.call(n)+"]":r==="RegExp"?Oc.call(n):null}function at(n,e){let t=ds(n,e);return t!==null?t:JSON.stringify(n,function(r,s){let i=ds(this[r],e);return i!==null?i:s},2)}function ii(n){return n==null?[]:[].concat(n)}let Rc=/\$\{\s*(\w+)\s*\}/g;class oe extends Error{static formatError(e,t){const r=t.label||t.path||"this";return r!==t.path&&(t=Object.assign({},t,{path:r})),typeof e=="string"?e.replace(Rc,(s,i)=>at(t[i])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,r,s){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this.name="ValidationError",this.value=t,this.path=r,this.type=s,this.errors=[],this.inner=[],ii(e).forEach(i=>{oe.isError(i)?(this.errors.push(...i.errors),this.inner=this.inner.concat(i.inner.length?i.inner:i)):this.errors.push(i)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,oe)}}let Se={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:n,type:e,value:t,originalValue:r})=>{const s=r!=null&&r!==t?` (cast from the value \`${at(r,!0)}\`).`:".";return e!=="mixed"?`${n} must be a \`${e}\` type, but the final value was: \`${at(t,!0)}\``+s:`${n} must match the configured type. The validated value was: \`${at(t,!0)}\``+s}},de={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},He={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},hn={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},fn={isValue:"${path} field must be ${value}"},dn={noUnknown:"${path} field has unspecified keys: ${unknown}"},pr={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"};Object.assign(Object.create(null),{mixed:Se,string:de,number:He,date:hn,object:dn,array:pr,boolean:fn});const Fr=n=>n&&n.__isYupSchema__;class br{static fromOptions(e,t){if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:r,then:s,otherwise:i}=t,o=typeof r=="function"?r:(...a)=>a.every(c=>c===r);return new br(e,(a,c)=>{var u;let l=o(...a)?s:i;return(u=l==null?void 0:l(c))!=null?u:c})}constructor(e,t){this.fn=void 0,this.refs=e,this.refs=e,this.fn=t}resolve(e,t){let r=this.refs.map(i=>i.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),s=this.fn(r,e,t);if(s===void 0||s===e)return e;if(!Fr(s))throw new TypeError("conditions must return a schema object");return s.resolve(t)}}const cr={context:"$",value:"."};class yt{constructor(e,t={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===cr.context,this.isValue=this.key[0]===cr.value,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?cr.context:this.isValue?cr.value:"";this.path=this.key.slice(r.length),this.getter=this.path&&ot.getter(this.path,!0),this.map=t.map}getValue(e,t,r){let s=this.isContext?r:this.isValue?e:t;return this.getter&&(s=this.getter(s||{})),this.map&&(s=this.map(s)),s}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}yt.prototype.__isYupRef=!0;const he=n=>n==null;function vt(n){function e({value:t,path:r="",options:s,originalValue:i,schema:o},a,c){const{name:u,test:l,params:h,message:y,skipAbsent:p}=n;let{parent:w,context:v,abortEarly:g=o.spec.abortEarly}=s;function A(L){return yt.isRef(L)?L.getValue(t,w,v):L}function C(L={}){const M=Object.assign({value:t,originalValue:i,label:o.spec.label,path:L.path||r,spec:o.spec},h,L.params);for(const wt of Object.keys(M))M[wt]=A(M[wt]);const ir=new oe(oe.formatError(L.message||y,M),t,M.path,L.type||u);return ir.params=M,ir}const Z=g?a:c;let U={path:r,parent:w,type:u,from:s.from,createError:C,resolve:A,options:s,originalValue:i,schema:o};const be=L=>{oe.isError(L)?Z(L):L?c(null):Z(C())},Dt=L=>{oe.isError(L)?Z(L):a(L)},nr=p&&he(t);if(!s.sync){try{Promise.resolve(nr?!0:l.call(U,t,U)).then(be,Dt)}catch(L){Dt(L)}return}let fe;try{var sr;if(fe=nr?!0:l.call(U,t,U),typeof((sr=fe)==null?void 0:sr.then)=="function")throw new Error(`Validation test of type: "${U.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(L){Dt(L);return}be(fe)}return e.OPTIONS=n,e}function $c(n,e,t,r=t){let s,i,o;return e?(ot.forEach(e,(a,c,u)=>{let l=c?a.slice(1,a.length-1):a;n=n.resolve({context:r,parent:s,value:t});let h=n.type==="tuple",y=u?parseInt(l,10):0;if(n.innerType||h){if(h&&!u)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${o}" must contain an index to the tuple element, e.g. "${o}[0]"`);if(t&&y>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);s=t,t=t&&t[y],n=h?n.spec.types[y]:n.innerType}if(!u){if(!n.fields||!n.fields[l])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${n.type}")`);s=t,t=t&&t[l],n=n.fields[l]}i=l,o=c?"["+a+"]":"."+a}),{schema:n,parent:s,parentPath:i}):{parent:s,parentPath:e,schema:n}}class vr extends Set{describe(){const e=[];for(const t of this.values())e.push(yt.isRef(t)?t.describe():t);return e}resolveAll(e){let t=[];for(const r of this.values())t.push(e(r));return t}clone(){return new vr(this.values())}merge(e,t){const r=this.clone();return e.forEach(s=>r.add(s)),t.forEach(s=>r.delete(s)),r}}function Ot(n,e=new Map){if(Fr(n)||!n||typeof n!="object")return n;if(e.has(n))return e.get(n);let t;if(n instanceof Date)t=new Date(n.getTime()),e.set(n,t);else if(n instanceof RegExp)t=new RegExp(n),e.set(n,t);else if(Array.isArray(n)){t=new Array(n.length),e.set(n,t);for(let r=0;r<n.length;r++)t[r]=Ot(n[r],e)}else if(n instanceof Map){t=new Map,e.set(n,t);for(const[r,s]of n.entries())t.set(r,Ot(s,e))}else if(n instanceof Set){t=new Set,e.set(n,t);for(const r of n)t.add(Ot(r,e))}else if(n instanceof Object){t={},e.set(n,t);for(const[r,s]of Object.entries(n))t[r]=Ot(s,e)}else throw Error(`Unable to clone ${n}`);return t}class re{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new vr,this._blacklist=new vr,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError(Se.notType)}),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,optional:!0,coerce:!0},e==null?void 0:e.spec),this.withMutation(t=>{t.nonNullable()})}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeCheck=this._typeCheck,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.internalTests=Object.assign({},this.internalTests),t.exclusiveTests=Object.assign({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=Ot(Object.assign({},this.spec,e)),t}label(e){let t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let r=e(this);return this._mutate=t,r}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,r=e.clone();const s=Object.assign({},t.spec,r.spec);return r.spec=s,r.internalTests=Object.assign({},t.internalTests,r.internalTests),r._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),r._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),r.tests=t.tests,r.exclusiveTests=t.exclusiveTests,r.withMutation(i=>{e.tests.forEach(o=>{i.test(o.OPTIONS)})}),r.transforms=[...t.transforms,...r.transforms],r}isType(e){return e==null?!!(this.spec.nullable&&e===null||this.spec.optional&&e===void 0):this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let r=t.conditions;t=t.clone(),t.conditions=[],t=r.reduce((s,i)=>i.resolve(s,e),t),t=t.resolve(e)}return t}resolveOptions(e){var t,r,s;return Object.assign({},e,{from:e.from||[],strict:(t=e.strict)!=null?t:this.spec.strict,abortEarly:(r=e.abortEarly)!=null?r:this.spec.abortEarly,recursive:(s=e.recursive)!=null?s:this.spec.recursive})}cast(e,t={}){let r=this.resolve(Object.assign({value:e},t)),s=t.assert==="ignore-optionality",i=r._cast(e,t);if(t.assert!==!1&&!r.isType(i)){if(s&&he(i))return i;let o=at(e),a=at(i);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${r.type}".
2
2
 
3
3
  attempted value: ${o}
4
- `+(a!==o?`result of cast: ${a}`:""))}return i}_cast(e,t){let r=e===void 0?e:this.transforms.reduce((s,i)=>i.call(this,s,e,this),e);return r===void 0&&(r=this.getDefault()),r}_validate(e,t={},r,s){let{path:i,originalValue:o=e,strict:a=this.spec.strict}=t,c=e;a||(c=this._cast(c,Object.assign({assert:!1},t)));let u=[];for(let l of Object.values(this.internalTests))l&&u.push(l);this.runTests({path:i,value:c,originalValue:o,options:t,tests:u},r,l=>{if(l.length)return s(l,c);this.runTests({path:i,value:c,originalValue:o,options:t,tests:this.tests},r,s)})}runTests(e,t,r){let s=!1,{tests:i,value:o,originalValue:a,path:c,options:u}=e,l=v=>{s||(s=!0,t(v,o))},h=v=>{s||(s=!0,r(v,o))},y=i.length,p=[];if(!y)return h([]);let w={value:o,originalValue:a,path:c,options:u,schema:this};for(let v=0;v<i.length;v++){const g=i[v];g(w,l,function(C){C&&(p=p.concat(C)),--y<=0&&h(p)})}}asNestedTest({key:e,index:t,parent:r,parentPath:s,originalParent:i,options:o}){const a=e??t;if(a==null)throw TypeError("Must include `key` or `index` for nested validations");const c=typeof a=="number";let u=r[a];const l=Object.assign({},o,{strict:!0,parent:r,value:u,originalValue:i[a],key:void 0,[c?"index":"key"]:a,path:c||a.includes(".")?`${s||""}[${u?a:`"${a}"`}]`:(s?`${s}.`:"")+e});return(h,y,p)=>this.resolve(l)._validate(u,l,y,p)}validate(e,t){let r=this.resolve(Object.assign({},t,{value:e}));return new Promise((s,i)=>r._validate(e,t,(o,a)=>{ie.isError(o)&&(o.value=a),i(o)},(o,a)=>{o.length?i(new ie(o,a)):s(a)}))}validateSync(e,t){let r=this.resolve(Object.assign({},t,{value:e})),s;return r._validate(e,Object.assign({},t,{sync:!0}),(i,o)=>{throw ie.isError(i)&&(i.value=o),i},(i,o)=>{if(i.length)throw new ie(i,e);s=o}),s}isValid(e,t){return this.validate(e,t).then(()=>!0,r=>{if(ie.isError(r))return!1;throw r})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(r){if(ie.isError(r))return!1;throw r}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):Ot(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,t){const r=this.clone({nullable:e});return r.internalTests.nullable=vt({message:t,name:"nullable",test(s){return s===null?this.schema.spec.nullable:!0}}),r}optionality(e,t){const r=this.clone({optional:e});return r.internalTests.optionality=vt({message:t,name:"optionality",test(s){return s===void 0?this.schema.spec.optional:!0}}),r}optional(){return this.optionality(!0)}defined(e=Se.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=Se.notNull){return this.nullability(!1,e)}required(e=Se.required){return this.clone().withMutation(t=>t.nonNullable(e).defined(e))}notRequired(){return this.clone().withMutation(e=>e.nullable().optional())}transform(e){let t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Se.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let r=this.clone(),s=vt(t),i=t.exclusive||t.name&&r.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(r.exclusiveTests[t.name]=!!t.exclusive),r.tests=r.tests.filter(o=>!(o.OPTIONS.name===t.name&&(i||o.OPTIONS.test===s.OPTIONS.test))),r.tests.push(s),r}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let r=this.clone(),s=si(e).map(i=>new yt(i));return s.forEach(i=>{i.isSibling&&r.deps.push(i.key)}),r.conditions.push(typeof t=="function"?new br(s,t):br.fromOptions(s,t)),r}typeError(e){let t=this.clone();return t.internalTests.typeError=vt({message:e,name:"typeError",test(r){return!he(r)&&!this.schema._typeCheck(r)?this.createError({params:{type:this.schema.type}}):!0}}),t}oneOf(e,t=Se.oneOf){let r=this.clone();return e.forEach(s=>{r._whitelist.add(s),r._blacklist.delete(s)}),r.internalTests.whiteList=vt({message:t,name:"oneOf",skipAbsent:!0,test(s){let i=this.schema._whitelist,o=i.resolveAll(this.resolve);return o.includes(s)?!0:this.createError({params:{values:Array.from(i).join(", "),resolved:o}})}}),r}notOneOf(e,t=Se.notOneOf){let r=this.clone();return e.forEach(s=>{r._blacklist.add(s),r._whitelist.delete(s)}),r.internalTests.blacklist=vt({message:t,name:"notOneOf",test(s){let i=this.schema._blacklist,o=i.resolveAll(this.resolve);return o.includes(s)?this.createError({params:{values:Array.from(i).join(", "),resolved:o}}):!0}}),r}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(e){const t=(e?this.resolve(e):this).clone(),{label:r,meta:s,optional:i,nullable:o}=t.spec;return{meta:s,label:r,optional:i,nullable:o,default:t.getDefault(e),type:t.type,oneOf:t._whitelist.describe(),notOneOf:t._blacklist.describe(),tests:t.tests.map(c=>({name:c.OPTIONS.name,params:c.OPTIONS.params})).filter((c,u,l)=>l.findIndex(h=>h.name===c.name)===u)}}}te.prototype.__isYupSchema__=!0;for(const n of["validate","validateSync"])te.prototype[`${n}At`]=function(e,t,r={}){const{parent:s,parentPath:i,schema:o}=Rc(this,e,t,r.context);return o[n](s&&s[i],Object.assign({},r,{parent:s,path:e}))};for(const n of["equals","is"])te.prototype[n]=te.prototype.oneOf;for(const n of["not","nope"])te.prototype[n]=te.prototype.notOneOf;const $c=()=>!0;function ii(n){return new oi(n)}class oi extends te{constructor(e){super(typeof e=="function"?{type:"mixed",check:e}:Object.assign({type:"mixed",check:$c},e))}}ii.prototype=oi.prototype;function Fn(){return new ai}class ai extends te{constructor(){super({type:"boolean",check(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}}),this.withMutation(()=>{this.transform((e,t,r)=>{if(r.spec.coerce&&!r.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}isTrue(e=fn.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return he(t)||t===!0}})}isFalse(e=fn.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return he(t)||t===!1}})}default(e){return super.default(e)}defined(e){return super.defined(e)}optional(){return super.optional()}required(e){return super.required(e)}notRequired(){return super.notRequired()}nullable(){return super.nullable()}nonNullable(e){return super.nonNullable(e)}strip(e){return super.strip(e)}}Fn.prototype=ai.prototype;let Pc=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Nc=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,Ic=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Cc=n=>he(n)||n===n.trim(),Fc={}.toString();function O(){return new ci}class ci extends te{constructor(){super({type:"string",check(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}}),this.withMutation(()=>{this.transform((e,t,r)=>{if(!r.spec.coerce||r.isType(e)||Array.isArray(e))return e;const s=e!=null&&e.toString?e.toString():e;return s===Fc?e:s})})}required(e){return super.required(e).withMutation(t=>t.test({message:e||Se.required,name:"required",skipAbsent:!0,test:r=>!!r.length}))}notRequired(){return super.notRequired().withMutation(e=>(e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e))}length(e,t=de.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(r){return r.length===this.resolve(e)}})}min(e,t=de.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(r){return r.length>=this.resolve(e)}})}max(e,t=de.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},skipAbsent:!0,test(r){return r.length<=this.resolve(e)}})}matches(e,t){let r=!1,s,i;return t&&(typeof t=="object"?{excludeEmptyString:r=!1,message:s,name:i}=t:s=t),this.test({name:i||"matches",message:s||de.matches,params:{regex:e},skipAbsent:!0,test:o=>o===""&&r||o.search(e)!==-1})}email(e=de.email){return this.matches(Pc,{name:"email",message:e,excludeEmptyString:!0})}url(e=de.url){return this.matches(Nc,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=de.uuid){return this.matches(Ic,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=de.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:Cc})}lowercase(e=de.lowercase){return this.transform(t=>he(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>he(t)||t===t.toLowerCase()})}uppercase(e=de.uppercase){return this.transform(t=>he(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>he(t)||t===t.toUpperCase()})}}O.prototype=ci.prototype;let Dc=n=>n!=+n;function q(){return new ui}class ui extends te{constructor(){super({type:"number",check(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!Dc(e)}}),this.withMutation(()=>{this.transform((e,t,r)=>{if(!r.spec.coerce)return e;let s=e;if(typeof s=="string"){if(s=s.replace(/\s/g,""),s==="")return NaN;s=+s}return r.isType(s)?s:parseFloat(s)})})}min(e,t=He.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(r){return r>=this.resolve(e)}})}max(e,t=He.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(r){return r<=this.resolve(e)}})}lessThan(e,t=He.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},skipAbsent:!0,test(r){return r<this.resolve(e)}})}moreThan(e,t=He.moreThan){return this.test({message:t,name:"min",exclusive:!0,params:{more:e},skipAbsent:!0,test(r){return r>this.resolve(e)}})}positive(e=He.positive){return this.moreThan(0,e)}negative(e=He.negative){return this.lessThan(0,e)}integer(e=He.integer){return this.test({name:"integer",message:e,skipAbsent:!0,test:t=>Number.isInteger(t)})}truncate(){return this.transform(e=>he(e)?e:e|0)}round(e){var t;let r=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(r.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+r.join(", "));return this.transform(s=>he(s)?s:Math[e](s))}}q.prototype=ui.prototype;var Uc=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function jc(n){var e=[1,4,5,6,7,10,11],t=0,r,s;if(s=Uc.exec(n)){for(var i=0,o;o=e[i];++i)s[o]=+s[o]||0;s[2]=(+s[2]||1)-1,s[3]=+s[3]||1,s[7]=s[7]?String(s[7]).substr(0,3):0,(s[8]===void 0||s[8]==="")&&(s[9]===void 0||s[9]==="")?r=+new Date(s[1],s[2],s[3],s[4],s[5],s[6],s[7]):(s[8]!=="Z"&&s[9]!==void 0&&(t=s[10]*60+s[11],s[9]==="+"&&(t=0-t)),r=Date.UTC(s[1],s[2],s[3],s[4],s[5]+t,s[6],s[7]))}else r=Date.parse?Date.parse(n):NaN;return r}let Lc=new Date(""),Bc=n=>Object.prototype.toString.call(n)==="[object Date]";class Dr extends te{constructor(){super({type:"date",check(e){return Bc(e)&&!isNaN(e.getTime())}}),this.withMutation(()=>{this.transform((e,t,r)=>!r.spec.coerce||r.isType(e)?e:(e=jc(e),isNaN(e)?Dr.INVALID_DATE:new Date(e)))})}prepareParam(e,t){let r;if(yt.isRef(e))r=e;else{let s=this.cast(e);if(!this._typeCheck(s))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);r=s}return r}min(e,t=hn.min){let r=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(s){return s>=this.resolve(r)}})}max(e,t=hn.max){let r=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(s){return s<=this.resolve(r)}})}}Dr.INVALID_DATE=Lc;Dr.prototype;function Hc(n,e=[]){let t=[],r=new Set,s=new Set(e.map(([o,a])=>`${o}-${a}`));function i(o,a){let c=ot.split(o)[0];r.add(c),s.has(`${a}-${c}`)||t.push([a,c])}for(const o of Object.keys(n)){let a=n[o];r.add(o),yt.isRef(a)&&a.isSibling?i(a.path,o):Fr(a)&&"deps"in a&&a.deps.forEach(c=>i(c,o))}return wr.array(Array.from(r),t).reverse()}function ds(n,e){let t=1/0;return n.some((r,s)=>{var i;if((i=e.path)!=null&&i.includes(r))return t=s,!0}),t}function li(n){return(e,t)=>ds(n,e)-ds(n,t)}const hi=(n,e,t)=>{if(typeof n!="string")return n;let r=n;try{r=JSON.parse(n)}catch{}return t.isType(r)?r:n};function yr(n){if("fields"in n){const e={};for(const[t,r]of Object.entries(n.fields))e[t]=yr(r);return n.setFields(e)}if(n.type==="array"){const e=n.optional();return e.innerType&&(e.innerType=yr(e.innerType)),e}return n.type==="tuple"?n.optional().clone({types:n.spec.types.map(yr)}):"optional"in n?n.optional():n}const Mc=(n,e)=>{const t=[...ot.normalizePath(e)];if(t.length===1)return t[0]in n;let r=t.pop(),s=ot.getter(ot.join(t),!0)(n);return!!(s&&r in s)};let ps=n=>Object.prototype.toString.call(n)==="[object Object]";function Vc(n,e){let t=Object.keys(n.fields);return Object.keys(e).filter(r=>t.indexOf(r)===-1)}const zc=li([]);function oe(n){return new fi(n)}class fi extends te{constructor(e){super({type:"object",check(t){return ps(t)||typeof t=="function"}}),this.fields=Object.create(null),this._sortErrors=zc,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{e&&this.shape(e)})}_cast(e,t={}){var r;let s=super._cast(e,t);if(s===void 0)return this.getDefault();if(!this._typeCheck(s))return s;let i=this.fields,o=(r=t.stripUnknown)!=null?r:this.spec.noUnknown,a=[].concat(this._nodes,Object.keys(s).filter(h=>!this._nodes.includes(h))),c={},u=Object.assign({},t,{parent:c,__validating:t.__validating||!1}),l=!1;for(const h of a){let y=i[h],p=h in s;if(y){let w,v=s[h];u.path=(t.path?`${t.path}.`:"")+h,y=y.resolve({value:v,context:t.context,parent:c});let g=y instanceof te?y.spec:void 0,A=g==null?void 0:g.strict;if(g!=null&&g.strip){l=l||h in s;continue}w=!t.__validating||!A?y.cast(s[h],u):s[h],w!==void 0&&(c[h]=w)}else p&&!o&&(c[h]=s[h]);(p!==h in c||c[h]!==s[h])&&(l=!0)}return l?c:s}_validate(e,t={},r,s){let{from:i=[],originalValue:o=e,recursive:a=this.spec.recursive}=t;t.from=[{schema:this,value:o},...i],t.__validating=!0,t.originalValue=o,super._validate(e,t,r,(c,u)=>{if(!a||!ps(u)){s(c,u);return}o=o||u;let l=[];for(let h of this._nodes){let y=this.fields[h];!y||yt.isRef(y)||l.push(y.asNestedTest({options:t,key:h,parent:u,parentPath:t.path,originalParent:o}))}this.runTests({tests:l,value:u,originalValue:o,options:t},r,h=>{s(h.sort(this._sortErrors).concat(c),u)})})}clone(e){const t=super.clone(e);return t.fields=Object.assign({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),r=t.fields;for(let[s,i]of Object.entries(this.fields)){const o=r[s];r[s]=o===void 0?i:o}return t.withMutation(s=>s.setFields(r,this._excludedEdges))}_getDefault(){if("default"in this.spec)return super._getDefault();if(!this._nodes.length)return;let e={};return this._nodes.forEach(t=>{const r=this.fields[t];e[t]=r&&"getDefault"in r?r.getDefault():void 0}),e}setFields(e,t){let r=this.clone();return r.fields=e,r._nodes=Hc(e,t),r._sortErrors=li(Object.keys(e)),t&&(r._excludedEdges=t),r}shape(e,t=[]){return this.clone().withMutation(r=>{let s=r._excludedEdges;return t.length&&(Array.isArray(t[0])||(t=[t]),s=[...r._excludedEdges,...t]),r.setFields(Object.assign(r.fields,e),s)})}partial(){const e={};for(const[t,r]of Object.entries(this.fields))e[t]="optional"in r&&r.optional instanceof Function?r.optional():r;return this.setFields(e)}deepPartial(){return yr(this)}pick(e){const t={};for(const r of e)this.fields[r]&&(t[r]=this.fields[r]);return this.setFields(t)}omit(e){const t=Object.assign({},this.fields);for(const r of e)delete t[r];return this.setFields(t)}from(e,t,r){let s=ot.getter(e,!0);return this.transform(i=>{if(!i)return i;let o=i;return Mc(i,e)&&(o=Object.assign({},i),r||delete o[e],o[t]=s(i)),o})}json(){return this.transform(hi)}noUnknown(e=!0,t=dn.noUnknown){typeof e!="boolean"&&(t=e,e=!0);let r=this.test({name:"noUnknown",exclusive:!0,message:t,test(s){if(s==null)return!0;const i=Vc(this.schema,s);return!e||i.length===0||this.createError({params:{unknown:i.join(", ")}})}});return r.spec.noUnknown=e,r}unknown(e=!0,t=dn.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>{if(!t)return t;const r={};for(const s of Object.keys(t))r[e(s)]=t[s];return r})}camelCase(){return this.transformKeys(Yr.camelCase)}snakeCase(){return this.transformKeys(Yr.snakeCase)}constantCase(){return this.transformKeys(e=>Yr.snakeCase(e).toUpperCase())}describe(e){let t=super.describe(e);t.fields={};for(const[s,i]of Object.entries(this.fields)){var r;let o=e;(r=o)!=null&&r.value&&(o=Object.assign({},o,{parent:o.value,value:o.value[s]})),t.fields[s]=i.describe(o)}return t}}oe.prototype=fi.prototype;function ut(n){return new di(n)}class di extends te{constructor(e){super({type:"array",check(t){return Array.isArray(t)}}),this.innerType=void 0,this.innerType=e}_cast(e,t){const r=super._cast(e,t);if(!this._typeCheck(r)||!this.innerType)return r;let s=!1;const i=r.map((o,a)=>{const c=this.innerType.cast(o,Object.assign({},t,{path:`${t.path||""}[${a}]`}));return c!==o&&(s=!0),c});return s?i:r}_validate(e,t={},r,s){var i;let o=this.innerType,a=(i=t.recursive)!=null?i:this.spec.recursive;t.originalValue!=null&&t.originalValue,super._validate(e,t,r,(c,u)=>{var l;if(!a||!o||!this._typeCheck(u)){s(c,u);return}let h=new Array(u.length);for(let p=0;p<u.length;p++){var y;h[p]=o.asNestedTest({options:t,index:p,parent:u,parentPath:t.path,originalParent:(y=t.originalValue)!=null?y:e})}this.runTests({value:u,tests:h,originalValue:(l=t.originalValue)!=null?l:e,options:t},r,p=>s(p.concat(c),u))})}clone(e){const t=super.clone(e);return t.innerType=this.innerType,t}json(){return this.transform(hi)}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!Fr(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+at(e));return t.innerType=e,t}length(e,t=pr.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(r){return r.length===this.resolve(e)}})}min(e,t){return t=t||pr.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(r){return r.length>=this.resolve(e)}})}max(e,t){return t=t||pr.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(r){return r.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(r,s,i)=>!e(r,s,i):r=>!!r;return this.transform(r=>r!=null?r.filter(t):r)}describe(e){let t=super.describe(e);if(this.innerType){var r;let s=e;(r=s)!=null&&r.value&&(s=Object.assign({},s,{parent:s.value,value:s.value[0]})),t.innerType=this.innerType.describe(e)}return t}}ut.prototype=di.prototype;const ys=oe({url:O(),height:q(),width:q()}),qc=oe({type:O().default("rich"),title:O(),color:q(),thumbnail:ys,image:ys,url:O()}),Gc=oe({url:O().url().required(),username:O(),avatar_url:O().url(),message:O().required(),embed:qc}),Jc="notify_discord_webhook";class Dn{static async SimpleToRaw(e){return{name:"",notify_type:Jc,notify:await Dn.validateCreate(e)}}static validateCreate(e){return Gc.validate(e)}}const Wc=oe({email:O().required(),subject:O(),html:O().required()}),Kc="notify_email";class Un{static async SimpleToRaw(e){return{name:"",notify_type:Kc,notify:await Un.validateCreate(e)}}static async validateCreate(e){return Wc.validate(e)}}const Xc=oe({clientId:q().required(),content:O().required()}),Zc="notify_telegram";class jn{static async SimpleToRaw(e){return{name:"",notify_type:Zc,notify:await jn.validateCreate(e)}}static validateCreate(e){return Xc.validate(e)}}class Qr{static async SimpleToRaw(e,t){switch(e){case"Discord":return Dn.SimpleToRaw(t);case"Telegram":return jn.SimpleToRaw(t);case"Email":return Un.SimpleToRaw(t)}}static RawToSimple(e){return{...e.notify,error:e.error,error_message:e.error_message,error_timestamp:e.error_timestamp}}static RawTypeToSimpleType(e){switch(e){case"notify_discord_webhook":return"Discord";case"notify_telegram":return"Telegram";case"notify_email":return"Email"}}static SimpleTypeToRawType(e){switch(e){case"Discord":return"notify_discord_webhook";case"Telegram":return"notify_telegram";case"Email":return"notify_email"}}}const Yc="handler_function_call";class ms{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Yc,handler:await this.validate(r)}}static validate(e){const t=([s],i)=>s==="true"?i.notRequired():i.required();return oe({address:O().required(),abi:ut().required(),nBlocks:q().default(100).min(10).required(),function:O().required(),condition:O().default("true").oneOf([">",">=","<","<=","=","true"]).required(),constant:q().min(0).when("condition",t),responseArgIndex:q().min(0).when("condition",t),responseArgDecimals:q().min(0).when("condition",t)}).validateSync(e)}}const Qc="handler_onchain_event";class gs{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Qc,handler:await this.validate(r)}}static validate(e){const t=([s],i)=>s==="true"?i.notRequired():i.required();return oe({address:O().required(),event:O().required(),abi:ut().required(),condition:O().default("true").oneOf([">",">=","<","<=","=","true"]).required(),constant:q().min(0).when("condition",t),paramsIndex:q().min(0).when("condition",t),paramsDecimals:q().min(0).when("condition",t)}).validateSync(e)}}const eu="6.1.0";function tu(n,e,t){const r=e.split("|").map(i=>i.trim());for(let i=0;i<r.length;i++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof n===e)return}const s=new Error(`invalid value for type ${e}`);throw s.code="INVALID_ARGUMENT",s.argument=`value.${t}`,s.value=n,s}async function pi(n){const e=Object.keys(n);return(await Promise.all(e.map(r=>Promise.resolve(n[r])))).reduce((r,s,i)=>(r[e[i]]=s,r),{})}function S(n,e,t){for(let r in e){let s=e[r];const i=t?t[r]:null;i&&tu(s,i,r),Object.defineProperty(n,r,{enumerable:!0,value:s,writable:!1})}}function kt(n){if(n==null)return"null";if(Array.isArray(n))return"[ "+n.map(kt).join(", ")+" ]";if(n instanceof Uint8Array){const e="0123456789abcdef";let t="0x";for(let r=0;r<n.length;r++)t+=e[n[r]>>4],t+=e[n[r]&15];return t}if(typeof n=="object"&&typeof n.toJSON=="function")return kt(n.toJSON());switch(typeof n){case"boolean":case"symbol":return n.toString();case"bigint":return BigInt(n).toString();case"number":return n.toString();case"string":return JSON.stringify(n);case"object":{const e=Object.keys(n);return e.sort(),"{ "+e.map(t=>`${kt(t)}: ${kt(n[t])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function _r(n,e){return n&&n.code===e}function yi(n){return _r(n,"CALL_EXCEPTION")}function Ur(n,e,t){{const s=[];if(t){if("message"in t||"code"in t||"name"in t)throw new Error(`value will overwrite populated values: ${kt(t)}`);for(const i in t){const o=t[i];s.push(i+"="+kt(o))}}s.push(`code=${e}`),s.push(`version=${eu}`),s.length&&(n+=" ("+s.join(", ")+")")}let r;switch(e){case"INVALID_ARGUMENT":r=new TypeError(n);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":r=new RangeError(n);break;default:r=new Error(n)}return S(r,{code:e}),t&&Object.assign(r,t),r}function x(n,e,t,r){if(!n)throw Ur(e,t,r)}function _(n,e,t,r){x(n,e,"INVALID_ARGUMENT",{argument:t,value:r})}function mi(n,e,t){t==null&&(t=""),t&&(t=": "+t),x(n>=e,"missing arguemnt"+t,"MISSING_ARGUMENT",{count:n,expectedCount:e}),x(n<=e,"too many arguemnts"+t,"UNEXPECTED_ARGUMENT",{count:n,expectedCount:e})}const ru=["NFD","NFC","NFKD","NFKC"].reduce((n,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"){const t=String.fromCharCode(233).normalize("NFD"),r=String.fromCharCode(101,769);if(t!==r)throw new Error("broken")}n.push(e)}catch{}return n},[]);function nu(n){x(ru.indexOf(n)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:n}})}function Ln(n,e,t){if(t==null&&(t=""),n!==e){let r=t,s="new";t&&(r+=".",s+=" "+t),x(!1,`private constructor; use ${r}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function gi(n,e,t){if(n instanceof Uint8Array)return t?new Uint8Array(n):n;if(typeof n=="string"&&n.match(/^0x([0-9a-f][0-9a-f])*$/i)){const r=new Uint8Array((n.length-2)/2);let s=2;for(let i=0;i<r.length;i++)r[i]=parseInt(n.substring(s,s+2),16),s+=2;return r}_(!1,"invalid BytesLike value",e||"value",n)}function Ue(n,e){return gi(n,e,!1)}function Fe(n,e){return gi(n,e,!0)}function Ge(n,e){return!(typeof n!="string"||!n.match(/^0x[0-9A-Fa-f]*$/)||typeof e=="number"&&n.length!==2+2*e||e===!0&&n.length%2!==0)}const ws="0123456789abcdef";function H(n){const e=Ue(n);let t="0x";for(let r=0;r<e.length;r++){const s=e[r];t+=ws[(s&240)>>4]+ws[s&15]}return t}function Rt(n){return"0x"+n.map(e=>H(e).substring(2)).join("")}function _t(n,e,t){const r=Ue(n);return t!=null&&t>r.length&&x(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:t}),H(r.slice(e??0,t??r.length))}function su(n,e,t){const r=Ue(n);x(e>=r.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(r),length:e,offset:e+1});const s=new Uint8Array(e);return s.fill(0),t?s.set(r,e-r.length):s.set(r,0),H(s)}function iu(n,e){return su(n,e,!0)}const jr=BigInt(0),me=BigInt(1),At=9007199254740991;function ou(n,e){const t=Lr(n,"value"),r=BigInt(Le(e,"width"));if(x(t>>r===jr,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:n}),t>>r-me){const s=(me<<r)-me;return-((~t&s)+me)}return t}function au(n,e){let t=mt(n,"value");const r=BigInt(Le(e,"width")),s=me<<r-me;if(t<jr){t=-t,x(t<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});const i=(me<<r)-me;return(~t&i)+me}else x(t<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});return t}function ur(n,e){const t=Lr(n,"value"),r=BigInt(Le(e,"bits"));return t&(me<<r)-me}function mt(n,e){switch(typeof n){case"bigint":return n;case"number":return _(Number.isInteger(n),"underflow",e||"value",n),_(n>=-At&&n<=At,"overflow",e||"value",n),BigInt(n);case"string":try{if(n==="")throw new Error("empty string");return n[0]==="-"&&n[1]!=="-"?-BigInt(n.substring(1)):BigInt(n)}catch(t){_(!1,`invalid BigNumberish string: ${t.message}`,e||"value",n)}}_(!1,"invalid BigNumberish value",e||"value",n)}function Lr(n,e){const t=mt(n,e);return x(t>=jr,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:n}),t}const bs="0123456789abcdef";function wi(n){if(n instanceof Uint8Array){let e="0x0";for(const t of n)e+=bs[t>>4],e+=bs[t&15];return BigInt(e)}return mt(n)}function Le(n,e){switch(typeof n){case"bigint":return _(n>=-At&&n<=At,"overflow",e||"value",n),Number(n);case"number":return _(Number.isInteger(n),"underflow",e||"value",n),_(n>=-At&&n<=At,"overflow",e||"value",n),n;case"string":try{if(n==="")throw new Error("empty string");return Le(BigInt(n),e)}catch(t){_(!1,`invalid numeric string: ${t.message}`,e||"value",n)}}_(!1,"invalid numeric value",e||"value",n)}function cu(n){return Le(wi(n))}function bi(n,e){let r=Lr(n,"value").toString(16);if(e==null)r.length%2&&(r="0"+r);else{const s=Le(e,"width");for(x(s*2>=r.length,`value exceeds width (${s} bits)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:n});r.length<s*2;)r="0"+r}return"0x"+r}function uu(n){const e=Lr(n,"value");if(e===jr)return new Uint8Array([]);let t=e.toString(16);t.length%2&&(t="0"+t);const r=new Uint8Array(t.length/2);for(let s=0;s<r.length;s++){const i=s*2;r[s]=parseInt(t.substring(i,i+2),16)}return r}var $t;class lu{constructor(e,t,r){d(this,"filter");d(this,"emitter");F(this,$t,void 0);P(this,$t,t),S(this,{emitter:e,filter:r})}async removeListener(){m(this,$t)!=null&&await this.emitter.off(this.filter,m(this,$t))}}$t=new WeakMap;function hu(n,e,t,r,s){_(!1,`invalid codepoint at offset ${e}; ${n}`,"bytes",t)}function vi(n,e,t,r,s){if(n==="BAD_PREFIX"||n==="UNEXPECTED_CONTINUE"){let i=0;for(let o=e+1;o<t.length&&t[o]>>6===2;o++)i++;return i}return n==="OVERRUN"?t.length-e-1:0}function fu(n,e,t,r,s){return n==="OVERLONG"?(_(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),r.push(s),0):(r.push(65533),vi(n,e,t))}const du=Object.freeze({error:hu,ignore:vi,replace:fu});function pu(n,e){e==null&&(e=du.error);const t=Ue(n,"bytes"),r=[];let s=0;for(;s<t.length;){const i=t[s++];if(!(i>>7)){r.push(i);continue}let o=null,a=null;if((i&224)===192)o=1,a=127;else if((i&240)===224)o=2,a=2047;else if((i&248)===240)o=3,a=65535;else{(i&192)===128?s+=e("UNEXPECTED_CONTINUE",s-1,t,r):s+=e("BAD_PREFIX",s-1,t,r);continue}if(s-1+o>=t.length){s+=e("OVERRUN",s-1,t,r);continue}let c=i&(1<<8-o-1)-1;for(let u=0;u<o;u++){let l=t[s];if((l&192)!=128){s+=e("MISSING_CONTINUE",s,t,r),c=null;break}c=c<<6|l&63,s++}if(c!==null){if(c>1114111){s+=e("OUT_OF_RANGE",s-1-o,t,r,c);continue}if(c>=55296&&c<=57343){s+=e("UTF16_SURROGATE",s-1-o,t,r,c);continue}if(c<=a){s+=e("OVERLONG",s-1-o,t,r,c);continue}r.push(c)}}return r}function _i(n,e){e!=null&&(nu(e),n=n.normalize(e));let t=[];for(let r=0;r<n.length;r++){const s=n.charCodeAt(r);if(s<128)t.push(s);else if(s<2048)t.push(s>>6|192),t.push(s&63|128);else if((s&64512)==55296){r++;const i=n.charCodeAt(r);_(r<n.length&&(i&64512)===56320,"invalid surrogate pair","str",n);const o=65536+((s&1023)<<10)+(i&1023);t.push(o>>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)}else t.push(s>>12|224),t.push(s>>6&63|128),t.push(s&63|128)}return new Uint8Array(t)}function yu(n){return n.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function mu(n,e){return yu(pu(n,e))}const Z=32,pn=new Uint8Array(Z),gu=["then"],lr={};function hr(n,e){const t=new Error(`deferred error during ABI decoding triggered accessing ${n}`);throw t.error=e,t}var Ve;const zt=class extends Array{constructor(...t){const r=t[0];let s=t[1],i=(t[2]||[]).slice(),o=!0;r!==lr&&(s=t,i=[],o=!1);super(s.length);F(this,Ve,void 0);s.forEach((c,u)=>{this[u]=c});const a=i.reduce((c,u)=>(typeof u=="string"&&c.set(u,(c.get(u)||0)+1),c),new Map);if(P(this,Ve,Object.freeze(s.map((c,u)=>{const l=i[u];return l!=null&&a.get(l)===1?l:null}))),!!o)return Object.freeze(this),new Proxy(this,{get:(c,u,l)=>{if(typeof u=="string"){if(u.match(/^[0-9]+$/)){const y=Le(u,"%index");if(y<0||y>=this.length)throw new RangeError("out of result range");const p=c[y];return p instanceof Error&&hr(`index ${y}`,p),p}if(gu.indexOf(u)>=0)return Reflect.get(c,u,l);const h=c[u];if(h instanceof Function)return function(...y){return h.apply(this===l?c:this,y)};if(!(u in c))return c.getValue.apply(this===l?c:this,[u])}return Reflect.get(c,u,l)}})}toArray(){const t=[];return this.forEach((r,s)=>{r instanceof Error&&hr(`index ${s}`,r),t.push(r)}),t}toObject(){return m(this,Ve).reduce((t,r,s)=>(x(r!=null,"value at index ${ index } unnamed","UNSUPPORTED_OPERATION",{operation:"toObject()"}),r in t||(t[r]=this.getValue(r)),t),{})}slice(t,r){t==null&&(t=0),t<0&&(t+=this.length,t<0&&(t=0)),r==null&&(r=this.length),r<0&&(r+=this.length,r<0&&(r=0)),r>this.length&&(r=this.length);const s=[],i=[];for(let o=t;o<r;o++)s.push(this[o]),i.push(m(this,Ve)[o]);return new zt(lr,s,i)}filter(t,r){const s=[],i=[];for(let o=0;o<this.length;o++){const a=this[o];a instanceof Error&&hr(`index ${o}`,a),t.call(r,a,o,this)&&(s.push(a),i.push(m(this,Ve)[o]))}return new zt(lr,s,i)}getValue(t){const r=m(this,Ve).indexOf(t);if(r===-1)return;const s=this[r];return s instanceof Error&&hr(`property ${JSON.stringify(t)}`,s.error),s}static fromItems(t,r){return new zt(lr,t,r)}};let Er=zt;Ve=new WeakMap;function vs(n){let e=uu(n);return x(e.length<=Z,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:Z,offset:e.length}),e.length!==Z&&(e=Fe(Rt([pn.slice(e.length%Z),e]))),e}class Be{constructor(e,t,r,s){d(this,"name");d(this,"type");d(this,"localName");d(this,"dynamic");S(this,{name:e,type:t,localName:r,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){_(!1,e,this.localName,t)}}var Ie,st,Pt,mr;class yn{constructor(){F(this,Pt);F(this,Ie,void 0);F(this,st,void 0);P(this,Ie,[]),P(this,st,0)}get data(){return Rt(m(this,Ie))}get length(){return m(this,st)}appendWriter(e){return B(this,Pt,mr).call(this,Fe(e.data))}writeBytes(e){let t=Fe(e);const r=t.length%Z;return r&&(t=Fe(Rt([t,pn.slice(r)]))),B(this,Pt,mr).call(this,t)}writeValue(e){return B(this,Pt,mr).call(this,vs(e))}writeUpdatableValue(){const e=m(this,Ie).length;return m(this,Ie).push(pn),P(this,st,m(this,st)+Z),t=>{m(this,Ie)[e]=vs(t)}}}Ie=new WeakMap,st=new WeakMap,Pt=new WeakSet,mr=function(e){return m(this,Ie).push(e),P(this,st,m(this,st)+e.length),e.length};var se,le,Or,Ei;const Xn=class{constructor(e,t){F(this,Or);d(this,"allowLoose");F(this,se,void 0);F(this,le,void 0);S(this,{allowLoose:!!t}),P(this,se,Fe(e)),P(this,le,0)}get data(){return H(m(this,se))}get dataLength(){return m(this,se).length}get consumed(){return m(this,le)}get bytes(){return new Uint8Array(m(this,se))}subReader(e){return new Xn(m(this,se).slice(m(this,le)+e),this.allowLoose)}readBytes(e,t){let r=B(this,Or,Ei).call(this,0,e,!!t);return P(this,le,m(this,le)+r.length),r.slice(0,e)}readValue(){return wi(this.readBytes(Z))}readIndex(){return cu(this.readBytes(Z))}};let mn=Xn;se=new WeakMap,le=new WeakMap,Or=new WeakSet,Ei=function(e,t,r){let s=Math.ceil(t/Z)*Z;return m(this,le)+s>m(this,se).length&&(this.allowLoose&&r&&m(this,le)+t<=m(this,se).length?s=t:x(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:Fe(m(this,se)),length:m(this,se).length,offset:m(this,le)+s})),m(this,se).slice(m(this,le),m(this,le)+s)};function gn(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}function wu(n){if(typeof n!="boolean")throw new Error(`Expected boolean, not ${n}`)}function xi(n,...e){if(!(n instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(e.length>0&&!e.includes(n.length))throw new TypeError(`Expected Uint8Array of length ${e}, not of length=${n.length}`)}function bu(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");gn(n.outputLen),gn(n.blockLen)}function vu(n,e=!0){if(n.destroyed)throw new Error("Hash instance has been destroyed");if(e&&n.finished)throw new Error("Hash#digest() has already been called")}function _u(n,e){xi(n);const t=e.outputLen;if(n.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}const Et={number:gn,bool:wu,bytes:xi,hash:bu,exists:vu,output:_u};/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Eu=n=>new Uint32Array(n.buffer,n.byteOffset,Math.floor(n.byteLength/4)),xu=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!xu)throw new Error("Non little-endian hardware is not supported");Array.from({length:256},(n,e)=>e.toString(16).padStart(2,"0"));function Tu(n){if(typeof n!="string")throw new TypeError(`utf8ToBytes expected string, got ${typeof n}`);return new TextEncoder().encode(n)}function Bn(n){if(typeof n=="string"&&(n=Tu(n)),!(n instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof n})`);return n}class Ou{clone(){return this._cloneInto()}}function ku(n){const e=r=>n().update(Bn(r)).digest(),t=n();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>n(),e}function Au(n){const e=(r,s)=>n(s).update(Bn(r)).digest(),t=n({});return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=r=>n(r),e}const fr=BigInt(2**32-1),wn=BigInt(32);function Ti(n,e=!1){return e?{h:Number(n&fr),l:Number(n>>wn&fr)}:{h:Number(n>>wn&fr)|0,l:Number(n&fr)|0}}function Su(n,e=!1){let t=new Uint32Array(n.length),r=new Uint32Array(n.length);for(let s=0;s<n.length;s++){const{h:i,l:o}=Ti(n[s],e);[t[s],r[s]]=[i,o]}return[t,r]}const Ru=(n,e)=>BigInt(n>>>0)<<wn|BigInt(e>>>0),$u=(n,e,t)=>n>>>t,Pu=(n,e,t)=>n<<32-t|e>>>t,Nu=(n,e,t)=>n>>>t|e<<32-t,Iu=(n,e,t)=>n<<32-t|e>>>t,Cu=(n,e,t)=>n<<64-t|e>>>t-32,Fu=(n,e,t)=>n>>>t-32|e<<64-t,Du=(n,e)=>e,Uu=(n,e)=>n,ju=(n,e,t)=>n<<t|e>>>32-t,Lu=(n,e,t)=>e<<t|n>>>32-t,Bu=(n,e,t)=>e<<t-32|n>>>64-t,Hu=(n,e,t)=>n<<t-32|e>>>64-t;function Mu(n,e,t,r){const s=(e>>>0)+(r>>>0);return{h:n+t+(s/2**32|0)|0,l:s|0}}const Vu=(n,e,t)=>(n>>>0)+(e>>>0)+(t>>>0),zu=(n,e,t,r)=>e+t+r+(n/2**32|0)|0,qu=(n,e,t,r)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0),Gu=(n,e,t,r,s)=>e+t+r+s+(n/2**32|0)|0,Ju=(n,e,t,r,s)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(s>>>0),Wu=(n,e,t,r,s,i)=>e+t+r+s+i+(n/2**32|0)|0,Gt={fromBig:Ti,split:Su,toBig:Ru,shrSH:$u,shrSL:Pu,rotrSH:Nu,rotrSL:Iu,rotrBH:Cu,rotrBL:Fu,rotr32H:Du,rotr32L:Uu,rotlSH:ju,rotlSL:Lu,rotlBH:Bu,rotlBL:Hu,add:Mu,add3L:Vu,add3H:zu,add4L:qu,add4H:Gu,add5H:Wu,add5L:Ju},[Oi,ki,Ai]=[[],[],[]],Ku=BigInt(0),Lt=BigInt(1),Xu=BigInt(2),Zu=BigInt(7),Yu=BigInt(256),Qu=BigInt(113);for(let n=0,e=Lt,t=1,r=0;n<24;n++){[t,r]=[r,(2*t+3*r)%5],Oi.push(2*(5*r+t)),ki.push((n+1)*(n+2)/2%64);let s=Ku;for(let i=0;i<7;i++)e=(e<<Lt^(e>>Zu)*Qu)%Yu,e&Xu&&(s^=Lt<<(Lt<<BigInt(i))-Lt);Ai.push(s)}const[el,tl]=Gt.split(Ai,!0),_s=(n,e,t)=>t>32?Gt.rotlBH(n,e,t):Gt.rotlSH(n,e,t),Es=(n,e,t)=>t>32?Gt.rotlBL(n,e,t):Gt.rotlSL(n,e,t);function rl(n,e=24){const t=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let o=0;o<10;o++)t[o]=n[o]^n[o+10]^n[o+20]^n[o+30]^n[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,u=t[c],l=t[c+1],h=_s(u,l,1)^t[a],y=Es(u,l,1)^t[a+1];for(let p=0;p<50;p+=10)n[o+p]^=h,n[o+p+1]^=y}let s=n[2],i=n[3];for(let o=0;o<24;o++){const a=ki[o],c=_s(s,i,a),u=Es(s,i,a),l=Oi[o];s=n[l],i=n[l+1],n[l]=c,n[l+1]=u}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=n[o+a];for(let a=0;a<10;a++)n[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}n[0]^=el[r],n[1]^=tl[r]}t.fill(0)}class Br extends Ou{constructor(e,t,r,s=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=s,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Et.number(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Eu(this.state)}keccak(){rl(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){Et.exists(this);const{blockLen:t,state:r}=this;e=Bn(e);const s=e.length;for(let i=0;i<s;){const o=Math.min(t-this.pos,s-i);for(let a=0;a<o;a++)r[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:r,blockLen:s}=this;e[r]^=t,t&128&&r===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){Et.exists(this,!1),Et.bytes(e),this.finish();const t=this.state,{blockLen:r}=this;for(let s=0,i=e.length;s<i;){this.posOut>=r&&this.keccak();const o=Math.min(r-this.posOut,i-s);e.set(t.subarray(this.posOut,this.posOut+o),s),this.posOut+=o,s+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Et.number(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Et.output(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:s,rounds:i,enableXOF:o}=this;return e||(e=new Br(t,r,s,o,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=s,e.enableXOF=o,e.destroyed=this.destroyed,e}}const We=(n,e,t)=>ku(()=>new Br(e,n,t));We(6,144,224/8);We(6,136,256/8);We(6,104,384/8);We(6,72,512/8);We(1,144,224/8);const nl=We(1,136,256/8);We(1,104,384/8);We(1,72,512/8);const Si=(n,e,t)=>Au((r={})=>new Br(e,n,r.dkLen===void 0?t:r.dkLen,!0));Si(31,168,128/8);Si(31,136,256/8);let Ri=!1;const $i=function(n){return nl(n)};let Pi=$i;function Je(n){const e=Ue(n,"data");return H(Pi(e))}Je._=$i;Je.lock=function(){Ri=!0};Je.register=function(n){if(Ri)throw new TypeError("keccak256 is locked");Pi=n};Object.freeze(Je);const sl=BigInt(0),il=BigInt(36);function xs(n){n=n.toLowerCase();const e=n.substring(2).split(""),t=new Uint8Array(40);for(let s=0;s<40;s++)t[s]=e[s].charCodeAt(0);const r=Ue(Je(t));for(let s=0;s<40;s+=2)r[s>>1]>>4>=8&&(e[s]=e[s].toUpperCase()),(r[s>>1]&15)>=8&&(e[s+1]=e[s+1].toUpperCase());return"0x"+e.join("")}const Hn={};for(let n=0;n<10;n++)Hn[String(n)]=String(n);for(let n=0;n<26;n++)Hn[String.fromCharCode(65+n)]=String(10+n);const Ts=15;function ol(n){n=n.toUpperCase(),n=n.substring(4)+n.substring(0,2)+"00";let e=n.split("").map(r=>Hn[r]).join("");for(;e.length>=Ts;){let r=e.substring(0,Ts);e=parseInt(r,10)%97+e.substring(r.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}const al=function(){const n={};for(let e=0;e<36;e++){const t="0123456789abcdefghijklmnopqrstuvwxyz"[e];n[t]=BigInt(e)}return n}();function cl(n){n=n.toLowerCase();let e=sl;for(let t=0;t<n.length;t++)e=e*il+al[n[t]];return e}function lt(n){if(_(typeof n=="string","invalid address","address",n),n.match(/^(0x)?[0-9a-fA-F]{40}$/)){n.startsWith("0x")||(n="0x"+n);const e=xs(n);return _(!n.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===n,"bad address checksum","address",n),e}if(n.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){_(n.substring(2,4)===ol(n),"bad icap checksum","address",n);let e=cl(n.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return xs("0x"+e)}_(!1,"invalid address","address",n)}function ul(n){return n&&typeof n.getAddress=="function"}async function en(n,e){const t=await e;return(t==null||t==="0x0000000000000000000000000000000000000000")&&(x(typeof n!="string","unconfigured name","UNCONFIGURED_NAME",{value:n}),_(!1,"invalid AddressLike value; did not resolve to a value address","target",n)),lt(t)}function Mn(n,e){if(typeof n=="string")return n.match(/^0x[0-9a-f]{40}$/i)?lt(n):(x(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),en(n,e.resolveName(n)));if(ul(n))return en(n,n.getAddress());if(n&&typeof n.then=="function")return en(n,n);_(!1,"unsupported addressable value","target",n)}const Re={};function E(n,e){let t=!1;return e<0&&(t=!0,e*=-1),new K(Re,`${t?"":"u"}int${e}`,n,{signed:t,width:e})}function R(n,e){return new K(Re,`bytes${e||""}`,n,{size:e})}const Os=Symbol.for("_ethers_typed");var it;const $e=class{constructor(e,t,r,s){d(this,"type");d(this,"value");F(this,it,void 0);d(this,"_typedSymbol");s==null&&(s=null),Ln(Re,e,"Typed"),S(this,{_typedSymbol:Os,type:t,value:r}),P(this,it,s),this.format()}format(){if(this.type==="array")throw new Error("");if(this.type==="dynamicArray")throw new Error("");return this.type==="tuple"?`tuple(${this.value.map(e=>e.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return m(this,it)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return m(this,it)===!0?-1:m(this,it)===!1?this.value.length:null}static from(e,t){return new $e(Re,e,t)}static uint8(e){return E(e,8)}static uint16(e){return E(e,16)}static uint24(e){return E(e,24)}static uint32(e){return E(e,32)}static uint40(e){return E(e,40)}static uint48(e){return E(e,48)}static uint56(e){return E(e,56)}static uint64(e){return E(e,64)}static uint72(e){return E(e,72)}static uint80(e){return E(e,80)}static uint88(e){return E(e,88)}static uint96(e){return E(e,96)}static uint104(e){return E(e,104)}static uint112(e){return E(e,112)}static uint120(e){return E(e,120)}static uint128(e){return E(e,128)}static uint136(e){return E(e,136)}static uint144(e){return E(e,144)}static uint152(e){return E(e,152)}static uint160(e){return E(e,160)}static uint168(e){return E(e,168)}static uint176(e){return E(e,176)}static uint184(e){return E(e,184)}static uint192(e){return E(e,192)}static uint200(e){return E(e,200)}static uint208(e){return E(e,208)}static uint216(e){return E(e,216)}static uint224(e){return E(e,224)}static uint232(e){return E(e,232)}static uint240(e){return E(e,240)}static uint248(e){return E(e,248)}static uint256(e){return E(e,256)}static uint(e){return E(e,256)}static int8(e){return E(e,-8)}static int16(e){return E(e,-16)}static int24(e){return E(e,-24)}static int32(e){return E(e,-32)}static int40(e){return E(e,-40)}static int48(e){return E(e,-48)}static int56(e){return E(e,-56)}static int64(e){return E(e,-64)}static int72(e){return E(e,-72)}static int80(e){return E(e,-80)}static int88(e){return E(e,-88)}static int96(e){return E(e,-96)}static int104(e){return E(e,-104)}static int112(e){return E(e,-112)}static int120(e){return E(e,-120)}static int128(e){return E(e,-128)}static int136(e){return E(e,-136)}static int144(e){return E(e,-144)}static int152(e){return E(e,-152)}static int160(e){return E(e,-160)}static int168(e){return E(e,-168)}static int176(e){return E(e,-176)}static int184(e){return E(e,-184)}static int192(e){return E(e,-192)}static int200(e){return E(e,-200)}static int208(e){return E(e,-208)}static int216(e){return E(e,-216)}static int224(e){return E(e,-224)}static int232(e){return E(e,-232)}static int240(e){return E(e,-240)}static int248(e){return E(e,-248)}static int256(e){return E(e,-256)}static int(e){return E(e,-256)}static bytes1(e){return R(e,1)}static bytes2(e){return R(e,2)}static bytes3(e){return R(e,3)}static bytes4(e){return R(e,4)}static bytes5(e){return R(e,5)}static bytes6(e){return R(e,6)}static bytes7(e){return R(e,7)}static bytes8(e){return R(e,8)}static bytes9(e){return R(e,9)}static bytes10(e){return R(e,10)}static bytes11(e){return R(e,11)}static bytes12(e){return R(e,12)}static bytes13(e){return R(e,13)}static bytes14(e){return R(e,14)}static bytes15(e){return R(e,15)}static bytes16(e){return R(e,16)}static bytes17(e){return R(e,17)}static bytes18(e){return R(e,18)}static bytes19(e){return R(e,19)}static bytes20(e){return R(e,20)}static bytes21(e){return R(e,21)}static bytes22(e){return R(e,22)}static bytes23(e){return R(e,23)}static bytes24(e){return R(e,24)}static bytes25(e){return R(e,25)}static bytes26(e){return R(e,26)}static bytes27(e){return R(e,27)}static bytes28(e){return R(e,28)}static bytes29(e){return R(e,29)}static bytes30(e){return R(e,30)}static bytes31(e){return R(e,31)}static bytes32(e){return R(e,32)}static address(e){return new $e(Re,"address",e)}static bool(e){return new $e(Re,"bool",!!e)}static bytes(e){return new $e(Re,"bytes",e)}static string(e){return new $e(Re,"string",e)}static array(e,t){throw new Error("not implemented yet")}static tuple(e,t){throw new Error("not implemented yet")}static overrides(e){return new $e(Re,"overrides",Object.assign({},e))}static isTyped(e){return e&&e._typedSymbol===Os}static dereference(e,t){if($e.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}};let K=$e;it=new WeakMap;class ll extends Be{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let r=K.dereference(t,"string");try{r=lt(r)}catch(s){return this._throwError(s.message,t)}return e.writeValue(r)}decode(e){return lt(bi(e.readValue(),20))}}class hl extends Be{constructor(t){super(t.name,t.type,"_",t.dynamic);d(this,"coder");this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,r){return this.coder.encode(t,r)}decode(t){return this.coder.decode(t)}}function Ni(n,e,t){let r=[];if(Array.isArray(t))r=t;else if(t&&typeof t=="object"){let c={};r=e.map(u=>{const l=u.localName;return x(l,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),x(!c[l],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),c[l]=!0,t[l]})}else _(!1,"invalid tuple value","tuple",t);_(e.length===r.length,"types/value length mismatch","tuple",t);let s=new yn,i=new yn,o=[];e.forEach((c,u)=>{let l=r[u];if(c.dynamic){let h=i.length;c.encode(i,l);let y=s.writeUpdatableValue();o.push(p=>{y(p+h)})}else c.encode(s,l)}),o.forEach(c=>{c(s.length)});let a=n.appendWriter(s);return a+=n.appendWriter(i),a}function Ii(n,e){let t=[],r=[],s=n.subReader(0);return e.forEach(i=>{let o=null;if(i.dynamic){let a=n.readIndex(),c=s.subReader(a);try{o=i.decode(c)}catch(u){if(_r(u,"BUFFER_OVERRUN"))throw u;o=u,o.baseType=i.name,o.name=i.localName,o.type=i.type}}else try{o=i.decode(n)}catch(a){if(_r(a,"BUFFER_OVERRUN"))throw a;o=a,o.baseType=i.name,o.name=i.localName,o.type=i.type}if(o==null)throw new Error("investigate");t.push(o),r.push(i.localName||null)}),Er.fromItems(t,r)}class fl extends Be{constructor(t,r,s){const i=t.type+"["+(r>=0?r:"")+"]",o=r===-1||t.dynamic;super("array",i,s,o);d(this,"coder");d(this,"length");S(this,{coder:t,length:r})}defaultValue(){const t=this.coder.defaultValue(),r=[];for(let s=0;s<this.length;s++)r.push(t);return r}encode(t,r){const s=K.dereference(r,"array");Array.isArray(s)||this._throwError("expected array value",s);let i=this.length;i===-1&&(i=s.length,t.writeValue(s.length)),mi(s.length,i,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<s.length;a++)o.push(this.coder);return Ni(t,o,s)}decode(t){let r=this.length;r===-1&&(r=t.readIndex(),x(r*Z<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:r*Z,length:t.dataLength}));let s=[];for(let i=0;i<r;i++)s.push(new hl(this.coder));return Ii(t,s)}}class dl extends Be{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){const r=K.dereference(t,"bool");return e.writeValue(r?1:0)}decode(e){return!!e.readValue()}}class Ci extends Be{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=Fe(t);let r=e.writeValue(t.length);return r+=e.writeBytes(t),r}decode(e){return e.readBytes(e.readIndex(),!0)}}class pl extends Ci{constructor(e){super("bytes",e)}decode(e){return H(super.decode(e))}}class yl extends Be{constructor(t,r){let s="bytes"+String(t);super(s,s,r,!1);d(this,"size");S(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(t,r){let s=Fe(K.dereference(r,this.type));return s.length!==this.size&&this._throwError("incorrect data length",r),t.writeBytes(s)}decode(t){return H(t.readBytes(this.size))}}const ml=new Uint8Array([]);class gl extends Be{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return t!=null&&this._throwError("not null",t),e.writeBytes(ml)}decode(e){return e.readBytes(0),null}}const wl=BigInt(0),bl=BigInt(1),vl=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class _l extends Be{constructor(t,r,s){const i=(r?"int":"uint")+t*8;super(i,i,s,!1);d(this,"size");d(this,"signed");S(this,{size:t,signed:r},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,r){let s=mt(K.dereference(r,this.type)),i=ur(vl,Z*8);if(this.signed){let o=ur(i,this.size*8-1);(s>o||s<-(o+bl))&&this._throwError("value out-of-bounds",r),s=au(s,8*Z)}else(s<wl||s>ur(i,this.size*8))&&this._throwError("value out-of-bounds",r);return t.writeValue(s)}decode(t){let r=ur(t.readValue(),this.size*8);return this.signed&&(r=ou(r,this.size*8)),r}}class El extends Ci{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,_i(K.dereference(t,"string")))}decode(e){return mu(super.decode(e))}}class dr extends Be{constructor(t,r){let s=!1;const i=[];t.forEach(a=>{a.dynamic&&(s=!0),i.push(a.type)});const o="tuple("+i.join(",")+")";super("tuple",o,r,s);d(this,"coders");S(this,{coders:Object.freeze(t.slice())})}defaultValue(){const t=[];this.coders.forEach(s=>{t.push(s.defaultValue())});const r=this.coders.reduce((s,i)=>{const o=i.localName;return o&&(s[o]||(s[o]=0),s[o]++),s},{});return this.coders.forEach((s,i)=>{let o=s.localName;!o||r[o]!==1||(o==="length"&&(o="_length"),t[o]==null&&(t[o]=t[i]))}),Object.freeze(t)}encode(t,r){const s=K.dereference(r,"tuple");return Ni(t,this.coders,s)}decode(t){return Ii(t,this.coders)}}function Jt(n){return Je(_i(n))}function tn(n,e){return{address:lt(n),storageKeys:e.map((t,r)=>(_(Ge(t,32),"invalid slot",`storageKeys[${r}]`,t),t.toLowerCase()))}}function xl(n){if(Array.isArray(n))return n.map((t,r)=>Array.isArray(t)?(_(t.length===2,"invalid slot set",`value[${r}]`,t),tn(t[0],t[1])):(_(t!=null&&typeof t=="object","invalid address-slot set","value",n),tn(t.address,t.storageKeys)));_(n!=null&&typeof n=="object","invalid access list","value",n);const e=Object.keys(n).map(t=>{const r=n[t].reduce((s,i)=>(s[i]=!0,s),{});return tn(t,Object.keys(r).sort())});return e.sort((t,r)=>t.address.localeCompare(r.address)),e}function Y(n){const e=new Set;return n.forEach(t=>e.add(t)),Object.freeze(e)}const Fi="constant external internal payable private public pure view",Tl=Y(Fi.split(" ")),Di="constructor error event fallback function receive struct",Ui=Y(Di.split(" ")),ji="calldata memory storage payable indexed",Ol=Y(ji.split(" ")),kl="tuple returns",Al=[Di,ji,kl,Fi].join(" "),Sl=Y(Al.split(" ")),Rl={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},$l=new RegExp("^(\\s*)"),Pl=new RegExp("^([0-9]+)"),Nl=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),Li=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),Bi=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");var z,pe,Kt,bn;const kr=class{constructor(e){F(this,Kt);F(this,z,void 0);F(this,pe,void 0);P(this,z,0),P(this,pe,e.slice())}get offset(){return m(this,z)}get length(){return m(this,pe).length-m(this,z)}clone(){return new kr(m(this,pe))}reset(){P(this,z,0)}popKeyword(e){const t=this.peek();if(t.type!=="KEYWORD"||!e.has(t.text))throw new Error(`expected keyword ${t.text}`);return this.pop().text}popType(e){if(this.peek().type!==e)throw new Error(`expected ${e}; got ${JSON.stringify(this.peek())}`);return this.pop().text}popParen(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=B(this,Kt,bn).call(this,m(this,z)+1,e.match+1);return P(this,z,e.match+1),t}popParams(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=[];for(;m(this,z)<e.match-1;){const r=this.peek().linkNext;t.push(B(this,Kt,bn).call(this,m(this,z)+1,r)),P(this,z,r)}return P(this,z,e.match+1),t}peek(){if(m(this,z)>=m(this,pe).length)throw new Error("out-of-bounds");return m(this,pe)[m(this,z)]}peekKeyword(e){const t=this.peekType("KEYWORD");return t!=null&&e.has(t)?t:null}peekType(e){if(this.length===0)return null;const t=this.peek();return t.type===e?t.text:null}pop(){const e=this.peek();return Yn(this,z)._++,e}toString(){const e=[];for(let t=m(this,z);t<m(this,pe).length;t++){const r=m(this,pe)[t];e.push(`${r.type}:${r.text}`)}return`<TokenString ${e.join(" ")}>`}};let ge=kr;z=new WeakMap,pe=new WeakMap,Kt=new WeakSet,bn=function(e=0,t=0){return new kr(m(this,pe).slice(e,t).map(r=>Object.freeze(Object.assign({},r,{match:r.match-e,linkBack:r.linkBack-e,linkNext:r.linkNext-e}))))};function Ke(n){const e=[],t=o=>{const a=i<n.length?JSON.stringify(n[i]):"$EOI";throw new Error(`invalid token ${a} at ${i}: ${o}`)};let r=[],s=[],i=0;for(;i<n.length;){let o=n.substring(i),a=o.match($l);a&&(i+=a[1].length,o=n.substring(i));const c={depth:r.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:i,value:-1};e.push(c);let u=Rl[o[0]]||"";if(u){if(c.type=u,c.text=o[0],i++,u==="OPEN_PAREN")r.push(e.length-1),s.push(e.length-1);else if(u=="CLOSE_PAREN")r.length===0&&t("no matching open bracket"),c.match=r.pop(),e[c.match].match=e.length-1,c.depth--,c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1;else if(u==="COMMA")c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1,s.push(e.length-1);else if(u==="OPEN_BRACKET")c.type="BRACKET";else if(u==="CLOSE_BRACKET"){let l=e.pop().text;if(e.length>0&&e[e.length-1].type==="NUMBER"){const h=e.pop().text;l=h+l,e[e.length-1].value=Le(h)}if(e.length===0||e[e.length-1].type!=="BRACKET")throw new Error("missing opening bracket");e[e.length-1].text+=l}continue}if(a=o.match(Nl),a){if(c.text=a[1],i+=c.text.length,Sl.has(c.text)){c.type="KEYWORD";continue}if(c.text.match(Bi)){c.type="TYPE";continue}c.type="ID";continue}if(a=o.match(Pl),a){c.text=a[1],c.type="NUMBER",i+=c.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(o[0])} at position ${i}`)}return new ge(e.map(o=>Object.freeze(o)))}function ks(n,e){let t=[];for(const r in e.keys())n.has(r)&&t.push(r);if(t.length>1)throw new Error(`conflicting types: ${t.join(", ")}`)}function Hr(n,e){if(e.peekKeyword(Ui)){const t=e.pop().text;if(t!==n)throw new Error(`expected ${n}, got ${t}`)}return e.popType("ID")}function je(n,e){const t=new Set;for(;;){const r=n.peekType("KEYWORD");if(r==null||e&&!e.has(r))break;if(n.pop(),t.has(r))throw new Error(`duplicate keywords: ${JSON.stringify(r)}`);t.add(r)}return Object.freeze(t)}function Hi(n){let e=je(n,Tl);return ks(e,Y("constant payable nonpayable".split(" "))),ks(e,Y("pure view payable nonpayable".split(" "))),e.has("view")?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function De(n,e){return n.popParams().map(t=>G.from(t,e))}function Mi(n){if(n.peekType("AT")){if(n.pop(),n.peekType("NUMBER"))return mt(n.pop().text);throw new Error("invalid gas")}return null}function ht(n){if(n.length)throw new Error(`unexpected tokens: ${n.toString()}`)}const Il=new RegExp(/^(.*)\[([0-9]*)\]$/);function As(n){const e=n.match(Bi);if(_(e,"invalid type","type",n),n==="uint")return"uint256";if(n==="int")return"int256";if(e[2]){const t=parseInt(e[2]);_(t!==0&&t<=32,"invalid bytes length","type",n)}else if(e[3]){const t=parseInt(e[3]);_(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",n)}return n}const j={},re=Symbol.for("_ethers_internal"),Ss="_ParamTypeInternal",Rs="_ErrorInternal",$s="_EventInternal",Ps="_ConstructorInternal",Ns="_FallbackInternal",Is="_FunctionInternal",Cs="_StructInternal";var Nt,gr;const ue=class{constructor(e,t,r,s,i,o,a,c){F(this,Nt);d(this,"name");d(this,"type");d(this,"baseType");d(this,"indexed");d(this,"components");d(this,"arrayLength");d(this,"arrayChildren");if(Ln(e,j,"ParamType"),Object.defineProperty(this,re,{value:Ss}),o&&(o=Object.freeze(o.slice())),s==="array"){if(a==null||c==null)throw new Error("")}else if(a!=null||c!=null)throw new Error("");if(s==="tuple"){if(o==null)throw new Error("")}else if(o!=null)throw new Error("");S(this,{name:t,type:r,baseType:s,indexed:i,components:o,arrayLength:a,arrayChildren:c})}format(e){if(e==null&&(e="sighash"),e==="json"){let r={type:this.baseType==="tuple"?"tuple":this.type,name:this.name||void 0};return typeof this.indexed=="boolean"&&(r.indexed=this.indexed),this.isTuple()&&(r.components=this.components.map(s=>JSON.parse(s.format(e)))),JSON.stringify(r)}let t="";return this.isArray()?(t+=this.arrayChildren.format(e),t+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?(e!=="sighash"&&(t+=this.type),t+="("+this.components.map(r=>r.format(e)).join(e==="full"?", ":",")+")"):t+=this.type,e!=="sighash"&&(this.indexed===!0&&(t+=" indexed"),e==="full"&&this.name&&(t+=" "+this.name)),t}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(e,t){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw new Error("array is wrong length");const r=this;return e.map(s=>r.arrayChildren.walk(s,t))}if(this.isTuple()){if(!Array.isArray(e))throw new Error("invalid tuple value");if(e.length!==this.components.length)throw new Error("array is wrong length");const r=this;return e.map((s,i)=>r.components[i].walk(s,t))}return t(this.type,e)}async walkAsync(e,t){const r=[],s=[e];return B(this,Nt,gr).call(this,r,e,t,i=>{s[0]=i}),r.length&&await Promise.all(r),s[0]}static from(e,t){if(ue.isParamType(e))return e;if(typeof e=="string")return ue.from(Ke(e),t);if(e instanceof ge){let a="",c="",u=null;je(e,Y(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(c="tuple",u=e.popParams().map(v=>ue.from(v)),a=`tuple(${u.map(v=>v.format()).join(",")})`):(a=As(e.popType("TYPE")),c=a);let l=null,h=null;for(;e.length&&e.peekType("BRACKET");){const v=e.pop();l=new ue(j,"",a,c,null,u,h,l),h=v.value,a+=v.text,c="array",u=null}let y=null;if(je(e,Ol).has("indexed")){if(!t)throw new Error("");y=!0}const w=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new ue(j,w,a,c,y,u,h,l)}const r=e.name;_(!r||typeof r=="string"&&r.match(Li),"invalid name","obj.name",r);let s=e.indexed;s!=null&&(_(t,"parameter cannot be indexed","obj.indexed",e.indexed),s=!!s);let i=e.type,o=i.match(Il);if(o){const a=parseInt(o[2]||"-1"),c=ue.from({type:o[1],components:e.components});return new ue(j,r||"",i,"array",s,null,a,c)}if(i==="tuple"||i.startsWith("tuple(")||i.startsWith("(")){const a=e.components!=null?e.components.map(u=>ue.from(u)):null;return new ue(j,r||"",i,"tuple",s,a,null,null)}return i=As(e.type),new ue(j,r||"",i,i,s,null,null,null)}static isParamType(e){return e&&e[re]===Ss}};let G=ue;Nt=new WeakSet,gr=function(e,t,r,s){if(this.isArray()){if(!Array.isArray(t))throw new Error("invalid array value");if(this.arrayLength!==-1&&t.length!==this.arrayLength)throw new Error("array is wrong length");const o=this.arrayChildren,a=t.slice();a.forEach((c,u)=>{var l;B(l=o,Nt,gr).call(l,e,c,r,h=>{a[u]=h})}),s(a);return}if(this.isTuple()){const o=this.components;let a;if(Array.isArray(t))a=t.slice();else{if(t==null||typeof t!="object")throw new Error("invalid tuple value");a=o.map(c=>{if(!c.name)throw new Error("cannot use object value with unnamed components");if(!(c.name in t))throw new Error(`missing value for component ${c.name}`);return t[c.name]})}if(a.length!==this.components.length)throw new Error("array is wrong length");a.forEach((c,u)=>{var l;B(l=o[u],Nt,gr).call(l,e,c,r,h=>{a[u]=h})}),s(a);return}const i=r(this.type,t);i.then?e.push(async function(){s(await i)}()):s(i)};class ft{constructor(e,t,r){d(this,"type");d(this,"inputs");Ln(e,j,"Fragment"),r=Object.freeze(r.slice()),S(this,{type:t,inputs:r})}static from(e){if(typeof e=="string"){try{ft.from(JSON.parse(e))}catch{}return ft.from(Ke(e))}if(e instanceof ge)switch(e.peekKeyword(Ui)){case"constructor":return Ce.from(e);case"error":return ee.from(e);case"event":return Oe.from(e);case"fallback":case"receive":return Pe.from(e);case"function":return ke.from(e);case"struct":return ct.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return Ce.from(e);case"error":return ee.from(e);case"event":return Oe.from(e);case"fallback":case"receive":return Pe.from(e);case"function":return ke.from(e);case"struct":return ct.from(e)}x(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}_(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return Ce.isFragment(e)}static isError(e){return ee.isFragment(e)}static isEvent(e){return Oe.isFragment(e)}static isFunction(e){return ke.isFragment(e)}static isStruct(e){return ct.isFragment(e)}}class Mr extends ft{constructor(t,r,s,i){super(t,r,i);d(this,"name");_(typeof s=="string"&&s.match(Li),"invalid identifier","name",s),i=Object.freeze(i.slice()),S(this,{name:s})}}function Wt(n,e){return"("+e.map(t=>t.format(n)).join(n==="full"?", ":",")+")"}class ee extends Mr{constructor(e,t,r){super(e,"error",t,r),Object.defineProperty(this,re,{value:Rs})}get selector(){return Jt(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(r=>JSON.parse(r.format(e)))});const t=[];return e!=="sighash"&&t.push("error"),t.push(this.name+Wt(e,this.inputs)),t.join(" ")}static from(e){if(ee.isFragment(e))return e;if(typeof e=="string")return ee.from(Ke(e));if(e instanceof ge){const t=Hr("error",e),r=De(e);return ht(e),new ee(j,t,r)}return new ee(j,e.name,e.inputs?e.inputs.map(G.from):[])}static isFragment(e){return e&&e[re]===Rs}}class Oe extends Mr{constructor(t,r,s,i){super(t,"event",r,s);d(this,"anonymous");Object.defineProperty(this,re,{value:$s}),S(this,{anonymous:i})}get topicHash(){return Jt(this.format("sighash"))}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});const r=[];return t!=="sighash"&&r.push("event"),r.push(this.name+Wt(t,this.inputs)),t!=="sighash"&&this.anonymous&&r.push("anonymous"),r.join(" ")}static getTopicHash(t,r){return r=(r||[]).map(i=>G.from(i)),new Oe(j,t,r,!1).topicHash}static from(t){if(Oe.isFragment(t))return t;if(typeof t=="string")return Oe.from(Ke(t));if(t instanceof ge){const r=Hr("event",t),s=De(t,!0),i=!!je(t,Y(["anonymous"])).has("anonymous");return ht(t),new Oe(j,r,s,i)}return new Oe(j,t.name,t.inputs?t.inputs.map(r=>G.from(r,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[re]===$s}}class Ce extends ft{constructor(t,r,s,i,o){super(t,r,s);d(this,"payable");d(this,"gas");Object.defineProperty(this,re,{value:Ps}),S(this,{payable:i,gas:o})}format(t){if(x(t!=null&&t!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),t==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});const r=[`constructor${Wt(t,this.inputs)}`];return r.push(this.payable?"payable":"nonpayable"),this.gas!=null&&r.push(`@${this.gas.toString()}`),r.join(" ")}static from(t){if(Ce.isFragment(t))return t;if(typeof t=="string")return Ce.from(Ke(t));if(t instanceof ge){je(t,Y(["constructor"]));const r=De(t),s=!!je(t,Y(["payable"])).has("payable"),i=Mi(t);return ht(t),new Ce(j,"constructor",r,s,i)}return new Ce(j,"constructor",t.inputs?t.inputs.map(G.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[re]===Ps}}class Pe extends ft{constructor(t,r,s){super(t,"fallback",r);d(this,"payable");Object.defineProperty(this,re,{value:Ns}),S(this,{payable:s})}format(t){const r=this.inputs.length===0?"receive":"fallback";if(t==="json"){const s=this.payable?"payable":"nonpayable";return JSON.stringify({type:r,stateMutability:s})}return`${r}()${this.payable?" payable":""}`}static from(t){if(Pe.isFragment(t))return t;if(typeof t=="string")return Pe.from(Ke(t));if(t instanceof ge){const r=t.toString(),s=t.peekKeyword(Y(["fallback","receive"]));if(_(s,"type must be fallback or receive","obj",r),t.popKeyword(Y(["fallback","receive"]))==="receive"){const c=De(t);return _(c.length===0,"receive cannot have arguments","obj.inputs",c),je(t,Y(["payable"])),ht(t),new Pe(j,[],!0)}let o=De(t);o.length?_(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(c=>c.format("minimal")).join(", ")):o=[G.from("bytes")];const a=Hi(t);if(_(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),je(t,Y(["returns"])).has("returns")){const c=De(t);_(c.length===1&&c[0].type==="bytes","invalid fallback outputs","obj.outputs",c.map(u=>u.format("minimal")).join(", "))}return ht(t),new Pe(j,o,a==="payable")}if(t.type==="receive")return new Pe(j,[],!0);if(t.type==="fallback"){const r=[G.from("bytes")],s=t.stateMutability==="payable";return new Pe(j,r,s)}_(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[re]===Ns}}class ke extends Mr{constructor(t,r,s,i,o,a){super(t,"function",r,i);d(this,"constant");d(this,"outputs");d(this,"stateMutability");d(this,"payable");d(this,"gas");Object.defineProperty(this,re,{value:Is}),o=Object.freeze(o.slice()),S(this,{constant:s==="view"||s==="pure",gas:a,outputs:o,payable:s==="payable",stateMutability:s})}get selector(){return Jt(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t))),outputs:this.outputs.map(s=>JSON.parse(s.format(t)))});const r=[];return t!=="sighash"&&r.push("function"),r.push(this.name+Wt(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&r.push(this.stateMutability),this.outputs&&this.outputs.length&&(r.push("returns"),r.push(Wt(t,this.outputs))),this.gas!=null&&r.push(`@${this.gas.toString()}`)),r.join(" ")}static getSelector(t,r){return r=(r||[]).map(i=>G.from(i)),new ke(j,t,"view",r,[],null).selector}static from(t){if(ke.isFragment(t))return t;if(typeof t=="string")return ke.from(Ke(t));if(t instanceof ge){const r=Hr("function",t),s=De(t),i=Hi(t);let o=[];je(t,Y(["returns"])).has("returns")&&(o=De(t));const a=Mi(t);return ht(t),new ke(j,r,i,s,o,a)}return new ke(j,t.name,t.stateMutability,t.inputs?t.inputs.map(G.from):[],t.outputs?t.outputs.map(G.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[re]===Is}}class ct extends Mr{constructor(e,t,r){super(e,"struct",t,r),Object.defineProperty(this,re,{value:Cs})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")return ct.from(Ke(e));if(e instanceof ge){const t=Hr("struct",e),r=De(e);return ht(e),new ct(j,t,r)}return new ct(j,e.name,e.inputs?e.inputs.map(G.from):[])}static isFragment(e){return e&&e[re]===Cs}}const we=new Map;we.set(0,"GENERIC_PANIC");we.set(1,"ASSERT_FALSE");we.set(17,"OVERFLOW");we.set(18,"DIVIDE_BY_ZERO");we.set(33,"ENUM_RANGE_ERROR");we.set(34,"BAD_STORAGE_DATA");we.set(49,"STACK_UNDERFLOW");we.set(50,"ARRAY_RANGE_ERROR");we.set(65,"OUT_OF_MEMORY");we.set(81,"UNINITIALIZED_FUNCTION_CALL");const Cl=new RegExp(/^bytes([0-9]*)$/),Fl=new RegExp(/^(u?int)([0-9]*)$/);let rn=null;function Dl(n,e,t,r){let s="missing revert data",i=null;const o=null;let a=null;if(t){s="execution reverted";const u=Ue(t);if(t=H(t),u.length===0)s+=" (no data present; likely require(false) occurred",i="require(false)";else if(u.length%32!==4)s+=" (could not decode reason; invalid data length)";else if(H(u.slice(0,4))==="0x08c379a0")try{i=r.decode(["string"],u.slice(4))[0],a={signature:"Error(string)",name:"Error",args:[i]},s+=`: ${JSON.stringify(i)}`}catch{s+=" (could not decode reason; invalid string data)"}else if(H(u.slice(0,4))==="0x4e487b71")try{const l=Number(r.decode(["uint256"],u.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[l]},i=`Panic due to ${we.get(l)||"UNKNOWN"}(${l})`,s+=`: ${i}`}catch{s+=" (could not decode panic code)"}else s+=" (unknown custom error)"}const c={to:e.to?lt(e.to):null,data:e.data||"0x"};return e.from&&(c.from=lt(e.from)),Ur(s,"CALL_EXCEPTION",{action:n,data:t,reason:i,transaction:c,invocation:o,revert:a})}var ze,Tt;const Ar=class{constructor(){F(this,ze)}getDefaultValue(e){const t=e.map(s=>B(this,ze,Tt).call(this,G.from(s)));return new dr(t,"_").defaultValue()}encode(e,t){mi(t.length,e.length,"types/values length mismatch");const r=e.map(o=>B(this,ze,Tt).call(this,G.from(o))),s=new dr(r,"_"),i=new yn;return s.encode(i,t),i.data}decode(e,t,r){const s=e.map(o=>B(this,ze,Tt).call(this,G.from(o)));return new dr(s,"_").decode(new mn(t,r))}static defaultAbiCoder(){return rn==null&&(rn=new Ar),rn}static getBuiltinCallException(e,t,r){return Dl(e,t,r,Ar.defaultAbiCoder())}};let xr=Ar;ze=new WeakSet,Tt=function(e){if(e.isArray())return new fl(B(this,ze,Tt).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new dr(e.components.map(r=>B(this,ze,Tt).call(this,r)),e.name);switch(e.baseType){case"address":return new ll(e.name);case"bool":return new dl(e.name);case"string":return new El(e.name);case"bytes":return new pl(e.name);case"":return new gl(e.name)}let t=e.type.match(Fl);if(t){let r=parseInt(t[2]||"256");return _(r!==0&&r<=256&&r%8===0,"invalid "+t[1]+" bit length","param",e),new _l(r/8,t[1]==="int",e.name)}if(t=e.type.match(Cl),t){let r=parseInt(t[1]);return _(r!==0&&r<=32,"invalid bytes length","param",e),new yl(r,e.name)}_(!1,"invalid type","type",e.type)};class Ul{constructor(e,t,r){d(this,"fragment");d(this,"name");d(this,"signature");d(this,"topic");d(this,"args");const s=e.name,i=e.format();S(this,{fragment:e,name:s,signature:i,topic:t,args:r})}}class jl{constructor(e,t,r,s){d(this,"fragment");d(this,"name");d(this,"args");d(this,"signature");d(this,"selector");d(this,"value");const i=e.name,o=e.format();S(this,{fragment:e,name:i,args:r,signature:o,selector:t,value:s})}}class Ll{constructor(e,t,r){d(this,"fragment");d(this,"name");d(this,"args");d(this,"signature");d(this,"selector");const s=e.name,i=e.format();S(this,{fragment:e,name:s,args:r,signature:i,selector:t})}}class Fs{constructor(e){d(this,"hash");d(this,"_isIndexed");S(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}}const Ds={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},Us={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:n=>`reverted with reason string ${JSON.stringify(n)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:n=>{let e="unknown panic code";return n>=0&&n<=255&&Ds[n.toString()]&&(e=Ds[n.toString()]),`reverted with panic code 0x${n.toString(16)} (${e})`}}};var Ee,xe,Te,W,Xt,_n,Zt,En;const St=class{constructor(e){F(this,Xt);F(this,Zt);d(this,"fragments");d(this,"deploy");d(this,"fallback");d(this,"receive");F(this,Ee,void 0);F(this,xe,void 0);F(this,Te,void 0);F(this,W,void 0);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,P(this,Te,new Map),P(this,Ee,new Map),P(this,xe,new Map);const r=[];for(const o of t)try{r.push(ft.from(o))}catch(a){console.log("EE",a)}S(this,{fragments:Object.freeze(r)});let s=null,i=!1;P(this,W,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let c;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}S(this,{deploy:o});return;case"fallback":o.inputs.length===0?i=!0:(_(!s||o.payable!==s.payable,"conflicting fallback fragments",`fragments[${a}]`,o),s=o,i=s.payable);return;case"function":c=m(this,Te);break;case"event":c=m(this,xe);break;case"error":c=m(this,Ee);break;default:return}const u=o.format();c.has(u)||c.set(u,o)}),this.deploy||S(this,{deploy:Ce.from("constructor()")}),S(this,{fallback:s,receive:i})}format(e){const t=e?"minimal":"full";return this.fragments.map(s=>s.format(t))}formatJson(){const e=this.fragments.map(t=>t.format("json"));return JSON.stringify(e.map(t=>JSON.parse(t)))}getAbiCoder(){return xr.defaultAbiCoder()}getFunctionName(e){const t=B(this,Xt,_n).call(this,e,null,!1);return _(t,"no matching function","key",e),t.name}getFunction(e,t){return B(this,Xt,_n).call(this,e,t||null,!0)}forEachFunction(e){const t=Array.from(m(this,Te).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(m(this,Te).get(s),r)}}getEventName(e){const t=B(this,Zt,En).call(this,e,null,!1);return _(t,"no matching event","key",e),t.name}getEvent(e,t){return B(this,Zt,En).call(this,e,t||null,!0)}forEachEvent(e){const t=Array.from(m(this,xe).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(m(this,xe).get(s),r)}}getError(e,t){if(Ge(e)){const s=e.toLowerCase();if(Us[s])return ee.from(Us[s].signature);for(const i of m(this,Ee).values())if(s===i.selector)return i;return null}if(e.indexOf("(")===-1){const s=[];for(const[i,o]of m(this,Ee))i.split("(")[0]===e&&s.push(o);if(s.length===0)return e==="Error"?ee.from("error Error(string)"):e==="Panic"?ee.from("error Panic(uint256)"):null;if(s.length>1){const i=s.map(o=>JSON.stringify(o.format())).join(", ");_(!1,`ambiguous error description (i.e. ${i})`,"name",e)}return s[0]}if(e=ee.from(e).format(),e==="Error(string)")return ee.from("error Error(string)");if(e==="Panic(uint256)")return ee.from("error Panic(uint256)");const r=m(this,Ee).get(e);return r||null}forEachError(e){const t=Array.from(m(this,Ee).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(m(this,Ee).get(s),r)}}_decodeParams(e,t){return m(this,W).decode(e,t)}_encodeParams(e,t){return m(this,W).encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){if(typeof e=="string"){const r=this.getError(e);_(r,"unknown error","fragment",e),e=r}return _(_t(t,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",t),this._decodeParams(e.inputs,_t(t,4))}encodeErrorResult(e,t){if(typeof e=="string"){const r=this.getError(e);_(r,"unknown error","fragment",e),e=r}return Rt([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionData(e,t){if(typeof e=="string"){const r=this.getFunction(e);_(r,"unknown function","fragment",e),e=r}return _(_t(t,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",t),this._decodeParams(e.inputs,_t(t,4))}encodeFunctionData(e,t){if(typeof e=="string"){const r=this.getFunction(e);_(r,"unknown function","fragment",e),e=r}return Rt([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionResult(e,t){if(typeof e=="string"){const i=this.getFunction(e);_(i,"unknown function","fragment",e),e=i}let r="invalid length for result data";const s=Fe(t);if(s.length%32===0)try{return m(this,W).decode(e.outputs,s)}catch{r="could not decode result data"}x(!1,r,"BAD_DATA",{value:H(s),info:{method:e.name,signature:e.format()}})}makeError(e,t){const r=Ue(e,"data"),s=xr.getBuiltinCallException("call",t,r),i="execution reverted (unknown custom error)";if(s.message.startsWith(i)){const a=H(r.slice(0,4)),c=this.getError(a);if(c)try{const u=m(this,W).decode(c.inputs,r.slice(4));s.revert={name:c.name,signature:c.format(),args:u},s.reason=s.revert.signature,s.message=`execution reverted: ${s.reason}`}catch{s.message="execution reverted (coult not decode custom error)"}}const o=this.parseTransaction(t);return o&&(s.invocation={method:o.name,signature:o.signature,args:o.args}),s}encodeFunctionResult(e,t){if(typeof e=="string"){const r=this.getFunction(e);_(r,"unknown function","fragment",e),e=r}return H(m(this,W).encode(e.outputs,t||[]))}encodeFilterTopics(e,t){if(typeof e=="string"){const i=this.getEvent(e);_(i,"unknown event","eventFragment",e),e=i}x(t.length<=e.inputs.length,`too many arguments for ${e.format()}`,"UNEXPECTED_ARGUMENT",{count:t.length,expectedCount:e.inputs.length});const r=[];e.anonymous||r.push(e.topicHash);const s=(i,o)=>i.type==="string"?Jt(o):i.type==="bytes"?Je(H(o)):(i.type==="bool"&&typeof o=="boolean"&&(o=o?"0x01":"0x00"),i.type.match(/^u?int/)&&(o=bi(o)),i.type==="address"&&m(this,W).encode(["address"],[o]),iu(H(o),32));for(t.forEach((i,o)=>{const a=e.inputs[o];if(!a.indexed){_(i==null,"cannot filter non-indexed parameters; must be null","contract."+a.name,i);return}i==null?r.push(null):a.baseType==="array"||a.baseType==="tuple"?_(!1,"filtering with tuples or arrays not supported","contract."+a.name,i):Array.isArray(i)?r.push(i.map(c=>s(a,c))):r.push(s(a,i))});r.length&&r[r.length-1]===null;)r.pop();return r}encodeEventLog(e,t){if(typeof e=="string"){const o=this.getEvent(e);_(o,"unknown event","eventFragment",e),e=o}const r=[],s=[],i=[];return e.anonymous||r.push(e.topicHash),_(t.length===e.inputs.length,"event arguments/values mismatch","values",t),e.inputs.forEach((o,a)=>{const c=t[a];if(o.indexed)if(o.type==="string")r.push(Jt(c));else if(o.type==="bytes")r.push(Je(c));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");r.push(m(this,W).encode([o.type],[c]))}else s.push(o),i.push(c)}),{data:m(this,W).encode(s,i),topics:r}}decodeEventLog(e,t,r){if(typeof e=="string"){const p=this.getEvent(e);_(p,"unknown event","eventFragment",e),e=p}if(r!=null&&!e.anonymous){const p=e.topicHash;_(Ge(r[0],32)&&r[0].toLowerCase()===p,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}const s=[],i=[],o=[];e.inputs.forEach((p,w)=>{p.indexed?p.type==="string"||p.type==="bytes"||p.baseType==="tuple"||p.baseType==="array"?(s.push(G.from({type:"bytes32",name:p.name})),o.push(!0)):(s.push(p),o.push(!1)):(i.push(p),o.push(!1))});const a=r!=null?m(this,W).decode(s,Rt(r)):null,c=m(this,W).decode(i,t,!0),u=[],l=[];let h=0,y=0;return e.inputs.forEach((p,w)=>{let v=null;if(p.indexed)if(a==null)v=new Fs(null);else if(o[w])v=new Fs(a[y++]);else try{v=a[y++]}catch(g){v=g}else try{v=c[h++]}catch(g){v=g}u.push(v),l.push(p.name||null)}),Er.fromItems(u,l)}parseTransaction(e){const t=Ue(e.data,"tx.data"),r=mt(e.value!=null?e.value:0,"tx.value"),s=this.getFunction(H(t.slice(0,4)));if(!s)return null;const i=m(this,W).decode(s.inputs,t.slice(4));return new jl(s,s.selector,i,r)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){const t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new Ul(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){const t=H(e),r=this.getError(_t(t,0,4));if(!r)return null;const s=m(this,W).decode(r.inputs,_t(t,4));return new Ll(r,r.selector,s)}static from(e){return e instanceof St?e:typeof e=="string"?new St(JSON.parse(e)):typeof e.format=="function"?new St(e.format("json")):new St(e)}};let vn=St;Ee=new WeakMap,xe=new WeakMap,Te=new WeakMap,W=new WeakMap,Xt=new WeakSet,_n=function(e,t,r){if(Ge(e)){const i=e.toLowerCase();for(const o of m(this,Te).values())if(i===o.selector)return o;return null}if(e.indexOf("(")===-1){const i=[];for(const[o,a]of m(this,Te))o.split("(")[0]===e&&i.push(a);if(t){const o=t.length>0?t[t.length-1]:null;let a=t.length,c=!0;K.isTyped(o)&&o.type==="overrides"&&(c=!1,a--);for(let u=i.length-1;u>=0;u--){const l=i[u].inputs.length;l!==a&&(!c||l!==a-1)&&i.splice(u,1)}for(let u=i.length-1;u>=0;u--){const l=i[u].inputs;for(let h=0;h<t.length;h++)if(K.isTyped(t[h])){if(h>=l.length){if(t[h].type==="overrides")continue;i.splice(u,1);break}if(t[h].type!==l[h].baseType){i.splice(u,1);break}}}}if(i.length===1&&t&&t.length!==i[0].inputs.length){const o=t[t.length-1];(o==null||Array.isArray(o)||typeof o!="object")&&i.splice(0,1)}if(i.length===0)return null;if(i.length>1&&r){const o=i.map(a=>JSON.stringify(a.format())).join(", ");_(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return i[0]}const s=m(this,Te).get(ke.from(e).format());return s||null},Zt=new WeakSet,En=function(e,t,r){if(Ge(e)){const i=e.toLowerCase();for(const o of m(this,xe).values())if(i===o.topicHash)return o;return null}if(e.indexOf("(")===-1){const i=[];for(const[o,a]of m(this,xe))o.split("(")[0]===e&&i.push(a);if(t){for(let o=i.length-1;o>=0;o--)i[o].inputs.length<t.length&&i.splice(o,1);for(let o=i.length-1;o>=0;o--){const a=i[o].inputs;for(let c=0;c<t.length;c++)if(K.isTyped(t[c])&&t[c].type!==a[c].baseType){i.splice(o,1);break}}}if(i.length===0)return null;if(i.length>1&&r){const o=i.map(a=>JSON.stringify(a.format())).join(", ");_(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return i[0]}const s=m(this,xe).get(Oe.from(e).format());return s||null};const Bl=BigInt(0);function Ne(n){return n==null?null:n.toString()}function Hl(n){const e={};n.to&&(e.to=n.to),n.from&&(e.from=n.from),n.data&&(e.data=H(n.data));const t="chainId,gasLimit,gasPrice,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const s of t)!(s in n)||n[s]==null||(e[s]=mt(n[s],`request.${s}`));const r="type,nonce".split(/,/);for(const s of r)!(s in n)||n[s]==null||(e[s]=Le(n[s],`request.${s}`));return n.accessList&&(e.accessList=xl(n.accessList)),"blockTag"in n&&(e.blockTag=n.blockTag),"enableCcipRead"in n&&(e.enableCcipReadEnabled=!!n.enableCcipRead),"customData"in n&&(e.customData=n.customData),e}class Vn{constructor(e,t){d(this,"provider");d(this,"transactionHash");d(this,"blockHash");d(this,"blockNumber");d(this,"removed");d(this,"address");d(this,"data");d(this,"topics");d(this,"index");d(this,"transactionIndex");this.provider=t;const r=Object.freeze(e.topics.slice());S(this,{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,removed:e.removed,address:e.address,data:e.data,topics:r,index:e.index,transactionIndex:e.transactionIndex})}toJSON(){const{address:e,blockHash:t,blockNumber:r,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:u}=this;return{_type:"log",address:e,blockHash:t,blockNumber:r,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:u}}async getBlock(){const e=await this.provider.getBlock(this.blockHash);return x(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){const e=await this.provider.getTransaction(this.transactionHash);return x(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){const e=await this.provider.getTransactionReceipt(this.transactionHash);return x(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return Vl(this)}}var Yt;class Ml{constructor(e,t){d(this,"provider");d(this,"to");d(this,"from");d(this,"contractAddress");d(this,"hash");d(this,"index");d(this,"blockHash");d(this,"blockNumber");d(this,"logsBloom");d(this,"gasUsed");d(this,"cumulativeGasUsed");d(this,"gasPrice");d(this,"type");d(this,"status");d(this,"root");F(this,Yt,void 0);P(this,Yt,Object.freeze(e.logs.map(r=>new Vn(r,t)))),S(this,{provider:t,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,gasPrice:e.effectiveGasPrice||e.gasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return m(this,Yt)}toJSON(){const{to:e,from:t,contractAddress:r,hash:s,index:i,blockHash:o,blockNumber:a,logsBloom:c,logs:u,status:l,root:h}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:a,contractAddress:r,cumulativeGasUsed:Ne(this.cumulativeGasUsed),from:t,gasPrice:Ne(this.gasPrice),gasUsed:Ne(this.gasUsed),hash:s,index:i,logs:u,logsBloom:c,root:h,status:l,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e<this.length?{value:this.logs[e++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){const e=await this.provider.getBlock(this.blockHash);if(e==null)throw new Error("TODO");return e}async getTransaction(){const e=await this.provider.getTransaction(this.hash);if(e==null)throw new Error("TODO");return e}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return zi(this)}reorderedEvent(e){return x(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),Vi(this,e)}}Yt=new WeakMap;var qe;const Zn=class{constructor(e,t){d(this,"provider");d(this,"blockNumber");d(this,"blockHash");d(this,"index");d(this,"hash");d(this,"type");d(this,"to");d(this,"from");d(this,"nonce");d(this,"gasLimit");d(this,"gasPrice");d(this,"maxPriorityFeePerGas");d(this,"maxFeePerGas");d(this,"data");d(this,"value");d(this,"chainId");d(this,"signature");d(this,"accessList");F(this,qe,void 0);this.provider=t,this.blockNumber=e.blockNumber!=null?e.blockNumber:null,this.blockHash=e.blockHash!=null?e.blockHash:null,this.hash=e.hash,this.index=e.index,this.type=e.type,this.from=e.from,this.to=e.to||null,this.gasLimit=e.gasLimit,this.nonce=e.nonce,this.data=e.data,this.value=e.value,this.gasPrice=e.gasPrice,this.maxPriorityFeePerGas=e.maxPriorityFeePerGas!=null?e.maxPriorityFeePerGas:null,this.maxFeePerGas=e.maxFeePerGas!=null?e.maxFeePerGas:null,this.chainId=e.chainId,this.signature=e.signature,this.accessList=e.accessList!=null?e.accessList:null,P(this,qe,-1)}toJSON(){const{blockNumber:e,blockHash:t,index:r,hash:s,type:i,to:o,from:a,nonce:c,data:u,signature:l,accessList:h}=this;return{_type:"TransactionReceipt",accessList:h,blockNumber:e,blockHash:t,chainId:Ne(this.chainId),data:u,from:a,gasLimit:Ne(this.gasLimit),gasPrice:Ne(this.gasPrice),hash:s,maxFeePerGas:Ne(this.maxFeePerGas),maxPriorityFeePerGas:Ne(this.maxPriorityFeePerGas),nonce:c,signature:l,to:o,index:r,type:i,value:Ne(this.value)}}async getBlock(){let e=this.blockNumber;if(e==null){const r=await this.getTransaction();r&&(e=r.blockNumber)}if(e==null)return null;const t=this.provider.getBlock(e);if(t==null)throw new Error("TODO");return t}async getTransaction(){return this.provider.getTransaction(this.hash)}async wait(e,t){const r=e??1,s=t??0;let i=m(this,qe),o=-1,a=i===-1;const c=async()=>{if(a)return null;const{blockNumber:h,nonce:y}=await pi({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(y<this.nonce){i=h;return}if(a)return null;const p=await this.getTransaction();if(!(p&&p.blockNumber!=null))for(o===-1&&(o=i-3,o<m(this,qe)&&(o=m(this,qe)));o<=h;){if(a)return null;const w=await this.provider.getBlock(o,!0);if(w==null)return;for(const v of w)if(v===this.hash)return;for(let v=0;v<w.length;v++){const g=await w.getTransaction(v);if(g.from===this.from&&g.nonce===this.nonce){if(a)return null;const A=await this.provider.getTransactionReceipt(g.hash);if(A==null||h-A.blockNumber+1<r)return;let C="replaced";g.data===this.data&&g.to===this.to&&g.value===this.value?C="repriced":g.data==="0x"&&g.from===g.to&&g.value===Bl&&(C="cancelled"),x(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:C==="replaced"||C==="cancelled",reason:C,replacement:g.replaceableTransaction(i),hash:g.hash,receipt:A})}}o++}},u=await this.provider.getTransactionReceipt(this.hash);if(u){if(await u.confirmations()>=r)return u}else if(await c(),r===0)return null;return await new Promise((h,y)=>{const p=[],w=()=>{p.forEach(g=>g())};if(p.push(()=>{a=!0}),s>0){const g=setTimeout(()=>{w(),y(Ur("wait for transaction timeout","TIMEOUT"))},s);p.push(()=>{clearTimeout(g)})}const v=async g=>{await g.confirmations()>=r&&(w(),h(g))};if(p.push(()=>{this.provider.off(this.hash,v)}),this.provider.on(this.hash,v),i>=0){const g=async()=>{try{await c()}catch(A){if(_r(A,"TRANSACTION_REPLACED")){w(),y(A);return}}a||this.provider.once("block",g)};p.push(()=>{this.provider.off("block",g)}),this.provider.once("block",g)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}removedEvent(){return x(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),zi(this)}reorderedEvent(e){return x(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),x(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),Vi(this,e)}replaceableTransaction(e){_(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);const t=new Zn(this,this.provider);return P(t,qe,e),t}};let xn=Zn;qe=new WeakMap;function Vi(n,e){return{orphan:"reorder-transaction",tx:n,other:e}}function zi(n){return{orphan:"drop-transaction",tx:n}}function Vl(n){return{orphan:"drop-log",log:{transactionHash:n.transactionHash,blockHash:n.blockHash,blockNumber:n.blockNumber,address:n.address,data:n.data,topics:Object.freeze(n.topics.slice()),index:n.index}}}class zn extends Vn{constructor(t,r,s){super(t,t.provider);d(this,"interface");d(this,"fragment");d(this,"args");const i=r.decodeEventLog(s,t.data,t.topics);S(this,{args:i,fragment:s,interface:r})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}var It;class zl extends Ml{constructor(t,r,s){super(s,r);F(this,It,void 0);P(this,It,t)}get logs(){return super.logs.map(t=>{const r=t.topics.length?m(this,It).getEvent(t.topics[0]):null;return r?new zn(t,m(this,It),r):t})}}It=new WeakMap;var Qt;class qn extends xn{constructor(t,r,s){super(s,r);F(this,Qt,void 0);P(this,Qt,t)}async wait(t){const r=await super.wait();return r==null?null:new zl(m(this,Qt),this.provider,r)}}Qt=new WeakMap;class qi extends lu{constructor(t,r,s,i){super(t,r,s);d(this,"log");S(this,{log:i})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class ql extends qi{constructor(e,t,r,s,i){super(e,t,r,new zn(i,e.interface,s));const o=e.interface.decodeEventLog(s,this.log.data,this.log.topics);S(this,{args:o,fragment:s})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const js=BigInt(0);function Gi(n){return n&&typeof n.call=="function"}function Ji(n){return n&&typeof n.estimateGas=="function"}function Gn(n){return n&&typeof n.resolveName=="function"}function Wi(n){return n&&typeof n.sendTransaction=="function"}var er;class Gl{constructor(e,t,r){F(this,er,void 0);d(this,"fragment");if(S(this,{fragment:t}),t.inputs.length<r.length)throw new Error("too many arguments");const s=dt(e.runner,"resolveName"),i=Gn(s)?s:null;P(this,er,async function(){const o=await Promise.all(t.inputs.map((a,c)=>r[c]==null?null:a.walkAsync(r[c],(l,h)=>l==="address"?Mn(h,i):h)));return e.interface.encodeFilterTopics(t,o)}())}getTopicFilter(){return m(this,er)}}er=new WeakMap;function Jl(){return Function}function dt(n,e){return n==null?null:typeof n[e]=="function"?n:n.provider&&typeof n.provider[e]=="function"?n.provider:null}function nt(n){return n==null?null:n.provider||null}async function Ki(n,e){const t=Hl(K.dereference(n,"overrides"));return _(t.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",t.to),_(t.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",t.data),t.from&&(t.from=await Mn(t.from)),t}async function Wl(n,e,t){const r=dt(n,"resolveName"),s=Gn(r)?r:null;return await Promise.all(e.map((i,o)=>i.walkAsync(t[o],(a,c)=>(c=K.dereference(c,a),a==="address"?Mn(c,s):c))))}class Kl{constructor(e){d(this,"_contract");return S(this,{_contract:e}),new Proxy(this,{apply:async(r,s,i)=>await r.send(...i)})}async populateTransaction(e){const t=await Ki(e,["data"]);t.to=await this._contract.getAddress();const r=this._contract.interface,s=r.receive||r.fallback&&r.fallback.payable;return _(s||(t.value||js)===js,"cannot send value to non-payable contract","overrides.value",t.value),_(r.fallback||(t.data||"0x")==="0x","cannot send data to receive-only contract","overrides.data",t.data),t}async staticCall(e){const t=dt(this._contract.runner,"call");x(Gi(t),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const r=await this.populateTransaction(e);try{return await t.call(r)}catch(s){throw yi(s)&&s.data?this._contract.interface.makeError(s.data,r):s}}async send(e){const t=this._contract.runner;x(Wi(t),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const r=await t.sendTransaction(await this.populateTransaction(e)),s=nt(this._contract.runner);return new qn(this._contract.interface,s,r)}async estimateGas(e){const t=dt(this._contract.runner,"estimateGas");return x(Ji(t),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await t.estimateGas(await this.populateTransaction(e))}}class Xl extends Jl(){constructor(t,r){super();d(this,"name","");d(this,"_contract");d(this,"_key");return S(this,{name:t.interface.getFunctionName(r),_contract:t,_key:r}),new Proxy(this,{apply:async(i,o,a)=>i.getFragment(...a).constant?await i.staticCall(...a):await i.send(...a)})}get fragment(){const t=this._contract.interface.getFunction(this._key);return x(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),t}getFragment(...t){const r=this._contract.interface.getFunction(this._key,t);return x(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),r}async populateTransaction(...t){const r=this.getFragment(...t);let s={};if(r.inputs.length+1===t.length&&(s=await Ki(t.pop())),r.inputs.length!==t.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const i=await Wl(this._contract.runner,r.inputs,t);return Object.assign({},s,await pi({to:this._contract.getAddress(),data:this._contract.interface.encodeFunctionData(r,i)}))}async staticCall(...t){const r=await this.staticCallResult(...t);return r.length===1?r[0]:r}async send(...t){const r=this._contract.runner;x(Wi(r),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const s=await r.sendTransaction(await this.populateTransaction(...t)),i=nt(this._contract.runner);return new qn(this._contract.interface,i,s)}async estimateGas(...t){const r=dt(this._contract.runner,"estimateGas");return x(Ji(r),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await r.estimateGas(await this.populateTransaction(...t))}async staticCallResult(...t){const r=dt(this._contract.runner,"call");x(Gi(r),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const s=await this.populateTransaction(...t);let i="0x";try{i=await r.call(s)}catch(a){throw yi(a)&&a.data?this._contract.interface.makeError(a.data,s):a}const o=this.getFragment(...t);return this._contract.interface.decodeFunctionResult(o,i)}}function Zl(){return Function}class Yl extends Zl(){constructor(t,r){super();d(this,"name","");d(this,"_contract");d(this,"_key");return S(this,{name:t.interface.getEventName(r),_contract:t,_key:r}),new Proxy(this,{apply:(s,i,o)=>new Gl(t,s.getFragment(...o),o)})}get fragment(){const t=this._contract.interface.getEvent(this._key);return x(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),t}getFragment(...t){const r=this._contract.interface.getEvent(this._key,t);return x(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),r}}const Tr=Symbol.for("_ethersInternal_contract"),Xi=new WeakMap;function Ql(n,e){Xi.set(n[Tr],e)}function ce(n){return Xi.get(n[Tr])}function eh(n){return n&&typeof n=="object"&&"getTopicFilter"in n&&typeof n.getTopicFilter=="function"&&n.fragment}async function Jn(n,e){let t,r=null;if(Array.isArray(e)){const i=function(o){if(Ge(o,32))return o;const a=n.interface.getEvent(o);return _(a,"unknown fragment","name",o),a.topicHash};t=e.map(o=>o==null?null:Array.isArray(o)?o.map(i):i(o))}else e==="*"?t=[null]:typeof e=="string"?Ge(e,32)?t=[e]:(r=n.interface.getEvent(e),_(r,"unknown fragment","event",e),t=[r.topicHash]):eh(e)?t=await e.getTopicFilter():"fragment"in e?(r=e.fragment,t=[r.topicHash]):_(!1,"unknown event name","event",e);t=t.map(i=>{if(i==null)return null;if(Array.isArray(i)){const o=Array.from(new Set(i.map(a=>a.toLowerCase())).values());return o.length===1?o[0]:(o.sort(),o)}return i.toLowerCase()});const s=t.map(i=>i==null?"null":Array.isArray(i)?i.join("|"):i).join("&");return{fragment:r,tag:s,topics:t}}async function Bt(n,e){const{subs:t}=ce(n);return t.get((await Jn(n,e)).tag)||null}async function Ls(n,e,t){const r=nt(n.runner);x(r,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});const{fragment:s,tag:i,topics:o}=await Jn(n,t),{addr:a,subs:c}=ce(n);let u=c.get(i);if(!u){const h={address:a||n,topics:o},y=g=>{let A=s;if(A==null)try{A=n.interface.getEvent(g.topics[0])}catch{}if(A){const C=A,X=s?n.interface.decodeEventLog(s,g.data,g.topics):[];On(n,t,X,U=>new ql(n,U,t,C,g))}else On(n,t,[],C=>new qi(n,C,t,g))};let p=[];u={tag:i,listeners:[],start:()=>{p.length||p.push(r.on(h,y))},stop:async()=>{if(p.length==0)return;let g=p;p=[],await Promise.all(g),r.off(h,y)}},c.set(i,u)}return u}let Tn=Promise.resolve();async function th(n,e,t,r){await Tn;const s=await Bt(n,e);if(!s)return!1;const i=s.listeners.length;return s.listeners=s.listeners.filter(({listener:o,once:a})=>{const c=Array.from(t);r&&c.push(r(a?null:o));try{o.call(n,...c)}catch{}return!a}),i>0}async function On(n,e,t,r){try{await Tn}catch{}const s=th(n,e,t,r);return Tn=s,await s}const Bs=["then"];var fh;const Sr=class{constructor(e,t,r,s){d(this,"target");d(this,"interface");d(this,"runner");d(this,"filters");d(this,fh);d(this,"fallback");r==null&&(r=null);const i=vn.from(t);S(this,{target:e,runner:r,interface:i}),Object.defineProperty(this,Tr,{value:{}});let o,a=null,c=null;if(s){const h=nt(r);c=new qn(this.interface,h,s)}let u=new Map;if(typeof e=="string")if(Ge(e))a=e,o=Promise.resolve(e);else{const h=dt(r,"resolveName");if(!Gn(h))throw Ur("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=h.resolveName(e).then(y=>{if(y==null)throw new Error("TODO");return ce(this).addr=y,y})}else o=e.getAddress().then(h=>{if(h==null)throw new Error("TODO");return ce(this).addr=h,h});Ql(this,{addrPromise:o,addr:a,deployTx:c,subs:u});const l=new Proxy({},{get:(h,y,p)=>{if(Bs.indexOf(y)>=0)return Reflect.get(h,y,p);const w=String(y),v=this.getEvent(w);if(v)return v;throw new Error(`unknown contract event: ${w}`)}});return S(this,{filters:l}),S(this,{fallback:i.receive||i.fallback?new Kl(this):null}),new Proxy(this,{get:(h,y,p)=>{if(y in h||Bs.indexOf(y)>=0)return Reflect.get(h,y,p);const w=String(y),v=h.getFunction(w);if(v)return v;throw new Error(`unknown contract method: ${w}`)}})}connect(e){return new Sr(this.target,this.interface,e)}async getAddress(){return await ce(this).addrPromise}async getDeployedCode(){const e=nt(this.runner);x(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});const t=await e.getCode(await this.getAddress());return t==="0x"?null:t}async waitForDeployment(){const e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;const r=nt(this.runner);return x(r!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((s,i)=>{const o=async()=>{try{if(await this.getDeployedCode()!=null)return s(this);r.once("block",o)}catch(a){i(a)}};o()})}deploymentTransaction(){return ce(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),new Xl(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),new Yl(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,t,r){t==null&&(t=0),r==null&&(r="latest");const{addr:s,addrPromise:i}=ce(this),o=s||await i,{fragment:a,topics:c}=await Jn(this,e),u={address:o,topics:c,fromBlock:t,toBlock:r},l=nt(this.runner);return x(l,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await l.getLogs(u)).map(h=>{let y=a;if(y==null)try{y=this.interface.getEvent(h.topics[0])}catch{}return y?new zn(h,this.interface,y):new Vn(h,l)})}async on(e,t){const r=await Ls(this,"on",e);return r.listeners.push({listener:t,once:!1}),r.start(),this}async once(e,t){const r=await Ls(this,"once",e);return r.listeners.push({listener:t,once:!0}),r.start(),this}async emit(e,...t){return await On(this,e,t,null)}async listenerCount(e){if(e){const s=await Bt(this,e);return s?s.listeners.length:0}const{subs:t}=ce(this);let r=0;for(const{listeners:s}of t.values())r+=s.length;return r}async listeners(e){if(e){const s=await Bt(this,e);return s?s.listeners.map(({listener:i})=>i):[]}const{subs:t}=ce(this);let r=[];for(const{listeners:s}of t.values())r=r.concat(s.map(({listener:i})=>i));return r}async off(e,t){const r=await Bt(this,e);if(!r)return this;if(t){const s=r.listeners.map(({listener:i})=>i).indexOf(t);s>=0&&r.listeners.splice(s,1)}return(t==null||r.listeners.length===0)&&(r.stop(),ce(this).subs.delete(r.tag)),this}async removeAllListeners(e){if(e){const t=await Bt(this,e);if(!t)return this;t.stop(),ce(this).subs.delete(t.tag)}else{const{subs:t}=ce(this);for(const{tag:r,stop:s}of t.values())s(),t.delete(r)}return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return await this.off(e,t)}static buildClass(e){class t extends Sr{constructor(s,i=null){super(s,e,i)}}return t}static from(e,t,r){return r==null&&(r=null),new this(e,t,r)}};let kn=Sr;fh=Tr;function rh(){return kn}class nh extends rh(){}class gt{constructor(e){d(this,"data",[]);this.api=e}static create(e){return new gt(e)}getAbiHash(e){if(this.api===void 0)throw new Error("FunctionBuilder must be initialised with api");return this.api.getAbiHash(e)}static readFields(e,t){if(e.length===0)return[];const r=(s,i)=>{console.log(t);const o=t[i].find(a=>a.name===s.function);if(!o)throw new Error("function not in ABI");return o.outputs.map((a,c)=>({source:`function:${s.function}:${c}`,name:a.name,type:a.type,key:`func_${i}_ret_${c}`,index:c}))};return e.map((s,i)=>r(s,i))}async addFunction(e,t,r,s,i){const o=s.find(c=>c.name===t);if(!o)throw new Error("function not in ABI");if(o.type!=="function")throw new Error(`${o.name} is not a function, it has type ${o.type}`);const a=new nh(e,s);return a.interface.encodeFunctionData(t,r),i=i||await this.getAbiHash(s),this.data.push({address:e,bytecode:a.interface.encodeFunctionData(t,r),abiHash:i,function:t}),this}get(){return this.data}static schema(){return ut().of(oe({address:O().required(),bytecode:O().matches(/^(0x)?([0-9a-fA-F]{2})*$/).required(),abiHash:O().matches(/^[A-Fa-f0-9]{64}/).required(),function:O().required()}))}}class Me{static version(){return"v1"}static execute(e,t,r="v1"){const s=JSON.parse(JSON.stringify(t));let i=!0;for(const o of s){const a=Me.process(e,o.conditions);i=Me.execLogic(i,o.logic,a)}return i}static process(e,t,r){const s=t.shift();if(!s)return r===void 0?!0:r;const i=Me.execCondition(e,s);if(r===void 0||s.logic==="WHERE")return Me.process(e,t,i);if(s.logic===void 0)throw new Error("Invalid filter. FilterCondition must have logic value");const o=Me.execLogic(r,s.logic,i);return Me.process(e,t,o)}static execLogic(e,t,r){switch(t){case"AND":return e&&r;case"OR":return e||r;case"XOR":return(e||r)&&!(e&&r);case"NAND":return!(e&&r);case"NOR":return!(e&&r);case"WHERE":return r;default:throw new Error(`Invalid Filter. Bad logic value: ${t}`)}}static execCondition(e,t){const r=e[t.key];if(t.type==="Number"){if(typeof t.constant!="number"||typeof r!="number")throw new Error(`Invalid filter. Type miss-match. Type: ${t.type}, Variable: ${t.constant}, Data: ${r}`);const s=r,i=t.constant;switch(t.operation){case"eq":return s===i;case"!eq":return s!==i;case"gt":return s>i;case"gte":return s>=i;case"lt":return s<i;case"lte":return s<=i;default:throw new Error("Invalid Filter. Operation does not match type")}}if(t.type==="String"){if(typeof t.constant!="string"||typeof r!="string")throw new Error(`Invalid filter. Type miss-match. Type: ${t.type}, Variable: ${t.constant}, Data: ${r}`);const s=r,i=t.constant;switch(t.operation){case"contains":return s.includes(i);case"!contains":return!s.includes(i);case"is":return s===i;case"!is":return s!==i;case"isEmpty":return s==="";case"!isEmpty":return s!=="";default:throw new Error("Invalid Filter. Operation does not match type")}}if(t.type==="Address"){if(typeof t.constant!="string"||typeof r!="string")throw new Error(`Invalid filter. Type miss-match. Type: ${t.type}, Variable: ${t.constant}, Data: ${r}`);const s=r,i=t.constant;switch(t.operation){case"contains":return s.toLowerCase().includes(i.toLowerCase());case"!contains":return!s.toLowerCase().includes(i.toLowerCase());case"is":return s.toLowerCase()===i.toLowerCase();case"!is":return s.toLowerCase()!==i.toLowerCase();case"isEmpty":return s==="";case"!isEmpty":return s!=="";default:throw new Error("Invalid Filter. Operation does not match type")}}throw new Error("Invalid Filter. Unknown Type")}}class rr{constructor(){d(this,"groups",[]);this.newGroup("WHERE")}static version(){return Me.version()}static new(){return new rr}newGroup(e){if(this.groups.length!==0&&e==="WHERE")throw new Error('Only the first groups can start with "WHERE"');return this.groups.push({logic:"WHERE",conditions:[]}),this}addCondition(e,t,r,s,i){const o=this.groups[this.groups.length-1];if(o.conditions.length===0&&e!=="WHERE")throw new Error('Logic for the first condition of a group must be "WHERE"');if(o.conditions.length>0&&e==="WHERE")throw new Error('Only the first condition of a group can be "WHERE"');return o.conditions.push({logic:e,key:t,type:r,operation:s,constant:i}),this}finalise(){for(const e of this.groups)if(e.conditions.length===0)throw new Error("Bad Filter. All Groups must have atleast one condition");return this.groups}static schema(){const e=O().oneOf(["AND","OR","XOR","NAND","NOR","WHERE"]).required(),t=oe({logic:e,key:O().required(),type:O().oneOf(["String","Address","Number"]).required(),operation:O().when("type",([r],s)=>{switch(r){case"String":return s.oneOf(["contains","!contains","is","!is","isEmpty","!isEmpty"]);case"Address":return s.oneOf(["is","!is","isEmpty","!isEmpty"]);case"Number":return s.oneOf(["eq","!eq","gt","gte","lt","lte"]);default:throw new Error("Invalid Filter Data Type")}}).required(),constant:ii().when("type",([r])=>{switch(r){case"String":return O();case"Address":return O();case"Number":return q();default:throw new Error("Invalid Filter Data Type")}}).required()});return ut().of(oe({logic:e,conditions:ut().of(t).required()}))}}const sh="handler_function_call_v2",ih=/^(\d+)([SMHD])$/i,Hs=oe({timeBase:O().oneOf(["blocks","time"]).required(),nBlocks:q().min(10).when("timeBase",([n],e)=>n==="blocks"?e.required():e),timePeriod:O().matches(ih,"timePeriod must be of the format n[s|m|h|d], eg 10s for 10 seconds").when("timeBase",([n],e)=>n==="time"?e.required():e),startTime:q().default(0),debounceCount:q().default(0),functions:gt.schema().required(),triggerOn:O().oneOf(["always","filter"]).default("always"),latch:Fn().default(!1),filterVersion:O().when("triggerOn",([n],e)=>n==="filter"?e.default("0"):e.nullable().default(null)).required(),filter:rr.schema().when("triggerOn",([n],e)=>n==="filter"?e.required():e.nullable().default(null)).required()});class nn{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:sh,handler:await this.validate(r)}}static validate(e){return Hs.validateSync(e)}static async convertFromPartial(e){return Hs.validate(e)}static readFields(e,t){const r=[{source:"defaults",label:"Network",type:"string",key:"network"},{source:"defaults",label:"Timestamp",type:"number",key:"timestamp"},{source:"defaults",label:"Time GMT",type:"number",key:"timeStringGMT"},{source:"defaults",label:"Block",type:"number",key:"block"},{source:"defaults",label:"Time Period",type:"number",key:"timePeriod"}];if(!e.functions)return r;console.log(e.functions);const s=e.functions.map(i=>t[i.abiHash]);return console.log(s),[...gt.readFields(e.functions,s),...r]}}const oh="handler_onchain_event_v2",ah=oe({addresses:ut().of(O().required()).required(),abiHash:O().required(),event:O().required(),debounceCount:q().default(0),functions:gt.schema().nullable().default(null),triggerOn:O().oneOf(["always","filter"]).default("always"),latch:Fn().default(!1),filterVersion:O().nullable().default(null),filter:rr.schema().when("triggerOn",([n],e)=>n==="filter"?e:e.nullable().default(null)).required()}),ch=n=>n,Zi=(n,e,t=[],r="",s="")=>(n.forEach((i,o)=>{const a=i.type.includes("["),c=a?"_[]":"";if(i.components){const u=i.name===""?`${o}`:i.name;Zi(i.components,e,t,`${r}${o}${c}_`,`${u}${a?"[]":""}.`)}else t.push({source:e,label:`${s}${i.name}`,type:ch(i.type),key:`${r}${o}${c}`,index:o})}),t);class sn{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:oh,handler:await this.validate(r)}}static validate(e){return ah.validateSync(e)}static readFields(e,t){let r=[{source:"defaults",label:"Network",type:"string",key:"network"},{source:"defaults",label:"Timestamp",type:"number",key:"timestamp"},{source:"defaults",label:"Time GMT",type:"string",key:"timeStringGMT"},{source:"defaults",label:"Block",type:"number",key:"block"},{source:"defaults",label:"Time Period",type:"string",key:"timePeriod"},{source:"defaults",label:"Block Hash",type:"string",key:"blockHash"},{source:"defaults",label:"Transaction Hash",type:"string",key:"txHash"},{source:"defaults",label:"Event",type:"string",key:"event"}];if(!e.abiHash)throw new Error("abiHash is required for onchain event v2");if(!t[e.abiHash])throw new Error("ABI for hash not found in abis");const s=t[e.abiHash].find(o=>o.name===e.event);if(r=Zi(s.inputs,`${e.event} Event`,r,"param_"),!e.functions)return r;const i=e.functions.map(o=>t[o.abiHash]);return[...gt.readFields(e.functions,i),...r]}}class Ht{static SimpleToRaw(e,t,r,s){switch(t){case"PollFunctionV2":return nn.SimpleToRaw(e,r,s);case"PollFunctionV1":return ms.SimpleToRaw(e,r,s);case"OnchainEventV1":return gs.SimpleToRaw(e,r,s);case"OnchainEventV2":return sn.SimpleToRaw(e,r,s);default:throw new Error("Invalid Trigger ID")}}static Validate(e,t){switch(e){case"PollFunctionV2":return nn.validate(t);case"PollFunctionV1":return ms.validate(t);case"OnchainEventV1":return gs.validate(t);case"OnchainEventV2":return sn.validate(t);default:throw new Error("Invalid Trigger ID")}}static RawToSimple(e){return{...{error:e.error,error_message:e.error_message,error_timestamp:e.error_timestamp},...e.handler}}static SimpleTypeToRawType(e){switch(e){case"PollFunctionV2":return"handler_function_call_v2";case"PollFunctionV1":return"handler_function_call";case"OnchainEventV1":return"handler_onchain_event";case"OnchainEventV2":return"handler_onchain_event_v2";default:throw new Error("Invalid Trigger ID")}}static RawTypeToSimpleType(e){switch(e){case"handler_function_call_v2":return"PollFunctionV2";case"handler_function_call":return"PollFunctionV1";case"handler_onchain_event":return"OnchainEventV1";case"handler_onchain_event_v2":return"OnchainEventV2";default:throw new Error("Invalid Trigger ID")}}static readFields(e,t,r){switch(e){case"PollFunctionV2":return nn.readFields(t,r);case"OnchainEventV2":return sn.readFields(t,r);default:throw new Error("Invalid Trigger ID")}}}const Ms=n=>`https://${n}.functions.supabase.co/`,Vs=n=>`https://${n}.supabase.co/`,zs="fdgtrxmmrtlokhgkvcjz",uh="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImZkZ3RyeG1tcnRsb2toZ2t2Y2p6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2NzMwODcwNzYsImV4cCI6MTk4ODY2MzA3Nn0.sAMxjlcJSSozBGr-LNcsudyxzUEM9e-UspMHHQLqLr4";class Wn{constructor(e,t){d(this,"headers",{});this.url=e,this.headers={Authorization:`Bearer ${t}`,"Content-Type":"application/json"}}static async create(e){var t,r;if(e.key)throw new Error("Auth by key not yet supported");if(e.email&&e.password){const s=e.projectId?Vs(e.projectId):Vs(zs),i=e.projectId?Ms(e.projectId):Ms(zs),o=e.anonKey?e.anonKey:uh,a=nc(s,o),{data:c,error:u}=await a.auth.signInWithPassword({email:e.email,password:e.password});if(u)throw u;if(((t=c.session)==null?void 0:t.access_token)===void 0)throw new Error("Access token not found");return new Wn(i,(r=c.session)==null?void 0:r.access_token)}else throw new Error("Authentication Required. DeNotify supports either username/password or API key authentication")}async alertHistory(e,t){const r="alert-history",s=t||{};return e&&(s.id=e),Object.keys(s).length>0?await this.request("get",r,{params:t}):await this.request("get",r)}async getAlert(e){const t=(await this.request("get",`alerts/${e}`))[0];return await this.decode(t)}async getAlerts(){const e=await this.request("get","alerts");return Promise.all(e.map(t=>this.decode(t)))}async createAlert(e){const t=await this.encode(e);return await this.request("post","alerts",{body:t})}async updateRawTrigger(e,t){const r={};if(t.name!==void 0&&(r.nickname=t.name),t.enabled!==void 0&&(r.enabled=t.enabled),Object.keys(r).length===0)throw new Error("No suitable fields");await this.request("patch",`alerts/trigger/${e}`,{body:r})}async updateAlert(e,t){const r=[],{trigger:s,notification:i,...o}=t;return(o.name!=null||o.enabled!=null)&&r.push(this.updateRawTrigger(e,o)),s&&r.push(this.updateRawHandler(e,s)),i&&r.push(this.updateRawNotify(e,i)),await Promise.all(r),await this.getAlert(e)}async deleteAlert(e){return await this.request("delete",`alerts/${e}`)}async decode(e){return{id:e.alertId,enabled:e.trigger.enabled,name:e.trigger.nickname,network:e.trigger.network,triggered:e.trigger.triggered,triggerId:Ht.RawTypeToSimpleType(e.trigger.type),trigger:await Ht.RawToSimple(e.trigger),notificationId:Qr.RawTypeToSimpleType(e.notification.notify_type),notification:await Qr.RawToSimple(e.notification)}}async encode(e){return{trigger:await Ht.SimpleToRaw(e.name,e.triggerId,e.network,e.trigger),notification:await Qr.SimpleToRaw(e.notificationId,e.notification)}}async request(e,t,r={}){const s=new URL(t,this.url);if(r.params)for(const a of Object.keys(r.params))s.searchParams.append(a,r.params[a]);const i={method:e.toUpperCase(),headers:this.headers};r.body&&(i.body=JSON.stringify(r.body));const o=await fetch(s.toString(),i);if(o.status!==200)throw new Error(o.statusText);return o.json()}readFields(e,t,r){return Ht.readFields(e,t,r)}async getAbi(e,t){return await this.request("get",`abi/${e}/${t}`)}async getAbiHash(e){return(await this.request("post","abi",{body:e})).hash}async updateRawNotify(e,t){return await this.request("patch",`alerts/notify/${e}`,{body:t})}async updateRawHandler(e,t){return await this.request("patch",`alerts/trigger-handler/${e}`,{body:t})}}class Kn{constructor(e){d(this,"network");d(this,"triggerId");d(this,"trigger");d(this,"notificationId");d(this,"notification");this.name=e}static create(e){return new Kn(e)}onNetwork(e){return this.network=e,this}withTrigger(e,t){return this.triggerId=e,this.trigger=Ht.Validate(e,t),this}withNotification(e,t){return this.notificationId=e,this.notification=t,this}async config(){if(this.trigger===void 0||this.triggerId===void 0)throw new Error("Trigger not configured");if(this.notification===void 0||this.notificationId===void 0)throw new Error("Notification not configured");if(this.network===void 0)throw new Error("Network not configured");return{name:this.name,network:this.network,triggerId:this.triggerId,trigger:this.trigger,notificationId:this.notificationId,notification:this.notification}}}const lh=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),hh=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));exports.AlertBuilder=Kn;exports.DeNotifyClient=Wn;exports.FilterBuilder=rr;exports.FunctionBuilder=gt;exports.Notification=hh;exports.Trigger=lh;
4
+ `+(a!==o?`result of cast: ${a}`:""))}return i}_cast(e,t){let r=e===void 0?e:this.transforms.reduce((s,i)=>i.call(this,s,e,this),e);return r===void 0&&(r=this.getDefault()),r}_validate(e,t={},r,s){let{path:i,originalValue:o=e,strict:a=this.spec.strict}=t,c=e;a||(c=this._cast(c,Object.assign({assert:!1},t)));let u=[];for(let l of Object.values(this.internalTests))l&&u.push(l);this.runTests({path:i,value:c,originalValue:o,options:t,tests:u},r,l=>{if(l.length)return s(l,c);this.runTests({path:i,value:c,originalValue:o,options:t,tests:this.tests},r,s)})}runTests(e,t,r){let s=!1,{tests:i,value:o,originalValue:a,path:c,options:u}=e,l=v=>{s||(s=!0,t(v,o))},h=v=>{s||(s=!0,r(v,o))},y=i.length,p=[];if(!y)return h([]);let w={value:o,originalValue:a,path:c,options:u,schema:this};for(let v=0;v<i.length;v++){const g=i[v];g(w,l,function(C){C&&(p=p.concat(C)),--y<=0&&h(p)})}}asNestedTest({key:e,index:t,parent:r,parentPath:s,originalParent:i,options:o}){const a=e??t;if(a==null)throw TypeError("Must include `key` or `index` for nested validations");const c=typeof a=="number";let u=r[a];const l=Object.assign({},o,{strict:!0,parent:r,value:u,originalValue:i[a],key:void 0,[c?"index":"key"]:a,path:c||a.includes(".")?`${s||""}[${u?a:`"${a}"`}]`:(s?`${s}.`:"")+e});return(h,y,p)=>this.resolve(l)._validate(u,l,y,p)}validate(e,t){let r=this.resolve(Object.assign({},t,{value:e}));return new Promise((s,i)=>r._validate(e,t,(o,a)=>{oe.isError(o)&&(o.value=a),i(o)},(o,a)=>{o.length?i(new oe(o,a)):s(a)}))}validateSync(e,t){let r=this.resolve(Object.assign({},t,{value:e})),s;return r._validate(e,Object.assign({},t,{sync:!0}),(i,o)=>{throw oe.isError(i)&&(i.value=o),i},(i,o)=>{if(i.length)throw new oe(i,e);s=o}),s}isValid(e,t){return this.validate(e,t).then(()=>!0,r=>{if(oe.isError(r))return!1;throw r})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(r){if(oe.isError(r))return!1;throw r}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):Ot(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,t){const r=this.clone({nullable:e});return r.internalTests.nullable=vt({message:t,name:"nullable",test(s){return s===null?this.schema.spec.nullable:!0}}),r}optionality(e,t){const r=this.clone({optional:e});return r.internalTests.optionality=vt({message:t,name:"optionality",test(s){return s===void 0?this.schema.spec.optional:!0}}),r}optional(){return this.optionality(!0)}defined(e=Se.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=Se.notNull){return this.nullability(!1,e)}required(e=Se.required){return this.clone().withMutation(t=>t.nonNullable(e).defined(e))}notRequired(){return this.clone().withMutation(e=>e.nullable().optional())}transform(e){let t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Se.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let r=this.clone(),s=vt(t),i=t.exclusive||t.name&&r.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(r.exclusiveTests[t.name]=!!t.exclusive),r.tests=r.tests.filter(o=>!(o.OPTIONS.name===t.name&&(i||o.OPTIONS.test===s.OPTIONS.test))),r.tests.push(s),r}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let r=this.clone(),s=ii(e).map(i=>new yt(i));return s.forEach(i=>{i.isSibling&&r.deps.push(i.key)}),r.conditions.push(typeof t=="function"?new br(s,t):br.fromOptions(s,t)),r}typeError(e){let t=this.clone();return t.internalTests.typeError=vt({message:e,name:"typeError",test(r){return!he(r)&&!this.schema._typeCheck(r)?this.createError({params:{type:this.schema.type}}):!0}}),t}oneOf(e,t=Se.oneOf){let r=this.clone();return e.forEach(s=>{r._whitelist.add(s),r._blacklist.delete(s)}),r.internalTests.whiteList=vt({message:t,name:"oneOf",skipAbsent:!0,test(s){let i=this.schema._whitelist,o=i.resolveAll(this.resolve);return o.includes(s)?!0:this.createError({params:{values:Array.from(i).join(", "),resolved:o}})}}),r}notOneOf(e,t=Se.notOneOf){let r=this.clone();return e.forEach(s=>{r._blacklist.add(s),r._whitelist.delete(s)}),r.internalTests.blacklist=vt({message:t,name:"notOneOf",test(s){let i=this.schema._blacklist,o=i.resolveAll(this.resolve);return o.includes(s)?this.createError({params:{values:Array.from(i).join(", "),resolved:o}}):!0}}),r}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(e){const t=(e?this.resolve(e):this).clone(),{label:r,meta:s,optional:i,nullable:o}=t.spec;return{meta:s,label:r,optional:i,nullable:o,default:t.getDefault(e),type:t.type,oneOf:t._whitelist.describe(),notOneOf:t._blacklist.describe(),tests:t.tests.map(c=>({name:c.OPTIONS.name,params:c.OPTIONS.params})).filter((c,u,l)=>l.findIndex(h=>h.name===c.name)===u)}}}re.prototype.__isYupSchema__=!0;for(const n of["validate","validateSync"])re.prototype[`${n}At`]=function(e,t,r={}){const{parent:s,parentPath:i,schema:o}=$c(this,e,t,r.context);return o[n](s&&s[i],Object.assign({},r,{parent:s,path:e}))};for(const n of["equals","is"])re.prototype[n]=re.prototype.oneOf;for(const n of["not","nope"])re.prototype[n]=re.prototype.notOneOf;const Pc=()=>!0;function oi(n){return new ai(n)}class ai extends re{constructor(e){super(typeof e=="function"?{type:"mixed",check:e}:Object.assign({type:"mixed",check:Pc},e))}}oi.prototype=ai.prototype;function Fn(){return new ci}class ci extends re{constructor(){super({type:"boolean",check(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}}),this.withMutation(()=>{this.transform((e,t,r)=>{if(r.spec.coerce&&!r.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}isTrue(e=fn.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return he(t)||t===!0}})}isFalse(e=fn.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return he(t)||t===!1}})}default(e){return super.default(e)}defined(e){return super.defined(e)}optional(){return super.optional()}required(e){return super.required(e)}notRequired(){return super.notRequired()}nullable(){return super.nullable()}nonNullable(e){return super.nonNullable(e)}strip(e){return super.strip(e)}}Fn.prototype=ci.prototype;let Nc=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Ic=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,Cc=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Fc=n=>he(n)||n===n.trim(),Dc={}.toString();function T(){return new ui}class ui extends re{constructor(){super({type:"string",check(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}}),this.withMutation(()=>{this.transform((e,t,r)=>{if(!r.spec.coerce||r.isType(e)||Array.isArray(e))return e;const s=e!=null&&e.toString?e.toString():e;return s===Dc?e:s})})}required(e){return super.required(e).withMutation(t=>t.test({message:e||Se.required,name:"required",skipAbsent:!0,test:r=>!!r.length}))}notRequired(){return super.notRequired().withMutation(e=>(e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e))}length(e,t=de.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(r){return r.length===this.resolve(e)}})}min(e,t=de.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(r){return r.length>=this.resolve(e)}})}max(e,t=de.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},skipAbsent:!0,test(r){return r.length<=this.resolve(e)}})}matches(e,t){let r=!1,s,i;return t&&(typeof t=="object"?{excludeEmptyString:r=!1,message:s,name:i}=t:s=t),this.test({name:i||"matches",message:s||de.matches,params:{regex:e},skipAbsent:!0,test:o=>o===""&&r||o.search(e)!==-1})}email(e=de.email){return this.matches(Nc,{name:"email",message:e,excludeEmptyString:!0})}url(e=de.url){return this.matches(Ic,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=de.uuid){return this.matches(Cc,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=de.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:Fc})}lowercase(e=de.lowercase){return this.transform(t=>he(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>he(t)||t===t.toLowerCase()})}uppercase(e=de.uppercase){return this.transform(t=>he(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>he(t)||t===t.toUpperCase()})}}T.prototype=ui.prototype;let Uc=n=>n!=+n;function q(){return new li}class li extends re{constructor(){super({type:"number",check(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!Uc(e)}}),this.withMutation(()=>{this.transform((e,t,r)=>{if(!r.spec.coerce)return e;let s=e;if(typeof s=="string"){if(s=s.replace(/\s/g,""),s==="")return NaN;s=+s}return r.isType(s)?s:parseFloat(s)})})}min(e,t=He.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(r){return r>=this.resolve(e)}})}max(e,t=He.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(r){return r<=this.resolve(e)}})}lessThan(e,t=He.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},skipAbsent:!0,test(r){return r<this.resolve(e)}})}moreThan(e,t=He.moreThan){return this.test({message:t,name:"min",exclusive:!0,params:{more:e},skipAbsent:!0,test(r){return r>this.resolve(e)}})}positive(e=He.positive){return this.moreThan(0,e)}negative(e=He.negative){return this.lessThan(0,e)}integer(e=He.integer){return this.test({name:"integer",message:e,skipAbsent:!0,test:t=>Number.isInteger(t)})}truncate(){return this.transform(e=>he(e)?e:e|0)}round(e){var t;let r=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(r.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+r.join(", "));return this.transform(s=>he(s)?s:Math[e](s))}}q.prototype=li.prototype;var jc=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function Lc(n){var e=[1,4,5,6,7,10,11],t=0,r,s;if(s=jc.exec(n)){for(var i=0,o;o=e[i];++i)s[o]=+s[o]||0;s[2]=(+s[2]||1)-1,s[3]=+s[3]||1,s[7]=s[7]?String(s[7]).substr(0,3):0,(s[8]===void 0||s[8]==="")&&(s[9]===void 0||s[9]==="")?r=+new Date(s[1],s[2],s[3],s[4],s[5],s[6],s[7]):(s[8]!=="Z"&&s[9]!==void 0&&(t=s[10]*60+s[11],s[9]==="+"&&(t=0-t)),r=Date.UTC(s[1],s[2],s[3],s[4],s[5]+t,s[6],s[7]))}else r=Date.parse?Date.parse(n):NaN;return r}let Bc=new Date(""),Hc=n=>Object.prototype.toString.call(n)==="[object Date]";class Dr extends re{constructor(){super({type:"date",check(e){return Hc(e)&&!isNaN(e.getTime())}}),this.withMutation(()=>{this.transform((e,t,r)=>!r.spec.coerce||r.isType(e)?e:(e=Lc(e),isNaN(e)?Dr.INVALID_DATE:new Date(e)))})}prepareParam(e,t){let r;if(yt.isRef(e))r=e;else{let s=this.cast(e);if(!this._typeCheck(s))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);r=s}return r}min(e,t=hn.min){let r=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(s){return s>=this.resolve(r)}})}max(e,t=hn.max){let r=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(s){return s<=this.resolve(r)}})}}Dr.INVALID_DATE=Bc;Dr.prototype;function Mc(n,e=[]){let t=[],r=new Set,s=new Set(e.map(([o,a])=>`${o}-${a}`));function i(o,a){let c=ot.split(o)[0];r.add(c),s.has(`${a}-${c}`)||t.push([a,c])}for(const o of Object.keys(n)){let a=n[o];r.add(o),yt.isRef(a)&&a.isSibling?i(a.path,o):Fr(a)&&"deps"in a&&a.deps.forEach(c=>i(c,o))}return wr.array(Array.from(r),t).reverse()}function ps(n,e){let t=1/0;return n.some((r,s)=>{var i;if((i=e.path)!=null&&i.includes(r))return t=s,!0}),t}function hi(n){return(e,t)=>ps(n,e)-ps(n,t)}const fi=(n,e,t)=>{if(typeof n!="string")return n;let r=n;try{r=JSON.parse(n)}catch{}return t.isType(r)?r:n};function yr(n){if("fields"in n){const e={};for(const[t,r]of Object.entries(n.fields))e[t]=yr(r);return n.setFields(e)}if(n.type==="array"){const e=n.optional();return e.innerType&&(e.innerType=yr(e.innerType)),e}return n.type==="tuple"?n.optional().clone({types:n.spec.types.map(yr)}):"optional"in n?n.optional():n}const Vc=(n,e)=>{const t=[...ot.normalizePath(e)];if(t.length===1)return t[0]in n;let r=t.pop(),s=ot.getter(ot.join(t),!0)(n);return!!(s&&r in s)};let ys=n=>Object.prototype.toString.call(n)==="[object Object]";function zc(n,e){let t=Object.keys(n.fields);return Object.keys(e).filter(r=>t.indexOf(r)===-1)}const qc=hi([]);function K(n){return new di(n)}class di extends re{constructor(e){super({type:"object",check(t){return ys(t)||typeof t=="function"}}),this.fields=Object.create(null),this._sortErrors=qc,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{e&&this.shape(e)})}_cast(e,t={}){var r;let s=super._cast(e,t);if(s===void 0)return this.getDefault();if(!this._typeCheck(s))return s;let i=this.fields,o=(r=t.stripUnknown)!=null?r:this.spec.noUnknown,a=[].concat(this._nodes,Object.keys(s).filter(h=>!this._nodes.includes(h))),c={},u=Object.assign({},t,{parent:c,__validating:t.__validating||!1}),l=!1;for(const h of a){let y=i[h],p=h in s;if(y){let w,v=s[h];u.path=(t.path?`${t.path}.`:"")+h,y=y.resolve({value:v,context:t.context,parent:c});let g=y instanceof re?y.spec:void 0,A=g==null?void 0:g.strict;if(g!=null&&g.strip){l=l||h in s;continue}w=!t.__validating||!A?y.cast(s[h],u):s[h],w!==void 0&&(c[h]=w)}else p&&!o&&(c[h]=s[h]);(p!==h in c||c[h]!==s[h])&&(l=!0)}return l?c:s}_validate(e,t={},r,s){let{from:i=[],originalValue:o=e,recursive:a=this.spec.recursive}=t;t.from=[{schema:this,value:o},...i],t.__validating=!0,t.originalValue=o,super._validate(e,t,r,(c,u)=>{if(!a||!ys(u)){s(c,u);return}o=o||u;let l=[];for(let h of this._nodes){let y=this.fields[h];!y||yt.isRef(y)||l.push(y.asNestedTest({options:t,key:h,parent:u,parentPath:t.path,originalParent:o}))}this.runTests({tests:l,value:u,originalValue:o,options:t},r,h=>{s(h.sort(this._sortErrors).concat(c),u)})})}clone(e){const t=super.clone(e);return t.fields=Object.assign({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),r=t.fields;for(let[s,i]of Object.entries(this.fields)){const o=r[s];r[s]=o===void 0?i:o}return t.withMutation(s=>s.setFields(r,this._excludedEdges))}_getDefault(){if("default"in this.spec)return super._getDefault();if(!this._nodes.length)return;let e={};return this._nodes.forEach(t=>{const r=this.fields[t];e[t]=r&&"getDefault"in r?r.getDefault():void 0}),e}setFields(e,t){let r=this.clone();return r.fields=e,r._nodes=Mc(e,t),r._sortErrors=hi(Object.keys(e)),t&&(r._excludedEdges=t),r}shape(e,t=[]){return this.clone().withMutation(r=>{let s=r._excludedEdges;return t.length&&(Array.isArray(t[0])||(t=[t]),s=[...r._excludedEdges,...t]),r.setFields(Object.assign(r.fields,e),s)})}partial(){const e={};for(const[t,r]of Object.entries(this.fields))e[t]="optional"in r&&r.optional instanceof Function?r.optional():r;return this.setFields(e)}deepPartial(){return yr(this)}pick(e){const t={};for(const r of e)this.fields[r]&&(t[r]=this.fields[r]);return this.setFields(t)}omit(e){const t=Object.assign({},this.fields);for(const r of e)delete t[r];return this.setFields(t)}from(e,t,r){let s=ot.getter(e,!0);return this.transform(i=>{if(!i)return i;let o=i;return Vc(i,e)&&(o=Object.assign({},i),r||delete o[e],o[t]=s(i)),o})}json(){return this.transform(fi)}noUnknown(e=!0,t=dn.noUnknown){typeof e!="boolean"&&(t=e,e=!0);let r=this.test({name:"noUnknown",exclusive:!0,message:t,test(s){if(s==null)return!0;const i=zc(this.schema,s);return!e||i.length===0||this.createError({params:{unknown:i.join(", ")}})}});return r.spec.noUnknown=e,r}unknown(e=!0,t=dn.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>{if(!t)return t;const r={};for(const s of Object.keys(t))r[e(s)]=t[s];return r})}camelCase(){return this.transformKeys(Yr.camelCase)}snakeCase(){return this.transformKeys(Yr.snakeCase)}constantCase(){return this.transformKeys(e=>Yr.snakeCase(e).toUpperCase())}describe(e){let t=super.describe(e);t.fields={};for(const[s,i]of Object.entries(this.fields)){var r;let o=e;(r=o)!=null&&r.value&&(o=Object.assign({},o,{parent:o.value,value:o.value[s]})),t.fields[s]=i.describe(o)}return t}}K.prototype=di.prototype;function ut(n){return new pi(n)}class pi extends re{constructor(e){super({type:"array",check(t){return Array.isArray(t)}}),this.innerType=void 0,this.innerType=e}_cast(e,t){const r=super._cast(e,t);if(!this._typeCheck(r)||!this.innerType)return r;let s=!1;const i=r.map((o,a)=>{const c=this.innerType.cast(o,Object.assign({},t,{path:`${t.path||""}[${a}]`}));return c!==o&&(s=!0),c});return s?i:r}_validate(e,t={},r,s){var i;let o=this.innerType,a=(i=t.recursive)!=null?i:this.spec.recursive;t.originalValue!=null&&t.originalValue,super._validate(e,t,r,(c,u)=>{var l;if(!a||!o||!this._typeCheck(u)){s(c,u);return}let h=new Array(u.length);for(let p=0;p<u.length;p++){var y;h[p]=o.asNestedTest({options:t,index:p,parent:u,parentPath:t.path,originalParent:(y=t.originalValue)!=null?y:e})}this.runTests({value:u,tests:h,originalValue:(l=t.originalValue)!=null?l:e,options:t},r,p=>s(p.concat(c),u))})}clone(e){const t=super.clone(e);return t.innerType=this.innerType,t}json(){return this.transform(fi)}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!Fr(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+at(e));return t.innerType=e,t}length(e,t=pr.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(r){return r.length===this.resolve(e)}})}min(e,t){return t=t||pr.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(r){return r.length>=this.resolve(e)}})}max(e,t){return t=t||pr.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(r){return r.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(r,s,i)=>!e(r,s,i):r=>!!r;return this.transform(r=>r!=null?r.filter(t):r)}describe(e){let t=super.describe(e);if(this.innerType){var r;let s=e;(r=s)!=null&&r.value&&(s=Object.assign({},s,{parent:s.value,value:s.value[0]})),t.innerType=this.innerType.describe(e)}return t}}ut.prototype=pi.prototype;const ms=K({url:T(),height:q(),width:q()}),Gc=K({type:T().default("rich"),title:T(),color:q(),thumbnail:ms,image:ms,url:T()}),Jc=K({url:T().url().required(),username:T(),avatar_url:T().url(),message:T().required(),embed:Gc}),Wc="notify_discord_webhook";class Dn{static async SimpleToRaw(e){return{name:"",notify_type:Wc,notify:await Dn.validateCreate(e)}}static validateCreate(e){return Jc.validate(e)}}const Kc=K({email:T().required(),subject:T(),html:T().required()}),Xc="notify_email";class Un{static async SimpleToRaw(e){return{name:"",notify_type:Xc,notify:await Un.validateCreate(e)}}static async validateCreate(e){return Kc.validate(e)}}const Zc=K({clientId:q().required(),content:T().required()}),Yc="notify_telegram";class jn{static async SimpleToRaw(e){return{name:"",notify_type:Yc,notify:await jn.validateCreate(e)}}static validateCreate(e){return Zc.validate(e)}}const Qc=K({url:T().required(),params:K().nullable().default(null),pathname:T().nullable().default(null),access_token:T().nullable().default(null),headers:K().nullable().default(null),method:T().oneOf(["get","post","put","delete","patch"]).default("post")}),eu="notify_webhook";class Ln{static async SimpleToRaw(e){return{name:"",notify_type:eu,notify:await Ln.validateCreate(e)}}static async validateCreate(e){return Qc.validate(e)}}class Qr{static async SimpleToRaw(e,t){switch(e){case"Discord":return Dn.SimpleToRaw(t);case"Telegram":return jn.SimpleToRaw(t);case"Email":return Un.SimpleToRaw(t);case"Webhook":return Ln.SimpleToRaw(t)}}static RawToSimple(e){return{...e.notify,error:e.error,error_message:e.error_message,error_timestamp:e.error_timestamp}}static RawTypeToSimpleType(e){switch(e){case"notify_discord_webhook":return"Discord";case"notify_telegram":return"Telegram";case"notify_email":return"Email";case"notify_webhook":return"Webhook"}}static SimpleTypeToRawType(e){switch(e){case"Discord":return"notify_discord_webhook";case"Telegram":return"notify_telegram";case"Email":return"notify_email";case"Webhook":return"notify_webhook"}}}const tu="handler_function_call";class gs{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:tu,handler:await this.validate(r)}}static validate(e){const t=([s],i)=>s==="true"?i.notRequired():i.required();return K({address:T().required(),abi:ut().required(),nBlocks:q().default(100).min(10).required(),function:T().required(),condition:T().default("true").oneOf([">",">=","<","<=","=","true"]).required(),constant:q().min(0).when("condition",t),responseArgIndex:q().min(0).when("condition",t),responseArgDecimals:q().min(0).when("condition",t)}).validateSync(e)}}const ru="handler_onchain_event";class ws{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:ru,handler:await this.validate(r)}}static validate(e){const t=([s],i)=>s==="true"?i.notRequired():i.required();return K({address:T().required(),event:T().required(),abi:ut().required(),condition:T().default("true").oneOf([">",">=","<","<=","=","true"]).required(),constant:q().min(0).when("condition",t),paramsIndex:q().min(0).when("condition",t),paramsDecimals:q().min(0).when("condition",t)}).validateSync(e)}}const nu="6.1.0";function su(n,e,t){const r=e.split("|").map(i=>i.trim());for(let i=0;i<r.length;i++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof n===e)return}const s=new Error(`invalid value for type ${e}`);throw s.code="INVALID_ARGUMENT",s.argument=`value.${t}`,s.value=n,s}async function yi(n){const e=Object.keys(n);return(await Promise.all(e.map(r=>Promise.resolve(n[r])))).reduce((r,s,i)=>(r[e[i]]=s,r),{})}function S(n,e,t){for(let r in e){let s=e[r];const i=t?t[r]:null;i&&su(s,i,r),Object.defineProperty(n,r,{enumerable:!0,value:s,writable:!1})}}function kt(n){if(n==null)return"null";if(Array.isArray(n))return"[ "+n.map(kt).join(", ")+" ]";if(n instanceof Uint8Array){const e="0123456789abcdef";let t="0x";for(let r=0;r<n.length;r++)t+=e[n[r]>>4],t+=e[n[r]&15];return t}if(typeof n=="object"&&typeof n.toJSON=="function")return kt(n.toJSON());switch(typeof n){case"boolean":case"symbol":return n.toString();case"bigint":return BigInt(n).toString();case"number":return n.toString();case"string":return JSON.stringify(n);case"object":{const e=Object.keys(n);return e.sort(),"{ "+e.map(t=>`${kt(t)}: ${kt(n[t])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function _r(n,e){return n&&n.code===e}function mi(n){return _r(n,"CALL_EXCEPTION")}function Ur(n,e,t){{const s=[];if(t){if("message"in t||"code"in t||"name"in t)throw new Error(`value will overwrite populated values: ${kt(t)}`);for(const i in t){const o=t[i];s.push(i+"="+kt(o))}}s.push(`code=${e}`),s.push(`version=${nu}`),s.length&&(n+=" ("+s.join(", ")+")")}let r;switch(e){case"INVALID_ARGUMENT":r=new TypeError(n);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":r=new RangeError(n);break;default:r=new Error(n)}return S(r,{code:e}),t&&Object.assign(r,t),r}function x(n,e,t,r){if(!n)throw Ur(e,t,r)}function _(n,e,t,r){x(n,e,"INVALID_ARGUMENT",{argument:t,value:r})}function gi(n,e,t){t==null&&(t=""),t&&(t=": "+t),x(n>=e,"missing arguemnt"+t,"MISSING_ARGUMENT",{count:n,expectedCount:e}),x(n<=e,"too many arguemnts"+t,"UNEXPECTED_ARGUMENT",{count:n,expectedCount:e})}const iu=["NFD","NFC","NFKD","NFKC"].reduce((n,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"){const t=String.fromCharCode(233).normalize("NFD"),r=String.fromCharCode(101,769);if(t!==r)throw new Error("broken")}n.push(e)}catch{}return n},[]);function ou(n){x(iu.indexOf(n)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:n}})}function Bn(n,e,t){if(t==null&&(t=""),n!==e){let r=t,s="new";t&&(r+=".",s+=" "+t),x(!1,`private constructor; use ${r}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function wi(n,e,t){if(n instanceof Uint8Array)return t?new Uint8Array(n):n;if(typeof n=="string"&&n.match(/^0x([0-9a-f][0-9a-f])*$/i)){const r=new Uint8Array((n.length-2)/2);let s=2;for(let i=0;i<r.length;i++)r[i]=parseInt(n.substring(s,s+2),16),s+=2;return r}_(!1,"invalid BytesLike value",e||"value",n)}function Ue(n,e){return wi(n,e,!1)}function Fe(n,e){return wi(n,e,!0)}function Ge(n,e){return!(typeof n!="string"||!n.match(/^0x[0-9A-Fa-f]*$/)||typeof e=="number"&&n.length!==2+2*e||e===!0&&n.length%2!==0)}const bs="0123456789abcdef";function H(n){const e=Ue(n);let t="0x";for(let r=0;r<e.length;r++){const s=e[r];t+=bs[(s&240)>>4]+bs[s&15]}return t}function Rt(n){return"0x"+n.map(e=>H(e).substring(2)).join("")}function _t(n,e,t){const r=Ue(n);return t!=null&&t>r.length&&x(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:t}),H(r.slice(e??0,t??r.length))}function au(n,e,t){const r=Ue(n);x(e>=r.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(r),length:e,offset:e+1});const s=new Uint8Array(e);return s.fill(0),t?s.set(r,e-r.length):s.set(r,0),H(s)}function cu(n,e){return au(n,e,!0)}const jr=BigInt(0),me=BigInt(1),At=9007199254740991;function uu(n,e){const t=Lr(n,"value"),r=BigInt(Le(e,"width"));if(x(t>>r===jr,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:n}),t>>r-me){const s=(me<<r)-me;return-((~t&s)+me)}return t}function lu(n,e){let t=mt(n,"value");const r=BigInt(Le(e,"width")),s=me<<r-me;if(t<jr){t=-t,x(t<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});const i=(me<<r)-me;return(~t&i)+me}else x(t<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});return t}function ur(n,e){const t=Lr(n,"value"),r=BigInt(Le(e,"bits"));return t&(me<<r)-me}function mt(n,e){switch(typeof n){case"bigint":return n;case"number":return _(Number.isInteger(n),"underflow",e||"value",n),_(n>=-At&&n<=At,"overflow",e||"value",n),BigInt(n);case"string":try{if(n==="")throw new Error("empty string");return n[0]==="-"&&n[1]!=="-"?-BigInt(n.substring(1)):BigInt(n)}catch(t){_(!1,`invalid BigNumberish string: ${t.message}`,e||"value",n)}}_(!1,"invalid BigNumberish value",e||"value",n)}function Lr(n,e){const t=mt(n,e);return x(t>=jr,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:n}),t}const vs="0123456789abcdef";function bi(n){if(n instanceof Uint8Array){let e="0x0";for(const t of n)e+=vs[t>>4],e+=vs[t&15];return BigInt(e)}return mt(n)}function Le(n,e){switch(typeof n){case"bigint":return _(n>=-At&&n<=At,"overflow",e||"value",n),Number(n);case"number":return _(Number.isInteger(n),"underflow",e||"value",n),_(n>=-At&&n<=At,"overflow",e||"value",n),n;case"string":try{if(n==="")throw new Error("empty string");return Le(BigInt(n),e)}catch(t){_(!1,`invalid numeric string: ${t.message}`,e||"value",n)}}_(!1,"invalid numeric value",e||"value",n)}function hu(n){return Le(bi(n))}function vi(n,e){let r=Lr(n,"value").toString(16);if(e==null)r.length%2&&(r="0"+r);else{const s=Le(e,"width");for(x(s*2>=r.length,`value exceeds width (${s} bits)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:n});r.length<s*2;)r="0"+r}return"0x"+r}function fu(n){const e=Lr(n,"value");if(e===jr)return new Uint8Array([]);let t=e.toString(16);t.length%2&&(t="0"+t);const r=new Uint8Array(t.length/2);for(let s=0;s<r.length;s++){const i=s*2;r[s]=parseInt(t.substring(i,i+2),16)}return r}var $t;class du{constructor(e,t,r){d(this,"filter");d(this,"emitter");F(this,$t,void 0);P(this,$t,t),S(this,{emitter:e,filter:r})}async removeListener(){m(this,$t)!=null&&await this.emitter.off(this.filter,m(this,$t))}}$t=new WeakMap;function pu(n,e,t,r,s){_(!1,`invalid codepoint at offset ${e}; ${n}`,"bytes",t)}function _i(n,e,t,r,s){if(n==="BAD_PREFIX"||n==="UNEXPECTED_CONTINUE"){let i=0;for(let o=e+1;o<t.length&&t[o]>>6===2;o++)i++;return i}return n==="OVERRUN"?t.length-e-1:0}function yu(n,e,t,r,s){return n==="OVERLONG"?(_(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),r.push(s),0):(r.push(65533),_i(n,e,t))}const mu=Object.freeze({error:pu,ignore:_i,replace:yu});function gu(n,e){e==null&&(e=mu.error);const t=Ue(n,"bytes"),r=[];let s=0;for(;s<t.length;){const i=t[s++];if(!(i>>7)){r.push(i);continue}let o=null,a=null;if((i&224)===192)o=1,a=127;else if((i&240)===224)o=2,a=2047;else if((i&248)===240)o=3,a=65535;else{(i&192)===128?s+=e("UNEXPECTED_CONTINUE",s-1,t,r):s+=e("BAD_PREFIX",s-1,t,r);continue}if(s-1+o>=t.length){s+=e("OVERRUN",s-1,t,r);continue}let c=i&(1<<8-o-1)-1;for(let u=0;u<o;u++){let l=t[s];if((l&192)!=128){s+=e("MISSING_CONTINUE",s,t,r),c=null;break}c=c<<6|l&63,s++}if(c!==null){if(c>1114111){s+=e("OUT_OF_RANGE",s-1-o,t,r,c);continue}if(c>=55296&&c<=57343){s+=e("UTF16_SURROGATE",s-1-o,t,r,c);continue}if(c<=a){s+=e("OVERLONG",s-1-o,t,r,c);continue}r.push(c)}}return r}function Ei(n,e){e!=null&&(ou(e),n=n.normalize(e));let t=[];for(let r=0;r<n.length;r++){const s=n.charCodeAt(r);if(s<128)t.push(s);else if(s<2048)t.push(s>>6|192),t.push(s&63|128);else if((s&64512)==55296){r++;const i=n.charCodeAt(r);_(r<n.length&&(i&64512)===56320,"invalid surrogate pair","str",n);const o=65536+((s&1023)<<10)+(i&1023);t.push(o>>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)}else t.push(s>>12|224),t.push(s>>6&63|128),t.push(s&63|128)}return new Uint8Array(t)}function wu(n){return n.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function bu(n,e){return wu(gu(n,e))}const Y=32,pn=new Uint8Array(Y),vu=["then"],lr={};function hr(n,e){const t=new Error(`deferred error during ABI decoding triggered accessing ${n}`);throw t.error=e,t}var Ve;const zt=class extends Array{constructor(...t){const r=t[0];let s=t[1],i=(t[2]||[]).slice(),o=!0;r!==lr&&(s=t,i=[],o=!1);super(s.length);F(this,Ve,void 0);s.forEach((c,u)=>{this[u]=c});const a=i.reduce((c,u)=>(typeof u=="string"&&c.set(u,(c.get(u)||0)+1),c),new Map);if(P(this,Ve,Object.freeze(s.map((c,u)=>{const l=i[u];return l!=null&&a.get(l)===1?l:null}))),!!o)return Object.freeze(this),new Proxy(this,{get:(c,u,l)=>{if(typeof u=="string"){if(u.match(/^[0-9]+$/)){const y=Le(u,"%index");if(y<0||y>=this.length)throw new RangeError("out of result range");const p=c[y];return p instanceof Error&&hr(`index ${y}`,p),p}if(vu.indexOf(u)>=0)return Reflect.get(c,u,l);const h=c[u];if(h instanceof Function)return function(...y){return h.apply(this===l?c:this,y)};if(!(u in c))return c.getValue.apply(this===l?c:this,[u])}return Reflect.get(c,u,l)}})}toArray(){const t=[];return this.forEach((r,s)=>{r instanceof Error&&hr(`index ${s}`,r),t.push(r)}),t}toObject(){return m(this,Ve).reduce((t,r,s)=>(x(r!=null,"value at index ${ index } unnamed","UNSUPPORTED_OPERATION",{operation:"toObject()"}),r in t||(t[r]=this.getValue(r)),t),{})}slice(t,r){t==null&&(t=0),t<0&&(t+=this.length,t<0&&(t=0)),r==null&&(r=this.length),r<0&&(r+=this.length,r<0&&(r=0)),r>this.length&&(r=this.length);const s=[],i=[];for(let o=t;o<r;o++)s.push(this[o]),i.push(m(this,Ve)[o]);return new zt(lr,s,i)}filter(t,r){const s=[],i=[];for(let o=0;o<this.length;o++){const a=this[o];a instanceof Error&&hr(`index ${o}`,a),t.call(r,a,o,this)&&(s.push(a),i.push(m(this,Ve)[o]))}return new zt(lr,s,i)}getValue(t){const r=m(this,Ve).indexOf(t);if(r===-1)return;const s=this[r];return s instanceof Error&&hr(`property ${JSON.stringify(t)}`,s.error),s}static fromItems(t,r){return new zt(lr,t,r)}};let Er=zt;Ve=new WeakMap;function _s(n){let e=fu(n);return x(e.length<=Y,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:Y,offset:e.length}),e.length!==Y&&(e=Fe(Rt([pn.slice(e.length%Y),e]))),e}class Be{constructor(e,t,r,s){d(this,"name");d(this,"type");d(this,"localName");d(this,"dynamic");S(this,{name:e,type:t,localName:r,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){_(!1,e,this.localName,t)}}var Ie,st,Pt,mr;class yn{constructor(){F(this,Pt);F(this,Ie,void 0);F(this,st,void 0);P(this,Ie,[]),P(this,st,0)}get data(){return Rt(m(this,Ie))}get length(){return m(this,st)}appendWriter(e){return B(this,Pt,mr).call(this,Fe(e.data))}writeBytes(e){let t=Fe(e);const r=t.length%Y;return r&&(t=Fe(Rt([t,pn.slice(r)]))),B(this,Pt,mr).call(this,t)}writeValue(e){return B(this,Pt,mr).call(this,_s(e))}writeUpdatableValue(){const e=m(this,Ie).length;return m(this,Ie).push(pn),P(this,st,m(this,st)+Y),t=>{m(this,Ie)[e]=_s(t)}}}Ie=new WeakMap,st=new WeakMap,Pt=new WeakSet,mr=function(e){return m(this,Ie).push(e),P(this,st,m(this,st)+e.length),e.length};var ie,le,Or,xi;const Zn=class{constructor(e,t){F(this,Or);d(this,"allowLoose");F(this,ie,void 0);F(this,le,void 0);S(this,{allowLoose:!!t}),P(this,ie,Fe(e)),P(this,le,0)}get data(){return H(m(this,ie))}get dataLength(){return m(this,ie).length}get consumed(){return m(this,le)}get bytes(){return new Uint8Array(m(this,ie))}subReader(e){return new Zn(m(this,ie).slice(m(this,le)+e),this.allowLoose)}readBytes(e,t){let r=B(this,Or,xi).call(this,0,e,!!t);return P(this,le,m(this,le)+r.length),r.slice(0,e)}readValue(){return bi(this.readBytes(Y))}readIndex(){return hu(this.readBytes(Y))}};let mn=Zn;ie=new WeakMap,le=new WeakMap,Or=new WeakSet,xi=function(e,t,r){let s=Math.ceil(t/Y)*Y;return m(this,le)+s>m(this,ie).length&&(this.allowLoose&&r&&m(this,le)+t<=m(this,ie).length?s=t:x(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:Fe(m(this,ie)),length:m(this,ie).length,offset:m(this,le)+s})),m(this,ie).slice(m(this,le),m(this,le)+s)};function gn(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}function _u(n){if(typeof n!="boolean")throw new Error(`Expected boolean, not ${n}`)}function Ti(n,...e){if(!(n instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(e.length>0&&!e.includes(n.length))throw new TypeError(`Expected Uint8Array of length ${e}, not of length=${n.length}`)}function Eu(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");gn(n.outputLen),gn(n.blockLen)}function xu(n,e=!0){if(n.destroyed)throw new Error("Hash instance has been destroyed");if(e&&n.finished)throw new Error("Hash#digest() has already been called")}function Tu(n,e){Ti(n);const t=e.outputLen;if(n.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}const Et={number:gn,bool:_u,bytes:Ti,hash:Eu,exists:xu,output:Tu};/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ou=n=>new Uint32Array(n.buffer,n.byteOffset,Math.floor(n.byteLength/4)),ku=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ku)throw new Error("Non little-endian hardware is not supported");Array.from({length:256},(n,e)=>e.toString(16).padStart(2,"0"));function Au(n){if(typeof n!="string")throw new TypeError(`utf8ToBytes expected string, got ${typeof n}`);return new TextEncoder().encode(n)}function Hn(n){if(typeof n=="string"&&(n=Au(n)),!(n instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof n})`);return n}class Su{clone(){return this._cloneInto()}}function Ru(n){const e=r=>n().update(Hn(r)).digest(),t=n();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>n(),e}function $u(n){const e=(r,s)=>n(s).update(Hn(r)).digest(),t=n({});return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=r=>n(r),e}const fr=BigInt(2**32-1),wn=BigInt(32);function Oi(n,e=!1){return e?{h:Number(n&fr),l:Number(n>>wn&fr)}:{h:Number(n>>wn&fr)|0,l:Number(n&fr)|0}}function Pu(n,e=!1){let t=new Uint32Array(n.length),r=new Uint32Array(n.length);for(let s=0;s<n.length;s++){const{h:i,l:o}=Oi(n[s],e);[t[s],r[s]]=[i,o]}return[t,r]}const Nu=(n,e)=>BigInt(n>>>0)<<wn|BigInt(e>>>0),Iu=(n,e,t)=>n>>>t,Cu=(n,e,t)=>n<<32-t|e>>>t,Fu=(n,e,t)=>n>>>t|e<<32-t,Du=(n,e,t)=>n<<32-t|e>>>t,Uu=(n,e,t)=>n<<64-t|e>>>t-32,ju=(n,e,t)=>n>>>t-32|e<<64-t,Lu=(n,e)=>e,Bu=(n,e)=>n,Hu=(n,e,t)=>n<<t|e>>>32-t,Mu=(n,e,t)=>e<<t|n>>>32-t,Vu=(n,e,t)=>e<<t-32|n>>>64-t,zu=(n,e,t)=>n<<t-32|e>>>64-t;function qu(n,e,t,r){const s=(e>>>0)+(r>>>0);return{h:n+t+(s/2**32|0)|0,l:s|0}}const Gu=(n,e,t)=>(n>>>0)+(e>>>0)+(t>>>0),Ju=(n,e,t,r)=>e+t+r+(n/2**32|0)|0,Wu=(n,e,t,r)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0),Ku=(n,e,t,r,s)=>e+t+r+s+(n/2**32|0)|0,Xu=(n,e,t,r,s)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(s>>>0),Zu=(n,e,t,r,s,i)=>e+t+r+s+i+(n/2**32|0)|0,Gt={fromBig:Oi,split:Pu,toBig:Nu,shrSH:Iu,shrSL:Cu,rotrSH:Fu,rotrSL:Du,rotrBH:Uu,rotrBL:ju,rotr32H:Lu,rotr32L:Bu,rotlSH:Hu,rotlSL:Mu,rotlBH:Vu,rotlBL:zu,add:qu,add3L:Gu,add3H:Ju,add4L:Wu,add4H:Ku,add5H:Zu,add5L:Xu},[ki,Ai,Si]=[[],[],[]],Yu=BigInt(0),Lt=BigInt(1),Qu=BigInt(2),el=BigInt(7),tl=BigInt(256),rl=BigInt(113);for(let n=0,e=Lt,t=1,r=0;n<24;n++){[t,r]=[r,(2*t+3*r)%5],ki.push(2*(5*r+t)),Ai.push((n+1)*(n+2)/2%64);let s=Yu;for(let i=0;i<7;i++)e=(e<<Lt^(e>>el)*rl)%tl,e&Qu&&(s^=Lt<<(Lt<<BigInt(i))-Lt);Si.push(s)}const[nl,sl]=Gt.split(Si,!0),Es=(n,e,t)=>t>32?Gt.rotlBH(n,e,t):Gt.rotlSH(n,e,t),xs=(n,e,t)=>t>32?Gt.rotlBL(n,e,t):Gt.rotlSL(n,e,t);function il(n,e=24){const t=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let o=0;o<10;o++)t[o]=n[o]^n[o+10]^n[o+20]^n[o+30]^n[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,u=t[c],l=t[c+1],h=Es(u,l,1)^t[a],y=xs(u,l,1)^t[a+1];for(let p=0;p<50;p+=10)n[o+p]^=h,n[o+p+1]^=y}let s=n[2],i=n[3];for(let o=0;o<24;o++){const a=Ai[o],c=Es(s,i,a),u=xs(s,i,a),l=ki[o];s=n[l],i=n[l+1],n[l]=c,n[l+1]=u}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=n[o+a];for(let a=0;a<10;a++)n[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}n[0]^=nl[r],n[1]^=sl[r]}t.fill(0)}class Br extends Su{constructor(e,t,r,s=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=s,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Et.number(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Ou(this.state)}keccak(){il(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){Et.exists(this);const{blockLen:t,state:r}=this;e=Hn(e);const s=e.length;for(let i=0;i<s;){const o=Math.min(t-this.pos,s-i);for(let a=0;a<o;a++)r[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:r,blockLen:s}=this;e[r]^=t,t&128&&r===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){Et.exists(this,!1),Et.bytes(e),this.finish();const t=this.state,{blockLen:r}=this;for(let s=0,i=e.length;s<i;){this.posOut>=r&&this.keccak();const o=Math.min(r-this.posOut,i-s);e.set(t.subarray(this.posOut,this.posOut+o),s),this.posOut+=o,s+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Et.number(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Et.output(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:s,rounds:i,enableXOF:o}=this;return e||(e=new Br(t,r,s,o,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=s,e.enableXOF=o,e.destroyed=this.destroyed,e}}const We=(n,e,t)=>Ru(()=>new Br(e,n,t));We(6,144,224/8);We(6,136,256/8);We(6,104,384/8);We(6,72,512/8);We(1,144,224/8);const ol=We(1,136,256/8);We(1,104,384/8);We(1,72,512/8);const Ri=(n,e,t)=>$u((r={})=>new Br(e,n,r.dkLen===void 0?t:r.dkLen,!0));Ri(31,168,128/8);Ri(31,136,256/8);let $i=!1;const Pi=function(n){return ol(n)};let Ni=Pi;function Je(n){const e=Ue(n,"data");return H(Ni(e))}Je._=Pi;Je.lock=function(){$i=!0};Je.register=function(n){if($i)throw new TypeError("keccak256 is locked");Ni=n};Object.freeze(Je);const al=BigInt(0),cl=BigInt(36);function Ts(n){n=n.toLowerCase();const e=n.substring(2).split(""),t=new Uint8Array(40);for(let s=0;s<40;s++)t[s]=e[s].charCodeAt(0);const r=Ue(Je(t));for(let s=0;s<40;s+=2)r[s>>1]>>4>=8&&(e[s]=e[s].toUpperCase()),(r[s>>1]&15)>=8&&(e[s+1]=e[s+1].toUpperCase());return"0x"+e.join("")}const Mn={};for(let n=0;n<10;n++)Mn[String(n)]=String(n);for(let n=0;n<26;n++)Mn[String.fromCharCode(65+n)]=String(10+n);const Os=15;function ul(n){n=n.toUpperCase(),n=n.substring(4)+n.substring(0,2)+"00";let e=n.split("").map(r=>Mn[r]).join("");for(;e.length>=Os;){let r=e.substring(0,Os);e=parseInt(r,10)%97+e.substring(r.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}const ll=function(){const n={};for(let e=0;e<36;e++){const t="0123456789abcdefghijklmnopqrstuvwxyz"[e];n[t]=BigInt(e)}return n}();function hl(n){n=n.toLowerCase();let e=al;for(let t=0;t<n.length;t++)e=e*cl+ll[n[t]];return e}function lt(n){if(_(typeof n=="string","invalid address","address",n),n.match(/^(0x)?[0-9a-fA-F]{40}$/)){n.startsWith("0x")||(n="0x"+n);const e=Ts(n);return _(!n.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===n,"bad address checksum","address",n),e}if(n.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){_(n.substring(2,4)===ul(n),"bad icap checksum","address",n);let e=hl(n.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return Ts("0x"+e)}_(!1,"invalid address","address",n)}function fl(n){return n&&typeof n.getAddress=="function"}async function en(n,e){const t=await e;return(t==null||t==="0x0000000000000000000000000000000000000000")&&(x(typeof n!="string","unconfigured name","UNCONFIGURED_NAME",{value:n}),_(!1,"invalid AddressLike value; did not resolve to a value address","target",n)),lt(t)}function Vn(n,e){if(typeof n=="string")return n.match(/^0x[0-9a-f]{40}$/i)?lt(n):(x(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),en(n,e.resolveName(n)));if(fl(n))return en(n,n.getAddress());if(n&&typeof n.then=="function")return en(n,n);_(!1,"unsupported addressable value","target",n)}const Re={};function E(n,e){let t=!1;return e<0&&(t=!0,e*=-1),new X(Re,`${t?"":"u"}int${e}`,n,{signed:t,width:e})}function R(n,e){return new X(Re,`bytes${e||""}`,n,{size:e})}const ks=Symbol.for("_ethers_typed");var it;const $e=class{constructor(e,t,r,s){d(this,"type");d(this,"value");F(this,it,void 0);d(this,"_typedSymbol");s==null&&(s=null),Bn(Re,e,"Typed"),S(this,{_typedSymbol:ks,type:t,value:r}),P(this,it,s),this.format()}format(){if(this.type==="array")throw new Error("");if(this.type==="dynamicArray")throw new Error("");return this.type==="tuple"?`tuple(${this.value.map(e=>e.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return m(this,it)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return m(this,it)===!0?-1:m(this,it)===!1?this.value.length:null}static from(e,t){return new $e(Re,e,t)}static uint8(e){return E(e,8)}static uint16(e){return E(e,16)}static uint24(e){return E(e,24)}static uint32(e){return E(e,32)}static uint40(e){return E(e,40)}static uint48(e){return E(e,48)}static uint56(e){return E(e,56)}static uint64(e){return E(e,64)}static uint72(e){return E(e,72)}static uint80(e){return E(e,80)}static uint88(e){return E(e,88)}static uint96(e){return E(e,96)}static uint104(e){return E(e,104)}static uint112(e){return E(e,112)}static uint120(e){return E(e,120)}static uint128(e){return E(e,128)}static uint136(e){return E(e,136)}static uint144(e){return E(e,144)}static uint152(e){return E(e,152)}static uint160(e){return E(e,160)}static uint168(e){return E(e,168)}static uint176(e){return E(e,176)}static uint184(e){return E(e,184)}static uint192(e){return E(e,192)}static uint200(e){return E(e,200)}static uint208(e){return E(e,208)}static uint216(e){return E(e,216)}static uint224(e){return E(e,224)}static uint232(e){return E(e,232)}static uint240(e){return E(e,240)}static uint248(e){return E(e,248)}static uint256(e){return E(e,256)}static uint(e){return E(e,256)}static int8(e){return E(e,-8)}static int16(e){return E(e,-16)}static int24(e){return E(e,-24)}static int32(e){return E(e,-32)}static int40(e){return E(e,-40)}static int48(e){return E(e,-48)}static int56(e){return E(e,-56)}static int64(e){return E(e,-64)}static int72(e){return E(e,-72)}static int80(e){return E(e,-80)}static int88(e){return E(e,-88)}static int96(e){return E(e,-96)}static int104(e){return E(e,-104)}static int112(e){return E(e,-112)}static int120(e){return E(e,-120)}static int128(e){return E(e,-128)}static int136(e){return E(e,-136)}static int144(e){return E(e,-144)}static int152(e){return E(e,-152)}static int160(e){return E(e,-160)}static int168(e){return E(e,-168)}static int176(e){return E(e,-176)}static int184(e){return E(e,-184)}static int192(e){return E(e,-192)}static int200(e){return E(e,-200)}static int208(e){return E(e,-208)}static int216(e){return E(e,-216)}static int224(e){return E(e,-224)}static int232(e){return E(e,-232)}static int240(e){return E(e,-240)}static int248(e){return E(e,-248)}static int256(e){return E(e,-256)}static int(e){return E(e,-256)}static bytes1(e){return R(e,1)}static bytes2(e){return R(e,2)}static bytes3(e){return R(e,3)}static bytes4(e){return R(e,4)}static bytes5(e){return R(e,5)}static bytes6(e){return R(e,6)}static bytes7(e){return R(e,7)}static bytes8(e){return R(e,8)}static bytes9(e){return R(e,9)}static bytes10(e){return R(e,10)}static bytes11(e){return R(e,11)}static bytes12(e){return R(e,12)}static bytes13(e){return R(e,13)}static bytes14(e){return R(e,14)}static bytes15(e){return R(e,15)}static bytes16(e){return R(e,16)}static bytes17(e){return R(e,17)}static bytes18(e){return R(e,18)}static bytes19(e){return R(e,19)}static bytes20(e){return R(e,20)}static bytes21(e){return R(e,21)}static bytes22(e){return R(e,22)}static bytes23(e){return R(e,23)}static bytes24(e){return R(e,24)}static bytes25(e){return R(e,25)}static bytes26(e){return R(e,26)}static bytes27(e){return R(e,27)}static bytes28(e){return R(e,28)}static bytes29(e){return R(e,29)}static bytes30(e){return R(e,30)}static bytes31(e){return R(e,31)}static bytes32(e){return R(e,32)}static address(e){return new $e(Re,"address",e)}static bool(e){return new $e(Re,"bool",!!e)}static bytes(e){return new $e(Re,"bytes",e)}static string(e){return new $e(Re,"string",e)}static array(e,t){throw new Error("not implemented yet")}static tuple(e,t){throw new Error("not implemented yet")}static overrides(e){return new $e(Re,"overrides",Object.assign({},e))}static isTyped(e){return e&&e._typedSymbol===ks}static dereference(e,t){if($e.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}};let X=$e;it=new WeakMap;class dl extends Be{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let r=X.dereference(t,"string");try{r=lt(r)}catch(s){return this._throwError(s.message,t)}return e.writeValue(r)}decode(e){return lt(vi(e.readValue(),20))}}class pl extends Be{constructor(t){super(t.name,t.type,"_",t.dynamic);d(this,"coder");this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,r){return this.coder.encode(t,r)}decode(t){return this.coder.decode(t)}}function Ii(n,e,t){let r=[];if(Array.isArray(t))r=t;else if(t&&typeof t=="object"){let c={};r=e.map(u=>{const l=u.localName;return x(l,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),x(!c[l],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),c[l]=!0,t[l]})}else _(!1,"invalid tuple value","tuple",t);_(e.length===r.length,"types/value length mismatch","tuple",t);let s=new yn,i=new yn,o=[];e.forEach((c,u)=>{let l=r[u];if(c.dynamic){let h=i.length;c.encode(i,l);let y=s.writeUpdatableValue();o.push(p=>{y(p+h)})}else c.encode(s,l)}),o.forEach(c=>{c(s.length)});let a=n.appendWriter(s);return a+=n.appendWriter(i),a}function Ci(n,e){let t=[],r=[],s=n.subReader(0);return e.forEach(i=>{let o=null;if(i.dynamic){let a=n.readIndex(),c=s.subReader(a);try{o=i.decode(c)}catch(u){if(_r(u,"BUFFER_OVERRUN"))throw u;o=u,o.baseType=i.name,o.name=i.localName,o.type=i.type}}else try{o=i.decode(n)}catch(a){if(_r(a,"BUFFER_OVERRUN"))throw a;o=a,o.baseType=i.name,o.name=i.localName,o.type=i.type}if(o==null)throw new Error("investigate");t.push(o),r.push(i.localName||null)}),Er.fromItems(t,r)}class yl extends Be{constructor(t,r,s){const i=t.type+"["+(r>=0?r:"")+"]",o=r===-1||t.dynamic;super("array",i,s,o);d(this,"coder");d(this,"length");S(this,{coder:t,length:r})}defaultValue(){const t=this.coder.defaultValue(),r=[];for(let s=0;s<this.length;s++)r.push(t);return r}encode(t,r){const s=X.dereference(r,"array");Array.isArray(s)||this._throwError("expected array value",s);let i=this.length;i===-1&&(i=s.length,t.writeValue(s.length)),gi(s.length,i,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<s.length;a++)o.push(this.coder);return Ii(t,o,s)}decode(t){let r=this.length;r===-1&&(r=t.readIndex(),x(r*Y<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:r*Y,length:t.dataLength}));let s=[];for(let i=0;i<r;i++)s.push(new pl(this.coder));return Ci(t,s)}}class ml extends Be{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){const r=X.dereference(t,"bool");return e.writeValue(r?1:0)}decode(e){return!!e.readValue()}}class Fi extends Be{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=Fe(t);let r=e.writeValue(t.length);return r+=e.writeBytes(t),r}decode(e){return e.readBytes(e.readIndex(),!0)}}class gl extends Fi{constructor(e){super("bytes",e)}decode(e){return H(super.decode(e))}}class wl extends Be{constructor(t,r){let s="bytes"+String(t);super(s,s,r,!1);d(this,"size");S(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(t,r){let s=Fe(X.dereference(r,this.type));return s.length!==this.size&&this._throwError("incorrect data length",r),t.writeBytes(s)}decode(t){return H(t.readBytes(this.size))}}const bl=new Uint8Array([]);class vl extends Be{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return t!=null&&this._throwError("not null",t),e.writeBytes(bl)}decode(e){return e.readBytes(0),null}}const _l=BigInt(0),El=BigInt(1),xl=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class Tl extends Be{constructor(t,r,s){const i=(r?"int":"uint")+t*8;super(i,i,s,!1);d(this,"size");d(this,"signed");S(this,{size:t,signed:r},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,r){let s=mt(X.dereference(r,this.type)),i=ur(xl,Y*8);if(this.signed){let o=ur(i,this.size*8-1);(s>o||s<-(o+El))&&this._throwError("value out-of-bounds",r),s=lu(s,8*Y)}else(s<_l||s>ur(i,this.size*8))&&this._throwError("value out-of-bounds",r);return t.writeValue(s)}decode(t){let r=ur(t.readValue(),this.size*8);return this.signed&&(r=uu(r,this.size*8)),r}}class Ol extends Fi{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,Ei(X.dereference(t,"string")))}decode(e){return bu(super.decode(e))}}class dr extends Be{constructor(t,r){let s=!1;const i=[];t.forEach(a=>{a.dynamic&&(s=!0),i.push(a.type)});const o="tuple("+i.join(",")+")";super("tuple",o,r,s);d(this,"coders");S(this,{coders:Object.freeze(t.slice())})}defaultValue(){const t=[];this.coders.forEach(s=>{t.push(s.defaultValue())});const r=this.coders.reduce((s,i)=>{const o=i.localName;return o&&(s[o]||(s[o]=0),s[o]++),s},{});return this.coders.forEach((s,i)=>{let o=s.localName;!o||r[o]!==1||(o==="length"&&(o="_length"),t[o]==null&&(t[o]=t[i]))}),Object.freeze(t)}encode(t,r){const s=X.dereference(r,"tuple");return Ii(t,this.coders,s)}decode(t){return Ci(t,this.coders)}}function Jt(n){return Je(Ei(n))}function tn(n,e){return{address:lt(n),storageKeys:e.map((t,r)=>(_(Ge(t,32),"invalid slot",`storageKeys[${r}]`,t),t.toLowerCase()))}}function kl(n){if(Array.isArray(n))return n.map((t,r)=>Array.isArray(t)?(_(t.length===2,"invalid slot set",`value[${r}]`,t),tn(t[0],t[1])):(_(t!=null&&typeof t=="object","invalid address-slot set","value",n),tn(t.address,t.storageKeys)));_(n!=null&&typeof n=="object","invalid access list","value",n);const e=Object.keys(n).map(t=>{const r=n[t].reduce((s,i)=>(s[i]=!0,s),{});return tn(t,Object.keys(r).sort())});return e.sort((t,r)=>t.address.localeCompare(r.address)),e}function Q(n){const e=new Set;return n.forEach(t=>e.add(t)),Object.freeze(e)}const Di="constant external internal payable private public pure view",Al=Q(Di.split(" ")),Ui="constructor error event fallback function receive struct",ji=Q(Ui.split(" ")),Li="calldata memory storage payable indexed",Sl=Q(Li.split(" ")),Rl="tuple returns",$l=[Ui,Li,Rl,Di].join(" "),Pl=Q($l.split(" ")),Nl={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},Il=new RegExp("^(\\s*)"),Cl=new RegExp("^([0-9]+)"),Fl=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),Bi=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),Hi=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");var z,pe,Kt,bn;const kr=class{constructor(e){F(this,Kt);F(this,z,void 0);F(this,pe,void 0);P(this,z,0),P(this,pe,e.slice())}get offset(){return m(this,z)}get length(){return m(this,pe).length-m(this,z)}clone(){return new kr(m(this,pe))}reset(){P(this,z,0)}popKeyword(e){const t=this.peek();if(t.type!=="KEYWORD"||!e.has(t.text))throw new Error(`expected keyword ${t.text}`);return this.pop().text}popType(e){if(this.peek().type!==e)throw new Error(`expected ${e}; got ${JSON.stringify(this.peek())}`);return this.pop().text}popParen(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=B(this,Kt,bn).call(this,m(this,z)+1,e.match+1);return P(this,z,e.match+1),t}popParams(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=[];for(;m(this,z)<e.match-1;){const r=this.peek().linkNext;t.push(B(this,Kt,bn).call(this,m(this,z)+1,r)),P(this,z,r)}return P(this,z,e.match+1),t}peek(){if(m(this,z)>=m(this,pe).length)throw new Error("out-of-bounds");return m(this,pe)[m(this,z)]}peekKeyword(e){const t=this.peekType("KEYWORD");return t!=null&&e.has(t)?t:null}peekType(e){if(this.length===0)return null;const t=this.peek();return t.type===e?t.text:null}pop(){const e=this.peek();return Qn(this,z)._++,e}toString(){const e=[];for(let t=m(this,z);t<m(this,pe).length;t++){const r=m(this,pe)[t];e.push(`${r.type}:${r.text}`)}return`<TokenString ${e.join(" ")}>`}};let ge=kr;z=new WeakMap,pe=new WeakMap,Kt=new WeakSet,bn=function(e=0,t=0){return new kr(m(this,pe).slice(e,t).map(r=>Object.freeze(Object.assign({},r,{match:r.match-e,linkBack:r.linkBack-e,linkNext:r.linkNext-e}))))};function Ke(n){const e=[],t=o=>{const a=i<n.length?JSON.stringify(n[i]):"$EOI";throw new Error(`invalid token ${a} at ${i}: ${o}`)};let r=[],s=[],i=0;for(;i<n.length;){let o=n.substring(i),a=o.match(Il);a&&(i+=a[1].length,o=n.substring(i));const c={depth:r.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:i,value:-1};e.push(c);let u=Nl[o[0]]||"";if(u){if(c.type=u,c.text=o[0],i++,u==="OPEN_PAREN")r.push(e.length-1),s.push(e.length-1);else if(u=="CLOSE_PAREN")r.length===0&&t("no matching open bracket"),c.match=r.pop(),e[c.match].match=e.length-1,c.depth--,c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1;else if(u==="COMMA")c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1,s.push(e.length-1);else if(u==="OPEN_BRACKET")c.type="BRACKET";else if(u==="CLOSE_BRACKET"){let l=e.pop().text;if(e.length>0&&e[e.length-1].type==="NUMBER"){const h=e.pop().text;l=h+l,e[e.length-1].value=Le(h)}if(e.length===0||e[e.length-1].type!=="BRACKET")throw new Error("missing opening bracket");e[e.length-1].text+=l}continue}if(a=o.match(Fl),a){if(c.text=a[1],i+=c.text.length,Pl.has(c.text)){c.type="KEYWORD";continue}if(c.text.match(Hi)){c.type="TYPE";continue}c.type="ID";continue}if(a=o.match(Cl),a){c.text=a[1],c.type="NUMBER",i+=c.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(o[0])} at position ${i}`)}return new ge(e.map(o=>Object.freeze(o)))}function As(n,e){let t=[];for(const r in e.keys())n.has(r)&&t.push(r);if(t.length>1)throw new Error(`conflicting types: ${t.join(", ")}`)}function Hr(n,e){if(e.peekKeyword(ji)){const t=e.pop().text;if(t!==n)throw new Error(`expected ${n}, got ${t}`)}return e.popType("ID")}function je(n,e){const t=new Set;for(;;){const r=n.peekType("KEYWORD");if(r==null||e&&!e.has(r))break;if(n.pop(),t.has(r))throw new Error(`duplicate keywords: ${JSON.stringify(r)}`);t.add(r)}return Object.freeze(t)}function Mi(n){let e=je(n,Al);return As(e,Q("constant payable nonpayable".split(" "))),As(e,Q("pure view payable nonpayable".split(" "))),e.has("view")?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function De(n,e){return n.popParams().map(t=>G.from(t,e))}function Vi(n){if(n.peekType("AT")){if(n.pop(),n.peekType("NUMBER"))return mt(n.pop().text);throw new Error("invalid gas")}return null}function ht(n){if(n.length)throw new Error(`unexpected tokens: ${n.toString()}`)}const Dl=new RegExp(/^(.*)\[([0-9]*)\]$/);function Ss(n){const e=n.match(Hi);if(_(e,"invalid type","type",n),n==="uint")return"uint256";if(n==="int")return"int256";if(e[2]){const t=parseInt(e[2]);_(t!==0&&t<=32,"invalid bytes length","type",n)}else if(e[3]){const t=parseInt(e[3]);_(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",n)}return n}const j={},ne=Symbol.for("_ethers_internal"),Rs="_ParamTypeInternal",$s="_ErrorInternal",Ps="_EventInternal",Ns="_ConstructorInternal",Is="_FallbackInternal",Cs="_FunctionInternal",Fs="_StructInternal";var Nt,gr;const ue=class{constructor(e,t,r,s,i,o,a,c){F(this,Nt);d(this,"name");d(this,"type");d(this,"baseType");d(this,"indexed");d(this,"components");d(this,"arrayLength");d(this,"arrayChildren");if(Bn(e,j,"ParamType"),Object.defineProperty(this,ne,{value:Rs}),o&&(o=Object.freeze(o.slice())),s==="array"){if(a==null||c==null)throw new Error("")}else if(a!=null||c!=null)throw new Error("");if(s==="tuple"){if(o==null)throw new Error("")}else if(o!=null)throw new Error("");S(this,{name:t,type:r,baseType:s,indexed:i,components:o,arrayLength:a,arrayChildren:c})}format(e){if(e==null&&(e="sighash"),e==="json"){let r={type:this.baseType==="tuple"?"tuple":this.type,name:this.name||void 0};return typeof this.indexed=="boolean"&&(r.indexed=this.indexed),this.isTuple()&&(r.components=this.components.map(s=>JSON.parse(s.format(e)))),JSON.stringify(r)}let t="";return this.isArray()?(t+=this.arrayChildren.format(e),t+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?(e!=="sighash"&&(t+=this.type),t+="("+this.components.map(r=>r.format(e)).join(e==="full"?", ":",")+")"):t+=this.type,e!=="sighash"&&(this.indexed===!0&&(t+=" indexed"),e==="full"&&this.name&&(t+=" "+this.name)),t}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(e,t){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw new Error("array is wrong length");const r=this;return e.map(s=>r.arrayChildren.walk(s,t))}if(this.isTuple()){if(!Array.isArray(e))throw new Error("invalid tuple value");if(e.length!==this.components.length)throw new Error("array is wrong length");const r=this;return e.map((s,i)=>r.components[i].walk(s,t))}return t(this.type,e)}async walkAsync(e,t){const r=[],s=[e];return B(this,Nt,gr).call(this,r,e,t,i=>{s[0]=i}),r.length&&await Promise.all(r),s[0]}static from(e,t){if(ue.isParamType(e))return e;if(typeof e=="string")return ue.from(Ke(e),t);if(e instanceof ge){let a="",c="",u=null;je(e,Q(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(c="tuple",u=e.popParams().map(v=>ue.from(v)),a=`tuple(${u.map(v=>v.format()).join(",")})`):(a=Ss(e.popType("TYPE")),c=a);let l=null,h=null;for(;e.length&&e.peekType("BRACKET");){const v=e.pop();l=new ue(j,"",a,c,null,u,h,l),h=v.value,a+=v.text,c="array",u=null}let y=null;if(je(e,Sl).has("indexed")){if(!t)throw new Error("");y=!0}const w=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new ue(j,w,a,c,y,u,h,l)}const r=e.name;_(!r||typeof r=="string"&&r.match(Bi),"invalid name","obj.name",r);let s=e.indexed;s!=null&&(_(t,"parameter cannot be indexed","obj.indexed",e.indexed),s=!!s);let i=e.type,o=i.match(Dl);if(o){const a=parseInt(o[2]||"-1"),c=ue.from({type:o[1],components:e.components});return new ue(j,r||"",i,"array",s,null,a,c)}if(i==="tuple"||i.startsWith("tuple(")||i.startsWith("(")){const a=e.components!=null?e.components.map(u=>ue.from(u)):null;return new ue(j,r||"",i,"tuple",s,a,null,null)}return i=Ss(e.type),new ue(j,r||"",i,i,s,null,null,null)}static isParamType(e){return e&&e[ne]===Rs}};let G=ue;Nt=new WeakSet,gr=function(e,t,r,s){if(this.isArray()){if(!Array.isArray(t))throw new Error("invalid array value");if(this.arrayLength!==-1&&t.length!==this.arrayLength)throw new Error("array is wrong length");const o=this.arrayChildren,a=t.slice();a.forEach((c,u)=>{var l;B(l=o,Nt,gr).call(l,e,c,r,h=>{a[u]=h})}),s(a);return}if(this.isTuple()){const o=this.components;let a;if(Array.isArray(t))a=t.slice();else{if(t==null||typeof t!="object")throw new Error("invalid tuple value");a=o.map(c=>{if(!c.name)throw new Error("cannot use object value with unnamed components");if(!(c.name in t))throw new Error(`missing value for component ${c.name}`);return t[c.name]})}if(a.length!==this.components.length)throw new Error("array is wrong length");a.forEach((c,u)=>{var l;B(l=o[u],Nt,gr).call(l,e,c,r,h=>{a[u]=h})}),s(a);return}const i=r(this.type,t);i.then?e.push(async function(){s(await i)}()):s(i)};class ft{constructor(e,t,r){d(this,"type");d(this,"inputs");Bn(e,j,"Fragment"),r=Object.freeze(r.slice()),S(this,{type:t,inputs:r})}static from(e){if(typeof e=="string"){try{ft.from(JSON.parse(e))}catch{}return ft.from(Ke(e))}if(e instanceof ge)switch(e.peekKeyword(ji)){case"constructor":return Ce.from(e);case"error":return te.from(e);case"event":return Oe.from(e);case"fallback":case"receive":return Pe.from(e);case"function":return ke.from(e);case"struct":return ct.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return Ce.from(e);case"error":return te.from(e);case"event":return Oe.from(e);case"fallback":case"receive":return Pe.from(e);case"function":return ke.from(e);case"struct":return ct.from(e)}x(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}_(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return Ce.isFragment(e)}static isError(e){return te.isFragment(e)}static isEvent(e){return Oe.isFragment(e)}static isFunction(e){return ke.isFragment(e)}static isStruct(e){return ct.isFragment(e)}}class Mr extends ft{constructor(t,r,s,i){super(t,r,i);d(this,"name");_(typeof s=="string"&&s.match(Bi),"invalid identifier","name",s),i=Object.freeze(i.slice()),S(this,{name:s})}}function Wt(n,e){return"("+e.map(t=>t.format(n)).join(n==="full"?", ":",")+")"}class te extends Mr{constructor(e,t,r){super(e,"error",t,r),Object.defineProperty(this,ne,{value:$s})}get selector(){return Jt(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(r=>JSON.parse(r.format(e)))});const t=[];return e!=="sighash"&&t.push("error"),t.push(this.name+Wt(e,this.inputs)),t.join(" ")}static from(e){if(te.isFragment(e))return e;if(typeof e=="string")return te.from(Ke(e));if(e instanceof ge){const t=Hr("error",e),r=De(e);return ht(e),new te(j,t,r)}return new te(j,e.name,e.inputs?e.inputs.map(G.from):[])}static isFragment(e){return e&&e[ne]===$s}}class Oe extends Mr{constructor(t,r,s,i){super(t,"event",r,s);d(this,"anonymous");Object.defineProperty(this,ne,{value:Ps}),S(this,{anonymous:i})}get topicHash(){return Jt(this.format("sighash"))}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});const r=[];return t!=="sighash"&&r.push("event"),r.push(this.name+Wt(t,this.inputs)),t!=="sighash"&&this.anonymous&&r.push("anonymous"),r.join(" ")}static getTopicHash(t,r){return r=(r||[]).map(i=>G.from(i)),new Oe(j,t,r,!1).topicHash}static from(t){if(Oe.isFragment(t))return t;if(typeof t=="string")return Oe.from(Ke(t));if(t instanceof ge){const r=Hr("event",t),s=De(t,!0),i=!!je(t,Q(["anonymous"])).has("anonymous");return ht(t),new Oe(j,r,s,i)}return new Oe(j,t.name,t.inputs?t.inputs.map(r=>G.from(r,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[ne]===Ps}}class Ce extends ft{constructor(t,r,s,i,o){super(t,r,s);d(this,"payable");d(this,"gas");Object.defineProperty(this,ne,{value:Ns}),S(this,{payable:i,gas:o})}format(t){if(x(t!=null&&t!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),t==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});const r=[`constructor${Wt(t,this.inputs)}`];return r.push(this.payable?"payable":"nonpayable"),this.gas!=null&&r.push(`@${this.gas.toString()}`),r.join(" ")}static from(t){if(Ce.isFragment(t))return t;if(typeof t=="string")return Ce.from(Ke(t));if(t instanceof ge){je(t,Q(["constructor"]));const r=De(t),s=!!je(t,Q(["payable"])).has("payable"),i=Vi(t);return ht(t),new Ce(j,"constructor",r,s,i)}return new Ce(j,"constructor",t.inputs?t.inputs.map(G.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ne]===Ns}}class Pe extends ft{constructor(t,r,s){super(t,"fallback",r);d(this,"payable");Object.defineProperty(this,ne,{value:Is}),S(this,{payable:s})}format(t){const r=this.inputs.length===0?"receive":"fallback";if(t==="json"){const s=this.payable?"payable":"nonpayable";return JSON.stringify({type:r,stateMutability:s})}return`${r}()${this.payable?" payable":""}`}static from(t){if(Pe.isFragment(t))return t;if(typeof t=="string")return Pe.from(Ke(t));if(t instanceof ge){const r=t.toString(),s=t.peekKeyword(Q(["fallback","receive"]));if(_(s,"type must be fallback or receive","obj",r),t.popKeyword(Q(["fallback","receive"]))==="receive"){const c=De(t);return _(c.length===0,"receive cannot have arguments","obj.inputs",c),je(t,Q(["payable"])),ht(t),new Pe(j,[],!0)}let o=De(t);o.length?_(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(c=>c.format("minimal")).join(", ")):o=[G.from("bytes")];const a=Mi(t);if(_(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),je(t,Q(["returns"])).has("returns")){const c=De(t);_(c.length===1&&c[0].type==="bytes","invalid fallback outputs","obj.outputs",c.map(u=>u.format("minimal")).join(", "))}return ht(t),new Pe(j,o,a==="payable")}if(t.type==="receive")return new Pe(j,[],!0);if(t.type==="fallback"){const r=[G.from("bytes")],s=t.stateMutability==="payable";return new Pe(j,r,s)}_(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[ne]===Is}}class ke extends Mr{constructor(t,r,s,i,o,a){super(t,"function",r,i);d(this,"constant");d(this,"outputs");d(this,"stateMutability");d(this,"payable");d(this,"gas");Object.defineProperty(this,ne,{value:Cs}),o=Object.freeze(o.slice()),S(this,{constant:s==="view"||s==="pure",gas:a,outputs:o,payable:s==="payable",stateMutability:s})}get selector(){return Jt(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t))),outputs:this.outputs.map(s=>JSON.parse(s.format(t)))});const r=[];return t!=="sighash"&&r.push("function"),r.push(this.name+Wt(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&r.push(this.stateMutability),this.outputs&&this.outputs.length&&(r.push("returns"),r.push(Wt(t,this.outputs))),this.gas!=null&&r.push(`@${this.gas.toString()}`)),r.join(" ")}static getSelector(t,r){return r=(r||[]).map(i=>G.from(i)),new ke(j,t,"view",r,[],null).selector}static from(t){if(ke.isFragment(t))return t;if(typeof t=="string")return ke.from(Ke(t));if(t instanceof ge){const r=Hr("function",t),s=De(t),i=Mi(t);let o=[];je(t,Q(["returns"])).has("returns")&&(o=De(t));const a=Vi(t);return ht(t),new ke(j,r,i,s,o,a)}return new ke(j,t.name,t.stateMutability,t.inputs?t.inputs.map(G.from):[],t.outputs?t.outputs.map(G.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ne]===Cs}}class ct extends Mr{constructor(e,t,r){super(e,"struct",t,r),Object.defineProperty(this,ne,{value:Fs})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")return ct.from(Ke(e));if(e instanceof ge){const t=Hr("struct",e),r=De(e);return ht(e),new ct(j,t,r)}return new ct(j,e.name,e.inputs?e.inputs.map(G.from):[])}static isFragment(e){return e&&e[ne]===Fs}}const we=new Map;we.set(0,"GENERIC_PANIC");we.set(1,"ASSERT_FALSE");we.set(17,"OVERFLOW");we.set(18,"DIVIDE_BY_ZERO");we.set(33,"ENUM_RANGE_ERROR");we.set(34,"BAD_STORAGE_DATA");we.set(49,"STACK_UNDERFLOW");we.set(50,"ARRAY_RANGE_ERROR");we.set(65,"OUT_OF_MEMORY");we.set(81,"UNINITIALIZED_FUNCTION_CALL");const Ul=new RegExp(/^bytes([0-9]*)$/),jl=new RegExp(/^(u?int)([0-9]*)$/);let rn=null;function Ll(n,e,t,r){let s="missing revert data",i=null;const o=null;let a=null;if(t){s="execution reverted";const u=Ue(t);if(t=H(t),u.length===0)s+=" (no data present; likely require(false) occurred",i="require(false)";else if(u.length%32!==4)s+=" (could not decode reason; invalid data length)";else if(H(u.slice(0,4))==="0x08c379a0")try{i=r.decode(["string"],u.slice(4))[0],a={signature:"Error(string)",name:"Error",args:[i]},s+=`: ${JSON.stringify(i)}`}catch{s+=" (could not decode reason; invalid string data)"}else if(H(u.slice(0,4))==="0x4e487b71")try{const l=Number(r.decode(["uint256"],u.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[l]},i=`Panic due to ${we.get(l)||"UNKNOWN"}(${l})`,s+=`: ${i}`}catch{s+=" (could not decode panic code)"}else s+=" (unknown custom error)"}const c={to:e.to?lt(e.to):null,data:e.data||"0x"};return e.from&&(c.from=lt(e.from)),Ur(s,"CALL_EXCEPTION",{action:n,data:t,reason:i,transaction:c,invocation:o,revert:a})}var ze,Tt;const Ar=class{constructor(){F(this,ze)}getDefaultValue(e){const t=e.map(s=>B(this,ze,Tt).call(this,G.from(s)));return new dr(t,"_").defaultValue()}encode(e,t){gi(t.length,e.length,"types/values length mismatch");const r=e.map(o=>B(this,ze,Tt).call(this,G.from(o))),s=new dr(r,"_"),i=new yn;return s.encode(i,t),i.data}decode(e,t,r){const s=e.map(o=>B(this,ze,Tt).call(this,G.from(o)));return new dr(s,"_").decode(new mn(t,r))}static defaultAbiCoder(){return rn==null&&(rn=new Ar),rn}static getBuiltinCallException(e,t,r){return Ll(e,t,r,Ar.defaultAbiCoder())}};let xr=Ar;ze=new WeakSet,Tt=function(e){if(e.isArray())return new yl(B(this,ze,Tt).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new dr(e.components.map(r=>B(this,ze,Tt).call(this,r)),e.name);switch(e.baseType){case"address":return new dl(e.name);case"bool":return new ml(e.name);case"string":return new Ol(e.name);case"bytes":return new gl(e.name);case"":return new vl(e.name)}let t=e.type.match(jl);if(t){let r=parseInt(t[2]||"256");return _(r!==0&&r<=256&&r%8===0,"invalid "+t[1]+" bit length","param",e),new Tl(r/8,t[1]==="int",e.name)}if(t=e.type.match(Ul),t){let r=parseInt(t[1]);return _(r!==0&&r<=32,"invalid bytes length","param",e),new wl(r,e.name)}_(!1,"invalid type","type",e.type)};class Bl{constructor(e,t,r){d(this,"fragment");d(this,"name");d(this,"signature");d(this,"topic");d(this,"args");const s=e.name,i=e.format();S(this,{fragment:e,name:s,signature:i,topic:t,args:r})}}class Hl{constructor(e,t,r,s){d(this,"fragment");d(this,"name");d(this,"args");d(this,"signature");d(this,"selector");d(this,"value");const i=e.name,o=e.format();S(this,{fragment:e,name:i,args:r,signature:o,selector:t,value:s})}}class Ml{constructor(e,t,r){d(this,"fragment");d(this,"name");d(this,"args");d(this,"signature");d(this,"selector");const s=e.name,i=e.format();S(this,{fragment:e,name:s,args:r,signature:i,selector:t})}}class Ds{constructor(e){d(this,"hash");d(this,"_isIndexed");S(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}}const Us={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},js={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:n=>`reverted with reason string ${JSON.stringify(n)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:n=>{let e="unknown panic code";return n>=0&&n<=255&&Us[n.toString()]&&(e=Us[n.toString()]),`reverted with panic code 0x${n.toString(16)} (${e})`}}};var Ee,xe,Te,W,Xt,_n,Zt,En;const St=class{constructor(e){F(this,Xt);F(this,Zt);d(this,"fragments");d(this,"deploy");d(this,"fallback");d(this,"receive");F(this,Ee,void 0);F(this,xe,void 0);F(this,Te,void 0);F(this,W,void 0);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,P(this,Te,new Map),P(this,Ee,new Map),P(this,xe,new Map);const r=[];for(const o of t)try{r.push(ft.from(o))}catch(a){console.log("EE",a)}S(this,{fragments:Object.freeze(r)});let s=null,i=!1;P(this,W,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let c;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}S(this,{deploy:o});return;case"fallback":o.inputs.length===0?i=!0:(_(!s||o.payable!==s.payable,"conflicting fallback fragments",`fragments[${a}]`,o),s=o,i=s.payable);return;case"function":c=m(this,Te);break;case"event":c=m(this,xe);break;case"error":c=m(this,Ee);break;default:return}const u=o.format();c.has(u)||c.set(u,o)}),this.deploy||S(this,{deploy:Ce.from("constructor()")}),S(this,{fallback:s,receive:i})}format(e){const t=e?"minimal":"full";return this.fragments.map(s=>s.format(t))}formatJson(){const e=this.fragments.map(t=>t.format("json"));return JSON.stringify(e.map(t=>JSON.parse(t)))}getAbiCoder(){return xr.defaultAbiCoder()}getFunctionName(e){const t=B(this,Xt,_n).call(this,e,null,!1);return _(t,"no matching function","key",e),t.name}getFunction(e,t){return B(this,Xt,_n).call(this,e,t||null,!0)}forEachFunction(e){const t=Array.from(m(this,Te).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(m(this,Te).get(s),r)}}getEventName(e){const t=B(this,Zt,En).call(this,e,null,!1);return _(t,"no matching event","key",e),t.name}getEvent(e,t){return B(this,Zt,En).call(this,e,t||null,!0)}forEachEvent(e){const t=Array.from(m(this,xe).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(m(this,xe).get(s),r)}}getError(e,t){if(Ge(e)){const s=e.toLowerCase();if(js[s])return te.from(js[s].signature);for(const i of m(this,Ee).values())if(s===i.selector)return i;return null}if(e.indexOf("(")===-1){const s=[];for(const[i,o]of m(this,Ee))i.split("(")[0]===e&&s.push(o);if(s.length===0)return e==="Error"?te.from("error Error(string)"):e==="Panic"?te.from("error Panic(uint256)"):null;if(s.length>1){const i=s.map(o=>JSON.stringify(o.format())).join(", ");_(!1,`ambiguous error description (i.e. ${i})`,"name",e)}return s[0]}if(e=te.from(e).format(),e==="Error(string)")return te.from("error Error(string)");if(e==="Panic(uint256)")return te.from("error Panic(uint256)");const r=m(this,Ee).get(e);return r||null}forEachError(e){const t=Array.from(m(this,Ee).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(m(this,Ee).get(s),r)}}_decodeParams(e,t){return m(this,W).decode(e,t)}_encodeParams(e,t){return m(this,W).encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){if(typeof e=="string"){const r=this.getError(e);_(r,"unknown error","fragment",e),e=r}return _(_t(t,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",t),this._decodeParams(e.inputs,_t(t,4))}encodeErrorResult(e,t){if(typeof e=="string"){const r=this.getError(e);_(r,"unknown error","fragment",e),e=r}return Rt([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionData(e,t){if(typeof e=="string"){const r=this.getFunction(e);_(r,"unknown function","fragment",e),e=r}return _(_t(t,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",t),this._decodeParams(e.inputs,_t(t,4))}encodeFunctionData(e,t){if(typeof e=="string"){const r=this.getFunction(e);_(r,"unknown function","fragment",e),e=r}return Rt([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionResult(e,t){if(typeof e=="string"){const i=this.getFunction(e);_(i,"unknown function","fragment",e),e=i}let r="invalid length for result data";const s=Fe(t);if(s.length%32===0)try{return m(this,W).decode(e.outputs,s)}catch{r="could not decode result data"}x(!1,r,"BAD_DATA",{value:H(s),info:{method:e.name,signature:e.format()}})}makeError(e,t){const r=Ue(e,"data"),s=xr.getBuiltinCallException("call",t,r),i="execution reverted (unknown custom error)";if(s.message.startsWith(i)){const a=H(r.slice(0,4)),c=this.getError(a);if(c)try{const u=m(this,W).decode(c.inputs,r.slice(4));s.revert={name:c.name,signature:c.format(),args:u},s.reason=s.revert.signature,s.message=`execution reverted: ${s.reason}`}catch{s.message="execution reverted (coult not decode custom error)"}}const o=this.parseTransaction(t);return o&&(s.invocation={method:o.name,signature:o.signature,args:o.args}),s}encodeFunctionResult(e,t){if(typeof e=="string"){const r=this.getFunction(e);_(r,"unknown function","fragment",e),e=r}return H(m(this,W).encode(e.outputs,t||[]))}encodeFilterTopics(e,t){if(typeof e=="string"){const i=this.getEvent(e);_(i,"unknown event","eventFragment",e),e=i}x(t.length<=e.inputs.length,`too many arguments for ${e.format()}`,"UNEXPECTED_ARGUMENT",{count:t.length,expectedCount:e.inputs.length});const r=[];e.anonymous||r.push(e.topicHash);const s=(i,o)=>i.type==="string"?Jt(o):i.type==="bytes"?Je(H(o)):(i.type==="bool"&&typeof o=="boolean"&&(o=o?"0x01":"0x00"),i.type.match(/^u?int/)&&(o=vi(o)),i.type==="address"&&m(this,W).encode(["address"],[o]),cu(H(o),32));for(t.forEach((i,o)=>{const a=e.inputs[o];if(!a.indexed){_(i==null,"cannot filter non-indexed parameters; must be null","contract."+a.name,i);return}i==null?r.push(null):a.baseType==="array"||a.baseType==="tuple"?_(!1,"filtering with tuples or arrays not supported","contract."+a.name,i):Array.isArray(i)?r.push(i.map(c=>s(a,c))):r.push(s(a,i))});r.length&&r[r.length-1]===null;)r.pop();return r}encodeEventLog(e,t){if(typeof e=="string"){const o=this.getEvent(e);_(o,"unknown event","eventFragment",e),e=o}const r=[],s=[],i=[];return e.anonymous||r.push(e.topicHash),_(t.length===e.inputs.length,"event arguments/values mismatch","values",t),e.inputs.forEach((o,a)=>{const c=t[a];if(o.indexed)if(o.type==="string")r.push(Jt(c));else if(o.type==="bytes")r.push(Je(c));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");r.push(m(this,W).encode([o.type],[c]))}else s.push(o),i.push(c)}),{data:m(this,W).encode(s,i),topics:r}}decodeEventLog(e,t,r){if(typeof e=="string"){const p=this.getEvent(e);_(p,"unknown event","eventFragment",e),e=p}if(r!=null&&!e.anonymous){const p=e.topicHash;_(Ge(r[0],32)&&r[0].toLowerCase()===p,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}const s=[],i=[],o=[];e.inputs.forEach((p,w)=>{p.indexed?p.type==="string"||p.type==="bytes"||p.baseType==="tuple"||p.baseType==="array"?(s.push(G.from({type:"bytes32",name:p.name})),o.push(!0)):(s.push(p),o.push(!1)):(i.push(p),o.push(!1))});const a=r!=null?m(this,W).decode(s,Rt(r)):null,c=m(this,W).decode(i,t,!0),u=[],l=[];let h=0,y=0;return e.inputs.forEach((p,w)=>{let v=null;if(p.indexed)if(a==null)v=new Ds(null);else if(o[w])v=new Ds(a[y++]);else try{v=a[y++]}catch(g){v=g}else try{v=c[h++]}catch(g){v=g}u.push(v),l.push(p.name||null)}),Er.fromItems(u,l)}parseTransaction(e){const t=Ue(e.data,"tx.data"),r=mt(e.value!=null?e.value:0,"tx.value"),s=this.getFunction(H(t.slice(0,4)));if(!s)return null;const i=m(this,W).decode(s.inputs,t.slice(4));return new Hl(s,s.selector,i,r)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){const t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new Bl(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){const t=H(e),r=this.getError(_t(t,0,4));if(!r)return null;const s=m(this,W).decode(r.inputs,_t(t,4));return new Ml(r,r.selector,s)}static from(e){return e instanceof St?e:typeof e=="string"?new St(JSON.parse(e)):typeof e.format=="function"?new St(e.format("json")):new St(e)}};let vn=St;Ee=new WeakMap,xe=new WeakMap,Te=new WeakMap,W=new WeakMap,Xt=new WeakSet,_n=function(e,t,r){if(Ge(e)){const i=e.toLowerCase();for(const o of m(this,Te).values())if(i===o.selector)return o;return null}if(e.indexOf("(")===-1){const i=[];for(const[o,a]of m(this,Te))o.split("(")[0]===e&&i.push(a);if(t){const o=t.length>0?t[t.length-1]:null;let a=t.length,c=!0;X.isTyped(o)&&o.type==="overrides"&&(c=!1,a--);for(let u=i.length-1;u>=0;u--){const l=i[u].inputs.length;l!==a&&(!c||l!==a-1)&&i.splice(u,1)}for(let u=i.length-1;u>=0;u--){const l=i[u].inputs;for(let h=0;h<t.length;h++)if(X.isTyped(t[h])){if(h>=l.length){if(t[h].type==="overrides")continue;i.splice(u,1);break}if(t[h].type!==l[h].baseType){i.splice(u,1);break}}}}if(i.length===1&&t&&t.length!==i[0].inputs.length){const o=t[t.length-1];(o==null||Array.isArray(o)||typeof o!="object")&&i.splice(0,1)}if(i.length===0)return null;if(i.length>1&&r){const o=i.map(a=>JSON.stringify(a.format())).join(", ");_(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return i[0]}const s=m(this,Te).get(ke.from(e).format());return s||null},Zt=new WeakSet,En=function(e,t,r){if(Ge(e)){const i=e.toLowerCase();for(const o of m(this,xe).values())if(i===o.topicHash)return o;return null}if(e.indexOf("(")===-1){const i=[];for(const[o,a]of m(this,xe))o.split("(")[0]===e&&i.push(a);if(t){for(let o=i.length-1;o>=0;o--)i[o].inputs.length<t.length&&i.splice(o,1);for(let o=i.length-1;o>=0;o--){const a=i[o].inputs;for(let c=0;c<t.length;c++)if(X.isTyped(t[c])&&t[c].type!==a[c].baseType){i.splice(o,1);break}}}if(i.length===0)return null;if(i.length>1&&r){const o=i.map(a=>JSON.stringify(a.format())).join(", ");_(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return i[0]}const s=m(this,xe).get(Oe.from(e).format());return s||null};const Vl=BigInt(0);function Ne(n){return n==null?null:n.toString()}function zl(n){const e={};n.to&&(e.to=n.to),n.from&&(e.from=n.from),n.data&&(e.data=H(n.data));const t="chainId,gasLimit,gasPrice,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const s of t)!(s in n)||n[s]==null||(e[s]=mt(n[s],`request.${s}`));const r="type,nonce".split(/,/);for(const s of r)!(s in n)||n[s]==null||(e[s]=Le(n[s],`request.${s}`));return n.accessList&&(e.accessList=kl(n.accessList)),"blockTag"in n&&(e.blockTag=n.blockTag),"enableCcipRead"in n&&(e.enableCcipReadEnabled=!!n.enableCcipRead),"customData"in n&&(e.customData=n.customData),e}class zn{constructor(e,t){d(this,"provider");d(this,"transactionHash");d(this,"blockHash");d(this,"blockNumber");d(this,"removed");d(this,"address");d(this,"data");d(this,"topics");d(this,"index");d(this,"transactionIndex");this.provider=t;const r=Object.freeze(e.topics.slice());S(this,{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,removed:e.removed,address:e.address,data:e.data,topics:r,index:e.index,transactionIndex:e.transactionIndex})}toJSON(){const{address:e,blockHash:t,blockNumber:r,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:u}=this;return{_type:"log",address:e,blockHash:t,blockNumber:r,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:u}}async getBlock(){const e=await this.provider.getBlock(this.blockHash);return x(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){const e=await this.provider.getTransaction(this.transactionHash);return x(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){const e=await this.provider.getTransactionReceipt(this.transactionHash);return x(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return Gl(this)}}var Yt;class ql{constructor(e,t){d(this,"provider");d(this,"to");d(this,"from");d(this,"contractAddress");d(this,"hash");d(this,"index");d(this,"blockHash");d(this,"blockNumber");d(this,"logsBloom");d(this,"gasUsed");d(this,"cumulativeGasUsed");d(this,"gasPrice");d(this,"type");d(this,"status");d(this,"root");F(this,Yt,void 0);P(this,Yt,Object.freeze(e.logs.map(r=>new zn(r,t)))),S(this,{provider:t,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,gasPrice:e.effectiveGasPrice||e.gasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return m(this,Yt)}toJSON(){const{to:e,from:t,contractAddress:r,hash:s,index:i,blockHash:o,blockNumber:a,logsBloom:c,logs:u,status:l,root:h}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:a,contractAddress:r,cumulativeGasUsed:Ne(this.cumulativeGasUsed),from:t,gasPrice:Ne(this.gasPrice),gasUsed:Ne(this.gasUsed),hash:s,index:i,logs:u,logsBloom:c,root:h,status:l,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e<this.length?{value:this.logs[e++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){const e=await this.provider.getBlock(this.blockHash);if(e==null)throw new Error("TODO");return e}async getTransaction(){const e=await this.provider.getTransaction(this.hash);if(e==null)throw new Error("TODO");return e}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return qi(this)}reorderedEvent(e){return x(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),zi(this,e)}}Yt=new WeakMap;var qe;const Yn=class{constructor(e,t){d(this,"provider");d(this,"blockNumber");d(this,"blockHash");d(this,"index");d(this,"hash");d(this,"type");d(this,"to");d(this,"from");d(this,"nonce");d(this,"gasLimit");d(this,"gasPrice");d(this,"maxPriorityFeePerGas");d(this,"maxFeePerGas");d(this,"data");d(this,"value");d(this,"chainId");d(this,"signature");d(this,"accessList");F(this,qe,void 0);this.provider=t,this.blockNumber=e.blockNumber!=null?e.blockNumber:null,this.blockHash=e.blockHash!=null?e.blockHash:null,this.hash=e.hash,this.index=e.index,this.type=e.type,this.from=e.from,this.to=e.to||null,this.gasLimit=e.gasLimit,this.nonce=e.nonce,this.data=e.data,this.value=e.value,this.gasPrice=e.gasPrice,this.maxPriorityFeePerGas=e.maxPriorityFeePerGas!=null?e.maxPriorityFeePerGas:null,this.maxFeePerGas=e.maxFeePerGas!=null?e.maxFeePerGas:null,this.chainId=e.chainId,this.signature=e.signature,this.accessList=e.accessList!=null?e.accessList:null,P(this,qe,-1)}toJSON(){const{blockNumber:e,blockHash:t,index:r,hash:s,type:i,to:o,from:a,nonce:c,data:u,signature:l,accessList:h}=this;return{_type:"TransactionReceipt",accessList:h,blockNumber:e,blockHash:t,chainId:Ne(this.chainId),data:u,from:a,gasLimit:Ne(this.gasLimit),gasPrice:Ne(this.gasPrice),hash:s,maxFeePerGas:Ne(this.maxFeePerGas),maxPriorityFeePerGas:Ne(this.maxPriorityFeePerGas),nonce:c,signature:l,to:o,index:r,type:i,value:Ne(this.value)}}async getBlock(){let e=this.blockNumber;if(e==null){const r=await this.getTransaction();r&&(e=r.blockNumber)}if(e==null)return null;const t=this.provider.getBlock(e);if(t==null)throw new Error("TODO");return t}async getTransaction(){return this.provider.getTransaction(this.hash)}async wait(e,t){const r=e??1,s=t??0;let i=m(this,qe),o=-1,a=i===-1;const c=async()=>{if(a)return null;const{blockNumber:h,nonce:y}=await yi({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(y<this.nonce){i=h;return}if(a)return null;const p=await this.getTransaction();if(!(p&&p.blockNumber!=null))for(o===-1&&(o=i-3,o<m(this,qe)&&(o=m(this,qe)));o<=h;){if(a)return null;const w=await this.provider.getBlock(o,!0);if(w==null)return;for(const v of w)if(v===this.hash)return;for(let v=0;v<w.length;v++){const g=await w.getTransaction(v);if(g.from===this.from&&g.nonce===this.nonce){if(a)return null;const A=await this.provider.getTransactionReceipt(g.hash);if(A==null||h-A.blockNumber+1<r)return;let C="replaced";g.data===this.data&&g.to===this.to&&g.value===this.value?C="repriced":g.data==="0x"&&g.from===g.to&&g.value===Vl&&(C="cancelled"),x(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:C==="replaced"||C==="cancelled",reason:C,replacement:g.replaceableTransaction(i),hash:g.hash,receipt:A})}}o++}},u=await this.provider.getTransactionReceipt(this.hash);if(u){if(await u.confirmations()>=r)return u}else if(await c(),r===0)return null;return await new Promise((h,y)=>{const p=[],w=()=>{p.forEach(g=>g())};if(p.push(()=>{a=!0}),s>0){const g=setTimeout(()=>{w(),y(Ur("wait for transaction timeout","TIMEOUT"))},s);p.push(()=>{clearTimeout(g)})}const v=async g=>{await g.confirmations()>=r&&(w(),h(g))};if(p.push(()=>{this.provider.off(this.hash,v)}),this.provider.on(this.hash,v),i>=0){const g=async()=>{try{await c()}catch(A){if(_r(A,"TRANSACTION_REPLACED")){w(),y(A);return}}a||this.provider.once("block",g)};p.push(()=>{this.provider.off("block",g)}),this.provider.once("block",g)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}removedEvent(){return x(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),qi(this)}reorderedEvent(e){return x(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),x(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),zi(this,e)}replaceableTransaction(e){_(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);const t=new Yn(this,this.provider);return P(t,qe,e),t}};let xn=Yn;qe=new WeakMap;function zi(n,e){return{orphan:"reorder-transaction",tx:n,other:e}}function qi(n){return{orphan:"drop-transaction",tx:n}}function Gl(n){return{orphan:"drop-log",log:{transactionHash:n.transactionHash,blockHash:n.blockHash,blockNumber:n.blockNumber,address:n.address,data:n.data,topics:Object.freeze(n.topics.slice()),index:n.index}}}class qn extends zn{constructor(t,r,s){super(t,t.provider);d(this,"interface");d(this,"fragment");d(this,"args");const i=r.decodeEventLog(s,t.data,t.topics);S(this,{args:i,fragment:s,interface:r})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}var It;class Jl extends ql{constructor(t,r,s){super(s,r);F(this,It,void 0);P(this,It,t)}get logs(){return super.logs.map(t=>{const r=t.topics.length?m(this,It).getEvent(t.topics[0]):null;return r?new qn(t,m(this,It),r):t})}}It=new WeakMap;var Qt;class Gn extends xn{constructor(t,r,s){super(s,r);F(this,Qt,void 0);P(this,Qt,t)}async wait(t){const r=await super.wait();return r==null?null:new Jl(m(this,Qt),this.provider,r)}}Qt=new WeakMap;class Gi extends du{constructor(t,r,s,i){super(t,r,s);d(this,"log");S(this,{log:i})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class Wl extends Gi{constructor(e,t,r,s,i){super(e,t,r,new qn(i,e.interface,s));const o=e.interface.decodeEventLog(s,this.log.data,this.log.topics);S(this,{args:o,fragment:s})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const Ls=BigInt(0);function Ji(n){return n&&typeof n.call=="function"}function Wi(n){return n&&typeof n.estimateGas=="function"}function Jn(n){return n&&typeof n.resolveName=="function"}function Ki(n){return n&&typeof n.sendTransaction=="function"}var er;class Kl{constructor(e,t,r){F(this,er,void 0);d(this,"fragment");if(S(this,{fragment:t}),t.inputs.length<r.length)throw new Error("too many arguments");const s=dt(e.runner,"resolveName"),i=Jn(s)?s:null;P(this,er,async function(){const o=await Promise.all(t.inputs.map((a,c)=>r[c]==null?null:a.walkAsync(r[c],(l,h)=>l==="address"?Vn(h,i):h)));return e.interface.encodeFilterTopics(t,o)}())}getTopicFilter(){return m(this,er)}}er=new WeakMap;function Xl(){return Function}function dt(n,e){return n==null?null:typeof n[e]=="function"?n:n.provider&&typeof n.provider[e]=="function"?n.provider:null}function nt(n){return n==null?null:n.provider||null}async function Xi(n,e){const t=zl(X.dereference(n,"overrides"));return _(t.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",t.to),_(t.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",t.data),t.from&&(t.from=await Vn(t.from)),t}async function Zl(n,e,t){const r=dt(n,"resolveName"),s=Jn(r)?r:null;return await Promise.all(e.map((i,o)=>i.walkAsync(t[o],(a,c)=>(c=X.dereference(c,a),a==="address"?Vn(c,s):c))))}class Yl{constructor(e){d(this,"_contract");return S(this,{_contract:e}),new Proxy(this,{apply:async(r,s,i)=>await r.send(...i)})}async populateTransaction(e){const t=await Xi(e,["data"]);t.to=await this._contract.getAddress();const r=this._contract.interface,s=r.receive||r.fallback&&r.fallback.payable;return _(s||(t.value||Ls)===Ls,"cannot send value to non-payable contract","overrides.value",t.value),_(r.fallback||(t.data||"0x")==="0x","cannot send data to receive-only contract","overrides.data",t.data),t}async staticCall(e){const t=dt(this._contract.runner,"call");x(Ji(t),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const r=await this.populateTransaction(e);try{return await t.call(r)}catch(s){throw mi(s)&&s.data?this._contract.interface.makeError(s.data,r):s}}async send(e){const t=this._contract.runner;x(Ki(t),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const r=await t.sendTransaction(await this.populateTransaction(e)),s=nt(this._contract.runner);return new Gn(this._contract.interface,s,r)}async estimateGas(e){const t=dt(this._contract.runner,"estimateGas");return x(Wi(t),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await t.estimateGas(await this.populateTransaction(e))}}class Ql extends Xl(){constructor(t,r){super();d(this,"name","");d(this,"_contract");d(this,"_key");return S(this,{name:t.interface.getFunctionName(r),_contract:t,_key:r}),new Proxy(this,{apply:async(i,o,a)=>i.getFragment(...a).constant?await i.staticCall(...a):await i.send(...a)})}get fragment(){const t=this._contract.interface.getFunction(this._key);return x(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),t}getFragment(...t){const r=this._contract.interface.getFunction(this._key,t);return x(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),r}async populateTransaction(...t){const r=this.getFragment(...t);let s={};if(r.inputs.length+1===t.length&&(s=await Xi(t.pop())),r.inputs.length!==t.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const i=await Zl(this._contract.runner,r.inputs,t);return Object.assign({},s,await yi({to:this._contract.getAddress(),data:this._contract.interface.encodeFunctionData(r,i)}))}async staticCall(...t){const r=await this.staticCallResult(...t);return r.length===1?r[0]:r}async send(...t){const r=this._contract.runner;x(Ki(r),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const s=await r.sendTransaction(await this.populateTransaction(...t)),i=nt(this._contract.runner);return new Gn(this._contract.interface,i,s)}async estimateGas(...t){const r=dt(this._contract.runner,"estimateGas");return x(Wi(r),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await r.estimateGas(await this.populateTransaction(...t))}async staticCallResult(...t){const r=dt(this._contract.runner,"call");x(Ji(r),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const s=await this.populateTransaction(...t);let i="0x";try{i=await r.call(s)}catch(a){throw mi(a)&&a.data?this._contract.interface.makeError(a.data,s):a}const o=this.getFragment(...t);return this._contract.interface.decodeFunctionResult(o,i)}}function eh(){return Function}class th extends eh(){constructor(t,r){super();d(this,"name","");d(this,"_contract");d(this,"_key");return S(this,{name:t.interface.getEventName(r),_contract:t,_key:r}),new Proxy(this,{apply:(s,i,o)=>new Kl(t,s.getFragment(...o),o)})}get fragment(){const t=this._contract.interface.getEvent(this._key);return x(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),t}getFragment(...t){const r=this._contract.interface.getEvent(this._key,t);return x(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),r}}const Tr=Symbol.for("_ethersInternal_contract"),Zi=new WeakMap;function rh(n,e){Zi.set(n[Tr],e)}function ce(n){return Zi.get(n[Tr])}function nh(n){return n&&typeof n=="object"&&"getTopicFilter"in n&&typeof n.getTopicFilter=="function"&&n.fragment}async function Wn(n,e){let t,r=null;if(Array.isArray(e)){const i=function(o){if(Ge(o,32))return o;const a=n.interface.getEvent(o);return _(a,"unknown fragment","name",o),a.topicHash};t=e.map(o=>o==null?null:Array.isArray(o)?o.map(i):i(o))}else e==="*"?t=[null]:typeof e=="string"?Ge(e,32)?t=[e]:(r=n.interface.getEvent(e),_(r,"unknown fragment","event",e),t=[r.topicHash]):nh(e)?t=await e.getTopicFilter():"fragment"in e?(r=e.fragment,t=[r.topicHash]):_(!1,"unknown event name","event",e);t=t.map(i=>{if(i==null)return null;if(Array.isArray(i)){const o=Array.from(new Set(i.map(a=>a.toLowerCase())).values());return o.length===1?o[0]:(o.sort(),o)}return i.toLowerCase()});const s=t.map(i=>i==null?"null":Array.isArray(i)?i.join("|"):i).join("&");return{fragment:r,tag:s,topics:t}}async function Bt(n,e){const{subs:t}=ce(n);return t.get((await Wn(n,e)).tag)||null}async function Bs(n,e,t){const r=nt(n.runner);x(r,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});const{fragment:s,tag:i,topics:o}=await Wn(n,t),{addr:a,subs:c}=ce(n);let u=c.get(i);if(!u){const h={address:a||n,topics:o},y=g=>{let A=s;if(A==null)try{A=n.interface.getEvent(g.topics[0])}catch{}if(A){const C=A,Z=s?n.interface.decodeEventLog(s,g.data,g.topics):[];On(n,t,Z,U=>new Wl(n,U,t,C,g))}else On(n,t,[],C=>new Gi(n,C,t,g))};let p=[];u={tag:i,listeners:[],start:()=>{p.length||p.push(r.on(h,y))},stop:async()=>{if(p.length==0)return;let g=p;p=[],await Promise.all(g),r.off(h,y)}},c.set(i,u)}return u}let Tn=Promise.resolve();async function sh(n,e,t,r){await Tn;const s=await Bt(n,e);if(!s)return!1;const i=s.listeners.length;return s.listeners=s.listeners.filter(({listener:o,once:a})=>{const c=Array.from(t);r&&c.push(r(a?null:o));try{o.call(n,...c)}catch{}return!a}),i>0}async function On(n,e,t,r){try{await Tn}catch{}const s=sh(n,e,t,r);return Tn=s,await s}const Hs=["then"];var yh;const Sr=class{constructor(e,t,r,s){d(this,"target");d(this,"interface");d(this,"runner");d(this,"filters");d(this,yh);d(this,"fallback");r==null&&(r=null);const i=vn.from(t);S(this,{target:e,runner:r,interface:i}),Object.defineProperty(this,Tr,{value:{}});let o,a=null,c=null;if(s){const h=nt(r);c=new Gn(this.interface,h,s)}let u=new Map;if(typeof e=="string")if(Ge(e))a=e,o=Promise.resolve(e);else{const h=dt(r,"resolveName");if(!Jn(h))throw Ur("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=h.resolveName(e).then(y=>{if(y==null)throw new Error("TODO");return ce(this).addr=y,y})}else o=e.getAddress().then(h=>{if(h==null)throw new Error("TODO");return ce(this).addr=h,h});rh(this,{addrPromise:o,addr:a,deployTx:c,subs:u});const l=new Proxy({},{get:(h,y,p)=>{if(Hs.indexOf(y)>=0)return Reflect.get(h,y,p);const w=String(y),v=this.getEvent(w);if(v)return v;throw new Error(`unknown contract event: ${w}`)}});return S(this,{filters:l}),S(this,{fallback:i.receive||i.fallback?new Yl(this):null}),new Proxy(this,{get:(h,y,p)=>{if(y in h||Hs.indexOf(y)>=0)return Reflect.get(h,y,p);const w=String(y),v=h.getFunction(w);if(v)return v;throw new Error(`unknown contract method: ${w}`)}})}connect(e){return new Sr(this.target,this.interface,e)}async getAddress(){return await ce(this).addrPromise}async getDeployedCode(){const e=nt(this.runner);x(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});const t=await e.getCode(await this.getAddress());return t==="0x"?null:t}async waitForDeployment(){const e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;const r=nt(this.runner);return x(r!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((s,i)=>{const o=async()=>{try{if(await this.getDeployedCode()!=null)return s(this);r.once("block",o)}catch(a){i(a)}};o()})}deploymentTransaction(){return ce(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),new Ql(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),new th(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,t,r){t==null&&(t=0),r==null&&(r="latest");const{addr:s,addrPromise:i}=ce(this),o=s||await i,{fragment:a,topics:c}=await Wn(this,e),u={address:o,topics:c,fromBlock:t,toBlock:r},l=nt(this.runner);return x(l,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await l.getLogs(u)).map(h=>{let y=a;if(y==null)try{y=this.interface.getEvent(h.topics[0])}catch{}return y?new qn(h,this.interface,y):new zn(h,l)})}async on(e,t){const r=await Bs(this,"on",e);return r.listeners.push({listener:t,once:!1}),r.start(),this}async once(e,t){const r=await Bs(this,"once",e);return r.listeners.push({listener:t,once:!0}),r.start(),this}async emit(e,...t){return await On(this,e,t,null)}async listenerCount(e){if(e){const s=await Bt(this,e);return s?s.listeners.length:0}const{subs:t}=ce(this);let r=0;for(const{listeners:s}of t.values())r+=s.length;return r}async listeners(e){if(e){const s=await Bt(this,e);return s?s.listeners.map(({listener:i})=>i):[]}const{subs:t}=ce(this);let r=[];for(const{listeners:s}of t.values())r=r.concat(s.map(({listener:i})=>i));return r}async off(e,t){const r=await Bt(this,e);if(!r)return this;if(t){const s=r.listeners.map(({listener:i})=>i).indexOf(t);s>=0&&r.listeners.splice(s,1)}return(t==null||r.listeners.length===0)&&(r.stop(),ce(this).subs.delete(r.tag)),this}async removeAllListeners(e){if(e){const t=await Bt(this,e);if(!t)return this;t.stop(),ce(this).subs.delete(t.tag)}else{const{subs:t}=ce(this);for(const{tag:r,stop:s}of t.values())s(),t.delete(r)}return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return await this.off(e,t)}static buildClass(e){class t extends Sr{constructor(s,i=null){super(s,e,i)}}return t}static from(e,t,r){return r==null&&(r=null),new this(e,t,r)}};let kn=Sr;yh=Tr;function ih(){return kn}class oh extends ih(){}class gt{constructor(e){d(this,"data",[]);this.api=e}static create(e){return new gt(e)}getAbiHash(e){if(this.api===void 0)throw new Error("FunctionBuilder must be initialised with api");return this.api.getAbiHash(e)}static readFields(e,t){if(e.length===0)return[];const r=(s,i)=>{console.log(t);const o=t[i].find(a=>a.name===s.function);if(!o)throw new Error("function not in ABI");return o.outputs.map((a,c)=>({source:`function:${s.function}:${c}`,name:a.name,type:a.type,key:`func_${i}_ret_${c}`,index:c}))};return e.map((s,i)=>r(s,i))}async addFunction(e,t,r,s,i){const o=s.find(c=>c.name===t);if(!o)throw new Error("function not in ABI");if(o.type!=="function")throw new Error(`${o.name} is not a function, it has type ${o.type}`);const a=new oh(e,s);return a.interface.encodeFunctionData(t,r),i=i||await this.getAbiHash(s),this.data.push({address:e,bytecode:a.interface.encodeFunctionData(t,r),abiHash:i,function:t}),this}get(){return this.data}static schema(){return ut().of(K({address:T().required(),bytecode:T().matches(/^(0x)?([0-9a-fA-F]{2})*$/).required(),abiHash:T().matches(/^[A-Fa-f0-9]{64}/).required(),function:T().required()}))}}class Me{static version(){return"v1"}static execute(e,t,r="v1"){const s=JSON.parse(JSON.stringify(t));let i=!0;for(const o of s){const a=Me.process(e,o.conditions);i=Me.execLogic(i,o.logic,a)}return i}static process(e,t,r){const s=t.shift();if(!s)return r===void 0?!0:r;const i=Me.execCondition(e,s);if(r===void 0||s.logic==="WHERE")return Me.process(e,t,i);if(s.logic===void 0)throw new Error("Invalid filter. FilterCondition must have logic value");const o=Me.execLogic(r,s.logic,i);return Me.process(e,t,o)}static execLogic(e,t,r){switch(t){case"AND":return e&&r;case"OR":return e||r;case"XOR":return(e||r)&&!(e&&r);case"NAND":return!(e&&r);case"NOR":return!(e&&r);case"WHERE":return r;default:throw new Error(`Invalid Filter. Bad logic value: ${t}`)}}static execCondition(e,t){const r=e[t.key];if(t.type==="Number"){if(typeof t.constant!="number"||typeof r!="number")throw new Error(`Invalid filter. Type miss-match. Type: ${t.type}, Variable: ${t.constant}, Data: ${r}`);const s=r,i=t.constant;switch(t.operation){case"eq":return s===i;case"!eq":return s!==i;case"gt":return s>i;case"gte":return s>=i;case"lt":return s<i;case"lte":return s<=i;default:throw new Error("Invalid Filter. Operation does not match type")}}if(t.type==="String"){if(typeof t.constant!="string"||typeof r!="string")throw new Error(`Invalid filter. Type miss-match. Type: ${t.type}, Variable: ${t.constant}, Data: ${r}`);const s=r,i=t.constant;switch(t.operation){case"contains":return s.includes(i);case"!contains":return!s.includes(i);case"is":return s===i;case"!is":return s!==i;case"isEmpty":return s==="";case"!isEmpty":return s!=="";default:throw new Error("Invalid Filter. Operation does not match type")}}if(t.type==="Address"){if(typeof t.constant!="string"||typeof r!="string")throw new Error(`Invalid filter. Type miss-match. Type: ${t.type}, Variable: ${t.constant}, Data: ${r}`);const s=r,i=t.constant;switch(t.operation){case"contains":return s.toLowerCase().includes(i.toLowerCase());case"!contains":return!s.toLowerCase().includes(i.toLowerCase());case"is":return s.toLowerCase()===i.toLowerCase();case"!is":return s.toLowerCase()!==i.toLowerCase();case"isEmpty":return s==="";case"!isEmpty":return s!=="";default:throw new Error("Invalid Filter. Operation does not match type")}}throw new Error("Invalid Filter. Unknown Type")}}class rr{constructor(){d(this,"groups",[]);this.newGroup("WHERE")}static version(){return Me.version()}static new(){return new rr}newGroup(e){if(this.groups.length!==0&&e==="WHERE")throw new Error('Only the first groups can start with "WHERE"');return this.groups.push({logic:"WHERE",conditions:[]}),this}addCondition(e,t,r,s,i){const o=this.groups[this.groups.length-1];if(o.conditions.length===0&&e!=="WHERE")throw new Error('Logic for the first condition of a group must be "WHERE"');if(o.conditions.length>0&&e==="WHERE")throw new Error('Only the first condition of a group can be "WHERE"');return o.conditions.push({logic:e,key:t,type:r,operation:s,constant:i}),this}finalise(){for(const e of this.groups)if(e.conditions.length===0)throw new Error("Bad Filter. All Groups must have atleast one condition");return this.groups}static schema(){const e=T().oneOf(["AND","OR","XOR","NAND","NOR","WHERE"]).required(),t=K({logic:e,key:T().required(),type:T().oneOf(["String","Address","Number"]).required(),operation:T().when("type",([r],s)=>{switch(r){case"String":return s.oneOf(["contains","!contains","is","!is","isEmpty","!isEmpty"]);case"Address":return s.oneOf(["is","!is","isEmpty","!isEmpty"]);case"Number":return s.oneOf(["eq","!eq","gt","gte","lt","lte"]);default:throw new Error("Invalid Filter Data Type")}}).required(),constant:oi().when("type",([r])=>{switch(r){case"String":return T();case"Address":return T();case"Number":return q();default:throw new Error("Invalid Filter Data Type")}}).required()});return ut().of(K({logic:e,conditions:ut().of(t).required()}))}}const ah="handler_function_call_v2",ch=/^(\d+)([SMHD])$/i,Ms=K({timeBase:T().oneOf(["blocks","time"]).required(),nBlocks:q().min(10).when("timeBase",([n],e)=>n==="blocks"?e.required():e),timePeriod:T().matches(ch,"timePeriod must be of the format n[s|m|h|d], eg 10s for 10 seconds").when("timeBase",([n],e)=>n==="time"?e.required():e),startTime:q().default(0),debounceCount:q().default(0),functions:gt.schema().required(),triggerOn:T().oneOf(["always","filter"]).default("always"),latch:Fn().default(!1),filterVersion:T().when("triggerOn",([n],e)=>n==="filter"?e.default("0"):e.nullable().default(null)).required(),filter:rr.schema().when("triggerOn",([n],e)=>n==="filter"?e.required():e.nullable().default(null)).required()});class nn{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:ah,handler:await this.validate(r)}}static validate(e){return Ms.validateSync(e)}static async convertFromPartial(e){return Ms.validate(e)}static readFields(e,t){const r=[{source:"defaults",label:"Network",type:"string",key:"network"},{source:"defaults",label:"Timestamp",type:"number",key:"timestamp"},{source:"defaults",label:"Time GMT",type:"number",key:"timeStringGMT"},{source:"defaults",label:"Block",type:"number",key:"block"},{source:"defaults",label:"Time Period",type:"number",key:"timePeriod"}];if(!e.functions)return r;console.log(e.functions);const s=e.functions.map(i=>t[i.abiHash]);return console.log(s),[...gt.readFields(e.functions,s),...r]}}const uh="handler_onchain_event_v2",lh=K({addresses:ut().of(T().required()).required(),abiHash:T().required(),event:T().required(),debounceCount:q().default(0),functions:gt.schema().nullable().default(null),triggerOn:T().oneOf(["always","filter"]).default("always"),latch:Fn().default(!1),filterVersion:T().nullable().default(null),filter:rr.schema().when("triggerOn",([n],e)=>n==="filter"?e:e.nullable().default(null)).required()}),hh=n=>n,Yi=(n,e,t=[],r="",s="")=>(n.forEach((i,o)=>{const a=i.type.includes("["),c=a?"_[]":"";if(i.components){const u=i.name===""?`${o}`:i.name;Yi(i.components,e,t,`${r}${o}${c}_`,`${u}${a?"[]":""}.`)}else t.push({source:e,label:`${s}${i.name}`,type:hh(i.type),key:`${r}${o}${c}`,index:o})}),t);class sn{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:uh,handler:await this.validate(r)}}static validate(e){return lh.validateSync(e)}static readFields(e,t){let r=[{source:"defaults",label:"Network",type:"string",key:"network"},{source:"defaults",label:"Timestamp",type:"number",key:"timestamp"},{source:"defaults",label:"Time GMT",type:"string",key:"timeStringGMT"},{source:"defaults",label:"Block",type:"number",key:"block"},{source:"defaults",label:"Time Period",type:"string",key:"timePeriod"},{source:"defaults",label:"Block Hash",type:"string",key:"blockHash"},{source:"defaults",label:"Transaction Hash",type:"string",key:"txHash"},{source:"defaults",label:"Event",type:"string",key:"event"}];if(!e.abiHash)throw new Error("abiHash is required for onchain event v2");if(!t[e.abiHash])throw new Error("ABI for hash not found in abis");const s=t[e.abiHash].find(o=>o.name===e.event);if(r=Yi(s.inputs,`${e.event} Event`,r,"param_"),!e.functions)return r;const i=e.functions.map(o=>t[o.abiHash]);return[...gt.readFields(e.functions,i),...r]}}class Ht{static SimpleToRaw(e,t,r,s){switch(t){case"PollFunctionV2":return nn.SimpleToRaw(e,r,s);case"PollFunctionV1":return gs.SimpleToRaw(e,r,s);case"OnchainEventV1":return ws.SimpleToRaw(e,r,s);case"OnchainEventV2":return sn.SimpleToRaw(e,r,s);default:throw new Error("Invalid Trigger ID")}}static Validate(e,t){switch(e){case"PollFunctionV2":return nn.validate(t);case"PollFunctionV1":return gs.validate(t);case"OnchainEventV1":return ws.validate(t);case"OnchainEventV2":return sn.validate(t);default:throw new Error("Invalid Trigger ID")}}static RawToSimple(e){return{...{error:e.error,error_message:e.error_message,error_timestamp:e.error_timestamp},...e.handler}}static SimpleTypeToRawType(e){switch(e){case"PollFunctionV2":return"handler_function_call_v2";case"PollFunctionV1":return"handler_function_call";case"OnchainEventV1":return"handler_onchain_event";case"OnchainEventV2":return"handler_onchain_event_v2";default:throw new Error("Invalid Trigger ID")}}static RawTypeToSimpleType(e){switch(e){case"handler_function_call_v2":return"PollFunctionV2";case"handler_function_call":return"PollFunctionV1";case"handler_onchain_event":return"OnchainEventV1";case"handler_onchain_event_v2":return"OnchainEventV2";default:throw new Error("Invalid Trigger ID")}}static readFields(e,t,r){switch(e){case"PollFunctionV2":return nn.readFields(t,r);case"OnchainEventV2":return sn.readFields(t,r);default:throw new Error("Invalid Trigger ID")}}}const Vs=n=>`https://${n}.functions.supabase.co/`,zs=n=>`https://${n}.supabase.co/`,qs="fdgtrxmmrtlokhgkvcjz",fh="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImZkZ3RyeG1tcnRsb2toZ2t2Y2p6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2NzMwODcwNzYsImV4cCI6MTk4ODY2MzA3Nn0.sAMxjlcJSSozBGr-LNcsudyxzUEM9e-UspMHHQLqLr4";class Kn{constructor(e,t){d(this,"headers",{});this.url=e,this.headers={Authorization:`Bearer ${t}`,"Content-Type":"application/json"}}static async create(e){var t,r;if(e.key)throw new Error("Auth by key not yet supported");if(e.email&&e.password){const s=e.projectId?zs(e.projectId):zs(qs),i=e.projectId?Vs(e.projectId):Vs(qs),o=e.anonKey?e.anonKey:fh,a=sc(s,o),{data:c,error:u}=await a.auth.signInWithPassword({email:e.email,password:e.password});if(u)throw u;if(((t=c.session)==null?void 0:t.access_token)===void 0)throw new Error("Access token not found");return new Kn(i,(r=c.session)==null?void 0:r.access_token)}else throw new Error("Authentication Required. DeNotify supports either username/password or API key authentication")}async alertHistory(e,t){const r="alert-history",s=t||{};return e&&(s.id=e),Object.keys(s).length>0?await this.request("get",r,{params:t}):await this.request("get",r)}async getAlert(e){const t=(await this.request("get",`alerts/${e}`))[0];return await this.decode(t)}async getAlerts(){const e=await this.request("get","alerts");return Promise.all(e.map(t=>this.decode(t)))}async createAlert(e){const t=await this.encode(e);return await this.request("post","alerts",{body:t})}async notificationTest(e){return await this.request("post","notification-test",{body:e})}async updateRawTrigger(e,t){const r={};if(t.name!==void 0&&(r.nickname=t.name),t.enabled!==void 0&&(r.enabled=t.enabled),Object.keys(r).length===0)throw new Error("No suitable fields");await this.request("patch",`alerts/trigger/${e}`,{body:r})}async updateAlert(e,t){const r=[],{trigger:s,notification:i,...o}=t;return(o.name!=null||o.enabled!=null)&&r.push(this.updateRawTrigger(e,o)),s&&r.push(this.updateRawHandler(e,s)),i&&r.push(this.updateRawNotify(e,i)),await Promise.all(r),await this.getAlert(e)}async deleteAlert(e){return await this.request("delete",`alerts/${e}`)}async decode(e){return{id:e.alertId,enabled:e.trigger.enabled,name:e.trigger.nickname,network:e.trigger.network,triggered:e.trigger.triggered,triggerId:Ht.RawTypeToSimpleType(e.trigger.type),trigger:await Ht.RawToSimple(e.trigger),notificationId:Qr.RawTypeToSimpleType(e.notification.notify_type),notification:await Qr.RawToSimple(e.notification)}}async encode(e){return{trigger:await Ht.SimpleToRaw(e.name,e.triggerId,e.network,e.trigger),notification:await Qr.SimpleToRaw(e.notificationId,e.notification)}}async request(e,t,r={}){const s=new URL(t,this.url);if(r.params)for(const a of Object.keys(r.params))s.searchParams.append(a,r.params[a]);const i={method:e.toUpperCase(),headers:this.headers};r.body&&(i.body=JSON.stringify(r.body));const o=await fetch(s.toString(),i);if(o.status!==200)throw new Error(o.statusText);return o.json()}readFields(e,t,r){return Ht.readFields(e,t,r)}async getAbi(e,t){return await this.request("get",`abi/${e}/${t}`)}async getAbiHash(e){return(await this.request("post","abi",{body:e})).hash}async updateRawNotify(e,t){return await this.request("patch",`alerts/notify/${e}`,{body:t})}async updateRawHandler(e,t){return await this.request("patch",`alerts/trigger-handler/${e}`,{body:t})}}class Xn{constructor(e){d(this,"network");d(this,"triggerId");d(this,"trigger");d(this,"notificationId");d(this,"notification");this.name=e}static create(e){return new Xn(e)}onNetwork(e){return this.network=e,this}withTrigger(e,t){return this.triggerId=e,this.trigger=Ht.Validate(e,t),this}withNotification(e,t){return this.notificationId=e,this.notification=t,this}async config(){if(this.trigger===void 0||this.triggerId===void 0)throw new Error("Trigger not configured");if(this.notification===void 0||this.notificationId===void 0)throw new Error("Notification not configured");if(this.network===void 0)throw new Error("Network not configured");return{name:this.name,network:this.network,triggerId:this.triggerId,trigger:this.trigger,notificationId:this.notificationId,notification:this.notification}}}const dh=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ph=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));exports.AlertBuilder=Xn;exports.DeNotifyClient=Kn;exports.FilterBuilder=rr;exports.FunctionBuilder=gt;exports.Notification=ph;exports.Trigger=dh;