1document.addEventListener("alpine:init",()=>{Alpine.data("nsGeoPopup",()=>({open:!1,detectedCountry:"",country:"",language:"en",announcement:"",init(){document.addEventListener("ns-geo:recommendation",e=>this.show(e.detail))},show(e){this.detectedCountry=e.detectedCountry,this.language=e.defaultLanguage||"en";const t=Array.from(this.$refs.panel.querySelectorAll('[name="country_code"] option')).map(n=>n.value);this.country=t.includes(e.detectedCountry)?e.detectedCountry:t[0]||"",this.open=!0,this.$nextTick(()=>{this.announcement=this.$refs.title?.textContent.trim()||""}),window.nsGeo?.trackGeoEvent("geo_popup_shown",{detected_country:e.detectedCountry,current_market:e.currentMarket,confidence:e.confidence,template:e.template})},accept(){window.nsGeo?.recordDecision("accepted",{country:this.country,language:this.language}),window.nsGeo?.trackGeoEvent("geo_popup_accepted",{detected_country:this.detectedCountry,target_country:this.country,target_language:this.language}),this.submit()},dismiss(e){window.nsGeo?.recordDecision("dismissed"),window.nsGeo?.trackGeoEvent("geo_popup_dismissed",{detected_country:this.detectedCountry,dismiss_method:e}),this.open=!1,this.announcement=""},submit(){const e=this.$refs.panel.querySelector("form");e&&(e.querySelector('[name="country_code"]').value=this.country,e.querySelector('[name="locale_code"]').value=this.language,e.submit())}}))});
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.