@almacareer/cookie-consent-manager
Version:
Cookie Consent Manager mainly for Alma Career products
1,153 lines • 138 kB
JavaScript
/*!
* CookieConsent 3.1.0
* https://github.com/orestbida/cookieconsent
* Author Orest Bida
* Released under the MIT License
*/
const Va = "opt-in", Ie = "opt-out", ra = "show--consent", ca = "show--preferences", ta = "disable--interaction", Ue = "data-category", $ = "div", oe = "button", ie = "aria-hidden", xe = "btn-group", W = "click", Me = "data-role", la = "consentModal", pa = "preferencesModal";
class Ua {
constructor() {
this.t = { mode: Va, revision: 0, autoShow: !0, lazyHtmlGeneration: !0, autoClearCookies: !0, manageScriptTags: !0, hideFromBots: !0, cookie: { name: "cc_cookie", expiresAfterDays: 182, domain: "", path: "/", secure: !0, sameSite: "Lax" } }, this.o = { i: {}, l: "", _: {}, u: {}, p: {}, m: [], v: !1, h: null, C: null, S: null, M: "", D: !0, T: !1, k: !1, A: !1, N: !1, H: [], V: !1, I: !0, L: [], j: !1, F: "", P: !1, O: [], R: [], B: [], $: [], G: !1, J: !1, U: !1, q: [], K: [], W: [], X: {}, Y: {}, Z: {}, ee: {}, te: {}, oe: [] }, this.ne = { ae: {}, se: {} }, this.ce = {}, this.re = { ie: "cc:onFirstConsent", le: "cc:onConsent", de: "cc:onChange", fe: "cc:onModalShow", _e: "cc:onModalHide", ue: "cc:onModalReady" };
}
}
const i = new Ua(), Ya = (t, n) => t.indexOf(n), S = (t, n) => Ya(t, n) !== -1, _e = (t) => Array.isArray(t), me = (t) => typeof t == "string", Ye = (t) => !!t && typeof t == "object" && !_e(t), se = (t) => typeof t == "function", re = (t) => Object.keys(t), da = (t) => Array.from(new Set(t)), Ze = () => document.activeElement, Ne = (t) => t.preventDefault(), ua = (t, n) => t.querySelectorAll(n), Ee = (t) => t.dispatchEvent(new Event("change")), h = (t) => {
const n = document.createElement(t);
return t === oe && (n.type = t), n;
}, A = (t, n, e) => t.setAttribute(n, e), Xe = (t, n, e) => {
t.removeAttribute(e ? "data-" + n : n);
}, Ke = (t, n, e) => t.getAttribute(e ? "data-" + n : n), v = (t, n) => t.appendChild(n), I = (t, n) => t.classList.add(n), V = (t, n) => I(t, "cm__" + n), _ = (t, n) => I(t, "pm__" + n), he = (t, n) => t.classList.remove(n), ue = (t) => {
if (typeof t != "object") return t;
if (t instanceof Date) return new Date(t.getTime());
let n = Array.isArray(t) ? [] : {};
for (let e in t) {
let a = t[e];
n[e] = ue(a);
}
return n;
}, zt = () => {
const t = {}, { O: n, X: e, Y: a } = i.o;
for (const o of n) t[o] = We(a[o], re(e[o]));
return t;
}, Na = (t, n) => dispatchEvent(new CustomEvent(t, { detail: n })), x = (t, n, e, a) => {
t.addEventListener(n, e), a && i.o.m.push({ pe: t, ge: n, me: e });
}, Ma = () => {
const t = i.t.cookie.expiresAfterDays;
return se(t) ? t(i.o.F) : t;
}, We = (t, n) => {
const e = t || [], a = n || [];
return e.filter((o) => !S(a, o)).concat(a.filter((o) => !S(e, o)));
}, Za = (t) => {
i.o.R = da(t), i.o.F = (() => {
let n = "custom";
const { R: e, O: a, B: o } = i.o, r = e.length;
return r === a.length ? n = "all" : r === o.length && (n = "necessary"), n;
})();
}, Ja = (t, n, e, a) => {
const o = "accept-", { show: r, showPreferences: l, hide: s, hidePreferences: c, acceptCategory: u } = n, y = t || document, p = (g) => ua(y, `[data-cc="${g}"]`), m = (g, w) => {
Ne(g), u(w), c(), s();
}, b = p("show-preferencesModal"), d = p("show-consentModal"), k = p(o + "all"), j = p(o + "necessary"), z = p(o + "custom"), C = i.t.lazyHtmlGeneration;
for (const g of b) A(g, "aria-haspopup", "dialog"), x(g, W, (w) => {
Ne(w), l();
}), C && (x(g, "mouseenter", (w) => {
Ne(w), i.o.N || e(n, a);
}, !0), x(g, "focus", () => {
i.o.N || e(n, a);
}));
for (let g of d) A(g, "aria-haspopup", "dialog"), x(g, W, (w) => {
Ne(w), r(!0);
}, !0);
for (let g of k) x(g, W, (w) => {
m(w, "all");
}, !0);
for (let g of z) x(g, W, (w) => {
m(w);
}, !0);
for (let g of j) x(g, W, (w) => {
m(w, []);
}, !0);
}, ce = (t, n) => {
t && (n && (t.tabIndex = -1), t.focus(), n && t.removeAttribute("tabindex"));
}, Xa = (t, n) => {
const e = (a) => {
a.target.removeEventListener("transitionend", e), a.propertyName === "opacity" && getComputedStyle(t).opacity === "1" && ce(((o) => o === 1 ? i.ne.be : i.ne.ve)(n));
};
x(t, "transitionend", e);
};
let Pa;
const Qa = (t) => {
clearTimeout(Pa), t ? I(i.ne.ye, ta) : Pa = setTimeout(() => {
he(i.ne.ye, ta);
}, 500);
}, wt = ["M 19.5 4.5 L 4.5 19.5 M 4.5 4.501 L 19.5 19.5", "M 3.572 13.406 L 8.281 18.115 L 20.428 5.885", "M 21.999 6.94 L 11.639 17.18 L 2.001 6.82 "], De = (t = 0, n = 1.5) => `<svg viewBox="0 0 24 24" stroke-width="${n}"><path d="${wt[t]}"/></svg>`, et = (t) => {
const n = i.ne, e = i.o;
((a) => {
const o = a === n.he, r = e.i.disablePageInteraction ? n.ye : o ? n.Ce : n.ye;
x(r, "keydown", (l) => {
if (l.key !== "Tab" || !(o ? e.k && !e.A : e.A)) return;
const s = Ze(), c = o ? e.q : e.K;
c.length !== 0 && (l.shiftKey ? s !== c[0] && a.contains(s) || (Ne(l), ce(c[1])) : s !== c[1] && a.contains(s) || (Ne(l), ce(c[0])));
}, !0);
})(t);
}, Ct = ["[href]", oe, "input", "details", "[tabindex]"].map((t) => t + ':not([tabindex="-1"])').join(","), at = (t) => {
const { o: n, ne: e } = i, a = (o, r) => {
const l = ua(o, Ct);
r[0] = l[0], r[1] = l[l.length - 1];
};
t === 1 && n.T && a(e.he, n.q), t === 2 && n.N && a(e.we, n.K);
}, le = (t, n, e) => {
const { de: a, le: o, ie: r, _e: l, ue: s, fe: c } = i.ce, u = i.re;
if (n) {
const p = { modalName: n };
return t === u.fe ? se(c) && c(p) : t === u._e ? se(l) && l(p) : (p.modal = e, se(s) && s(p)), Na(t, p);
}
const y = { cookie: i.o.p };
t === u.ie ? se(r) && r(ue(y)) : t === u.le ? se(o) && o(ue(y)) : (y.changedCategories = i.o.L, y.changedServices = i.o.ee, se(a) && a(ue(y))), Na(t, ue(y));
}, Le = (t, n) => {
try {
return t();
} catch (e) {
return !n && console.warn("CookieConsent:", e), !1;
}
}, na = (t) => {
const { Y: n, ee: e, O: a, X: o, oe: r, p: l, L: s } = i.o;
for (const p of a) {
const m = e[p] || n[p] || [];
for (const b of m) {
const d = o[p][b];
if (!d) continue;
const { onAccept: k, onReject: j } = d;
!d.Se && S(n[p], b) ? (d.Se = !0, se(k) && k()) : d.Se && !S(n[p], b) && (d.Se = !1, se(j) && j());
}
}
if (!i.t.manageScriptTags) return;
const c = r, u = t || l.categories || [], y = (p, m) => {
if (m >= p.length) return;
const b = r[m];
if (b.xe) return y(p, m + 1);
const d = b.Me, k = b.De, j = b.Te, z = S(u, k), C = !!j && S(n[k], j);
if (!j && !b.ke && z || !j && b.ke && !z && S(s, k) || j && !b.ke && C || j && b.ke && !C && S(e[k] || [], j)) {
b.xe = !0;
const g = Ke(d, "type", !0);
Xe(d, "type", !!g), Xe(d, Ue);
let w = Ke(d, "src", !0);
w && Xe(d, "src", !0);
const N = h("script");
N.textContent = d.innerHTML;
for (const { nodeName: f } of d.attributes) A(N, f, d[f] || Ke(d, f));
g && (N.type = g), w ? N.src = w : w = d.src;
const M = !!w && (!g || ["text/javascript", "module"].includes(g));
if (M && (N.onload = N.onerror = () => {
y(p, ++m);
}), d.replaceWith(N), M) return;
}
y(p, ++m);
};
y(c, 0);
}, Ge = "bottom", oa = "left", tt = "center", ma = "right", Qe = "inline", nt = "wide", ot = "pm--", ea = ["middle", "top", Ge], _a = [oa, tt, ma], At = { box: { Ee: [nt, Qe], Ae: ea, Ne: _a, He: Ge, Ve: ma }, cloud: { Ee: [Qe], Ae: ea, Ne: _a, He: Ge, Ve: tt }, bar: { Ee: [Qe], Ae: ea.slice(1), Ne: [], He: Ge, Ve: "" } }, Nt = { box: { Ee: [], Ae: [], Ne: [], He: "", Ve: "" }, bar: { Ee: [nt], Ae: [], Ne: [oa, ma], He: "", Ve: oa } }, it = (t) => {
const n = i.o.i.guiOptions, e = n && n.consentModal, a = n && n.preferencesModal;
t === 0 && $a(i.ne.he, At, e, "cm--", "box", "cm"), t === 1 && $a(i.ne.we, Nt, a, ot, "box", "pm");
}, $a = (t, n, e, a, o, r) => {
t.className = r;
const l = e && e.layout, s = e && e.position, c = e && e.flipButtons, u = !e || e.equalWeightButtons !== !1, y = l && l.split(" ") || [], p = y[0], m = y[1], b = p in n ? p : o, d = n[b], k = S(d.Ee, m) && m, j = s && s.split(" ") || [], z = j[0], C = a === ot ? j[0] : j[1], g = S(d.Ae, z) ? z : d.He, w = S(d.Ne, C) ? C : d.Ve, N = (f) => {
f && I(t, a + f);
};
N(b), N(k), N(g), N(w), c && N("flip");
const M = r + "__btn--secondary";
if (r === "cm") {
const { Ie: f, Le: B } = i.ne;
f && (u ? he(f, M) : I(f, M)), B && (u ? he(B, M) : I(B, M));
} else {
const { je: f } = i.ne;
f && (u ? he(f, M) : I(f, M));
}
}, Pe = (t, n) => {
const e = i.o, a = i.ne, { hide: o, hidePreferences: r, acceptCategory: l } = t, s = (w) => {
l(w), r(), o();
}, c = e.u && e.u.preferencesModal;
if (!c) return;
const u = c.title, y = c.closeIconLabel, p = c.acceptAllBtn, m = c.acceptNecessaryBtn, b = c.savePreferencesBtn, d = c.sections || [], k = p || m || b;
if (a.Fe) a.Pe = h($), _(a.Pe, "body");
else {
a.Fe = h($), I(a.Fe, "pm-wrapper");
const w = h("div");
I(w, "pm-overlay"), v(a.Fe, w), x(w, W, r), a.we = h($), I(a.we, "pm"), A(a.we, "role", "dialog"), A(a.we, ie, !0), A(a.we, "aria-modal", !0), A(a.we, "aria-labelledby", "pm__title"), x(a.ye, "keydown", (N) => {
N.keyCode === 27 && r();
}, !0), a.Oe = h($), _(a.Oe, "header"), a.Re = h("h2"), _(a.Re, "title"), a.Re.id = "pm__title", a.Be = h(oe), _(a.Be, "close-btn"), A(a.Be, "aria-label", c.closeIconLabel || ""), x(a.Be, W, r), a.$e = h("span"), a.$e.innerHTML = De(), v(a.Be, a.$e), a.Ge = h($), _(a.Ge, "body"), a.Je = h($), _(a.Je, "footer");
var j = h($);
I(j, "btns");
var z = h($), C = h($);
_(z, xe), _(C, xe), v(a.Je, z), v(a.Je, C), v(a.Oe, a.Re), v(a.Oe, a.Be), a.ve = h($), A(a.ve, "tabIndex", -1), v(a.we, a.ve), v(a.we, a.Oe), v(a.we, a.Ge), k && v(a.we, a.Je), v(a.Fe, a.we);
}
let g;
u && (a.Re.innerHTML = u, y && A(a.Be, "aria-label", y)), d.forEach((w, N) => {
const M = w.title, f = w.description, B = w.linkedCategory, X = B && e.P[B], P = w.cookieTable, Y = P && P.body, te = P && P.caption, G = Y && Y.length > 0, q = !!X, Z = q && e.X[B], ke = Ye(Z) && re(Z) || [], R = q && (!!f || !!G || re(Z).length > 0);
var ne = h($);
if (_(ne, "section"), R || f) {
var ae = h($);
_(ae, "section-desc-wrapper");
}
let ge = ke.length;
if (R && ge > 0) {
const K = h($);
_(K, "section-services");
for (const ee of ke) {
const D = Z[ee], J = D && D.label || ee, be = h($), je = h($), $e = h($), we = h($);
_(be, "service"), _(we, "service-title"), _(je, "service-header"), _($e, "service-icon");
const de = Sa(J, ee, X, !0, B);
we.innerHTML = J, v(je, $e), v(je, we), v(be, je), v(be, de), v(K, be);
}
v(ae, K);
}
if (M) {
var fe = h($), Q = h(q ? oe : $);
if (_(fe, "section-title-wrapper"), _(Q, "section-title"), Q.innerHTML = M, v(fe, Q), q) {
const K = h("span");
K.innerHTML = De(2, 3.5), _(K, "section-arrow"), v(fe, K), ne.className += "--toggle";
const ee = Sa(M, B, X);
let D = c.serviceCounterLabel;
if (ge > 0 && me(D)) {
let J = h("span");
_(J, "badge"), _(J, "service-counter"), A(J, ie, !0), A(J, "data-servicecounter", ge), D && (D = D.split("|"), D = D.length > 1 && ge > 1 ? D[1] : D[0], A(J, "data-counterlabel", D)), J.innerHTML = ge + (D ? " " + D : ""), v(Q, J);
}
if (R) {
_(ne, "section--expandable");
var wa = B + "-desc";
A(Q, "aria-expanded", !1), A(Q, "aria-controls", wa);
}
v(fe, ee);
} else A(Q, "role", "heading"), A(Q, "aria-level", "3");
v(ne, fe);
}
if (f) {
var Je = h("p");
_(Je, "section-desc"), Je.innerHTML = f, v(ae, Je);
}
if (R && (A(ae, ie, "true"), ae.id = wa, ((K, ee, D) => {
x(Q, W, () => {
ee.classList.contains("is-expanded") ? (he(ee, "is-expanded"), A(D, "aria-expanded", "false"), A(K, ie, "true")) : (I(ee, "is-expanded"), A(D, "aria-expanded", "true"), A(K, ie, "false"));
});
})(ae, ne, Q), G)) {
const K = h("table"), ee = h("thead"), D = h("tbody");
if (te) {
const de = h("caption");
_(de, "table-caption"), de.innerHTML = te, K.appendChild(de);
}
_(K, "section-table"), _(ee, "table-head"), _(D, "table-body");
const J = P.headers, be = re(J), je = a.Ue.createDocumentFragment(), $e = h("tr");
for (const de of be) {
const Ce = J[de], ye = h("th");
ye.id = "cc__row-" + Ce + N, A(ye, "scope", "col"), _(ye, "table-th"), ye.innerHTML = Ce, v(je, ye);
}
v($e, je), v(ee, $e);
const we = a.Ue.createDocumentFragment();
for (const de of Y) {
const Ce = h("tr");
_(Ce, "table-tr");
for (const ye of be) {
const Ca = J[ye], jt = de[ye], Se = h("td"), Aa = h($);
_(Se, "table-td"), A(Se, "data-column", Ca), A(Se, "headers", "cc__row-" + Ca + N), Aa.insertAdjacentHTML("beforeend", jt), v(Se, Aa), v(Ce, Se);
}
v(we, Ce);
}
v(D, we), v(K, ee), v(K, D), v(ae, K);
}
(R || f) && v(ne, ae);
const bt = a.Pe || a.Ge;
q ? (g || (g = h($), _(g, "section-toggles")), g.appendChild(ne)) : g = null, v(bt, g || ne);
}), p && (a.ze || (a.ze = h(oe), _(a.ze, "btn"), A(a.ze, Me, "all"), v(z, a.ze), x(a.ze, W, () => s("all"))), a.ze.innerHTML = p), m && (a.je || (a.je = h(oe), _(a.je, "btn"), A(a.je, Me, "necessary"), v(z, a.je), x(a.je, W, () => s([]))), a.je.innerHTML = m), b && (a.qe || (a.qe = h(oe), _(a.qe, "btn"), _(a.qe, "btn--secondary"), A(a.qe, Me, "save"), v(C, a.qe), x(a.qe, W, () => s())), a.qe.innerHTML = b), a.Pe && (a.we.replaceChild(a.Pe, a.Ge), a.Ge = a.Pe), it(1), e.N || (e.N = !0, le(i.re.ue, pa, a.we), n(t), v(a.Ce, a.Fe), et(a.we), setTimeout(() => I(a.Fe, "cc--anim"), 100)), at(2);
};
function Sa(t, n, e, a, o) {
const r = i.o, l = i.ne, s = h("label"), c = h("input"), u = h("span"), y = h("span"), p = h("span"), m = h("span"), b = h("span");
if (m.innerHTML = De(1, 3), b.innerHTML = De(0, 3), c.type = "checkbox", I(s, "section__toggle-wrapper"), I(c, "section__toggle"), I(m, "toggle__icon-on"), I(b, "toggle__icon-off"), I(u, "toggle__icon"), I(y, "toggle__icon-circle"), I(p, "toggle__label"), A(u, ie, "true"), a ? (I(s, "toggle-service"), A(c, Ue, o), l.se[o][n] = c) : l.ae[n] = c, a ? ((d) => {
x(c, "change", () => {
const k = l.se[d], j = l.ae[d];
r.Z[d] = [];
for (let z in k) {
const C = k[z];
C.checked && r.Z[d].push(C.value);
}
j.checked = r.Z[d].length > 0;
});
})(o) : ((d) => {
x(c, W, () => {
const k = l.se[d], j = c.checked;
r.Z[d] = [];
for (let z in k) k[z].checked = j, j && r.Z[d].push(z);
});
})(n), c.value = n, p.textContent = t.replace(/<.*>.*<\/.*>/gm, ""), v(y, b), v(y, m), v(u, y), r.D) (e.readOnly || e.enabled) && (c.checked = !0);
else if (a) {
const d = r.Y[o];
c.checked = e.readOnly || S(d, n);
} else S(r.R, n) && (c.checked = !0);
return e.readOnly && (c.disabled = !0), v(s, c), v(s, u), v(s, p), s;
}
const aa = () => {
const t = h("span");
return i.ne.Ke || (i.ne.Ke = t), t;
}, ka = (t, n) => {
const e = i.o, a = i.ne, { hide: o, showPreferences: r, acceptCategory: l } = t, s = e.u && e.u.consentModal;
if (!s) return;
const c = s.acceptAllBtn, u = s.acceptNecessaryBtn, y = s.showPreferencesBtn, p = s.closeIconLabel, m = s.footer, b = s.label, d = s.title, k = (z) => {
o(), l(z);
};
if (!a.Qe) {
a.Qe = h($), a.he = h($), a.We = h($), a.Xe = h($), a.Ye = h($), I(a.Qe, "cm-wrapper"), I(a.he, "cm"), V(a.We, "body"), V(a.Xe, "texts"), V(a.Ye, "btns"), A(a.he, "role", "dialog"), A(a.he, "aria-modal", "true"), A(a.he, ie, "false"), A(a.he, "aria-describedby", "cm__desc"), b ? A(a.he, "aria-label", b) : d && A(a.he, "aria-labelledby", "cm__title");
const z = "box", C = e.i.guiOptions, g = C && C.consentModal, w = (g && g.layout || z).split(" ")[0] === z;
d && p && w && (a.Le || (a.Le = h(oe), a.Le.innerHTML = De(), V(a.Le, "btn"), V(a.Le, "btn--close"), x(a.Le, W, () => {
k([]);
}), v(a.We, a.Le)), A(a.Le, "aria-label", p)), v(a.We, a.Xe), (c || u || y) && v(a.We, a.Ye), a.be = h($), A(a.be, "tabIndex", -1), v(a.he, a.be), v(a.he, a.We), v(a.Qe, a.he);
}
d && (a.Ze || (a.Ze = h("h2"), a.Ze.className = a.Ze.id = "cm__title", v(a.Xe, a.Ze)), a.Ze.innerHTML = d);
let j = s.description;
if (j && (e.V && (j = j.replace("{{revisionMessage}}", e.I ? "" : s.revisionMessage || "")), a.et || (a.et = h("p"), a.et.className = a.et.id = "cm__desc", v(a.Xe, a.et)), a.et.innerHTML = j), c && (a.tt || (a.tt = h(oe), v(a.tt, aa()), V(a.tt, "btn"), A(a.tt, Me, "all"), x(a.tt, W, () => {
k("all");
})), a.tt.firstElementChild.innerHTML = c), u && (a.Ie || (a.Ie = h(oe), v(a.Ie, aa()), V(a.Ie, "btn"), A(a.Ie, Me, "necessary"), x(a.Ie, W, () => {
k([]);
})), a.Ie.firstElementChild.innerHTML = u), y && (a.ot || (a.ot = h(oe), v(a.ot, aa()), V(a.ot, "btn"), V(a.ot, "btn--secondary"), A(a.ot, Me, "show"), x(a.ot, "mouseenter", () => {
e.N || Pe(t, n);
}), x(a.ot, W, r)), a.ot.firstElementChild.innerHTML = y), a.nt || (a.nt = h($), V(a.nt, xe), c && v(a.nt, a.tt), u && v(a.nt, a.Ie), (c || u) && v(a.We, a.nt), v(a.Ye, a.nt)), a.ot && !a.st && (a.st = h($), a.Ie && a.tt ? (V(a.st, xe), v(a.st, a.ot), v(a.Ye, a.st)) : (v(a.nt, a.ot), V(a.nt, xe + "--uneven"))), m) {
if (!a.ct) {
let z = h($), C = h($);
a.ct = h($), V(z, "footer"), V(C, "links"), V(a.ct, "link-group"), v(C, a.ct), v(z, C), v(a.he, z);
}
a.ct.innerHTML = m;
}
it(0), e.T || (e.T = !0, le(i.re.ue, la, a.he), n(t), v(a.Ce, a.Qe), et(a.he), setTimeout(() => I(a.Qe, "cc--anim"), 100)), at(1), Ja(a.We, t, Pe, n);
}, ga = (t) => {
if (!me(t)) return null;
if (t in i.o._) return t;
let n = t.slice(0, 2);
return n in i.o._ ? n : null;
}, fa = () => i.o.l || i.o.i.language.default, ya = (t) => {
t && (i.o.l = t);
}, st = async (t) => {
const n = i.o;
let e = ga(t) ? t : fa(), a = n._[e];
if (me(a) ? a = await (async (o) => {
try {
return await (await fetch(o)).json();
} catch (r) {
return console.error(r), !1;
}
})(a) : se(a) && (a = await a()), !a) throw `Could not load translation for the '${e}' language`;
return n.u = a, ya(e), !0;
}, rt = () => {
let t = i.o.i.language.rtl, n = i.ne.Ce;
t && n && (_e(t) || (t = [t]), S(t, i.o.l) ? I(n, "cc--rtl") : he(n, "cc--rtl"));
}, ze = () => {
const t = i.ne;
if (t.Ce) return;
t.Ce = h($), t.Ce.id = "cc-main", t.Ce.setAttribute("data-nosnippet", ""), rt();
let n = i.o.i.root;
n && me(n) && (n = document.querySelector(n)), (n || t.Ue.body).appendChild(t.Ce);
}, ct = (t) => Le(() => localStorage.removeItem(t)), Ta = (t, n) => {
if (n instanceof RegExp) return t.filter((e) => n.test(e));
{
const e = Ya(t, n);
return e > -1 ? [t[e]] : [];
}
}, lt = (t) => {
const { hostname: n, protocol: e } = location, { name: a, path: o, domain: r, sameSite: l, useLocalStorage: s, secure: c } = i.t.cookie, u = t ? (() => {
const b = i.o.S, d = b ? /* @__PURE__ */ new Date() - b : 0;
return 864e5 * Ma() - d;
})() : 864e5 * Ma(), y = /* @__PURE__ */ new Date();
y.setTime(y.getTime() + u), i.o.p.expirationTime = y.getTime();
const p = JSON.stringify(i.o.p);
let m = a + "=" + encodeURIComponent(p) + (u !== 0 ? "; expires=" + y.toUTCString() : "") + "; Path=" + o + "; SameSite=" + l;
S(n, ".") && (m += "; Domain=" + r), c && e === "https:" && (m += "; Secure"), s ? ((b, d) => {
Le(() => localStorage.setItem(b, d));
})(a, p) : document.cookie = m, i.o.p;
}, ia = (t, n, e) => {
if (t.length === 0) return;
const a = e || i.t.cookie.domain, o = n || i.t.cookie.path, r = a.slice(0, 4) === "www.", l = r && a.substring(4), s = (c, u) => {
u && u.slice(0, 1) !== "." && (u = "." + u), document.cookie = c + "=; path=" + o + (u ? "; domain=" + u : "") + "; expires=Thu, 01 Jan 1970 00:00:01 GMT;";
};
for (const c of t) s(c, e), e || s(c, a), r && s(c, l);
}, pt = (t) => {
const n = t || i.t.cookie.name, e = i.t.cookie.useLocalStorage;
return ((o, r) => {
let l;
return l = Le(() => JSON.parse(r ? o : decodeURIComponent(o)), !0) || {}, l;
})(e ? (a = n, Le(() => localStorage.getItem(a)) || "") : va(n, !0), e);
var a;
}, va = (t, n) => {
const e = document.cookie.match("(^|;)\\s*" + t + "\\s*=\\s*([^;]+)");
return e ? n ? e.pop() : t : "";
}, dt = (t) => {
const n = document.cookie.split(/;\s*/), e = [];
for (const a of n) {
let o = a.split("=")[0];
t ? Le(() => {
t.test(o) && e.push(o);
}) : e.push(o);
}
return e;
}, ha = (t, n = []) => {
((e, a) => {
const { O: o, R: r, B: l, N: s, Z: c, $: u, X: y } = i.o;
let p = [];
if (e) {
_e(e) ? p.push(...e) : me(e) && (p = e === "all" ? o : [e]);
for (const m of o) c[m] = S(p, m) ? re(y[m]) : [];
} else p = [...r, ...u], s && (p = (() => {
const m = i.ne.ae;
if (!m) return [];
let b = [];
for (let d in m) m[d].checked && b.push(d);
return b;
})());
p = p.filter((m) => !S(o, m) || !S(a, m)), p.push(...l), Za(p);
})(t, n), (() => {
const e = i.o, { Z: a, B: o, Y: r, X: l, O: s } = e, c = s;
e.te = ue(r);
for (const u of c) {
const y = l[u], p = re(y), m = a[u] && a[u].length > 0, b = S(o, u);
if (p.length !== 0) {
if (r[u] = [], b) r[u].push(...p);
else if (m) {
const d = a[u];
r[u].push(...d);
} else r[u] = e.Z[u];
r[u] = da(r[u]);
}
}
})(), (() => {
const e = i.o;
e.L = i.t.mode === Ie && e.D ? We(e.$, e.R) : We(e.R, e.p.categories);
let a = e.L.length > 0, o = !1;
for (const c of e.O) e.ee[c] = We(e.Y[c], e.te[c]), e.ee[c].length > 0 && (o = !0);
const r = i.ne.ae;
for (const c in r) r[c].checked = S(e.R, c);
for (const c of e.O) {
const u = i.ne.se[c], y = e.Y[c];
for (const p in u) u[p].checked = S(y, p);
}
e.C || (e.C = /* @__PURE__ */ new Date()), e.M || (e.M = ("10000000-1000-4000-8000" + -1e11).replace(/[018]/g, (c) => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16))), e.p = { categories: ue(e.R), revision: i.t.revision, data: e.h, consentTimestamp: e.C.toISOString(), consentId: e.M, services: ue(e.Y), languageCode: i.o.l }, e.S && (e.p.lastConsentTimestamp = e.S.toISOString());
let l = !1;
const s = a || o;
(e.D || s) && (e.D && (e.D = !1, l = !0), e.S = e.S ? /* @__PURE__ */ new Date() : e.C, e.p.lastConsentTimestamp = e.S.toISOString(), lt(), i.t.autoClearCookies && (l || s) && ((c) => {
const u = i.o, y = dt(), p = ((m) => {
const b = i.o;
return (m ? b.O : b.L).filter((d) => {
const k = b.P[d];
return !!k && !k.readOnly && !!k.autoClear;
});
})(c);
for (const m in u.ee) for (const b of u.ee[m]) {
const d = u.X[m][b].cookies;
if (!S(u.Y[m], b) && d) for (const k of d) {
const j = Ta(y, k.name);
ia(j, k.path, k.domain);
}
}
for (const m of p) {
const b = u.P[m].autoClear, d = b && b.cookies || [], k = S(u.L, m), j = !S(u.R, m), z = k && j;
if (c ? j : z) {
b.reloadPage && z && (u.j = !0);
for (const C of d) {
const g = Ta(y, C.name);
ia(g, C.path, C.domain);
}
}
}
})(l), na()), l && (le(i.re.ie), le(i.re.le), i.t.mode === Va) || (s && le(i.re.de), e.j && (e.j = !1, location.reload()));
})();
}, ut = (t) => {
const n = i.o.D ? [] : i.o.R;
return S(n, t);
}, Mt = (t, n) => {
const { O: e, X: a } = i.o;
if (!(t && n && me(n) && S(e, n) && re(a[n]).length !== 0)) return !1;
((o, r) => {
const l = i.o, { X: s, Z: c, N: u } = l, y = i.ne.se[r] || {}, p = i.ne.ae[r] || {}, m = re(s[r]);
if (c[r] = [], me(o)) {
if (o === "all") {
if (c[r].push(...m), u) for (let d in y) y[d].checked = !0, Ee(y[d]);
} else if (S(m, o) && c[r].push(o), u) for (let d in y) y[d].checked = o === d, Ee(y[d]);
} else if (_e(o)) for (let d of m) {
const k = S(o, d);
k && c[r].push(d), u && (y[d].checked = k, Ee(y[d]));
}
const b = c[r].length === 0;
l.R = b ? l.R.filter((d) => d !== r) : da([...l.R, r]), u && (p.checked = !b, Ee(p));
})(t, n), ha();
}, mt = (t, n) => {
const e = i.o.D ? [] : i.o.Y[n] || [];
return S(e, t);
}, Pt = (t) => va(t, !0) !== "", kt = (t, n, e) => {
let a = [];
const o = (r) => {
if (me(r)) {
let l = va(r);
l !== "" && a.push(l);
} else a.push(...dt(r));
};
if (_e(t)) for (let r of t) o(r);
else o(t);
ia(a, n, e);
}, ba = (t) => {
const { ne: n, o: e } = i;
if (!e.k) {
if (!e.T) {
if (!t) return;
ka(Oe, ze);
}
e.k = !0, e.J = Ze(), e.v && Qa(!0), Xa(n.he, 1), I(n.ye, ra), A(n.he, ie, "false"), setTimeout(() => {
ce(i.ne.be);
}, 100), le(i.re.fe, la);
}
}, gt = () => {
const { ne: t, o: n, re: e } = i;
n.k && (n.k = !1, n.v && Qa(), ce(t.Ke, !0), he(t.ye, ra), A(t.he, ie, "true"), ce(n.J), n.J = null, le(e._e, la));
}, ft = () => {
const t = i.o;
t.A || (t.N || Pe(Oe, ze), t.A = !0, t.k ? t.U = Ze() : t.J = Ze(), Xa(i.ne.we, 2), I(i.ne.ye, ca), A(i.ne.we, ie, "false"), setTimeout(() => {
ce(i.ne.ve);
}, 100), le(i.re.fe, pa));
}, yt = () => {
const t = i.o;
t.A && (t.A = !1, (() => {
const n = ja(), e = i.o.P, a = i.ne.ae, o = i.ne.se, r = (l) => S(i.o.$, l);
for (const l in a) {
const s = !!e[l].readOnly;
a[l].checked = s || (n ? ut(l) : r(l));
for (const c in o[l]) o[l][c].checked = s || (n ? mt(c, l) : r(l));
}
})(), ce(i.ne.$e, !0), he(i.ne.ye, ca), A(i.ne.we, ie, "true"), t.k ? (ce(t.U), t.U = null) : (ce(t.J), t.J = null), le(i.re._e, pa));
};
var Oe = { show: ba, hide: gt, showPreferences: ft, hidePreferences: yt, acceptCategory: ha };
const _t = async (t, n) => {
if (!ga(t)) return !1;
const e = i.o;
return !(t === fa() && n !== !0 || !await st(t) || (ya(t), e.T && ka(Oe, ze), e.N && Pe(Oe, ze), rt(), 0));
}, $t = () => {
const { F: t, Y: n } = i.o, { accepted: e, rejected: a } = (() => {
const { D: o, R: r, O: l } = i.o;
return { accepted: r, rejected: o ? [] : l.filter((s) => !S(r, s)) };
})();
return ue({ acceptType: t, acceptedCategories: e, rejectedCategories: a, acceptedServices: n, rejectedServices: zt() });
}, St = (t, n) => {
let e = document.querySelector('script[src="' + t + '"]');
return new Promise((a) => {
if (e) return a(!0);
if (e = h("script"), Ye(n)) for (const o in n) A(e, o, n[o]);
e.onload = () => a(!0), e.onerror = () => {
e.remove(), a(!1);
}, e.src = t, v(document.head, e);
});
}, Tt = (t) => {
let n, e = t.value, a = t.mode, o = !1;
const r = i.o;
if (a === "update") {
r.h = n = vt("data");
const l = typeof n == typeof e;
if (l && typeof n == "object") {
!n && (n = {});
for (let s in e) n[s] !== e[s] && (n[s] = e[s], o = !0);
} else !l && n || n === e || (n = e, o = !0);
} else n = e, o = !0;
return o && (r.h = n, r.p.data = n, lt(!0)), o;
}, vt = (t, n) => {
const e = pt(n);
return t ? e[t] : e;
}, Bt = (t) => {
const n = i.t, e = i.o.i;
return t ? n[t] || e[t] : { ...n, ...e, cookie: { ...n.cookie } };
}, ja = () => !i.o.D, It = async (t) => {
const { o: n, t: e, re: a } = i, o = window;
if (!o._ccRun) {
if (o._ccRun = !0, ((s) => {
const { ne: c, t: u, o: y } = i, p = u, m = y, { cookie: b } = p, d = i.ce, k = s.cookie, j = s.categories, z = re(j) || [], C = navigator, g = document;
c.Ue = g, c.ye = g.documentElement, b.domain = location.hostname, m.i = s, m.P = j, m.O = z, m._ = s.language.translations, m.v = !!s.disablePageInteraction, d.ie = s.onFirstConsent, d.le = s.onConsent, d.de = s.onChange, d._e = s.onModalHide, d.fe = s.onModalShow, d.ue = s.onModalReady;
const { mode: w, autoShow: N, lazyHtmlGeneration: M, autoClearCookies: f, revision: B, manageScriptTags: X, hideFromBots: P } = s;
w === Ie && (p.mode = w), typeof f == "boolean" && (p.autoClearCookies = f), typeof X == "boolean" && (p.manageScriptTags = X), typeof B == "number" && B >= 0 && (p.revision = B, m.V = !0), typeof N == "boolean" && (p.autoShow = N), typeof M == "boolean" && (p.lazyHtmlGeneration = M), P === !1 && (p.hideFromBots = !1), p.hideFromBots === !0 && C && (m.G = C.userAgent && /bot|crawl|spider|slurp|teoma/i.test(C.userAgent) || C.webdriver), Ye(k) && (p.cookie = { ...b, ...k }), p.autoClearCookies, m.V, p.manageScriptTags, ((Y) => {
const { P: te, X: G, Y: q, Z, B: ke } = i.o;
for (let R of Y) {
const ne = te[R], ae = ne.services || {}, ge = Ye(ae) && re(ae) || [];
G[R] = {}, q[R] = [], Z[R] = [], ne.readOnly && (ke.push(R), q[R] = ge), i.ne.se[R] = {};
for (let fe of ge) {
const Q = ae[fe];
Q.Se = !1, G[R][fe] = Q;
}
}
})(z), (() => {
if (!i.t.manageScriptTags) return;
const Y = i.o, te = ua(document, "script[" + Ue + "]");
for (const G of te) {
let q = Ke(G, Ue), Z = G.dataset.service || "", ke = !1;
if (q && q.charAt(0) === "!" && (q = q.slice(1), ke = !0), Z.charAt(0) === "!" && (Z = Z.slice(1), ke = !0), S(Y.O, q) && (Y.oe.push({ Me: G, xe: !1, ke, De: q, Te: Z }), Z)) {
const R = Y.X[q];
R[Z] || (R[Z] = { Se: !1 });
}
}
})(), ya((() => {
const Y = i.o.i.language.autoDetect;
if (Y) {
const te = { browser: navigator.language, document: document.documentElement.lang }, G = ga(te[Y]);
if (G) return G;
}
return fa();
})());
})(t), n.G) return;
(() => {
const s = i.o, c = i.t, u = pt(), { categories: y, services: p, consentId: m, consentTimestamp: b, lastConsentTimestamp: d, data: k, revision: j } = u, z = _e(y);
s.p = u, s.M = m;
const C = !!m && me(m);
s.C = b, s.C && (s.C = new Date(b)), s.S = d, s.S && (s.S = new Date(d)), s.h = k !== void 0 ? k : null, s.V && C && j !== c.revision && (s.I = !1), s.D = !(C && s.I && s.C && s.S && z), c.cookie.useLocalStorage && !s.D && (s.D = (/* @__PURE__ */ new Date()).getTime() > (u.expirationTime || 0), s.D && ct(c.cookie.name)), s.D, (() => {
const g = i.o;
for (const w of g.O) {
const N = g.P[w];
if (N.readOnly || N.enabled) {
g.$.push(w);
const M = g.X[w] || {};
for (let f in M) g.Z[w].push(f), g.i.mode === Ie && g.Y[w].push(f);
}
}
})(), s.D ? c.mode === Ie && (s.R = [...s.$]) : (s.Y = { ...s.Y, ...p }, s.Z = { ...s.Y }, Za([...s.B, ...y]));
})();
const l = ja();
if (!await st()) return !1;
if (Ja(null, r = Oe, Pe, ze), i.o.D && ka(r, ze), i.t.lazyHtmlGeneration || Pe(r, ze), e.autoShow && !l && ba(!0), l) return na(), le(a.le);
e.mode === Ie && na(n.$);
}
var r;
}, xt = (t) => {
const { Ce: n, ye: e } = i.ne, { name: a, path: o, domain: r, useLocalStorage: l } = i.t.cookie;
t && (l ? ct(a) : kt(a, o, r));
for (const { pe: c, ge: u, me: y } of i.o.m) c.removeEventListener(u, y);
n && n.remove(), e && e.classList.remove(ta, ca, ra);
const s = new Ua();
for (const c in i) i[c] = s[c];
window._ccRun = !1;
}, Dt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
acceptCategory: ha,
acceptService: Mt,
acceptedCategory: ut,
acceptedService: mt,
eraseCookies: kt,
getConfig: Bt,
getCookie: vt,
getUserPreferences: $t,
hide: gt,
hidePreferences: yt,
loadScript: St,
reset: xt,
run: It,
setCookieData: Tt,
setLanguage: _t,
show: ba,
showPreferences: ft,
validConsent: ja,
validCookie: Pt
}, Symbol.toStringTag, { value: "Module" }));
let Lt = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", Ot = (t = 21) => {
let n = "", e = crypto.getRandomValues(new Uint8Array(t |= 0));
for (; t--; )
n += Lt[e[t] & 63];
return n;
};
/*!
* mergician
* v2.0.2
* https://jhildenbiddle.github.io/mergician/
* (c) 2022-2024 John Hildenbiddle
* MIT license
*/
function za(...t) {
const n = {};
return t.forEach((e) => {
e.forEach((a) => {
n[a] = a in n ? ++n[a] : 1;
});
}), n;
}
function Et(...t) {
return t.reduce(
(n, e) => n.filter(Set.prototype.has, new Set(e))
);
}
function Ht(...t) {
const n = za(...t);
return Object.keys(n).filter((e) => n[e] > 1);
}
function Ft(...t) {
const n = za(...t);
return Object.keys(n).filter((e) => n[e] < t.length);
}
function qt(...t) {
const n = za(...t);
return Object.keys(n).filter((e) => n[e] === 1);
}
function Rt(t, n = !1) {
const e = Object.getOwnPropertyNames(t);
if (n)
for (const a in t)
!e.includes(a) && e.push(a);
return e;
}
function sa(t) {
return typeof t == "object" && t !== null && !Array.isArray(t);
}
function Ba(t) {
if (!sa(t))
return !1;
const n = ["writable", "enumerable", "configurable"].some(
(r) => r in t
), e = ["get", "set"].some((r) => typeof t[r] == "function"), a = ["get", "set"].every((r) => r in t);
let o = "value" in t && n || e && (a || n);
if (o) {
const r = [
"configurable",
"get",
"set",
"enumerable",
"value",
"writable"
];
o = Object.keys(t).some((l) => !(l in r));
}
return o;
}
/**
* @typedef {Object} MergicianOptions
* @property {string[]} [onlyKeys] - Exclusive array of keys to be merged
* (others are skipped)
* @property {string[]} [skipKeys] - Array of keys to skip (others are
* merged)
* @property {boolean} [onlyCommonKeys=false] - Merge only keys found
* in multiple objects (ignore single occurrence keys)
* @property {boolean} [onlyUniversalKeys=false] - Merge only keys
* found in all objects
* @property {boolean} [skipCommonKeys=false] - Skip keys found in
* multiple objects (merge only single occurrence keys)
* @property {boolean} [skipUniversalKeys=false] - Skip keys found in
* all objects (merge only common keys)
* @property {boolean} [invokeGetters=false] - Invoke "getter" methods
* and merge returned values
* @property {boolean} [skipSetters=false] - Skip "setter" methods
* during merge
* @property {boolean} [appendArrays=false] - Merge array values at
* the end of existing arrays
* @property {boolean} [prependArrays=false] - Merge array values at
* the beginning of existing arrays
* @property {boolean} [dedupArrays=false] - Remove duplicate array
* values in new merged object
* @property {boolean|function} [sortArrays=false] - Sort array values
* in new merged object
* @property {boolean} [hoistEnumerable=false] - Merge enumerable
* prototype properties as direct properties of merged object
* @property {boolean} [hoistProto=false] - Merge custom prototype
* properties as direct properties of merged object
* @property {boolean} [skipProto=false] - Skip merging of custom
* prototype properties
* @property {filterCallback} [filter] - Callback used to conditionally merge
* or skip a property. Return a "truthy" value to merge or a "falsy" value to
* skip. Return no value to proceed according to other option values.
* @property {beforeEachCallback} [beforeEach] - Callback used for
* inspecting/modifying properties before merge. Return value is used as value
* to merge.
* @property {afterEachCallback} [afterEach] - Callback used for
* inspecting/modifying properties after merge. Return value is used as merged
* value.
* @property {onCircularCallback} [onCircular] - Callback used for handling
* circular object references during merge
* @preserve
*/
/**
* @callback filterCallback
* @param {callbackData} callbackData
* @preserve
*/
/**
* @callback beforeEachCallback
* @param {callbackData} callbackData
* @preserve
*/
/**
* @callback afterEachCallback
* @param {afterEachCallbackData} callbackData
* @preserve
*/
/**
* @callback onCircularCallback
* @param {callbackData} callbackData
* @preserve
*/
/**
* @typedef {Object} callbackData
* @property {number} depth - Nesting level of the key being processed
* @property {string} key - Object key being processed
* @property {object} srcObj - Object containing the source value
* @property {any} srcVal - Source object’s property value
* @property {object} targetObj - New merged object
* @property {any} targetVal - New merged object’s current property value
* @preserve
*/
/**
* @typedef {Object} afterEachCallbackData
* @property {number} depth - Nesting level of the key being processed
* @property {string} key - Object key being processed
* @property {any} mergeVal - New merged value
* @property {object} srcObj - Object containing the source value
* @property {object} targetObj - New merged object
* @preserve
*/
var Ae = {
// Keys
onlyKeys: [],
skipKeys: [],
onlyCommonKeys: !1,
onlyUniversalKeys: !1,
skipCommonKeys: !1,
skipUniversalKeys: !1,
// Values
invokeGetters: !1,
skipSetters: !1,
// Arrays
appendArrays: !1,
prependArrays: !1,
dedupArrays: !1,
sortArrays: !1,
// Prototype
hoistEnumerable: !1,
hoistProto: !1,
skipProto: !1,
// Callbacks
filter: Function.prototype,
beforeEach: Function.prototype,
afterEach: Function.prototype,
onCircular: Function.prototype
};
/**
* @description Deep (recursive) object merging with support for descriptor
* values, accessor functions, custom prototypes, and advanced options for
* customizing the merge process.
*
* @example
* // Custom merge options
* const mergedObj = mergician({
* // Options
* })(obj1, obj2, obj3);
*
* // Custom merge function
* const customMerge = mergician({
* // Options
* });
* const customMergeObj = customMerge(obj1, obj2, obj3);
*
* @overload
* @param {MergicianOptions} options
* @returns {function} New merge function with options set as defaults
* @preserve
*/
/**
* @description Deep (recursive) object merging with support for descriptor
* values, accessor functions, custom prototypes, and advanced options for
* customizing the merge process.
*
* @example
* // Clone with default options
* const clonedObj = mergician({}, obj1);
*
* // Merge with default options
* const mergedObj = mergician(obj1, obj2, obj3);
*
* @overload
* @param {...object} objects
* @returns {object} New merged object
* @preserve
*/
/**
* @description Deep (recursive) object merging with support for descriptor
* values, accessor functions, custom prototypes, and advanced options for
* customizing the merge process.
*
* @example
* // Clone with default options
* const clonedObj = mergician({}, obj1);
*
* // Merge with default options
* const mergedObj = mergician(obj1, obj2, obj3);
*
* @example
* // Custom merge options
* const mergedObj = mergician({
* // Options
* })(obj1, obj2, obj3);
*
* // Custom merge function
* const customMerge = mergician({
* // Options
* });
* const customMergeObj = customMerge(obj1, obj2, obj3);
*
* @param {MergicianOptions} optionsOrObject
* @param {...object} [objects]
* @returns {function|object} New merge function with options set as defaults
* (single argument) or new merged object (multiple arguments)
* @preserve
*/
function ht(t, ...n) {
const e = arguments.length === 1 ? arguments[0] : {}, a = { ...Ae, ...e }, o = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), l = typeof a.sortArrays == "function" ? a.sortArrays : void 0, s = /* @__PURE__ */ new WeakMap();
let c = 0;
function u(p) {
return Rt(p, a.hoistEnumerable);
}
function y(...p) {
let m;
p.length > 1 && (a.onlyCommonKeys ? m = Ht(
...p.map((k) => u(k))
) : a.onlyUniversalKeys ? m = Et(...p.map((k) => u(k))) : a.skipCommonKeys ? m = qt(
...p.map((k) => u(k))
) : a.skipUniversalKeys && (m = Ft(...p.map((k) => u(k))))), !m && a.onlyKeys.length && (m = a.onlyKeys), m && m !== a.onlyKeys && a.onlyKeys.length && (m = m.filter(
(k) => a.onlyKeys.includes(k)
));
const b = p.reduce((k, j) => {
s.set(j, k);
let z = m || u(j);
a.skipKeys.length && (z = z.filter((C) => a.skipKeys.indexOf(C) === -1));
for (let C = 0; C < z.length; C++) {
const g = z[C], w = k[g], N = {
configurable: !0,
enumerable: !0
};
if (!(g in j))
continue;
let M = !1, f = j[g];
const B = Object.getOwnPropertyDescriptor(j, g);
if (B && typeof B.set == "function" && typeof B.get != "function") {
a.skipSetters || Object.defineProperty(k, g, B);
continue;
}
if (a.filter !== Ae.filter) {
const P = a.filter({
depth: c,
key: g,
srcObj: j,
srcVal: f,
targetObj: k,
targetVal: w
});
if (P !== void 0 && !P)
continue;
}
if (a.beforeEach !== Ae.beforeEach) {
const P = a.beforeEach({
depth: c,
key: g,
srcObj: j,
srcVal: f,
targetObj: k,
targetVal: w
});
P !== void 0 && (M = !0, f = P);
}
if (typeof f == "object" && f !== null && s.has(j[g])) {
const P = a.onCircular({
depth: c,
key: g,
srcObj: j,
srcVal: j[g],
targetObj: k,
targetVal: w
});
if (P === void 0) {
f = s.get(j[g]), k[g] = f;
continue;
}
M = !0, f = P;
}
if (Array.isArray(f)) {
if (f = [...f], Array.isArray(w) && (a.appendArrays ? f = [...w, ...f] : a.prependArrays && (f = [...f, ...w])), a.dedupArrays)
if (a.afterEach !== Ae.afterEach)
f = [...new Set(f)];
else {
const P = o.get(k);
P && !P.includes(g) ? P.push(g) : o.set(k, [g]);
}
if (a.sortArrays)
if (a.afterEach !== Ae.afterEach)
f = f.sort(l);
else {
const P = r.get(k);
P && !P.includes(g) ? P.push(g) : r.set(k, [g]);
}
} else f instanceof Date ? f = new Date(f) : sa(f) && (!M || !Ba(f)) && (c++, sa(w) ? f = y(w, f) : f = y(f), c--);
if (a.afterEach !== Ae.afterEach) {
const P = a.afterEach({
depth: c,
key: g,
mergeVal: f,
srcObj: j,
targetObj: k
});
P !== void 0 && (M = !0, f = P);
}
if (M) {
const P = Ba(f) ? f : {
configurable: !0,
enumerable: !0,
value: f,
writable: !0
};
Object.defineProperty(k, g, P);
continue;
}
if (B) {
const { configurable: P, enumerable: Y, get: te, set: G, writable: q } = B;
Object.assign(N, {
configurable: P,
enumerable: Y
}), typeof te == "function" && (a.invokeGetters ? N.value = f : N.get = te), !a.skipSetters && typeof G == "function" && !Object.hasOwnProperty.call(N, "value") && (N.set = G), !N.get && !N.set && (N.writable = !!q);
}
!N.get && !N.set && !("value" in N) && (N.value = f, N.writable = B && "writable" in B ? B.writable : !0), Object.defineProperty(k, g, N);
}
return k;
}, {});
for (const [k, j] of o.entries())
for (const z of j) {
const C = Object.getOwnPropertyDescriptor(k, z), { configurable: g, enumerable: w, writable: N } = C;
Object.defineProperty(k, z, {
configurable: g,
enumerable: w,
value: [...new Set(k[z])],
writable: N !== void 0 ? N : !0
});
}
for (const [k, j] of r.entries())
for (const z of j)
k[z].sort(l);
let d = b;
if (!a.skipProto) {
const k = p.reduce((j, z) => {
const C = Object.getPrototypeOf(z);
return C && C !== Object.prototype && j.push(C), j;
}, []);
if (k.length) {
const j = y(...k);
a.hoistProto ? d = y(j, b) : d = Object.create(
j,
Object.getOwnPropertyDescriptors(b)
);
}
}
return d;
}
return arguments.length === 1 ? function(...p) {
return arguments.length === 1 ? ht({ ...a, ...p[0] }) : y(...p);
} : y(...arguments);
}
function Ia(t, n, e) {
const a = Kt(e, n);
Gt(t, a);
}
function Kt(t, n) {
const e = n.data;
return {
data: {
type: "localDataAcceptationDataEntries",
attributes: {
acceptation_id: e.uid,
accept_type: `accept_${t.acceptType}`,
accepted_categories: t.acceptedCategories,
rejected_categories: t.rejectedCategories,
revision: n.revision,
source: e.serviceName,
language: n.languageCode,
days_of_acceptation: Wt(n)
}
}
};
}
function Wt(t) {
return Math.ceil((t.expirationTime - Date.now()) / 1e3 / 60 / 60 / 24);
}
async function Gt(t, n) {
return (await fetch(t, {
method: "POST",
headers: {
"Content-Type": "application/vnd.api+json",
Accept: "application/vnd.api+json"
},
body: JSON.stringify(n)
})).json();
}
const Vt = [
"bs",
"cs",
"de",
"en",
"es",
"et",
"fr",
"hr",
"hu",
"lt",
"lv",
"mk",
"pl",
"pt",
"ro",
"ru",
"sk",
"sl",
"sr",
"uk"
], Ut = (t) => Vt.includes(t), U = {
NECESSARY: "necessary",
AD: "ad",
ANALYTICS: "analytics",
FUNCTIONALITY: "functionality",
PERSONALIZATION: "personalization"
}, Ve = {
FORCE: "force",
SOFT: "soft"
}, Yt = [
{ name: "phpsessid", pattern: "phpsessid", provider: "PHP", category: "necessary" },
{ name: "jsessionid", pattern: "jsessionid", provider: "Java", category: "necessary" },
{ name: "aspnetsessionid", pattern: "aspnetsessionid", provider: "Microsoft ASP.NET", category: "necessary" },
{ name: "sessionid", pattern: "sessionid", provider: "*", category: "necessary" },
{ name: "docs.sid", pattern: "docs\\.sid", provider: "Supernova Docs", category: "necessary" },
{ name: "lasid", pattern: "lasid", provider: "LiveAgent", category: "necessary" },
{ name: "*_session", pattern: ".*_session", provider: "Laravel / Rails / Django", category: "necessary" },
{ name: "csrf", pattern: "csrf", provider: "*", category: "necessary" },
{ name: "xsrf", pattern: "xsrf", provider: "*", category: "necessary" },
{ name: "_token", pattern: "_token", provider: "*", category: "necessary" },
{ name: "token", pattern: "token", provider: "*", category: "necessary" },
{ name: "authtoken", pattern: "authtoken", provider: "*", category: "necessary" },
{ name: "idt", pattern: "idt", provider: "*", category: "necessary" },
{ name: "auth.strategy", pattern: "auth\\.strategy", provider: "Nuxt Auth", category: "necessary" },
{ name: "cf_clearance", pattern: "cf_clearance", provider: "Cloudflare", category: "necessary" },
{ name: "__cfduid", pattern: "__cfduid", provider: "Cloudflare", category: "necessary" },
{ name: "cf_bm", pattern: "cf_bm", provider: "Cloudflare", category: "necessary" },
{ name: "cf_ray", pattern: "cf_ray", provider: "Cloudflare", category: "necessary" },
{ name: "apprace*", pattern: "apprace*", provider: "Prace.cz", category: "necessary" },
{ name: "apjobs*", pattern: "apjobs*", provider: "Jobs.cz", category: "necessary" },
{ name: "jobssid", pattern: "jobssid", provider: "Jobs portál", category: "necessary" },
{ name: "apatmoskopid", pattern: "apatmoskopid", provider: "Atmoskop.cz", category: "necessary" },
{ name: "awsalbcors", pattern: "awsalbcors", provider: "Amazon Web Services", category: "necessary" },
{ name: "awsalb", pattern: "awsalb", provider: "Amazon Web Services", category: "necessary" },
{ name: "lmc_ccm_version", pattern: "lmc_ccm_version", provider: "Alma Career", category: "necessary" },
{ name: "almacareer_ccm", pattern: "almacareer_ccm", provider: "Alma Career", category: "necessary" },
{ name: "cookieyes-consent", pattern: "cookieyes-consent", provider: "CookieYes", category: "necessary" },
{ name: "cookie-consent", pattern: "cookie-consent", provider: "*", category: "necessary" },
{ name: "gdpr-consent", pattern: "gdpr-consent", provider: "*", category: "necessary" },
{ name: "cmplz*", pattern: "cmplz.*", provider: "Complianz", category: "necessary" },
{ name: "bsession", pattern: "bsession", provider: "Wix", category: "necessary" },
{ name: "ssr-caching", pattern: "ssr-caching", provider: "Wix", category: "necessary" },
{ name: "svsession", pattern: "svsession", provider: "Wix", category: "necessary" },
{ name: "hs", pattern: "hs", provider: "Wix", category: "necessary" },
{ name: "server-session-bind", pattern: "server-session-bind", provider: "Wix", category: "necessary" },
{ name: "intercom-device-id*", pattern: "intercom-device-id.*", provider: "Intercom", category: "functionality" },
{ name: "intercom-id*", pattern: "intercom-id.*", provider: "Intercom", category: "functionality" },
{ name: "intercom-session*", pattern: "intercom-session.*", provider: "Intercom", category: "functionality" },
{ name: "pll_language", pattern: "pll_language", provider: "Polylang (WordPress)", category: "functionality" },
{ name: "hl", pattern: "hl", provider: "Web", category: "functionality" },
{ name: "lang", pattern: "lang", provider: "Web", category: "functionality" },
{ name: "language", pattern: "language", provider: "Web", category: "functionality" },
{ name: "locale", pattern: "locale", provider: "Web", category: "functionality" },
{ name: "channel_*_lang", pattern: "channel_.*_lang", provider: "Web", category: "functionality" },
{
name: "wp-wpml_current_language",
pattern