@adobe/alloy 2.36.0 → 2.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/alloy.min.js CHANGED
@@ -10,6 +10,6 @@
10
10
  * governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- !function(){"use strict";var e=e=>null==e,t=t=>!e(t)&&!Array.isArray(t)&&"object"==typeof t;const n=e=>{const t=(e+"=".repeat((4-e.length%4)%4)).replace(/-/g,"+").replace(/_/g,"/"),n=atob(t);return Uint8Array.from(n,e=>e.codePointAt(0)??0)},r=(e,t={})=>{const{urlSafe:n=!1}=t||{},r=btoa(String.fromCharCode(...e));return n?r.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""):r},o=["__proto__","constructor","prototype"],i=(e,n)=>{Object.keys(n).forEach(r=>{o.includes(r)||(t(e[r])&&t(n[r])?i(e[r],n[r]):e[r]=n[r])})};var a=(t,...n)=>{if(e(t))throw new TypeError('deepAssign "target" cannot be null or undefined');const r=Object(t);return n.forEach(e=>i(r,Object(e))),r},s=(e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);a(r,n)},c=()=>{const e=[];return{add(t){e.push(t)},call:(...t)=>Promise.all(e.map(e=>e(...t)))}},d=({logger:e,cookieJar:t})=>({...t,set:(n,r,o)=>(e.info("Setting cookie",{name:n,value:r,...o}),t.set(n,r,o))}),l=()=>{const e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e};const u=(e,t)=>e===t;var g=(e,t)=>e.appendChild(t);var p=(e,n={},r={},o=[],i=document)=>{const a=i.createElement(e);return Object.keys(n).forEach(e=>{a.setAttribute(e,n[e])}),((e,n)=>{Object.keys(n).forEach(r=>{if("style"===r&&t(n[r])){const t=n[r];Object.keys(t).forEach(n=>{e.style[n]=t[n]})}else e[r]=n[r]})})(a,r),o.forEach(e=>g(a,e)),a};const m="BODY",f="IMG",h="STYLE",y="SCRIPT";var v=({src:e,currentDocument:t=document})=>new Promise((n,r)=>{p(f,{src:e},{onload:n,onerror:r,onabort:r},[],t)}),w=e=>"function"==typeof e,I=e=>Array.isArray(e)&&e.length>0,b=e=>Array.isArray(e)?e:null==e?[]:[].slice.call(e);const E=/^\s*>/;var k=(e,t)=>E.test(t)?b(e.querySelectorAll(`:scope ${t}`)):b(e.querySelectorAll(t)),C=":shadow";const S=(e,t)=>{const n=t;if(!n.startsWith(">"))return n;return`${e instanceof Element||e instanceof Document?":scope":":host"} ${n}`};var P=(e,t)=>{const n=(e=>e.split(C))(t);if(n.length<2)return k(e,t);let r=e;for(let e=0;e<n.length;e+=1){const t=n[e].trim();if(""===t&&r.shadowRoot){r=r.shadowRoot;continue}const o=S(r,t),i=k(r,o);if(0===i.length||!i[0]||!i[0].shadowRoot)return i;r=i[0].shadowRoot}},D=(e,t=document)=>-1===e.indexOf(C)?k(t,e):P(t,e);const R="MutationObserver",T={childList:!0,subtree:!0},O=e=>new Error(`Could not find: ${e}`),M=e=>new Promise(e);var N=(e,t=D,n=5e3,r=window,o=document)=>{const i=t(e);return I(i)?Promise.resolve(i):(e=>w(e[R]))(r)?((e,t,n,r,o)=>M((i,a)=>{let s;const c=new e[R](()=>{const e=o(n);I(e)&&(c.disconnect(),s&&clearTimeout(s),i(e))});s=setTimeout(()=>{c.disconnect(),a(O(n))},r),c.observe(t,T)}))(r,o,e,n,t):(e=>"visible"===e.visibilityState)(o)?((e,t,n,r)=>M((o,i)=>{const a=()=>{const n=r(t);I(n)?o(n):e.requestAnimationFrame(a)};a(),setTimeout(()=>{i(O(t))},n)}))(r,e,n,t):((e,t,n)=>M((r,o)=>{const i=()=>{const t=n(e);I(t)?r(t):setTimeout(i,100)};i(),setTimeout(()=>{o(O(e))},t)}))(e,n,t)};let A;const x=(e=document)=>{if(void 0===A){const t=e.querySelector("[nonce]");A=t&&(t.nonce||t.getAttribute("nonce"))}return A},q=(e,t={})=>document.querySelector(`script[src="${e}"]`)?(t.onLoad&&t.onLoad(),Promise.resolve()):new Promise((n,r)=>{const{attributes:o={},onLoad:i,onError:a}=t,s=p("script",{type:"text/javascript",src:e,async:!0,...x()&&{nonce:x()},...o},{onload:()=>{i&&i(),n()},onerror:()=>{const t=new Error(`Failed to load script: ${e}`);a&&a(t),r(t)}}),c=()=>{const e=document.head||document.body;if(e)g(e,s);else{const e=new Error("Neither <head> nor <body> available for script insertion.");a&&a(e),r(e)}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c):c()});var $=e=>{const t=e.parentNode;return t?t.removeChild(e):null};const L={name:"Adobe Alloy"},_={style:{display:"none",width:0,height:0}};var j=({appendNode:e=g,awaitSelector:t=N,createNode:n=p,fireImage:r=v}={})=>{const o=r;let i;const a=({src:o})=>t(m).then(([t])=>i||(i=n("IFRAME",L,_),e(t,i))).then(e=>{const t=e.contentWindow.document;return r({src:o,currentDocument:t})});return e=>{const{hideReferrer:t,url:n}=e;return t?a({src:n}):o({src:n})}},U=e=>t(e)&&0===Object.keys(e).length;const B=(n,r)=>e(n)||!t(n)?n:Object.keys(n).reduce((e,o)=>{const i=n[o];if(t(i)){const t=B(i,r);return U(t)?e:{...e,[o]:t}}return r(i,o)?{...e,[o]:i}:e},{}),F=e=>(e=>{let t=2166136261;const n=(new TextEncoder).encode(e);for(let e=0;e<n.length;e+=1)t^=n[e],t=Math.imul(t,16777619);return t>>>0})(e).toString(16).padStart(8,"0");var V="com.adobe.alloy.",H=(e,t)=>e.slice(-t);const z=`${V}getTld`;var J="kndctr",X=e=>e.replace("@","_"),G=(e,t)=>`${J}_${X(e)}_${t}`,Q=(e,t)=>{const n={};return e.forEach(e=>{const r=t(e);n[r]||(n[r]=[]),n[r].push(e)}),n};const W="Chrome",K="Edge",Y="EdgeChromium",Z="Firefox",ee="IE",te="Safari",ne="Unknown";var re=e=>{let t,n=!1;return()=>(n||(n=!0,t=e()),t)};const oe=[W,K,Y,"IE",ne];var ie=({getBrowser:e})=>re(()=>oe.includes(e()));var ae=({orgId:e,cookieJar:t})=>{const n=G(e,"identity");return()=>Boolean(t.get(n))};var se=({userAgent:e})=>re(()=>((e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1){const o=n[r];if(e[o].test(t))return o}return ne})({[K]:/Edge\/([0-9\._]+)/,[Y]:/Edg\/([0-9\.]+)/,[W]:/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/,[Z]:/Firefox\/([0-9\.]+)(?:\s|$)/,[ee]:/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/,[te]:/Version\/([0-9\._]+).*Safari/},e));const ce=(e,t,n)=>({getItem(r){try{return e[t].getItem(n+r)}catch{return null}},setItem(r,o){try{return e[t].setItem(n+r,o),!0}catch{return!1}},clear(){try{return Object.keys(e[t]).forEach(r=>{r.startsWith(n)&&e[t].removeItem(r)}),!0}catch{return!1}}});var de=e=>"boolean"==typeof e,le=e=>"number"==typeof e&&!Number.isNaN(e),ue=e=>{const t=parseInt(e,10);return le(t)&&e===t},ge=e=>"string"==typeof e,pe=e=>ge(e)&&e.length>0,me=()=>{};const fe=e=>{const t={},n=e.split(".");switch(n.length){case 1:t.subdomain="",t.domain=e,t.topLevelDomain="";break;case 2:t.subdomain="",t.domain=e,t.topLevelDomain=n[1];break;case 3:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=n[2];break;case 4:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=`${n[2]}.${n[3]}`}return t},he=(e,t=fe)=>{ge(e)||(e="");const n=(e=>{try{const t=new URL(e);let n=t.pathname;return e.endsWith("/")||"/"!==n||(n=""),{host:t.hostname,path:n,query:t.search.replace(/^\?/,""),anchor:t.hash.replace(/^#/,"")}}catch{return{host:"",path:"",query:"",anchor:""}}})(e),{host:r,path:o,query:i,anchor:a}=n;return{path:o,query:i,fragment:a,...t(r)}};var ye,ve;function we(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ie=(ve||(ve=1,ye={parse:function(e){return function(e){var t={};if(!e||"string"!=typeof e)return t;var n=e.trim().replace(/^[?#&]/,""),r=new URLSearchParams(n),o=r.keys();do{var i=o.next(),a=i.value;if(a){var s=r.getAll(a);1===s.length?t[a]=s[0]:t[a]=s}}while(!1===i.done);return t}(e)},stringify:function(e){return function(e){var t="{{space}}",n=new URLSearchParams;return Object.keys(e).forEach(function(r){var o=e[r];"string"==typeof e[r]?o=o.replace(/ /g,t):["object","undefined"].includes(typeof o)&&!Array.isArray(o)&&(o=""),Array.isArray(o)?o.forEach(function(e){n.append(r,e)}):n.append(r,o)}),n.toString().replace(new RegExp(encodeURIComponent(t),"g"),"%20")}(e)}}),ye),be=we(Ie),Ee=e=>e?.edgeCredentials&&Object.prototype.hasOwnProperty.call(e.edgeCredentials,"clientSecret")?{...e,edgeCredentials:{...e.edgeCredentials,clientSecret:"[REDACTED]"}}:e;const ke=e=>Array.isArray(e)?e.map(e=>ke(e)):"object"==typeof e&&null!==e?Object.keys(e).sort().reduce((t,n)=>(t[n]=ke(e[n]),t),{}):e;var Ce=e=>ke(e),Se=e=>e instanceof Error?e:new Error(e),Pe=({error:e,message:t})=>{try{e.message=t}catch{}},De=({error:e,message:t})=>{const n=Se(e),r=`${t}\nCaused by: ${n.message}`;return Pe({error:n,message:r}),n},Re=(e,t)=>{if(le(e)||ge(e)){const t=Math.round(Number(e));if(!Number.isNaN(t))return t}return t};const Te=(e,t,n)=>`${e}`.padStart(t,n);const Oe=[];for(let e=0;e<256;++e)Oe.push((e+256).toString(16).slice(1));const Me=new Uint8Array(16);function Ne(e,t,n){return t||e||!crypto.randomUUID?function(e,t,n){e=e||{};const r=e.random??e.rng?.()??crypto.getRandomValues(Me);if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){if((n=n||0)<0||n+16>t.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return(Oe[e[t+0]]+Oe[e[t+1]]+Oe[e[t+2]]+Oe[e[t+3]]+"-"+Oe[e[t+4]]+Oe[e[t+5]]+"-"+Oe[e[t+6]]+Oe[e[t+7]]+"-"+Oe[e[t+8]]+Oe[e[t+9]]+"-"+Oe[e[t+10]]+Oe[e[t+11]]+Oe[e[t+12]]+Oe[e[t+13]]+Oe[e[t+14]]+Oe[e[t+15]]).toLowerCase()}(r)}(e,t,n):crypto.randomUUID()}const Ae=e=>function(t,n){return null==t?t:e.call(this,t,n)},xe=(e,t)=>function(n,r){return t.call(this,e.call(this,n,r),r)},qe=(e,t)=>function(n,r){const o=[],i=[e,t].reduce((e,t)=>{try{return t.call(this,e,r)}catch(t){return o.push(t),e}},n);if(o.length)throw new Error(o.join("\n"));return i},$e=(e,t,n)=>Object.assign(xe(e,t),e,n),Le=(e,t,n)=>Object.assign(xe(e,Ae(t)),e,n),_e=(e,t,n,r)=>{if(!e)throw new Error(`'${n}': Expected ${r}, but got ${JSON.stringify(t)}.`)};var je=(e,t)=>(_e(de(e),e,t,"true or false"),e),Ue=(e,t)=>(_e(w(e),e,t,"a function"),e),Be=(e,t)=>function(n,r){let o;const i=e.find(e=>{try{return o=e.call(this,n,r),!0}catch{return!1}});return _e(i,n,r,t),o},Fe=e=>function(t,n){_e(Array.isArray(t),t,n,"an array");const r=[],o=t.map((o,i)=>{try{return e.call(this,o,`${n}[${i}]`,t)}catch(e){return void r.push(e.message)}});if(r.length)throw new Error(r.join("\n"));return o},Ve=(e="This field has been deprecated")=>function(t,n){let r=e;return void 0!==t&&(n&&(r=`'${n}': ${r}`),this&&this.logger&&this.logger.warn(r)),t},He=e=>function(n,r){_e(t(n),n,r,"an object");const o=[],i={};if(Object.keys(n).forEach(t=>{const a=n[t],s=r?`${r}.${t}`:t;try{const n=e.call(this,a,s);void 0!==n&&(i[t]=n)}catch(e){o.push(e.message)}}),o.length)throw new Error(o.join("\n"));return i},ze=(e,t)=>(n,r)=>(_e(n>=t,n,r,`${e} greater than or equal to ${t}`),n),Je=e=>(n,r)=>(t(n)?_e(!U(n),n,r,e):_e(n.length>0,n,r,e),n),Xe=e=>function(n,r){_e(t(n),n,r,"an object");const o=[],i={};if(Object.keys(e).forEach(t=>{const a=n[t],s=e[t],c=r?`${r}.${t}`:t;try{const e=s.call(this,a,c);void 0!==e&&(i[t]=e)}catch(e){o.push(e.message)}}),Object.keys(n).forEach(e=>{Object.prototype.hasOwnProperty.call(i,e)||(i[e]=n[e])}),o.length)throw new Error(o.join("\n"));return i},Ge=(e,n,r)=>function(o,i){_e(t(o),o,i,"an object");const{[e]:a,[r]:s,...c}=o,d=n(a,i);if(void 0!==d){let t=`The field '${e}' is deprecated. Use '${r}' instead.`;if(i&&(t=`'${i}': ${t}`),void 0!==s&&s!==d)throw new Error(t);this&&this.logger&&this.logger.warn(t)}return{[r]:s||d,...c}},Qe=()=>(e,t)=>(_e((e=>{const t=Object.create(null);for(let n=0;n<e.length;n+=1){const r=e[n];if(r in t)return!1;t[r]=!0}return!0})(e),e,t,"array values to be unique"),e);const We=/^[a-z0-9.-]{1,}$/i;var Ke=(e,t)=>(_e(We.test(e),e,t,"a valid domain"),e),Ye=(e,t)=>(_e(ue(e),e,t,"an integer"),e),Ze=(e,t)=>(_e(le(e),e,t,"a number"),e),et=(e,t)=>(_e((e=>{try{return null!==RegExp(e)}catch{return!1}})(e),e,t,"a regular expression"),e),tt=(e,t)=>{if(null==e)throw new Error(`'${t}' is a required option`);return e},nt=(e,t)=>(_e(ge(e),e,t,"a string"),e);const rt=e=>e;rt.default=function(e){return $e(this,(e=>t=>null==t?e:t)(e))},rt.required=function(){return $e(this,tt)},rt.deprecated=function(e){return $e(this,Ve(e))};const ot=function(){return Le(this,Ke)},it=function(e){return Le(this,ze("an integer",e))},at=function(e){return Le(this,ze("a number",e))},st=function(e){return Le(this,(t="a number",n=e,(e,r)=>(_e(e<=n,e,r,`${t} less than or equal to ${n}`),e)));var t,n},ct=function(){return Le(this,Ye,{minimum:it})},dt=function(){return Le(this,Je("a non-empty string"))},lt=function(){return Le(this,Je("a non-empty array"))},ut=function(){return Le(this,Je("a non-empty object"))},gt=function(){return Le(this,et)},pt=function(e){return Le(this,(e=>(t,n)=>(_e(e.test(t),t,n,`does not match the ${e.toString()}`),t))(e))},mt=function(){return Le(this,(()=>{const e=[];return(t,n)=>(_e(-1===e.indexOf(t),t,n,"a unique value across instances"),e.push(t),t)})())},ft=function(){return Le(this,Qe())},ht=e=>({noUnknownFields:function(){return Le(this,(e=>(t,n)=>{const r=[];if(Object.keys(t).forEach(t=>{if(!e[t]){const e=n?`${n}.${t}`:t;r.push(`'${e}': Unknown field.`)}}),r.length)throw new Error(r.join("\n"));return t})(e))},nonEmpty:ut,concat:function(t){const n={...e,...t.schema};return Le(this,t,ht(n))},renamed:function(e,t,n){return r=this,o=Ge(e,t,n),Object.assign(qe(Ae(o),r),r,i);var r,o,i},schema:e}),yt=function(e,t){return $e(this,Be(e,t))}.bind(rt),vt=function(){return this}.bind(rt),wt=function(e){return Le(this,Fe(e),{nonEmpty:lt,uniqueItems:ft})}.bind(rt),It=function(){return Le(this,je)}.bind(rt),bt=function(){return Le(this,Ue)}.bind(rt),Et=function(e){return Le(this,(e=>(t,n)=>(_e(t===e,t,n,`${e}`),t))(e))}.bind(rt),kt=function(){return Le(this,Ze,{minimum:at,maximum:st,integer:ct,unique:mt})}.bind(rt),Ct=function(e){return Le(this,He(e),{nonEmpty:ut})}.bind(rt),St=function(e){return Le(this,Xe(e),ht(e))}.bind(rt),Pt=function(){return Le(this,nt,{regexp:gt,domain:ot,nonEmpty:dt,unique:mt,matches:pt})}.bind(rt),Dt=function(...e){return yt(e.map(Et),`one of these values: ${JSON.stringify(e)}`)};var Rt=Ct(wt(St({authenticatedState:Dt("ambiguous","authenticated","loggedOut"),id:Pt(),namespace:St({code:Pt()}).noUnknownFields(),primary:It(),xid:Pt()}).noUnknownFields()).required()),Tt=St({});const Ot=["onComponentsRegistered","onBeforeEvent","onBeforeRequest","onResponse","onRequestFailure","onClick","onDecision"];var Mt=e=>Ot.reduce((t,n)=>{var r;return t[n]=(r=((e,t)=>(...n)=>Promise.all(e.getLifecycleCallbacks(t).map(e=>new Promise(t=>{t(e(...n))}))))(e,n),(...e)=>Promise.resolve().then(()=>r(...e))),t},{});const Nt=(e,t)=>(...n)=>{let r;try{r=e(...n)}catch(e){throw De({error:e,message:t})}return r instanceof Promise&&(r=r.catch(e=>{throw De({error:e,message:t})})),r};var At=()=>{const e={},t={},n={};return{register(r,o){const{commands:i,lifecycle:a}=o;((e,n={})=>{const r=(o=Object.keys(t),i=Object.keys(n),o.filter(e=>i.includes(e)));var o,i;if(r.length)throw new Error(`[ComponentRegistry] Could not register ${e} because it has existing command(s): ${r.join(",")}`);Object.keys(n).forEach(r=>{const o=n[r];o.commandName=r,o.run=Nt(o.run,`[${e}] An error occurred while executing the ${r} command.`),t[r]=o})})(r,i),((e,t={})=>{Object.keys(t).forEach(r=>{n[r]=n[r]||[],n[r].push(Nt(t[r],`[${e}] An error occurred while executing the ${r} lifecycle hook.`))})})(r,a),e[r]=o},getCommand:e=>t[e],getCommandNames:()=>Object.keys(t),getLifecycleCallbacks:e=>n[e]||[],getComponentNames:()=>Object.keys(e)}};const xt=(e,t)=>{let n,r=0,o=0;do{if(t<0||t+o>=e.length)throw new Error("Invalid varint: buffer ended unexpectedly");if(n=e[t+o],r|=(127&n)<<7*o,o+=1,o>10)throw new Error("Invalid varint: too long")}while(128&n);return{value:r,length:o}},qt=Object.freeze({VARINT:0,I64:1,LEN:2,SGROUP:3,EGROUP:4,I32:5});var $t=({orgId:e,cookieJar:t,logger:r})=>{const o=G(e,"identity");return()=>{const e=t.get(o);if(!e)return null;try{const t=decodeURIComponent(e).replace(/_/g,"/").replace(/-/g,"+");return(e=>{let t=0,n=null;for(;t<e.length&&!n;){const{value:r,length:o}=xt(e,t);t+=o;const i=7&r;if(1==r>>3){if(i===qt.LEN){const r=xt(e,t);return t+=r.length,n=(new TextDecoder).decode(e.slice(t,t+r.value)),n}}else switch(i){case qt.VARINT:t+=xt(e,t).length;break;case qt.I64:t+=8;break;case qt.LEN:{const n=xt(e,t);t+=n.length+n.value;break}case qt.SGROUP:case qt.EGROUP:break;case qt.I32:t+=4;break;default:throw new Error(`Malformed kndctr cookie. Unknown wire type: ${i}`)}}throw new Error("No ECID found in cookie.")})(n(t))}catch(e){return r.warn(`Unable to decode ECID from ${o} cookie`,e),null}}},Lt=({logger:e,loggingCookieJar:t,config:n})=>{let r=null;const o=new Promise(e=>{r=e}),i=$t({orgId:n.orgId,cookieJar:t,logger:e});return{initialize(){i()&&this.setIdentityAcquired()},setIdentityAcquired(){r()},awaitIdentity:()=>o,getEcidFromCookie:()=>i()}};const _t="in",jt="out",Ut="pending",Bt="disabled",Ft="wait",Vt="auto",Ht="general",zt="declinedConsent",Jt="default",Xt="initial",Gt="new",Qt=e=>{const t=new Error(e);return t.code=zt,t.message=e,t};var Wt=({logger:e})=>{const t=[],n=()=>Promise.resolve(),r=()=>Promise.resolve(),o=()=>Promise.reject(Qt("No consent preferences have been set.")),i=()=>Promise.reject(Qt("The user declined consent.")),a=e=>{if(e)return Promise.reject(new Error("Consent is pending."));const n=l();return t.push(n),n.promise};return{in(o){o===Jt?this.awaitConsent=n:(o===Xt?e.info("Loaded user consent preferences. The user previously consented."):o===Gt&&this.awaitConsent!==r&&e.info("User consented."),(()=>{for(;t.length;)t.shift().resolve()})(),this.awaitConsent=r)},out(n){n===Jt?(e.warn("User consent preferences not found. Default consent of out will be used."),this.awaitConsent=o):(n===Xt?e.warn("Loaded user consent preferences. The user previously declined consent."):n===Gt&&this.awaitConsent!==i&&e.warn("User declined consent."),(()=>{for(;t.length;)t.shift().reject(Qt("The user declined consent."))})(),this.awaitConsent=i)},pending(t){t===Jt&&e.info("User consent preferences not found. Default consent of pending will be used. Some commands may be delayed."),this.awaitConsent=a},awaitConsent:()=>Promise.resolve(),withConsent(){return this.awaitConsent(!0)},current(){switch(this.awaitConsent){case n:return{state:"in",wasSet:!1};case r:return{state:"in",wasSet:!0};case o:return{state:"out",wasSet:!1};case i:return{state:"out",wasSet:!0};case a:return{state:"pending",wasSet:!1};default:return{state:"in",wasSet:!1}}}}};const Kt=e=>e&&e._experience&&e._experience.decisioning&&I(e._experience.decisioning.propositions)?e._experience.decisioning.propositions:[];var Yt=()=>{const e={},t=Date.now();let n,r,o=!1,i=!1,s=!0;const c=e=>{if(i)throw new Error(`${e} cannot be called after event is finalized.`)},d={hasQuery(){return Object.prototype.hasOwnProperty.call(this.getContent(),"query")},getContent(){const t=JSON.parse(JSON.stringify(e));return n&&a(t,{xdm:n}),r&&a(t,{data:r}),t},setUserXdm(e){c("setUserXdm"),n=e},setUserData(e){c("setUserData"),r=e},mergeXdm(t){c("mergeXdm"),t&&a(e,{xdm:t})},mergeData(t){c("mergeData"),t&&a(e,{data:t})},mergeMeta(t){c("mergeMeta"),t&&a(e,{meta:t})},mergeQuery(t){c("mergeQuery"),t&&a(e,{query:t})},documentMayUnload(){o=!0},finalize(t){if(i)return;const o=((e,t=u)=>e.filter((n,r)=>((e,t,n)=>{for(let r=0;r<e.length;r+=1)if(n(e[r],t))return r;return-1})(e,n,t)===r))([...Kt(n),...Kt(e.xdm)],(e,t)=>e===t||e.id&&t.id&&e.id===t.id&&e.scope&&t.scope&&e.scope===t.scope);if(n&&this.mergeXdm(n),o.length>0&&(e.xdm._experience.decisioning.propositions=o),r&&d.mergeData(r),i=!0,t){s=!1;const n={xdm:e.xdm||{},data:e.data||{}},r=t(n);s=!1!==r,e.xdm=n.xdm||{},e.data=n.data||{},U(e.xdm)&&delete e.xdm,U(e.data)&&delete e.data}},getDocumentMayUnload:()=>o,getCreatedAt:()=>t,isEmpty:()=>U(e)&&(!n||U(n))&&(!r||U(r)),shouldSend:()=>s,getViewName(){if(n&&n.web&&n.web.webPageDetails)return n.web.webPageDetails.viewName},getUserIdentityMap:()=>n?.identityMap,toJSON(){if(!i)throw new Error("toJSON called before finalize");return e}};return d};const Zt="configure",en="setDebug";var tn=({logger:e,configureCommand:n,setDebugCommand:r,handleError:o,validateCommandOptions:i})=>{let a;return(s,c={})=>new Promise(t=>{const o=((t,o)=>{let s;if(t===Zt){if(a)throw new Error("The library has already been configured and may only be configured once.");s=()=>(a=n(o),a.then(()=>{}))}else{if(!a)throw new Error("The library must be configured first. Please do so by executing the configure command.");s=t===en?()=>{const e=St({enabled:It().required()}).noUnknownFields(),t=i({command:{commandName:en,optionsValidator:e},options:o});r(t)}:()=>a.then(e=>{const n=e.getCommand(t);if(!n||!w(n.run)){const n=[Zt,en].concat(e.getCommandNames()).join(", ");throw new Error(`The ${t} command does not exist. List of available commands: ${n}.`)}const r=i({command:n,options:o});return n.run(r)},()=>(e.warn(`An error during configuration is preventing the ${t} command from executing.`),new Promise(()=>{})))}return s})(s,c);e.logOnBeforeCommand({commandName:s,options:c}),t(o())}).catch(e=>o(e,`${s} command`)).catch(t=>{throw e.logOnCommandRejected({commandName:s,options:c,error:t}),t}).then(n=>{const r=t(n)?n:{};return e.logOnCommandResolved({commandName:s,options:c,result:r}),r})};const nn="https://adobe.ly/3sHgQHb";var rn=({command:e,options:t})=>{const{commandName:n,documentationUri:r=nn,optionsValidator:o}=e;let i=t;if(o)try{i=o(t)}catch(e){throw new Error(`Invalid ${n} command options:\n\t - ${e} For command documentation see: ${r}`,{cause:e})}return i};var on=({options:e,componentCreators:t,coreConfigValidators:n,createConfig:r,logger:o,setDebugEnabled:i})=>{const a=(e=>{const t=[],n={get enabled(){return e.enabled},flush(){t.forEach(({method:t,args:n})=>e[t](...n))}};return Object.keys(e).filter(t=>"function"==typeof e[t]).forEach(e=>{n[e]=(...n)=>{t.push({method:e,args:n})}}),n})(o),s=t.map(({configValidators:e})=>e).filter(e=>e).reduce((e,t)=>e.concat(t),n),c=r((({combinedConfigValidator:e,options:t,logger:n})=>{try{return e.noUnknownFields().required().call({logger:n},t)}catch(e){throw new Error(`Resolve these configuration problems:\n\t - ${e.message.split("\n").join("\n\t - ")}\nFor configuration documentation see: https://adobe.ly/3sHh553`,{cause:e})}})({combinedConfigValidator:s,options:e,logger:a}));i(c.debugEnabled,{fromConfig:!0}),a.flush();const d=((e,t,n)=>n.reduce((n,{buildOnInstanceConfiguredExtraParams:r})=>(r&&(n={...n,...r({config:e,logger:t})}),n),{}))(c,o,t);return o.logOnInstanceConfigured({...d,config:c}),c};const an=e=>({...e});var sn=({errorPrefix:e,logger:t})=>(n,r)=>{const o=Se(n);if(o.code===zt)return t.warn(`The ${r} could not fully complete. ${o.message}`),{};throw Pe({error:o,message:`${e} ${o.message}`}),o},cn=({getDebugEnabled:e,console:t,getMonitors:n,context:r})=>{let o=`[${r.instanceName}]`;r.componentName&&(o+=` [${r.componentName}]`);const i=(e,t)=>{const o=n();if(o.length>0){const n={...r,...t,config:Ee(t.config),options:Ee(t.options)};o.forEach(t=>{t[e]&&t[e](n)})}},a=(n,...r)=>{const a=r.map(Ee);i("onBeforeLog",{level:n,arguments:a}),e()&&t[n](o,...a)};return{get enabled(){return n().length>0||e()},logOnInstanceCreated(e){i("onInstanceCreated",e),a("info","Instance initialized.")},logOnInstanceConfigured(e){i("onInstanceConfigured",e),a("info","Instance configured. Computed configuration:",e.config)},logOnBeforeCommand(e){i("onBeforeCommand",e),a("info",`Executing ${e.commandName} command. Options:`,e.options)},logOnCommandResolved(e){i("onCommandResolved",e),a("info",`${e.commandName} command resolved. Result:`,e.result)},logOnCommandRejected(e){i("onCommandRejected",e),a("error",`${e.commandName} command was rejected. Error:`,e.error)},logOnBeforeNetworkRequest(e){i("onBeforeNetworkRequest",e),a("info",`Request ${e.requestId}: Sending request.`,e.payload)},logOnNetworkResponse(e){i("onNetworkResponse",e);const t=e.parsedBody||e.body?"response body:":"no response body.";a("info",`Request ${e.requestId}: Received response with status code ${e.statusCode} and ${t}`,e.parsedBody||e.body)},logOnNetworkError(e){i("onNetworkError",e),a("error",`Request ${e.requestId}: Network request failed.`,e.error)},logOnContentHiding(e){i("onContentHiding",{status:e.status}),a(e.logLevel,e.message)},logOnContentRendering(e){i("onContentRendering",{status:e.status,payload:e.detail}),a(e.logLevel,e.message)},info:a.bind(null,"info"),warn:a.bind(null,"warn"),error:a.bind(null,"error")}},dn="__view__",ln=e=>(t,n)=>{e.xdm=e.xdm||{},e.xdm.identityMap=e.xdm.identityMap||{},e.xdm.identityMap[t]=e.xdm.identityMap[t]||[],e.xdm.identityMap[t].push(n)},un=e=>{const{payload:t,getAction:n,getUseSendBeacon:r,datastreamIdOverride:o,edgeSubPath:i,requestParams:a={}}=e,s=Ne();let c=!1,d=!1;return{getId:()=>s,getPayload:()=>t,getAction:()=>n({isIdentityEstablished:d}),getDatastreamIdOverride:()=>o,getUseSendBeacon:()=>r({isIdentityEstablished:d}),getEdgeSubPath:()=>i||"",getUseIdThirdPartyDomain:()=>c,setUseIdThirdPartyDomain(){c=!0},setIsIdentityEstablished(){d=!0},getRequestParams:()=>a}},gn=({payload:e,datastreamIdOverride:t})=>{const n=({isIdentityEstablished:t})=>e.getDocumentMayUnload()&&t;return un({payload:e,getAction:({isIdentityEstablished:e})=>n({isIdentityEstablished:e})?"collect":"interact",getUseSendBeacon:n,datastreamIdOverride:t})};var pn=t=>{const{content:n,addIdentity:r,hasIdentity:o}=t,i=((e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);Object.assign(r,n)})(n,"meta.configOverrides");return{mergeMeta:s(n,"meta"),mergeState:s(n,"meta.state"),mergeQuery:s(n,"query"),mergeConfigOverride:e=>i(e),finalizeConfigOverrides:()=>{if(n.meta?.configOverrides){const t=(t=>{if(e(t)||"object"!=typeof t)return null;const n=B(t,(t,n)=>!(e(t)||(!de(t)||"enabled"===n&&!1!==t)&&!le(t)&&!pe(t)&&!I(t)));return U(n)?null:n})(n.meta.configOverrides);null===t?delete n.meta.configOverrides:n.meta.configOverrides=t}},addIdentity:r,hasIdentity:o,toJSON:()=>n}},mn=e=>t=>void 0!==(e.xdm&&e.xdm.identityMap&&e.xdm.identityMap[t]),fn=()=>{const e={};return{...pn({content:e,addIdentity:ln(e),hasIdentity:mn(e)}),addEvent:t=>{e.events=e.events||[],e.events.push(t)},getEvents:()=>e.events||[],getDocumentMayUnload:()=>(e.events||[]).some(e=>e.getDocumentMayUnload())}},hn=({localConfigOverrides:e,globalConfigOverrides:t,payload:n})=>{const r={payload:n},{datastreamId:o,...i}=e||{};return o&&(r.datastreamIdOverride=o),t&&!U(t)&&n.mergeConfigOverride(t),i&&!U(i)&&n.mergeConfigOverride(i),n.finalizeConfigOverrides(),r};const yn="clientId";const vn="Event was canceled because the onBeforeEventSend callback returned false.";var wn=({orgId:e,targetMigrationEnabled:t})=>n=>((e,t)=>0===t.indexOf(`${J}_${X(e)}_`))(e,n)||"at_qa_mode"===n||"_mkto_trk"===n||t&&"mbox"===n,In="alloy_debug";var bn=e=>((...e)=>e.length<2?Object.assign(...e):e.reduce((e,n)=>(t(n)&&Object.keys(n).forEach(t=>{Array.isArray(n[t])?Array.isArray(e[t])?e[t].push(...n[t]):e[t]=[...n[t]]:e[t]=n[t]}),e)))({},...e.shift()||[],...e.shift()||[],...e),En=e=>t=>{const n=()=>{throw t};return e.call({error:t}).then(n,n)};const kn=e=>{if("function"!=typeof e.getEvents)return;const t=e.getEvents();if(0===t.length)return;const n=Math.min(...t.map(e=>e.getCreatedAt()));return r=Date.now()-n,o=0,i=3e5,Math.max(o,Math.min(r,i));var r,o,i};var Cn=({config:e,lifecycle:t,cookieTransfer:n,sendNetworkRequest:r,createResponse:o,processWarningsAndErrors:i,getLocationHint:a,getAssuranceValidationTokenParams:s,getImsAccessToken:d})=>{const{edgeDomain:l,edgeBasePath:u,datastreamId:g,orgId:p,edgeCredentials:m}=e;let f=!1;const h=(e,t,n)=>{const r=n?void 0:a(),o=r?`${u}/${r}${t.getEdgeSubPath()}`:`${u}${t.getEdgeSubPath()}`,i=t.getDatastreamIdOverride()||g;i!==g&&t.getPayload().mergeMeta({sdkConfig:{datastream:{original:g}}});const c=n?"dataStreamId":"configId";return`https://${e}/${o}/${n?"v2":"v1"}/${t.getAction()}?${c}=${i}&requestId=${t.getId()}${s()}`};return({request:e,runOnResponseCallbacks:a=me,runOnRequestFailureCallbacks:s=me})=>{const u=c();u.add(t.onResponse),u.add(a);const g=c();g.add(t.onRequestFailure),g.add(s);const y=!!m&&(e=>"interact"===e.getAction())(e);return t.onBeforeRequest({request:e,onResponse:u.add,onRequestFailure:g.add}).then(async()=>{const t=y?"server.adobedc.net":f||!e.getUseIdThirdPartyDomain()?l:"adobedc.demdex.net",o=h(t,e,y),i=e.getPayload(),a=kn(i);void 0!==a&&i.mergeMeta({queueTimeMillis:a}),n.cookiesToPayload(i,t);const s=y?await(async()=>({Authorization:`Bearer ${await d.getAccessToken()}`,"x-api-key":m.clientId,"x-gw-ims-org-id":p}))():void 0,c=y?(e=>{const{events:t,...n}=e.toJSON();if(!t||1!==t.length)throw new Error(`The authenticated Server API (v2) only supports exactly one event per request; got ${t?t.length:0}.`);return{...n,event:t[0]}})(i):i;return r({requestId:e.getId(),url:o,payload:c,useSendBeacon:e.getUseSendBeacon(),headers:s})}).then(e=>(i(e),e)).catch(async t=>{if(!y&&((e,t)=>t.getUseIdThirdPartyDomain()&&(e=>"TypeError"===e.name||"NetworkError"===e.name||0===e.status)(e))(t,e)){f=!0,e.setUseIdThirdPartyDomain(!1);const t=h(l,e),o=e.getPayload();return n.cookiesToPayload(o,l),r({requestId:e.getId(),url:t,payload:o,useSendBeacon:e.getUseSendBeacon()})}return En(g)(t)}).then(({parsedBody:e,getHeader:t})=>{const r=o({content:e,getHeader:t});return n.responseToCookies(r),u.call({response:r}).then(bn)})}};var Sn=({edgeCredentials:e,dateProvider:t=()=>new Date})=>{let n,r,o=0;return{getAccessToken:()=>n&&t().getTime()<o?Promise.resolve(n):(r||(r=(async()=>{const{clientId:r,clientSecret:i,scopes:a,imsHost:s}=e,c=new URLSearchParams({grant_type:"client_credentials",client_id:r,client_secret:i,scope:a.join(",")}),d=await fetch(`https://${s}/ims/token/v3`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:c.toString()});if(!d.ok)throw new Error(`Failed to acquire an IMS access token: the server responded with a status code ${d.status} and response body: ${await d.text()}`);const{access_token:l,expires_in:u}=await d.json();return n=l,o=t().getTime()+1e3*u-3e5,n})().finally(()=>{r=void 0})),r)}};const Pn="The server responded with a";var Dn=({orgId:e,cookieJar:t})=>{const n=G(e,"cluster");return()=>t.get(n)||(()=>{const e=t.get("mboxEdgeCluster");if(e)return`t${e}`})()};const Rn=[429,503,502,504];var Tn=({response:e,retriesAttempted:t})=>t<3&&Rn.includes(e.statusCode);var On=({response:e,retriesAttempted:t})=>{let n=(e=>{const t=e.getHeader("Retry-After");let n;if(t){const e=parseInt(t,10);n=ue(e)?1e3*e:Math.max(0,new Date(t).getTime()-(new Date).getTime())}return n})(e);return void 0===n&&(n=(e=>{const t=1e3+1e3*e,n=.3*t,r=t-n,o=t+n;return Math.round(r+Math.random()*(o-r))})(t)),n};const Mn=({eventManager:e,logger:t})=>({commands:{sendEvent:{documentationUri:"https://adobe.ly/3GQ3Q7t",optionsValidator:e=>(({options:e})=>St({type:Pt(),xdm:St({eventType:Pt(),identityMap:Rt}),data:St({}),documentUnloading:It(),renderDecisions:It(),decisionScopes:wt(Pt()).uniqueItems(),personalization:St({decisionScopes:wt(Pt()).uniqueItems(),surfaces:wt(Pt()).uniqueItems(),sendDisplayEvent:It().default(!0),includeRenderedPropositions:It().default(!1),defaultPersonalizationEnabled:It(),decisionContext:St({})}).default({sendDisplayEvent:!0}),datasetId:Pt(),mergeId:Pt(),edgeConfigOverrides:Tt,advertising:St({handleAdvertisingData:Dt(Bt,Ft,Vt).default(Bt)})}).required().noUnknownFields()(e))({options:e}),run:n=>{const{xdm:r,data:o,documentUnloading:i,type:s,mergeId:c,datasetId:d,edgeConfigOverrides:l,...u}=n,g=e.createEvent();return i&&g.documentMayUnload(),g.setUserXdm(r),g.setUserData(o),s&&g.mergeXdm({eventType:s}),c&&g.mergeXdm({eventMergeId:c}),l&&(u.edgeConfigOverrides=l),d&&(t.warn("The 'datasetId' option has been deprecated. Please use 'edgeConfigOverrides.com_adobe_experience_platform.datasets.event.datasetId' instead."),u.edgeConfigOverrides=l||{},a(u.edgeConfigOverrides,{com_adobe_experience_platform:{datasets:{event:{datasetId:d}}}})),e.sendEvent(g,u)}},applyResponse:{documentationUri:"",optionsValidator:e=>(({options:e})=>St({renderDecisions:It(),responseHeaders:Ct(Pt().required()),responseBody:St({handle:wt(St({type:Pt().required(),payload:vt().required()})).required()}).required(),personalization:St({sendDisplayEvent:It().default(!0),decisionContext:St({})}).default({sendDisplayEvent:!0})}).noUnknownFields()(e))({options:e}),run:t=>{const{renderDecisions:n=!1,decisionContext:r={},responseHeaders:o={},responseBody:i={handle:[]},personalization:a}=t,s=e.createEvent();return e.applyResponse(s,{renderDecisions:n,decisionContext:r,responseHeaders:o,responseBody:i,personalization:a})}}}});Mn.namespace="DataCollector";const Nn=(e,t)=>`ID sync ${t?"succeeded":"failed"}: ${e.spec.url}`;const An=St({thirdPartyCookiesEnabled:It().default(!0),idMigrationEnabled:It().default(!0)});var xn=St({url:Pt().required().nonEmpty(),edgeConfigOverrides:Tt}).required().noUnknownFields(),qn="ECID",$n="CORE",Ln="adobe_mc",_n=e=>{try{return decodeURIComponent(e)}catch{return""}};var jn=(e,t)=>{e.addIdentity(qn,{id:t})},Un=e=>e.getPayloadsByType("identity:result").reduce((e,t)=>(t.namespace&&t.namespace.code&&(e[t.namespace.code]=t.id),e),{}),Bn=({payload:e,datastreamIdOverride:t})=>un({payload:e,datastreamIdOverride:t,getAction:()=>"identity/acquire",getUseSendBeacon:()=>!1}),Fn=e=>{const t={query:{identity:{fetch:e}}};return pn({content:t,addIdentity:ln(t),hasIdentity:mn(t)})};const Vn=/^([^?#]*)(\??[^#]*)(#?.*)$/;const Hn=St({namespaces:wt(Dt(qn,$n)).nonEmpty().uniqueItems().default([qn]),edgeConfigOverrides:Tt}).noUnknownFields().default({namespaces:[qn]});const zn=({config:e,logger:t,consent:n,fireReferrerHideableImage:r,sendEdgeNetworkRequest:o,apexDomain:i,getBrowser:a,identity:s,platformServices:c})=>{const{orgId:l,thirdPartyCookiesEnabled:u,edgeConfigOverrides:g}=e,p=(({config:e,getEcidFromVisitor:t,apexDomain:n,isPageSsl:r,cookieJar:o})=>{const{idMigrationEnabled:i,orgId:a}=e,s=`AMCV_${a}`,c=()=>{let e=null;const t=o.get("s_ecid")||o.get(s);if(t){const n=/(^|\|)MCMID\|(\d+)($|\|)/,r=t.match(n);r&&(e=r[2])}return e};return{getEcid(){if(i){const e=c();return e?Promise.resolve(e):t()}return Promise.resolve()},setEcid(e){if(i&&c()!==e){const t=r?{sameSite:"none",secure:!0}:{};o.set(s,`MCMID|${e}`,{domain:n,expires:390,...t})}}}})({config:e,getEcidFromVisitor:()=>c.legacy.getEcidFromVisitor({orgId:l,logger:t}),apexDomain:i,cookieJar:d({logger:t,cookieJar:c.cookie}),isPageSsl:c.globals.isPageSsl()}),m=ae({orgId:l,cookieJar:c.cookie}),f=(({sendEdgeNetworkRequest:e,createIdentityRequestPayload:t,createIdentityRequest:n,globalConfigOverrides:r})=>({namespaces:o,edgeConfigOverrides:i}={})=>{const a=hn({payload:t(o),globalConfigOverrides:r,localConfigOverrides:i}),s=n(a);return e({request:s})})({sendEdgeNetworkRequest:o,createIdentityRequestPayload:Fn,createIdentityRequest:Bn,globalConfigOverrides:g}),h=ie({getBrowser:a}),y=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>n=>{e&&t()&&n.setUseIdThirdPartyDomain()})({thirdPartyCookiesEnabled:u,areThirdPartyCookiesSupportedByDefault:h}),v=(({getLegacyEcid:e,addEcidToPayload:t})=>n=>n.hasIdentity(qn)?Promise.resolve():e().then(e=>{e&&t(n,e)}))({getLegacyEcid:p.getEcid,addEcidToPayload:jn}),w=(({locationSearch:e,locationHash:t,dateProvider:n,orgId:r,logger:o})=>i=>{if(i.hasIdentity(qn))return;let a=be.parse(e)[Ln]??be.parse(t.slice(t.indexOf("?")))[Ln];if(void 0===a)return;Array.isArray(a)&&(o.warn("Found multiple adobe_mc query string parameters, only using the last one."),a=a[a.length-1]);let s="";for(;s!==a;)s=a,a=_n(a);const c=a.split("|").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=_n(r),e[n]=e[n].replace(/[^a-zA-Z0-9@.]/g,""),e},{}),d=parseInt(c.TS,10),l=c.MCMID,u=_n(c.MCORGID);n().getTime()/1e3<=d+300&&u===r&&l?(o.info(`Found valid ECID identity ${l} from the adobe_mc query string parameter.`),i.addIdentity(qn,{id:l})):o.info("Detected invalid or expired adobe_mc query string parameter.")})({locationSearch:c.globals.getLocationSearch(),locationHash:c.globals.getLocationHash(),dateProvider:()=>new Date,orgId:l,logger:t}),I=(({doesIdentityCookieExist:e,orgId:t,logger:n})=>({onResponse:r,onRequestFailure:o})=>new Promise((i,a)=>{r(()=>{e()?i():(n.warn(`Identity cookie not found. This could be caused by any of the following issues:\n\t* The org ID ${t} configured in Alloy doesn't match the org ID specified in the edge configuration.\n\t* Experience edge was not able to set the identity cookie due to domain or cookie restrictions.\n\t* The request was canceled by the browser and not fully processed.`),a(new Error("Identity cookie not found.")))}),o(()=>{e()?i():a(new Error("Identity cookie not found."))})}))({doesIdentityCookieExist:m,orgId:l,logger:t}),b=(({doesIdentityCookieExist:e,setDomainForInitialIdentityPayload:t,addLegacyEcidToPayload:n,awaitIdentityCookie:r,logger:o})=>{let i;const a=e=>(t(e),n(e.getPayload()));return({request:t,onResponse:n,onRequestFailure:s})=>{if(e())return t.setIsIdentityEstablished(),Promise.resolve();if(i){o.info("Delaying request while retrieving ECID from server.");const e=i;return i=e.catch(()=>r({onResponse:n,onRequestFailure:s})),i.catch(()=>{}),e.then(()=>{o.info("Resuming previously delayed request."),t.setIsIdentityEstablished()}).catch(()=>a(t))}return i=r({onResponse:n,onRequestFailure:s}),i.catch(()=>{}),a(t)}})({doesIdentityCookieExist:m,setDomainForInitialIdentityPayload:y,addLegacyEcidToPayload:v,awaitIdentityCookie:I,logger:t}),E=(({fireReferrerHideableImage:e,logger:t})=>n=>{const r=n.filter(e=>"url"===e.type);return r.length?Promise.all(r.map(n=>e(n.spec).then(()=>{t.info(Nn(n,!0))}).catch(()=>{t.warn(Nn(n,!1))}))).then(me):Promise.resolve()})({fireReferrerHideableImage:r,logger:t}),k=(({processIdSyncs:e})=>t=>{e(t.getPayloadsByType("identity:exchange"))})({processIdSyncs:E}),C=(({dateProvider:e,orgId:t})=>(n,r)=>{const o=Math.round(e().getTime()/1e3),i=encodeURIComponent(`TS=${o}|MCMID=${n}|MCORGID=${encodeURIComponent(t)}`),[,a,s,c]=r.match(Vn),d=(e=>""===e?"?":"?"===e?"":"&")(s);return`${a}${s}${d}adobe_mc=${i}${c}`})({dateProvider:()=>new Date,orgId:l}),S=(({thirdPartyCookiesEnabled:e})=>t=>{const n=Hn(t);if(!e&&n.namespaces.includes($n))throw new Error(`namespaces: The ${$n} namespace cannot be requested when third-party cookies are disabled.`);return n})({thirdPartyCookiesEnabled:u}),P=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>{const n={identity:{fetch:[qn]}};return e&&t()&&n.identity.fetch.push($n),e=>{e.mergeQuery(n)}})({thirdPartyCookiesEnabled:u,areThirdPartyCookiesSupportedByDefault:h});return(({addEcidQueryToPayload:e,addQueryStringIdentityToPayload:t,ensureSingleIdentity:n,setLegacyEcid:r,handleResponseForIdSyncs:o,getNamespacesFromResponse:i,getIdentity:a,consent:s,appendIdentityToUrl:c,logger:d,identity:l,getIdentityOptionsValidator:u})=>{let g,p={};return{lifecycle:{onBeforeRequest:({request:r,onResponse:o,onRequestFailure:i})=>(e(r.getPayload()),t(r.getPayload()),n({request:r,onResponse:o,onRequestFailure:i})),onResponse({response:e}){const t=i(e);return g&&g[qn]||!t||!t[qn]||r(t[qn]),t&&Object.keys(t).length>0&&(g={...g,...t}),p={...p,...e.getEdge()},l.getEcidFromCookie()&&l.setIdentityAcquired(),o(e)}},commands:{getIdentity:{optionsValidator:u,run:e=>{const{namespaces:t}=e;return s.awaitConsent().then(()=>{if(g)return;const n=l.getEcidFromCookie();return n&&t.includes(qn)&&(g||(g={}),g[qn]=n,1===t.length)?void 0:a(e)}).then(()=>({identity:t.reduce((e,t)=>(e[t]=g[t]||null,e),{}),edge:p}))}},appendIdentityToUrl:{optionsValidator:xn,run:e=>s.withConsent().then(()=>{if(g)return;const t=l.getEcidFromCookie();return t?(g||(g={}),void(g[qn]=t)):a(e)}).then(()=>({url:c(g[qn],e.url)})).catch(t=>(d.warn(`Unable to append identity to url. ${t.message}`),e))}}}})({addEcidQueryToPayload:P,addQueryStringIdentityToPayload:w,ensureSingleIdentity:b,setLegacyEcid:p.setEcid,handleResponseForIdSyncs:k,getNamespacesFromResponse:Un,getIdentity:f,consent:n,identity:s,appendIdentityToUrl:C,logger:t,getIdentityOptionsValidator:S})};zn.namespace="Identity",zn.configValidators=An;var Jn="2.36.0";const Xn=({config:e,componentRegistry:t,libraryVersion:n})=>{const r=[...t.getCommandNames(),Zt,en].sort(),o={...Ee(e)};Object.keys(e).forEach(t=>{const n=e[t];"function"==typeof n&&(o[t]=n.toString())});const i=t.getComponentNames();return{version:n,configs:o,commands:r,components:i}},Gn=({config:e,componentRegistry:t,platformServices:n})=>{const r=n?.libraryVersionOverride??Jn;return{commands:{getLibraryInfo:{run:()=>({libraryInfo:Xn({config:e,componentRegistry:t,libraryVersion:r})})}}}};Gn.namespace="LibraryInfo";var Qn=Object.freeze({__proto__:null,dataCollector:Mn,identity:zn,libraryInfo:Gn});const Wn=St({debugEnabled:It().default(!1),datastreamId:Pt().unique().required(),edgeDomain:Pt().domain().default("edge.adobedc.net"),edgeBasePath:Pt().nonEmpty().default("ee"),orgId:Pt().unique().required(),onBeforeEventSend:bt().default(me),edgeConfigOverrides:Tt,edgeCredentials:St({clientId:Pt().nonEmpty().required(),clientSecret:Pt().nonEmpty().required(),scopes:wt(Pt().nonEmpty()).nonEmpty().required(),imsHost:Pt().domain().default("ims-na1.adobelogin.com")})}).renamed("edgeConfigId",Pt().unique(),"datastreamId"),Kn=({instanceName:e,monitors:t=[],components:n,createPlatformServices:r,coreConfigValidators:o=Wn,getImsAccessToken:i})=>{const a=r(),s=[...a.globals.getMonitors(),...t],l=(({console:e,createLogger:t,instanceName:n,getMonitors:r,storage:o})=>{let i=!1,a=!1;o.getItem("debug").then(e=>{null===e||a||(i="true"===e,a=!0)}).catch(()=>{});const s=()=>i;return{setDebugEnabled:(e,{fromConfig:t=!1}={})=>{if(t&&a||(i=e),!t){a=!0;const t=o.setItem("debug",String(e));t&&"function"==typeof t.then&&t.catch(()=>{})}},logger:t({getDebugEnabled:s,context:{instanceName:n},getMonitors:r,console:e}),createComponentLogger:o=>t({getDebugEnabled:s,context:{instanceName:n,componentName:o},getMonitors:r,console:e})}})({console:globalThis.console,createLogger:cn,instanceName:e,getMonitors:()=>s,storage:a.storage.createNamespacedStorage(`instance.${e}.`).session}),{setDebugEnabled:u,logger:g,createComponentLogger:p}=l,m=a.createNetworkService(g),f=be.parse(a.globals.getLocationSearch());var h;void 0!==f[In]&&u((h=f[In],ge(h)&&"true"===h.toLowerCase()),{fromConfig:!1});const y=((e,t)=>{let n="";const r=e.toLowerCase().split(".");let o=1;for(;o<r.length&&!t.get(z);)o+=1,n=H(r,o).join("."),t.set(z,z,{domain:n});return t.remove(z,{domain:n}),n})(a.globals.getHostname(),a.cookie),{fireReferrerHideableImage:v}=a.globals,w=(({getLocationSearch:e,storage:t})=>{let n=Ne();return t.getItem(yn).then(e=>{if(e)n=e;else{const e=t.setItem(yn,n);e&&"function"==typeof e.then&&e.catch(()=>{})}}).catch(()=>{}),()=>{const t=be.parse(e()).adb_validation_sessionid;if(!t)return"";const r=`${t}|${n}`;return`&${be.stringify({adobeAepValidationToken:r})}`}})({getLocationSearch:()=>a.globals.getLocationSearch(),storage:a.storage.createNamespacedStorage(`instance.${e}.validation.`).persistent}),b=se({userAgent:a.globals.getUserAgent()}),E=At(),k=Mt(E),C=n.concat(Object.values(Qn)),S=d({logger:g,cookieJar:a.cookie}),P=sn({errorPrefix:`[${e}]`,logger:g}),D=tn({logger:g,configureCommand:t=>{const n=on({options:t,componentCreators:C,coreConfigValidators:o,createConfig:an,logger:g,setDebugEnabled:u}),{orgId:r,targetMigrationEnabled:s}=n,d=wn({orgId:r,targetMigrationEnabled:s}),l=(({cookieJar:e,shouldTransferCookie:t,apexDomain:n,dateProvider:r})=>({cookiesToPayload(r,o,i=[]){const a=""!==n&&o.endsWith(n),s={domain:n,cookiesEnabled:!0};if(!a||I(i)){const n=e.getAll(),r=new Map,o=e=>{void 0===n[e]||r.has(e)||r.set(e,{key:e,value:n[e]})};a||Object.keys(n).filter(t).forEach(o),I(i)&&i.forEach(o),r.size&&(s.entries=[...r.values()])}r.mergeState(s)},responseToCookies(t){t.getPayloadsByType("state:store").forEach(t=>{const o={domain:n},i=t.attrs&&t.attrs.SameSite&&t.attrs.SameSite.toLowerCase();void 0!==t.maxAge&&(o.expires=new Date(r().getTime()+1e3*t.maxAge)),void 0!==i&&(o.sameSite=i),"none"===i&&(o.secure=!0),e.set(t.key,t.value,o)})}}))({cookieJar:S,shouldTransferCookie:d,apexDomain:y,dateProvider:()=>new Date}),f=(({logger:e,sendFetchRequest:t,sendBeaconRequest:n,isRequestRetryable:r,getRequestRetryDelay:o})=>({requestId:i,url:a,payload:s,useSendBeacon:c,headers:d})=>{const l=JSON.stringify(s),u=JSON.parse(l);e.logOnBeforeNetworkRequest({url:a,requestId:i,payload:u});const g=(s=0)=>(c&&!d?n:t)(a,l,d).then(t=>{if(r({response:t,retriesAttempted:s})){const e=o({response:t,retriesAttempted:s});return new Promise(t=>{setTimeout(()=>{t(g(s+1))},e)})}let n;try{n=JSON.parse(t.body)}catch{}return e.logOnNetworkResponse({requestId:i,url:a,payload:u,...t,parsedBody:n,retriesAttempted:s}),{statusCode:t.statusCode,body:t.body,parsedBody:n,getHeader:t.getHeader}});return g().catch(t=>{throw e.logOnNetworkError({requestId:i,url:a,payload:u,error:t}),De({error:t,message:"Network request failed."})})})({logger:g,sendFetchRequest:m.sendFetchRequest,sendBeaconRequest:m.sendBeaconRequest,isRequestRetryable:Tn,getRequestRetryDelay:On}),h=(({logger:e})=>t=>{const{statusCode:n,body:r,parsedBody:o}=t;if(n<200||n>=300||!o&&204!==n||o&&!Array.isArray(o.handle)){const e=o?JSON.stringify(o,null,2):r;throw new Error(`${Pn} status code ${n} and ${e?`response body:\n${e}`:"no response body."}`)}if(o){const{warnings:t=[],errors:n=[]}=o;t.forEach(t=>{e.warn(`${Pn} warning:`,t)}),n.forEach(t=>{e.error(`${Pn} non-fatal error:`,t)})}})({logger:g}),P=(({logger:e})=>t=>{if(t){const n=t.split(";");if(n.length>=2&&n[1].length>0)try{const e=parseInt(n[1],10);if(!Number.isNaN(e))return{regionId:e}}catch{}e.warn(`Invalid adobe edge: "${t}"`)}return{}})({logger:g}),D=(({extractEdgeInfo:e})=>({content:t={},getHeader:n})=>{const{handle:r=[],errors:o=[],warnings:i=[]}=t;return{getPayloadsByType:e=>r.filter(t=>t.type===e).flatMap(e=>e.payload),getErrors:()=>o,getWarnings:()=>i,getEdge:()=>e(n("x-adobe-edge")),toJSON:()=>t}})({extractEdgeInfo:P}),R=Dn({orgId:r,cookieJar:a.cookie}),T=n.edgeCredentials?i||Sn({edgeCredentials:n.edgeCredentials}):void 0,O=Cn({config:n,lifecycle:k,cookieTransfer:l,sendNetworkRequest:f,createResponse:D,processWarningsAndErrors:h,getLocationHint:R,getAssuranceValidationTokenParams:w,getImsAccessToken:T}),M=(({cookieTransfer:e,lifecycle:t,createResponse:n,processWarningsAndErrors:r})=>({request:o,responseHeaders:i,responseBody:a,runOnResponseCallbacks:s=me,runOnRequestFailureCallbacks:d=me})=>{const l=c();l.add(t.onResponse),l.add(s);const u=c();u.add(t.onRequestFailure),u.add(d);const g=e=>i[e];return t.onBeforeRequest({request:o,onResponse:l.add,onRequestFailure:u.add}).then(()=>r({statusCode:200,getHeader:g,body:JSON.stringify(a),parsedBody:a})).catch(En(u)).then(()=>{const t=n({content:a,getHeader:g});return e.responseToCookies(t),l.call({response:t}).then(bn)})})({lifecycle:k,cookieTransfer:l,createResponse:D,processWarningsAndErrors:h}),N=(({generalConsentState:e,logger:t})=>{const n=(n,r)=>{switch(n[Ht]){case _t:e.in(r);break;case jt:e.out(r);break;case Ut:e.pending(r);break;default:t.warn(`Unknown consent value: ${n[Ht]}`)}};return{initializeConsent(e,t){t[Ht]?n(t,Xt):n(e,Jt)},setConsent(e){n(e,Gt)},suspend(){e.pending()},awaitConsent:()=>e.awaitConsent(),withConsent:()=>e.withConsent(),current:()=>e.current()}})({generalConsentState:Wt({logger:g}),logger:g}),A=Lt({config:n,logger:g,loggingCookieJar:S});A.initialize();const x=(({config:e,logger:t,lifecycle:n,consent:r,createEvent:o,createDataCollectionRequestPayload:i,createDataCollectionRequest:a,sendEdgeNetworkRequest:s,applyResponse:d})=>{const{onBeforeEventSend:l,edgeConfigOverrides:u}=e;return{createEvent:o,sendEvent(e,o={}){const{edgeConfigOverrides:d,...g}=o,p=hn({payload:i(),localConfigOverrides:d,globalConfigOverrides:u}),m=a(p),f=c(),h=c();return n.onBeforeEvent({...g,event:e,onResponse:f.add,onRequestFailure:h.add}).then(()=>(p.payload.addEvent(e),r.awaitConsent())).then(()=>{try{e.finalize(l)}catch(e){const t=()=>{throw e};return h.add(n.onRequestFailure),h.call({error:e}).then(t,t)}if(!e.shouldSend()){h.add(n.onRequestFailure),t.info(vn);const e=new Error(vn);return h.call({error:e}).then(()=>{})}return s({request:m,runOnResponseCallbacks:f.call,runOnRequestFailureCallbacks:h.call})})},applyResponse(e,t={}){const{renderDecisions:r=!1,decisionContext:o={},responseHeaders:s={},responseBody:l={handle:[]},personalization:u}=t,g=i(),p=a({payload:g}),m=c();return n.onBeforeEvent({event:e,renderDecisions:r,decisionContext:o,decisionScopes:[dn],personalization:u,onResponse:m.add,onRequestFailure:me}).then(()=>(g.addEvent(e),d({request:p,responseHeaders:s,responseBody:l,runOnResponseCallbacks:m.call})))}}})({config:n,logger:g,lifecycle:k,consent:N,createEvent:Yt,createDataCollectionRequestPayload:fn,createDataCollectionRequest:gn,sendEdgeNetworkRequest:O,applyResponse:M});return(({componentCreators:e,lifecycle:t,componentRegistry:n,getImmediatelyAvailableTools:r})=>(e.forEach(e=>{const{namespace:t}=e,o=r(t);let i;try{i=e(o)}catch(e){throw De({error:e,message:`[${t}] An error occurred during component creation.`})}n.register(t,i)}),t.onComponentsRegistered({lifecycle:t}).then(()=>n)))({componentCreators:C,lifecycle:k,componentRegistry:E,getImmediatelyAvailableTools(t){const r=p(t);return{loggingCookieJar:S,instanceName:e,config:n,componentRegistry:E,consent:N,identity:A,eventManager:x,fireReferrerHideableImage:v,logger:r,lifecycle:k,sendEdgeNetworkRequest:O,handleError:sn({errorPrefix:`[${e}] [${t}]`,logger:r}),apexDomain:y,getBrowser:b,cookieTransfer:l,createResponse:D,platformServices:a}}})},setDebugCommand:e=>{u(e.enabled,{fromConfig:!1})},handleError:P,validateCommandOptions:rn});return g.logOnInstanceCreated({instance:D}),D},Yn=(e,t)=>`URL destination ${t?"succeeded":"failed"}: ${e.spec.url}`;var Zn=({fireReferrerHideableImage:e,logger:t,cookieJar:n,isPageSsl:r})=>{const o=r?{sameSite:"none",secure:!0}:{};return r=>((e=>{e.filter(e=>"cookie"===e.type).forEach(e=>{const{name:t,value:r,domain:i,ttlDays:a}=e.spec;n.set(t,r||"",{domain:i||"",expires:a||10,...o})})})(r),(async n=>{const r=n.filter(e=>"url"===e.type);await Promise.allSettled(r.map(async n=>{try{await e(n.spec),t.info(Yn(n,!0))}catch{t.warn(Yn(n,!1))}}))})(r))};const er=({logger:e,fireReferrerHideableImage:t,platformServices:n})=>{const r=n.cookie.withConverter({write:e=>encodeURIComponent(e)}),o=d({logger:e,cookieJar:r}),i=(({processDestinations:e})=>({response:t})=>{const n=t.getPayloadsByType("activation:push");return e(n),{destinations:t.getPayloadsByType("activation:pull")}})({processDestinations:Zn({fireReferrerHideableImage:t,logger:e,cookieJar:o,isPageSsl:n.globals.isPageSsl()})});return{lifecycle:{onResponse:i},commands:{}}};er.namespace="Audiences";const tr=({standard:e,version:t})=>`${e}.${t}`;var nr=({storage:e})=>({clear(){e.clear()},lookup(t){const n={},r=e=>{const t=tr(e),{standard:r,version:o,...i}=e;var a;return n[t]||(n[t]=(a=i,F(JSON.stringify(Ce(a)))).toString()),n[t]};return{isNew:async()=>(await Promise.all(t.map(async t=>{const n=tr(t),o=await e.getItem(n);return null===o||o!==r(t)}))).some(Boolean),async save(){await Promise.all(t.map(t=>{const n=tr(t);return e.setItem(n,r(t))}))}}}}),rr=()=>{const e={};return{...pn({content:e,addIdentity:(t,n)=>{e.identityMap=e.identityMap||{},e.identityMap[t]=e.identityMap[t]||[],e.identityMap[t].push(n)},hasIdentity:t=>void 0!==(e.identityMap&&e.identityMap[t])}),setConsent:t=>{e.consent=t}}},or=({payload:e,datastreamIdOverride:t})=>un({payload:e,datastreamIdOverride:t,getAction:()=>"privacy/set-consent",getUseSendBeacon:()=>!1}),ir=e=>e.split(";").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=r,e},{}),ar=St({consent:wt(vt()).required().nonEmpty(),identityMap:Rt,edgeConfigOverrides:Tt}).noUnknownFields().required(),sr=St({defaultConsent:Dt(_t,jt,Ut).default(_t)});const cr=({config:e,consent:n,sendEdgeNetworkRequest:r,platformServices:o})=>{const{orgId:i,defaultConsent:a}=e,s=(({parseConsentCookie:e,orgId:t,cookieJar:n})=>{const r=G(t,"consent");return{read(){const t=n.get(r);return t?e(t):{}},clear(){n.remove(r)}}})({parseConsentCookie:ir,orgId:i,cookieJar:o.cookie}),c=(()=>{let e=0,t=Promise.resolve();return{addTask(n){e+=1;const r=()=>n().finally(()=>{e-=1});return t=t.then(r,r),t},get length(){return e}}})(),d=(({createConsentRequestPayload:e,createConsentRequest:n,sendEdgeNetworkRequest:r,edgeConfigOverrides:o})=>({consentOptions:i,identityMap:a,edgeConfigOverrides:s})=>{const c=hn({payload:e(),globalConfigOverrides:o,localConfigOverrides:s});c.payload.setConsent(i),t(a)&&Object.keys(a).forEach(e=>{a[e].forEach(t=>{c.payload.addIdentity(e,t)})});const d=n(c);return r({request:d}).then(()=>{})})({createConsentRequestPayload:rr,createConsentRequest:or,sendEdgeNetworkRequest:r,edgeConfigOverrides:e.edgeConfigOverrides}),l=o.storage.createNamespacedStorage(`${X(i)}.consentHashes.`),u=nr({storage:l.persistent}),g=ae({orgId:i,cookieJar:o.cookie});return(({storedConsent:e,taskQueue:t,defaultConsent:n,consent:r,sendSetConsentRequest:o,validateSetConsentOptions:i,consentHashStore:a,doesIdentityCookieExist:s})=>{const c={[Ht]:n};let d=e.read();const l=s(),u=void 0!==d[Ht];l&&u||a.clear(),l||(e.clear(),d={}),r.initializeConsent(c,d);const g=()=>{if(0===t.length){const t=e.read();void 0!==t[Ht]&&r.setConsent(t)}};return{commands:{setConsent:{optionsValidator:i,run:({consent:n,identityMap:i,edgeConfigOverrides:s})=>{r.suspend();const d=a.lookup(n);return t.addTask(async()=>{if(await d.isNew())return o({consentOptions:n,identityMap:i,edgeConfigOverrides:s})}).then(()=>d.save()).catch(n=>{throw 0===t.length&&void 0===e.read()[Ht]&&r.setConsent(c),n}).finally(g)}}},lifecycle:{onResponse:g,onRequestFailure:g}}})({storedConsent:s,taskQueue:c,defaultConsent:a,consent:n,sendSetConsentRequest:d,validateSetConsentOptions:ar,consentHashStore:u,doesIdentityCookieExist:g})};cr.namespace="Consent",cr.configValidators=sr;var dr=()=>({eventMergeId:Ne()});const lr=()=>(({createEventMergeId:e})=>({commands:{createEventMergeId:{run:e}}}))({createEventMergeId:dr});lr.namespace="EventMerge";var ur={PAUSE:"media.pauseStart",PLAY:"media.play",BUFFER_START:"media.bufferStart",AD_START:"media.adStart",Ad_BREAK_START:"media.adBreakStart",SESSION_END:"media.sessionEnd",SESSION_START:"media.sessionStart",SESSION_COMPLETE:"media.sessionComplete",PING:"media.ping",AD_BREAK_COMPLETE:"media.adBreakComplete",AD_COMPLETE:"media.adComplete",AD_SKIP:"media.adSkip",BITRATE_CHANGE:"media.bitrateChange",CHAPTER_COMPLETE:"media.chapterComplete",CHAPTER_SKIP:"media.chapterSkip",CHAPTER_START:"media.chapterStart",ERROR:"media.error",STATES_UPDATE:"media.statesUpdate"},gr=({config:e,eventManager:t,consent:n,sendEdgeNetworkRequest:r,setTimestamp:o})=>({createMediaEvent({options:n}){const r=t.createEvent(),{xdm:i}=n;if(o(r),r.setUserXdm(i),i.eventType===ur.AD_START){const{advertisingDetails:t}=n.xdm.mediaCollection;r.mergeXdm({mediaCollection:{advertisingDetails:{playerName:t.playerName||e.streamingMedia.playerName}}})}return r},createMediaSession(n){const{playerName:r,channel:i,appVersion:a}=e.streamingMedia,s=t.createEvent(),{sessionDetails:c}=n.xdm.mediaCollection;return o(s),s.setUserXdm(n.xdm),s.mergeXdm({eventType:ur.SESSION_START,mediaCollection:{sessionDetails:{playerName:c.playerName||r,channel:c.channel||i,appVersion:c.appVersion||a}}}),s},augmentMediaEvent({event:e,playerId:t,getPlayerDetails:n,sessionID:r}){if(!t||!n)return e;const{playhead:o,qoeDataDetails:i}=n({playerId:t});return e.mergeXdm({mediaCollection:{playhead:Re(o),qoeDataDetails:i,sessionID:r}}),e},trackMediaSession({event:e,mediaOptions:n,edgeConfigOverrides:r}){const o={mediaOptions:n,edgeConfigOverrides:r};return t.sendEvent(e,o)},trackMediaEvent({event:e,action:t}){const o=fn(),i=(({mediaRequestPayload:e,action:t})=>un({payload:e,edgeSubPath:"/va",getAction:()=>t,getUseSendBeacon:()=>!1}))({mediaRequestPayload:o,action:t});return o.addEvent(e),e.finalize(),n.awaitConsent().then(()=>r({request:i}).then(()=>({})))}}),pr="main",mr="completed",fr=()=>{let e;return{getSession:t=>e[t]||{},storeSession:({playerId:t,sessionDetails:n})=>{void 0===e&&(e={}),e[t]=n},stopPing:({playerId:t})=>{const n=e[t];n&&(clearTimeout(n.pingId),n.pingId=null,n.playbackState=mr)},savePing:({playerId:t,pingId:n,playbackState:r})=>{e[t]&&(e[t].pingId&&clearTimeout(e[t].pingId),e[t].pingId=n,e[t].playbackState=r)}}};var hr=({mediaEventManager:e,mediaSessionCacheManager:t,config:n})=>{const r=o=>{const i=e.createMediaEvent({options:o}),{playerId:a,xdm:s}=o,{eventType:c}=s,d=c.split(".")[1],{getPlayerDetails:l,sessionPromise:u,playbackState:g}=t.getSession(a);return u.then(o=>o.sessionId?(e.augmentMediaEvent({event:i,eventType:c,playerId:a,getPlayerDetails:l,sessionID:o.sessionId}),e.trackMediaEvent({event:i,action:d}).then(()=>{if(a)if(c===ur.SESSION_COMPLETE||c===ur.SESSION_END)t.stopPing({playerId:a});else{const e=((e,t)=>e===ur.AD_START||e===ur.Ad_BREAK_START||e===ur.AD_SKIP||e===ur.AD_COMPLETE?"ad":e===ur.AD_BREAK_COMPLETE||e===ur.CHAPTER_COMPLETE||e===ur.CHAPTER_START||e===ur.CHAPTER_SKIP||e===ur.SESSION_START?"main":e===ur.SESSION_END||e===ur.SESSION_COMPLETE?"completed":t)(c,g);if("completed"===e)return;const o="ad"===e?n.streamingMedia.adPingInterval:n.streamingMedia.mainPingInterval,i=setTimeout(()=>{r({playerId:a,xdm:{eventType:ur.PING}})},1e3*o);t.savePing({playerId:a,pingId:i,playbackState:e})}})):Promise.reject(new Error(`Failed to trigger media event: ${c}. Session ID is not available for playerId: ${a}.`)))};return e=>r(e)},yr=({config:e,mediaEventManager:t,mediaSessionCacheManager:n,legacy:r=!1})=>o=>{if(!e.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));const{playerId:i,getPlayerDetails:a,edgeConfigOverrides:s}=o,c=t.createMediaSession(o);t.augmentMediaEvent({event:c,playerId:i,getPlayerDetails:a});const d=t.trackMediaSession({event:c,mediaOptions:{playerId:i,getPlayerDetails:a,legacy:r},edgeConfigOverrides:s});return n.storeSession({playerId:i,sessionDetails:{sessionPromise:d,getPlayerDetails:a,playbackState:pr}}),d},vr=e=>!ge(e)||!e.trim(),wr=({mediaSessionCacheManager:e,config:t,trackMediaEvent:n})=>({response:r,playerId:o,getPlayerDetails:i})=>{const a=r.getPayloadsByType("media-analytics:new-session");if(I(a)){const{sessionId:r}=a[0];if(vr(r))return{};if(!o||!i)return{sessionId:r};const s=setTimeout(()=>{n({playerId:o,xdm:{eventType:ur.PING}})},1e3*t.streamingMedia.mainPingInterval);return e.savePing({playerId:o,pingId:s,playbackState:pr}),{sessionId:r}}return{}};const Ir={Video:"video",Audio:"audio"},br={VOD:"vod",Live:"live",Linear:"linear",Podcast:"podcast",Audiobook:"audiobook",AOD:"aod"},Er={FullScreen:"fullScreen",ClosedCaption:"closedCaptioning",Mute:"mute",PictureInPicture:"pictureInPicture",InFocus:"inFocus"},kr={AdBreakStart:"adBreakStart",AdBreakComplete:"adBreakComplete",AdStart:"adStart",AdComplete:"adComplete",AdSkip:"adSkip",ChapterStart:"chapterStart",ChapterComplete:"chapterComplete",ChapterSkip:"chapterSkip",SeekStart:"seekStart",SeekComplete:"seekComplete",BufferStart:"bufferStart",BufferComplete:"bufferComplete",BitrateChange:"bitrateChange",StateStart:"stateStart",StateEnd:"stateEnd"},Cr="sessionStart",Sr="sessionEnd",Pr="sessionComplete",Dr="play",Rr="pauseStart",Tr="error",Or="statesUpdate",Mr={MediaResumed:"media.resumed",GranularAdTracking:"media.granularadtracking"},Nr={Show:"a.media.show",Season:"a.media.season",Episode:"a.media.episode",AssetId:"a.media.asset",Genre:"a.media.genre",FirstAirDate:"a.media.airDate",FirstDigitalDate:"a.media.digitalDate",Rating:"a.media.rating",Originator:"a.media.originator",Network:"a.media.network",ShowType:"a.media.type",AdLoad:"a.media.adLoad",MVPD:"a.media.pass.mvpd",Authorized:"a.media.pass.auth",DayPart:"a.media.dayPart",Feed:"a.media.feed",StreamFormat:"a.media.format"},Ar={Artist:"a.media.artist",Album:"a.media.album",Label:"a.media.label",Author:"a.media.author",Station:"a.media.station",Publisher:"a.media.publisher"},xr={Advertiser:"a.media.ad.advertiser",CampaignId:"a.media.ad.campaign",CreativeId:"a.media.ad.creative",PlacementId:"a.media.ad.placement",SiteId:"a.media.ad.site",CreativeUrl:"a.media.ad.creativeURL"};var qr=({logger:e})=>{const t=(t,n,r)=>{const o=St(n),i=Object.keys(n);return(...n)=>{const a=Object.fromEntries(i.map((e,t)=>[e,n[t]]));try{const e=o(a),t=i.map(t=>e[t]);return r(...t)}catch(n){return e.warn(`An error occurred while creating the ${t}.`,n),{}}}};return{createMediaObject:t("MediaObject",{name:Pt().nonEmpty(),id:Pt().nonEmpty(),length:kt().required(),streamType:Pt().nonEmpty(),mediaType:Pt().nonEmpty()},(e,t,n,r,o)=>({sessionDetails:{friendlyName:e,name:t,length:Math.round(n),contentType:r,streamType:o}})),createAdBreakObject:t("AdBreakObject",{name:Pt().nonEmpty(),position:kt(),startTime:kt()},(e,t,n)=>({advertisingPodDetails:{friendlyName:e,index:t,offset:n}})),createAdObject:t("AdObject",{name:Pt().nonEmpty(),id:Pt().nonEmpty(),position:kt(),length:kt()},(e,t,n,r)=>({advertisingDetails:{friendlyName:e,name:t,podPosition:n,length:r}})),createChapterObject:t("ChapterObject",{name:Pt().nonEmpty(),position:kt(),length:kt(),startTime:kt()},(e,t,n,r)=>({chapterDetails:{friendlyName:e,index:t,length:n,offset:r}})),createStateObject:t("StateObject",{stateName:Pt().matches(/^[a-zA-Z0-9_]{1,64}$/,"This is not a valid state name.")},e=>({name:e})),createQoEObject:t("QoEObject",{bitrate:kt(),startupTime:kt(),fps:kt(),droppedFrames:kt()},(e,t,n,r)=>({bitrate:e,timeToStart:t,framesPerSecond:n,droppedFrames:r})),version:`WEBSDK ${Jn}`}};const $r={"a.media.show":"show","a.media.season":"season","a.media.episode":"episode","a.media.asset":"assetID","a.media.genre":"genre","a.media.airDate":"firstAirDate","a.media.digitalDate":"firstDigitalDate","a.media.rating":"rating","a.media.originator":"originator","a.media.network":"network","a.media.type":"showType","a.media.adLoad":"adLoad","a.media.pass.mvpd":"mvpd","a.media.pass.auth":"authorized","a.media.dayPart":"dayPart","a.media.feed":"feed","a.media.format":"streamFormat","a.media.artist":"artist","a.media.album":"album","a.media.label":"label","a.media.author":"author","a.media.station":"station","a.media.publisher":"publisher","media.resumed":"hasResume"},Lr={"a.media.ad.advertiser":"advertiser","a.media.ad.campaign":"campaignID","a.media.ad.creative":"creativeID","a.media.ad.placement":"placementID","a.media.ad.site":"siteID","a.media.ad.creativeURL":"creativeURL"};var _r=({logger:t,trackMediaSession:n,trackMediaEvent:r,uuid:o})=>{let i=null;const a=({eventType:e,mediaDetails:t={},contextData:n=[]})=>{const r=(({eventType:e})=>e===kr.BufferComplete||e===kr.SeekComplete?Dr:e===kr.StateStart||e===kr.StateEnd?Or:e===kr.SeekStart?Rr:e)({eventType:e});if(e===kr.StateStart){return{eventType:`media.${r}`,mediaCollection:{statesStart:[t]}}}if(e===kr.StateEnd){return{eventType:`media.${r}`,mediaCollection:{statesEnd:[t]}}}const o={eventType:`media.${r}`,mediaCollection:{...t}},i=[];return Object.keys(n).forEach(e=>{$r[e]?o.mediaCollection.sessionDetails[$r[e]]=n[e]:Lr[e]?o.mediaCollection.advertisingDetails[Lr[e]]=n[e]:i.push({name:e,value:n[e]})}),I(i)&&(o.mediaCollection.customMetadata=i),o};return{trackSessionStart:(r,s={})=>{if(e(r)||U(r))return t.warn("Invalid media object"),{};null===i&&(t.warn("The Media Session was completed. Restarting a new session."),i={qoe:null,lastPlayhead:0,playerId:o()});const c=a({eventType:Cr,mediaDetails:r,contextData:s});return n({playerId:i.playerId,getPlayerDetails:()=>({playhead:i.lastPlayhead,qoeDataDetails:i.qoe}),xdm:c})},trackPlay:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Dr});return r({playerId:i.playerId,xdm:e})},trackPause:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Rr});return r({playerId:i.playerId,xdm:e})},trackSessionEnd:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Sr});return r({playerId:i.playerId,xdm:e})},trackComplete:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Pr});return r({playerId:i.playerId,xdm:e})},trackError:e=>{if(t.warn(`trackError(${e})`),null===i)return t.warn("The Media Session was completed."),{};const n=a({eventType:Tr,mediaDetails:{errorDetails:{name:e,source:"player"}}});return r({playerId:i.playerId,xdm:n})},trackEvent:(e,n,o)=>{if(U(n))return t.warn("Invalid media object."),{};if(null===i)return t.warn("The Media Session was completed."),{};if(!Object.values(kr).includes(e))return t.warn("Invalid event type"),{};const s=a({eventType:e,mediaDetails:n,contextData:o});return r({playerId:i.playerId,xdm:s})},updatePlayhead:e=>{null!==i?le(e)&&(i.lastPlayhead=parseInt(e,10)):t.warn("The Media Session was completed.")},updateQoEObject:e=>{null!==i?e&&(i.qoe=e):t.warn("The Media Session was completed.")},destroy:()=>{t.warn("Destroy called, destroying the tracker."),i=null}}},jr=e=>t=>{const n=e().toISOString();t.mergeXdm({timestamp:n})};const Ur=({eventManager:e,sendEdgeNetworkRequest:t,config:n,logger:r,consent:o})=>{const i=fr(),a=gr({sendEdgeNetworkRequest:t,config:n,consent:o,eventManager:e,setTimestamp:jr(()=>new Date)}),s=hr({mediaSessionCacheManager:i,mediaEventManager:a,config:n}),c=yr({config:n,mediaEventManager:a,mediaSessionCacheManager:i,legacy:!0});return(({trackMediaEvent:e,trackMediaSession:t,mediaResponseHandler:n,logger:r,createMediaHelper:o,createGetInstance:i,config:a})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=me}){if(!e)return;const{legacy:r,playerId:o,getPlayerDetails:i}=e;r&&t(({response:e})=>n({playerId:o,getPlayerDetails:i,response:e}))}},commands:{getMediaAnalyticsTracker:{run:()=>{if(!a.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));r.info("Streaming media is configured in legacy mode.");const n=o({logger:r});return Promise.resolve({getInstance:()=>i({logger:r,trackMediaEvent:e,trackMediaSession:t,uuid:Ne}),Event:kr,MediaType:Ir,PlayerState:Er,StreamType:br,MediaObjectKey:Mr,VideoMetadataKeys:Nr,AudioMetadataKeys:Ar,AdMetadataKeys:xr,...n})}}}}))({mediaResponseHandler:wr({mediaSessionCacheManager:i,config:n,trackMediaEvent:s}),trackMediaSession:c,trackMediaEvent:s,createMediaHelper:qr,createGetInstance:_r,logger:r,config:n})};Ur.namespace="Legacy Media Analytics";const Br="AJO",Fr="TGT",Vr=e=>null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype,Hr=(e,t={},n=[])=>(Object.keys(e).forEach(r=>{Vr(e[r])||Array.isArray(e[r])?Hr(e[r],t,[...n,r]):t[[...n,r].join(".")]=e[r]}),t);var zr=e=>Vr(e)?Hr(e):e;const Jr="matcher",Xr="group",Gr="historical",Qr="eq",Wr="ne",Kr="ex",Yr="nx",Zr="gt",eo="ge",to="lt",no="le",ro="co",oo="nc",io="sw",ao="ew",so="and",co="or",lo="ordered",uo="mostRecent";function go(e){return"object"==typeof e||void 0===e}function po(e){return"number"==typeof e}const mo={[Qr]:{matches:(e,t,n=[])=>{if(go(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!go(n[e])&&r===String(n[e]).toLowerCase())return!0;return!1}},[Wr]:{matches:(e,t,n=[])=>{if(go(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!go(n[e])&&r===String(n[e]).toLowerCase())return!1;return!0}},[Kr]:{matches:(e,t)=>void 0!==e[t]&&null!==e[t]},[Yr]:{matches:(e,t)=>void 0===e[t]||null===e[t]},[Zr]:{matches:(e,t,n=[])=>{const r=e[t];if(!po(r))return!1;for(let e=0;e<n.length;e+=1)if(po(n[e])&&r>n[e])return!0;return!1}},[eo]:{matches:(e,t,n=[])=>{const r=e[t];if(!po(r))return!1;for(let e=0;e<n.length;e+=1)if(po(n[e])&&r>=n[e])return!0;return!1}},[to]:{matches:(e,t,n=[])=>{const r=e[t];if(!po(r))return!1;for(let e=0;e<n.length;e+=1)if(po(n[e])&&r<n[e])return!0;return!1}},[no]:{matches:(e,t,n=[])=>{const r=e[t];if(!po(r))return!1;for(let e=0;e<n.length;e+=1)if(po(n[e])&&r<=n[e])return!0;return!1}},[ro]:{matches:(e,t,n=[])=>{if(go(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!go(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!0;return!1}},[oo]:{matches:(e,t,n=[])=>{if(go(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!go(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!1;return!0}},[io]:{matches:(e,t,n=[])=>{if(go(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!go(n[e])&&r.startsWith(String(n[e]).toLowerCase()))return!0;return!1}},[ao]:{matches:(e,t,n=[])=>{if(go(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!go(n[e])&&r.endsWith(n[e].toLowerCase()))return!0;return!1}}};function fo(e){return void 0===e}const ho="eventId",yo="eventType",vo=["iam.eventType",yo,"type"],wo=["iam.id","id"],Io=(e,t)=>{for(let n=0;n<t.length;n+=1)if(!fo(e[t[n]]))return t[n];throw new Error("The event does not match the expected schema.")},bo=e=>{const t=structuredClone(e);return[[Io(t,vo),yo],[Io(t,wo),ho]].forEach(([e,n])=>{e!==n&&(t[n]=t[e],delete t[e])}),t};function Eo(e,t){return{evaluate:(e,n)=>t.evaluate(e,n),toString:()=>`Condition{type=${e}, definition=${t}}`}}function ko(e,t,n){return{evaluate:r=>{const o=function(e){return mo[e]}(t);return!!o&&o.matches(r,e,n)}}}function Co(e,t,n,r,o,i){return{evaluate:(a,s)=>{let c;return c=uo===i?function(e,t,n,r=0,o=1/0){try{return e.reduce((e,i,a)=>{const s=n.generateEventHash(bo(i)),c=t.events[s];if(!c)return e;const d=c.timestamps.filter(e=>e>=r&&e<=o).pop();return d&&d>e.timestamp?{index:a,timestamp:d}:e},{index:-1,timestamp:0}).index}catch{return-1}}(e,a,s,r,o):lo===i?function(e,t,n,r=0,o=1/0){try{let i=r;const a=e.every(e=>{const r=n.generateEventHash(bo(e)),a=t.events[r];if(!a)return!1;const s=a.timestamps[0],c=s>=i&&s<=o;return i=s,c});return Number(a)}catch{return 0}}(e,a,s,r,o):function(e,t,n,r=0,o=1/0){return e.reduce((e,i)=>{try{const a=n.generateEventHash(bo(i)),s=t.events[a];if(!s)return e;const{timestamps:c=[]}=s;return e+c.filter(e=>e>=r&&e<=o).length}catch{return e}},0)}(e,a,s,r,o),((e,t,n)=>{switch(t){case Zr:return e>n;case eo:return e>=n;case to:return e<n;case no:return e<=n;case Qr:return e===n;case Wr:return e!==n;default:return!1}})(c,t,n)}}}function So(e){const{logic:t,conditions:n}=e;return function(e,t){return{evaluate:(n,r)=>so===e?function(e,t,n){let r=!0;for(let o=0;o<t.length;o+=1)r=r&&t[o].evaluate(e,n);return r}(n,t,r):co===e&&function(e,t,n){let r=!1;for(let o=0;o<t.length;o+=1)if(r=r||t[o].evaluate(e,n),r)return!0;return!1}(n,t,r)}}(t,n.map(Po))}function Po(e){const{type:t,definition:n}=e;if(Jr===t){const e=function(e){const{key:t,matcher:n,values:r}=e;return ko(t,n,r)}(n);return Eo(t,e)}if(Xr===t){return Eo(t,So(n))}if(Gr===t){const e=function(e){const{events:t,from:n,to:r,matcher:o,value:i,searchType:a}=e;return Co(t,o,i,n,r,a)}(n);return Eo(t,e)}throw new Error("Can not parse condition")}function Do(e){const{id:t,type:n,detail:r}=e;return function(e,t,n){return{id:e,type:t,detail:n}}(t,n,r)}function Ro(e){const{condition:t,consequences:n,key:r}=e;return function(e,t,n){return{key:n,execute:(n,r)=>e.evaluate(n,r)?t:[],toString:()=>`Rule{condition=${e}, consequences=${t}}`}}(Po(t),n.map(Do),r)}function To(e){const{version:t,rules:n,metadata:r}=e,o=n.map(Ro),i=function(e){if(!e)return;return{provider:e.provider,providerData:Object.assign({},e.providerData)}}(r);return function(e,t,n){return{version:e,rules:t,metadata:n}}(t,o,i)}function Oo(e,t,n){const{providerData:r}=n,{identityTemplate:o}=r;return o.replace("<key>",t).replace("<identity>",e)}function Mo(e,t=e=>e[0]){const n={};return function(...r){const o=t(r);return fo(n[o])&&(n[o]=e(...r)),n[o]}}function No(e,t){const n=65535&t;return((t-n)*e|0)+(n*e|0)|0}const Ao=Mo(function(e,t=0){let n;const r=e.length,o=3432918353,i=461845907;let a=t;const s=-2&r;for(let t=0;t<s;t+=2)n=e.charCodeAt(t)|e.charCodeAt(t+1)<<16,n=No(n,o),n=(131071&n)<<15|n>>>17,n=No(n,i),a^=n,a=(524287&a)<<13|a>>>19,a=5*a+3864292196|0;return r%2==1&&(n=e.charCodeAt(s),n=No(n,o),n=(131071&n)<<15|n>>>17,n=No(n,i),a^=n),a^=r<<1,a^=a>>>16,a=No(a,2246822507),a^=a>>>13,a=No(a,3266489909),a^=a>>>16,a},e=>e.join("-"));const xo=Mo(function(e,t){const n=Ao(e),r=Math.abs(n)%t/t*100;return Math.round(100*r)/100});function qo(e,t,n){return{allocation:xo(e,t),...n}}function $o(e,t){return t.map(t=>t.execute(e)).filter(e=>e.length>0)}function Lo(e,t){!function(e){const{providerData:t}=e;if(!t)throw new Error("Provider data is missing in metadata");const{identityTemplate:n,buckets:r}=t;if(!n)throw new Error("Identity template is missing in provider data");if(!r)throw new Error("Buckets is missing in provider data")}(t);const n=e.filter(e=>!e.key),r=function(e){const t={};for(let n=0;n<e.length;n+=1){const r=e[n];r.key&&(t[r.key]||(t[r.key]=[]),t[r.key].push(r))}return t}(e),{buckets:o}=t.providerData;return{provider:"TGT",execute:e=>{const i=function(e){const{xdm:t}=e;if(!t)throw new Error("XDM object is missing in the context");const{identityMap:n}=t;if(!n)throw new Error("Identity map is missing in the XDM object");const r=n.ECID;if(!r)throw new Error("ECID identity namespace is missing in the identity map");if(!Array.isArray(r)||0===r.length)throw new Error("ECID identities array is empty or not an array");const o=r[0].id;if(!o)throw new Error("ECID identity is missing in the identities array");return o}(e),a=$o(e,n),s=Object.keys(r),c=[];for(let n=0;n<s.length;n+=1){const a=s[n],d=r[a],l=$o(qo(Oo(i,a,t),o,e),d);c.push(...l)}return[...a,...c]}}}function _o(e,t={generateEventHash:()=>{throw new Error("No hash function provided")}}){const{rules:n,metadata:r={}}=To(e);return function(e,t,n){const{provider:r}=t;return"TGT"===r?Lo(e,t):function(e,t){return{provider:"DEFAULT",execute:n=>e.map(e=>e.execute(n,t)).filter(e=>e.length>0)}}(e,n)}(n,r,t)}const jo="https://ns.adobe.com/personalization/default-content-item",Uo="https://ns.adobe.com/personalization/dom-action",Bo="https://ns.adobe.com/personalization/html-content-item",Fo="https://ns.adobe.com/personalization/json-content-item",Vo="https://ns.adobe.com/personalization/ruleset-item",Ho="https://ns.adobe.com/personalization/redirect-item",zo="https://ns.adobe.com/personalization/message/in-app",Jo="decisioning.propositionDisplay",Xo="decisioning.propositionInteract",Go="decisioning.propositionTrigger",Qo="decisioning.propositionDismiss",Wo="decisioning.propositionSuppressDisplay",Ko={DISPLAY:"display",INTERACT:"interact",TRIGGER:"trigger",DISMISS:"dismiss",SUPPRESS:"suppressDisplay"},Yo={[Jo]:Ko.DISPLAY,[Xo]:Ko.INTERACT,[Go]:Ko.TRIGGER,[Qo]:Ko.DISMISS,[Wo]:Ko.SUPPRESS},Zo={[Ko.DISPLAY]:Jo,[Ko.INTERACT]:Xo,[Ko.TRIGGER]:Go,[Ko.DISMISS]:Qo,[Ko.SUPPRESS]:Wo},ei=e=>Yo[e],ti=e=>Zo[e];var ni=e=>{const t=structuredClone(e),n=Object.keys(t).sort().reduce((e,n)=>{const r=t[n];return null==r||""===r?e:e+=`${n}:${r}`},"");return F(n)};const ri="events",oi="~type",ii="~source",ai="com.adobe.eventType.edge",si="com.adobe.eventType.rulesEngine",ci="com.adobe.eventSource.requestContent",di="cjmiam",li="schema";var ui=(e=30,t=1e3)=>n=>{let r=Object.entries(n).reduce((e,[t,{timestamps:n=[]}])=>(n.forEach(n=>{e.push({key:t,timestamp:n})}),e),[]);const o=(e=>{const t=new Date;return t.setDate(t.getDate()-e),t})(e);return r=r.filter(({timestamp:e})=>e>=o),r.sort((e,t)=>e.timestamp-t.timestamp),r=r.slice(-t),r.reduce((e,{key:t,timestamp:n})=>(e[t]||(e[t]={timestamps:[]}),e[t].timestamps.push(n),e),{})};const gi=e=>e?.scopeDetails?.activity?.id,pi=(e,t)=>n=>{const r=e.setItem(t,JSON.stringify(n));r&&"function"==typeof r.then&&r.catch(()=>{})},mi=()=>{const e={};return{getItem:t=>t in e?e[t]:null,setItem:(t,n)=>{e[t]=n}}},fi=e=>{e.clear()};const hi="text/html";const yi={[di]:(e,t,n)=>{const{html:r,mobileParameters:o}=n;return{schema:zo,data:{mobileParameters:o,webParameters:{},content:r,contentType:hi},id:e}},[li]:(e,t,n)=>{const{schema:r,data:o,id:i}=n;return{schema:r,data:o,id:i||e}}};const vi=e=>{const{schema:t,data:n}=e;if(t===Vo)return!0;if(t!==Fo)return!1;try{const e="string"==typeof n.content?JSON.parse(n.content):n.content;return e&&Object.prototype.hasOwnProperty.call(e,"version")&&Object.prototype.hasOwnProperty.call(e,"rules")}catch{return!1}};var wi=(e,t)=>{const n=e=>{const{id:t,type:n,detail:r}=e;return"function"==typeof yi[n]?yi[n](t,n,r):r},r=gi(e),o=[],i=e=>{const{data:t={},schema:n}=e,r=n===Vo?t:t.content;r&&o.push(_o("string"==typeof r?JSON.parse(r):r,{generateEventHash:ni}))};return Array.isArray(e.items)&&e.items.filter(vi).forEach(i),{rank:e?.scopeDetails?.rank||1/0,evaluate:i=>{const a=t.getEvent(Jo,r),s=a?.timestamps[0],c=((e=[])=>Array.isArray(e)?e.flat(1/0):e)(o.map(e=>e.execute(i))).map(n).map(e=>{const n=t.addEvent({eventType:Ko.TRIGGER,eventId:r}).timestamps[0];return{...e,data:{...e.data,qualifiedDate:n,displayedDate:s}}});return{...e,items:c}},isEvaluable:o.length>0}},Ii=({storage:e,logger:t})=>{let n=e,r={},o=0,i=pi(e,ri);const a=async e=>{n=e;const t=((e,t)=>async n=>{try{const r=await e.getItem(t);return null==r?[n,0]:[JSON.parse(r),r.length]}catch{}return[n,0]})(n,ri);if([r,o]=await t({}),i=pi(n,ri),o>2097152){const e=ui();r=e(r),i(r)}};a(e);const s=(e={eventType:null,eventId:null},n="insert")=>{const{eventType:o,eventId:a}=e;if(!o||!a)return;const s=ni(e);if("insertIfNotExists"===n&&r[s])return;r[s]&&Array.isArray(r[s].timestamps)||(r[s]={timestamps:[]});const c=(new Date).getTime();return r[s].timestamps.push(c),r[s].timestamps.sort(),t.info("[Event History] Added event for",e,"with hash",s,"and timestamp",c),i(r),r[s]};return{addExperienceEdgeEvent:e=>{const{xdm:t}=e.getContent();if(!(e=>{const{_experience:t}=e||{};return!!t&&"object"==typeof t})(t))return;const{_experience:{decisioning:{propositionEventType:n={},propositionAction:{id:r}={},propositions:o=[]}={}}}=t;Object.keys(n).filter(e=>1===n[e]).forEach(e=>{o.forEach(t=>{(e=>e?.scopeDetails?.decisionProvider)(t)===Br&&s({eventId:gi(t),eventType:e,action:r})})})},addEvent:s,addEventPayloads:(e=[])=>e.map(({operation:e,event:t})=>s(t,e)),getEvent:(e,t)=>{const n=ni({eventType:e,eventId:t});if(r[n])return r[n]},toJSON:()=>r,setStorage:a}};const bi=(e,...t)=>t,Ei=(e,...t)=>!0;var ki=({collect:e})=>{let t=()=>{};const n=new Set,r=(e,t,r)=>{const o=[e,t].join("-"),i=!r.has(o)&&((e=>[Ko.INTERACT,Ko.DISMISS].includes(e))(e)||!n.has(o));return r.add(o),n.add(o),i},o=(t,n=[])=>{if(!(n instanceof Array))return Promise.resolve();if(!Object.values(Ko).includes(t))return Promise.resolve();const o=[],i=new Set;return n.forEach(e=>{const n=(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}})(e);r(t,n.id,i)&&o.push(n)}),o.length>0?e({decisionsMeta:o,eventType:ti(t),documentMayUnload:!0}):Promise.resolve()},i=(()=>{let e=bi,t=Ei,n=0;const r={};return{add:(e,t=void 0)=>{return"function"!=typeof e?()=>{}:(n+=1,r[n]={callback:e,params:t},{id:n,unsubscribe:(o=n,()=>{delete r[o]})});var o},emit:(...n)=>{Object.values(r).forEach(({callback:r,params:o})=>{const i=e(o,...n);t(o,...i)&&r(...i)})},emitOne:(n,...o)=>{if(!n||!r[n])return;const{callback:i,params:a}=r[n],s=e(a,...o);t(a,...s)&&i(...s)},hasSubscriptions:()=>Object.keys(r).length>0,setEmissionPreprocessor:t=>{"function"==typeof t&&(e=t)},setEmissionCondition:e=>{"function"==typeof e&&(t=e)}}})();i.setEmissionPreprocessor((e,t)=>{const{surfacesFilter:n,schemasFilter:r}=e;return[{propositions:t.filter(e=>!n||n.includes(e.scope)).map(e=>{const{items:t=[]}=e;return{...e,items:t.filter(e=>!r||r.includes(e.schema))}}).filter(e=>e.items.length>0)},o]});return{refresh:e=>{t=t=>{t?i.emitOne(t,e):i.emit(e)},t()},command:{optionsValidator:e=>(({options:e})=>St({surfaces:wt(Pt()).uniqueItems(),schemas:wt(Pt()).uniqueItems(),callback:bt().required()}).noUnknownFields()(e))({options:e}),run:({surfaces:e,schemas:n,callback:r})=>{const{id:o,unsubscribe:a}=i.add(r,{surfacesFilter:e instanceof Array?e:void 0,schemasFilter:n instanceof Array?n:void 0});return t(o),Promise.resolve({unsubscribe:a})}}}};var Ci=({contextProvider:e,decisionProvider:t})=>({optionsValidator:e=>(({options:e})=>St({renderDecisions:It(),personalization:St({decisionContext:St({})})}).noUnknownFields()(e))({options:e}),run:({renderDecisions:n,decisionContext:r,applyResponse:o})=>o({renderDecisions:n,propositions:t.evaluate(e.getContext(r))})}),Si=({eventManager:e,mergeDecisionsMeta:t})=>({decisionsMeta:n=[],propositionAction:r,documentMayUnload:o=!1,eventType:i=Jo,propositionEventTypes:a=[ei(i)],viewName:s,identityMap:c})=>{const d=e.createEvent(),l={eventType:i,identityMap:c};return s&&(l.web={webPageDetails:{viewName:s}}),I(n)&&t(d,n,a,r),d.mergeXdm(l),o&&d.documentMayUnload(),e.sendEvent(d)};const Pi=(e,t,n,r)=>{if(0===t.length)return;const o={};n.forEach(e=>{o[e]=1});const i={_experience:{decisioning:{propositions:t,propositionEventType:o}}};r&&(i._experience.decisioning.propositionAction=r),e.mergeXdm(i)},Di=(e,t)=>{e.mergeQuery({personalization:{...t}})},Ri=({config:e,eventManager:t,consent:n,getBrowser:r,logger:o,platformServices:i})=>{const{orgId:a,personalizationStorageEnabled:s}=e,c=Si({eventManager:t,mergeDecisionsMeta:Pi}),d=i.storage.createNamespacedStorage(`${X(a)}.decisioning.`);s||fi(d.persistent);const l=Ii({storage:mi(),logger:o}),u=(({eventRegistry:e})=>{const t={},n=n=>{const r=gi(n);if(!r)return;const o=wi(n,e);o.isEvaluable&&(t[r]=o)};return{addPayload:n,addPayloads:e=>{e.forEach(n)},evaluate:(e={})=>Object.values(t).sort(({rank:e},{rank:t})=>e-t).map(t=>t.evaluate(e)).filter(e=>e.items.length>0)}})({eventRegistry:l}),g=(({eventRegistry:e,getWindowContext:t,getBrowser:n})=>{const r=(new Date).getTime(),o=()=>{const e=new Date,t=e.getTime();return{pageLoadTimestamp:r,currentTimestamp:t,currentDate:e.getDate(),"~state.com.adobe.module.lifecycle/lifecyclecontextdata.dayofweek":e.getDay()+1,"~state.com.adobe.module.lifecycle/lifecyclecontextdata.hourofday":e.getHours(),currentMinute:e.getMinutes(),currentMonth:e.getMonth(),currentYear:e.getFullYear(),pageVisitDuration:t-r,"~timestampu":t/1e3,"~timestampz":e.toISOString()}},i=()=>{const{height:e,width:n,scrollY:r,scrollX:o}=t();return{height:e,width:n,scrollY:r,scrollX:o}},a={browser:{name:n()},page:(()=>{const{title:e,url:n}=t();return{title:e,url:n,...he(n)}})(),referringPage:(()=>{const{referrer:e}=t();return{url:e,...he(e)}})()};return{getContext:(t={})=>{const n={...{...a,...o(),window:i(),"~sdkver":Jn},...t};return{...zr(n),events:e.toJSON()}}}})({eventRegistry:l,getWindowContext:i.globals.getWindowContext,getBrowser:r}),p=Ci({contextProvider:g,decisionProvider:u}),m=ki({collect:c});let f;return{lifecycle:{onDecision({propositions:e}){m.refresh(e)},onComponentsRegistered(e){f=(({lifecycle:e,eventRegistry:t})=>({renderDecisions:n=!1,propositions:r=[],event:o,personalization:i})=>{if(e){const a=(e=>{const t=[];return e.forEach(e=>{const n=[];e.items.forEach(e=>{"https://ns.adobe.com/personalization/eventHistoryOperation"===e.schema?t.push({operation:e.data.operation,event:{eventId:e.data.content["iam.id"],eventType:e.data.content["iam.eventType"]}}):n.push(e)}),e.items=n}),t})(r);t.addEventPayloads(a);const s=o?.getUserIdentityMap();e.onDecision({renderDecisions:n,propositions:r,event:o,personalization:i,identityMap:s})}return{propositions:r}})({lifecycle:e.lifecycle,eventRegistry:l}),s&&n.awaitConsent().then(()=>l.setStorage(d.persistent)).catch(()=>{d&&fi(d.persistent)})},onBeforeEvent({event:e,renderDecisions:t,personalization:n={},onResponse:r=me}){const{decisionContext:o={}}=n;r((({renderDecisions:e,decisionProvider:t,applyResponse:n,event:r,personalization:o,decisionContext:i})=>{const a={...zr(r.getContent()),...i};return({response:i})=>{if(t.addPayloads(i.getPayloadsByType("personalization:decisions")),!r.hasQuery())return{propositions:[]};const s=t.evaluate(a);return n({renderDecisions:e,propositions:s,event:r,personalization:o})}})({renderDecisions:t,decisionProvider:u,applyResponse:f,event:e,personalization:n,decisionContext:g.getContext({[oi]:ai,[ii]:ci,...o})}))},onBeforeRequest({request:e}){const t=e.getPayload().toJSON(),{events:n=[]}=t;0!==n.length&&n.forEach(e=>l.addExperienceEdgeEvent(e))}},commands:{evaluateRulesets:{run:({renderDecisions:e,personalization:t={}})=>{const{decisionContext:n={}}=t;return p.run({renderDecisions:e,decisionContext:{[oi]:si,[ii]:ci,...n},applyResponse:f})},optionsValidator:p.optionsValidator},subscribeRulesetItems:m.command}}};Ri.namespace="RulesEngine",Ri.configValidators=St({personalizationStorageEnabled:It().default(!1)});var Ti=St({streamingMedia:St({channel:Pt().nonEmpty().required(),playerName:Pt().nonEmpty().required(),appVersion:Pt(),mainPingInterval:kt().minimum(10).maximum(50).default(10),adPingInterval:kt().minimum(1).maximum(10).default(10)}).noUnknownFields()}),Oi=({config:e,trackMediaEvent:t,trackMediaSession:n,mediaResponseHandler:r})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=me}){if(!e)return;const{legacy:n,playerId:o,getPlayerDetails:i}=e;n||t(({response:e})=>r({playerId:o,getPlayerDetails:i,response:e}))}},commands:{createMediaSession:{optionsValidator:e=>(({options:e})=>yt([St({playerId:Pt().required(),getPlayerDetails:bt().required(),xdm:St({mediaCollection:St({sessionDetails:St(vt()).required()})}),edgeConfigOverrides:Tt}).required(),St({xdm:St({mediaCollection:St({playhead:kt().required(),sessionDetails:St(vt()).required()})}),edgeConfigOverrides:Tt}).required()],"an object with playerId, getPlayerDetails and xdm.mediaCollection.sessionDetails, or an object with xdm.mediaCollection.playhead and xdm.mediaCollection.sessionDetails")(e))({options:e}),run:n},sendMediaEvent:{optionsValidator:e=>(({options:e})=>yt([St({playerId:Pt().required(),xdm:St({eventType:Dt(...Object.values(ur)).required(),mediaCollection:St(vt())}).required()}).required(),St({xdm:St({eventType:Dt(...Object.values(ur)).required(),mediaCollection:St({playhead:kt().integer().required(),sessionID:Pt().required()}).required()}).required()}).required()],"Error validating the sendMediaEvent command options.")(e))({options:e}),run:n=>e.streamingMedia?t(n):Promise.reject(new Error("Streaming media is not configured."))}}});const Mi=({config:e,logger:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o})=>{const i=fr(),a=gr({config:e,eventManager:n,consent:o,sendEdgeNetworkRequest:r,setTimestamp:jr(()=>new Date)}),s=hr({mediaSessionCacheManager:i,mediaEventManager:a,config:e}),c=yr({config:e,mediaEventManager:a,mediaSessionCacheManager:i}),d=wr({mediaSessionCacheManager:i,config:e,trackMediaEvent:s});return Oi({config:e,trackMediaEvent:s,mediaResponseHandler:d,trackMediaSession:c})};Mi.namespace="Streaming media",Mi.configValidators=Ti;const Ni=St({interactionId:Pt(),conversationId:Pt(),conversation:St({feedback:St({classification:Pt(),comment:Pt(),reasons:wt(Pt())})})});const Ai="web",xi="webapp",qi="://",$i=/^(\w+):\/\/([^/#]+)(\/[^#]*)?(#.*)?$/,Li=/^(?:.*@)?(?:[a-z\d\u00a1-\uffff.-]+|\[[a-f\d:]+])(?::\d+)?$/,_i=/^\/(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})*$/,ji=/^#(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})+$/,Ui=(e="/")=>{let t=e.length;for(;t>0&&-1!=="/".indexOf(e.charAt(t-1));)t-=1;return e.substring(0,t)||"/"},Bi=e=>`${e.surfaceType}${qi}${e.authority}${e.path||""}${e.fragment||""}`,Fi=e=>{const t=e(),n=t.host.toLowerCase(),r=t.pathname;return Ai+qi+n+Ui(r)},Vi=(e,t,n)=>{const r=e=>(n.warn(e),null);if(!pe(e))return r(`Invalid surface: ${e}`);const o=((e,t)=>e.startsWith("#")?Fi(t)+e:e)(e,t),i=(e=>{const t=e.match($i);return t?{surfaceType:(o=t[1],pe(o)?o.toLowerCase():""),authority:(r=t[2],pe(r)?r.toLowerCase():""),path:(n=t[3],pe(n)?Ui(n):"/"),fragment:t[4]}:null;var n,r,o})(o);return null===i?r(`Invalid surface: ${e}`):[Ai,xi].includes(i.surfaceType)?i.authority&&Li.test(i.authority)?i.path&&!_i.test(i.path)?r(`Invalid path ${i.path} in surface: ${e}`):i.fragment&&!ji.test(i.fragment)?r(`Invalid fragment ${i.fragment} in surface: ${e}`):i:r(`Invalid authority ${i.authority} in surface: ${e}`):r(`Unsupported surface type ${i.surfaceType} in surface: ${e}`)},Hi=e=>!!e&&0===e.indexOf(Ai+qi)&&-1===e.indexOf("#"),zi=1e4,Ji=({loggingCookieJar:e,config:t})=>{if(!1===t.conversation.stickyConversationSession)return Ne();const n=G(t.orgId,"bc_session_id"),r=e.get(n);return r||Ne()};var Xi=({eventManager:e,config:t,logger:n,sendConversationServiceRequest:r,buildEndpointUrl:o,cookieTransfer:i,alwaysTransferCookies:a=[],createResponse:s,decodeKndctrCookie:c,lifecycle:d,consent:l,session:u,getPageLocation:g})=>{const{edgeDomain:p,datastreamId:m,onBeforeEventSend:f,conversation:h}=t;return t=>{let y=!1;const{message:v,onStreamResponse:w,xdm:I,data:b,voiceEnabled:E=!1,surfaces:k}=t,C=fn(),S=(({payload:e,action:t="conversations",sessionId:n,voiceEnabled:r=!1,region:o})=>un({payload:e,edgeSubPath:r?"/brand-concierge-voice":"/brand-concierge"+(o?`/${o}`:""),requestParams:{sessionId:n},getAction:()=>t,getUseSendBeacon:()=>!1}))({payload:C,sessionId:u.id,voiceEnabled:E,region:h.region}),P=e.createEvent();if(v||b){const e=[...k||[]],t=Fi(g);e.includes(t)||e.push(t),P.mergeQuery({conversation:{surfaces:e,message:v,data:b}})}const{state:D}=l.current();P.mergeMeta({consent:{state:D}});const R=c();P.mergeXdm({identityMap:{ECID:[{id:R}]}}),P.mergeXdm({...I}),(v||b)&&(y=!0);const T=o({edgeDomain:p,datastreamId:m,request:S});return d.onBeforeEvent({event:P}).then(()=>{try{P.finalize(f)}catch(e){throw w({error:e}),e}return C.addEvent(P),i.cookiesToPayload(C,p,a),r({requestId:Ne(),url:T,request:S,onStreamResponse:w,streamingEnabled:y}).then(e=>{if(204===e.status)return;const t=(({onStreamResponseCallback:e,streamTimeout:t})=>{let n,r=!1;const o=()=>{clearTimeout(n),n=setTimeout(()=>{r=!0,e({error:{message:`Stream timeout: No data received within ${t/1e3} seconds`}})},t)};return o(),{onEvent:t=>{r||(o(),e(t))},onPing:()=>{r||o()},onComplete:()=>{clearTimeout(n)}}})({onStreamResponseCallback:e=>{if(e.error)return n.error("Stream error occurred",e.error),void w({error:e.error});const t=e.data.replace("data: ",""),r=JSON.parse(t),o=s({content:r});i.responseToCookies(o),n.info("onStreamResponse callback called with",o.getPayloadsByType("brand-concierge:conversation")),w(o.getPayloadsByType("brand-concierge:conversation"))},streamTimeout:h.streamTimeout}),r=(()=>{const e=/\r\n|\r|\n/,t=/\r\n\r\n|\n\n|\r\r/,n=e=>e.trim().startsWith(": ping"),r=t=>{const n=t.split(e),r={};for(const e of n){const t=e.trim();if(!t)continue;const n=t.indexOf(":");if(-1===n)continue;const o=t.substring(0,n).trim(),i=t.substring(n+1).trim();"data"===o?r.data=(r.data||"")+i:"event"===o?r.type=i:"id"===o&&(r.id=i)}return r.data?r:null};return async(e,{onEvent:o,onPing:i,onComplete:a})=>{const s=e.getReader(),c=new TextDecoder("utf-8");let d="";try{for(;;){const{done:e,value:a}=await s.read();if(e)break;d+=c.decode(a,{stream:!0});const l=d.split(t);d=l.pop()||"";for(const e of l){const t=e.trim();if(!t)continue;if(n(t)){i();continue}const a=r(t);null!==a&&o(a)}}const e=d.trim();if(!e)return void a();if(n(e))return i(),void a();const l=r(e);null!==l&&o(l),a()}catch(e){o({error:e}),a()}finally{s.releaseLock()}}})();r(e.body,t)})})}},Gi=St({conversation:St({stickyConversationSession:It().default(!1),streamTimeout:kt().integer().minimum(zi).default(zi),collectSources:It().default(!1),region:Pt().matches(/^[a-z]{2,4}[0-9]{1,2}$/i),transferCookies:wt(Pt()).default([])}).default({stickyConversationSession:!1,streamTimeout:zi,collectSources:!1,transferCookies:[]})});const Qi=({loggingCookieJar:e,logger:t,eventManager:n,consent:r,instanceName:o,sendEdgeNetworkRequest:i,config:a,lifecycle:s,cookieTransfer:c,createResponse:d,platformServices:l,createSendConversationEvent:u=Xi})=>{const g={id:Ji({loggingCookieJar:e,config:a})},p=(({queryString:e})=>({edgeDomain:t,request:n,datastreamId:r})=>{const o=n.getRequestParams(),i=n.getDatastreamIdOverride()||r;o.requestId=n.getId(),o.configId=i;const a=e.stringify({...o});return`https://${t}${n.getEdgeSubPath()}/${n.getAction()}?${a}`})({queryString:be}),m=(({logger:e,fetch:t})=>async({requestId:n,url:r,request:o,streamingEnabled:i=!0})=>{const a=o.getPayload(),s=JSON.stringify(a),c=JSON.parse(s),d={"Content-Type":"text/plain"};d.Accept=i?"text/event-stream":"text/plain",e.logOnBeforeNetworkRequest({url:r,requestId:n,payload:c});const l=async(o=1)=>{const i=[2e3,3e3,5e3];try{const e=await t(r,{method:"POST",headers:d,body:s});if(!e.ok)throw new Error(`Request failed with status ${e.status}`);return e}catch(t){if(o<4){const a=i[o-1];return e.logOnNetworkError({requestId:n,url:r,payload:c,error:new Error(`Attempt ${o} failed, retrying in ${a}ms: ${t.message}`)}),await new Promise(e=>setTimeout(e,a)),l(o+1)}throw e.logOnNetworkError({requestId:n,url:r,payload:c,error:t}),De({error:t,message:"Network request failed after all retries."})}};return(async()=>l())()})({logger:t,fetch:fetch,config:a}),f=$t({orgId:a.orgId,cookieJar:e,logger:t}),h=u({loggingCookieJar:e,logger:t,eventManager:n,consent:r,instanceName:o,sendEdgeNetworkRequest:i,config:a,buildEndpointUrl:p,lifecycle:s,cookieTransfer:c,alwaysTransferCookies:a.conversation.transferCookies||[],createResponse:d,sendConversationServiceRequest:m,decodeKndctrCookie:f,session:g,getPageLocation:l.globals.getPageLocation});return{lifecycle:{onBeforeEvent({event:e}){if(a.conversation.collectSources){const t=be.parse(l.globals.getLocationSearch()).adobe_brand_concierge_source;t&&e.mergeXdm({channel:{referringSource:t}})}}},commands:{sendConversationEvent:{optionsValidator:e=>(({options:e})=>yt([St({message:Pt().required(),xdm:Ni,onStreamResponse:bt().default(me),voiceEnabled:It().default(!1),surfaces:wt(Pt()).uniqueItems()}),St({xdm:Ni,voiceEnabled:It().default(!1),surfaces:wt(Pt()).uniqueItems()}).required(),St({data:St({type:Pt().required(),payload:St({})}).required(),onStreamResponse:bt().default(me),voiceEnabled:It().default(!1),surfaces:wt(Pt()).uniqueItems()})])(e))({options:e}),run:h}}}};Qi.namespace="BrandConcierge",Qi.configValidators=Gi;var Wi=({eventManager:e,lifecycle:t,handleError:n})=>{const r=(({eventManager:e,lifecycle:t,handleError:n})=>r=>{if(r.s_fe)return Promise.resolve();const o="composedPath"in r&&r.composedPath().length>0?r.composedPath()[0]:r.target,i=e.createEvent();return i.documentMayUnload(),t.onClick({event:i,clickedElement:o}).then(()=>i.isEmpty()?Promise.resolve():e.sendEvent(i)).then(me).catch(e=>{n(e,"click collection")})})({eventManager:e,lifecycle:t,handleError:n});document.addEventListener("click",r,!0)};const Ki="\\.(exe|zip|wav|mp3|mov|mpg|avi|wmv|pdf|doc|docx|xls|xlsx|ppt|pptx)$",Yi=Pt().regexp().default(Ki),Zi=St({clickCollectionEnabled:It().default(!0),clickCollection:St({internalLinkEnabled:It().default(!0),externalLinkEnabled:It().default(!0),downloadLinkEnabled:It().default(!0),sessionStorageEnabled:It().default(!1),eventGroupingEnabled:It().default(!1),filterClickProperties:bt()}).default({internalLinkEnabled:!0,externalLinkEnabled:!0,downloadLinkEnabled:!0,sessionStorageEnabled:!1,eventGroupingEnabled:!1}),downloadLinkQualifier:Yi,onBeforeLinkClickSend:bt().deprecated('The field "onBeforeLinkClickSend" has been deprecated. Use "clickCollection.filterClickDetails" instead.')});var ea=(e=document)=>null!==e.getElementById("cppXYctnr"),ta=e=>{let t=e;/^https?:\/\//i.test(t)||(t=`${window.location.protocol}//${e}`);return new URL(t).hostname};var na=({config:e,logger:t,getClickedElementProperties:n,clickActivityStorage:r})=>{const{clickCollectionEnabled:o,clickCollection:i}=e;return o?({event:o,clickedElement:a})=>{const s=n({clickActivityStorage:r,clickedElement:a,config:e,logger:t}),c=s.linkType;var d,l;ea()||(s.isValidLink()&&((e,t)=>t&&("download"===t&&!e.downloadLinkEnabled||"exit"===t&&!e.externalLinkEnabled||"other"===t&&!e.internalLinkEnabled))(i,c)?t.info(`Cancelling link click event due to clickCollection.${c}LinkEnabled = false.`):s.isInternalLink()&&i.eventGroupingEnabled&&(!e.onBeforeLinkClickSend||i.filterClickDetails)&&(d=window.location.hostname,l=s.linkUrl,ta(d)===ta(l))?r.save(s.properties):s.isValidLink()?(o.mergeXdm(s.xdm),o.mergeData(s.data),r.save({pageName:s.pageName,pageIDType:s.pageIDType})):s.isValidActivityMapData()&&r.save(s.properties))}:()=>{}};var ra=({properties:e,logger:t}={})=>{let n=e||{};return{get pageName(){return n.pageName},set pageName(e){n.pageName=e},get linkName(){return n.linkName},set linkName(e){n.linkName=e},get linkRegion(){return n.linkRegion},set linkRegion(e){n.linkRegion=e},get linkType(){return n.linkType},set linkType(e){n.linkType=e},get linkUrl(){return n.linkUrl},set linkUrl(e){n.linkUrl=e},get pageIDType(){return n.pageIDType},set pageIDType(e){n.pageIDType=e},get clickedElement(){return n.clickedElement},set clickedElement(e){n.clickedElement=e},get properties(){return{pageName:n.pageName,linkName:n.linkName,linkRegion:n.linkRegion,linkType:n.linkType,linkUrl:n.linkUrl,pageIDType:n.pageIDType}},isValidLink:()=>!!(n.linkUrl&&n.linkType&&n.linkName&&n.linkRegion),isInternalLink(){return this.isValidLink()&&"other"===n.linkType},isValidActivityMapData:()=>!!n.pageName&&!!n.linkName&&!!n.linkRegion&&void 0!==n.pageIDType,get xdm(){return n.filteredXdm?n.filteredXdm:(e=>({eventType:"web.webinteraction.linkClicks",web:{webInteraction:{name:e.linkName,region:e.linkRegion,type:e.linkType,URL:e.linkUrl,linkClicks:{value:1}}}}))(this)},get data(){return n.filteredData?n.filteredData:(e=>({__adobe:{analytics:{contextData:{a:{activitymap:{page:e.pageName,link:e.linkName,region:e.linkRegion,pageIDType:e.pageIDType}}}}}}))(this)},applyPropertyFilter(e){e&&!1===e(n)&&(t&&t.info(`Clicked element properties were rejected by filter function: ${JSON.stringify(this.properties,null,2)}`),n={})},applyOptionsFilter(e){const r=this.options;if(r&&r.clickedElement&&(r.xdm||r.data)){if(e&&!1===e(r))return t&&t.info(`Clicked element properties were rejected by filter function: ${JSON.stringify(this.properties,null,2)}`),void(this.options=void 0);this.options=r,n.filteredXdm=r.xdm,n.filteredData=r.data}},get options(){const e={};if(this.isValidLink()&&(e.xdm=this.xdm),this.isValidActivityMapData()&&(e.data=this.data),this.clickedElement&&(e.clickedElement=this.clickedElement),e.xdm||e.data)return e},set options(e){n={},e&&((e,t)=>{const{xdm:n,data:r,clickedElement:o}=e;if(t.clickedElement=o,n&&n.web&&n.web.webInteraction){const{name:e,region:r,type:o,URL:i}=n.web.webInteraction;t.linkName=e,t.linkRegion=r,t.linkType=o,t.linkUrl=i}if(r&&r.__adobe&&r.__adobe.analytics){const{contextData:e}=r.__adobe.analytics;if(e&&e.a&&e.a.activitymap){const{page:n,link:r,region:o,pageIDType:i}=e.a.activitymap;t.pageName=n||t.pageName,t.linkName=r||t.linkName,t.linkRegion=o||t.linkRegion,void 0!==i&&(t.pageIDType=i)}}})(e,n)}}};const oa="clickData";var ia=e=>e&&e.replace(/\s+/g," ").trim();const aa=/^(SCRIPT|STYLE|LINK|CANVAS|NOSCRIPT|#COMMENT)$/i;const sa=e=>{let t=[],n=!1;if((e=>!(e&&e.nodeName&&e.nodeName.match(aa)))(e)){if(t.push(e),e.childNodes){Array.prototype.slice.call(e.childNodes).forEach(e=>{const r=sa(e);t=t.concat(r.supportedNodes),n=n||r.includesUnsupportedNodes})}}else n=!0;return{supportedNodes:t,includesUnsupportedNodes:n}},ca=(e,t,n)=>{let r;return n&&n!==e.nodeName.toUpperCase()||(r=e.getAttribute(t)),r};const da=/^(HEADER|MAIN|FOOTER|NAV)$/i,la=e=>{let t;return"region"===e.role&&pe(e["aria-label"])&&(t=e["aria-label"]),t},ua=e=>{let t;return e&&e.nodeName&&e.nodeName.match(da)&&(t=e.nodeName),t};var ga=e=>!(!e.href||"A"!==e.tagName&&"AREA"!==e.tagName||e.onclick&&e.protocol&&!(e.protocol.toLowerCase().indexOf("javascript")<0)),pa=e=>!!e&&!!e.onclick,ma=e=>{if("INPUT"===e.tagName){const t=e.getAttribute("type");if("submit"===t)return!0;if("image"===t&&e.src)return!0}return!1},fa=e=>"BUTTON"===e.tagName&&"submit"===e.type,ha=e=>{const t=e.indexOf("?"),n=e.indexOf("#");return t>=0&&(t<n||n<0)?e.substring(0,t):n>=0?e.substring(0,n):e};const ya=(({window:e,getLinkName:t,getLinkRegion:n,getAbsoluteUrlFromAnchorElement:r,findClickableElement:o,determineLinkType:i})=>({clickedElement:a,config:s,logger:c,clickActivityStorage:d})=>{const{onBeforeLinkClickSend:l,clickCollection:u}=s,{filterClickDetails:g}=u,p=ra({logger:c});if(a){const c=o(a);if(c){p.clickedElement=a,p.linkUrl=r(e,c),p.linkType=i(e,s,p.linkUrl,c),p.linkRegion=n(c),p.linkName=t(c),p.pageIDType=0,p.pageName=e.location.href;const o=d.load();o&&o.pageName&&(p.pageName=o.pageName,p.pageIDType=1),g?p.applyPropertyFilter(g):l&&p.applyOptionsFilter(l)}}return p})({window:window,getLinkName:e=>{let t=ia(e.innerText||e.textContent);const n=sa(e);if(!t||n.includesUnsupportedNodes){const e=(e=>{const t={texts:[]};return e.supportedNodes.forEach(e=>{e.getAttribute&&(t.alt||(t.alt=ia(e.getAttribute("alt"))),t.title||(t.title=ia(e.getAttribute("title"))),t.inputValue||(t.inputValue=ia(ca(e,"value","INPUT"))),t.imgSrc||(t.imgSrc=ia(ca(e,"src","IMG"))),t.ariaLabel||(t.ariaLabel=ia(e.getAttribute("aria-label"))),t.name||(t.name=ia(e.getAttribute("name")))),e.nodeValue&&t.texts.push(e.nodeValue)}),t})(n);t=ia(e.texts.join("")),t||(t=e.alt||e.title||e.inputValue||e.imgSrc||e.ariaLabel||e.name)}return t||""},getLinkRegion:e=>{let t,n=e.parentNode;for(;n;){if(t=ia(n.id||la(n)||ua(n)),t)return t;n=n.parentNode}return"BODY"},getAbsoluteUrlFromAnchorElement:(e,t)=>{const n=e.location.href;let r=t.href||"";"string"!=typeof r&&(r="");try{return new URL(r,n).href}catch{return n}},findClickableElement:e=>{let t=e;for(;t&&(!t.nodeName||"BODY"!==t.nodeName);){if(ga(t)||pa(t)||ma(t)||fa(t))return t;t=t.parentNode}return null},determineLinkType:(e,t,n,r)=>{let o="other";return pe(n)&&(((e,t,n)=>{let r=!1;if(t)if(n&&n.download)r=!0;else if(e){const n=new RegExp(e),o=ha(t).toLowerCase();r=n.test(o)}return r})(t.downloadLinkQualifier,n,r)?o="download":((e,t)=>{let n=!1;if(t&&e.location.hostname){const r=e.location.hostname.toLowerCase();n=ha(t).toLowerCase().indexOf(r)<0}return n})(e,n)&&(o="exit")),o}});let va;const wa=e=>{if(!va){const n=(t=window,e=>{const n=V+e;return{session:ce(t,"sessionStorage",n),persistent:ce(t,"localStorage",n)}})(e.orgId||""),r=(()=>{const e={};return{getItem:t=>e[t],setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}})(),o=e.clickCollection.sessionStorageEnabled?n.session:r;va=(({storage:e})=>({save:t=>{const n=JSON.stringify(t);e.setItem(oa,n)},load:()=>{let t=null;const n=e.getItem(oa);return n&&(t=JSON.parse(n)),t},remove:()=>{e.removeItem(oa)}}))({storage:o})}var t},Ia=({config:e,eventManager:t,handleError:n,logger:r})=>{((e,t)=>{const{clickCollectionEnabled:n,onBeforeLinkClickSend:r,downloadLinkQualifier:o}=e;!1===n&&(r&&t.warn("The 'onBeforeLinkClickSend' configuration was provided but will be ignored because clickCollectionEnabled is false."),o&&o!==Ki&&t.warn("The 'downloadLinkQualifier' configuration was provided but will be ignored because clickCollectionEnabled is false."))})(e,r);const o=e.clickCollection;va||wa(e);const i=na({config:e,logger:r,clickActivityStorage:va,getClickedElementProperties:ya}),a=(({clickActivityStorage:e})=>t=>{if(ea())return;const n=e.load(),r=ra({properties:n});if(r.isValidLink()||r.isValidActivityMapData()){if(r.isValidLink()){const e=r.xdm;delete e.eventType,t.mergeXdm(e)}r.isValidActivityMapData()&&t.mergeData(r.data),e.save({pageName:r.pageName,pageIDType:r.pageIDType})}})({clickActivityStorage:va}),s=(({clickActivityStorage:e})=>t=>{e.save({pageName:t.getContent().xdm.web.webPageDetails.name,pageIDType:1})})({clickActivityStorage:va});return{lifecycle:{onComponentsRegistered(e){const{lifecycle:r}=e;Wi({eventManager:t,lifecycle:r,handleError:n})},onClick({event:e,clickedElement:t}){i({event:e,clickedElement:t})},onBeforeEvent({event:e}){(e=>{const t=e.getContent();return void 0!==t.xdm&&void 0!==t.xdm.web&&void 0!==t.xdm.web.webPageDetails&&void 0!==t.xdm.web.webPageDetails.name})(e)&&(o.eventGroupingEnabled&&a(e),s(e,r,va))}}}};Ia.namespace="ActivityCollector",Ia.configValidators=Zi,Ia.buildOnInstanceConfiguredExtraParams=({config:e,logger:t})=>(va||wa(e),{getLinkDetails:n=>ya({clickActivityStorage:va,clickedElement:n,config:e,logger:t}).properties});var ba=St({advertising:St({id5PartnerId:Pt(),rampIdJSPath:Pt(),dspEnabled:It(),advertiserSettings:wt(St({advertiserId:Pt().required(),enabled:It().required()}).noUnknownFields())}).noUnknownFields()});const Ea="advertising",ka="_les_lsc",Ca="lastConversionTime",Sa="displayClickCookieExpires",Pa="rampIdExpires",Da="surferId",Ra="hashedIp",Ta="hashedIPAddr",Oa="rampId",Ma="id5Id",Na="advertising.enrichment",Aa="trackingCode",xa="trackingIdentities",qa="Ad conversion submission failed",$a="ev_lcc";var La=({orgId:e,logger:t,cookieJar:n})=>{const r=d({logger:t,cookieJar:n}),o=(t,n=!0)=>n?G(e,t):t,i=(e=30)=>new Date(Date.now()+60*e*1e3),a=(e,n=!0)=>{try{const t=o(e,n),i=r.get(t);return i?(e=>{try{if(e?.startsWith("%7B")||e?.startsWith("{"))return JSON.parse(decodeURIComponent(e))}catch{}return e})(i):null}catch(n){return t.error(`Error reading cookie: ${e}`,n),null}},s=(e,n,i={},a=!0)=>{try{const t=o(e,a),s=(e=>"object"==typeof e&&null!==e?encodeURIComponent(JSON.stringify(e)):e)(n);return r.set(t,s,i),!0}catch(n){return t.error(`Error writing cookie: ${e}`,n),!1}};return{setValue:(e,t,n={})=>{const r={...a(Ea)||{},[e]:t};return s(Ea,r,{expires:i(527040),...n})},getValue:e=>(a(Ea)||{})[e]}};var _a=({cookieManager:e,logger:t,componentConfig:n,getBrowser:r,consent:o,collectSurferId:i,getID5Id:a,getRampId:s,appendAdvertisingIdQueryToEvent:c,appendAdCloudIdentityToEvent:d,collectHashedIPAddr:l,getUrlParams:u,isThrottled:g,normalizeAdvertiser:p})=>async({event:m,advertising:f={}})=>{const{state:h}=o.current();if("in"!==h)return;const{skwcid:y,efid:v}=u(),w=!(!y||!v),I=p(n?.advertiserSettings).length>0;if(!((e=>![Vt,Ft].includes(e?.handleAdvertisingData?.toLowerCase()))(f)||w||!I||g(Da,e)&&g(Ma,e)&&g(Oa,e)))try{const o=(e=>e?.handleAdvertisingData?.toLowerCase()===Ft)(f);let u=null;r&&r()===W||(u=s(t,n.rampIdJSPath,e,o,o));const p=n.id5PartnerId?a(t,n.id5PartnerId,o,o):Promise.resolve(null),[h,y,v,w]=await Promise.allSettled([i(o),l(),p,u]),I={},b={};if("fulfilled"===h.status&&h.value&&(b[Da]=h.value,g(Da,e)||(I[Da]=h.value)),"fulfilled"===y.status&&y.value&&(b[Ra]=y.value,g(Da,e)||(I[Ra]=y.value)),"fulfilled"===v.status&&v.value&&!g(Ma,e)&&(I.id5Id=v.value),"fulfilled"===w.status&&w.value&&!g(Oa,e)&&(I.rampId=w.value),0!==Object.keys(b).length&&d(b,m),0===Object.keys(I).length&&(g(Da,e)||g(Ma,e)||g(Oa,e)))return;c(I,m,e,n)}catch(e){t.error("Error in onBeforeSendEvent hook:",e)}};const ja=15,Ua=3e4,Ba=500,Fa=5e3,Va=2e3,Ha={rampIdEnv:void 0,rampIdCallInitiated:!1,inProgressRampIdPromise:null,envelopeRetrievalInProgress:!1},za=(e,t,n,r)=>{let o;try{o=JSON.parse(e).envelope}catch{o=e}o&&!Ha.rampIdCallInitiated?(Ha.rampIdCallInitiated=!0,Ha.rampIdEnv=o,Ha.envelopeRetrievalInProgress=!1,Ha.inProgressRampIdPromise=null,n.setValue(Oa,Ha.rampIdEnv),n.setValue(Pa,Date.now()+1728e5),t(Ha.rampIdEnv)):(r.warn("Invalid RampID envelope received",{envelope:o}),Ha.envelopeRetrievalInProgress=!1)},Ja=(e,t,n,r=!1)=>{if(Ha.inProgressRampIdPromise)return Ha.inProgressRampIdPromise;const o=r?Va:Ua;let i=!1;const a=new Promise((r,o)=>{q(e,{onLoad:()=>{void 0===window.ats||Ha.envelopeRetrievalInProgress||(Ha.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{e?i||za(e,r,t,n):(Ha.envelopeRetrievalInProgress=!1,window.addEventListener("lrEnvelopePresent",()=>{Ha.envelopeRetrievalInProgress||i||(Ha.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{i||za(e,r,t,n)},e=>{i||(n.error("Failed to retrieve envelope after event",e),Ha.envelopeRetrievalInProgress=!1,o(e),Ha.inProgressRampIdPromise=null)}))}))}).catch(e=>{i||(n.error("Error retrieving envelope",e),Ha.envelopeRetrievalInProgress=!1,o(e),Ha.inProgressRampIdPromise=null)})),((e,t,n,r)=>{let o=ja,i=1,a=0;const s=()=>{if(Ha.rampIdEnv)return;if(a>Ua)return r.error("Maximum retry time exceeded"),Ha.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID - timeout")),void(Ha.inProgressRampIdPromise=null);if(0===o)return r.error("Maximum retries exceeded"),Ha.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID after maximum retries")),void(Ha.inProgressRampIdPromise=null);const c=Math.min(Ba*i,Fa);setTimeout(()=>{a+=c,o-=1,i+=1,void 0===window.ats||null===window.ats||Ha.rampIdEnv||Ha.envelopeRetrievalInProgress?s():(Ha.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(t=>{za(t,e,n,r),Ha.rampIdEnv||s()},()=>{r.warn("Failed to retrieve envelope"),Ha.envelopeRetrievalInProgress=!1,s()}))},c)};s()})(e=>{i||r(e)},e=>{i||o(e)},t,n)},onError:e=>{i||o(e),Ha.inProgressRampIdPromise=null}})}),s=new Promise(e=>{setTimeout(()=>{i=!0,e(null)},o)});return Ha.inProgressRampIdPromise=Promise.race([a,s]).finally(()=>{Ha.inProgressRampIdPromise=null}),Ha.inProgressRampIdPromise},Xa=(e,t,n,r=!0,o=!1)=>{if(Ha.rampIdEnv)return Promise.resolve(Ha.rampIdEnv);if(n){const e=n.getValue(Oa),t=n.getValue(Pa);if(e&&t&&t>Date.now())return Ha.rampIdEnv=e,Promise.resolve(e)}return r&&null!=t?Ja(t,n,e,o):Promise.resolve(null)};let Ga="",Qa=null;const Wa=function(e,t,n=!0,r=!1){return Ga&&""!==Ga?Promise.resolve(Ga):n?((e,t,n)=>{if(e=Math.floor(Number(e)),Qa)return Qa;const r=t?2e3:3e4;let o=!1;const i=new Promise((t,r)=>{if(!e)return n.error("Missing partner ID"),void r(new Error("ID5 partner ID is required"));const i=()=>{try{if(void 0===window.ID5)return void r(new Error("ID5 object not available after script load"));const i=window.ID5.init({partnerId:e});Ga=i.getUserId();const a=e=>{o||t(e)};Ga?a(Ga):window.ID5.init({partnerId:e}).onAvailable(function(t){Ga=t.getUserId(),Ga?a(Ga):window.ID5.init({partnerId:e}).onAvailable(function(e){Ga=e.getUserId(),Ga?a(Ga):(n.error("Failed to get ID5 ID after all retries"),a(null))})},1e3)}catch(e){n.error("Error during ID5 initialization",e),r(e)}};void 0!==window.ID5?i():q("https://www.everestjs.net/static/id5-api.js",{onLoad:i,onError:e=>{n.error("Script loading failed",e),r(e)}})}),a=new Promise(e=>{setTimeout(()=>{o=!0,e(null)},r)});return Qa=Promise.race([i,a]).finally(()=>{Qa=null}),Qa})(t,r,e).then(e=>e).catch(t=>{throw e.error("Failed to get ID5 ID",t),t}):Promise.resolve(null)},Ka=()=>{const e=be.parse(window.location.search);return{skwcid:e.s_kwcid,efid:e.ef_id}},Ya=e=>e&&Array.isArray(e)?e.filter(e=>e&&!0===e.enabled&&e.advertiserId).map(e=>e.advertiserId).join(", "):"",Za=(e,t)=>{const n=[Da,Ra,Ma,Oa,"adfId"].map(t=>e[t]??"").join("|");t.mergeXdm({_experience:{adcloud:{stitchId:n}}})},es=(e,t,n,r,o=!1)=>{const i=n.getValue(ka);let a=null;const s=n.getValue(Sa);s&&s>Date.now()&&(a=n.getValue($a));const c={advertising:{...i?.click_time&&{lastSearchClick:i.click_time},...a&&{lastDisplayClick:a},stitchIds:{...e[Da]&&{surferId:e[Da]},...e[Ma]&&{id5:e[Ma]},...e[Oa]&&{rampIdEnv:e[Oa]},...e[Ra]&&{hashedIp:e[Ra]}},advIds:Ya(r.advertiserSettings),...o&&{eventType:Na}}};return t.mergeQuery(c),t},ts=(e,t)=>{const n=Date.now(),r=t.getValue(`${e}_last_conversion`);return Boolean(r&&n-r<18e5)};async function ns({eventManager:e,cookieManager:t,logger:n,componentConfig:r,adConversionHandler:o,getBrowser:i,collectSurferId:a,collectHashedIPAddr:s}){const c={},d={},l=s?s().catch(()=>null):Promise.resolve(null),u=async()=>{if(i=c,a=d,!Object.entries(i).some(([e])=>!a[e]))return null;var i,a;const s=await l,u=s?{...c,[Ra]:s}:{...c},g=Object.keys(c);try{const i=es(u,e.createEvent(),t,r,!0),a={eventType:Na,timestamp:(new Date).toISOString()};i.setUserXdm(a);const s=await o.trackAdConversion({event:i});return((e,t,n,r)=>{const o=Date.now();e.forEach(e=>{t[e]=!0,n.setValue(`${e}_last_conversion`,o),r.info("Ad conversion submitted successfully".replace("{0}",e))}),n.setValue(Ca,o)})(g,d,t,n),s}catch(e){return n.error(qa,e),null}},g=((e,t,n,r,o)=>{const i={};return ts(Da,n)||(i.surferId=o(!0).catch(()=>null)),t.id5PartnerId&&t.dspEnabled&&!ts(Ma,n)&&(i.id5Id=Wa(e,t.id5PartnerId).catch(()=>null)),t.rampIdJSPath&&t.dspEnabled&&!ts(Oa,n)&&(i.rampId=Xa(e,t.rampIdJSPath,n,!0).catch(()=>null)),i})(n,r,t,0,a);if(0===Object.keys(g).length)return[];const p=Object.entries(g).map(([e,t])=>t.then(t=>{if(t)return c[e]=t,u()}).catch(t=>(n.error("Unable to obtain ad identity".replace("{0}",e),t),null)));return Promise.allSettled(p)}var rs=({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,componentConfig:o,getBrowser:i,consent:a,collectSurferId:s,collectHashedIPAddr:c})=>{const d=o?.advertiserSettings?Ya(o.advertiserSettings):"";return async()=>{try{await a.awaitConsent();const{skwcid:l,efid:u}=Ka();if(!(!l&&!u))return async function({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:o,efid:i}){const a=Array.isArray(o)?o[0]:o,s=Array.isArray(i)?i[0]:i;r.info("Processing ad conversion",{skwcid:a,efid:s});const c=e.createEvent();if(void 0!==a&&void 0!==s&&a.startsWith("AL!")){const e={click_time:Date.now(),skwcid:a,efid:s};t.setValue(ka,e)}const d={_experience:{adcloud:{conversionDetails:{...void 0!==a&&{[Aa]:a},...void 0!==s&&{[xa]:s}}}},eventType:"advertising.enrichment_ct",timestamp:(new Date).toISOString()};c.setUserXdm(d),t.setValue(Ca),t.setValue("lastConversionTimeExpires",Date.now()+78624e5);try{return await n.trackAdConversion({event:c})}catch(e){throw r.error(qa,e),e}}({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:l,efid:u});d&&ns({eventManager:e,cookieManager:t,logger:r,componentConfig:o,adConversionHandler:n,getBrowser:i,collectSurferId:s,collectHashedIPAddr:c}).catch(e=>r.error("Error in view through:",e))}catch(e){r.error("Error in sendAdConversion:",e)}}};const os={height:0,width:0,frameBorder:0,style:{display:"none"}},is=0xffffffffffffffffn,as=(e,t)=>(e<<BigInt(t)|e>>BigInt(64-t))&is,ss=e=>BigInt(255&e),cs=(e,t)=>{let n=0n;for(let r=0;r<8;r+=1)n|=ss(e[t+r])<<8n*BigInt(r);return n&is},ds=0x87c37b91114253d5n,ls=0x4cf5ad432745937fn,us=e=>{let t=e&is;return t=t*ds&is,t=as(t,31),t=t*ls&is,t},gs=e=>{let t=e&is;return t=t*ls&is,t=as(t,33),t=t*ds&is,t},ps=e=>{let t=e&is;return t^=t>>33n,t=0xff51afd7ed558ccdn*t&is,t^=t>>33n,t=0xc4ceb9fe1a85ec53n*t&is,t^=t>>33n,t&is},ms=(e,t=0)=>{const n=(e=>BigInt.asIntN(64,BigInt.asIntN(32,BigInt(Math.trunc(Number(e))))))(t)&is;let r=n,o=n,i=0;const a=(new TextEncoder).encode(e),s=(e,t)=>{r^=us(e),r=as(r,27),r=r+o&is,r=5n*r+0x52dce729n&is,o^=gs(t),o=as(o,31),o=o+r&is,o=5n*o+0x38495ab5n&is};let c=0;const d=Math.floor(a.length/16);for(let e=0;e<d;e+=1)s(cs(a,c),cs(a,c+8)),c+=16,i+=16;const l=a.length-c;i+=l;let u=0n,g=0n;const p=c;switch(l){case 15:g^=ss(a[p+14])<<48n;case 14:g^=ss(a[p+13])<<40n;case 13:g^=ss(a[p+12])<<32n;case 12:g^=ss(a[p+11])<<24n;case 11:g^=ss(a[p+10])<<16n;case 10:g^=ss(a[p+9])<<8n;case 9:g^=ss(a[p+8]);case 8:u^=cs(a,p);break;case 7:u^=ss(a[p+6])<<48n;case 6:u^=ss(a[p+5])<<40n;case 5:u^=ss(a[p+4])<<32n;case 4:u^=ss(a[p+3])<<24n;case 3:u^=ss(a[p+2])<<16n;case 2:u^=ss(a[p+1])<<8n;case 1:u^=ss(a[p])}r^=us(u),o^=gs(g);const m=BigInt(i>>>0);r^=m,o^=m,r=r+o&is,o=o+r&is,r=ps(r),o=ps(o),r=r+o&is,o=o+r&is;const f=new Uint8Array(16),h=(e,t)=>{let n=e&is;for(let e=0;e<8;e+=1)f[t+e]=Number(0xffn&n),n>>=8n};return h(r,0),h(o,8),[...f].map(e=>e.toString(16).padStart(2,"0")).join("")};const fs=({logger:e,config:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o,getBrowser:i,platformServices:a})=>{const s=t.advertising,c=La({orgId:t.orgId,logger:e,cookieJar:a.cookie}),d=(({appendNode:e=g,awaitSelector:t=N,createNode:n=p}={})=>{let r=null;return()=>r||(r=new Promise((r,o)=>{const i="https:"===document.location.protocol?"https:":"http:",a=`${i}//www.everestjs.net/static/pixel_details.html#${new URLSearchParams({google:"__EFGCK__",gsurfer:"__EFGSURFER__",imsId:"__EFIMSORGID__",is_fb_cookie_synced:"__EFFB__",optout:"__EFOPTOUT__",throttleCookie:"__EFSYNC__",time:"__EFTIME__",ev_lcc:"__LCC__",clientIp:"__EFREMOTEADDR__"}).toString()}`,s=`${i}//pixel.everesttech.net/1/gr?${new URLSearchParams({ev_gb:"0",url:a}).toString()}`,c=n("iframe",{src:s},os,[]);let d;const l=e=>{if(e.origin.includes("www.everestjs.net")){clearTimeout(d),window.removeEventListener("message",l,!1);try{const t=e.data,n=t.indexOf("#");if(-1===n)return void r({surferId:null,displayClickCookie:null,clientIp:""});const o=new URLSearchParams(t.substring(n+1)),i=o.get("gsurfer")||null,a=o.get("clientIp")||"",s=o.get($a);r({surferId:i,displayClickCookie:s&&"__LCC__"!==s?s:null,clientIp:a})}catch(e){o(e)}}};d=setTimeout(()=>{window.removeEventListener("message",l,!1),o(new Error("Advertising identity call timed out"))},5e3),window.addEventListener("message",l,!1),t(m).then(([t])=>{e(t,c)})}).finally(()=>{r=null}),r)})(),l=(({initiateAdvertisingIdentityCall:e,cookieManager:t,getBrowser:n})=>{let r=t.getValue(Da)||"";return(o=!0)=>r?Promise.resolve(r):o?e().then(e=>{const o=!n||ie({getBrowser:n})();return e&&o&&(e.surferId&&(r=e.surferId,t.setValue(Da,e.surferId)),e.displayClickCookie&&(t.setValue($a,e.displayClickCookie),t.setValue(Sa,Date.now()+9e5))),o?e.surferId:null}):Promise.resolve(null)})({initiateAdvertisingIdentityCall:d,cookieManager:c,getBrowser:i}),u=(({cookieManager:e,hash:t=ms})=>{let n=e.getValue(Ta)||"";const r=r=>{r&&(n=t(r),e.setValue(Ta,n))};return{captureFromIframe:r,get:()=>n,collect:e=>n?Promise.resolve(n):e().then(e=>(r(e.clientIp),n))}})({cookieManager:c}),f=(({sendEdgeNetworkRequest:e,consent:t,createDataCollectionRequest:n,createDataCollectionRequestPayload:r,logger:o})=>({trackAdConversion:({event:i})=>{const a=r();a.addEvent(i),i.finalize();const s=n({payload:a});return t.awaitConsent().then(()=>e({request:s}).then(()=>({success:!0})).catch(e=>{throw o.error("Failed to send ad conversion event",e),e}))}}))({sendEdgeNetworkRequest:r,consent:o,createDataCollectionRequest:gn,createDataCollectionRequestPayload:fn,logger:e});return(({handleOnBeforeSendEvent:e,sendAdConversionHandler:t})=>({lifecycle:{onComponentsRegistered(){t()},onBeforeEvent:e}}))({handleOnBeforeSendEvent:_a({cookieManager:c,logger:e,getBrowser:i,consent:o,componentConfig:s,collectSurferId:l,getID5Id:Wa,getRampId:Xa,appendAdvertisingIdQueryToEvent:es,appendAdCloudIdentityToEvent:Za,collectHashedIPAddr:()=>u.collect(d),getUrlParams:Ka,isThrottled:ts,normalizeAdvertiser:Ya}),sendAdConversionHandler:rs({eventManager:n,cookieManager:c,adConversionHandler:f,logger:e,componentConfig:s,getBrowser:i,consent:o,collectSurferId:l,collectHashedIPAddr:()=>u.collect(d)})})};fs.namespace="Advertising",fs.configValidators=ba;const hs=e=>e.filter((t,n)=>e.indexOf(t)===n);var ys=({getPageLocation:t,renderDecisions:n,decisionScopes:r,personalization:o,event:i,isCacheInitialized:a,logger:s})=>{const c=i.getViewName();return{isRenderDecisions:()=>n,isSendDisplayEvent:()=>!!o.sendDisplayEvent,shouldIncludeRenderedPropositions:()=>!!o.includeRenderedPropositions,getViewName:()=>c,hasScopes:()=>r.length>0||I(o.decisionScopes),hasSurfaces:()=>I(o.surfaces),hasViewName:()=>pe(c),createQueryDetails(){const n=[...r];I(o.decisionScopes)&&n.push(...o.decisionScopes);const i=((t=[],n,r)=>t.map(e=>Vi(e,n,r)).filter(t=>!e(t)).map(Bi))(o.surfaces,t,s);this.shouldRequestDefaultPersonalization()&&((e=>{e.includes(dn)||e.push(dn)})(n),((e,t)=>{const n=Fi(t);e.includes(n)||e.push(n)})(i,t));const a=[jo,Bo,Fo,Ho,Vo,zo,"https://ns.adobe.com/personalization/message/content-card"];return n.includes(dn)&&a.push(Uo),{schemas:a,decisionScopes:hs(n),surfaces:hs(i)}},isCacheInitialized:()=>a,shouldFetchData(){return this.hasScopes()||this.hasSurfaces()||this.shouldRequestDefaultPersonalization()},shouldUseCachedData(){return this.hasViewName()&&!this.shouldFetchData()},shouldRequestDefaultPersonalization(){return o.defaultPersonalizationEnabled||!this.isCacheInitialized()&&!1!==o.defaultPersonalizationEnabled}}};const vs={propositions:[]};var ws=({getPageLocation:e,logger:t,fetchDataHandler:n,viewChangeHandler:r,onClickHandler:o,isAuthoringModeEnabled:i,mergeQuery:a,viewCache:s,showContainers:c,applyPropositions:d,setTargetMigration:l,mergeDecisionsMeta:u,renderedPropositions:g,onDecisionHandler:p,handleConsentFlicker:m})=>({lifecycle:{onComponentsRegistered(){m()},onDecision:p,onBeforeRequest:({request:e})=>(l(e),Promise.resolve()),onBeforeEvent({event:o,renderDecisions:d,decisionScopes:l=[],personalization:p={},onResponse:m=me,onRequestFailure:f=me}){if(m(()=>({propositions:[]})),f(()=>c()),i())return t.warn("Rendering is disabled for authoring mode."),a(o,{enabled:!1}),Promise.resolve();const h=ys({getPageLocation:e,renderDecisions:d,decisionScopes:l,personalization:p,event:o,isCacheInitialized:s.isInitialized(),logger:t}),y=[];if(h.shouldIncludeRenderedPropositions()&&y.push(g.clear()),h.shouldFetchData()){const e=s.createCacheUpdate(h.getViewName());f(()=>e.cancel());const t=o.getUserIdentityMap();n({cacheUpdate:e,personalizationDetails:h,event:o,onResponse:m,identityMap:t})}else h.shouldUseCachedData()&&y.push(r({personalizationDetails:h,event:o,onResponse:m,onRequestFailure:f}));return Promise.all(y).then(e=>{const t=e.flatMap(e=>e);I(t)&&u(o,t,[Ko.DISPLAY])})},onClick({event:e,clickedElement:t}){o({event:e,clickedElement:t})}},commands:{applyPropositions:{optionsValidator:e=>(({logger:e,options:t})=>{const n=St({propositions:wt(St({id:Pt().required(),scope:Pt().required(),scopeDetails:St({decisionProvider:Pt().required()}).required(),items:wt(St({id:Pt().required(),schema:Pt().required(),data:St(vt())})).nonEmpty().required()}).required()).nonEmpty().required(),metadata:St(vt()),viewName:Pt()}).required();try{return n(t)}catch(t){return e.warn("Invalid options for applyPropositions. No propositions will be applied.",t),vs}})({logger:t,options:e}),run:d}}}),Is=(e="undefined")=>p("DIV",{},{innerHTML:e});const bs=/:eq\((\d+)\)/g,Es=e=>-1===e.indexOf(":eq("),ks=/(#|\.)(-?\w+)/g,Cs=(e,t,n)=>`${t}${CSS.escape(n)}`,Ss=e=>{const t=[],n=(e=>e.split(bs).filter(pe))((e=>e.replace(ks,Cs))(e.trim())),{length:r}=n;let o=0;for(;o<r;){const e=n[o],r=n[o+1];r?t.push({sel:e,eq:Number(r)}):t.push({sel:e}),o+=2}return t},Ps=e=>{const t=document;if(Es(e))return D(e,t);const n=Ss(e),{length:r}=n;let o=[],i=t,a=0;for(;a<r;){const{sel:e,eq:t}=n[a],s=D(e,i),{length:c}=s;if(0===c)break;if(null!=t&&t>c-1)break;a<r-1&&(null==t?[i]=s:i=s[t]),a===r-1&&(o=null==t?s:[s[t]]),a+=1}return o};var Ds=(e,t=document)=>t.getElementById(e),Rs=(e,t,n)=>{e.setAttribute(t,n)},Ts=(e,t)=>e.getAttribute(t),Os=(e,t,n,r)=>{let o;o=r?`${t}:${n} !${r};`:`${t}:${n};`,e.style.cssText+=`;${o}`},Ms=e=>e.parentNode,Ns=(e,t)=>{if(!e)return;const n=Ms(e);n&&n.insertBefore(t,(e=>e.nextElementSibling)(e))},As=(e,t)=>{if(!e)return;const n=Ms(e);n&&n.insertBefore(t,e)},xs=e=>{const{childNodes:t}=e;return t?b(t):[]},qs=e=>e.firstElementChild;let $s;var Ls=(e=document)=>{if(void 0===$s){const t=e.querySelector("[nonce]");$s=t&&(t.nonce||t.getAttribute("nonce"))}return $s};const _s="src",js=e=>p(f,{src:e}),Us=e=>{D(f,e).forEach(e=>{const t=Ts(e,_s);t&&js(t)})},Bs=e=>((e,t)=>e.tagName===t)(e,h)&&!Ts(e,_s);var Fs=e=>{const t=D(h,e),{length:n}=t,r=Ls();if(r)for(let e=0;e<n;e+=1){const n=t[e];Bs(n)&&(n.nonce=r)}};const Vs="type",Hs="module",zs="nonce",Js=new Set(["application/ecmascript","application/javascript","application/x-ecmascript","application/x-javascript","text/ecmascript","text/javascript","text/javascript1.0","text/javascript1.1","text/javascript1.2","text/javascript1.3","text/javascript1.4","text/javascript1.5","text/jscript","text/livescript","text/x-ecmascript","text/x-javascript"]),Xs=[Vs,zs,"crossorigin","integrity","referrerpolicy","fetchpriority","nomodule"],Gs=e=>{const t=Ts(e,_s),n=document.createElement("script");Xs.forEach(t=>{const r=Ts(e,t);null!==r&&n.setAttribute(t,r)});const r=Ls();if(r&&n.setAttribute(zs,r),!t)return n.textContent=e.textContent,document.head.appendChild(n),Promise.resolve(n);n.src=t,n.async=!0;const o=((e,t)=>new Promise((n,r)=>{t.onload=()=>{n(t)},t.onerror=()=>{r(new Error(`Failed to load script: ${e}`))}}))(t,n);return document.head.appendChild(n),o},Qs=(e,t)=>!!e&&e.tagName===t,Ws=e=>{const t=Ts(e,Vs);return t?t.split(";")[0].trim().toLowerCase():""},Ks="head",Ys="inline",Zs=e=>(e=>{if(!Qs(e,y))return!1;const t=Ws(e);return""===t||t===Hs||Js.has(t)})(e)?(e=>!!Ts(e,_s))(e)?Ks:e.textContent?(e=>Ws(e)===Hs)(e)?Ks:Ys:null:null,ec=e=>{const t=D(y,e),n=[],{length:r}=t,o=Ls(),i={...o&&{nonce:o}};for(let e=0;e<r;e+=1){const r=t[e];if(Zs(r)!==Ys)continue;const{textContent:o}=r,a=Ts(r,"nomodule");n.push(p(y,{...i,...null!==a&&{nomodule:a}},{textContent:o}))}return n},tc=e=>{const t=D(y,e),n=[],{length:r}=t;for(let e=0;e<r;e+=1){const r=t[e];Zs(r)===Ks&&n.push(r)}return n},nc=(e,t)=>{t.forEach(t=>{e.appendChild(t),e.removeChild(t)})},rc=e=>Promise.all(e.map(Gs));var oc=(e,t,n)=>{const r=Is(t);Fs(r);const o=xs(r),i=ec(r),a=tc(r);return Us(r),o.forEach(t=>{g(e,t)}),n(e),nc(e,i),rc(a)};var ic=(e,t,n)=>((e=>{xs(e).forEach($)})(e),oc(e,t,n)),ac=(e,t,n)=>{const r=Is(t);Fs(r);const o=xs(r),i=ec(r),a=tc(r),{length:s}=o;let c=s-1;for(Us(r);c>=0;){const t=o[c];n(t);const r=qs(e);r?As(r,t):g(e,t),c-=1}return nc(e,i),rc(a)};const sc="alloy-prehiding",cc={},dc=e=>{if(cc[e])return;const t=Ls(),n={...t&&{nonce:t}},r=p(h,n,{textContent:`${e} { visibility: hidden }`});g(document.head,r),cc[e]=r},lc=e=>{const t=cc[e];t&&($(t),delete cc[e])};var uc=(e,t,n)=>{n(e),e.textContent=t},gc=(e,t,n)=>{const r=Is(t);Fs(r);const o=xs(r),i=ec(r),a=tc(r);return Us(r),o.forEach(t=>{n(t),As(e,t)}),nc(e,i),rc(a)},pc=(e,t,n)=>gc(e,t,n).then(()=>{$(e)}),mc=(e,t,n)=>{const r=Is(t);Fs(r);const o=xs(r),i=ec(r),a=tc(r);Us(r);let s=e;return o.forEach(e=>{n(e),Ns(s,e),s=e}),nc(e,i),rc(a)},fc=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{Os(e,t,o[t],r)}),n(e)},hc=(e,t,n)=>{Object.keys(t).forEach(n=>{Rs(e,n,t[n])}),n(e)},yc=(e,t,n)=>{e.tagName===f&&(js(t),n(e),((e,t)=>{e.removeAttribute(t)})(e,_s),Rs(e,_s,t))},vc=(e,{from:t,to:n},r)=>{const o=(e=>{const{children:t}=e;return t?b(t):[]})(e),i=o[t],a=o[n];i&&a&&(t<n?Ns(a,i):As(a,i),r(a),r(i))};const wc=(e,t=!1)=>async(n,r,o)=>{const{selector:i,prehidingSelector:a,content:s}=n;dc(a);try{(({containers:e,content:t,decorateProposition:n,renderFunc:r,renderStatusHandler:o,alwaysRender:i})=>{const a=e.filter(e=>i||o.shouldRender(e)).map(async e=>{await r(e,t,n),o.markAsRendered(e)});Promise.all(a)})({containers:await N(i,Ps),content:s,decorateProposition:r,renderFunc:e,renderStatusHandler:o,alwaysRender:t})}finally{lc(a)}},Ic=e=>`${e}`.endsWith("px")?e:`${e}px`;var bc=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"left"!==t&&"top"!==t||(n=Ic(n)),Os(e,t,n,r)}),n(e)},Ec=(e,t,n)=>{n(e)},kc=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"width"!==t&&"height"!==t||(n=Ic(n)),Os(e,t,n,r)}),n(e)};const Cc="setHtml",Sc="customCode",Pc="setText",Dc="setAttribute",Rc="setImageSource",Tc="setStyle",Oc="move",Mc="resize",Nc="rearrange",Ac="remove",xc="insertAfter",qc="insertBefore",$c="replaceHtml",Lc="prependHtml",_c="appendHtml",jc="click",Uc="collectInteractions";var Bc=(e,t)=>{if(Es(e))return((e,t)=>t.matches?t.matches(e):t.msMatchesSelector(e))(e,t);const n=Ps(e);let r=!1;for(let e=0;e<n.length;e+=1)if(n[e]===t){r=!0;break}return r};const Fc="view",Vc=e=>e.map(e=>{const{trackingLabel:t,scopeType:n,...r}=e;return r}),Hc=(e,t,n)=>{const{documentElement:r}=document;let o=e,i=0;for(;o&&o!==r;){if(Bc(t,o)){const e=n(t),r={metas:e},o=e.find(e=>e.trackingLabel);o&&(r.label=o.trackingLabel,r.weight=i);const a=e.find(e=>e.scopeType===Fc);return a&&(r.viewName=a.scope,r.weight=i),r}o=o.parentNode,i+=1}return{metas:null}};var zc=(e,t,n)=>{const r=[];let o,i="",a=Number.MAX_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER;for(let c=0;c<t.length;c+=1){const{metas:d,label:l,weight:u,viewName:g}=Hc(e,t[c],n);d&&(l&&u<=a&&(i=l,a=u),g&&u<=s&&(o=g,s=u),r.push(...Vc(d)))}return{decisionsMeta:(c=r,c.filter((e,t)=>{const n=JSON.stringify(e);return t===c.findIndex(e=>JSON.stringify(e)===n)})),propositionActionLabel:i,propositionActionToken:void 0,viewName:o};var c},Jc=(e=document)=>-1!==e.location.href.indexOf("adobe_authoring_enabled");var Xc=()=>{const e={};return{storeClickMeta:({selector:t,meta:{id:n,scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}})=>{e[t]||(e[t]={}),e[t][n]={scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}},getClickSelectors:()=>Object.keys(e),getClickMetas:t=>e[t]?(e=>Object.keys(e).map(t=>({id:t,...e[t]})))(e[t]):{}}};const Gc=(e,t)=>e===Fo&&t===Uc,Qc={[Uo]:()=>!0,[Bo]:()=>!0,[Fo]:Gc,[zo]:()=>!0,[jo]:()=>!0};var Wc=({processPropositions:e,createProposition:t,renderedPropositions:n,viewCache:r})=>{const o=({items:e,metadataForScope:t={}})=>{const{actionType:n,selector:r}=t;return e.filter(e=>((e,t)=>"function"==typeof Qc[e]&&Qc[e](e,t))(e.schema,n)).map(e=>{const{schema:o}=e;return o===Bo||Gc(o,n)?U(t)?void 0:{...e,schema:Gc(o,n)?Uo:o,data:{...e.data,selector:r,type:n}}:{...e}}).filter(e=>e)},i=e=>!(e.scope===dn&&e.renderAttempted);return({propositions:a=[],metadata:s={},viewName:c})=>{const d=l();n.concat(d.promise);const u=(({propositions:e,metadata:t})=>e.filter(i).map(e=>{if(I(e.items)){const{id:n,scope:r,scopeDetails:i}=e;return{id:n,scope:r,scopeDetails:i,items:o({items:e.items,metadataForScope:t[e.scope]})}}return e}).filter(e=>I(e.items)))({propositions:a,metadata:s}).map(e=>t(e));return Promise.resolve().then(()=>c?r.getView(c):[]).then(t=>{const{render:n,returnedPropositions:r}=e([...u,...t]);return n().then(d.resolve),{propositions:r}})}};var Kc=e=>{const{selector:t,type:n}=e;return n!==Sc||"BODY > *:eq(0)"!==t?e:{...e,selector:"BODY"}};var Yc=e=>{const t={...e},{content:n,selector:r}=t;if(t.type===Sc)return t;if(vr(n))return t;if(null==r)return t;const o=Ps(r);return Qs(o[0],"HEAD")?(t.type=_c,t.content=(e=>{const t=Is(e);return D("SCRIPT,LINK,STYLE",t).map(e=>e.outerHTML).join("")})(n),t):t},Zc=({preprocess:e,isPageWideSurface:t})=>(n,r=!0,o=!1,i=void 0)=>{const{id:a,scope:s,scopeDetails:c,items:d=[]}=n,{characteristics:{scopeType:l}={}}=c||{};return{getScope:()=>s,getScopeType:()=>s===dn||t(s)?"page":l===Fc?Fc:"proposition",getItems(){return d.map(t=>((t,n)=>{const{id:r,schema:o,data:i,characteristics:{trackingLabel:a}={}}=t,s=i?i.type:void 0,c=e(i);return{getId:()=>r,getSchema:()=>o,getSchemaType:()=>s,getData:()=>c,getProposition:()=>n,getTrackingLabel:()=>a,getOriginalItem:()=>t,toString:()=>JSON.stringify(t),toJSON:()=>t}})(t,this))},getNotification:()=>({id:a,scope:s,scopeDetails:c}),getId:()=>a,getIdentityMap:()=>i,toJSON:()=>n,shouldSuppressDisplay:()=>o,addToReturnValues(e,t,o,i){r&&(e.push({...n,items:o.map(e=>e.getOriginalItem()),renderAttempted:i}),i||t.push({...n,items:o.map(e=>e.getOriginalItem())}))}}},ed=()=>({render:me,setRenderAttempted:!0,includeInNotification:!0});const td="always",nd="never",rd="decoratedElementsOnly",od=[td,nd,rd],id="data-aep-interact-id",ad="data-aep-click-label";let sd=0;const cd=(e,t,n,r,o,i,a,s)=>{const{scopeDetails:c={}}=a,{decisionProvider:d}=c;return((e,t)=>!!e&&!!e[t]&&[td,rd].includes(e[t]))(e,d)||t===jc?e=>{if(!e.tagName)return;const t=(c=Ts(e,id))?parseInt(c,10):++sd;var c;s(n,r,i,a,t),Rs(e,id,t),o&&!Ts(e,ad)&&Rs(e,ad,o)}:me};var dd=(e,t)=>e!==Fc?{shouldRender:()=>!0,markAsRendered:()=>{}}:{shouldRender:e=>{if(!e)return!0;return!(e.dataset.adobePropositionIds??"").split(",").includes(t)},markAsRendered:e=>{const n=(e.dataset.adobePropositionIds??"").split(",");n.includes(t)||n.push(t),e.dataset.adobePropositionIds=n.sort().join(",")}},ld=({modules:e,logger:t,storeInteractionMeta:n,storeClickMeta:r,autoCollectPropositionInteractions:o})=>i=>{const{type:a,selector:s}=i.getData()||{};if(!a)return t.warn("Invalid DOM action data: missing type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};if(a===jc)return s?(r({selector:s,meta:{...i.getProposition().getNotification(),trackingLabel:i.getTrackingLabel(),scopeType:i.getProposition().getScopeType()}}),{setRenderAttempted:!0,includeInNotification:!1}):(t.warn("Invalid DOM action data: missing selector.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1});if(!e[a])return t.warn("Invalid DOM action data: unknown type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};const c=dd(i.getProposition().getScopeType(),i.getId()),d=cd(o,a,i.getProposition().getId(),i.getId(),i.getTrackingLabel(),i.getProposition().getScopeType(),i.getProposition().getNotification(),n);return{render:()=>e[a](i.getData(),d,c),setRenderAttempted:!0,includeInNotification:!0}},ud=({modules:e,logger:t,storeInteractionMeta:n,autoCollectPropositionInteractions:r})=>o=>{const{type:i,selector:a}=o.getData()||{};if(!a||!i)return{setRenderAttempted:!1,includeInNotification:!1};if(!e[i])return t.warn("Invalid HTML content data",o.getData()),{setRenderAttempted:!1,includeInNotification:!1};const s=cd(r,i,o.getProposition().getId(),o.getId(),o.getTrackingLabel(),o.getProposition().getScopeType(),o.getProposition().getNotification(),n),c=dd(o.getProposition().getScopeType(),o.getId());return{render:()=>e[i](o.getData(),s,c),setRenderAttempted:!0,includeInNotification:!0}};const gd="BODY";var pd=({logger:e,executeRedirect:t,collect:n})=>r=>{const{content:o}=r.getData()||{};if(!o)return e.warn("Invalid Redirect data",r.getData()),{};return{render:()=>(dc(gd),n({decisionsMeta:[r.getProposition().getNotification()],documentMayUnload:!0,identityMap:r.getProposition().getIdentityMap()}).then(()=>(e.logOnContentRendering({status:"rendering-redirect",detail:{propositionDetails:r.getProposition().getNotification(),redirect:o},message:`Redirect action ${r.toString()} executed.`,logLevel:"info"}),t(o))).catch(e=>{throw lc(gd),e})),setRenderAttempted:!0,onlyRenderThis:!0}},md=({schemaProcessors:e,logger:t})=>{const n=(e,n)=>()=>Promise.resolve().then(e).then(()=>(t.enabled&&t.info(`Action ${n.toString()} executed.`),n.toJSON())).catch(e=>{const{message:r,stack:o}=e,i=`Failed to execute action ${n.toString()}. ${r} ${o}`;t.logOnContentRendering({status:"rendering-failed",detail:{propositionDetails:n.getProposition().getNotification(),item:n.toJSON()},error:e,message:i,logLevel:"warn"})}),r=t=>{const n=e[t.getSchema()];return n?n(t):{}},o=({renderers:e,returnedPropositions:t,returnedDecisions:o,items:i,proposition:a})=>{let s,c,d,l,u=[...e],g=[...t],p=[...o],m=[],f=[],h=[],y=!1,v=!1,w=0;for(;i.length>w;){if(l=i[w],({render:s,setRenderAttempted:c,includeInNotification:d,onlyRenderThis:v}=r(l)),v){g=[],p=[],c?(m=[l],f=[]):(m=[],f=[l]),u=[],h=[s],y=d;break}s&&h.push(n(s,l)),d&&(y=!0),c?m.push(l):f.push(l),w+=1}if(h.length>0){const e=y?a.getNotification():void 0;u.push(()=>(async(e,t)=>{const n=(await Promise.allSettled(e.map(e=>e()))).filter(e=>"fulfilled"===e.status).map(e=>e.value);if(t&&I(n))return{...t,items:n}})(h,e))}else y&&u.push(()=>Promise.resolve(a.getNotification()));return m.length>0&&a.addToReturnValues(g,p,m,!0),f.length>0&&a.addToReturnValues(g,p,f,!1),{renderers:u,returnedPropositions:g,returnedDecisions:p,onlyRenderThis:v}};return(e,n=[])=>{let r,i,a,s=[],c=[],d=[],l=0;for(;e.length>l&&(i=e[l],a=i.getItems(),({renderers:s,returnedPropositions:c,returnedDecisions:d,onlyRenderThis:r}=o({renderers:s,returnedPropositions:c,returnedDecisions:d,items:a,proposition:i})),!r);)l+=1;r&&e.forEach((e,t)=>{t!==l&&e.addToReturnValues(c,d,e.getItems(),!1)}),n.forEach(e=>{e.addToReturnValues(c,d,e.getItems(),!1)});return{returnedPropositions:c,returnedDecisions:d,render:()=>Promise.all(s.map(e=>e())).then(e=>{const n=e.filter(e=>e),r=n.map(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}});if(I(n)){const e=Q(n,e=>e.scope);t.logOnContentRendering({status:"rendering-succeeded",detail:{...e},message:`Scopes: ${JSON.stringify(e)} successfully executed.`,logLevel:"info"})}return r})}}};var fd=({processPropositions:e,createProposition:t,notificationHandler:n})=>({renderDecisions:r,propositions:o,event:i,personalization:a={},identityMap:s})=>{if(!r)return Promise.resolve();const{sendDisplayEvent:c=!0}=a,d=i?i.getViewName():void 0,l=(()=>{let e=0;return t=>{const{items:n=[]}=t;return!!n.some(e=>e.schema===zo)&&(e+=1,e>1)}})(),u=o.map(e=>t(e,!0,l(e),s)),{render:g,returnedPropositions:p}=e(u),m=n(r,c,d,s),f=u.reduce((e,t)=>(e[t.getId()]=t,e),{});return g().then(e=>{const t=e.filter(e=>!f[e.id].shouldSuppressDisplay()),n=e.filter(e=>f[e.id].shouldSuppressDisplay());m(t,n)}),Promise.resolve({propositions:p})};const hd="defaultContent",yd=["content","contentType"],vd=["mobileParameters","webParameters","html"];var wd=({modules:e,logger:t})=>n=>{const r=n.getData(),o=n.getProposition(),i={...o.getNotification()},a=o.shouldSuppressDisplay();if(!r)return t.warn("Invalid in-app message data: undefined.",r),{};const{type:s=hd}=r;return e[s]?((e,t)=>{for(let n=0;n<yd.length;n+=1){const r=yd[n];if(!Object.prototype.hasOwnProperty.call(e,r))return t.warn(`Invalid in-app message data: missing property '${r}'.`,e),!1}const{content:n,contentType:r}=e;if("application/json"===r)for(let r=0;r<vd.length;r+=1){const o=vd[r];if(!Object.prototype.hasOwnProperty.call(n,o))return t.warn(`Invalid in-app message data.content: missing property '${o}'.`,e),!1}return!0})(r,t)?i?{render:()=>a?null:e[s]({...r,meta:i,identityMap:o.getIdentityMap()}),setRenderAttempted:!0,includeInNotification:!0}:(t.warn("Invalid in-app message meta: undefined.",i),{}):{}:(t.warn("Invalid in-app message data: unknown type.",r),{})};const Id=e=>{const t=D(`#${e}`,document);t&&t.length>0&&$(t[0])};var bd=e=>(t,n=!1)=>(n?e.location.href=t:e.location.replace(t),new Promise(()=>{}));const Ed="alloy-messaging-container",kd="alloy-overlay-container",Cd="alloy-content-iframe",Sd=()=>[Ed,kd].forEach(Id),Pd=(e,t=bd(window))=>n=>{n.preventDefault(),n.stopImmediatePropagation();const{target:r}=n,o="a"===r.tagName.toLowerCase()?r:r.closest("a");if(!o)return;const{action:i,interaction:a,link:s,label:c,uuid:d}=(e=>{const t={};if(!e||"a"!==e.tagName.toLowerCase())return t;const{href:n}=e;if(!n||!n.startsWith("adbinapp://"))return t;const r=n.split("?"),o=r[0].split("://")[1],i=e.innerText,a=e.getAttribute("data-uuid")||"";let s,c;if(I(r)){const e=be.parse(r[1]);s=e.interaction||"",c=_n(e.link||"")}return{action:o,interaction:s,link:c,label:i,uuid:a}})(o);e(i,{label:c,id:a,uuid:d,link:s}),"dismiss"===i&&Sd(),pe(s)&&s.length>0&&t(s,!0)},Dd=e=>{const{verticalAlign:t,width:n,horizontalAlign:r,backdropColor:o,height:i,cornerRadius:a,horizontalInset:s,verticalInset:c,uiTakeover:d=!1}=e,l={width:n?`${n}%`:"100%",backgroundColor:o||"rgba(0, 0, 0, 0.5)",borderRadius:a?`${a}px`:"0px",border:"none",position:d?"fixed":"relative",overflow:"hidden"};return"left"===r?l.left=s?`${s}%`:"0":"right"===r?l.right=s?`${s}%`:"0":"center"===r&&(l.left="50%",l.transform="translateX(-50%)"),"top"===t?l.top=c?`${c}%`:"0":"bottom"===t?(l.position="fixed",l.bottom=c?`${c}%`:"0"):"center"===t&&(l.top="50%",l.transform=("center"===r?`${l.transform} `:"")+"translateY(-50%)",l.display="flex",l.alignItems="center",l.justifyContent="center"),l.height=i?`${i}vh`:"100%",l},Rd=e=>{const{backdropOpacity:t,backdropColor:n}=e;return{position:"fixed",top:"0",left:"0",width:"100%",height:"100%",background:"transparent",opacity:t||.5,backgroundColor:n||"#FFFFFF"}},Td=["enabled","parentElement","insertionMethod"],Od=(e={},t)=>{Sd();const{content:n,contentType:r,mobileParameters:o}=e;let{webParameters:i}=e;if(r!==hi)return;const a=p("div",{id:Ed}),s=((e,t)=>{const n=(new DOMParser).parseFromString(e,hi),r=n.querySelector("script");r&&r.setAttribute("nonce",Ls());const o=p("iframe",{src:URL.createObjectURL(new Blob([n.documentElement.outerHTML],{type:"text/html"})),id:Cd});return o.addEventListener("load",()=>{const{addEventListener:e}=o.contentDocument||o.contentWindow.document;e("click",t)}),o})(n,Pd(t)),c=p("div",{id:kd});(e=>{if(!e)return!1;const t=Object.keys(e);if(!t.includes(Ed))return!1;if(!t.includes(kd))return!1;const n=Object.values(e);for(let e=0;e<n.length;e+=1){if(!St(n[e],"style"))return!1;if(!St(n[e],"params"))return!1;for(let t=0;t<Td.length;t+=1)if(!St(n[e].params,Td[t]))return!1}return!0})(i)||(i=(e=>{if(!e)return;const{uiTakeover:t=!1}=e;return{[Cd]:{style:{border:"none",width:"100%",height:"100%"},params:{enabled:!0,parentElement:"#alloy-messaging-container",insertionMethod:"appendChild"}},[Ed]:{style:Dd(e),params:{enabled:!0,parentElement:"body",insertionMethod:"appendChild"}},[kd]:{style:Rd(e),params:{enabled:!0===t,parentElement:"body",insertionMethod:"appendChild"}}}})(o)),i&&((e,t,n,r)=>{[{id:kd,element:r},{id:Ed,element:n},{id:Cd,element:e}].forEach(({id:e,element:n})=>{const{style:r={},params:o={}}=t[e];Object.assign(n.style,r);const{parentElement:i="body",insertionMethod:a="appendChild",enabled:s=!0}=o,c=document.querySelector(i);s&&c&&"function"==typeof c[a]&&c[a](n)})})(s,i,a,c)};var Md=e=>({defaultContent:t=>((e,t)=>new Promise(n=>{const{meta:r,identityMap:o}=e;Od(e,(e,n)=>{const i={};i[Ko.INTERACT]=1,-1!==Object.values(Ko).indexOf(e)&&(i[e]=1),t({decisionsMeta:[r],propositionAction:n,eventType:Xo,propositionEventTypes:Object.keys(i),identityMap:o})}),n({meta:r})}))(t,e)});const Nd=e=>{const t=e.find(e=>e.scopeType===Fc);return t?t.scope:void 0};var Ad=(e,t,n)=>{const{interactIds:r,clickLabel:o="",clickToken:i}=(e=>{const{documentElement:t}=document;let n=e;const r=new Set;let o,i;for(;n&&n!==t&&!(n instanceof ShadowRoot);){const e=Ts(n,id);e&&r.add(e),o=o||Ts(n,ad),i=i||Ts(n,"data-aep-click-token"),n=n.parentNode}return{interactIds:[...r],clickLabel:o,clickToken:i}})(e),a=((e,t,n)=>r=>{const{scopeDetails:o={}}=r,{decisionProvider:i}=o;return e[i]===td||e[i]===rd&&(t||n)})(n,o,i);if(0===r.length)return{};const s=t(r).filter(a);return{decisionsMeta:Vc(s),propositionActionLabel:o,propositionActionToken:i,viewName:Nd(s)}};const xd=({config:e,logger:t,eventManager:n,consent:r})=>{const{targetMigrationEnabled:o,prehidingStyle:i,autoCollectPropositionInteractions:a}=e,s=Si({eventManager:n,mergeDecisionsMeta:Pi}),c=(e=>()=>{const t=Ds(sc);t&&(e.logOnContentHiding({status:"show-containers",message:"Prehiding style removed to show containers.",logLevel:"info"}),$(t))})(t),d=(e=>t=>{if(!t)return;if(Ds(sc))return;const n=Ls(),r={id:sc,...n&&{nonce:n}},o=p(h,r,{textContent:t});e.logOnContentHiding({status:"hide-containers",message:"Prehiding style applied to hide containers.",logLevel:"info"}),g(document.head,o)})(t),{storeInteractionMeta:u,getInteractionMetas:m}=(()=>{const e={},t={};return{storeInteractionMeta:(n,r,o,i,a)=>{a=parseInt(a,10),e[a]||(e[a]={},t[a]={}),t[a][n]||(t[a][n]=new Set),t[a][n].add(r),e[a][n]={...i,scopeType:o}},getInteractionMetas:n=>Array.isArray(n)&&0!==n.length?Object.values(n.map(e=>parseInt(e,10)).reduce((n,r)=>(Object.keys(e[r]||{}).forEach(o=>{n[o]||(n[o]={proposition:e[r][o],items:new Set}),n[o].items=new Set([...n[o].items,...t[r][o]])}),n),{})).map(({proposition:e,items:t})=>({...e,items:Array.from(t).map(e=>({id:e}))})):[]}})(),{storeClickMeta:f,getClickSelectors:y,getClickMetas:v}=Xc(),w=(({window:e})=>()=>e.location)({window:window}),b={[Cc]:wc(ic,!0),[Sc]:wc(ac,!0),[Pc]:wc(uc,!0),[Dc]:wc(hc,!0),[Rc]:wc(yc,!0),[Tc]:wc(fc,!0),[Oc]:wc(bc,!0),[Mc]:wc(kc,!0),[Nc]:wc(vc),[Ac]:wc($,!0),[xc]:wc(mc),[qc]:wc(gc),[$c]:wc(pc,!0),[Lc]:wc(ac),[_c]:wc(oc),[Uc]:wc(Ec,!0)},E=(k=[Yc,Kc],e=>e?k.reduce((e,t)=>({...e,...t(e)}),e):e);var k;const C=Zc({preprocess:E,isPageWideSurface:Hi}),S=(({createProposition:e})=>{let t=!1,n=Promise.resolve({});const r=(t,n)=>{const r=t[n.toLowerCase()];return r&&r.length>0?r:[e({scope:n,scopeDetails:{characteristics:{scopeType:Fc}},items:[{schema:jo}]},!1)]};return{createCacheUpdate:e=>{const o=l();return t=!0,n=n.then(e=>o.promise.then(t=>({...e,...t})).catch(()=>e)),{update(t){const n=t.filter(e=>e.getScope()),i=Q(n,e=>e.getScope().toLowerCase());return o.resolve(i),e?r(i,e):[]},cancel(){o.reject()}}},getView:e=>n.then(t=>r(t,e)),isInitialized:()=>t}})({createProposition:C}),P=bd(window),D={[jo]:ed,[Uo]:ld({modules:b,logger:t,storeInteractionMeta:u,storeClickMeta:f,autoCollectPropositionInteractions:a}),[Bo]:ud({modules:b,logger:t,storeInteractionMeta:u,autoCollectPropositionInteractions:a}),[Ho]:pd({logger:t,executeRedirect:P,collect:s}),[zo]:wd({modules:Md(s),logger:t})},R=md({schemaProcessors:D,logger:t}),T=(()=>{let e=Promise.resolve([]);return{concat(t){e=e.then(e=>t.then(t=>e.concat(t)).catch(()=>e))},clear(){const t=e;return e=Promise.resolve([]),t}}})(),O=((e,t)=>(n,r,o,i)=>{if(!n)return()=>{};if(!r){const e=l();return t.concat(e.promise),e.resolve}return(t=[],n=[])=>{I(t)&&e({decisionsMeta:t,viewName:o,identityMap:i}),I(n)&&e({decisionsMeta:n,eventType:Wo,propositionAction:{reason:"Conflict"},viewName:o,identityMap:i})}})(s,T),M=(({logger:e,prehidingStyle:t,showContainers:n,hideContainers:r,mergeQuery:o,processPropositions:i,createProposition:a,notificationHandler:s,consent:c})=>({cacheUpdate:d,personalizationDetails:l,event:u,onResponse:g,identityMap:p})=>{const{state:m,wasSet:f}=c.current();"out"===m&&f||(l.isRenderDecisions()?r(t):n()),o(u,l.createQueryDetails());const h=s(l.isRenderDecisions(),l.isSendDisplayEvent(),l.getViewName(),p);g(({response:t})=>{const r=t.getPayloadsByType("personalization:decisions");I(r)||e.logOnContentRendering({status:"no-offers",message:"No offers were returned.",logLevel:"info",detail:{query:l.createQueryDetails()}});const o=r.map(e=>a(e,!0,!1,p)),{page:s=[],view:c=[],proposition:u=[]}=Q(o,e=>e.getScopeType()),g=d.update(c);let m,f,y;return l.isRenderDecisions()?(({render:m,returnedPropositions:f,returnedDecisions:y}=i([...s,...g],u)),I(s)&&e.logOnContentRendering({status:"rendering-started",message:"Started rendering propositions for page-wide scope.",logLevel:"info",detail:{scope:dn,propositions:s.map(e=>e.toJSON())}}),I(g)&&e.logOnContentRendering({status:"rendering-started",message:`Rendering propositions started for view scope - ${l.getViewName()}.`,logLevel:"info",detail:{scope:l.getViewName(),propositions:g.map(e=>e.toJSON())}}),m().then(h),1===s.length&&s[0].getItems().every(e=>e.getSchema()===Ho)||n()):({returnedPropositions:f,returnedDecisions:y}=i([],[...s,...g,...u])),{propositions:f,decisions:y}})})({prehidingStyle:i,showContainers:c,hideContainers:d,mergeQuery:Di,processPropositions:R,createProposition:C,notificationHandler:O,consent:r,logger:t}),N=(({mergeDecisionsMeta:e,collectInteractions:t,collectClicks:n,getInteractionMetas:r,getClickMetas:o,getClickSelectors:i,autoCollectPropositionInteractions:a})=>({event:s,clickedElement:c})=>{const d=[];let l,u,g;if([t(c,r,a),n(c,i(),o)].forEach(({decisionsMeta:e,propositionActionLabel:t,propositionActionToken:n,viewName:r})=>{Array.prototype.push.apply(d,e),!l&&t&&(l=t),!u&&n&&(u=n),!g&&r&&(g=r)}),I(d)){const t={eventType:Xo};g&&(t.web={webPageDetails:{viewName:g}}),s.mergeXdm(t),e(s,d,[Ko.INTERACT],((e,t)=>{if(!t&&!e)return;const n={};return e&&(n.label=e),t&&(n.tokens=[t]),n})(l,u))}})({mergeDecisionsMeta:Pi,collectInteractions:Ad,collectClicks:zc,getInteractionMetas:m,getClickMetas:v,getClickSelectors:y,autoCollectPropositionInteractions:a}),A=(({processPropositions:e,viewCache:t,logger:n})=>({personalizationDetails:r,onResponse:o})=>{let i,a;const s=r.getViewName();return o(()=>({propositions:i,decisions:a})),t.getView(s).then(t=>{let o;return r.isRenderDecisions()?(({render:o,returnedPropositions:i,returnedDecisions:a}=e(t)),n.logOnContentRendering({status:"rendering-started",message:`Started rendering propositions for view scope - ${s}.`,logLevel:"info",detail:{scope:s,propositions:t.map(e=>e.toJSON())}}),o()):(({returnedPropositions:i,returnedDecisions:a}=e([],t)),[])})})({processPropositions:R,viewCache:S,logger:t}),x=Wc({processPropositions:R,createProposition:C,renderedPropositions:T,viewCache:S}),q=(({targetMigrationEnabled:e})=>e?e=>{e.getPayload().mergeMeta({target:{migration:!0}})}:me)({targetMigrationEnabled:o}),L=fd({processPropositions:R,createProposition:C,notificationHandler:O}),_=(({showContainers:e,consent:t})=>()=>{const{state:n,wasSet:r}=t.current();n===jt&&r?e():t.awaitConsent().catch(e)})({showContainers:c,consent:r});return ws({getPageLocation:w,logger:t,fetchDataHandler:M,viewChangeHandler:A,onClickHandler:N,isAuthoringModeEnabled:Jc,mergeQuery:Di,viewCache:S,showContainers:c,applyPropositions:x,setTargetMigration:q,mergeDecisionsMeta:Pi,renderedPropositions:T,onDecisionHandler:L,handleConsentFlicker:_})};xd.namespace="Personalization";const qd=od.map(e=>Et(e));xd.configValidators=St({prehidingStyle:Pt().nonEmpty(),targetMigrationEnabled:It().default(!1),autoCollectPropositionInteractions:St({[Br]:yt(qd).default(td),[Fr]:yt(qd).default(nd)}).default({[Br]:td,[Fr]:nd}).noUnknownFields()});const $d=async({vapidPublicKey:e,window:t})=>{if(!("serviceWorker"in t.navigator))throw new Error("Service workers are not supported in this browser.");if(!("PushManager"in t)||!("Notification"in t))throw new Error("Push notifications are not supported in this browser.");if("granted"!==t.Notification.permission)throw new Error("The user has not given permission to send push notifications.");const o=await t.navigator.serviceWorker.getRegistration();if(!o)throw new Error("No service worker registration was found.");if(!e)throw new Error("No VAPID public key was provided.");const i={userVisibleOnly:!0,applicationServerKey:n(e)};try{const e=await o.pushManager.subscribe(i),t=e.getKey("p256dh"),n=e.getKey("auth");return{endpoint:e.endpoint,keys:{p256dh:t?r(new Uint8Array(t),{urlSafe:!0}):null,auth:n?r(new Uint8Array(n),{urlSafe:!0}):null}}}catch(n){const r=await o.pushManager.getSubscription();if(!r)throw n;if(!await r.unsubscribe())throw n;return $d({vapidPublicKey:e,window:t})}};const Ld="config",_d="alloyConfig";async function jd(e,t){try{const i=await(n="alloyPushNotifications",r=1,o=e=>{e.objectStoreNames.contains(Ld)||e.createObjectStore(Ld,{keyPath:"id"})},new Promise((e,t)=>{const i=indexedDB.open(n,r);i.onerror=()=>t(i.error),i.onsuccess=()=>e(i.result),i.onupgradeneeded=e=>{const t=e.target.result;o&&o(t)}})),a=await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readonly").objectStore(t).get(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,Ld,_d),s={...a||{},...e,id:_d,timestamp:Date.now()};return await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readwrite").objectStore(t).put(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,Ld,s),i.close(),t.info("Successfully saved web SDK config to IndexedDB",s),!0}catch(e){return t.error("Failed to save config to IndexedDB",{error:e}),!1}var n,r,o}const Ud="subscriptionDetails";var Bd=async({config:{vapidPublicKey:e,appId:t},storage:n,logger:r,sendEdgeNetworkRequest:o,consent:i,eventManager:a,identity:s,window:c,getPushSubscriptionDetails:d=$d})=>{await s.awaitIdentity();const l=s.getEcidFromCookie();if(!l)return void r.info("No ECID is available. Not sending push subscription details to the server.");const u=await d({vapidPublicKey:e,window:c}),g=JSON.stringify(Ce(u)),p=`${l}${g}`,m=await n.getItem(Ud);if(m&&p===m)return void r.info("Subscription details have not changed. Not sending to the server.");const f=await(async({ecid:e,eventManager:t,serializedPushSubscriptionDetails:n,appId:r})=>{const o=t.createEvent();o.setUserData({pushNotificationDetails:[{appID:r,token:n,platform:"web",denylisted:!1,identity:{namespace:{code:"ECID"},id:e}}]}),o.finalize();const i=fn();return i.addEvent(o),i})({eventManager:a,ecid:l,serializedPushSubscriptionDetails:g,appId:t}),h=(({payload:e})=>un({payload:e,getAction:()=>"interact",getUseSendBeacon:()=>!1}))({payload:f});await i.awaitConsent(),await o({request:h});await jd({ecid:l},r)&&n.setItem(Ud,p)};const Fd=({orgId:e,pushNotifications:{vapidPublicKey:t,appId:n,trackingDatasetId:r}={vapidPublicKey:void 0,appId:void 0,trackingDatasetId:void 0}})=>Boolean(e&&t&&n&&r),Vd=({eventManager:e,config:t,logger:n,consent:r,identity:o,getBrowser:i,sendEdgeNetworkRequest:a,platformServices:s})=>({lifecycle:{async onComponentsRegistered(){if(Fd(t)){const{datastreamId:e,edgeDomain:r,edgeBasePath:o,pushNotifications:{trackingDatasetId:a}}=t;await jd({datastreamId:e,edgeDomain:r,edgeBasePath:o,datasetId:a,browser:i()},n)}}},commands:{sendPushSubscription:{run:async()=>{if(!Fd(t))throw new Error("Push notifications module is not configured.");const{orgId:i,pushNotifications:{vapidPublicKey:c,appId:d}}=t,l=s.storage.createNamespacedStorage(`${X(i)}.pushNotifications.`);return Bd({config:{vapidPublicKey:c,appId:d},storage:l.persistent,logger:n,sendEdgeNetworkRequest:a,consent:r,eventManager:e,identity:o,window:window})},optionsValidator:St({}).noUnknownFields()}}});Vd.namespace="Push Notifications",Vd.configValidators=St({pushNotifications:St({vapidPublicKey:Pt().required(),appId:Pt().required(),trackingDatasetId:Pt().required()}).noUnknownFields()});var Hd=Object.freeze({__proto__:null,activityCollector:Ia,advertising:fs,audiences:er,brandConcierge:Qi,consent:cr,eventMerge:lr,mediaAnalyticsBridge:Ur,personalization:xd,pushNotifications:Vd,rulesEngine:Ri,streamingMedia:Mi});var zd=[["architecture","string"],["bitness","string"],["model","string"],["platformVersion","string"],["wow64","boolean"]];const Jd=new Set(["decisioning.propositionFetch","decisioning.propositionDisplay","decisioning.propositionInteract"]);const Xd=(e=>t=>{t.mergeXdm({web:{webPageDetails:{URL:e.location.href||e.location},webReferrer:{URL:e.document.referrer}}})})(window),Gd=(e=>t=>{const{screen:{width:n,height:r}}=e,o={},i=Re(r);i>=0&&(o.screenHeight=i);const a=Re(n);a>=0&&(o.screenWidth=a);const s=(e=>{const{screen:{orientation:t}}=e;if(null==t||null==t.type)return null;const n=t.type.split("-");return 0===n.length||"portrait"!==n[0]&&"landscape"!==n[0]?null:n[0]})(e)||(e=>{if(w(e.matchMedia)){if(e.matchMedia("(orientation: portrait)").matches)return"portrait";if(e.matchMedia("(orientation: landscape)").matches)return"landscape"}return null})(e);s&&(o.screenOrientation=s),Object.keys(o).length>0&&t.mergeXdm({device:o})})(window),Qd=(e=>t=>{const{document:{documentElement:{clientWidth:n,clientHeight:r}={}}}=e,o={type:"browser"},i=Re(n);i>=0&&(o.browserDetails={viewportWidth:i});const a=Re(r);a>=0&&(o.browserDetails=o.browserDetails||{},o.browserDetails.viewportHeight=a),t.mergeXdm({environment:o})})(window),Wd=(Kd=()=>new Date,e=>{const t=Kd(),n={},r=Re(t.getTimezoneOffset());void 0!==r&&(n.localTimezoneOffset=r),(void 0===r||Math.abs(r)<6e3)&&(n.localTime=(e=>{const t=e.getFullYear(),n=Te(e.getMonth()+1,2,"0"),r=Te(e.getDate(),2,"0"),o=Te(e.getHours(),2,"0"),i=Te(e.getMinutes(),2,"0"),a=Te(e.getSeconds(),2,"0"),s=Te(e.getMilliseconds(),3,"0"),c=Re(e.getTimezoneOffset(),0);return`${t}-${n}-${r}T${o}:${i}:${a}.${s}${c>0?"-":"+"}${Te(Math.floor(Math.abs(c)/60),2,"0")}:${Te(Math.abs(c)%60,2,"0")}`})(t));const o=Intl.DateTimeFormat().resolvedOptions().timeZone;o&&(n.ianaTimezone=o),e.mergeXdm({placeContext:n})});var Kd;const Yd=jr(()=>new Date),Zd={web:Xd,device:Gd,environment:Qd,placeContext:Wd},el={highEntropyUserAgentHints:(e=>(e=>"userAgentData"in e)(e)?(t,n)=>{try{return e.userAgentData.getHighEntropyValues(zd.map(e=>e[0])).then(e=>{const n={};zd.forEach(([t,r])=>{Object.prototype.hasOwnProperty.call(e,t)&&typeof e[t]===r&&(n[t]=e[t])}),t.mergeXdm({environment:{browserDetails:{userAgentClientHints:n}}})})}catch(e){return n.warn(`Unable to collect user-agent client hints. ${e.message}`),me}}:me)(navigator),oneTimeAnalyticsReferrer:(e=>{let t=null;return n=>{const r=n.getContent(),o=r.xdm?.eventType;if(Jd.has(o))return;const i=r.data?.__adobe?.analytics?.referrer,a=void 0!==i?i:e.document.referrer;a!==t?(n.mergeData({__adobe:{analytics:{referrer:a}}}),t=a):n.mergeData({__adobe:{analytics:{referrer:""}}})}})(window)},tl={...Zd,...el},nl=[Yd,e=>{e.mergeXdm({implementationDetails:{name:"https://ns.adobe.com/experience/alloy",version:Jn,environment:"browser"}})}],rl=({config:e,logger:t})=>((e,t,n,r)=>{const o=e.context.flatMap((e,r)=>n[e]?[n[e]]:(t.warn(`Invalid context[${r}]: '${e}' is not available.`),[])).concat(r);return{namespace:"Context",lifecycle:{onBeforeEvent:({event:e})=>Promise.all(o.map(n=>Promise.resolve(n(e,t))))}}})(e,t,tl,nl);rl.namespace="Context",rl.configValidators=St({context:wt(Pt()).default(Object.keys(Zd))});var ol=Object.freeze({__proto__:null,context:rl});const il=({logger:e})=>{const{fetch:t,navigator:n}=window,r=(({fetch:e})=>(t,n,r)=>e(t,{method:"POST",cache:"no-cache",credentials:"include",headers:{"Content-Type":"text/plain; charset=UTF-8",...r},referrerPolicy:"no-referrer-when-downgrade",body:n}).then(e=>e.text().then(t=>({statusCode:e.status,getHeader:t=>e.headers.get(t),body:t}))))({fetch:t}),o="function"==typeof n.sendBeacon?(({sendBeacon:e,sendFetchRequest:t,logger:n})=>(r,o)=>{const i=new Blob([o],{type:"text/plain; charset=UTF-8"});return e(r,i)?Promise.resolve({statusCode:204,getHeader:()=>null,body:""}):(n.info("Unable to use `sendBeacon`; falling back to `fetch`."),t(r,o))})({sendBeacon:n.sendBeacon.bind(n),sendFetchRequest:r,logger:e}):r;return{sendFetchRequest:r,sendBeaconRequest:o}},al=(e,t)=>({getItem(n){try{return Promise.resolve(window[e].getItem(t+n))}catch{return Promise.resolve(null)}},setItem(n,r){try{return window[e].setItem(t+n,r),Promise.resolve(!0)}catch{return Promise.resolve(!1)}},removeItem(n){try{return window[e].removeItem(t+n),Promise.resolve(!0)}catch{return Promise.resolve(!1)}},clear(){try{return Object.keys(window[e]).forEach(n=>{n.startsWith(t)&&window[e].removeItem(n)}),Promise.resolve(!0)}catch{return Promise.resolve(!1)}}});
13
+ !function(){"use strict";var e=e=>null==e,t=t=>!e(t)&&!Array.isArray(t)&&"object"==typeof t;const n=e=>{const t=(e+"=".repeat((4-e.length%4)%4)).replace(/-/g,"+").replace(/_/g,"/"),n=atob(t);return Uint8Array.from(n,e=>e.codePointAt(0)??0)},r=(e,t={})=>{const{urlSafe:n=!1}=t||{},r=btoa(String.fromCharCode(...e));return n?r.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""):r},o=["__proto__","constructor","prototype"],i=(e,n)=>{Object.keys(n).forEach(r=>{o.includes(r)||(t(e[r])&&t(n[r])?i(e[r],n[r]):e[r]=n[r])})};var a=(t,...n)=>{if(e(t))throw new TypeError('deepAssign "target" cannot be null or undefined');const r=Object(t);return n.forEach(e=>i(r,Object(e))),r},s=(e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);a(r,n)},c=()=>{const e=[];return{add(t){e.push(t)},call:(...t)=>Promise.all(e.map(e=>e(...t)))}},d=({logger:e,cookieJar:t})=>({...t,set:(n,r,o)=>(e.info("Setting cookie",{name:n,value:r,...o}),t.set(n,r,o))}),l=()=>{const e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e};const u=(e,t)=>e===t;var g=(e,t)=>e.appendChild(t);var p=(e,n={},r={},o=[],i=document)=>{const a=i.createElement(e);return Object.keys(n).forEach(e=>{a.setAttribute(e,n[e])}),((e,n)=>{Object.keys(n).forEach(r=>{if("style"===r&&t(n[r])){const t=n[r];Object.keys(t).forEach(n=>{e.style[n]=t[n]})}else e[r]=n[r]})})(a,r),o.forEach(e=>g(a,e)),a};const m="BODY",f="IMG",h="STYLE",y="SCRIPT";var v=({src:e,currentDocument:t=document})=>new Promise((n,r)=>{p(f,{src:e},{onload:n,onerror:r,onabort:r},[],t)}),w=e=>"function"==typeof e,I=e=>Array.isArray(e)&&e.length>0,b=e=>Array.isArray(e)?e:null==e?[]:[].slice.call(e);const E=/^\s*>/;var k=(e,t)=>E.test(t)?b(e.querySelectorAll(`:scope ${t}`)):b(e.querySelectorAll(t)),C=":shadow";const S=(e,t)=>{const n=t;if(!n.startsWith(">"))return n;return`${e instanceof Element||e instanceof Document?":scope":":host"} ${n}`};var P=(e,t)=>{const n=(e=>e.split(C))(t);if(n.length<2)return k(e,t);let r=e;for(let e=0;e<n.length;e+=1){const t=n[e].trim();if(""===t&&r.shadowRoot){r=r.shadowRoot;continue}const o=S(r,t),i=k(r,o);if(0===i.length||!i[0]||!i[0].shadowRoot)return i;r=i[0].shadowRoot}},D=(e,t=document)=>-1===e.indexOf(C)?k(t,e):P(t,e);const R="MutationObserver",T={childList:!0,subtree:!0},O=e=>new Error(`Could not find: ${e}`),M=e=>new Promise(e);var N=(e,t=D,n=5e3,r=window,o=document)=>{const i=t(e);return I(i)?Promise.resolve(i):(e=>w(e[R]))(r)?((e,t,n,r,o)=>M((i,a)=>{let s;const c=new e[R](()=>{const e=o(n);I(e)&&(c.disconnect(),s&&clearTimeout(s),i(e))});s=setTimeout(()=>{c.disconnect(),a(O(n))},r),c.observe(t,T)}))(r,o,e,n,t):(e=>"visible"===e.visibilityState)(o)?((e,t,n,r)=>M((o,i)=>{const a=()=>{const n=r(t);I(n)?o(n):e.requestAnimationFrame(a)};a(),setTimeout(()=>{i(O(t))},n)}))(r,e,n,t):((e,t,n)=>M((r,o)=>{const i=()=>{const t=n(e);I(t)?r(t):setTimeout(i,100)};i(),setTimeout(()=>{o(O(e))},t)}))(e,n,t)};let A;const x=(e=document)=>{if(void 0===A){const t=e.querySelector("[nonce]");A=t&&(t.nonce||t.getAttribute("nonce"))}return A},q=(e,t={})=>document.querySelector(`script[src="${e}"]`)?(t.onLoad&&t.onLoad(),Promise.resolve()):new Promise((n,r)=>{const{attributes:o={},onLoad:i,onError:a}=t,s=p("script",{type:"text/javascript",src:e,async:!0,...x()&&{nonce:x()},...o},{onload:()=>{i&&i(),n()},onerror:()=>{const t=new Error(`Failed to load script: ${e}`);a&&a(t),r(t)}}),c=()=>{const e=document.head||document.body;if(e)g(e,s);else{const e=new Error("Neither <head> nor <body> available for script insertion.");a&&a(e),r(e)}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c):c()});var $=e=>{const t=e.parentNode;return t?t.removeChild(e):null};const L={name:"Adobe Alloy"},_={style:{display:"none",width:0,height:0}};var U=({appendNode:e=g,awaitSelector:t=N,createNode:n=p,fireImage:r=v}={})=>{const o=r;let i;const a=({src:o})=>t(m).then(([t])=>i||(i=n("IFRAME",L,_),e(t,i))).then(e=>{const t=e.contentWindow.document;return r({src:o,currentDocument:t})});return e=>{const{hideReferrer:t,url:n}=e;return t?a({src:n}):o({src:n})}},j=e=>t(e)&&0===Object.keys(e).length;const B=(n,r)=>e(n)||!t(n)?n:Object.keys(n).reduce((e,o)=>{const i=n[o];if(t(i)){const t=B(i,r);return j(t)?e:{...e,[o]:t}}return r(i,o)?{...e,[o]:i}:e},{}),F=e=>(e=>{let t=2166136261;const n=(new TextEncoder).encode(e);for(let e=0;e<n.length;e+=1)t^=n[e],t=Math.imul(t,16777619);return t>>>0})(e).toString(16).padStart(8,"0");var V="com.adobe.alloy.",H=(e,t)=>e.slice(-t);const z=`${V}getTld`;var J="kndctr",X=e=>e.replace("@","_"),K=(e,t)=>`${J}_${X(e)}_${t}`,G=(e,t)=>{const n={};return e.forEach(e=>{const r=t(e);n[r]||(n[r]=[]),n[r].push(e)}),n};const W="Chrome",Q="Edge",Y="EdgeChromium",Z="Firefox",ee="IE",te="Safari",ne="Unknown";var re=e=>{let t,n=!1;return()=>(n||(n=!0,t=e()),t)};const oe=[W,Q,Y,"IE",ne];var ie=({getBrowser:e})=>re(()=>oe.includes(e()));var ae=({orgId:e,cookieJar:t})=>{const n=K(e,"identity");return()=>Boolean(t.get(n))};var se=({userAgent:e})=>re(()=>((e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1){const o=n[r];if(e[o].test(t))return o}return ne})({[Q]:/Edge\/([0-9\._]+)/,[Y]:/Edg\/([0-9\.]+)/,[W]:/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/,[Z]:/Firefox\/([0-9\.]+)(?:\s|$)/,[ee]:/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/,[te]:/Version\/([0-9\._]+).*Safari/},e));const ce=(e,t,n)=>({getItem(r){try{return e[t].getItem(n+r)}catch{return null}},setItem(r,o){try{return e[t].setItem(n+r,o),!0}catch{return!1}},clear(){try{return Object.keys(e[t]).forEach(r=>{r.startsWith(n)&&e[t].removeItem(r)}),!0}catch{return!1}}});var de=e=>"boolean"==typeof e,le=e=>"number"==typeof e&&!Number.isNaN(e),ue=e=>{const t=parseInt(e,10);return le(t)&&e===t},ge=e=>"string"==typeof e,pe=e=>ge(e)&&e.length>0,me=()=>{};const fe=e=>{const t={},n=e.split(".");switch(n.length){case 1:t.subdomain="",t.domain=e,t.topLevelDomain="";break;case 2:t.subdomain="",t.domain=e,t.topLevelDomain=n[1];break;case 3:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=n[2];break;case 4:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=`${n[2]}.${n[3]}`}return t},he=(e,t=fe)=>{ge(e)||(e="");const n=(e=>{try{const t=new URL(e);let n=t.pathname;return e.endsWith("/")||"/"!==n||(n=""),{host:t.hostname,path:n,query:t.search.replace(/^\?/,""),anchor:t.hash.replace(/^#/,"")}}catch{return{host:"",path:"",query:"",anchor:""}}})(e),{host:r,path:o,query:i,anchor:a}=n;return{path:o,query:i,fragment:a,...t(r)}};var ye,ve;function we(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ie=(ve||(ve=1,ye={parse:function(e){return function(e){var t={};if(!e||"string"!=typeof e)return t;var n=e.trim().replace(/^[?#&]/,""),r=new URLSearchParams(n),o=r.keys();do{var i=o.next(),a=i.value;if(a){var s=r.getAll(a);1===s.length?t[a]=s[0]:t[a]=s}}while(!1===i.done);return t}(e)},stringify:function(e){return function(e){var t="{{space}}",n=new URLSearchParams;return Object.keys(e).forEach(function(r){var o=e[r];"string"==typeof e[r]?o=o.replace(/ /g,t):["object","undefined"].includes(typeof o)&&!Array.isArray(o)&&(o=""),Array.isArray(o)?o.forEach(function(e){n.append(r,e)}):n.append(r,o)}),n.toString().replace(new RegExp(encodeURIComponent(t),"g"),"%20")}(e)}}),ye),be=we(Ie),Ee=e=>e?.edgeCredentials&&Object.prototype.hasOwnProperty.call(e.edgeCredentials,"clientSecret")?{...e,edgeCredentials:{...e.edgeCredentials,clientSecret:"[REDACTED]"}}:e;const ke=e=>Array.isArray(e)?e.map(e=>ke(e)):"object"==typeof e&&null!==e?Object.keys(e).sort().reduce((t,n)=>(t[n]=ke(e[n]),t),{}):e;var Ce=e=>ke(e),Se=e=>e instanceof Error?e:new Error(e),Pe=({error:e,message:t})=>{try{e.message=t}catch{}},De=({error:e,message:t})=>{const n=Se(e),r=`${t}\nCaused by: ${n.message}`;return Pe({error:n,message:r}),n},Re=(e,t)=>{if(le(e)||ge(e)){const t=Math.round(Number(e));if(!Number.isNaN(t))return t}return t};const Te=(e,t,n)=>`${e}`.padStart(t,n);const Oe=[];for(let e=0;e<256;++e)Oe.push((e+256).toString(16).slice(1));const Me=new Uint8Array(16);function Ne(e,t,n){return t||e||!crypto.randomUUID?function(e,t,n){e=e||{};const r=e.random??e.rng?.()??crypto.getRandomValues(Me);if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){if((n=n||0)<0||n+16>t.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return(Oe[e[t+0]]+Oe[e[t+1]]+Oe[e[t+2]]+Oe[e[t+3]]+"-"+Oe[e[t+4]]+Oe[e[t+5]]+"-"+Oe[e[t+6]]+Oe[e[t+7]]+"-"+Oe[e[t+8]]+Oe[e[t+9]]+"-"+Oe[e[t+10]]+Oe[e[t+11]]+Oe[e[t+12]]+Oe[e[t+13]]+Oe[e[t+14]]+Oe[e[t+15]]).toLowerCase()}(r)}(e,t,n):crypto.randomUUID()}const Ae=e=>function(t,n){return null==t?t:e.call(this,t,n)},xe=(e,t)=>function(n,r){return t.call(this,e.call(this,n,r),r)},qe=(e,t)=>function(n,r){const o=[],i=[e,t].reduce((e,t)=>{try{return t.call(this,e,r)}catch(t){return o.push(t),e}},n);if(o.length)throw new Error(o.join("\n"));return i},$e=(e,t,n)=>Object.assign(xe(e,t),e,n),Le=(e,t,n)=>Object.assign(xe(e,Ae(t)),e,n),_e=(e,t,n,r)=>{if(!e)throw new Error(`'${n}': Expected ${r}, but got ${JSON.stringify(t)}.`)};var Ue=(e,t)=>(_e(de(e),e,t,"true or false"),e),je=(e,t)=>(_e(w(e),e,t,"a function"),e),Be=(e,t)=>function(n,r){let o;const i=e.find(e=>{try{return o=e.call(this,n,r),!0}catch{return!1}});return _e(i,n,r,t),o},Fe=e=>function(t,n){_e(Array.isArray(t),t,n,"an array");const r=[],o=t.map((o,i)=>{try{return e.call(this,o,`${n}[${i}]`,t)}catch(e){return void r.push(e.message)}});if(r.length)throw new Error(r.join("\n"));return o},Ve=(e="This field has been deprecated")=>function(t,n){let r=e;return void 0!==t&&(n&&(r=`'${n}': ${r}`),this&&this.logger&&this.logger.warn(r)),t},He=e=>function(n,r){_e(t(n),n,r,"an object");const o=[],i={};if(Object.keys(n).forEach(t=>{const a=n[t],s=r?`${r}.${t}`:t;try{const n=e.call(this,a,s);void 0!==n&&(i[t]=n)}catch(e){o.push(e.message)}}),o.length)throw new Error(o.join("\n"));return i},ze=(e,t)=>(n,r)=>(_e(n>=t,n,r,`${e} greater than or equal to ${t}`),n),Je=e=>(n,r)=>(t(n)?_e(!j(n),n,r,e):_e(n.length>0,n,r,e),n),Xe=e=>function(n,r){_e(t(n),n,r,"an object");const o=[],i={};if(Object.keys(e).forEach(t=>{const a=n[t],s=e[t],c=r?`${r}.${t}`:t;try{const e=s.call(this,a,c);void 0!==e&&(i[t]=e)}catch(e){o.push(e.message)}}),Object.keys(n).forEach(e=>{Object.prototype.hasOwnProperty.call(i,e)||(i[e]=n[e])}),o.length)throw new Error(o.join("\n"));return i},Ke=(e,n,r)=>function(o,i){_e(t(o),o,i,"an object");const{[e]:a,[r]:s,...c}=o,d=n(a,i);if(void 0!==d){let t=`The field '${e}' is deprecated. Use '${r}' instead.`;if(i&&(t=`'${i}': ${t}`),void 0!==s&&s!==d)throw new Error(t);this&&this.logger&&this.logger.warn(t)}return{[r]:s||d,...c}},Ge=()=>(e,t)=>(_e((e=>{const t=Object.create(null);for(let n=0;n<e.length;n+=1){const r=e[n];if(r in t)return!1;t[r]=!0}return!0})(e),e,t,"array values to be unique"),e);const We=/^[a-z0-9.-]{1,}$/i;var Qe=(e,t)=>(_e(We.test(e),e,t,"a valid domain"),e),Ye=(e,t)=>(_e(ue(e),e,t,"an integer"),e),Ze=(e,t)=>(_e(le(e),e,t,"a number"),e),et=(e,t)=>(_e((e=>{try{return null!==RegExp(e)}catch{return!1}})(e),e,t,"a regular expression"),e),tt=(e,t)=>{if(null==e)throw new Error(`'${t}' is a required option`);return e},nt=(e,t)=>(_e(ge(e),e,t,"a string"),e);const rt=e=>e;rt.default=function(e){return $e(this,(e=>t=>null==t?e:t)(e))},rt.required=function(){return $e(this,tt)},rt.deprecated=function(e){return $e(this,Ve(e))};const ot=function(){return Le(this,Qe)},it=function(e){return Le(this,ze("an integer",e))},at=function(e){return Le(this,ze("a number",e))},st=function(e){return Le(this,(t="a number",n=e,(e,r)=>(_e(e<=n,e,r,`${t} less than or equal to ${n}`),e)));var t,n},ct=function(){return Le(this,Ye,{minimum:it})},dt=function(){return Le(this,Je("a non-empty string"))},lt=function(){return Le(this,Je("a non-empty array"))},ut=function(){return Le(this,Je("a non-empty object"))},gt=function(){return Le(this,et)},pt=function(e){return Le(this,(e=>(t,n)=>(_e(e.test(t),t,n,`does not match the ${e.toString()}`),t))(e))},mt=function(){return Le(this,(()=>{const e=[];return(t,n)=>(_e(-1===e.indexOf(t),t,n,"a unique value across instances"),e.push(t),t)})())},ft=function(){return Le(this,Ge())},ht=e=>({noUnknownFields:function(){return Le(this,(e=>(t,n)=>{const r=[];if(Object.keys(t).forEach(t=>{if(!e[t]){const e=n?`${n}.${t}`:t;r.push(`'${e}': Unknown field.`)}}),r.length)throw new Error(r.join("\n"));return t})(e))},nonEmpty:ut,concat:function(t){const n={...e,...t.schema};return Le(this,t,ht(n))},renamed:function(e,t,n){return r=this,o=Ke(e,t,n),Object.assign(qe(Ae(o),r),r,i);var r,o,i},schema:e}),yt=function(e,t){return $e(this,Be(e,t))}.bind(rt),vt=function(){return this}.bind(rt),wt=function(e){return Le(this,Fe(e),{nonEmpty:lt,uniqueItems:ft})}.bind(rt),It=function(){return Le(this,Ue)}.bind(rt),bt=function(){return Le(this,je)}.bind(rt),Et=function(e){return Le(this,(e=>(t,n)=>(_e(t===e,t,n,`${e}`),t))(e))}.bind(rt),kt=function(){return Le(this,Ze,{minimum:at,maximum:st,integer:ct,unique:mt})}.bind(rt),Ct=function(e){return Le(this,He(e),{nonEmpty:ut})}.bind(rt),St=function(e){return Le(this,Xe(e),ht(e))}.bind(rt),Pt=function(){return Le(this,nt,{regexp:gt,domain:ot,nonEmpty:dt,unique:mt,matches:pt})}.bind(rt),Dt=function(...e){return yt(e.map(Et),`one of these values: ${JSON.stringify(e)}`)};var Rt=Ct(wt(St({authenticatedState:Dt("ambiguous","authenticated","loggedOut"),id:Pt(),namespace:St({code:Pt()}).noUnknownFields(),primary:It(),xid:Pt()}).noUnknownFields()).required()),Tt=St({});const Ot=["onComponentsRegistered","onBeforeEvent","onBeforeRequest","onResponse","onRequestFailure","onClick","onDecision"];var Mt=e=>Ot.reduce((t,n)=>{var r;return t[n]=(r=((e,t)=>(...n)=>Promise.all(e.getLifecycleCallbacks(t).map(e=>new Promise(t=>{t(e(...n))}))))(e,n),(...e)=>Promise.resolve().then(()=>r(...e))),t},{});const Nt=(e,t)=>(...n)=>{let r;try{r=e(...n)}catch(e){throw De({error:e,message:t})}return r instanceof Promise&&(r=r.catch(e=>{throw De({error:e,message:t})})),r};var At=()=>{const e={},t={},n={};return{register(r,o){const{commands:i,lifecycle:a}=o;((e,n={})=>{const r=(o=Object.keys(t),i=Object.keys(n),o.filter(e=>i.includes(e)));var o,i;if(r.length)throw new Error(`[ComponentRegistry] Could not register ${e} because it has existing command(s): ${r.join(",")}`);Object.keys(n).forEach(r=>{const o=n[r];o.commandName=r,o.run=Nt(o.run,`[${e}] An error occurred while executing the ${r} command.`),t[r]=o})})(r,i),((e,t={})=>{Object.keys(t).forEach(r=>{n[r]=n[r]||[],n[r].push(Nt(t[r],`[${e}] An error occurred while executing the ${r} lifecycle hook.`))})})(r,a),e[r]=o},getCommand:e=>t[e],getCommandNames:()=>Object.keys(t),getLifecycleCallbacks:e=>n[e]||[],getComponentNames:()=>Object.keys(e)}};const xt=(e,t)=>{let n,r=0,o=0;do{if(t<0||t+o>=e.length)throw new Error("Invalid varint: buffer ended unexpectedly");if(n=e[t+o],r|=(127&n)<<7*o,o+=1,o>10)throw new Error("Invalid varint: too long")}while(128&n);return{value:r,length:o}},qt=Object.freeze({VARINT:0,I64:1,LEN:2,SGROUP:3,EGROUP:4,I32:5});var $t=({orgId:e,cookieJar:t,logger:r})=>{const o=K(e,"identity");return()=>{const e=t.get(o);if(!e)return null;try{const t=decodeURIComponent(e).replace(/_/g,"/").replace(/-/g,"+");return(e=>{let t=0,n=null;for(;t<e.length&&!n;){const{value:r,length:o}=xt(e,t);t+=o;const i=7&r;if(1==r>>3){if(i===qt.LEN){const r=xt(e,t);return t+=r.length,n=(new TextDecoder).decode(e.slice(t,t+r.value)),n}}else switch(i){case qt.VARINT:t+=xt(e,t).length;break;case qt.I64:t+=8;break;case qt.LEN:{const n=xt(e,t);t+=n.length+n.value;break}case qt.SGROUP:case qt.EGROUP:break;case qt.I32:t+=4;break;default:throw new Error(`Malformed kndctr cookie. Unknown wire type: ${i}`)}}throw new Error("No ECID found in cookie.")})(n(t))}catch(e){return r.warn(`Unable to decode ECID from ${o} cookie`,e),null}}},Lt=({logger:e,loggingCookieJar:t,config:n})=>{let r=null;const o=new Promise(e=>{r=e}),i=$t({orgId:n.orgId,cookieJar:t,logger:e});return{initialize(){i()&&this.setIdentityAcquired()},setIdentityAcquired(){r()},awaitIdentity:()=>o,getEcidFromCookie:()=>i()}};const _t="in",Ut="out",jt="pending",Bt="disabled",Ft="wait",Vt="auto",Ht="general",zt="declinedConsent",Jt="default",Xt="initial",Kt="new",Gt=e=>{const t=new Error(e);return t.code=zt,t.message=e,t};var Wt=({logger:e})=>{const t=[],n=()=>Promise.resolve(),r=()=>Promise.resolve(),o=()=>Promise.reject(Gt("No consent preferences have been set.")),i=()=>Promise.reject(Gt("The user declined consent.")),a=e=>{if(e)return Promise.reject(new Error("Consent is pending."));const n=l();return t.push(n),n.promise};return{in(o){o===Jt?this.awaitConsent=n:(o===Xt?e.info("Loaded user consent preferences. The user previously consented."):o===Kt&&this.awaitConsent!==r&&e.info("User consented."),(()=>{for(;t.length;)t.shift().resolve()})(),this.awaitConsent=r)},out(n){n===Jt?(e.warn("User consent preferences not found. Default consent of out will be used."),this.awaitConsent=o):(n===Xt?e.warn("Loaded user consent preferences. The user previously declined consent."):n===Kt&&this.awaitConsent!==i&&e.warn("User declined consent."),(()=>{for(;t.length;)t.shift().reject(Gt("The user declined consent."))})(),this.awaitConsent=i)},pending(t){t===Jt&&e.info("User consent preferences not found. Default consent of pending will be used. Some commands may be delayed."),this.awaitConsent=a},awaitConsent:()=>Promise.resolve(),withConsent(){return this.awaitConsent(!0)},current(){switch(this.awaitConsent){case n:return{state:"in",wasSet:!1};case r:return{state:"in",wasSet:!0};case o:return{state:"out",wasSet:!1};case i:return{state:"out",wasSet:!0};case a:return{state:"pending",wasSet:!1};default:return{state:"in",wasSet:!1}}}}};const Qt=e=>e&&e._experience&&e._experience.decisioning&&I(e._experience.decisioning.propositions)?e._experience.decisioning.propositions:[];var Yt=()=>{const e={},t=Date.now();let n,r,o=!1,i=!1,s=!0;const c=e=>{if(i)throw new Error(`${e} cannot be called after event is finalized.`)},d={hasQuery(){return Object.prototype.hasOwnProperty.call(this.getContent(),"query")},getContent(){const t=JSON.parse(JSON.stringify(e));return n&&a(t,{xdm:n}),r&&a(t,{data:r}),t},setUserXdm(e){c("setUserXdm"),n=e},setUserData(e){c("setUserData"),r=e},mergeXdm(t){c("mergeXdm"),t&&a(e,{xdm:t})},mergeData(t){c("mergeData"),t&&a(e,{data:t})},mergeMeta(t){c("mergeMeta"),t&&a(e,{meta:t})},mergeQuery(t){c("mergeQuery"),t&&a(e,{query:t})},documentMayUnload(){o=!0},finalize(t){if(i)return;const o=((e,t=u)=>e.filter((n,r)=>((e,t,n)=>{for(let r=0;r<e.length;r+=1)if(n(e[r],t))return r;return-1})(e,n,t)===r))([...Qt(n),...Qt(e.xdm)],(e,t)=>e===t||e.id&&t.id&&e.id===t.id&&e.scope&&t.scope&&e.scope===t.scope);if(n&&this.mergeXdm(n),o.length>0&&(e.xdm._experience.decisioning.propositions=o),r&&d.mergeData(r),i=!0,t){s=!1;const n={xdm:e.xdm||{},data:e.data||{}},r=t(n);s=!1!==r,e.xdm=n.xdm||{},e.data=n.data||{},j(e.xdm)&&delete e.xdm,j(e.data)&&delete e.data}},getDocumentMayUnload:()=>o,getCreatedAt:()=>t,isEmpty:()=>j(e)&&(!n||j(n))&&(!r||j(r)),shouldSend:()=>s,getViewName(){if(n&&n.web&&n.web.webPageDetails)return n.web.webPageDetails.viewName},getUserIdentityMap:()=>n?.identityMap,toJSON(){if(!i)throw new Error("toJSON called before finalize");return e}};return d};const Zt="configure",en="setDebug";var tn=({logger:e,configureCommand:n,setDebugCommand:r,handleError:o,validateCommandOptions:i})=>{let a;return(s,c={})=>new Promise(t=>{const o=((t,o)=>{let s;if(t===Zt){if(a)throw new Error("The library has already been configured and may only be configured once.");s=()=>(a=n(o),a.then(()=>{}))}else{if(!a)throw new Error("The library must be configured first. Please do so by executing the configure command.");s=t===en?()=>{const e=St({enabled:It().required()}).noUnknownFields(),t=i({command:{commandName:en,optionsValidator:e},options:o});r(t)}:()=>a.then(e=>{const n=e.getCommand(t);if(!n||!w(n.run)){const n=[Zt,en].concat(e.getCommandNames()).join(", ");throw new Error(`The ${t} command does not exist. List of available commands: ${n}.`)}const r=i({command:n,options:o});return n.run(r)},()=>(e.warn(`An error during configuration is preventing the ${t} command from executing.`),new Promise(()=>{})))}return s})(s,c);e.logOnBeforeCommand({commandName:s,options:c}),t(o())}).catch(e=>o(e,`${s} command`)).catch(t=>{throw e.logOnCommandRejected({commandName:s,options:c,error:t}),t}).then(n=>{const r=t(n)?n:{};return e.logOnCommandResolved({commandName:s,options:c,result:r}),r})};const nn="https://adobe.ly/3sHgQHb";var rn=({command:e,options:t})=>{const{commandName:n,documentationUri:r=nn,optionsValidator:o}=e;let i=t;if(o)try{i=o(t)}catch(e){throw new Error(`Invalid ${n} command options:\n\t - ${e} For command documentation see: ${r}`,{cause:e})}return i};var on=({options:e,componentCreators:t,coreConfigValidators:n,createConfig:r,logger:o,setDebugEnabled:i})=>{const a=(e=>{const t=[],n={get enabled(){return e.enabled},flush(){t.forEach(({method:t,args:n})=>e[t](...n))}};return Object.keys(e).filter(t=>"function"==typeof e[t]).forEach(e=>{n[e]=(...n)=>{t.push({method:e,args:n})}}),n})(o),s=t.map(({configValidators:e})=>e).filter(e=>e).reduce((e,t)=>e.concat(t),n),c=r((({combinedConfigValidator:e,options:t,logger:n})=>{try{return e.noUnknownFields().required().call({logger:n},t)}catch(e){throw new Error(`Resolve these configuration problems:\n\t - ${e.message.split("\n").join("\n\t - ")}\nFor configuration documentation see: https://adobe.ly/3sHh553`,{cause:e})}})({combinedConfigValidator:s,options:e,logger:a}));i(c.debugEnabled,{fromConfig:!0}),a.flush();const d=((e,t,n)=>n.reduce((n,{buildOnInstanceConfiguredExtraParams:r})=>(r&&(n={...n,...r({config:e,logger:t})}),n),{}))(c,o,t);return o.logOnInstanceConfigured({...d,config:c}),c};const an=e=>({...e});var sn=({errorPrefix:e,logger:t})=>(n,r)=>{const o=Se(n);if(o.code===zt)return t.warn(`The ${r} could not fully complete. ${o.message}`),{};throw Pe({error:o,message:`${e} ${o.message}`}),o},cn=({getDebugEnabled:e,console:t,getMonitors:n,context:r})=>{let o=`[${r.instanceName}]`;r.componentName&&(o+=` [${r.componentName}]`);const i=(e,t)=>{const o=n();if(o.length>0){const n={...r,...t,config:Ee(t.config),options:Ee(t.options)};o.forEach(t=>{t[e]&&t[e](n)})}},a=(n,...r)=>{const a=r.map(Ee);i("onBeforeLog",{level:n,arguments:a}),e()&&t[n](o,...a)};return{get enabled(){return n().length>0||e()},logOnInstanceCreated(e){i("onInstanceCreated",e),a("info","Instance initialized.")},logOnInstanceConfigured(e){i("onInstanceConfigured",e),a("info","Instance configured. Computed configuration:",e.config)},logOnBeforeCommand(e){i("onBeforeCommand",e),a("info",`Executing ${e.commandName} command. Options:`,e.options)},logOnCommandResolved(e){i("onCommandResolved",e),a("info",`${e.commandName} command resolved. Result:`,e.result)},logOnCommandRejected(e){i("onCommandRejected",e),a("error",`${e.commandName} command was rejected. Error:`,e.error)},logOnBeforeNetworkRequest(e){i("onBeforeNetworkRequest",e),a("info",`Request ${e.requestId}: Sending request.`,e.payload)},logOnNetworkResponse(e){if(i("onNetworkResponse",e),e.sentWithBeacon)return void a("info",`Request ${e.requestId}: Sent using sendBeacon. No response is available for sendBeacon requests. If the page navigates away, the browser keeps sending the request in the background, but its developer tools may show it as canceled.`);const t=e.parsedBody||e.body?"response body:":"no response body.";a("info",`Request ${e.requestId}: Received response with status code ${e.statusCode} and ${t}`,e.parsedBody||e.body)},logOnNetworkError(e){i("onNetworkError",e),a("error",`Request ${e.requestId}: Network request failed.`,e.error)},logOnContentHiding(e){i("onContentHiding",{status:e.status}),a(e.logLevel,e.message)},logOnContentRendering(e){i("onContentRendering",{status:e.status,payload:e.detail}),a(e.logLevel,e.message)},info:a.bind(null,"info"),warn:a.bind(null,"warn"),error:a.bind(null,"error")}},dn="__view__",ln=e=>(t,n)=>{e.xdm=e.xdm||{},e.xdm.identityMap=e.xdm.identityMap||{},e.xdm.identityMap[t]=e.xdm.identityMap[t]||[],e.xdm.identityMap[t].push(n)},un=e=>{const{payload:t,getAction:n,getUseSendBeacon:r,getUseKeepalive:o=()=>!1,datastreamIdOverride:i,edgeSubPath:a,requestParams:s={}}=e,c=Ne();let d=!1,l=!1;return{getId:()=>c,getPayload:()=>t,getAction:()=>n({isIdentityEstablished:l}),getDatastreamIdOverride:()=>i,getUseSendBeacon:()=>r({isIdentityEstablished:l}),getUseKeepalive:()=>o(),getEdgeSubPath:()=>a||"",getUseIdThirdPartyDomain:()=>d,setUseIdThirdPartyDomain(){d=!0},setIsIdentityEstablished(){l=!0},getRequestParams:()=>s}},gn=({payload:e,datastreamIdOverride:t})=>{const n=({isIdentityEstablished:t})=>e.getDocumentMayUnload()&&t;return un({payload:e,getAction:({isIdentityEstablished:e})=>n({isIdentityEstablished:e})?"collect":"interact",getUseSendBeacon:n,getUseKeepalive:()=>e.getDocumentMayUnload(),datastreamIdOverride:t})};var pn=t=>{const{content:n,addIdentity:r,hasIdentity:o}=t,i=((e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);Object.assign(r,n)})(n,"meta.configOverrides");return{mergeMeta:s(n,"meta"),mergeState:s(n,"meta.state"),mergeQuery:s(n,"query"),mergeConfigOverride:e=>i(e),finalizeConfigOverrides:()=>{if(n.meta?.configOverrides){const t=(t=>{if(e(t)||"object"!=typeof t)return null;const n=B(t,(t,n)=>!(e(t)||(!de(t)||"enabled"===n&&!1!==t)&&!le(t)&&!pe(t)&&!I(t)));return j(n)?null:n})(n.meta.configOverrides);null===t?delete n.meta.configOverrides:n.meta.configOverrides=t}},addIdentity:r,hasIdentity:o,toJSON:()=>n}},mn=e=>t=>void 0!==(e.xdm&&e.xdm.identityMap&&e.xdm.identityMap[t]),fn=()=>{const e={};return{...pn({content:e,addIdentity:ln(e),hasIdentity:mn(e)}),addEvent:t=>{e.events=e.events||[],e.events.push(t)},getEvents:()=>e.events||[],getDocumentMayUnload:()=>(e.events||[]).some(e=>e.getDocumentMayUnload())}},hn=({localConfigOverrides:e,globalConfigOverrides:t,payload:n})=>{const r={payload:n},{datastreamId:o,...i}=e||{};return o&&(r.datastreamIdOverride=o),t&&!j(t)&&n.mergeConfigOverride(t),i&&!j(i)&&n.mergeConfigOverride(i),n.finalizeConfigOverrides(),r};const yn="clientId";const vn="Event was canceled because the onBeforeEventSend callback returned false.";var wn=({orgId:e,targetMigrationEnabled:t})=>n=>((e,t)=>0===t.indexOf(`${J}_${X(e)}_`))(e,n)||"at_qa_mode"===n||"_mkto_trk"===n||t&&"mbox"===n,In="alloy_debug";var bn=e=>((...e)=>e.length<2?Object.assign(...e):e.reduce((e,n)=>(t(n)&&Object.keys(n).forEach(t=>{Array.isArray(n[t])?Array.isArray(e[t])?e[t].push(...n[t]):e[t]=[...n[t]]:e[t]=n[t]}),e)))({},...e.shift()||[],...e.shift()||[],...e),En=e=>t=>{const n=()=>{throw t};return e.call({error:t}).then(n,n)};const kn=e=>{if("function"!=typeof e.getEvents)return;const t=e.getEvents();if(0===t.length)return;const n=Math.min(...t.map(e=>e.getCreatedAt()));return r=Date.now()-n,o=0,i=3e5,Math.max(o,Math.min(r,i));var r,o,i};var Cn=({config:e,lifecycle:t,cookieTransfer:n,sendNetworkRequest:r,createResponse:o,processWarningsAndErrors:i,getLocationHint:a,getAssuranceValidationTokenParams:s,getImsAccessToken:d})=>{const{edgeDomain:l,edgeBasePath:u,datastreamId:g,orgId:p,edgeCredentials:m}=e;let f=!1;const h=(e,t,n)=>{const r=n?void 0:a(),o=r?`${u}/${r}${t.getEdgeSubPath()}`:`${u}${t.getEdgeSubPath()}`,i=t.getDatastreamIdOverride()||g;i!==g&&t.getPayload().mergeMeta({sdkConfig:{datastream:{original:g}}});const c=n?"dataStreamId":"configId";return`https://${e}/${o}/${n?"v2":"v1"}/${t.getAction()}?${c}=${i}&requestId=${t.getId()}${s()}`};return({request:e,runOnResponseCallbacks:a=me,runOnRequestFailureCallbacks:s=me})=>{const u=c();u.add(t.onResponse),u.add(a);const g=c();g.add(t.onRequestFailure),g.add(s);const y=!!m&&(e=>"interact"===e.getAction())(e);return t.onBeforeRequest({request:e,onResponse:u.add,onRequestFailure:g.add}).then(async()=>{const t=y?"server.adobedc.net":f||!e.getUseIdThirdPartyDomain()?l:"adobedc.demdex.net",o=h(t,e,y),i=e.getPayload(),a=kn(i);void 0!==a&&i.mergeMeta({queueTimeMillis:a}),n.cookiesToPayload(i,t);const s=y?await(async()=>({Authorization:`Bearer ${await d.getAccessToken()}`,"x-api-key":m.clientId,"x-gw-ims-org-id":p}))():void 0,c=y?(e=>{const{events:t,...n}=e.toJSON();if(!t||1!==t.length)throw new Error(`The authenticated Server API (v2) only supports exactly one event per request; got ${t?t.length:0}.`);return{...n,event:t[0]}})(i):i;return r({requestId:e.getId(),url:o,payload:c,useSendBeacon:e.getUseSendBeacon(),useKeepalive:e.getUseKeepalive(),headers:s})}).then(e=>(i(e),e)).catch(async t=>{if(!y&&((e,t)=>t.getUseIdThirdPartyDomain()&&(e=>"TypeError"===e.name||"NetworkError"===e.name||0===e.status)(e))(t,e)){f=!0,e.setUseIdThirdPartyDomain(!1);const t=h(l,e),o=e.getPayload();return n.cookiesToPayload(o,l),r({requestId:e.getId(),url:t,payload:o,useSendBeacon:e.getUseSendBeacon(),useKeepalive:e.getUseKeepalive()})}return En(g)(t)}).then(({parsedBody:e,getHeader:t})=>{const r=o({content:e,getHeader:t});return n.responseToCookies(r),u.call({response:r}).then(bn)})}};var Sn=({edgeCredentials:e,dateProvider:t=()=>new Date})=>{let n,r,o=0;return{getAccessToken:()=>n&&t().getTime()<o?Promise.resolve(n):(r||(r=(async()=>{const{clientId:r,clientSecret:i,scopes:a,imsHost:s}=e,c=new URLSearchParams({grant_type:"client_credentials",client_id:r,client_secret:i,scope:a.join(",")}),d=await fetch(`https://${s}/ims/token/v3`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:c.toString()});if(!d.ok)throw new Error(`Failed to acquire an IMS access token: the server responded with a status code ${d.status} and response body: ${await d.text()}`);const{access_token:l,expires_in:u}=await d.json();return n=l,o=t().getTime()+1e3*u-3e5,n})().finally(()=>{r=void 0})),r)}};const Pn="The server responded with a";var Dn=({orgId:e,cookieJar:t})=>{const n=K(e,"cluster");return()=>t.get(n)||(()=>{const e=t.get("mboxEdgeCluster");if(e)return`t${e}`})()};const Rn=[429,503,502,504];var Tn=({response:e,retriesAttempted:t})=>t<3&&Rn.includes(e.statusCode);var On=({response:e,retriesAttempted:t})=>{let n=(e=>{const t=e.getHeader("Retry-After");let n;if(t){const e=parseInt(t,10);n=ue(e)?1e3*e:Math.max(0,new Date(t).getTime()-(new Date).getTime())}return n})(e);return void 0===n&&(n=(e=>{const t=1e3+1e3*e,n=.3*t,r=t-n,o=t+n;return Math.round(r+Math.random()*(o-r))})(t)),n};const Mn=({eventManager:e,logger:t})=>({commands:{sendEvent:{documentationUri:"https://adobe.ly/3GQ3Q7t",optionsValidator:e=>(({options:e})=>St({type:Pt(),xdm:St({eventType:Pt(),identityMap:Rt}),data:St({}),documentUnloading:It(),renderDecisions:It(),decisionScopes:wt(Pt()).uniqueItems(),personalization:St({decisionScopes:wt(Pt()).uniqueItems(),surfaces:wt(Pt()).uniqueItems(),sendDisplayEvent:It().default(!0),includeRenderedPropositions:It().default(!1),defaultPersonalizationEnabled:It(),decisionContext:St({})}).default({sendDisplayEvent:!0}),datasetId:Pt(),mergeId:Pt(),edgeConfigOverrides:Tt,advertising:St({handleAdvertisingData:Dt(Bt,Ft,Vt).default(Bt)})}).required().noUnknownFields()(e))({options:e}),run:n=>{const{xdm:r,data:o,documentUnloading:i,type:s,mergeId:c,datasetId:d,edgeConfigOverrides:l,...u}=n,g=e.createEvent();return i&&g.documentMayUnload(),g.setUserXdm(r),g.setUserData(o),s&&g.mergeXdm({eventType:s}),c&&g.mergeXdm({eventMergeId:c}),l&&(u.edgeConfigOverrides=l),d&&(t.warn("The 'datasetId' option has been deprecated. Please use 'edgeConfigOverrides.com_adobe_experience_platform.datasets.event.datasetId' instead."),u.edgeConfigOverrides=l||{},a(u.edgeConfigOverrides,{com_adobe_experience_platform:{datasets:{event:{datasetId:d}}}})),e.sendEvent(g,u)}},applyResponse:{documentationUri:"",optionsValidator:e=>(({options:e})=>St({renderDecisions:It(),responseHeaders:Ct(Pt().required()),responseBody:St({handle:wt(St({type:Pt().required(),payload:vt().required()})).required()}).required(),personalization:St({sendDisplayEvent:It().default(!0),decisionContext:St({})}).default({sendDisplayEvent:!0})}).noUnknownFields()(e))({options:e}),run:t=>{const{renderDecisions:n=!1,decisionContext:r={},responseHeaders:o={},responseBody:i={handle:[]},personalization:a}=t,s=e.createEvent();return e.applyResponse(s,{renderDecisions:n,decisionContext:r,responseHeaders:o,responseBody:i,personalization:a})}}}});Mn.namespace="DataCollector";const Nn=(e,t)=>`ID sync ${t?"succeeded":"failed"}: ${e.spec.url}`;const An=St({thirdPartyCookiesEnabled:It().default(!0),idMigrationEnabled:It().default(!0)});var xn=St({url:Pt().required().nonEmpty(),edgeConfigOverrides:Tt}).required().noUnknownFields(),qn="ECID",$n="CORE",Ln="adobe_mc",_n=e=>{try{return decodeURIComponent(e)}catch{return""}};var Un=(e,t)=>{e.addIdentity(qn,{id:t})},jn=e=>e.getPayloadsByType("identity:result").reduce((e,t)=>(t.namespace&&t.namespace.code&&(e[t.namespace.code]=t.id),e),{}),Bn=({payload:e,datastreamIdOverride:t})=>un({payload:e,datastreamIdOverride:t,getAction:()=>"identity/acquire",getUseSendBeacon:()=>!1}),Fn=e=>{const t={query:{identity:{fetch:e}}};return pn({content:t,addIdentity:ln(t),hasIdentity:mn(t)})};const Vn=/^([^?#]*)(\??[^#]*)(#?.*)$/;const Hn=St({namespaces:wt(Dt(qn,$n)).nonEmpty().uniqueItems().default([qn]),edgeConfigOverrides:Tt}).noUnknownFields().default({namespaces:[qn]});const zn=({config:e,logger:t,consent:n,fireReferrerHideableImage:r,sendEdgeNetworkRequest:o,apexDomain:i,getBrowser:a,identity:s,platformServices:c})=>{const{orgId:l,thirdPartyCookiesEnabled:u,edgeConfigOverrides:g}=e,p=(({config:e,getEcidFromVisitor:t,apexDomain:n,isPageSsl:r,cookieJar:o})=>{const{idMigrationEnabled:i,orgId:a}=e,s=`AMCV_${a}`,c=()=>{let e=null;const t=o.get("s_ecid")||o.get(s);if(t){const n=/(^|\|)MCMID\|(\d+)($|\|)/,r=t.match(n);r&&(e=r[2])}return e};return{getEcid(){if(i){const e=c();return e?Promise.resolve(e):t()}return Promise.resolve()},setEcid(e){if(i&&c()!==e){const t=r?{sameSite:"none",secure:!0}:{};o.set(s,`MCMID|${e}`,{domain:n,expires:390,...t})}}}})({config:e,getEcidFromVisitor:()=>c.legacy.getEcidFromVisitor({orgId:l,logger:t}),apexDomain:i,cookieJar:d({logger:t,cookieJar:c.cookie}),isPageSsl:c.globals.isPageSsl()}),m=ae({orgId:l,cookieJar:c.cookie}),f=(({sendEdgeNetworkRequest:e,createIdentityRequestPayload:t,createIdentityRequest:n,globalConfigOverrides:r})=>({namespaces:o,edgeConfigOverrides:i}={})=>{const a=hn({payload:t(o),globalConfigOverrides:r,localConfigOverrides:i}),s=n(a);return e({request:s})})({sendEdgeNetworkRequest:o,createIdentityRequestPayload:Fn,createIdentityRequest:Bn,globalConfigOverrides:g}),h=ie({getBrowser:a}),y=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>n=>{e&&t()&&n.setUseIdThirdPartyDomain()})({thirdPartyCookiesEnabled:u,areThirdPartyCookiesSupportedByDefault:h}),v=(({getLegacyEcid:e,addEcidToPayload:t})=>n=>n.hasIdentity(qn)?Promise.resolve():e().then(e=>{e&&t(n,e)}))({getLegacyEcid:p.getEcid,addEcidToPayload:Un}),w=(({locationSearch:e,locationHash:t,dateProvider:n,orgId:r,logger:o})=>i=>{if(i.hasIdentity(qn))return;let a=be.parse(e)[Ln]??be.parse(t.slice(t.indexOf("?")))[Ln];if(void 0===a)return;Array.isArray(a)&&(o.warn("Found multiple adobe_mc query string parameters, only using the last one."),a=a[a.length-1]);let s="";for(;s!==a;)s=a,a=_n(a);const c=a.split("|").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=_n(r),e[n]=e[n].replace(/[^a-zA-Z0-9@.]/g,""),e},{}),d=parseInt(c.TS,10),l=c.MCMID,u=_n(c.MCORGID);n().getTime()/1e3<=d+300&&u===r&&l?(o.info(`Found valid ECID identity ${l} from the adobe_mc query string parameter.`),i.addIdentity(qn,{id:l})):o.info("Detected invalid or expired adobe_mc query string parameter.")})({locationSearch:c.globals.getLocationSearch(),locationHash:c.globals.getLocationHash(),dateProvider:()=>new Date,orgId:l,logger:t}),I=(({doesIdentityCookieExist:e,orgId:t,logger:n})=>({onResponse:r,onRequestFailure:o})=>new Promise((i,a)=>{r(()=>{e()?i():(n.warn(`Identity cookie not found. This could be caused by any of the following issues:\n\t* The org ID ${t} configured in Alloy doesn't match the org ID specified in the edge configuration.\n\t* Experience edge was not able to set the identity cookie due to domain or cookie restrictions.\n\t* The request was canceled by the browser and not fully processed.`),a(new Error("Identity cookie not found.")))}),o(()=>{e()?i():a(new Error("Identity cookie not found."))})}))({doesIdentityCookieExist:m,orgId:l,logger:t}),b=(({doesIdentityCookieExist:e,setDomainForInitialIdentityPayload:t,addLegacyEcidToPayload:n,awaitIdentityCookie:r,logger:o})=>{let i;const a=e=>(t(e),n(e.getPayload()));return({request:t,onResponse:n,onRequestFailure:s})=>{if(e())return t.setIsIdentityEstablished(),Promise.resolve();if(i){o.info("Delaying request while retrieving ECID from server.");const e=i;return i=e.catch(()=>r({onResponse:n,onRequestFailure:s})),i.catch(()=>{}),e.then(()=>{o.info("Resuming previously delayed request."),t.setIsIdentityEstablished()}).catch(()=>a(t))}return i=r({onResponse:n,onRequestFailure:s}),i.catch(()=>{}),a(t)}})({doesIdentityCookieExist:m,setDomainForInitialIdentityPayload:y,addLegacyEcidToPayload:v,awaitIdentityCookie:I,logger:t}),E=(({fireReferrerHideableImage:e,logger:t})=>n=>{const r=n.filter(e=>"url"===e.type);return r.length?Promise.all(r.map(n=>e(n.spec).then(()=>{t.info(Nn(n,!0))}).catch(()=>{t.warn(Nn(n,!1))}))).then(me):Promise.resolve()})({fireReferrerHideableImage:r,logger:t}),k=(({processIdSyncs:e})=>t=>{e(t.getPayloadsByType("identity:exchange"))})({processIdSyncs:E}),C=(({dateProvider:e,orgId:t})=>(n,r)=>{const o=Math.round(e().getTime()/1e3),i=encodeURIComponent(`TS=${o}|MCMID=${n}|MCORGID=${encodeURIComponent(t)}`),[,a,s,c]=r.match(Vn),d=(e=>""===e?"?":"?"===e?"":"&")(s);return`${a}${s}${d}adobe_mc=${i}${c}`})({dateProvider:()=>new Date,orgId:l}),S=(({thirdPartyCookiesEnabled:e})=>t=>{const n=Hn(t);if(!e&&n.namespaces.includes($n))throw new Error(`namespaces: The ${$n} namespace cannot be requested when third-party cookies are disabled.`);return n})({thirdPartyCookiesEnabled:u}),P=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>{const n={identity:{fetch:[qn]}};return e&&t()&&n.identity.fetch.push($n),e=>{e.mergeQuery(n)}})({thirdPartyCookiesEnabled:u,areThirdPartyCookiesSupportedByDefault:h});return(({addEcidQueryToPayload:e,addQueryStringIdentityToPayload:t,ensureSingleIdentity:n,setLegacyEcid:r,handleResponseForIdSyncs:o,getNamespacesFromResponse:i,getIdentity:a,consent:s,appendIdentityToUrl:c,logger:d,identity:l,getIdentityOptionsValidator:u})=>{let g,p={};return{lifecycle:{onBeforeRequest:({request:r,onResponse:o,onRequestFailure:i})=>(e(r.getPayload()),t(r.getPayload()),n({request:r,onResponse:o,onRequestFailure:i})),onResponse({response:e}){const t=i(e);return g&&g[qn]||!t||!t[qn]||r(t[qn]),t&&Object.keys(t).length>0&&(g={...g,...t}),p={...p,...e.getEdge()},l.getEcidFromCookie()&&l.setIdentityAcquired(),o(e)}},commands:{getIdentity:{optionsValidator:u,run:e=>{const{namespaces:t}=e;return s.awaitConsent().then(()=>{if(g)return;const n=l.getEcidFromCookie();return n&&t.includes(qn)&&(g||(g={}),g[qn]=n,1===t.length)?void 0:a(e)}).then(()=>({identity:t.reduce((e,t)=>(e[t]=g[t]||null,e),{}),edge:p}))}},appendIdentityToUrl:{optionsValidator:xn,run:e=>s.withConsent().then(()=>{if(g)return;const t=l.getEcidFromCookie();return t?(g||(g={}),void(g[qn]=t)):a(e)}).then(()=>({url:c(g[qn],e.url)})).catch(t=>(d.warn(`Unable to append identity to url. ${t.message}`),e))}}}})({addEcidQueryToPayload:P,addQueryStringIdentityToPayload:w,ensureSingleIdentity:b,setLegacyEcid:p.setEcid,handleResponseForIdSyncs:k,getNamespacesFromResponse:jn,getIdentity:f,consent:n,identity:s,appendIdentityToUrl:C,logger:t,getIdentityOptionsValidator:S})};zn.namespace="Identity",zn.configValidators=An;var Jn="2.36.1";const Xn=({config:e,componentRegistry:t,libraryVersion:n})=>{const r=[...t.getCommandNames(),Zt,en].sort(),o={...Ee(e)};Object.keys(e).forEach(t=>{const n=e[t];"function"==typeof n&&(o[t]=n.toString())});const i=t.getComponentNames();return{version:n,configs:o,commands:r,components:i}},Kn=({config:e,componentRegistry:t,platformServices:n})=>{const r=n?.libraryVersionOverride??Jn;return{commands:{getLibraryInfo:{run:()=>({libraryInfo:Xn({config:e,componentRegistry:t,libraryVersion:r})})}}}};Kn.namespace="LibraryInfo";var Gn=Object.freeze({__proto__:null,dataCollector:Mn,identity:zn,libraryInfo:Kn});const Wn=St({debugEnabled:It().default(!1),datastreamId:Pt().unique().required(),edgeDomain:Pt().domain().default("edge.adobedc.net"),edgeBasePath:Pt().nonEmpty().default("ee"),orgId:Pt().unique().required(),onBeforeEventSend:bt().default(me),edgeConfigOverrides:Tt,edgeCredentials:St({clientId:Pt().nonEmpty().required(),clientSecret:Pt().nonEmpty().required(),scopes:wt(Pt().nonEmpty()).nonEmpty().required(),imsHost:Pt().domain().default("ims-na1.adobelogin.com")})}).renamed("edgeConfigId",Pt().unique(),"datastreamId"),Qn=({instanceName:e,monitors:t=[],components:n,createPlatformServices:r,coreConfigValidators:o=Wn,getImsAccessToken:i})=>{const a=r(),s=[...a.globals.getMonitors(),...t],l=(({console:e,createLogger:t,instanceName:n,getMonitors:r,storage:o})=>{let i=!1,a=!1;o.getItem("debug").then(e=>{null===e||a||(i="true"===e,a=!0)}).catch(()=>{});const s=()=>i;return{setDebugEnabled:(e,{fromConfig:t=!1}={})=>{if(t&&a||(i=e),!t){a=!0;const t=o.setItem("debug",String(e));t&&"function"==typeof t.then&&t.catch(()=>{})}},logger:t({getDebugEnabled:s,context:{instanceName:n},getMonitors:r,console:e}),createComponentLogger:o=>t({getDebugEnabled:s,context:{instanceName:n,componentName:o},getMonitors:r,console:e})}})({console:globalThis.console,createLogger:cn,instanceName:e,getMonitors:()=>s,storage:a.storage.createNamespacedStorage(`instance.${e}.`).session}),{setDebugEnabled:u,logger:g,createComponentLogger:p}=l,m=a.createNetworkService(g),f=be.parse(a.globals.getLocationSearch());var h;void 0!==f[In]&&u((h=f[In],ge(h)&&"true"===h.toLowerCase()),{fromConfig:!1});const y=((e,t)=>{let n="";const r=e.toLowerCase().split(".");let o=1;for(;o<r.length&&!t.get(z);)o+=1,n=H(r,o).join("."),t.set(z,z,{domain:n});return t.remove(z,{domain:n}),n})(a.globals.getHostname(),a.cookie),{fireReferrerHideableImage:v}=a.globals,w=(({getLocationSearch:e,storage:t})=>{let n=Ne();return t.getItem(yn).then(e=>{if(e)n=e;else{const e=t.setItem(yn,n);e&&"function"==typeof e.then&&e.catch(()=>{})}}).catch(()=>{}),()=>{const t=be.parse(e()).adb_validation_sessionid;if(!t)return"";const r=`${t}|${n}`;return`&${be.stringify({adobeAepValidationToken:r})}`}})({getLocationSearch:()=>a.globals.getLocationSearch(),storage:a.storage.createNamespacedStorage(`instance.${e}.validation.`).persistent}),b=se({userAgent:a.globals.getUserAgent()}),E=At(),k=Mt(E),C=n.concat(Object.values(Gn)),S=d({logger:g,cookieJar:a.cookie}),P=sn({errorPrefix:`[${e}]`,logger:g}),D=tn({logger:g,configureCommand:t=>{const n=on({options:t,componentCreators:C,coreConfigValidators:o,createConfig:an,logger:g,setDebugEnabled:u}),{orgId:r,targetMigrationEnabled:s}=n,d=wn({orgId:r,targetMigrationEnabled:s}),l=(({cookieJar:e,shouldTransferCookie:t,apexDomain:n,dateProvider:r})=>({cookiesToPayload(r,o,i=[]){const a=""!==n&&o.endsWith(n),s={domain:n,cookiesEnabled:!0};if(!a||I(i)){const n=e.getAll(),r=new Map,o=e=>{void 0===n[e]||r.has(e)||r.set(e,{key:e,value:n[e]})};a||Object.keys(n).filter(t).forEach(o),I(i)&&i.forEach(o),r.size&&(s.entries=[...r.values()])}r.mergeState(s)},responseToCookies(t){t.getPayloadsByType("state:store").forEach(t=>{const o={domain:n},i=t.attrs&&t.attrs.SameSite&&t.attrs.SameSite.toLowerCase();void 0!==t.maxAge&&(o.expires=new Date(r().getTime()+1e3*t.maxAge)),void 0!==i&&(o.sameSite=i),"none"===i&&(o.secure=!0),e.set(t.key,t.value,o)})}}))({cookieJar:S,shouldTransferCookie:d,apexDomain:y,dateProvider:()=>new Date}),f=(({logger:e,sendFetchRequest:t,sendBeaconRequest:n,isRequestRetryable:r,getRequestRetryDelay:o})=>({requestId:i,url:a,payload:s,useSendBeacon:c,useKeepalive:d,headers:l})=>{const u=JSON.stringify(s),g=JSON.parse(u);e.logOnBeforeNetworkRequest({url:a,requestId:i,payload:g});const p=(s=0)=>(c&&!l?n(a,u):t(a,u,l,{keepalive:Boolean(d)})).then(t=>{if(r({response:t,retriesAttempted:s})){const e=o({response:t,retriesAttempted:s});return new Promise(t=>{setTimeout(()=>{t(p(s+1))},e)})}let n;try{n=JSON.parse(t.body)}catch{}return e.logOnNetworkResponse({requestId:i,url:a,payload:g,...t,parsedBody:n,retriesAttempted:s}),{statusCode:t.statusCode,body:t.body,parsedBody:n,getHeader:t.getHeader}});return p().catch(t=>{throw e.logOnNetworkError({requestId:i,url:a,payload:g,error:t}),De({error:t,message:"Network request failed."})})})({logger:g,sendFetchRequest:m.sendFetchRequest,sendBeaconRequest:m.sendBeaconRequest,isRequestRetryable:Tn,getRequestRetryDelay:On}),h=(({logger:e})=>t=>{const{statusCode:n,body:r,parsedBody:o}=t;if(n<200||n>=300||!o&&204!==n||o&&!Array.isArray(o.handle)){const e=o?JSON.stringify(o,null,2):r;throw new Error(`${Pn} status code ${n} and ${e?`response body:\n${e}`:"no response body."}`)}if(o){const{warnings:t=[],errors:n=[]}=o;t.forEach(t=>{e.warn(`${Pn} warning:`,t)}),n.forEach(t=>{e.error(`${Pn} non-fatal error:`,t)})}})({logger:g}),P=(({logger:e})=>t=>{if(t){const n=t.split(";");if(n.length>=2&&n[1].length>0)try{const e=parseInt(n[1],10);if(!Number.isNaN(e))return{regionId:e}}catch{}e.warn(`Invalid adobe edge: "${t}"`)}return{}})({logger:g}),D=(({extractEdgeInfo:e})=>({content:t={},getHeader:n})=>{const{handle:r=[],errors:o=[],warnings:i=[]}=t;return{getPayloadsByType:e=>r.filter(t=>t.type===e).flatMap(e=>e.payload),getErrors:()=>o,getWarnings:()=>i,getEdge:()=>e(n("x-adobe-edge")),toJSON:()=>t}})({extractEdgeInfo:P}),R=Dn({orgId:r,cookieJar:a.cookie}),T=n.edgeCredentials?i||Sn({edgeCredentials:n.edgeCredentials}):void 0,O=Cn({config:n,lifecycle:k,cookieTransfer:l,sendNetworkRequest:f,createResponse:D,processWarningsAndErrors:h,getLocationHint:R,getAssuranceValidationTokenParams:w,getImsAccessToken:T}),M=(({cookieTransfer:e,lifecycle:t,createResponse:n,processWarningsAndErrors:r})=>({request:o,responseHeaders:i,responseBody:a,runOnResponseCallbacks:s=me,runOnRequestFailureCallbacks:d=me})=>{const l=c();l.add(t.onResponse),l.add(s);const u=c();u.add(t.onRequestFailure),u.add(d);const g=e=>i[e];return t.onBeforeRequest({request:o,onResponse:l.add,onRequestFailure:u.add}).then(()=>r({statusCode:200,getHeader:g,body:JSON.stringify(a),parsedBody:a})).catch(En(u)).then(()=>{const t=n({content:a,getHeader:g});return e.responseToCookies(t),l.call({response:t}).then(bn)})})({lifecycle:k,cookieTransfer:l,createResponse:D,processWarningsAndErrors:h}),N=(({generalConsentState:e,logger:t})=>{const n=(n,r)=>{switch(n[Ht]){case _t:e.in(r);break;case Ut:e.out(r);break;case jt:e.pending(r);break;default:t.warn(`Unknown consent value: ${n[Ht]}`)}};return{initializeConsent(e,t){t[Ht]?n(t,Xt):n(e,Jt)},setConsent(e){n(e,Kt)},suspend(){e.pending()},awaitConsent:()=>e.awaitConsent(),withConsent:()=>e.withConsent(),current:()=>e.current()}})({generalConsentState:Wt({logger:g}),logger:g}),A=Lt({config:n,logger:g,loggingCookieJar:S});A.initialize();const x=(({config:e,logger:t,lifecycle:n,consent:r,createEvent:o,createDataCollectionRequestPayload:i,createDataCollectionRequest:a,sendEdgeNetworkRequest:s,applyResponse:d})=>{const{onBeforeEventSend:l,edgeConfigOverrides:u}=e;return{createEvent:o,sendEvent(e,o={}){const{edgeConfigOverrides:d,...g}=o,p=hn({payload:i(),localConfigOverrides:d,globalConfigOverrides:u}),m=a(p),f=c(),h=c();return n.onBeforeEvent({...g,event:e,onResponse:f.add,onRequestFailure:h.add}).then(()=>(p.payload.addEvent(e),r.awaitConsent())).then(()=>{try{e.finalize(l)}catch(e){const t=()=>{throw e};return h.add(n.onRequestFailure),h.call({error:e}).then(t,t)}if(!e.shouldSend()){h.add(n.onRequestFailure),t.info(vn);const e=new Error(vn);return h.call({error:e}).then(()=>{})}return s({request:m,runOnResponseCallbacks:f.call,runOnRequestFailureCallbacks:h.call})})},applyResponse(e,t={}){const{renderDecisions:r=!1,decisionContext:o={},responseHeaders:s={},responseBody:l={handle:[]},personalization:u}=t,g=i(),p=a({payload:g}),m=c();return n.onBeforeEvent({event:e,renderDecisions:r,decisionContext:o,decisionScopes:[dn],personalization:u,onResponse:m.add,onRequestFailure:me}).then(()=>(g.addEvent(e),d({request:p,responseHeaders:s,responseBody:l,runOnResponseCallbacks:m.call})))}}})({config:n,logger:g,lifecycle:k,consent:N,createEvent:Yt,createDataCollectionRequestPayload:fn,createDataCollectionRequest:gn,sendEdgeNetworkRequest:O,applyResponse:M});return(({componentCreators:e,lifecycle:t,componentRegistry:n,getImmediatelyAvailableTools:r})=>(e.forEach(e=>{const{namespace:t}=e,o=r(t);let i;try{i=e(o)}catch(e){throw De({error:e,message:`[${t}] An error occurred during component creation.`})}n.register(t,i)}),t.onComponentsRegistered({lifecycle:t}).then(()=>n)))({componentCreators:C,lifecycle:k,componentRegistry:E,getImmediatelyAvailableTools(t){const r=p(t);return{loggingCookieJar:S,instanceName:e,config:n,componentRegistry:E,consent:N,identity:A,eventManager:x,fireReferrerHideableImage:v,logger:r,lifecycle:k,sendEdgeNetworkRequest:O,handleError:sn({errorPrefix:`[${e}] [${t}]`,logger:r}),apexDomain:y,getBrowser:b,cookieTransfer:l,createResponse:D,platformServices:a}}})},setDebugCommand:e=>{u(e.enabled,{fromConfig:!1})},handleError:P,validateCommandOptions:rn});return g.logOnInstanceCreated({instance:D}),D},Yn=(e,t)=>`URL destination ${t?"succeeded":"failed"}: ${e.spec.url}`;var Zn=({fireReferrerHideableImage:e,logger:t,cookieJar:n,isPageSsl:r})=>{const o=r?{sameSite:"none",secure:!0}:{};return r=>((e=>{e.filter(e=>"cookie"===e.type).forEach(e=>{const{name:t,value:r,domain:i,ttlDays:a}=e.spec;n.set(t,r||"",{domain:i||"",expires:a||10,...o})})})(r),(async n=>{const r=n.filter(e=>"url"===e.type);await Promise.allSettled(r.map(async n=>{try{await e(n.spec),t.info(Yn(n,!0))}catch{t.warn(Yn(n,!1))}}))})(r))};const er=({logger:e,fireReferrerHideableImage:t,platformServices:n})=>{const r=n.cookie.withConverter({write:e=>encodeURIComponent(e)}),o=d({logger:e,cookieJar:r}),i=(({processDestinations:e})=>({response:t})=>{const n=t.getPayloadsByType("activation:push");return e(n),{destinations:t.getPayloadsByType("activation:pull")}})({processDestinations:Zn({fireReferrerHideableImage:t,logger:e,cookieJar:o,isPageSsl:n.globals.isPageSsl()})});return{lifecycle:{onResponse:i},commands:{}}};er.namespace="Audiences";const tr=({standard:e,version:t})=>`${e}.${t}`;var nr=({storage:e})=>({clear(){e.clear()},lookup(t){const n={},r=e=>{const t=tr(e),{standard:r,version:o,...i}=e;var a;return n[t]||(n[t]=(a=i,F(JSON.stringify(Ce(a)))).toString()),n[t]};return{isNew:async()=>(await Promise.all(t.map(async t=>{const n=tr(t),o=await e.getItem(n);return null===o||o!==r(t)}))).some(Boolean),async save(){await Promise.all(t.map(t=>{const n=tr(t);return e.setItem(n,r(t))}))}}}}),rr=()=>{const e={};return{...pn({content:e,addIdentity:(t,n)=>{e.identityMap=e.identityMap||{},e.identityMap[t]=e.identityMap[t]||[],e.identityMap[t].push(n)},hasIdentity:t=>void 0!==(e.identityMap&&e.identityMap[t])}),setConsent:t=>{e.consent=t}}},or=({payload:e,datastreamIdOverride:t})=>un({payload:e,datastreamIdOverride:t,getAction:()=>"privacy/set-consent",getUseSendBeacon:()=>!1}),ir=e=>e.split(";").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=r,e},{}),ar=St({consent:wt(vt()).required().nonEmpty(),identityMap:Rt,edgeConfigOverrides:Tt}).noUnknownFields().required(),sr=St({defaultConsent:Dt(_t,Ut,jt).default(_t)});const cr=({config:e,consent:n,sendEdgeNetworkRequest:r,platformServices:o})=>{const{orgId:i,defaultConsent:a}=e,s=(({parseConsentCookie:e,orgId:t,cookieJar:n})=>{const r=K(t,"consent");return{read(){const t=n.get(r);return t?e(t):{}},clear(){n.remove(r)}}})({parseConsentCookie:ir,orgId:i,cookieJar:o.cookie}),c=(()=>{let e=0,t=Promise.resolve();return{addTask(n){e+=1;const r=()=>n().finally(()=>{e-=1});return t=t.then(r,r),t},get length(){return e}}})(),d=(({createConsentRequestPayload:e,createConsentRequest:n,sendEdgeNetworkRequest:r,edgeConfigOverrides:o})=>({consentOptions:i,identityMap:a,edgeConfigOverrides:s})=>{const c=hn({payload:e(),globalConfigOverrides:o,localConfigOverrides:s});c.payload.setConsent(i),t(a)&&Object.keys(a).forEach(e=>{a[e].forEach(t=>{c.payload.addIdentity(e,t)})});const d=n(c);return r({request:d}).then(()=>{})})({createConsentRequestPayload:rr,createConsentRequest:or,sendEdgeNetworkRequest:r,edgeConfigOverrides:e.edgeConfigOverrides}),l=o.storage.createNamespacedStorage(`${X(i)}.consentHashes.`),u=nr({storage:l.persistent}),g=ae({orgId:i,cookieJar:o.cookie});return(({storedConsent:e,taskQueue:t,defaultConsent:n,consent:r,sendSetConsentRequest:o,validateSetConsentOptions:i,consentHashStore:a,doesIdentityCookieExist:s})=>{const c={[Ht]:n};let d=e.read();const l=s(),u=void 0!==d[Ht];l&&u||a.clear(),l||(e.clear(),d={}),r.initializeConsent(c,d);const g=()=>{if(0===t.length){const t=e.read();void 0!==t[Ht]&&r.setConsent(t)}};return{commands:{setConsent:{optionsValidator:i,run:({consent:n,identityMap:i,edgeConfigOverrides:s})=>{r.suspend();const d=a.lookup(n);return t.addTask(async()=>{if(await d.isNew())return o({consentOptions:n,identityMap:i,edgeConfigOverrides:s})}).then(()=>d.save()).catch(n=>{throw 0===t.length&&void 0===e.read()[Ht]&&r.setConsent(c),n}).finally(g)}}},lifecycle:{onResponse:g,onRequestFailure:g}}})({storedConsent:s,taskQueue:c,defaultConsent:a,consent:n,sendSetConsentRequest:d,validateSetConsentOptions:ar,consentHashStore:u,doesIdentityCookieExist:g})};cr.namespace="Consent",cr.configValidators=sr;var dr=()=>({eventMergeId:Ne()});const lr=()=>(({createEventMergeId:e})=>({commands:{createEventMergeId:{run:e}}}))({createEventMergeId:dr});lr.namespace="EventMerge";var ur={PAUSE:"media.pauseStart",PLAY:"media.play",BUFFER_START:"media.bufferStart",AD_START:"media.adStart",Ad_BREAK_START:"media.adBreakStart",SESSION_END:"media.sessionEnd",SESSION_START:"media.sessionStart",SESSION_COMPLETE:"media.sessionComplete",PING:"media.ping",AD_BREAK_COMPLETE:"media.adBreakComplete",AD_COMPLETE:"media.adComplete",AD_SKIP:"media.adSkip",BITRATE_CHANGE:"media.bitrateChange",CHAPTER_COMPLETE:"media.chapterComplete",CHAPTER_SKIP:"media.chapterSkip",CHAPTER_START:"media.chapterStart",ERROR:"media.error",STATES_UPDATE:"media.statesUpdate"},gr=({config:e,eventManager:t,consent:n,sendEdgeNetworkRequest:r,setTimestamp:o})=>({createMediaEvent({options:n}){const r=t.createEvent(),{xdm:i}=n;if(o(r),r.setUserXdm(i),i.eventType===ur.AD_START){const{advertisingDetails:t}=n.xdm.mediaCollection;r.mergeXdm({mediaCollection:{advertisingDetails:{playerName:t.playerName||e.streamingMedia.playerName}}})}return r},createMediaSession(n){const{playerName:r,channel:i,appVersion:a}=e.streamingMedia,s=t.createEvent(),{sessionDetails:c}=n.xdm.mediaCollection;return o(s),s.setUserXdm(n.xdm),s.mergeXdm({eventType:ur.SESSION_START,mediaCollection:{sessionDetails:{playerName:c.playerName||r,channel:c.channel||i,appVersion:c.appVersion||a}}}),s},augmentMediaEvent({event:e,playerId:t,getPlayerDetails:n,sessionID:r}){if(!t||!n)return e;const{playhead:o,qoeDataDetails:i}=n({playerId:t});return e.mergeXdm({mediaCollection:{playhead:Re(o),qoeDataDetails:i,sessionID:r}}),e},trackMediaSession({event:e,mediaOptions:n,edgeConfigOverrides:r}){const o={mediaOptions:n,edgeConfigOverrides:r};return t.sendEvent(e,o)},trackMediaEvent({event:e,action:t}){const o=fn(),i=(({mediaRequestPayload:e,action:t})=>un({payload:e,edgeSubPath:"/va",getAction:()=>t,getUseSendBeacon:()=>!1}))({mediaRequestPayload:o,action:t});return o.addEvent(e),e.finalize(),n.awaitConsent().then(()=>r({request:i}).then(()=>({})))}}),pr="main",mr="completed",fr=()=>{let e;return{getSession:t=>e[t]||{},storeSession:({playerId:t,sessionDetails:n})=>{void 0===e&&(e={}),e[t]=n},stopPing:({playerId:t})=>{const n=e[t];n&&(clearTimeout(n.pingId),n.pingId=null,n.playbackState=mr)},savePing:({playerId:t,pingId:n,playbackState:r})=>{e[t]&&(e[t].pingId&&clearTimeout(e[t].pingId),e[t].pingId=n,e[t].playbackState=r)}}};var hr=({mediaEventManager:e,mediaSessionCacheManager:t,config:n})=>{const r=o=>{const i=e.createMediaEvent({options:o}),{playerId:a,xdm:s}=o,{eventType:c}=s,d=c.split(".")[1],{getPlayerDetails:l,sessionPromise:u,playbackState:g}=t.getSession(a);return u.then(o=>o.sessionId?(e.augmentMediaEvent({event:i,eventType:c,playerId:a,getPlayerDetails:l,sessionID:o.sessionId}),e.trackMediaEvent({event:i,action:d}).then(()=>{if(a)if(c===ur.SESSION_COMPLETE||c===ur.SESSION_END)t.stopPing({playerId:a});else{const e=((e,t)=>e===ur.AD_START||e===ur.Ad_BREAK_START||e===ur.AD_SKIP||e===ur.AD_COMPLETE?"ad":e===ur.AD_BREAK_COMPLETE||e===ur.CHAPTER_COMPLETE||e===ur.CHAPTER_START||e===ur.CHAPTER_SKIP||e===ur.SESSION_START?"main":e===ur.SESSION_END||e===ur.SESSION_COMPLETE?"completed":t)(c,g);if("completed"===e)return;const o="ad"===e?n.streamingMedia.adPingInterval:n.streamingMedia.mainPingInterval,i=setTimeout(()=>{r({playerId:a,xdm:{eventType:ur.PING}})},1e3*o);t.savePing({playerId:a,pingId:i,playbackState:e})}})):Promise.reject(new Error(`Failed to trigger media event: ${c}. Session ID is not available for playerId: ${a}.`)))};return e=>r(e)},yr=({config:e,mediaEventManager:t,mediaSessionCacheManager:n,legacy:r=!1})=>o=>{if(!e.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));const{playerId:i,getPlayerDetails:a,edgeConfigOverrides:s}=o,c=t.createMediaSession(o);t.augmentMediaEvent({event:c,playerId:i,getPlayerDetails:a});const d=t.trackMediaSession({event:c,mediaOptions:{playerId:i,getPlayerDetails:a,legacy:r},edgeConfigOverrides:s});return n.storeSession({playerId:i,sessionDetails:{sessionPromise:d,getPlayerDetails:a,playbackState:pr}}),d},vr=e=>!ge(e)||!e.trim(),wr=({mediaSessionCacheManager:e,config:t,trackMediaEvent:n})=>({response:r,playerId:o,getPlayerDetails:i})=>{const a=r.getPayloadsByType("media-analytics:new-session");if(I(a)){const{sessionId:r}=a[0];if(vr(r))return{};if(!o||!i)return{sessionId:r};const s=setTimeout(()=>{n({playerId:o,xdm:{eventType:ur.PING}})},1e3*t.streamingMedia.mainPingInterval);return e.savePing({playerId:o,pingId:s,playbackState:pr}),{sessionId:r}}return{}};const Ir={Video:"video",Audio:"audio"},br={VOD:"vod",Live:"live",Linear:"linear",Podcast:"podcast",Audiobook:"audiobook",AOD:"aod"},Er={FullScreen:"fullScreen",ClosedCaption:"closedCaptioning",Mute:"mute",PictureInPicture:"pictureInPicture",InFocus:"inFocus"},kr={AdBreakStart:"adBreakStart",AdBreakComplete:"adBreakComplete",AdStart:"adStart",AdComplete:"adComplete",AdSkip:"adSkip",ChapterStart:"chapterStart",ChapterComplete:"chapterComplete",ChapterSkip:"chapterSkip",SeekStart:"seekStart",SeekComplete:"seekComplete",BufferStart:"bufferStart",BufferComplete:"bufferComplete",BitrateChange:"bitrateChange",StateStart:"stateStart",StateEnd:"stateEnd"},Cr="sessionStart",Sr="sessionEnd",Pr="sessionComplete",Dr="play",Rr="pauseStart",Tr="error",Or="statesUpdate",Mr={MediaResumed:"media.resumed",GranularAdTracking:"media.granularadtracking"},Nr={Show:"a.media.show",Season:"a.media.season",Episode:"a.media.episode",AssetId:"a.media.asset",Genre:"a.media.genre",FirstAirDate:"a.media.airDate",FirstDigitalDate:"a.media.digitalDate",Rating:"a.media.rating",Originator:"a.media.originator",Network:"a.media.network",ShowType:"a.media.type",AdLoad:"a.media.adLoad",MVPD:"a.media.pass.mvpd",Authorized:"a.media.pass.auth",DayPart:"a.media.dayPart",Feed:"a.media.feed",StreamFormat:"a.media.format"},Ar={Artist:"a.media.artist",Album:"a.media.album",Label:"a.media.label",Author:"a.media.author",Station:"a.media.station",Publisher:"a.media.publisher"},xr={Advertiser:"a.media.ad.advertiser",CampaignId:"a.media.ad.campaign",CreativeId:"a.media.ad.creative",PlacementId:"a.media.ad.placement",SiteId:"a.media.ad.site",CreativeUrl:"a.media.ad.creativeURL"};var qr=({logger:e})=>{const t=(t,n,r)=>{const o=St(n),i=Object.keys(n);return(...n)=>{const a=Object.fromEntries(i.map((e,t)=>[e,n[t]]));try{const e=o(a),t=i.map(t=>e[t]);return r(...t)}catch(n){return e.warn(`An error occurred while creating the ${t}.`,n),{}}}};return{createMediaObject:t("MediaObject",{name:Pt().nonEmpty(),id:Pt().nonEmpty(),length:kt().required(),streamType:Pt().nonEmpty(),mediaType:Pt().nonEmpty()},(e,t,n,r,o)=>({sessionDetails:{friendlyName:e,name:t,length:Math.round(n),contentType:r,streamType:o}})),createAdBreakObject:t("AdBreakObject",{name:Pt().nonEmpty(),position:kt(),startTime:kt()},(e,t,n)=>({advertisingPodDetails:{friendlyName:e,index:t,offset:n}})),createAdObject:t("AdObject",{name:Pt().nonEmpty(),id:Pt().nonEmpty(),position:kt(),length:kt()},(e,t,n,r)=>({advertisingDetails:{friendlyName:e,name:t,podPosition:n,length:r}})),createChapterObject:t("ChapterObject",{name:Pt().nonEmpty(),position:kt(),length:kt(),startTime:kt()},(e,t,n,r)=>({chapterDetails:{friendlyName:e,index:t,length:n,offset:r}})),createStateObject:t("StateObject",{stateName:Pt().matches(/^[a-zA-Z0-9_]{1,64}$/,"This is not a valid state name.")},e=>({name:e})),createQoEObject:t("QoEObject",{bitrate:kt(),startupTime:kt(),fps:kt(),droppedFrames:kt()},(e,t,n,r)=>({bitrate:e,timeToStart:t,framesPerSecond:n,droppedFrames:r})),version:`WEBSDK ${Jn}`}};const $r={"a.media.show":"show","a.media.season":"season","a.media.episode":"episode","a.media.asset":"assetID","a.media.genre":"genre","a.media.airDate":"firstAirDate","a.media.digitalDate":"firstDigitalDate","a.media.rating":"rating","a.media.originator":"originator","a.media.network":"network","a.media.type":"showType","a.media.adLoad":"adLoad","a.media.pass.mvpd":"mvpd","a.media.pass.auth":"authorized","a.media.dayPart":"dayPart","a.media.feed":"feed","a.media.format":"streamFormat","a.media.artist":"artist","a.media.album":"album","a.media.label":"label","a.media.author":"author","a.media.station":"station","a.media.publisher":"publisher","media.resumed":"hasResume"},Lr={"a.media.ad.advertiser":"advertiser","a.media.ad.campaign":"campaignID","a.media.ad.creative":"creativeID","a.media.ad.placement":"placementID","a.media.ad.site":"siteID","a.media.ad.creativeURL":"creativeURL"};var _r=({logger:t,trackMediaSession:n,trackMediaEvent:r,uuid:o})=>{let i=null;const a=({eventType:e,mediaDetails:t={},contextData:n=[]})=>{const r=(({eventType:e})=>e===kr.BufferComplete||e===kr.SeekComplete?Dr:e===kr.StateStart||e===kr.StateEnd?Or:e===kr.SeekStart?Rr:e)({eventType:e});if(e===kr.StateStart){return{eventType:`media.${r}`,mediaCollection:{statesStart:[t]}}}if(e===kr.StateEnd){return{eventType:`media.${r}`,mediaCollection:{statesEnd:[t]}}}const o={eventType:`media.${r}`,mediaCollection:{...t}},i=[];return Object.keys(n).forEach(e=>{$r[e]?o.mediaCollection.sessionDetails[$r[e]]=n[e]:Lr[e]?o.mediaCollection.advertisingDetails[Lr[e]]=n[e]:i.push({name:e,value:n[e]})}),I(i)&&(o.mediaCollection.customMetadata=i),o};return{trackSessionStart:(r,s={})=>{if(e(r)||j(r))return t.warn("Invalid media object"),{};null===i&&(t.warn("The Media Session was completed. Restarting a new session."),i={qoe:null,lastPlayhead:0,playerId:o()});const c=a({eventType:Cr,mediaDetails:r,contextData:s});return n({playerId:i.playerId,getPlayerDetails:()=>({playhead:i.lastPlayhead,qoeDataDetails:i.qoe}),xdm:c})},trackPlay:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Dr});return r({playerId:i.playerId,xdm:e})},trackPause:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Rr});return r({playerId:i.playerId,xdm:e})},trackSessionEnd:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Sr});return r({playerId:i.playerId,xdm:e})},trackComplete:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Pr});return r({playerId:i.playerId,xdm:e})},trackError:e=>{if(t.warn(`trackError(${e})`),null===i)return t.warn("The Media Session was completed."),{};const n=a({eventType:Tr,mediaDetails:{errorDetails:{name:e,source:"player"}}});return r({playerId:i.playerId,xdm:n})},trackEvent:(e,n,o)=>{if(j(n))return t.warn("Invalid media object."),{};if(null===i)return t.warn("The Media Session was completed."),{};if(!Object.values(kr).includes(e))return t.warn("Invalid event type"),{};const s=a({eventType:e,mediaDetails:n,contextData:o});return r({playerId:i.playerId,xdm:s})},updatePlayhead:e=>{null!==i?le(e)&&(i.lastPlayhead=parseInt(e,10)):t.warn("The Media Session was completed.")},updateQoEObject:e=>{null!==i?e&&(i.qoe=e):t.warn("The Media Session was completed.")},destroy:()=>{t.warn("Destroy called, destroying the tracker."),i=null}}},Ur=e=>t=>{const n=e().toISOString();t.mergeXdm({timestamp:n})};const jr=({eventManager:e,sendEdgeNetworkRequest:t,config:n,logger:r,consent:o})=>{const i=fr(),a=gr({sendEdgeNetworkRequest:t,config:n,consent:o,eventManager:e,setTimestamp:Ur(()=>new Date)}),s=hr({mediaSessionCacheManager:i,mediaEventManager:a,config:n}),c=yr({config:n,mediaEventManager:a,mediaSessionCacheManager:i,legacy:!0});return(({trackMediaEvent:e,trackMediaSession:t,mediaResponseHandler:n,logger:r,createMediaHelper:o,createGetInstance:i,config:a})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=me}){if(!e)return;const{legacy:r,playerId:o,getPlayerDetails:i}=e;r&&t(({response:e})=>n({playerId:o,getPlayerDetails:i,response:e}))}},commands:{getMediaAnalyticsTracker:{run:()=>{if(!a.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));r.info("Streaming media is configured in legacy mode.");const n=o({logger:r});return Promise.resolve({getInstance:()=>i({logger:r,trackMediaEvent:e,trackMediaSession:t,uuid:Ne}),Event:kr,MediaType:Ir,PlayerState:Er,StreamType:br,MediaObjectKey:Mr,VideoMetadataKeys:Nr,AudioMetadataKeys:Ar,AdMetadataKeys:xr,...n})}}}}))({mediaResponseHandler:wr({mediaSessionCacheManager:i,config:n,trackMediaEvent:s}),trackMediaSession:c,trackMediaEvent:s,createMediaHelper:qr,createGetInstance:_r,logger:r,config:n})};jr.namespace="Legacy Media Analytics";const Br="AJO",Fr="TGT",Vr=e=>null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype,Hr=(e,t={},n=[])=>(Object.keys(e).forEach(r=>{Vr(e[r])||Array.isArray(e[r])?Hr(e[r],t,[...n,r]):t[[...n,r].join(".")]=e[r]}),t);var zr=e=>Vr(e)?Hr(e):e;const Jr="matcher",Xr="group",Kr="historical",Gr="eq",Wr="ne",Qr="ex",Yr="nx",Zr="gt",eo="ge",to="lt",no="le",ro="co",oo="nc",io="sw",ao="ew",so="and",co="or",lo="ordered",uo="mostRecent";function go(e){return"object"==typeof e||void 0===e}function po(e){return"number"==typeof e}const mo={[Gr]:{matches:(e,t,n=[])=>{if(go(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!go(n[e])&&r===String(n[e]).toLowerCase())return!0;return!1}},[Wr]:{matches:(e,t,n=[])=>{if(go(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!go(n[e])&&r===String(n[e]).toLowerCase())return!1;return!0}},[Qr]:{matches:(e,t)=>void 0!==e[t]&&null!==e[t]},[Yr]:{matches:(e,t)=>void 0===e[t]||null===e[t]},[Zr]:{matches:(e,t,n=[])=>{const r=e[t];if(!po(r))return!1;for(let e=0;e<n.length;e+=1)if(po(n[e])&&r>n[e])return!0;return!1}},[eo]:{matches:(e,t,n=[])=>{const r=e[t];if(!po(r))return!1;for(let e=0;e<n.length;e+=1)if(po(n[e])&&r>=n[e])return!0;return!1}},[to]:{matches:(e,t,n=[])=>{const r=e[t];if(!po(r))return!1;for(let e=0;e<n.length;e+=1)if(po(n[e])&&r<n[e])return!0;return!1}},[no]:{matches:(e,t,n=[])=>{const r=e[t];if(!po(r))return!1;for(let e=0;e<n.length;e+=1)if(po(n[e])&&r<=n[e])return!0;return!1}},[ro]:{matches:(e,t,n=[])=>{if(go(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!go(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!0;return!1}},[oo]:{matches:(e,t,n=[])=>{if(go(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!go(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!1;return!0}},[io]:{matches:(e,t,n=[])=>{if(go(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!go(n[e])&&r.startsWith(String(n[e]).toLowerCase()))return!0;return!1}},[ao]:{matches:(e,t,n=[])=>{if(go(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!go(n[e])&&r.endsWith(n[e].toLowerCase()))return!0;return!1}}};function fo(e){return void 0===e}const ho="eventId",yo="eventType",vo=["iam.eventType",yo,"type"],wo=["iam.id","id"],Io="iam.action",bo=(e,t)=>{for(let n=0;n<t.length;n+=1)if(!fo(e[t[n]]))return t[n];throw new Error("The event does not match the expected schema.")},Eo=e=>{const t=structuredClone(e);return[[bo(t,vo),yo],[bo(t,wo),ho]].forEach(([e,n])=>{e!==n&&(t[n]=t[e],delete t[e])}),fo(t[Io])||(t.action=t[Io],delete t[Io]),t};function ko(e,t){return{evaluate:(e,n)=>t.evaluate(e,n),toString:()=>`Condition{type=${e}, definition=${t}}`}}function Co(e,t,n){return{evaluate:r=>{const o=function(e){return mo[e]}(t);return!!o&&o.matches(r,e,n)}}}function So(e,t,n,r,o,i){return{evaluate:(a,s)=>{let c;return c=uo===i?function(e,t,n,r=0,o=1/0){try{return e.reduce((e,i,a)=>{const s=n.generateEventHash(Eo(i)),c=t.events[s];if(!c)return e;const d=c.timestamps.filter(e=>e>=r&&e<=o).pop();return d&&d>e.timestamp?{index:a,timestamp:d}:e},{index:-1,timestamp:0}).index}catch{return-1}}(e,a,s,r,o):lo===i?function(e,t,n,r=0,o=1/0){try{let i=r;const a=e.every(e=>{const r=n.generateEventHash(Eo(e)),a=t.events[r];if(!a)return!1;const s=a.timestamps[0],c=s>=i&&s<=o;return i=s,c});return Number(a)}catch{return 0}}(e,a,s,r,o):function(e,t,n,r=0,o=1/0){return e.reduce((e,i)=>{try{const a=n.generateEventHash(Eo(i)),s=t.events[a];if(!s)return e;const{timestamps:c=[]}=s;return e+c.filter(e=>e>=r&&e<=o).length}catch{return e}},0)}(e,a,s,r,o),((e,t,n)=>{switch(t){case Zr:return e>n;case eo:return e>=n;case to:return e<n;case no:return e<=n;case Gr:return e===n;case Wr:return e!==n;default:return!1}})(c,t,n)}}}function Po(e){const{logic:t,conditions:n}=e;return function(e,t){return{evaluate:(n,r)=>so===e?function(e,t,n){let r=!0;for(let o=0;o<t.length;o+=1)r=r&&t[o].evaluate(e,n);return r}(n,t,r):co===e&&function(e,t,n){let r=!1;for(let o=0;o<t.length;o+=1)if(r=r||t[o].evaluate(e,n),r)return!0;return!1}(n,t,r)}}(t,n.map(Do))}function Do(e){const{type:t,definition:n}=e;if(Jr===t){const e=function(e){const{key:t,matcher:n,values:r}=e;return Co(t,n,r)}(n);return ko(t,e)}if(Xr===t){return ko(t,Po(n))}if(Kr===t){const e=function(e){const{events:t,from:n,to:r,matcher:o,value:i,searchType:a}=e;return So(t,o,i,n,r,a)}(n);return ko(t,e)}throw new Error("Can not parse condition")}function Ro(e){const{id:t,type:n,detail:r}=e;return function(e,t,n){return{id:e,type:t,detail:n}}(t,n,r)}function To(e){const{condition:t,consequences:n,key:r}=e;return function(e,t,n){return{key:n,execute:(n,r)=>e.evaluate(n,r)?t:[],toString:()=>`Rule{condition=${e}, consequences=${t}}`}}(Do(t),n.map(Ro),r)}function Oo(e){const{version:t,rules:n,metadata:r}=e,o=n.map(To),i=function(e){if(!e)return;return{provider:e.provider,providerData:Object.assign({},e.providerData)}}(r);return function(e,t,n){return{version:e,rules:t,metadata:n}}(t,o,i)}function Mo(e,t,n){const{providerData:r}=n,{identityTemplate:o}=r;return o.replace("<key>",t).replace("<identity>",e)}function No(e,t=e=>e[0]){const n={};return function(...r){const o=t(r);return fo(n[o])&&(n[o]=e(...r)),n[o]}}function Ao(e,t){const n=65535&t;return((t-n)*e|0)+(n*e|0)|0}const xo=No(function(e,t=0){let n;const r=e.length,o=3432918353,i=461845907;let a=t;const s=-2&r;for(let t=0;t<s;t+=2)n=e.charCodeAt(t)|e.charCodeAt(t+1)<<16,n=Ao(n,o),n=(131071&n)<<15|n>>>17,n=Ao(n,i),a^=n,a=(524287&a)<<13|a>>>19,a=5*a+3864292196|0;return r%2==1&&(n=e.charCodeAt(s),n=Ao(n,o),n=(131071&n)<<15|n>>>17,n=Ao(n,i),a^=n),a^=r<<1,a^=a>>>16,a=Ao(a,2246822507),a^=a>>>13,a=Ao(a,3266489909),a^=a>>>16,a},e=>e.join("-"));const qo=No(function(e,t){const n=xo(e),r=Math.abs(n)%t/t*100;return Math.round(100*r)/100});function $o(e,t,n){return{allocation:qo(e,t),...n}}function Lo(e,t){return t.map(t=>t.execute(e)).filter(e=>e.length>0)}function _o(e,t){!function(e){const{providerData:t}=e;if(!t)throw new Error("Provider data is missing in metadata");const{identityTemplate:n,buckets:r}=t;if(!n)throw new Error("Identity template is missing in provider data");if(!r)throw new Error("Buckets is missing in provider data")}(t);const n=e.filter(e=>!e.key),r=function(e){const t={};for(let n=0;n<e.length;n+=1){const r=e[n];r.key&&(t[r.key]||(t[r.key]=[]),t[r.key].push(r))}return t}(e),{buckets:o}=t.providerData;return{provider:"TGT",execute:e=>{const i=function(e){const{xdm:t}=e;if(!t)throw new Error("XDM object is missing in the context");const{identityMap:n}=t;if(!n)throw new Error("Identity map is missing in the XDM object");const r=n.ECID;if(!r)throw new Error("ECID identity namespace is missing in the identity map");if(!Array.isArray(r)||0===r.length)throw new Error("ECID identities array is empty or not an array");const o=r[0].id;if(!o)throw new Error("ECID identity is missing in the identities array");return o}(e),a=Lo(e,n),s=Object.keys(r),c=[];for(let n=0;n<s.length;n+=1){const a=s[n],d=r[a],l=Lo($o(Mo(i,a,t),o,e),d);c.push(...l)}return[...a,...c]}}}function Uo(e,t={generateEventHash:()=>{throw new Error("No hash function provided")}}){const{rules:n,metadata:r={}}=Oo(e);return function(e,t,n){const{provider:r}=t;return"TGT"===r?_o(e,t):function(e,t){return{provider:"DEFAULT",execute:n=>e.map(e=>e.execute(n,t)).filter(e=>e.length>0)}}(e,n)}(n,r,t)}const jo="https://ns.adobe.com/personalization/default-content-item",Bo="https://ns.adobe.com/personalization/dom-action",Fo="https://ns.adobe.com/personalization/html-content-item",Vo="https://ns.adobe.com/personalization/json-content-item",Ho="https://ns.adobe.com/personalization/ruleset-item",zo="https://ns.adobe.com/personalization/redirect-item",Jo="https://ns.adobe.com/personalization/message/in-app",Xo="decisioning.propositionDisplay",Ko="decisioning.propositionInteract",Go="decisioning.propositionTrigger",Wo="decisioning.propositionDismiss",Qo="decisioning.propositionSuppressDisplay",Yo={DISPLAY:"display",INTERACT:"interact",TRIGGER:"trigger",DISMISS:"dismiss",SUPPRESS:"suppressDisplay"},Zo={[Xo]:Yo.DISPLAY,[Ko]:Yo.INTERACT,[Go]:Yo.TRIGGER,[Wo]:Yo.DISMISS,[Qo]:Yo.SUPPRESS},ei={[Yo.DISPLAY]:Xo,[Yo.INTERACT]:Ko,[Yo.TRIGGER]:Go,[Yo.DISMISS]:Wo,[Yo.SUPPRESS]:Qo},ti=e=>Zo[e],ni=e=>ei[e];var ri=e=>{const t=structuredClone(e),n=Object.keys(t).sort().reduce((e,n)=>{const r=t[n];return null==r||""===r?e:e+=`${n}:${r}`},"");return F(n)};const oi="events",ii="~type",ai="~source",si="com.adobe.eventType.edge",ci="com.adobe.eventType.rulesEngine",di="com.adobe.eventSource.requestContent",li="cjmiam",ui="schema";var gi=(e=30,t=1e3)=>n=>{let r=Object.entries(n).reduce((e,[t,{timestamps:n=[]}])=>(n.forEach(n=>{e.push({key:t,timestamp:n})}),e),[]);const o=(e=>{const t=new Date;return t.setDate(t.getDate()-e),t})(e);return r=r.filter(({timestamp:e})=>e>=o),r.sort((e,t)=>e.timestamp-t.timestamp),r=r.slice(-t),r.reduce((e,{key:t,timestamp:n})=>(e[t]||(e[t]={timestamps:[]}),e[t].timestamps.push(n),e),{})};const pi=e=>e?.scopeDetails?.activity?.id,mi=(e,t)=>n=>{const r=e.setItem(t,JSON.stringify(n));r&&"function"==typeof r.then&&r.catch(()=>{})},fi=()=>{const e={};return{getItem:t=>t in e?e[t]:null,setItem:(t,n)=>{e[t]=n}}},hi=e=>{e.clear()};const yi="text/html";const vi={[li]:(e,t,n)=>{const{html:r,mobileParameters:o}=n;return{schema:Jo,data:{mobileParameters:o,webParameters:{},content:r,contentType:yi},id:e}},[ui]:(e,t,n)=>{const{schema:r,data:o,id:i}=n;return{schema:r,data:o,id:i||e}}};const wi=e=>{const{schema:t,data:n}=e;if(t===Ho)return!0;if(t!==Vo)return!1;try{const e="string"==typeof n.content?JSON.parse(n.content):n.content;return e&&Object.prototype.hasOwnProperty.call(e,"version")&&Object.prototype.hasOwnProperty.call(e,"rules")}catch{return!1}};var Ii=(e,t)=>{const n=e=>{const{id:t,type:n,detail:r}=e;return"function"==typeof vi[n]?vi[n](t,n,r):r},r=pi(e),o=[],i=e=>{const{data:t={},schema:n}=e,r=n===Ho?t:t.content;r&&o.push(Uo("string"==typeof r?JSON.parse(r):r,{generateEventHash:ri}))};return Array.isArray(e.items)&&e.items.filter(wi).forEach(i),{rank:e?.scopeDetails?.rank||1/0,evaluate:i=>{const a=t.getEvent(Xo,r),s=a?.timestamps[0],c=((e=[])=>Array.isArray(e)?e.flat(1/0):e)(o.map(e=>e.execute(i))).map(n).map(e=>{const n=t.addEvent({eventType:Yo.TRIGGER,eventId:r}).timestamps[0];return{...e,data:{...e.data,qualifiedDate:n,displayedDate:s}}});return{...e,items:c}},isEvaluable:o.length>0}},bi=({storage:e,logger:t})=>{let n=e,r={},o=0,i=mi(e,oi);const a=async e=>{n=e;const t=((e,t)=>async n=>{try{const r=await e.getItem(t);return null==r?[n,0]:[JSON.parse(r),r.length]}catch{}return[n,0]})(n,oi);if([r,o]=await t({}),i=mi(n,oi),o>2097152){const e=gi();r=e(r),i(r)}};a(e);const s=(e={eventType:null,eventId:null},n="insert")=>{const{eventType:o,eventId:a}=e;if(!o||!a)return;const s=ri(e);if("insertIfNotExists"===n&&r[s])return;r[s]&&Array.isArray(r[s].timestamps)||(r[s]={timestamps:[]});const c=(new Date).getTime();return r[s].timestamps.push(c),r[s].timestamps.sort(),t.info("[Event History] Added event for",e,"with hash",s,"and timestamp",c),i(r),r[s]};return{addExperienceEdgeEvent:e=>{const{xdm:t}=e.getContent();if(!(e=>{const{_experience:t}=e||{};return!!t&&"object"==typeof t})(t))return;const{_experience:{decisioning:{propositionEventType:n={},propositionAction:{id:r}={},propositions:o=[]}={}}}=t;Object.keys(n).filter(e=>1===n[e]).forEach(e=>{o.forEach(t=>{(e=>e?.scopeDetails?.decisionProvider)(t)===Br&&s({eventId:pi(t),eventType:e,action:r})})})},addEvent:s,addEventPayloads:(e=[])=>e.map(({operation:e,event:t})=>s(t,e)),getEvent:(e,t)=>{const n=ri({eventType:e,eventId:t});if(r[n])return r[n]},toJSON:()=>r,setStorage:a}};const Ei=(e,...t)=>t,ki=(e,...t)=>!0;var Ci=({collect:e})=>{let t=()=>{};const n=new Set,r=(e,t,r)=>{const o=[e,t].join("-"),i=!r.has(o)&&((e=>[Yo.INTERACT,Yo.DISMISS].includes(e))(e)||!n.has(o));return r.add(o),n.add(o),i},o=(t,n=[])=>{if(!(n instanceof Array))return Promise.resolve();if(!Object.values(Yo).includes(t))return Promise.resolve();const o=[],i=new Set;return n.forEach(e=>{const n=(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}})(e);r(t,n.id,i)&&o.push(n)}),o.length>0?e({decisionsMeta:o,eventType:ni(t),documentMayUnload:!0}):Promise.resolve()},i=(()=>{let e=Ei,t=ki,n=0;const r={};return{add:(e,t=void 0)=>{return"function"!=typeof e?()=>{}:(n+=1,r[n]={callback:e,params:t},{id:n,unsubscribe:(o=n,()=>{delete r[o]})});var o},emit:(...n)=>{Object.values(r).forEach(({callback:r,params:o})=>{const i=e(o,...n);t(o,...i)&&r(...i)})},emitOne:(n,...o)=>{if(!n||!r[n])return;const{callback:i,params:a}=r[n],s=e(a,...o);t(a,...s)&&i(...s)},hasSubscriptions:()=>Object.keys(r).length>0,setEmissionPreprocessor:t=>{"function"==typeof t&&(e=t)},setEmissionCondition:e=>{"function"==typeof e&&(t=e)}}})();i.setEmissionPreprocessor((e,t)=>{const{surfacesFilter:n,schemasFilter:r}=e;return[{propositions:t.filter(e=>!n||n.includes(e.scope)).map(e=>{const{items:t=[]}=e;return{...e,items:t.filter(e=>!r||r.includes(e.schema))}}).filter(e=>e.items.length>0)},o]});return{refresh:e=>{t=t=>{t?i.emitOne(t,e):i.emit(e)},t()},command:{optionsValidator:e=>(({options:e})=>St({surfaces:wt(Pt()).uniqueItems(),schemas:wt(Pt()).uniqueItems(),callback:bt().required()}).noUnknownFields()(e))({options:e}),run:({surfaces:e,schemas:n,callback:r})=>{const{id:o,unsubscribe:a}=i.add(r,{surfacesFilter:e instanceof Array?e:void 0,schemasFilter:n instanceof Array?n:void 0});return t(o),Promise.resolve({unsubscribe:a})}}}};var Si=({contextProvider:e,decisionProvider:t})=>({optionsValidator:e=>(({options:e})=>St({renderDecisions:It(),personalization:St({decisionContext:St({})})}).noUnknownFields()(e))({options:e}),run:({renderDecisions:n,decisionContext:r,applyResponse:o})=>o({renderDecisions:n,propositions:t.evaluate(e.getContext(r))})}),Pi=({eventManager:e,mergeDecisionsMeta:t})=>({decisionsMeta:n=[],propositionAction:r,documentMayUnload:o=!1,eventType:i=Xo,propositionEventTypes:a=[ti(i)],viewName:s,identityMap:c})=>{const d=e.createEvent(),l={eventType:i,identityMap:c};return s&&(l.web={webPageDetails:{viewName:s}}),I(n)&&t(d,n,a,r),d.mergeXdm(l),o&&d.documentMayUnload(),e.sendEvent(d)};const Di=(e,t,n,r)=>{if(0===t.length)return;const o={};n.forEach(e=>{o[e]=1});const i={_experience:{decisioning:{propositions:t,propositionEventType:o}}};r&&(i._experience.decisioning.propositionAction=r),e.mergeXdm(i)},Ri=(e,t)=>{e.mergeQuery({personalization:{...t}})},Ti=({config:e,eventManager:t,consent:n,getBrowser:r,logger:o,platformServices:i})=>{const{orgId:a,personalizationStorageEnabled:s}=e,c=Pi({eventManager:t,mergeDecisionsMeta:Di}),d=i.storage.createNamespacedStorage(`${X(a)}.decisioning.`);s||hi(d.persistent);const l=bi({storage:fi(),logger:o}),u=(({eventRegistry:e})=>{const t={},n=n=>{const r=pi(n);if(!r)return;const o=Ii(n,e);o.isEvaluable&&(t[r]=o)};return{addPayload:n,addPayloads:e=>{e.forEach(n)},evaluate:(e={})=>Object.values(t).sort(({rank:e},{rank:t})=>e-t).map(t=>t.evaluate(e)).filter(e=>e.items.length>0)}})({eventRegistry:l}),g=(({eventRegistry:e,getWindowContext:t,getBrowser:n})=>{const r=(new Date).getTime(),o=()=>{const e=new Date,t=e.getTime();return{pageLoadTimestamp:r,currentTimestamp:t,currentDate:e.getDate(),"~state.com.adobe.module.lifecycle/lifecyclecontextdata.dayofweek":e.getDay()+1,"~state.com.adobe.module.lifecycle/lifecyclecontextdata.hourofday":e.getHours(),currentMinute:e.getMinutes(),currentMonth:e.getMonth(),currentYear:e.getFullYear(),pageVisitDuration:t-r,"~timestampu":t/1e3,"~timestampz":e.toISOString()}},i=()=>{const{height:e,width:n,scrollY:r,scrollX:o}=t();return{height:e,width:n,scrollY:r,scrollX:o}},a={browser:{name:n()},page:(()=>{const{title:e,url:n}=t();return{title:e,url:n,...he(n)}})(),referringPage:(()=>{const{referrer:e}=t();return{url:e,...he(e)}})()};return{getContext:(t={})=>{const n={...{...a,...o(),window:i(),"~sdkver":Jn},...t};return{...zr(n),events:e.toJSON()}}}})({eventRegistry:l,getWindowContext:i.globals.getWindowContext,getBrowser:r}),p=Si({contextProvider:g,decisionProvider:u}),m=Ci({collect:c});let f;return{lifecycle:{onDecision({propositions:e}){m.refresh(e)},onComponentsRegistered(e){f=(({lifecycle:e,eventRegistry:t})=>({renderDecisions:n=!1,propositions:r=[],event:o,personalization:i})=>{if(e){const a=(e=>{const t=[];return e.forEach(e=>{const n=[];e.items.forEach(e=>{if("https://ns.adobe.com/personalization/eventHistoryOperation"===e.schema){const{content:n}=e.data,r={eventId:n["iam.id"],eventType:n["iam.eventType"]};void 0!==n["iam.action"]&&(r.action=n["iam.action"]),t.push({operation:e.data.operation,event:r})}else n.push(e)}),e.items=n}),t})(r);t.addEventPayloads(a);const s=o?.getUserIdentityMap();e.onDecision({renderDecisions:n,propositions:r,event:o,personalization:i,identityMap:s})}return{propositions:r}})({lifecycle:e.lifecycle,eventRegistry:l}),s&&n.awaitConsent().then(()=>l.setStorage(d.persistent)).catch(()=>{d&&hi(d.persistent)})},onBeforeEvent({event:e,renderDecisions:t,personalization:n={},onResponse:r=me}){const{decisionContext:o={}}=n;r((({renderDecisions:e,decisionProvider:t,applyResponse:n,event:r,personalization:o,decisionContext:i})=>{const a={...zr(r.getContent()),...i};return({response:i})=>{if(t.addPayloads(i.getPayloadsByType("personalization:decisions")),!r.hasQuery())return{propositions:[]};const s=t.evaluate(a);return n({renderDecisions:e,propositions:s,event:r,personalization:o})}})({renderDecisions:t,decisionProvider:u,applyResponse:f,event:e,personalization:n,decisionContext:g.getContext({[ii]:si,[ai]:di,...o})}))},onBeforeRequest({request:e}){const t=e.getPayload().toJSON(),{events:n=[]}=t;0!==n.length&&n.forEach(e=>l.addExperienceEdgeEvent(e))}},commands:{evaluateRulesets:{run:({renderDecisions:e,personalization:t={}})=>{const{decisionContext:n={}}=t;return p.run({renderDecisions:e,decisionContext:{[ii]:ci,[ai]:di,...n},applyResponse:f})},optionsValidator:p.optionsValidator},subscribeRulesetItems:m.command}}};Ti.namespace="RulesEngine",Ti.configValidators=St({personalizationStorageEnabled:It().default(!1)});var Oi=St({streamingMedia:St({channel:Pt().nonEmpty().required(),playerName:Pt().nonEmpty().required(),appVersion:Pt(),mainPingInterval:kt().minimum(10).maximum(50).default(10),adPingInterval:kt().minimum(1).maximum(10).default(10)}).noUnknownFields()}),Mi=({config:e,trackMediaEvent:t,trackMediaSession:n,mediaResponseHandler:r})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=me}){if(!e)return;const{legacy:n,playerId:o,getPlayerDetails:i}=e;n||t(({response:e})=>r({playerId:o,getPlayerDetails:i,response:e}))}},commands:{createMediaSession:{optionsValidator:e=>(({options:e})=>yt([St({playerId:Pt().required(),getPlayerDetails:bt().required(),xdm:St({mediaCollection:St({sessionDetails:St(vt()).required()})}),edgeConfigOverrides:Tt}).required(),St({xdm:St({mediaCollection:St({playhead:kt().required(),sessionDetails:St(vt()).required()})}),edgeConfigOverrides:Tt}).required()],"an object with playerId, getPlayerDetails and xdm.mediaCollection.sessionDetails, or an object with xdm.mediaCollection.playhead and xdm.mediaCollection.sessionDetails")(e))({options:e}),run:n},sendMediaEvent:{optionsValidator:e=>(({options:e})=>yt([St({playerId:Pt().required(),xdm:St({eventType:Dt(...Object.values(ur)).required(),mediaCollection:St(vt())}).required()}).required(),St({xdm:St({eventType:Dt(...Object.values(ur)).required(),mediaCollection:St({playhead:kt().integer().required(),sessionID:Pt().required()}).required()}).required()}).required()],"Error validating the sendMediaEvent command options.")(e))({options:e}),run:n=>e.streamingMedia?t(n):Promise.reject(new Error("Streaming media is not configured."))}}});const Ni=({config:e,logger:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o})=>{const i=fr(),a=gr({config:e,eventManager:n,consent:o,sendEdgeNetworkRequest:r,setTimestamp:Ur(()=>new Date)}),s=hr({mediaSessionCacheManager:i,mediaEventManager:a,config:e}),c=yr({config:e,mediaEventManager:a,mediaSessionCacheManager:i}),d=wr({mediaSessionCacheManager:i,config:e,trackMediaEvent:s});return Mi({config:e,trackMediaEvent:s,mediaResponseHandler:d,trackMediaSession:c})};Ni.namespace="Streaming media",Ni.configValidators=Oi;const Ai=St({interactionId:Pt(),conversationId:Pt(),conversation:St({feedback:St({classification:Pt(),comment:Pt(),reasons:wt(Pt())})})});const xi="web",qi="webapp",$i="://",Li=/^(\w+):\/\/([^/#]+)(\/[^#]*)?(#.*)?$/,_i=/^(?:.*@)?(?:[a-z\d\u00a1-\uffff.-]+|\[[a-f\d:]+])(?::\d+)?$/,Ui=/^\/(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})*$/,ji=/^#(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})+$/,Bi=(e="/")=>{let t=e.length;for(;t>0&&-1!=="/".indexOf(e.charAt(t-1));)t-=1;return e.substring(0,t)||"/"},Fi=e=>`${e.surfaceType}${$i}${e.authority}${e.path||""}${e.fragment||""}`,Vi=e=>{const t=e(),n=t.host.toLowerCase(),r=t.pathname;return xi+$i+n+Bi(r)},Hi=(e,t,n)=>{const r=e=>(n.warn(e),null);if(!pe(e))return r(`Invalid surface: ${e}`);const o=((e,t)=>e.startsWith("#")?Vi(t)+e:e)(e,t),i=(e=>{const t=e.match(Li);return t?{surfaceType:(o=t[1],pe(o)?o.toLowerCase():""),authority:(r=t[2],pe(r)?r.toLowerCase():""),path:(n=t[3],pe(n)?Bi(n):"/"),fragment:t[4]}:null;var n,r,o})(o);return null===i?r(`Invalid surface: ${e}`):[xi,qi].includes(i.surfaceType)?i.authority&&_i.test(i.authority)?i.path&&!Ui.test(i.path)?r(`Invalid path ${i.path} in surface: ${e}`):i.fragment&&!ji.test(i.fragment)?r(`Invalid fragment ${i.fragment} in surface: ${e}`):i:r(`Invalid authority ${i.authority} in surface: ${e}`):r(`Unsupported surface type ${i.surfaceType} in surface: ${e}`)},zi=e=>!!e&&0===e.indexOf(xi+$i)&&-1===e.indexOf("#"),Ji=1e4,Xi=({loggingCookieJar:e,config:t})=>{if(!1===t.conversation.stickyConversationSession)return Ne();const n=K(t.orgId,"bc_session_id"),r=e.get(n);return r||Ne()};var Ki=({eventManager:e,config:t,logger:n,sendConversationServiceRequest:r,buildEndpointUrl:o,cookieTransfer:i,alwaysTransferCookies:a=[],createResponse:s,decodeKndctrCookie:c,lifecycle:d,consent:l,session:u,getPageLocation:g})=>{const{edgeDomain:p,datastreamId:m,onBeforeEventSend:f,conversation:h}=t;return t=>{let y=!1;const{message:v,onStreamResponse:w,xdm:I,data:b,voiceEnabled:E=!1,surfaces:k}=t,C=fn(),S=(({payload:e,action:t="conversations",sessionId:n,voiceEnabled:r=!1,region:o})=>un({payload:e,edgeSubPath:r?"/brand-concierge-voice":"/brand-concierge"+(o?`/${o}`:""),requestParams:{sessionId:n},getAction:()=>t,getUseSendBeacon:()=>!1}))({payload:C,sessionId:u.id,voiceEnabled:E,region:h.region}),P=e.createEvent();if(v||b){const e=[...k||[]],t=Vi(g);e.includes(t)||e.push(t),P.mergeQuery({conversation:{surfaces:e,message:v,data:b}})}const{state:D}=l.current();P.mergeMeta({consent:{state:D}});const R=c();P.mergeXdm({identityMap:{ECID:[{id:R}]}}),P.mergeXdm({...I}),(v||b)&&(y=!0);const T=o({edgeDomain:p,datastreamId:m,request:S});return d.onBeforeEvent({event:P}).then(()=>{try{P.finalize(f)}catch(e){throw w({error:e}),e}return C.addEvent(P),i.cookiesToPayload(C,p,a),r({requestId:Ne(),url:T,request:S,onStreamResponse:w,streamingEnabled:y}).then(e=>{if(204===e.status)return;const t=(({onStreamResponseCallback:e,streamTimeout:t})=>{let n,r=!1;const o=()=>{clearTimeout(n),n=setTimeout(()=>{r=!0,e({error:{message:`Stream timeout: No data received within ${t/1e3} seconds`}})},t)};return o(),{onEvent:t=>{r||(o(),e(t))},onPing:()=>{r||o()},onComplete:()=>{clearTimeout(n)}}})({onStreamResponseCallback:e=>{if(e.error)return n.error("Stream error occurred",e.error),void w({error:e.error});const t=e.data.replace("data: ",""),r=JSON.parse(t),o=s({content:r});i.responseToCookies(o),n.info("onStreamResponse callback called with",o.getPayloadsByType("brand-concierge:conversation")),w(o.getPayloadsByType("brand-concierge:conversation"))},streamTimeout:h.streamTimeout}),r=(()=>{const e=/\r\n|\r|\n/,t=/\r\n\r\n|\n\n|\r\r/,n=e=>e.trim().startsWith(": ping"),r=t=>{const n=t.split(e),r={};for(const e of n){const t=e.trim();if(!t)continue;const n=t.indexOf(":");if(-1===n)continue;const o=t.substring(0,n).trim(),i=t.substring(n+1).trim();"data"===o?r.data=(r.data||"")+i:"event"===o?r.type=i:"id"===o&&(r.id=i)}return r.data?r:null};return async(e,{onEvent:o,onPing:i,onComplete:a})=>{const s=e.getReader(),c=new TextDecoder("utf-8");let d="";try{for(;;){const{done:e,value:a}=await s.read();if(e)break;d+=c.decode(a,{stream:!0});const l=d.split(t);d=l.pop()||"";for(const e of l){const t=e.trim();if(!t)continue;if(n(t)){i();continue}const a=r(t);null!==a&&o(a)}}const e=d.trim();if(!e)return void a();if(n(e))return i(),void a();const l=r(e);null!==l&&o(l),a()}catch(e){o({error:e}),a()}finally{s.releaseLock()}}})();r(e.body,t)})})}},Gi=St({conversation:St({stickyConversationSession:It().default(!1),streamTimeout:kt().integer().minimum(Ji).default(Ji),collectSources:It().default(!1),region:Pt().matches(/^[a-z]{2,4}[0-9]{1,2}$/i),transferCookies:wt(Pt()).default([])}).default({stickyConversationSession:!1,streamTimeout:Ji,collectSources:!1,transferCookies:[]})});const Wi=({loggingCookieJar:e,logger:t,eventManager:n,consent:r,instanceName:o,sendEdgeNetworkRequest:i,config:a,lifecycle:s,cookieTransfer:c,createResponse:d,platformServices:l,createSendConversationEvent:u=Ki})=>{const g={id:Xi({loggingCookieJar:e,config:a})},p=(({queryString:e})=>({edgeDomain:t,request:n,datastreamId:r})=>{const o=n.getRequestParams(),i=n.getDatastreamIdOverride()||r;o.requestId=n.getId(),o.configId=i;const a=e.stringify({...o});return`https://${t}${n.getEdgeSubPath()}/${n.getAction()}?${a}`})({queryString:be}),m=(({logger:e,fetch:t})=>async({requestId:n,url:r,request:o,streamingEnabled:i=!0})=>{const a=o.getPayload(),s=JSON.stringify(a),c=JSON.parse(s),d={"Content-Type":"text/plain"};d.Accept=i?"text/event-stream":"text/plain",e.logOnBeforeNetworkRequest({url:r,requestId:n,payload:c});const l=async(o=1)=>{const i=[2e3,3e3,5e3];try{const e=await t(r,{method:"POST",headers:d,body:s});if(!e.ok)throw new Error(`Request failed with status ${e.status}`);return e}catch(t){if(o<4){const a=i[o-1];return e.logOnNetworkError({requestId:n,url:r,payload:c,error:new Error(`Attempt ${o} failed, retrying in ${a}ms: ${t.message}`)}),await new Promise(e=>setTimeout(e,a)),l(o+1)}throw e.logOnNetworkError({requestId:n,url:r,payload:c,error:t}),De({error:t,message:"Network request failed after all retries."})}};return(async()=>l())()})({logger:t,fetch:fetch,config:a}),f=$t({orgId:a.orgId,cookieJar:e,logger:t}),h=u({loggingCookieJar:e,logger:t,eventManager:n,consent:r,instanceName:o,sendEdgeNetworkRequest:i,config:a,buildEndpointUrl:p,lifecycle:s,cookieTransfer:c,alwaysTransferCookies:a.conversation.transferCookies||[],createResponse:d,sendConversationServiceRequest:m,decodeKndctrCookie:f,session:g,getPageLocation:l.globals.getPageLocation});return{lifecycle:{onBeforeEvent({event:e}){if(a.conversation.collectSources){const t=be.parse(l.globals.getLocationSearch()).adobe_brand_concierge_source;t&&e.mergeXdm({channel:{referringSource:t}})}}},commands:{sendConversationEvent:{optionsValidator:e=>(({options:e})=>yt([St({message:Pt().required(),xdm:Ai,onStreamResponse:bt().default(me),voiceEnabled:It().default(!1),surfaces:wt(Pt()).uniqueItems()}),St({xdm:Ai,voiceEnabled:It().default(!1),surfaces:wt(Pt()).uniqueItems()}).required(),St({data:St({type:Pt().required(),payload:St({})}).required(),onStreamResponse:bt().default(me),voiceEnabled:It().default(!1),surfaces:wt(Pt()).uniqueItems()})])(e))({options:e}),run:h}}}};Wi.namespace="BrandConcierge",Wi.configValidators=Gi;var Qi=({eventManager:e,lifecycle:t,handleError:n})=>{const r=(({eventManager:e,lifecycle:t,handleError:n})=>r=>{if(r.s_fe)return Promise.resolve();const o="composedPath"in r&&r.composedPath().length>0?r.composedPath()[0]:r.target,i=e.createEvent();return i.documentMayUnload(),t.onClick({event:i,clickedElement:o}).then(()=>i.isEmpty()?Promise.resolve():e.sendEvent(i)).then(me).catch(e=>{n(e,"click collection")})})({eventManager:e,lifecycle:t,handleError:n});document.addEventListener("click",r,!0)};const Yi="\\.(exe|zip|wav|mp3|mov|mpg|avi|wmv|pdf|doc|docx|xls|xlsx|ppt|pptx)$",Zi=Pt().regexp().default(Yi),ea=St({clickCollectionEnabled:It().default(!0),clickCollection:St({internalLinkEnabled:It().default(!0),externalLinkEnabled:It().default(!0),downloadLinkEnabled:It().default(!0),sessionStorageEnabled:It().default(!1),eventGroupingEnabled:It().default(!1),filterClickProperties:bt()}).default({internalLinkEnabled:!0,externalLinkEnabled:!0,downloadLinkEnabled:!0,sessionStorageEnabled:!1,eventGroupingEnabled:!1}),downloadLinkQualifier:Zi,onBeforeLinkClickSend:bt().deprecated('The field "onBeforeLinkClickSend" has been deprecated. Use "clickCollection.filterClickDetails" instead.')});var ta=(e=document)=>null!==e.getElementById("cppXYctnr"),na=e=>{let t=e;/^https?:\/\//i.test(t)||(t=`${window.location.protocol}//${e}`);return new URL(t).hostname};var ra=({config:e,logger:t,getClickedElementProperties:n,clickActivityStorage:r})=>{const{clickCollectionEnabled:o,clickCollection:i}=e;return o?({event:o,clickedElement:a})=>{const s=n({clickActivityStorage:r,clickedElement:a,config:e,logger:t}),c=s.linkType;var d,l;ta()||(s.isValidLink()&&((e,t)=>t&&("download"===t&&!e.downloadLinkEnabled||"exit"===t&&!e.externalLinkEnabled||"other"===t&&!e.internalLinkEnabled))(i,c)?t.info(`Cancelling link click event due to clickCollection.${c}LinkEnabled = false.`):s.isInternalLink()&&i.eventGroupingEnabled&&(!e.onBeforeLinkClickSend||i.filterClickDetails)&&(d=window.location.hostname,l=s.linkUrl,na(d)===na(l))?r.save(s.properties):s.isValidLink()?(o.mergeXdm(s.xdm),o.mergeData(s.data),r.save({pageName:s.pageName,pageIDType:s.pageIDType})):s.isValidActivityMapData()&&r.save(s.properties))}:()=>{}};var oa=({properties:e,logger:t}={})=>{let n=e||{};return{get pageName(){return n.pageName},set pageName(e){n.pageName=e},get linkName(){return n.linkName},set linkName(e){n.linkName=e},get linkRegion(){return n.linkRegion},set linkRegion(e){n.linkRegion=e},get linkType(){return n.linkType},set linkType(e){n.linkType=e},get linkUrl(){return n.linkUrl},set linkUrl(e){n.linkUrl=e},get pageIDType(){return n.pageIDType},set pageIDType(e){n.pageIDType=e},get clickedElement(){return n.clickedElement},set clickedElement(e){n.clickedElement=e},get properties(){return{pageName:n.pageName,linkName:n.linkName,linkRegion:n.linkRegion,linkType:n.linkType,linkUrl:n.linkUrl,pageIDType:n.pageIDType}},isValidLink:()=>!!(n.linkUrl&&n.linkType&&n.linkName&&n.linkRegion),isInternalLink(){return this.isValidLink()&&"other"===n.linkType},isValidActivityMapData:()=>!!n.pageName&&!!n.linkName&&!!n.linkRegion&&void 0!==n.pageIDType,get xdm(){return n.filteredXdm?n.filteredXdm:(e=>({eventType:"web.webinteraction.linkClicks",web:{webInteraction:{name:e.linkName,region:e.linkRegion,type:e.linkType,URL:e.linkUrl,linkClicks:{value:1}}}}))(this)},get data(){return n.filteredData?n.filteredData:(e=>({__adobe:{analytics:{contextData:{a:{activitymap:{page:e.pageName,link:e.linkName,region:e.linkRegion,pageIDType:e.pageIDType}}}}}}))(this)},applyPropertyFilter(e){e&&!1===e(n)&&(t&&t.info(`Clicked element properties were rejected by filter function: ${JSON.stringify(this.properties,null,2)}`),n={})},applyOptionsFilter(e){const r=this.options;if(r&&r.clickedElement&&(r.xdm||r.data)){if(e&&!1===e(r))return t&&t.info(`Clicked element properties were rejected by filter function: ${JSON.stringify(this.properties,null,2)}`),void(this.options=void 0);this.options=r,n.filteredXdm=r.xdm,n.filteredData=r.data}},get options(){const e={};if(this.isValidLink()&&(e.xdm=this.xdm),this.isValidActivityMapData()&&(e.data=this.data),this.clickedElement&&(e.clickedElement=this.clickedElement),e.xdm||e.data)return e},set options(e){n={},e&&((e,t)=>{const{xdm:n,data:r,clickedElement:o}=e;if(t.clickedElement=o,n&&n.web&&n.web.webInteraction){const{name:e,region:r,type:o,URL:i}=n.web.webInteraction;t.linkName=e,t.linkRegion=r,t.linkType=o,t.linkUrl=i}if(r&&r.__adobe&&r.__adobe.analytics){const{contextData:e}=r.__adobe.analytics;if(e&&e.a&&e.a.activitymap){const{page:n,link:r,region:o,pageIDType:i}=e.a.activitymap;t.pageName=n||t.pageName,t.linkName=r||t.linkName,t.linkRegion=o||t.linkRegion,void 0!==i&&(t.pageIDType=i)}}})(e,n)}}};const ia="clickData";var aa=e=>e&&e.replace(/\s+/g," ").trim();const sa=/^(SCRIPT|STYLE|LINK|CANVAS|NOSCRIPT|#COMMENT)$/i;const ca=e=>{let t=[],n=!1;if((e=>!(e&&e.nodeName&&e.nodeName.match(sa)))(e)){if(t.push(e),e.childNodes){Array.prototype.slice.call(e.childNodes).forEach(e=>{const r=ca(e);t=t.concat(r.supportedNodes),n=n||r.includesUnsupportedNodes})}}else n=!0;return{supportedNodes:t,includesUnsupportedNodes:n}},da=(e,t,n)=>{let r;return n&&n!==e.nodeName.toUpperCase()||(r=e.getAttribute(t)),r};const la=/^(HEADER|MAIN|FOOTER|NAV)$/i,ua=e=>{let t;return"region"===e.role&&pe(e["aria-label"])&&(t=e["aria-label"]),t},ga=e=>{let t;return e&&e.nodeName&&e.nodeName.match(la)&&(t=e.nodeName),t};var pa=e=>!(!e.href||"A"!==e.tagName&&"AREA"!==e.tagName||e.onclick&&e.protocol&&!(e.protocol.toLowerCase().indexOf("javascript")<0)),ma=e=>!!e&&!!e.onclick,fa=e=>{if("INPUT"===e.tagName){const t=e.getAttribute("type");if("submit"===t)return!0;if("image"===t&&e.src)return!0}return!1},ha=e=>"BUTTON"===e.tagName&&"submit"===e.type,ya=e=>{const t=e.indexOf("?"),n=e.indexOf("#");return t>=0&&(t<n||n<0)?e.substring(0,t):n>=0?e.substring(0,n):e};const va=(({window:e,getLinkName:t,getLinkRegion:n,getAbsoluteUrlFromAnchorElement:r,findClickableElement:o,determineLinkType:i})=>({clickedElement:a,config:s,logger:c,clickActivityStorage:d})=>{const{onBeforeLinkClickSend:l,clickCollection:u}=s,{filterClickDetails:g}=u,p=oa({logger:c});if(a){const c=o(a);if(c){p.clickedElement=a,p.linkUrl=r(e,c),p.linkType=i(e,s,p.linkUrl,c),p.linkRegion=n(c),p.linkName=t(c),p.pageIDType=0,p.pageName=e.location.href;const o=d.load();o&&o.pageName&&(p.pageName=o.pageName,p.pageIDType=1),g?p.applyPropertyFilter(g):l&&p.applyOptionsFilter(l)}}return p})({window:window,getLinkName:e=>{let t=aa(e.innerText||e.textContent);const n=ca(e);if(!t||n.includesUnsupportedNodes){const e=(e=>{const t={texts:[]};return e.supportedNodes.forEach(e=>{e.getAttribute&&(t.alt||(t.alt=aa(e.getAttribute("alt"))),t.title||(t.title=aa(e.getAttribute("title"))),t.inputValue||(t.inputValue=aa(da(e,"value","INPUT"))),t.imgSrc||(t.imgSrc=aa(da(e,"src","IMG"))),t.ariaLabel||(t.ariaLabel=aa(e.getAttribute("aria-label"))),t.name||(t.name=aa(e.getAttribute("name")))),e.nodeValue&&t.texts.push(e.nodeValue)}),t})(n);t=aa(e.texts.join("")),t||(t=e.alt||e.title||e.inputValue||e.imgSrc||e.ariaLabel||e.name)}return t||""},getLinkRegion:e=>{let t,n=e.parentNode;for(;n;){if(t=aa(n.id||ua(n)||ga(n)),t)return t;n=n.parentNode}return"BODY"},getAbsoluteUrlFromAnchorElement:(e,t)=>{const n=e.location.href;let r=t.href||"";"string"!=typeof r&&(r="");try{return new URL(r,n).href}catch{return n}},findClickableElement:e=>{let t=e;for(;t&&(!t.nodeName||"BODY"!==t.nodeName);){if(pa(t)||ma(t)||fa(t)||ha(t))return t;t=t.parentNode}return null},determineLinkType:(e,t,n,r)=>{let o="other";return pe(n)&&(((e,t,n)=>{let r=!1;if(t)if(n&&n.download)r=!0;else if(e){const n=new RegExp(e),o=ya(t).toLowerCase();r=n.test(o)}return r})(t.downloadLinkQualifier,n,r)?o="download":((e,t)=>{let n=!1;if(t&&e.location.hostname){const r=e.location.hostname.toLowerCase();n=ya(t).toLowerCase().indexOf(r)<0}return n})(e,n)&&(o="exit")),o}});let wa;const Ia=e=>{if(!wa){const n=(t=window,e=>{const n=V+e;return{session:ce(t,"sessionStorage",n),persistent:ce(t,"localStorage",n)}})(e.orgId||""),r=(()=>{const e={};return{getItem:t=>e[t],setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}})(),o=e.clickCollection.sessionStorageEnabled?n.session:r;wa=(({storage:e})=>({save:t=>{const n=JSON.stringify(t);e.setItem(ia,n)},load:()=>{let t=null;const n=e.getItem(ia);return n&&(t=JSON.parse(n)),t},remove:()=>{e.removeItem(ia)}}))({storage:o})}var t},ba=({config:e,eventManager:t,handleError:n,logger:r})=>{((e,t)=>{const{clickCollectionEnabled:n,onBeforeLinkClickSend:r,downloadLinkQualifier:o}=e;!1===n&&(r&&t.warn("The 'onBeforeLinkClickSend' configuration was provided but will be ignored because clickCollectionEnabled is false."),o&&o!==Yi&&t.warn("The 'downloadLinkQualifier' configuration was provided but will be ignored because clickCollectionEnabled is false."))})(e,r);const o=e.clickCollection;wa||Ia(e);const i=ra({config:e,logger:r,clickActivityStorage:wa,getClickedElementProperties:va}),a=(({clickActivityStorage:e})=>t=>{if(ta())return;const n=e.load(),r=oa({properties:n});if(r.isValidLink()||r.isValidActivityMapData()){if(r.isValidLink()){const e=r.xdm;delete e.eventType,t.mergeXdm(e)}r.isValidActivityMapData()&&t.mergeData(r.data),e.save({pageName:r.pageName,pageIDType:r.pageIDType})}})({clickActivityStorage:wa}),s=(({clickActivityStorage:e})=>t=>{e.save({pageName:t.getContent().xdm.web.webPageDetails.name,pageIDType:1})})({clickActivityStorage:wa});return{lifecycle:{onComponentsRegistered(e){const{lifecycle:r}=e;Qi({eventManager:t,lifecycle:r,handleError:n})},onClick({event:e,clickedElement:t}){i({event:e,clickedElement:t})},onBeforeEvent({event:e}){(e=>{const t=e.getContent();return void 0!==t.xdm&&void 0!==t.xdm.web&&void 0!==t.xdm.web.webPageDetails&&void 0!==t.xdm.web.webPageDetails.name})(e)&&(o.eventGroupingEnabled&&a(e),s(e,r,wa))}}}};ba.namespace="ActivityCollector",ba.configValidators=ea,ba.buildOnInstanceConfiguredExtraParams=({config:e,logger:t})=>(wa||Ia(e),{getLinkDetails:n=>va({clickActivityStorage:wa,clickedElement:n,config:e,logger:t}).properties});var Ea=St({advertising:St({id5PartnerId:Pt(),rampIdJSPath:Pt(),dspEnabled:It(),advertiserSettings:wt(St({advertiserId:Pt().required(),enabled:It().required()}).noUnknownFields())}).noUnknownFields()});const ka="advertising",Ca="_les_lsc",Sa="lastConversionTime",Pa="displayClickCookieExpires",Da="rampIdExpires",Ra="surferId",Ta="hashedIp",Oa="hashedIPAddr",Ma="rampId",Na="id5Id",Aa="advertising.enrichment",xa="trackingCode",qa="trackingIdentities",$a="Ad conversion submission failed",La="ev_lcc";var _a=({orgId:e,logger:t,cookieJar:n})=>{const r=d({logger:t,cookieJar:n}),o=(t,n=!0)=>n?K(e,t):t,i=(e=30)=>new Date(Date.now()+60*e*1e3),a=(e,n=!0)=>{try{const t=o(e,n),i=r.get(t);return i?(e=>{try{if(e?.startsWith("%7B")||e?.startsWith("{"))return JSON.parse(decodeURIComponent(e))}catch{}return e})(i):null}catch(n){return t.error(`Error reading cookie: ${e}`,n),null}},s=(e,n,i={},a=!0)=>{try{const t=o(e,a),s=(e=>"object"==typeof e&&null!==e?encodeURIComponent(JSON.stringify(e)):e)(n);return r.set(t,s,i),!0}catch(n){return t.error(`Error writing cookie: ${e}`,n),!1}};return{setValue:(e,t,n={})=>{const r={...a(ka)||{},[e]:t};return s(ka,r,{expires:i(527040),...n})},getValue:e=>(a(ka)||{})[e]}};var Ua=({cookieManager:e,logger:t,componentConfig:n,getBrowser:r,consent:o,collectSurferId:i,getID5Id:a,getRampId:s,appendAdvertisingIdQueryToEvent:c,appendAdCloudIdentityToEvent:d,collectHashedIPAddr:l,getUrlParams:u,isThrottled:g,normalizeAdvertiser:p})=>async({event:m,advertising:f={}})=>{const{state:h}=o.current();if("in"!==h)return;const{skwcid:y,efid:v}=u(),w=!(!y||!v),I=p(n?.advertiserSettings).length>0;if(!((e=>![Vt,Ft].includes(e?.handleAdvertisingData?.toLowerCase()))(f)||w||!I||g(Ra,e)&&g(Na,e)&&g(Ma,e)))try{const o=(e=>e?.handleAdvertisingData?.toLowerCase()===Ft)(f);let u=null;r&&r()===W||(u=s(t,n.rampIdJSPath,e,o,o));const p=n.id5PartnerId?a(t,n.id5PartnerId,o,o):Promise.resolve(null),[h,y,v,w]=await Promise.allSettled([i(o),l(),p,u]),I={},b={};if("fulfilled"===h.status&&h.value&&(b[Ra]=h.value,g(Ra,e)||(I[Ra]=h.value)),"fulfilled"===y.status&&y.value&&(b[Ta]=y.value,g(Ra,e)||(I[Ta]=y.value)),"fulfilled"===v.status&&v.value&&!g(Na,e)&&(I.id5Id=v.value),"fulfilled"===w.status&&w.value&&!g(Ma,e)&&(I.rampId=w.value),0!==Object.keys(b).length&&d(b,m),0===Object.keys(I).length&&(g(Ra,e)||g(Na,e)||g(Ma,e)))return;c(I,m,e,n)}catch(e){t.error("Error in onBeforeSendEvent hook:",e)}};const ja=15,Ba=3e4,Fa=500,Va=5e3,Ha=2e3,za={rampIdEnv:void 0,rampIdCallInitiated:!1,inProgressRampIdPromise:null,envelopeRetrievalInProgress:!1},Ja=(e,t,n,r)=>{let o;try{o=JSON.parse(e).envelope}catch{o=e}o&&!za.rampIdCallInitiated?(za.rampIdCallInitiated=!0,za.rampIdEnv=o,za.envelopeRetrievalInProgress=!1,za.inProgressRampIdPromise=null,n.setValue(Ma,za.rampIdEnv),n.setValue(Da,Date.now()+1728e5),t(za.rampIdEnv)):(r.warn("Invalid RampID envelope received",{envelope:o}),za.envelopeRetrievalInProgress=!1)},Xa=(e,t,n,r=!1)=>{if(za.inProgressRampIdPromise)return za.inProgressRampIdPromise;const o=r?Ha:Ba;let i=!1;const a=new Promise((r,o)=>{q(e,{onLoad:()=>{void 0===window.ats||za.envelopeRetrievalInProgress||(za.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{e?i||Ja(e,r,t,n):(za.envelopeRetrievalInProgress=!1,window.addEventListener("lrEnvelopePresent",()=>{za.envelopeRetrievalInProgress||i||(za.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{i||Ja(e,r,t,n)},e=>{i||(n.error("Failed to retrieve envelope after event",e),za.envelopeRetrievalInProgress=!1,o(e),za.inProgressRampIdPromise=null)}))}))}).catch(e=>{i||(n.error("Error retrieving envelope",e),za.envelopeRetrievalInProgress=!1,o(e),za.inProgressRampIdPromise=null)})),((e,t,n,r)=>{let o=ja,i=1,a=0;const s=()=>{if(za.rampIdEnv)return;if(a>Ba)return r.error("Maximum retry time exceeded"),za.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID - timeout")),void(za.inProgressRampIdPromise=null);if(0===o)return r.error("Maximum retries exceeded"),za.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID after maximum retries")),void(za.inProgressRampIdPromise=null);const c=Math.min(Fa*i,Va);setTimeout(()=>{a+=c,o-=1,i+=1,void 0===window.ats||null===window.ats||za.rampIdEnv||za.envelopeRetrievalInProgress?s():(za.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(t=>{Ja(t,e,n,r),za.rampIdEnv||s()},()=>{r.warn("Failed to retrieve envelope"),za.envelopeRetrievalInProgress=!1,s()}))},c)};s()})(e=>{i||r(e)},e=>{i||o(e)},t,n)},onError:e=>{i||o(e),za.inProgressRampIdPromise=null}})}),s=new Promise(e=>{setTimeout(()=>{i=!0,e(null)},o)});return za.inProgressRampIdPromise=Promise.race([a,s]).finally(()=>{za.inProgressRampIdPromise=null}),za.inProgressRampIdPromise},Ka=(e,t,n,r=!0,o=!1)=>{if(za.rampIdEnv)return Promise.resolve(za.rampIdEnv);if(n){const e=n.getValue(Ma),t=n.getValue(Da);if(e&&t&&t>Date.now())return za.rampIdEnv=e,Promise.resolve(e)}return r&&null!=t?Xa(t,n,e,o):Promise.resolve(null)};let Ga="",Wa=null;const Qa=function(e,t,n=!0,r=!1){return Ga&&""!==Ga?Promise.resolve(Ga):n?((e,t,n)=>{if(e=Math.floor(Number(e)),Wa)return Wa;const r=t?2e3:3e4;let o=!1;const i=new Promise((t,r)=>{if(!e)return n.error("Missing partner ID"),void r(new Error("ID5 partner ID is required"));const i=()=>{try{if(void 0===window.ID5)return void r(new Error("ID5 object not available after script load"));const i=window.ID5.init({partnerId:e});Ga=i.getUserId();const a=e=>{o||t(e)};Ga?a(Ga):window.ID5.init({partnerId:e}).onAvailable(function(t){Ga=t.getUserId(),Ga?a(Ga):window.ID5.init({partnerId:e}).onAvailable(function(e){Ga=e.getUserId(),Ga?a(Ga):(n.error("Failed to get ID5 ID after all retries"),a(null))})},1e3)}catch(e){n.error("Error during ID5 initialization",e),r(e)}};void 0!==window.ID5?i():q("https://www.everestjs.net/static/id5-api.js",{onLoad:i,onError:e=>{n.error("Script loading failed",e),r(e)}})}),a=new Promise(e=>{setTimeout(()=>{o=!0,e(null)},r)});return Wa=Promise.race([i,a]).finally(()=>{Wa=null}),Wa})(t,r,e).then(e=>e).catch(t=>{throw e.error("Failed to get ID5 ID",t),t}):Promise.resolve(null)},Ya=()=>{const e=be.parse(window.location.search);return{skwcid:e.s_kwcid,efid:e.ef_id}},Za=e=>e&&Array.isArray(e)?e.filter(e=>e&&!0===e.enabled&&e.advertiserId).map(e=>e.advertiserId).join(", "):"",es=(e,t)=>{const n=[Ra,Ta,Na,Ma,"adfId"].map(t=>e[t]??"").join("|");t.mergeXdm({_experience:{adcloud:{stitchId:n}}})},ts=(e,t,n,r,o=!1)=>{const i=n.getValue(Ca);let a=null;const s=n.getValue(Pa);s&&s>Date.now()&&(a=n.getValue(La));const c={advertising:{...i?.click_time&&{lastSearchClick:i.click_time},...a&&{lastDisplayClick:a},stitchIds:{...e[Ra]&&{surferId:e[Ra]},...e[Na]&&{id5:e[Na]},...e[Ma]&&{rampIdEnv:e[Ma]},...e[Ta]&&{hashedIp:e[Ta]}},advIds:Za(r.advertiserSettings),...o&&{eventType:Aa}}};return t.mergeQuery(c),t},ns=(e,t)=>{const n=Date.now(),r=t.getValue(`${e}_last_conversion`);return Boolean(r&&n-r<18e5)};async function rs({eventManager:e,cookieManager:t,logger:n,componentConfig:r,adConversionHandler:o,getBrowser:i,collectSurferId:a,collectHashedIPAddr:s}){const c={},d={},l=s?s().catch(()=>null):Promise.resolve(null),u=async()=>{if(i=c,a=d,!Object.entries(i).some(([e])=>!a[e]))return null;var i,a;const s=await l,u=s?{...c,[Ta]:s}:{...c},g=Object.keys(c);try{const i=ts(u,e.createEvent(),t,r,!0),a={eventType:Aa,timestamp:(new Date).toISOString()};i.setUserXdm(a);const s=await o.trackAdConversion({event:i});return((e,t,n,r)=>{const o=Date.now();e.forEach(e=>{t[e]=!0,n.setValue(`${e}_last_conversion`,o),r.info("Ad conversion submitted successfully".replace("{0}",e))}),n.setValue(Sa,o)})(g,d,t,n),s}catch(e){return n.error($a,e),null}},g=((e,t,n,r,o)=>{const i={};return ns(Ra,n)||(i.surferId=o(!0).catch(()=>null)),t.id5PartnerId&&t.dspEnabled&&!ns(Na,n)&&(i.id5Id=Qa(e,t.id5PartnerId).catch(()=>null)),t.rampIdJSPath&&t.dspEnabled&&!ns(Ma,n)&&(i.rampId=Ka(e,t.rampIdJSPath,n,!0).catch(()=>null)),i})(n,r,t,0,a);if(0===Object.keys(g).length)return[];const p=Object.entries(g).map(([e,t])=>t.then(t=>{if(t)return c[e]=t,u()}).catch(t=>(n.error("Unable to obtain ad identity".replace("{0}",e),t),null)));return Promise.allSettled(p)}var os=({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,componentConfig:o,getBrowser:i,consent:a,collectSurferId:s,collectHashedIPAddr:c})=>{const d=o?.advertiserSettings?Za(o.advertiserSettings):"";return async()=>{try{await a.awaitConsent();const{skwcid:l,efid:u}=Ya();if(!(!l&&!u))return async function({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:o,efid:i}){const a=Array.isArray(o)?o[0]:o,s=Array.isArray(i)?i[0]:i;r.info("Processing ad conversion",{skwcid:a,efid:s});const c=e.createEvent();if(void 0!==a&&void 0!==s&&a.startsWith("AL!")){const e={click_time:Date.now(),skwcid:a,efid:s};t.setValue(Ca,e)}const d={_experience:{adcloud:{conversionDetails:{...void 0!==a&&{[xa]:a},...void 0!==s&&{[qa]:s}}}},eventType:"advertising.enrichment_ct",timestamp:(new Date).toISOString()};c.setUserXdm(d),t.setValue(Sa),t.setValue("lastConversionTimeExpires",Date.now()+78624e5);try{return await n.trackAdConversion({event:c})}catch(e){throw r.error($a,e),e}}({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:l,efid:u});d&&rs({eventManager:e,cookieManager:t,logger:r,componentConfig:o,adConversionHandler:n,getBrowser:i,collectSurferId:s,collectHashedIPAddr:c}).catch(e=>r.error("Error in view through:",e))}catch(e){r.error("Error in sendAdConversion:",e)}}};const is={height:0,width:0,frameBorder:0,style:{display:"none"}},as=0xffffffffffffffffn,ss=(e,t)=>(e<<BigInt(t)|e>>BigInt(64-t))&as,cs=e=>BigInt(255&e),ds=(e,t)=>{let n=0n;for(let r=0;r<8;r+=1)n|=cs(e[t+r])<<8n*BigInt(r);return n&as},ls=0x87c37b91114253d5n,us=0x4cf5ad432745937fn,gs=e=>{let t=e&as;return t=t*ls&as,t=ss(t,31),t=t*us&as,t},ps=e=>{let t=e&as;return t=t*us&as,t=ss(t,33),t=t*ls&as,t},ms=e=>{let t=e&as;return t^=t>>33n,t=0xff51afd7ed558ccdn*t&as,t^=t>>33n,t=0xc4ceb9fe1a85ec53n*t&as,t^=t>>33n,t&as},fs=(e,t=0)=>{const n=(e=>BigInt.asIntN(64,BigInt.asIntN(32,BigInt(Math.trunc(Number(e))))))(t)&as;let r=n,o=n,i=0;const a=(new TextEncoder).encode(e),s=(e,t)=>{r^=gs(e),r=ss(r,27),r=r+o&as,r=5n*r+0x52dce729n&as,o^=ps(t),o=ss(o,31),o=o+r&as,o=5n*o+0x38495ab5n&as};let c=0;const d=Math.floor(a.length/16);for(let e=0;e<d;e+=1)s(ds(a,c),ds(a,c+8)),c+=16,i+=16;const l=a.length-c;i+=l;let u=0n,g=0n;const p=c;switch(l){case 15:g^=cs(a[p+14])<<48n;case 14:g^=cs(a[p+13])<<40n;case 13:g^=cs(a[p+12])<<32n;case 12:g^=cs(a[p+11])<<24n;case 11:g^=cs(a[p+10])<<16n;case 10:g^=cs(a[p+9])<<8n;case 9:g^=cs(a[p+8]);case 8:u^=ds(a,p);break;case 7:u^=cs(a[p+6])<<48n;case 6:u^=cs(a[p+5])<<40n;case 5:u^=cs(a[p+4])<<32n;case 4:u^=cs(a[p+3])<<24n;case 3:u^=cs(a[p+2])<<16n;case 2:u^=cs(a[p+1])<<8n;case 1:u^=cs(a[p])}r^=gs(u),o^=ps(g);const m=BigInt(i>>>0);r^=m,o^=m,r=r+o&as,o=o+r&as,r=ms(r),o=ms(o),r=r+o&as,o=o+r&as;const f=new Uint8Array(16),h=(e,t)=>{let n=e&as;for(let e=0;e<8;e+=1)f[t+e]=Number(0xffn&n),n>>=8n};return h(r,0),h(o,8),[...f].map(e=>e.toString(16).padStart(2,"0")).join("")};const hs=({logger:e,config:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o,getBrowser:i,platformServices:a})=>{const s=t.advertising,c=_a({orgId:t.orgId,logger:e,cookieJar:a.cookie}),d=(({appendNode:e=g,awaitSelector:t=N,createNode:n=p}={})=>{let r=null;return()=>r||(r=new Promise((r,o)=>{const i="https:"===document.location.protocol?"https:":"http:",a=`${i}//www.everestjs.net/static/pixel_details.html#${new URLSearchParams({google:"__EFGCK__",gsurfer:"__EFGSURFER__",imsId:"__EFIMSORGID__",is_fb_cookie_synced:"__EFFB__",optout:"__EFOPTOUT__",throttleCookie:"__EFSYNC__",time:"__EFTIME__",ev_lcc:"__LCC__",clientIp:"__EFREMOTEADDR__"}).toString()}`,s=`${i}//pixel.everesttech.net/1/gr?${new URLSearchParams({ev_gb:"0",url:a}).toString()}`,c=n("iframe",{src:s},is,[]);let d;const l=e=>{if(e.origin.includes("www.everestjs.net")){clearTimeout(d),window.removeEventListener("message",l,!1);try{const t=e.data,n=t.indexOf("#");if(-1===n)return void r({surferId:null,displayClickCookie:null,clientIp:""});const o=new URLSearchParams(t.substring(n+1)),i=o.get("gsurfer")||null,a=o.get("clientIp")||"",s=o.get(La);r({surferId:i,displayClickCookie:s&&"__LCC__"!==s?s:null,clientIp:a})}catch(e){o(e)}}};d=setTimeout(()=>{window.removeEventListener("message",l,!1),o(new Error("Advertising identity call timed out"))},5e3),window.addEventListener("message",l,!1),t(m).then(([t])=>{e(t,c)})}).finally(()=>{r=null}),r)})(),l=(({initiateAdvertisingIdentityCall:e,cookieManager:t,getBrowser:n})=>{let r=t.getValue(Ra)||"";return(o=!0)=>r?Promise.resolve(r):o?e().then(e=>{const o=!n||ie({getBrowser:n})();return e&&o&&(e.surferId&&(r=e.surferId,t.setValue(Ra,e.surferId)),e.displayClickCookie&&(t.setValue(La,e.displayClickCookie),t.setValue(Pa,Date.now()+9e5))),o?e.surferId:null}):Promise.resolve(null)})({initiateAdvertisingIdentityCall:d,cookieManager:c,getBrowser:i}),u=(({cookieManager:e,hash:t=fs})=>{let n=e.getValue(Oa)||"";const r=r=>{r&&(n=t(r),e.setValue(Oa,n))};return{captureFromIframe:r,get:()=>n,collect:e=>n?Promise.resolve(n):e().then(e=>(r(e.clientIp),n))}})({cookieManager:c}),f=(({sendEdgeNetworkRequest:e,consent:t,createDataCollectionRequest:n,createDataCollectionRequestPayload:r,logger:o})=>({trackAdConversion:({event:i})=>{const a=r();a.addEvent(i),i.finalize();const s=n({payload:a});return t.awaitConsent().then(()=>e({request:s}).then(()=>({success:!0})).catch(e=>{throw o.error("Failed to send ad conversion event",e),e}))}}))({sendEdgeNetworkRequest:r,consent:o,createDataCollectionRequest:gn,createDataCollectionRequestPayload:fn,logger:e});return(({handleOnBeforeSendEvent:e,sendAdConversionHandler:t})=>({lifecycle:{onComponentsRegistered(){t()},onBeforeEvent:e}}))({handleOnBeforeSendEvent:Ua({cookieManager:c,logger:e,getBrowser:i,consent:o,componentConfig:s,collectSurferId:l,getID5Id:Qa,getRampId:Ka,appendAdvertisingIdQueryToEvent:ts,appendAdCloudIdentityToEvent:es,collectHashedIPAddr:()=>u.collect(d),getUrlParams:Ya,isThrottled:ns,normalizeAdvertiser:Za}),sendAdConversionHandler:os({eventManager:n,cookieManager:c,adConversionHandler:f,logger:e,componentConfig:s,getBrowser:i,consent:o,collectSurferId:l,collectHashedIPAddr:()=>u.collect(d)})})};hs.namespace="Advertising",hs.configValidators=Ea;const ys=e=>e.filter((t,n)=>e.indexOf(t)===n);var vs=({getPageLocation:t,renderDecisions:n,decisionScopes:r,personalization:o,event:i,isCacheInitialized:a,logger:s})=>{const c=i.getViewName();return{isRenderDecisions:()=>n,isSendDisplayEvent:()=>!!o.sendDisplayEvent,shouldIncludeRenderedPropositions:()=>!!o.includeRenderedPropositions,getViewName:()=>c,hasScopes:()=>r.length>0||I(o.decisionScopes),hasSurfaces:()=>I(o.surfaces),hasViewName:()=>pe(c),createQueryDetails(){const n=[...r];I(o.decisionScopes)&&n.push(...o.decisionScopes);const i=((t=[],n,r)=>t.map(e=>Hi(e,n,r)).filter(t=>!e(t)).map(Fi))(o.surfaces,t,s);this.shouldRequestDefaultPersonalization()&&((e=>{e.includes(dn)||e.push(dn)})(n),((e,t)=>{const n=Vi(t);e.includes(n)||e.push(n)})(i,t));const a=[jo,Fo,Vo,zo,Ho,Jo,"https://ns.adobe.com/personalization/message/content-card"];return n.includes(dn)&&a.push(Bo),{schemas:a,decisionScopes:ys(n),surfaces:ys(i)}},isCacheInitialized:()=>a,shouldFetchData(){return this.hasScopes()||this.hasSurfaces()||this.shouldRequestDefaultPersonalization()},shouldUseCachedData(){return this.hasViewName()&&!this.shouldFetchData()},shouldRequestDefaultPersonalization(){return o.defaultPersonalizationEnabled||!this.isCacheInitialized()&&!1!==o.defaultPersonalizationEnabled}}};const ws={propositions:[]};var Is=({getPageLocation:e,logger:t,fetchDataHandler:n,viewChangeHandler:r,onClickHandler:o,isAuthoringModeEnabled:i,mergeQuery:a,viewCache:s,showContainers:c,applyPropositions:d,setTargetMigration:l,mergeDecisionsMeta:u,renderedPropositions:g,onDecisionHandler:p,handleConsentFlicker:m})=>({lifecycle:{onComponentsRegistered(){m()},onDecision:p,onBeforeRequest:({request:e})=>(l(e),Promise.resolve()),onBeforeEvent({event:o,renderDecisions:d,decisionScopes:l=[],personalization:p={},onResponse:m=me,onRequestFailure:f=me}){if(m(()=>({propositions:[]})),f(()=>c()),i())return t.warn("Rendering is disabled for authoring mode."),a(o,{enabled:!1}),Promise.resolve();const h=vs({getPageLocation:e,renderDecisions:d,decisionScopes:l,personalization:p,event:o,isCacheInitialized:s.isInitialized(),logger:t}),y=[];if(h.shouldIncludeRenderedPropositions()&&y.push(g.clear()),h.shouldFetchData()){const e=s.createCacheUpdate(h.getViewName());f(()=>e.cancel());const t=o.getUserIdentityMap();n({cacheUpdate:e,personalizationDetails:h,event:o,onResponse:m,identityMap:t})}else h.shouldUseCachedData()&&y.push(r({personalizationDetails:h,event:o,onResponse:m,onRequestFailure:f}));return Promise.all(y).then(e=>{const t=e.flatMap(e=>e);I(t)&&u(o,t,[Yo.DISPLAY])})},onClick({event:e,clickedElement:t}){o({event:e,clickedElement:t})}},commands:{applyPropositions:{optionsValidator:e=>(({logger:e,options:t})=>{const n=St({propositions:wt(St({id:Pt().required(),scope:Pt().required(),scopeDetails:St({decisionProvider:Pt().required()}).required(),items:wt(St({id:Pt().required(),schema:Pt().required(),data:St(vt())})).nonEmpty().required()}).required()).nonEmpty().required(),metadata:St(vt()),viewName:Pt()}).required();try{return n(t)}catch(t){return e.warn("Invalid options for applyPropositions. No propositions will be applied.",t),ws}})({logger:t,options:e}),run:d}}}),bs=(e="undefined")=>p("DIV",{},{innerHTML:e});const Es=/:eq\((\d+)\)/g,ks=e=>-1===e.indexOf(":eq("),Cs=/(#|\.)(-?\w+)/g,Ss=(e,t,n)=>`${t}${CSS.escape(n)}`,Ps=e=>{const t=[],n=(e=>e.split(Es).filter(pe))((e=>e.replace(Cs,Ss))(e.trim())),{length:r}=n;let o=0;for(;o<r;){const e=n[o],r=n[o+1];r?t.push({sel:e,eq:Number(r)}):t.push({sel:e}),o+=2}return t},Ds=e=>{const t=document;if(ks(e))return D(e,t);const n=Ps(e),{length:r}=n;let o=[],i=t,a=0;for(;a<r;){const{sel:e,eq:t}=n[a],s=D(e,i),{length:c}=s;if(0===c)break;if(null!=t&&t>c-1)break;a<r-1&&(null==t?[i]=s:i=s[t]),a===r-1&&(o=null==t?s:[s[t]]),a+=1}return o};var Rs=(e,t=document)=>t.getElementById(e),Ts=(e,t,n)=>{e.setAttribute(t,n)},Os=(e,t)=>e.getAttribute(t),Ms=(e,t,n,r)=>{let o;o=r?`${t}:${n} !${r};`:`${t}:${n};`,e.style.cssText+=`;${o}`},Ns=e=>e.parentNode,As=(e,t)=>{if(!e)return;const n=Ns(e);n&&n.insertBefore(t,(e=>e.nextElementSibling)(e))},xs=(e,t)=>{if(!e)return;const n=Ns(e);n&&n.insertBefore(t,e)},qs=e=>{const{childNodes:t}=e;return t?b(t):[]},$s=e=>e.firstElementChild;let Ls;var _s=(e=document)=>{if(void 0===Ls){const t=e.querySelector("[nonce]");Ls=t&&(t.nonce||t.getAttribute("nonce"))}return Ls};const Us="src",js=e=>p(f,{src:e}),Bs=e=>{D(f,e).forEach(e=>{const t=Os(e,Us);t&&js(t)})},Fs=e=>((e,t)=>e.tagName===t)(e,h)&&!Os(e,Us);var Vs=e=>{const t=D(h,e),{length:n}=t,r=_s();if(r)for(let e=0;e<n;e+=1){const n=t[e];Fs(n)&&(n.nonce=r)}};const Hs="type",zs="module",Js="nonce",Xs=new Set(["application/ecmascript","application/javascript","application/x-ecmascript","application/x-javascript","text/ecmascript","text/javascript","text/javascript1.0","text/javascript1.1","text/javascript1.2","text/javascript1.3","text/javascript1.4","text/javascript1.5","text/jscript","text/livescript","text/x-ecmascript","text/x-javascript"]),Ks=[Hs,Js,"crossorigin","integrity","referrerpolicy","fetchpriority","nomodule"],Gs=e=>{const t=Os(e,Us),n=document.createElement("script");Ks.forEach(t=>{const r=Os(e,t);null!==r&&n.setAttribute(t,r)});const r=_s();if(r&&n.setAttribute(Js,r),!t)return n.textContent=e.textContent,document.head.appendChild(n),Promise.resolve(n);n.src=t,n.async=!0;const o=((e,t)=>new Promise((n,r)=>{t.onload=()=>{n(t)},t.onerror=()=>{r(new Error(`Failed to load script: ${e}`))}}))(t,n);return document.head.appendChild(n),o},Ws=(e,t)=>!!e&&e.tagName===t,Qs=e=>{const t=Os(e,Hs);return t?t.split(";")[0].trim().toLowerCase():""},Ys="head",Zs="inline",ec=e=>(e=>{if(!Ws(e,y))return!1;const t=Qs(e);return""===t||t===zs||Xs.has(t)})(e)?(e=>!!Os(e,Us))(e)?Ys:e.textContent?(e=>Qs(e)===zs)(e)?Ys:Zs:null:null,tc=e=>{const t=D(y,e),n=[],{length:r}=t,o=_s(),i={...o&&{nonce:o}};for(let e=0;e<r;e+=1){const r=t[e];if(ec(r)!==Zs)continue;const{textContent:o}=r,a=Os(r,"nomodule");n.push(p(y,{...i,...null!==a&&{nomodule:a}},{textContent:o}))}return n},nc=e=>{const t=D(y,e),n=[],{length:r}=t;for(let e=0;e<r;e+=1){const r=t[e];ec(r)===Ys&&n.push(r)}return n},rc=(e,t)=>{t.forEach(t=>{e.appendChild(t),e.removeChild(t)})},oc=e=>Promise.all(e.map(Gs));var ic=(e,t,n)=>{const r=bs(t);Vs(r);const o=qs(r),i=tc(r),a=nc(r);return Bs(r),o.forEach(t=>{g(e,t)}),n(e),rc(e,i),oc(a)};var ac=(e,t,n)=>((e=>{qs(e).forEach($)})(e),ic(e,t,n)),sc=(e,t,n)=>{const r=bs(t);Vs(r);const o=qs(r),i=tc(r),a=nc(r),{length:s}=o;let c=s-1;for(Bs(r);c>=0;){const t=o[c];n(t);const r=$s(e);r?xs(r,t):g(e,t),c-=1}return rc(e,i),oc(a)};const cc="alloy-prehiding",dc={},lc=e=>{if(dc[e])return;const t=_s(),n={...t&&{nonce:t}},r=p(h,n,{textContent:`${e} { visibility: hidden }`});g(document.head,r),dc[e]=r},uc=e=>{const t=dc[e];t&&($(t),delete dc[e])};var gc=(e,t,n)=>{n(e),e.textContent=t},pc=(e,t,n)=>{const r=bs(t);Vs(r);const o=qs(r),i=tc(r),a=nc(r);return Bs(r),o.forEach(t=>{n(t),xs(e,t)}),rc(e,i),oc(a)},mc=(e,t,n)=>pc(e,t,n).then(()=>{$(e)}),fc=(e,t,n)=>{const r=bs(t);Vs(r);const o=qs(r),i=tc(r),a=nc(r);Bs(r);let s=e;return o.forEach(e=>{n(e),As(s,e),s=e}),rc(e,i),oc(a)},hc=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{Ms(e,t,o[t],r)}),n(e)},yc=(e,t,n)=>{Object.keys(t).forEach(n=>{Ts(e,n,t[n])}),n(e)},vc=(e,t,n)=>{e.tagName===f&&(js(t),n(e),((e,t)=>{e.removeAttribute(t)})(e,Us),Ts(e,Us,t))},wc=(e,{from:t,to:n},r)=>{const o=(e=>{const{children:t}=e;return t?b(t):[]})(e),i=o[t],a=o[n];i&&a&&(t<n?As(a,i):xs(a,i),r(a),r(i))};const Ic=(e,t=!1)=>async(n,r,o)=>{const{selector:i,prehidingSelector:a,content:s}=n;lc(a);try{(({containers:e,content:t,decorateProposition:n,renderFunc:r,renderStatusHandler:o,alwaysRender:i})=>{const a=e.filter(e=>i||o.shouldRender(e)).map(async e=>{await r(e,t,n),o.markAsRendered(e)});Promise.all(a)})({containers:await N(i,Ds),content:s,decorateProposition:r,renderFunc:e,renderStatusHandler:o,alwaysRender:t})}finally{uc(a)}},bc=e=>`${e}`.endsWith("px")?e:`${e}px`;var Ec=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"left"!==t&&"top"!==t||(n=bc(n)),Ms(e,t,n,r)}),n(e)},kc=(e,t,n)=>{n(e)},Cc=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"width"!==t&&"height"!==t||(n=bc(n)),Ms(e,t,n,r)}),n(e)};const Sc="setHtml",Pc="customCode",Dc="setText",Rc="setAttribute",Tc="setImageSource",Oc="setStyle",Mc="move",Nc="resize",Ac="rearrange",xc="remove",qc="insertAfter",$c="insertBefore",Lc="replaceHtml",_c="prependHtml",Uc="appendHtml",jc="click",Bc="collectInteractions";var Fc=(e,t)=>{if(ks(e))return((e,t)=>t.matches?t.matches(e):t.msMatchesSelector(e))(e,t);const n=Ds(e);let r=!1;for(let e=0;e<n.length;e+=1)if(n[e]===t){r=!0;break}return r};const Vc="view",Hc=e=>e.map(e=>{const{trackingLabel:t,scopeType:n,...r}=e;return r}),zc=(e,t,n)=>{const{documentElement:r}=document;let o=e,i=0;for(;o&&o!==r;){if(Fc(t,o)){const e=n(t),r={metas:e},o=e.find(e=>e.trackingLabel);o&&(r.label=o.trackingLabel,r.weight=i);const a=e.find(e=>e.scopeType===Vc);return a&&(r.viewName=a.scope,r.weight=i),r}o=o.parentNode,i+=1}return{metas:null}};var Jc=(e,t,n)=>{const r=[];let o,i="",a=Number.MAX_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER;for(let c=0;c<t.length;c+=1){const{metas:d,label:l,weight:u,viewName:g}=zc(e,t[c],n);d&&(l&&u<=a&&(i=l,a=u),g&&u<=s&&(o=g,s=u),r.push(...Hc(d)))}return{decisionsMeta:(c=r,c.filter((e,t)=>{const n=JSON.stringify(e);return t===c.findIndex(e=>JSON.stringify(e)===n)})),propositionActionLabel:i,propositionActionToken:void 0,viewName:o};var c},Xc=(e=document)=>-1!==e.location.href.indexOf("adobe_authoring_enabled");var Kc=()=>{const e={};return{storeClickMeta:({selector:t,meta:{id:n,scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}})=>{e[t]||(e[t]={}),e[t][n]={scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}},getClickSelectors:()=>Object.keys(e),getClickMetas:t=>e[t]?(e=>Object.keys(e).map(t=>({id:t,...e[t]})))(e[t]):{}}};const Gc=(e,t)=>e===Vo&&t===Bc,Wc={[Bo]:()=>!0,[Fo]:()=>!0,[Vo]:Gc,[Jo]:()=>!0,[jo]:()=>!0};var Qc=({processPropositions:e,createProposition:t,renderedPropositions:n,viewCache:r})=>{const o=({items:e,metadataForScope:t={}})=>{const{actionType:n,selector:r}=t;return e.filter(e=>((e,t)=>"function"==typeof Wc[e]&&Wc[e](e,t))(e.schema,n)).map(e=>{const{schema:o}=e;return o===Fo||Gc(o,n)?j(t)?void 0:{...e,schema:Gc(o,n)?Bo:o,data:{...e.data,selector:r,type:n}}:{...e}}).filter(e=>e)},i=e=>!(e.scope===dn&&e.renderAttempted);return({propositions:a=[],metadata:s={},viewName:c})=>{const d=l();n.concat(d.promise);const u=(({propositions:e,metadata:t})=>e.filter(i).map(e=>{if(I(e.items)){const{id:n,scope:r,scopeDetails:i}=e;return{id:n,scope:r,scopeDetails:i,items:o({items:e.items,metadataForScope:t[e.scope]})}}return e}).filter(e=>I(e.items)))({propositions:a,metadata:s}).map(e=>t(e));return Promise.resolve().then(()=>c?r.getView(c):[]).then(t=>{const{render:n,returnedPropositions:r}=e([...u,...t]);return n().then(d.resolve),{propositions:r}})}};var Yc=e=>{const{selector:t,type:n}=e;return n!==Pc||"BODY > *:eq(0)"!==t?e:{...e,selector:"BODY"}};var Zc=e=>{const t={...e},{content:n,selector:r}=t;if(t.type===Pc)return t;if(vr(n))return t;if(null==r)return t;const o=Ds(r);return Ws(o[0],"HEAD")?(t.type=Uc,t.content=(e=>{const t=bs(e);return D("SCRIPT,LINK,STYLE",t).map(e=>e.outerHTML).join("")})(n),t):t},ed=({preprocess:e,isPageWideSurface:t})=>(n,r=!0,o=!1,i=void 0)=>{const{id:a,scope:s,scopeDetails:c,items:d=[]}=n,{characteristics:{scopeType:l}={}}=c||{};return{getScope:()=>s,getScopeType:()=>s===dn||t(s)?"page":l===Vc?Vc:"proposition",getItems(){return d.map(t=>((t,n)=>{const{id:r,schema:o,data:i,characteristics:{trackingLabel:a}={}}=t,s=i?i.type:void 0,c=e(i);return{getId:()=>r,getSchema:()=>o,getSchemaType:()=>s,getData:()=>c,getProposition:()=>n,getTrackingLabel:()=>a,getOriginalItem:()=>t,toString:()=>JSON.stringify(t),toJSON:()=>t}})(t,this))},getNotification:()=>({id:a,scope:s,scopeDetails:c}),getId:()=>a,getIdentityMap:()=>i,toJSON:()=>n,shouldSuppressDisplay:()=>o,addToReturnValues(e,t,o,i){r&&(e.push({...n,items:o.map(e=>e.getOriginalItem()),renderAttempted:i}),i||t.push({...n,items:o.map(e=>e.getOriginalItem())}))}}},td=()=>({render:me,setRenderAttempted:!0,includeInNotification:!0});const nd="always",rd="never",od="decoratedElementsOnly",id=[nd,rd,od],ad="data-aep-interact-id",sd="data-aep-click-label";let cd=0;const dd=(e,t,n,r,o,i,a,s)=>{const{scopeDetails:c={}}=a,{decisionProvider:d}=c;return((e,t)=>!!e&&!!e[t]&&[nd,od].includes(e[t]))(e,d)||t===jc?e=>{if(!e.tagName)return;const t=(c=Os(e,ad))?parseInt(c,10):++cd;var c;s(n,r,i,a,t),Ts(e,ad,t),o&&!Os(e,sd)&&Ts(e,sd,o)}:me};var ld=(e,t)=>e!==Vc?{shouldRender:()=>!0,markAsRendered:()=>{}}:{shouldRender:e=>{if(!e)return!0;return!(e.dataset.adobePropositionIds??"").split(",").includes(t)},markAsRendered:e=>{const n=(e.dataset.adobePropositionIds??"").split(",");n.includes(t)||n.push(t),e.dataset.adobePropositionIds=n.sort().join(",")}},ud=({modules:e,logger:t,storeInteractionMeta:n,storeClickMeta:r,autoCollectPropositionInteractions:o})=>i=>{const{type:a,selector:s}=i.getData()||{};if(!a)return t.warn("Invalid DOM action data: missing type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};if(a===jc)return s?(r({selector:s,meta:{...i.getProposition().getNotification(),trackingLabel:i.getTrackingLabel(),scopeType:i.getProposition().getScopeType()}}),{setRenderAttempted:!0,includeInNotification:!1}):(t.warn("Invalid DOM action data: missing selector.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1});if(!e[a])return t.warn("Invalid DOM action data: unknown type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};const c=ld(i.getProposition().getScopeType(),i.getId()),d=dd(o,a,i.getProposition().getId(),i.getId(),i.getTrackingLabel(),i.getProposition().getScopeType(),i.getProposition().getNotification(),n);return{render:()=>e[a](i.getData(),d,c),setRenderAttempted:!0,includeInNotification:!0}},gd=({modules:e,logger:t,storeInteractionMeta:n,autoCollectPropositionInteractions:r})=>o=>{const{type:i,selector:a}=o.getData()||{};if(!a||!i)return{setRenderAttempted:!1,includeInNotification:!1};if(!e[i])return t.warn("Invalid HTML content data",o.getData()),{setRenderAttempted:!1,includeInNotification:!1};const s=dd(r,i,o.getProposition().getId(),o.getId(),o.getTrackingLabel(),o.getProposition().getScopeType(),o.getProposition().getNotification(),n),c=ld(o.getProposition().getScopeType(),o.getId());return{render:()=>e[i](o.getData(),s,c),setRenderAttempted:!0,includeInNotification:!0}};const pd="BODY";var md=({logger:e,executeRedirect:t,collect:n})=>r=>{const{content:o}=r.getData()||{};if(!o)return e.warn("Invalid Redirect data",r.getData()),{};return{render:()=>(lc(pd),n({decisionsMeta:[r.getProposition().getNotification()],documentMayUnload:!0,identityMap:r.getProposition().getIdentityMap()}).then(()=>(e.logOnContentRendering({status:"rendering-redirect",detail:{propositionDetails:r.getProposition().getNotification(),redirect:o},message:`Redirect action ${r.toString()} executed.`,logLevel:"info"}),t(o))).catch(e=>{throw uc(pd),e})),setRenderAttempted:!0,onlyRenderThis:!0}},fd=({schemaProcessors:e,logger:t})=>{const n=(e,n)=>()=>Promise.resolve().then(e).then(()=>(t.enabled&&t.info(`Action ${n.toString()} executed.`),n.toJSON())).catch(e=>{const{message:r,stack:o}=e,i=`Failed to execute action ${n.toString()}. ${r} ${o}`;t.logOnContentRendering({status:"rendering-failed",detail:{propositionDetails:n.getProposition().getNotification(),item:n.toJSON()},error:e,message:i,logLevel:"warn"})}),r=t=>{const n=e[t.getSchema()];return n?n(t):{}},o=({renderers:e,returnedPropositions:t,returnedDecisions:o,items:i,proposition:a})=>{let s,c,d,l,u=[...e],g=[...t],p=[...o],m=[],f=[],h=[],y=!1,v=!1,w=0;for(;i.length>w;){if(l=i[w],({render:s,setRenderAttempted:c,includeInNotification:d,onlyRenderThis:v}=r(l)),v){g=[],p=[],c?(m=[l],f=[]):(m=[],f=[l]),u=[],h=[s],y=d;break}s&&h.push(n(s,l)),d&&(y=!0),c?m.push(l):f.push(l),w+=1}if(h.length>0){const e=y?a.getNotification():void 0;u.push(()=>(async(e,t)=>{const n=(await Promise.allSettled(e.map(e=>e()))).filter(e=>"fulfilled"===e.status).map(e=>e.value);if(t&&I(n))return{...t,items:n}})(h,e))}else y&&u.push(()=>Promise.resolve(a.getNotification()));return m.length>0&&a.addToReturnValues(g,p,m,!0),f.length>0&&a.addToReturnValues(g,p,f,!1),{renderers:u,returnedPropositions:g,returnedDecisions:p,onlyRenderThis:v}};return(e,n=[])=>{let r,i,a,s=[],c=[],d=[],l=0;for(;e.length>l&&(i=e[l],a=i.getItems(),({renderers:s,returnedPropositions:c,returnedDecisions:d,onlyRenderThis:r}=o({renderers:s,returnedPropositions:c,returnedDecisions:d,items:a,proposition:i})),!r);)l+=1;r&&e.forEach((e,t)=>{t!==l&&e.addToReturnValues(c,d,e.getItems(),!1)}),n.forEach(e=>{e.addToReturnValues(c,d,e.getItems(),!1)});return{returnedPropositions:c,returnedDecisions:d,render:()=>Promise.all(s.map(e=>e())).then(e=>{const n=e.filter(e=>e),r=n.map(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}});if(I(n)){const e=G(n,e=>e.scope);t.logOnContentRendering({status:"rendering-succeeded",detail:{...e},message:`Scopes: ${JSON.stringify(e)} successfully executed.`,logLevel:"info"})}return r})}}};var hd=({processPropositions:e,createProposition:t,notificationHandler:n})=>({renderDecisions:r,propositions:o,event:i,personalization:a={},identityMap:s})=>{if(!r)return Promise.resolve();const{sendDisplayEvent:c=!0}=a,d=i?i.getViewName():void 0,l=(()=>{let e=0;return t=>{const{items:n=[]}=t;return!!n.some(e=>e.schema===Jo)&&(e+=1,e>1)}})(),u=o.map(e=>t(e,!0,l(e),s)),{render:g,returnedPropositions:p}=e(u),m=n(r,c,d,s),f=u.reduce((e,t)=>(e[t.getId()]=t,e),{});return g().then(e=>{const t=e.filter(e=>!f[e.id].shouldSuppressDisplay()),n=e.filter(e=>f[e.id].shouldSuppressDisplay());m(t,n)}),Promise.resolve({propositions:p})};const yd="defaultContent",vd=["content","contentType"],wd=["mobileParameters","webParameters","html"];var Id=({modules:e,logger:t})=>n=>{const r=n.getData(),o=n.getProposition(),i={...o.getNotification()},a=o.shouldSuppressDisplay();if(!r)return t.warn("Invalid in-app message data: undefined.",r),{};const{type:s=yd}=r;return e[s]?((e,t)=>{for(let n=0;n<vd.length;n+=1){const r=vd[n];if(!Object.prototype.hasOwnProperty.call(e,r))return t.warn(`Invalid in-app message data: missing property '${r}'.`,e),!1}const{content:n,contentType:r}=e;if("application/json"===r)for(let r=0;r<wd.length;r+=1){const o=wd[r];if(!Object.prototype.hasOwnProperty.call(n,o))return t.warn(`Invalid in-app message data.content: missing property '${o}'.`,e),!1}return!0})(r,t)?i?{render:()=>a?null:e[s]({...r,meta:i,identityMap:o.getIdentityMap()}),setRenderAttempted:!0,includeInNotification:!0}:(t.warn("Invalid in-app message meta: undefined.",i),{}):{}:(t.warn("Invalid in-app message data: unknown type.",r),{})};const bd=e=>{const t=D(`#${e}`,document);t&&t.length>0&&$(t[0])};var Ed=e=>(t,n=!1)=>(n?e.location.href=t:e.location.replace(t),new Promise(()=>{}));const kd="alloy-messaging-container",Cd="alloy-overlay-container",Sd="alloy-content-iframe",Pd=()=>[kd,Cd].forEach(bd),Dd=(e,t=Ed(window))=>n=>{n.preventDefault(),n.stopImmediatePropagation();const{target:r}=n,o="a"===r.tagName.toLowerCase()?r:r.closest("a");if(!o)return;const{action:i,interaction:a,link:s,label:c,uuid:d}=(e=>{const t={};if(!e||"a"!==e.tagName.toLowerCase())return t;const{href:n}=e;if(!n||!n.startsWith("adbinapp://"))return t;const r=n.split("?"),o=r[0].split("://")[1],i=e.innerText,a=e.getAttribute("data-uuid")||"";let s,c;if(I(r)){const e=be.parse(r[1]);s=e.interaction||"",c=_n(e.link||"")}return{action:o,interaction:s,link:c,label:i,uuid:a}})(o);e(i,{label:c,id:a,uuid:d,link:s}),"dismiss"===i&&Pd(),pe(s)&&s.length>0&&t(s,!0)},Rd=e=>{const{verticalAlign:t,width:n,horizontalAlign:r,backdropColor:o,height:i,cornerRadius:a,horizontalInset:s,verticalInset:c,uiTakeover:d=!1}=e,l={width:n?`${n}%`:"100%",backgroundColor:o||"rgba(0, 0, 0, 0.5)",borderRadius:a?`${a}px`:"0px",border:"none",position:d?"fixed":"relative",overflow:"hidden"};return"left"===r?l.left=s?`${s}%`:"0":"right"===r?l.right=s?`${s}%`:"0":"center"===r&&(l.left="50%",l.transform="translateX(-50%)"),"top"===t?l.top=c?`${c}%`:"0":"bottom"===t?(l.position="fixed",l.bottom=c?`${c}%`:"0"):"center"===t&&(l.top="50%",l.transform=("center"===r?`${l.transform} `:"")+"translateY(-50%)",l.display="flex",l.alignItems="center",l.justifyContent="center"),l.height=i?`${i}vh`:"100%",l},Td=e=>{const{backdropOpacity:t,backdropColor:n}=e;return{position:"fixed",top:"0",left:"0",width:"100%",height:"100%",background:"transparent",opacity:t||.5,backgroundColor:n||"#FFFFFF"}},Od=["enabled","parentElement","insertionMethod"],Md=(e={},t)=>{Pd();const{content:n,contentType:r,mobileParameters:o}=e;let{webParameters:i}=e;if(r!==yi)return;const a=p("div",{id:kd}),s=((e,t)=>{const n=(new DOMParser).parseFromString(e,yi),r=n.querySelector("script");r&&r.setAttribute("nonce",_s());const o=p("iframe",{src:URL.createObjectURL(new Blob([n.documentElement.outerHTML],{type:"text/html"})),id:Sd});return o.addEventListener("load",()=>{const{addEventListener:e}=o.contentDocument||o.contentWindow.document;e("click",t)}),o})(n,Dd(t)),c=p("div",{id:Cd});(e=>{if(!e)return!1;const t=Object.keys(e);if(!t.includes(kd))return!1;if(!t.includes(Cd))return!1;const n=Object.values(e);for(let e=0;e<n.length;e+=1){if(!St(n[e],"style"))return!1;if(!St(n[e],"params"))return!1;for(let t=0;t<Od.length;t+=1)if(!St(n[e].params,Od[t]))return!1}return!0})(i)||(i=(e=>{if(!e)return;const{uiTakeover:t=!1}=e;return{[Sd]:{style:{border:"none",width:"100%",height:"100%"},params:{enabled:!0,parentElement:"#alloy-messaging-container",insertionMethod:"appendChild"}},[kd]:{style:Rd(e),params:{enabled:!0,parentElement:"body",insertionMethod:"appendChild"}},[Cd]:{style:Td(e),params:{enabled:!0===t,parentElement:"body",insertionMethod:"appendChild"}}}})(o)),i&&((e,t,n,r)=>{[{id:Cd,element:r},{id:kd,element:n},{id:Sd,element:e}].forEach(({id:e,element:n})=>{const{style:r={},params:o={}}=t[e];Object.assign(n.style,r);const{parentElement:i="body",insertionMethod:a="appendChild",enabled:s=!0}=o,c=document.querySelector(i);s&&c&&"function"==typeof c[a]&&c[a](n)})})(s,i,a,c)};var Nd=e=>({defaultContent:t=>((e,t)=>new Promise(n=>{const{meta:r,identityMap:o}=e;Md(e,(e,n)=>{const i={};i[Yo.INTERACT]=1,-1!==Object.values(Yo).indexOf(e)&&(i[e]=1),t({decisionsMeta:[r],propositionAction:n,eventType:Ko,propositionEventTypes:Object.keys(i),identityMap:o})}),n({meta:r})}))(t,e)});const Ad=e=>{const t=e.find(e=>e.scopeType===Vc);return t?t.scope:void 0};var xd=(e,t,n)=>{const{interactIds:r,clickLabel:o="",clickToken:i}=(e=>{const{documentElement:t}=document;let n=e;const r=new Set;let o,i;for(;n&&n!==t&&!(n instanceof ShadowRoot);){const e=Os(n,ad);e&&r.add(e),o=o||Os(n,sd),i=i||Os(n,"data-aep-click-token"),n=n.parentNode}return{interactIds:[...r],clickLabel:o,clickToken:i}})(e),a=((e,t,n)=>r=>{const{scopeDetails:o={}}=r,{decisionProvider:i}=o;return e[i]===nd||e[i]===od&&(t||n)})(n,o,i);if(0===r.length)return{};const s=t(r).filter(a);return{decisionsMeta:Hc(s),propositionActionLabel:o,propositionActionToken:i,viewName:Ad(s)}};const qd=({config:e,logger:t,eventManager:n,consent:r})=>{const{targetMigrationEnabled:o,prehidingStyle:i,autoCollectPropositionInteractions:a}=e,s=Pi({eventManager:n,mergeDecisionsMeta:Di}),c=(e=>()=>{const t=Rs(cc);t&&(e.logOnContentHiding({status:"show-containers",message:"Prehiding style removed to show containers.",logLevel:"info"}),$(t))})(t),d=(e=>t=>{if(!t)return;if(Rs(cc))return;const n=_s(),r={id:cc,...n&&{nonce:n}},o=p(h,r,{textContent:t});e.logOnContentHiding({status:"hide-containers",message:"Prehiding style applied to hide containers.",logLevel:"info"}),g(document.head,o)})(t),{storeInteractionMeta:u,getInteractionMetas:m}=(()=>{const e={},t={};return{storeInteractionMeta:(n,r,o,i,a)=>{a=parseInt(a,10),e[a]||(e[a]={},t[a]={}),t[a][n]||(t[a][n]=new Set),t[a][n].add(r),e[a][n]={...i,scopeType:o}},getInteractionMetas:n=>Array.isArray(n)&&0!==n.length?Object.values(n.map(e=>parseInt(e,10)).reduce((n,r)=>(Object.keys(e[r]||{}).forEach(o=>{n[o]||(n[o]={proposition:e[r][o],items:new Set}),n[o].items=new Set([...n[o].items,...t[r][o]])}),n),{})).map(({proposition:e,items:t})=>({...e,items:Array.from(t).map(e=>({id:e}))})):[]}})(),{storeClickMeta:f,getClickSelectors:y,getClickMetas:v}=Kc(),w=(({window:e})=>()=>e.location)({window:window}),b={[Sc]:Ic(ac,!0),[Pc]:Ic(sc,!0),[Dc]:Ic(gc,!0),[Rc]:Ic(yc,!0),[Tc]:Ic(vc,!0),[Oc]:Ic(hc,!0),[Mc]:Ic(Ec,!0),[Nc]:Ic(Cc,!0),[Ac]:Ic(wc),[xc]:Ic($,!0),[qc]:Ic(fc),[$c]:Ic(pc),[Lc]:Ic(mc,!0),[_c]:Ic(sc),[Uc]:Ic(ic),[Bc]:Ic(kc,!0)},E=(k=[Zc,Yc],e=>e?k.reduce((e,t)=>({...e,...t(e)}),e):e);var k;const C=ed({preprocess:E,isPageWideSurface:zi}),S=(({createProposition:e})=>{let t=!1,n=Promise.resolve({});const r=(t,n)=>{const r=t[n.toLowerCase()];return r&&r.length>0?r:[e({scope:n,scopeDetails:{characteristics:{scopeType:Vc}},items:[{schema:jo}]},!1)]};return{createCacheUpdate:e=>{const o=l();return t=!0,n=n.then(e=>o.promise.then(t=>({...e,...t})).catch(()=>e)),{update(t){const n=t.filter(e=>e.getScope()),i=G(n,e=>e.getScope().toLowerCase());return o.resolve(i),e?r(i,e):[]},cancel(){o.reject()}}},getView:e=>n.then(t=>r(t,e)),isInitialized:()=>t}})({createProposition:C}),P=Ed(window),D={[jo]:td,[Bo]:ud({modules:b,logger:t,storeInteractionMeta:u,storeClickMeta:f,autoCollectPropositionInteractions:a}),[Fo]:gd({modules:b,logger:t,storeInteractionMeta:u,autoCollectPropositionInteractions:a}),[zo]:md({logger:t,executeRedirect:P,collect:s}),[Jo]:Id({modules:Nd(s),logger:t})},R=fd({schemaProcessors:D,logger:t}),T=(()=>{let e=Promise.resolve([]);return{concat(t){e=e.then(e=>t.then(t=>e.concat(t)).catch(()=>e))},clear(){const t=e;return e=Promise.resolve([]),t}}})(),O=((e,t)=>(n,r,o,i)=>{if(!n)return()=>{};if(!r){const e=l();return t.concat(e.promise),e.resolve}return(t=[],n=[])=>{I(t)&&e({decisionsMeta:t,viewName:o,identityMap:i}),I(n)&&e({decisionsMeta:n,eventType:Qo,propositionAction:{reason:"Conflict"},viewName:o,identityMap:i})}})(s,T),M=(({logger:e,prehidingStyle:t,showContainers:n,hideContainers:r,mergeQuery:o,processPropositions:i,createProposition:a,notificationHandler:s,consent:c})=>({cacheUpdate:d,personalizationDetails:l,event:u,onResponse:g,identityMap:p})=>{const{state:m,wasSet:f}=c.current();"out"===m&&f||(l.isRenderDecisions()?r(t):n()),o(u,l.createQueryDetails());const h=s(l.isRenderDecisions(),l.isSendDisplayEvent(),l.getViewName(),p);g(({response:t})=>{const r=t.getPayloadsByType("personalization:decisions");I(r)||e.logOnContentRendering({status:"no-offers",message:"No offers were returned.",logLevel:"info",detail:{query:l.createQueryDetails()}});const o=r.map(e=>a(e,!0,!1,p)),{page:s=[],view:c=[],proposition:u=[]}=G(o,e=>e.getScopeType()),g=d.update(c);let m,f,y;return l.isRenderDecisions()?(({render:m,returnedPropositions:f,returnedDecisions:y}=i([...s,...g],u)),I(s)&&e.logOnContentRendering({status:"rendering-started",message:"Started rendering propositions for page-wide scope.",logLevel:"info",detail:{scope:dn,propositions:s.map(e=>e.toJSON())}}),I(g)&&e.logOnContentRendering({status:"rendering-started",message:`Rendering propositions started for view scope - ${l.getViewName()}.`,logLevel:"info",detail:{scope:l.getViewName(),propositions:g.map(e=>e.toJSON())}}),m().then(h),1===s.length&&s[0].getItems().every(e=>e.getSchema()===zo)||n()):({returnedPropositions:f,returnedDecisions:y}=i([],[...s,...g,...u])),{propositions:f,decisions:y}})})({prehidingStyle:i,showContainers:c,hideContainers:d,mergeQuery:Ri,processPropositions:R,createProposition:C,notificationHandler:O,consent:r,logger:t}),N=(({mergeDecisionsMeta:e,collectInteractions:t,collectClicks:n,getInteractionMetas:r,getClickMetas:o,getClickSelectors:i,autoCollectPropositionInteractions:a})=>({event:s,clickedElement:c})=>{const d=[];let l,u,g;if([t(c,r,a),n(c,i(),o)].forEach(({decisionsMeta:e,propositionActionLabel:t,propositionActionToken:n,viewName:r})=>{Array.prototype.push.apply(d,e),!l&&t&&(l=t),!u&&n&&(u=n),!g&&r&&(g=r)}),I(d)){const t={eventType:Ko};g&&(t.web={webPageDetails:{viewName:g}}),s.mergeXdm(t),e(s,d,[Yo.INTERACT],((e,t)=>{if(!t&&!e)return;const n={};return e&&(n.label=e),t&&(n.tokens=[t]),n})(l,u))}})({mergeDecisionsMeta:Di,collectInteractions:xd,collectClicks:Jc,getInteractionMetas:m,getClickMetas:v,getClickSelectors:y,autoCollectPropositionInteractions:a}),A=(({processPropositions:e,viewCache:t,logger:n})=>({personalizationDetails:r,onResponse:o})=>{let i,a;const s=r.getViewName();return o(()=>({propositions:i,decisions:a})),t.getView(s).then(t=>{let o;return r.isRenderDecisions()?(({render:o,returnedPropositions:i,returnedDecisions:a}=e(t)),n.logOnContentRendering({status:"rendering-started",message:`Started rendering propositions for view scope - ${s}.`,logLevel:"info",detail:{scope:s,propositions:t.map(e=>e.toJSON())}}),o()):(({returnedPropositions:i,returnedDecisions:a}=e([],t)),[])})})({processPropositions:R,viewCache:S,logger:t}),x=Qc({processPropositions:R,createProposition:C,renderedPropositions:T,viewCache:S}),q=(({targetMigrationEnabled:e})=>e?e=>{e.getPayload().mergeMeta({target:{migration:!0}})}:me)({targetMigrationEnabled:o}),L=hd({processPropositions:R,createProposition:C,notificationHandler:O}),_=(({showContainers:e,consent:t})=>()=>{const{state:n,wasSet:r}=t.current();n===Ut&&r?e():t.awaitConsent().catch(e)})({showContainers:c,consent:r});return Is({getPageLocation:w,logger:t,fetchDataHandler:M,viewChangeHandler:A,onClickHandler:N,isAuthoringModeEnabled:Xc,mergeQuery:Ri,viewCache:S,showContainers:c,applyPropositions:x,setTargetMigration:q,mergeDecisionsMeta:Di,renderedPropositions:T,onDecisionHandler:L,handleConsentFlicker:_})};qd.namespace="Personalization";const $d=id.map(e=>Et(e));qd.configValidators=St({prehidingStyle:Pt().nonEmpty(),targetMigrationEnabled:It().default(!1),autoCollectPropositionInteractions:St({[Br]:yt($d).default(nd),[Fr]:yt($d).default(rd)}).default({[Br]:nd,[Fr]:rd}).noUnknownFields()});const Ld=async({vapidPublicKey:e,window:t})=>{if(!("serviceWorker"in t.navigator))throw new Error("Service workers are not supported in this browser.");if(!("PushManager"in t)||!("Notification"in t))throw new Error("Push notifications are not supported in this browser.");if("granted"!==t.Notification.permission)throw new Error("The user has not given permission to send push notifications.");const o=await t.navigator.serviceWorker.getRegistration();if(!o)throw new Error("No service worker registration was found.");if(!e)throw new Error("No VAPID public key was provided.");const i={userVisibleOnly:!0,applicationServerKey:n(e)};try{const e=await o.pushManager.subscribe(i),t=e.getKey("p256dh"),n=e.getKey("auth");return{endpoint:e.endpoint,keys:{p256dh:t?r(new Uint8Array(t),{urlSafe:!0}):null,auth:n?r(new Uint8Array(n),{urlSafe:!0}):null}}}catch(n){const r=await o.pushManager.getSubscription();if(!r)throw n;if(!await r.unsubscribe())throw n;return Ld({vapidPublicKey:e,window:t})}};const _d="config",Ud="alloyConfig";async function jd(e,t){try{const i=await(n="alloyPushNotifications",r=1,o=e=>{e.objectStoreNames.contains(_d)||e.createObjectStore(_d,{keyPath:"id"})},new Promise((e,t)=>{const i=indexedDB.open(n,r);i.onerror=()=>t(i.error),i.onsuccess=()=>e(i.result),i.onupgradeneeded=e=>{const t=e.target.result;o&&o(t)}})),a=await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readonly").objectStore(t).get(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,_d,Ud),s={...a||{},...e,id:Ud,timestamp:Date.now()};return await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readwrite").objectStore(t).put(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,_d,s),i.close(),t.info("Successfully saved web SDK config to IndexedDB",s),!0}catch(e){return t.error("Failed to save config to IndexedDB",{error:e}),!1}var n,r,o}const Bd="subscriptionDetails";var Fd=async({config:{vapidPublicKey:e,appId:t},storage:n,logger:r,sendEdgeNetworkRequest:o,consent:i,eventManager:a,identity:s,window:c,getPushSubscriptionDetails:d=Ld})=>{await s.awaitIdentity();const l=s.getEcidFromCookie();if(!l)return void r.info("No ECID is available. Not sending push subscription details to the server.");const u=await d({vapidPublicKey:e,window:c}),g=JSON.stringify(Ce(u)),p=`${l}${g}`,m=await n.getItem(Bd);if(m&&p===m)return void r.info("Subscription details have not changed. Not sending to the server.");const f=await(async({ecid:e,eventManager:t,serializedPushSubscriptionDetails:n,appId:r})=>{const o=t.createEvent();o.setUserData({pushNotificationDetails:[{appID:r,token:n,platform:"web",denylisted:!1,identity:{namespace:{code:"ECID"},id:e}}]}),o.finalize();const i=fn();return i.addEvent(o),i})({eventManager:a,ecid:l,serializedPushSubscriptionDetails:g,appId:t}),h=(({payload:e})=>un({payload:e,getAction:()=>"interact",getUseSendBeacon:()=>!1}))({payload:f});await i.awaitConsent(),await o({request:h});await jd({ecid:l},r)&&n.setItem(Bd,p)};const Vd=({orgId:e,pushNotifications:{vapidPublicKey:t,appId:n,trackingDatasetId:r}={vapidPublicKey:void 0,appId:void 0,trackingDatasetId:void 0}})=>Boolean(e&&t&&n&&r),Hd=({eventManager:e,config:t,logger:n,consent:r,identity:o,getBrowser:i,sendEdgeNetworkRequest:a,platformServices:s})=>({lifecycle:{async onComponentsRegistered(){if(Vd(t)){const{datastreamId:e,edgeDomain:r,edgeBasePath:o,pushNotifications:{trackingDatasetId:a}}=t;await jd({datastreamId:e,edgeDomain:r,edgeBasePath:o,datasetId:a,browser:i()},n)}}},commands:{sendPushSubscription:{run:async()=>{if(!Vd(t))throw new Error("Push notifications module is not configured.");const{orgId:i,pushNotifications:{vapidPublicKey:c,appId:d}}=t,l=s.storage.createNamespacedStorage(`${X(i)}.pushNotifications.`);return Fd({config:{vapidPublicKey:c,appId:d},storage:l.persistent,logger:n,sendEdgeNetworkRequest:a,consent:r,eventManager:e,identity:o,window:window})},optionsValidator:St({}).noUnknownFields()}}});Hd.namespace="Push Notifications",Hd.configValidators=St({pushNotifications:St({vapidPublicKey:Pt().required(),appId:Pt().required(),trackingDatasetId:Pt().required()}).noUnknownFields()});var zd=Object.freeze({__proto__:null,activityCollector:ba,advertising:hs,audiences:er,brandConcierge:Wi,consent:cr,eventMerge:lr,mediaAnalyticsBridge:jr,personalization:qd,pushNotifications:Hd,rulesEngine:Ti,streamingMedia:Ni});var Jd=[["architecture","string"],["bitness","string"],["model","string"],["platformVersion","string"],["wow64","boolean"]];const Xd=new Set(["decisioning.propositionFetch","decisioning.propositionDisplay","decisioning.propositionInteract"]);const Kd=(e=>t=>{t.mergeXdm({web:{webPageDetails:{URL:e.location.href||e.location},webReferrer:{URL:e.document.referrer}}})})(window),Gd=(e=>t=>{const{screen:{width:n,height:r}}=e,o={},i=Re(r);i>=0&&(o.screenHeight=i);const a=Re(n);a>=0&&(o.screenWidth=a);const s=(e=>{const{screen:{orientation:t}}=e;if(null==t||null==t.type)return null;const n=t.type.split("-");return 0===n.length||"portrait"!==n[0]&&"landscape"!==n[0]?null:n[0]})(e)||(e=>{if(w(e.matchMedia)){if(e.matchMedia("(orientation: portrait)").matches)return"portrait";if(e.matchMedia("(orientation: landscape)").matches)return"landscape"}return null})(e);s&&(o.screenOrientation=s),Object.keys(o).length>0&&t.mergeXdm({device:o})})(window),Wd=(e=>t=>{const{document:{documentElement:{clientWidth:n,clientHeight:r}={}}}=e,o={type:"browser"},i=Re(n);i>=0&&(o.browserDetails={viewportWidth:i});const a=Re(r);a>=0&&(o.browserDetails=o.browserDetails||{},o.browserDetails.viewportHeight=a),t.mergeXdm({environment:o})})(window),Qd=(Yd=()=>new Date,e=>{const t=Yd(),n={},r=Re(t.getTimezoneOffset());void 0!==r&&(n.localTimezoneOffset=r),(void 0===r||Math.abs(r)<6e3)&&(n.localTime=(e=>{const t=e.getFullYear(),n=Te(e.getMonth()+1,2,"0"),r=Te(e.getDate(),2,"0"),o=Te(e.getHours(),2,"0"),i=Te(e.getMinutes(),2,"0"),a=Te(e.getSeconds(),2,"0"),s=Te(e.getMilliseconds(),3,"0"),c=Re(e.getTimezoneOffset(),0);return`${t}-${n}-${r}T${o}:${i}:${a}.${s}${c>0?"-":"+"}${Te(Math.floor(Math.abs(c)/60),2,"0")}:${Te(Math.abs(c)%60,2,"0")}`})(t));const o=Intl.DateTimeFormat().resolvedOptions().timeZone;o&&(n.ianaTimezone=o),e.mergeXdm({placeContext:n})});var Yd;const Zd=Ur(()=>new Date),el={web:Kd,device:Gd,environment:Wd,placeContext:Qd},tl={highEntropyUserAgentHints:(e=>(e=>"userAgentData"in e)(e)?(t,n)=>{try{return e.userAgentData.getHighEntropyValues(Jd.map(e=>e[0])).then(e=>{const n={};Jd.forEach(([t,r])=>{Object.prototype.hasOwnProperty.call(e,t)&&typeof e[t]===r&&(n[t]=e[t])}),t.mergeXdm({environment:{browserDetails:{userAgentClientHints:n}}})})}catch(e){return n.warn(`Unable to collect user-agent client hints. ${e.message}`),me}}:me)(navigator),oneTimeAnalyticsReferrer:(e=>{let t=null;return n=>{const r=n.getContent(),o=r.xdm?.eventType;if(Xd.has(o))return;const i=r.data?.__adobe?.analytics?.referrer,a=void 0!==i?i:e.document.referrer;a!==t?(n.mergeData({__adobe:{analytics:{referrer:a}}}),t=a):n.mergeData({__adobe:{analytics:{referrer:""}}})}})(window)},nl={...el,...tl},rl=[Zd,e=>{e.mergeXdm({implementationDetails:{name:"https://ns.adobe.com/experience/alloy",version:Jn,environment:"browser"}})}],ol=({config:e,logger:t})=>((e,t,n,r)=>{const o=e.context.flatMap((e,r)=>n[e]?[n[e]]:(t.warn(`Invalid context[${r}]: '${e}' is not available.`),[])).concat(r);return{namespace:"Context",lifecycle:{onBeforeEvent:({event:e})=>Promise.all(o.map(n=>Promise.resolve(n(e,t))))}}})(e,t,nl,rl);ol.namespace="Context",ol.configValidators=St({context:wt(Pt()).default(Object.keys(el))});var il=Object.freeze({__proto__:null,context:ol});const al=({logger:e})=>{const{fetch:t,navigator:n}=window,r=(({fetch:e,logger:t})=>{const n=(t,n,r,o)=>e(t,{method:"POST",cache:"no-cache",credentials:"include",headers:{"Content-Type":"text/plain; charset=UTF-8",...r},referrerPolicy:"no-referrer-when-downgrade",body:n,...o?{keepalive:!0}:{}});return(e,r,o,{keepalive:i=!1}={})=>{let a=n(e,r,o,i);return i&&(a=a.catch(()=>(t.info("Unable to send the request with `keepalive`; falling back to a regular `fetch`."),n(e,r,o,!1)))),a.then(e=>e.text().then(t=>({statusCode:e.status,getHeader:t=>e.headers.get(t),body:t})))}})({fetch:t,logger:e}),o="function"==typeof n.sendBeacon?(({sendBeacon:e,sendFetchRequest:t,logger:n})=>(r,o)=>{const i=new Blob([o],{type:"text/plain; charset=UTF-8"});return e(r,i)?Promise.resolve({statusCode:204,getHeader:()=>null,body:"",sentWithBeacon:!0}):(n.info("Unable to use `sendBeacon`; falling back to `fetch`."),t(r,o))})({sendBeacon:n.sendBeacon.bind(n),sendFetchRequest:r,logger:e}):r;return{sendFetchRequest:r,sendBeaconRequest:o}},sl=(e,t)=>({getItem(n){try{return Promise.resolve(window[e].getItem(t+n))}catch{return Promise.resolve(null)}},setItem(n,r){try{return window[e].setItem(t+n,r),Promise.resolve(!0)}catch{return Promise.resolve(!1)}},removeItem(n){try{return window[e].removeItem(t+n),Promise.resolve(!0)}catch{return Promise.resolve(!1)}},clear(){try{return Object.keys(window[e]).forEach(n=>{n.startsWith(t)&&window[e].removeItem(n)}),Promise.resolve(!0)}catch{return Promise.resolve(!1)}}});
14
14
  /*! js-cookie v3.0.7 | MIT */
15
- function sl(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)"__proto__"!==r&&(e[r]=n[r])}return e}var cl=function e(t,n){function r(e,r,o){if("undefined"!=typeof document){"number"==typeof(o=sl({},n,o)).expires&&(o.expires=new Date(Date.now()+864e5*o.expires)),o.expires&&(o.expires=o.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var a in o)o[a]&&(i+="; "+a,!0!==o[a]&&(i+="="+o[a].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+i}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],r={},o=0;o<n.length;o++){var i=n[o].split("="),a=i.slice(1).join("=");try{var s=decodeURIComponent(i[0]);if(s in r||(r[s]=t.read(a,s)),e===s)break}catch{}}return e?r[e]:r}},remove:function(e,t){r(e,"",sl({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,sl({},this.attributes,t))},withConverter:function(t){return e(sl({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});const dl=(e=cl)=>({get:t=>e.get(t),getAll:()=>e.get(),set:(t,n,r)=>e.set(t,n,r),remove:(t,n)=>{e.remove(t,n)},withConverter:t=>dl(e.withConverter(t))}),ll=({logger:e})=>new Promise((n,r)=>{if(t(window.adobe)&&t(window.adobe.optIn)){const t=window.adobe.optIn;e.info("Delaying request while waiting for legacy opt-in to let Visitor retrieve ECID from server."),t.fetchPermissions(()=>{t.isApproved([t.Categories.ECID])?(e.info("Received legacy opt-in approval to let Visitor retrieve ECID from server."),n()):r(new Error("Legacy opt-in was declined."))},!0)}else n()}),ul=async({orgId:e,logger:t})=>{const n=(()=>{const{Visitor:e}=window;return w(e)&&w(e.getInstance)&&e})();if(n)try{return await ll({logger:t}),t.info("Delaying request while using Visitor to retrieve ECID from server."),await new Promise(r=>{n.getInstance(e,{}).getMarketingCloudVisitorID(e=>{t.info("Resuming previously delayed request that was waiting for ECID from Visitor."),r(e)},!0)})}catch(e){return void(e?t.info(`${e.message}, retrieving ECID from experience edge`):t.info("An error occurred while obtaining the ECID from Visitor."))}},gl=()=>({createNetworkService:e=>il({logger:e}),storage:{createNamespacedStorage(e){const t=V+e;return{session:al("sessionStorage",t),persistent:al("localStorage",t)}}},cookie:dl(),runtime:{setTimeout:window.setTimeout.bind(window),clearTimeout:window.clearTimeout.bind(window),atob:window.atob.bind(window),btoa:window.btoa.bind(window),TextEncoder:window.TextEncoder,TextDecoder:window.TextDecoder,now:()=>Date.now()},legacy:{getEcidFromVisitor:ul,awaitVisitorOptIn:ll},globals:{getInstanceNames:()=>window.__alloyNS||[],getInstanceQueue:e=>{const t=window[e];return t&&t.q||[]},getMonitors:()=>window.__alloyMonitors||[],getLocationSearch:()=>window.location.search,getLocationHash:()=>window.location.hash,getUserAgent:()=>window.navigator.userAgent,getHostname:()=>window.location.hostname,getPageLocation:()=>window.location,isPageSsl:()=>"https:"===window.location.protocol,fireReferrerHideableImage:j(),getWindowContext:()=>({title:document.title,url:window.location.href,referrer:document.referrer,height:window.innerHeight,width:window.innerWidth,scrollY:window.scrollY,scrollX:window.scrollX})}}),pl=({components:e=[],monitors:t=[],...n}={})=>((e={},t,n,r)=>{const o=St({name:Pt().default("alloy"),monitors:wt(St({})).default([]),components:wt(bt())}).noUnknownFields(),{name:i,monitors:a,components:s}=o(e);return Kn({instanceName:i,monitors:a,components:s,createPlatformServices:t,coreConfigValidators:n,getImsAccessToken:r})})({...n,monitors:t,components:[...Object.values(ol),...e]},gl);(({components:e})=>{const t=window.__alloyNS;if(t)for(const n of t){const t=pl({name:n,components:e}),r=e=>{const[n,r,[o,i]]=e;return t(o,i).then(n,r)},o=window[n].q;o.push=r,o.forEach(r)}})({components:Object.values(Hd)})}();
15
+ function cl(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)"__proto__"!==r&&(e[r]=n[r])}return e}var dl=function e(t,n){function r(e,r,o){if("undefined"!=typeof document){"number"==typeof(o=cl({},n,o)).expires&&(o.expires=new Date(Date.now()+864e5*o.expires)),o.expires&&(o.expires=o.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var a in o)o[a]&&(i+="; "+a,!0!==o[a]&&(i+="="+o[a].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+i}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],r={},o=0;o<n.length;o++){var i=n[o].split("="),a=i.slice(1).join("=");try{var s=decodeURIComponent(i[0]);if(s in r||(r[s]=t.read(a,s)),e===s)break}catch{}}return e?r[e]:r}},remove:function(e,t){r(e,"",cl({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,cl({},this.attributes,t))},withConverter:function(t){return e(cl({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});const ll=(e=dl)=>({get:t=>e.get(t),getAll:()=>e.get(),set:(t,n,r)=>e.set(t,n,r),remove:(t,n)=>{e.remove(t,n)},withConverter:t=>ll(e.withConverter(t))}),ul=({logger:e})=>new Promise((n,r)=>{if(t(window.adobe)&&t(window.adobe.optIn)){const t=window.adobe.optIn;e.info("Delaying request while waiting for legacy opt-in to let Visitor retrieve ECID from server."),t.fetchPermissions(()=>{t.isApproved([t.Categories.ECID])?(e.info("Received legacy opt-in approval to let Visitor retrieve ECID from server."),n()):r(new Error("Legacy opt-in was declined."))},!0)}else n()}),gl=async({orgId:e,logger:t})=>{const n=(()=>{const{Visitor:e}=window;return w(e)&&w(e.getInstance)&&e})();if(n)try{return await ul({logger:t}),t.info("Delaying request while using Visitor to retrieve ECID from server."),await new Promise(r=>{n.getInstance(e,{}).getMarketingCloudVisitorID(e=>{t.info("Resuming previously delayed request that was waiting for ECID from Visitor."),r(e)},!0)})}catch(e){return void(e?t.info(`${e.message}, retrieving ECID from experience edge`):t.info("An error occurred while obtaining the ECID from Visitor."))}},pl=()=>({createNetworkService:e=>al({logger:e}),storage:{createNamespacedStorage(e){const t=V+e;return{session:sl("sessionStorage",t),persistent:sl("localStorage",t)}}},cookie:ll(),runtime:{setTimeout:window.setTimeout.bind(window),clearTimeout:window.clearTimeout.bind(window),atob:window.atob.bind(window),btoa:window.btoa.bind(window),TextEncoder:window.TextEncoder,TextDecoder:window.TextDecoder,now:()=>Date.now()},legacy:{getEcidFromVisitor:gl,awaitVisitorOptIn:ul},globals:{getInstanceNames:()=>window.__alloyNS||[],getInstanceQueue:e=>{const t=window[e];return t&&t.q||[]},getMonitors:()=>window.__alloyMonitors||[],getLocationSearch:()=>window.location.search,getLocationHash:()=>window.location.hash,getUserAgent:()=>window.navigator.userAgent,getHostname:()=>window.location.hostname,getPageLocation:()=>window.location,isPageSsl:()=>"https:"===window.location.protocol,fireReferrerHideableImage:U(),getWindowContext:()=>({title:document.title,url:window.location.href,referrer:document.referrer,height:window.innerHeight,width:window.innerWidth,scrollY:window.scrollY,scrollX:window.scrollX})}}),ml=({components:e=[],monitors:t=[],...n}={})=>((e={},t,n,r)=>{const o=St({name:Pt().default("alloy"),monitors:wt(St({})).default([]),components:wt(bt())}).noUnknownFields(),{name:i,monitors:a,components:s}=o(e);return Qn({instanceName:i,monitors:a,components:s,createPlatformServices:t,coreConfigValidators:n,getImsAccessToken:r})})({...n,monitors:t,components:[...Object.values(il),...e]},pl);(({components:e})=>{const t=window.__alloyNS;if(t)for(const n of t){const t=ml({name:n,components:e}),r=e=>{const[n,r,[o,i]]=e;return t(o,i).then(n,r)},o=window[n].q;o.push=r,o.forEach(r)}})({components:Object.values(zd)})}();