(function(a, B, z) {
    const t = {};
    console.warn = console.warn && console.warn.bind(console) || console.log.bind(console);
    a.resolved = a.Deferred().resolve().promise();
    a.rejected = a.Deferred().reject().promise();
    window.requestIdleCallback = window.requestIdleCallback || function(n) {
        return setTimeout(function() {
            var c = Date.now();
            n({
                didTimeout: !1,
                timeRemaining: function() {
                    return Math.max(0, 50 - (Date.now() - c))
                }
            })
        }, 1)
    };
    var w = window,
        q;
    (q = window.cancelIdleCallback) || (clearTimeout(function() {
            ! function(n, c) {
                "object" == typeof exports &&
                    "undefined" != typeof module ? c() : "function" == typeof define && define.amd ? define(c) : c()
            }(0, function() {
                function n(e) {
                    var g = this.constructor;
                    return this.then(function(v) {
                        return g.resolve(e()).then(function() {
                            return v
                        })
                    }, function(v) {
                        return g.resolve(e()).then(function() {
                            return g.reject(v)
                        })
                    })
                }

                function c() {}

                function d(e) {
                    if (!(this instanceof d)) throw new TypeError("Promises must be constructed via new");
                    if ("function" != typeof e) throw new TypeError("not a function");
                    this._state = 0;
                    this._handled = !1;
                    this._value =
                        z;
                    this._deferreds = [];
                    f(e, this)
                }

                function b(e, g) {
                    for (; 3 === e._state;) e = e._value;
                    0 !== e._state ? (e._handled = !0, d._immediateFn(function() {
                        var v = 1 === e._state ? g.onFulfilled : g.onRejected;
                        if (null !== v) {
                            try {
                                var D = v(e._value)
                            } catch (A) {
                                return void h(g.promise, A)
                            }
                            l(g.promise, D)
                        } else(1 === e._state ? l : h)(g.promise, e._value)
                    })) : e._deferreds.push(g)
                }

                function l(e, g) {
                    try {
                        if (g === e) throw new TypeError("A promise cannot be resolved with itself.");
                        if (g && ("object" == typeof g || "function" == typeof g)) {
                            var v = g.then;
                            if (g instanceof d) return e._state = 3, e._value = g, void u(e);
                            if ("function" == typeof v) return void f(function(D, A) {
                                return function() {
                                    D.apply(A, arguments)
                                }
                            }(v, g), e)
                        }
                        e._state = 1;
                        e._value = g;
                        u(e)
                    } catch (D) {
                        h(e, D)
                    }
                }

                function h(e, g) {
                    e._state = 2;
                    e._value = g;
                    u(e)
                }

                function u(e) {
                    2 === e._state && 0 === e._deferreds.length && d._immediateFn(function() {
                        e._handled || d._unhandledRejectionFn(e._value)
                    });
                    for (var g = 0, v = e._deferreds.length; v > g; g++) b(e, e._deferreds[g]);
                    e._deferreds = null
                }

                function f(e, g) {
                    var v = !1;
                    try {
                        e(function(D) {
                            v || (v = !0, l(g, D))
                        }, function(D) {
                            v ||
                                (v = !0, h(g, D))
                        })
                    } catch (D) {
                        v || (v = !0, h(g, D))
                    }
                }
                var p = setTimeout;
                d.prototype["catch"] = function(e) {
                    return this.then(null, e)
                };
                d.prototype.then = function(e, g) {
                    var v = new this.constructor(c);
                    return b(this, new function(D, A, x) {
                        this.onFulfilled = "function" == typeof D ? D : null;
                        this.onRejected = "function" == typeof A ? A : null;
                        this.promise = x
                    }(e, g, v)), v
                };
                d.prototype["finally"] = n;
                d.all = function(e) {
                    return new d(function(g, v) {
                        function D(I, H) {
                            try {
                                if (H && ("object" == typeof H || "function" == typeof H)) {
                                    var N = H.then;
                                    if ("function" == typeof N) return void N.call(H,
                                        function(S) {
                                            D(I, S)
                                        }, v)
                                }
                                A[I] = H;
                                0 == --x && g(A)
                            } catch (S) {
                                v(S)
                            }
                        }
                        if (!e || "undefined" == typeof e.length) throw new TypeError("Promise.all accepts an array");
                        var A = Array.prototype.slice.call(e);
                        if (0 === A.length) return g([]);
                        for (var x = A.length, C = 0; A.length > C; C++) D(C, A[C])
                    })
                };
                d.resolve = function(e) {
                    return e && "object" == typeof e && e.constructor === d ? e : new d(function(g) {
                        g(e)
                    })
                };
                d.reject = function(e) {
                    return new d(function(g, v) {
                        v(e)
                    })
                };
                d.race = function(e) {
                    return new d(function(g, v) {
                        for (var D = 0, A = e.length; A > D; D++) e[D].then(g,
                            v)
                    })
                };
                d._immediateFn = "function" == typeof setImmediate && function(e) {
                    setImmediate(e)
                } || function(e) {
                    p(e, 0)
                };
                d._unhandledRejectionFn = function(e) {
                    void 0 !== console && console && console.warn("Possible Unhandled Promise Rejection:", e)
                };
                var y = function() {
                    if ("undefined" != typeof self) return self;
                    if ("undefined" != typeof window) return window;
                    if ("undefined" != typeof B) return B;
                    throw Error("unable to locate global object");
                }();
                "Promise" in y ? y.Promise.prototype["finally"] || (y.Promise.prototype["finally"] = n) : y.Promise = d
            })
        }()),
        q = void 0);
    w.cancelIdleCallback = q;
    var r = {
            thumbnail: 160,
            mobile: 320,
            tablet: 780,
            desktop: 1200
        },
        m = function(n, c, d) {
            if (n.includes("/multi/opt/")) return n.replace(/(-)\d+(w\.[^\.]*?$)/, "$1" + (r[d ? "thumbnail" : c] || 160) + "$2");
            var b = /.*(dms3rep\/multi\/)(thumbnail\/|mobile\/|tablet\/|desktop\/)?[^.]*(-\d+x\d+)\.?.*/,
                l = /\/import\/clib\//;
            if (!b.test(n)) return c && "thumbnail" == c ? -1 === n.indexOf("/d_gallery_d_thumb_") && (n = n.replace("/d_gallery", "/d_gallery_d_thumb_")) : n = n.replace("/d_gallery_d_thumb_", "/d_gallery"),
                n;
            b = b.exec(n);
            var h = b[2] ? b[2] : "";
            d ? (n = b[0], l.test(n) || (n = n.replace(b[3], "")), n = n.replace(b[1] + h, "")) : n = n.replace("dms3rep/multi/" + h, "dms3rep/multi/" + (c ? c + "/" : ""));
            return n
        };
    String.prototype.getMultisizedPath = function(n) {
        return m(this.toString(), n, !1)
    };
    String.prototype.revertMultisizedPath = function() {
        return m(this.toString(), null, !0)
    };
    B.invokeSafe = function(n, c) {
        return getSafeFn(n, c)()
    };
    B.getSafeFn = function(n, c) {
        return getSafe(n, c) || a.noop
    };
    B.getSafe = function(n, c) {
        var d = 0;
        if ("string" === typeof n) {
            var b =
                B;
            var l = n
        } else null !== n && "undefined" !== typeof n && (b = n, l = c);
        "string" === typeof l ? n = l.split(".") : (n = [], b = z);
        for (; n[d] !== z && b !== z;) b = b[n[d]], d++;
        return b
    };
    const k = n => new Promise((c, d) => {
        if (t[n]) c();
        else {
            var b = document.createElement("script");
            b.src = n;
            b.onload = () => {
                t[n] = !0;
                c()
            };
            b.onerror = () => {
                d(Error("Failed to load script: " + n))
            };
            document.head.appendChild(b)
        }
    });
    a.extend(a, {
        getHeightForVisibleRows: function(n, c) {
            c = c.eq(0);
            var d = "auto";
            "auto" !== n && (d = parseInt(c.css("line-height")), isNaN(d) && (d = 1.19 * parseInt(c.css("font-size"))),
                d = n * d + "px");
            return d
        },
        waitUntil: function(n) {
            var c, d = a.Deferred(),
                b = 0;
            "function" === typeof n && (c = {
                conditionFn: n
            });
            c = c || {};
            a.isPlainObject(n) && a.extend(c, n);
            c.interval = n.interval || 100;
            c.timeout = n.timeout || 3E4;
            c.conditionFn = c.conditionFn || function() {
                return !0
            };
            var l = window.setInterval(function() {
                b += c.interval;
                c.conditionFn(c) ? (window.clearInterval(l), d.resolve({
                    duration: b
                })) : b > c.timeout && d.reject({
                    timeout: c.timeout
                })
            }, c.interval);
            return d.promise()
        },
        equalHeight: function(n) {
            var c = 0,
                d, b;
            n.each(function() {
                b =
                    jQuery(this);
                b.css("minHeight", 0);
                d = b.height();
                d > c && (c = d)
            });
            n.css("min-height", c + "px")
        },
        loadScript: function(n, c) {
            if (window.rtFlags && window.rtFlags["runtime.load.script.native"] || window._flags && window._flags["runtime.load.script.native"]) return k(n);
            c = c || {};
            window.assetsCacheQueryParam && n.startsWith("/") && !n.startsWith("//") && (n = -1 < n.indexOf("?") ? n + window.assetsCacheQueryParam.replace("?", "\x26") : n + window.assetsCacheQueryParam);
            c.isJSONP && a('script[src^\x3d"' + n + '"]').length || !c.forceLoad && t[n] ? c = a.Deferred().resolve().promise() :
                (c = a.extend(c || {}, {
                    dataType: "script",
                    cache: !0,
                    url: n
                }), c = a.ajax(c).done(function() {
                    t[n] = !0
                }));
            return c
        },
        loadCss: function(n, c) {
            var d = document.getElementsByTagName("head")[0];
            var b = c || {};
            for (c = 0; c < n.length; c++) {
                var l = n[c];
                var h = null !== document.getElementById(l.id);
                h || (h = document.createElement("link"), h.setAttribute("rel", "stylesheet"), h.setAttribute("type", "text/css"), h.setAttribute("id", l.id), h.setAttribute("href", l.path), d.appendChild(h))
            }
            b.callback && setTimeout(b.callback, 500)
        },
        isEditKeyCode: function(n) {
            var c =
                n.keyCode;
            return 36 < c && 41 > c || 8 == c || "65" == c && n.ctrlKey
        }
    })
})(jQuery, window);
/*
 Native Promise Only
    v0.8.0-a (c) Kyle Simpson
    MIT License: http://getify.mit-license.org
*/
! function(a, B, z) {
    B[a] = B[a] || z();
    "undefined" != typeof module && module.exports ? module.exports = B[a] : "function" == typeof define && define.amd && define(function() {
        return B[a]
    })
}("Promise", "undefined" != typeof global ? global : this, function() {
    function a(u, f) {
        l.add(u, f);
        n || (n = d(l.drain))
    }

    function B(u) {
        var f, p = typeof u;
        return null == u || "object" != p && "function" != p || (f = u.then), "function" == typeof f ? f : !1
    }

    function z() {
        for (var u = 0; u < this.chain.length; u++) {
            var f = void 0,
                p = void 0,
                y = 1 === this.state ? this.chain[u].success : this.chain[u].failure,
                e = this.chain[u];
            try {
                !1 === y ? e.reject(this.msg) : (p = !0 === y ? this.msg : y.call(void 0, this.msg), p === e.promise ? e.reject(TypeError("Promise-chain cycle")) : (f = B(p)) ? f.call(p, e.resolve, e.reject) : e.resolve(p))
            } catch (g) {
                e.reject(g)
            }
        }
        this.chain.length = 0
    }

    function t(u) {
        var f, p = this;
        if (!p.triggered) {
            p.triggered = !0;
            p.def && (p = p.def);
            try {
                (f = B(u)) ? a(function() {
                    var y = new r(p);
                    try {
                        f.call(u, function() {
                            t.apply(y, arguments)
                        }, function() {
                            w.apply(y, arguments)
                        })
                    } catch (e) {
                        w.call(y, e)
                    }
                }): (p.msg = u, p.state = 1, 0 < p.chain.length && a(z,
                    p))
            } catch (y) {
                w.call(new r(p), y)
            }
        }
    }

    function w(u) {
        var f = this;
        f.triggered || (f.triggered = !0, f.def && (f = f.def), f.msg = u, f.state = 2, 0 < f.chain.length && a(z, f))
    }

    function q(u, f, p, y) {
        for (var e = 0; e < f.length; e++) ! function(g) {
            u.resolve(f[g]).then(function(v) {
                p(g, v)
            }, y)
        }(e)
    }

    function r(u) {
        this.def = u;
        this.triggered = !1
    }

    function m(u) {
        this.promise = u;
        this.state = 0;
        this.triggered = !1;
        this.chain = [];
        this.msg = void 0
    }

    function k(u) {
        if ("function" != typeof u) throw TypeError("Not a function");
        if (0 !== this.__NPO__) throw TypeError("Not a promise");
        this.__NPO__ = 1;
        var f = new m(this);
        this.then = function(p, y) {
            var e = {
                success: "function" == typeof p ? p : !0,
                failure: "function" == typeof y ? y : !1
            };
            return e.promise = new this.constructor(function(g, v) {
                if ("function" != typeof g || "function" != typeof v) throw TypeError("Not a function");
                e.resolve = g;
                e.reject = v
            }), f.chain.push(e), 0 !== f.state && a(z, f), e.promise
        };
        this["catch"] = function(p) {
            return this.then(void 0, p)
        };
        try {
            u.call(void 0, function(p) {
                t.call(f, p)
            }, function(p) {
                w.call(f, p)
            })
        } catch (p) {
            w.call(f, p)
        }
    }
    var n, c = Object.prototype.toString,
        d = "undefined" != typeof setImmediate ? function(u) {
            return setImmediate(u)
        } : setTimeout;
    try {
        Object.defineProperty({}, "x", {});
        var b = function(u, f, p, y) {
            return Object.defineProperty(u, f, {
                value: p,
                writable: !0,
                configurable: !1 !== y
            })
        }
    } catch (u) {
        b = function(f, p, y) {
            return f[p] = y, f
        }
    }
    var l = function() {
        function u(e, g) {
            this.fn = e;
            this.self = g;
            this.next = void 0
        }
        var f, p, y;
        return {
            add: function(e, g) {
                y = new u(e, g);
                p ? p.next = y : f = y;
                p = y;
                y = void 0
            },
            drain: function() {
                var e = f;
                for (f = p = n = void 0; e;) e.fn.call(e.self), e = e.next
            }
        }
    }();
    var h = b({},
        "constructor", k, !1);
    return k.prototype = h, b(h, "__NPO__", 0, !1), b(k, "resolve", function(u) {
        return u && "object" == typeof u && 1 === u.__NPO__ ? u : new this(function(f, p) {
            if ("function" != typeof f || "function" != typeof p) throw TypeError("Not a function");
            f(u)
        })
    }), b(k, "reject", function(u) {
        return new this(function(f, p) {
            if ("function" != typeof f || "function" != typeof p) throw TypeError("Not a function");
            p(u)
        })
    }), b(k, "all", function(u) {
        var f = this;
        return "[object Array]" != c.call(u) ? f.reject(TypeError("Not an array")) : 0 === u.length ?
            f.resolve([]) : new f(function(p, y) {
                if ("function" != typeof p || "function" != typeof y) throw TypeError("Not a function");
                var e = u.length,
                    g = Array(e),
                    v = 0;
                q(f, u, function(D, A) {
                    g[D] = A;
                    ++v === e && p(g)
                }, y)
            })
    }), b(k, "race", function(u) {
        var f = this;
        return "[object Array]" != c.call(u) ? f.reject(TypeError("Not an array")) : new f(function(p, y) {
            if ("function" != typeof p || "function" != typeof y) throw TypeError("Not a function");
            q(f, u, function(e, g) {
                p(g)
            }, y)
        })
    }), k
});
(function(a, B) {
    B.isReseller = B.isR;
    B.isWLReseller = B.isWLR;
    B.isDudaone = B.isMultiScreen
})(jQuery, window);
var Base64 = {
    _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d",
    encode: function(a) {
        var B = "",
            z = 0;
        for (a = Base64._utf8_encode(a); z < a.length;) {
            var t = a.charCodeAt(z++);
            var w = a.charCodeAt(z++);
            var q = a.charCodeAt(z++);
            var r = t >> 2;
            t = (t & 3) << 4 | w >> 4;
            var m = (w & 15) << 2 | q >> 6;
            var k = q & 63;
            isNaN(w) ? m = k = 64 : isNaN(q) && (k = 64);
            B = B + Base64._keyStr.charAt(r) + Base64._keyStr.charAt(t) + Base64._keyStr.charAt(m) + Base64._keyStr.charAt(k)
        }
        return B
    },
    decode: function(a) {
        var B = "",
            z = 0;
        for (a = a.replace(/[^A-Za-z0-9\+\/=]/g,
                ""); z < a.length;) {
            var t = Base64._keyStr.indexOf(a.charAt(z++));
            var w = Base64._keyStr.indexOf(a.charAt(z++));
            var q = Base64._keyStr.indexOf(a.charAt(z++));
            var r = Base64._keyStr.indexOf(a.charAt(z++));
            t = t << 2 | w >> 4;
            w = (w & 15) << 4 | q >> 2;
            var m = (q & 3) << 6 | r;
            B += String.fromCharCode(t);
            64 != q && (B += String.fromCharCode(w));
            64 != r && (B += String.fromCharCode(m))
        }
        return B = Base64._utf8_decode(B)
    },
    _utf8_encode: function(a) {
        a = a.replace(/\r\n/g, "\n");
        for (var B = "", z = 0; z < a.length; z++) {
            var t = a.charCodeAt(z);
            128 > t ? B += String.fromCharCode(t) :
                (127 < t && 2048 > t ? B += String.fromCharCode(t >> 6 | 192) : (B += String.fromCharCode(t >> 12 | 224), B += String.fromCharCode(t >> 6 & 63 | 128)), B += String.fromCharCode(t & 63 | 128))
        }
        return B
    },
    _utf8_decode: function(a) {
        var B = "",
            z = 0;
        for (c1 = c2 = 0; z < a.length;) {
            var t = a.charCodeAt(z);
            128 > t ? (B += String.fromCharCode(t), z++) : 191 < t && 224 > t ? (c2 = a.charCodeAt(z + 1), B += String.fromCharCode((t & 31) << 6 | c2 & 63), z += 2) : (c2 = a.charCodeAt(z + 1), c3 = a.charCodeAt(z + 2), B += String.fromCharCode((t & 15) << 12 | (c2 & 63) << 6 | c3 & 63), z += 3)
        }
        return B
    }
};
/*
 imagesLoaded PACKAGED v3.0.4
 JavaScript is all like "You images are done yet or what?"
*/
(function() {
    function a() {}

    function B(t, w) {
        for (var q = t.length; q--;)
            if (t[q].listener === w) return q;
        return -1
    }
    var z = a.prototype;
    z.getListeners = function(t) {
        var w, q = this._getEvents();
        if ("object" == typeof t) {
            var r = {};
            for (w in q) q.hasOwnProperty(w) && t.test(w) && (r[w] = q[w])
        } else r = q[t] || (q[t] = []);
        return r
    };
    z.flattenListeners = function(t) {
        var w, q = [];
        for (w = 0; t.length > w; w += 1) q.push(t[w].listener);
        return q
    };
    z.getListenersAsObject = function(t) {
        var w, q = this.getListeners(t);
        return q instanceof Array && (w = {}, w[t] = q), w ||
            q
    };
    z.addListener = function(t, w) {
        var q;
        t = this.getListenersAsObject(t);
        var r = "object" == typeof w;
        for (q in t) t.hasOwnProperty(q) && -1 === B(t[q], w) && t[q].push(r ? w : {
            listener: w,
            once: !1
        });
        return this
    };
    z.on = z.addListener;
    z.addOnceListener = function(t, w) {
        return this.addListener(t, {
            listener: w,
            once: !0
        })
    };
    z.once = z.addOnceListener;
    z.defineEvent = function(t) {
        return this.getListeners(t), this
    };
    z.defineEvents = function(t) {
        for (var w = 0; t.length > w; w += 1) this.defineEvent(t[w]);
        return this
    };
    z.removeListener = function(t, w) {
        var q,
            r;
        t = this.getListenersAsObject(t);
        for (r in t) t.hasOwnProperty(r) && (q = B(t[r], w), -1 !== q && t[r].splice(q, 1));
        return this
    };
    z.off = z.removeListener;
    z.addListeners = function(t, w) {
        return this.manipulateListeners(!1, t, w)
    };
    z.removeListeners = function(t, w) {
        return this.manipulateListeners(!0, t, w)
    };
    z.manipulateListeners = function(t, w, q) {
        var r, m, k = t ? this.removeListener : this.addListener;
        t = t ? this.removeListeners : this.addListeners;
        if ("object" != typeof w || w instanceof RegExp)
            for (r = q.length; r--;) k.call(this, w, q[r]);
        else
            for (r in w) w.hasOwnProperty(r) &&
                (m = w[r]) && ("function" == typeof m ? k.call(this, r, m) : t.call(this, r, m));
        return this
    };
    z.removeEvent = function(t) {
        var w, q = typeof t,
            r = this._getEvents();
        if ("string" === q) delete r[t];
        else if ("object" === q)
            for (w in r) r.hasOwnProperty(w) && t.test(w) && delete r[w];
        else delete this._events;
        return this
    };
    z.emitEvent = function(t, w) {
        var q, r, m = this.getListenersAsObject(t);
        for (r in m)
            if (m.hasOwnProperty(r))
                for (q = m[r].length; q--;) {
                    var k = m[r][q];
                    var n = k.listener.apply(this, w || []);
                    n !== this._getOnceReturnValue() && !0 !== k.once ||
                        this.removeListener(t, m[r][q].listener)
                }
        return this
    };
    z.trigger = z.emitEvent;
    z.emit = function(t) {
        var w = Array.prototype.slice.call(arguments, 1);
        return this.emitEvent(t, w)
    };
    z.setOnceReturnValue = function(t) {
        return this._onceReturnValue = t, this
    };
    z._getOnceReturnValue = function() {
        return this.hasOwnProperty("_onceReturnValue") ? this._onceReturnValue : !0
    };
    z._getEvents = function() {
        return this._events || (this._events = {})
    };
    "function" == typeof define && define.amd ? define(function() {
            return a
        }) : "undefined" != typeof module &&
        module.exports ? module.exports = a : this.EventEmitter = a
}).call(this);
(function(a) {
    var B = document.documentElement,
        z = function() {};
    B.addEventListener ? z = function(w, q, r) {
        w.addEventListener(q, r, !1)
    } : B.attachEvent && (z = function(w, q, r) {
        w[q + r] = r.handleEvent ? function() {
            var m = a.event;
            m.target = m.target || m.srcElement;
            r.handleEvent.call(r, m)
        } : function() {
            var m = a.event;
            m.target = m.target || m.srcElement;
            r.call(w, m)
        };
        w.attachEvent("on" + q, w[q + r])
    });
    var t = function() {};
    B.removeEventListener ? t = function(w, q, r) {
        w.removeEventListener(q, r, !1)
    } : B.detachEvent && (t = function(w, q, r) {
        w.detachEvent("on" +
            q, w[q + r]);
        try {
            delete w[q + r]
        } catch (m) {
            w[q + r] = void 0
        }
    });
    B = {
        bind: z,
        unbind: t
    };
    "function" == typeof define && define.amd ? define(B) : a.eventie = B
})(this);
(function(a) {
    function B(k, n) {
        for (var c in n) k[c] = n[c];
        return k
    }

    function z(k) {
        var n = [];
        if ("[object Array]" === m.call(k)) n = k;
        else if ("number" == typeof k.length)
            for (var c = 0, d = k.length; d > c; c++) n.push(k[c]);
        else n.push(k);
        return n
    }

    function t(k, n) {
        function c(l, h, u) {
            if (!(this instanceof c)) return new c(l, h);
            "string" == typeof l && (l = document.querySelectorAll(l));
            this.elements = z(l);
            this.options = B({}, this.options);
            "function" == typeof h ? u = h : B(this.options, h);
            u && this.on("always", u);
            this.getImages();
            w && (this.jqDeferred =
                new w.Deferred);
            var f = this;
            setTimeout(function() {
                f.check()
            })
        }

        function d(l) {
            this.img = l
        }
        c.prototype = new k;
        c.prototype.options = {};
        c.prototype.getImages = function() {
            this.images = [];
            for (var l = 0, h = this.elements.length; h > l; l++) {
                var u = this.elements[l];
                "IMG" === u.nodeName && this.addImage(u);
                u = u.querySelectorAll("img");
                for (var f = 0, p = u.length; p > f; f++) this.addImage(u[f])
            }
        };
        c.prototype.addImage = function(l) {
            l = new d(l);
            this.images.push(l)
        };
        c.prototype.check = function() {
            function l(e, g) {
                return h.options.debug && r && q.log("confirm",
                    e, g), h.progress(e), u++, u === f && h.complete(), !0
            }
            var h = this,
                u = 0,
                f = this.images.length;
            if (this.hasAnyBroken = !1, !f) return this.complete(), void 0;
            for (var p = 0; f > p; p++) {
                var y = this.images[p];
                y.on("confirm", l);
                y.check()
            }
        };
        c.prototype.progress = function(l) {
            this.hasAnyBroken = this.hasAnyBroken || !l.isLoaded;
            var h = this;
            setTimeout(function() {
                h.emit("progress", h, l);
                h.jqDeferred && h.jqDeferred.notify(h, l)
            })
        };
        c.prototype.complete = function() {
            var l = this.hasAnyBroken ? "fail" : "done";
            this.isComplete = !0;
            var h = this;
            setTimeout(function() {
                if (h.emit(l,
                        h), h.emit("always", h), h.jqDeferred) h.jqDeferred[h.hasAnyBroken ? "reject" : "resolve"](h)
            })
        };
        w && (w.fn.imagesLoaded = function(l, h) {
            return (new c(this, l, h)).jqDeferred.promise(w(this))
        });
        var b = {};
        return d.prototype = new k, d.prototype.check = function() {
                var l = b[this.img.src];
                if (l) return this.useCached(l), void 0;
                if (b[this.img.src] = this, this.img.complete && void 0 !== this.img.naturalWidth) return this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), void 0;
                l = this.proxyImage = new Image;
                n.bind(l, "load", this);
                n.bind(l,
                    "error", this);
                l.src = this.img.src
            }, d.prototype.useCached = function(l) {
                if (l.isConfirmed) this.confirm(l.isLoaded, "cached was confirmed");
                else {
                    var h = this;
                    l.on("confirm", function(u) {
                        return h.confirm(u.isLoaded, "cache emitted confirmed"), !0
                    })
                }
            }, d.prototype.confirm = function(l, h) {
                this.isConfirmed = !0;
                this.isLoaded = l;
                this.emit("confirm", this, h)
            }, d.prototype.handleEvent = function(l) {
                var h = "on" + l.type;
                this[h] && this[h](l)
            }, d.prototype.onload = function() {
                this.confirm(!0, "onload");
                this.unbindProxyEvents()
            }, d.prototype.onerror =
            function() {
                this.confirm(!1, "onerror");
                this.unbindProxyEvents()
            }, d.prototype.unbindProxyEvents = function() {
                n.unbind(this.proxyImage, "load", this);
                n.unbind(this.proxyImage, "error", this)
            }, c
    }
    var w = a.jQuery,
        q = a.console,
        r = void 0 !== q,
        m = Object.prototype.toString;
    "function" == typeof define && define.amd ? define(["eventEmitter/EventEmitter", "eventie/eventie"], t) : a.imagesLoaded = t(a.EventEmitter, a.eventie)
})(window);
$(document).ready(function() {
    initBlogs()
});
var RSS_CONTAINER_SELECTOR = ".dmRssContainer",
    RSS_CONTAINER_MORE_POSTS_BUTTON = "#dmMorePostsButton",
    RSS_CONTAINER_MORE_POSTS_INNER_DIV = ".dmMorePostsButtonClass",
    POST_ITEM = ".dmRssItem",
    POST_ITEM_LINK = ".dmRssA";

function initBlogs() {
    0 < $("#dmPostBackToMain").length && ($("#dmPostBackToMain").css("display", "none"), $(Parameters.HomeLinkSelector).attr("href", $("#dmPostBackToMain").attr("href")))
}

function PostItem(a) {
    this.link = a;
    this.nextLink = this.prevLink = ""
}

function fetchMoreBlogItems(a) {
    var B = {
        commandID: "loadMorePosts"
    };
    B._url = a;
    B._morePostsLabel = $(RSS_CONTAINER_MORE_POSTS_INNER_DIV).html();
    B._editor = $.DM.insideEditor();
    $.ajax({
        url: "/_dm/s/rt/api/public/wpl/site/" + Parameters.SiteAlias,
        type: "post",
        data: JSON.stringify(B),
        async: !0,
        contentType: "application/json",
        success: function(z) {
            var t = $(RSS_CONTAINER_MORE_POSTS_BUTTON);
            if (z.postList) {
                var w = $("\x3cdiv\x3e\x3c/div\x3e").append($(z.postList).find(RSS_CONTAINER_SELECTOR)).html();
                z = $(POST_ITEM_LINK)[$(POST_ITEM).length -
                    1];
                z = $(z).attr("href");
                z = $.DM.getQueryParam(z, "post_id");
                w = $(w);
                for (var q = $(POST_ITEM_LINK, w), r = -1, m = 0; m < q.length; m++) {
                    var k = $(q[m]).attr("href");
                    if (z == $.DM.getQueryParam(k, "post_id")) {
                        r = m;
                        break
                    }
                }
                if (-1 < r)
                    for (m = 0; m <= r; m++) w.find($(q[m])).parent().remove();
                z = w.html();
                $(z).insertBefore(t);
                t.remove();
                initBlogs();
                jQuery.DM.isUseLayout() && jQuery.layoutManager.initLayout()
            }
        }
    })
};
(function(a, B) {
    function z() {
        clearTimeout(m);
        return new Promise(function(k, n) {
            window.define = window.define || window.hidden_define;
            window.require = window.require || window.hidden_require;
            window.define ? k() : w.loadScript("https://requirejs.org/docs/release/2.3.6/minified/require.js").then(function() {
                window.define._d = !0;
                window.require.config({
                    waitSeconds: 60
                });
                k()
            })
        })
    }

    function t() {
        m = setTimeout(function() {
            window.define && window.define._d && (window.hidden_define = window.define, window.define = void 0, window.hidden_require =
                window.require, window.require = void 0)
        }, 1E3)
    }
    var w = {},
        q = 0;
    window._dwigdets = window._dwigdets || {};
    w.EVENTS = {
        FORM_SUBMISSION: "form_submission",
        CLICK_TO_CALL: "event-ClickToCall",
        EMAIL_BUTTON_CLICK: "event-ClickToEmail",
        MAP_BUTTON_CLICK: "event-ClickToMap",
        SHARE_CLICK: "event-Share",
        OPENTABLE_CLICK: "event-OpenTable",
        NOTIFICATION_LINK_CLICK: "event-notificationLinkClick",
        NOTIFICATION_LINK_CLOSE: "event-notificationClose",
        COUPON_CLICK: "event-CouponWidget",
        STORE_ORDER: "event-StoreOrder",
        SHOW_POPUP: "event-popup",
        PERSONALIZATION_RULE_IMPRESSION: "event-ruleTriggered",
        PERSONALIZATION_RULE_LINK_CLICK: "event-link_click",
        VIDEO_PLAY: "event-VideoPlay",
        SOCIAL_LINK: "event-socialLink",
        WHATSAPP: "event-Whatsapp"
    };
    w.loadScript = function(k, n, c, d) {
        n = w.toSafeFn(n);
        return B.DM.loadExternalScriptAsync(k, n, c, d)
    };
    w.runOnReady = function(k, n) {
        var c = w.toSafeFn(n);
        k = k || "global_" + q++;
        var d = "afterAjax." + k;
        "complete" === document.readyState ? (B.DM.events.off(d).on(d, c), setTimeout(function() {
            c({
                isAjax: !1
            })
        }, 0)) : B(document).ready(function() {
            B.DM.events.off(d).on(d,
                c);
            c({
                isAjax: !1
            })
        })
    };
    w.runBeforeAjaxNavigation = function(k, n) {
        n = w.toSafeFn(n);
        k = k || "global_" + q++;
        k = "beforeAjax." + k;
        B.DM.events.off(k).on(k, n)
    };
    w.replacePhoneNumber = function(k, n) {
        var c = function(d, b, l) {
            d = B(d);
            var h = d.attr("href");
            h && (b = h.replace(new RegExp(b, "g"), l), d.attr("href", b))
        };
        (function() {
            B(":not(iframe)").contents().filter(function() {
                return this.nodeType == Node.TEXT_NODE
            }).each(function() {
                this.textContent = this.textContent.replace(new RegExp(k, "g"), n)
            });
            B('.dmCall[phone\x3d"' + k + '"]').each(function() {
                B(this).attr("phone",
                    n);
                c(this, k, n)
            });
            B('a[href^\x3d"tel:"]').each(function() {
                c(this, k, n)
            })
        })()
    };
    w.toSafeFn = function(k) {
        if (k && k.safe) return k;
        var n = k ? function() {
            try {
                return k.apply(a, arguments)
            } catch (c) {
                console.log("function failed " + c.message)
            }
        } : function() {};
        n.safe = !0;
        return n
    };
    w.subscribeEvent = function(k, n) {
        return B.DM.events.on(k, function(c, d) {
            c = d && d.value ? d.value : null;
            n && n(c)
        })
    };
    w.subscribeToAllEvents = function(k) {
        for (var n in w.EVENTS)(function(c) {
            w.subscribeEvent(w.EVENTS[c], function(d) {
                k(c, d)
            })
        })(n)
    };
    w.getSiteExternalId =
        function() {
            return Parameters.ExternalUid
        };
    w.getSiteName = function() {
        return Parameters.SiteAlias
    };
    w.getSitePlanID = function() {
        return Parameters.planID
    };
    w.getSiteCurrentLocale = function() {
        return Parameters.currentLocale
    };
    w.getNavItems = function() {
        return window.runtime.API.dmAPI.getNavItems()
    };
    w.getNavItemsAsync = function() {
        return window.runtime.API.dmAPI.getNavItemsAsync()
    };
    w.getNormalizedUrl = function(k) {
        try {
            var n = window.isSitePreview ? !0 : !(window.parent && window.parent.$ && window.parent.$.DM)
        } catch (c) {
            n = !1
        }
        return n ?
            "/site/" + w.getSiteName() + "/" + k + window.location.search : k
    };
    w.registerExternalWidget = function(k, n) {
        return window._dwigdets[k] = n
    };
    w.getExternalWidget = function(k) {
        return window._dwigdets[k] || {}
    };
    w.drawMap = function(k) {
        var n = function(c, d) {
            console.log("lng:" + c + " lat: " + d);
            w.loadScript(rtCommonProps["common.resources.folder"] + "/_dm/s/crossPlatform/mapProvider.mapbox.js").then(function() {
                return B.geoProviders.mapbox.init()
            }).then(function() {
                k = k || {};
                k.lat = d;
                k.lng = c;
                k.options = k.options || {};
                B.geoProviders.mapbox.drawMap(k);
                B(k.container).innerHeight() || B(k.container).css("height", "200px")
            })
        };
        k.lat && k.lng ? n(k.lng, k.lat) : k.addressQuery ? window.runtime.API.geoProvider.search({
            query: k.addressQuery
        }).then(function(c) {
            c && c.length ? n(c[0].x, c[0].y) : console.warn('No results for address "' + k.addressQuery + '"')
        }) : k.markers ? n() : console.log("missing either addressQuery or lat/lng in options")
    };
    var r = 0;
    w.loadScriptAMD = function(k) {
        return new Promise(n => {
            z().then(() => {
                r++;
                window.require([k], c => {
                    r--;
                    0 === r && t();
                    n(c)
                }, () => {
                    r--;
                    0 === r && t()
                })
            })
        })
    };
    w.registerExternalRuntimeComponent = function(k) {
        return runtime.API.appStoreRuntimeApi.register(k)
    };
    w.getCurrentDeviceType = function() {
        return runtime.API.getCurrentLayoutDevice()
    };
    w.getCollection = function(k) {
        return runtime.API.collectionsAPI.getCollection(k)
    };
    w.reInitWidgets = function() {
        window.reInitInProgress = !0;
        B.DM.afterAjaxGeneralInits();
        setTimeout(function() {
            window.reInitInProgress = !1
        }, 300)
    };
    w.getOptimizedImageURL = function(k, n) {
        return runtime.API.dmAPI.getOptimizedImageURL(k, n)
    };
    w.Environment = function() {
        return window.runtime.API.dmAPI.Environment
    };
    w.getCurrentEnvironment = function() {
        return window.runtime.API.dmAPI.getCurrentEnvironment()
    };
    w.loadCollectionsAPI = function() {
        return window.runtime.API.dmAPI.loadCollectionsAPI()
    };
    w.loadContentLibrary = function() {
        return window.runtime.API.dmAPI.loadContentLibrary()
    };
    w.getLoggedInMember = function() {
        return runtime.API.membershipApi.getLoggedInMember()
    };
    w.getLoggedInUser = function() {
        return runtime.API.authApi.getLoggedInUser()
    };
    w.dynamicPageApi = function() {
        return runtime.API.dynamicPageApi
    };
    (function() {
        var k =
            document.createElement("style");
        k.id = "customRules";
        k.appendChild(document.createTextNode(""));
        document.head.insertBefore(k, document.head.firstElementChild);
        styleSheet = k.sheet;
        w.injectRuleToPage = function(n, c) {
            try {
                styleSheet.insertRule(n, c || 0)
            } catch (d) {
                console.error(d)
            } finally {}
        }
    })();
    var m = null;
    a.dmAPI = w
})(window, jQuery);
/*
 WOW - v1.0.3 - 2015-01-14
 Copyright (c) 2015 Matthieu Aussaguel; Licensed MIT */
(function() {
    var a = function(m, k) {
            return function() {
                return m.apply(k, arguments)
            }
        },
        B = [].indexOf || function(m) {
            for (var k = 0, n = this.length; n > k; k++)
                if (k in this && this[k] === m) return k;
            return -1
        };
    var z = function() {
        function m() {}
        return m.prototype.extend = function(k, n) {
            var c;
            for (c in n) {
                var d = n[c];
                null == k[c] && (k[c] = d)
            }
            return k
        }, m.prototype.isMobile = function(k) {
            return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(k)
        }, m.prototype.addEvent = function(k, n, c) {
            return null != k.addEventListener ? k.addEventListener(n,
                c, !1) : null != k.attachEvent ? k.attachEvent("on" + n, c) : k[n] = c
        }, m.prototype.removeEvent = function(k, n, c) {
            return null != k.removeEventListener ? k.removeEventListener(n, c, !1) : null != k.detachEvent ? k.detachEvent("on" + n, c) : delete k[n]
        }, m.prototype.innerHeight = function() {
            return "innerHeight" in window ? window.innerHeight : document.documentElement.clientHeight
        }, m
    }();
    var t = this.WeakMap || this.MozWeakMap || (t = function() {
        function m() {
            this.keys = [];
            this.values = []
        }
        return m.prototype.get = function(k) {
            var n, c, d;
            var b = this.keys;
            var l =
                c = 0;
            for (d = b.length; d > c; l = ++c)
                if (n = b[l], n === k) return this.values[l]
        }, m.prototype.set = function(k, n) {
            var c, d, b;
            var l = this.keys;
            var h = d = 0;
            for (b = l.length; b > d; h = ++d)
                if (c = l[h], c === k) return void(this.values[h] = n);
            return this.keys.push(k), this.values.push(n)
        }, m
    }());
    var w = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (w = function() {
        function m() {
            "undefined" != typeof console && null !== console && console.warn("MutationObserver is not supported by your browser.");
            "undefined" != typeof console &&
                null !== console && console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.")
        }
        return m.notSupported = !0, m.prototype.observe = function() {}, m
    }());
    var q = this.getComputedStyle || function(m) {
        return this.getPropertyValue = function(k) {
            var n;
            return "float" === k && (k = "styleFloat"), r.test(k) && k.replace(r, function(c, d) {
                return d.toUpperCase()
            }), (null != (n = m.currentStyle) ? n[k] : void 0) || null
        }, this
    };
    var r = /(\-([a-z]){1})/g;
    this.WOW = function() {
        function m(k) {
            null == k && (k = {});
            this.scrollCallback =
                a(this.scrollCallback, this);
            this.scrollHandler = a(this.scrollHandler, this);
            this.start = a(this.start, this);
            this.scrolled = !0;
            this.config = this.util().extend(k, this.defaults);
            this.animationNameCache = new t
        }
        return m.prototype.defaults = {
                boxClass: "wow",
                animateClass: "animated",
                offset: 0,
                mobile: !0,
                live: !0,
                callback: null
            }, m.prototype.init = function() {
                var k;
                return this.element = window.document.documentElement, "interactive" === (k = document.readyState) || "complete" === k ? this.start() : this.util().addEvent(document, "DOMContentLoaded",
                    this.start), this.finished = []
            }, m.prototype.start = function() {
                var k;
                if (this.stopped = !1, this.boxes = function() {
                        var b;
                        var l = this.element.querySelectorAll("." + this.config.boxClass);
                        var h = [];
                        var u = 0;
                        for (b = l.length; b > u; u++) d = l[u], h.push(d);
                        return h
                    }.call(this), this.all = function() {
                        var b;
                        var l = this.boxes;
                        var h = [];
                        var u = 0;
                        for (b = l.length; b > u; u++) d = l[u], h.push(d);
                        return h
                    }.call(this), this.boxes.length)
                    if (this.disabled()) this.resetStyle();
                    else {
                        var n = this.boxes;
                        var c = 0;
                        for (k = n.length; k > c; c++) {
                            var d = n[c];
                            this.applyStyle(d,
                                !0)
                        }
                    } return this.disabled() || (this.util().addEvent(window, "scroll", this.scrollHandler), this.util().addEvent(window, "resize", this.scrollHandler), this.interval = setInterval(this.scrollCallback, 50)), this.config.live ? (new w(function(b) {
                    return function(l) {
                        var h;
                        var u = [];
                        var f = 0;
                        for (h = l.length; h > f; f++) {
                            var p = l[f];
                            var y = u,
                                e = y.push,
                                g;
                            var v = p.addedNodes || [];
                            var D = [];
                            var A = 0;
                            for (g = v.length; g > A; A++) p = v[A], D.push(b.doSync(p));
                            e.call(y, D)
                        }
                        return u
                    }
                }(this))).observe(document.body, {
                    childList: !0,
                    subtree: !0
                }) : void 0
            },
            m.prototype.stop = function() {
                return this.stopped = !0, this.util().removeEvent(window, "scroll", this.scrollHandler), this.util().removeEvent(window, "resize", this.scrollHandler), null != this.interval ? clearInterval(this.interval) : void 0
            }, m.prototype.sync = function() {
                return w.notSupported ? this.doSync(this.element) : void 0
            }, m.prototype.doSync = function(k) {
                var n;
                if (null == k && (k = this.element), 1 === k.nodeType) {
                    k = k.parentNode || k;
                    var c = k.querySelectorAll("." + this.config.boxClass);
                    var d = [];
                    var b = 0;
                    for (n = c.length; n > b; b++) k =
                        c[b], 0 > B.call(this.all, k) ? (this.boxes.push(k), this.all.push(k), this.stopped || this.disabled() ? this.resetStyle() : this.applyStyle(k, !0), d.push(this.scrolled = !0)) : d.push(void 0);
                    return d
                }
            }, m.prototype.show = function(k) {
                return this.applyStyle(k), k.className = "" + k.className + ((" " + k.className + " ").indexOf(" animated ") + 1 ? "" : " " + this.config.animateClass), null != this.config.callback ? this.config.callback(k) : void 0
            }, m.prototype.applyStyle = function(k, n) {
                var c, d, b;
                return d = k.getAttribute("data-wow-duration"), c = k.getAttribute("data-wow-delay"),
                    b = k.getAttribute("data-wow-iteration"), this.animate(function(l) {
                        return function() {
                            return l.customStyle(k, n, d, c, b)
                        }
                    }(this))
            }, m.prototype.animate = function() {
                return "requestAnimationFrame" in window ? function(k) {
                    return window.requestAnimationFrame(k)
                } : function(k) {
                    return k()
                }
            }(), m.prototype.resetStyle = function() {
                var k;
                var n = this.boxes;
                var c = [];
                var d = 0;
                for (k = n.length; k > d; d++) {
                    var b = n[d];
                    c.push(b.style.visibility = "visible")
                }
                return c
            }, m.prototype.customStyle = function(k, n, c, d, b) {
                return n && this.cacheAnimationName(k),
                    k.style.visibility = n ? "hidden" : "visible", c && this.vendorSet(k.style, {
                        animationDuration: c
                    }), d && this.vendorSet(k.style, {
                        animationDelay: d
                    }), b && this.vendorSet(k.style, {
                        animationIterationCount: b
                    }), this.vendorSet(k.style, {
                        animationName: n ? "none" : this.cachedAnimationName(k)
                    }), k
            }, m.prototype.vendors = ["moz", "webkit"], m.prototype.vendorSet = function(k, n) {
                var c;
                var d = [];
                for (c in n) {
                    var b = n[c];
                    k["" + c] = b;
                    var l = d,
                        h = l.push,
                        u;
                    var f = this.vendors;
                    var p = [];
                    var y = 0;
                    for (u = f.length; u > y; y++) {
                        var e = f[y];
                        p.push(k["" + e + c.charAt(0).toUpperCase() +
                            c.substr(1)] = b)
                    }
                    h.call(l, p)
                }
                return d
            }, m.prototype.vendorCSS = function(k, n) {
                var c;
                var d = q(k);
                k = d.getPropertyCSSValue(n);
                var b = this.vendors;
                var l = 0;
                for (c = b.length; c > l; l++) {
                    var h = b[l];
                    k = k || d.getPropertyCSSValue("-" + h + "-" + n)
                }
                return k
            }, m.prototype.animationName = function(k) {
                try {
                    var n = this.vendorCSS(k, "animation-name").cssText
                } catch (c) {
                    n = q(k).getPropertyValue("animation-name")
                }
                return "none" === n ? "" : n
            }, m.prototype.cacheAnimationName = function(k) {
                return this.animationNameCache.set(k, this.animationName(k))
            }, m.prototype.cachedAnimationName =
            function(k) {
                return this.animationNameCache.get(k)
            }, m.prototype.scrollHandler = function() {
                return this.scrolled = !0
            }, m.prototype.scrollCallback = function() {
                var k;
                if (!(k = !this.scrolled)) {
                    this.scrolled = !1;
                    var n;
                    var c = this.boxes;
                    var d = [];
                    var b = 0;
                    for (n = c.length; n > b; b++)(k = c[b]) && (this.isVisible(k) ? this.show(k) : d.push(k));
                    k = (this.boxes = d, this.boxes.length || this.config.live)
                }
                return k ? void 0 : this.stop()
            }, m.prototype.offsetTop = function(k) {
                for (var n; void 0 === k.offsetTop;) k = k.parentNode;
                for (n = k.offsetTop; k = k.offsetParent;) n +=
                    k.offsetTop;
                return n
            }, m.prototype.isVisible = function(k) {
                var n, c, d, b, l;
                return c = k.getAttribute("data-wow-offset") || this.config.offset, l = window.pageYOffset, b = l + Math.min(this.element.clientHeight, this.util().innerHeight()) - c, d = this.offsetTop(k), n = d + k.clientHeight, b >= d && n >= l
            }, m.prototype.util = function() {
                return null != this._util ? this._util : this._util = new z
            }, m.prototype.disabled = function() {
                return !this.config.mobile && this.util().isMobile(navigator.userAgent)
            }, m
    }()
}).call(this);
/*
 For license information please see runtime.js.LICENSE.txt */
! function() {
    var a = document && document.currentScript && document.currentScript.src;
    var B = self;
    var z = () => (() => {
        function t(c) {
            var d = r[c];
            if (void 0 !== d) return d.exports;
            d = r[c] = {
                id: c,
                loaded: !1,
                exports: {}
            };
            return q[c].call(d.exports, d, d.exports, t), d.loaded = !0, d.exports
        }
        var w, q = {
                1069: (c, d, b) => {
                    function l(y) {
                        return l = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                                return typeof e
                            } : function(e) {
                                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
                            },
                            l(y)
                    }

                    function h(y) {
                        a: if ("object" === l(y) && null !== y) {
                            var e = y[Symbol.toPrimitive];
                            if (void 0 !== e) {
                                y = e.call(y, "string");
                                if ("object" !== l(y)) break a;
                                throw new TypeError("@@toPrimitive must return a primitive value.");
                            }
                            y = String(y)
                        }return "symbol" === l(y) ? y : String(y)
                    }

                    function u(y, e) {
                        for (var g = 0; g < e.length; g++) {
                            var v = e[g];
                            v.enumerable = v.enumerable || !1;
                            v.configurable = !0;
                            "value" in v && (v.writable = !0);
                            Object.defineProperty(y, h(v.key), v)
                        }
                    }

                    function f(y, e, g) {
                        return (e = h(e)) in y ? Object.defineProperty(y, e, {
                            value: g,
                            enumerable: !0,
                            configurable: !0,
                            writable: !0
                        }) : y[e] = g, y
                    }
                    b.d(d, {
                        B: () => p
                    });
                    var p = function(y, e, g) {
                        return e && u(y.prototype, e), g && u(y, g), Object.defineProperty(y, "prototype", {
                            writable: !1
                        }), y
                    }(function e() {
                        var g = this;
                        if (!(this instanceof e)) throw new TypeError("Cannot call a class as a function");
                        !0;
                        f(this, "resolve", void 0);
                        f(this, "reject", void 0);
                        f(this, "then", void 0);
                        f(this, "catch", void 0);
                        f(this, "promise", void 0);
                        this.promise = new Promise(function(v, D) {
                            g.resolve = v;
                            g.reject = D
                        });
                        this.then = this.promise.then.bind(this.promise);
                        this.catch = this.promise.catch.bind(this.promise);
                        Object.freeze(this)
                    })
                },
                2461: (c, d, b) => {
                    function l(M, O) {
                        var Q = globalThis.commonProps;
                        void 0 === Q && (Q = globalThis.commonProps);
                        Q = Q || globalThis.commonProps || globalThis.rtCommonProps || {};
                        return void 0 === Q[M] ? O : Q[M]
                    }

                    function h() {
                        for (var M = arguments.length, O = Array(M), Q = 0; Q < M; Q++) O[Q] = arguments[Q];
                        return O.reduce(function(W, Z) {
                            return function(V) {
                                return Z(W(V))
                            }
                        })
                    }

                    function u(M, O) {
                        return function(Q) {
                            return Q[M] = O, Q
                        }
                    }

                    function f(M, O, Q) {
                        if (!M) return "";
                        Q = Q ? Q + "." + M :
                            M;
                        const W = window.dmStr || (null == (Z = window.parent) ? void 0 : Z.dmStr);
                        var Z;
                        W && !W[Q] && W[M];
                        let V = W && (W[Q] || W[M]) || M;
                        return O && Object.keys(O).forEach(fa => {
                            V = V.replace(new RegExp("{" + fa + "}", "g"), O[fa])
                        }), V
                    }
                    b.d(d, {
                        localization: () => p,
                        Gl: () => la
                    });
                    var p = {};
                    b.r(p);
                    b.d(p, {
                        str: () => f
                    });
                    let y = function(M) {
                        return M.GET = "GET", M.POST = "POST", M.PUT = "PUT", M.DELETE = "DELETE", M.PATCH = "PATCH", M.HEAD = "HEAD", M
                    }({});
                    const e = {
                        "Content-Type": "application/json"
                    };
                    null != globalThis && globalThis.notifyServerThrottled || (globalThis.notifyServerThrottled =
                        function(M, O, Q) {
                            let W, {
                                leading: Z
                            } = void 0 === Q ? {
                                leading: !1
                            } : Q;
                            return function() {
                                for (var V = arguments.length, fa = Array(V), ma = 0; ma < V; ma++) fa[ma] = arguments[ma];
                                W && clearTimeout(W);
                                Z && M(...fa);
                                W = setTimeout(() => {
                                    M(...fa);
                                    W = null
                                }, 3E4)
                            }
                        }(async function() {
                            if (! function() {
                                    let O = !0;
                                    return (globalThis.parentFlags || globalThis.commonProps && !globalThis.rtCommonProps) && (O = !1), O
                                }()) {
                                var M = Array.from(globalThis.evaluatedFlags);
                                if (globalThis.evaluatedFlags.clear(), M.length) try {
                                    await async function(O) {
                                        let {
                                            url: Q,
                                            method: W =
                                                y.GET,
                                            authToken: Z,
                                            headers: V,
                                            toJson: fa = !0,
                                            throwError: ma = !1,
                                            useDefaultHeaders: ta = !0,
                                            ...ra
                                        } = O;
                                        O = {
                                            method: W,
                                            ...(Z && {
                                                credentials: "include"
                                            }),
                                            headers: {
                                                ...(ta && e),
                                                ...(Z && {
                                                    Authorization: Z
                                                }),
                                                ...V
                                            },
                                            ...ra
                                        };
                                        let na;
                                        try {
                                            if (na = await (null == globalThis ? void 0 : globalThis.fetch(Q, {
                                                    ...O
                                                })), na.ok && 200 <= na.status && 300 > na.status) {
                                                var qa;
                                                let xa;
                                                return fa && 204 !== na.status && null != (qa = na.headers.get("Content-type")) && qa.includes("json") && (xa = await na.json()), {
                                                    data: xa,
                                                    error: void 0,
                                                    response: na
                                                }
                                            }
                                        } catch (xa) {
                                            if (ma) throw xa || Error("Something went wrong.");
                                            return {
                                                data: void 0,
                                                error: xa || "Something went wrong.",
                                                response: na
                                            }
                                        }
                                        if (ma) throw Error("Something went wrong.");
                                        return {
                                            data: void 0,
                                            error: "Something went wrong.",
                                            response: na
                                        }
                                    }({
                                        url: "/api/uis/flags/notify",
                                        method: y.POST,
                                        body: JSON.stringify(M),
                                        keepalive: !0
                                    })
                                } catch (O) {
                                    console.warn("Couldn't send flags evaluation (flags: " + M + "):", O)
                                }
                            }
                        }, 0, {
                            leading: !1
                        }));
                    null != globalThis && globalThis.evaluatedFlags || (globalThis.evaluatedFlags = new Set);
                    c = function(M) {
                        return h.apply(void 0, M.reverse())()
                    };
                    const g = () => {},
                        v = M => "string" ==
                        typeof M ? M : "message msg text error desc description dataString".split(" ").reduce((O, Q) => {
                            Q = M[Q];
                            return O || ("string" == typeof Q ? Q : null)
                        }, null);
                    d = M => O => Q => {
                        let {
                            level: W,
                            ...Z
                        } = Q;
                        return [x.TRACE, x.DEBUG, x.INFO, x.WARN, x.ERROR].indexOf(W) >= [x.TRACE, x.DEBUG, x.INFO, x.WARN, x.ERROR].indexOf(M) && O({
                            level: W,
                            ...Z
                        })
                    };
                    b = function() {
                        const M = [{
                            test: O => O instanceof Error,
                            format: O => ["message", "stack", "code", "cause"].reduce((Q, W) => {
                                var Z = O[W];
                                return {
                                    ...(Z ? {
                                        [W]: Z
                                    } : {}),
                                    ...Q
                                }
                            }, {})
                        }, {
                            test: O => ["string", "number"].includes(typeof O),
                            format: O => ({
                                message: O
                            })
                        }, {
                            test: () => !0,
                            format: O => Object.entries(O).reduce((Q, W) => {
                                let [Z, V] = W;
                                return {
                                    [Z]: ["number", "string"].includes(typeof V) ? V : JSON.stringify(V),
                                    ...Q
                                }
                            }, {})
                        }];
                        return O => Q => {
                            O({
                                logs: Q.map(W => {
                                    let {
                                        data: Z,
                                        level: V,
                                        timestamp: fa,
                                        userAgent: ma,
                                        url: ta,
                                        version: ra,
                                        environment: na
                                    } = W;
                                    W = v(Z);
                                    return {
                                        priority: V.toUpperCase(),
                                        ...(W ? {
                                            log: W
                                        } : {}),
                                        fields: {
                                            _ts: fa,
                                            _url: ta,
                                            _userAgent: ma,
                                            ...(ra ? {
                                                _ver: ra
                                            } : {}),
                                            ...(na ? {
                                                _env: na
                                            } : {}),
                                            ...M.find(qa => {
                                                ({
                                                    test: qa
                                                } = qa);
                                                return qa(Z)
                                            }).format(Z)
                                        }
                                    }
                                })
                            })
                        }
                    }();
                    const D = function(M) {
                        void 0 ===
                            M && (M = "");
                        const [O, Q] = (M.match(/^(\w+)_([0-9]+)$/) || []).slice(1);
                        return W => h(...[O && u("environment", O), Q && u("version", Number(Q)), W].filter(Boolean))
                    }((A = (M, O) => O && (O.version || (O.parent !== O ? M(M, O.parent) : "")))(A, window));
                    var A;
                    A = function() {
                        return () => navigator.sendBeacon ? M => {
                            navigator.sendBeacon("/_dm/s/rt/actions/logs", new Blob([JSON.stringify(M)], {
                                type: "application/json"
                            }))
                        } : M => null == globalThis || null == globalThis.fetch ? void 0 : globalThis.fetch("/_dm/s/rt/actions/logs", {
                            headers: {
                                "content-type": "application/json"
                            },
                            credentials: "omit",
                            cache: "no-store",
                            method: "POST",
                            body: JSON.stringify(M)
                        })
                    }();
                    const x = {
                            TRACE: "trace",
                            DEBUG: "debug",
                            INFO: "info",
                            WARN: "warn",
                            ERROR: "error"
                        },
                        C = function(M) {
                            return function() {
                                for (var O = arguments.length, Q = Array(O), W = 0; W < O; W++) Q[W] = arguments[W];
                                try {
                                    return M.apply(void 0, Q)
                                } catch (V) {
                                    var Z;
                                    null == (Z = console) || null == Z.error || Z.error("Exception occurred while processing log message", Q)
                                }
                            }
                        }(c([M => O => {
                            let {
                                logLevel: Q,
                                dataString: W
                            } = O;
                            return M({
                                data: W,
                                level: Q
                            })
                        }, M => O => {
                            var Q, W;
                            return M(Object.assign(O, {
                                userAgent: null == (Q = window) || null == (Q = Q.navigator) ? void 0 : Q.userAgent,
                                url: null == (W = window) || null == (W = W.location) ? void 0 : W.href,
                                timestamp: Date.now()
                            }))
                        }, D, (I = [c([d(x.TRACE), M => O => {
                            let {
                                data: Q,
                                level: W,
                                timestamp: Z
                            } = O;
                            return M({
                                level: W,
                                text: "[" + (V = Z, ["getHours", "getMinutes", "getSeconds"].map(fa => (new Date(V))[fa]().toString().padStart(2, "0")).join(":") + "] ") + (v(Q) || 'Cannot find a description for the message sent. See "fields" for more information.')
                            });
                            var V
                        }, () => M => {
                            var O, Q;
                            let {
                                text: W,
                                level: Z
                            } = M;
                            (null !=
                                (O = null == (Q = console) ? void 0 : Q[Z]) ? O : console.log)(W)
                        }]), c([M => O => {
                            var Q;
                            return (null != (Q = l("server.for.resources")) && Q.includes("localhost") ? g : M)(O)
                        }, M => O => {
                            let {
                                data: Q,
                                data: {
                                    _skipJournal: W = !1
                                } = {},
                                ...Z
                            } = O;
                            (W ? g : M)({
                                data: Q,
                                ...Z
                            })
                        }, d(x.TRACE), (H = {
                                debounceTime: parseInt(String(l("common.log.debounceDelay", void 0)), 10) || 500,
                                maxBufferCount: parseInt(String(l("common.log.batchLogLimit", void 0)), 10) || 5
                            }, N = void 0 === H ? {} : H, S = N.debounceTime, X = void 0 === S ? 2E3 : S, ca = N.timeout, T = void 0 === ca ? 3E4 : ca, L = N.maxBufferCount,
                            U = void 0 === L ? 5 : L,
                            function(M) {
                                var O, Q = null,
                                    W = [],
                                    Z = function() {
                                        Q = null;
                                        M(W.splice(0))
                                    };
                                return function(V) {
                                    clearInterval(O);
                                    W.push(V);
                                    Q = Q || Date.now();
                                    (W.length >= U ? Z : function() {
                                        return O = setTimeout(Z, Math.max(Math.min(X, Q + T - Date.now())))
                                    })()
                                }
                            }), b, A])], function() {
                            return function(M) {
                                return I.forEach(function(O) {
                                    return O(M)
                                })
                            }
                        })]));
                    var I, H, N, S, X, ca, T, L, U;
                    const [G, J, R, ba, da] = [x.TRACE, x.DEBUG, x.INFO, x.WARN, x.ERROR].map(M => O => C({
                        logLevel: M,
                        dataString: O
                    })), la = (Object.assign(C, {
                        [x.TRACE]: G,
                        [x.DEBUG]: J,
                        [x.INFO]: R,
                        [x.WARN]: ba,
                        [x.ERROR]: da
                    }), {
                        [x.TRACE]: G,
                        [x.DEBUG]: J,
                        [x.INFO]: R,
                        [x.WARN]: ba,
                        [x.ERROR]: da
                    });
                    globalThis._abtests = globalThis._abtests || {}
                },
                5421: (c, d) => {
                    var b = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(h) {
                            return typeof h
                        } : function(h) {
                            return h && "function" == typeof Symbol && h.constructor === Symbol ? "symbol" : typeof h
                        },
                        l = Object.assign || function(h) {
                            for (var u = 1; u < arguments.length; u++) {
                                var f = arguments[u],
                                    p;
                                for (p in f) Object.prototype.hasOwnProperty.call(f, p) && (h[p] = f[p])
                            }
                            return h
                        };
                    d.Z = function() {
                        for (var h =
                                arguments.length, u = Array(h), f = 0; f < h; f++) u[f] = arguments[f];
                        return function(p, y) {
                            p = [].concat(p || []);
                            return Object.freeze(p.reduce(function(e, g) {
                                return l(e, function() {
                                    var v = 0 >= arguments.length || void 0 === arguments[0] ? {} : arguments[0],
                                        D = arguments[1];
                                    if ("object" !== (void 0 === v ? "undefined" : b(v))) {
                                        var A = {};
                                        D = D(v);
                                        v = (v in A ? Object.defineProperty(A, v, {
                                            value: D,
                                            enumerable: !0,
                                            configurable: !0,
                                            writable: !0
                                        }) : A[v] = D, A)
                                    }
                                    return v
                                }(g, y))
                            }, {}))
                        }(u.length && Array.isArray(u[0]) ? u[0] : u, u.length && "function" == typeof u[1] ? u[1] :
                            function(p) {
                                return p
                            })
                    }
                },
                6153: (c, d, b) => {
                    function l(G) {
                        G && G.classList.remove("stickyHeaderFix")
                    }

                    function h(G) {
                        return {
                            passive: !0,
                            capture: G
                        }
                    }

                    function u(G) {
                        return new X({
                            container: G,
                            overlay: G.querySelector(".layout-drawer-overlay"),
                            drawer: G.querySelector(".layout-drawer"),
                            drawerTrigger: G.querySelector(".layout-drawer-hamburger")
                        })
                    }

                    function f(G) {
                        G = document.querySelector.bind(document);
                        return new ca({
                            sidebar: G(".sidebar"),
                            sidebarWrapper: G(".hasGenericSidebar"),
                            sidebarOpener: G("#sidebarHamburger")
                        })
                    }

                    function p({
                        containerId: G
                    } = {}) {
                        return U = document.getElementById(G) || document.body, U.classList.add("runtime-module-container"), document.querySelector(".responsiveTablet") ? (e(), function(J) {
                            return g.apply(this, arguments)
                        }(U)) : document.querySelector(".layout-drawer-hamburger") ? (e(), L = u(U), Promise.resolve(L)) : document.querySelector(".hasGenericSidebar") ? (L = f(), Promise.resolve(L)) : Promise.resolve("Not a hamburger layout")
                    }

                    function y() {
                        L.destruct();
                        U.classList.remove("runtime-module-container")
                    }

                    function e() {
                        if (document.querySelector(".responsiveTablet")) {
                            var G =
                                window.matchMedia("(max-width: 1024px)");
                            try {
                                G.addEventListener("change", v, {
                                    passive: !0
                                })
                            } catch (J) {
                                try {
                                    G.addListener(v, {
                                        passive: !0
                                    })
                                } catch (R) {
                                    console.error("initResponsiveTablet failed", R)
                                }
                            }
                        }
                    }

                    function g() {
                        return (g = (0, I.Z)(function*(G) {
                            const J = document.querySelector(".layout-drawer-hamburger"),
                                R = document.querySelector(".hasGenericSidebar");
                            if (!J && !R) return "Not a Hamburger / Sidebar layout";
                            const ba = [];
                            return !!J && ba.push(u(G)), !!R && ba.push(f()), L = Object.keys(T).reduce((da, la) => Object.assign({}, da, {
                                [la]: () => {
                                    ba.forEach(M => {
                                        var O;
                                        return null == M || null === (O = M[la]) || void 0 === O ? void 0 : O.call(M)
                                    })
                                }
                            }), {}), L
                        })).apply(this, arguments)
                    }

                    function v(G) {
                        G = new CustomEvent("media-query-changed", {
                            bubbles: !0,
                            cancelable: !0,
                            detail: {
                                matchesQuery: G.matches
                            }
                        });
                        document.documentElement.dispatchEvent(G)
                    }

                    function D(G) {
                        return L.openNavMenus(G)
                    }

                    function A(G) {
                        return L.closeNavMenus(G)
                    }

                    function x() {
                        return L.preventDragging()
                    }

                    function C() {
                        return L.allowDragging()
                    }
                    b.r(d);
                    b.d(d, {
                        allowDragging: () => C,
                        clean: () => y,
                        closeNavMenus: () => A,
                        init: () =>
                            p,
                        openNavMenus: () => D,
                        preventDragging: () => x
                    });
                    var I = b(5861),
                        H = b(1069),
                        N = b(7664);
                    class S {
                        static get ORIGINS() {
                            return ["top", "side", "side-reverse"]
                        }
                        constructor({
                            drawer: G,
                            threshold: J = 50
                        } = {}) {
                            if (!G) throw Error("Can't construct drawer without the `drawer` element");
                            this._drawerElement = G;
                            this.threshold = J;
                            this.open = this._drawerElement.hasAttribute("open");
                            this.origin = this._drawerElement.getAttribute("data-origin");
                            this._drawerElement.style.transform = null;
                            this.forbidDragging = this.pushContent;
                            this._bindMethods();
                            this._bindEventListeners();
                            this._drawerObserver = new window.MutationObserver(this._attributesChanges);
                            this._drawerObserver.observe(this._drawerElement, {
                                attributes: !0,
                                attributeFilter: ["open", "data-origin"]
                            })
                        }
                        destruct() {
                            this._unbindEventListeners();
                            this._drawerObserver.disconnect()
                        }
                        startDraggingDrawer(G) {
                            if (!(this.forbidDragging || "top" === this.origin && this._drawerElement.scrollHeight > this._drawerElement.offsetHeight)) {
                                this._dragging = !0;
                                this._drawerElement.style.willChange = "transform";
                                this._drawerElement.style.transition =
                                    "none";
                                var J = this._determinePositionProp();
                                G.touches ? (this.startPos = G.touches[0][J], this._drawerElement.removeEventListener("touchmove", this.movingDrawer), this._drawerElement.addEventListener("touchmove", this.movingDrawer, h())) : G[J] && (this.startPos = G[J], this._drawerElement.removeEventListener("mousemove", this.movingDrawer), this._drawerElement.addEventListener("mousemove", this.movingDrawer, h()))
                            }
                        }
                        movingDrawer(G) {
                            const J = this._determinePositionProp();
                            G = G.touches ? G.touches[0][J] : G[J];
                            this._calculateMostDrag(G);
                            this._drawerElement.style.transform = this._buildTranslateValue(this.startPos, G)
                        }
                        _calculateMostDrag(G) {
                            let J = Number.MAX_SAFE_INTEGER,
                                R = "min";
                            this._isReversed() && (J = Number.MIN_SAFE_INTEGER, R = "max");
                            this.minimal = Math[R](G, J, this.minimal || J)
                        }
                        finishedDraggingDrawer(G) {
                            this._stopDragging();
                            var J = this._determinePositionProp(),
                                R = G[J];
                            G.changedTouches && (R = G.changedTouches[0][J]);
                            J = this._isReversed() ? R < this.minimal : R > this.minimal;
                            if (void 0 === this.startPos || J) return void(this.minimal = null);
                            R = this._isReversed() ?
                                R - this.startPos : this.startPos - R;
                            delete this.startPos;
                            R > this.threshold && (this.closeDrawer(), G.stopPropagation())
                        }
                        _isReversed() {
                            return "side-reverse" === this.origin
                        }
                        toggleDrawer(G) {
                            void 0 === G ? this.open = !this.open : this.open = !!G
                        }
                        closeDrawer() {
                            this.open = !1
                        }
                        get open() {
                            return this._drawerElement.hasAttribute("open")
                        }
                        set open(G) {
                            this._drawerElement.hasAttribute("open") !== G && setTimeout(() => {
                                G ? this._drawerElement.setAttribute("open", "") : (this._drawerElement.removeAttribute("open"), this._stopDragging());
                                this._dispatchEvent({
                                    eventName: "drawer-toggled",
                                    detail: {
                                        open: G
                                    }
                                })
                            })
                        }
                        get origin() {
                            return this._drawerElement.getAttribute("data-origin") || "side"
                        }
                        set origin(G) {
                            if (this.origin !== G) {
                                var J = G;
                                S.ORIGINS.includes(G) || (J = "side");
                                this._drawerElement.setAttribute("data-origin", J)
                            }
                        }
                        get pushContent() {
                            return !!this._drawerElement.hasAttribute("data-push-content")
                        }
                        set pushContent(G) {
                            (this.forbidDragging = G) ? this._drawerElement.setAttribute("data-push-content", ""): this._drawerElement.removeAttribute("data-push-content")
                        }
                        get forbidDragging() {
                            return !!this._drawerElement.hasAttribute("forbid-dragging")
                        }
                        set forbidDragging(G) {
                            G ?
                                this._drawerElement.setAttribute("forbid-dragging", "") : this._drawerElement.removeAttribute("forbid-dragging")
                        }
                        _attributesChanges(G) {
                            Array.from(G).forEach(J => {
                                "attributes" === J.type && ("open" === J.attributeName && (this.open = this._drawerElement.hasAttribute("open")), "data-origin" === J.attributeName && (this.origin = this._drawerElement.getAttribute("data-origin")))
                            })
                        }
                        _stopDragging() {
                            this._dragging = !1;
                            this._drawerElement.removeEventListener("touchmove", this.movingDrawer);
                            this._drawerElement.removeEventListener("mousemove",
                                this.movingDrawer);
                            this._drawerElement.style.willChange = null;
                            this._drawerElement.style.transform = null;
                            this._drawerElement.style.transition = null
                        }
                        _determinePositionProp() {
                            return "top" === this.origin ? "clientY" : "clientX"
                        }
                        _buildTranslateValue(G, J) {
                            const R = "top" === this.origin ? "translateY" : "translateX";
                            return this._isReversed() && G < J ? `${R}(${J-G}px)` : !this._isReversed() && G > J ? `${R}(-${G-J}px)` : null
                        }
                        _bindMethods() {
                            this.startDraggingDrawer = this.startDraggingDrawer.bind(this);
                            this.movingDrawer = this.movingDrawer.bind(this);
                            this.finishedDraggingDrawer = this.finishedDraggingDrawer.bind(this);
                            this.toggleDrawer = this.toggleDrawer.bind(this);
                            this.closeDrawer = this.closeDrawer.bind(this);
                            this._attributesChanges = this._attributesChanges.bind(this)
                        }
                        _bindEventListeners() {
                            this._drawerElement.addEventListener("touchstart", this.startDraggingDrawer, h());
                            this._drawerElement.addEventListener("touchend", this.finishedDraggingDrawer, h(!0));
                            this._drawerElement.addEventListener("mousedown", this.startDraggingDrawer);
                            this._drawerElement.addEventListener("mouseup",
                                this.finishedDraggingDrawer)
                        }
                        _unbindEventListeners() {
                            this._drawerElement.removeEventListener("touchstart", this.startDraggingDrawer, h());
                            this._drawerElement.removeEventListener("touchend", this.finishedDraggingDrawer, h(!0));
                            this._drawerElement.removeEventListener("mousedown", this.startDraggingDrawer);
                            this._drawerElement.removeEventListener("mouseup", this.finishedDraggingDrawer);
                            this._drawerElement.removeEventListener("touchmove", this.movingDrawer);
                            this._drawerElement.removeEventListener("mousemove",
                                this.movingDrawer)
                        }
                        _dispatchEvent({
                            eventName: G,
                            detail: J
                        }) {
                            this.silent || (G = new window.CustomEvent(G, {
                                detail: J,
                                bubbles: !1,
                                cancelable: !0
                            }), this._drawerElement.dispatchEvent(G))
                        }
                    }
                    S.displayName = "LayoutDrawer";
                    class X {
                        constructor({
                            container: G,
                            drawer: J,
                            drawerTrigger: R,
                            overlay: ba
                        }) {
                            this.drawerElement = J;
                            J = new S({
                                drawer: J
                            });
                            this.container = G;
                            this.drawer = J;
                            this.drawerTrigger = R;
                            this.overlay = ba;
                            this._rootElement = window.document.body;
                            this._styleToStopScroll = {
                                overflow: "hidden",
                                position: "fixed",
                                height: "100%"
                            };
                            this._bindMethods();
                            this._bindEventListeners();
                            this._hideHamburgerIfHeaderIsHidden(this.container);
                            (function({
                                container: da
                            }) {
                                if (!document.body.hasAttribute("data-flex-site")) {
                                    var la = document.querySelector(".stickyHeaderFix"),
                                        M = document.querySelector("[dmtemplateid]");
                                    if (M.classList.contains("header-over-content") || M.closest(".responsiveTablet")) return void l(la);
                                    var O = da.querySelector(".site_content");
                                    M = parseInt(window.getComputedStyle(O).marginTop, 10);
                                    var Q = da.querySelector("#hamburger-header-container").getBoundingClientRect().height;
                                    M === Q ? l(la) : (la || O.style.setProperty("transition", "margin-top 0.3s"), window.requestAnimationFrame(() => {
                                        window.requestAnimationFrame(() => {
                                            O.style.setProperty("margin-top", `${Q}px`, "important");
                                            l(la)
                                        })
                                    }))
                                }
                            })({
                                container: G
                            })
                        }
                        destruct() {
                            this._unbindEventListeners();
                            this.drawer.destruct()
                        }
                        drawerToggled(G) {
                            setTimeout(() => {
                                G.detail.open ? (this.container.classList.add("layout-drawer_open"), this._unMarkHamburgerOnHeader(), this._saveScrollPosition(), this._stopDocumentScroll()) : (this.container.classList.remove("layout-drawer_open"),
                                    this._markHamburgerOnHeader(), this._restoreRootStyles())
                            })
                        }
                        closeNavMenus({
                            silently: G
                        } = {}) {
                            if (!this.drawer.open) return Promise.resolve();
                            const J = new Promise(R => this.drawerElement.addEventListener("transitionend", R, {
                                once: !0
                            }));
                            return this.drawer.silent = G, this.drawer.open = !1, this._fakeDrawerEvent(), this.drawer.silent = !1, J
                        }
                        openNavMenus({
                            silently: G
                        } = {}) {
                            if (this.drawer.open) return Promise.resolve();
                            const J = new Promise(R => this.drawerElement.addEventListener("transitionend", R, {
                                once: !0
                            }));
                            return this.drawer.silent =
                                G, this.drawer.open = !0, this._fakeDrawerEvent(), this.drawer.silent = !1, J
                        }
                        preventDragging() {
                            this.drawer.forbidDragging = !0
                        }
                        allowDragging() {
                            this.drawer.forbidDragging = !1
                        }
                        _fakeDrawerEvent() {
                            this.drawerToggled({
                                detail: {
                                    open: this.drawer.open
                                }
                            })
                        }
                        _triggerClickListener() {
                            this.drawer.open = !this.drawer.open
                        }
                        _escKeyListener(G) {
                            G.keyCode === N.R8.ESC && this.closeNavMenus()
                        }
                        _bindMethods() {
                            this.drawerToggled = this.drawerToggled.bind(this);
                            this.closeNavMenus = this.closeNavMenus.bind(this);
                            this._triggerClickListener = this._triggerClickListener.bind(this);
                            this._escKeyListener = this._escKeyListener.bind(this)
                        }
                        _bindEventListeners() {
                            this.drawerElement.addEventListener("drawer-toggled", this.drawerToggled);
                            this.drawerTrigger.addEventListener("click", this._triggerClickListener);
                            this.container.addEventListener("keyup", this._escKeyListener);
                            this.overlay ? (this.overlay.addEventListener("touchend", this.closeNavMenus, h()), this.overlay.addEventListener("mouseup", this.closeNavMenus, h()), this.overlay.addEventListener("click", this.closeNavMenus)) : this.container.addEventListener("touchend",
                                this.closeNavMenus, h())
                        }
                        _unbindEventListeners() {
                            this.drawerElement.removeEventListener("drawer-toggled", this.drawerToggled);
                            this.drawerTrigger.removeEventListener("click", this._triggerClickListener);
                            this.container.removeEventListener("keyup", this._escKeyListener);
                            this.overlay ? (this.overlay.removeEventListener("touchend", this.closeNavMenus, h()), this.overlay.removeEventListener("mouseup", this.closeNavMenus, h()), this.overlay.removeEventListener("click", this.closeNavMenus)) : this.container.removeEventListener("touchend",
                                this.closeNavMenus, h())
                        }
                        _saveScrollPosition() {
                            this._currentScroll = 0
                        }
                        _restoreRootStyles() {
                            Object.keys(this._styleToStopScroll).forEach(J => {
                                this._rootElement.style.removeProperty(J)
                            });
                            const G = this._resetHacksOfIOS();
                            return window.scrollTo(0, this._currentScroll), G
                        }
                        _stopDocumentScroll() {
                            return Object.keys(this._styleToStopScroll).forEach(G => {
                                this._rootElement.style.setProperty(G, this._styleToStopScroll[G], "")
                            }), this._hackToFixIOSIssues()
                        }
                        coverHeaderFix() {
                            var G = getComputedStyle(this.drawerElement);
                            "absolute" ===
                            G.position && (G = parseInt(G.top, 10) || 0, this.drawerElement.style.setProperty("top", `${G+this._currentScroll}px`, "important"))
                        }
                        _hackToFixIOSIssues() {
                            var G = this;
                            return (0, I.Z)(function*() {
                                /side/i.test(G.drawer.origin) && (yield G._waitForActualPaint(), G.drawerElement.style.height = "calc(100% + 0px)")
                            })()
                        }
                        _resetHacksOfIOS() {
                            var G = this;
                            return (0, I.Z)(function*() {
                                G.drawerElement.style.height = "";
                                G.container.classList.contains("layout-drawer_push-content") && (G.container.style.setProperty("position", "fixed"), yield G._waitForActualPaint(),
                                    G.container.style.removeProperty("position"))
                            })()
                        }
                        _waitForActualPaint() {
                            this._transitioningElement = this.container.classList.contains("layout-drawer_push-content") ? this.container : this.drawerElement;
                            const G = new H.B;
                            return this.container.removeEventListener("transitionend", this._transitionListener), this.drawerElement.removeEventListener("transitionend", this._transitionListener), this._transitionListener = J => {
                                this._transitioningElement === J.target && (J.target.removeEventListener(J.type, this._transitionListener),
                                    G.resolve(J.target))
                            }, this._transitioningElement.addEventListener("transitionend", this._transitionListener, {
                                capture: !0
                            }), G.promise
                        }
                        _unMarkHamburgerOnHeader() {
                            this.container.classList.contains("layout-drawer_fixed-header") || this.drawerTrigger.classList.remove("hamburger-on-header")
                        }
                        _markHamburgerOnHeader() {
                            this.drawerTrigger.classList.add("hamburger-on-header")
                        }
                        _hideHamburgerIfHeaderIsHidden(G) {
                            return !(G.querySelector(".hamburger-header") && "none" !== G.querySelector(".hamburger-header").style.display ||
                                (G.querySelector(".layout-drawer-hamburger").classList.add("header-is-hidden"), 0))
                        }
                    }
                    X.displayName = "DrawerManager";
                    class ca {
                        constructor({
                            sidebar: G,
                            sidebarWrapper: J,
                            sidebarOpener: R
                        }) {
                            this.sidebarToggled = ba => {
                                this.sidebarWrapper.classList.toggle("sidebarExpanded", ba.detail.open)
                            };
                            this.sidebarElement = G;
                            this.sidebarWrapper = J;
                            this.sidebarOpener = R;
                            this._bindMethods();
                            this._bindEventListeners()
                        }
                        destruct() {
                            this._unbindEventListeners()
                        }
                        _bindEventListeners() {
                            this.sidebarOpener && this.sidebarOpener.addEventListener("click",
                                this.sidebarToggled)
                        }
                        _unbindEventListeners() {
                            this.sidebarOpener && this.sidebarOpener.removeEventListener("click", this.sidebarToggled)
                        }
                        _bindMethods() {
                            this.sidebarToggled = this.sidebarToggled.bind(this)
                        }
                        _isSidebarCollapsed() {
                            return !this.sidebarOpener || "1" === window.getComputedStyle(this.sidebarOpener).opacity
                        }
                        closeNavMenus() {
                            this._isSidebarCollapsed() && this.sidebarToggled({
                                detail: {
                                    open: !1
                                }
                            })
                        }
                        openNavMenus() {}
                        preventDragging() {}
                        allowDragging() {}
                    }
                    ca.displayName = "LayoutSidebar";
                    const T = {
                        closeNavMenus() {},
                        openNavMenus() {},
                        preventDragging() {},
                        allowDragging() {},
                        init() {},
                        clean() {}
                    };
                    var L = T;
                    let U = null
                },
                6472: (c, d, b) => {
                    function l() {
                        v(e("#dmPopup"), y(S, X), "resize")
                    }

                    function h(L) {
                        return u.apply(this, arguments)
                    }

                    function u() {
                        return (u = (0, I.Z)(function*(L, U = "", G = 0, J = 0, {
                            dontOverlay: R,
                            overlayColor: ba,
                            animation: da,
                            videoBg: la,
                            hasOverlay: M,
                            onClose: O,
                            onOpen: Q
                        } = {}) {
                            const W = e("#dm_content"),
                                Z = W.querySelector("#dmPopup") || document.querySelector("#dmPopup").cloneNode(!0),
                                V = document.body;
                            ! function({
                                popupClass: fa,
                                popupContainer: ma
                            }) {
                                ma.classList.remove("dmPopup");
                                ["dmPopupPage", "noTitle", ...fa.split(" ")].forEach(ta => ma.classList.add(ta))
                            }({
                                popupClass: U,
                                popupContainer: Z
                            });
                            U = Z.querySelector(".data");
                            U.innerHTML = L.outerHTML;
                            W.appendChild(Z);
                            yield(0, N.Yq)(U);
                            V.classList.add("popupOpen");
                            (L = W.querySelector(":scope \x3e .dmRespRowsWrapper")) && (L.setAttribute("tabindex", "-1"), L.setAttribute("aria-hidden", "true"));
                            R || f({
                                targetElement: W,
                                overlayColor: ba
                            });
                            G = y(G, J);
                            v(Z, G, "show popup page - popup container");
                            v(Z.querySelector(".data"), {
                                    "overflow-y": "auto",
                                    height: "100%"
                                },
                                "show popup page - data");
                            "none" === da ? Z.classList.add("dmPopup--visible") : window.requestAnimationFrame(() => {
                                requestAnimationFrame(() => {
                                    Z.classList.add("animated");
                                    Z.classList.add("dmPopup--visible");
                                    Z.classList.add(da)
                                })
                            });
                            la && (Z.dataset.videoBg = la);
                            M && Z.classList.add("hasBackgroundOverlay");
                            Q && Q();
                            O && e(".dmPopupClose").addEventListener("click", O);
                            window.closePopupOnEsc();
                            window.removeEventListener("orientationchange", l, {
                                passive: !0
                            });
                            window.removeEventListener("resize", l, {
                                passive: !0
                            });
                            window.addEventListener("orientationchange",
                                l, {
                                    passive: !0
                                });
                            window.addEventListener("resize", l, {
                                passive: !0
                            })
                        })).apply(this, arguments)
                    }

                    function f({
                        targetElement: L,
                        overlayColor: U
                    } = {}) {
                        const G = L || e("#dm_content"),
                            J = e("#dmPopupMask");
                        J.style.backgroundColor = U || "rgba(0, 0, 0, 0.5)";
                        setTimeout(() => {
                            G.appendChild(J)
                        });
                        window.removeEventListener("resize", p);
                        g(J) && (v(J, {
                            width: `${window.innerWidth}px`,
                            height: "100vh",
                            display: "block"
                        }), window.addEventListener("resize", p), p())
                    }

                    function p() {
                        const L = e("#dmPopupMask");
                        g(L) || v(L, {
                            width: `${window.innerWidth}px`,
                            height: "100vh",
                            display: "block"
                        }, "resize overlay")
                    }

                    function y(L, U) {
                        const G = window.innerWidth,
                            J = window.innerHeight;
                        L = 1 > L ? G * L : Math.min(L, G - 20);
                        U = 1 > U ? J * U : Math.min(U, J - 20);
                        return {
                            top: J / 2 - U / 2 + "px",
                            width: `${L}px`,
                            left: G / 2 - L / 2 + (window.$.layoutDevice && "mobile" === window.$.layoutDevice.type ? 0 : -10) + "px",
                            height: `${U}px`
                        }
                    }

                    function e(L, U = document) {
                        return U.querySelector(L)
                    }

                    function g(L) {
                        const {
                            width: U,
                            height: G
                        } = L.getBoundingClientRect();
                        return 0 === U && 0 === G || "none" === window.getComputedStyle(L).getPropertyValue("display")
                    }

                    function v(L, U, G) {
                        return L ? (Object.entries(U).forEach(([J, R]) => L.style.setProperty(J, R)), Promise.resolve()) : H.Gl.warn(`trying to apply style on a non existing element - ${G}`)
                    }

                    function D(L, U, G, J) {
                        "popup" === U.getAttribute("link_type") ? (L = U.getAttribute("popup_target"), window.layoutApp && window.layoutApp.closeNavMenus(), G.preventDefault(), window.$.dmrt.components.popupService.displayPopup(L), G = void 0) : G = (window.location.href = L, !1);
                        return G
                    }
                    b.r(d);
                    b.d(d, {
                        Page: () => C,
                        navigationService: () => x
                    });
                    var A = {};
                    b.r(A);
                    b.d(A, {
                        showOverlay: () => f,
                        showPopupPage: () => h
                    });
                    var x = {};
                    b.r(x);
                    b.d(x, {
                        _ajaxNavigateToLink: () => D,
                        ajaxNavigationService: () => ca,
                        popupService: () => A
                    });
                    var C = {};
                    b.r(C);
                    b.d(C, {
                        Page: () => T
                    });
                    var I = b(5861),
                        H = b(2461),
                        N = b(3816);
                    let S, X;
                    const ca = {
                        _ajaxNavigateToLink: D
                    };
                    class T {
                        constructor() {
                            this.pageAlias = window.Parameters.InitialPageAlias;
                            this.pageContent = null;
                            this.linkType = 2;
                            this.pageScrollTo = null
                        }
                        scrollTo(L) {
                            if (this.pageScrollTo && 0 < this.pageScrollTo.length) {
                                const U = document.querySelector(`#${this.pageScrollTo}, a[name=${this.pageScrollTo}]`);
                                return window.$.DM.scrollToAnchor(window.$(U), L), !0
                            }
                            return !1
                        }
                    }
                    T.displayName = "Page"
                },
                5269: (c, d, b) => {
                    function l() {
                        const v = document.querySelector("#flex-header[data-sticky]");
                        if ((null == v ? 0 : v.matches("[data-changeable-on-scroll]")) && (window.addEventListener("resize", h), 0 < v.offsetHeight)) {
                            const D = f("shrinking-anchor");
                            document.body.appendChild(D);
                            e = new IntersectionObserver(A => {
                                A.forEach(x => {
                                    0 !== v.offsetHeight && (x.isIntersecting ? (v.removeAttribute("data-scrolling"), 0 === x.boundingClientRect.y ? (x = document.getElementById("shrinking-header-placeholder")) &&
                                        parseFloat(x.style.height) !== u(v) ? v.addEventListener("transitionend", y, {
                                            once: !0
                                        }) : 0 === window.scrollY && (p(), v.removeAttribute("data-fixed")) : v.hasAttribute("data-fixed") || v.hasAttribute("data-overlapping") || (x = f("shrinking-header-placeholder"), x.id = "shrinking-header-placeholder", x.style.height = `${u(v)}px`, v.parentElement.insertBefore(x, v.nextSibling), v.setAttribute("data-fixed", ""))) : v.setAttribute("data-scrolling", ""))
                                })
                            }, {
                                threshold: [0, 1]
                            });
                            e.observe(D)
                        }
                    }

                    function h() {
                        e && (e.disconnect(), e = null);
                        p();
                        const v = document.querySelector("#flex-header");
                        v.removeAttribute("data-scrolling");
                        v.removeAttribute("data-fixed");
                        window.removeEventListener("resize", h);
                        l()
                    }
                    b.r(d);
                    b.d(d, {
                        API: () => g,
                        FLEX_HEADER_CHANGEABLE_ON_SCROLL_ANCHOR_ID: () => "shrinking-anchor",
                        FLEX_HEADER_CHANGEABLE_ON_SCROLL_ATTRIBUTE: () => "data-changeable-on-scroll",
                        FLEX_HEADER_CHANGEABLE_ON_SCROLL_PLACEHOLDER_ID: () => "shrinking-header-placeholder",
                        FLEX_HEADER_FIXED_ATTRIBUTE: () => "data-fixed",
                        FLEX_HEADER_ID: () => "flex-header",
                        FLEX_HEADER_OVERLAPPING_ATTRIBUTE: () =>
                            "data-overlapping",
                        FLEX_HEADER_SCROLLING_ATTRIBUTE: () => "data-scrolling",
                        FLEX_HEADER_STICKY_ATTRIBUTE: () => "data-sticky",
                        init: () => l,
                        reset: () => h
                    });
                    const u = v => {
                            v = window.getComputedStyle(v);
                            return parseFloat(v.height || 0) + parseFloat(v.marginTop || 0) + parseFloat(v.marginBottom || 0)
                        },
                        f = v => {
                            var D;
                            return null !== (D = document.getElementById(v)) && void 0 !== D ? D : Object.assign(document.createElement("div"), {
                                id: v
                            })
                        },
                        p = () => {
                            const v = document.getElementById("shrinking-header-placeholder");
                            v && v.remove()
                        },
                        y = v => {
                            v = v.currentTarget;
                            0 === window.scrollY && (p(), v.removeAttribute("data-fixed"))
                        };
                    let e;
                    const g = {
                        reset: h
                    }
                },
                5524: (c, d, b) => {
                    function l() {
                        h();
                        u();
                        requestAnimationFrame(() => {
                            p();
                            e();
                            document.documentElement.addEventListener("media-query-changed", l, {
                                once: !0
                            })
                        })
                    }

                    function h() {
                        document.querySelectorAll("#hcontainer[data-scrollable-target] .dmRespRow").forEach(C => {
                            C.classList.remove("mini-header-hide-row");
                            C.classList.remove("mini-header-show-row");
                            C.querySelectorAll('[dmle_extension\x3d"onelinksmenu"]').length ? C.classList.add("mini-header-show-row") :
                                C.classList.add("mini-header-hide-row")
                        })
                    }

                    function u() {
                        document.querySelectorAll("#hcontainer[data-scrollable-target] .dmRespCol").forEach(C => {
                            C.classList.remove("has-one-widget-only");
                            C.classList.remove("has-more-one-widget");
                            1 === C.querySelectorAll('\n            [data-element-type\x3d"multilingual"],\n            [data-element-type\x3d"social_hub"],\n            [data-element-type\x3d"onelinksmenu"],\n            [data-element-type\x3d"clicktocall"],\n            [data-element-type\x3d"opentable"],\n            [data-element-type\x3d"emailextension"],\n            [data-element-type\x3d"externalapp"],\n            [data-element-type\x3d"paypal"],\n            [data-element-type\x3d"facebook_like"],\n            [data-element-type\x3d"image"],\n            [data-element-type\x3d"ec_store_cart"],\n            [data-element-type\x3d"paragraph"],\n            [data-element-type\x3d"graphic"],\n            [data-element-type\x3d"dButtonLinkId"],\n            [data-element-type\x3d"ButtonLinkId"],\n            .dmNewParagraph').length ?
                                C.classList.add("has-one-widget-only") : C.classList.add("has-more-one-widget")
                        });
                        window.runtime.API.init()
                    }

                    function f() {
                        p();
                        e()
                    }

                    function p() {
                        document.querySelectorAll(".secondary-image").forEach(X => {
                            X.parentNode.removeChild(X)
                        });
                        document.querySelectorAll(".primary-image").forEach(X => {
                            X.classList.remove("primary-image")
                        });
                        var C = [...document.querySelectorAll('[data-scrollable-target][has-secondary-image\x3d"true"]')].find(X => !(0, g.xj)(X));
                        if (C) {
                            var I = C.querySelector(".imageWidget, .unifiednav .middleLogoLink");
                            if (I) {
                                var H = I.querySelector("a img, img");
                                H.classList.add("primary-image");
                                if (C = C.getAttribute("secondary-image")) {
                                    var N = I.querySelector(".secondary-image");
                                    N && I.removeChild(N);
                                    var S = (0, D.LU)(`<img alt='secondary-image' src=${C} id="navLogo" class='navLogo secondary-image' />`);
                                    H.parentNode.appendChild(S);
                                    S.style.display = "none";
                                    window.addEventListener("scroll", () => {
                                        S.style.display = ""
                                    }, {
                                        once: !0,
                                        passive: !0,
                                        capture: !0
                                    })
                                }
                            }
                        }
                    }

                    function y(C) {
                        const I = C[0].target,
                            H = document.querySelector(".layout-drawer-hamburger");
                        H && window.requestAnimationFrame(() => {
                            window.requestAnimationFrame(() => {
                                if (I.classList.contains(v.G)) {
                                    const {
                                        height: N
                                    } = I.getBoundingClientRect(), S = H.getBoundingClientRect().height;
                                    H.style.setProperty("top", N / 2 - S / 2 + "px", "important");
                                    H.classList.add("hamburger-on-scrolled-header")
                                } else H.style.top = "", H.style.color = "", H.classList.remove("hamburger-on-scrolled-header")
                            })
                        })
                    }

                    function e() {
                        const C = document.querySelector(".hamburger-header");
                        C && (A && A.disconnect(), document.querySelector(".layout-drawer-hamburger") &&
                            (A = new MutationObserver(y), A.observe(C, {
                                attributes: !0
                            })))
                    }
                    b.r(d);
                    b.d(d, {
                        API: () => x,
                        init: () => l,
                        initSecondaryLogo: () => f,
                        markColumnsWithSingleWidget: () => u
                    });
                    var g = b(2077),
                        v = b(9201),
                        D = b(3816);
                    let A = null;
                    const x = {
                        initShowOnlyNavRowInMiniHeaderMode: h,
                        markColumnsWithSingleWidget: u,
                        initSecondaryLogo: f
                    }
                },
                4585: (c, d, b) => {
                    function l() {
                        h();
                        const A = document.querySelectorAll("[data-scrollable-target]");
                        A.length && (D = [...A].reduce((x, C) => {
                            C = new v(C);
                            return Object.assign({}, x, {
                                [C.id]: C
                            })
                        }, {}))
                    }

                    function h() {
                        Object.keys(D).forEach(A =>
                            u(A))
                    }

                    function u(A) {
                        A in D && (D[A].destruct(), delete D[A])
                    }

                    function f(A) {
                        A = document.querySelector(A);
                        const x = null == A ? void 0 : A.getAttribute("data-scroll-responder-id");
                        A && x in D && (D[x].destruct(), delete D[x])
                    }

                    function p(A) {
                        const x = document.querySelector(A).getAttribute("data-scroll-responder-id");
                        x && u(x);
                        A = new v(A);
                        D[A.id] = A
                    }

                    function y(A) {
                        return window.Element ? A instanceof window.Element && 1 === (null == A ? void 0 : A.nodeType) : 1 === (null == A ? void 0 : A.nodeType)
                    }
                    b.r(d);
                    b.d(d, {
                        SCROLL_RESPONDER_ID_ATTRIBUTE: () =>
                            "data-scroll-responder-id",
                        SELECTOR_TARGET_ATTRIBUTE: () => "data-scrollable-target",
                        SELECTOR_TARGET_THRESHOLD_ATTRIBUTE: () => "data-scrollable-target-threshold",
                        TARGET_RESPONSE_CLASS_NAME: () => g,
                        default: () => v,
                        destructAllScrollResponders: () => h,
                        destructScrollResponder: () => u,
                        destructScrollResponderBySelector: () => f,
                        init: () => l,
                        initNewResponder: () => p
                    });
                    var e = b(2077);
                    const g = b(9201).G;
                    class v {
                        constructor(A) {
                            if (!A) throw Error("A valid element must be provided");
                            if (y(A) ? this.target = A : A.length && y(A[0]) ? this.target =
                                A[0] : this.target = document.querySelector(A), !this.target) throw Error("A valid element must be provided");
                            if (!this.target.hasAttribute("data-scrollable-target")) throw Error("Scrollable element does not have scrollable target attribute");
                            if (this.scrollableSelector = this.target.getAttribute("data-scrollable-target"), this.scrollable = document.querySelector(this.scrollableSelector), !this.scrollable) throw Error("Target Selector is not in the DOM");
                            this.thresholdAttribute = parseFloat(this.target.getAttribute("data-scrollable-target-threshold")) ||
                                .5;
                            this.threshold = Math.floor((0, e.Yo)(this.target).bottom * this.thresholdAttribute);
                            this.bindMethodToInstance();
                            this.attachEventListeners();
                            this.id = this.target.getAttribute("data-scroll-responder-id")
                        }
                        bindMethodToInstance() {
                            this.scrollResponse = this.scrollResponse.bind(this)
                        }
                        scrollResponse() {
                            let A = this.scrollable.scrollTop;
                            ("body" === this.scrollableSelector && (A = window.scrollY || window.pageYOffset || document.body.scrollTop + (document.documentElement && document.documentElement.scrollTop || 0)), this.threshold ||
                                (this.threshold = (0, e.Yo)(this.target).height * this.thresholdAttribute), A >= this.threshold) ? this.target.classList.contains(g) || this.target.classList.add(g): this.target.classList.contains(g) && this.target.classList.remove(g)
                        }
                        attachEventListeners() {
                            let A = this.scrollable;
                            "body" === this.scrollableSelector && (A = window);
                            A.addEventListener("scroll", this.scrollResponse, (0, e.fn)())
                        }
                        destruct() {
                            let A = this.scrollable;
                            "body" === this.scrollableSelector && (A = window);
                            this.target.classList.remove(g);
                            A.removeEventListener("scroll",
                                this.scrollResponse)
                        }
                    }
                    v.displayName = "ScrollResponder";
                    let D = {}
                },
                7115: (c, d, b) => {
                    function l(f) {
                        const p = f.getAttribute("data-widget-id");
                        f = f.getAttribute("data-widget-version");
                        document.querySelectorAll(`[data-widget-id="${p}"][data-widget-version="${f}"]`).forEach(y => {
                            h(y)
                        })
                    }

                    function h(f, p = {}) {
                        const y = `${f.getAttribute("data-widget-id")}~${f.getAttribute("data-widget-version")}`,
                            e = window.customWidgetsFunctions && window.customWidgetsFunctions[y];
                        if (e) try {
                            const g = JSON.parse(decodeURIComponent(escape(atob(f.getAttribute("data-widget-config"))))),
                                v = {
                                    device: u.vL(),
                                    page: u.kR(),
                                    inEditor: u.inEditorMode(),
                                    accountId: window.Parameters.AccountUUID,
                                    siteId: u.qW(),
                                    widgetId: f.getAttribute("data-widget-id"),
                                    widgetVersion: f.getAttribute("data-widget-version"),
                                    elementId: f.getAttribute("id"),
                                    config: g,
                                    refresh: p.refresh
                                };
                            window.Parameters.currentLanguage && "null" !== window.Parameters.currentLanguage && (v.locale = window.Parameters.currentLanguage);
                            const D = function(C, I, H) {
                                return window.customWidgetsStrings[C] && window.customWidgetsStrings[C][I] || H
                            }.bind(null, f.getAttribute("data-widget-id"));
                            if (f.getAttribute("data-binding")) try {
                                p = [], JSON.parse(decodeURIComponent(escape(atob(f.getAttribute("data-binding"))))).reduce((C, I) => I.value && I.value.includes("site_collection.") ? (I = I.value.split("site_collection.")[1], C.push(I), C) : C, p), v.collections = p
                            } catch (C) {
                                v.collections = []
                            }
                            const A = {
                                    localize: D,
                                    collections: window.runtime.API.collectionsAPI,
                                    scripts: window.runtime.API.scriptsApi
                                },
                                x = () => {
                                    if (!f.hasAttribute("data-widget-initialized")) {
                                        try {
                                            e(f, v, A)
                                        } catch (C) {
                                            console.error("Caught the following error in CustomWidget custom script"),
                                                console.error(C)
                                        }
                                        f.setAttribute("data-widget-initialized", "")
                                    }
                                };
                            window.waitForMobileEditor ? window.waitForMobileEditor.then(() => {
                                window.define && (window._define = window.define, window.define = null);
                                x()
                            }) : x()
                        } catch (g) {
                            console.error("Caught the following error in initCustomWidget"), console.error(g)
                        }
                    }
                    b.r(d);
                    b.d(d, {
                        init: () => l,
                        initCustomWidget: () => h
                    });
                    var u = b(3850)
                },
                4709: (c, d, b) => {
                    function l() {
                        const f = document.querySelectorAll(u.join(","));
                        f.length && (0, h.$)(f)
                    }
                    b.r(d);
                    b.d(d, {
                        init: () => l
                    });
                    var h = b(2789);
                    const u =
                        '.fb-page [data-element-type\x3d"facebook_like"] [data-element-type\x3d"facebook_comments"] [data-element-type\x3d"dm_fb_gallery"] [data-element-type\x3d"internal_blog_post"] [data-facebook-widget]'.split(" ")
                },
                7992: (c, d, b) => {
                    function l(J, R) {
                        return h.apply(this, arguments)
                    }

                    function h() {
                        return (h = (0, H.Z)(function*(J, R, {
                            loader: ba
                        } = {}) {
                            var da;
                            const la = ba || (null === (da = yield b.e(298).then(b.t.bind(b, 7298, 23))) || void 0 === da ? void 0 : da.default);
                            return R && (L[J] = null), L[J] || (L[J] = new Promise((M, O) => {
                                la(J, (Q,
                                    W) => {
                                    Q ? (L[J] = null, O(Q)) : M(W)
                                })
                            })), L[J]
                        })).apply(this, arguments)
                    }

                    function u() {
                        return u = (0, H.Z)(function*() {
                            var J, R, ba, da, la, M, O, Q, W, Z;
                            (0, X.jC)({
                                selector: ".dmBeforeAndAfter",
                                fn: (J = (0, H.Z)(function*(V) {
                                    e({
                                        widgetModule: yield b.e(268).then(b.bind(b, 7268)),
                                        element: V,
                                        name: "beforeAndAfter"
                                    })
                                }), function(V) {
                                    return J.apply(this, arguments)
                                })
                            });
                            (0, X.jC)({
                                selector: ".dmSignup",
                                fn: (R = (0, H.Z)(function*(V) {
                                    e({
                                        widgetModule: yield b.e(784).then(b.bind(b, 8784)),
                                        element: V,
                                        name: "signup"
                                    })
                                }), function(V) {
                                    return R.apply(this,
                                        arguments)
                                })
                            });
                            (0, X.jC)({
                                selector: ".dmLoginBar",
                                fn: (ba = (0, H.Z)(function*(V) {
                                    e({
                                        widgetModule: yield b.e(45).then(b.bind(b, 1045)),
                                        element: V,
                                        name: "loginBar"
                                    })
                                }), function(V) {
                                    return ba.apply(this, arguments)
                                })
                            });
                            (0, X.jC)({
                                selector: ".dmCountdown",
                                fn: (da = (0, H.Z)(function*(V) {
                                    e({
                                        widgetModule: yield b.e(954).then(b.bind(b, 2954)),
                                        element: V,
                                        name: "countdown"
                                    })
                                }), function(V) {
                                    return da.apply(this, arguments)
                                })
                            });
                            (0, X.jC)({
                                selector: ".unifiednav",
                                fn: (la = (0, H.Z)(function*(V) {
                                    e({
                                        widgetModule: yield b.e(763).then(b.bind(b,
                                            7763)),
                                        element: V,
                                        name: "navigation"
                                    })
                                }), function(V) {
                                    return la.apply(this, arguments)
                                })
                            });
                            (0, X.jC)({
                                selector: ".dmStore, .dmStoreCart, .dmStoreSearch, .dmStoreCategories",
                                fn: (M = (0, H.Z)(function*(V) {
                                    e({
                                        widgetModule: yield b.e(624).then(b.bind(b, 624)),
                                        element: V,
                                        name: "store"
                                    })
                                }), function(V) {
                                    return M.apply(this, arguments)
                                })
                            });
                            (0, X.jC)({
                                selector: ".dm-google-calendar",
                                fn: (O = (0, H.Z)(function*(V) {
                                    e({
                                        widgetModule: yield b.e(912).then(b.bind(b, 3912)),
                                        element: V,
                                        name: "googleCalendar"
                                    })
                                }), function(V) {
                                    return O.apply(this,
                                        arguments)
                                })
                            });
                            (0, X.jC)({
                                selector: ".dmGeoLocation[provider]",
                                fn: (Q = (0, H.Z)(function*(V) {
                                    var fa = V ? V.getAttribute("provider") : (0, ca.m)("common.mapsProvider");
                                    const ma = (0, ca.m)("server.for.resources") || (0, ca.m)("common.resources.folder");
                                    [fa] = yield Promise.all([b.e(571).then(b.bind(b, 5571)), l(`${ma}/_dm/s/crossPlatform/mapProvider.${fa}.js`)]);
                                    e({
                                        widgetModule: fa,
                                        element: V,
                                        name: "geolocation"
                                    })
                                }), function(V) {
                                    return Q.apply(this, arguments)
                                })
                            });
                            (0, X.jC)({
                                selector: ".inlineMap[provider]",
                                fn: (W = (0, H.Z)(function*(V) {
                                    var fa =
                                        V ? V.getAttribute("provider") : (0, ca.m)("common.mapsProvider");
                                    const ma = (0, ca.m)("server.for.resources") || (0, ca.m)("common.resources.folder");
                                    [fa] = yield Promise.all([b.e(571).then(b.bind(b, 5571)), l(`${ma}/_dm/s/crossPlatform/mapProvider.${fa}.js`)]);
                                    e({
                                        widgetModule: fa,
                                        element: V,
                                        name: "inlinemap"
                                    })
                                }), function(V) {
                                    return W.apply(this, arguments)
                                })
                            });
                            (0, X.jC)({
                                selector: ".dmPhotoGallery",
                                fn: (Z = (0, H.Z)(function*(V) {
                                    const fa = V ? V.dataset.elementType : "photoGallery";
                                    document.body.dispatchEvent(new CustomEvent("loading-widget", {
                                        detail: {
                                            type: fa
                                        }
                                    }));
                                    yield function() {
                                        return f.apply(this, arguments)
                                    }(V);
                                    ({
                                        top: V
                                    } = V ? V.getBoundingClientRect() : {
                                        top: Number.MAX_SAFE_INTEGER
                                    });
                                    document.body.dispatchEvent(new CustomEvent("widget-loaded", {
                                        detail: {
                                            type: fa,
                                            top: V
                                        }
                                    }))
                                }), function(V) {
                                    return Z.apply(this, arguments)
                                })
                            });
                            (function() {
                                const V = [];
                                document.querySelectorAll('[dmle_extension\x3d"custom_extension"]').forEach(fa => {
                                    const ma = fa.getAttribute("data-widget-id"),
                                        ta = fa.getAttribute("data-widget-version"),
                                        ra = `${ma}-${ta}`;
                                    fa = "true" !== fa.getAttribute("data-lazy-load");
                                    var na;
                                    V[ra] || (V[ra] = !0, (0, X.jC)({
                                        selector: `[dmle_extension="custom_extension"][data-widget-id="${ma}"][data-widget-version="${ta}"]`,
                                        fn: (na = (0, H.Z)(function*(qa) {
                                            e({
                                                widgetModule: yield Promise.resolve().then(b.bind(b, 7115)),
                                                element: qa,
                                                name: `customWidget-${ra}`
                                            })
                                        }), function(qa) {
                                            return na.apply(this, arguments)
                                        }),
                                        eager: fa
                                    }))
                                })
                            })()
                        }), u.apply(this, arguments)
                    }

                    function f() {
                        return f = (0, H.Z)(function*(...J) {
                                const R = yield function() {
                                    return p.apply(this, arguments)
                                }();
                                return R.init(...J), U.photoGallery = R, R
                            }),
                            f.apply(this, arguments)
                    }

                    function p() {
                        return (p = (0, H.Z)(function*() {
                            if ((0, ca.m)("feature.flag.runtime.photoswipe.fix")) {
                                var J = (R, ba) => R.then(da => {
                                    window[ba] = null == da ? void 0 : da.default
                                });
                                [J] = yield Promise.all([b.e(697).then(b.bind(b, 7697)), J(b.e(892).then(b.t.bind(b, 4892, 23)), "PhotoSwipe"), J(b.e(614).then(b.t.bind(b, 1614, 23)), "PhotoSwipeUI_Default"), b.e(580).then(b.t.bind(b, 9580, 23)), b.e(982).then(b.t.bind(b, 3982, 23))]);
                                return J
                            }
                            J = (0, ca.m)("common.resources.cdn.host");
                            [J] = yield Promise.all([b.e(697).then(b.bind(b,
                                7697)), l(`${J}/_dm/s/rt/scripts/vendor/photoswipe4/photoswipe.min.js`), l(`${J}/_dm/s/rt/scripts/vendor/photoswipe4/photoswipe-ui-default.min.js`), y(`${J}/_dm/s/rt/scripts/vendor/photoswipe4/default-skin/default-skin.css`), y(`${J}/_dm/s/rt/scripts/vendor/photoswipe4/photoswipe.css`)]);
                            return J
                        })).apply(this, arguments)
                    }

                    function y(J) {
                        return new Promise((R, ba) => {
                            const da = document.createElement("link");
                            da.rel = "stylesheet";
                            da.addEventListener("load", R);
                            da.addEventListener("error", ba);
                            da.href = J;
                            document.head.appendChild(da)
                        })
                    }

                    function e({
                        widgetModule: J,
                        element: R,
                        name: ba
                    }) {
                        J.init(R);
                        U[ba] = J
                    }

                    function g(J) {
                        window.requestAnimationFrame(() => window.requestAnimationFrame(J))
                    }

                    function v() {
                        return (v = (0, H.Z)(function*() {
                            return new Promise(J => {
                                g((0, H.Z)(function*() {
                                    G = yield Promise.all([b.e(198), b.e(325)]).then(b.bind(b, 5426));
                                    const R = Object.entries(G).map(([, ba]) => new Promise(da => g(() => da(ba.init()))));
                                    J(R)
                                }))
                            })
                        })).apply(this, arguments)
                    }

                    function D() {
                        return A.apply(this, arguments)
                    }

                    function A() {
                        return A = (0, H.Z)(function*() {
                            (0, T.kK)() ||
                            S()(".lazy", {
                                threshold: .1,
                                loaded: R => {
                                    R.getAttribute("data-background-image") && R.style.setProperty("background-image", "url('" + R.getAttribute("data-background-image") + "')", "important")
                                }
                            }).observe();
                            const J = yield function() {
                                return v.apply(this, arguments)
                            }();
                            return yield new Promise(R => {
                                g((0, H.Z)(function*() {
                                    yield function() {
                                        return u.apply(this, arguments)
                                    }();
                                    R()
                                }))
                            }), Promise.all(J)
                        }), A.apply(this, arguments)
                    }

                    function x() {}

                    function C(J) {
                        J = J.map(ba => (0, N.UW)(`#${ba}`)).join(",");
                        if (!J) return !1;
                        let R = !1;
                        return document.querySelectorAll(J).forEach(ba => {
                            var da = ba.dataset.elementType;
                            da && ((da = I(da)) ? da.init(ba) : R = !0)
                        }), !R
                    }

                    function I(J) {
                        return G[J] || function(R) {
                            var ba;
                            return R in U ? U[R] : null === (ba = Object.entries(U).find(([da]) => da.toLowerCase() === R.toLowerCase())) || void 0 === ba ? void 0 : ba[1]
                        }(J)
                    }
                    b.r(d);
                    b.d(d, {
                        clean: () => x,
                        getWidget: () => I,
                        init: () => D,
                        initWidgetsByIds: () => C
                    });
                    var H = b(5861),
                        N = b(2077);
                    c = b(7059);
                    var S = b.n(c),
                        X = b(9515),
                        ca = b(602),
                        T = b(8365);
                    const L = {},
                        U = {};
                    let G = {}
                },
                1359: (c, d, b) => {
                    b.r(d);
                    b.d(d, {
                        closeAllApps: () => y,
                        closeApp: () => p,
                        default: () => h,
                        getApp: () => u,
                        openApp: () => f
                    });
                    const l = new class {
                            constructor(e) {
                                this.apps = {};
                                this.loadAppByName = e
                            }
                            openApp(e, g) {
                                return this.loadApp(e).then(v => {
                                    if (this.getApp(e)) {
                                        const D = this.getApp(e);
                                        return g.alwaysInit ? (console.log("calling init"), D.init(g).then(() => v)) : D
                                    }
                                    return this.apps[e] = {
                                        appInstance: v,
                                        instanceSettings: g
                                    }, v.init(g).then(() => v)
                                })
                            }
                            closeApp(e, g) {
                                void 0 === g && (g = {});
                                const v = this.getApp(e);
                                v && (v.clean(g), this.apps[e] = null)
                            }
                            getApp(e) {
                                return this.apps[e] &&
                                    this.apps[e].appInstance
                            }
                            closeAllApps() {
                                Object.keys(this.apps).forEach(this.closeApp)
                            }
                            loadApp(e) {
                                return this.loadAppByName(e)
                            }
                            setAppMapper(e) {
                                this.loadAppByName = e
                            }
                        }(b(8956).default),
                        h = l,
                        u = (...e) => l.getApp(...e),
                        f = (...e) => l.openApp(...e),
                        p = (...e) => l.closeApp(...e),
                        y = (...e) => l.closeAllApps(...e)
                },
                8956: (c, d, b) => {
                    function l(u) {
                        switch (Function.prototype.bind = window.savedBind, u) {
                            case h.BQ.WIDGETS:
                                return Promise.resolve().then(b.bind(b, 7992));
                            case h.BQ.LAYOUT:
                                return Promise.resolve().then(b.bind(b, 6153));
                            case h.BQ.ANCHORS:
                                return b.e(898).then(b.bind(b, 1525));
                            case h.BQ.TRANSITION:
                                return b.e(332).then(b.bind(b, 7449));
                            case h.BQ.ROUTER:
                                return Promise.resolve().then(b.bind(b, 6472));
                            default:
                                return Promise.reject(`The app loader does not have a handler defined for app ${u}`)
                        }
                    }
                    b.r(d);
                    b.d(d, {
                        default: () => l
                    });
                    var h = b(7664);
                    window.savedBind = Function.prototype.bind
                },
                2077: (c, d, b) => {
                    function l(e) {
                        return e.getBoundingClientRect()
                    }

                    function h() {
                        return {
                            passive: !0
                        }
                    }

                    function u(e, g = 0) {
                        try {
                            const v = e.ownerDocument.defaultView,
                                D = e.getBoundingClientRect(),
                                A = -D.height < D.top + g && D.top - g <= v.innerHeight;
                            return -D.width < D.left + g && D.left - g <= v.innerWidth && A
                        } catch (v) {
                            return !1
                        }
                    }

                    function f(e) {
                        return /#(\d)/.test(e) ? e.replace(/#(\d)/g, "#\\3$1 ") : e
                    }

                    function p(e, g = !1) {
                        const v = document.createElement("div");
                        return v.innerHTML = e, g ? v.children : v.firstElementChild
                    }

                    function y(e) {
                        var g;
                        if (!e) return !0;
                        const {
                            width: v,
                            height: D
                        } = e.getBoundingClientRect(), A = (null === (g = e.ownerDocument) || void 0 === g ? void 0 : g.defaultView) || window;
                        return 0 === v && 0 === D || "none" ===
                            A.getComputedStyle(e).getPropertyValue("display")
                    }
                    b.d(d, {
                        AE: () => p,
                        PZ: () => u,
                        UW: () => f,
                        Yo: () => l,
                        fn: () => h,
                        xj: () => y
                    })
                },
                3375: (c, d, b) => {
                    let l;
                    var h, u;
                    if (c = void 0 !== a ? a : document && document.currentScript && document.currentScript.src, window.rtCommonProps ? (l = window.rtCommonProps["server.for.resources"], h = window.rtCommonProps["common.resources.cdn.host"], u = window.rtCommonProps["common.build.dist.folder"]) : window.commonProps && window.commonProps["modules.resources.cdn"] && (l = window.commonProps["server.for.resources"],
                            h = window.commonProps["common.resources.cdn.host"], u = window.commonProps["common.build.dist.folder"]), !/^http/.test(b.p)) {
                        let f = d = "";
                        c ? (d = (new URL(c)).origin, (!l || /^http/.test(c)) && u && "null" !== u && h === d && (f = "/mnlt/" + u)) : l ? d = (new URL(l)).origin : u && "null" !== u && (d = h, f = "/mnlt/" + u);
                        b.p = d + f + b.p
                    }
                },
                9201: (c, d, b) => {
                    b.d(d, {
                        G: () => "scroll-responder_set",
                        H: () => l
                    });
                    const l = {
                        DATA_BINDING_HIDDEN_ATTRIBUTE: "data-binding-hidden",
                        VIEW_MORE_VISIBILITY_ATTRIBUTE: "data-show-view-more",
                        INSTAGRAM_USERNAME_ATTRIBUTE: "data-instagram"
                    }
                },
                7491: (c, d, b) => {
                    function l(g) {
                        return e[g] || e[y]
                    }
                    b.d(d, {
                        D0: () => e,
                        WidthConsts: () => h,
                        sy: () => l
                    });
                    c = b(602);
                    const h = {
                            DESKTOP: "desktop",
                            TABLET: "tablet",
                            MOBILE: "mobile",
                            THUMBNAIL: "thumbnail"
                        },
                        {
                            THUMBNAIL: u,
                            MOBILE: f,
                            TABLET: p,
                            DESKTOP: y
                        } = h,
                        e = {
                            [u]: Number((0, c.m)("images.sizes.small", 160)),
                            [f]: Number((0, c.m)("images.sizes.mobile", 640)),
                            [p]: Number((0, c.m)("images.sizes.tablet", 1280)),
                            [y]: Number((0, c.m)("images.sizes.desktop", 1920))
                        }
                },
                7664: (c, d, b) => {
                    b.d(d, {
                        AS: () => u,
                        BQ: () => l,
                        Ic: () => f,
                        PhotoGalleryLayouts: () => p,
                        R8: () =>
                            h,
                        qA: () => y
                    });
                    c = b(5421);
                    const l = (0, c.Z)({
                            WIDGETS: "widgets",
                            LAYOUT: "layout",
                            ROUTER: "router",
                            ANCHORS: "anchors",
                            TRANSITION: "element-transition"
                        }),
                        h = (0, c.Z)({
                            ESC: 27,
                            ENTER: 13
                        }),
                        u = (0, c.Z)({
                            MOBILE: "mobile",
                            TABLET: "tablet",
                            DESKTOP: "desktop"
                        }),
                        f = ((0, c.Z)({
                            FIRST: 0,
                            REGULLAR: 1,
                            LAST: Number.MAX_SAFE_INTEGER
                        }), (0, c.Z)({
                            FIXED: "fixed",
                            OVER: "over",
                            BOTTOM: "bottom"
                        })),
                        p = (0, c.Z)({
                            SQUARE: "square",
                            VERTICAL: "vertical",
                            PINTEREST: "pinterest",
                            PANORAMIC: "panoramic",
                            ASYMETRIC: "asymetric",
                            ASYMETRIC2: "asymetric2",
                            ASYMETRIC3: "asymetric3",
                            CLASSIC_ROUNDED: "classic-rounded",
                            CLASSIC_DROPS: "classic-drops",
                            PINTEREST_ROUNDED: "pinterest-rounded",
                            VERTICAL_ROUNDED: "vertical-rounded"
                        }),
                        y = (0, c.Z)({
                            EDITOR: "editor",
                            PREVIEW: "preview",
                            LIVE: "live"
                        })
                },
                9515: (c, d, b) => {
                    function l({
                        selector: D,
                        fn: A,
                        eager: x
                    } = {}) {
                        v || (v = new g(...[{
                            eager: (0, e.inEditorMode)()
                        }]));
                        v.registerWidget({
                            selector: D,
                            fn: A,
                            eager: x
                        })
                    }

                    function h() {
                        v && v.clear()
                    }

                    function u({
                        instanceSettings: D = {}
                    } = {}) {
                        return p.default.openApp(y.BQ.WIDGETS, D)
                    }

                    function f(D) {
                        return p.default.getApp(y.BQ.WIDGETS).getWidget(D)
                    }
                    b.d(d, {
                        Ap: () => h,
                        n0: () => u,
                        LI: () => f,
                        jC: () => l
                    });
                    var p = b(1359),
                        y = b(7664),
                        e = b(3850);
                    class g {
                        constructor({
                            eager: D
                        } = {}) {
                            this.isEager = D;
                            this.registered = [];
                            this.observer = new window.IntersectionObserver(this._callRegistered.bind(this))
                        }
                        registerWidget({
                            selector: D,
                            fn: A,
                            eager: x
                        }) {
                            if (!this.registered.find(I => I.selector === D)) {
                                var C = Array.from(document.querySelectorAll(D));
                                if (x || this.isEager) return this._restoreBind(), void A(C[0]);
                                if (C.length) {
                                    if (x = this.registered.find(({
                                            elements: I
                                        }) => I.find(H => H.matches(D)))) throw Error(`An element is already registered with a similar selector '${x.selector}'`);
                                    this.registered.push({
                                        selector: D,
                                        elements: C,
                                        fn: A
                                    });
                                    C.forEach(I => this.observer.observe(I))
                                }
                            }
                        }
                        clear() {
                            this.registered = this.registered.filter(({
                                selector: D
                            }) => {
                                D = document.querySelectorAll(D);
                                return !!D.length && (D.forEach(A => this.observer.unobserve(A)), !1)
                            })
                        }
                        _callRegistered(D) {
                            const A = [...D].filter(x => x.isIntersecting).map(x => x.target);
                            this.registered = this.registered.filter(({
                                elements: x,
                                fn: C
                            }) => {
                                const I = x.find(H => A.includes(H));
                                return !I || (this._restoreBind(), C(I), x.forEach(H => this.observer.unobserve(H)),
                                    !1)
                            })
                        }
                        _restoreBind() {
                            window.savedBind && window.savedBind !== Function.prototype.bind && (Function.prototype.bind = window.savedBind)
                        }
                    }
                    let v;
                    g.displayName = "WidgetsLoader"
                },
                602: (c, d, b) => {
                    function l(h) {
                        return window.rtCommonProps[h]
                    }
                    b.d(d, {
                        m: () => l
                    })
                },
                8365: (c, d, b) => {
                    function l() {
                        return window.$.DM.insideEditor()
                    }

                    function h() {
                        return window.isSitePreview || window.$.DM.isPreview()
                    }

                    function u() {
                        return null === (f = window.editorParent) || void 0 === f || null === (f = f.$) || void 0 === f || null === (f = f.onefw) || void 0 === f ? void 0 : f.inPreviewMode;
                        var f
                    }
                    b.d(d, {
                        $U: () => u,
                        WH: () => l,
                        kK: () => h
                    })
                },
                2789: (c, d, b) => {
                    function l(p) {
                        return u || (u = new f), u.addWidgets(p), u
                    }
                    b.d(d, {
                        $: () => l
                    });
                    var h = b(6892);
                    let u;
                    class f {
                        constructor() {
                            this.observer = new window.IntersectionObserver(this.loadFB.bind(this));
                            this.observedElements = []
                        }
                        addWidgets(p) {
                            this.removeObservers();
                            p = p.length ? p : [p];
                            this.observedElements = [...this.observedElements, ...p];
                            this.observedElements.forEach(y => {
                                this.observer.observe(y)
                            })
                        }
                        loadFB(p) {
                            if ([...p].find(e => e.isIntersecting)) {
                                if (((p = document.querySelector("#facebook-jssdk")) ||
                                        window.FB) && window.fbAsyncInit) return void window.fbAsyncInit();
                                this.removeObservers();
                                window.fbAsyncInit = function() {
                                    try {
                                        const e = {
                                            status: !0,
                                            cookie: !0,
                                            xfbml: !0,
                                            oauth: !0
                                        };
                                        (0, h.i)("facebook.runtime.widgets.upgrade") && (e.version = "v2.7");
                                        window.FB.init(e);
                                        window.FB.XFBML.parse()
                                    } catch (e) {
                                        console.error(`facebook init - ${e}`)
                                    }
                                };
                                var y = (p = document.querySelector("#fb-root-override") || document.querySelector("#fb-root")) && p.dataset.locale;
                                p = document.createElement("script");
                                p.id = "facebook-jssdk";
                                p.async = !0;
                                p.src =
                                    function(e) {
                                        return e && "en_US" !== e ? (0, h.i)("facebook.runtime.widgets.upgrade") ? "https://connect.facebook.net/" + e + "/sdk.js" : "https://connect.facebook.net/" + e + "/all.js" : "https://dd-cdn.multiscreensite.com/jscache/facebook_all_en_US.js"
                                    }(y);
                                document.head.appendChild(p)
                            }
                        }
                        removeObservers() {
                            this.observedElements.forEach(p => {
                                p && this.observer.unobserve(p)
                            });
                            this.observedElements = []
                        }
                    }
                    f.displayName = "FacebookInitializer"
                },
                6892: (c, d, b) => {
                    function l(h, u) {
                        h = window.rtFlags[h];
                        return void 0 === h ? u : h
                    }
                    b.d(d, {
                        i: () => l
                    })
                },
                3816: (c, d, b) => {
                    function l(y, e) {
                        return new Promise((g, v) => {
                            y && y.imagesLoaded ? y.imagesLoaded(e, g) : g()
                        })
                    }

                    function h(y) {
                        const e = document.createElement("div");
                        return e.innerHTML = y.trim(), e.firstChild
                    }

                    function u(y) {
                        return f.apply(this, arguments)
                    }

                    function f() {
                        return (f = (0, p.Z)(function*(y) {
                            const e = {
                                withSrc: [],
                                withoutSrc: []
                            };
                            Array.from(y.querySelectorAll("script")).reduce((g, v) => {
                                const D = document.createElement("script");
                                (D.innerHTML = v.innerHTML, Array.from(v.attributes).forEach(({
                                    name: A,
                                    value: x
                                }) => D.setAttribute(A,
                                    x)), v.remove(), D.getAttribute("src")) ? (v = new Promise(A => {
                                    D.onload = A;
                                    D.onerror = A
                                }), y.appendChild(D), g.withSrc.push(v)) : g.withoutSrc.push(D);
                                return g
                            }, e);
                            yield Promise.all(e.withSrc);
                            e.withoutSrc.forEach(g => {
                                y.appendChild(g)
                            })
                        })).apply(this, arguments)
                    }
                    b.d(d, {
                        LU: () => h,
                        Yq: () => u,
                        po: () => l
                    });
                    var p = b(5861)
                },
                3850: (c, d, b) => {
                    function l() {
                        return window.Parameters || {}
                    }

                    function h() {
                        return $.layoutDevice && $.layoutDevice.type || l().LayoutParams._device
                    }

                    function u() {
                        return l().SiteAlias
                    }

                    function f() {
                        return window._currentPage.pageAlias
                    }

                    function p(v) {
                        return $.layoutManager.getCurrentLayout(v)
                    }

                    function y() {
                        try {
                            return -1 !== window.location.href.indexOf("nee\x3d")
                        } catch (v) {
                            return !1
                        }
                    }

                    function e() {
                        try {
                            return -1 !== window.parent.location.hash.indexOf("preview")
                        } catch (v) {
                            return !1
                        }
                    }

                    function g() {
                        return !e() && !y()
                    }
                    b.d(d, {
                        $q: () => p,
                        ZS: () => l,
                        inEditorMode: () => y,
                        inPreviewMode: () => e,
                        inRuntimeMode: () => g,
                        kR: () => f,
                        qW: () => u,
                        vL: () => h
                    })
                },
                6732: (c, d, b) => {
                    function l(f) {
                        $.editGrid && $.editGrid.bindElementsLink(f)
                    }

                    function h(f) {
                        let p;
                        f && (p = $(f));
                        $.DM.initRuntimeLinks(p)
                    }

                    function u(f) {
                        return window.dmAPI.getNormalizedUrl(f)
                    }
                    b.d(d, {
                        Ih: () => u,
                        d6: () => l,
                        zK: () => h
                    })
                },
                7720: (c, d, b) => {
                    function l({
                        url: f
                    } = {}) {
                        return function() {
                            return h.apply(this, arguments)
                        }({
                            url: f,
                            method: "GET"
                        })
                    }

                    function h() {
                        return (h = (0, u.Z)(function*({
                            url: f,
                            authToken: p,
                            method: y = "GET",
                            headers: e = {}
                        } = {}) {
                            p = Object.assign({
                                method: y
                            }, p && {
                                credentials: "include"
                            }, {
                                headers: Object.assign({
                                    "Content-Type": "application/json"
                                }, p && {
                                    Authorization: p
                                }, e)
                            });
                            f = yield fetch(f, Object.assign({}, p));
                            if (!f.ok) throw Error(f);
                            return f.json()
                        })).apply(this,
                            arguments)
                    }
                    b.d(d, {
                        e: () => l
                    });
                    var u = b(5861)
                },
                8552: (c, d, b) => {
                    d = b(852)(b(5639), "DataView");
                    c.exports = d
                },
                7071: (c, d, b) => {
                    d = b(852)(b(5639), "Map");
                    c.exports = d
                },
                3818: (c, d, b) => {
                    d = b(852)(b(5639), "Promise");
                    c.exports = d
                },
                8525: (c, d, b) => {
                    d = b(852)(b(5639), "Set");
                    c.exports = d
                },
                2705: (c, d, b) => {
                    d = b(5639).Symbol;
                    c.exports = d
                },
                577: (c, d, b) => {
                    d = b(852)(b(5639), "WeakMap");
                    c.exports = d
                },
                4239: (c, d, b) => {
                    d = b(2705);
                    var l = b(9607),
                        h = b(2333),
                        u = d ? d.toStringTag : void 0;
                    c.exports = function(f) {
                        return null == f ? void 0 === f ? "[object Undefined]" :
                            "[object Null]" : u && u in Object(f) ? l(f) : h(f)
                    }
                },
                9454: (c, d, b) => {
                    var l = b(4239),
                        h = b(7005);
                    c.exports = function(u) {
                        return h(u) && "[object Arguments]" == l(u)
                    }
                },
                8458: (c, d, b) => {
                    var l = b(3560),
                        h = b(5346),
                        u = b(3218),
                        f = b(346),
                        p = /^\[object .+?Constructor\]$/,
                        y = RegExp("^" + Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, "\\$\x26").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
                    c.exports = function(e) {
                        return !(!u(e) || h(e)) && (l(e) ? y : p).test(f(e))
                    }
                },
                8749: (c, d, b) => {
                    var l = b(4239),
                        h = b(1780),
                        u = b(7005),
                        f = {};
                    f["[object Float32Array]"] = f["[object Float64Array]"] = f["[object Int8Array]"] = f["[object Int16Array]"] = f["[object Int32Array]"] = f["[object Uint8Array]"] = f["[object Uint8ClampedArray]"] = f["[object Uint16Array]"] = f["[object Uint32Array]"] = !0;
                    f["[object Arguments]"] = f["[object Array]"] = f["[object ArrayBuffer]"] = f["[object Boolean]"] = f["[object DataView]"] = f["[object Date]"] = f["[object Error]"] = f["[object Function]"] = f["[object Map]"] = f["[object Number]"] =
                        f["[object Object]"] = f["[object RegExp]"] = f["[object Set]"] = f["[object String]"] = f["[object WeakMap]"] = !1;
                    c.exports = function(p) {
                        return u(p) && h(p.length) && !!f[l(p)]
                    }
                },
                280: (c, d, b) => {
                    var l = b(5726),
                        h = b(6916),
                        u = Object.prototype.hasOwnProperty;
                    c.exports = function(f) {
                        if (!l(f)) return h(f);
                        var p = [],
                            y;
                        for (y in Object(f)) u.call(f, y) && "constructor" != y && p.push(y);
                        return p
                    }
                },
                7518: c => {
                    c.exports = function(d) {
                        return function(b) {
                            return d(b)
                        }
                    }
                },
                4429: (c, d, b) => {
                    d = b(5639)["__core-js_shared__"];
                    c.exports = d
                },
                1957: (c, d, b) => {
                    c.exports = "object" == typeof b.g && b.g && b.g.Object === Object && b.g
                },
                852: (c, d, b) => {
                    var l = b(8458),
                        h = b(7801);
                    c.exports = function(u, f) {
                        u = h(u, f);
                        return l(u) ? u : void 0
                    }
                },
                9607: (c, d, b) => {
                    d = b(2705);
                    b = Object.prototype;
                    var l = b.hasOwnProperty,
                        h = b.toString,
                        u = d ? d.toStringTag : void 0;
                    c.exports = function(f) {
                        var p = l.call(f, u),
                            y = f[u];
                        try {
                            f[u] = void 0;
                            var e = !0
                        } catch (v) {}
                        var g = h.call(f);
                        return e && (p ? f[u] = y : delete f[u]), g
                    }
                },
                4160: (c, d, b) => {
                    d = b(8552);
                    var l = b(7071),
                        h = b(3818),
                        u = b(8525),
                        f = b(577),
                        p = b(4239),
                        y = b(346),
                        e = y(d),
                        g = y(l),
                        v =
                        y(h),
                        D = y(u),
                        A = y(f);
                    b = p;
                    (d && "[object DataView]" != b(new d(new ArrayBuffer(1))) || l && "[object Map]" != b(new l) || h && "[object Promise]" != b(h.resolve()) || u && "[object Set]" != b(new u) || f && "[object WeakMap]" != b(new f)) && (b = function(x) {
                        var C = p(x);
                        if (x = (x = "[object Object]" == C ? x.constructor : void 0) ? y(x) : "") switch (x) {
                            case e:
                                return "[object DataView]";
                            case g:
                                return "[object Map]";
                            case v:
                                return "[object Promise]";
                            case D:
                                return "[object Set]";
                            case A:
                                return "[object WeakMap]"
                        }
                        return C
                    });
                    c.exports = b
                },
                7801: c => {
                    c.exports = function(d,
                        b) {
                        return null == d ? void 0 : d[b]
                    }
                },
                5346: (c, d, b) => {
                    var l;
                    d = b(4429);
                    var h = (l = /[^.]+$/.exec(d && d.keys && d.keys.IE_PROTO || "")) ? "Symbol(src)_1." + l : "";
                    c.exports = function(u) {
                        return !!h && h in u
                    }
                },
                5726: c => {
                    var d = Object.prototype;
                    c.exports = function(b) {
                        var l = b && b.constructor;
                        return b === ("function" == typeof l && l.prototype || d)
                    }
                },
                6916: (c, d, b) => {
                    d = b(5569)(Object.keys, Object);
                    c.exports = d
                },
                1167: (c, d, b) => {
                    c = b.nmd(c);
                    b = b(1957);
                    var l = d && !d.nodeType && d;
                    b = (d = l && c && !c.nodeType && c) && d.exports === l && b.process;
                    a: {
                        try {
                            var h = d && d.require &&
                                d.require("util").types || b && b.binding && b.binding("util");
                            break a
                        } catch (u) {}
                        h = void 0
                    }
                    c.exports = h
                },
                2333: c => {
                    var d = Object.prototype.toString;
                    c.exports = function(b) {
                        return d.call(b)
                    }
                },
                5569: c => {
                    c.exports = function(d, b) {
                        return function(l) {
                            return d(b(l))
                        }
                    }
                },
                5639: (c, d, b) => {
                    d = b(1957);
                    b = "object" == typeof self && self && self.Object === Object && self;
                    d = d || b || Function("return this")();
                    c.exports = d
                },
                346: c => {
                    var d = Function.prototype.toString;
                    c.exports = function(b) {
                        if (null != b) {
                            try {
                                return d.call(b)
                            } catch (l) {}
                            return b + ""
                        }
                        return ""
                    }
                },
                5694: (c, d, b) => {
                    d = b(9454);
                    var l = b(7005);
                    b = Object.prototype;
                    var h = b.hasOwnProperty,
                        u = b.propertyIsEnumerable;
                    b = d(function() {
                        return arguments
                    }()) ? d : function(f) {
                        return l(f) && h.call(f, "callee") && !u.call(f, "callee")
                    };
                    c.exports = b
                },
                1469: c => {
                    c.exports = Array.isArray
                },
                8612: (c, d, b) => {
                    var l = b(3560),
                        h = b(1780);
                    c.exports = function(u) {
                        return null != u && h(u.length) && !l(u)
                    }
                },
                4144: (c, d, b) => {
                    c = b.nmd(c);
                    var l = b(5639);
                    b = b(5062);
                    var h = (d = d && !d.nodeType && d) && c && !c.nodeType && c;
                    l = h && h.exports === d ? l.Buffer : void 0;
                    c.exports = (l ? l.isBuffer :
                        void 0) || b
                },
                1609: (c, d, b) => {
                    var l = b(280),
                        h = b(4160),
                        u = b(5694),
                        f = b(1469),
                        p = b(8612),
                        y = b(4144),
                        e = b(5726),
                        g = b(6719),
                        v = Object.prototype.hasOwnProperty;
                    c.exports = function(D) {
                        if (null == D) return !0;
                        if (p(D) && (f(D) || "string" == typeof D || "function" == typeof D.splice || y(D) || g(D) || u(D))) return !D.length;
                        var A = h(D);
                        if ("[object Map]" == A || "[object Set]" == A) return !D.size;
                        if (e(D)) return !l(D).length;
                        for (var x in D)
                            if (v.call(D, x)) return !1;
                        return !0
                    }
                },
                3560: (c, d, b) => {
                    var l = b(4239),
                        h = b(3218);
                    c.exports = function(u) {
                        if (!h(u)) return !1;
                        u = l(u);
                        return "[object Function]" == u || "[object GeneratorFunction]" == u || "[object AsyncFunction]" == u || "[object Proxy]" == u
                    }
                },
                1780: c => {
                    c.exports = function(d) {
                        return "number" == typeof d && -1 < d && 0 == d % 1 && 9007199254740991 >= d
                    }
                },
                3218: c => {
                    c.exports = function(d) {
                        var b = typeof d;
                        return null != d && ("object" == b || "function" == b)
                    }
                },
                7005: c => {
                    c.exports = function(d) {
                        return null != d && "object" == typeof d
                    }
                },
                6719: (c, d, b) => {
                    d = b(8749);
                    var l = b(7518);
                    d = (b = (b = b(1167)) && b.isTypedArray) ? l(b) : d;
                    c.exports = d
                },
                5062: c => {
                    c.exports = function() {
                        return !1
                    }
                },
                7059: function(c) {
                    c.exports = function() {
                        function d(f) {
                            f.setAttribute("data-loaded", !0)
                        }
                        var b = "undefined" != typeof document && document.documentMode,
                            l = {
                                rootMargin: "0px",
                                threshold: 0,
                                load: function(f) {
                                    if ("picture" === f.nodeName.toLowerCase()) {
                                        var p = f.querySelector("img"),
                                            y = !1;
                                        null === p && (p = document.createElement("img"), y = !0);
                                        b && f.getAttribute("data-iesrc") && (p.src = f.getAttribute("data-iesrc"));
                                        f.getAttribute("data-alt") && (p.alt = f.getAttribute("data-alt"));
                                        y && f.append(p)
                                    }
                                    if ("video" === f.nodeName.toLowerCase() &&
                                        !f.getAttribute("data-src") && f.children) {
                                        p = f.children;
                                        y = void 0;
                                        for (var e = 0; e <= p.length - 1; e++)(y = p[e].getAttribute("data-src")) && (p[e].src = y);
                                        f.load()
                                    }
                                    f.getAttribute("data-poster") && (f.poster = f.getAttribute("data-poster"));
                                    f.getAttribute("data-src") && (f.src = f.getAttribute("data-src"));
                                    f.getAttribute("data-srcset") && f.setAttribute("srcset", f.getAttribute("data-srcset"));
                                    p = ",";
                                    (f.getAttribute("data-background-delimiter") && (p = f.getAttribute("data-background-delimiter")), f.getAttribute("data-background-image")) ?
                                    f.style.backgroundImage = "url('" + f.getAttribute("data-background-image").split(p).join("'),url('") + "')": f.getAttribute("data-background-image-set") && (p = f.getAttribute("data-background-image-set").split(p), y = p[0].substr(0, p[0].indexOf(" ")) || p[0], y = -1 === y.indexOf("url(") ? "url(" + y + ")" : y, 1 === p.length ? f.style.backgroundImage = y : f.setAttribute("style", (f.getAttribute("style") || "") + "background-image: " + y + "; background-image: -webkit-image-set(" + p + "); background-image: image-set(" + p + ")"));
                                    f.getAttribute("data-toggle-class") &&
                                        f.classList.toggle(f.getAttribute("data-toggle-class"))
                                },
                                loaded: function() {}
                            },
                            h = function(f) {
                                return "true" === f.getAttribute("data-loaded")
                            },
                            u = function(f) {
                                var p = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : document;
                                return f instanceof Element ? [f] : f instanceof NodeList ? f : p.querySelectorAll(f)
                            };
                        return function() {
                            var f = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : ".lozad",
                                p = Object.assign({}, l, 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}),
                                y = p.root,
                                e = p.rootMargin,
                                g = p.threshold,
                                v = p.load,
                                D = p.loaded,
                                A = void 0;
                            "undefined" != typeof window && window.IntersectionObserver && (A = new IntersectionObserver(function(C, I) {
                                C.forEach(function(H) {
                                    (0 < H.intersectionRatio || H.isIntersecting) && (I.unobserve(H.target), h(H.target) || (v(H.target), d(H.target), D(H.target)))
                                })
                            }, {
                                root: y,
                                rootMargin: e,
                                threshold: g
                            }));
                            var x;
                            p = u(f, y);
                            for (e = 0; e < p.length; e++)(x = p[e]).getAttribute("data-placeholder-background") && (x.style.background = x.getAttribute("data-placeholder-background"));
                            return {
                                observe: function() {
                                    for (var C =
                                            u(f, y), I = 0; I < C.length; I++) h(C[I]) || (A ? A.observe(C[I]) : (v(C[I]), d(C[I]), D(C[I])))
                                },
                                triggerLoad: function(C) {
                                    h(C) || (v(C), d(C), D(C))
                                },
                                observer: A
                            }
                        }
                    }()
                },
                5861: (c, d, b) => {
                    function l(u, f, p, y, e, g, v) {
                        try {
                            var D = u[g](v),
                                A = D.value
                        } catch (x) {
                            return void p(x)
                        }
                        D.done ? f(A) : Promise.resolve(A).then(y, e)
                    }

                    function h(u) {
                        return function() {
                            var f = this,
                                p = arguments;
                            return new Promise(function(y, e) {
                                function g(A) {
                                    l(D, y, e, g, v, "next", A)
                                }

                                function v(A) {
                                    l(D, y, e, g, v, "throw", A)
                                }
                                var D = u.apply(f, p);
                                g(void 0)
                            })
                        }
                    }
                    b.d(d, {
                        Z: () => h
                    })
                }
            },
            r = {};
        t.m =
            q;
        t.n = c => {
            var d = c && c.__esModule ? () => c.default : () => c;
            return t.d(d, {
                a: d
            }), d
        };
        var m = Object.getPrototypeOf ? c => Object.getPrototypeOf(c) : c => c.__proto__;
        t.t = function(c, d) {
            if ((1 & d && (c = this(c)), 8 & d) || "object" == typeof c && c && (4 & d && c.__esModule || 16 & d && "function" == typeof c.then)) return c;
            var b = Object.create(null);
            t.r(b);
            var l = {};
            w = w || [null, m({}), m([]), m(m)];
            for (d = 2 & d && c;
                "object" == typeof d && !~w.indexOf(d); d = m(d)) Object.getOwnPropertyNames(d).forEach(h => l[h] = () => c[h]);
            return l.default = () => c, t.d(b, l), b
        };
        t.d = (c, d) => {
            for (var b in d) t.o(d, b) && !t.o(c, b) && Object.defineProperty(c, b, {
                enumerable: !0,
                get: d[b]
            })
        };
        t.f = {};
        t.e = c => Promise.all(Object.keys(t.f).reduce((d, b) => (t.f[b](c, d), d), []));
        t.u = c => ({
            325: "rt-widgets",
            332: "runtime-module-element-transitions",
            898: "runtime-module-anchors"
        } [c] || c) + "." + {
            45: "058fab6662d81380912f",
            198: "cb1154cd066b8fd6bc7e",
            268: "203838ba34ec9f3e1fd4",
            298: "47fe3b063024188ca9e9",
            325: "90f67b812bc46e46bf40",
            332: "70fa25fa8db04b91d538",
            422: "82537afc71672fa00a21",
            519: "3855124329bd44d0f644",
            571: "32e6247995f3d69bd294",
            580: "6b7101c702fd5f7ef956",
            614: "70eb003d9fd3b5986563",
            624: "17c7e16296f5d0cae72d",
            644: "c31b82314b7dabdf232e",
            690: "68446a796dab958a4b23",
            697: "d09124f7d7115835c8ae",
            733: "16b59d2d7866f18acc87",
            763: "f71fb5cec75bf5e64ee5",
            784: "323818670b017f570112",
            892: "f363d4c5398765c0043b",
            898: "7bc902270a3f71dd490a",
            912: "3fb6bbb709fb7231af68",
            954: "03692dffc6ffec100b2c",
            982: "f6666d1a738b99e6159e"
        } [c] + ".js";
        t.g = function() {
            if ("object" == typeof globalThis) return globalThis;
            try {
                return this || (new Function("return this"))()
            } catch (c) {
                if ("object" ==
                    typeof window) return window
            }
        }();
        t.o = (c, d) => Object.prototype.hasOwnProperty.call(c, d);
        var k = {};
        t.l = (c, d, b, l) => {
            if (k[c]) k[c].push(d);
            else {
                var h;
                if (void 0 !== b) {
                    l = document.getElementsByTagName("script");
                    for (var u = 0; u < l.length; u++) {
                        var f = l[u];
                        if (f.getAttribute("src") == c || f.getAttribute("data-webpack") == "runtime:" + b) {
                            var p = f;
                            break
                        }
                    }
                }
                p || (h = !0, (p = document.createElement("script")).charset = "utf-8", p.timeout = 120, t.nc && p.setAttribute("nonce", t.nc), p.setAttribute("data-webpack", "runtime:" + b), p.src = c);
                k[c] = [d];
                d = (e, g) => {
                    p.onerror = p.onload = null;
                    clearTimeout(y);
                    var v = k[c];
                    if (delete k[c], p.parentNode && p.parentNode.removeChild(p), v && v.forEach(D => D(g)), e) return e(g)
                };
                var y = setTimeout(d.bind(null, void 0, {
                    type: "timeout",
                    target: p
                }), 12E4);
                p.onerror = d.bind(null, p.onerror);
                p.onload = d.bind(null, p.onload);
                h && document.head.appendChild(p)
            }
        };
        t.r = c => {
            "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(c, Symbol.toStringTag, {
                value: "Module"
            });
            Object.defineProperty(c, "__esModule", {
                value: !0
            })
        };
        t.nmd = c => (c.paths = [], c.children || (c.children = []), c);
        t.p = "/editor/apps/modules/runtime/";
        (() => {
            var c = {
                666: 0
            };
            t.f.j = (l, h) => {
                var u = t.o(c, l) ? c[l] : void 0;
                if (0 !== u)
                    if (u) h.push(u[2]);
                    else {
                        var f = new Promise((y, e) => u = c[l] = [y, e]);
                        h.push(u[2] = f);
                        h = t.p + t.u(l);
                        var p = Error();
                        t.l(h, y => {
                            if (t.o(c, l) && (0 !== (u = c[l]) && (c[l] = void 0), u)) {
                                var e = y && ("load" === y.type ? "missing" : y.type);
                                y = y && y.target && y.target.src;
                                p.message = "Loading chunk " + l + " failed.\n(" + e + ": " + y + ")";
                                p.name = "ChunkLoadError";
                                p.type = e;
                                p.request = y;
                                u[1](p)
                            }
                        }, "chunk-" + l, l)
                    }
            };
            var d =
                (l, h) => {
                    var u, [f, p, y] = h,
                        e = 0;
                    if (f.some(g => 0 !== c[g])) {
                        for (u in p) t.o(p, u) && (t.m[u] = p[u]);
                        y && y(t)
                    }
                    for (l && l(h); e < f.length; e++) l = f[e], t.o(c, l) && c[l] && c[l][0](), c[l] = 0
                },
                b = self.webpackJsonpruntime = self.webpackJsonpruntime || [];
            b.forEach(d.bind(null, 0));
            b.push = d.bind(null, b.push.bind(b))
        })();
        var n = {};
        return (() => {
            function c() {
                return d.apply(this, arguments)
            }

            function d() {
                return (d = (0, ea.Z)(function*() {
                    if (!window.Parameters.isRuntimeServer) return Promise.reject("No authentication in Editor server");
                    const E = window.dmAPI ?
                        window.dmAPI.getSiteName() : "";
                    try {
                        const F = yield(0, Ga.e)({
                            url: "/rts/auth/public/users/me"
                        }), K = Object.assign({
                            userInfo: {
                                id: F.id,
                                email: F.email,
                                firstname: F.firstName,
                                lastname: F.lastName
                            }
                        }, F.claims && {
                            claims: F.claims
                        }, F.idProviderToken && {
                            idProviderToken: F.idProviderToken
                        });
                        return Promise.resolve(K)
                    } catch (F) {
                        return 401 !== F.code && Ea.Gl.warn(`Failed getting logged in user of site with alias ${E}, error: ${F}`), Promise.reject("User is not authenticated")
                    }
                })).apply(this, arguments)
            }

            function b(E) {
                return l.apply(this,
                    arguments)
            }

            function l() {
                return (l = (0, ea.Z)(function*({
                    collectionName: E
                }) {
                    let F = window.collections[E];
                    if (F) return Promise.resolve(F);
                    if (window.collectionsLock[E]) return yield(1E3, new Promise(K => setTimeout(K, 1E3))), b({
                        collectionName: E
                    });
                    window.collectionsLock[E] = !0;
                    try {
                        let K = `/_dm/s/rt/actions/sites/${window.dmAPI?window.dmAPI.getSiteName():""}/collections/${E}`;
                        window.currentLanguage && (K = `${K}/${window.currentLanguage}`);
                        const P = yield(0, Ga.e)({
                            url: K
                        });
                        return null != P && P.value ? (F = JSON.parse(P.value),
                            window.collections[E] = F, Promise.resolve(F)) : (window.collections[E] = [], Promise.resolve([]))
                    } catch (K) {
                        throw window.collections[E] = [], Error("Site or collection not found");
                    } finally {
                        window.collectionsLock[E] = !1
                    }
                })).apply(this, arguments)
            }

            function h(E) {
                E && (E = JSON.parse(decodeURIComponent(escape(atob(E)))), Object.keys(E).length && (window.collections = E))
            }

            function u(E, F) {
                F && (window.customWidgetsStrings = window.customWidgetsStrings || [], window.customWidgetsStrings[E] || (window.customWidgetsStrings[E] = {}), $.extend(window.customWidgetsStrings[E],
                    F))
            }

            function f(E, F, K, P) {
                window.customWidgetsFunctions = window.customWidgetsFunctions || [];
                E = E + "~" + F;
                if (!window.customWidgetsFunctions[E] && K) try {
                    const Y = new Function("element", "data", "api", K);
                    window.customWidgetsFunctions[E] = Y
                } catch (Y) {}
                P && $("#customWidgetStyle").append(P)
            }

            function p() {
                return window.Parameters.DynamicPageInfo.isDynamicPage
            }

            function y() {
                return e.apply(this, arguments)
            }

            function e() {
                return (e = (0, ea.Z)(function*() {
                    if (!p()) throw Error("This operation can only be invoked on dynamic page");
                    if (!La) {
                        const E =
                            decodeURIComponent(atob(window.Parameters.DynamicPageInfo.base64JsonRowData).split("").map(F => "%" + ("00" + F.charCodeAt(0).toString(16)).slice(-2)).join(""));
                        La = JSON.parse(E)
                    }
                    return Promise.resolve(La)
                })).apply(this, arguments)
            }

            function g(E) {
                (E = (0, cc.AE)(E)) && (document.getElementById(E.id) || document.head.appendChild(E))
            }

            function v(E) {
                return !E || "number" != typeof E && "boolean" != typeof E && 0 === Object.keys(E).length
            }

            function D() {
                return A.apply(this, arguments)
            }

            function A() {
                return (A = (0, ea.Z)(function*() {
                    if (!window.Parameters.isRuntimeServer) return Promise.reject("Member is not authenticated (in Editor server)");
                    const E = window.dmAPI ? window.dmAPI.getSiteName() : "";
                    try {
                        var F;
                        const K = yield(yield fetch("/rts/membership/member", {
                            method: "GET",
                            headers: {
                                "Content-Type": "application/json"
                            },
                            credentials: "same-origin"
                        })).json(), P = Object.assign({
                            memberInfo: {
                                uuid: K.id,
                                email: null === (F = K.email) || void 0 === F ? void 0 : F.value,
                                firstname: K.firstName,
                                lastname: K.lastName
                            }
                        }, !v(K.claims) && {
                            claims: K.claims
                        }, !v(K.subscriptions) && {
                            subscriptions: K.subscriptions
                        }, !v(K.idProviderToken) && {
                            idProviderToken: K.idProviderToken
                        });
                        return Promise.resolve(P)
                    } catch (K) {
                        return Ea.Gl.warn(`Failed getting logged in member of site with alias ${E}, error: ${K}`),
                            Promise.reject("Member is not authenticated")
                    }
                })).apply(this, arguments)
            }

            function x(...E) {
                return window.dmAPI.loadScript(...E)
            }

            function C(...E) {
                return window.dmAPI.loadScriptAMD(...E)
            }

            function I(E, F) {
                return H.apply(this, arguments)
            }

            function H() {
                return (H = (0, ea.Z)(function*(E, F, K = {}, P = {}) {
                    let Y, {
                        additionalData: aa = {}
                    } = P;
                    var ka = dc;
                    if (null == P) P = {};
                    else {
                        var ia, ja = {},
                            oa = Object.keys(P);
                        for (ia = 0; ia < oa.length; ia++) {
                            var ha = oa[ia];
                            0 <= ka.indexOf(ha) || (ja[ha] = P[ha])
                        }
                        P = ja
                    }
                    return !1 === P.amd && P.name ? (yield x(E), Y = window.dmAPI.getExternalWidget(P.name)) :
                        Y = yield C(E), F.setAttribute("data-keepsubtree", !!P.keepSubtree), Y.init(Object.assign({
                            container: F,
                            props: K
                        }, aa))
                })).apply(this, arguments)
            }

            function N(E = {}) {
                E && E.elements && E.elements.forEach(F => {
                    ya.push(F.selector);
                    Za[F.selector] = {
                        appUuid: E.appUuid,
                        contextMenuItem: F.contextMenuItem
                    }
                })
            }

            function S({
                event: E,
                handler: F
            }) {
                (0, sa.inEditorMode)() && !(0, sa.inPreviewMode)() && ya.forEach(K => {
                    E.target.closest(K) && F && F(E, E.target, Za[K])
                })
            }

            function X(E) {
                Ha && Ha.then(F => {
                    F.autorun(() => {
                        E(ya)
                    })
                })
            }

            function ca() {
                return ya
            }

            function T() {
                return Promise.all([t.e(519), t.e(422)]).then(t.bind(t, 5149))
            }

            function L(E) {
                return U.apply(this, arguments)
            }

            function U() {
                return (U = (0, ea.Z)(function*(E) {
                    return Ba.get(E).catch(() => [])
                })).apply(this, arguments)
            }

            function G(E) {
                return Object.entries(E).map(([F, K]) => `${F}=${K}`).join("\x26")
            }

            function J(E) {
                const {
                    Location: F
                } = E;
                return {
                    x: F.DisplayPosition.Longitude,
                    y: F.DisplayPosition.Latitude,
                    label: F.Address.Label,
                    locId: F.LocationId,
                    raw: Object.assign({}, E, {
                        category: "geocode-address"
                    })
                }
            }

            function R(E) {
                const {
                    position: F,
                    title: K,
                    vicinity: P
                } = E;
                return {
                    x: F[1],
                    y: F[0],
                    label: da({
                        title: K,
                        vicinity: P
                    }),
                    raw: E
                }
            }

            function ba(E) {
                return {
                    category: "geocode-address",
                    label: la(E),
                    raw: Object.assign({}, E, {
                        category: "geocode-address"
                    })
                }
            }

            function da({
                vicinity: E,
                title: F
            }) {
                return E ? (F + ", " + E).replace(/\s+/g, " ").replace(/(\s|^|,)\w/g, K => K.toUpperCase()).replace(/<\/?[^>]+(>|$)/g, "") : F
            }

            function la({
                label: E
            }) {
                return E.split(", ").map(F => F.trim()).reverse().join(", ")
            }

            function M(E, F) {
                var K = RegExp("https?:\\/\\/[^/]*/(.+dms3rep\\/multi\\/)([^/]+$)",
                    "g");
                if (K.test(E)) {
                    const P = (0, za.m)("import.images.storage.imageCDN");
                    E = E.replace(K, `${P}$1opt/$2`);
                    F = F || (0, ec.sy)(sa.vL());
                    K = E.lastIndexOf(".");
                    return `${E.substring(0,K)}-${F}w.${E.substring(K+1,E.length)}`
                }
                return E
            }

            function O() {
                return (0, $a.WH)() ? Ca.qA.EDITOR : (0, $a.kK)() ? Ca.qA.PREVIEW : Ca.qA.LIVE
            }

            function Q() {
                return (Q = (0, ea.Z)(function*(E, F) {
                    if (!window[E]) {
                        F = yield fetch(F);
                        if (!F.ok) return null;
                        F = yield F.json();
                        yield x(F.src)
                    }
                    return window[E].default
                })).apply(this, arguments)
            }

            function W() {
                return function(E,
                    F) {
                    return Q.apply(this, arguments)
                }(ab.collections.name, `${window.Parameters.isRuntimeServer?"/rts":"/ms"}${ab.collections.resource}`)
            }

            function Z() {
                return Ea.Gl.info(`getNavItems called for site - ${window.Parameters.SiteAlias}. AccountUUID - ${window.Parameters.AccountUUID}`), console.log("`getNavItems` is now deprecated. Please switch to `getNavItemsAsync` instead"),
                    function(F) {
                        let K;
                        if ("object" == typeof F) return F;
                        try {
                            K = JSON.parse(F)
                        } catch (P) {
                            let Y;
                            Y = F.replaceAll(/'/g, '"');
                            try {
                                K = JSON.parse(Y.replace(/({|,)(?:\s*)(?:')?([A-Za-z_$\.][A-Za-z0-9_ \-\.$]*)(?:')?(?:\s*):/g,
                                    '$1"$2":'))
                            } catch (aa) {
                                console.error("error parsing string to json with data - " + F, aa)
                            }
                        }
                        return K
                    }(function(F, K) {
                        void 0 === K && (K = {});
                        try {
                            return decodeURIComponent(escape(atob(F)))
                        } catch (P) {
                            return K
                        }
                    }(window.Parameters.NavItems, E));
                var E
            }

            function V() {
                return fa.apply(this, arguments)
            }

            function fa() {
                return (fa = (0, ea.Z)(function*() {
                    var E;
                    let F = `/_dm/s/rt/api/public/rt/site/${window.Parameters.SiteAlias}/getNavItems`;
                    return null !== (E = window.Parameters) && void 0 !== E && E.currentLocale && (F += `?lang=${window.Parameters.currentLocale}`),
                        (0, Ga.e)({
                            url: F
                        })
                })).apply(this, arguments)
            }

            function ma() {
                return ta.apply(this, arguments)
            }

            function ta() {
                return (ta = (0, ea.Z)(function*() {
                    try {
                        return yield(0, Ga.e)({
                            url: `/_dm/s/rt/actions/sites/${window.Parameters.SiteAlias}/contentLibrary`
                        })
                    } catch (E) {
                        return Ea.Gl.error("Error loading content library", E), console.log("Error fetching content library"), null
                    }
                })).apply(this, arguments)
            }

            function ra() {
                return na.apply(this, arguments)
            }

            function na() {
                return (na = (0, ea.Z)(function*() {
                    if (!Da) {
                        const {
                            CollectionsFiltersStore: E
                        } =
                        yield Promise.all([t.e(519), t.e(422)]).then(t.bind(t, 6422));
                        Da = new E
                    }
                })).apply(this, arguments)
            }

            function qa(E) {
                return xa.apply(this, arguments)
            }

            function xa() {
                return (xa = (0, ea.Z)(function*(E) {
                    return yield ra(), Da.getCollectionFilters(E)
                })).apply(this, arguments)
            }

            function fc(E, F) {
                return bb.apply(this, arguments)
            }

            function bb() {
                return (bb = (0, ea.Z)(function*(E, F) {
                    (yield qa(E)).setSortBy(F)
                })).apply(this, arguments)
            }

            function gc(E, F) {
                return cb.apply(this, arguments)
            }

            function cb() {
                return (cb = (0, ea.Z)(function*(E,
                    F) {
                    (yield qa(E)).setSortDirection(F)
                })).apply(this, arguments)
            }

            function hc(E, F, K) {
                return db.apply(this, arguments)
            }

            function db() {
                return (db = (0, ea.Z)(function*(E, F, K) {
                    E = yield qa(E);
                    E.setSortBy(F);
                    E.setSortDirection(K)
                })).apply(this, arguments)
            }

            function ic(E, F, K) {
                return eb.apply(this, arguments)
            }

            function eb() {
                return (eb = (0, ea.Z)(function*(E, F, K) {
                    (yield qa(E)).setFilter(F, K)
                })).apply(this, arguments)
            }

            function jc(E) {
                return fb.apply(this, arguments)
            }

            function fb() {
                return (fb = (0, ea.Z)(function*(E) {
                    (yield qa(E)).clearSelection()
                })).apply(this,
                    arguments)
            }

            function gb(E) {
                return hb.apply(this, arguments)
            }

            function hb() {
                return (hb = (0, ea.Z)(function*(E) {
                    yield ra();
                    Da.onCollectionFilterChange(E)
                })).apply(this, arguments)
            }

            function kc(E) {
                return ib.apply(this, arguments)
            }

            function ib() {
                return (ib = (0, ea.Z)(function*(E) {
                    yield ra();
                    Da.offCollectionFilterChange(E)
                })).apply(this, arguments)
            }

            function lc(E, F) {
                return jb.apply(this, arguments)
            }

            function jb() {
                return (jb = (0, ea.Z)(function*(E, F) {
                    if (!E || "function" != typeof F) return null;
                    yield ra();
                    const K = Da.getCollectionFilters(E);
                    return F(K.toJSON), (yield T()).reaction(() => K.toJSON, F)
                })).apply(this, arguments)
            }

            function mc() {
                kb("dPageView", {
                    "Page Path": document.location.pathname,
                    "Page URL": document.location.href,
                    "Page Hostname": document.location.host,
                    Referrer: document.referrer
                })
            }

            function kb(E, F) {
                window.dataLayer = window.dataLayer || [];
                Array.isArray(window.dataLayer) && window.dataLayer.push(Object.assign({
                    event: E
                }, F))
            }

            function lb(E, F, K) {
                if (K ? E.classList.add("showing-message--top") : E.classList.add("showing-message--bottom"), requestAnimationFrame(() => {
                        E.classList.add("showing-message--shown")
                    }, 1), F.dataset.visible = "true", K)({
                    height: F
                } = F.getBoundingClientRect()), E.style.top = `${F}px`;
                window.document.querySelectorAll("#d-notification-bar a").length && (0, nc.zK)("#d-notification-bar a")
            }

            function Ma(E) {
                const F = E.closest(".showing-message");
                E.removeAttribute("data-visible");
                F.classList.remove("showing-message--shown");
                F.style.removeProperty("top");
                E = E.querySelector(".notification-dismiss");
                window.dm_gaq_push_event("notificationClose", null, null, window.Parameters.SiteAlias,
                    E)
            }

            function mb(E) {
                E = E.closest(".unifiednav__item-wrap");
                E.classList.toggle("hover");
                E.classList.toggle("unifiednav__item-wrap_open")
            }

            function nb(E) {
                if (!E || !E.target) return !1;
                const F = E.target,
                    K = !!F.closest('[data-nav-structure\x3d"VERTICAL"]:not([data-show-vertical-sub-items\x3d"SHOW"])');
                return !("#" !== E.target.closest("a").getAttribute("href") || !K) || ! function(P) {
                    return P.target.classList.contains("nav-item-text") || !P.target.closest(".unifiednav")
                }(E) && (F.classList.contains("icon") ? !!F.closest(".dmMobileBody") ||
                    K : function(P) {
                        const Y = P.target.querySelector(".nav-item-text"),
                            aa = Y && Y.querySelector(".icon");
                        if (!Y || "click" === P.type || !aa.getBoundingClientRect().height) return !1;
                        const {
                            left: ka,
                            width: ia
                        } = Y.getBoundingClientRect(), {
                            clientX: ja,
                            clientY: oa
                        } = P.changedTouches ? {
                            clientX: P.changedTouches[0].clientX,
                            clientY: P.changedTouches[0].clientY
                        } : {
                            clientX: P.clientX,
                            clientY: P.clientY
                        };
                        return !!document.elementFromPoint(ja, oa).classList.contains("icon") || ja < ka || ja > ka + ia
                    }(E))
            }

            function ob(E) {
                return oc.message(E)
            }

            function pb() {
                Na ||
                    (Na = setInterval(() => {
                        if (window.productsStore && window.productsStore.storeProducts.size) {
                            clearInterval(Na);
                            var E = window.productsStore;
                            const F = [...E.storeProducts][0][0];
                            E.storeProducts.get(F).onSelectedValuesChange(pc)
                        }
                    }, 1E3))
            }

            function pc(E) {
                const F = qb();
                Object.entries(E).forEach(([K, P]) => {
                    F[K] && F[K].forEach(({
                        type: Y,
                        widget: aa
                    }) => {
                        if ("text" === Y) aa.innerHTML = P;
                        else if ("image" === Y)(aa = aa.querySelector("img")) && (aa.src = P);
                        else if ("slides" === Y && Array.isArray(P) && P.length) {
                            Y = window.$.dmrt.components.imageslider;
                            var ka = Y.goToSlideBySrc;
                            var ia = P[0].image.split("/");
                            ia = ia[ia.length - 1].split(".")[0];
                            ka.call(Y, aa, ia)
                        }
                    })
                })
            }

            function qb() {
                const E = {};
                return [...document.querySelectorAll("[data-binding]")].forEach(F => {
                    try {
                        const K = JSON.parse(atob(F.getAttribute("data-binding"))),
                            {
                                bindingName: P,
                                value: Y
                            } = K[0],
                            aa = null != Y && Y.startsWith("dynamic_page_collection.") ? Y.replace("dynamic_page_collection.", "") : Y;
                        aa && (E[aa] || (E[aa] = []), E[aa].push({
                            type: P,
                            widget: F
                        }))
                    } catch (K) {}
                }), E
            }

            function rb(E) {
                const F = document.createElement("div");
                return F.innerHTML = (null == E ? void 0 : E.trim()) || "", F.firstChild
            }

            function sb(E, F) {
                return tb.apply(this, arguments)
            }

            function tb() {
                return (tb = (0, ea.Z)(function*(E, F) {
                    return yield window.$.post(E, F)
                })).apply(this, arguments)
            }

            function ub() {
                return vb.apply(this, arguments)
            }

            function vb() {
                return (vb = (0, ea.Z)(function*() {
                    const E = document.querySelectorAll("[ext_ajax_load]");
                    return Promise.all([...E].map(F => sb("/_dm/s/rt/scripts/ajax_ext.jsp", {
                        siteAlias: F.getAttribute("ext_site_alias"),
                        pageAlias: F.getAttribute("ext_page_alias"),
                        extId: F.getAttribute("dmle_extension"),
                        elementId: F.getAttribute("ext_el_id"),
                        dm_device: (0, sa.vL)() || "mobile"
                    }).then(K => {
                        K = rb(K);
                        (0, sa.inEditorMode)() || !1 === (0, sa.ZS)().RemoveDID || K.removeAttribute("duda_id");
                        F.replaceWith(K)
                    })))
                })).apply(this, arguments)
            }

            function wb() {
                return xb.apply(this, arguments)
            }

            function xb() {
                return (xb = (0, ea.Z)(function*() {
                    const E = document.querySelectorAll("[widj_ajax_refresh]");
                    return Promise.all([...E].map(F => Ia(F.getAttribute("id"))))
                })).apply(this, arguments)
            }

            function Ia(E) {
                return yb.apply(this,
                    arguments)
            }

            function yb() {
                return (yb = (0, ea.Z)(function*(E, {
                    reinitJs: F,
                    refreshParams: K
                } = {}) {
                    const P = Date.now();
                    zb[E] = P;
                    const Y = document.getElementById(E);
                    return sb("/_dm/s/rt/scripts/ajax_widj_refresh.jsp", Object.assign({
                        siteAlias: (0, sa.qW)(),
                        pageAlias: (0, sa.kR)(),
                        elementId: E,
                        dm_device: (0, sa.vL)() || "mobile",
                        preview: (0, sa.inEditorMode)()
                    }, K)).then(aa => {
                        P === zb[E] && aa && "null" !== aa && (aa = rb(aa), Y.replaceWith(aa), aa.setAttribute("dm_refresh", !0), F && (ka = {
                            refreshAttr: "dm_refresh",
                            elementIds: [E]
                        }, window.$.DM.hydrateNonSSRWidgets(ka)));
                        var ka
                    })
                })).apply(this, arguments)
            }

            function Ab(E, F) {
                E.append(function(K, P = document) {
                    return P.createRange().createContextualFragment(K)
                }(F))
            }

            function Fa() {
                return Bb.apply(this, arguments)
            }

            function Bb() {
                return (Bb = (0, ea.Z)(function*() {
                    const E = document.getElementById("flex-runtime-popup");
                    return E ? (E.close(), new Promise(F => {
                        E.addEventListener("close", F, {
                            once: !0
                        })
                    })) : Promise.resolve()
                })).apply(this, arguments)
            }

            function Cb(E) {
                return Db.apply(this, arguments)
            }

            function Db() {
                return (Db = (0, ea.Z)(function*(E) {
                    yield Fa();
                    (function() {
                        const K = `\n        <div id=${"flex-popup-overlay"}>\n            <style>\n            #${"flex-popup-overlay"} {\n                position: fixed;\n                top: 0;\n                left: 0;\n                width: 100%;\n                bottom: 0;\n                background-color: ${Eb.OVERLAY_COLOR};\n                z-index: 200;\n            }\n        </style>\n        </div>\n    `;
                        Ab(document.getElementById("dm_content"), K)
                    })();
                    const F = new URL(window.Parameters.HomeUrl);
                    F.pathname = `${F.pathname}${F.pathname.endsWith("/")?"":"/"}${E}`;
                    F.searchParams.append("dm_ajaxCall", "true");
                    fetch(F.href, {
                        method: "GET",
                        headers: {
                            "Content-Type": "application/json; charset\x3dUTF-8",
                            Accept: "application/json"
                        }
                    }).then(K => {
                        if (!K.ok) throw Error("Network response was not ok");
                        return window.exportsite ? K.text() : K.json()
                    }).then(K => {
                        window.exportsite && (K = {
                            content: K
                        });
                        K && K.content ? (function(P) {
                            var Y, aa;
                            const ka = function(ja, oa) {
                                    const ha = document.createElement("div");
                                    return ha.innerHTML = ja, ha.querySelector(oa).outerHTML
                                }(P.content,
                                    "#flex-runtime-popup"),
                                ia = null === (Y = P.customwidgetsdata) || void 0 === Y ? void 0 : Y.map(ja => ja.css).join("\n");
                            P = `\n        <span id="${"flex-popup-html-wraper"}">\n            <style type="text/css">\n                #${"flex-runtime-popup"}::backdrop {\n                    background-color: ${Eb.OVERLAY_COLOR};\n                }\n                #dmRoot {\n                    overflow: hidden;\n                }\n\n                ${P.css}\n                ${ia}\n                ${P.additionalWidgetCss}\n                ${P.pageFontSizeStyle}\n                    \n            </style>\n            ${null===
(aa=P.flexstyles)||void 0===aa?void 0:aa.join(" ")}\n            ${ka}\n\n        </span>\n    `;
                            Ab(document.getElementById("dm_content"), P)
                        }(K), function(P) {
                            ! function() {
                                const Y = document.getElementById("flex-runtime-popup").getAttribute("animation-name");
                                window.requestAnimationFrame(() => {
                                    requestAnimationFrame(() => {
                                        const aa = document.getElementById("flex-runtime-popup");
                                        Y && "none" !== Y && aa.classList.add("animated", Y);
                                        aa.showModal();
                                        document.getElementById("flex-popup-overlay").remove()
                                    })
                                })
                            }();
                            window.$.dmrt.components.popupService.initializeCloseButtons(document.getElementById("flex-runtime-popup"));
                            window.$.DM.initNonAjaxPopups();
                            window.setCustomWidgetScripts(P.customwidgetsdata);
                            window.setCustomWidgetStrings(P.customwidgetstrings);
                            window.$.DM.afterAjaxGeneralInits();
                            window.$.dmrt.components.popupService.initializeSSR(P);
                            null !== window._gaq && window.dm_gaq_push_event("popup", "show_popup", P.name);
                            document.getElementById("flex-runtime-popup").addEventListener("close", () => {
                                document.getElementById("flex-popup-html-wraper").remove();
                                const Y = window.$.dmrt.components.popupService.cleanCloseButtons;
                                Y &&
                                    Y()
                            }, {
                                once: !0
                            })
                        }(K)) : Fa()
                    }).catch(K => {
                        console.error("There was a problem with your fetch operation:", K);
                        document.getElementById("flex-popup-overlay").remove();
                        Fa()
                    })
                })).apply(this, arguments)
            }

            function Fb() {
                gb((E, F) => {
                    E = function(P) {
                        return qb()[P] || []
                    }(E);
                    const K = function(P) {
                        const Y = (aa = Object.values(P.filters || []).filter(ka => !qc()(ka.selectedValues))) && 0 !== aa.length ? aa.reduce((ka, ia) => {
                            const {
                                selectedValues: ja = [],
                                filterType: oa,
                                fieldId: ha
                            } = ia, pa = `template#${ha}`;
                            switch (oa) {
                                case "ONE_OF":
                                    ka.push({
                                        fieldIdentifier: pa,
                                        filterType: oa,
                                        value: ja
                                    });
                                    break;
                                case "BETWEEN":
                                    ka.push({
                                        fieldIdentifier: pa,
                                        filterType: oa,
                                        value: [ja.start, ja.end]
                                    });
                                    break;
                                default:
                                    ka.push(ja.map(ua => ({
                                        fieldIdentifier: pa,
                                        filterType: oa,
                                        value: ua
                                    })))
                            }
                            return ka
                        }, []) : null;
                        P = function(ka) {
                            const {
                                sortBy: ia,
                                sortDirection: ja
                            } = ka || {};
                            return ia ? [{
                                fieldIdentifier: `template#${ia}`,
                                direction: ja || "asc"
                            }] : null
                        }(P);
                        aa = {};
                        var aa;
                        return P && (aa.sort = P), Y && (aa.filters = Y), aa
                    }(F);
                    E.forEach(({
                        widget: P
                    }) => {
                        Ia(P.id, {
                            reinitJs: !0,
                            refreshParams: {
                                dataQuery: JSON.stringify(K)
                            }
                        });
                        !0
                    })
                })
            }

            function Gb() {
                return Hb.apply(this, arguments)
            }

            function Hb() {
                return (Hb = (0, ea.Z)(function*(...E) {
                    return (yield Promise.all([t.e(198), t.e(325)]).then(t.bind(t, 7673))).initAnimations(...E)
                })).apply(this, arguments)
            }

            function Ib() {
                return Jb.apply(this, arguments)
            }

            function Jb() {
                return (Jb = (0, ea.Z)(function*(...E) {
                    return (yield Promise.all([t.e(644), t.e(733)]).then(t.bind(t, 7733))).sendPerformanceMetrics(...E)
                })).apply(this, arguments)
            }

            function Kb() {
                return Lb.apply(this, arguments)
            }

            function Lb() {
                return (Lb = (0, ea.Z)(function*() {
                    const E =
                        yield t.e(690).then(t.bind(t, 2666));
                    setTimeout(E.collectWidgetCount, 5E3)
                })).apply(this, arguments)
            }

            function Mb() {
                return Nb.apply(this, arguments)
            }

            function Nb() {
                return (Nb = (0, ea.Z)(function*(E = []) {
                    (yield t.e(690).then(t.bind(t, 2666))).collectWidgetCount(E)
                })).apply(this, arguments)
            }

            function Ob({
                instanceSettings: E = {}
            } = {}) {
                return (0, Aa.n0)({
                    instanceSettings: E
                })
            }

            function Pb({
                instanceSettings: E = {}
            } = {}) {
                return function({
                    instanceSettings: F = {}
                } = {}) {
                    return va.default.openApp(Ca.BQ.LAYOUT, F)
                }({
                    instanceSettings: E
                }).then(F =>
                    (window.layoutApp = F, F))
            }

            function Qb({
                instanceSettings: E = {}
            } = {}) {
                return function({
                    instanceSettings: F = {}
                } = {}) {
                    return va.default.openApp(Ca.BQ.ANCHORS, F)
                }({
                    instanceSettings: E
                }).then(F => (window.anchorsApp = F, F)).catch(F => {
                    Ea.Gl.warn({
                        message: "Init initAnchorsApp failed",
                        errorMessage: F.message
                    })
                })
            }
            t.r(n);
            t.d(n, {
                API: () => Rb,
                cleanModule: () => va.closeAllApps,
                clearRegisteredWidgets: () => Aa.Ap,
                closeApp: () => va.closeApp,
                closeFlexPopup: () => Fa,
                collectAndSendFeatureUsage: () => Mb,
                collectAndSendWidgetCount: () => Kb,
                collectionsFilterService: () =>
                    Ja,
                displayFlexPopup: () => Cb,
                getApp: () => va.getApp,
                getWidget: () => Aa.LI,
                initAnchorsApp: () => Qb,
                initAnimations: () => Gb,
                initFacebook: () => Sb.init,
                initLayout: () => Pb,
                initWidgets: () => Ob,
                initWidgetsByIds: () => Tb.initWidgetsByIds,
                initWidgetsListenerService: () => Fb,
                moduleName: () => "runtime",
                notify: () => ob,
                openApp: () => va.openApp,
                refreshMatchingWidgets: () => wb,
                refreshWidgetFromServer: () => Ia,
                refreshWidgetsLegacy: () => ub,
                registerWidget: () => Aa.jC,
                routerAPI: () => Ub,
                sendPerformanceMetrics: () => Ib,
                shouldOpenSubNav: () => nb,
                tagManagerAPI: () =>
                    Ka,
                toggleSubNav: () => mb,
                updateConnectedWidgets: () => pb
            });
            var Oa = {};
            t.r(Oa);
            t.d(Oa, {
                getLoggedInUser: () => c
            });
            var Pa = {};
            t.r(Pa);
            t.d(Pa, {
                getCollection: () => b,
                updateCollections: () => h
            });
            var Qa = {};
            t.r(Qa);
            t.d(Qa, {
                addWidget: () => f,
                initCustomWidget: () => rc.initCustomWidget,
                setWidgetStrings: () => u
            });
            var Ra = {};
            t.r(Ra);
            t.d(Ra, {
                isDynamicPage: () => p,
                pageData: () => y
            });
            var Sa = {};
            t.r(Sa);
            t.d(Sa, {
                addFlexSectionStyle: () => g
            });
            var Ta = {};
            t.r(Ta);
            t.d(Ta, {
                getLoggedInMember: () => D
            });
            var Ua = {};
            t.r(Ua);
            t.d(Ua, {
                loadScript: () => x,
                loadScriptAMD: () =>
                    C,
                renderExternalApp: () => I
            });
            var Va = {};
            t.r(Va);
            t.d(Va, {
                getMobx: () => T,
                getRegisteredComponents: () => ca,
                onRegister: () => X,
                onRunTimeClick: () => S,
                register: () => N
            });
            var Wa = {};
            t.r(Wa);
            t.d(Wa, {
                Environment: () => Ca.qA,
                getCurrentEnvironment: () => O,
                getNavItems: () => Z,
                getNavItemsAsync: () => V,
                getOptimizedImageURL: () => M,
                loadCollectionsAPI: () => W,
                loadContentLibrary: () => ma
            });
            var Xa = {};
            t.r(Xa);
            t.d(Xa, {
                dmAPI: () => Wa
            });
            var Ja = {};
            t.r(Ja);
            t.d(Ja, {
                clearCollectionValues: () => jc,
                getCollectionFilters: () => qa,
                offCollectionFilterChange: () =>
                    kc,
                onCollectionFilterChange: () => gb,
                onCollectionValueChange: () => lc,
                setCollectionFilter: () => ic,
                setCollectionSort: () => hc,
                setCollectionSortBy: () => fc,
                setCollectionSortDirection: () => gc
            });
            var Ka = {};
            t.r(Ka);
            t.d(Ka, {
                PAGE_VIEW_EVENT: () => "dPageView",
                pushPageViewEvent: () => mc,
                sendGTMEvent: () => kb
            });
            var Ya = {};
            t.r(Ya);
            t.d(Ya, {
                API: () => Rb,
                cleanModule: () => va.closeAllApps,
                clearRegisteredWidgets: () => Aa.Ap,
                closeApp: () => va.closeApp,
                closeFlexPopup: () => Fa,
                collectAndSendFeatureUsage: () => Mb,
                collectAndSendWidgetCount: () => Kb,
                collectionsFilterService: () => Ja,
                displayFlexPopup: () => Cb,
                getApp: () => va.getApp,
                getWidget: () => Aa.LI,
                initAnchorsApp: () => Qb,
                initAnimations: () => Gb,
                initFacebook: () => Sb.init,
                initLayout: () => Pb,
                initWidgets: () => Ob,
                initWidgetsByIds: () => Tb.initWidgetsByIds,
                initWidgetsListenerService: () => Fb,
                moduleName: () => "runtime",
                notify: () => ob,
                openApp: () => va.openApp,
                refreshMatchingWidgets: () => wb,
                refreshWidgetFromServer: () => Ia,
                refreshWidgetsLegacy: () => ub,
                registerWidget: () => Aa.jC,
                routerAPI: () => Ub,
                sendPerformanceMetrics: () => Ib,
                shouldOpenSubNav: () => nb,
                tagManagerAPI: () => Ka,
                toggleSubNav: () => mb,
                updateConnectedWidgets: () => pb
            });
            t(3375);
            var ea = t(5861),
                Ea = t(2461),
                va = t(1359),
                Ca = t(7664),
                Ga = t(7720);
            window.collectionsLock = {};
            var rc = t(7115);
            let La;
            var cc = t(2077);
            const dc = ["additionalData"];
            var Aa = t(9515),
                sa = t(3850);
            let Ha, ya = [];
            const Za = {};
            (0, sa.inEditorMode)() && (0, ea.Z)(function*() {
                Ha = T();
                const E = yield Ha, F = [...ya];
                ya = E.observable([]);
                F.forEach(K => {
                    ya.push(K)
                })
            })();
            var za = t(602);
            const Ba = {
                    get: E => (0, ea.Z)(function*() {
                        return (yield fetch(E, {})).json()
                    })()
                },
                sc = ["city-town-village", "administrative-region"];
            var Vb, Wb, Xb, Yb, Zb, $b;
            const tc = {
                google: {
                    search: ($b = (0, ea.Z)(function*(E) {
                        E = `https://maps.googleapis.com/maps/api/geocode/json?address=${window.encodeURIComponent(E)}`;
                        return (yield Ba.get(E)).results.map(F => ({
                            x: F.geometry.location.lng,
                            y: F.geometry.location.lat,
                            label: F.formatted_address,
                            raw: F
                        }))
                    }), function(E) {
                        return $b.apply(this, arguments)
                    })
                },
                openstreetmap: {
                    search: (Zb = (0, ea.Z)(function*(E) {
                        E = `https://nominatim.openstreetmap.org/search/${window.encodeURIComponent(E)}?format=json`;
                        return Ba.get(E).map(F => ({
                            x: F.lon,
                            y: F.lat,
                            label: F.display_name,
                            raw: F
                        }))
                    }), function(E) {
                        return Zb.apply(this, arguments)
                    })
                },
                mapbox: {
                    search: (Yb = (0, ea.Z)(function*(E) {
                        const F = (0, za.m)("common.mapbox.token");
                        E = `https://api.mapbox.com/geocoding/v5/mapbox.places/${window.encodeURIComponent(E)}.json?access_token=${F}`;
                        ({
                            features: E
                        } = yield Ba.get(E));
                        return E.map(K => ({
                            x: K.center[0],
                            y: K.center[1],
                            label: K.matching_place_name || K.place_name || K.text,
                            raw: K
                        }))
                    }), function(E) {
                        return Yb.apply(this, arguments)
                    })
                },
                mappy: {
                    search: (Xb =
                        (0, ea.Z)(function*(E) {
                            E = `https://suggest.mappy.net/suggest/1.2/suggest?q=${window.encodeURIComponent(E)}`;
                            ({
                                suggests: E
                            } = yield Ba.get(E));
                            return E.map(F => {
                                var K = F.lng,
                                    P = F.lat;
                                var Y = F.labels.join(" ");
                                const aa = document.createElement("div");
                                Y = (aa.innerText = Y, aa.innerText);
                                return {
                                    x: K,
                                    y: P,
                                    label: Y,
                                    raw: F
                                }
                            })
                        }),
                        function(E) {
                            return Xb.apply(this, arguments)
                        })
                },
                here: {
                    search: (Wb = (0, ea.Z)(function*(E) {
                        const F = {
                            app_id: (0, za.m)("common.here.appId"),
                            app_code: (0, za.m)("common.here.appCode")
                        };
                        var K = Object.assign({},
                                F, {
                                    searchText: E,
                                    gen: 9
                                }),
                            P = Object.assign({}, F, {
                                q: E,
                                at: "52.531,13.3848",
                                size: 5,
                                results_types: "place",
                                tf: "plain"
                            });
                        E = Object.assign({}, F, {
                            query: E,
                            size: 5
                        });
                        K = `https://geocoder.api.here.com/6.2/geocode.json?${G(K)}`;
                        P = `https://places.api.here.com/places/v1/autosuggest?${G(P)}`;
                        E = `https://autocomplete.geocoder.api.here.com/6.2/suggest.json?${G(E)}`;
                        const [Y, aa, ka] = yield Promise.all([L(K), L(P), L(E)]);
                        try {
                            var ia = Y.Response.View[0].Result || []
                        } catch (ha) {
                            ia = []
                        }
                        ia = ia.map(J);
                        const ja = ia.length ? ia[0].locId : "none",
                            oa = (aa.results || []).filter(ha => !!ha.position).map(R);
                        P = (ka.suggestions || []).map(ba).filter(ha => ha.raw.locationId !== ja);
                        return [...ia, ...P, ...oa].filter(({
                            raw: ha
                        }) => {
                            ({
                                category: ha
                            } = ha);
                            return !!ha && ("building" === ha ? 0 === oa.length : !sc.includes(ha))
                        })
                    }), function(E) {
                        return Wb.apply(this, arguments)
                    }),
                    getDetails: (Vb = (0, ea.Z)(function*(E) {
                        var {
                            locationId: F
                        } = E.raw;
                        F = `https://geocoder.api.here.com/6.2/geocode.json?${G({app_id:(0,za.m)("common.here.appId"),app_code:(0,za.m)("common.here.appCode"),locationid:F,
gen:9})}`;
                        F = Ba.get(F).Response.View[0].Result[0];
                        if (!F) return E;
                        const {
                            Location: K,
                            Address: P
                        } = F, {
                            DisplayPosition: Y,
                            MapView: aa
                        } = K;
                        return {
                            lat: Y.Latitude,
                            lng: Y.Longitude,
                            address: E.address,
                            components: P,
                            bounds: {
                                northeast: {
                                    lat: aa.TopLeft.Latitude,
                                    lng: aa.TopLeft.Longitude
                                },
                                southwest: {
                                    lat: aa.BottomRight.Latitude,
                                    lng: aa.BottomRight.Longitude
                                }
                            },
                            raw: F
                        }
                    }), function(E) {
                        return Vb.apply(this, arguments)
                    })
                }
            };
            class ac {
                constructor({
                    search: E,
                    getDetails: F
                } = {}) {
                    this.get = E || (() => Promise.resolve([]));
                    this.getDetails = F || (() =>
                        Promise.resolve({}));
                    this._cache = {};
                    this._detailsCache = {}
                }
                search({
                    query: E
                }) {
                    var F = this;
                    return (0, ea.Z)(function*() {
                        return E in F._cache ? Promise.resolve(F._cache[E]) : (F._cache[E] = yield F.get(E), F._cache[E])
                    })()
                }
                getLocationDetails(E) {
                    var F = this;
                    return (0, ea.Z)(function*() {
                        var {
                            raw: K
                        } = E;
                        ({
                            locationId: K
                        } = K);
                        return K in F._detailsCache ? Promise.resolve(F._detailsCache[K]) : (F._detailsCache[K] = yield F.getDetails(E), F._detailsCache[K])
                    })()
                }
            }
            ac.displayName = "GeoProvider";
            var ec = t(7491),
                $a = t(8365);
            const ab = {
                collections: {
                    resource: "/collections/public/client/resources",
                    name: "collections-runtime-api"
                }
            };
            var uc = t(6153),
                vc = t(5269),
                wc = t(5524),
                xc = t(4585);
            let Da;
            var Sb = t(4709),
                Ub = t(6472),
                Tb = t(7992),
                nc = t(6732);
            const oc = {
                message: function({
                    markup: E = "",
                    messageContainer: F,
                    delay: K = -1,
                    shouldMoveContainer: P,
                    ruleId: Y,
                    background: aa,
                    duration: ka = -1
                } = {}) {
                    const ia = document.querySelector("#d-notification-bar");
                    if (ia) return ia;
                    const ja = function(ha) {
                        const pa = document.createElement("div");
                        return pa.id = "d-notification-bar", pa.innerHTML = ha,
                            function(ua) {
                                const wa = document.createElement("div");
                                wa.classList.add("notification-dismiss");
                                wa.setAttribute("aria-label", "Dismiss notification");
                                wa.innerHTML = "\x26times;";
                                ua.appendChild(wa);
                                wa.addEventListener("click", () => Ma(ua))
                            }(pa),
                            function(ua) {
                                document.body.classList.contains("previewRuleMode") && ua.querySelectorAll("#d-notification-bar a").forEach(wa => {
                                    wa.hasAttribute("raw_url") && wa.setAttribute("href", wa.getAttribute("raw_url"))
                                })
                            }(pa), pa
                    }(E);
                    ! function(ha, pa, ua) {
                        ha.dataset.ruleType = "notification";
                        pa && (ha.dataset.rule = pa);
                        ha.style.background =
                            ua
                    }(ja, Y, aa);
                    (function(ha) {
                        ha.addEventListener("click", pa => {
                            var ua;
                            "a" === pa.target.tagName.toLowerCase() && (ua = pa.target, window.dm_gaq_push_event("notificationLinkClick", null, null, window.Parameters.SiteAlias, ua), Ma(ha))
                        })
                    })(ja);
                    const oa = F || document.body;
                    return function(ha, pa) {
                        ha.appendChild(pa);
                        ha.classList.add("showing-message")
                    }(oa, ja), 0 > K ? lb(oa, ja, P) : setTimeout(() => lb(oa, ja, P), 1E3 * K), -1 < ka && setTimeout(() => {
                        Ma(ja)
                    }, 1E3 * K + 1E3 * ka), ja
                }
            };
            let Na;
            t(2789);
            const zb = {},
                Eb = {
                    OVERLAY_COLOR: "#0008"
                };
            var yc = t(1609),
                qc = t.n(yc);
            const Rb = Object.assign({}, xc, Xa, {
                geoProvider: (bc = (0, za.m)("common.geocodeProvider"), function({
                    search: E,
                    getDetails: F
                } = {}) {
                    return new ac({
                        search: E,
                        getDetails: F
                    })
                }(tc[bc])),
                miniHeader: wc.API,
                flexShrinkingHeader: vc.API,
                drawerManagers: uc,
                collectionsAPI: Pa,
                customWidgetsApi: Qa,
                flexRuntimeApi: Sa,
                scriptsApi: Ua,
                appStoreRuntimeApi: Va,
                getCurrentLayoutDevice: sa.vL,
                dynamicPageApi: Ra,
                membershipApi: Ta,
                authApi: Oa
            });
            var bc;
            var zc = t(1359);
            var Ac = t(8956);
            zc.default.setAppMapper(Ac.default);
            t.g._modules = t.g._modules || {};
            t.g._modules.runtime = Ya
        })(), n
    })();
    "object" == typeof exports && "object" == typeof module ? module.exports = z() : "function" == typeof define && define.amd ? define([], z) : "object" == typeof exports ? exports.runtime = z() : B.runtime = z()
}();
(function(a, B) {
    function z(c, d, b, l, h, u) {
        u = u || {};
        var f = b;
        a.DM.events.trigger("event-" + c, f && f.value ? f : {
            value: f
        });
        var p = window._paq;
        f = window._dm_gaq;
        var y = window._gaq;
        l || (l = f.siteAlias);
        null == b && (b = void 0);
        b && 0 === b.toString().indexOf("tel:") && (b = parseInt(b.replace("tel:", "")));
        try {
            "undefined" !== typeof p && p && p.push(["trackEvent", c, d])
        } catch (e) {}
        l || (l = f.siteAlias);
        null == b && (b = void 0);
        try {
            "undefined" !== typeof p && p && p.push(["trackEvent", c, d])
        } catch (e) {}
        f.systemAggregatedGaqID && (f.pushEvent(f.systemAggregatedGaqID,
            c, c, d, b), window.rtCommonProps["feature.flag.sites.google.analytics.gtag"] || y.push(["b._trackEvent", c, l, d, b]));
        f.externalGaqID && (f.pushEvent(f.externalGaqID, c, c, d, b, u.additionalParams), window.rtCommonProps["feature.flag.sites.google.analytics.gtag"] || y.push(["c._trackEvent", c, l, d, b]));
        window.dmsnowplow && window.dmsnowplow("trackStructEvent", "site", c, d, b);
        h && (b = a(h).closest("[data-rule]"), 0 < b.length && (d = parseInt(b.attr("data-rule")), b = b.attr("data-rule-type"), h = b + "__" + d, c = "insite_" + c, f.systemAggregatedGaqID &&
            (f.pushEvent(f.systemAggregatedGaqID, c, c, h), window.rtCommonProps["feature.flag.sites.google.analytics.gtag"] || y.push(["b._trackEvent", c, l, h])), f.externalGaqID && (f.pushEvent(f.externalGaqID, c, c, h), window.rtCommonProps["feature.flag.sites.google.analytics.gtag"] || y.push(["c._trackEvent", c, l, h])), window.dmsnowplow && window.dmsnowplow("trackStructEvent", "insite", c, b, d)))
    }

    function t(c) {
        window.runtime.routerAPI.navigationService.popupService.showOverlay(c)
    }

    function w(c, d, b, l, h) {
        generateFlexPopupTemplate();
        var u = a("body"),
            f = a("[id\x3d'dmPopup']"),
            p = f.first();
        f.not(p).remove();
        f = a("body").find("[id\x3d'dmPopup']");
        0 === f.size() ? u.append(p) : u.append(f);
        f.attr("class", "dmPopup");
        u = f.find(".data");
        u.empty();
        b && f.addClass(b);
        t();
        c.find(".popupData").clone().appendTo(u).show();
        p.find(".dmPopupTitle").html("\x3cspan\x3e\x3c/span\x3e" + d);
        f.find("*").andSelf().each(function() {
            var e = a(this).attr("class");
            e && (a(this).attr("class", ""), a(this).attr("class", e))
        });
        l = l || 700;
        h = h || 400;
        b = a(window).width();
        d = a(window).height();
        l = Math.min(l, b - 20);
        h = Math.min(h, d - 20);
        b = b / 2 - l / 2 - 10;
        u = a("#dmPopup");
        p = getComputedStyle(u[0]);
        u = u.find(".dmPopupTitle").height();
        var y = parseInt(p.getPropertyValue("padding-top").replace(/[^-\d\.]/g, ""), 10);
        p = parseInt(p.getPropertyValue("padding-bottom").replace(/[^-\d\.]/g, ""), 10);
        p = d / 2 - (h + y + p + u + 30) / 2;
        l = {
            top: p + "px",
            width: l + "px",
            left: b + "px",
            minHeight: h + "px",
            height: "auto"
        };
        f.find(".data").css("height", h + "px");
        f.height() + p > d && f.find(".data").css("height", h + "px");
        f.css(l);
        f.addClass("dmPopup--visible");
        window.event && window.event.stopPropagation();
        if (!c.hasClass("dmShare")) return !1;
        f.off("click.share").on("click.share", "div.dmShareWidget a", function(e) {
            if (window.editorParent && window.editorParent.jQuery && (window.editorParent.jQuery.dmfw || window.editorParent.jQuery.onefw)) {
                e.preventDefault();
                e.stopPropagation();
                var g = {
                    relativeDirection: "top",
                    offset: window.editorParent.jQuery.onefw ? 0 : 70,
                    tipsContainer: window.editorParent.jQuery && window.editorParent.jQuery.onefw ? window.editorParent.$("#_preview_w") : window.editorParent.$("#neePrevieweviceWrapper"),
                    bodyText: "You can't use the widget to share a site from Preview mode.",
                    title: "Share"
                };
                window.editorParent.$ && window.editorParent.$.dmpages && window.editorParent.$.dmpages.showOuterLinkPrompt(null, "_blank", a(e.target), g)
            }
        });
        return !1
    }

    function q(c) {
        27 !== c.keyCode || ["INPUT", "TEXTAREA", "SELECT"].includes(c.target.tagName) || r(c)
    }

    function r(c, d) {
        if (window.flexSite && !d?.classicClose) return runtime.closeFlexPopup();
        window.removeEventListener("keydown", q);
        d = d || {};
        window.resetFixVideoFullScreen && window.resetFixVideoFullScreen();
        var b = a("#dmPopupMask");
        a("body").append(b);
        b.hide();
        a("body").removeClass("popupOpen");
        if (b = document.querySelector("#dm_content").querySelector(":scope \x3e .dmRespRowsWrapper")) b.removeAttribute("tabindex"), b.removeAttribute("aria-hidden");
        d.forceClose && a(".dmPopupClose").trigger("click");
        d = a("#dmPopup");
        d.removeClass("dmPopup--visible");
        m(d);
        d && (d.find(".data").empty(), d.removeAttr("data-video-bg"), d.find(".videobgwrapper").remove(), a("body").append(d));
        c && c.stopPropagation();
        a.dmrt.components.popupService.cleanCloseButtons?.();
        return !1
    }

    function m(c) {
        "bounce flash pulse rubberBand shake swing tada wobble bounceIn bounceInLeft bounceInRight fadeIn fadeInLeft fadeInRight fadeInUp flipInX flipInY rotateIn rotateInDownLeft rotateInDownRight rotateInUpLeft rotateInUpRight rollIn zoomIn zoomInUp slideInDown slideInLeft slideInRight animated".split(" ").forEach(function(d) {
            c.removeClass(d)
        })
    }
    window.delayFn = c => requestAnimationFrame(() => requestAnimationFrame(c));
    var k = {
        LinkType: {
            Home: 0,
            Nav: 1,
            Other: 2
        }
    };
    "function" !== typeof String.prototype.contains &&
        (String.prototype.contains = function(c) {
            return -1 !== this.indexOf(c)
        });
    window.actualTouchDevice = !!navigator.userAgent.match(/Android|iPhone|iPad|iPod|Opera Mini/i);
    window.editedFromTouchDevice = !1;
    try {
        window.editedFromTouchDevice = parent && parent.window && (parent.window.isTouchDevice || window.actualTouchDevice || parent.window.commonProps && parent.window.commonProps["editor.emulate.touch"])
    } catch (c) {}
    var n = Object.assign({}, {
        test: "test.js",
        HomeUrl: null,
        IsCurrentHomePage: null,
        CurrentLinkType: null,
        SiteAlias: null,
        SiteId: null,
        SiteType: null,
        InitialPageAlias: "home",
        DefaultPageAlias: "home",
        Charset: "UTF-8",
        CacheSize: 10,
        LinksToAjax: "",
        BeforeAjaxCommand: null,
        AfterAjaxCommand: null,
        StartupCommand: null,
        HomeLinksClasses: "dm-logo-anchor",
        HomeLinkText: "Back to home",
        HomeLinkSelector: "a.dmHome",
        CurrentThemeName: "",
        DisableLinks: !1,
        AfterMoreLessCommand: null,
        ManifestId: -1,
        StorePageAlias: "",
        showCookieNotification: !1,
        cookiesNotificationMarkup: "",
        NavigationAreaParams: {
            NavbarSize: 5,
            NavbarSelector: ".dmNav",
            SubNavbarSelector: "",
            NavbarLiveHomePage: null,
            BlockContainerSelector: ".dmBody",
            ShowBackToHomeOnInnerPages: !0,
            MoreButtonText: "More Options",
            LessButtonText: "Less Options",
            ReplaceNavigationOnInnerPages: !0
        }
    }, window.Parameters);
    B.Parameters = n;
    (function(c, d) {
        function b() {
            [].slice.call(document.querySelectorAll(".unifiednav__item_has-sub-nav")).forEach(function(x) {
                x.addEventListener("click", l);
                x.addEventListener("touchend", l)
            })
        }

        function l(x) {
            runtime.shouldOpenSubNav(x) && (runtime.toggleSubNav(x.target), x.preventDefault(), x.target.classList.contains("nav-item-text") &&
                x.stopPropagation())
        }

        function h(x, C, I, H) {
            var N = -1 !== x.indexOf("callback\x3d"),
                S = c.Deferred();
            H = c.extend({
                forceLoad: N,
                isJSONP: N
            }, H || {});
            x = c.loadScript(x, H).then(function() {
                if (!N) {
                    if (C) {
                        try {
                            C()
                        } catch (X) {
                            console.log("DM-Ajax: init widget callback throws exception: " + X.message)
                        }
                        I && A.updateAfterInit()
                    }
                    S.resolve()
                }
            });
            x.catch ? x.catch(function() {
                S.reject()
            }) : x.fail && x.fail(function() {
                S.reject()
            });
            return S.promise()
        }

        function u(x, C) {
            if (null == x) return null;
            x = x.split("?");
            if (1 < x.length) var I = x[1];
            else return null;
            I = I.split("#")[0];
            x = 0;
            I = I.split("\x26");
            var H = I.length;
            for (x; x < H; x++) {
                var N = I[x];
                N = N.split("\x3d");
                if (2 === N.length && N[0] === C) return N[1]
            }
            return null
        }

        function f() {
            document.querySelectorAll('a[href*\x3d"#"]').forEach(function(x) {
                p(c(x))
            })
        }

        function p(x) {
            var C = x.attr("href");
            if (x[0].host === window.location.host) {
                var I = C.indexOf("#");
                if (y(C) && ((C.split("/").pop().replace(/(?:\?|#).*$/i, "") || "home") === _currentPage.pageAlias.split("/").pop() || 0 === I && 1 < C.length)) x.on("click.scrollToAnchor", H => {
                    H.preventDefault();
                    if (!A.insideEditor()) {
                        var N = document.body.classList.contains("dmBodyNoIscroll") ? 350 : 0;
                        c.layoutManager.closeAllOpenedNavs();
                        var S = C.substr(I + 1);
                        if (!x.is(".unifiednav__item_has-sub-nav") || S && !c(H.target).is(".icon")) window.layoutApp && window.layoutApp.closeNavMenus(), setTimeout(() => {
                            c.DM.scrollToAnchor(c("#" + S));
                            if (S) {
                                const X = window.location.href.split("#")[0] + "#" + S;
                                history.replaceState(null, null, X)
                            }
                            c.layoutManager.layoutAfterAjax()
                        }, N)
                    }
                })
            }
        }

        function y(x) {
            return -1 !== x.indexOf("#") && 0 > x.indexOf("#!")
        }

        function e(x, C) {
            if (window.rtCommonProps["feature.flag.disallowPopupsInEditor"] && window.$.layoutManager._isEditorMode && !c.DM.getQueryParam(window.location.href, "three_screens_preview")) return !1;
            window.layoutApp && window.layoutApp.closeNavMenus();
            C.preventDefault();
            c.dmrt.components.popupService.displayPopup(x);
            return !0
        }

        function g(x) {
            var C = c("#dmBackToTop");
            400 > x ? C.css({
                opacity: "0",
                visibility: "hidden"
            }) : C.css({
                opacity: "1",
                visibility: "visible"
            })
        }

        function v(x) {
            null == x && (x = !1);
            var C = [0, 0];
            if (x || c.DM.isBodyScrollable()) "undefined" !==
                typeof window.pageYOffset ? C = [window.pageXOffset, window.pageYOffset] : "undefined" !== typeof document.documentElement.scrollTop && 0 < document.documentElement.scrollTop ? C = [document.documentElement.scrollLeft, document.documentElement.scrollTop] : "undefined" !== typeof document.body.scrollTop && (C = [document.body.scrollLeft, document.body.scrollTop]);
            else try {
                C = c.layoutManager && c.layoutManager.isNee() || !1 === c.layoutDevice.components.iscrollBody.isUseIscroll ? [c.layoutManager.getLayoutElement().iscrollBody.element.scrollLeft(),
                    c.layoutManager.getLayoutElement().iscrollBody.element.scrollTop()
                ] : [Math.abs(c.layoutManager.getLayoutElement().iscrollBody.iscrollObject.x), Math.abs(c.layoutManager.getLayoutElement().iscrollBody.iscrollObject.y)]
            } catch (I) {
                C = [0, 0]
            }
            return C
        }
        d.__x__ = "";
        var D = window.runtime.routerAPI.Page.Page;
        window._currentPage = null;
        var A = {};
        c.extend({
            DM: A
        });
        c.DM.canUseLocalStorage = function() {
            return !0
        };
        c.DM._frameworkReady = !1;
        try {
            Object.defineProperty(A, "events", {
                get: function() {
                    return c("body")
                }
            })
        } catch (x) {
            A.events =
                c("body")
        }
        A.Enum = k;
        A.updateAfterInit = function() {
            A.isUseIscroll() && c.layoutManager.refreshIscroll()
        };
        A.isCurrentHomePage = function() {
            return n.IsCurrentHomePage
        };
        A.getHomeLink = function() {
            return n.HomeUrl + "?url\x3d" + n.NavigationAreaParams.NavbarLiveHomePage.replace("?", "\x26")
        };
        A.initRuntimeLinks = function() {
            f();
            A.initNonAjaxPopups();
            b()
        };
        A.shouldshowCookieNotification = function() {
            var x = !1;
            if (/showCookieNotification=true/.test(window.location.search)) var C = !0;
            else A.isPreview() ? C = !1 : (x = !0, C = n.showCookieNotification);
            x && (C = C && "true" !== localStorage.getItem("cookieNotificationHasBeenSeen")) && localStorage.setItem("cookieNotificationHasBeenSeen", "true");
            return C
        };
        A.getCookiesNotificationMarkup = function() {
            var x = n.cookiesNotificationMarkup;
            /cookieNotificationLanguage=/.test(window.location.search) && (x = window.cookiesNotificationMarkupPreview);
            return x
        };
        A.handleCookiesNotification = function() {
            var x = A.shouldshowCookieNotification();
            x && "runtime" in window ? (x = document.querySelector("[dmtemplateid]"), window.runtime.notify({
                markup: A.getCookiesNotificationMarkup(),
                delay: 1,
                messageContainer: x
            })) : x && c.loadScript("/_dm/s/rt/smart/message.js").then(function() {
                window.insiteScripts.message({
                    settings: {
                        delay: 4,
                        body: A.getCookiesNotificationMarkup()
                    },
                    dontParseSettings: !0,
                    dontSendCloseEvent: !0
                })
            })
        };
        c.DM.getParamValue = u;
        A.initNonAjaxPopups = function() {
            c("#dmRoot").off("click.openPopup").on("click.openPopup", "a[link_type\x3d'popup']", function(x) {
                e(this.getAttribute("popup_target"), x)
            });
            c("a[link_type\x3d'popup']").off("click.openPopup").on("click.openPopup", function(x) {
                e(this.getAttribute("popup_target"),
                    x) && x.stopPropagation()
            })
        };
        A.initNonAjaxAnchorLinks = f;
        A.isNavigationDisabled = function({
            href: x,
            element: C
        }) {
            function I({
                element: N
            }) {
                var S = window.$(N);
                N = window.$.commonComponents.upperFloatingNav && !window.$.commonComponents.upperFloatingNav.onAjaxLinkBeforeClick(S);
                S = window.$.commonComponents.slideRightNav && !window.$.commonComponents.slideRightNav.onAjaxLinkBeforeClick(S);
                return N || S
            }
            const H = C.getAttribute("data-disable-ajax-navigation");
            return x.startsWith("javascript") || H || I({
                element: C
            })
        };
        A.ajaxNavigateToLink =
            function(x, C) {
                (C = C && C.length ? C.get(0) : C) || (C = document.createElement("div"));
                if ("popup" === C.getAttribute("link_type")) x = C.getAttribute("popup_target"), window.layoutApp && window.layoutApp.closeNavMenus(), window.$.dmrt.components.popupService.displayPopup(x);
                else {
                    if (A.isNavigationDisabled({
                            href: x,
                            element: C
                        })) return !1;
                    window.location.href = x;
                    return !1
                }
            };
        A.getQueryParam = function(x, C) {
            return u(x, C)
        };
        A.isUseLayout = function() {
            return !0
        };
        A.isUseIscroll = function() {
            return null == c.layoutDevice.components.iscrollBody ?
                !1 : c.layoutDevice.components.iscrollBody.isUseIscroll
        };
        A.isBodyScrollable = function() {
            return c?.commonComponents?.slideRightNav?.slideNavigationObject ? !1 : null == c.layoutDevice.components.iscrollBody ? !0 : c.layoutDevice.components.iscrollBody.isBodyScrollable
        };
        A.getScrollableElement = function() {
            var x = c(window);
            c.DM.isBodyScrollable() || (x = c.layoutManager.getLayoutElement().iscrollBody.element);
            return x
        };
        A.loadExternalScriptAsync = function(x, C, I, H) {
            return h(x, C, I, H)
        };
        A.loadExternalScriptSync = function(x, C,
            I) {
            c.ajaxSetup({
                async: !1
            });
            A.loadExternalScriptAsync(x, C, I);
            c.ajaxSetup({
                async: !0
            })
        };
        A.insideEditor = function() {
            return window?.editorParent?.jQuery?.onefw?.inPreviewMode ? !1 : n.isInEditor
        };
        A.isPreview = function() {
            return A.insideEditor() || window.editorParent && window.editorParent.jQuery && (window.editorParent.jQuery("body").hasClass("mobilePreviewBody") || window.editorParent.jQuery("body").hasClass("onePreviewBody"))
        };
        A.showPopUp = function(x, C, I, H) {
            I = I || 600;
            H = H || 560;
            if (x) return window.open(x, C, "toolbar\x3dno, location\x3dno, directories\x3dno, status\x3dno, menubar\x3dno, scrollbars\x3dno, resizable\x3dno, copyhistory\x3dno, width\x3d" +
                I + ", height\x3d" + H + ", top\x3d" + (screen.height / 2 - H / 2) + ", left\x3d" + (screen.width / 2 - I / 2))
        };
        A.initExternalAppButtons = function() {
            document.querySelectorAll(".dmExternalAppButton").forEach(x => {
                x = c(x);
                x.attr("data-name");
                var C = x.attr("data-provider"),
                    I = x.attr("data-src"),
                    H = parseInt(x.attr("data-inith") || "500") || 500;
                if (I) {
                    const N = c('\x3cdiv\x3e\x3cdiv class\x3d"popupData"\x3e\x3ciframe seamless src\x3d"' + I + '" style\x3d"margin:auto;width:900px;height:' + H + 'px;"\x3e\x3c/iframe\x3e\x3c/div\x3e\x3c/div\x3e');
                    x.off("click.openPopup").on("click.openPopup", function() {
                        A.insideEditor() || w(N, "", "noTitle externalAppPopup" + C, 940, H + 50)
                    })
                }
            })
        };
        A.initPhoneLinksTracking = function() {
            c('[href^\x3d"tel:"]:not(.dmCall)').off("click.track").on("click.track", function() {
                const x = this;
                setTimeout(() => {
                    z("ClickToCall", "call", c(x).attr("href"), n.SiteAlias, c(x).get(0))
                }, 500)
            })
        };
        A.addTargetBlankToExternalLinks = function() {
            c('[href^\x3d"tel:"], .dmCall, [href^\x3d"mailto:"], .dmEmail').attr("target", "_blank")
        };
        A.initEmailLinksTracking =
            function() {
                c('[href^\x3d"mailto:"]:not(.dmEmail)').off("click.track").on("click.track", function() {
                    const x = this;
                    setTimeout(() => {
                        z("ClickToEmail", "email", c(x).attr("href"), n.SiteAlias, c(x).get(0))
                    }, 500)
                })
            };
        A.initClickToCallWidget = function() {
            var x;
            var C = c.layoutDevice ? c.layoutDevice.type : "mobile";
            var I = document.querySelectorAll(".dmCall.voipReplacement");
            for (x = 0; x < I.length; x++) {
                var H = c(I[x]);
                if (0 === H.find(".phoneNumHolder").length) {
                    var N = H.attr("phone");
                    H.append('\x3cspan class\x3d"text phoneNumHolder"\x3e' +
                        N + "\x3c/span\x3e");
                    "mobile" !== C && H.attr("href", null)
                }
            }
            if (c.dmrt.isEditorMode && window.editorParent && window.editorParent.$ && window.editorParent.$.dmx && window.editorParent.$.dmx.isTouchDevice && window.editorParent.$.onefw && !window.editorParent.$.onefw.inPreviewMode)
                for (x = 0; x < I.length; x++) H = c(I[x]), H.attr("href", "#");
            else c("body").off("mousedown.voipReplacement").on("mousedown.voipReplacement", ".dmCall.voipReplacement", function() {
                if ("mobile" === (c.layoutDevice ? c.layoutDevice.type : "mobile")) return -1 ===
                    window.location.href.indexOf("nee\x3d");
                var S = c(this),
                    X = S.find(".phoneNumHolder"),
                    ca = S.attr("phone");
                X.html(ca);
                ca && (X.show(), setTimeout(function() {
                    S.toggleClass("revealPhoneNum")
                }, 100), c(".phoneNumHolder").bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function() {
                    S.hasClass("revealPhoneNum") ? c(this).show() : c(this).hide()
                }))
            })
        };
        A.isIOS = function() {
            return /(iPhone|iPad|iPod)/.test(navigator.userAgent)
        };
        A.initBackToTop = function() {
            if (!(0 < !document.querySelectorAll(".dmBackToTop").length)) {
                var x =
                    window,
                    C;
                A.isBodyScrollable() || (x = c.layoutManager.getLayoutElement().iscrollBody.element);
                g(v()[1]);
                c(x).off("scroll.btt").on("scroll.btt", function() {
                    var I = v();
                    g(I[1])
                });
                c(".dmBackToTop").off("click.top").on("click.top", function() {
                    C = c(".dmBackToTop");
                    C.css({
                        opacity: "0",
                        visibility: "hidden"
                    });
                    A.isBodyScrollable() ? c.DM.scrollPreviewToElement(c("body"), 500, null) : c.DM.scrollPreviewToElement(c("#site_content"), 500, null)
                })
            }
        };
        A.initBlogs = function() {
            0 < document.querySelector(".dmRssContainer") && window.initBlogs &&
                window.initBlogs()
        };
        A.scrollPreviewToElement = function(x, C, I, H) {
            H = H || {};
            if (null != x && 0 !== x.length) {
                C = x.offset().top;
                var N = document.scrollingElement;
                N && N.tagName && "BODY" === N.tagName && (N = document.body);
                if (!A.isBodyScrollable() && c("#iscrollBody").length)
                    if (C -= c.layoutDevice.getTopFixedElementsOffset(), A.isUseIscroll()) c.layoutManager.getLayoutElement().iscrollBody.iscrollObject.scrollToElement(x.get(0), 400);
                    else {
                        N = document.getElementById("iscrollBody");
                        var S = [0, 0];
                        try {
                            S = [c.layoutManager.getLayoutElement().iscrollBody.element.scrollLeft(),
                                c.layoutManager.getLayoutElement().iscrollBody.element.scrollTop()
                            ]
                        } catch (X) {
                            S = [0, 0]
                        }
                        C = x.get(0) && "dm" === x.get(0).id ? 0 : C + S[1]
                    } x = c(N).scrollTop();
                S = window.editorParent.$ && window.editorParent.$("#_preview").height();
                c.DM.isBodyScrollable() || (S = c("#iscrollBody").height());
                S || (S = "undefined" !== typeof window.innerWidth ? window.innerHeight : 0);
                if (H.forceScroll || x > C || C > x + S) window.setEventsFirePolicy && window.setEventsFirePolicy(!1), x = 0, c.dmrt.isEditorMode && (x = parseInt(window.getComputedStyle(document.body).borderTopWidth,
                    10) || 0), N.scrollTo({
                    top: C - ((H.offsetTop || 0) + x),
                    behavior: H.noAnimation || rtCommonProps["isAutomation.test"] ? "instant" : "smooth"
                }), H = window.getEventsFirePolicy ? window.getEventsFirePolicy() : !0, window.setEventsFirePolicy && window.setEventsFirePolicy(H), I && I()
            }
        };
        A.scrollToAnchor = function(x, C) {
            function I(R) {
                /photoGallery/i.test(R.detail.type) && document.body.addEventListener("widget-loaded", H, {
                    once: !0
                })
            }

            function H(R) {
                /photoGallery/i.test(R.detail.type) && (J ? A.scrollPreviewToElement(x, C.duration, C.afterScroll,
                    C) : G = !0)
            }
            C = C || {};
            var N = 0,
                S = document.getElementById("hcontainer"),
                X = !!document.querySelector(".hasStickyHeader"),
                ca = document.querySelector(".dmHeaderContainer"),
                T = document.getElementById("hamburger-header-container");
            const L = document.getElementById("flex-header"),
                U = !!L && "true" === L.dataset.sticky;
            S && S.getBoundingClientRect().height && S.hasAttribute("data-scroll-responder-id") ? (X = S.classList.contains("scroll-responder_set"), X || (S.classList.add("no-transition"), S.classList.add("scroll-responder_set")),
                N = S.getBoundingClientRect().height, X || (S.classList.remove("no-transition"), S.classList.remove("scroll-responder_set"))) : T && T.getBoundingClientRect().height ? N = T.offsetHeight : X && ca ? N = ca.offsetHeight : U && (N = L.offsetHeight);
            S = c("#iscrollBody");
            S.length && (N += parseInt(S.css("margin-top").replace("px", ""), 10));
            C.additionalOffset && (N += C.additionalOffset);
            C.offsetTop = N;
            C.forceScroll = !0;
            var G = !1,
                J = !1;
            document.body.addEventListener("loading-widget", I);
            A.scrollPreviewToElement(x, C.duration, function() {
                setTimeout(function() {
                    document.body.removeEventListener("loading-widget",
                        I)
                }, 150);
                J = !0;
                G ? A.scrollPreviewToElement(x, C.duration, C.afterScroll, C) : C.afterScroll && C.afterScroll()
            }, C)
        };
        A.scrollToAnchorAfterNavigationWithSpacer = function() {
            const x = {};
            y(window.location.href) && /^#[\w\-]+$/.test(window.location.hash) && (c(".hasStickyHeader " + window.location.hash).length || c("#hamburger-header-container").length) && (x.noAnimation = !0, c.DM.scrollToAnchor(c(window.location.hash), x))
        };
        A.getScrollingPosition = function(x) {
            return v(x)
        };
        A.hydrateNonSSRWidgets = function(x = {}) {
            "runtime" in window &&
                (window.runtime.clearRegisteredWidgets(), x.elementIds && window.runtime.initWidgetsByIds(x.elementIds) || window.runtime.initWidgets({
                    instanceSettings: {
                        alwaysInit: !0
                    }
                }), window.runtime.updateConnectedWidgets());
            c.dmrt.initReady(c.layoutDevice ? c.layoutDevice.type : "mobile", x)
        };
        A.afterAjaxGeneralInits = function(x) {
            A.initNavbar();
            "runtime" in window && requestIdleCallback(() => {
                window.runtime.refreshWidgetsLegacy();
                window.runtime.refreshMatchingWidgets();
                window.runtime.initWidgetsListenerService()
            });
            A.initBlogs();
            A.initExternalAppButtons();
            A.initClickToCallWidget();
            A.initPhoneLinksTracking();
            A.initEmailLinksTracking();
            A.addTargetBlankToExternalLinks();
            initStickyHeaderIfNeeded();
            A.triggerInsiteEvents();
            A.hydrateNonSSRWidgets(x);
            window.editorParent.$ && window.editorParent.$.dmx && window.editorParent.$.dmx.isTouchDevice && document.addEventListener("touchmove", function(C) {
                1 !== C.scale && C.preventDefault()
            }, !0)
        };
        A.triggerInsiteEvents = function() {
            c.each(window._dm_insite || [], function(I, H) {
                c.DM.events.trigger("ruleTriggered", {
                    ruleName: H.name
                });
                c.DM.events.trigger("ruleTriggered:" + H.name, {
                    rule: H
                })
            });
            var x = function(I) {
                var H = I.attr("href");
                if (H && "" !== H && !c(this).is(".dmMap,.dmCall,.dmMap a,.dmCall a")) {
                    var N = 0 === H.indexOf("http");
                    return z("link_click", "click", H, n.SiteAlias, I.get(0), {
                        hitCallBack: N
                    })
                }
            };
            c(".dmSmartSection a[href]").off("click.insite").on("click.insite", function() {
                x(c(this))
            });
            var C = dmAPI.EVENTS.SHOW_POPUP + ".insite";
            c.DM.events.off(C).on(C, function(I, H) {
                c("#dmPopup [data-rule] a[href]").off("click.insite").on("click.insite",
                    function() {
                        x(c(this))
                    })
            })
        };
        A.afterAjaxGeneralLoadInits = function() {
            A.initBackToTop();
            c.dmrt.initLoad(c.layoutDevice ? c.layoutDevice.type : "mobile")
        };
        A.getCurrentPageUrl = function() {
            return n.InitialPageAlias
        };
        A.hideAllPopups = function(x) {
            "function" === typeof r && r(null, x)
        };
        A.testTouch = function() {
            var x = !1;
            "ontouchstart" in window || window.DocumentTouch && document instanceof window.DocumentTouch ? (x = !0, c("html").addClass("touch")) : c("html").addClass("pointer");
            return x
        };
        A.forceReplaceState = !1;
        (function(x) {
            const C =
                window.rtCommonProps["feature.flag.runOnReadyNewTask"] ? () => setTimeout(x, 0) : x;
            setTimeout(() => c(document).ready(C), 0)
        })(function() {
            (function() {
                var x, C = !1;
                try {
                    C = parent && parent.$ && parent.$.setTestProperty
                } catch (I) {}
                C && window.addEventListener("scroll", function() {
                    clearTimeout(x);
                    window.parent.$.setTestProperty("previewEventsDisabled", !0);
                    x = setTimeout(function() {
                        window.parent.$.setTestProperty("previewEventsDisabled", !1)
                    }, 400)
                }, {
                    passive: !0
                })
            })();
            c.DM.isTouchDevice = function() {
                var x = window.getSafe;
                return x("previewParent.isSitePreview") ?
                    !1 : "desktop" === x("$.layoutDevice.type") ? !1 : c.DM.testTouch()
            }();
            window.location.href.includes("nee\x3dtrue") || window.location.href.includes("preview\x3dtrue") || window.location.href.includes("cssOptimization") || (window.runtime.sendPerformanceMetrics({
                sendLog: !!window.rtCommonProps["feature.flag.performance.logs"]
            }), window.runtime.collectAndSendWidgetCount());
            c.DM._frameworkReady || (-1 === n.NavigationAreaParams.NavbarSize && (n.NavigationAreaParams.NavbarSize = Number.MAX_VALUE), null != n.CurrentPageUrl && (_currentPage =
                new D, _currentPage.pageContent = {
                    isHomePage: n.IsCurrentHomePage,
                    alias: n.InitialPageAlias,
                    sidebarPosition: n.sidebarPosition
                }), null != n.CurrentLinkType && (_currentPage.linkType = n.CurrentLinkType), n.IsCurrentHomePage && null != _currentPage && (_currentPage.linkType = k.LinkType.Home, _currentPage.pageUrl = A.getHomeLink()), A.afterAjaxGeneralInits(), c.DM._frameworkReady = !0, window.getDeferred?.("dmAjax")?.resolve());
            A.initRuntimeLinks();
            n.StartupCommand && n.StartupCommand();
            c(".imageWidget, .dmImageSlider, .dmPhotoGallery:not(.dmFacebookGallery), .dmHoursOfOperation").toArray().forEach(function(x) {
                x.setAttribute("editableWidget",
                    !0); - 1 < x.className.indexOf("imageWidget") ? x.setAttribute("data-widget-type", "image") : -1 < x.className.indexOf("dmImageSlider") ? x.setAttribute("data-widget-type", "imageSlider") : -1 < x.className.indexOf("dmPhotoGallery") ? x.setAttribute("data-widget-type", "photoGallery") : -1 < x.className.indexOf("dmHoursOfOperation") && x.setAttribute("data-widget-type", "hoursOfOperation")
            });
            A.handleCookiesNotification();
            window.runtime && dmAPI.getCurrentEnvironment() === dmAPI.Environment().LIVE && dmAPI.runOnReady("pushPageViewToGTM",
                function() {
                    window.delayFn(() => {
                        window.runtime.tagManagerAPI.pushPageViewEvent()
                    })
                })
        });
        c(window).on("load", function() {
            requestAnimationFrame(() => {
                c.DM.scrollToAnchorAfterNavigationWithSpacer()
            });
            A.afterAjaxGeneralLoadInits()
        })
    })(jQuery, window);
    B.dm_gaq_push_url = function(c) {
        var d = window._dm_gaq,
            b = window._paq,
            l = window._gaq;
        d.systemAggregatedGaqID && (d.pushEvent(d.systemAggregatedGaqID, "page_view", null, null, null, {
            page_path: c
        }), window.rtCommonProps["feature.flag.sites.google.analytics.gtag"] || l.push(["b._trackPageview",
            c
        ]));
        d.externalGaqID && (d.pushEvent(d.externalGaqID, "page_view", null, null, null, {
            page_path: c
        }), window.rtCommonProps["feature.flag.sites.google.analytics.gtag"] || l.push(["c._trackPageview", c]));
        "undefined" !== typeof b && null != b && b.push(["trackPageView", c]);
        if (d = window.dmsnowplow) d("setCustomUrl", c), d("trackPageView")
    };
    B.dm_gaq_push_event = z;
    (function(c) {
        c.fn.dmCss = function(d, b) {
            var l = "";
            b || (l = c(this).css(d));
            "" === b ? l = c(this).css(d, "") : -1 !== b.indexOf("!important") ? (b = b.replace("!important", ""), c(this).css(d,
                ""), c(this).each(function() {
                var h = c(this).attr("style");
                c(this).attr("style", (h ? h + ";" : "") + d + ": " + b + " !important")
            }), l = c(this)) : l = c(this).css(d, b);
            return l
        }
    })(jQuery);
    a.fn.imgCover = function(c) {
        c = c || {
            type: "cover"
        };
        this.each(function(d, b) {
            d = a(b);
            if (d.is("img")) {
                b = d.parent();
                var l = d.attr("src");
                d.hide();
                b.addClass("dmCoverImgContainer").css({
                    backgroundImage: 'url("' + l.replace("'", "\\'") + '")',
                    backgroundSize: c.type,
                    backgroundRepeat: "no-repeat",
                    backgroundPosition: "center"
                })
            }
        });
        return this
    };
    B.showOverlay =
        t;
    B.dmShowPopupPage = function(c, d, b, l, h) {
        c = c.length ? c.get(0) : c;
        window.runtime.routerAPI.navigationService.popupService.showPopupPage(c, d, b, l, h)
    };
    B.dmShowPopup = w;
    B.dmHidePopup = r;
    B.closePopupOnEsc = function() {
        a(document).on("keyup", q)
    };
    B.dmModifyPopupPageContent = function(c) {
        var d = a("body").find("#dmPopup");
        d && (d = d.find(".data"), d.empty(), c.appendTo(d))
    };
    B.handleImageLoadError = function(c) {
        c = a(c);
        c.hide();
        var d = c.data("dm-image-path");
        d && (c.removeAttr("data-dm-image-path"), c.removeData("dm-image-path"),
            c.on("load", function() {
                var b = a(this);
                b.off("load");
                b.show()
            }), c.attr("src", d))
    };
    B.setSmartSiteCookiesInternal = function(c, d, b, l) {
        var h = 24 * window.expireDays,
            u = new Date,
            f = a.getCookie(c);
        null == f && (f = u.getTime());
        a.setCookie(d, f, h);
        a.setCookie(c, u.getTime(), h);
        c = 1 * a.getCookie(b) + 1;
        if (1 === c || u.getTime() - f > window.visitLength) a.setCookie(l, u.getTime(), h), a.setCookie(b, c, h)
    };
    B.setCustomWidgetScripts = function(c) {
        null != c && c.length && c.forEach(function(d) {
            window.runtime.API.customWidgetsApi.addWidget(d.widgetId,
                d.version, atob(d.js))
        })
    };
    B.setCustomWidgetStrings = function(c) {
        c && c.length && Object.keys(c).forEach(function(d) {
            window.runtime.API.customWidgetsApi.setWidgetStrings(d, c[d])
        })
    };
    B.flexSite = !!document.getElementById("flex-header")
})(jQuery, window);

function initStickyHeaderIfNeeded() {
    if (!document.querySelector(".responsiveTablet")) {
        var a = $(".dmHeaderContainer");
        a = a.length ? a : $("#desktopHeaderBox");
        var B = $(".hasStickyHeader").length,
            z = $("#stickyHeaderSpacer");
        (B = B && a.length && ($(".forceStickyHeader").length || "fixed" === a.css("position")) && $(".d-header-wrapper:visible").length) && !z.length ? $('\x3cdiv id\x3d"stickyHeaderSpacer" class\x3d"stickyHeaderSpacer"\x3e\x3c/div\x3e').insertAfter(a) : B || z.remove()
    }
}

function generateFlexPopupTemplate() {
    if (window.flexSite && !document.getElementById("dmPopupContainer")) {
        var a = document.createElement("div");
        a.id = "dmPopupContainer";
        a.innerHTML = '\n            \x3cdiv class\x3d"dmPopupMask" id\x3d"dmPopupMask"\x3e\x3c/div\x3e\n            \x3cdiv id\x3d"dmPopup" class\x3d"dmPopup"\x3e\n                \x3cdiv class\x3d"dmPopupCloseWrapper"\x3e \x3cdiv class\x3d"dmPopupClose dm-common-icons-close oneIcon" onclick\x3d"dmHidePopup(event, {classicClose: true });"\x3e\x3c/div\x3e \x3c/div\x3e\n                \x3cdiv class\x3d"dmPopupTitle"\x3e \x3cspan\x3e\x3c/span\x3e Share by:\x3c/div\x3e \n                \x3cdiv class\x3d"data"\x3e\x3c/div\x3e\n            \x3c/div\x3e\n';
        document.body.appendChild(a)
    }
};
(function(a, B) {
    function z(m) {
        null == m && (m = !1);
        var k = a(Parameters.NavigationAreaParams.NavbarSelector),
            n = Parameters.NavigationAreaParams.NavbarSize;
        m && (k = a(Parameters.NavigationAreaParams.SubNavbarSelector));
        var c = k;
        if (0 < c.length) {
            var d = k.children("li:has(a):not(.dmHideFromNav)");
            a.layoutDevice && (d = d.filter(":not(.dmHideFromNav-" + a.layoutDevice.type + ")"));
            0 === d.length && (d = k.children("a"));
            if ("inline" === d.eq(0).css("display") && "block" !== d.eq(0).children(":first-child").css("display")) c.length = 0;
            else {
                var b =
                    c.find(".dmLess");
                0 === b.length && (b = c.find("#dmNavigationLessAnchor"));
                0 < b.length && b.remove();
                b = c.find(".dmMore");
                0 === b.length && (b = c.find("#dmNavigationMoreAnchor"));
                0 < b.length && b.remove();
                var l = !1,
                    h = 0,
                    u = 0,
                    f = 0,
                    p = 0;
                d.length > n + 1 ? d.each(function(e) {
                        var g = a(this);
                        1 === this.nodeType && (0 === e && ("inline-block" === g.css("display") && g.css("display"), g.clone().css("display", g.css("display")).css("float", g.css("float"))), e >= n ? (p++, e == n && (u = g.offset().top - u - f, h += f + u), g.changeDisplay("none"), g.addClass("dmNavCollapsedItem"),
                            g.removeClass("dmNavShownItem"), g.css("position", "relative"), g.removeClass("p_list_last"), g.hasClass("dmNavigationMoreAnchor") || g.hasClass("dmMore") || (g.css("position", "relative"), g.removeClass("p_list_last"), g.addClass("p_list_item"), g.changeDisplay("none"), g.css("opacity", "0"), g.bind("transitionend", function() {
                                g.changeDisplay("none")
                            })), g.css("top", -h + "px"), h += g.height() + u, g.changeDisplay("none"), l = !0) : e === n - 1 ? (g.addClass("dmNavShownItem"), u = g.offset().top, f = g.height()) : g.addClass("dmNavShownItem"))
                    }) :
                    d.addClass("dmNavShownItem");
                l && (m = t(k, "more", m), c.filter(":not('#hiddenNavPlaceHolder *')").children("li").eq(-1).after(m));
                var y = [];
                c.find("li").each(function(e, g) {
                    g = a(this);
                    "inline-block" === g.css("display") ? (y[e] = !0, g.css("display", "inline")) : y[e] = !1
                });
                c.find("li").each(function(e, g) {
                    y[e] && (e = a(this), "inline" === e.css("display") && e.css("display", "inline-block"))
                })
            }
        }
    }

    function t(m, k, n) {
        null == n && (n = !1);
        var c = a("#navAnchor");
        0 === c.length && (c = a("\x3ca\x3e\x3c/a\x3e"), c.attr("name", "nav"), c.attr("id",
            "navAnchor"), c.insertBefore(m.parent()));
        var d = m.children("li:has(a):not(.dmHideFromNav)");
        a.layoutDevice && (d = d.filter(":not(.dmHideFromNav-" + a.layoutDevice.type + ")"));
        var b = "li";
        0 === d.length && (d = m.children("a"), b = "a");
        c = a([]);
        if ("li" === b) {
            0 === c.length && (c = a('\x3cli class\x3d"p_list_item p_list_last dmNavShownItem"\x3e\x3c/li\x3e'));
            var l = d.eq(Parameters.NavigationAreaParams.NavbarSize - 1).css("display");
            "more" === k ? (m = (m = m.attr("dmmoreicon")) ? " fontIcon hasFontIcon " + m : "", c.addClass("dmMore"), c.removeClass("dmLess"),
                    c.attr("id", "dmMore"), c.html('\x3ca onclick\x3d"jQuery.DM.expandNavigation(' + n + ");$.DM.afterExpandCollapse();return false;\" href\x3d\"#\" class\x3d'dmUDNavigationItem_dmMore dmMorea dmNavigationMoreAnchor'\x3e\x3cdiv class\x3d'navIconBg'\x3e\x3cdiv class\x3d'navIcon " + m + "'\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv id\x3d'dmMoreNavText' class\x3d'navText'\x3e" + Parameters.NavigationAreaParams.MoreButtonText + "\x3c/div\x3e\x3cdiv class\x3d'navArrowBg'\x3e\x3cdiv class\x3d'navArrow'\x3e\x3c/div\x3e\x3cdiv class\x3d'navArrowBottom'\x3e\x3c/div\x3e\x3c/div\x3e\x3c/a\x3e")) :
                "less" === k && (m = (m = m.attr("dmlessicon")) ? " fontIcon hasFontIcon " + m : "", c.addClass("dmLess"), c.removeClass("dmMore"), c.attr("id", "dmLess"), c.html("\x3ca id\x3d'dmLess' onclick\x3d\"jQuery.DM.collapseNavigation(" + n + ");$.DM.afterExpandCollapse();return false;\" href\x3d\"#\" class\x3d'dmUDNavigationItem_dmLess dmLessa dmNavigationLessAnchor'\x3e\x3cdiv class\x3d'navIconBg'\x3e\x3cdiv class\x3d'navIcon " + m + "'\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv id\x3d'dmLessNavText' class\x3d'navText'\x3e" + Parameters.NavigationAreaParams.LessButtonText +
                    "\x3c/div\x3e\x3cdiv class\x3d'navArrowBg'\x3e\x3cdiv class\x3d'navArrow'\x3e\x3c/div\x3e\x3cdiv class\x3d'navArrowBottom'\x3e\x3c/div\x3e\x3c/div\x3e\x3c/a\x3e"))
        } else "a" === b && (0 === c.length && (c = a('\x3ca class\x3d"p_list_item p_list_last"\x3e\x3c/a\x3e')), l = d.eq(Parameters.NavigationAreaParams.NavbarSize - 1).css("display"), "more" === k ? (c.attr("id", "dmMore"), c.addClass("dmNavigationMoreAnchor"), c.addClass("dmMore"), c.removeClass("dmLess"), c.unbind("click").click(function(h) {
                jQuery.DM.expandNavigation(n)
            }),
            c.text(Parameters.NavigationAreaParams.MoreButtonText)) : "less" === k && (c.attr("id", "dmLess"), c.addClass("dmNavigationLessAnchor"), c.addClass("dmLess"), c.removeClass("dmMore"), c.unbind("click").click(function(h) {
            jQuery.DM.collapseNavigation(n)
        }), c.text(Parameters.NavigationAreaParams.LessButtonText)), c.css("cursor", "pointer"));
        c.css("position", "relative");
        c.changeDisplay(l);
        "more" === k && c.css("opacity", "1");
        "less" === k && c.css("opacity", "0");
        return c
    }
    var w = !1,
        q = null;
    a.DM = a.DM || {};
    var r = {};
    (function(m) {
        m.fn.changeDisplay =
            function(k, n) {
                k && (k = k.replace("!important", ""), m(this).css("display", ""), n = n ? "" : " !important", m(this).attr("style", (m(this).attr("style") ? m(this).attr("style") + ";" : "") + "display: " + k + n));
                "" === k && m(this).css("display", k)
            }
    })(jQuery);
    r.afterExpandCollapse = function() {
        a.layoutManager.cssCalculations();
        a.DM.isUseIscroll() && a.layoutManager.refreshIscroll();
        q && q()
    };
    r.handleExpandingNav = function(m) {
        var k = m.context;
        m = m.isOpen;
        if (navigator.userAgent.toLowerCase().match(/(iPad|iPhone|iPod)/i))
            if (m) k.currentVideoElement =
                a('video[controls\x3d"controls"]'), k.currentVideoElement.addClass("toPixel"), k.clickToCallArray = a('a[href^\x3d"tel:"]').map(function(n) {
                    n = a(this);
                    var c = n.attr("href");
                    n.removeAttr("href");
                    return {
                        element: n,
                        href: c
                    }
                }), k.textInputsArray = a('input[type\x3d"text"]'), k.textInputsArray.addClass("toPixel");
            else {
                try {
                    k.currentVideoElement && (k.currentVideoElement.removeClass("toPixel"), k.currentVideoElement = void 0)
                } catch (n) {}
                try {
                    k.clickToCallArray && (a.each(k.clickToCallArray, function(n, c) {
                        c.element.attr("href",
                            c.href)
                    }), k.clickToCallArray = void 0)
                } catch (n) {}
                try {
                    k.textInputsArray && (k.textInputsArray.removeClass("toPixel"), k.textInputsArray = void 0)
                } catch (n) {}
            }
    };
    r.restoreDefaultNavigationStyles = function() {
        var m = a(Parameters.NavigationAreaParams.NavbarSelector);
        if (0 < m.length) {
            var k = m.children("li:has(a):not(.dmHideFromNav)");
            a.layoutDevice && (k = k.filter(":not(.dmHideFromNav-" + a.layoutDevice.type + ")"));
            0 === k.length && (k = m.children("a"));
            k.each(function() {
                var n = a(this);
                this.nodeType === Node.ELEMENT_NODE && (n.changeDisplay(""),
                    n.css({
                        position: "",
                        top: "",
                        opacity: "",
                        transform: ""
                    }), n.unbind("transitionend"))
            })
        }
    };
    r.initNavbar = function(m) {
        null == m && (m = !1);
        if (!a.DM._frameworkReady || m) {
            m = a(Parameters.NavigationAreaParams.NavbarSelector);
            var k = a(".newNavigationElementPlaceHolder");
            w = !1;
            0 < k.length && (Parameters.NavigationAreaParams.NavbarSelector = ".newNavigationElementPlaceHolder #dmNav", w = !0);
            w ? z() : 0 < m.length ? _currentPage.linkType === a.DM.Enum.LinkType.Home || null != _currentPage.pageContent && _currentPage.pageContent.isHomePage || null ==
                _currentPage.pageContent && a.DM.isCurrentHomePage() ? (m.changeDisplay("block", !0), z(), r.initSubNavbar()) : Parameters.NavigationAreaParams.ShowBackToHomeOnInnerPages && null != _currentPage.pageContent && _currentPage.pageContent.alias === Parameters.DefaultPageAlias && !w ? (m.css("cssText", "display: none !important"), showBackToHome && showBackToHome(), r.initSubNavbar(), a(".dm_subMenu").each(function(n) {
                    a(this).changeDisplay("block", !0)
                })) : null != _currentPage.pageContent || a.DM.isCurrentHomePage() ? (m.changeDisplay("block",
                    !0), z()) : (m.changeDisplay("none"), showBackToHome && showBackToHome(), r.initSubNavbar(), a(".dm_subMenu").each(function(n) {
                    a(this).changeDisplay("block", !0)
                })) : !w && _currentPage.linkType !== a.DM.Enum.LinkType.Home && !_currentPage.pageContent.isHomePage && Parameters.NavigationAreaParams.ShowBackToHomeOnInnerPages && (0 < a("#dmPostBackToMain").length || _currentPage.pageContent.alias === Parameters.DefaultPageAlias) && (showBackToHome(), r.initSubNavbar());
            a.layoutManager.afterInitNav()
        }
    };
    r.initSubNavbar = function() {
        0 <
            a(Parameters.NavigationAreaParams.SubNavbarSelector).length && z(!0)
    };
    r.hangEventsOnMoreLess = function(m) {
        m && (q = m)
    };
    r.expandNavigation = function(m) {
        null == m && (m = !1);
        var k = a(Parameters.NavigationAreaParams.NavbarSelector),
            n = Parameters.NavigationAreaParams.NavbarSize;
        m && (k = a(Parameters.NavigationAreaParams.SubNavbarSelector));
        var c = k;
        if (0 < c.length) {
            var d = c.find(".dmMore");
            d.length || (d = c.find(".dmNavigationMoreAnchor"));
            if (0 < d.length) {
                d.remove();
                var b = t(k, "less", m);
                c.filter(":not('#hiddenNavPlaceHolder *')").children("li").eq(-1).after(b);
                var l = 0,
                    h = 0,
                    u = 0,
                    f = 0;
                m = k.children("li:has(a):not(.dmHideFromNav)");
                a.layoutDevice && (m = m.filter(":not(.dmHideFromNav-" + a.layoutDevice.type + ")"));
                0 === m.length && (m = k.children("a"));
                var p = 0;
                m.each(function(g) {
                    g = a(this);
                    g.is(":visible") && (1 === this.nodeType && 0 === p ? (f = g.offset().top, u = g.height()) : 1 === this.nodeType && 1 === p && (f = g.offset().top - f - u), 1 === this.nodeType && p >= n && (h = parseInt(h, 10) + parseInt(g.height(), 10), h += f), p++)
                });
                b.height();
                var y = "";
                m.each(function(g) {
                    var v = a(this);
                    v.addClass("dmNavShownItem");
                    0 === g && v.clone().css("display", v.css("display")).css("float", v.css("float"));
                    1 === this.nodeType && g === n - 1 ? (u = v.height(), y = v.css("display")) : 1 === this.nodeType && g >= n && (v.hasClass("dmNavigationLessAnchor") || v.hasClass("dmLess") ? (h = v.height(), g = l + h + f, l += h, v.addClass("p_list_item"), v.changeDisplay(y), b.css("top", -g + "px"), v.css("transition", "transform 0.2s linear, opacity 0.4s linear").css("opacity", "1"), v.css("transform", "translate(0px, " + g + "px)")) : (h = v.height(), g = l + u + f, l += u + f, u = h, v.removeClass("p_list_last"),
                        v.addClass("p_list_item"), v.removeClass("dmNavCollapsedItem"), v.changeDisplay(y), v.css("transition", "transform 0.2s linear, opacity 0.4s linear").css("opacity", "1"), "0px" !== v.css("top") && v.css("transform", "translate(0px, " + g + "px)")), v.bind("transitionend", function() {
                        v.changeDisplay(y)
                    }))
                });
                null != Parameters.AfterMoreLessCommand && Parameters.AfterMoreLessCommand()
            }
            "inline-block" === y && (c.hide(), c.show());
            var e = !1;
            c.find("li").each(function(g, v) {
                g = a(this);
                "inline-block" == g.css("display") && (e = !0, g.css("display",
                    "inline"))
            });
            e && c.find("li").each(function(g, v) {
                a(this).css("display", "inline-block")
            })
        }
    };
    r.fullCollapseNavigation = function(m) {
        z(m);
        a.layoutManager.afterInitNav()
    };
    r.collapseNavigation = function(m) {
        null == m && (m = !1);
        var k = a(Parameters.NavigationAreaParams.NavbarSelector),
            n = Parameters.NavigationAreaParams.NavbarSize;
        m && (k = a(Parameters.NavigationAreaParams.SubNavbarSelector));
        var c = k;
        if (0 < c.length) {
            var d = c.find(".dmLess");
            0 === d.length && (d = c.find(".dmNavigationLessAnchor"));
            if (0 < d.length) {
                d.remove();
                var b =
                    0;
                m = t(k, "more", m);
                c.filter(":not('#hiddenNavPlaceHolder *')").children("li").eq(-1).after(m);
                c = k.children("li:has(a):not(.dmHideFromNav)");
                a.layoutDevice && (c = c.filter(":not(.dmHideFromNav-" + a.layoutDevice.type + ")"));
                0 === c.length && (c = k.children("a"));
                c.each(function(l) {
                    var h = a(this);
                    0 === l && h.clone().css("display", h.css("display")).css("float", h.css("float"));
                    l <= n && 1 === this.nodeType && (b += h.height());
                    1 === this.nodeType && l >= n ? h.hasClass("dmNavigationMoreAnchor") || h.hasClass("dmMore") || (h.css("position",
                        "relative"), h.removeClass("p_list_last"), h.addClass("p_list_item"), h.addClass("dmNavCollapsedItem"), h.removeClass("dmNavShownItem"), h.changeDisplay("none"), h.css("opacity", "0"), h.bind("transitionend", function() {
                        h.changeDisplay("none")
                    })) : h.addClass("dmNavShownItem")
                });
                null != Parameters.AfterMoreLessCommand && Parameters.AfterMoreLessCommand()
            }
        }
    };
    a.extend(a.DM, r)
})(jQuery, window);
$.extend({
    dmrt: function(a) {
        function B(r) {
            return !r.ported
        }
        var z = $.Deferred(),
            t = $.Deferred(),
            w = {},
            q = !!$.DM.getQueryParam(window.location.href, "nee");
        $.modules = {};
        return {
            initReady: function(r, m) {
                m = m || {};
                var k = {
                        start: [],
                        normal: [],
                        end: []
                    },
                    n;
                for (n in w) {
                    var c = w[n],
                        d = c.runAt || "normal";
                    k[d] || (d = "normal");
                    k[d].push(c)
                }
                k.start.concat(k.normal, k.end).filter(B).forEach(function(b) {
                    function l() {
                        b.all && b.all.ready && b.all.ready(q, m);
                        b[r] && b[r].ready ? b[r].ready(q, m) : b.default.ready(q, m)
                    }
                    a && b.selector && !b.eager ? window.runtime.registerWidget({
                        selector: b.selector,
                        fn: l
                    }) : l()
                });
                z.resolve()
            },
            initLoad: function(r, m) {
                function k(n) {
                    var c = m || {};
                    n.all && n.all.load && n.all.load(q, c);
                    n[r] && n[r].load ? n[r].load(q, c) : n.default.load(q, c)
                }
                Object.keys(w).filter(function(n) {
                    return !w[n].ported
                }).forEach(function(n) {
                    n = w[n];
                    a && n.selector && !n.eager ? window.runtime.registerWidget({
                        selector: n.selector,
                        fn: k.bind(this, n)
                    }) : k(n)
                });
                t.resolve()
            },
            refreshComponent: function(r, m, k, n) {
                function c() {
                    b[m].ready ? b[m].ready(k, d) : b.default.ready(k, d);
                    b[m].load ? b[m].load(k, d) : b.default.load(k, d)
                }
                var d =
                    n || {},
                    b = w[r];
                a && b.selector && !b.eager ? window.runtime.registerWidget({
                    selector: b.selector,
                    fn: c
                }) : c()
            },
            register: function(r, m) {
                w[r] = m
            },
            components: w,
            isEditorMode: q,
            onReady: function(r) {
                return z.then(r)
            },
            onLoad: function(r) {
                return t.then(r)
            }
        }
    }(window.rtCommonProps["feature.flag.lazy.widgets"])
});
(function(a, B) {
    function z(q) {
        for (var r = document.getElementsByTagName("script"), m = r.length; m--;)
            if (r[m].src == q) return !0;
        return !1
    }

    function t() {
        a('a[dmle_extension\x3d"agendize_appointments_book"]').each(function() {
            1 > this.getElementsByClassName("agendizeBtnOverlay").length && a("\x3cdiv class\x3d'agendizeBtnOverlay'\x3e\x3c/div\x3e").prependTo(this)
        })
    }

    function w() {
        z("https://app.agendize.com/web/scheduling.js") || a("head").append(" \x3cscript type\x3d'text/javascript'\x3evar scheduling \x3d {server: 'app.agendize.com', lang: 'en', gaTrackingId:Parameters.SiteAlias};\x3c/script\x3e \x3cscript type\x3d'text/javascript' src\x3d'https://app.agendize.com/web/scheduling.js'\x3e\x3c/script\x3e ");
        var q = a('a[dmle_extension\x3d"agendize_appointments_book"]').attr("companyId");
        a('a[dmle_extension\x3d"agendize_appointments_book"] .agendizeBtnOverlay').off("click.agendizePopup").on("click.agendizePopup", function() {
            var r = a.layoutManager._isEditorMode;
            B.openScheduling && !r ? B.openScheduling(q) : console.log("Error to open booking configuration from external JS file")
        })
    }
    a.extend(a.modules, {
        basemodule: {}
    });
    a.dmrt.register("agendize", {
        selector: 'a[dmle_extension\x3d"agendize_appointments_book"]',
        default: {
            ready: function(q,
                r) {
                a('a[dmle_extension\x3d"agendize_appointments_book"]').length && (t(), w())
            },
            load: function(q, r) {}
        },
        mobile: {},
        tablet: {},
        desktop: {}
    })
})(jQuery, window);
(function(a) {
    a.extend(a.modules, {
        basemodule: {}
    });
    a.dmrt.register("basemodule", {
        default: {
            ready: function(B, z) {},
            load: function(B, z) {}
        },
        mobile: {},
        tablet: {},
        desktop: {}
    })
})(jQuery);
(function(a) {
    var B = {
        selector: '[dmle_extension^\x3d"internal_blog"]',
        runAt: "start",
        initBlogs: function(z) {
            $('[dmle_extension\x3d"internal_blog_list"]').each(function(t, w) {
                B.initBlog(w)
            })
        },
        initBlog: function(z) {
            var t = $(z),
                w = t.find(".postArticle .inner"),
                q = t.attr("list-layout"),
                r = t.attr("blog-posts-feature-flag");
            B.initAnimations(t, w);
            B.handleBlogTitle(t);
            B.addActionText(t, w);
            return $.waitUntil(function() {
                return 0 < document.body.offsetWidth && $(z).is(":visible")
            }).done(function() {
                setTimeout(function() {
                    B.limitDescRows(t,
                        w);
                    "list_slider" === q ? B.initListSlider(t) : "recent_posts" === q ? B.initRecentPosts(t) : B.initLargeList(t);
                    t.css("opacity", 1);
                    "false" === r && B.setEqualBlogPostsContentHeight(t);
                    $.wow && $.wow.scrollHandler()
                }, 0)
            })
        },
        handleBlogTitle: function(z) {
            z = z.find(".blog-name");
            0 === z.text().length && z.css("display", "none")
        },
        initLargeList: function(z) {
            z.find(".dmWidget").unbind("click").click(B.loadMorePosts)
        },
        initRecentPosts: function(z) {
            z.find(".dmWidget").unbind("click").click(B.loadMorePosts)
        },
        initListSlider: function(z) {
            B.initSlider(z)
        },
        setEqualBlogPostsContentHeight: function(z) {
            var t = [".postArticle .inner"],
                w;
            for (w = 0; w < t.length; w++) this.setEqualElementsHeight(z, t[w])
        },
        setEqualElementsHeight: function(z, t) {
            var w = 0;
            z = $(z);
            t = z.find(t);
            "large_list" === z.attr("list-layout") && (w = 15);
            "1" === z.attr("posts-per-row") || $("body").hasClass(".dmMobileBody") || this.setEqualHeight(t, w)
        },
        setEqualHeight: function(z, t) {
            var w = [],
                q, r = 0;
            for (q = 0; q < z.length; q++) w.push(z[q]);
            for (q = 0; q < w.length; q++) z = parseInt(window.getComputedStyle(w[q]).height, 10), r < z && (r =
                z);
            r += t;
            for (q = 0; q < w.length; q++) w[q].style.height = r.toString() + "px"
        },
        limitDescRows: function(z, t) {
            "true" !== z.attr("blog-posts-feature-flag") && (z = z.attr("visible-post-lines"), t = t.find(".postDescription"), z = "all" === z ? "none" : $.getHeightForVisibleRows(z, t), t.css("maxHeight", z))
        },
        initSlider: function(z) {
            function t() {
                var q = w.data();
                q && q.flexslider && (q.flexslider = void 0);
                w.flexslider({
                    selector: ".postArticle",
                    controlNav: !1,
                    directionNav: !0
                })
            }
            var w = z.find(".inner");
            w.flexSlider ? t() : $.DM.loadExternalScriptAsync("/_dm/s/rt/scripts/vendor/flexslider/jquery.flexslider.min.js",
                t)
        },
        initAnimations: function(z, t) {
            z = z.attr("posts-animation");
            "none" !== z && (t.attr("data-anim-desktop", z), window.runtime.initAnimations())
        },
        addActionText: function(z, t, w) {
            w = w || {};
            (z = w.actionText ? w.actionText : z.attr("action-text")) && "" != z.trim() ? t.find(".readMore a").text(z) : t.find(".readMore a").hide()
        },
        loadMorePosts: function(z) {
            var t = $(z.currentTarget);
            z = {};
            var w = t.closest(".mainBlog");
            z.commandID = "d1_loadMorePosts";
            z["from-item"] = t.closest(".mainBlog").find(".postArticle").length;
            z["visible-items"] =
                w.attr("visible-items");
            z["list-layout"] = w.attr("list-layout");
            z["visible-post-lines"] = w.attr("visible-post-lines");
            z["search-tags"] = w.attr("search-tags");
            z["more-posts-text"] = w.attr("more-posts-text");
            z["search-term"] = w.attr("search-term");
            z["skip-post-index"] = w.attr("skip-post-index");
            z["show-action-text"] = w.attr("show-action-text");
            z["show-more-posts-text"] = w.attr("show-more-posts-text");
            z["show-author"] = w.attr("show-author");
            z["posts-padding"] = w.attr("posts-padding");
            z["blog-posts-feature-flag"] =
                w.attr("blog-posts-feature-flag");
            var q = "/_dm/s/rt/api/public/wpl/site/" + Parameters.SiteAlias;
            if (getSafe("previewParent.isSitePreview") || $.dmrt.isEditorMode) q += "?preview\x3dtrue";
            fetch(q, {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify(z),
                mode: "cors"
            }).then(r => {
                if (!r.ok) throw Error("Network response was not ok");
                return r.json()
            }).then(r => {
                if (r && r.postList) {
                    r = $(r.postList);
                    var m = r.find(".postArticle"),
                        k = w.find(".lastArticle");
                    k.removeClass("lastArticle");
                    m.insertAfter(k);
                    B.initBlog(w);
                    window.rtCommonProps["feature.flag.single.wow"] && window.runtime.initAnimations();
                    0 === r.find(".morePosts").length && t.remove()
                }
            }).catch(r => {
                console.error("Error fetching data:", r)
            })
        },
        initSearchWidgets: function(z) {
            $(".dmBlogSearchClickOverlay").each(function(t, w) {
                $(w).unbind("click").click(function(q) {
                    B.searchBlog($(q.target).siblings(".dmBlogSearchInput"), z)
                })
            });
            $(".dmBlogSearchInput").each(function(t, w) {
                $(w).keypress(function(q) {
                    13 === q.keyCode && B.searchBlog($(q.target), z)
                })
            })
        },
        searchBlog: function(z,
            t) {
            var w = $(z).closest(".dmBlogSearch").attr("searchpage");
            (z = $(z).val()) && 0 < z.trim().length && (w = "/" + w + "?searchTerm\x3d" + encodeURIComponent(z), t ? getSafe("editorParent.$.dmfw.previewNavigateTo") && (w = "/site/" + Parameters.SiteAlias + w, editorParent.$.dmfw.previewNavigateTo({
                url: w,
                navigateWithAjax: !0
            })) : (previewParent && previewParent.isSitePreview && (w = "/site/" + Parameters.SiteAlias + (w + "\x26preview\x3dtrue")), $.DM.ajaxNavigateToLink(w)))
        },
        default: {
            ready: function(z) {
                B.initBlogs(z);
                B.initSearchWidgets(z)
            },
            load: function(z) {}
        },
        mobile: {
            load: function(z) {}
        },
        tablet: {
            load: function(z) {}
        },
        desktop: {
            load: function(z) {}
        }
    };
    $.dmrt.register("blogList", B)
})($);
(function(a) {
    function B(t) {
        t = t || a(".dmCoupon");
        if (t.length) {
            a.DM.insideEditor() || window.location.href.indexOf("nee\x3d");
            for (var w = 0; w < t.length; w++) {
                var q = a(t[w]),
                    r = parseInt(q.attr("expdt"));
                q.find(".dmCouponOfferBorder").hide();
                0 < r && new Date(r) < new Date && (q.addClass("expiredCoupon"), q.addClass("displayNoneImportant"));
                var m = !1;
                q.on("click", ".dmUseCoupon", function() {
                    if (!a.DM.insideEditor() && !m) {
                        m = !0;
                        var c = a(this).parents(".dmCoupon"),
                            d = c.find(".dmUsePopupWrapper");
                        d.find("#dm").remove();
                        a.loadScript("/editor/nee/utils/html2canvas.js").then(function() {
                            function b(f,
                                p, y) {
                                u && (u.css("opacity", "1"), u.remove());
                                var e = a('\x3cimg id\x3d"couponImg"\x3e');
                                e.attr("src", f);
                                var g = d.find(".popupData").attr("print-coupon-message");
                                d.find(".popupData").empty();
                                e.appendTo(d.find(".popupData"));
                                a.layoutDevice && "desktop" == a.layoutDevice.type && (a('\x3cp\x3e\x3cinput class\x3d"ptOrangeBtn" type\x3d"button" value\x3d"' + g + '" onclick\x3d"$.DM.printCoupon(\'' + f + "')\"/\x3e\x3c/p\x3e").appendTo(d.find(".popupData")), y += 35);
                                dmShowPopup(d, "", "couponPopupData", p, y + 50);
                                m = !1
                            }
                            var l = d.parents(".dmCoupon").find(".dmCouponDesign"),
                                h = l,
                                u = null;
                            "mobile" === getSafe("$.layoutDevice.type") && (u = a('\x3cdiv id\x3d"dm"\x3e\x3cdiv class\x3d"dmBody"\x3e\x3c/div\x3e\x3c/div\x3e'), u.find(".dmBody").append(l.parents('[dmle_extension\x3d"coupon"]').clone()), h = u.find(".dmCouponDesign"), 0 === h.length ? (h = l, u = null) : (u.css({
                                position: "absolute",
                                top: 0,
                                left: 0,
                                "z-index": 1E12
                            }), u.css("opacity", "0"), u.appendTo("body")));
                            h.find("img").length ? (l = h.find("img"), b(l.attr("src"), l.width() + 20, l.height())) : html2canvas(h, {
                                onrendered: function(f) {
                                    b(f.toDataURL(),
                                        f.width + 20, f.height)
                                }
                            });
                            dm_gaq_push_event("CouponWidget", c.attr("name"), null, Parameters.SiteAlias, c)
                        })
                    }
                });
                r = q.find(".dmShareCoupon");
                var k = q.find(".dmSharePopupWrapper");
                r.click(function(c) {
                    n(c) && dmShowPopup(k, a(this).html() + ":")
                });
                var n = function(c) {
                    c = window.editorParent.jQuery && window.editorParent.jQuery.onefw && window.editorParent.jQuery.onefw.inPreviewMode;
                    return !(window.editorParent && window.editorParent.jQuery && window.editorParent.jQuery.dmfw) || window.editorParent.jQuery.onefw && window.editorParent.jQuery.onefw.inPreviewMode ?
                        c ? (c = {
                            relativeDirection: "top",
                            tipsContainer: window.editorParent.$ ? window.editorParent.$("#_preview_w") : void 0,
                            bodyText: "You can't use the widget to share a site from Preview mode.",
                            title: "Share"
                        }, window.editorParent.$ && window.editorParent.$.dmpages && window.editorParent.$.dmpages.showOuterLinkPrompt(null, "_blank", a(event.target), c), !1) : !0 : !1
                };
                k.find("a").click(function(c) {
                    return n(c)
                })
            }
        }
    }

    function z(t) {
        var w = window.open("about:blank", "_new", "height\x3d400,width\x3d600");
        w.document.write(`
        <html>
          <head><title></title></head>
          <body><img src="${t}"/></body>
        </html>
        `);
        w.document.close();
        w.addEventListener("load", function() {
            w.focus();
            w.print()
        });
        w.addEventListener("afterprint", function() {
            w.close()
        });
        return !0
    }
    a.DM.initCouponWidget = a.DM.initCouponWidget || B;
    a.DM.printCoupon = a.DM.printCoupon || z;
    a.dmrt.register("coupon", {
        selector: ".dmCoupon",
        default: {
            ready: function(t) {
                B()
            },
            load: function(t) {}
        },
        mobile: {},
        tablet: {},
        desktop: {}
    })
})(jQuery);
(function(a, B) {
    var z = {
        selector: "#disqus_thread",
        runAt: "start",
        initDisqus: function(t) {
            var w = $("#disqus_thread");
            if (0 < w.length) {
                var q = w.attr("shortname"),
                    r = w.attr("disqus_identifier"),
                    m = w.attr("disqusurl"),
                    k = w.attr("language");
                q && (r || m) && (B.disqus_shortname = q, B.disqus_identifier = r, B.disqus_url = m, B.disqus_config = function() {
                    this.language = k
                }, B.DISQUS ? B.DISQUS.reset({
                    reload: !0,
                    config: {
                        disqus_identifier: B.disqus_identifier,
                        disqus_url: B.disqus_url
                    }
                }) : $.DM.loadExternalScriptAsync("//" + B.disqus_shortname + ".disqus.com/embed.js",
                    null, null, {
                        forceLoad: t
                    }))
            }
        },
        reload: function() {
            var t = $("#disqus_thread");
            getSafe("DISQUS.next.host.loader.configAdapter.config") ? (B.DISQUS.next.host.loader.configAdapter.config.forum = t.attr("shortname"), B.DISQUS.reset({
                reload: !0
            })) : (B.DISQUS = void 0, B.DISQUSWIDGETS = void 0, z.initDisqus(!0))
        },
        default: {
            ready: function(t) {
                z.initDisqus(!1)
            },
            load: function(t) {}
        },
        mobile: {
            load: function(t) {}
        },
        tablet: {
            load: function(t) {}
        },
        desktop: {
            load: function(t) {}
        }
    };
    $.dmrt.register("disqus", z)
})($, window);
(function(a) {
    a.extend(a.modules, {
        facebook_comments: {}
    });
    a.dmrt.register("facebook_comments", {
        default: {
            ready: function(B) {
                a(".fb-comments").each(function(z, t) {
                    function w() {
                        return 0 < m.find("iframe").length && "string" === typeof m.find("iframe").attr("src") ? (clearInterval(r), a(window).on("resize.facebook_" + k, q), q(), !0) : !1
                    }

                    function q() {
                        a.contains(document, m.get(0)) || (a(window).off("resize.facebook_" + k), m.data("facebook_resizerId", null))
                    }
                    var r;
                    var m = a(t);
                    if (!m.data("facebook_resizerId")) {
                        var k = Math.random().toString(16).slice(2);
                        w() || (r = setInterval(w, 100));
                        m.data("facebook_resizerId", k)
                    }
                })
            },
            load: function(B) {}
        },
        mobile: {},
        tablet: {},
        desktop: {}
    })
})(jQuery);
(function(a) {
    function B() {
        z(jQuery(".fb-like"), !1);
        a.dmrt.isEditorMode && (a.DM.events.on("widget_resize", function(t, w) {
            a(w).is(".dmFacebookLike") && z(a(w).find(".fb-like"), !0)
        }), a.DM.events.on("col_resize", function(t, w) {
            0 < a(w).find(".dmFacebookLike").length && z(a(w).find(".fb-like"), !0)
        }))
    }

    function z(t, w) {
        jQuery(t).each(function(q) {
            q = jQuery(this).width();
            jQuery(this).attr("data-width", q)
        });
        if (w) try {
            FB.XFBML.parse()
        } catch (q) {}
    }
    a.dmrt.register("facebook_like", {
        default: {
            ready: function(t) {
                B()
            },
            load: function(t) {}
        },
        mobile: {},
        tablet: {},
        desktop: {}
    })
})(jQuery);
(function(a) {
    function B(b) {
        b = z(b);
        return "/_dm/s/rt/api/public/rt/site/" + Parameters.SiteAlias + "/contactForm?hiddenCaptcha\x3d" + b
    }

    function z(b) {
        b = b.closest("[data-captcha-position]");
        return b.length ? "checkbox" != b.attr("data-captcha-position") && "" != b.attr("data-captcha-position") && "true" == b.attr("captcha") && rtCommonProps["site.widget.form.captcha.type"] === m.G_RECAPTCHA.flagName : !1
    }

    function t(b) {
        var l = document.querySelectorAll('.dmform[captcha\x3d"true"]');
        return Array.apply(null, l).filter(function(h) {
            return h.querySelector('[id\x3d"' +
                b + '"]')
        })[0]
    }

    function w() {
        a(".dmform form").find(".g-recaptcha .inputError , .frc-captcha .inputError").removeClass("inputError")
    }
    var q = {},
        r = !0;
    const m = {
        G_RECAPTCHA: {
            flagName: "g_recaptcha",
            selector: ".g-recaptcha",
            initFunc: "initGRecaptcha",
            windowObj: "grecaptcha",
            initCondition: '.dmform[captcha\x3d"true"], .fastform[captcha\x3d"true"]'
        },
        FRIENDLY_CAPTCHA: {
            flagName: "friendly_captcha",
            selector: ".frc-captcha",
            initFunc: "initFriendlyCaptcha",
            windowObj: "friendlyChallenge",
            initCondition: ".dmform, .fastform"
        }
    };
    q.initForm = function(b) {
        b = b || jQuery(".dmform form");
        if (!b.length) return "No Forms";
        q.initFileUpload();
        q.cleanupForm(b);
        b.unbind("submit").submit(q.onFormSubmit);
        b.unbind("focus").on("focus", "input,textarea", q.onFormFocus)
    };
    q.onFormFocus = function(b) {
        a(this).closest(".dmform").addClass("active")
    };
    q.initCaptcha = function() {
        var b = b || jQuery(".dmform form");
        if (b.length) {
            var l = jQuery('[captcha\x3d"true"]');
            switch (rtCommonProps["site.widget.form.captcha.type"]) {
                case m.FRIENDLY_CAPTCHA.flagName:
                    window.onCaptchaLoad =
                        () => {
                            a.DM.initFormCaptcha(b, null, m.FRIENDLY_CAPTCHA)
                        };
                    "undefined" === typeof friendlyChallenge && a.DM.loadExternalScriptAsync("https://cdn.jsdelivr.net/npm/friendly-challenge@0.9.8/widget.module.min.js", null, null, {
                        noModule: !0,
                        defer: !0
                    }).then(() => {
                        window.onCaptchaLoad()
                    });
                    if ("undefined" !== typeof friendlyChallenge) window.onCaptchaLoad();
                    break;
                default:
                    window.onCaptchaLoad = () => {
                            a.DM.initFormCaptcha(b, function(h) {
                                q.actualSubmitForm()
                            }, m.G_RECAPTCHA)
                        }, "undefined" !== typeof grecaptcha && grecaptcha.execute || !l.length ||
                        a.DM.loadExternalScriptAsync("https://www.google.com/recaptcha/api.js?onload\x3donCaptchaLoad\x26render\x3dexplicit"), "undefined" !== typeof grecaptcha && grecaptcha.execute && a.DM.initFormCaptcha(b, function(h) {
                            q.actualSubmitForm(b)
                        }, m.G_RECAPTCHA)
            }
        }
    };

    q.fixFormWithId = function(b) {
        b = a("#" + b);
        void 0 !== b && ("layout-2" === a(b).attr("data-layout") ? q.fixFormLayout2(a(b)) : q.restorePropertiesFormfixFormLayout2(a(b)))
    };
    q.fixAllForms = function() {
        var b = jQuery(".dmform[data-layout\x3dlayout-2]");
        a.each(b, function(l, h) {
            q.fixFormLayout2(h)
        })
    };
    q.restorePropertiesFormfixFormLayout2 = function(b) {
        var l = a(b);
        "label input[type\x3dtext] input[type\x3ddate] input[type\x3dtime] input[type\x3dtel] input[type\x3demail] input[type\x3dnumber] textarea:not(.g-recaptcha-response):not(.frc-captcha-solution) select .checkboxwrapper .radiowrapper .optinwrapper".split(" ").forEach(function(h) {
            l.find(h).removeAttr("style")
        })
    };
    q.fixFormLayout2 = function(b) {
        var l = "label input[type\x3dtext] input[type\x3ddate] input[type\x3dtime] input[type\x3dtel] input[type\x3demail] input[type\x3dnumber] textarea select".split(" ");
        for (y in l) a(b).find(".dmforminput \x3e " + l[y]).width("auto");
        l = a(b).width();
        var h = a(b).find(".dmforminput");
        if (void 0 !== h && null !== h) {
            var u = ["padding-left", "padding-right", "margin-right", "margin-right"];
            for (y in u) l -= parseInt(a(h).css(u[y]))
        }
        var f = 0,
            p = 0;
        var y = a(b).find(".dmforminput input[type\x3dtext], .dmforminput input[type\x3demail], .dmforminput input[type\x3dnumber], .dmforminput input[type\x3dtel], .dmforminput input[type\x3dpassword], .dmforminput select");
        void 0 !== y && null !== y && (f += parseInt(a(y).css("border-left-width")), p += parseInt(a(y).css("border-right-width")));
        var e = 0;
        a.each(a(b).find(".dmforminput label:not(.for-checkable):not(.custom-contact-checkable)"), function(A, x) {
            A = a(x).width() + 1;
            e = Math.max(A, e)
        });
        var g = e;
        g = Math.min(.33 * l + 1, g);
        g = Math.max(75, g);
        var v = l - g - 5,
            D = a(b).find(".dmforminput");
        a.each(D, function(A, x) {
            A = g + v;
            A = q.retrieveWidthPercentage(x) * A / 100 - g;
            if (100 !== q.retrieveWidthPercentage(x)) {
                var C = parseInt(a(D).css("padding-left")) + parseInt(a(D).css("padding-right"));
                A -= C
            }
            a(x).find("label:not(.for-checkable):not(.custom-contact-checkable)").width(g);
            a(x).find("label:not(.for-checkable):not(.custom-contact-checkable)").outerWidth(g);
            a(x).find("input[type\x3dtext], input[type\x3ddate], input[type\x3dtime]").width(A);
            a(x).find("input[type\x3dtext], input[type\x3ddate], input[type\x3dtime]").outerWidth(A);
            a(x).find("input[type\x3dtel]").width(A);
            a(x).find("input[type\x3dtel]").outerWidth(A);
            a(x).find("input[type\x3demail]").width(A);
            a(x).find("input[type\x3demail]").outerWidth(A);
            a(x).find("input[type\x3dnumber]").width(A);
            a(x).find("input[type\x3dnumber]").outerWidth(A);
            a(x).find("textarea").width(A);
            a(x).find("textarea").outerWidth(A);
            a(x).find("select").width(A);
            a(x).find("select").outerWidth(A);
            a(x).find(".checkboxwrapper").width(A);
            a(x).find(".checkboxwrapper").outerWidth(A);
            a(x).find(".checkboxwrapper").css("margin-left", f + "px");
            a(x).find(".checkboxwrapper").css("margin-right", p + "px");
            a(x).find(".optinwrapper").width(A);
            a(x).find(".optinwrapper").outerWidth(A);
            a(x).find(".optinwrapper").css("margin-left",
                f + "px");
            a(x).find(".optinwrapper").css("margin-right", p + "px");
            a(x).find(".radiowrapper").width(A);
            a(x).find(".radiowrapper").outerWidth(A);
            a(x).find(".radiowrapper").css("margin-left", f + "px");
            a(x).find(".radiowrapper").css("margin-right", p + "px")
        })
    };
    q.retrieveWidthPercentage = function(b) {
        for (var l = "mobile" === a.layoutDevice.type ? "small-" : "large-", h = 12; 0 < h; h--)
            if (a(b).hasClass(l + h)) return parseInt(100 * h / 12);
        return 0
    };
    q.initFormCaptcha = function(b, l, h = m.G_RECAPTCHA) {
        b = b || jQuery(".dmform form, .fastform");
        if (!b.length) return "No Forms";
        b.find(h.selector).remove();
        b.closest(h.initCondition).each((u, f) => q[h.initFunc](f, l))
    };
    q.initGRecaptcha = function(b, l) {};
    q.initFriendlyCaptcha = function(b, l) {};
    q.initFileUpload = function() {
        jQuery(".dmform form a[data-file]").length && a.DM.loadExternalScriptAsync("/_dm/s/rt/widgets/form/filepicker.jsp", function() {
            jQuery(".dmform form a[data-file]").each(function(b, l) {
                var h =
                    a(this).attr("file-upload-lang"),
                    u = a(this);
                u.off("click.file").on("click.file", function() {
                    if (!a.editGrid || a.editGrid.inPreviewMode()) {
                        u.removeClass("inputError");
                        var f = {
                            maxSize: 10485760,
                            language: h,
                            multiple: !1,
                            backgroundUpload: !0,
                            folders: !1,
                            mimetype: "image/* text/* application/* audio/* video/* application/pdf application/zip application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document application/vnd.openxmlformats-officedocument.wordprocessingml.template application/vnd.ms-word.document.macroEnabled.12 application/vnd.ms-word.template.macroEnabled.12 application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/vnd.openxmlformats-officedocument.spreadsheetml.template application/vnd.ms-excel.sheet.macroEnabled.12 application/vnd.ms-excel.template.macroEnabled.12 application/vnd.ms-excel.addin.macroEnabled.12 application/vnd.ms-excel.sheet.binary.macroEnabled.12 application/vnd.ms-powerpoint application/vnd.openxmlformats-officedocument.presentationml.presentation application/vnd.openxmlformats-officedocument.presentationml.template application/vnd.openxmlformats-officedocument.presentationml.slideshow application/vnd.ms-powerpoint.addin.macroEnabled.12 application/vnd.ms-powerpoint.presentation.macroEnabled.12 application/vnd.ms-powerpoint.template.macroEnabled.12 application/vnd.ms-powerpoint.slideshow.macroEnabled.12 application/vnd.ms-access".split(" "),
                            services: ["COMPUTER", "DROPBOX", "GOOGLE_DRIVE", "GMAIL"]
                        };
                        storeOptions = a.extend({
                            path: Parameters.SiteAlias + "/forms/attachments/"
                        }, storeOptions);
                        filepicker.pickAndStore(f, storeOptions, function(p) {
                            var y = encodeURIComponent(p[0].key);
                            a("#filesMessage").html(p.length + " file(s) were uploaded");
                            u.parent().find(".fileLabel").html(p[0].filename);
                            u.parent().find(".fileName").val(y)
                        }, function(p) {})
                    }
                })
            })
        })
    };
    q.trackExternalConversion = function(b) {
        if (b.attr("data-conversion")) {
            var l = document.createElement("iframe");
            a(l).css("display", "none");
            b = Base64.decode(b.attr("data-conversion"));
            document.body.appendChild(l);
            l.contentWindow.document.open();
            l.contentWindow.document.write(b);
            l.contentWindow.document.close()
        }
    };
    q.findPageUrlByAlias = function(b) {
        -1 !== b.indexOf("home?") && (b = b.replace("home?", "?"));
        var l = "[data-target-page-alias\x3d'" + b.split("?")[0] + "']",
            h = a("[href$\x3d'" + b + "']");
        if (l = a(l).attr("href")) return l;
        if (0 < h.length) return h.attr("href");
        0 !== b.indexOf("/") && (b = "/" + b); - 1 !== location.search.indexOf("preview\x3dtrue") &&
            (b = "/site/" + Parameters.SiteAlias + b);
        return b
    };
    q.initObservers = function() {
        var b = {
            attributes: !0,
            characterData: !0,
            attributeFilter: ["class", "data-layout"]
        };
        jQuery(".dmform").each(function(l) {
            if (void 0 !== a(this)) {
                var h = a(this).first().attr("id");
                (new MutationObserver(function(u) {
                    u.forEach(function(f) {
                        q.fixFormWithId(h)
                    })
                })).observe(a(this)[0], b)
            }
        })
    };
    q.validateInput = function(b) {
        b.closest(".dmform").find(".dmform-error").hide();
        a(".inputError").removeClass("inputError");
        var l = !0,
            h, u, f;
        b.find(".required input:not([type\x3dhidden]), .required textarea").each(function(p,
            y) {
            h = a(y).parents(".checkboxwrapper").length;
            u = "radio" === a(y).attr("type");
            if (f = a(y).parents(".optinwrapper").length) p = a(y).next().text(), a(y).parents(".dmforminput").find('input[type\x3d"hidden"]').attr("value", "Opt-in (" + p + ")");
            f && 1 > a(y).parents(".optinwrapper").find("input:checked").length ? (p = a(y).parents(".optinwrapper"), p.addClass("inputError"), l && a.DM.scrollToAnchor(a(y), {
                additionalOffset: 20
            }), l = !1) : h && 1 > a(y).parents(".checkboxwrapper").find("input:checked").length ? (p = a(y).parents(".checkboxwrapper"),
                p.addClass("inputError"), l && a.DM.scrollToAnchor(a(p), {
                    additionalOffset: 20
                }), l = !1) : u && 1 > a(y).parents(".radiowrapper").find("input:checked").length ? (p = a(y).parents(".radiowrapper"), p.addClass("inputError"), l && a.DM.scrollToAnchor(a(p), {
                additionalOffset: 20
            }), l = !1) : "" === a(y).val().trim() && (p = a(y), p.addClass("inputError"), l && a.DM.scrollToAnchor(a(y), {
                additionalOffset: 20
            }), l = !1)
        });
        b.find(".required select").each(function(p, y) {
            0 == y.selectedIndex && (a(y).addClass("inputError"), l = !1)
        });
        b.find(".required a[data-file]").each(function(p,
            y) {
            "" == a(this).next().html() && (a(this).addClass("inputError"), l = !1)
        });
        b.find("input[type\x3demail]").each(function(p, y) {
            y.hidden || !a(y).parent().hasClass("required") && "" === a(y).val() || /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,500}))$/.test(y.value) || (l = !1, y.className += " inputError")
        });
        return l
    };
    q.actualSubmitForm = function(b) {
        if (r)
            if (b = b || window.activeForm, a.isEmptyObject(window.editorParent)) {
                r = !1;
                b.closest(".dmform").find(".freetextwrapper").map(function() {
                    var p = a(this).parent();
                    p.find("input").removeAttr("name");
                    p.find("label").remove()
                });
                var l = 0;
                b.closest(".dmform").find("input, textarea, select").map(function() {
                    var p = a(this),
                        y = p.attr("name");
                    if (y && y.startsWith("dmform-")) {
                        y = l;
                        10 > y && (y = "0" + y);
                        p.closest(".dmforminput").find("input[type\x3dhidden]").attr("name", "label-dmform-" + y).removeAttr("disabled");
                        var e = window.rtFlags["site.contact.form.fix.for.attribute"] ? "data-dm-for" : "for";
                        p.closest(".dmforminput").find("label").attr(e,
                            "dmform-" + y);
                        b.find("input.fieldMapper[value\x3d" + p.attr("name") + "]").attr("value", "dmform-" + y);
                        e = rtCommonProps["site.contact.form.native.inputs"] ? ".contact-checkable-container" : ".contact-checkable-container, div";
                        p.attr("name", "dmform-" + y);
                        (!p.is("[type\x3dradio]") && !p.is("[type\x3dcheckbox]") || p.closest(e).is(":last-child")) && l++
                    }
                });
                var h = b.closest(".dmform").attr("id");
                h || (h = b.closest(".dmform").attr("duda_id"));
                b.closest(".dmform").find("form").append("\x3cinput type\x3d'hidden' name\x3d'form_id' value\x3d'" +
                    h + "'\x3e");
                b.closest(".dmform").find("form").append("\x3cinput type\x3d'hidden' name\x3d'form_title' value\x3d'" + b.closest(".dmform").find("h3").text() + "'\x3e");
                var u = b.serializeDMForm();
                b.closest(".dmform").find("label").each(function() {
                    var p = a(this),
                        y = window.rtFlags["site.contact.form.fix.for.attribute"] ? "data-dm-for" : "for",
                        e = p.attr(y);
                    if (e && e.startsWith("dmform-") && b.closest("form")) {
                        var g = b.closest("form").find("[name\x3d" + e + "]");
                        var v = 0 === g.length ? "" : "textarea" === g.prop("tagName").toLowerCase() ?
                            "message" : g.hasClass("dmDatePicker") ? "date" : "select" === g.prop("tagName").toLowerCase() ? "dropdown" : g.hasClass("fileName") ? "file" : g.attr("type");
                        u += "\x26type-" + e + "\x3d" + v;
                        (v = p.parent().attr("data-integration-mapping-type")) && (u += "\x26integrationMappingType-" + e + "\x3d" + v);
                        !p.attr("hide") && "" != p.text() || !g.attr("data-placeholder-original") && !g.attr("placeholder") || (g = g.attr("data-placeholder-original") || g.attr("placeholder"), e = new RegExp("label-" + p.attr(y) + "\x3d[^\x26]*"), u = u.replace(e, "label-" + p.attr(y) +
                            "\x3d" + g))
                    }
                });
                u += "\x26device_code\x3d" + dmAPI.getCurrentDeviceType();
                var f = b;
                a.post(B(b), u, function(p) {
                    r = !0;
                    dm_gaq_push_event("form", "submit", void 0, void 0, b);
                    q.trackExternalConversion(b.parents(".dmform"));
                    b.find("input[name\x3dgoogleIntegrationUUID]").val() && b.find("input[name\x3dspreadsheetId]").val() && dm_gaq_push_event("form", "google_spreadsheet_push");
                    b.find("input[name\x3dconstantContactIntegrationUUID]").val() && b.find("input[name\x3dconstantContactLists]").val() && dm_gaq_push_event("form", "constant_contact_push");
                    b.find("input[name\x3dmailChimpIntegrationUUID]").val() && b.find("input[name\x3dmailChimpLists]").val() && dm_gaq_push_event("form", "mail_chimp_push");
                    b.find("input[name\x3dwebhookURI]").val() && dm_gaq_push_event("form", "webhook_push");
                    p = f.serializeDMArray();
                    for (var y = p.length, e = [], g = 0; g < p.length; g++) p[g].name.startsWith("dmform-") && g + 1 < y && p[g + 1].name === "label-" + p[g].name && e.push({
                        name: p[g + 1].value,
                        value: p[g].value
                    });
                    a.DM.events.trigger(dmAPI.EVENTS.FORM_SUBMISSION, {
                        value: e
                    });
                    e = b.closest(".dmform").find(".dmform-success");
                    p = e.data("success-page");
                    y = e.data("success-url");
                    e = e.data("success-url-target");
                    if (p) {
                        if (window.isReseller && self !== top || window.editorParent.jQuery && window.editorParent.jQuery.onefw && window.editorParent.jQuery.onefw.inPreviewMode && window.editorParent.$ && window.editorParent.$.dmfw && window.editorParent.$.dmfw.previewNavigateTo) return window.editorParent.$.dmfw.previewNavigateTo({
                            page: {
                                alias: p
                            }
                        });
                        window.location.search && (p = -1 == p.indexOf("?") ? p + window.location.search : p + window.location.search.replace("?",
                            "\x26"), window.getSafe("previewParent.isSitePreview") && (p = p.replace("showOriginal\x3dtrue\x26", "")));
                        location.replace(q.findPageUrlByAlias(p));
                        f[0].reset()
                    } else y && (e ? window.open(y, e) : location.replace(y)), b.closest(".dmform-wrapper").hide(), b.closest(".dmform").find(".dmform-success").show(), a.DM.scrollToAnchor(a(b.closest(".dmform").find(".dmform-success")[0]), {
                        additionalOffset: 70
                    }), a.DM.isUseIscroll() && a.layoutManager.refreshIscroll()
                }).error(function(p) {
                    r = !0;
                    401 == p.status ? b.find(".g-recaptcha \x3e div, .frc-captcha \x3e div").addClass("inputError") :
                        (b.closest(".dmform").find(".dmform-error").show(), a.DM.scrollToAnchor(a(b.closest(".dmform").find(".dmform-error")[0]), {
                            additionalOffset: 70
                        }))
                })
            } else h = window.editorParent.$?.dmString?.("ui.ed.contactForm.submission.inEditor.notSupported") || "To test contact form submission please use the site preview link.", b.closest(".dmform-wrapper").hide(), b.closest(".dmform").append(h);
        else event.preventDefault()
    };
    q.cleanupForm = function(b) {
        a(".dmform-success, .dmform-error").hide();
        b.removeClass("active");
        jQuery(".dmform form textarea").each(function(l,
            h) {
            l = a(h);
            l.val(l.val().trim())
        });
        a(document.body).on("keypress", ".inputError", function() {
            a(this).removeClass("inputError")
        });
        b.find(".required select").change(function() {
            a(this).removeClass("inputError")
        })
    };
    const k = /\r?\n/g,
        n = /^(?:submit|button|image|reset|file)$/i,
        c = /^(?:input|select|textarea|keygen)/i,
        d = /^(?:checkbox|radio)$/i;
    jQuery.fn.extend({
        serializeDMForm: function() {
            return jQuery.param(this.serializeDMArray())
        },
        serializeDMArray: function() {
            return this.map(function() {
                var b = jQuery.prop(this,
                    "elements");
                return b ? jQuery.makeArray(b) : this
            }).filter(function() {
                var b = this.type;
                return this.name && !jQuery(this).is(":disabled") && c.test(this.nodeName) && !n.test(b) && (this.checked || !d.test(b))
            }).map(function(b, l) {
                if ("date" === this.getAttribute("type") && this.valueAsDate) {
                    var h = this.value.split("-");
                    b = h[0];
                    const u = h[1];
                    h = h[2];
                    b = "mmddyyyy" === this.getAttribute("date_format") ? `${u}/${h}/${b}` : `${h}/${u}/${b}`
                } else if ("time" === this.getAttribute("type") && this.value && window.rtFlags["contact.form.date.format.enabled"])
                    if ("hiia" ===
                        this.getAttribute("time_format")) {
                        const [u, f] = this.value.match(/([0-9]{1,2}):([0-9]{2})/).slice(1);
                        b = `${+u%12||12}:${f} ${12>+u?"AM":"PM"}`
                    } else b = jQuery(this).val();
                else b = jQuery(this).val();
                return null == b ? null : {
                    name: l.name,
                    value: b.replace(k, "\r\n")
                }
            }).get()
        }
    });
    a.extend(a.DM, q);
    a.dmrt.register("form", {
        selector: ".dmform",
        default: {
            ready: function(b) {
                q.initObservers();
                a(".dmform form").each(function() {
                    q.initForm(a(this))
                });
                q.initCaptcha()
            },
            load: function(b) {
                q.fixAllForms()
            }
        },
        mobile: {},
        tablet: {},
        desktop: {}
    })
})(jQuery);
(function(a) {
    function B(d) {
        var b = d.attr("id");
        k[b] && (window.clearInterval(k[b]), d.removeClass("slider-container-no-bg").removeClass("hasExtraLayerOverlay").removeAttr("data-background-image"), d.children(".bgGallerySlide").remove(), d.children(".bgGallerySlideHolder").remove(), d.children(".bgExtraLayerOverlay").remove());
        var l = d.attr("data-gallery-bg");
        try {
            var h = JSON.parse(w(l)),
                u = h.slides.length;
            if (!(2 > u)) {
                var f = window.getComputedStyle(d[0], ":before"),
                    p = a('\x3cdiv class\x3d"bgExtraLayerOverlay" style\x3d"background-color:' +
                        f.backgroundColor + ";opacity:" + f.opacity + '"\x3e\x3c/div\x3e');
                d.prepend(p);
                var y = a('\x3cdiv class\x3d"bgGallerySlideHolder"\x3e\x3c/div\x3e');
                d.prepend(y);
                d.addClass("hasExtraLayerOverlay");
                h.slides = m(h.slides, d);
                var e = h.speed ? 1E3 * h.speed : 3E3,
                    g = h.transition || "fade",
                    v = Math.min(.75, e / 2E3),
                    D = 1,
                    A = a('\x3cdiv class\x3d"bgGallerySlide" data-transition\x3d"' + g + '" data-speed\x3d"' + e + '"\x3e\x3c/div\x3e'),
                    x = ["background-size", "background-position", "background-repeat", "background-attachment", "animation"];
                t({
                    fromElement: d[0],
                    toElement: A[0],
                    styles: x.concat("background-image")
                });
                y.prepend(A);
                d.attr("data-background-image", d.css("background-image"));
                d.css({
                    "background-image": ""
                });
                d.addClass("slider-container-no-bg");
                k[b] = window.setInterval(function() {
                    var C = y.children(".bgGallerySlide");
                    C.one("webkitTransitionEnd mozTransitionEnd MSTransitionEnd otransitionend transitionend", function() {
                        this.remove();
                        y.removeClass("overflow-hidden")
                    });
                    setTimeout(function() {
                        C && C.remove()
                    }, 1E3 * v + 1E3);
                    var I = a('\x3cdiv class\x3d"bgGallerySlide" data-transition\x3d"' +
                        g + '" data-speed\x3d"' + e + '"\x3e\x3c/div\x3e');
                    t({
                        fromElement: d[0],
                        toElement: I[0],
                        styles: x
                    });
                    c && z(h.slides[D]);
                    I.css("background-image", "url(" + h.slides[D] + ")");
                    y.addClass("overflow-hidden");
                    q(g, v, C, I);
                    window.requestAnimationFrame(function() {
                        y.prepend(I);
                        window.requestAnimationFrame(function() {
                            switch (g) {
                                default:
                                    I.css("opacity", "1");
                                    C.css("opacity", "0");
                                    break;
                                case "slideLeft":
                                    I.css("transform", "translateX(0)");
                                    C.css("transform", "translateX(100%)");
                                    break;
                                case "slideRight":
                                    I.css("transform", "translateX(0)");
                                    C.css("transform", "translateX(-100%)");
                                    break;
                                case "slideTop":
                                    I.css("transform", "translateY(0)");
                                    C.css("transform", "translateY(100%)");
                                    break;
                                case "slideBottom":
                                    I.css("transform", "translateY(0)"), C.css("transform", "translateY(-100%)")
                            }
                        })
                    });
                    D = (1 + D) % u
                }, e);
                c || h.slides.forEach(function(C) {
                    (new Image).src = C
                })
            }
        } catch (C) {}
    }

    function z(d) {
        if (!(d in n)) {
            var b = new Image;
            b.src = d;
            n[d] = b
        }
    }

    function t(d) {
        var b = d.toElement,
            l = d.styles || [],
            h = window.getComputedStyle(d.fromElement);
        l.forEach(function(u) {
            b.style.setProperty(u,
                h.getPropertyValue(u))
        })
    }

    function w(d) {
        return "undefined" === typeof atob ? Base64.decode(d) : atob(d)
    }

    function q(d, b, l, h) {
        switch (d) {
            default:
                h.css({
                    opacity: "0",
                    transition: "opacity " + b + "s ease-in-out"
                });
                l.css({
                    opacity: "1",
                    transition: "opacity " + b + "s ease-in-out"
                });
                break;
            case "slideLeft":
                h.css({
                    transform: "translateX(-100%)",
                    transition: "transform " + b + "s ease-in-out"
                });
                l.css({
                    transition: "transform " + b + "s ease-in-out"
                });
                break;
            case "slideRight":
                h.css({
                    transform: "translateX(100%)",
                    transition: "transform " + b + "s ease-in-out"
                });
                l.css({
                    transition: "transform " + b + "s ease-in-out"
                });
                break;
            case "slideTop":
                h.css({
                    transform: "translateY(-100%)",
                    transition: "transform " + b + "s ease-in-out"
                });
                l.css({
                    transition: "transform " + b + "s ease-in-out"
                });
                break;
            case "slideBottom":
                h.css({
                    transform: "translateY(100%)",
                    transition: "transform " + b + "s ease-in-out"
                }), l.css({
                    transition: "transform " + b + "s ease-in-out"
                })
        }
    }

    function r(d) {
        if (!d) return !1;
        try {
            const b = new URL(d);
            return b && b.pathname && b.pathname.startsWith("/s/")
        } catch (b) {
            return !1
        }
    }

    function m(d, b) {
        return d.map(function(l) {
            if (!l) return "";
            if (!a.layoutDevice || !a.layoutDevice.type || r(l)) return l;
            var h = l,
                u = b.width();
            if (-1 !== h.indexOf("/multi/opt/")) h = h.replace(/-([0-9])+w\\..{2,5}/, function(y, e) {
                return l.replace(y, y.replace(e, u))
            });
            else {
                var f = 1440 <= u ? "background" : 960 <= u ? "desktop" : 640 <= u ? "tablet" : "mobile",
                    p = "/dms3rep/multi/" + f + "/";
                h = h.replace("/dms3rep/multi/", p);
                h = h.replace("/dms3rep/multi/" + f + "/background/", p);
                h = h.replace("/dms3rep/multi/" + f + "/desktop/", p);
                h = h.replace("/dms3rep/multi/" + f + "/tablet/", p);
                h = h.replace("/dms3rep/multi/" + f +
                    "/mobile/", p)
            }
            return h
        })
    }
    var k = {},
        n = {},
        c = window.rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"];
    a.dmrt.register("gallerybg", {
        selector: "[data-gallery-bg]:not([data-video-bg])",
        default: {
            ready: function(d) {
                a("[data-gallery-bg]").each(function() {
                    B(a(this))
                })
            },
            load: function(d) {}
        },
        mobile: {},
        tablet: {},
        desktop: {},
        refresh: function(d) {
            d = a(d);
            B(d)
        }
    })
})(jQuery);
(function(a) {
    function B() {
        if (a.dmrt.isEditorMode && (a.DM.events.on("row_resize", function(n, c) {
                0 < a(c).find(".dmGeoLocation").length && z()
            }), a.DM.events.on("widget_resize", function(n, c) {
                a(c).is(".dmGeoLocation") && z()
            }), a.DM.events.on("col_resize", function(n, c) {
                0 < a(c).find(".dmGeoLocation").length && z()
            }), window.editorParent.jQuery)) window.editorParent.$.dmx.events.on("elementIdChanged", function(n) {
            k[n.elementId] && (k[n.newElementId] = k[n.elementId], k[n.elementId] = null)
        })
    }

    function z() {
        for (var n in k)
            if (k.hasOwnProperty(n) &&
                k[n]) {
                var c = k[n],
                    d = a("#" + n);
                0 !== d.length && (d = a(d).attr("provider"), m[d].cleanup(c))
            } k = {};
        switch (a.layoutDevice ? a.layoutDevice.type : "mobile") {
            case "mobile":
                q();
                break;
            default:
                w()
        }
    }

    function t(n) {
        try {
            if (n) {
                if (window.location.search && 0 < window.location.search.indexOf("preview\x3dtrue")) {
                    var c = n.attr("raw_url");
                    c && 0 == c.indexOf("/site/") && (c = c.replace("dm_device\x3ddesktop", "dm_device\x3d" + (a.layoutDevice ? a.layoutDevice.type : "mobile")), n.attr("href", c))
                }
                "https:" === document.location.protocol && "http:" === n.get(0).protocol &&
                    (n.attr("target") || n.attr("target", "_blank"))
            }
        } catch (d) {}
    }

    function w() {
        a(".dmGeoLocation").each(function(n, c) {
            function d(ca) {
                ca ? (N && p.cleanup(N, D), e.is(":visible") && v.hide(), C.showAll ? (g.fadeIn("fast"), N = p.drawMap({
                    container: D,
                    options: {
                        fitBounds: !0
                    },
                    language: f.attr("data-lang"),
                    markers: y.map(function(T) {
                        return {
                            lat: T.latitude,
                            lng: T.longitude,
                            title: T.title,
                            listener: function() {
                                b(T.uniqueId);
                                e.hide();
                                x.css("visibility", "hidden");
                                var L = a(".dmGeoViewStateWrapper");
                                a(".dmStState").removeClass("isOff");
                                L.removeClass("isOff");
                                d(!0);
                                v.show()
                            },
                            clickable: !0
                        }
                    })
                })) : (g.fadeIn("fast"), N = p.drawMap({
                    container: D,
                    lat: C.lat,
                    lng: C.lon,
                    language: f.attr("data-lang"),
                    markers: [{
                        clickable: !0,
                        lat: C.lat,
                        lng: C.lon,
                        listener: function() {
                            f.find(".dmGeoViewStateWrapper .dmStState").removeClass("isOff");
                            v.show();
                            e.hide()
                        },
                        title: C.title
                    }],
                    zoom: 14
                })), k[a(c).attr("id")] = N, g.fadeIn("fast")) : (g.hide(), C.showAll && f.find(".dmGeoLocBtn").removeClass("geoDisabledState"), C.showAll ? e.fadeIn("fast") : v.fadeIn("fast"))
            }

            function b(ca) {
                var T = a(".dmGeoStList");
                T.text(T.attr("info"));
                g.find(".dmGeoLocBtn").hide();
                T = a.grep(y, function(G) {
                    return G.uniqueId == ca
                })[0];
                C.showAll = !1;
                C.lat = T.latitude;
                C.lon = T.longitude;
                C.title = T.title;
                v.find(".dmGeoSVTitle").text(!1 === T.displayTitle ? "" : T.title);
                var L = T.phone && !1 !== T.displayPhoneNumber ? T.formattedAddress + ", " + T.phone : T.formattedAddress;
                v.find(".dmGeoSVAddr").text(L);
                if (T.phone || T.showPhone) v.find(".dmGeoSVPhone a").attr({
                    href: "tel:" + T.phone,
                    phone: T.phone
                }), T.clickToCallText && v.find(".dmGeoSVPhone a .text").text(T.clickToCallText);
                v.find(".dmGeoSVPhone").toggle(T.showPhone);
                if (T.url && !1 !== T.displayLink) {
                    try {
                        var U = a(T.url)
                    } catch (G) {
                        U = a('\x3ca href\x3d"' + T.url + '"\x3eGo to location page\x3c/a\x3e')
                    }
                    t(U);
                    U.addClass("dmGeoSVGoToPage");
                    v.find(".dmGeoSVGoToPage").replaceWith(U);
                    U.show()
                } else v.find(".dmGeoSVGoToPage").hide();
                v.find(".dmGeoSVMoreInfo").text(T.description && !1 !== T.showDescription ? T.description : "");
                v.find(".dmGeoSVSeeAll").unbind("click").click(function() {
                    h()
                })
            }

            function l(ca) {
                b(ca);
                x.css("visibility", "hidden");
                d(!0);
                v.show();
                e.hide()
            }

            function h() {
                C.showAll = !0;
                v.hide();
                e.show();
                f.find(".dmGeoLocBtn").removeClass("geoDisabledState");
                var ca = a(".dmGeoStList");
                ca.text(ca.attr("list"));
                d(!0);
                a(".dmCall.voipReplacement").removeClass("revealPhoneNum");
                x.css("visibility", "visible");
                g.find(".dmGeoLocBtn").show()
            }

            function u(ca, T) {
                for (var L = [], U = 0; U < y.length; U++) L.push({
                    latitude: y[U].latitude,
                    longitude: y[U].longitude,
                    id: y[U].uniqueId
                });
                var G = [];
                for (U = 0; U < L.length; U++) {
                    var J = L[U],
                        R = T - J.longitude,
                        ba = ca - J.latitude;
                    R = Math.sqrt(R * R + ba * ba);
                    G[U] = J;
                    G[U].distance = R
                }
                G.sort(function(da,
                    la) {
                    return da.distance > la.distance ? 1 : -1
                });
                ca = G[0].id;
                f.find(".dmGeoLocBtn").addClass("geoDisabledState");
                e.find('li[geoid\x3d"' + ca + '"]').data("mode", a(".dmGeoViewStateWrapper").hasClass("isOff") ? "map" : "list").click()
            }
            var f = a(c);
            n = f.attr("data-editor");
            var p = m[f.attr("provider")],
                y = JSON.parse(Base64.decode(n)).locations,
                e = f.find(".dmGeoMLocList"),
                g = f.find(".dmGeoMLocMapView"),
                v = f.find(".dmGeoSingleView"),
                D = g.find(".dmGeoMLocMapViewMap .mapContainer")[0],
                A = f.find(".dmGeoMLocList li"),
                x = f.find(".dmGeoDesktopTitle"),
                C = {},
                I = 0,
                H = 0,
                N;
            C.showAll = !0;
            e.is(":visible") && v.hide();
            var S = f.find(".dmGeoViewStateWrapper"),
                X = f.find(".dmGeoStMap");
            f.find(".dmGeoStList").unbind("click").click(function() {
                a.dmrt.isEditorMode && window.editorParent.jQuery && window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode || (X.removeClass("isOff"), S.removeClass("isOff"), d(!1))
            });
            d(!0);
            X.unbind("click").click(function() {
                a.dmrt.isEditorMode && window.editorParent.jQuery && window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode ||
                    (a(this).hasClass("isOff") ? (X.removeClass("isOff"), S.removeClass("isOff"), d(!1)) : (X.addClass("isOff"), S.addClass("isOff"), d(!0)), "undefined" !== typeof _ && _.isUseIscroll() && a.layoutManager.refreshIscroll())
            });
            for (n = 0; n < A.length; n++) a(A[n]).unbind("click").click(function() {
                l(a(this).attr("geoid"));
                a(this).closest('[data-element-type\x3d"dm_geo_location"]')[0].scrollIntoView({
                    behavior: "smooth"
                })
            });
            n = f.attr("id");
            a.DM.events.off("showSingleView:" + n).on("showSingleView:" + n, function(ca, T) {
                l(T)
            });
            a.DM.events.off("showMultiView:" +
                n).on("showMultiView:" + n, function(ca, T) {
                h()
            });
            if ("https:" === location.protocol || "localhost" === window.location.hostname) f.on("click", ".dmGeoLocBtn", function(ca) {
                a.layoutManager._isEditorMode && window.editorParent.jQuery && window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode || navigator.geolocation && navigator.geolocation.getCurrentPosition(function(T) {
                    I = T.coords.latitude;
                    H = T.coords.longitude;
                    f.find(".dmGeoViewStateWrapper .dmStState").removeClass("isOff");
                    u(I, H)
                }, function(T) {
                    console.error(T);
                    alert("We do not have permission to access your location. Please enable access in your settings")
                }, {
                    timeout: 5E4
                })
            });
            else f.addClass("disableNearestLocation")
        })
    }

    function q(n) {
        a(".dmGeoLocation").each(function(c, d) {
            function b(T) {
                T ? (a(x).empty(), N && g.cleanup(N, x), v.is(":visible") && A.hide(), C.showAll ? (D.fadeIn("fast"), N = g.drawMap({
                    container: x,
                    options: {
                        fitBounds: !0
                    },
                    language: p.attr("data-lang"),
                    markers: e.map(function(L) {
                        return {
                            lat: L.latitude,
                            lng: L.longitude,
                            title: L.title,
                            listener: function() {
                                u(L.uniqueId);
                                var U = a(".dmGeoViewStateWrapper");
                                a(".dmStState").removeClass("isOff");
                                U.removeClass("isOff");
                                b(!0);
                                A.show();
                                v.hide()
                            },
                            clickable: !0
                        }
                    })
                })) : (D.fadeIn("fast"), N = g.drawMap({
                    container: x,
                    lat: C.lat,
                    lng: C.lon,
                    language: p.attr("data-lang"),
                    markers: [{
                        clickable: !0,
                        lat: C.lat,
                        lng: C.lon,
                        listener: function() {
                            p.find(".dmGeoViewStateWrapper .dmStState").removeClass("isOff");
                            A.show();
                            v.hide()
                        },
                        title: C.title
                    }],
                    zoom: 14
                })), k[a(d).attr("id")] = N, D.fadeIn("fast")) : C.showAll ? (p.find(".dmGeoLocBtn").removeClass("geoDisabledState"),
                    v.fadeIn("fast"), A.hide()) : (v.hide(), A.fadeIn("fast"))
            }

            function l(T) {
                u(T);
                b(!0);
                A.show();
                v.hide()
            }

            function h() {
                C.showAll = !0;
                A.hide();
                v.show();
                b(X.hasClass("isOff"));
                p.find(".dmGeoLocBtn").removeClass("geoDisabledState");
                a(".dmGeoStList").text(a(".dmGeoStList").attr("list"));
                D.find(".dmGeoLocBtn").show()
            }

            function u(T) {
                D.find(".dmGeoLocBtn").hide();
                var L = a(".dmGeoStList");
                L.text(L.attr("info"));
                L = a.grep(e, function(J) {
                    return J.uniqueId == T
                })[0];
                C.showAll = !1;
                C.lat = L.latitude;
                C.lon = L.longitude;
                C.title =
                    L.title;
                A.find(".dmGeoSVTitle").text(!1 === L.displayTitle ? "" : L.title);
                var U = L.phone && !1 !== L.displayPhoneNumber ? L.formattedAddress + ", \x3c/br\x3e" + L.phone : L.formattedAddress;
                A.find(".dmGeoSVAddr").html(U);
                if (L.phone || L.showPhone) A.find(".dmGeoSVPhone a").attr({
                    href: "tel:" + L.phone,
                    phone: L.phone
                }), L.clickToCallText && A.find(".dmGeoSVPhone a .text").text(L.clickToCallText);
                A.find(".dmGeoSVPhone").toggle(L.showPhone);
                if (L.url && !1 !== L.displayLink) {
                    try {
                        var G = a(L.url)
                    } catch (J) {
                        G = a('\x3ca href\x3d"' + L.url + '"\x3eGo to location page\x3c/a\x3e')
                    }
                    t(G);
                    G.addClass("dmGeoSVGoToPage");
                    A.find(".dmGeoSVGoToPage").replaceWith(G);
                    G.show()
                } else A.find(".dmGeoSVGoToPage").hide();
                A.find(".dmGeoSVMoreInfo").text(L.description && !1 !== L.showDescription ? L.description : "");
                A.find(".dmGeoSVSeeAll").unbind("click").click(function() {
                    h()
                })
            }

            function f(T, L) {
                for (var U = [], G = 0; G < e.length; G++) U.push({
                    latitude: e[G].latitude,
                    longitude: e[G].longitude,
                    id: e[G].uniqueId
                });
                var J = [];
                for (G = 0; G < U.length; G++) {
                    var R = U[G],
                        ba = L - R.longitude,
                        da = T - R.latitude;
                    ba = Math.sqrt(ba * ba + da * da);
                    J[G] =
                        R;
                    J[G].distance = ba
                }
                J.sort(function(la, M) {
                    return la.distance > M.distance ? 1 : -1
                });
                T = J[0].id;
                p.find(".dmGeoLocBtn").addClass("geoDisabledState");
                v.find('li[geoid\x3d"' + T + '"]').data("mode", a(".dmGeoViewStateWrapper").hasClass("isOff") ? "map" : "list").click()
            }
            var p = a(d),
                y = p.attr("data-editor"),
                e = JSON.parse(Base64.decode(y)).locations,
                g = m[p.attr("provider")],
                v = p.find(".dmGeoMLocList"),
                D = p.find(".dmGeoMLocMapView"),
                A = p.find(".dmGeoSingleView"),
                x = D.find(".dmGeoMLocMapViewMap .mapContainer")[0];
            y = p.find(".dmGeoMLocList li");
            var C = {},
                I = 0,
                H = 0,
                N;
            C.showAll = !0;
            y.data("mode", "map");
            v.is(":visible") && A.hide();
            b(!0);
            var S = p.find(".dmGeoViewStateWrapper"),
                X = p.find(".dmStState");
            c = p.find(".dmGeoStList");
            var ca = p.find(".dmGeoStMap");
            c.unbind("click").click(function() {
                a.dmrt.isEditorMode && window.editorParent.jQuery && window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode || (X.removeClass("isOff"), S.removeClass("isOff"), b(!1))
            });
            ca.unbind("click").click(function() {
                a.dmrt.isEditorMode && window.editorParent.jQuery &&
                    window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode || (X.addClass("isOff"), S.addClass("isOff"), b(!0))
            });
            X.unbind("click").click(function() {
                a(this).hasClass("isOff") ? (X.removeClass("isOff"), S.removeClass("isOff"), b(!1)) : (X.addClass("isOff"), S.addClass("isOff"), b(!0));
                "undefined" !== typeof _ && _.isUseIscroll() && a.layoutManager.refreshIscroll()
            });
            for (c = 0; c < y.length; c++) a(y[c]).unbind("click").click(function() {
                a.layoutManager._isEditorMode && window.editorParent.jQuery && window.editorParent.jQuery.onefw &&
                    !window.editorParent.jQuery.onefw.inPreviewMode || (l(a(this).attr("geoid")), a(this).closest('[data-element-type\x3d"dm_geo_location"]')[0].scrollIntoView({
                        behavior: "smooth"
                    }))
            });
            y = p.attr("id");
            a.DM.events.off("showSingleView:" + y).on("showSingleView:" + y, function(T, L) {
                l.bind(this)(L)
            });
            a.DM.events.off("showMultiView:" + y).on("showMultiView:" + y, function(T, L) {
                h.bind(this)()
            });
            if ("https:" === window.location.protocol || "localhost" === window.location.hostname) p.on("click", ".dmGeoLocBtn", function(T) {
                a.layoutManager._isEditorMode &&
                    window.editorParent.jQuery && window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode || navigator.geolocation && navigator.geolocation.getCurrentPosition(function(L) {
                        I = L.coords.latitude;
                        H = L.coords.longitude;
                        p.find(".dmGeoViewStateWrapper .dmStState").removeClass("isOff");
                        f(I, H)
                    }, function(L) {
                        console.error(L);
                        alert("We do not have permission to access your location. Please enable access in your settings")
                    })
            });
            else a(".dmGeoLocBtn").hide()
        })
    }
    var r = !1,
        m = {},
        k = {};
    a.dmrt.register("geolocation", {
        selector: ".dmGeoLocation[provider]",
        ported: !0,
        default: {
            ready: function() {
                r || (m.google = a.geoProviders.google, m.openstreetmap = a.geoProviders.openstreetmap, m.mapbox = a.geoProviders.mapbox, m.mappy = a.geoProviders.mappy, r = !0);
                var n = document.querySelector(".dmGeoLocation[provider]").getAttribute("provider");
                return Promise.resolve(m[n].init()).then(function() {
                    B();
                    z()
                })
            },
            load: function(n) {},
            initGoogleMaps: z
        },
        mobile: {},
        tablet: {},
        desktop: {}
    })
})(jQuery);
(function(a) {
    function B() {
        a(".dmHe").find("*[data-he-id]").each(function() {
            0 === a(this).attr("data-he-id").length && a(this).parent().css({
                height: "70px"
            })
        })
    }
    var z = {
        default: {
            ready: function() {
                a('*[id^\x3d"he-webplugin-"]:not([id^\x3d"he-webplugin-popup-"])').attr({
                    class: "dmHe"
                });
                B();
                z["default"].refresh()
            },
            load: function(t, w) {},
            refresh: function(t) {
                a(t ? '[dmle_extension\x3d"healthEngine"]#' + t : '[dmle_extension\x3d"healthEngine"]').each(function() {
                    var w = a(this),
                        q = w.find("script"),
                        r = document.createElement("script");
                    r.type = "text/javascript";
                    r.src = q.attr("src");
                    a.each(q.get(0).attributes, function(m, k) {
                        k.name.startsWith("data") && r.setAttribute(k.name, k.value)
                    });
                    w.attr("data_id") ? w.removeClass("dmHe-empty") : w.hasClass("dmHe-empty") || w.addClass("dmHe-empty");
                    0 < w.find("[id^\x3d'he-webplugin']").length && w.removeClass("dmHe-empty");
                    w.find("[id^\x3d'he-webplugin']").remove();
                    w.find("script").remove();
                    w.get(0).appendChild(r)
                })
            }
        },
        mobile: {},
        tablet: {},
        desktop: {}
    };
    a.dmrt.register("healthengine", z)
})(jQuery);
(function(a) {
    var B = {
        addSlidesToImageSlider: function(z, t) {
            var w = jQuery('.flexslider[duda_id\x3d"' + z + '"]');
            z = w.data("flexslider");
            if (void 0 === z) w.find("ul.slides").append(t), B.initImageSliderInternal(w.parent());
            else
                for (w = 0; w < t.length; w++) z.addSlide(t[w])
        },
        fixSlideContentPosition: function(z, t) {
            if (!z.closest(".flexslider") || !z.closest(".flexslider").hasClass("ed-version"))
                if (t = t || {}, t.$slide && (t.layout = t.$slide.closest(".flexslider").attr("layout") || t.$slide.attr("layout"), t.position = t.$slide.attr("position")),
                    "center" === t.layout) {
                    z.css({
                        top: 0,
                        left: 0,
                        right: "auto",
                        bottom: "auto",
                        margin: 0
                    });
                    if ("right" === t.position || "left" === t.position) {
                        t = z.height() / 2 * -1;
                        var w = 0;
                        var q = "auto"
                    } else t = z.height() / 2 * -1, w = z.width() / 2 * -1, q = "50%";
                    z.css({
                        marginLeft: w,
                        marginTop: t,
                        top: "50%",
                        left: q
                    })
                }
        },
        removeSlideFromImageSlider: function(z, t) {
            jQuery('.flexslider[duda_id\x3d"' + z + '"]').data("flexslider").removeSlide(t)
        },
        initImageSlider: function(z, t) {
            var w = a.extend({}, {
                    delay: 0
                }, t),
                q = w.elem || jQuery(".dmImageSlider");
            a(window).off("orientationchange.imageSlider").on("orientationchange.imageSlider",
                function() {
                    B.initImageSliderInternal(q, z, w)
                });
            setTimeout(function() {
                B.initImageSliderInternal(q, z, w)
            }, w.delay)
        },
        imageSliderFitImages: function(z, t) {
            z = z.find("li img");
            var w = t ? "cover" : "contain";
            a(z).each(function(q, r) {
                q = a(r);
                if (q.is("img")) {
                    r = q.parent();
                    var m = q.attr("src");
                    q.hide();
                    r.addClass("dmCoverImgContainer").css({
                        backgroundImage: 'url("' + m.replace("'", "\\'") + '")',
                        backgroundSize: w,
                        backgroundRepeat: "no-repeat",
                        backgroundPosition: "center"
                    })
                }
            })
        },
        imageSliderFitImagesAll: function() {
            jQuery(".dmImageSlider .flexslider").each(function() {
                var z =
                    a(this),
                    t = eval("(" + z.attr("sliderScriptParams") + ")");
                B.imageSliderFitImages(z, t.stretch)
            })
        }
    };
    a.fn.destroyImageSlider = function() {
        var z = a(this);
        if (0 < z.length) {
            var t = z.clone();
            t.find(".flex-viewport").children().unwrap();
            t.find(".clone, .flex-direction-nav, .flex-control-nav").remove().end();
            t.insertBefore(z);
            z.remove();
            a.DM.initRuntimeLinks(t.find("a"));
            return t
        }
        return z
    };
    B.updateImageSlider = function(z, t) {
        function w(k) {
            k.find(".slide-inner").attr("class", "slide-inner");
            k.find(".flex-active-slide").removeClass("flex-active-slide")
        }

        function q() {
            var k = z.closest(".dmImageSlider");
            1 === k.length && (k.parent().is(".dmContent, .dmRespCol") || k.parent().css("width", "100%"))
        }

        function r(k) {
            var n = k.find(".flex-active-slide");
            k = n.find(".slide-inner");
            var c = n.attr("animation"),
                d = n.closest(".flexslider").attr("layout") || n.attr("layout");
            n = n.attr("position");
            B.fixSlideContentPosition(k, {
                layout: d,
                position: n
            });
            k.addClass(c + " animated")
        }
        var m = z.attr("sliderScriptParams");
        m = eval("(" + m + ")");
        m.animation = m.isFade ? "fade" : "slide";
        m.slideshow = m.isAutoPlay;
        m.pausePlay = !1;
        m.pauseOnHover = m.pauseOnHover;
        m.start = r;
        m.after = r;
        m.before = function(k) {
            var n = k.find(".flex-active-slide");
            k = n.find(".slide-inner");
            n = n.attr("animation");
            k.removeClass(n + " animated")
        };
        m.animationLoop = !a.layoutManager._isEditorMode && 1 < z.find("ul.slides li").length;
        B.imageSliderFitImages(z, m.stretch);
        t ? (t = z.data("flexslider"), t.vars.directionNav = m.directionNav, t.vars.slideshowSpeed = m.slideshowSpeed, t.vars.pauseOnHover = m.pauseOnHover, t.setup(), t.stop(), m.isAutoPlay && t.play(), m.directionNav ?
            t.directionNav.css("visibility", "visible") : t.directionNav.css("visibility", "hidden")) : (z.data("flexslider") && (z = z.destroyImageSlider()), z.find(".slide-inner").length && w(z), m.isFade || z.find("ul.slides li").css({
            marginRight: "0px",
            opacity: 1
        }), z.flexslider(m), m.isFade && z.find("ul.slides").attr("style", ""), z.find(".flex-direction-nav a").attr("href", ""), m = z.find("ul.slides \x3e li"), 1 >= m.length ? z.find(".flex-direction-nav").hide() : z.find(".flex-direction-nav").show(), 0 < m.length && m.each(function(k, n) {
            k =
                a(n).find(".slide-inner");
            0 < k.length && !k.attr("duda_id") && k.attr("duda_id", k.attr("id"));
            (k = a(n).find("a")) && k.css("background-image") && a(n).css("background-image") && (k = a(n).attr("style"), a(n).css("cssText", k + "background-image: none !important;"))
        }), z.find(".color-overlay, .slide-inner").off("click.emitLinkClick").on("click.emitLinkClick", function() {
            var k = a(this).parent().find("a");
            a.editGrid && !a.editGrid.inPreviewMode() || !k[0] || (a.editGrid ? k.trigger("click") : (a.DM.isTouchDevice && k[0].dispatchEvent(new TouchEvent("touchend")),
                k[0].click()))
        }), q(), parent.window.$.dmfw && !parent.window.$("body").hasClass("previewMode") && a.editGrid.addWidgetToGrid(z.parent(), !0));
        z.imagesLoaded().fail(function(k) {
            k = k.images;
            for (var n in k) {
                var c = k[n];
                if (!c.isLoaded) {
                    c = a(c.img);
                    var d = c.parent();
                    var b = c.attr("data-dm-image-path");
                    d.css({
                        backgroundImage: "url(" + b + ")"
                    });
                    c.attr({
                        src: b
                    })
                }
            }
        })
    };
    B.initImageSliderInternal = function(z, t, w, q) {
        0 < z.length && a.DM.loadExternalScriptAsync(rtCommonProps["common.resources.cdn.host"] + "/libs/flexslider/jquery.flexslider.min.js",
            function() {
                for (var r = 0; r < z.length; r++) {
                    var m = a(z[r]).hasClass("flexslider") ? a(z[r]) : a(z[r]).find(".flexslider");
                    B.updateImageSlider(m, t)
                }
                q && q()
            })
    };
    a.extend(a.DM, B);
    a.dmrt.register("imageslider", {
        selector: ".dmImageSlider",
        default: {
            ready: function(z) {
                B.initImageSlider()
            },
            load: function(z) {}
        },
        mobile: {},
        tablet: {},
        desktop: {},
        goToSlideBySrc: function(z, t) {
            var w = a(z).find(".flexslider").data("flexslider"),
                q = "fade" === w.vars.animation;
            t = q ? `[src*="${t}"]` : `:not(.clone) > [src*="${t}"]`;
            q = q ? 0 : 1;
            var r = z.querySelectorAll("img");
            z = z.querySelector(t);
            z = [].indexOf.call(r, z);
            z >= q && w.flexAnimate(z - q, !0)
        }
    })
})(jQuery);
(function(a) {
    function B() {
        a.dmrt.isEditorMode && (a.DM.events.on("widget_resize", function(n, c) {
            a(c).is(".inlineMap") && t()
        }), a.DM.events.on("col_resize", function(n, c) {
            0 < a(c).is(".inlineMap").length && t()
        }), a.DM.events.on("row_resize", function(n, c) {
            0 < a(c).find(".inlineMap").length && t()
        }));
        Array.from(a(".inlineMap")).forEach(function(n) {
            function c(l) {
                return k.find(function(h) {
                    return h.container[0].id === n.id
                }) ? Promise.resolve() : window.requestAnimationFrame(function() {
                    var h = a(n),
                        u = h.attr("provider");
                    u = m[u];
                    var f = {
                        height: h.attr("data-height"),
                        lat: l.lat,
                        lng: l.lng,
                        zoom: parseInt(h.attr("data-zoom"), 10),
                        layout: h.attr("data-layout"),
                        colorScheme: h.attr("data-color-scheme"),
                        language: h.attr("data-lang"),
                        container: n,
                        kml: JSON.parse(atob(h.attr("data-area-names") || "W10\x3d"))
                    };
                    if ("button" !== h.attr("mode" + a.layoutDevice.type)) {
                        f.options = {};
                        f.options.scrollWheelZoom = !1;
                        f.options.dragging = !a.dmrt.isEditorMode;
                        f.options.fullScreenSwitcher = !(a.DM.isPreview() || "mobile" === a.layoutDevice.type);
                        f.height && h.css("height",
                            f.height);
                        var p = h.attr("data-popup-title") || "",
                            y = h.attr("data-popup-description") || "";
                        p = "\x3ch3 class\x3d'map-popup-title'\x3e" + p + "\x3c/h3\x3e\x3cdiv class\x3d'map-popup-description'\x3e" + (y + "\x3c/div\x3e");
                        y = a.dmrt.isEditorMode && h.attr("editor-always-show-popup") ? "always" : h.attr(w(a.layoutDevice.type));
                        f.popupOptions = {
                            html: p,
                            display: y,
                            show: h.attr("data-popup-show") && "false" !== h.attr("data-popup-show")
                        };
                        f.options.doubleClickZoom = !0;
                        f.options.satelliteSwitcher = !0;
                        u = u.drawMap(f);
                        k.push({
                            map: u,
                            container: h
                        })
                    }
                })
            }
            var d = a(n),
                b = {
                    lat: d.attr("data-lat") || d.attr("lat"),
                    lng: d.attr("data-lng") || d.attr("lon")
                };
            d = d.attr("data-address");
            b.lat && b.lng ? c(b) : r.search({
                query: d
            }).then(function(l) {
                if (0 >= l.length) return null;
                l = l[0];
                return l.y && l.x ? {
                    lat: l.y,
                    lng: l.x
                } : r.getLocationDetails(l)
            }).then(function(l) {
                l && c({
                    lat: l.lat,
                    lng: l.lng
                })
            })
        })
    }

    function z(n) {
        for (n = 0; n < k.length; n++) {
            var c = k[n].map,
                d = k[n].container;
            0 !== a(d).length && (d = a(d).attr("provider"), m[d].cleanup(c))
        }
        k = []
    }

    function t() {
        for (var n = 0; n < k.length; n++) {
            var c = k[n].map,
                d = a(k[n].container).attr("provider");
            m[d].refreshSize(c)
        }
    }

    function w(n) {
        return "tablet" === n || "mobile" === n ? "data-popup-display-mobile" : "data-popup-display-desktop"
    }
    var q = !1,
        r, m = {},
        k = [];
    a.dmrt.register("inlinemap", {
        selector: ".inlineMap[provider]",
        ported: !0,
        default: {
            ready: function(n, c) {
                q || (q = !0, m.google = a.geoProviders.google, m.openstreetmap = a.geoProviders.openstreetmap, m.mapbox = a.geoProviders.mapbox, m.mappy = a.geoProviders.mappy, r = window.runtime.API.geoProvider);
                z();
                n = Object.keys(m).map(function(d) {
                    return 0 ===
                        a(".inlineMap[provider\x3d" + d + "]").length ? Promise.resolve() : Promise.resolve(m[d].init())
                });
                Promise.all(n).then(B)
            },
            load: function(n) {},
            initGoogleMaps: function() {},
            refreshStyle: function() {
                for (var n = 0; n < k.length; n++) {
                    var c = k[n].map,
                        d = k[n].container,
                        b = a(d).attr("provider");
                    b = m[b];
                    var l = d.attr("data-color-scheme");
                    d = d.attr("data-layout");
                    b.refreshStyle(c, {
                        layout: d,
                        colorScheme: l
                    })
                }
            },
            refreshZoom: function() {
                for (var n = 0; n < k.length; n++) {
                    var c = k[n].map,
                        d = k[n].container,
                        b = a(d).attr("provider");
                    b = m[b];
                    d = Number.parseInt(a(d).attr("data-zoom"),
                        10);
                    b.refreshZoom(c, d)
                }
            },
            keepMapPopupOpen: function(n) {
                for (var c = 0; c < k.length; c++) {
                    var d = k[c].map,
                        b = k[c].container;
                    if (b.attr("id") === n) {
                        var l = a(b).attr("provider");
                        l = m[l];
                        a(b).attr("editor-always-show-popup", "true");
                        "always" !== a(b).attr(w(a.layoutDevice.type)) && l.openPopup(d)
                    }
                }
            },
            removeKeepMapPopupOpen: function(n) {
                for (var c = 0; c < k.length; c++) {
                    var d = k[c].map,
                        b = k[c].container;
                    if (b.attr("id") === n) {
                        var l = a(b).attr("provider");
                        l = m[l];
                        a(b).attr("editor-always-show-popup", "false");
                        "always" !== a(b).attr(w(a.layoutDevice.type)) &&
                            l.closePopup(d)
                    }
                }
            },
            refreshPopup: function(n) {
                for (var c = 0; c < k.length; c++) {
                    var d = k[c].map,
                        b = k[c].container;
                    b.attr("id") === n && (b = a(b).attr("provider"), m[b].refreshPopup(d))
                }
            },
            refreshSize: t
        },
        mobile: {},
        tablet: {},
        desktop: {}
    })
})(jQuery);
(function(a) {
    a.extend(a.modules, {
        multilingual: {}
    });
    a.dmrt.register("multilingual", {
        selector: ".multilingualWidget",
        default: {
            ready: function(B, z) {
                function t() {
                    return 0 < a(".multilingualWidget.dropdown").length
                }

                function w(d, b) {
                    d.addClass("open");
                    b.css("bottom", "");
                    b.show();
                    var l = (d.parents(".layout-drawer").length ? a(".layout-drawer") : a(".dm_wrapper"))[0].getBoundingClientRect(),
                        h = d[0].getBoundingClientRect(),
                        u = b[0].getBoundingClientRect();
                    l = l.height - (d.offset().top + h.height + u.height);
                    u = d.offset().top -
                        u.height;
                    b.hide();
                    10 < l || l > u ? b.stop().slideDown(100) : (b.css("bottom", d.find(".current-language").height()), b.slideToggle({
                        direction: "up",
                        duration: 100
                    }))
                }

                function q(d, b) {
                    d.removeClass("open");
                    b.stop().slideUp(100)
                }

                function r(d, b) {
                    b.is(":hidden") ? w(d, b) : setTimeout(function() {
                        q(d, b)
                    }, 100)
                }

                function m() {
                    a(".multilingualWidget a").off("click.languageSwitch").on("click.languageSwitch", function(d) {
                        a: {
                            try {
                                if (!a.editGrid.helpers.isPreviewMode()) {
                                    var b = !0;
                                    break a
                                }
                            } catch (u) {}
                            b = !1
                        }
                        if (!b)
                            if (t() && a(this).parent().is(".current-language")) {
                                b =
                                    a(this).parents(".multilingualWidget");
                                var l = b.find(".other-languages");
                                r(b, l);
                                d.preventDefault();
                                d.stopImmediatePropagation()
                            } else if (t()) {
                            var h = a(this).attr("href");
                            a(".multilingualWidget").each(function() {
                                var u = a(this),
                                    f = u.find(".current-language"),
                                    p = a(this).find('a[href\x3d"' + h + '"]');
                                f.find("a").insertAfter(p);
                                p.appendTo(f);
                                q(a(this), u.find(".other-languages"))
                            })
                        }
                    })
                }

                function k(d, b) {
                    a(document).off("mouseup.closeMultilingual").on("mouseup.closeMultilingual", function(l) {
                        t() && (d.is(l.target) || 0 !==
                            d.has(l.target).length || q(d, b))
                    })
                }

                function n() {
                    a(".multilingualWidget.dropdown.long-label").each(function() {
                        var d = a(this).find(".other-languages"),
                            b = a(this).find("span.name"),
                            l = a(this).children("div");
                        d.show();
                        b = b.map(function() {
                            return a(this).width()
                        }).get();
                        d.hide();
                        d = Math.max.apply(this, b);
                        d > a(this).find(".current-language .name").width() && l.css("minWidth", d + 60)
                    })
                }

                function c() {
                    var d = a(".dm-no-flexbox .innerMultilingualRow.visibleMultilingual + .innerSocialRow").not(".displayNone");
                    if (0 < d.length) {
                        var b =
                            function() {
                                var l = a(".innerMultilingualRow").outerWidth(),
                                    h = a(".social-multilingual-container").outerWidth();
                                d.width(h - l - 40).show()
                            };
                        b();
                        a(window).off("resize.socialHeader").on("resize.socialHeader", b)
                    }
                }(function() {
                    c();
                    "undefined" !== typeof z.data && z.data.relAlternateLanguageLinksMarkup && (a('link[rel\x3d"alternate"]').remove(), a("head").append(a(z.data.relAlternateLanguageLinksMarkup)));
                    var d = a(".multilingualWidget.dropdown"),
                        b = d.find(".other-languages");
                    m();
                    k(d, b);
                    n()
                })()
            },
            load: function(B) {}
        },
        mobile: {},
        tablet: {},
        desktop: {}
    })
})(jQuery);
(function(a) {
    function B(q) {
        var r = q.find(".caption-inner"),
            m = $.layoutDevice && $.layoutDevice.type,
            k = q.attr("data-text-layout"),
            n = "data-" + m + "-text-layout";
        q.attr(n) && (k = q.attr(n), q.attr("data-text-layout", k));
        !r.length || "desktop" !== m || k && "bottom" !== k || $.equalHeight(r);
        r.show()
    }

    function z(q, r) {
        if (q) return r = r || {}, q.getMultisizedPath(r.thumbnail ? "thumbnail" : $.layoutDevice && $.layoutDevice.type || "mobile")
    }
    var t = {
            selector: ".dmPhotoGallery:not(.newPhotoGallery)",
            imageStack: [],
            layoutsData: {
                panoramic: {
                    name: "panoramic",
                    limitedNumberOfColumns: 1,
                    numberOfImagesPerColumn: 1,
                    mobileColumns: 1
                },
                asymetric: {
                    name: "asymetric",
                    limitedNumberOfColumns: 6,
                    numberOfImagesPerColumn: 1
                },
                pinterest: {
                    name: "pinterest",
                    limitedNumberOfColumns: 6,
                    numberOfImagesPerColumn: 1
                },
                asymetric2: {
                    name: "asymetric2",
                    limitedNumberOfColumns: 2,
                    mobileColumns: 1,
                    numberOfImagesPerColumn: 5
                },
                asymetric3: {
                    name: "asymetric3",
                    limitedNumberOfColumns: 2,
                    mobileColumns: 1,
                    numberOfImagesPerColumn: 4
                },
                vertical: {
                    name: "vertical",
                    limitedNumberOfColumns: 6,
                    numberOfImagesPerColumn: 1
                },
                square: {
                    name: "square",
                    limitedNumberOfColumns: 6,
                    numberOfImagesPerColumn: 1
                }
            },
            isLinkGalleryType: function(q) {
                return q.attr("data-link-gallery") && "true" === q.attr("data-link-gallery")
            },
            getNumberOfColumns: function(q, r) {
                var m = $.dmrt.components.photogallery.oldComponent.getCurrentLayout(q),
                    k = q.find("ul.dmPhotoGalleryHolder");
                q = k.attr("data-d1-gallery-cols") || k.attr("data-dudaone-gallery-cols") || 4;
                "mobile" === $.layoutDevice.type ? q = k.attr("data-d1-mobile-gallery-cols") || Math.min(r && r.thumbnailsPerRow || 2, 2, q) :
                    "tablet" === $.layoutDevice.type && (q = k.attr("data-d1-tablet-gallery-cols") || q);
                r = $.dmrt.components.photogallery.oldComponent.getLayoutData(m);
                "mobile" === $.layoutDevice.type && r.mobileColumns ? q = r.mobileColumns : q > r.limitedNumberOfColumns && (q = r.limitedNumberOfColumns);
                return q
            },
            getCurrentColumnIndex: function(q, r, m) {
                return Math.floor(q / $.dmrt.components.photogallery.oldComponent.getLayoutData(m).numberOfImagesPerColumn % r)
            },
            getNumberOfImagesPerColumn: function(q) {
                return $.dmrt.components.photogallery.oldComponent.getLayoutData(t.getCurrentLayout(q)).numberOfImagesPerColumn
            },
            getLayoutData: function(q) {
                return $.dmrt.components.photogallery.oldComponent.layoutsData[q] || $.dmrt.components.photogallery.oldComponent.layoutsData.square
            },
            getCurrentLayout: function(q) {
                q = q.children("ul").eq(0);
                q = q.attr("data-d1-gallery-type") || q.attr("data-dudaone-gallery-type");
                q && t.layoutsData[q] || (q = $.dmrt.components.photogallery.oldComponent.layoutsData.square.name);
                return q
            },
            getNumberOfRow: function(q, r, m) {
                q = $.dmrt.components.photogallery.oldComponent.getLayoutData(q).numberOfImagesPerColumn;
                m = Math.floor(m / q);
                return 1 === r ? m : Math.floor(m / r)
            },
            calculateImageDimension: function(q, r, m, k, n, c) {
                var d = {
                        width: "100%",
                        float: "left",
                        clear: "none",
                        height: "auto",
                        maxHeight: "initial"
                    },
                    b = {},
                    l = $.dmrt.components.photogallery.oldComponent.getLayoutData(q).numberOfImagesPerColumn;
                switch (q) {
                    case "square":
                        b.height = m.width();
                        break;
                    case "pinterest":
                        r.attr("data-asymetric-ratio") ? b.height = m.width() * r.attr("data-asymetric-ratio") : (n = 0 === k % 2 && 0 === m.children().length % 2 || 1 === k % 2 && 1 === m.children().length % 2 ? 1.25 : .75, b.height =
                            m.width() * n, r.attr("data-asymetric-ratio", n));
                        break;
                    case "panoramic":
                        b.height = .25 * m.width();
                        break;
                    case "asymetric2":
                        q = (k = $("body").hasClass("dmMobileBody")) ? !1 : $.dmrt.components.photogallery.oldComponent.getNumberOfRow(q, c, n) % 2;
                        2 === n % l ? (d.width = k ? "100%" : "40%", b.height = m.width() * (k ? 1 : .5) + 2 * (r.css("padding-right") || "0").replace("px", ""), d["float"] = q ? "left" : "right") : (d["float"] = q ? "right" : "left", b.height = m.width() * (k ? .5 : .25), d.width = k ? "50%" : "30%", 3 === n % l ? d.clear = q ? "right" : "left" : 0 === n % l && (d.clear = "both"));
                        break;
                    case "asymetric3":
                        var h = (k = $("body").hasClass("dmMobileBody")) ? "100%" : "40%",
                            u = k ? "50%" : "30%";
                        q = k ? !1 : $.dmrt.components.photogallery.oldComponent.getNumberOfRow(q, c, n) % 2;
                        0 === n % l ? (d.width = h, b.height = m.width() * (k ? 1 : .5) + 2 * (r.css("padding-right") || "0").replace("px", ""), d["float"] = q ? "right" : "left", d.clear = q ? "both" : "left") : 3 === n % l ? (d.width = k ? "100%" : "60%", d.clear = q ? "left" : "none", b.height = m.width() * (k ? .5 : .25)) : (b.height = m.width() * (k ? .5 : .25), d.width = u);
                        break;
                    case "vertical":
                        b.height = 2 * m.width()
                }
                r.css(d);
                r.find("a").css(b)
            },
            initPhotoGallery: function() {
                $.layoutDevice && $.dmrt.components.photogallery.oldComponent[$.layoutDevice.type].ready ? $.dmrt.components.photogallery.oldComponent[$.layoutDevice.type].ready($.layoutManager._isEditorMode) : $.dmrt.components.photogallery.oldComponent["default"].ready($.dmrt.isEditorMode)
            },
            default: {
                ready: function(q) {
                    function r(c) {
                        if ($(window).width()) c();
                        else var d = setInterval(function() {
                            $(window).width() && (clearInterval(d), c())
                        }, 300)
                    }

                    function m() {
                        for (var c = 0; c < n; c++) $.dmrt.components.photogallery.oldComponent.initPhotoGalleryImpl(k.eq(c))
                    }
                    var k = $(".dmPhotoGallery:not(.newPhotoGallery)");
                    if (!k.hasClass(".new-photogallery")) {
                        var n = k.length;
                        (function() {
                            for (var c, d, b = 0; b < n; b++) c = $(k[b]), d = c.attr("data-image-animation"), $.dmrt.components.photogallery.oldComponent.initPhotoGalleryAnimation(c, d)
                        })();
                        q ? r(function() {
                            m()
                        }) : m();
                        $.dmrt.components.photogallery.oldComponent.onResizeAction()
                    }
                },
                load: function(q) {},
                resetImageSizes: function(q, r, m) {
                    function k() {
                        $.dmrt.components.photogallery.oldComponent.refreshPhotoGalleriesSize(q)
                    }
                    var n = q.find("ul.gallery"),
                        c = n.attr("data-d1-gallery-type") || n.attr("data-dudaone-gallery-type") || "square";
                    r = r ? r.data("type") : null;
                    q.find("li.photoGalleryThumbs");
                    var d = {
                        attrToAdd: {
                            "data-d1-gallery-type": r
                        },
                        attrToRemove: ["data-dudaone-gallery-type"]
                    };
                    if (m || r && c !== r)
                        if (r && window.editorParent && window.editorParent.$ && (window.editorParent.$.dmsrv.updateElementAttributes(n, d), n.attr({
                                "data-d1-gallery-type": r
                            })), m && (r = c), k(), window.editorParent.$ && window.editorParent.$.dmx) window.editorParent.$.dmx.events.on("numberOfColumnsChanged.imageHeight",
                            k, !0, {
                                scope: "page"
                            })
                },
                switchImagesInGalleryStack: function(q, r) {
                    var m = $.dmrt.components.photogallery.oldComponent.imageStack[r];
                    $.dmrt.components.photogallery.oldComponent.imageStack.splice(r, 1);
                    $.dmrt.components.photogallery.oldComponent.imageStack.splice(q, 0, m)
                },
                addImageToStack: function(q, r) {
                    $.dmrt.components.photogallery.oldComponent.imageStack.splice(r ? 0 : $.dmrt.components.photogallery.oldComponent.imageStack.length, 0, q)
                },
                removeImageFromGalleryStack: function(q) {
                    $.dmrt.components.photogallery.oldComponent.imageStack =
                        $.dmrt.components.photogallery.oldComponent.imageStack.filter(function(r, m) {
                            return r.attr("id") === q ? !1 : !0
                        });
                    $('li[duda_id\x3d"' + q + '"]').remove()
                },
                initDudaonePhotogallery: function(q) {
                    function r(k) {
                        for (var n = 0; n < k.length; n++) {
                            k[n].removeAttribute("data-pswp-uid");
                            $(k[n]).off("click.photoswipe");
                            for (var c = k.eq(n).find("a"), d = 0; d < c.length; d++) c.eq(d).off("click.photogallery").on("click.photogallery", function(b) {
                                w() || this.getAttribute("href") && this.getAttribute("href") !== this.getAttribute("data-image-url") ||
                                    b.preventDefault()
                            })
                        }
                    }

                    function m(k) {
                        for (var n = function(f) {
                                for (var p = $(f), y, e, g, v, D = (f = "dm_fb_gallery" === p.attr("dmle_extension") || p.hasClass("dmSocialGalleryHolder")) ? p.find("li") : p.find("ul \x3e li.photoGalleryThumbs"), A = D.length, x = [], C = 0; C < A; C++)
                                    if (p = f ? D[C] : D.filter('[index\x3d"' + C + '"]')[0], 1 === p.nodeType) {
                                        e = $(p);
                                        g = e.find("a")[0];
                                        v = {
                                            src: g.getAttribute("href")
                                        };
                                        if (f) g = $(g).find("img"), g.length ? (g.attr("irw"), y = g.css("maxWidth"), g.css("maxWidth", "none"), v.w = parseInt(g.width(), 10), v.h = parseInt(g.height(),
                                            10), g.css("maxWidth", y)) : (v.src = "", v.title = "", v.w = 0, v.h = 0);
                                        else {
                                            g = e.find("img")[0];
                                            y = e.find(".caption-container");
                                            if (0 < y.length) {
                                                v.author = y.find(".caption-title").text().trim();
                                                var I = "";
                                                y.find(".caption-text").contents().filter(function(H) {
                                                    return 3 !== H.nodeType
                                                }).each(function(H, N) {
                                                    I += N.textContent.trim() + " "
                                                });
                                                v.title = I
                                            }
                                            e.attr("data-naturalwidth") && e.attr("data-naturalheight") ? (v.w = parseInt(e.attr("data-naturalwidth"), 10), v.h = parseInt(e.attr("data-naturalheight"), 10)) : (v.w = g.width, v.h = g.height)
                                        }!v.title &&
                                            1 < p.children.length && e.find('[dmle_is_text\x3d"true"]').length && (v.title = $(p).find('[dmle_is_text\x3d"true"]')[0].innerHTML);
                                        v.el = p;
                                        x.push(v)
                                    } return x
                            }, c = function e(p, y) {
                                return p && (y(p) ? p : e(p.parentNode, y))
                            }, d = function(p) {
                                var y = "dm_fb_gallery" === q.attr("dmle_extension");
                                if (!y || "false" !== q.attr("inside-album")) {
                                    p = p || window.event;
                                    p.preventDefault ? p.preventDefault() : p.returnValue = !1;
                                    var e = c(p.target || p.srcElement, function(C) {
                                        return C.tagName && "A" === C.tagName.toUpperCase()
                                    });
                                    if (e && !w()) {
                                        p = $(e).parents("ul.gallery").get(0);
                                        for (var g = $(e).parents("ul.gallery").find("li a"), v = g.length, D = 0, A, x = 0; x < v; x++)
                                            if (1 === g[x].nodeType) {
                                                if (g[x] === e) {
                                                    A = $(g[x]).parents("li.photoGalleryThumbs").eq(0);
                                                    A = y ? A.index() : parseInt(A.attr("index"), 10);
                                                    break
                                                }
                                                D++
                                            } 0 <= A && b(A, p);
                                        return !1
                                    }
                                }
                            }, b = function(p, y, e) {
                                var g = document.querySelectorAll(".pswp")[0];
                                var v = n(y);
                                p = {
                                    index: p,
                                    history: !1,
                                    galleryUID: $(y).parents("[data-pswp-uid]").attr("data-pswp-uid"),
                                    getThumbBoundsFn: function(D) {
                                        var A = window.pageYOffset || document.documentElement.scrollTop;
                                        D = v[D].el.getBoundingClientRect();
                                        return {
                                            x: D.left,
                                            y: D.top + A,
                                            w: D.width
                                        }
                                    },
                                    CaptionHTMLFn: function(D, A, x) {
                                        x = "";
                                        D.author && (x += D.author);
                                        D.author && D.title && (x += "\x3cbr/\x3e");
                                        D.title && (x += "\x3csmall\x3e" + D.title + "\x3c/small\x3e");
                                        if (x.length) return A.children[0].innerHTML = x, A.style.display = "block", !0;
                                        A.children[0].innerText = "";
                                        A.style.display = "none";
                                        return !1
                                    }
                                };
                                e && (p.showAnimationDuration = 0);
                                k = new PhotoSwipe(g, PhotoSwipeUI_Default, v, p);
                                k.init()
                            }, l = k, h = 0, u = l.length; h < u; h++) l[h].setAttribute("data-pswp-uid", h + 1), $(l[h]).off("click.photoswipe").on("click.photoswipe",
                            d);
                        d = function() {
                            var f = window.location.hash.substring(1),
                                p = {};
                            if (5 > f.length) return p;
                            f = f.split("\x26");
                            for (var y = 0; y < f.length; y++)
                                if (f[y]) {
                                    var e = f[y].split("\x3d");
                                    2 > e.length || (p[e[0]] = e[1])
                                } p.gid && (p.gid = parseInt(p.gid, 10));
                            if (!p.hasOwnProperty("pid")) return p;
                            p.pid = parseInt(p.pid, 10);
                            return p
                        }();
                        0 < d.pid && 0 < d.gid && b(d.pid - 1, l[d.gid - 1], !0)
                    }
                    t.isLinkGalleryType(q) ? r(q) : m(q);
                    $.DM.events.on("numberOfColumnsChanged", function() {
                        $.dmrt.components.photogallery.oldComponent.refreshPhotoGalleriesSize(q)
                    });
                    $.DM.events.on("row_resize",
                        function(k, n) {
                            $(n).has(".dmPhotoGallery") && $.dmrt.components.photogallery.oldComponent.refreshPhotoGalleriesSize(q)
                        })
                },
                breakColumns: function(q) {
                    var r = q.find("ul.galleryColumn");
                    q = q.find("li.photoGalleryThumbs");
                    0 < r.length && (q = q.sort(function(k, n) {
                        return 1 * $(k).attr("index") > 1 * $(n).attr("index") ? 1 : -1
                    }));
                    r = q.length;
                    $.dmrt.components.photogallery.oldComponent.imageStack = [];
                    for (var m = 0; m < r; m++) $.dmrt.components.photogallery.oldComponent.imageStack.push(q.eq(m))
                },
                getNextImage: function(q) {
                    q = q.attr("id");
                    for (var r in $.dmrt.components.photogallery.oldComponent.imageStack)
                        if (t.imageStack[r].attr("id") === q && 1 * r + 1 < $.dmrt.components.photogallery.oldComponent.imageStack.length) return $.dmrt.components.photogallery.oldComponent.imageStack[1 * r + 1];
                    return null
                },
                splitToColumns: function(q) {
                    var r = q.find(".caption-inner");
                    $("body").hasClass("dmMobileBody");
                    var m = $.dmrt.components.photogallery.oldComponent.getCurrentLayout(q),
                        k = [],
                        n = $("\x3cli class\x3d'galleryContainer clearfix'/\x3e"),
                        c, d = $.dmrt.components.photogallery.oldComponent.getNumberOfColumns(q);
                    $.dmrt.components.photogallery.oldComponent.imageStack.forEach(function(l) {
                        k.push($(l).detach())
                    });
                    $.dmrt.components.photogallery.oldComponent.imageStack = [];
                    r.hide();
                    t.isLinkGalleryType(q) && k.forEach(function(l) {
                        $(l).find("a").hasClass("has-link") && $(l).remove()
                    });
                    q.find(".dmPhotoGalleryHolder").addClass("ready").html(n);
                    var b = function(l, h, u) {
                        var f = [],
                            p;
                        (p = !u.is(":visible")) && u.get(0).style.setProperty("display", "block", "important");
                        for (var y = 0; y < l; y++) {
                            var e = $("\x3cul class\x3d'galleryColumn clearfix'/\x3e");
                            e.css({
                                width: 100 / l + "%",
                                maxWidth: Math.floor(u.width() / l) + "px"
                            });
                            f.push(e);
                            e.appendTo(h)
                        }
                        p && u.get(0).style.removeProperty("display");
                        return f
                    }(d, n, q);
                    $.each(k, function(l, h) {
                        h = $(h);
                        var u = h.find("a"),
                            f = $.dmrt.components.photogallery.oldComponent.getCurrentColumnIndex(l, d, m);
                        c = b[f];
                        h.attr({
                            index: l
                        });
                        h.removeAttr("data-asymetric-ratio");
                        h.appendTo(c);
                        $.dmrt.components.photogallery.oldComponent.calculateImageDimension(m, h, c, f, l, d);
                        h.find("img")[0].src = z(u.attr("data-image-url") || u.attr("href"));
                        h.imagesLoaded().done(function(p) {
                            var y =
                                p.elements[0];
                            if (0 === $(y).width()) var e = 0,
                                g = setInterval(function() {
                                    if (0 !== $(y).width() || 4 < e) clearInterval(g), $.dmrt.components.photogallery.oldComponent["default"].setImageHeight(y, m);
                                    e += 1
                                }, 500);
                            else $.dmrt.components.photogallery.oldComponent["default"].setImageHeight(y, m);
                            r.is(":visible") || r.show()
                        }).fail(function(p) {
                            p = $(p.elements).eq(0);
                            var y = p.children("a"),
                                e = y.attr("data-dm-image-path");
                            p.css("background-image", "none");
                            y.css({
                                backgroundImage: "url(" + e + ")"
                            });
                            y.attr({
                                href: e
                            });
                            y.children("img").attr("src",
                                e);
                            $.dmrt.components.photogallery.oldComponent["default"].initDudaonePhotogallery(q)
                        })
                    })
                },
                setImageHeight: function(q, r) {
                    var m = $(q),
                        k = m.find("img").get(0),
                        n = k.naturalHeight / k.naturalWidth;
                    q = m.parents(".dmPhotoGallery");
                    q.find("ul.galleryColumn").eq(0);
                    var c = m.find(".caption-title").text(),
                        d = m.find(".caption-text").text(),
                        b = q.attr("data-caption-padding");
                    q.length && (m.attr({
                        "data-naturalWidth": k.naturalWidth,
                        "data-naturalHeight": k.naturalHeight,
                        "data-ratio": n
                    }), c.length || d.length || m.find(".caption-container").css("display",
                        "none"), b && m.find(".caption-inner").css("padding", b), (k = !q.is(":visible")) && q.get(0).style.setProperty("display", "block", "important"), "asymetric" === r && (n = m.attr("data-ratio"), r = Math.ceil(m.parent().outerWidth() * n) - 12, m.css("height", "auto"), m.find("a").css({
                        height: r
                    })), k && q.get(0).style.removeProperty("display"), B(q), m.find("a").animate({
                        opacity: 1
                    }, 500), setTimeout(function() {
                        m.css({
                            background: "none"
                        })
                    }, 100))
                }
            },
            onResizeAction: function() {
                var q = $(".dmPhotoGallery:not(.newPhotoGallery)");
                q.length && $(window).resize(function() {
                    $.dmrt.components.photogallery.oldComponent.refreshPhotoGalleriesSize(q)
                })
            },
            initPhotoGalleryAnimation: function(q, r) {
                var m = q.find("li.photoGalleryThumbs");
                $.each(m, function(k, n) {
                    $(n).css({
                        "animation-delay": 100 * k + "ms",
                        "-webkit-animation-delay": 100 * k + "ms"
                    })
                });
                "none" !== r && q.find("li.photoGalleryThumbs").attr("data-anim-desktop", r)
            },
            initPhotoGalleryImplWithScript: function(q) {
                var r = $.Deferred();
                $.dmrt.components.photogallery.oldComponent.initPhotoGalleryImpl(q);
                r.resolve();
                return r.promise()
            },
            initPhotoGalleryImpl: function(q) {
                function r(l) {
                    for (var h = l.find("li.photoGalleryThumbs"),
                            u, f = 0; f < h.length; f++) {
                        u = $(h[f]);
                        var p = u.find("a"),
                            y = u.find("img");
                        if (p.length && y.length)
                            if (y.data().parent = u, u = z(p.attr("data-image-url") || p.find("img").attr("src") || p.attr("href")), p.css({
                                    "background-image": "url('" + u + "')"
                                }), p.attr("data-image-url", u), t.isLinkGalleryType(l)) p.attr("data-image-url") === p.attr("href") && p.attr("href", "");
                            else {
                                u = p;
                                var e = u.attr;
                                p = (p = p.attr("data-image-url") || p.attr("href") || y.attr("src")) ? $.layoutDevice && $.layoutDevice.type ? p.getMultisizedPath($.layoutDevice.type) : p : "";
                                e.call(u, "href", p)
                            }
                    }
                }

                function m(l, h) {
                    function u() {
                        p.attr("isAll", "false");
                        p.html(p.data("viewless"));
                        y.find("li").show()
                    }

                    function f() {
                        p.attr("isAll", "true");
                        p.html(p.data("viewall"));
                        k(y)
                    }
                    l = h || {};
                    var p = l.viewAll || $(this),
                        y = l.gallery || p.closest(".dmPhotoGallery");
                    h = y.attr("galleryOptionsParams");
                    h = eval("(" + h + ")");
                    l.dontToggle ? "true" == p.attr("isAll") ? f() : u() : "true" == p.attr("isAll") ? u() : f();
                    $.DM.isUseIscroll() && $.layoutManager.refreshIscroll();
                    window.location.href.indexOf("nee\x3d")
                }

                function k(l, h) {
                    h =
                        h || {};
                    l.children("ul");
                    h = h.initAttr || eval("(" + l.attr("galleryOptionsParams") + ")");
                    var u = $.dmrt.components.photogallery.oldComponent.getNumberOfColumns(l, h);
                    var f = h.thumbnailsPerRow * h.rowsToShow;
                    n = l.find("li.photoGalleryThumbs");
                    n.hide();
                    f = u * h.rowsToShow * $.dmrt.components.photogallery.oldComponent.getNumberOfImagesPerColumn(l);
                    var p = 0 === f || "false" === c.attr("isall");
                    $.each(n, function(y, e) {
                        ($(e).attr("index") < f || p) && $(e).show()
                    })
                }
                var n = q.find("li.photoGalleryThumbs"),
                    c = q.find(".photoGalleryViewAll, .photogalleryviewall");
                if (window.editorParent.$ && window.editorParent.$.dmx) window.editorParent.$.dmx.events.on("previewMobileOrientationRotated", function() {
                    $.dmrt.components.photogallery.i.oldComponentnitPhotoGalleryImpl(q)
                }, !0, {
                    scope: "page"
                });
                q.attr("data-link-gallery") || q.attr("data-link-gallery", "false");
                var d = q.attr("galleryOptionsParams");
                d = eval("(" + d + ")");
                d = $.extend({}, {
                    enableMouseWheel: !1,
                    enableKeyboard: !1
                }, d);
                d.imageScaleMethod = "fitNoUpscale";
                d.allowUserZoom = !1;
                d.backButtonHideEnabled = !1;
                d.thumbnailsPerRow = $.dmrt.components.photogallery.oldComponent.getNumberOfColumns(q,
                    d);
                if (0 < n.length) {
                    r(q);
                    0 === q.find(".galleryColumn").length && ($.dmrt.components.photogallery.oldComponent["default"].breakColumns(q), $.dmrt.components.photogallery.oldComponent["default"].splitToColumns(q));
                    var b = d.thumbnailsPerRow * $.dmrt.components.photogallery.oldComponent.getNumberOfImagesPerColumn(q) * d.rowsToShow;
                    d.thumbnailsPerRow ? k(q, {
                        initAttr: d
                    }) : (n.hide(), n.filter(":lt(" + b + ")").show());
                    n.length > b ? (c.addClass("photoGalleryViewAll").show(), c.off("click.showAll").on("click.showAll", m)) : c.hide();
                    window.location.href.indexOf("nee\x3d");
                    $.dmrt.components.photogallery.oldComponent["default"].initDudaonePhotogallery(q)
                }
            },
            refreshPhotoGalleriesSize: function(q) {
                for (var r = 0; r < q.length; r++) {
                    var m = q.eq(r),
                        k = m.find("ul.galleryColumn"),
                        n = k.length,
                        c = Math.floor(m.width() / n),
                        d = m.find("li.photoGalleryThumbs"),
                        b = $.dmrt.components.photogallery.oldComponent.getCurrentLayout(m);
                    k.css({
                        maxWidth: c + "px"
                    });
                    $.each(d, function(l, h) {
                        l = $.dmrt.components.photogallery.oldComponent.getCurrentColumnIndex(l, n, b);
                        var u = k[l];
                        $.dmrt.components.photogallery.oldComponent.calculateImageDimension(b, $(h), $(u), l, 1 * $(h).attr("index"), n);
                        "asymetric" === b && (h = $(h), ratio = h.attr("data-ratio"), h.find("a").css({
                            height: Math.ceil(h.parent().width() * ratio) - 2
                        }))
                    });
                    B(m)
                }
            }
        },
        w = function() {
            var q = window.editorParent && window.editorParent.$ && window.editorParent.$.dmfw,
                r = !(window.editorParent.$ && window.editorParent.$.onefw) && $("body").hasClass("bodyInsideNee"),
                m = window.editorParent.$ && window.editorParent.$.onefw && !window.editorParent.$.onefw.inPreviewMode;
            return !!q && (r || m)
        };
    $.fn.naturalSize = function() {
        if (this) {
            var q = $(this);
            if (q.is("img")) {
                if (void 0 === q.prop("naturalWidth") || null === q.prop("naturalWidth")) {
                    var r = $("\x3cimg/\x3e").attr("src", q.attr("src"));
                    q.prop("naturalWidth", r[0].width);
                    q.prop("naturalHeight", r[0].height)
                }
                return {
                    width: q.prop("naturalWidth"),
                    height: q.prop("naturalHeight")
                }
            }
        }
        return {}
    };
    $.fn.centerImageWithin = function(q, r) {
        r = r || {};
        var m = $(this),
            k = $(q);
        if (m.is("img") && 0 < k.length) {
            m.attr("dm", "true");
            k = m.naturalSize();
            var n = k.height,
                c =
                k.width;
            if (!n || !c || 0 === n * c) return k = m.attr("dm_crop_dim"), r = !1, k && (k = k.split("_")) && 4 === k.length && (r = !0), r || (m.attr("irh"), m.attr("irw")), !1;
            k = r.forceContainerHeight || q.height();
            q = r.forceContainerWidth || q.width();
            var d = !r.stretch && c <= q && n <= k;
            m.css("height", "");
            m.css("left", "");
            m.css("width", "");
            m.css("top", "");
            m.css("max-width", "none");
            d ? (k = Math.ceil(n) - k, m.css("top", "" + -(k / 2) + "px")) : (d = q / c * n, n = k / n * c, c = d >= k, r.stretch && c || !r.stretch && !c ? (m.dmCss("width", q + "px !important"), m.dmCss("max-width", q + "px !important"),
                m.dmCss("min-width", q + "px !important"), m.dmCss("height", Math.ceil(d) + "px !important"), k = Math.ceil(d) - k, m.css("top", "" + -(k / 2) + "px")) : (m.dmCss("height", k + "px !important"), m.dmCss("width", Math.ceil(n) + "px !important"), m.dmCss("max-width", Math.ceil(n) + "px !important"), m.dmCss("min-width", Math.ceil(n) + "px !important"), k = Math.ceil(n) - q, r.stretch && m.css("left", "" + -(k / 2) + "px")));
            return !0
        }
    };
    ($.dmrt.photogallery = $.dmrt.photogallery || {}).oldComponent = t
})($);
(function(a, B) {
    function z(m, k = document) {
        return k.createRange().createContextualFragment(m)
    }

    function t() {
        function m() {
            document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement ? (k.css("overflow-y", "unset"), n.css("opacity", 0)) : (k.css("overflow-y", ""), n.css("opacity", ""))
        }
        var k = a("#dmPopup"),
            n = a("#dmPopupMask");
        if (k.length && k.find(".youtubeExt").length) a(document).on("webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange",
            m);
        B.resetFixVideoFullScreen = function() {
            a(document).off("webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange", m)
        }
    }
    var w = {};
    const q = ['[link_type\x3d"close_popup"]', '[type\x3d"close_popup"]'];
    var r = {
        runAt: "start",
        default: {
            ready: function(m) {
                _currentPage && _currentPage.pageContent && _currentPage.pageContent.popups && _currentPage.pageContent.popups.forEach(function(k) {
                    r.addPopup(k)
                })
            },
            load: function(m) {
                B.popups && B.popups.forEach(function(k) {
                    r.addPopup(k)
                });
                a("\x3cdiv\x3e\x3c/div\x3e")
            }
        },
        addPopup: function(m) {
            w[m.name] = m
        },
        updatePopupSettings: function(m, k) {
            (m = w[m]) && a.extend(m.options, k)
        },
        cleanCloseButtons: void 0,
        initializeCloseButtons: function(m) {
            function k(n) {
                const c = q.map(d => `${d}, ${d} *`).join(",");
                n.target.matches(c) && (n.preventDefault(), n.stopPropagation(), B.dmHidePopup())
            } [...m.querySelectorAll(q.join(","))].forEach(n => {
                n.onclick = B.dmHidePopup
            });
            m.addEventListener("click", k);
            this.cleanCloseButtons = function() {
                m.removeEventListener("click", k)
            }
        },
        initializeSSR: function(m) {
            B.SSRRuntime?.RuntimeReactHelpers.hydrate ||
                (m = z(m.ssr_script), document.body.append(m))
        },
        displayClassicPopup: function(m, k) {
            var n = w[m];
            if (n) {
                k = k || {};
                var c = {
                    animation: n.options.animation ? n.options.animation : "none",
                    onClose: k.onClose,
                    onOpen: k.onOpen,
                    dontOverlay: !0
                };
                B.showOverlay({
                    overlayColor: n.options.overlayColor
                });
                dmAPI.runBeforeAjaxNavigation("popup", function() {
                    a.DM.hideAllPopups({
                        forceClose: !0
                    })
                });
                fetch(n.url + (n.url.includes("?") ? "\x26" : "?") + "dm_ajaxCall\x3dtrue", {
                    method: "GET",
                    headers: {
                        "Content-Type": "application/json; charset\x3dUTF-8",
                        Accept: "application/json"
                    }
                }).then(d => {
                    if (!d.ok) throw Error("Network response was not ok");
                    return B.exportsite ? d.text() : d.json()
                }).then(d => {
                    B.exportsite && (d = {
                        content: d
                    });
                    if (d && d.content) {
                        var b = a('\x3cstyle type\x3d"text/css"\x3e\x3c/style\x3e'),
                            l = d.customwidgetsdata?.map(u => u.css).join("\n");
                        d.css = d.css || "";
                        d.devicecss = d.devicecss || "";
                        d.customwidgetcss = l || "";
                        d.additionalWidgetCss = d.additionalWidgetCss || "";
                        d.pageFontSizeStyle = d.pageFontSizeStyle || "";
                        b.append(d.css);
                        b.append(d.devicecss);
                        b.append(d.customwidgetcss);
                        b.append(d.additionalWidgetCss);
                        b.append(d.pageFontSizeStyle);
                        const h = a(d.content).find(".dmRespRowsWrapper");
                        l = a(d.content).find(".dmContent");
                        c.hasOverlay = l.is(".hasBackgroundOverlay");
                        c.videoBg = l.attr("data-video-bg");
                        h.append(b);
                        k.additionalAttributes && k.additionalAttributes.forEach(u => {
                            h.attr(u.name, u.value)
                        });
                        null !== d.flexstyles && d.flexstyles.length && d.flexstyles.forEach(u => {
                            B.runtime.API.flexRuntimeApi.addFlexSectionStyle(u)
                        });
                        B.dmShowPopupPage(h, "dmPopupInner u_dm_content", n.options.width, n.options.height, c);
                        a.DM.initNonAjaxPopups();
                        B.setCustomWidgetScripts(d.customwidgetsdata);
                        B.setCustomWidgetStrings(d.customwidgetstrings);
                        a.DM.afterAjaxGeneralInits();
                        (b = document.getElementById("dmPopup")) && r.initializeCloseButtons(b);
                        d.popups && d.popups.forEach(u => {
                            r.addPopup(u)
                        });
                        t();
                        r.initializeSSR(d);
                        null !== B._gaq && B.dm_gaq_push_event("popup", "show_popup", n.url)
                    } else B.dmHidePopup()
                }).catch(d => {
                    console.error("Error fetching data:", d);
                    B.dmHidePopup()
                })
            }
        },
        displayPopup: function(m, k) {
            return B.flexSite ? runtime.displayFlexPopup(m, k) : r.displayClassicPopup(m,
                k)
        },
        mobile: {},
        tablet: {},
        desktop: {}
    };
    a.dmrt.register("popupService", r)
})(jQuery, window);
(function(a) {
    function B() {
        p || (p = (window.pushService ? a.resolved : a.DM.loadExternalScriptAsync("/_dm/s/rt/scripts/utils/push_notifs/app/public/dist/index.js")).then(function() {
            return y
        }));
        return p.then(function(e) {
            return pushService.init({
                sslFrameDomain: l(h),
                sslPublicPath: l(u),
                runtimeSiteAlias: Parameters.SiteAlias,
                initialPushSupport: e,
                initialHandlers: {
                    stateChanged: t,
                    addSubscription: d,
                    removeSubscription: b
                }
            })
        })
    }

    function z(e) {
        B().then(function() {
            pushService.setAsTriggerElement(e)
        })
    }

    function t(e) {
        var g = {
            enabled: r,
            disabled: m,
            blocked: k,
            unsupported: n
        };
        g[e] && g[e]()
    }

    function w(e) {
        a("[data-push-notifs]").each(function() {
            e.call(this, a(this))
        })
    }

    function q(e) {
        c(e, !0);
        e.closest(".dmRespCol").show();
        e.siblings(".push-notifs-related").show();
        e.removeClass("disabledBtn")
    }

    function r() {
        w(function(e) {
            q(e);
            e.find(".text").text(e.attr("data-text-to-disable") || "Unsubscribe from Notifications")
        })
    }

    function m() {
        w(function(e) {
            q(e);
            e.find(".text").text(e.attr("data-text"))
        })
    }

    function k() {
        w(function(e) {
            q(e);
            e.addClass("disabledBtn")
        })
    }

    function n() {
        w(function(e) {
            var g = e.attr("data-hide-when-unsupported") || "button";
            "button" === g ? (c(e, !1), e.siblings(".push-notifs-related").hide()) : "column" === g ? e.closest(".dmRespCol").hide() : "disable" === g && e.addClass("disabledBtn")
        })
    }

    function c(e, g) {
        g ? null != e.attr("style-before-hide") && (e.attr("style", e.attr("style-before-hide") || ""), e.removeAttr("style-before-hide")) : null == e.attr("style-before-hide") && (g = e.attr("style") || "", e.attr("style-before-hide", g || ""), e.attr("style", g + ";display:none!important;"))
    }

    function d(e) {
        var g = a.ajax,
            v = l,
            D = f.ADD_SUBSCRIPTION;
        e = decodeURIComponent(e.endpoint);
        var A = a.layoutDevice ? a.layoutDevice.type : "mobile",
            x = {
                desktop: 0,
                tablet: 1,
                mobile: 2
            };
        g.call(a, {
            url: v(D, {
                endpoint: e,
                deviceID: void 0 == x[A] ? 2 : x[A]
            }),
            type: "POST"
        })
    }

    function b(e) {
        a.ajax({
            url: l(f.DELETE_SUBSCRIPTION, {
                endpoint: decodeURIComponent(e.endpoint)
            }),
            type: "DELETE"
        })
    }

    function l(e, g) {
        g = g || {};
        g.siteAlias = Parameters.SiteAlias;
        g.subdomain = Parameters.NotificationSubDomain;
        Object.keys(g).forEach(function(v) {
            e = e.replace("{" +
                v + "}", g[v])
        });
        return e
    }
    var h = Base64.decode(rtCommonProps["rt.pushnotifs.sslframe.encoded"]),
        u = h + "/_dm/s/rt/scripts/utils/push_notifs/app/public",
        f = {
            ADD_SUBSCRIPTION: "/_dm/s/rt/api/public/rt/site/{siteAlias}/notifications/subscriptions?subEp\x3d{endpoint}\x26subDomain\x3d{subdomain}\x26deviceID\x3d{deviceID}",
            DELETE_SUBSCRIPTION: "/_dm/s/rt/api/public/rt/site/{siteAlias}/notifications/subscriptions?subEp\x3d{endpoint}"
        },
        p = null,
        y = function(e) {
            var g = a.Deferred();
            try {
                navigator.permissions.query({
                    name: "push",
                    userVisibleOnly: !0
                }).then(function(v) {
                    g.resolve(e || "denied" !== v.state)
                })
            } catch (v) {
                g.resolve(!1)
            }
            return g.promise()
        }(rtCommonProps["rt.pushnotifs.force.button"]);
    a.extend(a.modules, {
        pushnotifs: {}
    });
    a.dmrt.register("pushnotifs", {
        selector: "[data-push-notifs]",
        default: {
            ready: function(e, g) {
                e || (Parameters.HasCustomDomain ? (n(), a("[data-push-notifs]").each(function() {
                    z(this)
                })) : a("[data-push-notifs], .push-notifs-related").remove())
            },
            load: function(e, g) {}
        },
        mobile: {},
        tablet: {},
        desktop: {},
        initButton: z
    })
})(jQuery);
(function(a) {
    function B() {
        try {
            a.browser.msie && $(".imageWrapper[data-hover-effect]").each(function() {
                var z = $(this).parent(),
                    t = $(this).css("width");
                z.find(".menuItemName").css("margin-left", t);
                z.find(".menuItemDesc").css("margin-left", t)
            })
        } catch (z) {}
    }
    $.dmrt.register("restmenu", {
        selector: ".dmRestaurantMenu",
        default: {
            ready: function(z) {},
            load: function(z) {}
        },
        mobile: {
            attachListeners: function(z) {
                function t(b) {
                    b = $(b);
                    b.find(".menuItemsWrapper").toggleClass("hidden");
                    b.find(".menuItemDesc").toggleClass("hidden");
                    const l = b.find(".menuCatArrow");
                    l.hasClass("icon-chevron-up") ? l.removeClass("icon-chevron-up").addClass("icon-chevron-down") : l.removeClass("icon-chevron-down").addClass("icon-chevron-up");
                    return b
                }

                function w(b) {
                    return !b.find(".menuItemsWrapper").hasClass("hidden")
                }
                var q = a(".dmRestaurantMenu");
                z = "true" === q.attr("mobile_category_show_all");
                var r = "true" === q.attr("mobile_category_show_first"),
                    m = "true" === q.attr("mobile_category_show_one"),
                    k = a(document.querySelectorAll(".dmRestaurantMenu .menuCategory"));
                q = function(b) {
                    if (!window.isMobileDevice || $ && $.editGrid && $.editGrid.inPreviewMode()) {
                        b = t(b.currentTarget);
                        var l = w(b);
                        if (m && l) {
                            l = null;
                            for (let h = 0; h < k.length; h++) {
                                const u = $(k[h]);
                                if (w(u) && u[0] !== b[0]) {
                                    l = u;
                                    break
                                }
                            }
                            l && t(l)
                        }
                    }
                };
                if (0 < k.length) {
                    for (var n = !1, c = 0; c < k.length; c++) {
                        var d = $(k[c]);
                        0 !== d.find(".menuItemsWrapper").length && (d.off("click.toggleMenuItem").on("click.toggleMenuItem", q), r && 0 !== c ? (t(d), n = !0) : z || r || (t(d), n = !0))
                    }
                    n && (z = location.hash && "#" !== location.hash ? location.hash : "") && $.DM.scrollToAnchor($(z), {
                        duration: 1
                    })
                }
            },
            ready: function() {
                window.isDudaone && (B(), this.attachListeners(!0))
            }
        },
        tablet: {
            ready: function() {
                B()
            }
        },
        desktop: {
            ready: function() {
                B();
                $(".dmRestaurantMenuDesktopLeftSideList li").each(function(z) {
                    $(this).off("click.goto").on("click.goto", function(t) {
                        return function() {
                            var w = $(".dmRestaurantMenuDesktopRightSide li.menuCategory").eq(t);
                            $.DM.scrollPreviewToElement(w)
                        }
                    }(z))
                })
            }
        }
    })
})($);
(function(a) {
    var B = function(w, q) {
            q = q ? "href" : "data-href";
            var r = window.location.href,
                m = w.closest(".dmShare").attr("text") || "I wanted to share this great website with you";
            var k = "http://www.facebook.com/sharer/sharer.php?u\x3d" + r;
            var n = "http://twitter.com/intent/tweet?text\x3d" + m + "\x26url\x3d" + r;
            var c = "http://www.linkedin.com/shareArticle?mini\x3dtrue\x26url\x3d" + r + "\x26title\x3d" + m;
            var d = "https://api.whatsapp.com/send?text\x3d" + m + " " + r;
            var b = "mailto:?subject\x3d" + m + "\x26body\x3d" + r;
            m = /(&site=.*?&)/gi;
            w.closest(".fbShare").attr(q, k);
            w.closest(".twitterShare").attr(q, n);
            w.closest(".linkedinShare").attr(q, c);
            w.closest(".whatsappShare").attr("href", d);
            d = w.closest(".emailShare");
            d.length && !d.parent(".share-icons").length ? (b = d.attr("data-href").replace(m, "\x26site\x3d" + r + "\x26"), d.attr(q, b)) : d.attr("href", b);
            w.closest(".fbLikeDiv").find("a").attr(q, k);
            w.closest(".twitterDiv").find("a").attr(q, n);
            w.closest(".dmLinkedInDiv").find("a").attr(q, c);
            w = w.closest(".dmShareByMail").find("a");
            w.length && (b = w.attr("href").replace(m,
                "\x26site\x3d" + r + "\x26"), w.attr(q, b))
        },
        z = function(w, q, r, m) {
            r = r || 600;
            m = m || 560;
            if (w) return window.open(w, q, "toolbar\x3dno, location\x3dno, directories\x3dno, status\x3dno, menubar\x3dno, scrollbars\x3dno, resizable\x3dno, copyhistory\x3dno, width\x3d" + r + ", height\x3d" + m + ", top\x3d" + (screen.height / 2 - m / 2) + ", left\x3d" + (screen.width / 2 - r / 2))
        },
        t = function(w) {
            var q = window.editorParent.jQuery && window.editorParent.jQuery.onefw && window.editorParent.jQuery.onefw.inPreviewMode;
            return !(window.editorParent && window.editorParent.jQuery &&
                window.editorParent.jQuery.dmfw) || window.editorParent.jQuery.onefw && window.editorParent.jQuery.onefw.inPreviewMode ? q ? (q = {
                relativeDirection: "top",
                tipsContainer: window.editorParent.$ ? window.editorParent.$("#_preview_w") : void 0,
                bodyText: "You can't use the widget to share a site from Preview mode.",
                title: "Share"
            }, window.editorParent.$ && window.editorParent.$.dmpages && window.editorParent.$.dmpages.showOuterLinkPrompt(null, "_blank", a(w.target), q), !1) : !0 : !1
        };
    a.dmrt.register("shareModule", {
        selector: ".dmOuter, .dmPopup",
        default: {
            ready: function(w) {},
            load: function(w) {}
        },
        all: {
            ready: function(w) {
                a(".dmOuter, .dmPopup").off("click.shareClick", ".dmShareWidget \x3e a").on("click.shareClick", ".dmShareWidget \x3e a", function(q) {
                    if (t(q)) {
                        q = a(this);
                        try {
                            dm_gaq_push_event("Share", "Clicked", q.attr("data-target"))
                        } catch (r) {}
                    }
                })
            }
        },
        mobile: {
            ready: function(w) {
                a(".dmOuter, .dmPopup").off("click.showSharePopup", ".dmShareWidget, .shareLink").on("click.showSharePopup", ".dmShareWidget, .shareLink", function(q) {
                    t(q) && B(a(this), !0)
                })
            }
        },
        tablet: {
            ready: function(w) {
                a(".dmOuter").off("click.showSharePopup",
                    ".shareLink").on("click.showSharePopup", ".shareLink", function(q) {
                    t(q) && (q = a(this), B(q, !1), z(this.dataset.href))
                })
            }
        },
        desktop: {
            ready: function(w) {
                a(".dmOuter").off("click.showSharePopup", ".shareLink").on("click.showSharePopup", ".shareLink", function(q) {
                    if (t(q)) {
                        q = a(this);
                        try {
                            dm_gaq_push_event("Share", "Clicked", q.attr("data-target"))
                        } catch (r) {}
                        B(q, !1);
                        z(this.dataset.href)
                    }
                })
            }
        }
    })
})(jQuery);
(function(a, B) {
    function z() {
        a(".show-more").on("click", function() {
            var w = a(this),
                q = w.closest(".review"),
                r = w.text().toUpperCase(),
                m = q.find(".revewTextWrapper");
            q = q.find(".reviewText").height() + 30 + 10;
            "...MORE" === r ? (r = "Show less", m.css({
                height: q
            })) : (r = "...more", m.css({
                height: "0"
            }));
            w.text(r)
        })
    }

    function t(w) {
        (w = w && "none" === parent.$("iframe.active").css("display")) && parent.$("iframe.active").css("display", "");
        a(".review").each(function(q, r) {
            q = a(r).find(".reviewText").outerHeight();
            var m = a(r).find(".revewTextWrapper").height();
            q > m ? a(r).addClass("hideContent") : (q = a(r).closest(".review").find(".reviewText").height() + 30, a(r).find(".content").css("min-height", q))
        });
        w && parent.$("iframe.active").css("display", "none")
    }
    a.extend(a.modules, {
        basemodule: {}
    });
    a.dmrt.register("trueLocal", {
        default: {
            selector: ".show-more, .review",
            ready: function(w, q) {
                z();
                t(w)
            },
            load: function(w, q) {}
        },
        mobile: {},
        tablet: {},
        desktop: {}
    })
})(jQuery, window);
(function(a) {
    function B(t) {
        a(document).ready(function() {
            setTimeout(function() {
                t = t || {};
                var w = jQuery(".dmTwitterFeed:visible");
                const q = w.filter((r, m) => {
                    r = m.getBoundingClientRect();
                    return 0 <= r.top && 0 <= r.left && r.bottom <= (window.innerHeight || document.documentElement.clientHeight) && r.right <= (window.innerWidth || document.documentElement.clientWidth)
                });
                0 < q.size() && z(t, q);
                w.length > q.length && (w = a(window), a.DM.isBodyScrollable() || (w = jQuery.layoutManager.getLayoutElement().iscrollBody.element), w.off("scroll.init touchstart.init").on("scroll.init touchstart.init",
                    function(r) {
                        a(this).off(r);
                        r = jQuery(".dmTwitterFeed:visible");
                        z(t, r)
                    }))
            }, 600)
        })
    }

    function z(t, w) {
        t = t || {};
        0 < w.length && a.DM.loadExternalScriptAsync("https://platform.twitter.com/widgets.js", function() {
            function q() {
                "" == a(".twitter-timeline-rendered").contents().find("body").html() ? setTimeout(function() {
                    q()
                }, 100) : setTimeout(function() {
                    a.DM.updateAfterInit()
                }, 1500)
            }
            for (var r = 0; r < w.length; r++) {
                var m = a(w[r]),
                    k = m.attr("twitterType"),
                    n = m.attr("twitterUserName"),
                    c = m.attr("numberOfTweets");
                m.hasClass("dmTwitterNoScroll");
                var d = "true" === m.attr("hideHeaderFooter") ? 'data-chrome\x3d"nofooter noheader"' : "",
                    b = m.attr("lang") ? m.attr("lang") : "EN";
                c = window.rtFlags["twitter.heightLimit.enabled"] ? 'data-height\x3d"600"' : `data-tweet-limit="${c}"`;
                "Profile" == k ? m.html(`<a class="twitter-timeline"
                                    ${d}
                                    lang="${b}"
                                    ${c}
                                    data-screen-name="${n}"
                                    href="https://twitter.com/${n}"
                                    data-widget-id="346156976859906048"></a>`) : "ProfileReplies" == k ? m.html(`<a class="twitter-timeline"
                                    ${d}
                                    lang="${b}"
                                    ${c}
                                    data-show-replies="true"
                                    data-screen-name="${n}"
                                    href="https://twitter.com/${n}"
                                    data-widget-id="346156976859906048"></a>`) : "Search" != k && m.html(`<a class="twitter-timeline"
                                    ${d}
                                    ${c}
                                    data-favorites-screen-name="${n}"
                                    href="https://twitter.com/${n}/favorites"
                                    data-widget-id="346156976859906048"></a>`)
            }
            twttr.widgets.load();
            parent.window.$.dmfw && twttr.events.bind("loaded", function(l) {
                var h;
                a(l.widgets).each(function(u, f) {
                    h = a(f).parents(".dmTwitterFeedWrapper");
                    if (h.length) return a.editGrid.addWidgetToGrid(h.get(0), !0), !1
                })
            });
            t && t.callback && t.callback();
            q();
            navigator.userAgent.match(/Windows Phone/i) || navigator.userAgent.match(/iEMobile/i) || a(".dmTwitterFeed").each(function(l) {
                var h = a(this),
                    u = h.find("iframe");
                l = a("\x3cdiv\x3e\x3c/div\x3e").addClass("dmTwitterRuntimeWrapper");
                h.append(l);
                l.off("click.iframe").on("click.iframe", function(f) {
                    u = h.parent().find("iframe");
                    var p = u.get(0);
                    p = p.contentDocument ? p.contentDocument : p.contentWindow.document;
                    f = p.elementFromPoint(f.offsetX, f.offsetY);
                    p = p.createEvent("HTMLEvents");
                    p.initEvent("click", !0, !0);
                    f && f.dispatchEvent && f.dispatchEvent(p)
                })
            })
        }, !0)
    }
    a.DM.initTwitterFeed = a.DM.initTwitterFeed || B;
    a.DM.initTwitterFeedInternal = a.DM.initTwitterFeedInternal || z;
    a.dmrt.register("twitterfeed", {
        selector: ".dmTwitterFeed",
        default: {
            ready: function(t) {
                B({})
            },
            load: function(t) {}
        },
        mobile: {},
        tablet: {},
        desktop: {}
    })
})(jQuery);
(function(a) {
    function B(r, m) {
        r.each(function(k, n) {
            z(n, m)
        })
    }

    function z(r, m) {
        var k = videojs(r.id);
        m && (k.play = function() {});
        k.on("ended", function() {
            k.currentTime(0);
            k.trigger("loadstart")
        })
    }

    function t() {
        var r = document.createElement("video");
        if (!r.canPlayType("application/vnd.apple.mpegURL") && !r.canPlayType("audio/mpegurl")) {
            r = document.querySelectorAll(".innerYoutubeExt video");
            for (var m = 0; m < r.length; m++) {
                var k = r[m].getAttribute("src");
                if (k && k.endsWith(".m3u8")) return !0
            }
        }
        return !1
    }

    function w() {
        for (var r =
                document.querySelectorAll("video"), m = 0; m < r.length; m++) {
            var k = r[m],
                n = k.getAttribute("src");
            k.addEventListener("play", function() {
                window.dm_gaq_push_event && window.dm_gaq_push_event("VideoPlay", "VideoPlay", n)
            })
        }
    }
    a.extend(a.modules, {
        video: {}
    });
    var q = {
        selector: ".innerVideojsExt, .innerYoutubeExt",
        default: {
            ready: function(r, m) {
                var k = a(".innerVideojsExt .video-js");
                k.length && (a.loadCss([{
                    path: "https://vjs.zencdn.net/5.11/video-js.min.css"
                }]), a.DM.loadExternalScriptAsync("https://vjs.zencdn.net/5.11/video.min.js").then(function() {
                    B(k,
                        r)
                }));
                k = document.querySelectorAll(".innerYoutubeExt video");
                k.length && t() && a.DM.loadExternalScriptAsync("https://static.cdn-website.com/_dm/s/rt/scripts/vendor/hls/hls.js").then(function() {
                    for (var n = document.querySelectorAll(".innerYoutubeExt video"), c = 0; c < n.length; c++) {
                        var d = n[c],
                            b = d.getAttribute("src");
                        if (b.endsWith(".m3u8")) try {
                            var l = new Hls;
                            l.loadSource(b);
                            l.attachMedia(d)
                        } catch (h) {}
                    }
                });
                w()
            },
            load: function(r, m) {}
        },
        mobile: {},
        tablet: {},
        desktop: {}
    };
    q.handleVideo = z;
    a.dmrt.register("video", q)
})(jQuery);
(function(a) {
    function B(f) {
        h = {};
        f = document.querySelectorAll(".videobgwrapper");
        var p = a("[data-video-bg]:not([data-video-init])");
        f.forEach(function(y) {
            var e = y.parentElement;
            e.hasAttribute("data-video-bg") || e.removeChild(y)
        });
        p.each(function() {
            z(a(this))
        });
        a(".videobgwrapper:not(.video-ssr)").each(function() {
            k(a(this))
        });
        a(window).off("resize.yt").on("resize.yt", function() {
            a(".videobgwrapper:not(.video-ssr)").each(function() {
                k(a(this))
            })
        });
        document.addEventListener("visibilitychange", d);
        d()
    }

    function z(f) {
        t(f[0])
    }

    function t(f) {
        var p = f.querySelector(".videobgwrapper"),
            y = "videobgframe-" + f.id;
        if (p) var e = p.classList;
        else e = ["videobgwrapper"], window.rtCommonProps["site.runtime.video.background.ssr"] && e.push("video-ssr");
        if (p) {
            var g = p.parentElement;
            p.remove();
            (p = g.querySelector(".bgExtraLayerOverlay")) && p.remove()
        }
        f.classList.remove("relativePos", "hasExtraLayerOverlay");
        delete h[y];
        if (f.hasAttribute("data-video-bg")) {
            p = f.dataset.videoBg;
            try {
                if ("mobile" !== a.layoutDevice.type || "true" === f.dataset.videoBgMobile) {
                    var v =
                        f.dataset.videoBgNoLoop;
                    v = !v || "true" !== v;
                    var D = JSON.parse(r(p));
                    if ("desktop" === a.layoutDevice.type || "youtube" !== D.provider) {
                        var A = D.id,
                            x = u[D.provider],
                            C = D.poster;
                        if (A && x) {
                            var I = w(y, e);
                            window.getComputedStyle(f, ":before");
                            var H = q({
                                element: f
                            });
                            f.insertBefore(H, f.firstChild);
                            f.insertBefore(I, f.firstChild);
                            n(f, D.opacity);
                            I.setAttribute("data-ratio", D.ratio || "");
                            f.classList.add("hasExtraLayerOverlay", "relativePos");
                            x.init(y, A, a(I), C, v)
                        }
                    }
                }
            } catch (N) {}
        } else Array.from(f.querySelectorAll("[data-video-bg]")).forEach(function(N) {
            t(N)
        })
    }

    function w(f, p) {
        var y = document.createElement("div");
        p.forEach(function(e) {
            y.classList.add(e)
        });
        p = document.createElement("div");
        p.id = f;
        p.classList.add("videobgframe");
        y.appendChild(p);
        return y
    }

    function q(f) {
        f = f.element.querySelector(".bgExtraLayerOverlay");
        f || (f = document.createElement("div"), f.classList.add("bgExtraLayerOverlay"));
        return f
    }

    function r(f) {
        return "undefined" === typeof atob ? Base64.decode(f) : atob(f)
    }

    function m() {
        var f = document.createElement("video");
        return !(!f.canPlayType("application/vnd.apple.mpegURL") &&
            !f.canPlayType("audio/mpegurl"))
    }

    function k(f, p) {
        p = p || 1 * f.attr("data-ratio") || .5625;
        var y = f.find(".videobgframe");
        y.css("min-height", p * f.outerWidth() + "px");
        y.css("min-width", 1 / p * f.outerHeight() + "px")
    }

    function n(f, p) {
        if (f = f.querySelector(".videobgwrapper")) p = 1 * (p || 1), f.style.opacity = 1 < p ? p / 100 : p
    }

    function c(f, p) {
        p ? f.css("left", "0px") : f.css("left", "-10000px")
    }

    function d() {
        var f = "visible" === document.visibilityState ? "resume" : "pause";
        a.each(h, function(p, y) {
            try {
                u[y.type][f](y.obj)
            } catch (e) {}
        })
    }
    var b = a.Deferred(),
        l = {
            selector: "[data-video-bg], .videobgwrapper",
            default: {
                ready: function(f) {},
                load: function(f) {}
            },
            mobile: {
                ready: function(f) {
                    B(f)
                }
            },
            tablet: {
                ready: function(f) {
                    B(f)
                }
            },
            desktop: {
                ready: function(f) {
                    B(f)
                }
            },
            refreshVideoBg: z,
            setOpacity: function(f, p) {
                p = 1 * (p || 1);
                1 < p && (p /= 100);
                f.children(".videobgwrapper").css("opacity", p)
            }
        },
        h = {},
        u = {
            youtube: {
                init: function(f, p, y, e, g) {
                    window.onYouTubeIframeAPIReady = function() {
                        b.resolve()
                    };
                    a.DM.loadExternalScriptAsync("https://www.youtube.com/iframe_api");
                    c(y, !1);
                    b.then(function() {
                        new YT.Player(f, {
                            videoId: p,
                            playerVars: {
                                modestbranding: 1,
                                autoplay: 1,
                                controls: 0,
                                wmode: "transparent",
                                hd: 1,
                                rel: 0,
                                autohide: 1,
                                showinfo: 0,
                                origin: window.location.origin,
                                loop: g ? 1 : null,
                                playlist: g ? p : null
                            },
                            events: {
                                onReady: function(v) {
                                    v.target.mute();
                                    k(y);
                                    h[f] = {
                                        obj: v,
                                        type: "youtube"
                                    };
                                    d()
                                },
                                onStateChange: function(v) {
                                    v.data == YT.PlayerState.PLAYING && c(y, !0)
                                }
                            }
                        })
                    })
                },
                pause: function(f) {
                    f.target.pauseVideo()
                },
                resume: function(f) {
                    f.target.playVideo()
                }
            },
            vimeo: {
                init: function(f, p, y, e, g) {
                    e = a("\x3ciframe class\x3d'videobgframe' frameborder\x3d'0' seamless webkitallowfullscreen mozallowfullscreen allowfullscreen\x3e\x3c/iframe\x3e");
                    e.attr("src", "https://player.vimeo.com/video/" + p + "?background\x3d1\x26api\x3d1\x26autoplay\x3d1\x26loop\x3d" + (g ? "1" : "0") + "\x26title\x3d0\x26byline\x3d0\x26muted\x3d1\x26player_id\x3d" + f);
                    e.attr("id", f);
                    y.find("#" + f).replaceWith(e);
                    var v = $f(e[0]);
                    v.addEvent("ready", function() {
                        v.api("setVolume", 0);
                        k(y);
                        h[f] = {
                            obj: v,
                            type: "vimeo"
                        };
                        d()
                    })
                },
                pause: function(f) {
                    f.api("pause")
                },
                resume: function(f) {
                    f.api("play")
                }
            },
            dailymotion: {
                init: function(f, p, y, e, g) {
                    e = a("\x3ciframe class\x3d'videobgframe' frameborder\x3d'0' seamless webkitallowfullscreen mozallowfullscreen allowfullscreen\x3e\x3c/iframe\x3e");
                    e.attr("src", "https://www.dailymotion.com/embed/video/" + p + "?autoplay\x3d1\x26queue-enable\x3dfalse\x26mute\x3d1\x26loop\x3d" + (g ? "1" : "0") + "\x26title\x3d0\x26byline\x3d0\x26related\x3d0");
                    e.attr("id", f);
                    y.find("#" + f).replaceWith(e);
                    k(y)
                },
                pause: function(f) {},
                resume: function(f) {}
            },
            cdn: {
                init: function(f, p, y, e, g) {
                    var v = a("\x3cvideo autoplay playsinline muted " + (g ? "loop" : "") + ' class\x3d"videobgframe" poster\x3d"' + e + '" src\x3d"' + p + '"\x3e\x3c/video\x3e');
                    v.attr("id", f);
                    y.find("#" + f).replaceWith(v);
                    y.hasClass("video-ssr") ||
                        k(y);
                    !m() && p.endsWith(".m3u8") && a.DM.loadExternalScriptAsync("https://static.cdn-website.com/_dm/s/rt/scripts/vendor/hls/hls.js", function() {
                        try {
                            var D = new Hls;
                            D.attachMedia(v.get(0));
                            D.on(Hls.Events.MEDIA_ATTACHED, function() {
                                D.loadSource(p);
                                k(y)
                            })
                        } catch (A) {}
                    })
                },
                pause: function(f) {},
                resume: function(f) {}
            }
        };
    (function() {
        function f(A) {
            return new f.fn.init(A)
        }

        function p(A, x, C) {
            if (!C.contentWindow.postMessage) return !1;
            A = JSON.stringify({
                method: A,
                value: x
            });
            C.contentWindow.postMessage(A, D)
        }

        function y(A) {
            try {
                var x = JSON.parse(A.data);
                var C = x.event || x.method
            } catch (N) {}
            if (!x) return !1;
            "ready" != C || v || (v = !0);
            if (!/^https?:\/\/player.vimeo.com/.test(A.origin)) return !1;
            "*" === D && (D = A.origin);
            A = x.value;
            var I = x.data,
                H = "" === H ? null : x.player_id;
            x = H ? g[H][C] : g[C];
            C = [];
            void 0 !== A && C.push(A);
            I && C.push(I);
            H && C.push(H);
            return 0 < C.length ? x && x.apply(null, C) : x && x.call()
        }

        function e(A, x, C) {
            C ? (g[C] || (g[C] = {}), g[C][A] = x) : g[A] = x
        }
        var g = {},
            v = !1,
            D = "*";
        f.fn = f.prototype = {
            element: null,
            init: function(A) {
                "string" === typeof A && (A = document.getElementById(A));
                this.element =
                    A;
                return this
            },
            api: function(A, x) {
                if (!this.element || !A) return !1;
                var C = this.element,
                    I = "" !== C.id ? C.id : null,
                    H = x && x.constructor && x.call && x.apply ? null : x;
                (x = x && x.constructor && x.call && x.apply ? x : null) && e(A, x, I);
                p(A, H, C);
                return this
            },
            addEvent: function(A, x) {
                if (!this.element) return !1;
                var C = this.element,
                    I = "" !== C.id ? C.id : null;
                e(A, x, I);
                "ready" != A ? p("addEventListener", A, C) : "ready" == A && v && x.call(null, I);
                return this
            },
            removeEvent: function(A) {
                if (!this.element) return !1;
                var x = this.element,
                    C = "" !== x.id ? x.id : null;
                a: {
                    if (C &&
                        g[C]) {
                        if (!g[C][A]) {
                            C = !1;
                            break a
                        }
                        g[C][A] = null
                    } else {
                        if (!g[A]) {
                            C = !1;
                            break a
                        }
                        g[A] = null
                    }
                    C = !0
                }
                "ready" != A && C && p("removeEventListener", A, x)
            }
        };
        f.fn.init.prototype = f.fn;
        window.addEventListener ? window.addEventListener("message", y, !1) : window.attachEvent("onmessage", y);
        return window.Froogaloop = window.$f = f
    })();
    a.dmrt.register("videobg", l)
})(jQuery);
(function(a) {
    a.fn.makeParallax = function() {
        if (!a.DM.isIOS()) {
            var B = a(this);
            a.each(B, function(z, t) {
                z = Math.min(t.offsetTop, 100);
                a(t).attr({
                    "data-center": "background-position: 50% 0px;",
                    "data-top-bottom": "background-position: 50% -100px;",
                    "data-bottom-top": `background-position: 50% ${z}px;`
                })
            });
            window.Skrollr ? (window.Skrollr.refresh(), a.layoutManager._isEditorMode && "undefined" != typeof window.parent.window.DF && window.parent.window.DF.parallaxPromise.resolve()) : a.DM.loadExternalScriptAsync(rtCommonProps["common.resources.cdn.host"] +
                "/libs/bower-skrollr/skrollr.min.js",
                function() {
                    try {
                        window.Skrollr = skrollr.init({
                            forceHeight: !1
                        })
                    } catch (z) {
                        console.log("error"), console.log(z)
                    }
                    a.layoutManager._isEditorMode && "undefined" != typeof window.parent.window.DF && window.parent.window.DF.parallaxPromise.resolve()
                });
            return B
        }
    };
    a.fn.makeNoParallax = function() {
        var B = a(this);
        a.each(B, function(z, t) {
            a(t).removeAttr("data-center").removeAttr("data-top-bottom").removeAttr("data-bottom-top").removeClass("skrollable skrollable-between")
        });
        window.Skrollr &&
            window.Skrollr.refresh(a(this));
        a(this).removeAttr("style");
        return B
    };
    a.extend({
        triggerInIframe: {
            orientationChange: function() {
                a(window).trigger("orientationchange")
            }
        }
    })
})(jQuery);
(function(a) {
    a.extend({
        getCookie: function(B) {
            for (var z = document.cookie.split(";"), t, w, q = "", r = 0; r < z.length; r++)
                if (t = z[r].split("\x3d"), w = t[0].replace(/^\s+|\s+$/g, ""), w == B) return 1 < t.length && (q = unescape(t[1].replace(/^\s+|\s+$/g, ""))), q;
            return null
        },
        setCookie: function(B, z, t, w, q) {
            var r = new Date;
            r.setTime(r.getTime());
            t && (t *= 36E5);
            r = new Date(r.getTime() + t);
            document.cookie = B + "\x3d" + escape(z) + (t ? ";expires\x3d" + r.toGMTString() : "") + (w ? ";path\x3d" + w : "") + (q ? ";secure" : "")
        },
        dmCookies: {
            prefixKey: function(B) {
                return "_dm_" +
                    (B || "")
            },
            set: function(B, z) {
                a.dmCookies.setWithPath("/", B, z)
            },
            get: function(B) {
                return a.getCookie(a.dmCookies.prefixKey(B))
            },
            clear: function(B) {
                a.setCookie(a.dmCookies.prefixKey(B), null)
            },
            setWithPath: function(B, z, t) {
                a.setCookie(a.dmCookies.prefixKey(z), t, void 0, B)
            }
        }
    })
})(jQuery);
(function(a) {
    a.belowthefold = function(B, z) {
        return a(window).height() + a(window).scrollTop() <= a(B).offset().top - z.threshold
    };
    a.abovethetop = function(B, z) {
        return a(window).scrollTop() >= a(B).offset().top + a(B).height() - z.threshold
    };
    a.rightofscreen = function(B, z) {
        return a(window).width() + a(window).scrollLeft() <= a(B).offset().left - z.threshold
    };
    a.leftofscreen = function(B, z) {
        return a(window).scrollLeft() >= a(B).offset().left + a(B).width() - z.threshold
    };
    a.inviewport = function(B, z) {
        return !a.rightofscreen(B, z) && !a.leftofscreen(B,
            z) && !a.belowthefold(B, z) && !a.abovethetop(B, z)
    };
    a.extend(a.expr[":"], {
        "below-the-fold": function(B, z, t) {
            return a.belowthefold(B, {
                threshold: 0
            })
        },
        "above-the-top": function(B, z, t) {
            return a.abovethetop(B, {
                threshold: 0
            })
        },
        "left-of-screen": function(B, z, t) {
            return a.leftofscreen(B, {
                threshold: 0
            })
        },
        "right-of-screen": function(B, z, t) {
            return a.rightofscreen(B, {
                threshold: 0
            })
        },
        "in-viewport": function(B, z, t) {
            return a.inviewport(B, {
                threshold: 0
            })
        }
    })
})(jQuery);
(function(a) {
    function B(w) {
        function q(r) {
            var m = new RegExp(a.map(r, encodeURIComponent).join("|"), "ig");
            return function(k) {
                return k.replace(m, decodeURIComponent)
            }
        }
        w = a.extend({
            unescape: !1
        }, w || {});
        z.encoder = function(r) {
            return !0 === r ? function(m) {
                return m
            } : "string" == typeof r && (r = q(r.split(""))) || "function" == typeof r ? function(m) {
                return r(encodeURIComponent(m))
            } : encodeURIComponent
        }(w.unescape)
    }
    var z = {
            put: function(w, q) {
                (q || window).location.hash = this.encoder(w)
            },
            get: function(w) {
                w = (w || window).location.hash.replace(/^#/,
                    "");
                try {
                    return a.browser.mozilla ? w : decodeURIComponent(w)
                } catch (q) {
                    return w
                }
            },
            encoder: encodeURIComponent
        },
        t = {
            appState: void 0,
            callback: void 0,
            init: function(w, q) {},
            check: function() {},
            load: function(w) {}
        };
    a.history = t;
    a.extend(t, {
        init: function(w, q) {
            B(q);
            t.callback = w;
            w = z.get();
            t.appState = w;
            "onhashchange" in window ? window.onhashchange = t.check : setInterval(t.check, 100)
        },
        check: function() {
            var w = z.get();
            w != t.appState && (t.appState = w, t.callback(w))
        },
        load: function(w) {
            w != t.appState && (z.put(w), t.appState = w)
        }
    })
})(jQuery);
(function() {
    var a = Math,
        B = /webkit/i.test(navigator.appVersion) ? "webkit" : /firefox/i.test(navigator.userAgent) ? "Moz" : "opera" in window ? "O" : "",
        z = "WebKitCSSMatrix" in window && "m11" in new WebKitCSSMatrix,
        t = "ontouchstart" in window,
        w = B + "Transform" in document.documentElement.style,
        q = /android/gi.test(navigator.appVersion),
        r = /iphone|ipad/gi.test(navigator.appVersion),
        m = /playbook/gi.test(navigator.appVersion),
        k = r || m,
        n = function() {
            return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame ||
                window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(e) {
                    return setTimeout(e, 1)
                }
        }(),
        c = window.cancelRequestAnimationFrame || window.webkitCancelRequestAnimationFrame || window.mozCancelRequestAnimationFrame || window.oCancelRequestAnimationFrame || window.msCancelRequestAnimationFrame || clearTimeout,
        d = "onorientationchange" in window ? "orientationchange" : "resize",
        b = t ? "touchstart" : "mousedown",
        l = t ? "touchmove" : "mousemove",
        h = t ? "touchend" : "mouseup",
        u = t ? "touchcancel" : "mouseup",
        f = "Moz" == B ? "DOMMouseScroll" :
        "mousewheel",
        p = "translate" + (z ? "3d(" : "("),
        y = z ? ",0)" : ")";
    m = function(e, g) {
        var v = this,
            D = document,
            A;
        v.wrapper = "object" == typeof e ? e : D.getElementById(e);
        v.wrapper.style.overflow = "hidden";
        v.scroller = v.wrapper.children[0];
        v.options = {
            hScroll: !0,
            vScroll: !0,
            bounce: !0,
            bounceLock: !1,
            momentum: !0,
            lockDirection: !0,
            useTransform: !0,
            useTransition: !1,
            topOffset: 0,
            checkDOMChanges: !1,
            hScrollbar: !0,
            vScrollbar: !0,
            fixedScrollbar: q,
            hideScrollbar: r,
            fadeScrollbar: r && z,
            scrollbarClass: "",
            zoom: !1,
            zoomMin: 1,
            zoomMax: 4,
            doubleTapZoom: 2,
            wheelAction: "scroll",
            snap: !1,
            snapThreshold: 1,
            onRefresh: null,
            onBeforeScrollStart: function(x) {
                x.preventDefault()
            },
            onScrollStart: null,
            onBeforeScrollMove: null,
            onScrollMove: null,
            onBeforeScrollEnd: null,
            onScrollEnd: null,
            onTouchEnd: null,
            onDestroy: null,
            onZoomStart: null,
            onZoom: null,
            onZoomEnd: null
        };
        for (A in g) v.options[A] = g[A];
        v.options.useTransform = w ? v.options.useTransform : !1;
        v.options.hScrollbar = v.options.hScroll && v.options.hScrollbar;
        v.options.vScrollbar = v.options.vScroll && v.options.vScrollbar;
        v.options.zoom =
            v.options.useTransform && v.options.zoom;
        v.options.useTransition = k && v.options.useTransition;
        v.scroller.style[B + "TransitionProperty"] = v.options.useTransform ? "-" + B.toLowerCase() + "-transform" : "top left";
        v.scroller.style[B + "TransitionDuration"] = "0";
        v.scroller.style[B + "TransformOrigin"] = "0 0";
        v.options.useTransition && (v.scroller.style[B + "TransitionTimingFunction"] = "cubic-bezier(0.33,0.66,0.66,1)");
        v.options.useTransform ? v.scroller.style[B + "Transform"] = p + "0,0" + y : v.scroller.style.cssText += ";position:relative;top:0;left:0";
        v.options.useTransition && (v.options.fixedScrollbar = !0);
        v.refresh();
        v._bind(d, window);
        v._bind(b);
        t || (v._bind("mouseout", v.wrapper), v._bind(f));
        v.options.checkDOMChanges && (v.checkDOMTime = setInterval(function() {
            v._checkDOMChanges()
        }, 500))
    };
    m.prototype = {
        enabled: !0,
        x: 0,
        y: 0,
        steps: [],
        scale: 1,
        currPageX: 0,
        currPageY: 0,
        pagesX: [],
        pagesY: [],
        aniTime: null,
        wheelZoomCount: 0,
        handleEvent: function(e) {
            switch (e.type) {
                case b:
                    if (!t && 0 !== e.button) break;
                    this._start(e);
                    break;
                case l:
                    this._move(e);
                    break;
                case h:
                case u:
                    this._end(e);
                    break;
                case d:
                    this._resize();
                    break;
                case f:
                    this._wheel(e);
                    break;
                case "mouseout":
                    this._mouseout(e);
                    break;
                case "webkitTransitionEnd":
                    this._transitionEnd(e)
            }
        },
        _checkDOMChanges: function() {
            this.moved || this.zoomed || this.animating || this.scrollerW == this.scroller.offsetWidth * this.scale && this.scrollerH == this.scroller.offsetHeight * this.scale || this.refresh()
        },
        _scrollbar: function(e) {
            var g = document;
            if (this[e + "Scrollbar"]) {
                if (!this[e + "ScrollbarWrapper"]) {
                    var v = g.createElement("div");
                    this.options.scrollbarClass ? v.className =
                        this.options.scrollbarClass + e.toUpperCase() : v.style.cssText = "position:absolute;z-index:100;" + ("h" == e ? "height:7px;bottom:1px;left:2px;right:" + (this.vScrollbar ? "7" : "2") + "px" : "width:7px;bottom:" + (this.hScrollbar ? "7" : "2") + "px;top:2px;right:1px");
                    v.style.cssText += ";pointer-events:none;-" + B + "-transition-property:opacity;-" + B + "-transition-duration:" + (this.options.fadeScrollbar ? "350ms" : "0") + ";overflow:hidden;opacity:" + (this.options.hideScrollbar ? "0" : "1");
                    this.wrapper.appendChild(v);
                    this[e + "ScrollbarWrapper"] =
                        v;
                    v = g.createElement("div");
                    this.options.scrollbarClass || (v.style.cssText = "position:absolute;z-index:100;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);-" + B + "-background-clip:padding-box;-" + B + "-box-sizing:border-box;" + ("h" == e ? "height:100%" : "width:100%") + ";-" + B + "-border-radius:3px;border-radius:3px");
                    v.style.cssText += ";pointer-events:none;-" + B + "-transition-property:-" + B + "-transform;-" + B + "-transition-timing-function:cubic-bezier(0.33,0.66,0.66,1);-" + B + "-transition-duration:0;-" + B +
                        "-transform:" + p + "0,0" + y;
                    this.options.useTransition && (v.style.cssText += ";-" + B + "-transition-timing-function:cubic-bezier(0.33,0.66,0.66,1)");
                    this[e + "ScrollbarWrapper"].appendChild(v);
                    this[e + "ScrollbarIndicator"] = v
                }
                "h" == e ? (this.hScrollbarSize = this.hScrollbarWrapper.clientWidth, this.hScrollbarIndicatorSize = a.max(a.round(this.hScrollbarSize * this.hScrollbarSize / this.scrollerW), 8), this.hScrollbarIndicator.style.width = this.hScrollbarIndicatorSize + "px", this.hScrollbarMaxScroll = this.hScrollbarSize - this.hScrollbarIndicatorSize,
                    this.hScrollbarProp = this.hScrollbarMaxScroll / this.maxScrollX) : (this.vScrollbarSize = this.vScrollbarWrapper.clientHeight, this.vScrollbarIndicatorSize = a.max(a.round(this.vScrollbarSize * this.vScrollbarSize / this.scrollerH), 8), this.vScrollbarIndicator.style.height = this.vScrollbarIndicatorSize + "px", this.vScrollbarMaxScroll = this.vScrollbarSize - this.vScrollbarIndicatorSize, this.vScrollbarProp = this.vScrollbarMaxScroll / this.maxScrollY);
                this._scrollbarPos(e, !0)
            } else this[e + "ScrollbarWrapper"] && (w && (this[e + "ScrollbarIndicator"].style[B +
                "Transform"] = ""), this[e + "ScrollbarWrapper"].parentNode.removeChild(this[e + "ScrollbarWrapper"]), this[e + "ScrollbarWrapper"] = null, this[e + "ScrollbarIndicator"] = null)
        },
        _resize: function() {
            var e = this;
            setTimeout(function() {
                e.refresh()
            }, q ? 200 : 0)
        },
        _pos: function(e, g) {
            e = this.hScroll ? e : 0;
            g = this.vScroll ? g : 0;
            this.options.useTransform ? this.scroller.style[B + "Transform"] = p + e + "px," + g + "px" + y + " scale(" + this.scale + ")" : (e = a.round(e), g = a.round(g), this.scroller.style.left = e + "px", this.scroller.style.top = g + "px");
            this.x = e;
            this.y =
                g;
            this._scrollbarPos("h");
            this._scrollbarPos("v")
        },
        _scrollbarPos: function(e, g) {
            var v = "h" == e ? this.x : this.y;
            this[e + "Scrollbar"] && (v *= this[e + "ScrollbarProp"], 0 > v ? (this.options.fixedScrollbar || (v = this[e + "ScrollbarIndicatorSize"] + a.round(3 * v), 8 > v && (v = 8), this[e + "ScrollbarIndicator"].style["h" == e ? "width" : "height"] = v + "px"), v = 0) : v > this[e + "ScrollbarMaxScroll"] && (this.options.fixedScrollbar ? v = this[e + "ScrollbarMaxScroll"] : (v = this[e + "ScrollbarIndicatorSize"] - a.round(3 * (v - this[e + "ScrollbarMaxScroll"])), 8 > v && (v =
                8), this[e + "ScrollbarIndicator"].style["h" == e ? "width" : "height"] = v + "px", v = this[e + "ScrollbarMaxScroll"] + (this[e + "ScrollbarIndicatorSize"] - v))), this[e + "ScrollbarWrapper"].style[B + "TransitionDelay"] = "0", this[e + "ScrollbarWrapper"].style.opacity = g && this.options.hideScrollbar ? "0" : "1", this[e + "ScrollbarIndicator"].style[B + "Transform"] = p + ("h" == e ? v + "px,0" : "0," + v + "px") + y)
        },
        _start: function(e) {
            var g = t ? e.touches[0] : e;
            if (this.enabled) {
                this.options.onBeforeScrollStart && this.options.onBeforeScrollStart.call(this, e);
                (this.options.useTransition || this.options.zoom) && this._transitionTime(0);
                this.zoomed = this.animating = this.moved = !1;
                this.dirY = this.dirX = this.absDistY = this.absDistX = this.distY = this.distX = 0;
                if (this.options.zoom && t && 1 < e.touches.length) {
                    var v = a.abs(e.touches[0].pageX - e.touches[1].pageX);
                    var D = a.abs(e.touches[0].pageY - e.touches[1].pageY);
                    this.touchesDistStart = a.sqrt(v * v + D * D);
                    this.originX = a.abs(e.touches[0].pageX + e.touches[1].pageX - 2 * this.wrapperOffsetLeft) / 2 - this.x;
                    this.originY = a.abs(e.touches[0].pageY +
                        e.touches[1].pageY - 2 * this.wrapperOffsetTop) / 2 - this.y;
                    this.options.onZoomStart && this.options.onZoomStart.call(this, e)
                }
                this.options.momentum && (this.options.useTransform ? (D = getComputedStyle(this.scroller, null)[B + "Transform"].replace(/[^0-9-.,]/g, "").split(","), v = 1 * D[4], D = 1 * D[5]) : (v = 1 * getComputedStyle(this.scroller, null).left.replace(/[^0-9-]/g, ""), D = 1 * getComputedStyle(this.scroller, null).top.replace(/[^0-9-]/g, "")), v != this.x || D != this.y) && (this.options.useTransition ? this._unbind("webkitTransitionEnd") :
                    c(this.aniTime), this.steps = [], this._pos(v, D));
                this.absStartX = this.x;
                this.absStartY = this.y;
                this.startX = this.x;
                this.startY = this.y;
                this.pointX = g.pageX;
                this.pointY = g.pageY;
                this.startTime = e.timeStamp || Date.now();
                this.options.onScrollStart && this.options.onScrollStart.call(this, e);
                this._bind(l);
                this._bind(h);
                this._bind(u)
            }
        },
        _move: function(e) {
            var g = t ? e.touches[0] : e,
                v = g.pageX - this.pointX,
                D = g.pageY - this.pointY,
                A = this.x + v,
                x = this.y + D,
                C = e.timeStamp || Date.now();
            this.options.onBeforeScrollMove && this.options.onBeforeScrollMove.call(this,
                e);
            if (this.options.zoom && t && 1 < e.touches.length) A = a.abs(e.touches[0].pageX - e.touches[1].pageX), x = a.abs(e.touches[0].pageY - e.touches[1].pageY), this.touchesDist = a.sqrt(A * A + x * x), this.zoomed = !0, g = 1 / this.touchesDistStart * this.touchesDist * this.scale, g < this.options.zoomMin ? g = .5 * this.options.zoomMin * Math.pow(2, g / this.options.zoomMin) : g > this.options.zoomMax && (g = 2 * this.options.zoomMax * Math.pow(.5, this.options.zoomMax / g)), this.lastScale = g / this.scale, A = this.originX - this.originX * this.lastScale + this.x, x = this.originY -
                this.originY * this.lastScale + this.y, this.scroller.style[B + "Transform"] = p + A + "px," + x + "px" + y + " scale(" + g + ")", this.options.onZoom && this.options.onZoom.call(this, e);
            else {
                this.pointX = g.pageX;
                this.pointY = g.pageY;
                if (0 < A || A < this.maxScrollX) A = this.options.bounce ? this.x + v / 2 : 0 <= A || 0 <= this.maxScrollX ? 0 : this.maxScrollX;
                if (x > this.minScrollY || x < this.maxScrollY) x = this.options.bounce ? this.y + D / 2 : x >= this.minScrollY || 0 <= this.maxScrollY ? this.minScrollY : this.maxScrollY;
                6 > this.absDistX && 6 > this.absDistY ? (this.distX += v, this.distY +=
                    D, this.absDistX = a.abs(this.distX), this.absDistY = a.abs(this.distY)) : (this.options.lockDirection && (this.absDistX > this.absDistY + 5 ? (x = this.y, D = 0) : this.absDistY > this.absDistX + 5 && (A = this.x, v = 0)), this.moved = !0, this._pos(A, x), this.dirX = 0 < v ? -1 : 0 > v ? 1 : 0, this.dirY = 0 < D ? -1 : 0 > D ? 1 : 0, 300 < C - this.startTime && (this.startTime = C, this.startX = this.x, this.startY = this.y), this.options.onScrollMove && this.options.onScrollMove.call(this, e), $.DM.onIscrollScrolls(e))
            }
        },
        _end: function(e) {
            if (!t || 0 == e.touches.length) {
                var g = this,
                    v = t ?
                    e.changedTouches[0] : e,
                    D, A, x = {
                        dist: 0,
                        time: 0
                    },
                    C = {
                        dist: 0,
                        time: 0
                    },
                    I = (e.timeStamp || Date.now()) - g.startTime,
                    H = g.x,
                    N = g.y;
                g._unbind(l);
                g._unbind(h);
                g._unbind(u);
                g.options.onBeforeScrollEnd && g.options.onBeforeScrollEnd.call(g, e);
                if (g.zoomed) H = g.scale * g.lastScale, H = Math.max(g.options.zoomMin, H), H = Math.min(g.options.zoomMax, H), g.lastScale = H / g.scale, g.scale = H, g.x = g.originX - g.originX * g.lastScale + g.x, g.y = g.originY - g.originY * g.lastScale + g.y, g.scroller.style[B + "TransitionDuration"] = "200ms", g.scroller.style[B + "Transform"] =
                    p + g.x + "px," + g.y + "px" + y + " scale(" + g.scale + ")", g.zoomed = !1, g.refresh(), g.options.onZoomEnd && g.options.onZoomEnd.call(g, e);
                else {
                    if (g.moved) {
                        if (300 > I && g.options.momentum) {
                            x = H ? g._momentum(H - g.startX, I, -g.x, g.scrollerW - g.wrapperW + g.x, g.options.bounce ? g.wrapperW : 0) : x;
                            C = N ? g._momentum(N - g.startY, I, -g.y, 0 > g.maxScrollY ? g.scrollerH - g.wrapperH + g.y - g.minScrollY : 0, g.options.bounce ? g.wrapperH : 0) : C;
                            H = g.x + x.dist;
                            N = g.y + C.dist;
                            if (0 < g.x && 0 < H || g.x < g.maxScrollX && H < g.maxScrollX) x = {
                                dist: 0,
                                time: 0
                            };
                            if (g.y > g.minScrollY && N > g.minScrollY ||
                                g.y < g.maxScrollY && N < g.maxScrollY) C = {
                                dist: 0,
                                time: 0
                            }
                        }
                        x.dist || C.dist ? (x = a.max(a.max(x.time, C.time), 10), g.options.snap && (C = H - g.absStartX, I = N - g.absStartY, a.abs(C) < g.options.snapThreshold && a.abs(I) < g.options.snapThreshold ? g.scrollTo(g.absStartX, g.absStartY, 200) : (C = g._snap(H, N), H = C.x, N = C.y, x = a.max(C.time, x))), g.scrollTo(a.round(H), a.round(N), x)) : g.options.snap ? (C = H - g.absStartX, I = N - g.absStartY, a.abs(C) < g.options.snapThreshold && a.abs(I) < g.options.snapThreshold ? g.scrollTo(g.absStartX, g.absStartY, 200) : (C = g._snap(g.x,
                            g.y), C.x == g.x && C.y == g.y || g.scrollTo(C.x, C.y, C.time))) : g._resetPos(200)
                    } else t && (g.doubleTapTimer && g.options.zoom ? (clearTimeout(g.doubleTapTimer), g.doubleTapTimer = null, g.options.onZoomStart && g.options.onZoomStart.call(g, e), g.zoom(g.pointX, g.pointY, 1 == g.scale ? g.options.doubleTapZoom : 1), g.options.onZoomEnd && setTimeout(function() {
                        g.options.onZoomEnd.call(g, e)
                    }, 200)) : g.doubleTapTimer = setTimeout(function() {
                        g.doubleTapTimer = null;
                        for (D = v.target; 1 != D.nodeType;) D = D.parentNode;
                        "SELECT" != D.tagName && "INPUT" !=
                            D.tagName && "TEXTAREA" != D.tagName && (A = document.createEvent("MouseEvents"), A.initMouseEvent("click", !0, !0, e.view, 1, v.screenX, v.screenY, v.clientX, v.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, 0, null), A._fake = !0, D.dispatchEvent(A))
                    }, g.options.zoom ? 250 : 0)), g._resetPos(200);
                    g.options.onTouchEnd && g.options.onTouchEnd.call(g, e)
                }
            }
        },
        _resetPos: function(e) {
            var g = 0 <= this.x ? 0 : this.x < this.maxScrollX ? this.maxScrollX : this.x,
                v = this.y >= this.minScrollY || 0 < this.maxScrollY ? this.minScrollY : this.y < this.maxScrollY ? this.maxScrollY :
                this.y;
            g == this.x && v == this.y ? (this.moved && (this.moved = !1, this.options.onScrollEnd && this.options.onScrollEnd.call(this)), this.hScrollbar && this.options.hideScrollbar && ("webkit" == B && (this.hScrollbarWrapper.style[B + "TransitionDelay"] = "300ms"), this.hScrollbarWrapper.style.opacity = "0"), this.vScrollbar && this.options.hideScrollbar && ("webkit" == B && (this.vScrollbarWrapper.style[B + "TransitionDelay"] = "300ms"), this.vScrollbarWrapper.style.opacity = "0")) : this.scrollTo(g, v, e || 0)
        },
        _wheel: function(e) {
            if ($.DM.isUseLayout() &&
                "none" == this.options.wheelAction || 0 < this.maxScrollY || parseInt(e.currentTarget.style.height) < this.wrapperH) return !1;
            var g = this;
            if ("wheelDeltaX" in e) {
                var v = e.wheelDeltaX / 12;
                var D = e.wheelDeltaY / 2
            } else "wheelDelta" in e ? v = D = e.wheelDelta : "detail" in e && (2 === e.axis ? (D = 10 * -e.detail, v = 0) : (v = 3 * -e.detail, D = 0));
            "zoom" == g.options.wheelAction ? (D = g.scale * Math.pow(2, 1 / 3 * (D ? D / Math.abs(D) : 0)), D < g.options.zoomMin && (D = g.options.zoomMin), D > g.options.zoomMax && (D = g.options.zoomMax), D != g.scale && (!g.wheelZoomCount && g.options.onZoomStart &&
                g.options.onZoomStart.call(g, e), g.wheelZoomCount++, g.zoom(e.pageX, e.pageY, D, 400), setTimeout(function() {
                    g.wheelZoomCount--;
                    !g.wheelZoomCount && g.options.onZoomEnd && g.options.onZoomEnd.call(g, e)
                }, 400))) : (window.editorParent.$ && window.editorParent.$.deselectAllEditableElements && null != window.editorParent.NEFW && null != window.editorParent.$.dmfw.setPreviewEditPolicy && 0 == window.editorParent.$.dmfw.getPreviewElement(".dmLocked").length && window.editorParent.$.deselectAllEditableElements(), $.DM.onIscrollScrolls(e),
                v = g.x + v, D = g.y + D, 0 < v ? v = 0 : v < g.maxScrollX && (v = g.maxScrollX), D > g.minScrollY ? D = g.minScrollY : D < g.maxScrollY && (D = g.maxScrollY), g.scrollTo(v, D, 0), e.stopPropagation(), e.preventDefault())
        },
        _mouseout: function(e) {
            var g = e.relatedTarget;
            if (g)
                for (; g = g.parentNode;)
                    if (g == this.wrapper) return;
            this._end(e)
        },
        _transitionEnd: function(e) {
            e.target == this.scroller && (this._unbind("webkitTransitionEnd"), this._startAni())
        },
        _startAni: function() {
            var e = this,
                g = e.x,
                v = e.y,
                D = Date.now(),
                A;
            if (!e.animating)
                if (e.steps.length) {
                    var x = e.steps.shift();
                    x.x == g && x.y == v && (x.time = 0);
                    e.animating = !0;
                    e.moved = !0;
                    e.options.useTransition ? (e._transitionTime(x.time), e._pos(x.x, x.y), e.animating = !1, x.time ? e._bind("webkitTransitionEnd") : e._resetPos(0)) : function I() {
                        var H = Date.now();
                        H >= D + x.time ? (e._pos(x.x, x.y), e.animating = !1, e.options.onAnimationEnd && e.options.onAnimationEnd.call(e), e._startAni()) : (H = (H - D) / x.time - 1, A = a.sqrt(1 - H * H), H = (x.x - g) * A + g, e._pos(H, (x.y - v) * A + v), e.animating && (e.aniTime = n(I)))
                    }()
                } else e._resetPos(400)
        },
        _transitionTime: function(e) {
            e += "ms";
            this.scroller.style[B +
                "TransitionDuration"] = e;
            this.hScrollbar && (this.hScrollbarIndicator.style[B + "TransitionDuration"] = e);
            this.vScrollbar && (this.vScrollbarIndicator.style[B + "TransitionDuration"] = e)
        },
        _momentum: function(e, g, v, D, A) {
            g = a.abs(e) / g;
            var x = g * g / .0012;
            0 < e && x > v ? (v += A / (6 / (x / g * 6E-4)), g = g * v / x, x = v) : 0 > e && x > D && (D += A / (6 / (x / g * 6E-4)), g = g * D / x, x = D);
            return {
                dist: x * (0 > e ? -1 : 1),
                time: a.round(g / 6E-4)
            }
        },
        _offset: function(e) {
            for (var g = -e.offsetLeft, v = -e.offsetTop; e = e.offsetParent;) g -= e.offsetLeft, v -= e.offsetTop;
            e != this.wrapper && (g *= this.scale,
                v *= this.scale);
            return {
                left: g,
                top: v
            }
        },
        _snap: function(e, g) {
            var v;
            var D = this.pagesX.length - 1;
            var A = 0;
            for (v = this.pagesX.length; A < v; A++)
                if (e >= this.pagesX[A]) {
                    D = A;
                    break
                } D == this.currPageX && 0 < D && 0 > this.dirX && D--;
            e = this.pagesX[D];
            v = (v = a.abs(e - this.pagesX[this.currPageX])) ? a.abs(this.x - e) / v * 500 : 0;
            this.currPageX = D;
            D = this.pagesY.length - 1;
            for (A = 0; A < D; A++)
                if (g >= this.pagesY[A]) {
                    D = A;
                    break
                } D == this.currPageY && 0 < D && 0 > this.dirY && D--;
            g = this.pagesY[D];
            A = (A = a.abs(g - this.pagesY[this.currPageY])) ? a.abs(this.y - g) / A * 500 : 0;
            this.currPageY = D;
            D = a.round(a.max(v, A)) || 200;
            return {
                x: e,
                y: g,
                time: D
            }
        },
        _bind: function(e, g, v) {
            (g || this.scroller).addEventListener(e, this, !!v)
        },
        _unbind: function(e, g, v) {
            (g || this.scroller).removeEventListener(e, this, !!v)
        },
        destroy: function() {
            this.scroller.style[B + "Transform"] = "";
            this.vScrollbar = this.hScrollbar = !1;
            this._scrollbar("h");
            this._scrollbar("v");
            this._unbind(d, window);
            this._unbind(b);
            this._unbind(l);
            this._unbind(h);
            this._unbind(u);
            this.options.hasTouch && (this._unbind("mouseout", this.wrapper), this._unbind(f));
            this.options.useTransition && this._unbind("webkitTransitionEnd");
            this.options.checkDOMChanges && clearInterval(this.checkDOMTime);
            this.options.onDestroy && this.options.onDestroy.call(this)
        },
        refresh: function() {
            var e = 0;
            var g = 0;
            this.scale < this.options.zoomMin && (this.scale = this.options.zoomMin);
            this.wrapperW = this.wrapper.clientWidth || 1;
            this.wrapperH = this.wrapper.clientHeight || 1;
            this.minScrollY = -this.options.topOffset || 0;
            this.scrollerW = a.round(this.scroller.offsetWidth * this.scale);
            this.scrollerH = a.round((this.scroller.offsetHeight +
                this.minScrollY) * this.scale);
            this.maxScrollX = this.wrapperW - this.scrollerW;
            this.maxScrollY = this.wrapperH - this.scrollerH + this.minScrollY;
            this.dirY = this.dirX = 0;
            this.options.onRefresh && this.options.onRefresh.call(this);
            this.hScroll = this.options.hScroll && 0 > this.maxScrollX;
            this.vScroll = this.options.vScroll && (!this.options.bounceLock && !this.hScroll || this.scrollerH > this.wrapperH);
            this.hScrollbar = this.hScroll && this.options.hScrollbar;
            this.vScrollbar = this.vScroll && this.options.vScrollbar && this.scrollerH > this.wrapperH;
            var v = this._offset(this.wrapper);
            this.wrapperOffsetLeft = -v.left;
            this.wrapperOffsetTop = -v.top;
            if ("string" == typeof this.options.snap) {
                this.pagesX = [];
                this.pagesY = [];
                var D = this.scroller.querySelectorAll(this.options.snap);
                v = 0;
                for (g = D.length; v < g; v++) e = this._offset(D[v]), e.left += this.wrapperOffsetLeft, e.top += this.wrapperOffsetTop, this.pagesX[v] = e.left < this.maxScrollX ? this.maxScrollX : e.left * this.scale, this.pagesY[v] = e.top < this.maxScrollY ? this.maxScrollY : e.top * this.scale
            } else if (this.options.snap) {
                for (this.pagesX = []; e >= this.maxScrollX;) this.pagesX[g] = e, e -= this.wrapperW, g++;
                this.maxScrollX % this.wrapperW && (this.pagesX[this.pagesX.length] = this.maxScrollX - this.pagesX[this.pagesX.length - 1] + this.pagesX[this.pagesX.length - 1]);
                g = e = 0;
                for (this.pagesY = []; e >= this.maxScrollY;) this.pagesY[g] = e, e -= this.wrapperH, g++;
                this.maxScrollY % this.wrapperH && (this.pagesY[this.pagesY.length] = this.maxScrollY - this.pagesY[this.pagesY.length - 1] + this.pagesY[this.pagesY.length - 1])
            }
            this._scrollbar("h");
            this._scrollbar("v");
            this.zoomed || (this.scroller.style[B +
                "TransitionDuration"] = "0", this._resetPos(200))
        },
        scrollTo: function(e, g, v, D) {
            var A = e;
            this.stop();
            A.length || (A = [{
                x: e,
                y: g,
                time: v,
                relative: D
            }]);
            e = 0;
            for (g = A.length; e < g; e++) A[e].relative && (A[e].x = this.x - A[e].x, A[e].y = this.y - A[e].y), this.steps.push({
                x: A[e].x,
                y: A[e].y,
                time: A[e].time || 0
            });
            this._startAni()
        },
        getScrollY: function() {
            return this.y
        },
        getScrollX: function() {
            return this.x
        },
        scrollToElement: function(e, g) {
            if (e = e.nodeType ? e : this.scroller.querySelector(e)) e = this._offset(e), e.left += this.wrapperOffsetLeft, e.top +=
                this.wrapperOffsetTop, e.left = 0 < e.left ? 0 : e.left < this.maxScrollX ? this.maxScrollX : e.left, e.top = e.top > this.minScrollY ? this.minScrollY : e.top < this.maxScrollY ? this.maxScrollY : e.top, g = void 0 === g ? a.max(2 * a.abs(e.left), 2 * a.abs(e.top)) : g, this.scrollTo(e.left, e.top + 36, g)
        },
        scrollToPage: function(e, g, v) {
            this.options.onScrollStart && this.options.onScrollStart.call(this);
            this.options.snap ? (e = "next" == e ? this.currPageX + 1 : "prev" == e ? this.currPageX - 1 : e, g = "next" == g ? this.currPageY + 1 : "prev" == g ? this.currPageY - 1 : g, e = 0 > e ? 0 : e >
                this.pagesX.length - 1 ? this.pagesX.length - 1 : e, g = 0 > g ? 0 : g > this.pagesY.length - 1 ? this.pagesY.length - 1 : g, this.currPageX = e, this.currPageY = g, e = this.pagesX[e], g = this.pagesY[g]) : (e *= -this.wrapperW, g *= -this.wrapperH, e < this.maxScrollX && (e = this.maxScrollX), g < this.maxScrollY && (g = this.maxScrollY));
            this.scrollTo(e, g, v || 400)
        },
        disable: function() {
            this.stop();
            this._resetPos(0);
            this.enabled = !1;
            this._unbind(l);
            this._unbind(h);
            this._unbind(u)
        },
        enable: function() {
            this.enabled = !0
        },
        stop: function() {
            this.options.useTransition ?
                this._unbind("webkitTransitionEnd") : c(this.aniTime);
            this.steps = [];
            this.animating = this.moved = !1
        },
        zoom: function(e, g, v, D) {
            var A = v / this.scale;
            this.options.useTransform && (this.zoomed = !0, D = void 0 === D ? 200 : D, e = e - this.wrapperOffsetLeft - this.x, g = g - this.wrapperOffsetTop - this.y, this.x = e - e * A + this.x, this.y = g - g * A + this.y, this.scale = v, this.refresh(), this.x = 0 < this.x ? 0 : this.x < this.maxScrollX ? this.maxScrollX : this.x, this.y = this.y > this.minScrollY ? this.minScrollY : this.y < this.maxScrollY ? this.maxScrollY : this.y, this.scroller.style[B +
                "TransitionDuration"] = D + "ms", this.scroller.style[B + "Transform"] = p + this.x + "px," + this.y + "px" + y + " scale(" + v + ")", this.zoomed = !1)
        },
        isReady: function() {
            return !this.moved && !this.zoomed && !this.animating
        }
    };
    "undefined" !== typeof exports ? exports.iScroll = m : window.iScroll = m
})();
(function(a) {
    function B(r) {
        return (r = a(r).attr("href")) ? 0 === r.indexOf("http://") : !1
    }

    function z() {
        a.extend(a.layoutDevice.components, a.extend({}, a.commonComponents, a.layoutDevice.components));
        for (var r in a.layoutDevice.components) {
            var m = a.layoutDevice.components[r].selector;
            m || (m = "#", a.layoutDevice.components[r].getByClass && (m = "."), m += r);
            0 == a(m).length ? a.layoutDevice.components[r] = null : a.layoutDevice.components[r].element = a(m)
        }
    }

    function t(r) {
        return 0 == r ? function(m) {
            return !m.hasClass("dmSub")
        } : function(m) {
            return m.hasClass("dmSub" +
                (2 == r ? "2" : ""))
        }
    }

    function w() {
        var r = document.body.classList;
        /trident|msie/i.test(navigator.userAgent) && !r.contains("msie") && r.add("msie")
    }
    var q = {
        _is_touch_device: a.DM.testTouch(),
        _layoutDomReady: !1,
        _isEditorMode: !1,
        _isEDMode: !1,
        _variationClassPrefix: "-var",
        _widgetClassPrefix: "widgetStyle-",
        _NEW_PAGES_PREFIX: "dmwlp://",
        _NEW_PAGE_LOC: "http://bfs._dudamobile.com"
    };
    a.extend({
        layoutManager: q
    });
    (function(r) {
        const m = window.rtCommonProps["feature.flag.runOnReadyNewTask"] ? () => setTimeout(r, 0) : r;
        setTimeout(() =>
            a(document).ready(m), 0)
    })(function() {
        w();
        a.layoutManager._isEditorMode = !!a.DM.getQueryParam(window.location.href, "nee");
        a.layoutManager._isEDMode = !!a.DM.getQueryParam(window.location.href, "ed");
        a.layoutManager._isEditorMode && "DESKTOP" === a.layoutDevice.type.toUpperCase() && a.layoutDevice.addParallaxBehavior();
        0 < a("#dm").find("[data-background-parallax-selector]").length && "DESKTOP" == a.layoutDevice.type.toUpperCase() || a.layoutManager._isEditorMode && "undefined" != typeof window.parent.window.DF && window.parent.window.DF.parallaxPromise.resolve();
        z(); - 1 == navigator.userAgent.indexOf("Mac OS X") && a("body").addClass("pcCustomScrollbar");
        var r = a("body");
        a.layoutManager._isEditorMode && (r.addClass("bodyInsideNee"), r.toggleClass("bodyInsidePT", "PT" === getSafe("editorParent.dm_current_editor")), r.addClass("bodyInsideD1"));
        r.addClass("d1SiteBody");
        20 > Parameters.ThemeVersion && r.addClass("bodyInsideDudaone");
        a.layoutManager._isEditorMode && !a.layoutManager._isEDMode || a.layoutManager.initLayout();
        a.layoutManager.initNavigation();
        "MOBILE" !== a.layoutDevice.type.toUpperCase() ||
            a.layoutManager._isEditorMode || 8 !== q.getCurrentLayout() || document.addEventListener("focusout", function(m) {
                document.body.scrollTop = 0;
                document.scrollingElement && (document.scrollingElement.scrollTop = 0)
            });
        a.layoutDevice.components.iscrollBody && a.layoutDevice.components.iscrollBody.isUseIscroll && !a.layoutManager._isEditorMode ? (r.addClass("dmBodyUseIscroll"), r.removeClass("dmBodyNoIscroll")) : (r.addClass("dmBodyNoIscroll"), r.removeClass("dmBodyUseIscroll"));
        "runtime" in window && runtime.initLayout({
            instanceSettings: {
                containerId: "dm-outer-wrapper"
            }
        }).then(function() {
            a.layoutManager._layoutDomReady = !0
        }).catch(function(m) {
            console.error(m)
        });
        "runtime" in window && runtime.initAnchorsApp().then(function() {
            a.layoutManager._anchorsMarkersReady = !0
        }).catch(function(m) {
            console.error(m)
        })
    });
    a(window).on("load", function() {
        q.updateContainerMinimumHeight();
        window === window.parent && window.document.documentElement.classList.remove("ios-preview")
    });
    a(window).resize(function() {
        q.refreshIscroll()
    });
    q.detectUserAgent = function() {
        var r = navigator.userAgent;
        return r.match(/(iPhone|iPod)/) && r.match(/CriOS/) ? "iPhone-chrome" :
            r.match(/(iPhone|iPod|iPad)/) ? "iPhone" : r.match(/Android/) ? "android" : r.match(/BlackBerry/) ? "blackberry" : r.match(/Windows Phone/i) || r.match(/iEMobile/i) ? "windowsmobile" : ""
    };
    q.initLayout = function() {
        a.layoutDevice.onReady(a.layoutManager._isEditorMode);
        a.layoutDevice.onLoad(a.layoutManager._isEditorMode)
    };
    q.refreshIscroll = function(r) {
        null == r && a.layoutDevice && (r = a.layoutDevice.components.iscrollBody);
        r && r.iscrollObject && r.iscrollObject.refresh()
    };
    q.reinitIscroll = function(r) {
        null == r && (r = a.layoutDevice.components.iscrollBody);
        r && r.iscrollObject && r.refresh()
    };
    q.getLayoutElement = function() {
        return a.layoutDevice.components
    };
    q.isNee = function() {
        return a.layoutManager._isEditorMode
    };
    q.setCurrentVariation = function(r, m, k) {
        k = k || "mobile";
        for (var n = a(".dm_wrapper"), c = n.attr("class").split(" "), d = "", b = "", l = 0; l < c.length; l++) {
            var h = c[l]; - 1 != h.indexOf(a.layoutManager._variationClassPrefix) && (d = h, b = h.substr(0, h.indexOf(a.layoutManager._variationClassPrefix)) + a.layoutManager._variationClassPrefix + r);
            m && -1 != h.indexOf(a.layoutManager._widgetClassPrefix) &&
                n.removeClass(h)
        }
        n.removeClass(d);
        n.addClass(b);
        n.addClass(m ? m[b] : "");
        Parameters.LayoutVariationID[k] = r;
        a.DM.restoreDefaultNavigationStyles();
        a.DM.initNavbar(!0);
        a.layoutDevice.components.dmNav.cssCalculations()
    };
    q.getCurrentVariation = function(r) {
        return Parameters.LayoutVariationID[r || "mobile"]
    };
    q.setCurrentLayout = function(r, m) {
        Parameters.LayoutID[m || "mobile"] = r
    };
    q.getCurrentLayout = function(r) {
        return Parameters.LayoutID[r || "mobile"]
    };
    q.setCurrentWidgetStyleID = function(r) {
        Parameters.WidgetStyleID =
            r
    };
    q.getCurrentWidgetStyleID = function() {
        return Parameters.WidgetStyleID
    };
    q.cssCalculations = function() {
        a.layoutDevice.components.dmNav.cssCalculations()
    };
    q.afterDropPositionFoundHook = function() {};
    q.isLayoutDomReady = function() {
        return a.layoutManager._layoutDomReady
    };
    q.afterInitNav = function() {
        a.layoutDevice.components.dmNav && a.layoutDevice.components.dmNav.cssCalculations()
    };
    q.isMobileBrowser = function() {
        var r = navigator.userAgent || navigator.vendor || window.opera,
            m = !1;
        if (/android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|meego.+mobile|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(r) ||
            /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(r.substr(0,
                4))) m = !0;
        return m
    };
    q.isSafariMobileBrowser = function() {
        return -1 < navigator.userAgent.toLowerCase().indexOf("version/")
    };
    q._is_touch_device = q._is_touch_device && "blackberry" != q.detectUserAgent();
    q.hideAllSubItems = function() {
        a.layoutDevice.components.slideDownNav ? a.layoutDevice.components.slideDownNav.refresh() : a.layoutDevice.components.slideUpNav ? a.layoutDevice.components.slideUpNav.refresh() : a.layoutDevice.components.slideRightNav && a.layoutDevice.components.slideRightNav.refresh()
    };
    q.openAppropriateSub =
        function() {
            var r;
            a(".dmNavigation li:not(.listBtnHidden) a").each(function() {
                var m = a(this),
                    k = unescape(a.DM.getQueryParam(m.attr("href"), "url") || m.attr("href"));
                r = document.createElement("a");
                r.href = k;
                if (a(this).is(".dmNavItemSelected\x3ea")) {
                    var n = m.parent();
                    if (n.hasClass("hasdmSub")) a.layoutManager.showSpecificSubs(a(this).parent());
                    else if (n.hasClass("dmSub")) {
                        for (k = t(n.hasClass("dmSub2") ? 1 : 0); !n.hasClass("hasdmSub") || !k(n);) n = n.prev();
                        a.layoutManager.showSpecificSubs(n)
                    }
                    m.parents(".dmNavigation").find("a").removeClass("currentPage");
                    m.addClass("currentPage");
                    return !1
                }
            });
            a.layoutDevice.components.dmNav && a.layoutDevice.components.dmNav.cssCalculations()
        };
    q.getCurrentNavigationItemSelected = function(r, m) {
        r || (r = a(".dmNavWrapper, .dmNavigation, .dmNavigationWithLink"), m = !0);
        var k = null,
            n = a.DM.getCurrentPageUrl(),
            c;
        n && (c = n.replace("\x26preview\x3dtrue", "").replace("\x26dm_try_mode\x3dtrue", ""));
        var d = location.hash,
            b = d ? d.substring(1) : null;
        r.find("a").each(function() {
            var l = a(this).data("target-page-alias") || a(this).attr("href");
            l && -1 !=
                l.indexOf("?url\x3d") && (l = unescape(a.DM.getQueryParam(a(this).attr("href"), "url")));
            if ("#" !== l && (l && (-1 < l.indexOf("?") && (l = l.substr(0, l.indexOf("?"))), 0 == l.indexOf("/site/") ? l = l.split(l.split("/")[2] + "/")[1] : 0 == l.indexOf("/") && (l = l.substr(1, l.length)), -1 < l.indexOf("#") && !(-1 < l.indexOf("#!")) && (l = l.split("#")[0]), "" === l && (l = "home")), null != l && null != n && (l === n || l === c))) {
                var h = l = null,
                    u = a(this).attr("href").split("#");
                1 < u.length && !u[1].startsWith("!") && (l = "#" + u[1], h = u[1]);
                if ((l || d) && l != d) try {
                    if (a("#" + b +
                            "[data-anchor]").length || a("#" + h + "[data-anchor]").length) return
                } catch (f) {}
                null == k ? k = a(this) : m && (k = k.add(a(this)))
            }
        });
        return k
    };
    q.markCurrentSelectedNavigation = async function(r) {
        if (!window.exportsite) {
            var m = a(".dmNavWrapper, .dmNavigation, .dmNavigationWithLink, .unifiednav__container");
            m.find("li").removeClass("dmNavItemSelected").end().find("a").removeClass("currentPage");
            await Promise.all([...m].map(function(k) {
                return new Promise(n => {
                    requestAnimationFrame(() => {
                        var c = a(k);
                        if (r && c.data("cachedElement")) var d =
                            c.data("cachedElement");
                        else(d = a.layoutManager.getCurrentNavigationItemSelected(c)) && d.length && (d = d.eq(0));
                        if (!c.find(".dmNavItemSelected").hasClass("dmNavKeepSelected")) {
                            var b = c.find(".navItemSelectedServer");
                            0 < b.size() ? (c.find("li").removeClass("dmNavItemSelected"), c.find("a").removeClass("currentPage"), b.removeClass("navItemSelectedServer"), b.addClass("dmNavItemSelected"), b.find(" \x3e a").addClass("currentPage"), c.data("cachedElement", b.find(" \x3e a"))) : (b = c.find("a.currentPage").eq(0), !d || b.html() ==
                                d.html() && 2 != d.closest("ul").find(".dmNavItemSelected").length ? (c.find("li").removeClass("dmNavItemSelected"), c.find("a").removeClass("currentPage dmNavItemSelected"), d = window.location.pathname, d = c.find('a[raw_url\x3d"' + decodeURI(d) + '"], a[href\x3d"' + decodeURI(d) + '"]'), c && c.hasClass("unifiednav__container") ? (d.addClass("dmNavItemSelected"), d.parents(".unifiednav__item-wrap").each(function(l) {
                                    a(this).children("a").addClass("dmNavItemSelected")
                                })) : (d.addClass("currentPage"), d.closest("li").addClass("dmNavItemSelected"))) :
                                (c.find("li").removeClass("dmNavItemSelected"), c.find("a").removeClass("currentPage dmNavItemSelected"), d.addClass("currentPage"), c.hasClass("unifiednav__container") ? (d.addClass("dmNavItemSelected"), d.parents(".unifiednav__item-wrap").each(function(l) {
                                    a(this).children("a").addClass("dmNavItemSelected")
                                })) : d.closest("li").addClass("dmNavItemSelected"), c.data("cachedElement", d)));
                            a.layoutManager.finalizeMenu()
                        }
                        c.find(".dmNavKeepSelected").removeClass("dmNavKeepSelected");
                        n()
                    })
                })
            }));
            a.layoutManager.markedSelected = !0
        }
    };
    q.finalizeMenu = function() {
        0 < a(".dmNavigation .dmNavItemSelected").not(".dmHideFromNav").length && a(".dmNavigationWithLink .slideDownTrigger, .dmNavigationWithLink .slideUpTrigger").addClass("dmNavItemSelected");
        0 < a(".desktopTopNavMoreBtn .dmNavItemSelected").length && a("#upperFloatingNav .desktopTopNavMoreBtn").addClass("dmNavItemSelected");
        0 < a("#upperFloatingNav .dmNavItemSelected.dmSub, .dmLinksMenu .dmNavItemSelected.dmSub").length && a("#upperFloatingNav .dmNavItemSelected.dmSub, .dmLinksMenu .dmNavItemSelected.dmSub").parents("li").last().addClass("dmNavItemSelected");
        0 < a(".dmUDNavigationItem_dmMore").length && a(".dmNavItemSelected").closest(".dmUDNavigationItem_dmMore").each(function() {
            this.classList.contains("unifiednav__item-wrap") ? this.querySelector(".unifiednav__item").classList.add("dmNavItemSelected") : this.classList.add("dmNavItemSelected")
        })
    };
    q.onAjaxLinkClick = function(r) {
        var m = r.attr("href") && "#" !== r.attr("href");
        m && (a.layoutManager.closeAllOpenedNavs(void 0, !0), window.layoutApp && window.layoutApp.closeNavMenus());
        m || (a(".navItemSelectedServer, .dmNavItemSelected").removeClass("navItemSelectedServer dmNavItemSelected"),
            r.is(".dmNavWrapper *") && (r.closest("li").addClass("dmNavItemSelected"), r.addClass("currentPage")))
    };
    q.layoutAfterAjax = function(r) {
        a.layoutManager.markCurrentSelectedNavigation()
    };
    q.initNavigation = function() {
        var r = !1,
            m = null,
            k = null,
            n = a.DM.isTouchDevice && !a.DM.isIOS() ? "touchend.menu" : "click.menu";
        a("#slideDownNav a, #slideUpNav a").off("touchstart.menu").on("touchstart.menu", function(c) {
            r = !1;
            m = c.originalEvent.targetTouches[0].pageX;
            k = c.originalEvent.targetTouches[0].pageY
        }).off("touchmove.menu").on("touchmove.menu",
            function(c) {
                if (10 < Math.abs(c.originalEvent.targetTouches[0].pageY - k) || Math.abs(c.originalEvent.targetTouches[0].pageX - m)) r = !0
            }).filter(function() {
            return !B(a(this))
        }).off(n).on(n, function(c) {
            if (window.editorParent && window.editorParent.$ && window.editorParent.$.dmx && window.editorParent.$.dmx.isTouchDevice) return !1;
            var d = a(this),
                b = !1;
            d.attr("href");
            if (!r) return d.parent().hasClass("hasdmSub") ? d.attr("href") && "" != d.attr("href") && "#" != d.attr("href") ? B(d) || (a.layoutManager.isNee() && window.editorParent.$ &&
                window.editorParent.$.dmfw && window.editorParent.$.dmfw.previewNavigateTo({
                    url: d.attr("href"),
                    navigateWithAjax: !0,
                    el: d,
                    e: c
                }), b = !0) : (c.preventDefault(), "0" == d.parent().next(".dmSub").css("opacity") || "none" === d.parent().next(".dmSub").css("display") ? a.layoutManager.showSpecificSubs(d.parent()) : "1" == d.parent().next(".dmSub").css("opacity") && a.layoutManager.hideSpacificSubs(d.parent())) : (a.layoutManager.isNee() && (c.preventDefault(), window.editorParent.$ && window.editorParent.$.dmfw && (B(this) || window.editorParent.$.dmfw.previewNavigateTo({
                url: d.attr("href"),
                navigateWithAjax: !0,
                el: d,
                e: c
            }))), b = !0), b
        });
        a.layoutManager.handleEmptyNavigation()
    };
    q.handleEmptyNavigation = function() {
        var r = a(".dmNavWrapper").eq(0),
            m = a("div.dmNavTriggerButton");
        m = a().add(r).add(m);
        0 < r.length && (r = r.children().filter(function() {
                var k = a(this),
                    n = !k.is(".dmHideFromNav, .dmDisplay_None, .dmNavTriggerButton, .slideDownTrigger");
                n && a.layoutDevice && a.layoutDevice.type && (n = n && !k.is(".dmHideFromNav-" + a.layoutDevice.type));
                return n
            }), m.toggleClass("dmDisplay_None", 0 === r.length), r = 1 >= r.length,
            a("body").toggleClass("dm-single-page-nav", r), r || a(".dm-single-page-nav").removeClass("dm-single-page-nav"))
    };
    q.showSpecificSubs = function(r) {
        a.layoutManager.hideAllSubItems();
        r.find(".navItemArrowBg").addClass("pointDown");
        var m = 0,
            k = r,
            n = r.index();
        if (r.is(".dmSub")) {
            for (var c = r; c.is(".dmSub");) c = c.prev();
            n = c.index();
            k = c
        }
        a(".dmNavigation li:gt(" + Math.max(n - 1, 0) + ")").each(function() {
            a(this).is(k) || (0 == m && a(this).is(".dmSub") && !a(this).is(".dmSub2") ? (a(this).removeClass("dmDisplay_None").css({
                    opacity: "0"
                }),
                a(this).css({
                    transform: "translate3d(0px, 0px, 0px)",
                    opacity: "1"
                }), a(this).index() == r.index() && (m = 1)) : 1 == m && a(this).is(".dmSub") ? (a(this).removeClass("dmDisplay_None").css("opacity", "0"), a(this).css({
                transform: "translate3d(0px, 0px, 0px)",
                opacity: "1"
            }), a(this).is(".dmSub2") || (m = 0)) : a(this).is(".dmSub2") || (m = 2))
        });
        a.layoutDevice.components.slideDownNav ? (a.layoutDevice.components.slideDownNav.refresh(), a.layoutDevice.components.slideDownNav.element.find("li").eq(-1).addClass("liRemoveBorder")) : a.layoutDevice.components.slideUpNav ?
            a.layoutDevice.components.slideUpNav.refresh() : a.layoutDevice.components.slideRightNav && a.layoutDevice.components.slideRightNav.refresh()
    };
    q.hideSpacificSubs = function(r) {
        r.find(".navItemArrowBg").removeClass("pointDown");
        r.index();
        var m = r.is(".dmSub") ? "dmSub2" : "dmSub";
        r.nextUntil(":not(." + m + ")").each(function() {
            1 == a(this).css("opacity") && (a(this).css({
                transform: "translate3d(0px,0px, 0px)"
            }), a(this).css("opacity", "0"), a(this).addClass("dmDisplay_None"))
        });
        a.layoutDevice.components.slideDownNav ? (a.layoutDevice.components.slideDownNav.refresh(),
            a.layoutDevice.components.slideDownNav.element.find("li").filter(function() {
                return 1 == a(this).css("opacity")
            }).eq(-1).addClass("liRemoveBorder")) : a.layoutDevice.components.slideUpNav ? a.layoutDevice.components.slideUpNav.refresh() : a.layoutDevice.components.slideRightNav && a.layoutDevice.components.slideRightNav.refresh()
    };
    q.initHomeLinkAnchor = function() {
        a.layoutManager._is_touch_device ? a("#dm-logo-anchor").unbind("touchstart.t").bind("touchstart.t", function(r) {
                a.layoutManager.closeAllOpenedNavs()
            }) :
            a("#dm-logo-anchor").unbind("click.menu").bind("click.menu", function(r) {
                a.layoutManager.closeAllOpenedNavs()
            })
    };
    q.closeAllOpenedNavs = function(r, m) {
        function k() {
            a.layoutManager._closeAllOpenedNavs();
            r && r()
        }
        var n = a.layoutManager.isIOS() ? 300 : 0;
        m && 0 < n ? setTimeout(k, n) : k()
    };
    q._closeAllOpenedNavs = function() {
        window.editorParent && window.editorParent.$ && window.editorParent.$.dmx && window.editorParent.$.dmx.preventNavClose || (a.layoutDevice.components.slideDownNav && a.layoutDevice.components.slideDownNav.slideDownNavHandlerImpl(!1,
            !0), a.layoutDevice.components.slideUpNav && a.layoutDevice.components.slideUpNav.slideUpNavHandlerImpl(!1, !0), a.layoutDevice.components.slideRightNav && a.layoutDevice.components.slideRightNav.toggleMenu("close"), a.layoutDevice.components.upperFloatingNav && a.layoutDevice.components.upperFloatingNav.hideSubnav(), a.layoutDevice.components.popupNav && a.layoutDevice.components.popupNav.hidePopupNav())
    };
    q.initInnerPageTitle = function(r) {
        if (r && a.layoutDevice.components.innerBar) {
            var m = a.layoutDevice.components.innerBar.element.find(".innerPageTitle"),
                k = a.layoutDevice.components.innerBar.element.find("#dmBackBtn"),
                n = a.layoutDevice.components.innerBar.element.find("#pageTitleText");
            0 == m.length && (m = a("\x3cdiv\x3e\x3c/div\x3e"), 0 < n.length ? n.append(m) : 0 < k.length ? m.insertAfter(k) : a.layoutDevice.components.innerBar.element.append(m), m.addClass("innerPageTitle"));
            m.text(r.page_title)
        }
        a.layoutDevice.initInnerPageTitle && a.layoutDevice.initInnerPageTitle(r)
    };
    q.setSelected = function(r, m) {
        r.toggleClass("dmNavItemSelected", m);
        return r
    };
    q.isPortrait = function() {
        return window.innerHeight >
            window.innerWidth ? !0 : !1
    };
    q.updateContainerMinimumHeight = function() {
        var r = a(".dmRespRowsWrapper"),
            m = window.innerHeight;
        if (a.layoutManager._isEditorMode && a("body").hasClass("addCanvasBorder")) {
            var k = parseFloat(a("body").css("border-top-width"));
            k && (m -= k)
        }
        var n = a(".dmFooterContainer");
        0 < n.length && (m -= n.outerHeight());
        k = a("#mobileFooter");
        0 < k.length && (m -= k.outerHeight());
        k = a("#desktopHeaderBox");
        0 < k.length ? m -= k.outerHeight() : (k = a(".dmHeader"), 0 < k.length && (m -= k.outerHeight()));
        k = a("#popupNavHeaderBox");
        0 < k.length && (m -= k.outerHeight());
        0 < n.length && requestAnimationFrame(function() {
            "none" !== window.getComputedStyle(n[0]).display && (m += window.innerHeight - n[0].getBoundingClientRect().bottom);
            r.css("min-height", m + "px")
        });
        r.removeClass("dmRespRowsWrapperSize6", "dmRespRowsWrapperSize5", "dmRespRowsWrapperSize4", "dmRespRowsWrapperSize3", "dmRespRowsWrapperSize2", "dmRespRowsWrapperSize1");
        950 < m ? r.addClass("dmRespRowsWrapperSize6") : 890 < m ? r.addClass("dmRespRowsWrapperSize5") : 800 < m ? r.addClass("dmRespRowsWrapperSize4") :
            700 < m ? r.addClass("dmRespRowsWrapperSize3") : 620 < m ? r.addClass("dmRespRowsWrapperSize2") : r.addClass("dmRespRowsWrapperSize1")
    };
    q.isIOS = function() {
        return /(iPhone|iPad|iPod)/.test(navigator.userAgent)
    };
    q.isAndroidDefaultBrowser = function() {
        return -1 < navigator.userAgent.indexOf("Mozilla/5.0") && -1 < nua.indexOf("Android ") && -1 < nua.indexOf("AppleWebKit") && !(-1 < nua.indexOf("Chrome"))
    }
})(jQuery);
var layoutDeviceComponentInterface = {
    onReadyGlobal: function(a) {},
    onReadyEditorMode: function(a) {},
    onReadyPreviewMode: function(a) {},
    onLoadGlobal: function(a) {},
    onLoadEditorMode: function(a) {},
    onLoadPreviewMode: function(a) {},
    afterAjaxCommand: function(a) {},
    onAjaxLinkClick: function(a, B) {},
    onAjaxLinkBeforeClick: function(a, B) {
        return !0
    }
};
var layoutDeviceInterface = {
    type: "",
    components: {},
    onReady: function(a, B) {},
    onLoad: function(a, B) {},
    getTopFixedElementsOffset: function() {
        return 0
    },
    getBottomFixedElementsOffset: function() {
        return 0
    },
    initInnerBar: function() {},
    onAjaxLinkClick: function(a, B) {}
};
(function(a) {
    function B() {
        return a.layoutManager._isEditorMode && parent.window.$.dmfw
    }

    function z() {
        this.element = null
    }

    function t() {
        this.element = a("#upperFloatingNav")
    }

    function w() {
        this.element = a(".dmLinksMenu \x3e ul")
    }

    function q() {
        this.slideTrigger = this.iscrollObject = this.element = null;
        this.slideDownNavHandlerImpl = function(h, u, f) {
            function p() {
                e.hide();
                y.element.css("visibility", "visible");
                e.off("webkitTransitionEnd").off("transitionend").off("oTransitionEnd").off("msTransitionEnd")
            }
            var y = this;
            var e =
                a(document.getElementById("slideDownNav"));
            if ("undefined" == typeof h || null === h) h = !0;
            u || (u = !1);
            f || (f = !1);
            this.element.stop();
            this.element.unbind("webkitTransitionEnd").off("transitionend").off("oTransitionEnd").off("msTransitionEnd");
            this.element.css("display", "block");
            h ? a("#slideDownNav").css({
                "-webkit-transition-duration": ".5s",
                "-moz-transition-duration": ".5s",
                "-o-transition-duration": ".5s",
                "-ms-transition-duration": ".5s"
            }) : (a("#slideDownNav").css({
                "-webkit-transition-duration": "0s",
                "-moz-transition-duration": "0s",
                "-o-transition-duration": "0s",
                "-ms-transition-duration": "0s"
            }), y.element.css("visibility", "visible"));
            var g = a("#dmRoot");
            if (0 < e.length && e.hasClass("dmSlideNavClose") && !u || f) e.scrollTop(0), e.removeClass("dmSlideNavClose").removeClass("menuClosed"), e.addClass("dmSlideNavOpen"), a.layoutManager.isNee() && a(document.querySelectorAll(".inlineEditorNewSelectionBarsLocked, .inlineEditorNewSelectionBarsSelected, .inlineEditorNewContext")).addClass("inlineEditorBarsLowZindex"), e.show(), f = this.element.parent(),
                f.is(".fixedPart") && "fixed" === f.css("position") ? (this.element.css("overflow", "auto"), g.css("overflow", "hidden"), g.css("position", "fixed")) : this.element.css("overflow", "visible"), a.layoutManager.hideAllSubItems(), a.layoutManager.setSelected(a(".slideDownTrigger"), !0).siblings("li").removeClass("dmNavItemSelected"), a.layoutManager.openAppropriateSub(), a.layoutDevice.components.slideDownNav.element.find("li").filter(function() {
                    return 1 === a(this).css("opacity")
                }).eq(-1).addClass("liRemoveBorder"), e.css({
                    transform: "translate3d(0px, 0px, 0px)"
                }),
                a.DM.handleExpandingNav({
                    context: this,
                    isOpen: !0
                });
            else if (e.hasClass("dmSlideNavOpen") && !f || u) {
                e.addClass("dmSlideNavClose").addClass("menuClosed");
                e.removeClass("dmSlideNavOpen");
                a.layoutManager.isNee() && a(".inlineEditorNewSelectionBarsLocked, .inlineEditorNewSelectionBarsSelected, .inlineEditorNewContext").removeClass("inlineEditorBarsLowZindex");
                f = this.element.parent();
                f.is(".fixedPart") && "fixed" === f.css("position") && (g.css("overflow", "auto"), g.css("position", "static"));
                if (h) this.element.off("transitionend").on("transitionend",
                    p);
                a.layoutManager.setSelected(a(".slideDownTrigger"), !1);
                h ? (h = this.element.find("ul").outerHeight(!0), e.css({
                    transform: "translate3d(0px, " + -h + "px, 0px)"
                })) : e.hide();
                h = a("#iscrollBody");
                h.length && h.css("height", "auto");
                a.layoutManager.hideAllSubItems();
                this.slideTrigger && 0 < this.slideTrigger.find(".navItemArrowBg").length && (h = this.slideTrigger.find(".navItemArrowBg"), h.addClass("pointDown"));
                u ? a.layoutManager.markCurrentSelectedNavigation(!1) : a.layoutManager.markCurrentSelectedNavigation(!0);
                a.DM.handleExpandingNav({
                    context: this
                })
            }
        };
        this.initSlideDownTrigger = function() {
            var h = this;
            if (this.slideTrigger && 0 < this.slideTrigger.find(".navItemArrowBg").length) {
                var u = h.slideTrigger.find(".navItemArrowBg");
                u.addClass("pointDown")
            }
            a.layoutManager._is_touch_device && this.slideTrigger ? this.slideTrigger.unbind("touchstart.t").bind("touchstart.t", function(f) {
                h.slideDownNavHandlerImpl(null, null, null);
                f.preventDefault();
                f.stopPropagation()
            }) : this.slideTrigger && this.slideTrigger.unbind("click.c").bind("click.c", function(f) {
                h.slideDownNavHandlerImpl(null,
                    null, null);
                f.preventDefault();
                f.stopPropagation()
            })
        }
    }

    function r() {
        this.iscrollObject = this.element = null;
        this.isUseIscroll = !1;
        this.isBodyScrollable = !0;
        this.afterAjaxCommand = null
    }

    function m() {
        this.startY = this.slideNavigationObject = this.scrollObject = this.element = null;
        this.scrolled = !1
    }

    function k(h, u) {
        h = new Snap(h);
        u && c.call(this, u, h);
        return h
    }

    function n(h, u) {
        window.isMobileDevice && (h = new window.CustomEvent("old-drawer-toggled", {
            detail: {
                open: h
            },
            bubbles: !1,
            cancelable: !0
        }), u.get(0).dispatchEvent(h))
    }

    function c(h,
        u) {
        var f = this;
        a(h).off("click.nav-snap").on("click.nav-snap", function() {
            f.toggleMenu()
        })
    }

    function d() {}

    function b(h) {
        document.body.scrollTop = 0
    }
    z.prototype = jQuery.extend(!0, {}, layoutDeviceComponentInterface);
    z.prototype.onReadyPreviewMode = function() {
        this.element = a("#innerBar");
        a.layoutDevice.initInnerBar()
    };
    z.prototype.onReadyEditorMode = function() {
        this.onReadyPreviewMode()
    };
    z.prototype.onLoadPreviewMode = function() {};
    z.prototype.onLoadEditorMode = function() {};
    z.prototype.afterAjaxCommand = function(h) {
        a.layoutDevice.initInnerBar(h)
    };
    t.prototype = jQuery.extend(!0, {}, layoutDeviceComponentInterface);
    t.prototype.onReadyEditorMode = function() {
        this.onReadyGlobal()
    };
    t.prototype.onReadyPreviewMode = function() {
        this.onReadyGlobal()
    };
    t.prototype.onLoadEditorMode = function(h) {};
    t.prototype.onLoadPreviewMode = function(h) {};
    t.prototype.hideSubnav = function() {
        "tablet" === a.layoutDevice.type && a("ul#upperFloatingNavigation \x3e li \x3e ul").stop(!0).fadeOut()
    };
    t.prototype.onReadyGlobal = function() {
        a("#upperFloatingNavigation").find("a").off("click.menu").on("click.menu",
            function(u) {
                window.editorParent.$ && window.editorParent.$.dmfw && a.layoutManager.isNee() && !window.editorParent.$.dmpages.isExternalLink(a(this).attr("href")) && (u.stopPropagation(), u.preventDefault(), B() || window.editorParent.$.dmfw.previewNavigateTo({
                    url: a(this).attr("href"),
                    navigateWithAjax: !0,
                    el: a(this),
                    e: u
                }))
            });
        if ("tablet" === a.layoutDevice.type) {
            var h = a("ul#upperFloatingNavigation");
            a.commonComponents.upperFloatingNav.hideSubnav();
            h.off("touchend.subnav click.subnav", "\x3eli.hasdmSub:not(:has(\x3ea)), \x3eli.desktopTopNavMoreBtn").on("touchend.subnav click.subnav",
                "\x3eli.hasdmSub:not(:has(\x3ea)), \x3eli.desktopTopNavMoreBtn",
                function() {
                    var u = a(this).find("\x3eul");
                    u.is(":not(:visible)") && (a.commonComponents.upperFloatingNav.hideSubnav(), u.fadeIn().delay(1E4).fadeOut())
                }).off("mouseenter", "\x3eli.hasdmSub, \x3eli.desktopTopNavMoreBtn").on("mouseenter", "\x3eli.hasdmSub, \x3eli.desktopTopNavMoreBtn", function() {
                var u = a(this).find("\x3eul");
                u.is(":not(:visible)") && u.fadeIn()
            }).off("mouseleave", "\x3eli.hasdmSub, \x3eli.desktopTopNavMoreBtn").on("mouseleave", "\x3eli.hasdmSub, \x3eli.desktopTopNavMoreBtn",
                function() {
                    a.commonComponents.upperFloatingNav.hideSubnav()
                })
        }
    };
    t.prototype.onAjaxLinkBeforeClick = function(h) {
        if (h.is("#upperFloatingNavigation li *") && "tablet" === a.layoutDevice.type && h.parent().is(".desktopTopNav.hasdmSub"))
            if (h = h.parent().find("\x3eul"), h.is(":visible")) h.delay(1E3).fadeOut();
            else return this.hideSubnav(), h.fadeIn().delay(1E4).fadeOut(), !1;
        return !0
    };
    t.prototype.onAjaxLinkClick = function(h) {
        h.is("#upperFloatingNavigation li *") && (a("#upperFloatingNavigation").find(".navItemSelectedServer, .dmNavItemSelected").removeClass("navItemSelectedServer").removeClass("dmNavItemSelected"),
            h.closest("li").addClass("dmNavItemSelected"))
    };
    w.prototype = jQuery.extend(!0, {}, layoutDeviceComponentInterface);
    w.prototype.onReadyEditorMode = function() {
        this.onReadyGlobal()
    };
    w.prototype.onReadyPreviewMode = function() {
        this.onReadyGlobal()
    };
    w.prototype.onLoadEditorMode = function(h) {};
    w.prototype.onLoadPreviewMode = function(h) {};
    w.prototype.hideSubnav = function() {};
    w.prototype.onReadyGlobal = function() {
        "tablet" === a.layoutDevice.type && (a(".dmLinksMenu \x3e ul"), a.commonComponents.extensionMenuNav.hideSubnav(),
            a("#site_content").off("touchend.subnav click.subnav", ".dmLinksMenu \x3e ul \x3eli.hasdmSub:not(:has(\x3ea)), .dmLinksMenu \x3e ul \x3eli.desktopTopNavMoreBtn").on("touchend.subnav click.subnav", ".dmLinksMenu \x3e ul \x3eli.hasdmSub:not(:has(\x3ea)), .dmLinksMenu \x3e ul \x3eli.desktopTopNavMoreBtn", function() {
                var g = a(this).find("\x3eul");
                g.is(":not(:visible)") && (a.commonComponents.extensionMenuNav.hideSubnav(), g.fadeIn().delay(1E4).fadeOut())
            }).off("mouseenter", "\x3eli.hasdmSub, \x3eli.desktopTopNavMoreBtn").on("mouseenter",
                "\x3eli.hasdmSub, \x3eli.desktopTopNavMoreBtn",
                function() {
                    var g = a(this).find("\x3eul");
                    g.is(":not(:visible)") && g.fadeIn()
                }).off("mouseleave", "\x3eli.hasdmSub, \x3eli.desktopTopNavMoreBtn").on("mouseleave", "\x3eli.hasdmSub, \x3eli.desktopTopNavMoreBtn", function() {
                a.commonComponents.extensionMenuNav.hideSubnav()
            }));
        var h = a(".dmLinksMenu .innerUl");
        if (h.length)
            for (var u = 0; u < h.length; u++) {
                var f = h.eq(u),
                    p = f.outerHeight(),
                    y = f.parents("ul").offset().top + f.parents("ul").outerHeight() + 10,
                    e = a("#dm").height();
                p + y > e && (p = f.parent().offset().top, p > e - p ? f.addClass("openAbove") : f.height(e - p).css("overflowY", "scroll"))
            }
    };
    w.prototype.onAjaxLinkBeforeClick = function(h) {
        if (h.is(".dmLinksMenu \x3e ul li *") && "tablet" === a.layoutDevice.type && h.parent().is(".desktopTopNav.hasdmSub"))
            if (h = h.parent().find("\x3eul"), h.is(":visible")) h.delay(1E3).fadeOut();
            else return this.hideSubnav(), h.fadeIn().delay(1E4).fadeOut(), !1;
        return !0
    };
    w.prototype.onAjaxLinkClick = function(h) {
        if (h.is(".dmLinksMenu \x3e ul li *") || h.is(".middleLogoLink")) a(".dmLinksMenu \x3e ul").find(".navItemSelectedServer, .dmNavItemSelected").removeClass("navItemSelectedServer").removeClass("dmNavItemSelected"),
            h.closest(".unifiednav").length ? h.addClass("dmNavItemSelected") : h.closest("li").addClass("dmNavItemSelected")
    };
    w.prototype.selector = ".dmLinksMenu \x3e ul";
    q.prototype = jQuery.extend(!0, {}, layoutDeviceComponentInterface);
    q.prototype.initIscroll = function() {
        var h = a(document.getElementById("slideDownNav"));
        var u = a("#iscrollBody");
        null !== this.iscrollObject && (this.iscrollObject.destroy(), this.iscrollObject = null);
        var f = a.layoutDevice.getTopFixedElementsOffset();
        if (0 < f) {
            let p;
            p = void 0 !== window.innerHeight ?
                window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : void 0 !== document.body.clientHeight ? document.body.clientHeight : a("body").css("height").slice(0, -2);
            h.height(p - f - 10);
            h = window.innerHeight - f;
            window.innerHeight < a(window).height() && (h = a(window).height() - f);
            a("#iscrollBody").css({
                height: h,
                overflowY: "auto"
            });
            this.iscrollObject = new iScroll("slideDownNav", {
                onScrollStart: function() {
                    u = a("#iscrollBody");
                    var y = a(window).height() - u.offset().top;
                    var e = a("body").scrollTop();
                    u.attr("data-top", e).addClass("noScroll").css({
                        height: y,
                        transform: "translate(0, -" + e + "px)"
                    })
                },
                onScrollEnd: function() {
                    var y = a("#iscrollBody");
                    var e = y.attr("data-top");
                    y.removeClass("noScroll").css({
                        height: "auto",
                        transform: "translate(0, 0)"
                    });
                    a("body").scrollTop(e)
                },
                bounce: !1
            })
        } else h.hasClass("dmSlideNavOpen") && h.offset().top + h.find("ul").height() > u.height() && (f = h.offset().top + h.find("ul").height(), u.height(f))
    };
    q.prototype.initLoadGlobal = function() {
        this.initSlideDownTrigger()
    };
    q.prototype.onLoadEditorMode = function() {
        this.initIscroll();
        this.initLoadGlobal()
    };
    q.prototype.onLoadPreviewMode = function() {
        this.initIscroll();
        this.initLoadGlobal()
    };
    q.prototype.onReadyPreviewMode = function() {
        this.element = a("#slideDownNav").addClass("dmNavTriggerButton");
        this.slideTrigger = a(".slideDownTrigger");
        var h = 0;
        this.element.addClass("dmSlideNavClose").addClass("menuClosed");
        a.DM.isBodyScrollable() && (a.layoutManager._is_touch_device && this.element.find(".dmNavigation").unbind("touchstart").bind("touchstart",
            function() {
                h = event.touches[0].pageY;
                document.getElementById("slideDownNav")
            }), this.element.find(".dmNavigation").unbind("mousewheel DOMMouseScroll touchmove").bind("mousewheel DOMMouseScroll touchmove", function(u) {
            if (!(0 < a(this).parents(".fixedPart").length && "fixed" === a(this).parents(".fixedPart").css("position")))
                if (u.preventDefault(), a.layoutManager._is_touch_device) u = h - event.touches[0].pageY, a("html, body").scrollTop(document.body.scrollTop + u);
                else {
                    var f = document.body.scrollTop;
                    u = event.wheelDelta ||
                        -event.detail;
                    f = 0 < u ? f - 40 : f + 40;
                    a("html, body").scrollTop(f)
                }
        }));
        0 === a("#innerBar:visible").length && 10 !== a.layoutManager.getCurrentLayout() && 1 !== a.layoutManager.getCurrentLayout() && this.element.find(".dmNavWrapper").removeClass("dmNavWrapper");
        this.initSlideDownTrigger()
    };
    q.prototype.onReadyEditorMode = function() {
        this.onReadyPreviewMode()
    };
    q.prototype.refresh = function() {
        this.initIscroll()
    };
    r.prototype = jQuery.extend(!0, {}, layoutDeviceComponentInterface);
    m.prototype = jQuery.extend(!0, {}, layoutDeviceComponentInterface);
    m.prototype.onReadyEditorMode = function() {
        this.onReadyGlobal()
    };
    m.prototype.onReadyPreviewMode = function() {
        this.onReadyGlobal()
    };
    m.prototype.onLoadEditorMode = function(h) {
        this.onLoadGlobal(h);
        this.initIscroll()
    };
    m.prototype.onLoadPreviewMode = function(h) {
        this.onLoadGlobal(h);
        this.initIscroll()
    };
    m.prototype.onReadyGlobal = function() {
        var h = this;
        a("#leftSidebar").find("a").off("click.menu").on("click.menu", function(u) {
            var f = a(document.getElementById("leftSidebar")),
                p = a(this).attr("href");
            p && 0 === p.indexOf("http://") ||
                (B() || h.slideNavigationObject.close(), f.find(".navItemSelectedServer").removeClass("navItemSelectedServer"), f.find(".dmNavItemSelected").removeClass("dmNavItemSelected"), a(this).closest("li").addClass("dmNavItemSelected"), a(this).addClass("currentPage"), B() || a.layoutManager.isNee() && window.editorParent.$ && window.editorParent.$.dmfw && window.editorParent.$.dmfw.previewNavigateTo({
                    url: a(this).attr("href"),
                    navigateWithAjax: !0,
                    el: a(this),
                    e: u
                }))
        })
    };
    m.prototype.initIscroll = function() {
        var h = this;
        a("body").css({
            transform: "all .3 ease",
            "-webkit-transform": "all .3 ease"
        });
        a.DM.loadExternalScriptAsync(window.rtCommonProps["common.resources.cdn.host"] + "/_dm/s/rt/scripts/vendor/snap/snap.min.js", function() {
            window.addEventListener("hashchange", b);
            a.layoutManager.getLayoutElement().iscrollBody.element = a("#iscrollBody");
            a.layoutManager.getLayoutElement().iscrollBody.isBodyScrollable = !1;
            var u = function(y) {
                    var e = a("body").scrollTop(),
                        g = a.layoutDevice.getTopFixedElementsOffset();
                    a("body").css({
                        width: "100%",
                        height: "100%"
                    });
                    var v = window.innerHeight -
                        g;
                    window.innerHeight < a(window).height() && (v = a(window).height() - g);
                    a("#iscrollBody").css({
                        "-webkit-overflow-scrolling": "touch",
                        height: v
                    });
                    e && y && a("#iscrollBody").scrollTop(e - g);
                    a.DM.events.trigger("iscrollBodyResized")
                },
                f = "tablet" === a.layoutDevice.type ? 240 : 190,
                p = {
                    element: document.getElementById("dmSlideRightNavRight"),
                    disable: "right",
                    maxPosition: f,
                    minPosition: -1 * f
                };
            B() && (a("#site_content").attr("data-snap-ignore", "true"), a("#dmSlideRightNavRight").attr("data-snap-ignore", "true"));
            f = a("#toggleMenuTrigger");
            h.slideNavigationObject ? p.element.addEventListener("transitionend", function() {
                h.slideNavigationObject = k.call(h, p)
            }) : h.slideNavigationObject = k.call(h, p, f);
            u(!0);
            a(window).resize(u)
        })
    };
    m.prototype.onLoadGlobal = function(h) {};
    m.prototype.onAjaxLinkClick = function(h) {
        h.is("#leftSidebar li *") && (a("#leftSidebar").find(".navItemSelectedServer, .dmNavItemSelected").removeClass("navItemSelectedServer").removeClass("dmNavItemSelected"), h.closest("li").addClass("dmNavItemSelected"));
        this.toggleMenu("close");
        a("#dmSlideRightNavRight").animate({
            scrollTop: 0
        }, "fast")
    };
    m.prototype.afterAjaxCommand = function(h) {};
    m.prototype.onAjaxLinkBeforeClick = function() {
        return !this.scrolled
    };
    m.prototype.onAjaxLinkTouchStart = function(h, u) {
        this.startY = u.pageY;
        this.scrolled = !1
    };
    m.prototype.onAjaxLinkTouchMove = function(h, u) {
        20 < Math.abs(u.pageY - this.startY) && (this.scrolled = !0)
    };
    m.prototype.toggleMenu = function(h) {
        this.slideNavigationObject && (h && "close" == h ? this.closeMenu() : h && "open" == h ? this.openMenu() : "closed" === this.slideNavigationObject.state().state ?
            this.openMenu() : this.closeMenu())
    };
    m.prototype.closeMenu = function() {
        this.slideNavigationObject.close();
        requestAnimationFrame(function() {
            requestAnimationFrame(function() {
                n(!1, a("#toggleMenuTrigger"))
            })
        })
    };
    m.prototype.openMenu = function() {
        this.slideNavigationObject.open("left");
        requestAnimationFrame(function() {
            requestAnimationFrame(function() {
                n(!0, a("#toggleMenuTrigger"))
            })
        })
    };
    m.prototype.refresh = function() {
        this.initIscroll()
    };
    d.prototype.onReadyEditorMode = function() {
        this.onReadyPreviewMode()
    };
    d.prototype.onReadyPreviewMode =
        function() {
            var h;
            a(document.getElementById("slideDownTrigger")).off("click.openPopupNav").on("click.openPopupNav", d.prototype.openPopupNav);
            (h = document.body) && a(h).toggleClass("menuClosed")
        };
    d.prototype.onLoadEditorMode = function() {};
    d.prototype.hidePopupNav = function() {
        setTimeout(function() {
            var h;
            if (h = document.body) a(h).removeClass("popupNavActive"), a(h).removeClass("menuClosed")
        }, 0)
    };
    d.prototype.onLoadPreviewMode = function() {};
    d.prototype.openPopupNav = function() {
        var h;
        if (h = document.body) a(h).toggleClass("popupNavActive"),
            a(h).toggleClass("menuClosed")
    };
    var l = {
        iscrollBody: new r,
        innerBar: new z,
        slideDownNav: new q,
        slideRightNav: new m,
        upperFloatingNav: new t,
        extensionMenuNav: new w,
        popupNav: new d
    };
    a.extend({
        commonComponents: l
    })
})(jQuery);
(function(a) {
    function B() {
        Parameters.AfterAjaxCommand = function(z) {
            for (var t in a.layoutDevice.components) a.layoutDevice.components[t] && a.layoutDevice.components[t].afterAjaxCommand && a.layoutDevice.components[t].afterAjaxCommand(z);
            a.layoutManager.updateContainerMinimumHeight();
            a.layoutDevice.addParallaxBehavior()
        }
    }
    a.extend({
        layoutDevice: a.extend(!0, {}, layoutDeviceInterface)
    });
    a.extend(a.layoutDevice, {
        type: "desktop",
        components: {},
        onReady: function(z, t) {
            a("body").addClass("dmDesktopBody").addClass("dmLargeBody");
            if (z) {
                B();
                for (var w in a.layoutDevice.components)
                    if (a.layoutDevice.components[w]) a.layoutDevice.components[w].onReadyEditorMode();
                a.layoutManager.markCurrentSelectedNavigation()
            } else {
                B();
                for (var q in a.layoutDevice.components)
                    if (a.layoutDevice.components[q]) a.layoutDevice.components[q].onReadyPreviewMode();
                a.layoutManager.markCurrentSelectedNavigation();
                a.layoutDevice.addParallaxBehavior()
            }
        },
        onLoad: function(z, t) {
            if (z)
                for (var w in a.layoutDevice.components) {
                    if (a.layoutDevice.components[w]) a.layoutDevice.components[w].onLoadEditorMode()
                } else
                    for (var q in a.layoutDevice.components)
                        if (a.layoutDevice.components[q]) a.layoutDevice.components[q].onLoadPreviewMode();
            a.layoutManager.updateContainerMinimumHeight()
        },
        getTopFixedElementsOffset: function() {
            return 0
        },
        getBottomFixedElementsOffset: function() {
            return 0
        },
        initInnerBar: function(z) {
            a.DM.isCurrentHomePage() ? a("#innerBar").addClass("dmDisplay_None") : a("#innerBar").removeClass("dmDisplay_None");
            a.layoutManager.initInnerPageTitle(z)
        },
        onAjaxLinkClick: function(z, t) {
            for (var w in a.layoutDevice.components)
                if (a.layoutDevice.components[w] && a.layoutDevice.components[w].onAjaxLinkClick) a.layoutDevice.components[w].onAjaxLinkClick(z,
                    t)
        },
        addParallaxBehavior: function() {
            if (!a.layoutManager._is_touch_device && !a("body").hasClass("touchDevice")) {
                var z = a("#dm").find("[data-background-parallax-selector],.dmSectionParallaxNew");
                0 < z.length && (z = z.data(), z = z.backgroundParallaxSelector + ",.dmSectionParallaxNew", a(z).filter(":not(.dmSectionNoParallax)").makeParallax(.1))
            }
        },
        setParallax: function(z, t) {
            t ? z.makeParallax(.1) : z.makeNoParallax(.1)
        }
    })
})(jQuery);
window.rtFlags["editor.classicHybrid.photogallery.fix"] && ($.layoutDevice = {
    ...$.layoutDevice,
    get type() {
        return window.matchMedia("(max-width: 767px)").matches ? "mobile" : window.matchMedia("(max-width: 1025px)").matches ? "tablet" : "desktop"
    }
});