Halo Irreversibly Changes Jacob Keyes' Story In A Major Way (2024)

`),[e.width,e.height]=x[r.size_id].split("x").map((e=>Number(e)))),e.rubiconTargeting=(Array.isArray(r.targeting)?r.targeting:[]).reduce(((e,t)=>(e[t.key]=t.values[0],e)),{rpfl_elemid:a.adUnitCode}),t.push(e)}else(0,u.logError)(`Rubicon: bidRequest undefined at index position:${n}`,s,e);var c;return t}),[]).sort(((e,t)=>(t.cpm||0)-(e.cpm||0))),c=e.component_auction_config?.map((e=>({config:e,bidId:e.bidId})));return c?{bids:a,fledgeAuctionConfigs:c}:a},getUserSyncs:function(e,t,r,i,n){if(!R&&e.iframeEnabled){let e={};return r&&("boolean"==typeof r.gdprApplies&&(e.gdpr=Number(r.gdprApplies)),"string"==typeof r.consentString&&(e.gdpr_consent=r.consentString)),i&&(e.us_privacy=encodeURIComponent(i)),n?.gppString&&(e.gpp=n.gppString,e.gpp_sid=n.applicableSections?.toString()),e=Object.keys(e).length?`?${(0,u.formatQS)(e)}`:"",R=!0,{type:"iframe",url:`https://${b.syncHost||"eus"}.rubiconproject.com/usync.html`+e}}}};function h(e,t){let r;return r=e.params.referrer?e.params.referrer:t.refererInfo.page,e.params.secure?r.replace(/^http:/i,"https:"):r}function v(e){const t=document.getElementById(e.adUnitCode);!function(e){const t=e.querySelector("div[id^='google_ads']");t&&t.style.setProperty("display","none")}(t),function(e){const t=e.querySelector("script[id^='sas_script']"),r=t&&t.nextSibling;r&&"iframe"===r.localName&&r.style.setProperty("display","none")}(t);const r={...{align:"center",position:"append",closeButton:!1,label:void 0,collapse:!0},...e.renderer.getConfig()};e.renderer.push((()=>{window.MagniteApex.renderAd({width:e.width,height:e.height,vastUrl:e.vastUrl,placement:{attachTo:t,align:r.align,position:r.position},closeButton:r.closeButton,label:r.label,collapse:r.collapse})}))}function A(e,t){let r=e.params;if(t===d.G_){let t=[];return r.video&&r.video.playerWidth&&r.video.playerHeight?t=[r.video.playerWidth,r.video.playerHeight]:Array.isArray((0,m.A)(e,"mediaTypes.video.playerSize"))&&1===e.mediaTypes.video.playerSize.length?t=e.mediaTypes.video.playerSize[0]:Array.isArray(e.sizes)&&e.sizes.length>0&&Array.isArray(e.sizes[0])&&e.sizes[0].length>1&&(t=e.sizes[0]),t}let i=[];return Array.isArray(r.sizes)?i=r.sizes:void 0!==(0,m.A)(e,"mediaTypes.banner.sizes")?i=$(e.mediaTypes.banner.sizes):Array.isArray(e.sizes)&&e.sizes.length>0?i=$(e.sizes):(0,u.logWarn)("Rubicon: no sizes are setup or found"),function(e){const t=[15,2,9];return e.sort(((e,r)=>{const i=t.indexOf(e),n=t.indexOf(r);return i>-1||n>-1?-1===i?1:-1===n?-1:i-n:e-r}))}(i)}function j(e,t,r){return i=>{const n=Number(i.ext?.segtax);r.includes(n)&&(e[`tg_${t}.tax${n}`]=i.segment?.map((e=>e.id)).join(","))}}function $(e){return(0,u.parseSizesInput)(e).reduce(((e,t)=>{let r=parseInt(x[t],10);return r&&e.push(r),e}),[])}function k(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];if(function(e){let t=void 0!==(0,m.A)(e,`mediaTypes.${d.G_}`),r=void 0!==(0,m.A)(e,`mediaTypes.${d.D4}`),i=void 0!==(0,m.A)(e,"params.bidonmultiformat"),n="object"!=typeof(0,m.A)(e,"params.video");return!(!t||!i)||(r&&n&&(t=!1),t&&n&&(0,l.J)(e,"params.video",{}),t)}(e)){if(-1===["outstream","instream"].indexOf((0,m.A)(e,`mediaTypes.${d.G_}.context`)))return t&&(0,u.logError)("Rubicon: mediaTypes.video.context must be outstream or instream"),r;if(A(e,d.G_).length<2)return t&&(0,u.logError)("Rubicon: could not determine the playerSize of the video"),r;t&&(0,u.logMessage)("Rubicon: making video request for adUnit",e.adUnitCode),r.push(d.G_)}if(void 0!==(0,m.A)(e,`mediaTypes.${d.s6}`)&&r.push(d.s6),void 0!==(0,m.A)(e,`mediaTypes.${d.D4}`)){if(0===A(e,d.D4).length)return t&&(0,u.logError)("Rubicon: could not determine the sizes for banner request"),r;t&&(0,u.logMessage)("Rubicon: making banner request for adUnit",e.adUnitCode),r.push(d.D4)}return r}function S(e){let t=!1;const r=["asi","sid","hp"];return e.nodes?(t=e.nodes.reduce(((e,t)=>e?r.every((e=>t.hasOwnProperty(e))):e),!0),t||(0,u.logError)("Rubicon: required schain params missing"),t):t}function I(e,t){return"rp_schain"===e?`rp_schain=${t}`:`${e}=${encodeURIComponent(t)}`}var R=!1;(0,s.a$)(_),(0,i.E)("rubiconBidAdapter")}},e=>{e.O(0,[60802,58498,97247,47618,51085],(()=>{return t=99293,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[84258],{95282:(e,t,n)=>{var i=n(7873),r=n(57377),s=n(43272),a=n(71371),o=n(91069);const d=["inScreen","inImage","inArticle","inBanner"],p={[a.D4]:"display",[a.G_]:"video"},c="fixed",u="mobile",l="unknown",m=()=>{const e=navigator.connection||navigator.mozConnection||navigator.webkitConnection||{};switch(e.type||e.effectiveType){case"wifi":case"ethernet":return c;case"cellular":case"wimax":return u;default:return/iPad|iPhone|iPod/.test(navigator.userAgent)||/android/i.test(navigator.userAgent)?l:c}};function g(e){return!!e.mediaTypes&&!!e.mediaTypes.video}function h(e){const t=e.params;return!!t.publisherId&&!!t.adUnitId&&d.indexOf(t.placement)>-1}function y(e){const t=e.params,n=(0,o._map)(Object.keys(e.mediaTypes),(function(e){return p[e]})),i={id:e.bidId,transactionId:e.ortb2Imp?.ext?.tid,sizes:e.sizes,supplyTypes:n,adUnitId:t.adUnitId,adUnitCode:e.adUnitCode,geom:S(e.adUnitCode),placement:t.placement,requestCount:e.bidderRequestsCount||1};return g(e)&&(i.videoParams=f(e)),i}function f(e){const t=e.mediaTypes.video||{};return t.playerSize&&(t.w=t.playerSize[0][0],t.h=t.playerSize[0][1]),t}function b(e){const t="display"===(n=e.mediaType)?a.D4:"video"===n?a.G_:n;var n;const i={requestId:e.bidId,cpm:e.price,width:e.width,height:e.height,creativeId:e.creativeId,currency:e.currency,netRevenue:!0,mediaType:t,ttl:e.ttl,nurl:e.nurl,meta:{advertiserDomains:e&&e.adomain&&e.adomain.length>0?e.adomain:[]}};return t===a.G_?i.vastXml=e.content:i.ad=e.content,i}function v(){const e=(()=>{try{const e=performance.getEntriesByType("navigation")[0];return Math.round(e.responseStart-e.startTime)}catch(e){try{const e=performance.timing;return Math.round(e.responseStart-e.fetchStart)}catch(e){return 0}}})();return e>=0&&e<=performance.now()?e:0}function S(e){const t=document.getElementById(e);if(t){const e=window.scrollY,{top:n,left:i,width:r,height:s}=t.getBoundingClientRect();return{scrollY:e,top:n,left:i,width:r,height:s,viewport:{width:window.innerWidth,height:window.innerHeight}}}}const C={code:"seedtag",gvlid:157,aliases:["st"],supportedMediaTypes:[a.D4,a.G_],isBidRequestValid:e=>g(e)?function(e){const t=f(e);let n=!!e.params.publisherId&&!!e.params.adUnitId&&g(e)&&!!t.playerSize&&(0,o.isArray)(t.playerSize)&&t.playerSize.length>0;return"inStream"===e.params.placement?n&&"instream"===t.context:n&&"outstream"===t.context&&function(e){return!!e.mediaTypes&&!!e.mediaTypes.banner}(e)&&h(e)}(e):h(e),buildRequests(e,t){const n={url:t.refererInfo.page,publisherToken:e[0].params.publisherId,cmp:!!t.gdprConsent,timeout:t.timeout,version:"8.48.0",connectionType:m(),auctionStart:t.auctionStart||Date.now(),ttfb:v(),bidRequests:(0,o._map)(e,y),user:{topics:[],eids:[]}};if(n.cmp){const e=t.gdprConsent.gdprApplies;void 0!==e&&(n.ga=e),n.cd=t.gdprConsent.consentString}t.uspConsent&&(n.uspConsent=t.uspConsent),e[0].schain&&(n.schain=e[0].schain);let i=s.$W.getConfig("coppa");i&&(n.coppa=i),t.gppConsent?n.gppConsent={gppString:t.gppConsent.gppString,applicableSections:t.gppConsent.applicableSections}:t.ortb2?.regs?.gpp&&(n.gppConsent={gppString:t.ortb2.regs.gpp,applicableSections:t.ortb2.regs.gpp_sid}),t.ortb2?.user?.data&&(n.user.topics=t.ortb2.user.data),e[0]&&e[0].userIdAsEids&&(n.user.eids=e[0].userIdAsEids);return{method:"POST",url:"https://s.seedtag.com/c/hb/bid",data:JSON.stringify(n)}},interpretResponse:function(e){const t=e.body;return t&&t.bids&&(0,o.isArray)(t.bids)?(0,o._map)(t.bids,(function(e){return b(e)})):[]},getUserSyncs(e,t){const n=t[0];if(e.iframeEnabled&&n){const e=n.body.cookieSync;return e?[{type:"iframe",url:e}]:[]}return[]},onTimeout(e){const t=function(e){let t="";if((0,o.isArray)(e)&&e[0]&&(0,o.isArray)(e[0].params)&&e[0].params[0]){const n=e[0].params[0],i=e[0].timeout;t="?publisherToken="+n.publisherId+"&adUnitId="+n.adUnitId+"&timeout="+i}return"https://s.seedtag.com/se/hb/timeout"+t}(e);(0,o.triggerPixel)(t)},onBidWon:function(e){e&&e.nurl&&(0,o.triggerPixel)(e.nurl)}};(0,r.a$)(C),(0,i.E)("seedtagBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=95282,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[45496],{25862:(e,o,t)=>{var n=t(7873),r=t(91069),d=t(16833),i=t(16916),a=t(12938),u=t(45569),c=t(2339);const l=(0,a.vM)({moduleType:u.fW,moduleName:"sharedId"}),s="cookie",m="html5",f="_pubcid_optout",g="PublisherCommonId";function p(e,o){if(o===s)return l.getCookie(e);if(o===m&&l.hasLocalStorage()){const o=l.getDataFromLocalStorage(`${e}_exp`);if(!o)return l.getDataFromLocalStorage(e);if(new Date(o).getTime()-Date.now()>0)return l.getDataFromLocalStorage(e)}}function I(e,o){return function(t,n){o?b(o,e,(()=>{t(n()||e)}))():t(e)}}function b(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.parseUrl)(e);n.search.id=encodeURIComponent("pubcid:"+o);const d=(0,r.buildUrl)(n);return function(){(0,r.triggerPixel)(d,t)}}function v(){return!!(l.cookiesAreEnabled()&&p(f,s)||l.hasLocalStorage()&&p(f,m))}const h={name:"sharedId",aliasName:"pubCommonId",gvlid:i.B1,decode(e,o){if(v())return void(0,r.logInfo)("PubCommonId decode: Has opted-out");(0,r.logInfo)(" Decoded value PubCommonId "+e);return{pubcid:e}},getId:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>2?arguments[2]:void 0;if(v())return void(0,r.logInfo)("PubCommonId: Has opted-out");if(i.et.getCoppa())return void(0,r.logInfo)("PubCommonId: IDs not provided for coppa requests, exiting PubCommonId");const{params:{create:t=!0,pixelUrl:n}={}}=e;let d=o;if(!d){try{"object"==typeof window[g]&&(d=window[g].getId())}catch(e){}d||(d=t&&(0,r.hasDeviceAccess)()?(0,r.generateUUID)():void 0)}return{id:d,callback:I(d,n)}},extendId:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>2?arguments[2]:void 0;if(v())return(0,r.logInfo)("PubCommonId: Has opted-out"),{id:void 0};if(i.et.getCoppa())return void(0,r.logInfo)("PubCommonId: IDs not provided for coppa requests, exiting PubCommonId");const{params:{extend:t=!1,pixelUrl:n}={}}=e;if(t){if(n){return{callback:b(n,o)}}return{id:o}}},domainOverride:(0,c.w)(l,"sharedId"),eids:{pubcid:{source:"pubcid.org",atype:1}}};(0,d.bz)("userId",h),(0,n.E)("sharedIdSystem")}},e=>{e.O(0,[12764,60802,51085],(()=>{return o=25862,e(e.s=o);var o}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[28746],{27454:(e,t,r)=>{var n=r(7873),i=r(91069),o=r(70433),a=r(57377),d=r(12938),s=r(72285);const c="teads",p=12,u=11,l=0,g=22,m=(0,d.vM)({bidderCode:c}),y={code:c,gvlid:132,supportedMediaTypes:["video","banner"],isBidRequestValid:function(e){let t=!1;if(void 0!==e.params){let r=S((0,i.getValue)(e.params,"placementId")),n=S((0,i.getValue)(e.params,"pageId"));t=r&&n}return t||(0,i.logError)("Teads placementId and pageId parameters are required. Bid aborted."),t},buildRequests:function(e,t){const r=e.map(w),n=window.top,i={referrer:f(t),pageReferrer:document.referrer,pageTitle:v().slice(0,300),pageDescription:h().slice(0,300),networkBandwidth:(a=window.navigator,a&&a.connection&&a.connection.downlink>=0?a.connection.downlink.toString():""),timeToFirstByte:b(window),data:r,deviceWidth:screen.width,deviceHeight:screen.height,devicePixelRatio:n.devicePixelRatio,screenOrientation:screen.orientation?.type,historyLength:n.history?.length,viewportHeight:n.visualViewport?.height,viewportWidth:n.visualViewport?.width,hardwareConcurrency:n.navigator?.hardwareConcurrency,deviceMemory:n.navigator?.deviceMemory,hb_version:"8.48.0",...I(e),...q(e)};var a;const d=e[0];d.schain&&(i.schain=d.schain);let s=t.gdprConsent;if(t&&s){let e="boolean"==typeof s.gdprApplies,t="string"==typeof s.consentString,r=e?function(e,t){let r=p;e?t&&!t.isServiceSpecific&&(r=u):r=l;return r}(s.gdprApplies,s.vendorData):g;i.gdpr_iab={consent:t?s.consentString:"",status:r,apiVersion:s.apiVersion}}t&&t.uspConsent&&(i.us_privacy=t.uspConsent);const c=(0,o.A)(d,"ortb2.device.sua");c&&(i.userAgentClientHints=c);const m=(0,o.A)(t,"ortb2.regs.ext.dsa");m&&(i.dsa=m);return{method:"POST",url:"https://a.teads.tv/hb/bid-request",data:JSON.stringify(i)}},interpretResponse:function(e,t){if(!(e=e.body).responses)return[];const r=(0,s.T)();return e.responses.filter((e=>!e.needAutoplay||r)).map((e=>{const t={cpm:e.cpm,width:e.width,height:e.height,currency:e.currency,netRevenue:!0,ttl:e.ttl,meta:{advertiserDomains:e&&e.adomain?e.adomain:[]},ad:e.ad,requestId:e.bidId,creativeId:e.creativeId,placementId:e.placementId};return e.dealId&&(t.dealId=e.dealId),e?.ext?.dsa&&(t.meta.dsa=e.ext.dsa),t}))}};function I(e){const t={unifiedId2:"uid2.id",liveRampId:"idl_env",lotamePanoramaId:"lotamePanoramaId",id5Id:"id5id.uid",criteoId:"criteoId",yahooConnectId:"connectId",quantcastId:"quantcastId",epsilonPublisherLinkId:"publinkId",publisherFirstPartyViewerId:"pubcid",merkleId:"merkleId.id",kinessoId:"kpuid"};let r={};for(const n in t){const i=t[n],a=(0,o.A)(e,`0.userId.${i}`);a&&(r[n]=a)}return r}function f(e){let t="";return e&&e.refererInfo&&e.refererInfo.page&&(t=e.refererInfo.page),t}function v(){try{const e=window.top.document.querySelector('meta[property="og:title"]');return window.top.document.title||e&&e.content||""}catch(e){const t=document.querySelector('meta[property="og:title"]');return document.title||t&&t.content||""}}function h(){let e;try{e=window.top.document.querySelector('meta[name="description"]')||window.top.document.querySelector('meta[property="og:description"]')}catch(t){e=document.querySelector('meta[name="description"]')||document.querySelector('meta[property="og:description"]')}return e&&e.content||""}function b(e){const t=e.performance||e.webkitPerformance||e.msPerformance||e.mozPerformance,r=t&&"function"==typeof t.getEntriesByType&&"[object Function]"===Object.prototype.toString.call(t.getEntriesByType)&&t.getEntriesByType("navigation")[0]&&t.getEntriesByType("navigation")[0].responseStart&&t.getEntriesByType("navigation")[0].requestStart&&t.getEntriesByType("navigation")[0].responseStart>0&&t.getEntriesByType("navigation")[0].requestStart>0&&Math.round(t.getEntriesByType("navigation")[0].responseStart-t.getEntriesByType("navigation")[0].requestStart);if(r)return r.toString();const n=t&&t.timing.responseStart&&t.timing.requestStart&&t.timing.responseStart>0&&t.timing.requestStart>0&&t.timing.responseStart-t.timing.requestStart;return n?n.toString():""}function w(e){const t={};let r=(0,i.getValue)(e.params,"placementId"),n=(0,i.getValue)(e.params,"pageId");const a=(0,o.A)(e,"ortb2Imp.ext.gpid"),d=(0,o.A)(e,"mediaTypes.video.plcmt");return t.sizes=function(e){return(0,i.parseSizesInput)(function(e){let t=(0,o.A)(e,"mediaTypes.video.playerSize"),r=(0,o.A)(e,"mediaTypes.video.sizes"),n=(0,o.A)(e,"mediaTypes.banner.sizes");if((0,i.isArray)(n)||(0,i.isArray)(t)||(0,i.isArray)(r)){return[n,r,t].reduce((function(e,t){return(0,i.isArray)(t)&&((0,i.isArray)(t[0])?t.forEach((function(t){e.push(t)})):e.push(t)),e}),[])}return e.sizes}(e))}(e),t.bidId=(0,i.getBidIdParameter)("bidId",e),t.bidderRequestId=(0,i.getBidIdParameter)("bidderRequestId",e),t.placementId=parseInt(r,10),t.pageId=parseInt(n,10),t.adUnitCode=(0,i.getBidIdParameter)("adUnitCode",e),t.transactionId=e.ortb2Imp?.ext?.tid||"",a&&(t.gpid=a),d&&(t.videoPlcmt=d),t}function S(e){return parseInt(e)>0}function q(e){const t=(0,o.A)(e,"0.userId.teadsId");if(t)return{firstPartyCookieTeadsId:t};if(m.cookiesAreEnabled(null)){const e=m.getCookie("_tfpvi",null);if(e)return{firstPartyCookieTeadsId:e}}return{}}(0,a.a$)(y),(0,n.E)("teadsBidAdapter")}},e=>{e.O(0,[42809,60802,51085],(()=>{return t=27454,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[98282],{26504:(e,t,r)=>{var n=r(7873),i=r(70433),o=r(91069),a=r(71371),s=r(57377),d=r(43272),l=r(12938),p=r(76568);const c="triplelift";let u=null,m=null;const f=(0,l.vM)({bidderCode:c}),g={gvlid:28,code:c,supportedMediaTypes:[a.D4,a.G_],isBidRequestValid:function(e){return void 0!==e.params.inventoryCode},buildRequests:function(e,t){let r="https://tlx.3lift.com/header/auction?",n=function(e,t){let r={},{schain:n}=e[0];const a=function(e){const t={},r={},n={},i=e.ortb2||{},a=function(){const e=f.getDataFromLocalStorage("opecloud_ctx");if(!e)return null;try{return JSON.parse(e)}catch(e){return(0,o.logError)("Triplelift: error parsing JSON: ",e),null}}(),s=Object.assign({},i.site),d=Object.assign({},i.user);if(a){d.data=d.data||[];try{d.data.push({name:"www.1plusx.com",ext:a})}catch(e){(0,o.logError)("Triplelift: error adding 1plusX segments: ",e)}}x(r,s),x(n,d),(0,o.isEmpty)(r)||(t.context=r);(0,o.isEmpty)(n)||(t.user=n);return t}(t);r.imp=e.map((function(e,t){let r={id:t,tagid:e.params.inventoryCode,floor:h(e)};return b(e)&&(r.video=function(e){let t={...e.params.video,...e.mediaTypes.video};try{t.w||(t.w=t.playerSize[0][0]),t.h||(t.h=t.playerSize[0][1])}catch(e){(0,o.logWarn)("Video size not defined",e)}"instream"===t.context&&(t.placement||(t.placement=1));"outstream"===t.context&&(t.placement?-1===[3,4,5].indexOf(t.placement)&&((0,o.logMessage)(`video.placement value of ${t.placement} is invalid for outstream context. Setting placement to 3`),t.placement=3):t.placement=3);t.playbackmethod&&Number.isInteger(t.playbackmethod)&&(t.playbackmethod=Array.from(String(t.playbackmethod),Number));return delete t.playerSize,t}(e)),e.mediaTypes.banner&&!y(e)&&(r.banner={format:E(e.sizes)}),(0,o.isEmpty)(e.ortb2Imp)||(r.fpd=function(e){const t={},r={};x(r,e.ext),(0,o.isEmpty)(r)||(t.context=r);return t}(e.ortb2Imp),(0,o.isEmpty)(e.ortb2Imp.ext)||(r.ext={...e.ortb2Imp.ext})),r}));let s=[];e[0].userIdAsEids&&(s=i.A(e[0],"userIdAsEids"),r.user={ext:{eids:s}});let d=function(e,t){let r={};(0,o.isEmpty)(e)||(r.schain={...e});(0,o.isEmpty)(t)||(r.fpd={...t});return r}(n,a);(0,o.isEmpty)(d)||(r.ext=d);t?.ortb2?.regs?.gpp&&(r.regs=Object.assign({},t.ortb2.regs));t?.ortb2&&(r.ext.ortb2=Object.assign({},t.ortb2));return r}(e,t);if(r=(0,p.v)(r,"lib","prebid"),r=(0,p.v)(r,"v","8.48.0"),t&&t.refererInfo){let e=t.refererInfo.page;r=(0,p.v)(r,"referrer",e)}return t&&t.timeout&&(r=(0,p.v)(r,"tmax",t.timeout)),t&&t.gdprConsent&&(u=void 0===t.gdprConsent.gdprApplies||t.gdprConsent.gdprApplies,r=(0,p.v)(r,"gdpr",u.toString()),void 0!==t.gdprConsent.consentString&&(m=t.gdprConsent.consentString,r=(0,p.v)(r,"cmp_cs",m))),t&&t.uspConsent&&(r=(0,p.v)(r,"us_privacy",t.uspConsent)),t&&t.fledgeEnabled&&(r=(0,p.v)(r,"fledge",t.fledgeEnabled)),!0===d.$W.getConfig("coppa")&&(r=(0,p.v)(r,"coppa",!0)),r.lastIndexOf("&")===r.length-1&&(r=r.substring(0,r.length-1)),(0,o.logMessage)("tlCall request built: "+r),{method:"POST",url:r,data:n,bidderRequest:t}},interpretResponse:function(e,t){let{bidderRequest:r}=t,n=e.body.bids||[];const i=e.body.paapi||[];if(n=n.map((e=>function(e,t){let r={},n=t.width||1,i=t.height||1,o=t.deal_id||"",a=t.crid||"",s=e.bids[t.imp_id];0!=t.cpm&&t.ad&&(r={requestId:s.bidId,cpm:t.cpm,width:n,height:i,netRevenue:!0,ad:t.ad,creativeId:a,dealId:o,currency:"USD",ttl:300,tl_source:t.tl_source,meta:{}},b(s)&&"video"===t.media_type&&(r.vastXml=t.ad,r.mediaType="video",r.ttl=3600),t.advertiser_name&&(r.meta.advertiserName=t.advertiser_name),t.adomain&&t.adomain.length&&(r.meta.advertiserDomains=t.adomain),t.tl_source&&"hdx"==t.tl_source&&(b(s)&&"video"===t.media_type?r.meta.mediaType="video":r.meta.mediaType="banner"),t.tl_source&&"tlx"==t.tl_source&&(r.meta.mediaType="native"),a&&(r.meta.networkId=a.slice(0,a.indexOf("_"))));return r}(r,e))),i.length>0){const e=i.map((e=>({bidId:r.bids[e.imp_id].bidId,config:e.auctionConfig})));return(0,o.logMessage)("Response with FLEDGE:",{bids:n,fledgeAuctionConfigs:e}),{bids:n,fledgeAuctionConfigs:e}}return n},getUserSyncs:function(e,t,r,n,i){let o=function(e){if(!e)return;if(e.iframeEnabled)return"iframe";if(e.pixelEnabled)return"image"}(e);if(!o)return;let a="https://eb2.3lift.com/sync?";return"image"===o&&(a=(0,p.v)(a,"px",1),a=(0,p.v)(a,"src","prebid")),(null!==m||u)&&(a=(0,p.v)(a,"gdpr",u),a=(0,p.v)(a,"cmp_cs",m)),n&&(a=(0,p.v)(a,"us_privacy",n)),i&&(i.gppString&&(a=(0,p.v)(a,"gpp",i.gppString)),i.applicableSections&&0!==i.applicableSections.length&&(a=(0,p.v)(a,"gpp_sid",i.applicableSections.filter((e=>Number.isInteger(e))).join(",")))),[{type:o,url:a}]}};function b(e){return v(e)&&(y(e)||function(e){return v(e)&&"outstream"===e.mediaTypes.video.context.toLowerCase()}(e))}function y(e){return v(e)&&"instream"===e.mediaTypes.video.context.toLowerCase()}function v(e){return e.mediaTypes.video&&e.mediaTypes.video.context}function h(e){let t=null;if("function"==typeof e.getFloor)try{const r=e.getFloor({currency:"USD",mediaType:b(e)?"video":"banner",size:"*"});"object"!=typeof r||"USD"!==r.currency||isNaN(parseFloat(r.floor))||(t=parseFloat(r.floor))}catch(e){(0,o.logError)("Triplelift: getFloor threw an error: ",e)}return null!==t?t:e.params.floor}function x(e,t){(0,o.isEmpty)(t)||Object.keys(t).forEach((r=>{null!=t[r]&&(e[r]=t[r])}))}function E(e){return e.filter(S).map((function(e){return{w:e[0],h:e[1]}}))}function S(e){return 2===e.length&&"number"==typeof e[0]&&"number"==typeof e[1]}(0,s.a$)(g),(0,n.E)("tripleliftBidAdapter")}},e=>{e.O(0,[14577,60802,51085],(()=>{return t=26504,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[68907,56293],{85263:(e,t,s)=>{var r=s(7873),i=s(91069),n=s(16833),o=s(12938),a=s(45569),l=s(84259),d=s(50646);const c="uid2",u=`PrebidJS-8.48.0-UID2Module-${l.kz}`,p="UID2: ";function h(e,t){return function(){for(var s=arguments.length,r=new Array(s),i=0;i{s.d(t,{E0:()=>h,kz:()=>o,wq:()=>p});var r=s(7873),i=s(68044),n=s(91069);const o="1.1";function a(e){return!!("object"==typeof e&&null!==e&&e.advertising_token&&e.identity_expires&&e.refresh_from&&e.refresh_token&&e.refresh_expires)}class l{constructor(e,t,s,r){this._baseUrl=e.baseUrl,this._clientVersion=t,this._logInfo=s,this._logWarn=r}createArrayBuffer(e){const t=new Uint8Array(e.length);for(let s=0;s{s=e,r=t}));return this._logInfo("Sending refresh request",e),(0,i.RD)(t,{success:t=>{try{if(e.refresh_response_key){this._logInfo("Decrypting refresh API response");const i=this.createArrayBuffer(atob(t));window.crypto.subtle.importKey("raw",this.createArrayBuffer(atob(e.refresh_response_key)),{name:"AES-GCM"},!1,["decrypt"]).then((e=>{this._logInfo("Imported decryption key"),window.crypto.subtle.decrypt({name:"AES-GCM",iv:i.slice(0,12),tagLength:128},e,i.slice(12)).then((e=>{const t=String.fromCharCode(...new Uint8Array(e));this._logInfo("Decrypted to:",t);const i=JSON.parse(t),n=this.ResponseToRefreshResult(i);"string"==typeof n?r(n):s(n)}),(e=>this._logWarn("Call to UID2 API failed",e)))}),(e=>this._logWarn("Call to UID2 API failed",e)))}else{this._logInfo("No response decryption key available, assuming unencrypted JSON");const e=JSON.parse(t),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(i):s(i)}}catch(e){r(t)}},error:(e,t)=>{try{this._logInfo("Error status, assuming unencrypted JSON");const e=JSON.parse(t.responseText),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(i):s(i)}catch(t){r(e)}}},e.refresh_token,{method:"POST",customHeaders:{"X-UID2-Client-Version":this._clientVersion}}),n}}class d{constructor(e,t,s,r){this._storage=e,this._preferLocalStorage=t,this._storageName=s,this._logInfo=r}readCookie(e){return this._storage.cookiesAreEnabled()?this._storage.getCookie(e):null}readLocalStorage(e){return this._storage.localStorageIsEnabled()?this._storage.getDataFromLocalStorage(e):null}readModuleCookie(){return this.parseIfContainsBraces(this.readCookie(this._storageName))}writeModuleCookie(e){this._storage.setCookie(this._storageName,JSON.stringify(e),Date.now()+864e5)}readModuleStorage(){return this.parseIfContainsBraces(this.readLocalStorage(this._storageName))}writeModuleStorage(e){this._storage.setDataInLocalStorage(this._storageName,JSON.stringify(e))}readProvidedCookie(e){return JSON.parse(this.readCookie(e))}parseIfContainsBraces(e){return e?.includes("{")?JSON.parse(e):e}storeValue(e){this._preferLocalStorage?this.writeModuleStorage(e):this.writeModuleCookie(e)}getStoredValueWithFallback(){const e=this._preferLocalStorage?"local storage":"cookie",t=(this._preferLocalStorage?this.readModuleStorage:this.readModuleCookie).bind(this),s=(this._preferLocalStorage?this.writeModuleStorage:this.writeModuleCookie).bind(this),r=(this._preferLocalStorage?this.readModuleCookie:this.readModuleStorage).bind(this),i=t();if(i){if("string"==typeof i){const t=r();if(t&&"object"==typeof t)return this._logInfo(`${e} contained a basic token, but found a refreshable token fallback. Copying the fallback value to ${e}.`),s(t),t}}else{const t=r();if(t)return this._logInfo(`${e} was empty, but found a fallback value.`),"object"==typeof t&&(this._logInfo(`Copying the fallback value to ${e}.`),s(t)),t}return i}}function c(e,t,s,r,i,n){i("UID2 base url provided: ",e);return new l({baseUrl:e},s,i,n).callRefreshApi(t).then((e=>{i("Refresh endpoint responded with:",e);const s={originalToken:t,latestToken:e.identity};let n=r.getStoredValueWithFallback();return n?.originalIdentity&&(s.originalIdentity=n.originalIdentity),r.storeValue(s),s}))}let u;{const e=9;u={isCSTGOptionsValid(e,t){if("object"!=typeof e||null===e)return t("CSTG opts must be an object"),!1;const s=e;if("string"!=typeof s.serverPublicKey)return t("CSTG opts.serverPublicKey must be a string"),!1;const r=/^(UID2|EUID)-X-[A-Z]-.+/;return r.test(s.serverPublicKey)?"string"!=typeof s.subscriptionId?(t("CSTG opts.subscriptionId must be a string"),!1):0!==s.subscriptionId.length||(t("CSTG opts.subscriptionId is empty"),!1):(t(`CSTG opts.serverPublicKey must match the regular expression ${r}`),!1)},getValidIdentity(e,s){if(e.emailHash)return t.isBase64Hash(e.emailHash)?{email_hash:e.emailHash}:void s("CSTG opts.emailHash is invalid");if(e.phoneHash)return t.isBase64Hash(e.phoneHash)?{phone_hash:e.phoneHash}:void s("CSTG opts.phoneHash is invalid");if(e.email){const r=t.normalizeEmail(e.email);return void 0===r?void s("CSTG opts.email is invalid"):{email:r}}return e.phone?t.isNormalizedPhone(e.phone)?{phone:e.phone}:void s("CSTG opts.phone is invalid"):void 0},isStoredTokenInvalid(e,t,s,r){if(t){if("optout"===t.latestToken)return!0;const r=Object.values(e)[0];if(!this.isStoredTokenFromSameIdentity(t,r))return s("CSTG supplied new identity - ignoring stored value.",t.originalIdentity,e),!0}return!1},async generateTokenAndStore(e,t,r,i,n,o){n("UID2 cstg opts provided: ",JSON.stringify(t));const a=new s({baseUrl:e,cstg:t},n,o),l=await a.generateToken(r);n("CSTG endpoint responded with:",l);const d={originalIdentity:this.encodeOriginalIdentity(r),latestToken:l.identity};return i.storeValue(d),d},isStoredTokenFromSameIdentity:(e,t)=>!!e.originalIdentity&&(0,n.cyrb53Hash)(t,e.originalIdentity.salt)===e.originalIdentity.identity,encodeOriginalIdentity(e){const t=Object.values(e)[0],s=Math.floor(Math.random()*Math.pow(2,32));return{identity:(0,n.cyrb53Hash)(t,s),salt:s}}};class t{static EMAIL_EXTENSION_SYMBOL="+";static EMAIL_DOT=".";static GMAIL_DOMAIN="gmail.com";static isBase64Hash(e){if(!e||44!==e.length)return!1;try{return btoa(atob(e))===e}catch(e){return!1}}static isNormalizedPhone(e){return/^\+[0-9]{10,15}$/.test(e)}static normalizeEmail(e){if(!e||!e.length)return;const t=e.trim().toLowerCase();if(t.indexOf(" ")>0)return;const s=this.splitEmailIntoAddressAndDomain(t);if(!s)return;const{address:r,domain:i}=s,n=this.isGmail(i),o=this.normalizeAddressPart(r,n,n);return o?`${o}@${i}`:void 0}static splitEmailIntoAddressAndDomain(e){const t=e.split("@");if(2===t.length&&!t.some((e=>""===e)))return{address:t[0],domain:t[1]}}static isGmail(e){return e===this.GMAIL_DOMAIN}static dropExtension(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.EMAIL_EXTENSION_SYMBOL;return e.split(t)[0]}static normalizeAddressPart(e,t,s){let r=e;return t&&(r=r.replaceAll(this.EMAIL_DOT,"")),s&&(r=this.dropExtension(r)),r}}class s{constructor(e,t,s){this._baseUrl=e.baseUrl,this._serverPublicKey=e.cstg.serverPublicKey,this._subscriptionId=e.cstg.subscriptionId,this._optoutCheck=e.cstg.optoutCheck,this._logInfo=t,this._logWarn=s}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isCstgApiSuccessResponse(e){return this.hasStatusResponse(e)&&"success"===e.status&&a(e.body)}isCstgApiOptoutResponse(e){return this.hasStatusResponse(e)&&"optout"===e.status}isCstgApiClientErrorResponse(e){return this.hasStatusResponse(e)&&"client_error"===e.status&&"string"==typeof e.message}isCstgApiForbiddenResponse(e){return this.hasStatusResponse(e)&&"invalid_http_origin"===e.status&&"string"==typeof e.message}stripPublicKeyPrefix(t){return t.substring(e)}async generateCstgRequest(e){if("email_hash"in e||"phone_hash"in e)return e;if("email"in e){return{email_hash:await o.hash(e.email)}}if("phone"in e){return{phone_hash:await o.hash(e.phone)}}}async generateToken(e){const t=await this.generateCstgRequest(e),s={optout_check:this._optoutCheck,...t};this._logInfo("Building CSTG request for",s);const i=await r.build(this.stripPublicKeyPrefix(this._serverPublicKey)),n=new TextEncoder,a=Date.now(),{iv:l,ciphertext:d}=await i.encrypt(n.encode(JSON.stringify(s)),n.encode(JSON.stringify([a]))),c=await o.exportPublicKey(i.clientPublicKey),u={payload:o.bytesToBase64(new Uint8Array(d)),iv:o.bytesToBase64(new Uint8Array(l)),public_key:o.bytesToBase64(new Uint8Array(c)),timestamp:a,subscription_id:this._subscriptionId};return this.callCstgApi(u,i)}async callCstgApi(e,t){const s=this._baseUrl+"/v2/token/client-generate";let r,n;const a=new Promise(((e,t)=>{r=e,n=t}));return this._logInfo("Sending CSTG request",e),(0,i.RD)(s,{success:async(e,s)=>{try{const s=o.base64ToBytes(e),i=await t.decrypt(s.slice(0,12),s.slice(12)),a=(new TextDecoder).decode(i),l=JSON.parse(a);this.isCstgApiSuccessResponse(l)?r({status:"success",identity:l.body}):this.isCstgApiOptoutResponse(l)?r({status:"optout",identity:"optout"}):n(`API error: Response body was invalid for HTTP status 200: ${a}`)}catch(e){n(e)}},error:(e,t)=>{try{if(400===t.status){const e=JSON.parse(t.responseText);this.isCstgApiClientErrorResponse(e)?n(`Client error: ${e.message}`):n(`API error: Response body was invalid for HTTP status 400: ${t.responseText}`)}else if(403===t.status){const e=JSON.parse(t.responseText);this.isCstgApiForbiddenResponse(t)?n(`Forbidden: ${e.message}`):n(`API error: Response body was invalid for HTTP status 403: ${t.responseText}`)}else n(`API error: Unexpected HTTP status ${t.status}: ${e}`)}catch(t){n(e)}}},JSON.stringify(e),{method:"POST"}),a}}class r{static _namedCurve="P-256";constructor(e,t){this._clientPublicKey=e,this._sharedKey=t}static async build(e){const t=await o.generateKeyPair(r._namedCurve),s=await o.importPublicKey(e,this._namedCurve),i=await o.deriveKey(s,t.privateKey);return new r(t.publicKey,i)}async encrypt(e,t){const s=window.crypto.getRandomValues(new Uint8Array(12));return{iv:s,ciphertext:await window.crypto.subtle.encrypt({name:"AES-GCM",iv:s,additionalData:t},this._sharedKey,e)}}async decrypt(e,t){return window.crypto.subtle.decrypt({name:"AES-GCM",iv:e},this._sharedKey,t)}get clientPublicKey(){return this._clientPublicKey}}class o{static base64ToBytes(e){const t=atob(e);return Uint8Array.from(t,(e=>e.codePointAt(0)))}static bytesToBase64(e){const t=Array.from(e,(e=>String.fromCodePoint(e))).join("");return btoa(t)}static async generateKeyPair(e){const t={name:"ECDH",namedCurve:e};return window.crypto.subtle.generateKey(t,!1,["deriveKey"])}static async importPublicKey(e,t){const s={name:"ECDH",namedCurve:t};return window.crypto.subtle.importKey("spki",this.base64ToBytes(e),s,!1,[])}static exportPublicKey(e){return window.crypto.subtle.exportKey("spki",e)}static async deriveKey(e,t){return window.crypto.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}static async hash(e){const t=await window.crypto.subtle.digest("SHA-256",(new TextEncoder).encode(e));return this.bytesToBase64(new Uint8Array(t))}}}function p(e,t,s,r){let i=null;const n="cookie"!==e.storage,o=new d(t,n,e.internalStorage,s);s(`Module is using ${n?"local storage":"cookies"} for internal storage.`);const a=u&&u.isCSTGOptionsValid(e.cstg,r);a?(s("Module is using client-side token generation."),i=null):e.paramToken?(i=e.paramToken,s("Read token from params",i)):e.serverCookieName&&(i=o.readProvidedCookie(e.serverCookieName),s("Read token from server-supplied cookie",i));let l=o.getStoredValueWithFallback();if(s("Loaded module-stored tokens:",l),l&&"string"==typeof l){if(!i&&!a)return s("Returning legacy cookie value."),{id:l};s("Discarding superseded legacy cookie."),l=null}if(i&&l&&l.originalToken?.advertising_token!==i.advertising_token&&(s("Server supplied new token - ignoring stored value.",l.originalToken?.advertising_token,i.advertising_token),l=null),a){const t=u.getValidIdentity(e.cstg,r);if(t&&(l&&u.isStoredTokenInvalid(t,l,s,r)&&(l=null),!l||Date.now()>l.latestToken.refresh_expires)){const i=u.generateTokenAndStore(e.apiBaseUrl,e.cstg,t,o,s,r);return s("Generate token using CSTG"),{callback:e=>{i.then((t=>{s("Token generation responded, passing the new token on.",t),e(t)}))}}}}const p=!l?.latestToken||i&&i.identity_expires>l.latestToken.identity_expires,h=p?i:l.latestToken;if(s("UID2 module selected latest token",p,h),!h||Date.now()>h.refresh_expires)return s("Newest available token is expired and not refreshable."),{id:null};if(Date.now()>h.identity_expires){const t=c(e.apiBaseUrl,h,e.clientId,o,s,r);return s("Token is expired but can be refreshed, attempting refresh."),{callback:e=>{t.then((t=>{s("Refresh reponded, passing the updated token on.",t),e(t)}))}}}Date.now()>h.refresh_from&&(s("Refreshing token in background with low priority."),c(e.apiBaseUrl,h,e.clientId,o,s,r));const g={originalToken:i??l?.originalToken,latestToken:h};return a&&(g.originalIdentity=l?.originalIdentity),o.storeValue(g),{id:g}}function h(e){const t=["emailHash","phoneHash","email","phone"];for(let s of t)if(e.hasOwnProperty(s))return{[s]:e[s]};return{}}(0,r.E)("uid2IdSystem_shared")}},e=>{e.O(0,[44950,60802,51085],(()=>{return t=85263,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[48785],{64747:(e,t,n)=>{var r=n(7873),a=n(91069),i=n(70433),s=n(57377),p=n(71371);function o(e){if(!e)return null;return`gdpr=${e.gdprApplies?"1":"0"}&gdprstr=${e.consentString?e.consentString:""}`}function d(e){let t=document.getElementById(e),n=-1,r=-1;if(t){n=t.offsetLeft,r=t.offsetTop;let e=t.offsetParent;return e&&(n+=e.offsetLeft,r+=e.offsetTop),[n,r]}return null}const l={code:"undertone",gvlid:677,supportedMediaTypes:[p.D4,p.G_],isBidRequestValid:function(e){if(e&&e.params&&e.params.publisherId)return e.params.publisherId=parseInt(e.params.publisherId),!0},buildRequests:function(e,t){const n=Math.max(document.documentElement.clientWidth,window.innerWidth||0),r=Math.max(document.documentElement.clientHeight,window.innerHeight||0),s=0==n||0==r?null:[n,r],l={adapterVersion:"8.48.0",uids:e[0].userId,pageSize:s};e[0].schain&&(l.schain=e[0].schain);const u={"x-ut-hb-params":[],commons:l},c=t.refererInfo.topmostLocation,m=t.refererInfo.canonicalUrl;c&&(l.referrer=c),m&&(l.canonicalUrl=m);let h=function(e){let t=null;try{let n=/[-\w]+\.([-\w]+|[-\w]{3,}|[-\w]{1,3}\.[-\w]{2})$/i.exec(e);if(null!=n&&n.length>0){t=n[0];for(let e=1;et.length&&(t=n[e])}}catch(e){t=null}return t}((0,a.parseUrl)(c).hostname);const f=m||c;let y=`https://hb.undertone.com/hb?pid=${e[0].params.publisherId}&domain=${h}`,g=o(t.gdprConsent);if(g&&(y+=`&${g}`),t.uspConsent&&(y+=`&ccpa=${t.uspConsent}`),t.gppConsent){y+=`&gpp=${t.gppConsent.gppString??""}&gpp_sid=${t.gppConsent.applicableSections??""}`}return e.map((e=>{const t={bidRequestId:e.bidId,coordinates:d(e.adUnitCode),hbadaptor:"prebid",url:f,domain:h,placementId:null!=e.params.placementId?e.params.placementId:null,publisherId:e.params.publisherId,gpid:(0,i.A)(e,"ortb2Imp.ext.gpid",(0,i.A)(e,"ortb2Imp.ext.data.pbadslot","")),sizes:e.sizes,params:e.params},n=(0,i.A)(e,"mediaTypes.video"),r=n?p.G_:p.D4;t.mediaType=r,t.bidfloor=function(e,t){if("function"!=typeof e.getFloor)return 0;const n=e.getFloor({currency:"USD",mediaType:t,size:"*"});return n&&"USD"===n.currency&&n.floor||0}(e,r),n&&(t.video={playerSize:(0,i.A)(e,"mediaTypes.video.playerSize")||null,streamType:(0,i.A)(e,"mediaTypes.video.context")||null,playbackMethod:(0,i.A)(e,"params.video.playbackMethod")||null,maxDuration:(0,i.A)(e,"params.video.maxDuration")||null,skippable:(0,i.A)(e,"params.video.skippable")||null,placement:(0,i.A)(e,"mediaTypes.video.placement")||null,plcmt:(0,i.A)(e,"mediaTypes.video.plcmt")||null}),u["x-ut-hb-params"].push(t)})),{method:"POST",url:y,withCredentials:!0,data:JSON.stringify(u)}},interpretResponse:function(e,t){const n=[],r=e.body;return r&&Array.isArray(r)&&r.length>0&&r.forEach((e=>{if(e.ad&&e.cpm>0){const t={requestId:e.bidRequestId,cpm:e.cpm,width:e.width,height:e.height,creativeId:e.adId,currency:e.currency,netRevenue:e.netRevenue,ttl:e.ttl||360,meta:{advertiserDomains:e.adomain?e.adomain:[]}};e.mediaType&&"video"===e.mediaType?(t.vastXml=e.ad,t.mediaType=e.mediaType):t.ad=e.ad,n.push(t)}})),n},getUserSyncs:function(e,t,n,r){const a=[];let i=o(n),s="",p="";return i&&(s+=`?${i}`,p+=`&${i}`),r&&(s+=""!=s?"&":"?",s+=`ccpa=${r}`,p+=`&ccpa=${r}`),e.iframeEnabled?a.push({type:"iframe",url:"https://cdn.undertone.com/js/usersync.html"+s}):e.pixelEnabled&&a.push({type:"image",url:"https://usr.undertone.com/userPixel/syncOne?id=1&of=2"+p},{type:"image",url:"https://usr.undertone.com/userPixel/syncOne?id=2&of=2"+p}),a}};(0,s.a$)(l),(0,r.E)("undertoneBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=64747,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[10891],{78413:(r,e,t)=>{var s=t(7873),d=t(91069),n=t(68044),o=t(16833),i=t(2660);const u="unifiedId",a={name:u,gvlid:21,decode:r=>r&&"string"==typeof r.TDID?{tdid:r.TDID}:void 0,getId(r){const e=r&&r.params||{};if(!e||"string"!=typeof e.partner&&"string"!=typeof e.url)return void(0,d.logError)("User ID - unifiedId submodule requires either partner or url to be defined");const t=e.url||`https://match.adsrvr.org/track/rid?ttd_pid=${e.partner}&fmt=json`;return{callback:function(r){const e={success:e=>{let t;if(e)try{t=JSON.parse(e)}catch(r){(0,d.logError)(r)}r(t)},error:e=>{(0,d.logError)(`${u}: ID fetch encountered an error`,e),r()}};(0,n.RD)(t,e,void 0,{method:"GET",withCredentials:!0})}}},eids:{...i.M}};(0,o.bz)("userId",a),(0,s.E)("unifiedIdSystem")}},r=>{r.O(0,[17045,60802,51085],(()=>{return e=78413,r(r.s=e);var e}));r.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[99582],{27364:(e,r,n)=>{var t=n(7873),i=n(70433),d=n(91069),o=n(95789),s=n(57377),a=n(71371);const u=(e,r,n)=>{const{bids:t,bidderRequestId:d,bidderCode:o,...s}=n,a=n.bids.length-r.length;let u={};r.forEach((r=>{const n=r.params.siteId;(e=>{Object.keys(e.mediaTypes).forEach((r=>{let n;n="function"==typeof e.getFloor?e.getFloor({currency:"USD",mediaType:r,size:"*"}).floor||0:e.params.floor||0,e.mediaTypes[r].floor=n}))})(r),(e=>{let r=(0,i.A)(e,"mediaTypes.banner");if(r){let e={},n=[];r.sizes.forEach((r=>{e[r.toString()]||(e[r.toString()]=!0,n.push(r))})),r.sizes=n}})(r),((e,r)=>{!r&&e.ortb2Imp&&e.ortb2Imp.ext&&delete e.ortb2Imp.ext.ae})(r,e.protectedAudienceEnabled),u[n]=u[n]||[],u[n].push(r)}));let l=[];return Object.keys(u).forEach((r=>{let n={bidderRequest:Object.assign({},{bids:u[r],invalidBidsCount:a,prebidVersion:"8.48.0",...s})};l.push(Object.assign({},{data:n,...e}))})),l},l=e=>{if(e.ad)return e;(0,d.logError)(new Error("UnrulyBidAdapter: Missing ad config."))},p=e=>{if(e.vastUrl||e.vastXml)return e;(0,d.logError)(new Error("UnrulyBidAdapter: Missing vastUrl or vastXml config."))},c=e=>{const r=!!(0,i.A)(e,"ext.renderer.config"),n=!!(0,i.A)(e,"ext.renderer.config.siteId");if(!r)return void(0,d.logError)(new Error("UnrulyBidAdapter: Missing renderer config."));if(!n)return void(0,d.logError)(new Error("UnrulyBidAdapter: Missing renderer siteId."));const t=(0,i.A)(e,"ext.renderer");!function(e,r){if(!e.config)throw new Error("UnrulyBidAdapter: Missing renderer config.");if(!e.config.siteId)throw new Error("UnrulyBidAdapter: Missing renderer siteId.");parent.window.unruly=parent.window.unruly||{},parent.window.unruly.native=parent.window.unruly.native||{},parent.window.unruly.native.siteId=parent.window.unruly.native.siteId||e.config.siteId,parent.window.unruly.native.adSlotId=r,parent.window.unruly.native.supplyMode="prebid"}(t,e.requestId),parent.window.unruly.native.prebid=parent.window.unruly.native.prebid||{},parent.window.unruly.native.prebid.uq=parent.window.unruly.native.prebid.uq||[];const s=o.A4.install(Object.assign({},t)),a=Object.assign({},e,{renderer:s,adUnitCode:(0,i.A)(e,"ext.adUnitCode")});return s.setRender((()=>{var e;e=a,parent.window.unruly.native.prebid.uq.push(["render",e])})),e.renderer=e.renderer||s,e},f=e=>{if(!e.context)return!1;return-1!==["outstream","instream"].indexOf(e.context)},y=e=>e.sizes,b={code:"unruly",supportedMediaTypes:[a.G_,a.D4],gvlid:36,isBidRequestValid:function(e){let r=(0,i.A)(e,"params.siteId")&&(e=>{const r=(0,i.A)(e,"mediaTypes.video"),n=(0,i.A)(e,"mediaTypes.banner");let t=!(!r&&!n);return t&&r&&(t=f(r)),t&&n&&(t=y(n)),t})(e);return!!r},buildRequests:function(e,r){let n="https://targeting.unrulymedia.com/unruly_prebid";return e[0]&&(n=(0,i.A)(e[0],"params.endpoint")||n),u({url:n,method:"POST",options:{contentType:"application/json"},protectedAudienceEnabled:r.fledgeEnabled},e,r)},interpretResponse:function(e){if(!e||!e.body||!e.body.auctionConfigs&&!e.body.bids)return[];const r=e.body;let n=[],t=null;if(r.bids.length&&(n=(e=>{let r=[];return e.forEach((e=>{let n,t=(0,i.A)(e,"meta.mediaType");if(t&&"banner"===t.toLowerCase())e.mediaType=a.D4,n=l(e);else if(t&&"video"===t.toLowerCase()){let r=(0,i.A)(e,"meta.videoContext");e.mediaType=a.G_,"instream"===r?n=p(e):"outstream"===r&&(n=c(e))}n&&r.push(n)})),r})(r.bids)),r.auctionConfigs){let e=r.auctionConfigs,n=Object.keys(e);n.length&&n.forEach((r=>{t=[{bidId:r,config:e[r]}]}))}return t?{bids:n,fledgeAuctionConfigs:t}:n}};(0,s.a$)(b),(0,t.E)("unrulyBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return r=27364,e(e.s=r);var r}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[73469],{34836:(e,t,n)=>{var o=n(7873),r=n(15901),i=n(43272),s=n(75023),a=n(16916),c=n(11445),u=n(78969),l=n(16833),d=n(91069),g=n(70433);const f=new Map;function m(e){const t={};function n(e){const n=JSON.stringify([e.source?.toLowerCase(),e.ext]);t.hasOwnProperty(n)?t[n].uids.push(...e.uids):t[n]=e}return Object.entries(e).forEach((e=>{let[t,o]=e;o=Array.isArray(o)?o:[o];("pubProvidedId"===t?(0,d.deepClone)(o):o.map((e=>function(e,t){const n=f.get(t);if(n&&e){let t={};t.source=(0,d.isFn)(n.getSource)?n.getSource(e):n.source;const o=(0,d.isFn)(n.getValue)?n.getValue(e):e;if((0,d.isStr)(o)){const r={id:o,atype:n.atype};if((0,d.isFn)(n.getUidExt)){const t=n.getUidExt(e);t&&(r.ext=t)}if(t.uids=[r],(0,d.isFn)(n.getEidExt)){const o=n.getEidExt(e);o&&(t.ext=o)}return t}}return null}(e,t)))).filter((e=>null!=e)).forEach(n)})),Object.values(t)}var b=n(12938),h=n(63172),y=n(51692),p=n(25555),I=n(1e3),w=n(16894),S=n(5973),E=n(45569),v=n(95139),k=n(76811),D=n(83441);const O="User ID",j=b.X0,A=b.qk,$="_pbjs_id_optout",C=(0,b.CK)("userId"),P={isAllowed:v.io};let N,U,x,L,T,_,F=!1,q=[],W=[],M={},G=[];const R=(()=>{let e;return()=>(null==e&&(e=(0,w.K7)()),e)})();function J(e){return R().fork().renameWith((t=>[`userId.mod.${t}`,`userId.mods.${e}.${t}`]))}function B(e,t){t=t||e.storageMgr;const n="function"==typeof e.submodule.domainOverride?e.submodule.domainOverride():null,o=e.config.storage.name;return function(e,r,i){t.setCookie(o+(e||""),r,i,"Lax",n)}}function K(e,t){const n=e.config.storage,o=e.storageMgr;try{const r=new Date(Date.now()+864e5*n.expires).toUTCString(),i=(0,d.isPlainObject)(t)?JSON.stringify(t):t;if(n.type===j){const t=B(e);t(null,i,r),t("_cst",ge(),r),"number"==typeof n.refreshInSeconds&&t("_last",(new Date).toUTCString(),r)}else n.type===A&&(o.setDataInLocalStorage(`${n.name}_exp`,r),o.setDataInLocalStorage(`${n.name}_cst`,ge()),o.setDataInLocalStorage(n.name,encodeURIComponent(i)),"number"==typeof n.refreshInSeconds&&o.setDataInLocalStorage(`${n.name}_last`,(new Date).toUTCString()))}catch(e){(0,d.logError)(e)}}function V(e){let t=(0,d.getPrebidInternal)().setEidPermissions;"function"==typeof t&&(0,d.isArray)(e)&&t(function(e){let t=[];return e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)).forEach((e=>{Object.keys(e.idObj).forEach((n=>{const o=f.get(n)||{};(0,g.A)(e,"config.bidders")&&Array.isArray(e.config.bidders)&&o.source&&t.push({source:o.source,bidders:e.config.bidders})}))})),t}(e))}function Y(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;const n=e.storageMgr,o=e.config.storage,r=t?`${o.name}_${t}`:o.name;let i;try{if(o.type===j)i=n.getCookie(r);else if(o.type===A){const e=n.getDataFromLocalStorage(`${o.name}_exp`);""===e?i=n.getDataFromLocalStorage(r):e&&new Date(e).getTime()-Date.now()>0&&(i=decodeURIComponent(n.getDataFromLocalStorage(r)))}"string"==typeof i&&"{"===i.trim().charAt(0)&&(i=JSON.parse(i))}catch(e){(0,d.logError)(e)}return i}function z(e,t,n){t=R().fork().startTiming("userId.callbacks.total").stopBefore(t);const o=(0,d.delayExecution)((()=>{clearTimeout(U),t()}),e.length);e.forEach((function(e){const t=J(e.submodule.name).startTiming("callback").stopBefore(o);try{e.callback((function(o){o?(e.config.storage&&K(e,o),e.idObj=e.submodule.decode(o,e.config),me(Q(n))):(0,d.logInfo)(`${O}: ${e.submodule.name} - request id responded with an empty value`),t()}),Y.bind(null,e))}catch(n){(0,d.logError)(`Error in userID module '${e.submodule.name}':`,n),t()}e.callback=void 0}))}function Q(e){return Array.isArray(e)&&e.length?H(e):{}}function X(e,t,n){return Object.fromEntries(Object.entries(e.reduce(((e,o)=>{const r=t(o);return r&&Object.keys(r).forEach((t=>{const i=M[t]?.indexOf(n(o)),s={priority:(0,d.isNumber)(i)?i:-1,value:r[t]};if(e[t]){const n=s.priority>e[t].priority?s:e[t];e[t]=n}else e[t]=s})),e}),{})).map((e=>{let[t,n]=e;return[t,n.value]})))}function H(e){return X(e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)),(e=>e.idObj),(e=>e.submodule.name))}function Z(e,t){[e].some((e=>!Array.isArray(e)||!e.length))||e.forEach((e=>{e.bids&&(0,d.isArray)(e.bids)&&e.bids.forEach((e=>{const n=function(e,t){return Array.isArray(e)&&e.length&&t?H(e.filter((e=>!e.config.bidders||!(0,d.isArray)(e.config.bidders)||(0,r.mK)(e.config.bidders,t)))):{}}(t,e.bidder);Object.keys(n).length&&(e.userId=n,e.userIdAsEids=m(n))}))}))}const ee={};let te;function ne(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ie()||[];const t=T&&e.find((e=>e.source===T));if(t&&"string"==typeof(0,g.A)(t,"uids.0.id")){const e=t.uids[0].id.replace(/[\W_]/g,"");if(e.length>=32&&e.length<=150)return e;(0,d.logWarn)(`User ID - Googletag Publisher Provided ID for ${T} is not between 32 and 150 characters - ${e}`)}}const oe=(0,w.Ak)("userId",(function(e,t){let{delay:n=p.k.timeout,getIds:r=de}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};p.k.race([r().catch((()=>null)),n(L)]).then((()=>{Z(t.adUnits||(0,o.m)().adUnits,N),R().join((0,w.BO)(t.metrics),{propagate:!1,includeGroups:!0}),e.call(this,t)}))}));function re(){return Q(N)}function ie(){return m(re())}function se(e){return m(function(e,t){if(!Array.isArray(e)||!e.length)return{};const n=H(e),o=Object.keys(n).find((e=>{const n=f.get(e);return n?.source===t||(0,d.isFn)(n?.getSource)&&n.getSource()===t}));return o?{[o]:n[o]}:[]}(N,e))[0]}function ae(e,t,n){return te().then((()=>{let o={};if((0,d.isFn)(n)){(0,d.logInfo)(`${O} - Getting encrypted signal from custom function : ${n.name} & source : ${e} `);const t=n(e);o[e]=t?ce(t):null}else{const n=se(e);(0,d.logInfo)(`${O} - Getting encrypted signal for eids :${JSON.stringify(n)}`),(0,d.isEmpty)(n)||(o[n.source]=!0===t?ce(n):n.uids[0].id)}return(0,d.logInfo)(`${O} - Fetching encrypted eids: ${o[e]}`),o[e]}))}function ce(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 ue(){if(!(0,d.isGptPubadsDefined)())return;window.googletag.secureSignalProviders=window.googletag.secureSignalProviders||[];const e=i.$W.getConfig("userSync.encryptedSignalSources");if(e){const t=e.registerDelay||0;setTimeout((()=>{e.sources&&e.sources.forEach((e=>{let{source:t,encrypt:n,customFunc:o}=e;t.forEach((e=>{window.googletag.secureSignalProviders.push({id:e,collectorFunction:()=>ae(e,n,o)})}))}))}),t)}else(0,d.logWarn)(`${O} - ESP : encryptedSignalSources config not defined under userSync Object`)}function le(){let{submoduleNames:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return te({refresh:!0,submoduleNames:e}).then((()=>(t&&(0,d.isFn)(t)&&t(),re())))}function de(){return te().then((()=>re()),(e=>e===ee?Promise.resolve().then(de):((0,d.logError)("Error initializing userId",e),p.k.reject(e))))}function ge(){let e=Number(a.SL.hash);const t=[];for(;e>0;)t.push(String.fromCharCode(255&e)),e>>>=8;return btoa(t.join())}function fe(e,t,n){const o=a.mW.getConsentData();if(e.config.storage){let n,r=Y(e),i=!1;if("number"==typeof e.config.storage.refreshInSeconds){const t=new Date(Y(e,"last"));i=t&&Date.now()-t.getTime()>1e3*e.config.storage.refreshInSeconds}!r||i||t||function(e){const t=Y(e,"cst");return!t||t!==ge()}(e)?n=e.submodule.getId(e.config,o,r):"function"==typeof e.submodule.extendId&&(n=e.submodule.extendId(e.config,o,r)),(0,d.isPlainObject)(n)&&(n.id&&(K(e,n.id),r=n.id),"function"==typeof n.callback&&(e.callback=n.callback)),r&&(e.idObj=e.submodule.decode(r,e.config))}else if(e.config.value)e.idObj=e.config.value;else{const t=e.submodule.getId(e.config,o,void 0);(0,d.isPlainObject)(t)&&("function"==typeof t.callback&&(e.callback=t.callback),t.id&&(e.idObj=e.submodule.decode(t.id,e.config)))}me(Q(n))}function me(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:re();if(e&&T){const t=ne(m(e));t&&((0,d.isGptPubadsDefined)()?window.googletag.pubads().setPublisherProvidedId(t):(window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.googletag.cmd.push((function(){window.googletag.pubads().setPublisherProvidedId(t)}))))}}function be(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return R().fork().measureTime("userId.init.modules",(function(){if(!t.length)return[];if(!(t=t.filter((e=>(!e.config.storage||function(e){switch(e.config?.storage?.type){case A:if(e.storageMgr.localStorageIsEnabled())return!C.getDataFromLocalStorage($)||((0,d.logInfo)(`${O} - opt-out localStorage found, storage disabled`),!1);break;case j:if(e.storageMgr.cookiesAreEnabled())return!C.getCookie($)||((0,d.logInfo)(`${O} - opt-out cookie found, storage disabled`),!1)}return!1}(e))&&P.isAllowed(k.yl,(0,D.s)(E.fW,e.config.name))))).length)return(0,d.logWarn)(`${O} - no ID module configured`),[];const o=t.reduce(((e,o)=>J(o.submodule.name).measureTime("init",(()=>{try{fe(o,n,t),e.push(o)}catch(e){(0,d.logError)(`Error in userID module '${o.submodule.name}':`,e)}return e}))),[]);return o.length&&V(o),o.forEach(he.bind(null,e)),o}))}function he(e,t){let n=!1;for(let o=0;oe.eids),(e=>e.name))).forEach((e=>{let[t,n]=e;return f.set(t,n)}))}function Ie(){pe(G);const e=function(e){return Array.isArray(e)?e.reduce(((e,t)=>(!t||(0,d.isEmptyStr)(t.name)||(t.storage&&!(0,d.isEmptyStr)(t.storage.type)&&!(0,d.isEmptyStr)(t.storage.name)&&ye.has(t.storage.type)||(0,d.isPlainObject)(t.value)?e.push(t):t.storage||t.value||e.push(t)),e)),[]):[]}(W);if(!e.length)return;const t=G.filter((e=>!(0,r.I6)(q,(t=>t.name===e.name))));q.splice(0,q.length),t.map((t=>{const n=(0,r.I6)(e,(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),t.findRootDomain=S.S,n?{submodule:t,config:n,callback:void 0,idObj:void 0,storageMgr:(0,b.vM)({moduleType:E.fW,moduleName:n.name})}:null})).filter((e=>null!==e)).forEach((e=>q.push(e))),!F&&q.length&&((0,o.m)().requestBids.before(oe,40),c.Ay.callDataDeletionRequest.before(we),y.Q.after((e=>e(ne()))),(0,d.logInfo)(`${O} - usersync config updated for ${q.length} submodules: `,q.map((e=>e.submodule.name))),F=!0)}function we(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o{if("function"==typeof e.submodule.onDataDeletionRequest)try{e.submodule.onDataDeletionRequest(e.config,e.idObj,...n)}catch(t){(0,d.logError)(`Error calling onDataDeletionRequest for ID submodule ${e.submodule.name}`,t)}!function(e){let t,n;switch(e.config?.storage?.type){case j:const o=B(e,C),r=new Date(Date.now()-864e5).toUTCString();t=e=>o(e,"",r),n=["","_last","_cst"];break;case A:t=t=>C.removeDataFromLocalStorage(e.config.storage.name+t),n=["","_last","_exp","_cst"]}t&&n.forEach((e=>{try{t(e)}catch(e){(0,d.logError)(e)}}))}(e)})),e.apply(this,n)}function Se(e){return function(){return Promise.resolve(e.apply(this,arguments))}}!function(e){let{delay:t=p.k.timeout}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};T=void 0,q=[],W=[],F=!1,N=[],te=function(){let{delay:e=p.k.timeout}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=(0,p.v)(),n=(0,p.v)();let o,r,i=!1;function c(e){return r=R().fork(),null!=o&&o.reject(ee),o=(0,p.v)(),p.k.race([e,o.promise]).finally(r.startTiming("userId.total"))}let g=N,f=q;function m(e){return function(){if(g===N&&f===q)return e(...arguments)}}function b(){return a.SL.promise.finally(r.startTiming("userId.init.consent"))}let h=c(p.k.all([l.Gc,t.promise]).then(b).then(m((()=>{be(g,f)}))).then((()=>n.promise.finally(r.startTiming("userId.callbacks.pending")))).then(m((()=>{const e=g.filter((e=>(0,d.isFn)(e.callback)));if(e.length)return new p.k((t=>z(e,t,g)))}))));return function(){let{refresh:o=!1,submoduleNames:r=null,ready:a=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a&&!i&&(i=!0,t.resolve(),L>0?n.resolve():s.on(u.qY.AUCTION_END,(function t(){s.off(u.qY.AUCTION_END,t),e(x).then(n.resolve)}))),o&&i&&(h=c(h.catch((()=>null)).then(b).then(m((()=>{const e=be(g,f.filter((e=>null==r||r.includes(e.submodule.name))),!0).filter((e=>null!=e.callback));if(e.length)return new p.k((t=>z(e,t,g)))}))))),h}}({delay:t}),null!=_&&_(),G=[],_=e.getConfig("userSync",(e=>{const t=e.userSync;t&&(T=t.ppid,t.userIds&&(W=t.userIds,x=(0,d.isNumber)(t.syncDelay)?t.syncDelay:500,L=(0,d.isNumber)(t.auctionDelay)?t.auctionDelay:0,Ie(),function(e,t){if(e){const n={},o=new Map(t.map((e=>e.submodule.aliasName?[e.submodule.aliasName,e.submodule.name]:[])));Object.keys(e).forEach((t=>{const r=(0,d.isArray)(e[t])?[...e[t]].reverse():[];n[t]=r.map((e=>o.has(e)?o.get(e):e))})),M=n}else M={}}(t.idPriority,q),te({ready:!0})))})),(0,o.m)().getUserIds=re,(0,o.m)().getUserIdsAsEids=ie,(0,o.m)().getEncryptedEidsForSource=Se(ae),(0,o.m)().registerSignalSources=ue,(0,o.m)().refreshUserIds=Se(le),(0,o.m)().getUserIdsAsync=Se(de),(0,o.m)().getUserIdsAsEidBySource=se}(i.$W),(0,l.xG)("userId",(function(e){(0,r.I6)(G,(t=>t.name===e.name))||(G.push(e),a.o2.register(E.fW,e.name,e.gvlid),Ie(),te({refresh:!0,submoduleNames:[e.name]}))}),{postInstallAllowed:!0}),(0,I.pS)({type:I.S3,name:"userExtEids",fn:function(e,t,n){const o=(0,g.A)(n,"bidRequests.0.userIdAsEids");o&&Object.keys(o).length>0&&(0,h.J)(e,"user.ext.eids",o)}}),(0,o.E)("userId")}},e=>{e.O(0,[60802,51085],(()=>{return t=34836,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[47957],{93043:(e,t,n)=>{var i=n(7873),r=n(91069),o=n(70433),d=n(57377),s=n(71371),a=n(12938),c=n(12693),u=n(43272),p=n(29906);const l="prebid",g="vidazoo",b="1.0.0",m=9e5,f=36e5,h="vidSid",I="vdzwopt",C="wsid_"+parseInt(Date.now()*Math.random()),y=(0,a.vM)({bidderCode:g});function v(){try{return(0,r.parseUrl)(window.top.document.URL,{decodeSearchAsString:!0}).search}catch(e){return""}}function S(){return`https://${arguments.length>0&&void 0!==arguments[0]?arguments[0]:l}.cootlogix.com`}function D(e){return e.cId||e.CID||e.cID||e.CId||e.cid||e.ciD||e.Cid||e.CiD}function R(e){return e.pId||e.PID||e.pID||e.PId||e.pid||e.piD||e.Pid||e.PiD}function A(e){return e.subDomain||e.SubDomain||e.Subdomain||e.subdomain||e.SUBDOMAIN||e.subDOMAIN}function $(e,t,n,i,d){const{params:s,bidId:a,userId:u,adUnitCode:p,schain:l,mediaTypes:S,ortb2Imp:D,bidderRequestId:A,bidRequestsCount:$,bidderRequestsCount:T,bidderWinsCount:z}=e,{ext:q}=s;let{bidFloor:x}=s;const O=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"_";const n=e.length;let i=0,r=0;if(n>0)for(;r1&&void 0!==arguments[1]?arguments[1]:m;try{const n=w(e);let i,r=0;n&&n.value&&Date.now()-n.created1&&void 0!==arguments[1]?arguments[1]:f;const n=`u_${e}`,i=Date.now(),r=w(n);let o;!r||!r.value||i-r.created>t?(o=`${e}_${i.toString()}`,U(n,o)):o=r.value;return o}(O),P=w(h)||"",k=R(s),E=function(){let e=y.getDataFromLocalStorage(I);e||(e=String(Date.now()),y.setDataInLocalStorage(I,e));return e}(),F=c.u.get(g,"storageAllowed"),W=(0,o.A)(e,"ortb2Imp.ext.gpid",(0,o.A)(e,"ortb2Imp.ext.data.pbadslot","")),L=(0,o.A)(i,"ortb2.site.cat",[]),M=(0,o.A)(i,"ortb2.site.pagecat",[]),B=(0,o.A)(i,"ortb2.site.content.data",[]),N=(0,o.A)(i,"ortb2.user.data",[]);if((0,r.isFn)(e.getFloor)){const t=e.getFloor({currency:"USD",mediaType:"*",size:"*"});"USD"===t.currency&&(x=t.floor)}let G={url:encodeURIComponent(t),uqs:v(),cb:Date.now(),bidFloor:x,bidId:a,referrer:i.refererInfo.ref,adUnitCode:p,publisherId:k,sessionId:P,sizes:n,dealId:_,uniqueDealId:j,bidderVersion:b,prebidVersion:"8.48.0",res:`${screen.width}x${screen.height}`,schain:l,mediaTypes:S,ptrace:E,isStorageAllowed:F,gpid:W,cat:L,contentData:B,userData:N,pagecat:M,transactionId:D?.ext?.tid,bidderRequestId:A,bidRequestsCount:$,bidderRequestsCount:T,bidderWinsCount:z,bidderTimeout:d,webSessionId:C};!function(e,t){let n;(0,r._each)(t,((t,i)=>{switch(n=`uid.${i}`,i){case"digitrustid":e[n]=(0,o.A)(t,"data.id");break;case"lipb":e[n]=t.lipbid;break;case"parrableId":e[n]=t.eid;break;case"id5id":e[n]=t.uid;break;default:e[n]=t}}))}(G,u);const V=(0,o.A)(i,"ortb2.device.sua");if(V&&(G.sua=V),i.gdprConsent&&(i.gdprConsent.consentString&&(G.gdprConsent=i.gdprConsent.consentString),void 0!==i.gdprConsent.gdprApplies&&(G.gdpr=i.gdprConsent.gdprApplies?1:0)),i.uspConsent&&(G.usPrivacy=i.uspConsent),i.gppConsent?(G.gppString=i.gppConsent.gppString,G.gppSid=i.gppConsent.applicableSections):i.ortb2?.regs?.gpp&&(G.gppString=i.ortb2.regs.gpp,G.gppSid=i.ortb2.regs.gpp_sid),i.fledgeEnabled){const e=(0,o.A)(i,"ortb2Imp.ext.ae");e&&(G.fledge=e)}return(0,r._each)(q,((e,t)=>{G["ext."+t]=e})),G}function T(e,t,n,i,r){const{params:o}=e,d=D(o),s=A(o),a=$(e,t,n,i,r);return{method:"POST",url:`${S(s)}/prebid/multi/${d}`,data:a}}function w(e){try{return function(e){try{return JSON.parse(e)}catch(t){return e}}(y.getDataFromLocalStorage(e))}catch(e){}return null}function U(e,t,n){try{const i=n||Date.now(),r=JSON.stringify({value:t,created:i});y.setDataInLocalStorage(e,r)}catch(e){}}const z={code:g,version:b,gvlid:744,supportedMediaTypes:[s.D4,s.G_],isBidRequestValid:function(e){const t=e.params||{};return!(!D(t)||!R(t))},buildRequests:function(e,t){const n=t.refererInfo.page||t.refererInfo.topmostLocation,i=u.$W.getConfig("bidderTimeout"),o=u.$W.getConfig("vidazoo.singleRequest"),d=[];if(o){const o=e.filter((e=>(0,r.isArray)(e.mediaTypes)?e.mediaTypes.includes(s.D4):void 0!==e.mediaTypes[s.D4]));if(o.length>0){const e=function(e,t,n,i){const{params:o}=e[0],d=D(o),s=A(o),a=e.map((e=>{const o=(0,r.parseSizesInput)(e.sizes);return $(e,n,o,t,i)})),c=Math.min(20,u.$W.getConfig("vidazoo.chunkSize")||10);return(0,p.i)(a,c).map((e=>({method:"POST",url:`${S(s)}/prebid/multi/${d}`,data:{bids:e}})))}(o,t,n,i);d.push(...e)}e.filter((e=>void 0!==e.mediaTypes[s.G_])).forEach((e=>{const o=(0,r.parseSizesInput)(e.sizes),s=T(e,n,o,t,i);d.push(s)}))}else e.forEach((e=>{const o=(0,r.parseSizesInput)(e.sizes),s=T(e,n,o,t,i);d.push(s)}));return d},interpretResponse:function(e,t){if(!e||!e.body)return[];const n=u.$W.getConfig("vidazoo.singleRequest"),i=(0,o.A)(t,"data.bidId"),{results:r}=e.body;let d=[];try{return r.forEach(((e,t)=>{const{creativeId:r,ad:o,price:a,exp:c,width:u,height:p,currency:l,bidId:g,nurl:b,advertiserDomains:m,metaData:f,mediaType:h=s.D4}=e;if(!o||!a)return;const I={requestId:n&&g?g:i,cpm:a,width:u,height:p,creativeId:r,currency:l||"USD",netRevenue:!0,ttl:c||300};b&&(I.nurl=b),f?Object.assign(I,{meta:f}):Object.assign(I,{meta:{advertiserDomains:m||[]}}),h===s.D4?Object.assign(I,{ad:o}):Object.assign(I,{vastXml:o,mediaType:s.G_}),d.push(I)})),d}catch(e){return[]}},getUserSyncs:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",d=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=[];const{iframeEnabled:a,pixelEnabled:c}=e,{gdprApplies:u,consentString:p=""}=n,{gppString:l,applicableSections:g}=d,b=t.filter((e=>(0,o.A)(e,"body.cid"))).map((e=>e.body.cid)).filter(r.uniques);let m=`?cid=${encodeURIComponent(b.join(","))}&gdpr=${u?1:0}&gdpr_consent=${encodeURIComponent(p||"")}&us_privacy=${encodeURIComponent(i||"")}`;return l&&g?.length&&(m+="&gpp="+encodeURIComponent(l),m+="&gpp_sid="+encodeURIComponent(g.join(","))),a&&s.push({type:"iframe",url:`https://sync.cootlogix.com/api/sync/iframe/${m}`}),c&&s.push({type:"image",url:`https://sync.cootlogix.com/api/sync/image/${m}`}),s},onBidWon:function(e){if(!e.nurl)return;const t={adId:e.adId,creativeId:e.creativeId,auctionId:e.auctionId,transactionId:e.transactionId,adUnitCode:e.adUnitCode,cpm:e.cpm,currency:e.currency,originalCpm:e.originalCpm,originalCurrency:e.originalCurrency,netRevenue:e.netRevenue,mediaType:e.mediaType,timeToRespond:e.timeToRespond,status:e.status},n=(0,r.formatQS)(t),i=e.nurl+(-1===e.nurl.indexOf("?")?"?":"&")+n;(0,r.triggerPixel)(i)}};(0,d.a$)(z),(0,i.E)("vidazooBidAdapter")}},e=>{e.O(0,[44982,60802,51085],(()=>{return t=93043,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[69380],{64668:(e,t,r)=>{var i=r(7873),n=r(91069),o=r(70433),a=r(63172),s=r(71371),d=r(57377),p=r(95789),c=r(15901);const u="USD",m=300,l=!0,f="https://prebid-outstream.yieldmo.com/bundle.js",g=["mimes","startdelay","placement","plcmt","skipafter","protocols","api","playbackmethod","maxduration","minduration","pos","skip","skippable"],y=["name","domain","cat","keywords"],b=(0,n.getWindowTop)(),v=2,h=0,A=["description","title","pr","page_url"],x={code:"yieldmo",supportedMediaTypes:[s.D4,s.G_],gvlid:173,isBidRequestValid:function(e){return!!(e&&e.adUnitCode&&e.bidId&&(I(e)||w(e))&&function(e){if(!w(e))return!0;const t=(e,t,r)=>{let i=`"${e}" is required`;throw r&&(i+=" when "+r),new Error(i)},r=(e,t,r)=>{throw r=r?", expected: "+r:"",t=JSON.stringify(t),new Error(`"${e}"=${t} is invalid${r}`)},i=e=>void 0!==e,a=(t,r,i,n)=>{if(0===t.indexOf("video")){const a="params."+t,s="mediaTypes."+t,d=(0,o.A)(e,a),p=(0,o.A)(e,s),c=r(d),u=r(p);return c?d:u||(c?u||i(s,p,n):i(a,d,n),d||p)}{const a=(0,o.A)(e,t);return r(a)||i(t,a,n),a}};try{a("video.context",(e=>!(0,n.isEmpty)(e)),t),a("params.placementId",(e=>!(0,n.isEmpty)(e)),t),a("video.playerSize",(e=>(0,n.isArrayOfNums)(e,2)||(0,n.isArray)(e)&&e.every((e=>(0,n.isArrayOfNums)(e,2)))),r,"array of 2 integers, ex: [640,480] or [[640,480]]"),a("video.mimes",(e=>i(e)),t),a("video.mimes",(e=>(0,n.isArray)(e)&&e.every((e=>(0,n.isStr)(e)))),r,'array of strings, ex: ["video/mp4"]');const e=a("video.placement",(e=>i(e)),t);return a("video.placement",(e=>e>=1&&e<=5),r),1===e&&(a("video.startdelay",(e=>i(e)),((e,r)=>t(e,r,"placement == 1"))),a("video.startdelay",(e=>(0,n.isNumber)(e)),r,"number, ex: 5")),a("video.protocols",(e=>i(e)),t),a("video.api",(e=>i(e)),t),a("video.api",(e=>(0,n.isArrayOfNums)(e)&&e.every((e=>e>=1&&e<=6))),r,"array of numbers, ex: [2,3]"),a("video.playbackmethod",(e=>!i(e)||(0,n.isArrayOfNums)(e)),r,"array of integers, ex: [2,6]"),a("video.maxduration",(e=>i(e)),t),a("video.maxduration",(e=>(0,n.isInteger)(e)),r),a("video.minduration",(e=>!i(e)||(0,n.isNumber)(e)),r),a("video.skippable",(e=>!i(e)||(0,n.isBoolean)(e)),r),a("video.skipafter",(e=>!i(e)||(0,n.isNumber)(e)),r),a("video.pos",(e=>!i(e)||(0,n.isNumber)(e)),r),a("params.badv",(e=>!i(e)||(0,n.isArray)(e)),r,'array of strings, ex: ["ford.com","pepsi.com"]'),a("params.bcat",(e=>!i(e)||(0,n.isArray)(e)),r,'array of strings, ex: ["IAB1-5","IAB1-6"]'),!0}catch(e){return(0,n.logError)(e.message),!1}}(e))},buildRequests:function(e,t){const r=function(e){return!!e.refererInfo?.referer?.includes("pb_force_a")}(t),i=E("/exchange/prebid",r),d=E("/exchange/prebidvideo",r),p=e.filter((e=>I(e))),u=e.filter((e=>w(e)));let m=[];const l=function(e){if((0,o.A)(e,"userIdAsEids"))return e.userIdAsEids||[]}(e[0])||[],f=function(e){const t=(0,o.A)(e,"ortb2.user.data")||[],r=t.filter((e=>{const t=e.ext?.segtax;return t>=600&&t<=609}))[0];if(r){return{taxonomy:r.ext.segtax,classifier:r.ext.segclass,topics:Object.values(r.segment).map((e=>Number(e)))}}return null}(t),y=function(e){const t=(0,o.A)(e,"ortb2.device.ext.cdep")||null;return t}(t);if(p.length>0){let e={pbav:"8.48.0",p:[],page_url:t.refererInfo.page,bust:(new Date).getTime().toString(),dnt:"1"===window.doNotTrack||"1"===window.navigator.doNotTrack||!1,description:_(),tmax:t.timeout||400,userConsent:JSON.stringify({gdprApplies:(0,o.A)(t,"gdprConsent.gdprApplies")||"",cmp:(0,o.A)(t,"gdprConsent.consentString")||"",gpp:(0,o.A)(t,"gppConsent.gppString")||"",gpp_sid:(0,o.A)(t,"gppConsent.applicableSections")||[]}),us_privacy:(0,o.A)(t,"uspConsent")||""};f&&(e.topics=JSON.stringify(f));const r=k(t);r&&(e.gpc=r),y&&(e.cdep=y),function(){try{if((0,n.getWindowTop)().location.href)return!0}catch(e){return!1}}()&&(e.pr=b.document&&b.document.referrer||"",e.scrd=b.devicePixelRatio||0,e.title=b.document.title||"",e.w=b.innerWidth,e.h=b.innerHeight);const a=window.navigator.maxTouchPoints;a&&(e.mtp=a),p.forEach((t=>{e.p.push(function(e){const t=(0,o.A)(e,"ortb2Imp.ext.data.pbadslot"),r={placement_id:e.adUnitCode,callback_id:e.bidId,sizes:e.mediaTypes.banner.sizes};if(e.params){e.params.placementId&&(r.ym_placement_id=e.params.placementId);const t=T(e,s.D4);t&&(r.bidFloor=t)}t&&(r.gpid=t);const i=(0,o.A)(e,"ortb2Imp.ext.tid");i&&(r.tid=i);e.auctionId&&(r.auctionId=e.auctionId);return JSON.stringify(r)}(t));const r=S(t,"pubcid");r?e.pubcid=r:t.crumbs&&t.crumbs.pubcid&&(e.pubcid=t.crumbs.pubcid);const i=S(t,"tdid");i&&(e.tdid=i);const n=S(t,"criteoId");n&&(e.cri_prebid=n),t.schain&&(e.schain=JSON.stringify(t.schain)),(0,o.A)(t,"params.lr_env")&&(e.ats_envelope=t.params.lr_env)})),e.p="["+e.p.toString()+"]",l.length&&(e.eids=JSON.stringify(l));let d=`${i}?${(0,n.parseQueryStringParameters)(e)}`.length-8e3;if(d>0)for(let t=0;t0){const e=function(e,t){const r=e[0].schain;let i={id:e[0].bidderRequestId,tmax:t.timeout||400,at:1,imp:e.map((e=>function(e){const t=(0,o.A)(e,"ortb2Imp.ext.data.pbadslot"),r=function(e){const t=(0,o.A)(e,"mediaTypes.video.playerSize");if((0,n.isArrayOfNums)(t,2))return t;if((0,n.isArray)(t)&&(0,n.isArrayOfNums)(t[0],2))return t[0];return null}(e),i={id:e.bidId,tagid:e.adUnitCode,bidfloor:T(e,s.G_),ext:{placement_id:e.params.placementId,tid:(0,o.A)(e,"ortb2Imp.ext.tid")},video:{w:r[0],h:r[1],linearity:1}},a=(0,o.A)(e,"mediaTypes.video",{});Object.keys(a).filter((e=>(0,c.mK)(g,e))).forEach((e=>i.video[e]=a[e]));const d=(0,o.A)(e,"params.video",{});Object.keys(d).filter((e=>(0,c.mK)(g,e))).forEach((e=>i.video[e]=d[e])),i.video.skippable&&(i.video.skip=1,delete i.video.skippable);1===i.video.plcmt&&1===i.video.placement||(i.video.startdelay=h,i.video.playbackmethod=[v]);t&&(i.ext.gpid=t);return i}(e))),site:N(e[0],t),device:(0,o.A)(t,"ortb2.device"),badv:e[0].params.badv||[],bcat:(0,o.A)(t,"bcat")||e[0].params.bcat||[],ext:{prebid:"8.48.0"},ats_envelope:e[0].params.lr_env};r&&(i.schain=r);const d=k(t);d&&(0,a.J)(i,"regs.ext.gpc",d);e[0].auctionId&&(i.auctionId=e[0].auctionId);return function(e,t){const r=t.gdprConsent,i=(0,o.A)(t,"gppConsent.gppString"),n=(0,o.A)(t,"gppConsent.applicableSections");i?(0,a.J)(e,"regs.ext.gpp",i):((0,a.J)(e,"regs.ext.gdpr",r&&r.gdprApplies?1:0),(0,a.J)(e,"user.ext.consent",r&&r.consentString?r.consentString:""));n&&n.length>0&&(0,a.J)(e,"regs.ext.gpp_sid",n);const s=(0,o.A)(t,"uspConsent");!i&&s&&(0,a.J)(e,"regs.ext.us_privacy",s)}(i,t),i}(u,t);f&&(e.topics=f),l.length&&(e.user={eids:l}),m.push({method:"POST",url:d,data:e})}return m},interpretResponse:function(e,t){let r=[];const i=e.body;if(i.length>0&&i.forEach((e=>{e.cpm>0&&r.push(function(e){return{dealId:e.publisherDealId,requestId:e.callback_id,cpm:e.cpm,width:e.width,height:e.height,creativeId:e.creative_id,currency:u,netRevenue:l,ttl:300,ad:e.ad,meta:{advertiserDomains:e.adomain||[],mediaType:s.D4}}}(e))})),i.seatbid){i.seatbid.reduce(((e,t)=>e.concat(t.bid)),[]).forEach((e=>r.push(function(e,t){const r=(0,c.I6)((0,o.A)(t,"data.imp")||[],(t=>t.id===e.impid));let i={dealId:e.dealid,requestId:r.id,cpm:e.price,width:r.video.w,height:r.video.h,creativeId:e.crid||e.adid,currency:u,netRevenue:l,mediaType:s.G_,ttl:m,vastXml:e.adm,meta:{advertiserDomains:e.adomain||[],mediaType:s.G_}};if(r.video.placement&&1!==r.video.placement){const e=p.A4.install({url:f,config:{width:i.width,height:i.height,vastTimeout:15e3,maxAllowedVastTagRedirects:5,allowVpaid:!0,autoPlay:!0,preload:!0,mute:!0},id:r.tagid,loaded:!1});e.setRender((function(e){e.renderer.push((()=>{const{id:t,config:r}=e.renderer;window.YMoutstreamPlayer(e,t,r)}))})),i.renderer=e}return i}(e,t))))}return r},getUserSyncs:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";const n=[],o="&gdpr="+(r.gdprApplies?1:0),a=`&gdpr_consent=${encodeURIComponent(r.consentString||"")}`,s=`https://ads.yieldmo.com/pbcas?${`us_privacy=${encodeURIComponent(i)}`}${o}${a}`;return e.iframeEnabled?n.push({type:"iframe",url:s+"&type=iframe"}):e.pixelEnabled&&n.push({type:"image",url:s+"&type=image"}),n}};function I(e){return!!(0,o.A)(e,"mediaTypes.banner")}function w(e){return!!(0,o.A)(e,"mediaTypes.video")}function _(){return document.querySelector('meta[name="description"]')&&document.querySelector('meta[name="description"]').getAttribute("content")||""}function S(e,t){return"object"==typeof(0,o.A)(e,"userId")?e.userId[t]:void 0}function k(e){return(0,o.A)(e,"ortb2.regs.ext.gpc")}function T(e,t){let r={};return"function"==typeof e.getFloor&&(r=e.getFloor({currency:u,mediaType:t,size:"*"})),r.floor||e.params.bidfloor||e.params.bidFloor||0}function N(e,t){let r={};const i=(0,n.parseUrl)((0,o.A)(t,"refererInfo.page"));(0,n.isEmpty)(i)||(r.page=`${i.protocol}://${i.hostname}${i.pathname}`),t.refererInfo?.ref&&(r.ref=t.refererInfo.ref);const a=document.getElementsByTagName("meta").keywords;a&&a.content&&(r.keywords=a.content);const s=(0,o.A)(e,"params.site");return s&&Object.keys(s).filter((e=>(0,c.mK)(y,e))).forEach((e=>r[e]=s[e])),r}function O(e,t,r){if(t[r].length>e)return t[r]=t[r].substring(0,t[r].length-e),0;const i=e-t[r].length;return t[r]="",i}function E(e,t){return`${t?"https://ads-stg.yieldmo.com":"https://ads.yieldmo.com"}${e}`}(0,d.a$)(x),(0,i.E)("yieldmoBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return t=64668,e(e.s=t);var t}));e.O()}]);})(),pbjs.processQueue();

Halo Irreversibly Changes Jacob Keyes' Story In A Major Way (2024)

FAQs

Is Miranda Keyes Halsey's daughter? ›

Yes, Miranda is the daughter of Jacob Keyes and Halsey.

What happened to Jacob Keyes? ›

Keyes' life officially ended when the Chief punched through his skull to retrieve his command neural interface after his mind had been absorbed by the Flood infection, with Cortana stating that she knew that "this was what he wanted." Despite this, Keyes' corpse continued to make faint breathing sounds.

Is admiral Keyes dead? ›

Admiral Keyes Dies During Halo Season 2's The Fall Of Reach Episode.

What did the Flood do to keyes? ›

Unfortunately for the Captain, however, the Flood caught up to him. Keyes was unable to hold off the onslaught and was promptly captured, infected and turned into a Proto-Gravemind.

Who is Halsey's child Halo? ›

Origin. Miranda is the daughter of Dr. Halsey and Captain Keyes, the latter whom commanded the Pillar of Autumn in the first halo game.

Is Jorge Halsey's son? ›

No, Jorge is a Spartan II (the rest of Noble Team are Spartan IIIs) just like the Master Chief and Halsey was basically the one running the program that created the Spartan IIs. The reason he refers her to mom was because the Spartan IIs were kidnapped when they were children and thus don't remember their parents.

How did Keyes get infected? ›

Keyes and his Marines were ambushed by the Flood. During the ensuing firefight, an Infection Form latched onto his back and infected him. Keyes observed helplessly as the form took over his body and attacked his mind.

Is Dr. Halsey still alive? ›

The first two episodes of Halo season 2, "Sanctuary" and "Sword," reveal that Dr. Halsey is alive in the wake of season-one's cliffhanger ending. Branded a criminal and a threat by the UNSC and ONI, Halsey leaves a flash-clone in her wake and, seemingly, escapes the military's reach.

What happened to Kai Halo? ›

Several characters die in the Halo season 2 finale. Most prominently, Kai sacrifices herself by crashing into a Covenant ship. Laera is infected by The Flood, while Admiral Parangosky is taken down by Flood-infected UNSC crew.

What rank is Jacob Keyes? ›

Jacob Keyes was a captain in the UNSC FLEETCOM Asymmetric Warfare Research Group. He handles base operations in direct action. He is later promoted to the leader Admiral.

Is there a skull on Keyes? ›

Keyes is the ninth mission in Halo: Combat Evolved. There are zero Skulls and one Terminal to find. You start the mission off with a 'flying' view of the interior of the Covenant cruiser as it looks now infested with Flood.

What is Captain Keyes full name? ›

Captain Jacob Keyes (voiced by Pete Stacker) is a captain in the UNSC who appears in Halo: Reach, Halo: Combat Evolved, Halo: The Flood, Halo: The Cole Protocol, and Halo: The Fall of Reach.

How did Johnson survive Halo 1? ›

He survived the Flood because of his ORION Project (aka SPARTAN-I) augmentations complicating the infection process for him, but also gained full immunity to infection because he was basically nipped by an old infection form that basically just inoculated him from the Flood altogether.

Who betrayed Captain Keyes? ›

Thanks to the traitor Ensign Ellen Dowski, the Covenant were able to find out where Keyes and the Command Crew were. When they got there they incapacitated the Captain and killed the rest of the Command crew, including Dowski even though she helped the Covenant find them.

Was Keyes a gravemind? ›

Jacob Keyes and Burgundy are the only notable humans to become part of a Proto-Gravemind. In Halo: Combat Evolved, it has also been observed that Plasma Grenades do not stick onto its surface, although sometimes they will land on one of its humps, exploding shortly after, but with no visible effect to the creature.

Who is the father of Miranda Keyes? ›

She was the daughter of the late Captain Jacob Keyes and Doctor Catherine Halsey.

Who is Miranda the daughter of? ›

Miranda is Prospero's teenage daughter. She has lived on an island with him since the age of three. At the start of the play, Miranda and Prospero have lived on the island for 12 years.

Who is the mother of Miranda Keyes in Halo series? ›

Biography. Miranda is the daughter of UNSC Captain Jacob Keyes and Dr. Catherine Halsey, though her parents romantic relationship ended.

Does Dr. Halsey love her daughter? ›

Miranda Keyes

Halsey dearly loved her only daughter, but she was often too busy to see her.

Top Articles
Latest Posts
Article information

Author: Arielle Torp

Last Updated:

Views: 5814

Rating: 4 / 5 (61 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Arielle Torp

Birthday: 1997-09-20

Address: 87313 Erdman Vista, North Dustinborough, WA 37563

Phone: +97216742823598

Job: Central Technology Officer

Hobby: Taekwondo, Macrame, Foreign language learning, Kite flying, Cooking, Skiing, Computer programming

Introduction: My name is Arielle Torp, I am a comfortable, kind, zealous, lovely, jolly, colorful, adventurous person who loves writing and wants to share my knowledge and understanding with you.