denotify-client 1.1.19 → 1.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/denotify-client.cjs +4 -4
- package/dist/denotify-client.d.ts +27 -46
- package/dist/denotify-client.iife.js +4 -4
- package/dist/denotify-client.mjs +1642 -1522
- package/package.json +1 -1
@@ -1,6 +1,6 @@
|
|
1
|
-
var denotifyClient=function(P){var Mt,st,We,St,zt,mn,fe,me,cn,ya,At,Z,xe,dr,Fs,Vt,gn,it,Wt,Pe,Ne,$e,te,pr,Ds,yr,Us,mr,ot,Jt,gr,wr,ed;"use strict";var td=Object.defineProperty;var rd=(P,D,z)=>D in P?td(P,D,{enumerable:!0,configurable:!0,writable:!0,value:z}):P[D]=z;var m=(P,D,z)=>(rd(P,typeof D!="symbol"?D+"":D,z),z),Is=(P,D,z)=>{if(!D.has(P))throw TypeError("Cannot "+z)};var v=(P,D,z)=>(Is(P,D,"read from private field"),z?z.call(P):D.get(P)),H=(P,D,z)=>{if(D.has(P))throw TypeError("Cannot add the same private member more than once");D instanceof WeakSet?D.add(P):D.set(P,z)},F=(P,D,z,kt)=>(Is(P,D,"write to private field"),kt?kt.call(P,z):D.set(P,z),z),pa=(P,D,z,kt)=>({set _(Kt){F(P,D,Kt,z)},get _(){return v(P,D,kt)}}),G=(P,D,z)=>(Is(P,D,"access private method"),z);function D(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 z=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 kt=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>z(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>_r)).fetch(...t)}):e=fetch,(...t)=>e(...t)};class Kt extends Error{constructor(e,t="FunctionsError",r){super(e),super.name=t,this.context=r}}class ma extends Kt{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class ga extends Kt{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class wa extends Kt{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var ba=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 va{constructor(e,{headers:t={},customFetch:r}={}){this.url=e,this.headers=t,this.fetch=kt(r)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e,t={}){var r;return ba(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(f=>{throw new ma(f)}),l=u.headers.get("x-relay-error");if(l&&l==="true")throw new ga(u);if(!u.ok)throw new wa(u);let h=((r=u.headers.get("Content-Type"))!==null&&r!==void 0?r:"text/plain").split(";")[0].trim(),p;return h==="application/json"?p=yield u.json():h==="application/octet-stream"?p=yield u.blob():h==="multipart/form-data"?p=yield u.formData():p=yield u.text(),{data:p,error:null}}catch(s){return{data:null,error:s}}})}}var _a=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ea(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Rt={},xa={get exports(){return Rt},set exports(n){Rt=n}};(function(n,e){var t=typeof self<"u"?self:_a,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(y){return y&&DataView.prototype.isPrototypeOf(y)}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(y){return y&&u.indexOf(Object.prototype.toString.call(y))>-1};function h(y){if(typeof y!="string"&&(y=String(y)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(y))throw new TypeError("Invalid character in header field name");return y.toLowerCase()}function p(y){return typeof y!="string"&&(y=String(y)),y}function f(y){var _={next:function(){var A=y.shift();return{done:A===void 0,value:A}}};return a.iterable&&(_[Symbol.iterator]=function(){return _}),_}function d(y){this.map={},y instanceof d?y.forEach(function(_,A){this.append(A,_)},this):Array.isArray(y)?y.forEach(function(_){this.append(_[0],_[1])},this):y&&Object.getOwnPropertyNames(y).forEach(function(_){this.append(_,y[_])},this)}d.prototype.append=function(y,_){y=h(y),_=p(_);var A=this.map[y];this.map[y]=A?A+", "+_:_},d.prototype.delete=function(y){delete this.map[h(y)]},d.prototype.get=function(y){return y=h(y),this.has(y)?this.map[y]:null},d.prototype.has=function(y){return this.map.hasOwnProperty(h(y))},d.prototype.set=function(y,_){this.map[h(y)]=p(_)},d.prototype.forEach=function(y,_){for(var A in this.map)this.map.hasOwnProperty(A)&&y.call(_,this.map[A],A,this)},d.prototype.keys=function(){var y=[];return this.forEach(function(_,A){y.push(A)}),f(y)},d.prototype.values=function(){var y=[];return this.forEach(function(_){y.push(_)}),f(y)},d.prototype.entries=function(){var y=[];return this.forEach(function(_,A){y.push([A,_])}),f(y)},a.iterable&&(d.prototype[Symbol.iterator]=d.prototype.entries);function w(y){if(y.bodyUsed)return Promise.reject(new TypeError("Already read"));y.bodyUsed=!0}function b(y){return new Promise(function(_,A){y.onload=function(){_(y.result)},y.onerror=function(){A(y.error)}})}function O(y){var _=new FileReader,A=b(_);return _.readAsArrayBuffer(y),A}function $(y){var _=new FileReader,A=b(_);return _.readAsText(y),A}function q(y){for(var _=new Uint8Array(y),A=new Array(_.length),re=0;re<_.length;re++)A[re]=String.fromCharCode(_[re]);return A.join("")}function B(y){if(y.slice)return y.slice(0);var _=new Uint8Array(y.byteLength);return _.set(new Uint8Array(y)),_.buffer}function Ce(){return this.bodyUsed=!1,this._initBody=function(y){this._bodyInit=y,y?typeof y=="string"?this._bodyText=y:a.blob&&Blob.prototype.isPrototypeOf(y)?this._bodyBlob=y:a.formData&&FormData.prototype.isPrototypeOf(y)?this._bodyFormData=y:a.searchParams&&URLSearchParams.prototype.isPrototypeOf(y)?this._bodyText=y.toString():a.arrayBuffer&&a.blob&&c(y)?(this._bodyArrayBuffer=B(y.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(y)||l(y))?this._bodyArrayBuffer=B(y):this._bodyText=y=Object.prototype.toString.call(y):this._bodyText="",this.headers.get("content-type")||(typeof y=="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(y)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},a.blob&&(this.blob=function(){var y=w(this);if(y)return y;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?w(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(O)}),this.text=function(){var y=w(this);if(y)return y;if(this._bodyBlob)return $(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(q(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(dn)}),this.json=function(){return this.text().then(JSON.parse)},this}var br=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function fn(y){var _=y.toUpperCase();return br.indexOf(_)>-1?_:y}function Oe(y,_){_=_||{};var A=_.body;if(y instanceof Oe){if(y.bodyUsed)throw new TypeError("Already read");this.url=y.url,this.credentials=y.credentials,_.headers||(this.headers=new d(y.headers)),this.method=y.method,this.mode=y.mode,this.signal=y.signal,!A&&y._bodyInit!=null&&(A=y._bodyInit,y.bodyUsed=!0)}else this.url=String(y);if(this.credentials=_.credentials||this.credentials||"same-origin",(_.headers||!this.headers)&&(this.headers=new d(_.headers)),this.method=fn(_.method||this.method||"GET"),this.mode=_.mode||this.mode||null,this.signal=_.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&A)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(A)}Oe.prototype.clone=function(){return new Oe(this,{body:this._bodyInit})};function dn(y){var _=new FormData;return y.trim().split("&").forEach(function(A){if(A){var re=A.split("="),Q=re.shift().replace(/\+/g," "),L=re.join("=").replace(/\+/g," ");_.append(decodeURIComponent(Q),decodeURIComponent(L))}}),_}function V(y){var _=new d,A=y.replace(/\r?\n[\t ]+/g," ");return A.split(/\r?\n/).forEach(function(re){var Q=re.split(":"),L=Q.shift().trim();if(L){var yn=Q.join(":").trim();_.append(L,yn)}}),_}Ce.call(Oe.prototype);function Y(y,_){_||(_={}),this.type="default",this.status=_.status===void 0?200:_.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in _?_.statusText:"OK",this.headers=new d(_.headers),this.url=_.url||"",this._initBody(y)}Ce.call(Y.prototype),Y.prototype.clone=function(){return new Y(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},Y.error=function(){var y=new Y(null,{status:0,statusText:""});return y.type="error",y};var pn=[301,302,303,307,308];Y.redirect=function(y,_){if(pn.indexOf(_)===-1)throw new RangeError("Invalid status code");return new Y(null,{status:_,headers:{location:y}})},o.DOMException=i.DOMException;try{new o.DOMException}catch{o.DOMException=function(_,A){this.message=_,this.name=A;var re=Error(_);this.stack=re.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function Gt(y,_){return new Promise(function(A,re){var Q=new Oe(y,_);if(Q.signal&&Q.signal.aborted)return re(new o.DOMException("Aborted","AbortError"));var L=new XMLHttpRequest;function yn(){L.abort()}L.onload=function(){var vr={status:L.status,statusText:L.statusText,headers:V(L.getAllResponseHeaders()||"")};vr.url="responseURL"in L?L.responseURL:vr.headers.get("X-Request-URL");var Cs="response"in L?L.response:L.responseText;A(new Y(Cs,vr))},L.onerror=function(){re(new TypeError("Network request failed"))},L.ontimeout=function(){re(new TypeError("Network request failed"))},L.onabort=function(){re(new o.DOMException("Aborted","AbortError"))},L.open(Q.method,Q.url,!0),Q.credentials==="include"?L.withCredentials=!0:Q.credentials==="omit"&&(L.withCredentials=!1),"responseType"in L&&a.blob&&(L.responseType="blob"),Q.headers.forEach(function(vr,Cs){L.setRequestHeader(Cs,vr)}),Q.signal&&(Q.signal.addEventListener("abort",yn),L.onreadystatechange=function(){L.readyState===4&&Q.signal.removeEventListener("abort",yn)}),L.send(typeof Q._bodyInit>"u"?null:Q._bodyInit)})}return Gt.polyfill=!0,i.fetch||(i.fetch=Gt,i.Headers=d,i.Request=Oe,i.Response=Y),o.Headers=d,o.Request=Oe,o.Response=Y,o.fetch=Gt,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})(xa,Rt);const wn=Ea(Rt),_r=D({__proto__:null,default:wn},[Rt]);class Oa{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=wn: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,p=i.status,f=i.statusText;if(i.ok){if(this.method!=="HEAD"){const O=await i.text();O===""||(this.headers.Accept==="text/csv"||this.headers.Accept&&this.headers.Accept.includes("application/vnd.pgrst.plan+text")?l=O:l=JSON.parse(O))}const w=(o=this.headers.Prefer)===null||o===void 0?void 0:o.match(/count=(exact|planned|estimated)/),b=(a=i.headers.get("content-range"))===null||a===void 0?void 0:a.split("/");w&&b&&b.length>1&&(h=parseInt(b[1]))}else{const w=await i.text();try{u=JSON.parse(w),Array.isArray(u)&&i.status===404&&(l=[],u=null,p=200,f="OK")}catch{i.status===404&&w===""?(p=204,f="No Content"):u={message:w}}if(u&&this.allowEmpty&&(!((c=u==null?void 0:u.details)===null||c===void 0)&&c.includes("Results contain 0 rows"))&&(u=null,p=200,f="OK"),u&&this.shouldThrowOnError)throw u}return{error:u,data:l,count:h,status:p,statusText:f}});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 Ta extends Oa{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 Pt extends Ta{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 Sa{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 Pt({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 Pt({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 Pt({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 Pt({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 Pt({method:t,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}}const Aa={"X-Client-Info":"postgrest-js/1.4.1"};class ka{constructor(e,{headers:t={},schema:r,fetch:s}={}){this.url=e,this.headers=Object.assign(Object.assign({},Aa),t),this.schema=r,this.fetch=s}from(e){const t=new URL(`${this.url}/${e}`);return new Sa(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 Pt({method:i,url:o,headers:c,schema:this.schema,body:a,fetch:this.fetch,allowEmpty:!1})}}var bn,Ls;function Ra(){if(Ls)return bn;Ls=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 bn=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__}}(),bn}var Pa={name:"websocket",description:"Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.",keywords:["websocket","websockets","socket","networking","comet","push","RFC-6455","realtime","server","client"],author:"Brian McKelvey <theturtle32@gmail.com> (https://github.com/theturtle32)",contributors:["Iñaki Baz Castillo <ibc@aliax.net> (http://dev.sipdoc.net)"],version:"1.0.34",repository:{type:"git",url:"https://github.com/theturtle32/WebSocket-Node.git"},homepage:"https://github.com/theturtle32/WebSocket-Node",engines:{node:">=4.0.0"},dependencies:{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"},devDependencies:{"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"},config:{verbose:!1},scripts:{test:"tape test/unit/*.js",gulp:"gulp"},main:"index",directories:{lib:"./lib"},browser:"lib/browser.js",license:"Apache-2.0"}.version,at;if(typeof globalThis=="object")at=globalThis;else try{at=Ra()}catch{}finally{if(!at&&typeof window<"u"&&(at=window),!at)throw new Error("Could not determine global this")}var Xt=at.WebSocket||at.MozWebSocket,Na=Pa;function js(n,e){var t;return e?t=new Xt(n,e):t=new Xt(n),t}Xt&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(n){Object.defineProperty(js,n,{get:function(){return Xt[n]}})});var $a={w3cwebsocket:Xt?js:null,version:Na};const Ca={"X-Client-Info":"realtime-js/2.6.0"},Ia="1.0.0",Bs=1e4,Fa=1e3;var Zt;(function(n){n[n.connecting=0]="connecting",n[n.open=1]="open",n[n.closing=2]="closing",n[n.closed=3]="closed"})(Zt||(Zt={}));var ue;(function(n){n.closed="closed",n.errored="errored",n.joined="joined",n.joining="joining",n.leaving="leaving"})(ue||(ue={}));var we;(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"})(we||(we={}));var vn;(function(n){n.websocket="websocket"})(vn||(vn={}));var ct;(function(n){n.Connecting="connecting",n.Open="open",n.Closing="closing",n.Closed="closed"})(ct||(ct={}));class Hs{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 Da{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 _n{constructor(e,t,r={},s=Bs){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 Ms;(function(n){n.SYNC="sync",n.JOIN="join",n.LEAVE="leave"})(Ms||(Ms={}));class Yt{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=Yt.syncState(this.state,s,i,o),this.pendingDiffs.forEach(c=>{this.state=Yt.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=Yt.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 p=l.map(b=>b.presence_ref),f=h.map(b=>b.presence_ref),d=l.filter(b=>f.indexOf(b.presence_ref)<0),w=h.filter(b=>p.indexOf(b.presence_ref)<0);d.length>0&&(a[u]=d),w.length>0&&(c[u]=w)}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(f=>f.presence_ref),p=l.filter(f=>h.indexOf(f.presence_ref)<0);e[a].unshift(...p)}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 j;(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"})(j||(j={}));const zs=(n,e,t={})=>{var r;const s=(r=t.skipTypes)!==null&&r!==void 0?r:[];return Object.keys(e).reduce((i,o)=>(i[o]=Ua(o,n,e,s),i),{})},Ua=(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)?Vs(i,o):En(o)},Vs=(n,e)=>{if(n.charAt(0)==="_"){const t=n.slice(1,n.length);return Ha(e,t)}switch(n){case j.bool:return La(e);case j.float4:case j.float8:case j.int2:case j.int4:case j.int8:case j.numeric:case j.oid:return ja(e);case j.json:case j.jsonb:return Ba(e);case j.timestamp:return Ma(e);case j.abstime:case j.date:case j.daterange:case j.int4range:case j.int8range:case j.money:case j.reltime:case j.text:case j.time:case j.timestamptz:case j.timetz:case j.tsrange:case j.tstzrange:return En(e);default:return En(e)}},En=n=>n,La=n=>{switch(n){case"t":return!0;case"f":return!1;default:return n}},ja=n=>{if(typeof n=="string"){const e=parseFloat(n);if(!Number.isNaN(e))return e}return n},Ba=n=>{if(typeof n=="string")try{return JSON.parse(n)}catch(e){return console.log(`JSON parse error: ${e}`),n}return n},Ha=(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=>Vs(e,a))}return n},Ma=n=>typeof n=="string"?n.replace(" ","T"):n;var qs=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())})},Js;(function(n){n.ALL="*",n.INSERT="INSERT",n.UPDATE="UPDATE",n.DELETE="DELETE"})(Js||(Js={}));var Gs;(function(n){n.BROADCAST="broadcast",n.PRESENCE="presence",n.POSTGRES_CHANGES="postgres_changes"})(Gs||(Gs={}));var Ws;(function(n){n.SUBSCRIBED="SUBSCRIBED",n.TIMED_OUT="TIMED_OUT",n.CLOSED="CLOSED",n.CHANNEL_ERROR="CHANNEL_ERROR"})(Ws||(Ws={}));class xn{constructor(e,t={config:{}},r){this.topic=e,this.params=t,this.socket=r,this.bindings={},this.state=ue.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 _n(this,we.join,this.params,this.timeout),this.rejoinTimer=new Hs(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=ue.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=ue.closed,this.socket._remove(this)}),this._onError(s=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,s),this.state=ue.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=ue.errored,this.rejoinTimer.scheduleTimeout())}),this._on(we.reply,{},(s,i)=>{this._trigger(this._replyEventName(i),s)}),this.presence=new Yt(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,p=(l=h==null?void 0:h.length)!==null&&l!==void 0?l:0,f=[];for(let d=0;d<p;d++){const w=h[d],{filter:{event:b,schema:O,table:$,filter:q}}=w,B=u&&u[d];if(B&&B.event===b&&B.schema===O&&B.table===$&&B.filter===q)f.push(Object.assign(Object.assign({},w),{id:B.id}));else{this.unsubscribe(),e&&e("CHANNEL_ERROR",new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=f,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 qs(this,void 0,void 0,function*(){return yield this.send({type:"presence",event:"track",payload:e},t.timeout||this.timeout)})}untrack(e={}){return qs(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=ue.leaving;const t=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(we.close,"leave",this._joinRef())};return this.rejoinTimer.reset(),this.joinPush.destroy(),new Promise(r=>{const s=new _n(this,we.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 _n(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}=we;if(r&&[a,c,u,l].indexOf(o)>=0&&r!==this._joinRef())return;let p=this._onMessage(o,t,r);if(t&&!p)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(f=>{var d,w,b;return((d=f.filter)===null||d===void 0?void 0:d.event)==="*"||((b=(w=f.filter)===null||w===void 0?void 0:w.event)===null||b===void 0?void 0:b.toLocaleLowerCase())===o}).map(f=>f.callback(p,r)):(i=this.bindings[o])===null||i===void 0||i.filter(f=>{var d,w,b,O,$,q;if(["broadcast","presence","postgres_changes"].includes(o))if("id"in f){const B=f.id,Ce=(d=f.filter)===null||d===void 0?void 0:d.event;return B&&((w=t.ids)===null||w===void 0?void 0:w.includes(B))&&(Ce==="*"||(Ce==null?void 0:Ce.toLocaleLowerCase())===((b=t.data)===null||b===void 0?void 0:b.type.toLocaleLowerCase()))}else{const B=($=(O=f==null?void 0:f.filter)===null||O===void 0?void 0:O.event)===null||$===void 0?void 0:$.toLocaleLowerCase();return B==="*"||B===((q=t==null?void 0:t.event)===null||q===void 0?void 0:q.toLocaleLowerCase())}else return f.type.toLocaleLowerCase()===o}).map(f=>{if(typeof p=="object"&&"ids"in p){const d=p.data,{schema:w,table:b,commit_timestamp:O,type:$,errors:q}=d;p=Object.assign(Object.assign({},{schema:w,table:b,commit_timestamp:O,eventType:$,new:{},old:{},errors:q}),this._getPayloadRecords(d))}f.callback(p,r)})}_isClosed(){return this.state===ue.closed}_isJoined(){return this.state===ue.joined}_isJoining(){return this.state===ue.joining}_isLeaving(){return this.state===ue.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&&xn.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(we.close,{},e)}_onError(e){this._on(we.error,{},t=>e(t))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=ue.joining,this.joinPush.resend(e))}_getPayloadRecords(e){const t={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(t.new=zs(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(t.old=zs(e.columns,e.old_record)),t}}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 Va=()=>{};class qa{constructor(e,t){var r;this.accessToken=null,this.channels=[],this.endPoint="",this.headers=Ca,this.params={},this.timeout=Bs,this.transport=$a.w3cwebsocket,this.heartbeatIntervalMs=3e4,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.ref=0,this.logger=Va,this.conn=null,this.sendBuffer=[],this.serializer=new Da,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.eventsPerSecondLimitMs=100,this.inThrottle=!1,this.endPoint=`${e}/${vn.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 Hs(()=>za(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 Zt.connecting:return ct.Connecting;case Zt.open:return ct.Open;case Zt.closing:return ct.Closing;default:return ct.Closed}}isConnected(){return this.connectionState()===ct.Open}channel(e,t={config:{}}){this.isConnected()||this.connect();const r=new xn(`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(we.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:Ia}))}_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(we.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(Fa,"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 ie(n){return typeof n=="object"&&n!==null&&"__isStorageError"in n}class Ja 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 Xs extends Ks{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(()=>_r)).fetch(...t)}):e=fetch,(...t)=>e(...t)},Ga=()=>Zs(void 0,void 0,void 0,function*(){return typeof Response>"u"?(yield Promise.resolve().then(()=>_r)).Response:Response});var Nt=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 On=n=>n.msg||n.message||n.error_description||n.error||JSON.stringify(n),Wa=(n,e)=>Nt(void 0,void 0,void 0,function*(){const t=yield Ga();n instanceof t?n.json().then(r=>{e(new Ja(On(r),n.status||500))}).catch(r=>{e(new Xs(On(r),r))}):e(new Xs(On(n),n))}),Ka=(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 Er(n,e,t,r,s,i){return Nt(this,void 0,void 0,function*(){return new Promise((o,a)=>{n(t,Ka(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=>Wa(c,a))})})}function Tn(n,e,t,r){return Nt(this,void 0,void 0,function*(){return Er(n,"GET",e,t,r)})}function ut(n,e,t,r,s){return Nt(this,void 0,void 0,function*(){return Er(n,"POST",e,r,s,t)})}function Xa(n,e,t,r,s){return Nt(this,void 0,void 0,function*(){return Er(n,"PUT",e,r,s,t)})}function Qs(n,e,t,r,s){return Nt(this,void 0,void 0,function*(){return Er(n,"DELETE",e,r,s,t)})}var Te=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 Za={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},Ya={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class Qa{constructor(e,t={},r,s){this.url=e,this.headers=t,this.bucketId=r,this.fetch=Ys(s)}uploadOrUpdate(e,t,r,s){return Te(this,void 0,void 0,function*(){try{let i;const o=Object.assign(Object.assign({},Ya),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(ie(i))return{data:null,error:i};throw i}})}upload(e,t,r){return Te(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",e,t,r)})}update(e,t,r){return Te(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",e,t,r)})}move(e,t){return Te(this,void 0,void 0,function*(){try{return{data:yield ut(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers}),error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}})}copy(e,t){return Te(this,void 0,void 0,function*(){try{return{data:{path:(yield ut(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers})).Key},error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}})}createSignedUrl(e,t,r){return Te(this,void 0,void 0,function*(){try{let s=this._getFinalPath(e),i=yield ut(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(ie(s))return{data:null,error:s};throw s}})}createSignedUrls(e,t,r){return Te(this,void 0,void 0,function*(){try{const s=yield ut(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(ie(s))return{data:null,error:s};throw s}})}download(e,t){return Te(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 Tn(this.fetch,`${this.url}/${s}/${a}${o}`,{headers:this.headers,noResolveJson:!0})).blob(),error:null}}catch(a){if(ie(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 Te(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(ie(t))return{data:null,error:t};throw t}})}list(e,t,r){return Te(this,void 0,void 0,function*(){try{const s=Object.assign(Object.assign(Object.assign({},Za),t),{prefix:e||""});return{data:yield ut(this.fetch,`${this.url}/object/list/${this.bucketId}`,s,{headers:this.headers},r),error:null}}catch(s){if(ie(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 ec={"X-Client-Info":"storage-js/2.3.1"};var $t=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 tc{constructor(e,t={},r){this.url=e,this.headers=Object.assign(Object.assign({},ec),t),this.fetch=Ys(r)}listBuckets(){return $t(this,void 0,void 0,function*(){try{return{data:yield Tn(this.fetch,`${this.url}/bucket`,{headers:this.headers}),error:null}}catch(e){if(ie(e))return{data:null,error:e};throw e}})}getBucket(e){return $t(this,void 0,void 0,function*(){try{return{data:yield Tn(this.fetch,`${this.url}/bucket/${e}`,{headers:this.headers}),error:null}}catch(t){if(ie(t))return{data:null,error:t};throw t}})}createBucket(e,t={public:!1}){return $t(this,void 0,void 0,function*(){try{return{data:yield ut(this.fetch,`${this.url}/bucket`,{id:e,name:e,public:t.public},{headers:this.headers}),error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}})}updateBucket(e,t){return $t(this,void 0,void 0,function*(){try{return{data:yield Xa(this.fetch,`${this.url}/bucket/${e}`,{id:e,name:e,public:t.public},{headers:this.headers}),error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}})}emptyBucket(e){return $t(this,void 0,void 0,function*(){try{return{data:yield ut(this.fetch,`${this.url}/bucket/${e}/empty`,{},{headers:this.headers}),error:null}}catch(t){if(ie(t))return{data:null,error:t};throw t}})}deleteBucket(e){return $t(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(ie(t))return{data:null,error:t};throw t}})}}class rc extends tc{constructor(e,t={},r){super(e,t,r)}from(e){return new Qa(this.url,this.headers,e,this.fetch)}}const nc={"X-Client-Info":"supabase-js/2.10.0"};var sc=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 ic=n=>{let e;return n?e=n:typeof fetch>"u"?e=wn:e=fetch,(...t)=>e(...t)},oc=()=>typeof Headers>"u"?Rt.Headers:Headers,ac=(n,e,t)=>{const r=ic(t),s=oc();return(i,o)=>sc(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 cc(n){return n.replace(/\/$/,"")}function uc(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 Qt=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 lc(n){return Math.round(Date.now()/1e3)+n}function hc(){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 lt=()=>typeof document<"u",ht={tested:!1,writable:!1},Sn=()=>{if(!lt())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(ht.tested)return ht.writable;const n=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(n,n),globalThis.localStorage.removeItem(n),ht.tested=!0,ht.writable=!0}catch{ht.tested=!0,ht.writable=!1}return ht.writable};function de(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)=>Qt(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>_r)).fetch(...t)}):e=fetch,(...t)=>e(...t)},fc=n=>typeof n=="object"&&n!==null&&"status"in n&&"ok"in n&&"json"in n&&typeof n.json=="function",dc=(n,e,t)=>Qt(void 0,void 0,void 0,function*(){yield n.setItem(e,JSON.stringify(t))}),ti=(n,e)=>Qt(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}}),pc=(n,e)=>Qt(void 0,void 0,void 0,function*(){yield n.removeItem(e)});function yc(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 xr{constructor(){this.promise=new xr.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}}xr.promiseConstructor=Promise;function ri(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(yc(r))}function mc(n){return new Promise(e=>{setTimeout(()=>e(null),n)})}function gc(n,e){return new Promise((r,s)=>{Qt(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 An extends Error{constructor(e,t){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=t}}function I(n){return typeof n=="object"&&n!==null&&"__isAuthError"in n}class wc extends An{constructor(e,t){super(e,t),this.name="AuthApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}function bc(n){return I(n)&&n.name==="AuthApiError"}class ni extends An{constructor(e,t){super(e),this.name="AuthUnknownError",this.originalError=t}}class Or extends An{constructor(e,t,r){super(e),this.name=t,this.status=r}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class er extends Or{constructor(){super("Auth session missing!","AuthSessionMissingError",400)}}class kn extends Or{constructor(e){super(e,"AuthInvalidCredentialsError",400)}}class Ie extends Or{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 Rn extends Or{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())})},vc=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 Tr=n=>n.msg||n.message||n.error_description||n.error||JSON.stringify(n),_c=(n,e)=>Pn(void 0,void 0,void 0,function*(){const t=[502,503,504];fc(n)?t.includes(n.status)?e(new Rn(Tr(n),n.status)):n.json().then(r=>{e(new wc(Tr(r),n.status||500))}).catch(r=>{e(new ni(Tr(r),r))}):e(new Rn(Tr(n),0))}),Ec=(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 U(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 xc(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 xc(n,e,t,r,s,i){return Pn(this,void 0,void 0,function*(){return new Promise((o,a)=>{n(t,Ec(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=>_c(c,a))})})}function ft(n){var e;let t=null;Ac(n)&&(t=Object.assign({},n),t.expires_at=lc(n.expires_in));const r=(e=n.user)!==null&&e!==void 0?e:n;return{data:{session:t,user:r},error:null}}function dt(n){var e;return{data:{user:(e=n.user)!==null&&e!==void 0?e:n},error:null}}function Oc(n){return{data:n,error:null}}function Tc(n){const{action_link:e,email_otp:t,hashed_token:r,redirect_to:s,verification_type:i}=n,o=vc(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 Sc(n){return n}function Ac(n){return n.access_token&&n.refresh_token&&n.expires_in}var Se=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())})},kc=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 Rc{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 Se(this,void 0,void 0,function*(){try{return yield U(this.fetch,"POST",`${this.url}/logout`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(t){if(I(t))return{data:null,error:t};throw t}})}inviteUserByEmail(e,t={}){return Se(this,void 0,void 0,function*(){try{return yield U(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:dt})}catch(r){if(I(r))return{data:{user:null},error:r};throw r}})}generateLink(e){return Se(this,void 0,void 0,function*(){try{const{options:t}=e,r=kc(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 U(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:Tc,redirectTo:t==null?void 0:t.redirectTo})}catch(t){if(I(t))return{data:{properties:null,user:null},error:t};throw t}})}createUser(e){return Se(this,void 0,void 0,function*(){try{return yield U(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:dt})}catch(t){if(I(t))return{data:{user:null},error:t};throw t}})}listUsers(e){var t,r,s,i,o,a,c;return Se(this,void 0,void 0,function*(){try{const u={nextPage:null,lastPage:0,total:0},l=yield U(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:Sc});if(l.error)throw l.error;const h=yield l.json(),p=(o=l.headers.get("x-total-count"))!==null&&o!==void 0?o:0,f=(c=(a=l.headers.get("link"))===null||a===void 0?void 0:a.split(","))!==null&&c!==void 0?c:[];return f.length>0&&(f.forEach(d=>{const w=parseInt(d.split(";")[0].split("=")[1].substring(0,1)),b=JSON.parse(d.split(";")[1].split("=")[1]);u[`${b}Page`]=w}),u.total=parseInt(p)),{data:Object.assign(Object.assign({},h),u),error:null}}catch(u){if(I(u))return{data:{users:[]},error:u};throw u}})}getUserById(e){return Se(this,void 0,void 0,function*(){try{return yield U(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:dt})}catch(t){if(I(t))return{data:{user:null},error:t};throw t}})}updateUserById(e,t){return Se(this,void 0,void 0,function*(){try{return yield U(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:dt})}catch(r){if(I(r))return{data:{user:null},error:r};throw r}})}deleteUser(e,t=!1){return Se(this,void 0,void 0,function*(){try{return yield U(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:dt})}catch(r){if(I(r))return{data:{user:null},error:r};throw r}})}_listFactors(e){return Se(this,void 0,void 0,function*(){try{const{data:t,error:r}=yield U(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(I(t))return{data:null,error:t};throw t}})}_deleteFactor(e){return Se(this,void 0,void 0,function*(){try{return{data:yield U(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(t){if(I(t))return{data:null,error:t};throw t}})}}const Pc="2.13.0",Nc="http://localhost:9999",$c="supabase.auth.token",Cc={"X-Client-Info":`gotrue-js/${Pc}`},Ic=10,Fc={getItem:n=>Sn()?globalThis.localStorage.getItem(n):null,setItem:(n,e)=>{Sn()&&globalThis.localStorage.setItem(n,e)},removeItem:n=>{Sn()&&globalThis.localStorage.removeItem(n)}};function Dc(){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())})};Dc();const Uc={url:Nc,storageKey:$c,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:Cc},Nn=10*1e3,Lc=3;class jc{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({},Uc),e);this.inMemorySession=null,this.storageKey=t.storageKey,this.autoRefreshToken=t.autoRefreshToken,this.persistSession=t.persistSession,this.storage=t.storage||Fc,this.admin=new Rc({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)},lt()&&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 I(e)?{error:e}:{error:new ni("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 U(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:ft})}else if("phone"in e){const{phone:u,password:l,options:h}=e;s=yield U(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:ft})}else throw new kn("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(I(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 U(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:ft})}else if("phone"in e){const{phone:o,password:a,options:c}=e;r=yield U(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:ft})}else throw new kn("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(I(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 U(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:ft}),{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(I(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 U(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 U(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 kn("You must provide either an email or phone number.")}catch(a){if(I(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 U(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:ft});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(I(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 U(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:Oc})}catch(i){if(I(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 ti(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 U(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:dt})}catch(s){if(I(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 er;const i=r.session,{data:o,error:a}=yield U(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:t==null?void 0:t.emailRedirectTo,body:e,jwt:i.access_token,xform:dt});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(I(r))return{data:{user:null},error:r};throw r}})}_decodeJWT(e){return ri(e)}setSession(e){return k(this,void 0,void 0,function*(){try{if(!e.access_token||!e.refresh_token)throw new er;const t=Date.now()/1e3;let r=t,s=!0,i=null;const o=ri(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(I(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 er;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(I(r))return{data:{user:null,session:null},error:r};throw r}})}_getSessionFromUrl(){return k(this,void 0,void 0,function*(){try{if(!lt())throw new Ie("No browser detected.");if(!this._isImplicitGrantFlow())throw new Ie("Not a valid implicit grant flow url.");const e=de("error_description");if(e){const w=de("error_code");if(!w)throw new Ie("No error_code detected.");const b=de("error");throw b?new Ie(e,{error:b,code:w}):new Ie("No error detected.")}const t=de("provider_token"),r=de("provider_refresh_token"),s=de("access_token");if(!s)throw new Ie("No access_token detected.");const i=de("expires_in");if(!i)throw new Ie("No expires_in detected.");const o=de("refresh_token");if(!o)throw new Ie("No refresh_token detected.");const a=de("token_type");if(!a)throw new Ie("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 p=l.user,f={provider_token:t,provider_refresh_token:r,access_token:s,expires_in:parseInt(i),expires_at:u,refresh_token:o,token_type:a,user:p},d=de("type");return window.location.hash="",{data:{session:f,redirectType:d},error:null}}catch(e){if(I(e))return{data:{session:null,redirectType:null},error:e};throw e}})}_isImplicitGrantFlow(){return lt()&&(Boolean(de("access_token"))||Boolean(de("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&&!(bc(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=hc(),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 U(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(I(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 gc(r=>k(this,void 0,void 0,function*(){return yield mc(r*200),yield U(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:ft})}),(r,s,i)=>i&&i.error&&i.error instanceof Rn&&Date.now()+(r+1)*200-t<Nn)}catch(t){if(I(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 lt()&&!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 ti(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+Ic)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 xr,!e)throw new er;const{data:s,error:i}=yield this._refreshAccessToken(e);if(i)throw i;if(!s.session)throw new er;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(I(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 dc(this.storage,this.storageKey,e)}_removeSession(){return k(this,void 0,void 0,function*(){this.persistSession?yield pc(this.storage,this.storageKey):this.inMemorySession=null})}_removeVisibilityChangedCallback(){const e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&<()&&(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(),Nn);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)/Nn)<Lc&&(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(!lt()||!(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 U(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(I(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 U(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(I(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 U(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(I(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 U(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(I(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 Bc extends jc{constructor(e){super(e)}}var Hc=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 Mc={headers:nc},zc={schema:"public"},Vc={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0},qc={};class Jc{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 p=cc(e);if(this.realtimeUrl=`${p}/realtime/v1`.replace(/^http/i,"ws"),this.authUrl=`${p}/auth/v1`,this.storageUrl=`${p}/storage/v1`,p.match(/(supabase\.co)|(supabase\.in)/)){const O=p.split(".");this.functionsUrl=`${O[0]}.functions.${O[1]}.${O[2]}`}else this.functionsUrl=`${p}/functions/v1`;const d=`sb-${new URL(this.authUrl).hostname.split(".")[0]}-auth-token`,w={db:zc,realtime:qc,auth:Object.assign(Object.assign({},Vc),{storageKey:d}),global:Mc},b=uc(r??{},w);this.storageKey=(i=(s=b.auth)===null||s===void 0?void 0:s.storageKey)!==null&&i!==void 0?i:"",this.headers=(a=(o=b.global)===null||o===void 0?void 0:o.headers)!==null&&a!==void 0?a:{},this.auth=this._initSupabaseAuthClient((c=b.auth)!==null&&c!==void 0?c:{},this.headers,(u=b.global)===null||u===void 0?void 0:u.fetch),this.fetch=ac(t,this._getAccessToken.bind(this),(l=b.global)===null||l===void 0?void 0:l.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers},b.realtime)),this.rest=new ka(`${p}/rest/v1`,{headers:this.headers,schema:(h=b.db)===null||h===void 0?void 0:h.schema,fetch:this.fetch}),this._listenForAuthEvents()}get functions(){return new va(this.functionsUrl,{headers:this.headers,customFetch:this.fetch})}get storage(){return new rc(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 Hc(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 Bc({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 qa(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 Gc=(n,e,t)=>new Jc(n,e,t);function si(n,e){return function(){return n.apply(e,arguments)}}const{toString:ii}=Object.prototype,{getPrototypeOf:$n}=Object,Cn=(n=>e=>{const t=ii.call(e);return n[t]||(n[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),Fe=n=>(n=n.toLowerCase(),e=>Cn(e)===n),Sr=n=>e=>typeof e===n,{isArray:Ct}=Array,tr=Sr("undefined");function Wc(n){return n!==null&&!tr(n)&&n.constructor!==null&&!tr(n.constructor)&&Xe(n.constructor.isBuffer)&&n.constructor.isBuffer(n)}const oi=Fe("ArrayBuffer");function Kc(n){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(n):e=n&&n.buffer&&oi(n.buffer),e}const Xc=Sr("string"),Xe=Sr("function"),ai=Sr("number"),In=n=>n!==null&&typeof n=="object",Zc=n=>n===!0||n===!1,Ar=n=>{if(Cn(n)!=="object")return!1;const e=$n(n);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in n)&&!(Symbol.iterator in n)},Yc=Fe("Date"),Qc=Fe("File"),eu=Fe("Blob"),tu=Fe("FileList"),ru=n=>In(n)&&Xe(n.pipe),nu=n=>{const e="[object FormData]";return n&&(typeof FormData=="function"&&n instanceof FormData||ii.call(n)===e||Xe(n.toString)&&n.toString()===e)},su=Fe("URLSearchParams"),iu=n=>n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function rr(n,e,{allOwnKeys:t=!1}={}){if(n===null||typeof n>"u")return;let r,s;if(typeof n!="object"&&(n=[n]),Ct(n))for(r=0,s=n.length;r<s;r++)e.call(null,n[r],r,n);else{const i=t?Object.getOwnPropertyNames(n):Object.keys(n),o=i.length;let a;for(r=0;r<o;r++)a=i[r],e.call(null,n[a],a,n)}}function ci(n,e){e=e.toLowerCase();const t=Object.keys(n);let r=t.length,s;for(;r-- >0;)if(s=t[r],e===s.toLowerCase())return s;return null}const ui=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),li=n=>!tr(n)&&n!==ui;function Fn(){const{caseless:n}=li(this)&&this||{},e={},t=(r,s)=>{const i=n&&ci(e,s)||s;Ar(e[i])&&Ar(r)?e[i]=Fn(e[i],r):Ar(r)?e[i]=Fn({},r):Ct(r)?e[i]=r.slice():e[i]=r};for(let r=0,s=arguments.length;r<s;r++)arguments[r]&&rr(arguments[r],t);return e}const ou=(n,e,t,{allOwnKeys:r}={})=>(rr(e,(s,i)=>{t&&Xe(s)?n[i]=si(s,t):n[i]=s},{allOwnKeys:r}),n),au=n=>(n.charCodeAt(0)===65279&&(n=n.slice(1)),n),cu=(n,e,t,r)=>{n.prototype=Object.create(e.prototype,r),n.prototype.constructor=n,Object.defineProperty(n,"super",{value:e.prototype}),t&&Object.assign(n.prototype,t)},uu=(n,e,t,r)=>{let s,i,o;const a={};if(e=e||{},n==null)return e;do{for(s=Object.getOwnPropertyNames(n),i=s.length;i-- >0;)o=s[i],(!r||r(o,n,e))&&!a[o]&&(e[o]=n[o],a[o]=!0);n=t!==!1&&$n(n)}while(n&&(!t||t(n,e))&&n!==Object.prototype);return e},lu=(n,e,t)=>{n=String(n),(t===void 0||t>n.length)&&(t=n.length),t-=e.length;const r=n.indexOf(e,t);return r!==-1&&r===t},hu=n=>{if(!n)return null;if(Ct(n))return n;let e=n.length;if(!ai(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=n[e];return t},fu=(n=>e=>n&&e instanceof n)(typeof Uint8Array<"u"&&$n(Uint8Array)),du=(n,e)=>{const r=(n&&n[Symbol.iterator]).call(n);let s;for(;(s=r.next())&&!s.done;){const i=s.value;e.call(n,i[0],i[1])}},pu=(n,e)=>{let t;const r=[];for(;(t=n.exec(e))!==null;)r.push(t);return r},yu=Fe("HTMLFormElement"),mu=n=>n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,r,s){return r.toUpperCase()+s}),hi=(({hasOwnProperty:n})=>(e,t)=>n.call(e,t))(Object.prototype),gu=Fe("RegExp"),fi=(n,e)=>{const t=Object.getOwnPropertyDescriptors(n),r={};rr(t,(s,i)=>{e(s,i,n)!==!1&&(r[i]=s)}),Object.defineProperties(n,r)},wu=n=>{fi(n,(e,t)=>{if(Xe(n)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const r=n[t];if(Xe(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},bu=(n,e)=>{const t={},r=s=>{s.forEach(i=>{t[i]=!0})};return Ct(n)?r(n):r(String(n).split(e)),t},vu=()=>{},_u=(n,e)=>(n=+n,Number.isFinite(n)?n:e),Dn="abcdefghijklmnopqrstuvwxyz",di="0123456789",pi={DIGIT:di,ALPHA:Dn,ALPHA_DIGIT:Dn+Dn.toUpperCase()+di},Eu=(n=16,e=pi.ALPHA_DIGIT)=>{let t="";const{length:r}=e;for(;n--;)t+=e[Math.random()*r|0];return t};function xu(n){return!!(n&&Xe(n.append)&&n[Symbol.toStringTag]==="FormData"&&n[Symbol.iterator])}const g={isArray:Ct,isArrayBuffer:oi,isBuffer:Wc,isFormData:nu,isArrayBufferView:Kc,isString:Xc,isNumber:ai,isBoolean:Zc,isObject:In,isPlainObject:Ar,isUndefined:tr,isDate:Yc,isFile:Qc,isBlob:eu,isRegExp:gu,isFunction:Xe,isStream:ru,isURLSearchParams:su,isTypedArray:fu,isFileList:tu,forEach:rr,merge:Fn,extend:ou,trim:iu,stripBOM:au,inherits:cu,toFlatObject:uu,kindOf:Cn,kindOfTest:Fe,endsWith:lu,toArray:hu,forEachEntry:du,matchAll:pu,isHTMLForm:yu,hasOwnProperty:hi,hasOwnProp:hi,reduceDescriptors:fi,freezeMethods:wu,toObjectSet:bu,toCamelCase:mu,noop:vu,toFiniteNumber:_u,findKey:ci,global:ui,isContextDefined:li,ALPHABET:pi,generateString:Eu,isSpecCompliantForm:xu,toJSONObject:n=>{const e=new Array(10),t=(r,s)=>{if(In(r)){if(e.indexOf(r)>=0)return;if(!("toJSON"in r)){e[s]=r;const i=Ct(r)?[]:{};return rr(r,(o,a)=>{const c=t(o,s+1);!tr(c)&&(i[a]=c)}),e[s]=void 0,i}}return r};return t(n,0)}};function N(n,e,t,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=n,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),r&&(this.request=r),s&&(this.response=s)}g.inherits(N,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:g.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const yi=N.prototype,mi={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(n=>{mi[n]={value:n}}),Object.defineProperties(N,mi),Object.defineProperty(yi,"isAxiosError",{value:!0}),N.from=(n,e,t,r,s,i)=>{const o=Object.create(yi);return g.toFlatObject(n,o,function(c){return c!==Error.prototype},a=>a!=="isAxiosError"),N.call(o,n.message,e,t,r,s),o.cause=n,o.name=n.name,i&&Object.assign(o,i),o};const Ou=null;function Un(n){return g.isPlainObject(n)||g.isArray(n)}function gi(n){return g.endsWith(n,"[]")?n.slice(0,-2):n}function wi(n,e,t){return n?n.concat(e).map(function(s,i){return s=gi(s),!t&&i?"["+s+"]":s}).join(t?".":""):e}function Tu(n){return g.isArray(n)&&!n.some(Un)}const Su=g.toFlatObject(g,{},null,function(e){return/^is[A-Z]/.test(e)});function kr(n,e,t){if(!g.isObject(n))throw new TypeError("target must be an object");e=e||new FormData,t=g.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,b){return!g.isUndefined(b[w])});const r=t.metaTokens,s=t.visitor||l,i=t.dots,o=t.indexes,c=(t.Blob||typeof Blob<"u"&&Blob)&&g.isSpecCompliantForm(e);if(!g.isFunction(s))throw new TypeError("visitor must be a function");function u(d){if(d===null)return"";if(g.isDate(d))return d.toISOString();if(!c&&g.isBlob(d))throw new N("Blob is not supported. Use a Buffer instead.");return g.isArrayBuffer(d)||g.isTypedArray(d)?c&&typeof Blob=="function"?new Blob([d]):Buffer.from(d):d}function l(d,w,b){let O=d;if(d&&!b&&typeof d=="object"){if(g.endsWith(w,"{}"))w=r?w:w.slice(0,-2),d=JSON.stringify(d);else if(g.isArray(d)&&Tu(d)||(g.isFileList(d)||g.endsWith(w,"[]"))&&(O=g.toArray(d)))return w=gi(w),O.forEach(function(q,B){!(g.isUndefined(q)||q===null)&&e.append(o===!0?wi([w],B,i):o===null?w:w+"[]",u(q))}),!1}return Un(d)?!0:(e.append(wi(b,w,i),u(d)),!1)}const h=[],p=Object.assign(Su,{defaultVisitor:l,convertValue:u,isVisitable:Un});function f(d,w){if(!g.isUndefined(d)){if(h.indexOf(d)!==-1)throw Error("Circular reference detected in "+w.join("."));h.push(d),g.forEach(d,function(O,$){(!(g.isUndefined(O)||O===null)&&s.call(e,O,g.isString($)?$.trim():$,w,p))===!0&&f(O,w?w.concat($):[$])}),h.pop()}}if(!g.isObject(n))throw new TypeError("data must be an object");return f(n),e}function bi(n){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(n).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function Ln(n,e){this._pairs=[],n&&kr(n,this,e)}const vi=Ln.prototype;vi.append=function(e,t){this._pairs.push([e,t])},vi.toString=function(e){const t=e?function(r){return e.call(this,r,bi)}:bi;return this._pairs.map(function(s){return t(s[0])+"="+t(s[1])},"").join("&")};function Au(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function _i(n,e,t){if(!e)return n;const r=t&&t.encode||Au,s=t&&t.serialize;let i;if(s?i=s(e,t):i=g.isURLSearchParams(e)?e.toString():new Ln(e,t).toString(r),i){const o=n.indexOf("#");o!==-1&&(n=n.slice(0,o)),n+=(n.indexOf("?")===-1?"?":"&")+i}return n}class ku{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){g.forEach(this.handlers,function(r){r!==null&&e(r)})}}const Ei=ku,xi={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ru=typeof URLSearchParams<"u"?URLSearchParams:Ln,Pu=typeof FormData<"u"?FormData:null,Nu=typeof Blob<"u"?Blob:null,$u=(()=>{let n;return typeof navigator<"u"&&((n=navigator.product)==="ReactNative"||n==="NativeScript"||n==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),Cu=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),Ae={isBrowser:!0,classes:{URLSearchParams:Ru,FormData:Pu,Blob:Nu},isStandardBrowserEnv:$u,isStandardBrowserWebWorkerEnv:Cu,protocols:["http","https","file","blob","url","data"]};function Iu(n,e){return kr(n,new Ae.classes.URLSearchParams,Object.assign({visitor:function(t,r,s,i){return Ae.isNode&&g.isBuffer(t)?(this.append(r,t.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},e))}function Fu(n){return g.matchAll(/\w+|\[(\w*)]/g,n).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Du(n){const e={},t=Object.keys(n);let r;const s=t.length;let i;for(r=0;r<s;r++)i=t[r],e[i]=n[i];return e}function Oi(n){function e(t,r,s,i){let o=t[i++];const a=Number.isFinite(+o),c=i>=t.length;return o=!o&&g.isArray(s)?s.length:o,c?(g.hasOwnProp(s,o)?s[o]=[s[o],r]:s[o]=r,!a):((!s[o]||!g.isObject(s[o]))&&(s[o]=[]),e(t,r,s[o],i)&&g.isArray(s[o])&&(s[o]=Du(s[o])),!a)}if(g.isFormData(n)&&g.isFunction(n.entries)){const t={};return g.forEachEntry(n,(r,s)=>{e(Fu(r),s,t,0)}),t}return null}const Uu={"Content-Type":void 0};function Lu(n,e,t){if(g.isString(n))try{return(e||JSON.parse)(n),g.trim(n)}catch(r){if(r.name!=="SyntaxError")throw r}return(t||JSON.stringify)(n)}const Rr={transitional:xi,adapter:["xhr","http"],transformRequest:[function(e,t){const r=t.getContentType()||"",s=r.indexOf("application/json")>-1,i=g.isObject(e);if(i&&g.isHTMLForm(e)&&(e=new FormData(e)),g.isFormData(e))return s&&s?JSON.stringify(Oi(e)):e;if(g.isArrayBuffer(e)||g.isBuffer(e)||g.isStream(e)||g.isFile(e)||g.isBlob(e))return e;if(g.isArrayBufferView(e))return e.buffer;if(g.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Iu(e,this.formSerializer).toString();if((a=g.isFileList(e))||r.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return kr(a?{"files[]":e}:e,c&&new c,this.formSerializer)}}return i||s?(t.setContentType("application/json",!1),Lu(e)):e}],transformResponse:[function(e){const t=this.transitional||Rr.transitional,r=t&&t.forcedJSONParsing,s=this.responseType==="json";if(e&&g.isString(e)&&(r&&!this.responseType||s)){const o=!(t&&t.silentJSONParsing)&&s;try{return JSON.parse(e)}catch(a){if(o)throw a.name==="SyntaxError"?N.from(a,N.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ae.classes.FormData,Blob:Ae.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};g.forEach(["delete","get","head"],function(e){Rr.headers[e]={}}),g.forEach(["post","put","patch"],function(e){Rr.headers[e]=g.merge(Uu)});const jn=Rr,ju=g.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Bu=n=>{const e={};let t,r,s;return n&&n.split(`
|
2
|
-
`).forEach(function(o){s=o.indexOf(":"),t=o.substring(0,s).trim().toLowerCase(),r=o.substring(s+1).trim(),!(!t||e[t]&&
|
3
|
-
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach(s=>r.set(s)),r}static accessor(e){const r=(this[Ti]=this[Ti]={accessors:{}}).accessors,s=this.prototype;function i(o){const a=nr(o);r[a]||(Vu(s,o),r[a]=!0)}return g.isArray(e)?e.forEach(i):i(e),this}}Nr.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),g.freezeMethods(Nr.prototype),g.freezeMethods(Nr);const De=Nr;function Hn(n,e){const t=this||jn,r=e||t,s=De.from(r.headers);let i=r.data;return g.forEach(n,function(a){i=a.call(t,i,s.normalize(),e?e.status:void 0)}),s.normalize(),i}function Si(n){return!!(n&&n.__CANCEL__)}function sr(n,e,t){N.call(this,n??"canceled",N.ERR_CANCELED,e,t),this.name="CanceledError"}g.inherits(sr,N,{__CANCEL__:!0});function qu(n,e,t){const r=t.config.validateStatus;!t.status||!r||r(t.status)?n(t):e(new N("Request failed with status code "+t.status,[N.ERR_BAD_REQUEST,N.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}const Ju=Ae.isStandardBrowserEnv?function(){return{write:function(t,r,s,i,o,a){const c=[];c.push(t+"="+encodeURIComponent(r)),g.isNumber(s)&&c.push("expires="+new Date(s).toGMTString()),g.isString(i)&&c.push("path="+i),g.isString(o)&&c.push("domain="+o),a===!0&&c.push("secure"),document.cookie=c.join("; ")},read:function(t){const r=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return r?decodeURIComponent(r[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function Gu(n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(n)}function Wu(n,e){return e?n.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):n}function Ai(n,e){return n&&!Gu(e)?Wu(n,e):e}const Ku=Ae.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let r;function s(i){let o=i;return e&&(t.setAttribute("href",o),o=t.href),t.setAttribute("href",o),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return r=s(window.location.href),function(o){const a=g.isString(o)?s(o):o;return a.protocol===r.protocol&&a.host===r.host}}():function(){return function(){return!0}}();function Xu(n){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(n);return e&&e[1]||""}function Zu(n,e){n=n||10;const t=new Array(n),r=new Array(n);let s=0,i=0,o;return e=e!==void 0?e:1e3,function(c){const u=Date.now(),l=r[i];o||(o=u),t[s]=c,r[s]=u;let h=i,p=0;for(;h!==s;)p+=t[h++],h=h%n;if(s=(s+1)%n,s===i&&(i=(i+1)%n),u-o<e)return;const f=l&&u-l;return f?Math.round(p*1e3/f):void 0}}function ki(n,e){let t=0;const r=Zu(50,250);return s=>{const i=s.loaded,o=s.lengthComputable?s.total:void 0,a=i-t,c=r(a),u=i<=o;t=i;const l={loaded:i,total:o,progress:o?i/o:void 0,bytes:a,rate:c||void 0,estimated:c&&o&&u?(o-i)/c:void 0,event:s};l[e?"download":"upload"]=!0,n(l)}}const $r={http:Ou,xhr:typeof XMLHttpRequest<"u"&&function(n){return new Promise(function(t,r){let s=n.data;const i=De.from(n.headers).normalize(),o=n.responseType;let a;function c(){n.cancelToken&&n.cancelToken.unsubscribe(a),n.signal&&n.signal.removeEventListener("abort",a)}g.isFormData(s)&&(Ae.isStandardBrowserEnv||Ae.isStandardBrowserWebWorkerEnv)&&i.setContentType(!1);let u=new XMLHttpRequest;if(n.auth){const f=n.auth.username||"",d=n.auth.password?unescape(encodeURIComponent(n.auth.password)):"";i.set("Authorization","Basic "+btoa(f+":"+d))}const l=Ai(n.baseURL,n.url);u.open(n.method.toUpperCase(),_i(l,n.params,n.paramsSerializer),!0),u.timeout=n.timeout;function h(){if(!u)return;const f=De.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),w={data:!o||o==="text"||o==="json"?u.responseText:u.response,status:u.status,statusText:u.statusText,headers:f,config:n,request:u};qu(function(O){t(O),c()},function(O){r(O),c()},w),u=null}if("onloadend"in u?u.onloadend=h:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(h)},u.onabort=function(){u&&(r(new N("Request aborted",N.ECONNABORTED,n,u)),u=null)},u.onerror=function(){r(new N("Network Error",N.ERR_NETWORK,n,u)),u=null},u.ontimeout=function(){let d=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const w=n.transitional||xi;n.timeoutErrorMessage&&(d=n.timeoutErrorMessage),r(new N(d,w.clarifyTimeoutError?N.ETIMEDOUT:N.ECONNABORTED,n,u)),u=null},Ae.isStandardBrowserEnv){const f=(n.withCredentials||Ku(l))&&n.xsrfCookieName&&Ju.read(n.xsrfCookieName);f&&i.set(n.xsrfHeaderName,f)}s===void 0&&i.setContentType(null),"setRequestHeader"in u&&g.forEach(i.toJSON(),function(d,w){u.setRequestHeader(w,d)}),g.isUndefined(n.withCredentials)||(u.withCredentials=!!n.withCredentials),o&&o!=="json"&&(u.responseType=n.responseType),typeof n.onDownloadProgress=="function"&&u.addEventListener("progress",ki(n.onDownloadProgress,!0)),typeof n.onUploadProgress=="function"&&u.upload&&u.upload.addEventListener("progress",ki(n.onUploadProgress)),(n.cancelToken||n.signal)&&(a=f=>{u&&(r(!f||f.type?new sr(null,n,u):f),u.abort(),u=null)},n.cancelToken&&n.cancelToken.subscribe(a),n.signal&&(n.signal.aborted?a():n.signal.addEventListener("abort",a)));const p=Xu(l);if(p&&Ae.protocols.indexOf(p)===-1){r(new N("Unsupported protocol "+p+":",N.ERR_BAD_REQUEST,n));return}u.send(s||null)})}};g.forEach($r,(n,e)=>{if(n){try{Object.defineProperty(n,"name",{value:e})}catch{}Object.defineProperty(n,"adapterName",{value:e})}});const Yu={getAdapter:n=>{n=g.isArray(n)?n:[n];const{length:e}=n;let t,r;for(let s=0;s<e&&(t=n[s],!(r=g.isString(t)?$r[t.toLowerCase()]:t));s++);if(!r)throw r===!1?new N(`Adapter ${t} is not supported by the environment`,"ERR_NOT_SUPPORT"):new Error(g.hasOwnProp($r,t)?`Adapter '${t}' is not available in the build`:`Unknown adapter '${t}'`);if(!g.isFunction(r))throw new TypeError("adapter is not a function");return r},adapters:$r};function Mn(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new sr(null,n)}function Ri(n){return Mn(n),n.headers=De.from(n.headers),n.data=Hn.call(n,n.transformRequest),["post","put","patch"].indexOf(n.method)!==-1&&n.headers.setContentType("application/x-www-form-urlencoded",!1),Yu.getAdapter(n.adapter||jn.adapter)(n).then(function(r){return Mn(n),r.data=Hn.call(n,n.transformResponse,r),r.headers=De.from(r.headers),r},function(r){return Si(r)||(Mn(n),r&&r.response&&(r.response.data=Hn.call(n,n.transformResponse,r.response),r.response.headers=De.from(r.response.headers))),Promise.reject(r)})}const Pi=n=>n instanceof De?n.toJSON():n;function It(n,e){e=e||{};const t={};function r(u,l,h){return g.isPlainObject(u)&&g.isPlainObject(l)?g.merge.call({caseless:h},u,l):g.isPlainObject(l)?g.merge({},l):g.isArray(l)?l.slice():l}function s(u,l,h){if(g.isUndefined(l)){if(!g.isUndefined(u))return r(void 0,u,h)}else return r(u,l,h)}function i(u,l){if(!g.isUndefined(l))return r(void 0,l)}function o(u,l){if(g.isUndefined(l)){if(!g.isUndefined(u))return r(void 0,u)}else return r(void 0,l)}function a(u,l,h){if(h in e)return r(u,l);if(h in n)return r(void 0,u)}const c={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(u,l)=>s(Pi(u),Pi(l),!0)};return g.forEach(Object.keys(n).concat(Object.keys(e)),function(l){const h=c[l]||s,p=h(n[l],e[l],l);g.isUndefined(p)&&h!==a||(t[l]=p)}),t}const Ni="1.3.4",zn={};["object","boolean","number","function","string","symbol"].forEach((n,e)=>{zn[n]=function(r){return typeof r===n||"a"+(e<1?"n ":" ")+n}});const $i={};zn.transitional=function(e,t,r){function s(i,o){return"[Axios v"+Ni+"] Transitional option '"+i+"'"+o+(r?". "+r:"")}return(i,o,a)=>{if(e===!1)throw new N(s(o," has been removed"+(t?" in "+t:"")),N.ERR_DEPRECATED);return t&&!$i[o]&&($i[o]=!0,console.warn(s(o," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(i,o,a):!0}};function Qu(n,e,t){if(typeof n!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);const r=Object.keys(n);let s=r.length;for(;s-- >0;){const i=r[s],o=e[i];if(o){const a=n[i],c=a===void 0||o(a,i,n);if(c!==!0)throw new N("option "+i+" must be "+c,N.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new N("Unknown option "+i,N.ERR_BAD_OPTION)}}const Vn={assertOptions:Qu,validators:zn},Ze=Vn.validators;class Cr{constructor(e){this.defaults=e,this.interceptors={request:new Ei,response:new Ei}}request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=It(this.defaults,t);const{transitional:r,paramsSerializer:s,headers:i}=t;r!==void 0&&Vn.assertOptions(r,{silentJSONParsing:Ze.transitional(Ze.boolean),forcedJSONParsing:Ze.transitional(Ze.boolean),clarifyTimeoutError:Ze.transitional(Ze.boolean)},!1),s!==void 0&&Vn.assertOptions(s,{encode:Ze.function,serialize:Ze.function},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o;o=i&&g.merge(i.common,i[t.method]),o&&g.forEach(["delete","get","head","post","put","patch","common"],d=>{delete i[d]}),t.headers=De.concat(o,i);const a=[];let c=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(t)===!1||(c=c&&w.synchronous,a.unshift(w.fulfilled,w.rejected))});const u=[];this.interceptors.response.forEach(function(w){u.push(w.fulfilled,w.rejected)});let l,h=0,p;if(!c){const d=[Ri.bind(this),void 0];for(d.unshift.apply(d,a),d.push.apply(d,u),p=d.length,l=Promise.resolve(t);h<p;)l=l.then(d[h++],d[h++]);return l}p=a.length;let f=t;for(h=0;h<p;){const d=a[h++],w=a[h++];try{f=d(f)}catch(b){w.call(this,b);break}}try{l=Ri.call(this,f)}catch(d){return Promise.reject(d)}for(h=0,p=u.length;h<p;)l=l.then(u[h++],u[h++]);return l}getUri(e){e=It(this.defaults,e);const t=Ai(e.baseURL,e.url);return _i(t,e.params,e.paramsSerializer)}}g.forEach(["delete","get","head","options"],function(e){Cr.prototype[e]=function(t,r){return this.request(It(r||{},{method:e,url:t,data:(r||{}).data}))}}),g.forEach(["post","put","patch"],function(e){function t(r){return function(i,o,a){return this.request(It(a||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:o}))}}Cr.prototype[e]=t(),Cr.prototype[e+"Form"]=t(!0)});const Ir=Cr;class qn{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(i){t=i});const r=this;this.promise.then(s=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const o=new Promise(a=>{r.subscribe(a),i=a}).then(s);return o.cancel=function(){r.unsubscribe(i)},o},e(function(i,o,a){r.reason||(r.reason=new sr(i,o,a),t(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}static source(){let e;return{token:new qn(function(s){e=s}),cancel:e}}}const el=qn;function tl(n){return function(t){return n.apply(null,t)}}function rl(n){return g.isObject(n)&&n.isAxiosError===!0}const Jn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Jn).forEach(([n,e])=>{Jn[e]=n});const nl=Jn;function Ci(n){const e=new Ir(n),t=si(Ir.prototype.request,e);return g.extend(t,Ir.prototype,e,{allOwnKeys:!0}),g.extend(t,e,null,{allOwnKeys:!0}),t.create=function(s){return Ci(It(n,s))},t}const J=Ci(jn);J.Axios=Ir,J.CanceledError=sr,J.CancelToken=el,J.isCancel=Si,J.VERSION=Ni,J.toFormData=kr,J.AxiosError=N,J.Cancel=J.CanceledError,J.all=function(e){return Promise.all(e)},J.spread=tl,J.isAxiosError=rl,J.mergeConfig=It,J.AxiosHeaders=De,J.formToJSON=n=>Oi(g.isHTMLForm(n)?new FormData(n):n),J.HttpStatusCode=nl,J.default=J;const sl=J;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 il=/[^.^\]^[]+|(?=\[\]|\.\.)/g,Ii=/^\d+$/,ol=/^\d/,al=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,cl=/^\s*(['"]?)(.*?)(\1)\s*$/,Gn=512,Fi=new pt(Gn),Di=new pt(Gn),Ui=new pt(Gn),yt={Cache:pt,split:Kn,normalizePath:Wn,setter:function(n){var e=Wn(n);return Di.get(n)||Di.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=Wn(n);return Ui.get(n)||Ui.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+(Xn(t)||Ii.test(t)?"["+t+"]":(e?".":"")+t)},"")},forEach:function(n,e,t){ul(Array.isArray(n)?n:Kn(n),e,t)}};function Wn(n){return Fi.get(n)||Fi.set(n,Kn(n).map(function(e){return e.replace(cl,"$2")}))}function Kn(n){return n.match(il)||[""]}function ul(n,e,t){var r=n.length,s,i,o,a;for(i=0;i<r;i++)s=n[i],s&&(fl(s)&&(s='"'+s+'"'),a=Xn(s),o=!a&&/^\d+$/.test(s),e.call(t,s,a,o,i,n))}function Xn(n){return typeof n=="string"&&n&&["'",'"'].indexOf(n.charAt(0))!==-1}function ll(n){return n.match(ol)&&!n.match(Ii)}function hl(n){return al.test(n)}function fl(n){return!Xn(n)&&(ll(n)||hl(n))}const dl=/[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,Fr=n=>n.match(dl)||[],Dr=n=>n[0].toUpperCase()+n.slice(1),Zn=(n,e)=>Fr(n).join(e).toLowerCase(),Li=n=>Fr(n).reduce((e,t)=>`${e}${e?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()}`,"");var Yn={words:Fr,upperFirst:Dr,camelCase:Li,pascalCase:n=>Dr(Li(n)),snakeCase:n=>Zn(n,"_"),kebabCase:n=>Zn(n,"-"),sentenceCase:n=>Dr(Zn(n," ")),titleCase:n=>Fr(n).map(Dr).join(" ")},Ur={},pl={get exports(){return Ur},set exports(n){Ur=n}};pl.exports=function(n){return ji(yl(n),n)},Ur.array=ji;function ji(n,e){var t=n.length,r=new Array(t),s={},i=t,o=ml(e),a=gl(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 p;try{p=", node was:"+JSON.stringify(u)}catch{p=""}throw new Error("Cyclic dependency"+p)}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 f=o.get(u)||new Set;if(f=Array.from(f),l=f.length){h.add(u);do{var d=f[--l];c(d,a.get(d),h)}while(l);h.delete(u)}r[--t]=u}}}function yl(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 ml(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 gl(n){for(var e=new Map,t=0,r=n.length;t<r;t++)e.set(n[t],t);return e}const wl=Object.prototype.toString,bl=Error.prototype.toString,vl=RegExp.prototype.toString,_l=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",El=/^Symbol\((.*)\)(.*)$/;function xl(n){return n!=+n?"NaN":n===0&&1/n<0?"-0":""+n}function Bi(n,e=!1){if(n==null||n===!0||n===!1)return""+n;const t=typeof n;if(t==="number")return xl(n);if(t==="string")return e?`"${n}"`:n;if(t==="function")return"[Function "+(n.name||"anonymous")+"]";if(t==="symbol")return _l.call(n).replace(El,"Symbol($1)");const r=wl.call(n).slice(8,-1);return r==="Date"?isNaN(n.getTime())?""+n:n.toISOString(n):r==="Error"||n instanceof Error?"["+bl.call(n)+"]":r==="RegExp"?vl.call(n):null}function mt(n,e){let t=Bi(n,e);return t!==null?t:JSON.stringify(n,function(r,s){let i=Bi(this[r],e);return i!==null?i:s},2)}function Hi(n){return n==null?[]:[].concat(n)}let Ol=/\$\{\s*(\w+)\s*\}/g;class le 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(Ol,(s,i)=>mt(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=[],Hi(e).forEach(i=>{le.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,le)}}let Ue={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 \`${mt(r,!0)}\`).`:".";return e!=="mixed"?`${n} must be a \`${e}\` type, but the final value was: \`${mt(t,!0)}\``+s:`${n} must match the configured type. The validated value was: \`${mt(t,!0)}\``+s}},be={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"},Ye={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"},Qn={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},es={isValue:"${path} field must be ${value}"},ts={noUnknown:"${path} field has unspecified keys: ${unknown}"},Lr={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:Ue,string:be,number:Ye,date:Qn,object:ts,array:Lr,boolean:es});const jr=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(!jr(s))throw new TypeError("conditions must return a schema object");return s.resolve(t)}}const Hr={context:"$",value:"."};class gt{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]===Hr.context,this.isValue=this.key[0]===Hr.value,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?Hr.context:this.isValue?Hr.value:"";this.path=this.key.slice(r.length),this.getter=this.path&&yt.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}}gt.prototype.__isYupRef=!0;const pe=n=>n==null;function Ft(n){function e({value:t,path:r="",options:s,originalValue:i,schema:o},a,c){const{name:u,test:l,params:h,message:p,skipAbsent:f}=n;let{parent:d,context:w,abortEarly:b=o.spec.abortEarly}=s;function O(V){return gt.isRef(V)?V.getValue(t,d,w):V}function $(V={}){const Y=Object.assign({value:t,originalValue:i,label:o.spec.label,path:V.path||r,spec:o.spec},h,V.params);for(const Gt of Object.keys(Y))Y[Gt]=O(Y[Gt]);const pn=new le(le.formatError(V.message||p,Y),t,Y.path,V.type||u);return pn.params=Y,pn}const q=b?a:c;let B={path:r,parent:d,type:u,from:s.from,createError:$,resolve:O,options:s,originalValue:i,schema:o};const Ce=V=>{le.isError(V)?q(V):V?c(null):q($())},br=V=>{le.isError(V)?q(V):a(V)},fn=f&&pe(t);if(!s.sync){try{Promise.resolve(fn?!0:l.call(B,t,B)).then(Ce,br)}catch(V){br(V)}return}let Oe;try{var dn;if(Oe=fn?!0:l.call(B,t,B),typeof((dn=Oe)==null?void 0:dn.then)=="function")throw new Error(`Validation test of type: "${B.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(V){br(V);return}Ce(Oe)}return e.OPTIONS=n,e}function Tl(n,e,t,r=t){let s,i,o;return e?(yt.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",p=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&&p>=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[p],n=h?n.spec.types[p]: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 Mr extends Set{describe(){const e=[];for(const t of this.values())e.push(gt.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 Mr(this.values())}merge(e,t){const r=this.clone();return e.forEach(s=>r.add(s)),t.forEach(s=>r.delete(s)),r}}function Dt(n,e=new Map){if(jr(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]=Dt(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,Dt(s,e))}else if(n instanceof Set){t=new Set,e.set(n,t);for(const r of n)t.add(Dt(r,e))}else if(n instanceof Object){t={},e.set(n,t);for(const[r,s]of Object.entries(n))t[r]=Dt(s,e)}else throw Error(`Unable to clone ${n}`);return t}class oe{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 Mr,this._blacklist=new Mr,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError(Ue.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=Dt(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&&pe(i))return i;let o=mt(e),a=mt(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
|
+
var denotifyClient=function(P){var zt,st,We,At,Vt,gn,fe,me,un,ma,St,Z,xe,pr,Us,qt,wn,it,Kt,Pe,Ne,$e,te,yr,Ls,mr,js,gr,ot,Gt,wr,br,rd;"use strict";var nd=Object.defineProperty;var sd=(P,D,z)=>D in P?nd(P,D,{enumerable:!0,configurable:!0,writable:!0,value:z}):P[D]=z;var m=(P,D,z)=>(sd(P,typeof D!="symbol"?D+"":D,z),z),Ds=(P,D,z)=>{if(!D.has(P))throw TypeError("Cannot "+z)};var v=(P,D,z)=>(Ds(P,D,"read from private field"),z?z.call(P):D.get(P)),H=(P,D,z)=>{if(D.has(P))throw TypeError("Cannot add the same private member more than once");D instanceof WeakSet?D.add(P):D.set(P,z)},I=(P,D,z,Rt)=>(Ds(P,D,"write to private field"),Rt?Rt.call(P,z):D.set(P,z),z),ya=(P,D,z,Rt)=>({set _(Xt){I(P,D,Xt,z)},get _(){return v(P,D,Rt)}}),G=(P,D,z)=>(Ds(P,D,"access private method"),z);function D(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 z=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 Rt=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>z(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>Er)).fetch(...t)}):e=fetch,(...t)=>e(...t)};class Xt extends Error{constructor(e,t="FunctionsError",r){super(e),super.name=t,this.context=r}}class ga extends Xt{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class wa extends Xt{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class ba extends Xt{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var va=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 _a{constructor(e,{headers:t={},customFetch:r}={}){this.url=e,this.headers=t,this.fetch=Rt(r)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e,t={}){var r;return va(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(f=>{throw new ga(f)}),l=u.headers.get("x-relay-error");if(l&&l==="true")throw new wa(u);if(!u.ok)throw new ba(u);let h=((r=u.headers.get("Content-Type"))!==null&&r!==void 0?r:"text/plain").split(";")[0].trim(),p;return h==="application/json"?p=yield u.json():h==="application/octet-stream"?p=yield u.blob():h==="multipart/form-data"?p=yield u.formData():p=yield u.text(),{data:p,error:null}}catch(s){return{data:null,error:s}}})}}var Ea=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function xa(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Pt={},Ta={get exports(){return Pt},set exports(n){Pt=n}};(function(n,e){var t=typeof self<"u"?self:Ea,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(y){return y&&DataView.prototype.isPrototypeOf(y)}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(y){return y&&u.indexOf(Object.prototype.toString.call(y))>-1};function h(y){if(typeof y!="string"&&(y=String(y)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(y))throw new TypeError("Invalid character in header field name");return y.toLowerCase()}function p(y){return typeof y!="string"&&(y=String(y)),y}function f(y){var _={next:function(){var A=y.shift();return{done:A===void 0,value:A}}};return a.iterable&&(_[Symbol.iterator]=function(){return _}),_}function d(y){this.map={},y instanceof d?y.forEach(function(_,A){this.append(A,_)},this):Array.isArray(y)?y.forEach(function(_){this.append(_[0],_[1])},this):y&&Object.getOwnPropertyNames(y).forEach(function(_){this.append(_,y[_])},this)}d.prototype.append=function(y,_){y=h(y),_=p(_);var A=this.map[y];this.map[y]=A?A+", "+_:_},d.prototype.delete=function(y){delete this.map[h(y)]},d.prototype.get=function(y){return y=h(y),this.has(y)?this.map[y]:null},d.prototype.has=function(y){return this.map.hasOwnProperty(h(y))},d.prototype.set=function(y,_){this.map[h(y)]=p(_)},d.prototype.forEach=function(y,_){for(var A in this.map)this.map.hasOwnProperty(A)&&y.call(_,this.map[A],A,this)},d.prototype.keys=function(){var y=[];return this.forEach(function(_,A){y.push(A)}),f(y)},d.prototype.values=function(){var y=[];return this.forEach(function(_){y.push(_)}),f(y)},d.prototype.entries=function(){var y=[];return this.forEach(function(_,A){y.push([A,_])}),f(y)},a.iterable&&(d.prototype[Symbol.iterator]=d.prototype.entries);function w(y){if(y.bodyUsed)return Promise.reject(new TypeError("Already read"));y.bodyUsed=!0}function b(y){return new Promise(function(_,A){y.onload=function(){_(y.result)},y.onerror=function(){A(y.error)}})}function T(y){var _=new FileReader,A=b(_);return _.readAsArrayBuffer(y),A}function $(y){var _=new FileReader,A=b(_);return _.readAsText(y),A}function q(y){for(var _=new Uint8Array(y),A=new Array(_.length),re=0;re<_.length;re++)A[re]=String.fromCharCode(_[re]);return A.join("")}function B(y){if(y.slice)return y.slice(0);var _=new Uint8Array(y.byteLength);return _.set(new Uint8Array(y)),_.buffer}function Ce(){return this.bodyUsed=!1,this._initBody=function(y){this._bodyInit=y,y?typeof y=="string"?this._bodyText=y:a.blob&&Blob.prototype.isPrototypeOf(y)?this._bodyBlob=y:a.formData&&FormData.prototype.isPrototypeOf(y)?this._bodyFormData=y:a.searchParams&&URLSearchParams.prototype.isPrototypeOf(y)?this._bodyText=y.toString():a.arrayBuffer&&a.blob&&c(y)?(this._bodyArrayBuffer=B(y.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(y)||l(y))?this._bodyArrayBuffer=B(y):this._bodyText=y=Object.prototype.toString.call(y):this._bodyText="",this.headers.get("content-type")||(typeof y=="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(y)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},a.blob&&(this.blob=function(){var y=w(this);if(y)return y;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?w(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(T)}),this.text=function(){var y=w(this);if(y)return y;if(this._bodyBlob)return $(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(q(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(pn)}),this.json=function(){return this.text().then(JSON.parse)},this}var vr=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function dn(y){var _=y.toUpperCase();return vr.indexOf(_)>-1?_:y}function Te(y,_){_=_||{};var A=_.body;if(y instanceof Te){if(y.bodyUsed)throw new TypeError("Already read");this.url=y.url,this.credentials=y.credentials,_.headers||(this.headers=new d(y.headers)),this.method=y.method,this.mode=y.mode,this.signal=y.signal,!A&&y._bodyInit!=null&&(A=y._bodyInit,y.bodyUsed=!0)}else this.url=String(y);if(this.credentials=_.credentials||this.credentials||"same-origin",(_.headers||!this.headers)&&(this.headers=new d(_.headers)),this.method=dn(_.method||this.method||"GET"),this.mode=_.mode||this.mode||null,this.signal=_.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&A)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(A)}Te.prototype.clone=function(){return new Te(this,{body:this._bodyInit})};function pn(y){var _=new FormData;return y.trim().split("&").forEach(function(A){if(A){var re=A.split("="),Q=re.shift().replace(/\+/g," "),L=re.join("=").replace(/\+/g," ");_.append(decodeURIComponent(Q),decodeURIComponent(L))}}),_}function V(y){var _=new d,A=y.replace(/\r?\n[\t ]+/g," ");return A.split(/\r?\n/).forEach(function(re){var Q=re.split(":"),L=Q.shift().trim();if(L){var mn=Q.join(":").trim();_.append(L,mn)}}),_}Ce.call(Te.prototype);function Y(y,_){_||(_={}),this.type="default",this.status=_.status===void 0?200:_.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in _?_.statusText:"OK",this.headers=new d(_.headers),this.url=_.url||"",this._initBody(y)}Ce.call(Y.prototype),Y.prototype.clone=function(){return new Y(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},Y.error=function(){var y=new Y(null,{status:0,statusText:""});return y.type="error",y};var yn=[301,302,303,307,308];Y.redirect=function(y,_){if(yn.indexOf(_)===-1)throw new RangeError("Invalid status code");return new Y(null,{status:_,headers:{location:y}})},o.DOMException=i.DOMException;try{new o.DOMException}catch{o.DOMException=function(_,A){this.message=_,this.name=A;var re=Error(_);this.stack=re.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function Wt(y,_){return new Promise(function(A,re){var Q=new Te(y,_);if(Q.signal&&Q.signal.aborted)return re(new o.DOMException("Aborted","AbortError"));var L=new XMLHttpRequest;function mn(){L.abort()}L.onload=function(){var _r={status:L.status,statusText:L.statusText,headers:V(L.getAllResponseHeaders()||"")};_r.url="responseURL"in L?L.responseURL:_r.headers.get("X-Request-URL");var Is="response"in L?L.response:L.responseText;A(new Y(Is,_r))},L.onerror=function(){re(new TypeError("Network request failed"))},L.ontimeout=function(){re(new TypeError("Network request failed"))},L.onabort=function(){re(new o.DOMException("Aborted","AbortError"))},L.open(Q.method,Q.url,!0),Q.credentials==="include"?L.withCredentials=!0:Q.credentials==="omit"&&(L.withCredentials=!1),"responseType"in L&&a.blob&&(L.responseType="blob"),Q.headers.forEach(function(_r,Is){L.setRequestHeader(Is,_r)}),Q.signal&&(Q.signal.addEventListener("abort",mn),L.onreadystatechange=function(){L.readyState===4&&Q.signal.removeEventListener("abort",mn)}),L.send(typeof Q._bodyInit>"u"?null:Q._bodyInit)})}return Wt.polyfill=!0,i.fetch||(i.fetch=Wt,i.Headers=d,i.Request=Te,i.Response=Y),o.Headers=d,o.Request=Te,o.Response=Y,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})(Ta,Pt);const bn=xa(Pt),Er=D({__proto__:null,default:bn},[Pt]);class Oa{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=bn: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,p=i.status,f=i.statusText;if(i.ok){if(this.method!=="HEAD"){const T=await i.text();T===""||(this.headers.Accept==="text/csv"||this.headers.Accept&&this.headers.Accept.includes("application/vnd.pgrst.plan+text")?l=T:l=JSON.parse(T))}const w=(o=this.headers.Prefer)===null||o===void 0?void 0:o.match(/count=(exact|planned|estimated)/),b=(a=i.headers.get("content-range"))===null||a===void 0?void 0:a.split("/");w&&b&&b.length>1&&(h=parseInt(b[1]))}else{const w=await i.text();try{u=JSON.parse(w),Array.isArray(u)&&i.status===404&&(l=[],u=null,p=200,f="OK")}catch{i.status===404&&w===""?(p=204,f="No Content"):u={message:w}}if(u&&this.allowEmpty&&(!((c=u==null?void 0:u.details)===null||c===void 0)&&c.includes("Results contain 0 rows"))&&(u=null,p=200,f="OK"),u&&this.shouldThrowOnError)throw u}return{error:u,data:l,count:h,status:p,statusText:f}});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 ka extends Oa{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 Nt extends ka{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 Aa{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 Nt({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 Nt({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 Nt({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 Nt({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 Nt({method:t,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}}const Sa={"X-Client-Info":"postgrest-js/1.4.1"};class Ra{constructor(e,{headers:t={},schema:r,fetch:s}={}){this.url=e,this.headers=Object.assign(Object.assign({},Sa),t),this.schema=r,this.fetch=s}from(e){const t=new URL(`${this.url}/${e}`);return new Aa(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 Nt({method:i,url:o,headers:c,schema:this.schema,body:a,fetch:this.fetch,allowEmpty:!1})}}var vn,Bs;function Pa(){if(Bs)return vn;Bs=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 vn=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__}}(),vn}var Na={name:"websocket",description:"Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.",keywords:["websocket","websockets","socket","networking","comet","push","RFC-6455","realtime","server","client"],author:"Brian McKelvey <theturtle32@gmail.com> (https://github.com/theturtle32)",contributors:["Iñaki Baz Castillo <ibc@aliax.net> (http://dev.sipdoc.net)"],version:"1.0.34",repository:{type:"git",url:"https://github.com/theturtle32/WebSocket-Node.git"},homepage:"https://github.com/theturtle32/WebSocket-Node",engines:{node:">=4.0.0"},dependencies:{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"},devDependencies:{"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"},config:{verbose:!1},scripts:{test:"tape test/unit/*.js",gulp:"gulp"},main:"index",directories:{lib:"./lib"},browser:"lib/browser.js",license:"Apache-2.0"}.version,at;if(typeof globalThis=="object")at=globalThis;else try{at=Pa()}catch{}finally{if(!at&&typeof window<"u"&&(at=window),!at)throw new Error("Could not determine global this")}var Zt=at.WebSocket||at.MozWebSocket,$a=Na;function Hs(n,e){var t;return e?t=new Zt(n,e):t=new Zt(n),t}Zt&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(n){Object.defineProperty(Hs,n,{get:function(){return Zt[n]}})});var Ca={w3cwebsocket:Zt?Hs:null,version:$a};const Fa={"X-Client-Info":"realtime-js/2.6.0"},Ia="1.0.0",Ms=1e4,Da=1e3;var Yt;(function(n){n[n.connecting=0]="connecting",n[n.open=1]="open",n[n.closing=2]="closing",n[n.closed=3]="closed"})(Yt||(Yt={}));var le;(function(n){n.closed="closed",n.errored="errored",n.joined="joined",n.joining="joining",n.leaving="leaving"})(le||(le={}));var we;(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"})(we||(we={}));var _n;(function(n){n.websocket="websocket"})(_n||(_n={}));var ct;(function(n){n.Connecting="connecting",n.Open="open",n.Closing="closing",n.Closed="closed"})(ct||(ct={}));class zs{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 Ua{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 En{constructor(e,t,r={},s=Ms){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 Vs;(function(n){n.SYNC="sync",n.JOIN="join",n.LEAVE="leave"})(Vs||(Vs={}));class Qt{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=Qt.syncState(this.state,s,i,o),this.pendingDiffs.forEach(c=>{this.state=Qt.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=Qt.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 p=l.map(b=>b.presence_ref),f=h.map(b=>b.presence_ref),d=l.filter(b=>f.indexOf(b.presence_ref)<0),w=h.filter(b=>p.indexOf(b.presence_ref)<0);d.length>0&&(a[u]=d),w.length>0&&(c[u]=w)}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(f=>f.presence_ref),p=l.filter(f=>h.indexOf(f.presence_ref)<0);e[a].unshift(...p)}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 j;(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"})(j||(j={}));const qs=(n,e,t={})=>{var r;const s=(r=t.skipTypes)!==null&&r!==void 0?r:[];return Object.keys(e).reduce((i,o)=>(i[o]=La(o,n,e,s),i),{})},La=(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)?Js(i,o):xn(o)},Js=(n,e)=>{if(n.charAt(0)==="_"){const t=n.slice(1,n.length);return Ma(e,t)}switch(n){case j.bool:return ja(e);case j.float4:case j.float8:case j.int2:case j.int4:case j.int8:case j.numeric:case j.oid:return Ba(e);case j.json:case j.jsonb:return Ha(e);case j.timestamp:return za(e);case j.abstime:case j.date:case j.daterange:case j.int4range:case j.int8range:case j.money:case j.reltime:case j.text:case j.time:case j.timestamptz:case j.timetz:case j.tsrange:case j.tstzrange:return xn(e);default:return xn(e)}},xn=n=>n,ja=n=>{switch(n){case"t":return!0;case"f":return!1;default:return n}},Ba=n=>{if(typeof n=="string"){const e=parseFloat(n);if(!Number.isNaN(e))return e}return n},Ha=n=>{if(typeof n=="string")try{return JSON.parse(n)}catch(e){return console.log(`JSON parse error: ${e}`),n}return n},Ma=(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=>Js(e,a))}return n},za=n=>typeof n=="string"?n.replace(" ","T"):n;var Gs=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())})},Ws;(function(n){n.ALL="*",n.INSERT="INSERT",n.UPDATE="UPDATE",n.DELETE="DELETE"})(Ws||(Ws={}));var Ks;(function(n){n.BROADCAST="broadcast",n.PRESENCE="presence",n.POSTGRES_CHANGES="postgres_changes"})(Ks||(Ks={}));var Xs;(function(n){n.SUBSCRIBED="SUBSCRIBED",n.TIMED_OUT="TIMED_OUT",n.CLOSED="CLOSED",n.CHANNEL_ERROR="CHANNEL_ERROR"})(Xs||(Xs={}));class Tn{constructor(e,t={config:{}},r){this.topic=e,this.params=t,this.socket=r,this.bindings={},this.state=le.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 En(this,we.join,this.params,this.timeout),this.rejoinTimer=new zs(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=le.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=le.closed,this.socket._remove(this)}),this._onError(s=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,s),this.state=le.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=le.errored,this.rejoinTimer.scheduleTimeout())}),this._on(we.reply,{},(s,i)=>{this._trigger(this._replyEventName(i),s)}),this.presence=new Qt(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,p=(l=h==null?void 0:h.length)!==null&&l!==void 0?l:0,f=[];for(let d=0;d<p;d++){const w=h[d],{filter:{event:b,schema:T,table:$,filter:q}}=w,B=u&&u[d];if(B&&B.event===b&&B.schema===T&&B.table===$&&B.filter===q)f.push(Object.assign(Object.assign({},w),{id:B.id}));else{this.unsubscribe(),e&&e("CHANNEL_ERROR",new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=f,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 Gs(this,void 0,void 0,function*(){return yield this.send({type:"presence",event:"track",payload:e},t.timeout||this.timeout)})}untrack(e={}){return Gs(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=le.leaving;const t=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(we.close,"leave",this._joinRef())};return this.rejoinTimer.reset(),this.joinPush.destroy(),new Promise(r=>{const s=new En(this,we.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 En(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}=we;if(r&&[a,c,u,l].indexOf(o)>=0&&r!==this._joinRef())return;let p=this._onMessage(o,t,r);if(t&&!p)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(f=>{var d,w,b;return((d=f.filter)===null||d===void 0?void 0:d.event)==="*"||((b=(w=f.filter)===null||w===void 0?void 0:w.event)===null||b===void 0?void 0:b.toLocaleLowerCase())===o}).map(f=>f.callback(p,r)):(i=this.bindings[o])===null||i===void 0||i.filter(f=>{var d,w,b,T,$,q;if(["broadcast","presence","postgres_changes"].includes(o))if("id"in f){const B=f.id,Ce=(d=f.filter)===null||d===void 0?void 0:d.event;return B&&((w=t.ids)===null||w===void 0?void 0:w.includes(B))&&(Ce==="*"||(Ce==null?void 0:Ce.toLocaleLowerCase())===((b=t.data)===null||b===void 0?void 0:b.type.toLocaleLowerCase()))}else{const B=($=(T=f==null?void 0:f.filter)===null||T===void 0?void 0:T.event)===null||$===void 0?void 0:$.toLocaleLowerCase();return B==="*"||B===((q=t==null?void 0:t.event)===null||q===void 0?void 0:q.toLocaleLowerCase())}else return f.type.toLocaleLowerCase()===o}).map(f=>{if(typeof p=="object"&&"ids"in p){const d=p.data,{schema:w,table:b,commit_timestamp:T,type:$,errors:q}=d;p=Object.assign(Object.assign({},{schema:w,table:b,commit_timestamp:T,eventType:$,new:{},old:{},errors:q}),this._getPayloadRecords(d))}f.callback(p,r)})}_isClosed(){return this.state===le.closed}_isJoined(){return this.state===le.joined}_isJoining(){return this.state===le.joining}_isLeaving(){return this.state===le.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&&Tn.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(we.close,{},e)}_onError(e){this._on(we.error,{},t=>e(t))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=le.joining,this.joinPush.resend(e))}_getPayloadRecords(e){const t={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(t.new=qs(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(t.old=qs(e.columns,e.old_record)),t}}var Va=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=()=>{};class Ja{constructor(e,t){var r;this.accessToken=null,this.channels=[],this.endPoint="",this.headers=Fa,this.params={},this.timeout=Ms,this.transport=Ca.w3cwebsocket,this.heartbeatIntervalMs=3e4,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.ref=0,this.logger=qa,this.conn=null,this.sendBuffer=[],this.serializer=new Ua,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.eventsPerSecondLimitMs=100,this.inThrottle=!1,this.endPoint=`${e}/${_n.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 zs(()=>Va(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 Yt.connecting:return ct.Connecting;case Yt.open:return ct.Open;case Yt.closing:return ct.Closing;default:return ct.Closed}}isConnected(){return this.connectionState()===ct.Open}channel(e,t={config:{}}){this.isConnected()||this.connect();const r=new Tn(`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(we.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:Ia}))}_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(we.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(Da,"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 Zs extends Error{constructor(e){super(e),this.__isStorageError=!0,this.name="StorageError"}}function ie(n){return typeof n=="object"&&n!==null&&"__isStorageError"in n}class Ga extends Zs{constructor(e,t){super(e),this.name="StorageApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class Ys extends Zs{constructor(e,t){super(e),this.name="StorageUnknownError",this.originalError=t}}var Qs=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 ei=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>Qs(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>Er)).fetch(...t)}):e=fetch,(...t)=>e(...t)},Wa=()=>Qs(void 0,void 0,void 0,function*(){return typeof Response>"u"?(yield Promise.resolve().then(()=>Er)).Response:Response});var $t=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 On=n=>n.msg||n.message||n.error_description||n.error||JSON.stringify(n),Ka=(n,e)=>$t(void 0,void 0,void 0,function*(){const t=yield Wa();n instanceof t?n.json().then(r=>{e(new Ga(On(r),n.status||500))}).catch(r=>{e(new Ys(On(r),r))}):e(new Ys(On(n),n))}),Xa=(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 xr(n,e,t,r,s,i){return $t(this,void 0,void 0,function*(){return new Promise((o,a)=>{n(t,Xa(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=>Ka(c,a))})})}function kn(n,e,t,r){return $t(this,void 0,void 0,function*(){return xr(n,"GET",e,t,r)})}function ut(n,e,t,r,s){return $t(this,void 0,void 0,function*(){return xr(n,"POST",e,r,s,t)})}function Za(n,e,t,r,s){return $t(this,void 0,void 0,function*(){return xr(n,"PUT",e,r,s,t)})}function ti(n,e,t,r,s){return $t(this,void 0,void 0,function*(){return xr(n,"DELETE",e,r,s,t)})}var Oe=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={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},Qa={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class ec{constructor(e,t={},r,s){this.url=e,this.headers=t,this.bucketId=r,this.fetch=ei(s)}uploadOrUpdate(e,t,r,s){return Oe(this,void 0,void 0,function*(){try{let i;const o=Object.assign(Object.assign({},Qa),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(ie(i))return{data:null,error:i};throw i}})}upload(e,t,r){return Oe(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",e,t,r)})}update(e,t,r){return Oe(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",e,t,r)})}move(e,t){return Oe(this,void 0,void 0,function*(){try{return{data:yield ut(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers}),error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}})}copy(e,t){return Oe(this,void 0,void 0,function*(){try{return{data:{path:(yield ut(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers})).Key},error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}})}createSignedUrl(e,t,r){return Oe(this,void 0,void 0,function*(){try{let s=this._getFinalPath(e),i=yield ut(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(ie(s))return{data:null,error:s};throw s}})}createSignedUrls(e,t,r){return Oe(this,void 0,void 0,function*(){try{const s=yield ut(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(ie(s))return{data:null,error:s};throw s}})}download(e,t){return Oe(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 kn(this.fetch,`${this.url}/${s}/${a}${o}`,{headers:this.headers,noResolveJson:!0})).blob(),error:null}}catch(a){if(ie(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 Oe(this,void 0,void 0,function*(){try{return{data:yield ti(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:e},{headers:this.headers}),error:null}}catch(t){if(ie(t))return{data:null,error:t};throw t}})}list(e,t,r){return Oe(this,void 0,void 0,function*(){try{const s=Object.assign(Object.assign(Object.assign({},Ya),t),{prefix:e||""});return{data:yield ut(this.fetch,`${this.url}/object/list/${this.bucketId}`,s,{headers:this.headers},r),error:null}}catch(s){if(ie(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 tc={"X-Client-Info":"storage-js/2.3.1"};var Ct=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 rc{constructor(e,t={},r){this.url=e,this.headers=Object.assign(Object.assign({},tc),t),this.fetch=ei(r)}listBuckets(){return Ct(this,void 0,void 0,function*(){try{return{data:yield kn(this.fetch,`${this.url}/bucket`,{headers:this.headers}),error:null}}catch(e){if(ie(e))return{data:null,error:e};throw e}})}getBucket(e){return Ct(this,void 0,void 0,function*(){try{return{data:yield kn(this.fetch,`${this.url}/bucket/${e}`,{headers:this.headers}),error:null}}catch(t){if(ie(t))return{data:null,error:t};throw t}})}createBucket(e,t={public:!1}){return Ct(this,void 0,void 0,function*(){try{return{data:yield ut(this.fetch,`${this.url}/bucket`,{id:e,name:e,public:t.public},{headers:this.headers}),error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}})}updateBucket(e,t){return Ct(this,void 0,void 0,function*(){try{return{data:yield Za(this.fetch,`${this.url}/bucket/${e}`,{id:e,name:e,public:t.public},{headers:this.headers}),error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}})}emptyBucket(e){return Ct(this,void 0,void 0,function*(){try{return{data:yield ut(this.fetch,`${this.url}/bucket/${e}/empty`,{},{headers:this.headers}),error:null}}catch(t){if(ie(t))return{data:null,error:t};throw t}})}deleteBucket(e){return Ct(this,void 0,void 0,function*(){try{return{data:yield ti(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers}),error:null}}catch(t){if(ie(t))return{data:null,error:t};throw t}})}}class nc extends rc{constructor(e,t={},r){super(e,t,r)}from(e){return new ec(this.url,this.headers,e,this.fetch)}}const sc={"X-Client-Info":"supabase-js/2.10.0"};var ic=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 oc=n=>{let e;return n?e=n:typeof fetch>"u"?e=bn:e=fetch,(...t)=>e(...t)},ac=()=>typeof Headers>"u"?Pt.Headers:Headers,cc=(n,e,t)=>{const r=oc(t),s=ac();return(i,o)=>ic(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 uc(n){return n.replace(/\/$/,"")}function lc(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 er=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 hc(n){return Math.round(Date.now()/1e3)+n}function fc(){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 lt=()=>typeof document<"u",ht={tested:!1,writable:!1},An=()=>{if(!lt())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(ht.tested)return ht.writable;const n=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(n,n),globalThis.localStorage.removeItem(n),ht.tested=!0,ht.writable=!0}catch{ht.tested=!0,ht.writable=!1}return ht.writable};function de(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 ri=n=>{let e;return n?e=n:typeof fetch>"u"?e=(...t)=>er(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(()=>Er)).fetch(...t)}):e=fetch,(...t)=>e(...t)},dc=n=>typeof n=="object"&&n!==null&&"status"in n&&"ok"in n&&"json"in n&&typeof n.json=="function",pc=(n,e,t)=>er(void 0,void 0,void 0,function*(){yield n.setItem(e,JSON.stringify(t))}),ni=(n,e)=>er(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}}),yc=(n,e)=>er(void 0,void 0,void 0,function*(){yield n.removeItem(e)});function mc(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 Tr{constructor(){this.promise=new Tr.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}}Tr.promiseConstructor=Promise;function si(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(mc(r))}function gc(n){return new Promise(e=>{setTimeout(()=>e(null),n)})}function wc(n,e){return new Promise((r,s)=>{er(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 Sn extends Error{constructor(e,t){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=t}}function F(n){return typeof n=="object"&&n!==null&&"__isAuthError"in n}class bc extends Sn{constructor(e,t){super(e,t),this.name="AuthApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}function vc(n){return F(n)&&n.name==="AuthApiError"}class ii extends Sn{constructor(e,t){super(e),this.name="AuthUnknownError",this.originalError=t}}class Or extends Sn{constructor(e,t,r){super(e),this.name=t,this.status=r}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class tr extends Or{constructor(){super("Auth session missing!","AuthSessionMissingError",400)}}class Rn extends Or{constructor(e){super(e,"AuthInvalidCredentialsError",400)}}class Fe extends Or{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 Pn extends Or{constructor(e,t){super(e,"AuthRetryableFetchError",t)}}var Nn=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())})},_c=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 kr=n=>n.msg||n.message||n.error_description||n.error||JSON.stringify(n),Ec=(n,e)=>Nn(void 0,void 0,void 0,function*(){const t=[502,503,504];dc(n)?t.includes(n.status)?e(new Pn(kr(n),n.status)):n.json().then(r=>{e(new bc(kr(r),n.status||500))}).catch(r=>{e(new ii(kr(r),r))}):e(new Pn(kr(n),0))}),xc=(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 U(n,e,t,r){var s;return Nn(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 Tc(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 Tc(n,e,t,r,s,i){return Nn(this,void 0,void 0,function*(){return new Promise((o,a)=>{n(t,xc(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=>Ec(c,a))})})}function ft(n){var e;let t=null;Sc(n)&&(t=Object.assign({},n),t.expires_at=hc(n.expires_in));const r=(e=n.user)!==null&&e!==void 0?e:n;return{data:{session:t,user:r},error:null}}function dt(n){var e;return{data:{user:(e=n.user)!==null&&e!==void 0?e:n},error:null}}function Oc(n){return{data:n,error:null}}function kc(n){const{action_link:e,email_otp:t,hashed_token:r,redirect_to:s,verification_type:i}=n,o=_c(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 Ac(n){return n}function Sc(n){return n.access_token&&n.refresh_token&&n.expires_in}var ke=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())})},Rc=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 Pc{constructor({url:e="",headers:t={},fetch:r}){this.url=e,this.headers=t,this.fetch=ri(r),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)}}signOut(e){return ke(this,void 0,void 0,function*(){try{return yield U(this.fetch,"POST",`${this.url}/logout`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(t){if(F(t))return{data:null,error:t};throw t}})}inviteUserByEmail(e,t={}){return ke(this,void 0,void 0,function*(){try{return yield U(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:dt})}catch(r){if(F(r))return{data:{user:null},error:r};throw r}})}generateLink(e){return ke(this,void 0,void 0,function*(){try{const{options:t}=e,r=Rc(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 U(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:kc,redirectTo:t==null?void 0:t.redirectTo})}catch(t){if(F(t))return{data:{properties:null,user:null},error:t};throw t}})}createUser(e){return ke(this,void 0,void 0,function*(){try{return yield U(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:dt})}catch(t){if(F(t))return{data:{user:null},error:t};throw t}})}listUsers(e){var t,r,s,i,o,a,c;return ke(this,void 0,void 0,function*(){try{const u={nextPage:null,lastPage:0,total:0},l=yield U(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:Ac});if(l.error)throw l.error;const h=yield l.json(),p=(o=l.headers.get("x-total-count"))!==null&&o!==void 0?o:0,f=(c=(a=l.headers.get("link"))===null||a===void 0?void 0:a.split(","))!==null&&c!==void 0?c:[];return f.length>0&&(f.forEach(d=>{const w=parseInt(d.split(";")[0].split("=")[1].substring(0,1)),b=JSON.parse(d.split(";")[1].split("=")[1]);u[`${b}Page`]=w}),u.total=parseInt(p)),{data:Object.assign(Object.assign({},h),u),error:null}}catch(u){if(F(u))return{data:{users:[]},error:u};throw u}})}getUserById(e){return ke(this,void 0,void 0,function*(){try{return yield U(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:dt})}catch(t){if(F(t))return{data:{user:null},error:t};throw t}})}updateUserById(e,t){return ke(this,void 0,void 0,function*(){try{return yield U(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:dt})}catch(r){if(F(r))return{data:{user:null},error:r};throw r}})}deleteUser(e,t=!1){return ke(this,void 0,void 0,function*(){try{return yield U(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:dt})}catch(r){if(F(r))return{data:{user:null},error:r};throw r}})}_listFactors(e){return ke(this,void 0,void 0,function*(){try{const{data:t,error:r}=yield U(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(F(t))return{data:null,error:t};throw t}})}_deleteFactor(e){return ke(this,void 0,void 0,function*(){try{return{data:yield U(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(t){if(F(t))return{data:null,error:t};throw t}})}}const Nc="2.13.0",$c="http://localhost:9999",Cc="supabase.auth.token",Fc={"X-Client-Info":`gotrue-js/${Nc}`},Ic=10,Dc={getItem:n=>An()?globalThis.localStorage.getItem(n):null,setItem:(n,e)=>{An()&&globalThis.localStorage.setItem(n,e)},removeItem:n=>{An()&&globalThis.localStorage.removeItem(n)}};function Uc(){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 S=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())})};Uc();const Lc={url:$c,storageKey:Cc,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:Fc},$n=10*1e3,jc=3;class Bc{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({},Lc),e);this.inMemorySession=null,this.storageKey=t.storageKey,this.autoRefreshToken=t.autoRefreshToken,this.persistSession=t.persistSession,this.storage=t.storage||Dc,this.admin=new Pc({url:t.url,headers:t.headers,fetch:t.fetch}),this.url=t.url,this.headers=t.headers,this.fetch=ri(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)},lt()&&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 S(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 F(e)?{error:e}:{error:new ii("Unexpected error during initialization",e)}}finally{yield this._handleVisibilityChange()}})}signUp(e){var t,r;return S(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 U(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:ft})}else if("phone"in e){const{phone:u,password:l,options:h}=e;s=yield U(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:ft})}else throw new Rn("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(F(s))return{data:{user:null,session:null},error:s};throw s}})}signInWithPassword(e){var t;return S(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 U(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:ft})}else if("phone"in e){const{phone:o,password:a,options:c}=e;r=yield U(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:ft})}else throw new Rn("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(F(r))return{data:{user:null,session:null},error:r};throw r}})}signInWithOAuth(e){var t,r,s,i;return S(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 S(this,void 0,void 0,function*(){yield this._removeSession();try{const{options:t,provider:r,token:s,nonce:i}=e,o=yield U(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:ft}),{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(F(t))return{data:{user:null,session:null},error:t};throw t}})}signInWithOtp(e){var t,r,s,i,o;return S(this,void 0,void 0,function*(){try{if(yield this._removeSession(),"email"in e){const{email:a,options:c}=e,{error:u}=yield U(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 U(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 Rn("You must provide either an email or phone number.")}catch(a){if(F(a))return{data:{user:null,session:null},error:a};throw a}})}verifyOtp(e){var t,r;return S(this,void 0,void 0,function*(){try{yield this._removeSession();const{data:s,error:i}=yield U(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:ft});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(F(s))return{data:{user:null,session:null},error:s};throw s}})}signInWithSSO(e){var t,r,s;return S(this,void 0,void 0,function*(){try{return yield this._removeSession(),yield U(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:Oc})}catch(i){if(F(i))return{data:null,error:i};throw i}})}getSession(){return S(this,void 0,void 0,function*(){yield this.initializePromise;let e=null;if(this.persistSession){const i=yield ni(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 S(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 U(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:dt})}catch(s){if(F(s))return{data:{user:null},error:s};throw s}})}updateUser(e,t={}){return S(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();if(s)throw s;if(!r.session)throw new tr;const i=r.session,{data:o,error:a}=yield U(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:t==null?void 0:t.emailRedirectTo,body:e,jwt:i.access_token,xform:dt});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(F(r))return{data:{user:null},error:r};throw r}})}_decodeJWT(e){return si(e)}setSession(e){return S(this,void 0,void 0,function*(){try{if(!e.access_token||!e.refresh_token)throw new tr;const t=Date.now()/1e3;let r=t,s=!0,i=null;const o=si(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(F(t))return{data:{session:null,user:null},error:t};throw t}})}refreshSession(e){var t;return S(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 tr;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(F(r))return{data:{user:null,session:null},error:r};throw r}})}_getSessionFromUrl(){return S(this,void 0,void 0,function*(){try{if(!lt())throw new Fe("No browser detected.");if(!this._isImplicitGrantFlow())throw new Fe("Not a valid implicit grant flow url.");const e=de("error_description");if(e){const w=de("error_code");if(!w)throw new Fe("No error_code detected.");const b=de("error");throw b?new Fe(e,{error:b,code:w}):new Fe("No error detected.")}const t=de("provider_token"),r=de("provider_refresh_token"),s=de("access_token");if(!s)throw new Fe("No access_token detected.");const i=de("expires_in");if(!i)throw new Fe("No expires_in detected.");const o=de("refresh_token");if(!o)throw new Fe("No refresh_token detected.");const a=de("token_type");if(!a)throw new Fe("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 p=l.user,f={provider_token:t,provider_refresh_token:r,access_token:s,expires_in:parseInt(i),expires_at:u,refresh_token:o,token_type:a,user:p},d=de("type");return window.location.hash="",{data:{session:f,redirectType:d},error:null}}catch(e){if(F(e))return{data:{session:null,redirectType:null},error:e};throw e}})}_isImplicitGrantFlow(){return lt()&&(Boolean(de("access_token"))||Boolean(de("error_description")))}signOut(){var e;return S(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&&!(vc(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=fc(),r={id:t,callback:e,unsubscribe:()=>{this.stateChangeEmitters.delete(t)}};return this.stateChangeEmitters.set(t,r),{data:{subscription:r}}}resetPasswordForEmail(e,t={}){return S(this,void 0,void 0,function*(){try{return yield U(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(F(r))return{data:null,error:r};throw r}})}_refreshAccessToken(e){return S(this,void 0,void 0,function*(){try{const t=Date.now();return yield wc(r=>S(this,void 0,void 0,function*(){return yield gc(r*200),yield U(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:ft})}),(r,s,i)=>i&&i.error&&i.error instanceof Pn&&Date.now()+(r+1)*200-t<$n)}catch(t){if(F(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 lt()&&!t.skipBrowserRedirect&&window.location.assign(r),{data:{provider:e,url:r},error:null}}_recoverAndRefresh(){var e;return S(this,void 0,void 0,function*(){try{const t=yield ni(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+Ic)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 S(this,void 0,void 0,function*(){if(this.refreshingDeferred)return this.refreshingDeferred.promise;try{if(this.refreshingDeferred=new Tr,!e)throw new tr;const{data:s,error:i}=yield this._refreshAccessToken(e);if(i)throw i;if(!s.session)throw new tr;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(F(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 S(this,void 0,void 0,function*(){this.persistSession||(this.inMemorySession=e),this.persistSession&&e.expires_at&&(yield this._persistSession(e))})}_persistSession(e){return pc(this.storage,this.storageKey,e)}_removeSession(){return S(this,void 0,void 0,function*(){this.persistSession?yield yc(this.storage,this.storageKey):this.inMemorySession=null})}_removeVisibilityChangedCallback(){const e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&<()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}catch(t){console.error("removing visibilitychange callback failed",t)}}_startAutoRefresh(){return S(this,void 0,void 0,function*(){yield this._stopAutoRefresh();const e=setInterval(()=>this._autoRefreshTokenTick(),$n);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"&&e.unref(),yield this._autoRefreshTokenTick()})}_stopAutoRefresh(){return S(this,void 0,void 0,function*(){const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e)})}startAutoRefresh(){return S(this,void 0,void 0,function*(){this._removeVisibilityChangedCallback(),yield this._startAutoRefresh()})}stopAutoRefresh(){return S(this,void 0,void 0,function*(){this._removeVisibilityChangedCallback(),yield this._stopAutoRefresh()})}_autoRefreshTokenTick(){return S(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)/$n)<jc&&(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 S(this,void 0,void 0,function*(){if(!lt()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=()=>S(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 S(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 S(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();return s?{data:null,error:s}:yield U(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(F(r))return{data:null,error:r};throw r}})}_enroll(e){var t,r;return S(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 U(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(F(s))return{data:null,error:s};throw s}})}_verify(e){var t;return S(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 U(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(F(r))return{data:null,error:r};throw r}})}_challenge(e){var t;return S(this,void 0,void 0,function*(){try{const{data:r,error:s}=yield this.getSession();return s?{data:null,error:s}:yield U(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(F(r))return{data:null,error:r};throw r}})}_challengeAndVerify(e){return S(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 S(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 S(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 Hc extends Bc{constructor(e){super(e)}}var Mc=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 zc={headers:sc},Vc={schema:"public"},qc={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0},Jc={};class Gc{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 p=uc(e);if(this.realtimeUrl=`${p}/realtime/v1`.replace(/^http/i,"ws"),this.authUrl=`${p}/auth/v1`,this.storageUrl=`${p}/storage/v1`,p.match(/(supabase\.co)|(supabase\.in)/)){const T=p.split(".");this.functionsUrl=`${T[0]}.functions.${T[1]}.${T[2]}`}else this.functionsUrl=`${p}/functions/v1`;const d=`sb-${new URL(this.authUrl).hostname.split(".")[0]}-auth-token`,w={db:Vc,realtime:Jc,auth:Object.assign(Object.assign({},qc),{storageKey:d}),global:zc},b=lc(r??{},w);this.storageKey=(i=(s=b.auth)===null||s===void 0?void 0:s.storageKey)!==null&&i!==void 0?i:"",this.headers=(a=(o=b.global)===null||o===void 0?void 0:o.headers)!==null&&a!==void 0?a:{},this.auth=this._initSupabaseAuthClient((c=b.auth)!==null&&c!==void 0?c:{},this.headers,(u=b.global)===null||u===void 0?void 0:u.fetch),this.fetch=cc(t,this._getAccessToken.bind(this),(l=b.global)===null||l===void 0?void 0:l.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers},b.realtime)),this.rest=new Ra(`${p}/rest/v1`,{headers:this.headers,schema:(h=b.db)===null||h===void 0?void 0:h.schema,fetch:this.fetch}),this._listenForAuthEvents()}get functions(){return new _a(this.functionsUrl,{headers:this.headers,customFetch:this.fetch})}get storage(){return new nc(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 Mc(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 Hc({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 Ja(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 Wc=(n,e,t)=>new Gc(n,e,t);function oi(n,e){return function(){return n.apply(e,arguments)}}const{toString:ai}=Object.prototype,{getPrototypeOf:Cn}=Object,Fn=(n=>e=>{const t=ai.call(e);return n[t]||(n[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),Ie=n=>(n=n.toLowerCase(),e=>Fn(e)===n),Ar=n=>e=>typeof e===n,{isArray:Ft}=Array,rr=Ar("undefined");function Kc(n){return n!==null&&!rr(n)&&n.constructor!==null&&!rr(n.constructor)&&Xe(n.constructor.isBuffer)&&n.constructor.isBuffer(n)}const ci=Ie("ArrayBuffer");function Xc(n){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(n):e=n&&n.buffer&&ci(n.buffer),e}const Zc=Ar("string"),Xe=Ar("function"),ui=Ar("number"),In=n=>n!==null&&typeof n=="object",Yc=n=>n===!0||n===!1,Sr=n=>{if(Fn(n)!=="object")return!1;const e=Cn(n);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in n)&&!(Symbol.iterator in n)},Qc=Ie("Date"),eu=Ie("File"),tu=Ie("Blob"),ru=Ie("FileList"),nu=n=>In(n)&&Xe(n.pipe),su=n=>{const e="[object FormData]";return n&&(typeof FormData=="function"&&n instanceof FormData||ai.call(n)===e||Xe(n.toString)&&n.toString()===e)},iu=Ie("URLSearchParams"),ou=n=>n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function nr(n,e,{allOwnKeys:t=!1}={}){if(n===null||typeof n>"u")return;let r,s;if(typeof n!="object"&&(n=[n]),Ft(n))for(r=0,s=n.length;r<s;r++)e.call(null,n[r],r,n);else{const i=t?Object.getOwnPropertyNames(n):Object.keys(n),o=i.length;let a;for(r=0;r<o;r++)a=i[r],e.call(null,n[a],a,n)}}function li(n,e){e=e.toLowerCase();const t=Object.keys(n);let r=t.length,s;for(;r-- >0;)if(s=t[r],e===s.toLowerCase())return s;return null}const hi=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),fi=n=>!rr(n)&&n!==hi;function Dn(){const{caseless:n}=fi(this)&&this||{},e={},t=(r,s)=>{const i=n&&li(e,s)||s;Sr(e[i])&&Sr(r)?e[i]=Dn(e[i],r):Sr(r)?e[i]=Dn({},r):Ft(r)?e[i]=r.slice():e[i]=r};for(let r=0,s=arguments.length;r<s;r++)arguments[r]&&nr(arguments[r],t);return e}const au=(n,e,t,{allOwnKeys:r}={})=>(nr(e,(s,i)=>{t&&Xe(s)?n[i]=oi(s,t):n[i]=s},{allOwnKeys:r}),n),cu=n=>(n.charCodeAt(0)===65279&&(n=n.slice(1)),n),uu=(n,e,t,r)=>{n.prototype=Object.create(e.prototype,r),n.prototype.constructor=n,Object.defineProperty(n,"super",{value:e.prototype}),t&&Object.assign(n.prototype,t)},lu=(n,e,t,r)=>{let s,i,o;const a={};if(e=e||{},n==null)return e;do{for(s=Object.getOwnPropertyNames(n),i=s.length;i-- >0;)o=s[i],(!r||r(o,n,e))&&!a[o]&&(e[o]=n[o],a[o]=!0);n=t!==!1&&Cn(n)}while(n&&(!t||t(n,e))&&n!==Object.prototype);return e},hu=(n,e,t)=>{n=String(n),(t===void 0||t>n.length)&&(t=n.length),t-=e.length;const r=n.indexOf(e,t);return r!==-1&&r===t},fu=n=>{if(!n)return null;if(Ft(n))return n;let e=n.length;if(!ui(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=n[e];return t},du=(n=>e=>n&&e instanceof n)(typeof Uint8Array<"u"&&Cn(Uint8Array)),pu=(n,e)=>{const r=(n&&n[Symbol.iterator]).call(n);let s;for(;(s=r.next())&&!s.done;){const i=s.value;e.call(n,i[0],i[1])}},yu=(n,e)=>{let t;const r=[];for(;(t=n.exec(e))!==null;)r.push(t);return r},mu=Ie("HTMLFormElement"),gu=n=>n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,r,s){return r.toUpperCase()+s}),di=(({hasOwnProperty:n})=>(e,t)=>n.call(e,t))(Object.prototype),wu=Ie("RegExp"),pi=(n,e)=>{const t=Object.getOwnPropertyDescriptors(n),r={};nr(t,(s,i)=>{e(s,i,n)!==!1&&(r[i]=s)}),Object.defineProperties(n,r)},bu=n=>{pi(n,(e,t)=>{if(Xe(n)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const r=n[t];if(Xe(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},vu=(n,e)=>{const t={},r=s=>{s.forEach(i=>{t[i]=!0})};return Ft(n)?r(n):r(String(n).split(e)),t},_u=()=>{},Eu=(n,e)=>(n=+n,Number.isFinite(n)?n:e),Un="abcdefghijklmnopqrstuvwxyz",yi="0123456789",mi={DIGIT:yi,ALPHA:Un,ALPHA_DIGIT:Un+Un.toUpperCase()+yi},xu=(n=16,e=mi.ALPHA_DIGIT)=>{let t="";const{length:r}=e;for(;n--;)t+=e[Math.random()*r|0];return t};function Tu(n){return!!(n&&Xe(n.append)&&n[Symbol.toStringTag]==="FormData"&&n[Symbol.iterator])}const g={isArray:Ft,isArrayBuffer:ci,isBuffer:Kc,isFormData:su,isArrayBufferView:Xc,isString:Zc,isNumber:ui,isBoolean:Yc,isObject:In,isPlainObject:Sr,isUndefined:rr,isDate:Qc,isFile:eu,isBlob:tu,isRegExp:wu,isFunction:Xe,isStream:nu,isURLSearchParams:iu,isTypedArray:du,isFileList:ru,forEach:nr,merge:Dn,extend:au,trim:ou,stripBOM:cu,inherits:uu,toFlatObject:lu,kindOf:Fn,kindOfTest:Ie,endsWith:hu,toArray:fu,forEachEntry:pu,matchAll:yu,isHTMLForm:mu,hasOwnProperty:di,hasOwnProp:di,reduceDescriptors:pi,freezeMethods:bu,toObjectSet:vu,toCamelCase:gu,noop:_u,toFiniteNumber:Eu,findKey:li,global:hi,isContextDefined:fi,ALPHABET:mi,generateString:xu,isSpecCompliantForm:Tu,toJSONObject:n=>{const e=new Array(10),t=(r,s)=>{if(In(r)){if(e.indexOf(r)>=0)return;if(!("toJSON"in r)){e[s]=r;const i=Ft(r)?[]:{};return nr(r,(o,a)=>{const c=t(o,s+1);!rr(c)&&(i[a]=c)}),e[s]=void 0,i}}return r};return t(n,0)}};function N(n,e,t,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=n,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),r&&(this.request=r),s&&(this.response=s)}g.inherits(N,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:g.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const gi=N.prototype,wi={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(n=>{wi[n]={value:n}}),Object.defineProperties(N,wi),Object.defineProperty(gi,"isAxiosError",{value:!0}),N.from=(n,e,t,r,s,i)=>{const o=Object.create(gi);return g.toFlatObject(n,o,function(c){return c!==Error.prototype},a=>a!=="isAxiosError"),N.call(o,n.message,e,t,r,s),o.cause=n,o.name=n.name,i&&Object.assign(o,i),o};const Ou=null;function Ln(n){return g.isPlainObject(n)||g.isArray(n)}function bi(n){return g.endsWith(n,"[]")?n.slice(0,-2):n}function vi(n,e,t){return n?n.concat(e).map(function(s,i){return s=bi(s),!t&&i?"["+s+"]":s}).join(t?".":""):e}function ku(n){return g.isArray(n)&&!n.some(Ln)}const Au=g.toFlatObject(g,{},null,function(e){return/^is[A-Z]/.test(e)});function Rr(n,e,t){if(!g.isObject(n))throw new TypeError("target must be an object");e=e||new FormData,t=g.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,b){return!g.isUndefined(b[w])});const r=t.metaTokens,s=t.visitor||l,i=t.dots,o=t.indexes,c=(t.Blob||typeof Blob<"u"&&Blob)&&g.isSpecCompliantForm(e);if(!g.isFunction(s))throw new TypeError("visitor must be a function");function u(d){if(d===null)return"";if(g.isDate(d))return d.toISOString();if(!c&&g.isBlob(d))throw new N("Blob is not supported. Use a Buffer instead.");return g.isArrayBuffer(d)||g.isTypedArray(d)?c&&typeof Blob=="function"?new Blob([d]):Buffer.from(d):d}function l(d,w,b){let T=d;if(d&&!b&&typeof d=="object"){if(g.endsWith(w,"{}"))w=r?w:w.slice(0,-2),d=JSON.stringify(d);else if(g.isArray(d)&&ku(d)||(g.isFileList(d)||g.endsWith(w,"[]"))&&(T=g.toArray(d)))return w=bi(w),T.forEach(function(q,B){!(g.isUndefined(q)||q===null)&&e.append(o===!0?vi([w],B,i):o===null?w:w+"[]",u(q))}),!1}return Ln(d)?!0:(e.append(vi(b,w,i),u(d)),!1)}const h=[],p=Object.assign(Au,{defaultVisitor:l,convertValue:u,isVisitable:Ln});function f(d,w){if(!g.isUndefined(d)){if(h.indexOf(d)!==-1)throw Error("Circular reference detected in "+w.join("."));h.push(d),g.forEach(d,function(T,$){(!(g.isUndefined(T)||T===null)&&s.call(e,T,g.isString($)?$.trim():$,w,p))===!0&&f(T,w?w.concat($):[$])}),h.pop()}}if(!g.isObject(n))throw new TypeError("data must be an object");return f(n),e}function _i(n){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(n).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function jn(n,e){this._pairs=[],n&&Rr(n,this,e)}const Ei=jn.prototype;Ei.append=function(e,t){this._pairs.push([e,t])},Ei.toString=function(e){const t=e?function(r){return e.call(this,r,_i)}:_i;return this._pairs.map(function(s){return t(s[0])+"="+t(s[1])},"").join("&")};function Su(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function xi(n,e,t){if(!e)return n;const r=t&&t.encode||Su,s=t&&t.serialize;let i;if(s?i=s(e,t):i=g.isURLSearchParams(e)?e.toString():new jn(e,t).toString(r),i){const o=n.indexOf("#");o!==-1&&(n=n.slice(0,o)),n+=(n.indexOf("?")===-1?"?":"&")+i}return n}class Ru{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){g.forEach(this.handlers,function(r){r!==null&&e(r)})}}const Ti=Ru,Oi={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Pu=typeof URLSearchParams<"u"?URLSearchParams:jn,Nu=typeof FormData<"u"?FormData:null,$u=typeof Blob<"u"?Blob:null,Cu=(()=>{let n;return typeof navigator<"u"&&((n=navigator.product)==="ReactNative"||n==="NativeScript"||n==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),Fu=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),Ae={isBrowser:!0,classes:{URLSearchParams:Pu,FormData:Nu,Blob:$u},isStandardBrowserEnv:Cu,isStandardBrowserWebWorkerEnv:Fu,protocols:["http","https","file","blob","url","data"]};function Iu(n,e){return Rr(n,new Ae.classes.URLSearchParams,Object.assign({visitor:function(t,r,s,i){return Ae.isNode&&g.isBuffer(t)?(this.append(r,t.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},e))}function Du(n){return g.matchAll(/\w+|\[(\w*)]/g,n).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Uu(n){const e={},t=Object.keys(n);let r;const s=t.length;let i;for(r=0;r<s;r++)i=t[r],e[i]=n[i];return e}function ki(n){function e(t,r,s,i){let o=t[i++];const a=Number.isFinite(+o),c=i>=t.length;return o=!o&&g.isArray(s)?s.length:o,c?(g.hasOwnProp(s,o)?s[o]=[s[o],r]:s[o]=r,!a):((!s[o]||!g.isObject(s[o]))&&(s[o]=[]),e(t,r,s[o],i)&&g.isArray(s[o])&&(s[o]=Uu(s[o])),!a)}if(g.isFormData(n)&&g.isFunction(n.entries)){const t={};return g.forEachEntry(n,(r,s)=>{e(Du(r),s,t,0)}),t}return null}const Lu={"Content-Type":void 0};function ju(n,e,t){if(g.isString(n))try{return(e||JSON.parse)(n),g.trim(n)}catch(r){if(r.name!=="SyntaxError")throw r}return(t||JSON.stringify)(n)}const Pr={transitional:Oi,adapter:["xhr","http"],transformRequest:[function(e,t){const r=t.getContentType()||"",s=r.indexOf("application/json")>-1,i=g.isObject(e);if(i&&g.isHTMLForm(e)&&(e=new FormData(e)),g.isFormData(e))return s&&s?JSON.stringify(ki(e)):e;if(g.isArrayBuffer(e)||g.isBuffer(e)||g.isStream(e)||g.isFile(e)||g.isBlob(e))return e;if(g.isArrayBufferView(e))return e.buffer;if(g.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Iu(e,this.formSerializer).toString();if((a=g.isFileList(e))||r.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return Rr(a?{"files[]":e}:e,c&&new c,this.formSerializer)}}return i||s?(t.setContentType("application/json",!1),ju(e)):e}],transformResponse:[function(e){const t=this.transitional||Pr.transitional,r=t&&t.forcedJSONParsing,s=this.responseType==="json";if(e&&g.isString(e)&&(r&&!this.responseType||s)){const o=!(t&&t.silentJSONParsing)&&s;try{return JSON.parse(e)}catch(a){if(o)throw a.name==="SyntaxError"?N.from(a,N.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ae.classes.FormData,Blob:Ae.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};g.forEach(["delete","get","head"],function(e){Pr.headers[e]={}}),g.forEach(["post","put","patch"],function(e){Pr.headers[e]=g.merge(Lu)});const Bn=Pr,Bu=g.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Hu=n=>{const e={};let t,r,s;return n&&n.split(`
|
2
|
+
`).forEach(function(o){s=o.indexOf(":"),t=o.substring(0,s).trim().toLowerCase(),r=o.substring(s+1).trim(),!(!t||e[t]&&Bu[t])&&(t==="set-cookie"?e[t]?e[t].push(r):e[t]=[r]:e[t]=e[t]?e[t]+", "+r:r)}),e},Ai=Symbol("internals");function sr(n){return n&&String(n).trim().toLowerCase()}function Nr(n){return n===!1||n==null?n:g.isArray(n)?n.map(Nr):String(n)}function Mu(n){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=t.exec(n);)e[r[1]]=r[2];return e}function zu(n){return/^[-_a-zA-Z]+$/.test(n.trim())}function Hn(n,e,t,r,s){if(g.isFunction(r))return r.call(this,e,t);if(s&&(e=t),!!g.isString(e)){if(g.isString(r))return e.indexOf(r)!==-1;if(g.isRegExp(r))return r.test(e)}}function Vu(n){return n.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,r)=>t.toUpperCase()+r)}function qu(n,e){const t=g.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(n,r+t,{value:function(s,i,o){return this[r].call(this,e,s,i,o)},configurable:!0})})}class $r{constructor(e){e&&this.set(e)}set(e,t,r){const s=this;function i(a,c,u){const l=sr(c);if(!l)throw new Error("header name must be a non-empty string");const h=g.findKey(s,l);(!h||s[h]===void 0||u===!0||u===void 0&&s[h]!==!1)&&(s[h||c]=Nr(a))}const o=(a,c)=>g.forEach(a,(u,l)=>i(u,l,c));return g.isPlainObject(e)||e instanceof this.constructor?o(e,t):g.isString(e)&&(e=e.trim())&&!zu(e)?o(Hu(e),t):e!=null&&i(t,e,r),this}get(e,t){if(e=sr(e),e){const r=g.findKey(this,e);if(r){const s=this[r];if(!t)return s;if(t===!0)return Mu(s);if(g.isFunction(t))return t.call(this,s,r);if(g.isRegExp(t))return t.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=sr(e),e){const r=g.findKey(this,e);return!!(r&&this[r]!==void 0&&(!t||Hn(this,this[r],r,t)))}return!1}delete(e,t){const r=this;let s=!1;function i(o){if(o=sr(o),o){const a=g.findKey(r,o);a&&(!t||Hn(r,r[a],a,t))&&(delete r[a],s=!0)}}return g.isArray(e)?e.forEach(i):i(e),s}clear(e){const t=Object.keys(this);let r=t.length,s=!1;for(;r--;){const i=t[r];(!e||Hn(this,this[i],i,e,!0))&&(delete this[i],s=!0)}return s}normalize(e){const t=this,r={};return g.forEach(this,(s,i)=>{const o=g.findKey(r,i);if(o){t[o]=Nr(s),delete t[i];return}const a=e?Vu(i):String(i).trim();a!==i&&delete t[i],t[a]=Nr(s),r[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return g.forEach(this,(r,s)=>{r!=null&&r!==!1&&(t[s]=e&&g.isArray(r)?r.join(", "):r)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(`
|
3
|
+
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach(s=>r.set(s)),r}static accessor(e){const r=(this[Ai]=this[Ai]={accessors:{}}).accessors,s=this.prototype;function i(o){const a=sr(o);r[a]||(qu(s,o),r[a]=!0)}return g.isArray(e)?e.forEach(i):i(e),this}}$r.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),g.freezeMethods($r.prototype),g.freezeMethods($r);const De=$r;function Mn(n,e){const t=this||Bn,r=e||t,s=De.from(r.headers);let i=r.data;return g.forEach(n,function(a){i=a.call(t,i,s.normalize(),e?e.status:void 0)}),s.normalize(),i}function Si(n){return!!(n&&n.__CANCEL__)}function ir(n,e,t){N.call(this,n??"canceled",N.ERR_CANCELED,e,t),this.name="CanceledError"}g.inherits(ir,N,{__CANCEL__:!0});function Ju(n,e,t){const r=t.config.validateStatus;!t.status||!r||r(t.status)?n(t):e(new N("Request failed with status code "+t.status,[N.ERR_BAD_REQUEST,N.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}const Gu=Ae.isStandardBrowserEnv?function(){return{write:function(t,r,s,i,o,a){const c=[];c.push(t+"="+encodeURIComponent(r)),g.isNumber(s)&&c.push("expires="+new Date(s).toGMTString()),g.isString(i)&&c.push("path="+i),g.isString(o)&&c.push("domain="+o),a===!0&&c.push("secure"),document.cookie=c.join("; ")},read:function(t){const r=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return r?decodeURIComponent(r[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function Wu(n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(n)}function Ku(n,e){return e?n.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):n}function Ri(n,e){return n&&!Wu(e)?Ku(n,e):e}const Xu=Ae.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let r;function s(i){let o=i;return e&&(t.setAttribute("href",o),o=t.href),t.setAttribute("href",o),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return r=s(window.location.href),function(o){const a=g.isString(o)?s(o):o;return a.protocol===r.protocol&&a.host===r.host}}():function(){return function(){return!0}}();function Zu(n){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(n);return e&&e[1]||""}function Yu(n,e){n=n||10;const t=new Array(n),r=new Array(n);let s=0,i=0,o;return e=e!==void 0?e:1e3,function(c){const u=Date.now(),l=r[i];o||(o=u),t[s]=c,r[s]=u;let h=i,p=0;for(;h!==s;)p+=t[h++],h=h%n;if(s=(s+1)%n,s===i&&(i=(i+1)%n),u-o<e)return;const f=l&&u-l;return f?Math.round(p*1e3/f):void 0}}function Pi(n,e){let t=0;const r=Yu(50,250);return s=>{const i=s.loaded,o=s.lengthComputable?s.total:void 0,a=i-t,c=r(a),u=i<=o;t=i;const l={loaded:i,total:o,progress:o?i/o:void 0,bytes:a,rate:c||void 0,estimated:c&&o&&u?(o-i)/c:void 0,event:s};l[e?"download":"upload"]=!0,n(l)}}const Cr={http:Ou,xhr:typeof XMLHttpRequest<"u"&&function(n){return new Promise(function(t,r){let s=n.data;const i=De.from(n.headers).normalize(),o=n.responseType;let a;function c(){n.cancelToken&&n.cancelToken.unsubscribe(a),n.signal&&n.signal.removeEventListener("abort",a)}g.isFormData(s)&&(Ae.isStandardBrowserEnv||Ae.isStandardBrowserWebWorkerEnv)&&i.setContentType(!1);let u=new XMLHttpRequest;if(n.auth){const f=n.auth.username||"",d=n.auth.password?unescape(encodeURIComponent(n.auth.password)):"";i.set("Authorization","Basic "+btoa(f+":"+d))}const l=Ri(n.baseURL,n.url);u.open(n.method.toUpperCase(),xi(l,n.params,n.paramsSerializer),!0),u.timeout=n.timeout;function h(){if(!u)return;const f=De.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),w={data:!o||o==="text"||o==="json"?u.responseText:u.response,status:u.status,statusText:u.statusText,headers:f,config:n,request:u};Ju(function(T){t(T),c()},function(T){r(T),c()},w),u=null}if("onloadend"in u?u.onloadend=h:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(h)},u.onabort=function(){u&&(r(new N("Request aborted",N.ECONNABORTED,n,u)),u=null)},u.onerror=function(){r(new N("Network Error",N.ERR_NETWORK,n,u)),u=null},u.ontimeout=function(){let d=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const w=n.transitional||Oi;n.timeoutErrorMessage&&(d=n.timeoutErrorMessage),r(new N(d,w.clarifyTimeoutError?N.ETIMEDOUT:N.ECONNABORTED,n,u)),u=null},Ae.isStandardBrowserEnv){const f=(n.withCredentials||Xu(l))&&n.xsrfCookieName&&Gu.read(n.xsrfCookieName);f&&i.set(n.xsrfHeaderName,f)}s===void 0&&i.setContentType(null),"setRequestHeader"in u&&g.forEach(i.toJSON(),function(d,w){u.setRequestHeader(w,d)}),g.isUndefined(n.withCredentials)||(u.withCredentials=!!n.withCredentials),o&&o!=="json"&&(u.responseType=n.responseType),typeof n.onDownloadProgress=="function"&&u.addEventListener("progress",Pi(n.onDownloadProgress,!0)),typeof n.onUploadProgress=="function"&&u.upload&&u.upload.addEventListener("progress",Pi(n.onUploadProgress)),(n.cancelToken||n.signal)&&(a=f=>{u&&(r(!f||f.type?new ir(null,n,u):f),u.abort(),u=null)},n.cancelToken&&n.cancelToken.subscribe(a),n.signal&&(n.signal.aborted?a():n.signal.addEventListener("abort",a)));const p=Zu(l);if(p&&Ae.protocols.indexOf(p)===-1){r(new N("Unsupported protocol "+p+":",N.ERR_BAD_REQUEST,n));return}u.send(s||null)})}};g.forEach(Cr,(n,e)=>{if(n){try{Object.defineProperty(n,"name",{value:e})}catch{}Object.defineProperty(n,"adapterName",{value:e})}});const Qu={getAdapter:n=>{n=g.isArray(n)?n:[n];const{length:e}=n;let t,r;for(let s=0;s<e&&(t=n[s],!(r=g.isString(t)?Cr[t.toLowerCase()]:t));s++);if(!r)throw r===!1?new N(`Adapter ${t} is not supported by the environment`,"ERR_NOT_SUPPORT"):new Error(g.hasOwnProp(Cr,t)?`Adapter '${t}' is not available in the build`:`Unknown adapter '${t}'`);if(!g.isFunction(r))throw new TypeError("adapter is not a function");return r},adapters:Cr};function zn(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new ir(null,n)}function Ni(n){return zn(n),n.headers=De.from(n.headers),n.data=Mn.call(n,n.transformRequest),["post","put","patch"].indexOf(n.method)!==-1&&n.headers.setContentType("application/x-www-form-urlencoded",!1),Qu.getAdapter(n.adapter||Bn.adapter)(n).then(function(r){return zn(n),r.data=Mn.call(n,n.transformResponse,r),r.headers=De.from(r.headers),r},function(r){return Si(r)||(zn(n),r&&r.response&&(r.response.data=Mn.call(n,n.transformResponse,r.response),r.response.headers=De.from(r.response.headers))),Promise.reject(r)})}const $i=n=>n instanceof De?n.toJSON():n;function It(n,e){e=e||{};const t={};function r(u,l,h){return g.isPlainObject(u)&&g.isPlainObject(l)?g.merge.call({caseless:h},u,l):g.isPlainObject(l)?g.merge({},l):g.isArray(l)?l.slice():l}function s(u,l,h){if(g.isUndefined(l)){if(!g.isUndefined(u))return r(void 0,u,h)}else return r(u,l,h)}function i(u,l){if(!g.isUndefined(l))return r(void 0,l)}function o(u,l){if(g.isUndefined(l)){if(!g.isUndefined(u))return r(void 0,u)}else return r(void 0,l)}function a(u,l,h){if(h in e)return r(u,l);if(h in n)return r(void 0,u)}const c={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(u,l)=>s($i(u),$i(l),!0)};return g.forEach(Object.keys(n).concat(Object.keys(e)),function(l){const h=c[l]||s,p=h(n[l],e[l],l);g.isUndefined(p)&&h!==a||(t[l]=p)}),t}const Ci="1.3.4",Vn={};["object","boolean","number","function","string","symbol"].forEach((n,e)=>{Vn[n]=function(r){return typeof r===n||"a"+(e<1?"n ":" ")+n}});const Fi={};Vn.transitional=function(e,t,r){function s(i,o){return"[Axios v"+Ci+"] Transitional option '"+i+"'"+o+(r?". "+r:"")}return(i,o,a)=>{if(e===!1)throw new N(s(o," has been removed"+(t?" in "+t:"")),N.ERR_DEPRECATED);return t&&!Fi[o]&&(Fi[o]=!0,console.warn(s(o," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(i,o,a):!0}};function el(n,e,t){if(typeof n!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);const r=Object.keys(n);let s=r.length;for(;s-- >0;){const i=r[s],o=e[i];if(o){const a=n[i],c=a===void 0||o(a,i,n);if(c!==!0)throw new N("option "+i+" must be "+c,N.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new N("Unknown option "+i,N.ERR_BAD_OPTION)}}const qn={assertOptions:el,validators:Vn},Ze=qn.validators;class Fr{constructor(e){this.defaults=e,this.interceptors={request:new Ti,response:new Ti}}request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=It(this.defaults,t);const{transitional:r,paramsSerializer:s,headers:i}=t;r!==void 0&&qn.assertOptions(r,{silentJSONParsing:Ze.transitional(Ze.boolean),forcedJSONParsing:Ze.transitional(Ze.boolean),clarifyTimeoutError:Ze.transitional(Ze.boolean)},!1),s!==void 0&&qn.assertOptions(s,{encode:Ze.function,serialize:Ze.function},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o;o=i&&g.merge(i.common,i[t.method]),o&&g.forEach(["delete","get","head","post","put","patch","common"],d=>{delete i[d]}),t.headers=De.concat(o,i);const a=[];let c=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(t)===!1||(c=c&&w.synchronous,a.unshift(w.fulfilled,w.rejected))});const u=[];this.interceptors.response.forEach(function(w){u.push(w.fulfilled,w.rejected)});let l,h=0,p;if(!c){const d=[Ni.bind(this),void 0];for(d.unshift.apply(d,a),d.push.apply(d,u),p=d.length,l=Promise.resolve(t);h<p;)l=l.then(d[h++],d[h++]);return l}p=a.length;let f=t;for(h=0;h<p;){const d=a[h++],w=a[h++];try{f=d(f)}catch(b){w.call(this,b);break}}try{l=Ni.call(this,f)}catch(d){return Promise.reject(d)}for(h=0,p=u.length;h<p;)l=l.then(u[h++],u[h++]);return l}getUri(e){e=It(this.defaults,e);const t=Ri(e.baseURL,e.url);return xi(t,e.params,e.paramsSerializer)}}g.forEach(["delete","get","head","options"],function(e){Fr.prototype[e]=function(t,r){return this.request(It(r||{},{method:e,url:t,data:(r||{}).data}))}}),g.forEach(["post","put","patch"],function(e){function t(r){return function(i,o,a){return this.request(It(a||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:o}))}}Fr.prototype[e]=t(),Fr.prototype[e+"Form"]=t(!0)});const Ir=Fr;class Jn{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(i){t=i});const r=this;this.promise.then(s=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const o=new Promise(a=>{r.subscribe(a),i=a}).then(s);return o.cancel=function(){r.unsubscribe(i)},o},e(function(i,o,a){r.reason||(r.reason=new ir(i,o,a),t(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}static source(){let e;return{token:new Jn(function(s){e=s}),cancel:e}}}const tl=Jn;function rl(n){return function(t){return n.apply(null,t)}}function nl(n){return g.isObject(n)&&n.isAxiosError===!0}const Gn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Gn).forEach(([n,e])=>{Gn[e]=n});const sl=Gn;function Ii(n){const e=new Ir(n),t=oi(Ir.prototype.request,e);return g.extend(t,Ir.prototype,e,{allOwnKeys:!0}),g.extend(t,e,null,{allOwnKeys:!0}),t.create=function(s){return Ii(It(n,s))},t}const J=Ii(Bn);J.Axios=Ir,J.CanceledError=ir,J.CancelToken=tl,J.isCancel=Si,J.VERSION=Ci,J.toFormData=Rr,J.AxiosError=N,J.Cancel=J.CanceledError,J.all=function(e){return Promise.all(e)},J.spread=rl,J.isAxiosError=nl,J.mergeConfig=It,J.AxiosHeaders=De,J.formToJSON=n=>ki(g.isHTMLForm(n)?new FormData(n):n),J.HttpStatusCode=sl,J.default=J;const il=J;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 ol=/[^.^\]^[]+|(?=\[\]|\.\.)/g,Di=/^\d+$/,al=/^\d/,cl=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,ul=/^\s*(['"]?)(.*?)(\1)\s*$/,Wn=512,Ui=new pt(Wn),Li=new pt(Wn),ji=new pt(Wn),yt={Cache:pt,split:Xn,normalizePath:Kn,setter:function(n){var e=Kn(n);return Li.get(n)||Li.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=Kn(n);return ji.get(n)||ji.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+(Zn(t)||Di.test(t)?"["+t+"]":(e?".":"")+t)},"")},forEach:function(n,e,t){ll(Array.isArray(n)?n:Xn(n),e,t)}};function Kn(n){return Ui.get(n)||Ui.set(n,Xn(n).map(function(e){return e.replace(ul,"$2")}))}function Xn(n){return n.match(ol)||[""]}function ll(n,e,t){var r=n.length,s,i,o,a;for(i=0;i<r;i++)s=n[i],s&&(dl(s)&&(s='"'+s+'"'),a=Zn(s),o=!a&&/^\d+$/.test(s),e.call(t,s,a,o,i,n))}function Zn(n){return typeof n=="string"&&n&&["'",'"'].indexOf(n.charAt(0))!==-1}function hl(n){return n.match(al)&&!n.match(Di)}function fl(n){return cl.test(n)}function dl(n){return!Zn(n)&&(hl(n)||fl(n))}const pl=/[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,Dr=n=>n.match(pl)||[],Ur=n=>n[0].toUpperCase()+n.slice(1),Yn=(n,e)=>Dr(n).join(e).toLowerCase(),Bi=n=>Dr(n).reduce((e,t)=>`${e}${e?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()}`,"");var Qn={words:Dr,upperFirst:Ur,camelCase:Bi,pascalCase:n=>Ur(Bi(n)),snakeCase:n=>Yn(n,"_"),kebabCase:n=>Yn(n,"-"),sentenceCase:n=>Ur(Yn(n," ")),titleCase:n=>Dr(n).map(Ur).join(" ")},Lr={},yl={get exports(){return Lr},set exports(n){Lr=n}};yl.exports=function(n){return Hi(ml(n),n)},Lr.array=Hi;function Hi(n,e){var t=n.length,r=new Array(t),s={},i=t,o=gl(e),a=wl(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 p;try{p=", node was:"+JSON.stringify(u)}catch{p=""}throw new Error("Cyclic dependency"+p)}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 f=o.get(u)||new Set;if(f=Array.from(f),l=f.length){h.add(u);do{var d=f[--l];c(d,a.get(d),h)}while(l);h.delete(u)}r[--t]=u}}}function ml(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 gl(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 wl(n){for(var e=new Map,t=0,r=n.length;t<r;t++)e.set(n[t],t);return e}const bl=Object.prototype.toString,vl=Error.prototype.toString,_l=RegExp.prototype.toString,El=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",xl=/^Symbol\((.*)\)(.*)$/;function Tl(n){return n!=+n?"NaN":n===0&&1/n<0?"-0":""+n}function Mi(n,e=!1){if(n==null||n===!0||n===!1)return""+n;const t=typeof n;if(t==="number")return Tl(n);if(t==="string")return e?`"${n}"`:n;if(t==="function")return"[Function "+(n.name||"anonymous")+"]";if(t==="symbol")return El.call(n).replace(xl,"Symbol($1)");const r=bl.call(n).slice(8,-1);return r==="Date"?isNaN(n.getTime())?""+n:n.toISOString(n):r==="Error"||n instanceof Error?"["+vl.call(n)+"]":r==="RegExp"?_l.call(n):null}function mt(n,e){let t=Mi(n,e);return t!==null?t:JSON.stringify(n,function(r,s){let i=Mi(this[r],e);return i!==null?i:s},2)}function zi(n){return n==null?[]:[].concat(n)}let Ol=/\$\{\s*(\w+)\s*\}/g;class he 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(Ol,(s,i)=>mt(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=[],zi(e).forEach(i=>{he.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,he)}}let Ue={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 \`${mt(r,!0)}\`).`:".";return e!=="mixed"?`${n} must be a \`${e}\` type, but the final value was: \`${mt(t,!0)}\``+s:`${n} must match the configured type. The validated value was: \`${mt(t,!0)}\``+s}},be={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"},Ye={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"},es={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},ts={isValue:"${path} field must be ${value}"},rs={noUnknown:"${path} field has unspecified keys: ${unknown}"},jr={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:Ue,string:be,number:Ye,date:es,object:rs,array:jr,boolean:ts});const Br=n=>n&&n.__isYupSchema__;class Hr{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 Hr(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(!Br(s))throw new TypeError("conditions must return a schema object");return s.resolve(t)}}const Mr={context:"$",value:"."};class gt{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]===Mr.context,this.isValue=this.key[0]===Mr.value,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?Mr.context:this.isValue?Mr.value:"";this.path=this.key.slice(r.length),this.getter=this.path&&yt.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}}gt.prototype.__isYupRef=!0;const pe=n=>n==null;function Dt(n){function e({value:t,path:r="",options:s,originalValue:i,schema:o},a,c){const{name:u,test:l,params:h,message:p,skipAbsent:f}=n;let{parent:d,context:w,abortEarly:b=o.spec.abortEarly}=s;function T(V){return gt.isRef(V)?V.getValue(t,d,w):V}function $(V={}){const Y=Object.assign({value:t,originalValue:i,label:o.spec.label,path:V.path||r,spec:o.spec},h,V.params);for(const Wt of Object.keys(Y))Y[Wt]=T(Y[Wt]);const yn=new he(he.formatError(V.message||p,Y),t,Y.path,V.type||u);return yn.params=Y,yn}const q=b?a:c;let B={path:r,parent:d,type:u,from:s.from,createError:$,resolve:T,options:s,originalValue:i,schema:o};const Ce=V=>{he.isError(V)?q(V):V?c(null):q($())},vr=V=>{he.isError(V)?q(V):a(V)},dn=f&&pe(t);if(!s.sync){try{Promise.resolve(dn?!0:l.call(B,t,B)).then(Ce,vr)}catch(V){vr(V)}return}let Te;try{var pn;if(Te=dn?!0:l.call(B,t,B),typeof((pn=Te)==null?void 0:pn.then)=="function")throw new Error(`Validation test of type: "${B.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(V){vr(V);return}Ce(Te)}return e.OPTIONS=n,e}function kl(n,e,t,r=t){let s,i,o;return e?(yt.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",p=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&&p>=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[p],n=h?n.spec.types[p]: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 zr extends Set{describe(){const e=[];for(const t of this.values())e.push(gt.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 zr(this.values())}merge(e,t){const r=this.clone();return e.forEach(s=>r.add(s)),t.forEach(s=>r.delete(s)),r}}function Ut(n,e=new Map){if(Br(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]=Ut(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,Ut(s,e))}else if(n instanceof Set){t=new Set,e.set(n,t);for(const r of n)t.add(Ut(r,e))}else if(n instanceof Object){t={},e.set(n,t);for(const[r,s]of Object.entries(n))t[r]=Ut(s,e)}else throw Error(`Unable to clone ${n}`);return t}class oe{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 zr,this._blacklist=new zr,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError(Ue.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=Ut(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&&pe(i))return i;let o=mt(e),a=mt(i);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${r.type}".
|
4
4
|
|
5
5
|
attempted value: ${o}
|
6
|
-
`+(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=w=>{s||(s=!0,t(w,o))},h=w=>{s||(s=!0,r(w,o))},p=i.length,f=[];if(!p)return h([]);let d={value:o,originalValue:a,path:c,options:u,schema:this};for(let w=0;w<i.length;w++){const b=i[w];b(d,l,function($){$&&(f=f.concat($)),--p<=0&&h(f)})}}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,p,f)=>this.resolve(l)._validate(u,l,p,f)}validate(e,t){let r=this.resolve(Object.assign({},t,{value:e}));return new Promise((s,i)=>r._validate(e,t,(o,a)=>{le.isError(o)&&(o.value=a),i(o)},(o,a)=>{o.length?i(new le(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 le.isError(i)&&(i.value=o),i},(i,o)=>{if(i.length)throw new le(i,e);s=o}),s}isValid(e,t){return this.validate(e,t).then(()=>!0,r=>{if(le.isError(r))return!1;throw r})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(r){if(le.isError(r))return!1;throw r}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):Dt(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=Ft({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=Ft({message:t,name:"optionality",test(s){return s===void 0?this.schema.spec.optional:!0}}),r}optional(){return this.optionality(!0)}defined(e=Ue.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=Ue.notNull){return this.nullability(!1,e)}required(e=Ue.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=Ue.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let r=this.clone(),s=Ft(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=Hi(e).map(i=>new gt(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=Ft({message:e,name:"typeError",test(r){return!pe(r)&&!this.schema._typeCheck(r)?this.createError({params:{type:this.schema.type}}):!0}}),t}oneOf(e,t=Ue.oneOf){let r=this.clone();return e.forEach(s=>{r._whitelist.add(s),r._blacklist.delete(s)}),r.internalTests.whiteList=Ft({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=Ue.notOneOf){let r=this.clone();return e.forEach(s=>{r._blacklist.add(s),r._whitelist.delete(s)}),r.internalTests.blacklist=Ft({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)}}}oe.prototype.__isYupSchema__=!0;for(const n of["validate","validateSync"])oe.prototype[`${n}At`]=function(e,t,r={}){const{parent:s,parentPath:i,schema:o}=Tl(this,e,t,r.context);return o[n](s&&s[i],Object.assign({},r,{parent:s,path:e}))};for(const n of["equals","is"])oe.prototype[n]=oe.prototype.oneOf;for(const n of["not","nope"])oe.prototype[n]=oe.prototype.notOneOf;const Sl=()=>!0;function Mi(n){return new zi(n)}class zi extends oe{constructor(e){super(typeof e=="function"?{type:"mixed",check:e}:Object.assign({type:"mixed",check:Sl},e))}}Mi.prototype=zi.prototype;function rs(){return new Vi}class Vi extends oe{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=es.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return pe(t)||t===!0}})}isFalse(e=es.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return pe(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)}}rs.prototype=Vi.prototype;let Al=/^[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])?)*$/,kl=/^((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,Rl=/^(?:[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,Pl=n=>pe(n)||n===n.trim(),Nl={}.toString();function S(){return new qi}class qi extends oe{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===Nl?e:s})})}required(e){return super.required(e).withMutation(t=>t.test({message:e||Ue.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=be.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=be.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=be.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||be.matches,params:{regex:e},skipAbsent:!0,test:o=>o===""&&r||o.search(e)!==-1})}email(e=be.email){return this.matches(Al,{name:"email",message:e,excludeEmptyString:!0})}url(e=be.url){return this.matches(kl,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=be.uuid){return this.matches(Rl,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=be.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:Pl})}lowercase(e=be.lowercase){return this.transform(t=>pe(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>pe(t)||t===t.toLowerCase()})}uppercase(e=be.uppercase){return this.transform(t=>pe(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>pe(t)||t===t.toUpperCase()})}}S.prototype=qi.prototype;let $l=n=>n!=+n;function K(){return new Ji}class Ji extends oe{constructor(){super({type:"number",check(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!$l(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=Ye.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=Ye.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=Ye.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=Ye.moreThan){return this.test({message:t,name:"min",exclusive:!0,params:{more:e},skipAbsent:!0,test(r){return r>this.resolve(e)}})}positive(e=Ye.positive){return this.moreThan(0,e)}negative(e=Ye.negative){return this.lessThan(0,e)}integer(e=Ye.integer){return this.test({name:"integer",message:e,skipAbsent:!0,test:t=>Number.isInteger(t)})}truncate(){return this.transform(e=>pe(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=>pe(s)?s:Math[e](s))}}K.prototype=Ji.prototype;var Cl=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function Il(n){var e=[1,4,5,6,7,10,11],t=0,r,s;if(s=Cl.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 Fl=new Date(""),Dl=n=>Object.prototype.toString.call(n)==="[object Date]";class zr extends oe{constructor(){super({type:"date",check(e){return Dl(e)&&!isNaN(e.getTime())}}),this.withMutation(()=>{this.transform((e,t,r)=>!r.spec.coerce||r.isType(e)?e:(e=Il(e),isNaN(e)?zr.INVALID_DATE:new Date(e)))})}prepareParam(e,t){let r;if(gt.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=Qn.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=Qn.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)}})}}zr.INVALID_DATE=Fl,zr.prototype;function Ul(n,e=[]){let t=[],r=new Set,s=new Set(e.map(([o,a])=>`${o}-${a}`));function i(o,a){let c=yt.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),gt.isRef(a)&&a.isSibling?i(a.path,o):jr(a)&&"deps"in a&&a.deps.forEach(c=>i(c,o))}return Ur.array(Array.from(r),t).reverse()}function Gi(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 Wi(n){return(e,t)=>Gi(n,e)-Gi(n,t)}const Ki=(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 Vr(n){if("fields"in n){const e={};for(const[t,r]of Object.entries(n.fields))e[t]=Vr(r);return n.setFields(e)}if(n.type==="array"){const e=n.optional();return e.innerType&&(e.innerType=Vr(e.innerType)),e}return n.type==="tuple"?n.optional().clone({types:n.spec.types.map(Vr)}):"optional"in n?n.optional():n}const Ll=(n,e)=>{const t=[...yt.normalizePath(e)];if(t.length===1)return t[0]in n;let r=t.pop(),s=yt.getter(yt.join(t),!0)(n);return!!(s&&r in s)};let Xi=n=>Object.prototype.toString.call(n)==="[object Object]";function jl(n,e){let t=Object.keys(n.fields);return Object.keys(e).filter(r=>t.indexOf(r)===-1)}const Bl=Wi([]);function he(n){return new Zi(n)}class Zi extends oe{constructor(e){super({type:"object",check(t){return Xi(t)||typeof t=="function"}}),this.fields=Object.create(null),this._sortErrors=Bl,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 p=i[h],f=h in s;if(p){let d,w=s[h];u.path=(t.path?`${t.path}.`:"")+h,p=p.resolve({value:w,context:t.context,parent:c});let b=p instanceof oe?p.spec:void 0,O=b==null?void 0:b.strict;if(b!=null&&b.strip){l=l||h in s;continue}d=!t.__validating||!O?p.cast(s[h],u):s[h],d!==void 0&&(c[h]=d)}else f&&!o&&(c[h]=s[h]);(f!==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||!Xi(u)){s(c,u);return}o=o||u;let l=[];for(let h of this._nodes){let p=this.fields[h];!p||gt.isRef(p)||l.push(p.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=Ul(e,t),r._sortErrors=Wi(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 Vr(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=yt.getter(e,!0);return this.transform(i=>{if(!i)return i;let o=i;return Ll(i,e)&&(o=Object.assign({},i),r||delete o[e],o[t]=s(i)),o})}json(){return this.transform(Ki)}noUnknown(e=!0,t=ts.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=jl(this.schema,s);return!e||i.length===0||this.createError({params:{unknown:i.join(", ")}})}});return r.spec.noUnknown=e,r}unknown(e=!0,t=ts.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(Yn.camelCase)}snakeCase(){return this.transformKeys(Yn.snakeCase)}constantCase(){return this.transformKeys(e=>Yn.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}}he.prototype=Zi.prototype;function wt(n){return new Yi(n)}class Yi extends oe{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 f=0;f<u.length;f++){var p;h[f]=o.asNestedTest({options:t,index:f,parent:u,parentPath:t.path,originalParent:(p=t.originalValue)!=null?p:e})}this.runTests({value:u,tests:h,originalValue:(l=t.originalValue)!=null?l:e,options:t},r,f=>s(f.concat(c),u))})}clone(e){const t=super.clone(e);return t.innerType=this.innerType,t}json(){return this.transform(Ki)}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(!jr(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+mt(e));return t.innerType=e,t}length(e,t=Lr.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||Lr.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||Lr.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}}wt.prototype=Yi.prototype;const Qi=he({url:S().url(),height:K(),width:K()}),Hl=he({type:S().default("rich"),title:S(),color:K(),thumbnail:Qi,image:Qi,url:S()}),Ml=he({url:S().url().required(),username:S(),avatar_url:S().url(),message:S().required(),embed:Hl}),zl="notify_discord_webhook";class ns{static async SimpleToRaw(e){return{name:"",notify_type:zl,notify:await ns.validateCreate(e)}}static validateCreate(e){return Ml.validate(e)}}const Vl=he({email:S().required(),subject:S(),html:S().required()}),ql="notify_email";class ss{static async SimpleToRaw(e){return{name:"",notify_type:ql,notify:await ss.validateCreate(e)}}static async validateCreate(e){return Vl.validate(e)}}const Jl=he({clientId:K().required(),content:S().required()}),Gl="notify_telegram";class is{static async SimpleToRaw(e){return{name:"",notify_type:Gl,notify:await is.validateCreate(e)}}static validateCreate(e){return Jl.validate(e)}}class os{static async SimpleToRaw(e,t){switch(e){case"Discord":return ns.SimpleToRaw(t);case"Telegram":return is.SimpleToRaw(t);case"Email":return ss.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 Wl="handler_function_call";class eo{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Wl,handler:await this.validate(r)}}static validate(e){const t=([s],i)=>s==="true"?i.notRequired():i.required();return he({address:S().required(),abi:wt().required(),nBlocks:K().default(100).min(10).required(),function:S().required(),condition:S().default("true").oneOf([">",">=","<","<=","=","true"]).required(),constant:K().min(0).when("condition",t),responseArgIndex:K().min(0).when("condition",t),responseArgDecimals:K().min(0).when("condition",t)}).validateSync(e)}}const Kl="handler_onchain_event";class to{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Kl,handler:await this.validate(r)}}static validate(e){const t=([s],i)=>s==="true"?i.notRequired():i.required();return he({address:S().required(),event:S().required(),abi:wt().required(),condition:S().default("true").oneOf([">",">=","<","<=","=","true"]).required(),constant:K().min(0).when("condition",t),paramsIndex:K().min(0).when("condition",t),paramsDecimals:K().min(0).when("condition",t)}).validateSync(e)}}const Xl="6.1.0";function Zl(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 ro(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 R(n,e,t){for(let r in e){let s=e[r];const i=t?t[r]:null;i&&Zl(s,i,r),Object.defineProperty(n,r,{enumerable:!0,value:s,writable:!1})}}function Ut(n){if(n==null)return"null";if(Array.isArray(n))return"[ "+n.map(Ut).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 Ut(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=>`${Ut(t)}: ${Ut(n[t])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function qr(n,e){return n&&n.code===e}function no(n){return qr(n,"CALL_EXCEPTION")}function Jr(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: ${Ut(t)}`);for(const i in t){const o=t[i];s.push(i+"="+Ut(o))}}s.push(`code=${e}`),s.push(`version=${Xl}`),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 R(r,{code:e}),t&&Object.assign(r,t),r}function T(n,e,t,r){if(!n)throw Jr(e,t,r)}function E(n,e,t,r){T(n,e,"INVALID_ARGUMENT",{argument:t,value:r})}function so(n,e,t){t==null&&(t=""),t&&(t=": "+t),T(n>=e,"missing arguemnt"+t,"MISSING_ARGUMENT",{count:n,expectedCount:e}),T(n<=e,"too many arguemnts"+t,"UNEXPECTED_ARGUMENT",{count:n,expectedCount:e})}const Yl=["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 Ql(n){T(Yl.indexOf(n)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:n}})}function as(n,e,t){if(t==null&&(t=""),n!==e){let r=t,s="new";t&&(r+=".",s+=" "+t),T(!1,`private constructor; use ${r}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function io(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}E(!1,"invalid BytesLike value",e||"value",n)}function Le(n,e){return io(n,e,!1)}function je(n,e){return io(n,e,!0)}function Qe(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 oo="0123456789abcdef";function W(n){const e=Le(n);let t="0x";for(let r=0;r<e.length;r++){const s=e[r];t+=oo[(s&240)>>4]+oo[s&15]}return t}function Lt(n){return"0x"+n.map(e=>W(e).substring(2)).join("")}function jt(n,e,t){const r=Le(n);return t!=null&&t>r.length&&T(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:t}),W(r.slice(e??0,t??r.length))}function eh(n,e,t){const r=Le(n);T(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),W(s)}function th(n,e){return eh(n,e,!0)}const Gr=BigInt(0),ve=BigInt(1),Bt=9007199254740991;function rh(n,e){const t=Kr(n,"value"),r=BigInt(Be(e,"width"));if(T(t>>r===Gr,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:n}),t>>r-ve){const s=(ve<<r)-ve;return-((~t&s)+ve)}return t}function nh(n,e){let t=bt(n,"value");const r=BigInt(Be(e,"width")),s=ve<<r-ve;if(t<Gr){t=-t,T(t<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});const i=(ve<<r)-ve;return(~t&i)+ve}else T(t<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});return t}function Wr(n,e){const t=Kr(n,"value"),r=BigInt(Be(e,"bits"));return t&(ve<<r)-ve}function bt(n,e){switch(typeof n){case"bigint":return n;case"number":return E(Number.isInteger(n),"underflow",e||"value",n),E(n>=-Bt&&n<=Bt,"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){E(!1,`invalid BigNumberish string: ${t.message}`,e||"value",n)}}E(!1,"invalid BigNumberish value",e||"value",n)}function Kr(n,e){const t=bt(n,e);return T(t>=Gr,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:n}),t}const ao="0123456789abcdef";function co(n){if(n instanceof Uint8Array){let e="0x0";for(const t of n)e+=ao[t>>4],e+=ao[t&15];return BigInt(e)}return bt(n)}function Be(n,e){switch(typeof n){case"bigint":return E(n>=-Bt&&n<=Bt,"overflow",e||"value",n),Number(n);case"number":return E(Number.isInteger(n),"underflow",e||"value",n),E(n>=-Bt&&n<=Bt,"overflow",e||"value",n),n;case"string":try{if(n==="")throw new Error("empty string");return Be(BigInt(n),e)}catch(t){E(!1,`invalid numeric string: ${t.message}`,e||"value",n)}}E(!1,"invalid numeric value",e||"value",n)}function sh(n){return Be(co(n))}function uo(n,e){let r=Kr(n,"value").toString(16);if(e==null)r.length%2&&(r="0"+r);else{const s=Be(e,"width");for(T(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 ih(n){const e=Kr(n,"value");if(e===Gr)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}class oh{constructor(e,t,r){m(this,"filter");m(this,"emitter");H(this,Mt,void 0);F(this,Mt,t),R(this,{emitter:e,filter:r})}async removeListener(){v(this,Mt)!=null&&await this.emitter.off(this.filter,v(this,Mt))}}Mt=new WeakMap;function ah(n,e,t,r,s){E(!1,`invalid codepoint at offset ${e}; ${n}`,"bytes",t)}function lo(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 ch(n,e,t,r,s){return n==="OVERLONG"?(E(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),r.push(s),0):(r.push(65533),lo(n,e,t))}const uh=Object.freeze({error:ah,ignore:lo,replace:ch});function lh(n,e){e==null&&(e=uh.error);const t=Le(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 ho(n,e){e!=null&&(Ql(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);E(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 hh(n){return n.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function fh(n,e){return hh(lh(n,e))}const ne=32,cs=new Uint8Array(ne),dh=["then"],Xr={};function Zr(n,e){const t=new Error(`deferred error during ABI decoding triggered accessing ${n}`);throw t.error=e,t}const fr=class extends Array{constructor(...t){const r=t[0];let s=t[1],i=(t[2]||[]).slice(),o=!0;r!==Xr&&(s=t,i=[],o=!1);super(s.length);H(this,st,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(F(this,st,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 p=Be(u,"%index");if(p<0||p>=this.length)throw new RangeError("out of result range");const f=c[p];return f instanceof Error&&Zr(`index ${p}`,f),f}if(dh.indexOf(u)>=0)return Reflect.get(c,u,l);const h=c[u];if(h instanceof Function)return function(...p){return h.apply(this===l?c:this,p)};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&&Zr(`index ${s}`,r),t.push(r)}),t}toObject(){return v(this,st).reduce((t,r,s)=>(T(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(v(this,st)[o]);return new fr(Xr,s,i)}filter(t,r){const s=[],i=[];for(let o=0;o<this.length;o++){const a=this[o];a instanceof Error&&Zr(`index ${o}`,a),t.call(r,a,o,this)&&(s.push(a),i.push(v(this,st)[o]))}return new fr(Xr,s,i)}getValue(t){const r=v(this,st).indexOf(t);if(r===-1)return;const s=this[r];return s instanceof Error&&Zr(`property ${JSON.stringify(t)}`,s.error),s}static fromItems(t,r){return new fr(Xr,t,r)}};let Yr=fr;st=new WeakMap;function fo(n){let e=ih(n);return T(e.length<=ne,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:ne,offset:e.length}),e.length!==ne&&(e=je(Lt([cs.slice(e.length%ne),e]))),e}class He{constructor(e,t,r,s){m(this,"name");m(this,"type");m(this,"localName");m(this,"dynamic");R(this,{name:e,type:t,localName:r,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){E(!1,e,this.localName,t)}}class us{constructor(){H(this,zt);H(this,We,void 0);H(this,St,void 0);F(this,We,[]),F(this,St,0)}get data(){return Lt(v(this,We))}get length(){return v(this,St)}appendWriter(e){return G(this,zt,mn).call(this,je(e.data))}writeBytes(e){let t=je(e);const r=t.length%ne;return r&&(t=je(Lt([t,cs.slice(r)]))),G(this,zt,mn).call(this,t)}writeValue(e){return G(this,zt,mn).call(this,fo(e))}writeUpdatableValue(){const e=v(this,We).length;return v(this,We).push(cs),F(this,St,v(this,St)+ne),t=>{v(this,We)[e]=fo(t)}}}We=new WeakMap,St=new WeakMap,zt=new WeakSet,mn=function(e){return v(this,We).push(e),F(this,St,v(this,St)+e.length),e.length};const Ns=class{constructor(e,t){H(this,cn);m(this,"allowLoose");H(this,fe,void 0);H(this,me,void 0);R(this,{allowLoose:!!t}),F(this,fe,je(e)),F(this,me,0)}get data(){return W(v(this,fe))}get dataLength(){return v(this,fe).length}get consumed(){return v(this,me)}get bytes(){return new Uint8Array(v(this,fe))}subReader(e){return new Ns(v(this,fe).slice(v(this,me)+e),this.allowLoose)}readBytes(e,t){let r=G(this,cn,ya).call(this,0,e,!!t);return F(this,me,v(this,me)+r.length),r.slice(0,e)}readValue(){return co(this.readBytes(ne))}readIndex(){return sh(this.readBytes(ne))}};let ls=Ns;fe=new WeakMap,me=new WeakMap,cn=new WeakSet,ya=function(e,t,r){let s=Math.ceil(t/ne)*ne;return v(this,me)+s>v(this,fe).length&&(this.allowLoose&&r&&v(this,me)+t<=v(this,fe).length?s=t:T(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:je(v(this,fe)),length:v(this,fe).length,offset:v(this,me)+s})),v(this,fe).slice(v(this,me),v(this,me)+s)};function hs(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}function ph(n){if(typeof n!="boolean")throw new Error(`Expected boolean, not ${n}`)}function po(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 yh(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");hs(n.outputLen),hs(n.blockLen)}function mh(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 gh(n,e){po(n);const t=e.outputLen;if(n.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}const Ht={number:hs,bool:ph,bytes:po,hash:yh,exists:mh,output:gh};/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const wh=n=>new Uint32Array(n.buffer,n.byteOffset,Math.floor(n.byteLength/4));if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");Array.from({length:256},(n,e)=>e.toString(16).padStart(2,"0"));function bh(n){if(typeof n!="string")throw new TypeError(`utf8ToBytes expected string, got ${typeof n}`);return new TextEncoder().encode(n)}function fs(n){if(typeof n=="string"&&(n=bh(n)),!(n instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof n})`);return n}class vh{clone(){return this._cloneInto()}}function _h(n){const e=r=>n().update(fs(r)).digest(),t=n();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>n(),e}function Eh(n){const e=(r,s)=>n(s).update(fs(r)).digest(),t=n({});return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=r=>n(r),e}const Qr=BigInt(2**32-1),ds=BigInt(32);function yo(n,e=!1){return e?{h:Number(n&Qr),l:Number(n>>ds&Qr)}:{h:Number(n>>ds&Qr)|0,l:Number(n&Qr)|0}}function xh(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}=yo(n[s],e);[t[s],r[s]]=[i,o]}return[t,r]}const Oh=(n,e)=>BigInt(n>>>0)<<ds|BigInt(e>>>0),Th=(n,e,t)=>n>>>t,Sh=(n,e,t)=>n<<32-t|e>>>t,Ah=(n,e,t)=>n>>>t|e<<32-t,kh=(n,e,t)=>n<<32-t|e>>>t,Rh=(n,e,t)=>n<<64-t|e>>>t-32,Ph=(n,e,t)=>n>>>t-32|e<<64-t,Nh=(n,e)=>e,$h=(n,e)=>n,Ch=(n,e,t)=>n<<t|e>>>32-t,Ih=(n,e,t)=>e<<t|n>>>32-t,Fh=(n,e,t)=>e<<t-32|n>>>64-t,Dh=(n,e,t)=>n<<t-32|e>>>64-t;function Uh(n,e,t,r){const s=(e>>>0)+(r>>>0);return{h:n+t+(s/4294967296|0)|0,l:s|0}}const ir={fromBig:yo,split:xh,toBig:Oh,shrSH:Th,shrSL:Sh,rotrSH:Ah,rotrSL:kh,rotrBH:Rh,rotrBL:Ph,rotr32H:Nh,rotr32L:$h,rotlSH:Ch,rotlSL:Ih,rotlBH:Fh,rotlBL:Dh,add:Uh,add3L:(n,e,t)=>(n>>>0)+(e>>>0)+(t>>>0),add3H:(n,e,t,r)=>e+t+r+(n/2**32|0)|0,add4L:(n,e,t,r)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0),add4H:(n,e,t,r,s)=>e+t+r+s+(n/2**32|0)|0,add5H:(n,e,t,r,s,i)=>e+t+r+s+i+(n/2**32|0)|0,add5L:(n,e,t,r,s)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(s>>>0)},[mo,go,wo]=[[],[],[]],Lh=BigInt(0),or=BigInt(1),jh=BigInt(2),Bh=BigInt(7),Hh=BigInt(256),Mh=BigInt(113);for(let n=0,e=or,t=1,r=0;n<24;n++){[t,r]=[r,(2*t+3*r)%5],mo.push(2*(5*r+t)),go.push((n+1)*(n+2)/2%64);let s=Lh;for(let i=0;i<7;i++)e=(e<<or^(e>>Bh)*Mh)%Hh,e&jh&&(s^=or<<(or<<BigInt(i))-or);wo.push(s)}const[zh,Vh]=ir.split(wo,!0),bo=(n,e,t)=>t>32?ir.rotlBH(n,e,t):ir.rotlSH(n,e,t),vo=(n,e,t)=>t>32?ir.rotlBL(n,e,t):ir.rotlSL(n,e,t);function qh(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=bo(u,l,1)^t[a],p=vo(u,l,1)^t[a+1];for(let f=0;f<50;f+=10)n[o+f]^=h,n[o+f+1]^=p}let s=n[2],i=n[3];for(let o=0;o<24;o++){const a=go[o],c=bo(s,i,a),u=vo(s,i,a),l=mo[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]^=zh[r],n[1]^=Vh[r]}t.fill(0)}class en extends vh{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,Ht.number(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=wh(this.state)}keccak(){qh(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){Ht.exists(this);const{blockLen:t,state:r}=this;e=fs(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){Ht.exists(this,!1),Ht.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 Ht.number(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Ht.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 en(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 et=(n,e,t)=>_h(()=>new en(e,n,t));et(6,144,28),et(6,136,32),et(6,104,48),et(6,72,64),et(1,144,28);const Jh=et(1,136,256/8);et(1,104,48),et(1,72,64);const _o=(n,e,t)=>Eh((r={})=>new en(e,n,r.dkLen===void 0?t:r.dkLen,!0));_o(31,168,16),_o(31,136,32);let Eo=!1;const xo=function(n){return Jh(n)};let Oo=xo;function tt(n){const e=Le(n,"data");return W(Oo(e))}tt._=xo,tt.lock=function(){Eo=!0},tt.register=function(n){if(Eo)throw new TypeError("keccak256 is locked");Oo=n},Object.freeze(tt);const Gh=BigInt(0),Wh=BigInt(36);function To(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=Le(tt(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 ps={};for(let n=0;n<10;n++)ps[String(n)]=String(n);for(let n=0;n<26;n++)ps[String.fromCharCode(65+n)]=String(10+n);const So=15;function Kh(n){n=n.toUpperCase(),n=n.substring(4)+n.substring(0,2)+"00";let e=n.split("").map(r=>ps[r]).join("");for(;e.length>=So;){let r=e.substring(0,So);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 Xh=function(){const n={};for(let e=0;e<36;e++){const t="0123456789abcdefghijklmnopqrstuvwxyz"[e];n[t]=BigInt(e)}return n}();function Zh(n){n=n.toLowerCase();let e=Gh;for(let t=0;t<n.length;t++)e=e*Wh+Xh[n[t]];return e}function vt(n){if(E(typeof n=="string","invalid address","address",n),n.match(/^(0x)?[0-9a-fA-F]{40}$/)){n.startsWith("0x")||(n="0x"+n);const e=To(n);return E(!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}$/)){E(n.substring(2,4)===Kh(n),"bad icap checksum","address",n);let e=Zh(n.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return To("0x"+e)}E(!1,"invalid address","address",n)}function Yh(n){return n&&typeof n.getAddress=="function"}async function ys(n,e){const t=await e;return(t==null||t==="0x0000000000000000000000000000000000000000")&&(T(typeof n!="string","unconfigured name","UNCONFIGURED_NAME",{value:n}),E(!1,"invalid AddressLike value; did not resolve to a value address","target",n)),vt(t)}function ms(n,e){if(typeof n=="string")return n.match(/^0x[0-9a-f]{40}$/i)?vt(n):(T(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),ys(n,e.resolveName(n)));if(Yh(n))return ys(n,n.getAddress());if(n&&typeof n.then=="function")return ys(n,n);E(!1,"unsupported addressable value","target",n)}const Me={};function x(n,e){let t=!1;return e<0&&(t=!0,e*=-1),new ee(Me,`${t?"":"u"}int${e}`,n,{signed:t,width:e})}function C(n,e){return new ee(Me,`bytes${e||""}`,n,{size:e})}const Ao=Symbol.for("_ethers_typed"),Ke=class{constructor(e,t,r,s){m(this,"type");m(this,"value");H(this,At,void 0);m(this,"_typedSymbol");s==null&&(s=null),as(Me,e,"Typed"),R(this,{_typedSymbol:Ao,type:t,value:r}),F(this,At,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 v(this,At)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return v(this,At)===!0?-1:v(this,At)===!1?this.value.length:null}static from(e,t){return new Ke(Me,e,t)}static uint8(e){return x(e,8)}static uint16(e){return x(e,16)}static uint24(e){return x(e,24)}static uint32(e){return x(e,32)}static uint40(e){return x(e,40)}static uint48(e){return x(e,48)}static uint56(e){return x(e,56)}static uint64(e){return x(e,64)}static uint72(e){return x(e,72)}static uint80(e){return x(e,80)}static uint88(e){return x(e,88)}static uint96(e){return x(e,96)}static uint104(e){return x(e,104)}static uint112(e){return x(e,112)}static uint120(e){return x(e,120)}static uint128(e){return x(e,128)}static uint136(e){return x(e,136)}static uint144(e){return x(e,144)}static uint152(e){return x(e,152)}static uint160(e){return x(e,160)}static uint168(e){return x(e,168)}static uint176(e){return x(e,176)}static uint184(e){return x(e,184)}static uint192(e){return x(e,192)}static uint200(e){return x(e,200)}static uint208(e){return x(e,208)}static uint216(e){return x(e,216)}static uint224(e){return x(e,224)}static uint232(e){return x(e,232)}static uint240(e){return x(e,240)}static uint248(e){return x(e,248)}static uint256(e){return x(e,256)}static uint(e){return x(e,256)}static int8(e){return x(e,-8)}static int16(e){return x(e,-16)}static int24(e){return x(e,-24)}static int32(e){return x(e,-32)}static int40(e){return x(e,-40)}static int48(e){return x(e,-48)}static int56(e){return x(e,-56)}static int64(e){return x(e,-64)}static int72(e){return x(e,-72)}static int80(e){return x(e,-80)}static int88(e){return x(e,-88)}static int96(e){return x(e,-96)}static int104(e){return x(e,-104)}static int112(e){return x(e,-112)}static int120(e){return x(e,-120)}static int128(e){return x(e,-128)}static int136(e){return x(e,-136)}static int144(e){return x(e,-144)}static int152(e){return x(e,-152)}static int160(e){return x(e,-160)}static int168(e){return x(e,-168)}static int176(e){return x(e,-176)}static int184(e){return x(e,-184)}static int192(e){return x(e,-192)}static int200(e){return x(e,-200)}static int208(e){return x(e,-208)}static int216(e){return x(e,-216)}static int224(e){return x(e,-224)}static int232(e){return x(e,-232)}static int240(e){return x(e,-240)}static int248(e){return x(e,-248)}static int256(e){return x(e,-256)}static int(e){return x(e,-256)}static bytes1(e){return C(e,1)}static bytes2(e){return C(e,2)}static bytes3(e){return C(e,3)}static bytes4(e){return C(e,4)}static bytes5(e){return C(e,5)}static bytes6(e){return C(e,6)}static bytes7(e){return C(e,7)}static bytes8(e){return C(e,8)}static bytes9(e){return C(e,9)}static bytes10(e){return C(e,10)}static bytes11(e){return C(e,11)}static bytes12(e){return C(e,12)}static bytes13(e){return C(e,13)}static bytes14(e){return C(e,14)}static bytes15(e){return C(e,15)}static bytes16(e){return C(e,16)}static bytes17(e){return C(e,17)}static bytes18(e){return C(e,18)}static bytes19(e){return C(e,19)}static bytes20(e){return C(e,20)}static bytes21(e){return C(e,21)}static bytes22(e){return C(e,22)}static bytes23(e){return C(e,23)}static bytes24(e){return C(e,24)}static bytes25(e){return C(e,25)}static bytes26(e){return C(e,26)}static bytes27(e){return C(e,27)}static bytes28(e){return C(e,28)}static bytes29(e){return C(e,29)}static bytes30(e){return C(e,30)}static bytes31(e){return C(e,31)}static bytes32(e){return C(e,32)}static address(e){return new Ke(Me,"address",e)}static bool(e){return new Ke(Me,"bool",!!e)}static bytes(e){return new Ke(Me,"bytes",e)}static string(e){return new Ke(Me,"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 Ke(Me,"overrides",Object.assign({},e))}static isTyped(e){return e&&e._typedSymbol===Ao}static dereference(e,t){if(Ke.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}};let ee=Ke;At=new WeakMap;class Qh extends He{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let r=ee.dereference(t,"string");try{r=vt(r)}catch(s){return this._throwError(s.message,t)}return e.writeValue(r)}decode(e){return vt(uo(e.readValue(),20))}}class ef extends He{constructor(t){super(t.name,t.type,"_",t.dynamic);m(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 ko(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 T(l,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),T(!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 E(!1,"invalid tuple value","tuple",t);E(e.length===r.length,"types/value length mismatch","tuple",t);let s=new us,i=new us,o=[];e.forEach((c,u)=>{let l=r[u];if(c.dynamic){let h=i.length;c.encode(i,l);let p=s.writeUpdatableValue();o.push(f=>{p(f+h)})}else c.encode(s,l)}),o.forEach(c=>{c(s.length)});let a=n.appendWriter(s);return a+=n.appendWriter(i),a}function Ro(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(qr(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(qr(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)}),Yr.fromItems(t,r)}class tf extends He{constructor(t,r,s){const i=t.type+"["+(r>=0?r:"")+"]",o=r===-1||t.dynamic;super("array",i,s,o);m(this,"coder");m(this,"length");R(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=ee.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)),so(s.length,i,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<s.length;a++)o.push(this.coder);return ko(t,o,s)}decode(t){let r=this.length;r===-1&&(r=t.readIndex(),T(r*ne<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:r*ne,length:t.dataLength}));let s=[];for(let i=0;i<r;i++)s.push(new ef(this.coder));return Ro(t,s)}}class rf extends He{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){const r=ee.dereference(t,"bool");return e.writeValue(r?1:0)}decode(e){return!!e.readValue()}}class Po extends He{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=je(t);let r=e.writeValue(t.length);return r+=e.writeBytes(t),r}decode(e){return e.readBytes(e.readIndex(),!0)}}class nf extends Po{constructor(e){super("bytes",e)}decode(e){return W(super.decode(e))}}class sf extends He{constructor(t,r){let s="bytes"+String(t);super(s,s,r,!1);m(this,"size");R(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(t,r){let s=je(ee.dereference(r,this.type));return s.length!==this.size&&this._throwError("incorrect data length",r),t.writeBytes(s)}decode(t){return W(t.readBytes(this.size))}}const of=new Uint8Array([]);class af extends He{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return t!=null&&this._throwError("not null",t),e.writeBytes(of)}decode(e){return e.readBytes(0),null}}const cf=BigInt(0),uf=BigInt(1),lf=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class hf extends He{constructor(t,r,s){const i=(r?"int":"uint")+t*8;super(i,i,s,!1);m(this,"size");m(this,"signed");R(this,{size:t,signed:r},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,r){let s=bt(ee.dereference(r,this.type)),i=Wr(lf,ne*8);if(this.signed){let o=Wr(i,this.size*8-1);(s>o||s<-(o+uf))&&this._throwError("value out-of-bounds",r),s=nh(s,8*ne)}else(s<cf||s>Wr(i,this.size*8))&&this._throwError("value out-of-bounds",r);return t.writeValue(s)}decode(t){let r=Wr(t.readValue(),this.size*8);return this.signed&&(r=rh(r,this.size*8)),r}}class ff extends Po{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,ho(ee.dereference(t,"string")))}decode(e){return fh(super.decode(e))}}class tn extends He{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);m(this,"coders");R(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=ee.dereference(r,"tuple");return ko(t,this.coders,s)}decode(t){return Ro(t,this.coders)}}function ar(n){return tt(ho(n))}function gs(n,e){return{address:vt(n),storageKeys:e.map((t,r)=>(E(Qe(t,32),"invalid slot",`storageKeys[${r}]`,t),t.toLowerCase()))}}function df(n){if(Array.isArray(n))return n.map((t,r)=>Array.isArray(t)?(E(t.length===2,"invalid slot set",`value[${r}]`,t),gs(t[0],t[1])):(E(t!=null&&typeof t=="object","invalid address-slot set","value",n),gs(t.address,t.storageKeys)));E(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 gs(t,Object.keys(r).sort())});return e.sort((t,r)=>t.address.localeCompare(r.address)),e}function se(n){const e=new Set;return n.forEach(t=>e.add(t)),Object.freeze(e)}const No="constant external internal payable private public pure view",pf=se(No.split(" ")),$o="constructor error event fallback function receive struct",Co=se($o.split(" ")),Io="calldata memory storage payable indexed",yf=se(Io.split(" ")),mf=[$o,Io,"tuple returns",No].join(" "),gf=se(mf.split(" ")),wf={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},bf=new RegExp("^(\\s*)"),vf=new RegExp("^([0-9]+)"),_f=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),Fo=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),Do=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$"),un=class{constructor(e){H(this,dr);H(this,Z,void 0);H(this,xe,void 0);F(this,Z,0),F(this,xe,e.slice())}get offset(){return v(this,Z)}get length(){return v(this,xe).length-v(this,Z)}clone(){return new un(v(this,xe))}reset(){F(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=G(this,dr,Fs).call(this,v(this,Z)+1,e.match+1);return F(this,Z,e.match+1),t}popParams(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=[];for(;v(this,Z)<e.match-1;){const r=this.peek().linkNext;t.push(G(this,dr,Fs).call(this,v(this,Z)+1,r)),F(this,Z,r)}return F(this,Z,e.match+1),t}peek(){if(v(this,Z)>=v(this,xe).length)throw new Error("out-of-bounds");return v(this,xe)[v(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 pa(this,Z)._++,e}toString(){const e=[];for(let t=v(this,Z);t<v(this,xe).length;t++){const r=v(this,xe)[t];e.push(`${r.type}:${r.text}`)}return`<TokenString ${e.join(" ")}>`}};let _e=un;Z=new WeakMap,xe=new WeakMap,dr=new WeakSet,Fs=function(e=0,t=0){return new un(v(this,xe).slice(e,t).map(r=>Object.freeze(Object.assign({},r,{match:r.match-e,linkBack:r.linkBack-e,linkNext:r.linkNext-e}))))};function rt(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(bf);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=wf[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=Be(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(_f),a){if(c.text=a[1],i+=c.text.length,gf.has(c.text)){c.type="KEYWORD";continue}if(c.text.match(Do)){c.type="TYPE";continue}c.type="ID";continue}if(a=o.match(vf),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 _e(e.map(o=>Object.freeze(o)))}function Uo(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 rn(n,e){if(e.peekKeyword(Co)){const t=e.pop().text;if(t!==n)throw new Error(`expected ${n}, got ${t}`)}return e.popType("ID")}function ze(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 Lo(n){let e=ze(n,pf);return Uo(e,se("constant payable nonpayable".split(" "))),Uo(e,se("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 Ve(n,e){return n.popParams().map(t=>X.from(t,e))}function jo(n){if(n.peekType("AT")){if(n.pop(),n.peekType("NUMBER"))return bt(n.pop().text);throw new Error("invalid gas")}return null}function _t(n){if(n.length)throw new Error(`unexpected tokens: ${n.toString()}`)}const Ef=new RegExp(/^(.*)\[([0-9]*)\]$/);function Bo(n){const e=n.match(Do);if(E(e,"invalid type","type",n),n==="uint")return"uint256";if(n==="int")return"int256";if(e[2]){const t=parseInt(e[2]);E(t!==0&&t<=32,"invalid bytes length","type",n)}else if(e[3]){const t=parseInt(e[3]);E(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",n)}return n}const M={},ae=Symbol.for("_ethers_internal"),Ho="_ParamTypeInternal",Mo="_ErrorInternal",zo="_EventInternal",Vo="_ConstructorInternal",qo="_FallbackInternal",Jo="_FunctionInternal",Go="_StructInternal",ge=class{constructor(e,t,r,s,i,o,a,c){H(this,Vt);m(this,"name");m(this,"type");m(this,"baseType");m(this,"indexed");m(this,"components");m(this,"arrayLength");m(this,"arrayChildren");if(as(e,M,"ParamType"),Object.defineProperty(this,ae,{value:Ho}),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("");R(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 G(this,Vt,gn).call(this,r,e,t,i=>{s[0]=i}),r.length&&await Promise.all(r),s[0]}static from(e,t){if(ge.isParamType(e))return e;if(typeof e=="string")return ge.from(rt(e),t);if(e instanceof _e){let a="",c="",u=null;ze(e,se(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(c="tuple",u=e.popParams().map(w=>ge.from(w)),a=`tuple(${u.map(w=>w.format()).join(",")})`):(a=Bo(e.popType("TYPE")),c=a);let l=null,h=null;for(;e.length&&e.peekType("BRACKET");){const w=e.pop();l=new ge(M,"",a,c,null,u,h,l),h=w.value,a+=w.text,c="array",u=null}let p=null;if(ze(e,yf).has("indexed")){if(!t)throw new Error("");p=!0}const d=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new ge(M,d,a,c,p,u,h,l)}const r=e.name;E(!r||typeof r=="string"&&r.match(Fo),"invalid name","obj.name",r);let s=e.indexed;s!=null&&(E(t,"parameter cannot be indexed","obj.indexed",e.indexed),s=!!s);let i=e.type,o=i.match(Ef);if(o){const a=parseInt(o[2]||"-1"),c=ge.from({type:o[1],components:e.components});return new ge(M,r||"",i,"array",s,null,a,c)}if(i==="tuple"||i.startsWith("tuple(")||i.startsWith("(")){const a=e.components!=null?e.components.map(u=>ge.from(u)):null;return new ge(M,r||"",i,"tuple",s,a,null,null)}return i=Bo(e.type),new ge(M,r||"",i,i,s,null,null,null)}static isParamType(e){return e&&e[ae]===Ho}};let X=ge;Vt=new WeakSet,gn=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;G(l=o,Vt,gn).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;G(l=o[u],Vt,gn).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 Et{constructor(e,t,r){m(this,"type");m(this,"inputs");as(e,M,"Fragment"),r=Object.freeze(r.slice()),R(this,{type:t,inputs:r})}static from(e){if(typeof e=="string"){try{Et.from(JSON.parse(e))}catch{}return Et.from(rt(e))}if(e instanceof _e)switch(e.peekKeyword(Co)){case"constructor":return qe.from(e);case"error":return ce.from(e);case"event":return ke.from(e);case"fallback":case"receive":return Je.from(e);case"function":return Re.from(e);case"struct":return xt.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return qe.from(e);case"error":return ce.from(e);case"event":return ke.from(e);case"fallback":case"receive":return Je.from(e);case"function":return Re.from(e);case"struct":return xt.from(e)}T(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}E(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return qe.isFragment(e)}static isError(e){return ce.isFragment(e)}static isEvent(e){return ke.isFragment(e)}static isFunction(e){return Re.isFragment(e)}static isStruct(e){return xt.isFragment(e)}}class nn extends Et{constructor(t,r,s,i){super(t,r,i);m(this,"name");E(typeof s=="string"&&s.match(Fo),"invalid identifier","name",s),i=Object.freeze(i.slice()),R(this,{name:s})}}function cr(n,e){return"("+e.map(t=>t.format(n)).join(n==="full"?", ":",")+")"}class ce extends nn{constructor(e,t,r){super(e,"error",t,r),Object.defineProperty(this,ae,{value:Mo})}get selector(){return ar(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+cr(e,this.inputs)),t.join(" ")}static from(e){if(ce.isFragment(e))return e;if(typeof e=="string")return ce.from(rt(e));if(e instanceof _e){const t=rn("error",e),r=Ve(e);return _t(e),new ce(M,t,r)}return new ce(M,e.name,e.inputs?e.inputs.map(X.from):[])}static isFragment(e){return e&&e[ae]===Mo}}class ke extends nn{constructor(t,r,s,i){super(t,"event",r,s);m(this,"anonymous");Object.defineProperty(this,ae,{value:zo}),R(this,{anonymous:i})}get topicHash(){return ar(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+cr(t,this.inputs)),t!=="sighash"&&this.anonymous&&r.push("anonymous"),r.join(" ")}static getTopicHash(t,r){return r=(r||[]).map(i=>X.from(i)),new ke(M,t,r,!1).topicHash}static from(t){if(ke.isFragment(t))return t;if(typeof t=="string")return ke.from(rt(t));if(t instanceof _e){const r=rn("event",t),s=Ve(t,!0),i=!!ze(t,se(["anonymous"])).has("anonymous");return _t(t),new ke(M,r,s,i)}return new ke(M,t.name,t.inputs?t.inputs.map(r=>X.from(r,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[ae]===zo}}class qe extends Et{constructor(t,r,s,i,o){super(t,r,s);m(this,"payable");m(this,"gas");Object.defineProperty(this,ae,{value:Vo}),R(this,{payable:i,gas:o})}format(t){if(T(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${cr(t,this.inputs)}`];return r.push(this.payable?"payable":"nonpayable"),this.gas!=null&&r.push(`@${this.gas.toString()}`),r.join(" ")}static from(t){if(qe.isFragment(t))return t;if(typeof t=="string")return qe.from(rt(t));if(t instanceof _e){ze(t,se(["constructor"]));const r=Ve(t),s=!!ze(t,se(["payable"])).has("payable"),i=jo(t);return _t(t),new qe(M,"constructor",r,s,i)}return new qe(M,"constructor",t.inputs?t.inputs.map(X.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ae]===Vo}}class Je extends Et{constructor(t,r,s){super(t,"fallback",r);m(this,"payable");Object.defineProperty(this,ae,{value:qo}),R(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(Je.isFragment(t))return t;if(typeof t=="string")return Je.from(rt(t));if(t instanceof _e){const r=t.toString(),s=t.peekKeyword(se(["fallback","receive"]));if(E(s,"type must be fallback or receive","obj",r),t.popKeyword(se(["fallback","receive"]))==="receive"){const c=Ve(t);return E(c.length===0,"receive cannot have arguments","obj.inputs",c),ze(t,se(["payable"])),_t(t),new Je(M,[],!0)}let o=Ve(t);o.length?E(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(c=>c.format("minimal")).join(", ")):o=[X.from("bytes")];const a=Lo(t);if(E(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),ze(t,se(["returns"])).has("returns")){const c=Ve(t);E(c.length===1&&c[0].type==="bytes","invalid fallback outputs","obj.outputs",c.map(u=>u.format("minimal")).join(", "))}return _t(t),new Je(M,o,a==="payable")}if(t.type==="receive")return new Je(M,[],!0);if(t.type==="fallback"){const r=[X.from("bytes")],s=t.stateMutability==="payable";return new Je(M,r,s)}E(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[ae]===qo}}class Re extends nn{constructor(t,r,s,i,o,a){super(t,"function",r,i);m(this,"constant");m(this,"outputs");m(this,"stateMutability");m(this,"payable");m(this,"gas");Object.defineProperty(this,ae,{value:Jo}),o=Object.freeze(o.slice()),R(this,{constant:s==="view"||s==="pure",gas:a,outputs:o,payable:s==="payable",stateMutability:s})}get selector(){return ar(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+cr(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&r.push(this.stateMutability),this.outputs&&this.outputs.length&&(r.push("returns"),r.push(cr(t,this.outputs))),this.gas!=null&&r.push(`@${this.gas.toString()}`)),r.join(" ")}static getSelector(t,r){return r=(r||[]).map(i=>X.from(i)),new Re(M,t,"view",r,[],null).selector}static from(t){if(Re.isFragment(t))return t;if(typeof t=="string")return Re.from(rt(t));if(t instanceof _e){const r=rn("function",t),s=Ve(t),i=Lo(t);let o=[];ze(t,se(["returns"])).has("returns")&&(o=Ve(t));const a=jo(t);return _t(t),new Re(M,r,i,s,o,a)}return new Re(M,t.name,t.stateMutability,t.inputs?t.inputs.map(X.from):[],t.outputs?t.outputs.map(X.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ae]===Jo}}class xt extends nn{constructor(e,t,r){super(e,"struct",t,r),Object.defineProperty(this,ae,{value:Go})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")return xt.from(rt(e));if(e instanceof _e){const t=rn("struct",e),r=Ve(e);return _t(e),new xt(M,t,r)}return new xt(M,e.name,e.inputs?e.inputs.map(X.from):[])}static isFragment(e){return e&&e[ae]===Go}}const Ee=new Map;Ee.set(0,"GENERIC_PANIC"),Ee.set(1,"ASSERT_FALSE"),Ee.set(17,"OVERFLOW"),Ee.set(18,"DIVIDE_BY_ZERO"),Ee.set(33,"ENUM_RANGE_ERROR"),Ee.set(34,"BAD_STORAGE_DATA"),Ee.set(49,"STACK_UNDERFLOW"),Ee.set(50,"ARRAY_RANGE_ERROR"),Ee.set(65,"OUT_OF_MEMORY"),Ee.set(81,"UNINITIALIZED_FUNCTION_CALL");const xf=new RegExp(/^bytes([0-9]*)$/),Of=new RegExp(/^(u?int)([0-9]*)$/);let ws=null;function Tf(n,e,t,r){let s="missing revert data",i=null;const o=null;let a=null;if(t){s="execution reverted";const u=Le(t);if(t=W(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(W(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(W(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 ${Ee.get(l)||"UNKNOWN"}(${l})`,s+=`: ${i}`}catch{s+=" (could not decode panic code)"}else s+=" (unknown custom error)"}const c={to:e.to?vt(e.to):null,data:e.data||"0x"};return e.from&&(c.from=vt(e.from)),Jr(s,"CALL_EXCEPTION",{action:n,data:t,reason:i,transaction:c,invocation:o,revert:a})}const ln=class{constructor(){H(this,it)}getDefaultValue(e){const t=e.map(s=>G(this,it,Wt).call(this,X.from(s)));return new tn(t,"_").defaultValue()}encode(e,t){so(t.length,e.length,"types/values length mismatch");const r=e.map(o=>G(this,it,Wt).call(this,X.from(o))),s=new tn(r,"_"),i=new us;return s.encode(i,t),i.data}decode(e,t,r){const s=e.map(o=>G(this,it,Wt).call(this,X.from(o)));return new tn(s,"_").decode(new ls(t,r))}static defaultAbiCoder(){return ws==null&&(ws=new ln),ws}static getBuiltinCallException(e,t,r){return Tf(e,t,r,ln.defaultAbiCoder())}};let sn=ln;it=new WeakSet,Wt=function(e){if(e.isArray())return new tf(G(this,it,Wt).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new tn(e.components.map(r=>G(this,it,Wt).call(this,r)),e.name);switch(e.baseType){case"address":return new Qh(e.name);case"bool":return new rf(e.name);case"string":return new ff(e.name);case"bytes":return new nf(e.name);case"":return new af(e.name)}let t=e.type.match(Of);if(t){let r=parseInt(t[2]||"256");return E(r!==0&&r<=256&&r%8===0,"invalid "+t[1]+" bit length","param",e),new hf(r/8,t[1]==="int",e.name)}if(t=e.type.match(xf),t){let r=parseInt(t[1]);return E(r!==0&&r<=32,"invalid bytes length","param",e),new sf(r,e.name)}E(!1,"invalid type","type",e.type)};class Sf{constructor(e,t,r){m(this,"fragment");m(this,"name");m(this,"signature");m(this,"topic");m(this,"args");const s=e.name,i=e.format();R(this,{fragment:e,name:s,signature:i,topic:t,args:r})}}class Af{constructor(e,t,r,s){m(this,"fragment");m(this,"name");m(this,"args");m(this,"signature");m(this,"selector");m(this,"value");const i=e.name,o=e.format();R(this,{fragment:e,name:i,args:r,signature:o,selector:t,value:s})}}class kf{constructor(e,t,r){m(this,"fragment");m(this,"name");m(this,"args");m(this,"signature");m(this,"selector");const s=e.name,i=e.format();R(this,{fragment:e,name:s,args:r,signature:i,selector:t})}}class Wo{constructor(e){m(this,"hash");m(this,"_isIndexed");R(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}}const Ko={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"},Xo={"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&&Ko[n.toString()]&&(e=Ko[n.toString()]),`reverted with panic code 0x${n.toString(16)} (${e})`}}},qt=class{constructor(e){H(this,pr);H(this,yr);m(this,"fragments");m(this,"deploy");m(this,"fallback");m(this,"receive");H(this,Pe,void 0);H(this,Ne,void 0);H(this,$e,void 0);H(this,te,void 0);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,F(this,$e,new Map),F(this,Pe,new Map),F(this,Ne,new Map);const r=[];for(const o of t)try{r.push(Et.from(o))}catch(a){console.log("EE",a)}R(this,{fragments:Object.freeze(r)});let s=null,i=!1;F(this,te,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let c;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}R(this,{deploy:o});return;case"fallback":o.inputs.length===0?i=!0:(E(!s||o.payable!==s.payable,"conflicting fallback fragments",`fragments[${a}]`,o),s=o,i=s.payable);return;case"function":c=v(this,$e);break;case"event":c=v(this,Ne);break;case"error":c=v(this,Pe);break;default:return}const u=o.format();c.has(u)||c.set(u,o)}),this.deploy||R(this,{deploy:qe.from("constructor()")}),R(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 sn.defaultAbiCoder()}getFunctionName(e){const t=G(this,pr,Ds).call(this,e,null,!1);return E(t,"no matching function","key",e),t.name}getFunction(e,t){return G(this,pr,Ds).call(this,e,t||null,!0)}forEachFunction(e){const t=Array.from(v(this,$e).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(v(this,$e).get(s),r)}}getEventName(e){const t=G(this,yr,Us).call(this,e,null,!1);return E(t,"no matching event","key",e),t.name}getEvent(e,t){return G(this,yr,Us).call(this,e,t||null,!0)}forEachEvent(e){const t=Array.from(v(this,Ne).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(v(this,Ne).get(s),r)}}getError(e,t){if(Qe(e)){const s=e.toLowerCase();if(Xo[s])return ce.from(Xo[s].signature);for(const i of v(this,Pe).values())if(s===i.selector)return i;return null}if(e.indexOf("(")===-1){const s=[];for(const[i,o]of v(this,Pe))i.split("(")[0]===e&&s.push(o);if(s.length===0)return e==="Error"?ce.from("error Error(string)"):e==="Panic"?ce.from("error Panic(uint256)"):null;if(s.length>1){const i=s.map(o=>JSON.stringify(o.format())).join(", ");E(!1,`ambiguous error description (i.e. ${i})`,"name",e)}return s[0]}if(e=ce.from(e).format(),e==="Error(string)")return ce.from("error Error(string)");if(e==="Panic(uint256)")return ce.from("error Panic(uint256)");const r=v(this,Pe).get(e);return r||null}forEachError(e){const t=Array.from(v(this,Pe).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(v(this,Pe).get(s),r)}}_decodeParams(e,t){return v(this,te).decode(e,t)}_encodeParams(e,t){return v(this,te).encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){if(typeof e=="string"){const r=this.getError(e);E(r,"unknown error","fragment",e),e=r}return E(jt(t,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",t),this._decodeParams(e.inputs,jt(t,4))}encodeErrorResult(e,t){if(typeof e=="string"){const r=this.getError(e);E(r,"unknown error","fragment",e),e=r}return Lt([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionData(e,t){if(typeof e=="string"){const r=this.getFunction(e);E(r,"unknown function","fragment",e),e=r}return E(jt(t,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",t),this._decodeParams(e.inputs,jt(t,4))}encodeFunctionData(e,t){if(typeof e=="string"){const r=this.getFunction(e);E(r,"unknown function","fragment",e),e=r}return Lt([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionResult(e,t){if(typeof e=="string"){const i=this.getFunction(e);E(i,"unknown function","fragment",e),e=i}let r="invalid length for result data";const s=je(t);if(s.length%32===0)try{return v(this,te).decode(e.outputs,s)}catch{r="could not decode result data"}T(!1,r,"BAD_DATA",{value:W(s),info:{method:e.name,signature:e.format()}})}makeError(e,t){const r=Le(e,"data"),s=sn.getBuiltinCallException("call",t,r),i="execution reverted (unknown custom error)";if(s.message.startsWith(i)){const a=W(r.slice(0,4)),c=this.getError(a);if(c)try{const u=v(this,te).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);E(r,"unknown function","fragment",e),e=r}return W(v(this,te).encode(e.outputs,t||[]))}encodeFilterTopics(e,t){if(typeof e=="string"){const i=this.getEvent(e);E(i,"unknown event","eventFragment",e),e=i}T(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"?ar(o):i.type==="bytes"?tt(W(o)):(i.type==="bool"&&typeof o=="boolean"&&(o=o?"0x01":"0x00"),i.type.match(/^u?int/)&&(o=uo(o)),i.type==="address"&&v(this,te).encode(["address"],[o]),th(W(o),32));for(t.forEach((i,o)=>{const a=e.inputs[o];if(!a.indexed){E(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"?E(!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);E(o,"unknown event","eventFragment",e),e=o}const r=[],s=[],i=[];return e.anonymous||r.push(e.topicHash),E(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(ar(c));else if(o.type==="bytes")r.push(tt(c));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");r.push(v(this,te).encode([o.type],[c]))}else s.push(o),i.push(c)}),{data:v(this,te).encode(s,i),topics:r}}decodeEventLog(e,t,r){if(typeof e=="string"){const f=this.getEvent(e);E(f,"unknown event","eventFragment",e),e=f}if(r!=null&&!e.anonymous){const f=e.topicHash;E(Qe(r[0],32)&&r[0].toLowerCase()===f,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}const s=[],i=[],o=[];e.inputs.forEach((f,d)=>{f.indexed?f.type==="string"||f.type==="bytes"||f.baseType==="tuple"||f.baseType==="array"?(s.push(X.from({type:"bytes32",name:f.name})),o.push(!0)):(s.push(f),o.push(!1)):(i.push(f),o.push(!1))});const a=r!=null?v(this,te).decode(s,Lt(r)):null,c=v(this,te).decode(i,t,!0),u=[],l=[];let h=0,p=0;return e.inputs.forEach((f,d)=>{let w=null;if(f.indexed)if(a==null)w=new Wo(null);else if(o[d])w=new Wo(a[p++]);else try{w=a[p++]}catch(b){w=b}else try{w=c[h++]}catch(b){w=b}u.push(w),l.push(f.name||null)}),Yr.fromItems(u,l)}parseTransaction(e){const t=Le(e.data,"tx.data"),r=bt(e.value!=null?e.value:0,"tx.value"),s=this.getFunction(W(t.slice(0,4)));if(!s)return null;const i=v(this,te).decode(s.inputs,t.slice(4));return new Af(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 Sf(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){const t=W(e),r=this.getError(jt(t,0,4));if(!r)return null;const s=v(this,te).decode(r.inputs,jt(t,4));return new kf(r,r.selector,s)}static from(e){return e instanceof qt?e:typeof e=="string"?new qt(JSON.parse(e)):typeof e.format=="function"?new qt(e.format("json")):new qt(e)}};let bs=qt;Pe=new WeakMap,Ne=new WeakMap,$e=new WeakMap,te=new WeakMap,pr=new WeakSet,Ds=function(e,t,r){if(Qe(e)){const i=e.toLowerCase();for(const o of v(this,$e).values())if(i===o.selector)return o;return null}if(e.indexOf("(")===-1){const i=[];for(const[o,a]of v(this,$e))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;ee.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(ee.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(", ");E(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return i[0]}const s=v(this,$e).get(Re.from(e).format());return s||null},yr=new WeakSet,Us=function(e,t,r){if(Qe(e)){const i=e.toLowerCase();for(const o of v(this,Ne).values())if(i===o.topicHash)return o;return null}if(e.indexOf("(")===-1){const i=[];for(const[o,a]of v(this,Ne))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(ee.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(", ");E(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return i[0]}const s=v(this,Ne).get(ke.from(e).format());return s||null};const Rf=BigInt(0);function Ge(n){return n==null?null:n.toString()}function Pf(n){const e={};n.to&&(e.to=n.to),n.from&&(e.from=n.from),n.data&&(e.data=W(n.data));const t="chainId,gasLimit,gasPrice,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const s of t)!(s in n)||n[s]==null||(e[s]=bt(n[s],`request.${s}`));const r="type,nonce".split(/,/);for(const s of r)!(s in n)||n[s]==null||(e[s]=Be(n[s],`request.${s}`));return n.accessList&&(e.accessList=df(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 vs{constructor(e,t){m(this,"provider");m(this,"transactionHash");m(this,"blockHash");m(this,"blockNumber");m(this,"removed");m(this,"address");m(this,"data");m(this,"topics");m(this,"index");m(this,"transactionIndex");this.provider=t;const r=Object.freeze(e.topics.slice());R(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 T(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){const e=await this.provider.getTransaction(this.transactionHash);return T(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){const e=await this.provider.getTransactionReceipt(this.transactionHash);return T(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return $f(this)}}class Nf{constructor(e,t){m(this,"provider");m(this,"to");m(this,"from");m(this,"contractAddress");m(this,"hash");m(this,"index");m(this,"blockHash");m(this,"blockNumber");m(this,"logsBloom");m(this,"gasUsed");m(this,"cumulativeGasUsed");m(this,"gasPrice");m(this,"type");m(this,"status");m(this,"root");H(this,mr,void 0);F(this,mr,Object.freeze(e.logs.map(r=>new vs(r,t)))),R(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 v(this,mr)}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:Ge(this.cumulativeGasUsed),from:t,gasPrice:Ge(this.gasPrice),gasUsed:Ge(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 Yo(this)}reorderedEvent(e){return T(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),Zo(this,e)}}mr=new WeakMap;const $s=class{constructor(e,t){m(this,"provider");m(this,"blockNumber");m(this,"blockHash");m(this,"index");m(this,"hash");m(this,"type");m(this,"to");m(this,"from");m(this,"nonce");m(this,"gasLimit");m(this,"gasPrice");m(this,"maxPriorityFeePerGas");m(this,"maxFeePerGas");m(this,"data");m(this,"value");m(this,"chainId");m(this,"signature");m(this,"accessList");H(this,ot,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,F(this,ot,-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:Ge(this.chainId),data:u,from:a,gasLimit:Ge(this.gasLimit),gasPrice:Ge(this.gasPrice),hash:s,maxFeePerGas:Ge(this.maxFeePerGas),maxPriorityFeePerGas:Ge(this.maxPriorityFeePerGas),nonce:c,signature:l,to:o,index:r,type:i,value:Ge(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=v(this,ot),o=-1,a=i===-1;const c=async()=>{if(a)return null;const{blockNumber:h,nonce:p}=await ro({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(p<this.nonce){i=h;return}if(a)return null;const f=await this.getTransaction();if(!(f&&f.blockNumber!=null))for(o===-1&&(o=i-3,o<v(this,ot)&&(o=v(this,ot)));o<=h;){if(a)return null;const d=await this.provider.getBlock(o,!0);if(d==null)return;for(const w of d)if(w===this.hash)return;for(let w=0;w<d.length;w++){const b=await d.getTransaction(w);if(b.from===this.from&&b.nonce===this.nonce){if(a)return null;const O=await this.provider.getTransactionReceipt(b.hash);if(O==null||h-O.blockNumber+1<r)return;let $="replaced";b.data===this.data&&b.to===this.to&&b.value===this.value?$="repriced":b.data==="0x"&&b.from===b.to&&b.value===Rf&&($="cancelled"),T(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:$==="replaced"||$==="cancelled",reason:$,replacement:b.replaceableTransaction(i),hash:b.hash,receipt:O})}}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,p)=>{const f=[],d=()=>{f.forEach(b=>b())};if(f.push(()=>{a=!0}),s>0){const b=setTimeout(()=>{d(),p(Jr("wait for transaction timeout","TIMEOUT"))},s);f.push(()=>{clearTimeout(b)})}const w=async b=>{await b.confirmations()>=r&&(d(),h(b))};if(f.push(()=>{this.provider.off(this.hash,w)}),this.provider.on(this.hash,w),i>=0){const b=async()=>{try{await c()}catch(O){if(qr(O,"TRANSACTION_REPLACED")){d(),p(O);return}}a||this.provider.once("block",b)};f.push(()=>{this.provider.off("block",b)}),this.provider.once("block",b)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}removedEvent(){return T(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),Yo(this)}reorderedEvent(e){return T(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),T(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),Zo(this,e)}replaceableTransaction(e){E(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);const t=new $s(this,this.provider);return F(t,ot,e),t}};let _s=$s;ot=new WeakMap;function Zo(n,e){return{orphan:"reorder-transaction",tx:n,other:e}}function Yo(n){return{orphan:"drop-transaction",tx:n}}function $f(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 Es extends vs{constructor(t,r,s){super(t,t.provider);m(this,"interface");m(this,"fragment");m(this,"args");const i=r.decodeEventLog(s,t.data,t.topics);R(this,{args:i,fragment:s,interface:r})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class Cf extends Nf{constructor(t,r,s){super(s,r);H(this,Jt,void 0);F(this,Jt,t)}get logs(){return super.logs.map(t=>{const r=t.topics.length?v(this,Jt).getEvent(t.topics[0]):null;return r?new Es(t,v(this,Jt),r):t})}}Jt=new WeakMap;class xs extends _s{constructor(t,r,s){super(s,r);H(this,gr,void 0);F(this,gr,t)}async wait(t){const r=await super.wait();return r==null?null:new Cf(v(this,gr),this.provider,r)}}gr=new WeakMap;class Qo extends oh{constructor(t,r,s,i){super(t,r,s);m(this,"log");R(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 If extends Qo{constructor(e,t,r,s,i){super(e,t,r,new Es(i,e.interface,s));const o=e.interface.decodeEventLog(s,this.log.data,this.log.topics);R(this,{args:o,fragment:s})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const ea=BigInt(0);function ta(n){return n&&typeof n.call=="function"}function ra(n){return n&&typeof n.estimateGas=="function"}function Os(n){return n&&typeof n.resolveName=="function"}function na(n){return n&&typeof n.sendTransaction=="function"}class Ff{constructor(e,t,r){H(this,wr,void 0);m(this,"fragment");if(R(this,{fragment:t}),t.inputs.length<r.length)throw new Error("too many arguments");const s=Ot(e.runner,"resolveName"),i=Os(s)?s:null;F(this,wr,async function(){const o=await Promise.all(t.inputs.map((a,c)=>r[c]==null?null:a.walkAsync(r[c],(l,h)=>l==="address"?ms(h,i):h)));return e.interface.encodeFilterTopics(t,o)}())}getTopicFilter(){return v(this,wr)}}wr=new WeakMap;function Df(){return Function}function Ot(n,e){return n==null?null:typeof n[e]=="function"?n:n.provider&&typeof n.provider[e]=="function"?n.provider:null}function Tt(n){return n==null?null:n.provider||null}async function sa(n,e){const t=Pf(ee.dereference(n,"overrides"));return E(t.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",t.to),E(t.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",t.data),t.from&&(t.from=await ms(t.from)),t}async function Uf(n,e,t){const r=Ot(n,"resolveName"),s=Os(r)?r:null;return await Promise.all(e.map((i,o)=>i.walkAsync(t[o],(a,c)=>(c=ee.dereference(c,a),a==="address"?ms(c,s):c))))}class Lf{constructor(e){m(this,"_contract");return R(this,{_contract:e}),new Proxy(this,{apply:async(r,s,i)=>await r.send(...i)})}async populateTransaction(e){const t=await sa(e,["data"]);t.to=await this._contract.getAddress();const r=this._contract.interface,s=r.receive||r.fallback&&r.fallback.payable;return E(s||(t.value||ea)===ea,"cannot send value to non-payable contract","overrides.value",t.value),E(r.fallback||(t.data||"0x")==="0x","cannot send data to receive-only contract","overrides.data",t.data),t}async staticCall(e){const t=Ot(this._contract.runner,"call");T(ta(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 no(s)&&s.data?this._contract.interface.makeError(s.data,r):s}}async send(e){const t=this._contract.runner;T(na(t),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const r=await t.sendTransaction(await this.populateTransaction(e)),s=Tt(this._contract.runner);return new xs(this._contract.interface,s,r)}async estimateGas(e){const t=Ot(this._contract.runner,"estimateGas");return T(ra(t),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await t.estimateGas(await this.populateTransaction(e))}}class jf extends Df(){constructor(t,r){super();m(this,"name","");m(this,"_contract");m(this,"_key");return R(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 T(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),t}getFragment(...t){const r=this._contract.interface.getFunction(this._key,t);return T(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 sa(t.pop())),r.inputs.length!==t.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const i=await Uf(this._contract.runner,r.inputs,t);return Object.assign({},s,await ro({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;T(na(r),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const s=await r.sendTransaction(await this.populateTransaction(...t)),i=Tt(this._contract.runner);return new xs(this._contract.interface,i,s)}async estimateGas(...t){const r=Ot(this._contract.runner,"estimateGas");return T(ra(r),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await r.estimateGas(await this.populateTransaction(...t))}async staticCallResult(...t){const r=Ot(this._contract.runner,"call");T(ta(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 no(a)&&a.data?this._contract.interface.makeError(a.data,s):a}const o=this.getFragment(...t);return this._contract.interface.decodeFunctionResult(o,i)}}function Bf(){return Function}class Hf extends Bf(){constructor(t,r){super();m(this,"name","");m(this,"_contract");m(this,"_key");return R(this,{name:t.interface.getEventName(r),_contract:t,_key:r}),new Proxy(this,{apply:(s,i,o)=>new Ff(t,s.getFragment(...o),o)})}get fragment(){const t=this._contract.interface.getEvent(this._key);return T(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),t}getFragment(...t){const r=this._contract.interface.getEvent(this._key,t);return T(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),r}}const on=Symbol.for("_ethersInternal_contract"),ia=new WeakMap;function Mf(n,e){ia.set(n[on],e)}function ye(n){return ia.get(n[on])}function zf(n){return n&&typeof n=="object"&&"getTopicFilter"in n&&typeof n.getTopicFilter=="function"&&n.fragment}async function Ts(n,e){let t,r=null;if(Array.isArray(e)){const i=function(o){if(Qe(o,32))return o;const a=n.interface.getEvent(o);return E(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"?Qe(e,32)?t=[e]:(r=n.interface.getEvent(e),E(r,"unknown fragment","event",e),t=[r.topicHash]):zf(e)?t=await e.getTopicFilter():"fragment"in e?(r=e.fragment,t=[r.topicHash]):E(!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 ur(n,e){const{subs:t}=ye(n);return t.get((await Ts(n,e)).tag)||null}async function oa(n,e,t){const r=Tt(n.runner);T(r,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});const{fragment:s,tag:i,topics:o}=await Ts(n,t),{addr:a,subs:c}=ye(n);let u=c.get(i);if(!u){const h={address:a||n,topics:o},p=b=>{let O=s;if(O==null)try{O=n.interface.getEvent(b.topics[0])}catch{}if(O){const $=O,q=s?n.interface.decodeEventLog(s,b.data,b.topics):[];As(n,t,q,B=>new If(n,B,t,$,b))}else As(n,t,[],$=>new Qo(n,$,t,b))};let f=[];u={tag:i,listeners:[],start:()=>{f.length||f.push(r.on(h,p))},stop:async()=>{if(f.length==0)return;let b=f;f=[],await Promise.all(b),r.off(h,p)}},c.set(i,u)}return u}let Ss=Promise.resolve();async function Vf(n,e,t,r){await Ss;const s=await ur(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 As(n,e,t,r){try{await Ss}catch{}const s=Vf(n,e,t,r);return Ss=s,await s}const aa=["then"],hn=class{constructor(e,t,r,s){m(this,"target");m(this,"interface");m(this,"runner");m(this,"filters");m(this,ed);m(this,"fallback");r==null&&(r=null);const i=bs.from(t);R(this,{target:e,runner:r,interface:i}),Object.defineProperty(this,on,{value:{}});let o,a=null,c=null;if(s){const h=Tt(r);c=new xs(this.interface,h,s)}let u=new Map;if(typeof e=="string")if(Qe(e))a=e,o=Promise.resolve(e);else{const h=Ot(r,"resolveName");if(!Os(h))throw Jr("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=h.resolveName(e).then(p=>{if(p==null)throw new Error("TODO");return ye(this).addr=p,p})}else o=e.getAddress().then(h=>{if(h==null)throw new Error("TODO");return ye(this).addr=h,h});Mf(this,{addrPromise:o,addr:a,deployTx:c,subs:u});const l=new Proxy({},{get:(h,p,f)=>{if(aa.indexOf(p)>=0)return Reflect.get(h,p,f);const d=String(p),w=this.getEvent(d);if(w)return w;throw new Error(`unknown contract event: ${d}`)}});return R(this,{filters:l}),R(this,{fallback:i.receive||i.fallback?new Lf(this):null}),new Proxy(this,{get:(h,p,f)=>{if(p in h||aa.indexOf(p)>=0)return Reflect.get(h,p,f);const d=String(p),w=h.getFunction(d);if(w)return w;throw new Error(`unknown contract method: ${d}`)}})}connect(e){return new hn(this.target,this.interface,e)}async getAddress(){return await ye(this).addrPromise}async getDeployedCode(){const e=Tt(this.runner);T(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=Tt(this.runner);return T(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 ye(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),new jf(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),new Hf(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}=ye(this),o=s||await i,{fragment:a,topics:c}=await Ts(this,e),u={address:o,topics:c,fromBlock:t,toBlock:r},l=Tt(this.runner);return T(l,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await l.getLogs(u)).map(h=>{let p=a;if(p==null)try{p=this.interface.getEvent(h.topics[0])}catch{}return p?new Es(h,this.interface,p):new vs(h,l)})}async on(e,t){const r=await oa(this,"on",e);return r.listeners.push({listener:t,once:!1}),r.start(),this}async once(e,t){const r=await oa(this,"once",e);return r.listeners.push({listener:t,once:!0}),r.start(),this}async emit(e,...t){return await As(this,e,t,null)}async listenerCount(e){if(e){const s=await ur(this,e);return s?s.listeners.length:0}const{subs:t}=ye(this);let r=0;for(const{listeners:s}of t.values())r+=s.length;return r}async listeners(e){if(e){const s=await ur(this,e);return s?s.listeners.map(({listener:i})=>i):[]}const{subs:t}=ye(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 ur(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(),ye(this).subs.delete(r.tag)),this}async removeAllListeners(e){if(e){const t=await ur(this,e);if(!t)return this;t.stop(),ye(this).subs.delete(t.tag)}else{const{subs:t}=ye(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 hn{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 ks=hn;ed=on;function qf(){return ks}class Jf extends qf(){}class lr{constructor(e){m(this,"data",[]);this.api=e}static create(e){return new lr(e)}getAbiHash(e){if(this.api===void 0)throw new Error("FunctionBuilder must be initialised with api");return this.api.getAbiHash(e)}async addFunction(e,t,r,s,i){const o=new Jf(e,s);return o.interface.encodeFunctionData(t,r),this.data.push({address:e,bytecode:o.interface.encodeFunctionData(t,r),abiHash:i||await this.getAbiHash(s),function:t}),this}get(){return this.data}static schema(){return wt().of(he({address:S().required(),bytecode:S().matches(/^(0x)?([0-9a-fA-F]{2})*$/).required(),abiHash:S().matches(/^[A-Fa-f0-9]{64}/).required(),function:S().required()}))}}class nt{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=nt.process(e,o.conditions);i=nt.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=nt.execCondition(e,s);if(r===void 0||s.logic==="WHERE")return nt.process(e,t,i);if(s.logic===void 0)throw new Error("Invalid filter. FilterCondition must have logic value");const o=nt.execLogic(r,s.logic,i);return nt.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 hr{constructor(){m(this,"groups",[]);this.newGroup("WHERE")}static version(){return nt.version()}static new(){return new hr}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=S().oneOf(["AND","OR","XOR","NAND","NOR","WHERE"]).required(),t=he({logic:e,key:S().required(),type:S().oneOf(["String","Address","Number"]).required(),operation:S().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:Mi().when("type",([r])=>{switch(r){case"String":return S();case"Address":return S();case"Number":return K();default:throw new Error("Invalid Filter Data Type")}}).required()});return wt().of(he({logic:e,conditions:wt().of(t).required()}))}}const Gf="handler_function_call_v2",Wf=/^(\d+)([SMHD])$/i,ca=he({timeBase:S().oneOf(["blocks","time"]).required(),nBlocks:K().min(10).when("timeBase",([n],e)=>n==="blocks"?e.required():e),timePeriod:S().matches(Wf,"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:K().default(0),debounceCount:K().default(0),functions:lr.schema().required(),triggerOn:S().oneOf(["always","filter"]).default("always"),latch:rs().default(!1),filterVersion:S().when("triggerOn",([n],e)=>n==="filter"?e.default("0"):e.nullable().default(null)).required(),filter:hr.schema().when("triggerOn",([n],e)=>n==="filter"?e.required():e.nullable().default(null)).required()});class ua{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Gf,handler:await this.validate(r)}}static validate(e){return ca.validateSync(e)}static async convertFromPartial(e){return ca.validate(e)}}const Kf="handler_onchain_event_v2",Xf=he({addresses:wt().of(S().required()).required(),abiHash:S().required(),event:S().required(),debounceCount:K().default(0),functions:lr.schema().nullable().default(null),triggerOn:S().oneOf(["always","filter"]).default("always"),latch:rs().default(!1),filterVersion:S().nullable().default(null),filter:hr.schema().when("triggerOn",([n],e)=>n==="filter"?e:e.nullable().default(null)).required()});class la{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Kf,handler:await this.validate(r)}}static validate(e){return Xf.validateSync(e)}}class an{static SimpleToRaw(e,t,r,s){switch(t){case"PollFunctionV2":return ua.SimpleToRaw(e,r,s);case"PollFunctionV1":return eo.SimpleToRaw(e,r,s);case"OnchainEventV1":return to.SimpleToRaw(e,r,s);case"OnchainEventV2":return la.SimpleToRaw(e,r,s);default:throw new Error("Invalid Trigger ID")}}static Validate(e,t){switch(e){case"PollFunctionV2":return ua.validate(t);case"PollFunctionV1":return eo.validate(t);case"OnchainEventV1":return to.validate(t);case"OnchainEventV2":return la.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")}}}const ha=n=>`https://${n}.functions.supabase.co/`,fa=n=>`https://${n}.supabase.co/`,da="fdgtrxmmrtlokhgkvcjz",Zf="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImZkZ3RyeG1tcnRsb2toZ2t2Y2p6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2NzMwODcwNzYsImV4cCI6MTk4ODY2MzA3Nn0.sAMxjlcJSSozBGr-LNcsudyxzUEM9e-UspMHHQLqLr4";class Rs{constructor(e,t){m(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?fa(e.projectId):fa(da),i=e.projectId?ha(e.projectId):ha(da),o=e.anonKey?e.anonKey:Zf,a=Gc(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 Rs(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 deleteAlert(e){return await this.request("delete",`alerts/${e}`)}async decode(e){return{id:e.alertId,name:e.trigger.nickname,network:e.trigger.network,triggerId:an.RawTypeToSimpleType(e.trigger.type),trigger:await an.RawToSimple(e.trigger),notificationId:os.RawTypeToSimpleType(e.notification.notify_type),notification:await os.RawToSimple(e.notification)}}async encode(e){return{trigger:await an.SimpleToRaw(e.name,e.triggerId,e.network,e.trigger),notification:await os.SimpleToRaw(e.notificationId,e.notification)}}async request(e,t,r={}){const s=new URL(`${this.url}${t}`);if(r.params)for(const a of Object.keys(r.params))s.searchParams.append(a,r.params[a]);const i={method:e,url:s.toString(),headers:this.headers};return r.body&&(i.data=r.body),(await sl(i)).data}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 setAlertName(e,t){throw new Error("Not yet supported - Sorry!")}async enableAlert(e){throw new Error("Not yet supported - Sorry!")}async disableAlert(e){throw new Error("Not yet supported - Sorry!")}async updateNotification(e){throw new Error("Not yet supported - Sorry!")}async updateTrigger(e,t){return await this.request("patch",`alerts/trigger-handler/${e}`,{body:t})}}class Ps{constructor(e){m(this,"network");m(this,"triggerId");m(this,"trigger");m(this,"notificationId");m(this,"notification");this.name=e}static create(e){return new Ps(e)}onNetwork(e){return this.network=e,this}withTrigger(e,t){return this.triggerId=e,this.trigger=an.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 Yf=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Qf=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));return P.AlertBuilder=Ps,P.DeNotifyClient=Rs,P.FilterBuilder=hr,P.FunctionBuilder=lr,P.Notification=Qf,P.Trigger=Yf,Object.defineProperty(P,Symbol.toStringTag,{value:"Module"}),P}({});
|
6
|
+
`+(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=w=>{s||(s=!0,t(w,o))},h=w=>{s||(s=!0,r(w,o))},p=i.length,f=[];if(!p)return h([]);let d={value:o,originalValue:a,path:c,options:u,schema:this};for(let w=0;w<i.length;w++){const b=i[w];b(d,l,function($){$&&(f=f.concat($)),--p<=0&&h(f)})}}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,p,f)=>this.resolve(l)._validate(u,l,p,f)}validate(e,t){let r=this.resolve(Object.assign({},t,{value:e}));return new Promise((s,i)=>r._validate(e,t,(o,a)=>{he.isError(o)&&(o.value=a),i(o)},(o,a)=>{o.length?i(new he(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 he.isError(i)&&(i.value=o),i},(i,o)=>{if(i.length)throw new he(i,e);s=o}),s}isValid(e,t){return this.validate(e,t).then(()=>!0,r=>{if(he.isError(r))return!1;throw r})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(r){if(he.isError(r))return!1;throw r}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):Ut(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=Dt({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=Dt({message:t,name:"optionality",test(s){return s===void 0?this.schema.spec.optional:!0}}),r}optional(){return this.optionality(!0)}defined(e=Ue.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=Ue.notNull){return this.nullability(!1,e)}required(e=Ue.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=Ue.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let r=this.clone(),s=Dt(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=zi(e).map(i=>new gt(i));return s.forEach(i=>{i.isSibling&&r.deps.push(i.key)}),r.conditions.push(typeof t=="function"?new Hr(s,t):Hr.fromOptions(s,t)),r}typeError(e){let t=this.clone();return t.internalTests.typeError=Dt({message:e,name:"typeError",test(r){return!pe(r)&&!this.schema._typeCheck(r)?this.createError({params:{type:this.schema.type}}):!0}}),t}oneOf(e,t=Ue.oneOf){let r=this.clone();return e.forEach(s=>{r._whitelist.add(s),r._blacklist.delete(s)}),r.internalTests.whiteList=Dt({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=Ue.notOneOf){let r=this.clone();return e.forEach(s=>{r._blacklist.add(s),r._whitelist.delete(s)}),r.internalTests.blacklist=Dt({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)}}}oe.prototype.__isYupSchema__=!0;for(const n of["validate","validateSync"])oe.prototype[`${n}At`]=function(e,t,r={}){const{parent:s,parentPath:i,schema:o}=kl(this,e,t,r.context);return o[n](s&&s[i],Object.assign({},r,{parent:s,path:e}))};for(const n of["equals","is"])oe.prototype[n]=oe.prototype.oneOf;for(const n of["not","nope"])oe.prototype[n]=oe.prototype.notOneOf;const Al=()=>!0;function Vi(n){return new qi(n)}class qi extends oe{constructor(e){super(typeof e=="function"?{type:"mixed",check:e}:Object.assign({type:"mixed",check:Al},e))}}Vi.prototype=qi.prototype;function Vr(){return new Ji}class Ji extends oe{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=ts.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return pe(t)||t===!0}})}isFalse(e=ts.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return pe(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)}}Vr.prototype=Ji.prototype;let Sl=/^[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])?)*$/,Rl=/^((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,Pl=/^(?:[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,Nl=n=>pe(n)||n===n.trim(),$l={}.toString();function k(){return new Gi}class Gi extends oe{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===$l?e:s})})}required(e){return super.required(e).withMutation(t=>t.test({message:e||Ue.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=be.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=be.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=be.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||be.matches,params:{regex:e},skipAbsent:!0,test:o=>o===""&&r||o.search(e)!==-1})}email(e=be.email){return this.matches(Sl,{name:"email",message:e,excludeEmptyString:!0})}url(e=be.url){return this.matches(Rl,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=be.uuid){return this.matches(Pl,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=be.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:Nl})}lowercase(e=be.lowercase){return this.transform(t=>pe(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>pe(t)||t===t.toLowerCase()})}uppercase(e=be.uppercase){return this.transform(t=>pe(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>pe(t)||t===t.toUpperCase()})}}k.prototype=Gi.prototype;let Cl=n=>n!=+n;function K(){return new Wi}class Wi extends oe{constructor(){super({type:"number",check(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!Cl(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=Ye.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=Ye.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=Ye.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=Ye.moreThan){return this.test({message:t,name:"min",exclusive:!0,params:{more:e},skipAbsent:!0,test(r){return r>this.resolve(e)}})}positive(e=Ye.positive){return this.moreThan(0,e)}negative(e=Ye.negative){return this.lessThan(0,e)}integer(e=Ye.integer){return this.test({name:"integer",message:e,skipAbsent:!0,test:t=>Number.isInteger(t)})}truncate(){return this.transform(e=>pe(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=>pe(s)?s:Math[e](s))}}K.prototype=Wi.prototype;var Fl=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function Il(n){var e=[1,4,5,6,7,10,11],t=0,r,s;if(s=Fl.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 Dl=new Date(""),Ul=n=>Object.prototype.toString.call(n)==="[object Date]";class qr extends oe{constructor(){super({type:"date",check(e){return Ul(e)&&!isNaN(e.getTime())}}),this.withMutation(()=>{this.transform((e,t,r)=>!r.spec.coerce||r.isType(e)?e:(e=Il(e),isNaN(e)?qr.INVALID_DATE:new Date(e)))})}prepareParam(e,t){let r;if(gt.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=es.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=es.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)}})}}qr.INVALID_DATE=Dl,qr.prototype;function Ll(n,e=[]){let t=[],r=new Set,s=new Set(e.map(([o,a])=>`${o}-${a}`));function i(o,a){let c=yt.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),gt.isRef(a)&&a.isSibling?i(a.path,o):Br(a)&&"deps"in a&&a.deps.forEach(c=>i(c,o))}return Lr.array(Array.from(r),t).reverse()}function Ki(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 Xi(n){return(e,t)=>Ki(n,e)-Ki(n,t)}const Zi=(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 Jr(n){if("fields"in n){const e={};for(const[t,r]of Object.entries(n.fields))e[t]=Jr(r);return n.setFields(e)}if(n.type==="array"){const e=n.optional();return e.innerType&&(e.innerType=Jr(e.innerType)),e}return n.type==="tuple"?n.optional().clone({types:n.spec.types.map(Jr)}):"optional"in n?n.optional():n}const jl=(n,e)=>{const t=[...yt.normalizePath(e)];if(t.length===1)return t[0]in n;let r=t.pop(),s=yt.getter(yt.join(t),!0)(n);return!!(s&&r in s)};let Yi=n=>Object.prototype.toString.call(n)==="[object Object]";function Bl(n,e){let t=Object.keys(n.fields);return Object.keys(e).filter(r=>t.indexOf(r)===-1)}const Hl=Xi([]);function ae(n){return new Qi(n)}class Qi extends oe{constructor(e){super({type:"object",check(t){return Yi(t)||typeof t=="function"}}),this.fields=Object.create(null),this._sortErrors=Hl,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 p=i[h],f=h in s;if(p){let d,w=s[h];u.path=(t.path?`${t.path}.`:"")+h,p=p.resolve({value:w,context:t.context,parent:c});let b=p instanceof oe?p.spec:void 0,T=b==null?void 0:b.strict;if(b!=null&&b.strip){l=l||h in s;continue}d=!t.__validating||!T?p.cast(s[h],u):s[h],d!==void 0&&(c[h]=d)}else f&&!o&&(c[h]=s[h]);(f!==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||!Yi(u)){s(c,u);return}o=o||u;let l=[];for(let h of this._nodes){let p=this.fields[h];!p||gt.isRef(p)||l.push(p.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=Ll(e,t),r._sortErrors=Xi(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 Jr(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=yt.getter(e,!0);return this.transform(i=>{if(!i)return i;let o=i;return jl(i,e)&&(o=Object.assign({},i),r||delete o[e],o[t]=s(i)),o})}json(){return this.transform(Zi)}noUnknown(e=!0,t=rs.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=Bl(this.schema,s);return!e||i.length===0||this.createError({params:{unknown:i.join(", ")}})}});return r.spec.noUnknown=e,r}unknown(e=!0,t=rs.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(Qn.camelCase)}snakeCase(){return this.transformKeys(Qn.snakeCase)}constantCase(){return this.transformKeys(e=>Qn.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}}ae.prototype=Qi.prototype;function wt(n){return new eo(n)}class eo extends oe{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 f=0;f<u.length;f++){var p;h[f]=o.asNestedTest({options:t,index:f,parent:u,parentPath:t.path,originalParent:(p=t.originalValue)!=null?p:e})}this.runTests({value:u,tests:h,originalValue:(l=t.originalValue)!=null?l:e,options:t},r,f=>s(f.concat(c),u))})}clone(e){const t=super.clone(e);return t.innerType=this.innerType,t}json(){return this.transform(Zi)}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(!Br(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+mt(e));return t.innerType=e,t}length(e,t=jr.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||jr.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||jr.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}}wt.prototype=eo.prototype;const to=ae({url:k(),height:K(),width:K()}),Ml=ae({type:k().default("rich"),title:k(),color:K(),thumbnail:to,image:to,url:k()}),zl=ae({url:k().url().required(),username:k(),avatar_url:k().url(),message:k().required(),embed:Ml}),Vl="notify_discord_webhook";class ns{static async SimpleToRaw(e){return{name:"",notify_type:Vl,notify:await ns.validateCreate(e)}}static validateCreate(e){return zl.validate(e)}}const ql=ae({email:k().required(),subject:k(),html:k().required()}),Jl="notify_email";class ss{static async SimpleToRaw(e){return{name:"",notify_type:Jl,notify:await ss.validateCreate(e)}}static async validateCreate(e){return ql.validate(e)}}const Gl=ae({clientId:K().required(),content:k().required()}),Wl="notify_telegram";class is{static async SimpleToRaw(e){return{name:"",notify_type:Wl,notify:await is.validateCreate(e)}}static validateCreate(e){return Gl.validate(e)}}class os{static async SimpleToRaw(e,t){switch(e){case"Discord":return ns.SimpleToRaw(t);case"Telegram":return is.SimpleToRaw(t);case"Email":return ss.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 Kl="handler_function_call";class ro{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Kl,handler:await this.validate(r)}}static validate(e){const t=([s],i)=>s==="true"?i.notRequired():i.required();return ae({address:k().required(),abi:wt().required(),nBlocks:K().default(100).min(10).required(),function:k().required(),condition:k().default("true").oneOf([">",">=","<","<=","=","true"]).required(),constant:K().min(0).when("condition",t),responseArgIndex:K().min(0).when("condition",t),responseArgDecimals:K().min(0).when("condition",t)}).validateSync(e)}}const Xl="handler_onchain_event";class no{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Xl,handler:await this.validate(r)}}static validate(e){const t=([s],i)=>s==="true"?i.notRequired():i.required();return ae({address:k().required(),event:k().required(),abi:wt().required(),condition:k().default("true").oneOf([">",">=","<","<=","=","true"]).required(),constant:K().min(0).when("condition",t),paramsIndex:K().min(0).when("condition",t),paramsDecimals:K().min(0).when("condition",t)}).validateSync(e)}}const Zl="6.1.0";function Yl(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 so(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 R(n,e,t){for(let r in e){let s=e[r];const i=t?t[r]:null;i&&Yl(s,i,r),Object.defineProperty(n,r,{enumerable:!0,value:s,writable:!1})}}function Lt(n){if(n==null)return"null";if(Array.isArray(n))return"[ "+n.map(Lt).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 Lt(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=>`${Lt(t)}: ${Lt(n[t])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function Gr(n,e){return n&&n.code===e}function io(n){return Gr(n,"CALL_EXCEPTION")}function Wr(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: ${Lt(t)}`);for(const i in t){const o=t[i];s.push(i+"="+Lt(o))}}s.push(`code=${e}`),s.push(`version=${Zl}`),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 R(r,{code:e}),t&&Object.assign(r,t),r}function O(n,e,t,r){if(!n)throw Wr(e,t,r)}function E(n,e,t,r){O(n,e,"INVALID_ARGUMENT",{argument:t,value:r})}function oo(n,e,t){t==null&&(t=""),t&&(t=": "+t),O(n>=e,"missing arguemnt"+t,"MISSING_ARGUMENT",{count:n,expectedCount:e}),O(n<=e,"too many arguemnts"+t,"UNEXPECTED_ARGUMENT",{count:n,expectedCount:e})}const Ql=["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 eh(n){O(Ql.indexOf(n)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:n}})}function as(n,e,t){if(t==null&&(t=""),n!==e){let r=t,s="new";t&&(r+=".",s+=" "+t),O(!1,`private constructor; use ${r}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function ao(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}E(!1,"invalid BytesLike value",e||"value",n)}function Le(n,e){return ao(n,e,!1)}function je(n,e){return ao(n,e,!0)}function Qe(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 co="0123456789abcdef";function W(n){const e=Le(n);let t="0x";for(let r=0;r<e.length;r++){const s=e[r];t+=co[(s&240)>>4]+co[s&15]}return t}function jt(n){return"0x"+n.map(e=>W(e).substring(2)).join("")}function Bt(n,e,t){const r=Le(n);return t!=null&&t>r.length&&O(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:t}),W(r.slice(e??0,t??r.length))}function th(n,e,t){const r=Le(n);O(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),W(s)}function rh(n,e){return th(n,e,!0)}const Kr=BigInt(0),ve=BigInt(1),Ht=9007199254740991;function nh(n,e){const t=Zr(n,"value"),r=BigInt(Be(e,"width"));if(O(t>>r===Kr,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:n}),t>>r-ve){const s=(ve<<r)-ve;return-((~t&s)+ve)}return t}function sh(n,e){let t=bt(n,"value");const r=BigInt(Be(e,"width")),s=ve<<r-ve;if(t<Kr){t=-t,O(t<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});const i=(ve<<r)-ve;return(~t&i)+ve}else O(t<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});return t}function Xr(n,e){const t=Zr(n,"value"),r=BigInt(Be(e,"bits"));return t&(ve<<r)-ve}function bt(n,e){switch(typeof n){case"bigint":return n;case"number":return E(Number.isInteger(n),"underflow",e||"value",n),E(n>=-Ht&&n<=Ht,"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){E(!1,`invalid BigNumberish string: ${t.message}`,e||"value",n)}}E(!1,"invalid BigNumberish value",e||"value",n)}function Zr(n,e){const t=bt(n,e);return O(t>=Kr,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:n}),t}const uo="0123456789abcdef";function lo(n){if(n instanceof Uint8Array){let e="0x0";for(const t of n)e+=uo[t>>4],e+=uo[t&15];return BigInt(e)}return bt(n)}function Be(n,e){switch(typeof n){case"bigint":return E(n>=-Ht&&n<=Ht,"overflow",e||"value",n),Number(n);case"number":return E(Number.isInteger(n),"underflow",e||"value",n),E(n>=-Ht&&n<=Ht,"overflow",e||"value",n),n;case"string":try{if(n==="")throw new Error("empty string");return Be(BigInt(n),e)}catch(t){E(!1,`invalid numeric string: ${t.message}`,e||"value",n)}}E(!1,"invalid numeric value",e||"value",n)}function ih(n){return Be(lo(n))}function ho(n,e){let r=Zr(n,"value").toString(16);if(e==null)r.length%2&&(r="0"+r);else{const s=Be(e,"width");for(O(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 oh(n){const e=Zr(n,"value");if(e===Kr)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}class ah{constructor(e,t,r){m(this,"filter");m(this,"emitter");H(this,zt,void 0);I(this,zt,t),R(this,{emitter:e,filter:r})}async removeListener(){v(this,zt)!=null&&await this.emitter.off(this.filter,v(this,zt))}}zt=new WeakMap;function ch(n,e,t,r,s){E(!1,`invalid codepoint at offset ${e}; ${n}`,"bytes",t)}function fo(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 uh(n,e,t,r,s){return n==="OVERLONG"?(E(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),r.push(s),0):(r.push(65533),fo(n,e,t))}const lh=Object.freeze({error:ch,ignore:fo,replace:uh});function hh(n,e){e==null&&(e=lh.error);const t=Le(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 po(n,e){e!=null&&(eh(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);E(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 fh(n){return n.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function dh(n,e){return fh(hh(n,e))}const ne=32,cs=new Uint8Array(ne),ph=["then"],Yr={};function Qr(n,e){const t=new Error(`deferred error during ABI decoding triggered accessing ${n}`);throw t.error=e,t}const dr=class extends Array{constructor(...t){const r=t[0];let s=t[1],i=(t[2]||[]).slice(),o=!0;r!==Yr&&(s=t,i=[],o=!1);super(s.length);H(this,st,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(I(this,st,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 p=Be(u,"%index");if(p<0||p>=this.length)throw new RangeError("out of result range");const f=c[p];return f instanceof Error&&Qr(`index ${p}`,f),f}if(ph.indexOf(u)>=0)return Reflect.get(c,u,l);const h=c[u];if(h instanceof Function)return function(...p){return h.apply(this===l?c:this,p)};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&&Qr(`index ${s}`,r),t.push(r)}),t}toObject(){return v(this,st).reduce((t,r,s)=>(O(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(v(this,st)[o]);return new dr(Yr,s,i)}filter(t,r){const s=[],i=[];for(let o=0;o<this.length;o++){const a=this[o];a instanceof Error&&Qr(`index ${o}`,a),t.call(r,a,o,this)&&(s.push(a),i.push(v(this,st)[o]))}return new dr(Yr,s,i)}getValue(t){const r=v(this,st).indexOf(t);if(r===-1)return;const s=this[r];return s instanceof Error&&Qr(`property ${JSON.stringify(t)}`,s.error),s}static fromItems(t,r){return new dr(Yr,t,r)}};let en=dr;st=new WeakMap;function yo(n){let e=oh(n);return O(e.length<=ne,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:ne,offset:e.length}),e.length!==ne&&(e=je(jt([cs.slice(e.length%ne),e]))),e}class He{constructor(e,t,r,s){m(this,"name");m(this,"type");m(this,"localName");m(this,"dynamic");R(this,{name:e,type:t,localName:r,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){E(!1,e,this.localName,t)}}class us{constructor(){H(this,Vt);H(this,We,void 0);H(this,At,void 0);I(this,We,[]),I(this,At,0)}get data(){return jt(v(this,We))}get length(){return v(this,At)}appendWriter(e){return G(this,Vt,gn).call(this,je(e.data))}writeBytes(e){let t=je(e);const r=t.length%ne;return r&&(t=je(jt([t,cs.slice(r)]))),G(this,Vt,gn).call(this,t)}writeValue(e){return G(this,Vt,gn).call(this,yo(e))}writeUpdatableValue(){const e=v(this,We).length;return v(this,We).push(cs),I(this,At,v(this,At)+ne),t=>{v(this,We)[e]=yo(t)}}}We=new WeakMap,At=new WeakMap,Vt=new WeakSet,gn=function(e){return v(this,We).push(e),I(this,At,v(this,At)+e.length),e.length};const Cs=class{constructor(e,t){H(this,un);m(this,"allowLoose");H(this,fe,void 0);H(this,me,void 0);R(this,{allowLoose:!!t}),I(this,fe,je(e)),I(this,me,0)}get data(){return W(v(this,fe))}get dataLength(){return v(this,fe).length}get consumed(){return v(this,me)}get bytes(){return new Uint8Array(v(this,fe))}subReader(e){return new Cs(v(this,fe).slice(v(this,me)+e),this.allowLoose)}readBytes(e,t){let r=G(this,un,ma).call(this,0,e,!!t);return I(this,me,v(this,me)+r.length),r.slice(0,e)}readValue(){return lo(this.readBytes(ne))}readIndex(){return ih(this.readBytes(ne))}};let ls=Cs;fe=new WeakMap,me=new WeakMap,un=new WeakSet,ma=function(e,t,r){let s=Math.ceil(t/ne)*ne;return v(this,me)+s>v(this,fe).length&&(this.allowLoose&&r&&v(this,me)+t<=v(this,fe).length?s=t:O(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:je(v(this,fe)),length:v(this,fe).length,offset:v(this,me)+s})),v(this,fe).slice(v(this,me),v(this,me)+s)};function hs(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}function yh(n){if(typeof n!="boolean")throw new Error(`Expected boolean, not ${n}`)}function mo(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 mh(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");hs(n.outputLen),hs(n.blockLen)}function gh(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 wh(n,e){mo(n);const t=e.outputLen;if(n.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}const Mt={number:hs,bool:yh,bytes:mo,hash:mh,exists:gh,output:wh};/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const bh=n=>new Uint32Array(n.buffer,n.byteOffset,Math.floor(n.byteLength/4));if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");Array.from({length:256},(n,e)=>e.toString(16).padStart(2,"0"));function vh(n){if(typeof n!="string")throw new TypeError(`utf8ToBytes expected string, got ${typeof n}`);return new TextEncoder().encode(n)}function fs(n){if(typeof n=="string"&&(n=vh(n)),!(n instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof n})`);return n}class _h{clone(){return this._cloneInto()}}function Eh(n){const e=r=>n().update(fs(r)).digest(),t=n();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>n(),e}function xh(n){const e=(r,s)=>n(s).update(fs(r)).digest(),t=n({});return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=r=>n(r),e}const tn=BigInt(2**32-1),ds=BigInt(32);function go(n,e=!1){return e?{h:Number(n&tn),l:Number(n>>ds&tn)}:{h:Number(n>>ds&tn)|0,l:Number(n&tn)|0}}function Th(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}=go(n[s],e);[t[s],r[s]]=[i,o]}return[t,r]}const Oh=(n,e)=>BigInt(n>>>0)<<ds|BigInt(e>>>0),kh=(n,e,t)=>n>>>t,Ah=(n,e,t)=>n<<32-t|e>>>t,Sh=(n,e,t)=>n>>>t|e<<32-t,Rh=(n,e,t)=>n<<32-t|e>>>t,Ph=(n,e,t)=>n<<64-t|e>>>t-32,Nh=(n,e,t)=>n>>>t-32|e<<64-t,$h=(n,e)=>e,Ch=(n,e)=>n,Fh=(n,e,t)=>n<<t|e>>>32-t,Ih=(n,e,t)=>e<<t|n>>>32-t,Dh=(n,e,t)=>e<<t-32|n>>>64-t,Uh=(n,e,t)=>n<<t-32|e>>>64-t;function Lh(n,e,t,r){const s=(e>>>0)+(r>>>0);return{h:n+t+(s/4294967296|0)|0,l:s|0}}const or={fromBig:go,split:Th,toBig:Oh,shrSH:kh,shrSL:Ah,rotrSH:Sh,rotrSL:Rh,rotrBH:Ph,rotrBL:Nh,rotr32H:$h,rotr32L:Ch,rotlSH:Fh,rotlSL:Ih,rotlBH:Dh,rotlBL:Uh,add:Lh,add3L:(n,e,t)=>(n>>>0)+(e>>>0)+(t>>>0),add3H:(n,e,t,r)=>e+t+r+(n/2**32|0)|0,add4L:(n,e,t,r)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0),add4H:(n,e,t,r,s)=>e+t+r+s+(n/2**32|0)|0,add5H:(n,e,t,r,s,i)=>e+t+r+s+i+(n/2**32|0)|0,add5L:(n,e,t,r,s)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(s>>>0)},[wo,bo,vo]=[[],[],[]],jh=BigInt(0),ar=BigInt(1),Bh=BigInt(2),Hh=BigInt(7),Mh=BigInt(256),zh=BigInt(113);for(let n=0,e=ar,t=1,r=0;n<24;n++){[t,r]=[r,(2*t+3*r)%5],wo.push(2*(5*r+t)),bo.push((n+1)*(n+2)/2%64);let s=jh;for(let i=0;i<7;i++)e=(e<<ar^(e>>Hh)*zh)%Mh,e&Bh&&(s^=ar<<(ar<<BigInt(i))-ar);vo.push(s)}const[Vh,qh]=or.split(vo,!0),_o=(n,e,t)=>t>32?or.rotlBH(n,e,t):or.rotlSH(n,e,t),Eo=(n,e,t)=>t>32?or.rotlBL(n,e,t):or.rotlSL(n,e,t);function Jh(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=_o(u,l,1)^t[a],p=Eo(u,l,1)^t[a+1];for(let f=0;f<50;f+=10)n[o+f]^=h,n[o+f+1]^=p}let s=n[2],i=n[3];for(let o=0;o<24;o++){const a=bo[o],c=_o(s,i,a),u=Eo(s,i,a),l=wo[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]^=Vh[r],n[1]^=qh[r]}t.fill(0)}class rn extends _h{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,Mt.number(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=bh(this.state)}keccak(){Jh(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){Mt.exists(this);const{blockLen:t,state:r}=this;e=fs(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){Mt.exists(this,!1),Mt.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 Mt.number(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Mt.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 rn(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 et=(n,e,t)=>Eh(()=>new rn(e,n,t));et(6,144,28),et(6,136,32),et(6,104,48),et(6,72,64),et(1,144,28);const Gh=et(1,136,256/8);et(1,104,48),et(1,72,64);const xo=(n,e,t)=>xh((r={})=>new rn(e,n,r.dkLen===void 0?t:r.dkLen,!0));xo(31,168,16),xo(31,136,32);let To=!1;const Oo=function(n){return Gh(n)};let ko=Oo;function tt(n){const e=Le(n,"data");return W(ko(e))}tt._=Oo,tt.lock=function(){To=!0},tt.register=function(n){if(To)throw new TypeError("keccak256 is locked");ko=n},Object.freeze(tt);const Wh=BigInt(0),Kh=BigInt(36);function Ao(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=Le(tt(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 ps={};for(let n=0;n<10;n++)ps[String(n)]=String(n);for(let n=0;n<26;n++)ps[String.fromCharCode(65+n)]=String(10+n);const So=15;function Xh(n){n=n.toUpperCase(),n=n.substring(4)+n.substring(0,2)+"00";let e=n.split("").map(r=>ps[r]).join("");for(;e.length>=So;){let r=e.substring(0,So);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 Zh=function(){const n={};for(let e=0;e<36;e++){const t="0123456789abcdefghijklmnopqrstuvwxyz"[e];n[t]=BigInt(e)}return n}();function Yh(n){n=n.toLowerCase();let e=Wh;for(let t=0;t<n.length;t++)e=e*Kh+Zh[n[t]];return e}function vt(n){if(E(typeof n=="string","invalid address","address",n),n.match(/^(0x)?[0-9a-fA-F]{40}$/)){n.startsWith("0x")||(n="0x"+n);const e=Ao(n);return E(!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}$/)){E(n.substring(2,4)===Xh(n),"bad icap checksum","address",n);let e=Yh(n.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return Ao("0x"+e)}E(!1,"invalid address","address",n)}function Qh(n){return n&&typeof n.getAddress=="function"}async function ys(n,e){const t=await e;return(t==null||t==="0x0000000000000000000000000000000000000000")&&(O(typeof n!="string","unconfigured name","UNCONFIGURED_NAME",{value:n}),E(!1,"invalid AddressLike value; did not resolve to a value address","target",n)),vt(t)}function ms(n,e){if(typeof n=="string")return n.match(/^0x[0-9a-f]{40}$/i)?vt(n):(O(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),ys(n,e.resolveName(n)));if(Qh(n))return ys(n,n.getAddress());if(n&&typeof n.then=="function")return ys(n,n);E(!1,"unsupported addressable value","target",n)}const Me={};function x(n,e){let t=!1;return e<0&&(t=!0,e*=-1),new ee(Me,`${t?"":"u"}int${e}`,n,{signed:t,width:e})}function C(n,e){return new ee(Me,`bytes${e||""}`,n,{size:e})}const Ro=Symbol.for("_ethers_typed"),Ke=class{constructor(e,t,r,s){m(this,"type");m(this,"value");H(this,St,void 0);m(this,"_typedSymbol");s==null&&(s=null),as(Me,e,"Typed"),R(this,{_typedSymbol:Ro,type:t,value:r}),I(this,St,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 v(this,St)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return v(this,St)===!0?-1:v(this,St)===!1?this.value.length:null}static from(e,t){return new Ke(Me,e,t)}static uint8(e){return x(e,8)}static uint16(e){return x(e,16)}static uint24(e){return x(e,24)}static uint32(e){return x(e,32)}static uint40(e){return x(e,40)}static uint48(e){return x(e,48)}static uint56(e){return x(e,56)}static uint64(e){return x(e,64)}static uint72(e){return x(e,72)}static uint80(e){return x(e,80)}static uint88(e){return x(e,88)}static uint96(e){return x(e,96)}static uint104(e){return x(e,104)}static uint112(e){return x(e,112)}static uint120(e){return x(e,120)}static uint128(e){return x(e,128)}static uint136(e){return x(e,136)}static uint144(e){return x(e,144)}static uint152(e){return x(e,152)}static uint160(e){return x(e,160)}static uint168(e){return x(e,168)}static uint176(e){return x(e,176)}static uint184(e){return x(e,184)}static uint192(e){return x(e,192)}static uint200(e){return x(e,200)}static uint208(e){return x(e,208)}static uint216(e){return x(e,216)}static uint224(e){return x(e,224)}static uint232(e){return x(e,232)}static uint240(e){return x(e,240)}static uint248(e){return x(e,248)}static uint256(e){return x(e,256)}static uint(e){return x(e,256)}static int8(e){return x(e,-8)}static int16(e){return x(e,-16)}static int24(e){return x(e,-24)}static int32(e){return x(e,-32)}static int40(e){return x(e,-40)}static int48(e){return x(e,-48)}static int56(e){return x(e,-56)}static int64(e){return x(e,-64)}static int72(e){return x(e,-72)}static int80(e){return x(e,-80)}static int88(e){return x(e,-88)}static int96(e){return x(e,-96)}static int104(e){return x(e,-104)}static int112(e){return x(e,-112)}static int120(e){return x(e,-120)}static int128(e){return x(e,-128)}static int136(e){return x(e,-136)}static int144(e){return x(e,-144)}static int152(e){return x(e,-152)}static int160(e){return x(e,-160)}static int168(e){return x(e,-168)}static int176(e){return x(e,-176)}static int184(e){return x(e,-184)}static int192(e){return x(e,-192)}static int200(e){return x(e,-200)}static int208(e){return x(e,-208)}static int216(e){return x(e,-216)}static int224(e){return x(e,-224)}static int232(e){return x(e,-232)}static int240(e){return x(e,-240)}static int248(e){return x(e,-248)}static int256(e){return x(e,-256)}static int(e){return x(e,-256)}static bytes1(e){return C(e,1)}static bytes2(e){return C(e,2)}static bytes3(e){return C(e,3)}static bytes4(e){return C(e,4)}static bytes5(e){return C(e,5)}static bytes6(e){return C(e,6)}static bytes7(e){return C(e,7)}static bytes8(e){return C(e,8)}static bytes9(e){return C(e,9)}static bytes10(e){return C(e,10)}static bytes11(e){return C(e,11)}static bytes12(e){return C(e,12)}static bytes13(e){return C(e,13)}static bytes14(e){return C(e,14)}static bytes15(e){return C(e,15)}static bytes16(e){return C(e,16)}static bytes17(e){return C(e,17)}static bytes18(e){return C(e,18)}static bytes19(e){return C(e,19)}static bytes20(e){return C(e,20)}static bytes21(e){return C(e,21)}static bytes22(e){return C(e,22)}static bytes23(e){return C(e,23)}static bytes24(e){return C(e,24)}static bytes25(e){return C(e,25)}static bytes26(e){return C(e,26)}static bytes27(e){return C(e,27)}static bytes28(e){return C(e,28)}static bytes29(e){return C(e,29)}static bytes30(e){return C(e,30)}static bytes31(e){return C(e,31)}static bytes32(e){return C(e,32)}static address(e){return new Ke(Me,"address",e)}static bool(e){return new Ke(Me,"bool",!!e)}static bytes(e){return new Ke(Me,"bytes",e)}static string(e){return new Ke(Me,"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 Ke(Me,"overrides",Object.assign({},e))}static isTyped(e){return e&&e._typedSymbol===Ro}static dereference(e,t){if(Ke.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}};let ee=Ke;St=new WeakMap;class ef extends He{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let r=ee.dereference(t,"string");try{r=vt(r)}catch(s){return this._throwError(s.message,t)}return e.writeValue(r)}decode(e){return vt(ho(e.readValue(),20))}}class tf extends He{constructor(t){super(t.name,t.type,"_",t.dynamic);m(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 Po(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 O(l,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:u},value:t}),O(!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 E(!1,"invalid tuple value","tuple",t);E(e.length===r.length,"types/value length mismatch","tuple",t);let s=new us,i=new us,o=[];e.forEach((c,u)=>{let l=r[u];if(c.dynamic){let h=i.length;c.encode(i,l);let p=s.writeUpdatableValue();o.push(f=>{p(f+h)})}else c.encode(s,l)}),o.forEach(c=>{c(s.length)});let a=n.appendWriter(s);return a+=n.appendWriter(i),a}function No(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(Gr(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(Gr(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)}),en.fromItems(t,r)}class rf extends He{constructor(t,r,s){const i=t.type+"["+(r>=0?r:"")+"]",o=r===-1||t.dynamic;super("array",i,s,o);m(this,"coder");m(this,"length");R(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=ee.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)),oo(s.length,i,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<s.length;a++)o.push(this.coder);return Po(t,o,s)}decode(t){let r=this.length;r===-1&&(r=t.readIndex(),O(r*ne<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:r*ne,length:t.dataLength}));let s=[];for(let i=0;i<r;i++)s.push(new tf(this.coder));return No(t,s)}}class nf extends He{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){const r=ee.dereference(t,"bool");return e.writeValue(r?1:0)}decode(e){return!!e.readValue()}}class $o extends He{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=je(t);let r=e.writeValue(t.length);return r+=e.writeBytes(t),r}decode(e){return e.readBytes(e.readIndex(),!0)}}class sf extends $o{constructor(e){super("bytes",e)}decode(e){return W(super.decode(e))}}class of extends He{constructor(t,r){let s="bytes"+String(t);super(s,s,r,!1);m(this,"size");R(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(t,r){let s=je(ee.dereference(r,this.type));return s.length!==this.size&&this._throwError("incorrect data length",r),t.writeBytes(s)}decode(t){return W(t.readBytes(this.size))}}const af=new Uint8Array([]);class cf extends He{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return t!=null&&this._throwError("not null",t),e.writeBytes(af)}decode(e){return e.readBytes(0),null}}const uf=BigInt(0),lf=BigInt(1),hf=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class ff extends He{constructor(t,r,s){const i=(r?"int":"uint")+t*8;super(i,i,s,!1);m(this,"size");m(this,"signed");R(this,{size:t,signed:r},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,r){let s=bt(ee.dereference(r,this.type)),i=Xr(hf,ne*8);if(this.signed){let o=Xr(i,this.size*8-1);(s>o||s<-(o+lf))&&this._throwError("value out-of-bounds",r),s=sh(s,8*ne)}else(s<uf||s>Xr(i,this.size*8))&&this._throwError("value out-of-bounds",r);return t.writeValue(s)}decode(t){let r=Xr(t.readValue(),this.size*8);return this.signed&&(r=nh(r,this.size*8)),r}}class df extends $o{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,po(ee.dereference(t,"string")))}decode(e){return dh(super.decode(e))}}class nn extends He{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);m(this,"coders");R(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=ee.dereference(r,"tuple");return Po(t,this.coders,s)}decode(t){return No(t,this.coders)}}function cr(n){return tt(po(n))}function gs(n,e){return{address:vt(n),storageKeys:e.map((t,r)=>(E(Qe(t,32),"invalid slot",`storageKeys[${r}]`,t),t.toLowerCase()))}}function pf(n){if(Array.isArray(n))return n.map((t,r)=>Array.isArray(t)?(E(t.length===2,"invalid slot set",`value[${r}]`,t),gs(t[0],t[1])):(E(t!=null&&typeof t=="object","invalid address-slot set","value",n),gs(t.address,t.storageKeys)));E(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 gs(t,Object.keys(r).sort())});return e.sort((t,r)=>t.address.localeCompare(r.address)),e}function se(n){const e=new Set;return n.forEach(t=>e.add(t)),Object.freeze(e)}const Co="constant external internal payable private public pure view",yf=se(Co.split(" ")),Fo="constructor error event fallback function receive struct",Io=se(Fo.split(" ")),Do="calldata memory storage payable indexed",mf=se(Do.split(" ")),gf=[Fo,Do,"tuple returns",Co].join(" "),wf=se(gf.split(" ")),bf={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},vf=new RegExp("^(\\s*)"),_f=new RegExp("^([0-9]+)"),Ef=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),Uo=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),Lo=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$"),ln=class{constructor(e){H(this,pr);H(this,Z,void 0);H(this,xe,void 0);I(this,Z,0),I(this,xe,e.slice())}get offset(){return v(this,Z)}get length(){return v(this,xe).length-v(this,Z)}clone(){return new ln(v(this,xe))}reset(){I(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=G(this,pr,Us).call(this,v(this,Z)+1,e.match+1);return I(this,Z,e.match+1),t}popParams(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=[];for(;v(this,Z)<e.match-1;){const r=this.peek().linkNext;t.push(G(this,pr,Us).call(this,v(this,Z)+1,r)),I(this,Z,r)}return I(this,Z,e.match+1),t}peek(){if(v(this,Z)>=v(this,xe).length)throw new Error("out-of-bounds");return v(this,xe)[v(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 ya(this,Z)._++,e}toString(){const e=[];for(let t=v(this,Z);t<v(this,xe).length;t++){const r=v(this,xe)[t];e.push(`${r.type}:${r.text}`)}return`<TokenString ${e.join(" ")}>`}};let _e=ln;Z=new WeakMap,xe=new WeakMap,pr=new WeakSet,Us=function(e=0,t=0){return new ln(v(this,xe).slice(e,t).map(r=>Object.freeze(Object.assign({},r,{match:r.match-e,linkBack:r.linkBack-e,linkNext:r.linkNext-e}))))};function rt(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(vf);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=bf[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=Be(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(Ef),a){if(c.text=a[1],i+=c.text.length,wf.has(c.text)){c.type="KEYWORD";continue}if(c.text.match(Lo)){c.type="TYPE";continue}c.type="ID";continue}if(a=o.match(_f),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 _e(e.map(o=>Object.freeze(o)))}function jo(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 sn(n,e){if(e.peekKeyword(Io)){const t=e.pop().text;if(t!==n)throw new Error(`expected ${n}, got ${t}`)}return e.popType("ID")}function ze(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 Bo(n){let e=ze(n,yf);return jo(e,se("constant payable nonpayable".split(" "))),jo(e,se("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 Ve(n,e){return n.popParams().map(t=>X.from(t,e))}function Ho(n){if(n.peekType("AT")){if(n.pop(),n.peekType("NUMBER"))return bt(n.pop().text);throw new Error("invalid gas")}return null}function _t(n){if(n.length)throw new Error(`unexpected tokens: ${n.toString()}`)}const xf=new RegExp(/^(.*)\[([0-9]*)\]$/);function Mo(n){const e=n.match(Lo);if(E(e,"invalid type","type",n),n==="uint")return"uint256";if(n==="int")return"int256";if(e[2]){const t=parseInt(e[2]);E(t!==0&&t<=32,"invalid bytes length","type",n)}else if(e[3]){const t=parseInt(e[3]);E(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",n)}return n}const M={},ce=Symbol.for("_ethers_internal"),zo="_ParamTypeInternal",Vo="_ErrorInternal",qo="_EventInternal",Jo="_ConstructorInternal",Go="_FallbackInternal",Wo="_FunctionInternal",Ko="_StructInternal",ge=class{constructor(e,t,r,s,i,o,a,c){H(this,qt);m(this,"name");m(this,"type");m(this,"baseType");m(this,"indexed");m(this,"components");m(this,"arrayLength");m(this,"arrayChildren");if(as(e,M,"ParamType"),Object.defineProperty(this,ce,{value:zo}),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("");R(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 G(this,qt,wn).call(this,r,e,t,i=>{s[0]=i}),r.length&&await Promise.all(r),s[0]}static from(e,t){if(ge.isParamType(e))return e;if(typeof e=="string")return ge.from(rt(e),t);if(e instanceof _e){let a="",c="",u=null;ze(e,se(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(c="tuple",u=e.popParams().map(w=>ge.from(w)),a=`tuple(${u.map(w=>w.format()).join(",")})`):(a=Mo(e.popType("TYPE")),c=a);let l=null,h=null;for(;e.length&&e.peekType("BRACKET");){const w=e.pop();l=new ge(M,"",a,c,null,u,h,l),h=w.value,a+=w.text,c="array",u=null}let p=null;if(ze(e,mf).has("indexed")){if(!t)throw new Error("");p=!0}const d=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new ge(M,d,a,c,p,u,h,l)}const r=e.name;E(!r||typeof r=="string"&&r.match(Uo),"invalid name","obj.name",r);let s=e.indexed;s!=null&&(E(t,"parameter cannot be indexed","obj.indexed",e.indexed),s=!!s);let i=e.type,o=i.match(xf);if(o){const a=parseInt(o[2]||"-1"),c=ge.from({type:o[1],components:e.components});return new ge(M,r||"",i,"array",s,null,a,c)}if(i==="tuple"||i.startsWith("tuple(")||i.startsWith("(")){const a=e.components!=null?e.components.map(u=>ge.from(u)):null;return new ge(M,r||"",i,"tuple",s,a,null,null)}return i=Mo(e.type),new ge(M,r||"",i,i,s,null,null,null)}static isParamType(e){return e&&e[ce]===zo}};let X=ge;qt=new WeakSet,wn=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;G(l=o,qt,wn).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;G(l=o[u],qt,wn).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 Et{constructor(e,t,r){m(this,"type");m(this,"inputs");as(e,M,"Fragment"),r=Object.freeze(r.slice()),R(this,{type:t,inputs:r})}static from(e){if(typeof e=="string"){try{Et.from(JSON.parse(e))}catch{}return Et.from(rt(e))}if(e instanceof _e)switch(e.peekKeyword(Io)){case"constructor":return qe.from(e);case"error":return ue.from(e);case"event":return Se.from(e);case"fallback":case"receive":return Je.from(e);case"function":return Re.from(e);case"struct":return xt.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return qe.from(e);case"error":return ue.from(e);case"event":return Se.from(e);case"fallback":case"receive":return Je.from(e);case"function":return Re.from(e);case"struct":return xt.from(e)}O(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}E(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return qe.isFragment(e)}static isError(e){return ue.isFragment(e)}static isEvent(e){return Se.isFragment(e)}static isFunction(e){return Re.isFragment(e)}static isStruct(e){return xt.isFragment(e)}}class on extends Et{constructor(t,r,s,i){super(t,r,i);m(this,"name");E(typeof s=="string"&&s.match(Uo),"invalid identifier","name",s),i=Object.freeze(i.slice()),R(this,{name:s})}}function ur(n,e){return"("+e.map(t=>t.format(n)).join(n==="full"?", ":",")+")"}class ue extends on{constructor(e,t,r){super(e,"error",t,r),Object.defineProperty(this,ce,{value:Vo})}get selector(){return cr(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+ur(e,this.inputs)),t.join(" ")}static from(e){if(ue.isFragment(e))return e;if(typeof e=="string")return ue.from(rt(e));if(e instanceof _e){const t=sn("error",e),r=Ve(e);return _t(e),new ue(M,t,r)}return new ue(M,e.name,e.inputs?e.inputs.map(X.from):[])}static isFragment(e){return e&&e[ce]===Vo}}class Se extends on{constructor(t,r,s,i){super(t,"event",r,s);m(this,"anonymous");Object.defineProperty(this,ce,{value:qo}),R(this,{anonymous:i})}get topicHash(){return cr(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+ur(t,this.inputs)),t!=="sighash"&&this.anonymous&&r.push("anonymous"),r.join(" ")}static getTopicHash(t,r){return r=(r||[]).map(i=>X.from(i)),new Se(M,t,r,!1).topicHash}static from(t){if(Se.isFragment(t))return t;if(typeof t=="string")return Se.from(rt(t));if(t instanceof _e){const r=sn("event",t),s=Ve(t,!0),i=!!ze(t,se(["anonymous"])).has("anonymous");return _t(t),new Se(M,r,s,i)}return new Se(M,t.name,t.inputs?t.inputs.map(r=>X.from(r,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[ce]===qo}}class qe extends Et{constructor(t,r,s,i,o){super(t,r,s);m(this,"payable");m(this,"gas");Object.defineProperty(this,ce,{value:Jo}),R(this,{payable:i,gas:o})}format(t){if(O(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${ur(t,this.inputs)}`];return r.push(this.payable?"payable":"nonpayable"),this.gas!=null&&r.push(`@${this.gas.toString()}`),r.join(" ")}static from(t){if(qe.isFragment(t))return t;if(typeof t=="string")return qe.from(rt(t));if(t instanceof _e){ze(t,se(["constructor"]));const r=Ve(t),s=!!ze(t,se(["payable"])).has("payable"),i=Ho(t);return _t(t),new qe(M,"constructor",r,s,i)}return new qe(M,"constructor",t.inputs?t.inputs.map(X.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ce]===Jo}}class Je extends Et{constructor(t,r,s){super(t,"fallback",r);m(this,"payable");Object.defineProperty(this,ce,{value:Go}),R(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(Je.isFragment(t))return t;if(typeof t=="string")return Je.from(rt(t));if(t instanceof _e){const r=t.toString(),s=t.peekKeyword(se(["fallback","receive"]));if(E(s,"type must be fallback or receive","obj",r),t.popKeyword(se(["fallback","receive"]))==="receive"){const c=Ve(t);return E(c.length===0,"receive cannot have arguments","obj.inputs",c),ze(t,se(["payable"])),_t(t),new Je(M,[],!0)}let o=Ve(t);o.length?E(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(c=>c.format("minimal")).join(", ")):o=[X.from("bytes")];const a=Bo(t);if(E(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),ze(t,se(["returns"])).has("returns")){const c=Ve(t);E(c.length===1&&c[0].type==="bytes","invalid fallback outputs","obj.outputs",c.map(u=>u.format("minimal")).join(", "))}return _t(t),new Je(M,o,a==="payable")}if(t.type==="receive")return new Je(M,[],!0);if(t.type==="fallback"){const r=[X.from("bytes")],s=t.stateMutability==="payable";return new Je(M,r,s)}E(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[ce]===Go}}class Re extends on{constructor(t,r,s,i,o,a){super(t,"function",r,i);m(this,"constant");m(this,"outputs");m(this,"stateMutability");m(this,"payable");m(this,"gas");Object.defineProperty(this,ce,{value:Wo}),o=Object.freeze(o.slice()),R(this,{constant:s==="view"||s==="pure",gas:a,outputs:o,payable:s==="payable",stateMutability:s})}get selector(){return cr(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+ur(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&r.push(this.stateMutability),this.outputs&&this.outputs.length&&(r.push("returns"),r.push(ur(t,this.outputs))),this.gas!=null&&r.push(`@${this.gas.toString()}`)),r.join(" ")}static getSelector(t,r){return r=(r||[]).map(i=>X.from(i)),new Re(M,t,"view",r,[],null).selector}static from(t){if(Re.isFragment(t))return t;if(typeof t=="string")return Re.from(rt(t));if(t instanceof _e){const r=sn("function",t),s=Ve(t),i=Bo(t);let o=[];ze(t,se(["returns"])).has("returns")&&(o=Ve(t));const a=Ho(t);return _t(t),new Re(M,r,i,s,o,a)}return new Re(M,t.name,t.stateMutability,t.inputs?t.inputs.map(X.from):[],t.outputs?t.outputs.map(X.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ce]===Wo}}class xt extends on{constructor(e,t,r){super(e,"struct",t,r),Object.defineProperty(this,ce,{value:Ko})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")return xt.from(rt(e));if(e instanceof _e){const t=sn("struct",e),r=Ve(e);return _t(e),new xt(M,t,r)}return new xt(M,e.name,e.inputs?e.inputs.map(X.from):[])}static isFragment(e){return e&&e[ce]===Ko}}const Ee=new Map;Ee.set(0,"GENERIC_PANIC"),Ee.set(1,"ASSERT_FALSE"),Ee.set(17,"OVERFLOW"),Ee.set(18,"DIVIDE_BY_ZERO"),Ee.set(33,"ENUM_RANGE_ERROR"),Ee.set(34,"BAD_STORAGE_DATA"),Ee.set(49,"STACK_UNDERFLOW"),Ee.set(50,"ARRAY_RANGE_ERROR"),Ee.set(65,"OUT_OF_MEMORY"),Ee.set(81,"UNINITIALIZED_FUNCTION_CALL");const Tf=new RegExp(/^bytes([0-9]*)$/),Of=new RegExp(/^(u?int)([0-9]*)$/);let ws=null;function kf(n,e,t,r){let s="missing revert data",i=null;const o=null;let a=null;if(t){s="execution reverted";const u=Le(t);if(t=W(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(W(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(W(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 ${Ee.get(l)||"UNKNOWN"}(${l})`,s+=`: ${i}`}catch{s+=" (could not decode panic code)"}else s+=" (unknown custom error)"}const c={to:e.to?vt(e.to):null,data:e.data||"0x"};return e.from&&(c.from=vt(e.from)),Wr(s,"CALL_EXCEPTION",{action:n,data:t,reason:i,transaction:c,invocation:o,revert:a})}const hn=class{constructor(){H(this,it)}getDefaultValue(e){const t=e.map(s=>G(this,it,Kt).call(this,X.from(s)));return new nn(t,"_").defaultValue()}encode(e,t){oo(t.length,e.length,"types/values length mismatch");const r=e.map(o=>G(this,it,Kt).call(this,X.from(o))),s=new nn(r,"_"),i=new us;return s.encode(i,t),i.data}decode(e,t,r){const s=e.map(o=>G(this,it,Kt).call(this,X.from(o)));return new nn(s,"_").decode(new ls(t,r))}static defaultAbiCoder(){return ws==null&&(ws=new hn),ws}static getBuiltinCallException(e,t,r){return kf(e,t,r,hn.defaultAbiCoder())}};let an=hn;it=new WeakSet,Kt=function(e){if(e.isArray())return new rf(G(this,it,Kt).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new nn(e.components.map(r=>G(this,it,Kt).call(this,r)),e.name);switch(e.baseType){case"address":return new ef(e.name);case"bool":return new nf(e.name);case"string":return new df(e.name);case"bytes":return new sf(e.name);case"":return new cf(e.name)}let t=e.type.match(Of);if(t){let r=parseInt(t[2]||"256");return E(r!==0&&r<=256&&r%8===0,"invalid "+t[1]+" bit length","param",e),new ff(r/8,t[1]==="int",e.name)}if(t=e.type.match(Tf),t){let r=parseInt(t[1]);return E(r!==0&&r<=32,"invalid bytes length","param",e),new of(r,e.name)}E(!1,"invalid type","type",e.type)};class Af{constructor(e,t,r){m(this,"fragment");m(this,"name");m(this,"signature");m(this,"topic");m(this,"args");const s=e.name,i=e.format();R(this,{fragment:e,name:s,signature:i,topic:t,args:r})}}class Sf{constructor(e,t,r,s){m(this,"fragment");m(this,"name");m(this,"args");m(this,"signature");m(this,"selector");m(this,"value");const i=e.name,o=e.format();R(this,{fragment:e,name:i,args:r,signature:o,selector:t,value:s})}}class Rf{constructor(e,t,r){m(this,"fragment");m(this,"name");m(this,"args");m(this,"signature");m(this,"selector");const s=e.name,i=e.format();R(this,{fragment:e,name:s,args:r,signature:i,selector:t})}}class Xo{constructor(e){m(this,"hash");m(this,"_isIndexed");R(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}}const Zo={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"},Yo={"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&&Zo[n.toString()]&&(e=Zo[n.toString()]),`reverted with panic code 0x${n.toString(16)} (${e})`}}},Jt=class{constructor(e){H(this,yr);H(this,mr);m(this,"fragments");m(this,"deploy");m(this,"fallback");m(this,"receive");H(this,Pe,void 0);H(this,Ne,void 0);H(this,$e,void 0);H(this,te,void 0);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,I(this,$e,new Map),I(this,Pe,new Map),I(this,Ne,new Map);const r=[];for(const o of t)try{r.push(Et.from(o))}catch(a){console.log("EE",a)}R(this,{fragments:Object.freeze(r)});let s=null,i=!1;I(this,te,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let c;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}R(this,{deploy:o});return;case"fallback":o.inputs.length===0?i=!0:(E(!s||o.payable!==s.payable,"conflicting fallback fragments",`fragments[${a}]`,o),s=o,i=s.payable);return;case"function":c=v(this,$e);break;case"event":c=v(this,Ne);break;case"error":c=v(this,Pe);break;default:return}const u=o.format();c.has(u)||c.set(u,o)}),this.deploy||R(this,{deploy:qe.from("constructor()")}),R(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 an.defaultAbiCoder()}getFunctionName(e){const t=G(this,yr,Ls).call(this,e,null,!1);return E(t,"no matching function","key",e),t.name}getFunction(e,t){return G(this,yr,Ls).call(this,e,t||null,!0)}forEachFunction(e){const t=Array.from(v(this,$e).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(v(this,$e).get(s),r)}}getEventName(e){const t=G(this,mr,js).call(this,e,null,!1);return E(t,"no matching event","key",e),t.name}getEvent(e,t){return G(this,mr,js).call(this,e,t||null,!0)}forEachEvent(e){const t=Array.from(v(this,Ne).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(v(this,Ne).get(s),r)}}getError(e,t){if(Qe(e)){const s=e.toLowerCase();if(Yo[s])return ue.from(Yo[s].signature);for(const i of v(this,Pe).values())if(s===i.selector)return i;return null}if(e.indexOf("(")===-1){const s=[];for(const[i,o]of v(this,Pe))i.split("(")[0]===e&&s.push(o);if(s.length===0)return e==="Error"?ue.from("error Error(string)"):e==="Panic"?ue.from("error Panic(uint256)"):null;if(s.length>1){const i=s.map(o=>JSON.stringify(o.format())).join(", ");E(!1,`ambiguous error description (i.e. ${i})`,"name",e)}return s[0]}if(e=ue.from(e).format(),e==="Error(string)")return ue.from("error Error(string)");if(e==="Panic(uint256)")return ue.from("error Panic(uint256)");const r=v(this,Pe).get(e);return r||null}forEachError(e){const t=Array.from(v(this,Pe).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){const s=t[r];e(v(this,Pe).get(s),r)}}_decodeParams(e,t){return v(this,te).decode(e,t)}_encodeParams(e,t){return v(this,te).encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){if(typeof e=="string"){const r=this.getError(e);E(r,"unknown error","fragment",e),e=r}return E(Bt(t,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",t),this._decodeParams(e.inputs,Bt(t,4))}encodeErrorResult(e,t){if(typeof e=="string"){const r=this.getError(e);E(r,"unknown error","fragment",e),e=r}return jt([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionData(e,t){if(typeof e=="string"){const r=this.getFunction(e);E(r,"unknown function","fragment",e),e=r}return E(Bt(t,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",t),this._decodeParams(e.inputs,Bt(t,4))}encodeFunctionData(e,t){if(typeof e=="string"){const r=this.getFunction(e);E(r,"unknown function","fragment",e),e=r}return jt([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionResult(e,t){if(typeof e=="string"){const i=this.getFunction(e);E(i,"unknown function","fragment",e),e=i}let r="invalid length for result data";const s=je(t);if(s.length%32===0)try{return v(this,te).decode(e.outputs,s)}catch{r="could not decode result data"}O(!1,r,"BAD_DATA",{value:W(s),info:{method:e.name,signature:e.format()}})}makeError(e,t){const r=Le(e,"data"),s=an.getBuiltinCallException("call",t,r),i="execution reverted (unknown custom error)";if(s.message.startsWith(i)){const a=W(r.slice(0,4)),c=this.getError(a);if(c)try{const u=v(this,te).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);E(r,"unknown function","fragment",e),e=r}return W(v(this,te).encode(e.outputs,t||[]))}encodeFilterTopics(e,t){if(typeof e=="string"){const i=this.getEvent(e);E(i,"unknown event","eventFragment",e),e=i}O(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"?cr(o):i.type==="bytes"?tt(W(o)):(i.type==="bool"&&typeof o=="boolean"&&(o=o?"0x01":"0x00"),i.type.match(/^u?int/)&&(o=ho(o)),i.type==="address"&&v(this,te).encode(["address"],[o]),rh(W(o),32));for(t.forEach((i,o)=>{const a=e.inputs[o];if(!a.indexed){E(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"?E(!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);E(o,"unknown event","eventFragment",e),e=o}const r=[],s=[],i=[];return e.anonymous||r.push(e.topicHash),E(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(cr(c));else if(o.type==="bytes")r.push(tt(c));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");r.push(v(this,te).encode([o.type],[c]))}else s.push(o),i.push(c)}),{data:v(this,te).encode(s,i),topics:r}}decodeEventLog(e,t,r){if(typeof e=="string"){const f=this.getEvent(e);E(f,"unknown event","eventFragment",e),e=f}if(r!=null&&!e.anonymous){const f=e.topicHash;E(Qe(r[0],32)&&r[0].toLowerCase()===f,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}const s=[],i=[],o=[];e.inputs.forEach((f,d)=>{f.indexed?f.type==="string"||f.type==="bytes"||f.baseType==="tuple"||f.baseType==="array"?(s.push(X.from({type:"bytes32",name:f.name})),o.push(!0)):(s.push(f),o.push(!1)):(i.push(f),o.push(!1))});const a=r!=null?v(this,te).decode(s,jt(r)):null,c=v(this,te).decode(i,t,!0),u=[],l=[];let h=0,p=0;return e.inputs.forEach((f,d)=>{let w=null;if(f.indexed)if(a==null)w=new Xo(null);else if(o[d])w=new Xo(a[p++]);else try{w=a[p++]}catch(b){w=b}else try{w=c[h++]}catch(b){w=b}u.push(w),l.push(f.name||null)}),en.fromItems(u,l)}parseTransaction(e){const t=Le(e.data,"tx.data"),r=bt(e.value!=null?e.value:0,"tx.value"),s=this.getFunction(W(t.slice(0,4)));if(!s)return null;const i=v(this,te).decode(s.inputs,t.slice(4));return new Sf(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 Af(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){const t=W(e),r=this.getError(Bt(t,0,4));if(!r)return null;const s=v(this,te).decode(r.inputs,Bt(t,4));return new Rf(r,r.selector,s)}static from(e){return e instanceof Jt?e:typeof e=="string"?new Jt(JSON.parse(e)):typeof e.format=="function"?new Jt(e.format("json")):new Jt(e)}};let bs=Jt;Pe=new WeakMap,Ne=new WeakMap,$e=new WeakMap,te=new WeakMap,yr=new WeakSet,Ls=function(e,t,r){if(Qe(e)){const i=e.toLowerCase();for(const o of v(this,$e).values())if(i===o.selector)return o;return null}if(e.indexOf("(")===-1){const i=[];for(const[o,a]of v(this,$e))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;ee.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(ee.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(", ");E(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return i[0]}const s=v(this,$e).get(Re.from(e).format());return s||null},mr=new WeakSet,js=function(e,t,r){if(Qe(e)){const i=e.toLowerCase();for(const o of v(this,Ne).values())if(i===o.topicHash)return o;return null}if(e.indexOf("(")===-1){const i=[];for(const[o,a]of v(this,Ne))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(ee.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(", ");E(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return i[0]}const s=v(this,Ne).get(Se.from(e).format());return s||null};const Pf=BigInt(0);function Ge(n){return n==null?null:n.toString()}function Nf(n){const e={};n.to&&(e.to=n.to),n.from&&(e.from=n.from),n.data&&(e.data=W(n.data));const t="chainId,gasLimit,gasPrice,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const s of t)!(s in n)||n[s]==null||(e[s]=bt(n[s],`request.${s}`));const r="type,nonce".split(/,/);for(const s of r)!(s in n)||n[s]==null||(e[s]=Be(n[s],`request.${s}`));return n.accessList&&(e.accessList=pf(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 vs{constructor(e,t){m(this,"provider");m(this,"transactionHash");m(this,"blockHash");m(this,"blockNumber");m(this,"removed");m(this,"address");m(this,"data");m(this,"topics");m(this,"index");m(this,"transactionIndex");this.provider=t;const r=Object.freeze(e.topics.slice());R(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 O(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){const e=await this.provider.getTransaction(this.transactionHash);return O(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){const e=await this.provider.getTransactionReceipt(this.transactionHash);return O(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return Cf(this)}}class $f{constructor(e,t){m(this,"provider");m(this,"to");m(this,"from");m(this,"contractAddress");m(this,"hash");m(this,"index");m(this,"blockHash");m(this,"blockNumber");m(this,"logsBloom");m(this,"gasUsed");m(this,"cumulativeGasUsed");m(this,"gasPrice");m(this,"type");m(this,"status");m(this,"root");H(this,gr,void 0);I(this,gr,Object.freeze(e.logs.map(r=>new vs(r,t)))),R(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 v(this,gr)}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:Ge(this.cumulativeGasUsed),from:t,gasPrice:Ge(this.gasPrice),gasUsed:Ge(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 ea(this)}reorderedEvent(e){return O(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),Qo(this,e)}}gr=new WeakMap;const Fs=class{constructor(e,t){m(this,"provider");m(this,"blockNumber");m(this,"blockHash");m(this,"index");m(this,"hash");m(this,"type");m(this,"to");m(this,"from");m(this,"nonce");m(this,"gasLimit");m(this,"gasPrice");m(this,"maxPriorityFeePerGas");m(this,"maxFeePerGas");m(this,"data");m(this,"value");m(this,"chainId");m(this,"signature");m(this,"accessList");H(this,ot,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,I(this,ot,-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:Ge(this.chainId),data:u,from:a,gasLimit:Ge(this.gasLimit),gasPrice:Ge(this.gasPrice),hash:s,maxFeePerGas:Ge(this.maxFeePerGas),maxPriorityFeePerGas:Ge(this.maxPriorityFeePerGas),nonce:c,signature:l,to:o,index:r,type:i,value:Ge(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=v(this,ot),o=-1,a=i===-1;const c=async()=>{if(a)return null;const{blockNumber:h,nonce:p}=await so({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(p<this.nonce){i=h;return}if(a)return null;const f=await this.getTransaction();if(!(f&&f.blockNumber!=null))for(o===-1&&(o=i-3,o<v(this,ot)&&(o=v(this,ot)));o<=h;){if(a)return null;const d=await this.provider.getBlock(o,!0);if(d==null)return;for(const w of d)if(w===this.hash)return;for(let w=0;w<d.length;w++){const b=await d.getTransaction(w);if(b.from===this.from&&b.nonce===this.nonce){if(a)return null;const T=await this.provider.getTransactionReceipt(b.hash);if(T==null||h-T.blockNumber+1<r)return;let $="replaced";b.data===this.data&&b.to===this.to&&b.value===this.value?$="repriced":b.data==="0x"&&b.from===b.to&&b.value===Pf&&($="cancelled"),O(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:$==="replaced"||$==="cancelled",reason:$,replacement:b.replaceableTransaction(i),hash:b.hash,receipt:T})}}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,p)=>{const f=[],d=()=>{f.forEach(b=>b())};if(f.push(()=>{a=!0}),s>0){const b=setTimeout(()=>{d(),p(Wr("wait for transaction timeout","TIMEOUT"))},s);f.push(()=>{clearTimeout(b)})}const w=async b=>{await b.confirmations()>=r&&(d(),h(b))};if(f.push(()=>{this.provider.off(this.hash,w)}),this.provider.on(this.hash,w),i>=0){const b=async()=>{try{await c()}catch(T){if(Gr(T,"TRANSACTION_REPLACED")){d(),p(T);return}}a||this.provider.once("block",b)};f.push(()=>{this.provider.off("block",b)}),this.provider.once("block",b)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}removedEvent(){return O(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),ea(this)}reorderedEvent(e){return O(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),O(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),Qo(this,e)}replaceableTransaction(e){E(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);const t=new Fs(this,this.provider);return I(t,ot,e),t}};let _s=Fs;ot=new WeakMap;function Qo(n,e){return{orphan:"reorder-transaction",tx:n,other:e}}function ea(n){return{orphan:"drop-transaction",tx:n}}function Cf(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 Es extends vs{constructor(t,r,s){super(t,t.provider);m(this,"interface");m(this,"fragment");m(this,"args");const i=r.decodeEventLog(s,t.data,t.topics);R(this,{args:i,fragment:s,interface:r})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class Ff extends $f{constructor(t,r,s){super(s,r);H(this,Gt,void 0);I(this,Gt,t)}get logs(){return super.logs.map(t=>{const r=t.topics.length?v(this,Gt).getEvent(t.topics[0]):null;return r?new Es(t,v(this,Gt),r):t})}}Gt=new WeakMap;class xs extends _s{constructor(t,r,s){super(s,r);H(this,wr,void 0);I(this,wr,t)}async wait(t){const r=await super.wait();return r==null?null:new Ff(v(this,wr),this.provider,r)}}wr=new WeakMap;class ta extends ah{constructor(t,r,s,i){super(t,r,s);m(this,"log");R(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 If extends ta{constructor(e,t,r,s,i){super(e,t,r,new Es(i,e.interface,s));const o=e.interface.decodeEventLog(s,this.log.data,this.log.topics);R(this,{args:o,fragment:s})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const ra=BigInt(0);function na(n){return n&&typeof n.call=="function"}function sa(n){return n&&typeof n.estimateGas=="function"}function Ts(n){return n&&typeof n.resolveName=="function"}function ia(n){return n&&typeof n.sendTransaction=="function"}class Df{constructor(e,t,r){H(this,br,void 0);m(this,"fragment");if(R(this,{fragment:t}),t.inputs.length<r.length)throw new Error("too many arguments");const s=Tt(e.runner,"resolveName"),i=Ts(s)?s:null;I(this,br,async function(){const o=await Promise.all(t.inputs.map((a,c)=>r[c]==null?null:a.walkAsync(r[c],(l,h)=>l==="address"?ms(h,i):h)));return e.interface.encodeFilterTopics(t,o)}())}getTopicFilter(){return v(this,br)}}br=new WeakMap;function Uf(){return Function}function Tt(n,e){return n==null?null:typeof n[e]=="function"?n:n.provider&&typeof n.provider[e]=="function"?n.provider:null}function Ot(n){return n==null?null:n.provider||null}async function oa(n,e){const t=Nf(ee.dereference(n,"overrides"));return E(t.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",t.to),E(t.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",t.data),t.from&&(t.from=await ms(t.from)),t}async function Lf(n,e,t){const r=Tt(n,"resolveName"),s=Ts(r)?r:null;return await Promise.all(e.map((i,o)=>i.walkAsync(t[o],(a,c)=>(c=ee.dereference(c,a),a==="address"?ms(c,s):c))))}class jf{constructor(e){m(this,"_contract");return R(this,{_contract:e}),new Proxy(this,{apply:async(r,s,i)=>await r.send(...i)})}async populateTransaction(e){const t=await oa(e,["data"]);t.to=await this._contract.getAddress();const r=this._contract.interface,s=r.receive||r.fallback&&r.fallback.payable;return E(s||(t.value||ra)===ra,"cannot send value to non-payable contract","overrides.value",t.value),E(r.fallback||(t.data||"0x")==="0x","cannot send data to receive-only contract","overrides.data",t.data),t}async staticCall(e){const t=Tt(this._contract.runner,"call");O(na(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 io(s)&&s.data?this._contract.interface.makeError(s.data,r):s}}async send(e){const t=this._contract.runner;O(ia(t),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const r=await t.sendTransaction(await this.populateTransaction(e)),s=Ot(this._contract.runner);return new xs(this._contract.interface,s,r)}async estimateGas(e){const t=Tt(this._contract.runner,"estimateGas");return O(sa(t),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await t.estimateGas(await this.populateTransaction(e))}}class Bf extends Uf(){constructor(t,r){super();m(this,"name","");m(this,"_contract");m(this,"_key");return R(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 O(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),t}getFragment(...t){const r=this._contract.interface.getFunction(this._key,t);return O(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 oa(t.pop())),r.inputs.length!==t.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const i=await Lf(this._contract.runner,r.inputs,t);return Object.assign({},s,await so({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;O(ia(r),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const s=await r.sendTransaction(await this.populateTransaction(...t)),i=Ot(this._contract.runner);return new xs(this._contract.interface,i,s)}async estimateGas(...t){const r=Tt(this._contract.runner,"estimateGas");return O(sa(r),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await r.estimateGas(await this.populateTransaction(...t))}async staticCallResult(...t){const r=Tt(this._contract.runner,"call");O(na(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 io(a)&&a.data?this._contract.interface.makeError(a.data,s):a}const o=this.getFragment(...t);return this._contract.interface.decodeFunctionResult(o,i)}}function Hf(){return Function}class Mf extends Hf(){constructor(t,r){super();m(this,"name","");m(this,"_contract");m(this,"_key");return R(this,{name:t.interface.getEventName(r),_contract:t,_key:r}),new Proxy(this,{apply:(s,i,o)=>new Df(t,s.getFragment(...o),o)})}get fragment(){const t=this._contract.interface.getEvent(this._key);return O(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),t}getFragment(...t){const r=this._contract.interface.getEvent(this._key,t);return O(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment"}),r}}const cn=Symbol.for("_ethersInternal_contract"),aa=new WeakMap;function zf(n,e){aa.set(n[cn],e)}function ye(n){return aa.get(n[cn])}function Vf(n){return n&&typeof n=="object"&&"getTopicFilter"in n&&typeof n.getTopicFilter=="function"&&n.fragment}async function Os(n,e){let t,r=null;if(Array.isArray(e)){const i=function(o){if(Qe(o,32))return o;const a=n.interface.getEvent(o);return E(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"?Qe(e,32)?t=[e]:(r=n.interface.getEvent(e),E(r,"unknown fragment","event",e),t=[r.topicHash]):Vf(e)?t=await e.getTopicFilter():"fragment"in e?(r=e.fragment,t=[r.topicHash]):E(!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 lr(n,e){const{subs:t}=ye(n);return t.get((await Os(n,e)).tag)||null}async function ca(n,e,t){const r=Ot(n.runner);O(r,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});const{fragment:s,tag:i,topics:o}=await Os(n,t),{addr:a,subs:c}=ye(n);let u=c.get(i);if(!u){const h={address:a||n,topics:o},p=b=>{let T=s;if(T==null)try{T=n.interface.getEvent(b.topics[0])}catch{}if(T){const $=T,q=s?n.interface.decodeEventLog(s,b.data,b.topics):[];As(n,t,q,B=>new If(n,B,t,$,b))}else As(n,t,[],$=>new ta(n,$,t,b))};let f=[];u={tag:i,listeners:[],start:()=>{f.length||f.push(r.on(h,p))},stop:async()=>{if(f.length==0)return;let b=f;f=[],await Promise.all(b),r.off(h,p)}},c.set(i,u)}return u}let ks=Promise.resolve();async function qf(n,e,t,r){await ks;const s=await lr(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 As(n,e,t,r){try{await ks}catch{}const s=qf(n,e,t,r);return ks=s,await s}const ua=["then"],fn=class{constructor(e,t,r,s){m(this,"target");m(this,"interface");m(this,"runner");m(this,"filters");m(this,rd);m(this,"fallback");r==null&&(r=null);const i=bs.from(t);R(this,{target:e,runner:r,interface:i}),Object.defineProperty(this,cn,{value:{}});let o,a=null,c=null;if(s){const h=Ot(r);c=new xs(this.interface,h,s)}let u=new Map;if(typeof e=="string")if(Qe(e))a=e,o=Promise.resolve(e);else{const h=Tt(r,"resolveName");if(!Ts(h))throw Wr("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=h.resolveName(e).then(p=>{if(p==null)throw new Error("TODO");return ye(this).addr=p,p})}else o=e.getAddress().then(h=>{if(h==null)throw new Error("TODO");return ye(this).addr=h,h});zf(this,{addrPromise:o,addr:a,deployTx:c,subs:u});const l=new Proxy({},{get:(h,p,f)=>{if(ua.indexOf(p)>=0)return Reflect.get(h,p,f);const d=String(p),w=this.getEvent(d);if(w)return w;throw new Error(`unknown contract event: ${d}`)}});return R(this,{filters:l}),R(this,{fallback:i.receive||i.fallback?new jf(this):null}),new Proxy(this,{get:(h,p,f)=>{if(p in h||ua.indexOf(p)>=0)return Reflect.get(h,p,f);const d=String(p),w=h.getFunction(d);if(w)return w;throw new Error(`unknown contract method: ${d}`)}})}connect(e){return new fn(this.target,this.interface,e)}async getAddress(){return await ye(this).addrPromise}async getDeployedCode(){const e=Ot(this.runner);O(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=Ot(this.runner);return O(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 ye(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),new Bf(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),new Mf(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}=ye(this),o=s||await i,{fragment:a,topics:c}=await Os(this,e),u={address:o,topics:c,fromBlock:t,toBlock:r},l=Ot(this.runner);return O(l,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await l.getLogs(u)).map(h=>{let p=a;if(p==null)try{p=this.interface.getEvent(h.topics[0])}catch{}return p?new Es(h,this.interface,p):new vs(h,l)})}async on(e,t){const r=await ca(this,"on",e);return r.listeners.push({listener:t,once:!1}),r.start(),this}async once(e,t){const r=await ca(this,"once",e);return r.listeners.push({listener:t,once:!0}),r.start(),this}async emit(e,...t){return await As(this,e,t,null)}async listenerCount(e){if(e){const s=await lr(this,e);return s?s.listeners.length:0}const{subs:t}=ye(this);let r=0;for(const{listeners:s}of t.values())r+=s.length;return r}async listeners(e){if(e){const s=await lr(this,e);return s?s.listeners.map(({listener:i})=>i):[]}const{subs:t}=ye(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 lr(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(),ye(this).subs.delete(r.tag)),this}async removeAllListeners(e){if(e){const t=await lr(this,e);if(!t)return this;t.stop(),ye(this).subs.delete(t.tag)}else{const{subs:t}=ye(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 fn{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 Ss=fn;rd=cn;function Jf(){return Ss}class Gf extends Jf(){}class kt{constructor(e){m(this,"data",[]);this.api=e}static create(e){return new kt(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}:${i}`,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){console.log(i);const o=new Gf(e,s);return o.interface.encodeFunctionData(t,r),i=i||await this.getAbiHash(s),console.log(i),this.data.push({address:e,bytecode:o.interface.encodeFunctionData(t,r),abiHash:i,function:t}),this}get(){return this.data}static schema(){return wt().of(ae({address:k().required(),bytecode:k().matches(/^(0x)?([0-9a-fA-F]{2})*$/).required(),abiHash:k().matches(/^[A-Fa-f0-9]{64}/).required(),function:k().required()}))}}class nt{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=nt.process(e,o.conditions);i=nt.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=nt.execCondition(e,s);if(r===void 0||s.logic==="WHERE")return nt.process(e,t,i);if(s.logic===void 0)throw new Error("Invalid filter. FilterCondition must have logic value");const o=nt.execLogic(r,s.logic,i);return nt.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 hr{constructor(){m(this,"groups",[]);this.newGroup("WHERE")}static version(){return nt.version()}static new(){return new hr}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=k().oneOf(["AND","OR","XOR","NAND","NOR","WHERE"]).required(),t=ae({logic:e,key:k().required(),type:k().oneOf(["String","Address","Number"]).required(),operation:k().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:Vi().when("type",([r])=>{switch(r){case"String":return k();case"Address":return k();case"Number":return K();default:throw new Error("Invalid Filter Data Type")}}).required()});return wt().of(ae({logic:e,conditions:wt().of(t).required()}))}}const Wf="handler_function_call_v2",Kf=/^(\d+)([SMHD])$/i,la=ae({timeBase:k().oneOf(["blocks","time"]).required(),nBlocks:K().min(10).when("timeBase",([n],e)=>n==="blocks"?e.required():e),timePeriod:k().matches(Kf,"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:K().default(0),debounceCount:K().default(0),functions:kt.schema().required(),triggerOn:k().oneOf(["always","filter"]).default("always"),latch:Vr().default(!1),filterVersion:k().when("triggerOn",([n],e)=>n==="filter"?e.default("0"):e.nullable().default(null)).required(),filter:hr.schema().when("triggerOn",([n],e)=>n==="filter"?e.required():e.nullable().default(null)).required()});class Rs{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Wf,handler:await this.validate(r)}}static validate(e){return la.validateSync(e)}static async convertFromPartial(e){return la.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;const s=e.functions.map(i=>t[i.abiHash]);return console.log(s),[...kt.readFields(e.functions,s),...r]}}const Xf="handler_onchain_event_v2",Zf=ae({addresses:wt().of(k().required()).required(),abiHash:k().required(),event:k().required(),debounceCount:K().default(0),functions:kt.schema().nullable().default(null),triggerOn:k().oneOf(["always","filter"]).default("always"),latch:Vr().default(!1),filterVersion:k().nullable().default(null),filter:hr.schema().when("triggerOn",([n],e)=>n==="filter"?e:e.nullable().default(null)).required()}),Yf=n=>n,ha=(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;ha(i.components,e,t,`${r}${o}${c}_`,`${u}${a?"[]":""}.`)}else t.push({source:e,label:`${s}${i.name}`,type:Yf(i.type),key:`${r}${o}${c}`,index:o})}),t);class Ps{static async SimpleToRaw(e,t,r){return{alertType:"event",network:t,nickname:e,type:Xf,handler:await this.validate(r)}}static validate(e){return Zf.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"}];const s=t[e.abiHash].find(o=>o.name===e.event);if(r=ha(s.inputs,`${e.event} Event`,r,"param_"),!e.functions)return r;const i=e.functions.map(o=>t[o.abiHash]);return[...kt.readFields(e.functions,i),...r]}}class fr{static SimpleToRaw(e,t,r,s){switch(t){case"PollFunctionV2":return Rs.SimpleToRaw(e,r,s);case"PollFunctionV1":return ro.SimpleToRaw(e,r,s);case"OnchainEventV1":return no.SimpleToRaw(e,r,s);case"OnchainEventV2":return Ps.SimpleToRaw(e,r,s);default:throw new Error("Invalid Trigger ID")}}static Validate(e,t){switch(e){case"PollFunctionV2":return Rs.validate(t);case"PollFunctionV1":return ro.validate(t);case"OnchainEventV1":return no.validate(t);case"OnchainEventV2":return Ps.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 Rs.readFields(t,r);case"OnchainEventV2":return Ps.readFields(t,r);default:throw new Error("Invalid Trigger ID")}}}const fa=n=>`https://${n}.functions.supabase.co/`,da=n=>`https://${n}.supabase.co/`,pa="fdgtrxmmrtlokhgkvcjz",Qf="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImZkZ3RyeG1tcnRsb2toZ2t2Y2p6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2NzMwODcwNzYsImV4cCI6MTk4ODY2MzA3Nn0.sAMxjlcJSSozBGr-LNcsudyxzUEM9e-UspMHHQLqLr4";class Ns{constructor(e,t){m(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?da(e.projectId):da(pa),i=e.projectId?fa(e.projectId):fa(pa),o=e.anonKey?e.anonKey:Qf,a=Wc(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 Ns(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=await ae({name:k().optional(),enabled:Vr().optional()}).validate(t);await this.request("patch",`alerts/trigger/${e}`,{body:r})}async updateAlert(e,t){const r=[],{trigger:s,notification:i,...o}=t;return(o.name||o.enabled)&&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,triggerId:fr.RawTypeToSimpleType(e.trigger.type),trigger:await fr.RawToSimple(e.trigger),notificationId:os.RawTypeToSimpleType(e.notification.notify_type),notification:await os.RawToSimple(e.notification)}}async encode(e){return{trigger:await fr.SimpleToRaw(e.name,e.triggerId,e.network,e.trigger),notification:await os.SimpleToRaw(e.notificationId,e.notification)}}async request(e,t,r={}){const s=new URL(`${this.url}${t}`);if(r.params)for(const a of Object.keys(r.params))s.searchParams.append(a,r.params[a]);const i={method:e,url:s.toString(),headers:this.headers};return r.body&&(i.data=r.body),(await il(i)).data}readFields(e,t,r){return fr.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 $s{constructor(e){m(this,"network");m(this,"triggerId");m(this,"trigger");m(this,"notificationId");m(this,"notification");this.name=e}static create(e){return new $s(e)}onNetwork(e){return this.network=e,this}withTrigger(e,t){return this.triggerId=e,this.trigger=fr.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 ed=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),td=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));return P.AlertBuilder=$s,P.DeNotifyClient=Ns,P.FilterBuilder=hr,P.FunctionBuilder=kt,P.Notification=td,P.Trigger=ed,Object.defineProperty(P,Symbol.toStringTag,{value:"Module"}),P}({});
|