/* prebid.js v8.42.0 Updated: 2024-05-23 Modules: userId, admanBidAdapter, appnexusBidAdapter, criteoBidAdapter, ixBidAdapter, medianetBidAdapter, minutemediaBidAdapter, openxBidAdapter, pubmaticBidAdapter, riseBidAdapter, rubiconBidAdapter, sharethroughBidAdapter, smaatoBidAdapter, tappxBidAdapter, tripleliftBidAdapter, vidazooBidAdapter, consentManagement, consentManagementGpp, consentManagementUsp, enrichmentFpdModule, gdprEnforcement, gptPreAuction, sizeMappingV2, teadsIdSystem, unifiedIdSystem, uid2IdSystem */ if (window.pbjs && window.pbjs.libLoaded) try { window.pbjs.getConfig("debug") && console.warn("Attempted to load a copy of Prebid.js that clashes with the existing 'pbjs' instance. Load aborted.") } catch (e) {} else (function() { !function() { var e, n = { 35706: function(e, n, t) { t.d(n, { Pd: function() { return d }, Th: function() { return s }, _U: function() { return f } }); var r = t(55730) , i = t(64358) , o = t(20265) , a = t(34614) , u = (0, t(78640).R)() , c = "outstream"; function s(e) { var n = this , t = e.url , o = e.config , a = e.id , u = e.callback , s = e.loaded , d = e.adUnitCode , f = e.renderNow; this.url = t, this.config = o, this.handlers = {}, this.id = a, this.renderNow = f, this.loaded = s, this.cmd = [], this.push = function(e) { "function" == typeof e ? n.loaded ? e.call() : n.cmd.push(e) : (0, i.logError)("Commands given to Renderer.push must be wrapped in a function") } , this.callback = u || function() { n.loaded = !0, n.process() } , this.render = function() { var e = this , n = arguments , o = function() { e._render ? e._render.apply(e, n) : (0, i.logWarn)("No render function was provided, please use .setRender on the renderer") }; l(d) ? ((0, i.logWarn)("External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ".concat(d)), o()) : f ? o() : (this.cmd.unshift(o), (0, r.B)(t, c, this.callback, this.documentContext)) } .bind(this) } function d(e) { return !(!e || !e.url && !e.renderNow) } function f(e, n, t) { var r = null; e.config && e.config.documentResolver && (r = e.config.documentResolver(n, document, t)), r || (r = document), e.documentContext = r, e.render(n, e.documentContext) } function l(e) { var n = u.adUnits , t = (0, a.sE)(n, (function(n) { return n.code === e } )); if (!t) return !1; var r = (0, o.Z)(t, "renderer") , i = !!(r && r.url && r.render) , c = (0, o.Z)(t, "mediaTypes.video.renderer") , s = !!(c && c.url && c.render); return !!(i && !0 !== r.backupOnly || s && !0 !== c.backupOnly) } s.install = function(e) { return new s({ url: e.url, config: e.config, id: e.id, callback: e.callback, loaded: e.loaded, adUnitCode: e.adUnitCode, renderNow: e.renderNow }) } , s.prototype.getConfig = function() { return this.config } , s.prototype.setRender = function(e) { this._render = e } , s.prototype.setEventHandlers = function(e) { this.handlers = e } , s.prototype.handleVideoEvent = function(e) { var n = e.id , t = e.eventName; "function" == typeof this.handlers[t] && this.handlers[t](), (0, i.logMessage)("Prebid Renderer event for id ".concat(n, " type ").concat(t)) } , s.prototype.process = function() { for (; this.cmd.length > 0; ) try { this.cmd.shift().call() } catch (e) { (0, i.logError)("Error processing Renderer command: ", e) } } }, 74947: function(e, n, t) { t.d(n, { EL: function() { return a }, Jt: function() { return l }, K$: function() { return i }, S1: function() { return r }, S5: function() { return o }, UE: function() { return u }, e: function() { return s }, g0: function() { return f }, oK: function() { return d }, x$: function() { return c } }); var r = "accessDevice" , i = "syncUser" , o = "enrichUfpd" , a = "enrichEids" , u = "fetchBids" , c = "reportAnalytics" , s = "transmitEids" , d = "transmitUfpd" , f = "transmitPreciseGeo" , l = "transmitTid" }, 10286: function(e, n, t) { t.d(n, { T: function() { return i } }); var r = t(86104) , i = (0, t(16310).Oj)((function(e) { return r.ZP.resolveAlias(e) } )) }, 9633: function(e, n, t) { t.d(n, { UL: function() { return i }, XG: function() { return a }, _U: function() { return u }, wu: function() { return r }, y2: function() { return o } }); var r = "prebid" , i = "bidder" , o = "userId" , a = "rtd" , u = "analytics" }, 16310: function(e, n, t) { t.d(n, { $k: function() { return u }, Hw: function() { return p }, IV: function() { return g }, JR: function() { return a }, Ki: function() { return s }, Oj: function() { return v }, Qf: function() { return f }, Ww: function() { return h }, bL: function() { return d }, bp: function() { return c }, cx: function() { return l } }); var r = t(4942) , i = t(9633) , o = t(92797) , a = "component" , u = a + "Type" , c = a + "Name" , s = "adapterCode" , d = "storageType" , f = "configName" , l = "syncType" , g = "syncUrl" , p = "_config"; function v(e) { return function(n, t, o) { var d, f = (d = {}, (0, r.Z)(d, u, n), (0, r.Z)(d, c, t), (0, r.Z)(d, a, "".concat(n, ".").concat(t)), d); return n === i.UL && (f[s] = e(t)), h(Object.assign(f, o)) } } var h = (0, o.z3)("sync", (function(e) { return e } )) }, 41087: function(e, n, t) { t.d(n, { $8: function() { return f }, Db: function() { return v }, Mp: function() { return w }, RD: function() { return h }, ZZ: function() { return l }, a: function() { return m }, hb: function() { return E }, js: function() { return b } }); var r = t(71002) , i = t(93324) , o = t(20265) , a = t(3193) , u = t(50571) , c = t(74947); function s(e, n) { var t = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!t) { if (Array.isArray(e) || (t = function(e, n) { if (!e) return; if ("string" == typeof e) return d(e, n); 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 d(e, n) }(e)) || n && e && "number" == typeof e.length) { t && (e = t); var r = 0 , i = function() {}; return { s: i, n: function() { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } }, e: function(e) { throw e }, f: i } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, a = !0, u = !1; return { s: function() { t = t.call(e) }, n: function() { var e = t.next(); return a = e.done, e }, e: function(e) { u = !0, o = e }, f: function() { try { a || null == t.return || t.return() } finally { if (u) throw o } } } } function d(e, n) { (null == n || n > e.length) && (n = e.length); for (var t = 0, r = new Array(n); t < n; t++) r[t] = e[t]; return r } var f = ["data", "ext.data", "yob", "gender", "keywords", "kwarray", "id", "buyeruid", "customdata"].map((function(e) { return "user.".concat(e) } )).concat("device.ext.cdep") , l = ["user.eids", "user.ext.eids"] , g = ["user.geo.lat", "user.geo.lon", "device.geo.lat", "device.geo.lon"]; function p(e) { return Object.assign({ get: function() {}, run: function(e, n, t, r, i) { var o = t && t[r]; if (m(o) && i()) { var a = this.get(o); void 0 === a ? delete t[r] : t[r] = a } } }, e) } function v(e) { return e.forEach((function(e) { e.paths = e.paths.map((function(e) { var n = e.split(".") , t = n.pop(); return [n.length > 0 ? n.join(".") : null, t] } )) } )), function(n, t) { for (var r = [], a = arguments.length, u = new Array(a > 2 ? a - 2 : 0), c = 2; c < a; c++) u[c - 2] = arguments[c]; var d = h.apply(void 0, [n].concat(u)); return e.forEach((function(e) { if (!1 !== n[e.name]) { var a, u = s(e.paths); try { for (u.s(); !(a = u.n()).done; ) { var c = (0, i.Z)(a.value, 2) , f = c[0] , l = c[1] , g = null == f ? t : (0, o.Z)(t, f); if (r.push(e.run(t, f, g, l, d.bind(null, e))), !1 === n[e.name]) return } } catch (e) { u.e(e) } finally { u.f() } } } )), r.filter((function(e) { return null != e } )) } } function h(e) { for (var n = arguments.length, t = new Array(n > 1 ? n - 1 : 0), r = 1; r < n; r++) t[r - 1] = arguments[r]; return function(n) { return e.hasOwnProperty(n.name) || (e[n.name] = !!n.applies.apply(n, t)), e[n.name] } } function m(e) { return null != e && ("object" !== (0, r.Z)(e) || Object.keys(e).length > 0) } function b(e) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : u.xD; return function(t) { return !n(e, t) } } function y() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : u.xD; return [{ name: c.e, paths: ["userId", "userIdAsEids"], applies: b(c.e, e) }, { name: c.Jt, paths: ["ortb2Imp.ext.tid"], applies: b(c.Jt, e) }].map(p) } function w() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : u.xD; return [{ name: c.oK, paths: f, applies: b(c.oK, e) }, { name: c.e, paths: l, applies: b(c.e, e) }, { name: c.g0, paths: g, applies: b(c.g0, e), get: function(e) { return Math.round(100 * (e + Number.EPSILON)) / 100 } }, { name: c.Jt, paths: ["source.tid"], applies: b(c.Jt, e) }].map(p) } var E = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : u.xD , n = v(w(e)) , t = v(y(e)); return function(e) { var r = {}; return { ortb2: function(t) { return n(r, t, e), t }, bidRequest: function(n) { return t(r, n, e), n } } } }(); (0, u.oB)(c.Jt, "enableTIDs config", (function() { if (!a.vc.getConfig("enableTIDs")) return { allow: !1, reason: "TIDs are disabled" } } )) }, 50571: function(e, n, t) { t.d(n, { oB: function() { return d }, xD: function() { return f } }); var r = t(93324) , i = t(64358) , o = t(16310); function a(e, n) { var t = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!t) { if (Array.isArray(e) || (t = function(e, n) { if (!e) return; if ("string" == typeof e) return u(e, n); 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 u(e, n) }(e)) || n && e && "number" == typeof e.length) { t && (e = t); var r = 0 , i = function() {}; return { s: i, n: function() { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } }, e: function(e) { throw e }, f: i } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, a = !0, c = !1; return { s: function() { t = t.call(e) }, n: function() { var e = t.next(); return a = e.done, e }, e: function(e) { c = !0, o = e }, f: function() { try { a || null == t.return || t.return() } finally { if (c) throw o } } } } function u(e, n) { (null == n || n > e.length) && (n = e.length); for (var t = 0, r = new Array(n); t < n; t++) r[t] = e[t]; return r } var c = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : (0, i.prefixLog)("Activity control:") , n = {}; function t(e) { return n[e] = n[e] || [] } function u(n, t, r, i) { var a; try { a = r(i) } catch (r) { e.logError("Exception in rule ".concat(t, " for '").concat(n, "'"), r), a = { allow: !1, reason: r } } return a && Object.assign({ activity: n, name: t, component: i[o.JR] }, a) } var c = {} , s = 1e3; function d(n) { var t = n.activity , r = n.name , i = n.allow , o = n.reason , a = n.component , u = "".concat(r, " ").concat(i ? "allowed" : "denied", " '").concat(t, "' for '").concat(a, "'").concat(o ? ":" : "") , d = c.hasOwnProperty(u); if (d && clearTimeout(c[u]), c[u] = setTimeout((function() { return delete c[u] } ), s), !d) { var f = [u]; o && f.push(o), (i ? e.logInfo : e.logWarn).apply(e, f) } } return [function(e, n, i) { var o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 10 , a = t(e) , u = a.findIndex((function(e) { var n = (0, r.Z)(e, 1)[0]; return o < n } )) , c = [o, n, i]; return a.splice(u < 0 ? a.length : u, 0, c), function() { var e = a.indexOf(c); e >= 0 && a.splice(e, 1) } } , function(e, n) { var i, o, c, s = a(t(e)); try { for (s.s(); !(c = s.n()).done; ) { var f = (0, r.Z)(c.value, 3) , l = f[0] , g = f[1] , p = f[2]; if (i !== l && o) break; i = l; var v = u(e, g, p, n); if (v) { if (!v.allow) return d(v), !1; o = v } } } catch (e) { s.e(e) } finally { s.f() } return o && d(o), !0 } ] }() , s = (0, r.Z)(c, 2) , d = s[0] , f = s[1] }, 13667: function(e, n, t) { t.d(n, { E$: function() { return I }, Lj: function() { return O }, XD: function() { return k }, XF: function() { return S }, oc: function() { return C }, tV: function() { return B } }); var r = t(4942) , i = t(64358) , o = t(20265) , a = t(52021) , u = t(5644) , c = t(3193) , s = t(35706) , d = t(24679) , f = t(78653) , l = t(88099) , g = t(92797) , p = t(70059) , v = u.FP , h = v.AD_RENDER_FAILED , m = v.AD_RENDER_SUCCEEDED , b = v.STALE_RENDER , y = v.BID_WON , w = u.q_.XW; function E(e) { var n = e.reason , t = e.message , r = e.bid , o = e.id , u = { reason: n, message: t }; r && (u.bid = r, u.adId = r.adId), o && (u.adId = o), (0, i.logError)("Error rendering ad (id: ".concat(o, "): ").concat(t)), a.emit(h, u) } function A(e) { var n = e.doc , t = e.bid , r = e.id , i = { doc: n }; t && (i.bid = t), r && (i.adId = r), a.emit(m, i) } function C(e, n) { switch (e.event) { case u.FP.AD_RENDER_FAILED: E({ bid: n, id: n.adId, reason: e.info.reason, message: e.info.message }); break; case u.FP.AD_RENDER_SUCCEEDED: A({ doc: null, bid: n, id: n.adId }); break; default: (0, i.logError)("Received event request for unsupported event: '".concat(e.event, "' (adId: '").concat(n.adId, "')")) } } function I(e, n, t) { var r = t.resizeFn , i = t.fireTrackers , o = void 0 === i ? p.e6 : i; if ("resizeNativeHeight" === e.action) r(e.width, e.height); else o(e, n) } var T = (0, r.Z)({}, u.X3.EVENT, C); T[u.X3.NATIVE] = I; var O = (0, g.z3)("sync", (function(e, n) { var t = e.ad , r = e.adUrl , o = e.cpm , a = e.originalCpm , u = e.width , c = e.height , s = { AUCTION_PRICE: a || o, CLICKTHROUGH: (null == n ? void 0 : n.clickUrl) || "" }; return { ad: (0, i.replaceMacros)(t, s), adUrl: (0, i.replaceMacros)(r, s), width: u, height: c } } )) , S = (0, g.z3)("sync", (function(e) { var n = e.renderFn , t = e.resizeFn , r = e.bidResponse , i = e.options; if (r.mediaType !== d.pX) { var o = O(r, i); n(Object.assign({ adId: r.adId }, o)); var a = o.width , c = o.height; null != (null != a ? a : c) && t(a, c) } else E({ reason: u.q_.Sn, message: "Cannot render video ad", bid: r, id: r.adId }) } )); function k(e) { var n = e.renderFn , t = e.resizeFn , r = e.adId , s = e.options , d = e.bidResponse , l = e.doc; if (null != d) { if (d.status !== u.UE.fe || ((0, i.logWarn)("Ad id ".concat(r, " has been rendered before")), a.emit(b, d), !(0, o.Z)(c.vc.getConfig("auctionOptions"), "suppressStaleRender"))) { try { S({ renderFn: n, resizeFn: t, bidResponse: d, options: s, doc: l }) } catch (e) { E({ reason: u.q_.XW, message: e.message, id: r, bid: d }) } f.K.addWinningBid(d), a.emit(y, d) } } else E({ reason: u.q_.WT, message: "Cannot find ad '".concat(r, "'"), id: r }) } function B(e, n, t) { var r; function o(e, t) { E(Object.assign({ id: n, bid: r }, { reason: e, message: t })) } function a(n, t) { e.defaultView && e.defaultView.frameElement && (n && (e.defaultView.frameElement.width = n), t && (e.defaultView.frameElement.height = t)) } var c, s = (c = { resizeFn: a }, function(e, n, t) { T.hasOwnProperty(e) && T[e](n, t, c) } ); try { n && e ? (r = f.K.findBidByAdId(n), e !== document || (0, i.inIframe)() ? k({ renderFn: function(n) { n.ad ? (e.write(n.ad), e.close(), A({ doc: e, bid: r, adId: r.adId })) : (0, l.W)(r).then((function(t) { return t(n, { sendMessage: function(e, n) { return s(e, n, r) }, mkFrame: i.createIframe }, e.defaultView) } )).then((function() { return A({ doc: e, bid: r, adId: r.adId }) } ), (function(e) { o((null == e ? void 0 : e.reason) || u.q_.XW, null == e ? void 0 : e.message), (null == e ? void 0 : e.stack) && (0, i.logError)(e) } )); var t = document.createComment("Creative ".concat(r.creativeId, " served by ").concat(r.bidder, " Prebid.js Header Bidding")); (0, i.insertElement)(t, e, "html") }, resizeFn: a, adId: n, options: { clickUrl: null == t ? void 0 : t.clickThrough }, bidResponse: r, doc: e }) : o(u.q_.Sn, "renderAd was prevented from writing to the main document.")) : o(u.q_.mb, "missing ".concat(n ? "doc" : "adId")) } catch (e) { o(w, e.message) } } S.before((function(e, n) { var t = n.bidResponse , r = n.doc; (0, s.Pd)(t.renderer) ? ((0, s._U)(t.renderer, t, r), A({ doc: r, bid: t, id: t.adId }), e.bail()) : e(n) } ), 100) }, 875: function(e, n, t) { t.d(n, { f: function() { return a } }); var r = t(20265) , i = {}; function o(e, n, t) { var r = function(e, n) { var t = i[e] = i[e] || { bidders: {} }; return n ? t.bidders[n] = t.bidders[n] || {} : t }(e, t); return r[n] = (r[n] || 0) + 1, r[n] } var a = { incrementRequestsCounter: function(e) { return o(e, "requestsCounter") }, incrementBidderRequestsCounter: function(e, n) { return o(e, "requestsCounter", n) }, incrementBidderWinsCounter: function(e, n) { return o(e, "winsCounter", n) }, getRequestsCounter: function(e) { return (0, r.Z)(i, "".concat(e, ".requestsCounter")) || 0 }, getBidderRequestsCounter: function(e, n) { return (0, r.Z)(i, "".concat(e, ".bidders.").concat(n, ".requestsCounter")) || 0 }, getBidderWinsCounter: function(e, n) { return (0, r.Z)(i, "".concat(e, ".bidders.").concat(n, ".winsCounter")) || 0 } } }, 48525: function(e, n, t) { function r(e) { var n = e; return { callBids: function() {}, setBidderCode: function(e) { n = e }, getBidderCode: function() { return n } } } t.d(n, { Z: function() { return r } }) }, 86104: function(e, n, t) { t.d(n, { Ct: function() { return L }, JO: function() { return N }, O6: function() { return x }, _x: function() { return F }, qJ: function() { return B }, uV: function() { return z } }); var r = t(89062) , i = t(93324) , o = t(4942) , a = t(64358) , u = t(20265) , c = t(70059) , s = t(14699) , d = t(48928) , f = t(3193) , l = t(92797) , g = t(34614) , p = t(875) , v = t(25102) , h = t(34516) , m = t(52021) , b = t(5644) , y = t(99128) , w = t(78653) , E = t(9633) , A = t(50571) , C = t(74947) , I = t(16310) , T = t(41087); function O(e, n) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var r = Object.getOwnPropertySymbols(e); n && (r = r.filter((function(n) { return Object.getOwnPropertyDescriptor(e, n).enumerable } ))), t.push.apply(t, r) } return t } function S(e) { for (var n = 1; n < arguments.length; n++) { var t = null != arguments[n] ? arguments[n] : {}; n % 2 ? O(Object(t), !0).forEach((function(n) { (0, o.Z)(e, n, t[n]) } )) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : O(Object(t)).forEach((function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) } )) } return e } var k = "pbsBidAdapter" , B = { CLIENT: "client", SERVER: "server" } , j = { isAllowed: A.xD, redact: T.hb } , U = {} , R = U.bidderRegistry = {} , P = U.aliasRegistry = {} , D = []; f.vc.getConfig("s2sConfig", (function(e) { e && e.s2sConfig && (D = (0, a.isArray)(e.s2sConfig) ? e.s2sConfig : [e.s2sConfig]) } )); var Z = {} , q = (0, I.Oj)((function(e) { return U.resolveAlias(e) } )); function x(e) { return q(E.wu, k, (0, o.Z)({}, I.Qf, e.configName)) } var _ = (0, l.z3)("sync", (function(e) { var n = e.bidderCode , t = e.auctionId , r = e.bidderRequestId , i = e.adUnits , o = e.src , c = e.metrics; return i.reduce((function(e, i) { var s = i.bids.filter((function(e) { return e.bidder === n } )); return null == n && 0 === s.length && null != i.s2sBid && s.push({ bidder: null }), e.push(s.reduce((function(e, n) { var s = null == (n = Object.assign({}, n, { ortb2Imp: (0, a.mergeDeep)({}, i.ortb2Imp, n.ortb2Imp) }, (0, a.getDefinedParams)(i, ["nativeParams", "nativeOrtbRequest", "mediaType", "renderer"]))).mediaTypes ? i.mediaTypes : n.mediaTypes; return (0, a.isValidMediaTypes)(s) ? n = Object.assign({}, n, { mediaTypes: s }) : (0, a.logError)("mediaTypes is not correctly configured for adunit ".concat(i.code)), e.push(Object.assign({}, n, { adUnitCode: i.code, transactionId: i.transactionId, adUnitId: i.adUnitId, sizes: (0, u.Z)(s, "banner.sizes") || (0, u.Z)(s, "video.playerSize") || [], bidId: n.bid_id || (0, a.getUniqueIdentifierStr)(), bidderRequestId: r, auctionId: t, src: o, metrics: c, bidRequestsCount: p.f.getRequestsCounter(i.code), bidderRequestsCount: p.f.getBidderRequestsCounter(i.code, n.bidder), bidderWinsCount: p.f.getBidderWinsCounter(i.code, n.bidder) })), e } ), [])), e } ), []).reduce(a.flatten, []).filter((function(e) { return "" !== e } )) } ), "getBids"); var N = (0, l.z3)("sync", (function(e, n) { var t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {} , r = t.getS2SBidders , i = void 0 === r ? z : r; if (null == n) return e; var o = i(n); return e.filter((function(e) { return o.has(e.bidder) } )) } ), "filterBidsForAdUnit"); function M(e, n) { var t = (0, a.deepClone)(e) , r = !1; return t.forEach((function(e) { var t = e.bids.filter((function(e) { var t; return e.module === k && (null === (t = e.params) || void 0 === t ? void 0 : t.configName) === n.configName } )); 1 === t.length ? (e.s2sBid = t[0], r = !0, e.ortb2Imp = (0, a.mergeDeep)({}, e.s2sBid.ortb2Imp, e.ortb2Imp)) : t.length > 1 && (0, a.logWarn)('Multiple "module" bids for the same s2s configuration; all will be ignored', t), e.bids = N(e.bids, n).map((function(e) { return e.bid_id = (0, a.getUniqueIdentifierStr)(), e } )) } )), { adUnits: t = t.filter((function(e) { return 0 !== e.bids.length || null != e.s2sBid } )), hasModuleBids: r } } function W(e) { var n = (0, a.deepClone)(e); return n.forEach((function(e) { e.bids = N(e.bids, null) } )), n = n.filter((function(e) { return 0 !== e.bids.length } )) } var F = (0, l.z3)("sync", (function(e, n) { return e } ), "setupAdUnitMediaTypes"); function z(e) { (0, a.isArray)(e) || (e = [e]); var n = new Set([null]); return e.filter((function(e) { return e && e.enabled } )).flatMap((function(e) { return e.bidders } )).forEach((function(e) { return n.add(e) } )), n } var L = (0, l.z3)("sync", (function(e, n) { var t, r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, i = r.getS2SBidders, u = void 0 === i ? z : i, c = u(n); return (0, a.getBidderCodes)(e).reduce((function(e, n) { return e[c.has(n) ? B.SERVER : B.CLIENT].push(n), e } ), (t = {}, (0, o.Z)(t, B.CLIENT, []), (0, o.Z)(t, B.SERVER, []), t)) } ), "partitionBidders"); function K(e, n) { var t = R[e] , r = (null == t ? void 0 : t.getSpec) && t.getSpec(); if (r && r[n] && "function" == typeof r[n]) return [r, r[n]] } function H(e, n, t, r) { try { (0, a.logInfo)("Invoking ".concat(e, ".").concat(n)); for (var i = arguments.length, o = new Array(i > 4 ? i - 4 : 0), u = 4; u < i; u++) o[u - 4] = arguments[u]; f.vc.runWithBidder(e, r.bind.apply(r, [t].concat(o))) } catch (t) { (0, a.logWarn)("Error calling ".concat(n, " of ").concat(e)) } } function G(e, n, t) { if ((null == t ? void 0 : t.src) !== b.os.YZ) { var i = K(e, n); null != i && H.apply(void 0, [e, n].concat((0, r.Z)(i), [t])) } } function V(e) { for (var n = new Set; P.hasOwnProperty(e) && !n.has(e); ) n.add(e), e = P[e]; return e } U.makeBidRequests = (0, l.z3)("sync", (function(e, n, t, r, i) { var o = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : {} , u = arguments.length > 6 ? arguments[6] : void 0; u = (0, y.Bf)(u), m.emit(b.FP.BEFORE_REQUEST_BIDS, e), (0, c.Fb)(e), e.forEach((function(e) { (0, a.isPlainObject)(e.mediaTypes) || (e.mediaTypes = {}), e.bids = e.bids.filter((function(e) { return !e.bidder || j.isAllowed(C.UE, q(E.UL, e.bidder)) } )) } )), e = F(e, i); var s = L(e, D) , d = s[B.CLIENT] , l = s[B.SERVER]; f.vc.getConfig("bidderSequence") === f.FD && (d = (0, a.shuffle)(d)); var p = (0, v.nH)() , w = [] , A = o.global || {} , I = o.bidder || {}; function T(e, n) { var r = j.redact(null != n ? n : q(E.UL, e.bidderCode)) , i = Object.freeze(r.ortb2((0, a.mergeDeep)({ source: { tid: t } }, A, I[e.bidderCode]))); return e.ortb2 = i, e.bids = e.bids.map((function(e) { return e.ortb2 = i, r.bidRequest(e) } )), e } D.forEach((function(r) { var i = x(r); if (r && r.enabled && j.isAllowed(C.UE, i)) { var o = M(e, r) , c = o.adUnits , s = o.hasModuleBids , d = (0, a.generateUUID)(); (0 === l.length && s ? [null] : l).forEach((function(e) { var o = (0, a.getUniqueIdentifierStr)() , s = u.fork() , f = T({ bidderCode: e, auctionId: t, bidderRequestId: o, uniquePbsTid: d, bids: _({ bidderCode: e, auctionId: t, bidderRequestId: o, adUnits: (0, a.deepClone)(c), src: b.os.YZ, metrics: s }), auctionStart: n, timeout: r.timeout, src: b.os.YZ, refererInfo: p, metrics: s }, i); 0 !== f.bids.length && w.push(f) } )), c.forEach((function(e) { var n = e.bids.filter((function(e) { return (0, g.sE)(w, (function(n) { return (0, g.sE)(n.bids, (function(n) { return n.bidId === e.bid_id } )) } )) } )); e.bids = n } )), w.forEach((function(e) { void 0 === e.adUnitsS2SCopy && (e.adUnitsS2SCopy = c.filter((function(e) { return e.bids.length > 0 || null != e.s2sBid } ))) } )) } } )); var O = W(e); return d.forEach((function(e) { var o = (0, a.getUniqueIdentifierStr)() , c = u.fork() , s = T({ bidderCode: e, auctionId: t, bidderRequestId: o, bids: _({ bidderCode: e, auctionId: t, bidderRequestId: o, adUnits: (0, a.deepClone)(O), labels: i, src: "client", metrics: c }), auctionStart: n, timeout: r, refererInfo: p, metrics: c }) , d = R[e]; d || (0, a.logError)("Trying to make a request for bidder that does not exist: ".concat(e)), d && s.bids && 0 !== s.bids.length && w.push(s) } )), w.forEach((function(e) { h.rp.getConsentData() && (e.gdprConsent = h.rp.getConsentData()), h.nX.getConsentData() && (e.uspConsent = h.nX.getConsentData()), h.TJ.getConsentData() && (e.gppConsent = h.TJ.getConsentData()) } )), w } ), "makeBidRequests"), U.callBids = function(e, n, t, r, o, u, c) { var s = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : {}; if (n.length) { var l = n.reduce((function(e, n) { return e[Number(void 0 !== n.src && n.src === b.os.YZ)].push(n), e } ), [[], []]) , g = (0, i.Z)(l, 2) , p = g[0] , v = g[1] , h = []; v.forEach((function(e) { for (var n = -1, t = 0; t < h.length; ++t) if (e.uniquePbsTid === h[t].uniquePbsTid) { n = t; break } n <= -1 && h.push(e) } )); var y = 0; D.forEach((function(e) { if (e && h[y] && z(e).has(h[y].bidderCode)) { var n = (0, d.OI)(u, o ? { request: o.request.bind(null, "s2s"), done: o.done } : void 0) , i = e.bidders , f = R[e.adapter] , l = h[y].uniquePbsTid , g = h[y].adUnitsS2SCopy , p = v.filter((function(e) { return e.uniquePbsTid === l } )); if (f) { var w = { ad_units: g, s2sConfig: e, ortb2Fragments: s }; if (w.ad_units.length) { var E = p.map((function(e) { return e.start = (0, a.timestamp)(), function(n) { n || c(e.bidderRequestId), r.apply(e, arguments) } } )) , A = (0, a.getBidderCodes)(w.ad_units).filter((function(e) { return i.includes(e) } )); (0, a.logMessage)("CALLING S2S HEADER BIDDERS ==== ".concat(A.length > 0 ? A.join(", ") : 'No bidder specified, using "ortb2Imp" definition(s) only')), p.forEach((function(e) { m.emit(b.FP.BID_REQUESTED, S(S({}, e), {}, { tid: e.auctionId })) } )), f.callBids(w, v, t, (function(e) { return E.forEach((function(n) { return n(e) } )) } ), n) } } else (0, a.logError)("missing " + e.adapter); y++ } } )), p.forEach((function(e) { e.start = (0, a.timestamp)(); var n = R[e.bidderCode]; f.vc.runWithBidder(e.bidderCode, (function() { (0, a.logMessage)("CALLING BIDDER"), m.emit(b.FP.BID_REQUESTED, e) } )); var i = (0, d.OI)(u, o ? { request: o.request.bind(null, e.bidderCode), done: o.done } : void 0) , s = r.bind(e); try { f.vc.runWithBidder(e.bidderCode, n.callBids.bind(n, e, t, s, i, (function() { return c(e.bidderRequestId) } ), f.vc.callbackWithBidder(e.bidderCode))) } catch (n) { (0, a.logError)("".concat(e.bidderCode, " Bid Adapter emitted an uncaught error when parsing their bidRequest"), { e: n, bidRequest: e }), s() } } )) } else (0, a.logWarn)("callBids executed with no bidRequests. Were they filtered by labels or sizing?") } , U.videoAdapters = [], U.registerBidAdapter = function(e, n) { var t, r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, i = r.supportedMediaTypes, o = void 0 === i ? [] : i; e && n ? "function" == typeof e.callBids ? (R[n] = e, h.qh.register(E.UL, n, null === (t = e.getSpec) || void 0 === t ? void 0 : t.call(e).gvlid), (0, g.q9)(o, "video") && U.videoAdapters.push(n), (0, g.q9)(o, "native") && c.Sg.push(n)) : (0, a.logError)("Bidder adaptor error for bidder code: " + n + "bidder must implement a callBids() function") : (0, a.logError)("bidAdapter or bidderCode not specified") } , U.aliasBidAdapter = function(e, n, t) { if (void 0 === R[n]) { var r = R[e]; if (void 0 === r) { var i = []; D.forEach((function(t) { if (t.bidders && t.bidders.length) { var r = t && t.bidders; t && (0, g.q9)(r, n) ? P[n] = e : i.push(e) } } )), i.forEach((function(e) { (0, a.logError)('bidderCode "' + e + '" is not an existing bidder.', "adapterManager.aliasBidAdapter") } )) } else try { var o, u = function(e) { var n = []; return (0, g.q9)(U.videoAdapters, e) && n.push("video"), (0, g.q9)(c.Sg, e) && n.push("native"), n }(e); if (r.constructor.prototype != Object.prototype) (o = new r.constructor).setBidderCode(n); else { var d = r.getSpec() , f = t && t.gvlid; null != d.gvlid && null == f && (0, a.logWarn)("Alias '".concat(n, "' will NOT re-use the GVL ID of the original adapter ('").concat(d.code, "', gvlid: ").concat(d.gvlid, "). Functionality that requires TCF consent may not work as expected.")); var l = t && t.skipPbsAliasing; o = (0, s.PZ)(Object.assign({}, d, { code: n, gvlid: f, skipPbsAliasing: l })), P[n] = e } U.registerBidAdapter(o, n, { supportedMediaTypes: u }) } catch (n) { (0, a.logError)(e + " bidder does not currently support aliasing.", "adapterManager.aliasBidAdapter") } } else (0, a.logMessage)('alias name "' + n + '" has been already specified.') } , U.resolveAlias = function(e) { for (var n, t = e; P[t] && (!n || !n.has(t)); ) t = P[t], (n = n || new Set).add(t); return t } , U.registerAnalyticsAdapter = function(e) { var n = e.adapter , t = e.code , r = e.gvlid; n && t ? "function" == typeof n.enableAnalytics ? (n.code = t, Z[t] = { adapter: n, gvlid: r }, h.qh.register(E._U, t, r)) : (0, a.logError)('Prebid Error: Analytics adaptor error for analytics "'.concat(t, '"\n analytics adapter must implement an enableAnalytics() function')) : (0, a.logError)("Prebid Error: analyticsAdapter or analyticsCode not specified") } , U.enableAnalytics = function(e) { (0, a.isArray)(e) || (e = [e]), e.forEach((function(e) { var n = Z[e.provider]; n && n.adapter ? j.isAllowed(C.x$, q(E._U, e.provider, (0, o.Z)({}, I.Hw, e))) && n.adapter.enableAnalytics(e) : (0, a.logError)("Prebid Error: no analytics adapter found in registry for '".concat(e.provider, "'.")) } )) } , U.getBidAdapter = function(e) { return R[e] } , U.getAnalyticsAdapter = function(e) { return Z[e] } , U.callTimedOutBidders = function(e, n, t) { n = n.map((function(n) { return n.params = (0, a.getUserConfiguredParams)(e, n.adUnitCode, n.bidder), n.timeout = t, n } )), n = (0, a.groupBy)(n, "bidder"), Object.keys(n).forEach((function(e) { G(e, "onTimeout", n[e]) } )) } , U.callBidWonBidder = function(e, n, t) { n.params = (0, a.getUserConfiguredParams)(t, n.adUnitCode, n.bidder), p.f.incrementBidderWinsCounter(n.adUnitCode, n.bidder), G(e, "onBidWon", n) } , U.callBidBillableBidder = function(e) { G(e.bidder, "onBidBillable", e) } , U.callSetTargetingBidder = function(e, n) { G(e, "onSetTargeting", n) } , U.callBidViewableBidder = function(e, n) { G(e, "onBidViewable", n) } , U.callBidderError = function(e, n, t) { G(e, "onBidderError", { error: n, bidderRequest: t }) } , U.callDataDeletionRequest = (0, l.z3)("sync", (function() { for (var e = arguments.length, n = new Array(e), t = 0; t < e; t++) n[t] = arguments[t]; var o = "onDataDeletionRequest"; Object.keys(R).filter((function(e) { return !P.hasOwnProperty(e) } )).forEach((function(e) { var t = K(e, o); if (null != t) { var i = w.K.getBidsRequested().filter((function(n) { return V(n.bidderCode) === e } )); H.apply(void 0, [e, o].concat((0, r.Z)(t), [i], n)) } } )), Object.entries(Z).forEach((function(e) { var t, r = (0, i.Z)(e, 2), u = r[0], c = r[1], s = null == c || null === (t = c.adapter) || void 0 === t ? void 0 : t[o]; if ("function" == typeof s) try { s.apply(c.adapter, n) } catch (e) { (0, a.logError)("error calling ".concat(o, " of ").concat(u), e) } } )) } )), n.ZP = U }, 14699: function(e, n, t) { t.d(n, { BF: function() { return j }, JY: function() { return R }, PZ: function() { return S }, dX: function() { return O } }); var r = t(71002) , i = t(93324) , o = t(48525) , a = t(86104) , u = t(3193) , c = t(69626) , s = t(11974) , d = t(70059) , f = t(90154) , l = t(5644) , g = t(52021) , p = t(34614) , v = t(64358) , h = t(92797) , m = t(78653) , b = t(55975) , y = t(99128) , w = t(50571) , E = t(10286) , A = t(9633) , C = t(74947) , I = ["cpm", "ttl", "creativeId", "netRevenue", "currency"] , T = ["auctionId", "transactionId"]; function O(e) { var n = Array.isArray(e.supportedMediaTypes) ? { supportedMediaTypes: e.supportedMediaTypes } : void 0; function t(e) { var t = S(e); a.ZP.registerBidAdapter(t, e.code, n) } t(e), Array.isArray(e.aliases) && e.aliases.forEach((function(n) { var r, i, o = n; (0, v.isPlainObject)(n) && (o = n.code, r = n.gvlid, i = n.skipPbsAliasing), a.ZP.aliasRegistry[o] = e.code, t(Object.assign({}, e, { code: o, gvlid: r, skipPbsAliasing: i })) } )) } function S(e) { return Object.assign(new o.Z(e.code), { getSpec: function() { return Object.freeze(Object.assign({}, e)) }, registerSyncs: n, callBids: function(t, r, o, s, d, f) { if (Array.isArray(t.bids)) { var p = function(e) { if ((0, w.xD)(C.Jt, (0, E.T)(A.UL, e))) return { bidRequest: function(e) { return e }, bidderRequest: function(e) { return e } }; function n(e, n, t) { return T.includes(n) ? null : Reflect.get(e, n, t) } function t(e, n) { var t = new Proxy(e,n); return Object.entries(e).filter((function(e) { var n = (0, i.Z)(e, 2); return n[0], "function" == typeof n[1] } )).forEach((function(n) { var r = (0, i.Z)(n, 2) , o = r[0] , a = r[1]; return t[o] = a.bind(e) } )), t } var r = (0, v.memoize)((function(e) { return t(e, { get: n }) } ), (function(e) { return e.bidId } )); return { bidRequest: r, bidderRequest: function(e) { return t(e, { get: function(t, i, o) { return "bids" === i ? e.bids.map(r) : n(t, i, o) } }) } } }(t.bidderCode) , h = {} , m = [] , I = P(t).measureTime("validate", (function() { return t.bids.filter((function(n) { return function(n) { if (!e.isBidRequestValid(n)) return (0, v.logWarn)("Invalid bid sent to bidder ".concat(e.code, ": ").concat(JSON.stringify(n))), !1; return !0 }(p.bidRequest(n)) } )) } )); if (0 !== I.length) { var O = {}; I.forEach((function(e) { O[e.bidId] = e, e.adUnitCode || (e.adUnitCode = e.placementCode) } )), k(e, I.map(p.bidRequest), p.bidderRequest(t), s, f, { onRequest: function(e) { return g.emit(l.FP.BEFORE_BIDDER_HTTP, t, e) }, onResponse: function(n) { d(e.code), m.push(n) }, onPaapi: function(e) { var n = O[e.bidId]; n ? j(n, e.config) : (0, v.logWarn)("Received fledge auction configuration for an unknown bidId", e) }, onError: function(n, r) { r.timedOut || d(e.code), a.ZP.callBidderError(e.code, r, t), g.emit(l.FP.BIDDER_ERROR, { error: r, bidderRequest: t }), (0, v.logError)("Server call for ".concat(e.code, " failed: ").concat(n, " ").concat(r.status, ". Continuing without bids.")) }, onBid: function(n) { var t = O[n.requestId]; if (t) { if (n.adapterCode = t.bidder, function(e, n) { var t = b.S.get(n, "allowAlternateBidderCodes") || !1 , r = b.S.get(n, "allowedAlternateBidderCodes"); if (e && n && n !== e && (r = (0, v.isArray)(r) ? r.map((function(e) { return e.trim().toLowerCase() } )).filter((function(e) { return !!e } )).filter(v.uniques) : r, !t || (0, v.isArray)(r) && "*" !== r[0] && !r.includes(e))) return !0; return !1 }(n.bidderCode, t.bidder)) return (0, v.logWarn)("".concat(n.bidderCode, " is not a registered partner or known bidder of ").concat(t.bidder, ", hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings.")), void r.reject(t.adUnitCode, n, l.Gw.Dg); n.originalCpm = n.cpm, n.originalCurrency = n.currency, n.meta = n.meta || Object.assign({}, n[t.bidder]); var i = Object.assign((0, c.m)(l.Q_.Q, t), n, (0, v.pick)(t, T)); !function(e, n) { var t = (0, y.Bf)(n.metrics); t.checkpoint("addBidResponse"), h[e] = !0, t.measureTime("addBidResponse.validate", (function() { return R(e, n) } )) ? r(e, n) : r.reject(e, n, l.Gw.UI) }(t.adUnitCode, i) } else (0, v.logWarn)("Bidder ".concat(e.code, " made bid for unknown request ID: ").concat(n.requestId, ". Ignoring.")), r.reject(null, n, l.Gw.Gp) }, onCompletion: S }) } else S() } function S() { o(), u.vc.runWithBidder(e.code, (function() { g.emit(l.FP.BIDDER_DONE, t), n(m, t.gdprConsent, t.uspConsent, t.gppConsent) } )) } } }); function n(n, t, r, i) { B(e, n, t, r, i) } } var k = (0, h.z3)("sync", (function(e, n, t, i, o, a) { var u = a.onRequest , c = a.onResponse , s = a.onPaapi , d = a.onError , f = a.onBid , l = a.onCompletion , g = P(t); l = g.startTiming("total").stopBefore(l); var p = g.measureTime("buildRequests", (function() { return e.buildRequests(n, t) } )); if (p && 0 !== p.length) { Array.isArray(p) || (p = [p]); var h = (0, v.delayExecution)(l, p.length); p.forEach((function(n) { var t = g.fork(); function a(e) { null != e && (e.metrics = t.fork().renameWith()), f(e) } var l = o((function(r, i) { m(); try { r = JSON.parse(r) } catch (e) {} r = { body: r, headers: { get: i.getResponseHeader.bind(i) } }, c(r); try { r = t.measureTime("interpretResponse", (function() { return e.interpretResponse(r, n) } )) } catch (n) { return (0, v.logError)("Bidder ".concat(e.code, " failed to interpret the server's response. Continuing without bids"), null, n), void h() } var o; r && (0, v.isArray)(r.fledgeAuctionConfigs) ? (r.fledgeAuctionConfigs.forEach(s), o = r.bids) : o = r, o && ((0, v.isArray)(o) ? o.forEach(a) : a(o)), h() } )) , p = o((function(e, n) { m(), d(e, n), h() } )); u(n); var m = t.startTiming("net"); function y(t) { var r, i = n.options; return Object.assign(t, i, { browsingTopics: !(null != i && i.hasOwnProperty("browsingTopics") && !i.browsingTopics) && ((null === (r = b.S.get(e.code, "topicsHeader")) || void 0 === r || r) && (0, w.xD)(C.oK, (0, E.T)(A.UL, e.code))) }) } switch (n.method) { case "GET": i("".concat(n.url).concat(function(e) { if (e) return "?".concat("object" === (0, r.Z)(e) ? (0, v.parseQueryStringParameters)(e) : e); return "" }(n.data)), { success: l, error: p }, void 0, y({ method: "GET", withCredentials: !0 })); break; case "POST": i(n.url, { success: l, error: p }, "string" == typeof n.data ? n.data : JSON.stringify(n.data), y({ method: "POST", contentType: "text/plain", withCredentials: !0 })); break; default: (0, v.logWarn)("Skipping invalid request from ".concat(e.code, ". Request type ").concat(n.type, " must be GET or POST")), h() } } )) } else l() } ), "processBidderRequests") , B = (0, h.z3)("async", (function(e, n, t, r, i) { var o = u.vc.getConfig("userSync.aliasSyncEnabled"); if (e.getUserSyncs && (o || !a.ZP.aliasRegistry[e.code])) { var c = u.vc.getConfig("userSync.filterSettings") , d = e.getUserSyncs({ iframeEnabled: !(!c || !c.iframe && !c.all), pixelEnabled: !(!c || !c.image && !c.all) }, n, t, r, i); d && (Array.isArray(d) || (d = [d]), d.forEach((function(n) { s.k_.registerSync(n.type, e.code, n.url) } )), s.k_.bidderDone(e.code)) } } ), "registerSyncs"), j = (0, h.z3)("sync", (function(e, n) {} ), "addComponentAuction"); function U(e, n) { var t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {} , r = t.index , o = void 0 === r ? m.K.index : r; if ((n.width || 0 === parseInt(n.width, 10)) && (n.height || 0 === parseInt(n.height, 10))) return n.width = parseInt(n.width, 10), n.height = parseInt(n.height, 10), !0; var a = o.getBidRequest(n) , u = o.getMediaTypes(n) , c = a && a.sizes || u && u.banner && u.banner.sizes , s = (0, v.parseSizesInput)(c); if (1 === s.length) { var d = s[0].split("x") , f = (0, i.Z)(d, 2) , l = f[0] , g = f[1]; return n.width = parseInt(l, 10), n.height = parseInt(g, 10), !0 } return !1 } function R(e, n) { var t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {} , r = t.index , i = void 0 === r ? m.K.index : r; function o() { var e = Object.keys(n); return I.every((function(t) { return (0, p.q9)(e, t) && !(0, p.q9)([void 0, null], n[t]) } )) } function a(e) { return "Invalid bid from ".concat(n.bidderCode, ". Ignoring bid: ").concat(e) } return e ? n ? o() ? "native" !== n.mediaType || (0, d.r4)(n, { index: i }) ? "video" !== n.mediaType || (0, f.Dn)(n, { index: i }) ? !("banner" === n.mediaType && !U(e, n, { index: i })) || ((0, v.logError)(a("Banner bids require a width and height")), !1) : ((0, v.logError)(a("Video bid does not have required vastUrl or renderer property")), !1) : ((0, v.logError)(a("Native bid missing some required properties.")), !1) : ((0, v.logError)(a("Bidder ".concat(n.bidderCode, " is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params."))), !1) : ((0, v.logWarn)("Some adapter tried to add an undefined bid for ".concat(e, ".")), !1) : ((0, v.logWarn)("No adUnitCode was supplied to addBidResponse."), !1) } function P(e) { return (0, y.Bf)(e.metrics).renameWith((function(n) { return ["adapter.client.".concat(n), "adapters.client.".concat(e.bidderCode, ".").concat(n)] } )) } }, 55730: function(e, n, t) { t.d(n, { B: function() { return u } }); var r = t(34614) , i = t(64358) , o = new WeakMap , a = ["debugging", "adloox", "criteo", "outstream", "adagio", "spotx", "browsi", "brandmetrics", "justtag", "tncId", "akamaidap", "ftrackId", "inskin", "hadron", "medianet", "improvedigital", "azerionedge", "aaxBlockmeter", "confiant", "arcspan", "airgrid", "clean.io", "a1Media", "geoedge", "mediafilter", "qortex", "dynamicAdBoost", "contxtful", "id5", "lucead"]; function u(e, n, t, u, c) { if (n && e) { if ((0, r.q9)(a, n)) { u || (u = document); var s = l(u, e); if (s) return t && "function" == typeof t && (s.loaded ? t() : s.callbacks.push(t)), s.tag; var d = o.get(u) || {} , f = { loaded: !1, tag: null, callbacks: [] }; return d[e] = f, o.set(u, d), t && "function" == typeof t && f.callbacks.push(t), (0, i.logWarn)("module ".concat(n, " is loading external JavaScript")), function(n, t, r, o) { r || (r = document); var a = r.createElement("script"); a.type = "text/javascript", a.async = !0; var u = l(r, e); u && (u.tag = a); a.readyState ? a.onreadystatechange = function() { "loaded" !== a.readyState && "complete" !== a.readyState || (a.onreadystatechange = null, t()) } : a.onload = function() { t() } ; a.src = n, o && (0, i.setScriptAttributes)(a, o); return (0, i.insertElement)(a, r), a }(e, (function() { f.loaded = !0; try { for (var e = 0; e < f.callbacks.length; e++) f.callbacks[e]() } catch (e) { (0, i.logError)("Error executing callback", "adloader.js:loadExternalScript", e) } } ), u, c) } (0, i.logError)("".concat(n, " not whitelisted for loading external JavaScript")) } else (0, i.logError)("cannot load external script without url and moduleCode"); function l(e, n) { var t = o.get(e); return t && t[n] ? t[n] : null } } }, 48928: function(e, n, t) { t.d(n, { OI: function() { return v }, he: function() { return m }, hj: function() { return h } }); var r = t(93324) , i = t(71002) , o = t(3193) , a = t(64358) , u = { fetch: window.fetch.bind(window), makeRequest: function(e, n) { return new Request(e,n) }, timeout: function(e, n) { var t = new AbortController , r = setTimeout((function() { t.abort(), (0, a.logError)("Request timeout after ".concat(e, "ms"), n), r = null } ), e); return { signal: t.signal, done: function() { r && clearTimeout(r) } } } } , c = "GET" , s = "POST" , d = "Content-Type"; function f(e, n) { var t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {} , r = t.method || (n ? s : c); if (r === c && n) { var i = (0, a.parseUrl)(e, t); Object.assign(i.search, n), e = (0, a.buildUrl)(i) } var o = new Headers(t.customHeaders); o.set(d, t.contentType || "text/plain"); var f = { method: r, headers: o }; return r !== c && n && (f.body = n), t.withCredentials && (f.credentials = "include"), t.browsingTopics && isSecureContext && (f.browsingTopics = !0), u.makeRequest(e, f) } function l() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 3e3 , n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {} , t = n.request , r = n.done , i = function(n, t) { var r, i, a; null == e || null != (null === (r = t) || void 0 === r ? void 0 : r.signal) || o.vc.getConfig("disableAjaxTimeout") || (a = u.timeout(e, n), t = Object.assign({ signal: a.signal }, t)); var c = u.fetch(n, t); return null != (null === (i = a) || void 0 === i ? void 0 : i.done) && (c = c.finally(a.done)), c }; return null == t && null == r || (i = function(e) { return function(n, i) { var o = new URL(null == (null == n ? void 0 : n.url) ? n : n.url,document.location).origin , a = e(n, i); return t && t(o), r && (a = a.finally((function() { return r(o) } ))), a } }(i)), i } function g(e, n) { var t = e.status , r = e.statusText , i = void 0 === r ? "" : r , o = e.headers , u = e.url , c = 0; function s(e) { if (0 === c) try { var t, r; c = (new DOMParser).parseFromString(n, null == o || null === (t = o.get(d)) || void 0 === t || null === (r = t.split(";")) || void 0 === r ? void 0 : r[0]) } catch (n) { c = null, e && e(n) } return c } return { readyState: XMLHttpRequest.DONE, status: t, statusText: i, responseText: n, response: n, responseType: "", responseURL: u, get responseXML() { return s(a.logError) }, getResponseHeader: function(e) { return null != o && o.has(e) ? o.get(e) : null }, toJSON: function() { return Object.assign({ responseXML: s() }, this) }, timedOut: !1 } } function p(e, n) { var t = "object" === (0, i.Z)(n) && null != n ? n : { success: "function" == typeof n ? n : function() { return null } , error: function(e, n) { return (0, a.logError)("Network error", e, n) } } , o = t.success , u = t.error; e.then((function(e) { return e.text().then((function(n) { return [e, n] } )) } )).then((function(e) { var n = (0, r.Z)(e, 2) , t = n[0] , i = n[1] , a = g(t, i); t.ok || 304 === t.status ? o(i, a) : u(t.statusText, a) } ), (function(e) { return u("", Object.assign(g({ status: 0 }, ""), { reason: e, timedOut: "AbortError" === (null == e ? void 0 : e.name) })) } )) } function v() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 3e3 , n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {} , t = n.request , r = n.done , i = l(e, { request: t, done: r }); return function(e, n, t) { var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}; p(i(f(e, t, r)), n) } } var h = v() , m = l() }, 25686: function(e, n, t) { t.d(n, { LX: function() { return Q }, RH: function() { return G }, Yt: function() { return P }, Yw: function() { return O }, dg: function() { return V }, e0: function() { return Z }, lU: function() { return x }, mv: function() { return S }, vO: function() { return R } }); var r = t(71002) , i = t(64358) , o = t(20265) , a = t(56463) , u = t(70059) , c = t(79885) , s = t(35706) , d = t(3193) , f = t(11974) , l = t(92797) , g = t(34614) , p = t(90154) , v = t(24679) , h = t(78653) , m = t(55975) , b = t(52021) , y = t(86104) , w = t(5644) , E = t(68792) , A = t(99128) , C = t(36066) , I = t(78640) , T = f.k_.syncUsers , O = "inProgress" , S = "completed"; b.on(w.FP.BID_ADJUSTMENT, (function(e) { !function(e) { var n = (0, C.O)(e.cpm, e); n >= 0 && (e.cpm = n) }(e) } )); var k = {} , B = {} , j = [] , U = (0, I.R)(); function R(e) { var n = e.adUnits , t = e.adUnitCodes , r = e.callback , o = e.cbTimeout , a = e.labels , c = e.auctionId , s = e.ortb2Fragments , f = e.metrics; f = (0, A.Bf)(f); var l, p, m, C, I = n, R = a, N = t, M = c || (0, i.generateUUID)(), W = o, F = new Set, z = (0, E.P)(), H = [], G = r, V = [], J = [], Q = [], X = [], Y = []; function ee() { return { auctionId: M, timestamp: l, auctionEnd: p, auctionStatus: C, adUnits: I, adUnitCodes: N, labels: R, bidderRequests: V, noBids: Q, bidsReceived: J, bidsRejected: H, winningBids: X, timeout: W, metrics: f, seatNonBids: Y } } function ne(e) { if (e ? b.emit(w.FP.AUCTION_TIMEOUT, ee()) : clearTimeout(m), void 0 === p) { var t = []; e && ((0, i.logMessage)("Auction ".concat(M, " timedOut")), (t = V.filter((function(e) { return !F.has(e.bidderRequestId) } )).flatMap((function(e) { return e.bids } ))).length && b.emit(w.FP.BID_TIMEOUT, t)), C = S, p = Date.now(), f.checkpoint("auctionEnd"), f.timeBetween("requestBids", "auctionEnd", "requestBids.total"), f.timeBetween("callBids", "auctionEnd", "requestBids.callBids"), z.resolve(), b.emit(w.FP.AUCTION_END, ee()), q(I, (function() { try { if (null != G) { var r = J.filter((function(e) { return N.includes(e.adUnitCode) } )).reduce($, {}); G.apply(U, [r, e, M]), G = null } } catch (e) { (0, i.logError)("Error executing bidsBackHandler", null, e) } finally { t.length && y.ZP.callTimedOutBidders(n, t, W); var o = d.vc.getConfig("userSync") || {}; o.enableOverride || T(o.syncDelay) } } )) } } function te() { d.vc.resetBidder(), (0, i.logInfo)("Bids Received for Auction with id: ".concat(M), J), C = S, ne(!1) } function re(e) { F.add(e) } function ie(e) { var n = this; e.forEach((function(e) { var n; n = e, V = V.concat(n) } )); var t = {} , r = { bidRequests: e, run: function() { m = setTimeout((function() { return ne(!0) } ), W), C = O, b.emit(w.FP.AUCTION_INIT, ee()); var r = function(e, n) { var t = (arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}).index , r = void 0 === t ? h.K.index : t , o = 0 , a = !1 , c = new Set , s = {}; function f() { o--, a && 0 === o && e() } function l(e, n, t) { return s[n.requestId] = !0, L(n, e), o++, t(f) } function p(e, t) { l(e, t, (function(e) { var i = K(t); b.emit(w.FP.BID_ACCEPTED, i), i.mediaType === v.pX ? _(n, i, e) : ((0, u.ub)(i) && (0, u.kH)(i, r.getAdUnit(i)), x(n, i), e()) } )) } function m(e, t, r) { return l(e, t, (function(e) { t.rejectionReason = r, (0, i.logWarn)("Bid from ".concat(t.bidder || "unknown bidder", " was rejected: ").concat(r), t), b.emit(w.FP.BID_REJECTED, t), n.addBidRejected(t), e() } )) } function y() { var t = this , r = n.getBidRequests() , u = d.vc.getConfig("auctionOptions"); if (c.add(t), u && !(0, i.isEmpty)(u)) { var f = u.secondaryBidders; f && !r.every((function(e) { return (0, g.q9)(f, e.bidderCode) } )) && (r = r.filter((function(e) { return !(0, g.q9)(f, e.bidderCode) } ))) } a = r.every((function(e) { return c.has(e) } )), t.bids.forEach((function(e) { s[e.bidId] || (n.addNoBid(e), b.emit(w.FP.NO_BID, e)) } )), a && 0 === o && e() } return { addBidResponse: function() { function e(e, n) { var t; P.call({ dispatch: p }, e, n, (t = !1, function(r) { t || (m(e, n, r), t = !0) } )) } return e.reject = m, e }(), adapterDone: function() { var e = this; D(E.Z.resolve()).finally((function() { return y.call(e) } )) } } }(te, n); y.ZP.callBids(I, e, r.addBidResponse, r.adapterDone, { request: function(e, n) { a(k, n), a(t, e), B[e] || (B[e] = { SRA: !0, origin: n }), t[e] > 1 && (B[e].SRA = !1) }, done: function(e) { k[e]--, j[0] && o(j[0]) && j.shift() } }, W, re, s) } }; function o(e) { var n = !0 , t = d.vc.getConfig("maxRequestsPerOrigin") || 4; return e.bidRequests.some((function(e) { var r = 1 , i = void 0 !== e.src && e.src === w.os.YZ ? "s2s" : e.bidderCode; return B[i] && (!1 === B[i].SRA && (r = Math.min(e.bids.length, t)), k[B[i].origin] + r > t && (n = !1)), !n } )), n && e.run(), n } function a(e, n) { void 0 === e[n] ? e[n] = 1 : e[n]++ } o(r) || ((0, i.logWarn)("queueing auction due to limited endpoint capacity"), j.push(r)) } return b.on(w.FP.SEAT_NON_BID, (function(e) { var n; e.auctionId === M && (n = e.seatnonbid, Y = Y.concat(n)) } )), { addBidReceived: function(e) { J = J.concat(e) }, addBidRejected: function(e) { H = H.concat(e) }, addNoBid: function(e) { Q = Q.concat(e) }, callBids: function() { C = "started", l = Date.now(); var e = f.measureTime("requestBids.makeRequests", (function() { return y.ZP.makeBidRequests(I, l, M, W, R, s, f) } )); (0, i.logInfo)("Bids Requested for Auction with id: ".concat(M), e), f.checkpoint("callBids"), e.length < 1 ? ((0, i.logWarn)("No valid bid requests returned for auction"), te()) : Z.call({ dispatch: ie, context: this }, e) }, addWinningBid: function(e) { var t = n.find((function(n) { return n.adUnitId === e.adUnitId } )); X = X.concat(e), (0, i.callBurl)(e), y.ZP.callBidWonBidder(e.adapterCode || e.bidder, e, n), t && !t.deferBilling && y.ZP.callBidBillableBidder(e) }, setBidTargeting: function(e) { y.ZP.callSetTargetingBidder(e.adapterCode || e.bidder, e) }, getWinningBids: function() { return X }, getAuctionStart: function() { return l }, getAuctionEnd: function() { return p }, getTimeout: function() { return W }, getAuctionId: function() { return M }, getAuctionStatus: function() { return C }, getAdUnits: function() { return I }, getAdUnitCodes: function() { return N }, getBidRequests: function() { return V }, getBidsReceived: function() { return J }, getNoBids: function() { return Q }, getNonBids: function() { return Y }, getFPD: function() { return s }, getMetrics: function() { return f }, end: z.promise } } var P = (0, l.z3)("sync", (function(e, n, t) { this.dispatch.call(null, e, n) } ), "addBidResponse") , D = (0, l.z3)("sync", (function(e) { return e } ), "responsesReady") , Z = (0, l.z3)("sync", (function(e) { this.dispatch.call(this.context, e) } ), "addBidderRequests") , q = (0, l.z3)("async", (function(e, n) { n && n() } ), "bidsBackCallback"); function x(e, n) { !function(e) { var n, t = !0 === m.S.get(e.bidderCode, "allowZeroCpmBids") ? e.cpm >= 0 : e.cpm > 0; e.bidderCode && (t || e.dealId) && (n = function(e, n) { var t = (arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}).index , r = void 0 === t ? h.K.index : t; if (!n) return {}; var i = r.getBidRequest(n) , o = {} , a = Q(n.mediaType, e); X(o, a, n, i), e && m.S.getOwn(e, w.k2.xn) && (X(o, m.S.ownSettingsFor(e), n, i), n.sendStandardTargeting = m.S.get(e, "sendStandardTargeting")); n.native && (o = Object.assign({}, o, (0, u.Ur)(n))); return o }(e.bidderCode, e)); e.adserverTargeting = Object.assign(e.adserverTargeting || {}, n) }(n), (0, A.Bf)(n.metrics).timeSince("addBidResponse", "addBidResponse.total"), e.addBidReceived(n), b.emit(w.FP.BID_RESPONSE, n) } function _(e, n, t) { var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {} , a = r.index , u = void 0 === a ? h.K.index : a , c = !0 , s = (0, o.Z)(u.getMediaTypes({ requestId: n.originalRequestId || n.requestId, adUnitId: n.adUnitId }), "video") , f = s && (0, o.Z)(s, "context") , l = s && (0, o.Z)(s, "useCacheKey"); d.vc.getConfig("cache.url") && (l || f !== p.gZ) && (!n.videoCacheKey || d.vc.getConfig("cache.ignoreBidderCacheKey") ? (c = !1, z(e, n, t, s)) : n.vastUrl || ((0, i.logError)("videoCacheKey specified but not required vastUrl for video bid"), c = !1)), c && (x(e, n), t()) } var N, M, W = function(e) { (0, c.h)(e.map((function(e) { return e.bidResponse } )), (function(n, t) { t.forEach((function(t, r) { var o = e[r] , a = o.auctionInstance , u = o.bidResponse , s = o.afterBidAdded; n ? (0, i.logWarn)("Failed to save to the video cache: ".concat(n, ". Video bid must be discarded.")) : "" === t.uuid ? (0, i.logWarn)("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded.") : (u.videoCacheKey = t.uuid, u.vastUrl || (u.vastUrl = (0, c.z)(u.videoCacheKey)), x(a, u), s()) } )) } )) }; d.vc.getConfig("cache", (function(e) { N = "number" == typeof e.cache.batchSize && e.cache.batchSize > 0 ? e.cache.batchSize : 1, M = "number" == typeof e.cache.batchTimeout && e.cache.batchTimeout > 0 ? e.cache.batchTimeout : 0 } )); var F = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : setTimeout , n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : W , t = [[]] , r = !1 , i = function(e) { return e() }; return function(o, a, u) { var c = M > 0 ? e : i; t[t.length - 1].length >= N && t.push([]), t[t.length - 1].push({ auctionInstance: o, bidResponse: a, afterBidAdded: u }), r || (r = !0, c((function() { t.forEach(n), t = [[]], r = !1 } ), M)) } }() , z = (0, l.z3)("async", (function(e, n, t, r) { F(e, n, t) } ), "callPrebidCache"); function L(e, n) { var t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {} , r = t.index , o = void 0 === r ? h.K.index : r , a = o.getBidderRequest(e) , u = o.getAdUnit(e) , c = a && a.start || e.requestTimestamp; Object.assign(e, { responseTimestamp: e.responseTimestamp || (0, i.timestamp)(), requestTimestamp: e.requestTimestamp || c, cpm: parseFloat(e.cpm) || 0, bidder: e.bidder || e.bidderCode, adUnitCode: n }), null != (null == u ? void 0 : u.ttlBuffer) && (e.ttlBuffer = u.ttlBuffer), e.timeToRespond = e.responseTimestamp - e.requestTimestamp } function K(e) { var n, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, i = t.index, o = void 0 === i ? h.K.index : i; b.emit(w.FP.BID_ADJUSTMENT, e); var u = (null === (n = o.getBidRequest(e)) || void 0 === n ? void 0 : n.renderer) || o.getAdUnit(e).renderer , c = e.mediaType , f = o.getMediaTypes(e) , l = f && f[c] , g = l && l.renderer , p = null; g && g.url && g.render && (!0 !== g.backupOnly || !e.renderer) ? p = g : u && u.url && u.render && (!0 !== u.backupOnly || !e.renderer) && (p = u), p && (e.renderer = s.Th.install({ url: p.url, config: p.options }), e.renderer.setRender(p.render)); var v = H(e.mediaType, f, d.vc.getConfig("mediaTypePriceGranularity")) , m = (0, a.D)(e.cpm, "object" === (0, r.Z)(v) ? v : d.vc.getConfig("customPriceBucket"), d.vc.getConfig("currency.granularityMultiplier")); return e.pbLg = m.low, e.pbMg = m.med, e.pbHg = m.high, e.pbAg = m.auto, e.pbDg = m.dense, e.pbCg = m.custom, e } function H(e, n, t) { if (e && t) { if (e === v.pX) { var r = (0, o.Z)(n, "".concat(v.pX, ".context"), "instream"); if (t["".concat(v.pX, "-").concat(r)]) return t["".concat(v.pX, "-").concat(r)] } return t[e] } } var G = function(e) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {} , t = n.index , r = void 0 === t ? h.K.index : t , i = H(e.mediaType, r.getMediaTypes(e), d.vc.getConfig("mediaTypePriceGranularity")) , o = "string" == typeof e.mediaType && i ? "string" == typeof i ? i : "custom" : d.vc.getConfig("priceGranularity"); return o } , V = function(e) { return function(n) { var t = e || G(n); return t === w.Ql.B7 ? n.pbAg : t === w.Ql.uN ? n.pbDg : t === w.Ql.yE ? n.pbLg : t === w.Ql.M2 ? n.pbMg : t === w.Ql.lj ? n.pbHg : t === w.Ql.qN ? n.pbCg : void 0 } }; function J(e, n) { return { key: e, val: "function" == typeof n ? function(e, t) { return n(e, t) } : function(e) { return (0, i.getValue)(e, n) } } } function Q(e, n) { var t = w.TD , r = Object.assign({}, m.S.settingsFor(null)); if (r[w.k2.xn] || (r[w.k2.xn] = function() { var e = w.TD; return [J(e.BIDDER, "bidderCode"), J(e.AD_ID, "adId"), J(e.PRICE_BUCKET, V()), J(e.SIZE, "size"), J(e.DEAL, "dealId"), J(e.SOURCE, "source"), J(e.FORMAT, "mediaType"), J(e.ADOMAIN, (function(e) { return e.meta && e.meta.advertiserDomains && e.meta.advertiserDomains.length > 0 ? [e.meta.advertiserDomains].flat()[0] : "" } )), J(e.ACAT, (function(e) { return e.meta && e.meta.primaryCatId ? e.meta.primaryCatId : "" } )), J(e.DSP, (function(e) { return e.meta && (e.meta.networkId || e.meta.networkName) ? (0, o.Z)(e, "meta.networkName") || (0, o.Z)(e, "meta.networkId") : "" } )), J(e.CRID, (function(e) { return e.creativeId ? e.creativeId : "" } ))] }()), "video" === e) { var a = r[w.k2.xn].slice(); if (r[w.k2.xn] = a, [t.UUID, t.CACHE_ID].forEach((function(e) { void 0 === (0, g.sE)(a, (function(n) { return n.key === e } )) && a.push(J(e, "videoCacheKey")) } )), d.vc.getConfig("cache.url") && (!n || !1 !== m.S.get(n, "sendStandardTargeting"))) { var u = (0, i.parseUrl)(d.vc.getConfig("cache.url")); void 0 === (0, g.sE)(a, (function(e) { return e.key === t.CACHE_HOST } )) && a.push(J(t.CACHE_HOST, (function(e) { return (0, o.Z)(e, "adserverTargeting.".concat(t.CACHE_HOST)) ? e.adserverTargeting[t.CACHE_HOST] : u.hostname } ))) } } return r } function X(e, n, t, r) { var o = n[w.k2.xn]; return t.size = t.getSize(), (o || []).forEach((function(o) { var a = o.key , u = o.val; if (e[a] && (0, i.logWarn)("The key: " + a + " is being overwritten"), (0, i.isFn)(u)) try { u = u(t, r) } catch (e) { (0, i.logError)("bidmanager", "ERROR", e) } (void 0 === n.suppressEmptyKeys || !0 !== n.suppressEmptyKeys) && a !== w.TD.DEAL && a !== w.TD.ACAT && a !== w.TD.DSP && a !== w.TD.CRID || !(0, i.isEmptyStr)(u) && null != u ? e[a] = u : (0, i.logInfo)("suppressing empty key '" + a + "' from adserver targeting") } )), e } function $(e, n) { return e[n.adUnitCode] || (e[n.adUnitCode] = { bids: [] }), e[n.adUnitCode].bids.push(n), e } }, 78653: function(e, n, t) { t.d(n, { K: function() { return h } }); var r = t(93324) , i = t(89062) , o = t(64358) , a = t(25686); function u(e) { Object.assign(this, { getAuction: function(n) { var t = n.auctionId; if (null != t) return e().find((function(e) { return e.getAuctionId() === t } )) }, getAdUnit: function(n) { var t = n.adUnitId; if (null != t) return e().flatMap((function(e) { return e.getAdUnits() } )).find((function(e) { return e.adUnitId === t } )) }, getMediaTypes: function(e) { var n = e.adUnitId , t = e.requestId; if (null != t) { var r = this.getBidRequest({ requestId: t }); if (null != r && (null == n || r.adUnitId === n)) return r.mediaTypes } else if (null != n) { var i = this.getAdUnit({ adUnitId: n }); if (null != i) return i.mediaTypes } }, getBidderRequest: function(n) { var t = n.requestId , r = n.bidderRequestId; if (null != t || null != r) { var i = e().flatMap((function(e) { return e.getBidRequests() } )); return null != r && (i = i.filter((function(e) { return e.bidderRequestId === r } ))), null == t ? i[0] : i.find((function(e) { return e.bids && null != e.bids.find((function(e) { return e.bidId === t } )) } )) } }, getBidRequest: function(n) { var t = n.requestId; if (null != t) return e().flatMap((function(e) { return e.getBidRequests() } )).flatMap((function(e) { return e.bids } )).find((function(e) { return e && e.bidId === t } )) } }) } var c = t(5644) , s = t(99128) , d = t(10613) , f = t(8833) , l = t(3193); function g(e, n) { var t = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!t) { if (Array.isArray(e) || (t = function(e, n) { if (!e) return; if ("string" == typeof e) return p(e, n); 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 p(e, n) }(e)) || n && e && "number" == typeof e.length) { t && (e = t); var r = 0 , i = function() {}; return { s: i, n: function() { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } }, e: function(e) { throw e }, f: i } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, a = !0, u = !1; return { s: function() { t = t.call(e) }, n: function() { var e = t.next(); return a = e.done, e }, e: function(e) { u = !0, o = e }, f: function() { try { a || null == t.return || t.return() } finally { if (u) throw o } } } } function p(e, n) { (null == n || n > e.length) && (n = e.length); for (var t = 0, r = new Array(n); t < n; t++) r[t] = e[t]; return r } var v = "minBidCacheTTL"; var h = function() { var e = null , n = (0, d.Z)({ startTime: function(e) { return e.end.then((function() { return e.getAuctionEnd() } )) }, ttl: function(n) { return null == e ? null : n.end.then((function() { return 1e3 * Math.max.apply(Math, [e].concat((0, i.Z)(n.getBidsReceived().map(f.N)))) } )) } }); (0, f.l)((function() { null != e && n.refresh() } )), l.vc.getConfig(v, (function(t) { e !== (e = "number" == typeof (e = null == t ? void 0 : t.minBidCacheTTL) ? e : null) && n.refresh() } )); var t = { onExpiry: n.onExpiry }; function p(e) { var t, r = g(n); try { for (r.s(); !(t = r.n()).done; ) { var i = t.value; if (i.getAuctionId() === e) return i } } catch (e) { r.e(e) } finally { r.f() } } function h() { return n.toArray().flatMap((function(e) { return e.getBidsReceived() } )) } return t.addWinningBid = function(e) { var n = (0, s.Bf)(e.metrics); n.checkpoint("bidWon"), n.timeBetween("auctionEnd", "bidWon", "render.pending"), n.timeBetween("requestBids", "bidWon", "render.e2e"); var t = p(e.auctionId); t ? (e.status = c.UE.fe, t.addWinningBid(e)) : (0, o.logWarn)("Auction not found when adding winning bid") } , Object.entries({ getAllWinningBids: { name: "getWinningBids" }, getBidsRequested: { name: "getBidRequests" }, getNoBids: {}, getAdUnits: {}, getBidsReceived: { pre: function(e) { return e.getAuctionStatus() === a.mv } }, getAdUnitCodes: { post: o.uniques } }).forEach((function(e) { var i = (0, r.Z)(e, 2) , o = i[0] , a = i[1] , u = a.name , c = void 0 === u ? o : u , s = a.pre , d = a.post , f = null == s ? function(e) { return e[c]() } : function(e) { return s(e) ? e[c]() : [] } , l = null == d ? function(e) { return e } : function(e) { return e.filter(d) } ; t[o] = function() { return l(n.toArray().flatMap(f)) } } )), t.getAllBidsForAdUnitCode = function(e) { return h().filter((function(n) { return n && n.adUnitCode === e } )) } , t.createAuction = function(e) { var t = (0, a.vO)(e); return function(e) { n.add(e) }(t), t } , t.findBidByAdId = function(e) { return h().find((function(n) { return n.adId === e } )) } , t.getStandardBidderAdServerTargeting = function() { return (0, a.LX)()[c.k2.xn] } , t.setStatusForBids = function(e, n) { var r = t.findBidByAdId(e); if (r && (r.status = n), r && n === c.UE.CK) { var i = p(r.auctionId); i && i.setBidTargeting(r) } } , t.getLastAuctionId = function() { var e = n.toArray(); return e.length && e[e.length - 1].getAuctionId() } , t.clearAllAuctions = function() { n.clear() } , t.index = new u((function() { return n.toArray() } )), t }() }, 8833: function(e, n, t) { t.d(n, { N: function() { return u }, l: function() { return c } }); var r = t(3193) , i = t(64358) , o = 1 , a = []; function u(e) { return e.ttl - (e.hasOwnProperty("ttlBuffer") ? e.ttlBuffer : o) } function c(e) { a.push(e) } r.vc.getConfig("ttlBuffer", (function(e) { "number" == typeof e.ttlBuffer ? o !== (o = e.ttlBuffer) && a.forEach((function(e) { return e(o) } )) : (0, i.logError)("Invalid value for ttlBuffer", e.ttlBuffer) } )) }, 55975: function(e, n, t) { t.d(n, { S: function() { return g } }); var r = t(15671) , i = t(43144) , o = t(20265) , a = t(64358) , u = t(78640) , c = t(5644); function s(e, n) { !function(e, n) { if (n.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object") }(e, n), n.add(e) } function d(e, n, t) { if (!n.has(e)) throw new TypeError("attempted to get private field on non-instance"); return t } var f = new WeakSet; function l(e) { return null == e ? this.defaultScope : e } var g = new (function() { function e(n, t) { (0, r.Z)(this, e), s(this, f), this.getSettings = n, this.defaultScope = t } return (0, i.Z)(e, [{ key: "get", value: function(e, n) { var t = this.getOwn(e, n); return void 0 === t && (t = this.getOwn(null, n)), t } }, { key: "getOwn", value: function(e, n) { return e = d(this, f, l).call(this, e), (0, o.Z)(this.getSettings(), "".concat(e, ".").concat(n)) } }, { key: "getScopes", value: function() { var e = this; return Object.keys(this.getSettings()).filter((function(n) { return n !== e.defaultScope } )) } }, { key: "settingsFor", value: function(e) { return (0, a.mergeDeep)({}, this.ownSettingsFor(null), this.ownSettingsFor(e)) } }, { key: "ownSettingsFor", value: function(e) { return e = d(this, f, l).call(this, e), this.getSettings()[e] || {} } }]), e }())((function() { return (0, u.R)().bidderSettings || {} } ),c.k2.zF) }, 69626: function(e, n, t) { t.d(n, { m: function() { return o } }); var r = t(64358); function i(e) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {} , t = n.src , i = void 0 === t ? "client" : t , o = n.bidder , a = void 0 === o ? "" : o , u = n.bidId , c = n.transactionId , s = n.adUnitId , d = n.auctionId , f = i , l = e || 0; function g() { switch (l) { case 0: return "Pending"; case 1: return "Bid available"; case 2: return "Bid returned empty or error response"; case 3: return "Bid timed out" } } Object.assign(this, { bidderCode: a, width: 0, height: 0, statusMessage: g(), adId: (0, r.getUniqueIdentifierStr)(), requestId: u, transactionId: c, adUnitId: s, auctionId: d, mediaType: "banner", source: f }), this.getStatusCode = function() { return l } , this.getSize = function() { return this.width + "x" + this.height } , this.getIdentifiers = function() { return { src: this.source, bidder: this.bidderCode, bidId: this.requestId, transactionId: this.transactionId, adUnitId: this.adUnitId, auctionId: this.auctionId } } } function o(e, n) { return new i(e,n) } }, 3193: function(e, n, t) { t.d(n, { FD: function() { return g }, vc: function() { return b } }); var r = t(4942) , i = t(71002) , o = t(93324) , a = t(56463) , u = t(34614) , c = t(64358) , s = t(20265) , d = t(5644); function f(e, n) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var r = Object.getOwnPropertySymbols(e); n && (r = r.filter((function(n) { return Object.getOwnPropertyDescriptor(e, n).enumerable } ))), t.push.apply(t, r) } return t } var l = "TRUE" === (0, c.getParameterByName)(d.f).toUpperCase() , g = "random" , p = {}; p[g] = !0, p.fixed = !0; var v = g , h = { LOW: "low", MEDIUM: "medium", HIGH: "high", AUTO: "auto", DENSE: "dense", CUSTOM: "custom" } , m = "*"; var b = function() { var e, n, t, d = [], g = null; function b() { function r(e) { return s[e].val } function i(e, n) { s[e].val = n } e = {}; var s = { publisherDomain: { set: function(e) { null != e && (0, c.logWarn)("publisherDomain is deprecated and has no effect since v7 - use pageUrl instead"), i("publisherDomain", e) } }, priceGranularity: { val: h.MEDIUM, set: function(e) { g(e) && ("string" == typeof e ? i("priceGranularity", f(e) ? e : h.MEDIUM) : (0, c.isPlainObject)(e) && (i("customPriceBucket", e), i("priceGranularity", h.CUSTOM), (0, c.logMessage)("Using custom price granularity"))) } }, customPriceBucket: { val: {}, set: function() {} }, mediaTypePriceGranularity: { val: {}, set: function(e) { null != e && i("mediaTypePriceGranularity", Object.keys(e).reduce((function(n, t) { return g(e[t]) ? "string" == typeof e ? n[t] = f(e[t]) ? e[t] : r("priceGranularity") : (0, c.isPlainObject)(e) && (n[t] = e[t], (0, c.logMessage)("Using custom price granularity for ".concat(t))) : (0, c.logWarn)("Invalid price granularity for media type: ".concat(t)), n } ), {})) } }, bidderSequence: { val: v, set: function(e) { p[e] ? i("bidderSequence", e) : (0, c.logWarn)("Invalid order: ".concat(e, ". Bidder Sequence was not set.")) } }, auctionOptions: { val: {}, set: function(e) { (function(e) { if (!(0, c.isPlainObject)(e)) return (0, c.logWarn)("Auction Options must be an object"), !1; for (var n = 0, t = Object.keys(e); n < t.length; n++) { var r = t[n]; if ("secondaryBidders" !== r && "suppressStaleRender" !== r) return (0, c.logWarn)("Auction Options given an incorrect param: ".concat(r)), !1; if ("secondaryBidders" === r) { if (!(0, c.isArray)(e[r])) return (0, c.logWarn)("Auction Options ".concat(r, " must be of type Array")), !1; if (!e[r].every(c.isStr)) return (0, c.logWarn)("Auction Options ".concat(r, " must be only string")), !1 } else if ("suppressStaleRender" === r && !(0, c.isBoolean)(e[r])) return (0, c.logWarn)("Auction Options ".concat(r, " must be of type boolean")), !1 } return !0 } )(e) && i("auctionOptions", e) } } } , d = { debug: l, bidderTimeout: 3e3, enableSendAllBids: true, useBidCache: false, deviceAccess: true, timeoutBuffer: 400, disableAjaxTimeout: false, maxNestedIframes: 10 }; function f(e) { return (0, u.sE)(Object.keys(h), (function(n) { return e === h[n] } )) } function g(e) { if (!e) return (0, c.logError)("Prebid Error: no value passed to `setPriceGranularity()`"), !1; if ("string" == typeof e) f(e) || (0, c.logWarn)("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default."); else if ((0, c.isPlainObject)(e) && !(0, a.t)(e)) return (0, c.logError)("Invalid custom price value passed to `setPriceGranularity()`"), !1; return !0 } Object.defineProperties(d, Object.fromEntries(Object.entries(s).map((function(e) { var n = (0, o.Z)(e, 2) , t = n[0] , a = n[1]; return [t, Object.assign({ get: r.bind(null, t), set: i.bind(null, t), enumerable: !0 }, a)] } )))), n && j(Object.keys(n).reduce((function(e, t) { return n[t] !== d[t] && (e[t] = d[t] || {}), e } ), {})), n = d, t = {} } function y() { if (g && t && (0, c.isPlainObject)(t[g])) { var e = t[g] , r = new Set(Object.keys(n).concat(Object.keys(e))); return (0, u.Oc)(r).reduce((function(t, r) { return void 0 === e[r] ? t[r] = n[r] : void 0 === n[r] ? t[r] = e[r] : (0, c.isPlainObject)(e[r]) ? t[r] = (0, c.mergeDeep)({}, n[r], e[r]) : t[r] = e[r], t } ), {}) } return Object.assign({}, n) } var w = [y, function() { var e = y(); return Object.defineProperty(e, "ortb2", { get: function() { throw new Error("invalid access to 'orbt2' config - use request parameters instead") } }), e } ].map((function(e) { return function() { if (arguments.length <= 1 && "function" != typeof (arguments.length <= 0 ? void 0 : arguments[0])) { var n = arguments.length <= 0 ? void 0 : arguments[0]; return n ? (0, s.Z)(e(), n) : y() } return B.apply(void 0, arguments) } } )) , E = (0, o.Z)(w, 2) , A = E[0] , C = E[1] , I = [C, A].map((function(e) { return function() { var n = e.apply(void 0, arguments); return n && "object" === (0, i.Z)(n) && (n = (0, c.deepClone)(n)), n } } )) , T = (0, o.Z)(I, 2) , O = T[0] , S = T[1]; function k(t) { if ((0, c.isPlainObject)(t)) { var r = Object.keys(t) , i = {}; r.forEach((function(r) { var o = t[r]; (0, c.isPlainObject)(e[r]) && (0, c.isPlainObject)(o) && (o = Object.assign({}, e[r], o)); try { i[r] = n[r] = o } catch (e) { (0, c.logWarn)("Cannot set config for property ".concat(r, " : "), e) } } )), j(i) } else (0, c.logError)("setConfig options must be an object") } function B(e, n) { var t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {} , i = n; if ("string" != typeof e && (i = e, e = m, t = n || {}), "function" == typeof i) { var o = { topic: e, callback: i }; return d.push(o), t.init && i(e === m ? C() : (0, r.Z)({}, e, C(e))), function() { d.splice(d.indexOf(o), 1) } } (0, c.logError)("listener must be a function") } function j(e) { var n = Object.keys(e); d.filter((function(e) { return (0, u.q9)(n, e.topic) } )).forEach((function(n) { n.callback((0, r.Z)({}, n.topic, e[n.topic])) } )), d.filter((function(e) { return e.topic === m } )).forEach((function(n) { return n.callback(e) } )) } function U(e) { var n = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; try { r(e), e.bidders.forEach((function(r) { t[r] || (t[r] = {}), Object.keys(e.config).forEach((function(i) { var o = e.config[i]; if ((0, c.isPlainObject)(o)) { var a = n ? c.mergeDeep : Object.assign; t[r][i] = a({}, t[r][i] || {}, o) } else t[r][i] = o } )) } )) } catch (e) { (0, c.logError)(e) } function r(e) { if (!(0, c.isPlainObject)(e)) throw "setBidderConfig bidder options must be an object"; if (!Array.isArray(e.bidders) || !e.bidders.length) throw "setBidderConfig bidder options must contain a bidders list with at least 1 bidder"; if (!(0, c.isPlainObject)(e.config)) throw "setBidderConfig bidder options must contain a config object" } } function R(e, n) { g = e; try { return n() } finally { P() } } function P() { g = null } return b(), { getCurrentBidder: function() { return g }, resetBidder: P, getConfig: C, getAnyConfig: A, readConfig: O, readAnyConfig: S, setConfig: k, mergeConfig: function(e) { if ((0, c.isPlainObject)(e)) { var n = (0, c.mergeDeep)(y(), e); return k(function(e) { for (var n = 1; n < arguments.length; n++) { var t = null != arguments[n] ? arguments[n] : {}; n % 2 ? f(Object(t), !0).forEach((function(n) { (0, r.Z)(e, n, t[n]) } )) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : f(Object(t)).forEach((function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) } )) } return e }({}, n)), n } (0, c.logError)("mergeConfig input must be an object") }, setDefaults: function(t) { (0, c.isPlainObject)(e) ? (Object.assign(e, t), Object.assign(n, t)) : (0, c.logError)("defaults must be an object") }, resetConfig: b, runWithBidder: R, callbackWithBidder: function(e) { return function(n) { return function() { if ("function" == typeof n) { for (var t = arguments.length, r = new Array(t), i = 0; i < t; i++) r[i] = arguments[i]; return R(e, n.bind.apply(n, [this].concat(r))) } (0, c.logWarn)("config.callbackWithBidder callback is not a function") } } }, setBidderConfig: U, getBidderConfig: function() { return t }, mergeBidderConfig: function(e) { return U(e, !0) } } }() }, 34516: function(e, n, t) { t.d(n, { $P: function() { return w }, Lw: function() { return E }, NO: function() { return z }, TJ: function() { return N }, VP: function() { return M }, nX: function() { return _ }, qh: function() { return W }, rp: function() { return x } }); var r = t(93324) , i = t(97326) , o = t(60136) , a = t(82963) , u = t(61120) , c = t(15671) , s = t(43144) , d = t(4942) , f = t(18916) , l = t(42793) , g = t(64358) , p = t(68792) , v = t(3193); function h(e) { var n = function() { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() {} ))), !0 } catch (e) { return !1 } }(); return function() { var t, r = (0, u.Z)(e); if (n) { var i = (0, u.Z)(this).constructor; t = Reflect.construct(r, arguments, i) } else t = r.apply(this, arguments); return (0, a.Z)(this, t) } } function m(e, n, t) { b(e, n), n.set(e, t) } function b(e, n) { if (n.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object") } function y(e, n, t) { if (!n.has(e)) throw new TypeError("attempted to get private field on non-instance"); return t } var w = Object.freeze({}) , E = Object.freeze({}) , A = new WeakMap , C = new WeakMap , I = new WeakMap , T = new WeakMap , O = new WeakMap , S = new WeakMap , k = new WeakSet , B = function() { function e() { var n, t; (0, c.Z)(this, e), b(n = this, t = k), t.add(n), m(this, A, { writable: !0, value: void 0 }), m(this, C, { writable: !0, value: void 0 }), m(this, I, { writable: !0, value: void 0 }), m(this, T, { writable: !0, value: void 0 }), m(this, O, { writable: !0, value: !0 }), m(this, S, { writable: !0, value: void 0 }), (0, d.Z)(this, "generatedTime", void 0), (0, d.Z)(this, "hashFields", void 0), this.reset() } return (0, s.Z)(e, [{ key: "reset", value: function() { (0, l.Z)(this, I, (0, p.P)()), (0, l.Z)(this, A, !1), (0, l.Z)(this, C, null), (0, l.Z)(this, T, !1), this.generatedTime = null } }, { key: "enable", value: function() { (0, l.Z)(this, A, !0) } }, { key: "enabled", get: function() { return (0, f.Z)(this, A) } }, { key: "ready", get: function() { return (0, f.Z)(this, T) } }, { key: "promise", get: function() { return (0, f.Z)(this, T) ? p.Z.resolve((0, f.Z)(this, C)) : ((0, f.Z)(this, A) || y(this, k, j).call(this, null), (0, f.Z)(this, I).promise) } }, { key: "setConsentData", value: function(e) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : (0, g.timestamp)(); this.generatedTime = n, (0, l.Z)(this, O, !0), y(this, k, j).call(this, e) } }, { key: "getConsentData", value: function() { return (0, f.Z)(this, C) } }, { key: "hash", get: function() { var e = this; return (0, f.Z)(this, O) && ((0, l.Z)(this, S, (0, g.cyrb53Hash)(JSON.stringify((0, f.Z)(this, C) && this.hashFields ? this.hashFields.map((function(n) { return (0, f.Z)(e, C)[n] } )) : (0, f.Z)(this, C)))), (0, l.Z)(this, O, !1)), (0, f.Z)(this, S) } }]), e }(); function j(e) { (0, l.Z)(this, T, !0), (0, l.Z)(this, C, e), (0, f.Z)(this, I).resolve(e) } var U = function(e) { (0, o.Z)(t, e); var n = h(t); function t() { return (0, c.Z)(this, t), n.apply(this, arguments) } return (0, s.Z)(t, [{ key: "getConsentMeta", value: function() { var e = this.getConsentData(); if (e && this.generatedTime) return { usp: e, generatedAt: this.generatedTime } } }]), t }(B) , R = function(e) { (0, o.Z)(t, e); var n = h(t); function t() { var e; (0, c.Z)(this, t); for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a]; return e = n.call.apply(n, [this].concat(o)), (0, d.Z)((0, i.Z)(e), "hashFields", ["gdprApplies", "consentString"]), e } return (0, s.Z)(t, [{ key: "getConsentMeta", value: function() { var e = this.getConsentData(); if (e && e.vendorData && this.generatedTime) return { gdprApplies: e.gdprApplies, consentStringSize: (0, g.isStr)(e.vendorData.tcString) ? e.vendorData.tcString.length : 0, generatedAt: this.generatedTime, apiVersion: e.apiVersion } } }]), t }(B) , P = function(e) { (0, o.Z)(t, e); var n = h(t); function t() { var e; (0, c.Z)(this, t); for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a]; return e = n.call.apply(n, [this].concat(o)), (0, d.Z)((0, i.Z)(e), "hashFields", ["applicableSections", "gppString"]), e } return (0, s.Z)(t, [{ key: "getConsentMeta", value: function() { if (this.getConsentData() && this.generatedTime) return { generatedAt: this.generatedTime } } }]), t }(B); var D, Z, q, x = new R, _ = new U, N = new P, M = function() { function e() { return !!v.vc.getConfig("coppa") } return { getCoppa: e, getConsentData: e, getConsentMeta: e, reset: function() {}, get promise() { return p.Z.resolve(e()) }, get hash() { return e() ? "1" : "0" } } }(), W = (D = {}, Z = {}, q = {}, { register: function(e, n, t) { t && ((D[n] = D[n] || {})[e] = t, Z.hasOwnProperty(n) ? Z[n] !== t && (Z[n] = q) : Z[n] = t) }, get: function(e) { var n = { modules: D[e] || {} }; return Z.hasOwnProperty(e) && Z[e] !== q && (n.gvlid = Z[e]), n } }), F = { gdpr: x, usp: _, gpp: N, coppa: M }; var z = function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : F; function n(n) { return function() { return Object.fromEntries(e.map((function(e) { var t = (0, r.Z)(e, 2); return [t[0], t[1][n]()] } ))) } } return e = Object.entries(e), Object.assign({ get promise() { return p.Z.all(e.map((function(e) { var n = (0, r.Z)(e, 2) , t = n[0]; return n[1].promise.then((function(e) { return [t, e] } )) } ))).then((function(e) { return Object.fromEntries(e) } )) }, get hash() { return (0, g.cyrb53Hash)(e.map((function(e) { var n = (0, r.Z)(e, 2); n[0]; return n[1].hash } )).join(":")) } }, Object.fromEntries(["getConsentData", "getConsentMeta", "reset"].map((function(e) { return [e, n(e)] } )))) }() }, 56463: function(e, n, t) { t.d(n, { D: function() { return f }, t: function() { return g } }); var r = t(34614) , i = t(64358) , o = t(3193) , a = { buckets: [{ max: 5, increment: .5 }] } , u = { buckets: [{ max: 20, increment: .1 }] } , c = { buckets: [{ max: 20, increment: .01 }] } , s = { buckets: [{ max: 3, increment: .01 }, { max: 8, increment: .05 }, { max: 20, increment: .5 }] } , d = { buckets: [{ max: 5, increment: .05 }, { max: 10, increment: .1 }, { max: 20, increment: .5 }] }; function f(e, n) { var t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1 , r = parseFloat(e); return isNaN(r) && (r = ""), { low: "" === r ? "" : l(e, a, t), med: "" === r ? "" : l(e, u, t), high: "" === r ? "" : l(e, c, t), auto: "" === r ? "" : l(e, d, t), dense: "" === r ? "" : l(e, s, t), custom: "" === r ? "" : l(e, n, t) } } function l(e, n, t) { var a = ""; if (!g(n)) return a; var u = n.buckets.reduce((function(e, n) { return e.max > n.max ? e : n } ), { max: 0 }) , c = 0 , s = (0, r.sE)(n.buckets, (function(n) { if (e > u.max * t) { var r = n.precision; void 0 === r && (r = 2), a = (n.max * t).toFixed(r) } else { if (e <= n.max * t && e >= c * t) return n.min = c, n; c = n.max } } )); return s && (a = function(e, n, t) { var r = void 0 !== n.precision ? n.precision : 2 , a = n.increment * t , u = n.min * t , c = Math.floor , s = o.vc.getConfig("cpmRoundingFunction"); "function" == typeof s && (c = s); var d, f, l = Math.pow(10, r + 2), g = (e * l - u * l) / (a * l); try { d = c(g) * a + u } catch (e) { f = !0 } (f || "number" != typeof d) && ((0, i.logWarn)("Invalid rounding function passed in config"), d = Math.floor(g) * a + u); return (d = Number(d.toFixed(10))).toFixed(r) }(e, s, t)), a } function g(e) { if ((0, i.isEmpty)(e) || !e.buckets || !Array.isArray(e.buckets)) return !1; var n = !0; return e.buckets.forEach((function(e) { e.max && e.increment || (n = !1) } )), n } }, 88099: function(e, n, t) { t.d(n, { W: function() { return c }, m: function() { return u } }); var r, i = t(68792), o = t(64358), a = t(68304), u = (0, t(92797).z3)("sync", (function(e) { return a._ } )), c = (r = {}, function(e) { var n = u(e); return r.hasOwnProperty(n) || (r[n] = new i.Z((function(e) { var t = (0, o.createInvisibleIframe)(); t.srcdoc = "