Each new season of The Crown brings with it an attendant season of royalist outrage. The latest round arrived right on schedule earlier this week, when the U.K.’s Telegraph published a letter to the editor from a self-proclaimed “staunch royalist” decrying “the depth of injustice on display” toward Prince Charles in the new episodes. But then the letter took a surprising turn: It singled out the show’s portrayal of Charles’ … fishing technique. The depiction, it said, was “utterly unjustifiable” and “almost criminal.” I think BBC journalist Jane Garvey spoke for everyone when she posted the letter on Twitter and asked, uh, really? Here in America, I was even more confused, but also amused. What is so egregious about this fishing? I decided to go straight to the source and ask 47-year-old Dominic Witherow of Woking, Surrey, himself what prompted his sternly worded missive. Our conversation has been condensed and edited for clarity.
Heather Schwedel: When I saw your letter, I thought it was funny, but I didn’t know if that was on purpose or not.
Dominic Witherow: Well, yeah, I mean, it was a joke.
OK, that clears a lot up. What inspired you to write it?
The Crown is clearly the big show at the moment. You go into London, if you can get there, and there are enormous posters up everywhere about The Crown and people have been looking forward to it. My wife had the first episode on on Sunday, and I was watching it with her. There’s this scene where Prince Charles is fishing, and it’s a big buildup to the murder of Lord Mountbatten. The fishing scene, for anybody who has ever been fishing, frankly, it’s ridiculous. They literally just get everything wrong. There’ve been so much about how, you know, the show is not historically accurate and this never happened and that never happened and this is scandalous, blahdy, blahdy, blah. It’s all a big storm in a teacup. It really is irrelevant. However, this one, I thought, it’s so ridiculous. It’s the sort of nonsense thing that you can imagine retired colonels with enormous mustaches getting all uppity about.
What was so egregious about Charles’ fishing?
Casting a fly is one of the things that anybody who has been fishing looks for in anything that involves fishing. There’s a real aesthetic beauty to a well-cast fly. It creates this pleasing shape and it lands without a whisper of a ripple on the water. Purely the technical aspect of casting his line in such an incompetent manner—this is a man who was brought up with these country pursuits his entire life. His muscle memory wouldn’t allow him to do to cast as poorly as that. The way that he treats the poor fish once he’s caught it, that’s properly homicidal. The poor actor.
How do you know all this?
My dad taught me to fish when I was growing up. I was very lucky growing up, because my dad was in the military and we lived on a station in North Yorkshire, and we had a considerable stretch of a very, very fast, very good river.
So you got the idea to send the letter—
I don’t know if you know anything about the Daily Telegraph or have much awareness of the general British culture toward the royals, but the Telegraph is very much the newspaper of the establishment. So I just bashed it out and thought there’s no way they’re going to publish it, because in the opening of it, I said that we were watching it specifically so that we could pick apart the inaccuracies. There’s an immediate prejudgment of the thing, before we’ve even seen it. That’s the caricature of the Telegraph reader. I thought, “Oh, I’ll send them something about that—it’s the sort of nonsense that the Telegraph will pick up.” I thought they’d see that and go, “This is obviously a piss take, we’re not gonna do this.” But it happened to get through, which is quite funny.
I definitely was missing some of that context about the Telegraph.
I think it’s fair to say that the Telegraph is inherently pro-royal. For instance, if you look at the Telegraph this week, there are several articles absolutely lambasting the new series of The Crown, major articles in the paper saying that the royals should be furious at it in multiple different ways. They’re obsessed with it.
The Telegraph is very much establishment newspaper, and it’s very proud of its letters page. There’s this big tradition in the U.K. of writing letters to the paper, and the Times, the Telegraph, and the Guardian are the three that are actually noticed. The national broadcasters will on a regular basis pick up comments from the letters pages. And it’s actually worth reading because it is a mix of opinions about all sorts of topics, but there is this tradition of frankly ridiculous letters as well. There’ve been famous comedians and famous wits who have written letters under pseudonyms and whatnot. They probably realized that mine wasn’t 100 percent serious. I sort of hope they did. It must have been the first letter they received about it, except for the people who’d prewritten their letters, because they knew that they were going to be absolutely scandalized by the thing before it had even been released.
Were there any other letters about The Crown published alongside yours?
There was one. It was complaining about the scene of the queen at the Trooping of the Colour, which is the Queen’s official birthday parade. She had saluted incorrectly, and I think she was wearing the wrong hackle. It was quite dry. I don’t think they were joking.
Did the paper tell you they were going to print your letter?
I had no idea it had been published, and then my son’s English teacher at school, he went into their lesson and read it out. And then the school secretary sent me a WhatsApp that said, “Have you seen this?” I certainly wasn’t expecting it to be the talk of the day. Everybody who I know suddenly started getting in touch with me. I barely use Twitter. I had seven followers on Twitter, and now I’ve got 27, so it’s a big deal. It’s nice to know that you’ve raised a chuckle. One of my favorite comedians, a lovely, very funny lady called Jenny Eclair, she said, “Oh, I love this” and tweeted it. I was quite chuffed about that. I thought, “I’ve peaked! Yay!”
Do you regularly write letters to the editor?
I’ve written three letters to the Telegraph in my life. Well, I’ve actually written quite a lot more, but I’ve had three that have been published. It’s quite a big deal. If you’re not a writer and it’s not your job to produce copy, it’s quite fun.
Was there anything else in the letter an American wouldn’t get?
I live in a village outside Woking called Chobham. Woking is the local large town. Of course Woking famously is where Prince Andrew’s Pizza Express excuse was from. I did put my full address in the letter, but I think that might’ve been a little bit of cheek on the part of the letters editor. Woking Pizza Express is very nice. We’ve been there many, many times.
While I have you, I can never get a handle on what British people actually think of the royals. Can you enlighten me?
A lot of people can’t stand the royals and can’t stand the institution of the royals. I would say probably the majority of people in this country actually really value the royals and really like the specialness of having them. It’s an important thing to us that is very much part of our national identity.
Back to the fishing: Do you think someone on The Crown might have just wanted to make Charles a bad fisher as a character choice?
I just don’t even think he registered with the filmmakers. I think that’s where the sloppiness comes in and the slight arrogance, because they think it doesn’t matter.
I feel like your letter was a parody of the kind of person who would get mad about the fishing not being accurate on The Crown … but that you are also legitimately aggrieved about the bad fishing.
Of course it doesn’t really matter. It doesn’t matter, but they’re sharing it to an audience of however many millions of people. This show is something that has been filling our newspapers and news programs for several weeks. That’s been a really big buildup to this. And then when it comes and something really basic is so sloppily portrayed, then you think, “If they can’t even get that right …”
');
}
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 = "",
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 || e.isEven() ? d : h)(e);
return this.exp(t, r);
}, T.prototype.exp = function (t, e) {
if (4294967295 < t || t < 1) return T.ONE;
var r,
i = b(),
s = b(),
o = e.convert(this),
_ = D(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 = "", r = 0, i = 0, s = 0; s < t.length && "=" != t.charAt(s); ++s) {
var o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(t.charAt(s));
o < 0 || (r = 0 == r ? (e += c(o >> 2), i = 3 & o, 1) : 1 == r ? (e += c(i << 2 | o >> 4), i = 15 & o, 2) : 2 == r ? (e += c(i), e += c(o >> 2), i = 3 & o, 3) : (e += c(i << 2 | o >> 4), e += c(15 & o), 0));
}
return 1 == r && (e += c(i << 2)), e;
}, e.removeExtraSymbols = function (t) {
return t.replace(/^1f+00/, "").replace("3031300d060960864801650304020105000420"https://slate.com/,"");
};
var d = (u.prototype.convert = function (t) {
return t.s < 0 || 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 || ""); for (var e = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298], r = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], i = (t += String.fromCharCode(128)).length / 4 + 2, s = Math.ceil(i / 16), o = new Array(s), _ = 0; _ < s; _++) { o[_] = new Array(16); for (var a = 0; a < 16; a++) { o[_][a] = t.charCodeAt(64 * _ + 4 * a) << 24 | t.charCodeAt(64 * _ + 4 * a + 1) << 16 | t.charCodeAt(64 * _ + 4 * a + 2) << 8 | t.charCodeAt(64 * _ + 4 * a + 3) << 0; } } var n = 8 * (t.length - 1) / Math.pow(2, 32), p = 8 * (t.length - 1) >>> 0;
for (o[s - 1][14] = Math.floor(n), o[s - 1][15] = p, _ = 0; _ < s; _++) {
for (var c = new Array(64), d = 0; d < 16; d++) {
c[d] = o[_][d];
}
for (d = 16; d < 64; d++) {
c[d] = y.q1(c[d - 2]) + c[d - 7] + y.q0(c[d - 15]) + c[d - 16] >>> 0;
}
for (var u = r[0], h = r[1], l = r[2], f = r[3], E = r[4], v = r[5], m = r[6], T = r[7], d = 0; d < 64; d++) {
var b = T + y.z1(E) + y.Ch(E, v, m) + e[d] + c[d],
D = y.z0(u) + y.Maj(u, h, l);
T = m, m = v, v = E, E = f + b >>> 0, f = l, l = h, h = u, u = b + D >>> 0;
}
r[0] = r[0] + u >>> 0, r[1] = r[1] + h >>> 0, r[2] = r[2] + l >>> 0, r[3] = r[3] + f >>> 0, r[4] = r[4] + E >>> 0, r[5] = r[5] + v >>> 0, r[6] = r[6] + m >>> 0, r[7] = r[7] + T >>> 0;
}
for (var P = new Array(r.length), T = 0; T < r.length; T++) {
P[T] = ("00000000" + r[T].toString(16)).slice(-8);
}
return P.join("");
}, y.utf8Encode = function (e) {
try {
return new TextEncoder().encode(e).reduce(function (t, e) {
return t + String.fromCharCode(e);
}, "");
} catch (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([214], {
496: function _(e, r, i) {
e.exports = i(497);
},
497: function _(e, r, i) {
"use strict";
Object.defineProperty(r, "__esModule", {
value: !0
}), i.d(r, "spec", function () {
return p;
});
var T = i(0),
S = i(2),
v = i(3),
t = i(10),
l = i.n(t),
a = i(498),
n = i.n(a),
s = i(1);
function g(e) {
return (g = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) {
return _typeof(e);
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e);
})(e);
}
var o = [S.b, S.d],
y = 100,
b = 300,
h = 3600,
w = !0,
x = {
JPY: 1
};
function C(e) {
var r = {};
return r.id = e.bidId, r.ext = {}, r.ext.siteID = e.params.siteId, !e.params.hasOwnProperty("id") || "string" != typeof e.params.id && "number" != typeof e.params.id ? r.ext.sid = "".concat(e.params.size[0], "x").concat(e.params.size[1]) : r.ext.sid = String(e.params.id), e.params.hasOwnProperty("bidFloor") && e.params.hasOwnProperty("bidFloorCur") && (r.bidfloor = e.params.bidFloor, r.bidfloorcur = e.params.bidFloorCur), r;
}
function d(e) {
return Array.isArray(e) && 2 === e.length && n()(e[0]) && n()(e[1]);
}
function A(e, r) {
if (d(e)) return e[0] === r[0] && e[1] === r[1];
for (var i = 0; i < e.length; i++) { if (e[i][0] === r[0] && e[i][1] === r[1]) return 1; } } function j(e, r, i, t) { var a = [], n = {}, s = e[0].userId; if (s && "object" === g(s) && s.idl_env && function (e, r, i, t, a, n) { if (i) return r[a] = 1, e.push({ source: t, uids: [{ id: i, ext: { rtiPartner: n } }] }); T.logWarn("Tried to add a user ID from Prebid, the ID received was null"); }(a, n, s.idl_env, "liveramp.com"https://slate.com/,"LiveRampIp"https://slate.com/,"idl"), window.headertag && "function" == typeof window.headertag.getIdentityInfo) { var o, d = window.headertag.getIdentityInfo(); if (d && "object" === g(d)) for (var p in d) { d.hasOwnProperty(p) && (n.hasOwnProperty(p) || !(o = d[p]).responsePending && o.data && "object" === g(o.data) && Object.keys(o.data).length && a.push(o.data)); } } var m, c = {}; c.id = e[0].bidderRequestId, c.imp = i, c.site = {}, c.ext = {}, c.ext.source = "prebid", e[0].schain && (c.source = { ext: { schain: e[0].schain } }), 0 < a.length && (c.user = {}, c.user.eids = a), document.referrer && "" !== document.referrer && (c.site.ref = document.referrer), r && (r.gdprConsent && ((m = r.gdprConsent).hasOwnProperty("gdprApplies") && (c.regs = { ext: { gdpr: m.gdprApplies ? 1 : 0 } }), m.hasOwnProperty("consentString") && (c.user = c.user || {}, c.user.ext = { consent: m.consentString || "" })), r.uspConsent && T.deepSetValue(c, "regs.ext.us_privacy", r.uspConsent), r.refererInfo && (c.site.page = r.refererInfo.referer)); var u = {}, f = r && r.bidderCode || "ix", l = v.b.getConfig(f); if (l) { if ("object" === g(l.firstPartyData)) { var y = l.firstPartyData, b = "?"; for (var h in y) { y.hasOwnProperty(h) && (b += "".concat(encodeURIComponent(h), "=").concat(encodeURIComponent(y[h]), "&")); } b = b.slice(0, -1), c.site.page += b; } "number" == typeof l.timeout && (u.t = l.timeout); } return u.s = e[0].params.siteId, u.v = t, u.r = JSON.stringify(c), u.ac = "j", u.sd = 1, 8.1 === t && (u.nf = 1), { method: "GET", url: "https://htlb.casalemedia.com/cygnus", data: u }; } function F(e, r) { for (var i = 0; i < e.length; i++) { if (r[0] == e[i][0] && r[1] == e[i][1]) return e.splice(i, 1), 1; } } var p = { code: "ix", gvlid: 10, supportedMediaTypes: o, isBidRequestValid: function isBidRequestValid(e) { if (!d(e.params.size)) return T.logError("ix bidder params: bid size has invalid format."), !1; if (!A(e.sizes, e.params.size)) return T.logError("ix bidder params: bid size is not included in ad unit sizes."), !1; if (e.hasOwnProperty("mediaType") && !T.contains(o, e.mediaType)) return !1; if (e.hasOwnProperty("mediaTypes") && !T.deepAccess(e, "mediaTypes.banner.sizes") && !T.deepAccess(e, "mediaTypes.video.playerSize")) return !1; if ("string" != typeof e.params.siteId && "number" != typeof e.params.siteId) return T.logError("ix bidder params: siteId must be string or number value."), !1; var r, i, t = e.params.hasOwnProperty("bidFloor"), a = e.params.hasOwnProperty("bidFloorCur"); return !!(!t && !a || t && a && (r = e.params.bidFloor, i = e.params.bidFloorCur, Boolean("number" == typeof r && "string" == typeof i && i.match(/^[A-Z]{3}$/)))) || (T.logError("ix bidder params: bidFloor / bidFloorCur parameter has invalid format."), !1); }, buildRequests: function buildRequests(e, r) { for (var i, t, a, n, s, o, d, p, m, c, u, f, l, y = [], b = [], h = [], v = null, g = {}, w = 0; w < e.length; w++) { (v = e[w]).mediaType !== S.d && !T.deepAccess(v, "mediaTypes.video") || (v.mediaType === S.d || A(v.mediaTypes.video.playerSize, v.params.size) ? h.push(function (e) { var r = C(e); r.video = T.deepClone(e.params.video), r.video.w = e.params.size[0], r.video.h = e.params.size[1]; var i = T.deepAccess(e, "mediaTypes.video.context"); return i && ("instream" === i ? r.video.placement = 1 : "outstream" === i ? r.video.placement = 4 : T.logWarn("ix bidder params: video context '".concat(i, "' is not supported"))), r; }(v)) : T.logError("Bid size is not included in video playerSize")), v.mediaType !== S.b && !T.deepAccess(v, "mediaTypes.banner") && (v.mediaType || v.mediaTypes) || (c = void 0, (c = C(m = v)).banner = {}, c.banner.w = m.params.size[0], c.banner.h = m.params.size[1], c.banner.topframe = T.inIframe() ? 0 : 1, i = c, b.push(i), a = g, n = i, p = d = o = s = void 0, p = (t = v).transactionId, a.hasOwnProperty(p) ? (s = [], a[p].hasOwnProperty("missingSizes") && (s = a[p].missingSizes), F(s, t.params.size), a[p].missingSizes = s) : T.deepAccess(t, "mediaTypes.banner.sizes") && (F(o = T.deepClone(t.mediaTypes.banner.sizes), t.params.size), d = { missingSizes: o, impression: n }, a[p] = d)); } for (var x in g) { if (g.hasOwnProperty(x)) for (var I = g[x].missingSizes, P = 0; P < I.length; P++) { var z = g[x].impression, O = (u = z, f = I[P], l = void 0, (l = T.deepClone(u)).ext.sid = "".concat(f[0], "x").concat(f[1]), l.banner.w = f[0], l.banner.h = f[1], l); b.push(O); } } return 0 < b.length && y.push(j(e, r, b, 7.2)), 0 < h.length && y.push(j(e, r, h, 8.1)), y; }, interpretResponse: function interpretResponse(e, r) { var i = []; if (!e.hasOwnProperty("body") || !e.body.hasOwnProperty("seatbid")) return i; for (var t, a, n, s, o = e.body, d = o.seatbid, p = 0; p < d.length; p++) { if (d[p].hasOwnProperty("bid")) for (var m = d[p].bid, c = JSON.parse(r.data.r), u = 0; u < m.length; u++) { var f = function (r, e) { if (r) return l()(e, function (e) { return e.id === r; }); }(m[u].impid, c.imp); t = m[u], a = o.cur, n = f, s = void 0, s = {}, x.hasOwnProperty(a) ? s.cpm = t.price / x[a] : s.cpm = t.price / y, s.requestId = t.impid, s.dealId = T.deepAccess(t, "ext.dealid"), s.netRevenue = w, s.currency = a, s.creativeId = t.hasOwnProperty("crid") ? t.crid : "-", T.deepAccess(t, "ext.vasturl") ? (s.vastUrl = t.ext.vasturl, s.width = n.video.w, s.height = n.video.h, s.mediaType = S.d, s.ttl = h) : (s.ad = t.adm, s.width = t.w, s.height = t.h, s.mediaType = S.b, s.ttl = b), s.meta = {}, s.meta.networkId = T.deepAccess(t, "ext.dspid"), s.meta.brandId = T.deepAccess(t, "ext.advbrandid"), s.meta.brandName = T.deepAccess(t, "ext.advbrand"), t.adomain && 0 < t.adomain.length && (s.meta.advertiserDomains = t.adomain), i.push(s); } } return i; }, transformBidParams: function transformBidParams(e) { return T.convertTypes({ siteID: "number" }, e); }, getUserSyncs: function getUserSyncs(e) { return e.iframeEnabled ? [{ type: "iframe", url: "https://js-sec.indexww.com/um/ixmatch.html" }] : []; } }; Object(s.registerBidder)(p); } }, [496]); pbjsChunk([209], { 512: function _(e, t, r) { e.exports = r(513); }, 513: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), r.d(t, "spec", function () { return l; }); var s = r(0), d = r(3), n = r(1), a = r(7); function g() { return (g = Object.assign || function (e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t]; for (var n in r) { Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]); } } return e; }).apply(this, arguments); } var o, i, c, u = Object(a.b)(), l = { code: "kargo", isBidRequestValid: function isBidRequestValid(e) { return !(!e || !e.params) && !!e.params.placementId; }, buildRequests: function buildRequests(e, t) { var r, n = d.b.getConfig("currency"), a = n && n.adServerCurrency || "USD", o = {}, i = {}; s._each(e, function (e) { o[e.bidId] = e.params.placementId, i[e.bidId] = e.sizes; }), 0 < e.length && e[0].userId && e[0].userId.tdid && (r = e[0].userId.tdid); var c = g({}, { sessionId: l._getSessionId(), requestCount: l._getRequestCount(), timeout: t.timeout, currency: a, cpmGranularity: 1, timestamp: new Date().getTime(), cpmRange: { floor: 0, ceil: 20 }, bidIDs: o, bidSizes: i, prebidRawBidRequests: e }, l._getAllMetadata(r, t.uspConsent)), u = encodeURIComponent(JSON.stringify(c)); return g({}, t, { method: "GET", url: "".concat("https://krk.kargo.com"https://slate.com/,"/api/v2/bid"), data: "json=".concat(u), currency: a }); }, interpretResponse: function interpretResponse(e, t) { var r = e.body, n = []; for (var a in r) { var o = r[a], i = void 0; o.metadata && o.metadata.landingPageDomain && (i = { clickUrl: o.metadata.landingPageDomain, advertiserDomains: [o.metadata.landingPageDomain] }), n.push({ requestId: a, cpm: Number(o.cpm), width: o.width, height: o.height, ad: o.adm, ttl: 300, creativeId: o.id, dealId: o.targetingCustom, netRevenue: !0, currency: t.currency, meta: i }); } return n; }, getUserSyncs: function getUserSyncs(e) { var t = [], r = l._generateRandomUuid(), n = l._getClientId(); if (e.iframeEnabled && r && n) for (var a = 0; a < 5; a++) { t.push({ type: "iframe", url: "https://crb.kargo.com/api/v1/initsyncrnd/{UUID}?seed={SEED}&idx={INDEX}".replace("{UUID}", n).replace("{SEED}", r).replace("{INDEX}", a) }); } return t; }, _readCookie: function _readCookie(e) { if (!u.cookiesAreEnabled()) return null; for (var t = "".concat(e, "="), r = document.cookie.split(";"), n = 0; n < r.length; n++) { for (var a = r[n]; " " === a.charAt(0);) { a = a.substring(1, a.length); } if (0 === a.indexOf(t)) return a.substring(t.length, a.length); } return null; }, _getCrbFromCookie: function _getCrbFromCookie() { try { var e = JSON.parse(decodeURIComponent(l._readCookie("krg_crb"))); if (e && e.v) { var t = JSON.parse(atob(e.v)); if (t) return t; } return {}; } catch (e) { return {}; } }, _getCrbFromLocalStorage: function _getCrbFromLocalStorage() { try { return JSON.parse(atob(l._getLocalStorageSafely("krg_crb"))); } catch (e) { return {}; } }, _getCrb: function _getCrb() { var e = l._getCrbFromLocalStorage(); return Object.keys(e).length ? e : l._getCrbFromCookie(); }, _getKruxUserId: function _getKruxUserId() { return l._getLocalStorageSafely("kxkar_user"); }, _getKruxSegments: function _getKruxSegments() { return l._getLocalStorageSafely("kxkar_segs"); }, _getKrux: function _getKrux() { var e = l._getKruxSegments(), t = []; return e && (t = e.split(",")), { userID: l._getKruxUserId(), segments: t }; }, _getLocalStorageSafely: function _getLocalStorageSafely(e) { try { return u.getDataFromLocalStorage(e); } catch (e) { return null; } }, _getUserIds: function _getUserIds(e, t) { var r = l._getCrb(), n = { kargoID: r.userId, clientID: r.clientId, crbIDs: r.syncIds || {}, optOut: r.optOut, usp: t }; return e && (n.tdID = e), n; }, _getClientId: function _getClientId() { return l._getCrb().clientId; }, _getAllMetadata: function _getAllMetadata(e, t) { return { userIDs: l._getUserIds(e, t), krux: l._getKrux(), pageURL: window.location.href, rawCRB: l._readCookie("krg_crb"), rawCRBLocalStorage: l._getLocalStorageSafely("krg_crb") }; }, _getSessionId: function _getSessionId() { return o = o || l._generateRandomUuid(); }, _getRequestCount: function _getRequestCount() { return i === window.location.pathname ? ++c : (i = window.location.pathname, c = 0); }, _generateRandomUuid: function _generateRandomUuid() { try { var e = new Uint8Array(16); crypto.getRandomValues(e), e[6] = -177 & e[6] | 64, e[8] = -65 & e[8] | 128; var t = Array.prototype.map.call(new Uint8Array(e), function (e) { return ("00" + e.toString(16)).slice(-2); }).join(""); return t.slice(0, 8) + "-" + t.slice(8, 12) + "-" + t.slice(12, 16) + "-" + t.slice(16, 20) + "-" + t.slice(20); } catch (e) { return ""; } } }; Object(n.registerBidder)(l); } }, [512]); pbjsChunk([125], { 720: function _(e, r, t) { e.exports = t(721); }, 721: function _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", { value: !0 }), t.d(r, "spec", function () { return z; }), r.hasVideoMediaType = s, t.d(r, "resetRubiConf", function () { return c; }), r.masSizeOrdering = d, r.determineRubiconVideoSizeId = g, r.getPriceGranularity = v, r.hasValidVideoParams = l, r.hasValidSupplyChainParams = T, r.encodeParam = b, r.resetUserSync = function () { y = !1; }; var S = t(0), i = t(1), I = t(3), u = t(2), n = t(10), C = t.n(n); function j(e, r) { return function (e) { if (Array.isArray(e)) return e; }(e) || function (e, r) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var t = [], i = !0, n = !1, o = void 0; try { for (var a, s = e[Symbol.iterator](); !(i = (a = s.next()).done) && (t.push(a.value), !r || t.length !== r); i = !0) { ; } } catch (e) { n = !0, o = e; } finally { try { i || null == s.return || s.return(); } finally { if (n) throw o; } } return t; }(e, r) || function (e, r) { if (!e) return; if ("string" == typeof e) return o(e, r); var t = Object.prototype.toString.call(e).slice(8, -1); "Object" === t && e.constructor && (t = e.constructor.name); if ("Map" === t || "Set" === t) return Array.from(e); if ("Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return o(e, r); }(e, r) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function o(e, r) { (null == r || r > e.length) && (r = e.length);
for (var t = 0, i = new Array(r); t < r; t++) { i[t] = e[t]; } return i; } function k() { return (k = Object.assign || function (e) { for (var r = 1; r < arguments.length; r++) { var t = arguments[r]; for (var i in t) { Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); } } return e; }).apply(this, arguments); } function f(e, r, t) { return r in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function E(e) { return (E = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { return _typeof(e); } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var w = {}; I.b.getConfig("rubicon", function (e) { S.mergeDeep(w, e.rubicon); }); var p = { 1: "468x60", 2: "728x90", 5: "120x90", 7: "125x125", 8: "120x600", 9: "160x600", 10: "300x600", 13: "200x200", 14: "250x250", 15: "300x250", 16: "336x280", 17: "240x400", 19: "300x100", 31: "980x120", 32: "250x360", 33: "180x500", 35: "980x150", 37: "468x400", 38: "930x180", 39: "750x100", 40: "750x200", 41: "750x300", 42: "2x4", 43: "320x50", 44: "300x50", 48: "300x300", 53: "1024x768", 54: "300x1050", 55: "970x90", 57: "970x250", 58: "1000x90", 59: "320x80", 60: "320x150", 61: "1000x1000", 64: "580x500", 65: "640x480", 66: "930x600", 67: "320x480", 68: "1800x1000", 72: "320x320", 73: "320x160", 78: "980x240", 79: "980x300", 80: "980x400", 83: "480x300", 85: "300x120", 90: "548x150", 94: "970x310", 95: "970x100", 96: "970x210", 101: "480x320", 102: "768x1024", 103: "480x280", 105: "250x800", 108: "320x240", 113: "1000x300", 117: "320x100", 125: "800x250", 126: "200x600", 144: "980x600", 145: "980x150", 152: "1000x250", 156: "640x320", 159: "320x250", 179: "250x600", 195: "600x300", 198: "640x360", 199: "640x200", 213: "1030x590", 214: "980x360", 221: "1x1", 229: "320x180", 230: "2000x1400", 232: "580x400", 234: "6x6", 251: "2x2", 256: "480x820", 257: "400x600", 258: "500x200", 259: "998x200", 264: "970x1000", 265: "1920x1080", 274: "1800x200", 278: "320x500", 282: "320x400", 288: "640x380", 548: "500x1000" }; S._each(p, function (e, r) { return p[e] = r; }); var z = { code: "rubicon", gvlid: 52, supportedMediaTypes: [u.b, u.d], isBidRequestValid: function isBidRequestValid(e) { if ("object" !== E(e.params)) return !1; for (var r = 0, t = ["accountId"https://slate.com/,"siteId"https://slate.com/,"zoneId"]; r < t.length; r++) { if (e.params[t[r]] = parseInt(e.params[t[r]]), isNaN(e.params[t[r]])) return S.logError("Rubicon: wrong format of accountId or siteId or zoneId."), !1; } var i = m(e, !0); return !!i && ("video" !== i || l(e)); }, buildRequests: function buildRequests(e, l) { var n, r = e.filter(function (e) { return "video" === m(e); }).map(function (t) { t.startTime = new Date().getTime(); var e, r, i, n = { id: t.transactionId, test: I.b.getConfig("debug") ? 1 : 0, cur: ["USD"], source: { tid: t.transactionId }, tmax: l.timeout, imp: [{ exp: I.b.getConfig("s2sConfig.defaultTtl"), id: t.adUnitCode, secure: 1, ext: f({}, t.bidder, t.params), video: S.deepAccess(t, "mediaTypes.video") || {} }], ext: { prebid: { cache: { vastxml: { returnCreative: !0 === w.returnVast } }, targeting: { includewinners: !0, includebidderkeys: !1, pricegranularity: v(I.b) }, bidders: { rubicon: { integration: w.int_type || "pbjs" } } } } }; if ("rubicon" !== t.bidder && (n.ext.prebid.aliases = f({}, t.bidder, "rubicon")), "function" != typeof t.getFloor || w.disableFloors) e = parseFloat(S.deepAccess(t, "params.floor"));else { try { r = t.getFloor({ currency: "USD", mediaType: "video", size: O(t, "video") }); } catch (e) { S.logError("Rubicon: getFloor threw an error: ", e); } e = "object" !== E(r) || "USD" !== r.currency || isNaN(parseInt(r.floor)) ? void 0 : parseFloat(r.floor); } isNaN(e) || (n.imp[0].bidfloor = e), n.imp[0].ext[t.bidder].video.size_id = g(t), function (r, t, e) { if (!r) return; "object" === E(I.b.getConfig("app")) ? r.app = I.b.getConfig("app") : r.site = { page: R(t, e) }; "object" === E(I.b.getConfig("device")) && (r.device = I.b.getConfig("device")); t.params.video.language && ["site"https://slate.com/,"device"].forEach(function (e) { r[e] && (r[e].content = k({ language: t.params.video.language }, r[e].content)); }); }(n, t, l), function (e, r) { "object" === E(e.imp[0].video) && void 0 === e.imp[0].video.skip && (e.imp[0].video.skip = r.params.video.skip); "object" === E(e.imp[0].video) && void 0 === e.imp[0].video.skipafter && (e.imp[0].video.skipafter = r.params.video.skipdelay); "object" === E(e.imp[0].video) && void 0 === e.imp[0].video.pos && ("atf" === r.params.position ? e.imp[0].video.pos = 1 : "btf" === r.params.position && (e.imp[0].video.pos = 3)); var t = O(r, "video"); e.imp[0].video.w = t[0], e.imp[0].video.h = t[1]; }(n, t), l.gdprConsent && ("boolean" == typeof l.gdprConsent.gdprApplies && (i = l.gdprConsent.gdprApplies ? 1 : 0), S.deepSetValue(n, "regs.ext.gdpr", i), S.deepSetValue(n, "user.ext.consent", l.gdprConsent.consentString)), l.uspConsent && S.deepSetValue(n, "regs.ext.us_privacy", l.uspConsent); var o, a = S.deepAccess(l, "bids.0.userIdAsEids"); a && a.length && (S.deepSetValue(n, "user.ext.eids", a), (o = C()(n.user.ext.eids, function (e) { return "liveintent.com" === e.source; })) && (S.deepSetValue(n, "user.ext.tpid", { source: o.source, uid: o.uids[0].id }), o.ext && o.ext.segments && S.deepSetValue(n, "rp.target.LIseg", o.ext.segments))); var s = I.b.getConfig("user.id"); s && S.deepSetValue(n, "user.id", s), !0 === I.b.getConfig("coppa") && S.deepSetValue(n, "regs.coppa", 1), t.schain && T(t.schain) && S.deepSetValue(n, "source.ext.schain", t.schain); var c, d = k({}, t.params.inventory, I.b.getConfig("fpd.context")), u = k({}, t.params.visitor, I.b.getConfig("fpd.user")); S.isEmpty(d) && S.isEmpty(u) || (c = { bidders: [l.bidderCode], config: { fpd: {} } }, S.isEmpty(d) || (c.config.fpd.site = d), S.isEmpty(u) || (c.config.fpd.user = u), S.deepSetValue(n, "ext.prebid.bidderconfig.0", c)); var p = S.deepAccess(t, "fpd.context.pbAdSlot"); return "string" == typeof p && p && S.deepSetValue(n.imp[0].ext, "context.data.pbadslot", p), ["name"https://slate.com/,"adSlot"].forEach(function (e) { var r = S.deepAccess(t, "fpd.context.adserver.".concat(e)); "string" == typeof r && r && S.deepSetValue(n.imp[0].ext, "context.data.adserver.".concat(e.toLowerCase()), r); }), t.storedAuctionResponse && S.deepSetValue(n.imp[0], "ext.prebid.storedauctionresponse.id", t.storedAuctionResponse.toString()), S.deepSetValue(n.imp[0], "ext.prebid.auctiontimestamp", l.auctionStart), { method: "POST", url: "https://".concat(w.videoHost || "prebid-server"https://slate.com/,".rubiconproject.com/openrtb2/auction"), data: n, bidRequest: t }; }); return !0 !== w.singleRequest ? r.concat(e.filter(function (e) { return "banner" === m(e); }).map(function (e) { var i = z.createSlotParams(e, l); return { method: "GET", url: "https://".concat(w.bannerHost || "fastlane"https://slate.com/,".rubiconproject.com/a/api/fastlane.json"), data: z.getOrderedParams(i).reduce(function (e, r) { var t = i[r]; return S.isStr(t) && "" !== t || S.isNumber(t) ? "".concat(e).concat(b(r, t), "&") : e; }, "") + "slots=1&rand=".concat(Math.random()), bidRequest: e }; })) : (n = e.filter(function (e) { return "banner" === m(e); }).reduce(function (e, r) { return (e[r.params.siteId] = e[r.params.siteId] || []).push(r), e; }, {}), r.concat(Object.keys(n).reduce(function (r, e) { var t, i; return t = n[e], i = 10, t.map(function (e, r) { return r % i == 0 ? t.slice(r, r + i) : null; }).filter(function (e) { return e; }).forEach(function (e) { var i = z.combineSlotUrlParams(e.map(function (e) { return z.createSlotParams(e, l); })); r.push({ method: "GET", url: "https://".concat(w.bannerHost || "fastlane"https://slate.com/,".rubiconproject.com/a/api/fastlane.json"), data: z.getOrderedParams(i).reduce(function (e, r) { var t = i[r]; return S.isStr(t) && "" !== t || S.isNumber(t) ? "".concat(e).concat(b(r, t), "&") : e; }, "") + "slots=".concat(e.length, "&rand=").concat(Math.random()), bidRequest: e }); }), r; }, []))); }, getOrderedParams: function getOrderedParams(e) { var r = /^tg_v/, t = /^tg_i/, i = ["account_id"https://slate.com/,"site_id"https://slate.com/,"zone_id"https://slate.com/,"size_id"https://slate.com/,"alt_size_ids"https://slate.com/,"p_pos"https://slate.com/,"gdpr"https://slate.com/,"gdpr_consent"https://slate.com/,"us_privacy"https://slate.com/,"rp_schain"https://slate.com/,"tpid_tdid"https://slate.com/,"tpid_liveintent.com"https://slate.com/,"tg_v.LIseg"https://slate.com/,"ppuid"https://slate.com/,"eid_pubcid.org"https://slate.com/,"eid_sharedid.org"https://slate.com/,"eid_criteo.com"https://slate.com/,"rf"https://slate.com/,"p_geo.latitude"https://slate.com/,"p_geo.longitude"https://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"https://slate.com/,"x_source.tid"https://slate.com/,"x_source.pchain"https://slate.com/,"p_screen_res"https://slate.com/,"rp_floor"https://slate.com/,"rp_secure"https://slate.com/,"tk_user_key"]); return i.concat(Object.keys(e).filter(function (e) { return -1 === i.indexOf(e); })); }, combineSlotUrlParams: function combineSlotUrlParams(n) { if (1 === n.length) return n[0]; var i = n.reduce(function (r, t, i) { return Object.keys(t).forEach(function (e) { r.hasOwnProperty(e) || (r[e] = new Array(n.length)), r[e].splice(i, 1, t[e]); }), r; }, {}), o = new RegExp("^([^;]*)(;\1)+$"); return Object.keys(i).forEach(function (e) { var r = i[e].join(";"), t = r.match(o); i[e] = t ? t[1] : r; }), i; }, createSlotParams: function createSlotParams(e, r) { e.startTime = new Date().getTime(); var t, i, n, o, a, s, c, d = e.params, u = O(e, "banner"), p = j(d.latLong || [], 2), l = p[0], f = p[1], m = { account_id: d.accountId, site_id: d.siteId, zone_id: d.zoneId, size_id: u[0], alt_size_ids: u.slice(1).join(",") || void 0, rp_floor: .01 < (d.floor = parseFloat(d.floor)) ? d.floor : .01, rp_secure: "1", tk_flint: "".concat(w.int_type || "pbjs_lite"https://slate.com/,"_v4.13.0"), "x_source.tid": e.transactionId, "x_source.pchain": d.pchain, p_screen_res: [window.screen.width, window.screen.height].join("x"), tk_user_key: d.userId, "p_geo.latitude": isNaN(parseFloat(l)) ? void 0 : parseFloat(l).toFixed(4), "p_geo.longitude": isNaN(parseFloat(f)) ? void 0 : parseFloat(f).toFixed(4), "tg_fl.eid": e.code, rf: R(e, r) }; if ("function" == typeof e.getFloor && !w.disableFloors) { try { t = e.getFloor({ currency: "USD", mediaType: "banner", size: "*" }); } catch (e) { S.logError("Rubicon: getFloor threw an error: ", e); } m.rp_hard_floor = "object" !== E(t) || "USD" !== t.currency || isNaN(parseInt(t.floor)) ? void 0 : t.floor; } m.p_pos = "atf" === d.position || "btf" === d.position ? d.position : "", e.userIdAsEids && e.userIdAsEids.length && ((i = C()(e.userIdAsEids, function (e) { return "adserver.org" === e.source; })) && (m.tpid_tdid = i.uids[0].id), (n = C()(e.userIdAsEids, function (e) { return "liveintent.com" === e.source; })) && (m["tpid_liveintent.com"] = n.uids[0].id, n.ext && Array.isArray(n.ext.segments) && n.ext.segments.length && (m["tg_v.LIseg"] = n.ext.segments.join(","))), (o = C()(e.userIdAsEids, function (e) { return "liveramp.com" === e.source; })) && (m.x_liverampidl = o.uids[0].id), (a = C()(e.userIdAsEids, function (e) { return "sharedid.org" === e.source; })) && (m["eid_sharedid.org"] = "".concat(a.uids[0].id, "^").concat(a.uids[0].atype, "^").concat(a.uids[0].ext.third)), (s = C()(e.userIdAsEids, function (e) { return "pubcid.org" === e.source; })) && (m["eid_pubcid.org"] = "".concat(s.uids[0].id, "^").concat(s.uids[0].atype)), (c = C()(e.userIdAsEids, function (e) { return "criteo.com" === e.source; })) && (m["eid_criteo.com"] = "".concat(c.uids[0].id, "^").concat(c.uids[0].atype))); var g = I.b.getConfig("user.id"); if (g) m.ppuid = g;else for (var v = 0; e.userIdAsEids && v < e.userIdAsEids.length; v++) { if (e.userIdAsEids[v].uids) { var b = C()(e.userIdAsEids[v].uids, function (e) { return e.ext && "ppuid" === e.ext.stype; }); if (b && b.id) { m.ppuid = b.id; break; } } } r.gdprConsent && ("boolean" == typeof r.gdprConsent.gdprApplies && (m.gdpr = Number(r.gdprConsent.gdprApplies)), m.gdpr_consent = r.gdprConsent.consentString), r.uspConsent && (m.us_privacy = encodeURIComponent(r.uspConsent)); var y = k({}, d.visitor, I.b.getConfig("fpd.user")); Object.keys(y).forEach(function (e) { null != y[e] && "keywords" !== e && (m["tg_v.".concat(e)] = "object" !== E(y[e]) || Array.isArray(y[e]) ? y[e].toString() : JSON.stringify(y[e])); }); var x = k({}, d.inventory, I.b.getConfig("fpd.context")); Object.keys(x).forEach(function (e) { null != x[e] && "keywords" !== e && (m["tg_i.".concat(e)] = "object" !== E(x[e]) || Array.isArray(x[e]) ? x[e].toString() : JSON.stringify(x[e])); }); var h = (d.keywords || []).concat(S.deepAccess(I.b.getConfig("fpd.user"), "keywords") || [], S.deepAccess(I.b.getConfig("fpd.context"), "keywords") || []); m.kw = Array.isArray(h) && h.length ? h.join(",") : ""; var _ = S.deepAccess(e, "fpd.context.pbAdSlot"); "string" == typeof _ && _ && (m["tg_i.pbadslot"] = _.replace(/^/+/, "")); var A = S.deepAccess(e, "fpd.context.adServer.adSlot"); return "string" == typeof A && A && (m["tg_i.dfp_ad_unit_code"] = A.replace(/^/+/, "")), !0 === I.b.getConfig("coppa") && (m.coppa = 1), e.schain && T(e.schain) && (m.rp_schain = z.serializeSupplyChain(e.schain)), m; }, serializeSupplyChain: function serializeSupplyChain(e) { if (!T(e)) return ""; var r = e.ver, t = e.complete, i = e.nodes; return "".concat(r, ",").concat(t, "!").concat(z.serializeSupplyChainNodes(i)); }, serializeSupplyChainNodes: function serializeSupplyChainNodes(e) { var t = ["asi"https://slate.com/,"sid"https://slate.com/,"hp"https://slate.com/,"rid"https://slate.com/,"name"https://slate.com/,"domain"]; return e.map(function (r) { return t.map(function (e) { return encodeURIComponent(r[e] || ""); }).join(","); }).join("!"); }, interpretResponse: function interpretResponse(c, e) { var d = e.bidRequest; if (!(c = c.body) || "object" !== E(c)) return []; if (c.seatbid) { var r = S.deepAccess(c, "ext.errors.rubicon"); Array.isArray(r) && 0 < r.length && S.logWarn("Rubicon: Error in video response"); var o = []; return c.seatbid.forEach(function (n) { (n.bid || []).forEach(function (e) { var r = { requestId: d.bidId, currency: c.cur || "USD", creativeId: e.crid, cpm: e.price || 0, bidderCode: n.seat, ttl: 300, netRevenue: !1 !== w.netRevenue, width: e.w || S.deepAccess(d, "mediaTypes.video.w") || S.deepAccess(d, "params.video.playerWidth"), height: e.h || S.deepAccess(d, "mediaTypes.video.h") || S.deepAccess(d, "params.video.playerHeight") }; e.id && (r.seatBidId = e.id), e.dealid && (r.dealId = e.dealid); var t, i = S.deepAccess(c, "ext.responsetimemillis.rubicon"); d && i && (d.serverResponseTimeMs = i), S.deepAccess(e, "ext.prebid.type") === u.d ? (r.mediaType = u.d, (t = S.deepAccess(e, "ext.prebid.targeting")) && "object" === E(t) && (r.adserverTargeting = t), e.ext.prebid.cache && "object" === E(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)) : S.logWarn("Rubicon: video response received non-video media type"), o.push(r); }); }), o; } var t = c.ads; return "object" !== E(d) || Array.isArray(d) || "video" !== m(d) || "object" !== E(t) || (t = t[d.adUnitCode]), !Array.isArray(t) || t.length < 1 ? [] : t.reduce(function (e, r, t) { if ("ok" !== r.status) return e; var i, n, o, a, s = Array.isArray(d) ? d[t] : d; return s && "object" === E(s) ? (i = { requestId: s.bidId, currency: "USD", creativeId: r.creative_id || "".concat(r.network || ""https://slate.com/,"-").concat(r.advertiser || ""), cpm: r.cpm || 0, dealId: r.deal, ttl: 300, netRevenue: !1 !== w.netRevenue, rubicon: { advertiserId: r.advertiser, networkId: r.network }, meta: { advertiserId: r.advertiser, networkId: r.network } }, r.creative_type && (i.mediaType = r.creative_type), r.creative_type === u.d ? (i.width = s.params.video.playerWidth, i.height = s.params.video.playerHeight, i.vastUrl = r.creative_depot_url, i.impression_id = r.impression_id, i.videoCacheKey = r.impression_id) : (i.ad = (o = r.script, a = r.impression_id, "n
nnx3c!-- Rubicon Project Ad Tag --x3ennn")), n = j(p[r.size_id].split("x").map(function (e) {
return Number(e);
}), 2), i.width = n[0], i.height = n[1]), i.rubiconTargeting = (Array.isArray(r.targeting) ? r.targeting : []).reduce(function (e, r) {
return e[r.key] = r.values[0], e;
}, {
rpfl_elemid: s.adUnitCode
}), e.push(i)) : S.logError("Rubicon: bidRequest undefined at index position:".concat(t), d, c), e;
}, []).sort(function (e, r) {
return (r.cpm || 0) - (e.cpm || 0);
});
},
getUserSyncs: function getUserSyncs(e, r, t, i) {
if (!y && e.iframeEnabled) {
var n = "";
return t && "string" == typeof t.consentString && ("boolean" == typeof t.gdprApplies ? n += "?gdpr=".concat(Number(t.gdprApplies), "&gdpr_consent=").concat(t.consentString) : n += "?gdpr_consent=".concat(t.consentString)), i && (n += "".concat(n ? "&" : "?"https://slate.com/,"us_privacy=").concat(encodeURIComponent(i))), y = !0, {
type: "iframe",
url: "https://".concat(w.syncHost || "eus"https://slate.com/,".rubiconproject.com/usync.html") + n
};
}
},
transformBidParams: function transformBidParams(e) {
return S.convertTypes({
accountId: "number",
siteId: "number",
zoneId: "number"
}, e);
}
};
function R(e, r) {
var t = I.b.getConfig("pageUrl"),
t = e.params.referrer ? e.params.referrer : t || r.refererInfo.referer;
return e.params.secure ? t.replace(/^http:/i, "https:") : t;
}
function O(e, r) {
var t = e.params;
if ("video" === r) {
var i = [];
return t.video && t.video.playerWidth && t.video.playerHeight ? i = [t.video.playerWidth, t.video.playerHeight] : Array.isArray(S.deepAccess(e, "mediaTypes.video.playerSize")) && 1 === e.mediaTypes.video.playerSize.length ? i = e.mediaTypes.video.playerSize[0] : Array.isArray(e.sizes) && 0 < e.sizes.length && Array.isArray(e.sizes[0]) && 1 < e.sizes[0].length && (i = e.sizes[0]), i;
}
var n = [];
return Array.isArray(t.sizes) ? n = t.sizes : void 0 !== S.deepAccess(e, "mediaTypes.banner.sizes") ? n = a(e.mediaTypes.banner.sizes) : Array.isArray(e.sizes) && 0 < e.sizes.length ? n = a(e.sizes) : S.logWarn("Rubicon: no sizes are setup or found"), d(n);
}
function a(e) {
return S.parseSizesInput(e).reduce(function (e, r) {
var t = parseInt(p[r], 10);
return t && e.push(t), e;
}, []);
}
function s(e) {
return "object" === E(S.deepAccess(e, "params.video")) && void 0 !== S.deepAccess(e, "mediaTypes.".concat(u.d));
}
function m(e, r) {
var t = 1 < arguments.length && void 0 !== r && r;
return s(e) ? -1 === ["outstream"https://slate.com/,"instream"].indexOf(S.deepAccess(e, "mediaTypes.".concat(u.d, ".context"))) ? void (t && S.logError("Rubicon: mediaTypes.video.context must be outstream or instream")) : O(e, "video").length < 2 ? void (t && S.logError("Rubicon: could not determine the playerSize of the video")) : (t && S.logMessage("Rubicon: making video request for adUnit", e.adUnitCode), "video") : 0 === O(e, "banner").length ? void (t && S.logError("Rubicon: could not determine the sizes for banner request")) : (t && S.logMessage("Rubicon: making banner request for adUnit", e.adUnitCode), "banner");
}
var c = function c() {
return w = {};
};
function d(e) {
var n = [15, 2, 9];
return e.sort(function (e, r) {
var t = n.indexOf(e),
i = n.indexOf(r);
return -1 < t || -1 < i ? -1 === t ? 1 : -1 === i ? -1 : t - i : e - r;
});
}
function g(e) {
var r = parseInt(S.deepAccess(e, "params.video.size_id"));
return isNaN(r) ? "outstream" === S.deepAccess(e, "mediaTypes.".concat(u.d, ".context")) ? 203 : 201 : r;
}
function v(e) {
return {
ranges: {
low: [{
max: 5,
increment: .5
}],
medium: [{
max: 20,
increment: .1
}],
high: [{
max: 20,
increment: .01
}],
auto: [{
max: 5,
increment: .05
}, {
min: 5,
max: 10,
increment: .1
}, {
min: 10,
max: 20,
increment: .5
}],
dense: [{
max: 3,
increment: .01
}, {
min: 3,
max: 8,
increment: .05
}, {
min: 8,
max: 20,
increment: .5
}],
custom: e.getConfig("customPriceBucket") && e.getConfig("customPriceBucket").buckets
}[e.getConfig("priceGranularity")]
};
}
function l(r) {
var t = !0,
e = Object.prototype.toString.call([]),
i = Object.prototype.toString.call(0),
n = {
mimes: e,
protocols: e,
maxduration: i,
linearity: i,
api: e
};
return Object.keys(n).forEach(function (e) {
Object.prototype.toString.call(S.deepAccess(r, "mediaTypes.video." + e)) !== n[e] && (t = !1, S.logError("Rubicon: mediaTypes.video." + e + " is required and must be of type: " + n[e]));
}), t;
}
function T(e) {
var r = !1,
t = ["asi"https://slate.com/,"sid"https://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)) || S.logError("Rubicon: required schain params missing")), r;
}
function b(e, r) {
return "rp_schain" === e ? "rp_schain=".concat(r) : "".concat(e, "=").concat(encodeURIComponent(r));
}
var y = !1;
Object(i.registerBidder)(z);
}
}, [720]);
pbjsChunk([105], {
770: function _(e, t, r) {
e.exports = r(771);
},
771: function _(e, t, r) {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), r.d(t, "spec", function () {
return a;
}), r.d(t, "_isInbounds", function () {
return m;
}), t._getPlatform = v;
var n = r(1),
y = r(0),
i = r(2),
o = r(3),
g = r(11),
c = r(43);
function h(e, t) {
return function (e) {
if (Array.isArray(e)) return e;
}(e) || function (e, t) {
if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return;
var r = [],
n = !0,
i = !1,
s = void 0;
try {
for (var a, o = e[Symbol.iterator](); !(n = (a = o.next()).done) && (r.push(a.value), !t || r.length !== t); n = !0) {
;
}
} catch (e) {
i = !0, s = e;
} finally {
try {
n || null == o.return || o.return();
} finally {
if (i) throw s;
}
}
return r;
}(e, t) || function (e, t) {
if (!e) return;
if ("string" == typeof e) return s(e, t);
var r = Object.prototype.toString.call(e).slice(8, -1);
"Object" === r && e.constructor && (r = e.constructor.name);
if ("Map" === r || "Set" === r) return Array.from(e);
if ("Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return s(e, t);
}(e, t) || function () {
throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}();
}
function s(e, t) {
(null == t || t > e.length) && (t = e.length);
for (var r = 0, n = new Array(t); r < t; r++) {
n[r] = e[r];
}
return n;
}
function d() {
return (d = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var r = arguments[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({}, "".concat(t, "|").concat(e.bidId), "".concat(l(e)).concat(f(e)))) : /^[0-9a-fA-F]{20}$/.test(t) && 20 === t.length ? u({}, e.bidId, "".concat(t, "|").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.13.0",
us: 0
};
o.b.getConfig("userSync") && o.b.getConfig("userSync").syncsPerBidder && (i.us = o.b.getConfig("userSync").syncsPerBidder), c.a.canBidderRegisterSync("iframe", p) ? i.ius = 1 : i.ius = 0, Object(y.deepAccess)(e[0], "params.hfa") && (i.hfa = Object(y.deepAccess)(e[0], "params.hfa")), e[0].params.referrer && (i.ref = e[0].params.referrer), t && t.gdprConsent && (i.gdpr = t.gdprConsent.gdprApplies ? "true" : "false", t.gdprConsent.consentString && (i.consent_string = t.gdprConsent.consentString)), e[0].schain && (i.schain = JSON.stringify(e[0].schain)), Object(y.deepAccess)(e[0], "userId") && 0 < Object.keys(e[0].userId).length && (i.userid = JSON.stringify(e[0].userId));
var s = e[0].params.keywords;
if (s && (i.kw = s), t && t.uspConsent && (i.us_privacy = t.uspConsent), Object(y.isEmpty)(n)) return null;
var a = "https://apex.go.sonobi.com/trinity.json";
return Object(y.deepAccess)(e[0], "params.bid_request_url") && (a = Object(y.deepAccess)(e[0], "params.bid_request_url")), {
method: "GET",
url: a,
withCredentials: !0,
data: i,
bidderRequests: e
};
},
interpretResponse: function interpretResponse(e, l) {
var f = e.body,
m = [],
v = l.data.ref;
return 0 === Object.keys(f.slots).length || Object.keys(f.slots).forEach(function (e) {
var t = f.slots[e],
r = e.split("|").slice(-1)[0],
n = function (e, t) {
for (var r = 0; r < e.length; r++) {
if (e[r].bidId === t) return e[r];
}
}(l.bidderRequests, r),
i = null;
"video" === t.sbi_ct && (i = "video"https://slate.com/,"outstream" === Object(y.deepAccess)(n, "mediaTypes.video.context") && (i = "outstream"));
var s,
a,
o,
c,
d,
u,
p,
b = j(i, v);
t.sbi_aid && t.sbi_mouse && t.sbi_size && (o = void 0 === (a = (s = h(t.sbi_size.split("x"), 2))[0]) ? 1 : a, d = void 0 === (c = s[1]) ? 1 : c, u = {
requestId: r,
cpm: Number(t.sbi_mouse),
width: Number(o),
height: Number(d),
ad: b(f.sbi_dc, t.sbi_aid),
ttl: 500,
creativeId: t.sbi_crid || t.sbi_aid,
aid: t.sbi_aid,
netRevenue: !0,
currency: "USD"
}, t.sbi_dozer && (u.dealId = t.sbi_dozer), "video" === i ? (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), delete u.ad, delete u.width, delete u.height) : "outstream" === i && n && (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), u.renderer = function (e, t) {
var r = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {},
n = g.a.install({
id: t.aid,
url: "https://mtrx.go.sonobi.com/sbi_outstream_renderer.js",
config: r,
loaded: !1,
adUnitCode: e
});
try {
n.setRender(O);
} catch (e) {
Object(y.logWarn)("Prebid Error calling setRender on renderer", e);
}
return n.setEventHandlers({
impression: function impression() {
return Object(y.logMessage)("Sonobi outstream video impression event");
},
loaded: function loaded() {
return Object(y.logMessage)("Sonobi outstream video loaded event");
},
ended: function ended() {
Object(y.logMessage)("Sonobi outstream renderer video event");
}
}), n;
}(n.adUnitCode, u, Object(y.deepAccess)(n, "renderer.options")), p = Object(y.deepAccess)(n, "params.sizes"), Array.isArray(p) && Array.isArray(p[0]) && (p = p[0]), p && (u.width = p[0], u.height = p[1])), m.push(u));
}), m;
},
getUserSyncs: function getUserSyncs(e, t) {
var r = [];
try {
e.pixelEnabled && t[0].body.sbi_px.forEach(function (e) {
r.push({
type: e.type,
url: e.url
});
});
} catch (e) {}
return r;
}
};
function l(e) {
return Object(y.deepAccess)(e, "mediaTypes.video") ? "" : e.params.sizes ? Object(y.parseSizesInput)(e.params.sizes).join(",") : Object(y.deepAccess)(e, "mediaTypes.banner.sizes") ? Object(y.parseSizesInput)(Object(y.deepAccess)(e, "mediaTypes.banner.sizes")).join(",") : e.sizes ? Object(y.parseSizesInput)(e.sizes).join(",") : void 0;
}
function f(e) {
return e.params.floor ? "|f=".concat(e.params.floor) : "";
}
var j = function j(i, s) {
return function (e, t) {
return "video" === i || "outstream" === i ? (r = t, n = s, "https://".concat(e, "apex.go.sonobi.com/vast.xml?vid=").concat(r, "&ref=").concat(encodeURIComponent(n))) : '‘;
var r, n;
};
};
var m = function m(e) {
var r = 0 < arguments.length && void 0 !== e ? e : window;
return function () {
var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 0,
t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : Number.MAX_SAFE_INTEGER;
return r.innerWidth >= e && r.innerWidth < t;
};
};
function v() {
var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : window,
t = m(e),
r = 992,
n = 768;
return t(0, 768) ? "mobile" : t(n, r) ? "tablet" : "desktop";
}
function O(i) {
i.renderer.push(function () {
var e = h(i.getSize().split("x"), 2),
t = e[0],
r = e[1],
n = new window.SbiOutstreamRenderer();
n.init({
vastUrl: i.vastUrl,
height: r,
width: t
}), n.setRootElement(i.adUnitCode);
});
}
Object(n.registerBidder)(a);
}
}, [770]);
pbjsChunk([103], {
780: function _(e, t, r) {
e.exports = r(781);
},
781: function _(e, t, r) {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), r.d(t, "GOOGLE_CONSENT", function () {
return B;
}), r.d(t, "spec", function () {
return n;
});
var I = r(0),
P = r(3),
u = r(11),
a = r(1),
c = r(2);
function d(e) {
return (d = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) {
return _typeof(e);
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e);
})(e);
}
var i = "spotx",
B = {
consented_providers: ["3"https://slate.com/,"7"https://slate.com/,"11"https://slate.com/,"12"https://slate.com/,"15"https://slate.com/,"20"https://slate.com/,"22"https://slate.com/,"35"https://slate.com/,"43"https://slate.com/,"46"https://slate.com/,"48"https://slate.com/,"55"https://slate.com/,"57"https://slate.com/,"61"https://slate.com/,"62"https://slate.com/,"66"https://slate.com/,"70"https://slate.com/,"80"https://slate.com/,"83"https://slate.com/,"85"https://slate.com/,"86"https://slate.com/,"89"https://slate.com/,"93"https://slate.com/,"108"https://slate.com/,"122"https://slate.com/,"124"https://slate.com/,"125"https://slate.com/,"126"https://slate.com/,"131"https://slate.com/,"134"https://slate.com/,"135"https://slate.com/,"136"https://slate.com/,"143"https://slate.com/,"144"https://slate.com/,"147"https://slate.com/,"149"https://slate.com/,"153"https://slate.com/,"154"https://slate.com/,"159"https://slate.com/,"161"https://slate.com/,"162"https://slate.com/,"165"https://slate.com/,"167"https://slate.com/,"171"https://slate.com/,"178"https://slate.com/,"184"https://slate.com/,"188"https://slate.com/,"192"https://slate.com/,"195"https://slate.com/,"196"https://slate.com/,"202"https://slate.com/,"209"https://slate.com/,"211"https://slate.com/,"218"https://slate.com/,"221"https://slate.com/,"228"https://slate.com/,"229"https://slate.com/,"230"https://slate.com/,"236"https://slate.com/,"239"https://slate.com/,"241"https://slate.com/,"253"https://slate.com/,"255"https://slate.com/,"259"https://slate.com/,"266"https://slate.com/,"271"https://slate.com/,"272"https://slate.com/,"274"https://slate.com/,"286"https://slate.com/,"291"https://slate.com/,"294"https://slate.com/,"303"https://slate.com/,"308"https://slate.com/,"310"https://slate.com/,"311"https://slate.com/,"313"https://slate.com/,"314"https://slate.com/,"316"https://slate.com/,"317"https://slate.com/,"322"https://slate.com/,"323"https://slate.com/,"327"https://slate.com/,"336"https://slate.com/,"338"https://slate.com/,"340"https://slate.com/,"348"https://slate.com/,"350"https://slate.com/,"358"https://slate.com/,"359"https://slate.com/,"363"https://slate.com/,"367"https://slate.com/,"370"https://slate.com/,"371"https://slate.com/,"384"https://slate.com/,"385"https://slate.com/,"389"https://slate.com/,"393"https://slate.com/,"394"https://slate.com/,"397"https://slate.com/,"398"https://slate.com/,"407"https://slate.com/,"414"https://slate.com/,"415"https://slate.com/,"424"https://slate.com/,"429"https://slate.com/,"430"https://slate.com/,"432"https://slate.com/,"436"https://slate.com/,"438"https://slate.com/,"440"https://slate.com/,"442"https://slate.com/,"443"https://slate.com/,"445"https://slate.com/,"448"https://slate.com/,"449"https://slate.com/,"453"https://slate.com/,"459"https://slate.com/,"479"https://slate.com/,"482"https://slate.com/,"486"https://slate.com/,"491"https://slate.com/,"492"https://slate.com/,"494"https://slate.com/,"495"https://slate.com/,"503"https://slate.com/,"505"https://slate.com/,"510"https://slate.com/,"522"https://slate.com/,"523"https://slate.com/,"528"https://slate.com/,"537"https://slate.com/,"540"https://slate.com/,"550"https://slate.com/,"559"https://slate.com/,"560"https://slate.com/,"568"https://slate.com/,"571"https://slate.com/,"574"https://slate.com/,"575"https://slate.com/,"576"https://slate.com/,"584"https://slate.com/,"585"https://slate.com/,"587"https://slate.com/,"588"https://slate.com/,"590"https://slate.com/,"591"https://slate.com/,"592"https://slate.com/,"595"https://slate.com/,"609"https://slate.com/,"621"https://slate.com/,"624"https://slate.com/,"723"https://slate.com/,"725"https://slate.com/,"733"https://slate.com/,"737"https://slate.com/,"776"https://slate.com/,"780"https://slate.com/,"782"https://slate.com/,"787"https://slate.com/,"797"https://slate.com/,"798"https://slate.com/,"802"https://slate.com/,"803"https://slate.com/,"814"https://slate.com/,"817"https://slate.com/,"820"https://slate.com/,"821"https://slate.com/,"827"https://slate.com/,"829"https://slate.com/,"839"https://slate.com/,"853"https://slate.com/,"864"https://slate.com/,"867"https://slate.com/,"874"https://slate.com/,"899"https://slate.com/,"904"https://slate.com/,"922"https://slate.com/,"926"https://slate.com/,"931"https://slate.com/,"932"https://slate.com/,"933"https://slate.com/,"938"https://slate.com/,"955"https://slate.com/,"973"https://slate.com/,"976"https://slate.com/,"979"https://slate.com/,"981"https://slate.com/,"985"https://slate.com/,"987"https://slate.com/,"991"https://slate.com/,"1003"https://slate.com/,"1024"https://slate.com/,"1025"https://slate.com/,"1027"https://slate.com/,"1028"https://slate.com/,"1029"https://slate.com/,"1033"https://slate.com/,"1034"https://slate.com/,"1040"https://slate.com/,"1047"https://slate.com/,"1048"https://slate.com/,"1051"https://slate.com/,"1052"https://slate.com/,"1053"https://slate.com/,"1054"https://slate.com/,"1062"https://slate.com/,"1063"https://slate.com/,"1067"https://slate.com/,"1072"https://slate.com/,"1085"https://slate.com/,"1092"https://slate.com/,"1095"https://slate.com/,"1097"https://slate.com/,"1099"https://slate.com/,"1100"https://slate.com/,"1107"https://slate.com/,"1126"https://slate.com/,"1127"https://slate.com/,"1143"https://slate.com/,"1149"https://slate.com/,"1152"https://slate.com/,"1162"https://slate.com/,"1166"https://slate.com/,"1167"https://slate.com/,"1170"https://slate.com/,"1171"https://slate.com/,"1172"https://slate.com/,"1188"https://slate.com/,"1192"https://slate.com/,"1199"https://slate.com/,"1201"https://slate.com/,"1204"https://slate.com/,"1205"https://slate.com/,"1211"https://slate.com/,"1212"https://slate.com/,"1215"https://slate.com/,"1220"https://slate.com/,"1225"https://slate.com/,"1226"https://slate.com/,"1227"https://slate.com/,"1230"https://slate.com/,"1232"https://slate.com/,"1236"https://slate.com/,"1241"https://slate.com/,"1248"https://slate.com/,"1250"https://slate.com/,"1252"https://slate.com/,"1268"https://slate.com/,"1275"https://slate.com/,"1276"https://slate.com/,"1284"https://slate.com/,"1286"https://slate.com/,"1298"https://slate.com/,"1301"https://slate.com/,"1307"https://slate.com/,"1312"https://slate.com/,"1313"https://slate.com/,"1317"https://slate.com/,"1329"https://slate.com/,"1336"https://slate.com/,"1344"https://slate.com/,"1345"https://slate.com/,"1356"https://slate.com/,"1362"https://slate.com/,"1365"https://slate.com/,"1375"https://slate.com/,"1403"https://slate.com/,"1409"https://slate.com/,"1411"https://slate.com/,"1415"https://slate.com/,"1416"https://slate.com/,"1419"https://slate.com/,"1423"https://slate.com/,"1440"https://slate.com/,"1442"https://slate.com/,"1449"https://slate.com/,"1451"https://slate.com/,"1455"https://slate.com/,"1456"https://slate.com/,"1468"https://slate.com/,"1496"https://slate.com/,"1503"https://slate.com/,"1509"https://slate.com/,"1512"https://slate.com/,"1514"https://slate.com/,"1517"https://slate.com/,"1520"https://slate.com/,"1525"https://slate.com/,"1540"https://slate.com/,"1547"https://slate.com/,"1548"https://slate.com/,"1555"https://slate.com/,"1558"https://slate.com/,"1570"https://slate.com/,"1575"https://slate.com/,"1577"https://slate.com/,"1579"https://slate.com/,"1583"https://slate.com/,"1584"https://slate.com/,"1591"https://slate.com/,"1598"https://slate.com/,"1603"https://slate.com/,"1608"https://slate.com/,"1613"https://slate.com/,"1616"https://slate.com/,"1626"https://slate.com/,"1631"https://slate.com/,"1633"https://slate.com/,"1638"https://slate.com/,"1642"https://slate.com/,"1648"https://slate.com/,"1651"https://slate.com/,"1652"https://slate.com/,"1653"https://slate.com/,"1660"https://slate.com/,"1665"https://slate.com/,"1667"https://slate.com/,"1669"https://slate.com/,"1671"https://slate.com/,"1674"https://slate.com/,"1677"https://slate.com/,"1678"https://slate.com/,"1682"https://slate.com/,"1684"https://slate.com/,"1697"https://slate.com/,"1703"https://slate.com/,"1705"https://slate.com/,"1716"https://slate.com/,"1720"https://slate.com/,"1721"https://slate.com/,"1722"https://slate.com/,"1725"https://slate.com/,"1732"https://slate.com/,"1733"https://slate.com/,"1735"https://slate.com/,"1739"https://slate.com/,"1741"https://slate.com/,"1745"https://slate.com/,"1750"https://slate.com/,"1753"https://slate.com/,"1760"https://slate.com/,"1765"https://slate.com/,"1769"https://slate.com/,"1776"https://slate.com/,"1780"https://slate.com/,"1782"https://slate.com/,"1786"https://slate.com/,"1791"https://slate.com/,"1794"https://slate.com/,"1799"https://slate.com/,"1800"https://slate.com/,"1801"https://slate.com/,"1810"https://slate.com/,"1827"https://slate.com/,"1831"https://slate.com/,"1832"https://slate.com/,"1834"https://slate.com/,"1837"https://slate.com/,"1840"https://slate.com/,"1843"https://slate.com/,"1844"https://slate.com/,"1845"https://slate.com/,"1858"https://slate.com/,"1859"https://slate.com/,"1863"https://slate.com/,"1866"https://slate.com/,"1870"https://slate.com/,"1872"https://slate.com/,"1875"https://slate.com/,"1878"https://slate.com/,"1880"https://slate.com/,"1882"https://slate.com/,"1883"https://slate.com/,"1889"https://slate.com/,"1892"https://slate.com/,"1896"https://slate.com/,"1898"https://slate.com/,"1899"https://slate.com/,"1902"https://slate.com/,"1905"https://slate.com/,"1911"https://slate.com/,"1922"https://slate.com/,"1928"https://slate.com/,"1929"https://slate.com/,"1934"https://slate.com/,"1942"https://slate.com/,"1943"https://slate.com/,"1944"https://slate.com/,"1945"https://slate.com/,"1958"https://slate.com/,"1960"https://slate.com/,"1962"https://slate.com/,"1963"https://slate.com/,"1964"https://slate.com/,"1967"https://slate.com/,"1968"https://slate.com/,"1978"https://slate.com/,"1985"https://slate.com/,"1986"https://slate.com/,"1987"https://slate.com/,"1998"https://slate.com/,"2003"https://slate.com/,"2007"https://slate.com/,"2012"https://slate.com/,"2013"https://slate.com/,"2027"https://slate.com/,"2035"https://slate.com/,"2038"https://slate.com/,"2039"https://slate.com/,"2044"https://slate.com/,"2047"https://slate.com/,"2052"https://slate.com/,"2056"https://slate.com/,"2059"https://slate.com/,"2062"https://slate.com/,"2064"https://slate.com/,"2068"https://slate.com/,"2070"https://slate.com/,"2072"https://slate.com/,"2078"https://slate.com/,"2079"https://slate.com/,"2084"https://slate.com/,"2088"https://slate.com/,"2090"https://slate.com/,"2095"https://slate.com/,"2100"https://slate.com/,"2103"https://slate.com/,"2107"https://slate.com/,"2109"https://slate.com/,"2113"https://slate.com/,"2115"https://slate.com/,"2121"https://slate.com/,"2127"https://slate.com/,"2130"https://slate.com/,"2133"https://slate.com/,"2137"https://slate.com/,"2140"https://slate.com/,"2141"https://slate.com/,"2145"https://slate.com/,"2147"https://slate.com/,"2150"https://slate.com/,"2156"https://slate.com/,"2166"https://slate.com/,"2170"https://slate.com/,"2171"https://slate.com/,"2176"https://slate.com/,"2177"https://slate.com/,"2179"https://slate.com/,"2183"https://slate.com/,"2186"https://slate.com/,"2192"https://slate.com/,"2198"https://slate.com/,"2202"https://slate.com/,"2205"https://slate.com/,"2214"https://slate.com/,"2216"https://slate.com/,"2219"https://slate.com/,"2220"https://slate.com/,"2222"https://slate.com/,"2223"https://slate.com/,"2224"https://slate.com/,"2225"https://slate.com/,"2227"https://slate.com/,"2228"https://slate.com/,"2234"https://slate.com/,"2238"https://slate.com/,"2247"https://slate.com/,"2251"https://slate.com/,"2253"https://slate.com/,"2262"https://slate.com/,"2264"https://slate.com/,"2271"https://slate.com/,"2276"https://slate.com/,"2278"https://slate.com/,"2279"https://slate.com/,"2282"https://slate.com/,"2290"https://slate.com/,"2292"https://slate.com/,"2295"https://slate.com/,"2299"https://slate.com/,"2305"https://slate.com/,"2306"https://slate.com/,"2310"https://slate.com/,"2311"https://slate.com/,"2312"https://slate.com/,"2315"https://slate.com/,"2320"https://slate.com/,"2325"https://slate.com/,"2328"https://slate.com/,"2331"https://slate.com/,"2334"https://slate.com/,"2335"https://slate.com/,"2336"https://slate.com/,"2337"https://slate.com/,"2343"https://slate.com/,"2346"https://slate.com/,"2354"https://slate.com/,"2357"https://slate.com/,"2358"https://slate.com/,"2359"https://slate.com/,"2366"https://slate.com/,"2370"https://slate.com/,"2373"https://slate.com/,"2376"https://slate.com/,"2377"https://slate.com/,"2380"https://slate.com/,"2382"https://slate.com/,"2387"https://slate.com/,"2389"https://slate.com/,"2392"https://slate.com/,"2394"https://slate.com/,"2400"https://slate.com/,"2403"https://slate.com/,"2405"https://slate.com/,"2406"https://slate.com/,"2407"https://slate.com/,"2410"https://slate.com/,"2411"https://slate.com/,"2413"https://slate.com/,"2414"https://slate.com/,"2415"https://slate.com/,"2416"https://slate.com/,"2418"https://slate.com/,"2422"https://slate.com/,"2425"https://slate.com/,"2427"https://slate.com/,"2435"https://slate.com/,"2437"https://slate.com/,"2440"https://slate.com/,"2441"https://slate.com/,"2447"https://slate.com/,"2453"https://slate.com/,"2459"https://slate.com/,"2461"https://slate.com/,"2462"https://slate.com/,"2464"https://slate.com/,"2467"https://slate.com/,"2468"https://slate.com/,"2472"https://slate.com/,"2477"https://slate.com/,"2481"https://slate.com/,"2484"https://slate.com/,"2486"https://slate.com/,"2492"https://slate.com/,"2493"https://slate.com/,"2496"https://slate.com/,"2497"https://slate.com/,"2498"https://slate.com/,"2499"https://slate.com/,"2504"https://slate.com/,"2506"https://slate.com/,"2510"https://slate.com/,"2511"https://slate.com/,"2512"https://slate.com/,"2517"https://slate.com/,"2526"https://slate.com/,"2527"https://slate.com/,"2531"https://slate.com/,"2532"https://slate.com/,"2534"https://slate.com/,"2542"https://slate.com/,"2544"https://slate.com/,"2552"https://slate.com/,"2555"https://slate.com/,"2559"https://slate.com/,"2563"https://slate.com/,"2564"https://slate.com/,"2567"https://slate.com/,"2568"https://slate.com/,"2569"https://slate.com/,"2571"https://slate.com/,"2572"https://slate.com/,"2573"https://slate.com/,"2575"https://slate.com/,"2577"https://slate.com/,"2579"https://slate.com/,"2583"https://slate.com/,"2584"https://slate.com/,"2586"https://slate.com/,"2589"https://slate.com/,"2595"https://slate.com/,"2596"https://slate.com/,"2597"https://slate.com/,"2601"https://slate.com/,"2604"https://slate.com/,"2605"https://slate.com/,"2609"https://slate.com/,"2610"https://slate.com/,"2612"https://slate.com/,"2614"https://slate.com/,"2621"https://slate.com/,"2622"https://slate.com/,"2624"https://slate.com/,"2628"https://slate.com/,"2629"https://slate.com/,"2632"https://slate.com/,"2634"https://slate.com/,"2636"https://slate.com/,"2639"https://slate.com/,"2643"https://slate.com/,"2645"https://slate.com/,"2646"https://slate.com/,"2647"https://slate.com/,"2649"https://slate.com/,"2650"https://slate.com/,"2651"https://slate.com/,"2652"https://slate.com/,"2656"https://slate.com/,"2657"https://slate.com/,"2658"https://slate.com/,"2660"https://slate.com/,"2661"https://slate.com/,"2662"https://slate.com/,"2663"https://slate.com/,"2664"https://slate.com/,"2669"https://slate.com/,"2670"https://slate.com/,"2673"https://slate.com/,"2676"https://slate.com/,"2677"https://slate.com/,"2678"https://slate.com/,"2681"https://slate.com/,"2682"https://slate.com/,"2684"https://slate.com/,"2685"https://slate.com/,"2686"https://slate.com/,"2689"https://slate.com/,"2690"https://slate.com/,"2691"https://slate.com/,"2695"https://slate.com/,"2698"https://slate.com/,"2699"https://slate.com/,"2702"https://slate.com/,"2704"https://slate.com/,"2705"https://slate.com/,"2706"https://slate.com/,"2707"https://slate.com/,"2709"https://slate.com/,"2710"https://slate.com/,"2713"https://slate.com/,"2714"https://slate.com/,"2727"https://slate.com/,"2729"https://slate.com/,"2739"https://slate.com/,"2758"https://slate.com/,"2765"https://slate.com/,"2766"https://slate.com/,"2767"https://slate.com/,"2768"https://slate.com/,"2770"https://slate.com/,"2771"https://slate.com/,"2772"https://slate.com/,"2776"https://slate.com/,"2777"https://slate.com/,"2778"https://slate.com/,"2779"https://slate.com/,"2780"https://slate.com/,"2783"https://slate.com/,"2784"https://slate.com/,"2786"https://slate.com/,"2787"https://slate.com/,"2791"https://slate.com/,"2792"https://slate.com/,"2793"https://slate.com/,"2797"https://slate.com/,"2798"https://slate.com/,"2801"https://slate.com/,"2802"https://slate.com/,"2803"https://slate.com/,"2805"https://slate.com/,"2808"https://slate.com/,"2809"https://slate.com/,"2810"https://slate.com/,"2811"https://slate.com/,"2812"https://slate.com/,"2813"https://slate.com/,"2814"https://slate.com/,"2817"https://slate.com/,"2818"https://slate.com/,"2824"https://slate.com/,"2826"https://slate.com/,"2827"https://slate.com/,"2829"https://slate.com/,"2830"https://slate.com/,"2831"https://slate.com/,"2832"https://slate.com/,"2834"https://slate.com/,"2836"https://slate.com/,"2838"https://slate.com/,"2840"https://slate.com/,"2842"https://slate.com/,"2843"https://slate.com/,"2844"https://slate.com/,"2850"https://slate.com/,"2851"https://slate.com/,"2852"https://slate.com/,"2854"https://slate.com/,"2858"https://slate.com/,"2860"https://slate.com/,"2862"https://slate.com/,"2864"https://slate.com/,"2865"https://slate.com/,"2866"https://slate.com/,"2867"https://slate.com/,"2868"https://slate.com/,"2869"https://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 || !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") || "outstream" == I.deepAccess(e, "params.ad_unit")) && !I.getBidIdParameter("outstream_function", e.params)) {
if (!I.getBidIdParameter("outstream_options", e.params)) return I.logError(i + ": please define outstream_options parameter or override the default SpotX outstream rendering by defining your own Outstream function using field outstream_function."), !1;
if (!I.getBidIdParameter("slot", e.params.outstream_options)) return I.logError(i + ": please define parameters slot outstream_options object in the configuration."), !1;
}
return !0;
},
buildRequests: function buildRequests(e, h) {
var y = h.refererInfo.referer,
b = !!y.match(/^https:/);
return e.map(function (e) {
var t = I.getBidIdParameter("page", e.params) ? I.getBidIdParameter("page", e.params) : P.b.getConfig("pageUrl") ? P.b.getConfig("pageUrl") : y,
r = I.getBidIdParameter("channel_id", e.params),
a = null,
d = I.deepAccess(e, "mediaTypes.video.playerSize"),
i = d[0][0],
n = d[0][1],
o = b || (I.getBidIdParameter("secure", e.params) ? 1 : 0),
s = {
sdk_name: "Prebid 1+",
versionOrtb: "2.3"
};
if ("" != I.getBidIdParameter("hide_skin", e.params) && (s.hide_skin = +!!I.getBidIdParameter("hide_skin", e.params)), "" != I.getBidIdParameter("ad_volume", e.params) && (s.ad_volume = I.getBidIdParameter("ad_volume", e.params)), "" != I.getBidIdParameter("ad_unit", e.params) && (s.ad_unit = I.getBidIdParameter("ad_unit", e.params)), "" != I.getBidIdParameter("outstream_options", e.params) && (s.outstream_options = I.getBidIdParameter("outstream_options", e.params)), "" != I.getBidIdParameter("outstream_function", e.params) && (s.outstream_function = I.getBidIdParameter("outstream_function", e.params)), "" != I.getBidIdParameter("custom", e.params) && (s.custom = I.getBidIdParameter("custom", e.params)), "" != I.getBidIdParameter("pre_market_bids", e.params) && I.isArray(I.getBidIdParameter("pre_market_bids", e.params))) {
var p = I.getBidIdParameter("pre_market_bids", e.params);
for (var m in (s.pre_market_bids = [], p)) {
var u = p[m],
c = "";
u.vast_url ? c="
id: u.deal_id,
seatbid: [{
bid: [{
impid: Date.now(),
dealid: u.deal_id,
price: u.price,
adm: c
}]
}],
cur: u.currency,
ext: {
event_log: [{}]
}
});
}
}
var g = I.getBidIdParameter(“mimes”, e.params) || [“application/javascript”https://slate.com/,”video/mp4″https://slate.com/,”video/webm”],
_ = {
id: e.bidId,
secure: o,
video: {
w: i,
h: n,
ext: s,
mimes: g
}
};
“” != I.getBidIdParameter(“price_floor”, e.params) && (_.bidfloor = I.getBidIdParameter(“price_floor”, e.params)), “” != I.getBidIdParameter(“start_delay”, e.params) && (_.video.startdelay = 0 + Boolean(I.getBidIdParameter(“start_delay”, e.params))), “” != I.getBidIdParameter(“min_duration”, e.params) && (_.video.minduration = I.getBidIdParameter(“min_duration”, e.params)), “” != I.getBidIdParameter(“max_duration”, e.params) && (_.video.maxduration = I.getBidIdParameter(“max_duration”, e.params)), “” != I.getBidIdParameter(“placement_type”, e.params) && (_.video.ext.placement = I.getBidIdParameter(“placement_type”, e.params)), “” != I.getBidIdParameter(“position”, e.params) && (_.video.ext.pos = I.getBidIdParameter(“position”, e.params)), e.crumbs && e.crumbs.pubcid && (a = e.crumbs.pubcid);
var l = navigator.language ? “language” : “userLanguage”,
v = {
id: r,
imp: _,
site: {
id: “”,
page: t,
content: “content”
},
device: {
h: screen.height,
w: screen.width,
dnt: I.getDNT() ? 1 : 0,
language: navigator[l].split(“-“)[0],
make: navigator.vendor ? navigator.vendor : “”,
ua: navigator.userAgent
},
ext: {
wrap_response: 1
}
};
I.getBidIdParameter(“number_of_ads”, e.params) && (v.ext.number_of_ads = I.getBidIdParameter(“number_of_ads”, e.params));
var f = {};
return 1 == I.getBidIdParameter(“spotx_all_google_consent”, e.params) && (f.consented_providers_settings = B), h && h.gdprConsent && (f.consent = h.gdprConsent.consentString, void 0 !== h.gdprConsent.gdprApplies && I.deepSetValue(v, “regs.ext.gdpr”, h.gdprConsent.gdprApplies ? 1 : 0)), h && h.uspConsent && I.deepSetValue(v, “regs.ext.us_privacy”, h.uspConsent), I.deepAccess(e, “userId.id5id.uid”) && (f.eids = f.eids || [], f.eids.push({
source: “id5-sync.com”,
uids: [{
id: e.userId.id5id.uid
}],
ext: e.userId.id5id.ext || {}
})), a && (f.fpc = a), e && e.schain && (v.source = {
ext: {
schain: e.schain
}
}), e && e.userId && e.userId.tdid && (f.eids = f.eids || [], f.eids.push({
source: “adserver.org”,
uids: [{
id: e.userId.tdid,
ext: {
rtiPartner: “TDID”
}
}]
})), I.isEmpty(f) || (v.user = {
ext: f
}), {
method: “POST”,
url: “https://search.spotxchange.com/openrtb/2.3/dados/” + r,
data: v,
bidRequest: h
};
});
},
interpretResponse: function interpretResponse(e, s) {
var p = [],
m = e.body;
return m && I.isArray(m.seatbid) && I._each(m.seatbid, function (e) {
I._each(e.bid, function (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 || “USD”,
cpm: t.price,
creativeId: t.crid || “”,
dealId: t.dealid || “”,
ttl: 360,
netRevenue: !0,
channel_id: m.id,
cache_key: t.ext.cache_key,
vastUrl: “https://search.spotxchange.com/ad/vast.html?key=” + t.ext.cache_key,
videoCacheKey: t.ext.cache_key,
mediaType: c.d,
width: t.w,
height: t.h
};
a.meta = a.meta || {}, t && t.adomain && 0 < t.adomain.length && (a.meta.advertiserDomains = t.adomain);
var d = I.deepAccess(e, "mediaTypes.video.context"),
i = I.deepAccess(e, "params.ad_unit");
if ("outstream" == d || "outstream" == i) {
var n = I.deepAccess(e, "mediaTypes.video.playerSize"),
o = u.a.install({
id: 0,
url: "//",
config: {
adText: "SpotX Outstream Video Ad via Prebid.js",
player_width: n[0][0],
player_height: n[0][1],
content_page_url: I.deepAccess(s, "data.site.page"),
ad_mute: +!!I.deepAccess(e, "params.ad_mute"),
hide_skin: +!!I.deepAccess(e, "params.hide_skin"),
outstream_options: I.deepAccess(e, "params.outstream_options"),
outstream_function: I.deepAccess(e, "params.outstream_function")
}
});
try {
o.setRender(g), o.setEventHandlers({
impression: function impression() {
return I.logMessage("SpotX outstream video impression event");
},
loaded: function loaded() {
return I.logMessage("SpotX outstream video loaded event");
},
ended: function ended() {
I.logMessage("SpotX outstream renderer video event");
}
});
} catch (e) {
I.logWarn("Prebid Error calling setRender or setEve,tHandlers on renderer", e);
}
a.renderer = o;
}
p.push(a);
});
}), p;
}
};
function g(e) {
var t = function (e) {
var t = I.getBidIdParameter("slot", e.renderer.config.outstream_options);
I.logMessage("[SPOTX][renderer] Handle SpotX outstream renderer");
var r = window.document.createElement("script");
r.type = "text/javascript", r.src = "https://js.spotx.tv/easi/v1/" + e.channel_id + ".js";
var a = {};
a["data-spotx_channel_id"] = "" + e.channel_id, a["data-spotx_vast_url"] = "" + e.vastUrl, a["data-spotx_content_page_url"] = e.renderer.config.content_page_url, a["data-spotx_ad_unit"] = "incontent", I.logMessage("[SPOTX][renderer] Default beahavior"), I.getBidIdParameter("ad_mute", e.renderer.config.outstream_options) && (a["data-spotx_ad_mute"] = "1"), a["data-spotx_collapse"] = "0", a["data-spotx_autoplay"] = "1", a["data-spotx_blocked_autoplay_override_mode"] = "1", a["data-spotx_video_slot_can_autoplay"] = "1";
var d,
i,
n,
o,
s,
p,
m = I.getBidIdParameter("playersize_auto_adapt", e.renderer.config.outstream_options);
m && I.isBoolean(m) && !0 === m && (e.width && I.isNumber(e.width) && e.height && I.isNumber(e.height) ? (d = e.width / e.height, i = window.document.getElementById(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"] = "" + s, a["data-spotx_content_height"] = "" + 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 || "vast_url" === c || "content_page_url" === c || "ad_unit" === c ? I.logWarn("[SPOTX][renderer] Custom behavior: following option cannot be overridden: " + c) : a["data-spotx_" + c] = u[c]);
}
for (var g in a) {
a.hasOwnProperty(g) && r.setAttribute(g, a[g]);
}
return r;
}(e);
if (null != e.renderer.config.outstream_function && "function" == typeof e.renderer.config.outstream_function) e.renderer.config.outstream_function(e, t);else try {
var r,
a,
d,
i = I.getBidIdParameter("in_iframe", e.renderer.config.outstream_options);
i && "IFRAME" == window.document.getElementById(i).nodeName ? (!(a = (r = window.document.getElementById(i)).contentDocument) && r.contentWindow && (a = r.contentWindow.document), a.body.appendChild(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);
}
}, [780]);
pbjsChunk([96], {
796: function _(e, t, r) {
e.exports = r(797);
},
797: function _(e, t, r) {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
}), r.d(t, "spec", function () {
return i;
});
var n = r(1),
a = r(0),
p = 12,
c = 11,
u = 0,
g = 22,
i = {
code: "teads",
supportedMediaTypes: ["video"https://slate.com/,"banner"],
isBidRequestValid: function isBidRequestValid(e) {
var t,
r,
n = !1;
return void 0 !== e.params && (t = s(a.getValue(e.params, "placementId")), r = s(a.getValue(e.params, "pageId")), n = t && r), n || a.logError("Teads placementId and pageId parameters are required. Bid aborted."), n;
},
buildRequests: function buildRequests(e, t) {
var r,
n = e.map(f),
i = {
referrer: function (e) {
var t = "";
e && e.refererInfo && e.refererInfo.referer && (t = e.refererInfo.referer);
return t;
}(t),
pageReferrer: document.referrer,
networkBandwidth: (r = window.navigator) && r.connection && 0 <= r.connection.downlink ? r.connection.downlink.toString() : "",
timeToFirstByte: function (e) {
var t = e.performance || e.webkitPerformance || e.msPerformance || e.mozPerformance,
r = t && "function" == typeof t.getEntriesByType && "[object Function]" === Object.prototype.toString.call(t.getEntriesByType) && t.getEntriesByType("navigation")[0] && t.getEntriesByType("navigation")[0].responseStart && t.getEntriesByType("navigation")[0].requestStart && 0 < t.getEntriesByType("navigation")[0].responseStart && 0 < t.getEntriesByType("navigation")[0].requestStart && Math.round(t.getEntriesByType("navigation")[0].responseStart - t.getEntriesByType("navigation")[0].requestStart);
if (r) return r.toString();
var n = t && t.timing.responseStart && t.timing.requestStart && 0 < t.timing.responseStart && 0 < t.timing.requestStart && t.timing.responseStart - t.timing.requestStart;
return n ? n.toString() : "";
}(window),
data: n,
deviceWidth: screen.width,
hb_version: "4.13.0"
};
e[0].schain && (i.schain = e[0].schain);
var a,
s,
o,
d = t.gdprConsent;
return t && d && (a = "boolean" == typeof d.gdprApplies, s = "string" == typeof d.consentString, o = a ? function (e, t, r) {
var n = p;
e ? function (e, t) {
return e && 1 === t ? e.hasGlobalScope || e.hasGlobalConsent : !(!e || 2 !== t) && !e.isServiceSpecific;
}(t, r) && (n = c) : n = u;
return n;
}(d.gdprApplies, d.vendorData, d.apiVersion) : g, i.gdpr_iab = {
consent: s ? d.consentString : "",
status: o,
apiVersion: d.apiVersion
}), t && t.uspConsent && (i.us_privacy = t.uspConsent), {
method: "POST",
url: "https://a.teads.tv/hb/bid-request",
data: JSON.stringify(i)
};
},
interpretResponse: function interpretResponse(e) {
var r = [];
return (e = e.body).responses && e.responses.forEach(function (e) {
var t = {
cpm: e.cpm,
width: e.width,
height: e.height,
currency: e.currency,
netRevenue: !0,
ttl: e.ttl,
ad: e.ad,
requestId: e.bidId,
creativeId: e.creativeId,
placementId: e.placementId
};
e.dealId && (t.dealId = e.dealId), r.push(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) || a.isArray(t) || 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);
}
}, [796]);
pbjsChunk([87], {
816: function _(e, r, t) {
e.exports = t(817);
},
817: function _(e, r, t) {
"use strict";
Object.defineProperty(r, "__esModule", {
value: !0
}), t.d(r, "tripleliftAdapterSpec", function () {
return m;
});
var n = t(2),
i = t(1),
u = t(0),
a = t(3);
function p() {
return (p = Object.assign || function (e) {
for (var r = 1; r < arguments.length; r++) {
var t = arguments[r];
for (var n in t) {
Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
}
}
return e;
}).apply(this, arguments);
}
function c(e) {
return (c = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) {
return _typeof(e);
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e);
})(e);
}
function d(r, e) {
var t,
n = Object.keys(r);
return Object.getOwnPropertySymbols && (t = Object.getOwnPropertySymbols(r), e && (t = t.filter(function (e) {
return Object.getOwnPropertyDescriptor(r, e).enumerable;
})), n.push.apply(n, t)), n;
}
function s(i) {
for (var e = 1; e < arguments.length; e++) {
var o = null != arguments[e] ? arguments[e] : {};
e % 2 ? d(Object(o), !0).forEach(function (e) {
var r, t, n;
r = i, n = o[t = e], t in r ? Object.defineProperty(r, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : r[t] = n;
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(i, Object.getOwnPropertyDescriptors(o)) : d(Object(o)).forEach(function (e) {
Object.defineProperty(i, e, Object.getOwnPropertyDescriptor(o, e));
});
}
return i;
}
function f(e) {
return function (e) {
if (Array.isArray(e)) return o(e);
}(e) || function (e) {
if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e);
}(e) || function (e, r) {
if (!e) return;
if ("string" == typeof e) return o(e, r);
var t = Object.prototype.toString.call(e).slice(8, -1);
"Object" === t && e.constructor && (t = e.constructor.name);
if ("Map" === t || "Set" === t) return Array.from(e);
if ("Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return o(e, r);
}(e) || function () {
throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}();
}
function o(e, r) {
(null == r || r > e.length) && (r = e.length);
for (var t = 0, n = new Array(r); t < r; t++) {
n[t] = e[t];
}
return n;
}
var y = !0,
l = null,
m = {
code: "triplelift",
supportedMediaTypes: [n.b, n.d],
isBidRequestValid: function isBidRequestValid(e) {
if (e.mediaTypes.video) {
var r = b(e);
if (!r.w || !r.h) return !1;
}
return void 0 !== e.params.inventoryCode;
},
buildRequests: function buildRequests(e, r) {
var t,
n = "https://tlx.3lift.com/header/auction?",
i = function (e) {
var r = {},
t = e[0].schain,
n = function () {
var e = {},
r = p({}, a.b.getConfig("fpd.context")),
t = p({}, a.b.getConfig("fpd.user"));
return g(e, r), g(e, t), e;
}();
r.imp = e.map(function (e, r) {
var t = {
id: r,
tagid: e.params.inventoryCode,
floor: function (e) {
var r = null;
{
var t;
"function" == typeof e.getFloor && ("object" !== c(t = e.getFloor({
currency: "USD",
mediaType: "banner",
size: S(e.sizes)
})) || "USD" !== t.currency || isNaN(parseFloat(t.floor)) || (r = parseFloat(t.floor)));
}
return null !== r ? r : e.params.floor;
}(e)
};
return !function (e) {
if (!e.mediaTypes.video) return !1;
if (!e.mediaTypes.video.context) return !1;
return "instream" === e.mediaTypes.video.context.toLowerCase();
}(e) ? e.mediaTypes.banner && (t.banner = {
format: S(e.sizes)
}) : t.video = b(e), t;
});
var i = [].concat(f(function (e) {
return v(e, "tdid"https://slate.com/,"adserver.org"https://slate.com/,"TDID");
}(e)), f(function (e) {
return v(e, "idl_env"https://slate.com/,"liveramp.com"https://slate.com/,"idl");
}(e)), f(function (e) {
return v(e, "criteoId"https://slate.com/,"criteo.com"https://slate.com/,"criteoId");
}(e)));
0 < i.length && (r.user = {
ext: {
eids: i
}
});
var o = function (e, r) {
var t = {};
u.isEmpty(e) || (t.schain = s({}, e));
u.isEmpty(r) || (t.fpd = s({}, r));
return t;
}(t, n);
u.isEmpty(o) || (r.ext = o);
return r;
}(e);
return n = u.tryAppendQueryString(n, "lib"https://slate.com/,"prebid"), n = u.tryAppendQueryString(n, "v"https://slate.com/,"4.13.0"), r && r.refererInfo && (t = r.refererInfo.referer, n = u.tryAppendQueryString(n, "referrer", t)), r && r.timeout && (n = u.tryAppendQueryString(n, "tmax", r.timeout)), r && r.gdprConsent && (void 0 !== r.gdprConsent.gdprApplies && (y = r.gdprConsent.gdprApplies, n = u.tryAppendQueryString(n, "gdpr", y.toString())), void 0 !== r.gdprConsent.consentString && (l = r.gdprConsent.consentString, n = u.tryAppendQueryString(n, "cmp_cs", l))), r && r.uspConsent && (n = u.tryAppendQueryString(n, "us_privacy", r.uspConsent)), !0 === a.b.getConfig("coppa") && (n = u.tryAppendQueryString(n, "coppa", !0)), n.lastIndexOf("&") === n.length - 1 && (n = n.substring(0, n.length - 1)), u.logMessage("tlCall request built: " + n), {
method: "POST",
url: n,
data: i,
bidderRequest: r
};
},
interpretResponse: function interpretResponse(e, r) {
var t = r.bidderRequest;
return (e.body.bids || []).map(function (e) {
return function (e, r) {
var t = {},
n = r.width || 1,
i = r.height || 1,
o = r.deal_id || "",
u = r.crid || "",
a = e.bids[r.imp_id];
0 != r.cpm && r.ad && (t = {
requestId: a.bidId,
cpm: r.cpm,
width: n,
height: i,
netRevenue: !0,
ad: r.ad,
creativeId: u,
dealId: o,
currency: "USD",
ttl: 300,
tl_source: r.tl_source,
meta: {}
}, a.mediaTypes.video && (t.vastXml = r.ad, t.mediaType = "video"), r.advertiser_name && (t.meta.advertiserName = r.advertiser_name));
return t;
}(t, e);
});
},
getUserSyncs: function getUserSyncs(e, r, t, n) {
var i = function (e) {
if (!e) return;
if (e.iframeEnabled) return "iframe";
if (e.pixelEnabled) return "image";
}(e);
if (i) {
var o = "https://eb2.3lift.com/sync?";
return "image" === i && (o = u.tryAppendQueryString(o, "px", 1), o = u.tryAppendQueryString(o, "src"https://slate.com/,"prebid")), null !== l && (o = u.tryAppendQueryString(o, "gdpr", y), o = u.tryAppendQueryString(o, "cmp_cs", l)), n && (o = u.tryAppendQueryString(o, "us_privacy", n)), [{
type: i,
url: o
}];
}
}
};
function b(e) {
var r = s(s({}, e.params.video), e.mediaTypes.video);
return r.w || (r.w = r.playerSize[0][0]), r.h || (r.h = r.playerSize[0][1]), "instream" === r.context && (r.placement = 1), delete r.playerSize, r;
}
function g(r, t) {
u.isEmpty(t) || 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);
}
}, [816]);
pbjs.processQueue();
}, {}];
window.modules["via.legacy"] = [function(require,module,exports){"use strict";
DS.service("via", function () {
"use strict"; // remove `via` from url, to be used after amplitude logs it to prevent users from sharing such urls
function removeFromLocation() {
var url = new URL(location.href);
url.searchParams.delete("via");
history.replaceState(null, "", url.toString());
} // and add `via` param to any outbound links
function addViaToUrl(href, via) {
if (!href || href.substr(0, 1) === "#") {
return href; // don't add to jumps on the current page, e.g. "Skip to main content"
}
var url = new URL(href);
var apexDomain = new URL(location.href).hostname.split(".").slice(-2).join(".");
if (url.hostname.indexOf(apexDomain) === -1) {
return href; // don't add it to external links
}
url.searchParams.set("via", via);
return url.toString();
} // keys correspond to "page_types" in editable_components.yml
var PREFIXES = {
article: "article",
homepage: "homepage",
"vertical front": "section",
"rubric front": "rubric"
};
var pageType;
function setPageType(amplitudePageType) {
pageType = PREFIXES[amplitudePageType];
}
var DELIMITER = "_";
function concatVia(node, via) {
var tag = node.dataset && node.dataset.via;
if (tag) {
via = (via.length ? tag + DELIMITER : tag) + via;
}
return via;
}
function addToClickedLinks() {
document.documentElement.addEventListener("click", function (e) {
var a;
var via = ""; // detect link nodes and collect via directives to append to the href
var node = e.target; // the element where this event originated may have been removed from the dom, e.g. in the case of the OIL CMP which disappears after you interact with it
while (node && node !== e.currentTarget) {
if (node.tagName === "A") {
a = node;
}
via = concatVia(node, via);
node = node.parentNode;
}
if (a && via) {
if (pageType) {
via = pageType + DELIMITER + via;
}
a.href = addViaToUrl(a.href, via);
}
});
}
function addToSubmittedForms() {
document.documentElement.addEventListener("submit", function (e) {
var form = e.target; // collect via directives
var via = "";
var node = e.target;
while (node !== e.currentTarget) {
via = concatVia(node, via);
node = node.parentNode;
}
if (via) {
if (pageType) {
via = pageType + DELIMITER + via;
} // dynamically create a hidden input for the form url
var input = document.createElement("input");
input.type = "hidden";
input.name = "via";
input.value = via;
form.appendChild(input);
}
});
} // start listening only once, when first injected
addToClickedLinks();
addToSubmittedForms();
return {
setPageType: setPageType,
removeFromLocation: removeFromLocation
};
});
}, {}];
window.modules["visibility.legacy"] = [function(require,module,exports){"use strict";
DS.service("$visibility", ["$document"https://slate.com/,"$window"https://slate.com/,"_throttle"https://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 || percent < item.hiddenThreshold) && item.seen) {
item.seen = false;
setTimeout(function () {
item.trigger("hidden", new VisibleEvent("hidden", evt));
}, 15);
}
}
/**
* sets preload property
* @param {Visible} item
* @param {{}} evt
* @param {Number} innerHeight
* @fires Visible#preload
*/
function updatePreload(item, evt, innerHeight) {
if (!item.preload && item.preloadThreshhold && shouldBePreloaded(evt.target, evt.rect, item.preloadThreshhold, innerHeight)) {
item.preload = true;
setTimeout(function () {
item.trigger("preload", new VisibleEvent("preload", evt));
}, 15);
}
}
/**
* Trigger events
* @param {Visible} item
*/
function updateVisibility(item) {
var rect = item.el.getBoundingClientRect(),
innerHeight = $window.innerHeight || $document.documentElement.clientHeight,
px = getVerticallyVisiblePixels(rect, innerHeight),
percent = px / (rect.height || innerHeight),
evt = {
target: item.el,
rect: rect,
visiblePx: px,
visiblePercent: percent
};
updateSeen(item, evt);
updatePreload(item, evt, innerHeight);
}
/**
* Return normalized viewport height
* @return {number}
*/
function getViewportHeight() {
return $window.innerHeight || $document.documentElement.clientHeight || $document.body.clientHeight;
}
/**
* Return normalized viewport width
* @return {number}
*/
function getViewportWidth() {
return $window.innerWidth || $document.documentElement.clientWidth || $document.body.clientWidth;
}
/**
* make sure an element isn't hidden by styles or etc
* @param {Element} el
* @return {Boolean}
*/
function isElementNotHidden(el) {
return el && el.offsetParent !== null && !el.getAttribute("hidden") && getComputedStyle(el).display !== "none" && getComputedStyle(el).visibility !== "hidden";
}
/**
* Apparently the fastest way...
* @param {Element} el
* @returns {boolean}
* @example if (!$visibility.isElementInViewport(el)) { ... }
*/
function isElementInViewport(el) {
var rect = el.getBoundingClientRect();
return rect.top >= 0 && rect.left >= 0 && rect.bottom <= ($window.innerHeight || $document.documentElement.clientHeight) && rect.right <= ($window.innerWidth || $document.documentElement.clientWidth);
}
/**
* @param {Element} el
* @param {ClientRect} rect
* @param {Number} preloadThreshhold
* @param {Number} innerHeight
* @return {Boolean}
*/
function shouldBePreloaded(el, rect, preloadThreshhold, innerHeight) {
return rect.top <= innerHeight + preloadThreshhold && isElementNotHidden(el);
}
/**
* Create a one-dimensional spacial hash of x
* @param {number} x
* @param {number} stepSize
* @param {number} optimalK
* @param {number} base
* @return {number}
*/
function getLinearSpacialHash(x, stepSize, optimalK, base) {
var index = Math.floor(x / (stepSize || 1)),
remainder = x % stepSize,
result = index.toString(base);
if (optimalK > 1) {
result += getLinearSpacialHash(remainder, Math.floor(stepSize / base), optimalK – 1, base);
}
return result;
}
/**
* @param {ClientRect} rect
* @param {number} innerHeight
* @returns {number}
*/
function getVerticallyVisiblePixels(rect, innerHeight) {
return min(innerHeight, max(rect.bottom, 0)) – min(max(rect.top, 0), innerHeight);
}
/**
* Get offset of element relative to entire page
*
* @param {Element} el
* @returns {{left: number, top: number}}
* @see http://jsperf.com/offset-vs-getboundingclientrect/7
*/
function getPageOffset(el) {
var offsetLeft = el.offsetLeft,
offsetTop = el.offsetTop;
while (el = el.offsetParent) {
offsetLeft += el.offsetLeft;
offsetTop += el.offsetTop;
}
return {
left: offsetLeft,
top: offsetTop
};
}
/**
* Create a new Visible class to observe when elements enter and leave the viewport
*
* Call destroy function to stop listening (this is until we have better support for watching for Node Removal)
* @param {Element} el
* @param {{shownThreshold: number, hiddenThreshold: number}} [options]
* @class
* @example this.visible = new $visibility.Visible(el);
*/
Visible = function Visible(el, options) {
options = options || {};
this.el = el;
this.seen = false;
this.preload = false;
this.preloadThreshhold = options && options.preloadThreshhold || 0;
this.shownThreshold = options && options.shownThreshold || 0;
this.hiddenThreshold = options && min(options.shownThreshold, options.hiddenThreshold) || 0;
list.push(this);
updateVisibility(this); // set immediately to visible or not
};
Visible.prototype = {
/**
* Stop triggering.
*/
destroy: function destroy() {
// remove from list
list.splice(list.indexOf(this), 1);
}
/**
* @name Visible#on
* @function
* @param {‘shown’|’hidden’} e EventName
* @param {function} cb Callback
*/
/**
* @name Visible#trigger
* @function
* @param {‘shown’|’hidden’} e
* @param {{}}
*/
};
Eventify.enable(Visible.prototype);
VisibleEvent = function VisibleEvent(type, options) {
var _this = this;
this.type = type;
Object.keys(options).forEach(function (key) {
_this[key] = options[key];
});
}; // listen for scroll events (throttled)
$document.addEventListener(“scroll”, _throttle(onScroll, 200)); // public
this.getPageOffset = getPageOffset;
this.getLinearSpacialHash = getLinearSpacialHash;
this.getVerticallyVisiblePixels = getVerticallyVisiblePixels;
this.getViewportHeight = getViewportHeight;
this.getViewportWidth = getViewportWidth;
this.isElementNotHidden = isElementNotHidden;
this.isElementInViewport = isElementInViewport;
this.Visible = Visible;
}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==”function”&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(“Cannot find module ‘”+o+”‘”);throw f.code=”MODULE_NOT_FOUND”,f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==”function”&&require;for(var o=0;o
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” || n === “Set”) return Array.from(o); if (n === “Arguments” || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || 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 "".concat(name, "" on "").concat(elementTag, """), e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(function (key) {
return typeof key === 'string' && key.match(/.client$/);
}).forEach(function (key) {
var controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
var name = key.replace('.client"https://slate.com/,"'),
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 || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
} // note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]
Credit: Source link