Connect with us

Health

Why the coronavirus mutation in Danish minks matters.

Why the coronavirus mutation in Danish minks matters.
Why the coronavirus mutation in Danish minks matters.

 


White minks in cages
Minks on a farm in Herning, Denmark.
Ole Jensen/Getty Images

Officials in Denmark announced Wednesday that they would be euthanizing every last mink in the country’s fur farms, some 17 million animals. The news came after a discovery by Danish scientists that SARS-CoV-2, the official name for the virus that causes COVID-19, had mutated in captive minks, producing a strain of the coronavirus that is not readily stopped by antibodies to the dominant strain of the virus. More troublingly, this new strain is still transmissible from minks to humans, raising dire concerns about the efficacy of vaccines currently in development worldwide.

There are currently five reported cases of the new strain in minks and 12 cases in humans, all workers at one of the roughly 1,100 mink farms in Denmark. Although the humans are being monitored, isolated, and treated in keeping with recommendations from public health officials, the minks are not so lucky—mass extermination is already underway. More than 400 mink farms have already culled the entirety of their mink populations, likely by gassing them.
Police and military personnel are being deployed to destroy all minks on the remaining farms as soon as possible. All told, it will cost an estimated cost of $785 million.

Since the beginning of the pandemic, more than 50 animal species have tested positive for the dominant strain of SARS-CoV-2. When news broke in April that several domestic dogs and cats had tested positive, there were no calls for mass euthanasia of house pets. Spread to wild animals—tigers, bats, and great apes to name a few—has also been documented, but at no point did epidemiologists recommend such dramatic intervention to stop the spread in those species, several of which are endangered. The case of the Danish minks, however, is different. Other animal species that have caught the coronavirus from people were infected with the dominant strain of the virus, the one that’s been making headlines for the better part of the past year. Additionally, most of those species turned out to be dead-end hosts for the virus, meaning that although the virus could infect those animals, and even cause disease in those animals, the virus was unable to turn around and jump from animal to human, a phenomenon called zoonosis.

Minks are an exception to this rule. The European mink industry has been battling outbreaks of the dominant strain of COVID on farms since June, after a rash of COVID-19 cases in people in northern Denmark was ultimately traced back to those farms. Once it became clear that the animals themselves were the source of the infections, minks were slaughtered en masse on farms where these outbreaks had taken place. The Netherlands culled more than 10,000 after coronavirus outbreaks this summer. Officials in Spain slaughtered almost 10 times as many after an outbreak occurred at a farm in the Aragón province. Those minks were contracting and spreading the dominant strain of the coronavirus, the one we all know and dread.

The development this week is the discovery that minks in Denmark are now testing positive for a mutant strain of the virus that is not readily destroyed by COVID antibodies. Experts warn that if the outbreak of this mutant strain is not sufficiently contained, the world could be facing a second pandemic.

So how did the mutation happen? Every organism on the planet mutates. When the genetic code is getting copied, errors occur frequently. When a letter in the genome is inadvertently replaced with a different letter, that is called a mutation. The vast majority of mutations are either inconsequential or cause harm to the organism. Rarely, though, a mutation will actually empower the organism—in this case, the virus.

Coronaviruses as a general rule mutate slowly compared with other viruses. Take, for instance, the seasonal flu. Because influenza viruses can shuffle their genetic code like a deck of cards, battling the flu with seasonal vaccines is perpetually frustrating; some years the efficacy of the flu vaccine is as low as 10 percent. By the time researchers can develop a more effective vaccine, the flu has mutated again, often rendering the previous year’s vaccine useless. Because studies confirmed that SARS-CoV-2 was not undergoing significant mutations as it spread from person to person, researchers were optimistic in the early stages of the pandemic that a vaccine would confer long-lasting protection, unlike the flu vaccine.

However, SARS-CoV-2 has mutated before. Back in May, there was a small panic about a coronavirus mutation that seemed to increase the virus’s transmissibility, or the ease with which it passes from one person to another, thanks to a modification in a spike protein on its surface. The fears later proved unfounded, spread by nonscientists over-interpreting the paper after it was discussed in publicly accessible online forums prior to peer review. Fortunately, researchers were later able to confirm that this mutation did not represent a paradigm shift in our response to the virus, nor would the mutation affect vaccine development; antibodies made against viral strains with the spike protein mutation were still able to destroy the previous, unmutated version of the virus.

“The worst-case scenario is a new pandemic, starting all over again out of Denmark.”

— Kåre Mølbak

The virus produced by the mink mutation, on the other hand, seems impervious to antibodies produced in response to the dominant strain of the virus. What makes this mutation so much more troubling than previous mutations is not that the mutation increases how quickly the virus will spread, nor that it increases the severity of resultant disease. It’s the fact that the immune system cannot transfer knowledge about one form of the virus in fighting the other form. From the perspective of your immune system, they are two different viruses altogether.

In other words, if you have survived COVID-19, your immune system remains largely unequipped to battle the mink strain. Once pharmaceutical companies finish their monthslong race to devise an effective COVID vaccine, the vaccine would likely provide little protection against the emerging strain. The virus has mutated into what could eventually be thought of as COVID 2.0 if the Danes fail to contain its spread.

Kåre Mølbak, who directs the Danish government’s public health and infectious disease arm, summed it up when he told Reuters on Wednesday, “The worst-case scenario is a new pandemic, starting all over again out of Denmark.”

There is, fortunately, some cause for cautious optimism here. First, we don’t know yet how the mutant strain will affect the human body clinically. The 12 people infected with the mink strain may all remain symptom-free if the mink mutation also happens to have lowered its ability to cause disease. For all we know, the mutation could just as easily result in a virus that is even better at killing people than the current virus. We simply don’t have enough information.

The second silver lining is the low case count of this mutant coronavirus—currently 12 people and just five animals. Given the rapid, aggressive governmental response, there is a good chance that this mutation will be stamped out before it can spread significantly, at least in the mink population. What hangs in the balance is the fate of the 12 infected people whose current health status remains unknown. Were they asymptomatic for a time? Did they have contact with friends and family prior to diagnosis? Will they spread it to health care workers treating them? Barring the hope for an impotent strain of the virus, it’s not hard to imagine a scenario in which cases of the mink strain explode exponentially, similar to the course of the original virus.

As our twin COVID-19 battles of public health and public resistance rage on in the U.S., the laudable response by officials in Europe stands in stark contrast to the response here. Wearing face covers, socially distancing, washing our hands frequently, and quarantining when appropriate are all we can do as individuals. But the governmental response—contact tracing, free and speedy testing, a health care system that won’t obliterate you with medical debt—is every bit as important. Fortunately for the world, the mink mutation didn’t happen here.

Future Tense
is a partnership of
Slate,
New America, and
Arizona State University
that examines emerging technologies, public policy, and society.

element for the amplitude component,
* hit the Amplitude APlog the page view.
* This function calls itself up to RETRY_LIMIT times
* with a RETRY_DELAY delay, because the device ID isn’t
* available right away.
*
* If the device ID isn’t found after RETRY_LIMIT times,
* then log the page view without the device ID.
*
* @param {Element} el
* @param {int|undefined} attemptCount // defaults to 0
*/
// find a component by classname and verify the data-uri matches
// returns the component element, or `undefined` if it can’t be found or verified

function findComponent(name) {
var component = document.body.querySelector(“.” + name);

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

if (uri && uri.split(“/”)[2] === name) {
return component;
}
}
}

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

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

return breakpoints[0][0];
}

function logPageView(instance, el, mpvCookie) {
var pageviewProperties = slateAmplitude.getDomEventData(el);
pageviewProperties.search = window.location.search;
pageviewProperties.amplitude_id = instance.options ? instance.options.deviceId : “no options – no deviceId”;
pageviewProperties.viewportWidth = document.documentElement.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());

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

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

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

var product = findComponent(“product”);

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

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

if (newsletterSignup) {
pageviewProperties[“Newsletter Signup Placement”] = “In Content”; // eventually there will be other values for this
} // event properties to measure the effectiveness of slate plus button

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

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

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

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

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

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

via.removeFromLocation();
}

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

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

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

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

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

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

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

function trackEndOfArticle() {
var parahTombstone = document.querySelector(“.slate-paragraph–tombstone”);

if (!parahTombstone) {
return;
} //makes sure tracking is only sent once because of throttling

var trackSent = _once(function () {
slateAmplitude.track(“Completed article”);
slatePermutive.track(“ArticleCompletion”);
document.removeEventListener(“scroll”, trackScrolling);
});

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

if (parahTombstone.offsetTop + parahTombstone.offsetHeight <= scrollY + window.innerHeight) { trackSent(); } }, 300); document.addEventListener("scroll", trackScrolling); } function logUserProperties(instance) { instance = instance || 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 instance.setUserProperties(userProps); } function handleMpvCookie(el) { var pageTypesThatIncrement = ["article"https://slate.com/technology/2020/11/,"coverstory"https://slate.com/technology/2020/11/,"plus"]; var pageType = el.dataset.pagetype; var isCorrectPageType = pageTypesThatIncrement.includes(pageType); var mpvCookie = getMpvCookie(); if (isCorrectPageType) { mpvCookie = updateMpvValue(mpvCookie, el.dataset.pageHash); setMpvCookie(mpvCookie); } return mpvCookie; } function Constructor(el) { var mpvCookie = handleMpvCookie(el); window.slateAmplitudeQueue.push(function (instance) { // Add some tracking callbacks trackAffiliateLinks(); trackEndOfArticle(); logPageView(instance, el, mpvCookie); logUserProperties(); via.setPageType(el.dataset.pagetype); }); } return Constructor; }]); }, {"1":1,"2":2,"3":3,"39":39,"47":47,"48":48}]; 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(function (breakpoint) { window.matchMedia("(min-width: " + breakpoint + "px)").addListener(updatePosition); }); } } Constructor.prototype = { // when this query finds the element immediately following the recirc, // we will execute the repositioning logic - it's ok to cautiously add components here // but be sure to test the layout at all breakpoints getOriginalReferenceNode: function getOriginalReferenceNode() { return this.el.parentNode.querySelector(".slate-paragraph, .partner-branding"); }, // given a parent node, find the first suitable child element // to insert the recirc element before (on mobile devices) getOverrideReferenceNode: function getOverrideReferenceNode() { // re-insert after the second paragraph or visible ad var refCount = 0; var numSibs = this.el.parentNode.children.length; var ref = this.el.parentNode.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["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://slate.com/technology/2020/11/,"C0003"https://slate.com/technology/2020/11/,"C0004"], initFunc: function initFunc(consent) { if (!consent) return false; function getCookie(a) { var b = document.cookie.match("(^|[^;]+)\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.identify(identities);
}

permutive.consent({
opt_in: consent,
token: consentTokenName
});
permutive.addon(“web”, window.slatePermutiveData);
var elem = document.createElement(“script”);
elem.src = “https://cdn.permutive.com/” + el.dataset.permutiveProjectId + “-web.js”;
elem.defer = true;
var scpt = document.getElementsByTagName(“script”)[0];
scpt.parentNode.insertBefore(elem, scpt);
return true;
},
updateConsentFunc: function updateConsentFunc(consent) {
if (permutive) {
try {
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.ready(function () {
// Amplitude is loaded later, so we have to queue our identify call
window.slateAmplitudeQueue.push(function () {
var permutiveIdentities = [];

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

try {
var amplitudeId = window.amplitude.getInstance().options.deviceId;

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

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

var slateAmplitude = require(2);

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

var cookies = require(42); // 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 could turn out to be useful if we need to do anything with the hydrated tp object
// tp.push([“init”, () => void (tp = window.tp)]); // re-assign local variable after init
// todo: is it ok to run this after tp init?

try {
var articleData = slateAmplitude.getDomEventData(); // The content published date

tp.push([“setContentCreated”, articleData.pub_date]); // The content author -only one is allowed according to their docs..

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

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

tp.push([“setCustomVariable”https://slate.com/technology/2020/11/,”contentRubric”, articleData.rubric]); // The content tags

tp.push([“setTags”, articleData.tags]);
} catch (e) {
console.error(e);
} // If the content is native advertising
// tp.push([“setContentIsNative”, false]);
// The custom params
// todo: what is this and how does it differ from a custom variable
// tp.push([“setCustomParam”https://slate.com/technology/2020/11/,”type”https://slate.com/technology/2020/11/,”premium”https://slate.com/technology/2020/11/,”content”]);
// The AAM Zone
// tp.push([“setZone”https://slate.com/technology/2020/11/,”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://slate.com/technology/2020/11/,”.dev.slate.com”https://slate.com/technology/2020/11/,”.stage.slate.com”https://slate.com/technology/2020/11/,”.slate.com”].forEach(function (d) {
[“splus”https://slate.com/technology/2020/11/,”sp_secure_id”https://slate.com/technology/2020/11/,”lf_secure_login_id”].forEach(function (c) {
cookies.remove(c, {
domain: d
});
});
});

try {
for (var i = 0; i < localStorage.length; i++) { if (localStorage.key(i).indexOf("fyre") > -1) {
localStorage.removeItem(localStorage.key(i));
}
}
} catch (e) {// do nothing, if an exception is thrown accessing cookies or storage,
// then we probably never had anything stored in the first place
}
}
});
}]);
}, {“2″:2,”41″:41,”42”:42}];
window.modules[“adblock-message.client”] = [function(require,module,exports){“use strict”;

var membership = require(1),
isMember = membership.isMember(),
isAbEnabled = require(3).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 {
// using `var` to set this in the function scope
var pageView = localStorage.pageview || 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.next()).done); _iteratorNormalCompletion = true) {
var reg = _step.value;
var valid = reg && reg.active && reg.active.scriptURL;

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

var slateAmplitude = require(2);

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

window.addEventListener(“beforeinstallprompt”, function (e) {
e.userChoice.then(function (choiceResult) {
if (choiceResult.outcome === “dismissed”) {
slateAmplitude.track(“PWA – dismissed install prompt”);
} else {
slateAmplitude.track(“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: function initFunc(consent) {
if (!consent) return;
var elem = document.createElement(“script”);
elem.src = “https://z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&adInstanceId=797217ac-ca6e-482f-8925-4c302e9c855c”;
elem.defer = true;
elem.type = “text/javascript”;
var scpt = document.getElementsByTagName(“script”)[0];
scpt.parentNode.insertBefore(elem, scpt);
},
updateConsentFunc: function updateConsentFunc(consent) {
if (!consent) {// not much we can do 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(64),
_pickBy = require(68),
_each = require(67),
DS = require(63);

var _once = require(66);

var _throttle = require(65);

var Cookies = require(42);

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://slate.com/technology/2020/11/,”$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 = $document.querySelectorAll(‘[data-uri$=”/_components/’ + name + ‘”]’); // matches data-uri=”/_components/

_each(components, initController(name));

_each(defaultComponents, initController(name));
}); // expose list of components on the page

this.components = list;

function initController(name) {
return function (component) {
try {
$module.get(name, component);
} catch (error) {
logMountError(component, error);
}
};
}
}]); // other components might want to interact with our service, but we’ll start it here.

DS.get(‘components’);
}
/**
* Log an error mounting the client script for the specified element.
* @param {HtmlElement} el
* @param {Error} error
*/

function logMountError(el, error) {
// element tag will be the full contents of the component’s tag such as:
//

var elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(‘Error attaching controller to ‘ + elementTag, error);
} // globals (like DS) must be registered before other files call DS.service() or DS.component()

registerGlobals(); // wait until everything else has been mounted before instantiating legacy DS controllers

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

DS.service(“adService”, [“$window”https://slate.com/technology/2020/11/,”headerBidding”https://slate.com/technology/2020/11/,”$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 adIndex = {},
adSlotsWithRefresh = [],
testParam = getTestParam(),
pageId = getPageId(),
slotData = [];
/**
* Checks if url query parameters contain ‘test_ads’ and returns it’s value
* @return {string}
*/

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

$window.googletag.cmd.push(function () {
var pageType = document.querySelector(“.js-analytics-js-data”).getAttribute(“data-pagetype”).replace(” “https://slate.com/technology/2020/11/,”-“);
$window.googletag.pubads().disableInitialLoad();
$window.googletag.enableServices();
var cacheBustValue = Math.floor(Math.random() * 10000000000000),
cacheBustMeta = document.querySelectorAll(‘meta[name=”dfp-cache-buster”]’)[0];

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

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

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

if (testParam) {
googletag.pubads().setTargeting(“kw”https://slate.com/technology/2020/11/,”test_” + testParam);
} // AB value

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

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

enableAdRefresh();
});
/*
* Request ad from the DFP
*/

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

function enableAdRefresh() {
googletag.pubads().addEventListener(“slotRenderEnded”, function (event) {
var slot = event.slot;
var slotId = slot.getSlotElementId();
var slotElement = $window.document.getElementById(slotId);

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

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

function addRefreshToSlot(slot, ad_data, slotElement) {
var refreshInterval = 30000;
setInterval(function () {
if (adIsInView(slotElement)) {
headerBidding.prebid(ad_data, slot);
}
}, refreshInterval);
}
/**
* Removes prebid targeting
* Adds targetig for the specific height
*/

function updateSlotTargeting(slot) {
slot.clearTargeting(“hb_adid”);
slot.clearTargeting(“hb_bidder”);
slot.clearTargeting(“hb_pb”);
slot.clearTargeting(“hb_size”);
slot.setTargeting(“refresh”https://slate.com/technology/2020/11/,”yes”);
}
/**
* Checks ad’s size to make sure it’s enabled to refresh
*/

function refreshEnabled(size) {
// Nonstandard ad sizes, not allowed to refresh
var teadsSize = “2×2”,
nativeSize = “1×2”,
customSize = “1×3”,
podcastTextAdSize = “1×4”;
return size !== teadsSize && size !== nativeSize && size !== customSize && size !== podcastTextAdSize;
}
/**
* Checks if ad slot is in view and window is focused
*/

function adIsInView(slotElement) {
var windowHasFocus = $window.document.hasFocus();

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

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

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

el.id = type + “-” + adIndex[type];
adIndex[type]++;
var ad = {
id: el.id,
type: type,
adUnit: getAdUnit(),
prebid: getBoolean(prebid),
dfpSizes: getSizeArray(dataDfpSizes),
prebidSizes: getSizeArray(dataPrebidSizes),
rubiconZoneId: rubiconZoneId,
appnexusPlacementId: appnexusPlacementId,
criteoZoneId: criteoZoneId,
indexSiteId: indexSiteId,
tripleliftCode: tripleliftCode,
gptSlot: null,
defineSlot: function defineSlot() {
this.gptSlot = $window.googletag.defineSlot(this.adUnit, this.dfpSizes, this.id);
slotData[this.id] = this;
this.gptSlot.addService(googletag.pubads()); // slot level targeting

this.gptSlot.setTargeting(“site”https://slate.com/technology/2020/11/,”redux”);
this.gptSlot.setTargeting(“refresh”https://slate.com/technology/2020/11/,”no”);
this.gptSlot.setTargeting(“pos”, this.id);
$window.googletag.display(this.id);
}
};
return ad;
};
/**
* Converts “true” / “false” strings to boolean
* @param {string} value
* @returns {boolean}
*/

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

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

if (sizes && sizes.length) {
sizes = sizes.split(“,”);
sizes.map(function (size) {
size = size.split(“x”);
var w = parseInt(size[0]);
var h = parseInt(size[1]);
sizesArray.push([w, h]);
});
}

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

function getAdNode() {
var adNodeElement = document.querySelector(“div[data-adnode]”),
adNode = “”;

if (adNodeElement) {
adNode = adNodeElement.getAttribute(“data-adnode”);
}

return adNode;
}
/**
* Returns DFP ad unit
* @returns {string}
*/

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

function getPageId() {
var html = window.document.documentElement,
dataUri = html.getAttribute(“data-uri”),
pageId = dataUri.split(“/”)[2].replace(“@published”https://slate.com/technology/2020/11/,””);
return pageId;
}
}]);
}, {}];
window.modules[“headerbidding.legacy”] = [function(require,module,exports){“use strict”;

DS.service(“headerBidding”, function () {
var adData,
permutiveData = getPermutiveData(),
standardSegs = getStandardSegs(),
section = getSection(),
isMember = require(1).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 ad data at this time,
// before we re-assign those variable names when we run auctions for other ad units

var data = adData;
pbjs.requestBids({
adUnitCodes: [adData.id],
bidsBackHandler: function bidsBackHandler() {
googletag.cmd.push(function () {
pbjs.que.push(function () {
// gpt slot must be defined before bids are set
defineGptSlot(data);
pbjs.setTargetingForGPTAsync([data.id]); // add winning bid to the ad slot

pbjs.removeAdUnit(data.id); // remove ad unit from prebid

data.biddersManager.prebid = true; // mark prebid as done

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

this.getBidsFromAmazon = function () {
var apsAdUnit = this.createApsAdUnit(),
prebidTimeout = pbjs.getConfig(“bidderTimeout”),
timeout = prebidTimeout ? prebidTimeout : 800,
// cache a reference to the ad data at this time,
// before we re-assign those variable names when we run auctions for other ad units
data = adData;

if (apstag) {
apstag.fetchBids({
slots: [apsAdUnit],
timeout: timeout
}, function (bids) {
googletag.cmd.push(function () {
// gpt slot must be defined before bids are set
defineGptSlot(data);
apstag.setDisplayBids();
data.biddersManager.amazon = true; // mark amazon as done

bidderFinished(data);
});
});
}
}; // check if both prebid and amazon are done
// and if the ad server request hasn’t been sent yet

function bidderFinished(data) {
if (data.biddersManager.amazon && data.biddersManager.prebid) {
callAdServer(data);
}
} // call ad server

function callAdServer(data) {
if (data.biddersManager.adserverRequestSent) {
return;
}

data.biddersManager.adserverRequestSent = true;
googletag.cmd.push(function () {
googletag.pubads().refresh([data.gptSlot], {
changeCorrelator: false
}); // send request to the dfp
});
} // gpt slot is defined here, after header bidding, because we don’t
// want to delay header bidding until gpt is ready
// this function will be called from amazon callback, prebid callback and after timeout
// slot will be defined just once

function defineGptSlot(data) {
// check if gpt slot has been already defined
if (!data.gptSlot) {
data.defineSlot();
}
} // Returns prebid ad unit

this.createPrebidAdUnit = function () {
var outstreamMediaType = {
context: “outstream”,
playerSize: [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.type)) {
adUnit.mediaTypes.video = outstreamMediaType;
}

return adUnit;
}; // returns an array of bidders to call
// bidders are added in the order they will be called by prebid

this.getBidders = function () {
var isMobile = window.innerWidth < 768, isMobileLeaderboard = adData.type === "leaderboard-mobile", bidders = []; if (this.outstreamEnabled(adData.type)) { bidders.push(this.teads()); bidders.push(this.spotx()); } bidders.push(this.appnexus()); bidders.push(this.triplelift()); // kargo is a mobile only partner if (isMobile) { if (!isMobileLeaderboard) { // if this isn't mobile leaderboard kargo can be added bidders.push(this.kargo()); } else if (!isMember) { // kargo uses mobile leaderboard to server sticky ads // we don't want to show sticky ads to slate plus users // therefore if this is mobile leaderboard, include kargo // only if this isn't slate plus user bidders.push(this.kargo()); } } bidders.push(this.rubicon()); // do not include index in prebid for EU users if (!this.isEuUser()) { // index exchange needs one bid per size 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.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, p_standard: standardSegs } } }; }; // Returns data for rubicon bid request this.rubicon = function () { return { bidder: "rubicon", params: { accountId: "13590", siteId: "60302", zoneId: adData.rubiconZoneId } }; }; 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 } }; }; this.spotx = function () { var channelId = getSpotxChannelId(); return { bidder: "spotx", params: { channel_id: channelId, ad_unit: "outstream", outstream_function: function outstream_function(bid, script) { // temporary fix to spotx styling issues var slot = bid.renderer.config.outstream_options.slot; if (slot && window.document.getElementById(slot)) { try { var imaDiv = window.document.getElementById(slot).children[0]; var contentContainer = window.document.createElement("div"); var newId = "spotx-" + Math.random(); script.setAttribute("data-spotx_content_container_id", newId); contentContainer.id = newId; window.document.getElementById(slot).appendChild(contentContainer); imaDiv.style.display = "none"; window.document.getElementById(slot).appendChild(script); } catch (error) { window.document.getElementById(slot).appendChild(script); } } else { window.document.getElementsByTagName("head")[0].appendChild(script); } }, outstream_options: { slot: adData.id, content_width: 444, playersize_auto_adapt: true, custom_override: { click_to_replay: 1, show_pause_overlay: 1 } } } }; }; // outstream is enabled only for some in-article slots // slate plus members are excluded this.outstreamEnabled = function (type) { var outstreamEnabledTypes = ["mid-article-spot"https://slate.com/technology/2020/11/,"mid-article-spot-tablet"https://slate.com/technology/2020/11/,"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 data

function getPermutiveData() {
var pSegs;

try {
pSegs = JSON.parse(window.localStorage._papns || “[]”).slice(0, 250).map(String);
} catch (e) {
pSegs = [];
}

return pSegs;
}

function getStandardSegs() {
var pSegs;

try {
// future-proof for when _psegs move to _ppam
var a = JSON.parse(window.localStorage._psegs).map(Number).filter(function (seg) {
return seg >= 1000000;
}).map(String);
var b = JSON.parse(window.localStorage._ppam || “[]”);
pSegs = a.concat(b);
} catch (e) {
pSegs = [];
}

return pSegs;
}

function getTeadsData() {
// teads data for each section
var teadsData = {
news_and_politics: {
pageId: 79225,
placementId: 85784
},
culture: {
pageId: 90291,
placementId: 97769
},
technology: {
pageId: 90293,
placementId: 97775
},
business: {
pageId: 90294,
placementId: 97778
},
human_interest: {
pageId: 90292,
placementId: 97772
}
};
return teadsData[section];
}

function getSpotxChannelId() {
var channelId = 301647;

if (section === “news_and_politics”) {
channelId = 301477;
} else if (section === “culture”) {
channelId = 301481;
} else if (section === “technology”) {
channelId = 301485;
} else if (section === “business”) {
channelId = 301483;
} else if (section === “human_interest”) {
channelId = 301479;
}

return channelId;
}

function getSection() {
var adnodeElement = document.querySelector(“div[data-adnode]”);
var adNode = adnodeElement.getAttribute(“data-adnode”);
var section = adNode.split(“/”)[0];
return section;
}
});
}, {“1”:1}];
window.modules[“lazyload.legacy”] = [function(require,module,exports){“use strict”;

require(69); // for side effects

var Layzr = require(70);

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);
});
}, {“69″:69,”70”:70}];
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 v4.13.0
Updated : 2020-10-30 */
!function (u) {
var s = window.pbjsChunk;

window.pbjsChunk = function (e, t, n) {
for (var r, i, o, a = 0, c = []; a < e.length; a++) { i = e[a], d[i] && c.push(d[i][0]), d[i] = 0; } for (r in t) { Object.prototype.hasOwnProperty.call(t, r) && (u[r] = t[r]); } for (s && s(e, t, n); c.length;) { c.shift()(); } if (n) for (a = 0; a < n.length; a++) { o = f(f.s = n[a]); } return o; }; var n = {}, d = { 357: 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 = 896); }({ 0: 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 return t ? (t ^ M() >> t / 4).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, e);
}, t.getBidIdParameter = function (e, t) {
if (t && t[e]) return t[e];
return “”;
}, t.tryAppendQueryString = function (e, t, n) {
if (n) return e + t + “=” + encodeURIComponent(n) + “&”;
return e;
}, t.parseQueryStringParameters = function (e) {
var t = “”;

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

return t = t.replace(/&$/, “”);
}, t.transformAdServerTargetingObj = function
return t && 0 < Object.getOwnPropertyNames return "".concat(e, "=").concat(encodeURIComponent(t[e])); }).join("&") : ""; }, t.getAdUnitSizes = function (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 = function (e) { var t = []; if ("string" == typeof e) { var n = e.split(","), r = /^(d)+x(d)+$/i; if (n) for (var i in n) { oe(n, i) && n[i].match(r) && t.push(n[i]); } } else if ("object" === h(e)) { var o = e.length; if (0 < o) if (2 === o && "number" == typeof e[0] && "number" == typeof e[1]) t.push(G(e));else for (var a = 0; a < o; a++) { t.push(G(e[a])); } } return t; }, t.parseGPTSingleSizeArray = G, t.parseGPTSingleSizeArrayToRtbSize = function (e) { if (W(e)) return { w: e[0], h: e[1] }; }, t.getWindowTop = L, t.getWindowSelf = F, t.getWindowLocation = z, t.logMessage = V, t.logInfo = H, t.logWarn = K, t.logError = J, t.hasConsoleLogger = function () { return _; }, t.debugTurnedOn = Q, t.createInvisibleIframe = function () { var e = document.createElement("iframe"); return e.id = q(), e.height = 0, e.width = 0, e.border = "0px", e.hspace = "0", e.vspace = "0", e.marginWidth = "0", e.marginHeight = "0", e.style.border = "0", e.scrolling = "no", e.frameBorder = "0", e.src = "https://slate.com/technology/2020/11/about:blank", e.style.display = "none", e; }, t.getParameterByName = function (e) { return Ie(z().search)[e] || ""; }, t.isA = $, t.isFn = X, t.isStr = Z, t.isArray = ee, t.isNumber = te, t.isPlainObject = ne, t.isBoolean = function (e) { return $(e, C); }, t.isEmpty = re, t.isEmptyStr = function (e) { return Z(e) && (!e || 0 === e.length); }, t._each = ie, t.contains = function (e, t) { if (re(e)) return !1; if (X(e.indexOf)) return -1 !== e.indexOf var n = e.length; for (; n--;) { if (e[n] === t) return !0; } return !1; }, t._map = function (n, r) { if (re(n)) return []; if (X(n.map)) return n.map(r); var i = []; return ie(n, function (e, t) { i.push(r(e, t, n)); }), i; }, t.hasOwn = oe, t.insertElement = ae, t.triggerPixel = ce, t.callBurl = function (e) { var t = e.source, n = e.burl; t === S.S2S.SRC && n && k.triggerPixel(n); }, t.insertHtmlIntoIframe = function (e) { if (!e) return; var t = document.createElement("iframe"); t.id = q(), t.width = 0, t.height = 0, t.hspace = "0", t.vspace = "0", t.marginWidth = "0", t.marginHeight = "0", t.style.display = "none", t.style.height = "0px", t.style.width = "0px", t.scrolling = "no", t.frameBorder = "0", t.allowtransparency = "true", k.insertElement(t, document, "body"), t.contentWindow.document.open(), t.contentWindow.document.write(e), t.contentWindow.document.close(); }, t.insertUserSyncIframe = ue, t.createTrackPixelHtml = function (e) { if (!e) return ""; var t = encodeURI(e), n = '

‘;
return n += ‘

‘;
}, t.createTrackPixelIframeHtml = se, t.getValueString = de, t.uniques = fe, t.flatten = le, t.getBidRequest = function (n, e) {
return n ? (e.some(function (e) {
var t = c()(e.bids, function
return [“bidId”https://slate.com/technology/2020/11/,”adId”https://slate.com/technology/2020/11/,”bid_id”].some(function (e) {
return t[e] === n;
});
});
return t && (r = t), t;
}), r) : void 0;
var r;
}, t.getKeys = pe, t.getValue = ge, t.getKeyByValue = function (e, t) {
for (var n in e) {
if (e.hasOwnProperty(n) && e[n] === t) return n;
}
}, t.getBidderCodes = function () {
return (0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : pbjs.adUnits).map(function (e) { return e.bids.map(function (e) { return e.bidder; }).reduce(le, []); }).reduce(le).filter(fe); }, t.isGptPubadsDefined = be, n.d(t, "getHighestCpm", function () { return ve; }), n.d(t, "getOldestHighestCpmBid", function () { return ye; }), n.d(t, "getLatestHighestCpmBid", function () { return he; }), t.shuffle = function (e) { var t = e.length; for (; 0 < t;) { var n = Math.floor(Math.random() * t), r = e[--t]; e } return e; }, t.adUnitsFilter = function (e, t) { return s()(e, t && t.adUnitCode); }, t.deepClone = Se, t.inIframe = function () { try { return k.getWindowSelf() !== k.getWindowTop(); } catch (e) { return !0; } }, t.isSafariBrowser = function () { return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent); }, t.replaceAuctionPrice = function (e, t) { if (!e) return; return e.replace(/${AUCTION_PRICE}/g, t); }, t.replaceClickThrough = function (e, t) { if (!e || !t || "string" != typeof t) return; return e.replace(/${CLICKTHROUGH}/g, t); }, t.timestamp = function () { return new Date().getTime(); }, t.hasDeviceAccess = function () { return !1 !== r.b.getConfig("deviceAccess"); }, t.checkCookieSupport = Ae, t.delayExecution = function (e, t) { if (t < 1) throw new Error("numRequiredCalls must be a positive number. Got ".concat var n = 0; return function () { ++n === t && e.apply(this, arguments); }; }, t.groupBy = function (e, n) { return e.reduce(function (e, t) { return (e[t[n]] = e[t[n]] || []).push }, {}); }, t.getDefinedParams = function (n, e) { return e.filter(function (e) { return n[e]; }).reduce(function (e, t) { return y(e, v({}, t, n }, {}); }, t.isValidMediaTypes = function (e) { var t = ["banner"https://slate.com/technology/2020/11/,"native"https://slate.com/technology/2020/11/,"video"]; if (!Object.keys(e).every(function (e) { return s()(t, e); })) return !1; if (e.video && e.video.context) return s()(["instream"https://slate.com/technology/2020/11/,"outstream"https://slate.com/technology/2020/11/,"adpod"], e.video.context); return !0; }, t.getBidderRequest = function (e, t, n) { return c()(e, function (e) { return 0 < e.bids.filter(function (e) { return e.bidder === t && e.adUnitCode === n; }).length; }) || { start: null, auctionId: null }; }, t.getUserConfiguredParams = function (e, t, n) { return e.filter(function (e) { return e.code === t; }).map(function (e) { return e.bids; }).reduce(le, []).filter(function (e) { return e.bidder === n; }).map(function (e) { return e.params || {}; }); }, t.getOrigin = function () { return window.location.origin ? window.location.origin : window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port : ""); }, t.getDNT = function () { return "1" === navigator.doNotTrack || "1" === window.doNotTrack || "1" === navigator.msDoNotTrack || "yes" === navigator.doNotTrack; }, t.isAdUnitCodeMatchingSlot = function return function (e) { return Ee(t, e); }; }, t.isSlotMatchingAdUnitCode = Oe, t.getGptSlotInfoForAdUnitCode = function (e) { var t; be() && (t = c()(window.googletag.pubads().getSlots(), Oe(e))); if gptSlot: t.getAdUnitPath(), divId: t.getSlotElementId() }; return {}; }, t.unsupportedBidderMessage = function (e, t) { var n = Object.keys(e.mediaTypes || { banner: "banner" }).join("https://slate.com/technology/2020/11/,"); 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 = function (e) { return e.replace(/(?:^|.?)([A-Z])/g, function (e, t) { return "_" + t.toLowerCase(); }).replace(/^_/, ""); }, t.cleanObj = function (n) { return Object.keys(n).reduce(function (e, t) { return void 0 !== n }, {}); }, t.pick = function (a, c) { return "object" === h(a) ? c.reduce(function (e, t, n) { if ("function" == typeof t) return e; var r = t, i = t.match(/^(.+?)sass(.+?)$/i); i && (t = i[1], r = i[2]); var o = a return "function" == typeof c[n + 1] && (o = c[n + 1](o, e)), void 0 !== o && (e[r] = o), e; }, {}) : {}; }, t.transformBidderParamKeywords = function (e) { var r = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : "keywords", i = []; return ie(e, function (e, t) { if (ee(e)) { var n = []; ie(e, function (e) { !(e = de(r + "." + t, e)) && "" !== e || n.push(e); }), e = n; } else { if (!Z(e = de(r + "." + t, e))) return; e = [e]; } i.push({ key: t, value: e }); }), i; }, t.convertTypes = function (r, i) { return Object.keys(r).forEach(function (e) { var t, n; i[e] && (X(r[e]) ? i[e] = r[e](i[e]) : i[e] = (t = r[e], n = i[e], "string" === t ? n && n.toString() : "number" === t ? Number(n) : n), isNaN(i[e]) && delete i.key); }), i; }, t.isArrayOfNums = function (e, t) { return ee(e) && (!t || e.length === t) && e.every(Te); }, t.fill = function (e, t) { for (var n = [], r = 0; r < t; r++) { var i = ne(e) ? Se(e) : e; n.push(i); } return n; }, t.chunk = function (e, t) { for (var n = [], r = 0; r < Math.ceil(e.length / t); r++) { var i = r * t, o = i + t; n.push(e.slice(i, o)); } return n; }, t.getMinValueFromArray = function (e) { return Math.min.apply(Math, p(e)); }, t.getMaxValueFromArray = function (e) { return Math.max.apply(Math, p(e)); }, t.compareOn = function (n) { return function (e, t) { return e[n] < t[n] ? 1 : e[n] > t[n] ? -1 : 0;
};
}, t.parseQS = Ie, t.formatQS = Ce, t.parseUrl = function (e, t) {
var n = document.createElement(“a”);
t && “noDecodeWholeURL” in t && t.noDecodeWholeURL ? n.href = e : n.href = decodeURIComponent(e);
var r = t && “decodeSearchAsString” in t && t.decodeSearchAsString;
return {
href: n.href,
protocol: (n.protocol || “”).replace(/:$/, “”),
hostname: n.hostname,
port: +n.port,
pathname: n.pathname.replace(/^(?!/)/, “/”),
search: r ? n.search : k.parseQS(n.search || “”),
hash: (n.hash || “”).replace(/^#/, “”),
host: n.host || window.location.host
};
}, t.buildUrl = function (e) {
return (e.protocol || “http”) + “://” + (e.host || e.hostname + (e.port ? “:”.concat(e.port) : “”)) + (e.pathname || “”) + (e.search ? “?”.concat(k.formatQS(e.search || “”)) : “”) + (e.hash ? “#”.concat(e.hash) : “”);
}, t.deepEqual = je, t.mergeDeep = we, t.cyrb53Hash = function (e) {
for (var t, n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 0, r = function r(e, t) { if (X(Math.imul)) return Math.imul(e, t); var n = (4194303 & e) * (t |= 0); return 4290772992 & e && (n += (4290772992 & e) * t | 0), 0 | n; }, i = 3735928559 ^ n, o = 1103547991 ^ n, a = 0; a < e.length; a++) { t = e.charCodeAt(a), i = r(i ^ t, 2654435761), o = r(o ^ t, 1597334677); } return i = r(i ^ i >>> 16, 2246822507) ^ r(o ^ o >>> 13, 3266489909), (4294967296 * (2097151 & (o = r(o ^ o >>> 16, 2246822507) ^ r(i ^ i >>> 13, 3266489909))) + (i >>> 0)).toString();
};
var r = n(3),
i = n(158),
o = n.n(i),
a = n(10),
c = n.n(a),
u = n(12),
s = n.n(u),
d = n(159);
n.d(t, “deepAccess”, function () {
return d.a;
});
var f = n(160);

function l(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,
i = !1,
o = 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) {
i = !0, o = e;
} finally {
try {
r || null == c.return || c.return();
} finally {
if (i) throw o;
}
}

return n;
}(e, t) || g(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 p(e) {
return function (e) {
if (Array.isArray(e)) return b(e);
}(e) || function (e) {
if (“undefined” != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e);
}(e) || g(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 g(e, t) {
if (e) {
if (“string” == typeof e) return b(e, t);
var n = Object.prototype.toString.call(e).slice(8, -1);
return “Object” === n && e.constructor && (n = e.constructor.name), “Map” === n || “Set” === n ? Array.from(e) : “Arguments” === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? b(e, t) : void 0;
}
}

function b(e, t) {
(null == t || t > e.length) && (t = e.length);

for (var n = 0, r = new Array
r[n] = e[n];
}

return r;
}

function v(e, t, n) {
return t in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e
}

function y() {
return (y = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) { var n = arguments for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } function h(e) { return (h = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { return _typeof(e); } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } n.d(t, "deepSetValue", function () { return f.a; }); var m, S = n(5), A = "Array", E = "String", O = "Function", T = "Number", I = "Object", C = "Boolean", j = Object.prototype.toString, w = Boolean(window.console), _ = Boolean(w && window.console.log), B = Boolean(w && window.console.info), U = Boolean(w && window.console.warn), x = Boolean(w && window.console.error), R = n(8), k = { checkCookieSupport: Ae, createTrackPixelIframeHtml: se, getWindowSelf: F, getWindowTop: L, getWindowLocation: z, insertUserSyncIframe: ue, insertElement: ae, isFn: X, triggerPixel: ce, logError: J, logWarn: K, logMessage: V, logInfo: H, parseQS: Ie, formatQS: Ce, deepEqual: je }, D = {}, N = function (e, t) { return t; }.bind(null, 1, D)() === D ? Function.prototype.bind : function (e) { var t = this, n = Array.prototype.slice.call(arguments, 1); return function () { return t.apply(e, n.concat(Array.prototype.slice.call(arguments))); }; }, P = (m = 0, function () { return ++m; }); function q() { return P() + Math.random().toString(16).substr(2); } function M() { return window && window.crypto && window.crypto.getRandomValues ? crypto.getRandomValues(new Uint8Array(1))[0] % 16 : 16 * Math.random(); } function G(e) { if (W(e)) return e[0] + "x" + e[1]; } function W(e) { return ee(e) && 2 === e.length && !isNaN(e[0]) && !isNaN(e[1]); } function L() { return window.top; } function F() { return window.self; } function z() { return window.location; } function V() { Q() && _ && console.log.apply(console, Y(arguments, "MESSAGE:")); } function H() { Q() && B && console.info.apply(console, Y(arguments, "INFO:")); } function K() { Q() && U && console.warn.apply(console, Y(arguments, "WARNING:")); } function J() { Q() && x && console.error.apply(console, Y(arguments, "ERROR:")), R.emit(S.EVENTS.AUCTION_DEBUG, { type: "ERROR", arguments: arguments }); } function Y(e, t) { return e = [].slice.call(e), t && e.unshift } function Q() { return !!r.b.getConfig("debug"); } function $(e, t) { return j.call(e) === "[object " + t + "]"; } function X(e) { return $(e, O); } function Z(e) { return $(e, E); } function ee(e) { return $(e, A); } function te(e) { return $(e, T); } function ne(e) { return $(e, I); } function re(e) { if (!e) return !0; if (ee(e) || Z(e)) return !(0 < e.length); for (var t in e) { if (hasOwnProperty.call(e, t)) return !1; } return !0; } function ie(e, t) { if (!re(e)) { if (X(e.forEach)) return e.forEach(t, this); var n = 0, r = e.length; if (0 < r) for (; n < r; n++) { t(e[n], n, e); } else for (n in e) { hasOwnProperty.call(e, n) && t.call(this, e[n], n); } } } function oe(e, t) { return e.hasOwnProperty ? e.hasOwnProperty } function ae(e, t, n, r) { var i; t = t || document, i = n ? t.getElementsByTagName(n) : t.getElementsByTagName("head"); try { if ((i = ? i : t.getElementsByTagName("body")).length) { i = i[0]; var o = r ? null : i.firstChild; return i.insertBefore(e, o); } } catch (e) {} } function ce(e, t) { var n = new Image(); t && k.isFn } function ue(e, t) { var n = k.createTrackPixelIframeHtml(e, !1, "allow-scripts allow-same-origin"), r = document.createElement("div"); r.innerHTML = n; var i = r.firstChild; t && k.isFn } function se(e) { var t = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : ""; return e ? ((!(1 < arguments.length && void 0 !== arguments[1]) || arguments[1]) && (e = encodeURI(e)), t = t && 'sandbox="'.concat(t, '"'), "‘)) : “”;
}

function de(e, t, n) {
return null == t ? n : Z
}

function fe(e, t, n) {
return n.indexOf(e) === t;
}

function le(e, t) {
return e.concat
}

function pe(e) {
return Object.keys(e);
}

function ge(e, t) {
return e
}

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

var ve = me(“timeToRespond”, function (e, t) {
return t < e; }), ye = me("responseTimestamp", function (e, t) { return t < e; }), he = me("responseTimestamp", function (e, t) { return e < t; }); function me(n, r) { return function (e, t) { return e.cpm === t.cpm ? r(e[n], t[n]) ? t : e : e.cpm < t.cpm ? t : e; }; } function Se(e) { return o()(e); } function Ae() { if (window.navigator.cookieEnabled || document.cookie.length) return !0; } var Ee = function Ee(e, t) { return e.getAdUnitPath() === t || e.getSlotElementId() === t; }; function Oe return function (e) { return Ee(e, t); }; } function Te(e) { return Number.isInteger ? Number.isInteger(e) : "number" == typeof e && isFinite(e) && Math.floor(e) === e; } function Ie(e) { return e ? e.replace(/^?/, "").split("&").reduce(function (e, t) { var n = l(t.split("="), 2), r = n[0], i = n[1]; return /[]$/.test(r) ? (e[r = r.replace("[]"https://slate.com/technology/2020/11/,"")] = e[r] || [], e[r].push(i)) : e[r] = i || "", e; }, {}) : {}; } function Ce(e) { return Object.keys(e).map(function return Array.isArray(e return "".concat(t, "[]=").concat(e); }).join("&") : "".concat(t, "=").concat(e }).join("&"); } function je(e, t) { if (e === t) return !0; if ("object" !== h(e) || null === e || "object" !== h if (Object.keys(e).length !== Object.keys for (var n in e) { if (!t.hasOwnProperty(n)) return !1; if (!je(e[n], t[n])) return !1; } return !0; } function we(e) { for (var t = arguments.length, n = new Array(1 < t ? t - 1 : 0), r = 1; r < t; r++) { n[r - 1] = arguments[r]; } if (!n.length) return e; var i = n.shift(); if (ne(e) && ne(i)) for (var o in i) { ne(i[o]) ? (e[o] || y(e, v({}, o, {})), we(e[o], i[o])) : ee(i[o]) && e[o] ? ee(e[o]) && (e[o] = e[o].concat(i[o])) : y(e, v({}, o, i[o])); } return we.apply(void 0, [e].concat(n)); } }, 1: function _(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), n.d(t, "storage", function () { return I; }), t.registerBidder = function (r) { var n = Array.isArray(r.supportedMediaTypes) ? { supportedMediaTypes: r.supportedMediaTypes } : void 0; function i(e) { var t = w(e); c.default.registerBidAdapter(t, e.code, n); } i(r), Array.isArray(r.aliases) && r.aliases.forEach(function (e) { var t, n = e; Object(m.isPlainObject)(e) && (n = e.code, t = e.gvlid), c.default.aliasRegistry[n] = r.code, i(T({}, r, { code: n, gvlid: t })); }); }, t.newBidder = w, n.d(t, "registerSyncInner", function () { return _; }), t.preloadBidderMappingFile = B, t.getIabSubCategory = function (t, e) { var n = c.default.getBidAdapter if (n.getSpec().getMappingFileInfo) { var r = n.getSpec().getMappingFileInfo(), i = r.localStorageKey ? r.localStorageKey : n.getBidderCode(), o = I.getDataFromLocalStorage(i); if (o) { try { o = JSON.parse(o); } catch (e) { Object(m.logError)("Failed to parse ".concat(t, " mapping data stored in local storage")); } return o.mapping[e] ? o.mapping[e] : null; } } }, t.isValid = U; var r = n(90), c = n(9), u = n(3), v = n(34), s = n(43), o = n(37), a = n(28), i = n(5), y = n.n(i), d = n(8), h = n.n(d), f = n(12), l = n.n(f), p = n(4), m = n(0), g = n(2), b = n(13), S = n(7); 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, i = !1, o = 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) { i = !0, o = e; } finally { try { r || null == c.return || c.return(); } finally { if (i) throw o; } } return n; }(e, t) || function (e, t) { if (!e) return; if ("string" == typeof e) return E(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return E(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.length) && (t = e.length);

for (var n = 0, r = new Array
r[n] = e[n];
}

return r;
}

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

function T() {
return (T = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) { var n = arguments for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var I = Object(S.a)("bidderFactory"), C = ["requestId"https://slate.com/technology/2020/11/,"cpm"https://slate.com/technology/2020/11/,"ttl"https://slate.com/technology/2020/11/,"creativeId"https://slate.com/technology/2020/11/,"netRevenue"https://slate.com/technology/2020/11/,"currency"], j = 1; function w(p) { return T(new r.a(p.code), { getSpec: function getSpec() { return Object.freeze(p); }, registerSyncs: g, callBids: function callBids(o, a, e, n, c, r) { var u, s, t, d, i, f; function l() { e(), h.a.emit(y.a.EVENTS.BIDDER_DONE, o), g(s, o.gdprConsent, o.uspConsent); } Array.isArray(o.bids) && (u = {}, s = [], 0 !== (t = o.bids.filter(b)).length ? (d = {}, t.forEach(function (e) { (d[e.bidId] = e).adUnitCode || (e.adUnitCode = e.placementCode); }), (i = p.buildRequests(t, o)) && 0 !== ? (Array.isArray(i) || (i = [i]), f = Object(m.delayExecution)(r(l), ), i.forEach(function (i) { switch (i.method) { case "GET": n("".concat(i.url).concat(function (e) { if (e) return "?".concat("object" === O(e) ? Object(m.parseQueryStringParameters)(e) : e); return ""; }(i.data)), { success: r(e), error: t }, void 0, T({ method: "GET", withCredentials: !0 }, i.options)); break; case "POST": n(i.url, { success: r(e), error: t }, "string" == typeof i.data ? i.data : JSON.stringify(i.data), T({ method: "POST", contentType: "text/plain", withCredentials: !0 }, i.options)); break; default: Object(m.logWarn)("Skipping invalid request from ".concat(p.code, ". Request type ").concat(i.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 } }, s.push(e); try { n = p.interpretResponse(e, i); } 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, i = d[e.requestId]; i ? (e.originalCpm = e.cpm, e.originalCurrency = e.currency, e.meta = e.meta || T({}, e[i.bidder]), t = T(Object(v.a)(y.a.STATUS.GOOD, i), e), n = i.adUnitCode, r = t, u[n] = !0, U(n, r, [o]) && 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) { _(p, e, t, n); } function b(e) { return !!p.isBidRequestValid(e) || (Object(m.logWarn)("Invalid bid sent to bidder ".concat(p.code, ": ").concat(JSON.stringify(e))), !1); } } var _ = Object(b.b)("async", function (t, e, n, r) { var i, o, a = u.b.getConfig("userSync.aliasSyncEnabled"); !t.getUserSyncs || !a && c.default.aliasRegistry[t.code] || (i = u.b.getConfig("userSync.filterSettings"), (o = t.getUserSyncs({ iframeEnabled: !(!i || !i.iframe && !i.all), pixelEnabled: !(!i || !i.image && !i.all) }, e, n, r)) && (Array.isArray(o) || (o = [o]), o.forEach(function (e) { s.a.registerSync(e.type, t.code, e.url); }))); }, "registerSyncs"); function B(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 : j, i = t.localStorageKey ? t.localStorageKey : e.getSpec().code, o = I.getDataFromLocalStorage(i); try { (!(o = o ? JSON.parse(o) : void 0) || Object(m.timestamp)() > o.lastUpdated + 24 * r * 60 * 60 * 1e3) && Object(p.a)(t.url, {
success: function success(e) {
try {
e = JSON.parse(e);
var t = {
lastUpdated: Object(m.timestamp)(),
mapping: e.mapping
};
I.setDataInLocalStorage(i, JSON.stringify
} catch (e) {
Object(m.logError)(“Failed to parse “.concat(n, ” bidder translation mapping file”));
}
},
error: function 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.call(this, t);
}

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

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

if (1 === o.length) {
var a = A(o[0].split(“x”), 2),
c = a[0],
u = a[1];
return t.width = parseInt(c, 10), t.height = 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 http://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 i;
}

Object(b.a)(“checkAdUnitSetup”).before(B);
},
10: function _(e, t, n) {
var r = n(96);
e.exports = r;
},
100: function _(e, t, n) {
function r(e, t) {
var n = c[a(e)];
return n == s || n != u && (“function” == typeof t ? i
}

var i = n(30),
o = /#|.prototype./,
a = r.normalize = function (e) {
return String(e).replace(o, “.”).toLowerCase();
},
c = r.data = {},
u = r.NATIVE = “N”,
s = r.POLYFILL = “P”;

e.exports = r;
},
101: function _(e, t, n) {
var r = n(25),
i = n(102),
o = n(19)(“species”);

e.exports = function (e, t) {
var n;
return i(e) && (“function” == typeof (n = e.constructor) && (n === Array || i(n.prototype)) || r(n) && null === (n = n[o])) && (n = void 0), new (void 0 === n ? Array : n)(0 === t ? 0 : t);
};
},
102: function _(e, t, n) {
var r = n(48);

e.exports = Array.isArray || function (e) {
return “Array” == r(e);
};
},
103: function _(e, t, n) {
var r = n(24),
i = n(31);

e.exports = function (t, n) {
try {
i(r, t, n);
} catch (e) {
r
}

return n;
};
},
104: function _(e, t, n) {
var r = n(75);
e.exports = r && !Symbol.sham && “symbol” == _typeof(Symbol.iterator);
},
105: function _(e, t, n) {
n(106);
var r = n(52);
e.exports = r(“Array”https://slate.com/technology/2020/11/,”includes”);
},
106: function _(e, t, n) {
“use strict”;

var r = n(14),
i = n(76).includes,
o = n(51);
r({
target: “Array”,
proto: !0,
forced: !n(60)(“indexOf”, {
ACCESSORS: !0,
1: 0
})
}, {
includes: function includes(e, t) {
return i(this, e, 1 < arguments.length ? t : void 0); } }), o("includes"); }, 107: function _(e, t, n) { var r = n(58), i = Math.max, o = Math.min; e.exports = function (e, t) { var n = r(e); return n < 0 ? i(n + t, 0) : o(n, t); }; }, 108: function _(e, t, n) { n(109), n(126), n(87), n(128); var r = n(42); e.exports = r.Set; }, 109: function _(e, t, n) { "use strict"; var r = n(110), i = n(115); e.exports = r("Set", function return function (e) { return t(this, arguments.length ? e : void 0); }; }, i); }, 11: function _(e, t, n) { "use strict"; t.a = i, t.c = function (e) { return !(!e || !e.url); }, t.b = function (e, t) { e.render }; var u = n(40), s = n(0), r = n(10), d = n.n(r), f = "outstream"; function i(e) { var t = this, r = e.url, n = e.config, i = e.id, o = e.callback, a = e.loaded, c = e.adUnitCode; this.url = r, this.config = n, this.handlers = {}, this.id = i, this.loaded = a, this.cmd = [], this.push = function (e) { "function" == typeof e ? t.loaded ? e.call() : t.cmd.push(e) : s.logError("Commands given to Renderer.push must be wrapped in a function"); }, this.callback = o || function () { t.loaded = !0, t.process(); }, this.render = function () { var t, e, n; t = c, e = pbjs.adUnits, !((n = d()(e, function (e) { return e.code === t; })) && n.renderer && n.renderer.url && n.renderer.render) || s.isBoolean(n.renderer.backupOnly) && n.renderer.backupOnly ? Object(u.a)(r, f, this.callback) : s.logWarn("External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ".concat(c)), this._render ? this._render.apply(this, arguments) : s.logWarn("No render function was provided, please use .setRender on the renderer"); }.bind(this); } i.install = function (e) { return new i({ url: e.url, config: e.config, id: e.id, callback: e.callback, loaded: e.loaded, adUnitCode: e.adUnitCode }); }, i.prototype.getConfig = function () { return this.config; }, i.prototype.setRender = function (e) { this._render = e; }, i.prototype.setEventHandlers = function (e) { this.handlers = e; }, i.prototype.handleVideoEvent = function (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)); }, i.prototype.process = function () { for (; 0 < this.cmd.length;) { try { this.cmd.shift().call(); } catch (e) { s.logError("Error processing Renderer command: ", e); } } }; }, 110: function _(e, t, n) { "use strict"; var f = n(14), l = n(24), p = n(78), g = n(30), b = n(31), v = n(17), y = n(81), h = n(25), m = n(64), S = n(33).f, A = n(56).forEach, E = n(29), r = n(54), O = r.set, T = r.getterFor; e.exports = function (n, e, t) { var r, a, i = -1 !== n.indexOf("Map"), c = -1 !== n.indexOf("Weak"), o = i ? "set" : "add", u = l[n], s = u && u.prototype, d = {}; return E && "function" == typeof u && (c || s.forEach && !g(function () { new u().entries().next(); })) ? (r = e(function (e, t) { O(y(e, r, n), { type: n, collection: new u() }), null != t && v(t, e[o], e, i); }), a = T(n), A(["add"https://slate.com/technology/2020/11/,"clear"https://slate.com/technology/2020/11/,"delete"https://slate.com/technology/2020/11/,"forEach"https://slate.com/technology/2020/11/,"get"https://slate.com/technology/2020/11/,"has"https://slate.com/technology/2020/11/,"set"https://slate.com/technology/2020/11/,"keys"https://slate.com/technology/2020/11/,"values"https://slate.com/technology/2020/11/,"entries"], function (i) { var o = "add" == i || "set" == i; i in s && (!c || "clear" != i) && b(r.prototype, i, function (e, t) { var n = a(this).collection; if (!o && c && !h(e)) return "get" == i && void 0; var r = n[i](0 === e ? 0 : e, t); return o ? this : r; }); }), c || S(r.prototype, "size", { configurable: !0, get: function get() { return a(this).collection.size; } })) : (r = t.getConstructor(e, n, i, o), p.REQUIRED = !0), m(r, n, !1, !0), d[n] = r, f({ global: !0, forced: !0 }, d), c || t.setStrong(r, n, i), r; }; }, 111: function _(e, t, n) { var r = n(30); e.exports = !r(function () { return Object.isExtensible(Object.preventExtensions({})); }); }, 112: function _(e, t, n) { "use strict"; var r = n(63), i = n(62); e.exports = r ? {}.toString : function () { return "[object " + i(this) + "]"; }; }, 113: function _(e, t, n) { var r = n(24), i = n(114), o = r.WeakMap; e.exports = "function" == typeof o && /native code/.test(i(o)); }, 114: function _(e, t, n) { var r = n(74), i = Function.toString; "function" != typeof r.inspectSource && (r.inspectSource = function (e) { return i.call(e); }), e.exports = r.inspectSource; }, 115: function _(e, t, n) { "use strict"; var s = n(33).f, d = n(82), f = n(120), l = n(22), p = n(81), g = n(17), a = n(66), c = n(125), b = n(29), v = n(78).fastKey, r = n(54), y = r.set, h = r.getterFor; e.exports = { getConstructor: function getConstructor(e, n, r, i) { function o(e, t, n) { var r, i, o = c(e), a = u(e, t); return a ? a.value = n : (o.last = a = { index: i = v(t, !0), key: t, value: n, previous: r = o.last, next: void 0, removed: !1 }, o.first || (o.first = a), r && (r.next = a), b ? o.size++ : e.size++, "F" !== i && (o.index[i] = a)), e; } var a = e(function (e, t) { p(e, a, n), y(e, { type: n, index: d(null), first: void 0, last: void 0, size: 0 }), b || (e.size = 0), null != t && g(t, e[i], e, r); }), c = h(n), u = function u(e, t) { var n, r = c(e), i = v if ("F" !== i) return r.index[i]; for (n = r.first; n; n = n.next) { if (n.key == t) return n; } }; return f(a.prototype, { clear: function clear() { for (var e = c(this), t = e.index, n = e.first; n;) { n.removed = !0, n.previous && (n.previous = n.previous.next = void 0), delete t[n.index], n = n.next; } e.first = e.last = void 0, b ? e.size = 0 : this.size = 0; }, delete: function _delete(e) { var t, n, r = c(this), i = u(this, e); return i && (t = i.next, n = i.previous, delete r.index[i.index], i.removed = !0, n && (n.next = t), t && (t.previous = n), r.first == i && (r.first = t), r.last == i && (r.last = n), b ? r.size-- : this.size--), !!i; }, forEach: function forEach(e, t) { for (var n, r = c(this), i = l(e, 1 < arguments.length ? t : void 0, 3); n = n ? n.next : r.first;) { for (i(n.value, n.key, this); n && n.removed;) { n = n.previous; } } }, has: function has(e) { return !!u(this, e); } }), f(a.prototype, r ? { get: function get(e) { var t = u(this, e); return t && t.value; }, set: function set(e, t) { return o(this, 0 === e ? 0 : e, t); } } : { add: function add(e) { return o(this, e = 0 === e ? 0 : e, e); } }), b && s(a.prototype, "size", { get: function get() { return c(this).size; } }), a; }, setStrong: function setStrong(e, t, n) { var r = t + " Iterator", i = h o = h(r); a(e, t, function (e, t) { y(this, { type: r, target: e, state: i(e), kind: t, last: void 0 }); }, function () { for (var e = o(this), t = e.kind, n = e.last; n && n.removed;) { n = n.previous; } return e.target && (e.last = n = n ? n.next : e.state.first) ? "keys" == t ? { value: n.key, done: !1 } : "values" == t ? { value: n.value, done: !1 } : { value: [n.key, n.value], done: !1 } : { value: e.target = void 0, done: !0 }; }, n ? "entries" : "values", !n, !0), c } }; }, 116: function _(e, t, n) { var r = n(29), a = n(33), c = n(15), u = n(117); e.exports = r ? Object.defineProperties : function (e, t) { c(e); for (var n, r = u a.f(e, n = r[o++], t[n]); } return e; }; }, 117: function _(e, t, n) { var r = n(118), i = n(83); e.exports = Object.keys || function (e) { return r(e, i); }; }, 118: function _(e, t, n) { var a = n(26), c = n(47), u = n(76).indexOf, s = n(53); e.exports = function (e, t) { var n, r = c(e), i = 0, o = []; for (n in r) { !a(s, n) && a(r, n) && o.push(n); } for (; t.length > i;) {
a(r, n = t[i++]) && (~u(o, n) || o.push(n));
}

return o;
};
},
119: function _(e, t, n) {
var r = n(27);
e.exports = r(“document”https://slate.com/technology/2020/11/,”documentElement”);
},
12: function _(e, t, n) {
var r = n(105);
e.exports = r;
},
120: function _(e, t, n) {
var i = n(84);

e.exports = function (e, t, n) {
for (var r in t) {
n && n.unsafe && e[r] ? e[r] = t[r] : i(e, r, t[r], n);
}

return e;
};
},
121: function _(e, t, n) {
“use strict”;

function i() {
return this;
}

var o = n(85).IteratorPrototype,
a = n(82),
c = n(46),
u = n(64),
s = n(38);

e.exports = function (e, t, n) {
var r = t + ” Iterator”;
return e.prototype = a(o, {
next: c(1, n)
}), u(e, r, !1, !0), s[r] = i, e;
};
},
122: function _(e, t, n) {
var r = n(30);
e.exports = !r(function () {
function e() {}

return e.prototype.constructor = null, Object.getPrototypeOf(new e()) !== e.prototype;
});
},
123: function _(e, t, n) {
var i = n(15),
o = n(124);
e.exports = Object.setPrototypeOf || (“__proto__” in {} ? function () {
var n,
r = !1,
e = {};

try {
(n = Object.getOwnPropertyDescriptor(Object.prototype, “__proto__”).set).call(e, []), r = e instanceof Array;
} catch (e) {}

return function (e, t) {
return i(e), o
};
}() : void 0);
},
124: function _(e, t, n) {
var r = n(25);

e.exports = function (e) {
if (!r(e) && null !== e) throw TypeError(“Can’t set ” + String(e) + ” as a prototype”);
return e;
};
},
125: function _(e, t, n) {
“use strict”;

var r = n(27),
i = n(33),
o = n(19),
a = n(29),
c = o(“species”);

e.exports = function (e) {
var t = r(e),
n = i.f;
a && t && !t[c] && n(t, c, {
configurable: !0,
get: function get() {
return this;
}
});
};
},
126: function _(e, t) {},
127: function _(e, t, n) {
function r(c) {
return function (e, t) {
var n,
r,
i = String(s(e)),
o = u
a = ;
return o < 0 || a <= o ? c ? "" : void 0 : (n = i.charCodeAt(o)) < 55296 || 56319 < n || o + 1 === a || (r = i.charCodeAt(o + 1)) < 56320 || 57343 < r ? c ? i.charAt(o) : n : c ? i.slice(o, o + 2) : r - 56320 + (n - 55296 << 10) + 65536; }; } var u = n(58), s = n(49); e.exports = { codeAt: r(!1), charAt: r(!0) }; }, 128: function _(e, t, n) { n(129); var r = n(130), i = n(24), o = n(62), a = n(31), c = n(38), u = n(19)("toStringTag"); for (var s in r) { var d = i[s], f = d && d.prototype; f && o(f) !== u && a(f, u, s), c[s] = c.Array; } }, 129: function _(e, t, n) { "use strict"; var r = n(47), i = n(51), o = n(38), a = n(54), c = n(66), u = "Array Iterator", s = a.set, d = a.getterFor(u); e.exports = c(Array, "Array", function (e, t) { s(this, { type: u, target: r(e), index: 0, kind: t }); }, function () { var e = d(this), t = e.target, n = e.kind, r = e.index++; return !t || r >= t.length ? {
value: e.target = void 0,
done: !0
} : “keys” == n ? {
value: r,
done: !1
} : “values” == n ? {
value: t[r],
done: !1
} : {
value: [r, t[r]],
done: !1
};
}, “values”), o.Arguments = o.Array, i(“keys”), i(“values”), i(“entries”);
},
13: function _(e, t, n) {
“use strict”;

n.d(t, “b”, function () {
return a;
}), n.d(t, “a”, function () {
return c;
}), t.d = function (e, t) {
var n = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 15; 0 === e.getHooks({ hook: t }).length && e.before(t, n); }, t.c = function (e, n) { a("async", function (e) { e.forEach(function (e) { return n.apply(void 0, function (e) { if (Array.isArray(e)) return o(e); }(t = e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e); } if (e) { if ("string" == typeof e) return o(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? o(e, t) : void 0; } } 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 = function (e) { for (var t = arguments.length, 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 }); }; var r = n(161), i = n.n(r); function o(e, t) { (null == t || t > e.length) && (t = e.length);

for (var n = 0, r = new Array
r[n] = e[n];
}

return r;
}

var a = i()({
ready: i.a.SYNC | i.a.ASYNC | i.a.QUEUE
}),
c = a.get;
},
130: function _(e, t) {
e.exports = {
CSSRuleList: 0,
CSSStyleDeclaration: 0,
CSSValueList: 0,
ClientRectList: 0,
DOMRectList: 0,
DOMStringList: 0,
DOMTokenList: 1,
DataTransferItemList: 0,
FileList: 0,
HTMLAllCollection: 0,
HTMLCollection: 0,
HTMLFormElement: 0,
HTMLSelectElement: 0,
MediaList: 0,
MimeTypeArray: 0,
NamedNodeMap: 0,
NodeList: 1,
PaintRequestList: 0,
Plugin: 0,
PluginArray: 0,
SVGLengthList: 0,
SVGNumberList: 0,
SVGPathSegList: 0,
SVGPointList: 0,
SVGStringList: 0,
SVGTransformList: 0,
SourceBufferList: 0,
StyleSheetList: 0,
TextTrackCueList: 0,
TextTrackList: 0,
TouchList: 0
};
},
131: function _(e, t, n) {
n(14)({
target: “Set”,
stat: !0
}, {
from: n(132)
});
},
132: function _(e, t, n) {
“use strict”;

var s = n(18),
d = n(22),
f = n(17);

e.exports = function (e, t, n) {
var r,
i,
o,
a,
c = arguments.length,
u = 1 < c ? t : void 0; return s(this), (r = void 0 !== u) && s(u), null == e ? new this() : (i = [], r ? (o = 0, a = d(u, 2 < c ? n : void 0, 2), f(e, function (e) { i.push(a(e, o++)); })) : f(e, i.push, i), new this(i)); }; }, 133: function _(e, t, n) { n(14)({ target: "Set", stat: !0 }, { of: n(134) }); }, 134: function _(e, t, n) { "use strict"; e.exports = function () { for (var e = arguments.length, t = new Array(e); e--;) { t[e] = arguments[e]; } return new this }; }, 135: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(136); r({ target: "Set", proto: !0, real: !0, forced: i }, { addAll: function addAll() { return o.apply(this, arguments); } }); }, 136: function _(e, t, n) { "use strict"; var i = n(15), o = n(18); e.exports = function () { for (var e = i(this), t = o(e.add), n = 0, r = arguments.length; n < r; n++) { t.call(e, arguments[n]); } return e; }; }, 137: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(138); r({ target: "Set", proto: !0, real: !0, forced: i }, { deleteAll: function deleteAll() { return o.apply(this, arguments); } }); }, 138: function _(e, t, n) { "use strict"; var a = n(15), c = n(18); e.exports = function () { for (var e, t = a(this), n = c(t.delete), r = !0, i = 0, o = arguments.length; i < o; i++) { e = n.call(t, arguments[i]), r = r && e; } return !!r; }; }, 139: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(15), a = n(22), c = n(36), u = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { every: function every(e, t) { var n = o(this), r = c(n), i = a(e, 1 < arguments.length ? t : void 0, 3); return !u(r, function (e) { if (!i(e, e, n)) return u.stop(); }, void 0, !1, !0).stopped; } }); }, 14: function _(e, t, n) { "use strict"; function y(r) { function e(e, t, n) { if (this instanceof r) { switch (arguments.length) { 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(24), m = n(98).f, S = n(100), A = n(42), E = n(22), O = n(31), T = n(26); e.exports = function (e, t) { var n, r, i, o, a, c, u, s, d = e.target, f = e.global, l = e.stat, p = e.proto, g = f ? h : l ? h[d] : (h[d] || {}).prototype, b = f ? A : A[d] || (A[d] = {}), v = b.prototype; for (i in t) { n = !S(f ? i : d + (l ? "." : "#") + i, e.forced) && g && T(g, i), a = b[i], n && (c = e.noTargetGet ? (s = m(g, i)) && s.value : g[i]), o = n && c ? c : t[i], n && _typeof(a) == _typeof(o) || (u = e.bind && n ? E(o, h) : e.wrap && n ? y(o) : p && "function" == typeof o ? E(Function.call, o) : o, (e.sham || o && o.sham || a && a.sham) && O(u, "sham", !0), b[i] = u, p && (T(A, r = d + "Prototype") || O(A, r, {}), A[r][i] = o, e.real && v && !v[i] && O(v, i, o))); } }; }, 140: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(27), a = n(15), c = n(18), u = n(39), s = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { difference: function difference(e) { var t = a(this), n = new (u(t, o("Set"))) r = c(n.delete); return s(e, function (e) { r.call(n, e); }), n; } }); }, 141: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), c = n(27), u = n(15), s = n(18), d = n(22), f = n(39), l = n(36), p = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { filter: function filter(e, t) { var n = u(this), r = l(n), i = d(e, 1 < arguments.length ? t : void 0, 3), o = new (f(n, c("Set")))(), a = s(o.add); return p(r, function (e) { i(e, e, n) && a.call(o, e); }, void 0, !1, !0), o; } }); }, 142: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(15), a = n(22), c = n(36), u = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { find: function find(e, t) { var n = o(this), r = c(n), i = a(e, 1 < arguments.length ? t : void 0, 3); return u(r, function (e) { if (i(e, e, n)) return u.stop(e); }, void 0, !1, !0).result; } }); }, 143: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(27), a = n(15), c = n(18), u = n(39), s = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { intersection: function intersection(e) { var t = a(this), n = new (u(t, o("Set")))(), r = c(t.has), i = c(n.add); return s(e, function (e) { r.call(t, e) && i.call(n, e); }), n; } }); }, 144: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(15), a = n(18), c = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { isDisjointFrom: function isDisjointFrom(e) { var t = o(this), n = a(t.has); return !c(e, function (e) { if (!0 === n.call(t, e)) return c.stop(); }).stopped; } }); }, 145: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(27), a = n(15), c = n(18), u = n(88), s = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { isSubsetOf: function isSubsetOf(e) { var t = u(this), n = a(e), r = n.has; return "function" != typeof r && (n = new (o("Set"))(e), r = c(n.has)), !s(t, function (e) { if (!1 === r.call(n, e)) return s.stop(); }, void 0, !1, !0).stopped; } }); }, 146: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(15), a = n(18), c = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { isSupersetOf: function isSupersetOf(e) { var t = o(this), n = a(t.has); return !c(e, function (e) { if (!1 === n.call(t, e)) return c.stop(); }).stopped; } }); }, 147: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(15), a = n(36), c = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { join: function join(e) { var t = o(this), n = a r = void 0 === e ? "," : String(e), i = []; return c(n, i.push, i, !1, !0), i.join(r); } }); }, 148: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), c = n(27), u = n(15), s = n(18), d = n(22), f = n(39), l = n(36), p = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { map: function map(e, t) { var n = u(this), r = l(n), i = d(e, 1 < arguments.length ? t : void 0, 3), o = new (f(n, c("Set")))(), a = s(o.add); return p(r, function (e) { a.call(o, i(e, e, n)); }, void 0, !1, !0), o; } }); }, 149: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), a = n(15), c = n(18), u = n(36), s = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { reduce: function reduce(t, e) { var n = a(this), r = u(n), i = arguments.length < 2, o = i ? void 0 : e; if (c o = i ? (i = !1, e) : t(o, e, e, n); }, void 0, !1, !0), i) throw TypeError("Reduce of empty set with no initial value"); return o; } }); }, 15: function _(e, t, n) { var r = n(25); e.exports = function (e) { if (!r(e)) throw TypeError(String(e) + " is not an object"); return e; }; }, 150: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(15), a = n(22), c = n(36), u = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { some: function some(e, t) { var n = o(this), r = c(n), i = a(e, 1 < arguments.length ? t : void 0, 3); return u(r, function (e) { if (i(e, e, n)) return u.stop(); }, void 0, !1, !0).stopped; } }); }, 151: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(27), a = n(15), c = n(18), u = n(39), s = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { symmetricDifference: function symmetricDifference(e) { var t = a(this), n = new (u(t, o("Set"))) r = c(n.delete), i = c(n.add); return s(e, function (e) { r.call(n, e) || i.call(n, e); }), n; } }); }, 152: function _(e, t, n) { "use strict"; var r = n(14), i = n(16), o = n(27), a = n(15), c = n(18), u = n(39), s = n(17); r({ target: "Set", proto: !0, real: !0, forced: i }, { union: function union(e) { var t = a(this), n = new (u(t, o("Set"))) return s(e, c(n.add), n), n; } }); }, 153: function _(e, t, n) { n(87), n(154); var r = n(42); e.exports = r.Array.from; }, 154: function _(e, t, n) { var r = n(14), i = n(155); r({ target: "Array", stat: !0, forced: !n(157)(function (e) { Array.from(e); }) }, { from: i }); }, 155: function _(e, t, n) { "use strict"; var v = n(22), y = n(57), h = n(80), m = n(79), S = n(50), A = n(156), E = n(61); e.exports = function (e, t, n) { var r, i, o, a, c, u, s = y(e), d = "function" == typeof this ? this : Array, f = arguments.length, l = 1 < f ? t : void 0, p = void 0 !== l, g = E(s), b = 0; if (p && (l = v(l, 2 < f ? n : void 0, 2)), null == g || d == Array && m(g)) for (i = new d(r = S(s.length)); b < r; b++) { u = p ? l(s[b], b) : s[b], A(i, b, u); } else for (c = (a = g.call(s)).next, i = new d(); !(o = c.call(a)).done; b++) { u = p ? h(a, l, [o.value, b], !0) : o.value, A(i, b, u); } return = b, i; }; }, 156: function _(e, t, n) { "use strict"; var i = n(55), o = n(33), a = n(46); e.exports = function (e, t, n) { var r = i r in e ? o.f(e, r, a(0, n)) : e[r] = n; }; }, 157: function _(e, t, n) { var i = n(19)("iterator"), o = !1; try { var r = 0, a = { next: function next() { return { done: !!r++ }; }, return: function _return() { o = !0; } }; a[i] = function () { return this; }, Array.from(a, function () { throw 2; }); } catch (e) {} e.exports = function (e, t) { if (!t && !o) return !1; var n = !1; try { var r = {}; r[i] = function () { return { next: function next() { return { done: n = !0 }; } }; }, e(r); } catch (e) {} return n; }; }, 158: function _(e, t) { e.exports = function e var n = Array.isArray for (var r in t) { var i = t[r]; n[r] = i && "object" == _typeof(i) ? e(i) : i; } return n; }; }, 159: function _(e, t, n) { "use strict"; t.a = function (e, t, n, r, i) { for (t = t.split ? t.split(".") : t, r = 0; r < t.length; r++) { e = e ? e[t[r]] : i; } return e === i ? n : e; }; }, 16: function _(e, t) { e.exports = !0; }, 160: function _(e, t, n) { "use strict"; t.a = function (e, t, n) { t.split && (t = t.split(".")); for (var r, i = 0, o = t.length, a = e; i < o; ++i) { r = a[t[i]], a = a[t[i]] = i === o - 1 ? n : null != r ? r : !~t[i + 1].indexOf(".") && -1 < +t[i + 1] ? [] : {}; } }; }, 161: function _(e, t) { h.SYNC = 1, h.ASYNC = 2, h.QUEUE = 4; var g = "fun-hooks"; var n = Object.freeze({ useProxy: !0, ready: 0 }), b = new WeakMap(), r = "2,1,0" === [1].reduce(function (e, t, n) { return [e, t, n]; }, 2).toString() ? Array.prototype.reduce : function (e, t) { var n, r = Object(this), i = r.length >>> 0,
o = 0;
if
for (; o < i && !(o in r);) { o++; } n = r[o++]; } for (; o < i;) { o in r && (n = e(n, r[o], o, r)), o++; } return n; }; function v(e, t) { return Array.prototype.slice.call(e, t); } var y = Object.assign || function (e) { return r.call(v(arguments, 1), function (t, n) { return n && Object.keys(n).forEach(function (e) { t[e] = n[e]; }), t; }, e); }; function h(u) { var s, e = {}, d = []; function t(e, t) { return "function" == typeof e ? f.call(null, "sync", e, t) : "string" == typeof e && "function" == typeof t ? f.apply(null, arguments) : "object" == _typeof(e) ? function (o, e, a) { var t = !0; void 0 === e && (e = Object.getOwnPropertyNames(o), t = !1); var c = {}, n = ["constructor"]; for (; (e = e.filter(function (e) { return !("function" != typeof o[e] || -1 !== n.indexOf(e) || e.match(/^_/)); })).forEach(function (e) { var t, n = e.split(":"), r = n[0], i = n[1] || "sync"; c[r] || (t = o[r], c[r] = o[r] = f(i, t, a ? [a, r] : void 0)); }), o = Object.getPrototypeOf(o), t && o;) { ; } return c; }.apply(null, arguments) : void 0; } function l(o) { var a = Array.isArray(o) ? o : o.split("."); return r.call(a, function (t, n, e) { var r = t[n], i = !1; return r || (e === a.length - 1 ? (s || d.push(function () { i || console.warn(g + ": referenced '" + o + "' but it was never created"); }), t[n] = p(function (e) { t[n] = e, i = !0; })) : t[n] = {}); }, e); } function p(r) { var o = [], a = [], c = function c() {}, e = { before: function before(e, t) { return n.call(this, o, "before", e, t); }, after: function after(e, t) { return n.call(this, a, "after", e, t); }, getHooks: function getHooks(n) { var e = o.concat(a); "object" == _typeof(n) && (e = e.filter(function return Object.keys(n).every(function (e) { return t[e] === n[e]; }); })); try { y(e, { remove: function remove() { return e.forEach(function (e) { e.remove(); }), this; } }); } catch (e) { console.error("error adding `remove` to array, did you modify Array.prototype?"); } return e; }, removeAll: function removeAll() { return this.getHooks().remove(); } }, t = { install: function install(e, t, n) { this.type = e, (c = n)(o, a), r && r } }; return b.set(e.after, t), e; function n(t, e, n, r) { var i = { hook: n, type: e, priority: r || 10, remove: function remove() { var e = t.indexOf(i); -1 !== e && (t.splice(e, 1), c(o, a)); } }; return t.push(i), t.sort(function (e, t) { return t.priority - e.priority; }), c(o, a), this; } } function f(f, e, t) { var n = e.after && b.get(e.after); if (n) { if (n.type !== f) throw g + ": recreated hookable with different type"; return e; } var r, i, o = t ? l a = { get: function get(e, t) { return o } }; return s || d.push(c), u.useProxy && "function" == typeof Proxy && Proxy.revocable ? i = new Proxy(e, a) : y(i = function i() { return a.apply ? a.apply(e, this, v(arguments)) : e.apply(this, arguments); }, o), b.get(i.after).install(f, i, function (e, t) { var s, d = []; r = e.length || t.length ? (e.forEach(n), s = d.push(void 0) - 1, t.forEach(n), function (n, r, e) { var i, o = 0, a = "async" === f && "function" == typeof e[e.length - 1] && e.pop(); function c(e) { "sync" === f ? i = e : a && a.apply(null, arguments); } function u(e) { if (d[o]) { var t = v(arguments); return u.bail = c, t.unshift(u), d[o++].apply(r, t); } "sync" === f ? i = e : a && a.apply(null, arguments); } return d[s] = function () { var e = v(arguments, 1); "async" === f && a && (delete u.bail, e.push(u)); var t = n.apply(r, e); "sync" === f && u }, u.apply(null, e), i; }) : void 0; function n(e) { d.push(e.hook); } c(); }), i; function c() { !s && ("sync" !== f || u.ready & h.SYNC) && ("async" !== f || u.ready & h.ASYNC) ? "sync" !== f && u.ready & h.QUEUE ? a.apply = function () { var e = arguments; d.push(function () { i.apply(e[1], e[2]); }); } : a.apply = function () { throw g + ": hooked function not ready"; } : a.apply = r; } } return (u = y({}, n, u)).ready ? t.ready = function () { s = !0, function (e) { for (var t; t = e.shift();) { t(); } }(d); } : s = !0, t.get = l, t; } e.exports = h; }, 17: function _(e, t, n) { function p(e, t) { this.stopped = e, this.result = t; } var g = n(15), b = n(79), v = n(50), y = n(22), h = n(61), m = n(80); (e.exports = function (e, t, n, r, i) { var o, a, c, u, s, d, f, l = y(t, n, r ? 2 : 1); if (i) o = e;else { if ("function" != typeof (a = h(e))) throw TypeError("Target is not iterable"); if (b(a)) { for (c = 0, u = v(e.length); 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); } o = a.call(e); } for (d = o.next; !(f = d.call(o)).done;) { if ("object" == _typeof(s = m(o, l, f.value, r)) && s && s instanceof p) return s; } return new p(!1); }).stop = function (e) { return new p(!0, e); }; }, 18: function _(e, t) { e.exports = function (e) { if ("function" != typeof e) throw TypeError(String(e) + " is not a function"); return e; }; }, 19: function _(e, t, n) { var r = n(24), i = n(73), o = n(26), a = n(59), c = n(75), u = n(104), s = i("wks"), d = r.Symbol, f = u ? d : d && d.withoutSetter || a; e.exports = function (e) { return o(s, e) || (c && o(d, e) ? s[e] = d[e] : s[e] = f("Symbol." + e)), s[e]; }; }, 2: function _(e, t, n) { "use strict"; n.d(t, "c", function () { return r; }), n.d(t, "d", function () { return i; }), n.d(t, "b", function () { return o; }), n.d(t, "a", function () { return a; }); var r = "native", i = "video", o = "banner", a = "adpod"; }, 20: function _(e, t, n) { "use strict"; n.d(t, "a", function () { return r; }); var y = n(0); var h, r = (h = window, function () { var e, t = [], n = function (e) { try { if (!e.location.ancestorOrigins) return; return e.location.ancestorOrigins; } catch (e) {} }(h), r = !1, i = 0, o = !1, a = !1; do { var c, u, s = g, d = a, f = void 0, l = !1, p = null, a = !1, g = g ? g.parent : h; try { f = g.location.href || null; } catch (e) { l = !0; } if (l) { if (d) { var b = s.context; try { u = p = b.sourceUrl, o = !0, g === h.top && (r = !0), b.canonicalUrl && (e = b.canonicalUrl); } catch (e) {} } else { Object(y.logWarn)("Trying to access cross domain iframe. Continuing without referrer and location"); try { var v = s.document.referrer; v && (p = v, g === h.top && (r = !0)); } catch (e) {} !p && n && n[i - 1] && (p = n[i - 1]), p && !o && (u = p); } } else f && (u = p = f, o = !1, g === h.top && (r = !0, (c = function (e) { try { var t = e.querySelector("link[rel="canonical"]"); if (null !== t) return t.href; } catch (e) {} return null; }(g.document)) && (e = c))), g.context && g.context.sourceUrl && (a = !0); t.push(p), i++; } while (g !== h.top); return t.reverse(), { referer: u || null, reachedTop: r, isAmp: o, numIframes: i - 1, stack: t, canonicalUrl: e || null }; }); }, 21: function _(e, t, n) { "use strict"; t.a = function () { 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"); }, 219: function _(e, t, n) { n(220); var r = n(52); e.exports = r("Array"https://slate.com/technology/2020/11/,"findIndex"); }, 22: function _(e, t, n) { var o = n(18); e.exports = function (r, i, e) { if (o(r), void 0 === i) return r; switch (e) { case 0: return function () { return r.call(i); }; case 1: return function (e) { return r.call(i, e); }; case 2: return function (e, t) { return r.call(i, e, t); }; case 3: return function (e, t, n) { return r.call(i, e, t, n); }; } return function () { return r.apply(i, arguments); }; }; }, 220: function _(e, t, n) { "use strict"; var r = n(14), i = n(56).findIndex, o = n(51), a = n(60), c = "findIndex", u = !0, s = a(c); c in [] && Array(1)[c](function () { u = !1; }), r({ target: "Array", proto: !0, forced: u || !s }, { findIndex: function findIndex(e, t) { return i(this, e, 1 < arguments.length ? t : void 0); } }), o(c); }, 227: function _(e, t, n) { "use strict"; t.a = function () { window.addEventListener("message", c, !1); }; var r = n(8), g = n.n(r), b = n(37), i = n(5), v = (n.n(i), n(0)), y = n(23), o = n(10), h = n.n(o), m = n(11), a = n(12), S = n.n(a), A = i.EVENTS.BID_WON; function c(e) { var t, n, r, i, o, a, c, u, s, d = e.message ? "message" : "data", f = {}; try { f = JSON.parse(e[d]); } catch (e) { return; } if (f && f.adId) { var l = h()(y.a.getBidsReceived(), function (e) { return e.adId === f.adId; }); if (l && "Prebid Request" === f.message && (n = e, r = (t = l).adId, i = t.ad, o = t.adUrl, a = t.width, c = t.height, u = t.renderer, s = t.cpm, Object(m.c)(u) ? Object(m.b)(u, t) : r && (function (e) { var o = e.adId, a = e.adUnitCode, r = e.width, i = e.height; function c(e) { var t, n, r = (t = o, n = a, window.googletag ? function (n) { return h()(window.googletag.pubads().getSlots(), function return h()(t.getTargetingKeys(), function (e) { return S()(t.getTargeting(e), n); }); }).getSlotElementId(); } var t = window.apntag.getTag(e); return t && t.targetId; }(n) : n), i = document.getElementById(r); return i && i.querySelector(e); } ["div"https://slate.com/technology/2020/11/,"iframe"].forEach(function (e) { var t, n = c(e + ':not([style*="display: none"])'); n ? ((t = n.style).width = r + "px", t.height = i + "px") : Object(v.logWarn)("Unable to locate matching page element for adUnitCode ".concat(a, ". Can't resize it to ad's dimensions. Please review setup.")); }); } message: "Prebid Response", ad: Object(v.replaceAuctionPrice)(i, s), adUrl: Object(v.replaceAuctionPrice)(o, s), adId: r, width: a, height: c }), n.origin)), y.a.addWinningBid(l), g.a.emit(A, l)), l && "Prebid Native" === f.message) { if ("assetRequest" === f.action) { var p = Object(b.c)(f, l); return void e.source.postMessage(JSON.stringify(p), e.origin); } if ("click" === Object(b.b)(f, l)) return; y.a.addWinningBid(l), g.a.emit(A, l); } } } }, 228: function _(e, t, n) { "use strict"; t.a = function (e) { var t; try { e = e || window.sessionStorage, t = JSON.parse(e.getItem(u)); } catch (e) {} t && p(t, !0); }; var r, i, o = n(3), a = n(0), c = n(41), u = "pbjs:debugging"; function s(e) { Object(a.logMessage)("DEBUG: " + e); } function d(e) { Object(a.logWarn)("DEBUG: " + e); } function f(e) { r = function (e, t, n) { if (b(this.bidders, n.bidderCode)) return void d("bidder '".concat(n.bidderCode, "' excluded from auction by bidder overrides")); Array.isArray(this.bids) && this.bids.forEach(function (e) { g(e, n.bidderCode, t) || v(e, n, "bidder"); }); e(t, n); }.bind(e), c.c.before(r, 5), i = function (e, t) { var r = this, n = t.filter(function (e) { return !b(r.bidders, e.bidderCode) || (d("bidRequest '".concat(e.bidderCode, "' excluded from auction by bidder overrides")), !1); }); Array.isArray(r.bidRequests) && n.forEach(function (n) { r.bidRequests.forEach(function n.bids.forEach(function (e) { g(t, n.bidderCode, e.adUnitCode) || v(t, e, "bidRequest"); }); }); }); e(n); }.bind(e), c.e.before(i, 5); } function l() { c.c.getHooks({ hook: r }).remove(), c.e.getHooks({ hook: i }).remove(); } function p(e, t) { var n = 1 < arguments.length && void 0 !== t && t; o.b.setConfig({ debug: !0 }), l(), f(e), s("bidder overrides enabled".concat(n ? " from session" : "")); } function g(e, t, n) { return e.bidder && e.bidder !== t || !(!e.adUnitCode || e.adUnitCode === n); } function b(e, t) { return Array.isArray(e) && -1 === e.indexOf } function v(n, e, r) { return Object.keys(n).filter(function (e) { return -1 === ["adUnitCode"https://slate.com/technology/2020/11/,"bidder"].indexOf(e); }).reduce(function (e, t) { return s("bidder overrides changed '".concat(e.adUnitCode, "/").concat(e.bidderCode, "' ").concat(r, ".").concat(t, " from '").concat(e }, e); } function y(e) { if (e.enabled) { try { window.sessionStorage.setItem(u, JSON.stringify(e)); } catch (e) {} p(e); } else { l(), s("bidder overrides disabled"); try { window.sessionStorage.removeItem(u); } catch (e) {} } } o.b.getConfig("debugging", function (e) { return y(e.debugging); }); }, 23: function _(e, t, n) { "use strict"; n.d(t, "a", function () { return u; }); var r = n(0), s = n(41), i = n(10), o = n.n(i), a = n(5); var d, c, u = (d = [], (c = {}).addWinningBid = function var e = o()(d, function (e) { return e.getAuctionId() === t.auctionId; }); e ? (t.status = a.BID_STATUS.RENDERED, e.addWinningBid }, c.getAllWinningBids = function () { return d.map(function (e) { return e.getWinningBids(); }).reduce(r.flatten, []); }, c.getBidsRequested = function () { return d.map(function (e) { return e.getBidRequests(); }).reduce(r.flatten, []); }, c.getNoBids = function () { return d.map(function (e) { return e.getNoBids(); }).reduce(r.flatten, []); }, c.getBidsReceived = function () { return d.map(function (e) { if (e.getAuctionStatus() === s.a) return e.getBidsReceived(); }).reduce(r.flatten, []).filter(function (e) { return e; }); }, c.getAdUnits = function () { return d.map(function (e) { return e.getAdUnits(); }).reduce(r.flatten, []); }, c.getAdUnitCodes = function () { return d.map(function (e) { return e.getAdUnitCodes(); }).reduce(r.flatten, []).filter(r.uniques); }, c.createAuction = function (e) { var t, n = e.adUnits, r = e.adUnitCodes, i = e.callback, o = e.cbTimeout, a = e.labels, c = e.auctionId, u = Object(s.k)({ adUnits: n, adUnitCodes: r, callback: i, cbTimeout: o, labels: a, auctionId: c }); return t = u, d.push }, c.findBidByAdId = function return o()(d.map(function (e) { return e.getBidsReceived(); }).reduce(r.flatten, []), function (e) { return e.adId === t; }); }, c.getStandardBidderAdServerTargeting = function () { return Object(s.j)()[a.JSON_MAPPING.ADSERVER_TARGETING]; }, c.setStatusForBids = function (e, t) { var n, r = c.findBidByAdId(e); r && (r.status = t), !r || t !== a.BID_STATUS.BID_TARGETING_SET || (n = o()(d, function (e) { return e.getAuctionId() === r.auctionId; })) && n.setBidTargeting(r); }, c.getLastAuctionId = function () { return d.length && d[d.length - 1].getAuctionId(); }, c); }, 24: function _(n, e, t) { (function (e) { function t(e) { return e && e.Math == Math && e; } n.exports = t("object" == (typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) && globalThis) || 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")(); }).call(e, t(35)); }, 25: function _(e, t) { e.exports = function (e) { return "object" == _typeof(e) ? null !== e : "function" == typeof e; }; }, 26: function _(e, t) { var n = {}.hasOwnProperty; e.exports = function (e, t) { return n.call(e, t); }; }, 27: function _(e, t, n) { function r(e) { return "function" == typeof e ? e : void 0; } var i = n(42), o = n(24); e.exports = function (e, t) { return arguments.length < 2 ? r(i[e]) || r(o[e]) : i[e] && i[e] }; }, 28: function _(e, t, n) { "use strict"; n.d(t, "b", function () { return c; }), n.d(t, "a", function () { return u; }), t.d = function (e, t) { var n = Object(o.getBidRequest)(e.requestId, t), r = n && Object(o.deepAccess)(n, "mediaTypes.video"), i = r && Object(o.deepAccess)(r, "context"); return s(e, n, r, i); }, n.d(t, "c", function () { return s; }); n(9); var o = n(0), i = n(3), r = n(12), a = (n.n(r), n(13)), c = "outstream", u = "instream"; var s = Object(a.b)("sync", function (e, t, n, r) { return !t || n && r !== c ? i.b.getConfig("cache.url") || !e.vastXml || e.vastUrl ? !(!e.vastUrl && !e.vastXml) : (Object(o.logError)('n This bid contains only vastXml and will not work when a prebid cache url is not specified.n Try enabling prebid cache with pbjs.setConfig({ cache: {url: "..."} });n '), !1) : r !== c || !(!e.renderer && !t.renderer); }, "checkVideoBidSetup"); }, 29: function _(e, t, n) { var r = n(30); e.exports = !r(function () { return 7 != Object.defineProperty({}, 1, { get: function get() { return 7; } })[1]; }); }, 3: function _(e, t, n) { "use strict"; n.d(t, "a", function () { return y; }), n.d(t, "b", function () { return C; }); var r = n(45), i = n(10), a = n.n(i), o = n(12), c = n.n(o), u = n(77), s = n.n(u), d = n(0); function f() { return (f = Object.assign || function (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var l = n(89), p = n(0), g = n(5), b = "TRUE" === p.getParameterByName(g.DEBUG_MODE).toUpperCase(), v = window.location.origin, y = "random", h = {}; h[y] = !0, h.fixed = !0; var m = y, S = { LOW: "low", MEDIUM: "medium", HIGH: "high", AUTO: "auto", DENSE: "dense", CUSTOM: "custom" }; var A, E, O, T, I, C = (T = [], I = null, j(), { getCurrentBidder: function getCurrentBidder() { return I; }, getConfig: function getConfig() { if (arguments.length <= 1 && "function" != typeof (arguments.length <= 0 ? void 0 : arguments[0])) { var e = arguments.length <= 0 ? void 0 : arguments[0]; return e ? p.deepAccess(w(), e) : w(); } return function (e, t) { var n = t; if ("string" != typeof e && (n = e, e = "*"), "function" == typeof n) { var r = { topic: e, callback: n }; return T.push(r), function () { T.splice(T.indexOf(r), 1); }; } p.logError("listener must be a function"); }.apply(void 0, arguments); }, setConfig: function setConfig(n) { var e, r; p.isPlainObject(n) ? (e = Object.keys(n), r = {}, e.forEach(function (e) { var t = n[e]; p.isPlainObject(A[e]) && p.isPlainObject }), _(r)) : p.logError("setConfig options must be an object"); }, setDefaults: function setDefaults(e) { p.isPlainObject(A) ? (f(A, e), f(E, e)) : p.logError("defaults must be an object"); }, resetConfig: j, runWithBidder: B, callbackWithBidder: function callbackWithBidder(o) { return function (i) { return function () { if ("function" == typeof i) { for (var e, t = arguments.length, n = new Array n[r] = arguments[r]; } return B(o, (e = p.bind).call.apply(e, [i, this].concat(n))); } p.logWarn("config.callbackWithBidder callback is not a function"); }; }; }, setBidderConfig: function setBidderConfig(r) { try { !function (e) { if (!p.isPlainObject(e)) throw "setBidderConfig bidder options must be an object"; if (!Array.isArray(e.bidders) || !e.bidders.length) throw "setBidderConfig bidder options must contain a bidders list with at least 1 bidder"; if (!p.isPlainObject(e.config)) throw "setBidderConfig bidder options must contain a config object"; }(r), r.bidders.forEach(function (n) { O[n] || (O[n] = {}), Object.keys(r.config).forEach(function (e) { var t = r.config[e]; p.isPlainObject }); }); } catch (e) { p.logError(e); } }, getBidderConfig: function getBidderConfig() { return O; } }); function j() { A = {}; var n = { _debug: b, 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: v, get publisherDomain() { return this._publisherDomain; }, set publisherDomain(e) { this._publisherDomain = e; }, _priceGranularity: S.MEDIUM, set priceGranularity(e) { o(e) && ("string" == typeof e ? this._priceGranularity = i(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).reduce(function (e, t) { return o(n }, {}); }, _sendAllBids: !0, get enableSendAllBids() { return this._sendAllBids; }, set enableSendAllBids(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; } }; function i return a()(Object.keys(S), function (e) { return t === S[e]; }); } function o(e) { if (e) { if ("string" == typeof e) i(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 && _(Object.keys(E).reduce(function (e, t) { return E }, {})), E = n, O = {}; } function w() { if (I && O && p.isPlainObject(O[I])) { var n = O[I], e = new s.a(Object.keys(E).concat(Object.keys(n))); return l(e).reduce(function (e, t) { return void 0 === n }, {}); } return f({}, E); } function _(i) { var t = Object.keys(i); T.filter(function (e) { return c()(t, e.topic); }).forEach(function (e) { var t, n, r; e.callback((t = {}, n = e.topic, r = i[e.topic], n in t ? Object.defineProperty(t, n, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : t[n] = r, t)); }), T.filter(function (e) { return "*" === e.topic; }).forEach(function (e) { return e.callback(i); }); } function B(e, t) { I = e; try { return t(); } finally { I = null; } } }, 30: function _(e, t) { e.exports = function (e) { try { return !!e(); } catch (e) { return !0; } }; }, 31: function _(e, t, n) { var r = n(29), i = n(33), o = n(46); e.exports = r ? function (e, t, n) { return i.f(e, t, o(1, n)); } : function (e, t, n) { return e }; }, 33: function _(e, t, n) { var r = n(29), i = n(71), o = n(15), a = n(55), c = Object.defineProperty; t.f = r ? c : function (e, t, n) { if (o(e), t = a(t, !0), o(n), i) try { return c(e, t, n); } catch (e) {} if ("get" in n || "set" in n) throw TypeError("Accessors not supported"); return "value" in n && (e }; }, 34: function _(e, t, n) { "use strict"; t.a = function (e, t) { return new r(e, t); }; var i = n(0); function r(e, t) { var n = t && t.src || "client", r = e || 0; this.bidderCode = t && t.bidder || "", this.width = 0, this.height = 0, this.statusMessage = function () { switch (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.adId = i.getUniqueIdentifierStr(), this.requestId = t && t.bidId, this.mediaType = "banner", this.source = n, this.getStatusCode = function () { return r; }, this.getSize = function () { return this.width + "x" + this.height; }; } }, 35: function _(e, t) { var n = function () { return this; }(); try { n = n || Function("return this")() || (0, eval)("this"); } catch (e) { "object" == (typeof window === "undefined" ? "undefined" : _typeof(window)) && (n = window); } e.exports = n; }, 355: function _(e, t, n) { var r = n(356); e.exports = r; }, 356: function _(e, t, n) { n(357); var r = n(52); e.exports = r("String"https://slate.com/technology/2020/11/,"includes"); }, 357: function _(e, t, n) { "use strict"; var r = n(14), i = n(358), o = n(49); r({ target: "String", proto: !0, forced: !n(360)("includes") }, { includes: function includes(e, t) { return !!~String(o(this)).indexOf(i(e), 1 < arguments.length ? t : void 0); } }); }, 358: function _(e, t, n) { var r = n(359); e.exports = function (e) { if (r(e)) throw TypeError("The method doesn't accept regular expressions"); return e; }; }, 359: function _(e, t, n) { var r = n(25), i = n(48), o = n(19)("match"); e.exports = function (e) { var t; return r(e) && (void 0 !== (t = e[o]) ? !!t : "RegExp" == i(e)); }; }, 36: function _(e, t, n) { var r = n(16), i = n(88); e.exports = r ? i : function (e) { return Set.prototype.values.call(e); }; }, 360: function _(e, t, n) { var r = n(19)("match"); e.exports = function var n = /./; try { "/./" } catch (e) { try { return n[r] = !1, "/./" } catch (e) {} } return !1; }; }, 37: function _(e, t, n) { "use strict"; n.d(t, "e", function () { return o; }), n.d(t, "a", function () { return s; }), t.g = function (e) { if (e && e.type && function (e) { return !(!e || !c()(Object.keys(d), e)) || (Object(a.logError)("".concat(e, " nativeParam is not supported")), !1); }(e.type)) return d[e.type]; return e; }, t.f = function (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 i = Object.keys(r).filter(function (e) { return r[e].required; }), o = Object.keys(t.native).filter(function (e) { return t.native[e]; }); return i.every(function (e) { return c()(o, e); }); }, t.b = function (e, t) { var n; "click" === e.action ? n = t.native && t.native.clickTrackers : (n = t.native && t.native.impressionTrackers, t.native && t.native.javascriptTrackers && Object(a.insertHtmlIntoIframe)(t.native.javascriptTrackers)); return (n || []).forEach(a.triggerPixel), e.action; }, t.d = function (r, i) { var o = {}; return Object.keys(r.native).forEach(function (e) { var t = u.NATIVE_KEYS[e], n = f(r.native[e]); Object(a.deepAccess)(i, "mediaTypes.native.".concat(e, ".sendId")) && (n = "".concat(t, ":").concat(r.adId)), t && n && (o }), o; }, t.c = function (e, r) { var i = { message: "assetResponse", adId: e.adId, assets: [] }; return e.assets.forEach(function (e) { var t = Object(a.getKeyByValue)(u.NATIVE_KEYS, e), n = f(r.native i.assets.push({ key: t, value: n }); }), i; }; var a = n(0), r = n(12), c = n.n(r); function i(e) { return (i = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { return _typeof(e); } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var u = n(5), o = [], s = Object.keys(u.NATIVE_KEYS).map(function (e) { return u.NATIVE_KEYS[e]; }), d = { image: { image: { required: !0 }, title: { required: !0 }, sponsoredBy: { required: !0 }, clickUrl: { required: !0 }, body: { required: !1 }, icon: { required: !1 } } }; function f(e) { return "object" === i(e) && e.url ? e.url : e; } }, 38: function _(e, t) { e.exports = {}; }, 39: function _(e, t, n) { var i = n(15), o = n(18), a = n(19)("species"); e.exports = function (e, t) { var n, r = i(e).constructor; return void 0 === r || null == (n = i(r)[a]) ? t : o(n); }; }, 4: function _(e, t, n) { "use strict"; n.d(t, "a", function () { return r; }), t.b = i; var l = n(3); function p() { return (p = Object.assign || function (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } function g(e) { return (g = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { return _typeof(e); } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var b = n(0), v = 4, r = i(); function i() { var s = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 3e3, e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}, d = e.request, f = e.done; return function (e, t, n) { var r = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : {}; try { var i, o = r.method || (n ? "POST" : "GET"), a = document.createElement("a"); a.href = e; var c, u = "object" === g success: function success() { b.logMessage("xhr success"); }, error: function error(e) { b.logError("xhr error", null, e); } }; "function" == typeof t && (u.success = t), (i = new window.XMLHttpRequest()).onreadystatechange = function () { var e; i.readyState === v && ("function" == typeof f && f(a.origin), 200 <= (e = i.status) && e < 300 || 304 === e ? u.success(i.responseText, i) : u.error(i.statusText, i)); }, l.b.getConfig("disableAjaxTimeout") || (i.ontimeout = function () { b.logError(" xhr timeout after ", i.timeout, "ms"); }), "GET" === o && n && (p((c = b.parseUrl(e, r)).search, n), e = b.buildUrl(c)), i.open(o, e, !0), l.b.getConfig("disableAjaxTimeout") || (i.timeout = s), r.withCredentials && (i.withCredentials = !0), b._each(r.customHeaders, function (e, t) { i.setRequestHeader(t, e); }), r.preflight && i.setRequestHeader("X-Requested-With"https://slate.com/technology/2020/11/,"XMLHttpRequest"), i.setRequestHeader("Content-Type", r.contentType || "text/plain"), "function" == typeof d && d(a.origin), "POST" === o && n ? i.send(n) : i.send(); } catch (e) { b.logError("xhr construction", e); } }; } }, 40: function _(e, t, n) { "use strict"; t.a = function (r, e, t) { if (!e || !r) return void o.logError("cannot load external script without url and moduleCode"); if (!i()(c, e)) return void o.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 a[r] = { loaded: !1, tag: null, callbacks: [] }, t && "function" == typeof t && a[r].callbacks.push return o.logWarn("module ".concat(e, " is loading external JavaScript")), function (e, t) { var n = document.createElement("script"); n.type = "text/javascript", n.async = !0, (a[r].tag = n).readyState ? n.onreadystatechange = function () { "loaded" !== n.readyState && "complete" !== n.readyState || (n.onreadystatechange = null, t()); } : n.onload = function () { t(); }; return n.src = e, o.insertElement(n), n; }(r, function () { a[r].loaded = !0; try { for (var e = 0; e < a[r].callbacks.length; e++) { a[r].callbacks[e](); } } catch (e) { o.logError("Error executing callback"https://slate.com/technology/2020/11/,"adloader.js:loadExternalScript", e); } }); }; var r = n(12), i = n.n(r), o = n(0), a = {}, c = ["criteo"https://slate.com/technology/2020/11/,"outstream"https://slate.com/technology/2020/11/,"adagio"https://slate.com/technology/2020/11/,"browsi"]; }, 41: function _(e, t, n) { "use strict"; n.d(t, "b", function () { return W; }), n.d(t, "a", function () { return L; }), t.k = function (e) { var t, i, b, v, o = e.adUnits, n = e.adUnitCodes, r = e.callback, a = e.cbTimeout, c = e.labels, u = e.auctionId, y = o, s = c, d = n, h = [], f = [], l = [], p = u || N.generateUUID(), g = r, m = a, S = [], A = new Set(); function E() { return { auctionId: p, timestamp: t, auctionEnd: i, auctionStatus: b, adUnits: y, adUnitCodes: d, labels: s, bidderRequests: h, noBids: l, bidsReceived: f, winningBids: S, timeout: m }; } function O(n, e) { var r, t; e && clearTimeout(v), void 0 === i && (r = [], n && (N.logMessage("Auction ".concat(p, " timedOut")), t = A, (r = h.map(function (e) { return (e.bids || []).filter(function (e) { return !t.has(e.bidder); }); }).reduce(j.flatten, []).map(function (e) { return { bidId: e.bidId, bidder: e.bidder, adUnitCode: e.adUnitCode, auctionId: e.auctionId }; })).length && q.emit(M.EVENTS.BID_TIMEOUT, r)), b = L, i = Date.now(), q.emit(M.EVENTS.AUCTION_END, E()), Y(y, function () { try { var e; null != g && (e = f.filter(N.bind.call(j.adUnitsFilter, this, d)).reduce(Z, {}), g.apply(pbjs, [e, n, p]), g = null); } catch (e) { N.logError("Error executing bidsBackHandler", null, e); } finally { r.length && P.callTimedOutBidders(o, r, m); var t = B.b.getConfig("userSync") || {}; t.enableOverride || D(t.syncDelay); } })); } function T() { N.logInfo("Bids Received for Auction with id: ".concat(p), f), b = L, O(!1, !0); } function I(e) { A.add(e); } function C(d) { var f = this; d.forEach(function (e) { var t; t = e, h = h.concat }); var l = {}, e = { bidRequests: d, run: function run() { var e, t; e = O.bind(null, !0), t = setTimeout(e, m), v = t, b = W, q.emit(M.EVENTS.AUCTION_INIT, E()); var n, r, i, o, a, c, u = (n = T, r = f, i = 0, o = !1, a = new Set(), c = {}, { addBidResponse: function addBidResponse(e, t) { c[t.requestId] = !0, i++; var n = function (e) { var t = e.adUnitCode, n = e.bid, r = e.bidderRequest, i = e.auctionId, o = r.start, a = k({}, n, { auctionId: i, responseTimestamp: Object(j.timestamp)(), requestTimestamp: o, cpm: parseFloat(n.cpm) || 0, bidder: n.bidderCode, adUnitCode: t }); a.timeToRespond = a.responseTimestamp - a.requestTimestamp, q.emit(M.EVENTS.BID_ADJUSTMENT, a); var c = r.bids && U()(r.bids, function (e) { return e.adUnitCode == t; }), u = c && c.renderer; !u || !u.url || u.backupOnly && Object(j.isBoolean)(u.backupOnly) && n.renderer || (a.renderer = _.a.install({ url: u.url }), a.renderer.setRender(u.render)); var s = X(n.mediaType, c, B.b.getConfig("mediaTypePriceGranularity")), d = Object(w.a)(a.cpm, "object" === R(s) ? s : B.b.getConfig("customPriceBucket"), B.b.getConfig("currency.granularityMultiplier")); return a.pbLg = d.low, a.pbMg = d.med, a.pbHg = d.high, a.pbAg = d.auto, a.pbDg = d.dense, a.pbCg = d.custom, a; }({ adUnitCode: e, bid: t, bidderRequest: this, auctionId: r.getAuctionId() }); "video" === n.mediaType ? function (e, t, n, r) { var i = !0, o = Object(j.getBidRequest)(t.requestId, [n]), a = o && Object(j.deepAccess)(o, "mediaTypes.video"), c = a && Object(j.deepAccess)(a, "context"); B.b.getConfig("cache.url") && c !== x.b && (t.videoCacheKey ? t.vastUrl || (N.logError("videoCacheKey specified but not required vastUrl for video bid"), i = !1) : (i = !1, $(e, t, r, o))), i && (Q(e, t), r()); }(r, n, this, s) : (Q(r, n), s()); }, adapterDone: function adapterDone() { a.add(this), o = r.getBidRequests().every(function (e) { return a.has(e); }), this.bids.forEach(function (e) { c[e.bidId] || (r.addNoBid(e), q.emit(M.EVENTS.NO_BID, e)); }), o && 0 === i && n(); } }); function s() { i--, o && 0 === i && n(); } P.callBids(y, d, function () { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) { t[n] = arguments[n]; } K.apply({ dispatch: u.addBidResponse, bidderRequest: this }, t); }, u.adapterDone, { request: function 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, I); } }; function p(e) { var r = !0, i = B.b.getConfig("maxRequestsPerOrigin") || F; return e.bidRequests.some(function (e) { var t = 1, n = void 0 !== e.src && e.src === M.S2S.SRC ? "s2s" : e.bidderCode; return V[n] && (!1 === V[n].SRA && (t = Math.min(e.bids.length, i)), z[V[n].origin] + t > i && (r = !1)), !r;
}), r && e.run(), r;
}

function g(e, t) {
void 0 === e
}

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

return {
addBidReceived: function addBidReceived(e) {
f = f.concat(e);
},
addNoBid: function addNoBid(e) {
l = l.concat(e);
},
executeCallback: O,
callBids: function callBids() {
b = G, t = Date.now();
var e = P.makeBidRequests(y, t, p, m, s);
N.logInfo(“Bids Requested for Auction with id: “.concat(p), e), e.length < 1 ? (N.logWarn("No valid bid requests returned for auction"), T()) : J.call({ dispatch: C, context: this }, e); }, addWinningBid: function addWinningBid(e) { S = S.concat(e), P.callBidWonBidder(e.bidder, e, o); }, setBidTargeting: function setBidTargeting(e) { P.callSetTargetingBidder(e.bidder, e); }, getWinningBids: function getWinningBids() { return S; }, getTimeout: function getTimeout() { return m; }, getAuctionId: function getAuctionId() { return p; }, getAuctionStatus: function getAuctionStatus() { return b; }, getAdUnits: function getAdUnits() { return y; }, getAdUnitCodes: function getAdUnitCodes() { return d; }, getBidRequests: function getBidRequests() { return h; }, getBidsReceived: function getBidsReceived() { return f; }, getNoBids: function getNoBids() { return l; } }; }, n.d(t, "c", function () { return K; }), n.d(t, "e", function () { return J; }), t.g = s, t.d = Q, n.d(t, "f", function () { return $; }), n.d(t, "i", function () { return d; }), n.d(t, "h", function () { return f; }), t.j = l; var j = n(0), w = n(45), a = n(37), o = n(93), _ = n(11), B = n(3), r = n(43), i = n(13), c = n(10), U = n.n(c), x = n(28), u = n(2); function R(e) { return (R = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { return _typeof(e); } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } function k() { return (k = Object.assign || function (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var D = r.a.syncUsers, N = n(0), P = n(9).default, q = n(8), M = n(5), G = "started", W = "inProgress", L = "completed"; q.on(M.EVENTS.BID_ADJUSTMENT, function (e) { !function (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[M.JSON_MAPPING.BD_SETTING_STANDARD] && "function" == typeof pbjs.bidderSettings[M.JSON_MAPPING.BD_SETTING_STANDARD].bidCpmAdjustment && (t = pbjs.bidderSettings[M.JSON_MAPPING.BD_SETTING_STANDARD].bidCpmAdjustment), t)) try { r = t(e.cpm, k({}, e)); } catch (e) { N.logError("Error during bid adjustment"https://slate.com/technology/2020/11/,"bidmanager.js", e); } 0 <= r && (e.cpm = r); }(e); }); var F = 4, z = {}, V = {}, H = []; var K = Object(i.b)("async", function (e, t) { this.dispatch.call(this.bidderRequest, e, t); }, "addBidResponse"), J = Object(i.b)("sync", function (e) { this.dispatch.call(this.context, e); }, "addBidderRequests"), Y = Object(i.b)("async", function (e, t) { t && t(); }, "bidsBackCallback"); function s(e, t) { t.timeToRespond > e.getTimeout() + B.b.getConfig(“timeoutBuffer”) && e.executeCallback(!0);
}

function Q(e, t) {
var n = e.getBidRequests(),
r = U()(n, function (e) {
return e.bidderCode === t.bidderCode;
});
!function (t, e) {
var n;
{
var r;
t.bidderCode && (0 < t.cpm || t.dealId) && (r = U()(e.bids, function (e) { return e.adUnitCode === t.adUnitCode; }), n = function (e, t, n) { if (!t) return {}; var r = {}, i = pbjs.bidderSettings; { var o; i && (o = l(t.mediaType, e, n), p(r, o, t), e && i[e] && i[e][M.JSON_MAPPING.ADSERVER_TARGETING] && (p(r, i[e], t), t.sendStandardTargeting = i[e].sendStandardTargeting)); } t.native && (r = k({}, r, Object(a.d)(t, n))); return r; }(t.bidderCode, t, r)); } t.adserverTargeting = k(t.adserverTargeting || {}, n); }(t, r), q.emit(M.EVENTS.BID_RESPONSE, t), e.addBidReceived } var $ = Object(i.b)("async", function (n, r, i, e) { Object(o.b)([r], function (e, t) { e ? (N.logWarn("Failed to save to the video cache: ".concat(e, ". Video bid must be discarded.")), s(n, r)) : "" === t[0].uuid ? (N.logWarn("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."), s(n, r)) : (r.videoCacheKey = t[0].uuid, r.vastUrl || (r.vastUrl = Object(o.a)(r.videoCacheKey)), Q(n, r), i()); }, e); }, "callPrebidCache"); function X(e, t, n) { if (e && n) { if (e === u.d) { var r = Object(j.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 = function d(e, t) { var n = X(e, t, B.b.getConfig("mediaTypePriceGranularity")); return "string" == typeof e && n ? "string" == typeof n ? n : "custom" : B.b.getConfig("priceGranularity"); }, f = function f return function (e) { return t === M.GRANULARITY_OPTIONS.AUTO ? e.pbAg : t === M.GRANULARITY_OPTIONS.DENSE ? e.pbDg : t === M.GRANULARITY_OPTIONS.LOW ? e.pbLg : t === M.GRANULARITY_OPTIONS.MEDIUM ? e.pbMg : t === M.GRANULARITY_OPTIONS.HIGH ? e.pbHg : t === M.GRANULARITY_OPTIONS.CUSTOM ? e.pbCg : void 0; }; }; function l(e, t, n) { function r(e, t) { return { key: e, val: "function" == typeof t ? function (e) { return t(e); } : function (e) { return Object(j.getValue)(e, t); } }; } var i, o, a = M.TARGETING_KEYS, c = d(e, n), u = pbjs.bidderSettings; return u[M.JSON_MAPPING.BD_SETTING_STANDARD] || (u[M.JSON_MAPPING.BD_SETTING_STANDARD] = {}), u[M.JSON_MAPPING.BD_SETTING_STANDARD][M.JSON_MAPPING.ADSERVER_TARGETING] || (u[M.JSON_MAPPING.BD_SETTING_STANDARD][M.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 && (i = u[M.JSON_MAPPING.BD_SETTING_STANDARD][M.JSON_MAPPING.ADSERVER_TARGETING], [a.UUID, a.CACHE_ID].forEach(function void 0 === U()(i, function (e) { return e.key === t; }) && i.push(r(t, "videoCacheKey")); }), !B.b.getConfig("cache.url") || t && !1 === N.deepAccess(u, "".concat(t, ".sendStandardTargeting")) || (o = Object(j.parseUrl)(B.b.getConfig("cache.url")), void 0 === U()(i, function (e) { return e.key === a.CACHE_HOST; }) && i.push(r(a.CACHE_HOST, function (e) { return N.deepAccess(e, "adserverTargeting.".concat(a.CACHE_HOST)) ? e.adserverTargeting[a.CACHE_HOST] : o.hostname; })))), u[M.JSON_MAPPING.BD_SETTING_STANDARD]; } function p(r, i, o) { var e = i[M.JSON_MAPPING.ADSERVER_TARGETING]; return o.size = o.getSize(), N._each(e, function (e) { var t = e.key, n = e.val; if (r n = n(o); } catch (e) { N.logError("bidmanager"https://slate.com/technology/2020/11/,"ERROR", e); } (void 0 === i.suppressEmptyKeys || !0 !== i.suppressEmptyKeys) && t !== M.TARGETING_KEYS.DEAL || !N.isEmptyStr(n) && null != n ? r }), r; } function Z(e, t) { return e[t.adUnitCode] || (e[t.adUnitCode] = { bids: [] }), e[t.adUnitCode].bids.push } }, 42: function _(e, t) { e.exports = {}; }, 43: function _(e, t, n) { "use strict"; n.d(t, "a", function () { return S; }); var a = n(0), r = n(3), i = n(12), o = n.n(i), c = n(7); 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, i = !1, o = 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) { i = !0, o = e; } finally { try { r || null == c.return || c.return(); } finally { if (i) throw o; } } return n; }(e, t) || function (e, t) { if (!e) return; if ("string" == typeof e) return s(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return s(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 s(e, t) { (null == t || t > e.length) && (t = e.length);

for (var n = 0, r = new Array
r[n] = e[n];
}

return r;
}

function d() {
return (d = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) { var n = arguments 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, b, v, y, h, m = !a.isSafariBrowser() && f.cookiesAreEnabled(), S = (l = { config: r.b.getConfig("userSync"), browserSupportsCookies: m }, p = {}, g = A(), b = new Set(), y = { image: !0, iframe: !(v = {}) }, h = l.config, r.b.getConfig("userSync", function (e) { var t; e.userSync && (t = e.userSync.filterSettings, a.isPlainObject bidders: "*", filter: "include" }))), h = d(h, e.userSync); }), p.registerSync = function (e, t, n) { return b.has var r, i; }, p.syncUsers = function () { var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 0; if (e) return setTimeout(E, Number(e)); E(); }, p.triggerUserSyncs = function () { h.enableOverride && p.syncUsers(); }, p.canBidderRegisterSync = function (e, t) { return !h.filterSettings || !T(e, t); }, p); function A() { return { image: [], iframe: [] }; } function E() { if (h.syncEnabled && l.browserSupportsCookies) { try { !function () { if (!y.image) return; O(g.image, function (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); }); }(), function () { if (!y.iframe) return; O(g.iframe, function (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(); } } function O(e, t) { a.shuffle(e).forEach(function (e) { t(e), b.add(e[0]); }); } function T(e, t) { var n = h.filterSettings; if (function (e, t) { if (e.all && e var n = e.all ? e.all : e r = e.all ? "all" : t; if (!n) return !1; var i = n.filter, o = n.bidders; if (i && "include" !== i && "exclude" !== i) return a.logWarn('UserSync "filterSettings.'.concat(r, ".filter" setting '").concat(i, "' is not a valid option; use either 'include' or 'exclude'.")), !1; return !!("*" === o || Array.isArray(o) && 0 < o.length && o.every(function (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)) { y[e] = !0; var r = n.all ? n.all : n[e], i = "*" === r.bidders ? return { include: function include(e, t) { return !o()(e, t); }, exclude: function exclude(e, t) { return o()(e, t); } }[r.filter || "include"](i, t); } } }, 44: function _(e, t, n) { "use strict"; n.d(t, "a", function () { return f; }); var S = n(0), A = n(3), E = n(37), r = n(23), i = n(91), o = n(2), a = n(12), O = n.n(a); function T() { return (T = Object.assign || function (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } function I(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e } function C(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) { if (!e) return; if ("string" == typeof e) return c(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return c(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.length) && (t = e.length);

for (var n = 0, r = new Array
r[n] = e[n];
}

return r;
}

var j = n(0),
w = n(5),
_ = [],
B = Object.keys(w.TARGETING_KEYS).map(function (e) {
return w.TARGETING_KEYS[e];
}),
u = function u(e) {
return e.responseTimestamp + 1e3 * e.ttl + 1e3 > Object(S.timestamp)();
},
s = function s(e) {
return e && (e.status && !O()([w.BID_STATUS.RENDERED], e.status) || !e.status);
};

function U(e, r, t) {
var i = 2 < arguments.length && void 0 !== t ? t : 0, o = [], a = A.b.getConfig("sendBidsControl.dealPrioritization"), c = Object(S.groupBy)(e, "adUnitCode"); return Object.keys(c).forEach(function (e) { var t = [], n = Object(S.groupBy)(c[e], "bidderCode"); Object.keys(n).forEach(function (e) { return t.push(n[e].reduce(r)); }), 0 < i ? (t = a ? t.sort(x(!0)) : t.sort(function (e, t) { return t.cpm - e.cpm; }), o.push.apply(o, C(t.slice(0, i)))) : o.push.apply(o, C }), o; } function x(e) { var n = 0 < arguments.length && void 0 !== e && e; return function (e, t) { return void 0 !== e.adserverTargeting.hb_deal && void 0 === t.adserverTargeting.hb_deal ? -1 : void 0 === e.adserverTargeting.hb_deal && void 0 !== t.adserverTargeting.hb_deal ? 1 : n ? t.cpm - e.cpm : t.adserverTargeting.hb_pb - e.adserverTargeting.hb_pb; }; } var R, k, d, f = (R = r.a, d = {}, (k = {}).setLatestAuctionForAdUnit = function (e, t) { d[e] = t; }, k.resetPresetTargeting = function (e, t) { var n, i; Object(S.isGptPubadsDefined)() && (n = N(e), i = R.getAdUnits().filter(function (e) { return O()(n, e.code); }), window.googletag.pubads().getSlots().forEach(function (n) { var r = j.isFn _.forEach(function i.forEach(function (e) { (e.code === n.getAdUnitPath() || e.code === n.getSlotElementId() || j.isFn(r) && r(e.code)) && n.setTargeting(t, null); }); }); })); }, k.resetPresetTargetingAST = function (e) { N(e).forEach(function (e) { var t, n, r = window.apntag.getTag(e); r && r.keywords && (t = Object.keys(r.keywords), n = {}, t.forEach(function (e) { O()(_, e.toLowerCase()) || (n[e] = r.keywords[e]); }), window.apntag.modifyTag(e, { keywords: n })); }); }, k.getAllTargeting = function (e) { var t, n, r, i, o, a, c, u, s, d, f = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : P(), l = N(e), p = (c = l, u = f, s = k.getWinningBids(c, u), d = q(), (s = s.map(function (o) { return I({}, o.adUnitCode, Object.keys(o.adserverTargeting).filter(function (e) { return void 0 === o.sendStandardTargeting || o.sendStandardTargeting || -1 === d.indexOf(e); }).reduce(function (e, t) { var n = [o.adserverTargeting r = I({}, t.substring(0, 20), n); if (t !== w.TARGETING_KEYS.DEAL) return [].concat(C(e), [r]); var i = I({}, "".concat(t, "_").concat(o.bidderCode).substring(0, 20), n); return [].concat(C(e), [r, i]); }, [])); })).concat((a = l, f.filter(function (e) { return O()(a, e.adUnitCode); }).map(function (e) { return T({}, e); }).reduce(M, []).map(G).filter(function (e) { return e; }))).concat(A.b.getConfig("enableSendAllBids") ? (n = l, r = f, i = B.concat(E.a), o = A.b.getConfig("sendBidsControl.bidLimit"), U(r, S.getHighestCpm, o).map(function if (D(t, n)) return I({}, t.adUnitCode, W(t, i.filter(function (e) { return void 0 !== t.adserverTargeting[e]; }))); }).filter(function (e) { return e; })) : function (e, t) { if (!0 !== A.b.getConfig("targetingControls.alwaysIncludeDeals")) return []; var n = B.concat(E.a); return U(t, S.getHighestCpm).map(function if (t.dealId && D(t, e)) return I({}, t.adUnitCode, W(t, n.filter(function (e) { return void 0 !== t.adserverTargeting[e]; }))); }).filter(function (e) { return e; }); }(l, f)).concat((t = l, R.getAdUnits().filter(function (e) { return O()(t, e.code) && g(e); }).map(function (e) { return I({}, e.code, (t = g(e), Object.keys return I({}, e, j.isArray(t[e]) ? t[e] : t[e].split(",")); }))); var t; })))); function g(e) { return Object(S.deepAccess)(e, w.JSON_MAPPING.ADSERVER_TARGETING); } p.map(function Object.keys t[e].map(function (e) { -1 === _.indexOf(Object.keys(e)[0]) && (_ = Object.keys(e).concat(_)); }); }); }); var b = A.b.getConfig("targetingControls.allowTargetingKeys"); Array.isArray(b) && 0 < b.length && (p = function (e, r) { var i = T({}, w.TARGETING_KEYS, w.NATIVE_KEYS), o = Object.keys(i), a = {}; Object(S.logInfo)("allowTargetingKeys - allowed keys [ ".concat(r.map(function (e) { return i[e]; }).join("https://slate.com/technology/2020/11/,"), " ]")), e.map(function (e) { var t = Object.keys(e)[0], n = e var n = Object.keys(e)[0], t = 0 === o.filter(function (e) { return 0 === n.indexOf(i[e]); }).length || r.find(function (e) { var t = i[e]; return 0 === n.indexOf }); return a[n] = !t, t; }); e }); var t = Object.keys(a).filter(function (e) { return a[e]; }); return Object(S.logInfo)("allowTargetingKeys - removed keys [ ".concat(t.join("https://slate.com/technology/2020/11/,"), " ]")), e.filter(function (e) { return 0 < e[Object.keys(e)[0]].length; }); }(p, b)), p = p.map(function (e) { return I({}, Object.keys(e)[0], e[Object.keys(e)[0]].map(function (e) { return I({}, Object.keys(e)[0], e[Object.keys(e)[0]].join("https://slate.com/technology/2020/11/,")); }).reduce(function (e, t) { return T(t, e); }, {})); }).reduce(function (e, t) { var n = Object.keys return e[n] = T({}, e[n], t[n]), e; }, {}); var v, y, h, m = A.b.getConfig("targetingControls.auctionKeyMaxChars"); return m && (Object(S.logInfo)("Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ".concat(m, " characters. Running checks on auction keys...")), v = p, y = m, h = Object(S.deepClone)(v), p = Object.keys(h).map(function (e) { return { adUnitCode: e, adserverTargeting: h[e] }; }).sort(x()).reduce(function (e, t, n, r) { var i, o = (i = t.adserverTargeting, Object.keys(i).reduce(function (e, t) { return e + "".concat(t, "%3d").concat(encodeURIComponent(i }, "")); n + 1 === r.length && (o = o.slice(0, -3)); var a = t.adUnitCode, c = o.length; return c <= y ? (y -= c, Object(S.logInfo)("AdUnit '".concat(a, "' auction keys comprised of ").concat(c, " characters. Deducted from running threshold; new limit is ").concat(y), h[a]), e[a] = h[a]) : Object(S.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(y, ".n"), h[a]), n + 1 === r.length && 0 === Object.keys(e).length && Object(S.logError)("No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting."), e; }, {})), l.forEach(function (e) { p[e] || (p[e] = {}); }), p; }, k.setTargetingForGPT = function (i, e) { window.googletag.pubads().getSlots().forEach(function (r) { Object.keys(i).filter((e || Object(S.isAdUnitCodeMatchingSlot))(r)).forEach(function (n) { return Object.keys(i[n]).forEach(function var e = i[n] "string" == typeof e && (e = e.split(",")), (e = 1 < e.length ? [e] : e).map(function (e) { return j.logMessage("Attempting to set key value for slot: ".concat(r.getSlotElementId(), " key: ").concat(t, " value: ").concat(e)), e; }).forEach(function (e) { r.setTargeting(t, e); }); }); }); }); }, k.getWinningBids = function (e) { var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : P(), t = N(e); return n.filter(function (e) { return O()(t, e.adUnitCode); }).filter(function (e) { return 0 < e.cpm; }).map(function (e) { return e.adUnitCode; }).filter(S.uniques).map(function return n.filter(function (e) { return e.adUnitCode === t ? e : null; }).reduce(S.getHighestCpm); }); }, k.setTargetingForAst = function (e) { var r = k.getAllTargeting(e); try { k.resetPresetTargetingAST(e); } catch (e) { j.logError("unable to reset targeting for AST" + e); } Object.keys(r).forEach(function (n) { return Object.keys(r[n]).forEach(function (e) { var t; j.logMessage("Attempting to set targeting for targetId: ".concat(n, " key: ").concat(e, " value: ").concat(r[n][e])), (j.isStr(r[n][e]) || j.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 })); }); }); }, k.isApntagDefined = function () { if (window.apntag && j.isFn(window.apntag.setKeywords)) return !0; }, k); function D(e, t) { return e.adserverTargeting && t && (j.isArray } function N(e) { return "string" == typeof e ? [e] : j.isArray(e) ? e : R.getAdUnitCodes() || []; } function P() { var e = R.getBidsReceived(); return A.b.getConfig("useBidCache") || (e = e.filter(function (e) { return d[e.adUnitCode] === e.auctionId; })), U(e = e.filter(function (e) { return Object(S.deepAccess)(e, "video.context") !== o.a; }).filter(function (e) { return "banner" !== e.mediaType || Object(i.c)([e.width, e.height]); }).filter(s).filter(u), S.getOldestHighestCpmBid); } function q() { return R.getStandardBidderAdServerTargeting().map(function (e) { return e.key; }).concat(B).filter(S.uniques); } function M(r, i, e, t) { return Object.keys(i.adserverTargeting).filter(l()).forEach(function (e) { var t, n; r.length && r.filter((n = e, function (e) { return e.adUnitCode === i.adUnitCode && e.adserverTargeting[n]; })).forEach((t = e, function (e) { j.isArray(e.adserverTargeting })); }), r.push(i), r; } function l() { var t = q().concat(E.a); return function (e) { return -1 === t.indexOf(e); }; } function G return I({}, t.adUnitCode, Object.keys(t.adserverTargeting).filter(l()).map(function (e) { return I({}, e.substring(0, 20), [t.adserverTargeting[e]]); })); } function W(t, e) { return e.map(function (e) { return I({}, "".concat(e, "_").concat(t.bidderCode).substring(0, 20), [t.adserverTargeting[e]]); }); } }, 45: function _(e, t, n) { "use strict"; n.d(t, "a", function () { return d; }), n.d(t, "b", function () { return h; }); var r = n(10), v = n.n(r), i = n(0), y = 2, o = { 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 }] }; function 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, o, 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 i = ""; if (!h(e)) return i; var t, o, 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,
b = v()(e.buckets, function (e) {
if (n > p.max * r) {
var t = e.precision;
void 0 === t && (t = y), i = (e.max * r).toFixed
} else {
if (n <= e.max * r && g * r <= n) return e.min = g, e; g = e.max; } }); return b && (t = n, a = r, c = void 0 !== (o = b).precision ? o.precision : y, u = o.increment * a, s = o.min * a, d = Math.pow(10, c + 2), f = (t * d - s * d) / (u * d), l = Math.floor(f) * u + s, i = (l = Number(l.toFixed(10))).toFixed(c)), i; } function h(e) { if (i.isEmpty(e) || !e.buckets || !Array.isArray(e.buckets)) return !1; var t = !0; return e.buckets.forEach(function (e) { e.max && e.increment || (t = !1); }), t; } }, 46: function _(e, t) { e.exports = function (e, t) { return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t }; }; }, 47: function _(e, t, n) { var r = n(70), i = n(49); e.exports = function (e) { return r(i(e)); }; }, 48: function _(e, t) { var n = {}.toString; e.exports = function (e) { return n.call(e).slice(8, -1); }; }, 49: function _(e, t) { e.exports = function (e) { if (null == e) throw TypeError("Can't call method on " + e); return e; }; }, 498: function _(e, t, n) { var r = n(499); e.exports = r; }, 499: function _(e, t, n) { n(500); var r = n(42); e.exports = r.Number.isInteger; }, 5: 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", TCF2_ENFORCEMENT: "tcf2Enforcement", AUCTION_DEBUG: "auctionDebug" }, 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" } }; }, 50: function _(e, t, n) { var r = n(58), i = Math.min; e.exports = function (e) { return 0 < e ? i(r(e), 9007199254740991) : 0; }; }, 500: function _(e, t, n) { n(14)({ target: "Number", stat: !0 }, { isInteger: n(501) }); }, 501: function _(e, t, n) { var r = n(25), i = Math.floor; e.exports = function (e) { return !r(e) && isFinite(e) && i(e) === e; }; }, 51: function _(e, t) { e.exports = function () {}; }, 52: function _(e, t, n) { var r = n(27); e.exports = r; }, 53: function _(e, t) { e.exports = {}; }, 54: function _(e, t, n) { var r, i, o, a, c, u, s, d, f = n(113), l = n(24), p = n(25), g = n(31), b = n(26), v = n(65), y = n(53), h = l.WeakMap; s = f ? (r = new h(), i = r.get, o = r.has, a = r.set, c = function c(e, t) { return a.call(r, e, t), t; }, u = function u(e) { return i.call(r, e) || {}; }, function (e) { return o.call(r, e); }) : (y[d = v("state")] = !0, c = function c(e, t) { return g(e, d, t), t; }, u = function u(e) { return b(e, d) ? e[d] : {}; }, function (e) { return b(e, d); }), e.exports = { set: c, get: u, has: s, enforce: function enforce(e) { return s(e) ? u(e) : c(e, {}); }, getterFor: function getterFor(n) { return function (e) { var t; if (!p(e) || (t = u(e)).type !== n) throw TypeError("Incompatible receiver, " + n + " required"); return t; }; } }; }, 55: function _(e, t, n) { var i = n(25); e.exports = function (e, t) { if (!i(e)) return e; var n, r; if (t && "function" == typeof (n = e.toString) && !i(r = n.call(e))) return r; if ("function" == typeof (n = e.valueOf) && !i(r = n.call(e))) return r; if (!t && "function" == typeof (n = e.toString) && !i(r = n.call(e))) return r; throw TypeError("Can't convert object to primitive value"); }; }, 56: function _(e, t, n) { function r(p) { var g = 1 == p, b = 2 == p, v = 3 == p, y = 4 == p, h = 6 == p, m = 5 == p || h; return function (e, t, n, r) { for (var i, o, a = E(e), c = A(a), u = S(t, n, 3), s = O(c.length), d = 0, f = r || T, l = g ? f(e, s) : b ? f(e, 0) : void 0; d < s; d++) { if ((m || d in c) && (o = u(i = c[d], d, a), p)) if (g) l[d] = o;else if (o) switch (p) { case 3: return !0; case 5: return i; case 6: return d; case 2: I.call(l, i); } else if (y) return !1; } return h ? -1 : v || y ? y : l; }; } var S = n(22), A = n(70), E = n(57), O = n(50), T = n(101), I = [].push; e.exports = { forEach: r(0), map: r(1), filter: r(2), some: r(3), every: r(4), find: r(5), findIndex: r(6) }; }, 57: function _(e, t, n) { var r = n(49); e.exports = function (e) { return Object(r(e)); }; }, 58: function _(e, t) { var n = Math.ceil, r = Math.floor; e.exports = function (e) { return isNaN(e = +e) ? 0 : (0 < e ? r : n)(e); }; }, 59: function _(e, t) { var n = 0, r = Math.random(); e.exports = function (e) { return "Symbol(" + String(void 0 === e ? "" : e) + ")_" + (++n + r).toString(36); }; }, 60: function _(e, t, n) { function a(e) { throw e; } var c = n(29), u = n(30), s = n(26), d = Object.defineProperty, f = {}; e.exports = function (e, t) { if (s(f, e)) return f[e]; var n = [][e], r = !!s(t = t || {}, "ACCESSORS") && t.ACCESSORS, i = s(t, 0) ? t[0] : a, o = s(t, 1) ? t[1] : void 0; return f[e] = !!n && !u(function () { if (r && !c) return !0; var e = { length: -1 }; r ? d(e, 1, { enumerable: !0, get: a }) : e[1] = 1, n.call(e, i, o); }); }; }, 61: function _(e, t, n) { var r = n(62), i = n(38), o = n(19)("iterator"); e.exports = function (e) { if (null != e) return e[o] || e["@@iterator"] || i[r(e)]; }; }, 62: function _(e, t, n) { var r = n(63), i = n(48), o = n(19)("toStringTag"), a = "Arguments" == i(function () { return arguments; }()); e.exports = r ? i : function (e) { var t, n, r; return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (n = function (e, t) { try { return e } catch (e) {} }(t = Object(e), o)) ? n : a ? i }; }, 63: function _(e, t, n) { var r = {}; r[n(19)("toStringTag")] = "z", e.exports = "[object z]" === String(r); }, 64: function _(e, t, n) { var o = n(63), a = n(33).f, c = n(31), u = n(26), s = n(112), d = n(19)("toStringTag"); e.exports = function (e, t, n, r) { var i; e && (i = n ? e : e.prototype, u(i, d) || a(i, d, { configurable: !0, value: t }), r && !o && c(i, "toString", s)); }; }, 65: function _(e, t, n) { var r = n(73), i = n(59), o = r("keys"); e.exports = function (e) { return o[e] || (o[e] = i(e)); }; }, 66: function _(e, t, n) { "use strict"; function y() { return this; } var h = n(14), m = n(121), S = n(86), A = n(123), E = n(64), O = n(31), T = n(84), r = n(19), I = n(16), C = n(38), i = n(85), j = i.IteratorPrototype, w = i.BUGGY_SAFARI_ITERATORS, _ = r("iterator"), B = "values", U = "entries"; e.exports = function (e, t, n, r, i, o, a) { m(n, t, r); function c(e) { if (e === i && b) return b; if (!w && e in p) return p[e]; switch (e) { case "keys": case B: case U: return function () { return new n(this, e); }; } return function () { return new n(this); }; } var u, s, d, f = t + " Iterator", l = !1, p = e.prototype, g = p[_] || p["@@iterator"] || i && p[i], b = !w && g || c(i), v = "Array" == t && p.entries || g; if (v && (u = S(v.call(new e())), j !== Object.prototype && u.next && (I || S(u) === j || (A ? A(u, j) : "function" != typeof u[_] && O(u, _, y)), E(u, f, !0, !0), I && (C[f] = y))), i == B && g && g.name !== B && (l = !0, b = function b() { return g.call(this); }), I && !a || p[_] === b || O(p, _, b), C values: c(B), keys: o ? b : c("keys"), entries: c(U) }, a) for (d in s) { !w && !l && d in p || T(p, d, s[d]); } else h({ target: t, proto: !0, forced: w || l }, s); return s; }; }, 67: function _(e, t, n) { "use strict"; n.d(t, "a", function () { return o; }); var r = n(0), c = {}; function i(e, t, n) { var r, i, o, a = (i = n, o = c[r = e] = c[r] || { bidders: {} }, i ? o.bidders[i] = o.bidders[i] || {} : o); return a } var o = { incrementRequestsCounter: function incrementRequestsCounter(e) { return i(e, "requestsCounter"); }, incrementBidderRequestsCounter: function incrementBidderRequestsCounter(e, t) { return i(e, "requestsCounter", t); }, incrementBidderWinsCounter: function incrementBidderWinsCounter(e, t) { return i(e, "winsCounter", t); }, getRequestsCounter: function getRequestsCounter(e) { return Object(r.deepAccess)(c, "".concat(e, ".requestsCounter")) || 0; }, getBidderRequestsCounter: function getBidderRequestsCounter(e, t) { return Object(r.deepAccess)(c, "".concat(e, ".bidders.").concat(t, ".requestsCounter")) || 0; }, getBidderWinsCounter: function getBidderWinsCounter(e, t) { return Object(r.deepAccess)(c, "".concat(e, ".bidders.").concat(t, ".winsCounter")) || 0; } }; }, 68: function _(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), n.d(t, "adUnitSetupChecks", function () { return z; }), n.d(t, "checkAdUnitSetup", function () { return V; }), t.executeCallbacks = J; var r = n(21), i = n(0), o = n(227), a = n(43), d = n(3), m = n(23), f = n(44), c = n(13), u = n(228), s = n(12), l = n.n(s), p = n(67), S = n(11), g = n(34), b = n(7); function v(e) { return (v = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { return _typeof(e); } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } function y() { return (y = Object.assign || function (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var h = Object(r.a)(), A = n(5), E = n(0), O = n(9).default, T = n(8), I = a.a.triggerUserSyncs, C = A.EVENTS, j = C.ADD_AD_UNITS, w = C.BID_WON, _ = C.REQUEST_BIDS, B = C.SET_TARGETING, U = C.AD_RENDER_FAILED, x = A.AD_RENDER_FAILED_REASON, R = x.PREVENT_WRITING_ON_MAIN_DOCUMENT, k = x.NO_AD, D = x.EXCEPTION, N = x.CANNOT_FIND_AD, P = x.MISSING_DOC_OR_ADID, q = { bidWon: function bidWon(e) { var t = m.a.getBidsRequested().map(function (e) { return e.bids.map(function (e) { return e.adUnitCode; }); }).reduce(i.flatten).filter(i.uniques); return !!E.contains(t, e) || void E.logError('The "' + e + '" placement is not defined.'); } }; function M(e, t, n) { e.defaultView && e.defaultView.frameElement && (e.defaultView.frameElement.width = t, e.defaultView.frameElement.height = n); } function G(e, t) { var n = []; return E.isArray(e) && (t ? e.length === t : 0 < e.length) && (e.every(function (e) { return Object(i.isArrayOfNums)(e, 2); }) ? n = e : Object(i.isArrayOfNums)(e, 2) && n.push(e)), n; } function W(e) { var t = E.deepClone(e), n = t.mediaTypes.banner, r = G(n.sizes); return 0 < r.length ? (n.sizes = r, t.sizes = r) : (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 t.mediaTypes.banner), t; } function L(e) { var t, n, r = E.deepClone(e), i = r.mediaTypes.video; return i.playerSize && (t = "number" == typeof i.playerSize[0] ? 2 : 1, 0 < (n = G(i.playerSize, t)).length ? (2 == t && E.logInfo("Transforming video.playerSize from [640,480] to [[640,480]] so it's in the proper format."), i.playerSize = n, r.sizes = n) : (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 r.mediaTypes.video.playerSize)), r; } function F(e) { var t = E.deepClone(e), n = t.mediaTypes.native; return n.image && n.image.sizes && !Array.isArray(n.image.sizes) && (E.logError("Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request."), delete t.mediaTypes.native.image.sizes), n.image && n.image.aspect_ratios && !Array.isArray(n.image.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 t.mediaTypes.native.image.aspect_ratios), n.icon && n.icon.sizes && !Array.isArray(n.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 t.mediaTypes.native.icon.sizes), t; } Object(u.a)(), h.bidderSettings = h.bidderSettings || {}, h.libLoaded = !0, h.version = "v4.13.0", E.logInfo("Prebid.js v4.13.0 loaded"), h.adUnits = h.adUnits || [], h.triggerUserSyncs = I; var z = { validateBannerMediaType: W, validateVideoMediaType: L, validateNativeMediaType: F, validateSizes: G }, V = Object(c.b)("sync", function (e) { var c = []; return e.forEach(function (e) { var t, n, r, i, o = e.mediaTypes, a = e.bids; a && E.isArray(a) ? o && 0 !== Object.keys(o).length ? (o.banner && (t = W(e)), o.video && (n = L(t || e)), o.native && (r = F(n || t || e)), i = y({}, t, n, r), c.push(i)) : 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.")) : E.logError("Detected adUnit.code '".concat(e.code, "' did not have 'adUnit.bids' defined or 'adUnit.bids' is not an array. Removing adUnit from auction.")); }), c; }, "checkAdUnitSetup"); function H(e) { var n = m.a[e]().filter(E.bind.call(i.adUnitsFilter, this, m.a.getAdUnitCodes())), r = m.a.getLastAuctionId(); return n.map(function (e) { return e.adUnitCode; }).filter(i.uniques).map(function return n.filter(function (e) { return e.auctionId === r && e.adUnitCode === t; }); }).filter(function (e) { return e && e[0] && e[0].adUnitCode; }).map(function (e) { return t = {}, n = e[0].adUnitCode, r = { bids: e }, n in t ? Object.defineProperty(t, n, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : t[n] = r, t; var t, n, r; }).reduce(function (e, t) { return y(e, t); }, {}); } function K(e) { var t = e.reason, n = e.message, r = e.bid, i = e.id, o = { reason: t, message: n }; r && (o.bid = r), i && (o.adId = i), E.logError(n), T.emit(U, o); } function J(e, t) { function n(e) { for (var t; t = e.shift();) { t(); } } n(b.c), n(Y), e.call(this, t); } h.getAdserverTargetingForAdUnitCodeStr = function (e) { if (E.logInfo("Invoking pbjs.getAdserverTargetingForAdUnitCodeStr", arguments), e) { var t = h.getAdserverTargetingForAdUnitCode(e); return E.transformAdServerTargetingObj } E.logMessage("Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode"); }, h.getAdserverTargetingForAdUnitCode = function (e) { return h.getAdserverTargeting(e)[e]; }, h.getAdserverTargeting = function (e) { return E.logInfo("Invoking pbjs.getAdserverTargeting", arguments), f.a.getAllTargeting(e); }, h.getNoBids = function () { return E.logInfo("Invoking pbjs.getNoBids", arguments), H("getNoBids"); }, h.getBidResponses = function () { return E.logInfo("Invoking pbjs.getBidResponses", arguments), H("getBidsReceived"); }, h.getBidResponsesForAdUnitCode = function return { bids: m.a.getBidsReceived().filter(function (e) { return e.adUnitCode === t; }) }; }, h.setTargetingForGPTAsync = function (e, t) { var n; E.logInfo("Invoking pbjs.setTargetingForGPTAsync", arguments), Object(i.isGptPubadsDefined)() ? (n = f.a.getAllTargeting(e), f.a.resetPresetTargeting(e, t), f.a.setTargetingForGPT(n, t), Object.keys(n).forEach(function Object.keys(n "hb_adid" === e && m.a.setStatusForBids(n }); }), T.emit(B, n)) : E.logError("window.googletag is not defined on the page"); }, h.setTargetingForAst = function (e) { E.logInfo("Invoking pbjs.setTargetingForAn", arguments), f.a.isApntagDefined() ? (f.a.setTargetingForAst(e), T.emit(B, f.a.getAllTargeting())) : E.logError("window.apntag is not defined on the page"); }, h.renderAd = function (e, t, n) { if (E.logInfo("Invoking pbjs.renderAd", arguments), E.logMessage("Calling renderAd with adId :" + t), e && t) try { var r, i, o, a, c, u, s, d, f, l, p, g, b, v = m.a.findBidByAdId v ? (v.ad = E.replaceAuctionPrice(v.ad, v.cpm), v.adUrl = E.replaceAuctionPrice(v.adUrl, v.cpm), n && n.clickThrough && (r = n.clickThrough, v.ad = E.replaceClickThrough(v.ad, r), v.adUrl = E.replaceClickThrough(v.adUrl, r)), m.a.addWinningBid(v), T.emit(w, v), i = v.height, o = v.width, a = v.ad, c = v.mediaType, u = v.adUrl, s = v.renderer, d = document.createComment("Creative ".concat(v.creativeId, " served by ").concat(v.bidder, " Prebid.js Header Bidding")), E.insertElement(d, e, "body"), Object(S.c)(s) ? Object(S.b)(s, v) : e === document && !E.inIframe() || "video" === c ? (f = "Error trying to write ad. Ad render call ad id ".concat(t, " was prevented from writing to the main document."), K({ reason: R, message: f, bid: v, id: t })) : a ? (navigator.userAgent && -1 < navigator.userAgent.toLowerCase().indexOf("firefox/") && (l = navigator.userAgent.toLowerCase().match(/firefox/([d.]+)/)[1]) && parseInt(l, 10) < 67 && e.open("text/html"https://slate.com/technology/2020/11/,"replace"), e.write(a), e.close(), M(e, o, i), E.callBurl(v)) : u ? ((p = E.createInvisibleIframe()).height = i, p.width = o, p.style.display = "inline", p.style.overflow = "hidden", p.src = u, E.insertElement(p, e, "body"), M(e, o, i), E.callBurl(v)) : (g = "Error trying to write ad. No ad for bid response id: ".concat reason: k, message: g, bid: v, id: t }))) : (b = "Error trying to write ad. Cannot find ad by given id : ".concat reason: N, message: b, id: t })); } catch (e) { var y = "Error trying to write ad Id :".concat(t, " to the page:").concat(e.message); K({ reason: D, message: y, id: t }); } else { var h = "Error trying to write ad Id :".concat(t, " to the page. Missing document or adId"); K({ reason: P, message: h, id: t }); } }, h.removeAdUnit = function (e) { E.logInfo("Invoking pbjs.removeAdUnit", arguments), e ? (E.isArray(e) ? e : [e]).forEach(function (e) { for (var t = h.adUnits.length - 1; 0 <= t; t--) { h.adUnits } }) : h.adUnits = []; }, h.requestBids = Object(c.b)("async", function () { var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}, t = e.bidsBackHandler, n = e.timeout, r = e.adUnits, i = e.adUnitCodes, o = e.labels, a = e.auctionId; T.emit(_); var c = n || d.b.getConfig("bidderTimeout"), r = r || h.adUnits; if (E.logInfo("Invoking pbjs.requestBids", arguments), r = V(r), i && ? r = r.filter(function (e) { return l()(i, e.code); }) : i = r && r.map(function (e) { return e.code; }), r.forEach(function (i) { var o = Object.keys(i.mediaTypes || { banner: "banner" }), e = i.bids.map(function (e) { return e.bidder; }), a = O.bidderRegistry, t = d.b.getConfig("s2sConfig"), n = t && t.bidders, r = n ? e.filter(function (e) { return !l()(n, e); }) : e; i.transactionId = E.generateUUID(), r.forEach(function var e = a n = e && e.getSpec && e.getSpec(), r = n && n.supportedMediaTypes || ["banner"]; o.some(function (e) { return l()(r, e); }) ? p.a.incrementBidderRequestsCounter(i.code, t) : (E.logWarn(E.unsupportedBidderMessage(i, t)), i.bids = i.bids.filter(function (e) { return e.bidder !== t; })); }), p.a.incrementRequestsCounter(i.code); }), r && 0 !== r.length) { var u = m.a.createAuction({ adUnits: r, adUnitCodes: i, callback: t, cbTimeout: c, labels: o, auctionId: a }), s = r.length; 15 < s && E.logInfo("Current auction ".concat(u.getAuctionId(), " contains ").concat(s, " adUnits."), r), i.forEach(function (e) { return f.a.setLatestAuctionForAdUnit(e, u.getAuctionId()); }), u.callBids(); } else if (E.logMessage("No adUnits configured. No bids requested."), "function" == typeof t) try { t(); } catch (e) { E.logError("Error executing bidsBackHandler", null, e); } }), h.requestBids.before(J, 49), h.addAdUnits = function (e) { E.logInfo("Invoking pbjs.addAdUnits", arguments), E.isArray(e) ? h.adUnits.push.apply(h.adUnits, e) : "object" === v(e) && h.adUnits.push(e), T.emit(j); }, h.onEvent = function (e, t, n) { E.logInfo("Invoking pbjs.onEvent", arguments), E.isFn }, h.offEvent = function (e, t, n) { E.logInfo("Invoking pbjs.offEvent", arguments), n && !q[e].call(null, n) || T.off(e, t, n); }, h.getEvents = function () { return E.logInfo("Invoking pbjs.getEvents"), T.getEvents(); }, h.registerBidAdapter = function (e, t) { E.logInfo("Invoking pbjs.registerBidAdapter", arguments); try { O.registerBidAdapter(e(), t); } catch (e) { E.logError("Error registering bidder adapter : " + e.message); } }, h.registerAnalyticsAdapter = function (e) { E.logInfo("Invoking pbjs.registerAnalyticsAdapter", arguments); try { O.registerAnalyticsAdapter(e); } catch (e) { E.logError("Error registering analytics adapter : " + e.message); } }, h.createBid = function (e) { return E.logInfo("Invoking pbjs.createBid", arguments), Object(g.a)(e); }; var Y = [], Q = Object(c.b)("async", function (e) { e && !E.isEmpty(e) ? (E.logInfo("Invoking pbjs.enableAnalytics for: ", e), O.enableAnalytics(e)) : E.logError("pbjs.enableAnalytics should be called with option {}"); }, "enableAnalyticsCb"); function $(e) { e.forEach(function (e) { if (void 0 === e.called) try { e.call(), e.called = !0; } catch (e) { E.logError("Error processing command :"https://slate.com/technology/2020/11/,"prebid.js", e); } }); } h.enableAnalytics = function (e) { Y.push(Q.bind(this, e)); }, h.aliasBidder = function (e, t, n) { E.logInfo("Invoking pbjs.aliasBidder", arguments), e && t ? O.aliasBidAdapter(e, t, n) : E.logError("bidderCode and alias must be passed as arguments"https://slate.com/technology/2020/11/,"pbjs.aliasBidder"); }, h.getAllWinningBids = function () { return m.a.getAllWinningBids(); }, h.getAllPrebidWinningBids = function () { return m.a.getBidsReceived().filter(function (e) { return e.status === A.BID_STATUS.BID_TARGETING_SET; }); }, h.getHighestCpmBids = function (e) { return f.a.getWinningBids(e); }, h.markWinningBidAsUsed = function var e = []; t.adUnitCode && t.adId ? e = m.a.getBidsReceived().filter(function (e) { return e.adId === t.adId && e.adUnitCode === t.adUnitCode; }) : t.adUnitCode ? e = f.a.getWinningBids(t.adUnitCode) : t.adId ? e = m.a.getBidsReceived().filter(function (e) { return e.adId === t.adId; }) : E.logWarn("Improper use of markWinningBidAsUsed. It needs an adUnitCode or an adId to function."), 0 < e.length && (e[0].status = A.BID_STATUS.RENDERED); }, h.getConfig = d.b.getConfig, h.setConfig = d.b.setConfig, h.setBidderConfig = d.b.setBidderConfig, h.que.push(function () { return Object(o.a)(); }), h.cmd.push = function (e) { if ("function" == typeof e) try { e.call(); } 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"); }, h.que.push = h.cmd.push, h.processQueue = function () { c.b.ready(), $(h.que), $(h.cmd); }, t.default = h; }, 69: function _(e, t, n) { "use strict"; t.a = function (t, n) { o.adServers = o.adServers || {}, o.adServers o.adServers }); }; var r = n(21), i = n(0), o = Object(r.a)(); }, 7: function _(e, t, n) { "use strict"; n.d(t, "c", function () { return l; }), n.d(t, "d", function () { return p; }), t.a = function (e) { return o({ moduleName: e, moduleType: "core" }); }, t.b = function (e, t) { return o({ gvlid: e, moduleName: t }); }; var r = n(13), u = n(0), i = n(12), d = n.n(i), f = ["core"https://slate.com/technology/2020/11/,"prebid-module"], l = []; function o(e) { var t = 0 < arguments.length && void 0 !== e ? e : {}, i = t.gvlid, o = t.moduleName, a = t.moduleType; function s(n) { if (d()(f, a)) { return n({ valid: !0 }); } var r; return p(i, o, { hasEnforcementHook: !1 }, function (e) { var t; r = e && e.hasEnforcementHook ? n(e) : (t = { hasEnforcementHook: !1, valid: u.hasDeviceAccess() }, n }), r; } var c = function c function n(e) { if (e && e.valid) try { return !!window.localStorage; } catch (e) { u.logError("Local storage api disabled"); } return !1; } if (!t || "function" != typeof t) return s(n); l.push(function () { var e = s(n); t(e); }); }; return { setCookie: function setCookie(i, o, a, c, u, t) { function n(e) { var t, n, r; e && e.valid && (t = u && "" !== u ? " ;domain=".concat(encodeURIComponent(u)) : "", n = a && "" !== a ? " ;expires=".concat(a) : "", r = null != c && "none" == c.toLowerCase() ? "; Secure" : "", document.cookie = "".concat(i, "=").concat(encodeURIComponent(o)).concat(n, "; path=/").concat } if (!t || "function" != typeof t) return s(n); l.push(function () { var e = s(n); t(e); }); }, getCookie: function getCookie(n, t) { function r(e) { if (e && e.valid) { var t = window.document.cookie.match("(^|;)\s*" + n + "\s*=\s*([^;]*)\s*(;|$)"); return t ? decodeURIComponent(t[2]) : null; } return null; } if (!t || "function" != typeof t) return s(r); l.push(function () { var e = s(r); t(e); }); }, localStorageIsEnabled: function localStorageIsEnabled function n(e) { if (e && e.valid) try { return localStorage.setItem("prebid.cookieTest"https://slate.com/technology/2020/11/,"1"), "1" === localStorage.getItem("prebid.cookieTest"); } catch (e) {} return !1; } if (!t || "function" != typeof t) return s(n); l.push(function () { var e = s(n); t(e); }); }, cookiesAreEnabled: function cookiesAreEnabled function n(e) { return !(!e || !e.valid) && (!!u.checkCookieSupport() || (window.document.cookie = "prebid.cookieTest", -1 !== window.document.cookie.indexOf("prebid.cookieTest"))); } if (!t || "function" != typeof t) return s(n); l.push(function () { var e = s(n); t(e); }); }, setDataInLocalStorage: function setDataInLocalStorage(t, n, r) { function i(e) { e && e.valid && c() && window.localStorage.setItem(t, n); } if (!r || "function" != typeof r) return s(i); l.push(function () { var e = s(i); r(e); }); }, getDataFromLocalStorage: function getDataFromLocalStorage(t, n) { function r(e) { return e && e.valid && c() ? window.localStorage.getItem } if (!n || "function" != typeof n) return s(r); l.push(function () { var e = s(r); n(e); }); }, removeDataFromLocalStorage: function removeDataFromLocalStorage(t, n) { function r(e) { e && e.valid && c() && window.localStorage.removeItem } if (!n || "function" != typeof n) return s(r); l.push(function () { var e = s(r); n(e); }); }, hasLocalStorage: c, findSimilarCookies: function findSimilarCookies(o, t) { function n(e) { if (e && e.valid) { var t = []; if (u.hasDeviceAccess()) for (var n = document.cookie.split(";"); n.length;) { var r = n.pop(), i = (i = r.indexOf("=")) < 0 ? r.length : i; 0 <= decodeURIComponent(r.slice(0, i).replace(/^s+/, "")).indexOf(o) && t.push(decodeURIComponent(r.slice(i + 1))); } return t; } } if (!t || "function" != typeof t) return s(n); l.push(function () { var e = s(n); t(e); }); } }; } var p = Object(r.b)("async", function (e, t, n, r) { r(n); }, "validateStorageEnforcement"); }, 70: function _(e, t, n) { var r = n(30), i = n(48), o = "".split; e.exports = r(function () { return !Object("z").propertyIsEnumerable(0); }) ? function (e) { return "String" == i(e) ? o.call(e, "") : Object(e); } : Object; }, 71: function _(e, t, n) { var r = n(29), i = n(30), o = n(72); e.exports = !r && !i(function () { return 7 != Object.defineProperty(o("div"), "a", { get: function get() { return 7; } }).a; }); }, 72: function _(e, t, n) { var r = n(24), i = n(25), o = r.document, a = i(o) && i(o.createElement); e.exports = function (e) { return a ? o.createElement(e) : {}; }; }, 73: function _(e, t, n) { var r = n(16), i = n(74); (e.exports = function (e, t) { return i[e] || (i[e] = void 0 !== t ? t : {}); })("versions", []).push({ version: "3.6.4", mode: r ? "pure" : "global", copyright: "© 2020 Denis Pushkarev (zloirock.ru)" }); }, 74: function _(e, t, n) { var r = n(24), i = n(103), o = "__core-js_shared__", a = r[o] || i(o, {}); e.exports = a; }, 75: function _(e, t, n) { var r = n(30); e.exports = !!Object.getOwnPropertySymbols && !r(function () { return !String(Symbol()); }); }, 76: function _(e, t, n) { function r(c) { return function (e, t, n) { var r, i = u(e), o = s(), a = d(n, o); if (c && t != t) { for (; a < o;) { if ((r = i[a++]) != r) return !0; } } else for (; a < o; a++) { if ((c || a in i) && i[a] === t) return c || a || 0; } return !c && -1; }; } var u = n(47), s = n(50), d = n(107); e.exports = { includes: r(!0), indexOf: r(!1) }; }, 77: function _(e, t, n) { var r = n(108); n(131), n(133), n(135), n(137), n(139), n(140), n(141), n(142), n(143), n(144), n(145), n(146), n(147), n(148), n(149), n(150), n(151), n(152), e.exports = r; }, 78: function _(e, t, n) { function r(e) { c(e, d, { value: { objectID: "O" + ++f, weakData: {} } }); } var i = n(53), o = n(25), a = n(26), c = n(33).f, u = n(59), s = n(111), d = u("meta"), f = 0, l = Object.isExtensible || function () { return !0; }, p = e.exports = { REQUIRED: !1, fastKey: function fastKey(e, t) { if (!o(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: function getWeakData(e, t) { if (!a(e, d)) { if (!l(e)) return !0; if (!t) return !1; r(e); } return e[d].weakData; }, onFreeze: function onFreeze(e) { return s && p.REQUIRED && l(e) && !a(e, d) && r(e), e; } }; i[d] = !0; }, 79: function _(e, t, n) { var r = n(19), i = n(38), o = r("iterator"), a = Array.prototype; e.exports = function (e) { return void 0 !== e && (i.Array === e || a[o] === e); }; }, 8: function _(e, t, n) { function r() { return (r = Object.assign || function (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var c, i, u = n(0), o = n(5), a = Array.prototype.slice, s = Array.prototype.push, d = u._map(o.EVENTS, function (e) { return e; }), f = o.EVENT_ID_PATHS, l = []; e.exports = (c = {}, (i = {}).on = function (e, t, n) { var r, i; i = e, u.contains(d, i) ? (r = c[e] || { que: [] }, n ? (r[n] = r[n] || { que: [] }, r[n].que.push }, i.emit = function (e) { !function (e, t) { u.logMessage("Emitting event for: " + e); var n = t[0] || {}, r = n[f[e]], i = c[e] || { que: [] }, o = u._map(i, function (e, t) { return t; }), a = []; l.push({ eventType: e, args: n, id: r }), r && u.contains(o, r) && s.apply(a, i[r].que), s.apply(a, i.que), u._each(a, function (e) { if (e) try { e.apply(null, t); } catch (e) { u.logError("Error executing handler:"https://slate.com/technology/2020/11/,"events.js", e); } }); }(e, a.call(arguments, 1)); }, i.off = function (e, n, r) { var i = c[e]; u.isEmpty(i) || u.isEmpty(i.que) && u.isEmpty(i[r]) || r && (u.isEmpty(i[r]) || u.isEmpty(i[r].que)) || (r ? u._each(i[r].que, function (e) { var t = i[r].que; e === n && t.splice(t.indexOf(e), 1); }) : u._each(i.que, function (e) { var t = i.que; e === n && t.splice(t.indexOf(e), 1); }), c[e] = i); }, i.get = function () { return c; }, i.getEvents = function () { var n = []; return u._each(l, function (e) { var t = r({}, e); n.push }), n; }, i); }, 80: function _(e, t, n) { var o = n(15); e.exports = function (t, e, n, r) { try { return r ? e(o(n)[0], n[1]) : e(n); } catch (e) { var i = t.return; throw (void 0 !== i && o(i.call } }; }, 81: function _(e, t) { e.exports = function (e, t, n) { if (!(e instanceof t)) throw TypeError("Incorrect " + (n ? n + " " : "") + "invocation"); return e; }; }, 82: function _(e, t, n) { function r() {} function i(e) { return "'); } function tryGetCriteoFastBid() { try { var fastBidStorageKey = "criteo_fast_bid", hashPrefix = "// Hash: ", fastBidFromStorage = storage.getDataFromLocalStorage(fastBidStorageKey), firstLineEndPosition, firstLine, publisherTagHash, publisherTag; null !== fastBidFromStorage && (firstLineEndPosition = fastBidFromStorage.indexOf("n"), firstLine = fastBidFromStorage.substr(0, firstLineEndPosition).trim(), firstLine.substr(0, hashPrefix.length) !== hashPrefix ? (__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("No hash found in FastBid"), storage.removeDataFromLocalStorage(fastBidStorageKey)) : (publisherTagHash = firstLine.substr(hashPrefix.length), publisherTag = fastBidFromStorage.substr(firstLineEndPosition + 1), Object(__WEBPACK_IMPORTED_MODULE_6_criteo_direct_rsa_validate_build_verify_js__.verify)(publisherTag, publisherTagHash, FAST_BID_PUBKEY_N, FAST_BID_PUBKEY_E) ? (__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logInfo("Using Criteo FastBid"), eval(publisherTag)) : (__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("Invalid Criteo FastBid found"), storage.removeDataFromLocalStorage(fastBidStorageKey)))); } catch } Object(__WEBPACK_IMPORTED_MODULE_1__src_adapters_bidderFactory_js__.registerBidder)(spec); }, 377: function _(t, e, r) { "use strict"; Object.defineProperty(e, "__esModule", { value: !0 }); var a = r(378), n = r(379); e.verify = function (t, e, r, i) { var s = new a.BigInteger(a.b64toHex(e)), o = new a.BigInteger(a.b64toHex(r)), _ = s.modPowInt(i, o); return a.removeExtraSymbols(_.toHexString()) === n.Sha256.hash }; }, 378: function _(t, e, r) { "use strict"; var i; Object.defineProperty(e, "__esModule", { value: !0 }); var s = (T.prototype.toHexString = function () { if (this.s < 0) return "-" + this.negate().toHexString(); var t, e = !1, r = "", i = this.t, s = this.DB - i * this.DB % 4; if (0 < i--) for (s < this.DB && 0 < (t = this[i] >> s) && (e = !0, r = c
s < 4 ? (t = (this[i] & (1 << s) - 1) << 4 - s, t |= this[--i] >> (s += this.DB – 4)) : (t = this[i] >> (s -= 4) & 15, s <= 0 && (s += this.DB, --i)), 0 < t && (e = !0), e && (r += c } return e ? r : "0"; }, T.prototype.fromHexString = function if (null !== t) { this.t = 0, this.s = 0; for (var e = t.length, r = !1, i = 0; 0 <= --e;) { var s = n(t, e); s < 0 ? "-" == t.charAt(e) && (r = !0) : (r = !1, 0 == i ? this[this.t++] = s : i + 4 > this.DB ? (this[this.t – 1] |= (s & (1 << this.DB - i) - 1) << i, this[this.t++] = s >> this.DB – i) : this[this.t – 1] |= s << i, (i += 4) >= this.DB && (i -= this.DB));
}

this.clamp(), r && T.ZERO.subTo(this, this);
}
}, T.prototype.negate = function () {
var t = b();
return T.ZERO.subTo(this, t), t;
}, T.prototype.abs = function () {
return this.s < 0 ? this.negate() : this; }, T.prototype.mod = function var e = b(); return this.abs().divRemTo(t, null, e), this.s < 0 && 0 < e.compareTo(T.ZERO) && t.subTo(e, e), e; }, T.prototype.copyTo = function for (var e = this.t - 1; 0 <= e; --e) { t[e] = this[e]; } t.t = this.t, t.s = this.s; }, T.prototype.lShiftTo = function (t, e) { for (var r = t % this.DB, i = this.DB - r, s = (1 << i) - 1, o = Math.floor(t / this.DB), _ = this.s << r & this.DM, a = this.t - 1; 0 <= a; --a) { e[a + o + 1] = this[a] >> i | _, _ = (this[a] & s) << r; } for (a = o - 1; 0 <= a; --a) { e[a] = 0; } e[o] = _, e.t = this.t + o + 1, e.s = this.s, e.clamp(); }, T.prototype.invDigit = function () { 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; }, T.prototype.dlShiftTo = function (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; }, T.prototype.squareTo = function 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(); }, T.prototype.multiplyTo = function (t, e) { var r = this.abs(), i = t.abs(), s = r.t; for (e.t = s + i.t; 0 <= --s;) { e[s] = 0; } for (s = 0; s < i.t; ++s) { e[s + r.t] = r.am(0, i[s], e, s, 0, r.t); } e.s = 0, e.clamp(), this.s != t.s && T.ZERO.subTo(e, e); }, T.prototype.divRemTo = function (t, e, r) { var i = t.abs(); if (!(i.t <= 0)) { var s = this.abs(); if (s.t < i.t) return null != e && e.fromHexString("0"), void (null != r && this.copyTo(r)); null == r && (r = b()); var o = b(), _ = this.s, a = t.s, n = this.DB - D(i[i.t - 1]); 0 < n ? (i.lShiftTo(n, o), s.lShiftTo(n, r)) : (i.copyTo(o), s.copyTo(r)); var p = o.t, c = o[p - 1]; if (0 != c) { var d = c * (1 << this.F1) + (1 < p ? o[p - 2] >> this.F2 : 0),
u = this.FV / d,
h = (1 << this.F1) / d, l = 1 << this.F2, f = r.t, E = f - p, v = null == e ? b() : e; for (o.dlShiftTo(E, v), 0 <= r.compareTo(v) && (r[r.t++] = 1, r.subTo(v, r)), T.ONE.dlShiftTo(p, v), v.subTo(o, o); o.t < p;) { o[o.t++] = 0; } for (; 0 <= --E;) { var m = r[--f] == c ? this.DM : Math.floor(r[f] * u + (r[f - 1] + l) * h); if ((r[f] += o.am(0, m, r, E, 0, p)) < m) for (o.dlShiftTo(E, v), r.subTo(v, r); r[f] < --m;) { r.subTo(v, r); } } null != e && (r.drShiftTo(p, e), _ != a && T.ZERO.subTo(e, e)), r.t = p, r.clamp(), 0 < n && r.rShiftTo(n, r), _ < 0 && T.ZERO.subTo(r, r); } } }, T.prototype.rShiftTo = function (t, e) { e.s = this.s; var r = Math.floor(t / this.DB); if (r >= this.t) e.t = 0;else {
var i = t % this.DB,
s = this.DB – i,
o = (1 << i) - 1; e[0] = this[r] >> i;

for (var _ = r + 1; _ < this.t; ++_) { e[_ - r - 1] |= (this[_] & o) << s, e[_ - r] = this[_] >> i;
}

0 < i && (e[this.t - r - 1] |= (this.s & o) << s), e.t = this.t - r, e.clamp(); } }, T.prototype.drShiftTo = function (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; }, T.prototype.subTo = function (t, e) { for (var r = 0, i = 0, s = Math.min(t.t, this.t); r < s;) { 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(); }, T.prototype.clamp = function () { for (var t = this.s & this.DM; 0 < this.t && this[this.t - 1] == t;) { --this.t; } }, T.prototype.modPowInt = function (t, e) { var r = new (t < 256 || e.isEven() ? d : h)(e); return this.exp(t, r); }, T.prototype.exp = function (t, e) { if (4294967295 < t || t < 1) return T.ONE; var r, i = b(), s = b(), o = e.convert(this), _ = D for (o.copyTo(i); 0 <= --_;) { e.sqrTo(i, s), 0 < (t & 1 << _) ? e.mulTo(s, o, i) : (r = i, i = s, s = r); } return e.revert(i); }, T.prototype.isEven = function () { return 0 == (0 < this.t ? 1 & this[0] : this.s); }, T.prototype.compareTo = function 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; }, T.prototype.am1 = function (t, e, r, i, s, o) { for (; 0 <= --o;) { var _ = e * this[t++] + r[i] + s; s = Math.floor(_ / 67108864), r[i++] = 67108863 & _; } return s; }, T.prototype.am2 = function (t, e, r, i, s, o) { for (var _ = 32767 & e, a = e >> 15; 0 <= --o;) { var n = 32767 & this p = this[t++] >> 15,
c = a * n + p * _;
s = ((n = _ * n + ((32767 & c) << 15) + r[i] + (1073741823 & s)) >>> 30) + (c >>> 15) + a * p + (s >>> 30), r[i++] = 1073741823 & n;
}

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

return s;
}, T);

function T
null !== t && this.fromHexString
}

function b() {
return new s(null);
}

function D
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.BigInteger = s, e.nbi = b, e.nbits = D;

for (var o = [], _ = “0”.charCodeAt(0), a = 0; a <= 9; ++a) { o[_++] = a; } for (_ = "a".charCodeAt(0), a = 10; a < 36; ++a) { o[_++] = a; } for (_ = "A".charCodeAt(0), a = 10; a < 36; ++a) { o[_++] = a; } function n(t, e) { var r = o[t.charCodeAt(e)]; return null == r ? -1 : r; } e.intAt = n; var p = "0123456789abcdefghijklmnopqrstuvwxyz"; function c return p.charAt } e.int2char = c; e.b64toHex = function for (var e = "", r = 0, i = 0, s = 0; s < t.length && "=" != t.charAt(s); ++s) { var o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(t.charAt(s)); o < 0 || (r = 0 == r ? (e += c(o >> 2), i = 3 & o, 1) : 1 == r ? (e += c(i << 2 | o >> 4), i = 15 & o, 2) : 2 == r ? (e += c(i), e += c(o >> 2), i = 3 & o, 3) : (e += c(i << 2 | o >> 4), e += c(15 & o), 0));
}

return 1 == r && (e += c(i << 2)), e; }, e.removeExtraSymbols = function return t.replace(/^1f+00/, "").replace("3031300d060960864801650304020105000420"https://slate.com/technology/2020/11/,""); }; var d = (u.prototype.convert = function return t.s < 0 || 0 <= t.compareTo(this.m) ? t.mod(this.m) : t; }, u.prototype.revert = function return t; }, u.prototype.reduce = function t.divRemTo(this.m, null, t); }, u.prototype.mulTo = function (t, e, r) { t.multiplyTo(e, r), this.reduce(r); }, u.prototype.sqrTo = function (t, e) { t.squareTo(e), this.reduce(e); }, u); function u this.m = t; } var h = (l.prototype.convert = function var e = b(); return t.abs().dlShiftTo(this.m.t, e), e.divRemTo(this.m, null, e), t.s < 0 && 0 < e.compareTo(s.ZERO) && this.m.subTo(e, e), e; }, l.prototype.revert = function var e = b(); return t.copyTo(e), this.reduce(e), e; }, l.prototype.reduce = function 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 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; } function f var e = b(); return e.fromHexString(t.toString()), e; } e.nbv = f, s.ZERO = f(0), s.ONE = f(1), i = "Microsoft Internet Explorer" == navigator.appName ? (s.prototype.am = s.prototype.am2, 30) : "Netscape" != navigator.appName ? (s.prototype.am = s.prototype.am1, 26) : (s.prototype.am = s.prototype.am3, 28), s.prototype.DB = i, s.prototype.DM = (1 << i) - 1, s.prototype.DV = 1 << i; s.prototype.FV = Math.pow(2, 52), s.prototype.F1 = 52 - i, s.prototype.F2 = 2 * i - 52; }, 379: function _(t, e, r) { "use strict"; Object.defineProperty(e, "__esModule", { value: !0 }); var i = (y.hash = function t = y.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)).length / 4 + 2, s = Math.ceil(i / 16), o = new Array(s), _ = 0; _ < s; _++) { o[_] = new Array(16); for (var a = 0; a < 16; a++) { o[_][a] = t.charCodeAt(64 * _ + 4 * a) << 24 | t.charCodeAt(64 * _ + 4 * a + 1) << 16 | t.charCodeAt(64 * _ + 4 * a + 2) << 8 | t.charCodeAt(64 * _ + 4 * a + 3) << 0; } } var n = 8 * (t.length - 1) / Math.pow(2, 32), p = 8 * (t.length - 1) >>> 0;

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

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

r[0] = r[0] + u >>> 0, r[1] = r[1] + h >>> 0, r[2] = r[2] + l >>> 0, r[3] = r[3] + f >>> 0, r[4] = r[4] + E >>> 0, r[5] = r[5] + v >>> 0, r[6] = r[6] + m >>> 0, r[7] = r[7] + T >>> 0;
}

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

function y() {}

e.Sha256 = i;
}
}, [375]);
pbjsChunk([214], {
496: function _(e, r, i) {
e.exports = i(497);
},
497: function _(e, r, i) {
“use strict”;

Object.defineProperty(r, “__esModule”, {
value: !0
}), i.d(r, “spec”, function () {
return p;
});
var T = i(0),
S = i(2),
v = i(3),
t = i(10),
l = i.n
a = i(498),
n = i.n(a),
s = i(1);

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

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

function C(e) {
var r = {};
return r.id = e.bidId, r.ext = {}, r.ext.siteID = e.params.siteId, !e.params.hasOwnProperty(“id”) || “string” != typeof e.params.id && “number” != typeof e.params.id ? r.ext.sid = “”.concat(e.params.size[0], “x”).concat(e.params.size[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;
}

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

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

for (var i = 0; i < e.length; i++) { if (e[i][0] === r[0] && e[i][1] === r[1]) return 1; } } function j(e, r, i, t) { var a = [], n = {}, s = e[0].userId; if (s && "object" === g(s) && s.idl_env && function (e, r, i, t, a, n) { if (i) return r[a] = 1, e.push({ source: t, uids: [{ id: i, ext: { rtiPartner: n } }] }); T.logWarn("Tried to add a user ID from Prebid, the ID received was null"); }(a, n, s.idl_env, "liveramp.com"https://slate.com/technology/2020/11/,"LiveRampIp"https://slate.com/technology/2020/11/,"idl"), window.headertag && "function" == typeof window.headertag.getIdentityInfo) { var o, d = window.headertag.getIdentityInfo(); if (d && "object" === g(d)) for (var p in d) { d.hasOwnProperty(p) && (n.hasOwnProperty(p) || !(o = d[p]).responsePending && o.data && "object" === g(o.data) && Object.keys(o.data).length && a.push(o.data)); } } var m, c = {}; c.id = e[0].bidderRequestId, c.imp = i, c.site = {}, c.ext = {}, c.ext.source = "prebid", e[0].schain && (c.source = { ext: { schain: e[0].schain } }), 0 < a.length && (c.user = {}, c.user.eids = a), document.referrer && "" !== document.referrer && (c.site.ref = document.referrer), r && (r.gdprConsent && ((m = r.gdprConsent).hasOwnProperty("gdprApplies") && (c.regs = { ext: { gdpr: m.gdprApplies ? 1 : 0 } }), m.hasOwnProperty("consentString") && (c.user = c.user || {}, c.user.ext = { consent: m.consentString || "" })), r.uspConsent && T.deepSetValue(c, "regs.ext.us_privacy", r.uspConsent), r.refererInfo && (c.site.page = r.refererInfo.referer)); var u = {}, f = r && r.bidderCode || "ix", l = v.b.getConfig(f); if (l) { if ("object" === g(l.firstPartyData)) { var y = l.firstPartyData, b = "?"; for (var h in y) { y.hasOwnProperty(h) && (b += "".concat(encodeURIComponent(h), "=").concat(encodeURIComponent(y[h]), "&")); } b = b.slice(0, -1), c.site.page += b; } "number" == typeof l.timeout && (u.t = l.timeout); } return u.s = e[0].params.siteId, u.v = t, u.r = JSON.stringify(c), u.ac = "j", u.sd = 1, 8.1 === t && (u.nf = 1), { method: "GET", url: "https://htlb.casalemedia.com/cygnus", data: u }; } function F(e, r) { for (var i = 0; i < e.length; i++) { if (r[0] == e[i][0] && r[1] == e[i][1]) return e.splice(i, 1), 1; } } var p = { code: "ix", gvlid: 10, supportedMediaTypes: o, isBidRequestValid: function isBidRequestValid(e) { if (!d(e.params.size)) return T.logError("ix bidder params: bid size has invalid format."), !1; if (!A(e.sizes, e.params.size)) return T.logError("ix bidder params: bid size is not included in ad unit sizes."), !1; if (e.hasOwnProperty("mediaType") && !T.contains(o, e.mediaType)) return !1; if (e.hasOwnProperty("mediaTypes") && !T.deepAccess(e, "mediaTypes.banner.sizes") && !T.deepAccess(e, "mediaTypes.video.playerSize")) return !1; if ("string" != typeof e.params.siteId && "number" != typeof e.params.siteId) return T.logError("ix bidder params: siteId must be string or number value."), !1; var r, i, t = e.params.hasOwnProperty("bidFloor"), a = e.params.hasOwnProperty("bidFloorCur"); return !!(!t && !a || t && a && (r = e.params.bidFloor, i = e.params.bidFloorCur, Boolean("number" == typeof r && "string" == typeof i && i.match(/^[A-Z]{3}$/)))) || (T.logError("ix bidder params: bidFloor / bidFloorCur parameter has invalid format."), !1); }, buildRequests: function buildRequests(e, r) { for (var i, t, a, n, s, o, d, p, m, c, u, f, l, y = [], b = [], h = [], v = null, g = {}, w = 0; w < e.length; w++) { (v = e[w]).mediaType !== S.d && !T.deepAccess(v, "mediaTypes.video") || (v.mediaType === S.d || A(v.mediaTypes.video.playerSize, v.params.size) ? h.push(function (e) { var r = C(e); r.video = T.deepClone(e.params.video), r.video.w = e.params.size[0], r.video.h = e.params.size[1]; var i = T.deepAccess(e, "mediaTypes.video.context"); return i && ("instream" === i ? r.video.placement = 1 : "outstream" === i ? r.video.placement = 4 : T.logWarn("ix bidder params: video context '".concat(i, "' is not supported"))), r; }(v)) : T.logError("Bid size is not included in video playerSize")), v.mediaType !== S.b && !T.deepAccess(v, "mediaTypes.banner") && (v.mediaType || v.mediaTypes) || (c = void 0, (c = C(m = v)).banner = {}, c.banner.w = m.params.size[0], c.banner.h = m.params.size[1], c.banner.topframe = T.inIframe() ? 0 : 1, i = c, b.push(i), a = g, n = i, p = d = o = s = void 0, p = (t = v).transactionId, a.hasOwnProperty(p) ? (s = [], a[p].hasOwnProperty("missingSizes") && (s = a[p].missingSizes), F(s, t.params.size), a[p].missingSizes = s) : T.deepAccess(t, "mediaTypes.banner.sizes") && (F(o = T.deepClone(t.mediaTypes.banner.sizes), t.params.size), d = { missingSizes: o, impression: n }, a[p] = d)); } for (var x in g) { if (g.hasOwnProperty(x)) for (var I = g[x].missingSizes, P = 0; P < I.length; P++) { var z = g[x].impression, O = (u = z, f = I[P], l = void 0, (l = T.deepClone(u)).ext.sid = "".concat(f[0], "x").concat(f[1]), l.banner.w = f[0], l.banner.h = f[1], l); b.push(O); } } return 0 < b.length && y.push(j(e, r, b, 7.2)), 0 < h.length && y.push(j(e, r, h, 8.1)), y; }, interpretResponse: function interpretResponse(e, r) { var i = []; if (!e.hasOwnProperty("body") || !e.body.hasOwnProperty("seatbid")) return i; for (var t, a, n, s, o = e.body, d = o.seatbid, p = 0; p < d.length; p++) { if (d[p].hasOwnProperty("bid")) for (var m = d[p].bid, c = JSON.parse(r.data.r), u = 0; u < m.length; u++) { var f = function (r, e) { if (r) return l()(e, function (e) { return e.id === r; }); }(m[u].impid, c.imp); t = m[u], a = o.cur, n = f, s = void 0, s = {}, x.hasOwnProperty(a) ? s.cpm = t.price / x[a] : s.cpm = t.price / y, s.requestId = t.impid, s.dealId = T.deepAccess(t, "ext.dealid"), s.netRevenue = w, s.currency = a, s.creativeId = t.hasOwnProperty("crid") ? t.crid : "-", T.deepAccess(t, "ext.vasturl") ? (s.vastUrl = t.ext.vasturl, s.width = n.video.w, s.height = n.video.h, s.mediaType = S.d, s.ttl = h) : (s.ad = t.adm, s.width = t.w, s.height = t.h, s.mediaType = S.b, s.ttl = b), s.meta = {}, s.meta.networkId = T.deepAccess(t, "ext.dspid"), s.meta.brandId = T.deepAccess(t, "ext.advbrandid"), s.meta.brandName = T.deepAccess(t, "ext.advbrand"), t.adomain && 0 < t.adomain.length && (s.meta.advertiserDomains = t.adomain), i.push(s); } } return i; }, transformBidParams: function transformBidParams(e) { return T.convertTypes({ siteID: "number" }, e); }, getUserSyncs: function getUserSyncs(e) { return e.iframeEnabled ? [{ type: "iframe", url: "https://js-sec.indexww.com/um/ixmatch.html" }] : []; } }; Object(s.registerBidder)(p); } }, [496]); pbjsChunk([209], { 512: function _(e, t, r) { e.exports = r(513); }, 513: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), r.d(t, "spec", function () { return l; }); var s = r(0), d = r(3), n = r(1), a = r(7); function g() { return (g = Object.assign || function (e) { for (var t = 1; t < arguments.length; t++) { var r = arguments for (var n in r) { Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]); } } return e; }).apply(this, arguments); } var o, i, c, u = Object(a.b)(), l = { code: "kargo", isBidRequestValid: function isBidRequestValid(e) { return !(!e || !e.params) && !!e.params.placementId; }, buildRequests: function buildRequests(e, t) { var r, n = d.b.getConfig("currency"), a = n && n.adServerCurrency || "USD", o = {}, i = {}; s._each(e, function (e) { o[e.bidId] = e.params.placementId, i[e.bidId] = e.sizes; }), 0 < e.length && e[0].userId && e[0].userId.tdid && (r = e[0].userId.tdid); var c = g({}, { sessionId: l._getSessionId(), requestCount: l._getRequestCount(), timeout: t.timeout, currency: a, cpmGranularity: 1, timestamp: new Date().getTime(), cpmRange: { floor: 0, ceil: 20 }, bidIDs: o, bidSizes: i, prebidRawBidRequests: e }, l._getAllMetadata(r, t.uspConsent)), u = encodeURIComponent(JSON.stringify(c)); return g({}, t, { method: "GET", url: "".concat("https://krk.kargo.com"https://slate.com/technology/2020/11/,"/api/v2/bid"), data: "json=".concat(u), currency: a }); }, interpretResponse: function interpretResponse(e, t) { var r = e.body, n = []; for (var a in r) { var o = r[a], i = void 0; o.metadata && o.metadata.landingPageDomain && (i = { clickUrl: o.metadata.landingPageDomain, advertiserDomains: [o.metadata.landingPageDomain] }), n.push({ requestId: a, cpm: Number(o.cpm), width: o.width, height: o.height, ad: o.adm, ttl: 300, creativeId: o.id, dealId: o.targetingCustom, netRevenue: !0, currency: t.currency, meta: i }); } return n; }, getUserSyncs: function getUserSyncs(e) { var t = [], r = l._generateRandomUuid(), n = l._getClientId(); if (e.iframeEnabled && r && n) for (var a = 0; a < 5; a++) { t.push({ type: "iframe", url: "https://crb.kargo.com/api/v1/initsyncrnd/{UUID}?seed={SEED}&idx={INDEX}".replace("{UUID}", n).replace("{SEED}", r).replace("{INDEX}", a) }); } return t; }, _readCookie: function _readCookie(e) { if (!u.cookiesAreEnabled()) return null; for (var t = "".concat(e, "="), r = document.cookie.split(";"), n = 0; n < r.length; n++) { for (var a = r[n]; " " === a.charAt(0);) { a = a.substring(1, a.length); } if (0 === a.indexOf } 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 } 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() { return o = o || 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); } }, [512]); pbjsChunk([125], { 720: function _(e, r, t) { e.exports = t(721); }, 721: function _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", { value: !0 }), t.d(r, "spec", function () { return z; }), r.hasVideoMediaType = s, t.d(r, "resetRubiConf", function () { return c; }), r.masSizeOrdering = d, r.determineRubiconVideoSizeId = g, r.getPriceGranularity = v, r.hasValidVideoParams = l, r.hasValidSupplyChainParams = T, r.encodeParam = b, r.resetUserSync = function () { y = !1; }; var S = t(0), i = t(1), I = t(3), u = t(2), n = t(10), C = t.n(n); function j(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 { i || null == s.return || s.return(); } finally { if (n) throw o; } } return t; }(e, r) || function (e, r) { if (!e) return; if ("string" == typeof e) return o(e, r); var t = Object.prototype.toString.call(e).slice(8, -1); "Object" === t && e.constructor && (t = e.constructor.name); if ("Map" === t || "Set" === t) return Array.from(e); if ("Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test }(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 o(e, r) { (null == r || r > e.length) && (r = e.length);

for (var t = 0, i = new Array(r); t < r; t++) { i } return i; } function k() { return (k = Object.assign || function (e) { for (var r = 1; r < arguments.length; r++) { var t = arguments[r]; for (var i in t) { Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); } } return e; }).apply(this, arguments); } function f(e, r, t) { return r in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function E(e) { return (E = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { return _typeof(e); } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var w = {}; I.b.getConfig("rubicon", function (e) { S.mergeDeep(w, e.rubicon); }); var p = { 1: "468x60", 2: "728x90", 5: "120x90", 7: "125x125", 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", 548: "500x1000" }; S._each(p, function (e, r) { return p[e] = r; }); var z = { code: "rubicon", gvlid: 52, supportedMediaTypes: [u.b, u.d], isBidRequestValid: function isBidRequestValid(e) { if ("object" !== E(e.params)) return !1; for (var r = 0, t = ["accountId"https://slate.com/technology/2020/11/,"siteId"https://slate.com/technology/2020/11/,"zoneId"]; r < t.length; r++) { if (e.params[t[r]] = parseInt(e.params[t[r]]), isNaN(e.params[t[r]])) return S.logError("Rubicon: wrong format of accountId or siteId or zoneId."), !1; } var i = m(e, !0); return !!i && ("video" !== i || l(e)); }, buildRequests: function buildRequests(e, l) { var n, r = e.filter(function (e) { return "video" === m(e); }).map(function t.startTime = new Date().getTime(); var e, r, i, n = { id: t.transactionId, test: I.b.getConfig("debug") ? 1 : 0, cur: ["USD"], source: { tid: t.transactionId }, tmax: l.timeout, imp: [{ exp: I.b.getConfig("s2sConfig.defaultTtl"), id: t.adUnitCode, secure: 1, ext: f({}, t.bidder, t.params), video: S.deepAccess(t, "mediaTypes.video") || {} }], ext: { prebid: { cache: { vastxml: { returnCreative: !0 === w.returnVast } }, targeting: { includewinners: !0, includebidderkeys: !1, pricegranularity: v(I.b) }, bidders: { rubicon: { integration: w.int_type || "pbjs" } } } } }; if ("rubicon" !== t.bidder && (n.ext.prebid.aliases = f({}, t.bidder, "rubicon")), "function" != typeof t.getFloor || w.disableFloors) e = parseFloat(S.deepAccess(t, "params.floor"));else { try { r = t.getFloor({ currency: "USD", mediaType: "video", size: O(t, "video") }); } catch (e) { S.logError("Rubicon: getFloor threw an error: ", e); } e = "object" !== E(r) || "USD" !== r.currency || isNaN(parseInt(r.floor)) ? void 0 : parseFloat(r.floor); } isNaN(e) || (n.imp[0].bidfloor = e), n.imp[0].ext[t.bidder].video.size_id = g if (!r) return; "object" === E(I.b.getConfig("app")) ? r.app = I.b.getConfig("app") : r.site = { page: R(t, e) }; "object" === E(I.b.getConfig("device")) && (r.device = I.b.getConfig("device")); t.params.video.language && ["site"https://slate.com/technology/2020/11/,"device"].forEach(function (e) { r[e] && (r[e].content = k({ language: t.params.video.language }, r[e].content)); }); }(n, t, l), function (e, r) { "object" === E(e.imp[0].video) && void 0 === e.imp[0].video.skip && (e.imp[0].video.skip = r.params.video.skip); "object" === E(e.imp[0].video) && void 0 === e.imp[0].video.skipafter && (e.imp[0].video.skipafter = r.params.video.skipdelay); "object" === E(e.imp[0].video) && void 0 === e.imp[0].video.pos && ("atf" === r.params.position ? e.imp[0].video.pos = 1 : "btf" === r.params.position && (e.imp[0].video.pos = 3)); var t = O(r, "video"); e.imp[0].video.w = t[0], e.imp[0].video.h = t[1]; }(n, t), l.gdprConsent && ("boolean" == typeof l.gdprConsent.gdprApplies && (i = l.gdprConsent.gdprApplies ? 1 : 0), S.deepSetValue(n, "regs.ext.gdpr", i), S.deepSetValue(n, "user.ext.consent", l.gdprConsent.consentString)), l.uspConsent && S.deepSetValue(n, "regs.ext.us_privacy", l.uspConsent); var o, a = S.deepAccess(l, "bids.0.userIdAsEids"); a && a.length && (S.deepSetValue(n, "user.ext.eids", a), (o = C()(n.user.ext.eids, function (e) { return "liveintent.com" === e.source; })) && (S.deepSetValue(n, "user.ext.tpid", { source: o.source, uid: o.uids[0].id }), o.ext && o.ext.segments && S.deepSetValue(n, "rp.target.LIseg", o.ext.segments))); var s = I.b.getConfig("user.id"); s && S.deepSetValue(n, "user.id", s), !0 === I.b.getConfig("coppa") && S.deepSetValue(n, "regs.coppa", 1), t.schain && T(t.schain) && S.deepSetValue(n, "source.ext.schain", t.schain); var c, d = k({}, t.params.inventory, I.b.getConfig("fpd.context")), u = k({}, t.params.visitor, I.b.getConfig("fpd.user")); S.isEmpty(d) && S.isEmpty(u) || (c = { bidders: [l.bidderCode], config: { fpd: {} } }, S.isEmpty(d) || (c.config.fpd.site = d), S.isEmpty(u) || (c.config.fpd.user = u), S.deepSetValue(n, "ext.prebid.bidderconfig.0", c)); var p = S.deepAccess(t, "fpd.context.pbAdSlot"); return "string" == typeof p && p && S.deepSetValue(n.imp[0].ext, "context.data.pbadslot", p), ["name"https://slate.com/technology/2020/11/,"adSlot"].forEach(function (e) { var r = S.deepAccess(t, "fpd.context.adserver.".concat(e)); "string" == typeof r && r && S.deepSetValue(n.imp[0].ext, "context.data.adserver.".concat(e.toLowerCase()), r); }), t.storedAuctionResponse && S.deepSetValue(n.imp[0], "ext.prebid.storedauctionresponse.id", t.storedAuctionResponse.toString()), S.deepSetValue(n.imp[0], "ext.prebid.auctiontimestamp", l.auctionStart), { method: "POST", url: "https://".concat(w.videoHost || "prebid-server"https://slate.com/technology/2020/11/,".rubiconproject.com/openrtb2/auction"), data: n, bidRequest: t }; }); return !0 !== w.singleRequest ? r.concat(e.filter(function (e) { return "banner" === m(e); }).map(function (e) { var i = z.createSlotParams(e, l); return { method: "GET", url: "https://".concat(w.bannerHost || "fastlane"https://slate.com/technology/2020/11/,".rubiconproject.com/a/api/fastlane.json"), data: z.getOrderedParams(i).reduce(function (e, r) { var t = i[r]; return S.isStr }, "") + "slots=1&rand=".concat(Math.random()), bidRequest: e }; })) : (n = e.filter(function (e) { return "banner" === m(e); }).reduce(function (e, r) { return (e[r.params.siteId] = e[r.params.siteId] || []).push(r), e; }, {}), r.concat(Object.keys(n).reduce(function (r, e) { var t, i; return t = n[e], i = 10, t.map(function (e, r) { return r % i == 0 ? t.slice(r, r + i) : null; }).filter(function (e) { return e; }).forEach(function (e) { var i = z.combineSlotUrlParams(e.map(function (e) { return z.createSlotParams(e, l); })); r.push({ method: "GET", url: "https://".concat(w.bannerHost || "fastlane"https://slate.com/technology/2020/11/,".rubiconproject.com/a/api/fastlane.json"), data: z.getOrderedParams(i).reduce(function (e, r) { var t = i[r]; return S.isStr }, "") + "slots=".concat(e.length, "&rand=").concat(Math.random()), bidRequest: e }); }), r; }, []))); }, getOrderedParams: function getOrderedParams(e) { var r = /^tg_v/, t = /^tg_i/, i = ["account_id"https://slate.com/technology/2020/11/,"site_id"https://slate.com/technology/2020/11/,"zone_id"https://slate.com/technology/2020/11/,"size_id"https://slate.com/technology/2020/11/,"alt_size_ids"https://slate.com/technology/2020/11/,"p_pos"https://slate.com/technology/2020/11/,"gdpr"https://slate.com/technology/2020/11/,"gdpr_consent"https://slate.com/technology/2020/11/,"us_privacy"https://slate.com/technology/2020/11/,"rp_schain"https://slate.com/technology/2020/11/,"tpid_tdid"https://slate.com/technology/2020/11/,"tpid_liveintent.com"https://slate.com/technology/2020/11/,"tg_v.LIseg"https://slate.com/technology/2020/11/,"ppuid"https://slate.com/technology/2020/11/,"eid_pubcid.org"https://slate.com/technology/2020/11/,"eid_sharedid.org"https://slate.com/technology/2020/11/,"eid_criteo.com"https://slate.com/technology/2020/11/,"rf"https://slate.com/technology/2020/11/,"p_geo.latitude"https://slate.com/technology/2020/11/,"p_geo.longitude"https://slate.com/technology/2020/11/,"kw"].concat(Object.keys(e).filter(function (e) { return r.test(e); })).concat(Object.keys(e).filter(function (e) { return t.test(e); })).concat(["tk_flint"https://slate.com/technology/2020/11/,"x_source.tid"https://slate.com/technology/2020/11/,"x_source.pchain"https://slate.com/technology/2020/11/,"p_screen_res"https://slate.com/technology/2020/11/,"rp_floor"https://slate.com/technology/2020/11/,"rp_secure"https://slate.com/technology/2020/11/,"tk_user_key"]); return i.concat(Object.keys(e).filter(function (e) { return -1 === i.indexOf(e); })); }, combineSlotUrlParams: function combineSlotUrlParams(n) { if (1 === n.length) return n[0]; var i = n.reduce(function (r, t, i) { return Object.keys r.hasOwnProperty(e) || (r[e] = new Array(n.length)), r[e].splice(i, 1, t[e]); }), r; }, {}), o = new RegExp("^([^;]*)(;\1)+$"); return Object.keys(i).forEach(function (e) { var r = i[e].join(";"), t = r.match(o); i[e] = t ? t[1] : r; }), i; }, createSlotParams: function createSlotParams(e, r) { e.startTime = new Date().getTime(); var t, i, n, o, a, s, c, d = e.params, u = O(e, "banner"), p = j(d.latLong || [], 2), l = p[0], f = p[1], m = { account_id: d.accountId, site_id: d.siteId, zone_id: d.zoneId, size_id: u[0], alt_size_ids: u.slice(1).join(",") || void 0, rp_floor: .01 < (d.floor = parseFloat(d.floor)) ? d.floor : .01, rp_secure: "1", tk_flint: "".concat(w.int_type || "pbjs_lite"https://slate.com/technology/2020/11/,"_v4.13.0"), "x_source.tid": e.transactionId, "x_source.pchain": d.pchain, p_screen_res: [window.screen.width, window.screen.height].join("x"), tk_user_key: d.userId, "p_geo.latitude": isNaN(parseFloat(l)) ? void 0 : parseFloat(l).toFixed(4), "p_geo.longitude": isNaN(parseFloat(f)) ? void 0 : parseFloat(f).toFixed(4), "tg_fl.eid": e.code, rf: R(e, r) }; if ("function" == typeof e.getFloor && !w.disableFloors) { try { t = e.getFloor({ currency: "USD", mediaType: "banner", size: "*" }); } catch (e) { S.logError("Rubicon: getFloor threw an error: ", e); } m.rp_hard_floor = "object" !== E } m.p_pos = "atf" === d.position || "btf" === d.position ? d.position : "", e.userIdAsEids && e.userIdAsEids.length && ((i = C()(e.userIdAsEids, function (e) { return "adserver.org" === e.source; })) && (m.tpid_tdid = i.uids[0].id), (n = C()(e.userIdAsEids, function (e) { return "liveintent.com" === e.source; })) && (m["tpid_liveintent.com"] = n.uids[0].id, n.ext && Array.isArray(n.ext.segments) && n.ext.segments.length && (m["tg_v.LIseg"] = n.ext.segments.join(","))), (o = C()(e.userIdAsEids, function (e) { return "liveramp.com" === e.source; })) && (m.x_liverampidl = o.uids[0].id), (a = C()(e.userIdAsEids, function (e) { return "sharedid.org" === e.source; })) && (m["eid_sharedid.org"] = "".concat(a.uids[0].id, "^").concat(a.uids[0].atype, "^").concat(a.uids[0].ext.third)), (s = C()(e.userIdAsEids, function (e) { return "pubcid.org" === e.source; })) && (m["eid_pubcid.org"] = "".concat(s.uids[0].id, "^").concat(s.uids[0].atype)), (c = C()(e.userIdAsEids, function (e) { return "criteo.com" === e.source; })) && (m["eid_criteo.com"] = "".concat(c.uids[0].id, "^").concat(c.uids[0].atype))); var g = I.b.getConfig("user.id"); if (g) m.ppuid = g;else for (var v = 0; e.userIdAsEids && v < e.userIdAsEids.length; v++) { if (e.userIdAsEids[v].uids) { var b = C()(e.userIdAsEids[v].uids, function (e) { return e.ext && "ppuid" === e.ext.stype; }); if (b && b.id) { m.ppuid = b.id; break; } } } r.gdprConsent && ("boolean" == typeof r.gdprConsent.gdprApplies && (m.gdpr = Number(r.gdprConsent.gdprApplies)), m.gdpr_consent = r.gdprConsent.consentString), r.uspConsent && (m.us_privacy = encodeURIComponent(r.uspConsent)); var y = k({}, d.visitor, I.b.getConfig("fpd.user")); Object.keys(y).forEach(function (e) { null != y[e] && "keywords" !== e && (m["tg_v.".concat(e)] = "object" !== E(y[e]) || Array.isArray(y[e]) ? y[e].toString() : JSON.stringify(y[e])); }); var x = k({}, d.inventory, I.b.getConfig("fpd.context")); Object.keys(x).forEach(function (e) { null != x[e] && "keywords" !== e && (m["tg_i.".concat(e)] = "object" !== E(x[e]) || Array.isArray(x[e]) ? x[e].toString() : JSON.stringify(x[e])); }); var h = (d.keywords || []).concat(S.deepAccess(I.b.getConfig("fpd.user"), "keywords") || [], S.deepAccess(I.b.getConfig("fpd.context"), "keywords") || []); m.kw = Array.isArray(h) && h.length ? h.join(",") : ""; var _ = S.deepAccess(e, "fpd.context.pbAdSlot"); "string" == typeof _ && _ && (m["tg_i.pbadslot"] = _.replace(/^/+/, "")); var A = S.deepAccess(e, "fpd.context.adServer.adSlot"); return "string" == typeof A && A && (m["tg_i.dfp_ad_unit_code"] = A.replace(/^/+/, "")), !0 === I.b.getConfig("coppa") && (m.coppa = 1), e.schain && T(e.schain) && (m.rp_schain = z.serializeSupplyChain(e.schain)), m; }, serializeSupplyChain: function serializeSupplyChain(e) { if (!T(e)) return ""; var r = e.ver, t = e.complete, i = e.nodes; return "".concat(r, ",").concat(t, "!").concat(z.serializeSupplyChainNodes(i)); }, serializeSupplyChainNodes: function serializeSupplyChainNodes(e) { var t = ["asi"https://slate.com/technology/2020/11/,"sid"https://slate.com/technology/2020/11/,"hp"https://slate.com/technology/2020/11/,"rid"https://slate.com/technology/2020/11/,"name"https://slate.com/technology/2020/11/,"domain"]; return e.map(function (r) { return t.map(function (e) { return encodeURIComponent(r[e] || ""); }).join(","); }).join("!"); }, interpretResponse: function interpretResponse(c, e) { var d = e.bidRequest; if (!(c = c.body) || "object" !== E(c)) return []; if (c.seatbid) { var r = S.deepAccess(c, "ext.errors.rubicon"); Array.isArray(r) && 0 < r.length && S.logWarn("Rubicon: Error in video response"); var o = []; return c.seatbid.forEach(function (n) { (n.bid || []).forEach(function (e) { var r = { requestId: d.bidId, currency: c.cur || "USD", creativeId: e.crid, cpm: e.price || 0, bidderCode: n.seat, ttl: 300, netRevenue: !1 !== w.netRevenue, width: e.w || S.deepAccess(d, "mediaTypes.video.w") || S.deepAccess(d, "params.video.playerWidth"), height: e.h || S.deepAccess(d, "mediaTypes.video.h") || S.deepAccess(d, "params.video.playerHeight") }; e.id && (r.seatBidId = e.id), e.dealid && (r.dealId = e.dealid); var t, i = S.deepAccess(c, "ext.responsetimemillis.rubicon"); d && i && (d.serverResponseTimeMs = i), S.deepAccess(e, "ext.prebid.type") === u.d ? (r.mediaType = u.d, (t = S.deepAccess(e, "ext.prebid.targeting")) && "object" === E }); }), o; } var t = c.ads; return "object" !== E(d) || Array.isArray(d) || "video" !== m(d) || "object" !== E if ("ok" !== r.status) return e; var i, n, o, a, s = Array.isArray(d) ? d return s && "object" === E(s) ? (i = { requestId: s.bidId, currency: "USD", creativeId: r.creative_id || "".concat(r.network || ""https://slate.com/technology/2020/11/,"-").concat(r.advertiser || ""), cpm: r.cpm || 0, dealId: r.deal, ttl: 300, netRevenue: !1 !== w.netRevenue, rubicon: { advertiserId: r.advertiser, networkId: r.network }, meta: { advertiserId: r.advertiser, networkId: r.network } }, r.creative_type && (i.mediaType = r.creative_type), r.creative_type === u.d ? (i.width = s.params.video.playerWidth, i.height = s.params.video.playerHeight, i.vastUrl = r.creative_depot_url, i.impression_id = r.impression_id, i.videoCacheKey = r.impression_id) : (i.ad = (o = r.script, a = r.impression_id, "nnnx3c!– Rubicon Project Ad Tag –x3en

nn

nn“)), n = j(p[r.size_id].split(“x”).map(function (e) {
return Number(e);
}), 2), i.width = n[0], i.height = n[1]), i.rubiconTargeting = (Array.isArray(r.targeting) ? r.targeting : []).reduce(function (e, r) {
return e[r.key] = r.values[0], e;
}, {
rpfl_elemid: s.adUnitCode
}), e.push(i)) : S.logError(“Rubicon: bidRequest undefined at index position:”.concat
}, []).sort(function (e, r) {
return (r.cpm || 0) – (e.cpm || 0);
});
},
getUserSyncs: function getUserSyncs(e, r, t, i) {
if (!y && 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://slate.com/technology/2020/11/,”us_privacy=”).concat(encodeURIComponent(i))), y = !0, {
type: “iframe”,
url: “https://”.concat(w.syncHost || “eus”https://slate.com/technology/2020/11/,”.rubiconproject.com/usync.html”) + n
};
}
},
transformBidParams: function transformBidParams(e) {
return S.convertTypes({
accountId: “number”,
siteId: “number”,
zoneId: “number”
}, e);
}
};

function R(e, r) {
var t = I.b.getConfig(“pageUrl”),
t = e.params.referrer ? e.params.referrer : t || r.refererInfo.referer;
return e.params.secure ? t.replace(/^http:/i, “https:”) : t;
}

function O(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(S.deepAccess(e, “mediaTypes.video.playerSize”)) && 1 === e.mediaTypes.video.playerSize.length ? i = e.mediaTypes.video.playerSize[0] : Array.isArray(e.sizes) && 0 < e.sizes.length && Array.isArray(e.sizes[0]) && 1 < e.sizes[0].length && (i = e.sizes[0]), i; } var n = []; return Array.isArray(t.sizes) ? n = t.sizes : void 0 !== S.deepAccess(e, "mediaTypes.banner.sizes") ? n = a(e.mediaTypes.banner.sizes) : Array.isArray(e.sizes) && 0 < e.sizes.length ? n = a(e.sizes) : S.logWarn("Rubicon: no sizes are setup or found"), d(n); } function a(e) { return S.parseSizesInput(e).reduce(function (e, r) { var t = parseInt(p[r], 10); return t && e.push }, []); } function s(e) { return "object" === E(S.deepAccess(e, "params.video")) && void 0 !== S.deepAccess(e, "mediaTypes.".concat(u.d)); } function m(e, r) { var t = 1 < arguments.length && void 0 !== r && r; return s(e) ? -1 === ["outstream"https://slate.com/technology/2020/11/,"instream"].indexOf(S.deepAccess(e, "mediaTypes.".concat(u.d, ".context"))) ? void (t && S.logError("Rubicon: mediaTypes.video.context must be outstream or instream")) : O(e, "video").length < 2 ? void (t && S.logError("Rubicon: could not determine the playerSize of the video")) : (t && S.logMessage("Rubicon: making video request for adUnit", e.adUnitCode), "video") : 0 === O(e, "banner").length ? void (t && S.logError("Rubicon: could not determine the sizes for banner request")) : (t && S.logMessage("Rubicon: making banner request for adUnit", e.adUnitCode), "banner"); } var c = function c() { return w = {}; }; function d(e) { var n = [15, 2, 9]; return e.sort(function (e, r) { var t = n.indexOf(e), i = n.indexOf(r); return -1 < t || -1 < i ? -1 === t ? 1 : -1 === i ? -1 : t - i : e - r; }); } function g(e) { var r = parseInt(S.deepAccess(e, "params.video.size_id")); return isNaN(r) ? "outstream" === S.deepAccess(e, "mediaTypes.".concat(u.d, ".context")) ? 203 : 201 : r; } function v(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 l(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(S.deepAccess(r, "mediaTypes.video." + e)) !== n[e] && (t = !1, S.logError("Rubicon: mediaTypes.video." + e + " is required and must be of type: " + n[e])); }), t; } function T(e) { var r = !1, t = ["asi"https://slate.com/technology/2020/11/,"sid"https://slate.com/technology/2020/11/,"hp"]; return e.nodes && ((r = e.nodes.reduce(function (e, r) { return e ? t.every(function (e) { return r.hasOwnProperty(e); }) : e; }, !0)) || S.logError("Rubicon: required schain params missing")), r; } function b(e, r) { return "rp_schain" === e ? "rp_schain=".concat(r) : "".concat(e, "=").concat(encodeURIComponent(r)); } var y = !1; Object(i.registerBidder)(z); } }, [720]); pbjsChunk([105], { 770: function _(e, t, r) { e.exports = r(771); }, 771: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), r.d(t, "spec", function () { return a; }), r.d(t, "_isInbounds", function () { return m; }), t._getPlatform = v; var n = r(1), y = r(0), i = r(2), o = r(3), g = r(11), c = r(43); 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 a, o = e[Symbol.iterator](); !(n = (a = o.next()).done) && (r.push(a.value), !t || r.length !== t); n = !0) { ; } } catch (e) { i = !0, s = e; } finally { try { n || null == o.return || o.return(); } finally { if (i) throw s; } } return r; }(e, t) || function (e, t) { if (!e) return; if ("string" == typeof e) return s(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); "Object" === r && e.constructor && (r = e.constructor.name); if ("Map" === r || "Set" === r) return Array.from(e); if ("Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return s(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 s(e, t) { (null == t || t > e.length) && (t = e.length);

for (var r = 0, n = new Array
n[r] = e[r];
}

return n;
}

function d() {
return (d = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) { var r = arguments for (var n in r) { Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]); } } return e; }).apply(this, arguments); } function u(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e } var p = "sonobi", b = Object(y.generateUUID)(), a = { code: p, supportedMediaTypes: [i.b, i.d], isBidRequestValid: function 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; }, buildRequests: function buildRequests(e, t) { var r = e.map(function (e) { var t = function (e) { if (e.params.ad_unit) return e.params.ad_unit; return e.params.placement_id; }(e); return /^[/]?[d]+[[/].+[/]?]?$/.test }), n = {}; r.forEach(function (e) { d(n, e); }); var i = { key_maker: JSON.stringify(n), ref: t.refererInfo.referer, s: Object(y.generateUUID)(), pv: b, vp: v(), lib_name: "prebid", lib_v: "4.13.0", us: 0 }; o.b.getConfig("userSync") && o.b.getConfig("userSync").syncsPerBidder && (i.us = o.b.getConfig("userSync").syncsPerBidder), c.a.canBidderRegisterSync("iframe", p) ? 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)), e[0].schain && (i.schain = JSON.stringify(e[0].schain)), Object(y.deepAccess)(e[0], "userId") && 0 < Object.keys(e[0].userId).length && (i.userid = JSON.stringify(e[0].userId)); var s = e[0].params.keywords; if (s && (i.kw = s), 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")), { method: "GET", url: a, withCredentials: !0, data: i, bidderRequests: e }; }, interpretResponse: function interpretResponse(e, l) { var f = e.body, m = [], v = l.data.ref; return 0 === Object.keys(f.slots).length || Object.keys(f.slots).forEach(function (e) { var t = f.slots[e], r = e.split("|").slice(-1)[0], n = function (e, t) { for (var r = 0; r < e.length; r++) { if (e[r].bidId === t) return e[r]; } }(l.bidderRequests, r), i = null; "video" === t.sbi_ct && (i = "video"https://slate.com/technology/2020/11/,"outstream" === Object(y.deepAccess)(n, "mediaTypes.video.context") && (i = "outstream")); var s, a, o, c, d, u, p, b = j(i, v); t.sbi_aid && t.sbi_mouse && t.sbi_size && (o = void 0 === (a = (s = h(t.sbi_size.split("x"), 2))[0]) ? 1 : a, d = void 0 === (c = s[1]) ? 1 : c, u = { requestId: r, cpm: Number(t.sbi_mouse), width: Number(o), height: Number(d), ad: b(f.sbi_dc, t.sbi_aid), ttl: 500, creativeId: t.sbi_crid || t.sbi_aid, aid: t.sbi_aid, netRevenue: !0, currency: "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.ad, delete u.width, delete u.height) : "outstream" === i && n && (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), u.renderer = function (e, t) { var r = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {}, n = g.a.install({ id: t.aid, url: "https://mtrx.go.sonobi.com/sbi_outstream_renderer.js", config: r, loaded: !1, adUnitCode: e }); try { n.setRender(O); } catch (e) { Object(y.logWarn)("Prebid Error calling setRender on renderer", e); } return n.setEventHandlers({ impression: function impression() { return Object(y.logMessage)("Sonobi outstream video impression event"); }, loaded: function loaded() { return Object(y.logMessage)("Sonobi outstream video loaded event"); }, ended: function 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.height = p[1])), m.push(u)); }), m; }, getUserSyncs: function getUserSyncs(e, t) { var r = []; try { e.pixelEnabled && t[0].body.sbi_px.forEach(function (e) { r.push({ type: e.type, url: e.url }); }); } catch (e) {} return r; } }; function l(e) { return Object(y.deepAccess)(e, "mediaTypes.video") ? "" : e.params.sizes ? Object(y.parseSizesInput)(e.params.sizes).join(",") : Object(y.deepAccess)(e, "mediaTypes.banner.sizes") ? Object(y.parseSizesInput)(Object(y.deepAccess)(e, "mediaTypes.banner.sizes")).join(",") : e.sizes ? Object(y.parseSizesInput)(e.sizes).join(",") : void 0; } function f(e) { return e.params.floor ? "|f=".concat(e.params.floor) : ""; } var j = function j(i, s) { return function (e, t) { return "video" === i || "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 m = function m(e) { var r = 0 < arguments.length && void 0 !== e ? e : window; return function () { var e = 0 < arguments.length && 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; }; }; function v() { var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : window, t = m(e), r = 992, n = 768; return t(0, 768) ? "mobile" : t(n, r) ? "tablet" : "desktop"; } function O(i) { i.renderer.push(function () { var e = h(i.getSize().split("x"), 2), t = e[0], r = e[1], n = new window.SbiOutstreamRenderer(); n.init({ vastUrl: i.vastUrl, height: r, width: t }), n.setRootElement(i.adUnitCode); }); } Object(n.registerBidder)(a); } }, [770]); pbjsChunk([103], { 780: function _(e, t, r) { e.exports = r(781); }, 781: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), r.d(t, "GOOGLE_CONSENT", function () { return B; }), r.d(t, "spec", function () { return n; }); var I = r(0), P = r(3), u = r(11), a = r(1), c = r(2); function d(e) { return (d = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { return _typeof(e); } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var i = "spotx", B = { consented_providers: ["3"https://slate.com/technology/2020/11/,"7"https://slate.com/technology/2020/11/,"11"https://slate.com/technology/2020/11/,"12"https://slate.com/technology/2020/11/,"15"https://slate.com/technology/2020/11/,"20"https://slate.com/technology/2020/11/,"22"https://slate.com/technology/2020/11/,"35"https://slate.com/technology/2020/11/,"43"https://slate.com/technology/2020/11/,"46"https://slate.com/technology/2020/11/,"48"https://slate.com/technology/2020/11/,"55"https://slate.com/technology/2020/11/,"57"https://slate.com/technology/2020/11/,"61"https://slate.com/technology/2020/11/,"62"https://slate.com/technology/2020/11/,"66"https://slate.com/technology/2020/11/,"70"https://slate.com/technology/2020/11/,"80"https://slate.com/technology/2020/11/,"83"https://slate.com/technology/2020/11/,"85"https://slate.com/technology/2020/11/,"86"https://slate.com/technology/2020/11/,"89"https://slate.com/technology/2020/11/,"93"https://slate.com/technology/2020/11/,"108"https://slate.com/technology/2020/11/,"122"https://slate.com/technology/2020/11/,"124"https://slate.com/technology/2020/11/,"125"https://slate.com/technology/2020/11/,"126"https://slate.com/technology/2020/11/,"131"https://slate.com/technology/2020/11/,"134"https://slate.com/technology/2020/11/,"135"https://slate.com/technology/2020/11/,"136"https://slate.com/technology/2020/11/,"143"https://slate.com/technology/2020/11/,"144"https://slate.com/technology/2020/11/,"147"https://slate.com/technology/2020/11/,"149"https://slate.com/technology/2020/11/,"153"https://slate.com/technology/2020/11/,"154"https://slate.com/technology/2020/11/,"159"https://slate.com/technology/2020/11/,"161"https://slate.com/technology/2020/11/,"162"https://slate.com/technology/2020/11/,"165"https://slate.com/technology/2020/11/,"167"https://slate.com/technology/2020/11/,"171"https://slate.com/technology/2020/11/,"178"https://slate.com/technology/2020/11/,"184"https://slate.com/technology/2020/11/,"188"https://slate.com/technology/2020/11/,"192"https://slate.com/technology/2020/11/,"195"https://slate.com/technology/2020/11/,"196"https://slate.com/technology/2020/11/,"202"https://slate.com/technology/2020/11/,"209"https://slate.com/technology/2020/11/,"211"https://slate.com/technology/2020/11/,"218"https://slate.com/technology/2020/11/,"221"https://slate.com/technology/2020/11/,"228"https://slate.com/technology/2020/11/,"229"https://slate.com/technology/2020/11/,"230"https://slate.com/technology/2020/11/,"236"https://slate.com/technology/2020/11/,"239"https://slate.com/technology/2020/11/,"241"https://slate.com/technology/2020/11/,"253"https://slate.com/technology/2020/11/,"255"https://slate.com/technology/2020/11/,"259"https://slate.com/technology/2020/11/,"266"https://slate.com/technology/2020/11/,"271"https://slate.com/technology/2020/11/,"272"https://slate.com/technology/2020/11/,"274"https://slate.com/technology/2020/11/,"286"https://slate.com/technology/2020/11/,"291"https://slate.com/technology/2020/11/,"294"https://slate.com/technology/2020/11/,"303"https://slate.com/technology/2020/11/,"308"https://slate.com/technology/2020/11/,"310"https://slate.com/technology/2020/11/,"311"https://slate.com/technology/2020/11/,"313"https://slate.com/technology/2020/11/,"314"https://slate.com/technology/2020/11/,"316"https://slate.com/technology/2020/11/,"317"https://slate.com/technology/2020/11/,"322"https://slate.com/technology/2020/11/,"323"https://slate.com/technology/2020/11/,"327"https://slate.com/technology/2020/11/,"336"https://slate.com/technology/2020/11/,"338"https://slate.com/technology/2020/11/,"340"https://slate.com/technology/2020/11/,"348"https://slate.com/technology/2020/11/,"350"https://slate.com/technology/2020/11/,"358"https://slate.com/technology/2020/11/,"359"https://slate.com/technology/2020/11/,"363"https://slate.com/technology/2020/11/,"367"https://slate.com/technology/2020/11/,"370"https://slate.com/technology/2020/11/,"371"https://slate.com/technology/2020/11/,"384"https://slate.com/technology/2020/11/,"385"https://slate.com/technology/2020/11/,"389"https://slate.com/technology/2020/11/,"393"https://slate.com/technology/2020/11/,"394"https://slate.com/technology/2020/11/,"397"https://slate.com/technology/2020/11/,"398"https://slate.com/technology/2020/11/,"407"https://slate.com/technology/2020/11/,"414"https://slate.com/technology/2020/11/,"415"https://slate.com/technology/2020/11/,"424"https://slate.com/technology/2020/11/,"429"https://slate.com/technology/2020/11/,"430"https://slate.com/technology/2020/11/,"432"https://slate.com/technology/2020/11/,"436"https://slate.com/technology/2020/11/,"438"https://slate.com/technology/2020/11/,"440"https://slate.com/technology/2020/11/,"442"https://slate.com/technology/2020/11/,"443"https://slate.com/technology/2020/11/,"445"https://slate.com/technology/2020/11/,"448"https://slate.com/technology/2020/11/,"449"https://slate.com/technology/2020/11/,"453"https://slate.com/technology/2020/11/,"459"https://slate.com/technology/2020/11/,"479"https://slate.com/technology/2020/11/,"482"https://slate.com/technology/2020/11/,"486"https://slate.com/technology/2020/11/,"491"https://slate.com/technology/2020/11/,"492"https://slate.com/technology/2020/11/,"494"https://slate.com/technology/2020/11/,"495"https://slate.com/technology/2020/11/,"503"https://slate.com/technology/2020/11/,"505"https://slate.com/technology/2020/11/,"510"https://slate.com/technology/2020/11/,"522"https://slate.com/technology/2020/11/,"523"https://slate.com/technology/2020/11/,"528"https://slate.com/technology/2020/11/,"537"https://slate.com/technology/2020/11/,"540"https://slate.com/technology/2020/11/,"550"https://slate.com/technology/2020/11/,"559"https://slate.com/technology/2020/11/,"560"https://slate.com/technology/2020/11/,"568"https://slate.com/technology/2020/11/,"571"https://slate.com/technology/2020/11/,"574"https://slate.com/technology/2020/11/,"575"https://slate.com/technology/2020/11/,"576"https://slate.com/technology/2020/11/,"584"https://slate.com/technology/2020/11/,"585"https://slate.com/technology/2020/11/,"587"https://slate.com/technology/2020/11/,"588"https://slate.com/technology/2020/11/,"590"https://slate.com/technology/2020/11/,"591"https://slate.com/technology/2020/11/,"592"https://slate.com/technology/2020/11/,"595"https://slate.com/technology/2020/11/,"609"https://slate.com/technology/2020/11/,"621"https://slate.com/technology/2020/11/,"624"https://slate.com/technology/2020/11/,"723"https://slate.com/technology/2020/11/,"725"https://slate.com/technology/2020/11/,"733"https://slate.com/technology/2020/11/,"737"https://slate.com/technology/2020/11/,"776"https://slate.com/technology/2020/11/,"780"https://slate.com/technology/2020/11/,"782"https://slate.com/technology/2020/11/,"787"https://slate.com/technology/2020/11/,"797"https://slate.com/technology/2020/11/,"798"https://slate.com/technology/2020/11/,"802"https://slate.com/technology/2020/11/,"803"https://slate.com/technology/2020/11/,"814"https://slate.com/technology/2020/11/,"817"https://slate.com/technology/2020/11/,"820"https://slate.com/technology/2020/11/,"821"https://slate.com/technology/2020/11/,"827"https://slate.com/technology/2020/11/,"829"https://slate.com/technology/2020/11/,"839"https://slate.com/technology/2020/11/,"853"https://slate.com/technology/2020/11/,"864"https://slate.com/technology/2020/11/,"867"https://slate.com/technology/2020/11/,"874"https://slate.com/technology/2020/11/,"899"https://slate.com/technology/2020/11/,"904"https://slate.com/technology/2020/11/,"922"https://slate.com/technology/2020/11/,"926"https://slate.com/technology/2020/11/,"931"https://slate.com/technology/2020/11/,"932"https://slate.com/technology/2020/11/,"933"https://slate.com/technology/2020/11/,"938"https://slate.com/technology/2020/11/,"955"https://slate.com/technology/2020/11/,"973"https://slate.com/technology/2020/11/,"976"https://slate.com/technology/2020/11/,"979"https://slate.com/technology/2020/11/,"981"https://slate.com/technology/2020/11/,"985"https://slate.com/technology/2020/11/,"987"https://slate.com/technology/2020/11/,"991"https://slate.com/technology/2020/11/,"1003"https://slate.com/technology/2020/11/,"1024"https://slate.com/technology/2020/11/,"1025"https://slate.com/technology/2020/11/,"1027"https://slate.com/technology/2020/11/,"1028"https://slate.com/technology/2020/11/,"1029"https://slate.com/technology/2020/11/,"1033"https://slate.com/technology/2020/11/,"1034"https://slate.com/technology/2020/11/,"1040"https://slate.com/technology/2020/11/,"1047"https://slate.com/technology/2020/11/,"1048"https://slate.com/technology/2020/11/,"1051"https://slate.com/technology/2020/11/,"1052"https://slate.com/technology/2020/11/,"1053"https://slate.com/technology/2020/11/,"1054"https://slate.com/technology/2020/11/,"1062"https://slate.com/technology/2020/11/,"1063"https://slate.com/technology/2020/11/,"1067"https://slate.com/technology/2020/11/,"1072"https://slate.com/technology/2020/11/,"1085"https://slate.com/technology/2020/11/,"1092"https://slate.com/technology/2020/11/,"1095"https://slate.com/technology/2020/11/,"1097"https://slate.com/technology/2020/11/,"1099"https://slate.com/technology/2020/11/,"1100"https://slate.com/technology/2020/11/,"1107"https://slate.com/technology/2020/11/,"1126"https://slate.com/technology/2020/11/,"1127"https://slate.com/technology/2020/11/,"1143"https://slate.com/technology/2020/11/,"1149"https://slate.com/technology/2020/11/,"1152"https://slate.com/technology/2020/11/,"1162"https://slate.com/technology/2020/11/,"1166"https://slate.com/technology/2020/11/,"1167"https://slate.com/technology/2020/11/,"1170"https://slate.com/technology/2020/11/,"1171"https://slate.com/technology/2020/11/,"1172"https://slate.com/technology/2020/11/,"1188"https://slate.com/technology/2020/11/,"1192"https://slate.com/technology/2020/11/,"1199"https://slate.com/technology/2020/11/,"1201"https://slate.com/technology/2020/11/,"1204"https://slate.com/technology/2020/11/,"1205"https://slate.com/technology/2020/11/,"1211"https://slate.com/technology/2020/11/,"1212"https://slate.com/technology/2020/11/,"1215"https://slate.com/technology/2020/11/,"1220"https://slate.com/technology/2020/11/,"1225"https://slate.com/technology/2020/11/,"1226"https://slate.com/technology/2020/11/,"1227"https://slate.com/technology/2020/11/,"1230"https://slate.com/technology/2020/11/,"1232"https://slate.com/technology/2020/11/,"1236"https://slate.com/technology/2020/11/,"1241"https://slate.com/technology/2020/11/,"1248"https://slate.com/technology/2020/11/,"1250"https://slate.com/technology/2020/11/,"1252"https://slate.com/technology/2020/11/,"1268"https://slate.com/technology/2020/11/,"1275"https://slate.com/technology/2020/11/,"1276"https://slate.com/technology/2020/11/,"1284"https://slate.com/technology/2020/11/,"1286"https://slate.com/technology/2020/11/,"1298"https://slate.com/technology/2020/11/,"1301"https://slate.com/technology/2020/11/,"1307"https://slate.com/technology/2020/11/,"1312"https://slate.com/technology/2020/11/,"1313"https://slate.com/technology/2020/11/,"1317"https://slate.com/technology/2020/11/,"1329"https://slate.com/technology/2020/11/,"1336"https://slate.com/technology/2020/11/,"1344"https://slate.com/technology/2020/11/,"1345"https://slate.com/technology/2020/11/,"1356"https://slate.com/technology/2020/11/,"1362"https://slate.com/technology/2020/11/,"1365"https://slate.com/technology/2020/11/,"1375"https://slate.com/technology/2020/11/,"1403"https://slate.com/technology/2020/11/,"1409"https://slate.com/technology/2020/11/,"1411"https://slate.com/technology/2020/11/,"1415"https://slate.com/technology/2020/11/,"1416"https://slate.com/technology/2020/11/,"1419"https://slate.com/technology/2020/11/,"1423"https://slate.com/technology/2020/11/,"1440"https://slate.com/technology/2020/11/,"1442"https://slate.com/technology/2020/11/,"1449"https://slate.com/technology/2020/11/,"1451"https://slate.com/technology/2020/11/,"1455"https://slate.com/technology/2020/11/,"1456"https://slate.com/technology/2020/11/,"1468"https://slate.com/technology/2020/11/,"1496"https://slate.com/technology/2020/11/,"1503"https://slate.com/technology/2020/11/,"1509"https://slate.com/technology/2020/11/,"1512"https://slate.com/technology/2020/11/,"1514"https://slate.com/technology/2020/11/,"1517"https://slate.com/technology/2020/11/,"1520"https://slate.com/technology/2020/11/,"1525"https://slate.com/technology/2020/11/,"1540"https://slate.com/technology/2020/11/,"1547"https://slate.com/technology/2020/11/,"1548"https://slate.com/technology/2020/11/,"1555"https://slate.com/technology/2020/11/,"1558"https://slate.com/technology/2020/11/,"1570"https://slate.com/technology/2020/11/,"1575"https://slate.com/technology/2020/11/,"1577"https://slate.com/technology/2020/11/,"1579"https://slate.com/technology/2020/11/,"1583"https://slate.com/technology/2020/11/,"1584"https://slate.com/technology/2020/11/,"1591"https://slate.com/technology/2020/11/,"1598"https://slate.com/technology/2020/11/,"1603"https://slate.com/technology/2020/11/,"1608"https://slate.com/technology/2020/11/,"1613"https://slate.com/technology/2020/11/,"1616"https://slate.com/technology/2020/11/,"1626"https://slate.com/technology/2020/11/,"1631"https://slate.com/technology/2020/11/,"1633"https://slate.com/technology/2020/11/,"1638"https://slate.com/technology/2020/11/,"1642"https://slate.com/technology/2020/11/,"1648"https://slate.com/technology/2020/11/,"1651"https://slate.com/technology/2020/11/,"1652"https://slate.com/technology/2020/11/,"1653"https://slate.com/technology/2020/11/,"1660"https://slate.com/technology/2020/11/,"1665"https://slate.com/technology/2020/11/,"1667"https://slate.com/technology/2020/11/,"1669"https://slate.com/technology/2020/11/,"1671"https://slate.com/technology/2020/11/,"1674"https://slate.com/technology/2020/11/,"1677"https://slate.com/technology/2020/11/,"1678"https://slate.com/technology/2020/11/,"1682"https://slate.com/technology/2020/11/,"1684"https://slate.com/technology/2020/11/,"1697"https://slate.com/technology/2020/11/,"1703"https://slate.com/technology/2020/11/,"1705"https://slate.com/technology/2020/11/,"1716"https://slate.com/technology/2020/11/,"1720"https://slate.com/technology/2020/11/,"1721"https://slate.com/technology/2020/11/,"1722"https://slate.com/technology/2020/11/,"1725"https://slate.com/technology/2020/11/,"1732"https://slate.com/technology/2020/11/,"1733"https://slate.com/technology/2020/11/,"1735"https://slate.com/technology/2020/11/,"1739"https://slate.com/technology/2020/11/,"1741"https://slate.com/technology/2020/11/,"1745"https://slate.com/technology/2020/11/,"1750"https://slate.com/technology/2020/11/,"1753"https://slate.com/technology/2020/11/,"1760"https://slate.com/technology/2020/11/,"1765"https://slate.com/technology/2020/11/,"1769"https://slate.com/technology/2020/11/,"1776"https://slate.com/technology/2020/11/,"1780"https://slate.com/technology/2020/11/,"1782"https://slate.com/technology/2020/11/,"1786"https://slate.com/technology/2020/11/,"1791"https://slate.com/technology/2020/11/,"1794"https://slate.com/technology/2020/11/,"1799"https://slate.com/technology/2020/11/,"1800"https://slate.com/technology/2020/11/,"1801"https://slate.com/technology/2020/11/,"1810"https://slate.com/technology/2020/11/,"1827"https://slate.com/technology/2020/11/,"1831"https://slate.com/technology/2020/11/,"1832"https://slate.com/technology/2020/11/,"1834"https://slate.com/technology/2020/11/,"1837"https://slate.com/technology/2020/11/,"1840"https://slate.com/technology/2020/11/,"1843"https://slate.com/technology/2020/11/,"1844"https://slate.com/technology/2020/11/,"1845"https://slate.com/technology/2020/11/,"1858"https://slate.com/technology/2020/11/,"1859"https://slate.com/technology/2020/11/,"1863"https://slate.com/technology/2020/11/,"1866"https://slate.com/technology/2020/11/,"1870"https://slate.com/technology/2020/11/,"1872"https://slate.com/technology/2020/11/,"1875"https://slate.com/technology/2020/11/,"1878"https://slate.com/technology/2020/11/,"1880"https://slate.com/technology/2020/11/,"1882"https://slate.com/technology/2020/11/,"1883"https://slate.com/technology/2020/11/,"1889"https://slate.com/technology/2020/11/,"1892"https://slate.com/technology/2020/11/,"1896"https://slate.com/technology/2020/11/,"1898"https://slate.com/technology/2020/11/,"1899"https://slate.com/technology/2020/11/,"1902"https://slate.com/technology/2020/11/,"1905"https://slate.com/technology/2020/11/,"1911"https://slate.com/technology/2020/11/,"1922"https://slate.com/technology/2020/11/,"1928"https://slate.com/technology/2020/11/,"1929"https://slate.com/technology/2020/11/,"1934"https://slate.com/technology/2020/11/,"1942"https://slate.com/technology/2020/11/,"1943"https://slate.com/technology/2020/11/,"1944"https://slate.com/technology/2020/11/,"1945"https://slate.com/technology/2020/11/,"1958"https://slate.com/technology/2020/11/,"1960"https://slate.com/technology/2020/11/,"1962"https://slate.com/technology/2020/11/,"1963"https://slate.com/technology/2020/11/,"1964"https://slate.com/technology/2020/11/,"1967"https://slate.com/technology/2020/11/,"1968"https://slate.com/technology/2020/11/,"1978"https://slate.com/technology/2020/11/,"1985"https://slate.com/technology/2020/11/,"1986"https://slate.com/technology/2020/11/,"1987"https://slate.com/technology/2020/11/,"1998"https://slate.com/technology/2020/11/,"2003"https://slate.com/technology/2020/11/,"2007"https://slate.com/technology/2020/11/,"2012"https://slate.com/technology/2020/11/,"2013"https://slate.com/technology/2020/11/,"2027"https://slate.com/technology/2020/11/,"2035"https://slate.com/technology/2020/11/,"2038"https://slate.com/technology/2020/11/,"2039"https://slate.com/technology/2020/11/,"2044"https://slate.com/technology/2020/11/,"2047"https://slate.com/technology/2020/11/,"2052"https://slate.com/technology/2020/11/,"2056"https://slate.com/technology/2020/11/,"2059"https://slate.com/technology/2020/11/,"2062"https://slate.com/technology/2020/11/,"2064"https://slate.com/technology/2020/11/,"2068"https://slate.com/technology/2020/11/,"2070"https://slate.com/technology/2020/11/,"2072"https://slate.com/technology/2020/11/,"2078"https://slate.com/technology/2020/11/,"2079"https://slate.com/technology/2020/11/,"2084"https://slate.com/technology/2020/11/,"2088"https://slate.com/technology/2020/11/,"2090"https://slate.com/technology/2020/11/,"2095"https://slate.com/technology/2020/11/,"2100"https://slate.com/technology/2020/11/,"2103"https://slate.com/technology/2020/11/,"2107"https://slate.com/technology/2020/11/,"2109"https://slate.com/technology/2020/11/,"2113"https://slate.com/technology/2020/11/,"2115"https://slate.com/technology/2020/11/,"2121"https://slate.com/technology/2020/11/,"2127"https://slate.com/technology/2020/11/,"2130"https://slate.com/technology/2020/11/,"2133"https://slate.com/technology/2020/11/,"2137"https://slate.com/technology/2020/11/,"2140"https://slate.com/technology/2020/11/,"2141"https://slate.com/technology/2020/11/,"2145"https://slate.com/technology/2020/11/,"2147"https://slate.com/technology/2020/11/,"2150"https://slate.com/technology/2020/11/,"2156"https://slate.com/technology/2020/11/,"2166"https://slate.com/technology/2020/11/,"2170"https://slate.com/technology/2020/11/,"2171"https://slate.com/technology/2020/11/,"2176"https://slate.com/technology/2020/11/,"2177"https://slate.com/technology/2020/11/,"2179"https://slate.com/technology/2020/11/,"2183"https://slate.com/technology/2020/11/,"2186"https://slate.com/technology/2020/11/,"2192"https://slate.com/technology/2020/11/,"2198"https://slate.com/technology/2020/11/,"2202"https://slate.com/technology/2020/11/,"2205"https://slate.com/technology/2020/11/,"2214"https://slate.com/technology/2020/11/,"2216"https://slate.com/technology/2020/11/,"2219"https://slate.com/technology/2020/11/,"2220"https://slate.com/technology/2020/11/,"2222"https://slate.com/technology/2020/11/,"2223"https://slate.com/technology/2020/11/,"2224"https://slate.com/technology/2020/11/,"2225"https://slate.com/technology/2020/11/,"2227"https://slate.com/technology/2020/11/,"2228"https://slate.com/technology/2020/11/,"2234"https://slate.com/technology/2020/11/,"2238"https://slate.com/technology/2020/11/,"2247"https://slate.com/technology/2020/11/,"2251"https://slate.com/technology/2020/11/,"2253"https://slate.com/technology/2020/11/,"2262"https://slate.com/technology/2020/11/,"2264"https://slate.com/technology/2020/11/,"2271"https://slate.com/technology/2020/11/,"2276"https://slate.com/technology/2020/11/,"2278"https://slate.com/technology/2020/11/,"2279"https://slate.com/technology/2020/11/,"2282"https://slate.com/technology/2020/11/,"2290"https://slate.com/technology/2020/11/,"2292"https://slate.com/technology/2020/11/,"2295"https://slate.com/technology/2020/11/,"2299"https://slate.com/technology/2020/11/,"2305"https://slate.com/technology/2020/11/,"2306"https://slate.com/technology/2020/11/,"2310"https://slate.com/technology/2020/11/,"2311"https://slate.com/technology/2020/11/,"2312"https://slate.com/technology/2020/11/,"2315"https://slate.com/technology/2020/11/,"2320"https://slate.com/technology/2020/11/,"2325"https://slate.com/technology/2020/11/,"2328"https://slate.com/technology/2020/11/,"2331"https://slate.com/technology/2020/11/,"2334"https://slate.com/technology/2020/11/,"2335"https://slate.com/technology/2020/11/,"2336"https://slate.com/technology/2020/11/,"2337"https://slate.com/technology/2020/11/,"2343"https://slate.com/technology/2020/11/,"2346"https://slate.com/technology/2020/11/,"2354"https://slate.com/technology/2020/11/,"2357"https://slate.com/technology/2020/11/,"2358"https://slate.com/technology/2020/11/,"2359"https://slate.com/technology/2020/11/,"2366"https://slate.com/technology/2020/11/,"2370"https://slate.com/technology/2020/11/,"2373"https://slate.com/technology/2020/11/,"2376"https://slate.com/technology/2020/11/,"2377"https://slate.com/technology/2020/11/,"2380"https://slate.com/technology/2020/11/,"2382"https://slate.com/technology/2020/11/,"2387"https://slate.com/technology/2020/11/,"2389"https://slate.com/technology/2020/11/,"2392"https://slate.com/technology/2020/11/,"2394"https://slate.com/technology/2020/11/,"2400"https://slate.com/technology/2020/11/,"2403"https://slate.com/technology/2020/11/,"2405"https://slate.com/technology/2020/11/,"2406"https://slate.com/technology/2020/11/,"2407"https://slate.com/technology/2020/11/,"2410"https://slate.com/technology/2020/11/,"2411"https://slate.com/technology/2020/11/,"2413"https://slate.com/technology/2020/11/,"2414"https://slate.com/technology/2020/11/,"2415"https://slate.com/technology/2020/11/,"2416"https://slate.com/technology/2020/11/,"2418"https://slate.com/technology/2020/11/,"2422"https://slate.com/technology/2020/11/,"2425"https://slate.com/technology/2020/11/,"2427"https://slate.com/technology/2020/11/,"2435"https://slate.com/technology/2020/11/,"2437"https://slate.com/technology/2020/11/,"2440"https://slate.com/technology/2020/11/,"2441"https://slate.com/technology/2020/11/,"2447"https://slate.com/technology/2020/11/,"2453"https://slate.com/technology/2020/11/,"2459"https://slate.com/technology/2020/11/,"2461"https://slate.com/technology/2020/11/,"2462"https://slate.com/technology/2020/11/,"2464"https://slate.com/technology/2020/11/,"2467"https://slate.com/technology/2020/11/,"2468"https://slate.com/technology/2020/11/,"2472"https://slate.com/technology/2020/11/,"2477"https://slate.com/technology/2020/11/,"2481"https://slate.com/technology/2020/11/,"2484"https://slate.com/technology/2020/11/,"2486"https://slate.com/technology/2020/11/,"2492"https://slate.com/technology/2020/11/,"2493"https://slate.com/technology/2020/11/,"2496"https://slate.com/technology/2020/11/,"2497"https://slate.com/technology/2020/11/,"2498"https://slate.com/technology/2020/11/,"2499"https://slate.com/technology/2020/11/,"2504"https://slate.com/technology/2020/11/,"2506"https://slate.com/technology/2020/11/,"2510"https://slate.com/technology/2020/11/,"2511"https://slate.com/technology/2020/11/,"2512"https://slate.com/technology/2020/11/,"2517"https://slate.com/technology/2020/11/,"2526"https://slate.com/technology/2020/11/,"2527"https://slate.com/technology/2020/11/,"2531"https://slate.com/technology/2020/11/,"2532"https://slate.com/technology/2020/11/,"2534"https://slate.com/technology/2020/11/,"2542"https://slate.com/technology/2020/11/,"2544"https://slate.com/technology/2020/11/,"2552"https://slate.com/technology/2020/11/,"2555"https://slate.com/technology/2020/11/,"2559"https://slate.com/technology/2020/11/,"2563"https://slate.com/technology/2020/11/,"2564"https://slate.com/technology/2020/11/,"2567"https://slate.com/technology/2020/11/,"2568"https://slate.com/technology/2020/11/,"2569"https://slate.com/technology/2020/11/,"2571"https://slate.com/technology/2020/11/,"2572"https://slate.com/technology/2020/11/,"2573"https://slate.com/technology/2020/11/,"2575"https://slate.com/technology/2020/11/,"2577"https://slate.com/technology/2020/11/,"2579"https://slate.com/technology/2020/11/,"2583"https://slate.com/technology/2020/11/,"2584"https://slate.com/technology/2020/11/,"2586"https://slate.com/technology/2020/11/,"2589"https://slate.com/technology/2020/11/,"2595"https://slate.com/technology/2020/11/,"2596"https://slate.com/technology/2020/11/,"2597"https://slate.com/technology/2020/11/,"2601"https://slate.com/technology/2020/11/,"2604"https://slate.com/technology/2020/11/,"2605"https://slate.com/technology/2020/11/,"2609"https://slate.com/technology/2020/11/,"2610"https://slate.com/technology/2020/11/,"2612"https://slate.com/technology/2020/11/,"2614"https://slate.com/technology/2020/11/,"2621"https://slate.com/technology/2020/11/,"2622"https://slate.com/technology/2020/11/,"2624"https://slate.com/technology/2020/11/,"2628"https://slate.com/technology/2020/11/,"2629"https://slate.com/technology/2020/11/,"2632"https://slate.com/technology/2020/11/,"2634"https://slate.com/technology/2020/11/,"2636"https://slate.com/technology/2020/11/,"2639"https://slate.com/technology/2020/11/,"2643"https://slate.com/technology/2020/11/,"2645"https://slate.com/technology/2020/11/,"2646"https://slate.com/technology/2020/11/,"2647"https://slate.com/technology/2020/11/,"2649"https://slate.com/technology/2020/11/,"2650"https://slate.com/technology/2020/11/,"2651"https://slate.com/technology/2020/11/,"2652"https://slate.com/technology/2020/11/,"2656"https://slate.com/technology/2020/11/,"2657"https://slate.com/technology/2020/11/,"2658"https://slate.com/technology/2020/11/,"2660"https://slate.com/technology/2020/11/,"2661"https://slate.com/technology/2020/11/,"2662"https://slate.com/technology/2020/11/,"2663"https://slate.com/technology/2020/11/,"2664"https://slate.com/technology/2020/11/,"2669"https://slate.com/technology/2020/11/,"2670"https://slate.com/technology/2020/11/,"2673"https://slate.com/technology/2020/11/,"2676"https://slate.com/technology/2020/11/,"2677"https://slate.com/technology/2020/11/,"2678"https://slate.com/technology/2020/11/,"2681"https://slate.com/technology/2020/11/,"2682"https://slate.com/technology/2020/11/,"2684"https://slate.com/technology/2020/11/,"2685"https://slate.com/technology/2020/11/,"2686"https://slate.com/technology/2020/11/,"2689"https://slate.com/technology/2020/11/,"2690"https://slate.com/technology/2020/11/,"2691"https://slate.com/technology/2020/11/,"2695"https://slate.com/technology/2020/11/,"2698"https://slate.com/technology/2020/11/,"2699"https://slate.com/technology/2020/11/,"2702"https://slate.com/technology/2020/11/,"2704"https://slate.com/technology/2020/11/,"2705"https://slate.com/technology/2020/11/,"2706"https://slate.com/technology/2020/11/,"2707"https://slate.com/technology/2020/11/,"2709"https://slate.com/technology/2020/11/,"2710"https://slate.com/technology/2020/11/,"2713"https://slate.com/technology/2020/11/,"2714"https://slate.com/technology/2020/11/,"2727"https://slate.com/technology/2020/11/,"2729"https://slate.com/technology/2020/11/,"2739"https://slate.com/technology/2020/11/,"2758"https://slate.com/technology/2020/11/,"2765"https://slate.com/technology/2020/11/,"2766"https://slate.com/technology/2020/11/,"2767"https://slate.com/technology/2020/11/,"2768"https://slate.com/technology/2020/11/,"2770"https://slate.com/technology/2020/11/,"2771"https://slate.com/technology/2020/11/,"2772"https://slate.com/technology/2020/11/,"2776"https://slate.com/technology/2020/11/,"2777"https://slate.com/technology/2020/11/,"2778"https://slate.com/technology/2020/11/,"2779"https://slate.com/technology/2020/11/,"2780"https://slate.com/technology/2020/11/,"2783"https://slate.com/technology/2020/11/,"2784"https://slate.com/technology/2020/11/,"2786"https://slate.com/technology/2020/11/,"2787"https://slate.com/technology/2020/11/,"2791"https://slate.com/technology/2020/11/,"2792"https://slate.com/technology/2020/11/,"2793"https://slate.com/technology/2020/11/,"2797"https://slate.com/technology/2020/11/,"2798"https://slate.com/technology/2020/11/,"2801"https://slate.com/technology/2020/11/,"2802"https://slate.com/technology/2020/11/,"2803"https://slate.com/technology/2020/11/,"2805"https://slate.com/technology/2020/11/,"2808"https://slate.com/technology/2020/11/,"2809"https://slate.com/technology/2020/11/,"2810"https://slate.com/technology/2020/11/,"2811"https://slate.com/technology/2020/11/,"2812"https://slate.com/technology/2020/11/,"2813"https://slate.com/technology/2020/11/,"2814"https://slate.com/technology/2020/11/,"2817"https://slate.com/technology/2020/11/,"2818"https://slate.com/technology/2020/11/,"2824"https://slate.com/technology/2020/11/,"2826"https://slate.com/technology/2020/11/,"2827"https://slate.com/technology/2020/11/,"2829"https://slate.com/technology/2020/11/,"2830"https://slate.com/technology/2020/11/,"2831"https://slate.com/technology/2020/11/,"2832"https://slate.com/technology/2020/11/,"2834"https://slate.com/technology/2020/11/,"2836"https://slate.com/technology/2020/11/,"2838"https://slate.com/technology/2020/11/,"2840"https://slate.com/technology/2020/11/,"2842"https://slate.com/technology/2020/11/,"2843"https://slate.com/technology/2020/11/,"2844"https://slate.com/technology/2020/11/,"2850"https://slate.com/technology/2020/11/,"2851"https://slate.com/technology/2020/11/,"2852"https://slate.com/technology/2020/11/,"2854"https://slate.com/technology/2020/11/,"2858"https://slate.com/technology/2020/11/,"2860"https://slate.com/technology/2020/11/,"2862"https://slate.com/technology/2020/11/,"2864"https://slate.com/technology/2020/11/,"2865"https://slate.com/technology/2020/11/,"2866"https://slate.com/technology/2020/11/,"2867"https://slate.com/technology/2020/11/,"2868"https://slate.com/technology/2020/11/,"2869"https://slate.com/technology/2020/11/,"2871"] }, n = { code: i, gvlid: 165, aliases: ["spotx"], supportedMediaTypes: [c.d], isBidRequestValid: function isBidRequestValid(e) { if (e && "object" !== d(e.params)) return I.logError(i + ": params is not defined or is incorrect in the bidder settings."), !1; if (!I.deepAccess(e, "mediaTypes.video")) return I.logError(i + ": mediaTypes.video is not present in the bidder settings."), !1; var t = I.deepAccess(e, "mediaTypes.video.playerSize"); if (!t || !I.isArray if (!I.getBidIdParameter("channel_id", e.params)) return I.logError(i + ": channel_id is not present in bidder params"), !1; if (("outstream" == I.deepAccess(e, "mediaTypes.video.context") || "outstream" == I.deepAccess(e, "params.ad_unit")) && !I.getBidIdParameter("outstream_function", e.params)) { if (!I.getBidIdParameter("outstream_options", e.params)) return I.logError(i + ": please define outstream_options parameter or override the default SpotX outstream rendering by defining your own Outstream function using field outstream_function."), !1; if (!I.getBidIdParameter("slot", e.params.outstream_options)) return I.logError(i + ": please define parameters slot outstream_options object in the configuration."), !1; } return !0; }, buildRequests: function buildRequests(e, h) { var y = h.refererInfo.referer, b = !!y.match(/^https:/); return e.map(function (e) { var t = I.getBidIdParameter("page", e.params) ? I.getBidIdParameter("page", e.params) : P.b.getConfig("pageUrl") ? P.b.getConfig("pageUrl") : y, r = I.getBidIdParameter("channel_id", e.params), a = null, d = I.deepAccess(e, "mediaTypes.video.playerSize"), i = d[0][0], n = d[0][1], o = b || (I.getBidIdParameter("secure", e.params) ? 1 : 0), s = { sdk_name: "Prebid 1+", versionOrtb: "2.3" }; if ("" != I.getBidIdParameter("hide_skin", e.params) && (s.hide_skin = +!!I.getBidIdParameter("hide_skin", e.params)), "" != I.getBidIdParameter("ad_volume", e.params) && (s.ad_volume = I.getBidIdParameter("ad_volume", e.params)), "" != I.getBidIdParameter("ad_unit", e.params) && (s.ad_unit = I.getBidIdParameter("ad_unit", e.params)), "" != I.getBidIdParameter("outstream_options", e.params) && (s.outstream_options = I.getBidIdParameter("outstream_options", e.params)), "" != I.getBidIdParameter("outstream_function", e.params) && (s.outstream_function = I.getBidIdParameter("outstream_function", e.params)), "" != I.getBidIdParameter("custom", e.params) && (s.custom = I.getBidIdParameter("custom", e.params)), "" != I.getBidIdParameter("pre_market_bids", e.params) && I.isArray(I.getBidIdParameter("pre_market_bids", e.params))) { var p = I.getBidIdParameter("pre_market_bids", e.params); for (var m in (s.pre_market_bids = [], p)) { var u = p[m], c = ""; u.vast_url ? c="” + u.vast_url + “” : u.vast_string && (c = u.vast_string), s.pre_market_bids.push({
id: u.deal_id,
seatbid: [{
bid: [{
impid: Date.now(),
dealid: u.deal_id,
price: u.price,
adm: c
}]
}],
cur: u.currency,
ext: {
event_log: [{}]
}
});
}
}

var g = I.getBidIdParameter(“mimes”, e.params) || [“application/javascript”https://slate.com/technology/2020/11/,”video/mp4″https://slate.com/technology/2020/11/,”video/webm”],
_ = {
id: e.bidId,
secure: o,
video: {
w: i,
h: n,
ext: s,
mimes: g
}
};
“” != I.getBidIdParameter(“price_floor”, e.params) && (_.bidfloor = I.getBidIdParameter(“price_floor”, e.params)), “” != I.getBidIdParameter(“start_delay”, e.params) && (_.video.startdelay = 0 + Boolean(I.getBidIdParameter(“start_delay”, e.params))), “” != I.getBidIdParameter(“min_duration”, e.params) && (_.video.minduration = I.getBidIdParameter(“min_duration”, e.params)), “” != I.getBidIdParameter(“max_duration”, e.params) && (_.video.maxduration = I.getBidIdParameter(“max_duration”, e.params)), “” != I.getBidIdParameter(“placement_type”, e.params) && (_.video.ext.placement = I.getBidIdParameter(“placement_type”, e.params)), “” != I.getBidIdParameter(“position”, e.params) && (_.video.ext.pos = I.getBidIdParameter(“position”, e.params)), e.crumbs && e.crumbs.pubcid && (a = e.crumbs.pubcid);
var l = navigator.language ? “language” : “userLanguage”,
v = {
id: r,
imp: _,
site: {
id: “”,
page: t,
content: “content”
},
device: {
h: screen.height,
w: screen.width,
dnt: I.getDNT() ? 1 : 0,
language: navigator[l].split(“-“)[0],
make: navigator.vendor ? navigator.vendor : “”,
ua: navigator.userAgent
},
ext: {
wrap_response: 1
}
};
I.getBidIdParameter(“number_of_ads”, e.params) && (v.ext.number_of_ads = I.getBidIdParameter(“number_of_ads”, e.params));
var f = {};
return 1 == I.getBidIdParameter(“spotx_all_google_consent”, e.params) && (f.consented_providers_settings = B), h && h.gdprConsent && (f.consent = h.gdprConsent.consentString, void 0 !== h.gdprConsent.gdprApplies && I.deepSetValue(v, “regs.ext.gdpr”, h.gdprConsent.gdprApplies ? 1 : 0)), h && h.uspConsent && I.deepSetValue(v, “regs.ext.us_privacy”, h.uspConsent), I.deepAccess(e, “userId.id5id.uid”) && (f.eids = f.eids || [], f.eids.push({
source: “id5-sync.com”,
uids: [{
id: e.userId.id5id.uid
}],
ext: e.userId.id5id.ext || {}
})), a && (f.fpc = a), e && e.schain && (v.source = {
ext: {
schain: e.schain
}
}), e && e.userId && e.userId.tdid && (f.eids = f.eids || [], f.eids.push({
source: “adserver.org”,
uids: [{
id: e.userId.tdid,
ext: {
rtiPartner: “TDID”
}
}]
})), I.isEmpty(f) || (v.user = {
ext: f
}), {
method: “POST”,
url: “https://search.spotxchange.com/openrtb/2.3/dados/” + r,
data: v,
bidRequest: h
};
});
},
interpretResponse: function interpretResponse(e, s) {
var p = [],
m = e.body;
return m && I.isArray(m.seatbid) && I._each(m.seatbid, function (e) {
I._each(e.bid, function
var e = {};

for (var r in s.bidRequest.bids) {
t.impid == s.bidRequest.bids[r].bidId && (e = s.bidRequest.bids[r]);
}

I._each(e.params.pre_market_bids, function (e) {
e.deal_id == t.id && (t.price = e.price, m.cur = e.currency);
});

var a = {
requestId: e.bidId,
currency: m.cur || “USD”,
cpm: t.price,
creativeId: t.crid || “”,
dealId: t.dealid || “”,
ttl: 360,
netRevenue: !0,
channel_id: m.id,
cache_key: t.ext.cache_key,
vastUrl: “https://search.spotxchange.com/ad/vast.html?key=” + t.ext.cache_key,
videoCacheKey: t.ext.cache_key,
mediaType: c.d,
width: t.w,
height: t.h
};
a.meta = a.meta || {}, t && t.adomain && 0 < t.adomain.length && (a.meta.advertiserDomains = t.adomain); var d = I.deepAccess(e, "mediaTypes.video.context"), i = I.deepAccess(e, "params.ad_unit"); if ("outstream" == d || "outstream" == i) { var n = I.deepAccess(e, "mediaTypes.video.playerSize"), o = u.a.install({ id: 0, url: "//", config: { adText: "SpotX Outstream Video Ad via Prebid.js", player_width: n[0][0], player_height: n[0][1], content_page_url: I.deepAccess(s, "data.site.page"), ad_mute: +!!I.deepAccess(e, "params.ad_mute"), hide_skin: +!!I.deepAccess(e, "params.hide_skin"), outstream_options: I.deepAccess(e, "params.outstream_options"), outstream_function: I.deepAccess(e, "params.outstream_function") } }); try { o.setRender(g), o.setEventHandlers({ impression: function impression() { return I.logMessage("SpotX outstream video impression event"); }, loaded: function loaded() { return I.logMessage("SpotX outstream video loaded event"); }, ended: function ended() { I.logMessage("SpotX outstream renderer video event"); } }); } catch (e) { I.logWarn("Prebid Error calling setRender or setEve,tHandlers on renderer", e); } a.renderer = o; } p.push(a); }); }), p; } }; function g(e) { var t = function (e) { var t = I.getBidIdParameter("slot", e.renderer.config.outstream_options); I.logMessage("[SPOTX][renderer] Handle SpotX outstream renderer"); var r = window.document.createElement("script"); r.type = "text/javascript", r.src = "https://js.spotx.tv/easi/v1/" + e.channel_id + ".js"; var a = {}; a["data-spotx_channel_id"] = "" + e.channel_id, a["data-spotx_vast_url"] = "" + e.vastUrl, a["data-spotx_content_page_url"] = e.renderer.config.content_page_url, a["data-spotx_ad_unit"] = "incontent", I.logMessage("[SPOTX][renderer] Default beahavior"), I.getBidIdParameter("ad_mute", e.renderer.config.outstream_options) && (a["data-spotx_ad_mute"] = "1"), a["data-spotx_collapse"] = "0", a["data-spotx_autoplay"] = "1", a["data-spotx_blocked_autoplay_override_mode"] = "1", a["data-spotx_video_slot_can_autoplay"] = "1"; var d, i, n, o, s, p, m = I.getBidIdParameter("playersize_auto_adapt", e.renderer.config.outstream_options); m && I.isBoolean(m) && !0 === m && (e.width && I.isNumber(e.width) && e.height && I.isNumber(e.height) ? (d = e.width / e.height, i = window.document.getElementById var u = I.getBidIdParameter("custom_override", e.renderer.config.outstream_options); if (u && I.isPlainObject(u)) for (var c in (I.logMessage("[SPOTX][renderer] Custom behavior."), u)) { u.hasOwnProperty(c) && ("channel_id" === c || "vast_url" === c || "content_page_url" === c || "ad_unit" === c ? I.logWarn("[SPOTX][renderer] Custom behavior: following option cannot be overridden: " + c) : a["data-spotx_" + c] = u[c]); } for (var g in a) { a.hasOwnProperty(g) && r.setAttribute(g, a[g]); } return r; }(e); if (null != e.renderer.config.outstream_function && "function" == typeof e.renderer.config.outstream_function) e.renderer.config.outstream_function(e, t);else try { var r, a, d, i = I.getBidIdParameter("in_iframe", e.renderer.config.outstream_options); i && "IFRAME" == window.document.getElementById(i).nodeName ? (!(a = (r = window.document.getElementById(i)).contentDocument) && r.contentWindow && (a = r.contentWindow.document), a.body.appendChild } catch (e) { I.logError("[SPOTX][renderer] Error:" + e.message); } } Object(a.registerBidder)(n); } }, [780]); pbjsChunk([96], { 796: function _(e, t, r) { e.exports = r(797); }, 797: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), r.d(t, "spec", function () { return i; }); var n = r(1), a = r(0), p = 12, c = 11, u = 0, g = 22, i = { code: "teads", supportedMediaTypes: ["video"https://slate.com/technology/2020/11/,"banner"], isBidRequestValid: function isBidRequestValid(e) { var t, r, n = !1; return void 0 !== e.params && (t = s(a.getValue(e.params, "placementId")), r = s(a.getValue(e.params, "pageId")), n = t && r), n || a.logError("Teads placementId and pageId parameters are required. Bid aborted."), n; }, buildRequests: function buildRequests(e, t) { var r, n = e.map(f), i = { referrer: function (e) { var t = ""; e && e.refererInfo && e.refererInfo.referer && (t = e.refererInfo.referer); return t; } pageReferrer: document.referrer, networkBandwidth: (r = window.navigator) && r.connection && 0 <= r.connection.downlink ? r.connection.downlink.toString() : "", timeToFirstByte: function (e) { var t = e.performance || e.webkitPerformance || e.msPerformance || e.mozPerformance, r = t && "function" == typeof t.getEntriesByType && "[object Function]" === Object.prototype.toString.call(t.getEntriesByType) && t.getEntriesByType("navigation")[0] && t.getEntriesByType("navigation")[0].responseStart && t.getEntriesByType("navigation")[0].requestStart && 0 < t.getEntriesByType("navigation")[0].responseStart && 0 < t.getEntriesByType("navigation")[0].requestStart && Math.round(t.getEntriesByType("navigation")[0].responseStart - t.getEntriesByType("navigation")[0].requestStart); if (r) return r.toString(); var n = t && t.timing.responseStart && t.timing.requestStart && 0 < t.timing.responseStart && 0 < t.timing.requestStart && t.timing.responseStart - t.timing.requestStart; return n ? n.toString() : ""; }(window), data: n, deviceWidth: screen.width, hb_version: "4.13.0" }; e[0].schain && (i.schain = e[0].schain); var a, s, o, d = t.gdprConsent; return t && d && (a = "boolean" == typeof d.gdprApplies, s = "string" == typeof d.consentString, o = a ? function (e, t, r) { var n = p; e ? function (e, t) { return e && 1 === t ? e.hasGlobalScope || e.hasGlobalConsent : !(!e || 2 !== t) && !e.isServiceSpecific; }(t, r) && (n = c) : n = u; return n; }(d.gdprApplies, d.vendorData, d.apiVersion) : g, i.gdpr_iab = { consent: s ? d.consentString : "", status: o, apiVersion: d.apiVersion }), t && t.uspConsent && (i.us_privacy = t.uspConsent), { method: "POST", url: "https://a.teads.tv/hb/bid-request", data: JSON.stringify(i) }; }, interpretResponse: function interpretResponse(e) { var r = []; return (e = e.body).responses && e.responses.forEach(function (e) { var t = { cpm: e.cpm, width: e.width, height: e.height, currency: e.currency, netRevenue: !0, ttl: e.ttl, ad: e.ad, requestId: e.bidId, creativeId: e.creativeId, placementId: e.placementId }; e.dealId && (t.dealId = e.dealId), r.push }), r; } }; function f(e) { var t, r = {}, n = a.getValue(e.params, "placementId"), i = a.getValue(e.params, "pageId"); return r.sizes = (t = e, a.parseSizesInput(function (e) { var t = a.deepAccess(e, "mediaTypes.video.playerSize"), r = a.deepAccess(e, "mediaTypes.video.sizes"), n = a.deepAccess(e, "mediaTypes.banner.sizes"); return a.isArray(n) || a.isArray return a.isArray(e) && (a.isArray(e[0]) ? e.forEach(function (e) { t.push(e); }) : t.push(e)), t; }, []) : e.sizes; } } function s(e) { return 0 < parseInt(e); } Object(n.registerBidder)(i); } }, [796]); pbjsChunk([87], { 816: function _(e, r, t) { e.exports = t(817); }, 817: function _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", { value: !0 }), t.d(r, "tripleliftAdapterSpec", function () { return m; }); var n = t(2), i = t(1), u = t(0), a = t(3); function p() { return (p = Object.assign || function (e) { for (var r = 1; r < arguments.length; r++) { var t = arguments[r]; for (var n in t) { Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]); } } return e; }).apply(this, arguments); } function c(e) { return (c = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { return _typeof(e); } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } function d(r, e) { var t, n = Object.keys(r); return Object.getOwnPropertySymbols && (t = Object.getOwnPropertySymbols(r), e && (t = t.filter(function (e) { return Object.getOwnPropertyDescriptor(r, e).enumerable; })), n.push.apply(n, t)), n; } function s(i) { for (var e = 1; e < arguments.length; e++) { var o = null != arguments[e] ? arguments[e] : {}; e % 2 ? d(Object(o), !0).forEach(function (e) { var r, t, n; r = i, n = o[t = e], t in r ? Object.defineProperty(r, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : r }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(i, Object.getOwnPropertyDescriptors(o)) : d(Object(o)).forEach(function (e) { Object.defineProperty(i, e, Object.getOwnPropertyDescriptor(o, e)); }); } return i; } function f(e) { return function (e) { if (Array.isArray(e)) return o(e); }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e); }(e) || function (e, r) { if (!e) return; if ("string" == typeof e) return o(e, r); var t = Object.prototype.toString.call(e).slice(8, -1); "Object" === t && e.constructor && (t = e.constructor.name); if ("Map" === t || "Set" === t) return Array.from(e); if ("Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test }(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 o(e, r) { (null == r || r > e.length) && (r = e.length);

for (var t = 0, n = new Array(r); t < r; t++) { n } return n; } var y = !0, l = null, m = { code: "triplelift", supportedMediaTypes: [n.b, n.d], isBidRequestValid: function isBidRequestValid(e) { if (e.mediaTypes.video) { var r = b(e); if (!r.w || !r.h) return !1; } return void 0 !== e.params.inventoryCode; }, buildRequests: function buildRequests(e, r) { var t, n = "https://tlx.3lift.com/header/auction?", i = function (e) { var r = {}, t = e[0].schain, n = function () { var e = {}, r = p({}, a.b.getConfig("fpd.context")), t = p({}, a.b.getConfig("fpd.user")); return g(e, r), g(e, t), e; }(); r.imp = e.map(function (e, r) { var t = { id: r, tagid: e.params.inventoryCode, floor: function (e) { var r = null; { var t; "function" == typeof e.getFloor && ("object" !== c(t = e.getFloor({ currency: "USD", mediaType: "banner", size: S(e.sizes) })) || "USD" !== t.currency || isNaN(parseFloat(t.floor)) || (r = parseFloat(t.floor))); } return null !== r ? r : e.params.floor; }(e) }; return !function (e) { if (!e.mediaTypes.video) return !1; if (!e.mediaTypes.video.context) return !1; return "instream" === e.mediaTypes.video.context.toLowerCase(); }(e) ? e.mediaTypes.banner && (t.banner = { format: S(e.sizes) }) : t.video = b(e), t; }); var i = [].concat(f(function (e) { return v(e, "tdid"https://slate.com/technology/2020/11/,"adserver.org"https://slate.com/technology/2020/11/,"TDID"); }(e)), f(function (e) { return v(e, "idl_env"https://slate.com/technology/2020/11/,"liveramp.com"https://slate.com/technology/2020/11/,"idl"); }(e)), f(function (e) { return v(e, "criteoId"https://slate.com/technology/2020/11/,"criteo.com"https://slate.com/technology/2020/11/,"criteoId"); }(e))); 0 < && (r.user = { ext: { eids: i } }); var o = function (e, r) { var t = {}; u.isEmpty(e) || (t.schain = s({}, e)); u.isEmpty(r) || (t.fpd = s({}, r)); return t; }(t, n); u.isEmpty(o) || (r.ext = o); return r; }(e); return n = u.tryAppendQueryString(n, "lib"https://slate.com/technology/2020/11/,"prebid"), n = u.tryAppendQueryString(n, "v"https://slate.com/technology/2020/11/,"4.13.0"), r && r.refererInfo && (t = r.refererInfo.referer, n = u.tryAppendQueryString(n, "referrer", t)), r && r.timeout && (n = u.tryAppendQueryString(n, "tmax", r.timeout)), r && r.gdprConsent && (void 0 !== r.gdprConsent.gdprApplies && (y = r.gdprConsent.gdprApplies, n = u.tryAppendQueryString(n, "gdpr", y.toString())), void 0 !== r.gdprConsent.consentString && (l = r.gdprConsent.consentString, n = u.tryAppendQueryString(n, "cmp_cs", l))), r && r.uspConsent && (n = u.tryAppendQueryString(n, "us_privacy", r.uspConsent)), !0 === a.b.getConfig("coppa") && (n = u.tryAppendQueryString(n, "coppa", !0)), n.lastIndexOf("&") === n.length - 1 && (n = n.substring(0, n.length - 1)), u.logMessage("tlCall request built: " + n), { method: "POST", url: n, data: i, bidderRequest: r }; }, interpretResponse: function interpretResponse(e, r) { var t = r.bidderRequest; return (e.body.bids || []).map(function (e) { return function (e, r) { var t = {}, n = r.width || 1, i = r.height || 1, o = r.deal_id || "", u = r.crid || "", a = e.bids[r.imp_id]; 0 != r.cpm && r.ad && (t = { requestId: a.bidId, cpm: r.cpm, width: n, height: i, netRevenue: !0, ad: r.ad, creativeId: u, dealId: o, currency: "USD", ttl: 300, tl_source: r.tl_source, meta: {} }, a.mediaTypes.video && (t.vastXml = r.ad, t.mediaType = "video"), r.advertiser_name && (t.meta.advertiserName = r.advertiser_name)); return t; }(t, e); }); }, getUserSyncs: function getUserSyncs(e, r, t, n) { var i = function (e) { if (!e) return; if (e.iframeEnabled) return "iframe"; if (e.pixelEnabled) return "image"; }(e); if (i) { var o = "https://eb2.3lift.com/sync?"; return "image" === i && (o = u.tryAppendQueryString(o, "px", 1), o = u.tryAppendQueryString(o, "src"https://slate.com/technology/2020/11/,"prebid")), null !== l && (o = u.tryAppendQueryString(o, "gdpr", y), o = u.tryAppendQueryString(o, "cmp_cs", l)), n && (o = u.tryAppendQueryString(o, "us_privacy", n)), [{ type: i, url: o }]; } } }; function b(e) { var r = s(s({}, e.params.video), e.mediaTypes.video); return r.w || (r.w = r.playerSize[0][0]), r.h || (r.h = r.playerSize[0][1]), "instream" === r.context && (r.placement = 1), delete r.playerSize, r; } function g(r, t) { u.isEmpty null != t[e] && (r[e] = t[e]); }); } function v(e, r, t, n) { return e.map((u = r, function (e) { return e && e.userId && e.userId[u]; })).filter(function (e) { return !!e; }).map((i = t, o = n, function (e) { return { source: i, uids: [{ id: e, ext: { rtiPartner: o } }] }; })); var i, o, u; } function S(e) { return e.filter(h).map(function (e) { return { w: e[0], h: e[1] }; }); } function h(e) { return 2 === e.length && "number" == typeof e[0] && "number" == typeof e[1]; } Object(i.registerBidder)(m); } }, [816]); 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 = "_"; function concatVia(node, via) { var tag = node.dataset && node.dataset.via; if (tag) { via = (via.length ? tag + DELIMITER : tag) + via; } return via; } function addToClickedLinks() { document.documentElement.addEventListener("click", function (e) { var a; var via = ""; // detect link nodes and collect via directives to append to the href var node = e.target; // the element where this event originated may have been removed from the dom, e.g. in the case of the OIL CMP which disappears after you interact with it while (node && node !== e.currentTarget) { if (node.tagName === "A") { a = node; } via = concatVia(node, via); node = node.parentNode; } if (a && via) { if (pageType) { via = pageType + DELIMITER + via; } a.href = addViaToUrl(a.href, via); } }); } function addToSubmittedForms() { document.documentElement.addEventListener("submit", function (e) { var form = e.target; // collect via directives var via = ""; var node = e.target; while (node !== e.currentTarget) { via = concatVia(node, via); node = node.parentNode; } if (via) { if (pageType) { via = pageType + DELIMITER + via; } // dynamically create a hidden input for the form url var input = document.createElement("input"); input.type = "hidden"; input.name = "via"; input.value = via; form.appendChild(input); } }); } // start listening only once, when first injected addToClickedLinks(); addToSubmittedForms(); return { setPageType: setPageType, removeFromLocation: removeFromLocation }; }); }, {}]; window.modules["visibility.legacy"] = [function(require,module,exports){"use strict"; DS.service("$visibility", ["$document"https://slate.com/technology/2020/11/,"$window"https://slate.com/technology/2020/11/,"_throttle"https://slate.com/technology/2020/11/,"Eventify", function ($document, $window, _throttle, Eventify) { var list = [], Visible, VisibleEvent; /** * @param {number} a * @param {number} b * @returns {*} * @see http://jsperf.com/math-min-vs-if-condition-vs/8 */ function min(a, b) { return a < b ? a : b; } /** * @param {number} a * @param {number} b * @returns {*} * @see http://jsperf.com/math-min-vs-if-condition-vs/8 */ function max(a, b) { return a > b ? a : b;
}
/**
* Fast loop through watched elements
*/

function onScroll() {
list.forEach(updateVisibility);
}
/**
* updates seen property
* @param {Visble} item
* @param {{}} evt
* @fires Visible#shown
* @fires Visible#hidden
*/

function updateSeen(item, evt) {
var px = evt.visiblePx,
percent = evt.visiblePercent; // if some pixels are visible and we’re greater/equal to threshold

if (px && percent >= item.shownThreshold && !item.seen) {
item.seen = true;
setTimeout(function () {
item.trigger(“shown”, new VisibleEvent(“shown”, evt));
}, 15); // if no pixels or percent is less than threshold
} else if ((!px || percent < 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 $window.innerHeight || $document.documentElement.clientHeight || $document.body.clientHeight; } /** * Return normalized viewport width * @return {number} */ function getViewportWidth() { return $window.innerWidth || $document.documentElement.clientWidth || $document.body.clientWidth; } /** * 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) { var rect = el.getBoundingClientRect(); return rect.top >= 0 && rect.left >= 0 && rect.bottom <= ($window.innerHeight || $document.documentElement.clientHeight) && rect.right <= ($window.innerWidth || $document.documentElement.clientWidth); } /** * @param {Element} el * @param {ClientRect} rect * @param {Number} preloadThreshhold * @param {Number} innerHeight * @return {Boolean} */ function shouldBePreloaded(el, rect, preloadThreshhold, innerHeight) { return rect.top <= 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) {
result += getLinearSpacialHash(remainder, Math.floor(stepSize / base), optimalK – 1, base);
}

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

function getVerticallyVisiblePixels(rect, innerHeight) {
return min(innerHeight, max(rect.bottom, 0)) – min(max(rect.top, 0), innerHeight);
}
/**
* Get offset of element relative to entire page
*
* @param {Element} el
* @returns {{left: number, top: number}}
* @see http://jsperf.com/offset-vs-getboundingclientrect/7
*/

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

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

return {
left: offsetLeft,
top: offsetTop
};
}
/**
* Create a new Visible class to observe when elements enter and leave the viewport
*
* Call destroy function to stop listening (this is until we have better support for watching for Node Removal)
* @param {Element} el
* @param {{shownThreshold: number, hiddenThreshold: number}} [options]
* @class
* @example this.visible = new $visibility.Visible(el);
*/

Visible = function Visible(el, options) {
options = options || {};
this.el = el;
this.seen = false;
this.preload = false;
this.preloadThreshhold = options && options.preloadThreshhold || 0;
this.shownThreshold = options && options.shownThreshold || 0;
this.hiddenThreshold = options && min(options.shownThreshold, options.hiddenThreshold) || 0;
list.push(this);
updateVisibility(this); // set immediately to visible or not
};

Visible.prototype = {
/**
* Stop triggering.
*/
destroy: function destroy() {
// remove from list
list.splice(list.indexOf(this), 1);
}
/**
* @name Visible#on
* @function
* @param {‘shown’|’hidden’} e EventName
* @param {function} cb Callback
*/

/**
* @name Visible#trigger
* @function
* @param {‘shown’|’hidden’} e
* @param {{}}
*/

};
Eventify.enable(Visible.prototype);

VisibleEvent = function VisibleEvent(type, options) {
var _this = this;

this.type = type;
Object.keys(options).forEach(function (key) {
_this[key] = options[key];
});
}; // listen for scroll events (throttled)

$document.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=(function e(t,n,r){function 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].call(l.exports,function(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

What Are The Main Benefits Of Comparing Car Insurance Quotes Online

LOS ANGELES, CA / ACCESSWIRE / June 24, 2020, / Compare-autoinsurance.Org has launched a new blog post that presents the main benefits of comparing multiple car insurance quotes. For more info and free online quotes, please visit https://compare-autoinsurance.Org/the-advantages-of-comparing-prices-with-car-insurance-quotes-online/ The modern society has numerous technological advantages. One important advantage is the speed at which information is sent and received. With the help of the internet, the shopping habits of many persons have drastically changed. The car insurance industry hasn't remained untouched by these changes. On the internet, drivers can compare insurance prices and find out which sellers have the best offers. View photos The advantages of comparing online car insurance quotes are the following: Online quotes can be obtained from anywhere and at any time. Unlike physical insurance agencies, websites don't have a specific schedule and they are available at any time. Drivers that have busy working schedules, can compare quotes from anywhere and at any time, even at midnight. Multiple choices. Almost all insurance providers, no matter if they are well-known brands or just local insurers, have an online presence. Online quotes will allow policyholders the chance to discover multiple insurance companies and check their prices. Drivers are no longer required to get quotes from just a few known insurance companies. Also, local and regional insurers can provide lower insurance rates for the same services. Accurate insurance estimates. Online quotes can only be accurate if the customers provide accurate and real info about their car models and driving history. Lying about past driving incidents can make the price estimates to be lower, but when dealing with an insurance company lying to them is useless. Usually, insurance companies will do research about a potential customer before granting him coverage. Online quotes can be sorted easily. Although drivers are recommended to not choose a policy just based on its price, drivers can easily sort quotes by insurance price. Using brokerage websites will allow drivers to get quotes from multiple insurers, thus making the comparison faster and easier. For additional info, money-saving tips, and free car insurance quotes, visit https://compare-autoinsurance.Org/ Compare-autoinsurance.Org is an online provider of life, home, health, and auto insurance quotes. This website is unique because it does not simply stick to one kind of insurance provider, but brings the clients the best deals from many different online insurance carriers. In this way, clients have access to offers from multiple carriers all in one place: this website. On this site, customers have access to quotes for insurance plans from various agencies, such as local or nationwide agencies, brand names insurance companies, etc. "Online quotes can easily help drivers obtain better car insurance deals. All they have to do is to complete an online form with accurate and real info, then compare prices", said Russell Rabichev, Marketing Director of Internet Marketing Company. CONTACT: Company Name: Internet Marketing CompanyPerson for contact Name: Gurgu CPhone Number: (818) 359-3898Email: [email protected]: https://compare-autoinsurance.Org/ SOURCE: Compare-autoinsurance.Org View source version on accesswire.Com:https://www.Accesswire.Com/595055/What-Are-The-Main-Benefits-Of-Comparing-Car-Insurance-Quotes-Online View photos



Pictures Credit

ExBUlletin

to request, modification Contact us at Here or [email protected]