editor
Logout
Account
Preferences
Did you know...
Streams heard since April 2006:
13,870,625
view source - https://krdo.com/radio/
*** Test System ***
GO TO PRODUCTION
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"><script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"NRJS-f190a1aa51390321b51",applicationID:"818884498"};;/*! For license information please see nr-loader-rum-1.293.0.min.js.LICENSE.txt */ (()=>{var e,t,r={122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),a=0===Object.keys(r).length?e:r;for(let o in a)if(void 0!==e[o])try{if(null===e[o]){r[o]=null;continue}Array.isArray(e[o])&&Array.isArray(t[o])?r[o]=Array.from(new Set([...e[o],...t[o]])):"object"==typeof e[o]&&"object"==typeof t[o]?r[o]=i(e[o],t[o]):r[o]=e[o]}catch(e){r[o]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},555:(e,t,r)=>{"use strict";r.d(t,{D:()=>s,f:()=>o});var n=r(384),i=r(122);const a={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function o(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}const s=e=>(0,i.a)(e,a)},324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>a,xv:()=>n});const n="1.293.0",i="PROD",a="CDN"},154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>d,bv:()=>a,gm:()=>o,mw:()=>s,sb:()=>u});var n=r(863);const i="undefined"!=typeof window&&!!window.document,a="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===o?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=((()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},241:(e,t,r)=>{"use strict";r.d(t,{W:()=>a});var n=r(154);const i="newrelic";function a(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>u,Ze:()=>f,x3:()=>d});var n=r(241),i=r(836),a=r(606),o=r(860),s=r(646);const c={};function u(e,t){const r={staged:!1,priority:o.P3[t]||0};l(e),c[e].get(t)||c[e].set(t,r)}function d(e,t){e&&c[e]&&(c[e].get(t)&&c[e].delete(t),p(e,t,!1),c[e].size&&g(e))}function l(e){if(!e)throw new Error("agentIdentifier required");c[e]||(c[e]=new Map)}function f(e="",t="feature",r=!1){if(l(e),!e||!c[e].get(t)||r)return p(e,t);c[e].get(t).staged=!0,g(e)}function g(e){const t=Array.from(c[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{c[e].delete(t),p(e,t)})))}function p(e,t,r=!0){const o=e?i.ee.get(e):i.ee,c=a.i.handlers;if(!o.aborted&&o.backlog&&c){if((0,n.W)({agentIdentifier:e,type:"lifecycle",name:"drain",feature:t}),r){const e=o.backlog[t],r=c[t];if(r){for(let t=0;e&&t<e.length;++t)m(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof s.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete c[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function m(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],a=e[2];n.apply(i,a)}}))}},836:(e,t,r)=>{"use strict";r.d(t,{P:()=>s,ee:()=>c});var n=r(384),i=r(990),a=r(646),o=r(607);const s="nr@context:".concat(o.W),c=function e(t,r){var n={},o={},d={},l=!1;try{l=16===r.length&&u.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,a){!1!==a&&(a=!0);if(c.aborted&&!i)return;t&&a&&t.emit(e,r,n);for(var s=g(n),u=m(e),d=u.length,l=0;l<d;l++)u[l].apply(s,r);var p=v()[o[e]];p&&p.push([f,e,r,s]);return s},get:h,listeners:m,context:g,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{o[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[o[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,s,(()=>new a.y(s))):new a.y(s)}function p(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function h(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.Zm)();u.ee||(u.ee=c)},646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(836).ee.get("handle");function i(e,t,r,i,a){a?(a.buffer([e],i),a.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},606:(e,t,r)=>{"use strict";r.d(t,{i:()=>a});var n=r(908);a.on=o;var i=a.handlers={};function a(e,t,r,a){o(a||n.d,i,e,t,r)}function o(e,t,r,i,a){a||(a="feature"),e||(e=n.d);var o=t[a]=t[a]||{};(o[r]=o[r]||[]).push([e,i])}},878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function a(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>a,jT:()=>n,sp:()=>i})},607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(566).bz)()},566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>o});var n=r(154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function a(e,t){return e?15&e[t]:16*Math.random()|0}function o(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?a(t,r++).toString(16):"y"===e?(3&a()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const o=[];for(var s=0;s<e;s++)o.push(a(r,i++).toString(16));return o.join("")}},614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>o,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>a});const n="NRBA",i="SESSION",a=144e5,o=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944:(e,t,r)=>{"use strict";r.d(t,{R:()=>i});var n=r(241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({agentIdentifier:null,drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},701:(e,t,r)=>{"use strict";r.d(t,{B:()=>a,t:()=>o});var n=r(241);const i=new Set,a={};function o(e,t){const r=t.agentIdentifier;a[r]??={},e&&"object"==typeof e&&(i.has(r)||(t.ee.emit("rumresp",[e]),a[r]=e,i.add(r),(0,n.W)({agentIdentifier:r,loaded:!0,drained:!0,type:"lifecycle",name:"load",feature:void 0,data:e})))}},990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>a,Qr:()=>s,sB:()=>o});var n=r(878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(i())return e();(0,n.sp)("load",e,t)}function o(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}function s(e){if(i())return e();(0,n.sp)("popstate",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>a,US:()=>u,Zm:()=>o,bQ:()=>c,dV:()=>s,pV:()=>d});var n=r(154),i=r(863);const a={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function o(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=o();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=o();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e,t){o()[e]=t}function d(){return function(){let e=o();const t=e.info||{};e.info={beacon:a.beacon,errorBeacon:a.errorBeacon,...t}}(),function(){let e=o();const t=e.init||{};e.init={...t}}(),s(),function(){let e=o();const t=e.loader_config||{};e.loader_config={...t}}(),o()}},843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},773:(e,t,r)=>{"use strict";r.d(t,{z_:()=>a,XG:()=>s,TZ:()=>n,rs:()=>i,xV:()=>o});r(154),r(566),r(384);const n=r(860).K7.metrics,i="sm",a="cm",o="storeSupportabilityMetrics",s="storeEventMetrics"},630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},234:(e,t,r)=>{"use strict";r.d(t,{W:()=>a});var n=r(836),i=r(687);class a{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},741:(e,t,r)=>{"use strict";r.d(t,{W:()=>a});var n=r(944),i=r(261);class a{#e(e,...t){if(this[e]!==a.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e){return this.#e(i.Dl,e)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e(i.$9,e,t)}start(){return this.#e(i.d3)}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(){return this.#e(i.dT)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}}},261:(e,t,r)=>{"use strict";r.d(t,{$9:()=>u,BL:()=>s,CH:()=>g,Dl:()=>_,Fw:()=>y,PA:()=>h,Pl:()=>n,Tb:()=>l,U2:()=>a,V1:()=>k,Wb:()=>x,bt:()=>b,cD:()=>v,d3:()=>w,dT:()=>c,eY:()=>p,fF:()=>f,hG:()=>i,k6:()=>o,nb:()=>m,o5:()=>d});const n="api-",i="addPageAction",a="addToTrace",o="addRelease",s="finished",c="interaction",u="log",d="noticeError",l="pauseReplay",f="recordCustomEvent",g="recordReplay",p="register",m="setApplicationVersion",h="setCurrentRouteName",v="setCustomAttribute",b="setErrorHandler",y="setPageViewName",_="setUserId",w="start",x="wrapLogger",k="measure"},163:(e,t,r)=>{"use strict";r.d(t,{j:()=>E});var n=r(384),i=r(741);var a=r(555);r(860).K7.genericEvents;const o="experimental.marks",s="experimental.measures",c="experimental.resources",u=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var d=r(614),l=r(944),f=r(122);const g="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},api:{allow_registered_children:!0,duplicate_registered_data:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(o)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(s)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(c)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:d.wk,inactiveMs:d.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){u(t)?e.mask_selector="".concat(t,",").concat(g):""===t||null===t?e.mask_selector=g:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){u(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}})());var m=r(154),h=r(324);let v=0;const b={buildEnv:h.F3,distMethod:h.Xs,version:h.xv,originTime:m.WN},y={appMetadata:{},customTransaction:void 0,denyList:void 0,disabled:!1,entityManager:void 0,harvester:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,get harvestCount(){return++v}},_=e=>{const t=(0,f.a)(e,y),r=Object.keys(b).reduce(((e,t)=>(e[t]={value:b[t],writable:!1,configurable:!0,enumerable:!0},e)),{});return Object.defineProperties(t,r)};var w=r(701);const x=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};var k=r(836),A=r(241);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},T=e=>(0,f.a)(e,S),R=new Set;function E(e,t={},r,o){let{init:s,info:c,loader_config:u,runtime:d={},exposed:l=!0}=t;if(!c){const e=(0,n.pV)();s=e.init,c=e.info,u=e.loader_config}e.init=p(s||{}),e.loader_config=T(u||{}),c.jsAttributes??={},m.bv&&(c.jsAttributes.isWorker=!0),e.info=(0,a.D)(c);const f=e.init,g=[c.beacon,c.errorBeacon];R.has(e.agentIdentifier)||(f.proxy.assets&&(x(f.proxy.assets),g.push(f.proxy.assets)),f.proxy.beacon&&g.push(f.proxy.beacon),function(e){const t=(0,n.pV)();Object.getOwnPropertyNames(i.W.prototype).forEach((r=>{const n=i.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let a=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return a?a(...t):n})}))}(e),(0,n.US)("activatedFeatures",w.B),e.runSoftNavOverSpa&&=!0===f.soft_navigations.enabled&&f.feature_flags.includes("soft_nav")),d.denyList=[...f.ajax.deny_list||[],...f.ajax.block_internal?g:[]],d.ptid=e.agentIdentifier,d.loaderType=r,e.runtime=_(d),R.has(e.agentIdentifier)||(e.ee=k.ee.get(e.agentIdentifier),e.exposed=l,(0,A.W)({agentIdentifier:e.agentIdentifier,drained:!!w.B?.[e.agentIdentifier],type:"lifecycle",name:"initialize",feature:void 0,data:e.config})),R.add(e.agentIdentifier)}},374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>d,K7:()=>c,P3:()=>u,XX:()=>i,Yy:()=>s,df:()=>a,qY:()=>n,v4:()=>o});const n="events",i="jserrors",a="browser/blobs",o="rum",s="browser/logs",c={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},u={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.spa]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.softNav]:8,[c.sessionReplay]:9,[c.logging]:10,[c.genericEvents]:11},d={[c.pageViewEvent]:o,[c.pageViewTiming]:n,[c.ajax]:n,[c.spa]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:a,[c.sessionReplay]:a,[c.logging]:s,[c.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var a=n[e]={exports:{}};return r[e](a,a.exports,i),a.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"nr-rum-1.293.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.293.0.PROD:",i.l=(r,n,a,o)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==a)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+a){s=l;break}}if(!s){c=!0;var f={296:"sha512-M1viQxU/Sd10c/wA0iJyMGykq7mUO4/cNh2pUlWVWSRdp2RUo2Lmen9N19KuzHKjUln7vOC7HGbkzvGvRT/yQg=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+a),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[o]&&(s.integrity=f[o])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={374:0,840:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var a=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=a);var o=i.p+i.u(t),s=new Error;i.l(o,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",s.name="ChunkLoadError",s.type=a,s.request=o,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,s,c]=r,u=0;if(o.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<o.length;u++)a=o[u],i.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=self["webpackChunk:NRBA-1.293.0.PROD"]=self["webpackChunk:NRBA-1.293.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(374);var e=i(566),t=i(741);class r extends t.W{agentIdentifier=(0,e.LA)(16)}var n=i(860);const a=Object.values(n.K7);var o=i(163);var s=i(908),c=i(863),u=i(261),d=i(241),l=i(944),f=i(701),g=i(773);function p(e,t,i,a){const o=a||i;!o||o[e]&&o[e]!==r.prototype[e]||(o[e]=function(){(0,s.p)(g.xV,["API/"+e+"/called"],void 0,n.K7.metrics,i.ee),(0,d.W)({agentIdentifier:i.agentIdentifier,drained:!!f.B?.[i.agentIdentifier],type:"data",name:"api",feature:u.Pl+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,l.R)(23,e)}})}function m(e,t,r,n,i){const a=e.info;null===r?delete a.jsAttributes[t]:a.jsAttributes[t]=r,(i||null===r)&&(0,s.p)(u.Pl+n,[(0,c.t)(),t,r],void 0,"session",e.ee)}var h=i(687),v=i(234),b=i(289),y=i(154),_=i(384);const w=e=>y.RI&&!0===e?.privacy.cookies_enabled;function x(e){return!!(0,_.dV)().o.MO&&w(e)&&!0===e?.session_trace.enabled}var k=i(389);class A extends v.W{constructor(e,t){super(e.agentIdentifier,t),this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise(((t,r)=>{this.ee.on("manual-start-all",(0,k.J)((()=>{(0,h.Ak)(e.agentIdentifier,this.featureName),t()})))})):(0,h.Ak)(e.agentIdentifier,t)}importAggregator(e,t,r={}){if(this.featAggregate)return;let a;this.onAggregateImported=new Promise((e=>{a=e}));const o=async()=>{let o;await this.deferred;try{if(w(e.init)){const{setupAgentSession:t}=await i.e(296).then(i.bind(i,663));o=t(e)}}catch(e){(0,l.R)(20,e),this.ee.emit("internal-error",[e]),this.featureName===n.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o,e.init))return(0,h.Ze)(this.agentIdentifier,this.featureName),void a(!1);const{Aggregate:n}=await t();this.featAggregate=new n(e,r),e.runtime.harvester.initializedAggregates.push(this.featAggregate),a(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,h.Ze)(this.agentIdentifier,this.featureName,!0),a(!1),this.ee&&this.ee.abort()}};y.RI?(0,b.GG)((()=>o()),!0):o()}#t(e,t,r){switch(e){case n.K7.sessionReplay:return x(r)&&!!t;case n.K7.sessionTrace:return!!t;default:return!0}}}var S=i(630),T=i(614);class R extends A{static featureName=S.T;constructor(e){var t;super(e,S.T),this.setupInspectionEvents(e.agentIdentifier),t=e,p(u.Fw,(function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,s.p)(u.Pl+u.Fw,[(0,c.t)()],void 0,void 0,t.ee))}),t),this.ee.on("api-send-rum",((e,t)=>(0,s.p)("send-rum",[e,t],void 0,this.featureName,this.ee))),this.importAggregator(e,(()=>i.e(296).then(i.bind(i,108))))}setupInspectionEvents(e){const t=(t,r)=>{t&&(0,d.W)({agentIdentifier:e,timeStamp:t.timeStamp,loaded:"complete"===t.target.readyState,type:"window",name:r,data:t.target.location+""})};(0,b.sB)((e=>{t(e,"DOMContentLoaded")})),(0,b.GG)((e=>{t(e,"load")})),(0,b.Qr)((e=>{t(e,"navigate")})),this.ee.on(T.tS.UPDATE,((t,r)=>{(0,d.W)({agentIdentifier:e,type:"lifecycle",name:"session",data:r})}))}}var E=i(843),N=i(878),j=i(782);class I extends A{static featureName=j.T;constructor(e){super(e,j.T),y.RI&&((0,E.u)((()=>(0,s.p)("docHidden",[(0,c.t)()],void 0,j.T,this.ee)),!0),(0,N.sp)("pagehide",(()=>(0,s.p)("winPagehide",[(0,c.t)()],void 0,j.T,this.ee))),this.importAggregator(e,(()=>i.e(296).then(i.bind(i,350)))))}}class O extends A{static featureName=g.TZ;constructor(e){super(e,g.TZ),y.RI&&document.addEventListener("securitypolicyviolation",(e=>{(0,s.p)(g.xV,["Generic/CSPViolation/Detected"],void 0,this.featureName,this.ee)})),this.importAggregator(e,(()=>i.e(296).then(i.bind(i,373))))}}new class extends r{constructor(e){var t;(super(),y.gm)?(this.features={},(0,_.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(R),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===n.K7.softNav)),(0,o.j)(this,e,e.loaderType||"agent"),t=this,p(u.cD,(function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return m(t,e,r,u.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)}),t),function(e){p(u.Dl,(function(t){if("string"==typeof t||null===t)return m(e,"enduser.id",t,u.Dl,!0);(0,l.R)(41,typeof t)}),e)}(this),function(e){p(u.nb,(function(t){if("string"==typeof t||null===t)return m(e,"application.version",t,u.nb,!1);(0,l.R)(42,typeof t)}),e)}(this),function(e){p(u.d3,(function(){e.ee.emit("manual-start-all")}),e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return a.forEach((r=>{t[r]=!!e[r]?.enabled})),t}(this.init),t=[...this.desiredFeatures];t.sort(((e,t)=>n.P3[e.featureName]-n.P3[t.featureName])),t.forEach((t=>{if(!e[t.featureName]&&t.featureName!==n.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&t.featureName===n.K7.spa)return;if(!this.runSoftNavOverSpa&&t.featureName===n.K7.softNav)return;const r=function(e){switch(e){case n.K7.ajax:return[n.K7.jserrors];case n.K7.sessionTrace:return[n.K7.ajax,n.K7.pageViewEvent];case n.K7.sessionReplay:return[n.K7.sessionTrace];case n.K7.pageViewTiming:return[n.K7.pageViewEvent];default:return[]}}(t.featureName).filter((e=>!(e in this.features)));r.length>0&&(0,l.R)(36,{targetFeature:t.featureName,missingDependencies:r}),this.features[t.featureName]=new t(this)}))}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,_.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}({features:[R,I,O],loaderType:"lite"})})()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="http://gmpg.org/xfn/11"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- This site is optimized with the Yoast SEO Premium plugin v23.5 (Yoast SEO v25.2) - https://yoast.com/wordpress/plugins/seo/ --> <title>Radio | KRDO</title> <link rel="canonical" href="https://krdo.com/radio/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Radio" /> <meta property="og:url" content="https://krdo.com/radio/" /> <meta property="og:site_name" content="KRDO" /> <meta property="article:publisher" content="https://www.facebook.com/KRDO13" /> <meta property="article:modified_time" content="2025-02-14T23:03:08+00:00" /> <meta property="og:image" content="https://krdo.b-cdn.net/2025/01/Untitled-design-2024-02-27T104337.412.webp" /> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="675" /> <meta property="og:image:type" content="image/webp" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@KRDO_13" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://krdo.com/radio/","url":"https://krdo.com/radio/","name":"Radio | KRDO","isPartOf":{"@id":"https://krdo.com/#website"},"datePublished":"2019-10-03T16:32:19+00:00","dateModified":"2025-02-14T23:03:08+00:00","breadcrumb":{"@id":"https://krdo.com/radio/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://krdo.com/radio/"]}]},{"@type":"BreadcrumbList","@id":"https://krdo.com/radio/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://krdo.com/"},{"@type":"ListItem","position":2,"name":"Radio"}]},{"@type":"WebSite","@id":"https://krdo.com/#website","url":"https://krdo.com/","name":"KRDO","description":"Where the News Comes First","publisher":{"@id":"https://krdo.com/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https://krdo.com/#organization","name":"KRDO13","url":"https://krdo.com/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://krdo.com/#/schema/logo/image/","url":"https://krdo.b-cdn.net/2025/01/286956725_395803112590503_6413521264411995582_n.png","contentUrl":"https://krdo.b-cdn.net/2025/01/286956725_395803112590503_6413521264411995582_n.png","width":825,"height":825,"caption":"KRDO13"},"image":{"@id":"https://krdo.com/#/schema/logo/image/"},"sameAs":["https://www.facebook.com/KRDO13","https://x.com/KRDO_13"]}]}</script> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//krdo.com' /> <link rel='dns-prefetch' href='//cdn.elementor.com' /> <link rel='dns-prefetch' href='//cdnjs.cloudflare.com' /> <link rel='dns-prefetch' href='//www.googletagservices.com' /> <link rel="alternate" type="application/rss+xml" title="KRDO » Feed" href="https://krdo.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="KRDO » Comments Feed" href="https://krdo.com/comments/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.1.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.1.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/krdo.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.8.1"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\ud83d\udd25","\ud83d\udc26\u200b\ud83d\udd25")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://krdo.com/wp-includes/css/dist/block-library/style.min.css?ver=6.8.1' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <link rel='stylesheet' id='wp-components-css' href='https://krdo.com/wp-includes/css/dist/components/style.min.css?ver=6.8.1' type='text/css' media='all' /> <link rel='stylesheet' id='wp-preferences-css' href='https://krdo.com/wp-includes/css/dist/preferences/style.min.css?ver=6.8.1' type='text/css' media='all' /> <link rel='stylesheet' id='wp-block-editor-css' href='https://krdo.com/wp-includes/css/dist/block-editor/style.min.css?ver=6.8.1' type='text/css' media='all' /> <link rel='stylesheet' id='wp-reusable-blocks-css' href='https://krdo.com/wp-includes/css/dist/reusable-blocks/style.min.css?ver=6.8.1' type='text/css' media='all' /> <link rel='stylesheet' id='wp-patterns-css' href='https://krdo.com/wp-includes/css/dist/patterns/style.min.css?ver=6.8.1' type='text/css' media='all' /> <link rel='stylesheet' id='wp-editor-css' href='https://krdo.com/wp-includes/css/dist/editor/style.min.css?ver=6.8.1' type='text/css' media='all' /> <link rel='stylesheet' id='mux_video_block_style-css' href='https://krdo.com/wp-content/plugins/ilab-media-tools-premium/public/blocks/mediacloud-mux.blocks.style.css' type='text/css' media='all' /> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='ea11y-widget-fonts-css' href='https://krdo.com/wp-content/plugins/pojo-accessibility/assets/build/fonts.css?ver=3.4.0' type='text/css' media='all' /> <link rel='stylesheet' id='ea11y-skip-link-css' href='https://krdo.com/wp-content/plugins/pojo-accessibility/assets/build/skip-link.css?ver=3.4.0' type='text/css' media='all' /> <link rel='stylesheet' id='npg-styles-css' href='https://krdo.com/wp-content/themes/storymate-npg/build/css/theme.min.css?ver=1.4.21' type='text/css' media='all' /> <link rel='stylesheet' id='ad-styles-css' href='https://krdo.com/wp-content/themes/storymate-theme/build/css/theme.min.css?ver=1.4.21' type='text/css' media='all' /> <link rel='stylesheet' id='style_login_widget-css' href='https://krdo.com/wp-content/plugins/miniorange-oauth-oidc-single-sign-on/resources/css/style_login_widget.css?ver=6.8.1' type='text/css' media='all' /> <script type="text/javascript" src="https://krdo.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" src="https://www.googletagservices.com/tag/js/gpt.js" id="gpt-js"></script> <link rel="https://api.w.org/" href="https://krdo.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://krdo.com/wp-json/wp/v2/pages/22" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://krdo.com/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.8.1" /> <link rel='shortlink' href='https://krdo.com/?p=22' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://krdo.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fkrdo.com%2Fradio%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://krdo.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fkrdo.com%2Fradio%2F&format=xml" /> <link rel="icon" href="https://krdo.b-cdn.net/2019/11/cropped-krdo-logo-32x32.png" sizes="32x32" /> <link rel="icon" href="https://krdo.b-cdn.net/2019/11/cropped-krdo-logo-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://krdo.b-cdn.net/2019/11/cropped-krdo-logo-180x180.png" /> <meta name="msapplication-TileImage" content="https://krdo.b-cdn.net/2019/11/cropped-krdo-logo-270x270.png" /> <style type="text/css" id="wp-custom-css"> body { font-family: Verdana !important; } h1 { font-size: 24px; font-weight: bold; margin: 10px 0px 20px 0px; } article > a:nth-child(2){ display:none } #related_posts, #related-posts{ min-height:20px; margin:10px 0px; } article > a:nth-child(2) { display:none; } .code-block { background-color:#ffffff; } @media (min-width: 1200px) { .container { max-width: 1260px; } } .code-block-1 { padding: 18px; margin: 0px !important; z-index: 1; position: relative; } #x-reveal-ad .row { flex-wrap:inherit; } .header .menu-search { display: block !important; } .footer.panel-group { margin: 0px auto; padding: 10px 0px 0px 0px !important; background-color: #ebebeb; max-width: none !important; } .video-responsive { height: 100%; } iframe#x-reveal-yt-frame { height: 100%; width:100% } .reveal-col { max-width: none !important; } @media screen and (max-width: 480px) { #pojo-a11y-toolbar { position: absolute; } } figcaption { font-size: 16px; font-style: italic; } @media (min-width: 992px) { .related-posts .col-lg-6 { flex: 0 0 25% !important; max-width: 25% !important; } } .related-posts .story__title a { font-size: 16px; font-weight: bold; } figcaption.photo-credit { font-style: normal; } #variant-0 #story-columns-2 { min-height:670px; } .story__title { hyphens: none !important; } .sidebar__story .story--md .hdg { font-size: 1rem; } .mediaitem--image { padding-bottom:16px; } .twitter-tweet-rendered { margin: 0px auto; } .wp-block-image { text-align:center; } .wp-block-embed__wrapper { text-align: center; } .instagram-media-rendered { margin: 0px auto !important; } div.entry__content > iframe { margin: 0px auto; display: block; } figcaption { font-size: 14px; font-style: normal; font-weight: bold; } @media (max-width: 991.98px) { img.navbar__logo { width: 90%; height: auto; } .navbar .navbar__menu-wrapper .navbar__menu li a { font-size: 14px; text-transform: capitalize; } .navbar__menu-wrapper { position: absolute; width: 100%; margin: 0 auto; visibility: hidden; opacity: 100; } .navbar__menu>li { border-top: 0px; } } figcaption.blocks-gallery-caption { text-align: center; width: 100%; } ul.blocks-gallery-grid { margin: 20px 0px 0px 0px; } .navbar { position: relative; padding: 0px !important; } button.hamburger::after { content: "MENU"; font-size:9px; font-weight:bold; position:relative; top:16px; left:-25px; width:30px; } .navbar__toggle[data-toggle='off-canvas-menu'] { margin-right: -16px; } img.gs-image { max-width: 120px !important; } .gs-bidi-start-align.gs-snippet { font-size: 14px; font-family: Verdana; font-weight: 400; } .gs-web-image-box, .gs-promotion-image-box { width: 129px !important; } .gsc-control-cse .gs-spelling, .gsc-control-cse .gs-result .gs-title, .gsc-control-cse .gs-result .gs-title * { font-size: 18px !important; font-family: Verdana; } .gsc-control-cse .gsc-option-menu-container { min-width: 120px; } .gsc-above-wrapper-area-container { width: 95% !important; } .gs-bidi-start-align.gs-visibleUrl.gs-visibleUrl-breadcrumb { font-family: Verdana; padding:6px 0px; } .gsc-webResult.gsc-result { margin: 0; padding: 10px 0; border: 1px solid #fff; border-bottom: 1px solid #e4e4e4 !important; } .navbar--with-current-conditions .navbar__wrapper .current-conditions--header { flex: auto !important; } .story-columns .story:nth-child(even):first-child { display: none !important; } </style> <style> .ai-viewports {--ai: 1;} .ai-viewport-3 { display: none !important;} .ai-viewport-2 { display: none !important;} .ai-viewport-1 { display: inherit !important;} .ai-viewport-0 { display: none !important;} @media (min-width: 768px) and (max-width: 979px) { .ai-viewport-1 { display: none !important;} .ai-viewport-2 { display: inherit !important;} } @media (max-width: 767px) { .ai-viewport-1 { display: none !important;} .ai-viewport-3 { display: inherit !important;} } </style> <link rel="stylesheet" type="text/css" href="https://htlbid.com/v3/krdo.com/htlbid.css" /> <script async src="https://htlbid.com/v3/krdo.com/htlbid.js" ></script> <script> window.htlbid = window.htlbid || {}; htlbid.cmd = htlbid.cmd || []; htlbid.cmd.push(function() { htlbid.layout('universal'); htlbid.setTargeting("is_home", "no"); htlbid.setTargeting("wp_category", "news-radio"); htlbid.setTargeting("category", "news-radio"); htlbid.setTargeting("post_id", "22"); htlbid.setTargeting("page_type", "section_front"); htlbid.setTargeting("is_testing","no"); }); </script><!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({"gtm.start": new Date().getTime(),event:"gtm.js"});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!="dataLayer"?"&l="+l:"";j.async=true;j.src= "https://www.googletagmanager.com/gtm.js?id="+i+dl;f.parentNode.insertBefore(j,f); })(window,document,"script","dataLayer","GTM-PDK3J36");</script> <!-- End Google Tag Manager --><meta name="google-site-verification" content="JYu_wjg404tL4XRtaToqxqCws1aZymxwMzWcobjdOr4" /> <!-- Begin SmartBanner configuration --> <script> document.addEventListener('DOMContentLoaded', function () { if (document.body.classList.contains('single-post')) { const metaTags = [ { name: "smartbanner:title", content: "KRDO13 News App" }, { name: "smartbanner:author", content: "Breaking News Alerts" }, { name: "smartbanner:price", content: " & Video " }, { name: "smartbanner:price-suffix-apple", content: " On Demand" }, { name: "smartbanner:price-suffix-google", content: " On Demand" }, { name: "smartbanner:icon-apple", content: "https://krdo.b-cdn.net/2024/03/460x0w-2.webp" }, { name: "smartbanner:icon-google", content: "https://krdo.b-cdn.net/2024/03/460x0w-2.webp" }, { name: "smartbanner:button", content: "DOWNLOAD" }, { name: "smartbanner:button-url-apple", content: "https://apps.apple.com/us/app/newschannel-13-krdo-com/id386843706" }, { name: "smartbanner:button-url-google", content: "https://play.google.com/store/apps/details?id=com.mylocaltv.krdo" }, { name: "smartbanner:enabled-platforms", content: "android,ios" }, { name: "smartbanner:close-label", content: "Close" } ]; metaTags.forEach(tag => { let meta = document.createElement('meta'); meta.name = tag.name; meta.content = tag.content; document.head.appendChild(meta); }); console.log('Meta tags added to single post'); } }); </script> <style> .smartbanner { top: -84px !important; } </style> <link rel="stylesheet" href="/wp-content/uploads/smartbanner/smartbanner.min.css"> <script src="/wp-content/uploads/smartbanner/smartbanner.min.js"></script> <!-- End SmartBanner configuration --> <link rel="manifest" href="/manifest.json"> <script>/*<![CDATA[*/ window.__tnt = window.__tnt || {}; __tnt.ads = __tnt.ads || {}; __tnt.ads.dfp = __tnt.ads.dfp || {}; __tnt.ads.dfp.templates = __tnt.ads.dfp.templates || {}; __tnt.ads.dfp.templates = { reveal:"https:\/\/ktvzwx.b-cdn.net\/marquee5.js" }; /*]]>*/</script> <script type="module" crossorigin="anonymous" src="https://embedded-player.aws.syncbak.com/2.2.0/player.js" integrity="sha384-TpR0BmrjS8YVPqrptncgn4+0yR9+XjYFvqSSka+NtKq0ZlGGPMDRRVwEQWMVkX3m"></script> <link rel="modulepreload" crossorigin="anonymous" href="https://embedded-player.aws.syncbak.com/2.2.0/libs.js" integrity="sha384-KPAp1FluJc1zZF1HP8BGpSGouaPHOlEOz4Vu6QJaVln2Y2YpDMhOUSogc4D2GWMD"> <!--Admiral--> <script type="text/javascript"> const _n = '%67%2565%74%25%349%25%37%34%65%256d'; const _a = '_aQS02NDdFMzMzOUVCRDVBQ0FDQzgwNzQwNEEtNw'; const _x = 'g%6f%25%36fgl%2565t%2561%67'; const _y = '%25%36%31%2564m%25%369%72%61l'; const _u = 'https://aspiringapples.com/public/js/j8j2_lmgdflq5.min.js'; !(function(d, _name) { (d[_name] = d[_name] || function r() { (r.q = r.q || []).push(arguments); }), (d[_name].v = d[_name].v || 2), (d[_name].s = '1'); !(function(d, r, w, U) { function A(w, U) { try { (A = d.localStorage), ((w = JSON.parse(A[decodeURI(decodeURI(_n))](_a)).lgk || []) && (U = d[r].pubads()) && w.forEach(function(d) { d && d[0] && U.setTargeting(d[0], d[1] || ''); })) || (w[0] && w[0][1] === 'true' && triggerTealReplace()); } catch (o) {} var A; } try { ((U = d[r] = d[r] || {}).cmd = U.cmd || []), typeof U.pubads === w ? A() : typeof U.cmd.unshift === w ? U.cmd.unshift(A) : U.cmd.push(A); } catch (o) {} })(window, decodeURI(decodeURI(_x)), 'function'); })(window, decodeURI(decodeURI(_y))); !(function(d, r, w, U) { (w = d.createElement(r)), (d = d.getElementsByTagName(r)[0]), (w.async = 1), (w.src = _u), (U = 0) && U(w), d.parentNode.insertBefore(w, d); })(document, 'script'); /** Teal */ function loadTlpbjs(account) { /* prebid.js v9.50.0 Updated: 2025-06-19 Modules: consentManagementTcf, consentManagementUsp, prebidServerBidAdapter, userId, pubProvidedIdSystem, criteoIdSystem, sharedIdSystem */ if (window.tlpbjs && window.tlpbjs.libLoaded) try { window.tlpbjs.getConfig('debug') && console.warn( "Attempted to load a copy of Prebid.js that clashes with the existing 'tlpbjs' instance. Load aborted." ); } catch (t) {} else (function() { (() => { var r, t = { 433: (r, t, e) => { function n(r, t, e, n, o) { for (t = t.split ? t.split('.') : t, n = 0; n < t.length; n++) r = r ? r[t[n]] : o; return r === o ? e : r; } e.d(t, { A: () => n }); }, 8128: r => { (u.SYNC = 1), (u.ASYNC = 2), (u.QUEUE = 4); var t = 'fun-hooks'; var e = Object.freeze({ useProxy: !0, ready: 0 }), n = new WeakMap(), o = '2,1,0' === [1] .reduce(function(r, t, e) { return [r, t, e]; }, 2) .toString() ? Array.prototype.reduce : function(r, t) { var e, n = Object(this), o = n.length >>> 0, i = 0; if (t) e = t; else { for (; i < o && !(i in n); ) i++; e = n[i++]; } for (; i < o; ) i in n && (e = r(e, n[i], i, n)), i++; return e; }; function i(r, t) { return Array.prototype.slice.call(r, t); } var f = Object.assign || function(r) { return o.call( i(arguments, 1), function(r, t) { return ( t && Object.keys(t).forEach(function(e) { r[e] = t[e]; }), r ); }, r ); }; function u(r) { var a, c = {}, l = []; function p(r, t) { return 'function' == typeof r ? h.call(null, 'sync', r, t) : 'string' == typeof r && 'function' == typeof t ? h.apply(null, arguments) : 'object' == typeof r ? y.apply(null, arguments) : void 0; } function y(r, t, e) { var n = !0; void 0 === t && ((t = Object.getOwnPropertyNames(r)), (n = !1)); var o = {}, i = ['constructor']; do { (t = t.filter(function(t) { return !( 'function' != typeof r[t] || -1 !== i.indexOf(t) || t.match(/^_/) ); })).forEach(function(t) { var n = t.split(':'), i = n[0], f = n[1] || 'sync'; if (!o[i]) { var u = r[i]; o[i] = r[i] = h(f, u, e ? [e, i] : void 0); } }), (r = Object.getPrototypeOf(r)); } while (n && r); return o; } function s(r) { var e = Array.isArray(r) ? r : r.split('.'); return o.call( e, function(n, o, i) { var f = n[o], u = !1; return ( f || (i === e.length - 1 ? (a || l.push(function() { u || console.warn( t + ": referenced '" + r + "' but it was never created" ); }), (n[o] = v(function(r) { (n[o] = r), (u = !0); }))) : (n[o] = {})) ); }, c ); } function v(r) { var t = [], e = [], o = function() {}, i = { before: function(r, e) { return a.call(this, t, 'before', r, e); }, after: function(r, t) { return a.call(this, e, 'after', r, t); }, getHooks: function(r) { var n = t.concat(e); 'object' == typeof r && (n = n.filter(function(t) { return Object.keys(r).every(function(e) { return t[e] === r[e]; }); })); try { f(n, { remove: function() { return ( n.forEach(function(r) { r.remove(); }), this ); } }); } catch (r) { console.error( 'error adding `remove` to array, did you modify Array.prototype?' ); } return n; }, removeAll: function() { return this.getHooks().remove(); } }, u = { install: function(n, i, f) { (this.type = n), (o = f), f(t, e), r && r(i); } }; return n.set(i.after, u), i; function a(r, n, i, f) { var u = { hook: i, type: n, priority: f || 10, remove: function() { var n = r.indexOf(u); -1 !== n && (r.splice(n, 1), o(t, e)); } }; return ( r.push(u), r.sort(function(r, t) { return t.priority - r.priority; }), o(t, e), this ); } } function h(e, o, c) { var p = o.after && n.get(o.after); if (p) { if (p.type !== e) throw t + ': recreated hookable with different type'; return o; } var y, h, d = c ? s(c) : v(), b = { get: function(r, t) { return d[t] || Reflect.get.apply(Reflect, arguments); } }; return ( a || l.push(g), r.useProxy && 'function' == typeof Proxy && Proxy.revocable ? (h = new Proxy(o, b)) : ((h = function() { return b.apply ? b.apply(o, this, i(arguments)) : o.apply(this, arguments); }), f(h, d)), n.get(h.after).install(e, h, function(r, t) { var n, o = []; r.length || t.length ? (r.forEach(f), (n = o.push(void 0) - 1), t.forEach(f), (y = function(r, t, f) { var u, a = 0, c = 'async' === e && 'function' == typeof f[f.length - 1] && f.pop(); function l(r) { 'sync' === e ? (u = r) : c && c.apply(null, arguments); } function p(r) { if (o[a]) { var n = i(arguments); return ( (p.bail = l), n.unshift(p), o[a++].apply(t, n) ); } 'sync' === e ? (u = r) : c && c.apply(null, arguments); } return ( (o[n] = function() { var n = i(arguments, 1); 'async' === e && c && (delete p.bail, n.push(p)); var o = r.apply(t, n); 'sync' === e && p(o); }), p.apply(null, f), u ); })) : (y = void 0); function f(r) { o.push(r.hook); } g(); }), h ); function g() { !a && ('sync' !== e || r.ready & u.SYNC) && ('async' !== e || r.ready & u.ASYNC) ? 'sync' !== e && r.ready & u.QUEUE ? (b.apply = function() { var r = arguments; l.push(function() { h.apply(r[1], r[2]); }); }) : (b.apply = function() { throw t + ': hooked function not ready'; }) : (b.apply = y); } } return ( (r = f({}, e, r)).ready ? (p.ready = function() { (a = !0), (function(r) { for (var t; (t = r.shift()); ) t(); })(l); }) : (a = !0), (p.get = s), p ); } r.exports = u; }, 3172: (r, t, e) => { function n(r, t, e) { t.split && (t = t.split('.')); for ( var n, o, i = 0, f = t.length, u = r; i < f && '__proto__' != (o = '' + t[i++]) && 'constructor' !== o && 'prototype' !== o; ) u = u[o] = i === f ? e : typeof (n = u[o]) == typeof t ? n : 0 * t[i] != 0 || ~('' + t[i]).indexOf('.') ? {} : []; } e.d(t, { J: () => n }); }, 5751: (r, t, e) => { function n(r) { var t, e, o; if (Array.isArray(r)) { for (e = Array((t = r.length)); t--; ) e[t] = (o = r[t]) && 'object' == typeof o ? n(o) : o; return e; } if ('[object Object]' === Object.prototype.toString.call(r)) { for (t in ((e = {}), r)) '__proto__' === t ? Object.defineProperty(e, t, { value: n(r[t]), configurable: !0, enumerable: !0, writable: !0 }) : (e[t] = (o = r[t]) && 'object' == typeof o ? n(o) : o); return e; } return r; } e.d(t, { Q: () => n }); } }, e = {}; function n(r) { var o = e[r]; if (void 0 !== o) return o.exports; var i = (e[r] = { exports: {} }); return t[r](i, i.exports, n), i.exports; } (n.m = t), (r = []), (n.O = (t, e, o, i) => { if (!e) { var f = 1 / 0; for (l = 0; l < r.length; l++) { (e = r[l][0]), (o = r[l][1]), (i = r[l][2]); for (var u = !0, a = 0; a < e.length; a++) (!1 & i || f >= i) && Object.keys(n.O).every(r => n.O[r](e[a])) ? e.splice(a--, 1) : ((u = !1), i < f && (f = i)); if (u) { r.splice(l--, 1); var c = o(); void 0 !== c && (t = c); } } return t; } i = i || 0; for (var l = r.length; l > 0 && r[l - 1][2] > i; l--) r[l] = r[l - 1]; r[l] = [e, o, i]; }), (n.n = r => { var t = r && r.__esModule ? () => r.default : () => r; return n.d(t, { a: t }), t; }), (n.d = (r, t) => { for (var e in t) n.o(t, e) && !n.o(r, e) && Object.defineProperty(r, e, { enumerable: !0, get: t[e] }); }), (n.o = (r, t) => Object.prototype.hasOwnProperty.call(r, t)), (() => { var r = { 673: 0 }; n.O.j = t => 0 === r[t]; var t = (t, e) => { var o, i, f = e[0], u = e[1], a = e[2], c = 0; if (f.some(t => 0 !== r[t])) { for (o in u) n.o(u, o) && (n.m[o] = u[o]); if (a) var l = a(n); } for (t && t(e); c < f.length; c++) (i = f[c]), n.o(r, i) && r[i] && r[i][0](), (r[i] = 0); return n.O(l); }, e = (self.tlpbjsChunk = self.tlpbjsChunk || []); e.forEach(t.bind(null, 0)), (e.push = t.bind(null, e.push.bind(e))); })(); var o = n.O(void 0, [802, 769, 139, 85], () => n(8934)); o = n.O(o); })(); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [802], { 5789: (e, t, n) => { n.d(t, { A4: () => c, J7: () => l, Pg: () => u }); var i = n(1580), r = n(1069), o = n(7873), s = n(5569); const a = (0, o.m)(), d = 'outstream'; function c(e) { const { url: t, config: n, id: o, callback: c, loaded: l, adUnitCode: u, renderNow: f } = e; (this.url = t), (this.config = n), (this.handlers = {}), (this.id = o), (this.renderNow = f), (this.adUnitCode = u), (this.loaded = l), (this.cmd = []), (this.push = e => { 'function' == typeof e ? this.loaded ? e.call() : this.cmd.push(e) : (0, r.vV)( 'Commands given to Renderer.push must be wrapped in a function' ); }), (this.callback = c || (() => { (this.loaded = !0), this.process(); })), (this.render = function() { const e = arguments, n = () => { this._render ? this._render.apply(this, e) : (0, r.JE)( 'No render function was provided, please use .setRender on the renderer' ); }; !(function(e) { const t = a.adUnits.find(t => t.code === e); if (!t) return !1; const n = t?.renderer, i = !!(n && n.url && n.render), r = t?.mediaTypes?.video?.renderer, o = !!(r && r.url && r.render); return !!( (i && !0 !== n.backupOnly) || (o && !0 !== r.backupOnly) ); })(u) ? f ? n() : (this.cmd.unshift(n), (0, i.R)( t, s.tp, d, this.callback, this.documentContext )) : ((0, r.JE)( `External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ${u}` ), n()); }.bind(this)); } function l(e) { return !(!e || (!e.url && !e.renderNow)); } function u(e, t, n) { let i = null; e.config && e.config.documentResolver && (i = e.config.documentResolver(t, document, n)), i || (i = document), (e.documentContext = i), e.render(t, e.documentContext); } (c.install = function(e) { let { url: t, config: n, id: i, callback: r, loaded: o, adUnitCode: s, renderNow: a } = e; return new c({ url: t, config: n, id: i, callback: r, loaded: o, adUnitCode: s, renderNow: a }); }), (c.prototype.getConfig = function() { return this.config; }), (c.prototype.setRender = function(e) { this._render = e; }), (c.prototype.setEventHandlers = function(e) { this.handlers = e; }), (c.prototype.handleVideoEvent = function(e) { let { id: t, eventName: n } = e; 'function' == typeof this.handlers[n] && this.handlers[n](), (0, r.OG)(`Prebid Renderer event for id ${t} type ${n}`); }), (c.prototype.process = function() { for (; this.cmd.length > 0; ) try { this.cmd.shift().call(); } catch (e) { (0, r.vV)( `Error processing Renderer command on ad unit '${this.adUnitCode}':`, e ); } }); }, 6811: (e, t, n) => { n.d(t, { DL: () => c, Ml: () => r, Ue: () => i, VJ: () => u, hE: () => l, hq: () => d, mo: () => a, pY: () => f, uc: () => s, yl: () => o }); const i = 'accessDevice', r = 'syncUser', o = 'enrichEids', s = 'fetchBids', a = 'reportAnalytics', d = 'transmitEids', c = 'transmitUfpd', l = 'transmitPreciseGeo', u = 'transmitTid', f = 'loadExternalScript'; }, 3441: (e, t, n) => { n.d(t, { s: () => r }); var i = n(1445); const r = (0, n(2604).ZI)(e => i.Ay.resolveAlias(e)); }, 5569: (e, t, n) => { n.d(t, { Tn: () => s, fW: () => o, tW: () => r, tp: () => i }); const i = 'prebid', r = 'bidder', o = 'userId', s = 'analytics'; }, 2604: (e, t, n) => { n.d(t, { Dk: () => s, Ii: () => o, TQ: () => g, U3: () => h, XG: () => l, ZI: () => p, Zw: () => c, bt: () => u, e3: () => f, iK: () => a, q7: () => d }); var i = n(5569), r = n(9214); const o = 'component', s = o + 'Type', a = o + 'Name', d = 'adapterCode', c = 'storageType', l = 'configName', u = 'syncType', f = 'syncUrl', g = '_config'; function p(e) { return function(t, n, r) { const c = { [s]: t, [a]: n, [o]: `${t}.${n}` }; return t === i.tW && (c[d] = e(n)), h(Object.assign(c, r)); }; } const h = (0, r.A_)('sync', e => e); }, 6953: (e, t, n) => { n.d(t, { Vx: () => d, $p: () => m }); var i = n(433), r = n(3272), o = n(5139), s = n(6811); const a = [ 'data', 'ext.data', 'yob', 'gender', 'keywords', 'kwarray', 'id', 'buyeruid', 'customdata' ] .map(e => `user.${e}`) .concat('device.ext.cdep'), d = ['user.eids', 'user.ext.eids'], c = [ 'user.geo.lat', 'user.geo.lon', 'device.geo.lat', 'device.geo.lon' ], l = ['device.ip'], u = ['device.ipv6']; function f(e) { return Object.assign( { get() {}, run(e, t, n, i, r) { const o = n && n[i]; if ( (function(e) { return ( null != e && ('object' != typeof e || Object.keys(e).length > 0) ); })(o) && r() ) { const e = this.get(o); void 0 === e ? delete n[i] : (n[i] = e); } } }, e ); } function g(e) { return ( e.forEach(e => { e.paths = e.paths.map(e => { const t = e.split('.'), n = t.pop(); return [t.length > 0 ? t.join('.') : null, n]; }); }), function(t, n) { const r = []; for ( var o = arguments.length, s = new Array(o > 2 ? o - 2 : 0), a = 2; a < o; a++ ) s[a - 2] = arguments[a]; const d = (function(e) { for ( var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), i = 1; i < t; i++ ) n[i - 1] = arguments[i]; return function(t) { return ( e.hasOwnProperty(t.name) || (e[t.name] = !!t.applies(...n)), e[t.name] ); }; })(t, ...s); return ( e.forEach(e => { if (!1 !== t[e.name]) for (const [o, s] of e.paths) { const a = null == o ? n : (0, i.A)(n, o); if ( (r.push(e.run(n, o, a, s, d.bind(null, e))), !1 === t[e.name]) ) return; } }), r.filter(e => null != e) ); } ); } function p(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : o.io; return function(n) { return !t(e, n); }; } function h() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : o.io; return [ { name: s.DL, paths: a, applies: p(s.DL, e) }, { name: s.hq, paths: d, applies: p(s.hq, e) }, { name: s.hE, paths: c, applies: p(s.hE, e), get: e => Math.round(100 * (e + Number.EPSILON)) / 100 }, { name: s.hE, paths: l, applies: p(s.hE, e), get: e => (function(e) { if (!e) return null; let t = e.split('.').map(Number); if (4 != t.length) return null; let n = []; for (let e = 0; e < 4; e++) { let t = Math.max(0, Math.min(8, 24 - 8 * e)); n.push((255 << (8 - t)) & 255); } return t.map((e, t) => e & n[t]).join('.'); })(e) }, { name: s.hE, paths: u, applies: p(s.hE, e), get: e => (function(e) { if (!e) return null; let t = e.split(':').map(e => parseInt(e, 16)); for (t = t.map(e => (isNaN(e) ? 0 : e)); t.length < 8; ) t.push(0); if (8 != t.length) return null; let n = []; for (let e = 0; e < 8; e++) { let t = Math.max(0, Math.min(16, 64 - 16 * e)); n.push((65535 << (16 - t)) & 65535); } return t .map((e, t) => e & n[t]) .map(e => e.toString(16)) .join(':'); })(e) }, { name: s.VJ, paths: ['source.tid'], applies: p(s.VJ, e) } ].map(f); } const m = (function() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : o.io; const t = g(h(e)), n = g( (function() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : o.io; return [ { name: s.hq, paths: ['userId', 'userIdAsEids'], applies: p(s.hq, e) }, { name: s.VJ, paths: ['ortb2Imp.ext.tid'], applies: p(s.VJ, e) } ].map(f); })(e) ); return function(e) { const i = {}; return { ortb2: n => (t(i, n, e), n), bidRequest: t => (n(i, t, e), t) }; }; })(); (0, o.qB)(s.VJ, 'enableTIDs config', () => { if (!r.$W.getConfig('enableTIDs')) return { allow: !1, reason: 'TIDs are disabled' }; }); }, 5139: (e, t, n) => { n.d(t, { io: () => s, qB: () => o }); var i = n(1069), r = n(2604); const [o, s] = (function() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : (0, i.h0)('Activity control:'); const t = {}; function n(e) { return (t[e] = t[e] || []); } function o(t, n, i, o) { let s; try { s = i(o); } catch (i) { e.logError(`Exception in rule ${n} for '${t}'`, i), (s = { allow: !1, reason: i }); } return ( s && Object.assign({ activity: t, name: n, component: o[r.Ii] }, s) ); } const s = {}; function a(t) { let { activity: n, name: i, allow: r, reason: o, component: a } = t; const d = `${i} ${r ? 'allowed' : 'denied'} '${n}' for '${a}'${ o ? ':' : '' }`, c = s.hasOwnProperty(d); if ( (c && clearTimeout(s[d]), (s[d] = setTimeout(() => delete s[d], 1e3)), !c) ) { const t = [d]; o && t.push(o), (r ? e.logInfo : e.logWarn).apply(e, t); } } return [ function(e, t, i) { let r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 10; const o = n(e), s = o.findIndex(e => { let [t] = e; return r < t; }), a = [r, t, i]; return ( o.splice(s < 0 ? o.length : s, 0, a), function() { const e = o.indexOf(a); e >= 0 && o.splice(e, 1); } ); }, function(e, t) { let i, r; for (const [s, d, c] of n(e)) { if (i !== s && r) break; i = s; const n = o(e, d, c, t); if (n) { if (!n.allow) return a(n), !1; r = n; } } return r && a(r), !0; } ]; })(); }, 9075: (e, t, n) => { n.d(t, { $A: () => T, BS: () => P, Hh: () => q, Pk: () => N, Uc: () => R, XO: () => V, bw: () => _, n6: () => C, qn: () => $, vB: () => W, vW: () => S, vd: () => U }); var i = n(1069), r = n(5023), o = n(8969), s = n(3272), a = n(5789), d = n(1371), c = n(6881), l = n(6031), u = n(9214), f = n(2449), g = n(5555), p = n(1445), h = n(6894), m = n(7779), b = n(3005); const { AD_RENDER_FAILED: y, AD_RENDER_SUCCEEDED: v, STALE_RENDER: E, BID_WON: A, EXPIRED_RENDER: w } = o.qY, { EXCEPTION: I } = o.as, T = (0, u.A_)('sync', function(e) { return (arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : g.U9.resolve() ) .then(t => t ?? c.n.findBidByAdId(e)) .catch(() => {}); }), C = (0, u.A_)('sync', function(e) { ((0, b.$T)(e.eventtrackers)[b.RO]?.[b.Ni] || []).forEach(e => (0, i.z$)(e) ), r.Ic(A, e), c.n.addWinningBid(e); }); function B(e) { let { reason: t, message: n, bid: o, id: s } = e; const a = { reason: t, message: n }; o && ((a.bid = o), (a.adId = o.adId)), s && (a.adId = s), (0, i.vV)(`Error rendering ad (id: ${s}): ${n}`), r.Ic(y, a); } function O(e) { let { doc: t, bid: n, id: i } = e; const o = { doc: t }; n && (o.bid = n), i && (o.adId = i), p.Ay.callAdRenderSucceededBidder(n.adapterCode || n.bidder, n), r.Ic(v, o); } function R(e, t) { switch (e.event) { case o.qY.AD_RENDER_FAILED: B({ bid: t, id: t.adId, reason: e.info.reason, message: e.info.message }); break; case o.qY.AD_RENDER_SUCCEEDED: O({ doc: null, bid: t, id: t.adId }); break; default: (0, i.vV)( `Received event request for unsupported event: '${e.event}' (adId: '${t.adId}')` ); } } function S(e, t, n) { let { resizeFn: i, fireTrackers: r = f.vO } = n; if ('resizeNativeHeight' === e.action) i(e.width, e.height); else r(e, t); } const k = { [o.nl.EVENT]: R }; k[o.nl.NATIVE] = S; const U = (0, u.A_)('sync', function(e, t) { const { ad: n, adUrl: r, cpm: o, originalCpm: s, width: a, height: d, instl: c } = e, l = { AUCTION_PRICE: s || o, CLICKTHROUGH: t?.clickUrl || '' }; return { ad: (0, i.gM)(n, l), adUrl: (0, i.gM)(r, l), width: a, height: d, instl: c }; }), D = (0, u.A_)('sync', function(e) { let { renderFn: t, resizeFn: n, bidResponse: r, options: s, doc: a, isMainDocument: c = a === document && !(0, i.al)() } = e; const l = r.mediaType === d.G_; if (c || l) return void B({ reason: o.as.PREVENT_WRITING_ON_MAIN_DOCUMENT, message: l ? 'Cannot render video ad without a renderer' : 'renderAd was prevented from writing to the main document.', bid: r, id: r.adId }); const u = U(r, s); t(Object.assign({ adId: r.adId }, u)); const { width: f, height: g } = u; null != (f ?? g) && n(f, g); }); function _(e) { let { renderFn: t, resizeFn: n, adId: a, options: d, bidResponse: c, doc: l } = e; q(c, () => { if (null != c) { if ( (c.status !== o.tl.RENDERED || ((0, i.JE)(`Ad id ${a} has been rendered before`), r.Ic(E, c), !s.$W.getConfig('auctionOptions') ?.suppressStaleRender)) && (m.uW.isBidNotExpired(c) || ((0, i.JE)(`Ad id ${a} has been expired`), r.Ic(w, c), !s.$W.getConfig('auctionOptions')?.suppressExpiredRender)) ) try { D({ renderFn: t, resizeFn: n, bidResponse: c, options: d, doc: l }); } catch (e) { B({ reason: o.as.EXCEPTION, message: e.message, id: a, bid: c }); } } else B({ reason: o.as.CANNOT_FIND_AD, message: `Cannot find ad '${a}'`, id: a }); }); } function $(e) { const t = (0, h.BO)(e.metrics); t.checkpoint('bidRender'), t.timeBetween('bidWon', 'bidRender', 'render.deferred'), t.timeBetween('auctionEnd', 'bidRender', 'render.pending'), t.timeBetween('requestBids', 'bidRender', 'render.e2e'), (e.status = o.tl.RENDERED); } D.before(function(e, t) { const { bidResponse: n, doc: i } = t; (0, a.J7)(n.renderer) ? ((0, a.Pg)(n.renderer, n, i), O({ doc: i, bid: n, id: n.adId }), e.bail()) : e(t); }, 100); const j = new WeakMap(), x = new WeakSet(); function q(e, t) { null != e ? (j.set(e, t), e.deferRendering || W(e), N(e)) : t(); } function N(e) { x.has(e) || (x.add(e), C(e)); } function W(e) { const t = j.get(e); t && (t(), $(e), j.delete(e)); } function P(e, t, n) { let r; function s(e, n) { B(Object.assign({ id: t, bid: r }, { reason: e, message: n })); } function a(t, n) { const i = e.defaultView?.frameElement; i && (t && ((i.width = t), i.style.width && (i.style.width = `${t}px`)), n && ((i.height = n), i.style.height && (i.style.height = `${n}px`))); } const d = ((c = { resizeFn: a }), function(e, t, n) { k.hasOwnProperty(e) && k[e](t, n, c); }); var c; function u(t) { t.ad ? (e.write(t.ad), e.close(), O({ doc: e, bid: r, id: r.adId })) : (0, l.HH)(r) .then(n => n( t, { sendMessage: (e, t) => d(e, t, r), mkFrame: i.hw }, e.defaultView ) ) .then( () => O({ doc: e, bid: r, id: r.adId }), e => { s(e?.reason || o.as.EXCEPTION, e?.message), e?.stack && (0, i.vV)(e); } ); const n = document.createComment( `Creative ${r.creativeId} served by ${r.bidder} Prebid.js Header Bidding` ); (0, i._s)(n, e, 'html'); } try { t && e ? T(t).then(i => { (r = i), _({ renderFn: u, resizeFn: a, adId: t, options: { clickUrl: n?.clickThrough }, bidResponse: i, doc: e }); }) : s( o.as.MISSING_DOC_OR_ADID, 'missing ' + (t ? 'doc' : 'adId') ); } catch (e) { s(I, e.message); } } function V() { if (!window.frames[o.IY]) if (document.body) { const e = (0, i.CA)(); (e.name = o.IY), document.body.appendChild(e); } else window.requestAnimationFrame(V); } }, 9759: (e, t, n) => { function i(e) { var t = e; return { callBids: function() {}, setBidderCode: function(e) { t = e; }, getBidderCode: function() { return t; } }; } n.d(t, { A: () => i }); }, 1445: (e, t, n) => { n.d(t, { Ay: () => z, pX: () => M, K5: () => N }); var i = n(1069), r = n(2449), o = n(7377), s = n(8044), a = n(3272), d = n(9214); let c = {}; function l(e, t, n) { let i = (function(e, t) { let n = (c[e] = c[e] || { bidders: {} }); return t ? (n.bidders[t] = n.bidders[t] || {}) : n; })(e, n); return (i[t] = (i[t] || 0) + 1), i[t]; } function u(e) { return l(e, 'auctionsCounter'); } function f(e) { return c?.[e]?.requestsCounter || 0; } function g(e, t) { return c?.[e]?.bidders?.[t]?.requestsCounter || 0; } function p(e, t) { return c?.[e]?.bidders?.[t]?.winsCounter || 0; } function h(e) { return c?.[e]?.auctionsCounter || 0; } var m = n(7934), b = n(6916), y = n(5023), v = n(8969), E = n(6894), A = n(6881), w = n(5569), I = n(5139), T = n(6811), C = n(2604), B = n(6953), O = n(3005); const R = 'pbsBidAdapter', S = { CLIENT: 'client', SERVER: 'server' }, k = { isAllowed: I.io, redact: B.$p }; let U = {}, D = (U.bidderRegistry = {}), _ = (U.aliasRegistry = {}), $ = []; a.$W.getConfig('s2sConfig', e => { e && e.s2sConfig && ($ = (0, i.cy)(e.s2sConfig) ? e.s2sConfig : [e.s2sConfig]); }); var j = {}; const x = (0, C.ZI)(e => U.resolveAlias(e)); function q(e) { return e.configName ?? e.name; } function N(e) { return x(w.tp, R, { [C.XG]: q(e) }); } const W = (0, d.A_)( 'sync', function(e) { let { bidderCode: t, auctionId: n, bidderRequestId: r, adUnits: o, src: s, metrics: a } = e; return o .reduce((e, o) => { const d = o.bids.filter(e => e.bidder === t); return ( null == t && 0 === d.length && null != o.s2sBid && d.push({ bidder: null }), e.push( d.reduce((e, d) => { const c = null == (d = Object.assign( {}, d, { ortb2Imp: (0, i.D9)({}, o.ortb2Imp, d.ortb2Imp) }, (0, i.SH)(o, [ 'nativeParams', 'nativeOrtbRequest', 'mediaType', 'renderer' ]) )).mediaTypes ? o.mediaTypes : d.mediaTypes; return ( (0, i.wD)(c) ? (d = Object.assign({}, d, { mediaTypes: c })) : (0, i.vV)( `mediaTypes is not correctly configured for adunit ${o.code}` ), 'client' === s && (function(e, t) { l(e, 'requestsCounter', t); })(o.code, t), e.push( Object.assign({}, d, { adUnitCode: o.code, transactionId: o.transactionId, adUnitId: o.adUnitId, sizes: c?.banner?.sizes || c?.video?.playerSize || [], bidId: d.bid_id || (0, i.s0)(), bidderRequestId: r, auctionId: n, src: s, metrics: a, auctionsCount: h(o.code), bidRequestsCount: f(o.code), bidderRequestsCount: g(o.code, d.bidder), bidderWinsCount: p(o.code, d.bidder), deferBilling: !!o.deferBilling }) ), e ); }, []) ), e ); }, []) .reduce(i.Bq, []) .filter(e => '' !== e); }, 'getBids' ); const P = (0, d.A_)( 'sync', function(e, t) { let { getS2SBidders: n = M } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; if (null == t) return e; { const i = n(t); return e.filter(e => { if (!i.has(e.bidder)) return !1; if (null == e.s2sConfigName) return !0; const n = q(t); return (Array.isArray(e.s2sConfigName) ? e.s2sConfigName : [e.s2sConfigName] ).includes(n); }); } }, 'filterBidsForAdUnit' ); const V = (0, d.A_)('sync', (e, t) => e, 'setupAdUnitMediaTypes'); function M(e) { (0, i.cy)(e) || (e = [e]); const t = new Set([null]); return ( e .filter(e => e && e.enabled) .flatMap(e => e.bidders) .forEach(e => t.add(e)), t ); } const G = (0, d.A_)( 'sync', function(e, t) { let { getS2SBidders: n = M } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; const r = n(t); return (0, i.ZA)(e).reduce( (e, t) => (e[r.has(t) ? S.SERVER : S.CLIENT].push(t), e), { [S.CLIENT]: [], [S.SERVER]: [] } ); }, 'partitionBidders' ); function F(e, t) { const n = D[e], i = n?.getSpec && n.getSpec(); if (i && i[t] && 'function' == typeof i[t]) return [i, i[t]]; } function H(e, t, n, r) { try { (0, i.fH)(`Invoking ${e}.${t}`); for ( var o = arguments.length, s = new Array(o > 4 ? o - 4 : 0), d = 4; d < o; d++ ) s[d - 4] = arguments[d]; a.$W.runWithBidder(e, r.bind(n, ...s)); } catch (n) { (0, i.JE)(`Error calling ${t} of ${e}`); } } function L(e, t, n) { if (n?.source !== v.RW.SRC) { const i = F(e, t); null != i && H(e, t, ...i, n); } } (U.makeBidRequests = (0, d.A_)( 'sync', function(e, t, n, o, s) { let d = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : {}, c = arguments.length > 6 ? arguments[6] : void 0; (c = (0, E.BO)(c)), y.Ic(v.qY.BEFORE_REQUEST_BIDS, e), (0, r.nk)(e), e .map(e => e.code) .filter(i.hj) .forEach(u), e.forEach(e => { (0, i.Qd)(e.mediaTypes) || (e.mediaTypes = {}), (e.bids = e.bids.filter( e => !e.bidder || k.isAllowed(T.uc, x(w.tW, e.bidder)) )), l(e.code, 'requestsCounter'); }), (e = V(e, s)); let { [S.CLIENT]: f, [S.SERVER]: g } = G(e, $); a.$W.getConfig('bidderSequence') === a.Ov && (f = (0, i.k4)(f)); const p = (0, m.EN)(); let h = []; const A = d.global || {}, I = d.bidder || {}; function C(e, t) { const r = k.redact(null != t ? t : x(w.tW, e.bidderCode)), o = (0, i.D9)({ source: { tid: n } }, A, I[e.bidderCode]); !(function(e) { const t = e.user?.eids; Array.isArray(t) && t.length && ((e.user.ext = e.user.ext || {}), (e.user.ext.eids = [...(e.user.ext.eids || []), ...t]), delete e.user.eids); })(o); const s = Object.freeze(r.ortb2(o)); return ( (e.ortb2 = s), (e.bids = e.bids.map( e => ((e.ortb2 = s), r.bidRequest(e)) )), e ); } $.forEach(r => { const o = N(r); if (r && r.enabled && k.isAllowed(T.uc, o)) { let { adUnits: s, hasModuleBids: a } = (function(e, t) { let n = (0, i.Go)(e), r = !1; return ( n.forEach(e => { const n = e.bids.filter( e => e.module === R && e.params?.configName === q(t) ); 1 === n.length ? ((e.s2sBid = n[0]), (r = !0), (e.ortb2Imp = (0, i.D9)( {}, e.s2sBid.ortb2Imp, e.ortb2Imp ))) : n.length > 1 && (0, i.JE)( 'Multiple "module" bids for the same s2s configuration; all will be ignored', n ), (e.bids = P(e.bids, t).map( e => ((e.bid_id = (0, i.s0)()), e) )); }), (n = n.filter( e => 0 !== e.bids.length || null != e.s2sBid )), { adUnits: n, hasModuleBids: r } ); })(e, r), d = (0, i.lk)(); (0 === g.length && a ? [null] : g).forEach(e => { const a = (0, i.s0)(), l = c.fork(), u = C( { bidderCode: e, auctionId: n, bidderRequestId: a, uniquePbsTid: d, bids: W({ bidderCode: e, auctionId: n, bidderRequestId: a, adUnits: (0, i.Go)(s), src: v.RW.SRC, metrics: l }), auctionStart: t, timeout: r.timeout, src: v.RW.SRC, refererInfo: p, metrics: l }, o ); 0 !== u.bids.length && h.push(u); }), s.forEach(e => { let t = e.bids.filter(e => h.find(t => t.bids.find(t => t.bidId === e.bid_id)) ); e.bids = t; }), h.forEach(e => { void 0 === e.adUnitsS2SCopy && (e.adUnitsS2SCopy = s.filter( e => e.bids.length > 0 || null != e.s2sBid )); }); } }); let B = (function(e) { let t = (0, i.Go)(e); return ( t.forEach(e => { e.bids = P(e.bids, null); }), (t = t.filter(e => 0 !== e.bids.length)), t ); })(e); return ( f.forEach(e => { const r = (0, i.s0)(), a = c.fork(), d = C({ bidderCode: e, auctionId: n, bidderRequestId: r, bids: W({ bidderCode: e, auctionId: n, bidderRequestId: r, adUnits: (0, i.Go)(B), labels: s, src: 'client', metrics: a }), auctionStart: t, timeout: o, refererInfo: p, metrics: a }), l = D[e]; l || (0, i.vV)( `Trying to make a request for bidder that does not exist: ${e}` ), l && d.bids && 0 !== d.bids.length && h.push(d); }), h.forEach(e => { b.mW.getConsentData() && (e.gdprConsent = b.mW.getConsentData()), b.t6.getConsentData() && (e.uspConsent = b.t6.getConsentData()), b.ad.getConsentData() && (e.gppConsent = b.ad.getConsentData()); }), h ); }, 'makeBidRequests' )), (U.callBids = function(e, t, n, r, o, d, c) { let l = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : {}; if (!t.length) return void (0, i.JE)( 'callBids executed with no bidRequests. Were they filtered by labels or sizing?' ); let [u, f] = t.reduce( (e, t) => ( e[Number(void 0 !== t.src && t.src === v.RW.SRC)].push(t), e ), [[], []] ); var g = []; f.forEach(e => { for (var t = -1, n = 0; n < g.length; ++n) if (e.uniquePbsTid === g[n].uniquePbsTid) { t = n; break; } t <= -1 && g.push(e); }); let p = 0; $.forEach(e => { if (e && g[p] && M(e).has(g[p].bidderCode)) { const t = (0, s.g4)( d, o ? { request: o.request.bind(null, 's2s'), done: o.done } : void 0 ); let a = e.bidders; const u = D[e.adapter]; let h = g[p].uniquePbsTid, m = g[p].adUnitsS2SCopy, b = f.filter(e => e.uniquePbsTid === h); if (u) { let o = { ad_units: m, s2sConfig: e, ortb2Fragments: l, requestBidsTimeout: d }; if (o.ad_units.length) { let e = b.map( e => ( (e.start = (0, i.vE)()), function(t) { t || c(e.bidderRequestId), r.apply(e, arguments); } ) ); const s = (0, i.ZA)(o.ad_units).filter(e => a.includes(e) ); (0, i.OG)( `CALLING S2S HEADER BIDDERS ==== ${ s.length > 0 ? s.join(', ') : 'No bidder specified, using "ortb2Imp" definition(s) only' }` ), b.forEach(e => { y.Ic(v.qY.BID_REQUESTED, { ...e, tid: e.auctionId }); }), u.callBids(o, f, n, t => e.forEach(e => e(t)), t); } } else (0, i.vV)('missing ' + e.adapter); p++; } }), u.forEach(e => { e.start = (0, i.vE)(); const t = D[e.bidderCode]; a.$W.runWithBidder(e.bidderCode, () => { (0, i.OG)('CALLING BIDDER'), y.Ic(v.qY.BID_REQUESTED, e); }); let l = (0, s.g4)( d, o ? { request: o.request.bind(null, e.bidderCode), done: o.done } : void 0 ); const u = r.bind(e); try { a.$W.runWithBidder( e.bidderCode, t.callBids.bind( t, e, n, u, l, () => c(e.bidderRequestId), a.$W.callbackWithBidder(e.bidderCode) ) ); } catch (t) { (0, i.vV)( `${e.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`, { e: t, bidRequest: e } ), u(); } }); }), (U.videoAdapters = []), (U.registerBidAdapter = function(e, t) { let { supportedMediaTypes: n = [] } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; e && t ? 'function' == typeof e.callBids ? ((D[t] = e), b.o2.register(w.tW, t, e.getSpec?.().gvlid), n.includes('video') && U.videoAdapters.push(t), n.includes('native') && r.mT.push(t)) : (0, i.vV)( 'Bidder adaptor error for bidder code: ' + t + 'bidder must implement a callBids() function' ) : (0, i.vV)('bidAdapter or bidderCode not specified'); }), (U.aliasBidAdapter = function(e, t, n) { if (void 0 === D[t]) { let s = D[e]; if (void 0 === s) { const n = []; $.forEach(i => { if (i.bidders && i.bidders.length) { const r = i && i.bidders; i && r.includes(t) ? (_[t] = e) : n.push(e); } }), n.forEach(e => { (0, i.vV)( 'bidderCode "' + e + '" is not an existing bidder.', 'adapterManager.aliasBidAdapter' ); }); } else try { let a, d = (function(e) { let t = []; return ( U.videoAdapters.includes(e) && t.push('video'), r.mT.includes(e) && t.push('native'), t ); })(e); if (s.constructor.prototype != Object.prototype) (a = new s.constructor()), a.setBidderCode(t); else { const { useBaseGvlid: r = !1 } = n || {}; let d = s.getSpec(); const c = r ? d.gvlid : n?.gvlid; null == c && null != d.gvlid && (0, i.JE)( `Alias '${t}' will NOT re-use the GVL ID of the original adapter ('${d.code}', gvlid: ${d.gvlid}). Functionality that requires TCF consent may not work as expected.` ); let l = n && n.skipPbsAliasing; (a = (0, o.xb)( Object.assign({}, d, { code: t, gvlid: c, skipPbsAliasing: l }) )), (_[t] = e); } U.registerBidAdapter(a, t, { supportedMediaTypes: d }); } catch (t) { (0, i.vV)( e + ' bidder does not currently support aliasing.', 'adapterManager.aliasBidAdapter' ); } } else (0, i.OG)( 'alias name "' + t + '" has been already specified.' ); }), (U.resolveAlias = function(e) { let t, n = e; for (; _[n] && (!t || !t.has(n)); ) (n = _[n]), (t = t || new Set()).add(n); return n; }), (U.registerAnalyticsAdapter = function(e) { let { adapter: t, code: n, gvlid: r } = e; t && n ? 'function' == typeof t.enableAnalytics ? ((t.code = n), (j[n] = { adapter: t, gvlid: r }), b.o2.register(w.Tn, n, r)) : (0, i.vV)( `Prebid Error: Analytics adaptor error for analytics "${n}"\n analytics adapter must implement an enableAnalytics() function` ) : (0, i.vV)( 'Prebid Error: analyticsAdapter or analyticsCode not specified' ); }), (U.enableAnalytics = function(e) { (0, i.cy)(e) || (e = [e]), e.forEach(e => { const t = j[e.provider]; t && t.adapter ? k.isAllowed(T.mo, x(w.Tn, e.provider, { [C.TQ]: e })) && t.adapter.enableAnalytics(e) : (0, i.vV)( `Prebid Error: no analytics adapter found in registry for '${e.provider}'.` ); }); }), (U.getBidAdapter = function(e) { return D[e]; }), (U.getAnalyticsAdapter = function(e) { return j[e]; }), (U.callTimedOutBidders = function(e, t, n) { (t = t.map( t => ( (t.params = (0, i.SB)(e, t.adUnitCode, t.bidder)), (t.timeout = n), t ) )), (t = (0, i.$z)(t, 'bidder')), Object.keys(t).forEach(e => { L(e, 'onTimeout', t[e]); }); }), (U.callBidWonBidder = function(e, t, n) { var r, o; (t.params = (0, i.SB)(n, t.adUnitCode, t.bidder)), (r = t.adUnitCode), (o = t.bidder), l(r, 'winsCounter', o), L(e, 'onBidWon', t); }), (U.triggerBilling = (() => { const e = new WeakSet(); return t => { e.has(t) || (e.add(t), ( (0, O.$T)(t.eventtrackers)[O.OA]?.[O.Ni] || [] ).forEach(e => i.mM.triggerPixel(e)), L(t.bidder, 'onBidBillable', t)); }; })()), (U.callSetTargetingBidder = function(e, t) { L(e, 'onSetTargeting', t); }), (U.callBidViewableBidder = function(e, t) { L(e, 'onBidViewable', t); }), (U.callBidderError = function(e, t, n) { L(e, 'onBidderError', { error: t, bidderRequest: n }); }), (U.callAdRenderSucceededBidder = function(e, t) { L(e, 'onAdRenderSucceeded', t); }), (U.callDataDeletionRequest = (0, d.A_)('sync', function() { for ( var e = arguments.length, t = new Array(e), n = 0; n < e; n++ ) t[n] = arguments[n]; const r = 'onDataDeletionRequest'; Object.keys(D) .filter(e => !_.hasOwnProperty(e)) .forEach(e => { const n = F(e, r); if (null != n) { const i = A.n.getBidsRequested().filter( t => (function(e) { const t = new Set(); for (; _.hasOwnProperty(e) && !t.has(e); ) t.add(e), (e = _[e]); return e; })(t.bidderCode) === e ); H(e, r, ...n, i, ...t); } }), Object.entries(j).forEach(e => { let [n, o] = e; const s = o?.adapter?.[r]; if ('function' == typeof s) try { s.apply(o.adapter, t); } catch (e) { (0, i.vV)(`error calling ${r} of ${n}`, e); } }); })); const z = U; }, 7377: (e, t, n) => { n.d(t, { JN: () => R, fn: () => S, xb: () => T }); var i = n(9759), r = n(1445), o = n(3272), s = n(3597), a = n(8230), d = n(2449), c = n(3895), l = n(8969), u = n(5023), f = n(1069), g = n(9214), p = n(6881), h = n(2693), m = n(6894), b = n(5139), y = n(3441), v = n(5569), E = n(6811); const A = ['cpm', 'ttl', 'creativeId', 'netRevenue', 'currency'], w = ['auctionId', 'transactionId']; const I = (0, f.Bj)(e => { let { bidderCode: t } = e; if ((0, b.io)(E.VJ, (0, y.s)(v.tW, t))) return { bidRequest: e => e, bidderRequest: e => e }; function n(e, t, n) { return w.includes(t) ? null : Reflect.get(e, t, n); } function i(e, t) { const n = new Proxy(e, t); return ( Object.entries(e) .filter(e => { let [t, n] = e; return 'function' == typeof n; }) .forEach(t => { let [i, r] = t; return (n[i] = r.bind(e)); }), n ); } const r = (0, f.Bj)( e => i(e, { get: n }), e => e.bidId ); return { bidRequest: r, bidderRequest: e => i(e, { get: (t, i, o) => 'bids' === i ? e.bids.map(r) : n(t, i, o) }) }; }); function T(e) { return Object.assign(new i.A(e.code), { getSpec: function() { return Object.freeze(Object.assign({}, e)); }, registerSyncs: t, callBids: function(n, i, a, d, c, g) { if (!Array.isArray(n.bids)) return; const p = I(n), b = {}; const y = []; function v() { a(), o.$W.runWithBidder(e.code, () => { u.Ic(l.qY.BIDDER_DONE, n), t(y, n.gdprConsent, n.uspConsent, n.gppConsent); }); } const E = k(n).measureTime('validate', () => n.bids.filter(t => (function(t) { if (!e.isBidRequestValid(t)) return ( (0, f.JE)( `Invalid bid sent to bidder ${ e.code }: ${JSON.stringify(t)}` ), !1 ); return !0; })(p.bidRequest(t)) ) ); if (0 === E.length) return void v(); const A = {}; E.forEach(e => { (A[e.bidId] = e), e.adUnitCode || (e.adUnitCode = e.placementCode); }), B(e, E, n, d, g, { onRequest: e => u.Ic(l.qY.BEFORE_BIDDER_HTTP, n, e), onResponse: t => { c(e.code), y.push(t); }, onPaapi: e => { const t = A[e.bidId]; t ? R(t, e) : (0, f.JE)( 'Received fledge auction configuration for an unknown bidId', e ); }, onError: (t, i) => { i.timedOut || c(e.code), r.Ay.callBidderError(e.code, i, n), u.Ic(l.qY.BIDDER_ERROR, { error: i, bidderRequest: n }), (0, f.vV)( `Server call for ${e.code} failed: ${t} ${i.status}. Continuing without bids.`, { bidRequests: E } ); }, onBid: t => { const n = A[t.requestId]; if (n) { if ( ((t.adapterCode = n.bidder), (function(e, t) { let n = h.u.get(t, 'allowAlternateBidderCodes') || !1, i = h.u.get(t, 'allowedAlternateBidderCodes'); if ( e && t && t !== e && ((i = (0, f.cy)(i) ? i .map(e => e.trim().toLowerCase()) .filter(e => !!e) .filter(f.hj) : i), !n || ((0, f.cy)(i) && '*' !== i[0] && !i.includes(e))) ) return !0; return !1; })(t.bidderCode, n.bidder)) ) return ( (0, f.JE)( `${t.bidderCode} is not a registered partner or known bidder of ${n.bidder}, hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings.` ), void i.reject( n.adUnitCode, t, l.Tf.BIDDER_DISALLOWED ) ); (t.originalCpm = t.cpm), (t.originalCurrency = t.currency), (t.meta = t.meta || Object.assign({}, t[n.bidder])), (t.deferBilling = n.deferBilling), (t.deferRendering = t.deferBilling && (t.deferRendering ?? 'function' != typeof e.onBidBillable)); const r = Object.assign( (0, s.O)(l.XQ.GOOD, n), t, (0, f.Up)(n, w) ); !(function(e, t) { const n = (0, m.BO)(t.metrics); n.checkpoint('addBidResponse'), (b[e] = !0), n.measureTime('addBidResponse.validate', () => S(e, t) ) ? i(e, t) : i.reject(e, t, l.Tf.INVALID); })(n.adUnitCode, r); } else (0, f.JE)( `Bidder ${e.code} made bid for unknown request ID: ${t.requestId}. Ignoring.` ), i.reject(null, t, l.Tf.INVALID_REQUEST_ID); }, onCompletion: v }); } }); function t(t, n, i, r) { O(e, t, n, i, r); } } const C = ['bids', 'paapi'], B = (0, g.A_)( 'async', function(e, t, n, i, r, o) { let { onRequest: s, onResponse: a, onPaapi: d, onError: c, onBid: u, onCompletion: g } = o; const p = k(n); g = p.startTiming('total').stopBefore(g); const m = I(n); let A = p.measureTime('buildRequests', () => e.buildRequests(t.map(m.bidRequest), m.bidderRequest(n)) ); if (!A || 0 === A.length) return void g(); Array.isArray(A) || (A = [A]); const w = (0, f.U6)(g, A.length); A.forEach(t => { const n = p.fork(); function o(e) { null != e && (e.metrics = n.fork().renameWith()), u(e); } const g = r(function(i, r) { A(); try { i = JSON.parse(i); } catch (e) {} (i = { body: i, headers: { get: r.getResponseHeader.bind(r) } }), a(i); try { i = n.measureTime('interpretResponse', () => e.interpretResponse(i, t) ); } catch (t) { return ( (0, f.vV)( `Bidder ${e.code} failed to interpret the server's response. Continuing without bids`, null, t ), void w() ); } let s, c; i && !Object.keys(i).some(e => !C.includes(e)) ? ((s = i.bids), (c = i.paapi)) : (s = i), (0, f.cy)(c) && c.forEach(d), s && ((0, f.cy)(s) ? s.forEach(o) : o(s)), w(); }), m = r(function(e, t) { A(), c(e, t), w(); }); s(t); const A = n.startTiming('net'); function I(n) { const i = t.options; return Object.assign(n, i, { browsingTopics: !( i?.hasOwnProperty('browsingTopics') && !i.browsingTopics ) && (h.u.get(e.code, 'topicsHeader') ?? !0) && (0, b.io)(E.DL, (0, y.s)(v.tW, e.code)) }); } switch (t.method) { case 'GET': i( `${t.url}${(function(e) { if (e) return `?${ 'object' == typeof e ? (0, f.bL)(e) : e }`; return ''; })(t.data)}`, { success: g, error: m }, void 0, I({ method: 'GET', withCredentials: !0 }) ); break; case 'POST': const n = t.options?.endpointCompression, r = 'TRUE' === (0, f.Ez)(l.M).toUpperCase() || (0, f.dp)(), o = e => { let { url: t, payload: n } = e; i( t, { success: g, error: m }, n, I({ method: 'POST', contentType: 'text/plain', withCredentials: !0 }) ); }; n && r && (0, f.JE)( `Skipping GZIP compression for ${e.code} as debug mode is enabled` ), n && !r && (0, f.nT)() ? (0, f.ZK)(t.data).then(e => { const n = new URL( t.url, window.location.origin ); n.searchParams.has('gzip') || n.searchParams.set('gzip', '1'), o({ url: n.href, payload: e }); }) : o({ url: t.url, payload: 'string' == typeof t.data ? t.data : JSON.stringify(t.data) }); break; default: (0, f.JE)( `Skipping invalid request from ${e.code}. Request type ${t.type} must be GET or POST` ), w(); } }); }, 'processBidderRequests' ), O = (0, g.A_)( 'async', function(e, t, n, i, s) { const d = o.$W.getConfig('userSync.aliasSyncEnabled'); if (e.getUserSyncs && (d || !r.Ay.aliasRegistry[e.code])) { let r = e.getUserSyncs( { iframeEnabled: a.zt.canBidderRegisterSync( 'iframe', e.code ), pixelEnabled: a.zt.canBidderRegisterSync( 'image', e.code ) }, t, n, i, s ); r && (Array.isArray(r) || (r = [r]), r.forEach(t => { a.zt.registerSync(t.type, e.code, t.url); }), a.zt.bidderDone(e.code)); } }, 'registerSyncs' ), R = (0, g.A_)('sync', (e, t) => {}, 'addPaapiConfig'); function S(e, t) { let { index: n = p.n.index } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; function i(e) { return `Invalid bid from ${t.bidderCode}. Ignoring bid: ${e}`; } return e ? t ? (function() { let e = Object.keys(t); return A.every( n => e.includes(n) && ![void 0, null].includes(t[n]) ); })() ? 'native' !== t.mediaType || (0, d.Bm)(t, { index: n }) ? 'video' !== t.mediaType || (0, c.vk)(t, { index: n }) ? !( 'banner' === t.mediaType && !(function(e, t) { let { index: n = p.n.index } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; if ( (t.width || 0 === parseInt(t.width, 10)) && (t.height || 0 === parseInt(t.height, 10)) ) return ( (t.width = parseInt(t.width, 10)), (t.height = parseInt(t.height, 10)), !0 ); if (null != t.wratio && null != t.hratio) return ( (t.wratio = parseInt(t.wratio, 10)), (t.hratio = parseInt(t.hratio, 10)), !0 ); const i = n.getBidRequest(t), r = n.getMediaTypes(t), o = (i && i.sizes) || (r && r.banner && r.banner.sizes), s = (0, f.kK)(o); if (1 === s.length) { const [e, n] = s[0].split('x'); return ( (t.width = parseInt(e, 10)), (t.height = parseInt(n, 10)), !0 ); } return !1; })(e, t, { index: n }) ) || ((0, f.vV)( i('Banner bids require a width and height') ), !1) : ((0, f.vV)( i( 'Video bid does not have required vastUrl or renderer property' ) ), !1) : ((0, f.vV)( i('Native bid missing some required properties.') ), !1) : ((0, f.vV)( i( `Bidder ${t.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.` ) ), !1) : ((0, f.JE)( `Some adapter tried to add an undefined bid for ${e}.` ), !1) : ((0, f.JE)('No adUnitCode was supplied to addBidResponse.'), !1); } function k(e) { return (0, m.BO)(e.metrics).renameWith(t => [ `adapter.client.${t}`, `adapters.client.${e.bidderCode}.${t}` ]); } }, 1580: (e, t, n) => { n.d(t, { R: () => c }); var i = n(6811), r = n(3441), o = n(5139), s = n(1069); const a = new WeakMap(), d = [ 'debugging', 'outstream', 'aaxBlockmeter', 'adagio', 'adloox', 'akamaidap', 'arcspan', 'airgrid', 'browsi', 'brandmetrics', 'clean.io', 'humansecurity', 'confiant', 'contxtful', 'hadron', 'mediafilter', 'medianet', 'azerionedge', 'a1Media', 'geoedge', 'qortex', 'dynamicAdBoost', '51Degrees', 'symitridap', 'wurfl', 'nodalsAi', 'anonymised', 'optable', 'justtag', 'tncId', 'ftrackId', 'id5' ]; function c(e, t, n, c, l, u) { if (!(0, o.io)(i.pY, (0, r.s)(t, n))) return; if (!n || !e) return void (0, s.vV)( 'cannot load external script without url and moduleCode' ); if (!d.includes(n)) return void (0, s.vV)( `${n} not whitelisted for loading external JavaScript` ); l || (l = document); const f = h(l, e); if (f) return ( c && 'function' == typeof c && (f.loaded ? c() : f.callbacks.push(c)), f.tag ); const g = a.get(l) || {}, p = { loaded: !1, tag: null, callbacks: [] }; return ( (g[e] = p), a.set(l, g), c && 'function' == typeof c && p.callbacks.push(c), (0, s.JE)(`module ${n} is loading external JavaScript`), (function(t, n, i, r) { i || (i = document); var o = i.createElement('script'); (o.type = 'text/javascript'), (o.async = !0); const a = h(i, e); a && (a.tag = o); o.readyState ? (o.onreadystatechange = function() { ('loaded' !== o.readyState && 'complete' !== o.readyState) || ((o.onreadystatechange = null), n()); }) : (o.onload = function() { n(); }); (o.src = t), r && (0, s.Bg)(o, r); return (0, s._s)(o, i), o; })( e, function() { p.loaded = !0; try { for (let e = 0; e < p.callbacks.length; e++) p.callbacks[e](); } catch (e) { (0, s.vV)( 'Error executing callback', 'adloader.js:loadExternalScript', e ); } }, l, u ) ); function h(e, t) { const n = a.get(e); return n && n[t] ? n[t] : null; } } }, 1692: (e, t, n) => { n.d(t, { Q: () => i }); const i = (0, n(9214).A_)('sync', () => {}); }, 8044: (e, t, n) => { n.d(t, { RD: () => f, g4: () => u }); var i = n(3272), r = n(1069); const o = { fetch: window.fetch.bind(window), makeRequest: (e, t) => new Request(e, t), timeout(e, t) { const n = new AbortController(); let i = setTimeout(() => { n.abort(), (0, r.vV)(`Request timeout after ${e}ms`, t), (i = null); }, e); return { signal: n.signal, done() { i && clearTimeout(i); } }; } }, s = 'GET', a = 'POST', d = 'Content-Type'; function c() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 3e3, { request: t, done: n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, r = (t, n) => { let r; null == e || null != n?.signal || i.$W.getConfig('disableAjaxTimeout') || ((r = o.timeout(e, t)), (n = Object.assign({ signal: r.signal }, n))); let s = o.fetch(t, n); return null != r?.done && (s = s.finally(r.done)), s; }; return ( (null == t && null == n) || (r = (e => function(i, r) { const o = new URL( null == i?.url ? i : i.url, document.location ).origin; let s = e(i, r); return t && t(o), n && (s = s.finally(() => n(o))), s; })(r)), r ); } function l(e, t) { let { status: n, statusText: i = '', headers: o, url: s } = e, a = 0; function c(e) { if (0 === a) try { a = new DOMParser().parseFromString( t, o?.get(d)?.split(';')?.[0] ); } catch (t) { (a = null), e && e(t); } return a; } return { readyState: XMLHttpRequest.DONE, status: n, statusText: i, responseText: t, response: t, responseType: '', responseURL: s, get responseXML() { return c(r.vV); }, getResponseHeader: e => (o?.has(e) ? o.get(e) : null), toJSON() { return Object.assign({ responseXML: c() }, this); }, timedOut: !1 }; } function u() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 3e3, { request: t, done: n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; const i = c(e, { request: t, done: n }); return function(e, t, n) { !(function(e, t) { const { success: n, error: i } = 'object' == typeof t && null != t ? t : { success: 'function' == typeof t ? t : () => null, error: (e, t) => (0, r.vV)('Network error', e, t) }; e.then(e => e.text().then(t => [e, t])).then( e => { let [t, r] = e; const o = l(t, r); t.ok || 304 === t.status ? n(r, o) : i(t.statusText, o); }, e => i( '', Object.assign(l({ status: 0 }, ''), { reason: e, timedOut: 'AbortError' === e?.name }) ) ); })( i( (function(e, t) { let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; const i = n.method || (t ? a : s); if (i === s && t) { const i = (0, r.Dl)(e, n); Object.assign(i.search, t), (e = (0, r.c$)(i)); } const c = new Headers(n.customHeaders); c.set(d, n.contentType || 'text/plain'); const l = { method: i, headers: c }; return ( i !== s && t && (l.body = t), n.withCredentials && (l.credentials = 'include'), isSecureContext && ['browsingTopics', 'adAuctionHeaders'].forEach(e => { n[e] && (l[e] = !0); }), n.keepalive && (l.keepalive = !0), o.makeRequest(e, l) ); })( e, n, arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {} ) ), t ); }; } const f = u(); c(); }, 6881: (e, t, n) => { n.d(t, { n: () => ae }); var i = n(1069), r = n(6833), o = n(2449), s = n(8044), a = n(3272); const d = 15, c = new Map(); function l(e) { let { index: t = ae.index } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; const n = u(e), i = t.getAuction(e); let r = { type: 'xml', value: n, ttlseconds: Number(e.ttl) + d }; return ( a.$W.getConfig('cache.vasttrack') && ((r.bidder = e.bidder), (r.bidid = e.requestId), (r.aid = e.auctionId)), null != i && (r.timestamp = i.getAuctionStart()), 'string' == typeof e.customCacheKey && '' !== e.customCacheKey && (r.key = e.customCacheKey), r ); } function u(e) { return e.vastXml ? e.vastXml : ((t = e.vastUrl), (n = e.vastImpUrl), `<VAST version="3.0">\n <Ad>\n <Wrapper>\n <AdSystem>prebid.org wrapper</AdSystem>\n <VASTAdTagURI><![CDATA[${t}]]></VASTAdTagURI>\n ${ (n = n && (Array.isArray(n) ? n : [n])) ? n .map(e => `<Impression><![CDATA[${e}]]></Impression>`) .join('') : '' }\n <Creatives></Creatives>\n </Wrapper>\n </Ad>\n </VAST>`); var t, n; } const f = e => { const t = u(e), n = URL.createObjectURL(new Blob([t], { type: 'text/xml' })); g(e, n), c.set(e.videoCacheKey, n); }, g = (e, t, n) => { (e.videoCacheKey = n || (0, i.lk)()), e.vastUrl || (e.vastUrl = t); }, p = { store: function(e, t) { let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : s.g4; const i = { puts: e.map(l) }; n(a.$W.getConfig('cache.timeout'))( a.$W.getConfig('cache.url'), (function(e) { return { success: function(t) { let n; try { n = JSON.parse(t).responses; } catch (t) { return void e(t, []); } n ? e(null, n) : e( new Error( "The cache server didn't respond with a responses property." ), [] ); }, error: function(t, n) { e( new Error( `Error storing video ad in the cache: ${t}: ${JSON.stringify( n )}` ), [] ); } }; })(t), JSON.stringify(i), { contentType: 'text/plain', withCredentials: !0 } ); } }; function h(e) { const t = e.map(e => e.bidResponse); p.store(t, function(n, r) { var o; n ? ((o = n), (0, i.vV)( `Failed to save to the video cache: ${o}. Video bids will be discarded:`, t )) : e.length !== r.length ? (0, i.vV)( `expected ${e.length} cache IDs, got ${r.length} instead` ) : r.forEach((t, n) => { const { auctionInstance: r, bidResponse: o, afterBidAdded: s } = e[n]; var d; '' === t.uuid ? (0, i.JE)( 'Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded.' ) : (g( o, ((d = t.uuid), `${a.$W.getConfig('cache.url')}?uuid=${d}`), t.uuid ), J(r, o), s()); }); }); } let m, b, y; a.$W.getConfig('cache', e => { let { cache: t } = e; (m = 'number' == typeof t.batchSize && t.batchSize > 0 ? t.batchSize : 1), (b = 'number' == typeof t.batchTimeout && t.batchTimeout > 0 ? t.batchTimeout : 0), t.useLocal && !y && (y = ae.onExpiry(e => { e.getBidsReceived().forEach(e => { const t = c.get(e.videoCacheKey); t && t.startsWith('blob') && URL.revokeObjectURL(t), c.delete(e.videoCacheKey); }); })); }); const v = (function() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : setTimeout, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : h, n = [[]], i = !1; const r = e => e(); return function(o, s, a) { const d = b > 0 ? e : r; n[n.length - 1].length >= m && n.push([]), n[n.length - 1].push({ auctionInstance: o, bidResponse: s, afterBidAdded: a }), i || ((i = !0), d(() => { n.forEach(t), (n = [[]]), (i = !1); }, b)); }; })(); var E = n(5789), A = n(8230), w = n(9214), I = n(3895), T = n(1371), C = n(2693), B = n(5023), O = n(1445), R = n(8969), S = n(5555), k = n(6894); var U = n(7873), D = n(6853), _ = n(7863); const { syncUsers: $ } = A.zt, j = 'started', x = 'inProgress', q = 'completed'; B.on(R.qY.BID_ADJUSTMENT, function(e) { !(function(e) { let t = (function(e, t, n) { let { index: r = ae.index, bs: o = C.u } = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}; n = n || r.getBidRequest(t); const s = t?.adapterCode, a = t?.bidderCode || n?.bidder, d = o.get(t?.adapterCode, 'adjustAlternateBids'), c = o.getOwn(a, 'bidCpmAdjustment') || o.get(d ? s : a, 'bidCpmAdjustment'); if (c && 'function' == typeof c) try { return c(e, Object.assign({}, t), n); } catch (e) { (0, i.vV)('Error during bid adjustment', e); } return e; })(e.cpm, e); t >= 0 && (e.cpm = t); })(e); }); const N = 4, W = {}, P = {}, V = [], M = (0, U.m)(); function G(e) { let { adUnits: t, adUnitCodes: n, callback: s, cbTimeout: d, labels: c, auctionId: l, ortb2Fragments: u, metrics: g } = e; g = (0, k.BO)(g); const p = t, h = c, m = n, b = l || (0, i.lk)(), y = d, v = new Set(), A = (0, S.v6)(), w = (0, S.v6)(); let C, U, G, Y, X = [], Z = s, ee = [], te = (0, D.H)({ startTime: e => e.responseTimestamp, ttl: e => null == (0, _.S9)() ? null : 1e3 * Math.max((0, _.S9)(), e.ttl) }), ne = [], ie = [], re = []; function se() { return { auctionId: b, timestamp: C, auctionEnd: U, auctionStatus: Y, adUnits: p, adUnitCodes: m, labels: h, bidderRequests: ee, noBids: ne, bidsReceived: te.toArray(), bidsRejected: X, winningBids: ie, timeout: y, metrics: g, seatNonBids: re }; } function de(e) { if ( (e ? B.Ic(R.qY.AUCTION_TIMEOUT, se()) : clearTimeout(G), void 0 === U) ) { let n = []; e && ((0, i.OG)(`Auction ${b} timedOut`), (n = ee .filter(e => !v.has(e.bidderRequestId)) .flatMap(e => e.bids)), n.length && B.Ic(R.qY.BID_TIMEOUT, n)), (Y = q), (U = Date.now()), g.checkpoint('auctionEnd'), g.timeBetween( 'requestBids', 'auctionEnd', 'requestBids.total' ), g.timeBetween( 'callBids', 'auctionEnd', 'requestBids.callBids' ), A.resolve(), B.Ic(R.qY.AUCTION_END, se()), z(p, function() { try { if (null != Z) { const t = te .toArray() .filter(e => m.includes(e.adUnitCode)) .reduce(oe, {}); Z.apply(M, [t, e, b]), (Z = null); } } catch (e) { (0, i.vV)('Error executing bidsBackHandler', null, e); } finally { n.length && O.Ay.callTimedOutBidders(t, n, y); let e = a.$W.getConfig('userSync') || {}; e.enableOverride || $(e.syncDelay); } }); } } function ce() { a.$W.resetBidder(), (0, i.fH)( `Bids Received for Auction with id: ${b}`, te.toArray() ), (Y = q), de(!1); } function le(e) { v.add(e); } function ue(e) { e.forEach(e => { var t; (t = e), (ee = ee.concat(t)); }); let t = {}, n = { bidRequests: e, run: () => { (G = setTimeout(() => de(!0), y)), (Y = x), B.Ic(R.qY.AUCTION_INIT, se()); let n = (function(e, t) { let { index: n = ae.index } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, s = 0, d = !1, c = new Set(), l = {}; function u() { s--, d && 0 === s && e(); } function g(e, t, n) { return ( (l[t.requestId] = !0), (function(e, t) { let { index: n = ae.index } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; const r = n.getBidderRequest(e), o = n.getAdUnit(e), s = (r && r.start) || e.requestTimestamp; Object.assign(e, { responseTimestamp: e.responseTimestamp || (0, i.vE)(), requestTimestamp: e.requestTimestamp || s, cpm: parseFloat(e.cpm) || 0, bidder: e.bidder || e.bidderCode, adUnitCode: t }), null != o?.ttlBuffer && (e.ttlBuffer = o.ttlBuffer); e.timeToRespond = e.responseTimestamp - e.requestTimestamp; })(t, e), s++, n(u) ); } function p(e, s) { g(e, s, e => { let d = (function(e) { let { index: t = ae.index } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; B.Ic(R.qY.BID_ADJUSTMENT, e); const n = t.getAdUnit(e); e.instl = 1 === n?.ortb2Imp?.instl; const i = t.getBidRequest(e)?.renderer || n.renderer, o = e.mediaType, s = t.getMediaTypes(e), d = s && s[o]; var c = d && d.renderer, l = null; !c || !c.render || (!0 === c.backupOnly && e.renderer) ? !i || !i.render || (!0 === i.backupOnly && e.renderer) || (l = i) : (l = c); l && ((e.renderer = E.A4.install({ url: l.url, config: l.options, renderNow: null == l.url })), e.renderer.setRender(l.render)); const u = K( e.mediaType, s, a.$W.getConfig('mediaTypePriceGranularity') ), f = (0, r.j)( e.cpm, 'object' == typeof u ? u : a.$W.getConfig('customPriceBucket'), a.$W.getConfig( 'currency.granularityMultiplier' ) ); return ( (e.pbLg = f.low), (e.pbMg = f.med), (e.pbHg = f.high), (e.pbAg = f.auto), (e.pbDg = f.dense), (e.pbCg = f.custom), e ); })(s); B.Ic(R.qY.BID_ACCEPTED, d), d.mediaType === T.G_ ? (function(e, t, n) { let { index: r = ae.index } = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}, o = !0; const s = r.getMediaTypes({ requestId: t.originalRequestId || t.requestId, adUnitId: t.adUnitId })?.video, d = s && s?.context, c = s && s?.useCacheKey, { useLocal: l, url: u, ignoreBidderCacheKey: g } = a.$W.getConfig('cache') || {}; l ? f(t) : u && (c || d !== I.H6) && (!t.videoCacheKey || g ? ((o = !1), Q(e, t, n, s)) : t.vastUrl || ((0, i.vV)( 'videoCacheKey specified but not required vastUrl for video bid' ), (o = !1))); o && (J(e, t), n()); })(t, d, e) : ((0, o.l6)(d) && (0, o.gs)(d, n.getAdUnit(d)), J(t, d), e()); }); } function h(e, n, r) { return g(e, n, e => { (n.rejectionReason = r), (0, i.JE)( `Bid from ${n.bidder || 'unknown bidder'} was rejected: ${r}`, n ), B.Ic(R.qY.BID_REJECTED, n), t.addBidRejected(n), e(); }); } function m() { let n = this, r = t.getBidRequests(); const o = a.$W.getConfig('auctionOptions'); if ((c.add(n), o && !(0, i.Im)(o))) { const e = o.secondaryBidders; e && !r.every(t => e.includes(t.bidderCode)) && (r = r.filter(t => !e.includes(t.bidderCode))); } (d = r.every(e => c.has(e))), n.bids.forEach(e => { l[e.bidId] || (t.addNoBid(e), B.Ic(R.qY.NO_BID, e)); }), d && 0 === s && e(); } return { addBidResponse: (function() { function e(e, t) { F.call( { dispatch: p }, e, t, (() => { let n = !1; return i => { n || (h(e, t, i), (n = !0)); }; })() ); } return (e.reject = h), e; })(), adapterDone: function() { H(S.U9.resolve()).finally(() => m.call(this)); } }; })(ce, this); O.Ay.callBids( p, e, n.addBidResponse, n.adapterDone, { request(e, n) { d(W, n), d(t, e), P[e] || (P[e] = { SRA: !0, origin: n }), t[e] > 1 && (P[e].SRA = !1); }, done(e) { W[e]--, V[0] && s(V[0]) && V.shift(); } }, y, le, u ), w.resolve(); } }; function s(e) { let t = !0, n = a.$W.getConfig('maxRequestsPerOrigin') || N; return ( e.bidRequests.some(e => { let i = 1, r = void 0 !== e.src && e.src === R.RW.SRC ? 's2s' : e.bidderCode; return ( P[r] && (!1 === P[r].SRA && (i = Math.min(e.bids.length, n)), W[P[r].origin] + i > n && (t = !1)), !t ); }), t && e.run(), t ); } function d(e, t) { void 0 === e[t] ? (e[t] = 1) : e[t]++; } s(n) || ((0, i.JE)( 'queueing auction due to limited endpoint capacity' ), V.push(n)); } return ( (0, _.lc)(() => te.refresh()), B.on(R.qY.SEAT_NON_BID, e => { var t; e.auctionId === b && ((t = e.seatnonbid), (re = re.concat(t))); }), { addBidReceived: function(e) { te.add(e); }, addBidRejected: function(e) { X = X.concat(e); }, addNoBid: function(e) { ne = ne.concat(e); }, callBids: function() { (Y = j), (C = Date.now()); let e = g.measureTime('requestBids.makeRequests', () => O.Ay.makeBidRequests(p, C, b, y, h, u, g) ); (0, i.fH)(`Bids Requested for Auction with id: ${b}`, e), g.checkpoint('callBids'), e.length < 1 ? ((0, i.JE)( 'No valid bid requests returned for auction' ), ce()) : L.call({ dispatch: ue, context: this }, e); }, addWinningBid: function(e) { (ie = ie.concat(e)), O.Ay.callBidWonBidder(e.adapterCode || e.bidder, e, t), e.deferBilling || O.Ay.triggerBilling(e); }, setBidTargeting: function(e) { O.Ay.callSetTargetingBidder(e.adapterCode || e.bidder, e); }, getWinningBids: () => ie, getAuctionStart: () => C, getAuctionEnd: () => U, getTimeout: () => y, getAuctionId: () => b, getAuctionStatus: () => Y, getAdUnits: () => p, getAdUnitCodes: () => m, getBidRequests: () => ee, getBidsReceived: () => te.toArray(), getNoBids: () => ne, getNonBids: () => re, getFPD: () => u, getMetrics: () => g, end: A.promise, requestsDone: w.promise, getProperties: se } ); } const F = (0, w.u2)( (0, w.A_)( 'async', function(e, t, n) { !(function(e) { const t = a.$W.getConfig('maxBid'); return !t || !e.cpm || t >= Number(e.cpm); })(t) ? n(R.Tf.PRICE_TOO_HIGH) : this.dispatch.call(null, e, t); }, 'addBidResponse' ) ), H = (0, w.A_)('sync', e => e, 'responsesReady'), L = (0, w.A_)( 'sync', function(e) { this.dispatch.call(this.context, e); }, 'addBidderRequests' ), z = (0, w.A_)( 'async', function(e, t) { t && t(); }, 'bidsBackCallback' ); function J(e, t) { !(function(e) { let t; const n = !0 === C.u.get(e.bidderCode, 'allowZeroCpmBids') ? e.cpm >= 0 : e.cpm > 0; e.bidderCode && (n || e.dealId) && (t = (function(e, t) { let { index: n = ae.index } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; if (!t) return {}; const i = n.getBidRequest(t); var r = {}; const s = ie(t.mediaType, e); re(r, s, t, i), e && C.u.getOwn(e, R.iD.ADSERVER_TARGETING) && (re(r, C.u.ownSettingsFor(e), t, i), (t.sendStandardTargeting = C.u.get( e, 'sendStandardTargeting' ))); t.native && (r = Object.assign({}, r, (0, o.Zj)(t))); return r; })(e.bidderCode, e)); e.adserverTargeting = Object.assign( e.adserverTargeting || {}, t ); })(t), (0, k.BO)(t.metrics).timeSince( 'addBidResponse', 'addBidResponse.total' ), e.addBidReceived(t), B.Ic(R.qY.BID_RESPONSE, t); } const Q = (0, w.A_)( 'async', function(e, t, n, i) { v(e, t, n); }, 'callPrebidCache' ); function K(e, t, n) { if (e && n) { if (e === T.G_) { const e = t?.[T.G_]?.context ?? 'instream'; if (n[`${T.G_}-${e}`]) return n[`${T.G_}-${e}`]; } return n[e]; } } const Y = e => t => { const n = e || (function(e) { let { index: t = ae.index } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; const n = K( e.mediaType, t.getMediaTypes(e), a.$W.getConfig('mediaTypePriceGranularity') ); return 'string' == typeof e.mediaType && n ? 'string' == typeof n ? n : 'custom' : a.$W.getConfig('priceGranularity'); })(t); return n === R.UE.AUTO ? t.pbAg : n === R.UE.DENSE ? t.pbDg : n === R.UE.LOW ? t.pbLg : n === R.UE.MEDIUM ? t.pbMg : n === R.UE.HIGH ? t.pbHg : n === R.UE.CUSTOM ? t.pbCg : void 0; }, X = () => e => (e.creativeId ? e.creativeId : ''), Z = () => e => e.meta && e.meta.advertiserDomains && e.meta.advertiserDomains.length > 0 ? [e.meta.advertiserDomains].flat()[0] : '', ee = () => e => e.meta && (e.meta.networkId || e.meta.networkName) ? e?.meta?.networkName || e?.meta?.networkId : '', te = () => e => { const t = e?.meta?.primaryCatId; return Array.isArray(t) ? t[0] || '' : t || ''; }; function ne(e, t) { return { key: e, val: 'function' == typeof t ? function(e, n) { return t(e, n); } : function(e) { return e[t]; } }; } function ie(e, t) { const n = Object.assign({}, C.u.settingsFor(null)); if ( (n[R.iD.ADSERVER_TARGETING] || (n[R.iD.ADSERVER_TARGETING] = [ ne(R.xS.BIDDER, 'bidderCode'), ne(R.xS.AD_ID, 'adId'), ne(R.xS.PRICE_BUCKET, Y()), ne(R.xS.SIZE, 'size'), ne(R.xS.DEAL, 'dealId'), ne(R.xS.SOURCE, 'source'), ne(R.xS.FORMAT, 'mediaType'), ne(R.xS.ADOMAIN, Z()), ne(R.xS.ACAT, te()), ne(R.xS.DSP, ee()), ne(R.xS.CRID, X()) ]), 'video' === e) ) { const e = n[R.iD.ADSERVER_TARGETING].slice(); if ( ((n[R.iD.ADSERVER_TARGETING] = e), [R.xS.UUID, R.xS.CACHE_ID].forEach(t => { void 0 === e.find(e => e.key === t) && e.push(ne(t, 'videoCacheKey')); }), a.$W.getConfig('cache.url') && (!t || !1 !== C.u.get(t, 'sendStandardTargeting'))) ) { const t = (0, i.Dl)(a.$W.getConfig('cache.url')); void 0 === e.find(e => e.key === R.xS.CACHE_HOST) && e.push( ne(R.xS.CACHE_HOST, function(e) { return ( e?.adserverTargeting?.[R.xS.CACHE_HOST] || t.hostname ); }) ); } } return n; } function re(e, t, n, r) { var o = t[R.iD.ADSERVER_TARGETING]; return ( (n.size = n.getSize()), (o || []).forEach(function(o) { var s = o.key, a = o.val; if ( (e[s] && (0, i.JE)('The key: ' + s + ' is being overwritten'), (0, i.fp)(a)) ) try { a = a(n, r); } catch (e) { (0, i.vV)('bidmanager', 'ERROR', e); } ((void 0 === t.suppressEmptyKeys || !0 !== t.suppressEmptyKeys) && s !== R.xS.DEAL && s !== R.xS.ACAT && s !== R.xS.DSP && s !== R.xS.CRID) || (!(0, i.xQ)(a) && null != a) ? (e[s] = a) : (0, i.fH)( "suppressing empty key '" + s + "' from adserver targeting" ); }), e ); } function oe(e, t) { return ( e[t.adUnitCode] || (e[t.adUnitCode] = { bids: [] }), e[t.adUnitCode].bids.push(t), e ); } function se(e) { Object.assign(this, { getAuction(t) { let { auctionId: n } = t; if (null != n) return e().find(e => e.getAuctionId() === n); }, getAdUnit(t) { let { adUnitId: n } = t; if (null != n) return e() .flatMap(e => e.getAdUnits()) .find(e => e.adUnitId === n); }, getMediaTypes(e) { let { adUnitId: t, requestId: n } = e; if (null != n) { const e = this.getBidRequest({ requestId: n }); if (null != e && (null == t || e.adUnitId === t)) return e.mediaTypes; } else if (null != t) { const e = this.getAdUnit({ adUnitId: t }); if (null != e) return e.mediaTypes; } }, getBidderRequest(t) { let { requestId: n, bidderRequestId: i } = t; if (null != n || null != i) { let t = e().flatMap(e => e.getBidRequests()); return ( null != i && (t = t.filter(e => e.bidderRequestId === i)), null == n ? t[0] : t.find( e => e.bids && null != e.bids.find(e => e.bidId === n) ) ); } }, getBidRequest(t) { let { requestId: n } = t; if (null != n) return e() .flatMap(e => e.getBidRequests()) .flatMap(e => e.bids) .find(e => e && e.bidId === n); }, getOrtb2(e) { return ( this.getBidderRequest(e)?.ortb2 || this.getAuction(e)?.getFPD()?.global?.ortb2 ); } }); } const ae = (function() { const e = (0, D.H)({ startTime: e => e.end.then(() => e.getAuctionEnd()), ttl: e => null == (0, _.S9)() ? null : e.end.then( () => 1e3 * Math.max( (0, _.S9)(), ...e.getBidsReceived().map(e => e.ttl) ) ) }); (0, _.lc)(() => e.refresh()); const t = { onExpiry: e.onExpiry }; function n(t) { for (const n of e) if (n.getAuctionId() === t) return n; } function r() { return e.toArray().flatMap(e => e.getBidsReceived()); } return ( (t.addWinningBid = function(e) { const t = (0, k.BO)(e.metrics); t.checkpoint('bidWon'), t.timeBetween('auctionEnd', 'bidWon', 'adserver.pending'), t.timeBetween('requestBids', 'bidWon', 'adserver.e2e'); const r = n(e.auctionId); r ? r.addWinningBid(e) : (0, i.JE)('Auction not found when adding winning bid'); }), Object.entries({ getAllWinningBids: { name: 'getWinningBids' }, getBidsRequested: { name: 'getBidRequests' }, getNoBids: {}, getAdUnits: {}, getBidsReceived: { pre: e => e.getAuctionStatus() === q }, getAdUnitCodes: { post: i.hj } }).forEach(n => { let [i, { name: r = i, pre: o, post: s }] = n; const a = null == o ? e => e[r]() : e => (o(e) ? e[r]() : []), d = null == s ? e => e : e => e.filter(s); t[i] = () => d(e.toArray().flatMap(a)); }), (t.getAllBidsForAdUnitCode = function(e) { return r().filter(t => t && t.adUnitCode === e); }), (t.createAuction = function(t) { const n = G(t); return ( (function(t) { e.add(t); })(n), n ); }), (t.findBidByAdId = function(e) { return r().find(t => t.adId === e); }), (t.getStandardBidderAdServerTargeting = function() { return ie()[R.iD.ADSERVER_TARGETING]; }), (t.setStatusForBids = function(e, i) { let r = t.findBidByAdId(e); if ( (r && (r.status = i), r && i === R.tl.BID_TARGETING_SET) ) { const e = n(r.auctionId); e && e.setBidTargeting(r); } }), (t.getLastAuctionId = function() { const t = e.toArray(); return t.length && t[t.length - 1].getAuctionId(); }), (t.clearAllAuctions = function() { e.clear(); }), (t.index = new se(() => e.toArray())), t ); })(); }, 7863: (e, t, n) => { n.d(t, { S9: () => l, cT: () => c, lc: () => u }); var i = n(3272), r = n(1069); const o = 'minBidCacheTTL'; let s = 1, a = null; const d = []; function c(e) { return e.ttl - (e.hasOwnProperty('ttlBuffer') ? e.ttlBuffer : s); } function l() { return a; } function u(e) { d.push(e); } i.$W.getConfig('ttlBuffer', e => { 'number' == typeof e.ttlBuffer ? (s = e.ttlBuffer) : (0, r.vV)('Invalid value for ttlBuffer', e.ttlBuffer); }), i.$W.getConfig(o, e => { const t = a; (a = e?.[o]), (a = 'number' == typeof a ? a : null), t !== a && d.forEach(e => e(a)); }); }, 2693: (e, t, n) => { n.d(t, { u: () => a }); var i = n(433), r = n(1069), o = n(7873), s = n(8969); const a = new (class { constructor(e, t) { (this.getSettings = e), (this.defaultScope = t); } get(e, t) { let n = this.getOwn(e, t); return void 0 === n && (n = this.getOwn(null, t)), n; } getOwn(e, t) { return ( (e = this.#e(e)), (0, i.A)(this.getSettings(), `${e}.${t}`) ); } getScopes() { return Object.keys(this.getSettings()).filter( e => e !== this.defaultScope ); } settingsFor(e) { return (0, r.D9)( {}, this.ownSettingsFor(null), this.ownSettingsFor(e) ); } ownSettingsFor(e) { return (e = this.#e(e)), this.getSettings()[e] || {}; } #e(e) { return null == e ? this.defaultScope : e; } })(() => (0, o.m)().bidderSettings || {}, s.iD.BD_SETTING_STANDARD); }, 3597: (e, t, n) => { n.d(t, { O: () => o }); var i = n(1069); function r(e) { let { src: t = 'client', bidder: n = '', bidId: r, transactionId: o, adUnitId: s, auctionId: a } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; var d = t, c = e || 0; Object.assign(this, { bidderCode: n, width: 0, height: 0, statusMessage: (function() { switch (c) { case 0: return 'Pending'; case 1: return 'Bid available'; case 2: return 'Bid returned empty or error response'; case 3: return 'Bid timed out'; } })(), adId: (0, i.s0)(), requestId: r, transactionId: o, adUnitId: s, auctionId: a, mediaType: 'banner', source: d }), (this.getStatusCode = function() { return c; }), (this.getSize = function() { return this.width + 'x' + this.height; }), (this.getIdentifiers = function() { return { src: this.source, bidder: this.bidderCode, bidId: this.requestId, transactionId: this.transactionId, adUnitId: this.adUnitId, auctionId: this.auctionId }; }); } function o(e, t) { return new r(e, t); } }, 3272: (e, t, n) => { n.d(t, { $W: () => p, Ov: () => c }); var i = n(6833), r = n(1069), o = n(433), s = n(8969); const a = 'TRUE' === (0, r.Ez)(s.M).toUpperCase(), d = {}, c = 'random', l = {}; (l[c] = !0), (l.fixed = !0); const u = c, f = { LOW: 'low', MEDIUM: 'medium', HIGH: 'high', AUTO: 'auto', DENSE: 'dense', CUSTOM: 'custom' }; function g(e) { const t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1] ? { priceGranularity: f.MEDIUM, customPriceBucket: {}, mediaTypePriceGranularity: {}, bidderSequence: u, auctionOptions: {} } : {}; function n(e) { return t[e]; } function o(n, i) { t.hasOwnProperty(n) || Object.defineProperty(e, n, { enumerable: !0 }), (t[n] = i); } const s = { publisherDomain: { set(e) { null != e && (0, r.JE)( 'publisherDomain is deprecated and has no effect since v7 - use pageUrl instead' ), o('publisherDomain', e); } }, priceGranularity: { set(e) { d(e) && ('string' == typeof e ? o('priceGranularity', a(e) ? e : f.MEDIUM) : (0, r.Qd)(e) && (o('customPriceBucket', e), o('priceGranularity', f.CUSTOM), (0, r.OG)('Using custom price granularity'))); } }, customPriceBucket: {}, mediaTypePriceGranularity: { set(e) { null != e && o( 'mediaTypePriceGranularity', Object.keys(e).reduce( (t, i) => ( d(e[i]) ? 'string' == typeof e ? (t[i] = a(e[i]) ? e[i] : n('priceGranularity')) : (0, r.Qd)(e) && ((t[i] = e[i]), (0, r.OG)( `Using custom price granularity for ${i}` )) : (0, r.JE)( `Invalid price granularity for media type: ${i}` ), t ), {} ) ); } }, bidderSequence: { set(e) { l[e] ? o('bidderSequence', e) : (0, r.JE)( `Invalid order: ${e}. Bidder Sequence was not set.` ); } }, auctionOptions: { set(e) { (function(e) { if (!(0, r.Qd)(e)) return ( (0, r.JE)('Auction Options must be an object'), !1 ); for (let t of Object.keys(e)) { if ( 'secondaryBidders' !== t && 'suppressStaleRender' !== t && 'suppressExpiredRender' !== t ) return ( (0, r.JE)( `Auction Options given an incorrect param: ${t}` ), !1 ); if ('secondaryBidders' === t) { if (!(0, r.cy)(e[t])) return ( (0, r.JE)( `Auction Options ${t} must be of type Array` ), !1 ); if (!e[t].every(r.O8)) return ( (0, r.JE)( `Auction Options ${t} must be only string` ), !1 ); } else if ( ('suppressStaleRender' === t || 'suppressExpiredRender' === t) && !(0, r.Lm)(e[t]) ) return ( (0, r.JE)( `Auction Options ${t} must be of type boolean` ), !1 ); } return !0; })(e) && o('auctionOptions', e); } } }; return ( Object.defineProperties( e, Object.fromEntries( Object.entries(s).map(e => { let [i, r] = e; return [ i, Object.assign( { get: n.bind(null, i), set: o.bind(null, i), enumerable: t.hasOwnProperty(i), configurable: !t.hasOwnProperty(i) }, r ) ]; }) ) ), e ); function a(e) { return Object.keys(f).find(t => e === f[t]); } function d(e) { if (!e) return ( (0, r.vV)( 'Prebid Error: no value passed to `setPriceGranularity()`' ), !1 ); if ('string' == typeof e) a(e) || (0, r.JE)( 'Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.' ); else if ((0, r.Qd)(e) && !(0, i.q)(e)) return ( (0, r.vV)( 'Invalid custom price value passed to `setPriceGranularity()`' ), !1 ); return !0; } } const p = (function() { let e, t, n, i = [], s = null; function c() { e = {}; let i = g({ debug: a, bidderTimeout: 3e3, enableSendAllBids: true, useBidCache: false, deviceAccess: true, disableAjaxTimeout: false, maxNestedIframes: 10, maxBid: 5e3, userSync: { topics: d } }); t && y( Object.keys(t).reduce( (e, n) => (t[n] !== i[n] && (e[n] = i[n] || {}), e), {} ) ), (t = i), (n = {}); } function l() { if (s && n && (0, r.Qd)(n[s])) { const e = n[s], i = new Set([...Object.keys(t), ...Object.keys(e)]), o = {}; for (const n of i) { const i = t[n], s = e[n]; o[n] = void 0 === s ? i : void 0 === i ? s : (0, r.Qd)(s) ? (0, r.D9)({}, i, s) : s; } return o; } return { ...t }; } const [u, f] = [ l, function() { const e = l(); return ( Object.defineProperty(e, 'ortb2', { get: function() { throw new Error( "invalid access to 'orbt2' config - use request parameters instead" ); } }), e ); } ].map( e => function() { if ( arguments.length <= 1 && 'function' != typeof (arguments.length <= 0 ? void 0 : arguments[0]) ) { const t = arguments.length <= 0 ? void 0 : arguments[0]; return t ? (0, o.A)(e(), t) : l(); } return b(...arguments); } ), [p, h] = [f, u].map( e => function() { let t = e(...arguments); return t && 'object' == typeof t && (t = (0, r.Go)(t)), t; } ); function m(n) { if (!(0, r.Qd)(n)) return void (0, r.vV)('setConfig options must be an object'); let i = Object.keys(n), o = {}; i.forEach(i => { let s = n[i]; (0, r.Qd)(e[i]) && (0, r.Qd)(s) && (s = Object.assign({}, e[i], s)); try { o[i] = t[i] = s; } catch (e) { (0, r.JE)(`Cannot set config for property ${i} : `, e); } }), y(o); } function b(e, t) { let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, o = t; if ( ('string' != typeof e && ((o = e), (e = '*'), (n = t || {})), 'function' != typeof o) ) return void (0, r.vV)('listener must be a function'); const s = { topic: e, callback: o }; return ( i.push(s), n.init && o('*' === e ? f() : { [e]: f(e) }), function() { i.splice(i.indexOf(s), 1); } ); } function y(e) { const t = Object.keys(e); i .filter(e => t.includes(e.topic)) .forEach(t => { t.callback({ [t.topic]: e[t.topic] }); }), i.filter(e => '*' === e.topic).forEach(t => t.callback(e)); } function v(e) { let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; try { !(function(e) { if (!(0, r.Qd)(e)) throw 'setBidderConfig bidder options must be an object'; if (!Array.isArray(e.bidders) || !e.bidders.length) throw 'setBidderConfig bidder options must contain a bidders list with at least 1 bidder'; if (!(0, r.Qd)(e.config)) throw 'setBidderConfig bidder options must contain a config object'; })(e), e.bidders.forEach(i => { n[i] || (n[i] = g({}, !1)), Object.keys(e.config).forEach(o => { let s = e.config[o]; const a = n[i][o]; if ((0, r.Qd)(s) && (null == a || (0, r.Qd)(a))) { const e = t ? r.D9 : Object.assign; n[i][o] = e({}, a || {}, s); } else n[i][o] = s; }); }); } catch (e) { (0, r.vV)(e); } } function E(e, t) { s = e; try { return t(); } finally { A(); } } function A() { s = null; } return ( c(), { getCurrentBidder: function() { return s; }, resetBidder: A, getConfig: f, getAnyConfig: u, readConfig: p, readAnyConfig: h, setConfig: m, mergeConfig: function(e) { if (!(0, r.Qd)(e)) return void (0, r.vV)( 'mergeConfig input must be an object' ); const t = (0, r.D9)(l(), e); return m({ ...t }), t; }, setDefaults: function(n) { (0, r.Qd)(e) ? (Object.assign(e, n), Object.assign(t, n)) : (0, r.vV)('defaults must be an object'); }, resetConfig: c, runWithBidder: E, callbackWithBidder: function(e) { return function(t) { return function() { if ('function' == typeof t) { for ( var n = arguments.length, i = new Array(n), o = 0; o < n; o++ ) i[o] = arguments[o]; return E(e, t.bind(this, ...i)); } (0, r.JE)( 'config.callbackWithBidder callback is not a function' ); }; }; }, setBidderConfig: v, getBidderConfig: function() { return n; }, mergeBidderConfig: function(e) { return v(e, !0); } } ); })(); }, 6916: (e, t, n) => { n.d(t, { B1: () => s, SL: () => p, ad: () => l, mW: () => d, o2: () => f, t6: () => c }); var i = n(1069), r = n(5555), o = n(3272); const s = Object.freeze({}); class a { #t; #n; #i; #r; #o = !0; #s; generatedTime; hashFields; constructor() { this.reset(); } #a(e) { (this.#r = !0), (this.#n = e), this.#i.resolve(e); } reset() { (this.#i = (0, r.v6)()), (this.#t = !1), (this.#n = null), (this.#r = !1), (this.generatedTime = null); } enable() { this.#t = !0; } get enabled() { return this.#t; } get ready() { return this.#r; } get promise() { return this.#r ? r.U9.resolve(this.#n) : (this.#t || this.#a(null), this.#i.promise); } setConsentData(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : (0, i.vE)(); (this.generatedTime = t), (this.#o = !0), this.#a(e); } getConsentData() { return this.#n; } get hash() { return ( this.#o && ((this.#s = (0, i.PB)( JSON.stringify( this.#n && this.hashFields ? this.hashFields.map(e => this.#n[e]) : this.#n ) )), (this.#o = !1)), this.#s ); } } const d = new (class extends a { hashFields = ['gdprApplies', 'consentString']; getConsentMeta() { const e = this.getConsentData(); if (e && e.vendorData && this.generatedTime) return { gdprApplies: e.gdprApplies, consentStringSize: (0, i.O8)(e.vendorData.tcString) ? e.vendorData.tcString.length : 0, generatedAt: this.generatedTime, apiVersion: e.apiVersion }; } })(), c = new (class extends a { getConsentMeta() { if (this.getConsentData() && this.generatedTime) return { generatedAt: this.generatedTime }; } })(), l = new (class extends a { hashFields = ['applicableSections', 'gppString']; getConsentMeta() { if (this.getConsentData() && this.generatedTime) return { generatedAt: this.generatedTime }; } })(), u = (() => { function e() { return !!o.$W.getConfig('coppa'); } return { getCoppa: e, getConsentData: e, getConsentMeta: e, reset() {}, get promise() { return r.U9.resolve(e()); }, get hash() { return e() ? '1' : '0'; } }; })(), f = (function() { const e = {}, t = {}, n = {}; return { register(i, r, o) { o && (((e[r] = e[r] || {})[i] = o), t.hasOwnProperty(r) ? t[r] !== o && (t[r] = n) : (t[r] = o)); }, get(i) { const r = { modules: e[i] || {} }; return ( t.hasOwnProperty(i) && t[i] !== n && (r.gvlid = t[i]), r ); } }; })(), g = { gdpr: d, usp: c, gpp: l, coppa: u }; const p = (function() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : g; return ( (e = Object.entries(e)), Object.assign( { get promise() { return r.U9.all( e.map(e => { let [t, n] = e; return n.promise.then(e => [t, e]); }) ).then(e => Object.fromEntries(e)); }, get hash() { return (0, i.PB)( e .map(e => { let [t, n] = e; return n.hash; }) .join(':') ); } }, Object.fromEntries( ['getConsentData', 'getConsentMeta', 'reset'].map(t => { return [ t, ((n = t), function() { return Object.fromEntries( e.map(e => { let [t, i] = e; return [t, i[n]()]; }) ); }) ]; var n; }) ) ) ); })(); }, 8969: (e, t, n) => { n.d(t, { IY: () => A, M: () => r, RW: () => g, Tf: () => h, UE: () => c, XQ: () => o, Zh: () => u, _B: () => v, as: () => a, cA: () => d, h0: () => m, iD: () => i, jO: () => b, nl: () => E, oA: () => y, qY: () => s, tl: () => p, x5: () => f, xS: () => l }); const i = { PL_CODE: 'code', PL_SIZE: 'sizes', PL_BIDS: 'bids', BD_BIDDER: 'bidder', BD_ID: 'paramsd', BD_PL_ID: 'placementId', ADSERVER_TARGETING: 'adserverTargeting', BD_SETTING_STANDARD: 'standard' }, r = 'pbjs_debug', o = { GOOD: 1 }, s = { AUCTION_INIT: 'auctionInit', AUCTION_TIMEOUT: 'auctionTimeout', AUCTION_END: 'auctionEnd', BID_ADJUSTMENT: 'bidAdjustment', BID_TIMEOUT: 'bidTimeout', BID_REQUESTED: 'bidRequested', BID_RESPONSE: 'bidResponse', BID_REJECTED: 'bidRejected', NO_BID: 'noBid', SEAT_NON_BID: 'seatNonBid', BID_WON: 'bidWon', BIDDER_DONE: 'bidderDone', BIDDER_ERROR: 'bidderError', SET_TARGETING: 'setTargeting', BEFORE_REQUEST_BIDS: 'beforeRequestBids', BEFORE_BIDDER_HTTP: 'beforeBidderHttp', REQUEST_BIDS: 'requestBids', ADD_AD_UNITS: 'addAdUnits', AD_RENDER_FAILED: 'adRenderFailed', AD_RENDER_SUCCEEDED: 'adRenderSucceeded', TCF2_ENFORCEMENT: 'tcf2Enforcement', AUCTION_DEBUG: 'auctionDebug', BID_VIEWABLE: 'bidViewable', STALE_RENDER: 'staleRender', EXPIRED_RENDER: 'expiredRender', BILLABLE_EVENT: 'billableEvent', BID_ACCEPTED: 'bidAccepted', RUN_PAAPI_AUCTION: 'paapiRunAuction', PBS_ANALYTICS: 'pbsAnalytics', PAAPI_BID: 'paapiBid', PAAPI_NO_BID: 'paapiNoBid', PAAPI_ERROR: 'paapiError', BEFORE_PBS_HTTP: 'beforePBSHttp', BROWSI_INIT: 'browsiInit', BROWSI_DATA: 'browsiData' }, a = { PREVENT_WRITING_ON_MAIN_DOCUMENT: 'preventWritingOnMainDocument', NO_AD: 'noAd', EXCEPTION: 'exception', CANNOT_FIND_AD: 'cannotFindAd', MISSING_DOC_OR_ADID: 'missingDocOrAdid' }, d = { bidWon: 'adUnitCode' }, c = { LOW: 'low', MEDIUM: 'medium', HIGH: 'high', AUTO: 'auto', DENSE: 'dense', CUSTOM: 'custom' }, l = { BIDDER: 'hb_bidder', AD_ID: 'hb_adid', PRICE_BUCKET: 'hb_pb', SIZE: 'hb_size', DEAL: 'hb_deal', SOURCE: 'hb_source', FORMAT: 'hb_format', UUID: 'hb_uuid', CACHE_ID: 'hb_cache_id', CACHE_HOST: 'hb_cache_host', ADOMAIN: 'hb_adomain', ACAT: 'hb_acat', CRID: 'hb_crid', DSP: 'hb_dsp' }, u = { BIDDER: 'hb_bidder', AD_ID: 'hb_adid', PRICE_BUCKET: 'hb_pb', SIZE: 'hb_size', DEAL: 'hb_deal', FORMAT: 'hb_format', UUID: 'hb_uuid', CACHE_HOST: 'hb_cache_host' }, f = { title: 'hb_native_title', body: 'hb_native_body', body2: 'hb_native_body2', privacyLink: 'hb_native_privacy', privacyIcon: 'hb_native_privicon', sponsoredBy: 'hb_native_brand', image: 'hb_native_image', icon: 'hb_native_icon', clickUrl: 'hb_native_linkurl', displayUrl: 'hb_native_displayurl', cta: 'hb_native_cta', rating: 'hb_native_rating', address: 'hb_native_address', downloads: 'hb_native_downloads', likes: 'hb_native_likes', phone: 'hb_native_phone', price: 'hb_native_price', salePrice: 'hb_native_saleprice', rendererUrl: 'hb_renderer_url', adTemplate: 'hb_adTemplate' }, g = { SRC: 's2s', DEFAULT_ENDPOINT: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction', SYNCED_BIDDERS_KEY: 'pbjsSyncs' }, p = { BID_TARGETING_SET: 'targetingSet', RENDERED: 'rendered', BID_REJECTED: 'bidRejected' }, h = { INVALID: 'Bid has missing or invalid properties', INVALID_REQUEST_ID: 'Invalid request ID', BIDDER_DISALLOWED: 'Bidder code is not allowed by allowedAlternateBidderCodes / allowUnknownBidderCodes', FLOOR_NOT_MET: 'Bid does not meet price floor', CANNOT_CONVERT_CURRENCY: 'Unable to convert currency', DSA_REQUIRED: 'Bid does not provide required DSA transparency info', DSA_MISMATCH: 'Bid indicates inappropriate DSA rendering method', PRICE_TOO_HIGH: 'Bid price exceeds maximum value' }, m = { body: 'desc', body2: 'desc2', sponsoredBy: 'sponsored', cta: 'ctatext', rating: 'rating', address: 'address', downloads: 'downloads', likes: 'likes', phone: 'phone', price: 'price', salePrice: 'saleprice', displayUrl: 'displayurl' }, b = { sponsored: 1, desc: 2, rating: 3, likes: 4, downloads: 5, price: 6, saleprice: 7, phone: 8, address: 9, desc2: 10, displayurl: 11, ctatext: 12 }, y = { ICON: 1, MAIN: 3 }, v = [ 'privacyIcon', 'clickUrl', 'sendTargetingKeys', 'adTemplate', 'rendererUrl', 'type' ], E = { REQUEST: 'Prebid Request', RESPONSE: 'Prebid Response', NATIVE: 'Prebid Native', EVENT: 'Prebid Event' }, A = '__pb_locator__'; }, 6833: (e, t, n) => { n.d(t, { j: () => u, q: () => g }); var i = n(1069), r = n(3272); const o = 2, s = { buckets: [{ max: 5, increment: 0.5 }] }, a = { buckets: [{ max: 20, increment: 0.1 }] }, d = { buckets: [{ max: 20, increment: 0.01 }] }, c = { buckets: [ { max: 3, increment: 0.01 }, { max: 8, increment: 0.05 }, { max: 20, increment: 0.5 } ] }, l = { buckets: [ { max: 5, increment: 0.05 }, { max: 10, increment: 0.1 }, { max: 20, increment: 0.5 } ] }; function u(e, t) { let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1, i = parseFloat(e); return ( isNaN(i) && (i = ''), { low: '' === i ? '' : f(e, s, n), med: '' === i ? '' : f(e, a, n), high: '' === i ? '' : f(e, d, n), auto: '' === i ? '' : f(e, l, n), dense: '' === i ? '' : f(e, c, n), custom: '' === i ? '' : f(e, t, n) } ); } function f(e, t, n) { let s = ''; if (!g(t)) return s; const a = t.buckets.reduce((e, t) => (e.max > t.max ? e : t), { max: 0 }); let d = 0, c = t.buckets.find(t => { if (e > a.max * n) { let e = t.precision; void 0 === e && (e = o), (s = (t.max * n).toFixed(e)); } else { if (e <= t.max * n && e >= d * n) return (t.min = d), t; d = t.max; } }); return ( c && (s = (function(e, t, n) { const s = void 0 !== t.precision ? t.precision : o, a = t.increment * n, d = t.min * n; let c = Math.floor, l = r.$W.getConfig('cpmRoundingFunction'); 'function' == typeof l && (c = l); let u, f, g = Math.pow(10, s + 2), p = (e * g - d * g) / (a * g); try { u = c(p) * a + d; } catch (e) { f = !0; } (f || 'number' != typeof u) && ((0, i.JE)('Invalid rounding function passed in config'), (u = Math.floor(p) * a + d)); return (u = Number(u.toFixed(10))), u.toFixed(s); })(e, c, n)), s ); } function g(e) { if ((0, i.Im)(e) || !e.buckets || !Array.isArray(e.buckets)) return !1; let t = !0; return ( e.buckets.forEach(e => { (e.max && e.increment) || (t = !1); }), t ); } }, 6031: (e, t, n) => { n.d(t, { HH: () => c, kj: () => d, xh: () => a }); var i = n(5555), r = n(1069), o = n(4595), s = n(9214); const a = 3, d = (0, s.A_)('sync', function(e) { return o.G; }), c = (function() { const e = {}; return function(t) { const n = d(t); return ( e.hasOwnProperty(n) || (e[n] = new i.U9(e => { const t = (0, r.CA)(); (t.srcdoc = `<script>${n}<\/script>`), (t.onload = () => e(t.contentWindow.render)), document.body.appendChild(t); })), e[n] ); }; })(); }, 3005: (e, t, n) => { n.d(t, { $T: () => a, Ni: () => i, OA: () => o, RO: () => s, fR: () => r }); const i = 1, r = 2, o = 1, s = 500; function a(e) { return (e ?? []).reduce((e, t) => { let { event: n, method: i, url: r } = t; const o = (e[n] = e[n] ?? {}); return (o[i] = o[i] ?? []).push(r), e; }, {}); } }, 5023: (e, t, n) => { n.d(t, { AU: () => m, Ic: () => v, kQ: () => y, on: () => h }); var i = n(1069), r = n(8969), o = n(6853), s = n(3272); const a = 'eventHistoryTTL'; let d = null; const c = (0, o.H)({ monotonic: !0, ttl: () => d }); s.$W.getConfig(a, e => { const t = d; (e = e?.[a]), (d = 'number' == typeof e ? 1e3 * e : null), t !== d && c.refresh(); }); let l = Array.prototype.slice, u = Array.prototype.push, f = Object.values(r.qY); const g = r.cA, p = (function() { let e = {}, t = {}; function n(e) { return f.includes(e); } return ( (t.has = n), (t.on = function(t, r, o) { if (n(t)) { let n = e[t] || { que: [] }; o ? ((n[o] = n[o] || { que: [] }), n[o].que.push(r)) : n.que.push(r), (e[t] = n); } else i.vV( 'Wrong event name : ' + t + ' Valid event names :' + f ); }), (t.emit = function(t) { !(function(t, n) { i.OG('Emitting event for: ' + t); let r = n[0] || {}, o = r[g[t]], s = e[t] || { que: [] }; var a = Object.keys(s); let d = []; c.add({ eventType: t, args: r, id: o, elapsedTime: i.V() }), o && a.includes(o) && u.apply(d, s[o].que), u.apply(d, s.que), (d || []).forEach(function(e) { if (e) try { e.apply(null, n); } catch (e) { i.vV( 'Error executing handler:', 'events.js', e, t ); } }); })(t, l.call(arguments, 1)); }), (t.off = function(t, n, r) { let o = e[t]; i.Im(o) || (i.Im(o.que) && i.Im(o[r])) || (r && (i.Im(o[r]) || i.Im(o[r].que))) || (r ? (o[r].que || []).forEach(function(e) { let t = o[r].que; e === n && t.splice(t.indexOf(e), 1); }) : (o.que || []).forEach(function(e) { let t = o.que; e === n && t.splice(t.indexOf(e), 1); }), (e[t] = o)); }), (t.get = function() { return e; }), (t.addEvents = function(e) { f = f.concat(e); }), (t.getEvents = function() { return c.toArray().map(e => Object.assign({}, e)); }), t ); })(); i.cD(p.emit.bind(p)); const { on: h, off: m, get: b, getEvents: y, emit: v, addEvents: E, has: A } = p; }, 687: (e, t, n) => { n.d(t, { w: () => I }); var i = n(9214), r = n(7934), o = n(5973), s = n(1069), a = n(3172), d = n(3272), c = n(5555); const l = [ 'architecture', 'bitness', 'model', 'platformVersion', 'fullVersionList' ], u = ['brands', 'mobile', 'platform'], f = (function() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : window.navigator?.userAgentData; const t = e && u.some(t => void 0 !== e[t]) ? Object.freeze(p(1, e)) : null; return function() { return t; }; })(), g = (function() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : window.navigator?.userAgentData; const t = {}, n = new WeakMap(); return function() { let i = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : l; if (!n.has(i)) { const e = Array.from(i); e.sort(), n.set(i, e.join('|')); } const r = n.get(i); if (!t.hasOwnProperty(r)) try { t[r] = e .getHighEntropyValues(i) .then(e => (0, s.Im)(e) ? null : Object.freeze(p(2, e)) ) .catch(() => null); } catch (e) { t[r] = c.U9.resolve(null); } return t[r]; }; })(); function p(e, t) { function n(e, t) { const n = { brand: e }; return ( (0, s.O8)(t) && !(0, s.xQ)(t) && (n.version = t.split('.')), n ); } const i = { source: e }; return ( t.platform && (i.platform = n(t.platform, t.platformVersion)), (t.fullVersionList || t.brands) && (i.browsers = (t.fullVersionList || t.brands).map(e => { let { brand: t, version: i } = e; return n(t, i); })), void 0 !== t.mobile && (i.mobile = t.mobile ? 1 : 0), ['model', 'bitness', 'architecture'].forEach(e => { const n = t[e]; (0, s.O8)(n) && (i[e] = n); }), i ); } var h = n(3858), m = n(5139), b = n(3441), y = n(6811), v = n(5569), E = n(8944); const A = { getRefererInfo: r.EN, findRootDomain: o.S, getWindowTop: s.mb, getWindowSelf: s.l4, getHighEntropySUA: g, getLowEntropySUA: f, getDocument: s.YE }, w = (0, h.i8)('FPD'), I = (0, i.A_)('sync', e => { const t = [ e, C().catch(() => null), c.U9.resolve( 'cookieDeprecationLabel' in navigator && (0, m.io)(y.Ue, (0, b.s)(v.tp, 'cdep')) && navigator.cookieDeprecationLabel.getValue() ).catch(() => null) ]; return c.U9.all(t).then(e => { let [t, n, i] = e; const r = A.getRefererInfo(); if ( (Object.entries(O).forEach(e => { let [n, i] = e; const o = i(t, r); o && Object.keys(o).length > 0 && (t[n] = (0, s.D9)({}, o, t[n])); }), n && (0, a.J)( t, 'device.sua', Object.assign({}, n, t.device.sua) ), i) ) { const e = { cdep: i }; (0, a.J)( t, 'device.ext', Object.assign({}, e, t.device.ext) ); } const o = A.getDocument().documentElement.lang; o && (0, a.J)(t, 'site.ext.data.documentLang', o), (t = w(t)); for (let e of h.Dy) if ((0, h.O$)(t, e)) { t[e] = (0, s.D9)({}, R(t, r), t[e]); break; } return t; }); }); function T(e) { try { return e(A.getWindowTop()); } catch (t) { return e(A.getWindowSelf()); } } function C() { const e = d.$W.getConfig('firstPartyData.uaHints'); return Array.isArray(e) && 0 !== e.length ? A.getHighEntropySUA(e) : c.U9.resolve(A.getLowEntropySUA()); } function B(e) { return (0, s.SH)(e, Object.keys(e)); } const O = { site(e, t) { if (!h.Dy.filter(e => 'site' !== e).some(h.O$.bind(null, e))) return B({ page: t.page, ref: t.ref }); }, device: () => T(e => { const t = (0, s.Ot)().screen.width, n = (0, s.Ot)().screen.height, { width: i, height: r } = (0, E.M)(), o = { w: t, h: n, dnt: (0, s.l9)() ? 1 : 0, ua: e.navigator.userAgent, language: e.navigator.language.split('-').shift(), ext: { vpw: i, vph: r } }; return ( e.navigator?.webdriver && (0, a.J)(o, 'ext.webdriver', !0), o ); }), regs() { const e = {}; T(e => e.navigator.globalPrivacyControl) && (0, a.J)(e, 'ext.gpc', '1'); const t = d.$W.getConfig('coppa'); return 'boolean' == typeof t && (e.coppa = t ? 1 : 0), e; } }; function R(e, t) { const n = (0, r.gR)(t.page, { noLeadingWww: !0 }), i = T(e => e.document.querySelector("meta[name='keywords']") )?.content?.replace?.(/\s/g, ''); return B({ domain: n, keywords: i, publisher: B({ domain: A.findRootDomain(n) }) }); } }, 3858: (e, t, n) => { n.d(t, { Dy: () => r, O$: () => s, i8: () => o }); var i = n(1069); const r = ['dooh', 'app', 'site']; function o(e) { return function(t) { return ( r.reduce( (n, r) => ( s(t, r) && (null != n ? ((0, i.JE)( `${e} specifies both '${n}' and '${r}'; dropping the latter.` ), delete t[r]) : (n = r)), n ), null ), t ); }; } function s(e, t) { return null != e[t] && Object.keys(e[t]).length > 0; } }, 5973: (e, t, n) => { n.d(t, { S: () => o }); var i = n(1069); const r = (0, n(2938).CK)('fpdEnrichment'), o = (0, i.Bj)(function() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : window.location.host; if (!r.cookiesAreEnabled()) return e; const t = e.split('.'); if (2 === t.length) return e; let n, o, s = -2; const a = `_rdc${Date.now()}`, d = 'writeable'; do { n = t.slice(s).join('.'); let e = new Date((0, i.vE)() + 1e4).toUTCString(); r.setCookie(a, d, e, 'Lax', n, void 0); r.getCookie(a, void 0) === d ? ((o = !1), r.setCookie( a, '', 'Thu, 01 Jan 1970 00:00:01 GMT', void 0, n, void 0 )) : ((s += -1), (o = Math.abs(s) <= t.length)); } while (o); return n; }); }, 9214: (e, t, n) => { n.d(t, { A_: () => s, Gc: () => d, Y6: () => g, Yn: () => c, bz: () => f, u2: () => p, xG: () => u }); var i = n(8128), r = n.n(i), o = n(5555); let s = r()({ ready: r().SYNC | r().ASYNC | r().QUEUE }); const a = (0, o.v6)(); s.ready = (() => { const e = s.ready; return function() { try { return e.apply(s, arguments); } finally { a.resolve(); } }; })(); const d = a.promise, c = s.get; const l = {}; function u(e, t) { let { postInstallAllowed: n = !1 } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; s( 'async', function(i) { i.forEach(e => t(...e)), n && (l[e] = t); }, e )([]); } function f(e) { for ( var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), i = 1; i < t; i++ ) n[i - 1] = arguments[i]; const r = l[e]; if (r) return r(...n); c(e).before((e, t) => { t.push(n), e(t); }); } function g(e, t) { return ( Object.defineProperties( t, Object.fromEntries( ['before', 'after', 'getHooks', 'removeAll'].map(t => [ t, { get: () => e[t] } ]) ) ), t ); } function p(e) { return g(e, function() { for ( var t = arguments.length, n = new Array(t), i = 0; i < t; i++ ) n[i] = arguments[i]; return n.push(function() {}), e.apply(this, n); }); } }, 1371: (e, t, n) => { n.d(t, { D4: () => o, GE: () => a, G_: () => r, LM: () => s, s6: () => i }); const i = 'native', r = 'video', o = 'banner', s = 'adpod', a = [i, r, o]; }, 2449: (e, t, n) => { n.d(t, { Bm: () => y, IX: () => C, Nh: () => l, Zj: () => A, gs: () => E, l6: () => p, mT: () => c, nk: () => m, vO: () => v, yl: () => B }); var i = n(1069), r = n(6881), o = n(8969), s = n(9075), a = n(6031), d = n(3005); const c = [], l = Object.keys(o.x5).map(e => o.x5[e]), u = { image: { ortb: { ver: '1.2', assets: [ { required: 1, id: 1, img: { type: 3, wmin: 100, hmin: 100 } }, { required: 1, id: 2, title: { len: 140 } }, { required: 1, id: 3, data: { type: 1 } }, { required: 0, id: 4, data: { type: 2 } }, { required: 0, id: 5, img: { type: 1, wmin: 20, hmin: 20 } } ] }, image: { required: !0 }, title: { required: !0 }, sponsoredBy: { required: !0 }, clickUrl: { required: !0 }, body: { required: !1 }, icon: { required: !1 } } }, f = k(o.h0), g = k(o.jO); function p(e) { return e.native && 'object' == typeof e.native; } function h(e) { if ( (e && e.type && (function(e) { if (!e || !Object.keys(u).includes(e)) return (0, i.vV)(`${e} nativeParam is not supported`), !1; return !0; })(e.type) && (e = u[e.type]), !e || !e.ortb || b(e.ortb)) ) return e; } function m(e) { e.forEach(e => { const t = e.nativeParams || e?.mediaTypes?.native; t && (e.nativeParams = h(t)), e.nativeParams && (e.nativeOrtbRequest = e.nativeParams.ortb || (function(e) { if (!e && !(0, i.Qd)(e)) return void (0, i.vV)( 'Native assets object is empty or not an object: ', e ); const t = { ver: '1.2', assets: [] }; for (let n in e) { if (o._B.includes(n)) continue; if (!o.x5.hasOwnProperty(n)) { (0, i.vV)( `Unrecognized native asset code: ${n}. Asset will be ignored.` ); continue; } if ('privacyLink' === n) { t.privacy = 1; continue; } const r = e[n]; let s = 0; r.required && (0, i.Lm)(r.required) && (s = Number(r.required)); const a = { id: t.assets.length, required: s }; if (n in o.h0) (a.data = { type: o.jO[o.h0[n]] }), r.len && (a.data.len = r.len); else if ('icon' === n || 'image' === n) { if ( ((a.img = { type: 'icon' === n ? o.oA.ICON : o.oA.MAIN }), r.aspect_ratios) ) if ((0, i.cy)(r.aspect_ratios)) if (r.aspect_ratios.length) { const { min_width: e, min_height: t } = r.aspect_ratios[0]; (0, i.Fq)(e) && (0, i.Fq)(t) ? ((a.img.wmin = e), (a.img.hmin = t)) : (0, i.vV)( 'image.aspect_ratios min_width or min_height are invalid: ', e, t ); const n = r.aspect_ratios .filter( e => e.ratio_width && e.ratio_height ) .map( e => `${e.ratio_width}:${e.ratio_height}` ); n.length > 0 && (a.img.ext = { aspectratios: n }); } else (0, i.vV)( "image.aspect_ratios was passed, but it's empty:", r.aspect_ratios ); else (0, i.vV)( "image.aspect_ratios was passed, but it's not a an array:", r.aspect_ratios ); r.sizes && (2 === r.sizes.length && (0, i.Fq)(r.sizes[0]) && (0, i.Fq)(r.sizes[1]) ? ((a.img.w = r.sizes[0]), (a.img.h = r.sizes[1]), delete a.img.hmin, delete a.img.wmin) : (0, i.vV)( 'image.sizes was passed, but its value is not an array of integers:', r.sizes )); } else 'title' === n ? (a.title = { len: r.len || 140 }) : 'ext' === n && ((a.ext = r), delete a.required); t.assets.push(a); } return t; })(e.nativeParams)); }); } function b(e) { const t = e.assets; if (!Array.isArray(t) || 0 === t.length) return ( (0, i.vV)( "assets in mediaTypes.native.ortb is not an array, or it's empty. Assets: ", t ), !1 ); const n = t.map(e => e.id); return t.length !== new Set(n).size || n.some(e => e !== parseInt(e, 10)) ? ((0, i.vV)( "each asset object must have 'id' property, it must be unique and it must be an integer" ), !1) : e.hasOwnProperty('eventtrackers') && !Array.isArray(e.eventtrackers) ? ((0, i.vV)( 'ortb.eventtrackers is not an array. Eventtrackers: ', e.eventtrackers ), !1) : t.every(e => (function(e) { if (!(0, i.Qd)(e)) return ( (0, i.vV)( 'asset must be an object. Provided asset: ', e ), !1 ); if (e.img) { if (!(0, i.Et)(e.img.w) && !(0, i.Et)(e.img.wmin)) return ( (0, i.vV)( "for img asset there must be 'w' or 'wmin' property" ), !1 ); if (!(0, i.Et)(e.img.h) && !(0, i.Et)(e.img.hmin)) return ( (0, i.vV)( "for img asset there must be 'h' or 'hmin' property" ), !1 ); } else if (e.title) { if (!(0, i.Et)(e.title.len)) return ( (0, i.vV)( "for title asset there must be 'len' property defined" ), !1 ); } else if (e.data) { if (!(0, i.Et)(e.data.type)) return ( (0, i.vV)( "for data asset 'type' property must be a number" ), !1 ); } else if ( e.video && !( Array.isArray(e.video.mimes) && Array.isArray(e.video.protocols) && (0, i.Et)(e.video.minduration) && (0, i.Et)(e.video.maxduration) ) ) return ( (0, i.vV)('video asset is not properly configured'), !1 ); return !0; })(e) ); } function y(e) { let { index: t = r.n.index } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; const n = t.getAdUnit(e); if (!n) return !1; let o = n.nativeOrtbRequest; return (function(e, t) { if (!e?.link?.url) return ( (0, i.vV)( "native response doesn't have 'link' property. Ortb response: ", e ), !1 ); let n = t.assets.filter(e => 1 === e.required).map(e => e.id), r = e.assets.map(e => e.id); const o = n.every(e => r.includes(e)); o || (0, i.vV)( `didn't receive a bid with all required assets. Required ids: ${n}, but received ids in response: ${r}` ); return o; })(e.native?.ortb || S(e.native, o), o); } function v(e, t) { const n = t.native.ortb || R(t.native); return ( 'click' === e.action ? (function(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, { fetchURL: n = i.z$ } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; if (t) { const i = (e.assets || []) .filter(e => e.link) .reduce((e, t) => ((e[t.id] = t.link), e), {}), r = e.link?.clicktrackers || []; let o = i[t], s = r; o && (s = o.clicktrackers || []), s.forEach(e => n(e)); } else (e.link?.clicktrackers || []).forEach(e => n(e)); })(n, e?.assetId) : (function(e) { let { runMarkup: t = e => (0, i.ro)(e), fetchURL: n = i.z$ } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, { [d.Ni]: r = [], [d.fR]: o = [] } = (0, d.$T)(e.eventtrackers || [])[d.OA] || {}; e.imptrackers && (r = r.concat(e.imptrackers)); r.forEach(e => n(e)), (o = o.map(e => `<script async src="${e}"><\/script>`)), e.jstracker && (o = o.concat([e.jstracker])); o.length && t(o.join('\n')); })(n), e.action ); } function E(e, t) { const n = t?.nativeOrtbRequest, i = e.native?.ortb; if (n && i) { const t = (function(e, t) { const n = {}, i = t?.assets || []; (n.clickUrl = e.link?.url), (n.privacyLink = e.privacy); for (const t of e?.assets || []) { const e = i.find(e => t.id === e.id); t.title ? (n.title = t.title.text) : t.img ? (n[e?.img?.type === o.oA.MAIN ? 'image' : 'icon'] = { url: t.img.url, width: t.img.w, height: t.img.h }) : t.data && (n[f[g[e?.data?.type]]] = t.data.value); } n.impressionTrackers = []; let r = []; e.imptrackers && n.impressionTrackers.push(...e.imptrackers); for (const t of e?.eventtrackers || []) t.event === d.OA && t.method === d.Ni && n.impressionTrackers.push(t.url), t.event === d.OA && t.method === d.fR && r.push(t.url); (r = r.map(e => `<script async src="${e}"><\/script>`)), e?.jstracker && r.push(e.jstracker); r.length && (n.javascriptTrackers = r.join('\n')); return n; })(i, n); Object.assign(e.native, t); } ['rendererUrl', 'adTemplate'].forEach(n => { const i = t?.nativeParams?.[n]; i && (e.native[n] = O(i)); }); } function A(e) { let { index: t = r.n.index } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = {}; const i = t.getAdUnit(e), s = null == i?.nativeParams?.ortb && !1 !== i?.nativeParams?.sendTargetingKeys, a = (function(e) { const t = {}; e?.nativeParams?.ext && Object.keys(e.nativeParams.ext).forEach(e => { t[e] = `hb_native_${e}`; }); return { ...o.x5, ...t }; })(i), d = { ...e.native, ...e.native.ext }; return ( delete d.ext, Object.keys(d).forEach(t => { const r = a[t]; let o = O(e.native[t]) || O(e?.native?.ext?.[t]); if ('adTemplate' === t || !r || !o) return; let d = i?.nativeParams?.[t]?.sendId; if ( ('boolean' != typeof d && (d = i?.nativeParams?.ext?.[t]?.sendId), d) ) { o = `${r}:${e.adId}`; } let c = i?.nativeParams?.[t]?.sendTargetingKeys; 'boolean' != typeof c && (c = i?.nativeParams?.ext?.[t]?.sendTargetingKeys); ('boolean' == typeof c ? c : s) && (n[r] = o); }), n ); } function w(e, t) { let n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], i = []; return ( Object.entries(e) .filter(e => { let [i, r] = e; return ( r && ((!1 === n && 'ext' === i) || null == t || t.includes(i)) ); }) .forEach(e => { let [r, s] = e; !1 === n && 'ext' === r ? i.push(...w(s, t, !0)) : (n || o.x5.hasOwnProperty(r)) && i.push({ key: r, value: O(s) }); }), i ); } function I(e, t, n) { let { index: d = r.n.index } = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}; const c = { message: 'assetResponse', adId: e.adId }; let l = (0, s.vd)(t).native; return ( l ? ((c.native = Object.assign({}, l)), (c.renderer = (0, a.kj)(t)), (c.rendererVersion = a.xh), null != n && (l.assets = l.assets.filter(e => { let { key: t } = e; return n.includes(t); }))) : (l = (function(e, t, n) { const r = { ...(0, i.SH)(e.native, ['rendererUrl', 'adTemplate']), assets: w(e.native, n), nativeKeys: o.x5 }; return ( e.native.ortb ? (r.ortb = e.native.ortb) : t.mediaTypes?.native?.ortb && (r.ortb = S(e.native, t.nativeOrtbRequest)), r ); })(t, d.getAdUnit(t), n)), Object.assign(c, l) ); } const T = Object.fromEntries( Object.entries(o.x5).map(e => { let [t, n] = e; return [n, t]; }) ); function C(e, t) { const n = e.assets.map(e => T[e]); return I(e, t, n); } function B(e, t) { return I(e, t, null); } function O(e) { return e?.url || e; } function R(e) { const t = { link: {}, eventtrackers: [] }; return ( Object.entries(e).forEach(e => { let [n, i] = e; switch (n) { case 'clickUrl': t.link.url = i; break; case 'clickTrackers': t.link.clicktrackers = Array.isArray(i) ? i : [i]; break; case 'impressionTrackers': (Array.isArray(i) ? i : [i]).forEach(e => { t.eventtrackers.push({ event: d.OA, method: d.Ni, url: e }); }); break; case 'javascriptTrackers': t.jstracker = Array.isArray(i) ? i.join('') : i; break; case 'privacyLink': t.privacy = i; } }), t ); } function S(e, t) { const n = { ...R(e), assets: [] }; function r(e, r) { let o = t.assets.find(e); null != o && ((o = (0, i.Go)(o)), r(o), n.assets.push(o)); } return ( Object.keys(e) .filter(t => !!e[t]) .forEach(t => { const n = O(e[t]); switch (t) { case 'title': r( e => null != e.title, e => { e.title = { text: n }; } ); break; case 'image': case 'icon': const e = 'image' === t ? o.oA.MAIN : o.oA.ICON; r( t => null != t.img && t.img.type === e, e => { e.img = { url: n }; } ); break; default: t in o.h0 && r( e => null != e.data && e.data.type === o.jO[o.h0[t]], e => { e.data = { value: n }; } ); } }), n ); } function k(e) { var t = {}; for (var n in e) t[e[n]] = n; return t; } }, 1e3: (e, t, n) => { n.d(t, { Cf: () => a, S3: () => r, Tb: () => o, WR: () => s, e4: () => c, pS: () => u, qN: () => d, yB: () => f, zt: () => i }); const i = ['request', 'imp', 'bidResponse', 'response'], [r, o, s, a] = i, [d, c] = ['default', 'pbs'], l = new Set(i); const { registerOrtbProcessor: u, getProcessors: f } = (function() { const e = {}; return { registerOrtbProcessor(t) { let { type: n, name: r, fn: o, priority: s = 0, dialects: a = [d] } = t; if (!l.has(n)) throw new Error( `ORTB processor type must be one of: ${i.join(', ')}` ); a.forEach(t => { e.hasOwnProperty(t) || (e[t] = {}), e[t].hasOwnProperty(n) || (e[t][n] = {}), (e[t][n][r] = { priority: s, fn: o }); }); }, getProcessors: t => e[t] || {} }; })(); }, 8934: (e, t, n) => { n.d(t, { gH: () => se }); var i = n(7873), r = n(1069), o = n(433), s = n(3172), a = n(2449), d = n(8969), c = n(9075), l = n(6031); const { REQUEST: u, RESPONSE: f, NATIVE: g, EVENT: p } = d.nl, h = { [u]: function(e, t, n) { (0, c.bw)({ renderFn(t) { e( Object.assign( { message: f, renderer: (0, l.kj)(n), rendererVersion: l.xh }, t ) ); }, resizeFn: b(t.adId, n), options: t.options, adId: t.adId, bidResponse: n }); }, [p]: function(e, t, n) { if (null == n) return void (0, r.vV)( `Cannot find ad '${t.adId}' for x-origin event request` ); if (n.status !== d.tl.RENDERED) return void (0, r.JE)( `Received x-origin event request without corresponding render request for ad '${n.adId}'` ); return (0, c.Uc)(t, n); } }; function m() { window.addEventListener( 'message', function(e) { !(function(e) { var t = e.message ? 'message' : 'data', n = {}; try { n = JSON.parse(e[t]); } catch (e) { return; } if (n && n.adId && n.message && h.hasOwnProperty(n.message)) (0, c.$A)(n.adId, n.message === d.nl.REQUEST).then(t => { var i, o; h[n.message]( ((i = n.adId), (o = (function(e) { return null == e.origin && 0 === e.ports.length ? function() { const e = 'Cannot post message to a frame with null origin. Please update creatives to use MessageChannel, see https://github.com/prebid/Prebid.js/issues/7870'; throw ((0, r.vV)(e), new Error(e)); } : e.ports.length > 0 ? function(t) { e.ports[0].postMessage(JSON.stringify(t)); } : function(t) { e.source.postMessage( JSON.stringify(t), e.origin ); }; })(e)), function(e) { for ( var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++ ) n[r - 1] = arguments[r]; return o(Object.assign({}, e, { adId: i }), ...n); }), n, t ); }); })(e); }, !1 ); } function b(e, t) { return function(n, i) { !(function(e) { let { instl: t, adId: n, adUnitCode: i, width: o, height: s } = e; if (t) return; function a(e) { return e ? e + 'px' : '100%'; } function d(e) { let t = c(n, i), r = document.getElementById(t); return r && r.querySelector(e); } function c(e, t) { return (0, r.II)() ? l(e) : (0, r.t1)() ? u(t) : t; } function l(e) { const t = window.googletag .pubads() .getSlots() .find(t => t .getTargetingKeys() .find(n => t.getTargeting(n).includes(e)) ); return t ? t.getSlotElementId() : null; } function u(e) { let t = window.apntag.getTag(e); return t && t.targetId; } ['div', 'iframe'].forEach(e => { let t = d(e + ':not([style*="display: none"])'); if (t) { let e = t.style; (e.width = a(o)), (e.height = a(s)); } else (0, r.vV)( `Unable to locate matching page element for adUnitCode ${i}. Can't resize it to ad's dimensions. Please review setup.` ); }); })({ ...t, width: n, height: i, adId: e }); }; } Object.assign(h, { [g]: function(e, t, n) { if (null == n) return void (0, r.vV)( `Cannot find ad for x-origin event request: '${t.adId}'` ); switch (t.action) { case 'assetRequest': (0, c.Hh)(n, () => e((0, a.IX)(t, n))); break; case 'allAssetRequest': (0, c.Hh)(n, () => e((0, a.yl)(t, n))); break; default: (0, c.vW)(t, n, { resizeFn: b(t.adId, n) }), (0, c.Pk)(n); } } }); var y = n(8230), v = n(3272), E = n(6881), A = n(7779), w = n(9214), I = n(3597), T = n(1580), C = n(5555), B = n(5569); const O = '__tlpbjs_debugging__'; function R() { return (0, i.m)().installedModules.includes('debugging'); } function S(e) { return new C.U9(t => { (0, T.R)(e, B.tp, 'debugging', t); }); } function k() { let { alreadyInstalled: e = R, script: t = S } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, n = null; return function() { return ( null == n && (n = new C.U9((n, o) => { setTimeout(() => { if (e()) n(); else { const e = 'https://cdn.jsdelivr.net/npm/prebid.js@9.50.0/dist/debugging-standalone.js'; (0, r.OG)( `Debugging module not installed, loading it from "${e}"...` ), ((0, i.m)()._installDebugging = !0), t(e) .then(() => { (0, i.m)()._installDebugging({ DEBUG_KEY: O, hook: w.A_, config: v.$W, createBid: I.O, logger: (0, r.h0)('DEBUG:') }); }) .then(n, o); } }); })), n ); }; } const U = (function() { let { load: e = k(), hook: t = (0, w.Yn)('requestBids') } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, n = null, i = !1; function r(e) { for ( var t = arguments.length, i = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++ ) i[r - 1] = arguments[r]; return (n || C.U9.resolve()).then(() => e.apply(this, i)); } function o() { t.getHooks({ hook: r }).remove(), (i = !1); } return { enable: function() { i || ((n = e()), t.before(r, 99), (i = !0)); }, disable: o, reset: function() { (n = null), o(); } }; })(); U.reset; v.$W.getConfig('debugging', function(e) { let { debugging: t } = e; t?.enabled ? U.enable() : U.disable(); }); var D = n(2938), _ = n(1445), $ = n(5023), j = n(6894), x = n(687), q = n(6916), N = n(2713), W = n(3895); const P = new Map([ [ 'format', e => Array.isArray(e) && e.length > 0 && e.every(e => 'object' == typeof e) ], ['w', r.Fq], ['h', r.Fq], ['btype', r.Uu], ['battr', r.Uu], ['pos', r.Fq], [ 'mimes', e => Array.isArray(e) && e.length > 0 && e.every(e => 'string' == typeof e) ], ['topframe', e => [1, 0].includes(e)], ['expdir', r.Uu], ['api', r.Uu], ['id', r.O8], ['vcm', e => [1, 0].includes(e)] ]); var V = n(1371); function M(e, t) { return function() { if (document.prerendering && e()) { const e = this, n = Array.from(arguments); return new Promise(i => { document.addEventListener( 'prerenderingchange', () => { (0, r.fH)( 'Auctions were suspended while page was prerendering' ), i(t.apply(e, n)); }, { once: !0 } ); }); } return Promise.resolve(t.apply(this, arguments)); }; } var G = n(7377); const F = (0, i.m)(), { triggerUserSyncs: H } = y.zt, { ADD_AD_UNITS: L, REQUEST_BIDS: z, SET_TARGETING: J } = d.qY, Q = { bidWon: function(e) { if ( !E.n .getBidsRequested() .map(e => e.bids.map(e => e.adUnitCode)) .reduce(r.Bq) .filter(r.hj) .includes(e) ) return void (0, r.vV)( 'The "' + e + '" placement is not defined.' ); return !0; } }; function K(e, t) { let n = []; return ( (0, r.cy)(e) && (t ? e.length === t : e.length > 0) && (e.every(e => (0, r.Uu)(e, 2)) ? (n = e) : (0, r.Uu)(e, 2) && n.push(e)), n ); } function Y(e, t) { const n = (0, o.A)(e, `ortb2Imp.${t}`), i = (0, o.A)(e, `mediaTypes.${t}`); if (!n && !i) return; const a = { [V.G_]: W.Zy, [V.D4]: P }[t]; a && [...a].forEach(n => { let [i, a] = n; const d = (0, o.A)(e, `mediaTypes.${t}.${i}`), c = (0, o.A)(e, `ortb2Imp.${t}.${i}`); (null == d && null == c) || (null == d ? (0, s.J)(e, `mediaTypes.${t}.${i}`, c) : null == c ? (0, s.J)(e, `ortb2Imp.${t}.${i}`, d) : ((0, r.JE)( `adUnit ${e.code}: specifies conflicting ortb2Imp.${t}.${i} and mediaTypes.${t}.${i}, the latter will be ignored`, e ), (0, s.J)(e, `mediaTypes.${t}.${i}`, c))); }); } function X(e) { const t = (0, r.Go)(e), n = t.mediaTypes.banner, i = null == n.sizes ? null : K(n.sizes), o = e.ortb2Imp?.banner?.format ?? n?.format; let a; if (null != o) { (0, s.J)(t, 'ortb2Imp.banner.format', o), (n.format = o); try { a = o .filter(t => { let { w: n, h: i, wratio: o, hratio: s } = t; return null != (n ?? i) && null != (o ?? s) ? ((0, r.JE)( 'Ad unit banner.format specifies both w/h and wratio/hratio', e ), !1) : (null != n && null != i) || (null != o && null != s); }) .map(e => { let { w: t, h: n, wratio: i, hratio: r } = e; return [t ?? i, n ?? r]; }); } catch (t) { (0, r.vV)( `Invalid format definition on ad unit ${e.code}`, o ); } null == a || null == i || (0, r.bD)(i, a) || (0, r.JE)( `Ad unit ${e.code} has conflicting sizes and format definitions`, e ); } const d = a ?? i ?? [], c = e.ortb2Imp?.banner?.expdir ?? n.expdir; return ( null != c && ((n.expdir = c), (0, s.J)(t, 'ortb2Imp.banner.expdir', c)), d.length > 0 ? ((n.sizes = d), (t.sizes = d)) : ((0, r.vV)( 'Detected a mediaTypes.banner object without a proper sizes field. Please ensure the sizes are listed like: [[300, 250], ...]. Removing invalid mediaTypes.banner object from request.' ), delete t.mediaTypes.banner), Y(t, 'banner'), t ); } function Z(e) { const t = (0, r.Go)(e), n = t.mediaTypes.video; if (n.playerSize) { let e = 'number' == typeof n.playerSize[0] ? 2 : 1; const i = K(n.playerSize, e); i.length > 0 ? (2 === e && (0, r.fH)( "Transforming video.playerSize from [640,480] to [[640,480]] so it's in the proper format." ), (n.playerSize = i), (t.sizes = i)) : ((0, r.vV)( 'Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request.' ), delete t.mediaTypes.video.playerSize); } return (0, W.aP)(t), Y(t, 'video'), t; } function ee(e) { function t(t) { return ( (0, r.vV)( `Error in adUnit "${e.code}": ${t}. Removing native request from ad unit`, e ), delete i.mediaTypes.native, i ); } function n(e) { for (const t of ['sendTargetingKeys', 'types']) if (o.hasOwnProperty(t)) { const n = e(t); if (n) return n; } } const i = (0, r.Go)(e), o = i.mediaTypes.native; if (o.ortb) { if ( o.ortb.assets?.some( e => !(0, r.Et)(e.id) || e.id < 0 || e.id % 1 != 0 ) ) return t('native asset ID must be a nonnegative integer'); if (n(e => t(`ORTB native requests cannot specify "${e}"`))) return i; const e = Object.keys(d.x5).filter(e => d.x5[e].includes('hb_native_') ), s = Object.keys(o).filter(t => e.includes(t)); s.length > 0 && ((0, r.vV)( `when using native OpenRTB format, you cannot use legacy native properties. Deleting ${s} keys from request.` ), s.forEach(e => delete i.mediaTypes.native[e])); } else n( e => `mediaTypes.native.${e} is deprecated, consider using native ORTB instead` ); return ( o.image && o.image.sizes && !Array.isArray(o.image.sizes) && ((0, r.vV)( 'Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request.' ), delete i.mediaTypes.native.image.sizes), o.image && o.image.aspect_ratios && !Array.isArray(o.image.aspect_ratios) && ((0, r.vV)( 'Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request.' ), delete i.mediaTypes.native.image.aspect_ratios), o.icon && o.icon.sizes && !Array.isArray(o.icon.sizes) && ((0, r.vV)( 'Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request.' ), delete i.mediaTypes.native.icon.sizes), i ); } function te(e, t) { let n = e?.mediaTypes?.[t]?.pos; if (!(0, r.Et)(n) || isNaN(n) || !isFinite(n)) { let n = `Value of property 'pos' on ad unit ${e.code} should be of type: Number`; (0, r.JE)(n), delete e.mediaTypes[t].pos; } return e; } function ne(e) { const t = t => `adUnit.code '${e.code}' ${t}`, n = e.mediaTypes, i = e.bids; return null == i || (0, r.cy)(i) ? null == i && null == e.ortb2Imp ? ((0, r.vV)( t( "has no 'adUnit.bids' and no 'adUnit.ortb2Imp'. Removing adUnit from auction" ) ), null) : n && 0 !== Object.keys(n).length ? (null == e.ortb2Imp || (null != i && 0 !== i.length) || ((e.bids = [{ bidder: null }]), (0, r.OG)( t( "defines 'adUnit.ortb2Imp' with no 'adUnit.bids'; it will be seen only by S2S adapters" ) )), e) : ((0, r.vV)( t( "does not define a 'mediaTypes' object. This is a required field for the auction, so this adUnit has been removed." ) ), null) : ((0, r.vV)( t( "defines 'adUnit.bids' that is not an array. Removing adUnit from auction" ) ), null); } !(function() { let e = null; try { e = window.sessionStorage; } catch (e) {} if (null !== e) { let t = U, n = null; try { n = e.getItem(O); } catch (e) {} null !== n && t.enable(); } })(), (F.bidderSettings = F.bidderSettings || {}), (F.libLoaded = !0), (F.version = 'v9.50.0'), (0, r.fH)('Prebid.js v9.50.0 loaded'), (F.installedModules = F.installedModules || []), (F.adUnits = F.adUnits || []), (F.triggerUserSyncs = H); const ie = { validateAdUnit: ne, validateBannerMediaType: X, validateSizes: K }; Object.assign(ie, { validateNativeMediaType: ee }), Object.assign(ie, { validateVideoMediaType: Z }); const re = (0, w.A_)( 'sync', function(e) { const t = []; return ( e.forEach(e => { if (null == (e = ne(e))) return; const n = e.mediaTypes; let i, r, o; n.banner && ((i = X(e)), n.banner.hasOwnProperty('pos') && (i = te(i, 'banner'))), n.video && ((r = Z(i || e)), n.video.hasOwnProperty('pos') && (r = te(r, 'video'))), n.native && (o = ee(r || i || e)); const s = Object.assign({}, i, r, o); t.push(s); }), t ); }, 'checkAdUnitSetup' ); function oe(e) { const t = E.n[e]().filter(e => E.n.getAdUnitCodes().includes(e.adUnitCode) ), n = E.n.getLastAuctionId(); return t .map(e => e.adUnitCode) .filter(r.hj) .map(e => t.filter(t => t.auctionId === n && t.adUnitCode === e) ) .filter(e => e && e[0] && e[0].adUnitCode) .map(e => ({ [e[0].adUnitCode]: { bids: e } })) .reduce((e, t) => Object.assign(e, t), {}); } (F.getAdserverTargetingForAdUnitCodeStr = function(e) { if ( ((0, r.fH)( 'Invoking tlpbjs.getAdserverTargetingForAdUnitCodeStr', arguments ), e) ) { var t = F.getAdserverTargetingForAdUnitCode(e); return (0, r.$D)(t); } (0, r.OG)( 'Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode' ); }), (F.getHighestUnusedBidResponseForAdUnitCode = function(e) { if (e) { const t = E.n.getAllBidsForAdUnitCode(e).filter(A.Yl); return t.length ? t.reduce(N.Vk) : {}; } (0, r.OG)( 'Need to call getHighestUnusedBidResponseForAdUnitCode with adunitCode' ); }), (F.getAdserverTargetingForAdUnitCode = function(e) { return F.getAdserverTargeting(e)[e]; }), (F.getAdserverTargeting = function(e) { return ( (0, r.fH)('Invoking tlpbjs.getAdserverTargeting', arguments), A.iS.getAllTargeting(e) ); }), (F.getConsentMetadata = function() { return ( (0, r.fH)('Invoking tlpbjs.getConsentMetadata'), q.SL.getConsentMeta() ); }), (F.getNoBids = function() { return ( (0, r.fH)('Invoking tlpbjs.getNoBids', arguments), oe('getNoBids') ); }), (F.getNoBidsForAdUnitCode = function(e) { return { bids: E.n.getNoBids().filter(t => t.adUnitCode === e) }; }), (F.getBidResponses = function() { return ( (0, r.fH)('Invoking tlpbjs.getBidResponses', arguments), oe('getBidsReceived') ); }), (F.getBidResponsesForAdUnitCode = function(e) { return { bids: E.n.getBidsReceived().filter(t => t.adUnitCode === e) }; }), (F.setTargetingForGPTAsync = function(e, t) { (0, r.fH)('Invoking tlpbjs.setTargetingForGPTAsync', arguments), (0, r.II)() ? A.iS.setTargetingForGPT(e, t) : (0, r.vV)('window.googletag is not defined on the page'); }), (F.setTargetingForAst = function(e) { (0, r.fH)('Invoking tlpbjs.setTargetingForAn', arguments), A.iS.isApntagDefined() ? (A.iS.setTargetingForAst(e), $.Ic(J, A.iS.getAllTargeting())) : (0, r.vV)('window.apntag is not defined on the page'); }), (F.renderAd = (0, w.A_)('async', function(e, t, n) { (0, r.fH)('Invoking tlpbjs.renderAd', arguments), (0, r.OG)('Calling renderAd with adId :' + t), (0, c.BS)(e, t, n); })), (F.removeAdUnit = function(e) { if (((0, r.fH)('Invoking tlpbjs.removeAdUnit', arguments), !e)) return void (F.adUnits = []); let t; (t = (0, r.cy)(e) ? e : [e]), t.forEach(e => { for (let t = F.adUnits.length - 1; t >= 0; t--) F.adUnits[t].code === e && F.adUnits.splice(t, 1); }); }), (F.requestBids = (function() { const e = (0, w.A_)( 'async', function() { let { bidsBackHandler: e, timeout: t, adUnits: n, adUnitCodes: i, labels: o, auctionId: s, ttlBuffer: a, ortb2: d, metrics: c, defer: l } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; $.Ic(z); const u = t || v.$W.getConfig('bidderTimeout'); (0, r.fH)('Invoking tlpbjs.requestBids', arguments), null == i || Array.isArray(i) || (i = [i]), i && i.length ? (n = n.filter(e => i.includes(e.code))) : (i = n && n.map(e => e.code)), (i = i.filter(r.hj)); const f = { global: (0, r.D9)( {}, v.$W.getAnyConfig('ortb2') || {}, d || {} ), bidder: Object.fromEntries( Object.entries(v.$W.getBidderConfig()) .map(e => { let [t, n] = e; return [t, (0, r.Go)(n.ortb2)]; }) .filter(e => { let [t, n] = e; return null != n; }) ) }; return (0, x.w)(C.U9.resolve(f.global)).then( t => ( (f.global = t), se({ bidsBackHandler: e, timeout: u, adUnits: n, adUnitCodes: i, labels: o, auctionId: s, ttlBuffer: a, ortb2Fragments: f, metrics: c, defer: l }) ) ); }, 'requestBids' ); return (0, w.Y6)( e, M( () => !v.$W.getConfig('allowPrerendering'), function() { let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, n = t.adUnits || F.adUnits; return ( (t.adUnits = (0, r.cy)(n) ? n.slice() : [n]), (t.metrics = (0, j.K7)()), t.metrics.checkpoint('requestBids'), (t.defer = (0, C.v6)({ promiseFactory: e => new Promise(e) })), e.call(this, t), t.defer.promise ); } ) ); })()); const se = (0, w.A_)( 'async', function() { let { bidsBackHandler: e, timeout: t, adUnits: n, ttlBuffer: i, adUnitCodes: o, labels: a, auctionId: d, ortb2Fragments: c, metrics: l, defer: u } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; const f = (0, _.pX)(v.$W.getConfig('s2sConfig') || []); function g(t, n, i) { if ('function' == typeof e) try { e(t, n, i); } catch (e) { (0, r.vV)('Error executing bidsBackHandler', null, e); } u.resolve({ bids: t, timedOut: n, auctionId: i }); } !(function(e) { e.forEach(e => (0, W.V0)(e)); })(n), (n = (0, j.BO)(l).measureTime('requestBids.validate', () => re(n) )); const p = {}; if ( (n.forEach(e => { const t = Object.keys(e.mediaTypes || { banner: 'banner' }), n = e.bids.map(e => e.bidder), o = _.Ay.bidderRegistry, s = n.filter(e => !f.has(e)); e.adUnitId = (0, r.lk)(); const a = e.ortb2Imp?.ext?.tid; a && (p.hasOwnProperty(e.code) ? (0, r.JE)( `Multiple distinct ortb2Imp.ext.tid were provided for twin ad units '${e.code}'` ) : (p[e.code] = a)), null == i || e.hasOwnProperty('ttlBuffer') || (e.ttlBuffer = i), s.forEach(n => { const i = o[n], s = i && i.getSpec && i.getSpec(), a = (s && s.supportedMediaTypes) || ['banner']; t.some(e => a.includes(e)) || ((0, r.JE)((0, r.bz)(e, n)), (e.bids = e.bids.filter(e => e.bidder !== n))); }); }), n && 0 !== n.length) ) { n.forEach(e => { const t = e.ortb2Imp?.ext?.tid || p[e.code] || (0, r.lk)(); p.hasOwnProperty(e.code) || (p[e.code] = t), (e.transactionId = t), (0, s.J)(e, 'ortb2Imp.ext.tid', t); }); const e = E.n.createAuction({ adUnits: n, adUnitCodes: o, callback: g, cbTimeout: t, labels: a, auctionId: d, ortb2Fragments: c, metrics: l }); let i = n.length; i > 15 && (0, r.fH)( `Current auction ${e.getAuctionId()} contains ${i} adUnits.`, n ), o.forEach(t => A.iS.setLatestAuctionForAdUnit(t, e.getAuctionId()) ), e.callBids(); } else (0, r.OG)('No adUnits configured. No bids requested.'), g(); }, 'startAuction' ); F.requestBids.before(function(e, t) { function n(e) { for (var t; (t = e.shift()); ) t(); } n(D.s0), n(ae), e.call(this, t); }, 49), (F.addAdUnits = function(e) { (0, r.fH)('Invoking tlpbjs.addAdUnits', arguments), F.adUnits.push.apply(F.adUnits, (0, r.cy)(e) ? e : [e]), $.Ic(L); }), (F.onEvent = function(e, t, n) { (0, r.fH)('Invoking tlpbjs.onEvent', arguments), (0, r.fp)(t) ? !n || Q[e].call(null, n) ? $.on(e, t, n) : (0, r.vV)( 'The id provided is not valid for event "' + e + '" and no handler was set.' ) : (0, r.vV)( 'The event handler provided is not a function and was not set on event "' + e + '".' ); }), (F.offEvent = function(e, t, n) { (0, r.fH)('Invoking tlpbjs.offEvent', arguments), (n && !Q[e].call(null, n)) || $.AU(e, t, n); }), (F.getEvents = function() { return (0, r.fH)('Invoking tlpbjs.getEvents'), $.kQ(); }), (F.registerBidAdapter = function(e, t, n) { (0, r.fH)('Invoking tlpbjs.registerBidAdapter', arguments); try { const i = n ? (0, G.xb)(n) : e(); _.Ay.registerBidAdapter(i, t); } catch (e) { (0, r.vV)('Error registering bidder adapter : ' + e.message); } }), (F.registerAnalyticsAdapter = function(e) { (0, r.fH)( 'Invoking tlpbjs.registerAnalyticsAdapter', arguments ); try { _.Ay.registerAnalyticsAdapter(e); } catch (e) { (0, r.vV)( 'Error registering analytics adapter : ' + e.message ); } }), (F.createBid = function(e) { return ( (0, r.fH)('Invoking tlpbjs.createBid', arguments), (0, I.O)(e) ); }); const ae = [], de = (0, w.A_)( 'async', function(e) { e && !(0, r.Im)(e) ? ((0, r.fH)('Invoking tlpbjs.enableAnalytics for: ', e), _.Ay.enableAnalytics(e)) : (0, r.vV)( 'tlpbjs.enableAnalytics should be called with option {}' ); }, 'enableAnalyticsCb' ); function ce(e) { if ('function' == typeof e) try { e.call(); } catch (e) { (0, r.vV)('Error processing command :', e.message, e.stack); } else (0, r.vV)( 'Commands written into tlpbjs.cmd.push must be wrapped in a function' ); } function le(e) { e.forEach(function(e) { if (void 0 === e.called) try { e.call(), (e.called = !0); } catch (e) { (0, r.vV)('Error processing command :', 'prebid.js', e); } }); } (F.enableAnalytics = function(e) { ae.push(de.bind(this, e)); }), (F.aliasBidder = function(e, t, n) { (0, r.fH)('Invoking tlpbjs.aliasBidder', arguments), e && t ? _.Ay.aliasBidAdapter(e, t, n) : (0, r.vV)( 'bidderCode and alias must be passed as arguments', 'tlpbjs.aliasBidder' ); }), (F.aliasRegistry = _.Ay.aliasRegistry), v.$W.getConfig('aliasRegistry', e => { 'private' === e.aliasRegistry && delete F.aliasRegistry; }), (F.getAllWinningBids = function() { return E.n.getAllWinningBids(); }), (F.getAllPrebidWinningBids = function() { return ( (0, r.JE)( 'getAllPrebidWinningBids may be removed or renamed in a future version. This function returns bids that have won in prebid and have had targeting set but have not (yet?) won in the ad server. It excludes bids that have been rendered.' ), E.n .getBidsReceived() .filter(e => e.status === d.tl.BID_TARGETING_SET) ); }), (F.getHighestCpmBids = function(e) { return A.iS.getWinningBids(e); }), (F.clearAllAuctions = function() { E.n.clearAllAuctions(); }), (F.markWinningBidAsUsed = function(e) { let t, { adId: n, adUnitCode: i, analytics: o = !1, events: s = !1 } = e; i && null == n ? (t = A.iS.getWinningBids(i)) : n ? (t = E.n.getBidsReceived().filter(e => e.adId === n)) : (0, r.JE)( 'Improper use of markWinningBidAsUsed. It needs an adUnitCode or an adId to function.' ), t.length > 0 && (o || s ? (0, c.n6)(t[0]) : E.n.addWinningBid(t[0]), (0, c.qn)(t[0])); }), (F.getConfig = v.$W.getAnyConfig), (F.readConfig = v.$W.readAnyConfig), (F.mergeConfig = v.$W.mergeConfig), (F.mergeBidderConfig = v.$W.mergeBidderConfig), (F.setConfig = v.$W.setConfig), (F.setBidderConfig = v.$W.setBidderConfig), F.que.push(() => m()), (F.processQueue = M( () => (0, i.m)().delayPrerendering, function() { (F.que.push = F.cmd.push = ce), (0, c.XO)(), w.A_.ready(), le(F.que), le(F.cmd); } )), (F.triggerBilling = e => { let { adId: t, adUnitCode: n } = e; E.n .getAllWinningBids() .filter( e => e.adId === t || (null == t && e.adUnitCode === n) ) .forEach(e => { _.Ay.triggerBilling(e), (0, c.vB)(e); }); }); }, 7873: (e, t, n) => { n.d(t, { E: () => s, m: () => o }); const i = window, r = (i.tlpbjs = i.tlpbjs || {}); function o() { return r; } function s(e) { r.installedModules.push(e); } (r.cmd = r.cmd || []), (r.que = r.que || []), i === window && ((i._pbjsGlobals = i._pbjsGlobals || []), i._pbjsGlobals.push('tlpbjs')); }, 7934: (e, t, n) => { n.d(t, { EN: () => d, gR: () => s }); var i = n(3272), r = n(1069); function o(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : window; if (!e) return e; if (/\w+:\/\//.exec(e)) return e; let n = t.location.protocol; try { n = t.top.location.protocol; } catch (e) {} return /^\/\//.exec(e) ? n + e : `${n}//${e}`; } function s(e) { let { noLeadingWww: t = !1, noPort: n = !1 } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; try { e = new URL(o(e)); } catch (e) { return; } return ( (e = n ? e.hostname : e.host), t && e.startsWith('www.') && (e = e.substring(4)), e ); } function a(e) { try { const t = e.querySelector("link[rel='canonical']"); if (null !== t) return t.href; } catch (e) {} return null; } const d = (function(e) { let t, n, i, r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : window; return r.top !== r ? e : function() { const o = a(r.document), s = r.location.href; return ( (t === o && s === n) || ((t = o), (n = s), (i = e())), i ); }; })( ((c = window), function() { const e = [], t = (function(e) { try { if (!e.location.ancestorOrigins) return; return e.location.ancestorOrigins; } catch (e) {} })(c), n = i.$W.getConfig('maxNestedIframes'); let d, l, u, f, g = !1, p = 0, h = !1, m = !1, b = !1; do { const n = d, i = m; let o, s = !1, f = null; (m = !1), (d = d ? d.parent : c); try { o = d.location.href || null; } catch (e) { s = !0; } if (s) if (i) { const e = n.context; try { (f = e.sourceUrl), (l = f), (b = !0), (h = !0), d === c.top && (g = !0), e.canonicalUrl && (u = e.canonicalUrl); } catch (e) {} } else { (0, r.JE)( 'Trying to access cross domain iframe. Continuing without referrer and location' ); try { const e = n.document.referrer; e && ((f = e), d === c.top && (g = !0)); } catch (e) {} !f && t && t[p - 1] && ((f = t[p - 1]), d === c.top && (b = !0)), f && !h && (l = f); } else { if (o && ((f = o), (l = f), (h = !1), d === c.top)) { g = !0; const e = a(d.document); e && (u = e); } d.context && d.context.sourceUrl && (m = !0); } e.push(f), p++; } while (d !== c.top && p < n); e.reverse(); try { f = c.top.document.referrer; } catch (e) {} const y = g || b ? l : null, v = i.$W.getConfig('pageUrl') || u || null; let E = i.$W.getConfig('pageUrl') || y || o(v, c); return ( y && y.indexOf('?') > -1 && -1 === E.indexOf('?') && (E = `${E}${y.substring(y.indexOf('?'))}`), { reachedTop: g, isAmp: h, numIframes: p - 1, stack: e, topmostLocation: l || null, location: y, canonicalUrl: v, page: E, domain: s(E) || null, ref: f || null, legacy: { reachedTop: g, isAmp: h, numIframes: p - 1, stack: e, referer: l || null, canonicalUrl: v } } ); }) ); var c; }, 2938: (e, t, n) => { n.d(t, { CK: () => b, X0: () => g, qk: () => f, s0: () => p, vM: () => m }); var i = n(1069), r = n(2693), o = n(5569), s = n(5139), a = n(2604), d = n(6811), c = n(3272), l = n(1445), u = n(3441); const f = 'html5', g = 'cookie'; let p = []; function h() { let { moduleName: e, moduleType: t } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, { isAllowed: n = s.io } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; function r(i, r) { let s = e; const f = c.$W.getCurrentBidder(); f && t === o.tW && l.Ay.aliasRegistry[f] === e && (s = f); return i({ valid: n(d.Ue, (0, u.s)(t, s, { [a.Zw]: r })) }); } function h(e, t, n) { if (!n || 'function' != typeof n) return r(e, t); p.push(function() { let i = r(e, t); n(i); }); } function m(e) { const t = e.charAt(0).toUpperCase() + e.substring(1), n = () => window[e], r = function(t) { return h( function(t) { if (t && t.valid) try { return !!n(); } catch (t) { (0, i.vV)(`${e} api disabled`); } return !1; }, f, t ); }; return { [`has${t}`]: r, [`${e}IsEnabled`]: e => h( function(e) { if (e && e.valid) try { return ( n().setItem('prebid.cookieTest', '1'), '1' === n().getItem('prebid.cookieTest') ); } catch (e) { } finally { try { n().removeItem('prebid.cookieTest'); } catch (e) {} } return !1; }, f, e ), [`setDataIn${t}`]: (e, t, i) => h( function(i) { i && i.valid && r() && n().setItem(e, t); }, f, i ), [`getDataFrom${t}`]: (e, t) => h( function(t) { return t && t.valid && r() ? n().getItem(e) : null; }, f, t ), [`removeDataFrom${t}`]: (e, t) => h( function(t) { t && t.valid && r() && n().removeItem(e); }, f, t ) }; } return { setCookie: function(e, t, n, i, r, o) { return h( function(o) { if (o && o.valid) { const o = r && '' !== r ? ` ;domain=${encodeURIComponent(r)}` : '', s = n && '' !== n ? ` ;expires=${n}` : '', a = null != i && 'none' == i.toLowerCase() ? '; Secure' : ''; document.cookie = `${e}=${encodeURIComponent( t )}${s}; path=/${o}${i ? `; SameSite=${i}` : ''}${a}`; } }, g, o ); }, getCookie: function(e, t) { return h( function(t) { if (t && t.valid) { let t = window.document.cookie.match( '(^|;)\\s*' + e + '\\s*=\\s*([^;]*)\\s*(;|$)' ); return t ? decodeURIComponent(t[2]) : null; } return null; }, g, t ); }, cookiesAreEnabled: function(e) { return h( function(e) { return !(!e || !e.valid) && (0, i.GE)(); }, g, e ); }, ...m('localStorage'), ...m('sessionStorage'), findSimilarCookies: function(e, t) { return h( function(t) { if (t && t.valid) { const t = []; if ((0, i.N9)()) { const n = document.cookie.split(';'); for (; n.length; ) { const i = n.pop(); let r = i.indexOf('='); r = r < 0 ? i.length : r; decodeURIComponent( i.slice(0, r).replace(/^\s+/, '') ).indexOf(e) >= 0 && t.push(decodeURIComponent(i.slice(r + 1))); } } return t; } }, g, t ); } }; } function m() { let { moduleType: e, moduleName: t, bidderCode: n } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; function i() { throw new Error( 'Invalid invocation for getStorageManager: must set either bidderCode, or moduleType + moduleName' ); } return ( n ? (((e && e !== o.tW) || t) && i(), (e = o.tW), (t = n)) : (t && e) || i(), h({ moduleType: e, moduleName: t }) ); } function b(e) { return h({ moduleName: e, moduleType: o.tp }); } (0, s.qB)(d.Ue, 'deviceAccess config', function() { if (!(0, i.N9)()) return { allow: !1 }; }), (0, s.qB)(d.Ue, 'bidderSettings.*.storageAllowed', function(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : r.u; if (e[a.Dk] !== o.tW) return; let n = t.get(e[a.q7], 'storageAllowed'); if (n && !0 !== n) { const t = e[a.Zw]; n = Array.isArray(n) ? n.some(e => e === t) : n === t; } else n = !!n; return n ? void 0 : { allow: n }; }); }, 7779: (e, t, n) => { n.d(t, { Yl: () => w, iS: () => B, uW: () => A }); var i = n(6881), r = n(7863), o = n(2693), s = n(3272), a = n(8969), d = n(5023), c = n(9214), l = n(1371), u = n(2449), f = n(1069), g = n(433), p = n(2713), h = []; const m = 20, b = 'targetingControls.allowTargetingKeys', y = 'targetingControls.addTargetingKeys', v = `Only one of "${b}" or "${y}" can be set`, E = Object.keys(a.xS).map(e => a.xS[e]); let A = { isActualBid: e => e.getStatusCode() === a.XQ.GOOD, isBidNotExpired: e => e.responseTimestamp + 1e3 * (0, r.cT)(e) > (0, f.vE)(), isUnusedBid: e => e && ((e.status && ![a.tl.RENDERED].includes(e.status)) || !e.status) }; function w(e) { return !Object.values(A).some(t => !t(e)); } const I = (0, c.A_)('sync', function(e, t) { let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, i = arguments.length > 3 && void 0 !== arguments[3] && arguments[3], r = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : f.Q0; if (!i) { const i = [], o = s.$W.getConfig('sendBidsControl.dealPrioritization'); let a = (0, f.$z)(e, 'adUnitCode'); return ( Object.keys(a).forEach(e => { let s = [], d = (0, f.$z)(a[e], 'bidderCode'); Object.keys(d).forEach(e => { s.push(d[e].reduce(t)); }), n ? ((s = o ? s.sort(T(!0)) : s.sort((e, t) => t.cpm - e.cpm)), i.push(...s.slice(0, n))) : ((s = s.sort(r)), i.push(...s)); }), i ); } return e; }); function T() { let e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0]; return function(t, n) { return void 0 !== t.adserverTargeting.hb_deal && void 0 === n.adserverTargeting.hb_deal ? -1 : void 0 === t.adserverTargeting.hb_deal && void 0 !== n.adserverTargeting.hb_deal ? 1 : e ? n.cpm - t.cpm : n.adserverTargeting.hb_pb - t.adserverTargeting.hb_pb; }; } function C(e, t) { return (arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : () => window.googletag.pubads().getSlots())().reduce( (e, n) => { const i = (0, f.fp)(t) && t(n); return ( Object.keys(e) .filter((0, f.fp)(i) ? i : (0, f.iC)(n)) .forEach(t => e[t].push(n)), e ); }, Object.fromEntries(e.map(e => [e, []])) ); } const B = (function(e) { let t = {}, n = {}; function i(e) { let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; const i = E.concat(u.Nh), r = s.$W.getConfig( 'targetingControls.allowSendAllBidsTargetingKeys' ), o = r ? r.map(e => a.xS[e]) : i; return e.reduce((e, r) => { if (t || (n && r.dealId)) { const t = (function(e, t) { return t.reduce( (t, n) => ( e.adserverTargeting[n] && t.push({ [`${n}_${e.bidderCode}`.substring(0, 20)]: [ e.adserverTargeting[n] ] }), t ), [] ); })( r, i.filter( e => void 0 !== r.adserverTargeting[e] && (n || -1 !== o.indexOf(e)) ) ); t && e.push({ [r.adUnitCode]: t }); } return e; }, []); } function r(t) { return 'string' == typeof t ? [t] : (0, f.cy)(t) ? t : e.getAdUnitCodes() || []; } function A() { let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : p.Bq, i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0, r = e.getBidsReceived().reduce((e, t) => { const i = s.$W.getConfig('useBidCache'), r = s.$W.getConfig('bidCacheFilterFunction'), o = n[t.adUnitCode] === t.auctionId, a = !(i && !o && 'function' == typeof r) || !!r(t); return ( (i || o) && a && (0, g.A)(t, 'video.context') !== l.LM && w(t) && ((t.latestTargetedAuctionId = n[t.adUnitCode]), e.push(t)), e ); }, []); return I(r, t, void 0, void 0, void 0, i); } function B(e, n) { let i = t.getWinningBids(n, e), r = O(); return ( (i = i.map(e => ({ [e.adUnitCode]: Object.keys(e.adserverTargeting) .filter( t => void 0 === e.sendStandardTargeting || e.sendStandardTargeting || -1 === r.indexOf(t) ) .reduce((t, n) => { const i = [e.adserverTargeting[n]], r = { [n.substring(0, m)]: i }; if (n === a.xS.DEAL) { const o = `${n}_${e.bidderCode}`.substring(0, m), s = { [o]: i }; return [...t, r, s]; } return [...t, r]; }, []) }))), i ); } function O() { return e .getStandardBidderAdServerTargeting() .map(e => e.key) .concat(E) .filter(f.hj); } return ( (t.setLatestAuctionForAdUnit = function(e, t) { n[e] = t; }), (t.resetPresetTargeting = function(e, t) { if ((0, f.II)()) { const n = r(e); Object.values(C(n, t)).forEach(e => { e.forEach(e => { !(function(e) { h.forEach(t => { e.getTargeting(t) && e.clearTargeting(t); }); })(e); }); }); } }), (t.resetPresetTargetingAST = function(e) { r(e).forEach(function(e) { const t = window.apntag.getTag(e); if (t && t.keywords) { const n = Object.keys(t.keywords), i = {}; n.forEach(e => { h.includes(e.toLowerCase()) || (i[e] = t.keywords[e]); }), window.apntag.modifyTag(e, { keywords: i }); } }); }), (t.getAllTargeting = function(t, n, d) { let c = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : p.Vk, l = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : f.Q0; d ||= A(c, l); const g = r(t), E = s.$W.getConfig('enableSendAllBids'), w = s.$W.getConfig('sendBidsControl.bidLimit'), C = (E && (n || w)) || 0, { customKeysByUnit: R, filteredBids: S } = (function(e, t) { const n = [], i = {}, r = s.$W.getConfig( 'targetingControls.alwaysIncludeDeals' ); return ( t.forEach(t => { const s = e.includes(t.adUnitCode), a = !0 === o.u.get(t.bidderCode, 'allowZeroCpmBids') ? t.cpm >= 0 : t.cpm > 0, d = r && t.dealId; s && (d || a) && (n.push(t), Object.keys(t.adserverTargeting) .filter( (function() { let e = O(); e = e.concat(u.Nh); return function(t) { return -1 === e.indexOf(t); }; })() ) .forEach(e => { const n = e.substring(0, m), r = i[t.adUnitCode] || {}, o = [t.adserverTargeting[e]]; r[n] ? (r[n] = r[n].concat(o).filter(f.hj)) : (r[n] = o), (i[t.adUnitCode] = r); })); }), { filteredBids: n, customKeysByUnit: i } ); })(g, d); let k = (function(t, n, r) { const o = !1 !== s.$W.getConfig( 'targetingControls.allBidsCustomTargeting' ), d = B(t, r) .concat( (function(e) { const t = s.$W.getConfig( 'targetingControls.alwaysIncludeDeals' ); return i(e, s.$W.getConfig('enableSendAllBids'), t); })(t) ) .concat( (function(t) { function n(e) { return e?.[a.iD.ADSERVER_TARGETING]; } function i(e) { const t = n(e); return Object.keys(t).map(function(e) { return ( (0, f.O8)(t[e]) && (t[e] = t[e].split(',').map(e => e.trim())), (0, f.cy)(t[e]) || (t[e] = [t[e]]), { [e]: t[e] } ); }); } return e .getAdUnits() .filter(e => t.includes(e.code) && n(e)) .reduce((e, t) => { const n = i(t); return n && e.push({ [t.code]: n }), e; }, []); })(r) ); o && d.push( ...(function(e, t) { return e.reduce((e, n) => { const i = Object.assign({}, n), r = t[i.adUnitCode], o = []; return ( r && Object.keys(r).forEach(e => { e && r[e] && o.push({ [e]: r[e] }); }), e.push({ [i.adUnitCode]: o }), e ); }, []); })(t, n) ); return ( d.forEach(e => { !(function(e) { Object.keys(e).forEach(t => { e[t].forEach(e => { const t = Object.keys(e); -1 === h.indexOf(t[0]) && (h = t.concat(h)); }); }); })(e); }), d ); })(I(S, c, C, void 0, l), R, g); const U = Object.keys(Object.assign({}, a.Zh, a.x5)); let D = s.$W.getConfig(b); const _ = s.$W.getConfig(y); if (null != _ && null != D) throw new Error(v); (D = null != _ ? U.concat(_) : D || U), Array.isArray(D) && D.length > 0 && (k = (function(e, t) { const n = Object.assign({}, a.xS, a.x5), i = Object.keys(n), r = {}; (0, f.fH)( `allowTargetingKeys - allowed keys [ ${t .map(e => n[e]) .join(', ')} ]` ), e.map(e => { const o = Object.keys(e)[0], s = e[o].filter(e => { const o = Object.keys(e)[0], s = 0 === i.filter(e => 0 === o.indexOf(n[e])) .length || t.find(e => { const t = n[e]; return 0 === o.indexOf(t); }); return (r[o] = !s), s; }); e[o] = s; }); const o = Object.keys(r).filter(e => r[e]); return ( (0, f.fH)( `allowTargetingKeys - removed keys [ ${o.join( ', ' )} ]` ), e.filter(e => e[Object.keys(e)[0]].length > 0) ); })(k, D)), (k = (function(e) { let t = e.map(e => ({ [Object.keys(e)[0]]: e[Object.keys(e)[0]] .map(e => ({ [Object.keys(e)[0]]: e[Object.keys(e)[0]].join(',') })) .reduce((e, t) => Object.assign(t, e), {}) })); return ( (t = t.reduce(function(e, t) { var n = Object.keys(t)[0]; return (e[n] = Object.assign({}, e[n], t[n])), e; }, {})), t ); })(k)); const $ = s.$W.getConfig( 'targetingControls.auctionKeyMaxChars' ); return ( $ && ((0, f.fH)( `Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ${$} characters. Running checks on auction keys...` ), (k = (function(e, t) { let n = (0, f.Go)(e), i = Object.keys(n) .map(e => ({ adUnitCode: e, adserverTargeting: n[e] })) .sort(T()); return i.reduce(function(e, i, r, o) { let s = ((a = i.adserverTargeting), Object.keys(a).reduce(function(e, t) { return ( e + `${t}%3d${encodeURIComponent(a[t])}%26` ); }, '')); var a; r + 1 === o.length && (s = s.slice(0, -3)); let d = i.adUnitCode, c = s.length; return ( c <= t ? ((t -= c), (0, f.fH)( `AdUnit '${d}' auction keys comprised of ${c} characters. Deducted from running threshold; new limit is ${t}`, n[d] ), (e[d] = n[d])) : (0, f.JE)( `The following keys for adUnitCode '${d}' exceeded the current limit of the 'auctionKeyMaxChars' setting.\nThe key-set size was ${c}, the current allotted amount was ${t}.\n`, n[d] ), r + 1 === o.length && 0 === Object.keys(e).length && (0, f.vV)( 'No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting.' ), e ); }, {}); })(k, $))), g.forEach(e => { k[e] || (k[e] = {}); }), k ); }), s.$W.getConfig('targetingControls', function(e) { null != (0, g.A)(e, b) && null != (0, g.A)(e, y) && (0, f.vV)(v); }), (t.setTargetingForGPT = (0, c.A_)( 'sync', function(n, i) { let r = t.getAllTargeting(n), o = Object.fromEntries(h.map(e => [e, null])); Object.entries(C(Object.keys(r), i)).forEach(e => { let [t, n] = e; n.length > 1 && (0, f.JE)( `Multiple slots found matching: ${t}. Targeting will be set on all matching slots, which can lead to duplicate impressions if more than one are requested from GAM. To resolve this, ensure the arguments to setTargetingForGPTAsync resolve to a single slot by explicitly matching the desired slotElementID.` ), n.forEach(e => { Object.keys(r[t]).forEach(e => { let n = r[t][e]; 'string' == typeof n && -1 !== n.indexOf(',') && (n = n.split(',')), (r[t][e] = n); }), (0, f.OG)( `Attempting to set targeting-map for slot: ${e.getSlotElementId()} with targeting-map:`, r[t] ), e.updateTargetingFromMap( Object.assign({}, o, r[t]) ); }); }), Object.keys(r).forEach(t => { Object.keys(r[t]).forEach(n => { 'hb_adid' === n && e.setStatusForBids(r[t][n], a.tl.BID_TARGETING_SET); }); }), t.targetingDone(r), d.Ic(a.qY.SET_TARGETING, r); }, 'setTargetingForGPT' )), (t.targetingDone = (0, c.A_)( 'sync', function(e) { return e; }, 'targetingDone' )), (t.getWinningBids = function(e, t) { let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : p.Vk, i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : f.Q0; const s = t || A(n, i), a = r(e); return s .filter(e => a.includes(e.adUnitCode)) .filter(e => !0 === o.u.get(e.bidderCode, 'allowZeroCpmBids') ? e.cpm >= 0 : e.cpm > 0 ) .map(e => e.adUnitCode) .filter(f.hj) .map(e => s .filter(t => (t.adUnitCode === e ? t : null)) .reduce(p.Vk) ); }), (t.setTargetingForAst = function(e) { let n = t.getAllTargeting(e); try { t.resetPresetTargetingAST(e); } catch (e) { (0, f.vV)('unable to reset targeting for AST' + e); } Object.keys(n).forEach(e => Object.keys(n[e]).forEach(t => { if ( ((0, f.OG)( `Attempting to set targeting for targetId: ${e} key: ${t} value: ${n[e][t]}` ), (0, f.O8)(n[e][t]) || (0, f.cy)(n[e][t])) ) { let i = {}, r = /pt[0-9]/; t.search(r) < 0 ? (i[t.toUpperCase()] = n[e][t]) : (i[t] = n[e][t]), window.apntag.setKeywords(e, i, { overrideKeyValue: !0 }); } }) ); }), (t.isApntagDefined = function() { if (window.apntag && (0, f.fp)(window.apntag.setKeywords)) return !0; }), t ); })(i.n); }, 8230: (e, t, n) => { n.d(t, { qh: () => u, zt: () => g }); var i = n(1069), r = n(3272), o = n(2938), s = n(5139), a = n(6811), d = n(2604), c = n(5569), l = n(3441); const u = { syncEnabled: !0, filterSettings: { image: { bidders: '*', filter: 'include' } }, syncsPerBidder: 5, syncDelay: 3e3, auctionDelay: 500 }; r.$W.setDefaults({ userSync: (0, i.Go)(u) }); const f = (0, o.CK)('usersync'); const g = (function(e) { let t = {}, n = { image: [], iframe: [] }, o = new Set(), s = {}, u = { image: !0, iframe: !1 }, f = e.config; function g() { if (f.syncEnabled && e.browserSupportsCookies) { try { !(function() { if (!u.iframe) return; p(n.iframe, e => { let [t, r] = e; (0, i.OG)(`Invoking iframe user sync for bidder: ${t}`), (0, i.SG)(r), (function(e, t) { e.image = e.image.filter(e => e[0] !== t); })(n, t); }); })(), (function() { if (!u.image) return; p(n.image, e => { let [t, n] = e; (0, i.OG)( `Invoking image pixel user sync for bidder: ${t}` ), (0, i.z$)(n); }); })(); } catch (e) { return (0, i.vV)('Error firing user syncs', e); } n = { image: [], iframe: [] }; } } function p(e, t) { (0, i.k4)(e).forEach(t); } function h(e, t) { let n = f.filterSettings; if ( (function(e, t) { if (e.all && e[t]) return ( (0, i.JE)( `Detected presence of the "filterSettings.all" and "filterSettings.${t}" in userSync config. You cannot mix "all" with "iframe/image" configs; they are mutually exclusive.` ), !1 ); let n = e.all ? e.all : e[t], r = e.all ? 'all' : t; if (!n) return !1; let o = n.filter, s = n.bidders; if (o && 'include' !== o && 'exclude' !== o) return ( (0, i.JE)( `UserSync "filterSettings.${r}.filter" setting '${o}' is not a valid option; use either 'include' or 'exclude'.` ), !1 ); if ( '*' !== s && !( Array.isArray(s) && s.length > 0 && s.every(e => (0, i.O8)(e) && '*' !== e) ) ) return ( (0, i.JE)( `Detected an invalid setup in userSync "filterSettings.${r}.bidders"; use either '*' (to represent all bidders) or an array of bidders.` ), !1 ); return !0; })(n, e) ) { u[e] = !0; let i = n.all ? n.all : n[e], r = '*' === i.bidders ? [t] : i.bidders; const o = { include: (e, t) => !e.includes(t), exclude: (e, t) => e.includes(t) }; return o[i.filter || 'include'](r, t); } return !u[e]; } return ( r.$W.getConfig('userSync', e => { if (e.userSync) { let t = e.userSync.filterSettings; (0, i.Qd)(t) && (t.image || t.all || (e.userSync.filterSettings.image = { bidders: '*', filter: 'include' })); } f = Object.assign(f, e.userSync); }), e.regRule(a.Ml, 'userSync config', e => { if (!f.syncEnabled) return { allow: !1, reason: 'syncs are disabled' }; if (e[d.Dk] === c.tW) { const n = e[d.bt], i = e[d.iK]; if (!t.canBidderRegisterSync(n, i)) return { allow: !1, reason: `${n} syncs are not enabled for ${i}` }; } }), (t.registerSync = (t, r, u) => o.has(r) ? (0, i.OG)( `already fired syncs for "${r}", ignoring registerSync call` ) : f.syncEnabled && (0, i.cy)(n[t]) ? r ? 0 !== f.syncsPerBidder && Number(s[r]) >= f.syncsPerBidder ? (0, i.JE)(`Number of user syncs exceeded for "${r}"`) : void ( e.isAllowed( a.Ml, (0, l.s)(c.tW, r, { [d.bt]: t, [d.e3]: u }) ) && (n[t].push([r, u]), (s = (function(e, t) { return e[t] ? (e[t] += 1) : (e[t] = 1), e; })(s, r))) ) : (0, i.JE)('Bidder is required for registering sync') : (0, i.JE)(`User sync type "${t}" not supported`)), (t.bidderDone = o.add.bind(o)), (t.syncUsers = function() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0; if (e) return setTimeout(g, Number(e)); g(); }), (t.triggerUserSyncs = () => { f.enableOverride && t.syncUsers(); }), (t.canBidderRegisterSync = (e, t) => !f.filterSettings || !h(e, t)), t ); })( Object.defineProperties( { config: r.$W.getConfig('userSync'), isAllowed: s.io, regRule: s.qB }, { browserSupportsCookies: { get: function() { return !(0, i.Vt)() && f.cookiesAreEnabled(); } } } ) ); }, 1069: (e, t, n) => { n.d(t, { $D: () => U, $z: () => Ue, Bg: () => Ke, Bj: () => Qe, Bk: () => ge, Bq: () => he, CA: () => K, D4: () => me, D9: () => Le, Dl: () => Ge, El: () => Ye, Et: () => ne, Ez: () => Y, Fq: () => We, GE: () => Se, Go: () => we, II: () => ye, Im: () => oe, JE: () => F, Lm: () => re, N9: () => Re, O8: () => ee, OG: () => M, Ot: () => T, PB: () => Je, Q0: () => Ee, Qd: () => ie, SB: () => $e, SG: () => ue, SH: () => De, Tz: () => fe, U6: () => ke, Up: () => Pe, Uu: () => Ve, V: () => Oe, Vt: () => Te, YE: () => P, ZA: () => be, ZK: () => Ze, _s: () => ae, al: () => Ie, bD: () => He, bL: () => k, bz: () => Ne, c$: () => Fe, cD: () => w, cf: () => j, cy: () => te, dp: () => J, fH: () => G, fp: () => Z, gM: () => Ce, h0: () => L, hj: () => pe, hw: () => Q, iC: () => qe, k4: () => Ae, kK: () => _, l4: () => N, l9: () => je, lk: () => S, mM: () => C, mb: () => q, nT: () => Xe, ro: () => le, s0: () => R, t1: () => ve, vE: () => Be, vV: () => H, wD: () => _e, xQ: () => se, y$: () => D, z$: () => ce }); var i = n(3272), r = n(5751), o = n(8969), s = n(5555), a = n(7873), d = 'String', c = 'Function', l = 'Number', u = 'Object', f = 'Boolean', g = Object.prototype.toString; let p, h, m = Boolean(window.console), b = Boolean(m && window.console.log), y = Boolean(m && window.console.info), v = Boolean(m && window.console.warn), E = Boolean(m && window.console.error); const A = (0, a.m)(); function w(e) { p = e; } function I() { null != p && p(...arguments); } const T = (function() { let e; return () => ( (!h || !e || Date.now() - e > 20) && (C.resetWinDimensions(), (e = Date.now())), h ); })(); const C = { checkCookieSupport: Se, createTrackPixelIframeHtml: function(e) { let t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : ''; if (!e) return ''; t && (e = encodeURI(e)); n && (n = `sandbox="${n}"`); return `<iframe ${n} id="${R()}"\n frameborder="0"\n allowtransparency="true"\n marginheight="0" marginwidth="0"\n width="0" hspace="0" vspace="0" height="0"\n style="height:0px;width:0px;display:none;"\n scrolling="no"\n src="${e}">\n </iframe>`; }, getWindowSelf: N, getWindowTop: q, canAccessWindowTop: V, getWindowLocation: W, insertUserSyncIframe: ue, insertElement: ae, isFn: Z, triggerPixel: ce, logError: H, logWarn: F, logMessage: M, logInfo: G, parseQS: Me, formatQS: function(e) { return Object.keys(e) .map(t => Array.isArray(e[t]) ? e[t].map(e => `${t}[]=${e}`).join('&') : `${t}=${e[t]}` ) .join('&'); }, deepEqual: He, resetWinDimensions: function() { const e = V() ? C.getWindowTop() : C.getWindowSelf(); h = { screen: { width: e.screen?.width, height: e.screen?.height, availWidth: e.screen?.availWidth, availHeight: e.screen?.availHeight, colorDepth: e.screen?.colorDepth }, innerHeight: e.innerHeight, innerWidth: e.innerWidth, outerWidth: e.outerWidth, outerHeight: e.outerHeight, visualViewport: { height: e.visualViewport?.height, width: e.visualViewport?.width }, document: { documentElement: { clientWidth: e.document?.documentElement?.clientWidth, clientHeight: e.document?.documentElement?.clientHeight, scrollTop: e.document?.documentElement?.scrollTop, scrollLeft: e.document?.documentElement?.scrollLeft }, body: { scrollTop: document.body?.scrollTop, scrollLeft: document.body?.scrollLeft, clientWidth: document.body?.clientWidth, clientHeight: document.body?.clientHeight } } }; } }; var B, O = ((B = 0), function() { return ++B; }); function R() { return ( O() + Math.random() .toString(16) .substr(2) ); } function S(e) { return e ? ( e ^ ((window && window.crypto && window.crypto.getRandomValues ? crypto.getRandomValues(new Uint8Array(1))[0] % 16 : 16 * Math.random()) >> (e / 4)) ).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, S); } function k(e) { let t = ''; for (var n in e) e.hasOwnProperty(n) && (t += n + '=' + encodeURIComponent(e[n]) + '&'); return (t = t.replace(/&$/, '')), t; } function U(e) { return e && Object.getOwnPropertyNames(e).length > 0 ? Object.keys(e) .map(t => `${t}=${encodeURIComponent(e[t])}`) .join('&') : ''; } function D(e) { return 'string' == typeof e ? e .split(/\s*,\s*/) .map(e => e.match(/^(\d+)x(\d+)$/i)) .filter(e => e) .map(e => { let [t, n, i] = e; return [parseInt(n, 10), parseInt(i, 10)]; }) : Array.isArray(e) ? x(e) ? [e] : e.filter(x) : []; } function _(e) { return D(e).map($); } function $(e) { return e[0] + 'x' + e[1]; } function j(e) { return { w: e[0], h: e[1] }; } function x(e) { return te(e) && 2 === e.length && !isNaN(e[0]) && !isNaN(e[1]); } function q() { return window.top; } function N() { return window.self; } function W() { return window.location; } function P() { return document; } function V() { try { if (C.getWindowTop().location.href) return !0; } catch (e) { return !1; } } function M() { J() && b && console.log.apply(console, z(arguments, 'MESSAGE:')); } function G() { J() && y && console.info.apply(console, z(arguments, 'INFO:')); } function F() { J() && v && console.warn.apply(console, z(arguments, 'WARNING:')), I(o.qY.AUCTION_DEBUG, { type: 'WARNING', arguments }); } function H() { J() && E && console.error.apply(console, z(arguments, 'ERROR:')), I(o.qY.AUCTION_DEBUG, { type: 'ERROR', arguments }); } function L(e) { function t(t) { return function() { for ( var n = arguments.length, i = new Array(n), r = 0; r < n; r++ ) i[r] = arguments[r]; t(e, ...i); }; } return { logError: t(H), logWarn: t(F), logMessage: t(M), logInfo: t(G) }; } function z(e, t) { e = [].slice.call(e); let n = i.$W.getCurrentBidder(); return ( t && e.unshift(t), n && e.unshift(r('#aaa')), e.unshift(r('#3b88c3')), e.unshift('%cPrebid' + (n ? `%c${n}` : '')), e ); function r(e) { return `display: inline-block; color: #fff; background: ${e}; padding: 1px 4px; border-radius: 3px;`; } } function J() { return !!i.$W.getConfig('debug'); } const Q = (() => { const e = { border: '0px', hspace: '0', vspace: '0', marginWidth: '0', marginHeight: '0', scrolling: 'no', frameBorder: '0', allowtransparency: 'true' }; return function(t, n) { let i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; const r = t.createElement('iframe'); return ( Object.assign(r, Object.assign({}, e, n)), Object.assign(r.style, i), r ); }; })(); function K() { return Q( document, { id: R(), width: 0, height: 0, src: 'about:blank' }, { display: 'none', height: '0px', width: '0px', border: '0px' } ); } function Y(e) { return Me(W().search)[e] || ''; } function X(e, t) { return g.call(e) === '[object ' + t + ']'; } function Z(e) { return X(e, c); } function ee(e) { return X(e, d); } const te = Array.isArray.bind(Array); function ne(e) { return X(e, l); } function ie(e) { return X(e, u); } function re(e) { return X(e, f); } function oe(e) { return ( !e || (te(e) || ee(e) ? !(e.length > 0) : Object.keys(e).length <= 0) ); } function se(e) { return ee(e) && (!e || 0 === e.length); } function ae(e, t, n, i) { let r; (t = t || document), (r = n ? t.getElementsByTagName(n) : t.getElementsByTagName('head')); try { if ( ((r = r.length ? r : t.getElementsByTagName('body')), r.length) ) { r = r[0]; let t = i ? null : r.firstChild; return r.insertBefore(e, t); } } catch (e) {} } function de(e, t) { let n = null; return new s.U9(i => { const r = function() { e.removeEventListener('load', r), e.removeEventListener('error', r), null != n && window.clearTimeout(n), i(); }; e.addEventListener('load', r), e.addEventListener('error', r), null != t && (n = window.setTimeout(r, t)); }); } function ce(e, t, n) { const i = new Image(); t && C.isFn(t) && de(i, n).then(t), (i.src = e); } function le(e) { if (!e) return; const t = K(); var n; C.insertElement(t, document, 'body'), (n = t.contentWindow.document).open(), n.write(e), n.close(); } function ue(e, t, n) { let i = C.createTrackPixelIframeHtml( e, !1, 'allow-scripts allow-same-origin' ), r = document.createElement('div'); r.innerHTML = i; let o = r.firstChild; t && C.isFn(t) && de(o, n).then(t), C.insertElement(o, document, 'html', !0); } function fe(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : encodeURI; if (!e) return ''; let n = '<div style="position:absolute;left:0px;top:0px;visibility:hidden;">'; return (n += '<img src="' + t(e) + '"></div>'), n; } function ge(e) { return Array.from(e.matchAll(/\$({[^}]+})/g)) .map(e => e[1]) .reduce( (e, t) => e.replace('$' + encodeURIComponent(t), '$' + t), encodeURI(e) ); } function pe(e, t, n) { return n.indexOf(e) === t; } function he(e, t) { return e.concat(t); } function me(e, t) { if (e) return t .flatMap(e => e.bids) .find(t => ['bidId', 'adId', 'bid_id'].some(n => t[n] === e)); } function be() { return (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : A.adUnits ) .map(e => e.bids.map(e => e.bidder).reduce(he, [])) .reduce(he, []) .filter(e => void 0 !== e) .filter(pe); } function ye() { if ( window.googletag && Z(window.googletag.pubads) && Z(window.googletag.pubads().getSlots) ) return !0; } function ve() { if (window.apntag && Z(window.apntag.getTag)) return !0; } const Ee = (e, t) => t.cpm - e.cpm; function Ae(e) { let t = e.length; for (; t > 0; ) { let n = Math.floor(Math.random() * t); t--; let i = e[t]; (e[t] = e[n]), (e[n] = i); } return e; } function we(e) { return (0, r.Q)(e) || {}; } function Ie() { try { return C.getWindowSelf() !== C.getWindowTop(); } catch (e) { return !0; } } function Te() { return /^((?!chrome|android|crios|fxios).)*safari/i.test( navigator.userAgent ); } function Ce(e, t) { if (e) return Object.entries(t).reduce((e, t) => { let [n, i] = t; return e.replace( new RegExp('\\$\\{' + n + '\\}', 'g'), i || '' ); }, e); } function Be() { return new Date().getTime(); } function Oe() { return ( (window.performance && window.performance.now && window.performance.now()) || 0 ); } function Re() { return !1 !== i.$W.getConfig('deviceAccess'); } function Se() { if (window.navigator.cookieEnabled || document.cookie.length) return !0; } function ke(e, t) { if (t < 1) throw new Error( `numRequiredCalls must be a positive number. Got ${t}` ); let n = 0; return function() { n++, n === t && e.apply(this, arguments); }; } function Ue(e, t) { return e.reduce(function(e, n) { return (e[n[t]] = e[n[t]] || []).push(n), e; }, {}); } function De(e, t) { return t .filter(t => e[t]) .reduce((t, n) => Object.assign(t, { [n]: e[n] }), {}); } function _e(e) { const t = ['banner', 'native', 'video'], n = ['instream', 'outstream', 'adpod']; return ( !!Object.keys(e).every(e => t.includes(e)) && (!e.video || !e.video.context || n.includes(e.video.context)) ); } function $e(e, t, n) { return e .filter(e => e.code === t) .flatMap(e => e.bids) .filter(e => e.bidder === n) .map(e => e.params || {}); } function je() { return ( '1' === navigator.doNotTrack || '1' === window.doNotTrack || '1' === navigator.msDoNotTrack || 'yes' === navigator.doNotTrack ); } const xe = (e, t) => e.getAdUnitPath() === t || e.getSlotElementId() === t; function qe(e) { return t => xe(e, t); } function Ne(e, t) { const n = Object.keys(e.mediaTypes || { banner: 'banner' }).join( ', ' ); return `\n ${e.code} is a ${n} ad unit\n containing bidders that don't support ${n}: ${t}.\n This bidder won't fetch demand.\n `; } const We = Number.isInteger.bind(Number); function Pe(e, t) { return 'object' != typeof e ? {} : t.reduce((n, i, r) => { if ('function' == typeof i) return n; let o = i, s = i.match(/^(.+?)\sas\s(.+?)$/i); s && ((i = s[1]), (o = s[2])); let a = e[i]; return ( 'function' == typeof t[r + 1] && (a = t[r + 1](a, n)), void 0 !== a && (n[o] = a), n ); }, {}); } function Ve(e, t) { return te(e) && (!t || e.length === t) && e.every(e => We(e)); } function Me(e) { return e ? e .replace(/^\?/, '') .split('&') .reduce((e, t) => { let [n, i] = t.split('='); return ( /\[\]$/.test(n) ? ((n = n.replace('[]', '')), (e[n] = e[n] || []), e[n].push(i)) : (e[n] = i || ''), e ); }, {}) : {}; } function Ge(e, t) { let n = document.createElement('a'); t && 'noDecodeWholeURL' in t && t.noDecodeWholeURL ? (n.href = e) : (n.href = decodeURIComponent(e)); let i = t && 'decodeSearchAsString' in t && t.decodeSearchAsString; return { href: n.href, protocol: (n.protocol || '').replace(/:$/, ''), hostname: n.hostname, port: +n.port, pathname: n.pathname.replace(/^(?!\/)/, '/'), search: i ? n.search : C.parseQS(n.search || ''), hash: (n.hash || '').replace(/^#/, ''), host: n.host || window.location.host }; } function Fe(e) { return ( (e.protocol || 'http') + '://' + (e.host || e.hostname + (e.port ? `:${e.port}` : '')) + (e.pathname || '') + (e.search ? `?${C.formatQS(e.search || '')}` : '') + (e.hash ? `#${e.hash}` : '') ); } function He(e, t) { let { checkTypes: n = !1 } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; if (e === t) return !0; if ( 'object' != typeof e || null === e || 'object' != typeof t || null === t ) return !1; const i = Array.isArray(e), r = Array.isArray(t); if (i && r) { if (e.length !== t.length) return !1; for (let i = 0; i < e.length; i++) if (!He(e[i], t[i], { checkTypes: n })) return !1; return !0; } if (i || r) return !1; if (n && e.constructor !== t.constructor) return !1; const o = Object.keys(e), s = Object.keys(t); if (o.length !== s.length) return !1; for (const i of o) { if (!Object.prototype.hasOwnProperty.call(t, i)) return !1; if (!He(e[i], t[i], { checkTypes: n })) return !1; } return !0; } function Le(e) { for ( let t = 0; t < (arguments.length <= 1 ? 0 : arguments.length - 1); t++ ) { const n = t + 1 < 1 || arguments.length <= t + 1 ? void 0 : arguments[t + 1]; ie(n) && ze(e, n); } return e; } function ze(e, t) { if (!ie(e) || !ie(t)) return; const n = Object.keys(t); for (let i = 0; i < n.length; i++) { const r = n[i]; if ('__proto__' === r || 'constructor' === r) continue; const o = t[r]; ie(o) ? (e[r] || (e[r] = {}), ze(e[r], o)) : Array.isArray(o) ? Array.isArray(e[r]) ? o.forEach(t => { e[r].some(e => He(e, t)) || e[r].push(t); }) : (e[r] = [...o]) : (e[r] = o); } } function Je(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, n = function(e, t) { if (Z(Math.imul)) return Math.imul(e, t); var n = (4194303 & e) * (t |= 0); return ( 4290772992 & e && (n += ((4290772992 & e) * t) | 0), 0 | n ); }, i = 3735928559 ^ t, r = 1103547991 ^ t; for (let t, o = 0; o < e.length; o++) (t = e.charCodeAt(o)), (i = n(i ^ t, 2654435761)), (r = n(r ^ t, 1597334677)); return ( (i = n(i ^ (i >>> 16), 2246822507) ^ n(r ^ (r >>> 13), 3266489909)), (r = n(r ^ (r >>> 16), 2246822507) ^ n(i ^ (i >>> 13), 3266489909)), (4294967296 * (2097151 & r) + (i >>> 0)).toString() ); } function Qe(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : function(e) { return e; }; const n = new Map(), i = function() { const i = t.apply(this, arguments); return ( n.has(i) || n.set(i, e.apply(this, arguments)), n.get(i) ); }; return (i.clear = n.clear.bind(n)), i; } function Ke(e, t) { Object.entries(t).forEach(t => { let [n, i] = t; return e.setAttribute(n, i); }); } function Ye(e, t) { let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : e => e, i = 0, r = e.length && e.length - 1; const o = n(t); for (; r - i > 1; ) { const t = i + Math.round((r - i) / 2); o > n(e[t]) ? (i = t) : (r = t); } for (; e.length > i && o > n(e[i]); ) i++; return i; } const Xe = (function() { let e; return function() { if (void 0 !== e) return e; try { void 0 === window.CompressionStream ? (e = !1) : (new window.CompressionStream('gzip'), (e = !0)); } catch (t) { e = !1; } return e; }; })(); async function Ze(e) { 'string' != typeof e && (e = JSON.stringify(e)); const t = new TextEncoder().encode(e), n = new Blob([t]) .stream() .pipeThrough(new window.CompressionStream('gzip')), i = await new Response(n).blob(), r = await i.arrayBuffer(); return new Uint8Array(r); } }, 2621: (e, t, n) => { function i(e) { return ( !e?.gdprApplies || !0 === e?.vendorData?.purpose?.consents?.[1] ); } n.d(t, { C: () => i }); }, 6894: (e, t, n) => { n.d(t, { Ak: () => m, BO: () => g, K7: () => p }); var i = n(3272); const r = 'performanceMetrics', o = window.performance && window.performance.now ? () => window.performance.now() : () => Date.now(), s = new WeakMap(); function a() { let { now: e = o, mkNode: t = l, mkTimer: n = c, mkRenamer: i = e => e, nodes: r = s } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; return function() { return (function o(s) { let a = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : e => ({ forEach(t) { t(e); } }); a = i(a); const d = ((c = 'timestamps'), function(e) { return s.dfWalk({ visit(t, n) { const i = n[c]; if (i.hasOwnProperty(e)) return i[e]; } }); }); var c; function l(e, t) { const n = a(e); s.dfWalk({ follow: (e, t) => t.propagate && (!e || !e.stopPropagation), visit(e, i) { n.forEach(n => { null == e ? (i.metrics[n] = t) : (i.groups.hasOwnProperty(n) || (i.groups[n] = []), i.groups[n].push(t)); }); } }); } function u(t) { return n(e, e => l(t, e)); } function f() { let e = {}; return ( s.dfWalk({ visit(t, n) { e = Object.assign( {}, !t || t.includeGroups ? n.groups : null, n.metrics, e ); } }), e ); } const g = { startTiming: u, measureTime: function(e, t) { return u(e).stopAfter(t)(); }, measureHookTime: function(e, t, n) { const i = u(e); return n( (function(e) { const t = i.stopBefore(e); return ( (t.bail = e.bail && i.stopBefore(e.bail)), (t.stopTiming = i), (t.untimed = e), t ); })(t) ); }, checkpoint: function(t) { s.timestamps[t] = e(); }, timeSince: function(t, n) { const i = d(t), r = null != i ? e() - i : null; return null != n && l(n, r), r; }, timeBetween: function(e, t, n) { const i = d(e), r = d(t), o = null != i && null != r ? r - i : null; return null != n && l(n, o), o; }, setMetric: l, getMetrics: f, fork: function() { let { propagate: e = !0, stopPropagation: n = !1, includeGroups: i = !1 } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; return o( t([ [ s, { propagate: e, stopPropagation: n, includeGroups: i } ] ]), a ); }, join: function(e) { let { propagate: t = !0, stopPropagation: n = !1, includeGroups: i = !1 } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; const o = r.get(e); null != o && o.addParent(s, { propagate: t, stopPropagation: n, includeGroups: i }); }, newMetrics: function() { return o(s.newSibling(), a); }, renameWith: function(e) { return o(s, e); }, toJSON: () => f() }; return r.set(g, s), g; })(t([])); }; } function d(e, t, n) { return function() { t && t(); try { return e.apply(this, arguments); } finally { n && n(); } }; } function c(e, t) { const n = e(); let i = !1; function r() { i || (t(e() - n), (i = !0)); } return ( (r.stopBefore = e => d(e, r)), (r.stopAfter = e => d(e, null, r)), r ); } function l(e) { return { metrics: {}, timestamps: {}, groups: {}, addParent(t, n) { e.push([t, n]); }, newSibling: () => l(e.slice()), dfWalk() { let t, { visit: n, follow: i = () => !0, visited: r = new Set(), inEdge: o } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; if (!r.has(this)) { if ((r.add(this), (t = n(o, this)), null != t)) return t; for (const [s, a] of e) if ( i(o, a) && ((t = s.dfWalk({ visit: n, follow: i, visited: r, inEdge: a })), null != t) ) return t; } } }; } const u = (() => { const e = function() {}, t = () => ({}), n = { forEach: e }, i = () => null; (i.stopBefore = e => e), (i.stopAfter = e => e); const r = Object.defineProperties( { dfWalk: e, newSibling: () => r, addParent: e }, Object.fromEntries( ['metrics', 'timestamps', 'groups'].map(e => [e, { get: t }]) ) ); return a({ now: () => 0, mkNode: () => r, mkRenamer: () => () => n, mkTimer: () => i, nodes: { get: e, set: e } })(); })(); let f = !0; function g(e) { return (f && e) || u; } i.$W.getConfig(r, e => { f = !!e[r]; }); const p = (() => { const e = a(); return function() { return f ? e() : u; }; })(); function h(e, t) { return function(n, i) { return function(r) { for ( var o = arguments.length, s = new Array(o > 1 ? o - 1 : 0), a = 1; a < o; a++ ) s[a - 1] = arguments[a]; const d = this; return g(t.apply(d, s)).measureHookTime(e + n, r, function( e ) { return i.call(d, e, ...s); }); }; }; } const m = h('requestBids.', e => e.metrics); h('addBidResponse.', (e, t) => t.metrics); }, 5555: (e, t, n) => { n.d(t, { U9: () => s, cb: () => a, v6: () => d }); var i = n(43), r = n(7873); const o = (0, r.m)().setTimeout ?? i.w, s = (0, r.m)().Promise ?? i.k; function a() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0; return new s(t => { o(t, e); }); } function d() { let e, t, { promiseFactory: n = e => new s(e) } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; function i(e) { return t => e(t); } return { promise: n((n, i) => { (e = n), (t = i); }), resolve: i(e), reject: i(t) }; } }, 2713: (e, t, n) => { function i(e, t) { return e === t ? 0 : e < t ? -1 : 1; } function r() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : e => e; return (t, n) => i(e(t), e(n)); } function o() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : i; return (t, n) => -e(t, n) || 0; } function s() { for ( var e = arguments.length, t = new Array(e), n = 0; n < e; n++ ) t[n] = arguments[n]; return function(e, n) { for (const i of t) { const t = i(e, n); if (0 !== t) return t; } return 0; }; } function a() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : i; return (t, n) => (e(n, t) < 0 ? n : t); } function d() { return a( o( arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : i ) ); } n.d(t, { Bp: () => a, Bq: () => f, NV: () => r, Vk: () => u }); const c = r(e => e.cpm), l = r(e => e.responseTimestamp), u = d(s(c, o(r(e => e.timeToRespond)))), f = d(s(c, o(l))); d(s(c, l)); }, 6853: (e, t, n) => { n.d(t, { H: () => l }); var i = n(5555), r = n(1069); let o = null, s = 0, a = []; function d() { document.hidden ? (o = Date.now()) : ((s += Date.now() - (o ?? 0)), (o = null), a.forEach(e => { let { callback: t, startTime: n, setTimerId: i } = e; return i(c(t, s - n)()); }), (a = [])); } function c(e, t) { const n = s; let i = setTimeout(() => { s === n && null == o ? e() : null != o ? a.push({ callback: e, startTime: n, setTimerId(e) { i = e; } }) : (i = c(e, s - n)()); }, t); return () => i; } function l() { let { startTime: e = r.vE, ttl: t = () => null, monotonic: n = !1, slack: o = 5e3 } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; const s = new Map(), a = [], d = [], l = n ? e => d.push(e) : e => d.splice( (0, r.El)(d, e, e => e.expiry), 0, e ); let u, f; function g() { if ((f && clearTimeout(f), d.length > 0)) { const e = (0, r.vE)(); (u = Math.max(e, d[0].expiry + o)), (f = c(() => { const e = (0, r.vE)(); let t = 0; for (const n of d) { if (n.expiry > e) break; a.forEach(e => { try { e(n.item); } catch (e) { (0, r.vV)(e); } }), s.delete(n.item), t++; } d.splice(0, t), (f = null), g(); }, u - e)); } else f = null; } function p(n) { const r = {}, s = h; let a; const [d, c] = Object.entries({ start: e, delta: t }).map(e => { let t, [d, c] = e; return function() { const e = (t = {}); i.U9.resolve(c(n)).then(n => { e === t && ((r[d] = n), s === h && null != r.start && null != r.delta && ((a = r.start + r.delta), l(p), (null == f || u > a + o) && g())); }); }; }), p = { item: n, refresh: c, get expiry() { return a; } }; return d(), c(), p; } let h = {}; return { [Symbol.iterator]: () => s.keys(), add(e) { !s.has(e) && s.set(e, p(e)); }, clear() { (d.length = 0), g(), s.clear(), (h = {}); }, toArray: () => Array.from(s.keys()), refresh() { (d.length = 0), g(); for (const e of s.values()) e.refresh(); }, onExpiry: e => ( a.push(e), () => { const t = a.indexOf(e); t >= 0 && a.splice(t, 1); } ) }; } document.addEventListener('visibilitychange', d); }, 3895: (e, t, n) => { n.d(t, { H6: () => a, V0: () => c, Zy: () => d, aP: () => l, vk: () => u }); var i = n(1069), r = n(3272), o = n(9214), s = n(6881); const a = 'outstream', d = new Map([ [ 'mimes', e => Array.isArray(e) && e.length > 0 && e.every(e => 'string' == typeof e) ], ['minduration', i.Fq], ['maxduration', i.Fq], ['startdelay', i.Fq], ['maxseq', i.Fq], ['poddur', i.Fq], ['protocols', i.Uu], ['w', i.Fq], ['h', i.Fq], ['podid', i.O8], ['podseq', i.Fq], ['rqddurs', i.Uu], ['placement', i.Fq], ['plcmt', i.Fq], ['linearity', i.Fq], ['skip', e => [1, 0].includes(e)], ['skipmin', i.Fq], ['skipafter', i.Fq], ['sequence', i.Fq], ['slotinpod', i.Fq], ['mincpmpersec', i.Et], ['battr', i.Uu], ['maxextended', i.Fq], ['minbitrate', i.Fq], ['maxbitrate', i.Fq], ['boxingallowed', i.Fq], ['playbackmethod', i.Uu], ['playbackend', i.Fq], ['delivery', i.Uu], ['pos', i.Fq], ['api', i.Uu], ['companiontype', i.Uu], ['poddedupe', i.Uu] ]); function c(e) { const t = e?.mediaTypes?.video; null != t && null == t.plcmt && (t.context === a || [2, 3, 4].includes(t.placement) ? (t.plcmt = 4) : t.context !== a && [2, 6].includes(t.playbackmethod) && (t.plcmt = 2)); } function l(e, t) { const n = e?.mediaTypes?.video; (0, i.Qd)(n) ? null != n && Object.entries(n).forEach(r => { let [o, s] = r; if (!d.has(o)) return; d.get(o)(s) || ('function' == typeof t ? t(o, s, e) : (delete n[o], (0, i.JE)( `Invalid prop in adUnit "${e.code}": Invalid value for mediaTypes.video.${o} ORTB property. The property has been removed.` ))); }) : (0, i.JE)( 'validateOrtbVideoFields: videoParams must be an object.' ); } function u(e) { let { index: t = s.n.index } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; const n = t.getMediaTypes(e)?.video, i = n && n?.context, r = n && n?.useCacheKey, o = t.getAdUnit(e); return f(e, o, n, i, r); } const f = (0, o.A_)( 'sync', function(e, t, n, o, s) { if (n && (s || o !== a)) { const { url: t, useLocal: n } = r.$W.getConfig('cache') || {}; return t || n || !e.vastXml || e.vastUrl ? !(!e.vastUrl && !e.vastXml) : ((0, i.vV)( '\n This bid contains only vastXml and will not work when a prebid cache url is not specified.\n Try enabling either prebid cache with tlpbjs.setConfig({ cache: {url: "..."} });\n or local cache with tlpbjs.setConfig({ cache: { useLocal: true }});\n ' ), !1); } return ( !(o === a && !s) || !!(e.renderer || (t && t.renderer) || n.renderer) ); }, 'checkVideoBidSetup' ); } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [769], { 8944: (t, e, n) => { n.d(e, { M: () => i }); var c = n(1069); function i() { const t = (0, c.Ot)(); try { const e = t.innerHeight || t.document.documentElement.clientHeight || t.document.body.clientHeight || 0; return { width: t.innerWidth || t.document.documentElement.clientWidth || t.document.body.clientWidth || 0, height: e }; } catch (t) { return {}; } } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [139], { 43: (t, e, n) => { n.d(e, { k: () => c, w: () => r }); const s = 0, l = 1; class c { #t; #e; constructor(t) { if ('function' != typeof t) throw new Error('resolver not a function'); const e = [], n = []; let [c, r] = [s, l].map( t => function(l) { if (t === s && 'function' == typeof l?.then) l.then(c, r); else if (!e.length) for (e.push(t, l); n.length; ) n.shift()(); } ); try { t(c, r); } catch (t) { r(t); } (this.#t = e), (this.#e = n); } then(t, e) { const n = this.#t; return new this.constructor((l, c) => { const r = () => { let r = n[1], [h, i] = n[0] === s ? [t, l] : [e, c]; if ('function' == typeof h) { try { r = h(r); } catch (t) { return void c(t); } i = l; } i(r); }; n.length ? r() : this.#e.push(r); }); } catch(t) { return this.then(null, t); } finally(t) { let e; return this.then( n => ((e = n), t()), n => ((e = this.constructor.reject(n)), t()) ).then(() => e); } static #n(t, e, n) { let s = t.length; function l() { e.apply(this, arguments), --s <= 0 && n && n(); } 0 === t.length && n ? n() : t.forEach((t, e) => this.resolve(t).then( t => l(!0, t, e), t => l(!1, t, e) ) ); } static race(t) { return new this((e, n) => { this.#n(t, (t, s) => (t ? e(s) : n(s))); }); } static all(t) { return new this((e, n) => { let s = []; this.#n( t, (t, e, l) => (t ? (s[l] = e) : n(e)), () => e(s) ); }); } static allSettled(t) { return new this(e => { let n = []; this.#n( t, (t, e, s) => (n[s] = t ? { status: 'fulfilled', value: e } : { status: 'rejected', reason: e }), () => e(n) ); }); } static resolve(t) { return new this(e => e(t)); } static reject(t) { return new this((e, n) => n(t)); } } function r(t) { let e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; if (e > 0) return setTimeout(t, e); t(); } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [85], { 4595: (e, t, n) => { n.d(t, { G: () => s }); const s = '(()=>{"use strict";window.render=function({ad:e,adUrl:t,width:n,height:i,instl:d},{mkFrame:r},s){if(!e&&!t)throw{reason:"noAd",message:"Missing ad markup or URL"};{if(null==i){const e=s.document?.body;[e,e?.parentElement].filter((e=>null!=e?.style)).forEach((e=>e.style.height="100%"))}const h=s.document,o={width:n??"100%",height:i??"100%"};if(t&&!e?o.src=t:o.srcdoc=e,h.body.appendChild(r(h,o)),d&&s.frameElement){const e=s.frameElement.style;e.width=n?`${n}px`:"100vw",e.height=i?`${i}px`:"100vh"}}}})();'; } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [109], { 965: (t, e, n) => { n.d(e, { c5: () => o }); var a = n(5555); const l = 0, c = 1, r = 2; function o(t) { let { apiName: e, apiVersion: n, apiArgs: o = ['command', 'callback', 'parameter', 'version'], callbackArgs: s = ['returnValue', 'success'], mode: i = l } = t, u = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : window; const f = {}, d = `${e}Call`, p = `${e}Return`; function b(t) { const e = 'string' == typeof t.data && t.data.includes(p) ? JSON.parse(t.data) : t.data; if (e?.[p]?.callId) { const t = e[p]; f.hasOwnProperty(t.callId) && f[t.callId](...s.map(e => t[e])); } } const [k, m] = (function() { let t, n = u, a = !1; for (; null != n; ) { try { if ('function' == typeof n[e]) { (t = n), (a = !0); break; } } catch (t) {} try { if (n.frames[`${e}Locator`]) { t = n; break; } } catch (t) {} if (n === u.top) break; n = n.parent; } return [t, a]; })(); if (!k) return; function g(t) { return ( (t = Object.assign({ version: n }, t)), o.map(e => [e, t[e]]) ); } function h(t, e, n, a) { const l = 'function' == typeof t; return function(r, o) { if ((a && a(), i !== c)) { (null == o || o ? e : n)(l ? void 0 : r); } l && t.apply(this, arguments); }; } let v; return ( m ? (v = function() { let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; return new a.U9((n, a) => { const o = k[e]( ...g({ ...t, callback: t.callback || i === r ? h(t.callback, n, a) : void 0 }).map(t => { let [e, n] = t; return n; }) ); (i === c || (null == t.callback && i === l)) && n(o); }); }) : (u.addEventListener('message', b, !1), (v = function(t) { let e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; return new a.U9((n, a) => { const l = Math.random().toString(), r = { [d]: { ...Object.fromEntries( g(t).filter(t => { let [e] = t; return 'callback' !== e; }) ), callId: l } }; (f[l] = h( t?.callback, n, a, (e || null == t?.callback) && (() => { delete f[l]; }) )), k.postMessage(r, '*'), i === c && n(); }); })), Object.assign(v, { isDirect: m, close() { !m && u.removeEventListener('message', b); } }) ); } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [10], { 3806: (t, n, e) => { e.d(n, { yq: () => c }); var o = e(6894), a = e(1069), s = e(7873), i = e(5555), r = e(2604); function c() { let t, n, e, { namespace: c, displayName: l, consentDataHandler: u, parseConsentData: m, getNullConsent: d, cmpHandlers: f, DEFAULT_CMP: g = 'iab', DEFAULT_CONSENT_TIMEOUT: p = 1e4 } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; function C(t) { return `consentManagement.${c} ${t}`; } function D(t, n) { return t( Object.assign({ [`${c}Consent`]: u.getConsentData() }, n) ); } function h() { return n().then(t => { let { error: n } = t; return { error: n, consentData: u.getConsentData() }; }); } function T() { null == t && ((t = (function(t, n) { const e = new WeakSet(); return (0, o.Ak)(t, function(t, o) { return n() .then(n => { let { consentData: s, error: i } = n; !i || (s && e.has(i)) || (e.add(i), (0, a.JE)(i.message, ...(i.args || []))), t.call(this, o); }) .catch(n => { (0, a.vV)( `${n?.message} Canceling auction as per consentManagement config.`, ...(n?.args || []) ), t.stopTiming(), 'function' == typeof o.bidsBackHandler ? o.bidsBackHandler() : (0, a.vV)('Error executing bidsBackHandler'); }); }); })(c, () => n())), (0, s.m)().requestBids.before(t, 50), r.U3.before(D), (0, a.fH)( `${l} consentManagement module has been activated...` )); } return function(o) { if (((o = o?.[c]), !o || 'object' != typeof o)) return ( (0, a.JE)( C('config not defined, exiting consent manager module') ), null != t && ((0, s.m)() .requestBids.getHooks({ hook: t }) .remove(), r.U3.getHooks({ hook: D }).remove(), (t = null)), {} ); let b, k; (0, a.O8)(o.cmpApi) ? (b = o.cmpApi) : ((b = g), (0, a.fH)( C( `config did not specify cmp. Using system default setting (${g}).` ) )), (0, a.Et)(o.timeout) ? (k = o.timeout) : ((k = p), (0, a.fH)( C( `config did not specify timeout. Using system default setting (${p}).` ) )); const H = (0, a.Et)(o.actionTimeout) ? o.actionTimeout : null; let w; 'static' === b ? (0, a.Qd)(o.consentData) ? ((e = o.consentData), (k = null), (w = () => new i.U9(t => t(u.setConsentData(m(e)))))) : (0, a.vV)( C( "config with cmpApi: 'static' did not specify consentData. No consents will be available to adapters." ) ) : f.hasOwnProperty(b) ? (w = f[b]) : (u.setConsentData(null), (0, a.JE)( `${l} CMP framework (${b}) is not a supported framework. Aborting consentManagement module and resuming auction.` ), (w = () => i.U9.resolve())); const y = () => (function(t) { let n, { name: e, consentDataHandler: o, setupCmp: a, cmpTimeout: s, actionTimeout: i, getNullConsent: r } = t; return ( o.enable(), new Promise((t, c) => { let l, u = !1; function m(a) { null != n && clearTimeout(n), (n = null != a ? setTimeout(() => { const n = o.getConsentData() ?? (u ? l : r()), a = 'timeout waiting for ' + (u ? 'user action on CMP' : 'CMP to load'); o.setConsentData(n), t({ consentData: n, error: new Error(`${e} ${a}`) }); }, a) : null); } a(function(t) { (l = t), u || ((u = !0), null != i && m(i)); }).then( () => t({ consentData: o.getConsentData() }), c ), null != s && m(s); }) .finally(() => { n && clearTimeout(n); }) .catch(t => { throw (o.setConsentData(null), t); }) ); })({ name: l, consentDataHandler: u, setupCmp: w, cmpTimeout: k, actionTimeout: H, getNullConsent: d }); return ( (n = (() => { let t; return function() { return ( null == t && (t = y().catch(n => { throw ((t = null), n); })), t ); }; })()), T(), { cmpHandler: b, cmpTimeout: k, actionTimeout: H, staticConsentData: e, loadConsentData: h, requestBidsHook: t } ); }; } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [618], { 981: (e, t, i) => { i.d(t, { m: () => h }); var r = i(9466), d = i(1e3), n = i(433), a = i(1069), s = i(5825), b = i(1445), o = i(3272), p = i(3172); var c = i(3323); var l = i(7873); var f = i(1371); var u = i(3005); const v = { [d.S3]: { extPrebid: { fn: function(e, t) { (0, p.J)( e, 'ext.prebid', (0, a.D9)( { auctiontimestamp: t.auctionStart, targeting: { includewinners: !0, includebidderkeys: !1 } }, e.ext?.prebid ) ), o.$W.getConfig('debug') && (e.ext.prebid.debug = !0); } }, extPrebidChannel: { fn: function(e) { (0, p.J)( e, 'ext.prebid.channel', Object.assign( { name: 'pbjs', version: (0, l.m)().version }, e.ext?.prebid?.channel ) ); } }, extPrebidAliases: { fn: function(e, t, i) { let { am: r = b.Ay } = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}; if (r.aliasRegistry[t.bidderCode]) { const i = r.bidderRegistry[t.bidderCode]; if (!i || !i.getSpec().skipPbsAliasing) { (0, p.J)( e, `ext.prebid.aliases.${t.bidderCode}`, r.aliasRegistry[t.bidderCode] ); const d = o.$W.getConfig(`gvlMapping.${t.bidderCode}`) || i?.getSpec?.().gvlid; d && (0, p.J)( e, `ext.prebid.aliasgvlids.${t.bidderCode}`, d ); } } } } }, [d.Tb]: { params: { fn: c.W }, adUnitCode: { fn: function(e, t) { const i = t.adUnitCode; i && (0, p.J)(e, 'ext.prebid.adunitcode', i); } } }, [d.WR]: { mediaType: { fn: s.o, priority: 99 }, videoCache: { fn: function(e, t) { if (e.mediaType === f.G_) { let { cacheId: i, url: r } = (0, n.A)(t, 'ext.prebid.cache.vastXml') || {}; if (!i || !r) { const { hb_uuid: e, hb_cache_host: d, hb_cache_path: a } = (0, n.A)(t, 'ext.prebid.targeting') || {}; e && d && a && ((i = e), (r = `https://${d}${a}?uuid=${e}`)); } i && r && Object.assign(e, { videoCacheKey: i, vastUrl: r }); } }, priority: -10 }, bidderCode: { fn(e, t, i) { (e.bidderCode = i.seatbid.seat), (e.adapterCode = (0, n.A)(t, 'ext.prebid.meta.adaptercode') || i.bidRequest?.bidder || e.bidderCode); } }, pbsBidId: { fn(e, t) { const i = (0, n.A)(t, 'ext.prebid.bidid'); (0, a.O8)(i) && (e.pbsBidId = i); } }, adserverTargeting: { fn(e, t) { const i = (0, n.A)(t, 'ext.prebid.targeting'); (0, a.Qd)(i) && (e.adserverTargeting = i); } }, extPrebidMeta: { fn(e, t) { e.meta = (0, a.D9)( {}, (0, n.A)(t, 'ext.prebid.meta'), e.meta ); } }, pbsWinTrackers: { fn: function(e, t) { (e.eventtrackers = e.eventtrackers || []), [ [t.burl, u.OA], [t?.ext?.prebid?.events?.win, u.RO] ] .filter(t => { let [i, r] = t; return ( i && null == e.eventtrackers.find(e => { let { method: t, event: d, url: n } = e; return d === r && t === u.Ni && n === i; }) ); }) .forEach(t => { let [i, r] = t; e.eventtrackers.push({ method: u.Ni, event: r, url: i }); }); } } }, [d.Cf]: { serverSideStats: { fn(e, t, i) { Object.entries({ errors: 'serverErrors', responsetimemillis: 'serverResponseTimeMs' }).forEach(e => { let [r, d] = e; const a = (0, n.A)( t, `ext.${r}.${i.bidderRequest.bidderCode}` ); a && ((i.bidderRequest[d] = a), i.bidRequests.forEach(e => (e[d] = a))); }); } } } }; var g = i(9766); const h = (0, a.Bj)(() => (0, r.U)((0, g.T)(), v, (0, d.yB)(d.e4))); }, 5825: (e, t, i) => { i.d(t, { o: () => a, s: () => n }); var r = i(1371), d = i(5561); const n = { [r.D4]: 'banner', [r.s6]: 'native', [r.G_]: 'video' }; function a(e, t, i) { let a = i.mediaType; a || ((a = d.X.hasOwnProperty(t.mtype) ? d.X[t.mtype] : t.ext?.prebid?.type), n.hasOwnProperty(a) || (a = r.D4)), (e.mediaType = a); } }, 3323: (e, t, i) => { i.d(t, { W: () => d }); var r = i(3172); function d(e, t) { let i = t.params; i && (0, r.J)(e, `ext.prebid.bidder.${t.bidder}`, i); } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [498], { 9766: (e, t, r) => { r.d(t, { T: () => f, A: () => m }); const n = new WeakMap(); var i = r(1069), s = r(1371); var o = r(3895); var a = r(5561); var d = r(1e3), p = r(3858); const c = { [d.S3]: { fpd: { priority: 99, fn(e, t) { (0, i.D9)(e, t.ortb2); } }, onlyOneClient: { priority: -99, fn: (0, p.i8)('ORTB request') }, props: { fn(e, t) { Object.assign(e, { id: e.id || (0, i.lk)(), test: e.test || 0 }); const r = parseInt(t.timeout, 10); isNaN(r) || (e.tmax = r); } } }, [d.Tb]: { fpd: { priority: 99, fn(e, t) { (0, i.D9)(e, t.ortb2Imp); } }, id: { fn(e, t) { e.id = t.bidId; } }, banner: { fn: function(e, t, r) { if (r.mediaType && r.mediaType !== s.D4) return; const n = t?.mediaTypes?.banner; if (n) { const r = { topframe: !0 === (0, i.al)() ? 0 : 1 }; n.sizes && null == t.ortb2Imp?.banner?.format && (r.format = (0, i.y$)(n.sizes).map(i.cf)), n.hasOwnProperty('pos') && (r.pos = n.pos), (e.banner = (0, i.D9)(r, e.banner)); } } }, pbadslot: { fn(e) { const t = e.ext?.data?.pbadslot; (t && 'string' == typeof t) || delete e.ext?.data?.pbadslot; } }, secure: { fn(e, t) { e.secure = e.secure ?? 1; } } }, [d.WR]: { mediaType: { priority: 99, fn: a.K }, banner: { fn: (function() { let { createPixel: e = e => (0, i.Tz)(decodeURIComponent(e), i.Bk) } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; return function(t, r) { t.mediaType === s.D4 && (r.adm && r.nurl ? (t.ad = e(r.nurl) + r.adm) : r.adm ? (t.ad = r.adm) : r.nurl && (t.adUrl = r.nurl)); }; })() }, props: { fn(e, t, r) { Object.entries({ requestId: r.bidRequest?.bidId, seatBidId: t.id, cpm: t.price, currency: r.ortbResponse.cur || r.currency, width: t.w, height: t.h, wratio: t.wratio, hratio: t.hratio, dealId: t.dealid, creative_id: t.crid, creativeId: t.crid, burl: t.burl, ttl: t.exp || r.ttl, netRevenue: r.netRevenue }) .filter(e => { let [t, r] = e; return void 0 !== r; }) .forEach(t => { let [r, n] = t; return (e[r] = n); }), e.meta || (e.meta = {}), t.adomain && (e.meta.advertiserDomains = t.adomain), t.ext?.dsa && (e.meta.dsa = t.ext.dsa), t.cat && ((e.meta.primaryCatId = t.cat[0]), (e.meta.secondaryCatIds = t.cat.slice(1))), t.attr && (e.meta.attr = t.attr), t.ext?.eventtrackers && (e.eventtrackers = (e.eventtrackers ?? []).concat( t.ext.eventtrackers )); } } } }; (c[d.Tb].native = { fn: function(e, t, r) { if (r.mediaType && r.mediaType !== s.s6) return; let n = t.nativeOrtbRequest; n && ((n = Object.assign({}, r.nativeRequest, n)), n.assets?.length ? (e.native = (0, i.D9)( {}, { request: JSON.stringify(n), ver: n.ver }, e.native )) : (0, i.JE)( 'mediaTypes.native is set, but no assets were specified. Native request skipped.', t )); } }), (c[d.WR].native = { fn: function(e, t) { if (e.mediaType === s.s6) { let r; if ( ((r = 'string' == typeof t.adm ? JSON.parse(t.adm) : t.adm), !(0, i.Qd)(r) || !Array.isArray(r.assets)) ) throw new Error( 'ORTB native response contained no assets' ); e.native = { ortb: r }; } } }), (c[d.Tb].video = { fn: function(e, t, r) { if (r.mediaType && r.mediaType !== s.G_) return; const n = t?.mediaTypes?.video; if (!(0, i.Im)(n)) { const t = Object.fromEntries( Object.entries(n).filter(e => { let [t] = e; return o.Zy.has(t); }) ); if (n.playerSize) { const e = (0, i.y$)(n.playerSize).map(i.cf); e.length > 1 && (0, i.JE)( 'video request specifies more than one playerSize; all but the first will be ignored' ), Object.assign(t, e[0]); } e.video = (0, i.D9)(t, e.video); } } }), (c[d.WR].video = { fn: function(e, t, r) { e.mediaType === s.G_ && (r?.imp?.video?.w && r?.imp?.video?.h && ([e.playerWidth, e.playerHeight] = [ r.imp.video.w, r.imp.video.h ]), t.adm && (e.vastXml = t.adm), t.nurl && (e.vastUrl = t.nurl)); } }); var u = r(9466); function m() { let { context: e = {}, processors: t = f, overrides: r = {}, imp: s, request: o, bidResponse: a, response: p } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; const c = new WeakMap(); function u(e, i, s, o) { let a; return function() { return ( null == a && (a = (function() { let a = s.bind( this, (function(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; if (!n.has(e)) { const t = Object.entries(e); t.sort((e, t) => (e = e[1].priority || 0) === (t = t[1].priority || 0) ? 0 : e > t ? -1 : 1 ), n.set( e, t.map(e => { let [t, r] = e; return [t, r.fn]; }) ); } const r = n .get(e) .filter(e => { let [r] = e; return !t.hasOwnProperty(r) || t[r]; }) .map(function(e) { let [r, n] = e; return t.hasOwnProperty(r) ? t[r].bind(this, n) : n; }); return function() { const e = Array.from(arguments); r.forEach(t => { t.apply(this, e); }); }; })(t()[e] || {}, r[e] || {}) ); return ( i && (a = i.bind(this, a)), function() { try { return a.apply(this, arguments); } catch (e) { o.call(this, e, ...arguments); } } ); })()), a.apply(this, arguments) ); }; } const m = u( d.Tb, s, function(e, t, r) { const n = {}; return e(n, t, r), n; }, function(e, t, r) { (0, i.vV)( 'Error while converting bidRequest to ORTB imp; request skipped.', { error: e, bidRequest: t, context: r } ); } ), l = u( d.S3, o, function(e, t, r, n) { const i = { imp: t }; return e(i, r, n), i; }, function(e, t, r, n) { throw ((0, i.vV)('Error while converting to ORTB request', { error: e, imps: t, bidderRequest: r, context: n }), e); } ), b = u( d.WR, a, function(e, t, r) { const n = {}; return e(n, t, r), n; }, function(e, t, r) { (0, i.vV)( 'Error while converting ORTB seatbid.bid to bidResponse; bid skipped.', { error: e, bid: t, context: r } ); } ), y = u( d.Cf, p, function(e, t, r, n) { const i = { bids: t }; return e(i, r, n), i; }, function(e, t, r, n) { throw ((0, i.vV)( 'Error while converting from ORTB response', { error: e, bidResponses: t, ortbResponse: r, context: n } ), e); } ); return { toORTB(t) { let { bidderRequest: r, bidRequests: n, context: s = {} } = t; n = n || r.bids; const o = { req: Object.assign({ bidRequests: n }, e, s), imp: {} }; o.req.impContext = o.imp; const a = n .map(t => { const n = Object.assign( { bidderRequest: r, reqContext: o.req }, e, s ), a = m(t, n); if (null != a) { if (a.hasOwnProperty('id')) return ( Object.assign(n, { bidRequest: t, imp: a }), (o.imp[a.id] = n), a ); (0, i.vV)( 'Converted ORTB imp does not specify an id, ignoring bid request', t, a ); } }) .filter(Boolean), d = l(a, r, o.req); return (o.req.bidderRequest = r), null != d && c.set(d, o), d; }, fromORTB(e) { let { request: t, response: r } = e; const n = c.get(t); if (null == n) throw new Error( 'ortbRequest passed to `fromORTB` must be the same object returned by `toORTB`' ); function s(e) { let r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; return Object.assign(e, { ortbRequest: t }, r); } const o = Object.fromEntries( (t.imp || []).map(e => [e.id, e]) ), a = (r.seatbid || []) .flatMap(e => (e.bid || []).map(t => { if ( o.hasOwnProperty(t.impid) && n.imp.hasOwnProperty(t.impid) ) return b( t, s(n.imp[t.impid], { imp: o[t.impid], seatbid: e, ortbResponse: r }) ); (0, i.vV)( 'ORTB response seatbid[].bid[].impid does not match any imp in request; ignoring bid', t ); }) ) .filter(Boolean); return y(a, r, s(n.req)); } }; } const f = (0, i.Bj)(() => (0, u.U)(c, (0, d.yB)(d.qN))); }, 9466: (e, t, r) => { r.d(t, { U: () => i }); var n = r(1e3); function i() { for ( var e = arguments.length, t = new Array(e), r = 0; r < e; r++ ) t[r] = arguments[r]; const s = t.shift(), o = t.length > 1 ? i(...t) : t[0]; return Object.fromEntries( n.zt.map(e => [e, Object.assign({}, s[e], o[e])]) ); } }, 5561: (e, t, r) => { r.d(t, { K: () => s, X: () => i }); var n = r(1371); const i = { 1: n.D4, 2: n.G_, 4: n.s6 }; function s(e, t, r) { if (e.mediaType) return; const n = r.mediaType; if (!n && !i.hasOwnProperty(t.mtype)) throw new Error('Cannot determine mediaType for response'); e.mediaType = n || i[t.mtype]; } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [225], { 6743: (n, t, l) => { l.d(t, { x4: () => i }); var e = l(7873), r = l(2713); function u(n, t, l) { let r = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3]; if (t === l) return n; let u = n; try { u = (0, e.m)().convertCurrency(n, t, l); } catch (n) { if (!r) throw n; } return u; } function i() { let n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : n => [n.cpm, n.currency], t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : (function() { let n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, t = !( arguments.length > 1 && void 0 !== arguments[1] ) || arguments[1], l = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : u; return function(e, r) { return null == n && (n = r), l(e, r, n, t); }; })(); return (0, r.NV)(l => t.apply(null, n(l))); } } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [764], { 2339: (o, n, t) => { function e(o, n) { return function() { const t = document.domain.split('.'), e = `_gd${Date.now()}_${n}`; for (let n, i, s = 0; s < t.length; s++) { const u = t.slice(s).join('.'); if ( (o.setCookie(e, '1', void 0, void 0, u), (i = o.getCookie(e)), o.setCookie( e, '', 'Thu, 01 Jan 1970 00:00:01 GMT', void 0, u ), '1' !== i) ) return n; n = u; } }; } t.d(n, { w: () => e }); } } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [81], { 6117: (e, t, n) => { var r = n(7873), s = n(1069), a = n(3172), o = n(3272), c = n(6916), i = n(1e3), p = n(687), d = n(965), l = n(3806); let u, g, f = {}; const C = 2, m = { iab: function(e) { return new Promise((t, n) => { const r = (0, d.c5)({ apiName: '__tcfapi', apiVersion: C, apiArgs: ['command', 'version', 'callback', 'parameter'] }); r || n(new Error('TCF2 CMP not found.')), r.isDirect ? (0, s.fH)( 'Detected CMP API is directly accessible, calling it now...' ) : (0, s.fH)( 'Detected CMP is outside the current iframe where Prebid.js is located, calling it now...' ), r({ command: 'addEventListener', callback: function(r, a) { if ( ((0, s.fH)('Received a response from CMP', r), a) ) { try { e(b(r)); } catch (e) {} if ( !1 === r.gdprApplies || 'tcloaded' === r.eventStatus || 'useractioncomplete' === r.eventStatus ) try { c.mW.setConsentData(b(r)), t(); } catch (e) { n(e); } } else n( Error( 'CMP unable to register callback function. Please check CMP setup.' ) ); } }); }); } }; function b(e) { if ( (function() { const t = e && 'boolean' == typeof e.gdprApplies ? e.gdprApplies : u, n = e && e.tcString; return !( 'boolean' == typeof t && (!0 !== t || (n && (0, s.O8)(n))) ); })() ) throw Object.assign( new Error( 'CMP returned unexpected value during lookup process.' ), { args: [e] } ); return D(e); } function D(e) { const t = { consentString: e ? e.tcString : void 0, vendorData: e || void 0, gdprApplies: e && 'boolean' == typeof e.gdprApplies ? e.gdprApplies : u }; return ( e && e.addtlConsent && (0, s.O8)(e.addtlConsent) && (t.addtlConsent = e.addtlConsent), (t.apiVersion = C), t ); } const v = (0, l.yq)({ namespace: 'gdpr', displayName: 'TCF', consentDataHandler: c.mW, cmpHandlers: m, parseConsentData: b, getNullConsent: () => D(null) }); o.$W.getConfig('consentManagement', e => (function(e) { return ( (e = e && (e.gdpr || e.usp || e.gpp ? e.gdpr : e)), null != e?.consentData?.getTCData && (e.consentData = e.consentData.getTCData), (u = !0 === e?.defaultGdprScope), (g = !!e?.dsaPlatform), (f = v({ gdpr: e })), f.loadConsentData?.()?.catch?.(() => null) ); })(e.consentManagement) ), p.w.before(function(e, t) { return e( t.then(e => { const t = c.mW.getConsentData(); return ( t && ('boolean' == typeof t.gdprApplies && (0, a.J)(e, 'regs.ext.gdpr', t.gdprApplies ? 1 : 0), (0, a.J)(e, 'user.ext.consent', t.consentString)), g && (0, a.J)(e, 'regs.ext.dsa.dsarequired', 3), e ); }) ); }), (0, i.pS)({ type: i.S3, name: 'gdprAddtlConsent', fn: function(e, t) { const n = t.gdprConsent?.addtlConsent; n && 'string' == typeof n && (0, a.J)( e, 'user.ext.ConsentedProvidersSettings.consented_providers', n ); } }), (0, r.E)('consentManagementTcf'); } }, e => { e.O(0, [802, 109, 10, 769, 139, 85], () => { return (t = 6117), e((e.s = t)); var t; }); e.O(); } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [662], { 6056: (n, t, e) => { var o = e(7873), a = e(1069), s = e(3172), i = e(3272), c = e(1445), r = e(6916), u = e(6894), l = e(9214), f = e(687), g = e(965); const d = 'iab'; let p, m, P = d, v = 50, S = !1; const b = { iab: function(n) { let { onSuccess: t, onError: e } = n; let o = (function() { const n = {}; return { consentDataCallback: (o, a) => { a && o.uspString && (n.usPrivacy = o.uspString), n.usPrivacy ? h(n, { onSuccess: t, onError: e }) : e('Unable to get USP consent string.'); } }; })(); const s = (0, g.c5)({ apiName: '__uspapi', apiVersion: 1, apiArgs: ['command', 'version', 'callback'] }); if (!s) return e('USP CMP not found.'); s.isDirect ? (0, a.fH)( 'Detected USP CMP is directly accessible, calling it now...' ) : (0, a.fH)( 'Detected USP CMP is outside the current iframe where Prebid.js is located, calling it now...' ); s({ command: 'getUSPData', callback: o.consentDataCallback }), s({ command: 'registerDeletion', callback: (n, t) => (null == t || t) && c.Ay.callDataDeletionRequest(n) }).catch(n => { (0, a.vV)('Error invoking CMP `registerDeletion`:', n); }); }, static: function(n) { let { onSuccess: t, onError: e } = n; h(p, { onSuccess: t, onError: e }); } }; function D(n) { let t = null, e = !1; function o(o, a) { if ( (null != t && clearTimeout(t), (e = !0), r.t6.setConsentData(o), null != n) ) { for ( var s = arguments.length, i = new Array(s > 2 ? s - 2 : 0), c = 2; c < s; c++ ) i[c - 2] = arguments[c]; n(a, ...i); } } if (!b[P]) return void o( null, `USP framework (${P}) is not a supported framework. Aborting consentManagement module and resuming auction.` ); const a = { onSuccess: o, onError: function(n) { for ( var t = arguments.length, e = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++ ) e[a - 1] = arguments[a]; o( null, `${n} Resuming auction without consent data as per consentManagement config.`, ...e ); } }; b[P](a), e || (0 === v ? h(void 0, a) : (t = setTimeout( a.onError.bind( null, 'USPAPI workflow exceeded timeout threshold.' ), v ))); } const y = (0, u.Ak)('usp', function(n, t) { var e = this; S || U(), D(function(o) { if (null != o) { for ( var s = arguments.length, i = new Array(s > 1 ? s - 1 : 0), c = 1; c < s; c++ ) i[c - 1] = arguments[c]; (0, a.JE)(o, ...i); } n.call(e, t); }); }); function h(n, t) { let { onSuccess: e, onError: o } = t; !n || !n.usPrivacy ? o( 'USPAPI returned unexpected value during lookup process.', n ) : (!(function(n) { n && n.usPrivacy && (m = n.usPrivacy); })(n), e(m)); } function U() { let n = arguments.length > 0 && void 0 !== arguments[0] && arguments[0]; S || ((0, a.fH)( 'USPAPI consentManagement module has been activated' + (n ? '' : ` using default values (api: '${P}', timeout: ${v}ms)`) ), (S = !0), r.t6.enable()), D(); } i.$W.getConfig('consentManagement', n => (function(n) { ((n = n && n.usp) && 'object' == typeof n) || (0, a.JE)( 'consentManagement.usp config not defined, using defaults' ), n && (0, a.O8)(n.cmpApi) ? (P = n.cmpApi) : ((P = d), (0, a.fH)( `consentManagement.usp config did not specify cmpApi. Using system default setting (${d}).` )), n && (0, a.Et)(n.timeout) ? (v = n.timeout) : ((v = 50), (0, a.fH)( 'consentManagement.usp config did not specify timeout. Using system default setting (50).' )), 'static' === P && ((0, a.Qd)(n.consentData) && (0, a.Qd)(n.consentData.getUSPData) ? (n.consentData.getUSPData.uspString && (p = { usPrivacy: n.consentData.getUSPData.uspString }), (v = 0)) : (0, a.vV)( "consentManagement config with cmpApi: 'static' did not specify consentData. No consents will be available to adapters." )), U(!0); })(n.consentManagement) ), (0, l.Yn)('requestBids').before(y, 50), f.w.before(function(n, t) { return n( t.then(n => { const t = r.t6.getConsentData(); return t && (0, s.J)(n, 'regs.ext.us_privacy', t), n; }) ); }), (0, o.E)('consentManagementUsp'); } }, n => { n.O(0, [109, 802, 769, 139, 85], () => { return (t = 6056), n((n.s = t)); var t; }); n.O(); } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [931], { 2843: (e, t, o) => { var n = o(7873), r = o(1069), a = o(8044), c = o(7934), i = o(9214), s = o(2938), d = o(5569), l = o(6916); const p = 'criteo', g = (0, s.vM)({ moduleType: d.fW, moduleName: p }), u = 'cto_bidid', m = 'cto_bundle', b = 'html5', I = 'cookie', y = new Date(0).toString(), f = new Date((0, r.vE)() + 33696e6).toString(); function S(e) { let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; const o = (0, r.Dl)(e, { noDecodeWholeURL: !0 }); return t ? `${o.hostname}` : `${o.protocol}://${o.hostname}${o.port ? ':' + o.port : ''}/`; } function h(e, t) { return e?.storage?.type === b ? g.getDataFromLocalStorage(t) : e?.storage?.type === I ? g.getCookie(t) : g.getCookie(t) || g.getDataFromLocalStorage(t); } function C(e, t, o, n) { t && o && (e?.storage?.type === b ? g.setDataInLocalStorage(t, o) : (e?.storage?.type === I || g.setDataInLocalStorage(t, o), v(t, o, f, n, !0))); } function v(e, t, o, n, r) { const a = n.split('.'); for (let n = 0; n < a.length; ++n) { const c = a.slice(a.length - n - 1, a.length).join('.'); try { if ((g.setCookie(e, t, o, null, '.' + c), r)) { const o = g.getCookie(e); if (o && o === t) break; } } catch (e) {} } } function U(e, t, o) { const n = (void 0 === e?.storage?.type || e?.storage?.type === I) && g.cookiesAreEnabled(), i = (void 0 === e?.storage?.type || e?.storage?.type === b) && g.localStorageIsEnabled(), s = S((0, c.EN)().page), d = S(document.location.href, !0), p = 'undefined' != typeof criteo_pubtag, f = (function(e, t, o, n, r, a, c) { let i = 'https://gum.criteo.com/sid/json?origin=prebid' + (e ? '&topUrl=' + encodeURIComponent(e) : '') + (t ? '&domain=' + encodeURIComponent(t) : '') + (o ? '&bundle=' + encodeURIComponent(o) : '') + (n ? '&info=' + encodeURIComponent(n) : '') + (r ? '&cw=1' : '') + (c ? '&pbt=1' : '') + (a ? '&lsw=1' : ''); const s = l.t6.getConsentData(); s && (i += `&us_privacy=${encodeURIComponent(s)}`); const d = l.mW.getConsentData(); d && ((i = i + '' + (d.consentString ? '&gdprString=' + encodeURIComponent(d.consentString) : '')), (i = i + '&gdpr=' + (!0 === d.gdprApplies ? 1 : 0))); const p = l.ad.getConsentData(); return ( p && ((i = i + '' + (p.gppString ? '&gpp=' + encodeURIComponent(p.gppString) : '')), (i = i + '' + (p.applicableSections ? '&gpp_sid=' + encodeURIComponent(p.applicableSections) : ''))), i ); })(s, d, t.bundle, t.dnaBundle, n, i, p), h = { success: t => { const n = JSON.parse(t); if ( (n.pixels && n.pixels.forEach(t => (function(e, t, o) { o.writeBundleInStorage && o.bundlePropertyName && o.storageKeyName ? (0, a.RD)( o.pixelUrl, { success: n => { if (n) { const r = JSON.parse(n); r && r[o.bundlePropertyName] && C( e, o.storageKeyName, r[o.bundlePropertyName], t ); } }, error: e => { (0, r.vV)( 'criteoIdSystem: unable to sync user id', e ); } }, void 0, { method: 'GET', withCredentials: !0 } ) : (0, r.z$)(o.pixelUrl); })(e, d, t) ), n.acwsUrl) ) { ('string' == typeof n.acwsUrl ? [n.acwsUrl] : n.acwsUrl ).forEach(e => (0, r.z$)(e)); } else n.bundle && C(e, m, n.bundle, d); if (n.bidId) { C(e, u, n.bidId, d); const t = { criteoId: n.bidId }; o(t); } else v((c = u), '', y, d, !0), g.removeDataFromLocalStorage(c), o(); var c; }, error: e => { (0, r.vV)('criteoIdSystem: unable to sync user id', e), o(); } }; (0, a.RD)(f, h, void 0, { method: 'GET', contentType: 'application/json', withCredentials: !0 }); } const D = { name: p, gvlid: 91, decode: e => e, getId(e) { let t = (function(e) { return { bundle: h(e, m), dnaBundle: h(e, 'cto_dna_bundle'), bidId: h(e, u) }; })(e); return { id: t.bidId ? { criteoId: t.bidId } : void 0, callback: o => U(e, t, o) }; }, eids: { criteoId: { source: 'criteo.com', atype: 1 } } }; (0, i.bz)('userId', D), (0, n.E)('criteoIdSystem'); } }, e => { e.O(0, [802, 769, 139, 85], () => { return (t = 2843), e((e.s = t)); var t; }); e.O(); } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [328], { 1134: (e, t, n) => { n.d(t, { Gk: () => M }); var r = n(7873), s = n(9759), i = n(1069), d = n(8969), o = n(1445), a = n(3272), c = n(7377), u = n(5023); const p = { appnexuspsp: { adapter: 'prebidServer', enabled: !0, endpoint: { p1Consent: 'https://ib.adnxs.com/openrtb2/prebid', noP1Consent: 'https://ib.adnxs-simple.com/openrtb2/prebid' }, syncEndpoint: { p1Consent: 'https://prebid.adnxs.com/pbs/v1/cookie_sync', noP1Consent: 'https://prebid.adnxs-simple.com/pbs/v1/cookie_sync' }, maxTimeout: 1e3 }, rubicon: { adapter: 'prebidServer', enabled: !0, endpoint: { p1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction', noP1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction' }, syncEndpoint: { p1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync', noP1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync' }, maxTimeout: 500 }, openwrap: { adapter: 'prebidServer', enabled: !0, endpoint: { p1Consent: 'https://ow.pubmatic.com/openrtb2/auction?source=pbjs', noP1Consent: 'https://ow.pubmatic.com/openrtb2/auction?source=pbjs' }, maxTimeout: 500 } }; var l = n(8044), b = n(9214), f = n(2621), g = n(9766), m = n(3172), h = n(3597), C = n(981), y = n(3323), B = n(5825), v = n(1e3), R = n(6953), q = n(3441), E = n(5569), x = n(5139), O = n(6811), S = n(6743), I = n(2713), j = n(433); function T(e) { let { global: t, bidder: n } = e; return Object.fromEntries( Object.entries(n).map(e => { let [n, r] = e; return [n, A(r, (0, i.D9)({}, t, r))]; }) ); } function A(e, t) { return Object.fromEntries( Object.entries(e).map(e => { let [n, r] = e; const s = t[n]; return ( Array.isArray(r) ? !(0, i.bD)(r, s) && Array.isArray(s) && (r = s) : null != r && 'object' == typeof r && (r = A(r, s)), [n, r] ); }) ); } function P(e, t) { let { global: n, bidder: r } = e; const s = (function(e) { let { eids: t, conflicts: n = new Set() } = e; const r = [], s = [], i = {}; return ( t.forEach(e => { (!1 === e.bidders ? r : s).push(e); }), s.forEach(e => { let { eid: t, bidders: s } = e; n.has(t.source) ? s.forEach(e => { (i[e] = i[e] || []).push(t); }) : r.push({ eid: t, bidders: s }); }), { global: r.map(e => { let { eid: t } = e; return t; }), permissions: r .filter(e => { let { bidders: t } = e; return !1 !== t; }) .map(e => { let { eid: t, bidders: n } = e; return { source: t.source, bidders: n }; }), bidder: i } ); })( (function(e) { let { global: t, bidder: n } = e; const r = [], s = {}, d = new Set(); function o(e) { let t = r.find(t => (0, i.bD)(t.eid, e)); return ( null == t && ((t = { eid: e, bidders: new Set() }), r.push(t)), null == s[e.source] ? (s[e.source] = t.eid) : t.eid === e && d.add(e.source), t ); } return ( R.Vx.forEach(e => { ((0, j.A)(t, e) || []).forEach(e => { o(e).bidders = !1; }); }), Object.entries(n).forEach(e => { let [t, n] = e; R.Vx.forEach(e => { ((0, j.A)(n, e) || []).forEach(e => { const n = o(e); !1 !== n.bidders && n.bidders.add(t); }); }); }), { eids: r.map(e => { let { eid: t, bidders: n } = e; return { eid: t, bidders: n && Array.from(n) }; }), conflicts: d } ); })({ global: n, bidder: r }) ); function d(e) { delete e?.user?.eids, delete e?.user?.ext?.eids; } return ( (n = (0, i.Go)(n)), (r = (0, i.Go)(r)), d(n), Object.values(r).forEach(d), s.global.length && (0, m.J)(n, 'user.ext.eids', s.global), t?.length && s.permissions.forEach( e => (e.bidders = e.bidders.filter(e => t.includes(e))) ), s.permissions.length && (0, m.J)(n, 'ext.prebid.data.eidpermissions', s.permissions), Object.entries(s.bidder).forEach(e => { let [t, n] = e; n.length && (0, m.J)(r[t], 'user.ext.eids', n); }), { global: n, bidder: r } ); } function w(e, t) { return null == e || 0 === Object.keys(e.bidder || {}).length ? e : ((e = P(e, t)), { ...e, bidder: T(e) }); } var D = n(1371); const U = new Set([ 'bidderCode', 'bidderRequestId', 'uniquePbsTid', 'bids', 'timeout' ]), $ = (() => { const e = (0, I.Bp)( (0, S.x4)(e => [e.bidfloor, e.bidfloorcur]) ); return function(t) { let n; for (const r of t) { if (null == r?.bidfloorcur || null == r?.bidfloor) return null; n = null == n ? r : e(n, r); } return n; }; })(), J = (0, g.A)({ processors: C.m, context: { netRevenue: !0 }, imp(e, t, n) { Object.assign(n, t.pbsData); const r = e(t, n); if ( ((t.bids || []).forEach(e => { e.ortb2Imp && Object.keys(e.ortb2Imp).length > 0 && (0, m.J)(r, `ext.prebid.imp.${e.bidder}`, e.ortb2Imp); }), Object.values(B.s).some(e => r[e])) ) return (r.secure = t.ortb2Imp?.secure ?? 1), r; }, request(e, t, n, r) { if (t.length) { let { s2sBidRequest: s } = r; const i = e(t, n, r); return ( (i.tmax = Math.floor( s.s2sConfig.timeout ?? Math.min( 0.75 * s.requestBidsTimeout, s.s2sConfig.maxTimeout ?? M.maxTimeout ) )), (i.ext.tmaxmax = i.ext.tmaxmax || s.requestBidsTimeout), [i.app, i.dooh, i.site].forEach(e => { e && !e.publisher?.id && (0, m.J)(e, 'publisher.id', s.s2sConfig.accountId); }), r.transmitTids || (0, m.J)(i, 'ext.prebid.createtids', !1), i ); } (0, i.vV)( 'Request to Prebid Server rejected due to invalid media type(s) in adUnit.' ); }, bidResponse(e, t, n) { let r = n.actualBidRequests.get(n.seatbid.seat); null == r && (r = n.actualBidRequests.get(null)), r && Object.assign(n, { bidRequest: r, bidderRequest: n.actualBidderRequests.find( e => e.bidderCode === r.bidder ) }); const s = e(t, n); return ( (s.requestBidder = r?.bidder), s.native?.ortb && (s.adm = s.native.ortb), (s.requestTimestamp = n.requestTimestamp), { bid: Object.assign( (0, h.O)(d.XQ.GOOD, { src: d.RW.SRC, bidId: r ? r.bidId || r.bid_Id : null, transactionId: n.adUnit.transactionId, adUnitId: n.adUnit.adUnitId, auctionId: n.bidderRequest.auctionId }), s, { deferRendering: !!n.adUnit.deferBilling, deferBilling: !!n.adUnit.deferBilling } ), adUnit: n.adUnit.code } ); }, overrides: { [v.Tb]: { id(e, t, n, r) { t.id = r.impId; }, params(e, t, n, r) { const s = r.s2sBidRequest.s2sConfig.adapterOptions; for (const e of r.actualBidRequests.values()) (0, y.W)(t, e, r, r), s && s[e.bidder] && Object.assign( t.ext.prebid.bidder[e.bidder], s[e.bidder] ); }, bidfloor(e, t, n, r) { const s = $( (function*() { for (const t of r.actualBidRequests.values()) { const n = {}; e(n, t, r), yield n; } })() ); null != s && Object.assign(t, s); }, extBidfloor(e, t, n, r) { function s(e, t) { null != t && ((0, m.J)(e, 'ext.bidfloor', t.bidfloor), (0, m.J)(e, 'ext.bidfloorcur', t.bidfloorcur)); } const d = Array.from(r.actualBidRequests.values()).map( n => { const s = (0, i.Go)(t); return e(s, n, r), s; } ); Object.values(D.GE).forEach(e => { s(t[e], $(d.map(t => t[e]?.ext))); }), (t[D.D4]?.format || []).forEach((e, t) => { s(e, $(d.map(e => e[D.D4].format[t]?.ext))); }); } }, [v.S3]: { fpd(e, t, n, r) { r.transmitTids && (0, m.J)(t, 'source.tid', n.auctionId), (0, i.D9)(t, r.s2sBidRequest.ortb2Fragments?.global), r.s2sBidRequest.s2sConfig.extPrebid && 'object' == typeof r.s2sBidRequest.s2sConfig.extPrebid && (0, m.J)( t, 'ext.prebid', (0, i.D9)( t.ext?.prebid || {}, r.s2sBidRequest.s2sConfig.extPrebid ) ), r.getRedactor().ortb2(t); const s = Object.entries( r.s2sBidRequest.ortb2Fragments?.bidder || {} ) .filter(e => { let [t] = e; const n = r.s2sBidRequest.s2sConfig.bidders; return ( r.s2sBidRequest.s2sConfig.allowUnknownBidderCodes || (n && n.includes(t)) ); }) .map(e => { let [t, n] = e; return { bidders: [t], config: { ortb2: r.getRedactor(t).ortb2(n) } }; }); s.length && (0, m.J)(t, 'ext.prebid.bidderconfig', s); }, extPrebidAliases(e, t, n, r) { r.actualBidderRequests.forEach(n => e(t, n, r)); }, sourceExtSchain(e, t, n, r) { let s = t?.ext?.prebid?.schains || []; const i = new Set(s.flatMap(e => e.bidders)); (s = Object.values( s .concat( r.actualBidderRequests .filter(e => !i.has(e.bidderCode)) .map(e => ({ bidders: [e.bidderCode], schain: e?.bids?.[0]?.schain })) ) .filter(e => { let { bidders: t, schain: n } = e; return t?.length > 0 && n; }) .reduce((e, t) => { let { bidders: n, schain: r } = t; const s = JSON.stringify(r); return ( e.hasOwnProperty(s) || (e[s] = { bidders: new Set(), schain: r }), n.forEach(t => e[s].bidders.add(t)), e ); }, {}) ).map(e => { let { bidders: t, schain: n } = e; return { bidders: Array.from(t), schain: n }; })), s.length && (0, m.J)(t, 'ext.prebid.schains', s); } }, [v.Cf]: { serverSideStats(e, t, n, r) { r.actualBidderRequests.forEach(s => e(t, n, { ...r, bidderRequest: s, bidRequests: s.bids }) ); }, paapiConfigs(e, t, n, r) { const s = Object.values(r.impContext).flatMap(e => (e.paapiConfigs || []).map(t => { const n = e.actualBidderRequests.find( e => e.bidderCode === t.bidder ), r = e.actualBidRequests.get(t.bidder); return { adUnitCode: e.adUnit.code, ortb2: n?.ortb2, ortb2Imp: r?.ortb2Imp, bidder: t.bidder, config: t.config }; }) ); s.length > 0 && (t.paapi = s); } } } }); var k = n(6894); const _ = a.$W.getConfig, V = d.RW.SRC; let N, W = 0; const M = { bidders: Object.freeze([]), syncTimeout: 1e3, maxBids: 1, adapter: 'prebidServer', allowUnknownBidderCodes: !1, adapterOptions: {}, syncUrlModifier: {}, ortbNative: { eventtrackers: [{ event: 1, methods: [1, 2] }] }, maxTimeout: 1500 }; function G(e) { if (!e) return; e = Array.isArray(e) ? e : [e]; const t = new Set(); return e.filter(e => { var n; if ( ((n = e), ['endpoint', 'syncEndpoint'].forEach(e => { if ((0, i.O8)(n[e])) { let t = n[e]; n[e] = { p1Consent: t, noP1Consent: t }; } !(0, i.Qd)(n[e]) || (n[e].p1Consent && n[e].noP1Consent) || ['p1Consent', 'noP1Consent'].forEach(t => { n[e][t] || (0, i.JE)( `s2sConfig.${e}.${t} not defined. PBS request will be skipped in some P1 scenarios.` ); }); }), (function(e) { if (e.defaultVendor) { let t = e.defaultVendor, n = Object.keys(e); if (!p[t]) return ( (0, i.vV)( 'Incorrect or unavailable prebid server default vendor option: ' + t ), !1 ); Object.keys(p[t]).forEach(r => { (M[r] !== e[r] && n.includes(r)) || (e[r] = p[t][r]); }); } else null == e.adapter && (e.adapter = 'prebidServer'); return !0; })(e) && (function(e) { for (const t of ['accountId', 'endpoint']) if (null == e[t]) return ( (0, i.vV)( t + ' missing in server to server config' ), !1 ); return !0; })(e) && e.enabled) ) return ( Array.isArray(e.bidders) && (e.bidders = e.bidders.filter( e => !t.has(e) && (t.add(e), !0) )), !0 ); (0, i.JE)('prebidServer: s2s config is disabled', e); }); } function F(e, t, n, r, s) { if (N.length === W) return; W++; let d = {}; const o = _('userSync.filterSettings'); if (o) { const { all: e, iframe: t, image: n } = o, r = t || e, s = n || e; r && (d = Object.assign({ iframe: r }, d)), s && (d = Object.assign({ image: s }, d)); } const a = { uuid: (0, i.lk)(), bidders: e, account: s.accountId, filterSettings: d }; let c = s.userSyncLimit; (0, i.Et)(c) && c > 0 && (a.limit = c), t && ((a.gdpr = t.gdprApplies ? 1 : 0), !1 !== t.gdprApplies && (a.gdpr_consent = t.consentString)), n && (a.us_privacy = n), r && ((a.gpp_sid = r.applicableSections.join()), (a.gpp = r.gppString)), 'boolean' == typeof s.coopSync && (a.coopSync = s.coopSync); const u = JSON.stringify(a); (0, l.RD)( H(s.syncEndpoint, t), e => { try { L((e = JSON.parse(e)).bidder_status, s); } catch (e) { (0, i.vV)(e); } }, u, { contentType: 'text/plain', withCredentials: !0 } ); } function L(e, t) { if (0 === e.length) return; const n = e.shift(); n.no_cookie ? (function(e, t, n, r, s) { s.syncUrlModifier && 'function' == typeof s.syncUrlModifier[n] && (t = s.syncUrlModifier[n](e, t, n)); !(function(e, t, n, r, s) { t ? 'image' === e || 'redirect' === e ? ((0, i.OG)( `Invoking image pixel user sync for bidder: "${n}"` ), (0, i.z$)(t, r, s)) : 'iframe' === e ? ((0, i.OG)( `Invoking iframe user sync for bidder: "${n}"` ), (0, i.SG)(t, r, s)) : ((0, i.vV)( `User sync type "${e}" not supported for bidder: "${n}"` ), r()) : ((0, i.vV)(`No sync url for bidder "${n}": ${t}`), r()); })(e, t, n, r, s.syncTimeout); })( n.usersync.type, n.usersync.url, n.bidder, L.bind(null, e, t), t ) : L(e, t); } function H(e, t) { const n = (0, f.C)(t), r = n ? e.p1Consent : e.noP1Consent; return ( r || (0, i.JE)('Missing matching consent URL when gdpr=' + n), r ); } function Y(e) { let t, n, r; return ( Array.isArray(e) && e.length > 0 && ((t = e[0].gdprConsent), (n = e[0].uspConsent), (r = e[0].gppConsent)), { gdprConsent: t, uspConsent: n, gppConsent: r } ); } a.$W.setDefaults({ s2sConfig: M }), _('s2sConfig', e => { let { s2sConfig: t } = e; var n; (n = G((n = t))).length && (N = n); }); const z = (0, b.A_)( 'async', function(e, t, n, r) { let { onResponse: s, onError: c, onBid: p, onFledge: l } = r, { gdprConsent: b } = Y(t); const f = (0, i.Go)(e.ad_units), g = f .map(e => e.bids.map(e => e.bidder).filter(i.hj)) .reduce(i.Bq, []) .filter(i.hj), m = e.metrics.measureTime('buildRequests', () => (function(e, t, n, r) { const s = (0, i.vE)(), d = new Set(), c = [], u = (0, o.K5)(e.s2sConfig), p = (() => { const e = (0, R.$p)(u), t = {}; return n => null == n ? e : (t.hasOwnProperty(n) || (t[n] = (0, R.$p)((0, q.s)(E.tW, n))), t[n]); })(); (n = n.map(e => p().bidRequest(e))).forEach(e => { const r = new Map(); (n.bids = e.bids.map(e => p(e.bidder).bidRequest(e))), e.bids.forEach(n => { null != n.mediaTypes && (0, i.JE)( `Prebid Server adapter does not (yet) support bidder-specific mediaTypes for the same adUnit. Size mapping configuration will be ignored for adUnit: ${e.code}, bidder: ${n.bidder}` ), r.set(n.bidder, (0, i.D4)(n.bid_id, t)); }); let s = e.code, o = 1; for (; d.has(s); ) o++, (s = `${e.code}-${o}`); d.add(s), c.push({ ...e, adUnitCode: e.code, pbsData: { impId: s, actualBidRequests: r, adUnit: e } }); }); const l = { ...Object.fromEntries( Object.entries(t[0]).filter(e => { let [t] = e; return !U.has(t); }) ), paapi: { enabled: t.some(e => e.paapi?.enabled) } }; return J.toORTB({ bidderRequest: l, bidRequests: c, context: { currency: a.$W.getConfig('currency.adServerCurrency') || 'USD', ttl: e.s2sConfig.defaultTtl || 60, requestTimestamp: s, s2sBidRequest: { ...e, ortb2Fragments: w(e.ortb2Fragments, r) }, requestedBidders: r, actualBidderRequests: t, nativeRequest: e.s2sConfig.ortbNative, getRedactor: p, transmitTids: (0, x.io)(O.VJ, u) } }); })(e, t, f, g) ), h = { endpointUrl: H(e.s2sConfig.endpoint, b), requestJson: m && JSON.stringify(m), customHeaders: e?.s2sConfig?.customHeaders ?? {} }; if ( (u.Ic(d.qY.BEFORE_PBS_HTTP, h), (0, i.fH)('BidRequest: ' + h), m && h.requestJson && h.endpointUrl) ) { const t = e.metrics.startTiming('net'); n( h.endpointUrl, { success: function(n) { let r; t(); try { r = JSON.parse(n); const { bids: t, paapi: s } = e.metrics.measureTime( 'interpretResponse', () => (function(e, t) { return J.fromORTB({ response: e, request: t }); })(r, m) ); t.forEach(p), s && s.forEach(l); } catch (e) { (0, i.vV)(e); } !r || (r.status && r.status.includes('Error')) ? ((0, i.vV)( 'error parsing response: ', r ? r.status : 'not valid JSON' ), s(!1, g)) : s(!0, g, r); }, error: function() { t(), c.apply(this, arguments); } }, h.requestJson, { contentType: 'text/plain', withCredentials: !0, browsingTopics: (0, x.io)(O.DL, (0, o.K5)(e.s2sConfig)), customHeaders: h.customHeaders } ); } else (0, i.vV)('PBS request not made. Check endpoints.'); }, 'processPBSRequest' ); function K(e, t) { return e?.extPrebid?.returnallbidstatus ? t?.ext?.seatnonbid : void 0; } function Q(e) { return e?.ext?.prebid?.analytics?.tags; } o.Ay.registerBidAdapter( new (function() { const e = new s.A('prebidServer'); return ( (e.callBids = function(e, t, n, r, s) { const p = (e.metrics = (0, k.BO)(t?.[0]?.metrics) .newMetrics() .renameWith(t => [ `adapter.s2s.${t}`, `adapters.s2s.${e.s2sConfig.defaultVendor}.${t}` ])); (r = p.startTiming('total').stopBefore(r)), t.forEach(e => (0, k.BO)(e.metrics).join(p, { continuePropagation: !1 }) ); let { gdprConsent: l, uspConsent: b, gppConsent: f } = Y(t); if (Array.isArray(N)) { if ( e.s2sConfig && e.s2sConfig.syncEndpoint && H(e.s2sConfig.syncEndpoint, l) ) { const t = (e.s2sConfig.extPrebid && e.s2sConfig.extPrebid.aliases) ?? {}; F( e.s2sConfig.bidders .map(e => o.Ay.aliasRegistry[e] || t[e] || e) .filter((e, t, n) => n.indexOf(e) === t), l, b, f, e.s2sConfig ); } z(e, t, s, { onResponse: function(n, s, i) { n && t.forEach(e => u.Ic(d.qY.BIDDER_DONE, e)); const { seatNonBidData: c, atagData: g } = (function( e, t ) { return { atagData: Q(t), seatNonBidData: K(e, t) }; })(e.s2sConfig, i); if ( (c && u.Ic(d.qY.SEAT_NON_BID, { seatnonbid: i.ext.seatnonbid, auctionId: t[0].auctionId, requestedBidders: s, response: i, adapterMetrics: p }), c || g) ) { const e = { seatnonbid: c, atag: g, auctionId: t[0].auctionId, requestedBidders: s, response: i, adapterMetrics: p }; u.Ic(d.qY.PBS_ANALYTICS, e); } r(!1), (function(e, t, n, r) { e.forEach(e => { let s = o.Ay.getBidAdapter(e); s && s.registerSyncs && a.$W.runWithBidder( e, s.registerSyncs.bind(s, [], t, n, r) ); }); })(s, l, b, f); }, onError(n, s) { const { p1Consent: o = '', noP1Consent: a = '' } = e?.s2sConfig?.endpoint || {}; o === a ? (0, i.vV)( `Prebid server call failed: '${n}'. Endpoint: "${o}"}`, s ) : (0, i.vV)( `Prebid server call failed: '${n}'. Endpoints: p1Consent "${o}", noP1Consent "${a}"}`, s ), t.forEach(e => u.Ic(d.qY.BIDDER_ERROR, { error: s, bidderRequest: e }) ), r(s.timedOut); }, onBid: function(t) { let { adUnit: r, bid: s } = t; const o = (s.metrics = e.metrics.fork().renameWith()); o.checkpoint('addBidResponse'), (null != s.requestId && null != s.requestBidder) || e.s2sConfig.allowUnknownBidderCodes ? o.measureTime('addBidResponse.validate', () => (0, c.fn)(r, s) ) ? n(r, s) : n.reject(r, s, d.Tf.INVALID) : ((0, i.JE)( `PBS adapter received bid from unknown bidder (${s.bidder}), but 's2sConfig.allowUnknownBidderCodes' is not set. Ignoring bid.` ), n.reject(r, s, d.Tf.BIDDER_DISALLOWED)); }, onFledge: e => { a.$W.runWithBidder(e.bidder, () => { (0, c.JN)( { auctionId: t[0].auctionId, ...e }, { config: e.config } ); }); } }); } }), Object.assign(this, { callBids: e.callBids, setBidderCode: e.setBidderCode, type: V }) ); })(), 'prebidServer' ), (0, r.E)('prebidServerBidAdapter'); } }, e => { e.O(0, [802, 618, 498, 225, 769, 139, 85], () => { return (t = 1134), e((e.s = t)); var t; }); e.O(); } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [41], { 2115: (d, e, n) => { var t = n(7873), s = n(9214), i = n(1069); const o = { name: 'pubProvidedId', gvlid: n(6916).B1, decode(d) { const e = d ? { pubProvidedId: d } : void 0; return ( (0, i.fH)( 'PubProvidedId: Decoded value ' + JSON.stringify(e) ), e ); }, getId(d) { const e = (d && d.params) || {}; let n = []; return ( (0, i.cy)(e.eids) && (n = n.concat(e.eids)), 'function' == typeof e.eidsFunction && (n = n.concat(e.eidsFunction())), { id: n } ); } }; (0, s.bz)('userId', o), (0, t.E)('pubProvidedIdSystem'); } }, d => { d.O(0, [802, 769, 139, 85], () => { return (e = 2115), d((d.s = e)); var e; }); d.O(); } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [496], { 5862: (e, o, t) => { var n = t(7873), r = t(1069), d = t(9214), i = t(2938), a = t(6916), u = t(5569), c = t(2339); const s = (0, i.vM)({ moduleType: u.fW, moduleName: 'sharedId' }), l = 'cookie', m = 'html5', p = '_pubcid_optout', f = 'PublisherCommonId'; function g(e, o) { if (o === l) return s.getCookie(e); if (o === m && s.hasLocalStorage()) { const o = s.getDataFromLocalStorage(`${e}_exp`); if (!o) return s.getDataFromLocalStorage(e); if (new Date(o).getTime() - Date.now() > 0) return s.getDataFromLocalStorage(e); } } function b(e, o) { return function(t, n) { o ? v(o, e, () => { t(n() || e); })() : t(e); }; } function v(e) { let o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : '', t = arguments.length > 2 ? arguments[2] : void 0; if (!e) return; const n = (0, r.Dl)(e); n.search.id = encodeURIComponent('pubcid:' + o); const d = (0, r.c$)(n); return function() { (0, r.z$)(d, t); }; } function h() { return !!( (s.cookiesAreEnabled() && g(p, l)) || (s.hasLocalStorage() && g(p, m)) ); } const I = { name: 'sharedId', aliasName: 'pubCommonId', gvlid: a.B1, decode(e, o) { if (h()) return void (0, r.fH)('PubCommonId decode: Has opted-out'); (0, r.fH)(' Decoded value PubCommonId ' + e); return { pubcid: e }; }, getId: function() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, o = arguments.length > 1 ? arguments[1] : void 0, t = arguments.length > 2 ? arguments[2] : void 0; if (h()) return void (0, r.fH)('PubCommonId: Has opted-out'); if (o?.coppa) return void (0, r.fH)( 'PubCommonId: IDs not provided for coppa requests, exiting PubCommonId' ); const { params: { create: n = !0, pixelUrl: d } = {} } = e; let i = t; if (!i) { try { 'object' == typeof window[f] && (i = window[f].getId()); } catch (e) {} i || (i = n && (0, r.N9)() ? (0, r.lk)() : void 0); } return { id: i, callback: b(i, d) }; }, extendId: function() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, o = arguments.length > 1 ? arguments[1] : void 0, t = arguments.length > 2 ? arguments[2] : void 0; if (h()) return ( (0, r.fH)('PubCommonId: Has opted-out'), { id: void 0 } ); if (o?.coppa) return void (0, r.fH)( 'PubCommonId: IDs not provided for coppa requests, exiting PubCommonId' ); const { params: { extend: n = !1, pixelUrl: d } = {} } = e; if (n) { if (d) { return { callback: v(d, t) }; } return { id: t }; } }, domainOverride: (0, c.w)(s, 'sharedId'), eids: { pubcid(e, o) { const t = { source: 'pubcid.org', uids: e.map(e => ({ id: e, atype: 1 })) }; return ( null != o?.params?.inserter && (t.inserter = o.params.inserter), t ); } } }; (0, d.bz)('userId', I), (0, n.E)('sharedIdSystem'); } }, e => { e.O(0, [764, 802, 769, 139, 85], () => { return (o = 5862), e((e.s = o)); var o; }); e.O(); } ]); (self.tlpbjsChunk = self.tlpbjsChunk || []).push([ [469], { 4836: (e, t, n) => { var r = n(7873), o = n(3272), s = n(5023), i = n(1445), a = n(8969), c = n(9214), u = n(1069); const l = new Map(); function d(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : l; const n = {}; function r(e) { const t = JSON.stringify([ e.source?.toLowerCase(), ...Object.keys(e) .filter(e => !['uids', 'source'].includes(e)) .sort() .map(t => e[t]) ]); n.hasOwnProperty(t) ? n[t].uids.push(...e.uids) : (n[t] = e); } return ( Object.entries(e).forEach(e => { let [n, o] = e; o = Array.isArray(o) ? o : [o]; const s = t.get(n); let i; if ('pubProvidedId' === n) i = (0, u.Go)(o); else if ('function' == typeof s) try { (i = s(o)), Array.isArray(i) || (i = [i]), i.forEach( e => (e.uids = e.uids.filter(e => { let { id: t } = e; return (0, u.O8)(t); })) ), (i = i.filter(e => { let { uids: t } = e; return t?.length > 0; })); } catch (e) { (0, u.vV)(`Could not generate EID for "${n}"`, e); } else i = o.map(e => (function(e, t, n) { if (n && e) { let t = {}; t.source = (0, u.fp)(n.getSource) ? n.getSource(e) : n.source; const r = (0, u.fp)(n.getValue) ? n.getValue(e) : e; if ((0, u.O8)(r)) { const o = { id: r, atype: n.atype }; if ((0, u.fp)(n.getUidExt)) { const t = n.getUidExt(e); t && (o.ext = t); } if ( ((t.uids = [o]), n.inserter || (0, u.fp)(n.getInserter)) ) { const r = (0, u.fp)(n.getInserter) ? n.getInserter(e) : n.inserter; null != r && (t.inserter = r); } if (n.matcher || (0, u.fp)(n.getMatcher)) { const r = (0, u.fp)(n.getMatcher) ? n.getMatcher(e) : n.matcher; null != r && (t.matcher = r); } if ( (null != n.mm && (t.mm = n.mm), (0, u.fp)(n.getEidExt)) ) { const r = n.getEidExt(e); r && (t.ext = r); } return t; } } return null; })(e, 0, s) ); Array.isArray(i) && i.filter(e => null != e).forEach(r); }), Object.values(n) ); } function f(e) { const t = new Map(), n = {}; return ( Object.entries(e).forEach(e => { let [r, o] = e; const s = o(); if (s) { n[r] = s.idObj[r]; let e = s.submodule.eids?.[r]; 'function' == typeof e && ((i = e), (e = function() { for ( var e = arguments.length, t = new Array(e), n = 0; n < e; n++ ) t[n] = arguments[n]; return i(...t, s.config); })), t.set(r, e); } var i; }), d(n, t) ); } var g = n(2938), m = n(3172), b = n(1692), h = n(5555), p = n(6894), y = n(5973), I = n(6916), w = n(5569), v = n(5139), S = n(6811), D = n(3441), E = n(8230), O = n(8934); const k = 'User ID', $ = g.X0, j = g.qk, A = '_pbjs_id_optout', U = (0, g.CK)('userId'), T = { isAllowed: v.io }; let C, x, N, L, _, P, H = [], M = [], J = {}, q = []; const V = (() => { let e; return () => (null == e && (e = (0, p.K7)()), e); })(); function F(e) { return V() .fork() .renameWith(t => [`userId.mod.${t}`, `userId.mods.${e}.${t}`]); } function W(e, t) { t = t || e.storageMgr; const n = 'function' == typeof e.submodule.domainOverride ? e.submodule.domainOverride() : null, r = e.config.storage.name; return function(e, o, s) { t.setCookie(r + (e || ''), o, s, 'Lax', n); }; } function G(e, t) { const n = e.config.storage; try { const r = new Date( Date.now() + 864e5 * n.expires ).toUTCString(), o = (0, u.Qd)(t) ? JSON.stringify(t) : t; e.enabledStorageTypes.forEach(t => { switch (t) { case $: !(function(e, t, n) { const r = e.config.storage, o = W(e); o(null, t, n), o('_cst', me(), n), 'number' == typeof r.refreshInSeconds && o('_last', new Date().toUTCString(), n); })(e, o, r); break; case j: !(function(e, t, n) { const r = e.config.storage, o = e.storageMgr; o.setDataInLocalStorage(`${r.name}_exp`, n), o.setDataInLocalStorage(`${r.name}_cst`, me()), o.setDataInLocalStorage( r.name, encodeURIComponent(t) ), 'number' == typeof r.refreshInSeconds && o.setDataInLocalStorage( `${r.name}_last`, new Date().toUTCString() ); })(e, o, r); } }); } catch (e) { (0, u.vV)(e); } } function R(e) { ve(e), e.enabledStorageTypes.forEach(t => { switch (t) { case $: !(function(e) { const t = W(e, U), n = new Date(Date.now() - 864e5).toUTCString(); ['', '_last', '_cst'].forEach(e => { try { t(e, '', n); } catch (e) { (0, u.vV)(e); } }); })(e); break; case j: !(function(e) { ['', '_last', '_exp', '_cst'].forEach(t => { try { U.removeDataFromLocalStorage( e.config.storage.name + t ); } catch (e) { (0, u.vV)(e); } }); })(e); } }); } function B(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0; const n = e.config.storage, r = t ? `${n.name}_${t}` : n.name; let o; try { e.enabledStorageTypes.find(t => { switch (t) { case $: o = (function(e, t) { return e.storageMgr.getCookie(t); })(e, r); break; case j: o = (function(e, t) { const n = e.storageMgr, r = e.config.storage, o = n.getDataFromLocalStorage(`${r.name}_exp`); return '' === o ? n.getDataFromLocalStorage(t) : o && new Date(o).getTime() - Date.now() > 0 ? decodeURIComponent(n.getDataFromLocalStorage(t)) : void 0; })(e, r); } return !!o; }), 'string' == typeof o && '{' === o.trim().charAt(0) && (o = JSON.parse(o)); } catch (e) { (0, u.vV)(e); } return o; } function Q(e, t, n) { t = V() .fork() .startTiming('userId.callbacks.total') .stopBefore(t); const r = (0, u.U6)(() => { clearTimeout(x), t(); }, e.length); e.forEach(function(e) { const t = F(e.submodule.name) .startTiming('callback') .stopBefore(r); try { e.callback(function(r) { r ? (e.config.storage && G(e, r), (e.idObj = e.submodule.decode(r, e.config)), n.refresh(), he(n)) : (0, u.fH)( `${k}: ${e.submodule.name} - request id responded with an empty value` ), t(); }, B.bind(null, e)); } catch (n) { (0, u.vV)(`Error in userID module '${e.submodule.name}':`, n), t(); } e.callback = void 0; }); } function K(e) { return Object.fromEntries( Object.entries(e) .map(e => { let [t, n] = e; return [t, n()?.idObj?.[t]]; }) .filter(e => { let [t, n] = e; return null != n; }) ); } function Y(e, t, n) { const r = {}; return ( e.forEach(e => { const o = n(e), s = (function(e) { if (e.primaryIds) return e.primaryIds; const t = Object.keys(e.eids ?? {}); if (t.length > 1) throw new Error( `ID submodule ${e.name} can provide multiple IDs, but does not specify 'primaryIds'` ); return t; })(o); t(e).forEach(t => { const n = (r[t] = r[t] ?? []), i = J[t]?.indexOf(o.name) ?? (s.includes(t) ? 0 : -1), a = n.findIndex(e => { let [t] = e; return t < i; }); n.splice(-1 === a ? n.length : a, 0, [i, e]); }); }), Object.fromEntries( Object.entries(r).map(e => { let [t, n] = e; return [ t, n.map(e => { let [t, n] = e; return n; }) ]; }) ) ); } function z() { const e = { submodules: [], global: {}, bidder: {}, combined: {}, refresh() { let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; const n = new Set(t.map(e => e.submodule)); (e.submodules = e.submodules .filter(e => !n.has(e.submodule)) .concat(t)), (function() { const t = Y( e.submodules, e => Object.keys(e.idObj ?? {}), e => e.submodule ), n = {}, r = {}; function o(e, t, n) { return function() { for (const { allowed: r, bidders: o, module: s } of n) { if ( !T.isAllowed( S.yl, (0, D.s)(w.fW, s?.config?.name, { init: !1 }) ) ) continue; const i = s.idObj?.[e]; if (null != i) { if (r) return s; if (t) { const t = e => e .map(e => e.module.submodule.name) .join(', '); return ( (0, u.JE)( `userID modules ${t( n )} provide the same ID ('${e}'); ${ s.submodule.name } is the preferred source, but it's configured only for some bidders, unlike ${t( n.filter(e => null == e.bidders) )}. Other bidders will not see the "${e}" ID.` ), null ); } if (null == o) return null; } } return null; }; } Object.entries(t).forEach(e => { let [t, s] = e, i = !0; const a = new Set(); (s = s.map(e => { let t = null; return ( Array.isArray(e.config.bidders) && e.config.bidders.length > 0 ? ((t = e.config.bidders), t.forEach(e => a.add(e))) : (i = !1), { module: e, bidders: t } ); })), i || (n[t] = o( t, !0, s.map(e => { let { bidders: t, module: n } = e; return { allowed: null == t, bidders: t, module: n }; }) )), a.forEach(e => { (r[e] = r[e] ?? {}), (r[e][t] = o( t, !1, s.map(t => { let { bidders: n, module: r } = t; return { allowed: n?.includes(e), bidders: n, module: r }; }) )); }); }); const s = Object.values(r) .concat([n]) .reduce((e, t) => Object.assign(e, t), {}); Object.assign(e, { global: n, bidder: r, combined: s }); })(); } }; return e; } function X(e) { let { adUnits: t, ortb2Fragments: n } = e; if ( ((n = n ?? { global: {}, bidder: {} }), (function(e) { const { global: t, bidder: n } = e, { global: r, bidder: o } = C, s = f(r); s.length > 0 && (0, m.J)( t, 'user.ext.eids', (t.user?.ext?.eids ?? []).concat(s) ), Object.entries(o).forEach(e => { let [t, r] = e; const o = f(r); o.length > 0 && (0, m.J)( n, `${t}.user.ext.eids`, (n[t]?.user?.ext?.eids ?? []).concat(o) ); }); })(n), [t].some(e => !Array.isArray(e) || !e.length)) ) return; const r = K(C.global), o = n.global.user?.ext?.eids || []; t.forEach(e => { e.bids && (0, u.cy)(e.bids) && e.bids.forEach(e => { const t = Object.assign({}, r, K(C.bidder[e.bidder] ?? {})), s = o.concat(n.bidder?.[e.bidder]?.user?.ext?.eids || []); Object.keys(t).length > 0 && (e.userId = t), s.length > 0 && (e.userIdAsEids = s); }); }); } const Z = {}; let ee; function te() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ie() || []; const t = _ && e.find(e => e.source === _); if (t && 'string' == typeof t?.uids?.[0]?.id) { const e = t.uids[0].id.replace(/[\W_]/g, ''); if (e.length >= 32 && e.length <= 150) return e; (0, u.JE)( `User ID - Googletag Publisher Provided ID for ${_} is not between 32 and 150 characters - ${e}` ); } } const ne = (0, p.Ak)('userId', function(e, t) { let { mkDelay: n = h.cb, getIds: r = ge } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; h.U9.race([r().catch(() => null), n(L)]).then(() => { X(t), V().join((0, p.BO)(t.metrics), { propagate: !1, includeGroups: !0 }), e.call(this, t); }); }), re = (0, p.Ak)('userId', function(e, t) { X(t), e.call(this, t); }); function oe() { return !!O.gH.getHooks({ hook: ne }).length; } function se() { return K(C.combined); } function ie() { return f(C.combined); } function ae(e) { return ie().filter(t => t.source === e)[0]; } function ce(e, t, n) { return de().then(() => { let r = {}; if ((0, u.fp)(n)) { (0, u.fH)( `${k} - Getting encrypted signal from custom function : ${n.name} & source : ${e} ` ); const t = n(e); r[e] = t ? ue(t) : null; } else { const n = ae(e); (0, u.fH)( `${k} - Getting encrypted signal for eids :${JSON.stringify( n )}` ), (0, u.Im)(n) || (r[n.source] = !0 === t ? ue(n) : n.uids[0].id); } return ( (0, u.fH)(`${k} - Fetching encrypted eids: ${r[e]}`), r[e] ); }); } function ue(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1, n = ''; if (1 === t) n = 'object' == typeof e ? window.btoa(JSON.stringify(e)) : window.btoa(e); return `${t}||${n}`; } function le() { if (!(0, u.II)()) return; window.googletag.secureSignalProviders = window.googletag.secureSignalProviders || []; const e = o.$W.getConfig('userSync.encryptedSignalSources'); if (e) { const t = e.registerDelay || 0; setTimeout(() => { e.sources && e.sources.forEach(e => { let { source: t, encrypt: n, customFunc: r } = e; t.forEach(e => { window.googletag.secureSignalProviders.push({ id: e, collectorFunction: () => ce(e, n, r) }); }); }); }, t); } else (0, u.JE)( `${k} - ESP : encryptedSignalSources config not defined under userSync Object` ); } function de(e) { return ee(e).then( () => se(), e => e === Z ? Promise.resolve().then(ge) : ((0, u.vV)('Error initializing userId', e), h.U9.reject(e)) ); } function fe() { let { submoduleNames: e } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = arguments.length > 1 ? arguments[1] : void 0; return de({ refresh: !0, submoduleNames: e }).then( e => (t && (0, u.fp)(t) && t(), e) ); } function ge() { return de(); } function me() { let e = Number(I.SL.hash); const t = []; for (; e > 0; ) t.push(String.fromCharCode(255 & e)), (e >>>= 8); return btoa(t.join()); } function be(e, t) { const n = I.SL.getConsentData(); if (e.config.storage) { let r, o = B(e), s = !1; if ('number' == typeof e.config.storage.refreshInSeconds) { const t = new Date(B(e, 'last')); s = t && Date.now() - t.getTime() > 1e3 * e.config.storage.refreshInSeconds; } if ( !o || s || t || (function(e) { const t = B(e, 'cst'); return !t || t !== me(); })(e) ) { const t = Object.assign( { enabledStorageTypes: e.enabledStorageTypes }, e.config ); r = e.submodule.getId(t, n, o); } else 'function' == typeof e.submodule.extendId && (r = e.submodule.extendId(e.config, n, o)); (0, u.Qd)(r) && (r.id && (G(e, r.id), (o = r.id)), 'function' == typeof r.callback && (e.callback = r.callback)), o && (e.idObj = e.submodule.decode(o, e.config)); } else if (e.config.value) e.idObj = e.config.value; else { const t = e.submodule.getId(e.config, n); (0, u.Qd)(t) && ('function' == typeof t.callback && (e.callback = t.callback), t.id && (e.idObj = e.submodule.decode(t.id, e.config))); } } function he(e) { const t = f(e.combined); if (t.length && _) { const e = te(t); e && ((0, u.II)() ? window.googletag.pubads().setPublisherProvidedId(e) : ((window.googletag = window.googletag || {}), (window.googletag.cmd = window.googletag.cmd || []), window.googletag.cmd.push(function() { window.googletag.pubads().setPublisherProvidedId(e); }))); } } function pe(e, t) { let n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; return V() .fork() .measureTime('userId.init.modules', function() { if (!t.length) return []; if ( (t.forEach(e => ve(e)), !(t = t.filter( e => (!e.config.storage || !!e.enabledStorageTypes.length) && T.isAllowed(S.yl, (0, D.s)(w.fW, e.config.name)) )).length) ) return (0, u.JE)(`${k} - no ID module configured`), []; const r = t.reduce( (e, t) => F(t.submodule.name).measureTime('init', () => { try { be(t, n), e.push(t); } catch (e) { (0, u.vV)( `Error in userID module '${t.submodule.name}':`, e ); } return e; }), [] ); return e.refresh(r), he(e), r; }); } function ye(e) { return e?.storage?.type?.trim().split(/\s*&\s*/) || []; } function Ie(e) { function t(e) { for ( var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++ ) n[r - 1] = arguments[r]; (0, u.JE)(`Invalid userSync.userId config: ${e}`, ...n); } return Array.isArray(e) ? e.filter(e => { if (!e?.name) return t('must specify "name"', e); if (e.storage) { if (!e.storage.name || !e.storage.type) return t( 'must specify "storage.name" and "storage.type"', e ); if ( !(function(e) { return ye(e).every(e => we.has(e)); })(e) ) return t('invalid "storage.type"', e); ['expires', 'refreshInSeconds'].forEach(n => { let r = e.storage[n]; null != r && 'number' != typeof r && ((r = Number(r)), isNaN(r) ? (t( `storage.${n} must be a number and will be ignored`, e ), delete e.storage[n]) : (e.storage[n] = r)); }); } return !0; }) : (null != e && t('must be an array', e), []); } const we = new Set([j, $]); function ve(e) { if (e.enabledStorageTypes) return; const t = ye(e.config); e.enabledStorageTypes = t.filter(t => { switch (t) { case j: return (function(e) { return !( !e.storageMgr.localStorageIsEnabled() || (U.getDataFromLocalStorage(A) && ((0, u.fH)( `${k} - opt-out localStorage found, storage disabled` ), 1)) ); })(e); case $: return (function(e) { return !( !e.storageMgr.cookiesAreEnabled() || (U.getCookie(A) && ((0, u.fH)( `${k} - opt-out cookie found, storage disabled` ), 1)) ); })(e); } return !1; }); } function Se(e) { l.clear(), Object.entries( Y( e, e => Object.keys(e.eids || {}), e => e ) ).forEach(e => { let [t, n] = e; return l.set(t, n[0].eids[t]); }); } function De() { Se(q); const e = Ie(M); if (!e.length) return; const t = q.filter(e => !(H || []).find(t => t.name === e.name)); H.splice(0, H.length), t .map(t => { const n = (e || []).find( e => e.name && (e.name.toLowerCase() === t.name.toLowerCase() || (t.aliasName && e.name.toLowerCase() === t.aliasName.toLowerCase())) ); return ( n && t.name !== n.name && (n.name = t.name), n ? { submodule: t, config: n, callback: void 0, idObj: void 0, storageMgr: (0, g.vM)({ moduleType: w.fW, moduleName: n.name }) } : null ); }) .filter(e => null !== e) .forEach(e => H.push(e)), H.length && (oe() || (O.gH.getHooks({ hook: re }).remove(), O.gH.before(ne, 100), i.Ay.callDataDeletionRequest.before(Ee), b.Q.after(e => e(te()))), (0, u.fH)( `${k} - usersync config updated for ${H.length} submodules: `, H.map(e => e.submodule.name) )); } function Ee(e) { for ( var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++ ) n[r - 1] = arguments[r]; (0, u.fH)( 'UserID: received data deletion request; deleting all stored IDs...' ), H.forEach(e => { if ('function' == typeof e.submodule.onDataDeletionRequest) try { e.submodule.onDataDeletionRequest( e.config, e.idObj, ...n ); } catch (t) { (0, u.vV)( `Error calling onDataDeletionRequest for ID submodule ${e.submodule.name}`, t ); } R(e); }), e.apply(this, n); } function Oe(e) { return function() { return Promise.resolve(e.apply(this, arguments)); }; } function ke(e) { let { mkDelay: t = h.cb } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; (_ = void 0), (H = []), (M = []), (C = z()), (ee = (function() { let { mkDelay: e = h.cb } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; const t = (0, h.v6)(), n = (0, h.v6)(); let r, o, i = !1; function l(e) { return ( (o = V().fork()), null != r && r.reject(Z), (r = (0, h.v6)()), h.U9.race([e, r.promise]).finally( o.startTiming('userId.total') ) ); } let d = C, f = H; function g(e) { return function() { if (d === C && f === H) return e(...arguments); }; } function m() { return I.SL.promise.finally( o.startTiming('userId.init.consent') ); } let b = l( h.U9.all([c.Gc, t.promise]) .then(m) .then( g(() => { pe(d, f); }) ) .then(() => n.promise.finally( o.startTiming('userId.callbacks.pending') ) ) .then( g(() => { const e = d.submodules.filter(e => (0, u.fp)(e.callback) ); if (e.length) return new h.U9(t => Q(e, t, d)); }) ) ); return function() { let { refresh: r = !1, submoduleNames: o = null, ready: c = !1 } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; return ( c && !i && ((i = !0), t.resolve(), L > 0 ? n.resolve() : s.on(a.qY.AUCTION_END, function t() { s.AU(a.qY.AUCTION_END, t), e(N).then(n.resolve); })), r && i && (b = l( b .catch(() => null) .then(m) .then( g(() => { const e = pe( d, f.filter( e => null == o || o.includes(e.submodule.name) ), !0 ).filter(e => null != e.callback); if (e.length) return new h.U9(t => Q(e, t, d)); }) ) )), b ); }; })({ mkDelay: t })), null != P && P(), (q = []), (P = e.getConfig('userSync', e => { const t = e.userSync; t && ((_ = t.ppid), t.userIds && ((M = t.userIds), (N = (0, u.Et)(t.syncDelay) ? t.syncDelay : E.qh.syncDelay), (L = (0, u.Et)(t.auctionDelay) ? t.auctionDelay : E.qh.auctionDelay), De(), (function(e, t) { if (e) { const n = {}, r = new Map( t.map(e => e.aliasName ? [e.aliasName, e.name] : [] ) ); Object.keys(e).forEach(t => { const o = (0, u.cy)(e[t]) ? [...e[t]].reverse() : []; n[t] = o.map(e => (r.has(e) ? r.get(e) : e)); }), (J = n); } else J = {}; C.refresh(), Se(t); })(t.idPriority, q), ee({ ready: !0 }))); })), ((0, r.m)().getUserIds = se), ((0, r.m)().getUserIdsAsEids = ie), ((0, r.m)().getEncryptedEidsForSource = Oe(ce)), ((0, r.m)().registerSignalSources = le), ((0, r.m)().refreshUserIds = Oe(fe)), ((0, r.m)().getUserIdsAsync = Oe(ge)), ((0, r.m)().getUserIdsAsEidBySource = ae), oe() || O.gH.before(re, 100); } ke(o.$W), (0, c.xG)( 'userId', function(e) { (e.findRootDomain = y.S), (q || []).find(t => t.name === e.name) || (q.push(e), I.o2.register(w.fW, e.name, e.gvlid), De(), ee({ refresh: !0, submoduleNames: [e.name] })); }, { postInstallAllowed: !0 } ), (0, r.E)('userId'); } }, e => { e.O(0, [802, 769, 139, 85], () => { return (t = 4836), e((e.s = t)); var t; }); e.O(); } ]); })(), tlpbjs.processQueue(); tlpbjs.config = {}; tlpbjs.config.domain = window.location.hostname.replace('www.', ''); if (account) { tlpbjs.config.account = account; } else { tlpbjs.config.account = 'tl'; } tlpbjs.config.debug = window.location.search.indexOf('tlpbjs=debug') > -1; tlpbjs.defineSlot = window.googletag.defineSlot; tlpbjs.nativeRender = function(state) { var winners = tlpbjs.getHighestCpmBids([state.divId]); if (tlpbjs.config.debug) console.log('tlpbjs: winners: ' + winners.length); for (var i = 0; i < winners.length; i++) { var winningBid = winners[i]; if (winningBid && winningBid.adId) { if (tlpbjs.config.debug) console.log('tlpbjs: winning bid id: ' + winningBid.adId); if (state.div) { state.div.innerHTML = ''; state.div.align = 'center'; state.div.style = 'padding:0;margin:0;border:0pt none;'; let iframe = document.createElement('iframe'); iframe.frameBorder = 0; iframe.setAttribute('marginwidth', '0'); iframe.setAttribute('marginheight', '0'); iframe.scrolling = 'no'; iframe.style = 'overflow:hidden;display:block;border-style:none;border:0px;'; state.div.appendChild(iframe); var iframeDoc = iframe.contentWindow.document; tlpbjs.renderAd(iframeDoc, winningBid.adId); } } } }; tlpbjs.tlRequestBids = function(state) { if (state.gamSlotId) { tlpbjs.requestBids({ adUnitCodes: [state.gamSlot.getSlotElementId()], bidsBackHandler: function() { tlpbjs.setTargetingForGPTAsync([state.gamSlot.getSlotElementId()]); googletag.pubads().refresh([state.gamSlot]); } }); } else { tlpbjs.requestBids({ adUnitCodes: [state.divId], bidsBackHandler: function() { tlpbjs.nativeRender(state); } }); } }; tlpbjs.getPPID = function() { if (localStorage) { var permutive_id = localStorage.getItem('permutive-id'); if (permutive_id) { return permutive_id; } else { var teal_id = localStorage.getItem('teal-id'); if (teal_id) { return teal_id; } var newUUID = crypto ? crypto.randomUUID().toString() : Math.random() .toString() .replace('0.', '') + Math.random() .toString() .replace('0.', ''); localStorage.setItem('teal-id', newUUID); return newUUID; } } else { return new crypto() ? crypto.randomUUID().toString() : Math.random() .toString() .replace('0.', '') + Math.random() .toString() .replace('0.', ''); } }; tlpbjs.que.push(function() { tlpbjs.setConfig({ s2sConfig: { accountId: tlpbjs.config.account, bidders: ['teal-s2s'], timeout: 2200, maxTimeout: 2200, enabled: true, adapter: 'prebidServer', endpoint: 'https://a.bids.ws/openrtb2/auction', syncEndpoint: 'https://a.bids.ws/cookie_sync', coopSync: true, allowUnknownBidderCodes: true }, ortb2: { ext: { prebid: { storedrequest: { id: tlpbjs.config.account } } } }, useBidCache: true, bidderTimeout: 2500, enableTIDs: true, bidderSequence: 'random', enableSendAllBids: false, auctionOptions: { suppressStaleRender: true }, consentManagement: { usp: { cmpApi: 'iab', timeout: 0 }, ...(typeof __tcfapi === 'function' && { gdpr: { cmpApi: 'iab', allowAuctionWithoutConsent: true, timeout: 0, defaultGdprScope: true } }) }, userSync: { ppid: tlpbjs.config.domain, filterSettings: { iframe: { bidders: '*', filter: 'include' } }, userIds: [ { name: 'pubProvidedId', params: { eids: [ { source: tlpbjs.config.domain, uids: [ { id: tlpbjs.getPPID(), atype: 1, ext: { stype: 'ppuid' } } ] } ] } }, { name: 'criteo' }, { name: 'sharedId', storage: { name: '_sharedID', type: 'cookie', expires: 365 } } ] } }); tlpbjs.bidderSettings = { standard: { adserverTargeting: [ { key: 'tl_bidder', val: function(bidResponse) { return bidResponse.bidderCode; } }, { key: 'tl_adid', val: function(bidResponse) { return bidResponse.adId; } }, { key: 'tl_pb', val: function(bidResponse) { return bidResponse.pbHg; } }, { key: 'tl_size', val: function(bidResponse) { return bidResponse.size; } }, { key: 'tl_source', val: function(bidResponse) { return bidResponse.source; } }, { key: 'tl_format', val: function(bidResponse) { return bidResponse.mediaType; } } ] } }; tlpbjs.onEvent('beforeRequestBids', function(adUnits) { adUnits.forEach(a => { if (a.mediaTypes && a.mediaTypes.banner && a.mediaTypes.banner.sizes) { delete a.mediaTypes.banner.sizes; } }); }); window.pbjs = window.pbjs || window.tlpbjs; }); tlpbjs.renderTlDynamicAd = function(state) { tlpbjs.que.push(function() { if (!tlpbjs.adUnits.find(e => e.code === state.divId)) { var new_unit = [ { code: state.divId, mediaTypes: { banner: { sizes: [[1, 1]] } }, ortb2Imp: { ext: { prebid: { storedrequest: { id: state.storedImp }, ...(window.location.search.indexOf('tl=test') > -1 && { storedauctionresponse: { id: 'test-placement300x250' } }) } } }, bids: [ { bidder: 'teal-s2s' } ] } ]; tlpbjs.addAdUnits(new_unit); } var other_eids; if (window.owpbjs && window.owpbjs.getUserIdsAsEids) { other_eids = window.owpbjs.getUserIdsAsEids(); } else if (window.ihowpbjs && window.ihowpbjs.getUserIdsAsEids) { other_eids = window.ihowpbjs.getUserIdsAsEids(); } else if (window.pbjs && window.pbjs.getUserIdsAsEids) { other_eids = window.pbjs.getUserIdsAsEids(); } if (other_eids && other_eids.filter) { other_eids = other_eids.filter( e => !['criteo.com', tlpbjs.config.domain, 'pubcid.org'].includes( e['source'] ) ); tlpbjs.mergeConfig({ ortb2: { user: { ext: { eids: other_eids } } } }); } tlpbjs.tlRequestBids(state); }); }; tlpbjs.initGam = function(state) { window.googletag = window.googletag || { cmd: [] }; window.googletag.cmd.push(function() { if (state.gamSlotId) { state.gamSlot = window.googletag .pubads() .getSlots() .find(element => element.getSlotElementId() === state.divId); if (!state.gamSlot) { if (state.size && Array.isArray(state.size)) { if (!state.size.includes(1)) { state.size = [state.size, [1, 1]]; } } else { state.size = [[1, 1]]; } state.gamSlot = tlpbjs .defineSlot(state.gamSlotId, state.size, state.divId) .addService(googletag.pubads()); } else { var sizes = state.gamSlot.getSizes(); if (!sizes.find(e => e['width'] == 1)) { var sizeArray = [[1, 1]]; sizes.forEach(e => sizeArray.push([e['width'], e['height']])); state.gamSlot.defineSizeMapping( googletag .sizeMapping() .addSize([0, 0], sizeArray) .build() ); } } } }); }; } function triggerTealReplace(account) { window.googletag = window.googletag || { cmd: [] }; window.googletag.cmd.push(function() { if (window.location.search.indexOf('tl=disable') > -1) return; var identifier = 'recovered-ad-slot-'; var gptDefineSlot = window.googletag.defineSlot; var adCounter = 0; if (!window.tlpbjs || !window.tlpbjs.config) loadTlpbjs(account ? account : 'npg'); function defineSlotOverride(adUnitPath, sizes, divId) { //only pass 0,0 if parent node has recovered child already var div = document.getElementById(divId); var emptyParent = true; if ( div.parentNode && div.parentNode.children && div.parentNode.children.forEach ) { div.parentNode.children.forEach(e => { if (e.id.startsWith(identifier)) { emptyParent = false; } }); } var slot = gptDefineSlot(adUnitPath, emptyParent ? sizes : [0, 0], divId); runAuctionForSlot(divId, slot.getSizes()); return slot; } function runAuctionForSlot(divId, sizes, isRefresh) { //check sizes - don't render if width or height <= 2 (1x1,2x2 etc.) var tooSmall = false; var maxSize = [0, 0]; if (sizes && sizes[0]) { if (Number.isInteger(sizes[0])) { maxSize = sizes; } else { sizes.forEach(e => { if (Array.isArray(e) && e[0] > maxSize[0]) { maxSize[0] = e[0]; } else if (e.width > maxSize[0]) { maxSize[0] = e.width; } if (Array.isArray(e) && e[1] > maxSize[1]) { maxSize[1] = e[1]; } else if (e.height > maxSize[1]) { maxSize[1] = e.height; } }); } if (maxSize[0] <= 2 || maxSize[1] <= 2) { tooSmall = true; } } else { tooSmall = true; } var slot = document.getElementById(divId); if (slot) { //check to see if there is already an recovered slot in parent var emptyParent = true; if ( slot.parentNode && slot.parentNode.children && slot.parentNode.children.forEach ) { slot.parentNode.children.forEach(e => { if (e.id.startsWith(identifier)) { emptyParent = false; } }); } if (emptyParent || isRefresh) { slot.innerHTML = ''; if (!isRefresh) slot.id = identifier + adCounter++; if (!tooSmall) { var urlParams = new URLSearchParams(window.location.search); var state = { divId: slot.id, div: slot, ...(urlParams.get('tlgamslot') && { gamSlotId: urlParams.get('tlgamslot') }), size: maxSize }; if (maxSize[0] >= 728) state.storedImp = 'recovered728x90'; else if (maxSize[0] <= 160) state.storedImp = 'recovered160x600'; else if (maxSize[1] >= 250) state.storedImp = 'recovered300x250'; else if (maxSize[0] >= 320) state.storedImp = 'recovered320x100'; if (state.storedImp) { if (state.gamSlotId) { if (isRefresh) state.gamSlot = window.googletag .pubads() .getSlots() .find( element => element.getSlotElementId() === state.divId ); else window.tlpbjs.initGam(state); } window.tlpbjs.renderTlDynamicAd(state); observeSlotInView(state); //start refresh timer } } } } } function observeSlotInView(state) { var observer = new IntersectionObserver( function(entries) { entries.forEach(entry => { if (entry.isIntersecting) { observer.unobserve(state.div); // Stop observing once in view setTimeout( () => runAuctionForSlot(state.divId, state.size, true), 30000 ); // Call after 30 seconds } }); }, { threshold: 0.1 } ); // Trigger when at least 10% of the slot is in view observer.observe(state.div); } window.googletag.defineSlot = defineSlotOverride; window.googletag .pubads() .getSlots() .forEach(e => { runAuctionForSlot(e.getSlotElementId(), e.getSizes()); }); }); } </script> <!--End Admiral--> <!--Minute.ly--> <script src="//apv-launcher.minute.ly/api/launcher/MIN-30460.js" async></script> <!--Nativo--> <script type="text/javascript" src="//s.ntv.io/serve/load.js"></script> <!--AskAI Dappier Widget--> <script src="https://assets.dappier.com/widget/dappier-loader.min.js" widget-id="wd_01jf8tyfnqfj9a19qsds8w543s"></script> <!-- Global Site Tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-19609167-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-19609167-1'); </script><style type="text/css">.story__category-tag { background-color: #282861; color: #FFFFFF; }.header .navbar .menu-livestream-button a { background-color: #b2b2b2; color: #000000; } .header .navbar .menu-livestream-button.active a { background-color: #CC3927; color: #FFFFFF; }</style><style type="text/css">body { font-family: Verdana; } .hdg { font-family: Verdana; }.header { background-color: #FFFFFF; } .header, .navbar-brand, .navbar__menu a, .header .navbar a { color: #000000; } @media only screen and (min-width: 960px) { .header .dropdown__menu > li { background-color: #FFFFFF; } .header .dropdown__menu > li:hover { background-color: #f5f5f5; } .header .dropdown__menu a { color: #000000; } } .header__utility { background-color: #000000; } .header__utility a { color: #FFFFFF; } .header__search { background-color: #E4E4E4; } .header__search .icon { color: #000000; } .header__search input { color: #000000; } .header__search input::placeholder { color: #999999 }.footer { background-color: #ebebeb; } .footer, .footer__widgets a { color: #000000; }.primary h1, .primary h1 a, .sidebar h1, .sidebar h1 a { color: #000000; } .primary h2, .primary h2 a, .sidebar h2, .sidebar h2 a { color: #000000; } .primary h3, .primary h3 a, .sidebar h3, .sidebar h3 a { color: #000000; } .primary h4, .primary h4 a, .sidebar h4, .sidebar h4 a { color: #000000; } .primary h5, .primary h5 a, .sidebar h5, .sidebar h5 a { color: #000000; } .primary h6, .primary h6 a, .sidebar h6, .sidebar h6 a { color: #000000; } .primary, .sidebar { color: #000000; }.btn.btn-primary { background-color: #777777; } .btn.btn-primary:hover { background-color: #595959; } .btn.btn-primary { color: #FFFFFF; } .btn.btn-secondary { background-color: #777777; } .btn.btn-secondary:hover { background-color: #595959; } .btn.btn-secondary { color: #FFFFFF; }</style></head> <body class="wp-singular page-template page-template-templates page-template-page-builder page-template-templatespage-builder-php page page-id-22 page-parent wp-theme-storymate-theme wp-child-theme-storymate-npg ally-default"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PDK3J36" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <svg xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg"> <defs> <symbol id="icon-circle-arrow" viewBox="0 0 40 40"> <title>circle-arrow</title> <path fill="#FFF" fill-rule="nonzero" d="M0 20C0 8.953 8.953 0 20 0s20 8.953 20 20-8.953 20-20 20S0 31.047 0 20zm16.526 9.204l12.367-9.402L16.526 10.4v6.392H11.2v6.021h5.326v6.392-.001z"/> </symbol> <symbol id="icon-play" viewBox="0 0 32 32"> <title>Play Button</title> <path fill="#fff" fill-rule="nonzero" d="M6 4l20 12-20 12z"/> </symbol> <symbol id="icon-stop" viewBox="0 0 32 32"> <title>Stop Button</title> <path fill="#fff" fill-rule="nonzero" d="M4 4h24v24h-24z"/> </symbol> </defs> </svg> <svg xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg"> <defs> <symbol id="icon-chevron-right" viewBox="0 0 19 28"> <title>chevron-right</title> <path d="M17.297 13.703l-11.594 11.594c-0.391 0.391-1.016 0.391-1.406 0l-2.594-2.594c-0.391-0.391-0.391-1.016 0-1.406l8.297-8.297-8.297-8.297c-0.391-0.391-0.391-1.016 0-1.406l2.594-2.594c0.391-0.391 1.016-0.391 1.406 0l11.594 11.594c0.391 0.391 0.391 1.016 0 1.406z"></path> </symbol> <symbol id="icon-chevron-left" viewBox="0 0 21 28"> <title>chevron-left</title> <path d="M18.297 4.703l-8.297 8.297 8.297 8.297c0.391 0.391 0.391 1.016 0 1.406l-2.594 2.594c-0.391 0.391-1.016 0.391-1.406 0l-11.594-11.594c-0.391-0.391-0.391-1.016 0-1.406l11.594-11.594c0.391-0.391 1.016-0.391 1.406 0l2.594 2.594c0.391 0.391 0.391 1.016 0 1.406z"></path> </symbol> <symbol id="icon-chevron-up" viewBox="0 0 20 20"> <title>chevron-up</title> <path d="M15.825 12.82c-.104.113-.25.18-.397.18-.145 0-.292-.067-.396-.18l-5.03-5.392L4.95 12.82c-.104.113-.25.18-.397.18-.145 0-.292-.067-.396-.18-.21-.222-.21-.6 0-.846L9.584 6.18C9.688 6.066 9.856 6 10 6c.147 0 .294.044.42.18l5.426 5.794c.21.224.21.602-.02.847z"></path> </symbol> <symbol id="icon-search" viewBox="0 0 32 32"> <title>search</title> <path d="M31.008 27.231l-7.58-6.447c-0.784-0.705-1.622-1.029-2.299-0.998 1.789-2.096 2.87-4.815 2.87-7.787 0-6.627-5.373-12-12-12s-12 5.373-12 12 5.373 12 12 12c2.972 0 5.691-1.081 7.787-2.87-0.031 0.677 0.293 1.515 0.998 2.299l6.447 7.58c1.104 1.226 2.907 1.33 4.007 0.23s0.997-2.903-0.23-4.007zM12 20c-4.418 0-8-3.582-8-8s3.582-8 8-8 8 3.582 8 8-3.582 8-8 8z"></path> </symbol> <symbol id="icon-warning" viewBox="0 0 12 10"> <title>warning</title> <path fill="#FFF" fill-rule="nonzero" d="M11.912 9.328L6.378.227A.455.455 0 0 0 6 0a.448.448 0 0 0-.377.227L.089 9.328c-.075.13-.129.339-.051.466.078.128.22.206.375.206h11.172a.437.437 0 0 0 .375-.206c.08-.127.027-.338-.048-.466zM6.857 8.75H5.143V7.5h1.714v1.25zm0-2.083H5.143v-3.75h1.714v3.75z"/> </symbol> <symbol id="icon-chevron-left-skinny" viewBox="0 0 24 24"> <title>chevron-left-skinny</title> <path d="M15.707 17.293l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-6 6c-0.391 0.391-0.391 1.024 0 1.414l6 6c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"></path> </symbol> <symbol id="icon-chevron-right-skinny" viewBox="0 0 24 24"> <title>chevron-right-skinny</title> <path d="M9.707 18.707l6-6c0.391-0.391 0.391-1.024 0-1.414l-6-6c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0z"></path> </symbol> <symbol id="icon-x" viewBox="0 0 24 24"> <title>x</title> <path d="M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path> </symbol> <symbol id="icon-clock" viewBox="0 0 32 32"> <title>clock</title> <path d="M17.44 16.32v1.76h-8.64v-1.76h6.88v-10.56h1.76v10.56zM16 32c-8.837 0-16-7.163-16-16s7.163-16 16-16c8.837 0 16 7.163 16 16s-7.163 16-16 16zM16 28.8c7.069 0 12.8-5.731 12.8-12.8s-5.731-12.8-12.8-12.8c-7.069 0-12.8 5.731-12.8 12.8s5.731 12.8 12.8 12.8z"></path> </symbol> <symbol id="icon-calendar" viewBox="0 0 32 32"> <title>calendar</title> <path d="M18.982 7.19v-5.958c0-0.68 0.548-1.232 1.225-1.232h3.674c0.676 0 1.225 0.552 1.225 1.232v3.388h5.455c0.707 0 1.28 0.573 1.28 1.28v24.255c0 1.019-0.822 1.845-1.837 1.845h-28.166c-1.014 0-1.837-0.826-1.837-1.845v-24.255c0-0.707 0.573-1.28 1.28-1.28h5.455v1.285-4.673c0-0.68 0.548-1.232 1.225-1.232h3.674c0.676 0 1.225 0.552 1.225 1.232v3.388h6.123v2.57zM12.32 30.77v-5.090h-5.12v5.090h5.12zM13.28 30.77h5.28v-5.090h-5.28v5.090zM19.52 30.77h5.12v-5.090h-5.12v5.090zM25.6 30.77h4.403c0.338 0 0.612-0.275 0.612-0.615v-4.475h-5.015v5.090zM30.615 24.72v-5.28h-5.015v5.28h5.015zM30.615 18.48v-4.93h-5.015v4.93h5.015zM24.64 13.55h-5.12v4.93h5.12v-4.93zM18.56 13.55h-5.28v4.93h5.28v-4.93zM12.32 13.55h-5.12v4.93h5.12v-4.93zM6.24 13.55h-5.015v4.93h5.015v-4.93zM1.225 19.44v5.28h5.015v-5.28h-5.015zM1.225 25.68v4.475c0 0.34 0.274 0.615 0.612 0.615h4.403v-5.090h-5.015zM7.2 24.72h5.12v-5.28h-5.12v5.28zM24.64 19.44h-5.12v5.28h5.12v-5.28zM18.56 19.44h-5.28v5.28h5.28v-5.28zM8.113 1.386v6.468h3.368v-6.468h-3.368zM20.359 1.386v6.468h3.368v-6.468h-3.368z"></path> </symbol> <symbol id="icon-play-button" viewBox="0 0 32 32"> <title>play-button</title> <path d="M16 32c-8.837 0-16-7.163-16-16s7.163-16 16-16c8.837 0 16 7.163 16 16s-7.163 16-16 16zM22.88 16l-11.2-7.040v14.080l11.2-7.040z"></path> </symbol> <symbol id="icon-cancel-circle" viewBox="0 0 32 32"> <title>cancel-circle</title> <path d="M16 0c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zM16 29c-7.18 0-13-5.82-13-13s5.82-13 13-13 13 5.82 13 13-5.82 13-13 13z"></path> <path d="M21 8l-5 5-5-5-3 3 5 5-5 5 3 3 5-5 5 5 3-3-5-5 5-5z"></path> </symbol> <symbol id="icon-user" viewBox="0 0 32 32"> <title>user</title> <path d="M18 22.082v-1.649c2.203-1.241 4-4.337 4-7.432 0-4.971 0-9-6-9s-6 4.029-6 9c0 3.096 1.797 6.191 4 7.432v1.649c-6.784 0.555-12 3.888-12 7.918h28c0-4.030-5.216-7.364-12-7.918z"></path> </symbol> </defs> </svg> <svg xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg"> <defs> <symbol id="icon-twitter" viewBox="0 0 512 512"> <title>twitter</title> <path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"></path> </symbol> <symbol id="icon-facebook" viewBox="0 0 16 28"> <title>facebook</title> <path d="M14.984 0.187v4.125h-2.453c-1.922 0-2.281 0.922-2.281 2.25v2.953h4.578l-0.609 4.625h-3.969v11.859h-4.781v-11.859h-3.984v-4.625h3.984v-3.406c0-3.953 2.422-6.109 5.953-6.109 1.687 0 3.141 0.125 3.563 0.187z"></path> </symbol> <symbol id="icon-youtube" viewBox="0 0 28 28"> <title>youtube</title> <path d="M11.109 17.625l7.562-3.906-7.562-3.953v7.859zM14 4.156c5.891 0 9.797 0.281 9.797 0.281 0.547 0.063 1.75 0.063 2.812 1.188 0 0 0.859 0.844 1.109 2.781 0.297 2.266 0.281 4.531 0.281 4.531v2.125s0.016 2.266-0.281 4.531c-0.25 1.922-1.109 2.781-1.109 2.781-1.062 1.109-2.266 1.109-2.812 1.172 0 0-3.906 0.297-9.797 0.297v0c-7.281-0.063-9.516-0.281-9.516-0.281-0.625-0.109-2.031-0.078-3.094-1.188 0 0-0.859-0.859-1.109-2.781-0.297-2.266-0.281-4.531-0.281-4.531v-2.125s-0.016-2.266 0.281-4.531c0.25-1.937 1.109-2.781 1.109-2.781 1.062-1.125 2.266-1.125 2.812-1.188 0 0 3.906-0.281 9.797-0.281v0z"></path> </symbol> <symbol id="icon-instagram" viewBox="0 0 24 28"> <title>instagram</title> <path d="M16 14c0-2.203-1.797-4-4-4s-4 1.797-4 4 1.797 4 4 4 4-1.797 4-4zM18.156 14c0 3.406-2.75 6.156-6.156 6.156s-6.156-2.75-6.156-6.156 2.75-6.156 6.156-6.156 6.156 2.75 6.156 6.156zM19.844 7.594c0 0.797-0.641 1.437-1.437 1.437s-1.437-0.641-1.437-1.437 0.641-1.437 1.437-1.437 1.437 0.641 1.437 1.437zM12 4.156c-1.75 0-5.5-0.141-7.078 0.484-0.547 0.219-0.953 0.484-1.375 0.906s-0.688 0.828-0.906 1.375c-0.625 1.578-0.484 5.328-0.484 7.078s-0.141 5.5 0.484 7.078c0.219 0.547 0.484 0.953 0.906 1.375s0.828 0.688 1.375 0.906c1.578 0.625 5.328 0.484 7.078 0.484s5.5 0.141 7.078-0.484c0.547-0.219 0.953-0.484 1.375-0.906s0.688-0.828 0.906-1.375c0.625-1.578 0.484-5.328 0.484-7.078s0.141-5.5-0.484-7.078c-0.219-0.547-0.484-0.953-0.906-1.375s-0.828-0.688-1.375-0.906c-1.578-0.625-5.328-0.484-7.078-0.484zM24 14c0 1.656 0.016 3.297-0.078 4.953-0.094 1.922-0.531 3.625-1.937 5.031s-3.109 1.844-5.031 1.937c-1.656 0.094-3.297 0.078-4.953 0.078s-3.297 0.016-4.953-0.078c-1.922-0.094-3.625-0.531-5.031-1.937s-1.844-3.109-1.937-5.031c-0.094-1.656-0.078-3.297-0.078-4.953s-0.016-3.297 0.078-4.953c0.094-1.922 0.531-3.625 1.937-5.031s3.109-1.844 5.031-1.937c1.656-0.094 3.297-0.078 4.953-0.078s3.297-0.016 4.953 0.078c1.922 0.094 3.625 0.531 5.031 1.937s1.844 3.109 1.937 5.031c0.094 1.656 0.078 3.297 0.078 4.953z"></path> </symbol> <symbol id="icon-email" viewBox="0 0 28 28"> <title>email</title> <path d="M28 11.094v12.406c0 1.375-1.125 2.5-2.5 2.5h-23c-1.375 0-2.5-1.125-2.5-2.5v-12.406c0.469 0.516 1 0.969 1.578 1.359 2.594 1.766 5.219 3.531 7.766 5.391 1.313 0.969 2.938 2.156 4.641 2.156h0.031c1.703 0 3.328-1.188 4.641-2.156 2.547-1.844 5.172-3.625 7.781-5.391 0.562-0.391 1.094-0.844 1.563-1.359zM28 6.5c0 1.75-1.297 3.328-2.672 4.281-2.438 1.687-4.891 3.375-7.313 5.078-1.016 0.703-2.734 2.141-4 2.141h-0.031c-1.266 0-2.984-1.437-4-2.141-2.422-1.703-4.875-3.391-7.297-5.078-1.109-0.75-2.688-2.516-2.688-3.938 0-1.531 0.828-2.844 2.5-2.844h23c1.359 0 2.5 1.125 2.5 2.5z"></path> </symbol> <symbol id="icon-linkedin" viewBox="0 0 382 382"> <title>linkedin</title> <path d="M347.445 0H34.555C15.471 0 0 15.471 0 34.555v312.889C0 366.529 15.471 382 34.555 382h312.889C366.529 382 382 366.529 382 347.444V34.555C382 15.471 366.529 0 347.445 0zM118.207 329.844c0 5.554-4.502 10.056-10.056 10.056H65.345c-5.554 0-10.056-4.502-10.056-10.056V150.403c0-5.554 4.502-10.056 10.056-10.056h42.806c5.554 0 10.056 4.502 10.056 10.056v179.441zM86.748 123.432c-22.459 0-40.666-18.207-40.666-40.666S64.289 42.1 86.748 42.1s40.666 18.207 40.666 40.666-18.206 40.666-40.666 40.666zM341.91 330.654a9.247 9.247 0 01-9.246 9.246H286.73a9.247 9.247 0 01-9.246-9.246v-84.168c0-12.556 3.683-55.021-32.813-55.021-28.309 0-34.051 29.066-35.204 42.11v97.079a9.246 9.246 0 01-9.246 9.246h-44.426a9.247 9.247 0 01-9.246-9.246V149.593a9.247 9.247 0 019.246-9.246h44.426a9.247 9.247 0 019.246 9.246v15.655c10.497-15.753 26.097-27.912 59.312-27.912 73.552 0 73.131 68.716 73.131 106.472v86.846z" fill="#0077b7"/> </symbol> </defs> </svg> <div id="secondary-menu" class="navbar-collapse navbar__off-canvas"><ul id="menu-hamburger-menu" class="navbar__menu"><li id="menu-item-2106" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2106 nav-item dropdown"><a href="https://krdo.com/news/">News</a><button class="dropdown__submenu-toggle btn btn--default" data-toggle="off-canvas-submenu-dropdown" role="button" aria-haspopup="true" aria-expanded="true"><svg class="icon icon-chevron-up"><use xlink:href="#icon-chevron-up"></use></svg></button> <ul role="menu" class="dropdown__menu "> <li id="menu-item-9488" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-9488 nav-item"><a href="https://krdo.com/category/news/colorado-springs/">Colorado Springs News</a></li> <li id="menu-item-9491" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-9491 nav-item"><a href="https://krdo.com/category/news/pueblo/">Pueblo News</a></li> <li id="menu-item-20256" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20256 nav-item"><a href="https://krdo.com/absolutely-colorado/">Absolutely Colorado</a></li> <li id="menu-item-1304592" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1304592 nav-item"><a href="https://krdo.com/13-investigates/">13 Investigates</a></li> <li id="menu-item-755326" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-755326 nav-item"><a href="https://krdo.com/category/news/crime/on-the-lookout/">On the Lookout</a></li> <li id="menu-item-1497886" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1497886 nav-item"><a href="https://krdo.com/high-country-adventures/">High Country Adventures</a></li> <li id="menu-item-1535246" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1535246 nav-item"><a href="https://krdo.com/digital-exclusives/">Digital Exclusives</a></li> <li id="menu-item-9492" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-9492 nav-item"><a href="https://krdo.com/category/news/state-regional-news/">Colorado</a></li> <li id="menu-item-570785" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-570785 nav-item"><a href="https://krdo.com/news/crime/">Crime</a></li> <li id="menu-item-9489" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-9489 nav-item"><a href="https://krdo.com/category/news/military/">Military</a></li> <li id="menu-item-1113298" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1113298 nav-item"><a href="https://krdo.com/news/national-world/">US/World</a></li> <li id="menu-item-60462" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-60462 nav-item"><a href="https://krdo.com/category/politics/">Politics</a></li> </ul> </li> <li id="menu-item-1304591" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1304591 nav-item dropdown"><a href="https://krdo.com/13-investigates/">13 Investigates</a><button class="dropdown__submenu-toggle btn btn--default" data-toggle="off-canvas-submenu-dropdown" role="button" aria-haspopup="true" aria-expanded="true"><svg class="icon icon-chevron-up"><use xlink:href="#icon-chevron-up"></use></svg></button> <ul role="menu" class="dropdown__menu "> <li id="menu-item-1502105" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1502105 nav-item"><a href="https://krdo.com/restaurant-roundup/">Restaurant Roundup</a></li> <li id="menu-item-1200653" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1200653 nav-item"><a href="https://krdo.com/body-of-lies-2/">Body of Lies</a></li> <li id="menu-item-1083941" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1083941 nav-item"><a href="https://krdo.com/category/news/13-investigations/back-to-nature-funeral-home-investigation/">Funeral Home Investigation</a></li> <li id="menu-item-1191876" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1191876 nav-item"><a href="https://krdo.com/identity-crisis-olympic-city-usa/">Identity Crisis: Olympic City USA</a></li> <li id="menu-item-1112570" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1112570 nav-item"><a href="https://krdo.com/club-q-one-year-later/">Club Q: One Year Later</a></li> <li id="menu-item-805774" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-805774 nav-item"><a href="https://krdo.com/illicit-spas-2/">Illicit Spas: Hiding In Plain Sight</a></li> <li id="menu-item-977705" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-977705 nav-item"><a href="https://krdo.com/black-forest-fire-special/">Black Forest Fire: 10 Years Later</a></li> <li id="menu-item-798573" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-798573 nav-item"><a href="https://krdo.com/waldos-inferno-10-years-later/">Waldo’s Inferno: 10 Years Later</a></li> </ul> </li> <li id="menu-item-1454877" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1454877 nav-item"><a href="https://krdo.com/whats-up-in-the-719/">What’s Up In The 719!</a></li> <li id="menu-item-755327" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-755327 nav-item"><a href="https://krdo.com/category/news/school-buzz/">School Buzz</a></li> <li id="menu-item-2105" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2105 nav-item dropdown"><a href="https://krdo.com/weather/">Weather</a><button class="dropdown__submenu-toggle btn btn--default" data-toggle="off-canvas-submenu-dropdown" role="button" aria-haspopup="true" aria-expanded="true"><svg class="icon icon-chevron-up"><use xlink:href="#icon-chevron-up"></use></svg></button> <ul role="menu" class="dropdown__menu "> <li id="menu-item-14185" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14185 nav-item"><a href="https://krdo.com/closures-delays/">Closures & Delays</a></li> <li id="menu-item-10321" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10321 nav-item"><a href="https://krdo.com/weather/weather-maps-and-forecasts/">Weather Maps and Forecasts</a></li> <li id="menu-item-1412896" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1412896 nav-item"><a href="https://krdo.com/weather-visits/">School Visits with Chevy</a></li> <li id="menu-item-14164" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14164 nav-item"><a href="https://krdo.com/weather/live-hd-doppler/">Live HD Doppler</a></li> <li id="menu-item-10323" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10323 nav-item"><a href="https://krdo.com/weather/neighborhood-weather-network/">Neighborhood Weather Network</a></li> <li id="menu-item-10322" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10322 nav-item"><a href="https://krdo.com/weather/viaero-wireless-network-cameras/">Viaero Wireless Network Cameras</a></li> <li id="menu-item-13772" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-13772 nav-item"><a href="https://krdo.com/category/video/weather-video/">Weather Video</a></li> <li id="menu-item-369166" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-369166 nav-item"><a href="https://krdo.com/weather/ski-report/">Ski Report</a></li> <li id="menu-item-13773" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-13773 nav-item"><a href="https://krdo.com/category/weather/photo-galleries/">Weather Photo Galleries</a></li> </ul> </li> <li id="menu-item-12830" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-12830 nav-item dropdown"><a href="https://krdo.com/sports/">Sports</a><button class="dropdown__submenu-toggle btn btn--default" data-toggle="off-canvas-submenu-dropdown" role="button" aria-haspopup="true" aria-expanded="true"><svg class="icon icon-chevron-up"><use xlink:href="#icon-chevron-up"></use></svg></button> <ul role="menu" class="dropdown__menu "> <li id="menu-item-13852" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13852 nav-item"><a href="https://krdo.com/friday-night-blitz/">Friday Night Blitz</a></li> </ul> </li> <li id="menu-item-13315" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-13315 nav-item dropdown"><a href="https://krdo.com/videos-and-galleries/">Livestreams</a><button class="dropdown__submenu-toggle btn btn--default" data-toggle="off-canvas-submenu-dropdown" role="button" aria-haspopup="true" aria-expanded="true"><svg class="icon icon-chevron-up"><use xlink:href="#icon-chevron-up"></use></svg></button> <ul role="menu" class="dropdown__menu "> <li id="menu-item-14168" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14168 nav-item"><a href="https://krdo.com/livestream/">Live Newscasts</a></li> <li id="menu-item-14167" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14167 nav-item"><a href="https://krdo.com/event-livestreams/">Livestream Special Coverage</a></li> </ul> </li> <li id="menu-item-1308464" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1308464 nav-item dropdown"><a href="https://krdo.com/noticias-krdo13/">Telemundo Sur Colorado</a><button class="dropdown__submenu-toggle btn btn--default" data-toggle="off-canvas-submenu-dropdown" role="button" aria-haspopup="true" aria-expanded="true"><svg class="icon icon-chevron-up"><use xlink:href="#icon-chevron-up"></use></svg></button> <ul role="menu" class="dropdown__menu "> <li id="menu-item-1308463" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1308463 nav-item"><a href="https://krdo.com/telemundo-3/">Telemundo</a></li> <li id="menu-item-13660" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13660 nav-item"><a href="https://krdo.com/telemundo-programacion/">Telemundo Programacion</a></li> <li id="menu-item-1433853" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1433853 nav-item"><a href="https://krdo.com/tu-salud/">Tu Salud</a></li> <li id="menu-item-1631857" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1631857 nav-item"><a href="https://krdo.com/reporte-un-problema-con-telemundo/">Reporte un problema con Telemundo</a></li> </ul> </li> <li id="menu-item-2102" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2102 nav-item dropdown"><a href="https://krdo.com/radio/">Radio</a><button class="dropdown__submenu-toggle btn btn--default" data-toggle="off-canvas-submenu-dropdown" role="button" aria-haspopup="true" aria-expanded="true"><svg class="icon icon-chevron-up"><use xlink:href="#icon-chevron-up"></use></svg></button> <ul role="menu" class="dropdown__menu "> <li id="menu-item-13317" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13317 nav-item"><a href="https://krdo.com/radio/traffic/">KRDO NewsRadio Traffic</a></li> <li id="menu-item-346684" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-346684 nav-item"><a href="https://krdo.com/weather/weather-maps-and-forecasts/">Weather Maps and Forecasts</a></li> <li id="menu-item-12088" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-12088 nav-item"><a href="http://radio.securenetsystems.net/v5/KRDO">Listen Live</a></li> <li id="menu-item-13320" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13320 nav-item"><a href="https://krdo.com/radio/program-guide/">Radio Program Guide</a></li> <li id="menu-item-12087" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-12087 nav-item"><a href="https://krdonewsradio.podbean.com">Podcasts</a></li> <li id="menu-item-19087" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19087 nav-item"><a href="https://krdo.com/radio-contests/">Radio Contests</a></li> <li id="menu-item-181599" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-181599 nav-item"><a href="https://krdo.com/colorado-living/pets/pet-of-the-week/">Pet of the Week</a></li> </ul> </li> <li id="menu-item-1179808" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1179808 nav-item"><a href="https://krdo.com/road-warrior/">Road Warrior</a></li> <li id="menu-item-1319855" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1319855 nav-item"><a href="https://promodeals.app/HwEyR7OV4J/">Patriot Perks</a></li> <li id="menu-item-2104" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2104 nav-item dropdown"><a href="https://krdo.com/traffic/">Traffic</a><button class="dropdown__submenu-toggle btn btn--default" data-toggle="off-canvas-submenu-dropdown" role="button" aria-haspopup="true" aria-expanded="true"><svg class="icon icon-chevron-up"><use xlink:href="#icon-chevron-up"></use></svg></button> <ul role="menu" class="dropdown__menu "> <li id="menu-item-1206737" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1206737 nav-item"><a href="https://krdo.com/traffic/">Traffic Tracker</a></li> <li id="menu-item-13696" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13696 nav-item"><a href="https://krdo.com/gas-prices/">Gas Tracker</a></li> </ul> </li> <li id="menu-item-13912" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-13912 nav-item dropdown"><a href="https://krdo.com/health/">Health</a><button class="dropdown__submenu-toggle btn btn--default" data-toggle="off-canvas-submenu-dropdown" role="button" aria-haspopup="true" aria-expanded="true"><svg class="icon icon-chevron-up"><use xlink:href="#icon-chevron-up"></use></svg></button> <ul role="menu" class="dropdown__menu "> <li id="menu-item-1164805" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1164805 nav-item"><a href="https://krdo.com/health2/">Healthy Colorado</a></li> <li id="menu-item-1068689" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1068689 nav-item"><a href="https://krdo.com/breast-cancer-awareness/">Breast Cancer Awareness</a></li> </ul> </li> <li id="menu-item-2101" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2101 nav-item dropdown"><a href="https://krdo.com/colorado-living/">Colorado Living</a><button class="dropdown__submenu-toggle btn btn--default" data-toggle="off-canvas-submenu-dropdown" role="button" aria-haspopup="true" aria-expanded="true"><svg class="icon icon-chevron-up"><use xlink:href="#icon-chevron-up"></use></svg></button> <ul role="menu" class="dropdown__menu "> <li id="menu-item-1173060" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1173060 nav-item"><a href="https://krdo.com/cooking-tips/">Cooking Tips</a></li> <li id="menu-item-850731" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-850731 nav-item"><a href="https://krdo.com/colorado-living/veterans/">Next Chapter</a></li> <li id="menu-item-1004715" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1004715 nav-item"><a href="https://krdo.com/colorado-living/military-family/">The Military Family</a></li> <li id="menu-item-594429" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-594429 nav-item"><a href="https://events.krdo.com">Events</a></li> <li id="menu-item-1041193" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1041193 nav-item"><a href="https://krdo.com/calendar/#!/">Calendar</a></li> <li id="menu-item-924129" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-924129 nav-item"><a href="https://krdo.com/your-house-home/">Your House & Home</a></li> <li id="menu-item-894325" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-894325 nav-item"><a href="https://krdo.com/weather/ski-report/">Ski Report</a></li> <li id="menu-item-315200" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-315200 nav-item"><a href="https://jobs.krdo.com">Southern Colorado Jobs</a></li> <li id="menu-item-634429" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-634429 nav-item"><a href="https://krdo.com/colorado-living/red-friday/">Wear Red Friday’s</a></li> </ul> </li> <li id="menu-item-2099" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2099 nav-item dropdown"><a href="https://krdo.com/contests/">Contests</a><button class="dropdown__submenu-toggle btn btn--default" data-toggle="off-canvas-submenu-dropdown" role="button" aria-haspopup="true" aria-expanded="true"><svg class="icon icon-chevron-up"><use xlink:href="#icon-chevron-up"></use></svg></button> <ul role="menu" class="dropdown__menu "> <li id="menu-item-12215" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12215 nav-item"><a href="https://krdo.com/contests/">Broadcast Contests</a></li> <li id="menu-item-19097" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19097 nav-item"><a href="https://krdo.com/radio-contests/">Radio Contests</a></li> <li id="menu-item-12095" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-12095 nav-item"><a href="https://krdo.com/category/entertainment/">Entertainment</a></li> </ul> </li> <li id="menu-item-1080158" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1080158 nav-item"><a href="https://krdo.com/share/">Share</a></li> <li id="menu-item-12202" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-12202 nav-item dropdown"><a href="https://krdo.com/about-us/">About Us</a><button class="dropdown__submenu-toggle btn btn--default" data-toggle="off-canvas-submenu-dropdown" role="button" aria-haspopup="true" aria-expanded="true"><svg class="icon icon-chevron-up"><use xlink:href="#icon-chevron-up"></use></svg></button> <ul role="menu" class="dropdown__menu "> <li id="menu-item-12203" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12203 nav-item"><a href="https://krdo.com/about-us/advertise-with-us/">Advertise with Us</a></li> <li id="menu-item-13444" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13444 nav-item"><a href="https://krdo.com/about-us/contact-krdo/">Contact KRDO</a></li> <li id="menu-item-13929" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13929 nav-item"><a href="https://krdo.com/meet-the-team/">Meet the Team</a></li> <li id="menu-item-13541" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13541 nav-item"><a href="https://myjobs.adp.com/npgexternalcareers/cx/job-listing?FIELD2=Colorado%20Springs">Careers</a></li> <li id="menu-item-13539" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13539 nav-item"><a href="https://krdo.com/about-us/closed-captioning/">Closed Captioning</a></li> <li id="menu-item-13538" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13538 nav-item"><a href="https://krdo.com/about-us/download-our-apps/">Download our Apps</a></li> <li id="menu-item-13540" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13540 nav-item"><a target="_blank" href="https://krdo.b-cdn.net/2024/11/KRDO-EEO-Public-File-Report-12.1.23-11.30.24-4895-2829-4207.pdf">EEO Public Filing</a></li> <li id="menu-item-13537" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13537 nav-item"><a href="https://krdo.com/about-us/fcc-public-file/">FCC Public File</a></li> <li id="menu-item-12212" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12212 nav-item"><a href="https://krdo.com/newsletters-alerts/">Newsletters/Alerts</a></li> <li id="menu-item-13588" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13588 nav-item"><a href="https://krdo.com/radio/program-guide/">Radio Program Guide</a></li> <li id="menu-item-12211" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12211 nav-item"><a href="https://krdo.com/tv-listings/">TV Listings</a></li> </ul> </li> </ul></div> <a href="#primary" class="screen-reader-text">Skip to Content</a> <header id="masthead" class="header header--default" role="banner"> <div class="header__wrapper"> <div class="container"> <nav class="navbar navbar--with-current-conditions"> <div class="navbar__wrapper"> <button class="navbar__toggle off-canvas-toggle hamburger hamburger--slider" type="button" aria-label="Secondary Menu" aria-controls="navigation" data-toggle="off-canvas-menu"> <span class="hamburger-box"> <span class="hamburger-inner"></span> </span> </button> <a class="navbar__brand" href="https://krdo.com/" title="KRDO"> <img src="https://krdo.com/wp-content/uploads/2020/05/krdo_logo_100px_width.png" alt="KRDO" width="100" height="42" class="navbar__logo"> </a><img src="https://krdo.b-cdn.net/2023/10/krdo_site_default-1.jpg" width="1" height="1" style="width:1px; height:1px"/> <button class="navbar__toggle hamburger hamburger--slider" type="button" aria-label="Menu" aria-controls="navigation" data-toggle="mobile-menu"> <span class="hamburger-box"> <span class="hamburger-inner"></span> </span> </button> <div id="primary-menu" class="navbar__menu-wrapper"><ul id="menu-main-menu" class="navbar__menu navbar__menu--has-search"><li id="menu-item-41" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-41 nav-item"><a href="https://krdo.com/news/">News</a></li> <li id="menu-item-40" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-40 nav-item"><a href="https://krdo.com/weather/">Weather</a></li> <li id="menu-item-1462869" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1462869 nav-item"><a href="https://krdo.com/sports/">Sports</a></li> <li id="menu-item-1186307" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1186307 nav-item"><a href="https://krdo.com/road-warrior/">Road Warrior</a></li> <li id="menu-item-1477406" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1477406 nav-item"><a href="https://krdo.com/health/">Health</a></li> <li id="menu-item-1042487" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1042487 nav-item"><a href="https://krdo.com/radio/">Radio</a></li> <li id="menu-item-1301254" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1301254 nav-item"><a href="https://krdo.com/noticias-krdo13/">Telemundo</a></li> <li id="menu-item-762279" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-762279 nav-item"><a href="https://krdo.com/contests/">Contests</a></li> <li id="menu-item-33" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-33 nav-item"><a href="https://krdo.com/share/">Share</a></li> </ul></div> <div class="current-conditions current-conditions--header"> <div class="current-conditions__slides"> <a href="http://krdo.com/weather" target="_blank" class="current-conditions__location"> <div class="current-conditions__content" data-slide-number="0" data-location-id="kcos"> <div class="current-conditions__condition"> <div class="current-conditions__condition-icon"> <img src="https://krdo.com/wp-content/themes/storymate-npg/assets/images/weather-icons/0021_thunderstorms_day.png" alt="thunderstorms"> </div> </div> <div class="current-conditions__title" style="color:#212121"> Colorado Springs </div> <div class="current-conditions__temperature" style="color:#212121"> 75° </div> </div> </a> </div> </div> <div class="menu-user-search-wrapper"> <div class="menu-search"> <a href="#" id="search-btn" class="search__button"><svg class="icon icon-search"><use xlink:href="#icon-search"></use></svg><svg class="icon icon-x"><use xlink:href="#icon-x"></use></svg></a> </div> </div> </div> </nav> </div> <div class="header__search" id="search-form"> <div class="container"> <script async src="https://cse.google.com/cse.js?cx=009724153284045582420:zv7a08cu6ag"> </script> <div class="gcse-searchbox-only"></div> </div> </div> </div> </header><!-- .header --> <div class="container"><div class="row"><div id="primary" class="primary col"><div id="story-layouts-0" class="panel-group story-layouts"><style type="text/css">.story-layouts .col-card .story__content { background-color: #333333; } #story-layouts-0 .col-card .story__content h1, #story-layouts-0 .col-card .story__content h2, #story-layouts-0 .col-card .story__content h3, #story-layouts-0 .col-card .story__content h4, #story-layouts-0 .col-card .story__content h5, #story-layouts-0 .col-card .story__content h6, #story-layouts-0 .col-card .story__content p, #story-layouts-0 .col-card .story__content a, #story-layouts-0 .col-card .story__content span { color: #FFFFFF; }</style><style type="text/css">#story-layouts-0 .container { padding: 0; }</style> <div class="container"> <div class="panel"> <div class="panel__body"> <div class="stories stories--grid stories--featured-full-rows"> <div class="row"> <div class="col-lg-12"> <div class="row"> <div class="col-12 col-card"> <article class="story story--lg story--featured-full-rows"> <a href="https://krdo.com/news/2025/08/02/paddleboarder-dog-found-dead-after-wind-storm-at-eleven-mile-reservoir/" class="story__thumb-link"> <div class="story__thumb"> <img width="860" height="484" src="https://krdo.b-cdn.net/2025/08/canva-860x484.png" class="attachment-story--lg size-story--lg wp-post-image" alt="stock paddle board photo" decoding="async" fetchpriority="high" srcset="https://krdo.b-cdn.net/2025/08/canva-1536x864.png 1536w, https://krdo.b-cdn.net/2025/08/canva-860x484.png 860w, https://krdo.b-cdn.net/2025/08/canva-1440x810.png 1440w, https://krdo.b-cdn.net/2025/08/canva.png 1920w" sizes="(max-width: 860px) 100vw, 860px" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/02/paddleboarder-dog-found-dead-after-wind-storm-at-eleven-mile-reservoir/" rel="bookmark"> Paddleboarder & dog found dead after wind storm at Eleven Mile Reservoir </a> </h3> </header> <div class="story__excerpt"> <p>LAKE GEORGE, Colo. (KRDO) – Colorado Parks and Wildlife recovered a man and dog from Eleven Mile State Park late Friday evening. CPW says three people and a dog were paddleboarding when a fierce wind storm rolled through the park, blowing the group into the water around 1:00 p.m. Friday. One person…</p> </div> <div class="story__meta meta"> <span class="story__meta-date"> <time datetime="2025-08-02" class="meta__date"> <a href="https://krdo.com/2025/08/"> August 2, 2025 </a> </time> </span> <span class="story__meta-time"> 9:45 AM </span> </div> </div> </article> </div> </div> <div class="row"> <div class="col-md-6 col-row"> <article class="story story--sm story--featured-full-rows"> <a href="https://krdo.com/news/2025/08/02/man-arrested-after-firing-shots-near-downtown-colorado-springs/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/03/071823-Police-Lights-web-1-375x225.webp" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/02/man-arrested-after-firing-shots-near-downtown-colorado-springs/" rel="bookmark"> Man arrested after firing shots near Downtown Colorado Springs </a> </h3> </header> <div class="story__excerpt"> <p>COLORADO SPRINGS, Colo. (KRDO) – A man has been…</p> </div> <div class="story__meta meta"> <span class="story__meta-date"> <time datetime="2025-08-02" class="meta__date"> <a href="https://krdo.com/2025/08/"> August 2, 2025 </a> </time> </span> <span class="story__meta-time"> 4:52 AM </span> </div> </div> </article> </div><div class="col-md-6 col-row"> <article class="story story--sm story--featured-full-rows"> <a href="https://krdo.com/news/2025/08/01/das-office-declines-to-press-charges-after-reviewing-october-8-police-officer-shooting/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/OCT-OIS-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/01/das-office-declines-to-press-charges-after-reviewing-october-8-police-officer-shooting/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>DA’s Office declines to press charges after reviewing October 8 police officer shooting </a> </h3> </header> <div class="story__excerpt"> <p>COLORADO SPRINGS, Colo. (KRDO) – On October 8,…</p> </div> <div class="story__meta meta"> <span class="story__meta-date"> <time datetime="2025-08-01" class="meta__date"> <a href="https://krdo.com/2025/08/"> August 1, 2025 </a> </time> </span> <span class="story__meta-time"> 11:33 PM </span> </div> </div> </article> </div><div class="col-md-6 col-row"> <article class="story story--sm story--featured-full-rows"> <a href="https://krdo.com/news/2025/08/01/man-found-incompetent-after-admitting-to-dragging-woman-to-her-death-set-to-be-released-from-jail/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/Untitled-design-17-375x225.webp" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/01/man-found-incompetent-after-admitting-to-dragging-woman-to-her-death-set-to-be-released-from-jail/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>Man, found incompetent after admitting to dragging woman to her death, released from jail </a> </h3> </header> <div class="story__excerpt"> <p>Editor’s note: This article contains an emotional…</p> </div> <div class="story__meta meta"> <span class="story__meta-date"> <time datetime="2025-08-01" class="meta__date"> <a href="https://krdo.com/2025/08/"> August 1, 2025 </a> </time> </span> <span class="story__meta-time"> 6:07 PM </span> </div> </div> </article> </div><div class="col-md-6 col-row"> <article class="story story--sm story--featured-full-rows"> <a href="https://krdo.com/news/2025/08/01/colorados-988-line-is-seeing-an-increase-in-men/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/Colorados-988-line-is-seeing-an-increase-in-men-seeking-mental-health-help-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/01/colorados-988-line-is-seeing-an-increase-in-men/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>Large number of Spanish-speaking men look to Colorado’s 988 mental health line for support </a> </h3> </header> <div class="story__excerpt"> <p>COLORADO SPRINGS, Colo. (KRDO)- According to a…</p> </div> <div class="story__meta meta"> <span class="story__meta-date"> <time datetime="2025-08-01" class="meta__date"> <a href="https://krdo.com/2025/08/"> August 1, 2025 </a> </time> </span> <span class="story__meta-time"> 5:08 PM </span> </div> </div> </article> </div> </div> </div> </div> </div> </div> </div> </div> </div><div id="content-block-1" class="panel-group content-block"><style type="text/css">#content-block-1 .container { padding: 0; }</style> <div class="container"> <div class="panel"> <div class="panel__body entry__content"> <div class='code-block code-block-2' style='margin: 8px 0;clear: both'> <div class='htlad-leaderboard_2' data-unit='krdo/news/news-radio'></div></div> </div> </div> </div> </div><div id="story-tiles-2" class="panel-group story-tiles panel-group--bg"><style type="text/css">#story-tiles-2 { background-color: #5171e2; }#story-tiles-2, #story-tiles-2 h1, #story-tiles-2 h2, #story-tiles-2 h3, #story-tiles-2 h4, #story-tiles-2 h5, #story-tiles-2 h6, #story-tiles-2 h1 a, #story-tiles-2 h2 a, #story-tiles-2 h3 a, #story-tiles-2 h4 a, #story-tiles-2 h5 a, #story-tiles-2 h6 a, #story-tiles-2 p { color: #000000; }</style> <div class="container"> <div class="panel"> <div class="panel__heading" role="tab"><h2 class="panel__title hdg hdg--4 text--uppercase">Explore KRDO NewsRadio</h2></div> <div class="panel__body"> <div class="row"> <div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/radioexplore/2023/04/01/krdo-newsradio-listener-feedback/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2023/04/Listener-Feedback-v2-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/radioexplore/2023/04/01/krdo-newsradio-listener-feedback/" rel="bookmark"> KRDO NewsRadio Listener Feedback </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/radioexplore/2021/11/11/colorado-college-hockey-schedule-livecasts/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2021/11/CCTigerHockeyrev-375x225.png" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/radioexplore/2021/11/11/colorado-college-hockey-schedule-livecasts/" rel="bookmark"> Colorado College Hockey Schedule & Livecasts </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/radioexplore/2021/08/10/listen-live/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2021/08/RuaS4EmO-Listen-Live-ws-375x225.png" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/radioexplore/2021/08/10/listen-live/" rel="bookmark"> Listen Live </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/about-us/download-our-apps/" class="story__thumb-link"> <div class="story__thumb"> <img src="https://krdo.b-cdn.net/2021/06/49643-news-app-button_B-375x225.jpg" alt="49643 - news-app-button_B" width="1024" height="576"> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/about-us/download-our-apps/" class="story__thumb-link"> Download Our Apps </a> </h3> </header> </div> </article> </div> </div> </div> </div> </div> </div><div id="content-block-3" class="panel-group content-block"><style type="text/css">#content-block-3 .container { padding: 0; }</style> <div class="container"> <div class="panel"> <div class="panel__body entry__content"> <div class='code-block code-block-3' style='margin: 8px 0;clear: both'> <div class='htlad-leaderboard_3' data-unit='krdo/news/news-radio'></div></div> </div> </div> </div> </div><div id="story-tiles-4" class="panel-group story-tiles"><style type="text/css">#story-tiles-4 .container { padding: 0; }</style> <div class="container"> <div class="panel"> <div class="panel__heading" role="tab"><h2 class="panel__title hdg hdg--4 text--uppercase">Local News</h2></div> <div class="panel__body"> <div class="row"> <div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/02/man-arrested-after-firing-shots-near-downtown-colorado-springs/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/03/071823-Police-Lights-web-1-375x225.webp" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/02/man-arrested-after-firing-shots-near-downtown-colorado-springs/" rel="bookmark"> Man arrested after firing shots near Downtown Colorado Springs </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/01/colorado-springs-switchbacks-matt-mahoney-2/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/Screen-Shot-2025-08-01-at-10.41.46-PM-375x225.png" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/01/colorado-springs-switchbacks-matt-mahoney-2/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>The Colorado Springs Switchbacks pick up a win against Lexington SC </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/01/man-found-incompetent-after-admitting-to-dragging-woman-to-her-death-set-to-be-released-from-jail/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/Untitled-design-17-375x225.webp" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/01/man-found-incompetent-after-admitting-to-dragging-woman-to-her-death-set-to-be-released-from-jail/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>Man, found incompetent after admitting to dragging woman to her death, released from jail </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/01/video-of-bears-at-garden-of-the-gods-goes-viral-cpw-warns-against-close-encounter/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/Untitled-design-2025-08-01T161103.108-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/01/video-of-bears-at-garden-of-the-gods-goes-viral-cpw-warns-against-close-encounter/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>Woman who posted viral Garden of the Gods video receives online hate, CPW squashes it </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/01/colorado-parks-and-wildlife-to-host-open-input-meeting-in-pueblo-about-deer-management-plans/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/Untitled-design-2025-08-01T112227.493-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/01/colorado-parks-and-wildlife-to-host-open-input-meeting-in-pueblo-about-deer-management-plans/" rel="bookmark"> Colorado Parks and Wildlife to host open input meeting in Pueblo about deer management plans </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/07/31/moldy-foods-and-lack-of-handwashing-contribute-to-failed-health-inspection/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/07/3-Margs-medium-ext-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/07/31/moldy-foods-and-lack-of-handwashing-contribute-to-failed-health-inspection/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>Moldy foods and lack of handwashing contribute to failed health inspection </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/07/31/the-grand-re-opening-of-the-slab-courts-hopes-to-bring-positivity-to-local-youth/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/07/Untitled-1280-x-720-px-1-375x225.png" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/07/31/the-grand-re-opening-of-the-slab-courts-hopes-to-bring-positivity-to-local-youth/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>The grand re-opening of the Slab courts hopes to bring positivity to local youth </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/top-stories/2025/07/31/disappearing-sidewalk-brings-longtime-frustration-to-neighborhood-just-northwest-of-downtown-colorado-springs/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/07/Screen-Shot-2025-07-31-at-5.50.46-AM-375x225.png" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/top-stories/2025/07/31/disappearing-sidewalk-brings-longtime-frustration-to-neighborhood-just-northwest-of-downtown-colorado-springs/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>Disappearing sidewalk brings longtime frustration to neighborhood just northwest of downtown Colorado Springs </a> </h3> </header> </div> </article> </div> </div> </div> </div> </div> </div><div id="content-block-5" class="panel-group content-block"><style type="text/css">#content-block-5 .container { padding: 0; }</style> <div class="container"> <div class="panel"> <div class="panel__body entry__content"> <div class='code-block code-block-6' style='margin: 8px 0;clear: both'> <div class='htlad-leaderboard_4' data-unit='krdo/news/news-radio'></div></div> </div> </div> </div> </div><div id="story-tiles-6" class="panel-group story-tiles"><style type="text/css">#story-tiles-6 .container { padding: 0; }</style> <div class="container"> <div class="panel"> <div class="panel__heading" role="tab"><h2 class="panel__title hdg hdg--4 text--uppercase">Colorado News</h2></div> <div class="panel__body"> <div class="row"> <div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/01/colorado-man-arrested-on-suspicion-of-pointing-lasers-at-multiple-airplanes-possession-of-meth/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/Untitled-design-2025-08-01T133001.712-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/01/colorado-man-arrested-on-suspicion-of-pointing-lasers-at-multiple-airplanes-possession-of-meth/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>Colorado man arrested on suspicion of pointing lasers at multiple airplanes, possession of meth </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/top-stories/2025/08/01/road-behind-falcon-walmart-shopping-area-to-close-monday-for-two-week-paving-project/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/Screen-Shot-2025-08-01-at-5.51.26-AM-375x225.png" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/top-stories/2025/08/01/road-behind-falcon-walmart-shopping-area-to-close-monday-for-two-week-paving-project/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>Road behind Falcon Walmart shopping area to close Monday for two-week paving project </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/01/colorado-celebrates-149th-birthday-with-free-state-park-admission-on-monday/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/Untitled-design-2025-08-01T115240.671-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/01/colorado-celebrates-149th-birthday-with-free-state-park-admission-on-monday/" rel="bookmark"> Colorado celebrates 149th birthday with free state park admission on Monday </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/01/colorado-parks-and-wildlife-to-host-open-input-meeting-in-pueblo-about-deer-management-plans/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/Untitled-design-2025-08-01T112227.493-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/01/colorado-parks-and-wildlife-to-host-open-input-meeting-in-pueblo-about-deer-management-plans/" rel="bookmark"> Colorado Parks and Wildlife to host open input meeting in Pueblo about deer management plans </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/top-stories/2025/07/31/disappearing-sidewalk-brings-longtime-frustration-to-neighborhood-just-northwest-of-downtown-colorado-springs/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/07/Screen-Shot-2025-07-31-at-5.50.46-AM-375x225.png" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/top-stories/2025/07/31/disappearing-sidewalk-brings-longtime-frustration-to-neighborhood-just-northwest-of-downtown-colorado-springs/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>Disappearing sidewalk brings longtime frustration to neighborhood just northwest of downtown Colorado Springs </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/07/31/childrens-hospital-partners-with-denver-broncos-foundation-to-research-female-flag-football/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/07/Untitled-design-2025-07-31T120027.929-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/07/31/childrens-hospital-partners-with-denver-broncos-foundation-to-research-female-flag-football/" rel="bookmark"> Children’s Hospital partners with Denver Broncos Foundation to research female flag football </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/top-stories/2025/07/30/cdot-to-reduce-speed-limit-on-mesa-ridge-parkway-highway-16-in-fountain-starting-monday/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/07/Screen-Shot-2025-07-30-at-5.49.38-AM-375x225.png" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/top-stories/2025/07/30/cdot-to-reduce-speed-limit-on-mesa-ridge-parkway-highway-16-in-fountain-starting-monday/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>CDOT to reduce speed limit on Mesa Ridge Parkway (Highway 16) in Fountain starting Monday </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/07/30/jury-finds-colorado-dentist-guilty-of-murdering-his-wife/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/07/MGN_1280x720_30323P00-AIAGB-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/07/30/jury-finds-colorado-dentist-guilty-of-murdering-his-wife/" rel="bookmark"> <svg class="icon icon-play-button"><use xlink:href="#icon-play-button"></use></svg>Jury finds Colorado dentist guilty of murdering his wife </a> </h3> </header> </div> </article> </div> </div> </div> </div> </div> </div><div id="content-block-7" class="panel-group content-block"><style type="text/css">#content-block-7 .container { padding: 0; }</style> <div class="container"> <div class="panel"> <div class="panel__body entry__content"> <div class='code-block code-block-7' style='margin: 8px 0;clear: both'> <div class='htlad-leaderboard_5' data-unit='krdo/news/news-radio'></div></div> </div> </div> </div> </div><div id="story-columns-8" class="panel-group story-columns"><style type="text/css">#story-columns-8 .container { padding: 0; }</style> <div class="container"> <div class="panel"> <div class="panel__heading" role="tab"><h2 class="panel__title hdg hdg--4 text--uppercase">US/World</h2></div> <div class="panel__body"> <div class="row"> <div class="col col-lg-12"><div class="html_block"><script type="text/javascript" src="https://newsource-embed-prd.ns.cnn.com/videos/embed-video-player.min.js" data-newsource-publisher="1086" data-max-width="auto" data-player-data="Editors'%20Choice" data-autoplay="0" data-player-type="1020" data-embed-type="3020" data-row-type="2010"></script></div></div> </div> </div> </div> </div> </div><div id="story-tiles-9" class="panel-group story-tiles"><style type="text/css">#story-tiles-9 .container { padding: 0; }</style> <div class="container"> <div class="panel"> <div class="panel__body"> <div class="row"> <div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/02/law-enforcement-investigating-multiple-people-shot-at-montana-business-officials-say/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/cnn-L19jb21wb25lbnRzL2ltYWdlL2luc3RhbmNlcy9jbWR0OXBrNnkwMDAyM2I2bm04Y2doazlw-L19jb21wb25lbnRzL2FydGljbGUvaW5zdGFuY2VzL2NtZHQ4YnQybTAwMHkyN25tNnBqNTN6NDA-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="Police work the scene of a shooting in Anaconda" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/02/law-enforcement-investigating-multiple-people-shot-at-montana-business-officials-say/" rel="bookmark"> Truck located in search for suspect in killing of 4 people at a Montana bar, investigators say </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/national-world/cnn-world/2025/08/02/rescue-workers-race-to-save-five-men-trapped-in-chilean-copper-mine/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/cnn-L19jb21wb25lbnRzL2ltYWdlL2luc3RhbmNlcy9jbWR1bWZrcmkwMDAxM2I2bjIwM21scm1q-L19jb21wb25lbnRzL2FydGljbGUvaW5zdGFuY2VzL2NtZHVreHA0ODAwM3MyOHA2NG9yMzMxdTk-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="Aerial view of the entrance to the El Teniente mine" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/national-world/cnn-world/2025/08/02/rescue-workers-race-to-save-five-men-trapped-in-chilean-copper-mine/" rel="bookmark"> Body found as Chile’s rescue workers scramble to find missing miners </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/02/trump-says-two-us-navy-subs-are-moving-closer-to-russia-here-are-the-subs-in-the-american-fleet/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/cnn-L19jb21wb25lbnRzL2ltYWdlL2luc3RhbmNlcy9jbWR0dWdqcnAwMDEzM2I2bWVxZjl2OWNj-L19jb21wb25lbnRzL2FydGljbGUvaW5zdGFuY2VzL2NtZHRycXl3aTAwMXIyN3FlaGx5aDAzOW8-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="The Ohio-class ballistic missile submarine USS Tennessee returns to Naval Submarine Base Kings Bay" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/02/trump-says-two-us-navy-subs-are-moving-closer-to-russia-here-are-the-subs-in-the-american-fleet/" rel="bookmark"> Trump is moving nuclear submarines following remarks by an ex-Russian president. Here are the subs in the American fleet </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/02/israeli-hostage-families-hold-emergency-protest-after-gaza-militants-release-videos-showing-emaciated-captives/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/cnn-L19jb21wb25lbnRzL2ltYWdlL2luc3RhbmNlcy9jbWR1M2NnbnQwMDBwM2Q1dDh4a2Z4MDM5-L19jb21wb25lbnRzL2FydGljbGUvaW5zdGFuY2VzL2NtZHUyeHRhcTAwMXgyOG1hYncxbjg0aTY-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="A poster outside the Tel Aviv Museum of Art showing hostage Evyatar David" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/02/israeli-hostage-families-hold-emergency-protest-after-gaza-militants-release-videos-showing-emaciated-captives/" rel="bookmark"> Israeli hostage families hold emergency protest after Gaza militants release videos showing emaciated captives </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/02/the-manhattan-shooter-had-a-previous-arrest-and-2-psychiatric-holds-sources-say-how-was-he-able-to-own-a-gun/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2023/10/krdo_site_default-1.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" loading="lazy"> </div> </a> <a href="https://krdo.com/news/2025/08/02/the-manhattan-shooter-had-a-previous-arrest-and-2-psychiatric-holds-sources-say-how-was-he-able-to-own-a-gun/" class="story__thumb-link"> <div class="story__thumb"> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/02/the-manhattan-shooter-had-a-previous-arrest-and-2-psychiatric-holds-sources-say-how-was-he-able-to-own-a-gun/" rel="bookmark"> The Manhattan shooter had a previous arrest and 2 psychiatric holds, sources say. How was he able to own a gun? </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/02/california-man-arrested-for-allegedly-sending-money-to-isis/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2025/08/cnn-L19jb21wb25lbnRzL2ltYWdlL2luc3RhbmNlcy9jbWR0eGE4ZHcwMDA2M2I2bmN2MGY1dWoz-L19jb21wb25lbnRzL2FydGljbGUvaW5zdGFuY2VzL2NtZHR3bWptOTAwNDAyNnFlYXozcDBrMjU-375x225.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="FBI agents in Los Angeles arrested 28-year-old Mark Lorenzo Villanueva of Long Beach on Friday" decoding="async" loading="lazy" /> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/02/california-man-arrested-for-allegedly-sending-money-to-isis/" rel="bookmark"> California man arrested for allegedly sending money to ISIS </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/national-world/cnn-national/2025/08/02/convicted-idaho-murderer-bryan-kohberger-moved-to-solitary-confinement-ktvb-reports/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2023/10/krdo_site_default-1.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" loading="lazy"> </div> </a> <a href="https://krdo.com/news/national-world/cnn-national/2025/08/02/convicted-idaho-murderer-bryan-kohberger-moved-to-solitary-confinement-ktvb-reports/" class="story__thumb-link"> <div class="story__thumb"> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/national-world/cnn-national/2025/08/02/convicted-idaho-murderer-bryan-kohberger-moved-to-solitary-confinement-ktvb-reports/" rel="bookmark"> Convicted Idaho murderer Bryan Kohberger moved to solitary confinement, KTVB reports </a> </h3> </header> </div> </article> </div><div class="col-6 col-lg-3"> <article class="story story--sm story--card"> <a href="https://krdo.com/news/2025/08/01/trumps-tariffs-are-sending-african-countries-into-chinas-hands/" class="story__thumb-link"> <div class="story__thumb"> <img width="375" height="225" src="https://krdo.b-cdn.net/2023/10/krdo_site_default-1.jpg" class="attachment-story--sm size-story--sm wp-post-image" alt="" loading="lazy"> </div> </a> <a href="https://krdo.com/news/2025/08/01/trumps-tariffs-are-sending-african-countries-into-chinas-hands/" class="story__thumb-link"> <div class="story__thumb"> </div> </a> <div class="story__content"> <header class="story__header"> <h3 class="story__title hdg hdg--4"> <a href="https://krdo.com/news/2025/08/01/trumps-tariffs-are-sending-african-countries-into-chinas-hands/" rel="bookmark"> Trump’s tariffs are sending African countries into China’s hands </a> </h3> </header> </div> </article> </div> </div> </div> </div> <div class="panel__footer"> <div class="panel__read-more"><a href="https://krdo.com/news/national-world/" target="" class="read-more">More US/World News</a><span class="panel__read-more-caret"></span></div> </div></div> </div><div id="content-block-10" class="panel-group content-block"><style type="text/css">#content-block-10 .container { padding: 0; }</style> <div class="container"> <div class="panel"> <div class="panel__body entry__content"> <div class='code-block code-block-2' style='margin: 8px 0;clear: both'> <div class='htlad-leaderboard_2' data-unit='krdo/news/news-radio'></div></div> </div> </div> </div> </div></div> <aside id="secondary" class="sidebar col-lg-4" role="complementary"> <div id="media_image-14" class="sidebar__widget-item widget_media_image"><a href="https://radio.securenetsystems.net/v5/index.cfm?stationCallSign=KRDO"><img width="1080" height="292" src="https://krdo.b-cdn.net/2024/03/RadioListenLive.png" class="image wp-image-1213041 attachment-full size-full" alt="" style="max-width: 100%; height: auto;" decoding="async" loading="lazy" srcset="https://krdo.b-cdn.net/2024/03/RadioListenLive-860x233.png 860w, https://krdo.b-cdn.net/2024/03/RadioListenLive.png 1080w" sizes="auto, (max-width: 1080px) 100vw, 1080px" /></a></div><div id="ai_widget-14" class="sidebar__widget-item ai_widget"><div class='code-block code-block-5' style='margin: 8px 0; clear: both;'> <div class='htlad-mr_2' data-unit='krdo/news/news-radio'></div></div> </div><div id="media_image-21" class="sidebar__widget-item widget_media_image"><a href="https://krdo.com/cchockey/"><img class="image " src="https://krdo.b-cdn.net/2021/11/CC-Tiger-Hockey.png" alt="" width="1050" height="322" decoding="async" loading="lazy" /></a></div><div id="custom_html-25" class="widget_text sidebar__widget-item widget_custom_html"><h3 class="sidebar__widget-title widget-title hdg hdg--6">KRDO NewsRadio On-Demand:</h3><div class="textwidget custom-html-widget"><b>On-Demand News Updates:</b> <iframe title="KRDO Newsradio 105.5 FM • 1240 AM • 92.5 FM" allowtransparency="true" height="105" width="100%" style="border: none; min-width: min(100%, 430px);" scrolling="no" data-name="pb-iframe-player" src="https://www.podbean.com/player-v2/?i=6wpsb-23ef48-pbblog-playlist&pbad=0&share=1&download=1&rtl=0&fonts=Arial&skin=1&order=episodic&limit=1&filter=tags&tag=12599570&ss=1c1b3fdc8331de79ec9f6e826a1e83c8&btn-skin=3&size=150" allowfullscreen=""></iframe> <b>KRDO's Morning News:</b> <iframe title="KRDO Newsradio 105.5 FM, 1240 AM 92.5 FM" allowtransparency="true" height="315" width="100%" style="border: none; min-width: min(100%, 430px);" scrolling="no" data-name="pb-iframe-player" src="https://www.podbean.com/player-v2/?i=6wpsb-23ef48-pbblog-playlist&pbad=0&share=1&download=1&rtl=0&fonts=Arial&skin=60a0c8&font-color=&order=episodic&limit=10&filter=tags&tag=3065333&ss=746cb3b9b03e70ad3a12352661eda860&btn-skin=3267a3&size=315" allowfullscreen=""></iframe> <b>The Extra:</b> <iframe title="KRDO Newsradio 105.5 FM • 1240 AM • 92.5 FM" allowtransparency="true" height="150" width="100%" style="border: none; min-width: min(100%, 430px);" scrolling="no" data-name="pb-iframe-player" src="https://www.podbean.com/player-v2/?i=6wpsb-23ef48-pbblog-playlist&pbad=0&share=1&download=1&rtl=0&fonts=Arial&skin=1&order=episodic&limit=1&filter=tags&tag=9401675&ss=e7d77d143f0420cb66d7b07c46fefd7d&btn-skin=3&size=150" allowfullscreen=""></iframe> <strong>KRDO's Afternoon News:</strong> <iframe title="KRDO Newsradio 105.5 FM, 1240 AM 92.5 FM" allowtransparency="true" height="315" width="100%" style="border: none; min-width: min(100%, 430px);" scrolling="no" data-name="pb-iframe-player" src="https://www.podbean.com/player-v2/?i=6wpsb-23ef48-pbblog-playlist&pbad=0&share=1&download=1&rtl=0&fonts=Arial&skin=f6f6f6&font-color=auto&order=episodic&limit=20&filter=tags&tag=6415800&ss=7c5fd4bf9253f1fcabdbe604cb8d4476&btn-skin=3267a3&size=480" allowfullscreen=""></iframe> <b>KRDO NewsRadio Weekend Shows:</b> <iframe title="KRDO Newsradio 105.5 FM, 1240 AM 92.5 FM" allowtransparency="true" height="315" width="100%" style="border: none; min-width: min(100%, 430px);" scrolling="no" data-name="pb-iframe-player" src="https://www.podbean.com/player-v2/?i=6wpsb-23ef48-pbblog-playlist&pbad=0&share=1&download=1&rtl=0&fonts=Arial&skin=60a0c8&font-color=auto&order=episodic&limit=20&filter=tags&tag=13356291&ss=fbe17c51e0ac09c71f6b6281ec687881&btn-skin=3267a3&size=480" allowfullscreen=""></iframe> </div></div><div id="nav_menu-3" class="sidebar__widget-item widget_nav_menu"><div class="menu-radio-sidebar-container"><ul id="menu-radio-sidebar" class="menu"><li id="menu-item-212430" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-212430"><a href="https://krdo.com/radio/traffic/">KRDO NewsRadio Traffic</a></li> <li id="menu-item-212717" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-212717"><a href="https://krdo.com/weather/">Weather</a></li> <li id="menu-item-311990" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-311990"><a href="https://krdonewsradio.podbean.com/">Podcasts</a></li> <li id="menu-item-243290" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-243290"><a href="https://krdo.com/shop/">Shop</a></li> <li id="menu-item-464330" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-464330"><a href="https://krdo.com/radio/ask-the-doctor/">Ask the Doctor</a></li> <li id="menu-item-208742" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-208742"><a href="https://krdo.com/colorado-living/pets/pet-of-the-week/">Pet of the Week</a></li> <li id="menu-item-423163" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-423163"><a href="https://krdo.com/ramsey-show-sponsors/">Ramsey Show Sponsors</a></li> </ul></div></div><div id="media_image-6" class="sidebar__widget-item widget_media_image"><a href="https://krdo.com/radio/program-guide/"><img width="860" height="860" src="https://krdo.b-cdn.net/2021/01/Program-Guide-KRDO-Radio-860x860.jpg" class="image wp-image-410947 attachment-story--lg size-story--lg" alt="" style="max-width: 100%; height: auto;" decoding="async" loading="lazy" srcset="https://krdo.b-cdn.net/2021/01/Program-Guide-KRDO-Radio-96x96.jpg 96w, https://krdo.b-cdn.net/2021/01/Program-Guide-KRDO-Radio-860x860.jpg 860w, https://krdo.b-cdn.net/2021/01/Program-Guide-KRDO-Radio-1440x1440.jpg 1440w, https://krdo.b-cdn.net/2021/01/Program-Guide-KRDO-Radio-350x350.jpg 350w, https://krdo.b-cdn.net/2021/01/Program-Guide-KRDO-Radio.jpg 1500w" sizes="auto, (max-width: 860px) 100vw, 860px" /></a></div><div id="media_image-18" class="sidebar__widget-item widget_media_image"><a href="https://krdonewsradio.podbean.com/"><img width="860" height="860" src="https://krdo.b-cdn.net/2021/01/Podcast-Center-KRDO-Radio-860x860.jpg" class="image wp-image-410946 attachment-story--lg size-story--lg" alt="" style="max-width: 100%; height: auto;" decoding="async" loading="lazy" srcset="https://krdo.b-cdn.net/2021/01/Podcast-Center-KRDO-Radio-96x96.jpg 96w, https://krdo.b-cdn.net/2021/01/Podcast-Center-KRDO-Radio-860x860.jpg 860w, https://krdo.b-cdn.net/2021/01/Podcast-Center-KRDO-Radio-1440x1440.jpg 1440w, https://krdo.b-cdn.net/2021/01/Podcast-Center-KRDO-Radio-350x350.jpg 350w, https://krdo.b-cdn.net/2021/01/Podcast-Center-KRDO-Radio.jpg 1500w" sizes="auto, (max-width: 860px) 100vw, 860px" /></a></div><div id="media_image-19" class="sidebar__widget-item widget_media_image"><a href="https://open.spotify.com/show/1EeIxjCwegxVF0QZNLUtS6"><img width="330" height="80" src="https://krdo.b-cdn.net/2021/01/spotify-podcast-badge-blk-grn-330x80-1.png" class="image wp-image-404344 attachment-full size-full" alt="" style="max-width: 100%; height: auto;" decoding="async" loading="lazy" /></a></div><div id="custom_html-37" class="widget_text sidebar__widget-item widget_custom_html"><div class="textwidget custom-html-widget"><iframe src="https://www.facebook.com/plugins/page.php?href=https%3A%2F%2Fwww.facebook.com%2F%2FKRDOnewsradio&tabs=timeline&width=360&height=800&small_header=false&adapt_container_width=true&hide_cover=false&show_facepile=true&appId=601423313303824" width="360" height="800" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe></div></div></aside><!-- #secondary --></div></div> <footer class="footer panel-group" role="contentinfo"> <div class="container"> <aside class="row footer__widgets footer__widgets--4" role="complementary"> <div id="media_image-2" class="footer__widget-item widget_media_image"><a href="https://krdo.com/meet-the-team/"><img width="300" height="150" src="https://krdo.b-cdn.net/2023/10/KRDO-Talent-Footer-1.png" class="image wp-image-1086167 attachment-full size-full" alt="" style="max-width: 100%; height: auto;" decoding="async" loading="lazy" /></a></div><div id="text-2" class="footer__widget-item widget_text"> <div class="textwidget"><p><a href="/terms-of-use">Terms of Service</a> | <a href="/privacy-policy">Privacy Policy</a> | <a href="https://krdo.com/about-us/2022/07/15/community-guidelines/">Community Guidelines</a> | <a href="https://recruiting.adp.com/srccar/public/RTI.home?c=1059541&d=External-Corporate&city=%22Colorado%20Springs%22">KRDO Jobs</a> | <a href="/fcc-applications">FCC Applications</a> |</p> <p><a href="/about-us/fcc-public-file/">KRDO FCC Public File</a> | <a href="https://krdo.com/fcc-applications/">KRDO FCC Applications</a></p> <p>| <a href="https://www.npgco.com/ccpa-privacy-request/">Do Not Sell My Personal Information</a></p> <p>| <a href="https://krdo.com/contests/radio-contests/2019/11/20/contest-rules/">Contest Rules</a></p> </div> </div><div id="text-3" class="footer__widget-item widget_text"><h3 class="footer__widget-title hdg hdg--6">Subscribe to our Email Alerts</h3> <div class="textwidget"><p><a href="/newsletters-alerts/#//">Breaking News<br /> Severe Weather<br /> Morning Forecast<br /> Daily Briefing<br /> Contests & Promotions</a></p> </div> </div><div id="custom_html-23" class="widget_text footer__widget-item widget_custom_html"><h3 class="footer__widget-title hdg hdg--6">Download Our Apps</h3><div class="textwidget custom-html-widget"><div align="center"> Available for iOS and Android <br> <a href="/about-us/download-our-apps/"><img src="https://s3.us-east-1.wasabisys.com/krdo.com/2019/10/krdo-news-app-icon.jpg" width="80" alt="KRDO News App">     <img src="https://s3.us-east-1.wasabisys.com/krdo.com/2019/10/krdo-weather-app-icon.jpg" width="80" alt="KRDO Weather App"> </a> </div></div></div> </aside><!-- #secondary --> <div class="footer__socials socials"> </div> <div class="footer__copyright"> © 2025, Pikes Peak Television, Inc. Colorado Springs, CO, USA </div> </div> </footer> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/storymate-npg\/*","\/wp-content\/themes\/storymate-theme\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <script> function convert_to_url(obj) { return Object .keys(obj) .map(k => `${encodeURIComponent(k)}=${encodeURIComponent(obj[k])}`) .join('&'); } function pass_to_backend() { if(window.location.hash) { var hash = window.location.hash; var elements = {}; hash.split("#")[1].split("&").forEach(element => { var vars = element.split("="); elements[vars[0]] = vars[1]; }); if(("access_token" in elements) || ("id_token" in elements) || ("token" in elements)) { if(window.location.href.indexOf("?") !== -1) { window.location = (window.location.href.split("?")[0] + window.location.hash).split('#')[0] + "?" + convert_to_url(elements); } else { window.location = window.location.href.split('#')[0] + "?" + convert_to_url(elements); } } } } pass_to_backend(); </script> <script type="importmap" id="wp-importmap"> {"imports":{"@wordpress\/interactivity":"https:\/\/krdo.com\/wp-includes\/js\/dist\/script-modules\/interactivity\/index.min.js?ver=55aebb6e0a16726baffb"}} </script> <script type="module" src="https://krdo.com/wp-includes/js/dist/script-modules/block-library/file/view.min.js?ver=fdc2f6842e015af83140" id="@wordpress/block-library/file/view-js-module"></script> <link rel="modulepreload" href="https://krdo.com/wp-includes/js/dist/script-modules/interactivity/index.min.js?ver=55aebb6e0a16726baffb" id="@wordpress/interactivity-js-modulepreload"><script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/vendor/react.min.js?ver=18.3.1.1" id="react-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/vendor/react-jsx-runtime.min.js?ver=18.3.1" id="react-jsx-runtime-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/vendor/react-dom.min.js?ver=18.3.1.1" id="react-dom-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/dom-ready.min.js?ver=f77871ff7694fffea381" id="wp-dom-ready-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" id="wp-hooks-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script type="text/javascript" id="wp-i18n-js-after"> /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ </script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/a11y.min.js?ver=3156534cc54473497e14" id="wp-a11y-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0" id="wp-polyfill-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/url.min.js?ver=6bf93e90403a1eec6501" id="wp-url-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/api-fetch.min.js?ver=3623a576c78df404ff20" id="wp-api-fetch-js"></script> <script type="text/javascript" id="wp-api-fetch-js-after"> /* <![CDATA[ */ wp.apiFetch.use( wp.apiFetch.createRootURLMiddleware( "https://krdo.com/wp-json/" ) ); wp.apiFetch.nonceMiddleware = wp.apiFetch.createNonceMiddleware( "662fc73750" ); wp.apiFetch.use( wp.apiFetch.nonceMiddleware ); wp.apiFetch.use( wp.apiFetch.mediaUploadMiddleware ); wp.apiFetch.nonceEndpoint = "https://krdo.com/wp-admin/admin-ajax.php?action=rest-nonce"; /* ]]> */ </script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/blob.min.js?ver=9113eed771d446f4a556" id="wp-blob-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/block-serialization-default-parser.min.js?ver=14d44daebf663d05d330" id="wp-block-serialization-default-parser-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/autop.min.js?ver=9fb50649848277dd318d" id="wp-autop-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/deprecated.min.js?ver=e1f84915c5e8ae38964c" id="wp-deprecated-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/dom.min.js?ver=f3a673a30f968c8fa314" id="wp-dom-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/escape-html.min.js?ver=6561a406d2d232a6fbd2" id="wp-escape-html-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/element.min.js?ver=a4eeeadd23c0d7ab1d2d" id="wp-element-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/is-shallow-equal.min.js?ver=e0f9f1d78d83f5196979" id="wp-is-shallow-equal-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/keycodes.min.js?ver=034ff647a54b018581d3" id="wp-keycodes-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/priority-queue.min.js?ver=9c21c957c7e50ffdbf48" id="wp-priority-queue-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/compose.min.js?ver=84bcf832a5c99203f3db" id="wp-compose-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/private-apis.min.js?ver=0f8478f1ba7e0eea562b" id="wp-private-apis-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/redux-routine.min.js?ver=8bb92d45458b29590f53" id="wp-redux-routine-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/data.min.js?ver=fe6c4835cd00e12493c3" id="wp-data-js"></script> <script type="text/javascript" id="wp-data-js-after"> /* <![CDATA[ */ ( function() { var userId = 0; var storageKey = "WP_DATA_USER_" + userId; wp.data .use( wp.data.plugins.persistence, { storageKey: storageKey } ); } )(); /* ]]> */ </script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/html-entities.min.js?ver=2cd3358363e0675638fb" id="wp-html-entities-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/rich-text.min.js?ver=74178fc8c4d67d66f1a8" id="wp-rich-text-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/shortcode.min.js?ver=b7747eee0efafd2f0c3b" id="wp-shortcode-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/warning.min.js?ver=ed7c8b0940914f4fe44b" id="wp-warning-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/blocks.min.js?ver=84530c06a3c62815b497" id="wp-blocks-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/vendor/moment.min.js?ver=2.30.1" id="moment-js"></script> <script type="text/javascript" id="moment-js-after"> /* <![CDATA[ */ moment.updateLocale( 'en_US', {"months":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthsShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"weekdaysShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"week":{"dow":0},"longDateFormat":{"LT":"g:i A","LTS":null,"L":null,"LL":"F j, Y","LLL":"F j, Y g:i a","LLLL":null}} ); /* ]]> */ </script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/date.min.js?ver=85ff222add187a4e358f" id="wp-date-js"></script> <script type="text/javascript" id="wp-date-js-after"> /* <![CDATA[ */ wp.date.setSettings( {"l10n":{"locale":"en_US","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthsShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"weekdaysShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"meridiem":{"am":"am","pm":"pm","AM":"AM","PM":"PM"},"relative":{"future":"%s from now","past":"%s ago","s":"a second","ss":"%d seconds","m":"a minute","mm":"%d minutes","h":"an hour","hh":"%d hours","d":"a day","dd":"%d days","M":"a month","MM":"%d months","y":"a year","yy":"%d years"},"startOfWeek":0},"formats":{"time":"g:i A","date":"F j, Y","datetime":"F j, Y g:i a","datetimeAbbreviated":"M j, Y g:i a"},"timezone":{"offset":-6,"offsetFormatted":"-6","string":"America\/Denver","abbr":"MDT"}} ); /* ]]> */ </script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/primitives.min.js?ver=aef2543ab60c8c9bb609" id="wp-primitives-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/components.min.js?ver=336a01176fa8097fbf37" id="wp-components-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/keyboard-shortcuts.min.js?ver=32686e58e84193ce808b" id="wp-keyboard-shortcuts-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/commands.min.js?ver=14ee29ad1743be844b11" id="wp-commands-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/notices.min.js?ver=673a68a7ac2f556ed50b" id="wp-notices-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/preferences-persistence.min.js?ver=9307a8c9e3254140a223" id="wp-preferences-persistence-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/preferences.min.js?ver=4aa23582b858c882a887" id="wp-preferences-js"></script> <script type="text/javascript" id="wp-preferences-js-after"> /* <![CDATA[ */ ( function() { var serverData = false; var userId = "0"; var persistenceLayer = wp.preferencesPersistence.__unstableCreatePersistenceLayer( serverData, userId ); var preferencesStore = wp.preferences.store; wp.data.dispatch( preferencesStore ).setPersistenceLayer( persistenceLayer ); } ) (); /* ]]> */ </script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/style-engine.min.js?ver=08cc10e9532531e22456" id="wp-style-engine-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/token-list.min.js?ver=3b5f5dcfde830ecef24f" id="wp-token-list-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/dist/block-editor.min.js?ver=c8c5e4e00ad4a1c77679" id="wp-block-editor-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/underscore.min.js?ver=1.13.7" id="underscore-js"></script> <script type="text/javascript" id="wp-util-js-extra"> /* <![CDATA[ */ var _wpUtilSettings = {"ajax":{"url":"\/wp-admin\/admin-ajax.php"}}; /* ]]> */ </script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/wp-util.min.js?ver=6.8.1" id="wp-util-js"></script> <script type="text/javascript" src="https://krdo.com/wp-content/plugins/pojo-accessibility/assets/build/gutenberg-custom-link.js?ver=42a2a59090c5731808c1" id="gutenberg-custom-link-js"></script> <script type="text/javascript" id="ea11y-widget-js-extra"> /* <![CDATA[ */ var ea11yWidget = {"iconSettings":{"style":{"icon":"person","size":"medium","color":"#2563eb"},"position":{"desktop":{"hidden":false,"enableExactPosition":false,"exactPosition":{"horizontal":{"direction":"right","value":10,"unit":"px"},"vertical":{"direction":"bottom","value":10,"unit":"px"}},"position":"top-right"},"mobile":{"hidden":false,"enableExactPosition":false,"exactPosition":{"horizontal":{"direction":"right","value":10,"unit":"px"},"vertical":{"direction":"bottom","value":10,"unit":"px"}},"position":"bottom-left"}}},"toolsSettings":{"bigger-text":{"enabled":true},"bigger-line-height":{"enabled":true},"text-align":{"enabled":true},"readable-font":{"enabled":true},"grayscale":{"enabled":true},"contrast":{"enabled":true},"page-structure":{"enabled":true},"sitemap":{"enabled":false,"url":"https:\/\/krdo.com\/wp-sitemap.xml"},"reading-mask":{"enabled":true},"hide-images":{"enabled":true},"pause-animations":{"enabled":true},"highlight-links":{"enabled":true},"focus-outline":{"enabled":true},"screen-reader":{"enabled":false},"remove-elementor-label":{"enabled":false}},"accessibilityStatementURL":"","analytics":{"enabled":false,"url":null}}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn.elementor.com/a11y/widget.js?api_key=ea11y-933d5930-9ff3-4729-a46f-6316c408cea2&ver=3.4.0" id="ea11y-widget-js"referrerPolicy="origin"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js?ver=2.24.0" id="momentjs-js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.26/moment-timezone-with-data.min.js?ver=0.5.26" id="moment-timezone-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/backbone.min.js?ver=1.6.0" id="backbone-js"></script> <script type="text/javascript" id="wp-api-request-js-extra"> /* <![CDATA[ */ var wpApiSettings = {"root":"https:\/\/krdo.com\/wp-json\/","nonce":"662fc73750","versionString":"wp\/v2\/"}; /* ]]> */ </script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/api-request.min.js?ver=6.8.1" id="wp-api-request-js"></script> <script type="text/javascript" src="https://krdo.com/wp-includes/js/wp-api.min.js?ver=6.8.1" id="wp-api-js"></script> <script type="text/javascript" src="https://krdo.com/wp-content/themes/storymate-npg/build/js/theme.min.js?ver=1.4.21" id="npg-theme-js"></script> <script type="text/javascript" src="https://krdo.com/wp-content/themes/storymate-theme/build/js/vendor.min.js?ver=1.4.21" id="ad-vendors-js"></script> <script type="text/javascript" src="https://krdo.com/wp-content/themes/storymate-theme/build/js/theme.min.js?ver=1.4.21" id="ad-theme-js"></script> <script> function b2a(a){var b,c=0,l=0,f="",g=[];if(!a)return a;do{var e=a.charCodeAt(c++);var h=a.charCodeAt(c++);var k=a.charCodeAt(c++);var d=e<<16|h<<8|k;e=63&d>>18;h=63&d>>12;k=63&d>>6;d&=63;g[l++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(e)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(h)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(k)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(d)}while(c< a.length);return f=g.join(""),b=a.length%3,(b?f.slice(0,b-3):f)+"===".slice(b||3)}function a2b(a){var b,c,l,f={},g=0,e=0,h="",k=String.fromCharCode,d=a.length;for(b=0;64>b;b++)f["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(b)]=b;for(c=0;d>c;c++)for(b=f[a.charAt(c)],g=(g<<6)+b,e+=6;8<=e;)((l=255&g>>>(e-=8))||d-2>c)&&(h+=k(l));return h}b64e=function(a){return btoa(encodeURIComponent(a).replace(/%([0-9A-F]{2})/g,function(b,a){return String.fromCharCode("0x"+a)}))}; b64d=function(a){return decodeURIComponent(atob(a).split("").map(function(a){return"%"+("00"+a.charCodeAt(0).toString(16)).slice(-2)}).join(""))}; /* <![CDATA[ */ ai_front = {"insertion_before":"BEFORE","insertion_after":"AFTER","insertion_prepend":"PREPEND CONTENT","insertion_append":"APPEND CONTENT","insertion_replace_content":"REPLACE CONTENT","insertion_replace_element":"REPLACE ELEMENT","visible":"VISIBLE","hidden":"HIDDEN","fallback":"FALLBACK","automatically_placed":"Automatically placed by AdSense Auto ads code","cancel":"Cancel","use":"Use","add":"Add","parent":"Parent","cancel_element_selection":"Cancel element selection","select_parent_element":"Select parent element","css_selector":"CSS selector","use_current_selector":"Use current selector","element":"ELEMENT","path":"PATH","selector":"SELECTOR"}; /* ]]> */ function ai_run_scripts(){(function(a){if("function"===typeof define&&define.amd){define(a);var c=!0}"object"===typeof exports&&(module.exports=a(),c=!0);if(!c){var d=window.Cookies,b=window.Cookies=a();b.noConflict=function(){window.Cookies=d;return b}}})(function(){function a(){for(var d=0,b={};d<arguments.length;d++){var f=arguments[d],e;for(e in f)b[e]=f[e]}return b}function c(d){function b(){}function f(h,k,g){if("undefined"!==typeof document){g=a({path:"/",sameSite:"Lax"},b.defaults,g);"number"===typeof g.expires&&(g.expires= new Date(1*new Date+864E5*g.expires));g.expires=g.expires?g.expires.toUTCString():"";try{var l=JSON.stringify(k);/^[\{\[]/.test(l)&&(k=l)}catch(p){}k=d.write?d.write(k,h):encodeURIComponent(String(k)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent);h=encodeURIComponent(String(h)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);l="";for(var n in g)g[n]&&(l+="; "+n,!0!==g[n]&&(l+="="+g[n].split(";")[0]));return document.cookie= h+"="+k+l}}function e(h,k){if("undefined"!==typeof document){for(var g={},l=document.cookie?document.cookie.split("; "):[],n=0;n<l.length;n++){var p=l[n].split("="),m=p.slice(1).join("=");k||'"'!==m.charAt(0)||(m=m.slice(1,-1));try{var q=p[0].replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent);m=(d.read||d)(m,q)||m.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent);if(k)try{m=JSON.parse(m)}catch(r){}g[q]=m;if(h===q)break}catch(r){}}return h?g[h]:g}}b.set=f;b.get=function(h){return e(h,!1)};b.getJSON=function(h){return e(h, !0)};b.remove=function(h,k){f(h,"",a(k,{expires:-1}))};b.defaults={};b.withConverter=c;return b}return c(function(){})});AiCookies=Cookies.noConflict(); ai_check_block=function(a){if(null==a)return!0;var c=AiCookies.getJSON("aiBLOCKS");ai_debug_cookie_status="";null==c&&(c={});"undefined"!==typeof ai_delay_showing_pageviews&&(c.hasOwnProperty(a)||(c[a]={}),c[a].hasOwnProperty("d")||(c[a].d=ai_delay_showing_pageviews));if(c.hasOwnProperty(a)){for(var d in c[a]){if("x"==d){var b="",f=document.querySelectorAll('span[data-ai-block="'+a+'"]')[0];"aiHash"in f.dataset&&(b=f.dataset.aiHash);f="";c[a].hasOwnProperty("h")&&(f=c[a].h);var e=new Date;e=c[a][d]- Math.round(e.getTime()/1E3);if(0<e&&f==b)return ai_debug_cookie_status=a="closed for "+e+" s = "+Math.round(1E4*e/3600/24)/1E4+" days",!1;ai_set_cookie(a,"x","");c[a].hasOwnProperty("i")||c[a].hasOwnProperty("c")||ai_set_cookie(a,"h","")}else if("d"==d){if(0!=c[a][d])return ai_debug_cookie_status=a="delayed for "+c[a][d]+" pageviews",!1}else if("i"==d){b="";f=document.querySelectorAll('span[data-ai-block="'+a+'"]')[0];"aiHash"in f.dataset&&(b=f.dataset.aiHash);f="";c[a].hasOwnProperty("h")&&(f=c[a].h); if(0==c[a][d]&&f==b)return ai_debug_cookie_status=a="max impressions reached",!1;if(0>c[a][d]&&f==b){e=new Date;e=-c[a][d]-Math.round(e.getTime()/1E3);if(0<e)return ai_debug_cookie_status=a="max imp. reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1;ai_set_cookie(a,"i","");c[a].hasOwnProperty("c")||c[a].hasOwnProperty("x")||ai_set_cookie(a,"h","")}}if("ipt"==d&&0==c[a][d]&&(e=new Date,b=Math.round(e.getTime()/1E3),e=c[a].it-b,0<e))return ai_debug_cookie_status=a="max imp. per time reached ("+ Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1;if("c"==d){b="";f=document.querySelectorAll('span[data-ai-block="'+a+'"]')[0];"aiHash"in f.dataset&&(b=f.dataset.aiHash);f="";c[a].hasOwnProperty("h")&&(f=c[a].h);if(0==c[a][d]&&f==b)return ai_debug_cookie_status=a="max clicks reached",!1;if(0>c[a][d]&&f==b){e=new Date;e=-c[a][d]-Math.round(e.getTime()/1E3);if(0<e)return ai_debug_cookie_status=a="max clicks reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1;ai_set_cookie(a,"c","");c[a].hasOwnProperty("i")|| c[a].hasOwnProperty("x")||ai_set_cookie(a,"h","")}}if("cpt"==d&&0==c[a][d]&&(e=new Date,b=Math.round(e.getTime()/1E3),e=c[a].ct-b,0<e))return ai_debug_cookie_status=a="max clicks per time reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1}if(c.hasOwnProperty("G")&&c.G.hasOwnProperty("cpt")&&0==c.G.cpt&&(e=new Date,b=Math.round(e.getTime()/1E3),e=c.G.ct-b,0<e))return ai_debug_cookie_status=a="max global clicks per time reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1}ai_debug_cookie_status= "OK";return!0}; ai_check_and_insert_block=function(a,c){if(null==a)return!0;var d=document.getElementsByClassName(c);if(d.length){d=d[0];var b=d.closest(".code-block"),f=ai_check_block(a);!f&&0!=parseInt(d.getAttribute("limits-fallback"))&&d.hasAttribute("data-fallback-code")&&(d.setAttribute("data-code",d.getAttribute("data-fallback-code")),b.hasAttribute("data-ai")&&d.hasAttribute("fallback-tracking")&&d.hasAttribute("fallback_level")&&b.setAttribute("data-ai-"+d.getAttribute("fallback_level"),d.getAttribute("fallback-tracking")), f=!0);if(f)ai_insert_code(d),b&&(f=b.querySelectorAll(".ai-debug-block"),b&&f.length&&(b.classList.remove("ai-list-block"),b.classList.remove("ai-list-block-ip"),b.classList.remove("ai-list-block-filter"),b.style.visibility="",b.classList.contains("ai-remove-position")&&(b.style.position="")));else{f=d.closest("div[data-ai]");if(null!=f&&"undefined"!=typeof f.getAttribute("data-ai")){var e=JSON.parse(b64d(f.getAttribute("data-ai")));"undefined"!==typeof e&&e.constructor===Array&&(e[1]="",f.setAttribute("data-ai", b64e(JSON.stringify(e))))}f=b.querySelectorAll(".ai-debug-block");b&&f.length&&(b.classList.remove("ai-list-block"),b.classList.remove("ai-list-block-ip"),b.classList.remove("ai-list-block-filter"),b.style.visibility="",b.classList.contains("ai-remove-position")&&(b.style.position=""))}d.classList.remove(c)}d=document.querySelectorAll("."+c+"-dbg");b=0;for(f=d.length;b<f;b++)e=d[b],e.querySelector(".ai-status").textContent=ai_debug_cookie_status,e.querySelector(".ai-cookie-data").textContent=ai_get_cookie_text(a), e.classList.remove(c+"-dbg")};function ai_load_cookie(){var a=AiCookies.getJSON("aiBLOCKS");null==a&&(a={});return a}function ai_get_cookie(a,c){var d="",b=ai_load_cookie();b.hasOwnProperty(a)&&b[a].hasOwnProperty(c)&&(d=b[a][c]);return d} function ai_set_cookie(a,c,d){var b=ai_load_cookie();if(""===d){if(b.hasOwnProperty(a)){delete b[a][c];a:{c=b[a];for(f in c)if(c.hasOwnProperty(f)){var f=!1;break a}f=!0}f&&delete b[a]}}else b.hasOwnProperty(a)||(b[a]={}),b[a][c]=d;0===Object.keys(b).length&&b.constructor===Object?AiCookies.remove("aiBLOCKS"):AiCookies.set("aiBLOCKS",b,{expires:365,path:"/"});return b} ai_get_cookie_text=function(a){var c=AiCookies.getJSON("aiBLOCKS");null==c&&(c={});var d="";c.hasOwnProperty("G")&&(d="G["+JSON.stringify(c.G).replace(/"/g,"").replace("{","").replace("}","")+"] ");var b="";c.hasOwnProperty(a)&&(b=JSON.stringify(c[a]).replace(/"/g,"").replace("{","").replace("}",""));return d+b}; ai_insert=function(c,h,t){for(var n=-1!=h.indexOf(":eq")?jQuery(h):document.querySelectorAll(h),u=0,y=n.length;u<y;u++){var b=n[u];selector_string=b.hasAttribute("id")?"#"+b.getAttribute("id"):b.hasAttribute("class")?"."+b.getAttribute("class").replace(RegExp(" ","g"),"."):"";var v=document.createElement("div");v.innerHTML=t;var m=v.getElementsByClassName("ai-selector-counter")[0];null!=m&&(m.innerText=u+1);m=v.getElementsByClassName("ai-debug-name ai-main")[0];if(null!=m){var l="";"before"==c?l= ai_front.insertion_before:"after"==c?l=ai_front.insertion_after:"prepend"==c?l=ai_front.insertion_prepend:"append"==c?l=ai_front.insertion_append:"replace-content"==c?l=ai_front.insertion_replace_content:"replace-element"==c&&(l=ai_front.insertion_replace_element);-1==selector_string.indexOf(".ai-viewports")&&(m.innerText=l+" "+h+" ("+b.tagName.toLowerCase()+selector_string+")")}m=document.createRange();l=!0;try{var w=m.createContextualFragment(v.innerHTML)}catch(r){l=!1}"before"==c?l?b.parentNode.insertBefore(w, b):jQuery(v.innerHTML).insertBefore(jQuery(b)):"after"==c?l?b.parentNode.insertBefore(w,b.nextSibling):jQuery(v.innerHTML).insertBefore(jQuery(b.nextSibling)):"prepend"==c?l?b.insertBefore(w,b.firstChild):jQuery(v.innerHTML).insertBefore(jQuery(b.firstChild)):"append"==c?l?b.insertBefore(w,null):jQuery(v.innerHTML).appendTo(jQuery(b)):"replace-content"==c?(b.innerHTML="",l?b.insertBefore(w,null):jQuery(v.innerHTML).appendTo(jQuery(b))):"replace-element"==c&&(l?b.parentNode.insertBefore(w,b):jQuery(v.innerHTML).insertBefore(jQuery(b)), b.parentNode.removeChild(b))}}; ai_insert_code=function(c){function h(m,l){return null==m?!1:m.classList?m.classList.contains(l):-1<(" "+m.className+" ").indexOf(" "+l+" ")}function t(m,l){null!=m&&(m.classList?m.classList.add(l):m.className+=" "+l)}function n(m,l){null!=m&&(m.classList?m.classList.remove(l):m.className=m.className.replace(new RegExp("(^|\\b)"+l.split(" ").join("|")+"(\\b|$)","gi")," "))}if("undefined"!=typeof c){var u=!1;if(h(c,"no-visibility-check")||c.offsetWidth||c.offsetHeight||c.getClientRects().length){u= c.getAttribute("data-code");var y=c.getAttribute("data-insertion"),b=c.getAttribute("data-selector");if(null!=u)if(null!=y&&null!=b){if(-1!=b.indexOf(":eq")?jQuery(b).length:document.querySelectorAll(b).length)ai_insert(y,b,b64d(u)),n(c,"ai-viewports")}else{y=document.createRange();b=!0;try{var v=y.createContextualFragment(b64d(u))}catch(m){b=!1}b?c.parentNode.insertBefore(v,c.nextSibling):jQuery(b64d(u)).insertBefore(jQuery(c.nextSibling));n(c,"ai-viewports")}u=!0}else v=c.previousElementSibling, h(v,"ai-debug-bar")&&h(v,"ai-debug-script")&&(n(v,"ai-debug-script"),t(v,"ai-debug-viewport-invisible")),n(c,"ai-viewports");return u}}; ai_insert_list_code=function(c){var h=document.getElementsByClassName(c)[0];if("undefined"!=typeof h){var t=ai_insert_code(h),n=h.closest("div.code-block");if(n){t||n.removeAttribute("data-ai");var u=n.querySelectorAll(".ai-debug-block");n&&u.length&&(n.classList.remove("ai-list-block"),n.classList.remove("ai-list-block-ip"),n.classList.remove("ai-list-block-filter"),n.style.visibility="",n.classList.contains("ai-remove-position")&&(n.style.position=""))}h.classList.remove(c);t&& ai_process_elements()}};ai_insert_viewport_code=function(c){var h=document.getElementsByClassName(c)[0];if("undefined"!=typeof h){var t=ai_insert_code(h);h.classList.remove(c);t&&(c=h.closest("div.code-block"),null!=c&&(t=h.getAttribute("style"),null!=t&&c.setAttribute("style",c.getAttribute("style")+" "+t)));setTimeout(function(){h.removeAttribute("style")},2);ai_process_elements()}}; ai_insert_code_by_class=function(c){var h=document.getElementsByClassName(c)[0];"undefined"!=typeof h&&(ai_insert_code(h),h.classList.remove(c))};ai_insert_client_code=function(c,h){var t=document.getElementsByClassName(c)[0];if("undefined"!=typeof t){var n=t.getAttribute("data-code");null!=n&&ai_check_block()&&ai_check_and_insert_block()&&(t.setAttribute("data-code",n.substring(Math.floor(h/19))),ai_insert_code_by_class(c),t.remove())}};ai_process_elements_active=!1; function ai_process_elements(){ai_process_elements_active||setTimeout(function(){ai_process_elements_active=!1;"function"==typeof ai_process_rotations&&ai_process_rotations();"function"==typeof ai_process_lists&&ai_process_lists(jQuery(".ai-list-data"));"function"==typeof ai_process_ip_addresses&&ai_process_ip_addresses(jQuery(".ai-ip-data"));"function"==typeof ai_process_filter_hooks&&ai_process_filter_hooks(jQuery(".ai-filter-check"));"function"==typeof ai_adb_process_blocks&&ai_adb_process_blocks(); "function"==typeof ai_process_impressions&&1==ai_tracking_finished&&ai_process_impressions();"function"==typeof ai_install_click_trackers&&1==ai_tracking_finished&&ai_install_click_trackers();"function"==typeof ai_install_close_buttons&&ai_install_close_buttons(document)},5);ai_process_elements_active=!0} var Arrive=function(c,h,t){function n(r,d,e){b.addMethod(d,e,r.unbindEvent);b.addMethod(d,e,r.unbindEventWithSelectorOrCallback);b.addMethod(d,e,r.unbindEventWithSelectorAndCallback)}function u(r){r.arrive=l.bindEvent;n(l,r,"unbindArrive");r.leave=w.bindEvent;n(w,r,"unbindLeave")}if(c.MutationObserver&&"undefined"!==typeof HTMLElement){var y=0,b=function(){var r=HTMLElement.prototype.matches||HTMLElement.prototype.webkitMatchesSelector||HTMLElement.prototype.mozMatchesSelector||HTMLElement.prototype.msMatchesSelector; return{matchesSelector:function(d,e){return d instanceof HTMLElement&&r.call(d,e)},addMethod:function(d,e,f){var a=d[e];d[e]=function(){if(f.length==arguments.length)return f.apply(this,arguments);if("function"==typeof a)return a.apply(this,arguments)}},callCallbacks:function(d,e){e&&e.options.onceOnly&&1==e.firedElems.length&&(d=[d[0]]);for(var f=0,a;a=d[f];f++)a&&a.callback&&a.callback.call(a.elem,a.elem);e&&e.options.onceOnly&&1==e.firedElems.length&&e.me.unbindEventWithSelectorAndCallback.call(e.target, e.selector,e.callback)},checkChildNodesRecursively:function(d,e,f,a){for(var g=0,k;k=d[g];g++)f(k,e,a)&&a.push({callback:e.callback,elem:k}),0<k.childNodes.length&&b.checkChildNodesRecursively(k.childNodes,e,f,a)},mergeArrays:function(d,e){var f={},a;for(a in d)d.hasOwnProperty(a)&&(f[a]=d[a]);for(a in e)e.hasOwnProperty(a)&&(f[a]=e[a]);return f},toElementsArray:function(d){"undefined"===typeof d||"number"===typeof d.length&&d!==c||(d=[d]);return d}}}(),v=function(){var r=function(){this._eventsBucket= [];this._beforeRemoving=this._beforeAdding=null};r.prototype.addEvent=function(d,e,f,a){d={target:d,selector:e,options:f,callback:a,firedElems:[]};this._beforeAdding&&this._beforeAdding(d);this._eventsBucket.push(d);return d};r.prototype.removeEvent=function(d){for(var e=this._eventsBucket.length-1,f;f=this._eventsBucket[e];e--)d(f)&&(this._beforeRemoving&&this._beforeRemoving(f),(f=this._eventsBucket.splice(e,1))&&f.length&&(f[0].callback=null))};r.prototype.beforeAdding=function(d){this._beforeAdding= d};r.prototype.beforeRemoving=function(d){this._beforeRemoving=d};return r}(),m=function(r,d){var e=new v,f=this,a={fireOnAttributesModification:!1};e.beforeAdding(function(g){var k=g.target;if(k===c.document||k===c)k=document.getElementsByTagName("html")[0];var p=new MutationObserver(function(x){d.call(this,x,g)});var q=r(g.options);p.observe(k,q);g.observer=p;g.me=f});e.beforeRemoving(function(g){g.observer.disconnect()});this.bindEvent=function(g,k,p){k=b.mergeArrays(a,k);for(var q=b.toElementsArray(this), x=0;x<q.length;x++)e.addEvent(q[x],g,k,p)};this.unbindEvent=function(){var g=b.toElementsArray(this);e.removeEvent(function(k){for(var p=0;p<g.length;p++)if(this===t||k.target===g[p])return!0;return!1})};this.unbindEventWithSelectorOrCallback=function(g){var k=b.toElementsArray(this);e.removeEvent("function"===typeof g?function(p){for(var q=0;q<k.length;q++)if((this===t||p.target===k[q])&&p.callback===g)return!0;return!1}:function(p){for(var q=0;q<k.length;q++)if((this===t||p.target===k[q])&&p.selector=== g)return!0;return!1})};this.unbindEventWithSelectorAndCallback=function(g,k){var p=b.toElementsArray(this);e.removeEvent(function(q){for(var x=0;x<p.length;x++)if((this===t||q.target===p[x])&&q.selector===g&&q.callback===k)return!0;return!1})};return this},l=new function(){function r(f,a,g){return b.matchesSelector(f,a.selector)&&(f._id===t&&(f._id=y++),-1==a.firedElems.indexOf(f._id))?(a.firedElems.push(f._id),!0):!1}var d={fireOnAttributesModification:!1,onceOnly:!1,existing:!1};l=new m(function(f){var a= {attributes:!1,childList:!0,subtree:!0};f.fireOnAttributesModification&&(a.attributes=!0);return a},function(f,a){f.forEach(function(g){var k=g.addedNodes,p=g.target,q=[];null!==k&&0<k.length?b.checkChildNodesRecursively(k,a,r,q):"attributes"===g.type&&r(p,a,q)&&q.push({callback:a.callback,elem:p});b.callCallbacks(q,a)})});var e=l.bindEvent;l.bindEvent=function(f,a,g){"undefined"===typeof g?(g=a,a=d):a=b.mergeArrays(d,a);var k=b.toElementsArray(this);if(a.existing){for(var p=[],q=0;q<k.length;q++)for(var x= k[q].querySelectorAll(f),z=0;z<x.length;z++)p.push({callback:g,elem:x[z]});if(a.onceOnly&&p.length)return g.call(p[0].elem,p[0].elem);setTimeout(b.callCallbacks,1,p)}e.call(this,f,a,g)};return l},w=new function(){function r(f,a){return b.matchesSelector(f,a.selector)}var d={};w=new m(function(){return{childList:!0,subtree:!0}},function(f,a){f.forEach(function(g){g=g.removedNodes;var k=[];null!==g&&0<g.length&&b.checkChildNodesRecursively(g,a,r,k);b.callCallbacks(k,a)})});var e=w.bindEvent;w.bindEvent= function(f,a,g){"undefined"===typeof g?(g=a,a=d):a=b.mergeArrays(d,a);e.call(this,f,a,g)};return w};h&&u(h.fn);u(HTMLElement.prototype);u(NodeList.prototype);u(HTMLCollection.prototype);u(HTMLDocument.prototype);u(Window.prototype);h={};n(l,h,"unbindAllArrive");n(w,h,"unbindAllLeave");return h}}(window,"undefined"===typeof jQuery?null:jQuery,void 0); var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.createTemplateTagFirstArg=function(a){return a.raw=a};$jscomp.createTemplateTagFirstArgWithRaw=function(a,n){a.raw=n;return a};$jscomp.arrayIteratorImpl=function(a){var n=0;return function(){return n<a.length?{done:!1,value:a[n++]}:{done:!0}}};$jscomp.arrayIterator=function(a){return{next:$jscomp.arrayIteratorImpl(a)}};$jscomp.makeIterator=function(a){var n="undefined"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return n?n.call(a):$jscomp.arrayIterator(a)}; jQuery(function(a){function n(d){d=d.match(ba);return null!=d&&1<d.length&&"string"===typeof d[1]&&0<d[1].length?d[1].toLowerCase():null}function B(d){return d.includes(":")?(d=d.split(":"),1E3*(3600*parseInt(d[0])+60*parseInt(d[1])+parseInt(d[2]))):null}function t(d){try{var l=Date.parse(d);isNaN(l)&&(l=null)}catch(F){l=null}if(null==l&&d.includes(" ")){d=d.split(" ");try{l=Date.parse(d[0]),l+=B(d[1]),isNaN(l)&&(l=null)}catch(F){l=null}}return l}function G(){(jQuery("#ai-iab-tcf-bar").length||jQuery(".ai-list-manual").length)&& "function"==typeof __tcfapi&&"function"==typeof ai_load_blocks&&"undefined"==typeof ai_iab_tcf_callback_installed&&(__tcfapi("addEventListener",2,function(d,l){l&&"useractioncomplete"===d.eventStatus&&(ai_tcData=d,ai_load_blocks(),jQuery("#ai-iab-tcf-status").text("IAB TCF 2.0 DATA LOADED"),jQuery("#ai-iab-tcf-bar").addClass("status-ok").removeClass("status-error"))}),ai_iab_tcf_callback_installed=!0)}function u(d){d=("; "+document.cookie).split("; "+d+"=");if(2===d.length)return d.pop().split(";").shift()} function m(d){if(u(d)){var l=window.location.hostname;u(d)&&(document.cookie=d+"=;path=/"+(l?";domain="+l:"")+";expires=Thu, 01 Jan 1970 00:00:01 GMT");document.cookie=d+"=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;"}}Array.prototype.includes||(Array.prototype.includes=function(d){return!!~this.indexOf(d)});var ba=RegExp(":\\/\\/(.[^/:]+)","i");ai_process_lists=function(d){function l(e,c,k){if(0==e.length){if("!@!"==k)return!0;c!=k&&("true"==k.toLowerCase()?k=!0:"false"==k.toLowerCase()&&(k= !1));return c==k}if("object"!=typeof c&&"array"!=typeof c)return!1;var f=e[0];e=e.slice(1);if("*"==f)for(c=$jscomp.makeIterator(Object.entries(c)),f=c.next();!f.done;f=c.next()){if(f=$jscomp.makeIterator(f.value),f.next(),f=f.next().value,l(e,f,k))return!0}else if(f in c)return l(e,c[f],k);return!1}function F(e,c,k){if("object"!=typeof e||-1==c.indexOf("["))return!1;c=c.replace(/]| /gi,"").split("[");return l(c,e,k)}function ca(){"function"==typeof __tcfapi&&(a("#ai-iab-tcf-status").text("IAB TCF 2.0 DETECTED"), __tcfapi("getTCData",2,function(e,c){c?(a("#ai-iab-tcf-bar").addClass("status-ok"),"tcloaded"==e.eventStatus||"useractioncomplete"==e.eventStatus?(ai_tcData=e,e.gdprApplies?a("#ai-iab-tcf-status").text("IAB TCF 2.0 DATA LOADED"):jQuery("#ai-iab-tcf-status").text("IAB TCF 2.0 GDPR DOES NOT APPLY"),a("#ai-iab-tcf-bar").addClass("status-ok").removeClass("status-error"),setTimeout(function(){ai_process_lists()},10)):"cmpuishown"==e.eventStatus&&(ai_cmpuishown=!0,a("#ai-iab-tcf-status").text("IAB TCF 2.0 CMP UI SHOWN"), a("#ai-iab-tcf-bar").addClass("status-ok").removeClass("status-error"))):(a("#ai-iab-tcf-status").text("IAB TCF 2.0 __tcfapi getTCData failed"),a("#ai-iab-tcf-bar").removeClass("status-ok").addClass("status-error"))}))}function K(e){"function"==typeof __tcfapi?("undefined"==typeof ai_iab_tcf_callback_installed&&G(),"undefined"==typeof ai_tcData_requested&&(ai_tcData_requested=!0,ca(),url_parameters_need_tcData=!0)):e&&(a("#ai-iab-tcf-bar").addClass("status-error").removeClass("status-ok"),a("#ai-iab-tcf-status").text("IAB TCF 2.0 MISSING: __tcfapi function not found"))} d=null==d?a("div.ai-list-data, meta.ai-list-data"):d.filter(".ai-list-data");if(d.length){d.removeClass("ai-list-data");var J=document.cookie.split(";");J.forEach(function(e,c){J[c]=e.trim()});var V=getAllUrlParams(window.location.search);if(null!=V.referrer)var w=V.referrer;else w=document.referrer,""!=w&&(w=n(w));var R=window.navigator.userAgent,S=R.toLowerCase(),W=navigator.language,L=W.toLowerCase();if("undefined"!==typeof MobileDetect)var X=new MobileDetect(R);d.each(function(){var e=a(this).closest("div.code-block"), c=!0,k=a(this).attr("referer-list");if("undefined"!=typeof k){k=b64d(k).split(",");var f=a(this).attr("referer-list-type"),C=!1;a.each(k,function(A,g){if(""==g)return!0;if("*"==g.charAt(0))if("*"==g.charAt(g.length-1)){if(g=g.substr(1,g.length-2),-1!=w.indexOf(g))return C=!0,!1}else{if(g=g.substr(1),w.substr(-g.length)==g)return C=!0,!1}else if("*"==g.charAt(g.length-1)){if(g=g.substr(0,g.length-1),0==w.indexOf(g))return C=!0,!1}else if("#"==g){if(""==w)return C=!0,!1}else if(g==w)return C=!0,!1}); switch(f){case "B":C&&(c=!1);break;case "W":C||(c=!1)}}if(c&&(k=a(this).attr("client-list"),"undefined"!=typeof k&&"undefined"!==typeof X))switch(k=b64d(k).split(","),f=a(this).attr("client-list-type"),r=!1,a.each(k,function(A,g){if(""==g.trim())return!0;var M=g.split("&&");a.each(M,function(da,b){var x=!0,q=!1;b=b.trim();"!!"==b.substring(0,2)&&(x=!1,b=b.substring(2));"language:"==b.substring(0,9)&&(q=!0,b=b.substring(9).toLowerCase());var p=!1;q?"*"==b.charAt(0)?"*"==b.charAt(b.length-1)?(b=b.substr(1, b.length-2).toLowerCase(),-1!=L.indexOf(b)&&(p=!0)):(b=b.substr(1).toLowerCase(),L.substr(-b.length)==b&&(p=!0)):"*"==b.charAt(b.length-1)?(b=b.substr(0,b.length-1).toLowerCase(),0==L.indexOf(b)&&(p=!0)):b==L&&(p=!0):"*"==b.charAt(0)?"*"==b.charAt(b.length-1)?(b=b.substr(1,b.length-2).toLowerCase(),-1!=S.indexOf(b)&&(p=!0)):(b=b.substr(1).toLowerCase(),S.substr(-b.length)==b&&(p=!0)):"*"==b.charAt(b.length-1)?(b=b.substr(0,b.length-1).toLowerCase(),0==S.indexOf(b)&&(p=!0)):X.is(b)&&(p=!0);r=p?x:!x; if(!r)return!1});if(r)return!1}),f){case "B":r&&(c=!1);break;case "W":r||(c=!1)}var N=k=!1;if(c){var h=a(this).attr("parameter-list");if("undefined"!=typeof h){h=b64d(h);f=a(this).attr("parameter-list-type");h=h.replace("tcf-gdpr","tcf-v2[gdprApplies]=true");h=h.replace("tcf-no-gdpr","tcf-v2[gdprApplies]=false");h=h.replace("tcf-google","tcf-v2[vendor][consents][755]=true && tcf-v2[purpose][consents][1]=true");h=h.replace("tcf-media.net","tcf-v2[vendor][consents][142]=true && tcf-v2[purpose][consents][1]=true"); h=h.replace("tcf-amazon","tcf-v2[vendor][consents][793]=true && tcf-v2[purpose][consents][1]=true");h=h.replace("tcf-ezoic","tcf-v2[vendor][consents][347]=true && tcf-v2[purpose][consents][1]=true");h=h.split(",");var Y=[];J.forEach(function(A){A=A.split("=");try{var g=JSON.parse(decodeURIComponent(A[1]))}catch(M){g=decodeURIComponent(A[1])}Y[A[0]]=g});var r=!1,O=a(this);a.each(h,function(A,g){var M=g.split("&&");a.each(M,function(da,b){var x=!0;b=b.trim();"!!"==b.substring(0,2)&&(x=!1,b=b.substring(2)); var q=b,p="!@!",Z=-1!=b.indexOf("["),aa=(0==b.indexOf("tcf-v2")||0==b.indexOf("euconsent-v2"))&&-1!=b.indexOf("[");-1!=b.indexOf("=")&&(p=b.split("="),q=p[0],p=p[1],Z=-1!=q.indexOf("["),aa=(0==q.indexOf("tcf-v2")||0==q.indexOf("euconsent-v2"))&&-1!=q.indexOf("["));if(aa)a("#ai-iab-tcf-bar").show(),"object"==typeof ai_tcData?(a("#ai-iab-tcf-bar").addClass("status-ok"),q=q.replace(/]| /gi,"").split("["),q.shift(),r=(q=l(q,ai_tcData,p))?x:!x):(O.addClass("ai-list-data"),N=!0,"function"==typeof __tcfapi? K(!1):"undefined"==typeof ai_tcData_retrying&&(ai_tcData_retrying=!0,setTimeout(function(){"function"==typeof __tcfapi?K(!1):setTimeout(function(){"function"==typeof __tcfapi?K(!1):setTimeout(function(){K(!0)},3E3)},1E3)},600)));else if(Z)r=(q=F(Y,q,p))?x:!x;else{var T=!1;"!@!"==p?J.every(function(ea){return ea.split("=")[0]==b?(T=!0,!1):!0}):T=-1!=J.indexOf(b);r=T?x:!x}if(!r)return!1});if(r)return!1});r&&(N=!1);switch(f){case "B":r&&(c=!1);break;case "W":r||(c=!1)}a(this).hasClass("ai-list-manual")&& (c?(O.removeClass("ai-list-data"),O.removeClass("ai-list-manual")):(k=!0,O.addClass("ai-list-data")));if(!k&&!N&&(f=a(this).data("debug-info"),"undefined"!=typeof f&&(f=a("."+f),0!=f.length))){var v=f.parent();v.hasClass("ai-debug-info")&&v.remove()}}}v=a(this).prevAll(".ai-debug-bar.ai-debug-lists");f=""==w?"#":w;v.find(".ai-debug-name.ai-list-info").text(f).attr("title",R+"\n"+W);v.find(".ai-debug-name.ai-list-status").text(c?ai_front.visible:ai_front.hidden);f=!1;if(c){var D=a(this).attr("scheduling-start"); h=a(this).attr("scheduling-end");var H=a(this).attr("scheduling-days");if("undefined"!=typeof D&&"undefined"!=typeof h&&"undefined"!=typeof H){f=!0;var y=b64d(D),P=b64d(h),U=parseInt(a(this).attr("scheduling-fallback")),Q=parseInt(a(this).attr("gmt"));y.includes("-")||P.includes("-")?(h=t(y)+Q,D=t(P)+Q):(h=B(y),D=B(P));H=b64d(H).split(",");v=a(this).attr("scheduling-type");var z=(new Date).getTime()+Q,E=new Date(z),I=E.getDay();y.includes("-")||P.includes("-")||(y=(new Date(E.getFullYear(),E.getMonth(), E.getDate())).getTime()+Q,z-=y,0>z&&(z+=864E5));0==I?I=6:I--;y=z>=h&&z<D&&H.includes(I.toString());switch(v){case "B":y=!y}y||(c=!1);E=E.toISOString().split(".")[0].replace("T"," ");v=a(this).prevAll(".ai-debug-bar.ai-debug-scheduling");v.find(".ai-debug-name.ai-scheduling-info").text(E+" "+I+" current_time:"+Math.floor(z.toString()/1E3)+" start_date:"+Math.floor(h/1E3).toString()+" ="+(z>=h).toString()+" end_date:"+Math.floor(D/1E3).toString()+" =:"+(z<D).toString()+" days:"+H.toString()+" =:"+ H.includes(I.toString()).toString());v.find(".ai-debug-name.ai-scheduling-status").text(c?ai_front.visible:ai_front.hidden);c||0==U||(v.removeClass("ai-debug-scheduling").addClass("ai-debug-fallback"),v.find(".ai-debug-name.ai-scheduling-status").text(ai_front.fallback+" = "+U))}}if(k||N)return!0;a(this).css({visibility:"",position:"",width:"",height:"","z-index":""});c?(e.css({visibility:""}),e.hasClass("ai-remove-position")&&e.css({position:""}),"undefined"!=typeof a(this).data("code")&&(c=b64d(a(this).data("code")), 0!=a(this).closest("head").length?(a(this).after(c),a(this).remove()):a(this).append(c),ai_process_element_lists(this))):f&&!y&&0!=U?(e.css({visibility:""}),e.hasClass("ai-remove-position")&&e.css({position:""}),a(this).next(".ai-fallback").removeClass("ai-fallback"),"undefined"!=typeof a(this).data("fallback-code")?(c=b64d(a(this).data("fallback-code")),a(this).append(c),ai_process_element_lists(this)):(a(this).hide(),e.find(".ai-debug-block").length||-1!=e.attr("style").indexOf("height:")||e.hide()), c=e.attr("data-ai"),"undefined"!==typeof c&&!1!==c&&(c=a(this).attr("fallback-tracking"),"undefined"!==typeof c&&!1!==c&&e.attr("data-ai-"+a(this).attr("fallback_level"),c))):(a(this).hide(),e.length&&(e.removeAttr("data-ai").removeClass("ai-track"),e.find(".ai-debug-block").length?(e.css({visibility:""}).removeClass("ai-close"),e.hasClass("ai-remove-position")&&e.css({position:""})):-1==e.attr("style").indexOf("height:")&&e.hide()));a(this).attr("data-code","");a(this).attr("data-fallback-code", "");e.removeClass("ai-list-block")})}};a(document).ready(function(d){setTimeout(function(){ai_process_lists();setTimeout(function(){G();if("function"==typeof ai_load_blocks){var l=function(F){"cmplzEnableScripts"!=F.type&&"all"!==F.consentLevel||ai_load_blocks()};jQuery(document).on("cmplzEnableScripts",l);jQuery(document).on("cmplz_event_marketing",l)}},50);jQuery(".ai-debug-page-type").dblclick(function(){jQuery("#ai-iab-tcf-status").text("CONSENT COOKIES");jQuery("#ai-iab-tcf-bar").show()});jQuery("#ai-iab-tcf-bar").click(function(){m("euconsent-v2"); m("__lxG__consent__v2");m("__lxG__consent__v2_daisybit");m("__lxG__consent__v2_gdaisybit");m("CookieLawInfoConsent");m("cookielawinfo-checkbox-advertisement");m("cookielawinfo-checkbox-analytics");m("cookielawinfo-checkbox-necessary");m("complianz_policy_id");m("complianz_consent_status");m("cmplz_marketing");m("cmplz_consent_status");m("cmplz_preferences");m("cmplz_statistics-anonymous");m("cmplz_choice");m("moove_gdpr_popup");m("real_cookie_banner-blog:1-tcf");m("real_cookie_banner-blog:1");jQuery("#ai-iab-tcf-status").text("CONSENT COOKIES DELETED")})}, 5)})}); function ai_process_element_lists(a){setTimeout(function(){"function"==typeof ai_process_rotations_in_element&&ai_process_rotations_in_element(a);"function"==typeof ai_process_lists&&ai_process_lists(jQuery(".ai-list-data",a));"function"==typeof ai_process_ip_addresses&&ai_process_ip_addresses(jQuery(".ai-ip-data",a));"function"==typeof ai_process_filter_hooks&&ai_process_filter_hooks(jQuery(".ai-filter-check",a));"function"==typeof ai_adb_process_blocks&&ai_adb_process_blocks(a);"function"==typeof ai_process_impressions&& 1==ai_tracking_finished&&ai_process_impressions();"function"==typeof ai_install_click_trackers&&1==ai_tracking_finished&&ai_install_click_trackers();"function"==typeof ai_install_close_buttons&&ai_install_close_buttons(document)},5)} function getAllUrlParams(a){var n=a?a.split("?")[1]:window.location.search.slice(1);a={};if(n){n=n.split("#")[0];n=n.split("&");for(var B=0;B<n.length;B++){var t=n[B].split("="),G=void 0,u=t[0].replace(/\[\d*\]/,function(m){G=m.slice(1,-1);return""});t="undefined"===typeof t[1]?"":t[1];u=u.toLowerCase();t=t.toLowerCase();a[u]?("string"===typeof a[u]&&(a[u]=[a[u]]),"undefined"===typeof G?a[u].push(t):a[u][G]=t):a[u]=t}}return a}; jQuery(function(a){function u(e,c){c||(c=window.location.href);e=e.replace(/[\[\]]/g,"\\$&");var f=(new RegExp("[?&]"+e+"(=([^&#]*)|&|#|$)")).exec(c);return f?f[2]?decodeURIComponent(f[2].replace(/\+/g," ")):"":null}function v(e){e.removeClass("ai-ip-data");var c=!1;if(""!=ai_ip_data){try{var f=JSON.parse(ai_ip_data),g=f[0],l=f[1],n=f[2],p=f[3]}catch(d){return}var r=!1;-1!=g.indexOf("#")&&(r=!0,g=g.replace("#",""));var q="";r&&(q="CFP BLOCKED, ");q=q+g+", "+l;null!=n&&null!=p&&(q=q+":"+n+":"+p);null== n&&(n="");null==p&&(p="");null!=f&&e.each(function(){var d=a(this).closest("div.code-block");c=!0;var h=a(this).attr("ip-addresses");if("undefined"!=typeof h){h=h.split(",");var t=a(this).attr("ip-address-list"),k=!1;a.each(h,function(w,b){if("*"==b.charAt(0))if("*"==b.charAt(b.length-1)){if(b=b.substr(1,b.length-2),-1!=g.indexOf(b))return k=!0,!1}else{if(b=b.substr(1),g.substr(-b.length)==b)return k=!0,!1}else if("*"==b.charAt(b.length-1)){if(b=b.substr(0,b.length-1),0==g.indexOf(b))return k= !0,!1}else if("#"==b){if(""==g)return k=!0,!1}else if("CFP"==b.toUpperCase()){if(r)return k=!0,!1}else if(b==g)return k=!0,!1});switch(t){case "B":k&&(c=!1);break;case "W":k||(c=!1)}}if(c&&(h=a(this).attr("countries"),"undefined"!=typeof h))switch(h=h.split(","),t=a(this).attr("country-list"),k=!1,a.each(h,function(w,b){var m=b.trim().split(":");if(null==m[1]||""==n)m[1]="";if(null==m[2]||""==p)m[2]="";var x=m.join(":").toUpperCase();m=(l+":"+(""==m[1]?"":n)+":"+(""==m[2]?"":p)).toUpperCase();if(x== m)return k=!0,!1}),t){case "B":k&&(c=!1);break;case "W":k||(c=!1)}a(this).css({visibility:"",position:"",width:"",height:"","z-index":""});h=a(this).prev(".ai-debug-bar");h.find(".ai-debug-name.ai-ip-country").text(q);h.find(".ai-debug-name.ai-ip-status").text(c?ai_front.visible:ai_front.hidden);c?(d.css({visibility:""}),d.hasClass("ai-remove-position")&&d.css({position:""}),"undefined"!=typeof a(this).data("code")&&(h=b64d(a(this).data("code")),0!=a(this).closest("head").length?(a(this).after(h), a(this).remove()):a(this).append(h),a(this).attr("data-code",""),ai_process_element(this))):(a(this).hide(),d.length&&(d.removeAttr("data-ai").removeClass("ai-track"),d.find(".ai-debug-block").length?(d.css({visibility:""}).removeClass("ai-close"),d.hasClass("ai-remove-position")&&d.css({position:""}),"undefined"!=typeof a(this).data("code")&&(d.removeClass("ai-list-block"),d.removeClass("ai-list-block-filter"),d.prev().hasClass("ai-debug-info")&&d.prev().remove())):-1==d.attr("style").indexOf("height:")&& d.hide()));d.removeClass("ai-list-block-ip")})}}ai_process_ip_addresses=function(e){e=null==e?a("div.ai-ip-data, meta.ai-ip-data"):e.filter(".ai-ip-data");if(e.length)if("undefined"!=typeof ai_ip_data)v(e);else if("undefined"==typeof ai_ip_data_requested){ai_ip_data_requested=!0;var c="/wp-admin/admin-ajax.php?action=ai_ajax&ip-data=ip-address-country-city",f=u("ai-debug-ip-address");null!=f&&(c+="&ai-debug-ip-address="+f);f=u("ai-debug-country");null!=f&&(c+="&ai-debug-country="+f);a.ajax({url:c, type:"post",data:{ai_check:"ee78b8dcd3",ai_version:(new Date).getTime()+"-"+Math.round(1E5*Math.random())},async:!0}).done(function(g){ai_ip_data=g;if(""==g){var l="Ajax request returned empty data, geo-targeting disabled";console.error(l);"undefined"!=typeof ai_js_errors&&ai_js_errors.push([l,c,0])}else try{JSON.parse(g)}catch(n){l="Ajax call returned invalid data, geo-targeting disabled",console.error(l,g),"undefined"!=typeof ai_js_errors&&ai_js_errors.push([l,c,0])}e=a("div.ai-ip-data, meta.ai-ip-data"); e.length&&v(e)}).fail(function(g,l,n){a("div.ai-ip-data").each(function(){a(this).css({display:"none",visibility:"",position:"",width:"",height:"","z-index":""}).removeClass("ai-ip-data").hide()})})}};a(document).ready(function(e){setTimeout(function(){ai_process_ip_addresses()},5)})}); function ai_process_element(a){setTimeout(function(){"function"==typeof ai_process_rotations_in_element&&ai_process_rotations_in_element(a);"function"==typeof ai_process_lists&&ai_process_lists(jQuery(".ai-list-data",a));"function"==typeof ai_process_ip_addresses&&ai_process_ip_addresses(jQuery(".ai-ip-data",a));"function"==typeof ai_process_filter_hooks&&ai_process_filter_hooks(jQuery(".ai-filter-check",a));"function"==typeof ai_adb_process_blocks&&ai_adb_process_blocks(a);"function"==typeof ai_process_impressions&& 1==ai_tracking_finished&&ai_process_impressions();"function"==typeof ai_install_click_trackers&&1==ai_tracking_finished&&ai_install_click_trackers();"function"==typeof ai_install_close_buttons&&ai_install_close_buttons(document)},5)}; ai_run_545351765477 = function(){ ai_document_write=document.write;document.write=function(a){"interactive"==document.readyState?(console.error("document.write called after page load: ",a),"undefined"!=typeof ai_js_errors&&ai_js_errors.push(["document.write called after page load",a,0])):ai_document_write.call(document,a)}; ai_insert ('before', '#story-columns-2 .forecast-widget', b64d ('PGRpdiBjbGFzcz0nY29kZS1ibG9jayBjb2RlLWJsb2NrLTE5IGFpLXZpZXdwb3J0LTMnIHN0eWxlPSdtYXJnaW46IDhweCAwOyBjbGVhcjogYm90aDsgbWluLXdpZHRoOiAzMDBweDsnPgogIAogIDxkaXYgY2xhc3M9J2h0bGFkLW1yXzEnIGRhdGEtdW5pdD0na3Jkby9uZXdzL25ld3MtcmFkaW8nPjwvZGl2PjwvZGl2Pgo=')); ai_insert ('before', '#masthead', b64d ('PGRpdiBjbGFzcz0nY29kZS1ibG9jayBjb2RlLWJsb2NrLTknIHN0eWxlPSdtYXJnaW46IDA7Jz4KICA8ZGl2IGNsYXNzPSdodGxhZC1vb3AnIGRhdGEtdW5pdD0na3Jkby9uZXdzL25ld3MtcmFkaW8nPjwvZGl2PjwvZGl2Pgo=')); ai_insert ('before', 'div#story-columns-2 > div > div > div > div > div > article:eq(0)', b64d ('PGRpdiBjbGFzcz0nY29kZS1ibG9jayBjb2RlLWJsb2NrLTQnIHN0eWxlPSdtYXJnaW46IDhweCAwOyBjbGVhcjogYm90aDsgbWluLXdpZHRoOiAzMDBweDsnPgogIAogIDxkaXYgY2xhc3M9J2h0bGFkLW1yXzEnIGRhdGEtdW5pdD0na3Jkby9uZXdzL25ld3MtcmFkaW8nPjwvZGl2PjwvZGl2Pgo=')); ai_insert ('after', 'header#masthead', b64d ('PGRpdiBjbGFzcz0nY29kZS1ibG9jayBjb2RlLWJsb2NrLTEnIHN0eWxlPSdtYXJnaW46IDhweCBhdXRvIDhweDsgdGV4dC1hbGlnbjogY2VudGVyOyBkaXNwbGF5OiBibG9jazsgY2xlYXI6IGJvdGg7Jz4KICAKICA8ZGl2IGNsYXNzPSdodGxhZC1sZWFkZXJib2FyZF8xJyBkYXRhLXVuaXQ9J2tyZG8vbmV3cy9uZXdzLXJhZGlvJz48L2Rpdj48L2Rpdj4K')); }; if (document.readyState === 'complete' || (document.readyState !== 'loading' && !document.documentElement.doScroll)) ai_run_545351765477 (); else document.addEventListener ('DOMContentLoaded', ai_run_545351765477); ai_js_code = true; } function ai_wait_for_jquery(){function b(f,c){var a=document.createElement("script");a.src=f;var d=document.getElementsByTagName("head")[0],e=!1;a.onload=a.onreadystatechange=function(){e||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(e=!0,c&&c(),a.onload=a.onreadystatechange=null,d.removeChild(a))};d.appendChild(a)}window.jQuery&&window.jQuery.fn?ai_run_scripts():(ai_jquery_waiting_counter++,4==ai_jquery_waiting_counter&&b("https://krdo.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1",function(){b("https://krdo.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=6.8.1", null)}),30>ai_jquery_waiting_counter&&setTimeout(function(){ai_wait_for_jquery()},50))}ai_jquery_waiting_counter=0;ai_wait_for_jquery(); </script> <div class="viafoura"><vf-tray-trigger floating="true"></vf-tray-trigger></div> </div> <script type="text/javascript" async src="//cdn.viafoura.net/entry/index.js"></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-f190a1aa51390321b51","applicationID":"818884498","transactionName":"Z1dbY0RQChVSB0BRXV4deFRCWAsIHBRVX1cdUExeWlUBFA==","queueTime":0,"applicationTime":949,"atts":"SxBYFQxKGRs=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>
URL: