@sesamy/sesamy-js 1.13.7 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- "use strict";var zr=Object.defineProperty;var Dr=(t,e,n)=>e in t?zr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var B=(t,e,n)=>Dr(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function ue(t,e){const n=new CustomEvent(t,{detail:e,bubbles:!0,composed:!0});dispatchEvent(n)}function te(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n}var he=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Lt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Ut(t,e){return t(e={exports:{}},e.exports),e.exports}var de=Ut(function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function r(){var i=this;this.locked=new Map,this.addToLocked=function(o,a){var s=i.locked.get(o);s===void 0?a===void 0?i.locked.set(o,[]):i.locked.set(o,[a]):a!==void 0&&(s.unshift(a),i.locked.set(o,s))},this.isLocked=function(o){return i.locked.has(o)},this.lock=function(o){return new Promise(function(a,s){i.isLocked(o)?i.addToLocked(o,a):(i.addToLocked(o),a())})},this.unlock=function(o){var a=i.locked.get(o);if(a!==void 0&&a.length!==0){var s=a.pop();i.locked.set(o,a),s!==void 0&&setTimeout(s,0)}else i.locked.delete(o)}}return r.getInstance=function(){return r.instance===void 0&&(r.instance=new r),r.instance},r}();e.default=function(){return n.getInstance()}});Lt(de);var Mr=Lt(Ut(function(t,e){var n=he&&he.__awaiter||function(u,c,p,d){return new(p||(p=Promise))(function(b,S){function w(v){try{_(d.next(v))}catch(l){S(l)}}function P(v){try{_(d.throw(v))}catch(l){S(l)}}function _(v){v.done?b(v.value):new p(function(l){l(v.value)}).then(w,P)}_((d=d.apply(u,c||[])).next())})},r=he&&he.__generator||function(u,c){var p,d,b,S,w={label:0,sent:function(){if(1&b[0])throw b[1];return b[1]},trys:[],ops:[]};return S={next:P(0),throw:P(1),return:P(2)},typeof Symbol=="function"&&(S[Symbol.iterator]=function(){return this}),S;function P(_){return function(v){return function(l){if(p)throw new TypeError("Generator is already executing.");for(;w;)try{if(p=1,d&&(b=2&l[0]?d.return:l[0]?d.throw||((b=d.return)&&b.call(d),0):d.next)&&!(b=b.call(d,l[1])).done)return b;switch(d=0,b&&(l=[2&l[0],b.value]),l[0]){case 0:case 1:b=l;break;case 4:return w.label++,{value:l[1],done:!1};case 5:w.label++,d=l[1],l=[0];continue;case 7:l=w.ops.pop(),w.trys.pop();continue;default:if(b=w.trys,!((b=b.length>0&&b[b.length-1])||l[0]!==6&&l[0]!==2)){w=0;continue}if(l[0]===3&&(!b||l[1]>b[0]&&l[1]<b[3])){w.label=l[1];break}if(l[0]===6&&w.label<b[1]){w.label=b[1],b=l;break}if(b&&w.label<b[2]){w.label=b[2],w.ops.push(l);break}b[2]&&w.ops.pop(),w.trys.pop();continue}l=c.call(u,w)}catch(k){l=[6,k],d=0}finally{p=b=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([_,v])}}},i=he;Object.defineProperty(e,"__esModule",{value:!0});var o="browser-tabs-lock-key",a={key:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},getItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},clear:function(){return n(i,void 0,void 0,function(){return r(this,function(u){return[2,window.localStorage.clear()]})})},removeItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},setItem:function(u,c){return n(i,void 0,void 0,function(){return r(this,function(p){throw new Error("Unsupported")})})},keySync:function(u){return window.localStorage.key(u)},getItemSync:function(u){return window.localStorage.getItem(u)},clearSync:function(){return window.localStorage.clear()},removeItemSync:function(u){return window.localStorage.removeItem(u)},setItemSync:function(u,c){return window.localStorage.setItem(u,c)}};function s(u){return new Promise(function(c){return setTimeout(c,u)})}function h(u){for(var c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",p="",d=0;d<u;d++)p+=c[Math.floor(Math.random()*c.length)];return p}var f=function(){function u(c){this.acquiredIatSet=new Set,this.storageHandler=void 0,this.id=Date.now().toString()+h(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),this.storageHandler=c,u.waiters===void 0&&(u.waiters=[])}return u.prototype.acquireLock=function(c,p){return p===void 0&&(p=5e3),n(this,void 0,void 0,function(){var d,b,S,w,P,_,v;return r(this,function(l){switch(l.label){case 0:d=Date.now()+h(4),b=Date.now()+p,S=o+"-"+c,w=this.storageHandler===void 0?a:this.storageHandler,l.label=1;case 1:return Date.now()<b?[4,s(30)]:[3,8];case 2:return l.sent(),w.getItemSync(S)!==null?[3,5]:(P=this.id+"-"+c+"-"+d,[4,s(Math.floor(25*Math.random()))]);case 3:return l.sent(),w.setItemSync(S,JSON.stringify({id:this.id,iat:d,timeoutKey:P,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,s(30)];case 4:return l.sent(),(_=w.getItemSync(S))!==null&&(v=JSON.parse(_)).id===this.id&&v.iat===d?(this.acquiredIatSet.add(d),this.refreshLockWhileAcquired(S,d),[2,!0]):[3,7];case 5:return u.lockCorrector(this.storageHandler===void 0?a:this.storageHandler),[4,this.waitForSomethingToChange(b)];case 6:l.sent(),l.label=7;case 7:return d=Date.now()+h(4),[3,1];case 8:return[2,!1]}})})},u.prototype.refreshLockWhileAcquired=function(c,p){return n(this,void 0,void 0,function(){var d=this;return r(this,function(b){return setTimeout(function(){return n(d,void 0,void 0,function(){var S,w,P;return r(this,function(_){switch(_.label){case 0:return[4,de.default().lock(p)];case 1:return _.sent(),this.acquiredIatSet.has(p)?(S=this.storageHandler===void 0?a:this.storageHandler,(w=S.getItemSync(c))===null?(de.default().unlock(p),[2]):((P=JSON.parse(w)).timeRefreshed=Date.now(),S.setItemSync(c,JSON.stringify(P)),de.default().unlock(p),this.refreshLockWhileAcquired(c,p),[2])):(de.default().unlock(p),[2])}})})},1e3),[2]})})},u.prototype.waitForSomethingToChange=function(c){return n(this,void 0,void 0,function(){return r(this,function(p){switch(p.label){case 0:return[4,new Promise(function(d){var b=!1,S=Date.now(),w=!1;function P(){if(w||(window.removeEventListener("storage",P),u.removeFromWaiting(P),clearTimeout(_),w=!0),!b){b=!0;var v=50-(Date.now()-S);v>0?setTimeout(d,v):d(null)}}window.addEventListener("storage",P),u.addToWaiting(P);var _=setTimeout(P,Math.max(0,c-Date.now()))})];case 1:return p.sent(),[2]}})})},u.addToWaiting=function(c){this.removeFromWaiting(c),u.waiters!==void 0&&u.waiters.push(c)},u.removeFromWaiting=function(c){u.waiters!==void 0&&(u.waiters=u.waiters.filter(function(p){return p!==c}))},u.notifyWaiters=function(){u.waiters!==void 0&&u.waiters.slice().forEach(function(c){return c()})},u.prototype.releaseLock=function(c){return n(this,void 0,void 0,function(){return r(this,function(p){switch(p.label){case 0:return[4,this.releaseLock__private__(c)];case 1:return[2,p.sent()]}})})},u.prototype.releaseLock__private__=function(c){return n(this,void 0,void 0,function(){var p,d,b,S;return r(this,function(w){switch(w.label){case 0:return p=this.storageHandler===void 0?a:this.storageHandler,d=o+"-"+c,(b=p.getItemSync(d))===null?[2]:(S=JSON.parse(b)).id!==this.id?[3,2]:[4,de.default().lock(S.iat)];case 1:w.sent(),this.acquiredIatSet.delete(S.iat),p.removeItemSync(d),de.default().unlock(S.iat),u.notifyWaiters(),w.label=2;case 2:return[2]}})})},u.lockCorrector=function(c){for(var p=Date.now()-5e3,d=c,b=[],S=0;;){var w=d.keySync(S);if(w===null)break;b.push(w),S++}for(var P=!1,_=0;_<b.length;_++){var v=b[_];if(v.includes(o)){var l=d.getItemSync(v);if(l!==null){var k=JSON.parse(l);(k.timeRefreshed===void 0&&k.timeAcquired<p||k.timeRefreshed!==void 0&&k.timeRefreshed<p)&&(d.removeItemSync(v),P=!0)}}}P&&u.notifyWaiters()},u.waiters=void 0,u}();e.default=f}));const Zr={timeoutInSeconds:60},Zn={name:"auth0-spa-js",version:"2.1.3"},Kn=()=>Date.now();let Y=class _t extends Error{constructor(e,n){super(n),this.error=e,this.error_description=n,Object.setPrototypeOf(this,_t.prototype)}static fromPayload({error:e,error_description:n}){return new _t(e,n)}},Kr=class Wn extends Y{constructor(e,n,r,i=null){super(e,n),this.state=r,this.appState=i,Object.setPrototypeOf(this,Wn.prototype)}},Et=class Fn extends Y{constructor(){super("timeout","Timeout"),Object.setPrototypeOf(this,Fn.prototype)}},Wr=class Hn extends Et{constructor(e){super(),this.popup=e,Object.setPrototypeOf(this,Hn.prototype)}},Fr=class Jn extends Y{constructor(e){super("cancelled","Popup closed"),this.popup=e,Object.setPrototypeOf(this,Jn.prototype)}},Hr=class Xn extends Y{constructor(e,n,r){super(e,n),this.mfa_token=r,Object.setPrototypeOf(this,Xn.prototype)}},Vn=class Yn extends Y{constructor(e,n){super("missing_refresh_token",`Missing Refresh Token (audience: '${Xt(e,["default"])}', scope: '${Xt(n)}')`),this.audience=e,this.scope=n,Object.setPrototypeOf(this,Yn.prototype)}};function Xt(t,e=[]){return t&&!e.includes(t)?t:""}const nt=()=>window.crypto,pt=()=>{const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.";let e="";return Array.from(nt().getRandomValues(new Uint8Array(43))).forEach(n=>e+=t[n%t.length]),e},Vt=t=>btoa(t),Pt=t=>{var{clientId:e}=t,n=te(t,["clientId"]);return new URLSearchParams((r=>Object.keys(r).filter(i=>r[i]!==void 0).reduce((i,o)=>Object.assign(Object.assign({},i),{[o]:r[o]}),{}))(Object.assign({client_id:e},n))).toString()},Yt=t=>(e=>decodeURIComponent(atob(e).split("").map(n=>"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)).join("")))(t.replace(/_/g,"/").replace(/-/g,"+")),Jr=async(t,e)=>{const n=await fetch(t,e);return{ok:n.ok,json:await n.json()}},Xr=async(t,e,n)=>{const r=new AbortController;let i;return e.signal=r.signal,Promise.race([Jr(t,e),new Promise((o,a)=>{i=setTimeout(()=>{r.abort(),a(new Error("Timeout when executing 'fetch'"))},n)})]).finally(()=>{clearTimeout(i)})},Vr=async(t,e,n,r,i,o,a)=>{return s={auth:{audience:e,scope:n},timeout:i,fetchUrl:t,fetchOptions:r,useFormData:a},h=o,new Promise(function(f,u){const c=new MessageChannel;c.port1.onmessage=function(p){p.data.error?u(new Error(p.data.error)):f(p.data),c.port1.close()},h.postMessage(s,[c.port2])});var s,h},Yr=async(t,e,n,r,i,o,a=1e4)=>i?Vr(t,e,n,r,a,i,o):Xr(t,r,a);async function Gr(t,e){var{baseUrl:n,timeout:r,audience:i,scope:o,auth0Client:a,useFormData:s}=t,h=te(t,["baseUrl","timeout","audience","scope","auth0Client","useFormData"]);const f=s?Pt(h):JSON.stringify(h);return await async function(u,c,p,d,b,S,w){let P,_=null;for(let C=0;C<3;C++)try{P=await Yr(u,p,d,b,S,w,c),_=null;break}catch(R){_=R}if(_)throw _;const v=P.json,{error:l,error_description:k}=v,T=te(v,["error","error_description"]),{ok:O}=P;if(!O){const C=k||`HTTP error. Unable to fetch ${u}`;throw l==="mfa_required"?new Hr(l,C,T.mfa_token):l==="missing_refresh_token"?new Vn(p,d):new Y(l||"request_error",C)}return T}(`${n}/oauth/token`,r,i||"default",o,{method:"POST",body:f,headers:{"Content-Type":s?"application/x-www-form-urlencoded":"application/json","Auth0-Client":btoa(JSON.stringify(a||Zn))}},e,s)}const Ve=(...t)=>{return(e=t.filter(Boolean).join(" ").trim().split(/\s+/),Array.from(new Set(e))).join(" ");var e};let me=class Tt{constructor(e,n="@@auth0spajs@@",r){this.prefix=n,this.suffix=r,this.clientId=e.clientId,this.scope=e.scope,this.audience=e.audience}toKey(){return[this.prefix,this.clientId,this.audience,this.scope,this.suffix].filter(Boolean).join("::")}static fromKey(e){const[n,r,i,o]=e.split("::");return new Tt({clientId:r,scope:o,audience:i},n)}static fromCacheEntry(e){const{scope:n,audience:r,client_id:i}=e;return new Tt({scope:n,audience:r,clientId:i})}},Br=class{set(e,n){localStorage.setItem(e,JSON.stringify(n))}get(e){const n=window.localStorage.getItem(e);if(n)try{return JSON.parse(n)}catch{return}}remove(e){localStorage.removeItem(e)}allKeys(){return Object.keys(window.localStorage).filter(e=>e.startsWith("@@auth0spajs@@"))}},Gn=class{constructor(){this.enclosedCache=function(){let e={};return{set(n,r){e[n]=r},get(n){const r=e[n];if(r)return r},remove(n){delete e[n]},allKeys:()=>Object.keys(e)}}()}},qr=class{constructor(e,n,r){this.cache=e,this.keyManifest=n,this.nowProvider=r||Kn}async setIdToken(e,n,r){var i;const o=this.getIdTokenCacheKey(e);await this.cache.set(o,{id_token:n,decodedToken:r}),await((i=this.keyManifest)===null||i===void 0?void 0:i.add(o))}async getIdToken(e){const n=await this.cache.get(this.getIdTokenCacheKey(e.clientId));if(!n&&e.scope&&e.audience){const r=await this.get(e);return!r||!r.id_token||!r.decodedToken?void 0:{id_token:r.id_token,decodedToken:r.decodedToken}}if(n)return{id_token:n.id_token,decodedToken:n.decodedToken}}async get(e,n=0){var r;let i=await this.cache.get(e.toKey());if(!i){const s=await this.getCacheKeys();if(!s)return;const h=this.matchExistingCacheKey(e,s);h&&(i=await this.cache.get(h))}if(!i)return;const o=await this.nowProvider(),a=Math.floor(o/1e3);return i.expiresAt-n<a?i.body.refresh_token?(i.body={refresh_token:i.body.refresh_token},await this.cache.set(e.toKey(),i),i.body):(await this.cache.remove(e.toKey()),void await((r=this.keyManifest)===null||r===void 0?void 0:r.remove(e.toKey()))):i.body}async set(e){var n;const r=new me({clientId:e.client_id,scope:e.scope,audience:e.audience}),i=await this.wrapCacheEntry(e);await this.cache.set(r.toKey(),i),await((n=this.keyManifest)===null||n===void 0?void 0:n.add(r.toKey()))}async clear(e){var n;const r=await this.getCacheKeys();r&&(await r.filter(i=>!e||i.includes(e)).reduce(async(i,o)=>{await i,await this.cache.remove(o)},Promise.resolve()),await((n=this.keyManifest)===null||n===void 0?void 0:n.clear()))}async wrapCacheEntry(e){const n=await this.nowProvider();return{body:e,expiresAt:Math.floor(n/1e3)+e.expires_in}}async getCacheKeys(){var e;return this.keyManifest?(e=await this.keyManifest.get())===null||e===void 0?void 0:e.keys:this.cache.allKeys?this.cache.allKeys():void 0}getIdTokenCacheKey(e){return new me({clientId:e},"@@auth0spajs@@","@@user@@").toKey()}matchExistingCacheKey(e,n){return n.filter(r=>{var i;const o=me.fromKey(r),a=new Set(o.scope&&o.scope.split(" ")),s=((i=e.scope)===null||i===void 0?void 0:i.split(" "))||[],h=o.scope&&s.reduce((f,u)=>f&&a.has(u),!0);return o.prefix==="@@auth0spajs@@"&&o.clientId===e.clientId&&o.audience===e.audience&&h})[0]}},Qr=class{constructor(e,n,r){this.storage=e,this.clientId=n,this.cookieDomain=r,this.storageKey=`a0.spajs.txs.${this.clientId}`}create(e){this.storage.save(this.storageKey,e,{daysUntilExpire:1,cookieDomain:this.cookieDomain})}get(){return this.storage.get(this.storageKey)}remove(){this.storage.remove(this.storageKey,{cookieDomain:this.cookieDomain})}};const Ne=t=>typeof t=="number",ei=["iss","aud","exp","nbf","iat","jti","azp","nonce","auth_time","at_hash","c_hash","acr","amr","sub_jwk","cnf","sip_from_tag","sip_date","sip_callid","sip_cseq_num","sip_via_branch","orig","dest","mky","events","toe","txn","rph","sid","vot","vtm"],ti=t=>{if(!t.id_token)throw new Error("ID token is required but missing");const e=(o=>{const a=o.split("."),[s,h,f]=a;if(a.length!==3||!s||!h||!f)throw new Error("ID token could not be decoded");const u=JSON.parse(Yt(h)),c={__raw:o},p={};return Object.keys(u).forEach(d=>{c[d]=u[d],ei.includes(d)||(p[d]=u[d])}),{encoded:{header:s,payload:h,signature:f},header:JSON.parse(Yt(s)),claims:c,user:p}})(t.id_token);if(!e.claims.iss)throw new Error("Issuer (iss) claim must be a string present in the ID token");if(e.claims.iss!==t.iss)throw new Error(`Issuer (iss) claim mismatch in the ID token; expected "${t.iss}", found "${e.claims.iss}"`);if(!e.user.sub)throw new Error("Subject (sub) claim must be a string present in the ID token");if(e.header.alg!=="RS256")throw new Error(`Signature algorithm of "${e.header.alg}" is not supported. Expected the ID token to be signed with "RS256".`);if(!e.claims.aud||typeof e.claims.aud!="string"&&!Array.isArray(e.claims.aud))throw new Error("Audience (aud) claim must be a string or array of strings present in the ID token");if(Array.isArray(e.claims.aud)){if(!e.claims.aud.includes(t.aud))throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but was not one of "${e.claims.aud.join(", ")}"`);if(e.claims.aud.length>1){if(!e.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(e.claims.azp!==t.aud)throw new Error(`Authorized Party (azp) claim mismatch in the ID token; expected "${t.aud}", found "${e.claims.azp}"`)}}else if(e.claims.aud!==t.aud)throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but found "${e.claims.aud}"`);if(t.nonce){if(!e.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(e.claims.nonce!==t.nonce)throw new Error(`Nonce (nonce) claim mismatch in the ID token; expected "${t.nonce}", found "${e.claims.nonce}"`)}if(t.max_age&&!Ne(e.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(e.claims.exp==null||!Ne(e.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!Ne(e.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");const n=t.leeway||60,r=new Date(t.now||Date.now()),i=new Date(0);if(i.setUTCSeconds(e.claims.exp+n),r>i)throw new Error(`Expiration Time (exp) claim error in the ID token; current time (${r}) is after expiration time (${i})`);if(e.claims.nbf!=null&&Ne(e.claims.nbf)){const o=new Date(0);if(o.setUTCSeconds(e.claims.nbf-n),r<o)throw new Error(`Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (${r}) is before ${o}`)}if(e.claims.auth_time!=null&&Ne(e.claims.auth_time)){const o=new Date(0);if(o.setUTCSeconds(parseInt(e.claims.auth_time)+t.max_age+n),r>o)throw new Error(`Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (${r}) is after last auth at ${o}`)}if(t.organization){const o=t.organization.trim();if(o.startsWith("org_")){const a=o;if(!e.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(a!==e.claims.org_id)throw new Error(`Organization ID (org_id) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_id}"`)}else{const a=o.toLowerCase();if(!e.claims.org_name)throw new Error("Organization Name (org_name) claim must be a string present in the ID token");if(a!==e.claims.org_name)throw new Error(`Organization Name (org_name) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_name}"`)}}return e};var ge=Ut(function(t,e){var n=he&&he.__assign||function(){return n=Object.assign||function(h){for(var f,u=1,c=arguments.length;u<c;u++)for(var p in f=arguments[u])Object.prototype.hasOwnProperty.call(f,p)&&(h[p]=f[p]);return h},n.apply(this,arguments)};function r(h,f){if(!f)return"";var u="; "+h;return f===!0?u:u+"="+f}function i(h,f,u){return encodeURIComponent(h).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\(/g,"%28").replace(/\)/g,"%29")+"="+encodeURIComponent(f).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(c){if(typeof c.expires=="number"){var p=new Date;p.setMilliseconds(p.getMilliseconds()+864e5*c.expires),c.expires=p}return r("Expires",c.expires?c.expires.toUTCString():"")+r("Domain",c.domain)+r("Path",c.path)+r("Secure",c.secure)+r("SameSite",c.sameSite)}(u)}function o(h){for(var f={},u=h?h.split("; "):[],c=/(%[\dA-F]{2})+/gi,p=0;p<u.length;p++){var d=u[p].split("="),b=d.slice(1).join("=");b.charAt(0)==='"'&&(b=b.slice(1,-1));try{f[d[0].replace(c,decodeURIComponent)]=b.replace(c,decodeURIComponent)}catch{}}return f}function a(){return o(document.cookie)}function s(h,f,u){document.cookie=i(h,f,n({path:"/"},u))}e.__esModule=!0,e.encode=i,e.parse=o,e.getAll=a,e.get=function(h){return a()[h]},e.set=s,e.remove=function(h,f){s(h,"",n(n({},f),{expires:-1}))}});Lt(ge),ge.encode,ge.parse,ge.getAll;var ni=ge.get,Bn=ge.set,qn=ge.remove;const Se={get(t){const e=ni(t);if(e!==void 0)return JSON.parse(e)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0,sameSite:"none"}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),Bn(t,JSON.stringify(e),r)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),qn(t,n)}},ri={get(t){return Se.get(t)||Se.get(`_legacy_${t}`)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),Bn(`_legacy_${t}`,JSON.stringify(e),r),Se.save(t,e,n)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),qn(t,n),Se.remove(t,e),Se.remove(`_legacy_${t}`,e)}},ii={get(t){if(typeof sessionStorage>"u")return;const e=sessionStorage.getItem(t);return e!=null?JSON.parse(e):void 0},save(t,e){sessionStorage.setItem(t,JSON.stringify(e))},remove(t){sessionStorage.removeItem(t)}};function oi(t,e,n){var r=e===void 0?null:e,i=function(h,f){var u=atob(h);if(f){for(var c=new Uint8Array(u.length),p=0,d=u.length;p<d;++p)c[p]=u.charCodeAt(p);return String.fromCharCode.apply(null,new Uint16Array(c.buffer))}return u}(t,n!==void 0&&n),o=i.indexOf(`
2
- `,10)+1,a=i.substring(o)+(r?"//# sourceMappingURL="+r:""),s=new Blob([a],{type:"application/javascript"});return URL.createObjectURL(s)}var Gt,Bt,qt,mt,ai=(Gt="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+YCR7ZX18JHt0fWA7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jKHtkYXRhOnt0aW1lb3V0OmUsYXV0aDpyLGZldGNoVXJsOmksZmV0Y2hPcHRpb25zOmMsdXNlRm9ybURhdGE6YX0scG9ydHM6W3BdfSk9PntsZXQgZjtjb25zdHthdWRpZW5jZTp1LHNjb3BlOmx9PXJ8fHt9O3RyeXtjb25zdCByPWE/KGU9Pntjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMoZSkscj17fTtyZXR1cm4gdC5mb3JFYWNoKCgoZSx0KT0+e3JbdF09ZX0pKSxyfSkoYy5ib2R5KTpKU09OLnBhcnNlKGMuYm9keSk7aWYoIXIucmVmcmVzaF90b2tlbiYmInJlZnJlc2hfdG9rZW4iPT09ci5ncmFudF90eXBlKXtjb25zdCBlPSgoZSx0KT0+b1tuKGUsdCldKSh1LGwpO2lmKCFlKXRocm93IG5ldyB0KHUsbCk7Yy5ib2R5PWE/cyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKTpKU09OLnN0cmluZ2lmeShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKX1sZXQgaCxnOyJmdW5jdGlvbiI9PXR5cGVvZiBBYm9ydENvbnRyb2xsZXImJihoPW5ldyBBYm9ydENvbnRyb2xsZXIsYy5zaWduYWw9aC5zaWduYWwpO3RyeXtnPWF3YWl0IFByb21pc2UucmFjZShbKGQ9ZSxuZXcgUHJvbWlzZSgoZT0+c2V0VGltZW91dChlLGQpKSkpLGZldGNoKGksT2JqZWN0LmFzc2lnbih7fSxjKSldKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBwLnBvc3RNZXNzYWdlKHtlcnJvcjplLm1lc3NhZ2V9KX1pZighZylyZXR1cm4gaCYmaC5hYm9ydCgpLHZvaWQgcC5wb3N0TWVzc2FnZSh7ZXJyb3I6IlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyJ9KTtmPWF3YWl0IGcuanNvbigpLGYucmVmcmVzaF90b2tlbj8oKChlLHQscik9PntvW24odCxyKV09ZX0pKGYucmVmcmVzaF90b2tlbix1LGwpLGRlbGV0ZSBmLnJlZnJlc2hfdG9rZW4pOigoZSx0KT0+e2RlbGV0ZSBvW24oZSx0KV19KSh1LGwpLHAucG9zdE1lc3NhZ2Uoe29rOmcub2ssanNvbjpmfSl9Y2F0Y2goZSl7cC5wb3N0TWVzc2FnZSh7b2s6ITEsanNvbjp7ZXJyb3I6ZS5lcnJvcixlcnJvcl9kZXNjcmlwdGlvbjplLm1lc3NhZ2V9fSl9dmFyIGR9KSl9KCk7Cgo=",Bt=null,qt=!1,function(t){return mt=mt||oi(Gt,Bt,qt),new Worker(mt,t)});const gt={};let si=class{constructor(e,n){this.cache=e,this.clientId=n,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(e){var n;const r=new Set(((n=await this.cache.get(this.manifestKey))===null||n===void 0?void 0:n.keys)||[]);r.add(e),await this.cache.set(this.manifestKey,{keys:[...r]})}async remove(e){const n=await this.cache.get(this.manifestKey);if(n){const r=new Set(n.keys);return r.delete(e),r.size>0?await this.cache.set(this.manifestKey,{keys:[...r]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(e){return`@@auth0spajs@@::${e}`}};const ci={memory:()=>new Gn().enclosedCache,localstorage:()=>new Br},Qt=t=>ci[t],en=t=>{const{openUrl:e,onRedirect:n}=t,r=te(t,["openUrl","onRedirect"]);return Object.assign(Object.assign({},r),{openUrl:e===!1||e?e:n})},yt=new Mr;let ui=class{constructor(e){let n,r;if(this.userCache=new Gn().enclosedCache,this.defaultOptions={authorizationParams:{scope:"openid profile email"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{await yt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),e),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),e.authorizationParams)}),typeof window<"u"&&(()=>{if(!nt())throw new Error("For security reasons, `window.crypto` is required to run `auth0-spa-js`.");if(nt().subtle===void 0)throw new Error(`
1
+ "use strict";var Dr=Object.defineProperty;var Mr=(t,e,n)=>e in t?Dr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var B=(t,e,n)=>Mr(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function ue(t,e){const n=new CustomEvent(t,{detail:e,bubbles:!0,composed:!0});dispatchEvent(n)}function te(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n}var he=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Lt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Ut(t,e){return t(e={exports:{}},e.exports),e.exports}var de=Ut(function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function r(){var i=this;this.locked=new Map,this.addToLocked=function(o,a){var s=i.locked.get(o);s===void 0?a===void 0?i.locked.set(o,[]):i.locked.set(o,[a]):a!==void 0&&(s.unshift(a),i.locked.set(o,s))},this.isLocked=function(o){return i.locked.has(o)},this.lock=function(o){return new Promise(function(a,s){i.isLocked(o)?i.addToLocked(o,a):(i.addToLocked(o),a())})},this.unlock=function(o){var a=i.locked.get(o);if(a!==void 0&&a.length!==0){var s=a.pop();i.locked.set(o,a),s!==void 0&&setTimeout(s,0)}else i.locked.delete(o)}}return r.getInstance=function(){return r.instance===void 0&&(r.instance=new r),r.instance},r}();e.default=function(){return n.getInstance()}});Lt(de);var Zr=Lt(Ut(function(t,e){var n=he&&he.__awaiter||function(u,c,p,d){return new(p||(p=Promise))(function(b,S){function v(w){try{_(d.next(w))}catch(l){S(l)}}function P(w){try{_(d.throw(w))}catch(l){S(l)}}function _(w){w.done?b(w.value):new p(function(l){l(w.value)}).then(v,P)}_((d=d.apply(u,c||[])).next())})},r=he&&he.__generator||function(u,c){var p,d,b,S,v={label:0,sent:function(){if(1&b[0])throw b[1];return b[1]},trys:[],ops:[]};return S={next:P(0),throw:P(1),return:P(2)},typeof Symbol=="function"&&(S[Symbol.iterator]=function(){return this}),S;function P(_){return function(w){return function(l){if(p)throw new TypeError("Generator is already executing.");for(;v;)try{if(p=1,d&&(b=2&l[0]?d.return:l[0]?d.throw||((b=d.return)&&b.call(d),0):d.next)&&!(b=b.call(d,l[1])).done)return b;switch(d=0,b&&(l=[2&l[0],b.value]),l[0]){case 0:case 1:b=l;break;case 4:return v.label++,{value:l[1],done:!1};case 5:v.label++,d=l[1],l=[0];continue;case 7:l=v.ops.pop(),v.trys.pop();continue;default:if(b=v.trys,!((b=b.length>0&&b[b.length-1])||l[0]!==6&&l[0]!==2)){v=0;continue}if(l[0]===3&&(!b||l[1]>b[0]&&l[1]<b[3])){v.label=l[1];break}if(l[0]===6&&v.label<b[1]){v.label=b[1],b=l;break}if(b&&v.label<b[2]){v.label=b[2],v.ops.push(l);break}b[2]&&v.ops.pop(),v.trys.pop();continue}l=c.call(u,v)}catch(k){l=[6,k],d=0}finally{p=b=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([_,w])}}},i=he;Object.defineProperty(e,"__esModule",{value:!0});var o="browser-tabs-lock-key",a={key:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},getItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},clear:function(){return n(i,void 0,void 0,function(){return r(this,function(u){return[2,window.localStorage.clear()]})})},removeItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},setItem:function(u,c){return n(i,void 0,void 0,function(){return r(this,function(p){throw new Error("Unsupported")})})},keySync:function(u){return window.localStorage.key(u)},getItemSync:function(u){return window.localStorage.getItem(u)},clearSync:function(){return window.localStorage.clear()},removeItemSync:function(u){return window.localStorage.removeItem(u)},setItemSync:function(u,c){return window.localStorage.setItem(u,c)}};function s(u){return new Promise(function(c){return setTimeout(c,u)})}function h(u){for(var c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",p="",d=0;d<u;d++)p+=c[Math.floor(Math.random()*c.length)];return p}var f=function(){function u(c){this.acquiredIatSet=new Set,this.storageHandler=void 0,this.id=Date.now().toString()+h(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),this.storageHandler=c,u.waiters===void 0&&(u.waiters=[])}return u.prototype.acquireLock=function(c,p){return p===void 0&&(p=5e3),n(this,void 0,void 0,function(){var d,b,S,v,P,_,w;return r(this,function(l){switch(l.label){case 0:d=Date.now()+h(4),b=Date.now()+p,S=o+"-"+c,v=this.storageHandler===void 0?a:this.storageHandler,l.label=1;case 1:return Date.now()<b?[4,s(30)]:[3,8];case 2:return l.sent(),v.getItemSync(S)!==null?[3,5]:(P=this.id+"-"+c+"-"+d,[4,s(Math.floor(25*Math.random()))]);case 3:return l.sent(),v.setItemSync(S,JSON.stringify({id:this.id,iat:d,timeoutKey:P,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,s(30)];case 4:return l.sent(),(_=v.getItemSync(S))!==null&&(w=JSON.parse(_)).id===this.id&&w.iat===d?(this.acquiredIatSet.add(d),this.refreshLockWhileAcquired(S,d),[2,!0]):[3,7];case 5:return u.lockCorrector(this.storageHandler===void 0?a:this.storageHandler),[4,this.waitForSomethingToChange(b)];case 6:l.sent(),l.label=7;case 7:return d=Date.now()+h(4),[3,1];case 8:return[2,!1]}})})},u.prototype.refreshLockWhileAcquired=function(c,p){return n(this,void 0,void 0,function(){var d=this;return r(this,function(b){return setTimeout(function(){return n(d,void 0,void 0,function(){var S,v,P;return r(this,function(_){switch(_.label){case 0:return[4,de.default().lock(p)];case 1:return _.sent(),this.acquiredIatSet.has(p)?(S=this.storageHandler===void 0?a:this.storageHandler,(v=S.getItemSync(c))===null?(de.default().unlock(p),[2]):((P=JSON.parse(v)).timeRefreshed=Date.now(),S.setItemSync(c,JSON.stringify(P)),de.default().unlock(p),this.refreshLockWhileAcquired(c,p),[2])):(de.default().unlock(p),[2])}})})},1e3),[2]})})},u.prototype.waitForSomethingToChange=function(c){return n(this,void 0,void 0,function(){return r(this,function(p){switch(p.label){case 0:return[4,new Promise(function(d){var b=!1,S=Date.now(),v=!1;function P(){if(v||(window.removeEventListener("storage",P),u.removeFromWaiting(P),clearTimeout(_),v=!0),!b){b=!0;var w=50-(Date.now()-S);w>0?setTimeout(d,w):d(null)}}window.addEventListener("storage",P),u.addToWaiting(P);var _=setTimeout(P,Math.max(0,c-Date.now()))})];case 1:return p.sent(),[2]}})})},u.addToWaiting=function(c){this.removeFromWaiting(c),u.waiters!==void 0&&u.waiters.push(c)},u.removeFromWaiting=function(c){u.waiters!==void 0&&(u.waiters=u.waiters.filter(function(p){return p!==c}))},u.notifyWaiters=function(){u.waiters!==void 0&&u.waiters.slice().forEach(function(c){return c()})},u.prototype.releaseLock=function(c){return n(this,void 0,void 0,function(){return r(this,function(p){switch(p.label){case 0:return[4,this.releaseLock__private__(c)];case 1:return[2,p.sent()]}})})},u.prototype.releaseLock__private__=function(c){return n(this,void 0,void 0,function(){var p,d,b,S;return r(this,function(v){switch(v.label){case 0:return p=this.storageHandler===void 0?a:this.storageHandler,d=o+"-"+c,(b=p.getItemSync(d))===null?[2]:(S=JSON.parse(b)).id!==this.id?[3,2]:[4,de.default().lock(S.iat)];case 1:v.sent(),this.acquiredIatSet.delete(S.iat),p.removeItemSync(d),de.default().unlock(S.iat),u.notifyWaiters(),v.label=2;case 2:return[2]}})})},u.lockCorrector=function(c){for(var p=Date.now()-5e3,d=c,b=[],S=0;;){var v=d.keySync(S);if(v===null)break;b.push(v),S++}for(var P=!1,_=0;_<b.length;_++){var w=b[_];if(w.includes(o)){var l=d.getItemSync(w);if(l!==null){var k=JSON.parse(l);(k.timeRefreshed===void 0&&k.timeAcquired<p||k.timeRefreshed!==void 0&&k.timeRefreshed<p)&&(d.removeItemSync(w),P=!0)}}}P&&u.notifyWaiters()},u.waiters=void 0,u}();e.default=f}));const Hr={timeoutInSeconds:60},Kn={name:"auth0-spa-js",version:"2.1.3"},Wn=()=>Date.now();let Y=class _t extends Error{constructor(e,n){super(n),this.error=e,this.error_description=n,Object.setPrototypeOf(this,_t.prototype)}static fromPayload({error:e,error_description:n}){return new _t(e,n)}},Kr=class Fn extends Y{constructor(e,n,r,i=null){super(e,n),this.state=r,this.appState=i,Object.setPrototypeOf(this,Fn.prototype)}},Et=class Jn extends Y{constructor(){super("timeout","Timeout"),Object.setPrototypeOf(this,Jn.prototype)}},Wr=class Xn extends Et{constructor(e){super(),this.popup=e,Object.setPrototypeOf(this,Xn.prototype)}},Fr=class Vn extends Y{constructor(e){super("cancelled","Popup closed"),this.popup=e,Object.setPrototypeOf(this,Vn.prototype)}},Jr=class Yn extends Y{constructor(e,n,r){super(e,n),this.mfa_token=r,Object.setPrototypeOf(this,Yn.prototype)}},Gn=class Bn extends Y{constructor(e,n){super("missing_refresh_token",`Missing Refresh Token (audience: '${Vt(e,["default"])}', scope: '${Vt(n)}')`),this.audience=e,this.scope=n,Object.setPrototypeOf(this,Bn.prototype)}};function Vt(t,e=[]){return t&&!e.includes(t)?t:""}const nt=()=>window.crypto,pt=()=>{const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.";let e="";return Array.from(nt().getRandomValues(new Uint8Array(43))).forEach(n=>e+=t[n%t.length]),e},Yt=t=>btoa(t),Pt=t=>{var{clientId:e}=t,n=te(t,["clientId"]);return new URLSearchParams((r=>Object.keys(r).filter(i=>r[i]!==void 0).reduce((i,o)=>Object.assign(Object.assign({},i),{[o]:r[o]}),{}))(Object.assign({client_id:e},n))).toString()},Gt=t=>(e=>decodeURIComponent(atob(e).split("").map(n=>"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)).join("")))(t.replace(/_/g,"/").replace(/-/g,"+")),Xr=async(t,e)=>{const n=await fetch(t,e);return{ok:n.ok,json:await n.json()}},Vr=async(t,e,n)=>{const r=new AbortController;let i;return e.signal=r.signal,Promise.race([Xr(t,e),new Promise((o,a)=>{i=setTimeout(()=>{r.abort(),a(new Error("Timeout when executing 'fetch'"))},n)})]).finally(()=>{clearTimeout(i)})},Yr=async(t,e,n,r,i,o,a)=>{return s={auth:{audience:e,scope:n},timeout:i,fetchUrl:t,fetchOptions:r,useFormData:a},h=o,new Promise(function(f,u){const c=new MessageChannel;c.port1.onmessage=function(p){p.data.error?u(new Error(p.data.error)):f(p.data),c.port1.close()},h.postMessage(s,[c.port2])});var s,h},Gr=async(t,e,n,r,i,o,a=1e4)=>i?Yr(t,e,n,r,a,i,o):Vr(t,r,a);async function Br(t,e){var{baseUrl:n,timeout:r,audience:i,scope:o,auth0Client:a,useFormData:s}=t,h=te(t,["baseUrl","timeout","audience","scope","auth0Client","useFormData"]);const f=s?Pt(h):JSON.stringify(h);return await async function(u,c,p,d,b,S,v){let P,_=null;for(let C=0;C<3;C++)try{P=await Gr(u,p,d,b,S,v,c),_=null;break}catch(N){_=N}if(_)throw _;const w=P.json,{error:l,error_description:k}=w,T=te(w,["error","error_description"]),{ok:O}=P;if(!O){const C=k||`HTTP error. Unable to fetch ${u}`;throw l==="mfa_required"?new Jr(l,C,T.mfa_token):l==="missing_refresh_token"?new Gn(p,d):new Y(l||"request_error",C)}return T}(`${n}/oauth/token`,r,i||"default",o,{method:"POST",body:f,headers:{"Content-Type":s?"application/x-www-form-urlencoded":"application/json","Auth0-Client":btoa(JSON.stringify(a||Kn))}},e,s)}const Ve=(...t)=>{return(e=t.filter(Boolean).join(" ").trim().split(/\s+/),Array.from(new Set(e))).join(" ");var e};let me=class Tt{constructor(e,n="@@auth0spajs@@",r){this.prefix=n,this.suffix=r,this.clientId=e.clientId,this.scope=e.scope,this.audience=e.audience}toKey(){return[this.prefix,this.clientId,this.audience,this.scope,this.suffix].filter(Boolean).join("::")}static fromKey(e){const[n,r,i,o]=e.split("::");return new Tt({clientId:r,scope:o,audience:i},n)}static fromCacheEntry(e){const{scope:n,audience:r,client_id:i}=e;return new Tt({scope:n,audience:r,clientId:i})}},qr=class{set(e,n){localStorage.setItem(e,JSON.stringify(n))}get(e){const n=window.localStorage.getItem(e);if(n)try{return JSON.parse(n)}catch{return}}remove(e){localStorage.removeItem(e)}allKeys(){return Object.keys(window.localStorage).filter(e=>e.startsWith("@@auth0spajs@@"))}},qn=class{constructor(){this.enclosedCache=function(){let e={};return{set(n,r){e[n]=r},get(n){const r=e[n];if(r)return r},remove(n){delete e[n]},allKeys:()=>Object.keys(e)}}()}},Qr=class{constructor(e,n,r){this.cache=e,this.keyManifest=n,this.nowProvider=r||Wn}async setIdToken(e,n,r){var i;const o=this.getIdTokenCacheKey(e);await this.cache.set(o,{id_token:n,decodedToken:r}),await((i=this.keyManifest)===null||i===void 0?void 0:i.add(o))}async getIdToken(e){const n=await this.cache.get(this.getIdTokenCacheKey(e.clientId));if(!n&&e.scope&&e.audience){const r=await this.get(e);return!r||!r.id_token||!r.decodedToken?void 0:{id_token:r.id_token,decodedToken:r.decodedToken}}if(n)return{id_token:n.id_token,decodedToken:n.decodedToken}}async get(e,n=0){var r;let i=await this.cache.get(e.toKey());if(!i){const s=await this.getCacheKeys();if(!s)return;const h=this.matchExistingCacheKey(e,s);h&&(i=await this.cache.get(h))}if(!i)return;const o=await this.nowProvider(),a=Math.floor(o/1e3);return i.expiresAt-n<a?i.body.refresh_token?(i.body={refresh_token:i.body.refresh_token},await this.cache.set(e.toKey(),i),i.body):(await this.cache.remove(e.toKey()),void await((r=this.keyManifest)===null||r===void 0?void 0:r.remove(e.toKey()))):i.body}async set(e){var n;const r=new me({clientId:e.client_id,scope:e.scope,audience:e.audience}),i=await this.wrapCacheEntry(e);await this.cache.set(r.toKey(),i),await((n=this.keyManifest)===null||n===void 0?void 0:n.add(r.toKey()))}async clear(e){var n;const r=await this.getCacheKeys();r&&(await r.filter(i=>!e||i.includes(e)).reduce(async(i,o)=>{await i,await this.cache.remove(o)},Promise.resolve()),await((n=this.keyManifest)===null||n===void 0?void 0:n.clear()))}async wrapCacheEntry(e){const n=await this.nowProvider();return{body:e,expiresAt:Math.floor(n/1e3)+e.expires_in}}async getCacheKeys(){var e;return this.keyManifest?(e=await this.keyManifest.get())===null||e===void 0?void 0:e.keys:this.cache.allKeys?this.cache.allKeys():void 0}getIdTokenCacheKey(e){return new me({clientId:e},"@@auth0spajs@@","@@user@@").toKey()}matchExistingCacheKey(e,n){return n.filter(r=>{var i;const o=me.fromKey(r),a=new Set(o.scope&&o.scope.split(" ")),s=((i=e.scope)===null||i===void 0?void 0:i.split(" "))||[],h=o.scope&&s.reduce((f,u)=>f&&a.has(u),!0);return o.prefix==="@@auth0spajs@@"&&o.clientId===e.clientId&&o.audience===e.audience&&h})[0]}},ei=class{constructor(e,n,r){this.storage=e,this.clientId=n,this.cookieDomain=r,this.storageKey=`a0.spajs.txs.${this.clientId}`}create(e){this.storage.save(this.storageKey,e,{daysUntilExpire:1,cookieDomain:this.cookieDomain})}get(){return this.storage.get(this.storageKey)}remove(){this.storage.remove(this.storageKey,{cookieDomain:this.cookieDomain})}};const Re=t=>typeof t=="number",ti=["iss","aud","exp","nbf","iat","jti","azp","nonce","auth_time","at_hash","c_hash","acr","amr","sub_jwk","cnf","sip_from_tag","sip_date","sip_callid","sip_cseq_num","sip_via_branch","orig","dest","mky","events","toe","txn","rph","sid","vot","vtm"],ni=t=>{if(!t.id_token)throw new Error("ID token is required but missing");const e=(o=>{const a=o.split("."),[s,h,f]=a;if(a.length!==3||!s||!h||!f)throw new Error("ID token could not be decoded");const u=JSON.parse(Gt(h)),c={__raw:o},p={};return Object.keys(u).forEach(d=>{c[d]=u[d],ti.includes(d)||(p[d]=u[d])}),{encoded:{header:s,payload:h,signature:f},header:JSON.parse(Gt(s)),claims:c,user:p}})(t.id_token);if(!e.claims.iss)throw new Error("Issuer (iss) claim must be a string present in the ID token");if(e.claims.iss!==t.iss)throw new Error(`Issuer (iss) claim mismatch in the ID token; expected "${t.iss}", found "${e.claims.iss}"`);if(!e.user.sub)throw new Error("Subject (sub) claim must be a string present in the ID token");if(e.header.alg!=="RS256")throw new Error(`Signature algorithm of "${e.header.alg}" is not supported. Expected the ID token to be signed with "RS256".`);if(!e.claims.aud||typeof e.claims.aud!="string"&&!Array.isArray(e.claims.aud))throw new Error("Audience (aud) claim must be a string or array of strings present in the ID token");if(Array.isArray(e.claims.aud)){if(!e.claims.aud.includes(t.aud))throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but was not one of "${e.claims.aud.join(", ")}"`);if(e.claims.aud.length>1){if(!e.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(e.claims.azp!==t.aud)throw new Error(`Authorized Party (azp) claim mismatch in the ID token; expected "${t.aud}", found "${e.claims.azp}"`)}}else if(e.claims.aud!==t.aud)throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but found "${e.claims.aud}"`);if(t.nonce){if(!e.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(e.claims.nonce!==t.nonce)throw new Error(`Nonce (nonce) claim mismatch in the ID token; expected "${t.nonce}", found "${e.claims.nonce}"`)}if(t.max_age&&!Re(e.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(e.claims.exp==null||!Re(e.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!Re(e.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");const n=t.leeway||60,r=new Date(t.now||Date.now()),i=new Date(0);if(i.setUTCSeconds(e.claims.exp+n),r>i)throw new Error(`Expiration Time (exp) claim error in the ID token; current time (${r}) is after expiration time (${i})`);if(e.claims.nbf!=null&&Re(e.claims.nbf)){const o=new Date(0);if(o.setUTCSeconds(e.claims.nbf-n),r<o)throw new Error(`Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (${r}) is before ${o}`)}if(e.claims.auth_time!=null&&Re(e.claims.auth_time)){const o=new Date(0);if(o.setUTCSeconds(parseInt(e.claims.auth_time)+t.max_age+n),r>o)throw new Error(`Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (${r}) is after last auth at ${o}`)}if(t.organization){const o=t.organization.trim();if(o.startsWith("org_")){const a=o;if(!e.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(a!==e.claims.org_id)throw new Error(`Organization ID (org_id) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_id}"`)}else{const a=o.toLowerCase();if(!e.claims.org_name)throw new Error("Organization Name (org_name) claim must be a string present in the ID token");if(a!==e.claims.org_name)throw new Error(`Organization Name (org_name) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_name}"`)}}return e};var ge=Ut(function(t,e){var n=he&&he.__assign||function(){return n=Object.assign||function(h){for(var f,u=1,c=arguments.length;u<c;u++)for(var p in f=arguments[u])Object.prototype.hasOwnProperty.call(f,p)&&(h[p]=f[p]);return h},n.apply(this,arguments)};function r(h,f){if(!f)return"";var u="; "+h;return f===!0?u:u+"="+f}function i(h,f,u){return encodeURIComponent(h).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\(/g,"%28").replace(/\)/g,"%29")+"="+encodeURIComponent(f).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(c){if(typeof c.expires=="number"){var p=new Date;p.setMilliseconds(p.getMilliseconds()+864e5*c.expires),c.expires=p}return r("Expires",c.expires?c.expires.toUTCString():"")+r("Domain",c.domain)+r("Path",c.path)+r("Secure",c.secure)+r("SameSite",c.sameSite)}(u)}function o(h){for(var f={},u=h?h.split("; "):[],c=/(%[\dA-F]{2})+/gi,p=0;p<u.length;p++){var d=u[p].split("="),b=d.slice(1).join("=");b.charAt(0)==='"'&&(b=b.slice(1,-1));try{f[d[0].replace(c,decodeURIComponent)]=b.replace(c,decodeURIComponent)}catch{}}return f}function a(){return o(document.cookie)}function s(h,f,u){document.cookie=i(h,f,n({path:"/"},u))}e.__esModule=!0,e.encode=i,e.parse=o,e.getAll=a,e.get=function(h){return a()[h]},e.set=s,e.remove=function(h,f){s(h,"",n(n({},f),{expires:-1}))}});Lt(ge),ge.encode,ge.parse,ge.getAll;var ri=ge.get,Qn=ge.set,er=ge.remove;const Se={get(t){const e=ri(t);if(e!==void 0)return JSON.parse(e)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0,sameSite:"none"}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),Qn(t,JSON.stringify(e),r)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),er(t,n)}},ii={get(t){return Se.get(t)||Se.get(`_legacy_${t}`)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),Qn(`_legacy_${t}`,JSON.stringify(e),r),Se.save(t,e,n)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),er(t,n),Se.remove(t,e),Se.remove(`_legacy_${t}`,e)}},oi={get(t){if(typeof sessionStorage>"u")return;const e=sessionStorage.getItem(t);return e!=null?JSON.parse(e):void 0},save(t,e){sessionStorage.setItem(t,JSON.stringify(e))},remove(t){sessionStorage.removeItem(t)}};function ai(t,e,n){var r=e===void 0?null:e,i=function(h,f){var u=atob(h);if(f){for(var c=new Uint8Array(u.length),p=0,d=u.length;p<d;++p)c[p]=u.charCodeAt(p);return String.fromCharCode.apply(null,new Uint16Array(c.buffer))}return u}(t,n!==void 0&&n),o=i.indexOf(`
2
+ `,10)+1,a=i.substring(o)+(r?"//# sourceMappingURL="+r:""),s=new Blob([a],{type:"application/javascript"});return URL.createObjectURL(s)}var Bt,qt,Qt,mt,si=(Bt="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+YCR7ZX18JHt0fWA7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jKHtkYXRhOnt0aW1lb3V0OmUsYXV0aDpyLGZldGNoVXJsOmksZmV0Y2hPcHRpb25zOmMsdXNlRm9ybURhdGE6YX0scG9ydHM6W3BdfSk9PntsZXQgZjtjb25zdHthdWRpZW5jZTp1LHNjb3BlOmx9PXJ8fHt9O3RyeXtjb25zdCByPWE/KGU9Pntjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMoZSkscj17fTtyZXR1cm4gdC5mb3JFYWNoKCgoZSx0KT0+e3JbdF09ZX0pKSxyfSkoYy5ib2R5KTpKU09OLnBhcnNlKGMuYm9keSk7aWYoIXIucmVmcmVzaF90b2tlbiYmInJlZnJlc2hfdG9rZW4iPT09ci5ncmFudF90eXBlKXtjb25zdCBlPSgoZSx0KT0+b1tuKGUsdCldKSh1LGwpO2lmKCFlKXRocm93IG5ldyB0KHUsbCk7Yy5ib2R5PWE/cyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKTpKU09OLnN0cmluZ2lmeShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKX1sZXQgaCxnOyJmdW5jdGlvbiI9PXR5cGVvZiBBYm9ydENvbnRyb2xsZXImJihoPW5ldyBBYm9ydENvbnRyb2xsZXIsYy5zaWduYWw9aC5zaWduYWwpO3RyeXtnPWF3YWl0IFByb21pc2UucmFjZShbKGQ9ZSxuZXcgUHJvbWlzZSgoZT0+c2V0VGltZW91dChlLGQpKSkpLGZldGNoKGksT2JqZWN0LmFzc2lnbih7fSxjKSldKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBwLnBvc3RNZXNzYWdlKHtlcnJvcjplLm1lc3NhZ2V9KX1pZighZylyZXR1cm4gaCYmaC5hYm9ydCgpLHZvaWQgcC5wb3N0TWVzc2FnZSh7ZXJyb3I6IlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyJ9KTtmPWF3YWl0IGcuanNvbigpLGYucmVmcmVzaF90b2tlbj8oKChlLHQscik9PntvW24odCxyKV09ZX0pKGYucmVmcmVzaF90b2tlbix1LGwpLGRlbGV0ZSBmLnJlZnJlc2hfdG9rZW4pOigoZSx0KT0+e2RlbGV0ZSBvW24oZSx0KV19KSh1LGwpLHAucG9zdE1lc3NhZ2Uoe29rOmcub2ssanNvbjpmfSl9Y2F0Y2goZSl7cC5wb3N0TWVzc2FnZSh7b2s6ITEsanNvbjp7ZXJyb3I6ZS5lcnJvcixlcnJvcl9kZXNjcmlwdGlvbjplLm1lc3NhZ2V9fSl9dmFyIGR9KSl9KCk7Cgo=",qt=null,Qt=!1,function(t){return mt=mt||ai(Bt,qt,Qt),new Worker(mt,t)});const gt={};let ci=class{constructor(e,n){this.cache=e,this.clientId=n,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(e){var n;const r=new Set(((n=await this.cache.get(this.manifestKey))===null||n===void 0?void 0:n.keys)||[]);r.add(e),await this.cache.set(this.manifestKey,{keys:[...r]})}async remove(e){const n=await this.cache.get(this.manifestKey);if(n){const r=new Set(n.keys);return r.delete(e),r.size>0?await this.cache.set(this.manifestKey,{keys:[...r]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(e){return`@@auth0spajs@@::${e}`}};const ui={memory:()=>new qn().enclosedCache,localstorage:()=>new qr},en=t=>ui[t],tn=t=>{const{openUrl:e,onRedirect:n}=t,r=te(t,["openUrl","onRedirect"]);return Object.assign(Object.assign({},r),{openUrl:e===!1||e?e:n})},yt=new Zr;let li=class{constructor(e){let n,r;if(this.userCache=new qn().enclosedCache,this.defaultOptions={authorizationParams:{scope:"openid profile email"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{await yt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),e),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),e.authorizationParams)}),typeof window<"u"&&(()=>{if(!nt())throw new Error("For security reasons, `window.crypto` is required to run `auth0-spa-js`.");if(nt().subtle===void 0)throw new Error(`
3
3
  auth0-spa-js must run on a secure origin. See https://github.com/auth0/auth0-spa-js/blob/main/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin for more information.
4
- `)})(),e.cache&&e.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),e.cache)r=e.cache;else{if(n=e.cacheLocation||"memory",!Qt(n))throw new Error(`Invalid cache location "${n}"`);r=Qt(n)()}this.httpTimeoutMs=e.httpTimeoutInSeconds?1e3*e.httpTimeoutInSeconds:1e4,this.cookieStorage=e.legacySameSiteCookie===!1?Se:ri,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(a=>`auth0.${a}.is.authenticated`)(this.options.clientId),this.sessionCheckExpiryDays=e.sessionCheckExpiryDays||1;const i=e.useCookiesForTransactions?this.cookieStorage:ii;var o;this.scope=Ve("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new Qr(i,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||Kn,this.cacheManager=new qr(r,r.allKeys?void 0:new si(r,this.options.clientId),this.nowProvider),this.domainUrl=(o=this.options.domain,/^https?:\/\//.test(o)?o:`https://${o}`),this.tokenIssuer=((a,s)=>a?a.startsWith("https://")?a:`https://${a}/`:`${s}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&n==="memory"&&(this.options.workerUrl?this.worker=new Worker(this.options.workerUrl):this.worker=new ai)}_url(e){const n=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||Zn)));return`${this.domainUrl}${e}&auth0Client=${n}`}_authorizeUrl(e){return this._url(`/authorize?${Pt(e)}`)}async _verifyIdToken(e,n,r){const i=await this.nowProvider();return ti({iss:this.tokenIssuer,aud:this.options.clientId,id_token:e,nonce:n,organization:r,leeway:this.options.leeway,max_age:(o=this.options.authorizationParams.max_age,typeof o!="string"?o:parseInt(o,10)||void 0),now:i});var o}_processOrgHint(e){e?this.cookieStorage.save(this.orgHintCookieName,e,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(e,n,r){const i=Vt(pt()),o=Vt(pt()),a=pt(),s=(u=>{const c=new Uint8Array(u);return(p=>{const d={"+":"-","/":"_","=":""};return p.replace(/[+/=]/g,b=>d[b])})(window.btoa(String.fromCharCode(...Array.from(c))))})(await(async u=>await nt().subtle.digest({name:"SHA-256"},new TextEncoder().encode(u)))(a)),h=((u,c,p,d,b,S,w,P)=>Object.assign(Object.assign(Object.assign({client_id:u.clientId},u.authorizationParams),p),{scope:Ve(c,p.scope),response_type:"code",response_mode:P||"query",state:d,nonce:b,redirect_uri:w||u.authorizationParams.redirect_uri,code_challenge:S,code_challenge_method:"S256"}))(this.options,this.scope,e,i,o,s,e.redirect_uri||this.options.authorizationParams.redirect_uri||r,n==null?void 0:n.response_mode),f=this._authorizeUrl(h);return{nonce:o,code_verifier:a,scope:h.scope,audience:h.audience||"default",redirect_uri:h.redirect_uri,state:i,url:f}}async loginWithPopup(e,n){var r;if(e=e||{},!(n=n||{}).popup&&(n.popup=(s=>{const h=window.screenX+(window.innerWidth-400)/2,f=window.screenY+(window.innerHeight-600)/2;return window.open(s,"auth0:authorize:popup",`left=${h},top=${f},width=400,height=600,resizable,scrollbars=yes,status=1`)})(""),!n.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const i=await this._prepareAuthorizeUrl(e.authorizationParams||{},{response_mode:"web_message"},window.location.origin);n.popup.location.href=i.url;const o=await(s=>new Promise((h,f)=>{let u;const c=setInterval(()=>{s.popup&&s.popup.closed&&(clearInterval(c),clearTimeout(p),window.removeEventListener("message",u,!1),f(new Fr(s.popup)))},1e3),p=setTimeout(()=>{clearInterval(c),f(new Wr(s.popup)),window.removeEventListener("message",u,!1)},1e3*(s.timeoutInSeconds||60));u=function(d){if(d.data&&d.data.type==="authorization_response"){if(clearTimeout(p),clearInterval(c),window.removeEventListener("message",u,!1),s.popup.close(),d.data.response.error)return f(Y.fromPayload(d.data.response));h(d.data.response)}},window.addEventListener("message",u)}))(Object.assign(Object.assign({},n),{timeoutInSeconds:n.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(i.state!==o.state)throw new Y("state_mismatch","Invalid state");const a=((r=e.authorizationParams)===null||r===void 0?void 0:r.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:i.audience,scope:i.scope,code_verifier:i.code_verifier,grant_type:"authorization_code",code:o.code,redirect_uri:i.redirect_uri},{nonceIn:i.nonce,organization:a})}async getUser(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.user}async getIdTokenClaims(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.claims}async loginWithRedirect(e={}){var n;const r=en(e),{openUrl:i,fragment:o,appState:a}=r,s=te(r,["openUrl","fragment","appState"]),h=((n=s.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization,f=await this._prepareAuthorizeUrl(s.authorizationParams||{}),{url:u}=f,c=te(f,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},c),{appState:a}),h&&{organization:h}));const p=o?`${u}#${o}`:u;i?await i(p):window.location.assign(p)}async handleRedirectCallback(e=window.location.href){const n=e.split("?").slice(1);if(n.length===0)throw new Error("There are no query params available for parsing.");const{state:r,code:i,error:o,error_description:a}=(c=>{c.indexOf("#")>-1&&(c=c.substring(0,c.indexOf("#")));const p=new URLSearchParams(c);return{state:p.get("state"),code:p.get("code")||void 0,error:p.get("error")||void 0,error_description:p.get("error_description")||void 0}})(n.join("")),s=this.transactionManager.get();if(!s)throw new Y("missing_transaction","Invalid state");if(this.transactionManager.remove(),o)throw new Kr(o,a||o,r,s.appState);if(!s.code_verifier||s.state&&s.state!==r)throw new Y("state_mismatch","Invalid state");const h=s.organization,f=s.nonce,u=s.redirect_uri;return await this._requestToken(Object.assign({audience:s.audience,scope:s.scope,code_verifier:s.code_verifier,grant_type:"authorization_code",code:i},u?{redirect_uri:u}:{}),{nonceIn:f,organization:h}),{appState:s.appState}}async checkSession(e){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get("auth0.is.authenticated"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove("auth0.is.authenticated")}try{await this.getTokenSilently(e)}catch{}}async getTokenSilently(e={}){var n;const r=Object.assign(Object.assign({cacheMode:"on"},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Ve(this.scope,(n=e.authorizationParams)===null||n===void 0?void 0:n.scope)})}),i=await((o,a)=>{let s=gt[a];return s||(s=o().finally(()=>{delete gt[a],s=null}),gt[a]=s),s})(()=>this._getTokenSilently(r),`${this.options.clientId}::${r.authorizationParams.audience}::${r.authorizationParams.scope}`);return e.detailedResponse?i:i==null?void 0:i.access_token}async _getTokenSilently(e){const{cacheMode:n}=e,r=te(e,["cacheMode"]);if(n!=="off"){const i=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(i)return i}if(n!=="cache-only"){if(!await(async(i,o=3)=>{for(let a=0;a<o;a++)if(await i())return!0;return!1})(()=>yt.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new Et;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),n!=="off"){const f=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(f)return f}const i=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(r):await this._getTokenFromIFrame(r),{id_token:o,access_token:a,oauthTokenScope:s,expires_in:h}=i;return Object.assign(Object.assign({id_token:o,access_token:a},s?{scope:s}:null),{expires_in:h})}finally{await yt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(e={},n={}){var r;const i=Object.assign(Object.assign({},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Ve(this.scope,(r=e.authorizationParams)===null||r===void 0?void 0:r.scope)})});return n=Object.assign(Object.assign({},Zr),n),await this.loginWithPopup(i,n),(await this.cacheManager.get(new me({scope:i.authorizationParams.scope,audience:i.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(e){e.clientId!==null?e.clientId=e.clientId||this.options.clientId:delete e.clientId;const n=e.logoutParams||{},{federated:r}=n,i=te(n,["federated"]),o=r?"&federated":"";return this._url(`/v2/logout?${Pt(Object.assign({clientId:e.clientId},i))}`)+o}async logout(e={}){const n=en(e),{openUrl:r}=n,i=te(n,["openUrl"]);e.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(e.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove("@@user@@");const o=this._buildLogoutUrl(i);r?await r(o):r!==!1&&window.location.assign(o)}async _getTokenFromIFrame(e){const n=Object.assign(Object.assign({},e.authorizationParams),{prompt:"none"}),r=this.cookieStorage.get(this.orgHintCookieName);r&&!n.organization&&(n.organization=r);const{url:i,state:o,nonce:a,code_verifier:s,redirect_uri:h,scope:f,audience:u}=await this._prepareAuthorizeUrl(n,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new Y("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const c=e.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,p=await((b,S,w=60)=>new Promise((P,_)=>{const v=window.document.createElement("iframe");v.setAttribute("width","0"),v.setAttribute("height","0"),v.style.display="none";const l=()=>{window.document.body.contains(v)&&(window.document.body.removeChild(v),window.removeEventListener("message",k,!1))};let k;const T=setTimeout(()=>{_(new Et),l()},1e3*w);k=function(O){if(O.origin!=S||!O.data||O.data.type!=="authorization_response")return;const C=O.source;C&&C.close(),O.data.response.error?_(Y.fromPayload(O.data.response)):P(O.data.response),clearTimeout(T),window.removeEventListener("message",k,!1),setTimeout(l,2e3)},window.addEventListener("message",k,!1),window.document.body.appendChild(v),v.setAttribute("src",b)}))(i,this.domainUrl,c);if(o!==p.state)throw new Y("state_mismatch","Invalid state");const d=await this._requestToken(Object.assign(Object.assign({},e.authorizationParams),{code_verifier:s,code:p.code,grant_type:"authorization_code",redirect_uri:h,timeout:e.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:a,organization:n.organization});return Object.assign(Object.assign({},d),{scope:f,oauthTokenScope:d.scope,audience:u})}catch(c){throw c.error==="login_required"&&this.logout({openUrl:!1}),c}}async _getTokenUsingRefreshToken(e){const n=await this.cacheManager.get(new me({scope:e.authorizationParams.scope,audience:e.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(n&&n.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw new Vn(e.authorizationParams.audience||"default",e.authorizationParams.scope)}const r=e.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,i=typeof e.timeoutInSeconds=="number"?1e3*e.timeoutInSeconds:null;try{const o=await this._requestToken(Object.assign(Object.assign(Object.assign({},e.authorizationParams),{grant_type:"refresh_token",refresh_token:n&&n.refresh_token,redirect_uri:r}),i&&{timeout:i}));return Object.assign(Object.assign({},o),{scope:e.authorizationParams.scope,oauthTokenScope:o.scope,audience:e.authorizationParams.audience||"default"})}catch(o){if((o.message.indexOf("Missing Refresh Token")>-1||o.message&&o.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw o}}async _saveEntryInCache(e){const{id_token:n,decodedToken:r}=e,i=te(e,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:n,decodedToken:r}),await this.cacheManager.setIdToken(this.options.clientId,e.id_token,e.decodedToken),await this.cacheManager.set(i)}async _getIdTokenFromCache(){const e=this.options.authorizationParams.audience||"default",n=await this.cacheManager.getIdToken(new me({clientId:this.options.clientId,audience:e,scope:this.scope})),r=this.userCache.get("@@user@@");return n&&n.id_token===(r==null?void 0:r.id_token)?r:(this.userCache.set("@@user@@",n),n)}async _getEntryFromCache({scope:e,audience:n,clientId:r}){const i=await this.cacheManager.get(new me({scope:e,audience:n,clientId:r}),60);if(i&&i.access_token){const{access_token:o,oauthTokenScope:a,expires_in:s}=i,h=await this._getIdTokenFromCache();return h&&Object.assign(Object.assign({id_token:h.id_token,access_token:o},a?{scope:a}:null),{expires_in:s})}}async _requestToken(e,n){const{nonceIn:r,organization:i}=n||{},o=await Gr(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},e),this.worker),a=await this._verifyIdToken(o.id_token,r,i);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},o),{decodedToken:a,scope:e.scope,audience:e.audience||"default"}),o.scope?{oauthTokenScope:o.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(i||a.claims.org_id),Object.assign(Object.assign({},o),{decodedToken:a})}};async function li(t){const e=new ui(t);return await e.checkSession(),e}const fe="sesamy.com",di="https://sesa.my",hi="https://logs.sesamy.com/events",Ot="sesamyCacheTimestamp";var Q=(t=>(t.READY="sesamyJsReady",t.AUTHENTICATED="sesamyJsAuthenticated",t.LOGOUT="sesamyJsLogout",t.CLEAR_CACHE="sesamyJsClearCache",t.USER_ATTRIBUTE_CHANGED="sesamyUserAttributeChanged",t.PURCHASE="sesamyJsPurchase",t))(Q||{});let G,Qn;const Fe="sesamyAccessToken";function Nt(){const t=localStorage.getItem(Fe);if(!t)return null;const e=tr(t);return(!e||!e.exp||e.exp<new Date().getTime()/1e3)&&localStorage.removeItem(Fe),t}function fi(t){try{const e=new URL(t).hostname,n=e.split(".");return n.length>1?n.slice(-2).join("."):e}catch{return null}}async function pi(t){if(t.enabled===!1)return;Qn=t.organization;const e={domain:t.endpoint||`token.${fe}`,clientId:t.clientId,useCookiesForTransactions:!0};if(fi(window.location.href)!==fe&&(e.cacheLocation="localstorage",e.useRefreshTokens=!0),G=await li(e),window.location.search.includes("code="))try{await G.handleRedirectCallback();const n=await G.getUser();ue(Q.AUTHENTICATED,n);const r=new URL(location.href),i=r.searchParams;i.delete("code"),i.delete("state"),r.search=i.toString(),window.history.replaceState({},document.title,r.toString())}catch(n){console.error(n)}}async function er(){return Nt()?!0:G?G.isAuthenticated():!1}async function mi(){return Nt()?{sub:"local",name:"Local User"}:G?G.getUser():null}function Rt(t){if(localStorage.removeItem(Fe),!G)throw new Error("Auth0 client not initialized");const e=(t==null?void 0:t.authorizationParams)||{};return G.loginWithRedirect({...t,authorizationParams:{organization:Qn,redirect_uri:window.location.href,...e}})}async function Re(t=!0){const e=Nt();if(e)return e;try{return G?await G.getTokenSilently():null}catch(n){if(t)throw n;return null}}async function gi(t={}){if(localStorage.removeItem(Fe),ue(Q.LOGOUT,{}),!!G)return G.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function tr(t){const e=t.split(".");if(e.length!==3)return null;const r=e[1].replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(r).split("").map(function(o){return"%"+("00"+o.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}async function nr(t){const e=tr(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");localStorage.setItem(Fe,t),ue(Q.AUTHENTICATED,e)}const yi=(t,e)=>e.skipDedupe||e.method!=="GET",vi=(t,e)=>e.method+"@"+t,wi=t=>t.clone(),tn=({skip:t=yi,key:e=vi,resolver:n=wi}={})=>{const r=new Map;return i=>(o,a)=>{if(t(o,a))return i(o,a);const s=e(o,a);if(!r.has(s))r.set(s,[]);else return new Promise((h,f)=>{r.get(s).push([h,f])});try{return i(o,a).then(h=>(r.get(s).forEach(([f])=>f(n(h))),r.delete(s),h)).catch(h=>{throw r.get(s).forEach(([f,u])=>u(h)),r.delete(s),h})}catch(h){return r.delete(s),Promise.reject(h)}}},bi=(t,e)=>t*e,ki=t=>t&&t.ok,nn=({delayTimer:t=500,delayRamp:e=bi,maxAttempts:n=10,until:r=ki,onRetry:i=null,retryOnNetworkError:o=!1,resolveWithLatestResponse:a=!1,skip:s}={})=>h=>(f,u)=>{let c=0;if(s&&s(f,u))return h(f,u);const p=(d,b)=>Promise.resolve(r(d,b)).then(S=>S?d&&a?d:b?Promise.reject(b):d:(c++,!n||c<=n?new Promise(w=>{const P=e(t,c);setTimeout(()=>{typeof i=="function"?Promise.resolve(i({response:d,error:b,url:f,options:u})).then((_={})=>{var v,l;w(h((v=_&&_.url)!==null&&v!==void 0?v:f,(l=_&&_.options)!==null&&l!==void 0?l:u))}):w(h(f,u))},P)}).then(p).catch(w=>{if(!o)throw w;return p(null,w)}):d&&a?d:Promise.reject(b||new Error("Number of attempts exceeded."))));return h(f,u).then(p).catch(d=>{if(!o)throw d;return p(null,d)})},Ii="application/json",rr="Content-Type",Ie=Symbol(),ir=Symbol();function rn(t={}){var e;return(e=Object.entries(t).find(([n])=>n.toLowerCase()===rr.toLowerCase()))===null||e===void 0?void 0:e[1]}function on(t){return/^application\/.*json.*/.test(t)}const ye=function(t,e,n=!1){return Object.entries(e).reduce((r,[i,o])=>{const a=t[i];return Array.isArray(a)&&Array.isArray(o)?r[i]=n?[...a,...o]:o:typeof a=="object"&&typeof o=="object"?r[i]=ye(a,o,n):r[i]=o,r},{...t})},je={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,n=!1,...r){const i=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!i)throw new Error(t+" is not defined");return n&&i?new i(...r):i}};function Si(t,e=!1){je.options=e?t:ye(je.options,t)}function _i(t,e=!1){je.polyfills=e?t:ye(je.polyfills,t)}function Ei(t){je.errorType=t}const Pi=t=>e=>t.reduceRight((n,r)=>r(n),e)||e;class or extends Error{}const Ti=t=>{const e=Object.create(null);t=t._addons.reduce((v,l)=>l.beforeRequest&&l.beforeRequest(v,t._options,e)||v,t);const{_url:n,_options:r,_config:i,_catchers:o,_resolvers:a,_middlewares:s,_addons:h}=t,f=new Map(o),u=ye(i.options,r);let c=n;const p=Pi(s)((v,l)=>(c=v,i.polyfill("fetch")(v,l)))(n,u),d=new Error,b=p.catch(v=>{throw{[Ie]:v}}).then(v=>{if(!v.ok){const l=new or;if(l.cause=d,l.stack=l.stack+`
5
- CAUSE: `+d.stack,l.response=v,l.url=c,v.type==="opaque")throw l;return v.text().then(k=>{var T;if(l.message=k,i.errorType==="json"||((T=v.headers.get("Content-Type"))===null||T===void 0?void 0:T.split(";")[0])==="application/json")try{l.json=JSON.parse(k)}catch{}throw l.text=k,l.status=v.status,l})}return v}),S=v=>v.catch(l=>{const k=l.hasOwnProperty(Ie),T=k?l[Ie]:l,O=(T==null?void 0:T.status)&&f.get(T.status)||f.get(T==null?void 0:T.name)||k&&f.has(Ie)&&f.get(Ie);if(O)return O(T,t);const C=f.get(ir);if(C)return C(T,t);throw T}),w=v=>l=>S(v?b.then(k=>k&&k[v]()).then(k=>l?l(k):k):b.then(k=>l?l(k):k)),P={_wretchReq:t,_fetchReq:p,_sharedState:e,res:w(null),json:w("json"),blob:w("blob"),formData:w("formData"),arrayBuffer:w("arrayBuffer"),text:w("text"),error(v,l){return f.set(v,l),this},badRequest(v){return this.error(400,v)},unauthorized(v){return this.error(401,v)},forbidden(v){return this.error(403,v)},notFound(v){return this.error(404,v)},timeout(v){return this.error(408,v)},internalError(v){return this.error(500,v)},fetchError(v){return this.error(Ie,v)}},_=h.reduce((v,l)=>({...v,...typeof l.resolver=="function"?l.resolver(v):l.resolver}),P);return a.reduce((v,l)=>l(v,t),_)},Oi={_url:"",_options:{},_config:je,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:ye(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const n=this._url.split("?");return{...this,_url:n.length>1?n[0]+t+"?"+n[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:ye(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:ye(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[rr]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const n=new Map(this._catchers);return n.set(t,e),{...this,_catchers:n}},catcherFallback(t){return this.catcher(ir,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",n=null){let r=this.url(e).options({method:t});const i=rn(r._options.headers),o=this._config.polyfill("FormData",!1),a=typeof n=="object"&&!(o&&n instanceof o)&&(!r._options.headers||!i||on(i));return r=n?a?r.json(n,i):r.body(n):r,Ti(r._deferred.reduce((s,h)=>h(s,s._url,s._options),r))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const n=rn(this._options.headers);return this.content(e||on(n)&&n||Ii).body(JSON.stringify(t))}};function ie(t="",e={}){return{...Oi,_url:t,_options:e}}ie.default=ie;ie.options=Si;ie.errorType=Ei;ie.polyfills=_i;ie.WretchError=or;function q(){sessionStorage.removeItem(Ot),ue(Q.CLEAR_CACHE,{})}function ji(t){const e=t.endpoint||`https://api2.${fe}`,n=g=>async(I,E)=>{let L=sessionStorage.getItem(Ot);L||(L=Date.now().toString(),sessionStorage.setItem(Ot,L));const Z={...E,headers:{...E.headers,"Cache-Timestamp":L}};return g(I,Z)},r=(g=!0)=>I=>async(E,L)=>{let Z=null;if(Z=await Re(g),!Z){if(g)throw new Error("No access token available");return I(E,L)}const N={...L,headers:{...L.headers,...Z?{Authorization:`Bearer ${Z}`}:{}}};return I(E,N)},i=g=>(I,E)=>{if(E.headers.Authorization)return g(I,E);const L=localStorage.getItem("__anon_id"),Z=btoa(`${L}:`),N={...E,headers:{...E.headers,Authorization:`Basic ${Z}`}};return g(I,N)},o=ie(e).headers({"Content-Type":"application/json"}).middlewares([n,r(),tn(),nn({delayTimer:1e3,delayRamp:(g,I)=>g*I,maxAttempts:3,until:g=>!!(g&&(g.ok||g.status>=400&&g.status<500)),retryOnNetworkError:!1})]),a=ie(e).headers({"Content-Type":"application/json"}).middlewares([n,r(!1),i,tn(),nn({delayTimer:1e3,delayRamp:(g,I)=>g*I,maxAttempts:3,until:g=>!!(g&&(g.ok||g.status>=400&&g.status<500)),retryOnNetworkError:!1})]);async function s(){return o.get("/entitlements").json()}async function h(g){const I=await o.get("/entitlements").json();return I==null?void 0:I.find(E=>E.id===g)}async function f(g){return o.get(`/entitlements/${g}/access`).json()}async function u(){return o.get("/contracts").json()}async function c(g){const I=await o.get("/contracts").json();return I==null?void 0:I.find(E=>E.id===g)}async function p(){return o.get("/subscriptions").json()}async function d(){return o.get("/bills").json()}async function b(g){const I=await o.get("/bills").json();return I==null?void 0:I.find(E=>E.id===g)}async function S(g,I){const E=await o.url(`/user-metadata/${g}`).put(I).json();return ue(Q.USER_ATTRIBUTE_CHANGED,{}),q(),E}async function w(g){const I=await o.url(`/user-metadata/${g}`).delete().res();return q(),I.ok}async function P(g){return(await o.url(`/user-metadata/${g}`).get().json())[g]}async function _(){return await o.url("/user-metadata").get().json()}async function v(){return await o.url("/tags").get().json()}async function l(g){const I=await o.url(`/tags/${g}`).delete().res();return q(),I.ok}async function k(g){const I=await o.url("/tags").post(g).res();return ue(Q.USER_ATTRIBUTE_CHANGED,{}),q(),I.ok}async function T(g){return(await a.url("/tallies").get().json())[g]}async function O(){return await a.url("/tallies").get().json()}async function C(g){const I=await a.url(`/tallies/${g}`).delete().res();return q(),I.ok}async function R(g,I){return await a.url(`/tallies/${g}/push`).post(I).json()}async function z(g){return await o.url(`/products/${g}`).get().json()}async function K(){return await Re(!1)?await o.url("/profile").get().json():null}async function $(g){const I=await o.url("/profile").patch(g).res();return q(),I.ok}async function U(){return await o.url("/payment-issues").get().json()}async function M(){return(await o.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function j(){return(await o.url("/profile/unlink-spotify").post().res()).ok}async function W(g){const I=await Re(!1);if(!I)throw new Error("No access token available");const E=new URL(`https://spotify-oas.${fe}/sesamy-callback`);E.searchParams.set("access_token",I),E.searchParams.set("state",g),window.location.href=E.toString()}async function J(g){const I=await o.url(`/products/${g}/auto-onboard`).post().json();return I.length&&q(),I}async function le(g,I=3600){const{shortlink:E}=await ie(di).post({url:g,ttl:I}).json();return E}async function m(g){const I=await Re(!1);let E;switch(g.target){case"account":E=new URL(`https://account.${fe}/subscriptions/${t.clientId}`);break;case"consume":E=new URL(`https://consume.${fe}/@${t.clientId}/${g.sku}`),g.episodeId&&(E.href+=`/${g.episodeId}`);break;default:throw new Error("Invalid target")}return I&&(E.hash=`#access_token=${I}`),g.shorten?le(E.href,g.ttl):E.href}async function y(){const g=await Re(!1),I=new URL(`https://account.${fe}/subscriptions/${t.clientId}`);g&&(I.hash=`#access_token=${g}`),window.location.href=I.toString()}return{getEntitlements:s,getEntitlement:h,getEntitlementAccess:f,getContracts:u,getContract:c,getProfile:K,updateProfile:$,getSubscriptions:p,getBills:d,getBill:b,setUserMetadata:S,deleteUserMetadata:w,getUserMetadata:P,listUserMetadata:_,getTags:v,deleteTag:l,setTag:k,getTally:T,getTallies:O,deleteTally:C,pushTally:R,getProduct:z,getPaymentIssues:U,autoOnboardProduct:J,isSpotifyLinked:M,unlinkSpotify:j,linkSpotify:W,generateLink:m,openHostedAccountPage:y}}const ar="@sesamy/sesamy-js",zt="1.13.2";function an(t,e,n,r,i){for(e=e.split?e.split("."):e,r=0;r<e.length;r++)t=t?t[e[r]]:i;return t===i?n:t}var Ye="undefined",sn="object",jt=function(){},sr="any",cr="*",we="__",it=typeof process<"u"?process:{};it.env&&it.env.NODE_ENV;var H=typeof document<"u";it.versions!=null&&it.versions.node!=null;typeof Deno<"u"&&Deno.core;H&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function ur(t,e){return e.charAt(0)[t]()+e.slice(1)}var Ci=ur.bind(null,"toUpperCase"),xi=ur.bind(null,"toLowerCase");function Ai(t){return lr(t)?Ci("null"):typeof t=="object"?Ni(t):Object.prototype.toString.call(t).slice(8,-1)}function ot(t,e){e===void 0&&(e=!0);var n=Ai(t);return e?xi(n):n}function Je(t,e){return typeof e===t}var V=Je.bind(null,"function"),se=Je.bind(null,"string"),_e=Je.bind(null,"undefined"),$i=Je.bind(null,"boolean");Je.bind(null,"symbol");function lr(t){return t===null}function Li(t){return ot(t)==="number"&&!isNaN(t)}function dr(t){return ot(t)==="array"}function X(t){if(!Ui(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Ui(t){return t&&(typeof t=="object"||t!==null)}function Ni(t){return V(t.constructor)?t.constructor.name:null}function Ri(t){return t instanceof Error||se(t.message)&&t.constructor&&Li(t.constructor.stackTraceLimit)}function hr(t,e){if(typeof e!="object"||lr(e))return!1;if(e instanceof t)return!0;var n=ot(new t(""));if(Ri(e))for(;e;){if(ot(e)===n)return!0;e=Object.getPrototypeOf(e)}return!1}hr.bind(null,TypeError);hr.bind(null,SyntaxError);function ct(t,e){var n=t instanceof Element||t instanceof HTMLDocument;return n&&e?zi(t,e):n}function zi(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function ut(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}ut(ct,"form");ut(ct,"button");ut(ct,"input");ut(ct,"select");function Di(t){return t?dr(t)?t:[t]:[]}function cn(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function Mi(){if(H){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function Zi(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Ki(t){return function(e){for(var n,r=Object.create(null),i=/([^&=]+)=?([^&]*)/g;n=i.exec(e);){var o=cn(n[1]),a=cn(n[2]);o.substring(o.length-2)==="[]"?(r[o=o.substring(0,o.length-2)]||(r[o]=[])).push(a):r[o]=a===""||a}for(var s in r){var h=s.split("[");h.length>1&&(Wi(r,h.map(function(f){return f.replace(/[?[\]\\ ]/g,"")}),r[s]),delete r[s])}return r}(function(e){return H&&window.location.search.substring(1)}())}function Wi(t,e,n){for(var r=e.length-1,i=0;i<r;++i){var o=e[i];if(o==="__proto__"||o==="constructor")break;o in t||(t[o]={}),t=t[o]}t[e[r]]=n}function lt(){for(var t="",e=0,n=4294967295*Math.random()|0;e++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],i=15&n;t+=r=="-"||r=="4"?r:(r=="x"?i:3&i|8).toString(16),n=e%8==0?4294967295*Math.random()|0:n>>4}return t}function Fi(t,e){var n,r,i,o=null,a=0,s=function(){a=new Date,o=null,i=t.apply(n,r)};return function(){var h=new Date;a||(a=h);var f=e-(h-a);return n=this,r=arguments,f<=0?(clearTimeout(o),o=null,a=h,i=t.apply(n,r)):o||(o=setTimeout(s,f)),i}}var Me="global",Ce=we+"global"+we,xe=typeof self===sn&&self.self===self&&self||typeof global===sn&&global.global===global&&global||void 0;function be(t){return xe[Ce][t]}function ke(t,e){return xe[Ce][t]=e}function $e(t){delete xe[Ce][t]}function Le(t,e,n){var r;try{if(Dt(t)){var i=window[t];r=i[e].bind(i)}}catch{}return r||n}xe[Ce]||(xe[Ce]={});var Ge={};function Dt(t){if(typeof Ge[t]!==Ye)return Ge[t];try{var e=window[t];e.setItem(Ye,Ye),e.removeItem(Ye)}catch{return Ge[t]=!1}return Ge[t]=!0}function A(){return A=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},A.apply(this,arguments)}var ae="function",re="undefined",Hi="@@redux/"+Math.random().toString(36),un=function(){return typeof Symbol===ae&&Symbol.observable||"@@observable"}(),Be=" != "+ae;function fr(t,e,n){var r;if(typeof e===ae&&typeof n===re&&(n=e,e=void 0),typeof n!==re){if(typeof n!==ae)throw new Error("enhancer"+Be);return n(fr)(t,e)}if(typeof t!==ae)throw new Error("reducer"+Be);var i=t,o=e,a=[],s=a,h=!1;function f(){s===a&&(s=a.slice())}function u(){return o}function c(d){if(typeof d!==ae)throw new Error("Listener"+Be);var b=!0;return f(),s.push(d),function(){if(b){b=!1,f();var S=s.indexOf(d);s.splice(S,1)}}}function p(d){if(!X(d))throw new Error("Act != obj");if(typeof d.type===re)throw new Error("ActType "+re);if(h)throw new Error("Dispatch in reducer");try{h=!0,o=i(o,d)}finally{h=!1}for(var b=a=s,S=0;S<b.length;S++)(0,b[S])();return d}return p({type:"@@redux/INIT"}),(r={dispatch:p,subscribe:c,getState:u,replaceReducer:function(d){if(typeof d!==ae)throw new Error("next reducer"+Be);i=d,p({type:"@@redux/INIT"})}})[un]=function(){var d,b=c;return(d={subscribe:function(S){if(typeof S!="object")throw new TypeError("Observer != obj");function w(){S.next&&S.next(u())}return w(),{unsubscribe:b(w)}}})[un]=function(){return this},d},r}function Ji(t,e){var n=e&&e.type;return"action "+(n&&n.toString()||"?")+"reducer "+t+" returns "+re}function Ae(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,n){return function(){return e(n.apply(void 0,[].slice.call(arguments)))}})}function Xi(){var t=arguments;return function(e){return function(n,r,i){var o,a=e(n,r,i),s=a.dispatch,h={getState:a.getState,dispatch:function(f){return s(f)}};return o=[].slice.call(t).map(function(f){return f(h)}),A({},a,{dispatch:s=Ae.apply(void 0,o)(a.dispatch)})}}}var ce=we+"anon_id",ve=we+"user_id",Pe=we+"user_traits",oe="userId",Ee="anonymousId",rt=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],Ct=["name","EVENTS","config","loaded"],x=rt.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),ln=/^utm_/,dn=/^an_prop_/,hn=/^an_trait_/;function Vi(t){var e=t.storage.setItem;return function(n){return function(r){return function(i){if(i.type===x.bootstrap){var o=i.params,a=i.user,s=i.persistedUser,h=i.initialUser,f=s.userId===a.userId;s.anonymousId!==a.anonymousId&&e(ce,a.anonymousId),f||e(ve,a.userId),h.traits&&e(Pe,A({},f&&s.traits?s.traits:{},h.traits));var u=Object.keys(i.params);if(u.length){var c=o.an_uid,p=o.an_event,d=u.reduce(function(b,S){if(S.match(ln)||S.match(/^(d|g)clid/)){var w=S.replace(ln,"");b.campaign[w==="campaign"?"name":w]=o[S]}return S.match(dn)&&(b.props[S.replace(dn,"")]=o[S]),S.match(hn)&&(b.traits[S.replace(hn,"")]=o[S]),b},{campaign:{},props:{},traits:{}});n.dispatch(A({type:x.params,raw:o},d,c?{userId:c}:{})),c&&setTimeout(function(){return t.identify(c,d.traits)},0),p&&setTimeout(function(){return t.track(p,d.props)},0),Object.keys(d.campaign).length&&n.dispatch({type:x.campaign,campaign:d.campaign})}}return r(i)}}}}function Yi(t){return function(e,n){if(e===void 0&&(e={}),n===void 0&&(n={}),n.type===x.setItemEnd){if(n.key===ce)return A({},e,{anonymousId:n.value});if(n.key===ve)return A({},e,{userId:n.value})}switch(n.type){case x.identify:return Object.assign({},e,{userId:n.userId,traits:A({},e.traits,n.traits)});case x.reset:return[ve,ce,Pe].forEach(function(r){t.removeItem(r)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function fn(t){return{userId:t.getItem(ve),anonymousId:t.getItem(ce),traits:t.getItem(Pe)}}var xt=function(t){return we+"TEMP"+we+t};function Gi(t){var e=t.storage,n=e.setItem,r=e.removeItem,i=e.getItem;return function(o){return function(a){return function(s){var h=s.userId,f=s.traits,u=s.options;if(s.type===x.reset&&([ve,Pe,ce].forEach(function(d){r(d)}),[oe,Ee,"traits"].forEach(function(d){$e(xt(d))})),s.type===x.identify){i(ce)||n(ce,lt());var c=i(ve),p=i(Pe)||{};c&&c!==h&&o.dispatch({type:x.userIdChanged,old:{userId:c,traits:p},new:{userId:h,traits:f},options:u}),h&&n(ve,h),f&&n(Pe,A({},p,f))}return a(s)}}}}var De={};function pn(t,e){De[t]&&V(De[t])&&(De[t](e),delete De[t])}function pr(t,e,n){return new Promise(function(r,i){return e()?r(t):n<1?i(A({},t,{queue:!0})):new Promise(function(o){return setTimeout(o,10)}).then(function(o){return pr(t,e,n-10).then(r,i)})})}function Bi(t){return{abort:t}}function mr(t,e,n){var r={},i=e(),o=t.getState(),a=o.plugins,s=o.queue,h=o.user;if(!o.context.offline&&s&&s.actions&&s.actions.length){var f=s.actions.reduce(function(c,p,d){return a[p.plugin].loaded?(c.process.push(p),c.processIndex.push(d)):(c.requeue.push(p),c.requeueIndex.push(d)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(f.processIndex&&f.processIndex.length){f.processIndex.forEach(function(c){var p=s.actions[c],d=p.plugin,b=p.payload.type,S=i[d][b];if(S&&V(S)){var w,P=function(l,k){return l===void 0&&(l={}),k===void 0&&(k={}),[oe,Ee].reduce(function(T,O){return l.hasOwnProperty(O)&&k[O]&&k[O]!==l[O]&&(T[O]=k[O]),T},l)}(p.payload,h),_=r[P.meta.rid];if(!_&&(w=S({payload:P,config:a[d].config,instance:n,abort:Bi}))&&X(w)&&w.abort)return void(r[P.meta.rid]=!0);if(!_){var v=b+":"+d;t.dispatch(A({},P,{type:v,_:{called:v,from:"queueDrain"}}))}}});var u=s.actions.filter(function(c,p){return!~f.processIndex.indexOf(p)});s.actions=u}}}var vt=function(t){var e=t.data,n=t.action,r=t.instance,i=t.state,o=t.allPlugins,a=t.allMatches,s=t.store,h=t.EVENTS;try{var f=i.plugins,u=i.context,c=n.type,p=c.match(Te),d=e.exact.map(function(w){return w.pluginName});p&&(d=a.during.map(function(w){return w.pluginName}));var b=function(w,P){return function(_,v,l){var k=v.config,T=v.name,O=T+"."+_.type;l&&(O=l.event);var C=_.type.match(Te)?function(R,z,K,$,U){return function(M,j){var W=$?$.name:R,J=j&&He(j)?j:K;if($&&(!(J=j&&He(j)?j:[R]).includes(R)||J.length!==1))throw new Error("Method "+z+" can only abort "+R+" plugin. "+JSON.stringify(J)+" input valid");return A({},U,{abort:{reason:M,plugins:J,caller:z,_:W}})}}(T,O,P,l,_):function(R,z){return function(){throw new Error(R.type+" action not cancellable. Remove abort in "+z)}}(_,O);return{payload:qi(_),instance:w,config:k||{},abort:C}}}(r,d),S=e.exact.reduce(function(w,P){var _=P.pluginName,v=P.methodName,l=!1;return v.match(/^initialize/)||v.match(/^reset/)||(l=!f[_].loaded),u.offline&&v.match(/^(page|track|identify)/)&&(l=!0),w[""+_]=l,w},{});return Promise.resolve(e.exact.reduce(function(w,P,_){try{var v=P.pluginName;return Promise.resolve(w).then(function(l){function k(){return Promise.resolve(l)}var T=function(){if(e.namespaced&&e.namespaced[v])return Promise.resolve(e.namespaced[v].reduce(function(O,C,R){try{return Promise.resolve(O).then(function(z){return C.method&&V(C.method)?(function(M,j){var W=kn(M);if(W&&W.name===j){var J=kn(W.method);throw new Error([j+" plugin is calling method "+M,"Plugins cant call self","Use "+W.method+" "+(J?"or "+J.method:"")+" in "+j+" plugin insteadof "+M].join(`
6
- `))}}(C.methodName,C.pluginName),Promise.resolve(C.method({payload:z,instance:r,abort:(K=z,$=v,U=C.pluginName,function(M,j){return A({},K,{abort:{reason:M,plugins:j||[$],caller:c,from:U||$}})}),config:yn(C.pluginName,f,o),plugins:f})).then(function(M){var j=X(M)?M:{};return Promise.resolve(A({},z,j))})):z;var K,$,U})}catch(z){return Promise.reject(z)}},Promise.resolve(n))).then(function(O){l[v]=O});l[v]=n}();return T&&T.then?T.then(k):k()})}catch(l){return Promise.reject(l)}},Promise.resolve({}))).then(function(w){return Promise.resolve(e.exact.reduce(function(P,_,v){try{var l=e.exact.length===v+1,k=_.pluginName,T=o[k];return Promise.resolve(P).then(function(O){var C=w[k]?w[k]:{};if(p&&(C=O),bt(C,k))return wt({data:C,method:c,instance:r,pluginName:k,store:s}),Promise.resolve(O);if(bt(O,k))return l&&wt({data:O,method:c,instance:r,store:s}),Promise.resolve(O);if(S.hasOwnProperty(k)&&S[k]===!0)return s.dispatch({type:"queue",plugin:k,payload:C,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(O);var R=b(w[k],o[k]);return Promise.resolve(T[c]({abort:R.abort,payload:C,instance:r,config:yn(k,f,o),plugins:f})).then(function(z){var K=X(z)?z:{},$=A({},O,K),U=w[k];if(bt(U,k))wt({data:U,method:c,instance:r,pluginName:k,store:s});else{var M=c+":"+k;(M.match(/:/g)||[]).length<2&&!c.match(mn)&&!c.match(gn)&&r.dispatch(A({},p?$:C,{type:M,_:{called:M,from:"submethod"}}))}return Promise.resolve($)})})}catch(O){return Promise.reject(O)}},Promise.resolve(n))).then(function(P){if(!(c.match(Te)||c.match(/^registerPlugin/)||c.match(gn)||c.match(mn)||c.match(/^params/)||c.match(/^userIdChanged/))){if(h.plugins.includes(c),P._&&P._.originalAction===c)return P;var _=A({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});gr(P,e.exact.length)&&!c.match(/End$/)&&(_=A({},_,{type:P.type+"Aborted"})),s.dispatch(_)}return P})})}catch(w){return Promise.reject(w)}},Te=/Start$/,mn=/^bootstrap/,gn=/^ready/;function wt(t){var e=t.pluginName,n=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(A({},t.data,{type:n,_:{called:n,from:"abort"}}))}function yn(t,e,n){var r=e[t]||n[t];return r&&r.config?r.config:{}}function vn(t,e){return e.reduce(function(n,r){return r[t]?n.concat({methodName:t,pluginName:r.name,method:r[t]}):n},[])}function wn(t,e){var n=t.replace(Te,""),r=e?":"+e:"";return[""+t+r,""+n+r,n+"End"+r]}function bt(t,e){var n=t.abort;return!!n&&(n===!0||bn(n,e)||n&&bn(n.plugins,e))}function gr(t,e){var n=t.abort;if(!n)return!1;if(n===!0||se(n))return!0;var r=n.plugins;return He(n)&&n.length===e||He(r)&&r.length===e}function He(t){return Array.isArray(t)}function bn(t,e){return!(!t||!He(t))&&t.includes(e)}function kn(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function qi(t){return Object.keys(t).reduce(function(e,n){return n==="type"||(e[n]=X(t[n])?Object.assign({},t[n]):t[n]),e},{})}function Qi(t,e,n){var r={};return function(i){return function(o){return function(a){try{var s,h=function(l){return s?l:o(c)},f=a.type,u=a.plugins,c=a;if(a.abort)return Promise.resolve(o(a));if(f===x.enablePlugin&&i.dispatch({type:x.initializeStart,plugins:u,disabled:[],fromEnable:!0,meta:a.meta}),f===x.disablePlugin&&setTimeout(function(){return pn(a.meta.rid,{payload:a})},0),f===x.initializeEnd){var p=e(),d=Object.keys(p),b=d.filter(function(l){return u.includes(l)}).map(function(l){return p[l]}),S=[],w=[],P=a.disabled,_=b.map(function(l){var k=l.loaded,T=l.name,O=l.config;return pr(l,function(){return k({config:O})},1e4).then(function(C){return r[T]||(i.dispatch({type:x.pluginReadyType(T),name:T,events:Object.keys(l).filter(function(R){return!Ct.includes(R)})}),r[T]=!0),S=S.concat(T),l}).catch(function(C){if(C instanceof Error)throw new Error(C);return w=w.concat(C.name),C})});Promise.all(_).then(function(l){var k={plugins:S,failed:w,disabled:P};setTimeout(function(){d.length===_.length+P.length&&i.dispatch(A({},{type:x.ready},k))},0)})}var v=function(){if(f!==x.bootstrap)return/^ready:([^:]*)$/.test(f)&&setTimeout(function(){return mr(i,e,t)},0),Promise.resolve(function(l,k,T,O,C){try{var R=V(k)?k():k,z=l.type,K=z.replace(Te,"");if(l._&&l._.called)return Promise.resolve(l);var $=T.getState(),U=(W=R,(J=$.plugins)===void 0&&(J={}),(le=l.options)===void 0&&(le={}),Object.keys(W).filter(function(m){var y=le.plugins||{};return $i(y[m])?y[m]:y.all!==!1&&(!J[m]||J[m].enabled!==!1)}).map(function(m){return W[m]}));z===x.initializeStart&&l.fromEnable&&(U=Object.keys($.plugins).filter(function(m){var y=$.plugins[m];return l.plugins.includes(m)&&!y.initialized}).map(function(m){return R[m]}));var M=U.map(function(m){return m.name}),j=function(m,y,g){var I=wn(m).map(function(E){return vn(E,y)});return y.reduce(function(E,L){var Z=L.name,N=wn(m,Z).map(function(Ue){return vn(Ue,y)}),F=N[0],D=N[1],ee=N[2];return F.length&&(E.beforeNS[Z]=F),D.length&&(E.duringNS[Z]=D),ee.length&&(E.afterNS[Z]=ee),E},{before:I[0],beforeNS:{},during:I[1],duringNS:{},after:I[2],afterNS:{}})}(z,U);return Promise.resolve(vt({action:l,data:{exact:j.before,namespaced:j.beforeNS},state:$,allPlugins:R,allMatches:j,instance:T,store:O,EVENTS:C})).then(function(m){function y(){var E=function(){if(z.match(Te))return Promise.resolve(vt({action:A({},g,{type:K+"End"}),data:{exact:j.after,namespaced:j.afterNS},state:$,allPlugins:R,allMatches:j,instance:T,store:O,EVENTS:C})).then(function(L){L.meta&&L.meta.hasCallback&&pn(L.meta.rid,{payload:L})})}();return E&&E.then?E.then(function(){return m}):m}if(gr(m,M.length))return m;var g,I=function(){if(z!==K)return Promise.resolve(vt({action:A({},m,{type:K}),data:{exact:j.during,namespaced:j.duringNS},state:$,allPlugins:R,allMatches:j,instance:T,store:O,EVENTS:C})).then(function(E){g=E});g=m}();return I&&I.then?I.then(y):y()})}catch(m){return Promise.reject(m)}var W,J,le}(a,e,t,i,n)).then(function(l){return s=1,o(l)})}();return Promise.resolve(v&&v.then?v.then(h):h(v))}catch(l){return Promise.reject(l)}}}}}function eo(t){return function(e){return function(n){return function(r){var i=r.type,o=r.key,a=r.value,s=r.options;if(i===x.setItem||i===x.removeItem){if(r.abort)return n(r);i===x.setItem?t.setItem(o,a,s):t.removeItem(o,s)}return n(r)}}}}var to=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,n){t[n]=t[n].concat(e)},this.removeMiddleware=function(e,n){var r=t[n].findIndex(function(i){return i===e});r!==-1&&(t[n]=[].concat(t[n].slice(0,r),t[n].slice(r+1)))},this.dynamicMiddlewares=function(e){return function(n){return function(r){return function(i){var o={getState:n.getState,dispatch:function(s){return n.dispatch(s)}},a=t[e].map(function(s){return s(o)});return Ae.apply(void 0,a)(r)(i)}}}}};function no(t){return function(e,n){e===void 0&&(e={});var r={};if(n.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(n.type)){var i=In(n.type,"registerPlugin"),o=t()[i];if(!o||!i)return e;var a=n.enabled,s=o.config;return r[i]={enabled:a,initialized:!!a&&!o.initialize,loaded:!!a&&!!o.loaded({config:s}),config:s},A({},e,r)}if(/^initialize:([^:]*)$/.test(n.type)){var h=In(n.type,x.initialize),f=t()[h];return f&&h?(r[h]=A({},e[h],{initialized:!0,loaded:!!f.loaded({config:f.config})}),A({},e,r)):e}if(/^ready:([^:]*)$/.test(n.type))return r[n.name]=A({},e[n.name],{loaded:!0}),A({},e,r);switch(n.type){case x.disablePlugin:return A({},e,Sn(n.plugins,!1,e));case x.enablePlugin:return A({},e,Sn(n.plugins,!0,e));default:return e}}}function In(t,e){return t.substring(e.length+1,t.length)}function Sn(t,e,n){return t.reduce(function(r,i){return r[i]=A({},n[i],{enabled:e}),r},n)}function yr(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var ro={last:{},history:[]};function io(t,e){t===void 0&&(t=ro);var n=e.options,r=e.meta;if(e.type===x.track){var i=yr(A({event:e.event,properties:e.properties},Object.keys(n).length&&{options:n},{meta:r}));return A({},t,{last:i,history:t.history.concat(i)})}return t}var oo={actions:[]};function ao(t,e){t===void 0&&(t=oo);var n=e.payload;switch(e.type){case"queue":var r;return r=n&&n.type&&n.type===x.identify?[e].concat(t.actions):t.actions.concat(e),A({},t,{actions:r});case"dequeue":return[];default:return t}}var vr=/#.*$/;function so(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(vr,""):"")}var wr,br,kr,Ir,co=function(t){if(t===void 0&&(t={}),!H)return t;var e=document,n=e.title,r=e.referrer,i=window,o=i.location,a=i.innerWidth,s=i.innerHeight,h=o.hash,f=o.search,u=function(p){var d=function(){if(H){for(var b,S=document.getElementsByTagName("link"),w=0;b=S[w];w++)if(b.getAttribute("rel")==="canonical")return b.getAttribute("href")}}();return d?d.match(/\?/)?d:d+p:window.location.href.replace(vr,"")}(f),c={title:n,url:u,path:so(u),hash:h,search:f,width:a,height:s};return r&&r!==""&&(c.referrer=r),A({},c,t)},uo={last:{},history:[]};function lo(t,e){t===void 0&&(t=uo);var n=e.options;if(e.type===x.page){var r=yr(A({properties:e.properties,meta:e.meta},Object.keys(n).length&&{options:n}));return A({},t,{last:r,history:t.history.concat(r)})}return t}wr=function(){if(!H)return!1;var t=navigator.appVersion;return~t.indexOf("Win")?"Windows":~t.indexOf("Mac")?"MacOS":~t.indexOf("X11")?"UNIX":~t.indexOf("Linux")?"Linux":"Unknown OS"}(),br=H?document.referrer:null,kr=Mi(),Ir=Zi();var _n={initialized:!1,sessionId:lt(),app:null,version:null,debug:!1,offline:!!H&&!navigator.onLine,os:{name:wr},userAgent:H?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.7"},timezone:Ir,locale:kr,campaign:{},referrer:br};function ho(t,e){t===void 0&&(t=_n);var n=t.initialized,r=e.campaign;switch(e.type){case x.campaign:return A({},t,{campaign:r});case x.offline:return A({},t,{offline:!0});case x.online:return A({},t,{offline:!1});default:return n?t:A({},_n,t,{initialized:!0})}}var fo=["plugins","reducers","storage"];function po(t,e,n){if(H){var r=window[(n?"add":"remove")+"EventListener"];t.split(" ").forEach(function(i){r(i,e)})}}function mo(t){var e=po.bind(null,"online offline",function(n){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(n){return e(!1)}}function Sr(){return ke("analytics",[]),function(t){return function(e,n,r){var i=t(e,n,r),o=i.dispatch;return Object.assign(i,{dispatch:function(a){return xe[Ce].analytics.push(a.action||a),o(a)}})}}}function En(t){return function(){return Ae(Ae.apply(null,arguments),Sr())}}function kt(t){return t?dr(t)?t:[t]:[]}function Pn(t,e,n){t===void 0&&(t={});var r,i,o=lt();return e&&(De[o]=(r=e,i=function(a){for(var s,h=a||Array.prototype.slice.call(arguments),f=0;f<h.length;f++)if(V(h[f])){s=h[f];break}return s}(n),function(a){i&&i(a),r(a)})),A({},t,{rid:o,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function go(t){t===void 0&&(t={});var e=t.reducers||{},n=t.initialUser||{},r=(t.plugins||[]).reduce(function(m,y){if(V(y))return m.middlewares=m.middlewares.concat(y),m;if(y.NAMESPACE&&(y.name=y.NAMESPACE),!y.name)throw new Error("https://lytics.dev/errors/1");y.config||(y.config={});var g=y.EVENTS?Object.keys(y.EVENTS).map(function(L){return y.EVENTS[L]}):[];m.pluginEnabled[y.name]=!(y.enabled===!1||y.config.enabled===!1),delete y.enabled,y.methods&&(m.methods[y.name]=Object.keys(y.methods).reduce(function(L,Z){var N;return L[Z]=(N=y.methods[Z],function(){for(var F=Array.prototype.slice.call(arguments),D=new Array(N.length),ee=0;ee<F.length;ee++)D[ee]=F[ee];return D[D.length]=k,N.apply({instance:k},D)}),L},{}),delete y.methods);var I=Object.keys(y).concat(g),E=new Set(m.events.concat(I));if(m.events=Array.from(E),m.pluginsArray=m.pluginsArray.concat(y),m.plugins[y.name])throw new Error(y.name+"AlreadyLoaded");return m.plugins[y.name]=y,m.plugins[y.name].loaded||(m.plugins[y.name].loaded=function(){return!0}),m},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),i=t.storage?t.storage:{getItem:be,setItem:ke,removeItem:$e},o=function(m){return function(y,g,I){return g.getState("user")[y]||(I&&X(I)&&I[y]?I[y]:fn(m)[y]||be(xt(y))||null)}}(i),a=r.plugins,s=r.events.filter(function(m){return!Ct.includes(m)}).sort(),h=new Set(s.concat(rt).filter(function(m){return!Ct.includes(m)})),f=Array.from(h).sort(),u=function(){return a},c=new to,p=c.addMiddleware,d=c.removeMiddleware,b=c.dynamicMiddlewares,S=function(){throw new Error("Abort disabled inListener")},w=Ki(),P=fn(i),_=A({},P,n,w.an_uid?{userId:w.an_uid}:{},w.an_aid?{anonymousId:w.an_aid}:{});_.anonymousId||(_.anonymousId=lt());var v=A({enable:function(m,y){return new Promise(function(g){j.dispatch({type:x.enablePlugin,plugins:kt(m),_:{originalAction:x.enablePlugin}},g,[y])})},disable:function(m,y){return new Promise(function(g){j.dispatch({type:x.disablePlugin,plugins:kt(m),_:{originalAction:x.disablePlugin}},g,[y])})}},r.methods),l=!1,k={identify:function(m,y,g,I){try{var E=se(m)?m:null,L=X(m)?m:y,Z=g||{},N=k.user();ke(xt(oe),E);var F=E||L.userId||o(oe,k,L);return Promise.resolve(new Promise(function(D){j.dispatch(A({type:x.identifyStart,userId:F,traits:L||{},options:Z,anonymousId:N.anonymousId},N.id&&N.id!==E&&{previousId:N.id}),D,[y,g,I])}))}catch(D){return Promise.reject(D)}},track:function(m,y,g,I){try{var E=X(m)?m.event:m;if(!E||!se(E))throw new Error("EventMissing");var L=X(m)?m:y||{},Z=X(g)?g:{};return Promise.resolve(new Promise(function(N){j.dispatch({type:x.trackStart,event:E,properties:L,options:Z,userId:o(oe,k,y),anonymousId:o(Ee,k,y)},N,[y,g,I])}))}catch(N){return Promise.reject(N)}},page:function(m,y,g){try{var I=X(m)?m:{},E=X(y)?y:{};return Promise.resolve(new Promise(function(L){j.dispatch({type:x.pageStart,properties:co(I),options:E,userId:o(oe,k,I),anonymousId:o(Ee,k,I)},L,[m,y,g])}))}catch(L){return Promise.reject(L)}},user:function(m){if(m===oe||m==="id")return o(oe,k);if(m===Ee||m==="anonId")return o(Ee,k);var y=k.getState("user");return m?an(y,m):y},reset:function(m){return new Promise(function(y){j.dispatch({type:x.resetStart},y,m)})},ready:function(m){return l&&m({plugins:v,instance:k}),k.on(x.ready,function(y){m(y),l=!0})},on:function(m,y){if(!m||!V(y))return!1;if(m===x.bootstrap)throw new Error(".on disabled for "+m);var g=/Start$|Start:/;if(m==="*"){var I=function(N){return function(F){return function(D){return D.type.match(g)&&y({payload:D,instance:k,plugins:a}),F(D)}}},E=function(N){return function(F){return function(D){return D.type.match(g)||y({payload:D,instance:k,plugins:a}),F(D)}}};return p(I,qe),p(E,Qe),function(){d(I,qe),d(E,Qe)}}var L=m.match(g)?qe:Qe,Z=function(N){return function(F){return function(D){return D.type===m&&y({payload:D,instance:k,plugins:a,abort:S}),F(D)}}};return p(Z,L),function(){return d(Z,L)}},once:function(m,y){if(!m||!V(y))return!1;if(m===x.bootstrap)throw new Error(".once disabled for "+m);var g=k.on(m,function(I){y({payload:I.payload,instance:k,plugins:a,abort:S}),g()});return g},getState:function(m){var y=j.getState();return m?an(y,m):Object.assign({},y)},dispatch:function(m){var y=se(m)?{type:m}:m;if(rt.includes(y.type))throw new Error("reserved action "+y.type);var g=A({},y,{_:A({originalAction:y.type},m._||{})});j.dispatch(g)},enablePlugin:v.enable,disablePlugin:v.disable,plugins:v,storage:{getItem:i.getItem,setItem:function(m,y,g){j.dispatch({type:x.setItemStart,key:m,value:y,options:g})},removeItem:function(m,y){j.dispatch({type:x.removeItemStart,key:m,options:y})}},setAnonymousId:function(m,y){k.storage.setItem(ce,m,y)},events:{core:rt,plugins:s}},T=r.middlewares.concat([function(m){return function(y){return function(g){return g.meta||(g.meta=Pn()),y(g)}}},b(qe),Qi(k,u,{all:f,plugins:s}),eo(i),Vi(k),Gi(k),b(Qe)]),O={context:ho,user:Yi(i),page:lo,track:io,plugins:no(u),queue:ao},C=Ae,R=Ae;if(H&&t.debug){var z=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;z&&(C=z({trace:!0,traceLimit:25})),R=function(){return arguments.length===0?Sr():X(typeof arguments[0])?En():En().apply(null,arguments)}}var K,$=function(m){return Object.keys(m).reduce(function(y,g){return fo.includes(g)||(y[g]=m[g]),y},{})}(t),U=r.pluginsArray.reduce(function(m,y){var g=y.name,I=y.config,E=y.loaded,L=r.pluginEnabled[g];return m[g]={enabled:L,initialized:!!L&&!y.initialize,loaded:!!E({config:I}),config:I},m},{}),M={context:$,user:_,plugins:U},j=fr(function(m){for(var y=Object.keys(m),g={},I=0;I<y.length;I++){var E=y[I];typeof m[E]===ae&&(g[E]=m[E])}var L,Z=Object.keys(g);try{(function(N){Object.keys(N).forEach(function(F){var D=N[F];if(typeof D(void 0,{type:"@@redux/INIT"})===re||typeof D(void 0,{type:Hi})===re)throw new Error("reducer "+F+" "+re)})})(g)}catch(N){L=N}return function(N,F){if(N===void 0&&(N={}),L)throw L;for(var D=!1,ee={},Ue=0;Ue<Z.length;Ue++){var Xe=Z[Ue],Jt=N[Xe],ft=(0,g[Xe])(Jt,F);if(typeof ft===re){var Rr=Ji(Xe,F);throw new Error(Rr)}ee[Xe]=ft,D=D||ft!==Jt}return D?ee:N}}(A({},O,e)),M,R(C(Xi.apply(void 0,T))));j.dispatch=(K=j.dispatch,function(m,y,g){var I=A({},m,{meta:Pn(m.meta,y,kt(g))});return K.apply(null,[I])});var W=Object.keys(a);j.dispatch({type:x.bootstrap,plugins:W,config:$,params:w,user:_,initialUser:n,persistedUser:P});var J=W.filter(function(m){return r.pluginEnabled[m]}),le=W.filter(function(m){return!r.pluginEnabled[m]});return j.dispatch({type:x.registerPlugins,plugins:W,enabled:r.pluginEnabled}),r.pluginsArray.map(function(m,y){var g=m.bootstrap,I=m.config,E=m.name;g&&V(g)&&g({instance:k,config:I,payload:m}),j.dispatch({type:x.registerPluginType(E),name:E,enabled:r.pluginEnabled[E],plugin:m}),r.pluginsArray.length===y+1&&j.dispatch({type:x.initializeStart,plugins:J,disabled:le})}),mo(function(m){j.dispatch({type:m?x.offline:x.online})}),function(m,y,g){setInterval(function(){return mr(m,y,g)},3e3)}(j,u,k),k}var qe="before",Qe="after",Ze="cookie",pe=Pr(),_r=dt,yo=dt;function Er(t){return pe?dt(t,"",-1):$e(t)}function Pr(){if(pe!==void 0)return pe;var t="cookiecookie";try{dt(t,t),pe=document.cookie.indexOf(t)!==-1,Er(t)}catch{pe=!1}return pe}function dt(t,e,n,r,i,o){if(typeof window<"u"){var a=arguments.length>1;return pe===!1&&(a?ke(t,e):be(t)),a?document.cookie=t+"="+encodeURIComponent(e)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(i?"; domain="+i:"")+(o?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var Ke="localStorage",vo=Dt.bind(null,"localStorage");Le("localStorage","getItem",be);Le("localStorage","setItem",ke);Le("localStorage","removeItem",$e);var We="sessionStorage",wo=Dt.bind(null,"sessionStorage");Le("sessionStorage","getItem",be);Le("sessionStorage","setItem",ke);Le("sessionStorage","removeItem",$e);function Oe(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(X(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var bo=vo(),ko=wo(),Io=Pr();function Tr(t,e){if(t){var n=Mt(e),r=!Ft(n),i=Zt(n)?Oe(localStorage.getItem(t)):void 0;if(r&&!_e(i))return i;var o=Kt(n)?Oe(_r(t)):void 0;if(r&&o)return o;var a=Wt(n)?Oe(sessionStorage.getItem(t)):void 0;if(r&&a)return a;var s=be(t);return r?s:{localStorage:i,sessionStorage:a,cookie:o,global:s}}}function So(t,e,n){if(t&&!_e(e)){var r={},i=Mt(n),o=JSON.stringify(e),a=!Ft(i);return Zt(i)&&(r[Ke]=et(Ke,e,Oe(localStorage.getItem(t))),localStorage.setItem(t,o),a)?r[Ke]:Kt(i)&&(r[Ze]=et(Ze,e,Oe(_r(t))),yo(t,o),a)?r[Ze]:Wt(i)&&(r[We]=et(We,e,Oe(sessionStorage.getItem(t))),sessionStorage.setItem(t,o),a)?r[We]:(r[Me]=et(Me,e,be(t)),ke(t,e),a?r[Me]:r)}}function _o(t,e){if(t){var n=Mt(e),r=Tr(t,cr),i={};return!_e(r.localStorage)&&Zt(n)&&(localStorage.removeItem(t),i[Ke]=r.localStorage),!_e(r.cookie)&&Kt(n)&&(Er(t),i[Ze]=r.cookie),!_e(r.sessionStorage)&&Wt(n)&&(sessionStorage.removeItem(t),i[We]=r.sessionStorage),!_e(r.global)&&ht(n,Me)&&($e(t),i[Me]=r.global),i}}function Mt(t){return t?se(t)?t:t.storage:sr}function Zt(t){return bo&&ht(t,Ke)}function Kt(t){return Io&&ht(t,Ze)}function Wt(t){return ko&&ht(t,We)}function Ft(t){return t===cr||t==="all"}function ht(t,e){return t===sr||t===e||Ft(t)}function et(t,e,n){return{location:t,current:e,previous:n}}var Eo={setItem:So,getItem:Tr,removeItem:_o};function Po(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Tn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function On(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Tn(Object(n),!0).forEach(function(r){Po(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Tn(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function To(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:Eo};return go(On(On({},e),t))}function Oo(t,e){e=e||{};var n,r,i=[],o=e.max||1/0;function a(){clearInterval(n),t(i.splice(0,o)),s()}function s(){n=setInterval(a,e.interval||1e4)}return s(),{flush:a,push:function(h){return r=i.push(h),r>=o&&a(),r},size:function(){return i.length},end:function(h){h&&a(),clearInterval(n)}}}function jo(t){if(typeof window>"u")return;const{addEventListener:e,history:n,location:r}=window;let i=r.pathname;e("popstate",()=>t(r.pathname)),["push","replace"].map(o=>{const a=`${o}State`;if(a!=="pushState"&&a!=="replaceState")return;const s=n[a];n[a]=function(...h){var c;const f=((c=h[2])==null?void 0:c.toString())||"",u=xo(f);return i!==u&&(i=u,setTimeout(()=>t(f),0)),s.apply(n,h)}})}function Co(t,e){const n=t.indexOf(e);return n>-1?t.slice(0,n):t}function xo(t){return["#","?"].forEach(e=>t=Co(t,e)),t}function Ao(){jo(()=>{ne.page()})}function $o(t){if(t===void 0&&(t={}),!H)return jt;var e=Cn(),n=At(),r=jn(),i=tt(r,e),o=tt(n,e),a=[],s=[],h=[],f=r,u=i,c=o,p=Object.keys(t);if(!p.length)return jt;var d=p.map(function(S){return Number(S)}),b=Fi(function(){var S=Cn(),w=function($,U){return U.map(function(M){return M===100?$-5:$*(M/100)})}(S,d),P=At(),_=jn(),v=tt(_,S),l=tt(P,S);if(u=v>u?v:u,c=l<c?l:c,!(a.length>=d.length)){var k=f===_,T="up";k?T="initial":f<=_&&(T="down");var O=w,C=d;(T==="up"||k)&&(O=w.slice().reverse(),C=d.slice().reverse());var R=C.reduce(function($,U,M){var j=O[M];return h.includes(U)&&_<=j&&(h=h.filter(function(W){return W!==U}),$.singleFunction=U),T==="down"&&!a.includes(U)&&_>=j&&U>o?(s.push(U),$.callbacks=$.callbacks.concat(U),$):T==="up"&&!a.includes(U)&&_<=j&&U<=v?($.foundFunc=[U],$):(k&&_>=j&&$.foundFunc.length===0&&($.foundFunc=[U]),!s.includes(U)&&_>=j&&(s.push(U),$.singleFunction?h.push(U):$.singleFunction=U),$)},{foundFunc:[],singleFunction:null,callbacks:[],direction:T});if(f=_,T==="down"&&R.callbacks&&R.callbacks.forEach(function($){V(t[$])&&(t[$]({trigger:$,direction:T,scrollMin:c,scrollMax:u,range:[c,u]}),a.push($))}),R.singleFunction){var z=R.singleFunction,K=R.direction;V(t[z])&&t[z]({trigger:z,direction:K,scrollMin:c,scrollMax:u,range:[c,u]}),a.push(z)}}},500);return window.addEventListener("scroll",b),function(){return window.removeEventListener("scroll",b)}}function At(){return H?document.body.scrollTop||document.documentElement.scrollTop:0}function Lo(){return H?window.innerHeight||document.documentElement.clientHeight:0}function jn(){return Math.round(At()+Lo())}function Cn(){if(!H)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function tt(t,e){return Math.round(t/e*100)}var xn="EventListener";function Uo(t){return function(e,n,r,i){var o=r||jt,a=i||!1;if(!H)return o;var s=at(n),h=at(e,!0);if(!h.length)throw new Error("noElements");if(!s.length)throw new Error("noEvent");var f=[];return function u(c){c&&(f=[]);for(var p=c?"add"+xn:"remove"+xn,d=0;d<h.length;d++){var b=h[d];f[d]=c?a&&a.once?No(o):o:f[d]||o;for(var S=0;S<s.length;S++)b[p]?b["on"+s[S]]=c?f[d]:null:b[p](s[S],f[d],a)}return u.bind(null,!c)}(t)}}function at(t,e){if(se(t))return e?at(document.querySelectorAll(t)):(n=t).split(n.indexOf(",")>-1?",":" ").map(function(a){return a.trim()});var n;if(NodeList.prototype.isPrototypeOf(t)){for(var r=[],i=t.length>>>0;i--;)r[i]=t[i];return r}var o=Di(t);return e?o.map(function(a){return se(a)?at(a,!0):a}).flat():o}function No(t,e){var n;return function(){return t&&(n=t.apply(this,arguments),t=null),n}}var It=Uo("Event");function Or(t,e){return H&&V(window[t])?(n=window[t],r=e,(i=window)===void 0&&(i=null),V(n)?function(){n.apply(i,arguments),r.apply(i,arguments)}:r):window[t]=e;var n,r,i}Or.bind(null,"onerror");Or.bind(null,"onload");var jr=typeof window>"u",An="hidden";function Ro(t){if(jr)return!1;var e=zo(),n="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),r=function(){return t(!!document[e])},i=function(){return document.addEventListener(n,r)};return i(),function(){return document.removeEventListener(n,r),i}}function zo(){var t=["webkit","moz","ms","o"];return jr||An in document?An:t.reduce(function(e,n){var r=n+"Hidden";return!e&&r in document?r:e},null)}var Do=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Mo(t,e){e===void 0&&(e={});var n=function(a,s){var h=this,f=!1;return function(u){f||(a.call(h,u),f=!0,setTimeout(function(){return f=!1},s))}}(t,e.throttle||1e4),r=[];function i(){var a=Ro(function(s){s||n({type:"tabVisible"})});return r=[a].concat(Do.map(function(s){return It(document,s,n)})).concat(It(window,"load",n)).concat(It(window,"scroll",n,{capture:!0,passive:!0})),o}function o(){r.map(function(a){return a()})}return i(),function(){return o(),i}}function Zo(t){var e,n,r=t.onIdle,i=t.onWakeUp,o=t.onHeartbeat,a=t.timeout,s=a===void 0?1e4:a,h=t.throttle,f=h===void 0?2e3:h,u=!1,c=!1,p=new Date,d=function(){return clearTimeout(e)};function b(w){d(),o&&!u&&o(ze(p),w),i&&u&&(u=!1,i(ze(n),w),p=new Date),e=setTimeout(function(){u=!0,r&&(n=new Date,r(ze(p),w))},s)}var S=Mo(b,{throttle:f});return{disable:function(){c=!0,u=!1,d();var w=S();return function(){return c=!1,p=new Date,b({type:"load"}),w()}},getStatus:function(){return{isIdle:u,isDisabled:c,active:u?0:ze(p,c),idle:u?ze(n,c):0}}}}function ze(t,e){return e?0:Math.round((new Date-t)/1e3)}const $n=5e3;class Ko{constructor(e){B(this,"element");B(this,"isInViewport",!1);B(this,"isAwake",!1);B(this,"isFlushing");B(this,"observer");B(this,"lastEventAt",Date.now());B(this,"registeredView",!1);B(this,"viewCallback");B(this,"activeDurationCallback");B(this,"idleDurationCallback");B(this,"scrollCallback");this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(n=>{n.forEach(r=>{this.handleInViewPort(r.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),Zo({onIdle:n=>this.handleAwake(!1,n),onWakeUp:n=>this.handleAwake(!0,n),timeout:$n}),$o({25:this.handleScroll.bind(this),50:this.handleScroll.bind(this),75:this.handleScroll.bind(this),90:this.handleScroll.bind(this),100:this.handleScroll.bind(this)})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake)}handleInViewPort(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=e}handleAwake(e,n=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-n*$n:Date.now(),this.isInViewport&&this.trackAwake(e,n)}handleScroll(e){this.scrollCallback&&this.scrollCallback(e)}handleVisibilityChange(){this.isAwake=!1;const e=Math.round((Date.now()-this.lastEventAt)/1e3);e>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,e))}trackAwake(e,n){!e&&this.activeDurationCallback&&this.activeDurationCallback(n,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(n,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}const Ln="sesamy_session_id";function Wo(){let t=sessionStorage.getItem(Ln);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Ln,t)),t}let Cr=!1,$t,Un,st;function Fo({clientId:t,enabled:e=!0,endpoint:n=hi}){if($t=t,Un=e,st=n,!Un)return;Ao();const r=new Ko({element:document.body,viewCallback:()=>{ne.page()},activeDurationCallback:(i,o,a)=>{ne.track("activeDuration",{duration:i,durationStart:a,flushing:o})},idleDurationCallback:(i,o,a)=>{ne.track("idleDuration",{duration:i,durationStart:a,flushing:o})},scrollCallback:i=>{ne.track("scroll",{scroll:i.scrollMax})}});Xo(document.body,()=>{r.flush()}),Vo(document.body,()=>{r.handleVisibilityChange()}),window.addEventListener(Q.AUTHENTICATED,async i=>{const o=i;await ne.identify(o.detail.sub)}),window.addEventListener(Q.LOGOUT,async()=>{await ne.track("logout",{}),Ht.flush(),await ne.reset()})}function xr(t){return JSON.stringify(t.map(e=>({...e,clientId:$t,requestId:Math.random().toString(36).slice(2,9),sessionId:Wo(),timestamp:new Date().toISOString(),version:zt,event:e.event,context:{page:{url:window.location.hostname,path:window.location.pathname,title:document.title,search:window.location.search,referrer:document.referrer},locale:navigator.language,library:ar,userAgent:navigator.userAgent,clientId:$t}})))}const Ht=Oo(async t=>{if(t.length>0){const e=xr(t);Cr?navigator.sendBeacon(st,e):(await fetch(st,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function St(t){var e;if(t.anonymousId)if((e=t.properties)!=null&&e.flushing){const n={...t};delete n.properties.flushing,navigator.sendBeacon(st,xr([n]))}else Ht.push(t)}const ne=To({app:ar,version:zt,plugins:[{name:"custom-analytics-plugin",page:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;St({anonymousId:n,userId:r,properties:e,event:i,type:"page"})},track:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;St({anonymousId:n,userId:r,properties:e,event:i,type:"track"})},identify:({payload:t})=>{const{properties:e,anonymousId:n,userId:r}=t;St({anonymousId:n,userId:r,properties:e,type:"identify"})}}]});function Ho(t,e){ne.track(t,e)}function Jo(){return Cr=!0,Ht.flush()}const Ar=new Map;function Xo(t,e){Ar.set(t,e)}window.addEventListener("beforeunload",()=>{Ar.forEach((t,e)=>{t.bind(e)()}),Jo()});const $r=new Map;function Vo(t,e){$r.set(t,e)}window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&$r.forEach((t,e)=>{t.bind(e)()})});const Lr="sesamySignedURLs";function Ur(){const t=sessionStorage.getItem(Lr);return t?JSON.parse(t):[]}function Yo(t){const e=Ur();e.push(t),sessionStorage.setItem(Lr,JSON.stringify(e))}function Go(t){const{getEntitlement:e,getEntitlements:n,getEntitlementAccess:r,getSubscriptions:i,getContract:o,getContracts:a,getBill:s,getBills:h,getProfile:f,updateProfile:u,getTags:c,deleteTag:p,setTag:d,getUserMetadata:b,listUserMetadata:S,setUserMetadata:w,deleteUserMetadata:P,getTally:_,getTallies:v,pushTally:l,deleteTally:k,getProduct:T,getPaymentIssues:O,isSpotifyLinked:C,unlinkSpotify:R,linkSpotify:z,autoOnboardProduct:K,openHostedAccountPage:$,generateLink:U}=ji(t),M={auth:{getUser:f,isAuthenticated:er,loginWithRedirect:Rt,logout:gi,setToken:nr},profile:{get:f,update:u,openHostedAccountPage:$,isSpotifyLinked:C,unlinkSpotify:R},analytics:{track:Ho},tags:{list:c,set:d,delete:p},entitlements:{get:e,list:n,access:r,signedLinks:Ur},contracts:{get:o,list:a},bills:{get:s,list:h},userMetadata:{get:b,list:S,set:w,delete:P},tallies:{get:_,list:v,push:l,delete:k},subscriptions:{list:i},products:{get:T,autoOnboard:K,linkSpotify:z},getVersion:Bo,getPaymentIssues:O,generateLink:U,clearCache:q};return t.namespace&&(window[t.namespace]=M),M}function Bo(){return zt}function qo(){const t=new URLSearchParams(window.location.hash.substring(1)),e=t.get("access_token");if(e){nr(e);const n=new URL(window.location.href);t.delete("access_token"),n.hash=t.toString(),window.history.replaceState(null,"",n)}}const Nn="sesamy-refresh",Rn="force-refetch-entitlements";function Qo(){const t=new URLSearchParams(window.location.search),e=t.get(Rn),n=t.get(Nn);if(e!==null||n!==null){const r=new URL(window.location.href);t.delete(Rn),t.delete(Nn),r.search=t.toString(),q(),window.history.replaceState(null,"",r)}}function ea(){const t=new URLSearchParams(window.location.search),e=t.get("token"),n=t.get("se");if(!n||!e)return;const r=parseInt(n,10);if(Number.isNaN(r)||r<Date.now())return;Yo({url:window.location.href.split("?")[0],token:e,expiresAt:r,publisherContentId:t.get("sp")??void 0});const i=new URL(window.location.href);i.searchParams.delete("ss"),i.searchParams.delete("se"),i.searchParams.delete("sp"),i.searchParams.delete("so"),i.searchParams.delete("token"),window.history.replaceState(null,"",i)}const zn="sesamy-user";async function ta(){const e=new URLSearchParams(window.location.search).get(zn);if(!e)return;const n=await mi();(n==null?void 0:n.email)!==e&&(q(),Rt({authorizationParams:{email_hint:e,login_hint:e}}));const r=new URL(window.location.href);r.searchParams.delete(zn),window.history.replaceState(null,"",r)}const Dn="sesamy-purchase";function na(){const t=new URLSearchParams(window.location.search),e=t.get(Dn);if(e!==null){const n=new URL(window.location.href);t.delete(Dn),n.search=t.toString(),ue(Q.PURCHASE,{itemSrc:e}),q(),window.history.replaceState(null,"",n)}}const Mn="sesamy-login";async function ra(){if(!new URLSearchParams(window.location.search).get(Mn))return;await er()||Rt();const r=new URL(window.location.href);r.searchParams.delete(Mn),window.history.replaceState(null,"",r)}async function Nr(t){Fo({clientId:t.clientId,...t.analytics}),await pi({clientId:t.clientId,organization:t.organization,...t.auth});const e=Go({clientId:t.clientId,...t.api});return ue(Q.READY,{}),qo(),Qo(),ea(),await ra(),await ta(),na(),e}if(typeof document<"u"){const t=document.getElementById("sesamy-js");if(t!=null&&t.textContent)try{const e=JSON.parse(t.textContent);Nr(e)}catch(e){console.error("Failed to parse config",e)}}exports.init=Nr;
4
+ `)})(),e.cache&&e.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),e.cache)r=e.cache;else{if(n=e.cacheLocation||"memory",!en(n))throw new Error(`Invalid cache location "${n}"`);r=en(n)()}this.httpTimeoutMs=e.httpTimeoutInSeconds?1e3*e.httpTimeoutInSeconds:1e4,this.cookieStorage=e.legacySameSiteCookie===!1?Se:ii,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(a=>`auth0.${a}.is.authenticated`)(this.options.clientId),this.sessionCheckExpiryDays=e.sessionCheckExpiryDays||1;const i=e.useCookiesForTransactions?this.cookieStorage:oi;var o;this.scope=Ve("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new ei(i,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||Wn,this.cacheManager=new Qr(r,r.allKeys?void 0:new ci(r,this.options.clientId),this.nowProvider),this.domainUrl=(o=this.options.domain,/^https?:\/\//.test(o)?o:`https://${o}`),this.tokenIssuer=((a,s)=>a?a.startsWith("https://")?a:`https://${a}/`:`${s}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&n==="memory"&&(this.options.workerUrl?this.worker=new Worker(this.options.workerUrl):this.worker=new si)}_url(e){const n=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||Kn)));return`${this.domainUrl}${e}&auth0Client=${n}`}_authorizeUrl(e){return this._url(`/authorize?${Pt(e)}`)}async _verifyIdToken(e,n,r){const i=await this.nowProvider();return ni({iss:this.tokenIssuer,aud:this.options.clientId,id_token:e,nonce:n,organization:r,leeway:this.options.leeway,max_age:(o=this.options.authorizationParams.max_age,typeof o!="string"?o:parseInt(o,10)||void 0),now:i});var o}_processOrgHint(e){e?this.cookieStorage.save(this.orgHintCookieName,e,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(e,n,r){const i=Yt(pt()),o=Yt(pt()),a=pt(),s=(u=>{const c=new Uint8Array(u);return(p=>{const d={"+":"-","/":"_","=":""};return p.replace(/[+/=]/g,b=>d[b])})(window.btoa(String.fromCharCode(...Array.from(c))))})(await(async u=>await nt().subtle.digest({name:"SHA-256"},new TextEncoder().encode(u)))(a)),h=((u,c,p,d,b,S,v,P)=>Object.assign(Object.assign(Object.assign({client_id:u.clientId},u.authorizationParams),p),{scope:Ve(c,p.scope),response_type:"code",response_mode:P||"query",state:d,nonce:b,redirect_uri:v||u.authorizationParams.redirect_uri,code_challenge:S,code_challenge_method:"S256"}))(this.options,this.scope,e,i,o,s,e.redirect_uri||this.options.authorizationParams.redirect_uri||r,n==null?void 0:n.response_mode),f=this._authorizeUrl(h);return{nonce:o,code_verifier:a,scope:h.scope,audience:h.audience||"default",redirect_uri:h.redirect_uri,state:i,url:f}}async loginWithPopup(e,n){var r;if(e=e||{},!(n=n||{}).popup&&(n.popup=(s=>{const h=window.screenX+(window.innerWidth-400)/2,f=window.screenY+(window.innerHeight-600)/2;return window.open(s,"auth0:authorize:popup",`left=${h},top=${f},width=400,height=600,resizable,scrollbars=yes,status=1`)})(""),!n.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const i=await this._prepareAuthorizeUrl(e.authorizationParams||{},{response_mode:"web_message"},window.location.origin);n.popup.location.href=i.url;const o=await(s=>new Promise((h,f)=>{let u;const c=setInterval(()=>{s.popup&&s.popup.closed&&(clearInterval(c),clearTimeout(p),window.removeEventListener("message",u,!1),f(new Fr(s.popup)))},1e3),p=setTimeout(()=>{clearInterval(c),f(new Wr(s.popup)),window.removeEventListener("message",u,!1)},1e3*(s.timeoutInSeconds||60));u=function(d){if(d.data&&d.data.type==="authorization_response"){if(clearTimeout(p),clearInterval(c),window.removeEventListener("message",u,!1),s.popup.close(),d.data.response.error)return f(Y.fromPayload(d.data.response));h(d.data.response)}},window.addEventListener("message",u)}))(Object.assign(Object.assign({},n),{timeoutInSeconds:n.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(i.state!==o.state)throw new Y("state_mismatch","Invalid state");const a=((r=e.authorizationParams)===null||r===void 0?void 0:r.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:i.audience,scope:i.scope,code_verifier:i.code_verifier,grant_type:"authorization_code",code:o.code,redirect_uri:i.redirect_uri},{nonceIn:i.nonce,organization:a})}async getUser(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.user}async getIdTokenClaims(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.claims}async loginWithRedirect(e={}){var n;const r=tn(e),{openUrl:i,fragment:o,appState:a}=r,s=te(r,["openUrl","fragment","appState"]),h=((n=s.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization,f=await this._prepareAuthorizeUrl(s.authorizationParams||{}),{url:u}=f,c=te(f,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},c),{appState:a}),h&&{organization:h}));const p=o?`${u}#${o}`:u;i?await i(p):window.location.assign(p)}async handleRedirectCallback(e=window.location.href){const n=e.split("?").slice(1);if(n.length===0)throw new Error("There are no query params available for parsing.");const{state:r,code:i,error:o,error_description:a}=(c=>{c.indexOf("#")>-1&&(c=c.substring(0,c.indexOf("#")));const p=new URLSearchParams(c);return{state:p.get("state"),code:p.get("code")||void 0,error:p.get("error")||void 0,error_description:p.get("error_description")||void 0}})(n.join("")),s=this.transactionManager.get();if(!s)throw new Y("missing_transaction","Invalid state");if(this.transactionManager.remove(),o)throw new Kr(o,a||o,r,s.appState);if(!s.code_verifier||s.state&&s.state!==r)throw new Y("state_mismatch","Invalid state");const h=s.organization,f=s.nonce,u=s.redirect_uri;return await this._requestToken(Object.assign({audience:s.audience,scope:s.scope,code_verifier:s.code_verifier,grant_type:"authorization_code",code:i},u?{redirect_uri:u}:{}),{nonceIn:f,organization:h}),{appState:s.appState}}async checkSession(e){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get("auth0.is.authenticated"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove("auth0.is.authenticated")}try{await this.getTokenSilently(e)}catch{}}async getTokenSilently(e={}){var n;const r=Object.assign(Object.assign({cacheMode:"on"},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Ve(this.scope,(n=e.authorizationParams)===null||n===void 0?void 0:n.scope)})}),i=await((o,a)=>{let s=gt[a];return s||(s=o().finally(()=>{delete gt[a],s=null}),gt[a]=s),s})(()=>this._getTokenSilently(r),`${this.options.clientId}::${r.authorizationParams.audience}::${r.authorizationParams.scope}`);return e.detailedResponse?i:i==null?void 0:i.access_token}async _getTokenSilently(e){const{cacheMode:n}=e,r=te(e,["cacheMode"]);if(n!=="off"){const i=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(i)return i}if(n!=="cache-only"){if(!await(async(i,o=3)=>{for(let a=0;a<o;a++)if(await i())return!0;return!1})(()=>yt.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new Et;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),n!=="off"){const f=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(f)return f}const i=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(r):await this._getTokenFromIFrame(r),{id_token:o,access_token:a,oauthTokenScope:s,expires_in:h}=i;return Object.assign(Object.assign({id_token:o,access_token:a},s?{scope:s}:null),{expires_in:h})}finally{await yt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(e={},n={}){var r;const i=Object.assign(Object.assign({},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Ve(this.scope,(r=e.authorizationParams)===null||r===void 0?void 0:r.scope)})});return n=Object.assign(Object.assign({},Hr),n),await this.loginWithPopup(i,n),(await this.cacheManager.get(new me({scope:i.authorizationParams.scope,audience:i.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(e){e.clientId!==null?e.clientId=e.clientId||this.options.clientId:delete e.clientId;const n=e.logoutParams||{},{federated:r}=n,i=te(n,["federated"]),o=r?"&federated":"";return this._url(`/v2/logout?${Pt(Object.assign({clientId:e.clientId},i))}`)+o}async logout(e={}){const n=tn(e),{openUrl:r}=n,i=te(n,["openUrl"]);e.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(e.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove("@@user@@");const o=this._buildLogoutUrl(i);r?await r(o):r!==!1&&window.location.assign(o)}async _getTokenFromIFrame(e){const n=Object.assign(Object.assign({},e.authorizationParams),{prompt:"none"}),r=this.cookieStorage.get(this.orgHintCookieName);r&&!n.organization&&(n.organization=r);const{url:i,state:o,nonce:a,code_verifier:s,redirect_uri:h,scope:f,audience:u}=await this._prepareAuthorizeUrl(n,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new Y("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const c=e.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,p=await((b,S,v=60)=>new Promise((P,_)=>{const w=window.document.createElement("iframe");w.setAttribute("width","0"),w.setAttribute("height","0"),w.style.display="none";const l=()=>{window.document.body.contains(w)&&(window.document.body.removeChild(w),window.removeEventListener("message",k,!1))};let k;const T=setTimeout(()=>{_(new Et),l()},1e3*v);k=function(O){if(O.origin!=S||!O.data||O.data.type!=="authorization_response")return;const C=O.source;C&&C.close(),O.data.response.error?_(Y.fromPayload(O.data.response)):P(O.data.response),clearTimeout(T),window.removeEventListener("message",k,!1),setTimeout(l,2e3)},window.addEventListener("message",k,!1),window.document.body.appendChild(w),w.setAttribute("src",b)}))(i,this.domainUrl,c);if(o!==p.state)throw new Y("state_mismatch","Invalid state");const d=await this._requestToken(Object.assign(Object.assign({},e.authorizationParams),{code_verifier:s,code:p.code,grant_type:"authorization_code",redirect_uri:h,timeout:e.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:a,organization:n.organization});return Object.assign(Object.assign({},d),{scope:f,oauthTokenScope:d.scope,audience:u})}catch(c){throw c.error==="login_required"&&this.logout({openUrl:!1}),c}}async _getTokenUsingRefreshToken(e){const n=await this.cacheManager.get(new me({scope:e.authorizationParams.scope,audience:e.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(n&&n.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw new Gn(e.authorizationParams.audience||"default",e.authorizationParams.scope)}const r=e.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,i=typeof e.timeoutInSeconds=="number"?1e3*e.timeoutInSeconds:null;try{const o=await this._requestToken(Object.assign(Object.assign(Object.assign({},e.authorizationParams),{grant_type:"refresh_token",refresh_token:n&&n.refresh_token,redirect_uri:r}),i&&{timeout:i}));return Object.assign(Object.assign({},o),{scope:e.authorizationParams.scope,oauthTokenScope:o.scope,audience:e.authorizationParams.audience||"default"})}catch(o){if((o.message.indexOf("Missing Refresh Token")>-1||o.message&&o.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw o}}async _saveEntryInCache(e){const{id_token:n,decodedToken:r}=e,i=te(e,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:n,decodedToken:r}),await this.cacheManager.setIdToken(this.options.clientId,e.id_token,e.decodedToken),await this.cacheManager.set(i)}async _getIdTokenFromCache(){const e=this.options.authorizationParams.audience||"default",n=await this.cacheManager.getIdToken(new me({clientId:this.options.clientId,audience:e,scope:this.scope})),r=this.userCache.get("@@user@@");return n&&n.id_token===(r==null?void 0:r.id_token)?r:(this.userCache.set("@@user@@",n),n)}async _getEntryFromCache({scope:e,audience:n,clientId:r}){const i=await this.cacheManager.get(new me({scope:e,audience:n,clientId:r}),60);if(i&&i.access_token){const{access_token:o,oauthTokenScope:a,expires_in:s}=i,h=await this._getIdTokenFromCache();return h&&Object.assign(Object.assign({id_token:h.id_token,access_token:o},a?{scope:a}:null),{expires_in:s})}}async _requestToken(e,n){const{nonceIn:r,organization:i}=n||{},o=await Br(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},e),this.worker),a=await this._verifyIdToken(o.id_token,r,i);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},o),{decodedToken:a,scope:e.scope,audience:e.audience||"default"}),o.scope?{oauthTokenScope:o.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(i||a.claims.org_id),Object.assign(Object.assign({},o),{decodedToken:a})}};async function di(t){const e=new li(t);return await e.checkSession(),e}const fe="sesamy.com",hi="https://sesa.my",fi="https://logs.sesamy.com/events",Ot="sesamyCacheTimestamp";var Q=(t=>(t.READY="sesamyJsReady",t.AUTHENTICATED="sesamyJsAuthenticated",t.LOGOUT="sesamyJsLogout",t.CLEAR_CACHE="sesamyJsClearCache",t.USER_ATTRIBUTE_CHANGED="sesamyUserAttributeChanged",t.PURCHASE="sesamyJsPurchase",t))(Q||{});let G,tr;const We="sesamyAccessToken";function Rt(){const t=localStorage.getItem(We);if(!t)return null;const e=nr(t);return(!e||!e.exp||e.exp<new Date().getTime()/1e3)&&localStorage.removeItem(We),t}function pi(t){try{const e=new URL(t).hostname,n=e.split(".");return n.length>1?n.slice(-2).join("."):e}catch{return null}}async function mi(t){if(t.enabled===!1)return;tr=t.organization;const e={domain:t.endpoint||`token.${fe}`,clientId:t.clientId,useCookiesForTransactions:!0};if(pi(window.location.href)!==fe&&(e.cacheLocation="localstorage",e.useRefreshTokens=!0),G=await di(e),window.location.search.includes("code="))try{await G.handleRedirectCallback();const n=await G.getUser();ue(Q.AUTHENTICATED,n);const r=new URL(location.href),i=r.searchParams;i.delete("code"),i.delete("state"),r.search=i.toString(),window.history.replaceState({},document.title,r.toString())}catch(n){console.error(n)}}async function Nt(){return Rt()?!0:G?G.isAuthenticated():!1}async function gi(){return Rt()?{sub:"local",name:"Local User"}:G?G.getUser():null}function zt(t){if(localStorage.removeItem(We),!G)throw new Error("Auth0 client not initialized");const e=(t==null?void 0:t.authorizationParams)||{};return G.loginWithRedirect({...t,authorizationParams:{organization:tr,redirect_uri:window.location.href,...e}})}async function Ne(t=!0){const e=Rt();if(e)return e;try{return G?await G.getTokenSilently():null}catch(n){if(t)throw n;return null}}async function yi(t={}){if(localStorage.removeItem(We),ue(Q.LOGOUT,{}),!!G)return G.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function nr(t){const e=t.split(".");if(e.length!==3)return null;const r=e[1].replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(r).split("").map(function(o){return"%"+("00"+o.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}async function rr(t){const e=nr(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");localStorage.setItem(We,t),ue(Q.AUTHENTICATED,e)}const wi=(t,e)=>e.skipDedupe||e.method!=="GET",vi=(t,e)=>e.method+"@"+t,bi=t=>t.clone(),nn=({skip:t=wi,key:e=vi,resolver:n=bi}={})=>{const r=new Map;return i=>(o,a)=>{if(t(o,a))return i(o,a);const s=e(o,a);if(!r.has(s))r.set(s,[]);else return new Promise((h,f)=>{r.get(s).push([h,f])});try{return i(o,a).then(h=>(r.get(s).forEach(([f])=>f(n(h))),r.delete(s),h)).catch(h=>{throw r.get(s).forEach(([f,u])=>u(h)),r.delete(s),h})}catch(h){return r.delete(s),Promise.reject(h)}}},ki=(t,e)=>t*e,Ii=t=>t&&t.ok,rn=({delayTimer:t=500,delayRamp:e=ki,maxAttempts:n=10,until:r=Ii,onRetry:i=null,retryOnNetworkError:o=!1,resolveWithLatestResponse:a=!1,skip:s}={})=>h=>(f,u)=>{let c=0;if(s&&s(f,u))return h(f,u);const p=(d,b)=>Promise.resolve(r(d,b)).then(S=>S?d&&a?d:b?Promise.reject(b):d:(c++,!n||c<=n?new Promise(v=>{const P=e(t,c);setTimeout(()=>{typeof i=="function"?Promise.resolve(i({response:d,error:b,url:f,options:u})).then((_={})=>{var w,l;v(h((w=_&&_.url)!==null&&w!==void 0?w:f,(l=_&&_.options)!==null&&l!==void 0?l:u))}):v(h(f,u))},P)}).then(p).catch(v=>{if(!o)throw v;return p(null,v)}):d&&a?d:Promise.reject(b||new Error("Number of attempts exceeded."))));return h(f,u).then(p).catch(d=>{if(!o)throw d;return p(null,d)})},Si="application/json",ir="Content-Type",Ie=Symbol(),or=Symbol();function on(t={}){var e;return(e=Object.entries(t).find(([n])=>n.toLowerCase()===ir.toLowerCase()))===null||e===void 0?void 0:e[1]}function an(t){return/^application\/.*json.*/.test(t)}const ye=function(t,e,n=!1){return Object.entries(e).reduce((r,[i,o])=>{const a=t[i];return Array.isArray(a)&&Array.isArray(o)?r[i]=n?[...a,...o]:o:typeof a=="object"&&typeof o=="object"?r[i]=ye(a,o,n):r[i]=o,r},{...t})},je={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,n=!1,...r){const i=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!i)throw new Error(t+" is not defined");return n&&i?new i(...r):i}};function _i(t,e=!1){je.options=e?t:ye(je.options,t)}function Ei(t,e=!1){je.polyfills=e?t:ye(je.polyfills,t)}function Pi(t){je.errorType=t}const Ti=t=>e=>t.reduceRight((n,r)=>r(n),e)||e;class ar extends Error{}const Oi=t=>{const e=Object.create(null);t=t._addons.reduce((w,l)=>l.beforeRequest&&l.beforeRequest(w,t._options,e)||w,t);const{_url:n,_options:r,_config:i,_catchers:o,_resolvers:a,_middlewares:s,_addons:h}=t,f=new Map(o),u=ye(i.options,r);let c=n;const p=Ti(s)((w,l)=>(c=w,i.polyfill("fetch")(w,l)))(n,u),d=new Error,b=p.catch(w=>{throw{[Ie]:w}}).then(w=>{if(!w.ok){const l=new ar;if(l.cause=d,l.stack=l.stack+`
5
+ CAUSE: `+d.stack,l.response=w,l.url=c,w.type==="opaque")throw l;return w.text().then(k=>{var T;if(l.message=k,i.errorType==="json"||((T=w.headers.get("Content-Type"))===null||T===void 0?void 0:T.split(";")[0])==="application/json")try{l.json=JSON.parse(k)}catch{}throw l.text=k,l.status=w.status,l})}return w}),S=w=>w.catch(l=>{const k=l.hasOwnProperty(Ie),T=k?l[Ie]:l,O=(T==null?void 0:T.status)&&f.get(T.status)||f.get(T==null?void 0:T.name)||k&&f.has(Ie)&&f.get(Ie);if(O)return O(T,t);const C=f.get(or);if(C)return C(T,t);throw T}),v=w=>l=>S(w?b.then(k=>k&&k[w]()).then(k=>l?l(k):k):b.then(k=>l?l(k):k)),P={_wretchReq:t,_fetchReq:p,_sharedState:e,res:v(null),json:v("json"),blob:v("blob"),formData:v("formData"),arrayBuffer:v("arrayBuffer"),text:v("text"),error(w,l){return f.set(w,l),this},badRequest(w){return this.error(400,w)},unauthorized(w){return this.error(401,w)},forbidden(w){return this.error(403,w)},notFound(w){return this.error(404,w)},timeout(w){return this.error(408,w)},internalError(w){return this.error(500,w)},fetchError(w){return this.error(Ie,w)}},_=h.reduce((w,l)=>({...w,...typeof l.resolver=="function"?l.resolver(w):l.resolver}),P);return a.reduce((w,l)=>l(w,t),_)},ji={_url:"",_options:{},_config:je,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:ye(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const n=this._url.split("?");return{...this,_url:n.length>1?n[0]+t+"?"+n[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:ye(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:ye(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[ir]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const n=new Map(this._catchers);return n.set(t,e),{...this,_catchers:n}},catcherFallback(t){return this.catcher(or,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",n=null){let r=this.url(e).options({method:t});const i=on(r._options.headers),o=this._config.polyfill("FormData",!1),a=typeof n=="object"&&!(o&&n instanceof o)&&(!r._options.headers||!i||an(i));return r=n?a?r.json(n,i):r.body(n):r,Oi(r._deferred.reduce((s,h)=>h(s,s._url,s._options),r))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const n=on(this._options.headers);return this.content(e||an(n)&&n||Si).body(JSON.stringify(t))}};function ie(t="",e={}){return{...ji,_url:t,_options:e}}ie.default=ie;ie.options=_i;ie.errorType=Pi;ie.polyfills=Ei;ie.WretchError=ar;function q(){sessionStorage.removeItem(Ot),ue(Q.CLEAR_CACHE,{})}function Ci(t){const e=t.endpoint||`https://api2.${fe}`,n=g=>async(I,E)=>{let L=sessionStorage.getItem(Ot);L||(L=Date.now().toString(),sessionStorage.setItem(Ot,L));const Z={...E,headers:{...E.headers,"Cache-Timestamp":L}};return g(I,Z)},r=(g=!0)=>I=>async(E,L)=>{let Z=null;if(Z=await Ne(g),!Z){if(g)throw new Error("No access token available");return I(E,L)}const R={...L,headers:{...L.headers,...Z?{Authorization:`Bearer ${Z}`}:{}}};return I(E,R)},i=g=>(I,E)=>{if(E.headers.Authorization)return g(I,E);const L=localStorage.getItem("__anon_id"),Z=btoa(`${L}:`),R={...E,headers:{...E.headers,Authorization:`Basic ${Z}`}};return g(I,R)},o=ie(e).headers({"Content-Type":"application/json"}).middlewares([n,r(),nn(),rn({delayTimer:1e3,delayRamp:(g,I)=>g*I,maxAttempts:3,until:g=>!!(g&&(g.ok||g.status>=400&&g.status<500)),retryOnNetworkError:!1})]),a=ie(e).headers({"Content-Type":"application/json"}).middlewares([n,r(!1),i,nn(),rn({delayTimer:1e3,delayRamp:(g,I)=>g*I,maxAttempts:3,until:g=>!!(g&&(g.ok||g.status>=400&&g.status<500)),retryOnNetworkError:!1})]);async function s(){return o.get("/entitlements").json()}async function h(g){const I=await o.get("/entitlements").json();return I==null?void 0:I.find(E=>E.id===g)}async function f(g){return o.get(`/entitlements/${g}/access`).json()}async function u(){return o.get("/contracts").json()}async function c(g){const I=await o.get("/contracts").json();return I==null?void 0:I.find(E=>E.id===g)}async function p(){return o.get("/subscriptions").json()}async function d(){return o.get("/bills").json()}async function b(g){const I=await o.get("/bills").json();return I==null?void 0:I.find(E=>E.id===g)}async function S(g,I){const E=await o.url(`/user-metadata/${g}`).put(I).json();return ue(Q.USER_ATTRIBUTE_CHANGED,{}),q(),E}async function v(g){const I=await o.url(`/user-metadata/${g}`).delete().res();return q(),I.ok}async function P(g){return(await o.url(`/user-metadata/${g}`).get().json())[g]}async function _(){return await o.url("/user-metadata").get().json()}async function w(){return await o.url("/tags").get().json()}async function l(g){const I=await o.url(`/tags/${g}`).delete().res();return q(),I.ok}async function k(g){const I=await o.url("/tags").post(g).res();return ue(Q.USER_ATTRIBUTE_CHANGED,{}),q(),I.ok}async function T(g){return(await a.url("/tallies").get().json())[g]}async function O(){return await a.url("/tallies").get().json()}async function C(g){const I=await a.url(`/tallies/${g}`).delete().res();return q(),I.ok}async function N(g,I){return await a.url(`/tallies/${g}/push`).post(I).json()}async function z(g){return await o.url(`/products/${g}`).get().json()}async function H(){return await Ne(!1)?await o.url("/profile").get().json():null}async function $(g){const I=await o.url("/profile").patch(g).res();return q(),I.ok}async function U(){return await o.url("/payment-issues").get().json()}async function M(){return(await o.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function j(){return(await o.url("/profile/unlink-spotify").post().res()).ok}async function K(g){const I=await Ne(!1);if(!I)throw new Error("No access token available");const E=new URL(`https://spotify-oas.${fe}/sesamy-callback`);E.searchParams.set("access_token",I),E.searchParams.set("state",g),window.location.href=E.toString()}async function J(g){const I=await o.url(`/products/${g}/auto-onboard`).post().json();return I.length&&q(),I}async function le(g,I=3600){const{shortlink:E}=await ie(hi).post({url:g,ttl:I}).json();return E}async function m(g){const I=await Ne(!1);let E;switch(g.target){case"account":E=new URL(`https://account.${fe}/subscriptions/${t.clientId}`);break;case"consume":E=new URL(`https://consume.${fe}/@${t.clientId}/${g.sku}`),g.episodeId&&(E.href+=`/${g.episodeId}`);break;default:throw new Error("Invalid target")}return E.searchParams.set("sesamy-redirect-url",g.redirectUrl||window.location.href),I&&(E.hash=`#access_token=${I}`),g.shorten?le(E.href,g.ttl):E.href}async function y(){const g=await Ne(!1),I=new URL(`https://account.${fe}/subscriptions/${t.clientId}`);g&&(I.hash=`#access_token=${g}`),window.location.href=I.toString()}return{getEntitlements:s,getEntitlement:h,getEntitlementAccess:f,getContracts:u,getContract:c,getProfile:H,updateProfile:$,getSubscriptions:p,getBills:d,getBill:b,setUserMetadata:S,deleteUserMetadata:v,getUserMetadata:P,listUserMetadata:_,getTags:w,deleteTag:l,setTag:k,getTally:T,getTallies:O,deleteTally:C,pushTally:N,getProduct:z,getPaymentIssues:U,autoOnboardProduct:J,isSpotifyLinked:M,unlinkSpotify:j,linkSpotify:K,generateLink:m,openHostedAccountPage:y}}const sr="@sesamy/sesamy-js",Dt="1.13.2";function sn(t,e,n,r,i){for(e=e.split?e.split("."):e,r=0;r<e.length;r++)t=t?t[e[r]]:i;return t===i?n:t}var Ye="undefined",cn="object",jt=function(){},cr="any",ur="*",ve="__",it=typeof process<"u"?process:{};it.env&&it.env.NODE_ENV;var F=typeof document<"u";it.versions!=null&&it.versions.node!=null;typeof Deno<"u"&&Deno.core;F&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function lr(t,e){return e.charAt(0)[t]()+e.slice(1)}var xi=lr.bind(null,"toUpperCase"),Ai=lr.bind(null,"toLowerCase");function $i(t){return dr(t)?xi("null"):typeof t=="object"?Ni(t):Object.prototype.toString.call(t).slice(8,-1)}function ot(t,e){e===void 0&&(e=!0);var n=$i(t);return e?Ai(n):n}function Je(t,e){return typeof e===t}var V=Je.bind(null,"function"),se=Je.bind(null,"string"),_e=Je.bind(null,"undefined"),Li=Je.bind(null,"boolean");Je.bind(null,"symbol");function dr(t){return t===null}function Ui(t){return ot(t)==="number"&&!isNaN(t)}function hr(t){return ot(t)==="array"}function X(t){if(!Ri(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Ri(t){return t&&(typeof t=="object"||t!==null)}function Ni(t){return V(t.constructor)?t.constructor.name:null}function zi(t){return t instanceof Error||se(t.message)&&t.constructor&&Ui(t.constructor.stackTraceLimit)}function fr(t,e){if(typeof e!="object"||dr(e))return!1;if(e instanceof t)return!0;var n=ot(new t(""));if(zi(e))for(;e;){if(ot(e)===n)return!0;e=Object.getPrototypeOf(e)}return!1}fr.bind(null,TypeError);fr.bind(null,SyntaxError);function ct(t,e){var n=t instanceof Element||t instanceof HTMLDocument;return n&&e?Di(t,e):n}function Di(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function ut(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}ut(ct,"form");ut(ct,"button");ut(ct,"input");ut(ct,"select");function Mi(t){return t?hr(t)?t:[t]:[]}function un(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function Zi(){if(F){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function Hi(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Ki(t){return function(e){for(var n,r=Object.create(null),i=/([^&=]+)=?([^&]*)/g;n=i.exec(e);){var o=un(n[1]),a=un(n[2]);o.substring(o.length-2)==="[]"?(r[o=o.substring(0,o.length-2)]||(r[o]=[])).push(a):r[o]=a===""||a}for(var s in r){var h=s.split("[");h.length>1&&(Wi(r,h.map(function(f){return f.replace(/[?[\]\\ ]/g,"")}),r[s]),delete r[s])}return r}(function(e){return F&&window.location.search.substring(1)}())}function Wi(t,e,n){for(var r=e.length-1,i=0;i<r;++i){var o=e[i];if(o==="__proto__"||o==="constructor")break;o in t||(t[o]={}),t=t[o]}t[e[r]]=n}function lt(){for(var t="",e=0,n=4294967295*Math.random()|0;e++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],i=15&n;t+=r=="-"||r=="4"?r:(r=="x"?i:3&i|8).toString(16),n=e%8==0?4294967295*Math.random()|0:n>>4}return t}function Fi(t,e){var n,r,i,o=null,a=0,s=function(){a=new Date,o=null,i=t.apply(n,r)};return function(){var h=new Date;a||(a=h);var f=e-(h-a);return n=this,r=arguments,f<=0?(clearTimeout(o),o=null,a=h,i=t.apply(n,r)):o||(o=setTimeout(s,f)),i}}var Me="global",Ce=ve+"global"+ve,xe=typeof self===cn&&self.self===self&&self||typeof global===cn&&global.global===global&&global||void 0;function be(t){return xe[Ce][t]}function ke(t,e){return xe[Ce][t]=e}function $e(t){delete xe[Ce][t]}function Le(t,e,n){var r;try{if(Mt(t)){var i=window[t];r=i[e].bind(i)}}catch{}return r||n}xe[Ce]||(xe[Ce]={});var Ge={};function Mt(t){if(typeof Ge[t]!==Ye)return Ge[t];try{var e=window[t];e.setItem(Ye,Ye),e.removeItem(Ye)}catch{return Ge[t]=!1}return Ge[t]=!0}function A(){return A=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},A.apply(this,arguments)}var ae="function",re="undefined",Ji="@@redux/"+Math.random().toString(36),ln=function(){return typeof Symbol===ae&&Symbol.observable||"@@observable"}(),Be=" != "+ae;function pr(t,e,n){var r;if(typeof e===ae&&typeof n===re&&(n=e,e=void 0),typeof n!==re){if(typeof n!==ae)throw new Error("enhancer"+Be);return n(pr)(t,e)}if(typeof t!==ae)throw new Error("reducer"+Be);var i=t,o=e,a=[],s=a,h=!1;function f(){s===a&&(s=a.slice())}function u(){return o}function c(d){if(typeof d!==ae)throw new Error("Listener"+Be);var b=!0;return f(),s.push(d),function(){if(b){b=!1,f();var S=s.indexOf(d);s.splice(S,1)}}}function p(d){if(!X(d))throw new Error("Act != obj");if(typeof d.type===re)throw new Error("ActType "+re);if(h)throw new Error("Dispatch in reducer");try{h=!0,o=i(o,d)}finally{h=!1}for(var b=a=s,S=0;S<b.length;S++)(0,b[S])();return d}return p({type:"@@redux/INIT"}),(r={dispatch:p,subscribe:c,getState:u,replaceReducer:function(d){if(typeof d!==ae)throw new Error("next reducer"+Be);i=d,p({type:"@@redux/INIT"})}})[ln]=function(){var d,b=c;return(d={subscribe:function(S){if(typeof S!="object")throw new TypeError("Observer != obj");function v(){S.next&&S.next(u())}return v(),{unsubscribe:b(v)}}})[ln]=function(){return this},d},r}function Xi(t,e){var n=e&&e.type;return"action "+(n&&n.toString()||"?")+"reducer "+t+" returns "+re}function Ae(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,n){return function(){return e(n.apply(void 0,[].slice.call(arguments)))}})}function Vi(){var t=arguments;return function(e){return function(n,r,i){var o,a=e(n,r,i),s=a.dispatch,h={getState:a.getState,dispatch:function(f){return s(f)}};return o=[].slice.call(t).map(function(f){return f(h)}),A({},a,{dispatch:s=Ae.apply(void 0,o)(a.dispatch)})}}}var ce=ve+"anon_id",we=ve+"user_id",Pe=ve+"user_traits",oe="userId",Ee="anonymousId",rt=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],Ct=["name","EVENTS","config","loaded"],x=rt.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),dn=/^utm_/,hn=/^an_prop_/,fn=/^an_trait_/;function Yi(t){var e=t.storage.setItem;return function(n){return function(r){return function(i){if(i.type===x.bootstrap){var o=i.params,a=i.user,s=i.persistedUser,h=i.initialUser,f=s.userId===a.userId;s.anonymousId!==a.anonymousId&&e(ce,a.anonymousId),f||e(we,a.userId),h.traits&&e(Pe,A({},f&&s.traits?s.traits:{},h.traits));var u=Object.keys(i.params);if(u.length){var c=o.an_uid,p=o.an_event,d=u.reduce(function(b,S){if(S.match(dn)||S.match(/^(d|g)clid/)){var v=S.replace(dn,"");b.campaign[v==="campaign"?"name":v]=o[S]}return S.match(hn)&&(b.props[S.replace(hn,"")]=o[S]),S.match(fn)&&(b.traits[S.replace(fn,"")]=o[S]),b},{campaign:{},props:{},traits:{}});n.dispatch(A({type:x.params,raw:o},d,c?{userId:c}:{})),c&&setTimeout(function(){return t.identify(c,d.traits)},0),p&&setTimeout(function(){return t.track(p,d.props)},0),Object.keys(d.campaign).length&&n.dispatch({type:x.campaign,campaign:d.campaign})}}return r(i)}}}}function Gi(t){return function(e,n){if(e===void 0&&(e={}),n===void 0&&(n={}),n.type===x.setItemEnd){if(n.key===ce)return A({},e,{anonymousId:n.value});if(n.key===we)return A({},e,{userId:n.value})}switch(n.type){case x.identify:return Object.assign({},e,{userId:n.userId,traits:A({},e.traits,n.traits)});case x.reset:return[we,ce,Pe].forEach(function(r){t.removeItem(r)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function pn(t){return{userId:t.getItem(we),anonymousId:t.getItem(ce),traits:t.getItem(Pe)}}var xt=function(t){return ve+"TEMP"+ve+t};function Bi(t){var e=t.storage,n=e.setItem,r=e.removeItem,i=e.getItem;return function(o){return function(a){return function(s){var h=s.userId,f=s.traits,u=s.options;if(s.type===x.reset&&([we,Pe,ce].forEach(function(d){r(d)}),[oe,Ee,"traits"].forEach(function(d){$e(xt(d))})),s.type===x.identify){i(ce)||n(ce,lt());var c=i(we),p=i(Pe)||{};c&&c!==h&&o.dispatch({type:x.userIdChanged,old:{userId:c,traits:p},new:{userId:h,traits:f},options:u}),h&&n(we,h),f&&n(Pe,A({},p,f))}return a(s)}}}}var De={};function mn(t,e){De[t]&&V(De[t])&&(De[t](e),delete De[t])}function mr(t,e,n){return new Promise(function(r,i){return e()?r(t):n<1?i(A({},t,{queue:!0})):new Promise(function(o){return setTimeout(o,10)}).then(function(o){return mr(t,e,n-10).then(r,i)})})}function qi(t){return{abort:t}}function gr(t,e,n){var r={},i=e(),o=t.getState(),a=o.plugins,s=o.queue,h=o.user;if(!o.context.offline&&s&&s.actions&&s.actions.length){var f=s.actions.reduce(function(c,p,d){return a[p.plugin].loaded?(c.process.push(p),c.processIndex.push(d)):(c.requeue.push(p),c.requeueIndex.push(d)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(f.processIndex&&f.processIndex.length){f.processIndex.forEach(function(c){var p=s.actions[c],d=p.plugin,b=p.payload.type,S=i[d][b];if(S&&V(S)){var v,P=function(l,k){return l===void 0&&(l={}),k===void 0&&(k={}),[oe,Ee].reduce(function(T,O){return l.hasOwnProperty(O)&&k[O]&&k[O]!==l[O]&&(T[O]=k[O]),T},l)}(p.payload,h),_=r[P.meta.rid];if(!_&&(v=S({payload:P,config:a[d].config,instance:n,abort:qi}))&&X(v)&&v.abort)return void(r[P.meta.rid]=!0);if(!_){var w=b+":"+d;t.dispatch(A({},P,{type:w,_:{called:w,from:"queueDrain"}}))}}});var u=s.actions.filter(function(c,p){return!~f.processIndex.indexOf(p)});s.actions=u}}}var wt=function(t){var e=t.data,n=t.action,r=t.instance,i=t.state,o=t.allPlugins,a=t.allMatches,s=t.store,h=t.EVENTS;try{var f=i.plugins,u=i.context,c=n.type,p=c.match(Te),d=e.exact.map(function(v){return v.pluginName});p&&(d=a.during.map(function(v){return v.pluginName}));var b=function(v,P){return function(_,w,l){var k=w.config,T=w.name,O=T+"."+_.type;l&&(O=l.event);var C=_.type.match(Te)?function(N,z,H,$,U){return function(M,j){var K=$?$.name:N,J=j&&Fe(j)?j:H;if($&&(!(J=j&&Fe(j)?j:[N]).includes(N)||J.length!==1))throw new Error("Method "+z+" can only abort "+N+" plugin. "+JSON.stringify(J)+" input valid");return A({},U,{abort:{reason:M,plugins:J,caller:z,_:K}})}}(T,O,P,l,_):function(N,z){return function(){throw new Error(N.type+" action not cancellable. Remove abort in "+z)}}(_,O);return{payload:Qi(_),instance:v,config:k||{},abort:C}}}(r,d),S=e.exact.reduce(function(v,P){var _=P.pluginName,w=P.methodName,l=!1;return w.match(/^initialize/)||w.match(/^reset/)||(l=!f[_].loaded),u.offline&&w.match(/^(page|track|identify)/)&&(l=!0),v[""+_]=l,v},{});return Promise.resolve(e.exact.reduce(function(v,P,_){try{var w=P.pluginName;return Promise.resolve(v).then(function(l){function k(){return Promise.resolve(l)}var T=function(){if(e.namespaced&&e.namespaced[w])return Promise.resolve(e.namespaced[w].reduce(function(O,C,N){try{return Promise.resolve(O).then(function(z){return C.method&&V(C.method)?(function(M,j){var K=In(M);if(K&&K.name===j){var J=In(K.method);throw new Error([j+" plugin is calling method "+M,"Plugins cant call self","Use "+K.method+" "+(J?"or "+J.method:"")+" in "+j+" plugin insteadof "+M].join(`
6
+ `))}}(C.methodName,C.pluginName),Promise.resolve(C.method({payload:z,instance:r,abort:(H=z,$=w,U=C.pluginName,function(M,j){return A({},H,{abort:{reason:M,plugins:j||[$],caller:c,from:U||$}})}),config:wn(C.pluginName,f,o),plugins:f})).then(function(M){var j=X(M)?M:{};return Promise.resolve(A({},z,j))})):z;var H,$,U})}catch(z){return Promise.reject(z)}},Promise.resolve(n))).then(function(O){l[w]=O});l[w]=n}();return T&&T.then?T.then(k):k()})}catch(l){return Promise.reject(l)}},Promise.resolve({}))).then(function(v){return Promise.resolve(e.exact.reduce(function(P,_,w){try{var l=e.exact.length===w+1,k=_.pluginName,T=o[k];return Promise.resolve(P).then(function(O){var C=v[k]?v[k]:{};if(p&&(C=O),bt(C,k))return vt({data:C,method:c,instance:r,pluginName:k,store:s}),Promise.resolve(O);if(bt(O,k))return l&&vt({data:O,method:c,instance:r,store:s}),Promise.resolve(O);if(S.hasOwnProperty(k)&&S[k]===!0)return s.dispatch({type:"queue",plugin:k,payload:C,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(O);var N=b(v[k],o[k]);return Promise.resolve(T[c]({abort:N.abort,payload:C,instance:r,config:wn(k,f,o),plugins:f})).then(function(z){var H=X(z)?z:{},$=A({},O,H),U=v[k];if(bt(U,k))vt({data:U,method:c,instance:r,pluginName:k,store:s});else{var M=c+":"+k;(M.match(/:/g)||[]).length<2&&!c.match(gn)&&!c.match(yn)&&r.dispatch(A({},p?$:C,{type:M,_:{called:M,from:"submethod"}}))}return Promise.resolve($)})})}catch(O){return Promise.reject(O)}},Promise.resolve(n))).then(function(P){if(!(c.match(Te)||c.match(/^registerPlugin/)||c.match(yn)||c.match(gn)||c.match(/^params/)||c.match(/^userIdChanged/))){if(h.plugins.includes(c),P._&&P._.originalAction===c)return P;var _=A({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});yr(P,e.exact.length)&&!c.match(/End$/)&&(_=A({},_,{type:P.type+"Aborted"})),s.dispatch(_)}return P})})}catch(v){return Promise.reject(v)}},Te=/Start$/,gn=/^bootstrap/,yn=/^ready/;function vt(t){var e=t.pluginName,n=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(A({},t.data,{type:n,_:{called:n,from:"abort"}}))}function wn(t,e,n){var r=e[t]||n[t];return r&&r.config?r.config:{}}function vn(t,e){return e.reduce(function(n,r){return r[t]?n.concat({methodName:t,pluginName:r.name,method:r[t]}):n},[])}function bn(t,e){var n=t.replace(Te,""),r=e?":"+e:"";return[""+t+r,""+n+r,n+"End"+r]}function bt(t,e){var n=t.abort;return!!n&&(n===!0||kn(n,e)||n&&kn(n.plugins,e))}function yr(t,e){var n=t.abort;if(!n)return!1;if(n===!0||se(n))return!0;var r=n.plugins;return Fe(n)&&n.length===e||Fe(r)&&r.length===e}function Fe(t){return Array.isArray(t)}function kn(t,e){return!(!t||!Fe(t))&&t.includes(e)}function In(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Qi(t){return Object.keys(t).reduce(function(e,n){return n==="type"||(e[n]=X(t[n])?Object.assign({},t[n]):t[n]),e},{})}function eo(t,e,n){var r={};return function(i){return function(o){return function(a){try{var s,h=function(l){return s?l:o(c)},f=a.type,u=a.plugins,c=a;if(a.abort)return Promise.resolve(o(a));if(f===x.enablePlugin&&i.dispatch({type:x.initializeStart,plugins:u,disabled:[],fromEnable:!0,meta:a.meta}),f===x.disablePlugin&&setTimeout(function(){return mn(a.meta.rid,{payload:a})},0),f===x.initializeEnd){var p=e(),d=Object.keys(p),b=d.filter(function(l){return u.includes(l)}).map(function(l){return p[l]}),S=[],v=[],P=a.disabled,_=b.map(function(l){var k=l.loaded,T=l.name,O=l.config;return mr(l,function(){return k({config:O})},1e4).then(function(C){return r[T]||(i.dispatch({type:x.pluginReadyType(T),name:T,events:Object.keys(l).filter(function(N){return!Ct.includes(N)})}),r[T]=!0),S=S.concat(T),l}).catch(function(C){if(C instanceof Error)throw new Error(C);return v=v.concat(C.name),C})});Promise.all(_).then(function(l){var k={plugins:S,failed:v,disabled:P};setTimeout(function(){d.length===_.length+P.length&&i.dispatch(A({},{type:x.ready},k))},0)})}var w=function(){if(f!==x.bootstrap)return/^ready:([^:]*)$/.test(f)&&setTimeout(function(){return gr(i,e,t)},0),Promise.resolve(function(l,k,T,O,C){try{var N=V(k)?k():k,z=l.type,H=z.replace(Te,"");if(l._&&l._.called)return Promise.resolve(l);var $=T.getState(),U=(K=N,(J=$.plugins)===void 0&&(J={}),(le=l.options)===void 0&&(le={}),Object.keys(K).filter(function(m){var y=le.plugins||{};return Li(y[m])?y[m]:y.all!==!1&&(!J[m]||J[m].enabled!==!1)}).map(function(m){return K[m]}));z===x.initializeStart&&l.fromEnable&&(U=Object.keys($.plugins).filter(function(m){var y=$.plugins[m];return l.plugins.includes(m)&&!y.initialized}).map(function(m){return N[m]}));var M=U.map(function(m){return m.name}),j=function(m,y,g){var I=bn(m).map(function(E){return vn(E,y)});return y.reduce(function(E,L){var Z=L.name,R=bn(m,Z).map(function(Ue){return vn(Ue,y)}),W=R[0],D=R[1],ee=R[2];return W.length&&(E.beforeNS[Z]=W),D.length&&(E.duringNS[Z]=D),ee.length&&(E.afterNS[Z]=ee),E},{before:I[0],beforeNS:{},during:I[1],duringNS:{},after:I[2],afterNS:{}})}(z,U);return Promise.resolve(wt({action:l,data:{exact:j.before,namespaced:j.beforeNS},state:$,allPlugins:N,allMatches:j,instance:T,store:O,EVENTS:C})).then(function(m){function y(){var E=function(){if(z.match(Te))return Promise.resolve(wt({action:A({},g,{type:H+"End"}),data:{exact:j.after,namespaced:j.afterNS},state:$,allPlugins:N,allMatches:j,instance:T,store:O,EVENTS:C})).then(function(L){L.meta&&L.meta.hasCallback&&mn(L.meta.rid,{payload:L})})}();return E&&E.then?E.then(function(){return m}):m}if(yr(m,M.length))return m;var g,I=function(){if(z!==H)return Promise.resolve(wt({action:A({},m,{type:H}),data:{exact:j.during,namespaced:j.duringNS},state:$,allPlugins:N,allMatches:j,instance:T,store:O,EVENTS:C})).then(function(E){g=E});g=m}();return I&&I.then?I.then(y):y()})}catch(m){return Promise.reject(m)}var K,J,le}(a,e,t,i,n)).then(function(l){return s=1,o(l)})}();return Promise.resolve(w&&w.then?w.then(h):h(w))}catch(l){return Promise.reject(l)}}}}}function to(t){return function(e){return function(n){return function(r){var i=r.type,o=r.key,a=r.value,s=r.options;if(i===x.setItem||i===x.removeItem){if(r.abort)return n(r);i===x.setItem?t.setItem(o,a,s):t.removeItem(o,s)}return n(r)}}}}var no=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,n){t[n]=t[n].concat(e)},this.removeMiddleware=function(e,n){var r=t[n].findIndex(function(i){return i===e});r!==-1&&(t[n]=[].concat(t[n].slice(0,r),t[n].slice(r+1)))},this.dynamicMiddlewares=function(e){return function(n){return function(r){return function(i){var o={getState:n.getState,dispatch:function(s){return n.dispatch(s)}},a=t[e].map(function(s){return s(o)});return Ae.apply(void 0,a)(r)(i)}}}}};function ro(t){return function(e,n){e===void 0&&(e={});var r={};if(n.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(n.type)){var i=Sn(n.type,"registerPlugin"),o=t()[i];if(!o||!i)return e;var a=n.enabled,s=o.config;return r[i]={enabled:a,initialized:!!a&&!o.initialize,loaded:!!a&&!!o.loaded({config:s}),config:s},A({},e,r)}if(/^initialize:([^:]*)$/.test(n.type)){var h=Sn(n.type,x.initialize),f=t()[h];return f&&h?(r[h]=A({},e[h],{initialized:!0,loaded:!!f.loaded({config:f.config})}),A({},e,r)):e}if(/^ready:([^:]*)$/.test(n.type))return r[n.name]=A({},e[n.name],{loaded:!0}),A({},e,r);switch(n.type){case x.disablePlugin:return A({},e,_n(n.plugins,!1,e));case x.enablePlugin:return A({},e,_n(n.plugins,!0,e));default:return e}}}function Sn(t,e){return t.substring(e.length+1,t.length)}function _n(t,e,n){return t.reduce(function(r,i){return r[i]=A({},n[i],{enabled:e}),r},n)}function wr(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var io={last:{},history:[]};function oo(t,e){t===void 0&&(t=io);var n=e.options,r=e.meta;if(e.type===x.track){var i=wr(A({event:e.event,properties:e.properties},Object.keys(n).length&&{options:n},{meta:r}));return A({},t,{last:i,history:t.history.concat(i)})}return t}var ao={actions:[]};function so(t,e){t===void 0&&(t=ao);var n=e.payload;switch(e.type){case"queue":var r;return r=n&&n.type&&n.type===x.identify?[e].concat(t.actions):t.actions.concat(e),A({},t,{actions:r});case"dequeue":return[];default:return t}}var vr=/#.*$/;function co(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(vr,""):"")}var br,kr,Ir,Sr,uo=function(t){if(t===void 0&&(t={}),!F)return t;var e=document,n=e.title,r=e.referrer,i=window,o=i.location,a=i.innerWidth,s=i.innerHeight,h=o.hash,f=o.search,u=function(p){var d=function(){if(F){for(var b,S=document.getElementsByTagName("link"),v=0;b=S[v];v++)if(b.getAttribute("rel")==="canonical")return b.getAttribute("href")}}();return d?d.match(/\?/)?d:d+p:window.location.href.replace(vr,"")}(f),c={title:n,url:u,path:co(u),hash:h,search:f,width:a,height:s};return r&&r!==""&&(c.referrer=r),A({},c,t)},lo={last:{},history:[]};function ho(t,e){t===void 0&&(t=lo);var n=e.options;if(e.type===x.page){var r=wr(A({properties:e.properties,meta:e.meta},Object.keys(n).length&&{options:n}));return A({},t,{last:r,history:t.history.concat(r)})}return t}br=function(){if(!F)return!1;var t=navigator.appVersion;return~t.indexOf("Win")?"Windows":~t.indexOf("Mac")?"MacOS":~t.indexOf("X11")?"UNIX":~t.indexOf("Linux")?"Linux":"Unknown OS"}(),kr=F?document.referrer:null,Ir=Zi(),Sr=Hi();var En={initialized:!1,sessionId:lt(),app:null,version:null,debug:!1,offline:!!F&&!navigator.onLine,os:{name:br},userAgent:F?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.7"},timezone:Sr,locale:Ir,campaign:{},referrer:kr};function fo(t,e){t===void 0&&(t=En);var n=t.initialized,r=e.campaign;switch(e.type){case x.campaign:return A({},t,{campaign:r});case x.offline:return A({},t,{offline:!0});case x.online:return A({},t,{offline:!1});default:return n?t:A({},En,t,{initialized:!0})}}var po=["plugins","reducers","storage"];function mo(t,e,n){if(F){var r=window[(n?"add":"remove")+"EventListener"];t.split(" ").forEach(function(i){r(i,e)})}}function go(t){var e=mo.bind(null,"online offline",function(n){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(n){return e(!1)}}function _r(){return ke("analytics",[]),function(t){return function(e,n,r){var i=t(e,n,r),o=i.dispatch;return Object.assign(i,{dispatch:function(a){return xe[Ce].analytics.push(a.action||a),o(a)}})}}}function Pn(t){return function(){return Ae(Ae.apply(null,arguments),_r())}}function kt(t){return t?hr(t)?t:[t]:[]}function Tn(t,e,n){t===void 0&&(t={});var r,i,o=lt();return e&&(De[o]=(r=e,i=function(a){for(var s,h=a||Array.prototype.slice.call(arguments),f=0;f<h.length;f++)if(V(h[f])){s=h[f];break}return s}(n),function(a){i&&i(a),r(a)})),A({},t,{rid:o,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function yo(t){t===void 0&&(t={});var e=t.reducers||{},n=t.initialUser||{},r=(t.plugins||[]).reduce(function(m,y){if(V(y))return m.middlewares=m.middlewares.concat(y),m;if(y.NAMESPACE&&(y.name=y.NAMESPACE),!y.name)throw new Error("https://lytics.dev/errors/1");y.config||(y.config={});var g=y.EVENTS?Object.keys(y.EVENTS).map(function(L){return y.EVENTS[L]}):[];m.pluginEnabled[y.name]=!(y.enabled===!1||y.config.enabled===!1),delete y.enabled,y.methods&&(m.methods[y.name]=Object.keys(y.methods).reduce(function(L,Z){var R;return L[Z]=(R=y.methods[Z],function(){for(var W=Array.prototype.slice.call(arguments),D=new Array(R.length),ee=0;ee<W.length;ee++)D[ee]=W[ee];return D[D.length]=k,R.apply({instance:k},D)}),L},{}),delete y.methods);var I=Object.keys(y).concat(g),E=new Set(m.events.concat(I));if(m.events=Array.from(E),m.pluginsArray=m.pluginsArray.concat(y),m.plugins[y.name])throw new Error(y.name+"AlreadyLoaded");return m.plugins[y.name]=y,m.plugins[y.name].loaded||(m.plugins[y.name].loaded=function(){return!0}),m},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),i=t.storage?t.storage:{getItem:be,setItem:ke,removeItem:$e},o=function(m){return function(y,g,I){return g.getState("user")[y]||(I&&X(I)&&I[y]?I[y]:pn(m)[y]||be(xt(y))||null)}}(i),a=r.plugins,s=r.events.filter(function(m){return!Ct.includes(m)}).sort(),h=new Set(s.concat(rt).filter(function(m){return!Ct.includes(m)})),f=Array.from(h).sort(),u=function(){return a},c=new no,p=c.addMiddleware,d=c.removeMiddleware,b=c.dynamicMiddlewares,S=function(){throw new Error("Abort disabled inListener")},v=Ki(),P=pn(i),_=A({},P,n,v.an_uid?{userId:v.an_uid}:{},v.an_aid?{anonymousId:v.an_aid}:{});_.anonymousId||(_.anonymousId=lt());var w=A({enable:function(m,y){return new Promise(function(g){j.dispatch({type:x.enablePlugin,plugins:kt(m),_:{originalAction:x.enablePlugin}},g,[y])})},disable:function(m,y){return new Promise(function(g){j.dispatch({type:x.disablePlugin,plugins:kt(m),_:{originalAction:x.disablePlugin}},g,[y])})}},r.methods),l=!1,k={identify:function(m,y,g,I){try{var E=se(m)?m:null,L=X(m)?m:y,Z=g||{},R=k.user();ke(xt(oe),E);var W=E||L.userId||o(oe,k,L);return Promise.resolve(new Promise(function(D){j.dispatch(A({type:x.identifyStart,userId:W,traits:L||{},options:Z,anonymousId:R.anonymousId},R.id&&R.id!==E&&{previousId:R.id}),D,[y,g,I])}))}catch(D){return Promise.reject(D)}},track:function(m,y,g,I){try{var E=X(m)?m.event:m;if(!E||!se(E))throw new Error("EventMissing");var L=X(m)?m:y||{},Z=X(g)?g:{};return Promise.resolve(new Promise(function(R){j.dispatch({type:x.trackStart,event:E,properties:L,options:Z,userId:o(oe,k,y),anonymousId:o(Ee,k,y)},R,[y,g,I])}))}catch(R){return Promise.reject(R)}},page:function(m,y,g){try{var I=X(m)?m:{},E=X(y)?y:{};return Promise.resolve(new Promise(function(L){j.dispatch({type:x.pageStart,properties:uo(I),options:E,userId:o(oe,k,I),anonymousId:o(Ee,k,I)},L,[m,y,g])}))}catch(L){return Promise.reject(L)}},user:function(m){if(m===oe||m==="id")return o(oe,k);if(m===Ee||m==="anonId")return o(Ee,k);var y=k.getState("user");return m?sn(y,m):y},reset:function(m){return new Promise(function(y){j.dispatch({type:x.resetStart},y,m)})},ready:function(m){return l&&m({plugins:w,instance:k}),k.on(x.ready,function(y){m(y),l=!0})},on:function(m,y){if(!m||!V(y))return!1;if(m===x.bootstrap)throw new Error(".on disabled for "+m);var g=/Start$|Start:/;if(m==="*"){var I=function(R){return function(W){return function(D){return D.type.match(g)&&y({payload:D,instance:k,plugins:a}),W(D)}}},E=function(R){return function(W){return function(D){return D.type.match(g)||y({payload:D,instance:k,plugins:a}),W(D)}}};return p(I,qe),p(E,Qe),function(){d(I,qe),d(E,Qe)}}var L=m.match(g)?qe:Qe,Z=function(R){return function(W){return function(D){return D.type===m&&y({payload:D,instance:k,plugins:a,abort:S}),W(D)}}};return p(Z,L),function(){return d(Z,L)}},once:function(m,y){if(!m||!V(y))return!1;if(m===x.bootstrap)throw new Error(".once disabled for "+m);var g=k.on(m,function(I){y({payload:I.payload,instance:k,plugins:a,abort:S}),g()});return g},getState:function(m){var y=j.getState();return m?sn(y,m):Object.assign({},y)},dispatch:function(m){var y=se(m)?{type:m}:m;if(rt.includes(y.type))throw new Error("reserved action "+y.type);var g=A({},y,{_:A({originalAction:y.type},m._||{})});j.dispatch(g)},enablePlugin:w.enable,disablePlugin:w.disable,plugins:w,storage:{getItem:i.getItem,setItem:function(m,y,g){j.dispatch({type:x.setItemStart,key:m,value:y,options:g})},removeItem:function(m,y){j.dispatch({type:x.removeItemStart,key:m,options:y})}},setAnonymousId:function(m,y){k.storage.setItem(ce,m,y)},events:{core:rt,plugins:s}},T=r.middlewares.concat([function(m){return function(y){return function(g){return g.meta||(g.meta=Tn()),y(g)}}},b(qe),eo(k,u,{all:f,plugins:s}),to(i),Yi(k),Bi(k),b(Qe)]),O={context:fo,user:Gi(i),page:ho,track:oo,plugins:ro(u),queue:so},C=Ae,N=Ae;if(F&&t.debug){var z=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;z&&(C=z({trace:!0,traceLimit:25})),N=function(){return arguments.length===0?_r():X(typeof arguments[0])?Pn():Pn().apply(null,arguments)}}var H,$=function(m){return Object.keys(m).reduce(function(y,g){return po.includes(g)||(y[g]=m[g]),y},{})}(t),U=r.pluginsArray.reduce(function(m,y){var g=y.name,I=y.config,E=y.loaded,L=r.pluginEnabled[g];return m[g]={enabled:L,initialized:!!L&&!y.initialize,loaded:!!E({config:I}),config:I},m},{}),M={context:$,user:_,plugins:U},j=pr(function(m){for(var y=Object.keys(m),g={},I=0;I<y.length;I++){var E=y[I];typeof m[E]===ae&&(g[E]=m[E])}var L,Z=Object.keys(g);try{(function(R){Object.keys(R).forEach(function(W){var D=R[W];if(typeof D(void 0,{type:"@@redux/INIT"})===re||typeof D(void 0,{type:Ji})===re)throw new Error("reducer "+W+" "+re)})})(g)}catch(R){L=R}return function(R,W){if(R===void 0&&(R={}),L)throw L;for(var D=!1,ee={},Ue=0;Ue<Z.length;Ue++){var Xe=Z[Ue],Xt=R[Xe],ft=(0,g[Xe])(Xt,W);if(typeof ft===re){var zr=Xi(Xe,W);throw new Error(zr)}ee[Xe]=ft,D=D||ft!==Xt}return D?ee:R}}(A({},O,e)),M,N(C(Vi.apply(void 0,T))));j.dispatch=(H=j.dispatch,function(m,y,g){var I=A({},m,{meta:Tn(m.meta,y,kt(g))});return H.apply(null,[I])});var K=Object.keys(a);j.dispatch({type:x.bootstrap,plugins:K,config:$,params:v,user:_,initialUser:n,persistedUser:P});var J=K.filter(function(m){return r.pluginEnabled[m]}),le=K.filter(function(m){return!r.pluginEnabled[m]});return j.dispatch({type:x.registerPlugins,plugins:K,enabled:r.pluginEnabled}),r.pluginsArray.map(function(m,y){var g=m.bootstrap,I=m.config,E=m.name;g&&V(g)&&g({instance:k,config:I,payload:m}),j.dispatch({type:x.registerPluginType(E),name:E,enabled:r.pluginEnabled[E],plugin:m}),r.pluginsArray.length===y+1&&j.dispatch({type:x.initializeStart,plugins:J,disabled:le})}),go(function(m){j.dispatch({type:m?x.offline:x.online})}),function(m,y,g){setInterval(function(){return gr(m,y,g)},3e3)}(j,u,k),k}var qe="before",Qe="after",Ze="cookie",pe=Tr(),Er=dt,wo=dt;function Pr(t){return pe?dt(t,"",-1):$e(t)}function Tr(){if(pe!==void 0)return pe;var t="cookiecookie";try{dt(t,t),pe=document.cookie.indexOf(t)!==-1,Pr(t)}catch{pe=!1}return pe}function dt(t,e,n,r,i,o){if(typeof window<"u"){var a=arguments.length>1;return pe===!1&&(a?ke(t,e):be(t)),a?document.cookie=t+"="+encodeURIComponent(e)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(i?"; domain="+i:"")+(o?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var He="localStorage",vo=Mt.bind(null,"localStorage");Le("localStorage","getItem",be);Le("localStorage","setItem",ke);Le("localStorage","removeItem",$e);var Ke="sessionStorage",bo=Mt.bind(null,"sessionStorage");Le("sessionStorage","getItem",be);Le("sessionStorage","setItem",ke);Le("sessionStorage","removeItem",$e);function Oe(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(X(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var ko=vo(),Io=bo(),So=Tr();function Or(t,e){if(t){var n=Zt(e),r=!Ft(n),i=Ht(n)?Oe(localStorage.getItem(t)):void 0;if(r&&!_e(i))return i;var o=Kt(n)?Oe(Er(t)):void 0;if(r&&o)return o;var a=Wt(n)?Oe(sessionStorage.getItem(t)):void 0;if(r&&a)return a;var s=be(t);return r?s:{localStorage:i,sessionStorage:a,cookie:o,global:s}}}function _o(t,e,n){if(t&&!_e(e)){var r={},i=Zt(n),o=JSON.stringify(e),a=!Ft(i);return Ht(i)&&(r[He]=et(He,e,Oe(localStorage.getItem(t))),localStorage.setItem(t,o),a)?r[He]:Kt(i)&&(r[Ze]=et(Ze,e,Oe(Er(t))),wo(t,o),a)?r[Ze]:Wt(i)&&(r[Ke]=et(Ke,e,Oe(sessionStorage.getItem(t))),sessionStorage.setItem(t,o),a)?r[Ke]:(r[Me]=et(Me,e,be(t)),ke(t,e),a?r[Me]:r)}}function Eo(t,e){if(t){var n=Zt(e),r=Or(t,ur),i={};return!_e(r.localStorage)&&Ht(n)&&(localStorage.removeItem(t),i[He]=r.localStorage),!_e(r.cookie)&&Kt(n)&&(Pr(t),i[Ze]=r.cookie),!_e(r.sessionStorage)&&Wt(n)&&(sessionStorage.removeItem(t),i[Ke]=r.sessionStorage),!_e(r.global)&&ht(n,Me)&&($e(t),i[Me]=r.global),i}}function Zt(t){return t?se(t)?t:t.storage:cr}function Ht(t){return ko&&ht(t,He)}function Kt(t){return So&&ht(t,Ze)}function Wt(t){return Io&&ht(t,Ke)}function Ft(t){return t===ur||t==="all"}function ht(t,e){return t===cr||t===e||Ft(t)}function et(t,e,n){return{location:t,current:e,previous:n}}var Po={setItem:_o,getItem:Or,removeItem:Eo};function To(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function On(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function jn(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?On(Object(n),!0).forEach(function(r){To(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):On(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function Oo(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:Po};return yo(jn(jn({},e),t))}function jo(t,e){e=e||{};var n,r,i=[],o=e.max||1/0;function a(){clearInterval(n),t(i.splice(0,o)),s()}function s(){n=setInterval(a,e.interval||1e4)}return s(),{flush:a,push:function(h){return r=i.push(h),r>=o&&a(),r},size:function(){return i.length},end:function(h){h&&a(),clearInterval(n)}}}function Co(t){if(typeof window>"u")return;const{addEventListener:e,history:n,location:r}=window;let i=r.pathname;e("popstate",()=>t(r.pathname)),["push","replace"].map(o=>{const a=`${o}State`;if(a!=="pushState"&&a!=="replaceState")return;const s=n[a];n[a]=function(...h){var c;const f=((c=h[2])==null?void 0:c.toString())||"",u=Ao(f);return i!==u&&(i=u,setTimeout(()=>t(f),0)),s.apply(n,h)}})}function xo(t,e){const n=t.indexOf(e);return n>-1?t.slice(0,n):t}function Ao(t){return["#","?"].forEach(e=>t=xo(t,e)),t}function $o(){Co(()=>{ne.page()})}function Lo(t){if(t===void 0&&(t={}),!F)return jt;var e=xn(),n=At(),r=Cn(),i=tt(r,e),o=tt(n,e),a=[],s=[],h=[],f=r,u=i,c=o,p=Object.keys(t);if(!p.length)return jt;var d=p.map(function(S){return Number(S)}),b=Fi(function(){var S=xn(),v=function($,U){return U.map(function(M){return M===100?$-5:$*(M/100)})}(S,d),P=At(),_=Cn(),w=tt(_,S),l=tt(P,S);if(u=w>u?w:u,c=l<c?l:c,!(a.length>=d.length)){var k=f===_,T="up";k?T="initial":f<=_&&(T="down");var O=v,C=d;(T==="up"||k)&&(O=v.slice().reverse(),C=d.slice().reverse());var N=C.reduce(function($,U,M){var j=O[M];return h.includes(U)&&_<=j&&(h=h.filter(function(K){return K!==U}),$.singleFunction=U),T==="down"&&!a.includes(U)&&_>=j&&U>o?(s.push(U),$.callbacks=$.callbacks.concat(U),$):T==="up"&&!a.includes(U)&&_<=j&&U<=w?($.foundFunc=[U],$):(k&&_>=j&&$.foundFunc.length===0&&($.foundFunc=[U]),!s.includes(U)&&_>=j&&(s.push(U),$.singleFunction?h.push(U):$.singleFunction=U),$)},{foundFunc:[],singleFunction:null,callbacks:[],direction:T});if(f=_,T==="down"&&N.callbacks&&N.callbacks.forEach(function($){V(t[$])&&(t[$]({trigger:$,direction:T,scrollMin:c,scrollMax:u,range:[c,u]}),a.push($))}),N.singleFunction){var z=N.singleFunction,H=N.direction;V(t[z])&&t[z]({trigger:z,direction:H,scrollMin:c,scrollMax:u,range:[c,u]}),a.push(z)}}},500);return window.addEventListener("scroll",b),function(){return window.removeEventListener("scroll",b)}}function At(){return F?document.body.scrollTop||document.documentElement.scrollTop:0}function Uo(){return F?window.innerHeight||document.documentElement.clientHeight:0}function Cn(){return Math.round(At()+Uo())}function xn(){if(!F)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function tt(t,e){return Math.round(t/e*100)}var An="EventListener";function Ro(t){return function(e,n,r,i){var o=r||jt,a=i||!1;if(!F)return o;var s=at(n),h=at(e,!0);if(!h.length)throw new Error("noElements");if(!s.length)throw new Error("noEvent");var f=[];return function u(c){c&&(f=[]);for(var p=c?"add"+An:"remove"+An,d=0;d<h.length;d++){var b=h[d];f[d]=c?a&&a.once?No(o):o:f[d]||o;for(var S=0;S<s.length;S++)b[p]?b["on"+s[S]]=c?f[d]:null:b[p](s[S],f[d],a)}return u.bind(null,!c)}(t)}}function at(t,e){if(se(t))return e?at(document.querySelectorAll(t)):(n=t).split(n.indexOf(",")>-1?",":" ").map(function(a){return a.trim()});var n;if(NodeList.prototype.isPrototypeOf(t)){for(var r=[],i=t.length>>>0;i--;)r[i]=t[i];return r}var o=Mi(t);return e?o.map(function(a){return se(a)?at(a,!0):a}).flat():o}function No(t,e){var n;return function(){return t&&(n=t.apply(this,arguments),t=null),n}}var It=Ro("Event");function jr(t,e){return F&&V(window[t])?(n=window[t],r=e,(i=window)===void 0&&(i=null),V(n)?function(){n.apply(i,arguments),r.apply(i,arguments)}:r):window[t]=e;var n,r,i}jr.bind(null,"onerror");jr.bind(null,"onload");var Cr=typeof window>"u",$n="hidden";function zo(t){if(Cr)return!1;var e=Do(),n="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),r=function(){return t(!!document[e])},i=function(){return document.addEventListener(n,r)};return i(),function(){return document.removeEventListener(n,r),i}}function Do(){var t=["webkit","moz","ms","o"];return Cr||$n in document?$n:t.reduce(function(e,n){var r=n+"Hidden";return!e&&r in document?r:e},null)}var Mo=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Zo(t,e){e===void 0&&(e={});var n=function(a,s){var h=this,f=!1;return function(u){f||(a.call(h,u),f=!0,setTimeout(function(){return f=!1},s))}}(t,e.throttle||1e4),r=[];function i(){var a=zo(function(s){s||n({type:"tabVisible"})});return r=[a].concat(Mo.map(function(s){return It(document,s,n)})).concat(It(window,"load",n)).concat(It(window,"scroll",n,{capture:!0,passive:!0})),o}function o(){r.map(function(a){return a()})}return i(),function(){return o(),i}}function Ho(t){var e,n,r=t.onIdle,i=t.onWakeUp,o=t.onHeartbeat,a=t.timeout,s=a===void 0?1e4:a,h=t.throttle,f=h===void 0?2e3:h,u=!1,c=!1,p=new Date,d=function(){return clearTimeout(e)};function b(v){d(),o&&!u&&o(ze(p),v),i&&u&&(u=!1,i(ze(n),v),p=new Date),e=setTimeout(function(){u=!0,r&&(n=new Date,r(ze(p),v))},s)}var S=Zo(b,{throttle:f});return{disable:function(){c=!0,u=!1,d();var v=S();return function(){return c=!1,p=new Date,b({type:"load"}),v()}},getStatus:function(){return{isIdle:u,isDisabled:c,active:u?0:ze(p,c),idle:u?ze(n,c):0}}}}function ze(t,e){return e?0:Math.round((new Date-t)/1e3)}const Ln=5e3;class Ko{constructor(e){B(this,"element");B(this,"isInViewport",!1);B(this,"isAwake",!1);B(this,"isFlushing");B(this,"observer");B(this,"lastEventAt",Date.now());B(this,"registeredView",!1);B(this,"viewCallback");B(this,"activeDurationCallback");B(this,"idleDurationCallback");B(this,"scrollCallback");this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(n=>{n.forEach(r=>{this.handleInViewPort(r.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),Ho({onIdle:n=>this.handleAwake(!1,n),onWakeUp:n=>this.handleAwake(!0,n),timeout:Ln}),Lo({25:this.handleScroll.bind(this),50:this.handleScroll.bind(this),75:this.handleScroll.bind(this),90:this.handleScroll.bind(this),100:this.handleScroll.bind(this)})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake)}handleInViewPort(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=e}handleAwake(e,n=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-n*Ln:Date.now(),this.isInViewport&&this.trackAwake(e,n)}handleScroll(e){this.scrollCallback&&this.scrollCallback(e)}handleVisibilityChange(){this.isAwake=!1;const e=Math.round((Date.now()-this.lastEventAt)/1e3);e>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,e))}trackAwake(e,n){!e&&this.activeDurationCallback&&this.activeDurationCallback(n,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(n,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}const Un="sesamy_session_id";function Wo(){let t=sessionStorage.getItem(Un);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Un,t)),t}let xr=!1,$t,Rn,st;function Fo({clientId:t,enabled:e=!0,endpoint:n=fi}){if($t=t,Rn=e,st=n,!Rn)return;$o();const r=new Ko({element:document.body,viewCallback:()=>{ne.page()},activeDurationCallback:(i,o,a)=>{ne.track("activeDuration",{duration:i,durationStart:a,flushing:o})},idleDurationCallback:(i,o,a)=>{ne.track("idleDuration",{duration:i,durationStart:a,flushing:o})},scrollCallback:i=>{ne.track("scroll",{scroll:i.scrollMax})}});Vo(document.body,()=>{r.flush()}),Yo(document.body,()=>{r.handleVisibilityChange()}),window.addEventListener(Q.AUTHENTICATED,async i=>{const o=i;await ne.identify(o.detail.sub)}),window.addEventListener(Q.LOGOUT,async()=>{await ne.track("logout",{}),Jt.flush(),await ne.reset()})}function Ar(t){return JSON.stringify(t.map(e=>({...e,clientId:$t,requestId:Math.random().toString(36).slice(2,9),sessionId:Wo(),timestamp:new Date().toISOString(),version:Dt,event:e.event,context:{page:{url:window.location.hostname,path:window.location.pathname,title:document.title,search:window.location.search,referrer:document.referrer},locale:navigator.language,library:sr,userAgent:navigator.userAgent,clientId:$t}})))}const Jt=jo(async t=>{if(t.length>0){const e=Ar(t);xr?navigator.sendBeacon(st,e):(await fetch(st,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function St(t){var e;if(t.anonymousId)if((e=t.properties)!=null&&e.flushing){const n={...t};delete n.properties.flushing,navigator.sendBeacon(st,Ar([n]))}else Jt.push(t)}const ne=Oo({app:sr,version:Dt,plugins:[{name:"custom-analytics-plugin",page:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;St({anonymousId:n,userId:r,properties:e,event:i,type:"page"})},track:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;St({anonymousId:n,userId:r,properties:e,event:i,type:"track"})},identify:({payload:t})=>{const{properties:e,anonymousId:n,userId:r}=t;St({anonymousId:n,userId:r,properties:e,type:"identify"})}}]});function Jo(t,e){ne.track(t,e)}function Xo(){return xr=!0,Jt.flush()}const $r=new Map;function Vo(t,e){$r.set(t,e)}window.addEventListener("beforeunload",()=>{$r.forEach((t,e)=>{t.bind(e)()}),Xo()});const Lr=new Map;function Yo(t,e){Lr.set(t,e)}window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Lr.forEach((t,e)=>{t.bind(e)()})});const Ur="sesamySignedURLs";function Rr(){const t=sessionStorage.getItem(Ur);return t?JSON.parse(t):[]}function Go(t){const e=Rr();e.push(t),sessionStorage.setItem(Ur,JSON.stringify(e))}function Bo(t){const{getEntitlement:e,getEntitlements:n,getEntitlementAccess:r,getSubscriptions:i,getContract:o,getContracts:a,getBill:s,getBills:h,getProfile:f,updateProfile:u,getTags:c,deleteTag:p,setTag:d,getUserMetadata:b,listUserMetadata:S,setUserMetadata:v,deleteUserMetadata:P,getTally:_,getTallies:w,pushTally:l,deleteTally:k,getProduct:T,getPaymentIssues:O,isSpotifyLinked:C,unlinkSpotify:N,linkSpotify:z,autoOnboardProduct:H,openHostedAccountPage:$,generateLink:U}=Ci(t),M={auth:{getUser:f,isAuthenticated:Nt,loginWithRedirect:zt,logout:yi,setToken:rr},profile:{get:f,update:u,openHostedAccountPage:$,isSpotifyLinked:C,unlinkSpotify:N},analytics:{track:Jo},tags:{list:c,set:d,delete:p},entitlements:{get:e,list:n,access:r,signedLinks:Rr},contracts:{get:o,list:a},bills:{get:s,list:h},userMetadata:{get:b,list:S,set:v,delete:P},tallies:{get:_,list:w,push:l,delete:k},subscriptions:{list:i},products:{get:T,autoOnboard:H,linkSpotify:z},getVersion:qo,getPaymentIssues:O,generateLink:U,clearCache:q};return t.namespace&&(window[t.namespace]=M),M}function qo(){return Dt}async function Qo({enabled:t=!1,rules:e}){if(!t)return;const n=await Nt(),r=window.location.href;for(const i of e){const o=document.querySelectorAll(i.selector);if(!(i.path&&!new RegExp(i.path).test(r))){for(const a of o)if(!(i.authenticated!==void 0&&i.authenticated!==n))switch(i.transform){case"insert":if(i.contentType==="selector"&&i.content){const s=document.querySelector(i.content);s?a.innerHTML+=s.innerHTML:console.warn(`Source element for selector '${i.content}' not found`)}else if(i.contentType==="url"&&i.content){const s=await Nn(i.content);s?a.innerHTML+=s:console.warn(`Failed to fetch content from URL '${i.content}'`)}else i.content&&(a.innerHTML+=i.content);break;case"replace":if(i.contentType==="selector"&&i.content){const s=document.querySelector(i.content);s?a.innerHTML=s.innerHTML:console.warn(`Source element for selector '${i.content}' not found`)}else if(i.contentType==="url"&&i.content){const s=await Nn(i.content);s?a.innerHTML=s:console.warn(`Failed to fetch content from URL '${i.content}'`)}else i.content&&(a.innerHTML=i.content);break;case"remove":a.remove();break;default:console.warn(`Unknown transform type: ${i.transform}`)}}}}async function Nn(t){try{const e=await fetch(t);return e.ok?await e.text():(console.error(`Failed to fetch content from ${t}: ${e.statusText}`),null)}catch(e){return console.error(`Error fetching content from ${t}:`,e),null}}function ea(){const t=new URLSearchParams(window.location.hash.substring(1)),e=t.get("access_token");if(e){rr(e);const n=new URL(window.location.href);t.delete("access_token"),n.hash=t.toString(),window.history.replaceState(null,"",n)}}const zn="sesamy-refresh",Dn="force-refetch-entitlements";function ta(){const t=new URLSearchParams(window.location.search),e=t.get(Dn),n=t.get(zn);if(e!==null||n!==null){const r=new URL(window.location.href);t.delete(Dn),t.delete(zn),r.search=t.toString(),q(),window.history.replaceState(null,"",r)}}function na(){const t=new URLSearchParams(window.location.search),e=t.get("token"),n=t.get("se");if(!n||!e)return;const r=parseInt(n,10);if(Number.isNaN(r)||r<Date.now())return;Go({url:window.location.href.split("?")[0],token:e,expiresAt:r,publisherContentId:t.get("sp")??void 0});const i=new URL(window.location.href);i.searchParams.delete("ss"),i.searchParams.delete("se"),i.searchParams.delete("sp"),i.searchParams.delete("so"),i.searchParams.delete("token"),window.history.replaceState(null,"",i)}const Mn="sesamy-user";async function ra(){const e=new URLSearchParams(window.location.search).get(Mn);if(!e)return;const n=await gi();(n==null?void 0:n.email)!==e&&(q(),zt({authorizationParams:{email_hint:e,login_hint:e}}));const r=new URL(window.location.href);r.searchParams.delete(Mn),window.history.replaceState(null,"",r)}const Zn="sesamy-purchase";function ia(){const t=new URLSearchParams(window.location.search),e=t.get(Zn);if(e!==null){const n=new URL(window.location.href);t.delete(Zn),n.search=t.toString(),ue(Q.PURCHASE,{itemSrc:e}),q(),window.history.replaceState(null,"",n)}}const Hn="sesamy-login";async function oa(){if(!new URLSearchParams(window.location.search).get(Hn))return;await Nt()||zt();const r=new URL(window.location.href);r.searchParams.delete(Hn),window.history.replaceState(null,"",r)}async function Nr(t){Fo({clientId:t.clientId,...t.analytics}),await mi({clientId:t.clientId,organization:t.organization,...t.auth}),t.transform&&await Qo(t.transform);const e=Bo({clientId:t.clientId,...t.api});return ue(Q.READY,{}),ea(),ta(),na(),await oa(),await ra(),ia(),e}if(typeof document<"u"){const t=document.getElementById("sesamy-js");if(t!=null&&t.textContent)try{const e=JSON.parse(t.textContent);Nr(e)}catch(e){console.error("Failed to parse config",e)}}exports.init=Nr;
@@ -8,6 +8,8 @@ export interface Config {
8
8
  api?: Partial<ApiConfig>;
9
9
  analytics?: Partial<AnalyticsConfig>;
10
10
  auth?: Partial<AuthConfig>;
11
+ content?: Partial<ContentConfig>;
12
+ transform?: TransformConfig;
11
13
  }
12
14
  export interface ApiConfig {
13
15
  clientId: string;
@@ -25,6 +27,23 @@ export interface AuthConfig {
25
27
  enabled?: boolean;
26
28
  endpoint?: string;
27
29
  }
30
+ export interface ContentConfig {
31
+ article: {
32
+ selector: string;
33
+ };
34
+ }
35
+ export interface TransformConfig {
36
+ enabled?: boolean;
37
+ rules: {
38
+ selector: string;
39
+ transform: "insert" | "replace" | "remove";
40
+ content?: string;
41
+ contentType: "html" | "selector" | "url";
42
+ path?: string;
43
+ entitlement?: string;
44
+ authenticated?: boolean;
45
+ }[];
46
+ }
28
47
  export type Profile = {
29
48
  sub: string;
30
49
  email: string;
@@ -158,6 +177,7 @@ export interface GenerateConsumeLink extends GenerateLinkBase {
158
177
  export interface GenerateLinkBase {
159
178
  shorten?: boolean;
160
179
  ttl?: number;
180
+ redirectUrl?: string;
161
181
  }
162
182
  declare function clearCache(): void;
163
183
  export declare function init(config: Config): Promise<{