CINXE.COM
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><script type="text/javascript">/* eslint-disable */ !(function () { "use strict"; var e, t, n, s, o, i, r, a, c, l, d, u, g, p, h; !(function (e) { (e.STUB = "stub"), (e.LOADING = "loading"), (e.LOADED = "loaded"), (e.ERROR = "error"); })(e || (e = {})), (function (e) { (e.VISIBLE = "visible"), (e.HIDDEN = "hidden"), (e.DISABLED = "disabled"); })(t || (t = {})); class S { constructor(e, t, n, s) { (this.eventName = e), (this.listenerId = t), (this.data = n), (this.pingData = s); } } class f { constructor(e) { (this.gppVersion = e.gppVersion), (this.cmpStatus = e.cmpStatus), (this.cmpDisplayStatus = e.cmpDisplayStatus), (this.signalStatus = e.signalStatus), (this.supportedAPIs = e.supportedAPIs), (this.cmpId = e.cmpId), (this.sectionList = e.gppModel.getSectionIds()), (this.applicableSections = e.applicableSections), (this.gppString = e.gppModel.encode()), (this.parsedSections = e.gppModel.toObject()); } } class E { constructor(e) { (this.eventQueue = new Map()), (this.queueNumber = 1e3), (this.cmpApiContext = e); try { let e = window.__gpp("events") || []; for (var t = 0; t < e.length; t++) { let n = e[t]; this.eventQueue.set(n.id, { callback: n.callback, parameter: n.parameter }); } } catch (e) { console.log(e); } } add(e) { return this.eventQueue.set(this.queueNumber, e), this.queueNumber++; } get(e) { return this.eventQueue.get(e); } remove(e) { return this.eventQueue.delete(e); } exec(e, t) { this.eventQueue.forEach((n, s) => { let o = new S(e, s, t, new f(this.cmpApiContext)); n.callback(o, !0); }); } clear() { (this.queueNumber = 1e3), this.eventQueue.clear(); } get size() { return this.eventQueue.size; } events() { let e = []; return ( this.eventQueue.forEach((t, n) => { e.push({ id: n, callback: t.callback, parameter: t.parameter }); }), e ); } } class C extends Error { constructor(e) { super(e), (this.name = "DecodingError"); } } class m { static encode(e, t) { let n = []; if (e >= 1) for (n.push(1); e >= 2 * n[0]; ) n.unshift(2 * n[0]); let s = ""; for (let t = 0; t < n.length; t++) { let o = n[t]; e >= o ? ((s += "1"), (e -= o)) : (s += "0"); } for (; s.length < t; ) s = "0" + s; return s; } static decode(e) { if (!/^[0-1]*$/.test(e)) throw new C("Undecodable FixedInteger '" + e + "'"); let t = 0, n = []; for (let t = 0; t < e.length; t++) n[e.length - (t + 1)] = 0 === t ? 1 : 2 * n[e.length - t]; for (let s = 0; s < e.length; s++) "1" === e.charAt(s) && (t += n[s]); return t; } } class I extends Error { constructor(e) { super(e), (this.name = "EncodingError"); } } class T { encode(e) { if (!/^[0-1]*$/.test(e)) throw new I("Unencodable Base64Url '" + e + "'"); e = this.pad(e); let t = "", n = 0; for (; n <= e.length - 6; ) { let s = e.substring(n, n + 6); try { let e = m.decode(s); (t += T.DICT.charAt(e)), (n += 6); } catch (t) { throw new I("Unencodable Base64Url '" + e + "'"); } } return t; } decode(e) { if (!/^[A-Za-z0-9\-_]*$/.test(e)) throw new C("Undecodable Base64URL string"); let t = ""; for (let n = 0; n < e.length; n++) { let s = e.charAt(n), o = T.REVERSE_DICT.get(s); t += m.encode(o, 6); } return t; } } (T.DICT = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"), (T.REVERSE_DICT = new Map([ ["A", 0], ["B", 1], ["C", 2], ["D", 3], ["E", 4], ["F", 5], ["G", 6], ["H", 7], ["I", 8], ["J", 9], ["K", 10], ["L", 11], ["M", 12], ["N", 13], ["O", 14], ["P", 15], ["Q", 16], ["R", 17], ["S", 18], ["T", 19], ["U", 20], ["V", 21], ["W", 22], ["X", 23], ["Y", 24], ["Z", 25], ["a", 26], ["b", 27], ["c", 28], ["d", 29], ["e", 30], ["f", 31], ["g", 32], ["h", 33], ["i", 34], ["j", 35], ["k", 36], ["l", 37], ["m", 38], ["n", 39], ["o", 40], ["p", 41], ["q", 42], ["r", 43], ["s", 44], ["t", 45], ["u", 46], ["v", 47], ["w", 48], ["x", 49], ["y", 50], ["z", 51], ["0", 52], ["1", 53], ["2", 54], ["3", 55], ["4", 56], ["5", 57], ["6", 58], ["7", 59], ["8", 60], ["9", 61], ["-", 62], ["_", 63], ])); class _ extends T { pad(e) { for (; e.length % 8 > 0; ) e += "0"; for (; e.length % 6 > 0; ) e += "0"; return e; } } class O { static encode(e) { let t = []; if (e >= 1 && (t.push(1), e >= 2)) { t.push(2); let n = 2; for (; e >= t[n - 1] + t[n - 2]; ) t.push(t[n - 1] + t[n - 2]), n++; } let n = "1"; for (let s = t.length - 1; s >= 0; s--) { let o = t[s]; e >= o ? ((n = "1" + n), (e -= o)) : (n = "0" + n); } return n; } static decode(e) { if (!/^[0-1]*$/.test(e) || e.length < 2 || e.indexOf("11") !== e.length - 2) throw new C("Undecodable FibonacciInteger '" + e + "'"); let t = 0, n = []; for (let t = 0; t < e.length - 1; t++) 0 === t ? n.push(1) : 1 === t ? n.push(2) : n.push(n[t - 1] + n[t - 2]); for (let s = 0; s < e.length - 1; s++) "1" === e.charAt(s) && (t += n[s]); return t; } } class N { static encode(e) { if (!0 === e) return "1"; if (!1 === e) return "0"; throw new I("Unencodable Boolean '" + e + "'"); } static decode(e) { if ("1" === e) return !0; if ("0" === e) return !1; throw new C("Undecodable Boolean '" + e + "'"); } } class b { static encode(e) { e = e.sort((e, t) => e - t); let t = [], n = 0, s = 0; for (; s < e.length; ) { let n = s; for (; n < e.length - 1 && e[n] + 1 === e[n + 1]; ) n++; t.push(e.slice(s, n + 1)), (s = n + 1); } let o = m.encode(t.length, 12); for (let e = 0; e < t.length; e++) if (1 == t[e].length) { let s = t[e][0] - n; (n = t[e][0]), (o += "0" + O.encode(s)); } else { let s = t[e][0] - n; n = t[e][0]; let i = t[e][t[e].length - 1] - n; (n = t[e][t[e].length - 1]), (o += "1" + O.encode(s) + O.encode(i)); } return o; } static decode(e) { if (!/^[0-1]*$/.test(e) || e.length < 12) throw new C("Undecodable FibonacciIntegerRange '" + e + "'"); let t = [], n = m.decode(e.substring(0, 12)), s = 0, o = 12; for (let i = 0; i < n; i++) { let n = N.decode(e.substring(o, o + 1)); if ((o++, !0 === n)) { let n = e.indexOf("11", o), i = O.decode(e.substring(o, n + 2)) + s; (s = i), (o = n + 2), (n = e.indexOf("11", o)); let r = O.decode(e.substring(o, n + 2)) + s; (s = r), (o = n + 2); for (let e = i; e <= r; e++) t.push(e); } else { let n = e.indexOf("11", o), i = O.decode(e.substring(o, n + 2)) + s; (s = i), t.push(i), (o = n + 2); } } return t; } } class A { hasValue() { return void 0 !== this.value && null !== this.value; } getValue() { return this.value; } setValue(e) { this.value = e; } } class y extends A { constructor(e) { super(), this.setValue(e); } encode() { return b.encode(this.value); } decode(e) { this.value = b.decode(e); } substring(e, t) { let n = m.decode(e.substring(t, t + 12)), s = t + 12; for (let t = 0; t < n; t++) s = "1" === e.charAt(s) ? e.indexOf("11", e.indexOf("11", s + 1) + 2) + 2 : e.indexOf("11", s + 1) + 2; return e.substring(t, s); } getValue() { return [...super.getValue()]; } setValue(e) { super.setValue(Array.from(new Set(e)).sort((e, t) => e - t)); } } class P extends A { constructor(e, t) { super(), (this.bitStringLength = e), this.setValue(t); } encode() { return m.encode(this.value, this.bitStringLength); } decode(e) { this.value = m.decode(e); } substring(e, t) { return e.substring(t, t + this.bitStringLength); } } !(function (e) { (e.ID = "Id"), (e.VERSION = "Version"), (e.SECTION_IDS = "SectionIds"); })(n || (n = {})); class D { constructor(e, t) { (this.fields = e), (this.fieldOrder = t); } hasField(e) { return this.fields.has(e); } getFieldValue(e) { return this.fields.has(e) ? this.fields.get(e).getValue() : null; } setFieldValue(e, t) { if (!this.fields.has(e)) throw new Error(e + " not found"); this.fields.get(e).setValue(t); } getFieldOrder() { return this.fieldOrder; } encodeToBitString() { let e = ""; for (let t = 0; t < this.fieldOrder.length; t++) { let n = this.fieldOrder[t]; if (!this.fields.has(n)) throw new Error("Field not found: '" + n + "'"); e += this.fields.get(n).encode(); } return e; } decodeFromBitString(e) { let t = 0; for (let n = 0; n < this.fieldOrder.length; n++) { let s = this.fieldOrder[n]; if (!this.fields.has(s)) throw new Error("Field not found: '" + s + "'"); { let n = this.fields.get(s), o = n.substring(e, t); n.decode(o), (t += o.length); } } } toObj() { let e = {}; for (let t = 0; t < this.fieldOrder.length; t++) { let n = this.fieldOrder[t]; if (this.fields.has(n)) { let t = this.fields.get(n).getValue(); e[n] = t; } } return e; } } class w extends D { constructor(e) { let t = new Map(); t.set(n.ID.toString(), new P(6, w.ID)), t.set(n.VERSION.toString(), new P(6, w.VERSION)), t.set(n.SECTION_IDS.toString(), new y([])), super(t, [n.ID.toString(), n.VERSION.toString(), n.SECTION_IDS.toString()]), (this.base64UrlEncoder = new _()), e && e.length > 0 && this.decode(e); } encode() { let e = this.encodeToBitString(); return this.base64UrlEncoder.encode(e); } decode(e) { let t = this.base64UrlEncoder.decode(e); this.decodeFromBitString(t); } getId() { return w.ID; } getName() { return w.NAME; } } (w.ID = 3), (w.VERSION = 1), (w.NAME = "header"); class v extends A { constructor(e) { super(), this.setValue(e); } encode() { return N.encode(this.value); } decode(e) { this.value = N.decode(e); } substring(e, t) { return e.substring(t, t + 1); } } class R { static encode(e) { return e ? m.encode(Math.round(e.getTime() / 100), 36) : m.encode(0, 36); } static decode(e) { if (!/^[0-1]*$/.test(e) || 36 !== e.length) throw new C("Undecodable Datetime '" + e + "'"); return new Date(100 * m.decode(e)); } } class V extends A { constructor(e) { super(), this.setValue(e); } encode() { return R.encode(this.value); } decode(e) { this.value = R.decode(e); } substring(e, t) { return e.substring(t, t + 36); } } class L { static encode(e, t) { let n = ""; for (let t = 0; t < e.length; t++) n += N.encode(e[t]); for (; n.length < t; ) n += "0"; return n; } static decode(e) { if (!/^[0-1]*$/.test(e)) throw new C("Undecodable FixedBitfield '" + e + "'"); let t = []; for (let n = 0; n < e.length; n++) t.push(N.decode(e.substring(n, n + 1))); return t; } } class k extends A { constructor(e, t) { super(), (this.getLength = e), this.setValue(t); } encode() { return L.encode(this.value, this.getLength()); } decode(e) { this.value = L.decode(e); } substring(e, t) { return e.substring(t, t + this.getLength()); } getValue() { return [...super.getValue()]; } setValue(e) { let t = this.getLength(), n = [...e]; for (let e = n.length; e < t; e++) n.push(!1); n.length > t && (n = n.slice(0, t)), super.setValue([...n]); } } class U extends A { constructor(e) { super(), (this.numElements = e.length), this.setValue(e); } encode() { return L.encode(this.value, this.numElements); } decode(e) { this.value = L.decode(e); } substring(e, t) { return e.substring(t, t + this.numElements); } getValue() { return [...super.getValue()]; } setValue(e) { let t = [...e]; for (let e = t.length; e < this.numElements; e++) t.push(!1); t.length > this.numElements && (t = t.slice(0, this.numElements)), super.setValue(t); } } class M { static encode(e, t) { for (; e.length < t; ) e += " "; let n = ""; for (let t = 0; t < e.length; t++) { let s = e.charCodeAt(t); if (32 === s) n += m.encode(63, 6); else { if (!(s >= 65)) throw new I("Unencodable FixedString '" + e + "'"); n += m.encode(e.charCodeAt(t) - 65, 6); } } return n; } static decode(e) { if (!/^[0-1]*$/.test(e) || e.length % 6 != 0) throw new C("Undecodable FixedString '" + e + "'"); let t = ""; for (let n = 0; n < e.length; n += 6) { let s = m.decode(e.substring(n, n + 6)); t += 63 === s ? " " : String.fromCharCode(s + 65); } return t.trim(); } } class x extends A { constructor(e, t) { super(), (this.stringLength = e), this.setValue(t); } encode() { return M.encode(this.value, this.stringLength); } decode(e) { this.value = M.decode(e); } substring(e, t) { return e.substring(t, t + 6 * this.stringLength); } } class G { constructor(e, t) { (this.fields = e), (this.segments = t); } hasField(e) { return this.fields.has(e); } getFieldValue(e) { return this.fields.has(e) ? this.fields.get(e).getValue() : null; } setFieldValue(e, t) { if (!this.fields.has(e)) throw new Error(e + " not found"); this.fields.get(e).setValue(t); } getSegments() { return this.segments; } encodeSegmentsToBitStrings() { let e = []; for (let t = 0; t < this.segments.length; t++) { let n = ""; for (let e = 0; e < this.segments[t].length; e++) { let s = this.segments[t][e]; if (!this.fields.has(s)) throw new Error("Field not found: '" + s + "'"); try { n += this.fields.get(s).encode(); } catch (e) { throw new Error("Unable to encode " + s); } } e.push(n); } return e; } decodeSegmentsFromBitStrings(e) { for (let t = 0; t < this.segments.length && t < e.length; t++) { let n = e[t]; if (n && n.length > 0) { let e = 0; for (let s = 0; s < this.segments[t].length; s++) { let o = this.segments[t][s]; if (!this.fields.has(o)) throw new Error("Field not found: '" + o + "'"); try { let t = this.fields.get(o), s = t.substring(n, e); t.decode(s), (e += s.length); } catch (e) { throw new Error("Unable to decode " + o); } } } } } toObj() { let e = {}; for (let t = 0; t < this.segments.length; t++) for (let n = 0; n < this.segments[t].length; n++) { let s = this.segments[t][n]; if (this.fields.has(s)) { let t = this.fields.get(s).getValue(); e[s] = t; } } return e; } } class F { static encode(e) { e.sort((e, t) => e - t); let t = [], n = 0; for (; n < e.length; ) { let s = n; for (; s < e.length - 1 && e[s] + 1 === e[s + 1]; ) s++; t.push(e.slice(n, s + 1)), (n = s + 1); } let s = m.encode(t.length, 12); for (let e = 0; e < t.length; e++) 1 === t[e].length ? (s += "0" + m.encode(t[e][0], 16)) : (s += "1" + m.encode(t[e][0], 16) + m.encode(t[e][t[e].length - 1], 16)); return s; } static decode(e) { if (!/^[0-1]*$/.test(e) || e.length < 12) throw new C("Undecodable FixedIntegerRange '" + e + "'"); let t = [], n = m.decode(e.substring(0, 12)), s = 12; for (let o = 0; o < n; o++) { let n = N.decode(e.substring(s, s + 1)); if ((s++, !0 === n)) { let n = m.decode(e.substring(s, s + 16)); s += 16; let o = m.decode(e.substring(s, s + 16)); s += 16; for (let e = n; e <= o; e++) t.push(e); } else { let n = m.decode(e.substring(s, s + 16)); t.push(n), (s += 16); } } return t; } } class B extends A { constructor(e) { super(), this.setValue(e); } encode() { return F.encode(this.value); } decode(e) { this.value = F.decode(e); } substring(e, t) { let n = m.decode(e.substring(t, t + 12)), s = t + 12; for (let t = 0; t < n; t++) "1" === e.charAt(s) ? (s += 33) : (s += 17); return e.substring(t, s); } getValue() { return [...super.getValue()]; } setValue(e) { super.setValue(Array.from(new Set(e)).sort((e, t) => e - t)); } } class W extends A { constructor(e) { super(), this.setValue(e); } encode() { let e = this.value.length > 0 ? this.value[this.value.length - 1] : 0, t = F.encode(this.value), n = e; if (t.length <= n) return m.encode(e, 16) + "1" + t; { let t = [], s = 0; for (let n = 0; n < e; n++) n === this.value[s] - 1 ? ((t[n] = !0), s++) : (t[n] = !1); return m.encode(e, 16) + "0" + L.encode(t, n); } } decode(e) { if ("1" === e.charAt(16)) this.value = F.decode(e.substring(17)); else { let t = [], n = L.decode(e.substring(17)); for (let e = 0; e < n.length; e++) !0 === n[e] && t.push(e + 1); this.value = t; } } substring(e, t) { let n = m.decode(e.substring(t, t + 16)); return "1" === e.charAt(t + 16) ? e.substring(t, t + 17) + new B([]).substring(e, t + 17) : e.substring(t, t + 17 + n); } getValue() { return [...super.getValue()]; } setValue(e) { super.setValue(Array.from(new Set(e)).sort((e, t) => e - t)); } } !(function (e) { (e.VERSION = "Version"), (e.CREATED = "Created"), (e.LAST_UPDATED = "LastUpdated"), (e.CMP_ID = "CmpId"), (e.CMP_VERSION = "CmpVersion"), (e.CONSENT_SCREEN = "ConsentScreen"), (e.CONSENT_LANGUAGE = "ConsentLanguage"), (e.VENDOR_LIST_VERSION = "VendorListVersion"), (e.POLICY_VERSION = "PolicyVersion"), (e.IS_SERVICE_SPECIFIC = "IsServiceSpecific"), (e.USE_NON_STANDARD_STACKS = "UseNonStandardStacks"), (e.SPECIAL_FEATURE_OPTINS = "SpecialFeatureOptins"), (e.PURPOSE_CONSENTS = "PurposeConsents"), (e.PURPOSE_LEGITIMATE_INTERESTS = "PurposeLegitimateInterests"), (e.PURPOSE_ONE_TREATMENT = "PurposeOneTreatment"), (e.PUBLISHER_COUNTRY_CODE = "PublisherCountryCode"), (e.VENDOR_CONSENTS = "VendorConsents"), (e.VENDOR_LEGITIMATE_INTERESTS = "VendorLegitimateInterests"), (e.PUBLISHER_RESTRICTIONS = "PublisherRestrictions"), (e.PUBLISHER_PURPOSES_SEGMENT_TYPE = "PublisherPurposesSegmentType"), (e.PUBLISHER_CONSENTS = "PublisherConsents"), (e.PUBLISHER_LEGITIMATE_INTERESTS = "PublisherLegitimateInterests"), (e.NUM_CUSTOM_PURPOSES = "NumCustomPurposes"), (e.PUBLISHER_CUSTOM_CONSENTS = "PublisherCustomConsents"), (e.PUBLISHER_CUSTOM_LEGITIMATE_INTERESTS = "PublisherCustomLegitimateInterests"), (e.VENDORS_ALLOWED_SEGMENT_TYPE = "VendorsAllowedSegmentType"), (e.VENDORS_ALLOWED = "VendorsAllowed"), (e.VENDORS_DISCLOSED_SEGMENT_TYPE = "VendorsDisclosedSegmentType"), (e.VENDORS_DISCLOSED = "VendorsDisclosed"); })(s || (s = {})); class H extends T { pad(e) { for (; e.length % 24 > 0; ) e += "0"; return e; } } class z extends G { constructor(e) { let t = new Map(), n = new Date(); t.set(s.VERSION.toString(), new P(6, z.VERSION)), t.set(s.CREATED.toString(), new V(n)), t.set(s.LAST_UPDATED.toString(), new V(n)), t.set(s.CMP_ID.toString(), new P(12, 0)), t.set(s.CMP_VERSION.toString(), new P(12, 0)), t.set(s.CONSENT_SCREEN.toString(), new P(6, 0)), t.set(s.CONSENT_LANGUAGE.toString(), new x(2, "EN")), t.set(s.VENDOR_LIST_VERSION.toString(), new P(12, 0)), t.set(s.POLICY_VERSION.toString(), new P(6, 2)), t.set(s.IS_SERVICE_SPECIFIC.toString(), new v(!1)), t.set(s.USE_NON_STANDARD_STACKS.toString(), new v(!1)), t.set(s.SPECIAL_FEATURE_OPTINS.toString(), new U([!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1])), t.set( s.PURPOSE_CONSENTS.toString(), new U([!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1]), ), t.set( s.PURPOSE_LEGITIMATE_INTERESTS.toString(), new U([!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1]), ), t.set(s.PURPOSE_ONE_TREATMENT.toString(), new v(!1)), t.set(s.PUBLISHER_COUNTRY_CODE.toString(), new x(2, "AA")), t.set(s.VENDOR_CONSENTS.toString(), new W([])), t.set(s.VENDOR_LEGITIMATE_INTERESTS.toString(), new W([])), t.set(s.PUBLISHER_RESTRICTIONS.toString(), new B([])), t.set(s.PUBLISHER_PURPOSES_SEGMENT_TYPE.toString(), new P(3, 3)), t.set( s.PUBLISHER_CONSENTS.toString(), new U([!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1]), ), t.set( s.PUBLISHER_LEGITIMATE_INTERESTS.toString(), new U([!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1]), ); let o = new P(6, 0); t.set(s.NUM_CUSTOM_PURPOSES.toString(), o), t.set(s.PUBLISHER_CUSTOM_CONSENTS.toString(), new k(() => o.getValue(), [])), t.set(s.PUBLISHER_CUSTOM_LEGITIMATE_INTERESTS.toString(), new k(() => o.getValue(), [])), t.set(s.VENDORS_ALLOWED_SEGMENT_TYPE.toString(), new P(3, 2)), t.set(s.VENDORS_ALLOWED.toString(), new W([])), t.set(s.VENDORS_DISCLOSED_SEGMENT_TYPE.toString(), new P(3, 1)), t.set(s.VENDORS_DISCLOSED.toString(), new W([])), super(t, [ [ s.VERSION.toString(), s.CREATED.toString(), s.LAST_UPDATED.toString(), s.CMP_ID.toString(), s.CMP_VERSION.toString(), s.CONSENT_SCREEN.toString(), s.CONSENT_LANGUAGE.toString(), s.VENDOR_LIST_VERSION.toString(), s.POLICY_VERSION.toString(), s.IS_SERVICE_SPECIFIC.toString(), s.USE_NON_STANDARD_STACKS.toString(), s.SPECIAL_FEATURE_OPTINS.toString(), s.PURPOSE_CONSENTS.toString(), s.PURPOSE_LEGITIMATE_INTERESTS.toString(), s.PURPOSE_ONE_TREATMENT.toString(), s.PUBLISHER_COUNTRY_CODE.toString(), s.VENDOR_CONSENTS.toString(), s.VENDOR_LEGITIMATE_INTERESTS.toString(), s.PUBLISHER_RESTRICTIONS.toString(), ], [ s.PUBLISHER_PURPOSES_SEGMENT_TYPE.toString(), s.PUBLISHER_CONSENTS.toString(), s.PUBLISHER_LEGITIMATE_INTERESTS.toString(), s.NUM_CUSTOM_PURPOSES.toString(), s.PUBLISHER_CUSTOM_CONSENTS.toString(), s.PUBLISHER_CUSTOM_LEGITIMATE_INTERESTS.toString(), ], [s.VENDORS_ALLOWED_SEGMENT_TYPE.toString(), s.VENDORS_ALLOWED.toString()], [s.VENDORS_DISCLOSED_SEGMENT_TYPE.toString(), s.VENDORS_DISCLOSED.toString()], ]), (this.base64UrlEncoder = new H()), e && e.length > 0 && this.decode(e); } encode() { let e = this.encodeSegmentsToBitStrings(), t = []; return ( this.updateDateStamp(), t.push(this.base64UrlEncoder.encode(e[0])), this.getFieldValue(s.IS_SERVICE_SPECIFIC.toString()) ? e[1] && e[1].length > 0 && t.push(this.base64UrlEncoder.encode(e[1])) : (e[2] && e[2].length > 0 && t.push(this.base64UrlEncoder.encode(e[2])), e[3] && e[3].length > 0 && t.push(this.base64UrlEncoder.encode(e[3]))), t.join(".") ); } decode(e) { let t = e.split("."), n = []; for (let e = 0; e < t.length; e++) { let s = this.base64UrlEncoder.decode(t[e]); switch (s.substring(0, 3)) { case "000": n[0] = s; break; case "001": n[3] = s; break; case "010": n[2] = s; break; case "011": n[1] = s; break; default: throw new C("Unable to decode segment '" + t[e] + "'"); } } this.decodeSegmentsFromBitStrings(n); } setFieldValue(e, t) { e == s.PURPOSE_LEGITIMATE_INTERESTS.toString() && ((t[0] = !1), (t[2] = t[3] = t[4] = t[5] = !1)), (e != s.CREATED.toString() && e != s.LAST_UPDATED.toString()) || (e == s.CREATED.toString() ? super.setFieldValue(s.LAST_UPDATED.toString(), t) : super.setFieldValue(s.CREATED.toString(), t)), super.setFieldValue(e, t); } getId() { return z.ID; } getName() { return z.NAME; } updateDateStamp() { const e = new Date(), t = new Date(Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate())); console.log("Debug: updateDateStamp"), super.setFieldValue(s.CREATED.toString(), t), super.setFieldValue(s.LAST_UPDATED.toString(), t); } } (z.ID = 2), (z.VERSION = 2), (z.NAME = "tcfeuv2"), (function (e) { (e.VERSION = "Version"), (e.CREATED = "Created"), (e.LAST_UPDATED = "LastUpdated"), (e.CMP_ID = "CmpId"), (e.CMP_VERSION = "CmpVersion"), (e.CONSENT_SCREEN = "ConsentScreen"), (e.CONSENT_LANGUAGE = "ConsentLanguage"), (e.VENDOR_LIST_VERSION = "VendorListVersion"), (e.TCF_POLICY_VERSION = "TcfPolicyVersion"), (e.USE_NON_STANDARD_STACKS = "UseNonStandardStacks"), (e.SPECIAL_FEATURE_EXPRESS_CONSENT = "SpecialFeatureExpressConsent"), (e.PURPOSES_EXPRESS_CONSENT = "PurposesExpressConsent"), (e.PURPOSES_IMPLIED_CONSENT = "PurposesImpliedConsent"), (e.VENDOR_EXPRESS_CONSENT = "VendorExpressConsent"), (e.VENDOR_IMPLIED_CONSENT = "VendorImpliedConsent"), (e.SEGMENT_TYPE = "SegmentType"), (e.PUB_PURPOSES_EXPRESS_CONSENT = "PubPurposesExpressConsent"), (e.PUB_PURPOSES_IMPLIED_CONSENT = "PubPurposesImpliedConsent"), (e.NUM_CUSTOM_PURPOSES = "NumCustomPurposes"), (e.CUSTOM_PURPOSES_EXPRESS_CONSENT = "CustomPurposesExpressConsent"), (e.CUSTOM_PURPOSES_IMPLIED_CONSENT = "CustomPurposesImpliedConsent"); })(o || (o = {})); class j extends G { constructor(e) { let t = new Map(), n = new Date(); t.set(o.VERSION.toString(), new P(6, j.VERSION)), t.set(o.CREATED.toString(), new V(n)), t.set(o.LAST_UPDATED.toString(), new V(n)), t.set(o.CMP_ID.toString(), new P(12, 0)), t.set(o.CMP_VERSION.toString(), new P(12, 0)), t.set(o.CONSENT_SCREEN.toString(), new P(6, 0)), t.set(o.CONSENT_LANGUAGE.toString(), new x(2, "EN")), t.set(o.VENDOR_LIST_VERSION.toString(), new P(12, 0)), t.set(o.TCF_POLICY_VERSION.toString(), new P(6, 1)), t.set(o.USE_NON_STANDARD_STACKS.toString(), new v(!1)), t.set(o.SPECIAL_FEATURE_EXPRESS_CONSENT.toString(), new U([!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1])), t.set( o.PURPOSES_EXPRESS_CONSENT.toString(), new U([!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1]), ), t.set( o.PURPOSES_IMPLIED_CONSENT.toString(), new U([!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1]), ), t.set(o.VENDOR_EXPRESS_CONSENT.toString(), new W([])), t.set(o.VENDOR_IMPLIED_CONSENT.toString(), new W([])), t.set(o.SEGMENT_TYPE.toString(), new P(3, 3)), t.set( o.PUB_PURPOSES_EXPRESS_CONSENT.toString(), new U([!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1]), ), t.set( o.PUB_PURPOSES_IMPLIED_CONSENT.toString(), new U([!1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1, !1]), ); let s = new P(6, 0); t.set(o.NUM_CUSTOM_PURPOSES.toString(), s), t.set(o.CUSTOM_PURPOSES_EXPRESS_CONSENT.toString(), new k(() => s.getValue(), [])), t.set(o.CUSTOM_PURPOSES_IMPLIED_CONSENT.toString(), new k(() => s.getValue(), [])), super(t, [ [ o.VERSION.toString(), o.CREATED.toString(), o.LAST_UPDATED.toString(), o.CMP_ID.toString(), o.CMP_VERSION.toString(), o.CONSENT_SCREEN.toString(), o.CONSENT_LANGUAGE.toString(), o.VENDOR_LIST_VERSION.toString(), o.TCF_POLICY_VERSION.toString(), o.USE_NON_STANDARD_STACKS.toString(), o.SPECIAL_FEATURE_EXPRESS_CONSENT.toString(), o.PURPOSES_EXPRESS_CONSENT.toString(), o.PURPOSES_IMPLIED_CONSENT.toString(), o.VENDOR_EXPRESS_CONSENT.toString(), o.VENDOR_IMPLIED_CONSENT.toString(), ], [ o.SEGMENT_TYPE.toString(), o.PUB_PURPOSES_EXPRESS_CONSENT.toString(), o.PUB_PURPOSES_IMPLIED_CONSENT.toString(), o.NUM_CUSTOM_PURPOSES.toString(), o.CUSTOM_PURPOSES_EXPRESS_CONSENT.toString(), o.CUSTOM_PURPOSES_IMPLIED_CONSENT.toString(), ], ]), (this.base64UrlEncoder = new _()), e && e.length > 0 && this.decode(e); } encode() { let e = this.encodeSegmentsToBitStrings(), t = []; return ( t.push(this.base64UrlEncoder.encode(e[0])), e[1] && e[1].length > 0 && t.push(this.base64UrlEncoder.encode(e[1])), t.join(".") ); } decode(e) { let t = e.split("."), n = []; for (let e = 0; e < t.length; e++) { let s = this.base64UrlEncoder.decode(t[e]); switch (s.substring(0, 3)) { case "000": n[0] = s; break; case "011": n[1] = s; break; default: throw new C("Unable to decode segment '" + t[e] + "'"); } } this.decodeSegmentsFromBitStrings(n); } setFieldValue(e, t) { if ((super.setFieldValue(e, t), e !== o.CREATED.toString() && e !== o.LAST_UPDATED.toString())) { const e = new Date(), t = new Date(Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate())); this.setFieldValue(o.CREATED.toString(), t), this.setFieldValue(o.LAST_UPDATED.toString(), t); } } getId() { return j.ID; } getName() { return j.NAME; } } (j.ID = 5), (j.VERSION = 1), (j.NAME = "tcfcav1"); class q extends Error { constructor(e) { super(e), (this.name = "InvalidFieldError"); } } !(function (e) { (e.VERSION = "Version"), (e.NOTICE = "Notice"), (e.OPT_OUT_SALE = "OptOutSale"), (e.LSPA_COVERED = "LspaCovered"); })(i || (i = {})); class Y { constructor(e) { (this.fields = new Map()), this.fields.set(i.VERSION.toString(), Y.VERSION), this.fields.set(i.NOTICE.toString(), "-"), this.fields.set(i.OPT_OUT_SALE.toString(), "-"), this.fields.set(i.LSPA_COVERED.toString(), "-"), e && e.length > 0 && this.decode(e); } hasField(e) { return this.fields.has(e); } getFieldValue(e) { return this.fields.has(e) ? this.fields.get(e) : null; } setFieldValue(e, t) { if (!this.fields.has(e)) throw new q(e + " not found"); this.fields.set(e, t); } toObj() { let e = {}; for (const t of this.fields.keys()) { let n = this.fields.get(t); e[t.toString()] = n; } return e; } encode() { let e = ""; return ( (e += this.getFieldValue(i.VERSION.toString())), (e += this.getFieldValue(i.NOTICE.toString())), (e += this.getFieldValue(i.OPT_OUT_SALE.toString())), (e += this.getFieldValue(i.LSPA_COVERED.toString())), e ); } decode(e) { this.setFieldValue(i.VERSION.toString(), parseInt(e.charAt(0))), this.setFieldValue(i.NOTICE.toString(), e.charAt(1)), this.setFieldValue(i.OPT_OUT_SALE.toString(), e.charAt(2)), this.setFieldValue(i.LSPA_COVERED.toString(), e.charAt(3)); } getId() { return Y.ID; } getName() { return Y.NAME; } } (Y.ID = 6), (Y.VERSION = 1), (Y.NAME = "uspv1"); class Q { static encode(e, t, n) { let s = ""; for (let n = 0; n < e.length; n++) s += m.encode(e[n], t); for (; s.length < t * n; ) s += "0"; return s; } static decode(e, t, n) { if (!/^[0-1]*$/.test(e)) throw new C("Undecodable FixedInteger '" + e + "'"); if (e.length > t * n) throw new C("Undecodable FixedIntegerList '" + e + "'"); if (e.length % t != 0) throw new C("Undecodable FixedIntegerList '" + e + "'"); for (; e.length < t * n; ) e += "0"; e.length > t * n && (e = e.substring(0, t * n)); let s = []; for (let n = 0; n < e.length; n += t) s.push(m.decode(e.substring(n, n + t))); for (; s.length < n; ) s.push(0); return s; } } class J extends A { constructor(e, t) { super(), (this.elementBitStringLength = e), (this.numElements = t.length), this.setValue(t); } encode() { return Q.encode(this.value, this.elementBitStringLength, this.numElements); } decode(e) { this.value = Q.decode(e, this.elementBitStringLength, this.numElements); } substring(e, t) { return e.substring(t, t + this.elementBitStringLength * this.numElements); } getValue() { return [...super.getValue()]; } setValue(e) { let t = [...e]; for (let e = t.length; e < this.numElements; e++) t.push(0); t.length > this.numElements && (t = t.slice(0, this.numElements)), super.setValue(t); } } !(function (e) { (e.VERSION = "Version"), (e.SHARING_NOTICE = "SharingNotice"), (e.SALE_OPT_OUT_NOTICE = "SaleOptOutNotice"), (e.SHARING_OPT_OUT_NOTICE = "SharingOptOutNotice"), (e.TARGETED_ADVERTISING_OPT_OUT_NOTICE = "TargetedAdvertisingOptOutNotice"), (e.SENSITIVE_DATA_PROCESSING_OPT_OUT_NOTICE = "SensitiveDataProcessingOptOutNotice"), (e.SENSITIVE_DATA_LIMIT_USE_NOTICE = "SensitiveDataLimitUseNotice"), (e.SALE_OPT_OUT = "SaleOptOut"), (e.SHARING_OPT_OUT = "SharingOptOut"), (e.TARGETED_ADVERTISING_OPT_OUT = "TargetedAdvertisingOptOut"), (e.SENSITIVE_DATA_PROCESSING = "SensitiveDataProcessing"), (e.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS = "KnownChildSensitiveDataConsents"), (e.PERSONAL_DATA_CONSENTS = "PersonalDataConsents"), (e.MSPA_COVERED_TRANSACTION = "MspaCoveredTransaction"), (e.MSPA_OPT_OUT_OPTION_MODE = "MspaOptOutOptionMode"), (e.MSPA_SERVICE_PROVIDER_MODE = "MspaServiceProviderMode"), (e.GPC_SEGMENT_TYPE = "GpcSegmentType"), (e.GPC_SEGMENT_INCLUDED = "GpcSegmentIncluded"), (e.GPC = "Gpc"); })(r || (r = {})); class K extends G { constructor(e) { let t = new Map(); t.set(r.VERSION.toString(), new P(6, K.VERSION)), t.set(r.SHARING_NOTICE.toString(), new P(2, 0)), t.set(r.SALE_OPT_OUT_NOTICE.toString(), new P(2, 0)), t.set(r.SHARING_OPT_OUT_NOTICE.toString(), new P(2, 0)), t.set(r.TARGETED_ADVERTISING_OPT_OUT_NOTICE.toString(), new P(2, 0)), t.set(r.SENSITIVE_DATA_PROCESSING_OPT_OUT_NOTICE.toString(), new P(2, 0)), t.set(r.SENSITIVE_DATA_LIMIT_USE_NOTICE.toString(), new P(2, 0)), t.set(r.SALE_OPT_OUT.toString(), new P(2, 0)), t.set(r.SHARING_OPT_OUT.toString(), new P(2, 0)), t.set(r.TARGETED_ADVERTISING_OPT_OUT.toString(), new P(2, 0)), t.set(r.SENSITIVE_DATA_PROCESSING.toString(), new J(2, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), t.set(r.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS.toString(), new J(2, [0, 0])), t.set(r.PERSONAL_DATA_CONSENTS.toString(), new P(2, 0)), t.set(r.MSPA_COVERED_TRANSACTION.toString(), new P(2, 0)), t.set(r.MSPA_OPT_OUT_OPTION_MODE.toString(), new P(2, 0)), t.set(r.MSPA_SERVICE_PROVIDER_MODE.toString(), new P(2, 0)), t.set(r.GPC_SEGMENT_TYPE.toString(), new P(2, 1)), t.set(r.GPC_SEGMENT_INCLUDED.toString(), new v(!0)), t.set(r.GPC.toString(), new v(!1)), super(t, [ [ r.VERSION.toString(), r.SHARING_NOTICE.toString(), r.SALE_OPT_OUT_NOTICE.toString(), r.SHARING_OPT_OUT_NOTICE.toString(), r.TARGETED_ADVERTISING_OPT_OUT_NOTICE.toString(), r.SENSITIVE_DATA_PROCESSING_OPT_OUT_NOTICE.toString(), r.SENSITIVE_DATA_LIMIT_USE_NOTICE.toString(), r.SALE_OPT_OUT.toString(), r.SHARING_OPT_OUT.toString(), r.TARGETED_ADVERTISING_OPT_OUT.toString(), r.SENSITIVE_DATA_PROCESSING.toString(), r.KNOWN_CHILD_SENSITIVE_DATA_CONSENTS.toString(), r.PERSONAL_DATA_CONSENTS.toString(), r.MSPA_COVERED_TRANSACTION.toString(), r.MSPA_OPT_OUT_OPTION_MODE.toString(), r.MSPA_SERVICE_PROVIDER_MODE.toString(), ], [r.GPC_SEGMENT_TYPE.toString(), r.GPC.toString()], ]), (this.base64UrlEncoder = new _()), e && e.length > 0 && this.decode(e); } encode() { let e = this.encodeSegmentsToBitStrings(), t = []; if ((t.push(this.base64UrlEncoder.encode(e[0])), e[1] && e[1].length > 0)) { !0 === this.fields.get(r.GPC_SEGMENT_INCLUDED).getValue() && t.push(this.base64UrlEncoder.encode(e[1])); } return t.join("."); } decode(e) { let t = e.split("."), n = [], s = !1; for (let e = 0; e < t.length; e++) { let o = this.base64UrlEncoder.decode(t[e]); switch (o.substring(0, 2)) { case "00": n[0] = o; break; case "01": (s = !0), (n[1] = o); break; default: throw new C("Unable to decode segment '" + t[e] + "'"); } } this.decodeSegmentsFromBitStrings(n), this.fields.get(r.GPC_SEGMENT_INCLUDED).setValue(s); } getId() { return K.ID; } getName() { return K.NAME; } } (K.ID = 7), (K.VERSION = 1), (K.NAME = "usnatv1"); class X {} (X.SECTION_ID_NAME_MAP = new Map([ [z.ID, z.NAME], [j.ID, j.NAME], [Y.ID, Y.NAME], [K.ID, K.NAME], ])), (X.SECTION_ORDER = [z.NAME, j.NAME, Y.NAME, K.NAME]); class $ extends C { constructor(e) { super(e), (this.name = "LazyDecodingError"); } } class Z { constructor(e) { (this.sections = new Map()), e ? ((this.encodedString = e), (this.decoded = !1), (this.dirty = !1)) : ((this.encodedString = "DBAA"), (this.decoded = !1), (this.dirty = !1)); } setFieldValue(e, t, n) { if (!this.decoded && null != this.encodedString && this.encodedString.length > 0) try { this.decode(this.encodedString); } catch (e) { throw new $(e.message); } let s = null; if ( (this.sections.has(e) ? (s = this.sections.get(e)) : e === j.NAME ? ((s = new j()), this.sections.set(j.NAME, s)) : e === z.NAME ? ((s = new z()), this.sections.set(z.NAME, s)) : e === Y.NAME ? ((s = new Y()), this.sections.set(Y.NAME, s)) : e === K.NAME && ((s = new K()), this.sections.set(K.NAME, s)), !s) ) throw new q(e + "." + t + " not found"); s.setFieldValue(t, n), (this.dirty = !0); } setFieldValueBySectionId(e, t, n) { this.setFieldValue(X.SECTION_ID_NAME_MAP.get(e), t, n); } getFieldValue(e, t) { if (!this.decoded && null != this.encodedString && this.encodedString.length > 0) try { this.decode(this.encodedString); } catch (e) { throw new $(e.message); } return this.sections.has(e) ? this.sections.get(e).getFieldValue(t) : null; } getFieldValueBySectionId(e, t) { return this.getFieldValue(X.SECTION_ID_NAME_MAP.get(e), t); } hasField(e, t) { if (!this.decoded && null != this.encodedString && this.encodedString.length > 0) try { this.decode(this.encodedString); } catch (e) { throw new $(e.message); } return !!this.sections.has(e) && this.sections.get(e).hasField(t); } hasFieldBySectionId(e, t) { return this.hasField(X.SECTION_ID_NAME_MAP.get(e), t); } hasSection(e) { if (!this.decoded && null != this.encodedString && this.encodedString.length > 0) try { this.decode(this.encodedString); } catch (e) { throw new $(e.message); } return this.sections.has(e); } hasSectionId(e) { return this.hasSection(X.SECTION_ID_NAME_MAP.get(e)); } deleteSection(e) { if (!this.decoded && null != this.encodedString && this.encodedString.length > 0) try { this.decode(this.encodedString); } catch (e) { throw new $(e.message); } this.sections.delete(e), (this.dirty = !0); } deleteSectionById(e) { this.deleteSection(X.SECTION_ID_NAME_MAP.get(e)); } clear() { this.sections.clear(), (this.encodedString = "DBAA"), (this.decoded = !1), (this.dirty = !1); } getHeader() { if (!this.decoded && null != this.encodedString && this.encodedString.length > 0) try { this.decode(this.encodedString); } catch (e) { throw new $(e.message); } let e = new w(); return e.setFieldValue("SectionIds", this.getSectionIds()), e.toObj(); } getSection(e) { if (!this.decoded && null != this.encodedString && this.encodedString.length > 0) try { this.decode(this.encodedString); } catch (e) { throw new $(e.message); } return this.sections.has(e) ? this.sections.get(e).toObj() : null; } getSectionIds() { if (!this.decoded && null != this.encodedString && this.encodedString.length > 0) try { this.decode(this.encodedString); } catch (e) { throw new $(e.message); } let e = []; for (let t = 0; t < X.SECTION_ORDER.length; t++) { let n = X.SECTION_ORDER[t]; if (this.sections.has(n)) { let t = this.sections.get(n); e.push(t.getId()); } } return e; } encode() { if (!this.dirty) return this.encodedString; if (!this.decoded && null != this.encodedString && this.encodedString.length > 0) try { this.decode(this.encodedString); } catch (e) { throw new $(e.message); } let e = [], t = []; for (let n = 0; n < X.SECTION_ORDER.length; n++) { let s = X.SECTION_ORDER[n]; if (this.sections.has(s)) { let n = this.sections.get(s); e.push(n.encode()), t.push(n.getId()); } } let n = new w(); return ( n.setFieldValue("SectionIds", this.getSectionIds()), e.unshift(n.encode()), (this.encodedString = e.join("~")), (this.dirty = !1), this.encodedString ); } decode(e) { (this.encodedString = e), (this.decoded = !1), (this.dirty = !0), this.sections.clear(); let t = e.split("~"), n = new w(t[0]); this.sections.set(w.NAME, n); let s = n.getFieldValue("SectionIds"); for (let e = 0; e < s.length; e++) if (s[e] === j.ID) { let n = new j(t[e + 1]); this.sections.set(j.NAME, n); } else if (s[e] === z.ID) { let n = new z(t[e + 1]); this.sections.set(z.NAME, n); } else if (s[e] === Y.ID) { let n = new Y(t[e + 1]); this.sections.set(Y.NAME, n); } else if (s[e] === K.ID) { let n = new K(t[e + 1]); this.sections.set(K.NAME, n); } (this.decoded = !0), (this.dirty = !1); } encodeSection(e) { if (!this.decoded && null != this.encodedString && this.encodedString.length > 0) try { this.decode(this.encodedString); } catch (e) { throw new $(e.message); } return this.sections.has(e) ? this.sections.get(e).encode() : null; } encodeSectionById(e) { return this.encodeSection(X.SECTION_ID_NAME_MAP.get(e)); } decodeSection(e, t) { if (!this.decoded && null != this.encodedString && this.encodedString.length > 0) try { this.decode(this.encodedString); } catch (e) { throw new $(e.message); } let n = null; this.sections.has(e) ? (n = this.sections.get(e)) : e === j.NAME ? ((n = new j()), this.sections.set(j.NAME, n)) : e === z.NAME ? ((n = new z()), this.sections.set(z.NAME, n)) : e === Y.NAME ? ((n = new Y()), this.sections.set(Y.NAME, n)) : e === K.NAME && ((n = new K()), this.sections.set(K.NAME, n)), n && n.decode(t); } decodeSectionById(e, t) { this.decodeSection(X.SECTION_ID_NAME_MAP.get(e), t); } toObject() { if (!this.decoded && null != this.encodedString && this.encodedString.length > 0) try { this.decode(this.encodedString); } catch (e) { throw new $(e.message); } let e = {}; for (let t = 0; t < X.SECTION_ORDER.length; t++) { let n = X.SECTION_ORDER[t]; this.sections.has(n) && (e[n] = this.sections.get(n).toObj()); } return e; } } !(function (e) { (e.NOT_READY = "not ready"), (e.READY = "ready"); })(a || (a = {})); class ee { constructor() { (this.gppVersion = "1.1"), (this.supportedAPIs = []), (this.eventQueue = new E(this)), (this.cmpStatus = e.LOADING), (this.cmpDisplayStatus = t.HIDDEN), (this.signalStatus = a.NOT_READY), (this.applicableSections = []), (this.gppModel = new Z()); } reset() { this.eventQueue.clear(), (this.cmpStatus = e.LOADING), (this.cmpDisplayStatus = t.HIDDEN), (this.signalStatus = a.NOT_READY), (this.applicableSections = []), (this.supportedAPIs = []), (this.gppModel = new Z()), delete this.cmpId, delete this.cmpVersion, delete this.eventStatus; } } !(function (e) { (e.ADD_EVENT_LISTENER = "addEventListener"), (e.GET_FIELD = "getField"), (e.GET_SECTION = "getSection"), (e.HAS_SECTION = "hasSection"), (e.PING = "ping"), (e.REMOVE_EVENT_LISTENER = "removeEventListener"); })(c || (c = {})); class te { constructor(e, t, n) { (this.success = !0), (this.cmpApiContext = e), Object.assign(this, { callback: t, parameter: n }); } execute() { try { return this.respond(); } catch (e) { return this.invokeCallback(null), null; } } invokeCallback(e) { const t = null !== e; this.callback && this.callback(e, t); } } class ne {} (l = c.ADD_EVENT_LISTENER), (d = c.GET_FIELD), (u = c.GET_SECTION), (g = c.HAS_SECTION), (p = c.PING), (h = c.REMOVE_EVENT_LISTENER), (ne[l] = class extends te { respond() { let e = this.cmpApiContext.eventQueue.add({ callback: this.callback, parameter: this.parameter }), t = new S("listenerRegistered", e, !0, new f(this.cmpApiContext)); this.invokeCallback(t); } }), (ne[d] = class extends te { respond() { if (!this.parameter || 0 === this.parameter.length) throw new Error("<section>.<field> parameter required"); let e = this.parameter.split("."); if (2 != e.length) throw new Error("Field name must be in the format <section>.<fieldName>"); let t = e[0], n = e[1], s = null; "tcfeuv2" != this.parameter && (s = this.cmpApiContext.gppModel.getFieldValue(t, n)), this.invokeCallback(s); } }), (ne[u] = class extends te { respond() { if (!this.parameter || 0 === this.parameter.length) throw new Error("<section> parameter required"); let e = null; "tcfeuv2" != this.parameter && this.cmpApiContext.gppModel.hasSection(this.parameter) && (e = this.cmpApiContext.gppModel.getSection(this.parameter)), this.invokeCallback(e); } }), (ne[g] = class extends te { respond() { if (!this.parameter || 0 === this.parameter.length) throw new Error("<section>[.version] parameter required"); let e = this.cmpApiContext.gppModel.hasSection(this.parameter); this.invokeCallback(e); } }), (ne[p] = class extends te { respond() { let e = new f(this.cmpApiContext); this.invokeCallback(e); } }), (ne[h] = class extends te { respond() { let e = this.parameter, t = this.cmpApiContext.eventQueue.remove(e), n = new S("listenerRemoved", e, t, new f(this.cmpApiContext)); this.invokeCallback(n); } }); class se { constructor(e, t) { if (((this.cmpApiContext = e), t)) { let e = c.ADD_EVENT_LISTENER; if (null == t ? void 0 : t[e]) throw new Error(`Built-In Custom Commmand for ${e} not allowed`); if (((e = c.REMOVE_EVENT_LISTENER), null == t ? void 0 : t[e])) throw new Error(`Built-In Custom Commmand for ${e} not allowed`); this.customCommands = t; } try { this.callQueue = window.__gpp() || []; } catch (e) { this.callQueue = []; } finally { (window.__gpp = this.apiCall.bind(this)), this.purgeQueuedCalls(); } } apiCall(e, t, n, s) { if ("string" != typeof e) t(null, !1); else { if ("events" === e) return this.cmpApiContext.eventQueue.events(); if (t && "function" != typeof t) throw new Error("invalid callback function"); this.isCustomCommand(e) ? this.customCommands[e](t, n) : this.isBuiltInCommand(e) ? new ne[e](this.cmpApiContext, t, n).execute() : t && t(null, !1); } } purgeQueuedCalls() { const e = this.callQueue; (this.callQueue = []), e.forEach((e) => { window.__gpp(...e); }); } isCustomCommand(e) { return this.customCommands && "function" == typeof this.customCommands[e]; } isBuiltInCommand(e) { return void 0 !== ne[e]; } } class oe { static absCall(e, t, n, s) { return new Promise((o, i) => { const r = new XMLHttpRequest(); (r.withCredentials = n), r.addEventListener("load", () => { if (r.readyState == XMLHttpRequest.DONE) if (r.status >= 200 && r.status < 300) { let e = r.response; if ("string" == typeof e) try { e = JSON.parse(e); } catch (e) {} o(e); } else i(new Error(`HTTP Status: ${r.status} response type: ${r.responseType}`)); }), r.addEventListener("error", () => { i(new Error("error")); }), r.addEventListener("abort", () => { i(new Error("aborted")); }), null === t ? r.open("GET", e, !0) : r.open("POST", e, !0), (r.responseType = "json"), (r.timeout = s), (r.ontimeout = () => { i(new Error("Timeout " + s + "ms " + e)); }), r.send(t); }); } static post(e, t, n = !1, s = 0) { return this.absCall(e, JSON.stringify(t), n, s); } static fetch(e, t = !1, n = 0) { return this.absCall(e, null, t, n); } } class ie extends Error { constructor(e) { super(e), (this.name = "GVLError"); } } class re { has(e) { return re.langSet.has(e); } forEach(e) { re.langSet.forEach(e); } get size() { return re.langSet.size; } } re.langSet = new Set([ "BG", "CA", "CS", "DA", "DE", "EL", "EN", "ES", "ET", "FI", "FR", "HR", "HU", "IT", "JA", "LT", "LV", "MT", "NL", "NO", "PL", "PT", "RO", "RU", "SK", "SL", "SV", "TR", "ZH", ]); var ae = (window && window.__awaiter) || function (e, t, n, s) { return new (n || (n = Promise))(function (o, i) { function r(e) { try { c(s.next(e)); } catch (e) { i(e); } } function a(e) { try { c(s.throw(e)); } catch (e) { i(e); } } function c(e) { var t; e.done ? o(e.value) : ((t = e.value), t instanceof n ? t : new n(function (e) { e(t); })).then(r, a); } c((s = s.apply(e, t || [])).next()); }); }; class ce { constructor() { (this.consentLanguages = new re()), (this.language = ce.DEFAULT_LANGUAGE), (this.ready = !1), (this.languageFilename = "purposes-[LANG].json"); } static fromVendorList(e) { let t = new ce(); return t.populate(e), t; } static fromUrl(e) { return ae(this, void 0, void 0, function* () { let t = e.baseUrl; if (!t || 0 === t.length) throw new ie("Invalid baseUrl: '" + t + "'"); if (/^https?:\/\/vendorlist\.consensu\.org\//.test(t)) throw new ie( "Invalid baseUrl! You may not pull directly from vendorlist.consensu.org and must provide your own cache", ); t.length > 0 && "/" !== t[t.length - 1] && (t += "/"); let n = new ce(); if ( ((n.baseUrl = t), e.languageFilename ? (n.languageFilename = e.languageFilename) : (n.languageFilename = "purposes-[LANG].json"), e.version > 0) ) { let s = e.versionedFilename; s || (s = "archives/vendor-list-v[VERSION].json"); let o = t + s.replace("[VERSION]", String(e.version)); n.populate(yield oe.fetch(o)); } else { let s = e.latestFilename; s || (s = "vendor-list.json"); let o = t + s; n.populate(yield oe.fetch(o)); } return n; }); } changeLanguage(e) { return ae(this, void 0, void 0, function* () { const t = e.toUpperCase(); if (!this.consentLanguages.has(t)) throw new ie(`unsupported language ${e}`); if (t !== this.language) { this.language = t; const n = this.baseUrl + this.languageFilename.replace("[LANG]", e); try { this.populate(yield oe.fetch(n)); } catch (e) { throw new ie("unable to load language: " + e.message); } } }); } getJson() { return JSON.parse( JSON.stringify({ gvlSpecificationVersion: this.gvlSpecificationVersion, vendorListVersion: this.vendorListVersion, tcfPolicyVersion: this.tcfPolicyVersion, lastUpdated: this.lastUpdated, purposes: this.purposes, specialPurposes: this.specialPurposes, features: this.features, specialFeatures: this.specialFeatures, stacks: this.stacks, dataCategories: this.dataCategories, vendors: this.fullVendorList, }), ); } isVendorList(e) { return void 0 !== e && void 0 !== e.vendors; } populate(e) { (this.purposes = e.purposes), (this.specialPurposes = e.specialPurposes), (this.features = e.features), (this.specialFeatures = e.specialFeatures), (this.stacks = e.stacks), (this.dataCategories = e.dataCategories), this.isVendorList(e) && ((this.gvlSpecificationVersion = e.gvlSpecificationVersion), (this.tcfPolicyVersion = e.tcfPolicyVersion), (this.vendorListVersion = e.vendorListVersion), (this.lastUpdated = e.lastUpdated), "string" == typeof this.lastUpdated && (this.lastUpdated = new Date(this.lastUpdated)), (this.vendors = e.vendors), (this.fullVendorList = e.vendors), this.mapVendors(), (this.ready = !0)); } mapVendors(e) { (this.byPurposeVendorMap = {}), (this.bySpecialPurposeVendorMap = {}), (this.byFeatureVendorMap = {}), (this.bySpecialFeatureVendorMap = {}), Object.keys(this.purposes).forEach((e) => { this.byPurposeVendorMap[e] = { legInt: new Set(), consent: new Set(), flexible: new Set() }; }), Object.keys(this.specialPurposes).forEach((e) => { this.bySpecialPurposeVendorMap[e] = new Set(); }), Object.keys(this.features).forEach((e) => { this.byFeatureVendorMap[e] = new Set(); }), Object.keys(this.specialFeatures).forEach((e) => { this.bySpecialFeatureVendorMap[e] = new Set(); }), Array.isArray(e) || (e = Object.keys(this.fullVendorList).map((e) => +e)), (this.vendorIds = new Set(e)), (this.vendors = e.reduce((e, t) => { const n = this.vendors[String(t)]; return ( n && void 0 === n.deletedDate && (n.purposes.forEach((e) => { this.byPurposeVendorMap[String(e)].consent.add(t); }), n.specialPurposes.forEach((e) => { this.bySpecialPurposeVendorMap[String(e)].add(t); }), n.legIntPurposes.forEach((e) => { this.byPurposeVendorMap[String(e)].legInt.add(t); }), n.flexiblePurposes && n.flexiblePurposes.forEach((e) => { this.byPurposeVendorMap[String(e)].flexible.add(t); }), n.features.forEach((e) => { this.byFeatureVendorMap[String(e)].add(t); }), n.specialFeatures.forEach((e) => { this.bySpecialFeatureVendorMap[String(e)].add(t); }), (e[t] = n)), e ); }, {})); } getFilteredVendors(e, t, n, s) { const o = e.charAt(0).toUpperCase() + e.slice(1); let i; const r = {}; return ( (i = "purpose" === e && n ? this["by" + o + "VendorMap"][String(t)][n] : this["by" + (s ? "Special" : "") + o + "VendorMap"][String(t)]), i.forEach((e) => { r[String(e)] = this.vendors[String(e)]; }), r ); } getVendorsWithConsentPurpose(e) { return this.getFilteredVendors("purpose", e, "consent"); } getVendorsWithLegIntPurpose(e) { return this.getFilteredVendors("purpose", e, "legInt"); } getVendorsWithFlexiblePurpose(e) { return this.getFilteredVendors("purpose", e, "flexible"); } getVendorsWithSpecialPurpose(e) { return this.getFilteredVendors("purpose", e, void 0, !0); } getVendorsWithFeature(e) { return this.getFilteredVendors("feature", e); } getVendorsWithSpecialFeature(e) { return this.getFilteredVendors("feature", e, void 0, !0); } narrowVendorsTo(e) { this.mapVendors(e); } get isReady() { return this.ready; } static isInstanceOf(e) { return "object" == typeof e && "function" == typeof e.narrowVendorsTo; } } ce.DEFAULT_LANGUAGE = "EN"; var le = (window && window.__awaiter) || function (e, t, n, s) { return new (n || (n = Promise))(function (o, i) { function r(e) { try { c(s.next(e)); } catch (e) { i(e); } } function a(e) { try { c(s.throw(e)); } catch (e) { i(e); } } function c(e) { var t; e.done ? o(e.value) : ((t = e.value), t instanceof n ? t : new n(function (e) { e(t); })).then(r, a); } c((s = s.apply(e, t || [])).next()); }); }; class de { constructor(e, t, n) { (this.cmpApiContext = new ee()), (this.cmpApiContext.cmpId = e), (this.cmpApiContext.cmpVersion = t), (this.callResponder = new se(this.cmpApiContext, n)); } fireEvent(e, t) { this.cmpApiContext.eventQueue.exec(e, t); } fireErrorEvent(e) { this.cmpApiContext.eventQueue.exec("error", e); } fireSectionChange(e) { this.cmpApiContext.eventQueue.exec("sectionChange", e); } getEventStatus() { return this.cmpApiContext.eventStatus; } setEventStatus(e) { this.cmpApiContext.eventStatus = e; } getCmpStatus() { return this.cmpApiContext.cmpStatus; } setCmpStatus(e) { (this.cmpApiContext.cmpStatus = e), this.cmpApiContext.eventQueue.exec("cmpStatus", e); } getCmpDisplayStatus() { return this.cmpApiContext.cmpDisplayStatus; } setCmpDisplayStatus(e) { (this.cmpApiContext.cmpDisplayStatus = e), this.cmpApiContext.eventQueue.exec("cmpDisplayStatus", e); } getSignalStatus() { return this.cmpApiContext.signalStatus; } setSignalStatus(e) { (this.cmpApiContext.signalStatus = e), this.cmpApiContext.eventQueue.exec("signalStatus", e); } getApplicableSections() { return this.cmpApiContext.applicableSections; } setApplicableSections(e) { this.cmpApiContext.applicableSections = e; } getSupportedAPIs() { return this.cmpApiContext.supportedAPIs; } setSupportedAPIs(e) { this.cmpApiContext.supportedAPIs = e; } setGppString(e) { this.cmpApiContext.gppModel.decode(e); } getGppString() { return this.cmpApiContext.gppModel.encode(); } setSectionString(e, t) { this.cmpApiContext.gppModel.decodeSection(e, t); } setSectionStringById(e, t) { this.setSectionString(X.SECTION_ID_NAME_MAP.get(e), t); } getSectionString(e) { return this.cmpApiContext.gppModel.encodeSection(e); } getSectionStringById(e) { return this.getSectionString(X.SECTION_ID_NAME_MAP.get(e)); } setFieldValue(e, t, n) { this.cmpApiContext.gppModel.setFieldValue(e, t, n); } setFieldValueBySectionId(e, t, n) { this.setFieldValue(X.SECTION_ID_NAME_MAP.get(e), t, n); } getFieldValue(e, t) { return this.cmpApiContext.gppModel.getFieldValue(e, t); } getFieldValueBySectionId(e, t) { return this.getFieldValue(X.SECTION_ID_NAME_MAP.get(e), t); } getSection(e) { return this.cmpApiContext.gppModel.getSection(e); } getSectionById(e) { return this.getSection(X.SECTION_ID_NAME_MAP.get(e)); } hasSection(e) { return this.cmpApiContext.gppModel.hasSection(e); } hasSectionId(e) { return this.hasSection(X.SECTION_ID_NAME_MAP.get(e)); } deleteSection(e) { this.cmpApiContext.gppModel.deleteSection(e); } deleteSectionById(e) { this.deleteSection(X.SECTION_ID_NAME_MAP.get(e)); } clear() { this.cmpApiContext.gppModel.clear(); } getObject() { return this.cmpApiContext.gppModel.toObject(); } getGvlFromVendorList(e) { return ce.fromVendorList(e); } getGvlFromUrl(e) { return le(this, void 0, void 0, function* () { return ce.fromUrl(e); }); } } (window.WBD = window.WBD || {}), (window.WM = window.WM || {}), (function (e, t) { if ("function" != typeof e.CustomEvent) { var n = function (e, n) { var s; return ( (n = n || { bubbles: !1, cancelable: !1, detail: void 0 }), (s = t.createEvent("CustomEvent")).initCustomEvent(e, n.bubbles, n.cancelable, n.detail), s ); }; (n.prototype = e.Event.prototype), (e.CustomEvent = n), "function" !== e.Event && (e.Event = n); } })(window, document), (window.WBD.UserConsent = window.WBD.UserConsent || (function (e, t) { var n, s, o, i = "", r = 0, a = {}, c = {}, l = !1, d = [], u = "", g = 0, p = "", h = null, S = null, f = "unknown", E = {}, C = !1, m = {}, I = "", T = "", _ = "", O = "", N = { tcfeuv2: 2, tcfcav1: 5, uspv1: 6, usnatv1: 7 }, b = null, A = 0, y = "", P = "", D = null, w = !1, v = !1, R = "en", V = { binary: !0, boolean: !0, trinary: !0, integer: !0 }, L = "", k = "", U = !1, M = "4.1.5", x = null, G = !1, F = !1, B = null, W = !1, H = !1, z = !1, j = null, q = "", Y = { addtlConsentCookie: "OTAdditionalConsentString", adChoicesLinkAction: "https://www.warnermediaprivacy.com/policycenter/b2c/WMNS/", adChoicesLinkTitle: { ar: "丕禺鬲賷丕乇丕鬲 丕賱廿毓賱丕賳", de: "Anzeigenauswahl", en: "Ad Choices", es: "Elecciones de anuncios", fr: "Choix d鈥檃nnonces", }, categories: { req: "required", dsa: "data-store", cad: "ads-contextual", pap: "ads-person-prof", pad: "ads-person", pcp: "content-person-prof", pcd: "content-person", map: "measure-ads", mcp: "measure-content", mra: "measure-market", pdd: "product-develop", ccd: "content-contextual", sec: "product-security", tdc: "deliver-content", cos: "combine-data", dlk: "link-devices", did: "id-devices", gld: "geolocate", sid: "scan-devices", dsh: "data-share", dsl: "data-sell", pdu: "personal-data", kc12: "known-child-12", kc16: "known-child-16", sdre: "sensitive-racial", sdrb: "sensitive-belief", sdhe: "sensitive-health", sdso: "sensitive-sexual", sdir: "sensitive-citizen", sdge: "sensitive-gene", sdbm: "sensitive-biometric", sdsp: "sensitive-spi", sdss: "sensitive-ssi", sduo: "sensitive-org", sdco: "sensitive-comm", }, ccCookie: "countryCode", ccpaGeos: ["US"], compatCategories: { vendor: ["data-share", "data-sell", "ads-person-prof", "ads-person"], "targeted-ads": ["ads-person-prof", "ads-person"], "sensitive-geo": ["geolocate"], }, confirmCookie: "OptanonAlertBoxClosed", consentChangeAction: null, consentChangeActionDelay: 1e3, consentCookie: "OptanonConsent", consentDefaults: { required: !0, "data-store": !0, "ads-contextual": !0, "ads-person": !0, "ads-person-prof": !0, "content-person": !0, "content-person-prof": !0, "measure-ads": !0, "measure-content": !0, "measure-market": !0, "product-develop": !0, "content-contextual": !1, "product-security": !0, "deliver-content": !0, "combine-data": !0, "link-devices": !0, "id-devices": !0, geolocate: !1, "scan-devices": !1, "data-share": !0, "data-sell": !0, "personal-data": !1, "known-child-12": !1, "known-child-16": !1, "sensitive-racial": !1, "sensitive-belief": !1, "sensitive-health": !1, "sensitive-sexual": !1, "sensitive-citizen": !1, "sensitive-gene": !1, "sensitive-biometric": !1, "sensitive-spi": !1, "sensitive-ssi": !1, "sensitive-org": !1, "sensitive-comm": !1, }, consentExpireIn: 1, consentNotApplicable: [ "personal-data", "known-child-12", "known-child-16", "sensitive-racial", "sensitive-belief", "sensitive-health", "sensitive-sexual", "sensitive-citizen", "sensitive-gene", "sensitive-biometric", "geolocate", "sensitive-spi", "sensitive-ssi", "sensitive-org", "sensitive-comm", ], consentLinkTitle: { ar: "賲賱賮丕鬲 鬲毓乇賷賮 丕賱丕乇鬲亘丕胤", de: "Cookie-Einstellungen", en: "Cookie Settings", es: "Configuraci贸n de Cookies", fr: "Param猫tres des Cookies", }, controlCookie: "OptanonControl", cookieSameSite: "Lax", cookieSecure: !1, defaultCountry: "GB", defaultLanguage: "en", defaultState: "", enableDebug: !1, enableGPC: !0, enableTransitionCheck: !0, enableWebViewCheck: !0, gdprIabCookie: "eupubconsent-v2", geoCheckFunction: null, geoPassedToOneTrust: !0, gpcFixCookie: "", gppCategories: { usnatv1: [ { field: "SharingNotice", type: "trinary", default: 1 }, { field: "SaleOptOutNotice", type: "trinary", default: 1 }, { field: "SharingOptOutNotice", type: "trinary", default: 1 }, { field: "TargetedAdvertisingOptOutNotice", type: "trinary", default: 1 }, { field: "SharingOptOut", type: "trinary", val: "data-share" }, { field: "SaleOptOut", type: "trinary", val: "data-sell" }, { field: "TargetedAdvertisingOptOut", type: "trinary", val: ["ads-person-prof", "ads-person"] }, { field: "PersonalDataConsents", type: "trinary", default: 0, val: "personal-data" }, { field: "KnownChildSensitiveDataConsents", type: "array-trinary", default: [0, 0], maxCount: 2, 0: "known-child-12", 1: "known-child-16", }, { field: "SensitiveDataProcessing", type: "array-trinary", default: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], maxCount: 12, 0: "sensitive-racial", 1: "sensitive-belief", 2: "sensitive-health", 3: "sensitive-sexual", 4: "sensitive-citizen", 5: "sensitive-gene", 6: "sensitive-biometric", 7: "geolocate", 8: "sensitive-spi", 9: "sensitive-ssi", 10: "sensitive-org", 11: "sensitive-comm", }, ], uspv1: [ { field: "OptOutSale", type: "binary", val: ["data-share", "data-sell", "ads-person-prof", "ads-person"], }, ], }, gppIabCookie: "OTGPPConsent", gppSection: "", iabRegion: "", languageFromBrowser: !0, oneTrustLoadTimeout: 1e4, privacyCenterLinkAction: "https://www.warnermediaprivacy.com/policycenter/b2c/WMNS/", privacyCenterLinkTitle: { ar: "爻賷丕爻丞 禺氐賵氐賷丞 丕賱賲爻鬲賴賱賰", de: "Datenschutzhinweise", en: "Privacy Policy", es: "Pol铆tica de Privacidad", fr: "Politique de Confidentialit茅", }, regionChangeAction: null, regions: [ { id: "us", compatCodes: { ven: ["dsh", "dsl", "pap", "pad"], tpv: ["dsh", "dsl", "pap", "pad"] }, compatTransition: { cond: !1, new: ["dsh", "dsl", "pap", "pad"], old: "ven" }, consentExpireIn: 3, consentGpcDefaults: { "data-share": !1, "data-sell": !1, "ads-person-prof": !1, "ads-person": !1 }, consentImpliedDefaults: { "data-store": !0, "ads-contextual": !0, "content-person": !0, "content-person-prof": !0, "measure-ads": !0, "measure-content": !0, "measure-market": !0, "product-develop": !0, "content-contextual": !0, "product-security": !0, "deliver-content": !0, "combine-data": !0, "link-devices": !0, "id-devices": !0, }, consentLinkTitle: { ar: "賱丕 鬲亘賷毓 兀賵 鬲卮丕乇賰 賲毓賱賵賲丕鬲賷 丕賱卮禺氐賷丞", de: "Nicht Verkauf oder Nicht Weitergabe Ihrer personenbezogenen Daten zu stellen", en: "Do Not Sell Or Share My Personal Information", es: "No Venda Vi Comparta Mi Informaci贸n Personal", fr: "Ne pas vendre ni partager mes informations personnelles", }, rightsRequestLinkAction: "https://www.warnermediaprivacy.com/", geoMatch: ["US"], gppSection: "usnatv1", iabRegion: "ccpa", }, { id: "gdpr", consentDefaults: { "data-store": !1, "ads-contextual": !1, "ads-person-prof": !1, "ads-person": !1, "content-person-prof": !1, "content-person": !1, "measure-ads": !1, "measure-content": !1, "measure-market": !1, "product-develop": !1, "content-contextual": !1, "combine-data": !1, "link-devices": !1, "id-devices": !1, }, consentImpliedDefaults: { "product-security": !0, "deliver-content": !0, "combine-data": !0, "link-devices": !0, "id-devices": !0, "data-share": !0, "data-sell": !0, }, consentLinkTitle: { ar: "廿丿丕乇丞 賲賱賮丕鬲 鬲毓乇賷賮 丕賱丕乇鬲亘丕胤+", de: "Cookies Verwalten+", en: "Manage Cookies+", es: "Administrar cookies+", fr: "G茅rer les Cookies+", }, geoMatch: [ "GB", "DE", "FR", "IT", "ES", "PL", "RO", "NL", "BE", "GR", "CZ", "PT", "SE", "HU", "AT", "BG", "DK", "FI", "SK", "IE", "HR", "LT", "SI", "LV", "EE", "CY", "LU", "MT", "NO", "IS", "LI", ], iabRegion: "gdpr", }, { id: "global", geoMatch: ["*"], useFixedConsent: !0 }, ], reloadOnConsentChange: !0, reloadOnConsentReduction: !1, rightsRequestLinkAction: "https://www.warnermediaprivacy.com/policycenter/Individualrights/", rightsRequestLinkTitle: { ar: "亘賵丕亘丞 胤賱亘丕鬲 丕賱丨賯賵賯 丕賱賮乇丿賷丞", de: "Anfrageportal f眉r Individualrechte", en: "Individual Rights Request Portal", es: "Portal de solicitud de derechos individuales", fr: "Portail de demande de droits des individus", }, scCookie: "stateCode", setPageClass: !0, src: "https://cdn.cookielaw.org/scripttemplates/otSDKStub.js", strictIabCompliance: !0, tcfOpts: { categories: { purposes: [ "data-store", "ads-contextual", "ads-person-prof", "ads-person", "content-person-prof", "content-person", "measure-ads", "measure-content", "measure-market", "product-develop", "content-contextual", ], specialPurposes: ["product-security", "deliver-content"], features: ["combine-data", "link-devices", "id-devices"], specialFeatures: ["geolocate", "scan-devices"], }, policies: { 2: { iabMaxPurposes: 10, iabMaxSpecialFeats: 2 }, 3: { iabMaxPurposes: 10, iabMaxSpecialFeats: 2 }, 4: { iabMaxPurposes: 11, iabMaxSpecialFeats: 2 }, }, }, ucFlavor: "iab", useFixedConsent: !1, useGPP: !0, useIAB: !0, useIabString: !0, uspApiCookieName: "usprivacy", uspApiExplicitNotice: !0, uspApiIsLspa: !1, }; function Q(e) { const t = Array.prototype.slice.call(arguments); (t[0] = "[WMUC]" + (0 === I.length ? "" : " (" + I + ")") + ":"), "error" === e ? console.error.apply(console, t) : console.log.apply(console, t); } function J(e) { const n = t.cookie.match(new RegExp("(^|;) *" + e + " *= *([^;]+)")); return n ? n.pop() : null; } function K(e, n, s) { e && ((s = s || {}), (t.cookie = e + "=" + ("string" == typeof n ? n : "") + "; Domain=" + (s.domain || c.cookieDomain) + "; Path=" + (s.path || "/") + (s.maxage ? "; Max-Age=" + s.maxage : s.expires ? "; Expires=" + s.expires : "") + (s.secure ? "; Secure" : "") + (s.samesite ? "; SameSite=" + s.samesite : ""))); } function X(t) { if ("function" == typeof e.atob) try { return atob(t.replace(/_/g, "/").replace(/-/g, "+")); } catch (e) { Q("error", "Failed to decode TC string"); } return ""; } function $(e) { return !!Number(e); } function Z(e) { return parseInt(e, 2) || 0; } function ee(e) { return 100 * Z(e); } function te(e) { const t = "A".charCodeAt(), n = e.match(/.{6}/g) || []; let s = ""; for (let e = 0; e < n.length; e++) s += String.fromCharCode(Z(n[e]) + t); return s; } function ne(e) { const t = e.split(""); let n = {}; for (let e = 0; e < t.length; e++) $(t[e]) && (n[e + 1] = !0); return n; } function se(e) { let t = 0, n = {}, s = function (e, t, n, s) { let o = () => { if (s.pubRestrictionEntry && s.rangeEntry) for (let e in s.rangeEntry) Object.prototype.hasOwnProperty.call(s.rangeEntry, e) && (s.pubRestrictionEntry[e] = (s.pubRestrictionEntry[e] || []).concat(s.rangeEntry[e])); s.numPubRestrictions && (s.numPubRestrictions--, e.push( { key: "purposeId", size: 6 }, { key: "restrictionType", size: 2 }, { key: "numEntries", size: 12 }, )); }, i = () => { s.numEntries ? (s.numEntries--, e.push({ key: "isARange", size: 1, decoder: $ }, { key: "startVendorId", size: 16 })) : o(); }, r = () => !s.purposeId || [ { purpose: s.purposeId, isAllowed: 0 !== s.restrictionType, isConsentRequired: 1 === s.restrictionType, isLegitimateInterestRequired: 2 === s.restrictionType, }, ]; if ("isRangeEncoding" === t.key) e.push(n ? { key: "numEntries", size: 12 } : { key: "bitField", size: s.maxVendorId, decoder: ne }); else if ("numEntries" === t.key) (s.rangeEntry = {}), i(); else if ("isARange" === t.key) n && e.push({ key: "endVendorId", size: 16 }); else if ("startVendorId" === t.key) s.isARange || ((s.rangeEntry[n] = r()), i()); else if ("endVendorId" === t.key) { for (let e = s.startVendorId; e <= s.endVendorId; e += 1) s.rangeEntry[e] = r(); i(); } else "numCustomPurposes" === t.key ? e.push( { key: "customPurposeConsents", size: s.numCustomPurposes, decoder: ne }, { key: "customPurposeLegitimateInterests", size: s.numCustomPurposes, decoder: ne }, ) : "numPubRestrictions" === t.key && ((s.pubRestrictionEntry = {}), o()); }, o = (e) => e.pubRestrictionEntry || e.rangeEntry || e.bitField || e, i = (e, n) => { const s = n.slice(t, t + e.size); return (t += e.size), (e.decoder || Z)(s); }, r = (e, t) => { let n = {}; if (!e.queue) return i(e, t); for (let o = 0; o < e.queue.length; o += 1) { let r = e.queue[o], a = i(r, t); r.key && (n[r.key] = a), s(e.queue, r, a, n); } return o(n); }, a = (e, t) => { let n = {}; for (let o = 0; o < e.queue.length; o++) { let i = e.queue[o], a = r(i, t); i.key && (n[i.key] = a), s(e.queue, i, a, n); } return o(n); }; const c = (function (e) { let t, n = []; if ("string" != typeof e) return Q("error", "Invalid TC string specified"), n; t = e.split("."); for (let e = 0; e < t.length; e++) { let s = X(t[e]), o = ""; for (let e = 0; e < s.length; e++) { let t = s.charCodeAt(e).toString(2); o += "00000000".slice(0, 8 - t.length) + t; } n.push(o); } return 2 !== Z(n[0].slice(0, 6)) ? (Q("error", "Unsupported TC string version"), []) : n; })(e), l = (function (e) { const t = [ { key: "purposeConsents", size: 24, decoder: ne }, { key: "purposeLegitimateInterests", size: 24, decoder: ne }, ], n = [ { key: "maxVendorId", size: 16 }, { key: "isRangeEncoding", size: 1, decoder: $ }, ], s = [ { key: "version", size: 6 }, { key: "created", size: 36, decoder: ee }, { key: "lastUpdated", size: 36, decoder: ee }, { key: "cmpId", size: 12 }, { key: "cmpVersion", size: 12 }, { key: "consentScreen", size: 6 }, { key: "consentLanguage", size: 12, decoder: te }, { key: "vendorListVersion", size: 12 }, { key: "tcfPolicyVersion", size: 6 }, { key: "isServiceSpecific", size: 1, decoder: $ }, { key: "useNonStandardStacks", size: 1, decoder: $ }, { key: "specialFeatureOptins", size: 12, decoder: ne }, ] .concat(t) .concat( { key: "purposeOneTreatment", size: 1, decoder: $ }, { key: "publisherCountryCode", size: 12, decoder: te }, { key: "vendorConsents", queue: [ { key: "maxVendorId", size: 16 }, { key: "isRangeEncoding", size: 1, decoder: $ }, ], }, { key: "vendorLegitimateInterests", queue: n }, { key: "publisherRestrictions", queue: [{ key: "numPubRestrictions", size: 12 }] }, ), o = [{ size: 3 }], i = [].concat(o).concat(n), r = [].concat(o).concat(n), a = [].concat(o).concat(t).concat({ key: "numCustomPurposes", size: 6 }); let c = [{ key: "core", queue: s }]; for (let t = 1; t < e.length; t++) { let n = Z(e[t].slice(0, 3)); 1 === n ? c.push({ key: "disclosedVendors", queue: i }) : 2 === n ? c.push({ key: "allowedVendors", queue: r }) : 3 === n && c.push({ key: "publisherTC", queue: a }); } return c; })(c); for (let e = 0; e < l.length; e++) { let s = a(l[e], c[e]); l[e].key && (n[l[e].key] = s), (t = 0); } return n; } function oe(e) { let t = !1; for (let n = 0; n < e.length; n++) if (e[n]) if (T === e[n] || O === e[n] || "*" === e[n] || e[n] === c.regId) t = !0; else if ("!" === e[n].charAt(0)) { let s = e[n].substring(1); if (T === s || O === s || c.regId === s) { t = !1; break; } } return t; } function ie(e, t) { let n = t ? new Date(t) : new Date(); return n.setUTCFullYear(n.getUTCFullYear() + e), n; } function re(e) { let t; return ( (t = "object" == typeof e && null !== e ? e[R] || e[c.defaultLanguage] || "" : "string" == typeof e ? e : ""), t ); } function ae(e) { let t = {}; if (e) for (let s = 0; s < n.length; s++) t[n[s]] = e[n[s]]; else Q("error", "Critical Error: Attempt to read or copy consent before UserConsent is initialized!"); return t; } function ce(e, t) { if (t) { e = e || {}; for (let s = 0; s < n.length; s++) "boolean" == typeof t[n[s]] && (e[n[s]] = t[n[s]]); } return e; } function le() { if (!w) { if (e.OneTrust && "function" == typeof e.OneTrust.getGeolocationData) { let t = e.OneTrust.getGeolocationData(); !t || (t.country === T && t.state === _) ? (w = !0) : "function" == typeof e.OneTrust.setGeoLocation ? (e.OneTrust.setGeoLocation(T, _), (w = !0)) : e.OneTrustStub && "function" == typeof e.OneTrustStub.setGeoLocation && (e.OneTrustStub.setGeoLocation(T, _), (w = !0)); } else e.OneTrustStub && "function" == typeof e.OneTrustStub.setGeoLocation && (e.OneTrustStub.setGeoLocation(T, _), (w = !0)); C && Q("debug", w ? "Set OneTrust geo-location." : "Not yet able to set OneTrust geo-location."); } } function ue(e, t, s) { let o = b.getFieldValue(e, t.field), i = t.type.toLowerCase(), r = (e, t, o) => { const i = "string" == typeof t ? [t] : t, r = "boolean" === o ? e : "trinary" === o ? 2 === e : 0 !== e; for (let e of i) (0 === c.consentNotApplicable.length || c.consentNotApplicable.indexOf(e) < 0) && (n.indexOf(e) >= 0 && c.consentNotApplicable.indexOf(e) < 0 ? (s[e] = r) : Q("error", 'Invalid consent "' + e + '" specified in GPP Categories!')); }; if (i.startsWith("array")) if (((i = i.substring(6)), V[i] && t.maxCount && Array.isArray(o))) for (let e = 0; e < t.maxCount; e++) t[e] && r(o[e], t[e], i); else Q( "error", 'Error: Unparsable data type "' + i + '" or missing maxCount in GPP Categories "' + t.field + '" value!', ); else t.val && (V[i] ? r(o, void 0 !== t.val ? t.val : t.default, i) : Q("error", 'Error: Unparsable data type "' + i + '" in GPP Categories!')); } function ge(e, t, s) { let o = b.getFieldValue(e, t.field), i = t.type.toLowerCase(), r = (e, t) => { const o = "string" == typeof e ? [e] : e; let i = 0, r = !0; for (let e of o) n.indexOf(e) >= 0 ? void 0 !== s[e] && ((r = r && s[e]), i++) : Q("error", 'Invalid consent "' + e + '" specified in GPP Categories!'); return i > 0 ? ("boolean" === t ? r : "trinary" === t ? (r ? 2 : 1) : r ? 1 : 0) : "boolean" !== t && 0; }; try { if (i.startsWith("array")) { if (((i = i.substring(6)), !V[i])) throw "unparse"; if (!t.maxCount || !Array.isArray(o)) throw "badarray"; for (let e = 0; e < t.maxCount; e++) t[e] ? (o[e] = r(t[e], i)) : t.default && void 0 !== t.default[e] && (o[e] = t.default[e]); } else { if (!V[i]) throw "unparse"; t.val ? (o = r(t.val, i)) : void 0 !== t.default && (o = t.default); } b.setFieldValue(e, t.field, o); } catch (e) { Q( "error", "unparse" === e ? 'Error: Unparsable data type "' + i + '" in GPP Categories!' : "badarray" === e ? 'Error: Missing maxCount or bad array in GPP Categories "' + t.field + '" value!' : 'Failed to set GPP field "' + t.field + '" value!', ); } } function pe(t) { const n = c.gppSection; let s = "string" == typeof t ? t : "", o = "CMP", i = null; if ( ("" === s && (c.useExternalConsent ? ((s = e.OTExternalConsent.gppString || ""), (o = "external consent")) : ((s = (function (e) { let t; if (null === (t = J(e))) { t = ""; for (let n = 1, s = null; "" !== s && n < 10; n++, t += s) s = J(e + n.toString(10)) || ""; } return t; })(c.gppIabCookie) || ""), (o = "cookie"))), "" === s) ) return C && Q("debug", "No GPP string present."), null; if ((b.setGppString(s), !b.hasSection(n) || !Array.isArray(c.gppCategories[n]))) return C && Q("debug", "GPP string present, but for different region/section."), null; b.setApplicableSections([N[n]]); const r = c.gppCategories[n]; i = ae(c.consentDefaults); for (let e of r) "object" == typeof e && null !== e && e.field && ue(n, e, i); return ( c.useExternalConsent || (b.getFieldValue(n, "GpcSegmentIncluded") && !b.getFieldValue(n, "Gpc") === F && (b.setFieldValue(n, "Gpc", F), (s = b.getGppString())), F && (i = ce(i, c.consentGpcDefaults))), s !== y && (y = s), C && Q("debug", "Processed GPP string from " + o + ": " + y), i ); } function he(e, t) { const n = c.gppSection; if ("string" == typeof e && e.length > 0) try { b.setGppString(e), (y = e) && b.hasSection(n) && b.setApplicableSections([N[n]]), C && Q("debug", "GPP string set from CMP: ", e); } catch (e) { return Q("error", "Failed to set GPP string: ", e), !1; } else { if ("object" != typeof t || null === t || !Array.isArray(c.gppCategories[c.gppSection])) return Q("error", "Failed to set GPP string, invalid parameters."), !1; try { if ((y || b.setApplicableSections([N[n]]), Array.isArray(c.gppCategories[n]))) { const e = c.gppCategories[n]; for (let s of e) "object" == typeof s && null !== s && s.field && ge(n, s, t); } F && b.setFieldValue(n, "Gpc", F), (y = b.getGppString()) && b.hasSection(n) && b.setApplicableSections([N[n]]), C && Q("debug", "GPP string set from consent state: ", y); } catch (e) { return Q("error", "Failed to set GPP string: ", e), !1; } } return !0; } function Se(t) { let n; return ( c.useExternalConsent || (function () { let e = J(c.consentCookie); if (e && e.indexOf("&groups=") >= 0) { const t = e.split("&"); for (let e = 0; e < t.length; e++) { let n = t[e]; if (n) { let e = n.split("="), t = e[0], s = e[1]; "version" === t && s ? (f = s) : "consentId" === t && s && (u = s); } } return !0; } return !1; })() || ((l = !1), (S = null)), !l || c.useFixedConsent ? ((n = ae(c.consentDefaults)), (p = "defaults")) : !0 !== c.useExternalConsent && z && c.gppIabCookie && (n = pe(t)) ? (p = t ? "gpp string" : c.gppIabCookie + " cookie") : !0 !== c.useExternalConsent && H && c.gdprIabCookie && (n = (function (t, n) { let s = null; if ("string" == typeof t && 0 !== t.length) { let o, r; if ( (!0 === c.useExternalConsent && e.OTExternalConsent.tcString ? ((L = e.OTExternalConsent.tcString), (o = "external consent"), (r = o), (i = e.OTExternalConsent.addtlConsent ? e.OTExternalConsent.addtlConsent : "")) : ((L = J(t)), (o = '"' + t + '" cookie'), (r = '"' + n + '" cookie'), null === (i = "string" == typeof n && 0 !== n.length ? J(n) : "") && (i = "")), L && c.useIabString) ) { const e = se(L); if ( e && e.core && "object" == typeof c.tcfOpts.policies[e.core.tcfPolicyVersion] && e.core.purposeConsents ) { let t, n, a = c.tcfOpts.policies[e.core.tcfPolicyVersion], l = e.core.purposeConsents, d = e.core.purposeLegitimateInterests || {}, u = e.core.specialFeatureOptins || {}; for ( C && Q( "debug", "Processed TC string (policy " + e.core.tcfPolicyVersion + ") from " + o + ": ", e, ), k = e.core.tcfPolicyVersion, s = ae(c.consentImpliedDefaults), t = 1; t <= c.tcfOpts.categories.purposes.length; t++ ) (n = c.tcfOpts.categories.purposes[t - 1]), "unused" !== n && (t <= a.iabMaxPurposes ? (s[n] = "boolean" == typeof l[t] ? l[t] : "boolean" == typeof d[t] ? d[t] : "boolean" == typeof c.consentImpliedDefaults[n] && c.consentImpliedDefaults[n]) : (s[n] = "boolean" == typeof c.consentImpliedDefaults[n] && c.consentImpliedDefaults[n])); for (t = 1; t <= c.tcfOpts.categories.specialFeatures.length; t++) (n = c.tcfOpts.categories.specialFeatures[t - 1]), "unused" !== n && (t <= a.iabMaxSpecialFeats ? (s[n] = "boolean" == typeof u[t] ? u[t] : "boolean" == typeof c.consentImpliedDefaults[n] && c.consentImpliedDefaults[n]) : (s[n] = "boolean" == typeof c.consentImpliedDefaults[n] && c.consentImpliedDefaults[n])); 0 !== i.length && -1 === i.search(/^\d+~[\d\.]*$/) && (Q("error", "Error: Invalid AC string in " + r + "."), (i = "")); } else Q("error", "Error: Invalid TC string in " + o + "."), (L = ""), (i = ""); } else c.useIabString ? ((L = ""), (i = "")) : C && Q("debug", "Bypassed parsing TC string."); } return s; })(c.gdprIabCookie, c.addtlConsentCookie)) ? (p = c.gdprIabCookie + " cookie") : (n = (function () { let t = J(c.consentCookie), n = null; if ( (c.useExternalConsent && ((t = "groups=" + encodeURIComponent(e.OTExternalConsent.groups)), (F = !1)), t && t.indexOf("&groups=") >= 0) ) { const e = t.split("&"); for (let t = 0; t < e.length; t++) { let s = e[t]; if (s) { let e = s.split("="), t = e[0], o = e[1]; if ("groups" === t && o) { let e = decodeURIComponent(o).split(","), t = [], s = [], i = 0, r = !1; n = ce(ae(c.consentDefaults), c.consentImpliedDefaults); for (let o = 0; o < e.length; o++) { let a = e[o].split(":"), l = a[0].toLowerCase(), d = "1" === a[1]; l && (c.categories[l] ? ((n[c.categories[l]] = d), "required" !== c.categories[l] && i++) : (c.compatTransition && c.compatTransition.old === l && c.compatTransition.cond === d && (r = !0), c.compatCodes[l] && (t.push(l), s.push(d)))); } if (0 === i && t.length > 0) { G = !0; for (let e = 0; e < t.length; e++) { let o = c.compatCodes[t[e]]; o && !Array.isArray(o) && (o = [o]); for (let t of o) { let o = c.categories[t]; o && ((n[o] = s[e]), i++); } } } else if (r && c.compatTransition.new) if (Array.isArray(c.compatTransition.new)) for (let e = 0; e < c.compatTransition.new.length; e++) (n[c.categories[c.compatTransition.new[e]]] = c.compatTransition.cond), i++; else (n[c.categories[c.compatTransition.new]] = c.compatTransition.cond), i++; 0 === i && (n = null); } } } } return n; })()) ? (p = c.useExternalConsent ? "external consent" : c.consentCookie + " cookie") : ((n = ae(c.consentDefaults)), (p = "defaults")), c.useExternalConsent || (F && (n = ce(n, c.consentGpcDefaults))), n ); } function fe() { return ae(h); } function Ee() { return U; } function Ce() { return !U; } function me() { return v; } function Ie() { return null !== h; } function Te(e, t) { const n = "iab-" + (c.iabRegion || "N/A"), s = "gpp-" + (c.gppSection || "N/A"); let o = !0, i = "not ready"; if (((t = t || {}), Ie() && e)) { e = Array.isArray(e) ? e : [e]; for (let r = 0; r < e.length && o; r++) if (((i = e[r]), i && "required" !== i)) if ("gpp" === i || "iab-gpp" === i || i === s) { if (z && (!t || !t.ignoreIAB)) break; } else if ("iab" === i || i === n) { if (c.useIAB && "" !== c.iabRegion && (!t || !t.ignoreIAB)) break; } else if ("boolean" == typeof h[i] && !1 === h[i]) o = !1; else if (c.compatCategories[i]) { let e = c.compatCategories[i]; for (let t = 0; t < e.length; t++) { let n = e[t]; if ("boolean" == typeof h[n] && !1 === h[n]) { o = !1; break; } } } } return ( C && !t.internal && ((t.name = t.name || t.id || "unnamed"), d.push({ ts: new Date(), act: t.cact || "CHK", desc: t.name, res: o, note: (!o && i) || "" }), Q( "debug", o ? "Check for consent [" + ((e && e.join(",")) || "empty") + '] ALLOWS "' + t.name + '"' + ("ADD" === t.cact ? ", script added" : "") : "Check for consent [" + ((e && e.join(",")) || "empty") + '] REJECTS "' + t.name + '"' + ("ADD" === t.cact ? ", script NOT added" : ""), )), o ); } function _e() { let e; return ( (e = W ? "1" + (c.uspApiExplicitNotice ? "Y" : "N") + (Te(["vendor"], { internal: !0 }) ? "N" : "Y") + (c.uspApiIsLspa ? "Y" : "N") : "1---"), e !== q && ((q = e), Ce() && (null === j && K(c.uspApiCookieName, e, { domain: c.cookieDomain, path: "/", samesite: c.cookieSameSite, secure: c.cookieSecure, }), C && Q("debug", "USP string updated: ", e))), q ); } function Oe() { let n = function (n, s, o) { let i, r, a = t.createElement(o || "div"); return ( n && (a.id = n), s && (a.className = s), (a.style.width = "1px"), (a.style.display = "block"), (a = t.body.appendChild(a)), (i = e.getComputedStyle(a)), (r = "none" === i.display), a.remove(), r ); }; t.body ? (s = n("onetrust-consent-sdk", "ot-cookie-consent") || n("ot-lst-cnt", "ot-sdk-show-settings") || n("onetrust-pc-sdk", "otPcCenter ot-fade-in") || n("ot-pc-header", "onetrust-pc-dark-filter") || n("ot-pc-content", "ot-pc-scrollbar") || n("ot-sdk-btn", "ot_cookie_settings_btn") || !1) && (C && Q("debug", "OneTrust being blocked by filter."), t.dispatchEvent( new CustomEvent("oneTrustBlocked", { bubbles: !1, cancelable: !1, detail: { region: c.regId, time: new Date(), consentConfirmed: l, otId: u, otVers: f }, }), )) : setTimeout(Oe.bind(e), 5); } function Ne() { e.location.reload(); } function be(n) { if (!e.frames[n]) { if (t.body) { const e = t.createElement("iframe"); (e.style.cssText = "display:none"), (e.name = n), t.body.appendChild(e); } else setTimeout(be.bind(e, n), 5); return !0; } return !1; } function Ae(t) { let n = null; for (let s = e; s; s = s.parent) { try { if (s.frames && s.frames[t]) { n = s; break; } } catch (e) {} if (s === e.top) break; } return n; } function ye(t) { e.addEventListener ? e.addEventListener("message", t, !1) : e.attachEvent("onmessage", t); } function Pe(e) { (E = e || { ccpaTCS: q, consentInteractions: g, consentTime: S, consentVersion: f, countryCode: T, region: c.regId, stateCode: _, userConsentVersion: M, }), Ce() && K( c.controlCookie, "ccc=" + E.countryCode + "&csc=" + E.stateCode + "&cic=" + E.consentInteractions + "&otvers=" + E.consentVersion + "&pctm=" + ((E.consentTime && encodeURIComponent(E.consentTime.toISOString())) || "0") + "®=" + E.region + "&ustcs=" + encodeURIComponent(E.ccpaTCS) + "&vers=" + E.userConsentVersion, { domain: c.cookieDomain, expires: ie(c.consentExpireIn).toUTCString(), path: "/", samesite: c.cookieSameSite, secure: c.cookieSecure, }, ); } function De() { const t = J(c.confirmCookie); if ("string" == typeof t && 0 !== t.length) { let n = new Date(t); if (!e.isNaN(n.valueOf())) return n; } return null; } function we(s) { const o = De(), r = l, a = S, p = e.OneTrust && "function" == typeof e.OneTrust.GetDomainData ? e.OneTrust.GetDomainData() : null; let m, I = !1, T = !1, _ = ""; if (p) try { _ = p.ConsentIntegrationData.consentPayload.dsDataElements.InteractionType; } catch (e) { _ = ""; } o && (null === S || o > S) && ((l = !0), (S = o)), s && !z && (s = ""), (m = Se(s)); for (let e of n) if (m[e] !== h[e] && ((I = !0), !0 !== m[e])) { T = !0; break; } if (I || (!r && l)) { const n = e.WBD.UserConsent_wrapproc > 0 ? new Date(e.WBD.UserConsent_wrapproc) : null; let o; if ( (g++, n && (null === S || n.getTime() > S.getTime() + c.consentChangeActionDelay + 1e3) && (S = n), (o = h), (h = m), _e(), z && he(s, m), Pe(), I) ) { if (C) try { d.push({ ts: new Date(), act: "CHG", desc: JSON.stringify(m), res: c.reloadOnConsentChange || (c.reloadOnConsentReduction && T), note: "function" == typeof c.consentChangeAction ? "change function" : "", }); } catch (e) { Q("error", "Failed to track consent change: ", e); } if ( ("function" == typeof c.consentChangeAction && c.consentChangeAction(fe(), c.regId, f, o), t.dispatchEvent( new CustomEvent("userConsentChanged", { bubbles: !1, cancelable: !1, detail: { region: c.regId, time: S, otId: u, otVers: f, otIact: _, old: o, new: fe(), gpcActive: F, gpp: y, gppCmpId: A, gppVers: P, usp: q, tcf: L, tcfVers: k, acf: i, }, }), ), c.reloadOnConsentChange || (T && c.reloadOnConsentReduction)) ) setTimeout(Ne, 100); else if (Ce()) try { e.sessionStorage.setItem( "_ucWBDCons", JSON.stringify({ consentState: h, consentTime: S, consentVersion: f, consentConfirmed: l, gppString: y, tcString: L, acString: i, }), ), e.postMessage("_ucWBDConsReset", "*"); } catch (e) { Q("error", "Failed to update session storage and notify children of consent change: ", e); } } } if (!I && e.WBD.UserConsent_optLoaded) { try { d.push({ ts: new Date(), act: "NCC", desc: JSON.stringify(h), res: !1, note: c.regId }); } catch (e) { Q("error", "Failed to track consent no-change: ", e); } (S = a), (!E.region || (!E.consentVersion && f) || !E.userConsentVersion || E.userConsentVersion < "3.1.1") && Pe(), t.dispatchEvent( new CustomEvent("userConsentNotChanged", { bubbles: !1, cancelable: !1, detail: { region: c.regId, time: S, otId: u, otVers: f, otIact: _, new: fe(), gpcActive: F, gpp: y, gppCmpId: A, gppVers: P, usp: q, tcf: L, tcfVers: k, acf: i, }, }), ); } (e.WBD.UserConsent_optLoaded = !0), (e.WBD.UserConsent_wrapproc = 0); } function ve(s) { const o = t.createElement("script"); let u, A, P, V = !1, k = null; if (null !== h) return; if (!s || !s.domId || !s.cookieDomain) throw new Error("Invalid config passed to user-consent!"); if (((s.regId = ""), (P = Ae("_usrConWBD")), null !== P)) if (e === e.top) Q( "error", "Detected an instance of UserConsent in an iframe acting as the primary instance. This was likely caused by a delay in this instance initializing, which must be corrected. Consent is not working correctly!", ); else { let t, o; I = e.name || "child"; try { t = JSON.parse(e.sessionStorage.getItem("_ucWBDConf")); } catch (e) { (t = null), Q("error", "Failed to parse parent frame consent settings."); } if ("object" == typeof t && null !== t) { (s.countryCode = t.countryCode), (s.cookieDomain = t.cookieDomain), (s.cookieSameSite = t.cookieSameSite), (s.cookieSecure = t.cookieSecure), (s.domId = t.domId), (s.languageFromBrowser = !!t.langFromBrowser), (s.enableDebug = !!t.enableDebug), (s.enableGPC = !!t.enableGPC), (s.regId = t.regId), (s.stateCode = t.stateCode), (s.src = t.src); try { o = JSON.parse(e.sessionStorage.getItem("_ucWBDCons")); } catch (e) { (o = null), Q("error", "Failed to parse parent frame consent state."); } "object" == typeof o && null !== o && ((h = o.consentState), (S = o.consentTime), (f = o.consentVersion), (l = o.consentConfirmed), (y = o.gppString), (L = o.tcString), (i = o.acString), (U = !0)), t.parentReload || ye(function (t) { var s, o; if ("_ucWBDConsReset" === t.data) { try { o = JSON.parse(e.sessionStorage.getItem("_ucWBDCons")); } catch (e) { o = null; } "object" == typeof o && null !== o && ((s = (function (e, t) { if (e && t) for (let s = 0; s < n.length; s++) if (e[n[s]] && !t[n[s]]) return !0; return !1; })(h, o.consentState)), c.reloadOnConsentChange || (s && c.reloadOnConsentReduction) ? setTimeout(Ne, 100) : ((h = o.consentState), (S = o.consentTime), (f = o.consentVersion), (l = o.consentConfirmed), (y = o.gppString || ""), (L = o.tcString || ""), (i = o.acString || ""), _e())); } }); } } if (void 0 === s.gppCategories) s.gppCategories = Y.gppCategories; else { for (A in s.gppCategories) "usnat" === A ? ((s.gppCategories.usnatv1 = s.gppCategories.usnat), delete s.gppCategories.usnat) : "uspnatv1" === A ? ((s.gppCategories.usnatv1 = s.gppCategories.uspnatv1), delete s.gppCategories.uspnatv1) : N[A] || (Q("error", 'Error: Unsupported GPP section "' + A + '" ignored.'), delete s.gppCategories[A]); for (A in Y.gppCategories) s.gppCategories[A] = s.gppCategories[A] || Y.gppCategories[A]; } for (A in Y) c[A] = void 0 !== s[A] ? s[A] : Y[A]; if ( ((Y = null), (c.cookieDomain = s.cookieDomain), (c.domId = s.domId), (c.changeRegions = s.changeRegions), (C = !(!console || (!s.enableDebug && -1 === e.location.search.search(/[?&]wmuc_debug=[1t]/)))), (c.strictIabCompliance = !!c.strictIabCompliance), "string" == typeof s.countryCode && 2 === s.countryCode.length && (c.countryCode = s.countryCode), "string" == typeof s.stateCode && 2 === s.stateCode.length && (c.stateCode = s.stateCode), "" !== c.gpcFixCookie && (function (t) { if (void 0 === e.navigator.globalPrivacyControl && t) { const n = J(t); if (n && ("1" === n || n.startsWith("t"))) try { Object.defineProperty(e.Navigator.prototype, "globalPrivacyControl", { get: function () { return !0; }, configurable: !0, enumerable: !0, }); } catch (e) { Q("error", "GPC signal error in browser."); } } })(c.gpcFixCookie), "object" == typeof e.GetExternalConsent && null !== e.GetExternalConsent && "function" == typeof e.GetExternalConsent.oneTrustCookie) ) { let t; try { t = JSON.parse(e.GetExternalConsent.oneTrustCookie()); } catch (e) { t = null; } "object" == typeof t && null !== t && t.consentedDate && (t.gppString || t.tcString || t.groups) && ((t.gppString = t.gppString || ""), (e.OTExternalConsent = t)), "function" == typeof e.GetExternalConsent.countryCode && e.GetExternalConsent.countryCode() && (e.ExternalConsentGeo = { countryCode: e.GetExternalConsent.countryCode(), stateCode: e.GetExternalConsent.stateCode() || "", }); } c.enableWebViewCheck && "object" == typeof e.OTExternalConsent && null !== e.OTExternalConsent && e.OTExternalConsent.consentedDate ? ((c.useExternalConsent = !0), C && Q("debug", "Reading consent from external consent data: ", e.OTExternalConsent)) : (c.useExternalConsent = !1); const M = "function" == typeof c.geoCheckFunction ? c.geoCheckFunction() : null; if (Ce() && C && -1 !== e.location.search.search(/[?&]wmuc_cc=[A-Za-z]{2}/)) Q( "debug", "Set debug CC to: ", (T = e.location.search.match(/[?&]wmuc_cc=([A-Za-z]{2})/)[1].toUpperCase()), ); else if ( c.useExternalConsent && "object" == typeof e.ExternalConsentGeo && "string" == typeof e.ExternalConsentGeo.countryCode && 2 === e.ExternalConsentGeo.countryCode.length ) T = e.ExternalConsentGeo.countryCode.toUpperCase(); else if ("string" == typeof c.countryCode && 2 === c.countryCode.length) T = c.countryCode.toUpperCase(); else if (M && M.countryCode && 2 === M.countryCode.length) T = M.countryCode.toUpperCase(); else { const e = J(c.ccCookie || "countryCode"); e && 2 === e.length && (T = e.toUpperCase()); } if ( ((T && 2 === T.length) || Q( "error", "User-Consent unable to determine country, missing or invalid cookies! Using default (" + (T = c.defaultCountry && 2 == c.defaultCountry.length ? c.defaultCountry.toUpperCase() : "US") + ").", ), C && -1 !== e.location.search.search(/[?&]wmuc_sc=[A-Za-z]{2}/)) ) Q( "debug", "Set debug SC to: ", (_ = e.location.search.match(/[?&]wmuc_sc=([A-Za-z]{2})/)[1].toUpperCase()), ); else if ( c.useExternalConsent && "object" == typeof e.ExternalConsentGeo && "string" == typeof e.ExternalConsentGeo.stateCode && 2 === e.ExternalConsentGeo.stateCode.length ) _ = e.ExternalConsentGeo.stateCode.toUpperCase(); else if ("string" == typeof c.stateCode && 2 === c.stateCode.length) _ = c.stateCode.toUpperCase(); else if (M && M.countryCode && 2 === M.countryCode.length) _ = "string" == typeof M.stateCode ? M.stateCode.toUpperCase() : ""; else { const e = J(c.scCookie || "stateCode"); e && 2 === e.length && (_ = e.toUpperCase()); } if ( ((_ && 0 !== _.length) || ((_ = c.defaultState && c.defaultState.length > 0 ? c.defaultState.toUpperCase() : ""), C && Q("debug", "User-Consent unable to determine state. Using default (" + _ + ").")), (O = T + ":" + _), Ce()) ) { !w && c.geoPassedToOneTrust && ((e.OneTrust = e.OneTrust || {}), (e.OneTrust.geolocationResponse = { countryCode: T, stateCode: _ })); let t = function (t) { c.geoPassedToOneTrust && le(), v && !c.useExternalConsent && null !== h && 0 === e.WBD.UserConsent_wrapproc && ((e.WBD.UserConsent_wrapproc = new Date().getTime()), C && Q("debug", "Consent changed event handler determining consent changes."), z ? e.__gpp("ping", function (e) { e && e.gppString && we(e.gppString); }) : setTimeout(we, c.consentChangeActionDelay)); }; e.addEventListener ? e.addEventListener("consent.onetrust", t, !1) : e.attachEvent("consent.onetrust", t); } (u = Object.keys(c.categories)), (n = []); for (let e = 0; e < u.length; e++) n.push(c.categories[u[e]]); if (c.changeRegions) { for (let e of ["remove", "replace", "insert"]) if (c.changeRegions[e] && Array.isArray(c.changeRegions[e]) && 0 !== c.changeRegions[e].length) { A = c.changeRegions[e]; for (let t = 0; t < A.length; t++) if ("object" == typeof A[t] && null !== A[t] && A[t].id) { let n = c.regions.length, s = A[t], o = "insert" === e && s.insertAfter ? s.insertAfter : s.id, i = 0; e: for (; i < n && (!c.regions[i] || !c.regions[i].id || c.regions[i].id !== o); i++); "remove" === e ? i < n && delete c.regions[i] : "replace" === e ? i < n && (c.regions[i] = s) : "insert" === e && (i < n ? s.insertAfter ? (delete s.insertAfter, c.regions.splice(i + 1, 0, s)) : (c.regions[i] = s) : (delete s.insertAfter, c.regions.splice(i + 1, 0, s))); } } delete c.changeRegions; } for (let e = 0; e < c.regions.length; e++) if (c.regions[e] && c.regions[e].id && c.regions[e].geoMatch) { if ((Ce() && oe(c.regions[e].geoMatch)) || (Ee() && c.regions[e].id === s.regId)) { k = c.regions[e]; break; } } else Q("error", "Invalid region, missing id or geoMatch!"); if (!k) { if (Ee()) throw new Error("No matching user-consent region, parent and iframe configs do not match!"); throw new Error("No matching user-consent region!"); } (c.regId = k.id), (c.defaultLanguage = (k.defaultLanguage || c.defaultLanguage).toLowerCase()); try { let n = ""; c.languageFromBrowser || (n = t.getElementsByTagName("html")[0].getAttribute("xml:lang") || t.documentElement.lang || c.defaultLanguage), n || (n = e.navigator.language || c.defaultLanguage), (R = n ? n.substr(0, 2).toLowerCase() : "en"); } catch (e) { R = "en"; } if (C && -1 !== e.location.search.search(/[?&]wmuc_lang=[A-Za-z]{2}/)) { let t = e.location.search.match(/[?&]wmuc_lang=([A-Za-z]{2})/)[1].toLowerCase(); (V = R !== t), Q("debug", "Set debug Language to: ", (R = t)); } if ( ((c.adChoicesLinkAction = k.adChoicesLinkAction || c.adChoicesLinkAction || null), (c.adChoicesLinkTitle = re(k.adChoicesLinkTitle || c.adChoicesLinkTitle)), (c.compatTransition = c.enableTransitionCheck && k.compatTransition ? k.compatTransition : null), (c.compatCategories = k.compatCategories || c.compatCategories || {}), (c.compatCodes = k.compatCodes || c.compatCodes || {}), (c.consentExpireIn = k.consentExpireIn || c.consentExpireIn || 1), (c.consentLinkAction = k.consentLinkAction || c.consentLinkAction || null), (c.consentLinkTitle = re(k.consentLinkTitle || c.consentLinkTitle)), (c.confirmCookie = k.confirmCookie || c.confirmCookie), (c.consentCookie = k.consentCookie || c.consentCookie), (c.addtlConsentCookie = k.addtlConsentCookie || c.addtlConsentCookie), k.consentDefaults && (c.consentDefaults = ce(c.consentDefaults, k.consentDefaults)), (c.consentGpcDefaults = k.consentGpcDefaults || c.consentGpcDefaults || null), (c.consentImpliedDefaults = k.consentImpliedDefaults || c.consentImpliedDefaults || {}), c.consentImpliedDefaults.required || (c.consentImpliedDefaults.required = !0), (c.consentNotApplicable = k.consentNotApplicable || c.consentNotApplicable || []), c.consentNotApplicable && Array.isArray(c.consentNotApplicable) && 0 !== c.consentNotApplicable.length) ) for (let e of c.consentNotApplicable) void 0 !== c.consentDefaults[e] && delete c.consentDefaults[e], void 0 !== c.consentImpliedDefaults[e] && delete c.consentImpliedDefaults[e]; if ( ((c.useFixedConsent = "boolean" == typeof k.useFixedConsent ? k.useFixedConsent : c.useFixedConsent), (c.domId = k.domId || c.domId), (c.src = k.src || c.src), (c.gdprIabCookie = k.gdprIabCookie || c.gdprIabCookie), (c.tcfOpts = k.tcfOpts || c.tcfOpts || null), (c.privacyCenterLinkAction = k.privacyCenterLinkAction || c.privacyCenterLinkAction || null), (c.privacyCenterLinkTitle = re(k.privacyCenterLinkTitle || c.privacyCenterLinkTitle)), c.useIAB && ((c.iabRegion = (("string" == typeof k.iabRegion && k.iabRegion) || c.iabRegion).toLowerCase()), "ccpa" === c.iabRegion ? (W = !0) : "gdpr" === c.iabRegion && c.tcfOpts ? (H = !0) : c.iabRegion && "gpp" !== c.iabRegion && Q( "error", 'Error: Invalid IAB region "' + c.iabRegion + '" specified for region "' + c.regId + '", IAB not enabled for region!', )), c.useGPP && ((c.gppSection = (("string" == typeof k.gppSection && k.gppSection) || c.gppSection).toLowerCase()), (c.gppSection = "usnat" === c.gppSection || "uspnatv1" === c.gppSection ? "usnatv1" : c.gppSection), c.useGPP && c.gppSection && (N[c.gppSection] && c.gppCategories[c.gppSection] ? ((z = !0), W && c.ccpaGeos && !oe(c.ccpaGeos) && (W = !1)) : Q( "error", 'Error: Invalid GPP section "' + c.gppSection + '" specified for region "' + c.regId + '", IAB/GPP not enabled for region!', ))), z || W || H || ((c.iabRegion = ""), (c.gppSection = ""), (c.useIAB = !1), (c.useGPP = !1)), c.enableGPC && c.consentGpcDefaults && navigator.globalPrivacyControl && (F = !0), c.setPageClass && t.documentElement && (t.documentElement.className = (t.documentElement.className && " " !== t.documentElement.className ? t.documentElement.className + " userconsent-cntry-" : "userconsent-cntry-") + T.toLowerCase() + " userconsent-state-" + _.toLowerCase() + " userconsent-reg-" + c.regId.toLowerCase() + (F ? " userconsent-gpc" : "")), C && (Q("debug", "GeoIP Country Code: " + T + ", using consent region: " + c.regId), Q("debug", "IAB " + (c.useIAB ? "enabled" : "disabled"))), (z || W || H || c.ccpaGeos) && (function () { let t, n, s = function (e, t) { const n = "string" == typeof t.data, s = e + "Return"; let o, i; try { o = n ? JSON.parse(t.data) : t.data; } catch (e) { o = {}; } if (((i = o[s]), i && void 0 !== i.callId && "function" == typeof a[i.callId])) { const e = i.callId, t = i.returnValue; try { "number" == typeof t.listenerId && !0 === i.success ? (C && Q("debug", "Calling post message callback " + e + " (listenerId: " + t.listenerId + ")"), (m[t.listenerId] = e), a[e](t, i.success)) : (C && Q("debug", "Calling post message callback ", e), a[e](t, i.success), delete a[e]); } catch (t) { Q("error", "Post message callback error (callId " + e + "): ", t); } } else i && Q("error", "Post message bad or missing callback (callId " + i.callId + ")."); }, o = function (t, n) { const s = "string" == typeof n.data, o = t + "Call"; let i, r = {}, a = function (e, o) { let i = {}; i[t + "Return"] = { returnValue: e, success: o, callId: r.callId }; try { n.source.postMessage(s ? JSON.stringify(i) : i, "*"); } catch (e) { Q("error", "Failed to post reply: ", e); } }; try { i = s ? JSON.parse(n.data) : n.data; } catch (e) { i = {}; } "object" == typeof i && null !== i && i[o] && ((r = i[o]), "__gpp" === t ? e.__gpp(r.command, a, r.parameter, r.version) : e[t](r.command, r.version, a, r.parameter)); }; if ( (null === (j = Ae("__uspapiLocator")) ? (be("__uspapiLocator"), (e.__uspapi = function (t, n, s) { if ("function" == typeof s) { if (((n = 0 === n ? 1 : n), "getUSPData" === t && 1 === n)) return s({ version: 1, uspString: e.WBD.UserConsent.getUspAPIstring() }, !0), !0; if ("ping" === t) return s({ version: 1, uspapiLoaded: !0 }, !0), !0; s(null, !1); } return !1; }), (e.__uspapi.msgHandler = o.bind(e, "__uspapi")), ye(e.__uspapi.msgHandler), Ee() ? Q( "error", "Unable to locate USP messaging frame from iframe! Consent logic may not work correctly!", ) : C && Q("debug", "IAB for CCPA ready.")) : ((e.__uspapi = function (e, t, n, s) { const o = r++, i = { __uspapiCall: { command: e, parameter: s, version: t || 1, callId: o } }; (a[o] = n), j.postMessage(i, "*"); }), (e.__uspapi.postHandler = s.bind(e, "__uspapi")), ye(e.__uspapi.postHandler), C && Q("debug", "IAB for CCPA ready (via frame).")), H && ((t = "__tcfapi"), (n = "2.0"), null === (x = Ae(t + "Locator")) && "function" != typeof e[t] ? (be(t + "Locator"), (e[t] = function () { let s = arguments; return ( (e[t].a = e[t].a || []), s.length > 0 && ("ping" === s[0] ? s[2]( { apiVersion: n, gdprApplies: !0, gdprAppliesGlobally: !1, cmpLoaded: !1, cmpStatus: "stub", displayStatus: "hidden", }, !0, ) : "setGdprApplies" === s[0] && s.length > 3 && "boolean" == typeof s[3] ? (H = s[3]) && W && (W = !1) : e[t].a.push([].slice.apply(s))), e[t].a ); }), (e[t].msgHandler = o.bind(e, t)), ye(e[t].msgHandler), Ee() ? Q( "error", "Unable to locate TCF messaging frame from iframe! Consent logic may not work correctly!", ) : C && Q("debug", "IAB (v" + n + ") for GDPR ready."), e[t]("getTCData", 0, e.OptanonWrapper)) : x && ((e.__tcfapi = function (e, t, n, s) { const o = r++, i = { __tcfapiCall: { command: e, parameter: s, version: t || 2, callId: o } }; (a[o] = n), x.postMessage(i, "*"), "removeEventListener" === e && "number" == typeof s && void 0 !== m[s] && a[m[s]] && (delete a[m[s]], delete m[s]); }), (e.__tcfapi.postHandler = s.bind(e, "__tcfapi")), ye(e.__tcfapi.postHandler), C && Q("debug", "IAB (v" + n + ") for GDPR ready (via frame)."))), z) ) if (((t = "__gpp"), (n = "1.1"), null !== (B = Ae("__gppLocator")) || e.__gpp)) null !== B && ((e.__gpp = function (e, t, s, o) { const i = r++, c = { __gppCall: { command: e, parameter: s, version: o || n, callId: i } }; (a[i] = t), B.postMessage(c, "*"), "removeEventListener" === e && "number" == typeof s && void 0 !== m[s] && a[m[s]] && (delete a[m[s]], delete m[s]); }), (e.__gpp.postHandler = s.bind(e, "__gpp")), ye(e.__gpp.postHandler), C && Q("debug", "IAB for GPP ready (via frame).")); else { let t, n = []; be("__gppLocator"), (e.__gpp = function () { return null; }), (b = b || new de(0, 1)).setCmpStatus("loading"), (t = Object.keys(N)); for (let e = 0; e < t.length; e++) n.push(N[t[e]].toString(10) + ":" + t[e]); b.setSupportedAPIs(n), (D = e.__gpp), (e.__gpp.msgHandler = o.bind(e, "__gpp")), ye(e.__gpp.msgHandler), Ee() ? Q( "error", "Unable to locate GPP messaging frame from iframe! Consent logic may not work correctly!", ) : C && Q("debug", "IAB for GPP ready."); } })(), Ce()) ) { let t; if ( ((E = (function () { const e = J(c.controlCookie), t = { consentInteractions: g, consentTime: null, consentVersion: "", countryCode: "", region: "", stateCode: "", userConsentVersion: "", }; if ("string" == typeof e && 0 !== e.length) { const n = e.split("&"); for (let e = 0; e < n.length; e++) { let s = n[e].split("="); if ("string" == typeof s[0] && 0 !== s[0].length && "string" == typeof s[1]) switch (s[0]) { case "ccc": t.countryCode = s[1].toLowerCase(); break; case "csc": t.stateCode = s[1].toLowerCase(); break; case "cic": (t.consentInteractions = parseInt(s[1], 10)), (isNaN(t.consentInteractions) || t.consentInteractions < g) && (t.consentInteractions = g); break; case "otvers": t.consentVersion = s[1].toLowerCase(); break; case "pctm": let e; try { e = "0" === s[1] ? null : new Date(decodeURIComponent(s[1])); } catch (t) { e = null; } t.consentTime = null === e || isNaN(e.valueOf()) ? null : e; break; case "reg": t.region = s[1].toLowerCase(); break; case "ustcs": try { t.ccpaTCS = decodeURIComponent(s[1]).toUpperCase(); } catch (e) { t.ccpaTCS = ""; } break; case "vers": t.userConsentVersion = s[1].toLowerCase(); } } } return t; })()), (g = E.consentInteractions), c.useExternalConsent) ) try { (S = new Date(e.OTExternalConsent.consentedDate)), (F = !1), C && Q("debug", "Consent time read from external consent data: ", S); } catch (e) { Q("error", "Consent Date from external consent data is invalid."), (S = null); } else (S = De()), null !== E.consentTime && (null === S || E.consentTime > S) ? ((S = E.consentTime), C && Q("debug", 'Consent time read from "' + c.controlCookie + '": ', S)) : null !== S && C && Q("debug", 'Consent time read from "' + c.confirmCookie + '": ', S); if ( ((t = C && F ? " [GPC override]" : ""), null !== S ? ((l = !0), (h = Se()), l ? ((o.async = !0), null !== E.consentTime && E.consentTime < S && (E.region = ""), C && (Q("debug", "Consent state read from " + p + " (" + f + ")" + t + ": ", h), G && Q("debug", "Consent state using compatibility config."))) : ((S = null), (E.region = ""), C && Q("debug", "Consent state expired or removed, reset from defaults" + t + ": ", h))) : ((h = ae(c.consentDefaults)), F && (h = ce(h, c.consentGpcDefaults)), C && Q("debug", "Consent state from defaults" + t + ": ", h)), z && !y && he("", h), C) ) try { d.push({ ts: new Date(), act: "SET", desc: JSON.stringify(h), res: null !== S, note: c.regId }); } catch (e) { Q("error", "Failed to track setting initial consent: ", e); } } if (e.WBD.UserConsent_initted) Q("error", "ERROR: Second instance of UserConsent initialized!"); else { if (((e.WBD.UserConsent_initted = !0), _e(), Ce())) { if ( (c.useExternalConsent ? Pe() : E.region && E.region !== c.regId && ((q = E.region), (K = c.regId), C && Q("debug", 'User-Consent detected region change from "' + q + '" to "' + K + '".'), "function" == typeof c.regionChangeAction && c.regionChangeAction(q, K, c.consentLinkAction)), null === P && be("_usrConWBD")) ) try { e.sessionStorage.setItem( "_ucWBDConf", JSON.stringify({ cookieDomain: c.cookieDomain, cookieSameSite: c.cookieSameSite, cookieSecure: c.cookieSecure, countryCode: T, domId: c.domId, enableDebug: C, langFromBrowser: c.languageFromBrowser, parentReload: c.reloadOnConsentChange, regId: c.regId, src: c.src, stateCode: _, }), ), e.sessionStorage.setItem( "_ucWBDCons", JSON.stringify({ consentState: h, consentTime: S, consentVersion: f, consentConfirmed: l, gppString: y, tcString: L, acString: i, }), ); } catch (e) { Q("error", "Failed to set UserConsent frame data!"); } (e.WBD.UserConsent_wait = setTimeout(e.OptanonWrapper.bind(window, !0), c.oneTrustLoadTimeout)), (o.charset = "utf-8"), (c.languageFromBrowser && !V) || ((o.dataset.documentLanguage = "true"), V && (o.dataset.language = R)), (o.dataset.domainScript = c.domId), (o.src = c.src), t.getElementsByTagName("head")[0].appendChild(o); } var q, K; C && z && e.__gpp && e.__gpp("addEventListener", function (e, t) { Q("debug", "GPP event: ", e); }), Oe(), C && Q("debug", "Dispatching UserConsentReady event."), t.dispatchEvent( new CustomEvent("userConsentReady", { bubbles: !1, cancelable: !1, detail: { region: c.regId, time: new Date(), consentConfirmed: l }, }), ); } } return ( e.WBD.UserConsent_loaded ? Q("error", "ERROR: Second instance of UserConsent loaded!") : ((e.WBD.UserConsent_loaded = !0), (e.WBD.UserConsent_optLoaded = !1), (e.WBD.UserConsent_wrapproc = 0), (e.WBD.UserConsent_wait = -1), (e.OptanonWrapper = function (n) { if (!v && !o) { let s = function () { v && ((u = ("function" == typeof e.OneTrust.getDataSubjectId && e.OneTrust.getDataSubjectId()) || u), C && Q("debug", "Dispatching oneTrustLoaded event."), t.dispatchEvent( new CustomEvent("oneTrustLoaded", { bubbles: !1, cancelable: !1, detail: { region: c.regId, time: new Date(), consentConfirmed: l, otId: u, otVers: f }, }), ), t.dispatchEvent( new CustomEvent("optanonLoaded", { bubbles: !1, cancelable: !1, detail: { region: c.regId, time: new Date(), consentConfirmed: l, otId: u, otVers: f }, }), ), c.useExternalConsent && !e.OneTrust.IsAlertBoxClosed() && e.Optanon.Close()), (e.OptanonWrapper = function () {}); }; if ( (e.WBD.UserConsent_wait >= 0 && (clearTimeout(e.WBD.UserConsent_wait), (e.WBD.UserConsent_wait = -1)), !e.OneTrust || "function" != typeof e.OneTrust.GetDomainData) ) { const s = e.OneTrustStub ? (e.OneTrustStub.otSdkStub ? (n ? 3 : 4) : 2) : 1, i = 1 === s ? "Stub load failure" : 2 === s ? "Initialization failure" : 3 === s ? "SDK load timeout" : "Unknown error"; return ( (v = !1), (o = !0), Q("error", "OneTrust Error (", s, "): ", i), C && Q("debug", "Dispatching oneTrustFailed event."), t.dispatchEvent( new CustomEvent("oneTrustFailed", { bubbles: !1, cancelable: !1, detail: { region: c.regId, time: new Date(), consentConfirmed: l, otId: u, otVers: f, code: s, msg: i, }, }), ), void (e.OptanonWrapper = function () {}) ); } (v = !0), c.geoPassedToOneTrust && le(), z ? ("function" != typeof e.__gpp && (e.__gpp = D), e.__gpp("ping", function (t) { t && 0 !== t.cmpId ? ((A = t.cmpId), t.gppVersion && "1.0" === t.gppVersion && (t = e.__gpp("getGPPData")), t && t.gppString && ((P = t.gppVersion), he(t.gppString, null))) : ((z = !1), C && Q("debug", "OneTrust did NOT initialize GPP for this region."), b && (b.setCmpStatus("error"), b.fireErrorEvent("CMP did not initialize GPP for this region."))), s(); })) : s(); } }), "object" == typeof e.WBD.UserConsentConfig && null !== e.WBD.UserConsentConfig ? ve(e.WBD.UserConsentConfig) : "object" == typeof e.WM.UserConsentConfig && null !== e.WM.UserConsentConfig && ve(e.WM.UserConsentConfig)), { addScript: function (e, n, s, o) { if (e && (e.src || e.text)) { const i = { cact: "ADD", name: e.name || e.src || e.id || "unnamed inline" }, r = s || t.head, a = o || ["*"]; if (!oe(a)) return ( C && (d.push({ ts: new Date(), act: "ADD", desc: i.name, res: !1, note: "Not in script region" }), Q( "debug", "Check for region [" + (a.join(",") || "empty") + '] REJECTS "' + i.name + '", script NOT added', )), !1 ); if (Te(n, i)) { const n = t.createElement("script"), s = Object.keys(e); for (let t = 0; t < s.length; t++) n[s[t]] = e[s[t]]; return r.appendChild(n), !0; } } else Q("error", "Invalid or missing options to addScript."); return !1; }, addScriptElement: function (e, n, s, o) { if (e) { const i = { cact: "ADD", name: e.name || e.src || e.id || "unnamed inline" }, r = s || t.head, a = o || ["*"]; if (!oe(a)) return ( C && (d.push({ ts: new Date(), act: "ADD", desc: i.name, res: !1, note: "Not in script region" }), Q( "debug", "Check for region [" + (a.join(",") || "empty") + '] REJECTS "' + i.name + '", script NOT added', )), !1 ); if (Te(n, i)) return r.appendChild(e), !0; } else Q("error", "Invalid or missing options to addScriptElement."); return !1; }, forceReconsent: function () { Ce() && ((t.cookie = c.consentCookie + "=; Domain=" + c.cookieDomain + "; Path=/; Expires=Thu, 01 Jan 2000 00:00:01 GMT;"), (t.cookie = c.confirmCookie + "=; Domain=" + c.cookieDomain + "; Path=/; Expires=Thu, 01 Jan 2000 00:00:01 GMT;"), Pe({ ccpaTCS: "", consentInteractions: g, consentTime: null, consentVersion: f, countryCode: T, region: c.regId, stateCode: _, userConsentVersion: M, }), setTimeout(Ne, 100)); }, getAdChoicesLinkAction: function () { return "function" == typeof c.adChoicesLinkAction ? c.adChoicesLinkAction : "string" == typeof c.adChoiceLinkAction && -1 !== c.adChoicesLinkAction.search(/^http/) ? function () { e.open(c.adChoicesLinkAction, "_blank"); } : null; }, getAdChoicesLinkTitle: function () { return c.adChoicesLinkTitle; }, getCmpString: function (t, n) { let s, o, r, a = ""; if ("function" == typeof t) { if (((n = n || this.getRegion()), !c.useIAB)) return ( C && Q("debug", "getCmpString called with IAB disabled"), void t(n, 0, "", "", new Error("IAB disabled")) ); if (z) { if ("string" == typeof y && 0 !== y.length) return C && Q("debug", "getCmpString returning GPP CMP string"), void t(n, 1, y, "", null); (s = e.__gpp), (o = "ping"), (r = 1), (a = "GPP"); } else if (H) { if ("string" == typeof L && 0 !== L.length) return C && Q("debug", "getCmpString returning GDPR v2 CMP string"), void t(n, 2, L, i, null); (s = e.__tcfapi), (o = "getTCData"), (r = 2), (a = "TCF"); } if (o) { let e = function (e, t, n, s, o, i) { i ? (C && Q("debug", "getCmpString returning " + n + " v" + s + " CMP string"), e( t, s, "GPP" === n ? o.pingData.gppString : o.tcString, o.addtlConsent ? o.addtlConsent : "", null, )) : (C && Q("debug", "getCmpString returning " + n + " v" + s + " error"), e(t, s, "", "", new Error(n + " CMP request failure"))); }.bind(this, t, n, a, r); "GPP" === a ? s(o, e) : s(o, r, e); } else C && Q("debug", "getCmpString returning CCPA v1 CMP string"), t(n, 1, q, "", 0 !== q.length ? null : new Error("CMP request failure")); } else Q("error", "getCmpString called without callback"); }, getConsentConfirmed: function () { return l; }, getConsentHistory: function () { return d; }, getConsentState: fe, getConsentTime: function () { return S; }, getConsentVersion: function () { return f; }, getGeoCountry: function () { return T; }, getGeoState: function () { return _; }, getGppAPIstring: function () { return y; }, getGppSection: function () { return z && "" !== c.gppSection ? c.gppSection : "none"; }, getIABInterface: function () { return z ? "__gpp" : W ? "__uspapi" : H ? "__tcfapi" : "none"; }, getIABRegion: function () { return "" !== c.iabRegion ? c.iabRegion : "none"; }, getIABVersion: function () { return z ? "1.1" : W ? "1.0" : H ? "2.2" : "none"; }, getLinkAction: function () { return ( c.consentLinkAction || (e.OneTrust && e.OneTrust.ToggleInfoDisplay) || function () { e.OneTrust && e.OneTrust.ToggleInfoDisplay && e.Optanon.ToggleInfoDisplay(); } ); }, getLinkTitle: function () { return c.consentLinkTitle; }, getPrivacyCenterLinkAction: function () { return "function" == typeof c.privacyCenterLinkAction ? c.privacyCenterLinkAction : "string" == typeof c.privacyCenterLinkAction && -1 !== c.privacyCenterLinkAction.search(/^http/) ? function () { e.open(c.privacyCenterLinkAction, "_blank"); } : null; }, getPrivacyCenterLinkTitle: function () { return c.privacyCenterLinkTitle; }, getRegion: function () { return c.regId; }, getReloadOnChange: function () { return c.reloadOnConsentChange; }, getReloadOnConsentReduction: function () { return c.reloadOnConsentReduction; }, getRightsRequestLinkAction: function () { return "function" == typeof c.rightsRequestLinkAction ? c.rightsRequestLinkAction : "string" == typeof c.rightsRequestLinkAction && -1 !== c.rightsRequestLinkAction.search(/^http/) ? function () { e.open(c.rightsRequestLinkAction, "_blank"); } : null; }, getRightsRequestLinkTitle: function () { return c.rightsRequestLinkTitle; }, getTcfAPIaddtlString: function () { return i; }, getTcfAPIstring: function () { return L; }, getUserConsentAdvertisingState: function () { return "iab" != typeof c.ucFlavor ? Te(["vendor", "targeting"]) : Te(["data-share", "data-sell", "ads-contextual", "ads-person-prof", "ads-person"]); }, getUspAPIstring: function () { return q; }, getVersion: function () { return M; }, init: ve, inUserConsentState: Te, isChild: Ee, isTop: Ce, isEnabled: function () { return !0; }, isGpcInUse: function () { return F; }, isGpcSet: function () { return !!navigator.globalPrivacyControl; }, isInCcpaRegion: function () { return oe(c.ccpaGeos); }, isInGdprRegion: function () { return H; }, isInGppRegion: function () { return z; }, isInIabRegion: function (e) { return (e = "string" == typeof e ? e : ""), c.iabRegion === e; }, isInRegion: function (e) { return c.regId === e; }, isOneTrustBlocked: function () { return s; }, isOneTrustFailing: function () { return o; }, isOneTrustLoaded: me, isOptanonLoaded: me, isReady: Ie, isSiteIABCompliant: function () { return c.strictIabCompliance; }, usingCompatConsent: function () { return G; }, usingExternalConsent: function () { return c.useExternalConsent; }, usingGPP: function () { return z; }, usingIAB: function () { return c.useIAB && (z || W || H); }, usingPSM: function () { return !1; }, } ); })(window, document)), (window.WM.UserConsent = window.WBD.UserConsent); })(); </script><script> (function initalizeUserConsent(win) { win.WBD.UserConsent.init({ cookieDomain: ".play.ncaa.com", domId: "433a7814-0e30-40c0-9714-9f5e6df38eef" }); })(window); </script><script id="adfuel-script-1" src="https://i.cdn.turner.com/ads/adfuel/ais/3.0/mml-ais.min.js"></script><script id="adfuel-script-2" src="https://i.cdn.turner.com/ads/adfuel/adfuel-3.0.47.min.js" async=""></script><link rel="preload" href="/assets/fonts/Geogtq-Lg.otf" as="font" type="font" crossorigin="anonymous"/><link id="march-madness-favicon" rel="shortcut icon" href="/favicon.ico"/><meta property="og:image" content="https://play.ncaa.com/assets/images/og.jpg"/><meta property="og:image:type" content="image/jpg"/><meta property="og:image:width" content="1188"/><meta property="og:image:height" content="626"/><meta name="description" content="The home of the official games of NCAA庐 March Madness庐. Play now!"/><meta property="og:url" content="https://play.ncaa.com/"/><meta property="og:type" content="website"/><meta property="og:title" content="Play - NCAA庐 March Madness庐"/><meta property="og:description" content="The home of the official games of NCAA庐 March Madness庐. Play now!"/><meta property="twitter:url" content="https://play.ncaa.com/"/><meta property="twitter:domain" content="play.ncaa.com"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:image" content="https://play.ncaa.com/assets/images/og.jpg"/><meta name="twitter:title" content="Play - NCAA庐 March Madness庐"/><meta name="twitter:description" content="The home of the official games of NCAA庐 March Madness庐. Play now!"/><link rel="preload" href="/_next/static/media/a2bacf4681c15194-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/e10a9fc213a4c6e8-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/35a0ed54ac9b7969-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/abb28ade56b85d3e-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/0c48bb7ddbc1f2b1-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/437eacecab5add86-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/239862979bee6638-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/30b3e26640afab3d.css" as="style"/><link rel="stylesheet" href="/_next/static/css/30b3e26640afab3d.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3c217a9695e58e6d.js" defer=""></script><script src="/_next/static/chunks/framework-3b375af75744035e.js" defer=""></script><script src="/_next/static/chunks/main-3ad2a1742f27d755.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7df224993f3bae77.js" defer=""></script><script src="/_next/static/chunks/476-f6c010717bc85c07.js" defer=""></script><script src="/_next/static/chunks/97-5af47e53f88531b4.js" defer=""></script><script src="/_next/static/chunks/546-bee613c4815390db.js" defer=""></script><script src="/_next/static/chunks/956-50f878dbff1de5a8.js" defer=""></script><script src="/_next/static/chunks/22-cea7cd21689f7abe.js" defer=""></script><script src="/_next/static/chunks/802-b84531079c9c8e36.js" defer=""></script><script src="/_next/static/chunks/127-c928820d99ed622f.js" defer=""></script><script src="/_next/static/chunks/pages/index-ee64cc32f505473c.js" defer=""></script><script src="/_next/static/1nRCF5fGD6PTUEnajae4b/_buildManifest.js" defer=""></script><script src="/_next/static/1nRCF5fGD6PTUEnajae4b/_ssgManifest.js" defer=""></script> <script>(window.BOOMR_mq=window.BOOMR_mq||[]).push(["addVar",{"rua.upush":"false","rua.cpush":"false","rua.upre":"false","rua.cpre":"false","rua.uprl":"false","rua.cprl":"false","rua.cprf":"false","rua.trans":"","rua.cook":"false","rua.ims":"false","rua.ufprl":"false","rua.cfprl":"false","rua.isuxp":"false","rua.texp":"norulematch","rua.ceh":"false","rua.ueh":"false","rua.ieh.st":"0"}]);</script> <script>!function(a){var e="https://s.go-mpulse.net/boomerang/",t="addEventListener";if("False"=="True")a.BOOMR_config=a.BOOMR_config||{},a.BOOMR_config.PageParams=a.BOOMR_config.PageParams||{},a.BOOMR_config.PageParams.pci=!0,e="https://s2.go-mpulse.net/boomerang/";if(window.BOOMR_API_key="SM2CN-GXNMQ-7DPVR-682LR-CNPSY",function(){function n(e){a.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!a.BOOMR||!a.BOOMR.version&&!a.BOOMR.snippetExecuted){a.BOOMR=a.BOOMR||{},a.BOOMR.snippetExecuted=!0;var i,_,o,r=document.createElement("iframe");if(a[t])a[t]("load",n,!1);else if(a.attachEvent)a.attachEvent("onload",n);r.src="javascript:void(0)",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="width:0;height:0;border:0;display:none;",o=document.getElementsByTagName("script")[0],o.parentNode.insertBefore(r,o);try{_=r.contentWindow.document}catch(O){i=document.domain,r.src="javascript:var d=document.open();d.domain='"+i+"';void(0);",_=r.contentWindow.document}_.open()._l=function(){var a=this.createElement("script");if(i)this.domain=i;a.id="boomr-if-as",a.src=e+"SM2CN-GXNMQ-7DPVR-682LR-CNPSY",BOOMR_lstart=(new Date).getTime(),this.body.appendChild(a)},_.write("<bo"+'dy onload="document._l();">'),_.close()}}(),"".length>0)if(a&&"performance"in a&&a.performance&&"function"==typeof a.performance.setResourceTimingBufferSize)a.performance.setResourceTimingBufferSize();!function(){if(BOOMR=a.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var e=""=="true"?1:0,t="",n="bdpnbetw25imiz7tp2iq-f-89f0367df-clientnsv4-s.akamaihd.net",i="false"=="true"?2:1,_={"ak.v":"39","ak.cp":"1264899","ak.ai":parseInt("759992",10),"ak.ol":"0","ak.cr":3,"ak.ipv":4,"ak.proto":"http/1.1","ak.rid":"234cd1d5","ak.r":44715,"ak.a2":e,"ak.m":"dscj","ak.n":"essl","ak.bpcip":"8.222.208.0","ak.cport":56222,"ak.gh":"23.44.214.15","ak.quicv":"","ak.tlsv":"tls1.2","ak.0rtt":"","ak.0rtt.ed":"","ak.csrc":"-","ak.acc":"bbr","ak.t":"1744010897","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==LKp98LR3XT41zjJOJPZa9vGXIOExWbnZe6MxYATKQ1I0SJlj40qqyzwl8waJHFy9ZRovTt/gbjHeJFgwbX/SV8/VoqJsT7tbEdCNftTI2Or/LnuNPdebT5J8QEhDoF0r3VR/vIkHuWW1so9lkDk6/wZ+c0uRvlygFEvaFbTav+kHGh2StWf7FlFINqn/+NW+w900/v0Hd4ePVBNK2zpAhPxZ71/aIyAsKewfBelLrM86JI5i7K2od9fg3y4sNqF+oIF7OFi4PzgGRhebEl343Ma4LRxsdmznr2NTkxBt+Dt6EljTTIzfl0Xjbp85vfeWqCGaiTR4uhr+MTEpatJpAYR0yA2aKF3l1oEFv3UFlx7LrW3MCh836SrySkgqOoxQl7uIKN8GhAKm3i4d9cjZ2q5Aa9d5XEcTgS/EBcWYdzk=","ak.pv":"15","ak.dpoabenc":"","ak.tf":i};if(""!==t)_["ak.ruds"]=t;var o={i:!1,av:function(e){var t="http.initiator";if(e&&(!e[t]||"spa_hard"===e[t]))_["ak.feo"]=void 0!==a.aFeoApplied?1:0,BOOMR.addVar(_)},rv:function(){var a=["ak.bpcip","ak.cport","ak.cr","ak.csrc","ak.gh","ak.ipv","ak.m","ak.n","ak.ol","ak.proto","ak.quicv","ak.tlsv","ak.0rtt","ak.0rtt.ed","ak.r","ak.acc","ak.t","ak.tf"];BOOMR.removeVar(a)}};BOOMR.plugins.AK={akVars:_,akDNSPreFetchDomain:n,init:function(){if(!o.i){var a=BOOMR.subscribe;a("before_beacon",o.av,null,null),a("onbeacon",o.rv,null,null),o.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"isIframe":false,"authToken":"","daltonToken":"","staticEndpointKey":""},"__N_SSP":true},"page":"/","query":{"cid":"mbcg_internal_partner_ncaa_tile","_branch_match_id":"1437692776237049352","utm_source":"ncaa_tile","utm_campaign":"mbcg_internal_partner_ncaa_tile","utm_medium":"internal_partner","_branch_referrer":"H4sIAAAAAAAAA8soKSkottLXz83N0UssKNDLyczL1s9LTkyML8nMSY1PSk63rytKTUstKsrMS49PKsovL04tsvV0BQADOkPvOAAAAA=="},"buildId":"1nRCF5fGD6PTUEnajae4b","isFallback":false,"isExperimentalCompile":false,"gssp":true,"appGip":true,"scriptLoader":[]}</script></body></html>