Should I stop seeing a teacher because of classroom sexual fantasies? | #teacher | #children | #kids

Photo illustration by Slate. Photo by StockPhotosArt/iStock/Getty Images Plus.

How to Do It is Slate’s sex advice column. Have a question? Send it to Stoya and Rich here. It’s anonymous!

Dear How to Do It,

Given the extended period of physical distancing we’ve been experiencing, I have begun to explore online dating. Particularly, I have been looking for someone who both shares my sexual interests and is a good human being overall for the possibility of a long(er)-term relationship.

While I feel like I might have found this person recently, the fact that they are a high school teacher and have a strong interest in role-playing student-teacher and my own dating history make me wonder if this kink is a healthy outlet for someone in their position or a foreshadowing or indicator of something more sinister. While I do not want to rule out someone for “pre-crime” or “thought crime,” I also want to make sure that our sexual liaisons do not in any way contribute to their venturing (or furthering) into unethical and destructive—not to mention illegal—territory. Given your professional experience and your access to experts, I am eager to hear your input on my situation.

—Teacher’s Pet

Dear Teacher’s Pet,

Those experts you speak of have described sex as a forbidden playground, an arena for exploring ideas that would be impossible to even approach in other venues of life. “Sexual fantasy doesn’t work like other fantasies,” Esther Perel writes in Mating in Captivity. “If people tell me they daydream about a vacation in Tahiti, I believe they want a vacation in Tahiti. … But sexual fantasies don’t reflect reality in the same way. The point about sexual fantasy is that it involves pretending. It’s a simulation, a performance—not the real thing, and not necessarily a desire for the real thing.” Indeed, Justin Lehmiller’s large survey of Americans’ sexual fantasies, the results of which he reported in his book Tell Me What You Want, found that some of his respondents—about 20 percent—said they did not want to act on their favorite fantasy. Sometimes what is attractive about fantasies is the very fact that they are not real.

So it’s conceivable that a teacher engaging in teacher/student fantasy with another consenting adult is manifesting a self-contained catharsis. But the actual fact of the matter is something that is impossible to determine from my vantage point—or yours, for that matter. You could question your teacher on just how close to living their fantasy they have come in the past or would like to in the future. More tactfully, you could attempt to gauge just how important this fantasy is to them—how often they think about it, how central it is to their sex life. Lehmiller argues that when a nonconsensual or risky act becomes one’s preferred fantasy, it’s “an indicator that it’s time to seek help.” How much real estate this fantasy takes up in your potential partner’s head is a crucial bit of data for you to uncover. It won’t be easy, but some felicitous investigating on your part may get you closer to an answer.

There is a chance that this fantasy is just and only that, and there is a chance that you’ve stumbled upon one of the great boogeymen of society, a la the predatory Scout leader or abusive priest who “mentors” boys and girls. One thing you should know is that you are not responsible for the illegal behavior of another—if this person took it upon themselves to harm a child, it would not be your fault for previously having had kinky sex with them. Play and reality are two discrete facets of life. However, it seems like you’ve stumbled upon a red flag for you, and I’m always going to come down on the side of caution when advising a reader where to err. You wouldn’t have written this letter if you didn’t have misgivings. If you go with your gut here, you greatly reduce the probability that you’ll be kicking yourself later over your choices.

Dear How to Do It,

I’m a straight woman who has been dating a man for six years. I have a very high sex drive, but when it comes to actually having sex, I’m very particular. To me, there’s a certain order that things have to go in, and I don’t really like deviating from that. Everything also has to be “perfect.” A giggle or weird sound or a stray thought or my boyfriend making a weird face turns me off completely and I shut down. Yes, I’m this neurotic in other parts of my life, too, but it mostly affects my sex life. The only way I can really relax and enjoy sex is if I’ve had three or four drinks or if I’ve taken a benzo beforehand. I know my boyfriend wants to have sex while I’m sober but I find it very stressful. Once something pulls me “out of the mood,” it’s impossible for me to come back. There’s no history of trauma or anything, and there’s nothing physically wrong. I saw two different sex therapists but didn’t find it particularly helpful (someone telling you to “just relax” is not very relaxing!).

I love my boyfriend and we have a great relationship outside of this. We’re always talking and laughing and having a good time. I almost want to break up with him so he can have actually enjoyable sex with a partner who is normal. How can I learn to relax?

—Ugh

Dear Ugh,

Just relax! Kidding, kidding. I mean, that is ultimately the answer, but it’s nowhere nearly as simple as “just” might imply. I’d liken the challenge here to the quieting of one’s mind that happens during an ideal meditation session—it can take months, if not years, to develop this skill that seems rather straightforward and simple (just stop thinking!) but is an immense challenge given the typical human mind’s tendency to inner monologue and wandering.

That brings me to my first piece of actual advice: If you aren’t meditating, I urge you to try it. Through meditation, you can learn to acknowledge that which might distract you, and eventually push it from the forefront of your cognition. It seems like you could use as much practice managing external stimulus that you can get. Living in the moment need not be an occasional, special event; it can be a lifestyle. You have the power to zero in on what is useful and discard what is not. And it could really help you manage the distraction that is so inhibiting your sex life.

I’m not going to encourage you to continue turning to substances to enhance your sexual enjoyment—for one thing, if you’re having sex several times a week (a possibility, given your very high drive), you may be fostering a dependency on booze and pills. But if the sex and thus substances are occasional and produce no demonstrable side effects, no incapacitation that clouds your judgment or impedes your ability to consent, it does seem like you’ve found a solution, however flawed it is. How much of an issue is this to your boyfriend? Does he merely wish that you’d bang him when sober, or is the fact that you won’t actively distressing him? If it’s the former, at least he’s getting laid, even if it isn’t his ideal scenario. Life only rarely presents us with those.

Dear How to Do It,

I’m a married woman. I would love your take on my issue with sexual desire and sexual orientation. Long story short, I’ve always had low but present desire for my husband—I could almost always enjoy myself once we got going, but I rarely felt eager to have sex with him on my own. Simultaneously, I have had an attraction to and fantasies about women that I only acted on that typical “one time in college.” I never saw it as a problem to stay monogamous within my marriage. But over the past two years, this interest in women has increased, culminating in an intense crush on someone at work that has consumed my thoughts for months.

Now, for the past couple of months, I can’t summon any sexual desire for my husband, and the thought of sex with him is unappealing to me in a way that it never was before. We overall have a good marriage—he is a good dad and hasn’t done anything that would cause me to care for him less. I am wondering if I am transitioning to more of a lesbian identity versus a bisexual identity, or maybe I am just not into my husband right now, and there is a chance it might come back. Open marriage is not an option for my husband—we have discussed all this completely. Yes, I bought and read Come As You Are by Emily Nagoski, and it was amazing, but it didn’t help me figure out this issue. Frankly, the idea of this being all there is for me is depressing, but I have a 10-plus-year marriage, two kids, and a home with a good man, and that is a lot to lose as well. Do you think there is a decent chance my sexual interest in my husband might return to baseline, or am I in a new territory here? Thank you for any advice!

—Crushing

Dear Crushing,

For your situation, I’d actually prescribe another go-to How to Do It book over Come as You Are: the above referenced Mating in Captivity by Esther Perel, which is all about managing waning desire in long-term relationships. However, Perel’s examples of lust resuscitation tend to concern couples who had it in the first place. I think you may frustrate yourself attempting to rekindle what previously existed as a faint glow, but it’s at least worth considering.

Perel’s principles generally involve seeing your partner with new eyes—because eroticism has so much to do with mystery and the unknown, she argues that for many, it is at odds with intimacy. Sexuality is complicated, and it’s not my job to ascribe an identity onto you, but I would like to point out a few things regarding the notion that you are “transitioning” to lesbianism. The first is that what you describe strikes me as being less indicative of a total sexual makeover than simply falling for someone—this is very much how it would look in someone retaining a bisexual identity. You meet someone, you become smitten. When you’re bisexual, that person could be a man or a woman. There is a chance that you will leave your marriage, end up with your crush, and never date a man again, thus effectively living as a lesbian. But who’s to say that you’ll never be attracted to a man again? Why even bother closing that door? It may only yield more confusion. I’d be careful here not to conflate an attraction to a new person with revising your own personhood. At the very least, I think this requires more time to determine.

The second thing is that perhaps you are so consumed with your crush because of the very novelty that Perel describes. Newness is intoxicating. In that respect, what may be drawing you to this person is beyond gender—it has more to do with the striking contrast between how much you don’t know this person and how much you do know your husband.

I hardly know you better than you do, though, and what you feel is valid. I don’t know if your attraction to your husband will return to a baseline; perhaps Perel can help you figure that out. I’m just trying to provide you with some things to consider before you leap into a whole new life at considerable cost.

Dear How to Do It,

I’m straight, male, late 30s. I think it’s fair to say that I’m sex negative. I grew up in a religious household, but went to a liberal school. Somehow, I internalized both extreme religious guilt over sexual desire as well as the view that straight sex is a form of violence against women. I want sex always, but don’t feel comfortable having it and hate myself for wanting it. I’m not asexual, I’m just very sex negative.

Happily, my wife is not particularly interested in sex (as far as I know). We have sex a few times a year, and I do my best to attend to her needs. Our sex life is in no way fulfilling, but in a weird way, we’re actually quite happy together.

My issue is that I don’t want our daughter to grow up this way. I struggle though because I don’t know how to raise a normal kid. She’s reaching the age where she’s beginning to notice and express interest in boys, and I find my instinct is always to try to shut her down. I know this is unhealthy for her and will probably end up destroying our relationship in the long term, but I have no sex-positive experiences to draw inspiration from. How can I encourage her to form positive attitudes toward sex when I don’t have any of my own? Should I just lie?

—Sex Ed

Dear Sex Ed,

There’s a difference between lying and not defining something by your own subjective experience. You know this! In fact, you know a lot. I think most sex-negative people wouldn’t even label themselves as such because, however paradoxically, it takes a certain amount of intellectual curiosity to understand the difference between sex positivity and sex negativity. Sex negativity is generally defined by a lack of that kind of curiosity. You know enough to not want to infect your daughter’s sexuality with the negativity that has permeated yours—and knowing is key here. It may not make you properly sex-positive, but in just a few paragraphs, you’ve exhibited the willingness to be pointed in that direction.

The most crucial thing is to not get in the way of your daughter’s positive associations with sex—even if it means not saying anything or, when asked a question, saying very little. It’s unfortunate (and telling) that you don’t know more about your wife’s interests in sex, but perhaps she can pick up the slack here. Otherwise, educate yourself. The website Sex Positive Families has a host of resources, broken down by subject. Even if you’re essentially reciting a script, the talking points provided may help you in the endeavor to do no harm. Also, consider also buying books for your daughter to read, like Michelle Hope’s The Girls’ Guide to Sex Education and Jennifer Lang’s Consent: The New Rules of Sex Education: Every Teen’s Guide to Healthy Sexual Relationships, which may answer questions that you can or will not.

—Rich

More How to Do It

I’m a straight, divorced woman in my late 50s. My last sexual relationship was two years ago, when my ex-husband and I attempted to rekindle things after having been divorced for six years. It limped along for a while, but he broke it off. When we got back in bed during that time period, I was surprised to find that he had shaved the hair on his genitals—not a very happy surprise, I must add. He was never very hairy, but we’d been married for 19 years, and it wasn’t something I’d expected to find. He was pleased about it, and asked if I’d ever considered shaving my pubes. The answer is a resounding NO! It seems crazy that this should even be an issue, but in recent years it seems to be the trend. If I’m turned off by it, how do I express my feelings?

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/human-interest/2020/10/,”coverstory”https://slate.com/human-interest/2020/10/,”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,”40″:40,”48″:48,”49”:49}];
window.modules[“social-share.client”] = [function(require,module,exports){“use strict”;

var socialPopupWindow = require(9);

DS.controller(“social-share”, [function () {
return function (el) {
return socialPopupWindow.attachEvents(el);
};
}]);
}, {“9”:9}];
window.modules[“newsletter-signup.client”] = [function(require,module,exports){“use strict”;

/* global Sailthru: false, amplitude: false */
try {
Sailthru.init({
customerId: “2273afef3cc821e7a5150b77eab18b36”
});
} catch (e) {
console.error(“error initializing Sailthru – signup may still work!”, e); // keep going! signup actually seems to work even if init fails
}

var slateAmplitude = require(2);

var slatePermutive = require(40);

module.exports = function (el) {
var mailingList = el.dataset.list;
var els = {
email: el.querySelector(“.js-email”),
marketing: el.querySelector(“.js-marketing”),
success: el.querySelector(“.js-success”),
form: el.querySelector(“.js-signup-form”),
validationError: el.querySelector(“.js-validation-error”),
submitError: el.querySelector(“.js-submit-error”),
submitBtn: el.querySelector(“.js-signup-button”)
}; // assume the first link in the wysiwyg field (if any exists) is the link to manage subscriptions

els.managelink = els.success.querySelector(“a”);

function validate(e) {
els.submitBtn.innerHTML = “Signing up…”;

if (els.email.checkValidity() === false) {
  els.validationError.innerHTML = "Enter a valid email address";
  els.validationError.classList.add("newsletter-signup__label--error");
  els.email.classList.add("newsletter-signup__input--error");
  els.email.setAttribute("aria-invalid"https://slate.com/human-interest/2020/10/,"true");
  els.submitBtn.innerHTML = "Sign Up"; // restore the original text from the template
} else {
  submit();
  els.validationError.innerHTML = "Email address";
  els.validationError.classList.remove("newsletter-signup__label--error");
  els.email.classList.remove("newsletter-signup__input--error");
  els.email.setAttribute("aria-invalid"https://slate.com/human-interest/2020/10/,"false");
  els.submitBtn.innerHTML = "Subscribe";
}

e.preventDefault();

}

function onSuccess() {
els.success.hidden = false;
els.submitError.hidden = true;
els.form.hidden = true;
var eventProperties = {
list_name: mailingList
}; // keep track of all newsletters a “user” signs up for

var identify = new amplitude.Identify();
identify.append("Newsletters", mailingList);
amplitude.identify(identify);
slateAmplitude.track("Newsletter: Sign Up", eventProperties);
slatePermutive.track("Newsletter", {
  newsletters: [mailingList]
}); // todo: need a better solution for displaying manage newsletters link

if (els.managelink) {
  var u = new URL(els.managelink.href);
  u.searchParams.set("email", els.email.value);
  els.managelink.href = u.toString();
}

}

function onError() {
els.submitError.hidden = false;
}

function submit() {
// add sailthru lists
var lists = {};
lists[mailingList] = 1;

if (els.marketing.checked) {
  lists["Marketing"] = 1;
} // send to sailthru
// https://getstarted.sailthru.com/developers/api-client/javascript/


Sailthru.integration("userSignUp", {
  email: els.email.value,
  lists: lists,
  source: "in-page-signup-promo",
  onSuccess: onSuccess,
  onError: onError
});

}

els.form.addEventListener(“submit”, validate);
};
}, {“2″:2,”40”:40}];
window.modules[“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[“slate-kicker-promo.client”] = [function(require,module,exports){“use strict”;

DS.controller(“slate-kicker-promo”, [function () {
function Constructor(el) {
var membership = require(1);

if (!membership.isMember()) {
  el.hidden = false;
}

}

return Constructor;
}]);
}, {“1”:1}];
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/human-interest/2020/10/,”C0003″https://slate.com/human-interest/2020/10/,”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(42),
getMorgioniProps = _require.getMorgioniProps,
setMorgioniProps = _require.setMorgioniProps;

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

if (!window.tp) window.tp = [];
var tp = window.tp; // this bit 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/human-interest/2020/10/,”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/human-interest/2020/10/,”type”https://slate.com/human-interest/2020/10/,”premium”https://slate.com/human-interest/2020/10/,”content”]);
// The AAM Zone
// tp.push([“setZone”https://slate.com/human-interest/2020/10/,”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/human-interest/2020/10/,".dev.slate.com"https://slate.com/human-interest/2020/10/,".stage.slate.com"https://slate.com/human-interest/2020/10/,".slate.com"].forEach(function (d) {
    ["splus"https://slate.com/human-interest/2020/10/,"sp_secure_id"https://slate.com/human-interest/2020/10/,"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,”42″:42,”43”:43}];
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(65),
_pickBy = require(69),
_each = require(67),
DS = require(64);

var _once = require(68);

var _throttle = require(66);

var Cookies = require(43);

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

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

function mountDollarSliceComponents() {
// search page for components, and instantiate their controllers
DS.service(‘components’, [‘$document”https://slate.com/human-interest/2020/10/,”$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="<site prefix>/_components/<name>/instances/<id>"
  defaultComponents = $document.querySelectorAll('[data-uri$="/_components/' + name + '"]'); // matches data-uri="<site prefix>/_components/<name>"

  _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:
//

<

div data-uri=”nymag.com/selectall/_components/ad-recirc/instances/article@published” class=”ad-recirc” data-placeholder=”title” data-delay=”3.5″ data-disable-recirc=””>
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();
});
}, {“43″:43,”64″:64,”65″:65,”66″:66,”67″:67,”68″:68,”69”:69}];
window.modules[“ads.legacy”] = [function(require,module,exports){“use strict”;

DS.service(“adService”, [“$window”https://slate.com/human-interest/2020/10/,”headerBidding”https://slate.com/human-interest/2020/10/,”$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/human-interest/2020/10/,”-“);
$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/human-interest/2020/10/,"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/human-interest/2020/10/,”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”),
trustxId = el.getAttribute(“data-trustx-id”),
criteoZoneId = el.getAttribute(“data-criteo-id”),
indexSiteId = el.getAttribute(“data-site-id”),
tripleliftCode = el.getAttribute(“data-tl-code”);

if (!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,
  trustxId: trustxId,
  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/human-interest/2020/10/,"redux");
    this.gptSlot.setTargeting("refresh"https://slate.com/human-interest/2020/10/,"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/human-interest/2020/10/,””);
return pageId;
}
}]);
}, {}];
window.modules[“headerbidding.legacy”] = [function(require,module,exports){“use strict”;

DS.service(“headerBidding”, function () {
var adData,
permutiveData = getPermutiveData(),
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.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.trustx());
bidders.push(this.criteo());
return bidders;

}; // Returns ad unit for amazon publisher service

this.createApsAdUnit = function () {
return {
slotID: adData.id,
slotName: adData.adUnit,
sizes: adData.prebidSizes
};
}; // Returns data for appnexus bid request

this.appnexus = function () {
return {
bidder: “appnexusAst”,
params: {
placementId: adData.appnexusPlacementId,
keywords: {
permutive: permutiveData
}
}
};
}; // Returns data for rubicon bid request

this.rubicon = function () {
return {
bidder: “rubicon”,
params: {
accountId: “13590”,
siteId: “60302”,
zoneId: adData.rubiconZoneId
}
};
}; // Returns data for trustx bid request

this.trustx = function () {
return {
bidder: “trustx”,
params: {
uid: adData.trustxId
}
};
};

this.criteo = function () {
return {
bidder: “criteo”,
params: {
zoneId: adData.criteoZoneId
}
};
}; // Returns data for index bid request

this.index = function (size) {
return {
bidder: “ix”,
params: {
siteId: adData.indexSiteId,
size: size
}
};
};

this.kargo = function () {
var placementId = adData.type === “leaderboard-mobile” ? “_mBJrAZ6WvF” : “_uG77kNNswo”;
return {
bidder: “kargo”,
params: {
placementId: placementId
}
};
};

this.triplelift = function () {
return {
bidder: “triplelift”,
params: {
inventoryCode: adData.tripleliftCode
}
};
};

this.teads = function () {
var teadsData = getTeadsData();
return {
bidder: “teads”,
params: {
pageId: teadsData.pageId,
placementId: teadsData.placementId
}
};
}; // outstream is enabled only for some in-article slots
// slate plus members are excluded

this.outstreamEnabled = function (type) {
var outstreamEnabledTypes = [“mid-article-spot”https://slate.com/human-interest/2020/10/,”mid-article-spot-tablet”https://slate.com/human-interest/2020/10/,”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 getTeadsData() {
var adnodeElement = document.querySelector(“div[data-adnode]”);
var adNode = adnodeElement.getAttribute(“data-adnode”);
var section = adNode.split(“/”)[0]; // 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];

}
});
}, {“1”:1}];
window.modules[“lazyload.legacy”] = [function(require,module,exports){“use strict”;

require(70); // for side effects

var Layzr = require(71);

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

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

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

window.pbjsChunk = function (e, t, n) {
for (var r, o, i, a = 0, c = []; a < e.length; a++) {
o = e[a], d[o] && c.push(d[o][0]), d[o] = 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++) {
  i = f(f.s = n[a]);
}
return i;

};

var n = {},
d = {
313: 0
};

function f(e) {
if (n[e]) return n[e].exports;
var t = n[e] = {
i: e,
l: !1,
exports: {}
};
return u[e].call(t.exports, t, t.exports, f), t.l = !0, t.exports;
}

f.m = u, f.c = n, f.d = function (e, t, n) {
f.o(e, t) || Object.defineProperty(e, t, {
configurable: !1,
enumerable: !0,
get: n
});
}, f.n = function (e) {
var t = e && e.__esModule ? function () {
return e.default;
} : function () {
return e;
};
return f.d(t, “a”, t), t;
}, f.o = function (e, t) {
return Object.prototype.hasOwnProperty.call(e, t);
}, f.p = “”, f.oe = function (e) {
throw (console.error(e), e);
}, f(f.s = 831);
}([function (e, t, n) {
“use strict”;

Object.defineProperty(t, “__esModule”, {
value: !0
}), n.d(t, “internal”, function () {
return k;
}), n.d(t, “bind”, function () {
return N;
}), t.getUniqueIdentifierStr = q, t.generateUUID = function e(t) {
return t ? (t ^ G() >> t / 4).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).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 (t) {
return t && 0 < Object.getOwnPropertyNames(t).length ? ge(t).map(function (e) {
return “”.concat(e, “=”).concat(encodeURIComponent(ye(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 o in n) {
    ae(n, o) && n[o].match(r) && t.push(n[o]);
  }
} else if ("object" === S(e)) {
  var i = e.length;
  if (0 < i) if (2 === i && "number" == typeof e[0] && "number" == typeof e[1]) t.push(F(e));else for (var a = 0; a < i; a++) {
    t.push(F(e[a]));
  }
}

return t;

}, t.parseGPTSingleSizeArray = F, t.parseGPTSingleSizeArrayToRtbSize = function (e) {
if (W(e)) return {
w: e[0],
h: e[1] };
}, t.getWindowTop = L, t.getWindowSelf = z, t.getWindowLocation = V, t.logMessage = H, t.logInfo = J, t.logWarn = K, t.logError = $, 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/human-interest/2020/10/about:blank”, e.style.display = “none”, e;
}, t.getParameterByName = function (e) {
return je(V().search)[e] || “”;
}, t.isA = X, t.isFn = Z, t.isStr = ee, t.isArray = te, t.isNumber = ne, t.isPlainObject = re, t.isBoolean = function (e) {
return X(e, C);
}, t.isEmpty = oe, t.isEmptyStr = function (e) {
return ee(e) && (!e || 0 === e.length);
}, t._each = ie, t.contains = function (e, t) {
if (oe(e)) return !1;
if (Z(e.indexOf)) return -1 !== e.indexOf(t);
var n = e.length;

for (; n--;) {
  if (e[n] === t) return !0;
}

return !1;

}, t._map = function (n, r) {
if (oe(n)) return [];
if (Z(n.map)) return n.map(r);
var o = [];
return ie(n, function (e, t) {
o.push(r(e, t, n));
}), o;
}, t.hasOwn = ae, t.insertElement = ce, t.triggerPixel = ue, t.callBurl = function (e) {
var t = e.source,
n = e.burl;
t === E.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 = se, t.createTrackPixelHtml = function (e) {
if (!e) return “”;
var t = encodeURI(e),
n = ‘

‘;
return n += ‘

‘;
}, t.createTrackPixelIframeHtml = de, t.getValueString = fe, t.uniques = le, t.flatten = pe, t.getBidRequest = function (n, e) {
return n ? (e.some(function (e) {
var t = s()(e.bids, function (t) {
return [“bidId”https://slate.com/human-interest/2020/10/,”adId”https://slate.com/human-interest/2020/10/,”bid_id”].some(function (e) {
return t[e] === n;
});
});
return t && (r = t), t;
}), r) : void 0;
var r;
}, t.getKeys = ge, t.getValue = ye, t.getKeyByValue = 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(pe, []);
}).reduce(pe).filter(le);
}, t.isGptPubadsDefined = be, n.d(t, “getHighestCpm”, function () {
return ve;
}), n.d(t, “getOldestHighestCpmBid”, function () {
return he;
}), n.d(t, “getLatestHighestCpmBid”, function () {
return me;
}), t.shuffle = function (e) {
var t = e.length;

for (; 0 < t;) {
  var n = Math.floor(Math.random() * t),
      r = e[--t];
  e[t] = e[n], e[n] = r;
}

return e;

}, t.adUnitsFilter = function (e, t) {
return f()(e, t && t.adUnitCode);
}, t.deepClone = Ae, 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.timestamp = function () {
return new Date().getTime();
}, t.hasDeviceAccess = function () {
return !1 !== r.b.getConfig(“deviceAccess”);
}, t.checkCookieSupport = Ee, t.delayExecution = function (e, t) {
if (t < 1) throw new Error(“numRequiredCalls must be a positive number. Got “.concat(t));
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), e;
}, {});
}, t.getDefinedParams = function (n, e) {
return e.filter(function (e) {
return n[e];
}).reduce(function (e, t) {
return m(e, h({}, t, n[t]));
}, {});
}, t.isValidMediaTypes = function (e) {
var t = [“banner”https://slate.com/human-interest/2020/10/,”native”https://slate.com/human-interest/2020/10/,”video”];
if (!Object.keys(e).every(function (e) {
return f()(t, e);
})) return !1;
if (e.video && e.video.context) return f()([“instream”https://slate.com/human-interest/2020/10/,”outstream”https://slate.com/human-interest/2020/10/,”adpod”], e.video.context);
return !0;
}, t.getBidderRequest = function (e, t, n) {
return s()(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(pe, []).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 (t) {
return function (e) {
return Oe(t, e);
};
}, t.isSlotMatchingAdUnitCode = Ie, t.getGptSlotInfoForAdUnitCode = function (e) {
var t;
be() && (t = s()(window.googletag.pubads().getSlots(), Ie(e)));
if (t) return {
gptSlot: t.getAdUnitPath(),
divId: t.getSlotElementId()
};
return {};
}, t.unsupportedBidderMessage = function (e, t) {
var n = Object.keys(e.mediaTypes || {
banner: “banner”
}).join(“https://slate.com/human-interest/2020/10/,”);
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] && (e[t] = n[t]), e;
}, {});
}, t.pick = function (a, c) {
return “object” === S(a) ? c.reduce(function (e, t, n) {
if (“function” == typeof t) return e;
var r = t,
o = t.match(/^(.+?)sass(.+?)$/i);
o && (t = o[1], r = o[2]);
var i = a[t];
return “function” == typeof c[n + 1] && (i = c[n + 1](i, e)), void 0 !== i && (e[r] = i), e;
}, {}) : {};
}, t.transformBidderParamKeywords = function (e) {
var r = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : “keywords”,
o = [];
return ie(e, function (e, t) {
if (te(e)) {
var n = [];
ie(e, function (e) {
!(e = fe(r + “.” + t, e)) && “” !== e || n.push(e);
}), e = n;
} else {
if (!ee(e = fe(r + “.” + t, e))) return;
e = [e];
}

  o.push({
    key: t,
    value: e
  });
}), o;

}, t.convertTypes = function (r, o) {
return Object.keys(r).forEach(function (e) {
var t, n;
o[e] && (Z(r[e]) ? o[e] = re : o[e] = (t = r[e], n = o[e], “string” === t ? n && n.toString() : “number” === t ? Number(n) : n), isNaN(o[e]) && delete o.key);
}), o;
}, t.isArrayOfNums = function (e, t) {
return te(e) && (!t || e.length === t) && e.every(Te);
}, t.fill = function (e, t) {
for (var n = [], r = 0; r < t; r++) {
var o = re(e) ? Ae(e) : e;
n.push(o);
}

return n;

}, t.chunk = function (e, t) {
for (var n = [], r = 0; r < Math.ceil(e.length / t); r++) {
var o = r * t,
i = o + t;
n.push(e.slice(o, i));
}

return n;

}, t.getMinValueFromArray = function (e) {
return Math.min.apply(Math, y(e));
}, t.getMaxValueFromArray = function (e) {
return Math.max.apply(Math, y(e));
}, t.compareOn = function (n) {
return function (e, t) {
return e[n] < t[n] ? 1 : e[n] > t[n] ? -1 : 0;
};
}, t.parseQS = je, t.formatQS = we, 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 = Ce, t.mergeDeep = xe;
var r = n(3),
o = n(167),
i = n.n(o),
a = n(168),
c = n.n(a),
u = n(11),
s = n.n(u),
d = n(12),
f = n.n(d),
l = n(182);
n.d(t, “deepAccess”, function () {
return l.a;
});
var p = n(183);

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

  try {
    for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0) {
      ;
    }
  } catch (e) {
    o = !0, i = e;
  } finally {
    try {
      r || null == c.return || c.return();
    } finally {
      if (o) throw i;
    }
  }

  return n;
}(e, t) || b(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 y(e) {
return function (e) {
if (Array.isArray(e)) return v(e);
}(e) || function (e) {
if (“undefined” != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e);
}(e) || b(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 b(e, t) {
if (e) {
if (“string” == typeof e) return v(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) ? v(e, t) : void 0;
}
}

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

for (var n = 0, r = new Array(t); n < t; n++) {
  r[n] = e[n];
}

return r;

}

function h(e, t, n) {
return t in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}

function m() {
return (m = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];

    for (var r in n) {
      Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
  }

  return e;
}).apply(this, arguments);

}

function S(e) {
return (S = “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 p.a;
});

var A,
E = n(5),
O = “Array”,
I = “String”,
T = “Function”,
j = “Number”,
w = “Object”,
C = “Boolean”,
x = Object.prototype.toString,
U = Boolean(window.console),
_ = Boolean(U && window.console.log),
B = Boolean(U && window.console.info),
R = Boolean(U && window.console.warn),
P = Boolean(U && window.console.error),
k = {
checkCookieSupport: Ee,
createTrackPixelIframeHtml: de,
getWindowSelf: z,
getWindowTop: L,
getWindowLocation: V,
insertUserSyncIframe: se,
insertElement: ce,
isFn: Z,
triggerPixel: ue,
logError: $,
logWarn: K,
logMessage: H,
logInfo: J,
parseQS: je,
formatQS: we,
deepEqual: Ce
},
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)));
};
},
M = (A = 0, function () {
return ++A;
});

function q() {
return M() + Math.random().toString(16).substr(2);
}

function G() {
return window && window.crypto && window.crypto.getRandomValues ? crypto.getRandomValues(new Uint8Array(1))[0] % 16 : 16 * Math.random();
}

function F(e) {
if (W(e)) return e[0] + “x” + e[1];
}

function W(e) {
return te(e) && 2 === e.length && !isNaN(e[0]) && !isNaN(e[1]);
}

function L() {
return window.top;
}

function z() {
return window.self;
}

function V() {
return window.location;
}

function H() {
Q() && _ && console.log.apply(console, Y(arguments, “MESSAGE:”));
}

function J() {
Q() && B && console.info.apply(console, Y(arguments, “INFO:”));
}

function K() {
Q() && R && console.warn.apply(console, Y(arguments, “WARNING:”));
}

function $() {
Q() && P && console.error.apply(console, Y(arguments, “ERROR:”));
}

function Y(e, t) {
return e = [].slice.call(e), t && e.unshift(t), e.unshift(“display: inline-block; color: #fff; background: #3b88c3; padding: 1px 4px; border-radius: 3px;”), e.unshift(“%cPrebid”), e;
}

function Q() {
return !!r.b.getConfig(“debug”);
}

function X(e, t) {
return x.call(e) === “[object ” + t + “]”;
}

function Z(e) {
return X(e, T);
}

function ee(e) {
return X(e, I);
}

function te(e) {
return X(e, O);
}

function ne(e) {
return X(e, j);
}

function re(e) {
return X(e, w);
}

function oe(e) {
if (!e) return !0;
if (te(e) || ee(e)) return !(0 < e.length);

for (var t in e) {
  if (hasOwnProperty.call(e, t)) return !1;
}

return !0;

}

function ie(e, t) {
if (!oe(e)) {
if (Z(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 ae(e, t) {
return e.hasOwnProperty ? e.hasOwnProperty(t) : void 0 !== e[t] && e.constructor.prototype[t] !== e[t];
}

function ce(e, t, n, r) {
var o;
t = t || document, o = n ? t.getElementsByTagName(n) : t.getElementsByTagName(“head”);

try {
  if ((o = o.length ? o : t.getElementsByTagName("body")).length) {
    o = o[0];
    var i = r ? null : o.firstChild;
    return o.insertBefore(e, i);
  }
} catch (e) {}

}

function ue(e, t) {
var n = new Image();
t && k.isFn(t) && (n.addEventListener(“load”, t), n.addEventListener(“error”, t)), n.src = e;
}

function se(e, t) {
var n = k.createTrackPixelIframeHtml(e, !1, “allow-scripts allow-same-origin”),
r = document.createElement(“div”);
r.innerHTML = n;
var o = r.firstChild;
t && k.isFn(t) && (o.addEventListener(“load”, t), o.addEventListener(“error”, t)), k.insertElement(o, document, “html”, !0);
}

function de(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, ‘”‘), “<iframe “.concat(t, ‘ id=”‘).concat(q(), ‘”n frameborder=”0″n allowtransparency=”true”n marginheight=”0″ marginwidth=”0″n width=”0″ hspace=”0″ vspace=”0” height=”0″n style=”height:0px;width:0px;display:none;”n scrolling=”no”n src=”‘).concat(e, ‘”>n ‘)) : “”;
}

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

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

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

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

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

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

var ve = Se(“timeToRespond”, function (e, t) {
return t < e;
}),
he = Se(“responseTimestamp”, function (e, t) {
return t < e;
}),
me = Se(“responseTimestamp”, function (e, t) {
return e < t;
});

function Se(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 Ae(e) {
return i()(e);
}

function Ee() {
if (window.navigator.cookieEnabled || document.cookie.length) return !0;
}

var Oe = function Oe(e, t) {
return e.getAdUnitPath() === t || e.getSlotElementId() === t;
};

function Ie(t) {
return function (e) {
return Oe(e, t);
};
}

function Te(e) {
return Number.isInteger ? Number.isInteger(e) : “number” == typeof e && isFinite(e) && Math.floor(e) === e;
}

function je(e) {
return e ? e.replace(/^?/, “”).split(“&”).reduce(function (e, t) {
var n = g(t.split(“=”), 2),
r = n[0],
o = n[1];
return /[]$/.test(r) ? (e[r = r.replace(“[]”https://slate.com/human-interest/2020/10/,””)] = e[r] || [], e[r].push(o)) : e[r] = o || “”, e;
}, {}) : {};
}

function we(e) {
return Object.keys(e).map(function (t) {
return Array.isArray(e[t]) ? e[t].map(function (e) {
return “”.concat(t, “[]=”).concat(e);
}).join(“&”) : “”.concat(t, “=”).concat(e[t]);
}).join(“&”);
}

function Ce(e, t) {
return c()(e, t);
}

function xe(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 o = n.shift();
if (re(e) && re(o)) for (var i in o) {
  re(o[i]) ? (e[i] || m(e, h({}, i, {})), xe(e[i], o[i])) : te(o[i]) && e[i] ? te(e[i]) && (e[i] = e[i].concat(o[i])) : m(e, h({}, i, o[i]));
}
return xe.apply(void 0, [e].concat(n));

}
}, function (e, t, n) {
“use strict”;

Object.defineProperty(t, “__esModule”, {
value: !0
}), n.d(t, “storage”, function () {
return T;
}), t.registerBidder = function (t) {
var n = Array.isArray(t.supportedMediaTypes) ? {
supportedMediaTypes: t.supportedMediaTypes
} : void 0;

function r(e) {
  var t = C(e);
  c.default.registerBidAdapter(t, e.code, n);
}

r(t), Array.isArray(t.aliases) && t.aliases.forEach(function (e) {
  c.default.aliasRegistry[e] = t.code, r(I({}, t, {
    code: e
  }));
});

}, t.newBidder = C, n.d(t, “registerSyncInner”, function () {
return x;
}), t.preloadBidderMappingFile = U, t.getIabSubCategory = function (t, e) {
var n = c.default.getBidAdapter(t);

if (n.getSpec().getMappingFileInfo) {
  var r = n.getSpec().getMappingFileInfo(),
      o = r.localStorageKey ? r.localStorageKey : n.getBidderCode(),
      i = T.getDataFromLocalStorage(o);

  if (i) {
    try {
      i = JSON.parse(i);
    } catch (e) {
      Object(m.logError)("Failed to parse ".concat(t, " mapping data stored in local storage"));
    }

    return i.mapping[e] ? i.mapping[e] : null;
  }
}

}, t.isValid = _;
var r = n(100),
c = n(7),
u = n(3),
b = n(32),
s = n(44),
i = n(35),
a = n(38),
o = n(5),
v = n.n(o),
d = n(8),
h = n.n(d),
f = n(12),
l = n.n(f),
p = n(4),
m = n(0),
g = n(2),
y = n(13),
S = n(9);

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

  try {
    for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0) {
      ;
    }
  } catch (e) {
    o = !0, i = e;
  } finally {
    try {
      r || null == c.return || c.return();
    } finally {
      if (o) throw i;
    }
  }

  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(t); n < t; n++) {
  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 I() {
return (I = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];

    for (var r in n) {
      Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
  }

  return e;
}).apply(this, arguments);

}

var T = Object(S.a)(“bidderFactory”),
j = [“requestId”https://slate.com/human-interest/2020/10/,”cpm”https://slate.com/human-interest/2020/10/,”ttl”https://slate.com/human-interest/2020/10/,”creativeId”https://slate.com/human-interest/2020/10/,”netRevenue”https://slate.com/human-interest/2020/10/,”currency”],
w = 1;

function C(p) {
return I(new r.a(p.code), {
getSpec: function getSpec() {
return Object.freeze(p);
},
registerSyncs: g,
callBids: function callBids(i, a, e, n, c, r) {
var u, s, t, d, o, f;

    function l() {
      e(), h.a.emit(v.a.EVENTS.BIDDER_DONE, i), g(s, i.gdprConsent, i.uspConsent);
    }

    Array.isArray(i.bids) && (u = {}, s = [], 0 !== (t = i.bids.filter(y)).length ? (d = {}, t.forEach(function (e) {
      (d[e.bidId] = e).adUnitCode || (e.adUnitCode = e.placementCode);
    }), (o = p.buildRequests(t, i)) && 0 !== o.length ? (Array.isArray(o) || (o = [o]), f = Object(m.delayExecution)(r(l), o.length), o.forEach(function (o) {
      switch (o.method) {
        case "GET":
          n("".concat(o.url).concat(function (e) {
            if (e) return "?".concat("object" === O(e) ? Object(m.parseQueryStringParameters)(e) : e);
            return "";
          }(o.data)), {
            success: r(e),
            error: t
          }, void 0, I({
            method: "GET",
            withCredentials: !0
          }, o.options));
          break;

        case "POST":
          n(o.url, {
            success: r(e),
            error: t
          }, "string" == typeof o.data ? o.data : JSON.stringify(o.data), I({
            method: "POST",
            contentType: "text/plain",
            withCredentials: !0
          }, o.options));
          break;

        default:
          Object(m.logWarn)("Skipping invalid request from ".concat(p.code, ". Request type ").concat(o.type, " must be GET or POST")), f();
      }

      function e(e, t) {
        c(p.code);

        try {
          e = JSON.parse(e);
        } catch (e) {}

        var n;
        e = {
          body: e,
          headers: {
            get: t.getResponseHeader.bind(t)
          }
        }, s.push(e);

        try {
          n = p.interpretResponse(e, o);
        } catch (e) {
          return Object(m.logError)("Bidder ".concat(p.code, " failed to interpret the server's response. Continuing without bids"), null, e), void f();
        }

        function r(e) {
          var t,
              n,
              r,
              o = d[e.requestId];
          o ? (e.originalCpm = e.cpm, e.originalCurrency = e.currency, t = I(Object(b.a)(v.a.STATUS.GOOD, o), e), n = o.adUnitCode, r = t, u[n] = !0, _(n, r, [i]) && a(n, r)) : Object(m.logWarn)("Bidder ".concat(p.code, " made bid for unknown request ID: ").concat(e.requestId, ". Ignoring."));
        }

        n && (Object(m.isArray)(n) ? n.forEach(r) : r(n)), f(n);
      }

      function t(e) {
        c(p.code), Object(m.logError)("Server call for ".concat(p.code, " failed: ").concat(e, ". Continuing without bids.")), f();
      }
    })) : l()) : l());
  }
});

function g(e, t, n) {
  x(p, e, t, n);
}

function y(e) {
  return !!p.isBidRequestValid(e) || (Object(m.logWarn)("Invalid bid sent to bidder ".concat(p.code, ": ").concat(JSON.stringify(e))), !1);
}

}

var x = Object(y.b)(“async”, function (t, e, n, r) {
var o,
i,
a = u.b.getConfig(“userSync.aliasSyncEnabled”);
!t.getUserSyncs || !a && c.default.aliasRegistry[t.code] || (o = u.b.getConfig(“userSync.filterSettings”), (i = t.getUserSyncs({
iframeEnabled: !(!o || !o.iframe && !o.all),
pixelEnabled: !(!o || !o.image && !o.all)
}, e, n, r)) && (Array.isArray(i) || (i = [i]), i.forEach(function (e) {
s.a.registerSync(e.type, t.code, e.url);
})));
}, “registerSyncs”);

function U(e, t) {
if (!u.b.getConfig(“adpod.brandCategoryExclusion”)) return e.call(this, t);
t.filter(function (e) {
return Object(m.deepAccess)(e, “mediaTypes.video.context”) === g.a;
}).map(function (e) {
return e.bids.map(function (e) {
return e.bidder;
});
}).reduce(m.flatten, []).filter(m.uniques).forEach(function (n) {
var e = c.default.getBidAdapter(n);

  if (e.getSpec().getMappingFileInfo) {
    var t = e.getSpec().getMappingFileInfo(),
        r = t.refreshInDays ? t.refreshInDays : w,
        o = t.localStorageKey ? t.localStorageKey : e.getSpec().code,
        i = T.getDataFromLocalStorage(o);

    try {
      (!(i = i ? JSON.parse(i) : void 0) || Object(m.timestamp)() > i.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
            };
            T.setDataInLocalStorage(o, JSON.stringify(t));
          } 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 _(e, t, n) {
function r(e) {
return “Invalid bid from “.concat(t.bidderCode, “. Ignoring bid: “).concat(e);
}

return e ? t ? (o = Object.keys(t), j.every(function (e) {
  return l()(o, e) && !l()([void 0, null], t[e]);
}) ? "native" !== t.mediaType || Object(i.f)(t, n) ? "video" !== t.mediaType || Object(a.d)(t, n) ? !("banner" === t.mediaType && !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),
      o = r && r.bids && r.bids[0] && r.bids[0].sizes,
      i = Object(m.parseSizesInput)(o);

  if (1 === i.length) {
    var a = A(i[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 o;

}

Object(y.a)(“checkAdUnitSetup”).before(U);
}, function (e, t, n) {
“use strict”;

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

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

function f() {
return (f = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];

    for (var r in n) {
      Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
  }

  return e;
}).apply(this, arguments);

}

var l = n(92),
p = n(0),
g = n(5),
y = “TRUE” === p.getParameterByName(g.DEBUG_MODE).toUpperCase(),
b = window.location.origin,
v = “random”,
h = {};
h[v] = !0, h.fixed = !0;
var m = v,
S = {
LOW: “low”,
MEDIUM: “medium”,
HIGH: “high”,
AUTO: “auto”,
DENSE: “dense”,
CUSTOM: “custom”
};
var A,
E,
O,
I,
T,
j = (I = [], T = null, w(), {
getCurrentBidder: function getCurrentBidder() {
return T;
},
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(C(), e) : C();
}

  return function (e, t) {
    var n = t;

    if ("string" != typeof e && (n = e, e = "*"), "function" == typeof n) {
      var r = {
        topic: e,
        callback: n
      };
      return I.push(r), function () {
        I.splice(I.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(t) && (t = f({}, A[e], t)), r[e] = E[e] = t;
  }), x(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: w,
runWithBidder: U,
callbackWithBidder: function callbackWithBidder(i) {
  return function (o) {
    return function () {
      if ("function" == typeof o) {
        for (var e, t = arguments.length, n = new Array(t), r = 0; r < t; r++) {
          n[r] = arguments[r];
        }

        return U(i, (e = p.bind).call.apply(e, [o, 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(t) ? O[n][e] = f({}, O[n][e] || {}, t) : O[n][e] = t;
      });
    });
  } catch (e) {
    p.logError(e);
  }
},
getBidderConfig: function getBidderConfig() {
  return O;
}

});

function w() {
A = {};
var n = {
_debug: y,

  get debug() {
    return this._debug;
  },

  set debug(e) {
    this._debug = e;
  },

  _bidderTimeout: 3e3,

  get bidderTimeout() {
    return this._bidderTimeout;
  },

  set bidderTimeout(e) {
    this._bidderTimeout = e;
  },

  _publisherDomain: b,

  get publisherDomain() {
    return this._publisherDomain;
  },

  set publisherDomain(e) {
    this._publisherDomain = e;
  },

  _priceGranularity: S.MEDIUM,

  set priceGranularity(e) {
    i(e) && ("string" == typeof e ? this._priceGranularity = o(e) ? e : S.MEDIUM : p.isPlainObject(e) && (this._customPriceBucket = e, this._priceGranularity = S.CUSTOM, p.logMessage("Using custom price granularity")));
  },

  get priceGranularity() {
    return this._priceGranularity;
  },

  _customPriceBucket: {},

  get customPriceBucket() {
    return this._customPriceBucket;
  },

  _mediaTypePriceGranularity: {},

  get mediaTypePriceGranularity() {
    return this._mediaTypePriceGranularity;
  },

  set mediaTypePriceGranularity(n) {
    var r = this;
    this._mediaTypePriceGranularity = Object.keys(n).reduce(function (e, t) {
      return i(n[t]) ? "string" == typeof n ? e[t] = o(n[t]) ? n[t] : r._priceGranularity : p.isPlainObject(n) && (e[t] = n[t], p.logMessage("Using custom price granularity for ".concat(t))) : p.logWarn("Invalid price granularity for media type: ".concat(t)), e;
    }, {});
  },

  _sendAllBids: !0,

  get 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 o(t) {
  return a()(Object.keys(S), function (e) {
    return t === S[e];
  });
}

function i(e) {
  if (e) {
    if ("string" == typeof e) o(e) || p.logWarn("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if (p.isPlainObject(e) && !Object(r.b)(e)) return void p.logError("Invalid custom price value passed to `setPriceGranularity()`");
    return 1;
  }

  p.logError("Prebid Error: no value passed to `setPriceGranularity()`");
}

E && x(Object.keys(E).reduce(function (e, t) {
  return E[t] !== n[t] && (e[t] = n[t] || {}), e;
}, {})), E = n, O = {};

}

function C() {
if (T && O && p.isPlainObject(O[T])) {
var n = O[T],
e = new s.a(Object.keys(E).concat(Object.keys(n)));
return l(e).reduce(function (e, t) {
return void 0 === n[t] ? e[t] = E[t] : void 0 !== E[t] && p.isPlainObject(n[t]) ? e[t] = Object(d.mergeDeep)({}, E[t], n[t]) : e[t] = n[t], e;
}, {});
}

return f({}, E);

}

function x(o) {
var t = Object.keys(o);
I.filter(function (e) {
return c()(t, e.topic);
}).forEach(function (e) {
var t, n, r;
e.callback((t = {}, n = e.topic, r = o[e.topic], n in t ? Object.defineProperty(t, n, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}) : t[n] = r, t));
}), I.filter(function (e) {
return “*” === e.topic;
}).forEach(function (e) {
return e.callback(o);
});
}

function U(e, t) {
T = e;

try {
  return t();
} finally {
  T = null;
}

}
}, function (e, t, n) {
“use strict”;

n.d(t, “a”, function () {
return r;
}), t.b = o;
var l = n(3);

function p() {
return (p = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];

    for (var r in n) {
      Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
  }

  return e;
}).apply(this, arguments);

}

function 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 y = n(0),
b = 4,
r = o();

function o() {
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 o,
        i = r.method || (n ? "POST" : "GET"),
        a = document.createElement("a");
    a.href = e;
    var c,
        u = "object" === g(t) && null !== t ? t : {
      success: function success() {
        y.logMessage("xhr success");
      },
      error: function error(e) {
        y.logError("xhr error", null, e);
      }
    };
    "function" == typeof t && (u.success = t), (o = new window.XMLHttpRequest()).onreadystatechange = function () {
      var e;
      o.readyState === b && ("function" == typeof f && f(a.origin), 200 <= (e = o.status) && e < 300 || 304 === e ? u.success(o.responseText, o) : u.error(o.statusText, o));
    }, l.b.getConfig("disableAjaxTimeout") || (o.ontimeout = function () {
      y.logError("  xhr timeout after ", o.timeout, "ms");
    }), "GET" === i && n && (p((c = y.parseUrl(e, r)).search, n), e = y.buildUrl(c)), o.open(i, e, !0), l.b.getConfig("disableAjaxTimeout") || (o.timeout = s), r.withCredentials && (o.withCredentials = !0), y._each(r.customHeaders, function (e, t) {
      o.setRequestHeader(t, e);
    }), r.preflight && o.setRequestHeader("X-Requested-With"https://slate.com/human-interest/2020/10/,"XMLHttpRequest"), o.setRequestHeader("Content-Type", r.contentType || "text/plain"), "function" == typeof d && d(a.origin), "POST" === i && n ? o.send(n) : o.send();
  } catch (e) {
    y.logError("xhr construction", e);
  }
};

}
}, function (e, t) {
e.exports = {
JSON_MAPPING: {
PL_CODE: “code”,
PL_SIZE: “sizes”,
PL_BIDS: “bids”,
BD_BIDDER: “bidder”,
BD_ID: “paramsd”,
BD_PL_ID: “placementId”,
ADSERVER_TARGETING: “adserverTargeting”,
BD_SETTING_STANDARD: “standard”
},
DEBUG_MODE: “pbjs_debug”,
STATUS: {
GOOD: 1,
NO_BID: 2
},
CB: {
TYPE: {
ALL_BIDS_BACK: “allRequestedBidsBack”,
AD_UNIT_BIDS_BACK: “adUnitBidsBack”,
BID_WON: “bidWon”,
REQUEST_BIDS: “requestBids”
}
},
EVENTS: {
AUCTION_INIT: “auctionInit”,
AUCTION_END: “auctionEnd”,
BID_ADJUSTMENT: “bidAdjustment”,
BID_TIMEOUT: “bidTimeout”,
BID_REQUESTED: “bidRequested”,
BID_RESPONSE: “bidResponse”,
NO_BID: “noBid”,
BID_WON: “bidWon”,
BIDDER_DONE: “bidderDone”,
SET_TARGETING: “setTargeting”,
BEFORE_REQUEST_BIDS: “beforeRequestBids”,
REQUEST_BIDS: “requestBids”,
ADD_AD_UNITS: “addAdUnits”,
AD_RENDER_FAILED: “adRenderFailed”
},
AD_RENDER_FAILED_REASON: {
PREVENT_WRITING_ON_MAIN_DOCUMENT: “preventWritingOnMainDocuemnt”,
NO_AD: “noAd”,
EXCEPTION: “exception”,
CANNOT_FIND_AD: “cannotFindAd”,
MISSING_DOC_OR_ADID: “missingDocOrAdid”
},
EVENT_ID_PATHS: {
bidWon: “adUnitCode”
},
GRANULARITY_OPTIONS: {
LOW: “low”,
MEDIUM: “medium”,
HIGH: “high”,
AUTO: “auto”,
DENSE: “dense”,
CUSTOM: “custom”
},
TARGETING_KEYS: {
BIDDER: “hb_bidder”,
AD_ID: “hb_adid”,
PRICE_BUCKET: “hb_pb”,
SIZE: “hb_size”,
DEAL: “hb_deal”,
SOURCE: “hb_source”,
FORMAT: “hb_format”,
UUID: “hb_uuid”,
CACHE_ID: “hb_cache_id”,
CACHE_HOST: “hb_cache_host”
},
NATIVE_KEYS: {
title: “hb_native_title”,
body: “hb_native_body”,
body2: “hb_native_body2”,
privacyLink: “hb_native_privacy”,
privacyIcon: “hb_native_privicon”,
sponsoredBy: “hb_native_brand”,
image: “hb_native_image”,
icon: “hb_native_icon”,
clickUrl: “hb_native_linkurl”,
displayUrl: “hb_native_displayurl”,
cta: “hb_native_cta”,
rating: “hb_native_rating”,
address: “hb_native_address”,
downloads: “hb_native_downloads”,
likes: “hb_native_likes”,
phone: “hb_native_phone”,
price: “hb_native_price”,
salePrice: “hb_native_saleprice”
},
S2S: {
SRC: “s2s”,
DEFAULT_ENDPOINT: “https://prebid.adnxs.com/pbs/v1/openrtb2/auction”,
SYNCED_BIDDERS_KEY: “pbjsSyncs”
},
BID_STATUS: {
BID_TARGETING_SET: “targetingSet”,
RENDERED: “rendered”,
BID_REJECTED: “bidRejected”
}
};
},, function (e, t, n) {
“use strict”;

Object.defineProperty(t, “__esModule”, {
value: !0
}), n.d(t, “gdprDataHandler”, function () {
return B;
}), n.d(t, “uspDataHandler”, function () {
return R;
}), t.setS2STestingModule = function (e) {
T = e;
};
var S = n(0),
p = n(101),
g = n(35),
d = n(1),
h = n(4),
A = n(3),
r = n(13),
o = n(12),
E = n.n(o),
i = n(11),
O = n.n(i),
y = n(68),
I = n(30);

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

  try {
    for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0) {
      ;
    }
  } catch (e) {
    o = !0, i = e;
  } finally {
    try {
      r || null == c.return || c.return();
    } finally {
      if (o) throw i;
    }
  }

  return n;
}(e, t) || function (e, t) {
  if (!e) return;
  if ("string" == typeof e) return a(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 a(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 a(e, t) {
(null == t || t > e.length) && (t = e.length);

for (var n = 0, r = new Array(t); n < t; n++) {
  r[n] = e[n];
}

return r;

}

function b() {
return (b = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];

    for (var r in n) {
      Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
  }

  return e;
}).apply(this, arguments);

}

var T,
j = n(0),
w = n(5),
C = n(8),
f = {},
x = f.bidderRegistry = {},
l = f.aliasRegistry = {},
U = {};
A.b.getConfig(“s2sConfig”, function (e) {
U = e.s2sConfig;
});
var c = {};

var _ = Object(r.b)(“sync”, function (e) {
var o = e.bidderCode,
s = e.auctionId,
d = e.bidderRequestId,
t = e.adUnits,
f = e.labels,
l = e.src;
return t.reduce(function (e, c) {
var t = Object(p.b)(Object(p.a)(c, f), c.mediaTypes, c.sizes),
n = t.active,
u = t.mediaTypes,
r = t.filterResults;
return n ? r && j.logInfo(‘Size mapping filtered adUnit “‘.concat(c.code, ‘” banner sizes from ‘), r.before, “to “, r.after) : j.logInfo(‘Size mapping disabled adUnit “‘.concat(c.code, ‘”‘)), n && e.push(c.bids.filter(function (e) {
return e.bidder === o;
}).reduce(function (e, t) {
var n = c.nativeParams || j.deepAccess(c, “mediaTypes.native”);
n && (t = b({}, t, {
nativeParams: Object(g.g)(n)
})), t = b({}, t, Object(S.getDefinedParams)(c, [“fpd”https://slate.com/human-interest/2020/10/,”mediaType”https://slate.com/human-interest/2020/10/,”renderer”https://slate.com/human-interest/2020/10/,”storedAuctionResponse”]));
var r = Object(p.b)(Object(p.a)(t, f), u),
o = r.active,
i = r.mediaTypes,
a = r.filterResults;
return o ? a && j.logInfo(‘Size mapping filtered adUnit “‘.concat(c.code, ‘” bidder “‘).concat(t.bidder, ‘” banner sizes from ‘), a.before, “to “, a.after) : j.logInfo(‘Size mapping deactivated adUnit “‘.concat(c.code, ‘” bidder “‘).concat(t.bidder, ‘”‘)), j.isValidMediaTypes(i) ? t = b({}, t, {
mediaTypes: i
}) : j.logError(“mediaTypes is not correctly configured for adunit “.concat(c.code)), o && e.push(b({}, t, {
adUnitCode: c.code,
transactionId: c.transactionId,
sizes: j.deepAccess(i, “banner.sizes”) || j.deepAccess(i, “video.playerSize”) || [],
bidId: t.bid_id || j.getUniqueIdentifierStr(),
bidderRequestId: d,
auctionId: s,
src: l,
bidRequestsCount: y.a.getRequestsCounter(c.code),
bidderRequestsCount: y.a.getBidderRequestsCounter(c.code, t.bidder),
bidderWinsCount: y.a.getBidderWinsCounter(c.code, t.bidder)
})), e;
}, [])), e;
}, []).reduce(S.flatten, []).filter(function (e) {
return “” !== e;
});
}, “getBids”);

var B = {
consentData: null,
setConsentData: function setConsentData(e) {
B.consentData = e;
},
getConsentData: function getConsentData() {
return B.consentData;
}
},
R = {
consentData: null,
setConsentData: function setConsentData(e) {
R.consentData = e;
},
getConsentData: function getConsentData() {
return R.consentData;
}
};

function P() {
return U && U.enabled && U.testing && T;
}

function u(t, n, e) {
try {
var r = x[t].getSpec();
r && r[n] && “function” == typeof r[n] && (j.logInfo(“Invoking “.concat(t, “.”).concat(n)), A.b.runWithBidder(t, S.bind.call(r[n], r, e)));
} catch (e) {
j.logWarn(“Error calling “.concat(n, ” of “).concat(t));
}
}

f.makeBidRequests = Object(r.b)(“sync”, function (e, o, i, a, c) {
C.emit(w.EVENTS.BEFORE_REQUEST_BIDS, e);
var u = [],
t = Object(S.getBidderCodes)(e);
A.b.getConfig(“bidderSequence”) === A.a && (t = Object(S.shuffle)(t));
var n,
r,
s,
d,
f,
l,
p,
g = Object(I.b)(),
y = t,
b = [];
U.enabled && (P() && (b = T.getSourceBidderMap(e)[T.CLIENT]), n = U.bidders, y = t.filter(function (e) {
return !E()(n, e) || E()(b, e);
}), Boolean(P() && U.testServerOnly) && (p = e, Boolean(O()(p, function (e) {
return O()(e.bids, function (e) {
return (e.bidSource || U.bidderControl && U.bidderControl[e.bidder]) && e.finalSource === T.SERVER;
});
}))) && (y.length = 0), d = e, f = U.bidders, (l = j.deepClone(d)).forEach(function (e) {
e.bids = e.bids.filter(function (e) {
return E()(f, e.bidder) && (!P() || e.finalSource !== T.CLIENT);
}).map(function (e) {
return e.bid_id = j.getUniqueIdentifierStr(), e;
});
}), r = l = l.filter(function (e) {
return 0 !== e.bids.length;
}), s = j.generateUUID(), n.forEach(function (e) {
var t = j.getUniqueIdentifierStr(),
n = {
bidderCode: e,
auctionId: i,
bidderRequestId: t,
tid: s,
bids: _({
bidderCode: e,
auctionId: i,
bidderRequestId: t,
adUnits: j.deepClone(r),
labels: c,
src: w.S2S.SRC
}),
auctionStart: o,
timeout: U.timeout,
src: w.S2S.SRC,
refererInfo: g
};
0 !== n.bids.length && u.push(n);
}), r.forEach(function (e) {
var t = e.bids.filter(function (t) {
return O()(u, function (e) {
return O()(e.bids, function (e) {
return e.bidId === t.bid_id;
});
});
});
e.bids = t;
}), u.forEach(function (e) {
e.adUnitsS2SCopy = r.filter(function (e) {
return 0 < e.bids.length;
});
}));
var v,
h,
m = (v = e, (h = j.deepClone(v)).forEach(function (e) {
e.bids = e.bids.filter(function (e) {
return !P() || e.finalSource !== T.SERVER;
});
}), h = h.filter(function (e) {
return 0 !== e.bids.length;
}));
return y.forEach(function (e) {
var t = j.getUniqueIdentifierStr(),
n = {
bidderCode: e,
auctionId: i,
bidderRequestId: t,
bids: _({
bidderCode: e,
auctionId: i,
bidderRequestId: t,
adUnits: j.deepClone(m),
labels: c,
src: “client”
}),
auctionStart: o,
timeout: a,
refererInfo: g
},
r = x[e];
r || j.logError(“Trying to make a request for bidder that does not exist: “.concat(e)), r && n.bids && 0 !== n.bids.length && u.push(n);
}), B.getConsentData() && u.forEach(function (e) {
e.gdprConsent = B.getConsentData();
}), R.getConsentData() && u.forEach(function (e) {
e.uspConsent = R.getConsentData();
}), u;
}, “makeBidRequests”), f.callBids = function (e, t, o, i, a, c, u) {
var n, r, s, d, f, l, p, g, y, b, v;
t.length ? (r = (n = m(t.reduce(function (e, t) {
return e[Number(void 0 !== t.src && t.src === w.S2S.SRC)].push(t), e;
}, [[], []]), 2))[0], (s = n[1]).length && (d = Object(h.b)(c, a ? {
request: a.request.bind(null, “s2s”),
done: a.done
} : void 0), f = U.bidders, l = x[U.adapter], p = s[0].tid, g = s[0].adUnitsS2SCopy, l ? (y = {
tid: p,
ad_units: g
}).ad_units.length && (b = s.map(function (e) {
return e.start = Object(S.timestamp)(), i.bind(e);
}), v = y.ad_units.reduce(function (e, t) {
return e.concat((t.bids || []).reduce(function (e, t) {
return e.concat(t.bidder);
}, []));
}, []), j.logMessage(“CALLING S2S HEADER BIDDERS ==== “.concat(f.filter(function (e) {
return E()(v, e);
}).join(“,”))), s.forEach(function (e) {
C.emit(w.EVENTS.BID_REQUESTED, e);
}), l.callBids(y, s, function (e, t) {
var n = Object(S.getBidderRequest)(s, t.bidderCode, e);
n && o.call(n, e, t);
}, function () {
return b.forEach(function (e) {
return e();
});
}, d)) : j.logError(“missing ” + U.adapter)), r.forEach(function (t) {
t.start = Object(S.timestamp)();
var e = x[t.bidderCode];
j.logMessage(“CALLING BIDDER ======= “.concat(t.bidderCode)), C.emit(w.EVENTS.BID_REQUESTED, t);
var n = Object(h.b)(c, a ? {
request: a.request.bind(null, t.bidderCode),
done: a.done
} : void 0),
r = i.bind(t);

  try {
    A.b.runWithBidder(t.bidderCode, S.bind.call(e.callBids, e, t, o.bind(t), r, n, u, A.b.callbackWithBidder(t.bidderCode)));
  } catch (e) {
    j.logError("".concat(t.bidderCode, " Bid Adapter emitted an uncaught error when parsing their bidRequest"), {
      e: e,
      bidRequest: t
    }), r();
  }
})) : j.logWarn("callBids executed with no bidRequests.  Were they filtered by labels or sizing?");

}, f.videoAdapters = [], f.registerBidAdapter = function (e, t) {
var n = (2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {}).supportedMediaTypes,
r = void 0 === n ? [] : n;
e && t ? “function” == typeof e.callBids ? (x[t] = e, E()(r, “video”) && f.videoAdapters.push(t), E()(r, “native”) && g.e.push(t)) : j.logError(“Bidder adaptor error for bidder code: ” + t + “bidder must implement a callBids() function”) : j.logError(“bidAdaptor or bidderCode not specified”);
}, f.aliasBidAdapter = function (t, e) {
var n, r;

if (void 0 === x[e]) {
  var o = x[t];

  if (void 0 === o) {
    var i = A.b.getConfig("s2sConfig"),
        a = i && i.bidders;
    a && E()(a, e) ? l[e] = t : j.logError('bidderCode "' + t + '" is not an existing bidder."https://slate.com/human-interest/2020/10/,"adapterManager.aliasBidAdapter");
  } else try {
    var c,
        u,
        s = (n = t, r = [], E()(f.videoAdapters, n) && r.push("video"), E()(g.e, n) && r.push("native"), r);
    o.constructor.prototype != Object.prototype ? (u = new o.constructor()).setBidderCode(e) : (c = o.getSpec(), u = Object(d.newBidder)(b({}, c, {
      code: e
    })), l[e] = t), f.registerBidAdapter(u, e, {
      supportedMediaTypes: s
    });
  } catch (e) {
    j.logError(t + " bidder does not currently support aliasing."https://slate.com/human-interest/2020/10/,"adapterManager.aliasBidAdapter");
  }
} else j.logMessage('alias name "' + e + '" has been already specified.');

}, f.registerAnalyticsAdapter = function (e) {
var t = e.adapter,
n = e.code;
t && n ? “function” == typeof t.enableAnalytics ? (t.code = n, c[n] = t) : j.logError(‘Prebid Error: Analytics adaptor error for analytics “‘.concat(n, ‘”n analytics adapter must implement an enableAnalytics() function’)) : j.logError(“Prebid Error: analyticsAdapter or analyticsCode not specified”);
}, f.enableAnalytics = function (e) {
j.isArray(e) || (e = [e]), j._each(e, function (e) {
var t = c[e.provider];
t ? t.enableAnalytics(e) : j.logError(“Prebid Error: no analytics adapter found in registry forn “.concat(e.provider, “.”));
});
}, f.getBidAdapter = function (e) {
return x[e];
}, f.callTimedOutBidders = function (t, n, r) {
n = n.map(function (e) {
return e.params = j.getUserConfiguredParams(t, e.adUnitCode, e.bidder), e.timeout = r, e;
}), n = j.groupBy(n, “bidder”), Object.keys(n).forEach(function (e) {
u(e, “onTimeout”, n[e]);
});
}, f.callBidWonBidder = function (e, t, n) {
t.params = j.getUserConfiguredParams(n, t.adUnitCode, t.bidder), y.a.incrementBidderWinsCounter(t.adUnitCode, t.bidder), u(e, “onBidWon”, t);
}, f.callSetTargetingBidder = function (e, t) {
u(e, “onSetTargeting”, t);
}, t.default = f;
}, function (e, t, n) {
function r() {
return (r = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];

    for (var r in n) {
      Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
  }

  return e;
}).apply(this, arguments);

}

var c,
o,
u = n(0),
i = n(5),
a = Array.prototype.slice,
s = Array.prototype.push,
d = u._map(i.EVENTS, function (e) {
return e;
}),
f = i.EVENT_ID_PATHS,
l = [];

e.exports = (c = {}, (o = {}).on = function (e, t, n) {
var r, o;
o = e, u.contains(d, o) ? (r = c[e] || {
que: [] }, n ? (r[n] = r[n] || {
que: [] }, r[n].que.push(t)) : r.que.push(t), c[e] = r) : u.logError(“Wrong event name : ” + e + ” Valid event names :” + d);
}, o.emit = function (e) {
!function (e, t) {
u.logMessage(“Emitting event for: ” + e);

  var n = t[0] || {},
      r = n[f[e]],
      o = c[e] || {
    que: []
  },
      i = u._map(o, function (e, t) {
    return t;
  }),
      a = [];

  l.push({
    eventType: e,
    args: n,
    id: r
  }), r && u.contains(i, r) && s.apply(a, o[r].que), s.apply(a, o.que), u._each(a, function (e) {
    if (e) try {
      e.apply(null, t);
    } catch (e) {
      u.logError("Error executing handler:"https://slate.com/human-interest/2020/10/,"events.js", e);
    }
  });
}(e, a.call(arguments, 1));

}, o.off = function (e, n, r) {
var o = c[e];
u.isEmpty(o) || u.isEmpty(o.que) && u.isEmpty(o[r]) || r && (u.isEmpty(o[r]) || u.isEmpty(o[r].que)) || (r ? u._each(o[r].que, function (e) {
var t = o[r].que;
e === n && t.splice(t.indexOf(e), 1);
}) : u._each(o.que, function (e) {
var t = o.que;
e === n && t.splice(t.indexOf(e), 1);
}), c[e] = o);
}, o.get = function () {
return c;
}, o.getEvents = function () {
var n = [];
return u._each(l, function (e) {
var t = r({}, e);
n.push(t);
}), n;
}, o);
}, function (e, t, n) {
“use strict”;

n.d(t, “c”, function () {
return f;
}), n.d(t, “d”, function () {
return l;
}), t.a = function (e) {
return i({
moduleName: e,
moduleType: “core”
});
}, t.b = function (e, t) {
return i({
gvlid: e,
moduleName: t
});
};
var r = n(13),
c = n(0),
o = n(12),
u = n.n(o),
d = [“core”https://slate.com/human-interest/2020/10/,”prebid-module”],
f = [];

function i(e) {
var t = 0 < arguments.length && void 0 !== e ? e : {},
o = t.gvlid,
i = t.moduleName,
a = t.moduleType;

function s(n) {
  if (u()(d, a)) {
    return n({
      valid: !0
    });
  }

  var r;
  return l(o, i, {
    hasEnforcementHook: !1
  }, function (e) {
    var t;
    r = e && e.hasEnforcementHook ? n(e) : (t = {
      hasEnforcementHook: !1,
      valid: c.hasDeviceAccess()
    }, n(t));
  }), r;
}

return {
  setCookie: function setCookie(o, i, 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(o, "=").concat(encodeURIComponent(i)).concat(n, "; path=/").concat(t).concat(c ? "; SameSite=".concat(c) : "").concat(r));
    }

    if (!t || "function" != typeof t) return s(n);
    f.push(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);
    f.push(function () {
      var e = s(r);
      t(e);
    });
  },
  localStorageIsEnabled: function localStorageIsEnabled(t) {
    function n(e) {
      if (e && e.valid) try {
        return localStorage.setItem("prebid.cookieTest"https://slate.com/human-interest/2020/10/,"1"), "1" === localStorage.getItem("prebid.cookieTest");
      } catch (e) {}
      return !1;
    }

    if (!t || "function" != typeof t) return s(n);
    f.push(function () {
      var e = s(n);
      t(e);
    });
  },
  cookiesAreEnabled: function cookiesAreEnabled(t) {
    function n(e) {
      return !(!e || !e.valid) && (!!c.checkCookieSupport() || (window.document.cookie = "prebid.cookieTest", -1 !== window.document.cookie.indexOf("prebid.cookieTest")));
    }

    if (!t || "function" != typeof t) return s(n);
    f.push(function () {
      var e = s(n);
      t(e);
    });
  },
  setDataInLocalStorage: function setDataInLocalStorage(t, n, r) {
    function o(e) {
      e && e.valid && window.localStorage.setItem(t, n);
    }

    if (!r || "function" != typeof r) return s(o);
    f.push(function () {
      var e = s(o);
      r(e);
    });
  },
  getDataFromLocalStorage: function getDataFromLocalStorage(t, n) {
    function r(e) {
      return e && e.valid ? window.localStorage.getItem(t) : null;
    }

    if (!n || "function" != typeof n) return s(r);
    f.push(function () {
      var e = s(r);
      n(e);
    });
  },
  removeDataFromLocalStorage: function removeDataFromLocalStorage(t, n) {
    function r(e) {
      e && e.valid && window.localStorage.removeItem(t);
    }

    if (!n || "function" != typeof n) return s(r);
    f.push(function () {
      var e = s(r);
      n(e);
    });
  },
  hasLocalStorage: function hasLocalStorage(t) {
    function n(e) {
      if (e && e.valid) try {
        return !!window.localStorage;
      } catch (e) {
        c.logError("Local storage api disabled");
      }
      return !1;
    }

    if (!t || "function" != typeof t) return s(n);
    f.push(function () {
      var e = s(n);
      t(e);
    });
  },
  findSimilarCookies: function findSimilarCookies(i, t) {
    function n(e) {
      if (e && e.valid) {
        var t = [];
        if (c.hasDeviceAccess()) for (var n = document.cookie.split(";"); n.length;) {
          var r = n.pop(),
              o = (o = r.indexOf("=")) < 0 ? r.length : o;
          0 <= decodeURIComponent(r.slice(0, o).replace(/^s+/, "")).indexOf(i) && t.push(decodeURIComponent(r.slice(o + 1)));
        }
        return t;
      }
    }

    if (!t || "function" != typeof t) return s(n);
    f.push(function () {
      var e = s(n);
      t(e);
    });
  }
};

}

var l = Object(r.b)(“async”, function (e, t, n, r) {
r(n);
}, “validateStorageEnforcement”);
}, function (e, t, n) {
“use strict”;

t.a = o, t.c = function (e) {
return !(!e || !e.url);
}, t.b = function (e, t) {
e.render(t);
};
var u = n(39),
s = n(0),
r = n(11),
d = n.n(r),
f = “outstream”;

function o(e) {
var t = this,
r = e.url,
n = e.config,
o = e.id,
i = e.callback,
a = e.loaded,
c = e.adUnitCode;
this.url = r, this.config = n, this.handlers = {}, this.id = o, this.loaded = a, this.cmd = [], this.push = 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 = i || 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.logWarn(“External Js not loaded by Renderer since renderer url and callback is already defined on adUnit “.concat(c)) : Object(u.a)(r, f, this.callback), this._render ? this._render.apply(this, arguments) : s.logWarn(“No render function was provided, please use .setRender on the renderer”);
}.bind(this);
}

o.install = function (e) {
return new o({
url: e.url,
config: e.config,
id: e.id,
callback: e.callback,
loaded: e.loaded,
adUnitCode: e.adUnitCode
});
}, o.prototype.getConfig = function () {
return this.config;
}, o.prototype.setRender = function (e) {
this._render = e;
}, o.prototype.setEventHandlers = function (e) {
this.handlers = e;
}, o.prototype.handleVideoEvent = function (e) {
var t = e.id,
n = e.eventName;
“function” == typeof this.handlers[n] && this.handlersn, s.logMessage(“Prebid Renderer event for id “.concat(t, ” type “).concat(n));
}, o.prototype.process = function () {
for (; 0 < this.cmd.length;) {
try {
this.cmd.shift().call();
} catch (e) {
s.logError(“Error processing Renderer command: “, e);
}
}
};
}, function (e, t, n) {
var r = n(105);
e.exports = r;
}, function (e, t, n) {
var r = n(114);
e.exports = r;
}, 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 i(e);
}(t = e) || function (e) {
if (“undefined” != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e);
}(t) || function (e, t) {
if (e) {
if (“string” == typeof e) return i(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) ? i(e, t) : void 0;
}
}(t) || 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.”);
}());
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(t);
});

};
var r = n(184),
o = n.n(r);

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

for (var n = 0, r = new Array(t); n < t; n++) {
  r[n] = e[n];
}

return r;

}

var a = o()({
ready: o.a.SYNC | o.a.ASYNC | o.a.QUEUE
}),
c = a.get;
}, function (e, t, n) {
“use strict”;

function v(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(22),
m = n(107).f,
S = n(109),
A = n(42),
E = n(21),
O = n(29),
I = n(24);

e.exports = function (e, t) {
var n,
r,
o,
i,
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,
y = f ? A : A[d] || (A[d] = {}),
b = y.prototype;

for (o in t) {
  n = !S(f ? o : d + (l ? "." : "#") + o, e.forced) && g && I(g, o), a = y[o], n && (c = e.noTargetGet ? (s = m(g, o)) && s.value : g[o]), i = n && c ? c : t[o], n && _typeof(a) == _typeof(i) || (u = e.bind && n ? E(i, h) : e.wrap && n ? v(i) : p && "function" == typeof i ? E(Function.call, i) : i, (e.sham || i && i.sham || a && a.sham) && O(u, "sham", !0), y[o] = u, p && (I(A, r = d + "Prototype") || O(A, r, {}), A[r][o] = i, e.real && b && !b[o] && O(b, o, i)));
}

};
}, function (e, t, n) {
var r = n(23);

e.exports = function (e) {
if (!r(e)) throw TypeError(String(e) + ” is not an object”);
return e;
};
}, function (e, t) {
e.exports = !0;
}, function (e, t, n) {
function p(e, t) {
this.stopped = e, this.result = t;
}

var g = n(15),
y = n(82),
b = n(50),
v = n(21),
h = n(61),
m = n(83);

(e.exports = function (e, t, n, r, o) {
var i,
a,
c,
u,
s,
d,
f,
l = v(t, n, r ? 2 : 1);
if (o) i = e;else {
if (“function” != typeof (a = h(e))) throw TypeError(“Target is not iterable”);

  if (y(a)) {
    for (c = 0, u = b(e.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);
  }

  i = a.call(e);
}

for (d = i.next; !(f = d.call(i)).done;) {
  if ("object" == _typeof(s = m(i, l, f.value, r)) && s && s instanceof p) return s;
}

return new p(!1);

}).stop = function (e) {
return new p(!0, e);
};
}, function (e, t) {
e.exports = function (e) {
if (“function” != typeof e) throw TypeError(String(e) + ” is not a function”);
return e;
};
}, function (e, t, n) {
var r = n(22),
o = n(76),
i = n(24),
a = n(59),
c = n(78),
u = n(113),
s = o(“wks”),
d = r.Symbol,
f = u ? d : d && d.withoutSetter || a;

e.exports = function (e) {
return i(s, e) || (c && i(d, e) ? s[e] = d[e] : s[e] = f(“Symbol.” + e)), s[e];
};
}, 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”);
}, function (e, t, n) {
var i = n(18);

e.exports = function (r, o, e) {
if (i(r), void 0 === o) return r;

switch (e) {
  case 0:
    return function () {
      return r.call(o);
    };

  case 1:
    return function (e) {
      return r.call(o, e);
    };

  case 2:
    return function (e, t) {
      return r.call(o, e, t);
    };

  case 3:
    return function (e, t, n) {
      return r.call(o, e, t, n);
    };
}

return function () {
  return r.apply(o, arguments);
};

};
}, 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(33));
}, function (e, t) {
e.exports = function (e) {
return “object” == _typeof(e) ? null !== e : “function” == typeof e;
};
}, function (e, t) {
var n = {}.hasOwnProperty;

e.exports = function (e, t) {
return n.call(e, t);
};
}, function (e, t, n) {
function r(e) {
return “function” == typeof e ? e : void 0;
}

var o = n(42),
i = n(22);

e.exports = function (e, t) {
return arguments.length < 2 ? r(o[e]) || r(i[e]) : o[e] && o[e][t] || i[e] && i[e][t];
};
}, function (e, t, n) {
“use strict”;

n.d(t, “a”, function () {
return u;
});
var r = n(0),
s = n(40),
o = n(11),
i = n.n(o),
a = n(5);
var d,
c,
u = (d = [], (c = {}).addWinningBid = function (t) {
var e = i()(d, function (e) {
return e.getAuctionId() === t.auctionId;
});
e ? (t.status = a.BID_STATUS.RENDERED, e.addWinningBid(t)) : Object(r.logWarn)(“Auction not found when adding winning bid”);
}, 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,
o = e.callback,
i = e.cbTimeout,
a = e.labels,
c = e.auctionId,
u = Object(s.k)({
adUnits: n,
adUnitCodes: r,
callback: o,
cbTimeout: i,
labels: a,
auctionId: c
});
return t = u, d.push(t), u;
}, c.findBidByAdId = function (t) {
return i()(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 = i()(d, function (e) {
return e.getAuctionId() === r.auctionId;
})) && n.setBidTargeting(r);
}, c.getLastAuctionId = function () {
return d.length && d[d.length – 1].getAuctionId();
}, c);
}, function (e, t, n) {
var r = n(28);
e.exports = !r(function () {
return 7 != Object.defineProperty({}, 1, {
get: function get() {
return 7;
}
})[1];
});
}, function (e, t) {
e.exports = function (e) {
try {
return !!e();
} catch (e) {
return !0;
}
};
}, function (e, t, n) {
var r = n(27),
o = n(31),
i = n(46);
e.exports = r ? function (e, t, n) {
return o.f(e, t, i(1, n));
} : function (e, t, n) {
return e[t] = n, e;
};
}, function (e, t, n) {
“use strict”;

t.a = r, n.d(t, “b”, function () {
return o;
});
var a = n(0);

function c() {
return (c = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];

    for (var r in n) {
      Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
  }

  return e;
}).apply(this, arguments);

}

function r(o) {
function i() {
var e = function () {
var t,
n = [];

    do {
      try {
        t = t ? t.parent : o;

        try {
          var e = t == o.top,
              r = {
            referrer: t.document.referrer || null,
            location: t.location.href || null,
            isTop: e
          };
          e && (r = c(r, {
            canonicalUrl: function (e) {
              try {
                var t = e.querySelector("link[rel="canonical"]");
                if (null !== t) return t.href;
              } catch (e) {}

              return null;
            }(t.document)
          })), n.push(r);
        } catch (e) {
          n.push({
            referrer: null,
            location: null,
            isTop: t == o.top
          }), Object(a.logWarn)("Trying to access cross domain iframe. Continuing without referrer and location");
        }
      } catch (e) {
        return n.push({
          referrer: null,
          location: null,
          isTop: !1
        }), n;
      }
    } while (t != o.top);

    return n;
  }(),
      t = function () {
    try {
      if (!o.location.ancestorOrigins) return;
      return o.location.ancestorOrigins;
    } catch (e) {}
  }();

  if (t) for (var n = 0, r = t.length; n < r; n++) {
    e[n].ancestor = t[n];
  }
  return e;
}

return function () {
  try {
    var e,
        t = i(),
        n = t.length - 1,
        r = null !== t[n].location || 0 < n && null !== t[n - 1].referrer,
        o = function (e) {
      for (var t = [], n = null, r = null, o = null, i = null, a = null, c = null, u = e.length - 1; 0 <= u; u--) {
        try {
          r = e[u].location;
        } catch (e) {}

        if (r) t.push(r), c = c || r;else if (0 !== u) {
          o = e[u - 1];

          try {
            i = o.referrer, a = o.ancestor;
          } catch (e) {}

          i ? (t.push(i), c = c || i) : a ? (t.push(a), c = c || a) : t.push(n);
        } else t.push(n);
      }

      return {
        stack: t,
        detectedRefererUrl: c
      };
    }(t);

    return t[t.length - 1].canonicalUrl && (e = t[t.length - 1].canonicalUrl), {
      referer: o.detectedRefererUrl,
      reachedTop: r,
      numIframes: n,
      stack: o.stack,
      canonicalUrl: e
    };
  } catch (e) {}
};

}

var o = r(window);
}, function (e, t, n) {
var r = n(27),
o = n(74),
i = n(15),
a = n(55),
c = Object.defineProperty;
t.f = r ? c : function (e, t, n) {
if (i(e), t = a(t, !0), i(n), o) 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[t] = n.value), e;
};
}, function (e, t, n) {
“use strict”;

t.a = function (e, t) {
return new r(e, t);
};

var o = 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 = o.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;
};

}
}, 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;
}, function (e, t, n) {
var r = n(16),
o = n(91);
e.exports = r ? o : function (e) {
return Set.prototype.values.call(e);
};
}, function (e, t, n) {
“use strict”;

n.d(t, “e”, function () {
return i;
}), 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 o = Object.keys(r).filter(function (e) {
return r[e].required;
}),
i = Object.keys(t.native).filter(function (e) {
return t.native[e];
});
return o.every(function (e) {
return c()(i, 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, o) {
var i = {};
return Object.keys(r.native).forEach(function (e) {
var t = u.NATIVE_KEYS[e],
n = f(r.native[e]);
Object(a.deepAccess)(o, “mediaTypes.native.”.concat(e, “.sendId”)) && (n = “”.concat(t, “:”).concat(r.adId)), t && n && (i[t] = n);
}), i;
}, t.c = function (e, r) {
var o = {
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[t]);
o.assets.push({
key: t,
value: n
});
}), o;
};
var a = n(0),
r = n(12),
c = n.n(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);
}

var u = n(5),
i = [],
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” === o(e) && e.url ? e.url : e;
}
}, function (e, t) {
e.exports = {};
}, function (e, t, n) {
var o = n(15),
i = n(18),
a = n(19)(“species”);

e.exports = function (e, t) {
var n,
r = o(e).constructor;
return void 0 === r || null == (n = o(r)[a]) ? t : i(n);
};
}, 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(i.getBidRequest)(e.requestId, t),
r = n && Object(i.deepAccess)(n, “mediaTypes.video”),
o = r && Object(i.deepAccess)(r, “context”);
return s(e, n, r, o);
}, n.d(t, “c”, function () {
return s;
});
n(7);
var i = n(0),
o = n(3),
r = n(12),
a = (n.n(r), n(13)),
c = “outstream”,
u = “instream”;
var s = Object(a.b)(“sync”, function (e, t, n, r) {
return !t || n && r !== c ? o.b.getConfig(“cache.url”) || !e.vastXml || e.vastUrl ? !(!e.vastUrl && !e.vastXml) : (Object(i.logError)(‘n This bid 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”);
}, function (e, t, n) {
“use strict”;

t.a = function (r, e, t) {
if (!e || !r) return void i.logError(“cannot load external script without url and moduleCode”);
if (!o()(c, e)) return void i.logError(“”.concat(e, ” not whitelisted for loading external JavaScript”));
if (a[r]) return t && “function” == typeof t && (a[r].loaded ? t() : a[r].callbacks.push(t)), a[r].tag;
a[r] = {
loaded: !1,
tag: null,
callbacks: [] }, t && “function” == typeof t && a[r].callbacks.push(t);
return i.logWarn(“module “.concat(e, ” is loading external JavaScript”)), 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, i.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) {
    i.logError("Error executing callback"https://slate.com/human-interest/2020/10/,"adloader.js:loadExternalScript", e);
  }
});

};

var r = n(12),
o = n.n(r),
i = n(0),
a = {},
c = [“criteo”https://slate.com/human-interest/2020/10/,”outstream”https://slate.com/human-interest/2020/10/,”adagio”https://slate.com/human-interest/2020/10/,”browsi”];
}, function (e, t, n) {
“use strict”;

n.d(t, “b”, function () {
return F;
}), n.d(t, “a”, function () {
return W;
}), t.k = function (e) {
var t,
o,
y,
b,
i = e.adUnits,
n = e.adUnitCodes,
r = e.callback,
a = e.cbTimeout,
c = e.labels,
u = e.auctionId,
v = i,
s = c,
d = n,
h = [],
f = [],
l = [],
p = u || D.generateUUID(),
g = r,
m = a,
S = [],
A = new Set();

function E() {
  return {
    auctionId: p,
    timestamp: t,
    auctionEnd: o,
    auctionStatus: y,
    adUnits: v,
    adUnitCodes: d,
    labels: s,
    bidderRequests: h,
    noBids: l,
    bidsReceived: f,
    winningBids: S,
    timeout: m
  };
}

function O(n, e) {
  var r, t;
  e && clearTimeout(b), void 0 === o && (r = [], n && (D.logMessage("Auction ".concat(p, " timedOut")), t = A, (r = h.map(function (e) {
    return (e.bids || []).filter(function (e) {
      return !t.has(e.bidder);
    });
  }).reduce(w.flatten, []).map(function (e) {
    return {
      bidId: e.bidId,
      bidder: e.bidder,
      adUnitCode: e.adUnitCode,
      auctionId: e.auctionId
    };
  })).length && M.emit(q.EVENTS.BID_TIMEOUT, r)), y = W, o = Date.now(), M.emit(q.EVENTS.AUCTION_END, E()), $(v, function () {
    try {
      var e;
      null != g && (e = f.filter(D.bind.call(w.adUnitsFilter, this, d)).reduce(Z, {}), g.apply(pbjs, [e, n, p]), g = null);
    } catch (e) {
      D.logError("Error executing bidsBackHandler", null, e);
    } finally {
      r.length && N.callTimedOutBidders(i, r, m);
      var t = U.b.getConfig("userSync") || {};
      t.enableOverride || k(t.syncDelay);
    }
  }));
}

function I() {
  D.logInfo("Bids Received for Auction with id: ".concat(p), f), y = W, O(!1, !0);
}

function T(e) {
  A.add(e);
}

function j(d) {
  var f = this;
  d.forEach(function (e) {
    var t;
    t = e, h = h.concat(t);
  });
  var l = {},
      e = {
    bidRequests: d,
    run: function run() {
      var e, t;
      e = O.bind(null, !0), t = setTimeout(e, m), b = t, y = F, M.emit(q.EVENTS.AUCTION_INIT, E());
      var n,
          r,
          o,
          i,
          a,
          c,
          u = (n = I, r = f, o = 0, i = !1, a = new Set(), c = {}, {
        addBidResponse: function addBidResponse(e, t) {
          c[t.requestId] = !0, o++;

          var n = function (e) {
            var t = e.adUnitCode,
                n = e.bid,
                r = e.bidderRequest,
                o = e.auctionId,
                i = r.start,
                a = P({}, n, {
              auctionId: o,
              responseTimestamp: Object(w.timestamp)(),
              requestTimestamp: i,
              cpm: parseFloat(n.cpm) || 0,
              bidder: n.bidderCode,
              adUnitCode: t
            });
            a.timeToRespond = a.responseTimestamp - a.requestTimestamp, M.emit(q.EVENTS.BID_ADJUSTMENT, a);

            var c = r.bids && _()(r.bids, function (e) {
              return e.adUnitCode == t;
            }),
                u = c && c.renderer;

            u && u.url && (a.renderer = x.a.install({
              url: u.url
            }), a.renderer.setRender(u.render));
            var s = X(n.mediaType, c, U.b.getConfig("mediaTypePriceGranularity")),
                d = Object(C.a)(a.cpm, "object" === R(s) ? s : U.b.getConfig("customPriceBucket"), U.b.getConfig("currency.granularityMultiplier"));
            return a.pbLg = d.low, a.pbMg = d.med, a.pbHg = d.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 o = !0,
                i = Object(w.getBidRequest)(t.requestId, [n]),
                a = i && Object(w.deepAccess)(i, "mediaTypes.video"),
                c = a && Object(w.deepAccess)(a, "context");
            U.b.getConfig("cache.url") && c !== B.b && (t.videoCacheKey ? t.vastUrl || (D.logError("videoCacheKey specified but not required vastUrl for video bid"), o = !1) : (o = !1, Q(e, t, r, i))), o && (Y(e, t), r());
          }(r, n, this, s) : (Y(r, n), s());
        },
        adapterDone: function adapterDone() {
          a.add(this), i = r.getBidRequests().every(function (e) {
            return a.has(e);
          }), this.bids.forEach(function (e) {
            c[e.bidId] || (r.addNoBid(e), M.emit(q.EVENTS.NO_BID, e));
          }), i && 0 === o && n();
        }
      });

      function s() {
        o--, i && 0 === o && n();
      }

      N.callBids(v, d, function () {
        for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) {
          t[n] = arguments[n];
        }

        J.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, T);
    }
  };

  function p(e) {
    var r = !0,
        o = U.b.getConfig("maxRequestsPerOrigin") || L;
    return e.bidRequests.some(function (e) {
      var t = 1,
          n = void 0 !== e.src && e.src === q.S2S.SRC ? "s2s" : e.bidderCode;
      return V[n] && (!1 === V[n].SRA && (t = Math.min(e.bids.length, o)), z[V[n].origin] + t > o && (r = !1)), !r;
    }), r && e.run(), r;
  }

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

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

return {
  addBidReceived: function addBidReceived(e) {
    f = f.concat(e);
  },
  addNoBid: function addNoBid(e) {
    l = l.concat(e);
  },
  executeCallback: O,
  callBids: function callBids() {
    y = G, t = Date.now();
    var e = N.makeBidRequests(v, t, p, m, s);
    D.logInfo("Bids Requested for Auction with id: ".concat(p), e), e.length < 1 ? (D.logWarn("No valid bid requests returned for auction"), I()) : K.call({
      dispatch: j,
      context: this
    }, e);
  },
  addWinningBid: function addWinningBid(e) {
    S = S.concat(e), N.callBidWonBidder(e.bidder, e, i);
  },
  setBidTargeting: function setBidTargeting(e) {
    N.callSetTargetingBidder(e.bidder, e);
  },
  getWinningBids: function getWinningBids() {
    return S;
  },
  getTimeout: function getTimeout() {
    return m;
  },
  getAuctionId: function getAuctionId() {
    return p;
  },
  getAuctionStatus: function getAuctionStatus() {
    return y;
  },
  getAdUnits: function getAdUnits() {
    return v;
  },
  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 J;
}), n.d(t, “e”, function () {
return K;
}), t.g = s, t.d = Y, n.d(t, “f”, function () {
return Q;
}), n.d(t, “i”, function () {
return d;
}), n.d(t, “h”, function () {
return f;
}), t.j = l;

var w = n(0),
C = n(45),
a = n(35),
i = n(102),
x = n(10),
U = n(3),
r = n(44),
o = n(13),
c = n(11),
_ = n.n(c),
B = n(38),
u = n(2);

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 P() {
return (P = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];

    for (var r in n) {
      Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
  }

  return e;
}).apply(this, arguments);

}

var k = r.a.syncUsers,
D = n(0),
N = n(7).default,
M = n(8),
q = n(5),
G = “started”,
F = “inProgress”,
W = “completed”;
M.on(q.EVENTS.BID_ADJUSTMENT, 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[q.JSON_MAPPING.BD_SETTING_STANDARD] && “function” == typeof pbjs.bidderSettings[q.JSON_MAPPING.BD_SETTING_STANDARD].bidCpmAdjustment && (t = pbjs.bidderSettings[q.JSON_MAPPING.BD_SETTING_STANDARD].bidCpmAdjustment), t)) try {
r = t(e.cpm, P({}, e));
} catch (e) {
D.logError(“Error during bid adjustment”https://slate.com/human-interest/2020/10/,”bidmanager.js”, e);
}
0 <= r && (e.cpm = r);
}(e);
});
var L = 4,
z = {},
V = {},
H = [];
var J = Object(o.b)(“async”, function (e, t) {
this.dispatch.call(this.bidderRequest, e, t);
}, “addBidResponse”),
K = Object(o.b)(“sync”, function (e) {
this.dispatch.call(this.context, e);
}, “addBidderRequests”),
$ = Object(o.b)(“async”, function (e, t) {
t && t();
}, “bidsBackCallback”);

function s(e, t) {
t.timeToRespond > e.getTimeout() + U.b.getConfig(“timeoutBuffer”) && e.executeCallback(!0);
}

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

!function (t, e) {
  var n;
  {
    var r;
    t.bidderCode && (0 < t.cpm || t.dealId) && (r = _()(e.bids, function (e) {
      return e.adUnitCode === t.adUnitCode;
    }), n = function (e, t, n) {
      if (!t) return {};
      var r = {},
          o = pbjs.bidderSettings;
      {
        var i;
        o && (i = l(t.mediaType, e, n), p(r, i, t), e && o[e] && o[e][q.JSON_MAPPING.ADSERVER_TARGETING] && (p(r, o[e], t), t.sendStandardTargeting = o[e].sendStandardTargeting));
      }
      t.native && (r = P({}, r, Object(a.d)(t, n)));
      return r;
    }(t.bidderCode, t, r));
  }
  t.adserverTargeting = P(t.adserverTargeting || {}, n);
}(t, r), M.emit(q.EVENTS.BID_RESPONSE, t), e.addBidReceived(t), s(e, t);

}

var Q = Object(o.b)(“async”, function (n, r, o, e) {
Object(i.b)([r], function (e, t) {
e ? (D.logWarn(“Failed to save to the video cache: “.concat(e, “. Video bid must be discarded.”)), s(n, r)) : “” === t[0].uuid ? (D.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(i.a)(r.videoCacheKey)), Y(n, r), o());
}, e);
}, “callPrebidCache”);

function X(e, t, n) {
if (e && n) {
if (e === u.d) {
var r = Object(w.deepAccess)(t, “mediaTypes.”.concat(u.d, “.context”), “instream”);
if (n[“”.concat(u.d, “-“).concat(r)]) return n[“”.concat(u.d, “-“).concat(r)];
}

  return n[e];
}

}

var d = function d(e, t) {
var n = X(e, t, U.b.getConfig(“mediaTypePriceGranularity”));
return “string” == typeof e && n ? “string” == typeof n ? n : “custom” : U.b.getConfig(“priceGranularity”);
},
f = function f(t) {
return function (e) {
return t === q.GRANULARITY_OPTIONS.AUTO ? e.pbAg : t === q.GRANULARITY_OPTIONS.DENSE ? e.pbDg : t === q.GRANULARITY_OPTIONS.LOW ? e.pbLg : t === q.GRANULARITY_OPTIONS.MEDIUM ? e.pbMg : t === q.GRANULARITY_OPTIONS.HIGH ? e.pbHg : t === q.GRANULARITY_OPTIONS.CUSTOM ? e.pbCg : void 0;
};
};

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(w.getValue)(e, t);
}
};
}

var o,
    i,
    a = q.TARGETING_KEYS,
    c = d(e, n),
    u = pbjs.bidderSettings;
return u[q.JSON_MAPPING.BD_SETTING_STANDARD] || (u[q.JSON_MAPPING.BD_SETTING_STANDARD] = {}), u[q.JSON_MAPPING.BD_SETTING_STANDARD][q.JSON_MAPPING.ADSERVER_TARGETING] || (u[q.JSON_MAPPING.BD_SETTING_STANDARD][q.JSON_MAPPING.ADSERVER_TARGETING] = [r(a.BIDDER, "bidderCode"), r(a.AD_ID, "adId"), r(a.PRICE_BUCKET, f(c)), r(a.SIZE, "size"), r(a.DEAL, "dealId"), r(a.SOURCE, "source"), r(a.FORMAT, "mediaType")]), "video" === e && (o = u[q.JSON_MAPPING.BD_SETTING_STANDARD][q.JSON_MAPPING.ADSERVER_TARGETING], [a.UUID, a.CACHE_ID].forEach(function (t) {
  void 0 === _()(o, function (e) {
    return e.key === t;
  }) && o.push(r(t, "videoCacheKey"));
}), !U.b.getConfig("cache.url") || t && !1 === D.deepAccess(u, "".concat(t, ".sendStandardTargeting")) || (i = Object(w.parseUrl)(U.b.getConfig("cache.url")), void 0 === _()(o, function (e) {
  return e.key === a.CACHE_HOST;
}) && o.push(r(a.CACHE_HOST, function (e) {
  return D.deepAccess(e, "adserverTargeting.".concat(a.CACHE_HOST)) ? e.adserverTargeting[a.CACHE_HOST] : i.hostname;
})))), u[q.JSON_MAPPING.BD_SETTING_STANDARD];

}

function p(r, o, i) {
var e = o[q.JSON_MAPPING.ADSERVER_TARGETING];
return i.size = i.getSize(), D._each(e, function (e) {
var t = e.key,
n = e.val;
if (r[t] && D.logWarn(“The key: ” + t + ” is getting ovewritten”), D.isFn(n)) try {
n = n(i);
} catch (e) {
D.logError(“bidmanager”https://slate.com/human-interest/2020/10/,”ERROR”, e);
}
(void 0 === o.suppressEmptyKeys || !0 !== o.suppressEmptyKeys) && t !== q.TARGETING_KEYS.DEAL || !D.isEmptyStr(n) && null != n ? r[t] = n : D.logInfo(“suppressing empty key ‘” + t + “‘ from adserver targeting”);
}), r;
}

function Z(e, t) {
return e[t.adUnitCode] || (e[t.adUnitCode] = {
bids: [] }), e[t.adUnitCode].bids.push(t), e;
}
}, function (e, t, n) {
“use strict”;

n.d(t, “a”, function () {
return p;
});
var v = n(0),
h = n(3),
m = n(35),
r = n(26),
o = n(101),
i = n(2),
a = n(12),
S = n.n(a);

function A() {
return (A = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];

    for (var r in n) {
      Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
  }

  return e;
}).apply(this, arguments);

}

function E(e, t, n) {
return t in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}

function O(e) {
return function (e) {
if (Array.isArray(e)) return c(e);
}(e) || function (e) {
if (“undefined” != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e);
}(e) || function (e, t) {
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(t); n < t; n++) {
  r[n] = e[n];
}

return r;

}

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

function w(e, r, t) {
var o = 2 < arguments.length && void 0 !== t ? t : 0,
i = [],
a = h.b.getConfig(“sendBidsControl.dealPrioritization”),
c = Object(v.groupBy)(e, “adUnitCode”);
return Object.keys(c).forEach(function (e) {
var t = [],
n = Object(v.groupBy)(c[e], “bidderCode”);
Object.keys(n).forEach(function (e) {
return t.push(n[e].reduce(r));
}), 0 < o ? (t = a ? t(C(!0)) : t.sort(function (e, t) {
return t.cpm – e.cpm;
}), i.push.apply(i, O(t.slice(0, o)))) : i.push.apply(i, O(t));
}), i;
}

function C(e) {
var n = 0 < arguments.length && void 0 !== e && e;
return function (e, t) {
return void 0 !== e.adUnitTargeting.hb_deal && void 0 === t.adUnitTargeting.hb_deal ? -1 : void 0 === e.adUnitTargeting.hb_deal && void 0 !== t.adUnitTargeting.hb_deal ? 1 : n ? t.cpm – e.cpm : t.adUnitTargeting.hb_pb – e.adUnitTargeting.hb_pb;
};
}

var f,
x,
l,
p = (f = r.a, l = {}, (x = {}).setLatestAuctionForAdUnit = function (e, t) {
l[e] = t;
}, x.resetPresetTargeting = function (e, t) {
var n, o;
Object(v.isGptPubadsDefined)() && (n = (e), o = f.getAdUnits().filter(function (e) {
return S()(n, e.code);
}), window.googletag.pubads().getSlots().forEach(function (n) {
var r = u.isFn(t) && t(n);
T.forEach(function (t) {
o.forEach(function (e) {
(e.code === n.getAdUnitPath() || e.code === n.getSlotElementId() || u.isFn(r) && r(e.code)) && n.setTargeting(t, null);
});
});
}));
}, x.resetPresetTargetingAST = function (e) {
_(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) {
S()(T, e.toLowerCase()) || (n[e] = r.keywords[e]);
}), window.apntag.modifyTag(e, {
keywords: n
}));
});
}, x.getAllTargeting = function (e) {
var n,
t,
r,
o,
i,
a,
c,
u,
s,
d = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : B(),
f = _(e),
l = (a = f, c = d, u = x.getWinningBids(a, c), s = R(), (u = u.map(function (i) {
return E({}, i.adUnitCode, Object.keys(i.adserverTargeting).filter(function (e) {
return void 0 === i.sendStandardTargeting || i.sendStandardTargeting || -1 === s.indexOf(e);
}).reduce(function (e, t) {
var n = [i.adserverTargeting[t]],
r = E({}, t.substring(0, 20), n);
if (t !== I.TARGETING_KEYS.DEAL) return [].concat(O(e), [r]);
var o = E({}, “”.concat(t, “
“).concat(i.bidderCode).substring(0, 20), n);
return [].concat(O(e), [r, o]);
}, []));
})).concat((i = f, d.filter(function (e) {
return S()(i, e.adUnitCode);
}).map(function (e) {
return A({}, e);
}).reduce(P, []).map(k).filter(function (e) {
return e;
}))).concat(h.b.getConfig(“enableSendAllBids”) ? (n = f, t = d, r = j.concat(m.a), o = h.b.getConfig(“sendBidsControl.bidLimit”), w(t, v.getHighestCpm, o).map(function (t) {
if (U(t, n)) return E({}, t.adUnitCode, D(t, r.filter(function (e) {
return void 0 !== t.adserverTargeting[e];
})));
}).filter(function (e) {
return e;
})) : function (e, t) {
if (!0 !== h.b.getConfig(“targetingControls.alwaysIncludeDeals”)) return [];
var n = j.concat(m.a);
return w(t, v.getHighestCpm).map(function (t) {
if (t.dealId && U(t, e)) return E({}, t.adUnitCode, D(t, n.filter(function (e) {
return void 0 !== t.adserverTargeting[e];
})));
}).filter(function (e) {
return e;
});
}(f, d)));

l.map(function (t) {
  Object.keys(t).map(function (e) {
    t[e].map(function (e) {
      -1 === T.indexOf(Object.keys(e)[0]) && (T = Object.keys(e).concat(T));
    });
  });
}), l = l.map(function (e) {
  return E({}, Object.keys(e)[0], e[Object.keys(e)[0]].map(function (e) {
    return E({}, Object.keys(e)[0], e[Object.keys(e)[0]].join("https://slate.com/human-interest/2020/10/,"));
  }).reduce(function (e, t) {
    return A(t, e);
  }, {}));
}).reduce(function (e, t) {
  var n = Object.keys(t)[0];
  return e[n] = A({}, e[n], t[n]), e;
}, {});
var p,
    g,
    y,
    b = h.b.getConfig("targetingControls.auctionKeyMaxChars");
return b && (Object(v.logInfo)("Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ".concat(b, " characters.  Running checks on auction keys...")), p = l, g = b, y = Object(v.deepClone)(p), l = Object.keys(y).map(function (e) {
  return {
    adUnitCode: e,
    adUnitTargeting: y[e]
  };
}).sort(C()).reduce(function (e, t, n, r) {
  var o,
      i = (o = t.adUnitTargeting, Object.keys(o).reduce(function (e, t) {
    return e + "".concat(t, "%3d").concat(encodeURIComponent(o[t]), "%26");
  }, ""));
  n + 1 === r.length && (i = i.slice(0, -3));
  var a = t.adUnitCode,
      c = i.length;
  return c <= g ? (g -= c, Object(v.logInfo)("AdUnit '".concat(a, "' auction keys comprised of ").concat(c, " characters.  Deducted from running threshold; new limit is ").concat(g), y[a]), e[a] = y[a]) : Object(v.logWarn)("The following keys for adUnitCode '".concat(a, "' exceeded the current limit of the 'auctionKeyMaxChars' setting.nThe key-set size was ").concat(c, ", the current allotted amount was ").concat(g, ".n"), y[a]), n + 1 === r.length && 0 === Object.keys(e).length && Object(v.logError)("No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars).  Please review setup and consider adjusting."), e;
}, {})), f.forEach(function (e) {
  l[e] || (l[e] = {});
}), l;

}, x.setTargetingForGPT = function (o, e) {
window.googletag.pubads().getSlots().forEach(function (r) {
Object.keys(o).filter((e || Object(v.isAdUnitCodeMatchingSlot))(r)).forEach(function (n) {
return Object.keys(o[n]).forEach(function (t) {
var e = o[n][t].split(“,”);
(e = 1 < e.length ? [e] : e).map(function (e) {
return u.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);
});
});
});
});
}, x.getWinningBids = function (e) {
var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : B(),
t = _(e);

return n.filter(function (e) {
  return S()(t, e.adUnitCode);
}).filter(function (e) {
  return 0 < e.cpm;
}).map(function (e) {
  return e.adUnitCode;
}).filter(v.uniques).map(function (t) {
  return n.filter(function (e) {
    return e.adUnitCode === t ? e : null;
  }).reduce(v.getHighestCpm);
});

}, x.setTargetingForAst = function (e) {
var r = x.getAllTargeting(e);

try {
  x.resetPresetTargetingAST(e);
} catch (e) {
  u.logError("unable to reset targeting for AST" + e);
}

Object.keys(r).forEach(function (n) {
  return Object.keys(r[n]).forEach(function (e) {
    var t;
    u.logMessage("Attempting to set targeting for targetId: ".concat(n, " key: ").concat(e, " value: ").concat(r[n][e])), (u.isStr(r[n][e]) || u.isArray(r[n][e])) && (t = {}, e.search(/pt[0-9]/) < 0 ? t[e.toUpperCase()] = r[n][e] : t[e] = r[n][e], window.apntag.setKeywords(n, t, {
      overrideKeyValue: !0
    }));
  });
});

}, x.isApntagDefined = function () {
if (window.apntag && u.isFn(window.apntag.setKeywords)) return !0;
}, x);

function U(e, t) {
return e.adserverTargeting && t && (u.isArray(t) && S()(t, e.adUnitCode) || “string” == typeof t && e.adUnitCode === t);
}

function _(e) {
return “string” == typeof e ? [e] : u.isArray(e) ? e : f.getAdUnitCodes() || [];
}

function B() {
var e = f.getBidsReceived();
return h.b.getConfig(“useBidCache”) || (e = e.filter(function (e) {
return l[e.adUnitCode] === e.auctionId;
})), w(e = e.filter(function (e) {
return Object(v.deepAccess)(e, “video.context”) !== i.a;
}).filter(function (e) {
return “banner” !== e.mediaType || Object(o.c)([e.width, e.height]);
}).filter(d).filter(s), v.getOldestHighestCpmBid);
}

function R() {
return f.getStandardBidderAdServerTargeting().map(function (e) {
return e.key;
}).concat(j).filter(v.uniques);
}

function P(r, o, e, t) {
return Object.keys(o.adserverTargeting).filter(g()).forEach(function (e) {
var t, n;
r.length && r.filter((n = e, function (e) {
return e.adUnitCode === o.adUnitCode && e.adserverTargeting[n];
})).forEach((t = e, function (e) {
u.isArray(e.adserverTargeting[t]) || (e.adserverTargeting[t] = [e.adserverTargeting[t]]), e.adserverTargeting[t] = e.adserverTargeting[t].concat(o.adserverTargeting[t]).filter(v.uniques), delete o.adserverTargeting[t];
}));
}), r.push(o), r;
}

function g() {
var t = R().concat(m.a);
return function (e) {
return -1 === t.indexOf(e);
};
}

function k(t) {
return E({}, t.adUnitCode, Object.keys(t.adserverTargeting).filter(g()).map(function (e) {
return E({}, e.substring(0, 20), [t.adserverTargeting[e]]);
}));
}

function D(t, e) {
return e.map(function (e) {
return E({}, “”.concat(e, “_”).concat(t.bidderCode).substring(0, 20), [t.adserverTargeting[e]]);
});
}
}, function (e, t) {
e.exports = {};
}, function (e, t, n) {
“use strict”;

function i(e, t, n, r) {
var o;
t in e && (“function” != typeof (o = r) || “[object Function]” !== u.call(o) || !r()) || (f ? d(e, t, {
configurable: !0,
enumerable: !1,
value: n,
writable: !0
}) : e[t] = n);
}

function r(e, t) {
var n = 2 < arguments.length ? arguments[2] : {},
r = a(t);
c && (r = s.call(r, Object.getOwnPropertySymbols(t)));

for (var o = 0; o < r.length; o += 1) {
  i(e, r[o], t[r[o]], n[r[o]]);
}

}

var a = n(93),
c = “function” == typeof Symbol && “symbol” == _typeof(Symbol(“foo”)),
u = Object.prototype.toString,
s = Array.prototype.concat,
d = Object.defineProperty,
f = d && function () {
var e = {};

try {
  for (var t in (d(e, "x", {
    enumerable: !1,
    value: e
  }), e)) {
    return !1;
  }

  return e.x === e;
} catch (e) {
  return !1;
}

}();

r.supportsDescriptors = !!f, e.exports = r;
}, function (e, t, n) {
“use strict”;

n.d(t, “a”, function () {
return S;
});
var a = n(0),
r = n(3),
o = n(12),
i = n.n(o),
c = n(9);

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

  try {
    for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0) {
      ;
    }
  } catch (e) {
    o = !0, i = e;
  } finally {
    try {
      r || null == c.return || c.return();
    } finally {
      if (o) throw i;
    }
  }

  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(t); n < t; n++) {
  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[t];

    for (var r in n) {
      Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
  }

  return e;
}).apply(this, arguments);

}

r.b.setDefaults({
userSync: a.deepClone({
syncEnabled: !0,
filterSettings: {
image: {
bidders: ““,
filter: “include”
}
},
syncsPerBidder: 5,
syncDelay: 3e3,
auctionDelay: 0
})
});
var f = Object(c.a)(“usersync”);
var l,
p,
g,
y,
b,
v,
h,
m = !a.isSafariBrowser() && f.cookiesAreEnabled(),
S = (l = {
config: r.b.getConfig(“userSync”),
browserSupportsCookies: m
}, p = {}, g = A(), y = new Set(), v = {
image: !0,
iframe: !(b = {})
}, h = l.config, r.b.getConfig(“userSync”, function (e) {
var t;
e.userSync && (t = e.userSync.filterSettings, a.isPlainObject(t) && (t.image || t.all || (e.userSync.filterSettings.image = {
bidders: “
“,
filter: “include”
}))), h = d(h, e.userSync);
}), p.registerSync = function (e, t, n) {
return y.has(t) ? a.logMessage(‘already fired syncs for “‘.concat(t, ‘”, ignoring registerSync call’)) : h.syncEnabled && a.isArray(g[e]) ? t ? 0 !== h.syncsPerBidder && Number(b[t]) >= h.syncsPerBidder ? a.logWarn(‘Number of user syncs exceeded for “‘.concat(t, ‘”‘)) : p.canBidderRegisterSync(e, t) ? (g[e].push([t, n]), (r = b)[o = t] ? r[o] += 1 : r[o] = 1, void (b = r)) : a.logWarn(‘Bidder “‘.concat(t, ‘” not permitted to register their “‘).concat(e, ‘” userSync pixels.’)) : a.logWarn(“Bidder is required for registering sync”) : a.logWarn(‘User sync type “‘.concat(e, ‘” not supported’));
var r, o;
}, 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 || !I(e, t);
}, p);

function A() {
return {
image: [],
iframe: [] };
}

function E() {
if (h.syncEnabled && l.browserSupportsCookies) {
try {
!function () {
if (!v.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 (!v.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), y.add(e[0]);
});
}

function I(e, t) {
var n = h.filterSettings;

if (function (e, t) {
  if (e.all && e[t]) return a.logWarn('Detected presence of the "filterSettings.all" and "filterSettings.'.concat(t, '" in userSync config.  You cannot mix "all" with "iframe/image" configs; they are mutually exclusive.')), !1;
  var n = e.all ? e.all : e[t],
      r = e.all ? "all" : t;
  if (!n) return !1;
  var o = n.filter,
      i = n.bidders;
  if (o && "include" !== o && "exclude" !== o) return a.logWarn('UserSync "filterSettings.'.concat(r, ".filter" setting '").concat(o, "' is not a valid option; use either 'include' or 'exclude'.")), !1;
  return !!("*" === i || Array.isArray(i) && 0 < i.length && i.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)) {
  v[e] = !0;
  var r = n.all ? n.all : n[e],
      o = "*" === r.bidders ? [t] : r.bidders;
  return {
    include: function include(e, t) {
      return !i()(e, t);
    },
    exclude: function exclude(e, t) {
      return i()(e, t);
    }
  }[r.filter || "include"](o, t);
}

}
}, function (e, t, n) {
“use strict”;

n.d(t, “a”, function () {
return d;
}), n.d(t, “b”, function () {
return h;
});
var r = n(11),
b = n.n(r),
o = n(0),
v = 2,
i = {
buckets: [{
max: 5,
increment: .5
}] },
a = {
buckets: [{
max: 20,
increment: .1
}] },
c = {
buckets: [{
max: 20,
increment: .01
}] },
u = {
buckets: [{
max: 3,
increment: .01
}, {
max: 8,
increment: .05
}, {
max: 20,
increment: .5
}] },
s = {
buckets: [{
max: 5,
increment: .05
}, {
max: 10,
increment: .1
}, {
max: 20,
increment: .5
}] };

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, i, n),
med: “” === r ? “” : f(e, a, n),
high: “” === r ? “” : f(e, c, n),
auto: “” === r ? “” : f(e, s, n),
dense: “” === r ? “” : f(e, u, n),
custom: “” === r ? “” : f(e, t, n)
};
}

function f(n, e, r) {
var o = “”;
if (!h(e)) return o;
var t,
i,
a,
c,
u,
s,
d,
f,
l,
p = e.buckets.reduce(function (e, t) {
return e.max > t.max ? e : t;
}, {
max: 0
}),
g = 0,
y = b()(e.buckets, function (e) {
if (n > p.max * r) {
var t = e.precision;
void 0 === t && (t = v), o = (e.max * r).toFixed(t);
} else {
if (n <= e.max * r && g * r <= n) return e.min = g, e;
g = e.max;
}
});
return y && (t = n, a = r, c = void 0 !== (i = y).precision ? i.precision : v, u = i.increment * a, s = i.min * a, d = Math.pow(10, c + 2), f = (t * d – s * d) / (u * d), l = Math.floor(f) * u + s, o = (l = Number(l.toFixed(10))).toFixed(c)), o;
}

function h(e) {
if (o.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;
}
}, function (e, t) {
e.exports = function (e, t) {
return {
enumerable: !(1 & e),
configurable: !(2 & e),
writable: !(4 & e),
value: t
};
};
}, function (e, t, n) {
var r = n(73),
o = n(49);

e.exports = function (e) {
return r(o(e));
};
}, function (e, t) {
var n = {}.toString;

e.exports = function (e) {
return n.call(e).slice(8, -1);
};
}, function (e, t) {
e.exports = function (e) {
if (null == e) throw TypeError(“Can’t call method on ” + e);
return e;
};
}, function (e, t, n) {
var r = n(58),
o = Math.min;

e.exports = function (e) {
return 0 < e ? o(r(e), 9007199254740991) : 0;
};
}, function (e, t) {
e.exports = function () {};
}, function (e, t, n) {
var r = n(25);
e.exports = r;
}, function (e, t) {
e.exports = {};
}, function (e, t, n) {
var r,
o,
i,
a,
c,
u,
s,
d,
f = n(122),
l = n(22),
p = n(23),
g = n(29),
y = n(24),
b = n(65),
v = n(53),
h = l.WeakMap;
s = f ? (r = new h(), o = r.get, i = r.has, a = r.set, c = function c(e, t) {
return a.call(r, e, t), t;
}, u = function u(e) {
return o.call(r, e) || {};
}, function (e) {
return i.call(r, e);
}) : (v[d = b(“state”)] = !0, c = function c(e, t) {
return g(e, d, t), t;
}, u = function u(e) {
return y(e, d) ? e[d] : {};
}, function (e) {
return y(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;
};
}
};
}, function (e, t, n) {
var o = n(23);

e.exports = function (e, t) {
if (!o(e)) return e;
var n, r;
if (t && “function” == typeof (n = e.toString) && !o(r = n.call(e))) return r;
if (“function” == typeof (n = e.valueOf) && !o(r = n.call(e))) return r;
if (!t && “function” == typeof (n = e.toString) && !o(r = n.call(e))) return r;
throw TypeError(“Can’t convert object to primitive value”);
};
}, function (e, t, n) {
function r(p) {
var g = 1 == p,
y = 2 == p,
b = 3 == p,
v = 4 == p,
h = 6 == p,
m = 5 == p || h;
return function (e, t, n, r) {
for (var o, i, a = E(e), c = A(a), u = S(t, n, 3), s = O(c.length), d = 0, f = r || I, l = g ? f(e, s) : y ? f(e, 0) : void 0; d < s; d++) {
if ((m || d in c) && (i = u(o = c[d], d, a), p)) if (g) l[d] = i;else if (i) switch (p) {
case 3:
return !0;

      case 5:
        return o;

      case 6:
        return d;

      case 2:
        T.call(l, o);
    } else if (v) return !1;
  }

  return h ? -1 : b || v ? v : l;
};

}

var S = n(21),
A = n(73),
E = n(57),
O = n(50),
I = n(110),
T = [].push;
e.exports = {
forEach: r(0),
map: r(1),
filter: r(2),
some: r(3),
every: r(4),
find: r(5),
findIndex: r(6)
};
}, function (e, t, n) {
var r = n(49);

e.exports = function (e) {
return Object(r(e));
};
}, function (e, t) {
var n = Math.ceil,
r = Math.floor;

e.exports = function (e) {
return isNaN(e = +e) ? 0 : (0 < e ? r : n)(e);
};
}, function (e, t) {
var n = 0,
r = Math.random();

e.exports = function (e) {
return “Symbol(” + String(void 0 === e ? “” : e) + “)_” + (++n + r).toString(36);
};
}, function (e, t, n) {
function a(e) {
throw e;
}

var c = n(27),
u = n(28),
s = n(24),
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,
o = s(t, 0) ? t[0] : a,
i = 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, o, i);
});
};
}, function (e, t, n) {
var r = n(62),
o = n(36),
i = n(19)(“iterator”);

e.exports = function (e) {
if (null != e) return e[i] || e[“@@iterator”] || o[r(e)];
};
}, function (e, t, n) {
var r = n(63),
o = n(48),
i = n(19)(“toStringTag”),
a = “Arguments” == o(function () {
return arguments;
}());
e.exports = r ? o : function (e) {
var t, n, r;
return void 0 === e ? “Undefined” : null === e ? “Null” : “string” == typeof (n = function (e, t) {
try {
return e[t];
} catch (e) {}
}(t = Object(e), i)) ? n : a ? o(t) : “Object” == (r = o(t)) && “function” == typeof t.callee ? “Arguments” : r;
};
}, function (e, t, n) {
var r = {};
r[n(19)(“toStringTag”)] = “z”, e.exports = “[object z]” === String(r);
}, function (e, t, n) {
var i = n(63),
a = n(31).f,
c = n(29),
u = n(24),
s = n(121),
d = n(19)(“toStringTag”);

e.exports = function (e, t, n, r) {
var o;
e && (o = n ? e : e.prototype, u(o, d) || a(o, d, {
configurable: !0,
value: t
}), r && !i && c(o, “toString”, s));
};
}, function (e, t, n) {
var r = n(76),
o = n(59),
i = r(“keys”);

e.exports = function (e) {
return i[e] || (i[e] = o(e));
};
}, function (e, t, n) {
“use strict”;

function v() {
return this;
}

var h = n(14),
m = n(130),
S = n(89),
A = n(132),
E = n(64),
O = n(29),
I = n(87),
r = n(19),
T = n(16),
j = n(36),
o = n(88),
w = o.IteratorPrototype,
C = o.BUGGY_SAFARI_ITERATORS,
x = r(“iterator”),
U = “values”,
_ = “entries”;

e.exports = function (e, t, n, r, o, i, a) {
m(n, t, r);

function c(e) {
  if (e === o && y) return y;
  if (!C && e in p) return p[e];

  switch (e) {
    case "keys":
    case U:
    case _:
      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[x] || p["@@iterator"] || o && p[o],
    y = !C && g || c(o),
    b = "Array" == t && p.entries || g;
if (b && (u = S(b.call(new e())), w !== Object.prototype && u.next && (T || S(u) === w || (A ? A(u, w) : "function" != typeof u[x] && O(u, x, v)), E(u, f, !0, !0), T && (j[f] = v))), o == U && g && g.name !== U && (l = !0, y = function y() {
  return g.call(this);
}), T && !a || p[x] === y || O(p, x, y), j[t] = y, o) if (s = {
  values: c(U),
  keys: i ? y : c("keys"),
  entries: c(_)
}, a) for (d in s) {
  !C && !l && d in p || I(p, d, s[d]);
} else h({
  target: t,
  proto: !0,
  forced: C || l
}, s);
return s;

};
}, function (e, t, n) {
“use strict”;

var r = n(172);
e.exports = Function.prototype.bind || r;
}, function (e, t, n) {
“use strict”;

n.d(t, “a”, function () {
return i;
});
var r = n(0),
c = {};

function o(e, t, n) {
var r,
o,
i,
a = (o = n, i = c[r = e] = c[r] || {
bidders: {}
}, o ? i.bidders[o] = i.bidders[o] || {} : i);
return a[t] = (a[t] || 0) + 1, a[t];
}

var i = {
incrementRequestsCounter: function incrementRequestsCounter(e) {
return o(e, “requestsCounter”);
},
incrementBidderRequestsCounter: function incrementBidderRequestsCounter(e, t) {
return o(e, “requestsCounter”, t);
},
incrementBidderWinsCounter: function incrementBidderWinsCounter(e, t) {
return o(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;
}
};
}, function (e, t, n) {
var r = n(238);
e.exports = r;
}, 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.executeStorageCallbacks = K;
var r = n(20),
o = n(0),
i = n(246),
a = n(44),
d = n(3),
v = n(26),
f = n(41),
c = n(13),
u = n(247),
s = n(12),
l = n.n(s),
p = n(68),
h = n(10),
g = n(32),
y = n(9);

function b(e) {
return (b = “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 m() {
return (m = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];

    for (var r in n) {
      Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
    }
  }

  return e;
}).apply(this, arguments);

}

var S = Object(r.a)(),
A = n(5),
E = n(0),
O = n(7).default,
I = n(8),
T = a.a.triggerUserSyncs,
j = A.EVENTS,
w = j.ADD_AD_UNITS,
C = j.BID_WON,
x = j.REQUEST_BIDS,
U = j.SET_TARGETING,
_ = j.AD_RENDER_FAILED,
B = A.AD_RENDER_FAILED_REASON,
R = B.PREVENT_WRITING_ON_MAIN_DOCUMENT,
P = B.NO_AD,
k = B.EXCEPTION,
D = B.CANNOT_FIND_AD,
N = B.MISSING_DOC_OR_ADID,
M = {
bidWon: function bidWon(e) {
var t = v.a.getBidsRequested().map(function (e) {
return e.bids.map(function (e) {
return e.adUnitCode;
});
}).reduce(o.flatten).filter(o.uniques);
return !!E.contains(t, e) || void E.logError(‘The “‘ + e + ‘” placement is not defined.’);
}
};

function q(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(o.isArrayOfNums)(e, 2);
}) ? n = e : Object(o.isArrayOfNums)(e, 2) && n.push(e)), n;
}

function F(e) {
var t = e.mediaTypes.banner,
n = G(t.sizes);
0 < n.length ? (t.sizes = n, e.sizes = n) : (E.logError(“Detected a mediaTypes.banner object without a proper sizes field. Please ensure the sizes are listed like: [[300, 250], …]. Removing invalid mediaTypes.banner object from request.”), delete e.mediaTypes.banner);
}

function W(e) {
var t = e.mediaTypes.video,
n = “number” == typeof t.playerSize[0] ? 2 : 1,
r = G(t.playerSize, n);
0 < r.length ? (2 == n && E.logInfo(“Transforming video.playerSize from [640,480] to [[640,480]] so it’s in the proper format.”), t.playerSize = r, e.sizes = r) : (E.logError(“Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request.”), delete e.mediaTypes.video.playerSize);
}

function L(e) {
var t = e.mediaTypes.native;
t.image && t.image.sizes && !Array.isArray(t.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 e.mediaTypes.native.image.sizes), t.image && t.image.aspect_ratios && !Array.isArray(t.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 e.mediaTypes.native.image.aspect_ratios), t.icon && t.icon.sizes && !Array.isArray(t.icon.sizes) && (E.logError(“Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request.”), delete e.mediaTypes.native.icon.sizes);
}

Object(u.a)(), S.bidderSettings = S.bidderSettings || {}, S.libLoaded = !0, S.version = “v3.23.0”, E.logInfo(“Prebid.js v3.23.0 loaded”), S.adUnits = S.adUnits || [], S.triggerUserSyncs = T;
var z = {
validateBannerMediaType: F,
validateVideoMediaType: W,
validateNativeMediaType: L,
validateSizes: G
},
V = Object(c.b)(“sync”, function (e) {
return e.filter(function (e) {
var t = e.mediaTypes;
return t && 0 !== Object.keys(t).length ? (t.banner && F(e), t.video && t.video.playerSize && W(e), t.native && L(e), !0) : (E.logError(“Detected adUnit.code ‘”.concat(e.code, “‘ did not have a ‘mediaTypes’ object defined. This is a required field for the auction, so this adUnit has been removed.”)), !1);
});
}, “checkAdUnitSetup”);

function H(e) {
var n = v.ae.filter(E.bind.call(o.adUnitsFilter, this, v.a.getAdUnitCodes())),
r = v.a.getLastAuctionId();
return n.map(function (e) {
return e.adUnitCode;
}).filter(o.uniques).map(function (t) {
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 m(e, t);
}, {});
}

function J(e) {
var t = e.reason,
n = e.message,
r = e.bid,
o = e.id,
i = {
reason: t,
message: n
};
r && (i.bid = r), o && (i.adId = o), E.logError(n), I.emit(_, i);
}

function K(e, t) {
!function (e) {
var t;

  for (; t = e.shift();) {
    t();
  }
}(y.c), e.call(this, t);

}

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/human-interest/2020/10/,”prebid.js”, e);
}
});
}

S.getAdserverTargetingForAdUnitCodeStr = function (e) {
if (E.logInfo(“Invoking pbjs.getAdserverTargetingForAdUnitCodeStr”, arguments), e) {
var t = S.getAdserverTargetingForAdUnitCode(e);
return E.transformAdServerTargetingObj(t);
}

E.logMessage("Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode");

}, S.getAdserverTargetingForAdUnitCode = function (e) {
return S.getAdserverTargeting(e)[e];
}, S.getAdserverTargeting = function (e) {
return E.logInfo(“Invoking pbjs.getAdserverTargeting”, arguments), f.a.getAllTargeting(e);
}, S.getNoBids = function () {
return E.logInfo(“Invoking pbjs.getNoBids”, arguments), H(“getNoBids”);
}, S.getBidResponses = function () {
return E.logInfo(“Invoking pbjs.getBidResponses”, arguments), H(“getBidsReceived”);
}, S.getBidResponsesForAdUnitCode = function (t) {
return {
bids: v.a.getBidsReceived().filter(function (e) {
return e.adUnitCode === t;
})
};
}, S.setTargetingForGPTAsync = function (e, t) {
var n;
E.logInfo(“Invoking pbjs.setTargetingForGPTAsync”, arguments), Object(o.isGptPubadsDefined)() ? (n = f.a.getAllTargeting(e), f.a.resetPresetTargeting(e, t), f.a.setTargetingForGPT(n, t), Object.keys(n).forEach(function (t) {
Object.keys(n[t]).forEach(function (e) {
“hb_adid” === e && v.a.setStatusForBids(n[t][e], A.BID_STATUS.BID_TARGETING_SET);
});
}), I.emit(U, n)) : E.logError(“window.googletag is not defined on the page”);
}, S.setTargetingForAst = function (e) {
E.logInfo(“Invoking pbjs.setTargetingForAn”, arguments), f.a.isApntagDefined() ? (f.a.setTargetingForAst(e), I.emit(U, f.a.getAllTargeting())) : E.logError(“window.apntag is not defined on the page”);
}, S.renderAd = function (e, t) {
if (E.logInfo(“Invoking pbjs.renderAd”, arguments), E.logMessage(“Calling renderAd with adId :” + t), e && t) try {
var n,
r,
o,
i,
a,
c,
u,
s,
d,
f,
l,
p,
g = v.a.findBidByAdId(t);
g ? (g.ad = E.replaceAuctionPrice(g.ad, g.cpm), g.adUrl = E.replaceAuctionPrice(g.adUrl, g.cpm), v.a.addWinningBid(g), I.emit(C, g), n = g.height, r = g.width, o = g.ad, i = g.mediaType, a = g.adUrl, c = g.renderer, u = document.createComment(“Creative “.concat(g.creativeId, ” served by “).concat(g.bidder, ” Prebid.js Header Bidding”)), E.insertElement(u, e, “body”), Object(h.c)(c) ? Object(h.b)(c, g) : e === document && !E.inIframe() || “video” === i ? (s = “Error trying to write ad. Ad render call ad id “.concat(t, ” was prevented from writing to the main document.”), J({
reason: R,
message: s,
bid: g,
id: t
})) : o ? (navigator.userAgent && -1 < navigator.userAgent.toLowerCase().indexOf(“firefox/”) && (d = navigator.userAgent.toLowerCase().match(/firefox/([d.]+)/)[1]) && parseInt(d, 10) < 67 && e.open(“text/html”https://slate.com/human-interest/2020/10/,”replace”), e.write(o), e.close(), q(e, r, n), E.callBurl(g)) : a ? ((f = E.createInvisibleIframe()).height = n, f.width = r, f.style.display = “inline”, f.style.overflow = “hidden”, f.src = a, E.insertElement(f, e, “body”), q(e, r, n), E.callBurl(g)) : (l = “Error trying to write ad. No ad for bid response id: “.concat(t), J({
reason: P,
message: l,
bid: g,
id: t
}))) : (p = “Error trying to write ad. Cannot find ad by given id : “.concat(t), J({
reason: D,
message: p,
id: t
}));
} catch (e) {
var y = “Error trying to write ad Id :”.concat(t, ” to the page:”).concat(e.message);
J({
reason: k,
message: y,
id: t
});
} else {
var b = “Error trying to write ad Id :”.concat(t, ” to the page. Missing document or adId”);
J({
reason: N,
message: b,
id: t
});
}
}, S.removeAdUnit = function (e) {
E.logInfo(“Invoking pbjs.removeAdUnit”, arguments), e ? (E.isArray(e) ? e : [e]).forEach(function (e) {
for (var t = S.adUnits.length – 1; 0 <= t; t–) {
S.adUnits[t].code === e && S.adUnits.splice(t, 1);
}
}) : S.adUnits = [];
}, S.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,
o = e.adUnitCodes,
i = e.labels,
a = e.auctionId;
I.emit(x);
var c = n || d.b.getConfig(“bidderTimeout”),
r = r || S.adUnits;

if (E.logInfo("Invoking pbjs.requestBids", arguments), o && o.length ? r = r.filter(function (e) {
  return l()(o, e.code);
}) : o = r && r.map(function (e) {
  return e.code;
}), (r = V(r)).forEach(function (o) {
  var i = Object.keys(o.mediaTypes || {
    banner: "banner"
  }),
      e = o.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;
  o.transactionId = E.generateUUID(), r.forEach(function (t) {
    var e = a[t],
        n = e && e.getSpec && e.getSpec(),
        r = n && n.supportedMediaTypes || ["banner"];
    i.some(function (e) {
      return l()(r, e);
    }) ? p.a.incrementBidderRequestsCounter(o.code, t) : (E.logWarn(E.unsupportedBidderMessage(o, t)), o.bids = o.bids.filter(function (e) {
      return e.bidder !== t;
    }));
  }), p.a.incrementRequestsCounter(o.code);
}), r && 0 !== r.length) {
  var u = v.a.createAuction({
    adUnits: r,
    adUnitCodes: o,
    callback: t,
    cbTimeout: c,
    labels: i,
    auctionId: a
  }),
      s = r.length;
  15 < s && E.logInfo("Current auction ".concat(u.getAuctionId(), " contains ").concat(s, " adUnits."), r), o.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);
}

}), S.requestBids.before(K, 49), S.addAdUnits = function (e) {
E.logInfo(“Invoking pbjs.addAdUnits”, arguments), E.isArray(e) ? S.adUnits.push.apply(S.adUnits, e) : “object” === b(e) && S.adUnits.push(e), I.emit(w);
}, S.onEvent = function (e, t, n) {
E.logInfo(“Invoking pbjs.onEvent”, arguments), E.isFn(t) ? !n || M[e].call(null, n) ? I.on(e, t, n) : E.logError(‘The id provided is not valid for event “‘ + e + ‘” and no handler was set.’) : E.logError(‘The event handler provided is not a function and was not set on event “‘ + e + ‘”.’);
}, S.offEvent = function (e, t, n) {
E.logInfo(“Invoking pbjs.offEvent”, arguments), n && !M[e].call(null, n) || I.off(e, t, n);
}, S.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);
}

}, S.registerAnalyticsAdapter = function (e) {
E.logInfo(“Invoking pbjs.registerAnalyticsAdapter”, arguments);

try {
  O.registerAnalyticsAdapter(e);
} catch (e) {
  E.logError("Error registering analytics adapter : " + e.message);
}

}, S.createBid = function (e) {
return E.logInfo(“Invoking pbjs.createBid”, arguments), Object(g.a)(e);
}, S.enableAnalytics = 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 {}”);
}, S.aliasBidder = function (e, t) {
E.logInfo(“Invoking pbjs.aliasBidder”, arguments), e && t ? O.aliasBidAdapter(e, t) : E.logError(“bidderCode and alias must be passed as arguments”https://slate.com/human-interest/2020/10/,”pbjs.aliasBidder”);
}, S.getAllWinningBids = function () {
return v.a.getAllWinningBids();
}, S.getAllPrebidWinningBids = function () {
return v.a.getBidsReceived().filter(function (e) {
return e.status === A.BID_STATUS.BID_TARGETING_SET;
});
}, S.getHighestCpmBids = function (e) {
return f.a.getWinningBids(e);
}, S.markWinningBidAsUsed = function (t) {
var e = [];
t.adUnitCode && t.adId ? e = v.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 = v.a.getBidsReceived().filter(function (e) {
return e.adId === t.adId;
}) : E.logWarn(“Inproper usage of markWinningBidAsUsed. It’ll need an adUnitCode and/or adId to function.”), 0 < e.length && (e[0].status = A.BID_STATUS.RENDERED);
}, S.getConfig = d.b.getConfig, S.setConfig = d.b.setConfig, S.setBidderConfig = d.b.setBidderConfig, S.que.push(function () {
return Object(i.a)();
}), S.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”);
}, S.que.push = S.cmd.push, S.processQueue = function () {
c.b.ready(), $(S.que), $(S.cmd);
}, t.default = S;
},, function (e, t, n) {
“use strict”;

t.a = function (t, n) {
i.adServers = i.adServers || {}, i.adServers[t] = i.adServers[t] || {}, Object.keys(n).forEach(function (e) {
i.adServers[t][e] ? Object(o.logWarn)(“Attempting to add an already registered function property “.concat(e, ” for AdServer “).concat(t, “.”)) : i.adServers[t][e] = n[e];
});
};

var r = n(20),
o = n(0),
i = Object(r.a)();
}, function (e, t, n) {
var r = n(28),
o = n(48),
i = “”.split;
e.exports = r(function () {
return !Object(“z”).propertyIsEnumerable(0);
}) ? function (e) {
return “String” == o(e) ? i.call(e, “”) : Object(e);
} : Object;
}, function (e, t, n) {
var r = n(27),
o = n(28),
i = n(75);
e.exports = !r && !o(function () {
return 7 != Object.defineProperty(i(“div”), “a”, {
get: function get() {
return 7;
}
}).a;
});
}, function (e, t, n) {
var r = n(22),
o = n(23),
i = r.document,
a = o(i) && o(i.createElement);

e.exports = function (e) {
return a ? i.createElement(e) : {};
};
}, function (e, t, n) {
var r = n(16),
o = n(77);
(e.exports = function (e, t) {
return o[e] || (o[e] = void 0 !== t ? t : {});
})(“versions”, []).push({
version: “3.6.4”,
mode: r ? “pure” : “global”,
copyright: “© 2020 Denis Pushkarev (zloirock.ru)”
});
}, function (e, t, n) {
var r = n(22),
o = n(112),
i = “core-js_shared“,
a = r[i] || o(i, {});
e.exports = a;
}, function (e, t, n) {
var r = n(28);
e.exports = !!Object.getOwnPropertySymbols && !r(function () {
return !String(Symbol());
});
}, function (e, t, n) {
function r(c) {
return function (e, t, n) {
var r,
o = u(e),
i = s(o.length),
a = d(n, i);

  if (c && t != t) {
    for (; a < i;) {
      if ((r = o[a++]) != r) return !0;
    }
  } else for (; a < i; a++) {
    if ((c || a in o) && o[a] === t) return c || a || 0;
  }

  return !c && -1;
};

}

var u = n(47),
s = n(50),
d = n(116);
e.exports = {
includes: r(!0),
indexOf: r(!1)
};
}, function (e, t, n) {
var r = n(117);
n(140), n(142), n(144), n(146), n(148), n(149), n(150), n(151), n(152), n(153), n(154), n(155), n(156), n(157), n(158), n(159), n(160), n(161), e.exports = r;
}, function (e, t, n) {
function r(e) {
c(e, d, {
value: {
objectID: “O” + ++f,
weakData: {}
}
});
}

var o = n(53),
i = n(23),
a = n(24),
c = n(31).f,
u = n(59),
s = n(120),
d = u(“meta”),
f = 0,
l = Object.isExtensible || function () {
return !0;
},
p = e.exports = {
REQUIRED: !1,
fastKey: function fastKey(e, t) {
if (!i(e)) return “symbol” == _typeof(e) ? e : (“string” == typeof e ? “S” : “P”) + e;

  if (!a(e, d)) {
    if (!l(e)) return "F";
    if (!t) return "E";
    r(e);
  }

  return e[d].objectID;
},
getWeakData: 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;
}

};

o[d] = !0;
}, function (e, t, n) {
var r = n(19),
o = n(36),
i = r(“iterator”),
a = Array.prototype;

e.exports = function (e) {
return void 0 !== e && (o.Array === e || a[i] === e);
};
}, function (e, t, n) {
var i = n(15);

e.exports = function (t, e, n, r) {
try {
return r ? e(i(n)[0], n[1]) : e(n);
} catch (e) {
var o = t.return;
throw (void 0 !== o && i(o.call(t)), e);
}
};
}, function (e, t) {
e.exports = function (e, t, n) {
if (!(e instanceof t)) throw TypeError(“Incorrect ” + (n ? n + ” ” : “”) + “invocation”);
return e;
};
}, function (e, t, n) {
function r() {}

function o(e) {
return “‘));else {
if (!0 === d.b.getConfig(“enableSendAllBids”)) return;
p.native = {
title: (t = e.native).products[0].title,
body: t.products[0].description,
sponsoredBy: t.advertiser.description,
icon: t.advertiser.logo,
image: t.products[0].image,
clickUrl: t.products[0].click_url,
privacyLink: t.privacy.optout_click_url,
privacyIcon: t.privacy.optout_image_url,
cta: t.products[0].call_to_action,
price: t.products[0].price,
impressionTrackers: t.impression_pixels.map(function (t) {
return t.url;
})
}, p.mediaType = h.c;
}
} else e.video ? (p.vastUrl = e.displayurl, p.mediaType = h.d) : p.ad = e.creative;
c.push(p);
}), c;
},
onTimeout: function onTimeout(t) {
T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.auctionId).handleBidTimeout();
},
onBidWon: function onBidWon(t) {
T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.auctionId).handleBidWon(t);
},
onSetTargeting: function onSetTargeting(t) {
T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.auctionId).handleSetTargeting(t);
}
};

function T() {
  return "undefined" != typeof Criteo && Criteo.PubTag && Criteo.PubTag.Adapters && Criteo.PubTag.Adapters.Prebid;
}

function C(t) {
  return f.deepAccess(t, "mediaTypes.banner.sizes") || t.sizes;
}

function A(t, e) {
  return Array.isArray(t[0]) ? t.map(function (t) {
    return e(t);
  }) : [e(t)];
}

function S(t) {
  return t[0] + "x" + t[1];
}

function I(t) {
  return void 0 === t[0] && void 0 === t[1] ? "2x2" : t[0] + "x" + t[1];
}

function R(t) {
  return void 0 !== f.deepAccess(t, "params.video") && void 0 !== f.deepAccess(t, "mediaTypes.video");
}

function x() {
  try {
    var t,
        e,
        r,
        i,
        o,
        n = "criteo_fast_bid",
        s = "// Hash: ",
        a = y.getDataFromLocalStorage(n);
    null !== a && (t = a.indexOf("n"), (e = a.substr(0, t).trim()).substr(0, s.length) !== s ? (f.logWarn("No hash found in FastBid"), y.removeDataFromLocalStorage(n)) : (r = e.substr(s.length), i = a.substr(t + 1), Object(p.verify)(i, r, g, b) ? (f.logInfo("Using Criteo FastBid"), (o = document.createElement("script")).type = "text/javascript", o.text = i, f.insertElement(o)) : (f.logWarn("Invalid Criteo FastBid found"), y.removeDataFromLocalStorage(n))));
  } catch (t) {}
}

Object(i.registerBidder)(s);

},
382: function _(t, e, r) {
“use strict”;

Object.defineProperty(e, "__esModule", {
  value: !0
});
var a = r(383),
    p = r(384);

e.verify = function (t, e, r, i) {
  var o = new a.BigInteger(a.b64toHex(e)),
      n = new a.BigInteger(a.b64toHex(r)),
      s = o.modPowInt(i, n);
  return a.removeExtraSymbols(s.toHexString()) === p.Sha256.hash(t);
};

},
383: function _(t, e, r) {
“use strict”;

var i;
Object.defineProperty(e, "__esModule", {
  value: !0
});
var o = (g.prototype.toHexString = function () {
  if (this.s < 0) return "-" + this.negate().toHexString();
  var t,
      e = !1,
      r = "",
      i = this.t,
      o = this.DB - i * this.DB % 4;
  if (0 < i--) for (o < this.DB && 0 < (t = this[i] >> o) && (e = !0, r = c(t)); 0 <= i;) {
    o < 4 ? (t = (this[i] & (1 << o) - 1) << 4 - o, t |= this[--i] >> (o += this.DB - 4)) : (t = this[i] >> (o -= 4) & 15, o <= 0 && (o += this.DB, --i)), 0 < t && (e = !0), e && (r += c(t));
  }
  return e ? r : "0";
}, g.prototype.fromHexString = function (t) {
  if (null !== t) {
    this.t = 0, this.s = 0;

    for (var e = t.length, r = !1, i = 0; 0 <= --e;) {
      var o = p(t, e);
      o < 0 ? "-" == t.charAt(e) && (r = !0) : (r = !1, 0 == i ? this[this.t++] = o : i + 4 > this.DB ? (this[this.t - 1] |= (o & (1 << this.DB - i) - 1) << i, this[this.t++] = o >> this.DB - i) : this[this.t - 1] |= o << i, (i += 4) >= this.DB && (i -= this.DB));
    }

    this.clamp(), r && g.ZERO.subTo(this, this);
  }
}, g.prototype.negate = function () {
  var t = T();
  return g.ZERO.subTo(this, t), t;
}, g.prototype.abs = function () {
  return this.s < 0 ? this.negate() : this;
}, g.prototype.mod = function (t) {
  var e = T();
  return this.abs().divRemTo(t, null, e), this.s < 0 && 0 < e.compareTo(g.ZERO) && t.subTo(e, e), e;
}, g.prototype.copyTo = function (t) {
  for (var e = this.t - 1; 0 <= e; --e) {
    t[e] = this[e];
  }

  t.t = this.t, t.s = this.s;
}, g.prototype.lShiftTo = function (t, e) {
  for (var r = t % this.DB, i = this.DB - r, o = (1 << i) - 1, n = Math.floor(t / this.DB), s = this.s << r & this.DM, a = this.t - 1; 0 <= a; --a) {
    e[a + n + 1] = this[a] >> i | s, s = (this[a] & o) << r;
  }

  for (a = n - 1; 0 <= a; --a) {
    e[a] = 0;
  }

  e[n] = s, e.t = this.t + n + 1, e.s = this.s, e.clamp();
}, g.prototype.invDigit = 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;
}, g.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;
}, g.prototype.squareTo = function (t) {
  for (var e = this.abs(), r = t.t = 2 * e.t; 0 <= --r;) {
    t[r] = 0;
  }

  for (r = 0; r < e.t - 1; ++r) {
    var i = e.am(r, e[r], t, 2 * r, 0, 1);
    (t[r + e.t] += e.am(r + 1, 2 * e[r], t, 2 * r + 1, i, e.t - r - 1)) >= e.DV && (t[r + e.t] -= e.DV, t[r + e.t + 1] = 1);
  }

  0 < t.t && (t[t.t - 1] += e.am(r, e[r], t, 2 * r, 0, 1)), t.s = 0, t.clamp();
}, g.prototype.multiplyTo = function (t, e) {
  var r = this.abs(),
      i = t.abs(),
      o = r.t;

  for (e.t = o + i.t; 0 <= --o;) {
    e[o] = 0;
  }

  for (o = 0; o < i.t; ++o) {
    e[o + r.t] = r.am(0, i[o], e, o, 0, r.t);
  }

  e.s = 0, e.clamp(), this.s != t.s && g.ZERO.subTo(e, e);
}, g.prototype.divRemTo = function (t, e, r) {
  var i = t.abs();

  if (!(i.t <= 0)) {
    var o = this.abs();
    if (o.t < i.t) return null != e && e.fromHexString("0"), void (null != r && this.copyTo(r));
    null == r && (r = T());
    var n = T(),
        s = this.s,
        a = t.s,
        p = this.DB - C(i[i.t - 1]);
    0 < p ? (i.lShiftTo(p, n), o.lShiftTo(p, r)) : (i.copyTo(n), o.copyTo(r));
    var u = n.t,
        c = n[u - 1];

    if (0 != c) {
      var d = c * (1 << this.F1) + (1 < u ? n[u - 2] >> this.F2 : 0),
          h = this.FV / d,
          f = (1 << this.F1) / d,
          l = 1 << this.F2,
          m = r.t,
          v = m - u,
          y = null == e ? T() : e;

      for (n.dlShiftTo(v, y), 0 <= r.compareTo(y) && (r[r.t++] = 1, r.subTo(y, r)), g.ONE.dlShiftTo(u, y), y.subTo(n, n); n.t < u;) {
        n[n.t++] = 0;
      }

      for (; 0 <= --v;) {
        var b = r[--m] == c ? this.DM : Math.floor(r[m] * h + (r[m - 1] + l) * f);
        if ((r[m] += n.am(0, b, r, v, 0, u)) < b) for (n.dlShiftTo(v, y), r.subTo(y, r); r[m] < --b;) {
          r.subTo(y, r);
        }
      }

      null != e && (r.drShiftTo(u, e), s != a && g.ZERO.subTo(e, e)), r.t = u, r.clamp(), 0 < p && r.rShiftTo(p, r), s < 0 && g.ZERO.subTo(r, r);
    }
  }
}, g.prototype.rShiftTo = function (t, e) {
  e.s = this.s;
  var r = Math.floor(t / this.DB);
  if (r >= this.t) e.t = 0;else {
    var i = t % this.DB,
        o = this.DB - i,
        n = (1 << i) - 1;
    e[0] = this[r] >> i;

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

    0 < i && (e[this.t - r - 1] |= (this.s & n) << o), e.t = this.t - r, e.clamp();
  }
}, g.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;
}, g.prototype.subTo = function (t, e) {
  for (var r = 0, i = 0, o = Math.min(t.t, this.t); r < o;) {
    i += this[r] - t[r], e[r++] = i & this.DM, i >>= this.DB;
  }

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

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

    i -= t.s;
  }

  e.s = i < 0 ? -1 : 0, i < -1 ? e[r++] = this.DV + i : 0 < i && (e[r++] = i), e.t = r, e.clamp();
}, g.prototype.clamp = function () {
  for (var t = this.s & this.DM; 0 < this.t && this[this.t - 1] == t;) {
    --this.t;
  }
}, g.prototype.modPowInt = function (t, e) {
  var r = new (t < 256 || e.isEven() ? d : f)(e);
  return this.exp(t, r);
}, g.prototype.exp = function (t, e) {
  if (4294967295 < t || t < 1) return g.ONE;
  var r,
      i = T(),
      o = T(),
      n = e.convert(this),
      s = C(t) - 1;

  for (n.copyTo(i); 0 <= --s;) {
    e.sqrTo(i, o), 0 < (t & 1 << s) ? e.mulTo(o, n, i) : (r = i, i = o, o = r);
  }

  return e.revert(i);
}, g.prototype.isEven = function () {
  return 0 == (0 < this.t ? 1 & this[0] : this.s);
}, g.prototype.compareTo = function (t) {
  var e = this.s - t.s;
  if (0 != e) return e;
  var r = this.t;
  if (0 != (e = r - t.t)) return this.s < 0 ? -e : e;

  for (; 0 <= --r;) {
    if (0 != (e = this[r] - t[r])) return e;
  }

  return 0;
}, g.prototype.am1 = function (t, e, r, i, o, n) {
  for (; 0 <= --n;) {
    var s = e * this[t++] + r[i] + o;
    o = Math.floor(s / 67108864), r[i++] = 67108863 & s;
  }

  return o;
}, g.prototype.am2 = function (t, e, r, i, o, n) {
  for (var s = 32767 & e, a = e >> 15; 0 <= --n;) {
    var p = 32767 & this[t],
        u = this[t++] >> 15,
        c = a * p + u * s;
    o = ((p = s * p + ((32767 & c) << 15) + r[i] + (1073741823 & o)) >>> 30) + (c >>> 15) + a * u + (o >>> 30), r[i++] = 1073741823 & p;
  }

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

  return o;
}, g);

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

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

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

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

for (var n = [], s = "0".charCodeAt(0), a = 0; a <= 9; ++a) {
  n[s++] = a;
}

for (s = "a".charCodeAt(0), a = 10; a < 36; ++a) {
  n[s++] = a;
}

for (s = "A".charCodeAt(0), a = 10; a < 36; ++a) {
  n[s++] = a;
}

function p(t, e) {
  var r = n[t.charCodeAt(e)];
  return null == r ? -1 : r;
}

e.intAt = p;
var u = "0123456789abcdefghijklmnopqrstuvwxyz";

function c(t) {
  return u.charAt(t);
}

e.int2char = c;
e.b64toHex = function (t) {
  for (var e = "", r = 0, i = 0, o = 0; o < t.length && "=" != t.charAt(o); ++o) {
    var n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(t.charAt(o));
    n < 0 || (r = 0 == r ? (e += c(n >> 2), i = 3 & n, 1) : 1 == r ? (e += c(i << 2 | n >> 4), i = 15 & n, 2) : 2 == r ? (e += c(i), e += c(n >> 2), i = 3 & n, 3) : (e += c(i << 2 | n >> 4), e += c(15 & n), 0));
  }

  return 1 == r && (e += c(i << 2)), e;
}, e.removeExtraSymbols = function (t) {
  return t.replace(/^1f+00/, "").replace("3031300d060960864801650304020105000420"https://slate.com/human-interest/2020/10/,"");
};
var d = (h.prototype.convert = function (t) {
  return t.s < 0 || 0 <= t.compareTo(this.m) ? t.mod(this.m) : t;
}, h.prototype.revert = function (t) {
  return t;
}, h.prototype.reduce = function (t) {
  t.divRemTo(this.m, null, t);
}, h.prototype.mulTo = function (t, e, r) {
  t.multiplyTo(e, r), this.reduce(r);
}, h.prototype.sqrTo = function (t, e) {
  t.squareTo(e), this.reduce(e);
}, h);

function h(t) {
  this.m = t;
}

var f = (l.prototype.convert = function (t) {
  var e = T();
  return t.abs().dlShiftTo(this.m.t, e), e.divRemTo(this.m, null, e), t.s < 0 && 0 < e.compareTo(o.ZERO) && this.m.subTo(e, e), e;
}, l.prototype.revert = function (t) {
  var e = T();
  return t.copyTo(e), this.reduce(e), e;
}, l.prototype.reduce = function (t) {
  for (; t.t <= this.mt2;) {
    t[t.t++] = 0;
  }

  for (var e = 0; e < this.m.t; ++e) {
    var r = 32767 & t[e],
        i = r * this.mpl + ((r * this.mph + (t[e] >> 15) * this.mpl & this.um) << 15) & t.DM;

    for (t[r = e + this.m.t] += this.m.am(0, i, t, e, 0, this.m.t); t[r] >= t.DV;) {
      t[r] -= t.DV, t[++r]++;
    }
  }

  t.clamp(), t.drShiftTo(this.m.t, t), 0 <= t.compareTo(this.m) && t.subTo(this.m, t);
}, l.prototype.mulTo = function (t, e, r) {
  t.multiplyTo(e, r), this.reduce(r);
}, l.prototype.sqrTo = function (t, e) {
  t.squareTo(e), this.reduce(e);
}, l);

function l(t) {
  this.m = t, this.mp = t.invDigit(), this.mpl = 32767 & this.mp, this.mph = this.mp >> 15, this.um = (1 << t.DB - 15) - 1, this.mt2 = 2 * t.t;
}

function m(t) {
  var e = T();
  return e.fromHexString(t.toString()), e;
}

e.nbv = m, o.ZERO = m(0), o.ONE = m(1), i = "Microsoft Internet Explorer" == navigator.appName ? (o.prototype.am = o.prototype.am2, 30) : "Netscape" != navigator.appName ? (o.prototype.am = o.prototype.am1, 26) : (o.prototype.am = o.prototype.am3, 28), o.prototype.DB = i, o.prototype.DM = (1 << i) - 1, o.prototype.DV = 1 << i;
o.prototype.FV = Math.pow(2, 52), o.prototype.F1 = 52 - i, o.prototype.F2 = 2 * i - 52;

},
384: function _(t, e, r) {
“use strict”;

Object.defineProperty(e, "__esModule", {
  value: !0
});
var i = (S.hash = function (t) {
  t = S.utf8Encode(t || "");

  for (var e = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298], r = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], i = (t += String.fromCharCode(128)).length / 4 + 2, o = Math.ceil(i / 16), n = new Array(o), s = 0; s < o; s++) {
    n[s] = new Array(16);

    for (var a = 0; a < 16; a++) {
      n[s][a] = t.charCodeAt(64 * s + 4 * a) << 24 | t.charCodeAt(64 * s + 4 * a + 1) << 16 | t.charCodeAt(64 * s + 4 * a + 2) << 8 | t.charCodeAt(64 * s + 4 * a + 3) << 0;
    }
  }

  var p = 8 * (t.length - 1) / Math.pow(2, 32),
      u = 8 * (t.length - 1) >>> 0;

  for (n[o - 1][14] = Math.floor(p), n[o - 1][15] = u, s = 0; s < o; s++) {
    for (var c = new Array(64), d = 0; d < 16; d++) {
      c[d] = n[s][d];
    }

    for (d = 16; d < 64; d++) {
      c[d] = S.q1(c[d - 2]) + c[d - 7] + S.q0(c[d - 15]) + c[d - 16] >>> 0;
    }

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

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

  for (var A = new Array(r.length), g = 0; g < r.length; g++) {
    A[g] = ("00000000" + r[g].toString(16)).slice(-8);
  }

  return A.join("");
}, S.utf8Encode = function (e) {
  try {
    return new TextEncoder().encode(e).reduce(function (t, e) {
      return t + String.fromCharCode(e);
    }, "");
  } catch (t) {
    return unescape(encodeURIComponent(e));
  }
}, S.ROTR = function (t, e) {
  return e >>> t | e << 32 - t;
}, S.z0 = function (t) {
  return S.ROTR(2, t) ^ S.ROTR(13, t) ^ S.ROTR(22, t);
}, S.z1 = function (t) {
  return S.ROTR(6, t) ^ S.ROTR(11, t) ^ S.ROTR(25, t);
}, S.q0 = function (t) {
  return S.ROTR(7, t) ^ S.ROTR(18, t) ^ t >>> 3;
}, S.q1 = function (t) {
  return S.ROTR(17, t) ^ S.ROTR(19, t) ^ t >>> 10;
}, S.Ch = function (t, e, r) {
  return t & e ^ ~t & r;
}, S.Maj = function (t, e, r) {
  return t & e ^ t & r ^ e & r;
}, S);

function S() {}

e.Sha256 = i;

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

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

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);
}

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

function p(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 c(e, r) {
  if (d(e)) return e[0] === r[0] && e[1] === r[1];

  for (var t = 0; t < e.length; t++) {
    if (e[t][0] === r[0] && e[t][1] === r[1]) return 1;
  }
}

function u(e, r, t, i) {
  var a = [];

  if (window.headertag && "function" == typeof window.headertag.getIdentityInfo) {
    var n,
        s = window.headertag.getIdentityInfo();
    if (s && "object" === v(s)) for (var o in s) {
      !s.hasOwnProperty(o) || !(n = s[o]).responsePending && n.data && "object" === v(n.data) && Object.keys(n.data).length && a.push(n.data);
    }
  }

  var d,
      p = {};
  p.id = e[0].bidderRequestId, p.imp = t, p.site = {}, p.ext = {}, p.ext.source = "prebid", e[0].schain && (p.source = {
    ext: {
      schain: e[0].schain
    }
  }), 0 < a.length && (p.user = {}, p.user.eids = a), document.referrer && "" !== document.referrer && (p.site.ref = document.referrer), r && (r.gdprConsent && ((d = r.gdprConsent).hasOwnProperty("gdprApplies") && (p.regs = {
    ext: {
      gdpr: d.gdprApplies ? 1 : 0
    }
  }), d.hasOwnProperty("consentString") && (p.user = p.user || {}, p.user.ext = {
    consent: d.consentString || ""
  })), r.uspConsent && b.deepSetValue(p, "regs.ext.us_privacy", r.uspConsent), r.refererInfo && (p.site.page = r.refererInfo.referer));
  var c = {},
      u = r && r.bidderCode || "ix",
      m = h.b.getConfig(u);

  if (m) {
    if ("object" === v(m.firstPartyData)) {
      var f = m.firstPartyData,
          y = "?";

      for (var l in f) {
        f.hasOwnProperty(l) && (y += "".concat(encodeURIComponent(l), "=").concat(encodeURIComponent(f[l]), "&"));
      }

      y = y.slice(0, -1), p.site.page += y;
    }

    "number" == typeof m.timeout && (c.t = m.timeout);
  }

  return c.s = e[0].params.siteId, c.v = i, c.r = JSON.stringify(p), c.ac = "j", c.sd = 1, 8.1 === i && (c.nf = 1), {
    method: "GET",
    url: "https://as-sec.casalemedia.com/cygnus",
    data: c
  };
}

var m = {
  code: "ix",
  gvlid: 10,
  supportedMediaTypes: o,
  isBidRequestValid: function isBidRequestValid(e) {
    if (!d(e.params.size)) return b.logError("ix bidder params: bid size has invalid format."), !1;
    if (!c(e.sizes, e.params.size)) return b.logError("ix bidder params: bid size is not included in ad unit sizes."), !1;
    if (e.hasOwnProperty("mediaType") && !b.contains(o, e.mediaType)) return !1;
    if (e.hasOwnProperty("mediaTypes") && !b.deepAccess(e, "mediaTypes.banner.sizes") && !b.deepAccess(e, "mediaTypes.video.playerSize")) return !1;
    if ("string" != typeof e.params.siteId && "number" != typeof e.params.siteId) return b.logError("ix bidder params: siteId must be string or number value."), !1;
    var r,
        t,
        i = e.params.hasOwnProperty("bidFloor"),
        a = e.params.hasOwnProperty("bidFloorCur");
    return !!(!i && !a || i && a && (r = e.params.bidFloor, t = e.params.bidFloorCur, Boolean("number" == typeof r && "string" == typeof t && t.match(/^[A-Z]{3}$/)))) || (b.logError("ix bidder params: bidFloor / bidFloorCur parameter has invalid format."), !1);
  },
  buildRequests: function buildRequests(e, r) {
    for (var t, i, a = [], n = [], s = [], o = null, d = 0; d < e.length; d++) {
      (o = e[d]).mediaType !== y.d && !b.deepAccess(o, "mediaTypes.video") || (o.mediaType === y.d || c(o.mediaTypes.video.playerSize, o.params.size) ? s.push(function (e) {
        var r = p(e);
        r.video = b.deepClone(e.params.video), r.video.w = e.params.size[0], r.video.h = e.params.size[1];
        var t = b.deepAccess(e, "mediaTypes.video.context");
        return t && ("instream" === t ? r.video.placement = 1 : "outstream" === t ? r.video.placement = 4 : b.logWarn("ix bidder params: video context '".concat(t, "' is not supported"))), r;
      }(o)) : b.logError("Bid size is not included in video playerSize")), o.mediaType !== y.b && !b.deepAccess(o, "mediaTypes.banner") && (o.mediaType || o.mediaTypes) || n.push((i = void 0, (i = p(t = o)).banner = {}, i.banner.w = t.params.size[0], i.banner.h = t.params.size[1], i.banner.topframe = b.inIframe() ? 0 : 1, i));
    }

    return 0 < n.length && a.push(u(e, r, n, 7.2)), 0 < s.length && a.push(u(e, r, s, 8.1)), a;
  },
  interpretResponse: function interpretResponse(e, r) {
    var t = [];
    if (!e.hasOwnProperty("body") || !e.body.hasOwnProperty("seatbid")) return t;

    for (var i, a, n, s, o = e.body, d = o.seatbid, p = 0; p < d.length; p++) {
      if (d[p].hasOwnProperty("bid")) for (var c = d[p].bid, u = JSON.parse(r.data.r), m = 0; m < c.length; m++) {
        var f = function (r, e) {
          if (r) return l()(e, function (e) {
            return e.id === r;
          });
        }(c[m].impid, u.imp);

        i = c[m], a = o.cur, n = f, s = void 0, s = {}, P.hasOwnProperty(a) ? s.cpm = i.price / P[a] : s.cpm = i.price / g, s.requestId = i.impid, s.dealId = b.deepAccess(i, "ext.dealid"), s.netRevenue = I, s.currency = a, s.creativeId = i.hasOwnProperty("crid") ? i.crid : "-", b.deepAccess(i, "ext.vasturl") ? (s.vastUrl = i.ext.vasturl, s.width = n.video.w, s.height = n.video.h, s.mediaType = y.d, s.ttl = x) : (s.ad = i.adm, s.width = i.w, s.height = i.h, s.mediaType = y.b, s.ttl = w), s.meta = {}, s.meta.networkId = b.deepAccess(i, "ext.dspid"), s.meta.brandId = b.deepAccess(i, "ext.advbrandid"), s.meta.brandName = b.deepAccess(i, "ext.advbrand"), t.push(s);
      }
    }

    return t;
  },
  transformBidParams: function transformBidParams(e) {
    return b.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)(m);

}
}, [481]);
pbjsChunk([184], {
493: function _(e, t, r) {
e.exports = r(494);
},
494: 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(9);

function g() {
  return (g = Object.assign || function (e) {
    for (var t = 1; t < arguments.length; t++) {
      var r = arguments[t];

      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/human-interest/2020/10/,"/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
      }), 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(t)) return a.substring(t.length, a.length);
    }

    return null;
  },
  _getCrbFromCookie: function _getCrbFromCookie() {
    try {
      var e = JSON.parse(decodeURIComponent(l._readCookie("krg_crb")));

      if (e && e.v) {
        var t = JSON.parse(atob(e.v));
        if (t) return t;
      }

      return {};
    } catch (e) {
      return {};
    }
  },
  _getCrbFromLocalStorage: function _getCrbFromLocalStorage() {
    try {
      return JSON.parse(atob(l._getLocalStorageSafely("krg_crb")));
    } catch (e) {
      return {};
    }
  },
  _getCrb: function _getCrb() {
    var e = l._getCrbFromLocalStorage();

    return Object.keys(e).length ? e : l._getCrbFromCookie();
  },
  _getKruxUserId: function _getKruxUserId() {
    return l._getLocalStorageSafely("kxkar_user");
  },
  _getKruxSegments: function _getKruxSegments() {
    return l._getLocalStorageSafely("kxkar_segs");
  },
  _getKrux: function _getKrux() {
    var e = l._getKruxSegments(),
        t = [];

    return e && (t = e.split(",")), {
      userID: l._getKruxUserId(),
      segments: t
    };
  },
  _getLocalStorageSafely: function _getLocalStorageSafely(e) {
    try {
      return u.getDataFromLocalStorage(e);
    } catch (e) {
      return null;
    }
  },
  _getUserIds: function _getUserIds(e, t) {
    var r = l._getCrb(),
        n = {
      kargoID: r.userId,
      clientID: r.clientId,
      crbIDs: r.syncIds || {},
      optOut: r.optOut,
      usp: t
    };

    return e && (n.tdID = e), n;
  },
  _getClientId: function _getClientId() {
    return l._getCrb().clientId;
  },
  _getAllMetadata: function _getAllMetadata(e, t) {
    return {
      userIDs: l._getUserIds(e, t),
      krux: l._getKrux(),
      pageURL: window.location.href,
      rawCRB: l._readCookie("krg_crb"),
      rawCRBLocalStorage: l._getLocalStorageSafely("krg_crb")
    };
  },
  _getSessionId: function _getSessionId() {
    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);

}
}, [493]);
pbjsChunk([110], {
677: function _(e, r, t) {
e.exports = t(678);
},
678: function _(e, r, t) {
“use strict”;

Object.defineProperty(r, "__esModule", {
  value: !0
}), t.d(r, "FASTLANE_ENDPOINT", function () {
  return o;
}), t.d(r, "VIDEO_ENDPOINT", function () {
  return l;
}), t.d(r, "SYNC_ENDPOINT", function () {
  return a;
}), t.d(r, "spec", function () {
  return h;
}), r.hasVideoMediaType = c, r.masSizeOrdering = S, r.determineRubiconVideoSizeId = C, r.getPriceGranularity = j, r.hasValidVideoParams = k, r.hasValidSupplyChainParams = T, r.encodeParam = w, r.resetUserSync = function () {
  R = !1;
};
var g = t(0),
    i = t(1),
    b = t(3),
    u = t(2);

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

    try {
      for (var a, s = e[Symbol.iterator](); !(i = (a = s.next()).done) && (t.push(a.value), !r || t.length !== r); i = !0) {
        ;
      }
    } catch (e) {
      n = !0, o = e;
    } finally {
      try {
        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 n(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(t)) return n(e, r);
  }(e, r) || function () {
    throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
  }();
}

function n(e, r) {
  (null == r || r > e.length) && (r = e.length);

  for (var t = 0, i = new Array(r); t < r; t++) {
    i[t] = e[t];
  }

  return i;
}

function y() {
  return (y = 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 p(e, r, t) {
  return r in e ? Object.defineProperty(e, r, {
    value: t,
    enumerable: !0,
    configurable: !0,
    writable: !0
  }) : e[r] = t, e;
}

function x(e) {
  return (x = "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 = "https://fastlane.rubiconproject.com/a/api/fastlane.json",
    l = "https://prebid-server.rubiconproject.com/openrtb2/auction",
    a = "https://eus.rubiconproject.com/usync.html",
    d = {
  FASTLANE: {
    id: "dt.id",
    keyv: "dt.keyv",
    pref: "dt.pref"
  },
  PREBID_SERVER: {
    id: "id",
    keyv: "keyv"
  }
},
    f = {
  1: "468x60",
  2: "728x90",
  5: "120x90",
  8: "120x600",
  9: "160x600",
  10: "300x600",
  13: "200x200",
  14: "250x250",
  15: "300x250",
  16: "336x280",
  17: "240x400",
  19: "300x100",
  31: "980x120",
  32: "250x360",
  33: "180x500",
  35: "980x150",
  37: "468x400",
  38: "930x180",
  39: "750x100",
  40: "750x200",
  41: "750x300",
  42: "2x4",
  43: "320x50",
  44: "300x50",
  48: "300x300",
  53: "1024x768",
  54: "300x1050",
  55: "970x90",
  57: "970x250",
  58: "1000x90",
  59: "320x80",
  60: "320x150",
  61: "1000x1000",
  64: "580x500",
  65: "640x480",
  66: "930x600",
  67: "320x480",
  68: "1800x1000",
  72: "320x320",
  73: "320x160",
  78: "980x240",
  79: "980x300",
  80: "980x400",
  83: "480x300",
  85: "300x120",
  90: "548x150",
  94: "970x310",
  95: "970x100",
  96: "970x210",
  101: "480x320",
  102: "768x1024",
  103: "480x280",
  105: "250x800",
  108: "320x240",
  113: "1000x300",
  117: "320x100",
  125: "800x250",
  126: "200x600",
  144: "980x600",
  145: "980x150",
  152: "1000x250",
  156: "640x320",
  159: "320x250",
  179: "250x600",
  195: "600x300",
  198: "640x360",
  199: "640x200",
  213: "1030x590",
  214: "980x360",
  221: "1x1",
  229: "320x180",
  230: "2000x1400",
  232: "580x400",
  234: "6x6",
  251: "2x2",
  256: "480x820",
  257: "400x600",
  258: "500x200",
  259: "998x200",
  264: "970x1000",
  265: "1920x1080",
  274: "1800x200",
  278: "320x500",
  282: "320x400",
  288: "640x380"
};

g._each(f, function (e, r) {
  return f[e] = r;
});

var h = {
  code: "rubicon",
  gvlid: 52,
  supportedMediaTypes: [u.b, u.d],
  isBidRequestValid: function isBidRequestValid(e) {
    if ("object" !== x(e.params)) return !1;

    for (var r = 0, t = ["accountId"https://slate.com/human-interest/2020/10/,"siteId"https://slate.com/human-interest/2020/10/,"zoneId"]; r < t.length; r++) {
      if (e.params[t[r]] = parseInt(e.params[t[r]]), isNaN(e.params[t[r]])) return g.logError("Rubicon: wrong format of accountId or siteId or zoneId."), !1;
    }

    var i = m(e, !0);
    return !!i && ("video" !== i || k(e));
  },
  buildRequests: function buildRequests(e, u) {
    var n,
        r = e.filter(function (e) {
      return "video" === m(e);
    }).map(function (e) {
      e.startTime = new Date().getTime();
      var r,
          t,
          i = {
        id: e.transactionId,
        test: b.b.getConfig("debug") ? 1 : 0,
        cur: ["USD"],
        source: {
          tid: e.transactionId
        },
        tmax: b.b.getConfig("TTL") || 1e3,
        imp: [{
          exp: 300,
          id: e.adUnitCode,
          secure: 1,
          ext: p({}, e.bidder, e.params),
          video: g.deepAccess(e, "mediaTypes.video") || {}
        }],
        ext: {
          prebid: {
            cache: {
              vastxml: {
                returnCreative: !1
              }
            },
            targeting: {
              includewinners: !0,
              includebidderkeys: !1,
              pricegranularity: j(b.b)
            },
            bidders: {
              rubicon: {
                integration: b.b.getConfig("rubicon.int_type") || "pbjs"
              }
            }
          }
        }
      };
      "rubicon" !== e.bidder && (i.ext.prebid.aliases = p({}, e.bidder, "rubicon")), t = "function" != typeof e.getFloor || b.b.getConfig("rubicon.disableFloors") ? parseFloat(g.deepAccess(e, "params.floor")) : "object" !== x(r = e.getFloor({
        currency: "USD",
        mediaType: "video",
        size: A(e, "video")
      })) || "USD" !== r.currency || isNaN(parseInt(r.floor)) ? void 0 : parseFloat(r.floor), isNaN(t) || (i.imp[0].bidfloor = t), i.imp[0].ext[e.bidder].video.size_id = C(e), function (r, t, e) {
        if (!r) return;
        "object" === x(b.b.getConfig("app")) ? r.app = b.b.getConfig("app") : r.site = {
          page: I(t, e)
        };
        "object" === x(b.b.getConfig("device")) && (r.device = b.b.getConfig("device"));
        t.params.video.language && ["site"https://slate.com/human-interest/2020/10/,"device"].forEach(function (e) {
          r[e] && (r[e].content = y({
            language: t.params.video.language
          }, r[e].content));
        });
      }(i, e, u), function (e, r) {
        "object" === x(e.imp[0].video) && void 0 === e.imp[0].video.skip && (e.imp[0].video.skip = r.params.video.skip);
        "object" === x(e.imp[0].video) && void 0 === e.imp[0].video.skipafter && (e.imp[0].video.skipafter = r.params.video.skipdelay);
        "object" === x(e.imp[0].video) && void 0 === e.imp[0].video.pos && ("atf" === r.params.position ? e.imp[0].video.pos = 1 : "btf" === r.params.position && (e.imp[0].video.pos = 3));
        var t = A(r, "video");
        e.imp[0].video.w = t[0], e.imp[0].video.h = t[1];
      }(i, e);

      var n,
          o = _(e, "PREBID_SERVER");

      o && g.deepSetValue(i, "user.ext.digitrust", o), u.gdprConsent && ("boolean" == typeof u.gdprConsent.gdprApplies && (n = u.gdprConsent.gdprApplies ? 1 : 0), g.deepSetValue(i, "regs.ext.gdpr", n), g.deepSetValue(i, "user.ext.consent", u.gdprConsent.consentString)), u.uspConsent && g.deepSetValue(i, "regs.ext.us_privacy", u.uspConsent), e.userId && "object" === x(e.userId) && (e.userId.tdid || e.userId.pubcid || e.userId.lipb || e.userId.idl_env) && (g.deepSetValue(i, "user.ext.eids", []), e.userId.tdid && i.user.ext.eids.push({
        source: "adserver.org",
        uids: [{
          id: e.userId.tdid,
          ext: {
            rtiPartner: "TDID"
          }
        }]
      }), e.userId.pubcid && i.user.ext.eids.push({
        source: "pubcommon",
        uids: [{
          id: e.userId.pubcid
        }]
      }), e.userId.lipb && e.userId.lipb.lipbid && (i.user.ext.eids.push({
        source: "liveintent.com",
        uids: [{
          id: e.userId.lipb.lipbid
        }]
      }), i.user.ext.tpid = {
        source: "liveintent.com",
        uid: e.userId.lipb.lipbid
      }, Array.isArray(e.userId.lipb.segments) && e.userId.lipb.segments.length && g.deepSetValue(i, "rp.target.LIseg", e.userId.lipb.segments)), e.userId.idl_env && i.user.ext.eids.push({
        source: "liveramp.com",
        uids: [{
          id: e.userId.idl_env
        }]
      })), !0 === b.b.getConfig("coppa") && g.deepSetValue(i, "regs.coppa", 1), e.schain && T(e.schain) && g.deepSetValue(i, "source.ext.schain", e.schain);
      var a,
          s = y({}, e.params.inventory, b.b.getConfig("fpd.context")),
          d = y({}, e.params.visitor, b.b.getConfig("fpd.user"));
      g.isEmpty(s) && g.isEmpty(d) || (a = {
        bidders: [u.bidderCode],
        config: {
          fpd: {}
        }
      }, g.isEmpty(s) || (a.config.fpd.site = s), g.isEmpty(d) || (a.config.fpd.user = d), g.deepSetValue(i, "ext.prebid.bidderconfig.0", a));
      var c = g.deepAccess(e, "fpd.context.pbAdSlot");
      return "string" == typeof c && c && g.deepSetValue(i.imp[0].ext, "context.data.adslot", c), e.storedAuctionResponse && g.deepSetValue(i.imp[0], "ext.prebid.storedauctionresponse.id", e.storedAuctionResponse.toString()), g.deepSetValue(i.imp[0], "ext.prebid.auctiontimestamp", u.auctionStart), {
        method: "POST",
        url: l,
        data: i,
        bidRequest: e
      };
    });
    return !0 !== b.b.getConfig("rubicon.singleRequest") ? r.concat(e.filter(function (e) {
      return "banner" === m(e);
    }).map(function (e) {
      var i = h.createSlotParams(e, u);
      return {
        method: "GET",
        url: o,
        data: h.getOrderedParams(i).reduce(function (e, r) {
          var t = i[r];
          return g.isStr(t) && "" !== t || g.isNumber(t) ? "".concat(e).concat(w(r, t), "&") : e;
        }, "") + "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 = h.combineSlotUrlParams(e.map(function (e) {
          return h.createSlotParams(e, u);
        }));
        r.push({
          method: "GET",
          url: o,
          data: h.getOrderedParams(i).reduce(function (e, r) {
            var t = i[r];
            return g.isStr(t) && "" !== t || g.isNumber(t) ? "".concat(e).concat(w(r, t), "&") : e;
          }, "") + "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/human-interest/2020/10/,"site_id"https://slate.com/human-interest/2020/10/,"zone_id"https://slate.com/human-interest/2020/10/,"size_id"https://slate.com/human-interest/2020/10/,"alt_size_ids"https://slate.com/human-interest/2020/10/,"p_pos"https://slate.com/human-interest/2020/10/,"gdpr"https://slate.com/human-interest/2020/10/,"gdpr_consent"https://slate.com/human-interest/2020/10/,"us_privacy"https://slate.com/human-interest/2020/10/,"rp_schain"https://slate.com/human-interest/2020/10/,"tpid_tdid"https://slate.com/human-interest/2020/10/,"tpid_liveintent.com"https://slate.com/human-interest/2020/10/,"tg_v.LIseg"https://slate.com/human-interest/2020/10/,"dt.id"https://slate.com/human-interest/2020/10/,"dt.keyv"https://slate.com/human-interest/2020/10/,"dt.pref"https://slate.com/human-interest/2020/10/,"rf"https://slate.com/human-interest/2020/10/,"p_geo.latitude"https://slate.com/human-interest/2020/10/,"p_geo.longitude"https://slate.com/human-interest/2020/10/,"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/human-interest/2020/10/,"x_source.tid"https://slate.com/human-interest/2020/10/,"x_source.pchain"https://slate.com/human-interest/2020/10/,"p_screen_res"https://slate.com/human-interest/2020/10/,"rp_floor"https://slate.com/human-interest/2020/10/,"rp_secure"https://slate.com/human-interest/2020/10/,"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(t).forEach(function (e) {
        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 = e.params,
        n = A(e, "banner"),
        o = v(i.latLong || [], 2),
        a = o[0],
        s = o[1],
        d = b.b.getConfig("rubicon.int_type"),
        c = {
      account_id: i.accountId,
      site_id: i.siteId,
      zone_id: i.zoneId,
      size_id: n[0],
      alt_size_ids: n.slice(1).join(",") || void 0,
      rp_floor: .01 < (i.floor = parseFloat(i.floor)) ? i.floor : .01,
      rp_secure: "1",
      tk_flint: "".concat(d || "pbjs_lite"https://slate.com/human-interest/2020/10/,"_v3.23.0"),
      "x_source.tid": e.transactionId,
      "x_source.pchain": i.pchain,
      p_screen_res: [window.screen.width, window.screen.height].join("x"),
      tk_user_key: i.userId,
      "p_geo.latitude": isNaN(parseFloat(a)) ? void 0 : parseFloat(a).toFixed(4),
      "p_geo.longitude": isNaN(parseFloat(s)) ? void 0 : parseFloat(s).toFixed(4),
      "tg_fl.eid": e.code,
      rf: I(e, r)
    };
    "function" != typeof e.getFloor || b.b.getConfig("rubicon.disableFloors") || (t = e.getFloor({
      currency: "USD",
      mediaType: "banner",
      size: "*"
    }), c.rp_hard_floor = "object" !== x(t) || "USD" !== t.currency || isNaN(parseInt(t.floor)) ? void 0 : t.floor), c.p_pos = "atf" === i.position || "btf" === i.position ? i.position : "", e.userId && (e.userId.tdid && (c.tpid_tdid = e.userId.tdid), e.userId.lipb && e.userId.lipb.lipbid && (c["tpid_liveintent.com"] = e.userId.lipb.lipbid, Array.isArray(e.userId.lipb.segments) && e.userId.lipb.segments.length && (c["tg_v.LIseg"] = e.userId.lipb.segments.join(","))), e.userId.idl_env && (c["tpid_liveramp.com"] = e.userId.idl_env)), r.gdprConsent && ("boolean" == typeof r.gdprConsent.gdprApplies && (c.gdpr = Number(r.gdprConsent.gdprApplies)), c.gdpr_consent = r.gdprConsent.consentString), r.uspConsent && (c.us_privacy = encodeURIComponent(r.uspConsent));
    var u = y({}, i.visitor, b.b.getConfig("fpd.user"));
    Object.keys(u).forEach(function (e) {
      null != u[e] && "keywords" !== e && (c["tg_v.".concat(e)] = "object" !== x(u[e]) || Array.isArray(u[e]) ? u[e].toString() : JSON.stringify(u[e]));
    });
    var p = y({}, i.inventory, b.b.getConfig("fpd.context"));
    Object.keys(p).forEach(function (e) {
      null != p[e] && "keywords" !== e && (c["tg_i.".concat(e)] = "object" !== x(p[e]) || Array.isArray(p[e]) ? p[e].toString() : JSON.stringify(p[e]));
    });
    var l = (i.keywords || []).concat(g.deepAccess(b.b.getConfig("fpd.user"), "keywords") || [], g.deepAccess(b.b.getConfig("fpd.context"), "keywords") || []);
    c.kw = Array.isArray(l) && l.length ? l.join(",") : "";
    var f = g.deepAccess(e, "fpd.context.pbAdSlot");
    "string" == typeof f && f && (c["tg_i.dfp_ad_unit_code"] = f.replace(/^/+/, ""));

    var m = _(e, "FASTLANE");

    return y(c, m), !0 === b.b.getConfig("coppa") && (c.coppa = 1), e.schain && T(e.schain) && (c.rp_schain = h.serializeSupplyChain(e.schain)), c;
  },
  serializeSupplyChain: function serializeSupplyChain(e) {
    if (!T(e)) return "";
    var r = e.ver,
        t = e.complete,
        i = e.nodes;
    return "".concat(r, ",").concat(t, "!").concat(h.serializeSupplyChainNodes(i));
  },
  serializeSupplyChainNodes: function serializeSupplyChainNodes(e) {
    var t = ["asi"https://slate.com/human-interest/2020/10/,"sid"https://slate.com/human-interest/2020/10/,"hp"https://slate.com/human-interest/2020/10/,"rid"https://slate.com/human-interest/2020/10/,"name"https://slate.com/human-interest/2020/10/,"domain"];
    return e.map(function (r) {
      return t.map(function (e) {
        return encodeURIComponent(r[e] || "");
      }).join(",");
    }).join("!");
  },
  interpretResponse: function interpretResponse(d, e) {
    var c = e.bidRequest;
    if (!(d = d.body) || "object" !== x(d)) return [];

    if (d.seatbid) {
      var r = g.deepAccess(d, "ext.errors.rubicon");
      Array.isArray(r) && 0 < r.length && g.logWarn("Rubicon: Error in video response");
      var o = [];
      return d.seatbid.forEach(function (n) {
        (n.bid || []).forEach(function (e) {
          var r = {
            requestId: c.bidId,
            currency: d.cur || "USD",
            creativeId: e.crid,
            cpm: e.price || 0,
            bidderCode: n.seat,
            ttl: 300,
            netRevenue: !1 !== b.b.getConfig("rubicon.netRevenue"),
            width: e.w || g.deepAccess(c, "mediaTypes.video.w") || g.deepAccess(c, "params.video.playerWidth"),
            height: e.h || g.deepAccess(c, "mediaTypes.video.h") || g.deepAccess(c, "params.video.playerHeight")
          };
          e.id && (r.seatBidId = e.id), e.dealid && (r.dealId = e.dealid);
          var t,
              i = g.deepAccess(d, "ext.responsetimemillis.rubicon");
          c && i && (c.serverResponseTimeMs = i), g.deepAccess(e, "ext.prebid.type") === u.d ? (r.mediaType = u.d, (t = g.deepAccess(e, "ext.prebid.targeting")) && "object" === x(t) && (r.adserverTargeting = t), e.ext.prebid.cache && "object" === x(e.ext.prebid.cache.vastXml) && e.ext.prebid.cache.vastXml.cacheId && e.ext.prebid.cache.vastXml.url ? (r.videoCacheKey = e.ext.prebid.cache.vastXml.cacheId, r.vastUrl = e.ext.prebid.cache.vastXml.url) : t && t.hb_uuid && t.hb_cache_host && t.hb_cache_path && (r.videoCacheKey = t.hb_uuid, r.vastUrl = "https://".concat(t.hb_cache_host).concat(t.hb_cache_path, "?uuid=").concat(t.hb_uuid)), e.adm && (r.vastXml = e.adm), e.nurl && (r.vastUrl = e.nurl), !r.vastUrl && e.nurl && (r.vastUrl = e.nurl)) : g.logWarn("Rubicon: video response received non-video media type"), o.push(r);
        });
      }), o;
    }

    var t = d.ads;
    return "object" !== x(c) || Array.isArray(c) || "video" !== m(c) || "object" !== x(t) || (t = t[c.adUnitCode]), !Array.isArray(t) || t.length < 1 ? [] : t.reduce(function (e, r, t) {
      if ("ok" !== r.status) return e;
      var i,
          n,
          o,
          a,
          s = Array.isArray(c) ? c[t] : c;
      return s && "object" === x(s) ? (i = {
        requestId: s.bidId,
        currency: "USD",
        creativeId: r.creative_id || "".concat(r.network || ""https://slate.com/human-interest/2020/10/,"-").concat(r.advertiser || ""),
        cpm: r.cpm || 0,
        dealId: r.deal,
        ttl: 300,
        netRevenue: !1 !== b.b.getConfig("rubicon.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, "<html>n<head></head>n<body style="margin : 0; padding: 0;">nx3c!-- Rubicon Project Ad Tag --x3en<div data-rp-impression-id='".concat(a, "'>nn</div>n</body>n</html>")), n = v(f[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)) : g.logError("Rubicon: bidRequest undefined at index position:".concat(t), c, d), e;
    }, []).sort(function (e, r) {
      return (r.cpm || 0) - (e.cpm || 0);
    });
  },
  getUserSyncs: function getUserSyncs(e, r, t, i) {
    if (!R && e.iframeEnabled) {
      var n = "";
      return t && "string" == typeof t.consentString && ("boolean" == typeof t.gdprApplies ? n += "?gdpr=".concat(Number(t.gdprApplies), "&gdpr_consent=").concat(t.consentString) : n += "?gdpr_consent=".concat(t.consentString)), i && (n += "".concat(n ? "&" : "?"https://slate.com/human-interest/2020/10/,"us_privacy=").concat(encodeURIComponent(i))), R = !0, {
        type: "iframe",
        url: a + n
      };
    }
  },
  transformBidParams: function transformBidParams(e) {
    return g.convertTypes({
      accountId: "number",
      siteId: "number",
      zoneId: "number"
    }, e);
  }
};

function _(e, r) {
  var t,
      i = 0 < arguments.length && void 0 !== e ? e : {},
      n = 1 < arguments.length ? r : void 0;
  if (!n || !d[n]) return null;
  var o = d[n];

  var a = function () {
    var e = g.deepAccess(i, "userId.digitrustid.data");
    if (e) return e;
    var r = window.DigiTrust && (b.b.getConfig("digiTrustId") || window.DigiTrust.getUser({
      member: "T9QSFKPDN9"
    }));
    return r && r.success && r.identity || null;
  }();

  if (!a || a.privacy && a.privacy.optout) return null;
  var s = (p(t = {}, o.id, a.id), p(t, o.keyv, a.keyv), t);
  return o.pref && (s[o.pref] = 0), s;
}

function I(e, r) {
  var t = b.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 A(e, r) {
  var t = e.params;

  if ("video" === r) {
    var i = [];
    return t.video && t.video.playerWidth && t.video.playerHeight ? i = [t.video.playerWidth, t.video.playerHeight] : Array.isArray(g.deepAccess(e, "mediaTypes.video.playerSize")) && 1 === e.mediaTypes.video.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 !== g.deepAccess(e, "mediaTypes.banner.sizes") ? n = s(e.mediaTypes.banner.sizes) : Array.isArray(e.sizes) && 0 < e.sizes.length ? n = s(e.sizes) : g.logWarn("Rubicon: no sizes are setup or found"), S(n);
}

function s(e) {
  return g.parseSizesInput(e).reduce(function (e, r) {
    var t = parseInt(f[r], 10);
    return t && e.push(t), e;
  }, []);
}

function c(e) {
  return "object" === x(g.deepAccess(e, "params.video")) && void 0 !== g.deepAccess(e, "mediaTypes.".concat(u.d));
}

function m(e, r) {
  var t = 1 < arguments.length && void 0 !== r && r;
  return c(e) ? -1 === ["outstream"https://slate.com/human-interest/2020/10/,"instream"].indexOf(g.deepAccess(e, "mediaTypes.".concat(u.d, ".context"))) ? void (t && g.logError("Rubicon: mediaTypes.video.context must be outstream or instream")) : A(e, "video").length < 2 ? void (t && g.logError("Rubicon: could not determine the playerSize of the video")) : (t && g.logMessage("Rubicon: making video request for adUnit", e.adUnitCode), "video") : 0 === A(e, "banner").length ? void (t && g.logError("Rubicon: could not determine the sizes for banner request")) : (t && g.logMessage("Rubicon: making banner request for adUnit", e.adUnitCode), "banner");
}

function S(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 C(e) {
  var r = parseInt(g.deepAccess(e, "params.video.size_id"));
  return isNaN(r) ? "outstream" === g.deepAccess(e, "mediaTypes.".concat(u.d, ".context")) ? 203 : 201 : r;
}

function j(e) {
  return {
    ranges: {
      low: [{
        max: 5,
        increment: .5
      }],
      medium: [{
        max: 20,
        increment: .1
      }],
      high: [{
        max: 20,
        increment: .01
      }],
      auto: [{
        max: 5,
        increment: .05
      }, {
        min: 5,
        max: 10,
        increment: .1
      }, {
        min: 10,
        max: 20,
        increment: .5
      }],
      dense: [{
        max: 3,
        increment: .01
      }, {
        min: 3,
        max: 8,
        increment: .05
      }, {
        min: 8,
        max: 20,
        increment: .5
      }],
      custom: e.getConfig("customPriceBucket") && e.getConfig("customPriceBucket").buckets
    }[e.getConfig("priceGranularity")]
  };
}

function k(r) {
  var t = !0,
      e = Object.prototype.toString.call([]),
      i = Object.prototype.toString.call(0),
      n = {
    mimes: e,
    protocols: e,
    maxduration: i,
    linearity: i,
    api: e
  };
  return Object.keys(n).forEach(function (e) {
    Object.prototype.toString.call(g.deepAccess(r, "mediaTypes.video." + e)) !== n[e] && (t = !1, g.logError("Rubicon: mediaTypes.video." + e + " is required and must be of type: " + n[e]));
  }), t;
}

function T(e) {
  var r = !1,
      t = ["asi"https://slate.com/human-interest/2020/10/,"sid"https://slate.com/human-interest/2020/10/,"hp"];
  return e.nodes && ((r = e.nodes.reduce(function (e, r) {
    return e ? t.every(function (e) {
      return r[e];
    }) : e;
  }, !0)) || g.logError("Rubicon: required schain params missing")), r;
}

function w(e, r) {
  return "rp_schain" === e ? "rp_schain=".concat(r) : "".concat(e, "=").concat(encodeURIComponent(r));
}

var R = !1;
Object(i.registerBidder)(h);

}
}, [677]);
pbjsChunk([93], {
719: function _(e, t, r) {
e.exports = r(720);
},
720: function _(e, t, r) {
“use strict”;

Object.defineProperty(t, "__esModule", {
  value: !0
}), r.d(t, "spec", function () {
  return o;
}), r.d(t, "_isInbounds", function () {
  return a;
}), t._getPlatform = v;
var n = r(1),
    y = r(0),
    i = r(2),
    c = r(3),
    g = r(10),
    d = r(44);

function h(e, t) {
  return function (e) {
    if (Array.isArray(e)) return e;
  }(e) || function (e, t) {
    if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return;
    var r = [],
        n = !0,
        i = !1,
        s = void 0;

    try {
      for (var o, a = e[Symbol.iterator](); !(n = (o = a.next()).done) && (r.push(o.value), !t || r.length !== t); n = !0) {
        ;
      }
    } catch (e) {
      i = !0, s = e;
    } finally {
      try {
        n || null == a.return || a.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(t); r < t; r++) {
    n[r] = e[r];
  }

  return n;
}

function u() {
  return (u = Object.assign || function (e) {
    for (var t = 1; t < arguments.length; t++) {
      var r = arguments[t];

      for (var n in r) {
        Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);
      }
    }

    return e;
  }).apply(this, arguments);
}

function p(e, t, r) {
  return t in e ? Object.defineProperty(e, t, {
    value: r,
    enumerable: !0,
    configurable: !0,
    writable: !0
  }) : e[t] = r, e;
}

var b = "sonobi",
    l = Object(y.generateUUID)(),
    o = {
  code: b,
  supportedMediaTypes: [i.b, i.d],
  isBidRequestValid: 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(t) ? (t = "/" === t.charAt(0) ? t : "/" + t, p({}, "".concat(t, "|").concat(e.bidId), "".concat(f(e)).concat(m(e)))) : /^[0-9a-fA-F]{20}$/.test(t) && 20 === t.length ? p({}, e.bidId, "".concat(t, "|").concat(f(e)).concat(m(e))) : void Object(y.logError)("The ad unit code or Sonobi Placement id for slot ".concat(e.bidId, " is invalid"));
    }),
        n = {};
    r.forEach(function (e) {
      u(n, e);
    });
    var i = {
      key_maker: JSON.stringify(n),
      ref: t.refererInfo.referer,
      s: Object(y.generateUUID)(),
      pv: l,
      vp: v(),
      lib_name: "prebid",
      lib_v: "3.23.0",
      us: 0
    };
    c.b.getConfig("userSync") && c.b.getConfig("userSync").syncsPerBidder && (i.us = c.b.getConfig("userSync").syncsPerBidder), d.a.canBidderRegisterSync("iframe", b) ? i.ius = 1 : i.ius = 0, Object(y.deepAccess)(e[0], "params.hfa") && (i.hfa = Object(y.deepAccess)(e[0], "params.hfa")), e[0].params.referrer && (i.ref = e[0].params.referrer), t && t.gdprConsent && (i.gdpr = t.gdprConsent.gdprApplies ? "true" : "false", t.gdprConsent.consentString && (i.consent_string = t.gdprConsent.consentString));

    var s = function (t) {
      var e = function () {
        var e = window.DigiTrust && (c.b.getConfig("digiTrustId") || window.DigiTrust.getUser({
          member: t
        }));
        return e && e.success && e.identity || null;
      }();

      if (!e || e.privacy && e.privacy.optout) return null;
      return e;
    }("fhnS5drwmH");

    s && (i.digid = s.id, i.digkeyv = s.keyv), e[0].schain && (i.schain = JSON.stringify(e[0].schain)), Object(y.deepAccess)(e[0], "userId") && 0 < Object.keys(e[0].userId).length && (i.userid = JSON.stringify(e[0].userId));
    var o = e[0].params.keywords;
    if (o && (i.kw = o), t && t.uspConsent && (i.us_privacy = t.uspConsent), Object(y.isEmpty)(n)) return null;
    var a = "https://apex.go.sonobi.com/trinity.json";
    return Object(y.deepAccess)(e[0], "params.bid_request_url") && (a = Object(y.deepAccess)(e[0], "params.bid_request_url")), {
      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/human-interest/2020/10/,"outstream" === Object(y.deepAccess)(n, "mediaTypes.video.context") && (i = "outstream"));
      var s,
          o,
          a,
          c,
          d,
          u,
          p,
          b = j(i, v);
      t.sbi_aid && t.sbi_mouse && t.sbi_size && (a = void 0 === (o = (s = h(t.sbi_size.split("x"), 2))[0]) ? 1 : o, d = void 0 === (c = s[1]) ? 1 : c, u = {
        requestId: r,
        cpm: Number(t.sbi_mouse),
        width: Number(a),
        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 f(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 m(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 a = function a(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 = a(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)(o);

}
}, [719]);
pbjsChunk([85], {
741: function _(e, r, t) {
e.exports = t(742);
},
742: function _(e, r, t) {
“use strict”;

Object.defineProperty(r, "__esModule", {
  value: !0
}), t.d(r, "spec", function () {
  return n;
});
var a = t(1),
    d = t(0),
    p = 12,
    o = 11,
    c = 0,
    u = 22,
    n = {
  code: "teads",
  supportedMediaTypes: ["video"https://slate.com/human-interest/2020/10/,"banner"],
  isBidRequestValid: function isBidRequestValid(e) {
    var r,
        t,
        a = !1;
    return void 0 !== e.params && (r = i(d.getValue(e.params, "placementId")), t = i(d.getValue(e.params, "pageId")), a = r && t), a || d.logError("Teads placementId and pageId parameters are required. Bid aborted."), a;
  },
  buildRequests: function buildRequests(e, r) {
    var t = e.map(I),
        a = {
      referrer: function (e) {
        var r = "";
        e && e.refererInfo && e.refererInfo.referer && (r = e.refererInfo.referer);
        return r;
      }(r),
      data: t,
      deviceWidth: screen.width,
      hb_version: "3.23.0"
    };
    e[0].schain && (a.schain = e[0].schain);
    var n,
        d,
        i,
        s = r.gdprConsent;
    return r && s && (n = "boolean" == typeof s.gdprApplies, d = "string" == typeof s.consentString, i = n ? function (e, r, t) {
      var a = p;
      e ? function (e, r) {
        return e && 1 === r ? e.hasGlobalScope || e.hasGlobalConsent : !(!e || 2 !== r) && !e.isServiceSpecific;
      }(r, t) && (a = o) : a = c;
      return a;
    }(s.gdprApplies, s.vendorData, s.apiVersion) : u, a.gdpr_iab = {
      consent: d ? s.consentString : "",
      status: i,
      apiVersion: s.apiVersion
    }), r && r.uspConsent && (a.us_privacy = r.uspConsent), {
      method: "POST",
      url: "https://a.teads.tv/hb/bid-request",
      data: JSON.stringify(a)
    };
  },
  interpretResponse: function interpretResponse(e) {
    var t = [];
    return (e = e.body).responses && e.responses.forEach(function (e) {
      var r = {
        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 && (r.dealId = e.dealId), t.push(r);
    }), t;
  }
};

function I(e) {
  var r,
      t = {},
      a = d.getValue(e.params, "placementId"),
      n = d.getValue(e.params, "pageId");
  return t.sizes = (r = e, d.parseSizesInput(function (e) {
    var r = d.deepAccess(e, "mediaTypes.video.playerSize"),
        t = d.deepAccess(e, "mediaTypes.video.sizes"),
        a = d.deepAccess(e, "mediaTypes.banner.sizes");
    return d.isArray(a) || d.isArray(r) || d.isArray(t) ? [a, t, r].reduce(function (r, e) {
      return d.isArray(e) && (d.isArray(e[0]) ? e.forEach(function (e) {
        r.push(e);
      }) : r.push(e)), r;
    }, []) : e.sizes;
  }(r))), t.bidId = d.getBidIdParameter("bidId", e), t.bidderRequestId = d.getBidIdParameter("bidderRequestId", e), t.placementId = parseInt(a, 10), t.pageId = parseInt(n, 10), t.adUnitCode = d.getBidIdParameter("adUnitCode", e), t.auctionId = d.getBidIdParameter("auctionId", e), t.transactionId = d.getBidIdParameter("transactionId", e), t;
}

function i(e) {
  return 0 < parseInt(e);
}

Object(a.registerBidder)(n);

}
}, [741]);
pbjsChunk([76], {
761: function _(r, e, t) {
r.exports = t(762);
},
762: function _(r, e, t) {
“use strict”;

Object.defineProperty(e, "__esModule", {
  value: !0
}), t.d(e, "tripleliftAdapterSpec", function () {
  return s;
});
var n = t(2),
    i = t(1),
    o = t(0),
    u = t(3);

function p(r) {
  return function (r) {
    if (Array.isArray(r)) return d(r);
  }(r) || function (r) {
    if ("undefined" != typeof Symbol && Symbol.iterator in Object(r)) return Array.from(r);
  }(r) || function (r, e) {
    if (!r) return;
    if ("string" == typeof r) return d(r, e);
    var t = Object.prototype.toString.call(r).slice(8, -1);
    "Object" === t && r.constructor && (t = r.constructor.name);
    if ("Map" === t || "Set" === t) return Array.from(r);
    if ("Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return d(r, e);
  }(r) || function () {
    throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
  }();
}

function d(r, e) {
  (null == e || e > r.length) && (e = r.length);

  for (var t = 0, n = new Array(e); t < e; t++) {
    n[t] = r[t];
  }

  return n;
}

var a = !0,
    c = null,
    s = {
  code: "triplelift",
  supportedMediaTypes: [n.b],
  isBidRequestValid: function isBidRequestValid(r) {
    return void 0 !== r.params.inventoryCode;
  },
  buildRequests: function buildRequests(r, e) {
    var t,
        n = "https://tlx.3lift.com/header/auction?",
        i = function (r) {
      var e = {},
          t = r[0].schain;
      e.imp = r.map(function (r, e) {
        return {
          id: e,
          tagid: r.params.inventoryCode,
          floor: r.params.floor,
          banner: {
            format: r.sizes.filter(l).map(function (r) {
              return {
                w: r[0],
                h: r[1]
              };
            })
          }
        };
      });
      var n = [].concat(p(function (r) {
        return f(r, "tdid"https://slate.com/human-interest/2020/10/,"adserver.org"https://slate.com/human-interest/2020/10/,"TDID");
      }(r)), p(function (r) {
        return f(r, "idl_env"https://slate.com/human-interest/2020/10/,"liveramp.com"https://slate.com/human-interest/2020/10/,"idl");
      }(r)), p(function (r) {
        return f(r, "criteoId"https://slate.com/human-interest/2020/10/,"criteo.com"https://slate.com/human-interest/2020/10/,"criteoId");
      }(r)));
      0 < n.length && (e.user = {
        ext: {
          eids: n
        }
      });
      t && (e.ext = {
        schain: t
      });
      return e;
    }(r);

    return n = o.tryAppendQueryString(n, "lib"https://slate.com/human-interest/2020/10/,"prebid"), n = o.tryAppendQueryString(n, "v"https://slate.com/human-interest/2020/10/,"3.23.0"), e && e.refererInfo && (t = e.refererInfo.referer, n = o.tryAppendQueryString(n, "referrer", t)), e && e.timeout && (n = o.tryAppendQueryString(n, "tmax", e.timeout)), e && e.gdprConsent && (void 0 !== e.gdprConsent.gdprApplies && (a = e.gdprConsent.gdprApplies, n = o.tryAppendQueryString(n, "gdpr", a.toString())), void 0 !== e.gdprConsent.consentString && (c = e.gdprConsent.consentString, n = o.tryAppendQueryString(n, "cmp_cs", c))), e && e.uspConsent && (n = o.tryAppendQueryString(n, "us_privacy", e.uspConsent)), !0 === u.b.getConfig("coppa") && (n = o.tryAppendQueryString(n, "coppa", !0)), n.lastIndexOf("&") === n.length - 1 && (n = n.substring(0, n.length - 1)), o.logMessage("tlCall request built: " + n), {
      method: "POST",
      url: n,
      data: i,
      bidderRequest: e
    };
  },
  interpretResponse: function interpretResponse(r, e) {
    var t = e.bidderRequest;
    return (r.body.bids || []).map(function (r) {
      return function (r, e) {
        var t = {},
            n = e.width || 1,
            i = e.height || 1,
            u = e.deal_id || "",
            o = e.crid || "";
        0 != e.cpm && e.ad && (t = {
          requestId: r.bids[e.imp_id].bidId,
          cpm: e.cpm,
          width: n,
          height: i,
          netRevenue: !0,
          ad: e.ad,
          creativeId: o,
          dealId: u,
          currency: "USD",
          ttl: 300,
          tl_source: e.tl_source
        });
        return t;
      }(t, r);
    });
  },
  getUserSyncs: function getUserSyncs(r, e, t, n) {
    var i = function (r) {
      if (!r) return;
      if (r.iframeEnabled) return "iframe";
      if (r.pixelEnabled) return "image";
    }(r);

    if (i) {
      var u = "https://eb2.3lift.com/sync?";
      return "image" === i && (u = o.tryAppendQueryString(u, "px", 1), u = o.tryAppendQueryString(u, "src"https://slate.com/human-interest/2020/10/,"prebid")), null !== c && (u = o.tryAppendQueryString(u, "gdpr", a), u = o.tryAppendQueryString(u, "cmp_cs", c)), n && (u = o.tryAppendQueryString(u, "us_privacy", n)), [{
        type: i,
        url: u
      }];
    }
  }
};

function f(r, e, t, n) {
  return r.map((o = e, function (r) {
    return r && r.userId && r.userId[o];
  })).filter(function (r) {
    return !!r;
  }).map((i = t, u = n, function (r) {
    return {
      source: i,
      uids: [{
        id: r,
        ext: {
          rtiPartner: u
        }
      }]
    };
  }));
  var i, u, o;
}

function l(r) {
  return 2 === r.length && "number" == typeof r[0] && "number" == typeof r[1];
}

Object(i.registerBidder)(s);

}
}, [761]);
pbjsChunk([75], {
763: function _(e, r, t) {
e.exports = t(764);
},
764: function _(e, r, t) {
“use strict”;

Object.defineProperty(r, "__esModule", {
  value: !0
}), t.d(r, "spec", function () {
  return v;
});
var m = t(0),
    s = t(1),
    o = t(10),
    c = t(2),
    f = "Bid from response has no auid parameter - ",
    l = "Bid from response has no adm parameter - ",
    p = "Array of bid objects is empty",
    g = "Can't find in requested bids the bid with auid - ",
    u = "Seatbid array from response has empty item",
    y = "Response is empty",
    b = "Response has empty seatbid array",
    h = "Seatbid from response has no array of bid objects - ",
    v = {
  code: "trustx",
  supportedMediaTypes: [c.b, c.d],
  isBidRequestValid: function isBidRequestValid(e) {
    return !!e.params.uid;
  },
  buildRequests: function buildRequests(e, r) {
    var a,
        o,
        p = [],
        u = {},
        c = {},
        f = {},
        l = "net";
    (e || []).forEach(function (e) {
      "gross" === e.params.priceType && (l = "gross"), o = e.bidderRequestId;
      var r = e.params.uid,
          t = e.adUnitCode;
      p.push(r);
      var s,
          n = m.parseSizesInput(e.sizes);
      a || m.isEmpty(e.params.keywords) || (0 < (s = m.transformBidderParamKeywords(e.params.keywords)).length && s.forEach(E), a = s), c[r] || (c[r] = {});
      var d = c[r];
      d[t] ? d[t].bids.push(e) : d[t] = {
        adUnitCode: t,
        bids: [e],
        parents: []
      };
      var i = d[t];
      n.forEach(function (e) {
        f[e] = !0, u[r] || (u[r] = {}), u[r][e] ? u[r][e].push(i) : u[r][e] = [i], i.parents.push({
          parent: u[r],
          key: e,
          uid: r
        });
      });
    });
    var t = {
      pt: l,
      auids: p.join(","),
      sizes: m.getKeys(f).join(","),
      r: o,
      wrapperType: "Prebid_js",
      wrapperVersion: "3.23.0"
    };
    return a && (t.keywords = JSON.stringify(a)), r && (r.refererInfo && r.refererInfo.referer && (t.u = r.refererInfo.referer), r.timeout && (t.wtimeout = r.timeout), r.gdprConsent && (r.gdprConsent.consentString && (t.gdpr_consent = r.gdprConsent.consentString), t.gdpr_applies = "boolean" == typeof r.gdprConsent.gdprApplies ? Number(r.gdprConsent.gdprApplies) : 1), r.uspConsent && (t.us_privacy = r.uspConsent)), {
      method: "GET",
      url: "https://sofia.trustx.org/hb",
      data: m.parseQueryStringParameters(t).replace(/&$/, ""),
      bidsMap: u
    };
  },
  interpretResponse: function interpretResponse(e, r, t) {
    var s = 2 < arguments.length && void 0 !== t ? t : o.a;
    e = e && e.body;
    var n,
        d = [],
        i = r.bidsMap,
        a = r.data.pt;
    return e ? e.seatbid && !e.seatbid.length && (n = b) : n = y, !n && e.seatbid && e.seatbid.forEach(function (e) {
      !function (e, d, r, t, s) {
        if (!e) return;
        var n;
        e.auid || (n = f + JSON.stringify(e));
        {
          var i, a, o, p, u;
          e.adm ? (i = d[e.auid]) ? (a = "".concat(e.w, "x").concat(e.h), i[a] && (o = i[a][0], p = o.bids.shift(), u = {
            requestId: p.bidId,
            bidderCode: v.code,
            cpm: e.price,
            width: e.w,
            height: e.h,
            creativeId: e.auid,
            currency: "USD",
            netRevenue: "gross" !== r,
            ttl: 360,
            dealId: e.dealid
          }, "video" === e.content_type ? (u.vastXml = e.adm, u.mediaType = c.d, u.adResponse = {
            content: u.vastXml
          }, p.renderer || p.mediaTypes && p.mediaTypes.video && "outstream" !== p.mediaTypes.video.context || (u.renderer = function (e, r) {
            var t = r.install({
              id: e.id,
              url: e.url,
              loaded: !1
            });

            try {
              t.setRender(w);
            } catch (e) {
              m.logWarn("Prebid Error calling setRender on renderer", e);
            }

            return t;
          }({
            id: p.bidId,
            url: "https://acdn.adnxs.com/video/outstream/ANOutstreamVideo.js"
          }, s))) : (u.ad = e.adm, u.mediaType = c.b), t.push(u), o.bids.length || o.parents.forEach(function (e) {
            var r = e.parent,
                t = e.key,
                s = e.uid,
                n = r[t].indexOf(o);
            -1 < n && r[t].splice(n, 1), r[t].length || (delete r[t], m.getKeys(r).length || delete d[s]);
          }))) : n = g + e.auid : n = l + JSON.stringify(e);
        }
        n && m.logError(n);
      }(function (e) {
        e ? e.bid ? e.bid[0] || m.logError(p) : m.logError(h + JSON.stringify(e)) : m.logError(u);
        return e && e.bid && e.bid[0];
      }(e), i, a, d, s);
    }), n && m.logError(n), d;
  },
  getUserSyncs: function getUserSyncs(e) {
    if (e.pixelEnabled) return [{
      type: "image",
      url: "https://sofia.trustx.org/push_sync"
    }];
  }
};

function E(e) {
  var r;
  r = e.value, m.isArray(r) && 0 < r.length && "" === e.value[0] && delete e.value;
}

function w(e) {
  e.renderer.push(function () {
    window.ANOutstreamVideo.renderAd({
      targetId: e.adUnitCode,
      adResponse: e.adResponse
    });
  });
}

Object(s.registerBidder)(v);

}
}, [763]);
pbjs.processQueue();
}, {}];
window.modules[“via.legacy”] = [function(require,module,exports){“use strict”;

DS.service(“via”, function () {
“use strict”; // remove via from url, to be used after amplitude logs it to prevent users from sharing such urls

function removeFromLocation() {
var url = new URL(location.href);
url.searchParams.delete(“via”);
history.replaceState(null, “”, url.toString());
} // and add via param to any outbound links

function addViaToUrl(href, via) {
if (!href || href.substr(0, 1) === “#”) {
return href; // don’t add to jumps on the current page, e.g. “Skip to main content”
}

var url = new URL(href);
var apexDomain = new URL(location.href).hostname.split(".").slice(-2).join(".");

if (url.hostname.indexOf(apexDomain) === -1) {
  return href; // don't add it to external links
}

url.searchParams.set("via", via);
return url.toString();

} // keys correspond to “page_types” in editable_components.yml

var PREFIXES = {
article: “article”,
homepage: “homepage”,
“vertical front”: “section”,
“rubric front”: “rubric”
};
var pageType;

function setPageType(amplitudePageType) {
pageType = PREFIXES[amplitudePageType];
}

var DELIMITER = “_”;

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/human-interest/2020/10/,”$window”https://slate.com/human-interest/2020/10/,”_throttle”https://slate.com/human-interest/2020/10/,”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<r.length;o++)s(r[o]);return s})(window.modules,{},[]);
‘use strict’;
/**
* mount legacy services from _global.js, if any
*/

function mountLegacyServices() {
Object.keys(window.modules).filter(function (key) {
return typeof key === ‘string’ && key.match(/.legacy$/);
}).forEach(function (key) {
return window.require(key);
});
}

function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
var elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(“Error initializing controller for “”.concat(name, “” on “”).concat(elementTag, “””), e);
}
}
/**
* mount client.js component controllers
*/

function mountComponentModules() {
Object.keys(window.modules).filter(function (key) {
return typeof key === ‘string’ && key.match(/.client$/);
}).forEach(function (key) {
var controllerFn = window.require(key);

if (typeof controllerFn === 'function') {
  var name = key.replace('.client"https://slate.com/human-interest/2020/10/,"'),
      instancesSelector = "[data-uri*="_components/".concat(name, "/"]"),
      defaultSelector = "[data-uri$="_components".concat(name, ""]"),
      instances = document.querySelectorAll(instancesSelector),
      defaults = document.querySelectorAll(defaultSelector);
  var _iteratorNormalCompletion = true;
  var _didIteratorError = false;
  var _iteratorError = undefined;

  try {
    for (var _iterator = instances[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
      var el = _step.value;
      tryToMount(controllerFn, el, name);
    }
  } catch (err) {
    _didIteratorError = true;
    _iteratorError = err;
  } finally {
    try {
      if (!_iteratorNormalCompletion && _iterator.return != null) {
        _iterator.return();
      }
    } finally {
      if (_didIteratorError) {
        throw _iteratorError;
      }
    }
  }

  var _iteratorNormalCompletion2 = true;
  var _didIteratorError2 = false;
  var _iteratorError2 = undefined;

  try {
    for (var _iterator2 = defaults[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
      var _el = _step2.value;
      tryToMount(controllerFn, _el, name);
    }
  } catch (err) {
    _didIteratorError2 = true;
    _iteratorError2 = err;
  } finally {
    try {
      if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
        _iterator2.return();
      }
    } finally {
      if (_didIteratorError2) {
        throw _iteratorError2;
      }
    }
  }
}

});
} // Make sure that a window.process.env.NODE_ENV is available in the client for any dependencies,
// services, or components that could require it
// note: the “ value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js

window.process = window.process || {};
window.process.env = window.process.env || {};

if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = ”;
} // note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first

mountLegacyServices();
mountComponentModules();
// ]]


Source link
.  .  .  .  .  .  . .  .  .  .  .  .  .  .  .  .   .   .   .    .    .   .   .   .   .   .  .   .   .   .  .  .   .  .