Home Sexual Health Can I be dominate in bed without trying to be dominate in...

Can I be dominate in bed without trying to be dominate in life?

63
0

A young man and his ropes.
Photo illustration by Slate. Photo by Casarsa/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,

I am a 22-year-old pansexual person assigned male at birth. Since I was around 15, I was deeply engaged in various forms of BDSM, but primarily bondage, sadism, and domination. I should mention I am not a rough partner; I love giving massages and tending to my partner in bed, but I crave absolute control. Through college—for context, I started at age 14—and other life experiences, I was able to sleep with a number of people who were interested in some form of kinky play. I quickly found out that I had a knack for it. I was able to make my partners—male, female, or otherwise—finish with stunning regularity. I found out that for some of my partners, I gave them their first orgasm. To describe my usual kind of play, I would have my partner lay or be tied down, blindfolded, and I’d give them a full-body experience. As they’d come close to climax, I’d administer small and very precise amounts of pain to drive them insane (e.g. biting the clit or frenulum, depending on gender).

However, about a year ago, I came to the conclusion through therapy that my kinks were damaging my mental health and relationships. I was becoming more controlling, manipulative, and deceitful. At that moment, I decided to disengage from BDSM, and instead enjoy vanilla sex. As a result, I felt my relationships began to improve. I can stand here today and say that the choice was the right one. My difficulty is that I’m struggling to enjoy vanilla sex. And not in the sense that I don’t climax—I do—but it feels like my performance is inferior. I still make my current lover finish consistently, and she says she is more than satisfied with me, but I know I could do more. It feels like every time I make her come, there is a voice at the back of my mind reminding me how much faster and better I could’ve done it had I succumbed to my urges. How can I feel confident in my sexual prowess without returning to BDSM?

—Troubled Ex-Dom

Dear TED,

How the pendulum swings. You went from dom-ing others to beating yourself up. The issue here seems to be born of perfectionism. Look, we could all do better, but if you’re consistently making your partners orgasm and doing so yourself, you’re doing something right. The standard of perfection against which you are judging your current vanilla sex is BDSM play, which you’ve already barred from your life—as you are well aware, the downside of compromise is that it often necessarily involves giving something up. From there, you make do. Within a therapeutic framework, you’ve already accepted that you can’t have everything you want; now it’s time to live that truth.

I do have questions about that framework, though. I wonder how sex-positive your therapist was, and how linked your sexuality really was to problems with your mental health and relationships. Human variation abounds, and I do not want to discount the possibility that you have figured out how all the pieces of your life have fallen into place, but if sex is now creating anxiety and other negative feelings, you should be asking yourself if this change is actually as good for your mental health as you think it is. Some people use sex as the opportunity to explore facets of themselves they wouldn’t dare to in the light of day, perhaps confining their dominating tendencies to the bedroom. It seems to me that compartmentalizing in this manner might have been a good option for you—certainly, refraining from controlling, manipulative, and deceitful behavior in one’s daily life is something people manage actively, without having to amputate important features of their lives. This is not a prescription—you know what you need, and I’m willing to believe your therapist does as well—but just some things to think about as you sort out your life path.

My Girlfriend Wants to Sleep With Other Men. I’m Not Sure I’m OK With That.

Stoya and Rich join Slate’s How To! With Charles Duhigg to discuss how to have an open relationship—and how to tell if one is right for you in the first place.

Subscribe to How To! for free on AppleSpotify or wherever you listen.

Dear How to Do It,

How do you get out of your own way when you have fantasies that you don’t think you’re hot enough to pull off? I’m really into the idea of consensual exhibitionism, and my partners and I have had a pretty good time fantasizing about it. But sometimes it’s hard for me to stay in the moment and enjoy the fantasy because I get embarrassed and worried: I just don’t think I’m hot enough that people would actually want to watch me have sex. (This also makes watching porn fraught: Thoughts like, “oh man, I want to try that” are always followed by “but she only gets to do that because she’s gorgeous.”) I think this anxiety is probably irrational—a reasonable number of people who I want to date or have sex with also think I’m attractive, and I’ve been to enough sex parties to know that if people are having sex, plenty of people will want to watch them more or less by default.

I’m even pretty familiar with what the local kink scene has to offer and have a clear idea of how I could pull off doing the things I’m into (once the pandemic is over, obviously). But I still end up worrying that I’ll just humiliate myself if I try to make these fantasies happen. It’s sort of like, isn’t it ridiculous to presume anyone would want to see that? How dare I think I deserve that kind of attention and lust? Even at sex parties, where I’ve had opportunities to put on a show, I’ve stuck mainly to other activities I like that involve doing things to and for other people. This issue obviously ties into larger insecurity about my body, and I’m working on it in therapy with a pretty great (and open-minded) therapist, but I’d love advice specific to the sex and kink aspect.

—Cute Enough, I Guess

Dear Cute,

Have you ever had one of those dreams where you predict that something will happen, it does, and then you don’t put it together that you just manifested it, and thus are capable of lucid dreaming? You’re so close to living your own lucid dream here. Precisely what you are lacking is what could make all the difference for your sex life: confidence. Confidence is widely seen as attractive (provided it isn’t out of control). DNA and healthiness are just two criteria in the portfolio of attractiveness; swagger is another. The nice thing about confidence is that you can project it even if you don’t quite possess it, and no one’s the wiser—and then, assuming you get positive feedback, it may help your overall sense of confidence. Voilà: confidence manifested from nothing!

Another thing to keep in mind is that while you are into the idea of exhibitionism, that doesn’t mean it’s necessarily for you. I like the idea of traveling into space, but I’m not good at astrophysics, and so I will not be pursuing a role at NASA. Sometimes it’s useful to push yourself into situations that make you uncomfortable because it can stimulate growth. But you need more to get into exhibitionism than an appreciation for it in the abstract—if it’s not coming from within, it just may not be for you. It might be something you just enjoy watching, which is a whole other thing.

Dear How to Do It,

On my birthday, I invited friends over to my apartment to smoke and have some drinks. However, only friends of my boyfriend of four years were able to actually show up, all men. He has this one particular friend who I think is attractive. He has never shown interest in me before until my birthday. After toking it up and a shot or two, we go play video games. I end up sitting between my boyfriend and our friend. After five to 10 minutes he starts to make sure his knee is resting on mine; if I moved, he moved, making sure he was touching me. Eventually, he starts to make sure I know he is trying to touch me by touching my hand to eventually grabbing and leading to other places.

I’m not sure if I am ashamed or not, but I ended up giving him a hand job and him fingering me with his brother and my boyfriend in the room. After, I messaged him to see what is going on between us, but he is acting as if I am pranking him or something. He says he doesn’t remember. Then when I saw him recently, he couldn’t make eye contact with me. He ended up blocking me. Now I know for sure he knows what we did. Why is he acting like this? I assured him I wouldn’t tell my boyfriend because it would ruin all of our relationships. Is he embarrassed of what he did? What is your advice on my next step? I don’t know what to do.

—Birthday Surprise

Dear BS,

It sounds like there is shame on his part, but as I am not him or capable of reading the minds of our readers’ boyfriend’s friends (or anyone for that matter), I cannot say for sure. Perhaps he feels he acted out of character in some way. Perhaps because there were substances involved, he feels taken advantage of. Perhaps, as it often happens, the sexual act looked very different to him before, during, and after—a hard dick can radically color someone’s thinking. People make decisions all the time that they regret, and whether or not this retrospective assessment is fair, it seems that’s what happened. My advice is to accept his response as an answer—he seems uninterested in following up with a second round. Don’t try to change his mind. Ask him if he’s upset or feels bad in any way, listen to him, and try to make things right if possible.

Dear How to Do It,

I am a newly divorced man who has always had a certain level of flexibility as it pertains to my sexual orientation. I’ve been with women, men, and trans women. I have been exclusively hetero-romantic. After I hook up with a guy, I don’t really have romantic interest. As I’m re-entering the dating world, I am plagued by figuring out my identity. I am certainly somewhere on the bi/pan spectrum—that seems clear—but truthfully I don’t know if I like men because they are simply more available. Don’t get me wrong, I enjoy a nice dick from time to time, but I suppose my central question is if this is a core part of my identity or if I’m just flexible, more so when I’m horny. It stands to reason that the only way to iron this out is to wade into the sea of dicks that is Grindr, but if I decide it’s not for me, how obligated am I to be open with future partners about my exploration on the high seas of semen? I also find myself put off by the total disregard for sexual health I see in my local gay community. Any advice or suggestions? I want to explore but feel inhibited by the prospect of having “a secret” in future relationships, as well as carrying an STI with me as a souvenir.

—Swinging for the Dick Fences

Dear Fences,

After reading Anne Fausto-Sterling’s Sexing the Body—an examination of the way our genders, sex, and sexuality, and those concepts themselves, have been constructed—I like to think of identity as a process, not a stable trait. This, I think, allows for personal evolution and helps illustrate how the formation of individual identity is far from standardized. It’s really up to you to determine whether rubbing your dick on some dude makes you more than someone who enjoys doing that. Some people see their sexuality as central to their existence; for some, sex is a hobby. It doesn’t have to be any deeper than that.

I think honesty about these matters is a good standard, but I also recognize that some queer/queer-adjacent people feel that honesty would compromise their safety. In the presence of lesser stakes, lying about one’s queerness is unconscionable to me for the effect it has on the community of people who do claim that identity (queer people remain marginalized enough that it’s still important to stand up and be counted). However, you don’t have to explain your past to your partners if you aren’t comfortable with doing so, as it needn’t have anything to do with them. Ideally, your partner would be someone with whom you could discuss any aspect of your life without receiving judgment, but life isn’t always ideal.

About the “total disregard for sexual health” in your local gay community, I’m apparently not there. You run the risk of STIs by having casual sex, period, regardless of with whom (HPV is rampant, for example, because it does not discriminate). Men who have sex with men are more likely to be on PrEP, which may prompt some to abandon condoms entirely, but also means that they’re getting regularly tested, and regular testing catches asymptomatic cases of syphilis, chlamydia, and gonorrhea. You have the option of stating that you only hook up using condoms, and some people will consent to that, while others will immediately lose interest. However, if you’re not using condoms with oral (and few do), you too are guilty of that which you accuse others. Vigilance is important but so is perspective. Here’s a perfect example of where queer identification can be useful: It chips away at the them-versus-me mentality that you’re exhibiting.

More How to Do It

I am a 34-year-old woman and I’ve been with my boyfriend for 13 years. We don’t have kids (yet), we have a great relationship, the sex is always good, and we hardly fight. I honestly cannot complain: He’s the type of man every woman would want. Anyway, I feel bad for even thinking this way, but I am and never have really been attracted to him. I find myself looking at other men online, and on the street, and I wish my man looked like them.

');
}

function tryGetCriteoFastBid() {
try {
var fastBidStorageKey = "criteo_fast_bid",
hashPrefix = "// Hash: ",
fastBidFromStorage = storage.getDataFromLocalStorage(fastBidStorageKey),
firstLineEndPosition,
firstLine,
publisherTagHash,
publisherTag;
null !== fastBidFromStorage && (firstLineEndPosition = fastBidFromStorage.indexOf("n"), firstLine = fastBidFromStorage.substr(0, firstLineEndPosition).trim(), firstLine.substr(0, hashPrefix.length) !== hashPrefix ? (__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("No hash found in FastBid"), storage.removeDataFromLocalStorage(fastBidStorageKey)) : (publisherTagHash = firstLine.substr(hashPrefix.length), publisherTag = fastBidFromStorage.substr(firstLineEndPosition + 1), Object(__WEBPACK_IMPORTED_MODULE_6_criteo_direct_rsa_validate_build_verify_js__.verify)(publisherTag, publisherTagHash, FAST_BID_PUBKEY_N, FAST_BID_PUBKEY_E) ? (__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logInfo("Using Criteo FastBid"), eval(publisherTag)) : (__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("Invalid Criteo FastBid found"), storage.removeDataFromLocalStorage(fastBidStorageKey))));
} catch (t) {}
}

Object(__WEBPACK_IMPORTED_MODULE_1__src_adapters_bidderFactory_js__.registerBidder)(spec);
},
377: function _(t, e, r) {
"use strict";

Object.defineProperty(e, "__esModule", {
value: !0
});
var a = r(378),
n = r(379);

e.verify = function (t, e, r, i) {
var s = new a.BigInteger(a.b64toHex(e)),
o = new a.BigInteger(a.b64toHex(r)),
_ = s.modPowInt(i, o);

return a.removeExtraSymbols(_.toHexString()) === n.Sha256.hash(t);
};
},
378: function _(t, e, r) {
"use strict";

var i;
Object.defineProperty(e, "__esModule", {
value: !0
});
var s = (T.prototype.toHexString = function () {
if (this.s < 0) return "-" + this.negate().toHexString(); var t, e = !1, r = "http://slate.com/", i = this.t, s = this.DB - i * this.DB % 4; if (0 < i--) for (s < this.DB && 0 < (t = this[i] >> s) && (e = !0, r = c(t)); 0 <= i;) { s < 4 ? (t = (this[i] & (1 << s) - 1) << 4 - s, t |= this[--i] >> (s += this.DB - 4)) : (t = this[i] >> (s -= 4) & 15, s <= 0 && (s += this.DB, --i)), 0 < t && (e = !0), e && (r += c(t)); } return e ? r : "0"; }, T.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 s = n(t, e); s < 0 ? "-" == t.charAt(e) && (r = !0) : (r = !1, 0 == i ? this[this.t++] = s : i + 4 > this.DB ? (this[this.t - 1] |= (s & (1 << this.DB - i) - 1) << i, this[this.t++] = s >> this.DB - i) : this[this.t - 1] |= s << i, (i += 4) >= this.DB && (i -= this.DB));
}

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

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

0 < i && (e[this.t - r - 1] |= (this.s & o) << s), e.t = this.t - r, e.clamp(); } }, T.prototype.drShiftTo = function (t, e) { for (var r = t; r < this.t; ++r) { e[r - t] = this[r]; } e.t = Math.max(this.t - t, 0), e.s = this.s; }, T.prototype.subTo = function (t, e) { for (var r = 0, i = 0, s = Math.min(t.t, this.t); r < s;) { i += this[r] - t[r], e[r++] = i & this.DM, i >>= this.DB;
}

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

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

i -= t.s;
}

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

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

return s;
}, T);

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

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

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

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

return 1 == r && (e += c(i << 2)), e; }, e.removeExtraSymbols = function (t) { return t.replace(/^1f+00/, "http://slate.com/").replace("3031300d060960864801650304020105000420"http://slate.com/,"http://slate.com/"); }; var d = (u.prototype.convert = function (t) { return t.s < 0 "http://slate.com/" 0 <= t.compareTo(this.m) ? t.mod(this.m) : t; }, u.prototype.revert = function (t) { return t; }, u.prototype.reduce = function (t) { t.divRemTo(this.m, null, t); }, u.prototype.mulTo = function (t, e, r) { t.multiplyTo(e, r), this.reduce(r); }, u.prototype.sqrTo = function (t, e) { t.squareTo(e), this.reduce(e); }, u); function u(t) { this.m = t; } var h = (l.prototype.convert = function (t) { var e = b(); return t.abs().dlShiftTo(this.m.t, e), e.divRemTo(this.m, null, e), t.s < 0 && 0 < e.compareTo(s.ZERO) && this.m.subTo(e, e), e; }, l.prototype.revert = function (t) { var e = b(); 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 f(t) { var e = b(); return e.fromHexString(t.toString()), e; } e.nbv = f, s.ZERO = f(0), s.ONE = f(1), i = "Microsoft Internet Explorer" == navigator.appName ? (s.prototype.am = s.prototype.am2, 30) : "Netscape" != navigator.appName ? (s.prototype.am = s.prototype.am1, 26) : (s.prototype.am = s.prototype.am3, 28), s.prototype.DB = i, s.prototype.DM = (1 << i) - 1, s.prototype.DV = 1 << i; s.prototype.FV = Math.pow(2, 52), s.prototype.F1 = 52 - i, s.prototype.F2 = 2 * i - 52; }, 379: function _(t, e, r) { "use strict"; Object.defineProperty(e, "__esModule", { value: !0 }); var i = (y.hash = function (t) { t = y.utf8Encode(t "http://slate.com/"http://slate.com/"http://slate.com/"); for (var e = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298], r = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], i = (t += String.fromCharCode(128)).length / 4 + 2, s = Math.ceil(i / 16), o = new Array(s), _ = 0; _ < s; _++) { o[_] = new Array(16); for (var a = 0; a < 16; a++) { o[_][a] = t.charCodeAt(64 * _ + 4 * a) << 24 | t.charCodeAt(64 * _ + 4 * a + 1) << 16 | t.charCodeAt(64 * _ + 4 * a + 2) << 8 | t.charCodeAt(64 * _ + 4 * a + 3) << 0; } } var n = 8 * (t.length - 1) / Math.pow(2, 32), p = 8 * (t.length - 1) >>> 0;

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

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

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

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

function y() {}

e.Sha256 = i;
}
}, [375]);
pbjsChunk([218], {
501: function _(e, r, t) {
e.exports = t(502);
},
502: function _(e, r, t) {
"use strict";

Object.defineProperty(r, "__esModule", {
value: !0
}), t.d(r, "spec", function () {
return c;
});
var F = t(0),
j = t(2),
B = t(3),
i = t(10),
l = t.n(i),
n = t(503),
s = t.n(n),
a = t(1);

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

function o(e, r) {
(null == r "http://slate.com/" r > e.length) && (r = e.length);

for (var t = 0, i = new Array(r); t < r; t++) { i[t] = e[t]; } return i; } function d(r, e) { var t, i = Object.keys(r); return Object.getOwnPropertySymbols && (t = Object.getOwnPropertySymbols(r), e && (t = t.filter(function (e) { return Object.getOwnPropertyDescriptor(r, e).enumerable; })), i.push.apply(i, t)), i; } function M(n) { for (var e = 1; e < arguments.length; e++) { var s = null != arguments[e] ? arguments[e] : {}; e % 2 ? d(Object(s), !0).forEach(function (e) { var r, t, i; r = n, i = s[t = e], t in r ? Object.defineProperty(r, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : r[t] = i; }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(n, Object.getOwnPropertyDescriptors(s)) : d(Object(s)).forEach(function (e) { Object.defineProperty(n, e, Object.getOwnPropertyDescriptor(s, e)); }); } return n; } function N(e) { return (N = "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 p = [j.b, j.d], f = 100, g = 300, b = 3600, h = !0, v = { JPY: 1 }; function C(e) { var r = {}; return r.id = e.bidId, r.ext = {}, r.ext.siteID = e.params.siteId, !e.params.hasOwnProperty("id") "http://slate.com/"http://slate.com/"string" != typeof e.params.id && "number" != typeof e.params.id ? r.ext.sid = "http://slate.com/".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 m(e) { return Array.isArray(e) && 2 === e.length && s()(e[0]) && s()(e[1]); } function T(e, r) { if (m(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 A(e, r, t, i) { var n = [], s = "https://htlb.casalemedia.com/cygnus", a = {}, o = e[0].userId; if (o && "object" === N(o) && o.idl_env && function (e, r, t, i, n, s) { if (t) return r[n] = 1, e.push({ source: i, uids: [{ id: t, ext: { rtiPartner: s } }] }); F.logWarn("Tried to add a user ID from Prebid, the ID received was null"); }(n, a, o.idl_env, "liveramp.com"http://slate.com/,"LiveRampIp"http://slate.com/,"idl"), window.headertag && "function" == typeof window.headertag.getIdentityInfo) { var d, p = window.headertag.getIdentityInfo(); if (p && "object" === N(p)) for (var m in p) { p.hasOwnProperty(m) && (a.hasOwnProperty(m) "http://slate.com/" !(d = p[m]).responsePending && d.data && "object" === N(d.data) && Object.keys(d.data).length && n.push(d.data)); } } var c, u = {}; u.id = e[0].bidderRequestId, u.site = {}, u.ext = {}, u.ext.source = "prebid", u.ext.ixdiag = {}, e[0].schain && (u.source = { ext: { schain: e[0].schain } }), 0 < n.length && (u.user = {}, u.user.eids = n), document.referrer && "http://slate.com/" !== document.referrer && (u.site.ref = document.referrer), r && (r.gdprConsent && ((c = r.gdprConsent).hasOwnProperty("gdprApplies") && (u.regs = { ext: { gdpr: c.gdprApplies ? 1 : 0 } }), c.hasOwnProperty("consentString") && (u.user = u.user "http://slate.com/" {}, u.user.ext = { consent: c.consentString "http://slate.com/"http://slate.com/"http://slate.com/" })), r.uspConsent && F.deepSetValue(u, "regs.ext.us_privacy", r.uspConsent), r.refererInfo && (u.site.page = r.refererInfo.referer)); var y = {}, l = r && r.bidderCode "http://slate.com/"http://slate.com/"ix", f = B.b.getConfig(l); if (f) { if ("object" === N(f.firstPartyData)) { var g = f.firstPartyData, b = "?"; for (var h in g) { g.hasOwnProperty(h) && (b += "http://slate.com/".concat(encodeURIComponent(h), "=").concat(encodeURIComponent(g[h]), "&")); } b = b.slice(0, -1), u.site.page += b; } "number" == typeof f.timeout && (y.t = f.timeout), "boolean" == typeof f.detectMissingSizes ? u.ext.ixdiag.dms = f.detectMissingSizes : u.ext.ixdiag.dms = !0; } y.s = e[0].params.siteId, y.v = i, y.ac = "j", y.sd = 1, 8.1 === i && (y.nf = 1); var v = [], O = { method: "GET", url: s, data: y }, x = new Blob(["http://slate.com/".concat(O.url).concat(F.parseQueryStringParameters(M(M({}, O.data), {}, { r: JSON.stringify(u) })))]).size, I = x, w = 0, P = 0, S = 0; u.ext.ixdiag.msd = 0, u.ext.ixdiag.msi = 0, u.imp = []; for (var z, j, C, T, A, E = 0, D = Object.keys(t), R = []; E < D.length && v.length < 4;) { t[D[E]].hasOwnProperty("missingCount") && (S = t[D[E]].missingCount), function (e, r) { var t = new Blob([encodeURIComponent(JSON.stringify(e))]).size; if (t < r) return; for (; r < t;) { e.hasOwnProperty("missingImps") && 0 < e.missingImps.length ? e.missingImps.pop() : e.hasOwnProperty("ixImps") && 0 < e.ixImps.length && e.ixImps.pop(), t = new Blob([encodeURIComponent(JSON.stringify(e))]).size; } }(t[D[E]], 8e3 - x), t[D[E]].hasOwnProperty("missingImps") && (P = t[D[E]].missingImps.length), (I += new Blob([encodeURIComponent(JSON.stringify(t[D[E]]))]).size) < 8e3 ? ((z = u.imp).push.apply(z, J(t[D[E]].ixImps)), u.ext.ixdiag.msd += S, u.ext.ixdiag.msi += P, t[D[E]].hasOwnProperty("missingImps") && R.push.apply(R, J(t[D[E]].missingImps)), E++) : (C = F.deepClone(y), (j = u.imp).push.apply(j, J(R)), u.ext.ixdiag.sn = w, C.sn = w, w++, C.r = JSON.stringify(u), v.push({ method: "GET", url: s, data: C }), R = [], I = x, u.imp = [], P = S = 0, u.ext.ixdiag.msd = 0, u.ext.ixdiag.msi = 0); } return x < I && I < 8e3 && v.length < 4 && (A = F.deepClone(y), (T = u.imp).push.apply(T, J(R)), 0 < v.length && (u.ext.ixdiag.sn = w, A.sn = w), A.r = JSON.stringify(u), v.push({ method: "GET", url: s, data: A })), v; } function E(e, r) { for (var t = 0; t < e.length; t++) { if (r[0] == e[t][0] && r[1] == e[t][1]) return e.splice(t, 1), 1; } } var c = { code: "ix", gvlid: 10, supportedMediaTypes: p, isBidRequestValid: function isBidRequestValid(e) { if (!m(e.params.size)) return F.logError("ix bidder params: bid size has invalid format."), !1; if (!T(e.sizes, e.params.size)) return F.logError("ix bidder params: bid size is not included in ad unit sizes."), !1; if (e.hasOwnProperty("mediaType") && !F.contains(p, e.mediaType)) return !1; if (e.hasOwnProperty("mediaTypes") && !F.deepAccess(e, "mediaTypes.banner.sizes") && !F.deepAccess(e, "mediaTypes.video.playerSize")) return !1; if ("string" != typeof e.params.siteId && "number" != typeof e.params.siteId) return F.logError("ix bidder params: siteId must be string or number value."), !1; var r, t, i = e.params.hasOwnProperty("bidFloor"), n = e.params.hasOwnProperty("bidFloorCur"); return !!(!i && !n "http://slate.com/" i && n && (r = e.params.bidFloor, t = e.params.bidFloorCur, Boolean("number" == typeof r && "string" == typeof t && t.match(/^[A-Z]{3}$/)))) "http://slate.com/" (F.logError("ix bidder params: bidFloor / bidFloorCur parameter has invalid format."), !1); }, buildRequests: function buildRequests(e, r) { for (var t, i, n, s, a, o, d, p, m, c, u, y, l, f = [], g = {}, b = {}, h = null, v = {}, O = M(M({}, { detectMissingSizes: !0 }), B.b.getConfig("ix")), x = 0; x < e.length; x++) { (h = e[x]).mediaType !== j.d && !F.deepAccess(h, "mediaTypes.video") "http://slate.com/" (h.mediaType === j.d "http://slate.com/" T(h.mediaTypes.video.playerSize, h.params.size) ? (b.hasOwnProperty(h.transactionId) "http://slate.com/" (b[h.transactionId] = {}), b[h.transactionId].hasOwnProperty("ixImps") "http://slate.com/" (b[h.transactionId].ixImps = []), b[h.transactionId].ixImps.push(function (e) { var r = C(e); r.video = F.deepClone(e.params.video), r.video.w = e.params.size[0], r.video.h = e.params.size[1]; var t = F.deepAccess(e, "mediaTypes.video.context"); return t && ("instream" === t ? r.video.placement = 1 : "outstream" === t ? r.video.placement = 4 : F.logWarn("ix bidder params: video context "http://slate.com/".concat(t, "http://slate.com/" is not supported"))), r; }(h))) : F.logError("Bid size is not included in video playerSize")), h.mediaType !== j.b && !F.deepAccess(h, "mediaTypes.banner") && (h.mediaType "http://slate.com/" h.mediaTypes) "http://slate.com/" (c = void 0, (c = C(m = h)).banner = {}, c.banner.w = m.params.size[0], c.banner.h = m.params.size[1], c.banner.topframe = F.inIframe() ? 0 : 1, t = c, g.hasOwnProperty(h.transactionId) "http://slate.com/" (g[h.transactionId] = {}), g[h.transactionId].hasOwnProperty("ixImps") "http://slate.com/" (g[h.transactionId].ixImps = []), g[h.transactionId].ixImps.push(t), O.hasOwnProperty("detectMissingSizes") && O.detectMissingSizes && (n = v, s = t, p = d = o = a = void 0, p = (i = h).transactionId, n.hasOwnProperty(p) ? (a = [], n[p].hasOwnProperty("missingSizes") && (a = n[p].missingSizes), E(a, i.params.size), n[p].missingSizes = a) : F.deepAccess(i, "mediaTypes.banner.sizes") && (E(o = F.deepClone(i.mediaTypes.banner.sizes), i.params.size), d = { missingSizes: o, impression: s }, n[p] = d))); } for (var I in v) { if (v.hasOwnProperty(I)) { var w = v[I].missingSizes; g.hasOwnProperty(I) "http://slate.com/" (g[I] = {}), g[I].hasOwnProperty("missingImps") "http://slate.com/" (g[I].missingImps = [], g[I].missingCount = 0); for (var P = v[I].impression, S = 0; S < w.length; S++) { var z = (u = P, y = w[S], l = void 0, (l = F.deepClone(u)).ext.sid = "http://slate.com/".concat(y[0], "x").concat(y[1]), l.banner.w = y[0], l.banner.h = y[1], l); g[I].missingImps.push(z), g[I].missingCount++; } } } return 0 < Object.keys(g).length && f.push.apply(f, J(A(e, r, g, 7.2))), 0 < Object.keys(b).length && f.push.apply(f, J(A(e, r, b, 8.1))), f; }, interpretResponse: function interpretResponse(e, r) { var t = []; if (!e.hasOwnProperty("body") "http://slate.com/" !e.body.hasOwnProperty("seatbid")) return t; for (var i, n, s, a, o = e.body, d = o.seatbid, p = 0; p < d.length; p++) { if (d[p].hasOwnProperty("bid")) for (var m = d[p].bid, c = JSON.parse(r.data.r), u = 0; u < m.length; u++) { var y = function (r, e) { if (r) return l()(e, function (e) { return e.id === r; }); }(m[u].impid, c.imp); i = m[u], n = o.cur, s = y, a = void 0, a = {}, v.hasOwnProperty(n) ? a.cpm = i.price / v[n] : a.cpm = i.price / f, a.requestId = i.impid, a.dealId = F.deepAccess(i, "ext.dealid"), a.netRevenue = h, a.currency = n, a.creativeId = i.hasOwnProperty("crid") ? i.crid : "-", F.deepAccess(i, "ext.vasturl") ? (a.vastUrl = i.ext.vasturl, a.width = s.video.w, a.height = s.video.h, a.mediaType = j.d, a.ttl = b) : (a.ad = i.adm, a.width = i.w, a.height = i.h, a.mediaType = j.b, a.ttl = g), a.meta = {}, a.meta.networkId = F.deepAccess(i, "ext.dspid"), a.meta.brandId = F.deepAccess(i, "ext.advbrandid"), a.meta.brandName = F.deepAccess(i, "ext.advbrand"), i.adomain && 0 < i.adomain.length && (a.meta.advertiserDomains = i.adomain), t.push(a); } } return t; }, transformBidParams: function transformBidParams(e) { return F.convertTypes({ siteID: "number" }, e); }, getUserSyncs: function getUserSyncs(e) { return e.iframeEnabled ? [{ type: "iframe", url: "https://js-sec.indexww.com/um/ixmatch.html" }] : []; } }; Object(a.registerBidder)(c); } }, [501]); pbjsChunk([213], { 517: function _(e, t, r) { e.exports = r(518); }, 518: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), r.d(t, "spec", function () { return l; }); var s = r(0), d = r(3), n = r(1), a = r(7); function g() { return (g = Object.assign "http://slate.com/" 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 "http://slate.com/" !e.params) && !!e.params.placementId; }, buildRequests: function buildRequests(e, t) { var r, n = d.b.getConfig("currency"), a = n && n.adServerCurrency "http://slate.com/"http://slate.com/"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: "http://slate.com/".concat("https://krk.kargo.com"http://slate.com/,"/api/v2/bid"), data: "json=".concat(u), currency: a }); }, interpretResponse: function interpretResponse(e, t) { var r = e.body, n = []; for (var a in r) { var o = r[a], i = void 0; o.metadata && o.metadata.landingPageDomain && (i = { clickUrl: o.metadata.landingPageDomain, advertiserDomains: [o.metadata.landingPageDomain] }), n.push({ requestId: a, cpm: Number(o.cpm), width: o.width, height: o.height, ad: o.adm, ttl: 300, creativeId: o.id, dealId: o.targetingCustom, netRevenue: !0, currency: t.currency, meta: i }); } return n; }, getUserSyncs: function getUserSyncs(e) { var t = [], r = l._generateRandomUuid(), n = l._getClientId(); if (e.iframeEnabled && r && n) for (var a = 0; a < 5; a++) { t.push({ type: "iframe", url: "https://crb.kargo.com/api/v1/initsyncrnd/{UUID}?seed={SEED}&idx={INDEX}".replace("{UUID}", n).replace("{SEED}", r).replace("{INDEX}", a) }); } return t; }, _readCookie: function _readCookie(e) { if (!u.cookiesAreEnabled()) return null; for (var t = "http://slate.com/".concat(e, "="), r = document.cookie.split(";"), n = 0; n < r.length; n++) { for (var a = r[n]; "http://slate.com/" === 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 "http://slate.com/" {}, 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 "http://slate.com/" 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("http://slate.com/"); return t.slice(0, 8) + "-" + t.slice(8, 12) + "-" + t.slice(12, 16) + "-" + t.slice(16, 20) + "-" + t.slice(20); } catch (e) { return "http://slate.com/"; } } }; Object(n.registerBidder)(l); } }, [517]); pbjsChunk([128], { 727: function _(e, r, t) { e.exports = t(728); }, 728: function _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", { value: !0 }), t.d(r, "spec", function () { return A; }), r.hasVideoMediaType = s, t.d(r, "resetRubiConf", function () { return c; }), r.masSizeOrdering = d, r.determineRubiconVideoSizeId = f, r.getPriceGranularity = C, r.hasValidVideoParams = I, r.hasValidSupplyChainParams = k, r.encodeParam = w, r.resetUserSync = function () { z = !1; }; var g = t(0), i = t(1), v = t(3), p = t(2), n = t(10), b = t.n(n); function y(e, r) { return function (e) { if (Array.isArray(e)) return e; }(e) "http://slate.com/" function (e, r) { if ("undefined" == typeof Symbol "http://slate.com/" !(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 "http://slate.com/" t.length !== r); i = !0) { ; } } catch (e) { n = !0, o = e; } finally { try { i "http://slate.com/" null == s.return "http://slate.com/" s.return(); } finally { if (n) throw o; } } return t; }(e, r) "http://slate.com/" function (e, r) { if (!e) return; if ("string" == typeof e) return o(e, r); var t = Object.prototype.toString.call(e).slice(8, -1); "Object" === t && e.constructor && (t = e.constructor.name); if ("Map" === t "http://slate.com/"http://slate.com/"Set" === t) return Array.from(e); if ("Arguments" === t "http://slate.com/" /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return o(e, r); }(e, r) "http://slate.com/" function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function o(e, r) { (null == r "http://slate.com/" r > e.length) && (r = e.length);

for (var t = 0, i = new Array(r); t < r; t++) { i[t] = e[t]; } return i; } function x() { return (x = Object.assign "http://slate.com/" 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 l(e, r, t) { return r in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function h(e) { return (h = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { return _typeof(e); } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var _ = {}; v.b.getConfig("rubicon", function (e) { g.mergeDeep(_, e.rubicon); }); var u = { 1: "468x60", 2: "728x90", 5: "120x90", 7: "125x125", 8: "120x600", 9: "160x600", 10: "300x600", 13: "200x200", 14: "250x250", 15: "300x250", 16: "336x280", 17: "240x400", 19: "300x100", 31: "980x120", 32: "250x360", 33: "180x500", 35: "980x150", 37: "468x400", 38: "930x180", 39: "750x100", 40: "750x200", 41: "750x300", 42: "2x4", 43: "320x50", 44: "300x50", 48: "300x300", 53: "1024x768", 54: "300x1050", 55: "970x90", 57: "970x250", 58: "1000x90", 59: "320x80", 60: "320x150", 61: "1000x1000", 64: "580x500", 65: "640x480", 66: "930x600", 67: "320x480", 68: "1800x1000", 72: "320x320", 73: "320x160", 78: "980x240", 79: "980x300", 80: "980x400", 83: "480x300", 85: "300x120", 90: "548x150", 94: "970x310", 95: "970x100", 96: "970x210", 101: "480x320", 102: "768x1024", 103: "480x280", 105: "250x800", 108: "320x240", 113: "1000x300", 117: "320x100", 125: "800x250", 126: "200x600", 144: "980x600", 145: "980x150", 152: "1000x250", 156: "640x320", 159: "320x250", 179: "250x600", 195: "600x300", 198: "640x360", 199: "640x200", 213: "1030x590", 214: "980x360", 221: "1x1", 229: "320x180", 230: "2000x1400", 232: "580x400", 234: "6x6", 251: "2x2", 256: "480x820", 257: "400x600", 258: "500x200", 259: "998x200", 264: "970x1000", 265: "1920x1080", 274: "1800x200", 278: "320x500", 282: "320x400", 288: "640x380", 548: "500x1000" }; g._each(u, function (e, r) { return u[e] = r; }); var A = { code: "rubicon", gvlid: 52, supportedMediaTypes: [p.b, p.d], isBidRequestValid: function isBidRequestValid(e) { if ("object" !== h(e.params)) return !1; for (var r = 0, t = ["accountId"http://slate.com/,"siteId"http://slate.com/,"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 "http://slate.com/" I(e)); }, buildRequests: function buildRequests(e, u) { var n, r = e.filter(function (e) { return "video" === m(e); }).map(function (t) { t.startTime = new Date().getTime(); var e, r, i, n = { id: t.transactionId, test: v.b.getConfig("debug") ? 1 : 0, cur: ["USD"], source: { tid: t.transactionId }, tmax: u.timeout, imp: [{ exp: v.b.getConfig("s2sConfig.defaultTtl"), id: t.adUnitCode, secure: 1, ext: l({}, t.bidder, t.params), video: g.deepAccess(t, "mediaTypes.video") "http://slate.com/" {} }], ext: { prebid: { cache: { vastxml: { returnCreative: !0 === _.returnVast } }, targeting: { includewinners: !0, includebidderkeys: !1, pricegranularity: C(v.b) }, bidders: { rubicon: { integration: _.int_type "http://slate.com/"http://slate.com/"pbjs" } } } } }; if ("rubicon" !== t.bidder && (n.ext.prebid.aliases = l({}, t.bidder, "rubicon")), "function" != typeof t.getFloor "http://slate.com/" _.disableFloors) e = parseFloat(g.deepAccess(t, "params.floor"));else { try { r = t.getFloor({ currency: "USD", mediaType: "video", size: j(t, "video") }); } catch (e) { g.logError("Rubicon: getFloor threw an error: ", e); } e = "object" !== h(r) "http://slate.com/"http://slate.com/"USD" !== r.currency "http://slate.com/" isNaN(parseInt(r.floor)) ? void 0 : parseFloat(r.floor); } isNaN(e) "http://slate.com/" (n.imp[0].bidfloor = e), n.imp[0].ext[t.bidder].video.size_id = f(t), function (r, t, e) { if (!r) return; "object" === h(v.b.getConfig("app")) ? r.app = v.b.getConfig("app") : r.site = { page: S(t, e) }; "object" === h(v.b.getConfig("device")) && (r.device = v.b.getConfig("device")); t.params.video.language && ["site"http://slate.com/,"device"].forEach(function (e) { r[e] && (r[e].content = x({ language: t.params.video.language }, r[e].content)); }); }(n, t, u), function (e, r) { "object" === h(e.imp[0].video) && void 0 === e.imp[0].video.skip && (e.imp[0].video.skip = r.params.video.skip); "object" === h(e.imp[0].video) && void 0 === e.imp[0].video.skipafter && (e.imp[0].video.skipafter = r.params.video.skipdelay); "object" === h(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 = j(r, "video"); e.imp[0].video.w = t[0], e.imp[0].video.h = t[1]; }(n, t), u.gdprConsent && ("boolean" == typeof u.gdprConsent.gdprApplies && (i = u.gdprConsent.gdprApplies ? 1 : 0), g.deepSetValue(n, "regs.ext.gdpr", i), g.deepSetValue(n, "user.ext.consent", u.gdprConsent.consentString)), u.uspConsent && g.deepSetValue(n, "regs.ext.us_privacy", u.uspConsent); var o = g.deepAccess(u, "bids.0.userIdAsEids"); o && o.length && g.deepSetValue(n, "user.ext.eids", o); var a = v.b.getConfig("user.id"); a && g.deepSetValue(n, "user.id", a), !0 === v.b.getConfig("coppa") && g.deepSetValue(n, "regs.coppa", 1), t.schain && k(t.schain) && g.deepSetValue(n, "source.ext.schain", t.schain); var s, c = x({}, t.params.inventory, v.b.getConfig("fpd.context")), d = x({}, t.params.visitor, v.b.getConfig("fpd.user")); g.isEmpty(c) && g.isEmpty(d) "http://slate.com/" (s = { bidders: [u.bidderCode], config: { fpd: {} } }, g.isEmpty(c) "http://slate.com/" (s.config.fpd.site = c), g.isEmpty(d) "http://slate.com/" (s.config.fpd.user = d), g.deepSetValue(n, "ext.prebid.bidderconfig.0", s)); var p = g.deepAccess(t, "fpd.context.pbAdSlot"); return "string" == typeof p && p && g.deepSetValue(n.imp[0].ext, "context.data.pbadslot", p), ["name"http://slate.com/,"adSlot"].forEach(function (e) { var r = g.deepAccess(t, "fpd.context.adserver.".concat(e)); "string" == typeof r && r && g.deepSetValue(n.imp[0].ext, "context.data.adserver.".concat(e.toLowerCase()), r); }), t.storedAuctionResponse && g.deepSetValue(n.imp[0], "ext.prebid.storedauctionresponse.id", t.storedAuctionResponse.toString()), g.deepSetValue(n.imp[0], "ext.prebid.auctiontimestamp", u.auctionStart), { method: "POST", url: "https://".concat(_.videoHost "http://slate.com/"http://slate.com/"prebid-server"http://slate.com/,".rubiconproject.com/openrtb2/auction"), data: n, bidRequest: t }; }); return !0 !== _.singleRequest ? r.concat(e.filter(function (e) { return "banner" === m(e); }).map(function (e) { var i = A.createSlotParams(e, u); return { method: "GET", url: "https://".concat(_.bannerHost "http://slate.com/"http://slate.com/"fastlane"http://slate.com/,".rubiconproject.com/a/api/fastlane.json"), data: A.getOrderedParams(i).reduce(function (e, r) { var t = i[r]; return g.isStr(t) && "http://slate.com/" !== t "http://slate.com/" g.isNumber(t) ? "http://slate.com/".concat(e).concat(w(r, t), "&") : e; }, "http://slate.com/") + "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] "http://slate.com/" []).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 = A.combineSlotUrlParams(e.map(function (e) { return A.createSlotParams(e, u); })); r.push({ method: "GET", url: "https://".concat(_.bannerHost "http://slate.com/"http://slate.com/"fastlane"http://slate.com/,".rubiconproject.com/a/api/fastlane.json"), data: A.getOrderedParams(i).reduce(function (e, r) { var t = i[r]; return g.isStr(t) && "http://slate.com/" !== t "http://slate.com/" g.isNumber(t) ? "http://slate.com/".concat(e).concat(w(r, t), "&") : e; }, "http://slate.com/") + "slots=".concat(e.length, "&rand=").concat(Math.random()), bidRequest: e }); }), r; }, []))); }, getOrderedParams: function getOrderedParams(e) { var r = /^tg_v/, t = /^tg_i/, i = /^eid_|^tpid_/, n = ["account_id"http://slate.com/,"site_id"http://slate.com/,"zone_id"http://slate.com/,"size_id"http://slate.com/,"alt_size_ids"http://slate.com/,"p_pos"http://slate.com/,"gdpr"http://slate.com/,"gdpr_consent"http://slate.com/,"us_privacy"http://slate.com/,"rp_schain"].concat(Object.keys(e).filter(function (e) { return i.test(e); })).concat(["x_liverampidl"http://slate.com/,"ppuid"http://slate.com/,"rf"http://slate.com/,"p_geo.latitude"http://slate.com/,"p_geo.longitude"http://slate.com/,"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"http://slate.com/,"x_source.tid"http://slate.com/,"x_source.pchain"http://slate.com/,"p_screen_res"http://slate.com/,"rp_floor"http://slate.com/,"rp_secure"http://slate.com/,"tk_user_key"]); return n.concat(Object.keys(e).filter(function (e) { return -1 === n.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) "http://slate.com/" (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 = j(e, "banner"), o = y(i.latLong "http://slate.com/" [], 2), a = o[0], s = o[1], c = { account_id: i.accountId, site_id: i.siteId, zone_id: i.zoneId, size_id: n[0], alt_size_ids: n.slice(1).join(",") "http://slate.com/" void 0, rp_floor: .01 < (i.floor = parseFloat(i.floor)) ? i.floor : .01, rp_secure: "1", tk_flint: "http://slate.com/".concat(_.int_type "http://slate.com/"http://slate.com/"pbjs_lite"http://slate.com/,"_v4.17.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: S(e, r) }; if ("function" == typeof e.getFloor && !_.disableFloors) { try { t = e.getFloor({ currency: "USD", mediaType: "banner", size: "*" }); } catch (e) { g.logError("Rubicon: getFloor threw an error: ", e); } c.rp_hard_floor = "object" !== h(t) "http://slate.com/"http://slate.com/"USD" !== t.currency "http://slate.com/" isNaN(parseInt(t.floor)) ? void 0 : t.floor; } c.p_pos = "atf" === i.position "http://slate.com/"http://slate.com/"btf" === i.position ? i.position : "http://slate.com/"; var d = v.b.getConfig("user.id"); d && (c.ppuid = d), e.userIdAsEids && e.userIdAsEids.forEach(function (r) { try { var e; "adserver.org" === r.source ? (c.tpid_tdid = r.uids[0].id, c["eid_adserver.org"] = r.uids[0].id) : "liveintent.com" === r.source ? (c["tpid_liveintent.com"] = r.uids[0].id, c["eid_liveintent.com"] = r.uids[0].id, r.ext && Array.isArray(r.ext.segments) && r.ext.segments.length && (c["tg_v.LIseg"] = r.ext.segments.join(","))) : "liveramp.com" === r.source ? c.x_liverampidl = r.uids[0].id : "sharedid.org" === r.source ? c["eid_sharedid.org"] = "http://slate.com/".concat(r.uids[0].id, "^").concat(r.uids[0].atype, "^").concat(r.uids[0].ext && r.uids[0].ext.third "http://slate.com/"http://slate.com/"http://slate.com/") : "id5-sync.com" === r.source ? c["eid_id5-sync.com"] = "http://slate.com/".concat(r.uids[0].id, "^").concat(r.uids[0].atype, "^").concat(r.ext && r.ext.linkType "http://slate.com/"http://slate.com/"http://slate.com/") : c["eid_".concat(r.source)] = "http://slate.com/".concat(r.uids[0].id, "^").concat(r.uids[0].atype "http://slate.com/"http://slate.com/"http://slate.com/"), c.ppuid "http://slate.com/" (e = b()(r.uids, function (e) { return e.ext && "ppuid" === e.ext.stype; })) && e.id && (c.ppuid = e.id); } catch (e) { g.logWarn("Rubicon: error reading eid:", r, e); } }), 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 p = x({}, i.visitor, v.b.getConfig("fpd.user")); Object.keys(p).forEach(function (e) { null != p[e] && "keywords" !== e && (c["tg_v.".concat(e)] = "object" !== h(p[e]) "http://slate.com/" Array.isArray(p[e]) ? p[e].toString() : JSON.stringify(p[e])); }); var u = x({}, i.inventory, v.b.getConfig("fpd.context")); Object.keys(u).forEach(function (e) { null != u[e] && "keywords" !== e && (c["tg_i.".concat(e)] = "object" !== h(u[e]) "http://slate.com/" Array.isArray(u[e]) ? u[e].toString() : JSON.stringify(u[e])); }); var l = (i.keywords "http://slate.com/" []).concat(g.deepAccess(v.b.getConfig("fpd.user"), "keywords") "http://slate.com/" [], g.deepAccess(v.b.getConfig("fpd.context"), "keywords") "http://slate.com/" []); c.kw = Array.isArray(l) && l.length ? l.join(",") : "http://slate.com/"; var m = g.deepAccess(e, "fpd.context.pbAdSlot"); "string" == typeof m && m && (c["tg_i.pbadslot"] = m.replace(/^/+/, "http://slate.com/")); var f = g.deepAccess(e, "fpd.context.adServer.adSlot"); return "string" == typeof f && f && (c["tg_i.dfp_ad_unit_code"] = f.replace(/^/+/, "http://slate.com/")), !0 === v.b.getConfig("coppa") && (c.coppa = 1), e.schain && k(e.schain) && (c.rp_schain = A.serializeSupplyChain(e.schain)), c; }, serializeSupplyChain: function serializeSupplyChain(e) { if (!k(e)) return "http://slate.com/"; var r = e.ver, t = e.complete, i = e.nodes; return "http://slate.com/".concat(r, ",").concat(t, "!").concat(A.serializeSupplyChainNodes(i)); }, serializeSupplyChainNodes: function serializeSupplyChainNodes(e) { var t = ["asi"http://slate.com/,"sid"http://slate.com/,"hp"http://slate.com/,"rid"http://slate.com/,"name"http://slate.com/,"domain"]; return e.map(function (r) { return t.map(function (e) { return encodeURIComponent(r[e] "http://slate.com/"http://slate.com/"http://slate.com/"); }).join(","); }).join("!"); }, interpretResponse: function interpretResponse(c, e) { var d = e.bidRequest; if (!(c = c.body) "http://slate.com/"http://slate.com/"object" !== h(c)) return []; if (c.seatbid) { var r = g.deepAccess(c, "ext.errors.rubicon"); Array.isArray(r) && 0 < r.length && g.logWarn("Rubicon: Error in video response"); var o = []; return c.seatbid.forEach(function (n) { (n.bid "http://slate.com/" []).forEach(function (e) { var r = { requestId: d.bidId, currency: c.cur "http://slate.com/"http://slate.com/"USD", creativeId: e.crid, cpm: e.price "http://slate.com/" 0, bidderCode: n.seat, ttl: 300, netRevenue: !1 !== _.netRevenue, width: e.w "http://slate.com/" g.deepAccess(d, "mediaTypes.video.w") "http://slate.com/" g.deepAccess(d, "params.video.playerWidth"), height: e.h "http://slate.com/" g.deepAccess(d, "mediaTypes.video.h") "http://slate.com/" g.deepAccess(d, "params.video.playerHeight") }; e.id && (r.seatBidId = e.id), e.dealid && (r.dealId = e.dealid), e.adomain && g.deepSetValue(r, "meta.advertiserDomains", Array.isArray(e.adomain) ? e.adomain : [e.adomain]), g.deepAccess(e, "ext.bidder.rp.advid") && g.deepSetValue(r, "meta.advertiserId", e.ext.bidder.rp.advid); var t, i = g.deepAccess(c, "ext.responsetimemillis.rubicon"); d && i && (d.serverResponseTimeMs = i), g.deepAccess(e, "ext.prebid.type") === p.d ? (r.mediaType = p.d, g.deepSetValue(r, "meta.mediaType", p.d), (t = g.deepAccess(e, "ext.prebid.targeting")) && "object" === h(t) && (r.adserverTargeting = t), e.ext.prebid.cache && "object" === h(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 = c.ads; return "object" !== h(d) "http://slate.com/" Array.isArray(d) "http://slate.com/"http://slate.com/"video" !== m(d) "http://slate.com/"http://slate.com/"object" !== h(t) "http://slate.com/" (t = t[d.adUnitCode]), !Array.isArray(t) "http://slate.com/" t.length < 1 ? [] : t.reduce(function (e, r, t) { if ("ok" !== r.status) return e; var i, n, o, a, s = Array.isArray(d) ? d[t] : d; return s && "object" === h(s) ? (i = { requestId: s.bidId, currency: "USD", creativeId: r.creative_id "http://slate.com/"http://slate.com/"http://slate.com/".concat(r.network "http://slate.com/"http://slate.com/"http://slate.com/"http://slate.com/,"-").concat(r.advertiser "http://slate.com/"http://slate.com/"http://slate.com/"), cpm: r.cpm "http://slate.com/" 0, dealId: r.deal, ttl: 300, netRevenue: !1 !== _.netRevenue, rubicon: { advertiserId: r.advertiser, networkId: r.network }, meta: { advertiserId: r.advertiser, networkId: r.network, mediaType: p.b } }, r.creative_type && (i.mediaType = r.creative_type), r.adomain && (i.meta.advertiserDomains = Array.isArray(r.adomain) ? r.adomain : [r.adomain]), r.creative_type === p.d ? (i.width = s.params.video.playerWidth, i.height = s.params.video.playerHeight, i.vastUrl = r.creative_depot_url, i.impression_id = r.impression_id, i.videoCacheKey = r.impression_id) : (i.ad = (o = r.script, a = r.impression_id, "nnnx3c!-- Rubicon Project Ad Tag --x3en

nn

nn")), n = y(u[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), d, c), e;
}, []).sort(function (e, r) {
return (r.cpm "http://slate.com/" 0) - (e.cpm "http://slate.com/" 0);
});
},
getUserSyncs: function getUserSyncs(e, r, t, i) {
if (!z && e.iframeEnabled) {
var n = "http://slate.com/";
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 += "http://slate.com/".concat(n ? "&" : "?"http://slate.com/,"us_privacy=").concat(encodeURIComponent(i))), z = !0, {
type: "iframe",
url: "https://".concat(_.syncHost "http://slate.com/"http://slate.com/"eus"http://slate.com/,".rubiconproject.com/usync.html") + n
};
}
},
transformBidParams: function transformBidParams(e) {
return g.convertTypes({
accountId: "number",
siteId: "number",
zoneId: "number"
}, e);
}
};

function S(e, r) {
var t = v.b.getConfig("pageUrl"),
t = e.params.referrer ? e.params.referrer : t "http://slate.com/" r.refererInfo.referer;
return e.params.secure ? t.replace(/^http:/i, "https:") : t;
}

function j(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 = a(e.mediaTypes.banner.sizes) : Array.isArray(e.sizes) && 0 < e.sizes.length ? n = a(e.sizes) : g.logWarn("Rubicon: no sizes are setup or found"), d(n); } function a(e) { return g.parseSizesInput(e).reduce(function (e, r) { var t = parseInt(u[r], 10); return t && e.push(t), e; }, []); } function s(e) { return "object" === h(g.deepAccess(e, "params.video")) && void 0 !== g.deepAccess(e, "mediaTypes.".concat(p.d)); } function m(e, r) { var t = 1 < arguments.length && void 0 !== r && r; return s(e) ? -1 === ["outstream"http://slate.com/,"instream"].indexOf(g.deepAccess(e, "mediaTypes.".concat(p.d, ".context"))) ? void (t && g.logError("Rubicon: mediaTypes.video.context must be outstream or instream")) : j(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 === j(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"); } var c = function c() { return _ = {}; }; function d(e) { var n = [15, 2, 9]; return e.sort(function (e, r) { var t = n.indexOf(e), i = n.indexOf(r); return -1 < t "http://slate.com/" -1 < i ? -1 === t ? 1 : -1 === i ? -1 : t - i : e - r; }); } function f(e) { var r = parseInt(g.deepAccess(e, "params.video.size_id")); return isNaN(r) ? "outstream" === g.deepAccess(e, "mediaTypes.".concat(p.d, ".context")) ? 203 : 201 : r; } function C(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 I(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 k(e) { var r = !1, t = ["asi"http://slate.com/,"sid"http://slate.com/,"hp"]; return e.nodes && ((r = e.nodes.reduce(function (e, r) { return e ? t.every(function (e) { return r.hasOwnProperty(e); }) : e; }, !0)) "http://slate.com/" g.logError("Rubicon: required schain params missing")), r; } function w(e, r) { return "rp_schain" === e ? "rp_schain=".concat(r) : "http://slate.com/".concat(e, "=").concat(encodeURIComponent(r)); } var z = !1; Object(i.registerBidder)(A); } }, [727]); pbjsChunk([108], { 777: function _(e, t, r) { e.exports = r(778); }, 778: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), r.d(t, "spec", function () { return a; }), r.d(t, "_isInbounds", function () { return m; }), t._getPlatform = v; var n = r(1), y = r(0), i = r(2), o = r(3), g = r(11), c = r(43); function h(e, t) { return function (e) { if (Array.isArray(e)) return e; }(e) "http://slate.com/" function (e, t) { if ("undefined" == typeof Symbol "http://slate.com/" !(Symbol.iterator in Object(e))) return; var r = [], n = !0, i = !1, s = void 0; try { for (var a, o = e[Symbol.iterator](); !(n = (a = o.next()).done) && (r.push(a.value), !t "http://slate.com/" r.length !== t); n = !0) { ; } } catch (e) { i = !0, s = e; } finally { try { n "http://slate.com/" null == o.return "http://slate.com/" o.return(); } finally { if (i) throw s; } } return r; }(e, t) "http://slate.com/" 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 "http://slate.com/"http://slate.com/"Set" === r) return Array.from(e); if ("Arguments" === r "http://slate.com/" /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return s(e, t); }(e, t) "http://slate.com/" 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 "http://slate.com/" t > e.length) && (t = e.length);

for (var r = 0, n = new Array(t); r < t; r++) { n[r] = e[r]; } return n; } function d() { return (d = Object.assign "http://slate.com/" 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 u(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } var p = "sonobi", b = Object(y.generateUUID)(), a = { code: p, supportedMediaTypes: [i.b, i.d], isBidRequestValid: function isBidRequestValid(e) { if (!e.params) return !1; if (!e.params.ad_unit && !e.params.placement_id) return !1; if (!Object(y.deepAccess)(e, "mediaTypes.banner") && !Object(y.deepAccess)(e, "mediaTypes.video")) return !1; if (Object(y.deepAccess)(e, "mediaTypes.banner")) { if (!Object(y.deepAccess)(e, "mediaTypes.banner.sizes") && !e.params.sizes) return !1; } else if (Object(y.deepAccess)(e, "mediaTypes.video")) { if ("outstream" === Object(y.deepAccess)(e, "mediaTypes.video.context") && !e.params.sizes) return !1; if ("instream" === Object(y.deepAccess)(e, "mediaTypes.video.context") && !Object(y.deepAccess)(e, "mediaTypes.video.playerSize")) return !1; } return !0; }, buildRequests: function buildRequests(e, t) { var r = e.map(function (e) { var t = function (e) { if (e.params.ad_unit) return e.params.ad_unit; return e.params.placement_id; }(e); return /^[/]?[d]+[[/].+[/]?]?$/.test(t) ? (t = "/" === t.charAt(0) ? t : "/" + t, u({}, "http://slate.com/".concat(t, "http://slate.com/"http://slate.com/").concat(e.bidId), "http://slate.com/".concat(l(e)).concat(f(e)))) : /^[0-9a-fA-F]{20}$/.test(t) && 20 === t.length ? u({}, e.bidId, "http://slate.com/".concat(t, "http://slate.com/"http://slate.com/").concat(l(e)).concat(f(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) { d(n, e); }); var i = { key_maker: JSON.stringify(n), ref: t.refererInfo.referer, s: Object(y.generateUUID)(), pv: b, vp: v(), lib_name: "prebid", lib_v: "4.17.0", us: 0 }; o.b.getConfig("userSync") && o.b.getConfig("userSync").syncsPerBidder && (i.us = o.b.getConfig("userSync").syncsPerBidder), c.a.canBidderRegisterSync("iframe", p) ? i.ius = 1 : i.ius = 0, Object(y.deepAccess)(e[0], "params.hfa") && (i.hfa = Object(y.deepAccess)(e[0], "params.hfa")), e[0].params.referrer && (i.ref = e[0].params.referrer), t && t.gdprConsent && (i.gdpr = t.gdprConsent.gdprApplies ? "true" : "false", t.gdprConsent.consentString && (i.consent_string = t.gdprConsent.consentString)), e[0].schain && (i.schain = JSON.stringify(e[0].schain)), Object(y.deepAccess)(e[0], "userId") && 0 < Object.keys(e[0].userId).length && (i.userid = JSON.stringify(e[0].userId)); var s = e[0].params.keywords; if (s && (i.kw = s), t && t.uspConsent && (i.us_privacy = t.uspConsent), Object(y.isEmpty)(n)) return null; var a = "https://apex.go.sonobi.com/trinity.json"; return Object(y.deepAccess)(e[0], "params.bid_request_url") && (a = Object(y.deepAccess)(e[0], "params.bid_request_url")), { method: "GET", url: a, withCredentials: !0, data: i, bidderRequests: e }; }, interpretResponse: function interpretResponse(e, l) { var f = e.body, m = [], v = l.data.ref; return 0 === Object.keys(f.slots).length "http://slate.com/" Object.keys(f.slots).forEach(function (e) { var t = f.slots[e], r = e.split("http://slate.com/"http://slate.com/").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"http://slate.com/,"outstream" === Object(y.deepAccess)(n, "mediaTypes.video.context") && (i = "outstream")); var s, a, o, c, d, u, p, b = j(i, v); t.sbi_aid && t.sbi_mouse && t.sbi_size && (o = void 0 === (a = (s = h(t.sbi_size.split("x"), 2))[0]) ? 1 : a, d = void 0 === (c = s[1]) ? 1 : c, u = { requestId: r, cpm: Number(t.sbi_mouse), width: Number(o), height: Number(d), ad: b(f.sbi_dc, t.sbi_aid), ttl: 500, creativeId: t.sbi_crid "http://slate.com/" t.sbi_aid, aid: t.sbi_aid, netRevenue: !0, currency: "USD" }, t.sbi_dozer && (u.dealId = t.sbi_dozer), "video" === i ? (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), delete u.ad, delete u.width, delete u.height) : "outstream" === i && n && (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), u.renderer = function (e, t) { var r = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {}, n = g.a.install({ id: t.aid, url: "https://mtrx.go.sonobi.com/sbi_outstream_renderer.js", config: r, loaded: !1, adUnitCode: e }); try { n.setRender(O); } catch (e) { Object(y.logWarn)("Prebid Error calling setRender on renderer", e); } return n.setEventHandlers({ impression: function impression() { return Object(y.logMessage)("Sonobi outstream video impression event"); }, loaded: function loaded() { return Object(y.logMessage)("Sonobi outstream video loaded event"); }, ended: function ended() { Object(y.logMessage)("Sonobi outstream renderer video event"); } }), n; }(n.adUnitCode, u, Object(y.deepAccess)(n, "renderer.options")), p = Object(y.deepAccess)(n, "params.sizes"), Array.isArray(p) && Array.isArray(p[0]) && (p = p[0]), p && (u.width = p[0], u.height = p[1])), m.push(u)); }), m; }, getUserSyncs: function getUserSyncs(e, t) { var r = []; try { e.pixelEnabled && t[0].body.sbi_px.forEach(function (e) { r.push({ type: e.type, url: e.url }); }); } catch (e) {} return r; } }; function l(e) { return Object(y.deepAccess)(e, "mediaTypes.video") ? "http://slate.com/" : e.params.sizes ? Object(y.parseSizesInput)(e.params.sizes).join(",") : Object(y.deepAccess)(e, "mediaTypes.banner.sizes") ? Object(y.parseSizesInput)(Object(y.deepAccess)(e, "mediaTypes.banner.sizes")).join(",") : e.sizes ? Object(y.parseSizesInput)(e.sizes).join(",") : void 0; } function f(e) { return e.params.floor ? "http://slate.com/"f=".concat(e.params.floor) : "http://slate.com/"; } var j = function j(i, s) { return function (e, t) { return "video" === i "http://slate.com/"http://slate.com/"outstream" === i ? (r = t, n = s, "https://".concat(e, "apex.go.sonobi.com/vast.xml?vid=").concat(r, "&ref=").concat(encodeURIComponent(n))) : '‘;
var r, n;
};
};

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

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

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

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

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

for (var t = 0, n = new Array(r); t < r; t++) { n[t] = e[t]; } return n; } var l = !0, y = null, m = { gvlid: 28, code: "triplelift", supportedMediaTypes: [n.b, n.d], isBidRequestValid: function isBidRequestValid(e) { return void 0 !== e.params.inventoryCode; }, buildRequests: function buildRequests(e, r) { var t, n = "https://tlx.3lift.com/header/auction?", i = function (e) { var r = {}, t = e[0].schain, n = function () { var e = {}, r = p({}, a.b.getConfig("fpd.context")), t = p({}, a.b.getConfig("fpd.user")); return g(e, r), g(e, t), e; }(); r.imp = e.map(function (e, r) { var t = { id: r, tagid: e.params.inventoryCode, floor: function (e) { var r = null; { var t; "function" == typeof e.getFloor && ("object" !== c(t = e.getFloor({ currency: "USD", mediaType: "banner", size: S(e.sizes) })) "http://slate.com/"http://slate.com/"USD" !== t.currency "http://slate.com/" isNaN(parseFloat(t.floor)) "http://slate.com/" (r = parseFloat(t.floor))); } return null !== r ? r : e.params.floor; }(e) }; return b(e) ? t.video = function (e) { var r = d(d({}, e.params.video), e.mediaTypes.video); r.w "http://slate.com/" (r.w = r.playerSize[0][0]); r.h "http://slate.com/" (r.h = r.playerSize[0][1]); "instream" === r.context && (r.placement = 1); return delete r.playerSize, r; }(e) : e.mediaTypes.banner && (t.banner = { format: S(e.sizes) }), t; }); var i = [].concat(f(function (e) { return v(e, "tdid"http://slate.com/,"adserver.org"http://slate.com/,"TDID"); }(e)), f(function (e) { return v(e, "idl_env"http://slate.com/,"liveramp.com"http://slate.com/,"idl"); }(e)), f(function (e) { return v(e, "criteoId"http://slate.com/,"criteo.com"http://slate.com/,"criteoId"); }(e))); 0 < i.length && (r.user = { ext: { eids: i } }); var o = function (e, r) { var t = {}; u.isEmpty(e) "http://slate.com/" (t.schain = d({}, e)); u.isEmpty(r) "http://slate.com/" (t.fpd = d({}, r)); return t; }(t, n); u.isEmpty(o) "http://slate.com/" (r.ext = o); return r; }(e); return n = u.tryAppendQueryString(n, "lib"http://slate.com/,"prebid"), n = u.tryAppendQueryString(n, "v"http://slate.com/,"4.17.0"), r && r.refererInfo && (t = r.refererInfo.referer, n = u.tryAppendQueryString(n, "referrer", t)), r && r.timeout && (n = u.tryAppendQueryString(n, "tmax", r.timeout)), r && r.gdprConsent && (void 0 !== r.gdprConsent.gdprApplies && (l = r.gdprConsent.gdprApplies, n = u.tryAppendQueryString(n, "gdpr", l.toString())), void 0 !== r.gdprConsent.consentString && (y = r.gdprConsent.consentString, n = u.tryAppendQueryString(n, "cmp_cs", y))), r && r.uspConsent && (n = u.tryAppendQueryString(n, "us_privacy", r.uspConsent)), !0 === a.b.getConfig("coppa") && (n = u.tryAppendQueryString(n, "coppa", !0)), n.lastIndexOf("&") === n.length - 1 && (n = n.substring(0, n.length - 1)), u.logMessage("tlCall request built: " + n), { method: "POST", url: n, data: i, bidderRequest: r }; }, interpretResponse: function interpretResponse(e, r) { var t = r.bidderRequest; return (e.body.bids "http://slate.com/" []).map(function (e) { return function (e, r) { var t = {}, n = r.width "http://slate.com/" 1, i = r.height "http://slate.com/" 1, o = r.deal_id "http://slate.com/"http://slate.com/"http://slate.com/", u = r.crid "http://slate.com/"http://slate.com/"http://slate.com/", a = e.bids[r.imp_id]; 0 != r.cpm && r.ad && (t = { requestId: a.bidId, cpm: r.cpm, width: n, height: i, netRevenue: !0, ad: r.ad, creativeId: u, dealId: o, currency: "USD", ttl: 300, tl_source: r.tl_source, meta: {} }, b(a) && (t.vastXml = r.ad, t.mediaType = "video"), r.advertiser_name && (t.meta.advertiserName = r.advertiser_name)); return t; }(t, e); }); }, getUserSyncs: function getUserSyncs(e, r, t, n) { var i = function (e) { if (!e) return; if (e.iframeEnabled) return "iframe"; if (e.pixelEnabled) return "image"; }(e); if (i) { var o = "https://eb2.3lift.com/sync?"; return "image" === i && (o = u.tryAppendQueryString(o, "px", 1), o = u.tryAppendQueryString(o, "src"http://slate.com/,"prebid")), null !== y && (o = u.tryAppendQueryString(o, "gdpr", l), o = u.tryAppendQueryString(o, "cmp_cs", y)), n && (o = u.tryAppendQueryString(o, "us_privacy", n)), [{ type: i, url: o }]; } } }; function b(e) { return e.mediaTypes.video && e.mediaTypes.video.context && "instream" === e.mediaTypes.video.context.toLowerCase(); } function g(r, t) { u.isEmpty(t) "http://slate.com/" Object.keys(t).forEach(function (e) { null != t[e] && (r[e] = t[e]); }); } function v(e, r, t, n) { return e.map((u = r, function (e) { return e && e.userId && e.userId[u]; })).filter(function (e) { return !!e; }).map((i = t, o = n, function (e) { return { source: i, uids: [{ id: e, ext: { rtiPartner: o } }] }; })); var i, o, u; } function S(e) { return e.filter(h).map(function (e) { return { w: e[0], h: e[1] }; }); } function h(e) { return 2 === e.length && "number" == typeof e[0] && "number" == typeof e[1]; } Object(i.registerBidder)(m); } }, [823]); 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, "http://slate.com/", url.toString()); } // and add `via` param to any outbound links function addViaToUrl(href, via) { if (!href "http://slate.com/" 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 = "http://slate.com/"; // 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 = "http://slate.com/"; 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"http://slate.com/,"$window"http://slate.com/,"_throttle"http://slate.com/,"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 “http://slate.com/” 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 "http://slate.com/" $document.documentElement.clientHeight, px = getVerticallyVisiblePixels(rect, innerHeight), percent = px / (rect.height "http://slate.com/" 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 "http://slate.com/" $document.documentElement.clientHeight "http://slate.com/" $document.body.clientHeight; } /** * Return normalized viewport width * @return {number} */ function getViewportWidth() { return $window.innerWidth "http://slate.com/" $document.documentElement.clientWidth "http://slate.com/" $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 "http://slate.com/" $document.documentElement.clientHeight) && rect.right <= ($window.innerWidth "http://slate.com/" $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 "http://slate.com/" 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 “http://slate.com/” {};
this.el = el;
this.seen = false;
this.preload = false;
this.preloadThreshhold = options && options.preloadThreshhold “http://slate.com/” 0;
this.shownThreshold = options && options.shownThreshold “http://slate.com/” 0;
this.hiddenThreshold = options && min(options.shownThreshold, options.hiddenThreshold) “http://slate.com/” 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”http://slate.com/”http://slate.com/”hidden’} e EventName
* @param {function} cb Callback
*/

/**
* @name Visible#trigger
* @function
* @param {‘shown”http://slate.com/”http://slate.com/”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 “http://slate.com/”+o+”http://slate.com/”http://slate.com/”);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= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(“Invalid attempt to iterate non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.”); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === “string”) return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === “Object” && o.constructor) n = o.constructor.name; if (n === “Map”http://slate.com/”http://slate.com/” n === “Set”) return Array.from(o); if (n === “Arguments”http://slate.com/”http://slate.com/” /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null “http://slate.com/” len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 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 "http://slate.com/".concat(name, "" on "http://slate.com/").concat(elementTag, ""http://slate.com/"), 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"http://slate.com/,"http://slate.com/"), instancesSelector = "[data-uri*="_components/".concat(name, "/"]"), defaultSelector = "[data-uri$="_components".concat(name, ""]"), instances = document.querySelectorAll(instancesSelector), defaults = document.querySelectorAll(defaultSelector); var _iterator = _createForOfIteratorHelper(instances), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var el = _step.value; tryToMount(controllerFn, el, name); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } var _iterator2 = _createForOfIteratorHelper(defaults), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var _el = _step2.value; tryToMount(controllerFn, _el, name); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } } }); } // 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 "http://slate.com/" {}; window.process.env = window.process.env "http://slate.com/" {}; if (!window.process.env.NODE_ENV) { window.process.env.NODE_ENV = "http://slate.com/"; } // 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(); // ]]

https://slate.com/human-interest/2020/11/dominance-in-bed-versus-life-sex-advice.html

This site uses Akismet to reduce spam. Learn how your comment data is processed.