New Zealand Prime Minister Jacinda Ardern speaks on the Labour Election Day social gathering in Auckland.
Michael Bradley/Getty Images

New Zealand Prime Minister Jacinda Ardern, who has gained world recognition partially because of the approach she managed the coronavirus pandemic, cruised to victory on Saturday and simply received a second term. Ardern’s Labour Party received 49 p.c of the vote, in contrast with 27 p.c for its foremost challenger, the conservative National Party.

The large victory means Ardern’s social gathering is ready to carry a majority of seats in Parliament, marking the primary time there might be a purely left-leaning authorities in New Zealand in many years. No single social gathering has loved an outright majority in New Zealand’s Parliament because the nation carried out proportional voting 24 years in the past. But Labour is on monitor to just do that as it’s projected to win 64 of the 120 seats. “Tonight, New Zealand has shown the Labour Party its greatest support in at least 50 years,” Ardern mentioned Saturday night time. “And I can promise you: We will be a party that governs for every New Zealander.”

The preliminary evaluation of the outcomes suggests New Zealand has loved a major swing to the left. Labour gained 12 factors from the final election and the Green Party received 8 p.c, a two-point improve from the final election. Ardern mentioned that with the vote New Zealanders had proven they’re totally different from a lot of the world. “We are living in an increasingly polarized world, a place where, more and more, people have lost the ability to see one another’s point of view,” she mentioned. “I think in this election, New Zealanders have shown that this is not who we are.”

Ardern, 40, has turn into massively widespread world wide, a novel prospect for the chief of a rustic that has roughly the identical inhabitants as Louisiana. She gained a number of worldwide consideration when she had her first youngster whereas in workplace after which was broadly praised for her response to the Christchurch terrorist assaults. Ardern was usually talked abut because the counterpoint to President Donald Trump and in an editorial final 12 months that praised Ardern’s response to terrorism, the New York Times editorial board declared that “America deserves a leader as good as Jacinda Ardern.” Despite that worldwide recognition, some voters at house had been dissatisfied by the dearth of progress on key points. But that every one modified this 12 months with the best way her authorities efficiently responded to the coronavirus pandemic and that recognition turned evident at house as nicely. It was on show throughout the marketing campaign, when Ardern was usually greeted like a rock star.

component for the amplitude element,
* hit the Amplitude APlog the web page view.
* This perform calls itself as much as RETRY_LIMIT occasions
* with a RETRY_DELAY delay, as a result of the gadget ID is not
* out there instantly.
*
* If the gadget ID is not discovered after RETRY_LIMIT occasions,
* then log the web page view with out the gadget ID.
*
* @param {Element} el
* @param undefined attemptCount // defaults to 0
*/
// discover a element by classname and confirm the data-uri matches
// returns the element component, or `undefined` if it might’t be discovered or verified

perform discoverComponent(identify) {
var element = doc.physique.questionSelector(“.” + identify);

if (element) {
var uri = element.dataset.uri;

if (uri && uri.cut up(“/”)[2] === identify) {
return element;
}
}
}

perform getLayoutBreakpoint(viewportWidth) {
// see app/world/scss/settings/_units.scss#L1
var breakpoints = [[“sm”, 320], [“md”, 768], [“lg”, 1024], [“xl”, 1440]];
var i = breakpoints.size;

whereas (i–) {
if (viewportWidth >= breakpoints[i][1]) return breakpoints[i][0];
}

return breakpoints[0][0];
}

perform logPageView(occasion, el, mpvCookie) {
var pageviewProperties = slateAmplitude.getDomEventData(el);
pageviewProperties.search = window.location.search;
pageviewProperties.amplitude_id = occasion.choices ? occasion.choices.gadgetId : “no options – no deviceId”;
pageviewProperties.viewportWidth = doc.docElement.clientWidth;
pageviewProperties.layoutBreakpoint = getLayoutBreakpoint(pageviewProperties.viewportWidth);
var membershipType = getUserMembershipType();

if (membershipType) {
pageviewProperties.plan = membershipType;
}

if (loginId) {
pageviewProperties.signed_in_uuid = loginId;
}

pageviewProperties.taboola_loaded = castAsAmplitudeBool(isTaboolaLoaded());
pageviewProperties.taboola_eligible = castAsAmplitudeBool(isTaboolaEligible());

if (window.Scroll && Scroll.config.detected) {
pageviewProperties.isScrollUser = true;
}
/* In case session api errors out */

pageviewProperties.visitstart = castAsAmplitudeBool(isVisitStart());

strive {
pageviewProperties.adBlocker = castAsAmplitudeBool(isAbEnabled());
} catch (e) {
console.error(e);
}

if (!isNaN(mpvCookie.pv)) {
pageviewProperties.Nth_pageview = mpvCookie.pv + “”;
} // add occasion properties to assist measure effectiveness of affiliate and product hyperlinks

if (getAffiliateLinks().size > 0) {
pageviewProperties[“Affiliate Link”] = “✅”;
}

var product = discoverComponent(“product”);

if (product) {
pageviewProperties[“Product Component”] = “✅”;
} // occasion properties to measure the effectiveness of e-newsletter signups

var e-newsletterSignup = discoverComponent(“newsletter-signup”);
pageviewProperties[“Includes Newsletter Signup”] = castAsAmplitudeBool(e-newsletterSignup);

if (e-newsletterSignup) {
pageviewProperties[“Newsletter Signup Placement”] = “In Content”; // finally there might be different values for this
} // occasion properties to measure the effectiveness of slate plus button

var slatePlusButtonComponent = discoverComponent(“slate-plus-button”);

if (slatePlusButtonComponent) {
var slatePlusButton = slatePlusButtonComponent.questionSelector(“.slate-plus-button__basic”);

if (slatePlusButton) {
pageviewProperties[“Slate Plus Button Component”] = slatePlusButton.insideText;
}
}

var roadblock = !membershipType && discoverComponent(“slate-roadblock”);
pageviewProperties[“Includes Slate Plus Roadblock”] = castAsAmplitudeBool(roadblock);
var headerPromo = discoverComponent(“header-promo”);

if (headerPromo) {
pageviewProperties[“Includes Header Promo”] = “TRUE”;
}

slateAmplitude.web page(pageviewProperties); // after the pageview was logged, trim the “via” from the url to forestall customers from sharing it

through.take awayFromLocation();
}

perform setMemberStatusUserProp(userProps) {
var membershipType = getUserMembershipType();

if (membershipType) {
userProps.plan = membershipType;
}
}

perform setUserLoginId(userProps) {
if (loginId) {
userProps.signed_in_uuid = loginId;
}
}

perform setScrollUserProp(userProps) {
var isScrollUser = window.Scroll && Scroll.config.detected;

if (isScrollUser) {
userProps.scrollUser = isScrollUser;
}
}

perform setABUserProp(userProps) {
var abCookie = Cookies.get(“AB”); // sanitize the cookie

userProps.abTest = isValidAbTestString(abCookie) ? abCookie : “0”;
}

perform trackEndOfArticle() {
var parahTombstone = doc.questionSelector(“.slate-paragraph–tombstone”);

if (!parahTombstone) {
return;
} //makes certain monitoring is just despatched as soon as due to throttling

var monitorSent = _once(perform () {
slateAmplitude.monitor(“Completed article”);
slatePermutive.monitor(“ArticleCompletion”);
doc.removeEventListener(“scroll”, monitorScrolling);
});

var monitorScrolling = _throttle(perform () {
var scrollY = “scrollY” in window ? window.scrollY : window.pageYOffset; // non-standard prop for IE11

if (parahTombstone.offsetTop + parahTombstone.offsetHeight <= scrollY + window.innerHeight) { monitorSent(); } }, 300); doc.addEventListener("scroll", monitorScrolling); } perform logUserProperties(occasion) { occasion = occasion || amplitude.getInstance(); var userProps = {}; setABUserProp(userProps); setMemberStatusUserProp(userProps); setUserLoginId(userProps); setScrollUserProp(userProps); // see https://help.amplitude.com/hc/en-us/articles/115001361248#setting-multiple-user-properties occasion.setUserProperties(userProps); } perform handleMpvCookie(el) { var web pageTypesThatIncrement = ["article"https://news.google.com/__i/rss/rd/articles/,"coverstory"https://news.google.com/__i/rss/rd/articles/,"plus"]; var web pageType = el.dataset.pagetype; var isCorrectPageType = web pageTypesThatIncrement.consists of(web pageType); var mpvCookie = getMpvCookie(); if (isCorrectPageType) { mpvCookie = updateMpvValue(mpvCookie, el.dataset.web pageHash); setMpvCookie(mpvCookie); } return mpvCookie; } perform Constructor(el) { var mpvCookie = handleMpvCookie(el); window.slateAmplitudeQueue.push(perform (occasion) { // Add some monitoring callbacks monitorAffiliateLinks(); trackEndOfArticle(); logPageView(occasion, el, mpvCookie); logUserProperties(); through.setPageType(el.dataset.pagetype); }); } return Constructor; }]); }, {"1":1,"2":2,"3":3,"40":40,"48":48,"49":49}]; window.modules["social-share.client"] = [function(require,module,exports){"use strict"; var socialPopupWindow = require(9); DS.controller("social-share", [function () { return function (el) { return socialPopupWindow.attachEvents(el); }; }]); }, {"9":9}]; window.modules["in-article-recirc.client"] = [function(require,module,exports){"use strict"; // recirc component needs to be before the first graf to align properly when floated, // but we don't want it to appear _above_ the first paragraph in stacked mobile views DS.controller("in-article-recirc", [function () { function Constructor(el) { this.el = el; // if the recirc component is in its initial position, directly above the first graf // and has not been manually re-located by copy/production, then spring into action var p1 = el.nextElementSibling; var ref = this.getOriginalReferenceNode(); if (p1 && p1 === ref) { this.updatePosition(); // using setTimeout because it seems necessary for mqs in css to propagate? var updatePosition = function (e) { setTimeout(function () { this.updatePosition(); }.bind(this)); }.bind(this); // mqs here match up with breakpoints defined in settings.scss and mqs defined in layouts.scss // listening to mq changes because it affects ad visibility // todo: import variables from scss https://github.com/slategroup/slate-redux/issues/2881 [320, 768, 1024, 1440].forEach(perform (breakpoint) { window.matchMedia("(min-width: " + breakpoint + "px)").addListener(updatePosition); }); } } Constructor.prototype = { // when this question finds the component instantly following the recirc, // we'll execute the repositioning logic - it is alright to cautiously add elements right here // however be sure you take a look at the format in any respect breakpoints getOriginalReferenceNode: perform getOriginalReferenceNode() { return this.el.dad or mumNode.questionSelector(".slate-paragraph, .partner-branding"); }, // given a dad or mum node, discover the primary appropriate youngster component // to insert the recirc component earlier than (on cellular units) getOverrideReferenceNode: perform getOverrideReferenceNode() { // re-insert after the second paragraph or seen advert var refCount = 0; var numSibs = this.el.dad or mumNode.youngsters.size; var ref = this.el.dad or mumNode.firstElementChild; for (var i = 0; i < numSibs; i++) { var refStyles = window.getComputedStyle(ref); if (ref.matches("p.slate-paragraph, div.ad") && refStyles.display !== "none") refCount++; // note that this will be `null` if the second passing element is the last child ref = ref.nextElementSibling; if (refCount === 2) break; } return ref; }, updatePosition: function updatePosition() { // n.b. the max-width here is coupled with mqs in styles.scss var isMobile = !window.matchMedia("(min-width: 1024px)").matches; var el = this.el; var parent = el.parentNode; if (!isMobile) { // on desktop, move to original position near the top of the content var _referenceNode = this.getOriginalReferenceNode(); parent.insertBefore(el, _referenceNode); el.hidden = false; return; } var referenceNode = this.getOverrideReferenceNode(); if (referenceNode) { // move it to the appropriate position and display it parent.insertBefore(el, referenceNode); el.hidden = false; } else { // if a suitable reference node couldn't be determined, hide recirc on mobile; // our taboola contract specifies max space b/w the end of the article // and the beginning of the chumbox, and recirc isn't really article content, // so we should try to ensure that recirc is not the last thing on the page. el.hidden = isMobile; } } }; return Constructor; }]); }, {}]; window.modules["newsletter-signup.client"] = [function(require,module,exports){"use strict"; /* global Sailthru: false, amplitude: false */ try { Sailthru.init({ customerId: "2273afef3cc821e7a5150b77eab18b36" }); } catch (e) { console.error("error initializing Sailthru - signup may still work!", e); // keep going! signup actually seems to work even if `init` fails } var slateAmplitude = require(2); var slatePermutive = require(40); module.exports = function (el) { var mailingList = el.dataset.list; var els = { email: el.querySelector(".js-email"), marketing: el.querySelector(".js-marketing"), success: el.querySelector(".js-success"), form: el.querySelector(".js-signup-form"), validationError: el.querySelector(".js-validation-error"), submitError: el.querySelector(".js-submit-error"), submitBtn: el.querySelector(".js-signup-button") }; // assume the first link in the wysiwyg field (if any exists) is the link to manage subscriptions els.managelink = els.success.querySelector("a"); function validate(e) { els.submitBtn.innerHTML = "Signing up..."; if (els.email.checkValidity() === false) { els.validationError.innerHTML = "Enter a valid email address"; els.validationError.classList.add("newsletter-signup__label--error"); els.email.classList.add("newsletter-signup__input--error"); els.email.setAttribute("aria-invalid"https://news.google.com/__i/rss/rd/articles/,"true"); els.submitBtn.innerHTML = "Sign Up"; // restore the original text from the template } else { submit(); els.validationError.innerHTML = "Email address"; els.validationError.classList.remove("newsletter-signup__label--error"); els.email.classList.remove("newsletter-signup__input--error"); els.email.setAttribute("aria-invalid"https://news.google.com/__i/rss/rd/articles/,"false"); els.submitBtn.innerHTML = "Subscribe"; } e.preventDefault(); } function onSuccess() { els.success.hidden = false; els.submitError.hidden = true; els.form.hidden = true; var eventProperties = { list_name: mailingList }; // keep track of all newsletters a "user" signs up for var identify = new amplitude.Identify(); identify.append("Newsletters", mailingList); amplitude.identify(identify); slateAmplitude.track("Newsletter: Sign Up", eventProperties); slatePermutive.track("Newsletter", { newsletters: [mailingList] }); // todo: need a better solution for displaying manage newsletters link if (els.managelink) { var u = new URL(els.managelink.href); u.searchParams.set("email", els.email.value); els.managelink.href = u.toString(); } } function onError() { els.submitError.hidden = false; } function submit() { // add sailthru lists var lists = {}; lists[mailingList] = 1; if (els.marketing.checked) { lists["Marketing"] = 1; } // send to sailthru // https://getstarted.sailthru.com/developers/api-client/javascript/ Sailthru.integration("userSignUp", { email: els.email.value, lists: lists, source: "in-page-signup-promo", onSuccess: onSuccess, onError: onError }); } els.form.addEventListener("submit", validate); }; }, {"2":2,"40":40}]; window.modules["permutive.client"] = [function(require,module,exports){"use strict"; /* global permutive: false */ module.exports = function (el) { var consentTokenName = "slate-token"; window.nonIabVendorApi.registerVendor("permutive", { categories: ["C0002"https://news.google.com/__i/rss/rd/articles/,"C0003"https://news.google.com/__i/rss/rd/articles/,"C0004"], initFunc: function initFunc(consent) { if (!consent) return false; function getCookie(a) [^;]+)s*" + a + "s*=s*([^;]+)"); return b ? b.pop() : ""; function getSearchParam(paramName) { try { var search = new URL(document.location).searchParams; return search.get(paramName); } catch (e) { console.error("could not get " + paramName + " url param", e); } } function addUserPermutiveParam(key, value) { if (!window.slatePermutiveData.page.user) { window.slatePermutiveData["page"]["user"] = {}; } window.slatePermutiveData["page"]["user"][key] = value; } try { var search = new URL(document.location).searchParams; if (search.get("utm_source")) { window.slatePermutiveData["page"]["utmSource"] = search.get("utm_source"); } if (search.get("utm_medium")) { window.slatePermutiveData["page"]["utmMedium"] = search.get("utm_medium"); } if (search.get("utm_campaign")) { window.slatePermutiveData["page"]["utmCampaign"] = search.get("utm_campaign"); } } catch (e) { console.error(e); } if (el.dataset.isSplusUser) { try { addUserPermutiveParam("slatePlus", true); } catch (e) { console.error(e); } } // {{!-- // identify calls we can do immediately --}} var identities = []; // add an identity to the list and also tack it onto the pageview event function addUserIdentity(tag, id) { if (id) { identities.push({ tag: tag, id: id }); addUserPermutiveParam(tag, id); } } addUserIdentity("slateId", getCookie("wapo_login_id")); addUserIdentity("publisherUserId", getCookie("slate-uuid-js")); addUserIdentity("sailthruId", getSearchParam("sid")); if (identities.length > 0) {
window.permutive.establish(identities);
}

permutive.consent({
opt_in: consent,
token: consentTokenName
});
permutive.addon(“web”, window.slatePermutiveData);
var elem = doc.createElement(“script”);
elem.src = “https://cdn.permutive.com/” + el.dataset.permutiveProjectId + “-web.js”;
elem.defer = true;
var scpt = doc.getElementsByTagIdentify(“script”)[0];
scpt.dad or mumNode.insertBefore(elem, scpt);
return true;
},
updateConsentFunc: perform updateConsentFunc(consent) {
if (permutive) {
strive {
var currentConsent = JSON.parse(localStorage[“permutive-consent”]).opt_in;

if (currentConsent != consent) {
permutive.consent({
opt_in: consent,
token: consentTokenName
});
}
} catch (e) {
permutive.consent({
opt_in: consent,
token: consentTokenName
});
}
}
}
});
permutive.prepared(perform () {
// Amplitude is loaded later, so we have now to queue our establish name
window.slateAmplitudeQueue.push(perform () {
var permutiveIdentities = [];

if (permutive.context) {
permutiveIdentities.push({
tag: “puid”,
id: permutive.context.user_id
});
}

strive {
var amplitudeId = window.amplitude.getInstance().choices.gadgetId;

if (amplitudeId) {
permutiveIdentities.push({
tag: “amplitudeId”,
id: amplitudeId
});
}
} catch (e) {
console.error(“Error setting amplitudeId”, e);
}

if (permutiveIdentities.size > 0) {
permutive.establish(permutiveIdentities);
}
});
});
};
}, {}];
window.modules[“piano.client”] = [function(require,module,exports){“use strict”;

var slateAmplitude = require(2);

var _require = require(42),
getMorgioniProps = _require.getMorgioniProps,
setMorgioniProps = _require.setMorgioniProps;

var cookies = require(43); // tp implicit global variable initialization –
// this differs from their docs, our scripts do not run in the global context,
// and the global tp object gets replaced on init so the variable reference becomes wrong

if (!window.tp) window.tp = [];
var tp = window.tp; // this bit may become helpful if we have to do something with the hydrated tp object
// tp.push([“init”, () => void (tp = window.tp)]); // re-assign native variable after init
// todo: is it alright to run this after tp init?

strive {
var articleData = slateAmplitude.getDomEventData(); // The content material printed date

tp.push([“setContentCreated”, articleData.pub_date]); // The content material writer -only one is allowed in keeping with their docs..

tp.push([“setContentAuthor”, articleData.authors.join(“,”)]); // The content material part – or ought to we use the rubric?

tp.push([“setContentSection”, articleData.section]); // Add customized variables as any key-value pair. The first parameter is the important thing; second is the worth

tp.push([“setCustomVariable”https://news.google.com/__i/rss/rd/articles/,”contentRubric”, articleData.rubric]); // The content material tags

tp.push([“setTags”, articleData.tags]);
} catch (e) {
console.error(e);
} // If the content material is native promoting
// tp.push([“setContentIsNative”, false]);
// The customized params
// todo: what is that this and the way does it differ from a customized variable
// tp.push([“setCustomParam”https://news.google.com/__i/rss/rd/articles/,”type”https://news.google.com/__i/rss/rd/articles/,”premium”https://news.google.com/__i/rss/rd/articles/,”content”]);
// The AAM Zone
// tp.push([“setZone”https://news.google.com/__i/rss/rd/articles/,”Web”]);

tp.push([“setUsePianoIdUserProvider”, true]);
tp.push([“init”, function () {
var tp = window.tp; // fuuuuuuck
// I hate this

tp.amplitude = slateAmplitude;
tp.morgioni = {
getMorgioniProps: getMorgioniProps,
setMorgioniProps: setMorgioniProps
}; // Called by Piano Composer

tp.fireAmplitude = function (event) {
tp.morgioni.setMorgioniProps();
var eventProps = tp.morgioni.getMorgioniProps();
slateAmplitude.track(event, eventProps);
};

tp.pianoId.init({
loginSuccess: function loginSuccess() {
if (!cookies.get(“sp_secure_id”)) {
var myslateUrl = document.documentElement.dataset.myslateurl; // set sp_secure_id cookie and splus cookie for members

fetch(“”.concat(myslateUrl, “/membership/verify/”), {
credentials: “include”
}); // see slate-comments/client.js for lf_secure_login_id
}
},
loggedOut: function loggedOut() {
// these cookies are set by myslate and we don’t know what domain the cookie is on
[“.local.dev.slate.com”https://news.google.com/__i/rss/rd/articles/,”.dev.slate.com”https://news.google.com/__i/rss/rd/articles/,”.stage.slate.com”https://news.google.com/__i/rss/rd/articles/,”.slate.com”].forEach(perform (d) {
[“splus”https://news.google.com/__i/rss/rd/articles/,”sp_secure_id”https://news.google.com/__i/rss/rd/articles/,”lf_secure_login_id”].forEach(function (c) {
cookies.take away(c, {
area: d
});
});
});

strive {
for (var i = 0; i < localStorage.length; i++) { if (localStorage.key(i).indexOf("fyre") > -1) {
localStorage.take awayItem(localStorage.key(i));
}
}
} catch (e) {// do nothing, if an exception is thrown accessing cookies or storage,
// then we most likely by no means had something saved within the first place
}
}
});
}]);
}, {“2″:2,”42″:42,”43”:43}];
window.modules[“adblock-message.client”] = [function(require,module,exports){“use strict”;

var membership = require(3),
isMember = membership.isMember(),
isAbEnabled = require(1).isAbEnabled,
slateAmplitude = require(2);

DS.controller(“adblock-message”, [function () {
var Constructor;
/**
* @param {Element} el
* @constructor
* @property {Element} el
*/

Constructor = function Constructor(el) {
this.el = el;
this.message = el.querySelector(“.adblock-message__content”); // it’s not in the spec but in practice browsers may raise exceptions for “getItem”

try 0;
catch (e) {
return; // we can’t access storage to keep track of pageviews, bail out
}

function setPageViewCookie(count) {
try {
localStorage.pageview = count;
} catch (e) {// swallow the error, users may disable storage access after the component is constructed
}
}

function isActivePageView() {
return (pageView – 2) % 3 === 0;
}
/**
* Set and increment pageview cookie on page load
*/

window.addEventListener(“load”, function () {
pageView++;
setPageViewCookie(pageView);
});
/**
* Check conditions for displaying the adblock message
*/

var _this = this;

window.setTimeout(function () {
var adblockEnabled = isAbEnabled(),
activeView = isActivePageView();

if (!isMember && adblockEnabled && activeView) {
_this.showMessage();
}
}, 1000);
/**
* Close the ad message if user clicks outside of the message container
*/

document.body.addEventListener(“click”, function (e) {
if (_this.messageIsVisible()) {
if (!_this.message.contains(e.target)) {
_this.hideMessage();
}
}
});
document.addEventListener(“keyup”, function (e) {
if (_this.messageIsVisible() && (e.key === “Escape” || e.key === “Esc”)) {
_this.hideMessage();
}
});
};

Constructor.prototype = {
events: {
“.js-message-close click”: “hideMessage”,
“.js-message-button click”: “buttonAnalytics”
},
messageIsVisible: function messageIsVisible() {
return document.body.classList.contains(“adblock-enabled”);
},
showMessage: function showMessage() {
document.body.classList.add(“adblock-enabled”);
slateAmplitude.track(“Adblocker – View Overlay”);
},
hideMessage: function hideMessage(e) {
document.body.classList.remove(“adblock-enabled”);
},
buttonAnalytics: function buttonAnalytics(e) {
var button = e.target,
buttonEvent = button.text;
slateAmplitude.track(“Adblocker – Click ” + buttonEvent);
}
};
return Constructor;
}]);
}, {“1″:1,”2″:2,”3”:3}];
window.modules[“webapp-serviceworker.client”] = [function(require,module,exports){“use strict”;

(function () {
“use strict”;

if (!navigator.serviceWorker) {
return;
} // Temp patch on issue that affected ads. This is not permanent business logic.
// https://github.com/slategroup/slate-redux/issues/3212

if (navigator.vendor === “Apple Computer, Inc.”) {
navigator.serviceWorker.getRegistrations().then(function (registrations) {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;

try {
for (var _iterator = registrations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.subsequent()).accomplished); _iteratorNormalCompletion = true) {
var reg = _step.worth;
var legitimate = reg && reg.energetic && reg.energetic.scriptURL;

if (legitimate && reg.energetic.scriptURL.indexOf(“sw.js”) > -1) {
console.log(“removing serviceworker”);
reg.unregister();
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} lastly {
strive {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} lastly {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
});
return;
}

var slateAmplitude = require(2);

window.addEventListener(“load”, perform () {
navigator.serviceWorker.register(“/sw.js”).then(perform (registration) {// Registration was profitable
}, perform (err) {
// registration failed 🙁
console.error(“ServiceWorker registration failed: “, err);
});
}); // through https://developers.google.com/web/fundamentals/app-install-banners/

window.addEventListener(“beforeinstallprompt”, perform (e) {
e.personChoice.then(perform (choiceResult) {
if (choiceResult.end result === “dismissed”) {
slateAmplitude.monitor(“PWA – dismissed install prompt”);
} else {
slateAmplitude.monitor(“PWA – Added to Home Screen”);
}
});
});
})();
}, {“2”:2}];
window.modules[“amazon-oneclick.client”] = [function(require,module,exports){“use strict”;

module.exports = function (el) {
window.nonIabVendorApi.registerVendor(“amazon-oneclick”, {
categories: [“C0004”],
initFunc: perform initFunc(consent) {
if (!consent) return;
var elem = doc.createElement(“script”);
elem.src = “https://z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&adInstanceId=797217ac-ca6e-482f-8925-4c302e9c855c”;
elem.defer = true;
elem.sort = “text/javascript”;
var scpt = doc.getElementsByTagIdentify(“script”)[0];
scpt.dad or mumNode.insertBefore(elem, scpt);
},
updateConsentFunc: perform updateConsentFunc(consent) {
if (!consent) {// not a lot we are able to do right here. the script already ran.
}
}
});
};
}, {}];
window.modules[“aaa-module-mounting.legacy”] = [function(require,module,exports){‘use strict’; // blame somebody else for this shit: https://github.com/nymag/sites/blame/master/global/js/aaa-module-mounting.js
// Note: this mounts before all client.js files, so legacy client controllers may call DS.controller()
// it also mounts before other legacy services (because of the filename) so they can call DS.service()

var eventify = require(65),
_pickBy = require(69),
_each = require(66),
DS = require(64);

var _once = require(67);

var _throttle = require(68);

var Cookies = require(43);

function registerGlobals() {
window.DS = DS;
window.Eventify = eventify; // allow these libs to be imported into Dollar Slice components

DS.value(‘Eventify’, eventify);
DS.value(‘_once’, _once);
DS.value(‘_throttle’, _throttle);
DS.value(‘Cookies’, Cookies);
DS.value(‘$document’, window.document);
DS.value(‘$window’, window);
}
/**
* Mount all Dollar Slice components.
*/

function mountDollarSliceComponents() {
// search page for components, and instantiate their controllers
DS.service(‘components’, [‘$document”https://news.google.com/__i/rss/rd/articles/,”$module’, function ($document, $module) {
var controllers = _pickBy($module.definitions, function (definition) {
return definition.providerStrategy === $module.providers.controller;
}),
list = Object.keys(controllers); // for each component on the page, loop through the instances and kickoff the controller

_each(list, function (name) {
var components = $document.querySelectorAll(‘[data-uri*=”/_components/’ + name + ‘/”]’),
// matches data-uri=”/_components//instances/
defaultComponents = $doc.questionSelectorAll(‘[data-uri$=”/_components/’ + name + ‘”]’); // matches data-uri=”/_components/

_each(elements, initController(identify));

_each(defaultComponents, initController(identify));
}); // expose record of elements on the web page

this.elements = record;

perform initController(identify) {
return perform (element) {
strive {
$module.get(identify, element);
} catch (error) {
logMountError(element, error);
}
};
}
}]); // different elements may need to work together with our service, however we’ll begin it right here.

DS.get(‘elements’);
}
/**
* Log an error mounting the shopper script for the required component.
* @param {HtmlElement} el
* @param {Error} error
*/

perform logMountError(el, error) {
// component tag would be the full contents of the element’s tag akin to:
//

var componentTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(‘Error attaching controller to ‘ + componentTag, error);
} // globals (like DS) should be registered earlier than different recordsdata name DS.service() or DS.element()

registerGlobals(); // wait till the whole lot else has been mounted earlier than instantiating legacy DS controllers

doc.addEventListener(‘DOMContentLoaded’, perform () {
mountDollarSliceComponents();
});
}, {“43″:43,”64″:64,”65″:65,”66″:66,”67″:67,”68″:68,”69”:69}];
window.modules[“ads.legacy”] = [function(require,module,exports){“use strict”;

DS.service(“adService”, [“$window”https://news.google.com/__i/rss/rd/articles/,”headerBidding”https://news.google.com/__i/rss/rd/articles/,”$visibility”, function ($window, headerBidding, $visibility) {
$window.googletag = $window.googletag || {}, $window.googletag.cmd = $window.googletag.cmd || [];
$window.pbjs = $window.pbjs || {};
$window.pbjs.que = $window.pbjs.que || [];
var advertIndex = {},
adSlotsWithRefresh = [],
testParam = getTestParam(),
web pageId = getPageId(),
slotData = [];
/**
* Checks if url question parameters include ‘test_ads’ and returns it is worth
* @return {string}
*/

perform getTestParam() {
var TEST_ADS_REGEX = /[?&]test_ads=([^&#?]+)/;
var outcomes = TEST_ADS_REGEX.exec($window.location.search);
return outcomes ? outcomes[1] : “”;
}
/*
* Config GPT scripts
*/

$window.googletag.cmd.push(perform () {
var web pageType = doc.questionSelector(“.js-analytics-js-data”).getAttribute(“data-pagetype”).substitute(” “https://news.google.com/__i/rss/rd/articles/,”-“);
$window.googletag.pubads().disableInitialLoad();
$window.googletag.allowServices();
var cacheBustValue = Math.ground(Math.random() * 10000000000000),
cacheBustMeta = doc.questionSelectorAll(‘meta[name=”dfp-cache-buster”]’)[0];

if (cacheBustMeta && cacheBustMeta.content material) {
cacheBustValue = cacheBustMeta.content material;
}

$window.googletag.pubads().setTargeting(“dfp_cache_buster”, cacheBustValue).setTargeting(“page_id”, web pageId).setTargeting(“page_type”, web pageType);
var usprivacyRegex = /usprivacy=d+[YN]Y/;

if (doc.cookie.match(usprivacyRegex)) {
$window.googletag.pubads().setRequestNonPersonalizedAds(1);
}

if (testParam) {
googletag.pubads().setTargeting(“kw”https://news.google.com/__i/rss/rd/articles/,”test_” + testParam);
} // AB worth

var ABCookie = doc.cookie.match(/AB=(d+_d+)/);

if (ABCookie && ABCookie.size > 1) {
googletag.pubads().setTargeting(“ab_var”, ABCookie[1]);
}

allowAdRefresh();
});
/*
* Request advert from the DFP
*/

this.requestAd = perform (ad_data) {
ad_data.defineSlot();
googletag.pubads().refresh([ad_data.gptSlot], {
changeCorrelator: false
});
};
/**
* Add refresh to some advert slots
*/

perform allowAdRefresh() {
googletag.pubads().addEventListener(“slotRenderEnded”, perform (occasion) {
var slot = occasion.slot;
var slotId = slot.getSlotElementId();
var slotElement = $window.doc.getElementById(slotId);

if (Array.isArray(occasion.measurement) && occasion.measurement[0] && occasion.measurement[1]) {
var measurement = occasion.measurement[0] + “x” + occasion.measurement[1];

if (refreshEnabled(measurement) && !adSlotsWithRefresh[slotId]) {
updateSlotTargeting(slot);
addRefreshToSlot(slot, slotData[slotId], slotElement);
adSlotsWithRefresh[slotId] = true;
}
}
});
}
/**
* Every 20 sec verify if slot is in view
* If it’s, request new advert from the DFP
*/

perform addRefreshToSlot(slot, ad_data, slotElement) {
var refreshInterval = 30000;
setInterval(perform () {
if (adIsInView(slotElement)) {
headerBidding.prebid(ad_data, slot);
}
}, refreshInterval);
}
/**
* Removes prebid concentrating on
* Adds targetig for the precise top
*/

perform updateSlotTargeting(slot) {
slot.clearTargeting(“hb_adid”);
slot.clearTargeting(“hb_bidder”);
slot.clearTargeting(“hb_pb”);
slot.clearTargeting(“hb_size”);
slot.setTargeting(“refresh”https://news.google.com/__i/rss/rd/articles/,”yes”);
}
/**
* Checks advert’s measurement to verify it is enabled to refresh
*/

perform refreshEnabled(measurement) {
// Nonstandard advert sizes, not allowed to refresh
var teadsSize = “2×2”,
nativeSize = “1×2”,
customizedSize = “1×3”,
podcastTextAdSize = “1×4”;
return measurement !== teadsSize && measurement !== nativeSize && measurement !== customizedSize && measurement !== podcastTextAdSize;
}
/**
* Checks if advert slot is in view and window is concentrated
*/

perform adIsInView(slotElement) {
var windowHasFocus = $window.doc.hasFocus();

if (!windowHasFocus) {
return false;
} else {
return $visibility.isElementInViewport(slotElement);
}
}
/*
* Create advert object
*/

this.createAd = perform (el) {
var sort = el.getAttribute(“data-type”),
prebid = el.getAttribute(“data-prebid”),
dataDfpSizes = el.getAttribute(“data-sizes”),
knowledgePrebidSizes = el.getAttribute(“data-prebid-sizes”),
rubiconZoneId = el.getAttribute(“data-zone-id”),
appnexusPlacementId = el.getAttribute(“data-placement-id”),
trustxId = el.getAttribute(“data-trustx-id”),
criteoZoneId = el.getAttribute(“data-criteo-id”),
indexSiteId = el.getAttribute(“data-site-id”),
tripleliftCode = el.getAttribute(“data-tl-code”);

if (!advertIndex[type]) {
advertIndex[type] = 1;
}

el.id = sort + “-” + advertIndex[type];
advertIndex[type]++;
var advert = {
id: el.id,
sort: sort,
adUnit: getAdUnit(),
prebid: getBoolean(prebid),
dfpSizes: getSizeArray(dataDfpSizes),
prebidSizes: getSizeArray(knowledgePrebidSizes),
rubiconZoneId: rubiconZoneId,
appnexusPlacementId: appnexusPlacementId,
trustxId: trustxId,
criteoZoneId: criteoZoneId,
indexSiteId: indexSiteId,
tripleliftCode: tripleliftCode,
gptSlot: null,
defineSlot: perform defineSlot() {
this.gptSlot = $window.googletag.defineSlot(this.adUnit, this.dfpSizes, this.id);
slotData[this.id] = this;
this.gptSlot.addService(googletag.pubads()); // slot degree concentrating on

this.gptSlot.setTargeting(“site”https://news.google.com/__i/rss/rd/articles/,”redux”);
this.gptSlot.setTargeting(“refresh”https://news.google.com/__i/rss/rd/articles/,”no”);
this.gptSlot.setTargeting(“pos”, this.id);
$window.googletag.show(this.id);
}
};
return advert;
};
/**
* Converts “true” / “false” strings to boolean
* @param {string} worth
* @returns {boolean}
*/

perform getBoolean(worth) {
return worth === “true” ? true : false;
}
/**
* Returns sizes as an array
* @param {string} sizes
* @returns {array}
*/

perform getSizeArray(sizes) {
var sizesArray = [];

if (sizes && sizes.size) {
sizes = sizes.cut up(“,”);
sizes.map(perform (measurement) {
measurement = measurement.cut up(“x”);
var w = parseInt(measurement[0]);
var h = parseInt(measurement[1]);
sizesArray.push([w, h]);
});
}

return sizesArray;
}
/**
* Returns advert node
* @returns {string}
*/

perform getAdNode() {
var advertNodeElement = doc.questionSelector(“div[data-adnode]”),
advertNode = “”;

if (advertNodeElement) {
advertNode = advertNodeElement.getAttribute(“data-adnode”);
}

return advertNode;
}
/**
* Returns DFP advert unit
* @returns {string}
*/

perform getAdUnit() {
var networkCode = “91898098”,
platform = “slate.com”,
advertNode = getAdNode();
return networkCode + “/” + platform + “/” + advertNode;
}
/**
* Returns web page id
* @returns {string}
*/

perform getPageId() {
var html = window.doc.docElement,
dataUri = html.getAttribute(“data-uri”),
web pageId = dataUri.cut up(“/”)[2].substitute(“@published”https://news.google.com/__i/rss/rd/articles/,””);
return web pageId;
}
}]);
}, {}];
window.modules[“headerbidding.legacy”] = [function(require,module,exports){“use strict”;

DS.service(“headerBidding”, function () {
var adData,
permutiveData = getPermutiveData(),
isMember = require(3).isMember(),
HARD_TIMEOUT = 1500; // max amount of time ad calls are delayed for headerbidding

this.prebid = function (data) {
adData = data;
adData.biddersManager = {
adserverRequestSent: false,
prebid: false,
amazon: false
};

var _self = this;

window.slateCMP.TCF.ready.then(function (tcData) {
_self.requestBidsFromExchanges.call(_self);
}); // header bidding has a fixed amount of time to finish
// after that we call ad server

setTimeout(function () {
googletag.cmd.push(function () {
defineGptSlot(adData);
callAdServer(adData);
});
}, HARD_TIMEOUT);
}; // Request bids from the exchanges

this.requestBidsFromExchanges = function () {
this.getBidsFromPrebidExchanges();
this.getBidsFromAmazon();
}; // get bids from all prebid partners

this.getBidsFromPrebidExchanges = function () {
var prebidAdUnit = this.createPrebidAdUnit();
pbjs.que.push(function () {
pbjs.addAdUnits([prebidAdUnit]); // cache a reference to the advert knowledge at the moment,
// earlier than we re-assign these variable names after we run auctions for different advert items

var knowledge = adData;
pbjs.requestBids({
adUnitCodes: [adData.id],
bidsBackHandler: perform bidsBackHandler() {
googletag.cmd.push(perform () {
pbjs.que.push(perform () {
// gpt slot should be outlined earlier than bids are set
defineGptSlot(knowledge);
pbjs.setTargetingForGPTAsync([data.id]); // add profitable bid to the advert slot

pbjs.take awayAdUnit(knowledge.id); // take away advert unit from prebid

knowledge.biddersManager.prebid = true; // mark prebid as accomplished

bidderFinished(knowledge);
});
});
}
});
});
}; // get bids from amazon

this.getBidsFromAmazon = perform () {
var apsAdUnit = this.createApsAdUnit(),
prebidTimeout = pbjs.getConfig(“bidderTimeout”),
timeout = prebidTimeout ? prebidTimeout : 800,
// cache a reference to the advert knowledge at the moment,
// earlier than we re-assign these variable names after we run auctions for different advert items
knowledge = adData;

if (apstag) {
apstag.fetchBids({
slots: [apsAdUnit],
timeout: timeout
}, perform (bids) {
googletag.cmd.push(perform () {
// gpt slot should be outlined earlier than bids are set
defineGptSlot(knowledge);
apstag.setDisplayBids();
knowledge.biddersManager.amazon = true; // mark amazon as accomplished

bidderFinished(knowledge);
});
});
}
}; // verify if each prebid and amazon are accomplished
// and if the advert server request hasn’t been despatched but

perform bidderFinished(knowledge) {
if (knowledge.biddersManager.amazon && knowledge.biddersManager.prebid) {
nameAdServer(knowledge);
}
} // name advert server

perform nameAdServer(knowledge) {
if (knowledge.biddersManager.adserverRequestSent) {
return;
}

knowledge.biddersManager.adserverRequestSent = true;
googletag.cmd.push(perform () {
googletag.pubads().refresh([data.gptSlot], {
changeCorrelator: false
}); // ship request to the dfp
});
} // gpt slot is outlined right here, after header bidding, as a result of we do not
// need to delay header bidding till gpt is prepared
// this perform might be referred to as from amazon callback, prebid callback and after timeout
// slot might be outlined simply as soon as

perform defineGptSlot(knowledge) {
// verify if gpt slot has been already outlined
if (!knowledge.gptSlot) {
knowledge.defineSlot();
}
} // Returns prebid advert unit

this.createPrebidAdUnit = perform () {
var outstreamMediaType = {
context: “outstream”,
participantSize: [444, 250]
};
var bannerMediaType = {
sizes: adData.prebidSizes
};
var adUnit = {
code: adData.id,
mediaTypes: {
banner: bannerMediaType
},
bids: this.getBidders()
}; // add outstream configs if outstream is enabled for this slot

if (this.outstreamEnabled(adData.sort)) {
adUnit.mediaTypes.video = outstreamMediaType;
}

return adUnit;
}; // returns an array of bidders to name
// bidders are added within the order they are going to be referred to as by prebid

this.getBidders = perform () {
var isMobile = window.innerWidth < 768, isMobileLeaderboard = adData.sort === "leaderboard-mobile", bidders = []; if (this.outstreamEnabled(adData.sort)) { bidders.push(this.teads()); } bidders.push(this.appnexus()); bidders.push(this.triplelift()); // kargo is a cellular solely accomplice if (isMobile) { if (!isMobileLeaderboard) { // if this is not cellular leaderboard kargo might be added bidders.push(this.kargo()); } else if (!isMember) { // kargo makes use of cellular leaderboard to server sticky advertisements // we do not need to present sticky advertisements to slate plus customers // due to this fact if that is cellular leaderboard, embrace kargo // provided that this is not slate plus person bidders.push(this.kargo()); } } bidders.push(this.rubicon()); // don't embrace index in prebid for EU customers if (!this.isEuUser()) { // index alternate wants one bid per measurement for (var i = 0; i < adData.prebidSizes.length; i++) { var size = adData.prebidSizes[i]; var indexBidForSize = this.index(size); bidders.push(indexBidForSize); } } bidders.push(this.trustx()); bidders.push(this.criteo()); return bidders; }; // Returns ad unit for amazon publisher service this.createApsAdUnit = function () { return { slotID: adData.id, slotName: adData.adUnit, sizes: adData.prebidSizes }; }; // Returns data for appnexus bid request this.appnexus = function () { return { bidder: "appnexusAst", params: { placementId: adData.appnexusPlacementId, keywords: { permutive: permutiveData } } }; }; // Returns data for rubicon bid request this.rubicon = function () { return { bidder: "rubicon", params: { accountId: "13590", siteId: "60302", zoneId: adData.rubiconZoneId } }; }; // Returns data for trustx bid request this.trustx = function () { return { bidder: "trustx", params: { uid: adData.trustxId } }; }; this.criteo = function () { return { bidder: "criteo", params: { zoneId: adData.criteoZoneId } }; }; // Returns data for index bid request this.index = function (size) { return { bidder: "ix", params: { siteId: adData.indexSiteId, size: size } }; }; this.kargo = function () { var placementId = adData.type === "leaderboard-mobile" ? "_mBJrAZ6WvF" : "_uG77kNNswo"; return { bidder: "kargo", params: { placementId: placementId } }; }; this.triplelift = function () { return { bidder: "triplelift", params: { inventoryCode: adData.tripleliftCode } }; }; this.teads = function () { var teadsData = getTeadsData(); return { bidder: "teads", params: { pageId: teadsData.pageId, placementId: teadsData.placementId } }; }; // outstream is enabled only for some in-article slots // slate plus members are excluded this.outstreamEnabled = function (type) { var outstreamEnabledTypes = ["mid-article-spot"https://news.google.com/__i/rss/rd/articles/,"mid-article-spot-tablet"https://news.google.com/__i/rss/rd/articles/,"mid-article-spot-mobile"], isOutstreamSlot = outstreamEnabledTypes.includes(type); return isOutstreamSlot && !isMember; }; // Returns whether user is from EU this.isEuUser = function () { return document.cookie.indexOf("GDPR_consent=1") > -1;
}; // returns permutive knowledge

perform getPermutiveData() {
var pSegs;

strive “[]”).slice(0, 250).map(String);
catch (e) {
pSegs = [];
}

return pSegs;
}

perform getTeadsKnowledge() {
var adnodeElement = doc.questionSelector(“div[data-adnode]”);
var advertNode = adnodeElement.getAttribute(“data-adnode”);
var part = advertNode.cut up(“/”)[0]; // teads knowledge for every part

var teadsData = {
news_and_politics: {
web pageId: 79225,
placementId: 85784
},
tradition: {
web pageId: 90291,
placementId: 97769
},
know-how: {
web pageId: 90293,
placementId: 97775
},
enterprise: {
web pageId: 90294,
placementId: 97778
},
human_interest: {
web pageId: 90292,
placementId: 97772
}
};
return teadsData[section];
}
});
}, {“3”:3}];
window.modules[“lazyload.legacy”] = [function(require,module,exports){“use strict”;

require(70); // for side effects

var Layzr = require(71);

var instance = Layzr({
threshold: 100
});
instance.on(“src:before”, function (element) {
// add a load event listener
element.addEventListener(“load”, function (event) {
element.parentElement.classList.add(“loaded”);
});
});
document.addEventListener(“DOMContentLoaded”, function (event) {
instance.update().check().handlers(true);
});
}, {“70″:70,”71”:71}];
window.modules[“prebid.min.legacy”] = [function(require,module,exports){“use strict”;

function _typeof(obj) { if (typeof Symbol === “function” && typeof Symbol.iterator === “symbol”) { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === “function” && obj.constructor === Symbol && obj !== Symbol.prototype ? “symbol” : typeof obj; }; } return _typeof(obj); }

/* prebid.js v3.23.0
Updated : 2020-06-22 */
!function (u) {
var s = window.pbjsChunk;

window.pbjsChunk = function (e, t, n) {
for (var r, o, i, a = 0, c = []; a < e.size; a++) { o = e[a], d[o] && c.push(d[o][0]), d[o] = 0; } for (r in t) { Object.prototype.hasOwnProperty.name(t, r) && (u[r] = t[r]); } for (s && s(e, t, n); c.size;) { c.shift()(); } if (n) for (a = 0; a < n.length; a++) { i = f(f.s = n[a]); } return i; }; var n = {}, d = { 313: 0 }; function f(e) { if (n[e]) return n[e].exports; var t = n[e] = { i: e, l: !1, exports: {} }; return u[e].call(t.exports, t, t.exports, f), t.l = !0, t.exports; } f.m = u, f.c = n, f.d = function (e, t, n) { f.o(e, t) || Object.defineProperty(e, t, { configurable: !1, enumerable: !0, get: n }); }, f.n = function (e) { var t = e && e.__esModule ? function () { return e.default; } : function () { return e; }; return f.d(t, "a", t), t; }, f.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t); }, f.p = "", f.oe = function (e) { throw (console.error(e), e); }, f(f.s = 831); }([function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), n.d(t, "internal", function () { return k; }), n.d(t, "bind", function () { return N; }), t.getUniqueIdentifierStr = q, t.generateUUID = function e(t) { return t ? (t ^ G() >> t / 4).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).substitute(/[018]/g, e);
}, t.getBidIdParameter = perform (e, t) {
if (t && t[e]) return t[e];
return “”;
}, t.tryAppendQueryString = perform (e, t, n) {
if (n) return e + t + “=” + encodeURIComponent(n) + “&”;
return e;
}, t.parseQueryStringParameters = perform (e) {
var t = “”;

for (var n in e) {
e.hasOwnProperty(n) && (t += n + “=” + encodeURIComponent(e[n]) + “&”);
}

return t = t.substitute(/&$/, “”);
}, t.reworkAdServerTargetingObj = perform (t) {
return t && 0 < Object.getOwnPropertyNames(t).size ? ge(t).map(perform (e) { return "".concat(e, "=").concat(encodeURIComponent(ye(t, e))); }).be part of("&") : ""; }, t.getAdUnitSizes = perform (e) { if (!e) return; var t = []; { var n; e.mediaTypes && e.mediaTypes.banner && Array.isArray(e.mediaTypes.banner.sizes) ? (n = e.mediaTypes.banner.sizes, Array.isArray(n[0]) ? t = n : t.push(n)) : Array.isArray(e.sizes) && (Array.isArray(e.sizes[0]) ? t = e.sizes : t.push(e.sizes)); } return t; }, t.parseSizesInput = perform (e) { var t = []; if ("string" == typeof e) { var n = e.cut up(","), r = /^(d)+x(d)+$/i; if (n) for (var o in n) { ae(n, o) && n[o].match(r) && t.push(n[o]); } } else if ("object" === S(e)) { var i = e.size; if (0 < i) if (2 === i && "number" == typeof e[0] && "number" == typeof e[1]) t.push(F(e));else for (var a = 0; a < i; a++) { t.push(F(e[a])); } } return t; }, t.parseGPTSingleSizeArray = F, t.parseGPTSingleSizeArrayToRtbSize = perform (e) { if (W(e)) return { w: e[0], h: e[1] }; }, t.getWindowTop = L, t.getWindowSelf = z, t.getWindowLocation = V, t.logMessage = H, t.logInfo = J, t.logWarn = Okay, t.logError = $, t.hasConsoleLogger = perform () { return _; }, t.debugTurnedOn = Q, t.createInseenIframe = perform () { var e = doc.createElement("iframe"); return e.id = q(), e.top = 0, e.width = 0, e.border = "0px", e.hspace = "0", e.vspace = "0", e.marginWidth = "0", e.marginHeight = "0", e.model.border = "0", e.scrolling = "no", e.frameBorder = "0", e.src = "https://news.google.com/__i/rss/rd/articles/about:blank", e.model.show = "none", e; }, t.getParameterByName = perform (e) , t.isA = X, t.isFn = Z, t.isStr = ee, t.isArray = te, t.isNumber = ne, t.isPlainObject = re, t.isBoolean = perform (e) { return X(e, C); }, t.isEmpty = oe, t.isEmptyStr = perform (e) , t._each = ie, t.comprises = perform (e, t) { if (oe(e)) return !1; if (Z(e.indexOf)) return -1 !== e.indexOf(t); var n = e.size; for (; n--;) { if (e[n] === t) return !0; } return !1; }, t._map = perform (n, r) { if (oe(n)) return []; if (Z(n.map)) return n.map(r); var o = []; return ie(n, perform (e, t) { o.push(r(e, t, n)); }), o; }, t.hasOwn = ae, t.insertElement = ce, t.triggerPixel = ue, t.callBurl = perform (e) { var t = e.supply, n = e.burl; t === E.S2S.SRC && n && ok.triggerPixel(n); }, t.insertHtmlIntoIframe = perform (e) { if (!e) return; var t = doc.createElement("iframe"); t.id = q(), t.width = 0, t.top = 0, t.hspace = "0", t.vspace = "0", t.marginWidth = "0", t.marginHeight = "0", t.model.show = "none", t.model.top = "0px", t.model.width = "0px", t.scrolling = "no", t.frameBorder = "0", t.allowtransparency = "true", ok.insertElement(t, doc, "body"), t.contentWindow.doc.open(), t.contentWindow.doc.write(e), t.contentWindow.doc.shut(); }, t.insertUserSyncIframe = se, t.createTrackPixelHtml = perform (e) { if (!e) return ""; var t = encodeURI(e), n = '

‘;
return n += ‘New Zealand Prime Minister Jacinda Ardern, who has gained world recognition partially because of the approach she managed the coronavirus pandemic, cruised to victory on Saturday and simply received a second term. Ardern’s Labour Party received 49 p.c of the vote, in contrast with 27 p.c for its foremost challenger, the conservative National Party.

‘;
}, t.createTrackPixelIframeHtml = de, t.getValueString = fe, t.uniques = le, t.flatten = pe, t.getBidRequest = perform (n, e) {
return n ? (e.some(perform (e) {
var t = s()(e.bids, perform (t) {
return [“bidId”https://news.google.com/__i/rss/rd/articles/,”adId”https://news.google.com/__i/rss/rd/articles/,”bid_id”].some(function (e) {
return t[e] === n;
});
});
return t && (r = t), t;
}), r) : void 0;
var r;
}, t.getKeys = ge, t.getValue = ye, t.getKeyByValue = perform (e, t) {
for (var n in e) {
if (e.hasOwnProperty(n) && e[n] === t) return n;
}
}, t.getBidderCodes = perform () {
return (0 < arguments.size && void 0 !== arguments[0] ? arguments[0] : pbjs.adUnits).map(perform (e) { return e.bids.map(perform (e) { return e.bidder; }).cut back(pe, []); }).cut back(pe).filter(le); }, t.isGptPubadsDefined = be, n.d(t, "getHighestCpm", perform () { return ve; }), n.d(t, "getOldestHighestCpmBid", perform () { return he; }), n.d(t, "getLatestHighestCpmBid", perform () { return me; }), t.shuffle = perform (e) { var t = e.size; for (; 0 < t;) { var n = Math.ground(Math.random() * t), r = e[--t]; e[t] = e[n], e[n] = r; } return e; }, t.adUnitsFilter = perform (e, t) { return f()(e, t && t.adUnitCode); }, t.deepClone = Ae, t.inIframe = perform () { strive { return ok.getWindowSelf() !== ok.getWindowTop(); } catch (e) { return !0; } }, t.isSafariBrowser = perform () crios, t.substituteAuctionWorth = perform (e, t) { if (!e) return; return e.substitute(/${AUCTION_PRICE}/g, t); }, t.timestamp = perform () { return new Date().getTime(); }, t.hasDeviceAccess = perform () { return !1 !== r.b.getConfig("deviceAccess"); }, t.checkCookieSupport = Ee, t.delayExecution = perform (e, t) { if (t < 1) throw new Error("numRequiredCalls must be a positive number. Got ".concat(t)); var n = 0; return perform () { ++n === t && e.apply(this, arguments); }; }, t.groupBy = perform (e, n) { return e.cut back(perform (e, t) []).push(t), e; , {}); }, t.getDefinedParams = perform (n, e) { return e.filter(perform (e) { return n[e]; }).cut back(perform (e, t) { return m(e, h({}, t, n[t])); }, {}); }, t.isValidMediaTypes = perform (e) { var t = ["banner"https://news.google.com/__i/rss/rd/articles/,"native"https://news.google.com/__i/rss/rd/articles/,"video"]; if (!Object.keys(e).each(perform (e) { return f()(t, e); })) return !1; if (e.video && e.video.context) return f()(["instream"https://news.google.com/__i/rss/rd/articles/,"outstream"https://news.google.com/__i/rss/rd/articles/,"adpod"], e.video.context); return !0; }, t.getBidderRequest = perform (e, t, n) { return s()(e, perform (e) { return 0 < e.bids.filter(perform (e) { return e.bidder === t && e.adUnitCode === n; }).size; }) || { begin: null, public saleId: null }; }, t.getUserConfiguredParams = perform (e, t, n) { return e.filter(perform (e) { return e.code === t; }).map(perform (e) { return e.bids; }).cut back(pe, []).filter(perform (e) { return e.bidder === n; }).map(perform (e) { return e.params || {}; }); }, t.getOrigin = perform () { return window.location.origin ? window.location.origin : window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port : ""); }, t.getDNT = perform () , t.isAdUnitCodeMatchingSlot = perform (t) { return perform (e) { return Oe(t, e); }; }, t.isSlotMatchingAdUnitCode = Ie, t.getGptSlotInfoForAdUnitCode = perform (e) { var t; be() && (t = s()(window.googletag.pubads().getSlots(), Ie(e))); if (t) return { gptSlot: t.getAdUnitPath(), divId: t.getSlotElementId() }; return {}; }, t.unsupportedBidderMessage = perform (e, t) { var n = Object.keys(e.mediaTypes || { banner: "banner" }).be part of("https://news.google.com/__i/rss/rd/articles/,"); return "n ".concat(e.code, " is a ").concat(n, " ad unitn containing bidders that don't support ").concat(n, ": ").concat(t, ".n This bidder won't fetch demand.n "); }, t.isInteger = Te, t.convertCamelToUnderscore = perform (e) { return e.substitute(/(?:^|.?)([A-Z])/g, perform (e, t) { return "_" + t.toLowerCase(); }).substitute(/^_/, ""); }, t.cleanObj = perform (n) { return Object.keys(n).cut back(perform (e, t) { return void 0 !== n[t] && (e[t] = n[t]), e; }, {}); }, t.decide = perform (a, c) { return "object" === S(a) ? c.cut back(perform (e, t, n) { if ("function" == typeof t) return e; var r = t, o = t.match(/^(.+?)sass(.+?)$/i); o && (t = o[1], r = o[2]); var i = a[t]; return "function" == typeof c[n + 1] && (i = c[n + 1](i, e)), void 0 !== i && (e[r] = i), e; }, {}) : {}; }, t.reworkBidderParamKeywords = perform (e) { var r = 1 < arguments.size && void 0 !== arguments[1] ? arguments[1] : "keywords", o = []; return ie(e, perform (e, t) { if (te(e)) { var n = []; ie(e, perform (e) ), e = n; } else { if (!ee(e = fe(r + "." + t, e))) return; e = [e]; } o.push({ key: t, worth: e }); }), o; }, t.convertTypes = perform (r, o) { return Object.keys(r).forEach(perform (e) { var t, n; o[e] && (Z(r[e]) ? o[e] = r[e](o[e]) : o[e] = (t = r[e], n = o[e], "string" === t ? n && n.toString() : "number" === t ? Number(n) : n), isNaN(o[e]) && delete o.key); }), o; }, t.isArrayOfNums = perform (e, t) , t.fill = perform (e, t) { for (var n = [], r = 0; r < t; r++) { var o = re(e) ? Ae(e) : e; n.push(o); } return n; }, t.chunk = perform (e, t) { for (var n = [], r = 0; r < Math.ceil(e.size / t); r++) { var o = r * t, i = o + t; n.push(e.slice(o, i)); } return n; }, t.getMinValueFromArray = perform (e) { return Math.min.apply(Math, y(e)); }, t.getMaxValueFromArray = perform (e) { return Math.max.apply(Math, y(e)); }, t.compareOn = perform (n) { return perform (e, t) { return e[n] < t[n] ? 1 : e[n] > t[n] ? -1 : 0;
};
}, t.parseQS = je, t.formatQS = we, t.parseUrl = perform (e, t) {
var n = doc.createElement(“a”);
t && “noDecodeWholeURL” in t && t.noDecodeWholeURL ? n.href = e : n.href = decodeURIComponent(e);
var r = t && “decodeSearchAsString” in t && t.decodeSearchAsString;
return “”).substitute(/:$/, “”),
hostname: n.hostname,
port: +n.port,
pathname: n.pathname.substitute(/^(?!/)/, “/”),
search: r ? n.search : ok.parseQS(n.search ;
}, t.buildUrl = perform (e) , t.deepEqual = Ce, t.mergeDeep = xe;
var r = n(3),
o = n(167),
i = n.n(o),
a = n(168),
c = n.n(a),
u = n(11),
s = n.n(u),
d = n(12),
f = n.n(d),
l = n(182);
n.d(t, “deepAccess”, perform () {
return l.a;
});
var p = n(183);

perform g(e, t) {
return perform (e) {
if (Array.isArray(e)) return e;
}(e) || perform (e, t) {
if (“undefined” == typeof Symbol || !(Symbol.iterator in Object(e))) return;
var n = [],
r = !0,
o = !1,
i = void 0;

strive {
for (var a, c = e[Symbol.iterator](); !(r = (a = c.subsequent()).accomplished) && (n.push(a.worth), !t || n.size !== t); r = !0) {
;
}
} catch (e) {
o = !0, i = e;
} lastly {
strive c.return();
lastly {
if (o) throw i;
}
}

return n;
}(e, t) || b(e, t) || perform () {
throw new TypeError(“Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.”);
}();
}

perform y(e) {
return perform (e) {
if (Array.isArray(e)) return v(e);
}(e) || perform (e) {
if (“undefined” != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e);
}(e) || b(e) || perform () {
throw new TypeError(“Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.”);
}();
}

perform b(e, t) {
if (e) 32)(?:Clamped)?Array$/.take a look at(n) ? v(e, t) : void 0;

}

perform v(e, t) {
(null == t || t > e.size) && (t = e.size);

for (var n = 0, r = new Array(t); n < t; n++) { r[n] = e[n]; } return r; } perform h(e, t, n) { return t in e ? Object.defineProperty(e, t, { worth: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e; } perform m() { return (m = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } perform S(e) { return (S = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } n.d(t, "deepSetValue", perform () { return p.a; }); var A, E = n(5), O = "Array", I = "String", T = "Function", j = "Number", w = "Object", C = "Boolean", x = Object.prototype.toString, U = Boolean(window.console), _ = Boolean(U && window.console.log), B = Boolean(U && window.console.information), R = Boolean(U && window.console.warn), P = Boolean(U && window.console.error), ok = { checkCookieSupport: Ee, createTrackPixelIframeHtml: de, getWindowSelf: z, getWindowTop: L, getWindowLocation: V, insertUserSyncIframe: se, insertElement: ce, isFn: Z, triggerPixel: ue, logError: $, logWarn: Okay, logMessage: H, logInfo: J, parseQS: je, formatQS: we, deepEqual: Ce }, D = {}, N = perform (e, t) { return t; }.bind(null, 1, D)() === D ? Function.prototype.bind : perform (e) { var t = this, n = Array.prototype.slice.name(arguments, 1); return perform () { return t.apply(e, n.concat(Array.prototype.slice.name(arguments))); }; }, M = (A = 0, perform () { return ++A; }); perform q() { return M() + Math.random().toString(16).substr(2); } perform G() { return window && window.crypto && window.crypto.getRandomValues ? crypto.getRandomValues(new Uint8Array(1))[0] % 16 : 16 * Math.random(); } perform F(e) { if (W(e)) return e[0] + "x" + e[1]; } perform W(e) { return te(e) && 2 === e.size && !isNaN(e[0]) && !isNaN(e[1]); } perform L() { return window.high; } perform z() { return window.self; } perform V() { return window.location; } perform H() { Q() && _ && console.log.apply(console, Y(arguments, "MESSAGE:")); } perform J() { Q() && B && console.information.apply(console, Y(arguments, "INFO:")); } perform Okay() { Q() && R && console.warn.apply(console, Y(arguments, "WARNING:")); } perform $() { Q() && P && console.error.apply(console, Y(arguments, "ERROR:")); } perform Y(e, t) { return e = [].slice.name(e), t && e.unshift(t), e.unshift("display: inline-block; color: #fff; background: #3b88c3; padding: 1px 4px; border-radius: 3px;"), e.unshift("%cPrebid"), e; } perform Q() { return !!r.b.getConfig("debug"); } perform X(e, t) { return x.name(e) === "[object " + t + "]"; } perform Z(e) { return X(e, T); } perform ee(e) { return X(e, I); } perform te(e) { return X(e, O); } perform ne(e) { return X(e, j); } perform re(e) { return X(e, w); } perform oe(e) { if (!e) return !0; if (te(e) || ee(e)) return !(0 < e.size); for (var t in e) { if (hasOwnProperty.name(e, t)) return !1; } return !0; } perform ie(e, t) { if (!oe(e)) { if (Z(e.forEach)) return e.forEach(t, this); var n = 0, r = e.size; if (0 < r) for (; n < r; n++) { t(e[n], n, e); } else for (n in e) { hasOwnProperty.name(e, n) && t.name(this, e[n], n); } } } perform ae(e, t) { return e.hasOwnProperty ? e.hasOwnProperty(t) : void 0 !== e[t] && e.constructor.prototype[t] !== e[t]; } perform ce(e, t, n, r) { var o; t = t || doc, o = n ? t.getElementsByTagIdentify(n) : t.getElementsByTagIdentify("head"); strive { if ((o = o.size ? o : t.getElementsByTagIdentify("body")).size) { o = o[0]; var i = r ? null : o.firstChild; return o.insertBefore(e, i); } } catch (e) {} } perform ue(e, t) { var n = new Image(); t && ok.isFn(t) && (n.addEventListener("load", t), n.addEventListener("error", t)), n.src = e; } perform se(e, t) { var n = ok.createTrackPixelIframeHtml(e, !1, "allow-scripts allow-same-origin"), r = doc.createElement("div"); r.innerHTML = n; var o = r.firstChild; t && ok.isFn(t) && (o.addEventListener("load", t), o.addEventListener("error", t)), ok.insertElement(o, doc, "html", !0); } perform de(e) arguments[1]) && (e = encodeURI(e)), t = t && 'sandbox="'.concat(t, '"'), "‘)) : “”;

perform fe(e, t, n) {
return null == t ? n : ee(t) ? t : ne(t) ? t.toString() : void ok.logWarn(“Unsuported type for param: ” + e + ” required type: String”);
}

perform le(e, t, n) {
return n.indexOf(e) === t;
}

perform pe(e, t) {
return e.concat(t);
}

perform ge(e) {
return Object.keys(e);
}

perform ye(e, t) {
return e[t];
}

perform be() {
if (window.googletag && Z(window.googletag.pubads) && Z(window.googletag.pubads().getSlots)) return !0;
}

var ve = Se(“timeToRespond”, perform (e, t) {
return t < e; }), he = Se("responseTimestamp", perform (e, t) { return t < e; }), me = Se("responseTimestamp", perform (e, t) { return e < t; }); perform Se(n, r) { return perform (e, t) { return e.cpm === t.cpm ? r(e[n], t[n]) ? t : e : e.cpm < t.cpm ? t : e; }; } perform Ae(e) { return i()(e); } perform Ee() var Oe = perform Oe(e, t) ; perform Ie(t) { return perform (e) { return Oe(e, t); }; } perform Te(e) { return Number.isInteger ? Number.isInteger(e) : "number" == typeof e && isFinite(e) && Math.ground(e) === e; } perform je(e) { return e ? e.substitute(/^?/, "").cut up("&").cut back(perform (e, t) , {}) : {}; } perform we(e) { return Object.keys(e).map(perform (t) { return Array.isArray(e[t]) ? e[t].map(perform (e) { return "".concat(t, "[]=").concat(e); }).be part of("&") : "".concat(t, "=").concat(e[t]); }).be part of("&"); } perform Ce(e, t) { return c()(e, t); } perform xe(e) { for (var t = arguments.size, n = new Array(1 < t ? t - 1 : 0), r = 1; r < t; r++) { n[r - 1] = arguments[r]; } if (!n.length) return e; var o = n.shift(); if (re(e) && re(o)) for (var i in o) { re(o[i]) ? (e[i] || m(e, h({}, i, {})), xe(e[i], o[i])) : te(o[i]) && e[i] ? te(e[i]) && (e[i] = e[i].concat(o[i])) : m(e, h({}, i, o[i])); } return xe.apply(void 0, [e].concat(n)); } }, function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), n.d(t, "storage", function () { return T; }), t.registerBidder = function (t) { var n = Array.isArray(t.supportedMediaTypes) ? { supportedMediaTypes: t.supportedMediaTypes } : void 0; function r(e) { var t = C(e); c.default.registerBidAdapter(t, e.code, n); } r(t), Array.isArray(t.aliases) && t.aliases.forEach(function (e) { c.default.aliasRegistry[e] = t.code, r(I({}, t, { code: e })); }); }, t.newBidder = C, n.d(t, "registerSyncInner", function () { return x; }), t.preloadBidderMappingFile = U, t.getIabSubCategory = function (t, e) { var n = c.default.getBidAdapter(t); if (n.getSpec().getMappingFileInfo) { var r = n.getSpec().getMappingFileInfo(), o = r.localStorageKey ? r.localStorageKey : n.getBidderCode(), i = T.getDataFromLocalStorage(o); if (i) { try { i = JSON.parse(i); } catch (e) { Object(m.logError)("Failed to parse ".concat(t, " mapping data stored in local storage")); } return i.mapping[e] ? i.mapping[e] : null; } } }, t.isValid = _; var r = n(100), c = n(7), u = n(3), b = n(32), s = n(44), i = n(35), a = n(38), o = n(5), v = n.n(o), d = n(8), h = n.n(d), f = n(12), l = n.n(f), p = n(4), m = n(0), g = n(2), y = n(13), S = n(9); function A(e, t) { return function (e) { if (Array.isArray(e)) return e; }(e) || function (e, t) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var n = [], r = !0, o = !1, i = void 0; try { for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0) { ; } } catch (e) { o = !0, i = e; } finally { try c.return(); finally { if (o) throw i; } } return n; }(e, t) || function (e, t) (e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function E(e, t) { (null == t || t > e.size) && (t = e.size);

for (var n = 0, r = new Array(t); n < t; n++) { r[n] = e[n]; } return r; } perform O(e) { return (O = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } perform I() { return (I = Object.assign || perform (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var T = Object(S.a)("bidderFactory"), j = ["requestId"https://news.google.com/__i/rss/rd/articles/,"cpm"https://news.google.com/__i/rss/rd/articles/,"ttl"https://news.google.com/__i/rss/rd/articles/,"creativeId"https://news.google.com/__i/rss/rd/articles/,"netRevenue"https://news.google.com/__i/rss/rd/articles/,"currency"], w = 1; function C(p) { return I(new r.a(p.code), { getSpec: function getSpec() { return Object.freeze(p); }, registerSyncs: g, callBids: function callBids(i, a, e, n, c, r) { var u, s, t, d, o, f; function l() { e(), h.a.emit(v.a.EVENTS.BIDDER_DONE, i), g(s, i.gdprConsent, i.uspConsent); } Array.isArray(i.bids) && (u = {}, s = [], 0 !== (t = i.bids.filter(y)).length ? (d = {}, t.forEach(function (e) ), (o = p.buildRequests(t, i)) && 0 !== o.length ? (Array.isArray(o) || (o = [o]), f = Object(m.delayExecution)(r(l), o.length), o.forEach(function (o) { switch (o.method) { case "GET": n("".concat(o.url).concat(function (e) { if (e) return "?".concat("object" === O(e) ? Object(m.parseQueryStringParameters)(e) : e); return ""; }(o.data)), { success: r(e), error: t }, void 0, I({ method: "GET", withCredentials: !0 }, o.options)); break; case "POST": n(o.url, { success: r(e), error: t }, "string" == typeof o.data ? o.data : JSON.stringify(o.data), I({ method: "POST", contentType: "text/plain", withCredentials: !0 }, o.options)); break; default: Object(m.logWarn)("Skipping invalid request from ".concat(p.code, ". Request type ").concat(o.type, " must be GET or POST")), f(); } function e(e, t) { c(p.code); try { e = JSON.parse(e); } catch (e) {} var n; e = { body: e, headers: { get: t.getResponseHeader.bind(t) } }, s.push(e); try { n = p.interpretResponse(e, o); } catch (e) { return Object(m.logError)("Bidder ".concat(p.code, " failed to interpret the server's response. Continuing without bids"), null, e), void f(); } function r(e) { var t, n, r, o = d[e.requestId]; o ? (e.originalCpm = e.cpm, e.originalCurrency = e.currency, t = I(Object(b.a)(v.a.STATUS.GOOD, o), e), n = o.adUnitCode, r = t, u[n] = !0, _(n, r, [i]) && a(n, r)) : Object(m.logWarn)("Bidder ".concat(p.code, " made bid for unknown request ID: ").concat(e.requestId, ". Ignoring.")); } n && (Object(m.isArray)(n) ? n.forEach(r) : r(n)), f(n); } function t(e) { c(p.code), Object(m.logError)("Server call for ".concat(p.code, " failed: ").concat(e, ". Continuing without bids.")), f(); } })) : l()) : l()); } }); function g(e, t, n) { x(p, e, t, n); } function y(e) (Object(m.logWarn)("Invalid bid sent to bidder ".concat(p.code, ": ").concat(JSON.stringify(e))), !1); } var x = Object(y.b)("async", function (t, e, n, r) { var o, i, a = u.b.getConfig("userSync.aliasSyncEnabled"); !t.getUserSyncs || !a && c.default.aliasRegistry[t.code] || (o = u.b.getConfig("userSync.filterSettings"), (i = t.getUserSyncs( !o.iframe && !o.all), pixelEnabled: !(!o , e, n, r)) && (Array.isArray(i) || (i = [i]), i.forEach(function (e) { s.a.registerSync(e.type, t.code, e.url); }))); }, "registerSyncs"); function U(e, t) { if (!u.b.getConfig("adpod.brandCategoryExclusion")) return e.call(this, t); t.filter(function (e) { return Object(m.deepAccess)(e, "mediaTypes.video.context") === g.a; }).map(function (e) { return e.bids.map(function (e) { return e.bidder; }); }).reduce(m.flatten, []).filter(m.uniques).forEach(function (n) { var e = c.default.getBidAdapter(n); if (e.getSpec().getMappingFileInfo) { var t = e.getSpec().getMappingFileInfo(), r = t.refreshInDays ? t.refreshInDays : w, o = t.localStorageKey ? t.localStorageKey : e.getSpec().code, i = T.getDataFromLocalStorage(o); try { (!(i = i ? JSON.parse(i) : void 0) || Object(m.timestamp)() > i.finalUpdated + 24 * r * 60 * 60 * 1e3) && Object(p.a)(t.url, {
success: perform success(e) {
strive {
e = JSON.parse(e);
var t = {
finalUpdated: Object(m.timestamp)(),
mapping: e.mapping
};
T.setDataInLocalStorage(o, JSON.stringify(t));
} catch (e) {
Object(m.logError)(“Failed to parse “.concat(n, ” bidder translation mapping file”));
}
},
error: perform error() {
Object(m.logError)(“Failed to load “.concat(n, ” bidder translation file”));
}
});
} catch (e) {
Object(m.logError)(“Failed to parse “.concat(n, ” bidder translation mapping file”));
}
}
}), e.name(this, t);
}

perform _(e, t, n) {
perform r(e) {
return “Invalid bid from “.concat(t.bidderCode, “. Ignoring bid: “).concat(e);
}

return e ? t ? (o = Object.keys(t), j.each(perform (e) {
return l()(o, e) && !l()([void 0, null], t[e]);
}) ? “native” !== t.mediaType || Object(i.f)(t, n) ? “video” !== t.mediaType || Object(a.d)(t, n) ? !(“banner” === t.mediaType && !perform (e, t, n) {
if ((t.width || 0 === parseInt(t.width, 10)) && (t.top || 0 === parseInt(t.top, 10))) return t.width = parseInt(t.width, 10), t.top = parseInt(t.top, 10), 1;
var r = Object(m.getBidderRequest)(n, t.bidderCode, e),
o = r && r.bids && r.bids[0] && r.bids[0].sizes,
i = Object(m.parseSizesInput)(o);

if (1 === i.size) {
var a = A(i[0].cut up(“x”), 2),
c = a[0],
u = a[1];
return t.width = parseInt(c, 10), t.top = parseInt(u, 10), 1;
}
}(e, t, n)) || (Object(m.logError)(r(“Banner bids require a width and height”)), !1) : (Object(m.logError)(r(“Video bid does not have required vastUrl or renderer property”)), !1) : (Object(m.logError)(r(“Native bid missing some required properties.”)), !1) : (Object(m.logError)(r(“Bidder “.concat(t.bidderCode, ” is missing required params. Check https://prebid.org/dev-docs/bidder-adapter-1.html for list of params.”))), !1)) : (Object(m.logWarn)(“Some adapter tried to add an undefined bid for “.concat(e, “.”)), !1) : (Object(m.logWarn)(“No adUnitCode was supplied to addBidResponse.”), !1);
var o;
}

Object(y.a)(“checkAdUnitSetup”).earlier than(U);
}, perform (e, t, n) {
“use strict”;

n.d(t, “c”, perform () {
return r;
}), n.d(t, “d”, perform () {
return o;
}), n.d(t, “b”, perform () {
return i;
}), n.d(t, “a”, perform () {
return a;
});
var r = “native”,
o = “video”,
i = “banner”,
a = “adpod”;
}, perform (e, t, n) {
“use strict”;

n.d(t, “a”, perform () {
return v;
}), n.d(t, “b”, perform () {
return j;
});
var r = n(45),
o = n(11),
a = n.n(o),
i = n(12),
c = n.n(i),
u = n(80),
s = n.n(u),
d = n(0);

perform f() {
return (f = Object.assign || perform (e) {
for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var l = n(92), p = n(0), g = n(5), y = "TRUE" === p.getParameterByName(g.DEBUG_MODE).toUpperCase(), b = window.location.origin, v = "random", h = {}; h[v] = !0, h.mounted = !0; var m = v, S = { LOW: "low", MEDIUM: "medium", HIGH: "high", AUTO: "auto", DENSE: "dense", CUSTOM: "custom" }; var A, E, O, I, T, j = (I = [], T = null, w(), { getCurrentBidder: perform getCurrentBidder() { return T; }, getConfig: perform getConfig() { if (arguments.size <= 1 && "function" != typeof (arguments.size <= 0 ? void 0 : arguments[0])) { var e = arguments.size <= 0 ? void 0 : arguments[0]; return e ? p.deepAccess(C(), e) : C(); } return perform (e, t) { var n = t; if ("string" != typeof e && (n = e, e = "*"), "function" == typeof n) { var r = { subject: e, callback: n }; return I.push(r), perform () { I.splice(I.indexOf(r), 1); }; } p.logError("listener must be a function"); }.apply(void 0, arguments); }, setConfig: perform setConfig(n) { var e, r; p.isPlainObject(n) ? (e = Object.keys(n), r = {}, e.forEach(perform (e) { var t = n[e]; p.isPlainObject(A[e]) && p.isPlainObject(t) && (t = f({}, A[e], t)), r[e] = E[e] = t; }), x(r)) : p.logError("setConfig options must be an object"); }, setDefaults: perform setDefaults(e) { p.isPlainObject(A) ? (f(A, e), f(E, e)) : p.logError("defaults must be an object"); }, resetConfig: w, runWithBidder: U, callbackWithBidder: perform callbackWithBidder(i) { return perform (o) { return perform () { if ("function" == typeof o) { for (var e, t = arguments.size, n = new Array(t), r = 0; r < t; r++) { n[r] = arguments[r]; } return U(i, (e = p.bind).name.apply(e, [o, this].concat(n))); } p.logWarn("config.callbackWithBidder callback is not a function"); }; }; }, setBidderConfig: perform setBidderConfig(r) { strive { !perform (e) !e.bidders.size) throw "setBidderConfig bidder options must contain a bidders list with at least 1 bidder"; if (!p.isPlainObject(e.config)) throw "setBidderConfig bidder options must contain a config object"; (r), r.bidders.forEach(perform (n) { O[n] || (O[n] = {}), Object.keys(r.config).forEach(perform (e) { var t = r.config[e]; p.isPlainObject(t) ? O[n][e] = f({}, O[n][e] || {}, t) : O[n][e] = t; }); }); } catch (e) { p.logError(e); } }, getBidderConfig: perform getBidderConfig() { return O; } }); perform w() { A = {}; var n = { _debug: y, get debug() { return this._debug; }, set debug(e) { this._debug = e; }, _bidderTimeout: 3e3, get bidderTimeout() { return this._bidderTimeout; }, set bidderTimeout(e) { this._bidderTimeout = e; }, _publisherDomain: b, get publisherDomain() { return this._publisherDomain; }, set publisherDomain(e) { this._publisherDomain = e; }, _priceGranularity: S.MEDIUM, set priceGranularity(e) { i(e) && ("string" == typeof e ? this._priceGranularity = o(e) ? e : S.MEDIUM : p.isPlainObject(e) && (this._customPriceBucket = e, this._priceGranularity = S.CUSTOM, p.logMessage("Using custom price granularity"))); }, get priceGranularity() { return this._priceGranularity; }, _customPriceBucket: {}, get customPriceBucket() { return this._customPriceBucket; }, _mediaTypePriceGranularity: {}, get mediaTypePriceGranularity() { return this._mediaTypePriceGranularity; }, set mediaTypePriceGranularity(n) { var r = this; this._mediaTypePriceGranularity = Object.keys(n).cut back(perform (e, t) { return i(n[t]) ? "string" == typeof n ? e[t] = o(n[t]) ? n[t] : r._priceGranularity : p.isPlainObject(n) && (e[t] = n[t], p.logMessage("Using custom price granularity for ".concat(t))) : p.logWarn("Invalid price granularity for media type: ".concat(t)), e; }, {}); }, _sendAllBids: !0, get allowSendAllBids() { return this._sendAllBids; }, set allowSendAllBids(e) { this._sendAllBids = e; }, _useBidCache: !1, get useBidCache() { return this._useBidCache; }, set useBidCache(e) { this._useBidCache = e; }, _deviceAccess: !0, get deviceAccess() { return this._deviceAccess; }, set deviceAccess(e) { this._deviceAccess = e; }, _bidderSequence: m, get bidderSequence() { return this._bidderSequence; }, set bidderSequence(e) { h[e] ? this._bidderSequence = e : p.logWarn("Invalid order: ".concat(e, ". Bidder Sequence was not set.")); }, _timeoutBuffer: 400, get timeoutBuffer() { return this._timeoutBuffer; }, set timeoutBuffer(e) { this._timeoutBuffer = e; }, _disableAjaxTimeout: !1, get disableAjaxTimeout() { return this._disableAjaxTimeout; }, set disableAjaxTimeout(e) { this._disableAjaxTimeout = e; } }; perform o(t) { return a()(Object.keys(S), perform (e) { return t === S[e]; }); } perform i(e) { if (e) p.logWarn("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if (p.isPlainObject(e) && !Object(r.b)(e)) return void p.logError("Invalid custom price value passed to `setPriceGranularity()`"); return 1; p.logError("Prebid Error: no value passed to `setPriceGranularity()`"); } E && x(Object.keys(E).cut back(perform (e, t) { return E[t] !== n[t] && (e[t] = n[t] || {}), e; }, {})), E = n, O = {}; } perform C() { if (T && O && p.isPlainObject(O[T])) { var n = O[T], e = new s.a(Object.keys(E).concat(Object.keys(n))); return l(e).cut back(perform (e, t) { return void 0 === n[t] ? e[t] = E[t] : void 0 !== E[t] && p.isPlainObject(n[t]) ? e[t] = Object(d.mergeDeep)({}, E[t], n[t]) : e[t] = n[t], e; }, {}); } return f({}, E); } perform x(o) { var t = Object.keys(o); I.filter(perform (e) { return c()(t, e.subject); }).forEach(perform (e) { var t, n, r; e.callback((t = {}, n = e.subject, r = o[e.topic], n in t ? Object.defineProperty(t, n, { worth: r, enumerable: !0, configurable: !0, writable: !0 }) : t[n] = r, t)); }), I.filter(perform (e) { return "*" === e.subject; }).forEach(perform (e) { return e.callback(o); }); } perform U(e, t) { T = e; strive { return t(); } lastly { T = null; } } }, perform (e, t, n) { "use strict"; n.d(t, "a", perform () { return r; }), t.b = o; var l = n(3); perform p() { return (p = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } perform g(e) { return (g = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var y = n(0), b = 4, r = o(); perform o() { var s = 0 < arguments.size && void 0 !== arguments[0] ? arguments[0] : 3e3, e = 1 < arguments.size && void 0 !== arguments[1] ? arguments[1] : {}, d = e.request, f = e.accomplished; return perform (e, t, n) { var r = 3 < arguments.size && void 0 !== arguments[3] ? arguments[3] : {}; strive { var o, i = r.methodology || (n ? "POST" : "GET"), a = doc.createElement("a"); a.href = e; var c, u = "object" === g(t) && null !== t ? t : { success: perform success() { y.logMessage("xhr success"); }, error: perform error(e) { y.logError("xhr error", null, e); } }; "function" == typeof t && (u.success = t), (o = new window.XMLHttpRequest()).onreadystatechange = perform () 304 === e ? u.success(o.responseText, o) : u.error(o.statusText, o)); , l.b.getConfig("disableAjaxTimeout") || (o.ontimeout = function () { y.logError(" xhr timeout after ", o.timeout, "ms"); }), "GET" === i && n && (p((c = y.parseUrl(e, r)).search, n), e = y.buildUrl(c)), o.open(i, e, !0), l.b.getConfig("disableAjaxTimeout") || (o.timeout = s), r.withCredentials && (o.withCredentials = !0), y._each(r.customHeaders, function (e, t) { o.setRequestHeader(t, e); }), r.preflight && o.setRequestHeader("X-Requested-With"https://news.google.com/__i/rss/rd/articles/,"XMLHttpRequest"), o.setRequestHeader("Content-Type", r.contentType || "text/plain"), "function" == typeof d && d(a.origin), "POST" === i && n ? o.send(n) : o.send(); } catch (e) { y.logError("xhr construction", e); } }; } }, function (e, t) { e.exports = { JSON_MAPPING: { 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" }, DEBUG_MODE: "pbjs_debug", STATUS: { GOOD: 1, NO_BID: 2 }, CB: { TYPE: { ALL_BIDS_BACK: "allRequestedBidsBack", AD_UNIT_BIDS_BACK: "adUnitBidsBack", BID_WON: "bidWon", REQUEST_BIDS: "requestBids" } }, EVENTS: { AUCTION_INIT: "auctionInit", AUCTION_END: "auctionEnd", BID_ADJUSTMENT: "bidAdjustment", BID_TIMEOUT: "bidTimeout", BID_REQUESTED: "bidRequested", BID_RESPONSE: "bidResponse", NO_BID: "noBid", BID_WON: "bidWon", BIDDER_DONE: "bidderDone", SET_TARGETING: "setTargeting", BEFORE_REQUEST_BIDS: "beforeRequestBids", REQUEST_BIDS: "requestBids", ADD_AD_UNITS: "addAdUnits", AD_RENDER_FAILED: "adRenderFailed" }, AD_RENDER_FAILED_REASON: { PREVENT_WRITING_ON_MAIN_DOCUMENT: "preventWritingOnMainDocuemnt", NO_AD: "noAd", EXCEPTION: "exception", CANNOT_FIND_AD: "cannotFindAd", MISSING_DOC_OR_ADID: "missingDocOrAdid" }, EVENT_ID_PATHS: { bidWon: "adUnitCode" }, GRANULARITY_OPTIONS: { LOW: "low", MEDIUM: "medium", HIGH: "high", AUTO: "auto", DENSE: "dense", CUSTOM: "custom" }, TARGETING_KEYS: { 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" }, NATIVE_KEYS: { 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" }, S2S: { SRC: "s2s", DEFAULT_ENDPOINT: "https://prebid.adnxs.com/pbs/v1/openrtb2/auction", SYNCED_BIDDERS_KEY: "pbjsSyncs" }, BID_STATUS: { BID_TARGETING_SET: "targetingSet", RENDERED: "rendered", BID_REJECTED: "bidRejected" } }; },, function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), n.d(t, "gdprDataHandler", function () { return B; }), n.d(t, "uspDataHandler", function () { return R; }), t.setS2STestingModule = function (e) { T = e; }; var S = n(0), p = n(101), g = n(35), d = n(1), h = n(4), A = n(3), r = n(13), o = n(12), E = n.n(o), i = n(11), O = n.n(i), y = n(68), I = n(30); function m(e, t) { return function (e) { if (Array.isArray(e)) return e; }(e) || function (e, t) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var n = [], r = !0, o = !1, i = void 0; try { for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0) { ; } } catch (e) { o = !0, i = e; } finally { try c.return(); finally { if (o) throw i; } } return n; }(e, t) || function (e, t) /^(?:Ui(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function a(e, t) { (null == t || t > e.size) && (t = e.size);

for (var n = 0, r = new Array(t); n < t; n++) { r[n] = e[n]; } return r; } perform b() { return (b = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var T, j = n(0), w = n(5), C = n(8), f = {}, x = f.bidderRegistry = {}, l = f.aliasRegistry = {}, U = {}; A.b.getConfig("s2sConfig", perform (e) { U = e.s2sConfig; }); var c = {}; var _ = Object(r.b)("sync", perform (e) { var o = e.bidderCode, s = e.public saleId, d = e.bidderRequestId, t = e.adUnits, f = e.labels, l = e.src; return t.cut back(perform (e, c) { var t = Object(p.b)(Object(p.a)(c, f), c.mediaTypes, c.sizes), n = t.energetic, u = t.mediaTypes, r = t.filterResults; return n ? r && j.logInfo('Size mapping filtered adUnit "'.concat(c.code, '" banner sizes from '), r.earlier than, "to ", r.after) : j.logInfo('Size mapping disabled adUnit "'.concat(c.code, '"')), n && e.push(c.bids.filter(perform (e) { return e.bidder === o; }).cut back(perform (e, t) { var n = c.nativeParams || j.deepAccess(c, "mediaTypes.native"); n && (t = b({}, t, { nativeParams: Object(g.g)(n) })), t = b({}, t, Object(S.getDefinedParams)(c, ["fpd"https://news.google.com/__i/rss/rd/articles/,"mediaType"https://news.google.com/__i/rss/rd/articles/,"renderer"https://news.google.com/__i/rss/rd/articles/,"storedAuctionResponse"])); var r = Object(p.b)(Object(p.a)(t, f), u), o = r.energetic, i = r.mediaTypes, a = r.filterResults; return o ? a && j.logInfo('Size mapping filtered adUnit "'.concat(c.code, '" bidder "').concat(t.bidder, '" banner sizes from '), a.earlier than, "to ", a.after) : j.logInfo('Size mapping deactivated adUnit "'.concat(c.code, '" bidder "').concat(t.bidder, '"')), j.isValidMediaTypes(i) ? t = b({}, t, { mediaTypes: i }) : j.logError("mediaTypes is not correctly configured for adunit ".concat(c.code)), o && e.push(b({}, t, )), e; }, [])), e; }, []).cut back(S.flatten, []).filter(perform (e) { return "" !== e; }); }, "getBids"); var B = { consentData: null, setConsentData: perform setConsentData(e) { B.consentData = e; }, getConsentData: perform getConsentData() { return B.consentData; } }, R = { consentData: null, setConsentData: perform setConsentData(e) { R.consentData = e; }, getConsentData: perform getConsentData() { return R.consentData; } }; perform P() { return U && U.enabled && U.testing && T; } perform u(t, n, e) { strive { var r = x[t].getSpec(); r && r[n] && "function" == typeof r[n] && (j.logInfo("Invoking ".concat(t, ".").concat(n)), A.b.runWithBidder(t, S.bind.name(r[n], r, e))); } catch (e) { j.logWarn("Error calling ".concat(n, " of ").concat(t)); } } f.makeBidRequests = Object(r.b)("sync", perform (e, o, i, a, c) { C.emit(w.EVENTS.BEFORE_REQUEST_BIDS, e); var u = [], t = Object(S.getBidderCodes)(e); A.b.getConfig("bidderSequence") === A.a && (t = Object(S.shuffle)(t)); var n, r, s, d, f, l, p, g = Object(I.b)(), y = t, b = []; U.enabled && (P() && (b = T.getSourceBidderMap(e)[T.CLIENT]), n = U.bidders, y = t.filter(perform (e) ), Boolean(P() && U.take a look atServerSolely) && (p = e, Boolean(O()(p, perform (e) { return O()(e.bids, perform (e) ); }))) && (y.size = 0), d = e, f = U.bidders, (l = j.deepClone(d)).forEach(perform (e) { e.bids = e.bids.filter(perform (e) ).map(perform (e) { return e.bid_id = j.getUniqueIdentifierStr(), e; }); }), r = l = l.filter(perform (e) { return 0 !== e.bids.size; }), s = j.generateUUID(), n.forEach(perform (e) { var t = j.getUniqueIdentifierStr(), n = { bidderCode: e, public saleId: i, bidderRequestId: t, tid: s, bids: _({ bidderCode: e, public saleId: i, bidderRequestId: t, adUnits: j.deepClone(r), labels: c, src: w.S2S.SRC }), auctionStart: o, timeout: U.timeout, src: w.S2S.SRC, refererInfo: g }; 0 !== n.bids.size && u.push(n); }), r.forEach(perform (e) { var t = e.bids.filter(perform (t) { return O()(u, perform (e) { return O()(e.bids, perform (e) { return e.bidId === t.bid_id; }); }); }); e.bids = t; }), u.forEach(perform (e) { e.adUnitsS2SCopy = r.filter(perform (e) { return 0 < e.bids.size; }); })); var v, h, m = (v = e, (h = j.deepClone(v)).forEach(perform (e) { e.bids = e.bids.filter(perform (e) ); }), h = h.filter(perform (e) { return 0 !== e.bids.size; })); return y.forEach(perform (e) { var t = j.getUniqueIdentifierStr(), n = { bidderCode: e, public saleId: i, bidderRequestId: t, bids: _({ bidderCode: e, public saleId: i, bidderRequestId: t, adUnits: j.deepClone(m), labels: c, src: "client" }), auctionStart: o, timeout: a, refererInfo: g }, r = x[e]; r || j.logError("Trying to make a request for bidder that does not exist: ".concat(e)), r && n.bids && 0 !== n.bids.size && u.push(n); }), B.getConsentData() && u.forEach(perform (e) { e.gdprConsent = B.getConsentData(); }), R.getConsentData() && u.forEach(perform (e) { e.uspConsent = R.getConsentData(); }), u; }, "makeBidRequests"), f.nameBids = perform (e, t, o, i, a, c, u) { var n, r, s, d, f, l, p, g, y, b, v; t.size ? (r = (n = m(t.cut back(perform (e, t) { return e[Number(void 0 !== t.src && t.src === w.S2S.SRC)].push(t), e; }, [[], []]), 2))[0], (s = n[1]).size && (d = Object(h.b)(c, a ? { request: a.request.bind(null, "s2s"), accomplished: a.accomplished } : void 0), f = U.bidders, l = x[U.adapter], p = s[0].tid, g = s[0].adUnitsS2SCopy, l ? (y = { tid: p, ad_units: g }).ad_units.size && (b = s.map(perform (e) { return e.begin = Object(S.timestamp)(), i.bind(e); }), v = y.ad_units.cut back(perform (e, t) { return e.concat((t.bids || []).cut back(perform (e, t) { return e.concat(t.bidder); }, [])); }, []), j.logMessage("CALLING S2S HEADER BIDDERS ==== ".concat(f.filter(perform (e) { return E()(v, e); }).be part of(","))), s.forEach(perform (e) { C.emit(w.EVENTS.BID_REQUESTED, e); }), l.nameBids(y, s, perform (e, t) { var n = Object(S.getBidderRequest)(s, t.bidderCode, e); n && o.name(n, e, t); }, perform () { return b.forEach(perform (e) { return e(); }); }, d)) : j.logError("missing " + U.adapter)), r.forEach(perform (t) { t.begin = Object(S.timestamp)(); var e = x[t.bidderCode]; j.logMessage("CALLING BIDDER ======= ".concat(t.bidderCode)), C.emit(w.EVENTS.BID_REQUESTED, t); var n = Object(h.b)(c, a ? { request: a.request.bind(null, t.bidderCode), accomplished: a.accomplished } : void 0), r = i.bind(t); strive { A.b.runWithBidder(t.bidderCode, S.bind.name(e.nameBids, e, t, o.bind(t), r, n, u, A.b.callbackWithBidder(t.bidderCode))); } catch (e) { j.logError("".concat(t.bidderCode, " Bid Adapter emitted an uncaught error when parsing their bidRequest"), { e: e, bidRequest: t }), r(); } })) : j.logWarn("callBids executed with no bidRequests. Were they filtered by labels or sizing?"); }, f.videoAdapters = [], f.registerBidAdapter = perform (e, t) { var n = (2 < arguments.size && void 0 !== arguments[2] ? arguments[2] : {}).supportedMediaTypes, r = void 0 === n ? [] : n; e && t ? "function" == typeof e.nameBids ? (x[t] = e, E()(r, "video") && f.videoAdapters.push(t), E()(r, "native") && g.e.push(t)) : j.logError("Bidder adaptor error for bidder code: " + t + "bidder must implement a callBids() function") : j.logError("bidAdaptor or bidderCode not specified"); }, f.aliasBidAdapter = perform (t, e) { var n, r; if (void 0 === x[e]) { var o = x[t]; if (void 0 === o) { var i = A.b.getConfig("s2sConfig"), a = i && i.bidders; a && E()(a, e) ? l[e] = t : j.logError('bidderCode "' + t + '" isn't an present bidder."https://news.google.com/__i/rss/rd/articles/,"adapterManager.aliasBidAdapter"); } else strive { var c, u, s = (n = t, r = [], E()(f.videoAdapters, n) && r.push("video"), E()(g.e, n) && r.push("native"), r); o.constructor.prototype != Object.prototype ? (u = new o.constructor()).setBidderCode(e) : (c = o.getSpec(), u = Object(d.newBidder)(b({}, c, { code: e })), l[e] = t), f.registerBidAdapter(u, e, { supportedMediaTypes: s }); } catch (e) { j.logError(t + " bidder does not currently support aliasing."https://news.google.com/__i/rss/rd/articles/,"adapterManager.aliasBidAdapter"); } } else j.logMessage('alias identify "' + e + '" has been already specified.'); }, f.registerAnalyticsAdapter = perform (e) { var t = e.adapter, n = e.code; t && n ? "function" == typeof t.allowAnalytics ? (t.code = n, c[n] = t) : j.logError('Prebid Error: Analytics adaptor error for analytics "'.concat(n, '"n analytics adapter should implement an allowAnalytics() perform')) : j.logError("Prebid Error: analyticsAdapter or analyticsCode not specified"); }, f.allowAnalytics = perform (e) { j.isArray(e) || (e = [e]), j._each(e, perform (e) { var t = c[e.provider]; t ? t.allowAnalytics(e) : j.logError("Prebid Error: no analytics adapter found in registry forn ".concat(e.supplier, ".")); }); }, f.getBidAdapter = perform (e) { return x[e]; }, f.callTimedOutBidders = perform (t, n, r) { n = n.map(perform (e) { return e.params = j.getUserConfiguredParams(t, e.adUnitCode, e.bidder), e.timeout = r, e; }), n = j.groupBy(n, "bidder"), Object.keys(n).forEach(perform (e) { u(e, "onTimeout", n[e]); }); }, f.nameBidReceivedBidder = perform (e, t, n) { t.params = j.getUserConfiguredParams(n, t.adUnitCode, t.bidder), y.a.incrementBidderWinsCounter(t.adUnitCode, t.bidder), u(e, "onBidWon", t); }, f.nameSetTargetingBidder = perform (e, t) { u(e, "onSetTargeting", t); }, t.default = f; }, perform (e, t, n) { perform r() { return (r = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var c, o, u = n(0), i = n(5), a = Array.prototype.slice, s = Array.prototype.push, d = u._map(i.EVENTS, perform (e) { return e; }), f = i.EVENT_ID_PATHS, l = []; e.exports = (c = {}, (o = {}).on = perform (e, t, n) { var r, o; o = e, u.comprises(d, o) ? (r = c[e] || { que: [] }, n ? (r[n] = r[n] || { que: [] }, r[n].que.push(t)) : r.que.push(t), c[e] = r) : u.logError("Wrong event name : " + e + " Valid event names :" + d); }, o.emit = perform (e) { !perform (e, t) { u.logMessage("Emitting event for: " + e); var n = t[0] || {}, r = n[f[e]], o = c[e] || { que: [] }, i = u._map(o, perform (e, t) { return t; }), a = []; l.push({ occasionType: e, args: n, id: r }), r && u.comprises(i, r) && s.apply(a, o[r].que), s.apply(a, o.que), u._each(a, perform (e) { if (e) strive { e.apply(null, t); } catch (e) { u.logError("Error executing handler:"https://news.google.com/__i/rss/rd/articles/,"events.js", e); } }); }(e, a.name(arguments, 1)); }, o.off = perform (e, n, r) { var o = c[e]; u.isEmpty(o) || u.isEmpty(o.que) && u.isEmpty(o[r]) || r && (u.isEmpty(o[r]) || u.isEmpty(o[r].que)) || (r ? u._each(o[r].que, perform (e) { var t = o[r].que; e === n && t.splice(t.indexOf(e), 1); }) : u._each(o.que, perform (e) { var t = o.que; e === n && t.splice(t.indexOf(e), 1); }), c[e] = o); }, o.get = perform () { return c; }, o.getEvents = perform () { var n = []; return u._each(l, perform (e) { var t = r({}, e); n.push(t); }), n; }, o); }, perform (e, t, n) { "use strict"; n.d(t, "c", perform () { return f; }), n.d(t, "d", perform () { return l; }), t.a = perform (e) { return i({ moduleName: e, moduleType: "core" }); }, t.b = perform (e, t) { return i({ gvlid: e, moduleName: t }); }; var r = n(13), c = n(0), o = n(12), u = n.n(o), d = ["core"https://news.google.com/__i/rss/rd/articles/,"prebid-module"], f = []; perform i(e) { var t = 0 < arguments.size && void 0 !== e ? e : {}, o = t.gvlid, i = t.moduleName, a = t.moduleType; perform s(n) { if (u()(d, a)) { return n({ legitimate: !0 }); } var r; return l(o, i, { hasEnforcementHook: !1 }, perform (e) { var t; r = e && e.hasEnforcementHook ? n(e) : (t = { hasEnforcementHook: !1, legitimate: c.hasDeviceAccess() }, n(t)); }), r; } return { setCookie: perform setCookie(o, i, a, c, u, t) { perform n(e) { var t, n, r; e && e.legitimate && (t = u && "" !== u ? " ;domain=".concat(encodeURIComponent(u)) : "", n = a && "" !== a ? " ;expires=".concat(a) : "", r = null != c && "none" == c.toLowerCase() ? "; Secure" : "", doc.cookie = "".concat(o, "=").concat(encodeURIComponent(i)).concat(n, "; path=/").concat(t).concat(c ? "; SameSite=".concat(c) : "").concat(r)); } if (!t || "function" != typeof t) return s(n); f.push(perform () { var e = s(n); t(e); }); }, getCookie: perform getCookie(n, t) { perform r(e) { if (e && e.legitimate) ;)s*" + n + "s*=s*([^;]*)s*(; return null; } if (!t || "function" != typeof t) return s(r); f.push(perform () { var e = s(r); t(e); }); }, localStorageIsEnabled: perform localStorageIsEnabled(t) { perform n(e) { if (e && e.legitimate) strive { return localStorage.setItem("prebid.cookieTest"https://news.google.com/__i/rss/rd/articles/,"1"), "1" === localStorage.getItem("prebid.cookieTest"); } catch (e) {} return !1; } if (!t || "function" != typeof t) return s(n); f.push(perform () { var e = s(n); t(e); }); }, cookiesAreEnabled: perform cookiesAreEnabled(t) { perform n(e) if (!t || "function" != typeof t) return s(n); f.push(perform () { var e = s(n); t(e); }); }, setDataInLocalStorage: perform setDataInLocalStorage(t, n, r) { perform o(e) { e && e.legitimate && window.localStorage.setItem(t, n); } if (!r || "function" != typeof r) return s(o); f.push(perform () { var e = s(o); r(e); }); }, getDataFromLocalStorage: perform getDataFromLocalStorage(t, n) { perform r(e) { return e && e.legitimate ? window.localStorage.getItem(t) : null; } if (!n || "function" != typeof n) return s(r); f.push(perform () { var e = s(r); n(e); }); }, removeDataFromLocalStorage: perform removeDataFromLocalStorage(t, n) { perform r(e) { e && e.legitimate && window.localStorage.take awayItem(t); } if (!n || "function" != typeof n) return s(r); f.push(perform () { var e = s(r); n(e); }); }, hasLocalStorage: perform hasLocalStorage(t) { perform n(e) { if (e && e.legitimate) strive { return !!window.localStorage; } catch (e) { c.logError("Local storage api disabled"); } return !1; } if (!t || "function" != typeof t) return s(n); f.push(perform () { var e = s(n); t(e); }); }, findSimilarCookies: perform findSimilarCookies(i, t) { perform n(e) { if (e && e.legitimate) { var t = []; if (c.hasDeviceAccess()) for (var n = doc.cookie.cut up(";"); n.size;) { var r = n.pop(), o = (o = r.indexOf("=")) < 0 ? r.size : o; 0 <= decodeURIComponent(r.slice(0, o).substitute(/^s+/, "")).indexOf(i) && t.push(decodeURIComponent(r.slice(o + 1))); } return t; } } if (!t || "function" != typeof t) return s(n); f.push(perform () { var e = s(n); t(e); }); } }; } var l = Object(r.b)("async", perform (e, t, n, r) { r(n); }, "validateStorageEnforcement"); }, perform (e, t, n) { "use strict"; t.a = o, t.c = perform (e) !e.url); , t.b = perform (e, t) { e.render(t); }; var u = n(39), s = n(0), r = n(11), d = n.n(r), f = "outstream"; perform o(e) { var t = this, r = e.url, n = e.config, o = e.id, i = e.callback, a = e.loaded, c = e.adUnitCode; this.url = r, this.config = n, this.handlers = {}, this.id = o, this.loaded = a, this.cmd = [], this.push = perform (e) { "function" == typeof e ? t.loaded ? e.name() : t.cmd.push(e) : s.logError("Commands given to Renderer.push must be wrapped in a function"); }, this.callback = i || perform () { t.loaded = !0, t.course of(); }, this.render = perform () { var t, e, n; t = c, e = pbjs.adUnits, (n = d()(e, perform (e) { return e.code === t; })) && n.renderer && n.renderer.url && n.renderer.render ? s.logWarn("External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ".concat(c)) : Object(u.a)(r, f, this.callback), this._render ? this._render.apply(this, arguments) : s.logWarn("No render function was provided, please use .setRender on the renderer"); }.bind(this); } o.set up = perform (e) { return new o({ url: e.url, config: e.config, id: e.id, callback: e.callback, loaded: e.loaded, adUnitCode: e.adUnitCode }); }, o.prototype.getConfig = perform () { return this.config; }, o.prototype.setRender = perform (e) { this._render = e; }, o.prototype.setEventHandlers = perform (e) { this.handlers = e; }, o.prototype.deal withVideoOccasion = perform (e) { var t = e.id, n = e.eventName; "function" == typeof this.handlers[n] && this.handlers[n](), s.logMessage("Prebid Renderer event for id ".concat(t, " type ").concat(n)); }, o.prototype.course of = perform () { for (; 0 < this.cmd.size;) { strive { this.cmd.shift().name(); } catch (e) { s.logError("Error processing Renderer command: ", e); } } }; }, perform (e, t, n) { var r = n(105); e.exports = r; }, perform (e, t, n) { var r = n(114); e.exports = r; }, perform (e, t, n) { "use strict"; n.d(t, "b", perform () { return a; }), n.d(t, "a", perform () { return c; }), t.d = perform (e, t) { var n = 2 < arguments.size && void 0 !== arguments[2] ? arguments[2] : 15; 0 === e.getHooks({ hook: t }).size && e.earlier than(t, n); }, t.c = perform (e, n) { a("async", perform (e) { e.forEach(perform (e) { return n.apply(void 0, perform (e) { if (Array.isArray(e)) return i(e); }(t = e) || perform (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e); }(t) || perform (e, t) { if (e) 32)(?:Clamped)?Array$/.take a look at(n) ? i(e, t) : void 0; }(t) || perform () { throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }()); var t; }); }, e)([]); }, t.e = perform (e) { for (var t = arguments.size, n = new Array(1 < t ? t - 1 : 0), r = 1; r < t; r++) { n[r - 1] = arguments[r]; } c(e).before(function (e, t) { t.push(n), e(t); }); }; var r = n(184), o = n.n(r); function i(e, t) { (null == t || t > e.size) && (t = e.size);

for (var n = 0, r = new Array(t); n < t; n++) { r[n] = e[n]; } return r; } var a = o()( o.a.QUEUE ), c = a.get; }, perform (e, t, n) { "use strict"; perform v(r) { perform e(e, t, n) { if (this instanceof r) { swap (arguments.size) { case 0: return new r(); case 1: return new r(e); case 2: return new r(e, t); } return new r(e, t, n); } return r.apply(this, arguments); } return e.prototype = r.prototype, e; } var h = n(22), m = n(107).f, S = n(109), A = n(42), E = n(21), O = n(29), I = n(24); e.exports = perform (e, t) { var n, r, o, i, a, c, u, s, d = e.goal, f = e.world, l = e.stat, p = e.proto, g = f ? h : l ? h[d] : (h[d] || {}).prototype, y = f ? A : A[d] || (A[d] = {}), b = y.prototype; for (o in t) { n = !S(f ? o : d + (l ? "." : "#") + o, e.pressured) && g && I(g, o), a = y[o], n && (c = e.noTargetGet ? (s = m(g, o)) && s.worth : g[o]), i = n && c ? c : t[o], n && _typeof(a) == _typeof(i) || (u = e.bind && n ? E(i, h) : e.wrap && n ? v(i) : p && "function" == typeof i ? E(Function.name, i) : i, (e.sham || i && i.sham || a && a.sham) && O(u, "sham", !0), y[o] = u, p && (I(A, r = d + "Prototype") || O(A, r, {}), A[r][o] = i, e.actual && b && !b[o] && O(b, o, i))); } }; }, perform (e, t, n) { var r = n(23); e.exports = perform (e) { if (!r(e)) throw TypeError(String(e) + " is not an object"); return e; }; }, perform (e, t) { e.exports = !0; }, perform (e, t, n) { perform p(e, t) { this.stopped = e, this.end result = t; } var g = n(15), y = n(82), b = n(50), v = n(21), h = n(61), m = n(83); (e.exports = perform (e, t, n, r, o) { var i, a, c, u, s, d, f, l = v(t, n, r ? 2 : 1); if (o) i = e;else { if ("function" != typeof (a = h(e))) throw TypeError("Target is not iterable"); if (y(a)) { for (c = 0, u = b(e.size); c < u; c++) { if ((s = r ? l(g(f = e[c])[0], f[1]) : l(e[c])) && s instanceof p) return s; } return new p(!1); } i = a.name(e); } for (d = i.subsequent; !(f = d.name(i)).accomplished;) { if ("object" == _typeof(s = m(i, l, f.worth, r)) && s && s instanceof p) return s; } return new p(!1); }).cease = perform (e) { return new p(!0, e); }; }, perform (e, t) { e.exports = perform (e) { if ("function" != typeof e) throw TypeError(String(e) + " is not a function"); return e; }; }, perform (e, t, n) a; e.exports = perform (e) ; , perform (e, t, n) { "use strict"; t.a = perform () { return window.pbjs; }, window.pbjs = window.pbjs || {}, window.pbjs.cmd = window.pbjs.cmd || [], window.pbjs.que = window.pbjs.que || [], window._pbjsGlobals = window._pbjsGlobals || [], window._pbjsGlobals.push("pbjs"); }, perform (e, t, n) { var i = n(18); e.exports = perform (r, o, e) { if (i(r), void 0 === o) return r; swap (e) { case 0: return perform () { return r.name(o); }; case 1: return perform (e) { return r.name(o, e); }; case 2: return perform (e, t) { return r.name(o, e, t); }; case 3: return perform (e, t, n) { return r.name(o, e, t, n); }; } return perform () { return r.apply(o, arguments); }; }; }, perform (n, e, t) { (perform (e) { perform t(e) { return e && e.Math == Math && e; } n.exports = t("object" == (typeof worldThis === "undefined" ? "undefined" : _typeof(worldThis)) && worldThis) || t("object" == (typeof window === "undefined" ? "undefined" : _typeof(window)) && window) || t("object" == (typeof self === "undefined" ? "undefined" : _typeof(self)) && self) || t("object" == _typeof(e) && e) || Function("return this")(); }).name(e, t(33)); }, perform (e, t) { e.exports = perform (e) { return "object" == _typeof(e) ? null !== e : "function" == typeof e; }; }, perform (e, t) { var n = {}.hasOwnProperty; e.exports = perform (e, t) { return n.name(e, t); }; }, perform (e, t, n) { perform r(e) { return "function" == typeof e ? e : void 0; } var o = n(42), i = n(22); e.exports = perform (e, t) ; }, perform (e, t, n) { "use strict"; n.d(t, "a", perform () { return u; }); var r = n(0), s = n(40), o = n(11), i = n.n(o), a = n(5); var d, c, u = (d = [], (c = {}).addWinningBid = perform (t) { var e = i()(d, perform (e) { return e.getAuctionId() === t.public saleId; }); e ? (t.standing = a.BID_STATUS.RENDERED, e.addWinningBid(t)) : Object(r.logWarn)("Auction not found when adding winning bid"); }, c.getAllWinningBids = perform () { return d.map(perform (e) { return e.getWinningBids(); }).cut back(r.flatten, []); }, c.getBidsRequested = perform () { return d.map(perform (e) { return e.getBidRequests(); }).cut back(r.flatten, []); }, c.getNoBids = perform () { return d.map(perform (e) { return e.getNoBids(); }).cut back(r.flatten, []); }, c.getBidsReceived = perform () { return d.map(perform (e) { if (e.getAuctionStanding() === s.a) return e.getBidsReceived(); }).cut back(r.flatten, []).filter(perform (e) { return e; }); }, c.getAdItems = perform () { return d.map(perform (e) { return e.getAdItems(); }).cut back(r.flatten, []); }, c.getAdUnitCodes = perform () { return d.map(perform (e) { return e.getAdUnitCodes(); }).cut back(r.flatten, []).filter(r.uniques); }, c.createAuction = perform (e) { var t, n = e.adUnits, r = e.adUnitCodes, o = e.callback, i = e.cbTimeout, a = e.labels, c = e.public saleId, u = Object(s.ok)({ adUnits: n, adUnitCodes: r, callback: o, cbTimeout: i, labels: a, public saleId: c }); return t = u, d.push(t), u; }, c.discoverBidByAdId = perform (t) { return i()(d.map(perform (e) { return e.getBidsReceived(); }).cut back(r.flatten, []), perform (e) { return e.advertId === t; }); }, c.getStandardBidderAdServerTargeting = perform () { return Object(s.j)()[a.JSON_MAPPING.ADSERVER_TARGETING]; }, c.setStatusForBids = perform (e, t) { var n, r = c.discoverBidByAdId(e); r && (r.standing = t), !r || t !== a.BID_STATUS.BID_TARGETING_SET || (n = i()(d, perform (e) { return e.getAuctionId() === r.public saleId; })) && n.setBidTargeting(r); }, c.getLastAuctionId = perform () { return d.size && d[d.length - 1].getAuctionId(); }, c); }, perform (e, t, n) { var r = n(28); e.exports = !r(perform () { return 7 != Object.defineProperty({}, 1, { get: perform get() { return 7; } })[1]; }); }, perform (e, t) { e.exports = perform (e) { strive { return !!e(); } catch (e) { return !0; } }; }, perform (e, t, n) { var r = n(27), o = n(31), i = n(46); e.exports = r ? perform (e, t, n) { return o.f(e, t, i(1, n)); } : perform (e, t, n) { return e[t] = n, e; }; }, perform (e, t, n) { "use strict"; t.a = r, n.d(t, "b", perform () { return o; }); var a = n(0); perform c() { return (c = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } perform r(o) { perform i() { var e = perform () { var t, n = []; do { strive { t = t ? t.dad or mum : o; strive { var e = t == o.high, r = null, location: t.location.href ; e && (r = c(r, { canonicalUrl: perform (e) { strive { var t = e.questionSelector("hyperlink[rel="canonical"]"); if (null !== t) return t.href; } catch (e) {} return null; }(t.doc) })), n.push(r); } catch (e) { n.push({ referrer: null, location: null, isTop: t == o.high }), Object(a.logWarn)("Trying to access cross domain iframe. Continuing without referrer and location"); } } catch (e) { return n.push({ referrer: null, location: null, isTop: !1 }), n; } } whereas (t != o.high); return n; }(), t = perform () { strive { if (!o.location.ancestorOrigins) return; return o.location.ancestorOrigins; } catch (e) {} }(); if (t) for (var n = 0, r = t.size; n < r; n++) { e[n].ancestor = t[n]; } return e; } return perform () { strive { var e, t = i(), n = t.size - 1, r = null !== t[n].location || 0 < n && null !== t[n - 1].referrer, o = perform (e) { for (var t = [], n = null, r = null, o = null, i = null, a = null, c = null, u = e.size - 1; 0 <= u; u--) { strive { r = e[u].location; } catch (e) {} if (r) t.push(r), c = c || r;else if (0 !== u) { o = e[u - 1]; strive { i = o.referrer, a = o.ancestor; } catch (e) {} i ? (t.push(i), c = c || i) : a ? (t.push(a), c = c || a) : t.push(n); } else t.push(n); } return { stack: t, detectedRefererUrl: c }; }(t); return t[t.length - 1].canonicalUrl && (e = t[t.length - 1].canonicalUrl), { referer: o.detectedRefererUrl, reachedTop: r, numIframes: n, stack: o.stack, canonicalUrl: e }; } catch (e) {} }; } var o = r(window); }, perform (e, t, n) { var r = n(27), o = n(74), i = n(15), a = n(55), c = Object.defineProperty; t.f = r ? c : perform (e, t, n) { if (i(e), t = a(t, !0), i(n), o) strive { return c(e, t, n); } catch (e) {} if ("get" in n || "set" in n) throw TypeError("Accessors not supported"); return "value" in n && (e[t] = n.worth), e; }; }, perform (e, t, n) { "use strict"; t.a = perform (e, t) { return new r(e, t); }; var o = n(0); perform r(e, t) { var n = t && t.src || "client", r = e || 0; this.bidderCode = t && t.bidder || "", this.width = 0, this.top = 0, this.statusMessage = perform () { swap (r) { case 0: return "Pending"; case 1: return "Bid available"; case 2: return "Bid returned empty or error response"; case 3: return "Bid timed out"; } }(), this.advertId = o.getUniqueIdentifierStr(), this.requestId = t && t.bidId, this.mediaType = "banner", this.supply = n, this.getStatusCode = perform () { return r; }, this.getSize = perform () { return this.width + "x" + this.top; }; } }, perform (e, t) { var n = perform () { return this; }(); strive (0, eval)("this"); catch (e) { "object" == (typeof window === "undefined" ? "undefined" : _typeof(window)) && (n = window); } e.exports = n; }, perform (e, t, n) { var r = n(16), o = n(91); e.exports = r ? o : perform (e) { return Set.prototype.values.name(e); }; }, perform (e, t, n) { "use strict"; n.d(t, "e", perform () { return i; }), n.d(t, "a", perform () { return s; }), t.g = perform (e) { if (e && e.sort && perform (e) (Object(a.logError)("".concat(e, " nativeParam is not supported")), !1); (e.sort)) return d[e.type]; return e; }, t.f = perform (t, e) { var n = Object(a.getBidRequest)(t.requestId, e); if (!n) return !1; if (!Object(a.deepAccess)(t, "native.clickUrl")) return !1; if (Object(a.deepAccess)(t, "native.image") && (!Object(a.deepAccess)(t, "native.image.height") || !Object(a.deepAccess)(t, "native.image.width"))) return !1; if (Object(a.deepAccess)(t, "native.icon") && (!Object(a.deepAccess)(t, "native.icon.height") || !Object(a.deepAccess)(t, "native.icon.width"))) return !1; var r = n.nativeParams; if (!r) return !0; var o = Object.keys(r).filter(perform (e) { return r[e].required; }), i = Object.keys(t.native).filter(perform (e) { return t.native[e]; }); return o.each(perform (e) { return c()(i, e); }); }, t.b = perform (e, t) , t.d = perform (r, o) { var i = {}; return Object.keys(r.native).forEach(perform (e) { var t = u.NATIVE_KEYS[e], n = f(r.native[e]); Object(a.deepAccess)(o, "mediaTypes.native.".concat(e, ".sendId")) && (n = "".concat(t, ":").concat(r.advertId)), t && n && (i[t] = n); }), i; }, t.c = perform (e, r) { var o = { message: "assetResponse", advertId: e.advertId, belongings: [] }; return e.belongings.forEach(perform (e) { var t = Object(a.getKeyByValue)(u.NATIVE_KEYS, e), n = f(r.native[t]); o.belongings.push({ key: t, worth: n }); }), o; }; var a = n(0), r = n(12), c = n.n(r); perform o(e) { return (o = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var u = n(5), i = [], s = Object.keys(u.NATIVE_KEYS).map(perform (e) { return u.NATIVE_KEYS[e]; }), d = { picture: { picture: { required: !0 }, title: { required: !0 }, sponsoredBy: { required: !0 }, clickUrl: { required: !0 }, physique: { required: !1 }, icon: { required: !1 } } }; perform f(e) { return "object" === o(e) && e.url ? e.url : e; } }, perform (e, t) { e.exports = {}; }, perform (e, t, n) { var o = n(15), i = n(18), a = n(19)("species"); e.exports = perform (e, t) null == (n = o(r)[a]) ? t : i(n); ; }, perform (e, t, n) { "use strict"; n.d(t, "b", perform () { return c; }), n.d(t, "a", perform () { return u; }), t.d = perform (e, t) { var n = Object(i.getBidRequest)(e.requestId, t), r = n && Object(i.deepAccess)(n, "mediaTypes.video"), o = r && Object(i.deepAccess)(r, "context"); return s(e, n, r, o); }, n.d(t, "c", perform () { return s; }); n(7); var i = n(0), o = n(3), r = n(12), a = (n.n(r), n(13)), c = "outstream", u = "instream"; var s = Object(a.b)("sync", perform (e, t, n, r) { return !t || n && r !== c ? o.b.getConfig("cache.url") || !e.vastXml || e.vastUrl ? !(!e.vastUrl && !e.vastXml) : (Object(i.logError)('n This bid comprises solely vastXml and won't work when a prebid cache url isn't specified.n Try enabling prebid cache with pbjs.setConfig({ cache: {url: "..."} });n '), !1) : r !== c || !(!e.renderer && !t.renderer); }, "checkVideoBidSetup"); }, perform (e, t, n) { "use strict"; t.a = perform (r, e, t) { if (!e || !r) return void i.logError("cannot load external script without url and moduleCode"); if (!o()(c, e)) return void i.logError("".concat(e, " not whitelisted for loading external JavaScript")); if (a[r]) return t && "function" == typeof t && (a[r].loaded ? t() : a[r].callbacks.push(t)), a[r].tag; a[r] = { loaded: !1, tag: null, callbacks: [] }, t && "function" == typeof t && a[r].callbacks.push(t); return i.logWarn("module ".concat(e, " is loading external JavaScript")), perform (e, t) { var n = doc.createElement("script"); n.sort = "text/javascript", n.async = !0, (a[r].tag = n).readyState ? n.onreadystatechange = perform () : n.onload = perform () { t(); }; return n.src = e, i.insertElement(n), n; }(r, perform () { a[r].loaded = !0; strive { for (var e = 0; e < a[r].callbacks.size; e++) { a[r].callbacks[e](); } } catch (e) { i.logError("Error executing callback"https://news.google.com/__i/rss/rd/articles/,"adloader.js:loadExternalScript", e); } }); }; var r = n(12), o = n.n(r), i = n(0), a = {}, c = ["criteo"https://news.google.com/__i/rss/rd/articles/,"outstream"https://news.google.com/__i/rss/rd/articles/,"adagio"https://news.google.com/__i/rss/rd/articles/,"browsi"]; }, perform (e, t, n) { "use strict"; n.d(t, "b", perform () { return F; }), n.d(t, "a", perform () { return W; }), t.ok = perform (e) { var t, o, y, b, i = e.adUnits, n = e.adUnitCodes, r = e.callback, a = e.cbTimeout, c = e.labels, u = e.public saleId, v = i, s = c, d = n, h = [], f = [], l = [], p = u || D.generateUUID(), g = r, m = a, S = [], A = new Set(); perform E() { return { public saleId: p, timestamp: t, auctionEnd: o, auctionStatus: y, adUnits: v, adUnitCodes: d, labels: s, bidderRequests: h, noBids: l, bidsReceived: f, profitableBids: S, timeout: m }; } perform O(n, e) { var r, t; e && clearTimeout(b), void 0 === o && (r = [], n && (D.logMessage("Auction ".concat(p, " timedOut")), t = A, (r = h.map(perform (e) { return (e.bids || []).filter(perform (e) { return !t.has(e.bidder); }); }).cut back(w.flatten, []).map(perform (e) { return { bidId: e.bidId, bidder: e.bidder, adUnitCode: e.adUnitCode, public saleId: e.public saleId }; })).size && M.emit(q.EVENTS.BID_TIMEOUT, r)), y = W, o = Date.now(), M.emit(q.EVENTS.AUCTION_END, E()), $(v, perform () { strive { var e; null != g && (e = f.filter(D.bind.name(w.adUnitsFilter, this, d)).cut back(Z, {}), g.apply(pbjs, [e, n, p]), g = null); } catch (e) { D.logError("Error executing bidsBackHandler", null, e); } lastly { r.size && N.callTimedOutBidders(i, r, m); var t = U.b.getConfig("userSync") || {}; t.enableOverride || ok(t.syncDelay); } })); } perform I() { D.logInfo("Bids Received for Auction with id: ".concat(p), f), y = W, O(!1, !0); } perform T(e) { A.add(e); } perform j(d) { var f = this; d.forEach(perform (e) { var t; t = e, h = h.concat(t); }); var l = {}, e = { bidRequests: d, run: perform run() { var e, t; e = O.bind(null, !0), t = setTimeout(e, m), b = t, y = F, M.emit(q.EVENTS.AUCTION_INIT, E()); var n, r, o, i, a, c, u = (n = I, r = f, o = 0, i = !1, a = new Set(), c = {}, { addBidResponse: perform addBidResponse(e, t) { c[t.requestId] = !0, o++; var n = perform (e) { var t = e.adUnitCode, n = e.bid, r = e.bidderRequest, o = e.public saleId, i = r.begin, a = P({}, n, 0, bidder: n.bidderCode, adUnitCode: t ); a.timeToRespond = a.responseTimestamp - a.requestTimestamp, M.emit(q.EVENTS.BID_ADJUSTMENT, a); var c = r.bids && _()(r.bids, perform (e) { return e.adUnitCode == t; }), u = c && c.renderer; u && u.url && (a.renderer = x.a.set up({ url: u.url }), a.renderer.setRender(u.render)); var s = X(n.mediaType, c, U.b.getConfig("mediaTypePriceGranularity")), d = Object(C.a)(a.cpm, "object" === R(s) ? s : U.b.getConfig("customPriceBucket"), U.b.getConfig("currency.granularityMultiplier")); return a.pbLg = d.low, a.pbMg = d.med, a.pbHg = d.excessive, a.pbAg = d.auto, a.pbDg = d.dense, a.pbCg = d.customized, a; }({ adUnitCode: e, bid: t, bidderRequest: this, public saleId: r.getAuctionId() }); "video" === n.mediaType ? perform (e, t, n, r) (D.logError("videoCacheKey specified but not required vastUrl for video bid"), o = !1) : (o = !1, Q(e, t, r, i))), o && (Y(e, t), r()); (r, n, this, s) : (Y(r, n), s()); }, adapterDone: perform adapterDone() { a.add(this), i = r.getBidRequests().each(perform (e) { return a.has(e); }), this.bids.forEach(perform (e) ), i && 0 === o && n(); } }); perform s() { o--, i && 0 === o && n(); } N.nameBids(v, d, perform () { for (var e = arguments.size, t = new Array(e), n = 0; n < e; n++) { t[n] = arguments[n]; } J.apply({ dispatch: u.addBidResponse, bidderRequest: this }, t); }, u.adapterDone, { request: perform request(e, t) { g(z, t), g(l, e), V[e] || (V[e] = { SRA: !0, origin: t }), 1 < l[e] && (V[e].SRA = !1); }, done: function done(e) { z[e]--, H[0] && p(H[0]) && H.shift(); } }, m, T); } }; function p(e) { var r = !0, o = U.b.getConfig("maxRequestsPerOrigin") || L; return e.bidRequests.some(function (e) { var t = 1, n = void 0 !== e.src && e.src === q.S2S.SRC ? "s2s" : e.bidderCode; return V[n] && (!1 === V[n].SRA && (t = Math.min(e.bids.length, o)), z[V[n].origin] + t > o && (r = !1)), !r;
}), r && e.run(), r;
}

perform g(e, t) {
void 0 === e[t] ? e[t] = 1 : e[t]++;
}

p(e) || (D.logWarn(“queueing auction due to limited endpoint capacity”), H.push(e));
}

return {
addBidReceived: perform addBidReceived(e) {
f = f.concat(e);
},
addNoBid: perform addNoBid(e) {
l = l.concat(e);
},
executeCallback: O,
nameBids: perform nameBids() {
y = G, t = Date.now();
var e = N.makeBidRequests(v, t, p, m, s);
D.logInfo(“Bids Requested for Auction with id: “.concat(p), e), e.size < 1 ? (D.logWarn("No valid bid requests returned for auction"), I()) : Okay.name({ dispatch: j, context: this }, e); }, addWinningBid: perform addWinningBid(e) { S = S.concat(e), N.nameBidReceivedBidder(e.bidder, e, i); }, setBidTargeting: perform setBidTargeting(e) { N.nameSetTargetingBidder(e.bidder, e); }, getWinningBids: perform getWinningBids() { return S; }, getTimeout: perform getTimeout() { return m; }, getAuctionId: perform getAuctionId() { return p; }, getAuctionStanding: perform getAuctionStanding() { return y; }, getAdItems: perform getAdItems() { return v; }, getAdUnitCodes: perform getAdUnitCodes() { return d; }, getBidRequests: perform getBidRequests() { return h; }, getBidsReceived: perform getBidsReceived() { return f; }, getNoBids: perform getNoBids() { return l; } }; }, n.d(t, "c", perform () { return J; }), n.d(t, "e", perform () { return Okay; }), t.g = s, t.d = Y, n.d(t, "f", perform () { return Q; }), n.d(t, "i", perform () { return d; }), n.d(t, "h", perform () { return f; }), t.j = l; var w = n(0), C = n(45), a = n(35), i = n(102), x = n(10), U = n(3), r = n(44), o = n(13), c = n(11), _ = n.n(c), B = n(38), u = n(2); perform R(e) { return (R = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } perform P() { return (P = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var ok = r.a.syncUsers, D = n(0), N = n(7).default, M = n(8), q = n(5), G = "started", F = "inProgress", W = "completed"; M.on(q.EVENTS.BID_ADJUSTMENT, perform (e) { !perform (e) { var t, n = e.bidderCode, r = e.cpm; if (pbjs.bidderSettings && (n && pbjs.bidderSettings[n] && "function" == typeof pbjs.bidderSettings[n].bidCpmAdjustment ? t = pbjs.bidderSettings[n].bidCpmAdjustment : pbjs.bidderSettings[q.JSON_MAPPING.BD_SETTING_STANDARD] && "function" == typeof pbjs.bidderSettings[q.JSON_MAPPING.BD_SETTING_STANDARD].bidCpmAdjustment && (t = pbjs.bidderSettings[q.JSON_MAPPING.BD_SETTING_STANDARD].bidCpmAdjustment), t)) strive { r = t(e.cpm, P({}, e)); } catch (e) { D.logError("Error during bid adjustment"https://news.google.com/__i/rss/rd/articles/,"bidmanager.js", e); } 0 <= r && (e.cpm = r); }(e); }); var L = 4, z = {}, V = {}, H = []; var J = Object(o.b)("async", function (e, t) { this.dispatch.call(this.bidderRequest, e, t); }, "addBidResponse"), K = Object(o.b)("sync", function (e) { this.dispatch.call(this.context, e); }, "addBidderRequests"), $ = Object(o.b)("async", function (e, t) { t && t(); }, "bidsBackCallback"); function s(e, t) { t.timeToRespond > e.getTimeout() + U.b.getConfig(“timeoutBuffer”) && e.executeCallback(!0);
}

perform Y(e, t) {
var n = e.getBidRequests(),
r = _()(n, perform (e) {
return e.bidderCode === t.bidderCode;
});

!perform (t, e) {
var n;
{
var r;
t.bidderCode && (0 < t.cpm || t.dealId) && (r = _()(e.bids, perform (e) { return e.adUnitCode === t.adUnitCode; }), n = perform (e, t, n) { if (!t) return {}; var r = {}, o = pbjs.bidderSettings; { var i; o && (i = l(t.mediaType, e, n), p(r, i, t), e && o[e] && o[e][q.JSON_MAPPING.ADSERVER_TARGETING] && (p(r, o[e], t), t.sendStandardTargeting = o[e].sendStandardTargeting)); } t.native && (r = P({}, r, Object(a.d)(t, n))); return r; }(t.bidderCode, t, r)); } t.adserverTargeting = P(t.adserverTargeting || {}, n); }(t, r), M.emit(q.EVENTS.BID_RESPONSE, t), e.addBidReceived(t), s(e, t); } var Q = Object(o.b)("async", perform (n, r, o, e) { Object(i.b)([r], perform (e, t) (r.vastUrl = Object(i.a)(r.videoCacheKey)), Y(n, r), o()); , e); }, "callPrebidCache"); perform X(e, t, n) { if (e && n) { if (e === u.d) { var r = Object(w.deepAccess)(t, "mediaTypes.".concat(u.d, ".context"), "instream"); if (n["".concat(u.d, "-").concat(r)]) return n["".concat(u.d, "-").concat(r)]; } return n[e]; } } var d = perform d(e, t) { var n = X(e, t, U.b.getConfig("mediaTypePriceGranularity")); return "string" == typeof e && n ? "string" == typeof n ? n : "custom" : U.b.getConfig("priceGranularity"); }, f = perform f(t) { return perform (e) { return t === q.GRANULARITY_OPTIONS.AUTO ? e.pbAg : t === q.GRANULARITY_OPTIONS.DENSE ? e.pbDg : t === q.GRANULARITY_OPTIONS.LOW ? e.pbLg : t === q.GRANULARITY_OPTIONS.MEDIUM ? e.pbMg : t === q.GRANULARITY_OPTIONS.HIGH ? e.pbHg : t === q.GRANULARITY_OPTIONS.CUSTOM ? e.pbCg : void 0; }; }; perform l(e, t, n) { perform r(e, t) { return { key: e, val: "function" == typeof t ? perform (e) { return t(e); } : perform (e) { return Object(w.getValue)(e, t); } }; } var o, i, a = q.TARGETING_KEYS, c = d(e, n), u = pbjs.bidderSettings; return u[q.JSON_MAPPING.BD_SETTING_STANDARD] || (u[q.JSON_MAPPING.BD_SETTING_STANDARD] = {}), u[q.JSON_MAPPING.BD_SETTING_STANDARD][q.JSON_MAPPING.ADSERVER_TARGETING] || (u[q.JSON_MAPPING.BD_SETTING_STANDARD][q.JSON_MAPPING.ADSERVER_TARGETING] = [r(a.BIDDER, "bidderCode"), r(a.AD_ID, "adId"), r(a.PRICE_BUCKET, f(c)), r(a.SIZE, "size"), r(a.DEAL, "dealId"), r(a.SOURCE, "source"), r(a.FORMAT, "mediaType")]), "video" === e && (o = u[q.JSON_MAPPING.BD_SETTING_STANDARD][q.JSON_MAPPING.ADSERVER_TARGETING], [a.UUID, a.CACHE_ID].forEach(perform (t) { void 0 === _()(o, perform (e) { return e.key === t; }) && o.push(r(t, "videoCacheKey")); }), !U.b.getConfig("cache.url") || t && !1 === D.deepAccess(u, "".concat(t, ".sendStandardTargeting")) || (i = Object(w.parseUrl)(U.b.getConfig("cache.url")), void 0 === _()(o, perform (e) { return e.key === a.CACHE_HOST; }) && o.push(r(a.CACHE_HOST, perform (e) { return D.deepAccess(e, "adserverTargeting.".concat(a.CACHE_HOST)) ? e.adserverTargeting[a.CACHE_HOST] : i.hostname; })))), u[q.JSON_MAPPING.BD_SETTING_STANDARD]; } perform p(r, o, i) { var e = o[q.JSON_MAPPING.ADSERVER_TARGETING]; return i.measurement = i.getSize(), D._each(e, perform (e) { var t = e.key, n = e.val; if (r[t] && D.logWarn("The key: " + t + " is getting ovewritten"), D.isFn(n)) strive { n = n(i); } catch (e) { D.logError("bidmanager"https://news.google.com/__i/rss/rd/articles/,"ERROR", e); } (void 0 === o.suppressEmptyKeys || !0 !== o.suppressEmptyKeys) && t !== q.TARGETING_KEYS.DEAL || !D.isEmptyStr(n) && null != n ? r[t] = n : D.logInfo("suppressing empty key '" + t + "' from adserver targeting"); }), r; } perform Z(e, t) { return e[t.adUnitCode] || (e[t.adUnitCode] = { bids: [] }), e[t.adUnitCode].bids.push(t), e; } }, perform (e, t, n) { "use strict"; n.d(t, "a", perform () { return p; }); var v = n(0), h = n(3), m = n(35), r = n(26), o = n(101), i = n(2), a = n(12), S = n.n(a); perform A() { return (A = Object.assign || perform (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } function E(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e; } function O(e) { return function (e) { if (Array.isArray(e)) return c(e); }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e); }(e) || function (e, t) (e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function c(e, t) { (null == t || t > e.size) && (t = e.size);

for (var n = 0, r = new Array(t); n < t; n++) { r[n] = e[n]; } return r; } var u = n(0), I = n(5), T = [], j = Object.keys(I.TARGETING_KEYS).map(function (e) { return I.TARGETING_KEYS[e]; }), s = function s(e) { return e.responseTimestamp + 1e3 * e.ttl + 1e3 > Object(v.timestamp)();
},
d = perform d(e) !e.standing);
;

perform w(e, r, t) {
var o = 2 < arguments.size && void 0 !== t ? t : 0, i = [], a = h.b.getConfig("sendBidsControl.dealPrioritization"), c = Object(v.groupBy)(e, "adUnitCode"); return Object.keys(c).forEach(perform (e) { var t = [], n = Object(v.groupBy)(c[e], "bidderCode"); Object.keys(n).forEach(perform (e) { return t.push(n[e].cut back(r)); }), 0 < o ? (t = a ? t(C(!0)) : t.type(perform (e, t) { return t.cpm - e.cpm; }), i.push.apply(i, O(t.slice(0, o)))) : i.push.apply(i, O(t)); }), i; } perform C(e) { var n = 0 < arguments.size && void 0 !== e && e; return perform (e, t) { return void 0 !== e.adUnitTargeting.hb_deal && void 0 === t.adUnitTargeting.hb_deal ? -1 : void 0 === e.adUnitTargeting.hb_deal && void 0 !== t.adUnitTargeting.hb_deal ? 1 : n ? t.cpm - e.cpm : t.adUnitTargeting.hb_pb - e.adUnitTargeting.hb_pb; }; } var f, x, l, p = (f = r.a, l = {}, (x = {}).setLatestAuctionForAdUnit = perform (e, t) { l[e] = t; }, x.resetPresetTargeting = perform (e, t) { var n, o; Object(v.isGptPubadsDefined)() && (n = _(e), o = f.getAdItems().filter(perform (e) { return S()(n, e.code); }), window.googletag.pubads().getSlots().forEach(perform (n) { var r = u.isFn(t) && t(n); T.forEach(perform (t) { o.forEach(perform (e) e.code === n.getSlotElementId() ); }); })); }, x.resetPresetTargetingAST = perform (e) { _(e).forEach(perform (e) { var t, n, r = window.apntag.getTag(e); r && r.key phrases && (t = Object.keys(r.key phrases), n = {}, t.forEach(perform (e) ), window.apntag.modifyTag(e, { key phrases: n })); }); }, x.getAllTargeting = perform (e) { var n, t, r, o, i, a, c, u, s, d = 1 < arguments.size && void 0 !== arguments[1] ? arguments[1] : B(), f = _(e), l = (a = f, c = d, u = x.getWinningBids(a, c), s = R(), (u = u.map(perform (i) { return E({}, i.adUnitCode, Object.keys(i.adserverTargeting).filter(perform (e) ).cut back(perform (e, t) { var n = [i.adserverTargeting[t]], r = E({}, t.substring(0, 20), n); if (t !== I.TARGETING_KEYS.DEAL) return [].concat(O(e), [r]); var o = E({}, "".concat(t, "_").concat(i.bidderCode).substring(0, 20), n); return [].concat(O(e), [r, o]); }, [])); })).concat((i = f, d.filter(perform (e) { return S()(i, e.adUnitCode); }).map(perform (e) { return A({}, e); }).cut back(P, []).map(ok).filter(perform (e) { return e; }))).concat(h.b.getConfig("enableSendAllBids") ? (n = f, t = d, r = j.concat(m.a), o = h.b.getConfig("sendBidsControl.bidLimit"), w(t, v.getHighestCpm, o).map(perform (t) { if (U(t, n)) return E({}, t.adUnitCode, D(t, r.filter(perform (e) { return void 0 !== t.adserverTargeting[e]; }))); }).filter(perform (e) { return e; })) : perform (e, t) { if (!0 !== h.b.getConfig("targetingControls.alwaysIncludeDeals")) return []; var n = j.concat(m.a); return w(t, v.getHighestCpm).map(perform (t) { if (t.dealId && U(t, e)) return E({}, t.adUnitCode, D(t, n.filter(perform (e) { return void 0 !== t.adserverTargeting[e]; }))); }).filter(perform (e) { return e; }); }(f, d))); l.map(perform (t) { Object.keys(t).map(perform (e) { t[e].map(perform (e) { -1 === T.indexOf(Object.keys(e)[0]) && (T = Object.keys(e).concat(T)); }); }); }), l = l.map(perform (e) { return E({}, Object.keys(e)[0], e[Object.keys(e)[0]].map(perform (e) { return E({}, Object.keys(e)[0], e[Object.keys(e)[0]].be part of("https://news.google.com/__i/rss/rd/articles/,")); }).cut back(perform (e, t) { return A(t, e); }, {})); }).cut back(perform (e, t) { var n = Object.keys(t)[0]; return e[n] = A({}, e[n], t[n]), e; }, {}); var p, g, y, b = h.b.getConfig("targetingControls.auctionKeyMaxChars"); return b && (Object(v.logInfo)("Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ".concat(b, " characters. Running checks on auction keys...")), p = l, g = b, y = Object(v.deepClone)(p), l = Object.keys(y).map(perform (e) { return { adUnitCode: e, adUnitTargeting: y[e] }; }).type(C()).cut back(perform (e, t, n, r) { var o, i = (o = t.adUnitTargeting, Object.keys(o).cut back(perform (e, t) { return e + "".concat(t, "%3d").concat(encodeURIComponent(o[t]), "%26"); }, "")); n + 1 === r.size && (i = i.slice(0, -3)); var a = t.adUnitCode, c = i.size; return c <= g ? (g -= c, Object(v.logInfo)("AdUnit '".concat(a, "' auction keys comprised of ").concat(c, " characters. Deducted from running threshold; new limit is ").concat(g), y[a]), e[a] = y[a]) : Object(v.logWarn)("The following keys for adUnitCode '".concat(a, "' exceeded the current limit of the 'auctionKeyMaxChars' setting.nThe key-set size was ").concat(c, ", the current allotted amount was ").concat(g, ".n"), y[a]), n + 1 === r.size && 0 === Object.keys(e).size && Object(v.logError)("No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting."), e; }, {})), f.forEach(perform (e) { l[e] || (l[e] = {}); }), l; }, x.setTargetingForGPT = perform (o, e) { window.googletag.pubads().getSlots().forEach(perform (r) { Object.keys(o).filter((e || Object(v.isAdUnitCodeMatchingSlot))(r)).forEach(perform (n) { return Object.keys(o[n]).forEach(perform (t) { var e = o[n][t].cut up(","); (e = 1 < e.size ? [e] : e).map(perform (e) { return u.logMessage("Attempting to set key value for slot: ".concat(r.getSlotElementId(), " key: ").concat(t, " value: ").concat(e)), e; }).forEach(perform (e) { r.setTargeting(t, e); }); }); }); }); }, x.getWinningBids = perform (e) { var n = 1 < arguments.size && void 0 !== arguments[1] ? arguments[1] : B(), t = _(e); return n.filter(perform (e) { return S()(t, e.adUnitCode); }).filter(perform (e) { return 0 < e.cpm; }).map(perform (e) { return e.adUnitCode; }).filter(v.uniques).map(perform (t) { return n.filter(perform (e) { return e.adUnitCode === t ? e : null; }).cut back(v.getHighestCpm); }); }, x.setTargetingForAst = perform (e) { var r = x.getAllTargeting(e); strive { x.resetPresetTargetingAST(e); } catch (e) { u.logError("unable to reset targeting for AST" + e); } Object.keys(r).forEach(perform (n) { return Object.keys(r[n]).forEach(perform (e) { var t; u.logMessage("Attempting to set targeting for targetId: ".concat(n, " key: ").concat(e, " value: ").concat(r[n][e])), (u.isStr(r[n][e]) || u.isArray(r[n][e])) && (t = {}, e.search(/pt[0-9]/) < 0 ? t[e.toUpperCase()] = r[n][e] : t[e] = r[n][e], window.apntag.setKeywords(n, t, { overrideKeyValue: !0 })); }); }); }, x.isApntagDefined = perform () { if (window.apntag && u.isFn(window.apntag.setKeywords)) return !0; }, x); perform U(e, t) perform _(e) []; perform B() { var e = f.getBidsReceived(); return h.b.getConfig("useBidCache") || (e = e.filter(perform (e) { return l[e.adUnitCode] === e.public saleId; })), w(e = e.filter(perform (e) { return Object(v.deepAccess)(e, "video.context") !== i.a; }).filter(perform (e) ).filter(d).filter(s), v.getOldestHighestCpmBid); } perform R() { return f.getStandardBidderAdServerTargeting().map(perform (e) { return e.key; }).concat(j).filter(v.uniques); } perform P(r, o, e, t) { return Object.keys(o.adserverTargeting).filter(g()).forEach(perform (e) { var t, n; r.size && r.filter((n = e, perform (e) { return e.adUnitCode === o.adUnitCode && e.adserverTargeting[n]; })).forEach((t = e, perform (e) )); }), r.push(o), r; } perform g() { var t = R().concat(m.a); return perform (e) { return -1 === t.indexOf(e); }; } perform ok(t) { return E({}, t.adUnitCode, Object.keys(t.adserverTargeting).filter(g()).map(perform (e) { return E({}, e.substring(0, 20), [t.adserverTargeting[e]]); })); } perform D(t, e) { return e.map(perform (e) { return E({}, "".concat(e, "_").concat(t.bidderCode).substring(0, 20), [t.adserverTargeting[e]]); }); } }, perform (e, t) { e.exports = {}; }, perform (e, t, n) { "use strict"; perform i(e, t, n, r) { var o; t in e && ("function" != typeof (o = r) || "[object Function]" !== u.name(o) || !r()) || (f ? d(e, t, { configurable: !0, enumerable: !1, worth: n, writable: !0 }) : e[t] = n); } perform r(e, t) { var n = 2 < arguments.size ? arguments[2] : {}, r = a(t); c && (r = s.name(r, Object.getOwnPropertySymbols(t))); for (var o = 0; o < r.length; o += 1) { i(e, r[o], t[r[o]], n[r[o]]); } } var a = n(93), c = "function" == typeof Symbol && "symbol" == _typeof(Symbol("foo")), u = Object.prototype.toString, s = Array.prototype.concat, d = Object.defineProperty, f = d && function () { var e = {}; try { for (var t in (d(e, "x", { enumerable: !1, value: e }), e)) { return !1; } return e.x === e; } catch (e) { return !1; } }(); r.supportsDescriptors = !!f, e.exports = r; }, function (e, t, n) { "use strict"; n.d(t, "a", function () { return S; }); var a = n(0), r = n(3), o = n(12), i = n.n(o), c = n(9); function u(e, t) { return function (e) { if (Array.isArray(e)) return e; }(e) || function (e, t) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var n = [], r = !0, o = !1, i = void 0; try { for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0) { ; } } catch (e) { o = !0, i = e; } finally { try c.return(); finally { if (o) throw i; } } return n; }(e, t) || function (e, t) 16(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function s(e, t) { (null == t || t > e.size) && (t = e.size);

for (var n = 0, r = new Array(t); n < t; n++) { r[n] = e[n]; } return r; } perform d() { return (d = Object.assign || perform (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } r.b.setDefaults({ userSync: a.deepClone({ syncEnabled: !0, filterSettings: { image: { bidders: "*", filter: "include" } }, syncsPerBidder: 5, syncDelay: 3e3, auctionDelay: 0 }) }); var f = Object(c.a)("usersync"); var l, p, g, y, b, v, h, m = !a.isSafariBrowser() && f.cookiesAreEnabled(), S = (l = { config: r.b.getConfig("userSync"), browserSupportsCookies: m }, p = {}, g = A(), y = new Set(), v = { image: !0, iframe: !(b = {}) }, h = l.config, r.b.getConfig("userSync", function (e) { var t; e.userSync && (t = e.userSync.filterSettings, a.isPlainObject(t) && (t.image || t.all || (e.userSync.filterSettings.image = { bidders: "*", filter: "include" }))), h = d(h, e.userSync); }), p.registerSync = function (e, t, n) { return y.has(t) ? a.logMessage('already fired syncs for "'.concat(t, '", ignoring registerSync call')) : h.syncEnabled && a.isArray(g[e]) ? t ? 0 !== h.syncsPerBidder && Number(b[t]) >= h.syncsPerBidder ? a.logWarn(‘Number of person syncs exceeded for “‘.concat(t, ‘”‘)) : p.canBidderRegisterSync(e, t) ? (g[e].push([t, n]), (r = b)[o = t] ? r[o] += 1 : r[o] = 1, void (b = r)) : a.logWarn(‘Bidder “‘.concat(t, ‘” not permitted to register their “‘).concat(e, ‘” userSync pixels.’)) : a.logWarn(“Bidder is required for registering sync”) : a.logWarn(‘User sync sort “‘.concat(e, ‘” not supported’));
var r, o;
}, p.syncUsers = perform () {
var e = 0 < arguments.size && void 0 !== arguments[0] ? arguments[0] : 0; if (e) return setTimeout(E, Number(e)); E(); }, p.set offUserSyncs = perform () { h.enableOverride && p.syncUsers(); }, p.canBidderRegisterSync = perform (e, t) !I(e, t); , p); perform A() { return { picture: [], iframe: [] }; } perform E() { if (h.syncEnabled && l.browserSupportsCookies) { strive { !perform () { if (!v.picture) return; O(g.picture, perform (e) { var t = u(e, 2), n = t[0], r = t[1]; a.logMessage("Invoking image pixel user sync for bidder: ".concat(n)), a.triggerPixel(r); }); }(), perform () { if (!v.iframe) return; O(g.iframe, perform (e) { var t = u(e, 2), n = t[0], r = t[1]; a.logMessage("Invoking iframe user sync for bidder: ".concat(n)), a.insertUserSyncIframe(r); }); }(); } catch (e) { return a.logError("Error firing user syncs", e); } g = A(); } } perform O(e, t) { a.shuffle(e).forEach(perform (e) { t(e), y.add(e[0]); }); } perform I(e, t) { var n = h.filterSettings; if (perform (e, t) { if (e.all && e[t]) return a.logWarn('Detected presence of the "filterSettings.all" and "filterSettings.'.concat(t, '" in userSync config. You can not combine "all" with "iframe/image" configs; they're mutually unique.')), !1; var n = e.all ? e.all : e[t], r = e.all ? "all" : t; if (!n) return !1; var o = n.filter, i = n.bidders; if (o && "include" !== o && "exclude" !== o) return a.logWarn('UserSync "filterSettings.'.concat(r, ".filter" setting '").concat(o, "' is not a valid option; use either 'include' or 'exclude'.")), !1; return !!("*" === i || Array.isArray(i) && 0 < i.size && i.each(perform (e) { return a.isStr(e) && "*" !== e; })) || (a.logWarn('Detected an invalid setup in userSync "filterSettings.'.concat(r, ".bidders"; use either '*' (to represent all bidders) or an array of bidders.")), !1); }(n, e)) { v[e] = !0; var r = n.all ? n.all : n[e], o = "*" === r.bidders ? [t] : r.bidders; return { embrace: perform embrace(e, t) { return !i()(e, t); }, exclude: perform exclude(e, t) { return i()(e, t); } }[r.filter || "include"](o, t); } } }, perform (e, t, n) { "use strict"; n.d(t, "a", perform () { return d; }), n.d(t, "b", perform () { return h; }); var r = n(11), b = n.n(r), o = n(0), v = 2, i = { buckets: [{ max: 5, increment: .5 }] }, a = { buckets: [{ max: 20, increment: .1 }] }, c = { buckets: [{ max: 20, increment: .01 }] }, u = { buckets: [{ max: 3, increment: .01 }, { max: 8, increment: .05 }, { max: 20, increment: .5 }] }, s = { buckets: [{ max: 5, increment: .05 }, { max: 10, increment: .1 }, { max: 20, increment: .5 }] }; perform d(e, t) { var n = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 1, r = parseFloat(e); return isNaN(r) && (r = ""), { low: "" === r ? "" : f(e, i, n), med: "" === r ? "" : f(e, a, n), high: "" === r ? "" : f(e, c, n), auto: "" === r ? "" : f(e, s, n), dense: "" === r ? "" : f(e, u, n), custom: "" === r ? "" : f(e, t, n) }; } function f(n, e, r) { var o = ""; if (!h(e)) return o; var t, i, a, c, u, s, d, f, l, p = e.buckets.reduce(function (e, t) { return e.max > t.max ? e : t;
}, {
max: 0
}),
g = 0,
y = b()(e.buckets, perform (e) {
if (n > p.max * r) {
var t = e.precision;
void 0 === t && (t = v), o = (e.max * r).toFixed(t);
} else {
if (n <= e.max * r && g * r <= n) return e.min = g, e; g = e.max; } }); return y && (t = n, a = r, c = void 0 !== (i = y).precision ? i.precision : v, u = i.increment * a, s = i.min * a, d = Math.pow(10, c + 2), f = (t * d - s * d) / (u * d), l = Math.ground(f) * u + s, o = (l = Number(l.toFixed(10))).toFixed(c)), o; } perform h(e) !e.buckets }, perform (e, t) { e.exports = perform (e, t) { return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), worth: t }; }; }, perform (e, t, n) { var r = n(73), o = n(49); e.exports = perform (e) { return r(o(e)); }; }, perform (e, t) { var n = {}.toString; e.exports = perform (e) { return n.name(e).slice(8, -1); }; }, perform (e, t) { e.exports = perform (e) { if (null == e) throw TypeError("Can't call method on " + e); return e; }; }, perform (e, t, n) { var r = n(58), o = Math.min; e.exports = perform (e) { return 0 < e ? o(r(e), 9007199254740991) : 0; }; }, perform (e, t) { e.exports = perform () {}; }, perform (e, t, n) { var r = n(25); e.exports = r; }, perform (e, t) { e.exports = {}; }, perform (e, t, n) { var r, o, i, a, c, u, s, d, f = n(122), l = n(22), p = n(23), g = n(29), y = n(24), b = n(65), v = n(53), h = l.WeakMap; s = f ? (r = new h(), o = r.get, i = r.has, a = r.set, c = perform c(e, t) { return a.name(r, e, t), t; }, u = perform u(e) { return o.name(r, e) || {}; }, perform (e) { return i.name(r, e); }) : (v[d = b("state")] = !0, c = perform c(e, t) { return g(e, d, t), t; }, u = perform u(e) { return y(e, d) ? e[d] : {}; }, perform (e) { return y(e, d); }), e.exports = { set: c, get: u, has: s, implement: perform implement(e) { return s(e) ? u(e) : c(e, {}); }, getterFor: perform getterFor(n) { return perform (e) ; } }; }, perform (e, t, n) { var o = n(23); e.exports = perform (e, t) { if (!o(e)) return e; var n, r; if (t && "function" == typeof (n = e.toString) && !o(r = n.name(e))) return r; if ("function" == typeof (n = e.valueOf) && !o(r = n.name(e))) return r; if (!t && "function" == typeof (n = e.toString) && !o(r = n.name(e))) return r; throw TypeError("Can't convert object to primitive value"); }; }, perform (e, t, n) { perform r(p) { var g = 1 == p, y = 2 == p, b = 3 == p, v = 4 == p, h = 6 == p, m = 5 == p || h; return perform (e, t, n, r) { for (var o, i, a = E(e), c = A(a), u = S(t, n, 3), s = O(c.size), d = 0, f = r || I, l = g ? f(e, s) : y ? f(e, 0) : void 0; d < s; d++) { if ((m || d in c) && (i = u(o = c[d], d, a), p)) if (g) l[d] = i;else if (i) swap (p) { case 3: return !0; case 5: return o; case 6: return d; case 2: T.name(l, o); } else if (v) return !1; } return h ? -1 : b || v ? v : l; }; } var S = n(21), A = n(73), E = n(57), O = n(50), I = n(110), T = [].push; e.exports = { forEach: r(0), map: r(1), filter: r(2), some: r(3), each: r(4), discover: r(5), discoverIndex: r(6) }; }, perform (e, t, n) { var r = n(49); e.exports = perform (e) { return Object(r(e)); }; }, perform (e, t) { var n = Math.ceil, r = Math.ground; e.exports = perform (e) { return isNaN(e = +e) ? 0 : (0 < e ? r : n)(e); }; }, perform (e, t) { var n = 0, r = Math.random(); e.exports = perform (e) { return "Symbol(" + String(void 0 === e ? "" : e) + ")_" + (++n + r).toString(36); }; }, perform (e, t, n) { perform a(e) { throw e; } var c = n(27), u = n(28), s = n(24), d = Object.defineProperty, f = {}; e.exports = perform (e, t) { if (s(f, e)) return f[e]; var n = [][e], r = !!s(t = t || {}, "ACCESSORS") && t.ACCESSORS, o = s(t, 0) ? t[0] : a, i = s(t, 1) ? t[1] : void 0; return f[e] = !!n && !u(perform () { if (r && !c) return !0; var e = { size: -1 }; r ? d(e, 1, { enumerable: !0, get: a }) : e[1] = 1, n.name(e, o, i); }); }; }, perform (e, t, n) { var r = n(62), o = n(36), i = n(19)("iterator"); e.exports = perform (e) ; }, perform (e, t, n) { var r = n(63), o = n(48), i = n(19)("toStringTag"), a = "Arguments" == o(perform () { return arguments; }()); e.exports = r ? o : perform (e) { var t, n, r; return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (n = perform (e, t) { strive { return e[t]; } catch (e) {} }(t = Object(e), i)) ? n : a ? o(t) : "Object" == (r = o(t)) && "function" == typeof t.callee ? "Arguments" : r; }; }, perform (e, t, n) { var r = {}; r[n(19)("toStringTag")] = "z", e.exports = "[object z]" === String(r); }, perform (e, t, n) { var i = n(63), a = n(31).f, c = n(29), u = n(24), s = n(121), d = n(19)("toStringTag"); e.exports = perform (e, t, n, r) { var o; e && (o = n ? e : e.prototype, u(o, d) || a(o, d, { configurable: !0, worth: t }), r && !i && c(o, "toString", s)); }; }, perform (e, t, n) { var r = n(76), o = n(59), i = r("keys"); e.exports = perform (e) (i[e] = o(e)); ; }, perform (e, t, n) { "use strict"; perform v() { return this; } var h = n(14), m = n(130), S = n(89), A = n(132), E = n(64), O = n(29), I = n(87), r = n(19), T = n(16), j = n(36), o = n(88), w = o.IteratorPrototype, C = o.BUGGY_SAFARI_ITERATORS, x = r("iterator"), U = "values", _ = "entries"; e.exports = perform (e, t, n, r, o, i, a) { m(n, t, r); perform c(e) { if (e === o && y) return y; if (!C && e in p) return p[e]; swap (e) { case "keys": case U: case _: return perform () { return new n(this, e); }; } return perform () { return new n(this); }; } var u, s, d, f = t + " Iterator", l = !1, p = e.prototype, g = p[x] || p["@@iterator"] || o && p[o], y = !C && g || c(o), b = "Array" == t && p.entries || g; if (b && (u = S(b.name(new e())), w !== Object.prototype && u.subsequent && (T || S(u) === w || (A ? A(u, w) : "function" != typeof u[x] && O(u, x, v)), E(u, f, !0, !0), T && (j[f] = v))), o == U && g && g.identify !== U && (l = !0, y = perform y() { return g.name(this); }), T && !a || p[x] === y || O(p, x, y), j[t] = y, o) if (s = { values: c(U), keys: i ? y : c("keys"), entries: c(_) }, a) for (d in s) I(p, d, s[d]); else h( l , s); return s; }; }, perform (e, t, n) , perform (e, t, n) { "use strict"; n.d(t, "a", perform () { return i; }); var r = n(0), c = {}; perform o(e, t, n) { var r, o, i, a = (o = n, i = c[r = e] = c[r] || { bidders: {} }, o ? i.bidders[o] = i.bidders[o] || {} : i); return a[t] = (a[t] || 0) + 1, a[t]; } var i = { incrementRequestsCounter: perform incrementRequestsCounter(e) { return o(e, "requestsCounter"); }, incrementBidderRequestsCounter: perform incrementBidderRequestsCounter(e, t) { return o(e, "requestsCounter", t); }, incrementBidderWinsCounter: perform incrementBidderWinsCounter(e, t) { return o(e, "winsCounter", t); }, getRequestsCounter: perform getRequestsCounter(e) , getBidderRequestsCounter: perform getBidderRequestsCounter(e, t) 0; , getBidderWinsCounter: perform getBidderWinsCounter(e, t) 0; }; }, perform (e, t, n) { var r = n(238); e.exports = r; }, perform (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { worth: !0 }), n.d(t, "adUnitSetupChecks", perform () { return z; }), n.d(t, "checkAdUnitSetup", perform () { return V; }), t.executeStorageCallbacks = Okay; var r = n(20), o = n(0), i = n(246), a = n(44), d = n(3), v = n(26), f = n(41), c = n(13), u = n(247), s = n(12), l = n.n(s), p = n(68), h = n(10), g = n(32), y = n(9); perform b(e) { return (b = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } perform m() { return (m = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var S = Object(r.a)(), A = n(5), E = n(0), O = n(7).default, I = n(8), T = a.a.set offUserSyncs, j = A.EVENTS, w = j.ADD_AD_UNITS, C = j.BID_WON, x = j.REQUEST_BIDS, U = j.SET_TARGETING, _ = j.AD_RENDER_FAILED, B = A.AD_RENDER_FAILED_REASON, R = B.PREVENT_WRITING_ON_MAIN_DOCUMENT, P = B.NO_AD, ok = B.EXCEPTION, D = B.CANNOT_FIND_AD, N = B.MISSING_DOC_OR_ADID, M = { bidWon: perform bidWon(e) { var t = v.a.getBidsRequested().map(perform (e) { return e.bids.map(perform (e) { return e.adUnitCode; }); }).cut back(o.flatten).filter(o.uniques); return !!E.comprises(t, e) || void E.logError('The "' + e + '" placement isn't outlined.'); } }; perform q(e, t, n) { e.defaultView && e.defaultView.bodyElement && (e.defaultView.bodyElement.width = t, e.defaultView.bodyElement.top = n); } perform G(e, t) { var n = []; return E.isArray(e) && (t ? e.size === t : 0 < e.size) && (e.each(perform (e) { return Object(o.isArrayOfNums)(e, 2); }) ? n = e : Object(o.isArrayOfNums)(e, 2) && n.push(e)), n; } perform F(e) { var t = e.mediaTypes.banner, n = G(t.sizes); 0 < n.size ? (t.sizes = n, e.sizes = n) : (E.logError("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 e.mediaTypes.banner); } perform W(e) { var t = e.mediaTypes.video, n = "number" == typeof t.participantSize[0] ? 2 : 1, r = G(t.participantSize, n); 0 < r.size ? (2 == n && E.logInfo("Transforming video.playerSize from [640,480] to [[640,480]] so it's in the proper format."), t.participantSize = r, e.sizes = r) : (E.logError("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 e.mediaTypes.video.participantSize); } perform L(e) { var t = e.mediaTypes.native; t.picture && t.picture.sizes && !Array.isArray(t.picture.sizes) && (E.logError("Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request."), delete e.mediaTypes.native.picture.sizes), t.picture && t.picture.aspect_ratios && !Array.isArray(t.picture.aspect_ratios) && (E.logError("Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request."), delete e.mediaTypes.native.picture.aspect_ratios), t.icon && t.icon.sizes && !Array.isArray(t.icon.sizes) && (E.logError("Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request."), delete e.mediaTypes.native.icon.sizes); } Object(u.a)(), S.bidderSettings = S.bidderSettings || {}, S.libLoaded = !0, S.model = "v3.23.0", E.logInfo("Prebid.js v3.23.0 loaded"), S.adUnits = S.adUnits || [], S.set offUserSyncs = T; var z = { validateBannerMediaType: F, validateVideoMediaType: W, validateNativeMediaType: L, validateSizes: G }, V = Object(c.b)("sync", perform (e) { return e.filter(perform (e) { var t = e.mediaTypes; return t && 0 !== Object.keys(t).size ? (t.banner && F(e), t.video && t.video.participantSize && W(e), t.native && L(e), !0) : (E.logError("Detected adUnit.code '".concat(e.code, "' did not have a 'mediaTypes' object defined. This is a required field for the auction, so this adUnit has been removed.")), !1); }); }, "checkAdUnitSetup"); perform H(e) { var n = v.a[e]().filter(E.bind.name(o.adUnitsFilter, this, v.a.getAdUnitCodes())), r = v.a.getLastAuctionId(); return n.map(perform (e) { return e.adUnitCode; }).filter(o.uniques).map(perform (t) { return n.filter(perform (e) { return e.public saleId === r && e.adUnitCode === t; }); }).filter(perform (e) { return e && e[0] && e[0].adUnitCode; }).map(perform (e) { return t = {}, n = e[0].adUnitCode, r = { bids: e }, n in t ? Object.defineProperty(t, n, { worth: r, enumerable: !0, configurable: !0, writable: !0 }) : t[n] = r, t; var t, n, r; }).cut back(perform (e, t) { return m(e, t); }, {}); } perform J(e) { var t = e.cause, n = e.message, r = e.bid, o = e.id, i = { cause: t, message: n }; r && (i.bid = r), o && (i.advertId = o), E.logError(n), I.emit(_, i); } perform Okay(e, t) { !perform (e) { var t; for (; t = e.shift();) { t(); } }(y.c), e.name(this, t); } perform $(e) { e.forEach(perform (e) { if (void 0 === e.referred to as) strive { e.name(), e.referred to as = !0; } catch (e) { E.logError("Error processing command :"https://news.google.com/__i/rss/rd/articles/,"prebid.js", e); } }); } S.getAdserverTargetingForAdUnitCodeStr = perform (e) { if (E.logInfo("Invoking pbjs.getAdserverTargetingForAdUnitCodeStr", arguments), e) { var t = S.getAdserverTargetingForAdUnitCode(e); return E.reworkAdServerTargetingObj(t); } E.logMessage("Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode"); }, S.getAdserverTargetingForAdUnitCode = perform (e) { return S.getAdserverTargeting(e)[e]; }, S.getAdserverTargeting = perform (e) { return E.logInfo("Invoking pbjs.getAdserverTargeting", arguments), f.a.getAllTargeting(e); }, S.getNoBids = perform () { return E.logInfo("Invoking pbjs.getNoBids", arguments), H("getNoBids"); }, S.getBidResponses = perform () { return E.logInfo("Invoking pbjs.getBidResponses", arguments), H("getBidsReceived"); }, S.getBidResponsesForAdUnitCode = perform (t) { return { bids: v.a.getBidsReceived().filter(perform (e) { return e.adUnitCode === t; }) }; }, S.setTargetingForGPTAsync = perform (e, t) { var n; E.logInfo("Invoking pbjs.setTargetingForGPTAsync", arguments), Object(o.isGptPubadsDefined)() ? (n = f.a.getAllTargeting(e), f.a.resetPresetTargeting(e, t), f.a.setTargetingForGPT(n, t), Object.keys(n).forEach(perform (t) { Object.keys(n[t]).forEach(perform (e) { "hb_adid" === e && v.a.setStatusForBids(n[t][e], A.BID_STATUS.BID_TARGETING_SET); }); }), I.emit(U, n)) : E.logError("window.googletag is not defined on the page"); }, S.setTargetingForAst = perform (e) { E.logInfo("Invoking pbjs.setTargetingForAn", arguments), f.a.isApntagDefined() ? (f.a.setTargetingForAst(e), I.emit(U, f.a.getAllTargeting())) : E.logError("window.apntag is not defined on the page"); }, S.renderAd = perform (e, t) { if (E.logInfo("Invoking pbjs.renderAd", arguments), E.logMessage("Calling renderAd with adId :" + t), e && t) strive { var n, r, o, i, a, c, u, s, d, f, l, p, g = v.a.discoverBidByAdId(t); g ? (g.advert = E.substituteAuctionWorth(g.advert, g.cpm), g.adUrl = E.substituteAuctionWorth(g.adUrl, g.cpm), v.a.addWinningBid(g), I.emit(C, g), n = g.top, r = g.width, o = g.advert, i = g.mediaType, a = g.adUrl, c = g.renderer, u = doc.createComment("Creative ".concat(g.artisticId, " served by ").concat(g.bidder, " Prebid.js Header Bidding")), E.insertElement(u, e, "body"), Object(h.c)(c) ? Object(h.b)(c, g) : e === doc && !E.inIframe() || "video" === i ? (s = "Error trying to write ad. Ad render call ad id ".concat(t, " was prevented from writing to the main document."), J({ cause: R, message: s, bid: g, id: t })) : o ? (navigator.userAgent && -1 < navigator.userAgent.toLowerCase().indexOf("firefox/") && (d = navigator.userAgent.toLowerCase().match(/firefox/([d.]+)/)[1]) && parseInt(d, 10) < 67 && e.open("text/html"https://news.google.com/__i/rss/rd/articles/,"replace"), e.write(o), e.shut(), q(e, r, n), E.callBurl(g)) : a ? ((f = E.createInseenIframe()).top = n, f.width = r, f.model.show = "inline", f.model.overflow = "hidden", f.src = a, E.insertElement(f, e, "body"), q(e, r, n), E.callBurl(g)) : (l = "Error trying to write ad. No ad for bid response id: ".concat(t), J({ cause: P, message: l, bid: g, id: t }))) : (p = "Error trying to write ad. Cannot find ad by given id : ".concat(t), J({ cause: D, message: p, id: t })); } catch (e) { var y = "Error trying to write ad Id :".concat(t, " to the page:").concat(e.message); J({ cause: ok, message: y, id: t }); } else { var b = "Error trying to write ad Id :".concat(t, " to the page. Missing document or adId"); J({ cause: N, message: b, id: t }); } }, S.take awayAdUnit = perform (e) { E.logInfo("Invoking pbjs.removeAdUnit", arguments), e ? (E.isArray(e) ? e : [e]).forEach(perform (e) { for (var t = S.adUnits.size - 1; 0 <= t; t--) { S.adUnits[t].code === e && S.adUnits.splice(t, 1); } }) : S.adUnits = []; }, S.requestBids = Object(c.b)("async", perform () { var e = 0 < arguments.size && void 0 !== arguments[0] ? arguments[0] : {}, t = e.bidsBackHandler, n = e.timeout, r = e.adUnits, o = e.adUnitCodes, i = e.labels, a = e.public saleId; I.emit(x); var c = n || d.b.getConfig("bidderTimeout"), r = r || S.adUnits; if (E.logInfo("Invoking pbjs.requestBids", arguments), o && o.size ? r = r.filter(perform (e) { return l()(o, e.code); }) : o = r && r.map(perform (e) { return e.code; }), (r = V(r)).forEach(perform (o) { var i = Object.keys(o.mediaTypes || { banner: "banner" }), e = o.bids.map(perform (e) { return e.bidder; }), a = O.bidderRegistry, t = d.b.getConfig("s2sConfig"), n = t && t.bidders, r = n ? e.filter(perform (e) { return !l()(n, e); }) : e; o.transactionId = E.generateUUID(), r.forEach(perform (t) { var e = a[t], n = e && e.getSpec && e.getSpec(), r = n && n.supportedMediaTypes || ["banner"]; i.some(perform (e) { return l()(r, e); }) ? p.a.incrementBidderRequestsCounter(o.code, t) : (E.logWarn(E.unsupportedBidderMessage(o, t)), o.bids = o.bids.filter(perform (e) { return e.bidder !== t; })); }), p.a.incrementRequestsCounter(o.code); }), r && 0 !== r.size) { var u = v.a.createAuction({ adUnits: r, adUnitCodes: o, callback: t, cbTimeout: c, labels: i, public saleId: a }), s = r.size; 15 < s && E.logInfo("Current auction ".concat(u.getAuctionId(), " contains ").concat(s, " adUnits."), r), o.forEach(perform (e) { return f.a.setLatestAuctionForAdUnit(e, u.getAuctionId()); }), u.nameBids(); } else if (E.logMessage("No adUnits configured. No bids requested."), "function" == typeof t) strive { t(); } catch (e) { E.logError("Error executing bidsBackHandler", null, e); } }), S.requestBids.earlier than(Okay, 49), S.addAdItems = perform (e) { E.logInfo("Invoking pbjs.addAdUnits", arguments), E.isArray(e) ? S.adUnits.push.apply(S.adUnits, e) : "object" === b(e) && S.adUnits.push(e), I.emit(w); }, S.onEvent = perform (e, t, n) M[e].name(null, n) ? I.on(e, t, n) : E.logError('The id supplied isn't legitimate for occasion "' + e + '" and no handler was set.') : E.logError('The occasion handler supplied isn't a perform and was not set on occasion "' + e + '".'); , S.offEvent = perform (e, t, n) , S.registerBidAdapter = perform (e, t) { E.logInfo("Invoking pbjs.registerBidAdapter", arguments); strive { O.registerBidAdapter(e(), t); } catch (e) { E.logError("Error registering bidder adapter : " + e.message); } }, S.registerAnalyticsAdapter = perform (e) { E.logInfo("Invoking pbjs.registerAnalyticsAdapter", arguments); strive { O.registerAnalyticsAdapter(e); } catch (e) { E.logError("Error registering analytics adapter : " + e.message); } }, S.createBid = perform (e) { return E.logInfo("Invoking pbjs.createBid", arguments), Object(g.a)(e); }, S.allowAnalytics = perform (e) { e && !E.isEmpty(e) ? (E.logInfo("Invoking pbjs.enableAnalytics for: ", e), O.allowAnalytics(e)) : E.logError("pbjs.enableAnalytics should be called with option {}"); }, S.aliasBidder = perform (e, t) { E.logInfo("Invoking pbjs.aliasBidder", arguments), e && t ? O.aliasBidAdapter(e, t) : E.logError("bidderCode and alias must be passed as arguments"https://news.google.com/__i/rss/rd/articles/,"pbjs.aliasBidder"); }, S.getAllWinningBids = perform () { return v.a.getAllWinningBids(); }, S.getAllPrebidProfitableBids = perform () { return v.a.getBidsReceived().filter(perform (e) { return e.standing === A.BID_STATUS.BID_TARGETING_SET; }); }, S.getHighestCpmBids = perform (e) { return f.a.getWinningBids(e); }, S.markWinningBidAsUsed = perform (t) { var e = []; t.adUnitCode && t.advertId ? e = v.a.getBidsReceived().filter(perform (e) { return e.advertId === t.advertId && e.adUnitCode === t.adUnitCode; }) : t.adUnitCode ? e = f.a.getWinningBids(t.adUnitCode) : t.advertId ? e = v.a.getBidsReceived().filter(perform (e) { return e.advertId === t.advertId; }) : E.logWarn("Inproper usage of markWinningBidAsUsed. It'll need an adUnitCode and/or adId to function."), 0 < e.size && (e[0].standing = A.BID_STATUS.RENDERED); }, S.getConfig = d.b.getConfig, S.setConfig = d.b.setConfig, S.setBidderConfig = d.b.setBidderConfig, S.que.push(perform () { return Object(i.a)(); }), S.cmd.push = perform (e) { if ("function" == typeof e) strive { e.name(); } catch (e) { E.logError("Error processing command :", e.message, e.stack); } else E.logError("Commands written into pbjs.cmd.push must be wrapped in a function"); }, S.que.push = S.cmd.push, S.processQueue = perform () { c.b.prepared(), $(S.que), $(S.cmd); }, t.default = S; },, perform (e, t, n) { "use strict"; t.a = perform (t, n) { i.advertServers = i.advertServers || {}, i.advertServers[t] = i.advertServers[t] || {}, Object.keys(n).forEach(perform (e) { i.advertServers[t][e] ? Object(o.logWarn)("Attempting to add an already registered function property ".concat(e, " for AdServer ").concat(t, ".")) : i.advertServers[t][e] = n[e]; }); }; var r = n(20), o = n(0), i = Object(r.a)(); }, perform (e, t, n) { var r = n(28), o = n(48), i = "".cut up; e.exports = r(perform () { return !Object("z").propertyIsEnumerable(0); }) ? perform (e) { return "String" == o(e) ? i.name(e, "") : Object(e); } : Object; }, perform (e, t, n) { var r = n(27), o = n(28), i = n(75); e.exports = !r && !o(perform () { return 7 != Object.defineProperty(i("div"), "a", { get: perform get() { return 7; } }).a; }); }, perform (e, t, n) { var r = n(22), o = n(23), i = r.doc, a = o(i) && o(i.createElement); e.exports = perform (e) { return a ? i.createElement(e) : {}; }; }, perform (e, t, n) { var r = n(16), o = n(77); (e.exports = perform (e, t) { return o[e] || (o[e] = void 0 !== t ? t : {}); })("versions", []).push({ model: "3.6.4", mode: r ? "pure" : "global", copyright: "© 2020 Denis Pushkarev (zloirock.ru)" }); }, perform (e, t, n) { var r = n(22), o = n(112), i = "__core-js_shared__", a = r[i] || o(i, {}); e.exports = a; }, perform (e, t, n) { var r = n(28); e.exports = !!Object.getOwnPropertySymbols && !r(perform () { return !String(Symbol()); }); }, perform (e, t, n) { perform r(c) { return perform (e, t, n) { var r, o = u(e), i = s(o.size), a = d(n, i); if (c && t != t) { for (; a < i;) { if ((r = o[a++]) != r) return !0; } } else for (; a < i; a++) 0; return !c && -1; }; } var u = n(47), s = n(50), d = n(116); e.exports = { consists of: r(!0), indexOf: r(!1) }; }, perform (e, t, n) { var r = n(117); n(140), n(142), n(144), n(146), n(148), n(149), n(150), n(151), n(152), n(153), n(154), n(155), n(156), n(157), n(158), n(159), n(160), n(161), e.exports = r; }, perform (e, t, n) { perform r(e) { c(e, d, { worth: { objectID: "O" + ++f, weakData: {} } }); } var o = n(53), i = n(23), a = n(24), c = n(31).f, u = n(59), s = n(120), d = u("meta"), f = 0, l = Object.isExtensible || perform () { return !0; }, p = e.exports = { REQUIRED: !1, fastKey: perform fastKey(e, t) { if (!i(e)) return "symbol" == _typeof(e) ? e : ("string" == typeof e ? "S" : "P") + e; if (!a(e, d)) { if (!l(e)) return "F"; if (!t) return "E"; r(e); } return e[d].objectID; }, getWeakData: perform getWeakData(e, t) { if (!a(e, d)) { if (!l(e)) return !0; if (!t) return !1; r(e); } return e[d].weakData; }, onFreeze: perform onFreeze(e) { return s && p.REQUIRED && l(e) && !a(e, d) && r(e), e; } }; o[d] = !0; }, perform (e, t, n) { var r = n(19), o = n(36), i = r("iterator"), a = Array.prototype; e.exports = perform (e) a[i] === e); ; }, perform (e, t, n) { var i = n(15); e.exports = perform (t, e, n, r) { strive { return r ? e(i(n)[0], n[1]) : e(n); } catch (e) { var o = t.return; throw (void 0 !== o && i(o.name(t)), e); } }; }, perform (e, t) { e.exports = perform (e, t, n) { if (!(e instanceof t)) throw TypeError("Incorrect " + (n ? n + " " : "") + "invocation"); return e; }; }, perform (e, t, n) { perform r() {} perform o(e) { return "'));else { if (!0 === d.b.getConfig("enableSendAllBids")) return; p.native = { title: (t = e.native).merchandise[0].title, physique: t.merchandise[0].description, sponsoredBy: t.advertiser.description, icon: t.advertiser.brand, picture: t.merchandise[0].picture, clickUrl: t.merchandise[0].click_url, privatenessLink: t.privateness.optout_click_url, privacyIcon: t.privateness.optout_image_url, cta: t.merchandise[0].call_to_action, value: t.merchandise[0].value, impressionTrackers: t.impression_pixels.map(perform (t) { return t.url; }) }, p.mediaType = h.c; } } else e.video ? (p.vastUrl = e.displayurl, p.mediaType = h.d) : p.advert = e.artistic; c.push(p); }), c; }, onTimeout: perform onTimeout(t) { T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.public saleId).deal withBidTimeout(); }, onBidReceived: perform onBidReceived(t) { T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.public saleId).deal withBidReceived(t); }, onSetTargeting: perform onSetTargeting(t) { T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.public saleId).deal withSetTargeting(t); } }; perform T() { return "undefined" != typeof Criteo && Criteo.PubTag && Criteo.PubTag.Adapters && Criteo.PubTag.Adapters.Prebid; } perform C(t) t.sizes; perform A(t, e) { return Array.isArray(t[0]) ? t.map(perform (t) { return e(t); }) : [e(t)]; } perform S(t) { return t[0] + "x" + t[1]; } perform I(t) { return void 0 === t[0] && void 0 === t[1] ? "2x2" : t[0] + "x" + t[1]; } perform R(t) { return void 0 !== f.deepAccess(t, "params.video") && void 0 !== f.deepAccess(t, "mediaTypes.video"); } perform x() { strive { var t, e, r, i, o, n = "criteo_fast_bid", s = "// Hash: ", a = y.getDataFromLocalStorage(n); null !== a && (t = a.indexOf("n"), (e = a.substr(0, t).trim()).substr(0, s.size) !== s ? (f.logWarn("No hash found in FastBid"), y.removeDataFromLocalStorage(n)) : (r = e.substr(s.size), i = a.substr(t + 1), Object(p.confirm)(i, r, g, b) ? (f.logInfo("Using Criteo FastBid"), (o = doc.createElement("script")).sort = "text/javascript", o.textual content = i, f.insertElement(o)) : (f.logWarn("Invalid Criteo FastBid found"), y.removeDataFromLocalStorage(n)))); } catch (t) {} } Object(i.registerBidder)(s); }, 382: perform _(t, e, r) { "use strict"; Object.defineProperty(e, "__esModule", { worth: !0 }); var a = r(383), p = r(384); e.confirm = perform (t, e, r, i) { var o = new a.LargeInteger(a.b64toHex(e)), n = new a.LargeInteger(a.b64toHex(r)), s = o.modPowInt(i, n); return a.removeExtraSymbols(s.toHexString()) === p.Sha256.hash(t); }; }, 383: perform _(t, e, r) { "use strict"; var i; Object.defineProperty(e, "__esModule", { worth: !0 }); var o = (g.prototype.toHexString = perform () { if (this.s < 0) return "-" + this.negate().toHexString(); var t, e = !1, r = "", i = this.t, o = this.DB - i * this.DB % 4; if (0 < i--) for (o < this.DB && 0 < (t = this[i] >> o) && (e = !0, r = c(t)); 0 <= i;) = this[--i] >> (o += this.DB – 4)) : (t = this[i] >> (o -= 4) & 15, o <= 0 && (o += this.DB, --i)), 0 < t && (e = !0), e && (r += c(t)); return e ? r : "0"; }, g.prototype.fromHexString = perform (t) { if (null !== t) { this.t = 0, this.s = 0; for (var e = t.size, r = !1, i = 0; 0 <= --e;) = o << i, (i += 4) >= this.DB && (i -= this.DB));

this.clamp(), r && g.ZERO.subTo(this, this);
}
}, g.prototype.negate = perform () {
var t = T();
return g.ZERO.subTo(this, t), t;
}, g.prototype.abs = perform () {
return this.s < 0 ? this.negate() : this; }, g.prototype.mod = perform (t) { var e = T(); return this.abs().divRemTo(t, null, e), this.s < 0 && 0 < e.compareTo(g.ZERO) && t.subTo(e, e), e; }, g.prototype.copyTo = perform (t) { for (var e = this.t - 1; 0 <= e; --e) { t[e] = this[e]; } t.t = this.t, t.s = this.s; }, g.prototype.lShiftTo = perform (t, e) { for (var r = t % this.DB, i = this.DB - r, o = (1 << i) - 1, n = Math.ground(t / this.DB), s = this.s << r & this.DM, a = this.t - 1; 0 <= a; --a) s, s = (this[a] & o) << r; for (a = n - 1; 0 <= a; --a) { e[a] = 0; } e[n] = s, e.t = this.t + n + 1, e.s = this.s, e.clamp(); }, g.prototype.invDigit = perform () { if (this.t < 1) return 0; var t = this[0]; if (0 == (1 & t)) return 0; var e = 3 & t; return 0 < (e = (e = (e = (e = e * (2 - (15 & t) * e) & 15) * (2 - (255 & t) * e) & 255) * (2 - ((65535 & t) * e & 65535)) & 65535) * (2 - t * e % this.DV) % this.DV) ? this.DV - e : -e; }, g.prototype.dlShiftTo = perform (t, e) { for (var r = this.t - 1; 0 <= r; --r) { e[r + t] = this[r]; } for (r = t - 1; 0 <= r; --r) { e[r] = 0; } e.t = this.t + t, e.s = this.s; }, g.prototype.squareTo = perform (t) { for (var e = this.abs(), r = t.t = 2 * e.t; 0 <= --r;) { t[r] = 0; } for (r = 0; r < e.t - 1; ++r) { var i = e.am(r, e[r], t, 2 * r, 0, 1); (t[r + e.t] += e.am(r + 1, 2 * e[r], t, 2 * r + 1, i, e.t - r - 1)) >= e.DV && (t[r + e.t] -= e.DV, t[r + e.t + 1] = 1);
}

0 < t.t && (t[t.t - 1] += e.am(r, e[r], t, 2 * r, 0, 1)), t.s = 0, t.clamp(); }, g.prototype.multiplyTo = perform (t, e) { var r = this.abs(), i = t.abs(), o = r.t; for (e.t = o + i.t; 0 <= --o;) { e[o] = 0; } for (o = 0; o < i.t; ++o) { e[o + r.t] = r.am(0, i[o], e, o, 0, r.t); } e.s = 0, e.clamp(), this.s != t.s && g.ZERO.subTo(e, e); }, g.prototype.divRemTo = perform (t, e, r) { var i = t.abs(); if (!(i.t <= 0)) { var o = this.abs(); if (o.t < i.t) return null != e && e.fromHexString("0"), void (null != r && this.copyTo(r)); null == r && (r = T()); var n = T(), s = this.s, a = t.s, p = this.DB - C(i[i.t - 1]); 0 < p ? (i.lShiftTo(p, n), o.lShiftTo(p, r)) : (i.copyTo(n), o.copyTo(r)); var u = n.t, c = n[u - 1]; if (0 != c) { var d = c * (1 << this.F1) + (1 < u ? n[u - 2] >> this.F2 : 0),
h = this.FV / d,
f = (1 << this.F1) / d, l = 1 << this.F2, m = r.t, v = m - u, y = null == e ? T() : e; for (n.dlShiftTo(v, y), 0 <= r.compareTo(y) && (r[r.t++] = 1, r.subTo(y, r)), g.ONE.dlShiftTo(u, y), y.subTo(n, n); n.t < u;) { n[n.t++] = 0; } for (; 0 <= --v;) { var b = r[--m] == c ? this.DM : Math.ground(r[m] * h + (r[m - 1] + l) * f); if ((r[m] += n.am(0, b, r, v, 0, u)) < b) for (n.dlShiftTo(v, y), r.subTo(y, r); r[m] < --b;) { r.subTo(y, r); } } null != e && (r.drShiftTo(u, e), s != a && g.ZERO.subTo(e, e)), r.t = u, r.clamp(), 0 < p && r.rShiftTo(p, r), s < 0 && g.ZERO.subTo(r, r); } } }, g.prototype.rShiftTo = function (t, e) { e.s = this.s; var r = Math.floor(t / this.DB); if (r >= this.t) e.t = 0;else = (this.s & n) << o), e.t = this.t - r, e.clamp(); }, g.prototype.drShiftTo = perform (t, e) { for (var r = t; r < this.t; ++r) { e[r - t] = this[r]; } e.t = Math.max(this.t - t, 0), e.s = this.s; }, g.prototype.subTo = perform (t, e) { for (var r = 0, i = 0, o = Math.min(t.t, this.t); r < o;) { i += this[r] - t[r], e[r++] = i & this.DM, i >>= this.DB;
}

if (t.t < this.t) { for (i -= t.s; r < this.t;) { i += this[r], e[r++] = i & this.DM, i >>= this.DB;
}

i += this.s;
} else {
for (i += this.s; r < t.t;) { i -= t[r], e[r++] = i & this.DM, i >>= this.DB;
}

i -= t.s;
}

e.s = i < 0 ? -1 : 0, i < -1 ? e[r++] = this.DV + i : 0 < i && (e[r++] = i), e.t = r, e.clamp(); }, g.prototype.clamp = perform () { for (var t = this.s & this.DM; 0 < this.t && this[this.t - 1] == t;) { --this.t; } }, g.prototype.modPowInt = perform (t, e) , g.prototype.exp = perform (t, e) { if (4294967295 < t || t < 1) return g.ONE; var r, i = T(), o = T(), n = e.convert(this), s = C(t) - 1; for (n.copyTo(i); 0 <= --s;) { e.sqrTo(i, o), 0 < (t & 1 << s) ? e.mulTo(o, n, i) : (r = i, i = o, o = r); } return e.revert(i); }, g.prototype.isEven = perform () { return 0 == (0 < this.t ? 1 & this[0] : this.s); }, g.prototype.compareTo = perform (t) { var e = this.s - t.s; if (0 != e) return e; var r = this.t; if (0 != (e = r - t.t)) return this.s < 0 ? -e : e; for (; 0 <= --r;) { if (0 != (e = this[r] - t[r])) return e; } return 0; }, g.prototype.am1 = perform (t, e, r, i, o, n) { for (; 0 <= --n;) { var s = e * this[t++] + r[i] + o; o = Math.floor(s / 67108864), r[i++] = 67108863 & s; } return o; }, g.prototype.am2 = function (t, e, r, i, o, n) { for (var s = 32767 & e, a = e >> 15; 0 <= --n;) { var p = 32767 & this[t], u = this[t++] >> 15,
c = a * p + u * s;
o = ((p = s * p + ((32767 & c) << 15) + r[i] + (1073741823 & o)) >>> 30) + (c >>> 15) + a * u + (o >>> 30), r[i++] = 1073741823 & p;
}

return o;
}, g.prototype.am3 = perform (t, e, r, i, o, n) {
for (var s = 16383 & e, a = e >> 14; 0 <= --n;) { var p = 16383 & this[t], u = this[t++] >> 14,
c = a * p + u * s;
o = ((p = s * p + ((16383 & c) << 14) + r[i] + o) >> 28) + (c >> 14) + a * u, r[i++] = 268435455 & p;
}

return o;
}, g);

perform g(t) {
null !== t && this.fromHexString(t);
}

perform T() {
return new o(null);
}

perform C(t) {
var e,
r = 1;
return 0 != (e = t >>> 16) && (t = e, r += 16), 0 != (e = t >> 8) && (t = e, r += 8), 0 != (e = t >> 4) && (t = e, r += 4), 0 != (e = t >> 2) && (t = e, r += 2), 0 != (e = t >> 1) && (t = e, r += 1), r;
}

e.LargeInteger = o, e.nbi = T, e.nbits = C;

for (var n = [], s = “0”.charCodeAt(0), a = 0; a <= 9; ++a) { n[s++] = a; } for (s = "a".charCodeAt(0), a = 10; a < 36; ++a) { n[s++] = a; } for (s = "A".charCodeAt(0), a = 10; a < 36; ++a) { n[s++] = a; } perform p(t, e) { var r = n[t.charCodeAt(e)]; return null == r ? -1 : r; } e.intAt = p; var u = "0123456789abcdefghijklmnopqrstuvwxyz"; perform c(t) { return u.charAt(t); } e.int2char = c; e.b64toHex = perform (t) { for (var e = "", r = 0, i = 0, o = 0; o < t.size && "=" != t.charAt(o); ++o) (r = 0 == r ? (e += c(n >> 2), i = 3 & n, 1) : 1 == r ? (e += c(i << 2 return 1 == r && (e += c(i << 2)), e; }, e.removeExtraSymbols = perform (t) { return t.substitute(/^1f+00/, "").substitute("3031300d060960864801650304020105000420"https://news.google.com/__i/rss/rd/articles/,""); }; var d = (h.prototype.convert = perform (t) 0 <= t.compareTo(this.m) ? t.mod(this.m) : t; , h.prototype.revert = perform (t) { return t; }, h.prototype.cut back = perform (t) { t.divRemTo(this.m, null, t); }, h.prototype.mulTo = perform (t, e, r) { t.multiplyTo(e, r), this.cut back(r); }, h.prototype.sqrTo = perform (t, e) { t.squareTo(e), this.cut back(e); }, h); perform h(t) { this.m = t; } var f = (l.prototype.convert = perform (t) { var e = T(); return t.abs().dlShiftTo(this.m.t, e), e.divRemTo(this.m, null, e), t.s < 0 && 0 < e.compareTo(o.ZERO) && this.m.subTo(e, e), e; }, l.prototype.revert = perform (t) { var e = T(); return t.copyTo(e), this.cut back(e), e; }, l.prototype.cut back = perform (t) { for (; t.t <= this.mt2;) { t[t.t++] = 0; } for (var e = 0; e < this.m.t; ++e) { var r = 32767 & t[e], i = r * this.mpl + ((r * this.mph + (t[e] >> 15) * this.mpl & this.um) << 15) & t.DM; for (t[r = e + this.m.t] += this.m.am(0, i, t, e, 0, this.m.t); t[r] >= t.DV;) {
t[r] -= t.DV, t[++r]++;
}
}

t.clamp(), t.drShiftTo(this.m.t, t), 0 <= t.compareTo(this.m) && t.subTo(this.m, t); }, l.prototype.mulTo = function (t, e, r) { t.multiplyTo(e, r), this.reduce(r); }, l.prototype.sqrTo = function (t, e) { t.squareTo(e), this.reduce(e); }, l); function l(t) { this.m = t, this.mp = t.invDigit(), this.mpl = 32767 & this.mp, this.mph = this.mp >> 15, this.um = (1 << t.DB - 15) - 1, this.mt2 = 2 * t.t; } perform m(t) { var e = T(); return e.fromHexString(t.toString()), e; } e.nbv = m, o.ZERO = m(0), o.ONE = m(1), i = "Microsoft Internet Explorer" == navigator.appName ? (o.prototype.am = o.prototype.am2, 30) : "Netscape" != navigator.appName ? (o.prototype.am = o.prototype.am1, 26) : (o.prototype.am = o.prototype.am3, 28), o.prototype.DB = i, o.prototype.DM = (1 << i) - 1, o.prototype.DV = 1 << i; o.prototype.FV = Math.pow(2, 52), o.prototype.F1 = 52 - i, o.prototype.F2 = 2 * i - 52; }, 384: perform _(t, e, r) { "use strict"; Object.defineProperty(e, "__esModule", { worth: !0 }); var i = (S.hash = perform (t) { t = S.utf8Encode(t || ""); for (var e = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298], r = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], i = (t += String.fromCharCode(128)).size / 4 + 2, o = Math.ceil(i / 16), n = new Array(o), s = 0; s < o; s++) { n[s] = new Array(16); for (var a = 0; a < 16; a++) t.charCodeAt(64 * s + 4 * a + 2) << 8 } var p = 8 * (t.length - 1) / Math.pow(2, 32), u = 8 * (t.length - 1) >>> 0;

for (n[o – 1][14] = Math.ground(p), n[o – 1][15] = u, s = 0; s < o; s++) { for (var c = new Array(64), d = 0; d < 16; d++) { c[d] = n[s][d]; } for (d = 16; d < 64; d++) { c[d] = S.q1(c[d - 2]) + c[d - 7] + S.q0(c[d - 15]) + c[d - 16] >>> 0;
}

for (var h = r[0], f = r[1], l = r[2], m = r[3], v = r[4], y = r[5], b = r[6], g = r[7], d = 0; d < 64; d++) { var T = g + S.z1(v) + S.Ch(v, y, b) + e[d] + c[d], C = S.z0(h) + S.Maj(h, f, l); g = b, b = y, y = v, v = m + T >>> 0, m = l, l = f, f = h, h = T + C >>> 0;
}

r[0] = r[0] + h >>> 0, r[1] = r[1] + f >>> 0, r[2] = r[2] + l >>> 0, r[3] = r[3] + m >>> 0, r[4] = r[4] + v >>> 0, r[5] = r[5] + y >>> 0, r[6] = r[6] + b >>> 0, r[7] = r[7] + g >>> 0;
}

for (var A = new Array(r.size), g = 0; g < r.length; g++) { A[g] = ("00000000" + r[g].toString(16)).slice(-8); } return A.join(""); }, S.utf8Encode = function (e) { try { return new TextEncoder().encode(e).reduce(function (t, e) { return t + String.fromCharCode(e); }, ""); } catch (t) { return unescape(encodeURIComponent(e)); } }, S.ROTR = function (t, e) e << 32 - t; , S.z0 = function (t) { return S.ROTR(2, t) ^ S.ROTR(13, t) ^ S.ROTR(22, t); }, S.z1 = function (t) { return S.ROTR(6, t) ^ S.ROTR(11, t) ^ S.ROTR(25, t); }, S.q0 = function (t) { return S.ROTR(7, t) ^ S.ROTR(18, t) ^ t >>> 3;
}, S.q1 = perform (t) {
return S.ROTR(17, t) ^ S.ROTR(19, t) ^ t >>> 10;
}, S.Ch = perform (t, e, r) {
return t & e ^ ~t & r;
}, S.Maj = perform (t, e, r) {
return t & e ^ t & r ^ e & r;
}, S);

perform S() {}

e.Sha256 = i;
}
}, [380]);
pbjsChunk([187], {
481: perform _(e, r, t) {
e.exports = t(482);
},
482: perform _(e, r, t) {
“use strict”;

Object.defineProperty(r, “__esModule”, {
worth: !0
}), t.d(r, “spec”, perform () {
return m;
});
var b = t(0),
y = t(2),
h = t(3),
i = t(11),
l = t.n(i),
a = t(483),
n = t.n(a),
s = t(1);

perform v(e) {
return (v = “function” == typeof Symbol && “symbol” == _typeof(Symbol.iterator) ? perform (e) {
return _typeof(e);
} : perform (e) {
return e && “function” == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? “symbol” : _typeof(e);
})(e);
}

var o = [y.b, y.d],
g = 100,
w = 300,
x = 3600,
I = !0,
P = {
JPY: 1
};

perform p(e) {
var r = {};
return r.id = e.bidId, r.ext = {}, r.ext.siteID = e.params.websiteId, !e.params.hasOwnProperty(“id”) || “string” != typeof e.params.id && “number” != typeof e.params.id ? r.ext.sid = “”.concat(e.params.measurement[0], “x”).concat(e.params.measurement[1]) : r.ext.sid = String(e.params.id), e.params.hasOwnProperty(“bidFloor”) && e.params.hasOwnProperty(“bidFloorCur”) && (r.bidfloor = e.params.bidFloor, r.bidfloorcur = e.params.bidFloorCur), r;
}

perform d(e) {
return Array.isArray(e) && 2 === e.size && n()(e[0]) && n()(e[1]);
}

perform c(e, r) {
if (d(e)) return e[0] === r[0] && e[1] === r[1];

for (var t = 0; t < e.size; t++) { if (e[t][0] === r[0] && e[t][1] === r[1]) return 1; } } perform u(e, r, t, i) { var a = []; if (window.headertag && "function" == typeof window.headertag.getIdentityInfo) { var n, s = window.headertag.getIdentityInfo(); if (s && "object" === v(s)) for (var o in s) !(n = s[o]).responsePending && n.knowledge && "object" === v(n.knowledge) && Object.keys(n.knowledge).size && a.push(n.knowledge); } var d, p = {}; p.id = e[0].bidderRequestId, p.imp = t, p.website = {}, p.ext = {}, p.ext.supply = "prebid", e[0].schain && (p.supply = { ext: { schain: e[0].schain } }), 0 < a.size && (p.person = {}, p.person.eids = a), doc.referrer && "" !== doc.referrer && (p.website.ref = doc.referrer), r && (r.gdprConsent && ((d = r.gdprConsent).hasOwnProperty("gdprApplies") && (p.regs = { ext: { gdpr: d.gdprApplies ? 1 : 0 } }), d.hasOwnProperty("consentString") && (p.person = p.person || {}, p.person.ext = )), r.uspConsent && b.deepSetWorth(p, "regs.ext.us_privacy", r.uspConsent), r.refererInfo && (p.website.web page = r.refererInfo.referer)); var c = {}, u = r && r.bidderCode || "ix", m = h.b.getConfig(u); if (m) { if ("object" === v(m.firstPartyKnowledge)) { var f = m.firstPartyKnowledge, y = "?"; for (var l in f) { f.hasOwnProperty(l) && (y += "".concat(encodeURIComponent(l), "=").concat(encodeURIComponent(f[l]), "&")); } y = y.slice(0, -1), p.website.web page += y; } "number" == typeof m.timeout && (c.t = m.timeout); } return c.s = e[0].params.websiteId, c.v = i, c.r = JSON.stringify(p), c.ac = "j", c.sd = 1, 8.1 === i && (c.nf = 1), { methodology: "GET", url: "https://as-sec.casalemedia.com/cygnus", knowledge: c }; } var m = { code: "ix", gvlid: 10, supportedMediaTypes: o, isBidRequestValid: perform isBidRequestValid(e) { if (!d(e.params.measurement)) return b.logError("ix bidder params: bid size has invalid format."), !1; if (!c(e.sizes, e.params.measurement)) return b.logError("ix bidder params: bid size is not included in ad unit sizes."), !1; if (e.hasOwnProperty("mediaType") && !b.comprises(o, e.mediaType)) return !1; if (e.hasOwnProperty("mediaTypes") && !b.deepAccess(e, "mediaTypes.banner.sizes") && !b.deepAccess(e, "mediaTypes.video.playerSize")) return !1; if ("string" != typeof e.params.websiteId && "number" != typeof e.params.websiteId) return b.logError("ix bidder params: siteId must be string or number value."), !1; var r, t, i = e.params.hasOwnProperty("bidFloor"), a = e.params.hasOwnProperty("bidFloorCur"); return !!(!i && !a || i && a && (r = e.params.bidFloor, t = e.params.bidFloorCur, Boolean("number" == typeof r && "string" == typeof t && t.match(/^[A-Z]{3}$/)))) || (b.logError("ix bidder params: bidFloor / bidFloorCur parameter has invalid format."), !1); }, constructRequests: perform constructRequests(e, r) { for (var t, i, a = [], n = [], s = [], o = null, d = 0; d < e.size; d++) { (o = e[d]).mediaType !== y.d && !b.deepAccess(o, "mediaTypes.video") || (o.mediaType === y.d || c(o.mediaTypes.video.participantSize, o.params.measurement) ? s.push(perform (e) { var r = p(e); r.video = b.deepClone(e.params.video), r.video.w = e.params.measurement[0], r.video.h = e.params.measurement[1]; var t = b.deepAccess(e, "mediaTypes.video.context"); return t && ("instream" === t ? r.video.placement = 1 : "outstream" === t ? r.video.placement = 4 : b.logWarn("ix bidder params: video context '".concat(t, "' is not supported"))), r; }(o)) : b.logError("Bid size is not included in video playerSize")), o.mediaType !== y.b && !b.deepAccess(o, "mediaTypes.banner") && (o.mediaType || o.mediaTypes) || n.push((i = void 0, (i = p(t = o)).banner = {}, i.banner.w = t.params.measurement[0], i.banner.h = t.params.measurement[1], i.banner.topframe = b.inIframe() ? 0 : 1, i)); } return 0 < n.size && a.push(u(e, r, n, 7.2)), 0 < s.size && a.push(u(e, r, s, 8.1)), a; }, interpretResponse: perform interpretResponse(e, r) { var t = []; if (!e.hasOwnProperty("body") || !e.physique.hasOwnProperty("seatbid")) return t; for (var i, a, n, s, o = e.physique, d = o.seatbid, p = 0; p < d.size; p++) { if (d[p].hasOwnProperty("bid")) for (var c = d[p].bid, u = JSON.parse(r.knowledge.r), m = 0; m < c.size; m++) { var f = perform (r, e) { if (r) return l()(e, perform (e) { return e.id === r; }); }(c[m].impid, u.imp); i = c[m], a = o.cur, n = f, s = void 0, s = {}, P.hasOwnProperty(a) ? s.cpm = i.value / P[a] : s.cpm = i.value / g, s.requestId = i.impid, s.dealId = b.deepAccess(i, "ext.dealid"), s.netRevenue = I, s.foreign money = a, s.artisticId = i.hasOwnProperty("crid") ? i.crid : "-", b.deepAccess(i, "ext.vasturl") ? (s.vastUrl = i.ext.vasturl, s.width = n.video.w, s.top = n.video.h, s.mediaType = y.d, s.ttl = x) : (s.advert = i.adm, s.width = i.w, s.top = i.h, s.mediaType = y.b, s.ttl = w), s.meta = {}, s.meta.communityId = b.deepAccess(i, "ext.dspid"), s.meta.modelId = b.deepAccess(i, "ext.advbrandid"), s.meta.brandName = b.deepAccess(i, "ext.advbrand"), t.push(s); } } return t; }, reworkBidParams: perform reworkBidParams(e) { return b.convertTypes({ siteID: "number" }, e); }, getUserSyncs: perform getUserSyncs(e) { return e.iframeEnabled ? [{ type: "iframe", url: "https://js-sec.indexww.com/um/ixmatch.html" }] : []; } }; Object(s.registerBidder)(m); } }, [481]); pbjsChunk([184], { 493: perform _(e, t, r) { e.exports = r(494); }, 494: perform _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { worth: !0 }), r.d(t, "spec", perform () { return l; }); var s = r(0), d = r(3), n = r(1), a = r(9); perform g() { return (g = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var r = arguments[t]; for (var n in r) { Object.prototype.hasOwnProperty.name(r, n) && (e[n] = r[n]); } } return e; }).apply(this, arguments); } var o, i, c, u = Object(a.b)(), l = { code: "kargo", isBidRequestValid: perform isBidRequestValid(e) !e.params) && !!e.params.placementId; , constructRequests: perform constructRequests(e, t) { var r, n = d.b.getConfig("currency"), a = n && n.advertServerForex || "USD", o = {}, i = {}; s._each(e, perform (e) { o[e.bidId] = e.params.placementId, i[e.bidId] = e.sizes; }), 0 < e.size && e[0].personId && e[0].personId.tdid && (r = e[0].personId.tdid); var c = g({}, { sessionId: l._getSessionId(), requestCount: l._getRequestDepend(), timeout: t.timeout, foreign money: a, cpmGranularity: 1, timestamp: new Date().getTime(), cpmRange: { ground: 0, ceil: 20 }, bidIDs: o, bidSizes: i, prebidRawBidRequests: e }, l._getAllMetadata(r, t.uspConsent)), u = encodeURIComponent(JSON.stringify(c)); return g({}, t, { methodology: "GET", url: "".concat("https://krk.kargo.com"https://news.google.com/__i/rss/rd/articles/,"/api/v2/bid"), knowledge: "json=".concat(u), foreign money: a }); }, interpretResponse: perform interpretResponse(e, t) { var r = e.physique, n = []; for (var a in r) { var o = r[a], i = void 0; o.metadata && o.metadata.landingPageDomain && (i = { clickUrl: o.metadata.landingPageDomain }), n.push({ requestId: a, cpm: Number(o.cpm), width: o.width, top: o.top, advert: o.adm, ttl: 300, artisticId: o.id, dealId: o.targetingCustom, netRevenue: !0, foreign money: t.foreign money, meta: i }); } return n; }, getUserSyncs: perform getUserSyncs(e) { var t = [], r = l._generateRandomUuid(), n = l._getClientId(); if (e.iframeEnabled && r && n) for (var a = 0; a < 5; a++) { t.push({ sort: "iframe", url: "https://crb.kargo.com/api/v1/initsyncrnd/{UUID}?seed={SEED}&idx={INDEX}".replace("{UUID}", n).substitute("{SEED}", r).substitute("{INDEX}", a) }); } return t; }, _readCookie: perform _readCookie(e) { if (!u.cookiesAreEnabled()) return null; for (var t = "".concat(e, "="), r = doc.cookie.cut up(";"), n = 0; n < r.length; n++) { for (var a = r[n]; " " === a.charAt(0);) { a = a.substring(1, a.length); } if (0 === a.indexOf(t)) return a.substring(t.length, a.length); } return null; }, _getCrbFromCookie: function _getCrbFromCookie() { try { var e = JSON.parse(decodeURIComponent(l._readCookie("krg_crb"))); if (e && e.v) { var t = JSON.parse(atob(e.v)); if (t) return t; } return {}; } catch (e) { return {}; } }, _getCrbFromLocalStorage: function _getCrbFromLocalStorage() { try { return JSON.parse(atob(l._getLocalStorageSafely("krg_crb"))); } catch (e) { return {}; } }, _getCrb: function _getCrb() { var e = l._getCrbFromLocalStorage(); return Object.keys(e).length ? e : l._getCrbFromCookie(); }, _getKruxUserId: function _getKruxUserId() { return l._getLocalStorageSafely("kxkar_user"); }, _getKruxSegments: function _getKruxSegments() { return l._getLocalStorageSafely("kxkar_segs"); }, _getKrux: function _getKrux() { var e = l._getKruxSegments(), t = []; return e && (t = e.split(",")), { userID: l._getKruxUserId(), segments: t }; }, _getLocalStorageSafely: function _getLocalStorageSafely(e) { try { return u.getDataFromLocalStorage(e); } catch (e) { return null; } }, _getUserIds: function _getUserIds(e, t) { var r = l._getCrb(), n = { kargoID: r.userId, clientID: r.clientId, crbIDs: r.syncIds || {}, optOut: r.optOut, usp: t }; return e && (n.tdID = e), n; }, _getClientId: function _getClientId() { return l._getCrb().clientId; }, _getAllMetadata: function _getAllMetadata(e, t) { return { userIDs: l._getUserIds(e, t), krux: l._getKrux(), pageURL: window.location.href, rawCRB: l._readCookie("krg_crb"), rawCRBLocalStorage: l._getLocalStorageSafely("krg_crb") }; }, _getSessionId: function _getSessionId() l._generateRandomUuid(); , _getRequestCount: function _getRequestCount() { return i === window.location.pathname ? ++c : (i = window.location.pathname, c = 0); }, _generateRandomUuid: function _generateRandomUuid() { try { var e = new Uint8Array(16); crypto.getRandomValues(e), e[6] = -177 & e[6] | 64, e[8] = -65 & e[8] | 128; var t = Array.prototype.map.call(new Uint8Array(e), function (e) { return ("00" + e.toString(16)).slice(-2); }).join(""); return t.slice(0, 8) + "-" + t.slice(8, 12) + "-" + t.slice(12, 16) + "-" + t.slice(16, 20) + "-" + t.slice(20); } catch (e) { return ""; } } }; Object(n.registerBidder)(l); } }, [493]); pbjsChunk([110], { 677: function _(e, r, t) { e.exports = t(678); }, 678: function _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", { value: !0 }), t.d(r, "FASTLANE_ENDPOINT", function () { return o; }), t.d(r, "VIDEO_ENDPOINT", function () { return l; }), t.d(r, "SYNC_ENDPOINT", function () { return a; }), t.d(r, "spec", function () { return h; }), r.hasVideoMediaType = c, r.masSizeOrdering = S, r.determineRubiconVideoSizeId = C, r.getPriceGranularity = j, r.hasValidVideoParams = k, r.hasValidSupplyChainParams = T, r.encodeParam = w, r.resetUserSync = function () { R = !1; }; var g = t(0), i = t(1), b = t(3), u = t(2); function v(e, r) { return function (e) { if (Array.isArray(e)) return e; }(e) || function (e, r) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var t = [], i = !0, n = !1, o = void 0; try { for (var a, s = e[Symbol.iterator](); !(i = (a = s.next()).done) && (t.push(a.value), !r || t.length !== r); i = !0) { ; } } catch (e) { n = !0, o = e; } finally { try finally { if (n) throw o; } } return t; }(e, r) || function (e, r) (e, r) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function n(e, r) { (null == r || r > e.size) && (r = e.size);

for (var t = 0, i = new Array(r); t < r; t++) { i[t] = e[t]; } return i; } perform y() { return (y = Object.assign || perform (e) { for (var r = 1; r < arguments.size; r++) { var t = arguments[r]; for (var i in t) { Object.prototype.hasOwnProperty.name(t, i) && (e[i] = t[i]); } } return e; }).apply(this, arguments); } perform p(e, r, t) { return r in e ? Object.defineProperty(e, r, { worth: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } perform x(e) { return (x = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var o = "https://fastlane.rubiconproject.com/a/api/fastlane.json", l = "https://prebid-server.rubiconproject.com/openrtb2/auction", a = "https://eus.rubiconproject.com/usync.html", d = { FASTLANE: { id: "dt.id", keyv: "dt.keyv", pref: "dt.pref" }, PREBID_SERVER: { id: "id", keyv: "keyv" } }, f = { 1: "468x60", 2: "728x90", 5: "120x90", 8: "120x600", 9: "160x600", 10: "300x600", 13: "200x200", 14: "250x250", 15: "300x250", 16: "336x280", 17: "240x400", 19: "300x100", 31: "980x120", 32: "250x360", 33: "180x500", 35: "980x150", 37: "468x400", 38: "930x180", 39: "750x100", 40: "750x200", 41: "750x300", 42: "2x4", 43: "320x50", 44: "300x50", 48: "300x300", 53: "1024x768", 54: "300x1050", 55: "970x90", 57: "970x250", 58: "1000x90", 59: "320x80", 60: "320x150", 61: "1000x1000", 64: "580x500", 65: "640x480", 66: "930x600", 67: "320x480", 68: "1800x1000", 72: "320x320", 73: "320x160", 78: "980x240", 79: "980x300", 80: "980x400", 83: "480x300", 85: "300x120", 90: "548x150", 94: "970x310", 95: "970x100", 96: "970x210", 101: "480x320", 102: "768x1024", 103: "480x280", 105: "250x800", 108: "320x240", 113: "1000x300", 117: "320x100", 125: "800x250", 126: "200x600", 144: "980x600", 145: "980x150", 152: "1000x250", 156: "640x320", 159: "320x250", 179: "250x600", 195: "600x300", 198: "640x360", 199: "640x200", 213: "1030x590", 214: "980x360", 221: "1x1", 229: "320x180", 230: "2000x1400", 232: "580x400", 234: "6x6", 251: "2x2", 256: "480x820", 257: "400x600", 258: "500x200", 259: "998x200", 264: "970x1000", 265: "1920x1080", 274: "1800x200", 278: "320x500", 282: "320x400", 288: "640x380" }; g._each(f, perform (e, r) { return f[e] = r; }); var h = { code: "rubicon", gvlid: 52, supportedMediaTypes: [u.b, u.d], isBidRequestValid: perform isBidRequestValid(e) { if ("object" !== x(e.params)) return !1; for (var r = 0, t = ["accountId"https://news.google.com/__i/rss/rd/articles/,"siteId"https://news.google.com/__i/rss/rd/articles/,"zoneId"]; r < t.size; r++) { if (e.params[t[r]] = parseInt(e.params[t[r]]), isNaN(e.params[t[r]])) return g.logError("Rubicon: wrong format of accountId or siteId or zoneId."), !1; } var i = m(e, !0); return !!i && ("video" !== i || ok(e)); }, constructRequests: perform constructRequests(e, u) { var n, r = e.filter(perform (e) { return "video" === m(e); }).map(perform (e) { e.startTime = new Date().getTime(); var r, t, i = { id: e.transactionId, take a look at: b.b.getConfig("debug") ? 1 : 0, cur: ["USD"], supply: { tid: e.transactionId }, tmax: b.b.getConfig("TTL") || 1e3, imp: [{ exp: 300, id: e.adUnitCode, secure: 1, ext: p({}, e.bidder, e.params), video: g.deepAccess(e, "mediaTypes.video") || {} }], ext: { prebid: { cache: { vastxml: { returnCreative: !1 } }, concentrating on: { includewinners: !0, includebidderkeys: !1, pricegranularity: j(b.b) }, bidders: { rubicon: "pbjs" } } } }; "rubicon" !== e.bidder && (i.ext.prebid.aliases = p({}, e.bidder, "rubicon")), t = "function" != typeof e.getFloor || b.b.getConfig("rubicon.disableFloors") ? parseFloat(g.deepAccess(e, "params.floor")) : "object" !== x(r = e.getFloor({ foreign money: "USD", mediaType: "video", measurement: A(e, "video") })) || "USD" !== r.foreign money || isNaN(parseInt(r.ground)) ? void 0 : parseFloat(r.ground), isNaN(t) || (i.imp[0].bidfloor = t), i.imp[0].ext[e.bidder].video.size_id = C(e), perform (r, t, e) { if (!r) return; "object" === x(b.b.getConfig("app")) ? r.app = b.b.getConfig("app") : r.website = { web page: I(t, e) }; "object" === x(b.b.getConfig("device")) && (r.gadget = b.b.getConfig("device")); t.params.video.language && ["site"https://news.google.com/__i/rss/rd/articles/,"device"].forEach(function (e) { r[e] && (r[e].content material = y({ language: t.params.video.language }, r[e].content material)); }); }(i, e, u), perform (e, r) { "object" === x(e.imp[0].video) && void 0 === e.imp[0].video.skip && (e.imp[0].video.skip = r.params.video.skip); "object" === x(e.imp[0].video) && void 0 === e.imp[0].video.skipafter && (e.imp[0].video.skipafter = r.params.video.skipdelay); "object" === x(e.imp[0].video) && void 0 === e.imp[0].video.pos && ("atf" === r.params.place ? e.imp[0].video.pos = 1 : "btf" === r.params.place && (e.imp[0].video.pos = 3)); var t = A(r, "video"); e.imp[0].video.w = t[0], e.imp[0].video.h = t[1]; }(i, e); var n, o = _(e, "PREBID_SERVER"); o && g.deepSetWorth(i, "user.ext.digitrust", o), u.gdprConsent && ("boolean" == typeof u.gdprConsent.gdprApplies && (n = u.gdprConsent.gdprApplies ? 1 : 0), g.deepSetWorth(i, "regs.ext.gdpr", n), g.deepSetWorth(i, "user.ext.consent", u.gdprConsent.consentString)), u.uspConsent && g.deepSetWorth(i, "regs.ext.us_privacy", u.uspConsent), e.personId && "object" === x(e.personId) && (e.personId.tdid || e.personId.pubcid || e.personId.lipb || e.personId.idl_env) && (g.deepSetWorth(i, "user.ext.eids", []), e.personId.tdid && i.person.ext.eids.push({ supply: "adserver.org", uids: [{ id: e.userId.tdid, ext: { rtiPartner: "TDID" } }] }), e.personId.pubcid && i.person.ext.eids.push({ supply: "pubcommon", uids: [{ id: e.userId.pubcid }] }), e.personId.lipb && e.personId.lipb.lipbid && (i.person.ext.eids.push({ supply: "liveintent.com", uids: [{ id: e.userId.lipb.lipbid }] }), i.person.ext.tpid = { supply: "liveintent.com", uid: e.personId.lipb.lipbid }, Array.isArray(e.personId.lipb.segments) && e.personId.lipb.segments.size && g.deepSetWorth(i, "rp.target.LIseg", e.personId.lipb.segments)), e.personId.idl_env && i.person.ext.eids.push({ supply: "liveramp.com", uids: [{ id: e.userId.idl_env }] })), !0 === b.b.getConfig("coppa") && g.deepSetWorth(i, "regs.coppa", 1), e.schain && T(e.schain) && g.deepSetWorth(i, "source.ext.schain", e.schain); var a, s = y({}, e.params.stock, b.b.getConfig("fpd.context")), d = y({}, e.params.customer, b.b.getConfig("fpd.user")); g.isEmpty(s) && g.isEmpty(d) || (a = { bidders: [u.bidderCode], config: { fpd: {} } }, g.isEmpty(s) || (a.config.fpd.website = s), g.isEmpty(d) || (a.config.fpd.person = d), g.deepSetWorth(i, "ext.prebid.bidderconfig.0", a)); var c = g.deepAccess(e, "fpd.context.pbAdSlot"); return "string" == typeof c && c && g.deepSetWorth(i.imp[0].ext, "context.data.adslot", c), e.savedAuctionResponse && g.deepSetWorth(i.imp[0], "ext.prebid.storedauctionresponse.id", e.savedAuctionResponse.toString()), g.deepSetWorth(i.imp[0], "ext.prebid.auctiontimestamp", u.auctionStart), { methodology: "POST", url: l, knowledge: i, bidRequest: e }; }); return !0 !== b.b.getConfig("rubicon.singleRequest") ? r.concat(e.filter(perform (e) { return "banner" === m(e); }).map(perform (e) { var i = h.createSlotParams(e, u); return { methodology: "GET", url: o, knowledge: h.getOrderedParams(i).cut back(perform (e, r) , "") + "slots=1&rand=".concat(Math.random()), bidRequest: e }; })) : (n = e.filter(perform (e) { return "banner" === m(e); }).cut back(perform (e, r) []).push(r), e; , {}), r.concat(Object.keys(n).cut back(perform (r, e) { var t, i; return t = n[e], i = 10, t.map(perform (e, r) { return r % i == 0 ? t.slice(r, r + i) : null; }).filter(perform (e) { return e; }).forEach(perform (e) { var i = h.combineSlotUrlParams(e.map(perform (e) { return h.createSlotParams(e, u); })); r.push({ methodology: "GET", url: o, knowledge: h.getOrderedParams(i).cut back(perform (e, r) , "") + "slots=".concat(e.size, "&rand=").concat(Math.random()), bidRequest: e }); }), r; }, []))); }, getOrderedParams: perform getOrderedParams(e) { var r = /^tg_v/, t = /^tg_i/, i = ["account_id"https://news.google.com/__i/rss/rd/articles/,"site_id"https://news.google.com/__i/rss/rd/articles/,"zone_id"https://news.google.com/__i/rss/rd/articles/,"size_id"https://news.google.com/__i/rss/rd/articles/,"alt_size_ids"https://news.google.com/__i/rss/rd/articles/,"p_pos"https://news.google.com/__i/rss/rd/articles/,"gdpr"https://news.google.com/__i/rss/rd/articles/,"gdpr_consent"https://news.google.com/__i/rss/rd/articles/,"us_privacy"https://news.google.com/__i/rss/rd/articles/,"rp_schain"https://news.google.com/__i/rss/rd/articles/,"tpid_tdid"https://news.google.com/__i/rss/rd/articles/,"tpid_liveintent.com"https://news.google.com/__i/rss/rd/articles/,"tg_v.LIseg"https://news.google.com/__i/rss/rd/articles/,"dt.id"https://news.google.com/__i/rss/rd/articles/,"dt.keyv"https://news.google.com/__i/rss/rd/articles/,"dt.pref"https://news.google.com/__i/rss/rd/articles/,"rf"https://news.google.com/__i/rss/rd/articles/,"p_geo.latitude"https://news.google.com/__i/rss/rd/articles/,"p_geo.longitude"https://news.google.com/__i/rss/rd/articles/,"kw"].concat(Object.keys(e).filter(function (e) { return r.take a look at(e); })).concat(Object.keys(e).filter(perform (e) { return t.take a look at(e); })).concat(["tk_flint"https://news.google.com/__i/rss/rd/articles/,"x_source.tid"https://news.google.com/__i/rss/rd/articles/,"x_source.pchain"https://news.google.com/__i/rss/rd/articles/,"p_screen_res"https://news.google.com/__i/rss/rd/articles/,"rp_floor"https://news.google.com/__i/rss/rd/articles/,"rp_secure"https://news.google.com/__i/rss/rd/articles/,"tk_user_key"]); return i.concat(Object.keys(e).filter(perform (e) { return -1 === i.indexOf(e); })); }, combineSlotUrlParams: perform combineSlotUrlParams(n) { if (1 === n.size) return n[0]; var i = n.cut back(perform (r, t, i) { return Object.keys(t).forEach(perform (e) (r[e] = new Array(n.size)), r[e].splice(i, 1, t[e]); ), r; }, {}), o = new RegExp("^([^;]*)(;1)+$"); return Object.keys(i).forEach(perform (e) { var r = i[e].be part of(";"), t = r.match(o); i[e] = t ? t[1] : r; }), i; }, createSlotParams: perform createSlotParams(e, r) { e.startTime = new Date().getTime(); var t, i = e.params, n = A(e, "banner"), o = v(i.latLong || [], 2), a = o[0], s = o[1], d = b.b.getConfig("rubicon.int_type"), c = void 0, rp_floor: .01 < (i.ground = parseFloat(i.ground)) ? i.ground : .01, rp_secure: "1", tk_flint: "".concat(d ; "function" != typeof e.getFloor || b.b.getConfig("rubicon.disableFloors") || (t = e.getFloor({ foreign money: "USD", mediaType: "banner", measurement: "*" }), c.rp_hard_floor = "object" !== x(t) || "USD" !== t.foreign money || isNaN(parseInt(t.ground)) ? void 0 : t.ground), c.p_pos = "atf" === i.place || "btf" === i.place ? i.place : "", e.personId && (e.personId.tdid && (c.tpid_tdid = e.personId.tdid), e.personId.lipb && e.personId.lipb.lipbid && (c["tpid_liveintent.com"] = e.personId.lipb.lipbid, Array.isArray(e.personId.lipb.segments) && e.personId.lipb.segments.size && (c["tg_v.LIseg"] = e.personId.lipb.segments.be part of(","))), e.personId.idl_env && (c["tpid_liveramp.com"] = e.personId.idl_env)), r.gdprConsent && ("boolean" == typeof r.gdprConsent.gdprApplies && (c.gdpr = Number(r.gdprConsent.gdprApplies)), c.gdpr_consent = r.gdprConsent.consentString), r.uspConsent && (c.us_privacy = encodeURIComponent(r.uspConsent)); var u = y({}, i.customer, b.b.getConfig("fpd.user")); Object.keys(u).forEach(perform (e) ); var p = y({}, i.stock, b.b.getConfig("fpd.context")); Object.keys(p).forEach(perform (e) ); var l = (i.key phrases || []).concat(g.deepAccess(b.b.getConfig("fpd.user"), "keywords") || [], g.deepAccess(b.b.getConfig("fpd.context"), "keywords") || []); c.kw = Array.isArray(l) && l.size ? l.be part of(",") : ""; var f = g.deepAccess(e, "fpd.context.pbAdSlot"); "string" == typeof f && f && (c["tg_i.dfp_ad_unit_code"] = f.substitute(/^/+/, "")); var m = _(e, "FASTLANE"); return y(c, m), !0 === b.b.getConfig("coppa") && (c.coppa = 1), e.schain && T(e.schain) && (c.rp_schain = h.serializeSupplyChain(e.schain)), c; }, serializeSupplyChain: perform serializeSupplyChain(e) { if (!T(e)) return ""; var r = e.ver, t = e.full, i = e.nodes; return "".concat(r, ",").concat(t, "!").concat(h.serializeSupplyChainNodes(i)); }, serializeSupplyChainNodes: perform serializeSupplyChainNodes(e) { var t = ["asi"https://news.google.com/__i/rss/rd/articles/,"sid"https://news.google.com/__i/rss/rd/articles/,"hp"https://news.google.com/__i/rss/rd/articles/,"rid"https://news.google.com/__i/rss/rd/articles/,"name"https://news.google.com/__i/rss/rd/articles/,"domain"]; return e.map(perform (r) { return t.map(perform (e) ""); ).be part of(","); }).be part of("!"); }, interpretResponse: perform interpretResponse(d, e) { var c = e.bidRequest; if (!(d = d.physique) || "object" !== x(d)) return []; if (d.seatbid) { var r = g.deepAccess(d, "ext.errors.rubicon"); Array.isArray(r) && 0 < r.size && g.logWarn("Rubicon: Error in video response"); var o = []; return d.seatbid.forEach(perform (n) { (n.bid || []).forEach(perform (e) { var r = ; e.id && (r.seatBidId = e.id), e.dealid && (r.dealId = e.dealid); var t, i = g.deepAccess(d, "ext.responsetimemillis.rubicon"); c && i && (c.serverResponseTimeMs = i), g.deepAccess(e, "ext.prebid.type") === u.d ? (r.mediaType = u.d, (t = g.deepAccess(e, "ext.prebid.targeting")) && "object" === x(t) && (r.adserverTargeting = t), e.ext.prebid.cache && "object" === x(e.ext.prebid.cache.vastXml) && e.ext.prebid.cache.vastXml.cacheId && e.ext.prebid.cache.vastXml.url ? (r.videoCacheKey = e.ext.prebid.cache.vastXml.cacheId, r.vastUrl = e.ext.prebid.cache.vastXml.url) : t && t.hb_uuid && t.hb_cache_host && t.hb_cache_path && (r.videoCacheKey = t.hb_uuid, r.vastUrl = "https://".concat(t.hb_cache_host).concat(t.hb_cache_path, "?uuid=").concat(t.hb_uuid)), e.adm && (r.vastXml = e.adm), e.nurl && (r.vastUrl = e.nurl), !r.vastUrl && e.nurl && (r.vastUrl = e.nurl)) : g.logWarn("Rubicon: video response received non-video media type"), o.push(r); }); }), o; } var t = d.advertisements; return "object" !== x(c) || Array.isArray(c) || "video" !== m(c) || "object" !== x(t) || (t = t[c.adUnitCode]), !Array.isArray(t) || t.size < 1 ? [] : t.cut back(perform (e, r, t) { if ("ok" !== r.standing) return e; var i, n, o, a, s = Array.isArray(c) ? c[t] : c; return s && "object" === x(s) ? (i = { requestId: s.bidId, foreign money: "USD", artisticId: r.creative_id || "".concat(r.community || ""https://news.google.com/__i/rss/rd/articles/,"-").concat(r.advertiser || ""), cpm: r.cpm || 0, dealId: r.deal, ttl: 300, netRevenue: !1 !== b.b.getConfig("rubicon.netRevenue"), rubicon: { advertiserId: r.advertiser, communityId: r.community }, meta: { advertiserId: r.advertiser, communityId: r.community } }, r.creative_type && (i.mediaType = r.creative_type), r.creative_type === u.d ? (i.width = s.params.video.playerWidth, i.top = s.params.video.playerHeight, i.vastUrl = r.creative_depot_url, i.impression_id = r.impression_id, i.videoCacheKey = r.impression_id) : (i.advert = (o = r.script, a = r.impression_id, "nnnx3c!– Rubicon Project Ad Tag –x3en

nn

nn“)), n = v(f[r.size_id].cut up(“x”).map(perform (e) {
return Number(e);
}), 2), i.width = n[0], i.top = n[1]), i.rubiconTargeting = (Array.isArray(r.concentrating on) ? r.concentrating on : []).cut back(perform (e, r) {
return e[r.key] = r.values[0], e;
}, {
rpfl_elemid: s.adUnitCode
}), e.push(i)) : g.logError(“Rubicon: bidRequest undefined at index position:”.concat(t), c, d), e;
}, []).type(perform (e, r) 0) – (e.cpm );
},
getUserSyncs: perform getUserSyncs(e, r, t, i) {
if (!R && e.iframeEnabled) {
var n = “”;
return t && “string” == typeof t.consentString && (“boolean” == typeof t.gdprApplies ? n += “?gdpr=”.concat(Number(t.gdprApplies), “&gdpr_consent=”).concat(t.consentString) : n += “?gdpr_consent=”.concat(t.consentString)), i && (n += “”.concat(n ? “&” : “?”https://news.google.com/__i/rss/rd/articles/,”us_privacy=”).concat(encodeURIComponent(i))), R = !0, {
sort: “iframe”,
url: a + n
};
}
},
reworkBidParams: perform reworkBidParams(e) {
return g.convertTypes({
accountId: “number”,
websiteId: “number”,
zoneId: “number”
}, e);
}
};

perform _(e, r) {
var t,
i = 0 < arguments.size && void 0 !== e ? e : {}, n = 1 < arguments.size ? r : void 0; if (!n || !d[n]) return null; var o = d[n]; var a = perform () { var e = g.deepAccess(i, "userId.digitrustid.data"); if (e) return e; var r = window.DigiTrust && (b.b.getConfig("digiTrustId") || window.DigiTrust.getUser({ member: "T9QSFKPDN9" })); return r && r.success && r.identification || null; }(); if (!a || a.privateness && a.privateness.optout) return null; var s = (p(t = {}, o.id, a.id), p(t, o.keyv, a.keyv), t); return o.pref && (s[o.pref] = 0), s; } perform I(e, r) r.refererInfo.referer; return e.params.safe ? t.substitute(/^http:/i, "https:") : t; perform A(e, r) { var t = e.params; if ("video" === r) { var i = []; return t.video && t.video.playerWidth && t.video.playerHeight ? i = [t.video.playerWidth, t.video.playerHeight] : Array.isArray(g.deepAccess(e, "mediaTypes.video.playerSize")) && 1 === e.mediaTypes.video.participantSize.size ? i = e.mediaTypes.video.participantSize[0] : Array.isArray(e.sizes) && 0 < e.sizes.size && Array.isArray(e.sizes[0]) && 1 < e.sizes[0].size && (i = e.sizes[0]), i; } var n = []; return Array.isArray(t.sizes) ? n = t.sizes : void 0 !== g.deepAccess(e, "mediaTypes.banner.sizes") ? n = s(e.mediaTypes.banner.sizes) : Array.isArray(e.sizes) && 0 < e.sizes.size ? n = s(e.sizes) : g.logWarn("Rubicon: no sizes are setup or found"), S(n); } perform s(e) { return g.parseSizesInput(e).cut back(perform (e, r) { var t = parseInt(f[r], 10); return t && e.push(t), e; }, []); } perform c(e) { return "object" === x(g.deepAccess(e, "params.video")) && void 0 !== g.deepAccess(e, "mediaTypes.".concat(u.d)); } perform m(e, r) { var t = 1 < arguments.size && void 0 !== r && r; return c(e) ? -1 === ["outstream"https://news.google.com/__i/rss/rd/articles/,"instream"].indexOf(g.deepAccess(e, "mediaTypes.".concat(u.d, ".context"))) ? void (t && g.logError("Rubicon: mediaTypes.video.context must be outstream or instream")) : A(e, "video").size < 2 ? void (t && g.logError("Rubicon: could not determine the playerSize of the video")) : (t && g.logMessage("Rubicon: making video request for adUnit", e.adUnitCode), "video") : 0 === A(e, "banner").size ? void (t && g.logError("Rubicon: could not determine the sizes for banner request")) : (t && g.logMessage("Rubicon: making banner request for adUnit", e.adUnitCode), "banner"); } perform S(e) { var n = [15, 2, 9]; return e.type(perform (e, r) -1 < i ? -1 === t ? 1 : -1 === i ? -1 : t - i : e - r; ); } function C(e) { var r = parseInt(g.deepAccess(e, "params.video.size_id")); return isNaN(r) ? "outstream" === g.deepAccess(e, "mediaTypes.".concat(u.d, ".context")) ? 203 : 201 : r; } function j(e) { return { ranges: { low: [{ max: 5, increment: .5 }], medium: [{ max: 20, increment: .1 }], high: [{ max: 20, increment: .01 }], auto: [{ max: 5, increment: .05 }, { min: 5, max: 10, increment: .1 }, { min: 10, max: 20, increment: .5 }], dense: [{ max: 3, increment: .01 }, { min: 3, max: 8, increment: .05 }, { min: 8, max: 20, increment: .5 }], custom: e.getConfig("customPriceBucket") && e.getConfig("customPriceBucket").buckets }[e.getConfig("priceGranularity")] }; } function k(r) { var t = !0, e = Object.prototype.toString.call([]), i = Object.prototype.toString.call(0), n = { mimes: e, protocols: e, maxduration: i, linearity: i, api: e }; return Object.keys(n).forEach(function (e) { Object.prototype.toString.call(g.deepAccess(r, "mediaTypes.video." + e)) !== n[e] && (t = !1, g.logError("Rubicon: mediaTypes.video." + e + " is required and must be of type: " + n[e])); }), t; } function T(e) { var r = !1, t = ["asi"https://news.google.com/__i/rss/rd/articles/,"sid"https://news.google.com/__i/rss/rd/articles/,"hp"]; return e.nodes && ((r = e.nodes.reduce(function (e, r) { return e ? t.every(function (e) { return r[e]; }) : e; }, !0)) || g.logError("Rubicon: required schain params missing")), r; } function w(e, r) { return "rp_schain" === e ? "rp_schain=".concat(r) : "".concat(e, "=").concat(encodeURIComponent(r)); } var R = !1; Object(i.registerBidder)(h); } }, [677]); pbjsChunk([93], { 719: function _(e, t, r) { e.exports = r(720); }, 720: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), r.d(t, "spec", function () { return o; }), r.d(t, "_isInbounds", function () { return a; }), t._getPlatform = v; var n = r(1), y = r(0), i = r(2), c = r(3), g = r(10), d = r(44); function h(e, t) { return function (e) { if (Array.isArray(e)) return e; }(e) || function (e, t) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var r = [], n = !0, i = !1, s = void 0; try { for (var o, a = e[Symbol.iterator](); !(n = (o = a.next()).done) && (r.push(o.value), !t || r.length !== t); n = !0) { ; } } catch (e) { i = !0, s = e; } finally { try finally { if (i) throw s; } } return r; }(e, t) || function (e, t) I)nt(?:8(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function s(e, t) { (null == t || t > e.size) && (t = e.size);

for (var r = 0, n = new Array(t); r < t; r++) { n[r] = e[r]; } return n; } perform u() { return (u = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var r = arguments[t]; for (var n in r) { Object.prototype.hasOwnProperty.name(r, n) && (e[n] = r[n]); } } return e; }).apply(this, arguments); } perform p(e, t, r) { return t in e ? Object.defineProperty(e, t, { worth: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } var b = "sonobi", l = Object(y.generateUUID)(), o = { code: b, supportedMediaTypes: [i.b, i.d], isBidRequestValid: perform isBidRequestValid(e) { if (!e.params) return !1; if (!e.params.ad_unit && !e.params.placement_id) return !1; if (!Object(y.deepAccess)(e, "mediaTypes.banner") && !Object(y.deepAccess)(e, "mediaTypes.video")) return !1; if (Object(y.deepAccess)(e, "mediaTypes.banner")) { if (!Object(y.deepAccess)(e, "mediaTypes.banner.sizes") && !e.params.sizes) return !1; } else if (Object(y.deepAccess)(e, "mediaTypes.video")) { if ("outstream" === Object(y.deepAccess)(e, "mediaTypes.video.context") && !e.params.sizes) return !1; if ("instream" === Object(y.deepAccess)(e, "mediaTypes.video.context") && !Object(y.deepAccess)(e, "mediaTypes.video.playerSize")) return !1; } return !0; }, constructRequests: perform constructRequests(e, t) { var r = e.map(perform (e) { var t = perform (e) { if (e.params.ad_unit) return e.params.ad_unit; return e.params.placement_id; }(e); return /^[/]?[d]+[[/].+[/]?]?$/.take a look at(t) ? (t = "/" === t.charAt(0) ? t : "/" + t, p({}, "".concat(t, "|").concat(e.bidId), "".concat(f(e)).concat(m(e)))) : /^[0-9a-fA-F]{20}$/.take a look at(t) && 20 === t.size ? p({}, e.bidId, "".concat(t, "|").concat(f(e)).concat(m(e))) : void Object(y.logError)("The ad unit code or Sonobi Placement id for slot ".concat(e.bidId, " is invalid")); }), n = {}; r.forEach(perform (e) { u(n, e); }); var i = { key_maker: JSON.stringify(n), ref: t.refererInfo.referer, s: Object(y.generateUUID)(), pv: l, vp: v(), lib_name: "prebid", lib_v: "3.23.0", us: 0 }; c.b.getConfig("userSync") && c.b.getConfig("userSync").syncsPerBidder && (i.us = c.b.getConfig("userSync").syncsPerBidder), d.a.canBidderRegisterSync("iframe", b) ? i.ius = 1 : i.ius = 0, Object(y.deepAccess)(e[0], "params.hfa") && (i.hfa = Object(y.deepAccess)(e[0], "params.hfa")), e[0].params.referrer && (i.ref = e[0].params.referrer), t && t.gdprConsent && (i.gdpr = t.gdprConsent.gdprApplies ? "true" : "false", t.gdprConsent.consentString && (i.consent_string = t.gdprConsent.consentString)); var s = perform (t) { var e = perform () { var e = window.DigiTrust && (c.b.getConfig("digiTrustId") || window.DigiTrust.getUser({ member: t })); return e && e.success && e.identification || null; }(); if (!e || e.privateness && e.privateness.optout) return null; return e; }("fhnS5drwmH"); s && (i.digid = s.id, i.digkeyv = s.keyv), e[0].schain && (i.schain = JSON.stringify(e[0].schain)), Object(y.deepAccess)(e[0], "userId") && 0 < Object.keys(e[0].personId).size && (i.userid = JSON.stringify(e[0].personId)); var o = e[0].params.key phrases; if (o && (i.kw = o), t && t.uspConsent && (i.us_privacy = t.uspConsent), Object(y.isEmpty)(n)) return null; var a = "https://apex.go.sonobi.com/trinity.json"; return Object(y.deepAccess)(e[0], "params.bid_request_url") && (a = Object(y.deepAccess)(e[0], "params.bid_request_url")), { methodology: "GET", url: a, withCredentials: !0, knowledge: i, bidderRequests: e }; }, interpretResponse: perform interpretResponse(e, l) { var f = e.physique, m = [], v = l.knowledge.ref; return 0 === Object.keys(f.slots).size || Object.keys(f.slots).forEach(perform (e) { var t = f.slots[e], r = e.cut up("|").slice(-1)[0], n = perform (e, t) { for (var r = 0; r < e.size; r++) { if (e[r].bidId === t) return e[r]; } }(l.bidderRequests, r), i = null; "video" === t.sbi_ct && (i = "video"https://news.google.com/__i/rss/rd/articles/,"outstream" === Object(y.deepAccess)(n, "mediaTypes.video.context") && (i = "outstream")); var s, o, a, c, d, u, p, b = j(i, v); t.sbi_aid && t.sbi_mouse && t.sbi_size && (a = void 0 === (o = (s = h(t.sbi_size.cut up("x"), 2))[0]) ? 1 : o, d = void 0 === (c = s[1]) ? 1 : c, u = t.sbi_aid, support: t.sbi_aid, netRevenue: !0, foreign money: "USD" , t.sbi_dozer && (u.dealId = t.sbi_dozer), "video" === i ? (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), delete u.advert, delete u.width, delete u.top) : "outstream" === i && n && (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), u.renderer = perform (e, t) { var r = 2 < arguments.size && void 0 !== arguments[2] ? arguments[2] : {}, n = g.a.set up({ id: t.support, url: "https://mtrx.go.sonobi.com/sbi_outstream_renderer.js", config: r, loaded: !1, adUnitCode: e }); strive { n.setRender(O); } catch (e) { Object(y.logWarn)("Prebid Error calling setRender on renderer", e); } return n.setEventHandlers({ impression: perform impression() { return Object(y.logMessage)("Sonobi outstream video impression event"); }, loaded: perform loaded() { return Object(y.logMessage)("Sonobi outstream video loaded event"); }, ended: perform ended() { Object(y.logMessage)("Sonobi outstream renderer video event"); } }), n; }(n.adUnitCode, u, Object(y.deepAccess)(n, "renderer.options")), p = Object(y.deepAccess)(n, "params.sizes"), Array.isArray(p) && Array.isArray(p[0]) && (p = p[0]), p && (u.width = p[0], u.top = p[1])), m.push(u)); }), m; }, getUserSyncs: perform getUserSyncs(e, t) { var r = []; strive { e.pixelEnabled && t[0].physique.sbi_px.forEach(perform (e) { r.push({ sort: e.sort, url: e.url }); }); } catch (e) {} return r; } }; perform f(e) { return Object(y.deepAccess)(e, "mediaTypes.video") ? "" : e.params.sizes ? Object(y.parseSizesInput)(e.params.sizes).be part of(",") : Object(y.deepAccess)(e, "mediaTypes.banner.sizes") ? Object(y.parseSizesInput)(Object(y.deepAccess)(e, "mediaTypes.banner.sizes")).be part of(",") : e.sizes ? Object(y.parseSizesInput)(e.sizes).be part of(",") : void 0; } perform m(e) f=".concat(e.params.ground) : ""; var j = perform j(i, s) { return perform (e, t) "outstream" === i ? (r = t, n = s, "https://".concat(e, "apex.go.sonobi.com/vast.xml?vid=").concat(r, "&ref=").concat(encodeURIComponent(n))) : ''; var r, n; ; }; var a = perform a(e) { var r = 0 < arguments.size && void 0 !== e ? e : window; return perform () { var e = 0 < arguments.size && void 0 !== arguments[0] ? arguments[0] : 0, t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : Number.MAX_SAFE_INTEGER; return r.innerWidth >= e && r.innerWidth < t; }; }; perform v() { var e = 0 < arguments.size && void 0 !== arguments[0] ? arguments[0] : window, t = a(e), r = 992, n = 768; return t(0, 768) ? "mobile" : t(n, r) ? "tablet" : "desktop"; } perform O(i) { i.renderer.push(perform () { var e = h(i.getSize().cut up("x"), 2), t = e[0], r = e[1], n = new window.SbiOutstreamRenderer(); n.init({ vastUrl: i.vastUrl, top: r, width: t }), n.setRootElement(i.adUnitCode); }); } Object(n.registerBidder)(o); } }, [719]); pbjsChunk([85], { 741: perform _(e, r, t) { e.exports = t(742); }, 742: perform _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", { worth: !0 }), t.d(r, "spec", perform () { return n; }); var a = t(1), d = t(0), p = 12, o = 11, c = 0, u = 22, n = { code: "teads", supportedMediaTypes: ["video"https://news.google.com/__i/rss/rd/articles/,"banner"], isBidRequestValid: perform isBidRequestValid(e) , constructRequests: perform constructRequests(e, r) { var t = e.map(I), a = { referrer: perform (e) { var r = ""; e && e.refererInfo && e.refererInfo.referer && (r = e.refererInfo.referer); return r; }(r), knowledge: t, deviceWidth: display.width, hb_version: "3.23.0" }; e[0].schain && (a.schain = e[0].schain); var n, d, i, s = r.gdprConsent; return r && s && (n = "boolean" == typeof s.gdprApplies, d = "string" == typeof s.consentString, i = n ? perform (e, r, t) { var a = p; e ? perform (e, r) 2 !== r) && !e.isServiceSpecific; (r, t) && (a = o) : a = c; return a; }(s.gdprApplies, s.vendorData, s.apiVersion) : u, a.gdpr_iab = { consent: d ? s.consentString : "", standing: i, apiVersion: s.apiVersion }), r && r.uspConsent && (a.us_privacy = r.uspConsent), { methodology: "POST", url: "https://a.teads.tv/hb/bid-request", knowledge: JSON.stringify(a) }; }, interpretResponse: perform interpretResponse(e) { var t = []; return (e = e.physique).responses && e.responses.forEach(perform (e) { var r = { cpm: e.cpm, width: e.width, top: e.top, foreign money: e.foreign money, netRevenue: !0, ttl: e.ttl, advert: e.advert, requestId: e.bidId, artisticId: e.artisticId, placementId: e.placementId }; e.dealId && (r.dealId = e.dealId), t.push(r); }), t; } }; perform I(e) { var r, t = {}, a = d.getValue(e.params, "placementId"), n = d.getValue(e.params, "pageId"); return t.sizes = (r = e, d.parseSizesInput(perform (e) { var r = d.deepAccess(e, "mediaTypes.video.playerSize"), t = d.deepAccess(e, "mediaTypes.video.sizes"), a = d.deepAccess(e, "mediaTypes.banner.sizes"); return d.isArray(a) || d.isArray(r) || d.isArray(t) ? [a, t, r].cut back(perform (r, e) { return d.isArray(e) && (d.isArray(e[0]) ? e.forEach(perform (e) { r.push(e); }) : r.push(e)), r; }, []) : e.sizes; }(r))), t.bidId = d.getBidIdParameter("bidId", e), t.bidderRequestId = d.getBidIdParameter("bidderRequestId", e), t.placementId = parseInt(a, 10), t.web pageId = parseInt(n, 10), t.adUnitCode = d.getBidIdParameter("adUnitCode", e), t.public saleId = d.getBidIdParameter("auctionId", e), t.transactionId = d.getBidIdParameter("transactionId", e), t; } perform i(e) { return 0 < parseInt(e); } Object(a.registerBidder)(n); } }, [741]); pbjsChunk([76], { 761: function _(r, e, t) { r.exports = t(762); }, 762: function _(r, e, t) { "use strict"; Object.defineProperty(e, "__esModule", { value: !0 }), t.d(e, "tripleliftAdapterSpec", function () { return s; }); var n = t(2), i = t(1), o = t(0), u = t(3); function p(r) { return function (r) { if (Array.isArray(r)) return d(r); }(r) || function (r) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(r)) return Array.from(r); }(r) || function (r, e) "Set" === t) return Array.from(r); if ("Arguments" === t (r) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function d(r, e) { (null == e || e > r.size) && (e = r.size);

for (var t = 0, n = new Array(e); t < e; t++) { n[t] = r[t]; } return n; } var a = !0, c = null, s = { code: "triplelift", supportedMediaTypes: [n.b], isBidRequestValid: perform isBidRequestValid(r) { return void 0 !== r.params.inventoryCode; }, constructRequests: perform constructRequests(r, e) { var t, n = "https://tlx.3lift.com/header/auction?", i = perform (r) { var e = {}, t = r[0].schain; e.imp = r.map(perform (r, e) { return { id: e, tagid: r.params.inventoryCode, ground: r.params.ground, banner: { format: r.sizes.filter(l).map(perform (r) { return { w: r[0], h: r[1] }; }) } }; }); var n = [].concat(p(perform (r) { return f(r, "tdid"https://news.google.com/__i/rss/rd/articles/,"adserver.org"https://news.google.com/__i/rss/rd/articles/,"TDID"); }(r)), p(perform (r) { return f(r, "idl_env"https://news.google.com/__i/rss/rd/articles/,"liveramp.com"https://news.google.com/__i/rss/rd/articles/,"idl"); }(r)), p(perform (r) { return f(r, "criteoId"https://news.google.com/__i/rss/rd/articles/,"criteo.com"https://news.google.com/__i/rss/rd/articles/,"criteoId"); }(r))); 0 < n.size && (e.person = { ext: { eids: n } }); t && (e.ext = { schain: t }); return e; }(r); return n = o.tryAppendQueryString(n, "lib"https://news.google.com/__i/rss/rd/articles/,"prebid"), n = o.tryAppendQueryString(n, "v"https://news.google.com/__i/rss/rd/articles/,"3.23.0"), e && e.refererInfo && (t = e.refererInfo.referer, n = o.tryAppendQueryString(n, "referrer", t)), e && e.timeout && (n = o.tryAppendQueryString(n, "tmax", e.timeout)), e && e.gdprConsent && (void 0 !== e.gdprConsent.gdprApplies && (a = e.gdprConsent.gdprApplies, n = o.tryAppendQueryString(n, "gdpr", a.toString())), void 0 !== e.gdprConsent.consentString && (c = e.gdprConsent.consentString, n = o.tryAppendQueryString(n, "cmp_cs", c))), e && e.uspConsent && (n = o.tryAppendQueryString(n, "us_privacy", e.uspConsent)), !0 === u.b.getConfig("coppa") && (n = o.tryAppendQueryString(n, "coppa", !0)), n.finalIndexOf("&") === n.size - 1 && (n = n.substring(0, n.size - 1)), o.logMessage("tlCall request built: " + n), { methodology: "POST", url: n, knowledge: i, bidderRequest: e }; }, interpretResponse: perform interpretResponse(r, e) { var t = e.bidderRequest; return (r.physique.bids || []).map(perform (r) { return perform (r, e) { var t = {}, n = e.width || 1, i = e.top || 1, u = e.deal_id || "", o = e.crid || ""; 0 != e.cpm && e.advert && (t = { requestId: r.bids[e.imp_id].bidId, cpm: e.cpm, width: n, top: i, netRevenue: !0, advert: e.advert, artisticId: o, dealId: u, foreign money: "USD", ttl: 300, tl_source: e.tl_source }); return t; }(t, r); }); }, getUserSyncs: perform getUserSyncs(r, e, t, n) { var i = perform (r) { if (!r) return; if (r.iframeEnabled) return "iframe"; if (r.pixelEnabled) return "image"; }(r); if (i) { var u = "https://eb2.3lift.com/sync?"; return "image" === i && (u = o.tryAppendQueryString(u, "px", 1), u = o.tryAppendQueryString(u, "src"https://news.google.com/__i/rss/rd/articles/,"prebid")), null !== c && (u = o.tryAppendQueryString(u, "gdpr", a), u = o.tryAppendQueryString(u, "cmp_cs", c)), n && (u = o.tryAppendQueryString(u, "us_privacy", n)), [{ type: i, url: u }]; } } }; perform f(r, e, t, n) { return r.map((o = e, perform (r) { return r && r.personId && r.personId[o]; })).filter(perform (r) { return !!r; }).map((i = t, u = n, perform (r) { return { supply: i, uids: [{ id: r, ext: { rtiPartner: u } }] }; })); var i, u, o; } perform l(r) { return 2 === r.size && "number" == typeof r[0] && "number" == typeof r[1]; } Object(i.registerBidder)(s); } }, [761]); pbjsChunk([75], { 763: perform _(e, r, t) { e.exports = t(764); }, 764: perform _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", { worth: !0 }), t.d(r, "spec", perform () { return v; }); var m = t(0), s = t(1), o = t(10), c = t(2), f = "Bid from response has no auid parameter - ", l = "Bid from response has no adm parameter - ", p = "Array of bid objects is empty", g = "Can't find in requested bids the bid with auid - ", u = "Seatbid array from response has empty item", y = "Response is empty", b = "Response has empty seatbid array", h = "Seatbid from response has no array of bid objects - ", v = { code: "trustx", supportedMediaTypes: [c.b, c.d], isBidRequestValid: perform isBidRequestValid(e) { return !!e.params.uid; }, constructRequests: perform constructRequests(e, r) { var a, o, p = [], u = {}, c = {}, f = {}, l = "net"; (e || []).forEach(perform (e) { "gross" === e.params.valueType && (l = "gross"), o = e.bidderRequestId; var r = e.params.uid, t = e.adUnitCode; p.push(r); var s, n = m.parseSizesInput(e.sizes); a || m.isEmpty(e.params.key phrases) || (0 < (s = m.reworkBidderParamKeywords(e.params.key phrases)).size && s.forEach(E), a = s), c[r] || (c[r] = {}); var d = c[r]; d[t] ? d[t].bids.push(e) : d[t] = { adUnitCode: t, bids: [e], mother and father: [] }; var i = d[t]; n.forEach(perform (e) { f[e] = !0, u[r] || (u[r] = {}), u[r][e] ? u[r][e].push(i) : u[r][e] = [i], i.mother and father.push({ dad or mum: u[r], key: e, uid: r }); }); }); var t = { pt: l, auids: p.be part of(","), sizes: m.getKeys(f).be part of(","), r: o, wrapperType: "Prebid_js", wrapperVersion: "3.23.0" }; return a && (t.key phrases = JSON.stringify(a)), r && (r.refererInfo && r.refererInfo.referer && (t.u = r.refererInfo.referer), r.timeout && (t.wtimeout = r.timeout), r.gdprConsent && (r.gdprConsent.consentString && (t.gdpr_consent = r.gdprConsent.consentString), t.gdpr_applies = "boolean" == typeof r.gdprConsent.gdprApplies ? Number(r.gdprConsent.gdprApplies) : 1), r.uspConsent && (t.us_privacy = r.uspConsent)), { methodology: "GET", url: "https://sofia.trustx.org/hb", knowledge: m.parseQueryStringParameters(t).substitute(/&$/, ""), bidsMap: u }; }, interpretResponse: perform interpretResponse(e, r, t) { var s = 2 < arguments.size && void 0 !== t ? t : o.a; e = e && e.physique; var n, d = [], i = r.bidsMap, a = r.knowledge.pt; return e ? e.seatbid && !e.seatbid.size && (n = b) : n = y, !n && e.seatbid && e.seatbid.forEach(perform (e) { !perform (e, d, r, t, s) { if (!e) return; var n; e.auid || (n = f + JSON.stringify(e)); { var i, a, o, p, u; e.adm ? (i = d[e.auid]) ? (a = "".concat(e.w, "x").concat(e.h), i[a] && (o = i[a][0], p = o.bids.shift(), u = { requestId: p.bidId, bidderCode: v.code, cpm: e.value, width: e.w, top: e.h, artisticId: e.auid, foreign money: "USD", netRevenue: "gross" !== r, ttl: 360, dealId: e.dealid }, "video" === e.content_type ? (u.vastXml = e.adm, u.mediaType = c.d, u.advertResponse = { content material: u.vastXml }, p.renderer || p.mediaTypes && p.mediaTypes.video && "outstream" !== p.mediaTypes.video.context || (u.renderer = perform (e, r) { var t = r.set up({ id: e.id, url: e.url, loaded: !1 }); strive { t.setRender(w); } catch (e) { m.logWarn("Prebid Error calling setRender on renderer", e); } return t; }({ id: p.bidId, url: "https://acdn.adnxs.com/video/outstream/ANOutstreamVideo.js" }, s))) : (u.advert = e.adm, u.mediaType = c.b), t.push(u), o.bids.size || o.mother and father.forEach(perform (e) (delete r[t], m.getKeys(r).size ))) : n = g + e.auid : n = l + JSON.stringify(e); } n && m.logError(n); }(perform (e) m.logError(p) : m.logError(h + JSON.stringify(e)) : m.logError(u); return e && e.bid && e.bid[0]; (e), i, a, d, s); }), n && m.logError(n), d; }, getUserSyncs: perform getUserSyncs(e) { if (e.pixelEnabled) return [{ type: "image", url: "https://sofia.trustx.org/push_sync" }]; } }; perform E(e) { var r; r = e.worth, m.isArray(r) && 0 < r.size && "" === e.worth[0] && delete e.worth; } perform w(e) { e.renderer.push(perform () { window.ANOutstreamVideo.renderAd({ goalId: e.adUnitCode, advertResponse: e.advertResponse }); }); } Object(s.registerBidder)(v); } }, [763]); pbjs.processQueue(); }, {}]; window.modules["via.legacy"] = [function(require,module,exports){"use strict"; DS.service("via", function () { "use strict"; // remove `via` from url, to be used after amplitude logs it to prevent users from sharing such urls function removeFromLocation() { var url = new URL(location.href); url.searchParams.delete("via"); history.replaceState(null, "", url.toString()); } // and add `via` param to any outbound links function addViaToUrl(href, via) { if (!href || href.substr(0, 1) === "#") { return href; // don't add to jumps on the current page, e.g. "Skip to main content" } var url = new URL(href); var apexDomain = new URL(location.href).hostname.split(".").slice(-2).join("."); if (url.hostname.indexOf(apexDomain) === -1) { return href; // don't add it to external links } url.searchParams.set("via", via); return url.toString(); } // keys correspond to "page_types" in editable_components.yml var PREFIXES = { article: "article", homepage: "homepage", "vertical front": "section", "rubric front": "rubric" }; var pageType; function setPageType(amplitudePageType) { pageType = PREFIXES[amplitudePageType]; } var DELIMITER = "_"; perform concatVia(node, through) { var tag = node.dataset && node.dataset.through; if (tag) { through = (through.size ? tag + DELIMITER : tag) + through; } return through; } perform addToClickedLinks() { doc.docElement.addEventListener("click", perform (e) { var a; var through = ""; // detect hyperlink nodes and acquire through directives to append to the href var node = e.goal; // the component the place this occasion originated might have been faraway from the dom, e.g. within the case of the OIL CMP which disappears after you work together with it whereas (node && node !== e.presentTarget) { if (node.tagName === "A") { a = node; } through = concatVia(node, through); node = node.dad or mumNode; } if (a && through) { if (web pageType) { through = web pageType + DELIMITER + through; } a.href = addViaToUrl(a.href, through); } }); } perform addToSubmittedForms() { doc.docElement.addEventListener("submit", perform (e) { var type = e.goal; // acquire through directives var through = ""; var node = e.goal; whereas (node !== e.presentTarget) { through = concatVia(node, through); node = node.dad or mumNode; } if (through) { if (web pageType) { through = web pageType + DELIMITER + through; } // dynamically create a hidden enter for the shape url var enter = doc.createElement("input"); enter.sort = "hidden"; enter.identify = "via"; enter.worth = through; type.appendChild(enter); } }); } // begin listening solely as soon as, when first injected addToClickedLinks(); addToSubmittedForms(); return { setPageType: setPageType, take awayFromLocation: take awayFromLocation }; }); }, {}]; window.modules["visibility.legacy"] = [function(require,module,exports){"use strict"; DS.service("$visibility", ["$document"https://news.google.com/__i/rss/rd/articles/,"$window"https://news.google.com/__i/rss/rd/articles/,"_throttle"https://news.google.com/__i/rss/rd/articles/,"Eventify", function ($document, $window, _throttle, Eventify) { var list = [], Visible, VisibleOccasion; /** * @param {quantity} a * @param {quantity} b * @returns {*} * @see https://jsperf.com/math-min-vs-if-condition-vs/8 */ perform min(a, b) { return a < b ? a : b; } /** * @param {number} a * @param {number} b * @returns {*} * @see https://jsperf.com/math-min-vs-if-condition-vs/8 */ function max(a, b) { return a > b ? a : b;
}
/**
* Fast loop by way of watched components
*/

perform onScroll() {
record.forEach(updateVisibility);
}
/**
* updates seen property
* @param {Visble} merchandise
* @param {{}} evt
* @fires Visible#proven
* @fires Visible#hidden
*/

perform replaceSeen(merchandise, evt) {
var px = evt.visiblePx,
p.c = evt.visiblePercent; // if some pixels are seen and we’re larger/equal to threshold

if (px && p.c >= merchandise.shownThreshold && !merchandise.seen) {
merchandise.seen = true;
setTimeout(perform () {
merchandise.set off(“shown”, new VisibleOccasion(“shown”, evt));
}, 15); // if no pixels or p.c is lower than threshold
} else if ((!px || p.c < item.hiddenThreshold) && item.seen) { item.seen = false; setTimeout(function () { item.trigger("hidden", new VisibleEvent("hidden", evt)); }, 15); } } /** * sets preload property * @param {Visible} item * @param {{}} evt * @param {Number} innerHeight * @fires Visible#preload */ function updatePreload(item, evt, innerHeight) { if (!item.preload && item.preloadThreshhold && shouldBePreloaded(evt.target, evt.rect, item.preloadThreshhold, innerHeight)) { item.preload = true; setTimeout(function () { item.trigger("preload", new VisibleEvent("preload", evt)); }, 15); } } /** * Trigger events * @param {Visible} item */ function updateVisibility(item) { var rect = item.el.getBoundingClientRect(), innerHeight = $window.innerHeight || $document.documentElement.clientHeight, px = getVerticallyVisiblePixels(rect, innerHeight), percent = px / (rect.height || innerHeight), evt = { target: item.el, rect: rect, visiblePx: px, visiblePercent: percent }; updateSeen(item, evt); updatePreload(item, evt, innerHeight); } /** * Return normalized viewport height * @return {number} */ function getViewportHeight() /** * Return normalized viewport width * @return {number} */ function getViewportWidth() /** * make sure an element isn't hidden by styles or etc * @param {Element} el * @return {Boolean} */ function isElementNotHidden(el) { return el && el.offsetParent !== null && !el.getAttribute("hidden") && getComputedStyle(el).display !== "none" && getComputedStyle(el).visibility !== "hidden"; } /** * Apparently the fastest way... * @param {Element} el * @returns {boolean} * @example if (!$visibility.isElementInViewport(el)) { ... } */ function isElementInViewport(el) /** * @param {Element} el * @param {ClientRect} rect * @param {Number} preloadThreshhold * @param {Number} innerHeight * @return {Boolean} */ perform shouldBePreloaded(el, rect, preloadThreshhold, innerHeight) { return rect.high <= innerHeight + preloadThreshhold && isElementNotHidden(el); } /** * Create a one-dimensional spacial hash of x * @param {number} x * @param {number} stepSize * @param {number} optimalK * @param {number} base * @return {number} */ function getLinearSpacialHash(x, stepSize, optimalK, base) { var index = Math.floor(x / (stepSize || 1)), remainder = x % stepSize, result = index.toString(base); if (optimalK > 1) {
end result += getLinearSpacialHash(the rest, Math.ground(stepSize / base), optimalK – 1, base);
}

return end result;
}
/**
* @param {ClientRect} rect
* @param {quantity} innerHeight
* @returns {quantity}
*/

perform getVerticallyVisiblePixels(rect, innerHeight) {
return min(innerHeight, max(rect.backside, 0)) – min(max(rect.high, 0), innerHeight);
}
/**
* Get offset of component relative to whole web page
*
* @param {Element} el
* @returns {{left: quantity, high: quantity}}
* @see https://jsperf.com/offset-vs-getboundingclientrect/7
*/

perform getPageOffset(el) {
var offsetLeft = el.offsetLeft,
offsetTop = el.offsetTop;

whereas (el = el.offsetParent) {
offsetLeft += el.offsetLeft;
offsetTop += el.offsetTop;
}

return {
left: offsetLeft,
high: offsetTop
};
}
/**
* Create a brand new Visible class to look at when components enter and depart the viewport
*
* Call destroy perform to cease listening (that is till we have now higher help for looking ahead to Node Removal)
* @param {Element} el
* @param {{shownThreshold: quantity, hiddenThreshold: quantity}} [options]
* @class
* @instance this.seen = new $visibility.Visible(el);
*/

Visible = perform Visible(el, choices) {
choices = choices || {};
this.el = el;
this.seen = false;
this.preload = false;
this.preloadThreshhold = choices && choices.preloadThreshhold || 0;
this.shownThreshold = choices && choices.shownThreshold || 0;
this.hiddenThreshold = choices && min(choices.shownThreshold, choices.hiddenThreshold) || 0;
record.push(this);
updateVisibility(this); // set instantly to seen or not
};

Visible.prototype = {
/**
* Stop triggering.
*/
destroy: perform destroy() {
// take away from record
record.splice(record.indexOf(this), 1);
}
/**
* @identify Visible#on
* @perform
* @param ‘hidden’ e EventName
* @param {perform} cb Callback
*/

/**
* @identify Visible#set off
* @perform
* @param ‘hidden’ e
* @param {{}}
*/

};
Eventify.allow(Visible.prototype);

VisibleOccasion = perform VisibleOccasion(sort, choices) {
var _this = this;

this.sort = sort;
Object.keys(choices).forEach(perform (key) {
_this[key] = choices[key];
});
}; // pay attention for scroll occasions (throttled)

$doc.addEventListener(“scroll”, _throttle(onScroll, 200)); // public

this.getPageOffset = getPageOffset;
this.getLinearSpacialHash = getLinearSpacialHash;
this.getVerticallyVisiblePixels = getVerticallyVisiblePixels;
this.getViewportHeight = getViewportHeight;
this.getViewportWidth = getViewportWidth;
this.isElementNotHidden = isElementNotHidden;
this.isElementInViewport = isElementInViewport;
this.Visible = Visible;
}]);
}, {}];
require=(perform e(t,n,r){perform s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==”function”&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(“Cannot find module ‘”+o+”‘”);throw f.code=”MODULE_NOT_FOUND”,f}var l=n[o]={exports:{}};t[o][0].name(l.exports,perform(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==”function”&&require;for(var o=0;o