@uniformdev/context 16.0.1-nuxt.158 → 16.0.1-nuxt.179

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/api/api.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { a as AggregateGetParameters, b as AggregateGetResponse, c as AggregatePutParameters, d as AggregateDeleteParameters, D as DimensionGetParameters, e as DimensionGetResponse, f as EnrichmentGetParameters, g as EnrichmentGetResponse, h as EnrichmentPutParameters, i as EnrichmentDeleteParameters, j as EnrichmentValuePutParameters, k as EnrichmentValueDeleteParameters, M as ManifestGetParameters, l as ManifestGetResponse, m as QuirkGetParameters, n as QuirkGetResponse, o as QuirkPutParameters, p as QuirkDeleteParameters, q as SignalGetParameters, r as SignalGetResponse, s as SignalPutParameters, t as SignalDeleteParameters, u as TestGetParameters, v as TestGetResponse, w as TestPutParameters, x as TestDeleteParameters, y as DimensionDefinition } from '../contextTypes-572b0d33.js';
2
2
  export { A as Aggregate, d as AggregateDeleteParameters, a as AggregateGetParameters, b as AggregateGetResponse, c as AggregatePutParameters, C as CookieCriteria, I as CurrentPageCriteria, y as DimensionDefinition, D as DimensionGetParameters, e as DimensionGetResponse, z as EnrichmentCategory, E as EnrichmentCategoryWithValues, i as EnrichmentDeleteParameters, f as EnrichmentGetParameters, g as EnrichmentGetResponse, h as EnrichmentPutParameters, B as EnrichmentValue, k as EnrichmentValueDeleteParameters, j as EnrichmentValuePutParameters, H as EventCriteria, M as ManifestGetParameters, l as ManifestGetResponse, P as PageViewCountCriteria, F as QueryStringCriteria, Q as Quirk, G as QuirkCriteria, p as QuirkDeleteParameters, m as QuirkGetParameters, n as QuirkGetResponse, o as QuirkPutParameters, R as RootSignalCriteriaGroup, t as SignalDeleteParameters, q as SignalGetParameters, r as SignalGetResponse, s as SignalPutParameters, S as SignalWithId, T as Test, x as TestDeleteParameters, u as TestGetParameters, v as TestGetResponse, w as TestPutParameters } from '../contextTypes-572b0d33.js';
3
- import { g as ManifestV2 } from '../types-876fb8b8.js';
3
+ import { g as ManifestV2 } from '../types-682b51bf.js';
4
4
  import '../v2-manifest.swagger-ff2af13e.js';
5
5
  import 'mitt';
6
6
 
package/dist/api/api.mjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var $=Object.defineProperty;var M=(r,e,t)=>e in r?$(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var l=(r,e,t)=>(M(r,typeof e!="symbol"?e+"":e,t),t),V=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var s=(r,e,t)=>(V(r,e,"read from private field"),t?t.call(r):e.get(r)),p=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)};var v=async r=>await r(),h=class extends Error{constructor(t,i,o,a,c,m){super(`${t}
1
+ var $=Object.defineProperty;var M=(r,e,t)=>e in r?$(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var l=(r,e,t)=>(M(r,typeof e!="symbol"?e+"":e,t),t),V=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var s=(r,e,t)=>(V(r,e,"read from private field"),t?t.call(r):e.get(r)),p=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)};var v=async r=>await r(),h=class extends Error{constructor(t,i,o,a,c,m){super(`${t}
2
2
  ${a}${c?" "+c:""} (${i} ${o}${m?` Request ID: ${m}`:""})`);this.errorMessage=t;this.fetchMethod=i;this.fetchUri=o;this.statusCode=a;this.statusText=c;this.requestId=m;Object.setPrototypeOf(this,h.prototype)}};var n=class{constructor(e){l(this,"options");var t,i,o,a,c,m;if(!e.apiKey&&!e.bearerToken)throw new Error("You must provide an API key or a bearer token");this.options={...e,fetch:(t=e.fetch)!=null?t:fetch,apiHost:(i=e.apiHost)!=null?i:"https://uniform.app",apiKey:(o=e.apiKey)!=null?o:null,projectId:(a=e.projectId)!=null?a:null,bearerToken:(c=e.bearerToken)!=null?c:null,limitPolicy:(m=e.limitPolicy)!=null?m:v}}async apiClient(e,t){return this.options.limitPolicy(async()=>{var a;let i=this.options.apiKey?{"x-api-key":this.options.apiKey}:{Authorization:`Bearer ${this.options.bearerToken}`},o=await fetch(e.toString(),{...t,headers:{...t==null?void 0:t.headers,...i}});if(!o.ok){let c="";try{let m=await o.text();try{let E=JSON.parse(m);E.errorMessage?c=Array.isArray(E.errorMessage)?E.errorMessage.join(", "):E.errorMessage:c=m}catch(E){c=m}}catch(m){c="General error"}throw new h(c,(a=t==null?void 0:t.method)!=null?a:"GET",e.toString(),o.status,o.statusText,n.getRequestId(o))}return t!=null&&t.expectNoContent?null:await o.json()})}createUrl(e,t){let i=new URL(`${this.options.apiHost}${e}`);return Object.entries(t!=null?t:{}).forEach(([o,a])=>{var c;typeof a!="undefined"&&a!==null&&i.searchParams.append(o,(c=a==null?void 0:a.toString())!=null?c:"")}),i}static getRequestId(e){let t=e.headers.get("x-nf-request-id");if(t)return t}};var y,C=class extends n{constructor(e){super(e)}async get(e){let{projectId:t}=this.options,i=this.createUrl(s(C,y),{...e,projectId:t});return await this.apiClient(i)}async upsert(e){let t=this.createUrl(s(C,y));await this.apiClient(t,{method:"PUT",body:JSON.stringify({...e,projectId:this.options.projectId}),expectNoContent:!0})}async remove(e){let t=this.createUrl(s(C,y));await this.apiClient(t,{method:"DELETE",body:JSON.stringify({...e,projectId:this.options.projectId}),expectNoContent:!0})}},j=C;y=new WeakMap,p(j,y,"/api/v2/aggregate");var N,A=class extends n{constructor(e){super(e)}async get(e){let{projectId:t}=this.options,i=this.createUrl(s(A,N),{...e,projectId:t});return await this.apiClient(i)}},U=A;N=new WeakMap,p(U,N,"/api/v2/dimension");var f,D,u=class extends n{constructor(e){super(e)}async get(e){let{projectId:t}=this.options,i=this.createUrl(s(u,f),{...e,projectId:t});return await this.apiClient(i)}async upsertCategory(e){let t=this.createUrl(s(u,f));await this.apiClient(t,{method:"PUT",body:JSON.stringify({...e,projectId:this.options.projectId}),expectNoContent:!0})}async removeCategory(e){let t=this.createUrl(s(u,f));await this.apiClient(t,{method:"DELETE",body:JSON.stringify({...e,projectId:this.options.projectId}),expectNoContent:!0})}async upsertValue(e){let t=this.createUrl(s(u,D));await this.apiClient(t,{method:"PUT",body:JSON.stringify({...e,projectId:this.options.projectId}),expectNoContent:!0})}async removeValue(e){let t=this.createUrl(s(u,D));await this.apiClient(t,{method:"DELETE",body:JSON.stringify({...e,projectId:this.options.projectId}),expectNoContent:!0})}},g=u;f=new WeakMap,D=new WeakMap,p(g,f,"/api/v1/enrichments"),p(g,D,"/api/v1/enrichment-values");var S,k=class extends n{constructor(e){super(e)}async get(e){let{projectId:t}=this.options,i=this.createUrl(s(k,S),{...e,projectId:t});return await this.apiClient(i)}},R=k;S=new WeakMap,p(R,S,"/api/v2/manifest");var P,T=class extends n{constructor(e){super(e)}async get(e){let{projectId:t}=this.options,i=this.createUrl(s(T,P),{...e,projectId:t});return await this.apiClient(i)}async upsert(e){let t=this.createUrl(s(T,P));await this.apiClient(t,{method:"PUT",body:JSON.stringify({...e,projectId:this.options.projectId}),expectNoContent:!0})}async remove(e){let t=this.createUrl(s(T,P));await this.apiClient(t,{method:"DELETE",body:JSON.stringify({...e,projectId:this.options.projectId}),expectNoContent:!0})}},I=T;P=new WeakMap,p(I,P,"/api/v2/quirk");var d,G=class extends n{constructor(e){super(e)}async get(e){let{projectId:t}=this.options,i=this.createUrl(s(G,d),{...e,projectId:t});return await this.apiClient(i)}async upsert(e){let t=this.createUrl(s(G,d));await this.apiClient(t,{method:"PUT",body:JSON.stringify({...e,projectId:this.options.projectId}),expectNoContent:!0})}async remove(e){let t=this.createUrl(s(G,d));await this.apiClient(t,{method:"DELETE",body:JSON.stringify({...e,projectId:this.options.projectId}),expectNoContent:!0})}},O=G;d=new WeakMap,p(O,d,"/api/v2/signal");var x,b=class extends n{constructor(e){super(e)}async get(e){let{projectId:t}=this.options,i=this.createUrl(s(b,x),{...e,projectId:t});return await this.apiClient(i)}async upsert(e){let t=this.createUrl(s(b,x));await this.apiClient(t,{method:"PUT",body:JSON.stringify({...e,projectId:this.options.projectId}),expectNoContent:!0})}async remove(e){let t=this.createUrl(s(b,x));await this.apiClient(t,{method:"DELETE",body:JSON.stringify({...e,projectId:this.options.projectId}),expectNoContent:!0})}},w=b;x=new WeakMap,p(w,x,"/api/v2/test");var J=class{constructor(e){l(this,"enrichments");l(this,"aggregates");l(this,"dimensions");l(this,"manifest");l(this,"quirks");l(this,"signals");l(this,"tests");this.enrichments=new g(e),this.aggregates=new j(e),this.dimensions=new U(e),this.manifest=new R(e),this.quirks=new I(e),this.signals=new O(e),this.tests=new w(e)}};var L="_";function Q(r){let e=r.category==="ENR"?"Enrichment":r.category==="SIG"?"Signal":r.subcategory==="1"?"Intent":r.subcategory==="0"?"Audience":"Aggregate";return{dim:r.dim,name:r.name,type:e,category:r.category==="ENR"?r.subcategory:void 0}}function de(r,e){var t,i,o,a;if((i=(t=e.project.pz)==null?void 0:t.agg)!=null&&i[r])return{dim:r,name:r,type:"Aggregate"};if((a=(o=e.project.pz)==null?void 0:o.sig)!=null&&a[r])return{dim:r,name:r,type:"Signal"};if(r.indexOf(L)>=0){let[c,m]=r.split(L);return{dim:r,name:m,type:"Enrichment",category:c}}}function xe(r){let{type:e,name:t}=Q(r);return`${e}: ${t}`}export{j as AggregateClient,h as ApiClientError,J as ContextClient,U as DimensionClient,g as EnrichmentClient,R as ManifestClient,I as QuirkClient,O as SignalClient,Q as computeDimensionDefinitionDisplayData,de as computeDimensionDisplayData,xe as computeDimensionDisplayName,v as nullLimitPolicy};
package/dist/cli/cli.mjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var tc=Object.create;var Yr=Object.defineProperty;var nc=Object.getOwnPropertyDescriptor;var rc=Object.getOwnPropertyNames;var ic=Object.getPrototypeOf,oc=Object.prototype.hasOwnProperty;var sc=(e,t,n)=>t in e?Yr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ve=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,n)=>(typeof require!="undefined"?require:t)[n]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var tt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ac=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of rc(t))!oc.call(e,i)&&i!==n&&Yr(e,i,{get:()=>t[i],enumerable:!(r=nc(t,i))||r.enumerable});return e};var so=(e,t,n)=>(n=e!=null?tc(ic(e)):{},ac(t||!e||!e.__esModule?Yr(n,"default",{value:e,enumerable:!0}):n,e));var ao=(e,t,n)=>(sc(e,typeof t!="symbol"?t+"":t,n),n),lc=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var oe=(e,t,n)=>(lc(e,t,"read from private field"),n?n.call(e):t.get(e)),Ge=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)};var Fa=tt(($n,yn)=>{var zd=200,Gi="__lodash_hash_undefined__",pa=1,jr=2,ha=9007199254740991,Or="[object Arguments]",Ni="[object Array]",ma="[object Boolean]",ga="[object Date]",ya="[object Error]",ba="[object Function]",Vd="[object GeneratorFunction]",vr="[object Map]",wa="[object Number]",gn="[object Object]",ra="[object Promise]",Aa="[object RegExp]",Er="[object Set]",xa="[object String]",Kd="[object Symbol]",ki="[object WeakMap]",Ca="[object ArrayBuffer]",_r="[object DataView]",Qd="[object Float32Array]",Jd="[object Float64Array]",Xd="[object Int8Array]",Zd="[object Int16Array]",ep="[object Int32Array]",tp="[object Uint8Array]",np="[object Uint8ClampedArray]",rp="[object Uint16Array]",ip="[object Uint32Array]",op=/[\\^$.*+?()[\]{}|]/g,sp=/^\[object .+?Constructor\]$/,ap=/^(?:0|[1-9]\d*)$/,ie={};ie[Qd]=ie[Jd]=ie[Xd]=ie[Zd]=ie[ep]=ie[tp]=ie[np]=ie[rp]=ie[ip]=!0;ie[Or]=ie[Ni]=ie[Ca]=ie[ma]=ie[_r]=ie[ga]=ie[ya]=ie[ba]=ie[vr]=ie[wa]=ie[gn]=ie[Aa]=ie[Er]=ie[xa]=ie[ki]=!1;var Oa=typeof global=="object"&&global&&global.Object===Object&&global,lp=typeof self=="object"&&self&&self.Object===Object&&self,_t=Oa||lp||Function("return this")(),va=typeof $n=="object"&&$n&&!$n.nodeType&&$n,ia=va&&typeof yn=="object"&&yn&&!yn.nodeType&&yn,cp=ia&&ia.exports===va,oa=cp&&Oa.process,sa=function(){try{return oa&&oa.binding("util")}catch(e){}}(),aa=sa&&sa.isTypedArray;function fp(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function up(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function dp(e){return function(t){return e(t)}}function pp(e,t){return e==null?void 0:e[t]}function Ri(e){var t=!1;if(e!=null&&typeof e.toString!="function")try{t=!!(e+"")}catch(n){}return t}function hp(e){var t=-1,n=Array(e.size);return e.forEach(function(r,i){n[++t]=[i,r]}),n}function mp(e,t){return function(n){return e(t(n))}}function gp(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}var yp=Array.prototype,bp=Function.prototype,Pr=Object.prototype,Li=_t["__core-js_shared__"],la=function(){var e=/[^.]+$/.exec(Li&&Li.keys&&Li.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Ea=bp.toString,pt=Pr.hasOwnProperty,Hn=Pr.toString,wp=RegExp("^"+Ea.call(pt).replace(op,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ca=_t.Symbol,fa=_t.Uint8Array,Ap=Pr.propertyIsEnumerable,xp=yp.splice,Cp=mp(Object.keys,Object),Ui=bn(_t,"DataView"),Wn=bn(_t,"Map"),$i=bn(_t,"Promise"),Wi=bn(_t,"Set"),Bi=bn(_t,"WeakMap"),Bn=bn(Object,"create"),Op=nn(Ui),vp=nn(Wn),Ep=nn($i),_p=nn(Wi),Sp=nn(Bi),ua=ca?ca.prototype:void 0,Di=ua?ua.valueOf:void 0;function en(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function jp(){this.__data__=Bn?Bn(null):{}}function Pp(e){return this.has(e)&&delete this.__data__[e]}function Ip(e){var t=this.__data__;if(Bn){var n=t[e];return n===Gi?void 0:n}return pt.call(t,e)?t[e]:void 0}function Mp(e){var t=this.__data__;return Bn?t[e]!==void 0:pt.call(t,e)}function Fp(e,t){var n=this.__data__;return n[e]=Bn&&t===void 0?Gi:t,this}en.prototype.clear=jp;en.prototype.delete=Pp;en.prototype.get=Ip;en.prototype.has=Mp;en.prototype.set=Fp;function ht(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Tp(){this.__data__=[]}function Lp(e){var t=this.__data__,n=Ir(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():xp.call(t,n,1),!0}function Dp(e){var t=this.__data__,n=Ir(t,e);return n<0?void 0:t[n][1]}function Np(e){return Ir(this.__data__,e)>-1}function kp(e,t){var n=this.__data__,r=Ir(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}ht.prototype.clear=Tp;ht.prototype.delete=Lp;ht.prototype.get=Dp;ht.prototype.has=Np;ht.prototype.set=kp;function tn(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Rp(){this.__data__={hash:new en,map:new(Wn||ht),string:new en}}function Up(e){return Mr(this,e).delete(e)}function $p(e){return Mr(this,e).get(e)}function Wp(e){return Mr(this,e).has(e)}function Bp(e,t){return Mr(this,e).set(e,t),this}tn.prototype.clear=Rp;tn.prototype.delete=Up;tn.prototype.get=$p;tn.prototype.has=Wp;tn.prototype.set=Bp;function Sr(e){var t=-1,n=e?e.length:0;for(this.__data__=new tn;++t<n;)this.add(e[t])}function Hp(e){return this.__data__.set(e,Gi),this}function Gp(e){return this.__data__.has(e)}Sr.prototype.add=Sr.prototype.push=Hp;Sr.prototype.has=Gp;function Et(e){this.__data__=new ht(e)}function qp(){this.__data__=new ht}function Yp(e){return this.__data__.delete(e)}function zp(e){return this.__data__.get(e)}function Vp(e){return this.__data__.has(e)}function Kp(e,t){var n=this.__data__;if(n instanceof ht){var r=n.__data__;if(!Wn||r.length<zd-1)return r.push([e,t]),this;n=this.__data__=new tn(r)}return n.set(e,t),this}Et.prototype.clear=qp;Et.prototype.delete=Yp;Et.prototype.get=zp;Et.prototype.has=Vp;Et.prototype.set=Kp;function Qp(e,t){var n=Hi(e)||lh(e)?up(e.length,String):[],r=n.length,i=!!r;for(var s in e)(t||pt.call(e,s))&&!(i&&(s=="length"||ih(s,r)))&&n.push(s);return n}function Ir(e,t){for(var n=e.length;n--;)if(ja(e[n][0],t))return n;return-1}function Jp(e){return Hn.call(e)}function _a(e,t,n,r,i){return e===t?!0:e==null||t==null||!qi(e)&&!Yi(t)?e!==e&&t!==t:Xp(e,t,_a,n,r,i)}function Xp(e,t,n,r,i,s){var o=Hi(e),a=Hi(t),l=Ni,c=Ni;o||(l=vt(e),l=l==Or?gn:l),a||(c=vt(t),c=c==Or?gn:c);var f=l==gn&&!Ri(e),u=c==gn&&!Ri(t),d=l==c;if(d&&!f)return s||(s=new Et),o||uh(e)?Sa(e,t,n,r,i,s):nh(e,t,l,n,r,i,s);if(!(i&jr)){var p=f&&pt.call(e,"__wrapped__"),y=u&&pt.call(t,"__wrapped__");if(p||y){var g=p?e.value():e,m=y?t.value():t;return s||(s=new Et),n(g,m,r,i,s)}}return d?(s||(s=new Et),rh(e,t,n,r,i,s)):!1}function Zp(e){if(!qi(e)||sh(e))return!1;var t=Ia(e)||Ri(e)?wp:sp;return t.test(nn(e))}function eh(e){return Yi(e)&&Ma(e.length)&&!!ie[Hn.call(e)]}function th(e){if(!ah(e))return Cp(e);var t=[];for(var n in Object(e))pt.call(e,n)&&n!="constructor"&&t.push(n);return t}function Sa(e,t,n,r,i,s){var o=i&jr,a=e.length,l=t.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(e);if(c&&s.get(t))return c==t;var f=-1,u=!0,d=i&pa?new Sr:void 0;for(s.set(e,t),s.set(t,e);++f<a;){var p=e[f],y=t[f];if(r)var g=o?r(y,p,f,t,e,s):r(p,y,f,e,t,s);if(g!==void 0){if(g)continue;u=!1;break}if(d){if(!fp(t,function(m,C){if(!d.has(C)&&(p===m||n(p,m,r,i,s)))return d.add(C)})){u=!1;break}}else if(!(p===y||n(p,y,r,i,s))){u=!1;break}}return s.delete(e),s.delete(t),u}function nh(e,t,n,r,i,s,o){switch(n){case _r:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Ca:return!(e.byteLength!=t.byteLength||!r(new fa(e),new fa(t)));case ma:case ga:case wa:return ja(+e,+t);case ya:return e.name==t.name&&e.message==t.message;case Aa:case xa:return e==t+"";case vr:var a=hp;case Er:var l=s&jr;if(a||(a=gp),e.size!=t.size&&!l)return!1;var c=o.get(e);if(c)return c==t;s|=pa,o.set(e,t);var f=Sa(a(e),a(t),r,i,s,o);return o.delete(e),f;case Kd:if(Di)return Di.call(e)==Di.call(t)}return!1}function rh(e,t,n,r,i,s){var o=i&jr,a=da(e),l=a.length,c=da(t),f=c.length;if(l!=f&&!o)return!1;for(var u=l;u--;){var d=a[u];if(!(o?d in t:pt.call(t,d)))return!1}var p=s.get(e);if(p&&s.get(t))return p==t;var y=!0;s.set(e,t),s.set(t,e);for(var g=o;++u<l;){d=a[u];var m=e[d],C=t[d];if(r)var O=o?r(C,m,d,t,e,s):r(m,C,d,e,t,s);if(!(O===void 0?m===C||n(m,C,r,i,s):O)){y=!1;break}g||(g=d=="constructor")}if(y&&!g){var N=e.constructor,Y=t.constructor;N!=Y&&"constructor"in e&&"constructor"in t&&!(typeof N=="function"&&N instanceof N&&typeof Y=="function"&&Y instanceof Y)&&(y=!1)}return s.delete(e),s.delete(t),y}function Mr(e,t){var n=e.__data__;return oh(t)?n[typeof t=="string"?"string":"hash"]:n.map}function bn(e,t){var n=pp(e,t);return Zp(n)?n:void 0}var vt=Jp;(Ui&&vt(new Ui(new ArrayBuffer(1)))!=_r||Wn&&vt(new Wn)!=vr||$i&&vt($i.resolve())!=ra||Wi&&vt(new Wi)!=Er||Bi&&vt(new Bi)!=ki)&&(vt=function(e){var t=Hn.call(e),n=t==gn?e.constructor:void 0,r=n?nn(n):void 0;if(r)switch(r){case Op:return _r;case vp:return vr;case Ep:return ra;case _p:return Er;case Sp:return ki}return t});function ih(e,t){return t=t==null?ha:t,!!t&&(typeof e=="number"||ap.test(e))&&e>-1&&e%1==0&&e<t}function oh(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function sh(e){return!!la&&la in e}function ah(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Pr;return e===n}function nn(e){if(e!=null){try{return Ea.call(e)}catch(t){}try{return e+""}catch(t){}}return""}function ja(e,t){return e===t||e!==e&&t!==t}function lh(e){return ch(e)&&pt.call(e,"callee")&&(!Ap.call(e,"callee")||Hn.call(e)==Or)}var Hi=Array.isArray;function Pa(e){return e!=null&&Ma(e.length)&&!Ia(e)}function ch(e){return Yi(e)&&Pa(e)}function fh(e,t,n){n=typeof n=="function"?n:void 0;var r=n?n(e,t):void 0;return r===void 0?_a(e,t,n):!!r}function Ia(e){var t=qi(e)?Hn.call(e):"";return t==ba||t==Vd}function Ma(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ha}function qi(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function Yi(e){return!!e&&typeof e=="object"}var uh=aa?dp(aa):eh;function da(e){return Pa(e)?Qp(e):th(e)}yn.exports=fh});var el=tt((cb,Za)=>{"use strict";Za.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var zi=tt((fb,nl)=>{var Yn=el(),tl={};for(let e of Object.keys(Yn))tl[Yn[e]]=e;var I={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};nl.exports=I;for(let e of Object.keys(I)){if(!("channels"in I[e]))throw new Error("missing channels property: "+e);if(!("labels"in I[e]))throw new Error("missing channel labels property: "+e);if(I[e].labels.length!==I[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:n}=I[e];delete I[e].channels,delete I[e].labels,Object.defineProperty(I[e],"channels",{value:t}),Object.defineProperty(I[e],"labels",{value:n})}I.rgb.hsl=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(t,n,r),s=Math.max(t,n,r),o=s-i,a,l;s===i?a=0:t===s?a=(n-r)/o:n===s?a=2+(r-t)/o:r===s&&(a=4+(t-n)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(i+s)/2;return s===i?l=0:c<=.5?l=o/(s+i):l=o/(2-s-i),[a,l*100,c*100]};I.rgb.hsv=function(e){let t,n,r,i,s,o=e[0]/255,a=e[1]/255,l=e[2]/255,c=Math.max(o,a,l),f=c-Math.min(o,a,l),u=function(d){return(c-d)/6/f+1/2};return f===0?(i=0,s=0):(s=f/c,t=u(o),n=u(a),r=u(l),o===c?i=r-n:a===c?i=1/3+t-r:l===c&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[i*360,s*100,c*100]};I.rgb.hwb=function(e){let t=e[0],n=e[1],r=e[2],i=I.rgb.hsl(e)[0],s=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[i,s*100,r*100]};I.rgb.cmyk=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(1-t,1-n,1-r),s=(1-t-i)/(1-i)||0,o=(1-n-i)/(1-i)||0,a=(1-r-i)/(1-i)||0;return[s*100,o*100,a*100,i*100]};function Th(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}I.rgb.keyword=function(e){let t=tl[e];if(t)return t;let n=1/0,r;for(let i of Object.keys(Yn)){let s=Yn[i],o=Th(e,s);o<n&&(n=o,r=i)}return r};I.keyword.rgb=function(e){return Yn[e]};I.rgb.xyz=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let i=t*.4124+n*.3576+r*.1805,s=t*.2126+n*.7152+r*.0722,o=t*.0193+n*.1192+r*.9505;return[i*100,s*100,o*100]};I.rgb.lab=function(e){let t=I.rgb.xyz(e),n=t[0],r=t[1],i=t[2];n/=95.047,r/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let s=116*r-16,o=500*(n-r),a=200*(r-i);return[s,o,a]};I.hsl.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100,i,s,o;if(n===0)return o=r*255,[o,o,o];r<.5?i=r*(1+n):i=r+n-r*n;let a=2*r-i,l=[0,0,0];for(let c=0;c<3;c++)s=t+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(i-a)*6*s:2*s<1?o=i:3*s<2?o=a+(i-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};I.hsl.hsv=function(e){let t=e[0],n=e[1]/100,r=e[2]/100,i=n,s=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=s<=1?s:2-s;let o=(r+n)/2,a=r===0?2*i/(s+i):2*n/(r+n);return[t,a*100,o*100]};I.hsv.rgb=function(e){let t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,s=t-Math.floor(t),o=255*r*(1-n),a=255*r*(1-n*s),l=255*r*(1-n*(1-s));switch(r*=255,i){case 0:return[r,l,o];case 1:return[a,r,o];case 2:return[o,r,l];case 3:return[o,a,r];case 4:return[l,o,r];case 5:return[r,o,a]}};I.hsv.hsl=function(e){let t=e[0],n=e[1]/100,r=e[2]/100,i=Math.max(r,.01),s,o;o=(2-n)*r;let a=(2-n)*i;return s=n*i,s/=a<=1?a:2-a,s=s||0,o/=2,[t,s*100,o*100]};I.hwb.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100,i=n+r,s;i>1&&(n/=i,r/=i);let o=Math.floor(6*t),a=1-r;s=6*t-o,(o&1)!==0&&(s=1-s);let l=n+s*(a-n),c,f,u;switch(o){default:case 6:case 0:c=a,f=l,u=n;break;case 1:c=l,f=a,u=n;break;case 2:c=n,f=a,u=l;break;case 3:c=n,f=l,u=a;break;case 4:c=l,f=n,u=a;break;case 5:c=a,f=n,u=l;break}return[c*255,f*255,u*255]};I.cmyk.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100,s=1-Math.min(1,t*(1-i)+i),o=1-Math.min(1,n*(1-i)+i),a=1-Math.min(1,r*(1-i)+i);return[s*255,o*255,a*255]};I.xyz.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i,s,o;return i=t*3.2406+n*-1.5372+r*-.4986,s=t*-.9689+n*1.8758+r*.0415,o=t*.0557+n*-.204+r*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[i*255,s*255,o*255]};I.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;let i=116*n-16,s=500*(t-n),o=200*(n-r);return[i,s,o]};I.lab.xyz=function(e){let t=e[0],n=e[1],r=e[2],i,s,o;s=(t+16)/116,i=n/500+s,o=s-r/200;let a=s**3,l=i**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,i=l>.008856?l:(i-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,i*=95.047,s*=100,o*=108.883,[i,s,o]};I.lab.lch=function(e){let t=e[0],n=e[1],r=e[2],i;i=Math.atan2(r,n)*360/2/Math.PI,i<0&&(i+=360);let o=Math.sqrt(n*n+r*r);return[t,o,i]};I.lch.lab=function(e){let t=e[0],n=e[1],i=e[2]/360*2*Math.PI,s=n*Math.cos(i),o=n*Math.sin(i);return[t,s,o]};I.rgb.ansi16=function(e,t=null){let[n,r,i]=e,s=t===null?I.rgb.hsv(e)[2]:t;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return s===2&&(o+=60),o};I.hsv.ansi16=function(e){return I.rgb.ansi16(I.hsv.rgb(e),e[2])};I.rgb.ansi256=function(e){let t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)};I.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let n=(~~(e>50)+1)*.5,r=(t&1)*n*255,i=(t>>1&1)*n*255,s=(t>>2&1)*n*255;return[r,i,s]};I.ansi256.rgb=function(e){if(e>=232){let s=(e-232)*10+8;return[s,s,s]}e-=16;let t,n=Math.floor(e/36)/5*255,r=Math.floor((t=e%36)/6)/5*255,i=t%6/5*255;return[n,r,i]};I.rgb.hex=function(e){let n=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n};I.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];t[0].length===3&&(n=n.split("").map(a=>a+a).join(""));let r=parseInt(n,16),i=r>>16&255,s=r>>8&255,o=r&255;return[i,s,o]};I.rgb.hcg=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.max(Math.max(t,n),r),s=Math.min(Math.min(t,n),r),o=i-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:i===t?l=(n-r)/o%6:i===n?l=2+(r-t)/o:l=4+(t-n)/o,l/=6,l%=1,[l*360,o*100,a*100]};I.hsl.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n),i=0;return r<1&&(i=(n-.5*r)/(1-r)),[e[0],r*100,i*100]};I.hsv.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],r*100,i*100]};I.hcg.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100;if(n===0)return[r*255,r*255,r*255];let i=[0,0,0],s=t%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return l=(1-n)*r,[(n*i[0]+l)*255,(n*i[1]+l)*255,(n*i[2]+l)*255]};I.hcg.hsv=function(e){let t=e[1]/100,n=e[2]/100,r=t+n*(1-t),i=0;return r>0&&(i=t/r),[e[0],i*100,r*100]};I.hcg.hsl=function(e){let t=e[1]/100,r=e[2]/100*(1-t)+.5*t,i=0;return r>0&&r<.5?i=t/(2*r):r>=.5&&r<1&&(i=t/(2*(1-r))),[e[0],i*100,r*100]};I.hcg.hwb=function(e){let t=e[1]/100,n=e[2]/100,r=t+n*(1-t);return[e[0],(r-t)*100,(1-r)*100]};I.hwb.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=1-n,i=r-t,s=0;return i<1&&(s=(r-i)/(1-i)),[e[0],i*100,s*100]};I.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};I.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};I.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};I.gray.hsl=function(e){return[0,0,e[0]]};I.gray.hsv=I.gray.hsl;I.gray.hwb=function(e){return[0,100,e[0]]};I.gray.cmyk=function(e){return[0,0,0,e[0]]};I.gray.lab=function(e){return[e[0],0,0]};I.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(r.length)+r};I.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var il=tt((ub,rl)=>{var Dr=zi();function Lh(){let e={},t=Object.keys(Dr);for(let n=t.length,r=0;r<n;r++)e[t[r]]={distance:-1,parent:null};return e}function Dh(e){let t=Lh(),n=[e];for(t[e].distance=0;n.length;){let r=n.pop(),i=Object.keys(Dr[r]);for(let s=i.length,o=0;o<s;o++){let a=i[o],l=t[a];l.distance===-1&&(l.distance=t[r].distance+1,l.parent=r,n.unshift(a))}}return t}function Nh(e,t){return function(n){return t(e(n))}}function kh(e,t){let n=[t[e].parent,e],r=Dr[t[e].parent][e],i=t[e].parent;for(;t[i].parent;)n.unshift(t[i].parent),r=Nh(Dr[t[i].parent][i],r),i=t[i].parent;return r.conversion=n,r}rl.exports=function(e){let t=Dh(e),n={},r=Object.keys(t);for(let i=r.length,s=0;s<i;s++){let o=r[s];t[o].parent!==null&&(n[o]=kh(o,t))}return n}});var sl=tt((db,ol)=>{var Vi=zi(),Rh=il(),Cn={},Uh=Object.keys(Vi);function $h(e){let t=function(...n){let r=n[0];return r==null?r:(r.length>1&&(n=r),e(n))};return"conversion"in e&&(t.conversion=e.conversion),t}function Wh(e){let t=function(...n){let r=n[0];if(r==null)return r;r.length>1&&(n=r);let i=e(n);if(typeof i=="object")for(let s=i.length,o=0;o<s;o++)i[o]=Math.round(i[o]);return i};return"conversion"in e&&(t.conversion=e.conversion),t}Uh.forEach(e=>{Cn[e]={},Object.defineProperty(Cn[e],"channels",{value:Vi[e].channels}),Object.defineProperty(Cn[e],"labels",{value:Vi[e].labels});let t=Rh(e);Object.keys(t).forEach(r=>{let i=t[r];Cn[e][r]=Wh(i),Cn[e][r].raw=$h(i)})});ol.exports=Cn});var dl=tt((pb,ul)=>{"use strict";var al=(e,t)=>(...n)=>`\x1B[${e(...n)+t}m`,ll=(e,t)=>(...n)=>{let r=e(...n);return`\x1B[${38+t};5;${r}m`},cl=(e,t)=>(...n)=>{let r=e(...n);return`\x1B[${38+t};2;${r[0]};${r[1]};${r[2]}m`},Nr=e=>e,fl=(e,t,n)=>[e,t,n],On=(e,t,n)=>{Object.defineProperty(e,t,{get:()=>{let r=n();return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0}),r},enumerable:!0,configurable:!0})},Ki,vn=(e,t,n,r)=>{Ki===void 0&&(Ki=sl());let i=r?10:0,s={};for(let[o,a]of Object.entries(Ki)){let l=o==="ansi16"?"ansi":o;o===t?s[l]=e(n,i):typeof a=="object"&&(s[l]=e(a[t],i))}return s};function Bh(){let e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(let[n,r]of Object.entries(t)){for(let[i,s]of Object.entries(r))t[i]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},r[i]=t[i],e.set(s[0],s[1]);Object.defineProperty(t,n,{value:r,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="\x1B[39m",t.bgColor.close="\x1B[49m",On(t.color,"ansi",()=>vn(al,"ansi16",Nr,!1)),On(t.color,"ansi256",()=>vn(ll,"ansi256",Nr,!1)),On(t.color,"ansi16m",()=>vn(cl,"rgb",fl,!1)),On(t.bgColor,"ansi",()=>vn(al,"ansi16",Nr,!0)),On(t.bgColor,"ansi256",()=>vn(ll,"ansi256",Nr,!0)),On(t.bgColor,"ansi16m",()=>vn(cl,"rgb",fl,!0)),t}Object.defineProperty(ul,"exports",{enumerable:!0,get:Bh})});var hl=tt((hb,pl)=>{"use strict";pl.exports=(e,t=process.argv)=>{let n=e.startsWith("-")?"":e.length===1?"-":"--",r=t.indexOf(n+e),i=t.indexOf("--");return r!==-1&&(i===-1||r<i)}});var yl=tt((mb,gl)=>{"use strict";var Hh=ve("os"),ml=ve("tty"),et=hl(),{env:je}=process,Ft;et("no-color")||et("no-colors")||et("color=false")||et("color=never")?Ft=0:(et("color")||et("colors")||et("color=true")||et("color=always"))&&(Ft=1);"FORCE_COLOR"in je&&(je.FORCE_COLOR==="true"?Ft=1:je.FORCE_COLOR==="false"?Ft=0:Ft=je.FORCE_COLOR.length===0?1:Math.min(parseInt(je.FORCE_COLOR,10),3));function Qi(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Ji(e,t){if(Ft===0)return 0;if(et("color=16m")||et("color=full")||et("color=truecolor"))return 3;if(et("color=256"))return 2;if(e&&!t&&Ft===void 0)return 0;let n=Ft||0;if(je.TERM==="dumb")return n;if(process.platform==="win32"){let r=Hh.release().split(".");return Number(r[0])>=10&&Number(r[2])>=10586?Number(r[2])>=14931?3:2:1}if("CI"in je)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(r=>r in je)||je.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in je)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(je.TEAMCITY_VERSION)?1:0;if(je.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in je){let r=parseInt((je.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(je.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(je.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(je.TERM)||"COLORTERM"in je?1:n}function Gh(e){let t=Ji(e,e&&e.isTTY);return Qi(t)}gl.exports={supportsColor:Gh,stdout:Qi(Ji(!0,ml.isatty(1))),stderr:Qi(Ji(!0,ml.isatty(2)))}});var wl=tt((gb,bl)=>{"use strict";var qh=(e,t,n)=>{let r=e.indexOf(t);if(r===-1)return e;let i=t.length,s=0,o="";do o+=e.substr(s,r-s)+t+n,s=r+i,r=e.indexOf(t,s);while(r!==-1);return o+=e.substr(s),o},Yh=(e,t,n,r)=>{let i=0,s="";do{let o=e[r-1]==="\r";s+=e.substr(i,(o?r-1:r)-i)+t+(o?`\r
1
+ var tc=Object.create;var Yr=Object.defineProperty;var nc=Object.getOwnPropertyDescriptor;var rc=Object.getOwnPropertyNames;var ic=Object.getPrototypeOf,oc=Object.prototype.hasOwnProperty;var sc=(e,t,n)=>t in e?Yr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ve=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,n)=>(typeof require!="undefined"?require:t)[n]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var tt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ac=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of rc(t))!oc.call(e,i)&&i!==n&&Yr(e,i,{get:()=>t[i],enumerable:!(r=nc(t,i))||r.enumerable});return e};var so=(e,t,n)=>(n=e!=null?tc(ic(e)):{},ac(t||!e||!e.__esModule?Yr(n,"default",{value:e,enumerable:!0}):n,e));var ao=(e,t,n)=>(sc(e,typeof t!="symbol"?t+"":t,n),n),lc=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var oe=(e,t,n)=>(lc(e,t,"read from private field"),n?n.call(e):t.get(e)),Ge=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)};var Fa=tt(($n,yn)=>{var zd=200,Gi="__lodash_hash_undefined__",pa=1,jr=2,ha=9007199254740991,Or="[object Arguments]",Ni="[object Array]",ma="[object Boolean]",ga="[object Date]",ya="[object Error]",ba="[object Function]",Vd="[object GeneratorFunction]",vr="[object Map]",wa="[object Number]",gn="[object Object]",ra="[object Promise]",Aa="[object RegExp]",Er="[object Set]",xa="[object String]",Kd="[object Symbol]",ki="[object WeakMap]",Ca="[object ArrayBuffer]",_r="[object DataView]",Qd="[object Float32Array]",Jd="[object Float64Array]",Xd="[object Int8Array]",Zd="[object Int16Array]",ep="[object Int32Array]",tp="[object Uint8Array]",np="[object Uint8ClampedArray]",rp="[object Uint16Array]",ip="[object Uint32Array]",op=/[\\^$.*+?()[\]{}|]/g,sp=/^\[object .+?Constructor\]$/,ap=/^(?:0|[1-9]\d*)$/,ie={};ie[Qd]=ie[Jd]=ie[Xd]=ie[Zd]=ie[ep]=ie[tp]=ie[np]=ie[rp]=ie[ip]=!0;ie[Or]=ie[Ni]=ie[Ca]=ie[ma]=ie[_r]=ie[ga]=ie[ya]=ie[ba]=ie[vr]=ie[wa]=ie[gn]=ie[Aa]=ie[Er]=ie[xa]=ie[ki]=!1;var Oa=typeof global=="object"&&global&&global.Object===Object&&global,lp=typeof self=="object"&&self&&self.Object===Object&&self,_t=Oa||lp||Function("return this")(),va=typeof $n=="object"&&$n&&!$n.nodeType&&$n,ia=va&&typeof yn=="object"&&yn&&!yn.nodeType&&yn,cp=ia&&ia.exports===va,oa=cp&&Oa.process,sa=function(){try{return oa&&oa.binding("util")}catch(e){}}(),aa=sa&&sa.isTypedArray;function fp(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function up(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function dp(e){return function(t){return e(t)}}function pp(e,t){return e==null?void 0:e[t]}function Ri(e){var t=!1;if(e!=null&&typeof e.toString!="function")try{t=!!(e+"")}catch(n){}return t}function hp(e){var t=-1,n=Array(e.size);return e.forEach(function(r,i){n[++t]=[i,r]}),n}function mp(e,t){return function(n){return e(t(n))}}function gp(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}var yp=Array.prototype,bp=Function.prototype,Pr=Object.prototype,Li=_t["__core-js_shared__"],la=function(){var e=/[^.]+$/.exec(Li&&Li.keys&&Li.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Ea=bp.toString,pt=Pr.hasOwnProperty,Hn=Pr.toString,wp=RegExp("^"+Ea.call(pt).replace(op,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ca=_t.Symbol,fa=_t.Uint8Array,Ap=Pr.propertyIsEnumerable,xp=yp.splice,Cp=mp(Object.keys,Object),Ui=bn(_t,"DataView"),Wn=bn(_t,"Map"),$i=bn(_t,"Promise"),Wi=bn(_t,"Set"),Bi=bn(_t,"WeakMap"),Bn=bn(Object,"create"),Op=nn(Ui),vp=nn(Wn),Ep=nn($i),_p=nn(Wi),Sp=nn(Bi),ua=ca?ca.prototype:void 0,Di=ua?ua.valueOf:void 0;function en(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function jp(){this.__data__=Bn?Bn(null):{}}function Pp(e){return this.has(e)&&delete this.__data__[e]}function Ip(e){var t=this.__data__;if(Bn){var n=t[e];return n===Gi?void 0:n}return pt.call(t,e)?t[e]:void 0}function Mp(e){var t=this.__data__;return Bn?t[e]!==void 0:pt.call(t,e)}function Fp(e,t){var n=this.__data__;return n[e]=Bn&&t===void 0?Gi:t,this}en.prototype.clear=jp;en.prototype.delete=Pp;en.prototype.get=Ip;en.prototype.has=Mp;en.prototype.set=Fp;function ht(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Tp(){this.__data__=[]}function Lp(e){var t=this.__data__,n=Ir(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():xp.call(t,n,1),!0}function Dp(e){var t=this.__data__,n=Ir(t,e);return n<0?void 0:t[n][1]}function Np(e){return Ir(this.__data__,e)>-1}function kp(e,t){var n=this.__data__,r=Ir(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}ht.prototype.clear=Tp;ht.prototype.delete=Lp;ht.prototype.get=Dp;ht.prototype.has=Np;ht.prototype.set=kp;function tn(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Rp(){this.__data__={hash:new en,map:new(Wn||ht),string:new en}}function Up(e){return Mr(this,e).delete(e)}function $p(e){return Mr(this,e).get(e)}function Wp(e){return Mr(this,e).has(e)}function Bp(e,t){return Mr(this,e).set(e,t),this}tn.prototype.clear=Rp;tn.prototype.delete=Up;tn.prototype.get=$p;tn.prototype.has=Wp;tn.prototype.set=Bp;function Sr(e){var t=-1,n=e?e.length:0;for(this.__data__=new tn;++t<n;)this.add(e[t])}function Hp(e){return this.__data__.set(e,Gi),this}function Gp(e){return this.__data__.has(e)}Sr.prototype.add=Sr.prototype.push=Hp;Sr.prototype.has=Gp;function Et(e){this.__data__=new ht(e)}function qp(){this.__data__=new ht}function Yp(e){return this.__data__.delete(e)}function zp(e){return this.__data__.get(e)}function Vp(e){return this.__data__.has(e)}function Kp(e,t){var n=this.__data__;if(n instanceof ht){var r=n.__data__;if(!Wn||r.length<zd-1)return r.push([e,t]),this;n=this.__data__=new tn(r)}return n.set(e,t),this}Et.prototype.clear=qp;Et.prototype.delete=Yp;Et.prototype.get=zp;Et.prototype.has=Vp;Et.prototype.set=Kp;function Qp(e,t){var n=Hi(e)||lh(e)?up(e.length,String):[],r=n.length,i=!!r;for(var s in e)(t||pt.call(e,s))&&!(i&&(s=="length"||ih(s,r)))&&n.push(s);return n}function Ir(e,t){for(var n=e.length;n--;)if(ja(e[n][0],t))return n;return-1}function Jp(e){return Hn.call(e)}function _a(e,t,n,r,i){return e===t?!0:e==null||t==null||!qi(e)&&!Yi(t)?e!==e&&t!==t:Xp(e,t,_a,n,r,i)}function Xp(e,t,n,r,i,s){var o=Hi(e),a=Hi(t),l=Ni,c=Ni;o||(l=vt(e),l=l==Or?gn:l),a||(c=vt(t),c=c==Or?gn:c);var f=l==gn&&!Ri(e),u=c==gn&&!Ri(t),d=l==c;if(d&&!f)return s||(s=new Et),o||uh(e)?Sa(e,t,n,r,i,s):nh(e,t,l,n,r,i,s);if(!(i&jr)){var p=f&&pt.call(e,"__wrapped__"),y=u&&pt.call(t,"__wrapped__");if(p||y){var g=p?e.value():e,m=y?t.value():t;return s||(s=new Et),n(g,m,r,i,s)}}return d?(s||(s=new Et),rh(e,t,n,r,i,s)):!1}function Zp(e){if(!qi(e)||sh(e))return!1;var t=Ia(e)||Ri(e)?wp:sp;return t.test(nn(e))}function eh(e){return Yi(e)&&Ma(e.length)&&!!ie[Hn.call(e)]}function th(e){if(!ah(e))return Cp(e);var t=[];for(var n in Object(e))pt.call(e,n)&&n!="constructor"&&t.push(n);return t}function Sa(e,t,n,r,i,s){var o=i&jr,a=e.length,l=t.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(e);if(c&&s.get(t))return c==t;var f=-1,u=!0,d=i&pa?new Sr:void 0;for(s.set(e,t),s.set(t,e);++f<a;){var p=e[f],y=t[f];if(r)var g=o?r(y,p,f,t,e,s):r(p,y,f,e,t,s);if(g!==void 0){if(g)continue;u=!1;break}if(d){if(!fp(t,function(m,C){if(!d.has(C)&&(p===m||n(p,m,r,i,s)))return d.add(C)})){u=!1;break}}else if(!(p===y||n(p,y,r,i,s))){u=!1;break}}return s.delete(e),s.delete(t),u}function nh(e,t,n,r,i,s,o){switch(n){case _r:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Ca:return!(e.byteLength!=t.byteLength||!r(new fa(e),new fa(t)));case ma:case ga:case wa:return ja(+e,+t);case ya:return e.name==t.name&&e.message==t.message;case Aa:case xa:return e==t+"";case vr:var a=hp;case Er:var l=s&jr;if(a||(a=gp),e.size!=t.size&&!l)return!1;var c=o.get(e);if(c)return c==t;s|=pa,o.set(e,t);var f=Sa(a(e),a(t),r,i,s,o);return o.delete(e),f;case Kd:if(Di)return Di.call(e)==Di.call(t)}return!1}function rh(e,t,n,r,i,s){var o=i&jr,a=da(e),l=a.length,c=da(t),f=c.length;if(l!=f&&!o)return!1;for(var u=l;u--;){var d=a[u];if(!(o?d in t:pt.call(t,d)))return!1}var p=s.get(e);if(p&&s.get(t))return p==t;var y=!0;s.set(e,t),s.set(t,e);for(var g=o;++u<l;){d=a[u];var m=e[d],C=t[d];if(r)var O=o?r(C,m,d,t,e,s):r(m,C,d,e,t,s);if(!(O===void 0?m===C||n(m,C,r,i,s):O)){y=!1;break}g||(g=d=="constructor")}if(y&&!g){var N=e.constructor,Y=t.constructor;N!=Y&&"constructor"in e&&"constructor"in t&&!(typeof N=="function"&&N instanceof N&&typeof Y=="function"&&Y instanceof Y)&&(y=!1)}return s.delete(e),s.delete(t),y}function Mr(e,t){var n=e.__data__;return oh(t)?n[typeof t=="string"?"string":"hash"]:n.map}function bn(e,t){var n=pp(e,t);return Zp(n)?n:void 0}var vt=Jp;(Ui&&vt(new Ui(new ArrayBuffer(1)))!=_r||Wn&&vt(new Wn)!=vr||$i&&vt($i.resolve())!=ra||Wi&&vt(new Wi)!=Er||Bi&&vt(new Bi)!=ki)&&(vt=function(e){var t=Hn.call(e),n=t==gn?e.constructor:void 0,r=n?nn(n):void 0;if(r)switch(r){case Op:return _r;case vp:return vr;case Ep:return ra;case _p:return Er;case Sp:return ki}return t});function ih(e,t){return t=t==null?ha:t,!!t&&(typeof e=="number"||ap.test(e))&&e>-1&&e%1==0&&e<t}function oh(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function sh(e){return!!la&&la in e}function ah(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Pr;return e===n}function nn(e){if(e!=null){try{return Ea.call(e)}catch(t){}try{return e+""}catch(t){}}return""}function ja(e,t){return e===t||e!==e&&t!==t}function lh(e){return ch(e)&&pt.call(e,"callee")&&(!Ap.call(e,"callee")||Hn.call(e)==Or)}var Hi=Array.isArray;function Pa(e){return e!=null&&Ma(e.length)&&!Ia(e)}function ch(e){return Yi(e)&&Pa(e)}function fh(e,t,n){n=typeof n=="function"?n:void 0;var r=n?n(e,t):void 0;return r===void 0?_a(e,t,n):!!r}function Ia(e){var t=qi(e)?Hn.call(e):"";return t==ba||t==Vd}function Ma(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ha}function qi(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function Yi(e){return!!e&&typeof e=="object"}var uh=aa?dp(aa):eh;function da(e){return Pa(e)?Qp(e):th(e)}yn.exports=fh});var el=tt((cb,Za)=>{"use strict";Za.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var zi=tt((fb,nl)=>{var Yn=el(),tl={};for(let e of Object.keys(Yn))tl[Yn[e]]=e;var I={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};nl.exports=I;for(let e of Object.keys(I)){if(!("channels"in I[e]))throw new Error("missing channels property: "+e);if(!("labels"in I[e]))throw new Error("missing channel labels property: "+e);if(I[e].labels.length!==I[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:n}=I[e];delete I[e].channels,delete I[e].labels,Object.defineProperty(I[e],"channels",{value:t}),Object.defineProperty(I[e],"labels",{value:n})}I.rgb.hsl=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(t,n,r),s=Math.max(t,n,r),o=s-i,a,l;s===i?a=0:t===s?a=(n-r)/o:n===s?a=2+(r-t)/o:r===s&&(a=4+(t-n)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(i+s)/2;return s===i?l=0:c<=.5?l=o/(s+i):l=o/(2-s-i),[a,l*100,c*100]};I.rgb.hsv=function(e){let t,n,r,i,s,o=e[0]/255,a=e[1]/255,l=e[2]/255,c=Math.max(o,a,l),f=c-Math.min(o,a,l),u=function(d){return(c-d)/6/f+1/2};return f===0?(i=0,s=0):(s=f/c,t=u(o),n=u(a),r=u(l),o===c?i=r-n:a===c?i=1/3+t-r:l===c&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[i*360,s*100,c*100]};I.rgb.hwb=function(e){let t=e[0],n=e[1],r=e[2],i=I.rgb.hsl(e)[0],s=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[i,s*100,r*100]};I.rgb.cmyk=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(1-t,1-n,1-r),s=(1-t-i)/(1-i)||0,o=(1-n-i)/(1-i)||0,a=(1-r-i)/(1-i)||0;return[s*100,o*100,a*100,i*100]};function Th(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}I.rgb.keyword=function(e){let t=tl[e];if(t)return t;let n=1/0,r;for(let i of Object.keys(Yn)){let s=Yn[i],o=Th(e,s);o<n&&(n=o,r=i)}return r};I.keyword.rgb=function(e){return Yn[e]};I.rgb.xyz=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let i=t*.4124+n*.3576+r*.1805,s=t*.2126+n*.7152+r*.0722,o=t*.0193+n*.1192+r*.9505;return[i*100,s*100,o*100]};I.rgb.lab=function(e){let t=I.rgb.xyz(e),n=t[0],r=t[1],i=t[2];n/=95.047,r/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let s=116*r-16,o=500*(n-r),a=200*(r-i);return[s,o,a]};I.hsl.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100,i,s,o;if(n===0)return o=r*255,[o,o,o];r<.5?i=r*(1+n):i=r+n-r*n;let a=2*r-i,l=[0,0,0];for(let c=0;c<3;c++)s=t+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(i-a)*6*s:2*s<1?o=i:3*s<2?o=a+(i-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};I.hsl.hsv=function(e){let t=e[0],n=e[1]/100,r=e[2]/100,i=n,s=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=s<=1?s:2-s;let o=(r+n)/2,a=r===0?2*i/(s+i):2*n/(r+n);return[t,a*100,o*100]};I.hsv.rgb=function(e){let t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,s=t-Math.floor(t),o=255*r*(1-n),a=255*r*(1-n*s),l=255*r*(1-n*(1-s));switch(r*=255,i){case 0:return[r,l,o];case 1:return[a,r,o];case 2:return[o,r,l];case 3:return[o,a,r];case 4:return[l,o,r];case 5:return[r,o,a]}};I.hsv.hsl=function(e){let t=e[0],n=e[1]/100,r=e[2]/100,i=Math.max(r,.01),s,o;o=(2-n)*r;let a=(2-n)*i;return s=n*i,s/=a<=1?a:2-a,s=s||0,o/=2,[t,s*100,o*100]};I.hwb.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100,i=n+r,s;i>1&&(n/=i,r/=i);let o=Math.floor(6*t),a=1-r;s=6*t-o,(o&1)!==0&&(s=1-s);let l=n+s*(a-n),c,f,u;switch(o){default:case 6:case 0:c=a,f=l,u=n;break;case 1:c=l,f=a,u=n;break;case 2:c=n,f=a,u=l;break;case 3:c=n,f=l,u=a;break;case 4:c=l,f=n,u=a;break;case 5:c=a,f=n,u=l;break}return[c*255,f*255,u*255]};I.cmyk.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100,s=1-Math.min(1,t*(1-i)+i),o=1-Math.min(1,n*(1-i)+i),a=1-Math.min(1,r*(1-i)+i);return[s*255,o*255,a*255]};I.xyz.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i,s,o;return i=t*3.2406+n*-1.5372+r*-.4986,s=t*-.9689+n*1.8758+r*.0415,o=t*.0557+n*-.204+r*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[i*255,s*255,o*255]};I.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;let i=116*n-16,s=500*(t-n),o=200*(n-r);return[i,s,o]};I.lab.xyz=function(e){let t=e[0],n=e[1],r=e[2],i,s,o;s=(t+16)/116,i=n/500+s,o=s-r/200;let a=s**3,l=i**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,i=l>.008856?l:(i-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,i*=95.047,s*=100,o*=108.883,[i,s,o]};I.lab.lch=function(e){let t=e[0],n=e[1],r=e[2],i;i=Math.atan2(r,n)*360/2/Math.PI,i<0&&(i+=360);let o=Math.sqrt(n*n+r*r);return[t,o,i]};I.lch.lab=function(e){let t=e[0],n=e[1],i=e[2]/360*2*Math.PI,s=n*Math.cos(i),o=n*Math.sin(i);return[t,s,o]};I.rgb.ansi16=function(e,t=null){let[n,r,i]=e,s=t===null?I.rgb.hsv(e)[2]:t;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return s===2&&(o+=60),o};I.hsv.ansi16=function(e){return I.rgb.ansi16(I.hsv.rgb(e),e[2])};I.rgb.ansi256=function(e){let t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)};I.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let n=(~~(e>50)+1)*.5,r=(t&1)*n*255,i=(t>>1&1)*n*255,s=(t>>2&1)*n*255;return[r,i,s]};I.ansi256.rgb=function(e){if(e>=232){let s=(e-232)*10+8;return[s,s,s]}e-=16;let t,n=Math.floor(e/36)/5*255,r=Math.floor((t=e%36)/6)/5*255,i=t%6/5*255;return[n,r,i]};I.rgb.hex=function(e){let n=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n};I.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];t[0].length===3&&(n=n.split("").map(a=>a+a).join(""));let r=parseInt(n,16),i=r>>16&255,s=r>>8&255,o=r&255;return[i,s,o]};I.rgb.hcg=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.max(Math.max(t,n),r),s=Math.min(Math.min(t,n),r),o=i-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:i===t?l=(n-r)/o%6:i===n?l=2+(r-t)/o:l=4+(t-n)/o,l/=6,l%=1,[l*360,o*100,a*100]};I.hsl.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n),i=0;return r<1&&(i=(n-.5*r)/(1-r)),[e[0],r*100,i*100]};I.hsv.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],r*100,i*100]};I.hcg.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100;if(n===0)return[r*255,r*255,r*255];let i=[0,0,0],s=t%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return l=(1-n)*r,[(n*i[0]+l)*255,(n*i[1]+l)*255,(n*i[2]+l)*255]};I.hcg.hsv=function(e){let t=e[1]/100,n=e[2]/100,r=t+n*(1-t),i=0;return r>0&&(i=t/r),[e[0],i*100,r*100]};I.hcg.hsl=function(e){let t=e[1]/100,r=e[2]/100*(1-t)+.5*t,i=0;return r>0&&r<.5?i=t/(2*r):r>=.5&&r<1&&(i=t/(2*(1-r))),[e[0],i*100,r*100]};I.hcg.hwb=function(e){let t=e[1]/100,n=e[2]/100,r=t+n*(1-t);return[e[0],(r-t)*100,(1-r)*100]};I.hwb.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=1-n,i=r-t,s=0;return i<1&&(s=(r-i)/(1-i)),[e[0],i*100,s*100]};I.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};I.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};I.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};I.gray.hsl=function(e){return[0,0,e[0]]};I.gray.hsv=I.gray.hsl;I.gray.hwb=function(e){return[0,100,e[0]]};I.gray.cmyk=function(e){return[0,0,0,e[0]]};I.gray.lab=function(e){return[e[0],0,0]};I.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(r.length)+r};I.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var il=tt((ub,rl)=>{var Dr=zi();function Lh(){let e={},t=Object.keys(Dr);for(let n=t.length,r=0;r<n;r++)e[t[r]]={distance:-1,parent:null};return e}function Dh(e){let t=Lh(),n=[e];for(t[e].distance=0;n.length;){let r=n.pop(),i=Object.keys(Dr[r]);for(let s=i.length,o=0;o<s;o++){let a=i[o],l=t[a];l.distance===-1&&(l.distance=t[r].distance+1,l.parent=r,n.unshift(a))}}return t}function Nh(e,t){return function(n){return t(e(n))}}function kh(e,t){let n=[t[e].parent,e],r=Dr[t[e].parent][e],i=t[e].parent;for(;t[i].parent;)n.unshift(t[i].parent),r=Nh(Dr[t[i].parent][i],r),i=t[i].parent;return r.conversion=n,r}rl.exports=function(e){let t=Dh(e),n={},r=Object.keys(t);for(let i=r.length,s=0;s<i;s++){let o=r[s];t[o].parent!==null&&(n[o]=kh(o,t))}return n}});var sl=tt((db,ol)=>{var Vi=zi(),Rh=il(),Cn={},Uh=Object.keys(Vi);function $h(e){let t=function(...n){let r=n[0];return r==null?r:(r.length>1&&(n=r),e(n))};return"conversion"in e&&(t.conversion=e.conversion),t}function Wh(e){let t=function(...n){let r=n[0];if(r==null)return r;r.length>1&&(n=r);let i=e(n);if(typeof i=="object")for(let s=i.length,o=0;o<s;o++)i[o]=Math.round(i[o]);return i};return"conversion"in e&&(t.conversion=e.conversion),t}Uh.forEach(e=>{Cn[e]={},Object.defineProperty(Cn[e],"channels",{value:Vi[e].channels}),Object.defineProperty(Cn[e],"labels",{value:Vi[e].labels});let t=Rh(e);Object.keys(t).forEach(r=>{let i=t[r];Cn[e][r]=Wh(i),Cn[e][r].raw=$h(i)})});ol.exports=Cn});var dl=tt((pb,ul)=>{"use strict";var al=(e,t)=>(...n)=>`\x1B[${e(...n)+t}m`,ll=(e,t)=>(...n)=>{let r=e(...n);return`\x1B[${38+t};5;${r}m`},cl=(e,t)=>(...n)=>{let r=e(...n);return`\x1B[${38+t};2;${r[0]};${r[1]};${r[2]}m`},Nr=e=>e,fl=(e,t,n)=>[e,t,n],On=(e,t,n)=>{Object.defineProperty(e,t,{get:()=>{let r=n();return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0}),r},enumerable:!0,configurable:!0})},Ki,vn=(e,t,n,r)=>{Ki===void 0&&(Ki=sl());let i=r?10:0,s={};for(let[o,a]of Object.entries(Ki)){let l=o==="ansi16"?"ansi":o;o===t?s[l]=e(n,i):typeof a=="object"&&(s[l]=e(a[t],i))}return s};function Bh(){let e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(let[n,r]of Object.entries(t)){for(let[i,s]of Object.entries(r))t[i]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},r[i]=t[i],e.set(s[0],s[1]);Object.defineProperty(t,n,{value:r,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="\x1B[39m",t.bgColor.close="\x1B[49m",On(t.color,"ansi",()=>vn(al,"ansi16",Nr,!1)),On(t.color,"ansi256",()=>vn(ll,"ansi256",Nr,!1)),On(t.color,"ansi16m",()=>vn(cl,"rgb",fl,!1)),On(t.bgColor,"ansi",()=>vn(al,"ansi16",Nr,!0)),On(t.bgColor,"ansi256",()=>vn(ll,"ansi256",Nr,!0)),On(t.bgColor,"ansi16m",()=>vn(cl,"rgb",fl,!0)),t}Object.defineProperty(ul,"exports",{enumerable:!0,get:Bh})});var hl=tt((hb,pl)=>{"use strict";pl.exports=(e,t=process.argv)=>{let n=e.startsWith("-")?"":e.length===1?"-":"--",r=t.indexOf(n+e),i=t.indexOf("--");return r!==-1&&(i===-1||r<i)}});var yl=tt((mb,gl)=>{"use strict";var Hh=ve("os"),ml=ve("tty"),et=hl(),{env:je}=process,Ft;et("no-color")||et("no-colors")||et("color=false")||et("color=never")?Ft=0:(et("color")||et("colors")||et("color=true")||et("color=always"))&&(Ft=1);"FORCE_COLOR"in je&&(je.FORCE_COLOR==="true"?Ft=1:je.FORCE_COLOR==="false"?Ft=0:Ft=je.FORCE_COLOR.length===0?1:Math.min(parseInt(je.FORCE_COLOR,10),3));function Qi(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Ji(e,t){if(Ft===0)return 0;if(et("color=16m")||et("color=full")||et("color=truecolor"))return 3;if(et("color=256"))return 2;if(e&&!t&&Ft===void 0)return 0;let n=Ft||0;if(je.TERM==="dumb")return n;if(process.platform==="win32"){let r=Hh.release().split(".");return Number(r[0])>=10&&Number(r[2])>=10586?Number(r[2])>=14931?3:2:1}if("CI"in je)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(r=>r in je)||je.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in je)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(je.TEAMCITY_VERSION)?1:0;if(je.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in je){let r=parseInt((je.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(je.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(je.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(je.TERM)||"COLORTERM"in je?1:n}function Gh(e){let t=Ji(e,e&&e.isTTY);return Qi(t)}gl.exports={supportsColor:Gh,stdout:Qi(Ji(!0,ml.isatty(1))),stderr:Qi(Ji(!0,ml.isatty(2)))}});var wl=tt((gb,bl)=>{"use strict";var qh=(e,t,n)=>{let r=e.indexOf(t);if(r===-1)return e;let i=t.length,s=0,o="";do o+=e.substr(s,r-s)+t+n,s=r+i,r=e.indexOf(t,s);while(r!==-1);return o+=e.substr(s),o},Yh=(e,t,n,r)=>{let i=0,s="";do{let o=e[r-1]==="\r";s+=e.substr(i,(o?r-1:r)-i)+t+(o?`\r
2
2
  `:`
3
3
  `)+n,i=r+1,r=e.indexOf(`
4
4
  `,i)}while(r!==-1);return s+=e.substr(i),s};bl.exports={stringReplaceAll:qh,stringEncaseCRLFWithFirstIndex:Yh}});var vl=tt((yb,Ol)=>{"use strict";var zh=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,Al=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Vh=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Kh=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Qh=new Map([["n",`
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { T as TransitionDataStore, S as StorageCommands, V as VisitorData, a as TransitionDataStoreOptions, D as DecayFunction, O as OutputSeverity, L as LogDrain, C as ContextPlugin, b as CriteriaEvaluator, c as StringMatch, d as ScoreVector, A as AggregateDimension, e as VariantMatchCriteria, f as LogMessage } from './types-876fb8b8.js';
2
- export { A as AggregateDimension, l as AggregateDimensionInput, ac as BehaviorTag, a0 as Context, $ as ContextEvents, Y as ContextOptions, C as ContextPlugin, t as ContextState, u as ContextStateUpdate, b as CriteriaEvaluator, n as CriteriaEvaluatorParameters, m as CriteriaEvaluatorResult, D as DecayFunction, H as DecayOptions, aj as DevToolsActions, an as DevToolsDataEvent, ak as DevToolsEvent, al as DevToolsEvents, ar as DevToolsForgetEvent, ao as DevToolsHelloEvent, am as DevToolsLogEvent, aq as DevToolsRawCommandsEvent, ai as DevToolsState, ah as DevToolsUiVersion, ap as DevToolsUpdateEvent, ab as DimensionMatch, E as EnrichmentCategory, q as EnrichmentData, r as EventData, G as GroupCriteriaEvaluator, I as IdentifyCommand, L as LogDrain, f as LogMessage, a6 as LogMessageGroup, a5 as LogMessageSingle, a1 as LogMessages, M as ManifestInstance, g as ManifestV2, a3 as MessageCategory, a4 as MessageFunc, w as ModifyScoreCommand, x as ModifySessionScoreCommand, N as NumberMatch, O as OutputSeverity, Z as PersonalizationEvent, P as PersonalizationManifest, a9 as PersonalizeOptions, ae as PersonalizedResult, ad as PersonalizedVariant, Q as Quirks, W as SERVER_STATE_ID, d as ScoreVector, U as ServerToClientTransitionState, y as SetConsentCommand, F as SetControlGroupCommand, z as SetQuirkCommand, B as SetTestCommand, a2 as Severity, h as Signal, j as SignalCriteria, i as SignalCriteriaGroup, o as SignalData, v as StorageCommand, S as StorageCommands, c as StringMatch, k as TestDefinition, _ as TestEvent, a8 as TestOptions, ag as TestResult, af as TestVariant, p as Tests, T as TransitionDataStore, X as TransitionDataStoreEvents, a as TransitionDataStoreOptions, e as VariantMatchCriteria, V as VisitorData, R as VisitorDataStore, K as VisitorDataStoreEvents, J as VisitorDataStoreOptions, s as emptyVisitorData, aa as personalizeVariations, a7 as testVariations } from './types-876fb8b8.js';
1
+ import { T as TransitionDataStore, S as StorageCommands, V as VisitorData, a as TransitionDataStoreOptions, D as DecayFunction, O as OutputSeverity, L as LogDrain, C as ContextPlugin, b as CriteriaEvaluator, c as StringMatch, d as ScoreVector, A as AggregateDimension, e as VariantMatchCriteria, f as LogMessage } from './types-682b51bf.js';
2
+ export { A as AggregateDimension, l as AggregateDimensionInput, ac as BehaviorTag, a0 as Context, $ as ContextEvents, Y as ContextOptions, C as ContextPlugin, t as ContextState, u as ContextStateUpdate, b as CriteriaEvaluator, n as CriteriaEvaluatorParameters, m as CriteriaEvaluatorResult, D as DecayFunction, H as DecayOptions, aj as DevToolsActions, an as DevToolsDataEvent, ak as DevToolsEvent, al as DevToolsEvents, ar as DevToolsForgetEvent, ao as DevToolsHelloEvent, am as DevToolsLogEvent, aq as DevToolsRawCommandsEvent, ai as DevToolsState, ah as DevToolsUiVersion, ap as DevToolsUpdateEvent, ab as DimensionMatch, E as EnrichmentCategory, q as EnrichmentData, r as EventData, G as GroupCriteriaEvaluator, I as IdentifyCommand, L as LogDrain, f as LogMessage, a6 as LogMessageGroup, a5 as LogMessageSingle, a1 as LogMessages, M as ManifestInstance, g as ManifestV2, a3 as MessageCategory, a4 as MessageFunc, w as ModifyScoreCommand, x as ModifySessionScoreCommand, N as NumberMatch, O as OutputSeverity, Z as PersonalizationEvent, P as PersonalizationManifest, a9 as PersonalizeOptions, ae as PersonalizedResult, ad as PersonalizedVariant, Q as Quirks, W as SERVER_STATE_ID, d as ScoreVector, U as ServerToClientTransitionState, y as SetConsentCommand, F as SetControlGroupCommand, z as SetQuirkCommand, B as SetTestCommand, a2 as Severity, h as Signal, j as SignalCriteria, i as SignalCriteriaGroup, o as SignalData, v as StorageCommand, S as StorageCommands, c as StringMatch, k as TestDefinition, _ as TestEvent, a8 as TestOptions, ag as TestResult, af as TestVariant, p as Tests, T as TransitionDataStore, X as TransitionDataStoreEvents, a as TransitionDataStoreOptions, e as VariantMatchCriteria, V as VisitorData, R as VisitorDataStore, K as VisitorDataStoreEvents, J as VisitorDataStoreOptions, s as emptyVisitorData, aa as personalizeVariations, a7 as testVariations } from './types-682b51bf.js';
3
3
  import Cookies from 'js-cookie';
4
- import './v2-manifest.swagger-ff2af13e.js';
5
4
  import 'mitt';
5
+ import './v2-manifest.swagger-ff2af13e.js';
6
6
 
7
7
  declare type CookieTransitionDataStoreOptions = {
8
8
  /**
package/dist/index.esm.js CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";var ae=Object.defineProperty;var ue=(e,t,r)=>t in e?ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var y=(e,t,r)=>(ue(e,typeof t!="symbol"?t+"":t,r),r),dt=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var a=(e,t,r)=>(dt(e,t,"read from private field"),r?r.call(e):t.get(e)),d=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},m=(e,t,r,i)=>(dt(e,t,"write to private field"),i?i.call(e,r):t.set(e,r),r);var S=(e,t,r)=>(dt(e,t,"access private method"),r);function wt(e,t){let r={...e};for(let i in t){let n=Rt(e,i,t,new Set([i]));n!==0&&(r[i]=n)}return r}function Rt(e,t,r,i){var s;let n=0;for(let o of r[t].inputs){let u=(s=e[o.dim])!=null?s:0;if(!u&&r[o.dim]){if(i.has(o.dim))continue;let l=new Set(i);l.add(o.dim),u=Rt(e,o.dim,r,l)}if(u!==0)if(o.sign==="c"){n=0;break}else o.sign==="-"?n-=u:n+=u}return n}var Z="_";var Q,F,M=class{constructor(t,r,i){d(this,Q,void 0);d(this,F,void 0);y(this,"signal");this.signal=t,m(this,Q,r),m(this,F,i)}computeSignal(t,r){if(t.scores[this.signal.id]>=this.signal.cap&&this.signal.dur!=="t")return;let n=a(this,Q).evaluate(t,this.signal.crit,r,this.signal,a(this,F)),s=this.signal.dur==="s"||this.signal.dur==="t"?"modscoreS":"modscore";if(!!n.changed){if(n.result)r.push({type:s,data:{dimension:this.signal.id,delta:this.signal.str}});else if(this.signal.dur==="t"){let o=t.visitor.sessionScores[this.signal.id];o&&r.push({type:s,data:{dimension:this.signal.id,delta:-o}})}}}};Q=new WeakMap,F=new WeakMap;var b,K,R,L=class{constructor({manifest:t,evaluator:r=new G({}),onLogMessage:i=()=>{}}){y(this,"data");d(this,b,void 0);d(this,K,void 0);d(this,R,void 0);var n,s,o;m(this,b,(n=t.project)!=null?n:{}),this.data=t,m(this,K,Object.entries((o=(s=a(this,b).pz)==null?void 0:s.sig)!=null?o:[]).map(([u,c])=>new M({...c,id:u},r,i))),m(this,R,i)}rollForControlGroup(){var t,r;return Math.random()<((r=(t=a(this,b).pz)==null?void 0:t.control)!=null?r:0)}getTest(t){var r;return(r=a(this,b).test)==null?void 0:r[t]}computeSignals(t){let r=[];a(this,R).call(this,["debug",200,"GROUP"]);try{a(this,K).forEach(i=>{a(this,R).call(this,["debug",201,"GROUP",i.signal]);try{i.computeSignal(t,r)}finally{a(this,R).call(this,["debug",201,"ENDGROUP"])}})}finally{a(this,R).call(this,["debug",200,"ENDGROUP"])}return r}computeAggregateDimensions(t){var r,i;return wt(t,(i=(r=a(this,b).pz)==null?void 0:r.agg)!=null?i:{})}getDimensionByKey(t){var i,n,s,o;let r=t.indexOf(Z);return r<=0?(n=(i=a(this,b).pz)==null?void 0:i.sig)==null?void 0:n[t]:(o=(s=a(this,b).pz)==null?void 0:s.enr)==null?void 0:o[t.substring(0,r)]}};b=new WeakMap,K=new WeakMap,R=new WeakMap;import{dequal as le}from"dequal/lite";function V(e,t){var o,u,c,l,f,p;let r=(o=t==null?void 0:t.op)!=null?o:"=";if(t.op==="*")return e!==null&&typeof e!="undefined";if(t.op==="!*")return e===null||typeof e=="undefined";if(!("rhs"in t))throw new Error(`Match expression is required for match type ${r}`);let i=(u=t.cs)!=null?u:!1,n=(i?e!=null?e:"":Ot(e)).toString(),s=(i?t.rhs:Ot(t.rhs)).toString();switch(r){case"=":return n===s;case"!=":return n!==s;case"~":return(c=n.includes(s))!=null?c:!1;case"!~":return!((l=n.includes(s))==null||l);case"//":return new RegExp(t.rhs.toString(),i?"":"i").test((f=e==null?void 0:e.toString())!=null?f:"");case"!//":return!new RegExp(t.rhs.toString(),i?"":"i").test((p=e==null?void 0:e.toString())!=null?p:"");default:throw new Error(`Unknown match type ${r}.`)}}function O(e,t){return`'${("cs"in t?t.cs:!1)?e:e==null?void 0:e.toString().toUpperCase()}' ${ft(t)}`}function ft(e){return"rhs"in e?`${e.op} '${e.cs?e.rhs:e.rhs.toString().toUpperCase()}'`:`${e.op==="*"?"exists":"does not exist"}`}function Ot(e){var t,r;return(r=(t=e==null?void 0:e.toString())==null?void 0:t.toUpperCase())!=null?r:""}var $t=({update:e,criteria:t,onLogMessage:r})=>{var u,c;if(t.type!=="CK")return{result:!1,changed:!1};let i=!le(Ut(e.state.cookies),Ut((u=e.previousState)==null?void 0:u.cookies)),n=(c=e.state.cookies)==null?void 0:c[t.cookieName],o={result:V(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:O(n,t.match)}]),o};function Ut(e){if(!e)return;if(!e.ufvd)return e;let{ufvd:t,...r}=e;return r}function Nt(e,t){var i;if(typeof e=="undefined"||e===null)return!1;let r=Number(e);if(isNaN(r))return!1;switch((i=t==null?void 0:t.op)!=null?i:"="){case"=":return r===t.rhs;case"!=":return r!==t.rhs;case">":return r>t.rhs;case"<":return r<t.rhs;default:return console.warn(`Unknown match type ${t.op} is false.`),!1}}function At(e,t){return`${e} ${ce(t)}`}function ce(e){return`${e.op} ${e.rhs}`}function tt(e,t){return`${e}${Z}${t}`}var pt=tt("$pvc","v"),mt=({update:e,criteria:t,commands:r,onLogMessage:i})=>{var l,f;if(t.type!=="PVC")return{result:!1,changed:!1};let n=Boolean(e.state.url&&(!e.previousState||((l=e.state.url)==null?void 0:l.toString())!==((f=e.previousState.url)==null?void 0:f.toString()))),o=(e.visitor.sessionScores[pt]||0)+1,u={result:!1,changed:n},c=r.some(p=>p.type==="modscoreS"&&p.data.dimension===pt);return n&&!c&&r.push({type:"modscoreS",data:{dimension:pt,delta:1}}),Nt(o,t.match)&&(u.result=!0),i==null||i(["debug",203,{criteria:t,result:u,explanation:At(o,t.match)}]),u};mt.alwaysExecute=!0;var Gt=({update:e,criteria:t,onLogMessage:r})=>{var u,c,l,f,p;if(t.type!=="QS")return{result:!1,changed:!1};let i=!e.previousState||((c=(u=e.state.url)==null?void 0:u.searchParams)==null?void 0:c.toString())!==((f=(l=e.previousState.url)==null?void 0:l.searchParams)==null?void 0:f.toString()),n=(p=e.state.url)==null?void 0:p.searchParams.get(t.queryName),o={result:V(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:O(n,t.match)}]),o};var zt=({update:e,criteria:t,signal:r,onLogMessage:i})=>{var f;if(t.type!=="QK")return{result:!1,changed:!1};if(typeof document=="undefined"&&r.dur==="t"&&e.scores[r.id]>0)return{result:!0,changed:!1};let n=e.visitor.quirks[t.key],s=(f=e.state.quirks)==null?void 0:f[t.key],o=s!=null?s:n,u=Boolean(s&&n!==s),l={result:V(o,t.match),changed:u};return i==null||i(["debug",203,{criteria:t,result:l,explanation:O(o,t.match)}]),l};var It=({update:e,criteria:t,onLogMessage:r})=>{var s,o,u;if(t.type!=="EVT")return{result:!1,changed:!1};let i=(o=(s=e.state.events)==null?void 0:s.some(c=>V(c.event,t.event)))!=null?o:!1,n={result:i,changed:i};return r==null||r(["debug",203,{criteria:t,result:n,explanation:`'${(u=e.state.events)==null?void 0:u.join("', '")}' ${ft(t.event)}`}]),n};var qt=({update:e,criteria:t,onLogMessage:r})=>{var u,c,l;if(t.type!=="PV")return{result:!1,changed:!1};let i=(u=e.state.url)==null?void 0:u.pathname,n=!e.previousState||(i==null?void 0:i.toString())!==((l=(c=e.previousState.url)==null?void 0:c.pathname)==null?void 0:l.toString()),o={result:V(i,t.path),changed:n};return r==null||r(["debug",203,{criteria:t,result:o,explanation:O(i,t.path)}]),o};var H,G=class{constructor(t){d(this,H,void 0);m(this,H,t)}evaluate(t,r,i,n,s){let o=r.clauses.length>1;o&&(s==null||s(["debug",202,"GROUP",r]));try{let u=!(r.op==="&"||!r.op),c=null,l=!1;for(let p of r.clauses){let v;if(p.type==="G")v=this.evaluate(t,p,i,n,s);else{let D=a(this,H)[p.type];if(c&&!D.alwaysExecute)continue;if(!D)throw new Error(`${p.type} signal criteria not registered`);v=D({update:t,criteria:p,commands:i,signal:n,onLogMessage:s})}v.changed&&(l=!0),!c&&v.result===u&&(c={result:u,changed:l})}let f=c!=null?c:{result:!u,changed:l};return o&&(s==null||s(["debug",204,f])),f}finally{o&&(s==null||s(["debug",202,"ENDGROUP"]))}}};H=new WeakMap;var et=()=>({quirks:{},scores:{},sessionScores:{},tests:{},consent:!1,controlGroup:!1});import de from"mitt";import{dequal as fe}from"dequal/lite";var pe="__UNIFORM_DATA__",U,z,I=class{constructor({initialData:t}){d(this,U,void 0);d(this,z,de());y(this,"events",{on:a(this,z).on,off:a(this,z).off});t&&m(this,U,t)}get data(){return a(this,U)}updateData(t,r){return m(this,U,r),this.handleUpdateData(t,r)}async delete(t){m(this,U,void 0),await this.handleDelete(t)}signalAsyncDataUpdate(t){fe(this.data,t)||(m(this,U,t),a(this,z).emit("dataUpdatedAsync",t))}getClientTransitionState(){if(typeof document=="undefined")return;let t=document.getElementById(pe);return t!=null&&t.textContent?JSON.parse(t.textContent):void 0}};U=new WeakMap,z=new WeakMap;var ht="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_t=ht.split(""),jt=new Array(123);for(let e=0;e<ht.length;e++)jt[ht.charCodeAt(e)]=e;var gt=e=>{if(e<0)return`-${gt(-e)}`;let t=e>>>0,r=e/4294967296>>>0,i="";for(;r>0;)i=_t[63&t]+i,t>>>=6,t|=(63&r)<<26,r>>>=6;let n="";do n=_t[63&t]+n,t>>>=6;while(t>0);return n+i},Qt=e=>{let t=0,r=e.charAt(0)==="-"?1:0;for(let i=r;i<e.length;i++)t=t*64+jt[e.charCodeAt(i)];return r?-t:t};import vt from"js-cookie";var St=typeof document=="undefined",me="ufvd",$,B,Ft=class extends I{constructor({serverCookieValue:r,cookieName:i=me,cookieAttributes:n={sameSite:"lax"}}){super({initialData:St?he(r):void 0});d(this,$,void 0);d(this,B,void 0);m(this,$,i),m(this,B,n)}handleDelete(){return St||vt.remove(a(this,$)),Promise.resolve()}async handleUpdateData(r,i){St||(i.consent?vt.set(a(this,$),ge(i),a(this,B)):vt.remove(a(this,$)))}};$=new WeakMap,B=new WeakMap;var Bt="~",Jt="!",Wt="-";function he(e){if(!e)return;let t=e.split(Bt);if(t.length>3)return;let[r,i,n]=t;return{consent:!0,sessionScores:Kt(yt(i)),scores:Kt(yt(n)),tests:yt(r)}}function yt(e){return e.split(Jt).map(r=>r.split(Wt)).reduce((r,i)=>(i.length!==2||(r[i[0]]=i[1]),r),{})}function Kt(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=Qt(i),t),{})}function ge(e){return[Dt(e.tests),Dt(Ht(e.sessionScores)),Dt(Ht(e.scores))].join(Bt)}function Ht(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=gt(i),t),{})}function Dt(e){return Object.entries(e).map(t=>t.join(Wt)).join(Jt)}var rt,Xt,Yt=class extends I{constructor({serverCookieValue:r,visitorIdCookieName:i="ufvi",...n}){super(n);d(this,rt);n.initialData||S(this,rt,Xt).call(this).catch(s=>{console.error(s)})}handleDelete(r){throw new Error("Method not implemented.")}async handleUpdateData(r){let i=await new Promise(n=>{setTimeout(()=>{n(void 0)},2e3)});i&&this.signalAsyncDataUpdate(i)}};rt=new WeakSet,Xt=async function(){let r=await new Promise(i=>{setTimeout(()=>{i(void 0)},2e3)});r&&this.signalAsyncDataUpdate(r)};function kr(e){let{gracePeriod:t=864e5,decayRate:r=1/30,decayCap:i=.95}=e!=null?e:{};return function({now:s,lastUpd:o,scores:u,sessionScores:c,onLogMessage:l}){if(typeof o!="number")return!1;let p=s-o-t;if(p<=0)return!1;let v=p/864e5,D=1-Math.min(i,v*r);return D<=0?!1:(Zt(u,D),Zt(c,D),l==null||l(["info",140,`linear decay factor ${D.toPrecision(6)}`]),!0)}}function Zt(e,t){for(let r in e)r.startsWith("$")||(e[r]*=t)}import ye from"mitt";import{dequal as nt}from"dequal/lite";var it=class{constructor(){y(this,"inMemoryFallback",{});y(this,"hasLocalStorageObject",typeof localStorage!="undefined")}get(t){let r=this.inMemoryFallback[t];if(!this.hasLocalStorageObject||r)return r;try{let i=localStorage.getItem(t);return i?JSON.parse(i):void 0}catch(i){return r}}set(t,r,i){if(this.inMemoryFallback[t]=r,!(!this.hasLocalStorageObject||!i))try{localStorage.setItem(t,JSON.stringify(r))}catch(n){console.warn(n)}}delete(t,r){r||delete this.inMemoryFallback[t];try{localStorage.removeItem(t)}catch(i){}}};import ve from"rfdc";var Se=ve();function Mt(e,t,r){let i=t?Se(t):et();return e.forEach(n=>{var s,o;switch(n.type){case"consent":i.consent=n.data;break;case"setquirk":i.quirks[n.data.key]=n.data.value;break;case"settest":i.tests[n.data.test]=n.data.variant;break;case"modscore":if(r)break;let u=Number(n.data.delta);if(isNaN(u))throw new Error("Non-number delta received");let c=(s=i.scores[n.data.dimension])!=null?s:0;i.scores[n.data.dimension]=c+u;break;case"modscoreS":if(r)break;let l=Number(n.data.delta);if(isNaN(l))throw new Error("Non-number delta received");let f=(o=i.sessionScores[n.data.dimension])!=null?o:0;i.sessionScores[n.data.dimension]=f+l;break;case"identify":break;case"setcontrol":i.controlGroup=n.data;break;default:throw new Error("Unknown command")}}),i}var ot="ufvisitor",E,A,q,g,x,k,P,N,at,Lt,ut,te,J,Ct,W,xt,st=class{constructor(t){d(this,x);d(this,P);d(this,at);d(this,ut);d(this,J);d(this,W);d(this,E,ye());d(this,A,new it);d(this,q,void 0);d(this,g,void 0);y(this,"events",{on:a(this,E).on,off:a(this,E).off});if(m(this,g,t),a(this,x,k)||S(this,P,N).call(this,S(this,W,xt).call(this),!0),t.transitionStore){let r=t.transitionStore.getClientTransitionState();r&&t.onServerTransitionReceived&&t.onServerTransitionReceived(r),t.transitionStore.events.on("dataUpdatedAsync",n=>{S(this,P,N).call(this,{...a(this,x,k).visitorData,...n})});let i=t.transitionStore.data;i&&S(this,P,N).call(this,{...a(this,x,k).visitorData,...i},!0)}}get data(){var r,i;let t=a(this,x,k);if(S(this,ut,te).call(this,t)){let{sessionScores:n,...s}=t.visitorData;return S(this,P,N).call(this,{...s,sessionScores:{}}),(i=(r=a(this,g)).onLogMessage)==null||i.call(r,["info",120]),a(this,x,k).visitorData}return t.visitorData}get decayEnabled(){return!!a(this,g).decay}async updateData(t){var i,n,s,o;if(t.length===0)return;(n=(i=a(this,g)).onLogMessage)==null||n.call(i,["debug",101,t]);let r=Mt(t,this.data,(s=a(this,x,k))==null?void 0:s.visitorData.controlGroup);t.some(u=>u.type==="consent"&&!u.data)&&a(this,A).delete(ot,!0),S(this,P,N).call(this,r),await((o=a(this,g).transitionStore)==null?void 0:o.updateData(t,a(this,x,k).visitorData))}async delete(t){var r,i,n,s,o;(i=(r=a(this,g)).onLogMessage)==null||i.call(r,["info",103,"GROUP",t]);try{a(this,A).delete(ot,!1),await((n=a(this,g).transitionStore)==null?void 0:n.delete(t)),S(this,P,N).call(this,S(this,W,xt).call(this))}finally{(o=(s=a(this,g)).onLogMessage)==null||o.call(s,["info",103,"ENDGROUP"])}}};E=new WeakMap,A=new WeakMap,q=new WeakMap,g=new WeakMap,x=new WeakSet,k=function(){return a(this,A).get(ot)},P=new WeakSet,N=function(t,r=!1){var f,p,v,D,X,Et,Tt,kt,Pt;let i=a(this,x,k),n=Date.now();t.controlGroup?(t.scores={},t.sessionScores={}):(S(this,J,Ct).call(this,t.scores),S(this,J,Ct).call(this,t.sessionScores),(p=(f=a(this,g)).decay)==null||p.call(f,{now:n,lastUpd:i==null?void 0:i.updated,scores:t.scores,sessionScores:t.sessionScores,onLogMessage:a(this,g).onLogMessage}));let s=!nt(i==null?void 0:i.visitorData.scores,t.scores),o=!nt(i==null?void 0:i.visitorData.sessionScores,t.sessionScores),u=!nt(i==null?void 0:i.visitorData.quirks,t.quirks),c=!nt(i==null?void 0:i.visitorData.tests,t.tests),l={updated:n,visitorData:t};S(this,at,Lt).call(this),a(this,A).set(ot,l,!!t.consent),(D=(v=a(this,g)).onLogMessage)==null||D.call(v,["debug",102,t]),r||((s||o)&&a(this,E).emit("scoresUpdated",t),u&&a(this,E).emit("quirksUpdated",t),c&&a(this,E).emit("testsUpdated",t),((X=i==null?void 0:i.visitorData)==null?void 0:X.consent)!==t.consent&&a(this,E).emit("consentUpdated",t),((Et=i==null?void 0:i.visitorData)==null?void 0:Et.controlGroup)!==t.controlGroup&&(a(this,E).emit("controlGroupUpdated",t),(Pt=(kt=a(this,g)).onLogMessage)==null||Pt.call(kt,["debug",104,(Tt=t.controlGroup)!=null?Tt:!1])))},at=new WeakSet,Lt=function(){typeof document=="undefined"||!a(this,g).visitLifespan||(a(this,q)&&window.clearTimeout(a(this,q)),m(this,q,window.setTimeout(()=>{this.data},a(this,g).visitLifespan+50)))},ut=new WeakSet,te=function(t){let r=a(this,g).visitLifespan;return r?t.updated+r<Date.now():!1},J=new WeakSet,Ct=function(t){var r,i;if(!!a(this,g).manifest)for(let n in t){let s=t[n],o=a(this,g).manifest.getDimensionByKey(n);!o||s>o.cap&&((i=(r=a(this,g)).onLogMessage)==null||i.call(r,["debug",110,{dim:n,score:s,cap:o.cap}]),t[n]=o.cap)}},W=new WeakSet,xt=function(){var t,r,i;return{...et(),consent:(t=a(this,g).defaultConsent)!=null?t:!1,controlGroup:(i=(r=a(this,g).manifest)==null?void 0:r.rollForControlGroup())!=null?i:!1}};import Ce from"mitt";function ee({name:e,context:t,variations:r,take:i=1,onLogMessage:n}){var s,o,u;n==null||n(["info",300,"GROUP",{name:e,take:i}]);try{let c=(s=t.storage.data.controlGroup)!=null?s:!1,l=[],f=!1,p=t.scores;for(let v of r){if(l.length===i)break;if(!((o=v.pz)!=null&&o.crit.length)){n==null||n(["info",301,"GROUP",{id:v.id,op:(u=v.pz)==null?void 0:u.op}]),n==null||n(["info",302,{matched:!0,description:"default variation"}]),n==null||n(["info",303,!0]),n==null||n(["info",301,"ENDGROUP"]),l.push(v);continue}c||re(v.id,v.pz,p,n)&&(f=!0,l.push(v))}return{personalized:f,variations:l}}finally{n==null||n(["info",300,"ENDGROUP"])}}function re(e,t,r,i){i==null||i(["info",301,"GROUP",{id:e,op:t==null?void 0:t.op}]);let n;try{t!=null&&t.crit?!t.op||t.op==="&"?n=t.crit.every(s=>ie(s,r,i)):n=t.crit.some(s=>ie(s,r,i)):(i==null||i(["info",302,{matched:!0,description:"default variation"}]),n=!0),i==null||i(["info",303,n])}finally{i==null||i(["info",301,"ENDGROUP"])}return n}function ie(e,t,r){var u,c;let{op:i,l:n}=e,s=(u=t[n])!=null?u:0;if(i==="+"){let l=Math.max(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:l,description:`${e.l} has the highest score`}]),l}else if(i==="-"){let l=Math.min(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:l,description:`${e.l} has the lowest non-zero score`}]),l}let o=parseInt(e.rDim?t[e.rDim]:e.r,10);if(isNaN(o))return r==null||r(["info",302,{matched:!1,description:`${(c=e.rDim)!=null?c:e.r} has no score value`}]),!1;if(i===">"){let l=s>o;return _(r,l,e,s,o),l}else if(i===">="){let l=s>=o;return _(r,l,e,s,o),l}else if(i==="<"){let l=s<o;return _(r,l,e,s,o),l}else if(i==="<="){let l=s<=o;return _(r,l,e,s,o),l}else if(i==="="){let l=s===o;return _(r,l,e,s,o),l}else if(i==="!="){let l=s!==o;return _(r,l,e,s,o),l}else throw new Error(`Unknown op: ${i}`)}function _(e,t,r,i,n){e==null||e(["info",302,{matched:t,description:`${r.l}[${i}] ${r.op} ${r.rDim?`${r.rDim}[${n}]`:r.r}`}])}var De=e=>{let{values:t,total:r,missingDistribution:i}=e.reduce((n,s)=>(s.testDistribution?n.total+=s.testDistribution:++n.missingDistribution,n.values.push(s.testDistribution),n),{values:[],total:0,missingDistribution:0});if(r>100)throw new Error(`Total distribution ${r} is over the maximum 100.`);if(r<100){let s=(100-r)/i;t.forEach((o,u)=>{typeof o=="undefined"&&(t[u]=s)})}return t},bt=({name:e,context:t,variations:r,onLogMessage:i})=>{i==null||i(["info",400,"GROUP",e]);try{let n,s=t.getTestVariantId(e);if(s===null)return i==null||i(["error",401,e]),{result:void 0,variantAssigned:!1};if(s&&(n=r.find(o=>o.id===s),n||i==null||i(["warn",402,{missingVariant:s,variants:r.map(o=>o.id)}])),!n){let o=De(r),u=Math.floor(Math.random()*100),c=0;n=r.find((l,f)=>{let p=o[f];if(u>c&&u<=c+p)return l;c+=p}),n&&(i==null||i(["info",403,n.id]),t.setTestVariantId(e,n.id))}return n&&(i==null||i(["info",404,n.id])),{result:n,variantAssigned:!s}}finally{i==null||i(["info",400,"ENDGROUP"])}};import{dequal as ne}from"dequal/lite";var C,w,T,Y,h,j,lt,oe=class{constructor(t){d(this,j);y(this,"manifest");d(this,C,void 0);d(this,w,{});d(this,T,void 0);d(this,Y,{});d(this,h,Ce());y(this,"events",{on:a(this,h).on,off:a(this,h).off});y(this,"storage");var n,s;let{manifest:r,...i}=t;m(this,T,{}),(n=t.plugins)==null||n.forEach(o=>{!o.logDrain||a(this,h).on("log",o.logDrain)}),a(this,h).emit("log",["info",1,"GROUP"]);try{this.manifest=new L({onLogMessage:o=>a(this,h).emit("log",o),manifest:r,evaluator:new G({CK:$t,QS:Gt,QK:zt,PVC:mt,EVT:It,PV:qt})}),this.storage=new st({...i,manifest:this.manifest,onServerTransitionReceived:o=>{m(this,C,o),o.ssv&&(m(this,w,o.ssv),a(this,h).emit("log",["debug",130,o.ssv]))},onLogMessage:o=>a(this,h).emit("log",o)}),this.storage.events.on("scoresUpdated",S(this,j,lt).bind(this)),a(this,C)||S(this,j,lt).call(this,this.storage.data),this.storage.events.on("quirksUpdated",o=>{let u=this.manifest.computeSignals({scores:a(this,w),state:a(this,T),previousState:a(this,T),visitor:this.storage.data});this.storage.updateData(u),a(this,h).emit("quirksUpdated",o.quirks),a(this,h).emit("log",["info",4,o.quirks])}),(s=t.plugins)==null||s.forEach(o=>{!o.init||o.init(this)})}finally{a(this,h).emit("log",["info",1,"ENDGROUP"])}}get scores(){return a(this,w)}get quirks(){var t,r;return(r=(t=a(this,C))==null?void 0:t.quirks)!=null?r:this.storage.data.quirks}async update(t){var i,n,s;let r=[];(i=a(this,C))!=null&&i.quirks&&(t={...t,quirks:{...a(this,C).quirks,...t.quirks||{}}}),(n=a(this,C))!=null&&n.tests&&r.push(...Object.entries(a(this,C).tests).map(([o,u])=>({type:"settest",data:{test:o,variant:u}})));try{a(this,h).emit("log",["info",2,"GROUP",{...t,url:(s=t.url)==null?void 0:s.toString()}]),t.quirks&&r.push(...Object.entries(t.quirks).map(([o,u])=>({type:"setquirk",data:{key:o,value:u}}))),t.enrichments&&t.enrichments.forEach(o=>{let u=tt(o.cat,o.key);this.manifest.getDimensionByKey(u)?r.push({type:"modscore",data:{dimension:u,delta:o.str}}):a(this,h).emit("log",["warn",5,o])}),r.push(...this.manifest.computeSignals({state:t,previousState:a(this,T),visitor:this.storage.data,scores:a(this,w)})),m(this,T,{...a(this,T),...t}),await this.storage.updateData(r),a(this,C)&&(S(this,j,lt).call(this,this.storage.data),m(this,C,void 0),a(this,h).emit("log",["debug",131]))}finally{a(this,h).emit("log",["info",2,"ENDGROUP"])}}getTestVariantId(t){var i;let r=this.manifest.getTest(t);return r?(i=r.wv)!=null?i:this.storage.data.tests[t]:(a(this,h).emit("log",["warn",401,t]),null)}setTestVariantId(t,r){this.storage.updateData([{type:"settest",data:{test:t,variant:r}}])}log(...t){a(this,h).emit("log",t)}test(t){var i,n;let r=bt({...t,context:this,onLogMessage:s=>a(this,h).emit("log",s)});return a(this,h).emit("testResult",{name:t.name,variantId:(n=(i=r.result)==null?void 0:i.id)!=null?n:void 0,variantAssigned:r.variantAssigned}),r}personalize(t){let r=ee({...t,context:this,onLogMessage:s=>a(this,h).emit("log",s)}),i=a(this,Y)[t.name],n={name:t.name,variantIds:r.variations.map(s=>{var o;return(o=s.id)!=null?o:"Unknown"}),control:this.storage.data.controlGroup,changed:!0};return i&&ne(n.variantIds,i)&&(n.changed=!1),a(this,h).emit("personalizationResult",n),a(this,Y)[t.name]=n.variantIds,r}async forget(t){m(this,T,{}),await this.storage.delete(t)}};C=new WeakMap,w=new WeakMap,T=new WeakMap,Y=new WeakMap,h=new WeakMap,j=new WeakSet,lt=function(t){var n;let r={...t.scores};for(let s in t.sessionScores)r[s]=((n=r[s])!=null?n:0)+t.sessionScores[s];r=this.manifest.computeAggregateDimensions(r),!ne(r,a(this,w))&&(m(this,w,r),a(this,h).emit("scoresUpdated",r),a(this,h).emit("log",["info",3,r]))};import xe from"rfdc";function ct(e,t){if(e==="none")return!1;switch(t){case"debug":return e==="debug";case"info":return e==="info"||e==="debug";case"warn":return e==="warn"||e==="info"||e==="debug";case"error":return e==="debug"||"info";default:return!1}}var be=xe();function Ve(e){return([t,...r])=>{if(!ct(e,t))return;let[i,...n]=r;console[t](`\u{1F94B} [${t}] Uniform event ID ${i}
2
- `,...n.map(be))}}function fi(e){return{logDrain:Ve(e)}}var se={1:()=>["context","initializing Uniform Context"],2:e=>["context","received update()",e],3:e=>["context","new score vector",e],4:e=>["context","updated quirks",e],5:e=>["context","ignored enrichment update for unknown enrichment category",e.cat],101:e=>["storage","received update commands",e],102:e=>["storage","data was updated",e],103:e=>["storage",`deleting visitor data ${e?"from all devices":"from this device"}`],104:e=>["context",e?"Visitor assigned to personalization control group":"Visitor assigned to personalization experiment group"],110:({dim:e,cap:t,score:r})=>["storage",`${e} score ${r} exceeded cap ${t}. Rounded down.`],120:()=>["storage","visitor data expired and was cleared"],130:e=>["storage","server to client transition score data was loaded; it will persist until the next update event occurs",e],131:()=>["storage","server to client transition data was discarded"],140:e=>["storage",`score decay was applied: ${e}`],200:()=>["signals","evaluating signals"],201:e=>["signals",`evaluating signal ${e.id} (${e.dur})`],202:e=>["signals",e.op==="|"?"OR":"AND"],203:({criteria:e,result:t,explanation:r})=>["signals",`${e.type}: ${r} is ${t.result} [${t.changed?"CHANGED":"unchanged"}]`],204:e=>["signals",`group result: ${e.result} [${e.changed?"CHANGED":"unchanged"}]`],300:e=>["personalization",`executing personalization '${e.name}'`],301:({id:e,op:t})=>["personalization",`testing variation ${e} (${t==="|"?"OR":"AND"})`],302:({matched:e,description:t})=>["personalization",`${t} is ${e}`],303:e=>["personalization",e?"selected variation":"did not select variation"],400:e=>["testing",`executing A/B test '${e}'`],401:e=>["testing",`${e} is not registered in the manifest; it will not be run.`],402:({missingVariant:e,variants:t})=>["testing",`test variation '${e}' previously assigned to the visitor for this test no longer exists as a variant. It will be removed. This may indicate changing test variations after publishing a test, which will make results invalid. Known variants: ${t.join(", ")}`],403:e=>["testing",`assigned new test variant '${e}'`],404:e=>["testing",`displaying variation '${e}'`],700:()=>["gtag","gtag is not defined, skipping analytics event emission. Ensure you have added the gtag script to your page."],701:()=>["gtag","enabled gtag event signal redirection"]};import Ee from"rfdc";var Te=Ee();function ke(e,t){let r=typeof document=="undefined",{enableOnServer:i=!1}=t!=null?t:{};return([n,...s])=>{if(!ct(e,n)||r&&!i)return;let[o,...u]=s,c=console[n];if(u[0]==="GROUP"&&(u.shift(),c=console.groupCollapsed),u[0]==="ENDGROUP"){console.groupEnd();return}let l=se[o],f="";switch(n){case"debug":f="\u{1F41E}";break;case"info":f="\u{1F4AC}";break;case"warn":f="\u26A0\uFE0F";break;case"error":f="\u{1F4A5}";break}let p=f;if(!l){c(`${p} unknown event ID ${o}. Log messages data may be older than Uniform Context package.`,...u);return}let[v,D,...X]=l(...u);c(`${p}[${v}] ${D}
3
- `,...X.map(Te))}}function Si(e,t){return{logDrain:ke(e,t)}}var Pe=(u=>(u.ListStart="nesi-list-start",u.ListEnd="nesi-list-end",u.ListItem="nesi-list-item-html",u.ListItemSettings="nesi-list-item-settings",u.TestStart="nesi-test-start",u.TestEnd="nesi-test-end",u.Unknown="unknown",u))(Pe||{}),Di="nesitag";var Vt=typeof top!="undefined";function xi(){return{logDrain:e=>{!Vt||top==null||top.postMessage({type:"uniform:context:log",message:e},window.location.origin)},init:e=>{let t=[],r=[],i=()=>{!Vt||top==null||top.postMessage({type:"uniform:context:data",data:{scores:e.scores,data:e.storage.data,manifest:e.manifest.data,personalizations:t,tests:r}},window.location.origin)},n=o=>{!o.changed||(t.push(o),i())},s=o=>{!o.variantAssigned||(r.push(o),i())};if(Vt){window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__=e;try{top==null||top.addEventListener("message",async o=>{if(!o.data)return;let u=o.data;await we(u,e)})}catch(o){console.warn("Unable to initialize Uniform Context DevTools because it is in a cross-domain iframe.",o)}top==null||top.postMessage({type:"uniform:context:hello",uiVersion:2},window.location.origin),i()}return e.events.on("personalizationResult",n),e.events.on("testResult",s),e.events.on("scoresUpdated",i),e.storage.events.on("*",i),()=>{e.events.off("scoresUpdated",i),e.storage.events.off("*",i),e.events.off("personalizationResult",n),e.events.off("testResult",s)}}}}async function we(e,t){e.type==="uniform-in:context:update"&&e.newData&&await t.update(e.newData),e.type==="uniform-in:context:commands"&&e.commands&&Array.isArray(e.commands)&&await t.storage.updateData(e.commands),e.type==="uniform-in:context:forget"&&await t.forget(!1)}function Vi(e){return`${e.apiKey}|${e.projectId}${e.apiHost?`|${e.apiHost}`:""}`}function Ei(e){let[t,r,i]=e.split("|");if(!t.startsWith("uf"))throw new Error("Invalid API key");if(!/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/i.test(r))throw new Error("Invalid project ID");return{apiKey:t,projectId:r,apiHost:i||"https://uniform.app"}}export{oe as Context,Ft as CookieTransitionDataStore,Di as EdgeNodeTagName,Yt as EdgeTransitionDataStore,G as GroupCriteriaEvaluator,L as ManifestInstance,pe as SERVER_STATE_ID,Pe as ScriptType,I as TransitionDataStore,me as UNIFORM_DEFAULT_COOKIE_NAME,st as VisitorDataStore,wt as computeAggregateDimensions,$t as cookieEvaluator,Ve as createConsoleLogDrain,ke as createDebugConsoleLogDrain,kr as createLinearDecay,qt as currentPageEvaluator,et as emptyVisitorData,fi as enableConsoleLogDrain,xi as enableContextDevTools,Si as enableDebugConsoleLogDrain,re as evaluateVariantMatch,It as eventEvaluator,O as explainStringMatch,ft as explainStringMatchCriteria,tt as getEnrichmentVectorKey,V as isStringMatch,pt as pageViewCountDimension,mt as pageViewCountEvaluator,Ei as parseQuickConnect,ee as personalizeVariations,Gt as queryStringEvaluator,zt as quirkEvaluator,Vi as serializeQuickConnect,bt as testVariations};
1
+ var ce=Object.defineProperty;var de=(e,t,i)=>t in e?ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var y=(e,t,i)=>(de(e,typeof t!="symbol"?t+"":t,i),i),pt=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};var a=(e,t,i)=>(pt(e,t,"read from private field"),i?i.call(e):t.get(e)),d=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},p=(e,t,i,r)=>(pt(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);var v=(e,t,i)=>(pt(e,t,"access private method"),i);function Ut(e,t){let i={...e};for(let r in t){let n=$t(e,r,t,new Set([r]));n!==0&&(i[r]=n)}return i}function $t(e,t,i,r){var s;let n=0;for(let o of i[t].inputs){let u=(s=e[o.dim])!=null?s:0;if(!u&&i[o.dim]){if(r.has(o.dim))continue;let l=new Set(r);l.add(o.dim),u=$t(e,o.dim,i,l)}if(u!==0)if(o.sign==="c"){n=0;break}else o.sign==="-"?n-=u:n+=u}return n}var L="_";var Q,F,tt=class{constructor(t,i,r){d(this,Q,void 0);d(this,F,void 0);y(this,"signal");this.signal=t,p(this,Q,i),p(this,F,r)}computeSignal(t,i){if(t.scores[this.signal.id]>=this.signal.cap&&this.signal.dur!=="t")return;let n=a(this,Q).evaluate(t,this.signal.crit,i,this.signal,a(this,F)),s=this.signal.dur==="s"||this.signal.dur==="t"?"modscoreS":"modscore";if(!!n.changed){if(n.result)i.push({type:s,data:{dimension:this.signal.id,delta:this.signal.str}});else if(this.signal.dur==="t"){let o=t.visitor.sessionScores[this.signal.id];o&&i.push({type:s,data:{dimension:this.signal.id,delta:-o}})}}}};Q=new WeakMap,F=new WeakMap;var b,K,R,et=class{constructor({manifest:t,evaluator:i=new G({}),onLogMessage:r=()=>{}}){y(this,"data");d(this,b,void 0);d(this,K,void 0);d(this,R,void 0);var n,s,o;p(this,b,(n=t.project)!=null?n:{}),this.data=t,p(this,K,Object.entries((o=(s=a(this,b).pz)==null?void 0:s.sig)!=null?o:[]).map(([u,c])=>new tt({...c,id:u},i,r))),p(this,R,r)}rollForControlGroup(){var t,i;return Math.random()<((i=(t=a(this,b).pz)==null?void 0:t.control)!=null?i:0)}getTest(t){var i;return(i=a(this,b).test)==null?void 0:i[t]}computeSignals(t){let i=[];a(this,R).call(this,["debug",200,"GROUP"]);try{a(this,K).forEach(r=>{a(this,R).call(this,["debug",201,"GROUP",r.signal]);try{r.computeSignal(t,i)}finally{a(this,R).call(this,["debug",201,"ENDGROUP"])}})}finally{a(this,R).call(this,["debug",200,"ENDGROUP"])}return i}computeAggregateDimensions(t){var i,r;return Ut(t,(r=(i=a(this,b).pz)==null?void 0:i.agg)!=null?r:{})}getDimensionByKey(t){var r,n,s,o;let i=t.indexOf(L);return i<=0?(n=(r=a(this,b).pz)==null?void 0:r.sig)==null?void 0:n[t]:(o=(s=a(this,b).pz)==null?void 0:s.enr)==null?void 0:o[t.substring(0,i)]}};b=new WeakMap,K=new WeakMap,R=new WeakMap;import{dequal as fe}from"dequal/lite";function E(e,t){var o,u,c,l,f,m;let i=(o=t==null?void 0:t.op)!=null?o:"=";if(t.op==="*")return e!==null&&typeof e!="undefined";if(t.op==="!*")return e===null||typeof e=="undefined";if(!("rhs"in t))throw new Error(`Match expression is required for match type ${i}`);let r=(u=t.cs)!=null?u:!1,n=(r?e!=null?e:"":At(e)).toString(),s=(r?t.rhs:At(t.rhs)).toString();switch(i){case"=":return n===s;case"!=":return n!==s;case"~":return(c=n.includes(s))!=null?c:!1;case"!~":return!((l=n.includes(s))==null||l);case"//":return new RegExp(t.rhs.toString(),r?"":"i").test((f=e==null?void 0:e.toString())!=null?f:"");case"!//":return!new RegExp(t.rhs.toString(),r?"":"i").test((m=e==null?void 0:e.toString())!=null?m:"");default:throw new Error(`Unknown match type ${i}.`)}}function O(e,t){return`'${("cs"in t?t.cs:!1)?e:e==null?void 0:e.toString().toUpperCase()}' ${mt(t)}`}function mt(e){return"rhs"in e?`${e.op} '${e.cs?e.rhs:e.rhs.toString().toUpperCase()}'`:`${e.op==="*"?"exists":"does not exist"}`}function At(e){var t,i;return(i=(t=e==null?void 0:e.toString())==null?void 0:t.toUpperCase())!=null?i:""}var Gt=({update:e,criteria:t,onLogMessage:i})=>{var u,c;if(t.type!=="CK")return{result:!1,changed:!1};let r=!fe(Nt(e.state.cookies),Nt((u=e.previousState)==null?void 0:u.cookies)),n=(c=e.state.cookies)==null?void 0:c[t.cookieName],o={result:E(n,t.match),changed:r};return i==null||i(["debug",203,{criteria:t,result:o,explanation:O(n,t.match)}]),o};function Nt(e){if(!e)return;if(!e.ufvd)return e;let{ufvd:t,...i}=e;return i}function zt(e,t){var r;if(typeof e=="undefined"||e===null)return!1;let i=Number(e);if(isNaN(i))return!1;switch((r=t==null?void 0:t.op)!=null?r:"="){case"=":return i===t.rhs;case"!=":return i!==t.rhs;case">":return i>t.rhs;case"<":return i<t.rhs;default:return console.warn(`Unknown match type ${t.op} is false.`),!1}}function It(e,t){return`${e} ${pe(t)}`}function pe(e){return`${e.op} ${e.rhs}`}function it(e,t){return`${e}${L}${t}`}var ht=it("$pvc","v"),gt=({update:e,criteria:t,commands:i,onLogMessage:r})=>{var l,f;if(t.type!=="PVC")return{result:!1,changed:!1};let n=Boolean(e.state.url&&(!e.previousState||((l=e.state.url)==null?void 0:l.toString())!==((f=e.previousState.url)==null?void 0:f.toString()))),o=(e.visitor.sessionScores[ht]||0)+1,u={result:!1,changed:n},c=i.some(m=>m.type==="modscoreS"&&m.data.dimension===ht);return n&&!c&&i.push({type:"modscoreS",data:{dimension:ht,delta:1}}),zt(o,t.match)&&(u.result=!0),r==null||r(["debug",203,{criteria:t,result:u,explanation:It(o,t.match)}]),u};gt.alwaysExecute=!0;var qt=({update:e,criteria:t,onLogMessage:i})=>{var u,c,l,f,m;if(t.type!=="QS")return{result:!1,changed:!1};let r=!e.previousState||((c=(u=e.state.url)==null?void 0:u.searchParams)==null?void 0:c.toString())!==((f=(l=e.previousState.url)==null?void 0:l.searchParams)==null?void 0:f.toString()),n=(m=e.state.url)==null?void 0:m.searchParams.get(t.queryName),o={result:E(n,t.match),changed:r};return i==null||i(["debug",203,{criteria:t,result:o,explanation:O(n,t.match)}]),o};var jt=({update:e,criteria:t,signal:i,onLogMessage:r})=>{var f;if(t.type!=="QK")return{result:!1,changed:!1};if(typeof document=="undefined"&&i.dur==="t"&&e.scores[i.id]>0)return{result:!0,changed:!1};let n=e.visitor.quirks[t.key],s=(f=e.state.quirks)==null?void 0:f[t.key],o=s!=null?s:n,u=Boolean(s&&n!==s),l={result:E(o,t.match),changed:u};return r==null||r(["debug",203,{criteria:t,result:l,explanation:O(o,t.match)}]),l};var _t=({update:e,criteria:t,onLogMessage:i})=>{var s,o,u;if(t.type!=="EVT")return{result:!1,changed:!1};let r=(o=(s=e.state.events)==null?void 0:s.some(c=>E(c.event,t.event)))!=null?o:!1,n={result:r,changed:r};return i==null||i(["debug",203,{criteria:t,result:n,explanation:`'${(u=e.state.events)==null?void 0:u.join("', '")}' ${mt(t.event)}`}]),n};var Qt=({update:e,criteria:t,onLogMessage:i})=>{var u,c,l;if(t.type!=="PV")return{result:!1,changed:!1};let r=(u=e.state.url)==null?void 0:u.pathname,n=!e.previousState||(r==null?void 0:r.toString())!==((l=(c=e.previousState.url)==null?void 0:c.pathname)==null?void 0:l.toString()),o={result:E(r,t.path),changed:n};return i==null||i(["debug",203,{criteria:t,result:o,explanation:O(r,t.path)}]),o};var H,G=class{constructor(t){d(this,H,void 0);p(this,H,t)}evaluate(t,i,r,n,s){let o=i.clauses.length>1;o&&(s==null||s(["debug",202,"GROUP",i]));try{let u=!(i.op==="&"||!i.op),c=null,l=!1;for(let m of i.clauses){let S;if(m.type==="G")S=this.evaluate(t,m,r,n,s);else{let D=a(this,H)[m.type];if(c&&!D.alwaysExecute)continue;if(!D)throw new Error(`${m.type} signal criteria not registered`);S=D({update:t,criteria:m,commands:r,signal:n,onLogMessage:s})}S.changed&&(l=!0),!c&&S.result===u&&(c={result:u,changed:l})}let f=c!=null?c:{result:!u,changed:l};return o&&(s==null||s(["debug",204,f])),f}finally{o&&(s==null||s(["debug",202,"ENDGROUP"]))}}};H=new WeakMap;var rt=()=>({quirks:{},scores:{},sessionScores:{},tests:{},consent:!1,controlGroup:!1});import me from"mitt";import{dequal as he}from"dequal/lite";var ge="__UNIFORM_DATA__",U,B,z,I=class{constructor({initialData:t}){d(this,U,void 0);d(this,B,void 0);d(this,z,me());y(this,"events",{on:a(this,z).on,off:a(this,z).off});t&&(p(this,U,t),p(this,B,t))}get data(){return a(this,U)}get initialData(){return a(this,B)}updateData(t,i){return p(this,U,i),this.handleUpdateData(t,i)}async delete(t){p(this,U,void 0),await this.handleDelete(t)}signalAsyncDataUpdate(t){he(this.data,t)||(p(this,U,t),a(this,z).emit("dataUpdatedAsync",t))}getClientTransitionState(){if(typeof document=="undefined")return;let t=document.getElementById(ge);return t!=null&&t.textContent?JSON.parse(t.textContent):void 0}};U=new WeakMap,B=new WeakMap,z=new WeakMap;var vt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ft=vt.split(""),Kt=new Array(123);for(let e=0;e<vt.length;e++)Kt[vt.charCodeAt(e)]=e;var St=e=>{if(e<0)return`-${St(-e)}`;let t=e>>>0,i=e/4294967296>>>0,r="";for(;i>0;)r=Ft[63&t]+r,t>>>=6,t|=(63&i)<<26,i>>>=6;let n="";do n=Ft[63&t]+n,t>>>=6;while(t>0);return n+r},Ht=e=>{let t=0,i=e.charAt(0)==="-"?1:0;for(let r=i;r<e.length;r++)t=t*64+Kt[e.charCodeAt(r)];return i?-t:t};import yt from"js-cookie";var Dt=typeof document=="undefined",ve="ufvd",$,J,Bt=class extends I{constructor({serverCookieValue:i,cookieName:r=ve,cookieAttributes:n={sameSite:"lax"}}){super({initialData:Dt?Se(i):void 0});d(this,$,void 0);d(this,J,void 0);p(this,$,r),p(this,J,n)}handleDelete(){return Dt||yt.remove(a(this,$)),Promise.resolve()}async handleUpdateData(i,r){Dt||(r.consent?yt.set(a(this,$),ye(r),a(this,J)):yt.remove(a(this,$)))}};$=new WeakMap,J=new WeakMap;var Yt="~",Xt="!",Zt="-";function Se(e){if(!e)return;let t=e.split(Yt);if(t.length>3)return;let[i,r,n]=t;return{consent:!0,sessionScores:Jt(Ct(r)),scores:Jt(Ct(n)),tests:Ct(i)}}function Ct(e){return e.split(Xt).map(i=>i.split(Zt)).reduce((i,r)=>(r.length<2||(i[r[0]]=r.slice(1).join("-")),i),{})}function Jt(e){return Object.entries(e).reduce((t,[i,r])=>(t[i]=Ht(r),t),{})}function ye(e){return[xt(e.tests),xt(Wt(e.sessionScores)),xt(Wt(e.scores))].join(Yt)}function Wt(e){return Object.entries(e).reduce((t,[i,r])=>(t[i]=St(r),t),{})}function xt(e){return Object.entries(e).map(t=>t.join(Zt)).join(Xt)}var nt,Lt,Mt=class extends I{constructor({serverCookieValue:i,visitorIdCookieName:r="ufvi",...n}){super(n);d(this,nt);n.initialData||v(this,nt,Lt).call(this).catch(s=>{console.error(s)})}handleDelete(i){throw new Error("Method not implemented.")}async handleUpdateData(i){let r=await new Promise(n=>{setTimeout(()=>{n(void 0)},2e3)});r&&this.signalAsyncDataUpdate(r)}};nt=new WeakSet,Lt=async function(){let i=await new Promise(r=>{setTimeout(()=>{r(void 0)},2e3)});i&&this.signalAsyncDataUpdate(i)};function Ri(e){let{gracePeriod:t=864e5,decayRate:i=1/30,decayCap:r=.95}=e!=null?e:{};return function({now:s,lastUpd:o,scores:u,sessionScores:c,onLogMessage:l}){if(typeof o!="number")return!1;let m=s-o-t;if(m<=0)return!1;let S=m/864e5,D=1-Math.min(r,S*i);return D<=0?!1:(te(u,D),te(c,D),l==null||l(["info",140,`linear decay factor ${D.toPrecision(6)}`]),!0)}}function te(e,t){for(let i in e)i.startsWith("$")||(e[i]*=t)}import xe from"mitt";import{dequal as st}from"dequal/lite";var ot=class{constructor(){y(this,"inMemoryFallback",{});y(this,"hasLocalStorageObject",typeof localStorage!="undefined")}get(t){let i=this.inMemoryFallback[t];if(!this.hasLocalStorageObject||i)return i;try{let r=localStorage.getItem(t);return r?JSON.parse(r):void 0}catch(r){return i}}set(t,i,r){if(this.inMemoryFallback[t]=i,!(!this.hasLocalStorageObject||!r))try{localStorage.setItem(t,JSON.stringify(i))}catch(n){console.warn(n)}}delete(t,i){i||delete this.inMemoryFallback[t];try{localStorage.removeItem(t)}catch(r){}}};import De from"rfdc";var Ce=De();function ee(e,t,i){let r=t?Ce(t):rt();return e.forEach(n=>{var s,o;switch(n.type){case"consent":r.consent=n.data;break;case"setquirk":r.quirks[n.data.key]=n.data.value;break;case"settest":r.tests[n.data.test]=n.data.variant;break;case"modscore":if(i)break;let u=Number(n.data.delta);if(isNaN(u))throw new Error("Non-number delta received");let c=(s=r.scores[n.data.dimension])!=null?s:0;r.scores[n.data.dimension]=c+u;break;case"modscoreS":if(i)break;let l=Number(n.data.delta);if(isNaN(l))throw new Error("Non-number delta received");let f=(o=r.sessionScores[n.data.dimension])!=null?o:0;r.sessionScores[n.data.dimension]=f+l;break;case"identify":break;case"setcontrol":r.controlGroup=n.data;break;default:throw new Error("Unknown command")}}),r}var at="ufvisitor",V,N,q,g,x,P,w,A,lt,ie,ct,re,W,bt,Y,Et,ut=class{constructor(t){d(this,x);d(this,w);d(this,lt);d(this,ct);d(this,W);d(this,Y);d(this,V,xe());d(this,N,new ot);d(this,q,void 0);d(this,g,void 0);y(this,"events",{on:a(this,V).on,off:a(this,V).off});if(p(this,g,t),a(this,x,P)||v(this,w,A).call(this,v(this,Y,Et).call(this),!0),t.transitionStore){let i=t.transitionStore.getClientTransitionState();i&&t.onServerTransitionReceived&&t.onServerTransitionReceived(i),t.transitionStore.events.on("dataUpdatedAsync",n=>{v(this,w,A).call(this,{...a(this,x,P).visitorData,...n})});let r=t.transitionStore.data;r&&v(this,w,A).call(this,{...a(this,x,P).visitorData,...r},!0)}}get data(){var i,r;let t=a(this,x,P);if(v(this,ct,re).call(this,t)){let{sessionScores:n,...s}=t.visitorData;return v(this,w,A).call(this,{...s,sessionScores:{}}),(r=(i=a(this,g)).onLogMessage)==null||r.call(i,["info",120]),a(this,x,P).visitorData}return t.visitorData}get decayEnabled(){return!!a(this,g).decay}get options(){return a(this,g)}async updateData(t){var r,n,s,o;if(t.length===0)return;(n=(r=a(this,g)).onLogMessage)==null||n.call(r,["debug",101,t]);let i=ee(t,this.data,(s=a(this,x,P))==null?void 0:s.visitorData.controlGroup);t.some(u=>u.type==="consent"&&!u.data)&&a(this,N).delete(at,!0),v(this,w,A).call(this,i),await((o=a(this,g).transitionStore)==null?void 0:o.updateData(t,a(this,x,P).visitorData))}async delete(t){var i,r,n,s,o;(r=(i=a(this,g)).onLogMessage)==null||r.call(i,["info",103,"GROUP",t]);try{a(this,N).delete(at,!1),await((n=a(this,g).transitionStore)==null?void 0:n.delete(t)),v(this,w,A).call(this,v(this,Y,Et).call(this))}finally{(o=(s=a(this,g)).onLogMessage)==null||o.call(s,["info",103,"ENDGROUP"])}}};V=new WeakMap,N=new WeakMap,q=new WeakMap,g=new WeakMap,x=new WeakSet,P=function(){return a(this,N).get(at)},w=new WeakSet,A=function(t,i=!1){var f,m,S,D,M,Pt,wt,Rt,Ot;let r=a(this,x,P),n=Date.now();t.controlGroup?(t.scores={},t.sessionScores={}):(v(this,W,bt).call(this,t.scores),v(this,W,bt).call(this,t.sessionScores),(m=(f=a(this,g)).decay)==null||m.call(f,{now:n,lastUpd:r==null?void 0:r.updated,scores:t.scores,sessionScores:t.sessionScores,onLogMessage:a(this,g).onLogMessage}));let s=!st(r==null?void 0:r.visitorData.scores,t.scores),o=!st(r==null?void 0:r.visitorData.sessionScores,t.sessionScores),u=!st(r==null?void 0:r.visitorData.quirks,t.quirks),c=!st(r==null?void 0:r.visitorData.tests,t.tests),l={updated:n,visitorData:t};v(this,lt,ie).call(this),a(this,N).set(at,l,!!t.consent),(D=(S=a(this,g)).onLogMessage)==null||D.call(S,["debug",102,t]),i||((s||o)&&a(this,V).emit("scoresUpdated",t),u&&a(this,V).emit("quirksUpdated",t),c&&a(this,V).emit("testsUpdated",t),((M=r==null?void 0:r.visitorData)==null?void 0:M.consent)!==t.consent&&a(this,V).emit("consentUpdated",t),((Pt=r==null?void 0:r.visitorData)==null?void 0:Pt.controlGroup)!==t.controlGroup&&(a(this,V).emit("controlGroupUpdated",t),(Ot=(Rt=a(this,g)).onLogMessage)==null||Ot.call(Rt,["debug",104,(wt=t.controlGroup)!=null?wt:!1])))},lt=new WeakSet,ie=function(){typeof document=="undefined"||!a(this,g).visitLifespan||(a(this,q)&&window.clearTimeout(a(this,q)),p(this,q,window.setTimeout(()=>{this.data},a(this,g).visitLifespan+50)))},ct=new WeakSet,re=function(t){let i=a(this,g).visitLifespan;return i?t.updated+i<Date.now():!1},W=new WeakSet,bt=function(t){var i,r;if(!!a(this,g).manifest)for(let n in t){let s=t[n],o=a(this,g).manifest.getDimensionByKey(n);!o||s>o.cap&&((r=(i=a(this,g)).onLogMessage)==null||r.call(i,["debug",110,{dim:n,score:s,cap:o.cap}]),t[n]=o.cap)}},Y=new WeakSet,Et=function(){var t,i,r;return{...rt(),consent:(t=a(this,g).defaultConsent)!=null?t:!1,controlGroup:(r=(i=a(this,g).manifest)==null?void 0:i.rollForControlGroup())!=null?r:!1}};import Ee from"mitt";function ne({name:e,context:t,variations:i,take:r=1,onLogMessage:n}){var s,o,u;n==null||n(["info",300,"GROUP",{name:e,take:r}]);try{let c=(s=t.storage.data.controlGroup)!=null?s:!1,l=[],f=!1,m=t.scores;for(let S of i){if(l.length===r)break;if(!((o=S.pz)!=null&&o.crit.length)){n==null||n(["info",301,"GROUP",{id:S.id,op:(u=S.pz)==null?void 0:u.op}]),n==null||n(["info",302,{matched:!0,description:"default variation"}]),n==null||n(["info",303,!0]),n==null||n(["info",301,"ENDGROUP"]),l.push(S);continue}c||oe(S.id,S.pz,m,n)&&(f=!0,l.push(S))}return{personalized:f,variations:l}}finally{n==null||n(["info",300,"ENDGROUP"])}}function oe(e,t,i,r){r==null||r(["info",301,"GROUP",{id:e,op:t==null?void 0:t.op}]);let n;try{t!=null&&t.crit?!t.op||t.op==="&"?n=t.crit.every(s=>se(s,i,r)):n=t.crit.some(s=>se(s,i,r)):(r==null||r(["info",302,{matched:!0,description:"default variation"}]),n=!0),r==null||r(["info",303,n])}finally{r==null||r(["info",301,"ENDGROUP"])}return n}function se(e,t,i){var u,c;let{op:r,l:n}=e,s=(u=t[n])!=null?u:0;if(r==="+"){let l=Math.max(...Object.values(t))===s&&s>0;return i==null||i(["info",302,{matched:l,description:`${e.l} has the highest score`}]),l}else if(r==="-"){let l=Math.min(...Object.values(t))===s&&s>0;return i==null||i(["info",302,{matched:l,description:`${e.l} has the lowest non-zero score`}]),l}let o=parseInt(e.rDim?t[e.rDim]:e.r,10);if(isNaN(o))return i==null||i(["info",302,{matched:!1,description:`${(c=e.rDim)!=null?c:e.r} has no score value`}]),!1;if(r===">"){let l=s>o;return j(i,l,e,s,o),l}else if(r===">="){let l=s>=o;return j(i,l,e,s,o),l}else if(r==="<"){let l=s<o;return j(i,l,e,s,o),l}else if(r==="<="){let l=s<=o;return j(i,l,e,s,o),l}else if(r==="="){let l=s===o;return j(i,l,e,s,o),l}else if(r==="!="){let l=s!==o;return j(i,l,e,s,o),l}else throw new Error(`Unknown op: ${r}`)}function j(e,t,i,r,n){e==null||e(["info",302,{matched:t,description:`${i.l}[${r}] ${i.op} ${i.rDim?`${i.rDim}[${n}]`:i.r}`}])}var be=e=>{let{values:t,total:i,missingDistribution:r}=e.reduce((n,s)=>(s.testDistribution?n.total+=s.testDistribution:++n.missingDistribution,n.values.push(s.testDistribution),n),{values:[],total:0,missingDistribution:0});if(i>100)throw new Error(`Total distribution ${i} is over the maximum 100.`);if(i<100){let s=(100-i)/r;t.forEach((o,u)=>{typeof o=="undefined"&&(t[u]=s)})}return t},Vt=({name:e,context:t,variations:i,onLogMessage:r})=>{r==null||r(["info",400,"GROUP",e]);try{let n,s=t.getTestVariantId(e);if(s===null)return r==null||r(["error",401,e]),{result:void 0,variantAssigned:!1};if(s&&(n=i.find(o=>o.id===s),n||r==null||r(["warn",402,{missingVariant:s,variants:i.map(o=>o.id)}])),!n){let o=be(i),u=Math.floor(Math.random()*100),c=0;n=i.find((l,f)=>{let m=o[f];if(u>c&&u<=c+m)return l;c+=m}),n&&(r==null||r(["info",403,n.id]),t.setTestVariantId(e,n.id))}return n&&(r==null||r(["info",404,n.id])),{result:n,variantAssigned:!s}}finally{r==null||r(["info",400,"ENDGROUP"])}};import{dequal as ae}from"dequal/lite";var C,T,k,X,h,Z,Tt,_,dt,ue=class{constructor(t){d(this,Z);d(this,_);y(this,"manifest");d(this,C,void 0);d(this,T,{});d(this,k,void 0);d(this,X,{});d(this,h,Ee());y(this,"events",{on:a(this,h).on,off:a(this,h).off});y(this,"storage");var n,s;let{manifest:i,...r}=t;p(this,k,{}),(n=t.plugins)==null||n.forEach(o=>{!o.logDrain||a(this,h).on("log",o.logDrain)}),a(this,h).emit("log",["info",1,"GROUP"]);try{this.manifest=new et({onLogMessage:o=>a(this,h).emit("log",o),manifest:i,evaluator:new G({CK:Gt,QS:qt,QK:jt,PVC:gt,EVT:_t,PV:Qt})}),this.storage=new ut({...r,manifest:this.manifest,onServerTransitionReceived:o=>{p(this,C,o),o.ssv&&(p(this,T,o.ssv),a(this,h).emit("log",["debug",130,o]))},onLogMessage:o=>a(this,h).emit("log",o)}),this.storage.events.on("scoresUpdated",v(this,_,dt).bind(this)),a(this,C)||v(this,_,dt).call(this,this.storage.data),this.storage.events.on("quirksUpdated",o=>{let u=this.manifest.computeSignals({scores:a(this,T),state:a(this,k),previousState:a(this,k),visitor:this.storage.data});this.storage.updateData(u),a(this,h).emit("quirksUpdated",o.quirks),a(this,h).emit("log",["info",4,o.quirks])}),(s=t.plugins)==null||s.forEach(o=>{!o.init||o.init(this)})}finally{a(this,h).emit("log",["info",1,"ENDGROUP"])}}get scores(){return a(this,T)}get quirks(){var t,i;return(i=(t=a(this,C))==null?void 0:t.quirks)!=null?i:this.storage.data.quirks}async update(t){var n,s,o;let i=[],r={};if((n=a(this,C))!=null&&n.quirks&&(t={...t,quirks:{...a(this,C).quirks,...t.quirks||{}}}),(s=a(this,C))!=null&&s.tests){let u=Object.entries(a(this,C).tests);if(u.length>0){let c=[];u.forEach(([l,f])=>{this.storage.data.tests[l]||(c.push([l,f]),r[l]=f)}),i.push(...c.map(([l,f])=>({type:"settest",data:{test:l,variant:f}})))}}try{a(this,h).emit("log",["info",2,"GROUP",{...t,url:(o=t.url)==null?void 0:o.toString()}]),t.quirks&&i.push(...Object.entries(t.quirks).map(([u,c])=>({type:"setquirk",data:{key:u,value:c}}))),t.enrichments&&t.enrichments.forEach(u=>{let c=it(u.cat,u.key);this.manifest.getDimensionByKey(c)?i.push({type:"modscore",data:{dimension:c,delta:u.str}}):a(this,h).emit("log",["warn",5,u])}),i.push(...this.manifest.computeSignals({state:t,previousState:a(this,k),visitor:this.storage.data,scores:a(this,T)})),p(this,k,{...a(this,k),...t}),await this.storage.updateData(i),a(this,C)&&(v(this,_,dt).call(this,this.storage.data),Object.entries(r).forEach(([u,c])=>{v(this,Z,Tt).call(this,{name:u,variantId:c,variantAssigned:!0})}),p(this,C,void 0),a(this,h).emit("log",["debug",131]))}finally{a(this,h).emit("log",["info",2,"ENDGROUP"])}}getTestVariantId(t){var r,n,s,o;let i=this.manifest.getTest(t);return i?(o=(s=i.wv)!=null?s:(n=(r=a(this,C))==null?void 0:r.tests)==null?void 0:n[t])!=null?o:this.storage.data.tests[t]:(a(this,h).emit("log",["warn",401,t]),null)}setTestVariantId(t,i){this.storage.updateData([{type:"settest",data:{test:t,variant:i}}])}log(...t){a(this,h).emit("log",t)}test(t){var r,n;let i=Vt({...t,context:this,onLogMessage:s=>a(this,h).emit("log",s)});return v(this,Z,Tt).call(this,{name:t.name,variantId:(n=(r=i.result)==null?void 0:r.id)!=null?n:void 0,variantAssigned:i.variantAssigned}),i}personalize(t){let i=ne({...t,context:this,onLogMessage:s=>a(this,h).emit("log",s)}),r=a(this,X)[t.name],n={name:t.name,variantIds:i.variations.map(s=>{var o;return(o=s.id)!=null?o:"Unknown"}),control:this.storage.data.controlGroup,changed:!0};return r&&ae(n.variantIds,r)&&(n.changed=!1),a(this,h).emit("personalizationResult",n),a(this,X)[t.name]=n.variantIds,i}async forget(t){p(this,k,{}),await this.storage.delete(t)}getServerToClientTransitionState(){let t={quirks:this.storage.data.quirks,ssv:a(this,T),tests:{}},i=this.storage.data.tests;return Object.entries(i).map(([r,n])=>{var s,o,u;((u=(o=(s=this.storage.options.transitionStore)==null?void 0:s.initialData)==null?void 0:o.tests)==null?void 0:u[r])!==i[r]&&t.tests&&(t.tests[r]=n)}),t}};C=new WeakMap,T=new WeakMap,k=new WeakMap,X=new WeakMap,h=new WeakMap,Z=new WeakSet,Tt=function(t){a(this,h).emit("testResult",t)},_=new WeakSet,dt=function(t){var n;let i={...t.scores};for(let s in t.sessionScores)i[s]=((n=i[s])!=null?n:0)+t.sessionScores[s];i=this.manifest.computeAggregateDimensions(i),!ae(i,a(this,T))&&(p(this,T,i),a(this,h).emit("scoresUpdated",i),a(this,h).emit("log",["info",3,i]))};import Ve from"rfdc";function ft(e,t){if(e==="none")return!1;switch(t){case"debug":return e==="debug";case"info":return e==="info"||e==="debug";case"warn":return e==="warn"||e==="info"||e==="debug";case"error":return e==="debug"||"info";default:return!1}}var Te=Ve();function ke(e){return([t,...i])=>{if(!ft(e,t))return;let[r,...n]=i;console[t](`\u{1F94B} [${t}] Uniform event ID ${r}
2
+ `,...n.map(Te))}}function hr(e){return{logDrain:ke(e)}}var le={1:()=>["context","initializing Uniform Context"],2:e=>["context","received update()",e],3:e=>["context","new score vector",e],4:e=>["context","updated quirks",e],5:e=>["context","ignored enrichment update for unknown enrichment category",e.cat],101:e=>["storage","received update commands",e],102:e=>["storage","data was updated",e],103:e=>["storage",`deleting visitor data ${e?"from all devices":"from this device"}`],104:e=>["context",e?"Visitor assigned to personalization control group":"Visitor assigned to personalization experiment group"],110:({dim:e,cap:t,score:i})=>["storage",`${e} score ${i} exceeded cap ${t}. Rounded down.`],120:()=>["storage","visitor data expired and was cleared"],130:e=>["storage","server to client transition score data was loaded; it will persist until the next update event occurs",e],131:()=>["storage","server to client transition data was discarded"],140:e=>["storage",`score decay was applied: ${e}`],200:()=>["signals","evaluating signals"],201:e=>["signals",`evaluating signal ${e.id} (${e.dur})`],202:e=>["signals",e.op==="|"?"OR":"AND"],203:({criteria:e,result:t,explanation:i})=>["signals",`${e.type}: ${i} is ${t.result} [${t.changed?"CHANGED":"unchanged"}]`],204:e=>["signals",`group result: ${e.result} [${e.changed?"CHANGED":"unchanged"}]`],300:e=>["personalization",`executing personalization '${e.name}'`],301:({id:e,op:t})=>["personalization",`testing variation ${e} (${t==="|"?"OR":"AND"})`],302:({matched:e,description:t})=>["personalization",`${t} is ${e}`],303:e=>["personalization",e?"selected variation":"did not select variation"],400:e=>["testing",`executing A/B test '${e}'`],401:e=>["testing",`${e} is not registered in the manifest; it will not be run.`],402:({missingVariant:e,variants:t})=>["testing",`test variation '${e}' previously assigned to the visitor for this test no longer exists as a variant. It will be removed. This may indicate changing test variations after publishing a test, which will make results invalid. Known variants: ${t.join(", ")}`],403:e=>["testing",`assigned new test variant '${e}'`],404:e=>["testing",`displaying variation '${e}'`],700:()=>["gtag","gtag is not defined, skipping analytics event emission. Ensure you have added the gtag script to your page."],701:()=>["gtag","enabled gtag event signal redirection"]};import Pe from"rfdc";var we=Pe();function Re(e,t){let i=typeof document=="undefined",{enableOnServer:r=!1}=t!=null?t:{};return([n,...s])=>{if(!ft(e,n)||i&&!r)return;let[o,...u]=s,c=console[n];if(u[0]==="GROUP"&&(u.shift(),c=console.groupCollapsed),u[0]==="ENDGROUP"){console.groupEnd();return}let l=le[o],f="";switch(n){case"debug":f="\u{1F41E}";break;case"info":f="\u{1F4AC}";break;case"warn":f="\u26A0\uFE0F";break;case"error":f="\u{1F4A5}";break}let m=f;if(!l){c(`${m} unknown event ID ${o}. Log messages data may be older than Uniform Context package.`,...u);return}let[S,D,...M]=l(...u);c(`${m}[${S}] ${D}
3
+ `,...M.map(we))}}function Cr(e,t){return{logDrain:Re(e,t)}}var Oe=(u=>(u.ListStart="nesi-list-start",u.ListEnd="nesi-list-end",u.ListItem="nesi-list-item-html",u.ListItemSettings="nesi-list-item-settings",u.TestStart="nesi-test-start",u.TestEnd="nesi-test-end",u.Unknown="unknown",u))(Oe||{}),br="nesitag";var kt=typeof top!="undefined";function Vr(){return{logDrain:e=>{!kt||top==null||top.postMessage({type:"uniform:context:log",message:e},window.location.origin)},init:e=>{let t=[],i=[],r=()=>{!kt||top==null||top.postMessage({type:"uniform:context:data",data:{scores:e.scores,data:e.storage.data,manifest:e.manifest.data,personalizations:t,tests:i}},window.location.origin)},n=o=>{!o.changed||(t.push(o),r())},s=o=>{!o.variantAssigned||(i.push(o),r())};if(kt){window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__=e;try{top==null||top.addEventListener("message",async o=>{if(!o.data)return;let u=o.data;await Ue(u,e)})}catch(o){console.warn("Unable to initialize Uniform Context DevTools because it is in a cross-domain iframe.",o)}top==null||top.postMessage({type:"uniform:context:hello",uiVersion:2},window.location.origin),r()}return e.events.on("personalizationResult",n),e.events.on("testResult",s),e.events.on("scoresUpdated",r),e.storage.events.on("*",r),()=>{e.events.off("scoresUpdated",r),e.storage.events.off("*",r),e.events.off("personalizationResult",n),e.events.off("testResult",s)}}}}async function Ue(e,t){e.type==="uniform-in:context:update"&&e.newData&&await t.update(e.newData),e.type==="uniform-in:context:commands"&&e.commands&&Array.isArray(e.commands)&&await t.storage.updateData(e.commands),e.type==="uniform-in:context:forget"&&await t.forget(!1)}function kr(e){return`${e.apiKey}|${e.projectId}${e.apiHost?`|${e.apiHost}`:""}`}function Pr(e){let[t,i,r]=e.split("|");if(!t.startsWith("uf"))throw new Error("Invalid API key");if(!/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/i.test(i))throw new Error("Invalid project ID");return{apiKey:t,projectId:i,apiHost:r||"https://uniform.app"}}export{ue as Context,Bt as CookieTransitionDataStore,br as EdgeNodeTagName,Mt as EdgeTransitionDataStore,G as GroupCriteriaEvaluator,et as ManifestInstance,ge as SERVER_STATE_ID,Oe as ScriptType,I as TransitionDataStore,ve as UNIFORM_DEFAULT_COOKIE_NAME,ut as VisitorDataStore,Ut as computeAggregateDimensions,Gt as cookieEvaluator,ke as createConsoleLogDrain,Re as createDebugConsoleLogDrain,Ri as createLinearDecay,Qt as currentPageEvaluator,rt as emptyVisitorData,hr as enableConsoleLogDrain,Vr as enableContextDevTools,Cr as enableDebugConsoleLogDrain,oe as evaluateVariantMatch,_t as eventEvaluator,O as explainStringMatch,mt as explainStringMatchCriteria,it as getEnrichmentVectorKey,E as isStringMatch,ht as pageViewCountDimension,gt as pageViewCountEvaluator,Pr as parseQuickConnect,ne as personalizeVariations,qt as queryStringEvaluator,jt as quirkEvaluator,kr as serializeQuickConnect,Vt as testVariations};
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";var be=Object.create;var F=Object.defineProperty;var Ve=Object.getOwnPropertyDescriptor;var Ee=Object.getOwnPropertyNames;var Te=Object.getPrototypeOf,ke=Object.prototype.hasOwnProperty;var Pe=(e,t,r)=>t in e?F(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var we=(e,t)=>{for(var r in t)F(e,r,{get:t[r],enumerable:!0})},Ft=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ee(t))!ke.call(e,n)&&n!==r&&F(e,n,{get:()=>t[n],enumerable:!(i=Ve(t,n))||i.enumerable});return e};var $=(e,t,r)=>(r=e!=null?be(Te(e)):{},Ft(t||!e||!e.__esModule?F(r,"default",{value:e,enumerable:!0}):r,e)),Re=e=>Ft(F({},"__esModule",{value:!0}),e);var y=(e,t,r)=>(Pe(e,typeof t!="symbol"?t+"":t,r),r),St=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var a=(e,t,r)=>(St(e,t,"read from private field"),r?r.call(e):t.get(e)),d=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},m=(e,t,r,i)=>(St(e,t,"write to private field"),i?i.call(e,r):t.set(e,r),r);var S=(e,t,r)=>(St(e,t,"access private method"),r);var Be={};we(Be,{Context:()=>zt,CookieTransitionDataStore:()=>Rt,EdgeNodeTagName:()=>je,EdgeTransitionDataStore:()=>Ot,GroupCriteriaEvaluator:()=>N,ManifestInstance:()=>B,SERVER_STATE_ID:()=>Mt,ScriptType:()=>xe,TransitionDataStore:()=>A,UNIFORM_DEFAULT_COOKIE_NAME:()=>ne,VisitorDataStore:()=>L,computeAggregateDimensions:()=>yt,cookieEvaluator:()=>Dt,createConsoleLogDrain:()=>Se,createDebugConsoleLogDrain:()=>Ce,createLinearDecay:()=>Ne,currentPageEvaluator:()=>Vt,emptyVisitorData:()=>X,enableConsoleLogDrain:()=>Ie,enableContextDevTools:()=>Qe,enableDebugConsoleLogDrain:()=>_e,evaluateVariantMatch:()=>At,eventEvaluator:()=>bt,explainStringMatch:()=>k,explainStringMatchCriteria:()=>st,getEnrichmentVectorKey:()=>W,isStringMatch:()=>x,pageViewCountDimension:()=>at,pageViewCountEvaluator:()=>ut,parseQuickConnect:()=>He,personalizeVariations:()=>Nt,queryStringEvaluator:()=>Ct,quirkEvaluator:()=>xt,serializeQuickConnect:()=>Ke,testVariations:()=>ht});module.exports=Re(Be);function yt(e,t){let r={...e};for(let i in t){let n=Kt(e,i,t,new Set([i]));n!==0&&(r[i]=n)}return r}function Kt(e,t,r,i){var s;let n=0;for(let o of r[t].inputs){let u=(s=e[o.dim])!=null?s:0;if(!u&&r[o.dim]){if(i.has(o.dim))continue;let l=new Set(i);l.add(o.dim),u=Kt(e,o.dim,r,l)}if(u!==0)if(o.sign==="c"){n=0;break}else o.sign==="-"?n-=u:n+=u}return n}var nt="_";var K,H,ot=class{constructor(t,r,i){d(this,K,void 0);d(this,H,void 0);y(this,"signal");this.signal=t,m(this,K,r),m(this,H,i)}computeSignal(t,r){if(t.scores[this.signal.id]>=this.signal.cap&&this.signal.dur!=="t")return;let n=a(this,K).evaluate(t,this.signal.crit,r,this.signal,a(this,H)),s=this.signal.dur==="s"||this.signal.dur==="t"?"modscoreS":"modscore";if(!!n.changed){if(n.result)r.push({type:s,data:{dimension:this.signal.id,delta:this.signal.str}});else if(this.signal.dur==="t"){let o=t.visitor.sessionScores[this.signal.id];o&&r.push({type:s,data:{dimension:this.signal.id,delta:-o}})}}}};K=new WeakMap,H=new WeakMap;var V,J,O,B=class{constructor({manifest:t,evaluator:r=new N({}),onLogMessage:i=()=>{}}){y(this,"data");d(this,V,void 0);d(this,J,void 0);d(this,O,void 0);var n,s,o;m(this,V,(n=t.project)!=null?n:{}),this.data=t,m(this,J,Object.entries((o=(s=a(this,V).pz)==null?void 0:s.sig)!=null?o:[]).map(([u,c])=>new ot({...c,id:u},r,i))),m(this,O,i)}rollForControlGroup(){var t,r;return Math.random()<((r=(t=a(this,V).pz)==null?void 0:t.control)!=null?r:0)}getTest(t){var r;return(r=a(this,V).test)==null?void 0:r[t]}computeSignals(t){let r=[];a(this,O).call(this,["debug",200,"GROUP"]);try{a(this,J).forEach(i=>{a(this,O).call(this,["debug",201,"GROUP",i.signal]);try{i.computeSignal(t,r)}finally{a(this,O).call(this,["debug",201,"ENDGROUP"])}})}finally{a(this,O).call(this,["debug",200,"ENDGROUP"])}return r}computeAggregateDimensions(t){var r,i;return yt(t,(i=(r=a(this,V).pz)==null?void 0:r.agg)!=null?i:{})}getDimensionByKey(t){var i,n,s,o;let r=t.indexOf(nt);return r<=0?(n=(i=a(this,V).pz)==null?void 0:i.sig)==null?void 0:n[t]:(o=(s=a(this,V).pz)==null?void 0:s.enr)==null?void 0:o[t.substring(0,r)]}};V=new WeakMap,J=new WeakMap,O=new WeakMap;var Jt=require("dequal/lite");function x(e,t){var o,u,c,l,f,p;let r=(o=t==null?void 0:t.op)!=null?o:"=";if(t.op==="*")return e!==null&&typeof e!="undefined";if(t.op==="!*")return e===null||typeof e=="undefined";if(!("rhs"in t))throw new Error(`Match expression is required for match type ${r}`);let i=(u=t.cs)!=null?u:!1,n=(i?e!=null?e:"":Ht(e)).toString(),s=(i?t.rhs:Ht(t.rhs)).toString();switch(r){case"=":return n===s;case"!=":return n!==s;case"~":return(c=n.includes(s))!=null?c:!1;case"!~":return!((l=n.includes(s))==null||l);case"//":return new RegExp(t.rhs.toString(),i?"":"i").test((f=e==null?void 0:e.toString())!=null?f:"");case"!//":return!new RegExp(t.rhs.toString(),i?"":"i").test((p=e==null?void 0:e.toString())!=null?p:"");default:throw new Error(`Unknown match type ${r}.`)}}function k(e,t){return`'${("cs"in t?t.cs:!1)?e:e==null?void 0:e.toString().toUpperCase()}' ${st(t)}`}function st(e){return"rhs"in e?`${e.op} '${e.cs?e.rhs:e.rhs.toString().toUpperCase()}'`:`${e.op==="*"?"exists":"does not exist"}`}function Ht(e){var t,r;return(r=(t=e==null?void 0:e.toString())==null?void 0:t.toUpperCase())!=null?r:""}var Dt=({update:e,criteria:t,onLogMessage:r})=>{var u,c;if(t.type!=="CK")return{result:!1,changed:!1};let i=!(0,Jt.dequal)(Bt(e.state.cookies),Bt((u=e.previousState)==null?void 0:u.cookies)),n=(c=e.state.cookies)==null?void 0:c[t.cookieName],o={result:x(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:k(n,t.match)}]),o};function Bt(e){if(!e)return;if(!e.ufvd)return e;let{ufvd:t,...r}=e;return r}function Wt(e,t){var i;if(typeof e=="undefined"||e===null)return!1;let r=Number(e);if(isNaN(r))return!1;switch((i=t==null?void 0:t.op)!=null?i:"="){case"=":return r===t.rhs;case"!=":return r!==t.rhs;case">":return r>t.rhs;case"<":return r<t.rhs;default:return console.warn(`Unknown match type ${t.op} is false.`),!1}}function Yt(e,t){return`${e} ${Oe(t)}`}function Oe(e){return`${e.op} ${e.rhs}`}function W(e,t){return`${e}${nt}${t}`}var at=W("$pvc","v"),ut=({update:e,criteria:t,commands:r,onLogMessage:i})=>{var l,f;if(t.type!=="PVC")return{result:!1,changed:!1};let n=Boolean(e.state.url&&(!e.previousState||((l=e.state.url)==null?void 0:l.toString())!==((f=e.previousState.url)==null?void 0:f.toString()))),o=(e.visitor.sessionScores[at]||0)+1,u={result:!1,changed:n},c=r.some(p=>p.type==="modscoreS"&&p.data.dimension===at);return n&&!c&&r.push({type:"modscoreS",data:{dimension:at,delta:1}}),Wt(o,t.match)&&(u.result=!0),i==null||i(["debug",203,{criteria:t,result:u,explanation:Yt(o,t.match)}]),u};ut.alwaysExecute=!0;var Ct=({update:e,criteria:t,onLogMessage:r})=>{var u,c,l,f,p;if(t.type!=="QS")return{result:!1,changed:!1};let i=!e.previousState||((c=(u=e.state.url)==null?void 0:u.searchParams)==null?void 0:c.toString())!==((f=(l=e.previousState.url)==null?void 0:l.searchParams)==null?void 0:f.toString()),n=(p=e.state.url)==null?void 0:p.searchParams.get(t.queryName),o={result:x(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:k(n,t.match)}]),o};var xt=({update:e,criteria:t,signal:r,onLogMessage:i})=>{var f;if(t.type!=="QK")return{result:!1,changed:!1};if(typeof document=="undefined"&&r.dur==="t"&&e.scores[r.id]>0)return{result:!0,changed:!1};let n=e.visitor.quirks[t.key],s=(f=e.state.quirks)==null?void 0:f[t.key],o=s!=null?s:n,u=Boolean(s&&n!==s),l={result:x(o,t.match),changed:u};return i==null||i(["debug",203,{criteria:t,result:l,explanation:k(o,t.match)}]),l};var bt=({update:e,criteria:t,onLogMessage:r})=>{var s,o,u;if(t.type!=="EVT")return{result:!1,changed:!1};let i=(o=(s=e.state.events)==null?void 0:s.some(c=>x(c.event,t.event)))!=null?o:!1,n={result:i,changed:i};return r==null||r(["debug",203,{criteria:t,result:n,explanation:`'${(u=e.state.events)==null?void 0:u.join("', '")}' ${st(t.event)}`}]),n};var Vt=({update:e,criteria:t,onLogMessage:r})=>{var u,c,l;if(t.type!=="PV")return{result:!1,changed:!1};let i=(u=e.state.url)==null?void 0:u.pathname,n=!e.previousState||(i==null?void 0:i.toString())!==((l=(c=e.previousState.url)==null?void 0:c.pathname)==null?void 0:l.toString()),o={result:x(i,t.path),changed:n};return r==null||r(["debug",203,{criteria:t,result:o,explanation:k(i,t.path)}]),o};var Y,N=class{constructor(t){d(this,Y,void 0);m(this,Y,t)}evaluate(t,r,i,n,s){let o=r.clauses.length>1;o&&(s==null||s(["debug",202,"GROUP",r]));try{let u=!(r.op==="&"||!r.op),c=null,l=!1;for(let p of r.clauses){let v;if(p.type==="G")v=this.evaluate(t,p,i,n,s);else{let D=a(this,Y)[p.type];if(c&&!D.alwaysExecute)continue;if(!D)throw new Error(`${p.type} signal criteria not registered`);v=D({update:t,criteria:p,commands:i,signal:n,onLogMessage:s})}v.changed&&(l=!0),!c&&v.result===u&&(c={result:u,changed:l})}let f=c!=null?c:{result:!u,changed:l};return o&&(s==null||s(["debug",204,f])),f}finally{o&&(s==null||s(["debug",202,"ENDGROUP"]))}}};Y=new WeakMap;var X=()=>({quirks:{},scores:{},sessionScores:{},tests:{},consent:!1,controlGroup:!1});var Xt=$(require("mitt")),Zt=require("dequal/lite"),Mt="__UNIFORM_DATA__",U,q,A=class{constructor({initialData:t}){d(this,U,void 0);d(this,q,(0,Xt.default)());y(this,"events",{on:a(this,q).on,off:a(this,q).off});t&&m(this,U,t)}get data(){return a(this,U)}updateData(t,r){return m(this,U,r),this.handleUpdateData(t,r)}async delete(t){m(this,U,void 0),await this.handleDelete(t)}signalAsyncDataUpdate(t){(0,Zt.dequal)(this.data,t)||(m(this,U,t),a(this,q).emit("dataUpdatedAsync",t))}getClientTransitionState(){if(typeof document=="undefined")return;let t=document.getElementById(Mt);return t!=null&&t.textContent?JSON.parse(t.textContent):void 0}};U=new WeakMap,q=new WeakMap;var Et="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Lt=Et.split(""),te=new Array(123);for(let e=0;e<Et.length;e++)te[Et.charCodeAt(e)]=e;var Tt=e=>{if(e<0)return`-${Tt(-e)}`;let t=e>>>0,r=e/4294967296>>>0,i="";for(;r>0;)i=Lt[63&t]+i,t>>>=6,t|=(63&r)<<26,r>>>=6;let n="";do n=Lt[63&t]+n,t>>>=6;while(t>0);return n+i},ee=e=>{let t=0,r=e.charAt(0)==="-"?1:0;for(let i=r;i<e.length;i++)t=t*64+te[e.charCodeAt(i)];return r?-t:t};var lt=$(require("js-cookie")),kt=typeof document=="undefined",ne="ufvd",G,Z,Rt=class extends A{constructor({serverCookieValue:r,cookieName:i=ne,cookieAttributes:n={sameSite:"lax"}}){super({initialData:kt?Ue(r):void 0});d(this,G,void 0);d(this,Z,void 0);m(this,G,i),m(this,Z,n)}handleDelete(){return kt||lt.default.remove(a(this,G)),Promise.resolve()}async handleUpdateData(r,i){kt||(i.consent?lt.default.set(a(this,G),$e(i),a(this,Z)):lt.default.remove(a(this,G)))}};G=new WeakMap,Z=new WeakMap;var oe="~",se="!",ae="-";function Ue(e){if(!e)return;let t=e.split(oe);if(t.length>3)return;let[r,i,n]=t;return{consent:!0,sessionScores:re(Pt(i)),scores:re(Pt(n)),tests:Pt(r)}}function Pt(e){return e.split(se).map(r=>r.split(ae)).reduce((r,i)=>(i.length!==2||(r[i[0]]=i[1]),r),{})}function re(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=ee(i),t),{})}function $e(e){return[wt(e.tests),wt(ie(e.sessionScores)),wt(ie(e.scores))].join(oe)}function ie(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=Tt(i),t),{})}function wt(e){return Object.entries(e).map(t=>t.join(ae)).join(se)}var ct,ue,Ot=class extends A{constructor({serverCookieValue:r,visitorIdCookieName:i="ufvi",...n}){super(n);d(this,ct);n.initialData||S(this,ct,ue).call(this).catch(s=>{console.error(s)})}handleDelete(r){throw new Error("Method not implemented.")}async handleUpdateData(r){let i=await new Promise(n=>{setTimeout(()=>{n(void 0)},2e3)});i&&this.signalAsyncDataUpdate(i)}};ct=new WeakSet,ue=async function(){let r=await new Promise(i=>{setTimeout(()=>{i(void 0)},2e3)});r&&this.signalAsyncDataUpdate(r)};function Ne(e){let{gracePeriod:t=864e5,decayRate:r=1/30,decayCap:i=.95}=e!=null?e:{};return function({now:s,lastUpd:o,scores:u,sessionScores:c,onLogMessage:l}){if(typeof o!="number")return!1;let p=s-o-t;if(p<=0)return!1;let v=p/864e5,D=1-Math.min(i,v*r);return D<=0?!1:(le(u,D),le(c,D),l==null||l(["info",140,`linear decay factor ${D.toPrecision(6)}`]),!0)}}function le(e,t){for(let r in e)r.startsWith("$")||(e[r]*=t)}var fe=$(require("mitt")),M=require("dequal/lite");var dt=class{constructor(){y(this,"inMemoryFallback",{});y(this,"hasLocalStorageObject",typeof localStorage!="undefined")}get(t){let r=this.inMemoryFallback[t];if(!this.hasLocalStorageObject||r)return r;try{let i=localStorage.getItem(t);return i?JSON.parse(i):void 0}catch(i){return r}}set(t,r,i){if(this.inMemoryFallback[t]=r,!(!this.hasLocalStorageObject||!i))try{localStorage.setItem(t,JSON.stringify(r))}catch(n){console.warn(n)}}delete(t,r){r||delete this.inMemoryFallback[t];try{localStorage.removeItem(t)}catch(i){}}};var ce=$(require("rfdc"));var Ae=(0,ce.default)();function de(e,t,r){let i=t?Ae(t):X();return e.forEach(n=>{var s,o;switch(n.type){case"consent":i.consent=n.data;break;case"setquirk":i.quirks[n.data.key]=n.data.value;break;case"settest":i.tests[n.data.test]=n.data.variant;break;case"modscore":if(r)break;let u=Number(n.data.delta);if(isNaN(u))throw new Error("Non-number delta received");let c=(s=i.scores[n.data.dimension])!=null?s:0;i.scores[n.data.dimension]=c+u;break;case"modscoreS":if(r)break;let l=Number(n.data.delta);if(isNaN(l))throw new Error("Non-number delta received");let f=(o=i.sessionScores[n.data.dimension])!=null?o:0;i.sessionScores[n.data.dimension]=f+l;break;case"identify":break;case"setcontrol":i.controlGroup=n.data;break;default:throw new Error("Unknown command")}}),i}var ft="ufvisitor",E,I,_,g,b,P,w,z,pt,pe,mt,me,tt,Ut,et,$t,L=class{constructor(t){d(this,b);d(this,w);d(this,pt);d(this,mt);d(this,tt);d(this,et);d(this,E,(0,fe.default)());d(this,I,new dt);d(this,_,void 0);d(this,g,void 0);y(this,"events",{on:a(this,E).on,off:a(this,E).off});if(m(this,g,t),a(this,b,P)||S(this,w,z).call(this,S(this,et,$t).call(this),!0),t.transitionStore){let r=t.transitionStore.getClientTransitionState();r&&t.onServerTransitionReceived&&t.onServerTransitionReceived(r),t.transitionStore.events.on("dataUpdatedAsync",n=>{S(this,w,z).call(this,{...a(this,b,P).visitorData,...n})});let i=t.transitionStore.data;i&&S(this,w,z).call(this,{...a(this,b,P).visitorData,...i},!0)}}get data(){var r,i;let t=a(this,b,P);if(S(this,mt,me).call(this,t)){let{sessionScores:n,...s}=t.visitorData;return S(this,w,z).call(this,{...s,sessionScores:{}}),(i=(r=a(this,g)).onLogMessage)==null||i.call(r,["info",120]),a(this,b,P).visitorData}return t.visitorData}get decayEnabled(){return!!a(this,g).decay}async updateData(t){var i,n,s,o;if(t.length===0)return;(n=(i=a(this,g)).onLogMessage)==null||n.call(i,["debug",101,t]);let r=de(t,this.data,(s=a(this,b,P))==null?void 0:s.visitorData.controlGroup);t.some(u=>u.type==="consent"&&!u.data)&&a(this,I).delete(ft,!0),S(this,w,z).call(this,r),await((o=a(this,g).transitionStore)==null?void 0:o.updateData(t,a(this,b,P).visitorData))}async delete(t){var r,i,n,s,o;(i=(r=a(this,g)).onLogMessage)==null||i.call(r,["info",103,"GROUP",t]);try{a(this,I).delete(ft,!1),await((n=a(this,g).transitionStore)==null?void 0:n.delete(t)),S(this,w,z).call(this,S(this,et,$t).call(this))}finally{(o=(s=a(this,g)).onLogMessage)==null||o.call(s,["info",103,"ENDGROUP"])}}};E=new WeakMap,I=new WeakMap,_=new WeakMap,g=new WeakMap,b=new WeakSet,P=function(){return a(this,I).get(ft)},w=new WeakSet,z=function(t,r=!1){var f,p,v,D,it,qt,_t,jt,Qt;let i=a(this,b,P),n=Date.now();t.controlGroup?(t.scores={},t.sessionScores={}):(S(this,tt,Ut).call(this,t.scores),S(this,tt,Ut).call(this,t.sessionScores),(p=(f=a(this,g)).decay)==null||p.call(f,{now:n,lastUpd:i==null?void 0:i.updated,scores:t.scores,sessionScores:t.sessionScores,onLogMessage:a(this,g).onLogMessage}));let s=!(0,M.dequal)(i==null?void 0:i.visitorData.scores,t.scores),o=!(0,M.dequal)(i==null?void 0:i.visitorData.sessionScores,t.sessionScores),u=!(0,M.dequal)(i==null?void 0:i.visitorData.quirks,t.quirks),c=!(0,M.dequal)(i==null?void 0:i.visitorData.tests,t.tests),l={updated:n,visitorData:t};S(this,pt,pe).call(this),a(this,I).set(ft,l,!!t.consent),(D=(v=a(this,g)).onLogMessage)==null||D.call(v,["debug",102,t]),r||((s||o)&&a(this,E).emit("scoresUpdated",t),u&&a(this,E).emit("quirksUpdated",t),c&&a(this,E).emit("testsUpdated",t),((it=i==null?void 0:i.visitorData)==null?void 0:it.consent)!==t.consent&&a(this,E).emit("consentUpdated",t),((qt=i==null?void 0:i.visitorData)==null?void 0:qt.controlGroup)!==t.controlGroup&&(a(this,E).emit("controlGroupUpdated",t),(Qt=(jt=a(this,g)).onLogMessage)==null||Qt.call(jt,["debug",104,(_t=t.controlGroup)!=null?_t:!1])))},pt=new WeakSet,pe=function(){typeof document=="undefined"||!a(this,g).visitLifespan||(a(this,_)&&window.clearTimeout(a(this,_)),m(this,_,window.setTimeout(()=>{this.data},a(this,g).visitLifespan+50)))},mt=new WeakSet,me=function(t){let r=a(this,g).visitLifespan;return r?t.updated+r<Date.now():!1},tt=new WeakSet,Ut=function(t){var r,i;if(!!a(this,g).manifest)for(let n in t){let s=t[n],o=a(this,g).manifest.getDimensionByKey(n);!o||s>o.cap&&((i=(r=a(this,g)).onLogMessage)==null||i.call(r,["debug",110,{dim:n,score:s,cap:o.cap}]),t[n]=o.cap)}},et=new WeakSet,$t=function(){var t,r,i;return{...X(),consent:(t=a(this,g).defaultConsent)!=null?t:!1,controlGroup:(i=(r=a(this,g).manifest)==null?void 0:r.rollForControlGroup())!=null?i:!1}};var ge=$(require("mitt"));function Nt({name:e,context:t,variations:r,take:i=1,onLogMessage:n}){var s,o,u;n==null||n(["info",300,"GROUP",{name:e,take:i}]);try{let c=(s=t.storage.data.controlGroup)!=null?s:!1,l=[],f=!1,p=t.scores;for(let v of r){if(l.length===i)break;if(!((o=v.pz)!=null&&o.crit.length)){n==null||n(["info",301,"GROUP",{id:v.id,op:(u=v.pz)==null?void 0:u.op}]),n==null||n(["info",302,{matched:!0,description:"default variation"}]),n==null||n(["info",303,!0]),n==null||n(["info",301,"ENDGROUP"]),l.push(v);continue}c||At(v.id,v.pz,p,n)&&(f=!0,l.push(v))}return{personalized:f,variations:l}}finally{n==null||n(["info",300,"ENDGROUP"])}}function At(e,t,r,i){i==null||i(["info",301,"GROUP",{id:e,op:t==null?void 0:t.op}]);let n;try{t!=null&&t.crit?!t.op||t.op==="&"?n=t.crit.every(s=>he(s,r,i)):n=t.crit.some(s=>he(s,r,i)):(i==null||i(["info",302,{matched:!0,description:"default variation"}]),n=!0),i==null||i(["info",303,n])}finally{i==null||i(["info",301,"ENDGROUP"])}return n}function he(e,t,r){var u,c;let{op:i,l:n}=e,s=(u=t[n])!=null?u:0;if(i==="+"){let l=Math.max(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:l,description:`${e.l} has the highest score`}]),l}else if(i==="-"){let l=Math.min(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:l,description:`${e.l} has the lowest non-zero score`}]),l}let o=parseInt(e.rDim?t[e.rDim]:e.r,10);if(isNaN(o))return r==null||r(["info",302,{matched:!1,description:`${(c=e.rDim)!=null?c:e.r} has no score value`}]),!1;if(i===">"){let l=s>o;return j(r,l,e,s,o),l}else if(i===">="){let l=s>=o;return j(r,l,e,s,o),l}else if(i==="<"){let l=s<o;return j(r,l,e,s,o),l}else if(i==="<="){let l=s<=o;return j(r,l,e,s,o),l}else if(i==="="){let l=s===o;return j(r,l,e,s,o),l}else if(i==="!="){let l=s!==o;return j(r,l,e,s,o),l}else throw new Error(`Unknown op: ${i}`)}function j(e,t,r,i,n){e==null||e(["info",302,{matched:t,description:`${r.l}[${i}] ${r.op} ${r.rDim?`${r.rDim}[${n}]`:r.r}`}])}var Ge=e=>{let{values:t,total:r,missingDistribution:i}=e.reduce((n,s)=>(s.testDistribution?n.total+=s.testDistribution:++n.missingDistribution,n.values.push(s.testDistribution),n),{values:[],total:0,missingDistribution:0});if(r>100)throw new Error(`Total distribution ${r} is over the maximum 100.`);if(r<100){let s=(100-r)/i;t.forEach((o,u)=>{typeof o=="undefined"&&(t[u]=s)})}return t},ht=({name:e,context:t,variations:r,onLogMessage:i})=>{i==null||i(["info",400,"GROUP",e]);try{let n,s=t.getTestVariantId(e);if(s===null)return i==null||i(["error",401,e]),{result:void 0,variantAssigned:!1};if(s&&(n=r.find(o=>o.id===s),n||i==null||i(["warn",402,{missingVariant:s,variants:r.map(o=>o.id)}])),!n){let o=Ge(r),u=Math.floor(Math.random()*100),c=0;n=r.find((l,f)=>{let p=o[f];if(u>c&&u<=c+p)return l;c+=p}),n&&(i==null||i(["info",403,n.id]),t.setTestVariantId(e,n.id))}return n&&(i==null||i(["info",404,n.id])),{result:n,variantAssigned:!s}}finally{i==null||i(["info",400,"ENDGROUP"])}};var Gt=require("dequal/lite"),C,R,T,rt,h,Q,gt,zt=class{constructor(t){d(this,Q);y(this,"manifest");d(this,C,void 0);d(this,R,{});d(this,T,void 0);d(this,rt,{});d(this,h,(0,ge.default)());y(this,"events",{on:a(this,h).on,off:a(this,h).off});y(this,"storage");var n,s;let{manifest:r,...i}=t;m(this,T,{}),(n=t.plugins)==null||n.forEach(o=>{!o.logDrain||a(this,h).on("log",o.logDrain)}),a(this,h).emit("log",["info",1,"GROUP"]);try{this.manifest=new B({onLogMessage:o=>a(this,h).emit("log",o),manifest:r,evaluator:new N({CK:Dt,QS:Ct,QK:xt,PVC:ut,EVT:bt,PV:Vt})}),this.storage=new L({...i,manifest:this.manifest,onServerTransitionReceived:o=>{m(this,C,o),o.ssv&&(m(this,R,o.ssv),a(this,h).emit("log",["debug",130,o.ssv]))},onLogMessage:o=>a(this,h).emit("log",o)}),this.storage.events.on("scoresUpdated",S(this,Q,gt).bind(this)),a(this,C)||S(this,Q,gt).call(this,this.storage.data),this.storage.events.on("quirksUpdated",o=>{let u=this.manifest.computeSignals({scores:a(this,R),state:a(this,T),previousState:a(this,T),visitor:this.storage.data});this.storage.updateData(u),a(this,h).emit("quirksUpdated",o.quirks),a(this,h).emit("log",["info",4,o.quirks])}),(s=t.plugins)==null||s.forEach(o=>{!o.init||o.init(this)})}finally{a(this,h).emit("log",["info",1,"ENDGROUP"])}}get scores(){return a(this,R)}get quirks(){var t,r;return(r=(t=a(this,C))==null?void 0:t.quirks)!=null?r:this.storage.data.quirks}async update(t){var i,n,s;let r=[];(i=a(this,C))!=null&&i.quirks&&(t={...t,quirks:{...a(this,C).quirks,...t.quirks||{}}}),(n=a(this,C))!=null&&n.tests&&r.push(...Object.entries(a(this,C).tests).map(([o,u])=>({type:"settest",data:{test:o,variant:u}})));try{a(this,h).emit("log",["info",2,"GROUP",{...t,url:(s=t.url)==null?void 0:s.toString()}]),t.quirks&&r.push(...Object.entries(t.quirks).map(([o,u])=>({type:"setquirk",data:{key:o,value:u}}))),t.enrichments&&t.enrichments.forEach(o=>{let u=W(o.cat,o.key);this.manifest.getDimensionByKey(u)?r.push({type:"modscore",data:{dimension:u,delta:o.str}}):a(this,h).emit("log",["warn",5,o])}),r.push(...this.manifest.computeSignals({state:t,previousState:a(this,T),visitor:this.storage.data,scores:a(this,R)})),m(this,T,{...a(this,T),...t}),await this.storage.updateData(r),a(this,C)&&(S(this,Q,gt).call(this,this.storage.data),m(this,C,void 0),a(this,h).emit("log",["debug",131]))}finally{a(this,h).emit("log",["info",2,"ENDGROUP"])}}getTestVariantId(t){var i;let r=this.manifest.getTest(t);return r?(i=r.wv)!=null?i:this.storage.data.tests[t]:(a(this,h).emit("log",["warn",401,t]),null)}setTestVariantId(t,r){this.storage.updateData([{type:"settest",data:{test:t,variant:r}}])}log(...t){a(this,h).emit("log",t)}test(t){var i,n;let r=ht({...t,context:this,onLogMessage:s=>a(this,h).emit("log",s)});return a(this,h).emit("testResult",{name:t.name,variantId:(n=(i=r.result)==null?void 0:i.id)!=null?n:void 0,variantAssigned:r.variantAssigned}),r}personalize(t){let r=Nt({...t,context:this,onLogMessage:s=>a(this,h).emit("log",s)}),i=a(this,rt)[t.name],n={name:t.name,variantIds:r.variations.map(s=>{var o;return(o=s.id)!=null?o:"Unknown"}),control:this.storage.data.controlGroup,changed:!0};return i&&(0,Gt.dequal)(n.variantIds,i)&&(n.changed=!1),a(this,h).emit("personalizationResult",n),a(this,rt)[t.name]=n.variantIds,r}async forget(t){m(this,T,{}),await this.storage.delete(t)}};C=new WeakMap,R=new WeakMap,T=new WeakMap,rt=new WeakMap,h=new WeakMap,Q=new WeakSet,gt=function(t){var n;let r={...t.scores};for(let s in t.sessionScores)r[s]=((n=r[s])!=null?n:0)+t.sessionScores[s];r=this.manifest.computeAggregateDimensions(r),!(0,Gt.dequal)(r,a(this,R))&&(m(this,R,r),a(this,h).emit("scoresUpdated",r),a(this,h).emit("log",["info",3,r]))};var ve=$(require("rfdc"));function vt(e,t){if(e==="none")return!1;switch(t){case"debug":return e==="debug";case"info":return e==="info"||e==="debug";case"warn":return e==="warn"||e==="info"||e==="debug";case"error":return e==="debug"||"info";default:return!1}}var ze=(0,ve.default)();function Se(e){return([t,...r])=>{if(!vt(e,t))return;let[i,...n]=r;console[t](`\u{1F94B} [${t}] Uniform event ID ${i}
2
- `,...n.map(ze))}}function Ie(e){return{logDrain:Se(e)}}var ye={1:()=>["context","initializing Uniform Context"],2:e=>["context","received update()",e],3:e=>["context","new score vector",e],4:e=>["context","updated quirks",e],5:e=>["context","ignored enrichment update for unknown enrichment category",e.cat],101:e=>["storage","received update commands",e],102:e=>["storage","data was updated",e],103:e=>["storage",`deleting visitor data ${e?"from all devices":"from this device"}`],104:e=>["context",e?"Visitor assigned to personalization control group":"Visitor assigned to personalization experiment group"],110:({dim:e,cap:t,score:r})=>["storage",`${e} score ${r} exceeded cap ${t}. Rounded down.`],120:()=>["storage","visitor data expired and was cleared"],130:e=>["storage","server to client transition score data was loaded; it will persist until the next update event occurs",e],131:()=>["storage","server to client transition data was discarded"],140:e=>["storage",`score decay was applied: ${e}`],200:()=>["signals","evaluating signals"],201:e=>["signals",`evaluating signal ${e.id} (${e.dur})`],202:e=>["signals",e.op==="|"?"OR":"AND"],203:({criteria:e,result:t,explanation:r})=>["signals",`${e.type}: ${r} is ${t.result} [${t.changed?"CHANGED":"unchanged"}]`],204:e=>["signals",`group result: ${e.result} [${e.changed?"CHANGED":"unchanged"}]`],300:e=>["personalization",`executing personalization '${e.name}'`],301:({id:e,op:t})=>["personalization",`testing variation ${e} (${t==="|"?"OR":"AND"})`],302:({matched:e,description:t})=>["personalization",`${t} is ${e}`],303:e=>["personalization",e?"selected variation":"did not select variation"],400:e=>["testing",`executing A/B test '${e}'`],401:e=>["testing",`${e} is not registered in the manifest; it will not be run.`],402:({missingVariant:e,variants:t})=>["testing",`test variation '${e}' previously assigned to the visitor for this test no longer exists as a variant. It will be removed. This may indicate changing test variations after publishing a test, which will make results invalid. Known variants: ${t.join(", ")}`],403:e=>["testing",`assigned new test variant '${e}'`],404:e=>["testing",`displaying variation '${e}'`],700:()=>["gtag","gtag is not defined, skipping analytics event emission. Ensure you have added the gtag script to your page."],701:()=>["gtag","enabled gtag event signal redirection"]};var De=$(require("rfdc")),qe=(0,De.default)();function Ce(e,t){let r=typeof document=="undefined",{enableOnServer:i=!1}=t!=null?t:{};return([n,...s])=>{if(!vt(e,n)||r&&!i)return;let[o,...u]=s,c=console[n];if(u[0]==="GROUP"&&(u.shift(),c=console.groupCollapsed),u[0]==="ENDGROUP"){console.groupEnd();return}let l=ye[o],f="";switch(n){case"debug":f="\u{1F41E}";break;case"info":f="\u{1F4AC}";break;case"warn":f="\u26A0\uFE0F";break;case"error":f="\u{1F4A5}";break}let p=f;if(!l){c(`${p} unknown event ID ${o}. Log messages data may be older than Uniform Context package.`,...u);return}let[v,D,...it]=l(...u);c(`${p}[${v}] ${D}
3
- `,...it.map(qe))}}function _e(e,t){return{logDrain:Ce(e,t)}}var xe=(u=>(u.ListStart="nesi-list-start",u.ListEnd="nesi-list-end",u.ListItem="nesi-list-item-html",u.ListItemSettings="nesi-list-item-settings",u.TestStart="nesi-test-start",u.TestEnd="nesi-test-end",u.Unknown="unknown",u))(xe||{}),je="nesitag";var It=typeof top!="undefined";function Qe(){return{logDrain:e=>{!It||top==null||top.postMessage({type:"uniform:context:log",message:e},window.location.origin)},init:e=>{let t=[],r=[],i=()=>{!It||top==null||top.postMessage({type:"uniform:context:data",data:{scores:e.scores,data:e.storage.data,manifest:e.manifest.data,personalizations:t,tests:r}},window.location.origin)},n=o=>{!o.changed||(t.push(o),i())},s=o=>{!o.variantAssigned||(r.push(o),i())};if(It){window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__=e;try{top==null||top.addEventListener("message",async o=>{if(!o.data)return;let u=o.data;await Fe(u,e)})}catch(o){console.warn("Unable to initialize Uniform Context DevTools because it is in a cross-domain iframe.",o)}top==null||top.postMessage({type:"uniform:context:hello",uiVersion:2},window.location.origin),i()}return e.events.on("personalizationResult",n),e.events.on("testResult",s),e.events.on("scoresUpdated",i),e.storage.events.on("*",i),()=>{e.events.off("scoresUpdated",i),e.storage.events.off("*",i),e.events.off("personalizationResult",n),e.events.off("testResult",s)}}}}async function Fe(e,t){e.type==="uniform-in:context:update"&&e.newData&&await t.update(e.newData),e.type==="uniform-in:context:commands"&&e.commands&&Array.isArray(e.commands)&&await t.storage.updateData(e.commands),e.type==="uniform-in:context:forget"&&await t.forget(!1)}function Ke(e){return`${e.apiKey}|${e.projectId}${e.apiHost?`|${e.apiHost}`:""}`}function He(e){let[t,r,i]=e.split("|");if(!t.startsWith("uf"))throw new Error("Invalid API key");if(!/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/i.test(r))throw new Error("Invalid project ID");return{apiKey:t,projectId:r,apiHost:i||"https://uniform.app"}}0&&(module.exports={Context,CookieTransitionDataStore,EdgeNodeTagName,EdgeTransitionDataStore,GroupCriteriaEvaluator,ManifestInstance,SERVER_STATE_ID,ScriptType,TransitionDataStore,UNIFORM_DEFAULT_COOKIE_NAME,VisitorDataStore,computeAggregateDimensions,cookieEvaluator,createConsoleLogDrain,createDebugConsoleLogDrain,createLinearDecay,currentPageEvaluator,emptyVisitorData,enableConsoleLogDrain,enableContextDevTools,enableDebugConsoleLogDrain,evaluateVariantMatch,eventEvaluator,explainStringMatch,explainStringMatchCriteria,getEnrichmentVectorKey,isStringMatch,pageViewCountDimension,pageViewCountEvaluator,parseQuickConnect,personalizeVariations,queryStringEvaluator,quirkEvaluator,serializeQuickConnect,testVariations});
1
+ "use strict";var Te=Object.create;var F=Object.defineProperty;var ke=Object.getOwnPropertyDescriptor;var Pe=Object.getOwnPropertyNames;var we=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Oe=(e,t,i)=>t in e?F(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var Ue=(e,t)=>{for(var i in t)F(e,i,{get:t[i],enumerable:!0})},Bt=(e,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Pe(t))!Re.call(e,n)&&n!==i&&F(e,n,{get:()=>t[n],enumerable:!(r=ke(t,n))||r.enumerable});return e};var $=(e,t,i)=>(i=e!=null?Te(we(e)):{},Bt(t||!e||!e.__esModule?F(i,"default",{value:e,enumerable:!0}):i,e)),$e=e=>Bt(F({},"__esModule",{value:!0}),e);var y=(e,t,i)=>(Oe(e,typeof t!="symbol"?t+"":t,i),i),Dt=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};var a=(e,t,i)=>(Dt(e,t,"read from private field"),i?i.call(e):t.get(e)),d=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},p=(e,t,i,r)=>(Dt(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);var v=(e,t,i)=>(Dt(e,t,"access private method"),i);var Ye={};Ue(Ye,{Context:()=>qt,CookieTransitionDataStore:()=>Ut,EdgeNodeTagName:()=>Ke,EdgeTransitionDataStore:()=>$t,GroupCriteriaEvaluator:()=>A,ManifestInstance:()=>B,SERVER_STATE_ID:()=>ee,ScriptType:()=>Ve,TransitionDataStore:()=>N,UNIFORM_DEFAULT_COOKIE_NAME:()=>ae,VisitorDataStore:()=>tt,computeAggregateDimensions:()=>Ct,cookieEvaluator:()=>xt,createConsoleLogDrain:()=>Ce,createDebugConsoleLogDrain:()=>Ee,createLinearDecay:()=>ze,currentPageEvaluator:()=>Tt,emptyVisitorData:()=>X,enableConsoleLogDrain:()=>_e,enableContextDevTools:()=>He,enableDebugConsoleLogDrain:()=>Fe,evaluateVariantMatch:()=>zt,eventEvaluator:()=>Vt,explainStringMatch:()=>P,explainStringMatchCriteria:()=>ut,getEnrichmentVectorKey:()=>W,isStringMatch:()=>x,pageViewCountDimension:()=>lt,pageViewCountEvaluator:()=>ct,parseQuickConnect:()=>We,personalizeVariations:()=>Gt,queryStringEvaluator:()=>bt,quirkEvaluator:()=>Et,serializeQuickConnect:()=>Je,testVariations:()=>vt});module.exports=$e(Ye);function Ct(e,t){let i={...e};for(let r in t){let n=Jt(e,r,t,new Set([r]));n!==0&&(i[r]=n)}return i}function Jt(e,t,i,r){var s;let n=0;for(let o of i[t].inputs){let u=(s=e[o.dim])!=null?s:0;if(!u&&i[o.dim]){if(r.has(o.dim))continue;let l=new Set(r);l.add(o.dim),u=Jt(e,o.dim,i,l)}if(u!==0)if(o.sign==="c"){n=0;break}else o.sign==="-"?n-=u:n+=u}return n}var st="_";var K,H,at=class{constructor(t,i,r){d(this,K,void 0);d(this,H,void 0);y(this,"signal");this.signal=t,p(this,K,i),p(this,H,r)}computeSignal(t,i){if(t.scores[this.signal.id]>=this.signal.cap&&this.signal.dur!=="t")return;let n=a(this,K).evaluate(t,this.signal.crit,i,this.signal,a(this,H)),s=this.signal.dur==="s"||this.signal.dur==="t"?"modscoreS":"modscore";if(!!n.changed){if(n.result)i.push({type:s,data:{dimension:this.signal.id,delta:this.signal.str}});else if(this.signal.dur==="t"){let o=t.visitor.sessionScores[this.signal.id];o&&i.push({type:s,data:{dimension:this.signal.id,delta:-o}})}}}};K=new WeakMap,H=new WeakMap;var E,J,O,B=class{constructor({manifest:t,evaluator:i=new A({}),onLogMessage:r=()=>{}}){y(this,"data");d(this,E,void 0);d(this,J,void 0);d(this,O,void 0);var n,s,o;p(this,E,(n=t.project)!=null?n:{}),this.data=t,p(this,J,Object.entries((o=(s=a(this,E).pz)==null?void 0:s.sig)!=null?o:[]).map(([u,c])=>new at({...c,id:u},i,r))),p(this,O,r)}rollForControlGroup(){var t,i;return Math.random()<((i=(t=a(this,E).pz)==null?void 0:t.control)!=null?i:0)}getTest(t){var i;return(i=a(this,E).test)==null?void 0:i[t]}computeSignals(t){let i=[];a(this,O).call(this,["debug",200,"GROUP"]);try{a(this,J).forEach(r=>{a(this,O).call(this,["debug",201,"GROUP",r.signal]);try{r.computeSignal(t,i)}finally{a(this,O).call(this,["debug",201,"ENDGROUP"])}})}finally{a(this,O).call(this,["debug",200,"ENDGROUP"])}return i}computeAggregateDimensions(t){var i,r;return Ct(t,(r=(i=a(this,E).pz)==null?void 0:i.agg)!=null?r:{})}getDimensionByKey(t){var r,n,s,o;let i=t.indexOf(st);return i<=0?(n=(r=a(this,E).pz)==null?void 0:r.sig)==null?void 0:n[t]:(o=(s=a(this,E).pz)==null?void 0:s.enr)==null?void 0:o[t.substring(0,i)]}};E=new WeakMap,J=new WeakMap,O=new WeakMap;var Xt=require("dequal/lite");function x(e,t){var o,u,c,l,f,m;let i=(o=t==null?void 0:t.op)!=null?o:"=";if(t.op==="*")return e!==null&&typeof e!="undefined";if(t.op==="!*")return e===null||typeof e=="undefined";if(!("rhs"in t))throw new Error(`Match expression is required for match type ${i}`);let r=(u=t.cs)!=null?u:!1,n=(r?e!=null?e:"":Wt(e)).toString(),s=(r?t.rhs:Wt(t.rhs)).toString();switch(i){case"=":return n===s;case"!=":return n!==s;case"~":return(c=n.includes(s))!=null?c:!1;case"!~":return!((l=n.includes(s))==null||l);case"//":return new RegExp(t.rhs.toString(),r?"":"i").test((f=e==null?void 0:e.toString())!=null?f:"");case"!//":return!new RegExp(t.rhs.toString(),r?"":"i").test((m=e==null?void 0:e.toString())!=null?m:"");default:throw new Error(`Unknown match type ${i}.`)}}function P(e,t){return`'${("cs"in t?t.cs:!1)?e:e==null?void 0:e.toString().toUpperCase()}' ${ut(t)}`}function ut(e){return"rhs"in e?`${e.op} '${e.cs?e.rhs:e.rhs.toString().toUpperCase()}'`:`${e.op==="*"?"exists":"does not exist"}`}function Wt(e){var t,i;return(i=(t=e==null?void 0:e.toString())==null?void 0:t.toUpperCase())!=null?i:""}var xt=({update:e,criteria:t,onLogMessage:i})=>{var u,c;if(t.type!=="CK")return{result:!1,changed:!1};let r=!(0,Xt.dequal)(Yt(e.state.cookies),Yt((u=e.previousState)==null?void 0:u.cookies)),n=(c=e.state.cookies)==null?void 0:c[t.cookieName],o={result:x(n,t.match),changed:r};return i==null||i(["debug",203,{criteria:t,result:o,explanation:P(n,t.match)}]),o};function Yt(e){if(!e)return;if(!e.ufvd)return e;let{ufvd:t,...i}=e;return i}function Zt(e,t){var r;if(typeof e=="undefined"||e===null)return!1;let i=Number(e);if(isNaN(i))return!1;switch((r=t==null?void 0:t.op)!=null?r:"="){case"=":return i===t.rhs;case"!=":return i!==t.rhs;case">":return i>t.rhs;case"<":return i<t.rhs;default:return console.warn(`Unknown match type ${t.op} is false.`),!1}}function Mt(e,t){return`${e} ${Ae(t)}`}function Ae(e){return`${e.op} ${e.rhs}`}function W(e,t){return`${e}${st}${t}`}var lt=W("$pvc","v"),ct=({update:e,criteria:t,commands:i,onLogMessage:r})=>{var l,f;if(t.type!=="PVC")return{result:!1,changed:!1};let n=Boolean(e.state.url&&(!e.previousState||((l=e.state.url)==null?void 0:l.toString())!==((f=e.previousState.url)==null?void 0:f.toString()))),o=(e.visitor.sessionScores[lt]||0)+1,u={result:!1,changed:n},c=i.some(m=>m.type==="modscoreS"&&m.data.dimension===lt);return n&&!c&&i.push({type:"modscoreS",data:{dimension:lt,delta:1}}),Zt(o,t.match)&&(u.result=!0),r==null||r(["debug",203,{criteria:t,result:u,explanation:Mt(o,t.match)}]),u};ct.alwaysExecute=!0;var bt=({update:e,criteria:t,onLogMessage:i})=>{var u,c,l,f,m;if(t.type!=="QS")return{result:!1,changed:!1};let r=!e.previousState||((c=(u=e.state.url)==null?void 0:u.searchParams)==null?void 0:c.toString())!==((f=(l=e.previousState.url)==null?void 0:l.searchParams)==null?void 0:f.toString()),n=(m=e.state.url)==null?void 0:m.searchParams.get(t.queryName),o={result:x(n,t.match),changed:r};return i==null||i(["debug",203,{criteria:t,result:o,explanation:P(n,t.match)}]),o};var Et=({update:e,criteria:t,signal:i,onLogMessage:r})=>{var f;if(t.type!=="QK")return{result:!1,changed:!1};if(typeof document=="undefined"&&i.dur==="t"&&e.scores[i.id]>0)return{result:!0,changed:!1};let n=e.visitor.quirks[t.key],s=(f=e.state.quirks)==null?void 0:f[t.key],o=s!=null?s:n,u=Boolean(s&&n!==s),l={result:x(o,t.match),changed:u};return r==null||r(["debug",203,{criteria:t,result:l,explanation:P(o,t.match)}]),l};var Vt=({update:e,criteria:t,onLogMessage:i})=>{var s,o,u;if(t.type!=="EVT")return{result:!1,changed:!1};let r=(o=(s=e.state.events)==null?void 0:s.some(c=>x(c.event,t.event)))!=null?o:!1,n={result:r,changed:r};return i==null||i(["debug",203,{criteria:t,result:n,explanation:`'${(u=e.state.events)==null?void 0:u.join("', '")}' ${ut(t.event)}`}]),n};var Tt=({update:e,criteria:t,onLogMessage:i})=>{var u,c,l;if(t.type!=="PV")return{result:!1,changed:!1};let r=(u=e.state.url)==null?void 0:u.pathname,n=!e.previousState||(r==null?void 0:r.toString())!==((l=(c=e.previousState.url)==null?void 0:c.pathname)==null?void 0:l.toString()),o={result:x(r,t.path),changed:n};return i==null||i(["debug",203,{criteria:t,result:o,explanation:P(r,t.path)}]),o};var Y,A=class{constructor(t){d(this,Y,void 0);p(this,Y,t)}evaluate(t,i,r,n,s){let o=i.clauses.length>1;o&&(s==null||s(["debug",202,"GROUP",i]));try{let u=!(i.op==="&"||!i.op),c=null,l=!1;for(let m of i.clauses){let S;if(m.type==="G")S=this.evaluate(t,m,r,n,s);else{let D=a(this,Y)[m.type];if(c&&!D.alwaysExecute)continue;if(!D)throw new Error(`${m.type} signal criteria not registered`);S=D({update:t,criteria:m,commands:r,signal:n,onLogMessage:s})}S.changed&&(l=!0),!c&&S.result===u&&(c={result:u,changed:l})}let f=c!=null?c:{result:!u,changed:l};return o&&(s==null||s(["debug",204,f])),f}finally{o&&(s==null||s(["debug",202,"ENDGROUP"]))}}};Y=new WeakMap;var X=()=>({quirks:{},scores:{},sessionScores:{},tests:{},consent:!1,controlGroup:!1});var Lt=$(require("mitt")),te=require("dequal/lite"),ee="__UNIFORM_DATA__",U,Z,q,N=class{constructor({initialData:t}){d(this,U,void 0);d(this,Z,void 0);d(this,q,(0,Lt.default)());y(this,"events",{on:a(this,q).on,off:a(this,q).off});t&&(p(this,U,t),p(this,Z,t))}get data(){return a(this,U)}get initialData(){return a(this,Z)}updateData(t,i){return p(this,U,i),this.handleUpdateData(t,i)}async delete(t){p(this,U,void 0),await this.handleDelete(t)}signalAsyncDataUpdate(t){(0,te.dequal)(this.data,t)||(p(this,U,t),a(this,q).emit("dataUpdatedAsync",t))}getClientTransitionState(){if(typeof document=="undefined")return;let t=document.getElementById(ee);return t!=null&&t.textContent?JSON.parse(t.textContent):void 0}};U=new WeakMap,Z=new WeakMap,q=new WeakMap;var kt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ie=kt.split(""),re=new Array(123);for(let e=0;e<kt.length;e++)re[kt.charCodeAt(e)]=e;var Pt=e=>{if(e<0)return`-${Pt(-e)}`;let t=e>>>0,i=e/4294967296>>>0,r="";for(;i>0;)r=ie[63&t]+r,t>>>=6,t|=(63&i)<<26,i>>>=6;let n="";do n=ie[63&t]+n,t>>>=6;while(t>0);return n+r},ne=e=>{let t=0,i=e.charAt(0)==="-"?1:0;for(let r=i;r<e.length;r++)t=t*64+re[e.charCodeAt(r)];return i?-t:t};var dt=$(require("js-cookie")),wt=typeof document=="undefined",ae="ufvd",G,M,Ut=class extends N{constructor({serverCookieValue:i,cookieName:r=ae,cookieAttributes:n={sameSite:"lax"}}){super({initialData:wt?Ne(i):void 0});d(this,G,void 0);d(this,M,void 0);p(this,G,r),p(this,M,n)}handleDelete(){return wt||dt.default.remove(a(this,G)),Promise.resolve()}async handleUpdateData(i,r){wt||(r.consent?dt.default.set(a(this,G),Ge(r),a(this,M)):dt.default.remove(a(this,G)))}};G=new WeakMap,M=new WeakMap;var ue="~",le="!",ce="-";function Ne(e){if(!e)return;let t=e.split(ue);if(t.length>3)return;let[i,r,n]=t;return{consent:!0,sessionScores:oe(Rt(r)),scores:oe(Rt(n)),tests:Rt(i)}}function Rt(e){return e.split(le).map(i=>i.split(ce)).reduce((i,r)=>(r.length<2||(i[r[0]]=r.slice(1).join("-")),i),{})}function oe(e){return Object.entries(e).reduce((t,[i,r])=>(t[i]=ne(r),t),{})}function Ge(e){return[Ot(e.tests),Ot(se(e.sessionScores)),Ot(se(e.scores))].join(ue)}function se(e){return Object.entries(e).reduce((t,[i,r])=>(t[i]=Pt(r),t),{})}function Ot(e){return Object.entries(e).map(t=>t.join(ce)).join(le)}var ft,de,$t=class extends N{constructor({serverCookieValue:i,visitorIdCookieName:r="ufvi",...n}){super(n);d(this,ft);n.initialData||v(this,ft,de).call(this).catch(s=>{console.error(s)})}handleDelete(i){throw new Error("Method not implemented.")}async handleUpdateData(i){let r=await new Promise(n=>{setTimeout(()=>{n(void 0)},2e3)});r&&this.signalAsyncDataUpdate(r)}};ft=new WeakSet,de=async function(){let i=await new Promise(r=>{setTimeout(()=>{r(void 0)},2e3)});i&&this.signalAsyncDataUpdate(i)};function ze(e){let{gracePeriod:t=864e5,decayRate:i=1/30,decayCap:r=.95}=e!=null?e:{};return function({now:s,lastUpd:o,scores:u,sessionScores:c,onLogMessage:l}){if(typeof o!="number")return!1;let m=s-o-t;if(m<=0)return!1;let S=m/864e5,D=1-Math.min(r,S*i);return D<=0?!1:(fe(u,D),fe(c,D),l==null||l(["info",140,`linear decay factor ${D.toPrecision(6)}`]),!0)}}function fe(e,t){for(let i in e)i.startsWith("$")||(e[i]*=t)}var he=$(require("mitt")),L=require("dequal/lite");var pt=class{constructor(){y(this,"inMemoryFallback",{});y(this,"hasLocalStorageObject",typeof localStorage!="undefined")}get(t){let i=this.inMemoryFallback[t];if(!this.hasLocalStorageObject||i)return i;try{let r=localStorage.getItem(t);return r?JSON.parse(r):void 0}catch(r){return i}}set(t,i,r){if(this.inMemoryFallback[t]=i,!(!this.hasLocalStorageObject||!r))try{localStorage.setItem(t,JSON.stringify(i))}catch(n){console.warn(n)}}delete(t,i){i||delete this.inMemoryFallback[t];try{localStorage.removeItem(t)}catch(r){}}};var pe=$(require("rfdc"));var Ie=(0,pe.default)();function me(e,t,i){let r=t?Ie(t):X();return e.forEach(n=>{var s,o;switch(n.type){case"consent":r.consent=n.data;break;case"setquirk":r.quirks[n.data.key]=n.data.value;break;case"settest":r.tests[n.data.test]=n.data.variant;break;case"modscore":if(i)break;let u=Number(n.data.delta);if(isNaN(u))throw new Error("Non-number delta received");let c=(s=r.scores[n.data.dimension])!=null?s:0;r.scores[n.data.dimension]=c+u;break;case"modscoreS":if(i)break;let l=Number(n.data.delta);if(isNaN(l))throw new Error("Non-number delta received");let f=(o=r.sessionScores[n.data.dimension])!=null?o:0;r.sessionScores[n.data.dimension]=f+l;break;case"identify":break;case"setcontrol":r.controlGroup=n.data;break;default:throw new Error("Unknown command")}}),r}var mt="ufvisitor",V,I,j,g,b,w,R,z,ht,ge,gt,ve,et,At,it,Nt,tt=class{constructor(t){d(this,b);d(this,R);d(this,ht);d(this,gt);d(this,et);d(this,it);d(this,V,(0,he.default)());d(this,I,new pt);d(this,j,void 0);d(this,g,void 0);y(this,"events",{on:a(this,V).on,off:a(this,V).off});if(p(this,g,t),a(this,b,w)||v(this,R,z).call(this,v(this,it,Nt).call(this),!0),t.transitionStore){let i=t.transitionStore.getClientTransitionState();i&&t.onServerTransitionReceived&&t.onServerTransitionReceived(i),t.transitionStore.events.on("dataUpdatedAsync",n=>{v(this,R,z).call(this,{...a(this,b,w).visitorData,...n})});let r=t.transitionStore.data;r&&v(this,R,z).call(this,{...a(this,b,w).visitorData,...r},!0)}}get data(){var i,r;let t=a(this,b,w);if(v(this,gt,ve).call(this,t)){let{sessionScores:n,...s}=t.visitorData;return v(this,R,z).call(this,{...s,sessionScores:{}}),(r=(i=a(this,g)).onLogMessage)==null||r.call(i,["info",120]),a(this,b,w).visitorData}return t.visitorData}get decayEnabled(){return!!a(this,g).decay}get options(){return a(this,g)}async updateData(t){var r,n,s,o;if(t.length===0)return;(n=(r=a(this,g)).onLogMessage)==null||n.call(r,["debug",101,t]);let i=me(t,this.data,(s=a(this,b,w))==null?void 0:s.visitorData.controlGroup);t.some(u=>u.type==="consent"&&!u.data)&&a(this,I).delete(mt,!0),v(this,R,z).call(this,i),await((o=a(this,g).transitionStore)==null?void 0:o.updateData(t,a(this,b,w).visitorData))}async delete(t){var i,r,n,s,o;(r=(i=a(this,g)).onLogMessage)==null||r.call(i,["info",103,"GROUP",t]);try{a(this,I).delete(mt,!1),await((n=a(this,g).transitionStore)==null?void 0:n.delete(t)),v(this,R,z).call(this,v(this,it,Nt).call(this))}finally{(o=(s=a(this,g)).onLogMessage)==null||o.call(s,["info",103,"ENDGROUP"])}}};V=new WeakMap,I=new WeakMap,j=new WeakMap,g=new WeakMap,b=new WeakSet,w=function(){return a(this,I).get(mt)},R=new WeakSet,z=function(t,i=!1){var f,m,S,D,ot,Qt,Ft,Kt,Ht;let r=a(this,b,w),n=Date.now();t.controlGroup?(t.scores={},t.sessionScores={}):(v(this,et,At).call(this,t.scores),v(this,et,At).call(this,t.sessionScores),(m=(f=a(this,g)).decay)==null||m.call(f,{now:n,lastUpd:r==null?void 0:r.updated,scores:t.scores,sessionScores:t.sessionScores,onLogMessage:a(this,g).onLogMessage}));let s=!(0,L.dequal)(r==null?void 0:r.visitorData.scores,t.scores),o=!(0,L.dequal)(r==null?void 0:r.visitorData.sessionScores,t.sessionScores),u=!(0,L.dequal)(r==null?void 0:r.visitorData.quirks,t.quirks),c=!(0,L.dequal)(r==null?void 0:r.visitorData.tests,t.tests),l={updated:n,visitorData:t};v(this,ht,ge).call(this),a(this,I).set(mt,l,!!t.consent),(D=(S=a(this,g)).onLogMessage)==null||D.call(S,["debug",102,t]),i||((s||o)&&a(this,V).emit("scoresUpdated",t),u&&a(this,V).emit("quirksUpdated",t),c&&a(this,V).emit("testsUpdated",t),((ot=r==null?void 0:r.visitorData)==null?void 0:ot.consent)!==t.consent&&a(this,V).emit("consentUpdated",t),((Qt=r==null?void 0:r.visitorData)==null?void 0:Qt.controlGroup)!==t.controlGroup&&(a(this,V).emit("controlGroupUpdated",t),(Ht=(Kt=a(this,g)).onLogMessage)==null||Ht.call(Kt,["debug",104,(Ft=t.controlGroup)!=null?Ft:!1])))},ht=new WeakSet,ge=function(){typeof document=="undefined"||!a(this,g).visitLifespan||(a(this,j)&&window.clearTimeout(a(this,j)),p(this,j,window.setTimeout(()=>{this.data},a(this,g).visitLifespan+50)))},gt=new WeakSet,ve=function(t){let i=a(this,g).visitLifespan;return i?t.updated+i<Date.now():!1},et=new WeakSet,At=function(t){var i,r;if(!!a(this,g).manifest)for(let n in t){let s=t[n],o=a(this,g).manifest.getDimensionByKey(n);!o||s>o.cap&&((r=(i=a(this,g)).onLogMessage)==null||r.call(i,["debug",110,{dim:n,score:s,cap:o.cap}]),t[n]=o.cap)}},it=new WeakSet,Nt=function(){var t,i,r;return{...X(),consent:(t=a(this,g).defaultConsent)!=null?t:!1,controlGroup:(r=(i=a(this,g).manifest)==null?void 0:i.rollForControlGroup())!=null?r:!1}};var ye=$(require("mitt"));function Gt({name:e,context:t,variations:i,take:r=1,onLogMessage:n}){var s,o,u;n==null||n(["info",300,"GROUP",{name:e,take:r}]);try{let c=(s=t.storage.data.controlGroup)!=null?s:!1,l=[],f=!1,m=t.scores;for(let S of i){if(l.length===r)break;if(!((o=S.pz)!=null&&o.crit.length)){n==null||n(["info",301,"GROUP",{id:S.id,op:(u=S.pz)==null?void 0:u.op}]),n==null||n(["info",302,{matched:!0,description:"default variation"}]),n==null||n(["info",303,!0]),n==null||n(["info",301,"ENDGROUP"]),l.push(S);continue}c||zt(S.id,S.pz,m,n)&&(f=!0,l.push(S))}return{personalized:f,variations:l}}finally{n==null||n(["info",300,"ENDGROUP"])}}function zt(e,t,i,r){r==null||r(["info",301,"GROUP",{id:e,op:t==null?void 0:t.op}]);let n;try{t!=null&&t.crit?!t.op||t.op==="&"?n=t.crit.every(s=>Se(s,i,r)):n=t.crit.some(s=>Se(s,i,r)):(r==null||r(["info",302,{matched:!0,description:"default variation"}]),n=!0),r==null||r(["info",303,n])}finally{r==null||r(["info",301,"ENDGROUP"])}return n}function Se(e,t,i){var u,c;let{op:r,l:n}=e,s=(u=t[n])!=null?u:0;if(r==="+"){let l=Math.max(...Object.values(t))===s&&s>0;return i==null||i(["info",302,{matched:l,description:`${e.l} has the highest score`}]),l}else if(r==="-"){let l=Math.min(...Object.values(t))===s&&s>0;return i==null||i(["info",302,{matched:l,description:`${e.l} has the lowest non-zero score`}]),l}let o=parseInt(e.rDim?t[e.rDim]:e.r,10);if(isNaN(o))return i==null||i(["info",302,{matched:!1,description:`${(c=e.rDim)!=null?c:e.r} has no score value`}]),!1;if(r===">"){let l=s>o;return _(i,l,e,s,o),l}else if(r===">="){let l=s>=o;return _(i,l,e,s,o),l}else if(r==="<"){let l=s<o;return _(i,l,e,s,o),l}else if(r==="<="){let l=s<=o;return _(i,l,e,s,o),l}else if(r==="="){let l=s===o;return _(i,l,e,s,o),l}else if(r==="!="){let l=s!==o;return _(i,l,e,s,o),l}else throw new Error(`Unknown op: ${r}`)}function _(e,t,i,r,n){e==null||e(["info",302,{matched:t,description:`${i.l}[${r}] ${i.op} ${i.rDim?`${i.rDim}[${n}]`:i.r}`}])}var qe=e=>{let{values:t,total:i,missingDistribution:r}=e.reduce((n,s)=>(s.testDistribution?n.total+=s.testDistribution:++n.missingDistribution,n.values.push(s.testDistribution),n),{values:[],total:0,missingDistribution:0});if(i>100)throw new Error(`Total distribution ${i} is over the maximum 100.`);if(i<100){let s=(100-i)/r;t.forEach((o,u)=>{typeof o=="undefined"&&(t[u]=s)})}return t},vt=({name:e,context:t,variations:i,onLogMessage:r})=>{r==null||r(["info",400,"GROUP",e]);try{let n,s=t.getTestVariantId(e);if(s===null)return r==null||r(["error",401,e]),{result:void 0,variantAssigned:!1};if(s&&(n=i.find(o=>o.id===s),n||r==null||r(["warn",402,{missingVariant:s,variants:i.map(o=>o.id)}])),!n){let o=qe(i),u=Math.floor(Math.random()*100),c=0;n=i.find((l,f)=>{let m=o[f];if(u>c&&u<=c+m)return l;c+=m}),n&&(r==null||r(["info",403,n.id]),t.setTestVariantId(e,n.id))}return n&&(r==null||r(["info",404,n.id])),{result:n,variantAssigned:!s}}finally{r==null||r(["info",400,"ENDGROUP"])}};var It=require("dequal/lite"),C,T,k,rt,h,nt,jt,Q,St,qt=class{constructor(t){d(this,nt);d(this,Q);y(this,"manifest");d(this,C,void 0);d(this,T,{});d(this,k,void 0);d(this,rt,{});d(this,h,(0,ye.default)());y(this,"events",{on:a(this,h).on,off:a(this,h).off});y(this,"storage");var n,s;let{manifest:i,...r}=t;p(this,k,{}),(n=t.plugins)==null||n.forEach(o=>{!o.logDrain||a(this,h).on("log",o.logDrain)}),a(this,h).emit("log",["info",1,"GROUP"]);try{this.manifest=new B({onLogMessage:o=>a(this,h).emit("log",o),manifest:i,evaluator:new A({CK:xt,QS:bt,QK:Et,PVC:ct,EVT:Vt,PV:Tt})}),this.storage=new tt({...r,manifest:this.manifest,onServerTransitionReceived:o=>{p(this,C,o),o.ssv&&(p(this,T,o.ssv),a(this,h).emit("log",["debug",130,o]))},onLogMessage:o=>a(this,h).emit("log",o)}),this.storage.events.on("scoresUpdated",v(this,Q,St).bind(this)),a(this,C)||v(this,Q,St).call(this,this.storage.data),this.storage.events.on("quirksUpdated",o=>{let u=this.manifest.computeSignals({scores:a(this,T),state:a(this,k),previousState:a(this,k),visitor:this.storage.data});this.storage.updateData(u),a(this,h).emit("quirksUpdated",o.quirks),a(this,h).emit("log",["info",4,o.quirks])}),(s=t.plugins)==null||s.forEach(o=>{!o.init||o.init(this)})}finally{a(this,h).emit("log",["info",1,"ENDGROUP"])}}get scores(){return a(this,T)}get quirks(){var t,i;return(i=(t=a(this,C))==null?void 0:t.quirks)!=null?i:this.storage.data.quirks}async update(t){var n,s,o;let i=[],r={};if((n=a(this,C))!=null&&n.quirks&&(t={...t,quirks:{...a(this,C).quirks,...t.quirks||{}}}),(s=a(this,C))!=null&&s.tests){let u=Object.entries(a(this,C).tests);if(u.length>0){let c=[];u.forEach(([l,f])=>{this.storage.data.tests[l]||(c.push([l,f]),r[l]=f)}),i.push(...c.map(([l,f])=>({type:"settest",data:{test:l,variant:f}})))}}try{a(this,h).emit("log",["info",2,"GROUP",{...t,url:(o=t.url)==null?void 0:o.toString()}]),t.quirks&&i.push(...Object.entries(t.quirks).map(([u,c])=>({type:"setquirk",data:{key:u,value:c}}))),t.enrichments&&t.enrichments.forEach(u=>{let c=W(u.cat,u.key);this.manifest.getDimensionByKey(c)?i.push({type:"modscore",data:{dimension:c,delta:u.str}}):a(this,h).emit("log",["warn",5,u])}),i.push(...this.manifest.computeSignals({state:t,previousState:a(this,k),visitor:this.storage.data,scores:a(this,T)})),p(this,k,{...a(this,k),...t}),await this.storage.updateData(i),a(this,C)&&(v(this,Q,St).call(this,this.storage.data),Object.entries(r).forEach(([u,c])=>{v(this,nt,jt).call(this,{name:u,variantId:c,variantAssigned:!0})}),p(this,C,void 0),a(this,h).emit("log",["debug",131]))}finally{a(this,h).emit("log",["info",2,"ENDGROUP"])}}getTestVariantId(t){var r,n,s,o;let i=this.manifest.getTest(t);return i?(o=(s=i.wv)!=null?s:(n=(r=a(this,C))==null?void 0:r.tests)==null?void 0:n[t])!=null?o:this.storage.data.tests[t]:(a(this,h).emit("log",["warn",401,t]),null)}setTestVariantId(t,i){this.storage.updateData([{type:"settest",data:{test:t,variant:i}}])}log(...t){a(this,h).emit("log",t)}test(t){var r,n;let i=vt({...t,context:this,onLogMessage:s=>a(this,h).emit("log",s)});return v(this,nt,jt).call(this,{name:t.name,variantId:(n=(r=i.result)==null?void 0:r.id)!=null?n:void 0,variantAssigned:i.variantAssigned}),i}personalize(t){let i=Gt({...t,context:this,onLogMessage:s=>a(this,h).emit("log",s)}),r=a(this,rt)[t.name],n={name:t.name,variantIds:i.variations.map(s=>{var o;return(o=s.id)!=null?o:"Unknown"}),control:this.storage.data.controlGroup,changed:!0};return r&&(0,It.dequal)(n.variantIds,r)&&(n.changed=!1),a(this,h).emit("personalizationResult",n),a(this,rt)[t.name]=n.variantIds,i}async forget(t){p(this,k,{}),await this.storage.delete(t)}getServerToClientTransitionState(){let t={quirks:this.storage.data.quirks,ssv:a(this,T),tests:{}},i=this.storage.data.tests;return Object.entries(i).map(([r,n])=>{var s,o,u;((u=(o=(s=this.storage.options.transitionStore)==null?void 0:s.initialData)==null?void 0:o.tests)==null?void 0:u[r])!==i[r]&&t.tests&&(t.tests[r]=n)}),t}};C=new WeakMap,T=new WeakMap,k=new WeakMap,rt=new WeakMap,h=new WeakMap,nt=new WeakSet,jt=function(t){a(this,h).emit("testResult",t)},Q=new WeakSet,St=function(t){var n;let i={...t.scores};for(let s in t.sessionScores)i[s]=((n=i[s])!=null?n:0)+t.sessionScores[s];i=this.manifest.computeAggregateDimensions(i),!(0,It.dequal)(i,a(this,T))&&(p(this,T,i),a(this,h).emit("scoresUpdated",i),a(this,h).emit("log",["info",3,i]))};var De=$(require("rfdc"));function yt(e,t){if(e==="none")return!1;switch(t){case"debug":return e==="debug";case"info":return e==="info"||e==="debug";case"warn":return e==="warn"||e==="info"||e==="debug";case"error":return e==="debug"||"info";default:return!1}}var je=(0,De.default)();function Ce(e){return([t,...i])=>{if(!yt(e,t))return;let[r,...n]=i;console[t](`\u{1F94B} [${t}] Uniform event ID ${r}
2
+ `,...n.map(je))}}function _e(e){return{logDrain:Ce(e)}}var xe={1:()=>["context","initializing Uniform Context"],2:e=>["context","received update()",e],3:e=>["context","new score vector",e],4:e=>["context","updated quirks",e],5:e=>["context","ignored enrichment update for unknown enrichment category",e.cat],101:e=>["storage","received update commands",e],102:e=>["storage","data was updated",e],103:e=>["storage",`deleting visitor data ${e?"from all devices":"from this device"}`],104:e=>["context",e?"Visitor assigned to personalization control group":"Visitor assigned to personalization experiment group"],110:({dim:e,cap:t,score:i})=>["storage",`${e} score ${i} exceeded cap ${t}. Rounded down.`],120:()=>["storage","visitor data expired and was cleared"],130:e=>["storage","server to client transition score data was loaded; it will persist until the next update event occurs",e],131:()=>["storage","server to client transition data was discarded"],140:e=>["storage",`score decay was applied: ${e}`],200:()=>["signals","evaluating signals"],201:e=>["signals",`evaluating signal ${e.id} (${e.dur})`],202:e=>["signals",e.op==="|"?"OR":"AND"],203:({criteria:e,result:t,explanation:i})=>["signals",`${e.type}: ${i} is ${t.result} [${t.changed?"CHANGED":"unchanged"}]`],204:e=>["signals",`group result: ${e.result} [${e.changed?"CHANGED":"unchanged"}]`],300:e=>["personalization",`executing personalization '${e.name}'`],301:({id:e,op:t})=>["personalization",`testing variation ${e} (${t==="|"?"OR":"AND"})`],302:({matched:e,description:t})=>["personalization",`${t} is ${e}`],303:e=>["personalization",e?"selected variation":"did not select variation"],400:e=>["testing",`executing A/B test '${e}'`],401:e=>["testing",`${e} is not registered in the manifest; it will not be run.`],402:({missingVariant:e,variants:t})=>["testing",`test variation '${e}' previously assigned to the visitor for this test no longer exists as a variant. It will be removed. This may indicate changing test variations after publishing a test, which will make results invalid. Known variants: ${t.join(", ")}`],403:e=>["testing",`assigned new test variant '${e}'`],404:e=>["testing",`displaying variation '${e}'`],700:()=>["gtag","gtag is not defined, skipping analytics event emission. Ensure you have added the gtag script to your page."],701:()=>["gtag","enabled gtag event signal redirection"]};var be=$(require("rfdc")),Qe=(0,be.default)();function Ee(e,t){let i=typeof document=="undefined",{enableOnServer:r=!1}=t!=null?t:{};return([n,...s])=>{if(!yt(e,n)||i&&!r)return;let[o,...u]=s,c=console[n];if(u[0]==="GROUP"&&(u.shift(),c=console.groupCollapsed),u[0]==="ENDGROUP"){console.groupEnd();return}let l=xe[o],f="";switch(n){case"debug":f="\u{1F41E}";break;case"info":f="\u{1F4AC}";break;case"warn":f="\u26A0\uFE0F";break;case"error":f="\u{1F4A5}";break}let m=f;if(!l){c(`${m} unknown event ID ${o}. Log messages data may be older than Uniform Context package.`,...u);return}let[S,D,...ot]=l(...u);c(`${m}[${S}] ${D}
3
+ `,...ot.map(Qe))}}function Fe(e,t){return{logDrain:Ee(e,t)}}var Ve=(u=>(u.ListStart="nesi-list-start",u.ListEnd="nesi-list-end",u.ListItem="nesi-list-item-html",u.ListItemSettings="nesi-list-item-settings",u.TestStart="nesi-test-start",u.TestEnd="nesi-test-end",u.Unknown="unknown",u))(Ve||{}),Ke="nesitag";var _t=typeof top!="undefined";function He(){return{logDrain:e=>{!_t||top==null||top.postMessage({type:"uniform:context:log",message:e},window.location.origin)},init:e=>{let t=[],i=[],r=()=>{!_t||top==null||top.postMessage({type:"uniform:context:data",data:{scores:e.scores,data:e.storage.data,manifest:e.manifest.data,personalizations:t,tests:i}},window.location.origin)},n=o=>{!o.changed||(t.push(o),r())},s=o=>{!o.variantAssigned||(i.push(o),r())};if(_t){window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__=e;try{top==null||top.addEventListener("message",async o=>{if(!o.data)return;let u=o.data;await Be(u,e)})}catch(o){console.warn("Unable to initialize Uniform Context DevTools because it is in a cross-domain iframe.",o)}top==null||top.postMessage({type:"uniform:context:hello",uiVersion:2},window.location.origin),r()}return e.events.on("personalizationResult",n),e.events.on("testResult",s),e.events.on("scoresUpdated",r),e.storage.events.on("*",r),()=>{e.events.off("scoresUpdated",r),e.storage.events.off("*",r),e.events.off("personalizationResult",n),e.events.off("testResult",s)}}}}async function Be(e,t){e.type==="uniform-in:context:update"&&e.newData&&await t.update(e.newData),e.type==="uniform-in:context:commands"&&e.commands&&Array.isArray(e.commands)&&await t.storage.updateData(e.commands),e.type==="uniform-in:context:forget"&&await t.forget(!1)}function Je(e){return`${e.apiKey}|${e.projectId}${e.apiHost?`|${e.apiHost}`:""}`}function We(e){let[t,i,r]=e.split("|");if(!t.startsWith("uf"))throw new Error("Invalid API key");if(!/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/i.test(i))throw new Error("Invalid project ID");return{apiKey:t,projectId:i,apiHost:r||"https://uniform.app"}}0&&(module.exports={Context,CookieTransitionDataStore,EdgeNodeTagName,EdgeTransitionDataStore,GroupCriteriaEvaluator,ManifestInstance,SERVER_STATE_ID,ScriptType,TransitionDataStore,UNIFORM_DEFAULT_COOKIE_NAME,VisitorDataStore,computeAggregateDimensions,cookieEvaluator,createConsoleLogDrain,createDebugConsoleLogDrain,createLinearDecay,currentPageEvaluator,emptyVisitorData,enableConsoleLogDrain,enableContextDevTools,enableDebugConsoleLogDrain,evaluateVariantMatch,eventEvaluator,explainStringMatch,explainStringMatchCriteria,getEnrichmentVectorKey,isStringMatch,pageViewCountDimension,pageViewCountEvaluator,parseQuickConnect,personalizeVariations,queryStringEvaluator,quirkEvaluator,serializeQuickConnect,testVariations});
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";var ae=Object.defineProperty;var ue=(e,t,r)=>t in e?ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var y=(e,t,r)=>(ue(e,typeof t!="symbol"?t+"":t,r),r),dt=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var a=(e,t,r)=>(dt(e,t,"read from private field"),r?r.call(e):t.get(e)),d=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},m=(e,t,r,i)=>(dt(e,t,"write to private field"),i?i.call(e,r):t.set(e,r),r);var S=(e,t,r)=>(dt(e,t,"access private method"),r);function wt(e,t){let r={...e};for(let i in t){let n=Rt(e,i,t,new Set([i]));n!==0&&(r[i]=n)}return r}function Rt(e,t,r,i){var s;let n=0;for(let o of r[t].inputs){let u=(s=e[o.dim])!=null?s:0;if(!u&&r[o.dim]){if(i.has(o.dim))continue;let l=new Set(i);l.add(o.dim),u=Rt(e,o.dim,r,l)}if(u!==0)if(o.sign==="c"){n=0;break}else o.sign==="-"?n-=u:n+=u}return n}var Z="_";var Q,F,M=class{constructor(t,r,i){d(this,Q,void 0);d(this,F,void 0);y(this,"signal");this.signal=t,m(this,Q,r),m(this,F,i)}computeSignal(t,r){if(t.scores[this.signal.id]>=this.signal.cap&&this.signal.dur!=="t")return;let n=a(this,Q).evaluate(t,this.signal.crit,r,this.signal,a(this,F)),s=this.signal.dur==="s"||this.signal.dur==="t"?"modscoreS":"modscore";if(!!n.changed){if(n.result)r.push({type:s,data:{dimension:this.signal.id,delta:this.signal.str}});else if(this.signal.dur==="t"){let o=t.visitor.sessionScores[this.signal.id];o&&r.push({type:s,data:{dimension:this.signal.id,delta:-o}})}}}};Q=new WeakMap,F=new WeakMap;var b,K,R,L=class{constructor({manifest:t,evaluator:r=new G({}),onLogMessage:i=()=>{}}){y(this,"data");d(this,b,void 0);d(this,K,void 0);d(this,R,void 0);var n,s,o;m(this,b,(n=t.project)!=null?n:{}),this.data=t,m(this,K,Object.entries((o=(s=a(this,b).pz)==null?void 0:s.sig)!=null?o:[]).map(([u,c])=>new M({...c,id:u},r,i))),m(this,R,i)}rollForControlGroup(){var t,r;return Math.random()<((r=(t=a(this,b).pz)==null?void 0:t.control)!=null?r:0)}getTest(t){var r;return(r=a(this,b).test)==null?void 0:r[t]}computeSignals(t){let r=[];a(this,R).call(this,["debug",200,"GROUP"]);try{a(this,K).forEach(i=>{a(this,R).call(this,["debug",201,"GROUP",i.signal]);try{i.computeSignal(t,r)}finally{a(this,R).call(this,["debug",201,"ENDGROUP"])}})}finally{a(this,R).call(this,["debug",200,"ENDGROUP"])}return r}computeAggregateDimensions(t){var r,i;return wt(t,(i=(r=a(this,b).pz)==null?void 0:r.agg)!=null?i:{})}getDimensionByKey(t){var i,n,s,o;let r=t.indexOf(Z);return r<=0?(n=(i=a(this,b).pz)==null?void 0:i.sig)==null?void 0:n[t]:(o=(s=a(this,b).pz)==null?void 0:s.enr)==null?void 0:o[t.substring(0,r)]}};b=new WeakMap,K=new WeakMap,R=new WeakMap;import{dequal as le}from"dequal/lite";function V(e,t){var o,u,c,l,f,p;let r=(o=t==null?void 0:t.op)!=null?o:"=";if(t.op==="*")return e!==null&&typeof e!="undefined";if(t.op==="!*")return e===null||typeof e=="undefined";if(!("rhs"in t))throw new Error(`Match expression is required for match type ${r}`);let i=(u=t.cs)!=null?u:!1,n=(i?e!=null?e:"":Ot(e)).toString(),s=(i?t.rhs:Ot(t.rhs)).toString();switch(r){case"=":return n===s;case"!=":return n!==s;case"~":return(c=n.includes(s))!=null?c:!1;case"!~":return!((l=n.includes(s))==null||l);case"//":return new RegExp(t.rhs.toString(),i?"":"i").test((f=e==null?void 0:e.toString())!=null?f:"");case"!//":return!new RegExp(t.rhs.toString(),i?"":"i").test((p=e==null?void 0:e.toString())!=null?p:"");default:throw new Error(`Unknown match type ${r}.`)}}function O(e,t){return`'${("cs"in t?t.cs:!1)?e:e==null?void 0:e.toString().toUpperCase()}' ${ft(t)}`}function ft(e){return"rhs"in e?`${e.op} '${e.cs?e.rhs:e.rhs.toString().toUpperCase()}'`:`${e.op==="*"?"exists":"does not exist"}`}function Ot(e){var t,r;return(r=(t=e==null?void 0:e.toString())==null?void 0:t.toUpperCase())!=null?r:""}var $t=({update:e,criteria:t,onLogMessage:r})=>{var u,c;if(t.type!=="CK")return{result:!1,changed:!1};let i=!le(Ut(e.state.cookies),Ut((u=e.previousState)==null?void 0:u.cookies)),n=(c=e.state.cookies)==null?void 0:c[t.cookieName],o={result:V(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:O(n,t.match)}]),o};function Ut(e){if(!e)return;if(!e.ufvd)return e;let{ufvd:t,...r}=e;return r}function Nt(e,t){var i;if(typeof e=="undefined"||e===null)return!1;let r=Number(e);if(isNaN(r))return!1;switch((i=t==null?void 0:t.op)!=null?i:"="){case"=":return r===t.rhs;case"!=":return r!==t.rhs;case">":return r>t.rhs;case"<":return r<t.rhs;default:return console.warn(`Unknown match type ${t.op} is false.`),!1}}function At(e,t){return`${e} ${ce(t)}`}function ce(e){return`${e.op} ${e.rhs}`}function tt(e,t){return`${e}${Z}${t}`}var pt=tt("$pvc","v"),mt=({update:e,criteria:t,commands:r,onLogMessage:i})=>{var l,f;if(t.type!=="PVC")return{result:!1,changed:!1};let n=Boolean(e.state.url&&(!e.previousState||((l=e.state.url)==null?void 0:l.toString())!==((f=e.previousState.url)==null?void 0:f.toString()))),o=(e.visitor.sessionScores[pt]||0)+1,u={result:!1,changed:n},c=r.some(p=>p.type==="modscoreS"&&p.data.dimension===pt);return n&&!c&&r.push({type:"modscoreS",data:{dimension:pt,delta:1}}),Nt(o,t.match)&&(u.result=!0),i==null||i(["debug",203,{criteria:t,result:u,explanation:At(o,t.match)}]),u};mt.alwaysExecute=!0;var Gt=({update:e,criteria:t,onLogMessage:r})=>{var u,c,l,f,p;if(t.type!=="QS")return{result:!1,changed:!1};let i=!e.previousState||((c=(u=e.state.url)==null?void 0:u.searchParams)==null?void 0:c.toString())!==((f=(l=e.previousState.url)==null?void 0:l.searchParams)==null?void 0:f.toString()),n=(p=e.state.url)==null?void 0:p.searchParams.get(t.queryName),o={result:V(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:O(n,t.match)}]),o};var zt=({update:e,criteria:t,signal:r,onLogMessage:i})=>{var f;if(t.type!=="QK")return{result:!1,changed:!1};if(typeof document=="undefined"&&r.dur==="t"&&e.scores[r.id]>0)return{result:!0,changed:!1};let n=e.visitor.quirks[t.key],s=(f=e.state.quirks)==null?void 0:f[t.key],o=s!=null?s:n,u=Boolean(s&&n!==s),l={result:V(o,t.match),changed:u};return i==null||i(["debug",203,{criteria:t,result:l,explanation:O(o,t.match)}]),l};var It=({update:e,criteria:t,onLogMessage:r})=>{var s,o,u;if(t.type!=="EVT")return{result:!1,changed:!1};let i=(o=(s=e.state.events)==null?void 0:s.some(c=>V(c.event,t.event)))!=null?o:!1,n={result:i,changed:i};return r==null||r(["debug",203,{criteria:t,result:n,explanation:`'${(u=e.state.events)==null?void 0:u.join("', '")}' ${ft(t.event)}`}]),n};var qt=({update:e,criteria:t,onLogMessage:r})=>{var u,c,l;if(t.type!=="PV")return{result:!1,changed:!1};let i=(u=e.state.url)==null?void 0:u.pathname,n=!e.previousState||(i==null?void 0:i.toString())!==((l=(c=e.previousState.url)==null?void 0:c.pathname)==null?void 0:l.toString()),o={result:V(i,t.path),changed:n};return r==null||r(["debug",203,{criteria:t,result:o,explanation:O(i,t.path)}]),o};var H,G=class{constructor(t){d(this,H,void 0);m(this,H,t)}evaluate(t,r,i,n,s){let o=r.clauses.length>1;o&&(s==null||s(["debug",202,"GROUP",r]));try{let u=!(r.op==="&"||!r.op),c=null,l=!1;for(let p of r.clauses){let v;if(p.type==="G")v=this.evaluate(t,p,i,n,s);else{let D=a(this,H)[p.type];if(c&&!D.alwaysExecute)continue;if(!D)throw new Error(`${p.type} signal criteria not registered`);v=D({update:t,criteria:p,commands:i,signal:n,onLogMessage:s})}v.changed&&(l=!0),!c&&v.result===u&&(c={result:u,changed:l})}let f=c!=null?c:{result:!u,changed:l};return o&&(s==null||s(["debug",204,f])),f}finally{o&&(s==null||s(["debug",202,"ENDGROUP"]))}}};H=new WeakMap;var et=()=>({quirks:{},scores:{},sessionScores:{},tests:{},consent:!1,controlGroup:!1});import de from"mitt";import{dequal as fe}from"dequal/lite";var pe="__UNIFORM_DATA__",U,z,I=class{constructor({initialData:t}){d(this,U,void 0);d(this,z,de());y(this,"events",{on:a(this,z).on,off:a(this,z).off});t&&m(this,U,t)}get data(){return a(this,U)}updateData(t,r){return m(this,U,r),this.handleUpdateData(t,r)}async delete(t){m(this,U,void 0),await this.handleDelete(t)}signalAsyncDataUpdate(t){fe(this.data,t)||(m(this,U,t),a(this,z).emit("dataUpdatedAsync",t))}getClientTransitionState(){if(typeof document=="undefined")return;let t=document.getElementById(pe);return t!=null&&t.textContent?JSON.parse(t.textContent):void 0}};U=new WeakMap,z=new WeakMap;var ht="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_t=ht.split(""),jt=new Array(123);for(let e=0;e<ht.length;e++)jt[ht.charCodeAt(e)]=e;var gt=e=>{if(e<0)return`-${gt(-e)}`;let t=e>>>0,r=e/4294967296>>>0,i="";for(;r>0;)i=_t[63&t]+i,t>>>=6,t|=(63&r)<<26,r>>>=6;let n="";do n=_t[63&t]+n,t>>>=6;while(t>0);return n+i},Qt=e=>{let t=0,r=e.charAt(0)==="-"?1:0;for(let i=r;i<e.length;i++)t=t*64+jt[e.charCodeAt(i)];return r?-t:t};import vt from"js-cookie";var St=typeof document=="undefined",me="ufvd",$,B,Ft=class extends I{constructor({serverCookieValue:r,cookieName:i=me,cookieAttributes:n={sameSite:"lax"}}){super({initialData:St?he(r):void 0});d(this,$,void 0);d(this,B,void 0);m(this,$,i),m(this,B,n)}handleDelete(){return St||vt.remove(a(this,$)),Promise.resolve()}async handleUpdateData(r,i){St||(i.consent?vt.set(a(this,$),ge(i),a(this,B)):vt.remove(a(this,$)))}};$=new WeakMap,B=new WeakMap;var Bt="~",Jt="!",Wt="-";function he(e){if(!e)return;let t=e.split(Bt);if(t.length>3)return;let[r,i,n]=t;return{consent:!0,sessionScores:Kt(yt(i)),scores:Kt(yt(n)),tests:yt(r)}}function yt(e){return e.split(Jt).map(r=>r.split(Wt)).reduce((r,i)=>(i.length!==2||(r[i[0]]=i[1]),r),{})}function Kt(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=Qt(i),t),{})}function ge(e){return[Dt(e.tests),Dt(Ht(e.sessionScores)),Dt(Ht(e.scores))].join(Bt)}function Ht(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=gt(i),t),{})}function Dt(e){return Object.entries(e).map(t=>t.join(Wt)).join(Jt)}var rt,Xt,Yt=class extends I{constructor({serverCookieValue:r,visitorIdCookieName:i="ufvi",...n}){super(n);d(this,rt);n.initialData||S(this,rt,Xt).call(this).catch(s=>{console.error(s)})}handleDelete(r){throw new Error("Method not implemented.")}async handleUpdateData(r){let i=await new Promise(n=>{setTimeout(()=>{n(void 0)},2e3)});i&&this.signalAsyncDataUpdate(i)}};rt=new WeakSet,Xt=async function(){let r=await new Promise(i=>{setTimeout(()=>{i(void 0)},2e3)});r&&this.signalAsyncDataUpdate(r)};function kr(e){let{gracePeriod:t=864e5,decayRate:r=1/30,decayCap:i=.95}=e!=null?e:{};return function({now:s,lastUpd:o,scores:u,sessionScores:c,onLogMessage:l}){if(typeof o!="number")return!1;let p=s-o-t;if(p<=0)return!1;let v=p/864e5,D=1-Math.min(i,v*r);return D<=0?!1:(Zt(u,D),Zt(c,D),l==null||l(["info",140,`linear decay factor ${D.toPrecision(6)}`]),!0)}}function Zt(e,t){for(let r in e)r.startsWith("$")||(e[r]*=t)}import ye from"mitt";import{dequal as nt}from"dequal/lite";var it=class{constructor(){y(this,"inMemoryFallback",{});y(this,"hasLocalStorageObject",typeof localStorage!="undefined")}get(t){let r=this.inMemoryFallback[t];if(!this.hasLocalStorageObject||r)return r;try{let i=localStorage.getItem(t);return i?JSON.parse(i):void 0}catch(i){return r}}set(t,r,i){if(this.inMemoryFallback[t]=r,!(!this.hasLocalStorageObject||!i))try{localStorage.setItem(t,JSON.stringify(r))}catch(n){console.warn(n)}}delete(t,r){r||delete this.inMemoryFallback[t];try{localStorage.removeItem(t)}catch(i){}}};import ve from"rfdc";var Se=ve();function Mt(e,t,r){let i=t?Se(t):et();return e.forEach(n=>{var s,o;switch(n.type){case"consent":i.consent=n.data;break;case"setquirk":i.quirks[n.data.key]=n.data.value;break;case"settest":i.tests[n.data.test]=n.data.variant;break;case"modscore":if(r)break;let u=Number(n.data.delta);if(isNaN(u))throw new Error("Non-number delta received");let c=(s=i.scores[n.data.dimension])!=null?s:0;i.scores[n.data.dimension]=c+u;break;case"modscoreS":if(r)break;let l=Number(n.data.delta);if(isNaN(l))throw new Error("Non-number delta received");let f=(o=i.sessionScores[n.data.dimension])!=null?o:0;i.sessionScores[n.data.dimension]=f+l;break;case"identify":break;case"setcontrol":i.controlGroup=n.data;break;default:throw new Error("Unknown command")}}),i}var ot="ufvisitor",E,A,q,g,x,k,P,N,at,Lt,ut,te,J,Ct,W,xt,st=class{constructor(t){d(this,x);d(this,P);d(this,at);d(this,ut);d(this,J);d(this,W);d(this,E,ye());d(this,A,new it);d(this,q,void 0);d(this,g,void 0);y(this,"events",{on:a(this,E).on,off:a(this,E).off});if(m(this,g,t),a(this,x,k)||S(this,P,N).call(this,S(this,W,xt).call(this),!0),t.transitionStore){let r=t.transitionStore.getClientTransitionState();r&&t.onServerTransitionReceived&&t.onServerTransitionReceived(r),t.transitionStore.events.on("dataUpdatedAsync",n=>{S(this,P,N).call(this,{...a(this,x,k).visitorData,...n})});let i=t.transitionStore.data;i&&S(this,P,N).call(this,{...a(this,x,k).visitorData,...i},!0)}}get data(){var r,i;let t=a(this,x,k);if(S(this,ut,te).call(this,t)){let{sessionScores:n,...s}=t.visitorData;return S(this,P,N).call(this,{...s,sessionScores:{}}),(i=(r=a(this,g)).onLogMessage)==null||i.call(r,["info",120]),a(this,x,k).visitorData}return t.visitorData}get decayEnabled(){return!!a(this,g).decay}async updateData(t){var i,n,s,o;if(t.length===0)return;(n=(i=a(this,g)).onLogMessage)==null||n.call(i,["debug",101,t]);let r=Mt(t,this.data,(s=a(this,x,k))==null?void 0:s.visitorData.controlGroup);t.some(u=>u.type==="consent"&&!u.data)&&a(this,A).delete(ot,!0),S(this,P,N).call(this,r),await((o=a(this,g).transitionStore)==null?void 0:o.updateData(t,a(this,x,k).visitorData))}async delete(t){var r,i,n,s,o;(i=(r=a(this,g)).onLogMessage)==null||i.call(r,["info",103,"GROUP",t]);try{a(this,A).delete(ot,!1),await((n=a(this,g).transitionStore)==null?void 0:n.delete(t)),S(this,P,N).call(this,S(this,W,xt).call(this))}finally{(o=(s=a(this,g)).onLogMessage)==null||o.call(s,["info",103,"ENDGROUP"])}}};E=new WeakMap,A=new WeakMap,q=new WeakMap,g=new WeakMap,x=new WeakSet,k=function(){return a(this,A).get(ot)},P=new WeakSet,N=function(t,r=!1){var f,p,v,D,X,Et,Tt,kt,Pt;let i=a(this,x,k),n=Date.now();t.controlGroup?(t.scores={},t.sessionScores={}):(S(this,J,Ct).call(this,t.scores),S(this,J,Ct).call(this,t.sessionScores),(p=(f=a(this,g)).decay)==null||p.call(f,{now:n,lastUpd:i==null?void 0:i.updated,scores:t.scores,sessionScores:t.sessionScores,onLogMessage:a(this,g).onLogMessage}));let s=!nt(i==null?void 0:i.visitorData.scores,t.scores),o=!nt(i==null?void 0:i.visitorData.sessionScores,t.sessionScores),u=!nt(i==null?void 0:i.visitorData.quirks,t.quirks),c=!nt(i==null?void 0:i.visitorData.tests,t.tests),l={updated:n,visitorData:t};S(this,at,Lt).call(this),a(this,A).set(ot,l,!!t.consent),(D=(v=a(this,g)).onLogMessage)==null||D.call(v,["debug",102,t]),r||((s||o)&&a(this,E).emit("scoresUpdated",t),u&&a(this,E).emit("quirksUpdated",t),c&&a(this,E).emit("testsUpdated",t),((X=i==null?void 0:i.visitorData)==null?void 0:X.consent)!==t.consent&&a(this,E).emit("consentUpdated",t),((Et=i==null?void 0:i.visitorData)==null?void 0:Et.controlGroup)!==t.controlGroup&&(a(this,E).emit("controlGroupUpdated",t),(Pt=(kt=a(this,g)).onLogMessage)==null||Pt.call(kt,["debug",104,(Tt=t.controlGroup)!=null?Tt:!1])))},at=new WeakSet,Lt=function(){typeof document=="undefined"||!a(this,g).visitLifespan||(a(this,q)&&window.clearTimeout(a(this,q)),m(this,q,window.setTimeout(()=>{this.data},a(this,g).visitLifespan+50)))},ut=new WeakSet,te=function(t){let r=a(this,g).visitLifespan;return r?t.updated+r<Date.now():!1},J=new WeakSet,Ct=function(t){var r,i;if(!!a(this,g).manifest)for(let n in t){let s=t[n],o=a(this,g).manifest.getDimensionByKey(n);!o||s>o.cap&&((i=(r=a(this,g)).onLogMessage)==null||i.call(r,["debug",110,{dim:n,score:s,cap:o.cap}]),t[n]=o.cap)}},W=new WeakSet,xt=function(){var t,r,i;return{...et(),consent:(t=a(this,g).defaultConsent)!=null?t:!1,controlGroup:(i=(r=a(this,g).manifest)==null?void 0:r.rollForControlGroup())!=null?i:!1}};import Ce from"mitt";function ee({name:e,context:t,variations:r,take:i=1,onLogMessage:n}){var s,o,u;n==null||n(["info",300,"GROUP",{name:e,take:i}]);try{let c=(s=t.storage.data.controlGroup)!=null?s:!1,l=[],f=!1,p=t.scores;for(let v of r){if(l.length===i)break;if(!((o=v.pz)!=null&&o.crit.length)){n==null||n(["info",301,"GROUP",{id:v.id,op:(u=v.pz)==null?void 0:u.op}]),n==null||n(["info",302,{matched:!0,description:"default variation"}]),n==null||n(["info",303,!0]),n==null||n(["info",301,"ENDGROUP"]),l.push(v);continue}c||re(v.id,v.pz,p,n)&&(f=!0,l.push(v))}return{personalized:f,variations:l}}finally{n==null||n(["info",300,"ENDGROUP"])}}function re(e,t,r,i){i==null||i(["info",301,"GROUP",{id:e,op:t==null?void 0:t.op}]);let n;try{t!=null&&t.crit?!t.op||t.op==="&"?n=t.crit.every(s=>ie(s,r,i)):n=t.crit.some(s=>ie(s,r,i)):(i==null||i(["info",302,{matched:!0,description:"default variation"}]),n=!0),i==null||i(["info",303,n])}finally{i==null||i(["info",301,"ENDGROUP"])}return n}function ie(e,t,r){var u,c;let{op:i,l:n}=e,s=(u=t[n])!=null?u:0;if(i==="+"){let l=Math.max(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:l,description:`${e.l} has the highest score`}]),l}else if(i==="-"){let l=Math.min(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:l,description:`${e.l} has the lowest non-zero score`}]),l}let o=parseInt(e.rDim?t[e.rDim]:e.r,10);if(isNaN(o))return r==null||r(["info",302,{matched:!1,description:`${(c=e.rDim)!=null?c:e.r} has no score value`}]),!1;if(i===">"){let l=s>o;return _(r,l,e,s,o),l}else if(i===">="){let l=s>=o;return _(r,l,e,s,o),l}else if(i==="<"){let l=s<o;return _(r,l,e,s,o),l}else if(i==="<="){let l=s<=o;return _(r,l,e,s,o),l}else if(i==="="){let l=s===o;return _(r,l,e,s,o),l}else if(i==="!="){let l=s!==o;return _(r,l,e,s,o),l}else throw new Error(`Unknown op: ${i}`)}function _(e,t,r,i,n){e==null||e(["info",302,{matched:t,description:`${r.l}[${i}] ${r.op} ${r.rDim?`${r.rDim}[${n}]`:r.r}`}])}var De=e=>{let{values:t,total:r,missingDistribution:i}=e.reduce((n,s)=>(s.testDistribution?n.total+=s.testDistribution:++n.missingDistribution,n.values.push(s.testDistribution),n),{values:[],total:0,missingDistribution:0});if(r>100)throw new Error(`Total distribution ${r} is over the maximum 100.`);if(r<100){let s=(100-r)/i;t.forEach((o,u)=>{typeof o=="undefined"&&(t[u]=s)})}return t},bt=({name:e,context:t,variations:r,onLogMessage:i})=>{i==null||i(["info",400,"GROUP",e]);try{let n,s=t.getTestVariantId(e);if(s===null)return i==null||i(["error",401,e]),{result:void 0,variantAssigned:!1};if(s&&(n=r.find(o=>o.id===s),n||i==null||i(["warn",402,{missingVariant:s,variants:r.map(o=>o.id)}])),!n){let o=De(r),u=Math.floor(Math.random()*100),c=0;n=r.find((l,f)=>{let p=o[f];if(u>c&&u<=c+p)return l;c+=p}),n&&(i==null||i(["info",403,n.id]),t.setTestVariantId(e,n.id))}return n&&(i==null||i(["info",404,n.id])),{result:n,variantAssigned:!s}}finally{i==null||i(["info",400,"ENDGROUP"])}};import{dequal as ne}from"dequal/lite";var C,w,T,Y,h,j,lt,oe=class{constructor(t){d(this,j);y(this,"manifest");d(this,C,void 0);d(this,w,{});d(this,T,void 0);d(this,Y,{});d(this,h,Ce());y(this,"events",{on:a(this,h).on,off:a(this,h).off});y(this,"storage");var n,s;let{manifest:r,...i}=t;m(this,T,{}),(n=t.plugins)==null||n.forEach(o=>{!o.logDrain||a(this,h).on("log",o.logDrain)}),a(this,h).emit("log",["info",1,"GROUP"]);try{this.manifest=new L({onLogMessage:o=>a(this,h).emit("log",o),manifest:r,evaluator:new G({CK:$t,QS:Gt,QK:zt,PVC:mt,EVT:It,PV:qt})}),this.storage=new st({...i,manifest:this.manifest,onServerTransitionReceived:o=>{m(this,C,o),o.ssv&&(m(this,w,o.ssv),a(this,h).emit("log",["debug",130,o.ssv]))},onLogMessage:o=>a(this,h).emit("log",o)}),this.storage.events.on("scoresUpdated",S(this,j,lt).bind(this)),a(this,C)||S(this,j,lt).call(this,this.storage.data),this.storage.events.on("quirksUpdated",o=>{let u=this.manifest.computeSignals({scores:a(this,w),state:a(this,T),previousState:a(this,T),visitor:this.storage.data});this.storage.updateData(u),a(this,h).emit("quirksUpdated",o.quirks),a(this,h).emit("log",["info",4,o.quirks])}),(s=t.plugins)==null||s.forEach(o=>{!o.init||o.init(this)})}finally{a(this,h).emit("log",["info",1,"ENDGROUP"])}}get scores(){return a(this,w)}get quirks(){var t,r;return(r=(t=a(this,C))==null?void 0:t.quirks)!=null?r:this.storage.data.quirks}async update(t){var i,n,s;let r=[];(i=a(this,C))!=null&&i.quirks&&(t={...t,quirks:{...a(this,C).quirks,...t.quirks||{}}}),(n=a(this,C))!=null&&n.tests&&r.push(...Object.entries(a(this,C).tests).map(([o,u])=>({type:"settest",data:{test:o,variant:u}})));try{a(this,h).emit("log",["info",2,"GROUP",{...t,url:(s=t.url)==null?void 0:s.toString()}]),t.quirks&&r.push(...Object.entries(t.quirks).map(([o,u])=>({type:"setquirk",data:{key:o,value:u}}))),t.enrichments&&t.enrichments.forEach(o=>{let u=tt(o.cat,o.key);this.manifest.getDimensionByKey(u)?r.push({type:"modscore",data:{dimension:u,delta:o.str}}):a(this,h).emit("log",["warn",5,o])}),r.push(...this.manifest.computeSignals({state:t,previousState:a(this,T),visitor:this.storage.data,scores:a(this,w)})),m(this,T,{...a(this,T),...t}),await this.storage.updateData(r),a(this,C)&&(S(this,j,lt).call(this,this.storage.data),m(this,C,void 0),a(this,h).emit("log",["debug",131]))}finally{a(this,h).emit("log",["info",2,"ENDGROUP"])}}getTestVariantId(t){var i;let r=this.manifest.getTest(t);return r?(i=r.wv)!=null?i:this.storage.data.tests[t]:(a(this,h).emit("log",["warn",401,t]),null)}setTestVariantId(t,r){this.storage.updateData([{type:"settest",data:{test:t,variant:r}}])}log(...t){a(this,h).emit("log",t)}test(t){var i,n;let r=bt({...t,context:this,onLogMessage:s=>a(this,h).emit("log",s)});return a(this,h).emit("testResult",{name:t.name,variantId:(n=(i=r.result)==null?void 0:i.id)!=null?n:void 0,variantAssigned:r.variantAssigned}),r}personalize(t){let r=ee({...t,context:this,onLogMessage:s=>a(this,h).emit("log",s)}),i=a(this,Y)[t.name],n={name:t.name,variantIds:r.variations.map(s=>{var o;return(o=s.id)!=null?o:"Unknown"}),control:this.storage.data.controlGroup,changed:!0};return i&&ne(n.variantIds,i)&&(n.changed=!1),a(this,h).emit("personalizationResult",n),a(this,Y)[t.name]=n.variantIds,r}async forget(t){m(this,T,{}),await this.storage.delete(t)}};C=new WeakMap,w=new WeakMap,T=new WeakMap,Y=new WeakMap,h=new WeakMap,j=new WeakSet,lt=function(t){var n;let r={...t.scores};for(let s in t.sessionScores)r[s]=((n=r[s])!=null?n:0)+t.sessionScores[s];r=this.manifest.computeAggregateDimensions(r),!ne(r,a(this,w))&&(m(this,w,r),a(this,h).emit("scoresUpdated",r),a(this,h).emit("log",["info",3,r]))};import xe from"rfdc";function ct(e,t){if(e==="none")return!1;switch(t){case"debug":return e==="debug";case"info":return e==="info"||e==="debug";case"warn":return e==="warn"||e==="info"||e==="debug";case"error":return e==="debug"||"info";default:return!1}}var be=xe();function Ve(e){return([t,...r])=>{if(!ct(e,t))return;let[i,...n]=r;console[t](`\u{1F94B} [${t}] Uniform event ID ${i}
2
- `,...n.map(be))}}function fi(e){return{logDrain:Ve(e)}}var se={1:()=>["context","initializing Uniform Context"],2:e=>["context","received update()",e],3:e=>["context","new score vector",e],4:e=>["context","updated quirks",e],5:e=>["context","ignored enrichment update for unknown enrichment category",e.cat],101:e=>["storage","received update commands",e],102:e=>["storage","data was updated",e],103:e=>["storage",`deleting visitor data ${e?"from all devices":"from this device"}`],104:e=>["context",e?"Visitor assigned to personalization control group":"Visitor assigned to personalization experiment group"],110:({dim:e,cap:t,score:r})=>["storage",`${e} score ${r} exceeded cap ${t}. Rounded down.`],120:()=>["storage","visitor data expired and was cleared"],130:e=>["storage","server to client transition score data was loaded; it will persist until the next update event occurs",e],131:()=>["storage","server to client transition data was discarded"],140:e=>["storage",`score decay was applied: ${e}`],200:()=>["signals","evaluating signals"],201:e=>["signals",`evaluating signal ${e.id} (${e.dur})`],202:e=>["signals",e.op==="|"?"OR":"AND"],203:({criteria:e,result:t,explanation:r})=>["signals",`${e.type}: ${r} is ${t.result} [${t.changed?"CHANGED":"unchanged"}]`],204:e=>["signals",`group result: ${e.result} [${e.changed?"CHANGED":"unchanged"}]`],300:e=>["personalization",`executing personalization '${e.name}'`],301:({id:e,op:t})=>["personalization",`testing variation ${e} (${t==="|"?"OR":"AND"})`],302:({matched:e,description:t})=>["personalization",`${t} is ${e}`],303:e=>["personalization",e?"selected variation":"did not select variation"],400:e=>["testing",`executing A/B test '${e}'`],401:e=>["testing",`${e} is not registered in the manifest; it will not be run.`],402:({missingVariant:e,variants:t})=>["testing",`test variation '${e}' previously assigned to the visitor for this test no longer exists as a variant. It will be removed. This may indicate changing test variations after publishing a test, which will make results invalid. Known variants: ${t.join(", ")}`],403:e=>["testing",`assigned new test variant '${e}'`],404:e=>["testing",`displaying variation '${e}'`],700:()=>["gtag","gtag is not defined, skipping analytics event emission. Ensure you have added the gtag script to your page."],701:()=>["gtag","enabled gtag event signal redirection"]};import Ee from"rfdc";var Te=Ee();function ke(e,t){let r=typeof document=="undefined",{enableOnServer:i=!1}=t!=null?t:{};return([n,...s])=>{if(!ct(e,n)||r&&!i)return;let[o,...u]=s,c=console[n];if(u[0]==="GROUP"&&(u.shift(),c=console.groupCollapsed),u[0]==="ENDGROUP"){console.groupEnd();return}let l=se[o],f="";switch(n){case"debug":f="\u{1F41E}";break;case"info":f="\u{1F4AC}";break;case"warn":f="\u26A0\uFE0F";break;case"error":f="\u{1F4A5}";break}let p=f;if(!l){c(`${p} unknown event ID ${o}. Log messages data may be older than Uniform Context package.`,...u);return}let[v,D,...X]=l(...u);c(`${p}[${v}] ${D}
3
- `,...X.map(Te))}}function Si(e,t){return{logDrain:ke(e,t)}}var Pe=(u=>(u.ListStart="nesi-list-start",u.ListEnd="nesi-list-end",u.ListItem="nesi-list-item-html",u.ListItemSettings="nesi-list-item-settings",u.TestStart="nesi-test-start",u.TestEnd="nesi-test-end",u.Unknown="unknown",u))(Pe||{}),Di="nesitag";var Vt=typeof top!="undefined";function xi(){return{logDrain:e=>{!Vt||top==null||top.postMessage({type:"uniform:context:log",message:e},window.location.origin)},init:e=>{let t=[],r=[],i=()=>{!Vt||top==null||top.postMessage({type:"uniform:context:data",data:{scores:e.scores,data:e.storage.data,manifest:e.manifest.data,personalizations:t,tests:r}},window.location.origin)},n=o=>{!o.changed||(t.push(o),i())},s=o=>{!o.variantAssigned||(r.push(o),i())};if(Vt){window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__=e;try{top==null||top.addEventListener("message",async o=>{if(!o.data)return;let u=o.data;await we(u,e)})}catch(o){console.warn("Unable to initialize Uniform Context DevTools because it is in a cross-domain iframe.",o)}top==null||top.postMessage({type:"uniform:context:hello",uiVersion:2},window.location.origin),i()}return e.events.on("personalizationResult",n),e.events.on("testResult",s),e.events.on("scoresUpdated",i),e.storage.events.on("*",i),()=>{e.events.off("scoresUpdated",i),e.storage.events.off("*",i),e.events.off("personalizationResult",n),e.events.off("testResult",s)}}}}async function we(e,t){e.type==="uniform-in:context:update"&&e.newData&&await t.update(e.newData),e.type==="uniform-in:context:commands"&&e.commands&&Array.isArray(e.commands)&&await t.storage.updateData(e.commands),e.type==="uniform-in:context:forget"&&await t.forget(!1)}function Vi(e){return`${e.apiKey}|${e.projectId}${e.apiHost?`|${e.apiHost}`:""}`}function Ei(e){let[t,r,i]=e.split("|");if(!t.startsWith("uf"))throw new Error("Invalid API key");if(!/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/i.test(r))throw new Error("Invalid project ID");return{apiKey:t,projectId:r,apiHost:i||"https://uniform.app"}}export{oe as Context,Ft as CookieTransitionDataStore,Di as EdgeNodeTagName,Yt as EdgeTransitionDataStore,G as GroupCriteriaEvaluator,L as ManifestInstance,pe as SERVER_STATE_ID,Pe as ScriptType,I as TransitionDataStore,me as UNIFORM_DEFAULT_COOKIE_NAME,st as VisitorDataStore,wt as computeAggregateDimensions,$t as cookieEvaluator,Ve as createConsoleLogDrain,ke as createDebugConsoleLogDrain,kr as createLinearDecay,qt as currentPageEvaluator,et as emptyVisitorData,fi as enableConsoleLogDrain,xi as enableContextDevTools,Si as enableDebugConsoleLogDrain,re as evaluateVariantMatch,It as eventEvaluator,O as explainStringMatch,ft as explainStringMatchCriteria,tt as getEnrichmentVectorKey,V as isStringMatch,pt as pageViewCountDimension,mt as pageViewCountEvaluator,Ei as parseQuickConnect,ee as personalizeVariations,Gt as queryStringEvaluator,zt as quirkEvaluator,Vi as serializeQuickConnect,bt as testVariations};
1
+ var ce=Object.defineProperty;var de=(e,t,i)=>t in e?ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var y=(e,t,i)=>(de(e,typeof t!="symbol"?t+"":t,i),i),pt=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};var a=(e,t,i)=>(pt(e,t,"read from private field"),i?i.call(e):t.get(e)),d=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},p=(e,t,i,r)=>(pt(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);var v=(e,t,i)=>(pt(e,t,"access private method"),i);function Ut(e,t){let i={...e};for(let r in t){let n=$t(e,r,t,new Set([r]));n!==0&&(i[r]=n)}return i}function $t(e,t,i,r){var s;let n=0;for(let o of i[t].inputs){let u=(s=e[o.dim])!=null?s:0;if(!u&&i[o.dim]){if(r.has(o.dim))continue;let l=new Set(r);l.add(o.dim),u=$t(e,o.dim,i,l)}if(u!==0)if(o.sign==="c"){n=0;break}else o.sign==="-"?n-=u:n+=u}return n}var L="_";var Q,F,tt=class{constructor(t,i,r){d(this,Q,void 0);d(this,F,void 0);y(this,"signal");this.signal=t,p(this,Q,i),p(this,F,r)}computeSignal(t,i){if(t.scores[this.signal.id]>=this.signal.cap&&this.signal.dur!=="t")return;let n=a(this,Q).evaluate(t,this.signal.crit,i,this.signal,a(this,F)),s=this.signal.dur==="s"||this.signal.dur==="t"?"modscoreS":"modscore";if(!!n.changed){if(n.result)i.push({type:s,data:{dimension:this.signal.id,delta:this.signal.str}});else if(this.signal.dur==="t"){let o=t.visitor.sessionScores[this.signal.id];o&&i.push({type:s,data:{dimension:this.signal.id,delta:-o}})}}}};Q=new WeakMap,F=new WeakMap;var b,K,R,et=class{constructor({manifest:t,evaluator:i=new G({}),onLogMessage:r=()=>{}}){y(this,"data");d(this,b,void 0);d(this,K,void 0);d(this,R,void 0);var n,s,o;p(this,b,(n=t.project)!=null?n:{}),this.data=t,p(this,K,Object.entries((o=(s=a(this,b).pz)==null?void 0:s.sig)!=null?o:[]).map(([u,c])=>new tt({...c,id:u},i,r))),p(this,R,r)}rollForControlGroup(){var t,i;return Math.random()<((i=(t=a(this,b).pz)==null?void 0:t.control)!=null?i:0)}getTest(t){var i;return(i=a(this,b).test)==null?void 0:i[t]}computeSignals(t){let i=[];a(this,R).call(this,["debug",200,"GROUP"]);try{a(this,K).forEach(r=>{a(this,R).call(this,["debug",201,"GROUP",r.signal]);try{r.computeSignal(t,i)}finally{a(this,R).call(this,["debug",201,"ENDGROUP"])}})}finally{a(this,R).call(this,["debug",200,"ENDGROUP"])}return i}computeAggregateDimensions(t){var i,r;return Ut(t,(r=(i=a(this,b).pz)==null?void 0:i.agg)!=null?r:{})}getDimensionByKey(t){var r,n,s,o;let i=t.indexOf(L);return i<=0?(n=(r=a(this,b).pz)==null?void 0:r.sig)==null?void 0:n[t]:(o=(s=a(this,b).pz)==null?void 0:s.enr)==null?void 0:o[t.substring(0,i)]}};b=new WeakMap,K=new WeakMap,R=new WeakMap;import{dequal as fe}from"dequal/lite";function E(e,t){var o,u,c,l,f,m;let i=(o=t==null?void 0:t.op)!=null?o:"=";if(t.op==="*")return e!==null&&typeof e!="undefined";if(t.op==="!*")return e===null||typeof e=="undefined";if(!("rhs"in t))throw new Error(`Match expression is required for match type ${i}`);let r=(u=t.cs)!=null?u:!1,n=(r?e!=null?e:"":At(e)).toString(),s=(r?t.rhs:At(t.rhs)).toString();switch(i){case"=":return n===s;case"!=":return n!==s;case"~":return(c=n.includes(s))!=null?c:!1;case"!~":return!((l=n.includes(s))==null||l);case"//":return new RegExp(t.rhs.toString(),r?"":"i").test((f=e==null?void 0:e.toString())!=null?f:"");case"!//":return!new RegExp(t.rhs.toString(),r?"":"i").test((m=e==null?void 0:e.toString())!=null?m:"");default:throw new Error(`Unknown match type ${i}.`)}}function O(e,t){return`'${("cs"in t?t.cs:!1)?e:e==null?void 0:e.toString().toUpperCase()}' ${mt(t)}`}function mt(e){return"rhs"in e?`${e.op} '${e.cs?e.rhs:e.rhs.toString().toUpperCase()}'`:`${e.op==="*"?"exists":"does not exist"}`}function At(e){var t,i;return(i=(t=e==null?void 0:e.toString())==null?void 0:t.toUpperCase())!=null?i:""}var Gt=({update:e,criteria:t,onLogMessage:i})=>{var u,c;if(t.type!=="CK")return{result:!1,changed:!1};let r=!fe(Nt(e.state.cookies),Nt((u=e.previousState)==null?void 0:u.cookies)),n=(c=e.state.cookies)==null?void 0:c[t.cookieName],o={result:E(n,t.match),changed:r};return i==null||i(["debug",203,{criteria:t,result:o,explanation:O(n,t.match)}]),o};function Nt(e){if(!e)return;if(!e.ufvd)return e;let{ufvd:t,...i}=e;return i}function zt(e,t){var r;if(typeof e=="undefined"||e===null)return!1;let i=Number(e);if(isNaN(i))return!1;switch((r=t==null?void 0:t.op)!=null?r:"="){case"=":return i===t.rhs;case"!=":return i!==t.rhs;case">":return i>t.rhs;case"<":return i<t.rhs;default:return console.warn(`Unknown match type ${t.op} is false.`),!1}}function It(e,t){return`${e} ${pe(t)}`}function pe(e){return`${e.op} ${e.rhs}`}function it(e,t){return`${e}${L}${t}`}var ht=it("$pvc","v"),gt=({update:e,criteria:t,commands:i,onLogMessage:r})=>{var l,f;if(t.type!=="PVC")return{result:!1,changed:!1};let n=Boolean(e.state.url&&(!e.previousState||((l=e.state.url)==null?void 0:l.toString())!==((f=e.previousState.url)==null?void 0:f.toString()))),o=(e.visitor.sessionScores[ht]||0)+1,u={result:!1,changed:n},c=i.some(m=>m.type==="modscoreS"&&m.data.dimension===ht);return n&&!c&&i.push({type:"modscoreS",data:{dimension:ht,delta:1}}),zt(o,t.match)&&(u.result=!0),r==null||r(["debug",203,{criteria:t,result:u,explanation:It(o,t.match)}]),u};gt.alwaysExecute=!0;var qt=({update:e,criteria:t,onLogMessage:i})=>{var u,c,l,f,m;if(t.type!=="QS")return{result:!1,changed:!1};let r=!e.previousState||((c=(u=e.state.url)==null?void 0:u.searchParams)==null?void 0:c.toString())!==((f=(l=e.previousState.url)==null?void 0:l.searchParams)==null?void 0:f.toString()),n=(m=e.state.url)==null?void 0:m.searchParams.get(t.queryName),o={result:E(n,t.match),changed:r};return i==null||i(["debug",203,{criteria:t,result:o,explanation:O(n,t.match)}]),o};var jt=({update:e,criteria:t,signal:i,onLogMessage:r})=>{var f;if(t.type!=="QK")return{result:!1,changed:!1};if(typeof document=="undefined"&&i.dur==="t"&&e.scores[i.id]>0)return{result:!0,changed:!1};let n=e.visitor.quirks[t.key],s=(f=e.state.quirks)==null?void 0:f[t.key],o=s!=null?s:n,u=Boolean(s&&n!==s),l={result:E(o,t.match),changed:u};return r==null||r(["debug",203,{criteria:t,result:l,explanation:O(o,t.match)}]),l};var _t=({update:e,criteria:t,onLogMessage:i})=>{var s,o,u;if(t.type!=="EVT")return{result:!1,changed:!1};let r=(o=(s=e.state.events)==null?void 0:s.some(c=>E(c.event,t.event)))!=null?o:!1,n={result:r,changed:r};return i==null||i(["debug",203,{criteria:t,result:n,explanation:`'${(u=e.state.events)==null?void 0:u.join("', '")}' ${mt(t.event)}`}]),n};var Qt=({update:e,criteria:t,onLogMessage:i})=>{var u,c,l;if(t.type!=="PV")return{result:!1,changed:!1};let r=(u=e.state.url)==null?void 0:u.pathname,n=!e.previousState||(r==null?void 0:r.toString())!==((l=(c=e.previousState.url)==null?void 0:c.pathname)==null?void 0:l.toString()),o={result:E(r,t.path),changed:n};return i==null||i(["debug",203,{criteria:t,result:o,explanation:O(r,t.path)}]),o};var H,G=class{constructor(t){d(this,H,void 0);p(this,H,t)}evaluate(t,i,r,n,s){let o=i.clauses.length>1;o&&(s==null||s(["debug",202,"GROUP",i]));try{let u=!(i.op==="&"||!i.op),c=null,l=!1;for(let m of i.clauses){let S;if(m.type==="G")S=this.evaluate(t,m,r,n,s);else{let D=a(this,H)[m.type];if(c&&!D.alwaysExecute)continue;if(!D)throw new Error(`${m.type} signal criteria not registered`);S=D({update:t,criteria:m,commands:r,signal:n,onLogMessage:s})}S.changed&&(l=!0),!c&&S.result===u&&(c={result:u,changed:l})}let f=c!=null?c:{result:!u,changed:l};return o&&(s==null||s(["debug",204,f])),f}finally{o&&(s==null||s(["debug",202,"ENDGROUP"]))}}};H=new WeakMap;var rt=()=>({quirks:{},scores:{},sessionScores:{},tests:{},consent:!1,controlGroup:!1});import me from"mitt";import{dequal as he}from"dequal/lite";var ge="__UNIFORM_DATA__",U,B,z,I=class{constructor({initialData:t}){d(this,U,void 0);d(this,B,void 0);d(this,z,me());y(this,"events",{on:a(this,z).on,off:a(this,z).off});t&&(p(this,U,t),p(this,B,t))}get data(){return a(this,U)}get initialData(){return a(this,B)}updateData(t,i){return p(this,U,i),this.handleUpdateData(t,i)}async delete(t){p(this,U,void 0),await this.handleDelete(t)}signalAsyncDataUpdate(t){he(this.data,t)||(p(this,U,t),a(this,z).emit("dataUpdatedAsync",t))}getClientTransitionState(){if(typeof document=="undefined")return;let t=document.getElementById(ge);return t!=null&&t.textContent?JSON.parse(t.textContent):void 0}};U=new WeakMap,B=new WeakMap,z=new WeakMap;var vt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ft=vt.split(""),Kt=new Array(123);for(let e=0;e<vt.length;e++)Kt[vt.charCodeAt(e)]=e;var St=e=>{if(e<0)return`-${St(-e)}`;let t=e>>>0,i=e/4294967296>>>0,r="";for(;i>0;)r=Ft[63&t]+r,t>>>=6,t|=(63&i)<<26,i>>>=6;let n="";do n=Ft[63&t]+n,t>>>=6;while(t>0);return n+r},Ht=e=>{let t=0,i=e.charAt(0)==="-"?1:0;for(let r=i;r<e.length;r++)t=t*64+Kt[e.charCodeAt(r)];return i?-t:t};import yt from"js-cookie";var Dt=typeof document=="undefined",ve="ufvd",$,J,Bt=class extends I{constructor({serverCookieValue:i,cookieName:r=ve,cookieAttributes:n={sameSite:"lax"}}){super({initialData:Dt?Se(i):void 0});d(this,$,void 0);d(this,J,void 0);p(this,$,r),p(this,J,n)}handleDelete(){return Dt||yt.remove(a(this,$)),Promise.resolve()}async handleUpdateData(i,r){Dt||(r.consent?yt.set(a(this,$),ye(r),a(this,J)):yt.remove(a(this,$)))}};$=new WeakMap,J=new WeakMap;var Yt="~",Xt="!",Zt="-";function Se(e){if(!e)return;let t=e.split(Yt);if(t.length>3)return;let[i,r,n]=t;return{consent:!0,sessionScores:Jt(Ct(r)),scores:Jt(Ct(n)),tests:Ct(i)}}function Ct(e){return e.split(Xt).map(i=>i.split(Zt)).reduce((i,r)=>(r.length<2||(i[r[0]]=r.slice(1).join("-")),i),{})}function Jt(e){return Object.entries(e).reduce((t,[i,r])=>(t[i]=Ht(r),t),{})}function ye(e){return[xt(e.tests),xt(Wt(e.sessionScores)),xt(Wt(e.scores))].join(Yt)}function Wt(e){return Object.entries(e).reduce((t,[i,r])=>(t[i]=St(r),t),{})}function xt(e){return Object.entries(e).map(t=>t.join(Zt)).join(Xt)}var nt,Lt,Mt=class extends I{constructor({serverCookieValue:i,visitorIdCookieName:r="ufvi",...n}){super(n);d(this,nt);n.initialData||v(this,nt,Lt).call(this).catch(s=>{console.error(s)})}handleDelete(i){throw new Error("Method not implemented.")}async handleUpdateData(i){let r=await new Promise(n=>{setTimeout(()=>{n(void 0)},2e3)});r&&this.signalAsyncDataUpdate(r)}};nt=new WeakSet,Lt=async function(){let i=await new Promise(r=>{setTimeout(()=>{r(void 0)},2e3)});i&&this.signalAsyncDataUpdate(i)};function Ri(e){let{gracePeriod:t=864e5,decayRate:i=1/30,decayCap:r=.95}=e!=null?e:{};return function({now:s,lastUpd:o,scores:u,sessionScores:c,onLogMessage:l}){if(typeof o!="number")return!1;let m=s-o-t;if(m<=0)return!1;let S=m/864e5,D=1-Math.min(r,S*i);return D<=0?!1:(te(u,D),te(c,D),l==null||l(["info",140,`linear decay factor ${D.toPrecision(6)}`]),!0)}}function te(e,t){for(let i in e)i.startsWith("$")||(e[i]*=t)}import xe from"mitt";import{dequal as st}from"dequal/lite";var ot=class{constructor(){y(this,"inMemoryFallback",{});y(this,"hasLocalStorageObject",typeof localStorage!="undefined")}get(t){let i=this.inMemoryFallback[t];if(!this.hasLocalStorageObject||i)return i;try{let r=localStorage.getItem(t);return r?JSON.parse(r):void 0}catch(r){return i}}set(t,i,r){if(this.inMemoryFallback[t]=i,!(!this.hasLocalStorageObject||!r))try{localStorage.setItem(t,JSON.stringify(i))}catch(n){console.warn(n)}}delete(t,i){i||delete this.inMemoryFallback[t];try{localStorage.removeItem(t)}catch(r){}}};import De from"rfdc";var Ce=De();function ee(e,t,i){let r=t?Ce(t):rt();return e.forEach(n=>{var s,o;switch(n.type){case"consent":r.consent=n.data;break;case"setquirk":r.quirks[n.data.key]=n.data.value;break;case"settest":r.tests[n.data.test]=n.data.variant;break;case"modscore":if(i)break;let u=Number(n.data.delta);if(isNaN(u))throw new Error("Non-number delta received");let c=(s=r.scores[n.data.dimension])!=null?s:0;r.scores[n.data.dimension]=c+u;break;case"modscoreS":if(i)break;let l=Number(n.data.delta);if(isNaN(l))throw new Error("Non-number delta received");let f=(o=r.sessionScores[n.data.dimension])!=null?o:0;r.sessionScores[n.data.dimension]=f+l;break;case"identify":break;case"setcontrol":r.controlGroup=n.data;break;default:throw new Error("Unknown command")}}),r}var at="ufvisitor",V,N,q,g,x,P,w,A,lt,ie,ct,re,W,bt,Y,Et,ut=class{constructor(t){d(this,x);d(this,w);d(this,lt);d(this,ct);d(this,W);d(this,Y);d(this,V,xe());d(this,N,new ot);d(this,q,void 0);d(this,g,void 0);y(this,"events",{on:a(this,V).on,off:a(this,V).off});if(p(this,g,t),a(this,x,P)||v(this,w,A).call(this,v(this,Y,Et).call(this),!0),t.transitionStore){let i=t.transitionStore.getClientTransitionState();i&&t.onServerTransitionReceived&&t.onServerTransitionReceived(i),t.transitionStore.events.on("dataUpdatedAsync",n=>{v(this,w,A).call(this,{...a(this,x,P).visitorData,...n})});let r=t.transitionStore.data;r&&v(this,w,A).call(this,{...a(this,x,P).visitorData,...r},!0)}}get data(){var i,r;let t=a(this,x,P);if(v(this,ct,re).call(this,t)){let{sessionScores:n,...s}=t.visitorData;return v(this,w,A).call(this,{...s,sessionScores:{}}),(r=(i=a(this,g)).onLogMessage)==null||r.call(i,["info",120]),a(this,x,P).visitorData}return t.visitorData}get decayEnabled(){return!!a(this,g).decay}get options(){return a(this,g)}async updateData(t){var r,n,s,o;if(t.length===0)return;(n=(r=a(this,g)).onLogMessage)==null||n.call(r,["debug",101,t]);let i=ee(t,this.data,(s=a(this,x,P))==null?void 0:s.visitorData.controlGroup);t.some(u=>u.type==="consent"&&!u.data)&&a(this,N).delete(at,!0),v(this,w,A).call(this,i),await((o=a(this,g).transitionStore)==null?void 0:o.updateData(t,a(this,x,P).visitorData))}async delete(t){var i,r,n,s,o;(r=(i=a(this,g)).onLogMessage)==null||r.call(i,["info",103,"GROUP",t]);try{a(this,N).delete(at,!1),await((n=a(this,g).transitionStore)==null?void 0:n.delete(t)),v(this,w,A).call(this,v(this,Y,Et).call(this))}finally{(o=(s=a(this,g)).onLogMessage)==null||o.call(s,["info",103,"ENDGROUP"])}}};V=new WeakMap,N=new WeakMap,q=new WeakMap,g=new WeakMap,x=new WeakSet,P=function(){return a(this,N).get(at)},w=new WeakSet,A=function(t,i=!1){var f,m,S,D,M,Pt,wt,Rt,Ot;let r=a(this,x,P),n=Date.now();t.controlGroup?(t.scores={},t.sessionScores={}):(v(this,W,bt).call(this,t.scores),v(this,W,bt).call(this,t.sessionScores),(m=(f=a(this,g)).decay)==null||m.call(f,{now:n,lastUpd:r==null?void 0:r.updated,scores:t.scores,sessionScores:t.sessionScores,onLogMessage:a(this,g).onLogMessage}));let s=!st(r==null?void 0:r.visitorData.scores,t.scores),o=!st(r==null?void 0:r.visitorData.sessionScores,t.sessionScores),u=!st(r==null?void 0:r.visitorData.quirks,t.quirks),c=!st(r==null?void 0:r.visitorData.tests,t.tests),l={updated:n,visitorData:t};v(this,lt,ie).call(this),a(this,N).set(at,l,!!t.consent),(D=(S=a(this,g)).onLogMessage)==null||D.call(S,["debug",102,t]),i||((s||o)&&a(this,V).emit("scoresUpdated",t),u&&a(this,V).emit("quirksUpdated",t),c&&a(this,V).emit("testsUpdated",t),((M=r==null?void 0:r.visitorData)==null?void 0:M.consent)!==t.consent&&a(this,V).emit("consentUpdated",t),((Pt=r==null?void 0:r.visitorData)==null?void 0:Pt.controlGroup)!==t.controlGroup&&(a(this,V).emit("controlGroupUpdated",t),(Ot=(Rt=a(this,g)).onLogMessage)==null||Ot.call(Rt,["debug",104,(wt=t.controlGroup)!=null?wt:!1])))},lt=new WeakSet,ie=function(){typeof document=="undefined"||!a(this,g).visitLifespan||(a(this,q)&&window.clearTimeout(a(this,q)),p(this,q,window.setTimeout(()=>{this.data},a(this,g).visitLifespan+50)))},ct=new WeakSet,re=function(t){let i=a(this,g).visitLifespan;return i?t.updated+i<Date.now():!1},W=new WeakSet,bt=function(t){var i,r;if(!!a(this,g).manifest)for(let n in t){let s=t[n],o=a(this,g).manifest.getDimensionByKey(n);!o||s>o.cap&&((r=(i=a(this,g)).onLogMessage)==null||r.call(i,["debug",110,{dim:n,score:s,cap:o.cap}]),t[n]=o.cap)}},Y=new WeakSet,Et=function(){var t,i,r;return{...rt(),consent:(t=a(this,g).defaultConsent)!=null?t:!1,controlGroup:(r=(i=a(this,g).manifest)==null?void 0:i.rollForControlGroup())!=null?r:!1}};import Ee from"mitt";function ne({name:e,context:t,variations:i,take:r=1,onLogMessage:n}){var s,o,u;n==null||n(["info",300,"GROUP",{name:e,take:r}]);try{let c=(s=t.storage.data.controlGroup)!=null?s:!1,l=[],f=!1,m=t.scores;for(let S of i){if(l.length===r)break;if(!((o=S.pz)!=null&&o.crit.length)){n==null||n(["info",301,"GROUP",{id:S.id,op:(u=S.pz)==null?void 0:u.op}]),n==null||n(["info",302,{matched:!0,description:"default variation"}]),n==null||n(["info",303,!0]),n==null||n(["info",301,"ENDGROUP"]),l.push(S);continue}c||oe(S.id,S.pz,m,n)&&(f=!0,l.push(S))}return{personalized:f,variations:l}}finally{n==null||n(["info",300,"ENDGROUP"])}}function oe(e,t,i,r){r==null||r(["info",301,"GROUP",{id:e,op:t==null?void 0:t.op}]);let n;try{t!=null&&t.crit?!t.op||t.op==="&"?n=t.crit.every(s=>se(s,i,r)):n=t.crit.some(s=>se(s,i,r)):(r==null||r(["info",302,{matched:!0,description:"default variation"}]),n=!0),r==null||r(["info",303,n])}finally{r==null||r(["info",301,"ENDGROUP"])}return n}function se(e,t,i){var u,c;let{op:r,l:n}=e,s=(u=t[n])!=null?u:0;if(r==="+"){let l=Math.max(...Object.values(t))===s&&s>0;return i==null||i(["info",302,{matched:l,description:`${e.l} has the highest score`}]),l}else if(r==="-"){let l=Math.min(...Object.values(t))===s&&s>0;return i==null||i(["info",302,{matched:l,description:`${e.l} has the lowest non-zero score`}]),l}let o=parseInt(e.rDim?t[e.rDim]:e.r,10);if(isNaN(o))return i==null||i(["info",302,{matched:!1,description:`${(c=e.rDim)!=null?c:e.r} has no score value`}]),!1;if(r===">"){let l=s>o;return j(i,l,e,s,o),l}else if(r===">="){let l=s>=o;return j(i,l,e,s,o),l}else if(r==="<"){let l=s<o;return j(i,l,e,s,o),l}else if(r==="<="){let l=s<=o;return j(i,l,e,s,o),l}else if(r==="="){let l=s===o;return j(i,l,e,s,o),l}else if(r==="!="){let l=s!==o;return j(i,l,e,s,o),l}else throw new Error(`Unknown op: ${r}`)}function j(e,t,i,r,n){e==null||e(["info",302,{matched:t,description:`${i.l}[${r}] ${i.op} ${i.rDim?`${i.rDim}[${n}]`:i.r}`}])}var be=e=>{let{values:t,total:i,missingDistribution:r}=e.reduce((n,s)=>(s.testDistribution?n.total+=s.testDistribution:++n.missingDistribution,n.values.push(s.testDistribution),n),{values:[],total:0,missingDistribution:0});if(i>100)throw new Error(`Total distribution ${i} is over the maximum 100.`);if(i<100){let s=(100-i)/r;t.forEach((o,u)=>{typeof o=="undefined"&&(t[u]=s)})}return t},Vt=({name:e,context:t,variations:i,onLogMessage:r})=>{r==null||r(["info",400,"GROUP",e]);try{let n,s=t.getTestVariantId(e);if(s===null)return r==null||r(["error",401,e]),{result:void 0,variantAssigned:!1};if(s&&(n=i.find(o=>o.id===s),n||r==null||r(["warn",402,{missingVariant:s,variants:i.map(o=>o.id)}])),!n){let o=be(i),u=Math.floor(Math.random()*100),c=0;n=i.find((l,f)=>{let m=o[f];if(u>c&&u<=c+m)return l;c+=m}),n&&(r==null||r(["info",403,n.id]),t.setTestVariantId(e,n.id))}return n&&(r==null||r(["info",404,n.id])),{result:n,variantAssigned:!s}}finally{r==null||r(["info",400,"ENDGROUP"])}};import{dequal as ae}from"dequal/lite";var C,T,k,X,h,Z,Tt,_,dt,ue=class{constructor(t){d(this,Z);d(this,_);y(this,"manifest");d(this,C,void 0);d(this,T,{});d(this,k,void 0);d(this,X,{});d(this,h,Ee());y(this,"events",{on:a(this,h).on,off:a(this,h).off});y(this,"storage");var n,s;let{manifest:i,...r}=t;p(this,k,{}),(n=t.plugins)==null||n.forEach(o=>{!o.logDrain||a(this,h).on("log",o.logDrain)}),a(this,h).emit("log",["info",1,"GROUP"]);try{this.manifest=new et({onLogMessage:o=>a(this,h).emit("log",o),manifest:i,evaluator:new G({CK:Gt,QS:qt,QK:jt,PVC:gt,EVT:_t,PV:Qt})}),this.storage=new ut({...r,manifest:this.manifest,onServerTransitionReceived:o=>{p(this,C,o),o.ssv&&(p(this,T,o.ssv),a(this,h).emit("log",["debug",130,o]))},onLogMessage:o=>a(this,h).emit("log",o)}),this.storage.events.on("scoresUpdated",v(this,_,dt).bind(this)),a(this,C)||v(this,_,dt).call(this,this.storage.data),this.storage.events.on("quirksUpdated",o=>{let u=this.manifest.computeSignals({scores:a(this,T),state:a(this,k),previousState:a(this,k),visitor:this.storage.data});this.storage.updateData(u),a(this,h).emit("quirksUpdated",o.quirks),a(this,h).emit("log",["info",4,o.quirks])}),(s=t.plugins)==null||s.forEach(o=>{!o.init||o.init(this)})}finally{a(this,h).emit("log",["info",1,"ENDGROUP"])}}get scores(){return a(this,T)}get quirks(){var t,i;return(i=(t=a(this,C))==null?void 0:t.quirks)!=null?i:this.storage.data.quirks}async update(t){var n,s,o;let i=[],r={};if((n=a(this,C))!=null&&n.quirks&&(t={...t,quirks:{...a(this,C).quirks,...t.quirks||{}}}),(s=a(this,C))!=null&&s.tests){let u=Object.entries(a(this,C).tests);if(u.length>0){let c=[];u.forEach(([l,f])=>{this.storage.data.tests[l]||(c.push([l,f]),r[l]=f)}),i.push(...c.map(([l,f])=>({type:"settest",data:{test:l,variant:f}})))}}try{a(this,h).emit("log",["info",2,"GROUP",{...t,url:(o=t.url)==null?void 0:o.toString()}]),t.quirks&&i.push(...Object.entries(t.quirks).map(([u,c])=>({type:"setquirk",data:{key:u,value:c}}))),t.enrichments&&t.enrichments.forEach(u=>{let c=it(u.cat,u.key);this.manifest.getDimensionByKey(c)?i.push({type:"modscore",data:{dimension:c,delta:u.str}}):a(this,h).emit("log",["warn",5,u])}),i.push(...this.manifest.computeSignals({state:t,previousState:a(this,k),visitor:this.storage.data,scores:a(this,T)})),p(this,k,{...a(this,k),...t}),await this.storage.updateData(i),a(this,C)&&(v(this,_,dt).call(this,this.storage.data),Object.entries(r).forEach(([u,c])=>{v(this,Z,Tt).call(this,{name:u,variantId:c,variantAssigned:!0})}),p(this,C,void 0),a(this,h).emit("log",["debug",131]))}finally{a(this,h).emit("log",["info",2,"ENDGROUP"])}}getTestVariantId(t){var r,n,s,o;let i=this.manifest.getTest(t);return i?(o=(s=i.wv)!=null?s:(n=(r=a(this,C))==null?void 0:r.tests)==null?void 0:n[t])!=null?o:this.storage.data.tests[t]:(a(this,h).emit("log",["warn",401,t]),null)}setTestVariantId(t,i){this.storage.updateData([{type:"settest",data:{test:t,variant:i}}])}log(...t){a(this,h).emit("log",t)}test(t){var r,n;let i=Vt({...t,context:this,onLogMessage:s=>a(this,h).emit("log",s)});return v(this,Z,Tt).call(this,{name:t.name,variantId:(n=(r=i.result)==null?void 0:r.id)!=null?n:void 0,variantAssigned:i.variantAssigned}),i}personalize(t){let i=ne({...t,context:this,onLogMessage:s=>a(this,h).emit("log",s)}),r=a(this,X)[t.name],n={name:t.name,variantIds:i.variations.map(s=>{var o;return(o=s.id)!=null?o:"Unknown"}),control:this.storage.data.controlGroup,changed:!0};return r&&ae(n.variantIds,r)&&(n.changed=!1),a(this,h).emit("personalizationResult",n),a(this,X)[t.name]=n.variantIds,i}async forget(t){p(this,k,{}),await this.storage.delete(t)}getServerToClientTransitionState(){let t={quirks:this.storage.data.quirks,ssv:a(this,T),tests:{}},i=this.storage.data.tests;return Object.entries(i).map(([r,n])=>{var s,o,u;((u=(o=(s=this.storage.options.transitionStore)==null?void 0:s.initialData)==null?void 0:o.tests)==null?void 0:u[r])!==i[r]&&t.tests&&(t.tests[r]=n)}),t}};C=new WeakMap,T=new WeakMap,k=new WeakMap,X=new WeakMap,h=new WeakMap,Z=new WeakSet,Tt=function(t){a(this,h).emit("testResult",t)},_=new WeakSet,dt=function(t){var n;let i={...t.scores};for(let s in t.sessionScores)i[s]=((n=i[s])!=null?n:0)+t.sessionScores[s];i=this.manifest.computeAggregateDimensions(i),!ae(i,a(this,T))&&(p(this,T,i),a(this,h).emit("scoresUpdated",i),a(this,h).emit("log",["info",3,i]))};import Ve from"rfdc";function ft(e,t){if(e==="none")return!1;switch(t){case"debug":return e==="debug";case"info":return e==="info"||e==="debug";case"warn":return e==="warn"||e==="info"||e==="debug";case"error":return e==="debug"||"info";default:return!1}}var Te=Ve();function ke(e){return([t,...i])=>{if(!ft(e,t))return;let[r,...n]=i;console[t](`\u{1F94B} [${t}] Uniform event ID ${r}
2
+ `,...n.map(Te))}}function hr(e){return{logDrain:ke(e)}}var le={1:()=>["context","initializing Uniform Context"],2:e=>["context","received update()",e],3:e=>["context","new score vector",e],4:e=>["context","updated quirks",e],5:e=>["context","ignored enrichment update for unknown enrichment category",e.cat],101:e=>["storage","received update commands",e],102:e=>["storage","data was updated",e],103:e=>["storage",`deleting visitor data ${e?"from all devices":"from this device"}`],104:e=>["context",e?"Visitor assigned to personalization control group":"Visitor assigned to personalization experiment group"],110:({dim:e,cap:t,score:i})=>["storage",`${e} score ${i} exceeded cap ${t}. Rounded down.`],120:()=>["storage","visitor data expired and was cleared"],130:e=>["storage","server to client transition score data was loaded; it will persist until the next update event occurs",e],131:()=>["storage","server to client transition data was discarded"],140:e=>["storage",`score decay was applied: ${e}`],200:()=>["signals","evaluating signals"],201:e=>["signals",`evaluating signal ${e.id} (${e.dur})`],202:e=>["signals",e.op==="|"?"OR":"AND"],203:({criteria:e,result:t,explanation:i})=>["signals",`${e.type}: ${i} is ${t.result} [${t.changed?"CHANGED":"unchanged"}]`],204:e=>["signals",`group result: ${e.result} [${e.changed?"CHANGED":"unchanged"}]`],300:e=>["personalization",`executing personalization '${e.name}'`],301:({id:e,op:t})=>["personalization",`testing variation ${e} (${t==="|"?"OR":"AND"})`],302:({matched:e,description:t})=>["personalization",`${t} is ${e}`],303:e=>["personalization",e?"selected variation":"did not select variation"],400:e=>["testing",`executing A/B test '${e}'`],401:e=>["testing",`${e} is not registered in the manifest; it will not be run.`],402:({missingVariant:e,variants:t})=>["testing",`test variation '${e}' previously assigned to the visitor for this test no longer exists as a variant. It will be removed. This may indicate changing test variations after publishing a test, which will make results invalid. Known variants: ${t.join(", ")}`],403:e=>["testing",`assigned new test variant '${e}'`],404:e=>["testing",`displaying variation '${e}'`],700:()=>["gtag","gtag is not defined, skipping analytics event emission. Ensure you have added the gtag script to your page."],701:()=>["gtag","enabled gtag event signal redirection"]};import Pe from"rfdc";var we=Pe();function Re(e,t){let i=typeof document=="undefined",{enableOnServer:r=!1}=t!=null?t:{};return([n,...s])=>{if(!ft(e,n)||i&&!r)return;let[o,...u]=s,c=console[n];if(u[0]==="GROUP"&&(u.shift(),c=console.groupCollapsed),u[0]==="ENDGROUP"){console.groupEnd();return}let l=le[o],f="";switch(n){case"debug":f="\u{1F41E}";break;case"info":f="\u{1F4AC}";break;case"warn":f="\u26A0\uFE0F";break;case"error":f="\u{1F4A5}";break}let m=f;if(!l){c(`${m} unknown event ID ${o}. Log messages data may be older than Uniform Context package.`,...u);return}let[S,D,...M]=l(...u);c(`${m}[${S}] ${D}
3
+ `,...M.map(we))}}function Cr(e,t){return{logDrain:Re(e,t)}}var Oe=(u=>(u.ListStart="nesi-list-start",u.ListEnd="nesi-list-end",u.ListItem="nesi-list-item-html",u.ListItemSettings="nesi-list-item-settings",u.TestStart="nesi-test-start",u.TestEnd="nesi-test-end",u.Unknown="unknown",u))(Oe||{}),br="nesitag";var kt=typeof top!="undefined";function Vr(){return{logDrain:e=>{!kt||top==null||top.postMessage({type:"uniform:context:log",message:e},window.location.origin)},init:e=>{let t=[],i=[],r=()=>{!kt||top==null||top.postMessage({type:"uniform:context:data",data:{scores:e.scores,data:e.storage.data,manifest:e.manifest.data,personalizations:t,tests:i}},window.location.origin)},n=o=>{!o.changed||(t.push(o),r())},s=o=>{!o.variantAssigned||(i.push(o),r())};if(kt){window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__=e;try{top==null||top.addEventListener("message",async o=>{if(!o.data)return;let u=o.data;await Ue(u,e)})}catch(o){console.warn("Unable to initialize Uniform Context DevTools because it is in a cross-domain iframe.",o)}top==null||top.postMessage({type:"uniform:context:hello",uiVersion:2},window.location.origin),r()}return e.events.on("personalizationResult",n),e.events.on("testResult",s),e.events.on("scoresUpdated",r),e.storage.events.on("*",r),()=>{e.events.off("scoresUpdated",r),e.storage.events.off("*",r),e.events.off("personalizationResult",n),e.events.off("testResult",s)}}}}async function Ue(e,t){e.type==="uniform-in:context:update"&&e.newData&&await t.update(e.newData),e.type==="uniform-in:context:commands"&&e.commands&&Array.isArray(e.commands)&&await t.storage.updateData(e.commands),e.type==="uniform-in:context:forget"&&await t.forget(!1)}function kr(e){return`${e.apiKey}|${e.projectId}${e.apiHost?`|${e.apiHost}`:""}`}function Pr(e){let[t,i,r]=e.split("|");if(!t.startsWith("uf"))throw new Error("Invalid API key");if(!/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/i.test(i))throw new Error("Invalid project ID");return{apiKey:t,projectId:i,apiHost:r||"https://uniform.app"}}export{ue as Context,Bt as CookieTransitionDataStore,br as EdgeNodeTagName,Mt as EdgeTransitionDataStore,G as GroupCriteriaEvaluator,et as ManifestInstance,ge as SERVER_STATE_ID,Oe as ScriptType,I as TransitionDataStore,ve as UNIFORM_DEFAULT_COOKIE_NAME,ut as VisitorDataStore,Ut as computeAggregateDimensions,Gt as cookieEvaluator,ke as createConsoleLogDrain,Re as createDebugConsoleLogDrain,Ri as createLinearDecay,Qt as currentPageEvaluator,rt as emptyVisitorData,hr as enableConsoleLogDrain,Vr as enableContextDevTools,Cr as enableDebugConsoleLogDrain,oe as evaluateVariantMatch,_t as eventEvaluator,O as explainStringMatch,mt as explainStringMatchCriteria,it as getEnrichmentVectorKey,E as isStringMatch,ht as pageViewCountDimension,gt as pageViewCountEvaluator,Pr as parseQuickConnect,ne as personalizeVariations,qt as queryStringEvaluator,jt as quirkEvaluator,kr as serializeQuickConnect,Vt as testVariations};
@@ -1,5 +1,5 @@
1
- import { c as components, e as external } from './v2-manifest.swagger-ff2af13e.js';
2
1
  import * as mitt from 'mitt';
2
+ import { c as components, e as external } from './v2-manifest.swagger-ff2af13e.js';
3
3
 
4
4
  declare type StorageCommand<TID extends string = string, TData = unknown> = {
5
5
  type: TID;
@@ -153,6 +153,7 @@ declare abstract class TransitionDataStore {
153
153
  #private;
154
154
  constructor({ initialData }: TransitionDataStoreOptions);
155
155
  get data(): Partial<VisitorData> | undefined;
156
+ get initialData(): Partial<VisitorData> | undefined;
156
157
  /**
157
158
  * Subscribe to events from the transition storage
158
159
  */
@@ -293,7 +294,7 @@ declare type LogMessages = {
293
294
  /** Storage visitor data expired and was cleared */
294
295
  120: MessageFunc;
295
296
  /** Server to client transition score data was loaded */
296
- 130: MessageFunc<ScoreVector>;
297
+ 130: MessageFunc<ServerToClientTransitionState>;
297
298
  /** Server to client transition data was discarded */
298
299
  131: MessageFunc;
299
300
  /** Decay function executed */
@@ -442,6 +443,7 @@ declare class VisitorDataStore {
442
443
  /** Gets the current visitor data. This property is always up to date. */
443
444
  get data(): VisitorData;
444
445
  get decayEnabled(): boolean;
446
+ get options(): VisitorDataStoreOptions;
445
447
  /**
446
448
  * Subscribe to events from storage
447
449
  */
@@ -544,6 +546,10 @@ declare type VariantMatchCriteria = {
544
546
  */
545
547
  op?: '&' | '|';
546
548
  crit: DimensionMatch[];
549
+ /**
550
+ * Name of the variant for analytics tracking.
551
+ */
552
+ name?: string;
547
553
  };
548
554
  declare type DimensionMatch = {
549
555
  /**
@@ -716,6 +722,12 @@ declare class Context implements Context {
716
722
  * @param fromAllDevices for an identified user, whether to delete all their data (for the entire account) - true, or data for this device (sign out) - false
717
723
  */
718
724
  forget(fromAllDevices: boolean): Promise<void>;
725
+ /**
726
+ * Computes server to client transition state.
727
+ *
728
+ * Removes state from server-to-client if it came in initial state (cookies) to avoid double tracking on the client.
729
+ */
730
+ getServerToClientTransitionState(): ServerToClientTransitionState;
719
731
  }
720
732
 
721
733
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/context",
3
- "version": "16.0.1-nuxt.158+fac0325ba",
3
+ "version": "16.0.1-nuxt.179+842199728",
4
4
  "description": "Uniform Context core package",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "./dist/index.js",
@@ -57,7 +57,7 @@
57
57
  "devDependencies": {
58
58
  "@types/js-cookie": "3.0.2",
59
59
  "@types/yargs": "17.0.10",
60
- "@uniformdev/cli": "^16.0.1-nuxt.158+fac0325ba",
60
+ "@uniformdev/cli": "^16.0.1-nuxt.179+842199728",
61
61
  "benny": "3.7.1",
62
62
  "yargs": "17.5.1"
63
63
  },
@@ -75,5 +75,5 @@
75
75
  "publishConfig": {
76
76
  "access": "public"
77
77
  },
78
- "gitHead": "fac0325bab53217a4c5a3c63d549812678f484f3"
78
+ "gitHead": "842199728b5d454c2ca7e82ef7d1fd208f835c4e"
79
79
  }