1import n from"./Q_y7I8tW.js";import{A as d}from"./C_VzGqEg.js";const a=s=>new Promise(function(e,t){let o=!1,i=document.querySelector('script[src="'+s+'"]');if(!i)i=document.createElement("script"),i.type="text/javascript",i.async=!0,i.src=s,o=!0;else if(i.hasAttribute("data-loaded")){e(i);return}i.addEventListener("error",t),i.addEventListener("abort",t),i.addEventListener("load",()=>{i.setAttribute("data-loaded",!0),e(i)}),o&&document.head.appendChild(i)}),u={jQueryUrl:"https://code.jquery.com/jquery-3.6.0.min.js",jsonConfig:{mode:"javascript",avtype:"agechecked"},validVerificationStatuses:[6,7,12]};class f{constructor(e={}){const{ageCheckedUrl:t,jQueryUrl:o,jsonConfig:i,validVerificationStatuses:r,localisation:c}={...u,ageCheckedUrl:d().public.AGECHECKED_API,...e};this.ageCheckedUrl=t,this.jQueryUrl=o,this.jsonConfig=i,this.validVerificationStatuses=r,this.localisation=c,this.cookieName="ageChecked"}isCountryCodeInConfig(e){return e?(n.ageCheckedRegions||[]).some(o=>o.country===e):!1}isVerificationRequired(){const e=this.localisation?.countryCode||this.localisation?.country,t=this.localisation?.region||this.localisation?.state;return!e||!this.isCountryCodeInConfig(e)?!1:(n.ageCheckedRegions||[]).some(i=>{const r=i.country===e;return i.region===null?r:r&&i.region===t})}isAgeVerified(){if(!document.cookie)return!1;const e=document.cookie.match(new RegExp(`(?:^|;\\s*)${this.cookieName}\\s*=\\s*([^;]*)`));return(e?e[1]:null)==="true"}isVerificationApproved(e){return Agechecked.API.modalclose(),this.validVerificationStatuses.includes(e.status)}showVerificationWindow(){return Agechecked.API.createagecheckjson(this.jsonConfig).done(e=>Agechecked.API.modalopen(e.agecheckurl)),new Promise((e,t)=>{Agechecked.API.registerreturn(o=>this.finaliseVerification(o,e,t))})}finaliseVerification(e,t,o){const i=JSON.parse(e.data);if(Agechecked.API.modalclose(),this.isVerificationApproved(i)){let r=new Date(Date.now()+864e5);r=r.toUTCString(),document.cookie=`${this.cookieName}=true; expires=${r}; path=/`,t(!0)}else o("Age not confirmed")}async loadAssets(){if(this.ageCheckedUrl)try{window.jQuery||await a(this.jQueryUrl),await a(this.ageCheckedUrl)}catch(e){console.error(e)}}async verify(){if(!this.ageCheckedUrl)return;const e=this.localisation?.countryCode||this.localisation?.country;if(this.isCountryCodeInConfig(e)&&this.isVerificationRequired()&&!this.isAgeVerified())return await this.loadAssets(),this.showVerificationWindow()}}export{f as A};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.