@sesamy/sesamy-js 1.50.1 → 1.52.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.
@@ -32,7 +32,7 @@
32
32
  * Please keep this comment intact in order to properly abide by the MIT License.
33
33
  *
34
34
  **/var Zo={d:(t,e)=>{for(var r in e)Zo.o(e,r)&&!Zo.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},ks={};Zo.d(ks,{A:()=>ng,k:()=>Os});var kr=function(t,e,r,n){return new(r||(r=Promise))(function(a,i){function o(l){try{u(n.next(l))}catch(c){i(c)}}function s(l){try{u(n.throw(l))}catch(c){i(c)}}function u(l){var c;l.done?a(l.value):(c=l.value,c instanceof r?c:new r(function(f){f(c)})).then(o,s)}u((n=n.apply(t,[])).next())})},Or=function(t,e){var r,n,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(u){return function(l){return(function(c){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(a=o.trys,!((a=a.length>0&&a[a.length-1])||c[0]!==6&&c[0]!==2)){o=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(c[0]===6&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=e.call(t,o)}catch(f){c=[6,f],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}})([u,l])}}};function Os(){return kr(this,void 0,Promise,function(){return Or(this,function(t){switch(t.label){case 0:return[4,new Promise(function(e,r){var n="Unknown",a=!1;function i(h){a||(a=!0,e({isPrivate:h,browserName:n}))}function o(){var h=0,d=parseInt("-1");try{d.toFixed(d)}catch(v){h=v.message.length}return h}function s(){return kr(this,void 0,void 0,function(){var h,d;return Or(this,function(v){switch(v.label){case 0:return v.trys.push([0,2,,3]),[4,navigator.storage.getDirectory()];case 1:return v.sent(),i(!1),[3,3];case 2:return h=v.sent(),d=h instanceof Error&&typeof h.message=="string"?h.message:String(h),i(d.includes("unknown transient reason")),[3,3];case 3:return[2]}})})}function u(){var h;return kr(this,void 0,Promise,function(){return Or(this,function(d){switch(d.label){case 0:return typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function"?[3,2]:[4,s()];case 1:return d.sent(),[3,3];case 2:navigator.maxTouchPoints!==void 0?(function(){var v=String(Math.random());try{var p=indexedDB.open(v,1);p.onupgradeneeded=function(m){var P=m.target.result,y=function(b){i(b)};try{P.createObjectStore("t",{autoIncrement:!0}).put(new Blob),y(!1)}catch(b){(b instanceof Error&&typeof b.message=="string"?b.message:String(b)).includes("are not yet supported")?y(!0):y(!1)}finally{P.close(),indexedDB.deleteDatabase(v)}},p.onerror=function(){return i(!1)}}catch{i(!1)}})():(function(){var v=window.openDatabase,p=window.localStorage;try{v(null,null,null,null)}catch{return void i(!0)}try{p.setItem("test","1"),p.removeItem("test")}catch{return void i(!0)}i(!1)})(),d.label=3;case 3:return[2]}})})}function l(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function(h,d){var v=Math.round(d/1048576),p=2*Math.round((function(){var m,P,y,b=window;return(y=(P=(m=b?.performance)===null||m===void 0?void 0:m.memory)===null||P===void 0?void 0:P.jsHeapSizeLimit)!==null&&y!==void 0?y:1073741824})()/1048576);i(v<p)},function(h){r(new Error("detectIncognito somehow failed to query storage quota: "+h.message))})}function c(){self.Promise!==void 0&&self.Promise.allSettled!==void 0?l():(0,window.webkitRequestFileSystem)(0,1,function(){i(!1)},function(){i(!0)})}function f(){var h;return kr(this,void 0,Promise,function(){var d,v,p;return Or(this,function(m){switch(m.label){case 0:if(typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function")return[3,5];m.label=1;case 1:return m.trys.push([1,3,,4]),[4,navigator.storage.getDirectory()];case 2:return m.sent(),i(!1),[3,4];case 3:return d=m.sent(),v=d instanceof Error&&typeof d.message=="string"?d.message:String(d),i(v.includes("Security error")),[2];case 4:return[3,6];case 5:(p=indexedDB.open("inPrivate")).onerror=function(P){p.error&&p.error.name==="InvalidStateError"&&P.preventDefault(),i(!0)},p.onsuccess=function(){indexedDB.deleteDatabase("inPrivate"),i(!1)},m.label=6;case 6:return[2]}})})}(function(){return kr(this,void 0,Promise,function(){return Or(this,function(h){switch(h.label){case 0:return o()!==44&&o()!==43?[3,2]:(n="Safari",[4,u()]);case 1:return h.sent(),[3,6];case 2:return o()!==51?[3,3]:(d=navigator.userAgent,n=d.match(/Chrome/)?navigator.brave!==void 0?"Brave":d.match(/Edg/)?"Edge":d.match(/OPR/)?"Opera":"Chrome":"Chromium",c(),[3,6]);case 3:return o()!==25?[3,5]:(n="Firefox",[4,f()]);case 4:return h.sent(),[3,6];case 5:navigator.msSaveBlob!==void 0?(n="Internet Explorer",i(window.indexedDB===void 0)):r(new Error("detectIncognito cannot determine the browser")),h.label=6;case 6:return[2]}var d})})})().catch(r)})];case 1:return[2,t.sent()]}})})}typeof window<"u"&&(window.detectIncognito=Os);const ng=Os;ks.A;const ag=ks.k,rn="sesamy_incognito_mode";function Cs(){try{const t=sessionStorage.getItem(rn);return t===null?void 0:t==="true"}catch{return}}async function ig(){try{const t=sessionStorage.getItem(rn);if(t!==null)return t==="true";const{isPrivate:e}=await ag();return sessionStorage.setItem(rn,e.toString()),e}catch{try{sessionStorage.setItem(rn,"false")}catch{}return!1}}function qr(){return typeof window<"u"}function rd(t,e,r,n,a){for(e=e.split?e.split("."):e,n=0;n<e.length;n++)t=t?t[e[n]]:a;return t===a?r:t}var og="function",sg="string",ot="undefined",cg="boolean",fn="object",ug="array",lg="number",fg="symbol",dg="null",Yo=function(){},rv="any",nv="*",Wt="__",hg="form",vg="input",pg="button",mg="select",dn=typeof process!==ot?process:{};dn.env&&dn.env.NODE_ENV;var xe=typeof document!==ot;dn.versions!=null&&dn.versions.node!=null;typeof Deno!==ot&&Deno.core;xe&&window.name==="nodejs"||typeof navigator!==ot&&typeof navigator.userAgent!==ot&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function av(t,e){return e.charAt(0)[t]()+e.slice(1)}var gg=av.bind(null,"toUpperCase"),yg=av.bind(null,"toLowerCase");function wg(t){return iv(t)?gg(dg):typeof t===fn?Pg(t):Object.prototype.toString.call(t).slice(8,-1)}function hn(t,e){e===void 0&&(e=!0);var r=wg(t);return e?yg(r):r}function Gr(t,e){return typeof e===t}var Ve=Gr.bind(null,og),At=Gr.bind(null,sg),or=Gr.bind(null,ot),bg=Gr.bind(null,cg);Gr.bind(null,fg);function iv(t){return t===null}function Sg(t){return hn(t)===lg&&!isNaN(t)}function ov(t){return hn(t)===ug}function We(t){if(!Ig(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Ig(t){return t&&(typeof t===fn||t!==null)}function Pg(t){return Ve(t.constructor)?t.constructor.name:null}function Eg(t){return t instanceof Error||At(t.message)&&t.constructor&&Sg(t.constructor.stackTraceLimit)}function sv(t,e){if(typeof e!="object"||iv(e))return!1;if(e instanceof t)return!0;var r=hn(new t(""));if(Eg(e))for(;e;){if(hn(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}sv.bind(null,TypeError);sv.bind(null,SyntaxError);function jn(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?Rg(t,e):r}function Rg(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function Ln(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}Ln(jn,hg);Ln(jn,pg);Ln(jn,vg);Ln(jn,mg);function _g(t){return t?ov(t)?t:[t]:[]}function nd(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function Tg(){if(xe){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function kg(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Og(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=nd(r[1]),o=nd(r[2]);if(i)if(i.substring(i.length-2)==="[]"){var s=n[i=i.substring(0,i.length-2)]||(n[i]=[]);n[i]=Array.isArray(s)?s:[],n[i].push(o)}else n[i]=o===""||o}for(var u in n){var l=u.split("[");l.length>1&&(Cg(n,l.map(function(c){return c.replace(/[?[\]\\ ]/g,"")}),n[u]),delete n[u])}return n})((function(e){return xe&&window.location.search.substring(1)})())}function Cg(t,e,r){for(var n=e.length-1,a=0;a<n;++a){var i=e[a];if(i==="__proto__"||i==="constructor")break;i in t||(t[i]={}),t=t[i]}t[e[n]]=r}function Nn(){for(var t="",e=0,r=4294967295*Math.random()|0;e++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],a=15&r;t+=n=="-"||n=="4"?n:(n=="x"?a:3&a|8).toString(16),r=e%8==0?4294967295*Math.random()|0:r>>4}return t}function Ag(t,e){var r,n,a,i=null,o=0,s=function(){o=new Date,i=null,a=t.apply(r,n)};return function(){var u=new Date;o||(o=u);var l=e-(u-o);return r=this,n=arguments,l<=0?(clearTimeout(i),i=null,o=u,a=t.apply(r,n)):i||(i=setTimeout(s,l)),a}}var zt="global",dr=Wt+zt+Wt,hr=typeof self===fn&&self.self===self&&self||typeof global===fn&&global[zt]===global&&global||void 0;function Vt(t){return hr[dr][t]}function Jt(t,e){return hr[dr][t]=e}function Ir(t){delete hr[dr][t]}function Pr(t,e,r){var n;try{if(As(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}hr[dr]||(hr[dr]={});var Vr={};function As(t){if(typeof Vr[t]!==ot)return Vr[t];try{var e=window[t];e.setItem(ot,ot),e.removeItem(ot)}catch{return Vr[t]=!1}return Vr[t]=!0}function ae(){return ae=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},ae.apply(null,arguments)}var Ot="function",It="undefined",Lr="reducer",cv="@@redux/",Xo=cv+"INIT",Ug=cv+Math.random().toString(36),ad=(function(){return typeof Symbol===Ot&&Symbol.observable||"@@observable"})(),Jr=" != "+Ot;function uv(t,e,r){var n;if(typeof e===Ot&&typeof r===It&&(r=e,e=void 0),typeof r!==It){if(typeof r!==Ot)throw new Error("enhancer"+Jr);return r(uv)(t,e)}if(typeof t!==Ot)throw new Error(Lr+Jr);var a=t,i=e,o=[],s=o,u=!1;function l(){s===o&&(s=o.slice())}function c(){return i}function f(d){if(typeof d!==Ot)throw new Error("Listener"+Jr);var v=!0;return l(),s.push(d),function(){if(v){v=!1,l();var p=s.indexOf(d);s.splice(p,1)}}}function h(d){if(!We(d))throw new Error("Act != obj");if(typeof d.type===It)throw new Error("ActType "+It);if(u)throw new Error("Dispatch in "+Lr);try{u=!0,i=a(i,d)}finally{u=!1}for(var v=o=s,p=0;p<v.length;p++)(0,v[p])();return d}return h({type:Xo}),(n={dispatch:h,subscribe:f,getState:c,replaceReducer:function(d){if(typeof d!==Ot)throw new Error("next "+Lr+Jr);a=d,h({type:Xo})}})[ad]=function(){var d,v=f;return(d={subscribe:function(p){if(typeof p!="object")throw new TypeError("Observer != obj");function m(){p.next&&p.next(c())}return m(),{unsubscribe:v(m)}}})[ad]=function(){return this},d},n}function jg(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+Lr+" "+t+" returns "+It}function vr(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,r){return function(){return e(r.apply(void 0,[].slice.call(arguments)))}})}function Lg(){var t=arguments;return function(e){return function(r,n,a){var i,o=e(r,n,a),s=o.dispatch,u={getState:o.getState,dispatch:function(l){return s(l)}};return i=[].slice.call(t).map(function(l){return l(u)}),ae({},o,{dispatch:s=vr.apply(void 0,i)(o.dispatch)})}}}var Ut=Wt+"anon_id",Ht=Wt+"user_id",cr=Wt+"user_traits",Qo="analytics",kt="userId",sr="anonymousId",nn=["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"],es=["name","EVENTS","config","loaded"],ne=nn.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),id=/^utm_/,od=/^an_prop_/,sd=/^an_trait_/;function Ng(t){var e=t.storage.setItem;return function(r){return function(n){return function(a){if(a.type===ne.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,l=s.userId===o.userId;s.anonymousId!==o.anonymousId&&e(Ut,o.anonymousId),l||e(Ht,o.userId),u.traits&&e(cr,ae({},l&&s.traits?s.traits:{},u.traits));var c=Object.keys(a.params);if(c.length){var f=i.an_uid,h=i.an_event,d=c.reduce(function(v,p){if(p.match(id)||p.match(/^(d|g)clid/)){var m=p.replace(id,"");v.campaign[m==="campaign"?"name":m]=i[p]}return p.match(od)&&(v.props[p.replace(od,"")]=i[p]),p.match(sd)&&(v.traits[p.replace(sd,"")]=i[p]),v},{campaign:{},props:{},traits:{}});r.dispatch(ae({type:ne.params,raw:i},d,f?{userId:f}:{})),f&&setTimeout(function(){return t.identify(f,d.traits)},0),h&&setTimeout(function(){return t.track(h,d.props)},0),Object.keys(d.campaign).length&&r.dispatch({type:ne.campaign,campaign:d.campaign})}}return n(a)}}}}function qg(t){return function(e,r){if(e===void 0&&(e={}),r===void 0&&(r={}),r.type===ne.setItemEnd){if(r.key===Ut)return ae({},e,{anonymousId:r.value});if(r.key===Ht)return ae({},e,{userId:r.value})}switch(r.type){case ne.identify:return Object.assign({},e,{userId:r.userId,traits:ae({},e.traits,r.traits)});case ne.reset:return[Ht,Ut,cr].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function cd(t){return{userId:t.getItem(Ht),anonymousId:t.getItem(Ut),traits:t.getItem(cr)}}var ts=function(t){return Wt+"TEMP"+Wt+t};function xg(t){var e=t.storage,r=e.setItem,n=e.removeItem,a=e.getItem;return function(i){return function(o){return function(s){var u=s.userId,l=s.traits,c=s.options;if(s.type===ne.reset&&([Ht,cr,Ut].forEach(function(d){n(d)}),[kt,sr,"traits"].forEach(function(d){Ir(ts(d))})),s.type===ne.identify){a(Ut)||r(Ut,Nn());var f=a(Ht),h=a(cr)||{};f&&f!==u&&i.dispatch({type:ne.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(Ht,u),l&&r(cr,ae({},h,l))}return o(s)}}}}var Ar={};function ud(t,e){Ar[t]&&Ve(Ar[t])&&(Ar[t](e),delete Ar[t])}function lv(t,e,r){return new Promise(function(n,a){return e()?n(t):r<1?a(ae({},t,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return lv(t,e,r-10).then(n,a)})})}function $g(t){return{abort:t}}function fv(t,e,r){var n={},a=e(),i=t.getState(),o=i.plugins,s=i.queue,u=i.user;if(!i.context.offline&&s&&s.actions&&s.actions.length){var l=s.actions.reduce(function(f,h,d){return o[h.plugin].loaded?(f.process.push(h),f.processIndex.push(d)):(f.requeue.push(h),f.requeueIndex.push(d)),f},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(l.processIndex&&l.processIndex.length){l.processIndex.forEach(function(f){var h=s.actions[f],d=h.plugin,v=h.payload.type,p=a[d][v];if(p&&Ve(p)){var m,P=(function(g,w){return g===void 0&&(g={}),w===void 0&&(w={}),[kt,sr].reduce(function(A,x){return g.hasOwnProperty(x)&&w[x]&&w[x]!==g[x]&&(A[x]=w[x]),A},g)})(h.payload,u),y=n[P.meta.rid];if(!y&&(m=p({payload:P,config:o[d].config,instance:r,abort:$g}))&&We(m)&&m.abort)return void(n[P.meta.rid]=!0);if(!y){var b=v+":"+d;t.dispatch(ae({},P,{type:b,_:{called:b,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var qo=function(t){var e=t.data,r=t.action,n=t.instance,a=t.state,i=t.allPlugins,o=t.allMatches,s=t.store,u=t.EVENTS;try{var l=a.plugins,c=a.context,f=r.type,h=f.match(ur),d=e.exact.map(function(m){return m.pluginName});h&&(d=o.during.map(function(m){return m.pluginName}));var v=(function(m,P){return function(y,b,g){var w=b.config,A=b.name,x=A+"."+y.type;g&&(x=g.event);var N=y.type.match(ur)?(function(z,B,ie,j,D){return function(L,k){var Y=j?j.name:z,te=k&&xr(k)?k:ie;if(j&&(!(te=k&&xr(k)?k:[z]).includes(z)||te.length!==1))throw new Error("Method "+B+" can only abort "+z+" plugin. "+JSON.stringify(te)+" input valid");return ae({},D,{abort:{reason:L,plugins:te,caller:B,_:Y}})}})(A,x,P,g,y):(function(z,B){return function(){throw new Error(z.type+" action not cancellable. Remove abort in "+B)}})(y,x);return{payload:Dg(y),instance:m,config:w||{},abort:N}}})(n,d),p=e.exact.reduce(function(m,P){var y=P.pluginName,b=P.methodName,g=!1;return b.match(/^initialize/)||b.match(/^reset/)||(g=!l[y].loaded),c.offline&&b.match(/^(page|track|identify)/)&&(g=!0),m[""+y]=g,m},{});return Promise.resolve(e.exact.reduce(function(m,P,y){var b=P.pluginName;return Promise.resolve(m).then(function(g){function w(){return Promise.resolve(g)}var A=(function(){if(e.namespaced&&e.namespaced[b])return Promise.resolve(e.namespaced[b].reduce(function(x,N,z){return Promise.resolve(x).then(function(B){return N.method&&Ve(N.method)?((function(L,k){var Y=md(L);if(Y&&Y.name===k){var te=md(Y.method);throw new Error([k+" plugin is calling method "+L,"Plugins cant call self","Use "+Y.method+" "+(te?"or "+te.method:"")+" in "+k+" plugin insteadof "+L].join(`
35
- `))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:B,instance:n,abort:(ie=B,j=b,D=N.pluginName,function(L,k){return ae({},ie,{abort:{reason:L,plugins:k||[j],caller:f,from:D||j}})}),config:dd(N.pluginName,l,i),plugins:l})).then(function(L){var k=We(L)?L:{};return Promise.resolve(ae({},B,k))})):B;var ie,j,D})},Promise.resolve(r))).then(function(x){g[b]=x});g[b]=r})();return A&&A.then?A.then(w):w()})},Promise.resolve({}))).then(function(m){return Promise.resolve(e.exact.reduce(function(P,y,b){try{var g=e.exact.length===b+1,w=y.pluginName,A=i[w];return Promise.resolve(P).then(function(x){var N=m[w]?m[w]:{};if(h&&(N=x),$o(N,w))return xo({data:N,method:f,instance:n,pluginName:w,store:s}),Promise.resolve(x);if($o(x,w))return g&&xo({data:x,method:f,instance:n,store:s}),Promise.resolve(x);if(p.hasOwnProperty(w)&&p[w]===!0)return s.dispatch({type:"queue",plugin:w,payload:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(x);var z=v(m[w],i[w]);return Promise.resolve(A[f]({abort:z.abort,payload:N,instance:n,config:dd(w,l,i),plugins:l})).then(function(B){var ie=We(B)?B:{},j=ae({},x,ie),D=m[w];if($o(D,w))xo({data:D,method:f,instance:n,pluginName:w,store:s});else{var L=f+":"+w;(L.match(/:/g)||[]).length<2&&!f.match(ld)&&!f.match(fd)&&n.dispatch(ae({},h?j:N,{type:L,_:{called:L,from:"submethod"}}))}return Promise.resolve(j)})})}catch(x){return Promise.reject(x)}},Promise.resolve(r))).then(function(P){if(!(f.match(ur)||f.match(/^registerPlugin/)||f.match(fd)||f.match(ld)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var y=ae({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});dv(P,e.exact.length)&&!f.match(/End$/)&&(y=ae({},y,{type:P.type+"Aborted"})),s.dispatch(y)}return P})})}catch(m){return Promise.reject(m)}},ur=/Start$/,ld=/^bootstrap/,fd=/^ready/;function xo(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ae({},t.data,{type:r,_:{called:r,from:"abort"}}))}function dd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function hd(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function vd(t,e){var r=t.replace(ur,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function $o(t,e){var r=t.abort;return!!r&&(r===!0||pd(r,e)||r&&pd(r.plugins,e))}function dv(t,e){var r=t.abort;if(!r)return!1;if(r===!0||At(r))return!0;var n=r.plugins;return xr(r)&&r.length===e||xr(n)&&n.length===e}function xr(t){return Array.isArray(t)}function pd(t,e){return!(!t||!xr(t))&&t.includes(e)}function md(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Dg(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=We(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Mg(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(g){return s?g:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===ne.enablePlugin&&a.dispatch({type:ne.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===ne.disablePlugin&&setTimeout(function(){return ud(o.meta.rid,{payload:o})},0),l===ne.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(g){return c.includes(g)}).map(function(g){return h[g]}),p=[],m=[],P=o.disabled,y=v.map(function(g){var w=g.loaded,A=g.name,x=g.config;return lv(g,function(){return w({config:x})},1e4).then(function(N){return n[A]||(a.dispatch({type:ne.pluginReadyType(A),name:A,events:Object.keys(g).filter(function(z){return!es.includes(z)})}),n[A]=!0),p=p.concat(A),g}).catch(function(N){if(N instanceof Error)throw new Error(N);return m=m.concat(N.name),N})});Promise.all(y).then(function(g){var w={plugins:p,failed:m,disabled:P};setTimeout(function(){d.length===y.length+P.length&&a.dispatch(ae({},{type:ne.ready},w))},0)})}var b=(function(){if(l!==ne.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return fv(a,e,t)},0),Promise.resolve((function(g,w,A,x,N){try{var z=Ve(w)?w():w,B=g.type,ie=B.replace(ur,"");if(g._&&g._.called)return Promise.resolve(g);var j=A.getState(),D=(Y=z,(te=j.plugins)===void 0&&(te={}),(Q=g.options)===void 0&&(Q={}),Object.keys(Y).filter(function(S){var _=Q.plugins||{};return bg(_[S])?_[S]:_.all!==!1&&(!te[S]||te[S].enabled!==!1)}).map(function(S){return Y[S]}));B===ne.initializeStart&&g.fromEnable&&(D=Object.keys(j.plugins).filter(function(S){var _=j.plugins[S];return g.plugins.includes(S)&&!_.initialized}).map(function(S){return z[S]}));var L=D.map(function(S){return S.name}),k=(function(S,_){var q=vd(S).map(function(F){return hd(F,_)});return _.reduce(function(F,Z){var V=Z.name,he=vd(S,V).map(function(Re){return hd(Re,_)}),oe=he[0],le=he[1],se=he[2];return oe.length&&(F.beforeNS[V]=oe),le.length&&(F.duringNS[V]=le),se.length&&(F.afterNS[V]=se),F},{before:q[0],beforeNS:{},during:q[1],duringNS:{},after:q[2],afterNS:{}})})(B,D);return Promise.resolve(qo({action:g,data:{exact:k.before,namespaced:k.beforeNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(S){function _(){var Z=(function(){if(B.match(ur))return Promise.resolve(qo({action:ae({},q,{type:ie+"End"}),data:{exact:k.after,namespaced:k.afterNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(V){V.meta&&V.meta.hasCallback&&ud(V.meta.rid,{payload:V})})})();return Z&&Z.then?Z.then(function(){return S}):S}if(dv(S,L.length))return S;var q,F=(function(){if(B!==ie)return Promise.resolve(qo({action:ae({},S,{type:ie}),data:{exact:k.during,namespaced:k.duringNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(Z){q=Z});q=S})();return F&&F.then?F.then(_):_()})}catch(S){return Promise.reject(S)}var Y,te,Q})(o,e,t,a,r)).then(function(g){var w=i(g);return s=1,w})})();return Promise.resolve(b&&b.then?b.then(u):u(b))}catch(g){return Promise.reject(g)}}}}}function Fg(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===ne.setItem||a===ne.removeItem){if(n.abort)return r(n);a===ne.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var Kg=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return vr.apply(void 0,o)(n)(a)}}}}};function zg(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=gd(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},ae({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=gd(r.type,ne.initialize),l=t()[u];return l&&u?(n[u]=ae({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),ae({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=ae({},e[r.name],{loaded:!0}),ae({},e,n);switch(r.type){case ne.disablePlugin:return ae({},e,yd(r.plugins,!1,e));case ne.enablePlugin:return ae({},e,yd(r.plugins,!0,e));default:return e}}}function gd(t,e){return t.substring(e.length+1,t.length)}function yd(t,e,r){return t.reduce(function(n,a){return n[a]=ae({},r[a],{enabled:e}),n},r)}function hv(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Hg={last:{},history:[]};function Bg(t,e){t===void 0&&(t=Hg);var r=e.options,n=e.meta;if(e.type===ne.track){var a=hv(ae({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return ae({},t,{last:a,history:t.history.concat(a)})}return t}var Gg={actions:[]};function Wg(t,e){t===void 0&&(t=Gg);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===ne.identify?[e].concat(t.actions):t.actions.concat(e),ae({},t,{actions:n});case"dequeue":return[];default:return t}}var vv=/#.*$/;function Vg(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(vv,""):"")}var pv,mv,gv,yv,Jg=function(t){if(t===void 0&&(t={}),!xe)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(xe){for(var v,p=document.getElementsByTagName("link"),m=0;v=p[m];m++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(vv,"")})(l),f={title:r,url:c,path:Vg(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ae({},f,t)},Zg={last:{},history:[]};function Yg(t,e){t===void 0&&(t=Zg);var r=e.options;if(e.type===ne.page){var n=hv(ae({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return ae({},t,{last:n,history:t.history.concat(n)})}return t}pv=(function(){if(!xe)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"})(),mv=xe?document.referrer:null,gv=Tg(),yv=kg();var wd={initialized:!1,sessionId:Nn(),app:null,version:null,debug:!1,offline:!!xe&&!navigator.onLine,os:{name:pv},userAgent:xe?navigator.userAgent:"node",library:{name:Qo,version:"0.13.1"},timezone:yv,locale:gv,campaign:{},referrer:mv};function Xg(t,e){t===void 0&&(t=wd);var r=t.initialized,n=e.campaign;switch(e.type){case ne.campaign:return ae({},t,{campaign:n});case ne.offline:return ae({},t,{offline:!0});case ne.online:return ae({},t,{offline:!1});default:return r?t:ae({},wd,t,{initialized:!0})}}var Qg=["plugins","reducers","storage"];function ey(t,e,r){if(xe){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function ty(t){var e=ey.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function wv(){return Jt(Qo,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return hr[dr][Qo].push(o.action||o),i(o)}})}}}function bd(t){return function(){return vr(vr.apply(null,arguments),wv())}}function Do(t){return t?ov(t)?t:[t]:[]}function Sd(t,e,r){t===void 0&&(t={});var n,a,i=Nn();return e&&(Ar[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(Ve(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),ae({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function ry(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,_){if(Ve(_))return S.middlewares=S.middlewares.concat(_),S;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var q=_.EVENTS?Object.keys(_.EVENTS).map(function(V){return _.EVENTS[V]}):[];S.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(S.methods[_.name]=Object.keys(_.methods).reduce(function(V,he){var oe;return V[he]=(oe=_.methods[he],function(){for(var le=Array.prototype.slice.call(arguments),se=new Array(oe.length),Re=0;Re<le.length;Re++)se[Re]=le[Re];return se[se.length]=w,oe.apply({instance:w},se)}),V},{}),delete _.methods);var F=Object.keys(_).concat(q),Z=new Set(S.events.concat(F));if(S.events=Array.from(Z),S.pluginsArray=S.pluginsArray.concat(_),S.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return S.plugins[_.name]=_,S.plugins[_.name].loaded||(S.plugins[_.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Vt,setItem:Jt,removeItem:Ir},i=(function(S){return function(_,q,F){return q.getState("user")[_]||(F&&We(F)&&F[_]?F[_]:cd(S)[_]||Vt(ts(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!es.includes(S)}).sort(),u=new Set(s.concat(nn).filter(function(S){return!es.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new Kg,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},m=Og(),P=cd(a),y=ae({},P,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=Nn());var b=ae({enable:function(S,_){return new Promise(function(q){k.dispatch({type:ne.enablePlugin,plugins:Do(S),_:{originalAction:ne.enablePlugin}},q,[_])})},disable:function(S,_){return new Promise(function(q){k.dispatch({type:ne.disablePlugin,plugins:Do(S),_:{originalAction:ne.disablePlugin}},q,[_])})}},n.methods),g=!1,w={identify:function(S,_,q,F){try{var Z=At(S)?S:null,V=We(S)?S:_,he=q||{},oe=w.user();Jt(ts(kt),Z);var le=Z||V.userId||i(kt,w,V);return Promise.resolve(new Promise(function(se){k.dispatch(ae({type:ne.identifyStart,userId:le,traits:V||{},options:he,anonymousId:oe.anonymousId},oe.id&&oe.id!==Z&&{previousId:oe.id}),se,[_,q,F])}))}catch(se){return Promise.reject(se)}},track:function(S,_,q,F){try{var Z=We(S)?S.event:S;if(!Z||!At(Z))throw new Error("EventMissing");var V=We(S)?S:_||{},he=We(q)?q:{};return Promise.resolve(new Promise(function(oe){k.dispatch({type:ne.trackStart,event:Z,properties:V,options:he,userId:i(kt,w,_),anonymousId:i(sr,w,_)},oe,[_,q,F])}))}catch(oe){return Promise.reject(oe)}},page:function(S,_,q){try{var F=We(S)?S:{},Z=We(_)?_:{};return Promise.resolve(new Promise(function(V){k.dispatch({type:ne.pageStart,properties:Jg(F),options:Z,userId:i(kt,w,F),anonymousId:i(sr,w,F)},V,[S,_,q])}))}catch(V){return Promise.reject(V)}},user:function(S){if(S===kt||S==="id")return i(kt,w);if(S===sr||S==="anonId")return i(sr,w);var _=w.getState("user");return S?rd(_,S):_},reset:function(S){return new Promise(function(_){k.dispatch({type:ne.resetStart},_,S)})},ready:function(S){return g&&S({plugins:b,instance:w}),w.on(ne.ready,function(_){S&&S(_),g=!0})},on:function(S,_){if(!S||!Ve(_))return!1;if(S===ne.bootstrap)throw new Error(".on disabled for "+S);var q=/Start$|Start:/;if(S==="*"){var F=function(oe){return function(le){return function(se){return se.type.match(q)&&_({payload:se,instance:w,plugins:o}),le(se)}}},Z=function(oe){return function(le){return function(se){return se.type.match(q)||_({payload:se,instance:w,plugins:o}),le(se)}}};return h(F,Zr),h(Z,Yr),function(){d(F,Zr),d(Z,Yr)}}var V=S.match(q)?Zr:Yr,he=function(oe){return function(le){return function(se){return se.type===S&&_({payload:se,instance:w,plugins:o,abort:p}),le(se)}}};return h(he,V),function(){return d(he,V)}},once:function(S,_){if(!S||!Ve(_))return!1;if(S===ne.bootstrap)throw new Error(".once disabled for "+S);var q=w.on(S,function(F){_({payload:F.payload,instance:w,plugins:o,abort:p}),q()});return q},getState:function(S){var _=k.getState();return S?rd(_,S):Object.assign({},_)},dispatch:function(S){var _=At(S)?{type:S}:S;if(nn.includes(_.type))throw new Error("reserved action "+_.type);var q=ae({},_,{_:ae({originalAction:_.type},S._||{})});k.dispatch(q)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:a.getItem,setItem:function(S,_,q){k.dispatch({type:ne.setItemStart,key:S,value:_,options:q})},removeItem:function(S,_){k.dispatch({type:ne.removeItemStart,key:S,options:_})}},setAnonymousId:function(S,_){w.storage.setItem(Ut,S,_)},events:{core:nn,plugins:s}},A=n.middlewares.concat([function(S){return function(_){return function(q){return q.meta||(q.meta=Sd()),_(q)}}},v(Zr),Mg(w,c,{all:l,plugins:s}),Fg(a),Ng(w),xg(w),v(Yr)]),x={context:Xg,user:qg(a),page:Yg,track:Bg,plugins:zg(c),queue:Wg},N=vr,z=vr;if(xe&&t.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(N=B({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?wv():We(typeof arguments[0])?bd():bd().apply(null,arguments)}}var ie,j=(function(S){return Object.keys(S).reduce(function(_,q){return Qg.includes(q)||(_[q]=S[q]),_},{})})(t),D=n.pluginsArray.reduce(function(S,_){var q=_.name,F=_.config,Z=_.loaded,V=n.pluginEnabled[q];return S[q]={enabled:V,initialized:!!V&&!_.initialize,loaded:!!Z({config:F}),config:F},S},{}),L={context:j,user:y,plugins:D},k=uv((function(S){for(var _=Object.keys(S),q={},F=0;F<_.length;F++){var Z=_[F];typeof S[Z]===Ot&&(q[Z]=S[Z])}var V,he=Object.keys(q);try{(function(oe){Object.keys(oe).forEach(function(le){var se=oe[le];if(typeof se(void 0,{type:Xo})===It||typeof se(void 0,{type:Ug})===It)throw new Error(Lr+" "+le+" "+It)})})(q)}catch(oe){V=oe}return function(oe,le){if(oe===void 0&&(oe={}),V)throw V;for(var se=!1,Re={},Ue=0;Ue<he.length;Ue++){var Fe=he[Ue],ke=oe[Fe],Ze=(0,q[Fe])(ke,le);if(typeof Ze===It){var ut=jg(Fe,le);throw new Error(ut)}Re[Fe]=Ze,se=se||Ze!==ke}return se?Re:oe}})(ae({},x,e)),L,z(N(Lg.apply(void 0,A))));k.dispatch=(ie=k.dispatch,function(S,_,q){var F=ae({},S,{meta:Sd(S.meta,_,Do(q))});return ie.apply(null,[F])});var Y=Object.keys(o);k.dispatch({type:ne.bootstrap,plugins:Y,config:j,params:m,user:y,initialUser:r,persistedUser:P});var te=Y.filter(function(S){return n.pluginEnabled[S]}),Q=Y.filter(function(S){return!n.pluginEnabled[S]});return k.dispatch({type:ne.registerPlugins,plugins:Y,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,_){var q=S.bootstrap,F=S.config,Z=S.name;q&&Ve(q)&&q({instance:w,config:F,payload:S}),k.dispatch({type:ne.registerPluginType(Z),name:Z,enabled:n.pluginEnabled[Z],plugin:S}),n.pluginsArray.length===_+1&&k.dispatch({type:ne.initializeStart,plugins:te,disabled:Q})}),ty(function(S){k.dispatch({type:S?ne.offline:ne.online})}),(function(S,_,q){setInterval(function(){return fv(S,_,q)},3e3)})(k,c,w),w}var Zr="before",Yr="after",Bt="cookie",Mt=Iv(),bv=qn,ny=qn;function Sv(t){return Mt?qn(t,"",-1):Ir(t)}function Iv(){if(Mt!==void 0)return Mt;var t=Bt+Bt;try{qn(t,t),Mt=document.cookie.indexOf(t)!==-1,Sv(t)}catch{Mt=!1}return Mt}function qn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Mt===!1&&(o?Jt(t,e):Vt(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var Pt="localStorage",ay=As.bind(null,Pt);Pr(Pt,"getItem",Vt);Pr(Pt,"setItem",Jt);Pr(Pt,"removeItem",Ir);var Et="sessionStorage",iy=As.bind(null,Et);Pr(Et,"getItem",Vt);Pr(Et,"setItem",Jt);Pr(Et,"removeItem",Ir);function lr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(We(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var oy=ay(),sy=iy(),cy=Iv();function Gt(t,e){if(t){var r=Us(e),n=!qs(r),a=js(r)?lr(localStorage.getItem(t)):void 0;if(n&&!or(a))return a;var i=Ls(r)?lr(bv(t)):void 0;if(n&&i)return i;var o=Ns(r)?lr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Vt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function vn(t,e,r){if(t&&!or(e)){var n={},a=Us(r),i=JSON.stringify(e),o=!qs(a);return js(a)&&(n[Pt]=Xr(Pt,e,lr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[Pt]:Ls(a)&&(n[Bt]=Xr(Bt,e,lr(bv(t))),ny(t,i),o)?n[Bt]:Ns(a)&&(n[Et]=Xr(Et,e,lr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[Et]:(n[zt]=Xr(zt,e,Vt(t)),Jt(t,e),o?n[zt]:n)}}function uy(t,e){if(t){var r=Us(e),n=Gt(t,nv),a={};return!or(n.localStorage)&&js(r)&&(localStorage.removeItem(t),a[Pt]=n.localStorage),!or(n.cookie)&&Ls(r)&&(Sv(t),a[Bt]=n.cookie),!or(n.sessionStorage)&&Ns(r)&&(sessionStorage.removeItem(t),a[Et]=n.sessionStorage),!or(n.global)&&xn(r,zt)&&(Ir(t),a[zt]=n.global),a}}function Us(t){return t?At(t)?t:t.storage:rv}function js(t){return oy&&xn(t,Pt)}function Ls(t){return cy&&xn(t,Bt)}function Ns(t){return sy&&xn(t,Et)}function qs(t){return t===nv||t==="all"}function xn(t,e){return t===rv||t===e||qs(t)}function Xr(t,e,r){return{location:t,current:e,previous:r}}var ly={setItem:vn,getItem:Gt,removeItem:uy};function fy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Id(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function Pd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Id(Object(r),!0).forEach(function(n){fy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Id(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function dy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:ly};return ry(Pd(Pd({},e),t))}const xs="@sesamy/sesamy-js",$n="1.50.1";function hy(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=py(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function vy(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function py(t){return["#","?"].forEach(e=>t=vy(t,e)),t}function my(){hy(()=>{bt.page()})}var Mo="up",Fo="down";function gy(t){if(t===void 0&&(t={}),!xe)return Yo;var e=Rd(),r=rs(),n=Ed(),a=Qr(n,e),i=Qr(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return Yo;var d=h.map(function(p){return Number(p)}),v=Ag(function(){var p=Rd(),m=(function(j,D){return D.map(function(L){return L===100?j-5:j*(L/100)})})(p,d),P=rs(),y=Ed(),b=Qr(y,p),g=Qr(P,p);if(c=b>c?b:c,f=g<f?g:f,!(o.length>=d.length)){var w=l===y,A=Mo;w?A="initial":l<=y&&(A=Fo);var x=m,N=d;(A===Mo||w)&&(x=m.slice().reverse(),N=d.slice().reverse());var z=N.reduce(function(j,D,L){var k=x[L];return u.includes(D)&&y<=k&&(u=u.filter(function(Y){return Y!==D}),j.singleFunction=D),A===Fo&&!o.includes(D)&&y>=k&&D>i?(s.push(D),j.callbacks=j.callbacks.concat(D),j):A===Mo&&!o.includes(D)&&y<=k&&D<=b?(j.foundFunc=[D],j):(w&&y>=k&&j.foundFunc.length===0&&(j.foundFunc=[D]),!s.includes(D)&&y>=k&&(s.push(D),j.singleFunction?u.push(D):j.singleFunction=D),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:A});if(l=y,A===Fo&&z.callbacks&&z.callbacks.forEach(function(j){Ve(t[j])&&(t[j]({trigger:j,direction:A,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),z.singleFunction){var B=z.singleFunction,ie=z.direction;Ve(t[B])&&t[B]({trigger:B,direction:ie,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(B)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function rs(){return xe?document.body.scrollTop||document.documentElement.scrollTop:0}function yy(){return xe?window.innerHeight||document.documentElement.clientHeight:0}function Ed(){return Math.round(rs()+yy())}function Rd(){if(!xe)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function Qr(t,e){return Math.round(t/e*100)}var $s="Event",_d=$s+"Listener";function wy(t){return function(e,r,n,a){var i=n||Yo,o=a||!1;if(!xe)return i;var s=pn(r),u=pn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+$s);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+_d:"remove"+_d,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?by(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function pn(t,e){if(At(t))return e?pn(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=_g(t);return e?i.map(function(o){return At(o)?pn(o,!0):o}).flat():i}function by(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var Ko=wy($s);function Pv(t,e){return xe&&Ve(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),Ve(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Pv.bind(null,"onerror");Pv.bind(null,"onload");var Ev=typeof window>"u",Td="hidden";function Sy(t){if(Ev)return!1;var e=Iy(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function Iy(){var t=["webkit","moz","ms","o"];return Ev||Td in document?Td:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Py=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Ey(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=Sy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Py.map(function(s){return Ko(document,s,r)})).concat(Ko(window,"load",r)).concat(Ko(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function Ry(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(m){d(),i&&!c&&i(Cr(h),m),a&&c&&(c=!1,a(Cr(r),m),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Cr(h),m))},s)}var p=Ey(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var m=p();return function(){return f=!1,h=new Date,v({type:"load"}),m()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Cr(h,f),idle:c?Cr(r,f):0}}}}function Cr(t,e){return e?0:Math.round((new Date-t)/1e3)}const kd=5e3;class _y{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),Ry({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:kd}),gy({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,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*kd:Date.now(),this.isInViewport&&this.trackAwake(e,r)}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,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function Rv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function Ty(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}const Od="sesamy_session_id";function ky(){let t=sessionStorage.getItem(Od);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Od,t)),t}function _v(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}let Xe={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"}},Tv=[],an;function kv(){const t=window.location.pathname;return Tv.find(e=>e.path?t.includes(e.path):!0)}function Oy(t,e){Tv=t.content||[];const r=kv();r&&r.type==="article"&&(Xe={...Xe,...r.selectors}),an=e}function Cy(t,e){const{selector:r}=e;return r===Xe.article.selector?t:t.querySelector(r)}function Ov(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Ov(t.parentElement,e):t.textContent??void 0}function fr(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function Cv({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||fr(`sesamy:${e}`)||fr(`og:${e}`)||fr(e)||r}function Ay(){const t=document.querySelectorAll(Xe.article.selector);return Array.from(t).map(Ds).filter(e=>e!==null)}function Ds(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:_v(e)},n=(i,o,s,u)=>{const l=Cy(e,o);if(l){const c=Ov(l,o)||Cv({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Xe.id),n("title",Xe.title,r.id),n("excerpt",Xe.excerpt,r.id),n("image",Xe.image,r.id),n("price",Xe.price,r.id,i=>parseFloat(i)),n("currency",Xe.currency,r.id),n("url",Xe.url,r.id),n("pass",Xe.pass,r.id),n("accessLevel",Xe.accessLevel,r.id,i=>i||"entitlement");const a=kv();return a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency)),r}async function Uy(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Ds(r);if(!n?.url)throw new Error("Could not find content for element");const a=await an.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await an.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||_v(r.parentElement||r);return an.proxy.getContent(i.token,n.url,o)}let Av=!1,on,mn,ns;function Uv(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:ns,requestId:Math.random().toString(36).slice(2,9),sessionId:ky(),timestamp:new Date().toISOString(),version:$n,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:fr("sesamy:item-src"),publisherContentId:fr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:xs,userAgent:navigator.userAgent,clientId:ns}}}))}const jv=Ty(async t=>{if(t.length>0){const e=Uv(t);Av?navigator.sendBeacon(mn,e):(await fetch(mn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function zo(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(mn,Uv([e]))}else jv.push(t)}function jy(){return Av=!0,jv.flush()}function Ly(t,e,r){on=e,mn=`${ht("logs",r)}/events`,ns=t}const Ny={name:"custom-analytics-plugin",page:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;zo({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;zo({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n}=t;zo({anonymousId:r,userId:n,properties:e,type:"identify"})}},Cd=["source","medium","campaign","term","content"],Ct="utm_",qy=1800*1e3;function Lv(t){return t?Date.now()-parseInt(t,10)>qy:!0}function Ad(){const t=document.referrer||"";if(!t)return;const e=Gt(`${Ct}set_at`);(Lv(e)||!Gt(`${Ct}referrer`))&&vn(`${Ct}referrer`,t)}function xy(){const t=()=>{const r={};for(const a of Cd){const i=Gt(`${Ct}${a}`);i&&(r[`utm_${a}`]=i)}const n=Gt(`${Ct}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Ad()},campaign({payload:r}){const n=r?.campaign||{},a=Gt(`${Ct}set_at`);if(Object.keys(n).length>0&&Lv(a)){for(const o of Cd){const s=n[o];s&&vn(`${Ct}${o}`,s)}vn(`${Ct}set_at`,String(Date.now()))}Ad()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const $y=xy(),Ud=new Map,jd=new Map;function Dy({clientId:t,enabled:e=!0,environment:r}){Ly(t,e,r),e&&(window.addEventListener("beforeunload",()=>{jd.forEach((n,a)=>{n.bind(a)()}),jy()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Ud.forEach((n,a)=>{n.bind(a)()})}),my(),Rv(()=>{const n=new _y({element:document.body,viewCallback:()=>{bt.page()},activeDurationCallback:(a,i,o)=>{bt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{bt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{bt.track("scroll",{scroll:a.scrollMax})}});jd.set(document.body,()=>{n.flush()}),Ud.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Je.AUTHENTICATED,async n=>{const a=n;await bt.identify(a.detail.sub)}),window.addEventListener(Je.LOGOUT,async()=>{await bt.track("logout",{}),await bt.reset()}))}const bt=dy({app:xs,version:$n,plugins:[$y,Ny]});function Nv(t,e){bt.track(t,e)}function qv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});Nv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function My(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function Fy(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Ky(){return/android/i.test(navigator.userAgent)}let qe,xv,Nr,as=!1,sn=!1;qr()&&window.addEventListener("pageshow",()=>{sn=!1});const pr="sesamyAccessToken",Ho="sesamyRefreshToken",gn="sesamySilentAuthThrottle",zy=300*1e3;async function Dn(){return as?!0:new Promise((t,e)=>{const r=setTimeout(()=>{as?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Je.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function Hy(t){if(!t)return null;const e=localStorage.getItem(Ho);if(!e)return pe("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(Ho),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Ho,i.refresh_token),localStorage.setItem(pr,i.access_token),i.access_token}catch{Ks()}}async function Ms(){const t=localStorage.getItem(pr);if(!t)return null;const e=zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await Hy(e);if(r)return r;localStorage.removeItem(pr)}return t}let en=null;const By=64;function Gy(){try{if(en!==null)return en;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===By)return en=!0,!0}}catch(t){pe(`Error checking for existing auth0 tokens: ${t.message}`)}return en=!1,!1}function Wy(t){if(t.domains&&t.domains.length>0){const e=mr(window.location.href);if(e){for(const r of t.domains)if(mr(`https://${r}`)===e)return pe(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;pe(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return pe(`Using fallback domain property: ${t.domain}`),t.domain}function mr(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function Vy(t){if(t.enabled===!1)return;xv=t.organization;const e=Wy(t);Nr=e&&!Gy()?e:tv("token",t.environment);const r={domain:Nr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",mr(window.location.href)!==mr(`https://${Nr}`)&&(r.useRefreshTokens=!0),pe(`Initializing auth0 client: ${JSON.stringify(r)}`),qe=await Qm(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)pe("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{pe("Code found in URL, handling redirect");try{const u=await qe.handleRedirectCallback();pe(`Login result: ${JSON.stringify(u)}`);const l=await qe.getUser();if(!l)throw pe("No user found"),new Error("No user found");pe(`User found ${JSON.stringify(l)}`),Fs(),jt(Je.AUTHENTICATED,l),pe("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}as=!0,jt(Je.AUTH_INITIALIZED,{})}async function $r(){return await Dn(),await Ms()?!0:qe?qe.isAuthenticated():!1}async function Jy(){return await Dn(),await Ms()?(pe("Using local user"),{sub:"local",name:"Local User"}):qe?qe.getUser():null}function $v(t){if(sn)return pe("Login already in progress"),null;if(sn=!0,setTimeout(()=>{sn=!1},3e3),localStorage.removeItem(pr),!qe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:xv,redirect_uri:window.location.href,ui_locales:ln(),incognito:Cs(),...e}}}async function Mn(t){const e=$v(t);if(e)return qe.loginWithRedirect(e)}async function Dv(t){const e=$v(t);if(!e)return;await qe.loginWithPopup(e,{timeoutInSeconds:1800}),Fs(),qv(Je.AUTHENTICATED,await qe.getUser()).canceled||window.location.reload()}async function Zy(t){return Nr&&mr(window.location.href)!==mr(`https://${Nr}`)&&(Fy()||Ky()||Cs())?Dv(t):Mn(t)}function Yy(){try{const t=sessionStorage.getItem(gn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<zy}catch{return sessionStorage.removeItem(gn),!1}}function Xy(){try{const t={timestamp:Date.now()};sessionStorage.setItem(gn,JSON.stringify(t))}catch{pe("Failed to set silent auth throttle in sessionStorage")}}function Fs(){try{sessionStorage.removeItem(gn)}catch{}}async function xt(t=!0,e=!1){await Dn();const r=await Ms();if(r)return r;if(!e&&Yy()){if(pe("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!qe)return pe("Auth client not initialized"),null;let n=await qe.getTokenSilently();const a=zs(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await qe.getTokenSilently({cacheMode:e?"off":"on"})),Fs(),n}catch(n){const a=n;if(pe(`Failed to get token silently: ${a.message}`),Xy(),await qe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await Ks(),t)throw n;return null}}async function Ks(t={}){if(await Dn(),localStorage.removeItem(pr),jt(Je.LOGOUT,{}),!!qe)return pe(`Logout with options: ${JSON.stringify(t)}`),qe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function zs(t){const e=t.split(".");if(e.length!==3)return null;const n=e[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function is(t){const e=zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");pe("Set token"),localStorage.setItem(pr,t),jt(Je.AUTHENTICATED,e)}const Qy=(t,e)=>e.skipDedupe||e.method!=="GET",ew=(t,e)=>e.method+"@"+t,tw=t=>t.clone(),Ld=({skip:t=Qy,key:e=ew,resolver:r=tw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},rw=(t,e)=>t*e,nw=t=>t&&t.ok,Nd=({delayTimer:t=500,delayRamp:e=rw,maxAttempts:r=10,until:n=nw,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(m=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((y={})=>{var b,g;m(u((b=y&&y.url)!==null&&b!==void 0?b:l,(g=y&&y.options)!==null&&g!==void 0?g:c))}):m(u(l,c))},P)}).then(h).catch(m=>{if(!i)throw m;return h(null,m)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};class aw{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function os(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function Mv(t,e){if(os(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function qd(t){return t.endsWith("/")?t.slice(0,-1):t}function xd(t,e){if(!os(t)||!os(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&qd(r.pathname)===qd(n.pathname)}function iw(t,e,r){const n=new URL(`${ht("checkout3",t.environment)}`);if(e.language&&n.searchParams.set("lang",e.language),e.sku)n.searchParams.set("sku",e.sku),e.purchaseOptionId&&n.searchParams.set("po-id",e.purchaseOptionId);else if(e.itemSrc){const{sku:s,purchaseOption:u,itemSrc:l}=Mv(e.itemSrc,e.purchaseOptionId);l&&n.searchParams.set("url",l),s&&n.searchParams.set("sku",s),u&&n.searchParams.set("po-id",u)}e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const a=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(s=>{const[u,l]=s.trim().split("=");return{key:u,value:l}}).filter(s=>a.some(u=>u===s.key)).forEach(s=>{n.searchParams.append(s.key,s.value)});let o=new URL(window.location.href);if(e.redirectUrl)try{o=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return o.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&o.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",o.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:s,methods:u})=>u?u.map(l=>`${s}|${l}`):s).join(",")),n}const Fv="sesamySignedURLs";function Hs(){const t=sessionStorage.getItem(Fv);return t?JSON.parse(t):[]}function ow(t){const e=Hs();e.push(t),pe(`Adding signed URL: ${t}`),sessionStorage.setItem(Fv,JSON.stringify(e))}function sw(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const ss="sesamyAttribution";function cw(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function uw(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function yn(){return cw(ss)||{}}function Kv(t){if(t===null)localStorage.removeItem(ss);else{pe(`Setting attribution ${JSON.stringify(t)}`);const e=yn()??{},r=sw({...e,...uw(t)});localStorage.setItem(ss,JSON.stringify({value:r}))}}function lw(t){const e=t.endpoint||ht("api2",t.environment),r=async()=>{const T=await xt(!0);if(!T)throw new Error("No access token available");return T},n=Ce.client({baseUrl:e,tokenProvider:r,libraryName:xs,libraryVersion:$n,vendorId:t.vendorId,cache:{mode:Ce.CacheMode.BROWSER,storage:new aw}}),a=T=>async(K,J)=>{let re=sessionStorage.getItem(ed);re||(re=Date.now().toString(),sessionStorage.setItem(ed,re));const me={...J,headers:{...J.headers,"Cache-Timestamp":re}};return T(K,me)},i=(T=!0)=>K=>async(J,re)=>{let me=null;if(me=await xt(T),!me){if(T)throw new Error("No access token available");return K(J,re)}const Ke={...re,headers:{...re.headers,...me?{Authorization:`Bearer ${me}`}:{}}};return K(J,Ke)},o=T=>(K,J)=>{if(J.headers&&"Authorization"in J.headers)return T(K,J);const re=localStorage.getItem("__anon_id"),me=btoa(`${t.clientId}|${re}:`),Ke={...J,headers:{...J.headers,Authorization:`Basic ${me}`}};return T(K,Ke)},s=Ce.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Ld(),Nd({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]),u=Ce.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,Ld(),Nd({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]);async function l(T={}){const{waitForEntitlementAfter:K,includeSignedLinks:J=!0}=T,re=await $r()?await n.entitlements.list({waitForEntitlementAfter:K?.toISOString()}):[];return J&&re.push(...Hs()),re}async function c(T,K=[]){return(await l())?.find(me=>{const{sku:Ke,purchaseOption:M}=Mv(T);return!!("sku"in me&&Ke===me.sku||M&&"purchaseOptionsId"in me&&M===me.purchaseOptionsId||xd(T,me.url)||K.some(ee=>xd(ee,me.url)))})}async function f(T){return n.entitlements.get(T)}async function h(T){return n.entitlements.getAccess(T)}async function d(T,K,J){const re=new URL(ht("api2",t.environment));return re.pathname="/proxy",re.searchParams.set("url",K),J&&re.searchParams.set("selector",J),Ce.wretch(re.toString()).headers({Authorization:`Bearer ${T}`}).get().text()}async function v(T){if(!T)throw new Error("SKU is required to get fulfillments");return await $r()?await s.get(`/fulfillments?sku=${encodeURIComponent(T)}`).json():[]}async function p(T,K){if(!T||!K)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:T},`/fulfillments/${encodeURIComponent(K)}/request-delivery?`).res()).ok}async function m(){return s.get("/contracts").json()}async function P(T){return(await s.get("/contracts").json())?.find(J=>J.id===T)}async function y(T){const K=await s.post({},`/contracts/${encodeURIComponent(T)}/cancel`).res();return Ce.clearCache(),K.ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function g(){return s.get("/bills").json()}async function w(T){return(await s.get("/bills").json())?.find(J=>J.id===T)}async function A(){return s.get("/transactions").json()}async function x(T){return(await s.get("/transactions").json())?.find(J=>J.id===T)}async function N(T,K){const J=await s.url(`/user-metadata/${encodeURIComponent(T)}`).put(K).json();return jt(Je.USER_ATTRIBUTE_CHANGED,{}),Ce.clearCache(),J}async function z(T){const K=await s.url(`/user-metadata/${encodeURIComponent(T)}`).delete().res();return Ce.clearCache(),K.ok}async function B(){return await s.url("/user-metadata").get().json()}async function ie(T){return(await B())[T]||null}async function j(){return await s.url("/tags").get().json()}async function D(T){const K=await s.url(`/tags/${encodeURIComponent(T)}`).delete().res();return Ce.clearCache(),K.ok}async function L(T){const K=await s.url("/tags").post(encodeURIComponent(T)).res();return jt(Je.USER_ATTRIBUTE_CHANGED,{}),Ce.clearCache(),K.ok}async function k(T){return(await u.url("/tallies").get().json())[T]}async function Y(){return await u.url("/tallies").get().json()}async function te(T){const K=await u.url(`/tallies/${T}`).delete().res();return Ce.clearCache(),K.ok}async function Q(T,K){return await u.url(`/tallies/${encodeURIComponent(T)}/push`).post(K).json()}async function S(T){return n.products.get(T)}async function _(){return await xt(!1)?await s.url("/profile").get().json():null}async function q(T){const K=await s.url("/profile").patch(T).res();return Ce.clearCache(),K.ok}async function F(){return await s.url("/payment-issues").get().json()}async function Z(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function he(T){const K=await xt(!1);if(!K)throw new Error("No access token available");const J=new URL(`${ht("access-sync",t.environment)}/spotify/sesamy-callback`);J.searchParams.set("access_token",K),J.searchParams.set("state",T),window.location.href=J.toString()}async function oe(T){const K=await s.url(`/products/${encodeURIComponent(T)}/auto-onboard`).post().json();return K.length&&Ce.clearCache(),K}async function le(T,K=3600){const{shortlink:J}=await Ce.wretch(rg).post({url:T,ttl:K}).json();return J}async function se(T){const K=await xt(!1,!0);let J;const re=T.language||ln(),me=yn();switch(T.target){case"account":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}${T.contractId?`/${encodeURIComponent(T.contractId)}`:""}`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-payment":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/change-payment-method`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-plan":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/edit-plan`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"consume":J=new URL(`${ht("consume",t.environment)}/${encodeURIComponent(T.language||re)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.sku)}`),T.episodeId?J.href+=`/${T.episodeId}`:J.href+="/listen",J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"checkout":J=iw(t,{language:re,...T},me);break;default:throw new Error("Invalid target")}return K&&(J.hash=`#access_token=${K}`),T.shorten?le(J.href,T.ttl):J.href}async function Re(T){const K=yn(),J=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(me=>{const Ke=K,[M,ee]=me.trim().split("=");J.includes(M)&&!Ke[M]&&(Ke[M]=ee)}),(await u.url("/checkouts").post({language:ln(),...T,attribution:{...K,...T.attribution},vendorId:t.vendorId})).json()}async function Ue(T,K){return(await u.url(`/checkouts/${T}`).patch(K)).json()}async function Fe(T){return(await u.url(`/checkouts/${T}`).get()).json()}async function ke(T){return(await u.url(`/paywalls/${T}`).get()).json()}async function Ze(){return(await u.url("/vendor").get()).json()}async function ut(){return(await s.url("/vendors").get()).json()}async function lt(T){return(await s.url(`/contracts/${encodeURIComponent(T.contractId)}/amendments`).post({amendmentType:T.amendmentType,discountCode:T.discountCode})).json()}async function mt(T){return await s.url(`/amendments/${encodeURIComponent(T)}/confirm`).post(),!0}async function gt(){const T=await xt(!1),K=new URL(`${ht("account",t.environment)}/subscriptions/${t.clientId}`);T&&(K.hash=`#access_token=${T}`),window.location.href=K.toString()}return{autoOnboardProduct:oe,cancelContract:y,confirmAmendment:mt,createAmendment:lt,createCheckout:Re,deleteTag:D,deleteTally:te,deleteUserMetadata:z,generateLink:se,getBill:w,getBills:g,getCheckout:Fe,getProxyContent:d,getContract:P,getContracts:m,getEntitlement:f,getEntitlementAccess:h,getEntitlements:l,getFulfillments:v,requestDelivery:p,getPaywall:ke,getPaymentIssues:F,getProfile:_,getProduct:S,getSubscriptions:b,getTally:k,getTallies:Y,getTags:j,getTransaction:x,getTransactions:A,getUserMetadata:ie,hasAccess:c,isSpotifyLinked:Z,linkSpotify:he,listUserMetadata:B,openHostedAccountPage:gt,pushTally:Q,setTag:L,setUserMetadata:N,unlinkSpotify:V,updateCheckout:Ue,updateProfile:q,getVendorSettings:Ze,listVendors:ut}}const fw=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function dw(){return new Promise(t=>{const e=fw.map(r=>{const n=document.createElement("div");return n.innerHTML="&nbsp;",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function hw(){const t=navigator.userAgent.toLowerCase(),e=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}const zv="sesamyFlags";async function Hv(t){try{localStorage.setItem(zv,JSON.stringify(t))}catch{pe("Failed to save flags to localStorage")}}async function vw(t,e){const r=await Fn();r[t]=e,await Hv(r)}async function pw(t){return(await Fn())[t]}async function mw(t){const e=await Fn();t in e&&(delete e[t],await Hv(e))}async function Fn(){try{const t=localStorage.getItem(zv);return t?JSON.parse(t):{}}catch{return{}}}function gw(t){const{autoOnboardProduct:e,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:l,getCheckout:c,getContract:f,getContracts:h,getEntitlement:d,getEntitlementAccess:v,getEntitlements:p,getFulfillments:m,getPaywall:P,getPaymentIssues:y,getProfile:b,getProduct:g,getProxyContent:w,getSubscriptions:A,getTags:x,getTally:N,getTallies:z,getTransaction:B,getTransactions:ie,getUserMetadata:j,getVendorSettings:D,listVendors:L,hasAccess:k,isSpotifyLinked:Y,linkSpotify:te,listUserMetadata:Q,openHostedAccountPage:S,pushTally:_,requestDelivery:q,setTag:F,setUserMetadata:Z,unlinkSpotify:V,updateCheckout:he,updateProfile:oe}=lw(t),le={analytics:{track:Nv},attribution:{get:yn,set:Kv},auth:{getUser:b,getTokenSilently:xt,isAuthenticated:$r,loginWithRedirect:Mn,loginWithPopup:Dv,login:Zy,logout:Ks,setToken:is},bills:{get:u,list:l},browser:{detectAdblock:dw,isInAppBrowser:hw,isIncognito:Cs},checkouts:{create:n,get:c,update:he},clearCache:Ce.clearCache,content:{list:Ay,get:Ds,getLanguage:ln,unlock:Uy,getPropertyFromHTML:Cv},contracts:{cancel:r,get:f,list:h},entitlements:{access:v,get:d,hasAccess:k,list:p,signedLinks:Hs},events:{emit:qv,cancel:My},flags:{get:pw,set:vw,list:Fn,delete:mw},fulfillments:{list:m,requestDelivery:q},generateLink:s,getPaymentIssues:y,getVersion:yw,isReady:()=>exports.isInitialized,log:pe,paywalls:{get:P},products:{autoOnboard:e,get:g,linkSpotify:te},profile:{get:b,isSpotifyLinked:Y,openHostedAccountPage:S,unlinkSpotify:V,update:oe},proxy:{getContent:w},subscriptions:{list:A},tags:{delete:a,list:x,set:F},tallies:{delete:i,get:N,list:z,push:_},transactions:{get:B,list:ie},userMetadata:{delete:o,get:j,list:Q,set:Z},vendors:{get:D,list:L},setToken:is};return t.namespace&&(window[t.namespace]=le),le}function yw(){return $n}function ww(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
35
+ `))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:B,instance:n,abort:(ie=B,j=b,D=N.pluginName,function(L,k){return ae({},ie,{abort:{reason:L,plugins:k||[j],caller:f,from:D||j}})}),config:dd(N.pluginName,l,i),plugins:l})).then(function(L){var k=We(L)?L:{};return Promise.resolve(ae({},B,k))})):B;var ie,j,D})},Promise.resolve(r))).then(function(x){g[b]=x});g[b]=r})();return A&&A.then?A.then(w):w()})},Promise.resolve({}))).then(function(m){return Promise.resolve(e.exact.reduce(function(P,y,b){try{var g=e.exact.length===b+1,w=y.pluginName,A=i[w];return Promise.resolve(P).then(function(x){var N=m[w]?m[w]:{};if(h&&(N=x),$o(N,w))return xo({data:N,method:f,instance:n,pluginName:w,store:s}),Promise.resolve(x);if($o(x,w))return g&&xo({data:x,method:f,instance:n,store:s}),Promise.resolve(x);if(p.hasOwnProperty(w)&&p[w]===!0)return s.dispatch({type:"queue",plugin:w,payload:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(x);var z=v(m[w],i[w]);return Promise.resolve(A[f]({abort:z.abort,payload:N,instance:n,config:dd(w,l,i),plugins:l})).then(function(B){var ie=We(B)?B:{},j=ae({},x,ie),D=m[w];if($o(D,w))xo({data:D,method:f,instance:n,pluginName:w,store:s});else{var L=f+":"+w;(L.match(/:/g)||[]).length<2&&!f.match(ld)&&!f.match(fd)&&n.dispatch(ae({},h?j:N,{type:L,_:{called:L,from:"submethod"}}))}return Promise.resolve(j)})})}catch(x){return Promise.reject(x)}},Promise.resolve(r))).then(function(P){if(!(f.match(ur)||f.match(/^registerPlugin/)||f.match(fd)||f.match(ld)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var y=ae({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});dv(P,e.exact.length)&&!f.match(/End$/)&&(y=ae({},y,{type:P.type+"Aborted"})),s.dispatch(y)}return P})})}catch(m){return Promise.reject(m)}},ur=/Start$/,ld=/^bootstrap/,fd=/^ready/;function xo(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ae({},t.data,{type:r,_:{called:r,from:"abort"}}))}function dd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function hd(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function vd(t,e){var r=t.replace(ur,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function $o(t,e){var r=t.abort;return!!r&&(r===!0||pd(r,e)||r&&pd(r.plugins,e))}function dv(t,e){var r=t.abort;if(!r)return!1;if(r===!0||At(r))return!0;var n=r.plugins;return xr(r)&&r.length===e||xr(n)&&n.length===e}function xr(t){return Array.isArray(t)}function pd(t,e){return!(!t||!xr(t))&&t.includes(e)}function md(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Dg(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=We(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Mg(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(g){return s?g:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===ne.enablePlugin&&a.dispatch({type:ne.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===ne.disablePlugin&&setTimeout(function(){return ud(o.meta.rid,{payload:o})},0),l===ne.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(g){return c.includes(g)}).map(function(g){return h[g]}),p=[],m=[],P=o.disabled,y=v.map(function(g){var w=g.loaded,A=g.name,x=g.config;return lv(g,function(){return w({config:x})},1e4).then(function(N){return n[A]||(a.dispatch({type:ne.pluginReadyType(A),name:A,events:Object.keys(g).filter(function(z){return!es.includes(z)})}),n[A]=!0),p=p.concat(A),g}).catch(function(N){if(N instanceof Error)throw new Error(N);return m=m.concat(N.name),N})});Promise.all(y).then(function(g){var w={plugins:p,failed:m,disabled:P};setTimeout(function(){d.length===y.length+P.length&&a.dispatch(ae({},{type:ne.ready},w))},0)})}var b=(function(){if(l!==ne.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return fv(a,e,t)},0),Promise.resolve((function(g,w,A,x,N){try{var z=Ve(w)?w():w,B=g.type,ie=B.replace(ur,"");if(g._&&g._.called)return Promise.resolve(g);var j=A.getState(),D=(Y=z,(te=j.plugins)===void 0&&(te={}),(Q=g.options)===void 0&&(Q={}),Object.keys(Y).filter(function(S){var _=Q.plugins||{};return bg(_[S])?_[S]:_.all!==!1&&(!te[S]||te[S].enabled!==!1)}).map(function(S){return Y[S]}));B===ne.initializeStart&&g.fromEnable&&(D=Object.keys(j.plugins).filter(function(S){var _=j.plugins[S];return g.plugins.includes(S)&&!_.initialized}).map(function(S){return z[S]}));var L=D.map(function(S){return S.name}),k=(function(S,_){var q=vd(S).map(function(F){return hd(F,_)});return _.reduce(function(F,Z){var V=Z.name,he=vd(S,V).map(function(Re){return hd(Re,_)}),oe=he[0],le=he[1],se=he[2];return oe.length&&(F.beforeNS[V]=oe),le.length&&(F.duringNS[V]=le),se.length&&(F.afterNS[V]=se),F},{before:q[0],beforeNS:{},during:q[1],duringNS:{},after:q[2],afterNS:{}})})(B,D);return Promise.resolve(qo({action:g,data:{exact:k.before,namespaced:k.beforeNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(S){function _(){var Z=(function(){if(B.match(ur))return Promise.resolve(qo({action:ae({},q,{type:ie+"End"}),data:{exact:k.after,namespaced:k.afterNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(V){V.meta&&V.meta.hasCallback&&ud(V.meta.rid,{payload:V})})})();return Z&&Z.then?Z.then(function(){return S}):S}if(dv(S,L.length))return S;var q,F=(function(){if(B!==ie)return Promise.resolve(qo({action:ae({},S,{type:ie}),data:{exact:k.during,namespaced:k.duringNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(Z){q=Z});q=S})();return F&&F.then?F.then(_):_()})}catch(S){return Promise.reject(S)}var Y,te,Q})(o,e,t,a,r)).then(function(g){var w=i(g);return s=1,w})})();return Promise.resolve(b&&b.then?b.then(u):u(b))}catch(g){return Promise.reject(g)}}}}}function Fg(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===ne.setItem||a===ne.removeItem){if(n.abort)return r(n);a===ne.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var Kg=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return vr.apply(void 0,o)(n)(a)}}}}};function zg(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=gd(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},ae({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=gd(r.type,ne.initialize),l=t()[u];return l&&u?(n[u]=ae({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),ae({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=ae({},e[r.name],{loaded:!0}),ae({},e,n);switch(r.type){case ne.disablePlugin:return ae({},e,yd(r.plugins,!1,e));case ne.enablePlugin:return ae({},e,yd(r.plugins,!0,e));default:return e}}}function gd(t,e){return t.substring(e.length+1,t.length)}function yd(t,e,r){return t.reduce(function(n,a){return n[a]=ae({},r[a],{enabled:e}),n},r)}function hv(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Hg={last:{},history:[]};function Bg(t,e){t===void 0&&(t=Hg);var r=e.options,n=e.meta;if(e.type===ne.track){var a=hv(ae({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return ae({},t,{last:a,history:t.history.concat(a)})}return t}var Gg={actions:[]};function Wg(t,e){t===void 0&&(t=Gg);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===ne.identify?[e].concat(t.actions):t.actions.concat(e),ae({},t,{actions:n});case"dequeue":return[];default:return t}}var vv=/#.*$/;function Vg(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(vv,""):"")}var pv,mv,gv,yv,Jg=function(t){if(t===void 0&&(t={}),!xe)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(xe){for(var v,p=document.getElementsByTagName("link"),m=0;v=p[m];m++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(vv,"")})(l),f={title:r,url:c,path:Vg(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ae({},f,t)},Zg={last:{},history:[]};function Yg(t,e){t===void 0&&(t=Zg);var r=e.options;if(e.type===ne.page){var n=hv(ae({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return ae({},t,{last:n,history:t.history.concat(n)})}return t}pv=(function(){if(!xe)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"})(),mv=xe?document.referrer:null,gv=Tg(),yv=kg();var wd={initialized:!1,sessionId:Nn(),app:null,version:null,debug:!1,offline:!!xe&&!navigator.onLine,os:{name:pv},userAgent:xe?navigator.userAgent:"node",library:{name:Qo,version:"0.13.1"},timezone:yv,locale:gv,campaign:{},referrer:mv};function Xg(t,e){t===void 0&&(t=wd);var r=t.initialized,n=e.campaign;switch(e.type){case ne.campaign:return ae({},t,{campaign:n});case ne.offline:return ae({},t,{offline:!0});case ne.online:return ae({},t,{offline:!1});default:return r?t:ae({},wd,t,{initialized:!0})}}var Qg=["plugins","reducers","storage"];function ey(t,e,r){if(xe){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function ty(t){var e=ey.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function wv(){return Jt(Qo,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return hr[dr][Qo].push(o.action||o),i(o)}})}}}function bd(t){return function(){return vr(vr.apply(null,arguments),wv())}}function Do(t){return t?ov(t)?t:[t]:[]}function Sd(t,e,r){t===void 0&&(t={});var n,a,i=Nn();return e&&(Ar[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(Ve(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),ae({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function ry(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,_){if(Ve(_))return S.middlewares=S.middlewares.concat(_),S;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var q=_.EVENTS?Object.keys(_.EVENTS).map(function(V){return _.EVENTS[V]}):[];S.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(S.methods[_.name]=Object.keys(_.methods).reduce(function(V,he){var oe;return V[he]=(oe=_.methods[he],function(){for(var le=Array.prototype.slice.call(arguments),se=new Array(oe.length),Re=0;Re<le.length;Re++)se[Re]=le[Re];return se[se.length]=w,oe.apply({instance:w},se)}),V},{}),delete _.methods);var F=Object.keys(_).concat(q),Z=new Set(S.events.concat(F));if(S.events=Array.from(Z),S.pluginsArray=S.pluginsArray.concat(_),S.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return S.plugins[_.name]=_,S.plugins[_.name].loaded||(S.plugins[_.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Vt,setItem:Jt,removeItem:Ir},i=(function(S){return function(_,q,F){return q.getState("user")[_]||(F&&We(F)&&F[_]?F[_]:cd(S)[_]||Vt(ts(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!es.includes(S)}).sort(),u=new Set(s.concat(nn).filter(function(S){return!es.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new Kg,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},m=Og(),P=cd(a),y=ae({},P,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=Nn());var b=ae({enable:function(S,_){return new Promise(function(q){k.dispatch({type:ne.enablePlugin,plugins:Do(S),_:{originalAction:ne.enablePlugin}},q,[_])})},disable:function(S,_){return new Promise(function(q){k.dispatch({type:ne.disablePlugin,plugins:Do(S),_:{originalAction:ne.disablePlugin}},q,[_])})}},n.methods),g=!1,w={identify:function(S,_,q,F){try{var Z=At(S)?S:null,V=We(S)?S:_,he=q||{},oe=w.user();Jt(ts(kt),Z);var le=Z||V.userId||i(kt,w,V);return Promise.resolve(new Promise(function(se){k.dispatch(ae({type:ne.identifyStart,userId:le,traits:V||{},options:he,anonymousId:oe.anonymousId},oe.id&&oe.id!==Z&&{previousId:oe.id}),se,[_,q,F])}))}catch(se){return Promise.reject(se)}},track:function(S,_,q,F){try{var Z=We(S)?S.event:S;if(!Z||!At(Z))throw new Error("EventMissing");var V=We(S)?S:_||{},he=We(q)?q:{};return Promise.resolve(new Promise(function(oe){k.dispatch({type:ne.trackStart,event:Z,properties:V,options:he,userId:i(kt,w,_),anonymousId:i(sr,w,_)},oe,[_,q,F])}))}catch(oe){return Promise.reject(oe)}},page:function(S,_,q){try{var F=We(S)?S:{},Z=We(_)?_:{};return Promise.resolve(new Promise(function(V){k.dispatch({type:ne.pageStart,properties:Jg(F),options:Z,userId:i(kt,w,F),anonymousId:i(sr,w,F)},V,[S,_,q])}))}catch(V){return Promise.reject(V)}},user:function(S){if(S===kt||S==="id")return i(kt,w);if(S===sr||S==="anonId")return i(sr,w);var _=w.getState("user");return S?rd(_,S):_},reset:function(S){return new Promise(function(_){k.dispatch({type:ne.resetStart},_,S)})},ready:function(S){return g&&S({plugins:b,instance:w}),w.on(ne.ready,function(_){S&&S(_),g=!0})},on:function(S,_){if(!S||!Ve(_))return!1;if(S===ne.bootstrap)throw new Error(".on disabled for "+S);var q=/Start$|Start:/;if(S==="*"){var F=function(oe){return function(le){return function(se){return se.type.match(q)&&_({payload:se,instance:w,plugins:o}),le(se)}}},Z=function(oe){return function(le){return function(se){return se.type.match(q)||_({payload:se,instance:w,plugins:o}),le(se)}}};return h(F,Zr),h(Z,Yr),function(){d(F,Zr),d(Z,Yr)}}var V=S.match(q)?Zr:Yr,he=function(oe){return function(le){return function(se){return se.type===S&&_({payload:se,instance:w,plugins:o,abort:p}),le(se)}}};return h(he,V),function(){return d(he,V)}},once:function(S,_){if(!S||!Ve(_))return!1;if(S===ne.bootstrap)throw new Error(".once disabled for "+S);var q=w.on(S,function(F){_({payload:F.payload,instance:w,plugins:o,abort:p}),q()});return q},getState:function(S){var _=k.getState();return S?rd(_,S):Object.assign({},_)},dispatch:function(S){var _=At(S)?{type:S}:S;if(nn.includes(_.type))throw new Error("reserved action "+_.type);var q=ae({},_,{_:ae({originalAction:_.type},S._||{})});k.dispatch(q)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:a.getItem,setItem:function(S,_,q){k.dispatch({type:ne.setItemStart,key:S,value:_,options:q})},removeItem:function(S,_){k.dispatch({type:ne.removeItemStart,key:S,options:_})}},setAnonymousId:function(S,_){w.storage.setItem(Ut,S,_)},events:{core:nn,plugins:s}},A=n.middlewares.concat([function(S){return function(_){return function(q){return q.meta||(q.meta=Sd()),_(q)}}},v(Zr),Mg(w,c,{all:l,plugins:s}),Fg(a),Ng(w),xg(w),v(Yr)]),x={context:Xg,user:qg(a),page:Yg,track:Bg,plugins:zg(c),queue:Wg},N=vr,z=vr;if(xe&&t.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(N=B({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?wv():We(typeof arguments[0])?bd():bd().apply(null,arguments)}}var ie,j=(function(S){return Object.keys(S).reduce(function(_,q){return Qg.includes(q)||(_[q]=S[q]),_},{})})(t),D=n.pluginsArray.reduce(function(S,_){var q=_.name,F=_.config,Z=_.loaded,V=n.pluginEnabled[q];return S[q]={enabled:V,initialized:!!V&&!_.initialize,loaded:!!Z({config:F}),config:F},S},{}),L={context:j,user:y,plugins:D},k=uv((function(S){for(var _=Object.keys(S),q={},F=0;F<_.length;F++){var Z=_[F];typeof S[Z]===Ot&&(q[Z]=S[Z])}var V,he=Object.keys(q);try{(function(oe){Object.keys(oe).forEach(function(le){var se=oe[le];if(typeof se(void 0,{type:Xo})===It||typeof se(void 0,{type:Ug})===It)throw new Error(Lr+" "+le+" "+It)})})(q)}catch(oe){V=oe}return function(oe,le){if(oe===void 0&&(oe={}),V)throw V;for(var se=!1,Re={},Ue=0;Ue<he.length;Ue++){var Fe=he[Ue],ke=oe[Fe],Ze=(0,q[Fe])(ke,le);if(typeof Ze===It){var ut=jg(Fe,le);throw new Error(ut)}Re[Fe]=Ze,se=se||Ze!==ke}return se?Re:oe}})(ae({},x,e)),L,z(N(Lg.apply(void 0,A))));k.dispatch=(ie=k.dispatch,function(S,_,q){var F=ae({},S,{meta:Sd(S.meta,_,Do(q))});return ie.apply(null,[F])});var Y=Object.keys(o);k.dispatch({type:ne.bootstrap,plugins:Y,config:j,params:m,user:y,initialUser:r,persistedUser:P});var te=Y.filter(function(S){return n.pluginEnabled[S]}),Q=Y.filter(function(S){return!n.pluginEnabled[S]});return k.dispatch({type:ne.registerPlugins,plugins:Y,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,_){var q=S.bootstrap,F=S.config,Z=S.name;q&&Ve(q)&&q({instance:w,config:F,payload:S}),k.dispatch({type:ne.registerPluginType(Z),name:Z,enabled:n.pluginEnabled[Z],plugin:S}),n.pluginsArray.length===_+1&&k.dispatch({type:ne.initializeStart,plugins:te,disabled:Q})}),ty(function(S){k.dispatch({type:S?ne.offline:ne.online})}),(function(S,_,q){setInterval(function(){return fv(S,_,q)},3e3)})(k,c,w),w}var Zr="before",Yr="after",Bt="cookie",Mt=Iv(),bv=qn,ny=qn;function Sv(t){return Mt?qn(t,"",-1):Ir(t)}function Iv(){if(Mt!==void 0)return Mt;var t=Bt+Bt;try{qn(t,t),Mt=document.cookie.indexOf(t)!==-1,Sv(t)}catch{Mt=!1}return Mt}function qn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Mt===!1&&(o?Jt(t,e):Vt(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var Pt="localStorage",ay=As.bind(null,Pt);Pr(Pt,"getItem",Vt);Pr(Pt,"setItem",Jt);Pr(Pt,"removeItem",Ir);var Et="sessionStorage",iy=As.bind(null,Et);Pr(Et,"getItem",Vt);Pr(Et,"setItem",Jt);Pr(Et,"removeItem",Ir);function lr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(We(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var oy=ay(),sy=iy(),cy=Iv();function Gt(t,e){if(t){var r=Us(e),n=!qs(r),a=js(r)?lr(localStorage.getItem(t)):void 0;if(n&&!or(a))return a;var i=Ls(r)?lr(bv(t)):void 0;if(n&&i)return i;var o=Ns(r)?lr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Vt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function vn(t,e,r){if(t&&!or(e)){var n={},a=Us(r),i=JSON.stringify(e),o=!qs(a);return js(a)&&(n[Pt]=Xr(Pt,e,lr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[Pt]:Ls(a)&&(n[Bt]=Xr(Bt,e,lr(bv(t))),ny(t,i),o)?n[Bt]:Ns(a)&&(n[Et]=Xr(Et,e,lr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[Et]:(n[zt]=Xr(zt,e,Vt(t)),Jt(t,e),o?n[zt]:n)}}function uy(t,e){if(t){var r=Us(e),n=Gt(t,nv),a={};return!or(n.localStorage)&&js(r)&&(localStorage.removeItem(t),a[Pt]=n.localStorage),!or(n.cookie)&&Ls(r)&&(Sv(t),a[Bt]=n.cookie),!or(n.sessionStorage)&&Ns(r)&&(sessionStorage.removeItem(t),a[Et]=n.sessionStorage),!or(n.global)&&xn(r,zt)&&(Ir(t),a[zt]=n.global),a}}function Us(t){return t?At(t)?t:t.storage:rv}function js(t){return oy&&xn(t,Pt)}function Ls(t){return cy&&xn(t,Bt)}function Ns(t){return sy&&xn(t,Et)}function qs(t){return t===nv||t==="all"}function xn(t,e){return t===rv||t===e||qs(t)}function Xr(t,e,r){return{location:t,current:e,previous:r}}var ly={setItem:vn,getItem:Gt,removeItem:uy};function fy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Id(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function Pd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Id(Object(r),!0).forEach(function(n){fy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Id(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function dy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:ly};return ry(Pd(Pd({},e),t))}const xs="@sesamy/sesamy-js",$n="1.52.0";function hy(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=py(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function vy(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function py(t){return["#","?"].forEach(e=>t=vy(t,e)),t}function my(){hy(()=>{bt.page()})}var Mo="up",Fo="down";function gy(t){if(t===void 0&&(t={}),!xe)return Yo;var e=Rd(),r=rs(),n=Ed(),a=Qr(n,e),i=Qr(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return Yo;var d=h.map(function(p){return Number(p)}),v=Ag(function(){var p=Rd(),m=(function(j,D){return D.map(function(L){return L===100?j-5:j*(L/100)})})(p,d),P=rs(),y=Ed(),b=Qr(y,p),g=Qr(P,p);if(c=b>c?b:c,f=g<f?g:f,!(o.length>=d.length)){var w=l===y,A=Mo;w?A="initial":l<=y&&(A=Fo);var x=m,N=d;(A===Mo||w)&&(x=m.slice().reverse(),N=d.slice().reverse());var z=N.reduce(function(j,D,L){var k=x[L];return u.includes(D)&&y<=k&&(u=u.filter(function(Y){return Y!==D}),j.singleFunction=D),A===Fo&&!o.includes(D)&&y>=k&&D>i?(s.push(D),j.callbacks=j.callbacks.concat(D),j):A===Mo&&!o.includes(D)&&y<=k&&D<=b?(j.foundFunc=[D],j):(w&&y>=k&&j.foundFunc.length===0&&(j.foundFunc=[D]),!s.includes(D)&&y>=k&&(s.push(D),j.singleFunction?u.push(D):j.singleFunction=D),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:A});if(l=y,A===Fo&&z.callbacks&&z.callbacks.forEach(function(j){Ve(t[j])&&(t[j]({trigger:j,direction:A,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),z.singleFunction){var B=z.singleFunction,ie=z.direction;Ve(t[B])&&t[B]({trigger:B,direction:ie,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(B)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function rs(){return xe?document.body.scrollTop||document.documentElement.scrollTop:0}function yy(){return xe?window.innerHeight||document.documentElement.clientHeight:0}function Ed(){return Math.round(rs()+yy())}function Rd(){if(!xe)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function Qr(t,e){return Math.round(t/e*100)}var $s="Event",_d=$s+"Listener";function wy(t){return function(e,r,n,a){var i=n||Yo,o=a||!1;if(!xe)return i;var s=pn(r),u=pn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+$s);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+_d:"remove"+_d,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?by(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function pn(t,e){if(At(t))return e?pn(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=_g(t);return e?i.map(function(o){return At(o)?pn(o,!0):o}).flat():i}function by(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var Ko=wy($s);function Pv(t,e){return xe&&Ve(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),Ve(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Pv.bind(null,"onerror");Pv.bind(null,"onload");var Ev=typeof window>"u",Td="hidden";function Sy(t){if(Ev)return!1;var e=Iy(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function Iy(){var t=["webkit","moz","ms","o"];return Ev||Td in document?Td:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Py=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Ey(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=Sy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Py.map(function(s){return Ko(document,s,r)})).concat(Ko(window,"load",r)).concat(Ko(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function Ry(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(m){d(),i&&!c&&i(Cr(h),m),a&&c&&(c=!1,a(Cr(r),m),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Cr(h),m))},s)}var p=Ey(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var m=p();return function(){return f=!1,h=new Date,v({type:"load"}),m()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Cr(h,f),idle:c?Cr(r,f):0}}}}function Cr(t,e){return e?0:Math.round((new Date-t)/1e3)}const kd=5e3;class _y{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),Ry({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:kd}),gy({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,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*kd:Date.now(),this.isInViewport&&this.trackAwake(e,r)}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,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function Rv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function Ty(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}const Od="sesamy_session_id";function ky(){let t=sessionStorage.getItem(Od);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Od,t)),t}function _v(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}let Xe={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"}},Tv=[],an;function kv(){const t=window.location.pathname;return Tv.find(e=>e.path?t.includes(e.path):!0)}function Oy(t,e){Tv=t.content||[];const r=kv();r&&r.type==="article"&&(Xe={...Xe,...r.selectors}),an=e}function Cy(t,e){const{selector:r}=e;return r===Xe.article.selector?t:t.querySelector(r)}function Ov(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Ov(t.parentElement,e):t.textContent??void 0}function fr(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function Cv({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||fr(`sesamy:${e}`)||fr(`og:${e}`)||fr(e)||r}function Ay(){const t=document.querySelectorAll(Xe.article.selector);return Array.from(t).map(Ds).filter(e=>e!==null)}function Ds(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:_v(e)},n=(i,o,s,u)=>{const l=Cy(e,o);if(l){const c=Ov(l,o)||Cv({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Xe.id),n("title",Xe.title,r.id),n("excerpt",Xe.excerpt,r.id),n("image",Xe.image,r.id),n("price",Xe.price,r.id,i=>parseFloat(i)),n("currency",Xe.currency,r.id),n("url",Xe.url,r.id),n("pass",Xe.pass,r.id),n("accessLevel",Xe.accessLevel,r.id,i=>i||"entitlement");const a=kv();return a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency)),r}async function Uy(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Ds(r);if(!n?.url)throw new Error("Could not find content for element");const a=await an.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await an.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||_v(r.parentElement||r);return an.proxy.getContent(i.token,n.url,o)}let Av=!1,on,mn,ns;function Uv(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:ns,requestId:Math.random().toString(36).slice(2,9),sessionId:ky(),timestamp:new Date().toISOString(),version:$n,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:fr("sesamy:item-src"),publisherContentId:fr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:xs,userAgent:navigator.userAgent,clientId:ns}}}))}const jv=Ty(async t=>{if(t.length>0){const e=Uv(t);Av?navigator.sendBeacon(mn,e):(await fetch(mn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function zo(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(mn,Uv([e]))}else jv.push(t)}function jy(){return Av=!0,jv.flush()}function Ly(t,e,r){on=e,mn=`${ht("logs",r)}/events`,ns=t}const Ny={name:"custom-analytics-plugin",page:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;zo({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;zo({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n}=t;zo({anonymousId:r,userId:n,properties:e,type:"identify"})}},Cd=["source","medium","campaign","term","content"],Ct="utm_",qy=1800*1e3;function Lv(t){return t?Date.now()-parseInt(t,10)>qy:!0}function Ad(){const t=document.referrer||"";if(!t)return;const e=Gt(`${Ct}set_at`);(Lv(e)||!Gt(`${Ct}referrer`))&&vn(`${Ct}referrer`,t)}function xy(){const t=()=>{const r={};for(const a of Cd){const i=Gt(`${Ct}${a}`);i&&(r[`utm_${a}`]=i)}const n=Gt(`${Ct}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Ad()},campaign({payload:r}){const n=r?.campaign||{},a=Gt(`${Ct}set_at`);if(Object.keys(n).length>0&&Lv(a)){for(const o of Cd){const s=n[o];s&&vn(`${Ct}${o}`,s)}vn(`${Ct}set_at`,String(Date.now()))}Ad()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const $y=xy(),Ud=new Map,jd=new Map;function Dy({clientId:t,enabled:e=!0,environment:r}){Ly(t,e,r),e&&(window.addEventListener("beforeunload",()=>{jd.forEach((n,a)=>{n.bind(a)()}),jy()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Ud.forEach((n,a)=>{n.bind(a)()})}),my(),Rv(()=>{const n=new _y({element:document.body,viewCallback:()=>{bt.page()},activeDurationCallback:(a,i,o)=>{bt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{bt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{bt.track("scroll",{scroll:a.scrollMax})}});jd.set(document.body,()=>{n.flush()}),Ud.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Je.AUTHENTICATED,async n=>{const a=n;await bt.identify(a.detail.sub)}),window.addEventListener(Je.LOGOUT,async()=>{await bt.track("logout",{}),await bt.reset()}))}const bt=dy({app:xs,version:$n,plugins:[$y,Ny]});function Nv(t,e){bt.track(t,e)}function qv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});Nv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function My(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function Fy(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Ky(){return/android/i.test(navigator.userAgent)}let qe,xv,Nr,as=!1,sn=!1;qr()&&window.addEventListener("pageshow",()=>{sn=!1});const pr="sesamyAccessToken",Ho="sesamyRefreshToken",gn="sesamySilentAuthThrottle",zy=300*1e3;async function Dn(){return as?!0:new Promise((t,e)=>{const r=setTimeout(()=>{as?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Je.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function Hy(t){if(!t)return null;const e=localStorage.getItem(Ho);if(!e)return pe("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(Ho),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Ho,i.refresh_token),localStorage.setItem(pr,i.access_token),i.access_token}catch{Ks()}}async function Ms(){const t=localStorage.getItem(pr);if(!t)return null;const e=zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await Hy(e);if(r)return r;localStorage.removeItem(pr)}return t}let en=null;const By=64;function Gy(){try{if(en!==null)return en;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===By)return en=!0,!0}}catch(t){pe(`Error checking for existing auth0 tokens: ${t.message}`)}return en=!1,!1}function Wy(t){if(t.domains&&t.domains.length>0){const e=mr(window.location.href);if(e){for(const r of t.domains)if(mr(`https://${r}`)===e)return pe(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;pe(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return pe(`Using fallback domain property: ${t.domain}`),t.domain}function mr(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function Vy(t){if(t.enabled===!1)return;xv=t.organization;const e=Wy(t);Nr=e&&!Gy()?e:tv("token",t.environment);const r={domain:Nr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",mr(window.location.href)!==mr(`https://${Nr}`)&&(r.useRefreshTokens=!0),pe(`Initializing auth0 client: ${JSON.stringify(r)}`),qe=await Qm(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)pe("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{pe("Code found in URL, handling redirect");try{const u=await qe.handleRedirectCallback();pe(`Login result: ${JSON.stringify(u)}`);const l=await qe.getUser();if(!l)throw pe("No user found"),new Error("No user found");pe(`User found ${JSON.stringify(l)}`),Fs(),jt(Je.AUTHENTICATED,l),pe("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}as=!0,jt(Je.AUTH_INITIALIZED,{})}async function $r(){return await Dn(),await Ms()?!0:qe?qe.isAuthenticated():!1}async function Jy(){return await Dn(),await Ms()?(pe("Using local user"),{sub:"local",name:"Local User"}):qe?qe.getUser():null}function $v(t){if(sn)return pe("Login already in progress"),null;if(sn=!0,setTimeout(()=>{sn=!1},3e3),localStorage.removeItem(pr),!qe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:xv,redirect_uri:window.location.href,ui_locales:ln(),incognito:Cs(),...e}}}async function Mn(t){const e=$v(t);if(e)return qe.loginWithRedirect(e)}async function Dv(t){const e=$v(t);if(!e)return;await qe.loginWithPopup(e,{timeoutInSeconds:1800}),Fs(),qv(Je.AUTHENTICATED,await qe.getUser()).canceled||window.location.reload()}async function Zy(t){return Nr&&mr(window.location.href)!==mr(`https://${Nr}`)&&(Fy()||Ky()||Cs())?Dv(t):Mn(t)}function Yy(){try{const t=sessionStorage.getItem(gn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<zy}catch{return sessionStorage.removeItem(gn),!1}}function Xy(){try{const t={timestamp:Date.now()};sessionStorage.setItem(gn,JSON.stringify(t))}catch{pe("Failed to set silent auth throttle in sessionStorage")}}function Fs(){try{sessionStorage.removeItem(gn)}catch{}}async function xt(t=!0,e=!1){await Dn();const r=await Ms();if(r)return r;if(!e&&Yy()){if(pe("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!qe)return pe("Auth client not initialized"),null;let n=await qe.getTokenSilently();const a=zs(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await qe.getTokenSilently({cacheMode:e?"off":"on"})),Fs(),n}catch(n){const a=n;if(pe(`Failed to get token silently: ${a.message}`),Xy(),await qe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await Ks(),t)throw n;return null}}async function Ks(t={}){if(await Dn(),localStorage.removeItem(pr),jt(Je.LOGOUT,{}),!!qe)return pe(`Logout with options: ${JSON.stringify(t)}`),qe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function zs(t){const e=t.split(".");if(e.length!==3)return null;const n=e[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function is(t){const e=zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");pe("Set token"),localStorage.setItem(pr,t),jt(Je.AUTHENTICATED,e)}const Qy=(t,e)=>e.skipDedupe||e.method!=="GET",ew=(t,e)=>e.method+"@"+t,tw=t=>t.clone(),Ld=({skip:t=Qy,key:e=ew,resolver:r=tw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},rw=(t,e)=>t*e,nw=t=>t&&t.ok,Nd=({delayTimer:t=500,delayRamp:e=rw,maxAttempts:r=10,until:n=nw,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(m=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((y={})=>{var b,g;m(u((b=y&&y.url)!==null&&b!==void 0?b:l,(g=y&&y.options)!==null&&g!==void 0?g:c))}):m(u(l,c))},P)}).then(h).catch(m=>{if(!i)throw m;return h(null,m)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};class aw{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function os(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function Mv(t,e){if(os(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function qd(t){return t.endsWith("/")?t.slice(0,-1):t}function xd(t,e){if(!os(t)||!os(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&qd(r.pathname)===qd(n.pathname)}function iw(t,e,r){const n=new URL(`${ht("checkout3",t.environment)}`);if(e.language&&n.searchParams.set("lang",e.language),e.sku)n.searchParams.set("sku",e.sku),e.purchaseOptionId&&n.searchParams.set("po-id",e.purchaseOptionId);else if(e.itemSrc){const{sku:s,purchaseOption:u,itemSrc:l}=Mv(e.itemSrc,e.purchaseOptionId);l&&n.searchParams.set("url",l),s&&n.searchParams.set("sku",s),u&&n.searchParams.set("po-id",u)}e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const a=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(s=>{const[u,l]=s.trim().split("=");return{key:u,value:l}}).filter(s=>a.some(u=>u===s.key)).forEach(s=>{n.searchParams.append(s.key,s.value)});let o=new URL(window.location.href);if(e.redirectUrl)try{o=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return o.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&o.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",o.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:s,methods:u})=>u?u.map(l=>`${s}|${l}`):s).join(",")),n}const Fv="sesamySignedURLs";function Hs(){const t=sessionStorage.getItem(Fv);return t?JSON.parse(t):[]}function ow(t){const e=Hs();e.push(t),pe(`Adding signed URL: ${t}`),sessionStorage.setItem(Fv,JSON.stringify(e))}function sw(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const ss="sesamyAttribution";function cw(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function uw(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function yn(){return cw(ss)||{}}function Kv(t){if(t===null)localStorage.removeItem(ss);else{pe(`Setting attribution ${JSON.stringify(t)}`);const e=yn()??{},r=sw({...e,...uw(t)});localStorage.setItem(ss,JSON.stringify({value:r}))}}function lw(t){const e=t.endpoint||ht("api2",t.environment),r=async()=>{const T=await xt(!0);if(!T)throw new Error("No access token available");return T},n=Ce.client({baseUrl:e,tokenProvider:r,libraryName:xs,libraryVersion:$n,vendorId:t.vendorId,cache:{mode:Ce.CacheMode.BROWSER,storage:new aw}}),a=T=>async(K,J)=>{let re=sessionStorage.getItem(ed);re||(re=Date.now().toString(),sessionStorage.setItem(ed,re));const me={...J,headers:{...J.headers,"Cache-Timestamp":re}};return T(K,me)},i=(T=!0)=>K=>async(J,re)=>{let me=null;if(me=await xt(T),!me){if(T)throw new Error("No access token available");return K(J,re)}const Ke={...re,headers:{...re.headers,...me?{Authorization:`Bearer ${me}`}:{}}};return K(J,Ke)},o=T=>(K,J)=>{if(J.headers&&"Authorization"in J.headers)return T(K,J);const re=localStorage.getItem("__anon_id"),me=btoa(`${t.clientId}|${re}:`),Ke={...J,headers:{...J.headers,Authorization:`Basic ${me}`}};return T(K,Ke)},s=Ce.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Ld(),Nd({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]),u=Ce.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,Ld(),Nd({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]);async function l(T={}){const{waitForEntitlementAfter:K,includeSignedLinks:J=!0}=T,re=await $r()?await n.entitlements.list({waitForEntitlementAfter:K?.toISOString()}):[];return J&&re.push(...Hs()),re}async function c(T,K=[]){return(await l())?.find(me=>{const{sku:Ke,purchaseOption:M}=Mv(T);return!!("sku"in me&&Ke===me.sku||M&&"purchaseOptionsId"in me&&M===me.purchaseOptionsId||xd(T,me.url)||K.some(ee=>xd(ee,me.url)))})}async function f(T){return n.entitlements.get(T)}async function h(T){return n.entitlements.getAccess(T)}async function d(T,K,J){const re=new URL(ht("api2",t.environment));return re.pathname="/proxy",re.searchParams.set("url",K),J&&re.searchParams.set("selector",J),Ce.wretch(re.toString()).headers({Authorization:`Bearer ${T}`}).get().text()}async function v(T){if(!T)throw new Error("SKU is required to get fulfillments");return await $r()?await s.get(`/fulfillments?sku=${encodeURIComponent(T)}`).json():[]}async function p(T,K){if(!T||!K)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:T},`/fulfillments/${encodeURIComponent(K)}/request-delivery?`).res()).ok}async function m(){return s.get("/contracts").json()}async function P(T){return(await s.get("/contracts").json())?.find(J=>J.id===T)}async function y(T){const K=await s.post({},`/contracts/${encodeURIComponent(T)}/cancel`).res();return Ce.clearCache(),K.ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function g(){return s.get("/bills").json()}async function w(T){return(await s.get("/bills").json())?.find(J=>J.id===T)}async function A(){return s.get("/transactions").json()}async function x(T){return(await s.get("/transactions").json())?.find(J=>J.id===T)}async function N(T,K){const J=await s.url(`/user-metadata/${encodeURIComponent(T)}`).put(K).json();return jt(Je.USER_ATTRIBUTE_CHANGED,{}),Ce.clearCache(),J}async function z(T){const K=await s.url(`/user-metadata/${encodeURIComponent(T)}`).delete().res();return Ce.clearCache(),K.ok}async function B(){return await s.url("/user-metadata").get().json()}async function ie(T){return(await B())[T]||null}async function j(){return await s.url("/tags").get().json()}async function D(T){const K=await s.url(`/tags/${encodeURIComponent(T)}`).delete().res();return Ce.clearCache(),K.ok}async function L(T){const K=await s.url("/tags").post(encodeURIComponent(T)).res();return jt(Je.USER_ATTRIBUTE_CHANGED,{}),Ce.clearCache(),K.ok}async function k(T){return(await u.url("/tallies").get().json())[T]}async function Y(){return await u.url("/tallies").get().json()}async function te(T){const K=await u.url(`/tallies/${T}`).delete().res();return Ce.clearCache(),K.ok}async function Q(T,K){return await u.url(`/tallies/${encodeURIComponent(T)}/push`).post(K).json()}async function S(T){return n.products.get(T)}async function _(){return await xt(!1)?await s.url("/profile").get().json():null}async function q(T){const K=await s.url("/profile").patch(T).res();return Ce.clearCache(),K.ok}async function F(){return await s.url("/payment-issues").get().json()}async function Z(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function he(T){const K=await xt(!1);if(!K)throw new Error("No access token available");const J=new URL(`${ht("access-sync",t.environment)}/spotify/sesamy-callback`);J.searchParams.set("access_token",K),J.searchParams.set("state",T),window.location.href=J.toString()}async function oe(T){const K=await s.url(`/products/${encodeURIComponent(T)}/auto-onboard`).post().json();return K.length&&Ce.clearCache(),K}async function le(T,K=3600){const{shortlink:J}=await Ce.wretch(rg).post({url:T,ttl:K}).json();return J}async function se(T){const K=await xt(!1,!0);let J;const re=T.language||ln(),me=yn();switch(T.target){case"account":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}${T.contractId?`/${encodeURIComponent(T.contractId)}`:""}`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-payment":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/change-payment-method`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-plan":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/edit-plan`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"consume":J=new URL(`${ht("consume",t.environment)}/${encodeURIComponent(T.language||re)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.sku)}`),T.episodeId?J.href+=`/${T.episodeId}`:J.href+="/listen",J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"checkout":J=iw(t,{language:re,...T},me);break;default:throw new Error("Invalid target")}return K&&(J.hash=`#access_token=${K}`),T.shorten?le(J.href,T.ttl):J.href}async function Re(T){const K=yn(),J=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(me=>{const Ke=K,[M,ee]=me.trim().split("=");J.includes(M)&&!Ke[M]&&(Ke[M]=ee)}),(await u.url("/checkouts").post({language:ln(),...T,attribution:{...K,...T.attribution},vendorId:t.vendorId})).json()}async function Ue(T,K){return(await u.url(`/checkouts/${T}`).patch(K)).json()}async function Fe(T){return(await u.url(`/checkouts/${T}`).get()).json()}async function ke(T){return(await u.url(`/paywalls/${T}`).get()).json()}async function Ze(){return(await u.url("/vendor").get()).json()}async function ut(){return(await s.url("/vendors").get()).json()}async function lt(T){return(await s.url(`/contracts/${encodeURIComponent(T.contractId)}/amendments`).post({amendmentType:T.amendmentType,discountCode:T.discountCode})).json()}async function mt(T){return await s.url(`/amendments/${encodeURIComponent(T)}/confirm`).post(),!0}async function gt(){const T=await xt(!1),K=new URL(`${ht("account",t.environment)}/subscriptions/${t.clientId}`);T&&(K.hash=`#access_token=${T}`),window.location.href=K.toString()}return{autoOnboardProduct:oe,cancelContract:y,confirmAmendment:mt,createAmendment:lt,createCheckout:Re,deleteTag:D,deleteTally:te,deleteUserMetadata:z,generateLink:se,getBill:w,getBills:g,getCheckout:Fe,getProxyContent:d,getContract:P,getContracts:m,getEntitlement:f,getEntitlementAccess:h,getEntitlements:l,getFulfillments:v,requestDelivery:p,getPaywall:ke,getPaymentIssues:F,getProfile:_,getProduct:S,getSubscriptions:b,getTally:k,getTallies:Y,getTags:j,getTransaction:x,getTransactions:A,getUserMetadata:ie,hasAccess:c,isSpotifyLinked:Z,linkSpotify:he,listUserMetadata:B,openHostedAccountPage:gt,pushTally:Q,setTag:L,setUserMetadata:N,unlinkSpotify:V,updateCheckout:Ue,updateProfile:q,getVendorSettings:Ze,listVendors:ut}}const fw=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function dw(){return new Promise(t=>{const e=fw.map(r=>{const n=document.createElement("div");return n.innerHTML="&nbsp;",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function hw(){const t=navigator.userAgent.toLowerCase(),e=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}const zv="sesamyFlags";async function Hv(t){try{localStorage.setItem(zv,JSON.stringify(t))}catch{pe("Failed to save flags to localStorage")}}async function vw(t,e){const r=await Fn();r[t]=e,await Hv(r)}async function pw(t){return(await Fn())[t]}async function mw(t){const e=await Fn();t in e&&(delete e[t],await Hv(e))}async function Fn(){try{const t=localStorage.getItem(zv);return t?JSON.parse(t):{}}catch{return{}}}function gw(t){const{autoOnboardProduct:e,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:l,getCheckout:c,getContract:f,getContracts:h,getEntitlement:d,getEntitlementAccess:v,getEntitlements:p,getFulfillments:m,getPaywall:P,getPaymentIssues:y,getProfile:b,getProduct:g,getProxyContent:w,getSubscriptions:A,getTags:x,getTally:N,getTallies:z,getTransaction:B,getTransactions:ie,getUserMetadata:j,getVendorSettings:D,listVendors:L,hasAccess:k,isSpotifyLinked:Y,linkSpotify:te,listUserMetadata:Q,openHostedAccountPage:S,pushTally:_,requestDelivery:q,setTag:F,setUserMetadata:Z,unlinkSpotify:V,updateCheckout:he,updateProfile:oe}=lw(t),le={analytics:{track:Nv},attribution:{get:yn,set:Kv},auth:{getUser:b,getTokenSilently:xt,isAuthenticated:$r,loginWithRedirect:Mn,loginWithPopup:Dv,login:Zy,logout:Ks,setToken:is},bills:{get:u,list:l},browser:{detectAdblock:dw,isInAppBrowser:hw,isIncognito:Cs},checkouts:{create:n,get:c,update:he},clearCache:Ce.clearCache,content:{list:Ay,get:Ds,getLanguage:ln,unlock:Uy,getPropertyFromHTML:Cv},contracts:{cancel:r,get:f,list:h},entitlements:{access:v,get:d,hasAccess:k,list:p,signedLinks:Hs},events:{emit:qv,cancel:My},flags:{get:pw,set:vw,list:Fn,delete:mw},fulfillments:{list:m,requestDelivery:q},generateLink:s,getPaymentIssues:y,getVersion:yw,isReady:()=>exports.isInitialized,log:pe,paywalls:{get:P},products:{autoOnboard:e,get:g,linkSpotify:te},profile:{get:b,isSpotifyLinked:Y,openHostedAccountPage:S,unlinkSpotify:V,update:oe},proxy:{getContent:w},subscriptions:{list:A},tags:{delete:a,list:x,set:F},tallies:{delete:i,get:N,list:z,push:_},transactions:{get:B,list:ie},userMetadata:{delete:o,get:j,list:Q,set:Z},vendors:{get:D,list:L},setToken:is};return t.namespace&&(window[t.namespace]=le),le}function yw(){return $n}function ww(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
36
36
  ${e.selector}::before {
37
37
  content: '';
38
38
  position: absolute;
@@ -1,19 +1,17 @@
1
1
  import { Access } from '@sesamy/sdk';
2
- import { Bill } from '@sesamy/types';
3
- import { Checkout } from '@sesamy/types';
2
+ import { Bill } from '@sesamy/sdk';
3
+ import { Checkout } from '@sesamy/sdk';
4
4
  import { Contract } from '@sesamy/sdk';
5
- import { Contract as Contract_2 } from '@sesamy/types';
6
5
  import { Entitlement } from '@sesamy/sdk';
7
- import { Entitlement as Entitlement_2 } from '@sesamy/types';
8
- import { Fulfillment } from '@sesamy/types';
6
+ import { Fulfillment } from '@sesamy/sdk';
9
7
  import { LogoutOptions } from '@auth0/auth0-spa-js';
10
- import { Product } from '@sesamy/types';
8
+ import { Product } from '@sesamy/sdk';
11
9
  import { Profile } from '@sesamy/sdk';
12
- import { Profile as Profile_2 } from '@sesamy/types';
13
10
  import { RedirectLoginOptions } from '@auth0/auth0-spa-js';
14
- import { Subscription } from '@sesamy/types';
15
- import { TallyInsert } from '@sesamy/types';
16
- import { Transaction } from '@sesamy/types';
11
+ import { Subscription } from '@sesamy/sdk';
12
+ import { TallyInsert } from '@sesamy/sdk';
13
+ import { TallyValue } from '@sesamy/sdk';
14
+ import { Transaction } from '@sesamy/sdk';
17
15
 
18
16
  declare interface Address {
19
17
  street?: string;
@@ -357,47 +355,7 @@ declare function registerAPI(config: ApiConfig): {
357
355
  set: typeof setAttribution;
358
356
  };
359
357
  auth: {
360
- getUser: () => Promise<{
361
- updatedAt: string;
362
- createdAt: string;
363
- userId: string;
364
- name?: string | undefined;
365
- lastName?: string | undefined;
366
- firstName?: string | undefined;
367
- email?: string | undefined;
368
- emailVerified?: boolean | undefined;
369
- locale?: string | undefined;
370
- nickname?: string | undefined;
371
- picture?: string | undefined;
372
- mobilePhone?: string | undefined;
373
- workPhone?: string | undefined;
374
- homePhone?: string | undefined;
375
- tags?: string[] | undefined;
376
- user_metadata?: Record<string, string | number> | undefined;
377
- billingAddress?: {
378
- country?: string | undefined;
379
- zip?: string | undefined;
380
- city?: string | undefined;
381
- street?: string | undefined;
382
- co?: string | undefined;
383
- lastName?: string | undefined;
384
- firstName?: string | undefined;
385
- } | undefined;
386
- deliveryAddress?: {
387
- country?: string | undefined;
388
- zip?: string | undefined;
389
- city?: string | undefined;
390
- street?: string | undefined;
391
- co?: string | undefined;
392
- lastName?: string | undefined;
393
- firstName?: string | undefined;
394
- } | undefined;
395
- company?: string | undefined;
396
- sub?: string | undefined;
397
- given_name?: string | undefined;
398
- family_name?: string | undefined;
399
- phone_number?: string | undefined;
400
- } | null>;
358
+ getUser: () => Promise<Profile | null>;
401
359
  getTokenSilently: typeof getTokenSilently;
402
360
  isAuthenticated: typeof isAuthenticated;
403
361
  loginWithRedirect: typeof loginWithRedirect;
@@ -408,20 +366,20 @@ declare function registerAPI(config: ApiConfig): {
408
366
  };
409
367
  bills: {
410
368
  get: (billId: string) => Promise<{
411
- status: string;
412
369
  id: string;
413
370
  items: {
414
- title: string;
415
371
  sku: string;
416
- purchaseOptionId?: string | undefined;
372
+ title: string;
373
+ purchaseOptionId?: string;
417
374
  }[];
418
375
  price: number;
376
+ currency?: string;
419
377
  receiptUrl: string;
420
378
  paymentProvider: string;
421
379
  paymentMethod: string;
380
+ status: string;
422
381
  updatedAt: string;
423
382
  createdAt: string;
424
- currency?: string | undefined;
425
383
  } | undefined>;
426
384
  list: () => Promise<Bill[]>;
427
385
  };
@@ -446,51 +404,51 @@ declare function registerAPI(config: ApiConfig): {
446
404
  contracts: {
447
405
  cancel: (contractId: string) => Promise<boolean>;
448
406
  get: (contractId: string) => Promise<{
449
- status: string;
450
407
  id: string;
451
408
  name: string;
409
+ userId: string;
410
+ createdAt: string;
411
+ updatedAt: string;
412
+ price: number;
413
+ nextBillAt: string | null;
414
+ nextPrice: number | null;
415
+ currency: string;
416
+ manageUrl?: string;
417
+ contractDuration?: "RECURRING" | "RENEWABLE" | "PERPETUAL";
418
+ issuesRemaining?: number;
452
419
  items: {
453
- name: string;
454
420
  sku: string;
455
- purchaseOptionId?: string | undefined;
456
- purchaseOptionName?: string | undefined;
457
- cover?: string | undefined;
458
- purchaseType?: string | undefined;
421
+ purchaseOptionId?: string;
422
+ purchaseOptionName?: string;
423
+ name: string;
424
+ cover?: string;
425
+ purchaseType?: string;
459
426
  }[];
427
+ status: string;
428
+ isActive: boolean;
429
+ recurringInterval?: "DAY" | "WEEK" | "MONTH" | "YEAR";
430
+ recurringTime?: number;
431
+ willCancelAt: string | null;
432
+ expiresAt?: string;
433
+ paymentData?: {
434
+ method?: string;
435
+ description?: string;
436
+ brand?: string;
437
+ };
460
438
  appliedDiscounts: {
461
439
  code: string;
462
- id: string;
463
440
  name: string;
464
441
  description: string;
442
+ id: string;
465
443
  }[];
466
- currency: string;
467
- price: number;
468
- updatedAt: string;
469
- createdAt: string;
470
- userId: string;
471
- nextBillAt: string | null;
472
- nextPrice: number | null;
473
- isActive: boolean;
474
- willCancelAt: string | null;
475
- paymentData?: {
476
- description?: string | undefined;
477
- method?: string | undefined;
478
- brand?: string | undefined;
479
- } | undefined;
480
- manageUrl?: string | undefined;
481
- contractDuration?: "RECURRING" | "RENEWABLE" | "PERPETUAL" | undefined;
482
- issuesRemaining?: number | undefined;
483
- recurringInterval?: "DAY" | "WEEK" | "MONTH" | "YEAR" | undefined;
484
- recurringTime?: number | undefined;
485
- expiresAt?: string | undefined;
486
444
  } | undefined>;
487
- list: () => Promise<Contract_2[]>;
445
+ list: () => Promise<Contract[]>;
488
446
  };
489
447
  entitlements: {
490
448
  access: (entitlementId: string) => Promise<Access>;
491
- get: (entitlementId: string) => Promise<Entitlement_2>;
492
- hasAccess: (itemSrc: string, passes?: string[]) => Promise<Entitlement_2 | undefined>;
493
- list: (params?: GetEntitlementsOptions) => Promise<Entitlement_2[]>;
449
+ get: (entitlementId: string) => Promise<Entitlement>;
450
+ hasAccess: (itemSrc: string, passes?: string[]) => Promise<Entitlement | undefined>;
451
+ list: (params?: GetEntitlementsOptions) => Promise<Entitlement[]>;
494
452
  signedLinks: typeof getSignedLinks;
495
453
  };
496
454
  events: {
@@ -518,78 +476,38 @@ declare function registerAPI(config: ApiConfig): {
518
476
  products: {
519
477
  autoOnboard: (sku: string) => Promise<{
520
478
  id: string;
521
- type: "article" | "audiobook" | "ebook" | "bundle" | "podcast" | "pass" | "publication" | "physical_issue";
522
- title: string;
523
479
  sku: string;
524
- updatedAt: string;
525
- createdAt: string;
526
- hasAccess: boolean;
527
- url?: string | undefined;
528
- publisherContentId?: string | undefined;
529
- cover?: string | undefined;
530
- expiresAt?: string | undefined;
531
- purchaseOption?: string | undefined;
532
- presentationUrl?: string | undefined;
480
+ purchaseOption?: string;
481
+ cover?: string;
482
+ title: string;
483
+ url?: string;
484
+ presentationUrl?: string;
485
+ publisherContentId?: string;
486
+ type: "article" | "audiobook" | "ebook" | "bundle" | "podcast" | "pass" | "publication" | "physical_issue";
533
487
  origin?: {
534
- id: string;
535
- name: string;
536
488
  type: "EXTERNAL";
489
+ id: string;
537
490
  listId: string;
491
+ name: string;
538
492
  } | {
539
493
  type: "PAYMENTS";
540
494
  contractId: string;
541
- } | undefined;
542
- token?: string | undefined;
495
+ };
496
+ hasAccess: boolean;
497
+ createdAt: string;
498
+ updatedAt: string;
499
+ token?: string;
500
+ expiresAt?: string;
543
501
  }[]>;
544
502
  get: (sku: string) => Promise<Product>;
545
503
  linkSpotify: (sku: string) => Promise<void>;
546
504
  };
547
505
  profile: {
548
- get: () => Promise<{
549
- updatedAt: string;
550
- createdAt: string;
551
- userId: string;
552
- name?: string | undefined;
553
- lastName?: string | undefined;
554
- firstName?: string | undefined;
555
- email?: string | undefined;
556
- emailVerified?: boolean | undefined;
557
- locale?: string | undefined;
558
- nickname?: string | undefined;
559
- picture?: string | undefined;
560
- mobilePhone?: string | undefined;
561
- workPhone?: string | undefined;
562
- homePhone?: string | undefined;
563
- tags?: string[] | undefined;
564
- user_metadata?: Record<string, string | number> | undefined;
565
- billingAddress?: {
566
- country?: string | undefined;
567
- zip?: string | undefined;
568
- city?: string | undefined;
569
- street?: string | undefined;
570
- co?: string | undefined;
571
- lastName?: string | undefined;
572
- firstName?: string | undefined;
573
- } | undefined;
574
- deliveryAddress?: {
575
- country?: string | undefined;
576
- zip?: string | undefined;
577
- city?: string | undefined;
578
- street?: string | undefined;
579
- co?: string | undefined;
580
- lastName?: string | undefined;
581
- firstName?: string | undefined;
582
- } | undefined;
583
- company?: string | undefined;
584
- sub?: string | undefined;
585
- given_name?: string | undefined;
586
- family_name?: string | undefined;
587
- phone_number?: string | undefined;
588
- } | null>;
506
+ get: () => Promise<Profile | null>;
589
507
  isSpotifyLinked: () => Promise<boolean>;
590
508
  openHostedAccountPage: () => Promise<void>;
591
509
  unlinkSpotify: () => Promise<boolean>;
592
- update: (profile: Partial<Profile_2>) => Promise<boolean>;
510
+ update: (profile: Partial<Profile>) => Promise<boolean>;
593
511
  };
594
512
  proxy: {
595
513
  getContent: (accessToken: string, url: string, selector?: string) => Promise<string>;
@@ -604,25 +522,25 @@ declare function registerAPI(config: ApiConfig): {
604
522
  };
605
523
  tallies: {
606
524
  delete: (id: string) => Promise<boolean>;
607
- get: (id: string) => Promise<(string | number)[]>;
525
+ get: (id: string) => Promise<TallyValue>;
608
526
  list: () => Promise<{
609
- [id: string]: (string | number)[];
527
+ [id: string]: TallyValue;
610
528
  }>;
611
529
  push: (id: string, tally: TallyInsert) => Promise<{
612
- [id: string]: (string | number)[];
530
+ [id: string]: TallyValue;
613
531
  }[]>;
614
532
  };
615
533
  transactions: {
616
534
  get: (transactionsId: string) => Promise<{
617
535
  id: string;
618
- contractId: string;
619
- updatedAt: string;
620
- createdAt: string;
621
- userId: string;
622
536
  amount: number;
537
+ currency?: string;
538
+ contractId: string;
623
539
  isRefund: boolean;
540
+ userId: string;
624
541
  billId: string;
625
- currency?: string | undefined;
542
+ updatedAt: string;
543
+ createdAt: string;
626
544
  } | undefined>;
627
545
  list: () => Promise<Transaction[]>;
628
546
  };
@@ -32,7 +32,7 @@ var sesamyJs=(function(mt,ke){"use strict";var Ws=typeof globalThis<"u"?globalTh
32
32
  * Please keep this comment intact in order to properly abide by the MIT License.
33
33
  *
34
34
  **/var ts={d:(t,e)=>{for(var r in e)ts.o(e,r)&&!ts.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},rs={};ts.d(rs,{A:()=>ag,k:()=>ns});var xr=function(t,e,r,n){return new(r||(r=Promise))(function(a,i){function o(l){try{u(n.next(l))}catch(c){i(c)}}function s(l){try{u(n.throw(l))}catch(c){i(c)}}function u(l){var c;l.done?a(l.value):(c=l.value,c instanceof r?c:new r(function(f){f(c)})).then(o,s)}u((n=n.apply(t,[])).next())})},$r=function(t,e){var r,n,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(u){return function(l){return(function(c){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(a=o.trys,!((a=a.length>0&&a[a.length-1])||c[0]!==6&&c[0]!==2)){o=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(c[0]===6&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=e.call(t,o)}catch(f){c=[6,f],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}})([u,l])}}};function ns(){return xr(this,void 0,Promise,function(){return $r(this,function(t){switch(t.label){case 0:return[4,new Promise(function(e,r){var n="Unknown",a=!1;function i(h){a||(a=!0,e({isPrivate:h,browserName:n}))}function o(){var h=0,d=parseInt("-1");try{d.toFixed(d)}catch(v){h=v.message.length}return h}function s(){return xr(this,void 0,void 0,function(){var h,d;return $r(this,function(v){switch(v.label){case 0:return v.trys.push([0,2,,3]),[4,navigator.storage.getDirectory()];case 1:return v.sent(),i(!1),[3,3];case 2:return h=v.sent(),d=h instanceof Error&&typeof h.message=="string"?h.message:String(h),i(d.includes("unknown transient reason")),[3,3];case 3:return[2]}})})}function u(){var h;return xr(this,void 0,Promise,function(){return $r(this,function(d){switch(d.label){case 0:return typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function"?[3,2]:[4,s()];case 1:return d.sent(),[3,3];case 2:navigator.maxTouchPoints!==void 0?(function(){var v=String(Math.random());try{var p=indexedDB.open(v,1);p.onupgradeneeded=function(m){var P=m.target.result,y=function(b){i(b)};try{P.createObjectStore("t",{autoIncrement:!0}).put(new Blob),y(!1)}catch(b){(b instanceof Error&&typeof b.message=="string"?b.message:String(b)).includes("are not yet supported")?y(!0):y(!1)}finally{P.close(),indexedDB.deleteDatabase(v)}},p.onerror=function(){return i(!1)}}catch{i(!1)}})():(function(){var v=window.openDatabase,p=window.localStorage;try{v(null,null,null,null)}catch{return void i(!0)}try{p.setItem("test","1"),p.removeItem("test")}catch{return void i(!0)}i(!1)})(),d.label=3;case 3:return[2]}})})}function l(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function(h,d){var v=Math.round(d/1048576),p=2*Math.round((function(){var m,P,y,b=window;return(y=(P=(m=b?.performance)===null||m===void 0?void 0:m.memory)===null||P===void 0?void 0:P.jsHeapSizeLimit)!==null&&y!==void 0?y:1073741824})()/1048576);i(v<p)},function(h){r(new Error("detectIncognito somehow failed to query storage quota: "+h.message))})}function c(){self.Promise!==void 0&&self.Promise.allSettled!==void 0?l():(0,window.webkitRequestFileSystem)(0,1,function(){i(!1)},function(){i(!0)})}function f(){var h;return xr(this,void 0,Promise,function(){var d,v,p;return $r(this,function(m){switch(m.label){case 0:if(typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function")return[3,5];m.label=1;case 1:return m.trys.push([1,3,,4]),[4,navigator.storage.getDirectory()];case 2:return m.sent(),i(!1),[3,4];case 3:return d=m.sent(),v=d instanceof Error&&typeof d.message=="string"?d.message:String(d),i(v.includes("Security error")),[2];case 4:return[3,6];case 5:(p=indexedDB.open("inPrivate")).onerror=function(P){p.error&&p.error.name==="InvalidStateError"&&P.preventDefault(),i(!0)},p.onsuccess=function(){indexedDB.deleteDatabase("inPrivate"),i(!1)},m.label=6;case 6:return[2]}})})}(function(){return xr(this,void 0,Promise,function(){return $r(this,function(h){switch(h.label){case 0:return o()!==44&&o()!==43?[3,2]:(n="Safari",[4,u()]);case 1:return h.sent(),[3,6];case 2:return o()!==51?[3,3]:(d=navigator.userAgent,n=d.match(/Chrome/)?navigator.brave!==void 0?"Brave":d.match(/Edg/)?"Edge":d.match(/OPR/)?"Opera":"Chrome":"Chromium",c(),[3,6]);case 3:return o()!==25?[3,5]:(n="Firefox",[4,f()]);case 4:return h.sent(),[3,6];case 5:navigator.msSaveBlob!==void 0?(n="Internet Explorer",i(window.indexedDB===void 0)):r(new Error("detectIncognito cannot determine the browser")),h.label=6;case 6:return[2]}var d})})})().catch(r)})];case 1:return[2,t.sent()]}})})}typeof window<"u"&&(window.detectIncognito=ns);const ag=ns;rs.A;const ig=rs.k,vn="sesamy_incognito_mode";function as(){try{const t=sessionStorage.getItem(vn);return t===null?void 0:t==="true"}catch{return}}async function og(){try{const t=sessionStorage.getItem(vn);if(t!==null)return t==="true";const{isPrivate:e}=await ig();return sessionStorage.setItem(vn,e.toString()),e}catch{try{sessionStorage.setItem(vn,"false")}catch{}return!1}}function Dr(){return typeof window<"u"}function Xd(t,e,r,n,a){for(e=e.split?e.split("."):e,n=0;n<e.length;n++)t=t?t[e[n]]:a;return t===a?r:t}var sg="function",cg="string",ct="undefined",ug="boolean",pn="object",lg="array",fg="number",dg="symbol",hg="null",is=function(){},Qd="any",eh="*",Ht="__",vg="form",pg="input",mg="button",gg="select",mn=typeof process!==ct?process:{};mn.env&&mn.env.NODE_ENV;var Ne=typeof document!==ct;mn.versions!=null&&mn.versions.node!=null,typeof Deno!==ct&&Deno.core,Ne&&window.name==="nodejs"||typeof navigator!==ct&&typeof navigator.userAgent!==ct&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function th(t,e){return e.charAt(0)[t]()+e.slice(1)}var yg=th.bind(null,"toUpperCase"),wg=th.bind(null,"toLowerCase");function bg(t){return rh(t)?yg(hg):typeof t===pn?Eg(t):Object.prototype.toString.call(t).slice(8,-1)}function gn(t,e){e===void 0&&(e=!0);var r=bg(t);return e?wg(r):r}function Mr(t,e){return typeof e===t}var We=Mr.bind(null,sg),Ct=Mr.bind(null,cg),sr=Mr.bind(null,ct),Sg=Mr.bind(null,ug);Mr.bind(null,dg);function rh(t){return t===null}function Ig(t){return gn(t)===fg&&!isNaN(t)}function nh(t){return gn(t)===lg}function Ve(t){if(!Pg(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Pg(t){return t&&(typeof t===pn||t!==null)}function Eg(t){return We(t.constructor)?t.constructor.name:null}function Rg(t){return t instanceof Error||Ct(t.message)&&t.constructor&&Ig(t.constructor.stackTraceLimit)}function ah(t,e){if(typeof e!="object"||rh(e))return!1;if(e instanceof t)return!0;var r=gn(new t(""));if(Rg(e))for(;e;){if(gn(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}ah.bind(null,TypeError),ah.bind(null,SyntaxError);function yn(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?_g(t,e):r}function _g(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function wn(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}wn(yn,vg),wn(yn,mg),wn(yn,pg),wn(yn,gg);function Tg(t){return t?nh(t)?t:[t]:[]}function ih(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function kg(){if(Ne){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function Og(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Cg(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=ih(r[1]),o=ih(r[2]);if(i)if(i.substring(i.length-2)==="[]"){var s=n[i=i.substring(0,i.length-2)]||(n[i]=[]);n[i]=Array.isArray(s)?s:[],n[i].push(o)}else n[i]=o===""||o}for(var u in n){var l=u.split("[");l.length>1&&(Ag(n,l.map(function(c){return c.replace(/[?[\]\\ ]/g,"")}),n[u]),delete n[u])}return n})((function(e){return Ne&&window.location.search.substring(1)})())}function Ag(t,e,r){for(var n=e.length-1,a=0;a<n;++a){var i=e[a];if(i==="__proto__"||i==="constructor")break;i in t||(t[i]={}),t=t[i]}t[e[n]]=r}function bn(){for(var t="",e=0,r=4294967295*Math.random()|0;e++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],a=15&r;t+=n=="-"||n=="4"?n:(n=="x"?a:3&a|8).toString(16),r=e%8==0?4294967295*Math.random()|0:r>>4}return t}function Ug(t,e){var r,n,a,i=null,o=0,s=function(){o=new Date,i=null,a=t.apply(r,n)};return function(){var u=new Date;o||(o=u);var l=e-(u-o);return r=this,n=arguments,l<=0?(clearTimeout(i),i=null,o=u,a=t.apply(r,n)):i||(i=setTimeout(s,l)),a}}var Bt="global",cr=Ht+Bt+Ht,ur=typeof self===pn&&self.self===self&&self||typeof global===pn&&global[Bt]===global&&global||void 0;function Gt(t){return ur[cr][t]}function Wt(t,e){return ur[cr][t]=e}function lr(t){delete ur[cr][t]}function fr(t,e,r){var n;try{if(os(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}ur[cr]||(ur[cr]={});var Sn={};function os(t){if(typeof Sn[t]!==ct)return Sn[t];try{var e=window[t];e.setItem(ct,ct),e.removeItem(ct)}catch{return Sn[t]=!1}return Sn[t]=!0}function te(){return te=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},te.apply(null,arguments)}var At="function",St="undefined",Fr="reducer",oh="@@redux/",ss=oh+"INIT",jg=oh+Math.random().toString(36),sh=(function(){return typeof Symbol===At&&Symbol.observable||"@@observable"})(),In=" != "+At;function ch(t,e,r){var n;if(typeof e===At&&typeof r===St&&(r=e,e=void 0),typeof r!==St){if(typeof r!==At)throw new Error("enhancer"+In);return r(ch)(t,e)}if(typeof t!==At)throw new Error(Fr+In);var a=t,i=e,o=[],s=o,u=!1;function l(){s===o&&(s=o.slice())}function c(){return i}function f(d){if(typeof d!==At)throw new Error("Listener"+In);var v=!0;return l(),s.push(d),function(){if(v){v=!1,l();var p=s.indexOf(d);s.splice(p,1)}}}function h(d){if(!Ve(d))throw new Error("Act != obj");if(typeof d.type===St)throw new Error("ActType "+St);if(u)throw new Error("Dispatch in "+Fr);try{u=!0,i=a(i,d)}finally{u=!1}for(var v=o=s,p=0;p<v.length;p++)(0,v[p])();return d}return h({type:ss}),(n={dispatch:h,subscribe:f,getState:c,replaceReducer:function(d){if(typeof d!==At)throw new Error("next "+Fr+In);a=d,h({type:ss})}})[sh]=function(){var d,v=f;return(d={subscribe:function(p){if(typeof p!="object")throw new TypeError("Observer != obj");function m(){p.next&&p.next(c())}return m(),{unsubscribe:v(m)}}})[sh]=function(){return this},d},n}function Lg(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+Fr+" "+t+" returns "+St}function dr(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,r){return function(){return e(r.apply(void 0,[].slice.call(arguments)))}})}function Ng(){var t=arguments;return function(e){return function(r,n,a){var i,o=e(r,n,a),s=o.dispatch,u={getState:o.getState,dispatch:function(l){return s(l)}};return i=[].slice.call(t).map(function(l){return l(u)}),te({},o,{dispatch:s=dr.apply(void 0,i)(o.dispatch)})}}}var Ut=Ht+"anon_id",Vt=Ht+"user_id",hr=Ht+"user_traits",cs="analytics",jt="userId",vr="anonymousId",Pn=["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"],us=["name","EVENTS","config","loaded"],re=Pn.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),uh=/^utm_/,lh=/^an_prop_/,fh=/^an_trait_/;function qg(t){var e=t.storage.setItem;return function(r){return function(n){return function(a){if(a.type===re.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,l=s.userId===o.userId;s.anonymousId!==o.anonymousId&&e(Ut,o.anonymousId),l||e(Vt,o.userId),u.traits&&e(hr,te({},l&&s.traits?s.traits:{},u.traits));var c=Object.keys(a.params);if(c.length){var f=i.an_uid,h=i.an_event,d=c.reduce(function(v,p){if(p.match(uh)||p.match(/^(d|g)clid/)){var m=p.replace(uh,"");v.campaign[m==="campaign"?"name":m]=i[p]}return p.match(lh)&&(v.props[p.replace(lh,"")]=i[p]),p.match(fh)&&(v.traits[p.replace(fh,"")]=i[p]),v},{campaign:{},props:{},traits:{}});r.dispatch(te({type:re.params,raw:i},d,f?{userId:f}:{})),f&&setTimeout(function(){return t.identify(f,d.traits)},0),h&&setTimeout(function(){return t.track(h,d.props)},0),Object.keys(d.campaign).length&&r.dispatch({type:re.campaign,campaign:d.campaign})}}return n(a)}}}}function xg(t){return function(e,r){if(e===void 0&&(e={}),r===void 0&&(r={}),r.type===re.setItemEnd){if(r.key===Ut)return te({},e,{anonymousId:r.value});if(r.key===Vt)return te({},e,{userId:r.value})}switch(r.type){case re.identify:return Object.assign({},e,{userId:r.userId,traits:te({},e.traits,r.traits)});case re.reset:return[Vt,Ut,hr].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function dh(t){return{userId:t.getItem(Vt),anonymousId:t.getItem(Ut),traits:t.getItem(hr)}}var ls=function(t){return Ht+"TEMP"+Ht+t};function $g(t){var e=t.storage,r=e.setItem,n=e.removeItem,a=e.getItem;return function(i){return function(o){return function(s){var u=s.userId,l=s.traits,c=s.options;if(s.type===re.reset&&([Vt,hr,Ut].forEach(function(d){n(d)}),[jt,vr,"traits"].forEach(function(d){lr(ls(d))})),s.type===re.identify){a(Ut)||r(Ut,bn());var f=a(Vt),h=a(hr)||{};f&&f!==u&&i.dispatch({type:re.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(Vt,u),l&&r(hr,te({},h,l))}return o(s)}}}}var Kr={};function hh(t,e){Kr[t]&&We(Kr[t])&&(Kr[t](e),delete Kr[t])}function vh(t,e,r){return new Promise(function(n,a){return e()?n(t):r<1?a(te({},t,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return vh(t,e,r-10).then(n,a)})})}function Dg(t){return{abort:t}}function ph(t,e,r){var n={},a=e(),i=t.getState(),o=i.plugins,s=i.queue,u=i.user;if(!i.context.offline&&s&&s.actions&&s.actions.length){var l=s.actions.reduce(function(f,h,d){return o[h.plugin].loaded?(f.process.push(h),f.processIndex.push(d)):(f.requeue.push(h),f.requeueIndex.push(d)),f},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(l.processIndex&&l.processIndex.length){l.processIndex.forEach(function(f){var h=s.actions[f],d=h.plugin,v=h.payload.type,p=a[d][v];if(p&&We(p)){var m,P=(function(g,w){return g===void 0&&(g={}),w===void 0&&(w={}),[jt,vr].reduce(function(A,x){return g.hasOwnProperty(x)&&w[x]&&w[x]!==g[x]&&(A[x]=w[x]),A},g)})(h.payload,u),y=n[P.meta.rid];if(!y&&(m=p({payload:P,config:o[d].config,instance:r,abort:Dg}))&&Ve(m)&&m.abort)return void(n[P.meta.rid]=!0);if(!y){var b=v+":"+d;t.dispatch(te({},P,{type:b,_:{called:b,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var fs=function(t){var e=t.data,r=t.action,n=t.instance,a=t.state,i=t.allPlugins,o=t.allMatches,s=t.store,u=t.EVENTS;try{var l=a.plugins,c=a.context,f=r.type,h=f.match(pr),d=e.exact.map(function(m){return m.pluginName});h&&(d=o.during.map(function(m){return m.pluginName}));var v=(function(m,P){return function(y,b,g){var w=b.config,A=b.name,x=A+"."+y.type;g&&(x=g.event);var N=y.type.match(pr)?(function(z,B,ie,j,D){return function(L,k){var Y=j?j.name:z,ne=k&&zr(k)?k:ie;if(j&&(!(ne=k&&zr(k)?k:[z]).includes(z)||ne.length!==1))throw new Error("Method "+B+" can only abort "+z+" plugin. "+JSON.stringify(ne)+" input valid");return te({},D,{abort:{reason:L,plugins:ne,caller:B,_:Y}})}})(A,x,P,g,y):(function(z,B){return function(){throw new Error(z.type+" action not cancellable. Remove abort in "+B)}})(y,x);return{payload:Mg(y),instance:m,config:w||{},abort:N}}})(n,d),p=e.exact.reduce(function(m,P){var y=P.pluginName,b=P.methodName,g=!1;return b.match(/^initialize/)||b.match(/^reset/)||(g=!l[y].loaded),c.offline&&b.match(/^(page|track|identify)/)&&(g=!0),m[""+y]=g,m},{});return Promise.resolve(e.exact.reduce(function(m,P,y){var b=P.pluginName;return Promise.resolve(m).then(function(g){function w(){return Promise.resolve(g)}var A=(function(){if(e.namespaced&&e.namespaced[b])return Promise.resolve(e.namespaced[b].reduce(function(x,N,z){return Promise.resolve(x).then(function(B){return N.method&&We(N.method)?((function(L,k){var Y=Ph(L);if(Y&&Y.name===k){var ne=Ph(Y.method);throw new Error([k+" plugin is calling method "+L,"Plugins cant call self","Use "+Y.method+" "+(ne?"or "+ne.method:"")+" in "+k+" plugin insteadof "+L].join(`
35
- `))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:B,instance:n,abort:(ie=B,j=b,D=N.pluginName,function(L,k){return te({},ie,{abort:{reason:L,plugins:k||[j],caller:f,from:D||j}})}),config:yh(N.pluginName,l,i),plugins:l})).then(function(L){var k=Ve(L)?L:{};return Promise.resolve(te({},B,k))})):B;var ie,j,D})},Promise.resolve(r))).then(function(x){g[b]=x});g[b]=r})();return A&&A.then?A.then(w):w()})},Promise.resolve({}))).then(function(m){return Promise.resolve(e.exact.reduce(function(P,y,b){try{var g=e.exact.length===b+1,w=y.pluginName,A=i[w];return Promise.resolve(P).then(function(x){var N=m[w]?m[w]:{};if(h&&(N=x),hs(N,w))return ds({data:N,method:f,instance:n,pluginName:w,store:s}),Promise.resolve(x);if(hs(x,w))return g&&ds({data:x,method:f,instance:n,store:s}),Promise.resolve(x);if(p.hasOwnProperty(w)&&p[w]===!0)return s.dispatch({type:"queue",plugin:w,payload:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(x);var z=v(m[w],i[w]);return Promise.resolve(A[f]({abort:z.abort,payload:N,instance:n,config:yh(w,l,i),plugins:l})).then(function(B){var ie=Ve(B)?B:{},j=te({},x,ie),D=m[w];if(hs(D,w))ds({data:D,method:f,instance:n,pluginName:w,store:s});else{var L=f+":"+w;(L.match(/:/g)||[]).length<2&&!f.match(mh)&&!f.match(gh)&&n.dispatch(te({},h?j:N,{type:L,_:{called:L,from:"submethod"}}))}return Promise.resolve(j)})})}catch(x){return Promise.reject(x)}},Promise.resolve(r))).then(function(P){if(!(f.match(pr)||f.match(/^registerPlugin/)||f.match(gh)||f.match(mh)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var y=te({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});Sh(P,e.exact.length)&&!f.match(/End$/)&&(y=te({},y,{type:P.type+"Aborted"})),s.dispatch(y)}return P})})}catch(m){return Promise.reject(m)}},pr=/Start$/,mh=/^bootstrap/,gh=/^ready/;function ds(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(te({},t.data,{type:r,_:{called:r,from:"abort"}}))}function yh(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function wh(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function bh(t,e){var r=t.replace(pr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function hs(t,e){var r=t.abort;return!!r&&(r===!0||Ih(r,e)||r&&Ih(r.plugins,e))}function Sh(t,e){var r=t.abort;if(!r)return!1;if(r===!0||Ct(r))return!0;var n=r.plugins;return zr(r)&&r.length===e||zr(n)&&n.length===e}function zr(t){return Array.isArray(t)}function Ih(t,e){return!(!t||!zr(t))&&t.includes(e)}function Ph(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Mg(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ve(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Fg(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(g){return s?g:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===re.enablePlugin&&a.dispatch({type:re.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===re.disablePlugin&&setTimeout(function(){return hh(o.meta.rid,{payload:o})},0),l===re.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(g){return c.includes(g)}).map(function(g){return h[g]}),p=[],m=[],P=o.disabled,y=v.map(function(g){var w=g.loaded,A=g.name,x=g.config;return vh(g,function(){return w({config:x})},1e4).then(function(N){return n[A]||(a.dispatch({type:re.pluginReadyType(A),name:A,events:Object.keys(g).filter(function(z){return!us.includes(z)})}),n[A]=!0),p=p.concat(A),g}).catch(function(N){if(N instanceof Error)throw new Error(N);return m=m.concat(N.name),N})});Promise.all(y).then(function(g){var w={plugins:p,failed:m,disabled:P};setTimeout(function(){d.length===y.length+P.length&&a.dispatch(te({},{type:re.ready},w))},0)})}var b=(function(){if(l!==re.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return ph(a,e,t)},0),Promise.resolve((function(g,w,A,x,N){try{var z=We(w)?w():w,B=g.type,ie=B.replace(pr,"");if(g._&&g._.called)return Promise.resolve(g);var j=A.getState(),D=(Y=z,(ne=j.plugins)===void 0&&(ne={}),(Q=g.options)===void 0&&(Q={}),Object.keys(Y).filter(function(S){var _=Q.plugins||{};return Sg(_[S])?_[S]:_.all!==!1&&(!ne[S]||ne[S].enabled!==!1)}).map(function(S){return Y[S]}));B===re.initializeStart&&g.fromEnable&&(D=Object.keys(j.plugins).filter(function(S){var _=j.plugins[S];return g.plugins.includes(S)&&!_.initialized}).map(function(S){return z[S]}));var L=D.map(function(S){return S.name}),k=(function(S,_){var q=bh(S).map(function(F){return wh(F,_)});return _.reduce(function(F,Z){var V=Z.name,he=bh(S,V).map(function(_e){return wh(_e,_)}),oe=he[0],le=he[1],se=he[2];return oe.length&&(F.beforeNS[V]=oe),le.length&&(F.duringNS[V]=le),se.length&&(F.afterNS[V]=se),F},{before:q[0],beforeNS:{},during:q[1],duringNS:{},after:q[2],afterNS:{}})})(B,D);return Promise.resolve(fs({action:g,data:{exact:k.before,namespaced:k.beforeNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(S){function _(){var Z=(function(){if(B.match(pr))return Promise.resolve(fs({action:te({},q,{type:ie+"End"}),data:{exact:k.after,namespaced:k.afterNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(V){V.meta&&V.meta.hasCallback&&hh(V.meta.rid,{payload:V})})})();return Z&&Z.then?Z.then(function(){return S}):S}if(Sh(S,L.length))return S;var q,F=(function(){if(B!==ie)return Promise.resolve(fs({action:te({},S,{type:ie}),data:{exact:k.during,namespaced:k.duringNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(Z){q=Z});q=S})();return F&&F.then?F.then(_):_()})}catch(S){return Promise.reject(S)}var Y,ne,Q})(o,e,t,a,r)).then(function(g){var w=i(g);return s=1,w})})();return Promise.resolve(b&&b.then?b.then(u):u(b))}catch(g){return Promise.reject(g)}}}}}function Kg(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===re.setItem||a===re.removeItem){if(n.abort)return r(n);a===re.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var zg=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return dr.apply(void 0,o)(n)(a)}}}}};function Hg(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=Eh(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},te({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Eh(r.type,re.initialize),l=t()[u];return l&&u?(n[u]=te({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),te({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=te({},e[r.name],{loaded:!0}),te({},e,n);switch(r.type){case re.disablePlugin:return te({},e,Rh(r.plugins,!1,e));case re.enablePlugin:return te({},e,Rh(r.plugins,!0,e));default:return e}}}function Eh(t,e){return t.substring(e.length+1,t.length)}function Rh(t,e,r){return t.reduce(function(n,a){return n[a]=te({},r[a],{enabled:e}),n},r)}function _h(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Bg={last:{},history:[]};function Gg(t,e){t===void 0&&(t=Bg);var r=e.options,n=e.meta;if(e.type===re.track){var a=_h(te({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return te({},t,{last:a,history:t.history.concat(a)})}return t}var Wg={actions:[]};function Vg(t,e){t===void 0&&(t=Wg);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===re.identify?[e].concat(t.actions):t.actions.concat(e),te({},t,{actions:n});case"dequeue":return[];default:return t}}var Th=/#.*$/;function Jg(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(Th,""):"")}var kh,Oh,Ch,Ah,Zg=function(t){if(t===void 0&&(t={}),!Ne)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(Ne){for(var v,p=document.getElementsByTagName("link"),m=0;v=p[m];m++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(Th,"")})(l),f={title:r,url:c,path:Jg(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),te({},f,t)},Yg={last:{},history:[]};function Xg(t,e){t===void 0&&(t=Yg);var r=e.options;if(e.type===re.page){var n=_h(te({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return te({},t,{last:n,history:t.history.concat(n)})}return t}kh=(function(){if(!Ne)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"})(),Oh=Ne?document.referrer:null,Ch=kg(),Ah=Og();var Uh={initialized:!1,sessionId:bn(),app:null,version:null,debug:!1,offline:!!Ne&&!navigator.onLine,os:{name:kh},userAgent:Ne?navigator.userAgent:"node",library:{name:cs,version:"0.13.1"},timezone:Ah,locale:Ch,campaign:{},referrer:Oh};function Qg(t,e){t===void 0&&(t=Uh);var r=t.initialized,n=e.campaign;switch(e.type){case re.campaign:return te({},t,{campaign:n});case re.offline:return te({},t,{offline:!0});case re.online:return te({},t,{offline:!1});default:return r?t:te({},Uh,t,{initialized:!0})}}var ey=["plugins","reducers","storage"];function ty(t,e,r){if(Ne){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function ry(t){var e=ty.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function jh(){return Wt(cs,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return ur[cr][cs].push(o.action||o),i(o)}})}}}function Lh(t){return function(){return dr(dr.apply(null,arguments),jh())}}function vs(t){return t?nh(t)?t:[t]:[]}function Nh(t,e,r){t===void 0&&(t={});var n,a,i=bn();return e&&(Kr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(We(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),te({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function ny(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,_){if(We(_))return S.middlewares=S.middlewares.concat(_),S;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var q=_.EVENTS?Object.keys(_.EVENTS).map(function(V){return _.EVENTS[V]}):[];S.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(S.methods[_.name]=Object.keys(_.methods).reduce(function(V,he){var oe;return V[he]=(oe=_.methods[he],function(){for(var le=Array.prototype.slice.call(arguments),se=new Array(oe.length),_e=0;_e<le.length;_e++)se[_e]=le[_e];return se[se.length]=w,oe.apply({instance:w},se)}),V},{}),delete _.methods);var F=Object.keys(_).concat(q),Z=new Set(S.events.concat(F));if(S.events=Array.from(Z),S.pluginsArray=S.pluginsArray.concat(_),S.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return S.plugins[_.name]=_,S.plugins[_.name].loaded||(S.plugins[_.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Gt,setItem:Wt,removeItem:lr},i=(function(S){return function(_,q,F){return q.getState("user")[_]||(F&&Ve(F)&&F[_]?F[_]:dh(S)[_]||Gt(ls(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!us.includes(S)}).sort(),u=new Set(s.concat(Pn).filter(function(S){return!us.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new zg,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},m=Cg(),P=dh(a),y=te({},P,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=bn());var b=te({enable:function(S,_){return new Promise(function(q){k.dispatch({type:re.enablePlugin,plugins:vs(S),_:{originalAction:re.enablePlugin}},q,[_])})},disable:function(S,_){return new Promise(function(q){k.dispatch({type:re.disablePlugin,plugins:vs(S),_:{originalAction:re.disablePlugin}},q,[_])})}},n.methods),g=!1,w={identify:function(S,_,q,F){try{var Z=Ct(S)?S:null,V=Ve(S)?S:_,he=q||{},oe=w.user();Wt(ls(jt),Z);var le=Z||V.userId||i(jt,w,V);return Promise.resolve(new Promise(function(se){k.dispatch(te({type:re.identifyStart,userId:le,traits:V||{},options:he,anonymousId:oe.anonymousId},oe.id&&oe.id!==Z&&{previousId:oe.id}),se,[_,q,F])}))}catch(se){return Promise.reject(se)}},track:function(S,_,q,F){try{var Z=Ve(S)?S.event:S;if(!Z||!Ct(Z))throw new Error("EventMissing");var V=Ve(S)?S:_||{},he=Ve(q)?q:{};return Promise.resolve(new Promise(function(oe){k.dispatch({type:re.trackStart,event:Z,properties:V,options:he,userId:i(jt,w,_),anonymousId:i(vr,w,_)},oe,[_,q,F])}))}catch(oe){return Promise.reject(oe)}},page:function(S,_,q){try{var F=Ve(S)?S:{},Z=Ve(_)?_:{};return Promise.resolve(new Promise(function(V){k.dispatch({type:re.pageStart,properties:Zg(F),options:Z,userId:i(jt,w,F),anonymousId:i(vr,w,F)},V,[S,_,q])}))}catch(V){return Promise.reject(V)}},user:function(S){if(S===jt||S==="id")return i(jt,w);if(S===vr||S==="anonId")return i(vr,w);var _=w.getState("user");return S?Xd(_,S):_},reset:function(S){return new Promise(function(_){k.dispatch({type:re.resetStart},_,S)})},ready:function(S){return g&&S({plugins:b,instance:w}),w.on(re.ready,function(_){S&&S(_),g=!0})},on:function(S,_){if(!S||!We(_))return!1;if(S===re.bootstrap)throw new Error(".on disabled for "+S);var q=/Start$|Start:/;if(S==="*"){var F=function(oe){return function(le){return function(se){return se.type.match(q)&&_({payload:se,instance:w,plugins:o}),le(se)}}},Z=function(oe){return function(le){return function(se){return se.type.match(q)||_({payload:se,instance:w,plugins:o}),le(se)}}};return h(F,En),h(Z,Rn),function(){d(F,En),d(Z,Rn)}}var V=S.match(q)?En:Rn,he=function(oe){return function(le){return function(se){return se.type===S&&_({payload:se,instance:w,plugins:o,abort:p}),le(se)}}};return h(he,V),function(){return d(he,V)}},once:function(S,_){if(!S||!We(_))return!1;if(S===re.bootstrap)throw new Error(".once disabled for "+S);var q=w.on(S,function(F){_({payload:F.payload,instance:w,plugins:o,abort:p}),q()});return q},getState:function(S){var _=k.getState();return S?Xd(_,S):Object.assign({},_)},dispatch:function(S){var _=Ct(S)?{type:S}:S;if(Pn.includes(_.type))throw new Error("reserved action "+_.type);var q=te({},_,{_:te({originalAction:_.type},S._||{})});k.dispatch(q)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:a.getItem,setItem:function(S,_,q){k.dispatch({type:re.setItemStart,key:S,value:_,options:q})},removeItem:function(S,_){k.dispatch({type:re.removeItemStart,key:S,options:_})}},setAnonymousId:function(S,_){w.storage.setItem(Ut,S,_)},events:{core:Pn,plugins:s}},A=n.middlewares.concat([function(S){return function(_){return function(q){return q.meta||(q.meta=Nh()),_(q)}}},v(En),Fg(w,c,{all:l,plugins:s}),Kg(a),qg(w),$g(w),v(Rn)]),x={context:Qg,user:xg(a),page:Xg,track:Gg,plugins:Hg(c),queue:Vg},N=dr,z=dr;if(Ne&&t.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(N=B({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?jh():Ve(typeof arguments[0])?Lh():Lh().apply(null,arguments)}}var ie,j=(function(S){return Object.keys(S).reduce(function(_,q){return ey.includes(q)||(_[q]=S[q]),_},{})})(t),D=n.pluginsArray.reduce(function(S,_){var q=_.name,F=_.config,Z=_.loaded,V=n.pluginEnabled[q];return S[q]={enabled:V,initialized:!!V&&!_.initialize,loaded:!!Z({config:F}),config:F},S},{}),L={context:j,user:y,plugins:D},k=ch((function(S){for(var _=Object.keys(S),q={},F=0;F<_.length;F++){var Z=_[F];typeof S[Z]===At&&(q[Z]=S[Z])}var V,he=Object.keys(q);try{(function(oe){Object.keys(oe).forEach(function(le){var se=oe[le];if(typeof se(void 0,{type:ss})===St||typeof se(void 0,{type:jg})===St)throw new Error(Fr+" "+le+" "+St)})})(q)}catch(oe){V=oe}return function(oe,le){if(oe===void 0&&(oe={}),V)throw V;for(var se=!1,_e={},xe=0;xe<he.length;xe++){var Ke=he[xe],Ce=oe[Ke],Ye=(0,q[Ke])(Ce,le);if(typeof Ye===St){var dt=Lg(Ke,le);throw new Error(dt)}_e[Ke]=Ye,se=se||Ye!==Ce}return se?_e:oe}})(te({},x,e)),L,z(N(Ng.apply(void 0,A))));k.dispatch=(ie=k.dispatch,function(S,_,q){var F=te({},S,{meta:Nh(S.meta,_,vs(q))});return ie.apply(null,[F])});var Y=Object.keys(o);k.dispatch({type:re.bootstrap,plugins:Y,config:j,params:m,user:y,initialUser:r,persistedUser:P});var ne=Y.filter(function(S){return n.pluginEnabled[S]}),Q=Y.filter(function(S){return!n.pluginEnabled[S]});return k.dispatch({type:re.registerPlugins,plugins:Y,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,_){var q=S.bootstrap,F=S.config,Z=S.name;q&&We(q)&&q({instance:w,config:F,payload:S}),k.dispatch({type:re.registerPluginType(Z),name:Z,enabled:n.pluginEnabled[Z],plugin:S}),n.pluginsArray.length===_+1&&k.dispatch({type:re.initializeStart,plugins:ne,disabled:Q})}),ry(function(S){k.dispatch({type:S?re.offline:re.online})}),(function(S,_,q){setInterval(function(){return ph(S,_,q)},3e3)})(k,c,w),w}var En="before",Rn="after",Jt="cookie",Zt=$h(),qh=_n,ay=_n;function xh(t){return Zt?_n(t,"",-1):lr(t)}function $h(){if(Zt!==void 0)return Zt;var t=Jt+Jt;try{_n(t,t),Zt=document.cookie.indexOf(t)!==-1,xh(t)}catch{Zt=!1}return Zt}function _n(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Zt===!1&&(o?Wt(t,e):Gt(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var It="localStorage",iy=os.bind(null,It);fr(It,"getItem",Gt),fr(It,"setItem",Wt),fr(It,"removeItem",lr);var Pt="sessionStorage",oy=os.bind(null,Pt);fr(Pt,"getItem",Gt),fr(Pt,"setItem",Wt),fr(Pt,"removeItem",lr);function mr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ve(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var sy=iy(),cy=oy(),uy=$h();function Yt(t,e){if(t){var r=ps(e),n=!ws(r),a=ms(r)?mr(localStorage.getItem(t)):void 0;if(n&&!sr(a))return a;var i=gs(r)?mr(qh(t)):void 0;if(n&&i)return i;var o=ys(r)?mr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Gt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function Tn(t,e,r){if(t&&!sr(e)){var n={},a=ps(r),i=JSON.stringify(e),o=!ws(a);return ms(a)&&(n[It]=On(It,e,mr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[It]:gs(a)&&(n[Jt]=On(Jt,e,mr(qh(t))),ay(t,i),o)?n[Jt]:ys(a)&&(n[Pt]=On(Pt,e,mr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[Pt]:(n[Bt]=On(Bt,e,Gt(t)),Wt(t,e),o?n[Bt]:n)}}function ly(t,e){if(t){var r=ps(e),n=Yt(t,eh),a={};return!sr(n.localStorage)&&ms(r)&&(localStorage.removeItem(t),a[It]=n.localStorage),!sr(n.cookie)&&gs(r)&&(xh(t),a[Jt]=n.cookie),!sr(n.sessionStorage)&&ys(r)&&(sessionStorage.removeItem(t),a[Pt]=n.sessionStorage),!sr(n.global)&&kn(r,Bt)&&(lr(t),a[Bt]=n.global),a}}function ps(t){return t?Ct(t)?t:t.storage:Qd}function ms(t){return sy&&kn(t,It)}function gs(t){return uy&&kn(t,Jt)}function ys(t){return cy&&kn(t,Pt)}function ws(t){return t===eh||t==="all"}function kn(t,e){return t===Qd||t===e||ws(t)}function On(t,e,r){return{location:t,current:e,previous:r}}var fy={setItem:Tn,getItem:Yt,removeItem:ly};function dy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Dh(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function Mh(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Dh(Object(r),!0).forEach(function(n){dy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Dh(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function hy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:fy};return ny(Mh(Mh({},e),t))}const bs="@sesamy/sesamy-js",Cn="1.50.1";function vy(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=my(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function py(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function my(t){return["#","?"].forEach(e=>t=py(t,e)),t}function gy(){vy(()=>{Et.page()})}var Ss="up",Is="down";function yy(t){if(t===void 0&&(t={}),!Ne)return is;var e=Kh(),r=Ps(),n=Fh(),a=An(n,e),i=An(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return is;var d=h.map(function(p){return Number(p)}),v=Ug(function(){var p=Kh(),m=(function(j,D){return D.map(function(L){return L===100?j-5:j*(L/100)})})(p,d),P=Ps(),y=Fh(),b=An(y,p),g=An(P,p);if(c=b>c?b:c,f=g<f?g:f,!(o.length>=d.length)){var w=l===y,A=Ss;w?A="initial":l<=y&&(A=Is);var x=m,N=d;(A===Ss||w)&&(x=m.slice().reverse(),N=d.slice().reverse());var z=N.reduce(function(j,D,L){var k=x[L];return u.includes(D)&&y<=k&&(u=u.filter(function(Y){return Y!==D}),j.singleFunction=D),A===Is&&!o.includes(D)&&y>=k&&D>i?(s.push(D),j.callbacks=j.callbacks.concat(D),j):A===Ss&&!o.includes(D)&&y<=k&&D<=b?(j.foundFunc=[D],j):(w&&y>=k&&j.foundFunc.length===0&&(j.foundFunc=[D]),!s.includes(D)&&y>=k&&(s.push(D),j.singleFunction?u.push(D):j.singleFunction=D),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:A});if(l=y,A===Is&&z.callbacks&&z.callbacks.forEach(function(j){We(t[j])&&(t[j]({trigger:j,direction:A,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),z.singleFunction){var B=z.singleFunction,ie=z.direction;We(t[B])&&t[B]({trigger:B,direction:ie,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(B)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function Ps(){return Ne?document.body.scrollTop||document.documentElement.scrollTop:0}function wy(){return Ne?window.innerHeight||document.documentElement.clientHeight:0}function Fh(){return Math.round(Ps()+wy())}function Kh(){if(!Ne)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function An(t,e){return Math.round(t/e*100)}var Es="Event",zh=Es+"Listener";function by(t){return function(e,r,n,a){var i=n||is,o=a||!1;if(!Ne)return i;var s=Un(r),u=Un(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+Es);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+zh:"remove"+zh,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Sy(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function Un(t,e){if(Ct(t))return e?Un(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=Tg(t);return e?i.map(function(o){return Ct(o)?Un(o,!0):o}).flat():i}function Sy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var Rs=by(Es);function Hh(t,e){return Ne&&We(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),We(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Hh.bind(null,"onerror"),Hh.bind(null,"onload");var Bh=typeof window>"u",Gh="hidden";function Iy(t){if(Bh)return!1;var e=Py(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function Py(){var t=["webkit","moz","ms","o"];return Bh||Gh in document?Gh:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Ey=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Ry(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=Iy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Ey.map(function(s){return Rs(document,s,r)})).concat(Rs(window,"load",r)).concat(Rs(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function _y(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(m){d(),i&&!c&&i(Hr(h),m),a&&c&&(c=!1,a(Hr(r),m),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Hr(h),m))},s)}var p=Ry(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var m=p();return function(){return f=!1,h=new Date,v({type:"load"}),m()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Hr(h,f),idle:c?Hr(r,f):0}}}}function Hr(t,e){return e?0:Math.round((new Date-t)/1e3)}const Wh=5e3;class Ty{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),_y({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:Wh}),yy({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,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*Wh:Date.now(),this.isInViewport&&this.trackAwake(e,r)}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,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function Vh(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function ky(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}const Jh="sesamy_session_id";function Oy(){let t=sessionStorage.getItem(Jh);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Jh,t)),t}function Zh(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}let Ze={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"}},Yh=[],jn;function Xh(){const t=window.location.pathname;return Yh.find(e=>e.path?t.includes(e.path):!0)}function Cy(t,e){Yh=t.content||[];const r=Xh();r&&r.type==="article"&&(Ze={...Ze,...r.selectors}),jn=e}function Ay(t,e){const{selector:r}=e;return r===Ze.article.selector?t:t.querySelector(r)}function Qh(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Qh(t.parentElement,e):t.textContent??void 0}function gr(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function ev({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||gr(`sesamy:${e}`)||gr(`og:${e}`)||gr(e)||r}function Uy(){const t=document.querySelectorAll(Ze.article.selector);return Array.from(t).map(_s).filter(e=>e!==null)}function _s(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Zh(e)},n=(i,o,s,u)=>{const l=Ay(e,o);if(l){const c=Qh(l,o)||ev({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Ze.id),n("title",Ze.title,r.id),n("excerpt",Ze.excerpt,r.id),n("image",Ze.image,r.id),n("price",Ze.price,r.id,i=>parseFloat(i)),n("currency",Ze.currency,r.id),n("url",Ze.url,r.id),n("pass",Ze.pass,r.id),n("accessLevel",Ze.accessLevel,r.id,i=>i||"entitlement");const a=Xh();return a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency)),r}async function jy(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=_s(r);if(!n?.url)throw new Error("Could not find content for element");const a=await jn.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await jn.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Zh(r.parentElement||r);return jn.proxy.getContent(i.token,n.url,o)}let tv=!1,Ln,Nn,Ts;function rv(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:Ts,requestId:Math.random().toString(36).slice(2,9),sessionId:Oy(),timestamp:new Date().toISOString(),version:Cn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:gr("sesamy:item-src"),publisherContentId:gr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:bs,userAgent:navigator.userAgent,clientId:Ts}}}))}const nv=ky(async t=>{if(t.length>0){const e=rv(t);tv?navigator.sendBeacon(Nn,e):(await fetch(Nn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function ks(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Nn,rv([e]))}else nv.push(t)}function Ly(){return tv=!0,nv.flush()}function Ny(t,e,r){Ln=e,Nn=`${ft("logs",r)}/events`,Ts=t}const qy={name:"custom-analytics-plugin",page:({payload:t})=>{if(!Ln)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ks({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!Ln)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ks({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!Ln)return;const{properties:e,anonymousId:r,userId:n}=t;ks({anonymousId:r,userId:n,properties:e,type:"identify"})}},av=["source","medium","campaign","term","content"],Lt="utm_",xy=1800*1e3;function iv(t){return t?Date.now()-parseInt(t,10)>xy:!0}function ov(){const t=document.referrer||"";if(!t)return;const e=Yt(`${Lt}set_at`);(iv(e)||!Yt(`${Lt}referrer`))&&Tn(`${Lt}referrer`,t)}function $y(){const t=()=>{const r={};for(const a of av){const i=Yt(`${Lt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Yt(`${Lt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){ov()},campaign({payload:r}){const n=r?.campaign||{},a=Yt(`${Lt}set_at`);if(Object.keys(n).length>0&&iv(a)){for(const o of av){const s=n[o];s&&Tn(`${Lt}${o}`,s)}Tn(`${Lt}set_at`,String(Date.now()))}ov()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const Dy=$y(),sv=new Map,cv=new Map;function My({clientId:t,enabled:e=!0,environment:r}){Ny(t,e,r),e&&(window.addEventListener("beforeunload",()=>{cv.forEach((n,a)=>{n.bind(a)()}),Ly()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&sv.forEach((n,a)=>{n.bind(a)()})}),gy(),Vh(()=>{const n=new Ty({element:document.body,viewCallback:()=>{Et.page()},activeDurationCallback:(a,i,o)=>{Et.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{Et.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{Et.track("scroll",{scroll:a.scrollMax})}});cv.set(document.body,()=>{n.flush()}),sv.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Ge.AUTHENTICATED,async n=>{const a=n;await Et.identify(a.detail.sub)}),window.addEventListener(Ge.LOGOUT,async()=>{await Et.track("logout",{}),await Et.reset()}))}const Et=hy({app:bs,version:Cn,plugins:[Dy,qy]});function uv(t,e){Et.track(t,e)}function lv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});uv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function Fy(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function Ky(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function zy(){return/android/i.test(navigator.userAgent)}let qe,fv,Br,Os=!1,qn=!1;Dr()&&window.addEventListener("pageshow",()=>{qn=!1});const yr="sesamyAccessToken",Cs="sesamyRefreshToken",xn="sesamySilentAuthThrottle",Hy=300*1e3;async function $n(){return Os?!0:new Promise((t,e)=>{const r=setTimeout(()=>{Os?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Ge.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function By(t){if(!t)return null;const e=localStorage.getItem(Cs);if(!e)return ve("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(Cs),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Cs,i.refresh_token),localStorage.setItem(yr,i.access_token),i.access_token}catch{js()}}async function As(){const t=localStorage.getItem(yr);if(!t)return null;const e=Ls(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await By(e);if(r)return r;localStorage.removeItem(yr)}return t}let Dn=null;const Gy=64;function Wy(){try{if(Dn!==null)return Dn;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===Gy)return Dn=!0,!0}}catch(t){ve(`Error checking for existing auth0 tokens: ${t.message}`)}return Dn=!1,!1}function Vy(t){if(t.domains&&t.domains.length>0){const e=wr(window.location.href);if(e){for(const r of t.domains)if(wr(`https://${r}`)===e)return ve(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;ve(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return ve(`Using fallback domain property: ${t.domain}`),t.domain}function wr(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function Jy(t){if(t.enabled===!1)return;fv=t.organization;const e=Vy(t);Br=e&&!Wy()?e:Yd("token",t.environment);const r={domain:Br,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",wr(window.location.href)!==wr(`https://${Br}`)&&(r.useRefreshTokens=!0),ve(`Initializing auth0 client: ${JSON.stringify(r)}`),qe=await eg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)ve("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{ve("Code found in URL, handling redirect");try{const u=await qe.handleRedirectCallback();ve(`Login result: ${JSON.stringify(u)}`);const l=await qe.getUser();if(!l)throw ve("No user found"),new Error("No user found");ve(`User found ${JSON.stringify(l)}`),Us(),Ot(Ge.AUTHENTICATED,l),ve("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}Os=!0,Ot(Ge.AUTH_INITIALIZED,{})}async function Gr(){return await $n(),await As()?!0:qe?qe.isAuthenticated():!1}async function Zy(){return await $n(),await As()?(ve("Using local user"),{sub:"local",name:"Local User"}):qe?qe.getUser():null}function dv(t){if(qn)return ve("Login already in progress"),null;if(qn=!0,setTimeout(()=>{qn=!1},3e3),localStorage.removeItem(yr),!qe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:fv,redirect_uri:window.location.href,ui_locales:hn(),incognito:as(),...e}}}async function Mn(t){const e=dv(t);if(e)return qe.loginWithRedirect(e)}async function hv(t){const e=dv(t);if(!e)return;await qe.loginWithPopup(e,{timeoutInSeconds:1800}),Us(),lv(Ge.AUTHENTICATED,await qe.getUser()).canceled||window.location.reload()}async function Yy(t){return Br&&wr(window.location.href)!==wr(`https://${Br}`)&&(Ky()||zy()||as())?hv(t):Mn(t)}function Xy(){try{const t=sessionStorage.getItem(xn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<Hy}catch{return sessionStorage.removeItem(xn),!1}}function Qy(){try{const t={timestamp:Date.now()};sessionStorage.setItem(xn,JSON.stringify(t))}catch{ve("Failed to set silent auth throttle in sessionStorage")}}function Us(){try{sessionStorage.removeItem(xn)}catch{}}async function Xt(t=!0,e=!1){await $n();const r=await As();if(r)return r;if(!e&&Xy()){if(ve("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!qe)return ve("Auth client not initialized"),null;let n=await qe.getTokenSilently();const a=Ls(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await qe.getTokenSilently({cacheMode:e?"off":"on"})),Us(),n}catch(n){const a=n;if(ve(`Failed to get token silently: ${a.message}`),Qy(),await qe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await js(),t)throw n;return null}}async function js(t={}){if(await $n(),localStorage.removeItem(yr),Ot(Ge.LOGOUT,{}),!!qe)return ve(`Logout with options: ${JSON.stringify(t)}`),qe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function Ls(t){const e=t.split(".");if(e.length!==3)return null;const n=e[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function Ns(t){const e=Ls(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");ve("Set token"),localStorage.setItem(yr,t),Ot(Ge.AUTHENTICATED,e)}const ew=(t,e)=>e.skipDedupe||e.method!=="GET",tw=(t,e)=>e.method+"@"+t,rw=t=>t.clone(),vv=({skip:t=ew,key:e=tw,resolver:r=rw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},nw=(t,e)=>t*e,aw=t=>t&&t.ok,pv=({delayTimer:t=500,delayRamp:e=nw,maxAttempts:r=10,until:n=aw,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(m=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((y={})=>{var b,g;m(u((b=y&&y.url)!==null&&b!==void 0?b:l,(g=y&&y.options)!==null&&g!==void 0?g:c))}):m(u(l,c))},P)}).then(h).catch(m=>{if(!i)throw m;return h(null,m)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};class iw{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function qs(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function mv(t,e){if(qs(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function gv(t){return t.endsWith("/")?t.slice(0,-1):t}function yv(t,e){if(!qs(t)||!qs(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&gv(r.pathname)===gv(n.pathname)}function ow(t,e,r){const n=new URL(`${ft("checkout3",t.environment)}`);if(e.language&&n.searchParams.set("lang",e.language),e.sku)n.searchParams.set("sku",e.sku),e.purchaseOptionId&&n.searchParams.set("po-id",e.purchaseOptionId);else if(e.itemSrc){const{sku:s,purchaseOption:u,itemSrc:l}=mv(e.itemSrc,e.purchaseOptionId);l&&n.searchParams.set("url",l),s&&n.searchParams.set("sku",s),u&&n.searchParams.set("po-id",u)}e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const a=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(s=>{const[u,l]=s.trim().split("=");return{key:u,value:l}}).filter(s=>a.some(u=>u===s.key)).forEach(s=>{n.searchParams.append(s.key,s.value)});let o=new URL(window.location.href);if(e.redirectUrl)try{o=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return o.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&o.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",o.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:s,methods:u})=>u?u.map(l=>`${s}|${l}`):s).join(",")),n}const wv="sesamySignedURLs";function xs(){const t=sessionStorage.getItem(wv);return t?JSON.parse(t):[]}function sw(t){const e=xs();e.push(t),ve(`Adding signed URL: ${t}`),sessionStorage.setItem(wv,JSON.stringify(e))}function cw(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const $s="sesamyAttribution";function uw(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function lw(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function Fn(){return uw($s)||{}}function bv(t){if(t===null)localStorage.removeItem($s);else{ve(`Setting attribution ${JSON.stringify(t)}`);const e=Fn()??{},r=cw({...e,...lw(t)});localStorage.setItem($s,JSON.stringify({value:r}))}}function fw(t){const e=t.endpoint||ft("api2",t.environment),r=async()=>{const T=await Xt(!0);if(!T)throw new Error("No access token available");return T},n=ke.client({baseUrl:e,tokenProvider:r,libraryName:bs,libraryVersion:Cn,vendorId:t.vendorId,cache:{mode:ke.CacheMode.BROWSER,storage:new iw}}),a=T=>async(K,J)=>{let ae=sessionStorage.getItem(Jd);ae||(ae=Date.now().toString(),sessionStorage.setItem(Jd,ae));const me={...J,headers:{...J.headers,"Cache-Timestamp":ae}};return T(K,me)},i=(T=!0)=>K=>async(J,ae)=>{let me=null;if(me=await Xt(T),!me){if(T)throw new Error("No access token available");return K(J,ae)}const ze={...ae,headers:{...ae.headers,...me?{Authorization:`Bearer ${me}`}:{}}};return K(J,ze)},o=T=>(K,J)=>{if(J.headers&&"Authorization"in J.headers)return T(K,J);const ae=localStorage.getItem("__anon_id"),me=btoa(`${t.clientId}|${ae}:`),ze={...J,headers:{...J.headers,Authorization:`Basic ${me}`}};return T(K,ze)},s=ke.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),vv(),pv({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]),u=ke.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,vv(),pv({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]);async function l(T={}){const{waitForEntitlementAfter:K,includeSignedLinks:J=!0}=T,ae=await Gr()?await n.entitlements.list({waitForEntitlementAfter:K?.toISOString()}):[];return J&&ae.push(...xs()),ae}async function c(T,K=[]){return(await l())?.find(me=>{const{sku:ze,purchaseOption:M}=mv(T);return!!("sku"in me&&ze===me.sku||M&&"purchaseOptionsId"in me&&M===me.purchaseOptionsId||yv(T,me.url)||K.some(ee=>yv(ee,me.url)))})}async function f(T){return n.entitlements.get(T)}async function h(T){return n.entitlements.getAccess(T)}async function d(T,K,J){const ae=new URL(ft("api2",t.environment));return ae.pathname="/proxy",ae.searchParams.set("url",K),J&&ae.searchParams.set("selector",J),ke.wretch(ae.toString()).headers({Authorization:`Bearer ${T}`}).get().text()}async function v(T){if(!T)throw new Error("SKU is required to get fulfillments");return await Gr()?await s.get(`/fulfillments?sku=${encodeURIComponent(T)}`).json():[]}async function p(T,K){if(!T||!K)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:T},`/fulfillments/${encodeURIComponent(K)}/request-delivery?`).res()).ok}async function m(){return s.get("/contracts").json()}async function P(T){return(await s.get("/contracts").json())?.find(J=>J.id===T)}async function y(T){const K=await s.post({},`/contracts/${encodeURIComponent(T)}/cancel`).res();return ke.clearCache(),K.ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function g(){return s.get("/bills").json()}async function w(T){return(await s.get("/bills").json())?.find(J=>J.id===T)}async function A(){return s.get("/transactions").json()}async function x(T){return(await s.get("/transactions").json())?.find(J=>J.id===T)}async function N(T,K){const J=await s.url(`/user-metadata/${encodeURIComponent(T)}`).put(K).json();return Ot(Ge.USER_ATTRIBUTE_CHANGED,{}),ke.clearCache(),J}async function z(T){const K=await s.url(`/user-metadata/${encodeURIComponent(T)}`).delete().res();return ke.clearCache(),K.ok}async function B(){return await s.url("/user-metadata").get().json()}async function ie(T){return(await B())[T]||null}async function j(){return await s.url("/tags").get().json()}async function D(T){const K=await s.url(`/tags/${encodeURIComponent(T)}`).delete().res();return ke.clearCache(),K.ok}async function L(T){const K=await s.url("/tags").post(encodeURIComponent(T)).res();return Ot(Ge.USER_ATTRIBUTE_CHANGED,{}),ke.clearCache(),K.ok}async function k(T){return(await u.url("/tallies").get().json())[T]}async function Y(){return await u.url("/tallies").get().json()}async function ne(T){const K=await u.url(`/tallies/${T}`).delete().res();return ke.clearCache(),K.ok}async function Q(T,K){return await u.url(`/tallies/${encodeURIComponent(T)}/push`).post(K).json()}async function S(T){return n.products.get(T)}async function _(){return await Xt(!1)?await s.url("/profile").get().json():null}async function q(T){const K=await s.url("/profile").patch(T).res();return ke.clearCache(),K.ok}async function F(){return await s.url("/payment-issues").get().json()}async function Z(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function he(T){const K=await Xt(!1);if(!K)throw new Error("No access token available");const J=new URL(`${ft("access-sync",t.environment)}/spotify/sesamy-callback`);J.searchParams.set("access_token",K),J.searchParams.set("state",T),window.location.href=J.toString()}async function oe(T){const K=await s.url(`/products/${encodeURIComponent(T)}/auto-onboard`).post().json();return K.length&&ke.clearCache(),K}async function le(T,K=3600){const{shortlink:J}=await ke.wretch(ng).post({url:T,ttl:K}).json();return J}async function se(T){const K=await Xt(!1,!0);let J;const ae=T.language||hn(),me=Fn();switch(T.target){case"account":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}${T.contractId?`/${encodeURIComponent(T.contractId)}`:""}`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-payment":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/change-payment-method`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-plan":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/edit-plan`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"consume":J=new URL(`${ft("consume",t.environment)}/${encodeURIComponent(T.language||ae)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.sku)}`),T.episodeId?J.href+=`/${T.episodeId}`:J.href+="/listen",J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"checkout":J=ow(t,{language:ae,...T},me);break;default:throw new Error("Invalid target")}return K&&(J.hash=`#access_token=${K}`),T.shorten?le(J.href,T.ttl):J.href}async function _e(T){const K=Fn(),J=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(me=>{const ze=K,[M,ee]=me.trim().split("=");J.includes(M)&&!ze[M]&&(ze[M]=ee)}),(await u.url("/checkouts").post({language:hn(),...T,attribution:{...K,...T.attribution},vendorId:t.vendorId})).json()}async function xe(T,K){return(await u.url(`/checkouts/${T}`).patch(K)).json()}async function Ke(T){return(await u.url(`/checkouts/${T}`).get()).json()}async function Ce(T){return(await u.url(`/paywalls/${T}`).get()).json()}async function Ye(){return(await u.url("/vendor").get()).json()}async function dt(){return(await s.url("/vendors").get()).json()}async function ht(T){return(await s.url(`/contracts/${encodeURIComponent(T.contractId)}/amendments`).post({amendmentType:T.amendmentType,discountCode:T.discountCode})).json()}async function Rt(T){return await s.url(`/amendments/${encodeURIComponent(T)}/confirm`).post(),!0}async function _t(){const T=await Xt(!1),K=new URL(`${ft("account",t.environment)}/subscriptions/${t.clientId}`);T&&(K.hash=`#access_token=${T}`),window.location.href=K.toString()}return{autoOnboardProduct:oe,cancelContract:y,confirmAmendment:Rt,createAmendment:ht,createCheckout:_e,deleteTag:D,deleteTally:ne,deleteUserMetadata:z,generateLink:se,getBill:w,getBills:g,getCheckout:Ke,getProxyContent:d,getContract:P,getContracts:m,getEntitlement:f,getEntitlementAccess:h,getEntitlements:l,getFulfillments:v,requestDelivery:p,getPaywall:Ce,getPaymentIssues:F,getProfile:_,getProduct:S,getSubscriptions:b,getTally:k,getTallies:Y,getTags:j,getTransaction:x,getTransactions:A,getUserMetadata:ie,hasAccess:c,isSpotifyLinked:Z,linkSpotify:he,listUserMetadata:B,openHostedAccountPage:_t,pushTally:Q,setTag:L,setUserMetadata:N,unlinkSpotify:V,updateCheckout:xe,updateProfile:q,getVendorSettings:Ye,listVendors:dt}}const dw=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function hw(){return new Promise(t=>{const e=dw.map(r=>{const n=document.createElement("div");return n.innerHTML="&nbsp;",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function vw(){const t=navigator.userAgent.toLowerCase(),e=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}const Sv="sesamyFlags";async function Iv(t){try{localStorage.setItem(Sv,JSON.stringify(t))}catch{ve("Failed to save flags to localStorage")}}async function pw(t,e){const r=await Kn();r[t]=e,await Iv(r)}async function mw(t){return(await Kn())[t]}async function gw(t){const e=await Kn();t in e&&(delete e[t],await Iv(e))}async function Kn(){try{const t=localStorage.getItem(Sv);return t?JSON.parse(t):{}}catch{return{}}}function yw(t){const{autoOnboardProduct:e,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:l,getCheckout:c,getContract:f,getContracts:h,getEntitlement:d,getEntitlementAccess:v,getEntitlements:p,getFulfillments:m,getPaywall:P,getPaymentIssues:y,getProfile:b,getProduct:g,getProxyContent:w,getSubscriptions:A,getTags:x,getTally:N,getTallies:z,getTransaction:B,getTransactions:ie,getUserMetadata:j,getVendorSettings:D,listVendors:L,hasAccess:k,isSpotifyLinked:Y,linkSpotify:ne,listUserMetadata:Q,openHostedAccountPage:S,pushTally:_,requestDelivery:q,setTag:F,setUserMetadata:Z,unlinkSpotify:V,updateCheckout:he,updateProfile:oe}=fw(t),le={analytics:{track:uv},attribution:{get:Fn,set:bv},auth:{getUser:b,getTokenSilently:Xt,isAuthenticated:Gr,loginWithRedirect:Mn,loginWithPopup:hv,login:Yy,logout:js,setToken:Ns},bills:{get:u,list:l},browser:{detectAdblock:hw,isInAppBrowser:vw,isIncognito:as},checkouts:{create:n,get:c,update:he},clearCache:ke.clearCache,content:{list:Uy,get:_s,getLanguage:hn,unlock:jy,getPropertyFromHTML:ev},contracts:{cancel:r,get:f,list:h},entitlements:{access:v,get:d,hasAccess:k,list:p,signedLinks:xs},events:{emit:lv,cancel:Fy},flags:{get:mw,set:pw,list:Kn,delete:gw},fulfillments:{list:m,requestDelivery:q},generateLink:s,getPaymentIssues:y,getVersion:ww,isReady:()=>mt.isInitialized,log:ve,paywalls:{get:P},products:{autoOnboard:e,get:g,linkSpotify:ne},profile:{get:b,isSpotifyLinked:Y,openHostedAccountPage:S,unlinkSpotify:V,update:oe},proxy:{getContent:w},subscriptions:{list:A},tags:{delete:a,list:x,set:F},tallies:{delete:i,get:N,list:z,push:_},transactions:{get:B,list:ie},userMetadata:{delete:o,get:j,list:Q,set:Z},vendors:{get:D,list:L},setToken:Ns};return t.namespace&&(window[t.namespace]=le),le}function ww(){return Cn}function bw(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
35
+ `))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:B,instance:n,abort:(ie=B,j=b,D=N.pluginName,function(L,k){return te({},ie,{abort:{reason:L,plugins:k||[j],caller:f,from:D||j}})}),config:yh(N.pluginName,l,i),plugins:l})).then(function(L){var k=Ve(L)?L:{};return Promise.resolve(te({},B,k))})):B;var ie,j,D})},Promise.resolve(r))).then(function(x){g[b]=x});g[b]=r})();return A&&A.then?A.then(w):w()})},Promise.resolve({}))).then(function(m){return Promise.resolve(e.exact.reduce(function(P,y,b){try{var g=e.exact.length===b+1,w=y.pluginName,A=i[w];return Promise.resolve(P).then(function(x){var N=m[w]?m[w]:{};if(h&&(N=x),hs(N,w))return ds({data:N,method:f,instance:n,pluginName:w,store:s}),Promise.resolve(x);if(hs(x,w))return g&&ds({data:x,method:f,instance:n,store:s}),Promise.resolve(x);if(p.hasOwnProperty(w)&&p[w]===!0)return s.dispatch({type:"queue",plugin:w,payload:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(x);var z=v(m[w],i[w]);return Promise.resolve(A[f]({abort:z.abort,payload:N,instance:n,config:yh(w,l,i),plugins:l})).then(function(B){var ie=Ve(B)?B:{},j=te({},x,ie),D=m[w];if(hs(D,w))ds({data:D,method:f,instance:n,pluginName:w,store:s});else{var L=f+":"+w;(L.match(/:/g)||[]).length<2&&!f.match(mh)&&!f.match(gh)&&n.dispatch(te({},h?j:N,{type:L,_:{called:L,from:"submethod"}}))}return Promise.resolve(j)})})}catch(x){return Promise.reject(x)}},Promise.resolve(r))).then(function(P){if(!(f.match(pr)||f.match(/^registerPlugin/)||f.match(gh)||f.match(mh)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var y=te({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});Sh(P,e.exact.length)&&!f.match(/End$/)&&(y=te({},y,{type:P.type+"Aborted"})),s.dispatch(y)}return P})})}catch(m){return Promise.reject(m)}},pr=/Start$/,mh=/^bootstrap/,gh=/^ready/;function ds(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(te({},t.data,{type:r,_:{called:r,from:"abort"}}))}function yh(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function wh(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function bh(t,e){var r=t.replace(pr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function hs(t,e){var r=t.abort;return!!r&&(r===!0||Ih(r,e)||r&&Ih(r.plugins,e))}function Sh(t,e){var r=t.abort;if(!r)return!1;if(r===!0||Ct(r))return!0;var n=r.plugins;return zr(r)&&r.length===e||zr(n)&&n.length===e}function zr(t){return Array.isArray(t)}function Ih(t,e){return!(!t||!zr(t))&&t.includes(e)}function Ph(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Mg(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ve(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Fg(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(g){return s?g:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===re.enablePlugin&&a.dispatch({type:re.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===re.disablePlugin&&setTimeout(function(){return hh(o.meta.rid,{payload:o})},0),l===re.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(g){return c.includes(g)}).map(function(g){return h[g]}),p=[],m=[],P=o.disabled,y=v.map(function(g){var w=g.loaded,A=g.name,x=g.config;return vh(g,function(){return w({config:x})},1e4).then(function(N){return n[A]||(a.dispatch({type:re.pluginReadyType(A),name:A,events:Object.keys(g).filter(function(z){return!us.includes(z)})}),n[A]=!0),p=p.concat(A),g}).catch(function(N){if(N instanceof Error)throw new Error(N);return m=m.concat(N.name),N})});Promise.all(y).then(function(g){var w={plugins:p,failed:m,disabled:P};setTimeout(function(){d.length===y.length+P.length&&a.dispatch(te({},{type:re.ready},w))},0)})}var b=(function(){if(l!==re.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return ph(a,e,t)},0),Promise.resolve((function(g,w,A,x,N){try{var z=We(w)?w():w,B=g.type,ie=B.replace(pr,"");if(g._&&g._.called)return Promise.resolve(g);var j=A.getState(),D=(Y=z,(ne=j.plugins)===void 0&&(ne={}),(Q=g.options)===void 0&&(Q={}),Object.keys(Y).filter(function(S){var _=Q.plugins||{};return Sg(_[S])?_[S]:_.all!==!1&&(!ne[S]||ne[S].enabled!==!1)}).map(function(S){return Y[S]}));B===re.initializeStart&&g.fromEnable&&(D=Object.keys(j.plugins).filter(function(S){var _=j.plugins[S];return g.plugins.includes(S)&&!_.initialized}).map(function(S){return z[S]}));var L=D.map(function(S){return S.name}),k=(function(S,_){var q=bh(S).map(function(F){return wh(F,_)});return _.reduce(function(F,Z){var V=Z.name,he=bh(S,V).map(function(_e){return wh(_e,_)}),oe=he[0],le=he[1],se=he[2];return oe.length&&(F.beforeNS[V]=oe),le.length&&(F.duringNS[V]=le),se.length&&(F.afterNS[V]=se),F},{before:q[0],beforeNS:{},during:q[1],duringNS:{},after:q[2],afterNS:{}})})(B,D);return Promise.resolve(fs({action:g,data:{exact:k.before,namespaced:k.beforeNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(S){function _(){var Z=(function(){if(B.match(pr))return Promise.resolve(fs({action:te({},q,{type:ie+"End"}),data:{exact:k.after,namespaced:k.afterNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(V){V.meta&&V.meta.hasCallback&&hh(V.meta.rid,{payload:V})})})();return Z&&Z.then?Z.then(function(){return S}):S}if(Sh(S,L.length))return S;var q,F=(function(){if(B!==ie)return Promise.resolve(fs({action:te({},S,{type:ie}),data:{exact:k.during,namespaced:k.duringNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(Z){q=Z});q=S})();return F&&F.then?F.then(_):_()})}catch(S){return Promise.reject(S)}var Y,ne,Q})(o,e,t,a,r)).then(function(g){var w=i(g);return s=1,w})})();return Promise.resolve(b&&b.then?b.then(u):u(b))}catch(g){return Promise.reject(g)}}}}}function Kg(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===re.setItem||a===re.removeItem){if(n.abort)return r(n);a===re.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var zg=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return dr.apply(void 0,o)(n)(a)}}}}};function Hg(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=Eh(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},te({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Eh(r.type,re.initialize),l=t()[u];return l&&u?(n[u]=te({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),te({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=te({},e[r.name],{loaded:!0}),te({},e,n);switch(r.type){case re.disablePlugin:return te({},e,Rh(r.plugins,!1,e));case re.enablePlugin:return te({},e,Rh(r.plugins,!0,e));default:return e}}}function Eh(t,e){return t.substring(e.length+1,t.length)}function Rh(t,e,r){return t.reduce(function(n,a){return n[a]=te({},r[a],{enabled:e}),n},r)}function _h(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Bg={last:{},history:[]};function Gg(t,e){t===void 0&&(t=Bg);var r=e.options,n=e.meta;if(e.type===re.track){var a=_h(te({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return te({},t,{last:a,history:t.history.concat(a)})}return t}var Wg={actions:[]};function Vg(t,e){t===void 0&&(t=Wg);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===re.identify?[e].concat(t.actions):t.actions.concat(e),te({},t,{actions:n});case"dequeue":return[];default:return t}}var Th=/#.*$/;function Jg(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(Th,""):"")}var kh,Oh,Ch,Ah,Zg=function(t){if(t===void 0&&(t={}),!Ne)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(Ne){for(var v,p=document.getElementsByTagName("link"),m=0;v=p[m];m++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(Th,"")})(l),f={title:r,url:c,path:Jg(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),te({},f,t)},Yg={last:{},history:[]};function Xg(t,e){t===void 0&&(t=Yg);var r=e.options;if(e.type===re.page){var n=_h(te({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return te({},t,{last:n,history:t.history.concat(n)})}return t}kh=(function(){if(!Ne)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"})(),Oh=Ne?document.referrer:null,Ch=kg(),Ah=Og();var Uh={initialized:!1,sessionId:bn(),app:null,version:null,debug:!1,offline:!!Ne&&!navigator.onLine,os:{name:kh},userAgent:Ne?navigator.userAgent:"node",library:{name:cs,version:"0.13.1"},timezone:Ah,locale:Ch,campaign:{},referrer:Oh};function Qg(t,e){t===void 0&&(t=Uh);var r=t.initialized,n=e.campaign;switch(e.type){case re.campaign:return te({},t,{campaign:n});case re.offline:return te({},t,{offline:!0});case re.online:return te({},t,{offline:!1});default:return r?t:te({},Uh,t,{initialized:!0})}}var ey=["plugins","reducers","storage"];function ty(t,e,r){if(Ne){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function ry(t){var e=ty.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function jh(){return Wt(cs,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return ur[cr][cs].push(o.action||o),i(o)}})}}}function Lh(t){return function(){return dr(dr.apply(null,arguments),jh())}}function vs(t){return t?nh(t)?t:[t]:[]}function Nh(t,e,r){t===void 0&&(t={});var n,a,i=bn();return e&&(Kr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(We(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),te({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function ny(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,_){if(We(_))return S.middlewares=S.middlewares.concat(_),S;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var q=_.EVENTS?Object.keys(_.EVENTS).map(function(V){return _.EVENTS[V]}):[];S.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(S.methods[_.name]=Object.keys(_.methods).reduce(function(V,he){var oe;return V[he]=(oe=_.methods[he],function(){for(var le=Array.prototype.slice.call(arguments),se=new Array(oe.length),_e=0;_e<le.length;_e++)se[_e]=le[_e];return se[se.length]=w,oe.apply({instance:w},se)}),V},{}),delete _.methods);var F=Object.keys(_).concat(q),Z=new Set(S.events.concat(F));if(S.events=Array.from(Z),S.pluginsArray=S.pluginsArray.concat(_),S.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return S.plugins[_.name]=_,S.plugins[_.name].loaded||(S.plugins[_.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Gt,setItem:Wt,removeItem:lr},i=(function(S){return function(_,q,F){return q.getState("user")[_]||(F&&Ve(F)&&F[_]?F[_]:dh(S)[_]||Gt(ls(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!us.includes(S)}).sort(),u=new Set(s.concat(Pn).filter(function(S){return!us.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new zg,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},m=Cg(),P=dh(a),y=te({},P,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=bn());var b=te({enable:function(S,_){return new Promise(function(q){k.dispatch({type:re.enablePlugin,plugins:vs(S),_:{originalAction:re.enablePlugin}},q,[_])})},disable:function(S,_){return new Promise(function(q){k.dispatch({type:re.disablePlugin,plugins:vs(S),_:{originalAction:re.disablePlugin}},q,[_])})}},n.methods),g=!1,w={identify:function(S,_,q,F){try{var Z=Ct(S)?S:null,V=Ve(S)?S:_,he=q||{},oe=w.user();Wt(ls(jt),Z);var le=Z||V.userId||i(jt,w,V);return Promise.resolve(new Promise(function(se){k.dispatch(te({type:re.identifyStart,userId:le,traits:V||{},options:he,anonymousId:oe.anonymousId},oe.id&&oe.id!==Z&&{previousId:oe.id}),se,[_,q,F])}))}catch(se){return Promise.reject(se)}},track:function(S,_,q,F){try{var Z=Ve(S)?S.event:S;if(!Z||!Ct(Z))throw new Error("EventMissing");var V=Ve(S)?S:_||{},he=Ve(q)?q:{};return Promise.resolve(new Promise(function(oe){k.dispatch({type:re.trackStart,event:Z,properties:V,options:he,userId:i(jt,w,_),anonymousId:i(vr,w,_)},oe,[_,q,F])}))}catch(oe){return Promise.reject(oe)}},page:function(S,_,q){try{var F=Ve(S)?S:{},Z=Ve(_)?_:{};return Promise.resolve(new Promise(function(V){k.dispatch({type:re.pageStart,properties:Zg(F),options:Z,userId:i(jt,w,F),anonymousId:i(vr,w,F)},V,[S,_,q])}))}catch(V){return Promise.reject(V)}},user:function(S){if(S===jt||S==="id")return i(jt,w);if(S===vr||S==="anonId")return i(vr,w);var _=w.getState("user");return S?Xd(_,S):_},reset:function(S){return new Promise(function(_){k.dispatch({type:re.resetStart},_,S)})},ready:function(S){return g&&S({plugins:b,instance:w}),w.on(re.ready,function(_){S&&S(_),g=!0})},on:function(S,_){if(!S||!We(_))return!1;if(S===re.bootstrap)throw new Error(".on disabled for "+S);var q=/Start$|Start:/;if(S==="*"){var F=function(oe){return function(le){return function(se){return se.type.match(q)&&_({payload:se,instance:w,plugins:o}),le(se)}}},Z=function(oe){return function(le){return function(se){return se.type.match(q)||_({payload:se,instance:w,plugins:o}),le(se)}}};return h(F,En),h(Z,Rn),function(){d(F,En),d(Z,Rn)}}var V=S.match(q)?En:Rn,he=function(oe){return function(le){return function(se){return se.type===S&&_({payload:se,instance:w,plugins:o,abort:p}),le(se)}}};return h(he,V),function(){return d(he,V)}},once:function(S,_){if(!S||!We(_))return!1;if(S===re.bootstrap)throw new Error(".once disabled for "+S);var q=w.on(S,function(F){_({payload:F.payload,instance:w,plugins:o,abort:p}),q()});return q},getState:function(S){var _=k.getState();return S?Xd(_,S):Object.assign({},_)},dispatch:function(S){var _=Ct(S)?{type:S}:S;if(Pn.includes(_.type))throw new Error("reserved action "+_.type);var q=te({},_,{_:te({originalAction:_.type},S._||{})});k.dispatch(q)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:a.getItem,setItem:function(S,_,q){k.dispatch({type:re.setItemStart,key:S,value:_,options:q})},removeItem:function(S,_){k.dispatch({type:re.removeItemStart,key:S,options:_})}},setAnonymousId:function(S,_){w.storage.setItem(Ut,S,_)},events:{core:Pn,plugins:s}},A=n.middlewares.concat([function(S){return function(_){return function(q){return q.meta||(q.meta=Nh()),_(q)}}},v(En),Fg(w,c,{all:l,plugins:s}),Kg(a),qg(w),$g(w),v(Rn)]),x={context:Qg,user:xg(a),page:Xg,track:Gg,plugins:Hg(c),queue:Vg},N=dr,z=dr;if(Ne&&t.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(N=B({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?jh():Ve(typeof arguments[0])?Lh():Lh().apply(null,arguments)}}var ie,j=(function(S){return Object.keys(S).reduce(function(_,q){return ey.includes(q)||(_[q]=S[q]),_},{})})(t),D=n.pluginsArray.reduce(function(S,_){var q=_.name,F=_.config,Z=_.loaded,V=n.pluginEnabled[q];return S[q]={enabled:V,initialized:!!V&&!_.initialize,loaded:!!Z({config:F}),config:F},S},{}),L={context:j,user:y,plugins:D},k=ch((function(S){for(var _=Object.keys(S),q={},F=0;F<_.length;F++){var Z=_[F];typeof S[Z]===At&&(q[Z]=S[Z])}var V,he=Object.keys(q);try{(function(oe){Object.keys(oe).forEach(function(le){var se=oe[le];if(typeof se(void 0,{type:ss})===St||typeof se(void 0,{type:jg})===St)throw new Error(Fr+" "+le+" "+St)})})(q)}catch(oe){V=oe}return function(oe,le){if(oe===void 0&&(oe={}),V)throw V;for(var se=!1,_e={},xe=0;xe<he.length;xe++){var Ke=he[xe],Ce=oe[Ke],Ye=(0,q[Ke])(Ce,le);if(typeof Ye===St){var dt=Lg(Ke,le);throw new Error(dt)}_e[Ke]=Ye,se=se||Ye!==Ce}return se?_e:oe}})(te({},x,e)),L,z(N(Ng.apply(void 0,A))));k.dispatch=(ie=k.dispatch,function(S,_,q){var F=te({},S,{meta:Nh(S.meta,_,vs(q))});return ie.apply(null,[F])});var Y=Object.keys(o);k.dispatch({type:re.bootstrap,plugins:Y,config:j,params:m,user:y,initialUser:r,persistedUser:P});var ne=Y.filter(function(S){return n.pluginEnabled[S]}),Q=Y.filter(function(S){return!n.pluginEnabled[S]});return k.dispatch({type:re.registerPlugins,plugins:Y,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,_){var q=S.bootstrap,F=S.config,Z=S.name;q&&We(q)&&q({instance:w,config:F,payload:S}),k.dispatch({type:re.registerPluginType(Z),name:Z,enabled:n.pluginEnabled[Z],plugin:S}),n.pluginsArray.length===_+1&&k.dispatch({type:re.initializeStart,plugins:ne,disabled:Q})}),ry(function(S){k.dispatch({type:S?re.offline:re.online})}),(function(S,_,q){setInterval(function(){return ph(S,_,q)},3e3)})(k,c,w),w}var En="before",Rn="after",Jt="cookie",Zt=$h(),qh=_n,ay=_n;function xh(t){return Zt?_n(t,"",-1):lr(t)}function $h(){if(Zt!==void 0)return Zt;var t=Jt+Jt;try{_n(t,t),Zt=document.cookie.indexOf(t)!==-1,xh(t)}catch{Zt=!1}return Zt}function _n(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Zt===!1&&(o?Wt(t,e):Gt(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var It="localStorage",iy=os.bind(null,It);fr(It,"getItem",Gt),fr(It,"setItem",Wt),fr(It,"removeItem",lr);var Pt="sessionStorage",oy=os.bind(null,Pt);fr(Pt,"getItem",Gt),fr(Pt,"setItem",Wt),fr(Pt,"removeItem",lr);function mr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ve(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var sy=iy(),cy=oy(),uy=$h();function Yt(t,e){if(t){var r=ps(e),n=!ws(r),a=ms(r)?mr(localStorage.getItem(t)):void 0;if(n&&!sr(a))return a;var i=gs(r)?mr(qh(t)):void 0;if(n&&i)return i;var o=ys(r)?mr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Gt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function Tn(t,e,r){if(t&&!sr(e)){var n={},a=ps(r),i=JSON.stringify(e),o=!ws(a);return ms(a)&&(n[It]=On(It,e,mr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[It]:gs(a)&&(n[Jt]=On(Jt,e,mr(qh(t))),ay(t,i),o)?n[Jt]:ys(a)&&(n[Pt]=On(Pt,e,mr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[Pt]:(n[Bt]=On(Bt,e,Gt(t)),Wt(t,e),o?n[Bt]:n)}}function ly(t,e){if(t){var r=ps(e),n=Yt(t,eh),a={};return!sr(n.localStorage)&&ms(r)&&(localStorage.removeItem(t),a[It]=n.localStorage),!sr(n.cookie)&&gs(r)&&(xh(t),a[Jt]=n.cookie),!sr(n.sessionStorage)&&ys(r)&&(sessionStorage.removeItem(t),a[Pt]=n.sessionStorage),!sr(n.global)&&kn(r,Bt)&&(lr(t),a[Bt]=n.global),a}}function ps(t){return t?Ct(t)?t:t.storage:Qd}function ms(t){return sy&&kn(t,It)}function gs(t){return uy&&kn(t,Jt)}function ys(t){return cy&&kn(t,Pt)}function ws(t){return t===eh||t==="all"}function kn(t,e){return t===Qd||t===e||ws(t)}function On(t,e,r){return{location:t,current:e,previous:r}}var fy={setItem:Tn,getItem:Yt,removeItem:ly};function dy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Dh(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function Mh(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Dh(Object(r),!0).forEach(function(n){dy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Dh(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function hy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:fy};return ny(Mh(Mh({},e),t))}const bs="@sesamy/sesamy-js",Cn="1.52.0";function vy(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=my(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function py(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function my(t){return["#","?"].forEach(e=>t=py(t,e)),t}function gy(){vy(()=>{Et.page()})}var Ss="up",Is="down";function yy(t){if(t===void 0&&(t={}),!Ne)return is;var e=Kh(),r=Ps(),n=Fh(),a=An(n,e),i=An(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return is;var d=h.map(function(p){return Number(p)}),v=Ug(function(){var p=Kh(),m=(function(j,D){return D.map(function(L){return L===100?j-5:j*(L/100)})})(p,d),P=Ps(),y=Fh(),b=An(y,p),g=An(P,p);if(c=b>c?b:c,f=g<f?g:f,!(o.length>=d.length)){var w=l===y,A=Ss;w?A="initial":l<=y&&(A=Is);var x=m,N=d;(A===Ss||w)&&(x=m.slice().reverse(),N=d.slice().reverse());var z=N.reduce(function(j,D,L){var k=x[L];return u.includes(D)&&y<=k&&(u=u.filter(function(Y){return Y!==D}),j.singleFunction=D),A===Is&&!o.includes(D)&&y>=k&&D>i?(s.push(D),j.callbacks=j.callbacks.concat(D),j):A===Ss&&!o.includes(D)&&y<=k&&D<=b?(j.foundFunc=[D],j):(w&&y>=k&&j.foundFunc.length===0&&(j.foundFunc=[D]),!s.includes(D)&&y>=k&&(s.push(D),j.singleFunction?u.push(D):j.singleFunction=D),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:A});if(l=y,A===Is&&z.callbacks&&z.callbacks.forEach(function(j){We(t[j])&&(t[j]({trigger:j,direction:A,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),z.singleFunction){var B=z.singleFunction,ie=z.direction;We(t[B])&&t[B]({trigger:B,direction:ie,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(B)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function Ps(){return Ne?document.body.scrollTop||document.documentElement.scrollTop:0}function wy(){return Ne?window.innerHeight||document.documentElement.clientHeight:0}function Fh(){return Math.round(Ps()+wy())}function Kh(){if(!Ne)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function An(t,e){return Math.round(t/e*100)}var Es="Event",zh=Es+"Listener";function by(t){return function(e,r,n,a){var i=n||is,o=a||!1;if(!Ne)return i;var s=Un(r),u=Un(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+Es);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+zh:"remove"+zh,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Sy(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function Un(t,e){if(Ct(t))return e?Un(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=Tg(t);return e?i.map(function(o){return Ct(o)?Un(o,!0):o}).flat():i}function Sy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var Rs=by(Es);function Hh(t,e){return Ne&&We(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),We(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Hh.bind(null,"onerror"),Hh.bind(null,"onload");var Bh=typeof window>"u",Gh="hidden";function Iy(t){if(Bh)return!1;var e=Py(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function Py(){var t=["webkit","moz","ms","o"];return Bh||Gh in document?Gh:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Ey=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Ry(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=Iy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Ey.map(function(s){return Rs(document,s,r)})).concat(Rs(window,"load",r)).concat(Rs(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function _y(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(m){d(),i&&!c&&i(Hr(h),m),a&&c&&(c=!1,a(Hr(r),m),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Hr(h),m))},s)}var p=Ry(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var m=p();return function(){return f=!1,h=new Date,v({type:"load"}),m()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Hr(h,f),idle:c?Hr(r,f):0}}}}function Hr(t,e){return e?0:Math.round((new Date-t)/1e3)}const Wh=5e3;class Ty{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),_y({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:Wh}),yy({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,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*Wh:Date.now(),this.isInViewport&&this.trackAwake(e,r)}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,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function Vh(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function ky(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}const Jh="sesamy_session_id";function Oy(){let t=sessionStorage.getItem(Jh);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Jh,t)),t}function Zh(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}let Ze={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"}},Yh=[],jn;function Xh(){const t=window.location.pathname;return Yh.find(e=>e.path?t.includes(e.path):!0)}function Cy(t,e){Yh=t.content||[];const r=Xh();r&&r.type==="article"&&(Ze={...Ze,...r.selectors}),jn=e}function Ay(t,e){const{selector:r}=e;return r===Ze.article.selector?t:t.querySelector(r)}function Qh(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Qh(t.parentElement,e):t.textContent??void 0}function gr(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function ev({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||gr(`sesamy:${e}`)||gr(`og:${e}`)||gr(e)||r}function Uy(){const t=document.querySelectorAll(Ze.article.selector);return Array.from(t).map(_s).filter(e=>e!==null)}function _s(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Zh(e)},n=(i,o,s,u)=>{const l=Ay(e,o);if(l){const c=Qh(l,o)||ev({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Ze.id),n("title",Ze.title,r.id),n("excerpt",Ze.excerpt,r.id),n("image",Ze.image,r.id),n("price",Ze.price,r.id,i=>parseFloat(i)),n("currency",Ze.currency,r.id),n("url",Ze.url,r.id),n("pass",Ze.pass,r.id),n("accessLevel",Ze.accessLevel,r.id,i=>i||"entitlement");const a=Xh();return a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency)),r}async function jy(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=_s(r);if(!n?.url)throw new Error("Could not find content for element");const a=await jn.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await jn.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Zh(r.parentElement||r);return jn.proxy.getContent(i.token,n.url,o)}let tv=!1,Ln,Nn,Ts;function rv(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:Ts,requestId:Math.random().toString(36).slice(2,9),sessionId:Oy(),timestamp:new Date().toISOString(),version:Cn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:gr("sesamy:item-src"),publisherContentId:gr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:bs,userAgent:navigator.userAgent,clientId:Ts}}}))}const nv=ky(async t=>{if(t.length>0){const e=rv(t);tv?navigator.sendBeacon(Nn,e):(await fetch(Nn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function ks(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Nn,rv([e]))}else nv.push(t)}function Ly(){return tv=!0,nv.flush()}function Ny(t,e,r){Ln=e,Nn=`${ft("logs",r)}/events`,Ts=t}const qy={name:"custom-analytics-plugin",page:({payload:t})=>{if(!Ln)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ks({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!Ln)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ks({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!Ln)return;const{properties:e,anonymousId:r,userId:n}=t;ks({anonymousId:r,userId:n,properties:e,type:"identify"})}},av=["source","medium","campaign","term","content"],Lt="utm_",xy=1800*1e3;function iv(t){return t?Date.now()-parseInt(t,10)>xy:!0}function ov(){const t=document.referrer||"";if(!t)return;const e=Yt(`${Lt}set_at`);(iv(e)||!Yt(`${Lt}referrer`))&&Tn(`${Lt}referrer`,t)}function $y(){const t=()=>{const r={};for(const a of av){const i=Yt(`${Lt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Yt(`${Lt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){ov()},campaign({payload:r}){const n=r?.campaign||{},a=Yt(`${Lt}set_at`);if(Object.keys(n).length>0&&iv(a)){for(const o of av){const s=n[o];s&&Tn(`${Lt}${o}`,s)}Tn(`${Lt}set_at`,String(Date.now()))}ov()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const Dy=$y(),sv=new Map,cv=new Map;function My({clientId:t,enabled:e=!0,environment:r}){Ny(t,e,r),e&&(window.addEventListener("beforeunload",()=>{cv.forEach((n,a)=>{n.bind(a)()}),Ly()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&sv.forEach((n,a)=>{n.bind(a)()})}),gy(),Vh(()=>{const n=new Ty({element:document.body,viewCallback:()=>{Et.page()},activeDurationCallback:(a,i,o)=>{Et.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{Et.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{Et.track("scroll",{scroll:a.scrollMax})}});cv.set(document.body,()=>{n.flush()}),sv.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Ge.AUTHENTICATED,async n=>{const a=n;await Et.identify(a.detail.sub)}),window.addEventListener(Ge.LOGOUT,async()=>{await Et.track("logout",{}),await Et.reset()}))}const Et=hy({app:bs,version:Cn,plugins:[Dy,qy]});function uv(t,e){Et.track(t,e)}function lv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});uv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function Fy(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function Ky(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function zy(){return/android/i.test(navigator.userAgent)}let qe,fv,Br,Os=!1,qn=!1;Dr()&&window.addEventListener("pageshow",()=>{qn=!1});const yr="sesamyAccessToken",Cs="sesamyRefreshToken",xn="sesamySilentAuthThrottle",Hy=300*1e3;async function $n(){return Os?!0:new Promise((t,e)=>{const r=setTimeout(()=>{Os?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Ge.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function By(t){if(!t)return null;const e=localStorage.getItem(Cs);if(!e)return ve("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(Cs),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Cs,i.refresh_token),localStorage.setItem(yr,i.access_token),i.access_token}catch{js()}}async function As(){const t=localStorage.getItem(yr);if(!t)return null;const e=Ls(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await By(e);if(r)return r;localStorage.removeItem(yr)}return t}let Dn=null;const Gy=64;function Wy(){try{if(Dn!==null)return Dn;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===Gy)return Dn=!0,!0}}catch(t){ve(`Error checking for existing auth0 tokens: ${t.message}`)}return Dn=!1,!1}function Vy(t){if(t.domains&&t.domains.length>0){const e=wr(window.location.href);if(e){for(const r of t.domains)if(wr(`https://${r}`)===e)return ve(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;ve(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return ve(`Using fallback domain property: ${t.domain}`),t.domain}function wr(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function Jy(t){if(t.enabled===!1)return;fv=t.organization;const e=Vy(t);Br=e&&!Wy()?e:Yd("token",t.environment);const r={domain:Br,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",wr(window.location.href)!==wr(`https://${Br}`)&&(r.useRefreshTokens=!0),ve(`Initializing auth0 client: ${JSON.stringify(r)}`),qe=await eg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)ve("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{ve("Code found in URL, handling redirect");try{const u=await qe.handleRedirectCallback();ve(`Login result: ${JSON.stringify(u)}`);const l=await qe.getUser();if(!l)throw ve("No user found"),new Error("No user found");ve(`User found ${JSON.stringify(l)}`),Us(),Ot(Ge.AUTHENTICATED,l),ve("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}Os=!0,Ot(Ge.AUTH_INITIALIZED,{})}async function Gr(){return await $n(),await As()?!0:qe?qe.isAuthenticated():!1}async function Zy(){return await $n(),await As()?(ve("Using local user"),{sub:"local",name:"Local User"}):qe?qe.getUser():null}function dv(t){if(qn)return ve("Login already in progress"),null;if(qn=!0,setTimeout(()=>{qn=!1},3e3),localStorage.removeItem(yr),!qe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:fv,redirect_uri:window.location.href,ui_locales:hn(),incognito:as(),...e}}}async function Mn(t){const e=dv(t);if(e)return qe.loginWithRedirect(e)}async function hv(t){const e=dv(t);if(!e)return;await qe.loginWithPopup(e,{timeoutInSeconds:1800}),Us(),lv(Ge.AUTHENTICATED,await qe.getUser()).canceled||window.location.reload()}async function Yy(t){return Br&&wr(window.location.href)!==wr(`https://${Br}`)&&(Ky()||zy()||as())?hv(t):Mn(t)}function Xy(){try{const t=sessionStorage.getItem(xn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<Hy}catch{return sessionStorage.removeItem(xn),!1}}function Qy(){try{const t={timestamp:Date.now()};sessionStorage.setItem(xn,JSON.stringify(t))}catch{ve("Failed to set silent auth throttle in sessionStorage")}}function Us(){try{sessionStorage.removeItem(xn)}catch{}}async function Xt(t=!0,e=!1){await $n();const r=await As();if(r)return r;if(!e&&Xy()){if(ve("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!qe)return ve("Auth client not initialized"),null;let n=await qe.getTokenSilently();const a=Ls(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await qe.getTokenSilently({cacheMode:e?"off":"on"})),Us(),n}catch(n){const a=n;if(ve(`Failed to get token silently: ${a.message}`),Qy(),await qe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await js(),t)throw n;return null}}async function js(t={}){if(await $n(),localStorage.removeItem(yr),Ot(Ge.LOGOUT,{}),!!qe)return ve(`Logout with options: ${JSON.stringify(t)}`),qe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function Ls(t){const e=t.split(".");if(e.length!==3)return null;const n=e[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function Ns(t){const e=Ls(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");ve("Set token"),localStorage.setItem(yr,t),Ot(Ge.AUTHENTICATED,e)}const ew=(t,e)=>e.skipDedupe||e.method!=="GET",tw=(t,e)=>e.method+"@"+t,rw=t=>t.clone(),vv=({skip:t=ew,key:e=tw,resolver:r=rw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},nw=(t,e)=>t*e,aw=t=>t&&t.ok,pv=({delayTimer:t=500,delayRamp:e=nw,maxAttempts:r=10,until:n=aw,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(m=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((y={})=>{var b,g;m(u((b=y&&y.url)!==null&&b!==void 0?b:l,(g=y&&y.options)!==null&&g!==void 0?g:c))}):m(u(l,c))},P)}).then(h).catch(m=>{if(!i)throw m;return h(null,m)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};class iw{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function qs(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function mv(t,e){if(qs(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function gv(t){return t.endsWith("/")?t.slice(0,-1):t}function yv(t,e){if(!qs(t)||!qs(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&gv(r.pathname)===gv(n.pathname)}function ow(t,e,r){const n=new URL(`${ft("checkout3",t.environment)}`);if(e.language&&n.searchParams.set("lang",e.language),e.sku)n.searchParams.set("sku",e.sku),e.purchaseOptionId&&n.searchParams.set("po-id",e.purchaseOptionId);else if(e.itemSrc){const{sku:s,purchaseOption:u,itemSrc:l}=mv(e.itemSrc,e.purchaseOptionId);l&&n.searchParams.set("url",l),s&&n.searchParams.set("sku",s),u&&n.searchParams.set("po-id",u)}e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const a=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(s=>{const[u,l]=s.trim().split("=");return{key:u,value:l}}).filter(s=>a.some(u=>u===s.key)).forEach(s=>{n.searchParams.append(s.key,s.value)});let o=new URL(window.location.href);if(e.redirectUrl)try{o=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return o.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&o.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",o.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:s,methods:u})=>u?u.map(l=>`${s}|${l}`):s).join(",")),n}const wv="sesamySignedURLs";function xs(){const t=sessionStorage.getItem(wv);return t?JSON.parse(t):[]}function sw(t){const e=xs();e.push(t),ve(`Adding signed URL: ${t}`),sessionStorage.setItem(wv,JSON.stringify(e))}function cw(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const $s="sesamyAttribution";function uw(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function lw(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function Fn(){return uw($s)||{}}function bv(t){if(t===null)localStorage.removeItem($s);else{ve(`Setting attribution ${JSON.stringify(t)}`);const e=Fn()??{},r=cw({...e,...lw(t)});localStorage.setItem($s,JSON.stringify({value:r}))}}function fw(t){const e=t.endpoint||ft("api2",t.environment),r=async()=>{const T=await Xt(!0);if(!T)throw new Error("No access token available");return T},n=ke.client({baseUrl:e,tokenProvider:r,libraryName:bs,libraryVersion:Cn,vendorId:t.vendorId,cache:{mode:ke.CacheMode.BROWSER,storage:new iw}}),a=T=>async(K,J)=>{let ae=sessionStorage.getItem(Jd);ae||(ae=Date.now().toString(),sessionStorage.setItem(Jd,ae));const me={...J,headers:{...J.headers,"Cache-Timestamp":ae}};return T(K,me)},i=(T=!0)=>K=>async(J,ae)=>{let me=null;if(me=await Xt(T),!me){if(T)throw new Error("No access token available");return K(J,ae)}const ze={...ae,headers:{...ae.headers,...me?{Authorization:`Bearer ${me}`}:{}}};return K(J,ze)},o=T=>(K,J)=>{if(J.headers&&"Authorization"in J.headers)return T(K,J);const ae=localStorage.getItem("__anon_id"),me=btoa(`${t.clientId}|${ae}:`),ze={...J,headers:{...J.headers,Authorization:`Basic ${me}`}};return T(K,ze)},s=ke.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),vv(),pv({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]),u=ke.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,vv(),pv({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]);async function l(T={}){const{waitForEntitlementAfter:K,includeSignedLinks:J=!0}=T,ae=await Gr()?await n.entitlements.list({waitForEntitlementAfter:K?.toISOString()}):[];return J&&ae.push(...xs()),ae}async function c(T,K=[]){return(await l())?.find(me=>{const{sku:ze,purchaseOption:M}=mv(T);return!!("sku"in me&&ze===me.sku||M&&"purchaseOptionsId"in me&&M===me.purchaseOptionsId||yv(T,me.url)||K.some(ee=>yv(ee,me.url)))})}async function f(T){return n.entitlements.get(T)}async function h(T){return n.entitlements.getAccess(T)}async function d(T,K,J){const ae=new URL(ft("api2",t.environment));return ae.pathname="/proxy",ae.searchParams.set("url",K),J&&ae.searchParams.set("selector",J),ke.wretch(ae.toString()).headers({Authorization:`Bearer ${T}`}).get().text()}async function v(T){if(!T)throw new Error("SKU is required to get fulfillments");return await Gr()?await s.get(`/fulfillments?sku=${encodeURIComponent(T)}`).json():[]}async function p(T,K){if(!T||!K)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:T},`/fulfillments/${encodeURIComponent(K)}/request-delivery?`).res()).ok}async function m(){return s.get("/contracts").json()}async function P(T){return(await s.get("/contracts").json())?.find(J=>J.id===T)}async function y(T){const K=await s.post({},`/contracts/${encodeURIComponent(T)}/cancel`).res();return ke.clearCache(),K.ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function g(){return s.get("/bills").json()}async function w(T){return(await s.get("/bills").json())?.find(J=>J.id===T)}async function A(){return s.get("/transactions").json()}async function x(T){return(await s.get("/transactions").json())?.find(J=>J.id===T)}async function N(T,K){const J=await s.url(`/user-metadata/${encodeURIComponent(T)}`).put(K).json();return Ot(Ge.USER_ATTRIBUTE_CHANGED,{}),ke.clearCache(),J}async function z(T){const K=await s.url(`/user-metadata/${encodeURIComponent(T)}`).delete().res();return ke.clearCache(),K.ok}async function B(){return await s.url("/user-metadata").get().json()}async function ie(T){return(await B())[T]||null}async function j(){return await s.url("/tags").get().json()}async function D(T){const K=await s.url(`/tags/${encodeURIComponent(T)}`).delete().res();return ke.clearCache(),K.ok}async function L(T){const K=await s.url("/tags").post(encodeURIComponent(T)).res();return Ot(Ge.USER_ATTRIBUTE_CHANGED,{}),ke.clearCache(),K.ok}async function k(T){return(await u.url("/tallies").get().json())[T]}async function Y(){return await u.url("/tallies").get().json()}async function ne(T){const K=await u.url(`/tallies/${T}`).delete().res();return ke.clearCache(),K.ok}async function Q(T,K){return await u.url(`/tallies/${encodeURIComponent(T)}/push`).post(K).json()}async function S(T){return n.products.get(T)}async function _(){return await Xt(!1)?await s.url("/profile").get().json():null}async function q(T){const K=await s.url("/profile").patch(T).res();return ke.clearCache(),K.ok}async function F(){return await s.url("/payment-issues").get().json()}async function Z(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function he(T){const K=await Xt(!1);if(!K)throw new Error("No access token available");const J=new URL(`${ft("access-sync",t.environment)}/spotify/sesamy-callback`);J.searchParams.set("access_token",K),J.searchParams.set("state",T),window.location.href=J.toString()}async function oe(T){const K=await s.url(`/products/${encodeURIComponent(T)}/auto-onboard`).post().json();return K.length&&ke.clearCache(),K}async function le(T,K=3600){const{shortlink:J}=await ke.wretch(ng).post({url:T,ttl:K}).json();return J}async function se(T){const K=await Xt(!1,!0);let J;const ae=T.language||hn(),me=Fn();switch(T.target){case"account":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}${T.contractId?`/${encodeURIComponent(T.contractId)}`:""}`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-payment":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/change-payment-method`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-plan":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/edit-plan`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"consume":J=new URL(`${ft("consume",t.environment)}/${encodeURIComponent(T.language||ae)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.sku)}`),T.episodeId?J.href+=`/${T.episodeId}`:J.href+="/listen",J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"checkout":J=ow(t,{language:ae,...T},me);break;default:throw new Error("Invalid target")}return K&&(J.hash=`#access_token=${K}`),T.shorten?le(J.href,T.ttl):J.href}async function _e(T){const K=Fn(),J=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(me=>{const ze=K,[M,ee]=me.trim().split("=");J.includes(M)&&!ze[M]&&(ze[M]=ee)}),(await u.url("/checkouts").post({language:hn(),...T,attribution:{...K,...T.attribution},vendorId:t.vendorId})).json()}async function xe(T,K){return(await u.url(`/checkouts/${T}`).patch(K)).json()}async function Ke(T){return(await u.url(`/checkouts/${T}`).get()).json()}async function Ce(T){return(await u.url(`/paywalls/${T}`).get()).json()}async function Ye(){return(await u.url("/vendor").get()).json()}async function dt(){return(await s.url("/vendors").get()).json()}async function ht(T){return(await s.url(`/contracts/${encodeURIComponent(T.contractId)}/amendments`).post({amendmentType:T.amendmentType,discountCode:T.discountCode})).json()}async function Rt(T){return await s.url(`/amendments/${encodeURIComponent(T)}/confirm`).post(),!0}async function _t(){const T=await Xt(!1),K=new URL(`${ft("account",t.environment)}/subscriptions/${t.clientId}`);T&&(K.hash=`#access_token=${T}`),window.location.href=K.toString()}return{autoOnboardProduct:oe,cancelContract:y,confirmAmendment:Rt,createAmendment:ht,createCheckout:_e,deleteTag:D,deleteTally:ne,deleteUserMetadata:z,generateLink:se,getBill:w,getBills:g,getCheckout:Ke,getProxyContent:d,getContract:P,getContracts:m,getEntitlement:f,getEntitlementAccess:h,getEntitlements:l,getFulfillments:v,requestDelivery:p,getPaywall:Ce,getPaymentIssues:F,getProfile:_,getProduct:S,getSubscriptions:b,getTally:k,getTallies:Y,getTags:j,getTransaction:x,getTransactions:A,getUserMetadata:ie,hasAccess:c,isSpotifyLinked:Z,linkSpotify:he,listUserMetadata:B,openHostedAccountPage:_t,pushTally:Q,setTag:L,setUserMetadata:N,unlinkSpotify:V,updateCheckout:xe,updateProfile:q,getVendorSettings:Ye,listVendors:dt}}const dw=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function hw(){return new Promise(t=>{const e=dw.map(r=>{const n=document.createElement("div");return n.innerHTML="&nbsp;",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function vw(){const t=navigator.userAgent.toLowerCase(),e=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}const Sv="sesamyFlags";async function Iv(t){try{localStorage.setItem(Sv,JSON.stringify(t))}catch{ve("Failed to save flags to localStorage")}}async function pw(t,e){const r=await Kn();r[t]=e,await Iv(r)}async function mw(t){return(await Kn())[t]}async function gw(t){const e=await Kn();t in e&&(delete e[t],await Iv(e))}async function Kn(){try{const t=localStorage.getItem(Sv);return t?JSON.parse(t):{}}catch{return{}}}function yw(t){const{autoOnboardProduct:e,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:l,getCheckout:c,getContract:f,getContracts:h,getEntitlement:d,getEntitlementAccess:v,getEntitlements:p,getFulfillments:m,getPaywall:P,getPaymentIssues:y,getProfile:b,getProduct:g,getProxyContent:w,getSubscriptions:A,getTags:x,getTally:N,getTallies:z,getTransaction:B,getTransactions:ie,getUserMetadata:j,getVendorSettings:D,listVendors:L,hasAccess:k,isSpotifyLinked:Y,linkSpotify:ne,listUserMetadata:Q,openHostedAccountPage:S,pushTally:_,requestDelivery:q,setTag:F,setUserMetadata:Z,unlinkSpotify:V,updateCheckout:he,updateProfile:oe}=fw(t),le={analytics:{track:uv},attribution:{get:Fn,set:bv},auth:{getUser:b,getTokenSilently:Xt,isAuthenticated:Gr,loginWithRedirect:Mn,loginWithPopup:hv,login:Yy,logout:js,setToken:Ns},bills:{get:u,list:l},browser:{detectAdblock:hw,isInAppBrowser:vw,isIncognito:as},checkouts:{create:n,get:c,update:he},clearCache:ke.clearCache,content:{list:Uy,get:_s,getLanguage:hn,unlock:jy,getPropertyFromHTML:ev},contracts:{cancel:r,get:f,list:h},entitlements:{access:v,get:d,hasAccess:k,list:p,signedLinks:xs},events:{emit:lv,cancel:Fy},flags:{get:mw,set:pw,list:Kn,delete:gw},fulfillments:{list:m,requestDelivery:q},generateLink:s,getPaymentIssues:y,getVersion:ww,isReady:()=>mt.isInitialized,log:ve,paywalls:{get:P},products:{autoOnboard:e,get:g,linkSpotify:ne},profile:{get:b,isSpotifyLinked:Y,openHostedAccountPage:S,unlinkSpotify:V,update:oe},proxy:{getContent:w},subscriptions:{list:A},tags:{delete:a,list:x,set:F},tallies:{delete:i,get:N,list:z,push:_},transactions:{get:B,list:ie},userMetadata:{delete:o,get:j,list:Q,set:Z},vendors:{get:D,list:L},setToken:Ns};return t.namespace&&(window[t.namespace]=le),le}function ww(){return Cn}function bw(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
36
36
  ${e.selector}::before {
37
37
  content: '';
38
38
  position: absolute;
@@ -6118,7 +6118,7 @@ function py() {
6118
6118
  };
6119
6119
  return iy(Rd(Rd({}, e), t));
6120
6120
  }
6121
- const Ds = "@sesamy/sesamy-js", Mn = "1.50.1";
6121
+ const Ds = "@sesamy/sesamy-js", Mn = "1.52.0";
6122
6122
  function my(t) {
6123
6123
  if (typeof window > "u") return;
6124
6124
  const { addEventListener: e, history: r, location: n } = window;
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "registry": "https://registry.npmjs.org/",
7
7
  "tag": "latest"
8
8
  },
9
- "version": "1.50.1",
9
+ "version": "1.52.0",
10
10
  "main": "dist/sesamy-js.cjs",
11
11
  "module": "dist/sesamy-js.mjs",
12
12
  "types": "dist/sesamy-js.d.ts",
@@ -29,6 +29,7 @@
29
29
  "@types/node": "^24.2.0",
30
30
  "@typescript-eslint/eslint-plugin": "^8.39.0",
31
31
  "@typescript-eslint/parser": "^8.39.0",
32
+ "dts-bundle-generator": "^9.5.1",
32
33
  "eslint": "9.x",
33
34
  "eslint-config-prettier": "^10.1.8",
34
35
  "eslint-plugin-compat": "^6.0.2",
@@ -41,6 +42,7 @@
41
42
  "typescript": "^5.6.0",
42
43
  "typescript-eslint": "^8.39.0",
43
44
  "vite": "^7.0.6",
45
+ "vite-plugin-dts": "^4.5.4",
44
46
  "vitest": "^3.2.4"
45
47
  },
46
48
  "dependencies": {
@@ -52,7 +54,7 @@
52
54
  "core-js": "^3.45.0",
53
55
  "detectincognitojs": "^1.6.0",
54
56
  "saturated": "^1.0.0",
55
- "@sesamy/sdk": "1.7.1"
57
+ "@sesamy/sdk": "1.9.0"
56
58
  },
57
59
  "peerDependencies": {
58
60
  "wretch": "^2.9.0"
@@ -60,8 +62,8 @@
60
62
  "scripts": {
61
63
  "dev": "vite",
62
64
  "test": "vitest",
63
- "build": "rimraf dist/**/* && tsc && vite build --config vite.config.ts",
64
- "build:prod": "rimraf dist/**/* && tsc && vite build",
65
+ "build": "rimraf dist/**/* && vite build",
66
+ "build:prod": "rimraf dist/**/* && vite build",
65
67
  "preview": "vite preview",
66
68
  "type-check": "tsc",
67
69
  "lint": "eslint src",