1(function(window,document){"use strict";const SELECTOR='[data-hero-video]';const ROOT_MARGIN='200px';let HeroVideo={init:function(){if(this.prefersReducedMotion())return;let self=this;document.querySelectorAll(SELECTOR).forEach(function(wrapper){self.observe(wrapper)})},prefersReducedMotion:function(){return typeof window.matchMedia==='function'&&window.matchMedia('(prefers-reduced-motion: reduce)').matches},observe:function(wrapper){let self=this;if(!('IntersectionObserver' in window)){self.load(wrapper);return} 2const observer=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(!entry.isIntersecting)return;observer.unobserve(entry.target);self.load(entry.target)})},{rootMargin:ROOT_MARGIN});observer.observe(wrapper)},load:function(wrapper){const container=wrapper.querySelector('.video-container');if(!container||!wrapper.dataset.heroVideo||wrapper.dataset.heroVideoLoaded)return;wrapper.dataset.heroVideoLoaded='true';const iframe=document.createElement('iframe');iframe.src=wrapper.dataset.heroVideo;iframe.title=wrapper.dataset.heroVideoTitle||'';iframe.setAttribute('aria-hidden','true');iframe.setAttribute('tabindex','-1');iframe.setAttribute('frameborder','0');iframe.setAttribute('allow','autoplay; fullscreen; picture-in-picture');iframe.setAttribute('allowfullscreen','');iframe.addEventListener('load',function(){wrapper.classList.add('is-loaded')});container.appendChild(iframe)}};
2if(document.readyState==='complete'){HeroVideo.init()}else{window.addEventListener('load',function(){HeroVideo.init()})}})(window,document)
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.