@sesamy/sesamy-js 1.66.0 → 1.68.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -14
- package/dist/sesamy-js.cjs +2 -2
- package/dist/sesamy-js.d.ts +473 -24
- package/dist/sesamy-js.iife.js +2 -2
- package/dist/sesamy-js.mjs +10 -23
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1851,13 +1851,10 @@ Checks if the current user has access to the specified article. This method inte
|
|
|
1851
1851
|
|
|
1852
1852
|
```js
|
|
1853
1853
|
// Check access for an article
|
|
1854
|
-
const
|
|
1854
|
+
const entitlement = await window.sesamy.content.hasAccess('.premium-article');
|
|
1855
1855
|
|
|
1856
|
-
if (
|
|
1857
|
-
console.log('User has access
|
|
1858
|
-
if (article.entitlement) {
|
|
1859
|
-
console.log('Via entitlement:', article.entitlement.id);
|
|
1860
|
-
}
|
|
1856
|
+
if (entitlement) {
|
|
1857
|
+
console.log('User has access via entitlement:', entitlement.id);
|
|
1861
1858
|
// Show premium content
|
|
1862
1859
|
} else {
|
|
1863
1860
|
console.log('User does not have access');
|
|
@@ -1867,20 +1864,19 @@ if (article.hasAccess) {
|
|
|
1867
1864
|
// Use with async/await
|
|
1868
1865
|
async function checkArticleAccess() {
|
|
1869
1866
|
try {
|
|
1870
|
-
const
|
|
1867
|
+
const entitlement = await window.sesamy.content.hasAccess('article#main');
|
|
1871
1868
|
|
|
1872
|
-
if (
|
|
1869
|
+
if (entitlement) {
|
|
1873
1870
|
// Unlock or display content
|
|
1874
|
-
console.log('Access granted
|
|
1871
|
+
console.log('Access granted');
|
|
1875
1872
|
|
|
1876
1873
|
// Access entitlement details if available
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
console.log('Entitlement SKU:', article.entitlement.sku);
|
|
1880
|
-
}
|
|
1874
|
+
console.log('Entitlement type:', entitlement.type);
|
|
1875
|
+
console.log('Entitlement SKU:', entitlement.sku);
|
|
1881
1876
|
} else {
|
|
1882
1877
|
// Redirect to paywall
|
|
1883
|
-
|
|
1878
|
+
const article = window.sesamy.content.get('article#main');
|
|
1879
|
+
console.log('Access denied, redirect to:', article.paywallUrl);
|
|
1884
1880
|
}
|
|
1885
1881
|
} catch (error) {
|
|
1886
1882
|
console.error('Error checking access:', error);
|
package/dist/sesamy-js.cjs
CHANGED
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
* Please keep this comment intact in order to properly abide by the MIT License.
|
|
33
33
|
*
|
|
34
34
|
**/var ds={d:(t,e)=>{for(var r in e)ds.o(e,r)&&!ds.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},Hs={};ds.d(Hs,{A:()=>Ug,k:()=>Bs});var jr=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())})},Nr=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 Bs(){return jr(this,void 0,Promise,function(){return Nr(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 jr(this,void 0,void 0,function(){var h,d;return Nr(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 jr(this,void 0,Promise,function(){return Nr(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(g){var P=g.target.result,w=function(y){i(y)};try{P.createObjectStore("t",{autoIncrement:!0}).put(new Blob),w(!1)}catch(y){(y instanceof Error&&typeof y.message=="string"?y.message:String(y)).includes("are not yet supported")?w(!0):w(!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 g,P,w,y=window;return(w=(P=(g=y?.performance)===null||g===void 0?void 0:g.memory)===null||P===void 0?void 0:P.jsHeapSizeLimit)!==null&&w!==void 0?w: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 jr(this,void 0,Promise,function(){var d,v,p;return Nr(this,function(g){switch(g.label){case 0:if(typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function")return[3,5];g.label=1;case 1:return g.trys.push([1,3,,4]),[4,navigator.storage.getDirectory()];case 2:return g.sent(),i(!1),[3,4];case 3:return d=g.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)},g.label=6;case 6:return[2]}})})}(function(){return jr(this,void 0,Promise,function(){return Nr(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=Bs);const Ug=Bs;Hs.A;const $g=Hs.k,gn="sesamy_incognito_mode";function Gs(){try{const t=sessionStorage.getItem(gn);return t===null?void 0:t==="true"}catch{return}}async function Lg(){try{const t=sessionStorage.getItem(gn);if(t!==null)return t==="true";const{isPrivate:e}=await $g();return sessionStorage.setItem(gn,e.toString()),e}catch{try{sessionStorage.setItem(gn,"false")}catch{}return!1}}function Jr(){return typeof window<"u"}function yd(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 qg="function",jg="string",tt="undefined",Ng="boolean",Pn="object",xg="array",Dg="number",Mg="symbol",Fg="null",hs=function(){},Pv="any",Ev="*",Vt="__",Kg="form",zg="input",Hg="button",Bg="select",En=typeof process!==tt?process:{};En.env&&En.env.NODE_ENV;var Ce=typeof document!==tt;En.versions!=null&&En.versions.node!=null;typeof Deno!==tt&&Deno.core;Ce&&window.name==="nodejs"||typeof navigator!==tt&&typeof navigator.userAgent!==tt&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function kv(t,e){return e.charAt(0)[t]()+e.slice(1)}var Gg=kv.bind(null,"toUpperCase"),Wg=kv.bind(null,"toLowerCase");function Vg(t){return _v(t)?Gg(Fg):typeof t===Pn?Xg(t):Object.prototype.toString.call(t).slice(8,-1)}function kn(t,e){e===void 0&&(e=!0);var r=Vg(t);return e?Wg(r):r}function an(t,e){return typeof e===t}var ze=an.bind(null,qg),_t=an.bind(null,jg),fr=an.bind(null,tt),Jg=an.bind(null,Ng);an.bind(null,Mg);function _v(t){return t===null}function Zg(t){return kn(t)===Dg&&!isNaN(t)}function Tv(t){return kn(t)===xg}function Ke(t){if(!Yg(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Yg(t){return t&&(typeof t===Pn||t!==null)}function Xg(t){return ze(t.constructor)?t.constructor.name:null}function Qg(t){return t instanceof Error||_t(t.message)&&t.constructor&&Zg(t.constructor.stackTraceLimit)}function Rv(t,e){if(typeof e!="object"||_v(e))return!1;if(e instanceof t)return!0;var r=kn(new t(""));if(Qg(e))for(;e;){if(kn(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}Rv.bind(null,TypeError);Rv.bind(null,SyntaxError);function Gn(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?ey(t,e):r}function ey(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(Gn,Kg);Wn(Gn,Hg);Wn(Gn,zg);Wn(Gn,Bg);function ty(t){return t?Tv(t)?t:[t]:[]}function wd(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function ry(){if(Ce){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function ny(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function ay(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=wd(r[1]),o=wd(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&&(iy(n,l.map(function(c){return c.replace(/[?[\]\\ ]/g,"")}),n[u]),delete n[u])}return n})((function(e){return Ce&&window.location.search.substring(1)})())}function iy(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 Vn(){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 oy(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 Ft="global",yr=Vt+Ft+Vt,wr=typeof self===Pn&&self.self===self&&self||typeof global===Pn&&global[Ft]===global&&global||void 0;function Jt(t){return wr[yr][t]}function Zt(t,e){return wr[yr][t]=e}function Or(t){delete wr[yr][t]}function Cr(t,e,r){var n;try{if(Ws(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}wr[yr]||(wr[yr]={});var un={};function Ws(t){if(typeof un[t]!==tt)return un[t];try{var e=window[t];e.setItem(tt,tt),e.removeItem(tt)}catch{return un[t]=!1}return un[t]=!0}function ee(){return ee=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},ee.apply(null,arguments)}var Et="function",vt="undefined",Gr="reducer",Ov="@@redux/",vs=Ov+"INIT",sy=Ov+Math.random().toString(36),bd=(function(){return typeof Symbol===Et&&Symbol.observable||"@@observable"})(),ln=" != "+Et;function Cv(t,e,r){var n;if(typeof e===Et&&typeof r===vt&&(r=e,e=void 0),typeof r!==vt){if(typeof r!==Et)throw new Error("enhancer"+ln);return r(Cv)(t,e)}if(typeof t!==Et)throw new Error(Gr+ln);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!==Et)throw new Error("Listener"+ln);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(!Ke(d))throw new Error("Act != obj");if(typeof d.type===vt)throw new Error("ActType "+vt);if(u)throw new Error("Dispatch in "+Gr);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:vs}),(n={dispatch:h,subscribe:f,getState:c,replaceReducer:function(d){if(typeof d!==Et)throw new Error("next "+Gr+ln);a=d,h({type:vs})}})[bd]=function(){var d,v=f;return(d={subscribe:function(p){if(typeof p!="object")throw new TypeError("Observer != obj");function g(){p.next&&p.next(c())}return g(),{unsubscribe:v(g)}}})[bd]=function(){return this},d},n}function cy(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+Gr+" "+t+" returns "+vt}function br(){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 uy(){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)}),ee({},o,{dispatch:s=br.apply(void 0,i)(o.dispatch)})}}}var Tt=Vt+"anon_id",Kt=Vt+"user_id",hr=Vt+"user_traits",ps="analytics",Pt="userId",dr="anonymousId",yn=["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"],ms=["name","EVENTS","config","loaded"],Q=yn.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),Sd=/^utm_/,Id=/^an_prop_/,Pd=/^an_trait_/;function ly(t){var e=t.storage.setItem;return function(r){return function(n){return function(a){if(a.type===Q.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,l=s.userId===o.userId;s.anonymousId!==o.anonymousId&&e(Tt,o.anonymousId),l||e(Kt,o.userId),u.traits&&e(hr,ee({},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(Sd)||p.match(/^(d|g)clid/)){var g=p.replace(Sd,"");v.campaign[g==="campaign"?"name":g]=i[p]}return p.match(Id)&&(v.props[p.replace(Id,"")]=i[p]),p.match(Pd)&&(v.traits[p.replace(Pd,"")]=i[p]),v},{campaign:{},props:{},traits:{}});r.dispatch(ee({type:Q.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:Q.campaign,campaign:d.campaign})}}return n(a)}}}}function fy(t){return function(e,r){if(e===void 0&&(e={}),r===void 0&&(r={}),r.type===Q.setItemEnd){if(r.key===Tt)return ee({},e,{anonymousId:r.value});if(r.key===Kt)return ee({},e,{userId:r.value})}switch(r.type){case Q.identify:return Object.assign({},e,{userId:r.userId,traits:ee({},e.traits,r.traits)});case Q.reset:return[Kt,Tt,hr].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function Ed(t){return{userId:t.getItem(Kt),anonymousId:t.getItem(Tt),traits:t.getItem(hr)}}var gs=function(t){return Vt+"TEMP"+Vt+t};function dy(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===Q.reset&&([Kt,hr,Tt].forEach(function(d){n(d)}),[Pt,dr,"traits"].forEach(function(d){Or(gs(d))})),s.type===Q.identify){a(Tt)||r(Tt,Vn());var f=a(Kt),h=a(hr)||{};f&&f!==u&&i.dispatch({type:Q.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(Kt,u),l&&r(hr,ee({},h,l))}return o(s)}}}}var Fr={};function kd(t,e){Fr[t]&&ze(Fr[t])&&(Fr[t](e),delete Fr[t])}function Av(t,e,r){return new Promise(function(n,a){return e()?n(t):r<1?a(ee({},t,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return Av(t,e,r-10).then(n,a)})})}function hy(t){return{abort:t}}function Uv(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&&ze(p)){var g,P=(function(m,b){return m===void 0&&(m={}),b===void 0&&(b={}),[Pt,dr].reduce(function(R,A){return m.hasOwnProperty(A)&&b[A]&&b[A]!==m[A]&&(R[A]=b[A]),R},m)})(h.payload,u),w=n[P.meta.rid];if(!w&&(g=p({payload:P,config:o[d].config,instance:r,abort:hy}))&&Ke(g)&&g.abort)return void(n[P.meta.rid]=!0);if(!w){var y=v+":"+d;t.dispatch(ee({},P,{type:y,_:{called:y,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var Vo=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(vr),d=e.exact.map(function(g){return g.pluginName});h&&(d=o.during.map(function(g){return g.pluginName}));var v=(function(g,P){return function(w,y,m){var b=y.config,R=y.name,A=R+"."+w.type;m&&(A=m.event);var j=w.type.match(vr)?(function(z,V,te,L,M){return function(N,S){var O=L?L.name:z,q=S&&Zr(S)?S:te;if(L&&(!(q=S&&Zr(S)?S:[z]).includes(z)||q.length!==1))throw new Error("Method "+V+" can only abort "+z+" plugin. "+JSON.stringify(q)+" input valid");return ee({},M,{abort:{reason:N,plugins:q,caller:V,_:O}})}})(R,A,P,m,w):(function(z,V){return function(){throw new Error(z.type+" action not cancellable. Remove abort in "+V)}})(w,A);return{payload:vy(w),instance:g,config:b||{},abort:j}}})(n,d),p=e.exact.reduce(function(g,P){var w=P.pluginName,y=P.methodName,m=!1;return y.match(/^initialize/)||y.match(/^reset/)||(m=!l[w].loaded),c.offline&&y.match(/^(page|track|identify)/)&&(m=!0),g[""+w]=m,g},{});return Promise.resolve(e.exact.reduce(function(g,P,w){var y=P.pluginName;return Promise.resolve(g).then(function(m){function b(){return Promise.resolve(m)}var R=(function(){if(e.namespaced&&e.namespaced[y])return Promise.resolve(e.namespaced[y].reduce(function(A,j,z){return Promise.resolve(A).then(function(V){return j.method&&ze(j.method)?((function(N,S){var O=Ud(N);if(O&&O.name===S){var q=Ud(O.method);throw new Error([S+" plugin is calling method "+N,"Plugins cant call self","Use "+O.method+" "+(q?"or "+q.method:"")+" in "+S+" plugin insteadof "+N].join(`
|
|
35
|
-
`))}})(j.methodName,j.pluginName),Promise.resolve(j.method({payload:V,instance:n,abort:(te=V,L=y,M=j.pluginName,function(N,S){return ee({},te,{abort:{reason:N,plugins:S||[L],caller:f,from:M||L}})}),config:Rd(j.pluginName,l,i),plugins:l})).then(function(N){var S=Ke(N)?N:{};return Promise.resolve(ee({},V,S))})):V;var te,L,M})},Promise.resolve(r))).then(function(A){m[y]=A});m[y]=r})();return R&&R.then?R.then(b):b()})},Promise.resolve({}))).then(function(g){return Promise.resolve(e.exact.reduce(function(P,w,y){try{var m=e.exact.length===y+1,b=w.pluginName,R=i[b];return Promise.resolve(P).then(function(A){var j=g[b]?g[b]:{};if(h&&(j=A),Zo(j,b))return Jo({data:j,method:f,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(Zo(A,b))return m&&Jo({data:A,method:f,instance:n,store:s}),Promise.resolve(A);if(p.hasOwnProperty(b)&&p[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:j,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var z=v(g[b],i[b]);return Promise.resolve(R[f]({abort:z.abort,payload:j,instance:n,config:Rd(b,l,i),plugins:l})).then(function(V){var te=Ke(V)?V:{},L=ee({},A,te),M=g[b];if(Zo(M,b))Jo({data:M,method:f,instance:n,pluginName:b,store:s});else{var N=f+":"+b;(N.match(/:/g)||[]).length<2&&!f.match(_d)&&!f.match(Td)&&n.dispatch(ee({},h?L:j,{type:N,_:{called:N,from:"submethod"}}))}return Promise.resolve(L)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(P){if(!(f.match(vr)||f.match(/^registerPlugin/)||f.match(Td)||f.match(_d)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var w=ee({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});$v(P,e.exact.length)&&!f.match(/End$/)&&(w=ee({},w,{type:P.type+"Aborted"})),s.dispatch(w)}return P})})}catch(g){return Promise.reject(g)}},vr=/Start$/,_d=/^bootstrap/,Td=/^ready/;function Jo(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ee({},t.data,{type:r,_:{called:r,from:"abort"}}))}function Rd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function Od(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function Cd(t,e){var r=t.replace(vr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function Zo(t,e){var r=t.abort;return!!r&&(r===!0||Ad(r,e)||r&&Ad(r.plugins,e))}function $v(t,e){var r=t.abort;if(!r)return!1;if(r===!0||_t(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 Ad(t,e){return!(!t||!Zr(t))&&t.includes(e)}function Ud(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function vy(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ke(t[r])?Object.assign({},t[r]):t[r]),e},{})}function py(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(m){return s?m:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===Q.enablePlugin&&a.dispatch({type:Q.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===Q.disablePlugin&&setTimeout(function(){return kd(o.meta.rid,{payload:o})},0),l===Q.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(m){return c.includes(m)}).map(function(m){return h[m]}),p=[],g=[],P=o.disabled,w=v.map(function(m){var b=m.loaded,R=m.name,A=m.config;return Av(m,function(){return b({config:A})},1e4).then(function(j){return n[R]||(a.dispatch({type:Q.pluginReadyType(R),name:R,events:Object.keys(m).filter(function(z){return!ms.includes(z)})}),n[R]=!0),p=p.concat(R),m}).catch(function(j){if(j instanceof Error)throw new Error(j);return g=g.concat(j.name),j})});Promise.all(w).then(function(m){var b={plugins:p,failed:g,disabled:P};setTimeout(function(){d.length===w.length+P.length&&a.dispatch(ee({},{type:Q.ready},b))},0)})}var y=(function(){if(l!==Q.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return Uv(a,e,t)},0),Promise.resolve((function(m,b,R,A,j){try{var z=ze(b)?b():b,V=m.type,te=V.replace(vr,"");if(m._&&m._.called)return Promise.resolve(m);var L=R.getState(),M=(O=z,(q=L.plugins)===void 0&&(q={}),(F=m.options)===void 0&&(F={}),Object.keys(O).filter(function(I){var _=F.plugins||{};return Jg(_[I])?_[I]:_.all!==!1&&(!q[I]||q[I].enabled!==!1)}).map(function(I){return O[I]}));V===Q.initializeStart&&m.fromEnable&&(M=Object.keys(L.plugins).filter(function(I){var _=L.plugins[I];return m.plugins.includes(I)&&!_.initialized}).map(function(I){return z[I]}));var N=M.map(function(I){return I.name}),S=(function(I,_){var x=Cd(I).map(function(H){return Od(H,_)});return _.reduce(function(H,Y){var J=Y.name,fe=Cd(I,J).map(function(ke){return Od(ke,_)}),ne=fe[0],ce=fe[1],ae=fe[2];return ne.length&&(H.beforeNS[J]=ne),ce.length&&(H.duringNS[J]=ce),ae.length&&(H.afterNS[J]=ae),H},{before:x[0],beforeNS:{},during:x[1],duringNS:{},after:x[2],afterNS:{}})})(V,M);return Promise.resolve(Vo({action:m,data:{exact:S.before,namespaced:S.beforeNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(I){function _(){var Y=(function(){if(V.match(vr))return Promise.resolve(Vo({action:ee({},x,{type:te+"End"}),data:{exact:S.after,namespaced:S.afterNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(J){J.meta&&J.meta.hasCallback&&kd(J.meta.rid,{payload:J})})})();return Y&&Y.then?Y.then(function(){return I}):I}if($v(I,N.length))return I;var x,H=(function(){if(V!==te)return Promise.resolve(Vo({action:ee({},I,{type:te}),data:{exact:S.during,namespaced:S.duringNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(Y){x=Y});x=I})();return H&&H.then?H.then(_):_()})}catch(I){return Promise.reject(I)}var O,q,F})(o,e,t,a,r)).then(function(m){var b=i(m);return s=1,b})})();return Promise.resolve(y&&y.then?y.then(u):u(y))}catch(m){return Promise.reject(m)}}}}}function my(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===Q.setItem||a===Q.removeItem){if(n.abort)return r(n);a===Q.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var gy=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 br.apply(void 0,o)(n)(a)}}}}};function yy(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=$d(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},ee({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=$d(r.type,Q.initialize),l=t()[u];return l&&u?(n[u]=ee({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),ee({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=ee({},e[r.name],{loaded:!0}),ee({},e,n);switch(r.type){case Q.disablePlugin:return ee({},e,Ld(r.plugins,!1,e));case Q.enablePlugin:return ee({},e,Ld(r.plugins,!0,e));default:return e}}}function $d(t,e){return t.substring(e.length+1,t.length)}function Ld(t,e,r){return t.reduce(function(n,a){return n[a]=ee({},r[a],{enabled:e}),n},r)}function Lv(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var wy={last:{},history:[]};function by(t,e){t===void 0&&(t=wy);var r=e.options,n=e.meta;if(e.type===Q.track){var a=Lv(ee({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return ee({},t,{last:a,history:t.history.concat(a)})}return t}var Sy={actions:[]};function Iy(t,e){t===void 0&&(t=Sy);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===Q.identify?[e].concat(t.actions):t.actions.concat(e),ee({},t,{actions:n});case"dequeue":return[];default:return t}}var qv=/#.*$/;function Py(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(qv,""):"")}var jv,Nv,xv,Dv,Ey=function(t){if(t===void 0&&(t={}),!Ce)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(Ce){for(var v,p=document.getElementsByTagName("link"),g=0;v=p[g];g++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(qv,"")})(l),f={title:r,url:c,path:Py(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ee({},f,t)},ky={last:{},history:[]};function _y(t,e){t===void 0&&(t=ky);var r=e.options;if(e.type===Q.page){var n=Lv(ee({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return ee({},t,{last:n,history:t.history.concat(n)})}return t}jv=(function(){if(!Ce)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"})(),Nv=Ce?document.referrer:null,xv=ry(),Dv=ny();var qd={initialized:!1,sessionId:Vn(),app:null,version:null,debug:!1,offline:!!Ce&&!navigator.onLine,os:{name:jv},userAgent:Ce?navigator.userAgent:"node",library:{name:ps,version:"0.13.1"},timezone:Dv,locale:xv,campaign:{},referrer:Nv};function Ty(t,e){t===void 0&&(t=qd);var r=t.initialized,n=e.campaign;switch(e.type){case Q.campaign:return ee({},t,{campaign:n});case Q.offline:return ee({},t,{offline:!0});case Q.online:return ee({},t,{offline:!1});default:return r?t:ee({},qd,t,{initialized:!0})}}var Ry=["plugins","reducers","storage"];function Oy(t,e,r){if(Ce){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function Cy(t){var e=Oy.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function Mv(){return Zt(ps,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return wr[yr][ps].push(o.action||o),i(o)}})}}}function jd(t){return function(){return br(br.apply(null,arguments),Mv())}}function Yo(t){return t?Tv(t)?t:[t]:[]}function Nd(t,e,r){t===void 0&&(t={});var n,a,i=Vn();return e&&(Fr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(ze(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),ee({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function Ay(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(I,_){if(ze(_))return I.middlewares=I.middlewares.concat(_),I;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var x=_.EVENTS?Object.keys(_.EVENTS).map(function(J){return _.EVENTS[J]}):[];I.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(I.methods[_.name]=Object.keys(_.methods).reduce(function(J,fe){var ne;return J[fe]=(ne=_.methods[fe],function(){for(var ce=Array.prototype.slice.call(arguments),ae=new Array(ne.length),ke=0;ke<ce.length;ke++)ae[ke]=ce[ke];return ae[ae.length]=b,ne.apply({instance:b},ae)}),J},{}),delete _.methods);var H=Object.keys(_).concat(x),Y=new Set(I.events.concat(H));if(I.events=Array.from(Y),I.pluginsArray=I.pluginsArray.concat(_),I.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return I.plugins[_.name]=_,I.plugins[_.name].loaded||(I.plugins[_.name].loaded=function(){return!0}),I},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Jt,setItem:Zt,removeItem:Or},i=(function(I){return function(_,x,H){return x.getState("user")[_]||(H&&Ke(H)&&H[_]?H[_]:Ed(I)[_]||Jt(gs(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(I){return!ms.includes(I)}).sort(),u=new Set(s.concat(yn).filter(function(I){return!ms.includes(I)})),l=Array.from(u).sort(),c=function(){return o},f=new gy,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},g=ay(),P=Ed(a),w=ee({},P,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});w.anonymousId||(w.anonymousId=Vn());var y=ee({enable:function(I,_){return new Promise(function(x){S.dispatch({type:Q.enablePlugin,plugins:Yo(I),_:{originalAction:Q.enablePlugin}},x,[_])})},disable:function(I,_){return new Promise(function(x){S.dispatch({type:Q.disablePlugin,plugins:Yo(I),_:{originalAction:Q.disablePlugin}},x,[_])})}},n.methods),m=!1,b={identify:function(I,_,x,H){try{var Y=_t(I)?I:null,J=Ke(I)?I:_,fe=x||{},ne=b.user();Zt(gs(Pt),Y);var ce=Y||J.userId||i(Pt,b,J);return Promise.resolve(new Promise(function(ae){S.dispatch(ee({type:Q.identifyStart,userId:ce,traits:J||{},options:fe,anonymousId:ne.anonymousId},ne.id&&ne.id!==Y&&{previousId:ne.id}),ae,[_,x,H])}))}catch(ae){return Promise.reject(ae)}},track:function(I,_,x,H){try{var Y=Ke(I)?I.event:I;if(!Y||!_t(Y))throw new Error("EventMissing");var J=Ke(I)?I:_||{},fe=Ke(x)?x:{};return Promise.resolve(new Promise(function(ne){S.dispatch({type:Q.trackStart,event:Y,properties:J,options:fe,userId:i(Pt,b,_),anonymousId:i(dr,b,_)},ne,[_,x,H])}))}catch(ne){return Promise.reject(ne)}},page:function(I,_,x){try{var H=Ke(I)?I:{},Y=Ke(_)?_:{};return Promise.resolve(new Promise(function(J){S.dispatch({type:Q.pageStart,properties:Ey(H),options:Y,userId:i(Pt,b,H),anonymousId:i(dr,b,H)},J,[I,_,x])}))}catch(J){return Promise.reject(J)}},user:function(I){if(I===Pt||I==="id")return i(Pt,b);if(I===dr||I==="anonId")return i(dr,b);var _=b.getState("user");return I?yd(_,I):_},reset:function(I){return new Promise(function(_){S.dispatch({type:Q.resetStart},_,I)})},ready:function(I){return m&&I({plugins:y,instance:b}),b.on(Q.ready,function(_){I&&I(_),m=!0})},on:function(I,_){if(!I||!ze(_))return!1;if(I===Q.bootstrap)throw new Error(".on disabled for "+I);var x=/Start$|Start:/;if(I==="*"){var H=function(ne){return function(ce){return function(ae){return ae.type.match(x)&&_({payload:ae,instance:b,plugins:o}),ce(ae)}}},Y=function(ne){return function(ce){return function(ae){return ae.type.match(x)||_({payload:ae,instance:b,plugins:o}),ce(ae)}}};return h(H,fn),h(Y,dn),function(){d(H,fn),d(Y,dn)}}var J=I.match(x)?fn:dn,fe=function(ne){return function(ce){return function(ae){return ae.type===I&&_({payload:ae,instance:b,plugins:o,abort:p}),ce(ae)}}};return h(fe,J),function(){return d(fe,J)}},once:function(I,_){if(!I||!ze(_))return!1;if(I===Q.bootstrap)throw new Error(".once disabled for "+I);var x=b.on(I,function(H){_({payload:H.payload,instance:b,plugins:o,abort:p}),x()});return x},getState:function(I){var _=S.getState();return I?yd(_,I):Object.assign({},_)},dispatch:function(I){var _=_t(I)?{type:I}:I;if(yn.includes(_.type))throw new Error("reserved action "+_.type);var x=ee({},_,{_:ee({originalAction:_.type},I._||{})});S.dispatch(x)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(I,_,x){S.dispatch({type:Q.setItemStart,key:I,value:_,options:x})},removeItem:function(I,_){S.dispatch({type:Q.removeItemStart,key:I,options:_})}},setAnonymousId:function(I,_){b.storage.setItem(Tt,I,_)},events:{core:yn,plugins:s}},R=n.middlewares.concat([function(I){return function(_){return function(x){return x.meta||(x.meta=Nd()),_(x)}}},v(fn),py(b,c,{all:l,plugins:s}),my(a),ly(b),dy(b),v(dn)]),A={context:Ty,user:fy(a),page:_y,track:by,plugins:yy(c),queue:Iy},j=br,z=br;if(Ce&&t.debug){var V=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;V&&(j=V({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?Mv():Ke(typeof arguments[0])?jd():jd().apply(null,arguments)}}var te,L=(function(I){return Object.keys(I).reduce(function(_,x){return Ry.includes(x)||(_[x]=I[x]),_},{})})(t),M=n.pluginsArray.reduce(function(I,_){var x=_.name,H=_.config,Y=_.loaded,J=n.pluginEnabled[x];return I[x]={enabled:J,initialized:!!J&&!_.initialize,loaded:!!Y({config:H}),config:H},I},{}),N={context:L,user:w,plugins:M},S=Cv((function(I){for(var _=Object.keys(I),x={},H=0;H<_.length;H++){var Y=_[H];typeof I[Y]===Et&&(x[Y]=I[Y])}var J,fe=Object.keys(x);try{(function(ne){Object.keys(ne).forEach(function(ce){var ae=ne[ce];if(typeof ae(void 0,{type:vs})===vt||typeof ae(void 0,{type:sy})===vt)throw new Error(Gr+" "+ce+" "+vt)})})(x)}catch(ne){J=ne}return function(ne,ce){if(ne===void 0&&(ne={}),J)throw J;for(var ae=!1,ke={},Ne=0;Ne<fe.length;Ne++){var De=fe[Ne],Le=ne[De],Qe=(0,x[De])(Le,ce);if(typeof Qe===vt){var St=cy(De,ce);throw new Error(St)}ke[De]=Qe,ae=ae||Qe!==Le}return ae?ke:ne}})(ee({},A,e)),N,z(j(uy.apply(void 0,R))));S.dispatch=(te=S.dispatch,function(I,_,x){var H=ee({},I,{meta:Nd(I.meta,_,Yo(x))});return te.apply(null,[H])});var O=Object.keys(o);S.dispatch({type:Q.bootstrap,plugins:O,config:L,params:g,user:w,initialUser:r,persistedUser:P});var q=O.filter(function(I){return n.pluginEnabled[I]}),F=O.filter(function(I){return!n.pluginEnabled[I]});return S.dispatch({type:Q.registerPlugins,plugins:O,enabled:n.pluginEnabled}),n.pluginsArray.map(function(I,_){var x=I.bootstrap,H=I.config,Y=I.name;x&&ze(x)&&x({instance:b,config:H,payload:I}),S.dispatch({type:Q.registerPluginType(Y),name:Y,enabled:n.pluginEnabled[Y],plugin:I}),n.pluginsArray.length===_+1&&S.dispatch({type:Q.initializeStart,plugins:q,disabled:F})}),Cy(function(I){S.dispatch({type:I?Q.offline:Q.online})}),(function(I,_,x){setInterval(function(){return Uv(I,_,x)},3e3)})(S,c,b),b}var fn="before",dn="after",zt="cookie",xt=zv(),Fv=Jn,Uy=Jn;function Kv(t){return xt?Jn(t,"",-1):Or(t)}function zv(){if(xt!==void 0)return xt;var t=zt+zt;try{Jn(t,t),xt=document.cookie.indexOf(t)!==-1,Kv(t)}catch{xt=!1}return xt}function Jn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return xt===!1&&(o?Zt(t,e):Jt(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 mt="localStorage",$y=Ws.bind(null,mt);Cr(mt,"getItem",Jt);Cr(mt,"setItem",Zt);Cr(mt,"removeItem",Or);var gt="sessionStorage",Ly=Ws.bind(null,gt);Cr(gt,"getItem",Jt);Cr(gt,"setItem",Zt);Cr(gt,"removeItem",Or);function pr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ke(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var qy=$y(),jy=Ly(),Ny=zv();function Ht(t,e){if(t){var r=Vs(e),n=!Xs(r),a=Js(r)?pr(localStorage.getItem(t)):void 0;if(n&&!fr(a))return a;var i=Zs(r)?pr(Fv(t)):void 0;if(n&&i)return i;var o=Ys(r)?pr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Jt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function _n(t,e,r){if(t&&!fr(e)){var n={},a=Vs(r),i=JSON.stringify(e),o=!Xs(a);return Js(a)&&(n[mt]=hn(mt,e,pr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[mt]:Zs(a)&&(n[zt]=hn(zt,e,pr(Fv(t))),Uy(t,i),o)?n[zt]:Ys(a)&&(n[gt]=hn(gt,e,pr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[gt]:(n[Ft]=hn(Ft,e,Jt(t)),Zt(t,e),o?n[Ft]:n)}}function xy(t,e){if(t){var r=Vs(e),n=Ht(t,Ev),a={};return!fr(n.localStorage)&&Js(r)&&(localStorage.removeItem(t),a[mt]=n.localStorage),!fr(n.cookie)&&Zs(r)&&(Kv(t),a[zt]=n.cookie),!fr(n.sessionStorage)&&Ys(r)&&(sessionStorage.removeItem(t),a[gt]=n.sessionStorage),!fr(n.global)&&Zn(r,Ft)&&(Or(t),a[Ft]=n.global),a}}function Vs(t){return t?_t(t)?t:t.storage:Pv}function Js(t){return qy&&Zn(t,mt)}function Zs(t){return Ny&&Zn(t,zt)}function Ys(t){return jy&&Zn(t,gt)}function Xs(t){return t===Ev||t==="all"}function Zn(t,e){return t===Pv||t===e||Xs(t)}function hn(t,e,r){return{location:t,current:e,previous:r}}var Dy={setItem:_n,getItem:Ht,removeItem:xy};function My(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function xd(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 Dd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?xd(Object(r),!0).forEach(function(n){My(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):xd(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Fy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:Dy};return Ay(Dd(Dd({},e),t))}const Qs="@sesamy/sesamy-js",Yn="1.66.0";function Ky(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=Hy(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function zy(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function Hy(t){return["#","?"].forEach(e=>t=zy(t,e)),t}function By(){Ky(()=>{dt.page()})}var Xo="up",Qo="down";function Gy(t){if(t===void 0&&(t={}),!Ce)return hs;var e=Fd(),r=ys(),n=Md(),a=vn(n,e),i=vn(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return hs;var d=h.map(function(p){return Number(p)}),v=oy(function(){var p=Fd(),g=(function(L,M){return M.map(function(N){return N===100?L-5:L*(N/100)})})(p,d),P=ys(),w=Md(),y=vn(w,p),m=vn(P,p);if(c=y>c?y:c,f=m<f?m:f,!(o.length>=d.length)){var b=l===w,R=Xo;b?R="initial":l<=w&&(R=Qo);var A=g,j=d;(R===Xo||b)&&(A=g.slice().reverse(),j=d.slice().reverse());var z=j.reduce(function(L,M,N){var S=A[N];return u.includes(M)&&w<=S&&(u=u.filter(function(O){return O!==M}),L.singleFunction=M),R===Qo&&!o.includes(M)&&w>=S&&M>i?(s.push(M),L.callbacks=L.callbacks.concat(M),L):R===Xo&&!o.includes(M)&&w<=S&&M<=y?(L.foundFunc=[M],L):(b&&w>=S&&L.foundFunc.length===0&&(L.foundFunc=[M]),!s.includes(M)&&w>=S&&(s.push(M),L.singleFunction?u.push(M):L.singleFunction=M),L)},{foundFunc:[],singleFunction:null,callbacks:[],direction:R});if(l=w,R===Qo&&z.callbacks&&z.callbacks.forEach(function(L){ze(t[L])&&(t[L]({trigger:L,direction:R,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(L))}),z.singleFunction){var V=z.singleFunction,te=z.direction;ze(t[V])&&t[V]({trigger:V,direction:te,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(V)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function ys(){return Ce?document.body.scrollTop||document.documentElement.scrollTop:0}function Wy(){return Ce?window.innerHeight||document.documentElement.clientHeight:0}function Md(){return Math.round(ys()+Wy())}function Fd(){if(!Ce)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function vn(t,e){return Math.round(t/e*100)}var ec="Event",Kd=ec+"Listener";function Vy(t){return function(e,r,n,a){var i=n||hs,o=a||!1;if(!Ce)return i;var s=Tn(r),u=Tn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+ec);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+Kd:"remove"+Kd,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Jy(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 Tn(t,e){if(_t(t))return e?Tn(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=ty(t);return e?i.map(function(o){return _t(o)?Tn(o,!0):o}).flat():i}function Jy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var es=Vy(ec);function Hv(t,e){return Ce&&ze(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),ze(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Hv.bind(null,"onerror");Hv.bind(null,"onload");var Bv=typeof window>"u",zd="hidden";function Zy(t){if(Bv)return!1;var e=Yy(),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 Yy(){var t=["webkit","moz","ms","o"];return Bv||zd in document?zd:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Xy=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Qy(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=Zy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Xy.map(function(s){return es(document,s,r)})).concat(es(window,"load",r)).concat(es(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function ew(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(g){d(),i&&!c&&i(xr(h),g),a&&c&&(c=!1,a(xr(r),g),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(xr(h),g))},s)}var p=Qy(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var g=p();return function(){return f=!1,h=new Date,v({type:"load"}),g()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:xr(h,f),idle:c?xr(r,f):0}}}}function xr(t,e){return e?0:Math.round((new Date-t)/1e3)}const Hd=5e3;class tw{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),ew({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:Hd}),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*Hd: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 Gv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function rw(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 Bd="sesamy_session_id";function nw(){let t=sessionStorage.getItem(Bd);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Bd,t)),t}function Wv(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)}function aw(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}let Fe={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"},paywallUrl:{selector:"sesamy-article",attribute:"paywall-url"}},Vv=[],Jv=!1,Bt;function Zv(){const t=window.location.pathname;return Vv.find(e=>e.path?t.includes(e.path):!0)}function iw(t,e){Vv=t.content||[];const r=Zv();r&&r.type==="article"&&(Fe={...Fe,...aw(r.selectors)},Jv=r.enablePaywallSettingsUrlFallback||!1),Bt=e}function ow(t,e){const{selector:r}=e;return r===Fe.article.selector?t:t.querySelector(r)}function Yv(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Yv(t.parentElement,e):t.textContent??void 0}function mr(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 tc({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||mr(`sesamy:${e}`)||mr(`og:${e}`)||mr(e)||r}function Xv(){const t=document.querySelectorAll(Fe.article.selector);return Array.from(t).map(on).filter(e=>e!==null)}function on(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Wv(e)},n=(i,o,s,u)=>{const l=ow(e,o);if(l){const c=Yv(l,o)||tc({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Fe.id),n("title",Fe.title,r.id),n("excerpt",Fe.excerpt,r.id),n("image",Fe.image,r.id),n("price",Fe.price,r.id,i=>parseFloat(i)),n("currency",Fe.currency,r.id),n("url",Fe.url,r.id),n("pass",Fe.pass,r.id),n("paywallUrl",Fe.paywallUrl,r.id),n("accessLevel",Fe.accessLevel,r.id,i=>i||"entitlement");const a=Zv();if(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),a.paywallUrl&&!r.paywallUrl&&(r.paywallUrl=a.paywallUrl)),Jv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r.url||(r.url=window.location.href),r}async function sw(t){const e=on(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl){const a=(await Bt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement";if(e.accessLevel=a,a==="logged-in"){const i=await Bt.auth.isAuthenticated();return e.hasAccess=i,e}}if(!e.url)throw new Error("Article must have a URL");const r=await Bt.entitlements.hasAccess(e.url,e.pass?.split(",")||[]);return e.hasAccess=!!r,e.entitlement=r,e}async function Qv(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=on(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Bt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Bt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Wv(r.parentElement||r);return Bt.proxy.getContent(i.token,n.url,o)}let ep=!1,wn,Rn,ws;function tp(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:ws,requestId:Math.random().toString(36).slice(2,9),sessionId:nw(),timestamp:new Date().toISOString(),version:Yn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:mr("sesamy:item-src"),publisherContentId:mr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:Qs,userAgent:navigator.userAgent,clientId:ws}}}))}const rp=rw(async t=>{if(t.length>0){const e=tp(t);ep?navigator.sendBeacon(Rn,e):(await fetch(Rn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function ts(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Rn,tp([e]))}else rp.push(t)}function cw(){return ep=!0,rp.flush()}function uw(t,e,r){wn=e,Rn=`${ot("logs",r)}/events`,ws=t}const lw={name:"custom-analytics-plugin",page:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ts({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ts({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n}=t;ts({anonymousId:r,userId:n,properties:e,type:"identify"})}},Gd=["source","medium","campaign","term","content"],kt="utm_",fw=1800*1e3;function np(t){return t?Date.now()-parseInt(t,10)>fw:!0}function Wd(){const t=document.referrer||"";if(!t)return;const e=Ht(`${kt}set_at`);(np(e)||!Ht(`${kt}referrer`))&&_n(`${kt}referrer`,t)}function dw(){const t=()=>{const r={};for(const a of Gd){const i=Ht(`${kt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Ht(`${kt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Wd()},campaign({payload:r}){const n=r?.campaign||{},a=Ht(`${kt}set_at`);if(Object.keys(n).length>0&&np(a)){for(const o of Gd){const s=n[o];s&&_n(`${kt}${o}`,s)}_n(`${kt}set_at`,String(Date.now()))}Wd()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const hw=dw(),Vd=new Map,Jd=new Map;function vw({clientId:t,enabled:e=!0,environment:r}){uw(t,e,r),e&&(window.addEventListener("beforeunload",()=>{Jd.forEach((n,a)=>{n.bind(a)()}),cw()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Vd.forEach((n,a)=>{n.bind(a)()})}),By(),Gv(()=>{const n=new tw({element:document.body,viewCallback:()=>{dt.page()},activeDurationCallback:(a,i,o)=>{dt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{dt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{dt.track("scroll",{scroll:a.scrollMax})}});Jd.set(document.body,()=>{n.flush()}),Vd.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Be.AUTHENTICATED,async n=>{const a=n;await dt.identify(a.detail.sub)}),window.addEventListener(Be.LOGOUT,async()=>{await dt.track("logout",{}),await dt.reset()}))}const dt=Fy({app:Qs,version:Yn,plugins:[hw,lw]});function ap(t,e){dt.track(t,e)}function ip(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});ap(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function pw(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function mw(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function gw(){return/android/i.test(navigator.userAgent)}let Oe,op,Wr,bs=!1,bn=!1;Jr()&&window.addEventListener("pageshow",()=>{bn=!1});const Sr="sesamyAccessToken",rs="sesamyRefreshToken",On="sesamySilentAuthThrottle",yw=300*1e3;async function Xn(){return bs?!0:new Promise((t,e)=>{const r=setTimeout(()=>{bs?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Be.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function ww(t){if(!t)return null;const e=localStorage.getItem(rs);if(!e)return le("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(rs),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(rs,i.refresh_token),localStorage.setItem(Sr,i.access_token),i.access_token}catch{ac()}}async function rc(){const t=localStorage.getItem(Sr);if(!t)return null;const e=ic(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await ww(e);if(r)return r;localStorage.removeItem(Sr)}return t}let pn=null;const bw=64;function Sw(){try{if(pn!==null)return pn;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===bw)return pn=!0,!0}}catch(t){le(`Error checking for existing auth0 tokens: ${t.message}`)}return pn=!1,!1}function Iw(t){if(t.domains&&t.domains.length>0){const e=Ir(window.location.href);if(e){for(const r of t.domains)if(Ir(`https://${r}`)===e)return le(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;le(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return le(`Using fallback domain property: ${t.domain}`),t.domain}function Ir(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 Pw(t){if(t.enabled===!1)return;op=t.organization;const e=Iw(t);Wr=e&&!Sw()?e:Iv("token",t.environment);const r={domain:Wr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",Ir(window.location.href)!==Ir(`https://${Wr}`)&&(r.useRefreshTokens=!0),le(`Initializing auth0 client: ${JSON.stringify(r)}`),Oe=await Rg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)le("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{le("Code found in URL, handling redirect");try{const u=await Oe.handleRedirectCallback();le(`Login result: ${JSON.stringify(u)}`);const l=await Oe.getUser();if(!l)throw le("No user found"),new Error("No user found");le(`User found ${JSON.stringify(l)}`),nc(),Wt(Be.AUTHENTICATED,l),le("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())}bs=!0,Wt(Be.AUTH_INITIALIZED,{})}async function gr(){return await Xn(),await rc()?!0:Oe?Oe.isAuthenticated():!1}async function Ew(){return await Xn(),await rc()?(le("Using local user"),{sub:"local",name:"Local User"}):Oe?Oe.getUser():null}function sp(t){if(bn)return le("Login already in progress"),null;if(bn=!0,setTimeout(()=>{bn=!1},3e3),localStorage.removeItem(Sr),!Oe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:op,redirect_uri:window.location.href,ui_locales:Br(),incognito:Gs(),...e}}}async function Qn(t){const e=sp(t);if(e)return Oe.loginWithRedirect(e)}async function cp(t){const e=sp(t);if(!e)return;await Oe.loginWithPopup(e,{timeoutInSeconds:1800}),nc(),ip(Be.AUTHENTICATED,await Oe.getUser()).canceled||window.location.reload()}async function kw(t){return Wr&&Ir(window.location.href)!==Ir(`https://${Wr}`)&&(mw()||gw()||Gs())?cp(t):Qn(t)}function _w(){try{const t=sessionStorage.getItem(On);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<yw}catch{return sessionStorage.removeItem(On),!1}}function Tw(){try{const t={timestamp:Date.now()};sessionStorage.setItem(On,JSON.stringify(t))}catch{le("Failed to set silent auth throttle in sessionStorage")}}function nc(){try{sessionStorage.removeItem(On)}catch{}}async function qt(t=!0,e=!1){await Xn();const r=await rc();if(r)return r;if(!e&&_w()){if(le("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!Oe)return le("Auth client not initialized"),null;let n=await Oe.getTokenSilently();const a=ic(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await Oe.getTokenSilently({cacheMode:e?"off":"on"})),nc(),n}catch(n){const a=n;if(le(`Failed to get token silently: ${a.message}`),Tw(),await Oe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await ac(),t)throw n;return null}}async function ac(t={}){if(await Xn(),localStorage.removeItem(Sr),Wt(Be.LOGOUT,{}),!!Oe)return le(`Logout with options: ${JSON.stringify(t)}`),Oe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function ic(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 Ss(t){const e=ic(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");le("Set token"),localStorage.setItem(Sr,t),Wt(Be.AUTHENTICATED,e)}const Rw=(t,e)=>e.skipDedupe||e.method!=="GET",Ow=(t,e)=>e.method+"@"+t,Cw=t=>t.clone(),Aw=({skip:t=Rw,key:e=Ow,resolver:r=Cw}={})=>{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)}}},Uw=(t,e)=>t*e,$w=t=>t&&t.ok,Lw=({delayTimer:t=500,delayRamp:e=Uw,maxAttempts:r=10,until:n=$w,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(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):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 Vr extends Error{status;statusText;url;body;constructor(e,r,n,a,i){super(a),this.name="APIError",this.status=e,this.statusText=r,this.url=n,this.body=i,Error.captureStackTrace&&Error.captureStackTrace(this,Vr)}isClientError(){return this.status>=400&&this.status<500}isServerError(){return this.status>=500}isForbiddenError(){return this.status===403}isNotFoundError(){return this.status===404}}var Cn=(t=>(t.BROWSER="browser",t.NORMAL="normal",t))(Cn||{});const qw="application/json",up="Content-Type",or=Symbol(),lp=Symbol();function Zd(t={}){var e;const r=t instanceof Array?Object.fromEntries(t):t;return(e=Object.entries(r).find(([n])=>n.toLowerCase()===up.toLowerCase()))===null||e===void 0?void 0:e[1]}function Yd(t){return/^application\/.*json.*/.test(t)}const Gt=function(t,e,r=!1){return Object.entries(e).reduce((n,[a,i])=>{const o=t[a];return Array.isArray(o)&&Array.isArray(i)?n[a]=r?[...o,...i]:i:typeof o=="object"&&typeof i=="object"?n[a]=Gt(o,i,r):n[a]=i,n},{...t})},Pr={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,r=!1,...n){const a=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!a)throw new Error(t+" is not defined");return r&&a?new a(...n):a}};function jw(t,e=!1){Pr.options=e?t:Gt(Pr.options,t)}function Nw(t,e=!1){Pr.polyfills=e?t:Gt(Pr.polyfills,t)}function xw(t){Pr.errorType=t}const Dw=t=>e=>t.reduceRight((r,n)=>n(r),e)||e;class fp extends Error{}const Mw=t=>{const e=Object.create(null);t=t._addons.reduce((y,m)=>m.beforeRequest&&m.beforeRequest(y,t._options,e)||y,t);const{_url:r,_options:n,_config:a,_catchers:i,_resolvers:o,_middlewares:s,_addons:u}=t,l=new Map(i),c=Gt(a.options,n);let f=r;const h=Dw(s)((y,m)=>(f=y,a.polyfill("fetch")(y,m)))(r,c),d=new Error,v=h.catch(y=>{throw{[or]:y}}).then(y=>{var m;if(!y.ok){const b=new fp;if(b.cause=d,b.stack=b.stack+`
|
|
36
|
-
CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw b;const R=a.errorType==="json"||((m=y.headers.get("Content-Type"))===null||m===void 0?void 0:m.split(";")[0])==="application/json";return(a.errorType?R?y.text():y[a.errorType]():Promise.resolve(y.body)).then(A=>{if(b.message=typeof A=="string"?A:y.statusText,A)if(R&&typeof A=="string"){b.text=A;try{b.json=JSON.parse(A)}catch{}}else b[a.errorType]=A;throw b})}return y}),p=y=>y.catch(m=>{const b=Object.prototype.hasOwnProperty.call(m,or),R=b?m[or]:m,A=R?.status&&l.get(R.status)||l.get(R?.name)||b&&l.has(or)&&l.get(or);if(A)return A(R,t);const j=l.get(lp);if(j)return j(R,t);throw R}),g=y=>m=>p(y?v.then(b=>b&&b[y]()).then(b=>m?m(b):b):v.then(b=>m?m(b):b)),P={_wretchReq:t,_fetchReq:h,_sharedState:e,res:g(null),json:g("json"),blob:g("blob"),formData:g("formData"),arrayBuffer:g("arrayBuffer"),text:g("text"),error(y,m){return l.set(y,m),this},badRequest(y){return this.error(400,y)},unauthorized(y){return this.error(401,y)},forbidden(y){return this.error(403,y)},notFound(y){return this.error(404,y)},timeout(y){return this.error(408,y)},internalError(y){return this.error(500,y)},fetchError(y){return this.error(or,y)}},w=u.reduce((y,m)=>({...y,...typeof m.resolver=="function"?m.resolver(y):m.resolver}),P);return o.reduce((y,m)=>m(y,t),w)},Fw={_url:"",_options:{},_config:Pr,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:Gt(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const r=this._url.split("?");return{...this,_url:r.length>1?r[0]+t+"?"+r[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:Gt(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:Gt(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[up]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const r=new Map(this._catchers);return r.set(t,e),{...this,_catchers:r}},catcherFallback(t){return this.catcher(lp,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",r=null){let n=this.url(e).options({method:t});const a=Zd(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||Yd(a));return n=r?o?n.json(r,a):n.body(r):n,Mw(n._deferred.reduce((s,u)=>u(s,s._url,s._options),n))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const r=Zd(this._options.headers);return this.content(e||Yd(r)&&r||qw).body(JSON.stringify(t))}};function ct(t="",e={}){return{...Fw,_url:t,_options:e}}ct.default=ct;ct.options=jw;ct.errorType=xw;ct.polyfills=Nw;ct.WretchError=fp;const Kw=(t,e)=>e.skipDedupe||e.method!=="GET",zw=(t,e)=>e.method+"@"+t,Hw=t=>t.clone(),Bw=({skip:t=Kw,key:e=zw,resolver:r=Hw}={})=>{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)}}},Gw=(t,e)=>e.skipCache||e.method!=="GET",Ww=(t,e)=>e.method+"@"+t,Vw=()=>!1,Jw=()=>null,Zw=t=>t.ok,Yw=({throttle:t=1e3,skip:e=Gw,key:r=Ww,clear:n=Vw,invalidate:a=Jw,condition:i=Zw,flagResponseOnCacheHit:o="__cached"}={})=>{const s=new Map,u=new Map,l=new Set,c=h=>{t&&!l.has(h)&&(l.add(h),setTimeout(()=>{l.delete(h)},t))},f=h=>(d,v)=>{const p=r(d,v);let g=a(d,v);if(g&&(g instanceof Array||(g=[g]),g.forEach(P=>{typeof P=="string"?s.delete(P):P instanceof RegExp&&s.forEach((w,y)=>{P.test(y)&&s.delete(y)})})),n(d,v)&&s.clear(),e(d,v))return h(d,v);if(l.has(p)){if(s.has(p)){const P=s.get(p).clone();return o&&Object.defineProperty(P,o,{value:p,enumerable:!1}),Promise.resolve(P)}else if(u.has(p))return new Promise((P,w)=>{u.get(p).push([P,w])})}return u.has(p)||u.set(p,[]),c(p),h(d,v).then(P=>(i(P.clone())&&s.set(p,P.clone()),u.get(p).forEach(([w])=>w(P.clone())),u.delete(p),P)).catch(P=>{throw u.get(p).forEach(([,w])=>w(P)),u.delete(p),P})};return f.cacheResponse=function(h,d){c(h),s.set(h,d)},f.cache=s,f.inflight=u,f.throttling=l,f},Xw=(t,e)=>t*e,Qw=t=>t&&t.ok,eb=({delayTimer:t=500,delayRamp:e=Xw,maxAttempts:r=10,until:n=Qw,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(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):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)})},tb="@sesamy/sdk",rb="1.17.0";class nb{cache=new Map;get(e){return this.cache.get(e)||null}set(e,r){this.cache.set(e,r)}remove(e){this.cache.delete(e)}clear(){this.cache.clear()}}const Kr="sesamyCacheTimestamp",ab=t=>{const{libraryName:e=tb,libraryVersion:r=rb,cache:n}=t,a=n?.storage||new nb,i=[s=>async(u,l)=>{if(n?.mode===Cn.BROWSER){let c;typeof sessionStorage<"u"?(c=sessionStorage.getItem(Kr),c||(c=Date.now().toString(),sessionStorage.setItem(Kr,c))):(c=a.get(Kr),c||(c=Date.now().toString(),a.set(Kr,c)));const f={...l,headers:{...l.headers,"Cache-Timestamp":c}};return s(u,f)}return s(u,l)},s=>async(u,l)=>{const c=await t.tokenProvider(),f={...l,headers:{...l.headers,Authorization:c}};return s(u,f)},Bw()];n?.mode===Cn.NORMAL&&i.push(Yw({throttle:300*1e3,skip:(s,u)=>u.method!=="GET"})),i.push(eb({delayTimer:1e3,delayRamp:(s,u)=>s*u,maxAttempts:3,until:s=>!!(s&&(s.ok||s.status>=400&&s.status<500)),retryOnNetworkError:!1}));const o=ct(t.baseUrl).headers({"Content-Type":"application/json","X-Sesamy-Client":`${e}/${r}`,...t.headers}).middlewares(i);return{async request(s,u={}){try{const l=/^https?:\/\//.test(s);let c=o.url(s,l);u.headers&&(c=c.headers(u.headers));const f=(u.method||"GET").toLowerCase();let h;switch(f){case"get":h=c.get();break;case"post":h=c.post(u.body?JSON.parse(u.body):void 0);break;case"put":h=c.put(u.body?JSON.parse(u.body):void 0);break;case"patch":h=c.patch(u.body?JSON.parse(u.body):void 0);break;case"delete":h=c.delete();break;default:h=c.get()}const d=await h.res();if(d.ok&&["post","patch","put","delete"].includes(f)&&pt(),d.status===204)return null;if(!d.ok){const v=await d.text().catch(()=>"Unknown error");throw new Vr(d.status,d.statusText,d.url,`API Error ${d.status}: ${v}`,v)}return await d.json()}catch(l){if(l instanceof Vr)throw l;const c=l.status||500,f=l.message||"Unknown error",h=`${t.baseUrl}${s}`;throw new Vr(c,f,h,`API Error ${c}: ${l.message||"Unknown error"}`,l.message||"Unknown error")}}}},pt=()=>(typeof sessionStorage<"u"&&sessionStorage.removeItem(Kr),"Cache cleared"),Dr={get:async(t,e)=>t.request(`/profile/${e}`),update:async(t,e,r)=>t.request(`/profile/${e}`,{method:"PATCH",body:JSON.stringify(r)}),checkSpotifyLink:async t=>t.request("/profile/spotify-link"),unlinkSpotify:async t=>t.request("/profile/unlink-spotify",{method:"POST"}),delete:async t=>{await t.request("/profile",{method:"DELETE"})}},ns={list:async(t,e)=>{const r=new URLSearchParams;e?.type&&r.append("type",e.type),e?.sku&&r.append("sku",e.sku),e?.purchaseOptionId&&r.append("purchase-option-id",e.purchaseOptionId),e?.waitForEntitlementAfter&&r.append("wait-for-entitlement-after",e.waitForEntitlementAfter);const n=r.toString(),a=n?`/entitlements?${n}`:"/entitlements";return t.request(a)},get:async(t,e)=>t.request(`/entitlements/${e}`),getAccess:async(t,e)=>t.request(`/entitlements/${e}/access`)},Xd={list:async t=>t.request("/subscriptions"),get:async(t,e)=>t.request(`/subscriptions/${e}`)},Qd={get:async(t,e)=>t.request(`/products/${e}`),autoOnboard:async(t,e)=>t.request(`/products/${e}/auto-onboard`,{method:"POST"})},Mr={list:async t=>t.request("/contracts"),get:async(t,e)=>t.request(`/contracts/${e}`),cancel:async(t,e)=>t.request(`/contracts/${e}/cancel`,{method:"POST"}),createAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments`,{method:"POST",body:JSON.stringify(r)}),confirmAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments/${r}/confirm`,{method:"POST"})},as={get:async t=>t.request("/user-metadata"),set:async(t,e,r)=>{await t.request(`/user-metadata/${e}`,{method:"PUT",body:JSON.stringify({value:r})})},delete:async(t,e)=>{await t.request(`/user-metadata/${e}`,{method:"DELETE"})}},sr={list:async t=>t.request("/tallies"),get:async(t,e)=>t.request(`/tallies/${e}`),update:async(t,e,r)=>t.request(`/tallies/${e}`,{method:"PUT",body:JSON.stringify(r)}),create:async(t,e)=>t.request("/tallies",{method:"POST",body:JSON.stringify(e)}),delete:async(t,e)=>{try{return await t.request(`/tallies/${e}`,{method:"DELETE"}),!0}catch{return!1}},push:async(t,e,r)=>t.request(`/tallies/${e}/push`,{method:"POST",body:JSON.stringify(r)})},is={list:async t=>t.request("/tags"),add:async(t,e)=>{await t.request("/tags",{method:"POST",body:JSON.stringify({tag:e})})},remove:async(t,e)=>{await t.request(`/tags/${e}`,{method:"DELETE"})}},cr={generateCheckoutLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`meta-${n}`,a)}),r.toString()},generateAccountLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}${e.contractId?`/${encodeURIComponent(e.contractId)}`:""}`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePaymentLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/change-payment-method`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePlanLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/edit-plan`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateConsumeLink:(t,e)=>{const r=e.language||"en";let n=new URL(`${t.baseUrl}/consume/${encodeURIComponent(r)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.sku)}`);return e.episodeId?n.href+=`/${encodeURIComponent(e.episodeId)}`:n.href+="/listen",n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()}},os={generateLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`meta-${n}`,a)}),r.toString()},create:async(t,e)=>t.request("/checkouts",{method:"POST",body:JSON.stringify(e)}),get:async(t,e)=>t.request(`/checkouts/${e}`),update:async(t,e,r)=>t.request(`/checkouts/${e}`,{method:"PATCH",body:JSON.stringify(r)})},eh={list:async t=>t.request("/bills"),get:async(t,e)=>t.request(`/bills/${e}`)},th={list:async t=>t.request("/fulfillments"),create:async(t,e)=>t.request("/fulfillments",{method:"POST",body:JSON.stringify(e)})},ib={get:async(t,e)=>{try{return new URL(e),t.request(e)}catch{return t.request(`/paywalls/${e}`)}}},ob={list:async t=>t.request("/payment-issues")},sb={content:async(t,e,r,n,a)=>{const i=new URLSearchParams({url:e});return r&&i.append("selector",r),n&&i.append("cache",n),t.request(`/proxy?${i.toString()}`,a)}},cb={list:async(t,e)=>{const r=(e?new URLSearchParams({q:e}):new URLSearchParams).toString(),n=r?`/transactions?${r}`:"/transactions";return t.request(n)}},rh={get:async t=>t.request("/vendor"),list:async t=>t.request("/vendors")},ub=t=>{const e=ab(t);return{profile:{get:r=>Dr.get(e,r),update:(r,n)=>Dr.update(e,r,n),checkSpotifyLink:()=>Dr.checkSpotifyLink(e),unlinkSpotify:()=>Dr.unlinkSpotify(e),delete:()=>Dr.delete(e)},entitlements:{list:r=>ns.list(e,r),get:r=>ns.get(e,r),getAccess:r=>ns.getAccess(e,r)},subscriptions:{list:()=>Xd.list(e),get:r=>Xd.get(e,r)},products:{get:r=>Qd.get(e,r),autoOnboard:r=>Qd.autoOnboard(e,r)},contracts:{list:()=>Mr.list(e),get:r=>Mr.get(e,r),cancel:r=>Mr.cancel(e,r),createAmendment:(r,n)=>Mr.createAmendment(e,r,n),confirmAmendment:(r,n)=>Mr.confirmAmendment(e,r,n)},userMetadata:{get:()=>as.get(e),set:(r,n)=>as.set(e,r,n),delete:r=>as.delete(e,r)},tallies:{list:()=>sr.list(e),get:r=>sr.get(e,r),update:(r,n)=>sr.update(e,r,n),create:r=>sr.create(e,r),delete:r=>sr.delete(e,r),push:(r,n)=>sr.push(e,r,n)},tags:{list:()=>is.list(e),add:r=>is.add(e,r),remove:r=>is.remove(e,r)},checkouts:{generateLink:(r,n)=>cr.generateCheckoutLink(r,n),create:r=>os.create(e,r),get:r=>os.get(e,r),update:(r,n)=>os.update(e,r,n)},links:{generateCheckoutLink:(r,n)=>cr.generateCheckoutLink(r,n),generateAccountLink:(r,n)=>cr.generateAccountLink(r,n),generateChangePaymentLink:(r,n)=>cr.generateChangePaymentLink(r,n),generateChangePlanLink:(r,n)=>cr.generateChangePlanLink(r,n),generateConsumeLink:(r,n)=>cr.generateConsumeLink(r,n)},bills:{list:()=>eh.list(e),get:r=>eh.get(e,r)},fulfillments:{list:()=>th.list(e),create:r=>th.create(e,r)},paywalls:{get:r=>ib.get(e,r)},paymentIssues:{list:()=>ob.list(e)},proxy:{content:(r,n,a,i)=>sb.content(e,r,n,a,i)},transactions:{list:r=>cb.list(e,r)},vendor:{get:()=>rh.get(e),list:()=>rh.list(e)}}};class lb{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 Is(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function dp(t,e){if(Is(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 nh(t){return t.endsWith("/")?t.slice(0,-1):t}function ah(t,e){if(!Is(t)||!Is(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&nh(r.pathname)===nh(n.pathname)}function fb(t,e,r){const n=new URL(`${ot("checkout3",t.environment)}`);e.language&&n.searchParams.set("lang",e.language);let a=e.sku,i=e.purchaseOptionId,o=e.itemSrc;if(e.itemSrc){const c=dp(e.itemSrc,e.purchaseOptionId);a=c.sku||a,i=c.purchaseOption||i,o=c.itemSrc}a?(n.searchParams.set("sku",a),i&&n.searchParams.set("po-id",i)):o&&n.searchParams.set("url",o),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 s=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(c=>{const[f,h]=c.trim().split("=");return{key:f,value:h}}).filter(c=>s.some(f=>f===c.key)).forEach(c=>{n.searchParams.append(c.key,c.value)});let l=new URL(window.location.href);if(e.redirectUrl)try{l=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return l.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&l.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",l.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:c,methods:f})=>f?f.map(h=>`${c}|${h}`):c).join(",")),e.requireAddress&&n.searchParams.set("require-address","true"),e.giftMode&&n.searchParams.set("gift-mode","true"),e.payerEmail&&n.searchParams.set("payer-email",e.payerEmail),e.metadata&&Object.entries(e.metadata).forEach(([c,f])=>{n.searchParams.set(`meta-${c}`,String(f))}),n}const hp="sesamySignedURLs";function oc(){const t=sessionStorage.getItem(hp);return t?JSON.parse(t):[]}function db(t){const e=oc();e.push(t),le(`Adding signed URL: ${t}`),sessionStorage.setItem(hp,JSON.stringify(e))}function hb(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const Ps="sesamyAttribution";function vb(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 pb(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function An(){return vb(Ps)||{}}function vp(t){if(t===null)localStorage.removeItem(Ps);else{le(`Setting attribution ${JSON.stringify(t)}`);const e=An()??{},r=hb({...e,...pb(t)});localStorage.setItem(Ps,JSON.stringify({value:r}))}}const pp="sesamyFlags";async function mp(t){try{localStorage.setItem(pp,JSON.stringify(t))}catch{le("Failed to save flags to localStorage")}}async function gp(t,e){const r=await sn();r[t]=e,await mp(r)}async function yp(t){return(await sn())[t]}async function wp(t){const e=await sn();t in e&&(delete e[t],await mp(e))}async function sn(){try{const t=localStorage.getItem(pp);return t?JSON.parse(t):{}}catch{return{}}}function mb(t){const e=t.endpoint||ot("api2",t.environment),n=ub({baseUrl:e,tokenProvider:async()=>{if(await gr())try{const q=await qt(!1);if(q)return`Bearer ${q}`}catch{}const S=localStorage.getItem("__anon_id");return`Basic ${btoa(`${t.clientId}|${S}:`)}`},libraryName:Qs,libraryVersion:Yn,vendorId:t.vendorId,cache:{mode:Cn.BROWSER,storage:new lb}}),a=S=>async(O,q)=>{let F=sessionStorage.getItem(md);F||(F=Date.now().toString(),sessionStorage.setItem(md,F));const I={...q,headers:{...q.headers,"Cache-Timestamp":F}};return S(O,I)},i=(S=!0)=>O=>async(q,F)=>{let I=null;if(I=await qt(S),!I){if(S)throw new Error("No access token available");return O(q,F)}const _={...F,headers:{...F.headers,...I?{Authorization:`Bearer ${I}`}:{}}};return O(q,_)},o=ct(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Aw(),Lw({delayTimer:1e3,delayRamp:(S,O)=>S*O,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(S={}){const{waitForEntitlementAfter:O,includeSignedLinks:q=!0}=S,F=await gr()?await n.entitlements.list({waitForEntitlementAfter:O?.toISOString()}):[];return q&&F.push(...oc()),F}async function u(S,O=[]){return(await s())?.find(I=>{if(S){const{sku:_,purchaseOption:x}=dp(S);if("sku"in I&&_===I.sku||x&&"purchaseOptionsId"in I&&x===I.purchaseOptionsId||ah(S,I.url))return!0}return!!O.some(_=>ah(_,I.url))})}async function l(S,O,q){const F=new URL(ot("api2",t.environment));return F.pathname="/proxy",F.searchParams.set("url",O),q&&F.searchParams.set("selector",q),ct(F.toString()).headers({Authorization:`Bearer ${S}`}).get().text()}async function c(S){if(!S)throw new Error("SKU is required to get fulfillments");return await gr()?await o.get(`/fulfillments?sku=${encodeURIComponent(S)}`).json():[]}async function f(S,O){if(!S||!O)throw new Error("SKU and itemId are required to request delivery");return(await o.post({sku:S},`/fulfillments/${encodeURIComponent(O)}/request-delivery?`).res()).ok}async function h(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),o.get("/subscriptions").json()}async function d(S){return(await n.transactions.list())?.find(q=>q.id===S)}async function v(){return await o.url("/tags").get().json()}async function p(S){const O=await o.url(`/tags/${encodeURIComponent(S)}`).delete().res();return pt(),O.ok}async function g(S){const O=await o.url("/tags").post(encodeURIComponent(S)).res();return Wt(Be.USER_ATTRIBUTE_CHANGED,{}),pt(),O.ok}async function P(S){return(await n.tallies.get(S)).value}async function w(){const S=await n.tallies.list(),O={};for(const q of S)O[q.id]=q.value;return O}async function y(S){return await n.tallies.delete(S)}async function m(S,O){return await n.tallies.push(S,O)}async function b(){return await qt(!1)?await o.url("/profile").get().json():null}async function R(S){const O=await o.url("/profile").patch(S).res();return pt(),O.ok}async function A(){return(await o.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function j(){return(await o.url("/profile/unlink-spotify").post().res()).ok}async function z(S){const O=await qt(!1);if(!O)throw new Error("No access token available");const q=new URL(`${ot("access-sync",t.environment)}/spotify/sesamy-callback`);q.searchParams.set("access_token",O),q.searchParams.set("state",S),window.location.href=q.toString()}async function V(S){const O=await o.url(`/products/${encodeURIComponent(S)}/auto-onboard`).post().json();return O.length&&pt(),O}async function te(S,O=3600){const{shortlink:q}=await ct(Ag).post({url:S,ttl:O}).json();return q}async function L(S){const O=await qt(!1,!0);let q;const F=S.language||Br(),I=An();switch(S.target){case"account":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}${S.contractId?`/${encodeURIComponent(S.contractId)}`:""}`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-payment":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/change-payment-method`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-plan":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/edit-plan`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"consume":q=new URL(`${ot("consume",t.environment)}/${encodeURIComponent(S.language||F)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.sku)}`),S.episodeId?q.href+=`/${S.episodeId}`:q.href+="/listen",q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"checkout":q=fb(t,{language:F,...S},I);break;default:throw new Error("Invalid target")}return O&&(q.hash=`#access_token=${O}`),S.shorten?te(q.href,S.ttl):q.href}async function M(){const S=await qt(!1),O=new URL(`${ot("account",t.environment)}/subscriptions/${t.clientId}`);S&&(O.hash=`#access_token=${S}`),window.location.href=O.toString()}async function N(S){const O=An(),q=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(F=>{const[I,_]=F.trim().split("=");q.includes(I)&&!O[I]&&(O[I]=_)}),n.checkouts.create({language:Br(),...S,attribution:{...O,...S.attribution},vendorId:t.vendorId})}return{autoOnboardProduct:V,bills:n.bills,checkouts:{create:N,get:n.checkouts.get,update:n.checkouts.update},content:{list:Xv,get:on,getLanguage:Br,unlock:Qv,getPropertyFromHTML:tc},contracts:n.contracts,deleteTag:p,deleteTally:y,entitlements:n.entitlements,flags:{get:yp,set:gp,list:sn,delete:wp},generateLink:L,getProxyContent:l,getEntitlements:s,getFulfillments:c,requestDelivery:f,hasAccess:u,isSpotifyLinked:A,linkSpotify:z,openHostedAccountPage:M,paywalls:n.paywalls,paymentIssues:n.paymentIssues,getProfile:b,products:n.products,getSubscriptions:h,getTally:P,getTallies:w,getTags:v,getTransaction:d,transactions:n.transactions,userMetadata:n.userMetadata,pushTally:m,setTag:g,unlinkSpotify:j,updateProfile:R,vendor:n.vendor}}const gb=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function yb(){return new Promise(t=>{const e=gb.map(r=>{const n=document.createElement("div");return n.innerHTML=" ",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 wb(){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}}function bb(t){const{autoOnboardProduct:e,bills:r,checkouts:n,contracts:a,deleteTag:i,deleteTally:o,entitlements:s,generateLink:u,getEntitlements:l,getFulfillments:c,getProfile:f,getProxyContent:h,getSubscriptions:d,getTags:v,getTally:p,getTallies:g,getTransaction:P,hasAccess:w,isSpotifyLinked:y,linkSpotify:m,openHostedAccountPage:b,paywalls:R,paymentIssues:A,products:j,pushTally:z,requestDelivery:V,setTag:te,transactions:L,unlinkSpotify:M,updateProfile:N,userMetadata:S,vendor:O}=mb(t),q=()=>A.list(),F={analytics:{track:ap},attribution:{get:An,set:vp},auth:{getUser:f,getTokenSilently:qt,isAuthenticated:gr,loginWithRedirect:Qn,loginWithPopup:cp,login:kw,logout:ac,setToken:Ss},bills:r,browser:{detectAdblock:yb,isInAppBrowser:wb,isIncognito:Gs},checkouts:n,clearCache:pt,content:{list:Xv,get:on,getLanguage:Br,hasAccess:sw,unlock:Qv,getPropertyFromHTML:tc},contracts:a,entitlements:{...s,access:s.getAccess,hasAccess:w,list:l,signedLinks:oc},events:{emit:ip,cancel:pw},flags:{get:yp,set:gp,list:sn,delete:wp},fulfillments:{list:c,requestDelivery:V},generateLink:u,getPaymentIssues:q,getVersion:Sb,isReady:()=>exports.isInitialized,log:le,paywalls:R,paymentIssues:A,products:{...j,autoOnboard:e,linkSpotify:m},profile:{get:f,isSpotifyLinked:y,openHostedAccountPage:b,unlinkSpotify:M,update:N},proxy:{getContent:h},subscriptions:{list:d},tags:{delete:i,list:v,set:te},tallies:{delete:o,get:p,list:g,push:z},transactions:{...L,get:P},userMetadata:S,vendor:O,setToken:Ss};return t.namespace&&(window[t.namespace]=F),F}function Sb(){return Yn}function Ib(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
|
+
`))}})(j.methodName,j.pluginName),Promise.resolve(j.method({payload:V,instance:n,abort:(te=V,L=y,M=j.pluginName,function(N,S){return ee({},te,{abort:{reason:N,plugins:S||[L],caller:f,from:M||L}})}),config:Rd(j.pluginName,l,i),plugins:l})).then(function(N){var S=Ke(N)?N:{};return Promise.resolve(ee({},V,S))})):V;var te,L,M})},Promise.resolve(r))).then(function(A){m[y]=A});m[y]=r})();return R&&R.then?R.then(b):b()})},Promise.resolve({}))).then(function(g){return Promise.resolve(e.exact.reduce(function(P,w,y){try{var m=e.exact.length===y+1,b=w.pluginName,R=i[b];return Promise.resolve(P).then(function(A){var j=g[b]?g[b]:{};if(h&&(j=A),Zo(j,b))return Jo({data:j,method:f,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(Zo(A,b))return m&&Jo({data:A,method:f,instance:n,store:s}),Promise.resolve(A);if(p.hasOwnProperty(b)&&p[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:j,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var z=v(g[b],i[b]);return Promise.resolve(R[f]({abort:z.abort,payload:j,instance:n,config:Rd(b,l,i),plugins:l})).then(function(V){var te=Ke(V)?V:{},L=ee({},A,te),M=g[b];if(Zo(M,b))Jo({data:M,method:f,instance:n,pluginName:b,store:s});else{var N=f+":"+b;(N.match(/:/g)||[]).length<2&&!f.match(_d)&&!f.match(Td)&&n.dispatch(ee({},h?L:j,{type:N,_:{called:N,from:"submethod"}}))}return Promise.resolve(L)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(P){if(!(f.match(vr)||f.match(/^registerPlugin/)||f.match(Td)||f.match(_d)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var w=ee({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});$v(P,e.exact.length)&&!f.match(/End$/)&&(w=ee({},w,{type:P.type+"Aborted"})),s.dispatch(w)}return P})})}catch(g){return Promise.reject(g)}},vr=/Start$/,_d=/^bootstrap/,Td=/^ready/;function Jo(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ee({},t.data,{type:r,_:{called:r,from:"abort"}}))}function Rd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function Od(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function Cd(t,e){var r=t.replace(vr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function Zo(t,e){var r=t.abort;return!!r&&(r===!0||Ad(r,e)||r&&Ad(r.plugins,e))}function $v(t,e){var r=t.abort;if(!r)return!1;if(r===!0||_t(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 Ad(t,e){return!(!t||!Zr(t))&&t.includes(e)}function Ud(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function vy(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ke(t[r])?Object.assign({},t[r]):t[r]),e},{})}function py(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(m){return s?m:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===Q.enablePlugin&&a.dispatch({type:Q.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===Q.disablePlugin&&setTimeout(function(){return kd(o.meta.rid,{payload:o})},0),l===Q.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(m){return c.includes(m)}).map(function(m){return h[m]}),p=[],g=[],P=o.disabled,w=v.map(function(m){var b=m.loaded,R=m.name,A=m.config;return Av(m,function(){return b({config:A})},1e4).then(function(j){return n[R]||(a.dispatch({type:Q.pluginReadyType(R),name:R,events:Object.keys(m).filter(function(z){return!ms.includes(z)})}),n[R]=!0),p=p.concat(R),m}).catch(function(j){if(j instanceof Error)throw new Error(j);return g=g.concat(j.name),j})});Promise.all(w).then(function(m){var b={plugins:p,failed:g,disabled:P};setTimeout(function(){d.length===w.length+P.length&&a.dispatch(ee({},{type:Q.ready},b))},0)})}var y=(function(){if(l!==Q.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return Uv(a,e,t)},0),Promise.resolve((function(m,b,R,A,j){try{var z=ze(b)?b():b,V=m.type,te=V.replace(vr,"");if(m._&&m._.called)return Promise.resolve(m);var L=R.getState(),M=(O=z,(q=L.plugins)===void 0&&(q={}),(F=m.options)===void 0&&(F={}),Object.keys(O).filter(function(I){var _=F.plugins||{};return Jg(_[I])?_[I]:_.all!==!1&&(!q[I]||q[I].enabled!==!1)}).map(function(I){return O[I]}));V===Q.initializeStart&&m.fromEnable&&(M=Object.keys(L.plugins).filter(function(I){var _=L.plugins[I];return m.plugins.includes(I)&&!_.initialized}).map(function(I){return z[I]}));var N=M.map(function(I){return I.name}),S=(function(I,_){var x=Cd(I).map(function(H){return Od(H,_)});return _.reduce(function(H,Y){var J=Y.name,fe=Cd(I,J).map(function(ke){return Od(ke,_)}),ne=fe[0],ce=fe[1],ae=fe[2];return ne.length&&(H.beforeNS[J]=ne),ce.length&&(H.duringNS[J]=ce),ae.length&&(H.afterNS[J]=ae),H},{before:x[0],beforeNS:{},during:x[1],duringNS:{},after:x[2],afterNS:{}})})(V,M);return Promise.resolve(Vo({action:m,data:{exact:S.before,namespaced:S.beforeNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(I){function _(){var Y=(function(){if(V.match(vr))return Promise.resolve(Vo({action:ee({},x,{type:te+"End"}),data:{exact:S.after,namespaced:S.afterNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(J){J.meta&&J.meta.hasCallback&&kd(J.meta.rid,{payload:J})})})();return Y&&Y.then?Y.then(function(){return I}):I}if($v(I,N.length))return I;var x,H=(function(){if(V!==te)return Promise.resolve(Vo({action:ee({},I,{type:te}),data:{exact:S.during,namespaced:S.duringNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(Y){x=Y});x=I})();return H&&H.then?H.then(_):_()})}catch(I){return Promise.reject(I)}var O,q,F})(o,e,t,a,r)).then(function(m){var b=i(m);return s=1,b})})();return Promise.resolve(y&&y.then?y.then(u):u(y))}catch(m){return Promise.reject(m)}}}}}function my(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===Q.setItem||a===Q.removeItem){if(n.abort)return r(n);a===Q.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var gy=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 br.apply(void 0,o)(n)(a)}}}}};function yy(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=$d(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},ee({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=$d(r.type,Q.initialize),l=t()[u];return l&&u?(n[u]=ee({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),ee({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=ee({},e[r.name],{loaded:!0}),ee({},e,n);switch(r.type){case Q.disablePlugin:return ee({},e,Ld(r.plugins,!1,e));case Q.enablePlugin:return ee({},e,Ld(r.plugins,!0,e));default:return e}}}function $d(t,e){return t.substring(e.length+1,t.length)}function Ld(t,e,r){return t.reduce(function(n,a){return n[a]=ee({},r[a],{enabled:e}),n},r)}function Lv(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var wy={last:{},history:[]};function by(t,e){t===void 0&&(t=wy);var r=e.options,n=e.meta;if(e.type===Q.track){var a=Lv(ee({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return ee({},t,{last:a,history:t.history.concat(a)})}return t}var Sy={actions:[]};function Iy(t,e){t===void 0&&(t=Sy);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===Q.identify?[e].concat(t.actions):t.actions.concat(e),ee({},t,{actions:n});case"dequeue":return[];default:return t}}var qv=/#.*$/;function Py(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(qv,""):"")}var jv,Nv,xv,Dv,Ey=function(t){if(t===void 0&&(t={}),!Ce)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(Ce){for(var v,p=document.getElementsByTagName("link"),g=0;v=p[g];g++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(qv,"")})(l),f={title:r,url:c,path:Py(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ee({},f,t)},ky={last:{},history:[]};function _y(t,e){t===void 0&&(t=ky);var r=e.options;if(e.type===Q.page){var n=Lv(ee({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return ee({},t,{last:n,history:t.history.concat(n)})}return t}jv=(function(){if(!Ce)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"})(),Nv=Ce?document.referrer:null,xv=ry(),Dv=ny();var qd={initialized:!1,sessionId:Vn(),app:null,version:null,debug:!1,offline:!!Ce&&!navigator.onLine,os:{name:jv},userAgent:Ce?navigator.userAgent:"node",library:{name:ps,version:"0.13.1"},timezone:Dv,locale:xv,campaign:{},referrer:Nv};function Ty(t,e){t===void 0&&(t=qd);var r=t.initialized,n=e.campaign;switch(e.type){case Q.campaign:return ee({},t,{campaign:n});case Q.offline:return ee({},t,{offline:!0});case Q.online:return ee({},t,{offline:!1});default:return r?t:ee({},qd,t,{initialized:!0})}}var Ry=["plugins","reducers","storage"];function Oy(t,e,r){if(Ce){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function Cy(t){var e=Oy.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function Mv(){return Zt(ps,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return wr[yr][ps].push(o.action||o),i(o)}})}}}function jd(t){return function(){return br(br.apply(null,arguments),Mv())}}function Yo(t){return t?Tv(t)?t:[t]:[]}function Nd(t,e,r){t===void 0&&(t={});var n,a,i=Vn();return e&&(Fr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(ze(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),ee({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function Ay(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(I,_){if(ze(_))return I.middlewares=I.middlewares.concat(_),I;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var x=_.EVENTS?Object.keys(_.EVENTS).map(function(J){return _.EVENTS[J]}):[];I.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(I.methods[_.name]=Object.keys(_.methods).reduce(function(J,fe){var ne;return J[fe]=(ne=_.methods[fe],function(){for(var ce=Array.prototype.slice.call(arguments),ae=new Array(ne.length),ke=0;ke<ce.length;ke++)ae[ke]=ce[ke];return ae[ae.length]=b,ne.apply({instance:b},ae)}),J},{}),delete _.methods);var H=Object.keys(_).concat(x),Y=new Set(I.events.concat(H));if(I.events=Array.from(Y),I.pluginsArray=I.pluginsArray.concat(_),I.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return I.plugins[_.name]=_,I.plugins[_.name].loaded||(I.plugins[_.name].loaded=function(){return!0}),I},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Jt,setItem:Zt,removeItem:Or},i=(function(I){return function(_,x,H){return x.getState("user")[_]||(H&&Ke(H)&&H[_]?H[_]:Ed(I)[_]||Jt(gs(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(I){return!ms.includes(I)}).sort(),u=new Set(s.concat(yn).filter(function(I){return!ms.includes(I)})),l=Array.from(u).sort(),c=function(){return o},f=new gy,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},g=ay(),P=Ed(a),w=ee({},P,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});w.anonymousId||(w.anonymousId=Vn());var y=ee({enable:function(I,_){return new Promise(function(x){S.dispatch({type:Q.enablePlugin,plugins:Yo(I),_:{originalAction:Q.enablePlugin}},x,[_])})},disable:function(I,_){return new Promise(function(x){S.dispatch({type:Q.disablePlugin,plugins:Yo(I),_:{originalAction:Q.disablePlugin}},x,[_])})}},n.methods),m=!1,b={identify:function(I,_,x,H){try{var Y=_t(I)?I:null,J=Ke(I)?I:_,fe=x||{},ne=b.user();Zt(gs(Pt),Y);var ce=Y||J.userId||i(Pt,b,J);return Promise.resolve(new Promise(function(ae){S.dispatch(ee({type:Q.identifyStart,userId:ce,traits:J||{},options:fe,anonymousId:ne.anonymousId},ne.id&&ne.id!==Y&&{previousId:ne.id}),ae,[_,x,H])}))}catch(ae){return Promise.reject(ae)}},track:function(I,_,x,H){try{var Y=Ke(I)?I.event:I;if(!Y||!_t(Y))throw new Error("EventMissing");var J=Ke(I)?I:_||{},fe=Ke(x)?x:{};return Promise.resolve(new Promise(function(ne){S.dispatch({type:Q.trackStart,event:Y,properties:J,options:fe,userId:i(Pt,b,_),anonymousId:i(dr,b,_)},ne,[_,x,H])}))}catch(ne){return Promise.reject(ne)}},page:function(I,_,x){try{var H=Ke(I)?I:{},Y=Ke(_)?_:{};return Promise.resolve(new Promise(function(J){S.dispatch({type:Q.pageStart,properties:Ey(H),options:Y,userId:i(Pt,b,H),anonymousId:i(dr,b,H)},J,[I,_,x])}))}catch(J){return Promise.reject(J)}},user:function(I){if(I===Pt||I==="id")return i(Pt,b);if(I===dr||I==="anonId")return i(dr,b);var _=b.getState("user");return I?yd(_,I):_},reset:function(I){return new Promise(function(_){S.dispatch({type:Q.resetStart},_,I)})},ready:function(I){return m&&I({plugins:y,instance:b}),b.on(Q.ready,function(_){I&&I(_),m=!0})},on:function(I,_){if(!I||!ze(_))return!1;if(I===Q.bootstrap)throw new Error(".on disabled for "+I);var x=/Start$|Start:/;if(I==="*"){var H=function(ne){return function(ce){return function(ae){return ae.type.match(x)&&_({payload:ae,instance:b,plugins:o}),ce(ae)}}},Y=function(ne){return function(ce){return function(ae){return ae.type.match(x)||_({payload:ae,instance:b,plugins:o}),ce(ae)}}};return h(H,fn),h(Y,dn),function(){d(H,fn),d(Y,dn)}}var J=I.match(x)?fn:dn,fe=function(ne){return function(ce){return function(ae){return ae.type===I&&_({payload:ae,instance:b,plugins:o,abort:p}),ce(ae)}}};return h(fe,J),function(){return d(fe,J)}},once:function(I,_){if(!I||!ze(_))return!1;if(I===Q.bootstrap)throw new Error(".once disabled for "+I);var x=b.on(I,function(H){_({payload:H.payload,instance:b,plugins:o,abort:p}),x()});return x},getState:function(I){var _=S.getState();return I?yd(_,I):Object.assign({},_)},dispatch:function(I){var _=_t(I)?{type:I}:I;if(yn.includes(_.type))throw new Error("reserved action "+_.type);var x=ee({},_,{_:ee({originalAction:_.type},I._||{})});S.dispatch(x)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(I,_,x){S.dispatch({type:Q.setItemStart,key:I,value:_,options:x})},removeItem:function(I,_){S.dispatch({type:Q.removeItemStart,key:I,options:_})}},setAnonymousId:function(I,_){b.storage.setItem(Tt,I,_)},events:{core:yn,plugins:s}},R=n.middlewares.concat([function(I){return function(_){return function(x){return x.meta||(x.meta=Nd()),_(x)}}},v(fn),py(b,c,{all:l,plugins:s}),my(a),ly(b),dy(b),v(dn)]),A={context:Ty,user:fy(a),page:_y,track:by,plugins:yy(c),queue:Iy},j=br,z=br;if(Ce&&t.debug){var V=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;V&&(j=V({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?Mv():Ke(typeof arguments[0])?jd():jd().apply(null,arguments)}}var te,L=(function(I){return Object.keys(I).reduce(function(_,x){return Ry.includes(x)||(_[x]=I[x]),_},{})})(t),M=n.pluginsArray.reduce(function(I,_){var x=_.name,H=_.config,Y=_.loaded,J=n.pluginEnabled[x];return I[x]={enabled:J,initialized:!!J&&!_.initialize,loaded:!!Y({config:H}),config:H},I},{}),N={context:L,user:w,plugins:M},S=Cv((function(I){for(var _=Object.keys(I),x={},H=0;H<_.length;H++){var Y=_[H];typeof I[Y]===Et&&(x[Y]=I[Y])}var J,fe=Object.keys(x);try{(function(ne){Object.keys(ne).forEach(function(ce){var ae=ne[ce];if(typeof ae(void 0,{type:vs})===vt||typeof ae(void 0,{type:sy})===vt)throw new Error(Gr+" "+ce+" "+vt)})})(x)}catch(ne){J=ne}return function(ne,ce){if(ne===void 0&&(ne={}),J)throw J;for(var ae=!1,ke={},Ne=0;Ne<fe.length;Ne++){var De=fe[Ne],Le=ne[De],Qe=(0,x[De])(Le,ce);if(typeof Qe===vt){var St=cy(De,ce);throw new Error(St)}ke[De]=Qe,ae=ae||Qe!==Le}return ae?ke:ne}})(ee({},A,e)),N,z(j(uy.apply(void 0,R))));S.dispatch=(te=S.dispatch,function(I,_,x){var H=ee({},I,{meta:Nd(I.meta,_,Yo(x))});return te.apply(null,[H])});var O=Object.keys(o);S.dispatch({type:Q.bootstrap,plugins:O,config:L,params:g,user:w,initialUser:r,persistedUser:P});var q=O.filter(function(I){return n.pluginEnabled[I]}),F=O.filter(function(I){return!n.pluginEnabled[I]});return S.dispatch({type:Q.registerPlugins,plugins:O,enabled:n.pluginEnabled}),n.pluginsArray.map(function(I,_){var x=I.bootstrap,H=I.config,Y=I.name;x&&ze(x)&&x({instance:b,config:H,payload:I}),S.dispatch({type:Q.registerPluginType(Y),name:Y,enabled:n.pluginEnabled[Y],plugin:I}),n.pluginsArray.length===_+1&&S.dispatch({type:Q.initializeStart,plugins:q,disabled:F})}),Cy(function(I){S.dispatch({type:I?Q.offline:Q.online})}),(function(I,_,x){setInterval(function(){return Uv(I,_,x)},3e3)})(S,c,b),b}var fn="before",dn="after",zt="cookie",xt=zv(),Fv=Jn,Uy=Jn;function Kv(t){return xt?Jn(t,"",-1):Or(t)}function zv(){if(xt!==void 0)return xt;var t=zt+zt;try{Jn(t,t),xt=document.cookie.indexOf(t)!==-1,Kv(t)}catch{xt=!1}return xt}function Jn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return xt===!1&&(o?Zt(t,e):Jt(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 mt="localStorage",$y=Ws.bind(null,mt);Cr(mt,"getItem",Jt);Cr(mt,"setItem",Zt);Cr(mt,"removeItem",Or);var gt="sessionStorage",Ly=Ws.bind(null,gt);Cr(gt,"getItem",Jt);Cr(gt,"setItem",Zt);Cr(gt,"removeItem",Or);function pr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ke(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var qy=$y(),jy=Ly(),Ny=zv();function Ht(t,e){if(t){var r=Vs(e),n=!Xs(r),a=Js(r)?pr(localStorage.getItem(t)):void 0;if(n&&!fr(a))return a;var i=Zs(r)?pr(Fv(t)):void 0;if(n&&i)return i;var o=Ys(r)?pr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Jt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function _n(t,e,r){if(t&&!fr(e)){var n={},a=Vs(r),i=JSON.stringify(e),o=!Xs(a);return Js(a)&&(n[mt]=hn(mt,e,pr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[mt]:Zs(a)&&(n[zt]=hn(zt,e,pr(Fv(t))),Uy(t,i),o)?n[zt]:Ys(a)&&(n[gt]=hn(gt,e,pr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[gt]:(n[Ft]=hn(Ft,e,Jt(t)),Zt(t,e),o?n[Ft]:n)}}function xy(t,e){if(t){var r=Vs(e),n=Ht(t,Ev),a={};return!fr(n.localStorage)&&Js(r)&&(localStorage.removeItem(t),a[mt]=n.localStorage),!fr(n.cookie)&&Zs(r)&&(Kv(t),a[zt]=n.cookie),!fr(n.sessionStorage)&&Ys(r)&&(sessionStorage.removeItem(t),a[gt]=n.sessionStorage),!fr(n.global)&&Zn(r,Ft)&&(Or(t),a[Ft]=n.global),a}}function Vs(t){return t?_t(t)?t:t.storage:Pv}function Js(t){return qy&&Zn(t,mt)}function Zs(t){return Ny&&Zn(t,zt)}function Ys(t){return jy&&Zn(t,gt)}function Xs(t){return t===Ev||t==="all"}function Zn(t,e){return t===Pv||t===e||Xs(t)}function hn(t,e,r){return{location:t,current:e,previous:r}}var Dy={setItem:_n,getItem:Ht,removeItem:xy};function My(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function xd(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 Dd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?xd(Object(r),!0).forEach(function(n){My(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):xd(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Fy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:Dy};return Ay(Dd(Dd({},e),t))}const Qs="@sesamy/sesamy-js",Yn="1.68.1";function Ky(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=Hy(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function zy(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function Hy(t){return["#","?"].forEach(e=>t=zy(t,e)),t}function By(){Ky(()=>{dt.page()})}var Xo="up",Qo="down";function Gy(t){if(t===void 0&&(t={}),!Ce)return hs;var e=Fd(),r=ys(),n=Md(),a=vn(n,e),i=vn(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return hs;var d=h.map(function(p){return Number(p)}),v=oy(function(){var p=Fd(),g=(function(L,M){return M.map(function(N){return N===100?L-5:L*(N/100)})})(p,d),P=ys(),w=Md(),y=vn(w,p),m=vn(P,p);if(c=y>c?y:c,f=m<f?m:f,!(o.length>=d.length)){var b=l===w,R=Xo;b?R="initial":l<=w&&(R=Qo);var A=g,j=d;(R===Xo||b)&&(A=g.slice().reverse(),j=d.slice().reverse());var z=j.reduce(function(L,M,N){var S=A[N];return u.includes(M)&&w<=S&&(u=u.filter(function(O){return O!==M}),L.singleFunction=M),R===Qo&&!o.includes(M)&&w>=S&&M>i?(s.push(M),L.callbacks=L.callbacks.concat(M),L):R===Xo&&!o.includes(M)&&w<=S&&M<=y?(L.foundFunc=[M],L):(b&&w>=S&&L.foundFunc.length===0&&(L.foundFunc=[M]),!s.includes(M)&&w>=S&&(s.push(M),L.singleFunction?u.push(M):L.singleFunction=M),L)},{foundFunc:[],singleFunction:null,callbacks:[],direction:R});if(l=w,R===Qo&&z.callbacks&&z.callbacks.forEach(function(L){ze(t[L])&&(t[L]({trigger:L,direction:R,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(L))}),z.singleFunction){var V=z.singleFunction,te=z.direction;ze(t[V])&&t[V]({trigger:V,direction:te,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(V)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function ys(){return Ce?document.body.scrollTop||document.documentElement.scrollTop:0}function Wy(){return Ce?window.innerHeight||document.documentElement.clientHeight:0}function Md(){return Math.round(ys()+Wy())}function Fd(){if(!Ce)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function vn(t,e){return Math.round(t/e*100)}var ec="Event",Kd=ec+"Listener";function Vy(t){return function(e,r,n,a){var i=n||hs,o=a||!1;if(!Ce)return i;var s=Tn(r),u=Tn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+ec);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+Kd:"remove"+Kd,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Jy(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 Tn(t,e){if(_t(t))return e?Tn(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=ty(t);return e?i.map(function(o){return _t(o)?Tn(o,!0):o}).flat():i}function Jy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var es=Vy(ec);function Hv(t,e){return Ce&&ze(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),ze(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Hv.bind(null,"onerror");Hv.bind(null,"onload");var Bv=typeof window>"u",zd="hidden";function Zy(t){if(Bv)return!1;var e=Yy(),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 Yy(){var t=["webkit","moz","ms","o"];return Bv||zd in document?zd:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Xy=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Qy(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=Zy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Xy.map(function(s){return es(document,s,r)})).concat(es(window,"load",r)).concat(es(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function ew(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(g){d(),i&&!c&&i(xr(h),g),a&&c&&(c=!1,a(xr(r),g),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(xr(h),g))},s)}var p=Qy(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var g=p();return function(){return f=!1,h=new Date,v({type:"load"}),g()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:xr(h,f),idle:c?xr(r,f):0}}}}function xr(t,e){return e?0:Math.round((new Date-t)/1e3)}const Hd=5e3;class tw{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),ew({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:Hd}),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*Hd: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 Gv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function rw(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 Bd="sesamy_session_id";function nw(){let t=sessionStorage.getItem(Bd);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Bd,t)),t}function Wv(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)}function aw(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}let Fe={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"},paywallUrl:{selector:"sesamy-article",attribute:"paywall-url"}},Vv=[],Jv=!1,Bt;function Zv(){const t=window.location.pathname;return Vv.find(e=>e.path?t.includes(e.path):!0)}function iw(t,e){Vv=t.content||[];const r=Zv();r&&r.type==="article"&&(Fe={...Fe,...aw(r.selectors)},Jv=r.enablePaywallSettingsUrlFallback||!1),Bt=e}function ow(t,e){const{selector:r}=e;return r===Fe.article.selector?t:t.querySelector(r)}function Yv(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Yv(t.parentElement,e):t.textContent??void 0}function mr(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 tc({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||mr(`sesamy:${e}`)||mr(`og:${e}`)||mr(e)||r}function Xv(){const t=document.querySelectorAll(Fe.article.selector);return Array.from(t).map(on).filter(e=>e!==null)}function on(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Wv(e)},n=(i,o,s,u)=>{const l=ow(e,o);if(l){const c=Yv(l,o)||tc({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Fe.id),n("title",Fe.title,r.id),n("excerpt",Fe.excerpt,r.id),n("image",Fe.image,r.id),n("price",Fe.price,r.id,i=>parseFloat(i)),n("currency",Fe.currency,r.id),n("url",Fe.url,r.id),n("pass",Fe.pass,r.id),n("paywallUrl",Fe.paywallUrl,r.id),n("accessLevel",Fe.accessLevel,r.id,i=>i||"entitlement");const a=Zv();if(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),a.paywallUrl&&!r.paywallUrl&&(r.paywallUrl=a.paywallUrl)),Jv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r.url||(r.url=window.location.href),r}async function sw(t){const e=on(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl&&((await Bt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement")==="logged-in")return await Bt.auth.isAuthenticated()?{}:null;if(!e.url)throw new Error("Article must have a URL");return await Bt.entitlements.hasAccess(e.url,e.pass?.split(",")||[])||null}async function Qv(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=on(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Bt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Bt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Wv(r.parentElement||r);return Bt.proxy.getContent(i.token,n.url,o)}let ep=!1,wn,Rn,ws;function tp(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:ws,requestId:Math.random().toString(36).slice(2,9),sessionId:nw(),timestamp:new Date().toISOString(),version:Yn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:mr("sesamy:item-src"),publisherContentId:mr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:Qs,userAgent:navigator.userAgent,clientId:ws}}}))}const rp=rw(async t=>{if(t.length>0){const e=tp(t);ep?navigator.sendBeacon(Rn,e):(await fetch(Rn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function ts(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Rn,tp([e]))}else rp.push(t)}function cw(){return ep=!0,rp.flush()}function uw(t,e,r){wn=e,Rn=`${ot("logs",r)}/events`,ws=t}const lw={name:"custom-analytics-plugin",page:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ts({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ts({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n}=t;ts({anonymousId:r,userId:n,properties:e,type:"identify"})}},Gd=["source","medium","campaign","term","content"],kt="utm_",fw=1800*1e3;function np(t){return t?Date.now()-parseInt(t,10)>fw:!0}function Wd(){const t=document.referrer||"";if(!t)return;const e=Ht(`${kt}set_at`);(np(e)||!Ht(`${kt}referrer`))&&_n(`${kt}referrer`,t)}function dw(){const t=()=>{const r={};for(const a of Gd){const i=Ht(`${kt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Ht(`${kt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Wd()},campaign({payload:r}){const n=r?.campaign||{},a=Ht(`${kt}set_at`);if(Object.keys(n).length>0&&np(a)){for(const o of Gd){const s=n[o];s&&_n(`${kt}${o}`,s)}_n(`${kt}set_at`,String(Date.now()))}Wd()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const hw=dw(),Vd=new Map,Jd=new Map;function vw({clientId:t,enabled:e=!0,environment:r}){uw(t,e,r),e&&(window.addEventListener("beforeunload",()=>{Jd.forEach((n,a)=>{n.bind(a)()}),cw()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Vd.forEach((n,a)=>{n.bind(a)()})}),By(),Gv(()=>{const n=new tw({element:document.body,viewCallback:()=>{dt.page()},activeDurationCallback:(a,i,o)=>{dt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{dt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{dt.track("scroll",{scroll:a.scrollMax})}});Jd.set(document.body,()=>{n.flush()}),Vd.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Be.AUTHENTICATED,async n=>{const a=n;await dt.identify(a.detail.sub)}),window.addEventListener(Be.LOGOUT,async()=>{await dt.track("logout",{}),await dt.reset()}))}const dt=Fy({app:Qs,version:Yn,plugins:[hw,lw]});function ap(t,e){dt.track(t,e)}function ip(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});ap(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function pw(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function mw(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function gw(){return/android/i.test(navigator.userAgent)}let Oe,op,Wr,bs=!1,bn=!1;Jr()&&window.addEventListener("pageshow",()=>{bn=!1});const Sr="sesamyAccessToken",rs="sesamyRefreshToken",On="sesamySilentAuthThrottle",yw=300*1e3;async function Xn(){return bs?!0:new Promise((t,e)=>{const r=setTimeout(()=>{bs?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Be.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function ww(t){if(!t)return null;const e=localStorage.getItem(rs);if(!e)return le("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(rs),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(rs,i.refresh_token),localStorage.setItem(Sr,i.access_token),i.access_token}catch{ac()}}async function rc(){const t=localStorage.getItem(Sr);if(!t)return null;const e=ic(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await ww(e);if(r)return r;localStorage.removeItem(Sr)}return t}let pn=null;const bw=64;function Sw(){try{if(pn!==null)return pn;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===bw)return pn=!0,!0}}catch(t){le(`Error checking for existing auth0 tokens: ${t.message}`)}return pn=!1,!1}function Iw(t){if(t.domains&&t.domains.length>0){const e=Ir(window.location.href);if(e){for(const r of t.domains)if(Ir(`https://${r}`)===e)return le(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;le(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return le(`Using fallback domain property: ${t.domain}`),t.domain}function Ir(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 Pw(t){if(t.enabled===!1)return;op=t.organization;const e=Iw(t);Wr=e&&!Sw()?e:Iv("token",t.environment);const r={domain:Wr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",Ir(window.location.href)!==Ir(`https://${Wr}`)&&(r.useRefreshTokens=!0),le(`Initializing auth0 client: ${JSON.stringify(r)}`),Oe=await Rg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)le("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{le("Code found in URL, handling redirect");try{const u=await Oe.handleRedirectCallback();le(`Login result: ${JSON.stringify(u)}`);const l=await Oe.getUser();if(!l)throw le("No user found"),new Error("No user found");le(`User found ${JSON.stringify(l)}`),nc(),Wt(Be.AUTHENTICATED,l),le("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())}bs=!0,Wt(Be.AUTH_INITIALIZED,{})}async function gr(){return await Xn(),await rc()?!0:Oe?Oe.isAuthenticated():!1}async function Ew(){return await Xn(),await rc()?(le("Using local user"),{sub:"local",name:"Local User"}):Oe?Oe.getUser():null}function sp(t){if(bn)return le("Login already in progress"),null;if(bn=!0,setTimeout(()=>{bn=!1},3e3),localStorage.removeItem(Sr),!Oe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:op,redirect_uri:window.location.href,ui_locales:Br(),incognito:Gs(),...e}}}async function Qn(t){const e=sp(t);if(e)return Oe.loginWithRedirect(e)}async function cp(t){const e=sp(t);if(!e)return;await Oe.loginWithPopup(e,{timeoutInSeconds:1800}),nc(),ip(Be.AUTHENTICATED,await Oe.getUser()).canceled||window.location.reload()}async function kw(t){return Wr&&Ir(window.location.href)!==Ir(`https://${Wr}`)&&(mw()||gw()||Gs())?cp(t):Qn(t)}function _w(){try{const t=sessionStorage.getItem(On);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<yw}catch{return sessionStorage.removeItem(On),!1}}function Tw(){try{const t={timestamp:Date.now()};sessionStorage.setItem(On,JSON.stringify(t))}catch{le("Failed to set silent auth throttle in sessionStorage")}}function nc(){try{sessionStorage.removeItem(On)}catch{}}async function qt(t=!0,e=!1){await Xn();const r=await rc();if(r)return r;if(!e&&_w()){if(le("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!Oe)return le("Auth client not initialized"),null;let n=await Oe.getTokenSilently();const a=ic(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await Oe.getTokenSilently({cacheMode:e?"off":"on"})),nc(),n}catch(n){const a=n;if(le(`Failed to get token silently: ${a.message}`),Tw(),await Oe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await ac(),t)throw n;return null}}async function ac(t={}){if(await Xn(),localStorage.removeItem(Sr),Wt(Be.LOGOUT,{}),!!Oe)return le(`Logout with options: ${JSON.stringify(t)}`),Oe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function ic(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 Ss(t){const e=ic(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");le("Set token"),localStorage.setItem(Sr,t),Wt(Be.AUTHENTICATED,e)}const Rw=(t,e)=>e.skipDedupe||e.method!=="GET",Ow=(t,e)=>e.method+"@"+t,Cw=t=>t.clone(),Aw=({skip:t=Rw,key:e=Ow,resolver:r=Cw}={})=>{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)}}},Uw=(t,e)=>t*e,$w=t=>t&&t.ok,Lw=({delayTimer:t=500,delayRamp:e=Uw,maxAttempts:r=10,until:n=$w,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(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):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 Vr extends Error{status;statusText;url;body;constructor(e,r,n,a,i){super(a),this.name="APIError",this.status=e,this.statusText=r,this.url=n,this.body=i,Error.captureStackTrace&&Error.captureStackTrace(this,Vr)}isClientError(){return this.status>=400&&this.status<500}isServerError(){return this.status>=500}isForbiddenError(){return this.status===403}isNotFoundError(){return this.status===404}}var Cn=(t=>(t.BROWSER="browser",t.NORMAL="normal",t))(Cn||{});const qw="application/json",up="Content-Type",or=Symbol(),lp=Symbol();function Zd(t={}){var e;const r=t instanceof Array?Object.fromEntries(t):t;return(e=Object.entries(r).find(([n])=>n.toLowerCase()===up.toLowerCase()))===null||e===void 0?void 0:e[1]}function Yd(t){return/^application\/.*json.*/.test(t)}const Gt=function(t,e,r=!1){return Object.entries(e).reduce((n,[a,i])=>{const o=t[a];return Array.isArray(o)&&Array.isArray(i)?n[a]=r?[...o,...i]:i:typeof o=="object"&&typeof i=="object"?n[a]=Gt(o,i,r):n[a]=i,n},{...t})},Pr={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,r=!1,...n){const a=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!a)throw new Error(t+" is not defined");return r&&a?new a(...n):a}};function jw(t,e=!1){Pr.options=e?t:Gt(Pr.options,t)}function Nw(t,e=!1){Pr.polyfills=e?t:Gt(Pr.polyfills,t)}function xw(t){Pr.errorType=t}const Dw=t=>e=>t.reduceRight((r,n)=>n(r),e)||e;class fp extends Error{}const Mw=t=>{const e=Object.create(null);t=t._addons.reduce((y,m)=>m.beforeRequest&&m.beforeRequest(y,t._options,e)||y,t);const{_url:r,_options:n,_config:a,_catchers:i,_resolvers:o,_middlewares:s,_addons:u}=t,l=new Map(i),c=Gt(a.options,n);let f=r;const h=Dw(s)((y,m)=>(f=y,a.polyfill("fetch")(y,m)))(r,c),d=new Error,v=h.catch(y=>{throw{[or]:y}}).then(y=>{var m;if(!y.ok){const b=new fp;if(b.cause=d,b.stack=b.stack+`
|
|
36
|
+
CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw b;const R=a.errorType==="json"||((m=y.headers.get("Content-Type"))===null||m===void 0?void 0:m.split(";")[0])==="application/json";return(a.errorType?R?y.text():y[a.errorType]():Promise.resolve(y.body)).then(A=>{if(b.message=typeof A=="string"?A:y.statusText,A)if(R&&typeof A=="string"){b.text=A;try{b.json=JSON.parse(A)}catch{}}else b[a.errorType]=A;throw b})}return y}),p=y=>y.catch(m=>{const b=Object.prototype.hasOwnProperty.call(m,or),R=b?m[or]:m,A=R?.status&&l.get(R.status)||l.get(R?.name)||b&&l.has(or)&&l.get(or);if(A)return A(R,t);const j=l.get(lp);if(j)return j(R,t);throw R}),g=y=>m=>p(y?v.then(b=>b&&b[y]()).then(b=>m?m(b):b):v.then(b=>m?m(b):b)),P={_wretchReq:t,_fetchReq:h,_sharedState:e,res:g(null),json:g("json"),blob:g("blob"),formData:g("formData"),arrayBuffer:g("arrayBuffer"),text:g("text"),error(y,m){return l.set(y,m),this},badRequest(y){return this.error(400,y)},unauthorized(y){return this.error(401,y)},forbidden(y){return this.error(403,y)},notFound(y){return this.error(404,y)},timeout(y){return this.error(408,y)},internalError(y){return this.error(500,y)},fetchError(y){return this.error(or,y)}},w=u.reduce((y,m)=>({...y,...typeof m.resolver=="function"?m.resolver(y):m.resolver}),P);return o.reduce((y,m)=>m(y,t),w)},Fw={_url:"",_options:{},_config:Pr,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:Gt(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const r=this._url.split("?");return{...this,_url:r.length>1?r[0]+t+"?"+r[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:Gt(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:Gt(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[up]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const r=new Map(this._catchers);return r.set(t,e),{...this,_catchers:r}},catcherFallback(t){return this.catcher(lp,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",r=null){let n=this.url(e).options({method:t});const a=Zd(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||Yd(a));return n=r?o?n.json(r,a):n.body(r):n,Mw(n._deferred.reduce((s,u)=>u(s,s._url,s._options),n))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const r=Zd(this._options.headers);return this.content(e||Yd(r)&&r||qw).body(JSON.stringify(t))}};function ct(t="",e={}){return{...Fw,_url:t,_options:e}}ct.default=ct;ct.options=jw;ct.errorType=xw;ct.polyfills=Nw;ct.WretchError=fp;const Kw=(t,e)=>e.skipDedupe||e.method!=="GET",zw=(t,e)=>e.method+"@"+t,Hw=t=>t.clone(),Bw=({skip:t=Kw,key:e=zw,resolver:r=Hw}={})=>{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)}}},Gw=(t,e)=>e.skipCache||e.method!=="GET",Ww=(t,e)=>e.method+"@"+t,Vw=()=>!1,Jw=()=>null,Zw=t=>t.ok,Yw=({throttle:t=1e3,skip:e=Gw,key:r=Ww,clear:n=Vw,invalidate:a=Jw,condition:i=Zw,flagResponseOnCacheHit:o="__cached"}={})=>{const s=new Map,u=new Map,l=new Set,c=h=>{t&&!l.has(h)&&(l.add(h),setTimeout(()=>{l.delete(h)},t))},f=h=>(d,v)=>{const p=r(d,v);let g=a(d,v);if(g&&(g instanceof Array||(g=[g]),g.forEach(P=>{typeof P=="string"?s.delete(P):P instanceof RegExp&&s.forEach((w,y)=>{P.test(y)&&s.delete(y)})})),n(d,v)&&s.clear(),e(d,v))return h(d,v);if(l.has(p)){if(s.has(p)){const P=s.get(p).clone();return o&&Object.defineProperty(P,o,{value:p,enumerable:!1}),Promise.resolve(P)}else if(u.has(p))return new Promise((P,w)=>{u.get(p).push([P,w])})}return u.has(p)||u.set(p,[]),c(p),h(d,v).then(P=>(i(P.clone())&&s.set(p,P.clone()),u.get(p).forEach(([w])=>w(P.clone())),u.delete(p),P)).catch(P=>{throw u.get(p).forEach(([,w])=>w(P)),u.delete(p),P})};return f.cacheResponse=function(h,d){c(h),s.set(h,d)},f.cache=s,f.inflight=u,f.throttling=l,f},Xw=(t,e)=>t*e,Qw=t=>t&&t.ok,eb=({delayTimer:t=500,delayRamp:e=Xw,maxAttempts:r=10,until:n=Qw,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(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):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)})},tb="@sesamy/sdk",rb="1.19.0";class nb{cache=new Map;get(e){return this.cache.get(e)||null}set(e,r){this.cache.set(e,r)}remove(e){this.cache.delete(e)}clear(){this.cache.clear()}}const Kr="sesamyCacheTimestamp",ab=t=>{const{libraryName:e=tb,libraryVersion:r=rb,cache:n}=t,a=n?.storage||new nb,i=[s=>async(u,l)=>{if(n?.mode===Cn.BROWSER){let c;typeof sessionStorage<"u"?(c=sessionStorage.getItem(Kr),c||(c=Date.now().toString(),sessionStorage.setItem(Kr,c))):(c=a.get(Kr),c||(c=Date.now().toString(),a.set(Kr,c)));const f={...l,headers:{...l.headers,"Cache-Timestamp":c}};return s(u,f)}return s(u,l)},s=>async(u,l)=>{const c=await t.tokenProvider(),f={...l,headers:{...l.headers,Authorization:c}};return s(u,f)},Bw()];n?.mode===Cn.NORMAL&&i.push(Yw({throttle:300*1e3,skip:(s,u)=>u.method!=="GET"})),i.push(eb({delayTimer:1e3,delayRamp:(s,u)=>s*u,maxAttempts:3,until:s=>!!(s&&(s.ok||s.status>=400&&s.status<500)),retryOnNetworkError:!1}));const o=ct(t.baseUrl).headers({"Content-Type":"application/json","X-Sesamy-Client":`${e}/${r}`,...t.headers}).middlewares(i);return{async request(s,u={}){try{const l=/^https?:\/\//.test(s);let c=o.url(s,l);u.headers&&(c=c.headers(u.headers));const f=(u.method||"GET").toLowerCase();let h;switch(f){case"get":h=c.get();break;case"post":h=c.post(u.body);break;case"put":h=c.put(u.body);break;case"patch":h=c.patch(u.body);break;case"delete":h=c.delete();break;default:h=c.get()}const d=await h.res();if(d.ok&&["post","patch","put","delete"].includes(f)&&pt(),d.status===204)return null;if(!d.ok){const v=await d.text().catch(()=>"Unknown error");throw new Vr(d.status,d.statusText,d.url,`API Error ${d.status}: ${v}`,v)}return await d.json()}catch(l){if(l instanceof Vr)throw l;const c=l.status||500,f=l.message||"Unknown error",h=`${t.baseUrl}${s}`;throw new Vr(c,f,h,`API Error ${c}: ${l.message||"Unknown error"}`,l.message||"Unknown error")}}}},pt=()=>(typeof sessionStorage<"u"&&sessionStorage.removeItem(Kr),"Cache cleared"),Dr={get:async(t,e)=>t.request(`/profile/${e}`),update:async(t,e,r)=>t.request(`/profile/${e}`,{method:"PATCH",body:JSON.stringify(r)}),checkSpotifyLink:async t=>t.request("/profile/spotify-link"),unlinkSpotify:async t=>t.request("/profile/unlink-spotify",{method:"POST"}),delete:async t=>{await t.request("/profile",{method:"DELETE"})}},ns={list:async(t,e)=>{const r=new URLSearchParams;e?.type&&r.append("type",e.type),e?.sku&&r.append("sku",e.sku),e?.purchaseOptionId&&r.append("purchase-option-id",e.purchaseOptionId),e?.waitForEntitlementAfter&&r.append("wait-for-entitlement-after",e.waitForEntitlementAfter);const n=r.toString(),a=n?`/entitlements?${n}`:"/entitlements";return t.request(a)},get:async(t,e)=>t.request(`/entitlements/${e}`),getAccess:async(t,e)=>t.request(`/entitlements/${e}/access`)},Xd={list:async t=>t.request("/subscriptions"),get:async(t,e)=>t.request(`/subscriptions/${e}`)},Qd={get:async(t,e)=>t.request(`/products/${e}`),autoOnboard:async(t,e)=>t.request(`/products/${e}/auto-onboard`,{method:"POST"})},Mr={list:async t=>t.request("/contracts"),get:async(t,e)=>t.request(`/contracts/${e}`),cancel:async(t,e)=>t.request(`/contracts/${e}/cancel`,{method:"POST"}),createAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments`,{method:"POST",body:JSON.stringify(r)}),confirmAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments/${r}/confirm`,{method:"POST"})},as={get:async t=>t.request("/user-metadata"),set:async(t,e,r)=>{await t.request(`/user-metadata/${e}`,{method:"PUT",body:r})},delete:async(t,e)=>{await t.request(`/user-metadata/${e}`,{method:"DELETE"})}},sr={list:async t=>t.request("/tallies"),get:async(t,e)=>t.request(`/tallies/${e}`),update:async(t,e,r)=>t.request(`/tallies/${e}`,{method:"PUT",body:JSON.stringify(r)}),create:async(t,e)=>t.request("/tallies",{method:"POST",body:JSON.stringify(e)}),delete:async(t,e)=>{try{return await t.request(`/tallies/${e}`,{method:"DELETE"}),!0}catch{return!1}},push:async(t,e,r)=>t.request(`/tallies/${e}/push`,{method:"POST",body:JSON.stringify(r)})},is={list:async t=>t.request("/tags"),add:async(t,e)=>{await t.request("/tags",{method:"POST",body:JSON.stringify({tag:e})})},remove:async(t,e)=>{await t.request(`/tags/${e}`,{method:"DELETE"})}},cr={generateCheckoutLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`meta-${n}`,a)}),r.toString()},generateAccountLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}${e.contractId?`/${encodeURIComponent(e.contractId)}`:""}`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePaymentLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/change-payment-method`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePlanLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/edit-plan`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateConsumeLink:(t,e)=>{const r=e.language||"en";let n=new URL(`${t.baseUrl}/consume/${encodeURIComponent(r)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.sku)}`);return e.episodeId?n.href+=`/${encodeURIComponent(e.episodeId)}`:n.href+="/listen",n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()}},os={generateLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`meta-${n}`,a)}),r.toString()},create:async(t,e)=>t.request("/checkouts",{method:"POST",body:JSON.stringify(e)}),get:async(t,e)=>t.request(`/checkouts/${e}`),update:async(t,e,r)=>t.request(`/checkouts/${e}`,{method:"PATCH",body:JSON.stringify(r)})},eh={list:async t=>t.request("/bills"),get:async(t,e)=>t.request(`/bills/${e}`)},th={list:async t=>t.request("/fulfillments"),create:async(t,e)=>t.request("/fulfillments",{method:"POST",body:JSON.stringify(e)})},ib={get:async(t,e)=>{try{return new URL(e),t.request(e)}catch{return t.request(`/paywalls/${e}`)}}},ob={list:async t=>t.request("/payment-issues")},sb={content:async(t,e,r,n,a)=>{const i=new URLSearchParams({url:e});return r&&i.append("selector",r),n&&i.append("cache",n),t.request(`/proxy?${i.toString()}`,a)}},cb={list:async(t,e)=>{const r=(e?new URLSearchParams({q:e}):new URLSearchParams).toString(),n=r?`/transactions?${r}`:"/transactions";return t.request(n)}},rh={get:async t=>t.request("/vendor"),list:async t=>t.request("/vendors")},ub=t=>{const e=ab(t);return{profile:{get:r=>Dr.get(e,r),update:(r,n)=>Dr.update(e,r,n),checkSpotifyLink:()=>Dr.checkSpotifyLink(e),unlinkSpotify:()=>Dr.unlinkSpotify(e),delete:()=>Dr.delete(e)},entitlements:{list:r=>ns.list(e,r),get:r=>ns.get(e,r),getAccess:r=>ns.getAccess(e,r)},subscriptions:{list:()=>Xd.list(e),get:r=>Xd.get(e,r)},products:{get:r=>Qd.get(e,r),autoOnboard:r=>Qd.autoOnboard(e,r)},contracts:{list:()=>Mr.list(e),get:r=>Mr.get(e,r),cancel:r=>Mr.cancel(e,r),createAmendment:(r,n)=>Mr.createAmendment(e,r,n),confirmAmendment:(r,n)=>Mr.confirmAmendment(e,r,n)},userMetadata:{get:()=>as.get(e),set:(r,n)=>as.set(e,r,n),delete:r=>as.delete(e,r)},tallies:{list:()=>sr.list(e),get:r=>sr.get(e,r),update:(r,n)=>sr.update(e,r,n),create:r=>sr.create(e,r),delete:r=>sr.delete(e,r),push:(r,n)=>sr.push(e,r,n)},tags:{list:()=>is.list(e),add:r=>is.add(e,r),remove:r=>is.remove(e,r)},checkouts:{generateLink:(r,n)=>cr.generateCheckoutLink(r,n),create:r=>os.create(e,r),get:r=>os.get(e,r),update:(r,n)=>os.update(e,r,n)},links:{generateCheckoutLink:(r,n)=>cr.generateCheckoutLink(r,n),generateAccountLink:(r,n)=>cr.generateAccountLink(r,n),generateChangePaymentLink:(r,n)=>cr.generateChangePaymentLink(r,n),generateChangePlanLink:(r,n)=>cr.generateChangePlanLink(r,n),generateConsumeLink:(r,n)=>cr.generateConsumeLink(r,n)},bills:{list:()=>eh.list(e),get:r=>eh.get(e,r)},fulfillments:{list:()=>th.list(e),create:r=>th.create(e,r)},paywalls:{get:r=>ib.get(e,r)},paymentIssues:{list:()=>ob.list(e)},proxy:{content:(r,n,a,i)=>sb.content(e,r,n,a,i)},transactions:{list:r=>cb.list(e,r)},vendor:{get:()=>rh.get(e),list:()=>rh.list(e)}}};class lb{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 Is(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function dp(t,e){if(Is(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 nh(t){return t.endsWith("/")?t.slice(0,-1):t}function ah(t,e){if(!Is(t)||!Is(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&nh(r.pathname)===nh(n.pathname)}function fb(t,e,r){const n=new URL(`${ot("checkout3",t.environment)}`);e.language&&n.searchParams.set("lang",e.language);let a=e.sku,i=e.purchaseOptionId,o=e.itemSrc;if(e.itemSrc){const c=dp(e.itemSrc,e.purchaseOptionId);a=c.sku||a,i=c.purchaseOption||i,o=c.itemSrc}a?(n.searchParams.set("sku",a),i&&n.searchParams.set("po-id",i)):o&&n.searchParams.set("url",o),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 s=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(c=>{const[f,h]=c.trim().split("=");return{key:f,value:h}}).filter(c=>s.some(f=>f===c.key)).forEach(c=>{n.searchParams.append(c.key,c.value)});let l=new URL(window.location.href);if(e.redirectUrl)try{l=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return l.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&l.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",l.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:c,methods:f})=>f?f.map(h=>`${c}|${h}`):c).join(",")),e.requireAddress&&n.searchParams.set("require-address","true"),e.giftMode&&n.searchParams.set("gift-mode","true"),e.payerEmail&&n.searchParams.set("payer-email",e.payerEmail),e.metadata&&Object.entries(e.metadata).forEach(([c,f])=>{n.searchParams.set(`meta-${c}`,String(f))}),n}const hp="sesamySignedURLs";function oc(){const t=sessionStorage.getItem(hp);return t?JSON.parse(t):[]}function db(t){const e=oc();e.push(t),le(`Adding signed URL: ${t}`),sessionStorage.setItem(hp,JSON.stringify(e))}function hb(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const Ps="sesamyAttribution";function vb(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 pb(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function An(){return vb(Ps)||{}}function vp(t){if(t===null)localStorage.removeItem(Ps);else{le(`Setting attribution ${JSON.stringify(t)}`);const e=An()??{},r=hb({...e,...pb(t)});localStorage.setItem(Ps,JSON.stringify({value:r}))}}const pp="sesamyFlags";async function mp(t){try{localStorage.setItem(pp,JSON.stringify(t))}catch{le("Failed to save flags to localStorage")}}async function gp(t,e){const r=await sn();r[t]=e,await mp(r)}async function yp(t){return(await sn())[t]}async function wp(t){const e=await sn();t in e&&(delete e[t],await mp(e))}async function sn(){try{const t=localStorage.getItem(pp);return t?JSON.parse(t):{}}catch{return{}}}function mb(t){const e=t.endpoint||ot("api2",t.environment),n=ub({baseUrl:e,tokenProvider:async()=>{if(await gr())try{const q=await qt(!1);if(q)return`Bearer ${q}`}catch{}const S=localStorage.getItem("__anon_id");return`Basic ${btoa(`${t.clientId}|${S}:`)}`},libraryName:Qs,libraryVersion:Yn,vendorId:t.vendorId,cache:{mode:Cn.BROWSER,storage:new lb}}),a=S=>async(O,q)=>{let F=sessionStorage.getItem(md);F||(F=Date.now().toString(),sessionStorage.setItem(md,F));const I={...q,headers:{...q.headers,"Cache-Timestamp":F}};return S(O,I)},i=(S=!0)=>O=>async(q,F)=>{let I=null;if(I=await qt(S),!I){if(S)throw new Error("No access token available");return O(q,F)}const _={...F,headers:{...F.headers,...I?{Authorization:`Bearer ${I}`}:{}}};return O(q,_)},o=ct(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Aw(),Lw({delayTimer:1e3,delayRamp:(S,O)=>S*O,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(S={}){const{waitForEntitlementAfter:O,includeSignedLinks:q=!0}=S,F=await gr()?await n.entitlements.list({waitForEntitlementAfter:O?.toISOString()}):[];return q&&F.push(...oc()),F}async function u(S,O=[]){return(await s())?.find(I=>{if(S){const{sku:_,purchaseOption:x}=dp(S);if("sku"in I&&_===I.sku||x&&"purchaseOptionsId"in I&&x===I.purchaseOptionsId||ah(S,I.url))return!0}return!!O.some(_=>ah(_,I.url))})}async function l(S,O,q){const F=new URL(ot("api2",t.environment));return F.pathname="/proxy",F.searchParams.set("url",O),q&&F.searchParams.set("selector",q),ct(F.toString()).headers({Authorization:`Bearer ${S}`}).get().text()}async function c(S){if(!S)throw new Error("SKU is required to get fulfillments");return await gr()?await o.get(`/fulfillments?sku=${encodeURIComponent(S)}`).json():[]}async function f(S,O){if(!S||!O)throw new Error("SKU and itemId are required to request delivery");return(await o.post({sku:S},`/fulfillments/${encodeURIComponent(O)}/request-delivery?`).res()).ok}async function h(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),o.get("/subscriptions").json()}async function d(S){return(await n.transactions.list())?.find(q=>q.id===S)}async function v(){return await o.url("/tags").get().json()}async function p(S){const O=await o.url(`/tags/${encodeURIComponent(S)}`).delete().res();return pt(),O.ok}async function g(S){const O=await o.url("/tags").post(encodeURIComponent(S)).res();return Wt(Be.USER_ATTRIBUTE_CHANGED,{}),pt(),O.ok}async function P(S){return(await n.tallies.get(S)).value}async function w(){const S=await n.tallies.list(),O={};for(const q of S)O[q.id]=q.value;return O}async function y(S){return await n.tallies.delete(S)}async function m(S,O){return await n.tallies.push(S,O)}async function b(){return await qt(!1)?await o.url("/profile").get().json():null}async function R(S){const O=await o.url("/profile").patch(S).res();return pt(),O.ok}async function A(){return(await o.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function j(){return(await o.url("/profile/unlink-spotify").post().res()).ok}async function z(S){const O=await qt(!1);if(!O)throw new Error("No access token available");const q=new URL(`${ot("access-sync",t.environment)}/spotify/sesamy-callback`);q.searchParams.set("access_token",O),q.searchParams.set("state",S),window.location.href=q.toString()}async function V(S){const O=await o.url(`/products/${encodeURIComponent(S)}/auto-onboard`).post().json();return O.length&&pt(),O}async function te(S,O=3600){const{shortlink:q}=await ct(Ag).post({url:S,ttl:O}).json();return q}async function L(S){const O=await qt(!1,!0);let q;const F=S.language||Br(),I=An();switch(S.target){case"account":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}${S.contractId?`/${encodeURIComponent(S.contractId)}`:""}`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-payment":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/change-payment-method`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-plan":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/edit-plan`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"consume":q=new URL(`${ot("consume",t.environment)}/${encodeURIComponent(S.language||F)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.sku)}`),S.episodeId?q.href+=`/${S.episodeId}`:q.href+="/listen",q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"checkout":q=fb(t,{language:F,...S},I);break;default:throw new Error("Invalid target")}return O&&(q.hash=`#access_token=${O}`),S.shorten?te(q.href,S.ttl):q.href}async function M(){const S=await qt(!1),O=new URL(`${ot("account",t.environment)}/subscriptions/${t.clientId}`);S&&(O.hash=`#access_token=${S}`),window.location.href=O.toString()}async function N(S){const O=An(),q=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(F=>{const[I,_]=F.trim().split("=");q.includes(I)&&!O[I]&&(O[I]=_)}),n.checkouts.create({language:Br(),...S,attribution:{...O,...S.attribution}})}return{autoOnboardProduct:V,bills:n.bills,checkouts:{create:N,get:n.checkouts.get,update:n.checkouts.update},content:{list:Xv,get:on,getLanguage:Br,unlock:Qv,getPropertyFromHTML:tc},contracts:n.contracts,deleteTag:p,deleteTally:y,entitlements:n.entitlements,flags:{get:yp,set:gp,list:sn,delete:wp},generateLink:L,getProxyContent:l,getEntitlements:s,getFulfillments:c,requestDelivery:f,hasAccess:u,isSpotifyLinked:A,linkSpotify:z,openHostedAccountPage:M,paywalls:n.paywalls,paymentIssues:n.paymentIssues,getProfile:b,products:n.products,getSubscriptions:h,getTally:P,getTallies:w,getTags:v,getTransaction:d,transactions:n.transactions,userMetadata:n.userMetadata,pushTally:m,setTag:g,unlinkSpotify:j,updateProfile:R,vendor:n.vendor}}const gb=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function yb(){return new Promise(t=>{const e=gb.map(r=>{const n=document.createElement("div");return n.innerHTML=" ",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 wb(){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}}function bb(t){const{autoOnboardProduct:e,bills:r,checkouts:n,contracts:a,deleteTag:i,deleteTally:o,entitlements:s,generateLink:u,getEntitlements:l,getFulfillments:c,getProfile:f,getProxyContent:h,getSubscriptions:d,getTags:v,getTally:p,getTallies:g,getTransaction:P,hasAccess:w,isSpotifyLinked:y,linkSpotify:m,openHostedAccountPage:b,paywalls:R,paymentIssues:A,products:j,pushTally:z,requestDelivery:V,setTag:te,transactions:L,unlinkSpotify:M,updateProfile:N,userMetadata:S,vendor:O}=mb(t),q=()=>A.list(),F={analytics:{track:ap},attribution:{get:An,set:vp},auth:{getUser:f,getTokenSilently:qt,isAuthenticated:gr,loginWithRedirect:Qn,loginWithPopup:cp,login:kw,logout:ac,setToken:Ss},bills:r,browser:{detectAdblock:yb,isInAppBrowser:wb,isIncognito:Gs},checkouts:n,clearCache:pt,content:{list:Xv,get:on,getLanguage:Br,hasAccess:sw,unlock:Qv,getPropertyFromHTML:tc},contracts:a,entitlements:{...s,access:s.getAccess,hasAccess:w,list:l,signedLinks:oc},events:{emit:ip,cancel:pw},flags:{get:yp,set:gp,list:sn,delete:wp},fulfillments:{list:c,requestDelivery:V},generateLink:u,getPaymentIssues:q,getVersion:Sb,isReady:()=>exports.isInitialized,log:le,paywalls:R,paymentIssues:A,products:{...j,autoOnboard:e,linkSpotify:m},profile:{get:f,isSpotifyLinked:y,openHostedAccountPage:b,unlinkSpotify:M,update:N},proxy:{getContent:h},subscriptions:{list:d},tags:{delete:i,list:v,set:te},tallies:{delete:o,get:p,list:g,push:z},transactions:{...L,get:P},userMetadata:S,vendor:O,setToken:Ss};return t.namespace&&(window[t.namespace]=F),F}function Sb(){return Yn}function Ib(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=`
|
|
37
37
|
${e.selector}::before {
|
|
38
38
|
content: '';
|
|
39
39
|
position: absolute;
|