1document.addEventListener('DOMContentLoaded',function(){var wrapper=document.getElementById('cookie-consent-wrapper');var toggleEls=document.querySelectorAll('.cookie-switch');var categories=['analytics','marketing','functional','performance'];var savedConsent={};try{savedConsent=JSON.parse(localStorage.getItem('duckiee_cookie_consent')||'{}')||{}}catch(e){savedConsent={}} 2function loadDeferredScripts(category){var scripts=document.querySelectorAll('script[type="text/plain"][data-cookiecategory="'+category+'"]:not([data-cookie-loaded="true"])');scripts.forEach(function(el){var s=document.createElement('script');if(el.dataset.src){s.src=el.dataset.src;s.async=!0}else{s.text=el.textContent} 3if(el.id)s.id=el.id;s.setAttribute('data-cookie-loaded','true');el.setAttribute('data-cookie-loaded','true');el.parentNode.replaceChild(s,el)})} 4function applySavedState(){toggleEls.forEach(function(el){var category=el.dataset.category;var input=document.getElementById('cookie-switch-'+category+'-input');var isLocked=el.classList.contains('locked');var isChecked=isLocked?!0:(!savedConsent._submitted||!!savedConsent[category]);el.classList.toggle('checked',isChecked);el.setAttribute('aria-checked',isChecked?'true':'false');if(input)input.checked=isChecked})} 5function saveConsent(prefs){var data={analytics:!!prefs.analytics,marketing:!!prefs.marketing,functional:!0,performance:!!prefs.performance,_submitted:!0};localStorage.setItem('duckiee_cookie_consent',JSON.stringify(data));savedConsent=data;categories.forEach(function(cat){if(savedConsent[cat])loadDeferredScripts(cat)});applySavedState();if(wrapper)wrapper.style.display='none'} 6function toggleSwitch(el){if(el.classList.contains('locked'))return;var category=el.dataset.category;
6var input=document.getElementById('cookie-switch-'+category+'-input');var isChecked=!el.classList.contains('checked');el.classList.toggle('checked',isChecked);el.setAttribute('aria-checked',isChecked?'true':'false');if(input)input.checked=isChecked} 7if(savedConsent._submitted){categories.forEach(function(cat){if(savedConsent[cat])loadDeferredScripts(cat)})} 8toggleEls.forEach(function(el){el.addEventListener('click',function(){toggleSwitch(el)});el.addEventListener('keydown',function(e){if(e.key===' '||e.key==='Enter'){e.preventDefault();toggleSwitch(el)}})});applySavedState();if(wrapper){wrapper.style.display=savedConsent._submitted?'none':'block'} 9var openBtn=document.getElementById('open-cookie-settings');var allowAll=document.getElementById('cookie-allow-all');var declineAll=document.getElementById('cookie-decline-all');var customize=document.getElementById('cookie-customize');var backBtn=document.getElementById('cookie-back');var saveBtn=document.getElementById('cookie-save');var initialPanel=document.getElementById('cookie-initial-panel');var prefsPanel=document.getElementById('cookie-preferences-panel');if(openBtn&&wrapper){openBtn.addEventListener('click',function(e){e.preventDefault();wrapper.style.display='block';if(initialPanel)initialPanel.style.display='block';if(prefsPanel)prefsPanel.style.display='none'})} 10if(allowAll){allowAll.addEventListener('click',function(){saveConsent({analytics:!0,marketing:!0,performance:!0})})} 11if(declineAll){declineAll.addEventListener('click',function(){saveConsent({analytics:!1,marketing:!1,performance:!1})})} 12if(customize){customize.addEventListener('click',function(){if(initialPanel)initialPanel.style.display='none';if(prefsPanel)prefsPanel.style.display='block'})} 13if(backBtn){backBtn.addEventListener('click',function(){if(initialPanel)initialPanel.style.display='block';if(prefsPanel)prefsPanel.style.display='none'})} 14if(saveBtn){saveBtn.addEventListener('click',function(){var prefs={};toggleEls.forEach(function(el){prefs[el.dataset.category]=el.classList.contains('checked')});saveConsent(prefs)})} 15window.duckieeCookie={saveConsent:saveConsent,loadDeferredScripts:loadDeferredScripts}})
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.