(self.webpackChunktradingview = self.webpackChunktradingview || []).push([
    [10637, 10887], {
        117192: t => {
            t.exports = {}
        },
        676636: t => {
            t.exports = {}
        },
        456057: t => {
            t.exports = {
                "tv-circle-logo": "tv-circle-logo-PsAlMQQF",
                "tv-circle-logo--xxxsmall": "tv-circle-logo--xxxsmall-PsAlMQQF",
                "tv-circle-logo--xxsmall": "tv-circle-logo--xxsmall-PsAlMQQF",
                "tv-circle-logo--xsmall": "tv-circle-logo--xsmall-PsAlMQQF",
                "tv-circle-logo--small": "tv-circle-logo--small-PsAlMQQF",
                "tv-circle-logo--medium": "tv-circle-logo--medium-PsAlMQQF",
                "tv-circle-logo--large": "tv-circle-logo--large-PsAlMQQF",
                "tv-circle-logo--xlarge": "tv-circle-logo--xlarge-PsAlMQQF",
                "tv-circle-logo--xxlarge": "tv-circle-logo--xxlarge-PsAlMQQF",
                "tv-circle-logo--xxxlarge": "tv-circle-logo--xxxlarge-PsAlMQQF",
                "tv-circle-logo--visually-hidden": "tv-circle-logo--visually-hidden-PsAlMQQF"
            }
        },
        504665: t => {
            t.exports = {
                loader: "loader-UL6iwcBa",
                static: "static-UL6iwcBa",
                item: "item-UL6iwcBa",
                "tv-button-loader": "tv-button-loader-UL6iwcBa",
                medium: "medium-UL6iwcBa",
                small: "small-UL6iwcBa",
                black: "black-UL6iwcBa",
                white: "white-UL6iwcBa",
                gray: "gray-UL6iwcBa",
                primary: "primary-UL6iwcBa"
            }
        },
        491751: t => {
            t.exports = {
                "common-tooltip": "common-tooltip-EJBD96zX",
                "common-tooltip--hidden": "common-tooltip--hidden-EJBD96zX",
                "common-tooltip--horizontal": "common-tooltip--horizontal-EJBD96zX",
                "common-tooltip--farther": "common-tooltip--farther-EJBD96zX",
                "common-tooltip--vertical": "common-tooltip--vertical-EJBD96zX",
                "common-tooltip-farther": "common-tooltip-farther-EJBD96zX",
                "common-tooltip--direction_normal": "common-tooltip--direction_normal-EJBD96zX",
                "common-tooltip__body": "common-tooltip__body-EJBD96zX",
                "common-tooltip__button-container": "common-tooltip__button-container-EJBD96zX",
                "common-tooltip__body--no-buttons": "common-tooltip__body--no-buttons-EJBD96zX",
                "common-tooltip__button": "common-tooltip__button-EJBD96zX",
                "common-tooltip--direction_reversed": "common-tooltip--direction_reversed-EJBD96zX",
                "common-tooltip__ear-holder": "common-tooltip__ear-holder-EJBD96zX",
                "common-tooltip__ear-holder--below": "common-tooltip__ear-holder--below-EJBD96zX",
                "common-tooltip__ear-holder--above": "common-tooltip__ear-holder--above-EJBD96zX",
                "common-tooltip__ear-holder--before": "common-tooltip__ear-holder--before-EJBD96zX",
                "common-tooltip__ear-holder--after": "common-tooltip__ear-holder--after-EJBD96zX",
                "common-tooltip__body--with-hotkey": "common-tooltip__body--with-hotkey-EJBD96zX",
                "common-tooltip__body--width_wide": "common-tooltip__body--width_wide-EJBD96zX",
                "common-tooltip__body--width_narrow": "common-tooltip__body--width_narrow-EJBD96zX",
                "common-tooltip__body--no-padding": "common-tooltip__body--no-padding-EJBD96zX",
                "common-tooltip__hotkey-block": "common-tooltip__hotkey-block-EJBD96zX",
                "common-tooltip__hotkey-block--divider": "common-tooltip__hotkey-block--divider-EJBD96zX",
                "common-tooltip__hotkey-text": "common-tooltip__hotkey-text-EJBD96zX",
                "common-tooltip__hotkey-button": "common-tooltip__hotkey-button-EJBD96zX",
                "common-tooltip__plus-sign": "common-tooltip__plus-sign-EJBD96zX"
            }
        },
        764250: (t, e, o) => {
            "use strict";
            o.d(e, {
                ActionGroup: () => s
            });
            class n {
                constructor(t, e) {
                    this._group = t;
                    const {
                        hotkey: o,
                        handler: n,
                        desc: s,
                        isDisabled: i,
                        element: r = null,
                        isRepeatAccepted: a = !1
                    } = e;
                    this.hotkey = o, this.handler = n, this.desc = s, this.element = r, this.isRepeatAccepted = a, this.isDisabled = i ? "function" == typeof i ? i : () => !0 : () => !1
                }
                destroy() {
                    this._group && (this._group.remove(this), this._group = null)
                }
            }
            class s {
                constructor(t, e) {
                    this._actions = new Map, this._manager = t, this.modal = !(!e || !e.modal), e && (this.desc = e.desc), e && e.isDisabled ? "function" == typeof e.isDisabled ? this.isDisabled = e.isDisabled : this.isDisabled = () => !0 : this.isDisabled = () => !1, this._manager.registerGroup(this)
                }
                add(t) {
                    let e = this._actions.get(t.hotkey);
                    e || (e = [], this._actions.set(t.hotkey, e));
                    const o = new n(this, t);
                    return e.push(o), o
                }
                remove(t) {
                    const e = this._actions.get(t.hotkey);
                    if (!e) return;
                    const o = e.findIndex((e => e === t));
                    o >= 0 && (1 === e.length ? this._actions.delete(t.hotkey) : e.splice(o, 1))
                }
                handleHotkey(t, e) {
                    const o = this._actions.get(t);
                    if (!o) return !1;
                    for (const n of o)
                        if ((!n.element || e.target && n.element.contains(e.target)) && !n.isDisabled(e)) return e.repeat && !n.isRepeatAccepted || (n.handler(e), this._callMatchedHotkeyHandler(t)), e.preventDefault(), !0;
                    return !1
                }
                promote() {
                    this._manager.promoteGroup(this)
                }
                destroy() {
                    for (const [, t] of this._actions)
                        for (const e of t) e.destroy();
                    this._actions.clear(), this._manager.unregisterGroup(this)
                }
                static setMatchedHotkeyHandler(t) {
                    s._matchedHotkeyHandler = t
                }
                _callMatchedHotkeyHandler(t) {
                    s._matchedHotkeyHandler && s._matchedHotkeyHandler(t)
                }
            }
        },
        163586: (t, e, o) => {
            "use strict";
            o.d(e, {
                ActionManager: () => l
            });
            var n = o(91679),
                s = o(591800),
                i = o(607423);
            class r {
                constructor(t, e) {
                    this.modifiers = t, this.code = e
                }
                altOrOptionCode() {
                    return "AltLeft" === this.code || "AltRight" === this.code
                }
                controlOrMetaCode() {
                    return s.isMacKeyboard ? "MetaLeft" === this.code || "MetaRight" === this.code || "OSLeft" === this.code || "OSRight" === this.code : "ControlLeft" === this.code || "ControlRight" === this.code
                }
            }
            class a extends n.WatchedValue {
                setValue(t, e) {
                    const o = this.value();
                    (e || void 0 === o || o.code !== t.code || o.modifiers !== t.modifiers) && super.setValue(t)
                }
            }
            class l {
                constructor() {
                    this._groups = [], this._pressedKeys = new n.WatchedValue(0), this._keyboardPressedKeysState = new a(new r(0)), this._keyDownListener = t => {
                        if (t.defaultPrevented) return;
                        const e = (0, s.hashFromEvent)(t);
                        if (this._pressedKeys.setValue(e), this._keyboardPressedKeysState.setValue(new r((0, s.modifiersFromEvent)(t), t.code)), !(0, i.isNativeUIInteraction)(e, t.target))
                            for (let o = this._groups.length; o-- > 0;) {
                                const n = this._groups[o];
                                if (!n.isDisabled()) {
                                    if (n.handleHotkey(e, t)) return;
                                    if (n.modal) return
                                }
                            }
                    }, this._keyUpListener = t => {
                        const e = (0, s.hashFromEvent)(t);
                        this._pressedKeys.setValue(e), this._keyboardPressedKeysState.setValue(new r((0, s.modifiersFromEvent)(t), ""))
                    }, this._blurEvent = () => {
                        this._pressedKeys.setValue(0), this._keyboardPressedKeysState.setValue(new r(0, ""))
                    }, this._mouseEvent = t => {
                        var e;
                        const o = (0, s.modifiersFromEvent)(t),
                            n = 255 & (null !== (e = this._pressedKeys.value()) && void 0 !== e ? e : 0);
                        this._pressedKeys.setValue(o | n)
                    }
                }
                listen(t) {
                    t.addEventListener("keydown", this._keyDownListener), t.addEventListener("keyup", this._keyUpListener),
                        t.addEventListener("blur", this._blurEvent), t.addEventListener("mousemove", this._mouseEvent)
                }
                unlisten(t) {
                    t.removeEventListener("keydown", this._keyDownListener), t.removeEventListener("keyup", this._keyUpListener), t.removeEventListener("blur", this._blurEvent), t.removeEventListener("mousemove", this._mouseEvent)
                }
                registerGroup(t) {
                    this._groups.push(t)
                }
                unregisterGroup(t) {
                    for (let e = this._groups.length; e--;) this._groups[e] === t && this._groups.splice(e, 1)
                }
                promoteGroup(t) {
                    let e = this._groups.length - 1;
                    for (let o = this._groups.length; o--;) {
                        if (this._groups[o] === t) return void(o !== e && (this._groups.splice(o, 1), this._groups.splice(e, 0, t)));
                        this._groups[o].modal && (e = o - 1)
                    }
                }
                pressedKeys() {
                    return this._pressedKeys.readonly()
                }
                keyboardPressedKeysState() {
                    return this._keyboardPressedKeysState.readonly()
                }
            }
        },
        842060: (t, e, o) => {
            "use strict";
            o.d(e, {
                getStyleClasses: () => r,
                isCircleLogoWithUrlProps: () => a
            });
            var n = o(497754),
                s = o(456057),
                i = o.n(s);

            function r(t, e) {
                return n(i()["tv-circle-logo"], i()[`tv-circle-logo--${t}`], e)
            }

            function a(t) {
                return "logoUrl" in t && null !== t.logoUrl && void 0 !== t.logoUrl && 0 !== t.logoUrl.length
            }
        },
        465201: (t, e, o) => {
            "use strict";
            o.d(e, {
                CustomBehaviourContext: () => n
            });
            const n = (0, o(50959).createContext)({
                enableActiveStateStyles: !0
            });
            n.displayName = "CustomBehaviourContext"
        },
        169986: (t, e, o) => {
            "use strict";
            o.d(e, {
                CustomBehaviourContext: () => n.CustomBehaviourContext,
                presetDefault: () => s.presetDefault,
                presetPlatform: () => s.presetPlatform
            });
            var n = o(465201),
                s = o(741083)
        },
        267521: (t, e, o) => {
            "use strict";
            o.d(e, {
                useFunctionalRefObject: () => i
            });
            var n = o(50959),
                s = o(774218);

            function i(t) {
                const e = (0, n.useMemo)((() => function(t) {
                        const e = o => {
                            t(o), e.current = o
                        };
                        return e.current = null, e
                    }((t => {
                        a.current(t)
                    }))), []),
                    o = (0, n.useRef)(null),
                    i = e => {
                        if (null === e) return r(o.current, e), void(o.current = null);
                        o.current !== t && (o.current = t, r(o.current, e))
                    },
                    a = (0, n.useRef)(i);
                return a.current = i, (0, s.useIsomorphicLayoutEffect)((() => {
                    if (null !== e.current) return a.current(e.current), () => a.current(null)
                }), [t]), e
            }

            function r(t, e) {
                null !== t && ("function" == typeof t ? t(e) : t.current = e)
            }
        },
        774218: (t, e, o) => {
            "use strict";
            o.d(e, {
                useIsomorphicLayoutEffect: () => s
            });
            var n = o(50959);

            function s(t, e) {
                ("undefined" == typeof window ? n.useEffect : n.useLayoutEffect)(t, e)
            }
        },
        940194: (t, e, o) => {
            "use strict";

            function n(t, e, o, n, s) {
                function i(s) {
                    if (t > s.timeStamp) return;
                    const i = s.target;
                    void 0 !== o && null !== e && null !== i && i.ownerDocument === n && (e.contains(i) || o(s))
                }
                return s.click && n.addEventListener("click", i, !1), s.mouseDown && n.addEventListener("mousedown", i, !1), s.touchEnd && n.addEventListener("touchend", i, !1), s.touchStart && n.addEventListener("touchstart", i, !1), () => {
                    n.removeEventListener("click", i, !1), n.removeEventListener("mousedown", i, !1), n.removeEventListener("touchend", i, !1), n.removeEventListener("touchstart", i, !1)
                }
            }
            o.d(e, {
                addOutsideEventListener: () => n
            })
        },
        31241: (t, e, o) => {
            "use strict";
            o.d(e, {
                useOutsideEvent: () => r
            });
            var n = o(50959),
                s = o(774218),
                i = o(940194);

            function r(t) {
                const {
                    click: e,
                    mouseDown: o,
                    touchEnd: r,
                    touchStart: a,
                    handler: l,
                    reference: c
                } = t, d = (0, n.useRef)(null), h = (0,
                    n.useRef)("undefined" == typeof window ? 0 : new window.CustomEvent("timestamp").timeStamp);
                return (0, s.useIsomorphicLayoutEffect)((() => {
                    const t = {
                            click: e,
                            mouseDown: o,
                            touchEnd: r,
                            touchStart: a
                        },
                        n = c ? c.current : d.current;
                    return (0, i.addOutsideEventListener)(h.current, n, l, document, t)
                }), [e, o, r, a, l]), c || d
            }
        },
        444530: (t, e, o) => {
            "use strict";
            o.d(e, {
                useResizeObserver: () => r
            });
            var n = o(50959),
                s = o(774218),
                i = o(267521);

            function r(t, e = []) {
                const {
                    callback: o,
                    ref: r = null
                } = function(t) {
                    return "function" == typeof t ? {
                        callback: t
                    } : t
                }(t), a = (0, n.useRef)(null), l = (0, n.useRef)(o);
                l.current = o;
                const c = (0, i.useFunctionalRefObject)(r),
                    d = (0, n.useCallback)((t => {
                        c(t), null !== a.current && (a.current.disconnect(), null !== t && a.current.observe(t))
                    }), [c, a]);
                return (0, s.useIsomorphicLayoutEffect)((() => (a.current = new ResizeObserver(((t, e) => {
                    l.current(t, e)
                })), c.current && d(c.current), () => {
                    var t;
                    null === (t = a.current) || void 0 === t || t.disconnect()
                })), [c, ...e]), d
            }
        },
        132734: (t, e, o) => {
            "use strict";
            o.d(e, {
                Icon: () => s
            });
            var n = o(50959);
            const s = n.forwardRef(((t, e) => {
                const {
                    icon: o = "",
                    title: s,
                    ariaLabel: i,
                    ariaLabelledby: r,
                    ariaHidden: a,
                    ...l
                } = t, c = !!(s || i || r);
                return n.createElement("span", {
                    role: "img",
                    ...l,
                    ref: e,
                    "aria-label": i,
                    "aria-labelledby": r,
                    "aria-hidden": a || !c,
                    title: s,
                    dangerouslySetInnerHTML: {
                        __html: o
                    }
                })
            }))
        },
        79205: (t, e, o) => {
            "use strict";
            o.d(e, {
                Icon: () => n.Icon
            });
            var n = o(132734)
        },
        265005: (t, e, o) => {
            "use strict";
            o.d(e, {
                Loader: () => n.Loader
            });
            var n = o(386290)
        },
        386290: (t, e, o) => {
            "use strict";
            o.d(e, {
                Loader: () => a
            });
            var n = o(50959),
                s = o(497754),
                i = o(504665),
                r = o.n(i);

            function a(t) {
                const {
                    className: e,
                    size: o = "medium",
                    staticPosition: i,
                    color: a = "black"
                } = t, l = s(r().item, r()[a], r()[o]);
                return n.createElement("span", {
                    className: s(r().loader, i && r().static, e)
                }, n.createElement("span", {
                    className: l
                }), n.createElement("span", {
                    className: l
                }), n.createElement("span", {
                    className: l
                }))
            }
        },
        910958: (t, e, o) => {
            "use strict";
            o.d(e, {
                Portal: () => n.Portal,
                PortalContext: () => n.PortalContext
            });
            var n = o(74446)
        },
        74446: (t, e, o) => {
            "use strict";
            o.d(e, {
                Portal: () => c,
                PortalContext: () => d
            });
            var n = o(50959),
                s = o(632227),
                i = o(925931),
                r = o(351290),
                a = o(593110),
                l = o(474647);
            class c extends n.PureComponent {
                constructor() {
                    super(...arguments), this._uuid = (0, i.nanoid)()
                }
                componentWillUnmount() {
                    this._manager().removeWindow(this._uuid)
                }
                render() {
                    const t = this._manager().ensureWindow(this._uuid, this.props.layerOptions);
                    t.style.top = this.props.top || "", t.style.bottom = this.props.bottom || "", t.style.left = this.props.left || "", t.style.right = this.props.right || "", t.style.pointerEvents = this.props.pointerEvents || "";
                    const e = this.props.className;
                    return e && ("string" == typeof e ? t.classList.add(e) : t.classList.add(...e)), this.props.shouldTrapFocus && !t.hasAttribute(a.FOCUS_TRAP_DATA_ATTRIBUTE) && t.setAttribute(a.FOCUS_TRAP_DATA_ATTRIBUTE, "true"), this.props["aria-hidden"] && t.setAttribute("aria-hidden", "true"), s.createPortal(n.createElement(d.Provider, {
                        value: this
                    }, this.props.children), t)
                }
                moveToTop() {
                    this._manager().moveToTop(this._uuid)
                }
                _manager() {
                    return null === this.context ? (0, r.getRootOverlapManager)() : this.context
                }
            }
            c.contextType = l.SlotContext;
            const d = n.createContext(null)
        },
        474647: (t, e, o) => {
            "use strict";
            o.d(e, {
                Slot: () => n.Slot,
                SlotContext: () => n.SlotContext
            });
            var n = o(581585)
        },
        581585: (t, e, o) => {
            "use strict";
            o.d(e, {
                Slot: () => s,
                SlotContext: () => i
            });
            var n = o(50959);
            class s extends n.Component {
                shouldComponentUpdate() {
                    return !1
                }
                render() {
                    return n.createElement("div", {
                        style: {
                            position: "fixed",
                            zIndex: 150,
                            left: 0,
                            top: 0
                        },
                        ref: this.props.reference
                    })
                }
            }
            const i = n.createContext(null)
        },
        364511: (t, e, o) => {
            "use strict";
            o.d(e, {
                SwitchGroup: () => n.SwitchGroup,
                makeSwitchGroupItem: () => s.makeSwitchGroupItem
            });
            var n = o(367254),
                s = o(771813)
        },
        746326: (t, e, o) => {
            "use strict";

            function n(t) {
                const {
                    paddingTop: e,
                    paddingBottom: o
                } = window.getComputedStyle(t);
                return [e, o].reduce(((t, e) => t - Number((e || "").replace("px", ""))), t.clientHeight)
            }

            function s(t, e = !1) {
                const o = getComputedStyle(t),
                    n = [o.height];
                return "border-box" !== o.boxSizing && n.push(o.paddingTop, o.paddingBottom, o.borderTopWidth, o.borderBottomWidth), e && n.push(o.marginTop, o.marginBottom), n.reduce(((t, e) => t + (parseFloat(e) || 0)), 0)
            }

            function i(t, e = !1) {
                const o = getComputedStyle(t),
                    n = [o.width];
                return "border-box" !== o.boxSizing && n.push(o.paddingLeft, o.paddingRight, o.borderLeftWidth, o.borderRightWidth), e && n.push(o.marginLeft, o.marginRight), n.reduce(((t, e) => t + (parseFloat(e) || 0)), 0)
            }
            o.d(e, {
                contentHeight: () => n,
                outerHeight: () => s,
                outerWidth: () => i
            })
        },
        593110: (t, e, o) => {
            "use strict";
            o.d(e, {
                FOCUS_TRAP_DATA_ATTRIBUTE: () => n
            });
            const n = "data-focus-trap"
        },
        551080: (t, e, o) => {
            "use strict";

            function n(t) {
                return e => {
                    t.forEach((t => {
                        "function" == typeof t ? t(e) : null != t && (t.current = e)
                    }))
                }
            }

            function s(t) {
                return n([t])
            }
            o.d(e, {
                isomorphicRef: () => s,
                mergeRefs: () => n
            })
        },
        58407: (t, e, o) => {
            "use strict";
            o.d(e, {
                OutsideEvent: () => s
            });
            var n = o(853970);

            function s(t) {
                const {
                    children: e,
                    ...o
                } = t;
                return e((0, n.useOutsideEvent)(o))
            }
        },
        351290: (t, e, o) => {
            "use strict";
            o.d(e, {
                OverlapManager: () => r,
                getRootOverlapManager: () => l
            });
            var n = o(650151),
                s = o(593110);
            class i {
                constructor() {
                    this._storage = []
                }
                add(t) {
                    this._storage.push(t)
                }
                remove(t) {
                    this._storage = this._storage.filter((e => t !== e))
                }
                has(t) {
                    return this._storage.includes(t)
                }
                getItems() {
                    return this._storage
                }
            }
            class r {
                constructor(t = document) {
                    this._storage = new i, this._windows = new Map, this._index = 0, this._document = t, this._container = t.createDocumentFragment()
                }
                setContainer(t) {
                    const e = this._container,
                        o = null === t ? this._document.createDocumentFragment() : t;
                    ! function(t, e) {
                        Array.from(t.childNodes).forEach((t => {
                            t.nodeType === Node.ELEMENT_NODE && e.appendChild(t)
                        }))
                    }(e, o), this._container = o
                }
                registerWindow(t) {
                    this._storage.has(t) || this._storage.add(t)
                }
                ensureWindow(t, e = {
                    position: "fixed",
                    direction: "normal"
                }) {
                    const o = this._windows.get(t);
                    if (void 0 !== o) return o;
                    this.registerWindow(t);
                    const n = this._document.createElement("div");
                    if (n.style.position = e.position, n.style.zIndex = this._index.toString(), n.dataset.id = t, void 0 !== e.index) {
                        const t = this._container.childNodes.length;
                        if (e.index >= t) this._container.appendChild(n);
                        else if (e.index <= 0) this._container.insertBefore(n, this._container.firstChild);
                        else {
                            const t = this._container.childNodes[e.index];
                            this._container.insertBefore(n, t)
                        }
                    } else "reverse" === e.direction ? this._container.insertBefore(n, this._container.firstChild) : this._container.appendChild(n);
                    return this._windows.set(t, n), ++this._index, n
                }
                unregisterWindow(t) {
                    this._storage.remove(t);
                    const e = this._windows.get(t);
                    void 0 !== e && (null !== e.parentElement && e.parentElement.removeChild(e), this._windows.delete(t))
                }
                getZindex(t) {
                    const e = this.ensureWindow(t);
                    return parseInt(e.style.zIndex || "0")
                }
                moveLastWindowToTop() {
                    const t = this._storage.getItems(),
                        e = t[t.length - 1];
                    e && this.moveToTop(e)
                }
                moveToTop(t) {
                    if (this.getZindex(t) !== this._index) {
                        const e = this.ensureWindow(t);
                        this._windows.forEach(((t, o) => {
                            t.hasAttribute(s.FOCUS_TRAP_DATA_ATTRIBUTE) && t.setAttribute(s.FOCUS_TRAP_DATA_ATTRIBUTE, t === e ? "true" : "false")
                        })), e.style.zIndex = (++this._index).toString()
                    }
                }
                removeWindow(t) {
                    this.unregisterWindow(t)
                }
            }
            const a = new WeakMap;

            function l(t = document) {
                const e = t.getElementById("overlap-manager-root");
                if (null !== e) return (0, n.ensureDefined)(a.get(e)); {
                    const e = new r(t),
                        o = function(t) {
                            const e = t.createElement("div");
                            return e.style.position = "absolute", e.style.zIndex = 150..toString(), e.style.top = "0px", e.style.left = "0px", e.id = "overlap-manager-root", e
                        }(t);
                    return a.set(o, e), e.setContainer(o), t.body.appendChild(o), e
                }
            }
        },
        499994: (t, e, o) => {
            "use strict";
            o.d(e, {
                getTooltipData: () => s,
                setTooltipData: () => i
            });
            const n = new WeakMap;

            function s(t, e) {
                const o = n.get(t);
                return o instanceof Function ? o(e) : o && o[e]
            }

            function i(t, e, o) {
                if (o instanceof Function) return void n.set(t, o);
                const s = n.get(t),
                    i = void 0 === s || s instanceof Function ? {} : s;
                i[e] = o, n.set(t, i)
            }
        },
        779527: (t, e, o) => {
            "use strict";
            o.d(e, {
                getDataFromTarget: () => m,
                getTooltip: () => g,
                hideTooltip: () => v,
                setStyle: () => f,
                showTooltip: () => b,
                updateTooltipTextFromTarget: () => p
            });
            var n = o(650151),
                s = o(715050),
                i = o(881025),
                r = (o(466281), o(228609)),
                a = o(750139),
                l = o(638456),
                c = o(529111),
                d = o(499994),
                h = o(604286),
                u = o(491751);

            function p(t) {
                const e = t.hasAttribute("data-tooltip") ? t.getAttribute("data-tooltip") : t.getAttribute("title");
                return e && ((0, d.setTooltipData)(t, "text", e), t.removeAttribute("title")), (0, d.getTooltipData)(t, "text") || ""
            }

            function m(t) {
                const e = p(t),
                    o = t.getBoundingClientRect(),
                    n = {
                        h: o.height,
                        w: o.width,
                        x: o.left,
                        y: o.top
                    },
                    s = t.getAttribute("data-color-theme") || "",
                    i = t.classList.contains("common-tooltip-html"),
                    r = parseInt(t.getAttribute("data-tooltip-delay") || ""),
                    a = parseInt(t.getAttribute("data-tooltip-debounce") || "");
                let l = {
                    type: "none"
                };
                return e && (l = {
                    type: i ? "html" : "text",
                    data: e
                }), {
                    above: t.classList.contains("common-tooltip-above"),
                    below: t.classList.contains("common-tooltip-below"),
                    otl: t.classList.contains("common-tooltip-otl"),
                    otr: t.classList.contains("common-tooltip-otr"),
                    vertical: t.classList.contains("common-tooltip-vertical"),
                    hotkey: t.getAttribute("data-tooltip-hotkey"),
                    narrow: t.classList.contains("common-tooltip-narrow"),
                    wide: t.classList.contains("common-tooltip-wide"),
                    colorTheme: s,
                    tooltipDelay: r,
                    tooltipDebounce: a,
                    rect: n,
                    content: l,
                    target: t
                }
            }

            function g(t) {
                const e = (0, n.ensureNotNull)(k).cloneNode(!0),
                    o = L(e),
                    {
                        content: s
                    } = t;
                switch (s.type) {
                    case "element":
                        o.innerHTML = "", o.appendChild(s.data);
                        break;
                    case "html":
                        o.innerHTML = s.data;
                        break;
                    case "text":
                        if (t.hotkey) {
                            const t = (0, n.ensureNotNull)(C).cloneNode(!0);
                            t.innerText = s.data, o.appendChild(t)
                        } else o.innerText = s.data
                }
                if (t.hotkey) {
                    const e = "none" !== s.type,
                        i = (0, n.ensureNotNull)(E).cloneNode(!0),
                        r = (0, h.hotKeyDeserialize)(t.hotkey),
                        a = r.keys.map((t => `<span class="${u["common-tooltip__hotkey-button"]}">${t}</span>`));
                    i.innerHTML = function(t, e) {
                        const o = /{\d}|{hotkey_\d}/gi;
                        return t.replace(o, (t => {
                            const o = Number(t.match(/\d/));
                            return e[o]
                        }))
                    }(r.text, a).replace(/\s\+\s/g, `<span class="${u["common-tooltip__plus-sign"]}">+</span>`), o.classList.add(u["common-tooltip__body--with-hotkey"]), e && i.classList.add(u["common-tooltip__hotkey-block--divider"]), o.appendChild(i)
                }
                return e.addEventListener("contextmenu", r.preventDefault), e
            }

            function f(t, e) {
                const o = e.rect;
                if (!o) return;
                (0, c.setTooltipColorTheme)(t, e.colorTheme || "default"), e.addClass && t.classList.add(e.addClass);
                const n = L(t),
                    s = t.querySelector(`.${u["common-tooltip__button-container"]}`);
                n.classList.toggle(u["common-tooltip__body--width_wide"], Boolean(e.wide)), n.classList.toggle(u["common-tooltip__body--no-padding"], Boolean(e.noPadding)), n.classList.toggle(u["common-tooltip__body--width_narrow"], Boolean(e.narrow)), n.classList.toggle(u["common-tooltip__body--no-buttons"], !0), n.style.left = _(0), n.style.width = _(n.clientWidth + (Boolean(e.noPadding) ? 0 : 2));
                const r = document.body.clientWidth,
                    d = l.CheckMobile.iOS() || l.CheckMobile.Android() || (0, l.supportTouch)() && (0, l.isMac)() ? window.innerHeight : document.body.clientHeight,
                    h = e.vertical,
                    p = e.extendMargin || h && o.w < 20 || !h && o.h < 20;
                t.classList.toggle(u["common-tooltip--farther"], p), t.classList.toggle(u["common-tooltip--vertical"], h), t.classList.toggle(u["common-tooltip--horizontal"], !h);
                const m = function(t) {
                        return t.querySelector(`.${u["common-tooltip__ear-holder"]}`)
                    }(t),
                    g = t.offsetHeight;
                if (h) {
                    const l = 10,
                        c = d - 10,
                        h = 12,
                        p = l + h,
                        f = c - h,
                        b = (0, a.clamp)(o.y + o.h / 2, p, f) - g / 2,
                        v = b + g;
                    t.style.left = _(o.x + o.w), t.style.top = _(b), b < l ? n.style.top = s.style.top = _(l - b) : v > c && (n.style.top = s.style.top = _(c - v));
                    const {
                        right: y
                    } = (t.querySelector(":last-child") || n).getBoundingClientRect(), w = y + 10 > r;
                    t.classList.toggle(u["common-tooltip--direction_reversed"], w), t.classList.toggle(u["common-tooltip--direction_normal"], !w);
                    let x = w ? "after" : "before";
                    (0, i.isRtl)() ? (x = e.otr ? "after" : x, x = e.otl ? "before" : x) : (x = e.otr ? "before" : x, x = e.otl ? "after" : x), m.classList.toggle(u["common-tooltip__ear-holder--before"], "before" === x), m.classList.toggle(u["common-tooltip__ear-holder--after"], "after" === x), "after" === x && (t.style.left = "auto", t.style.right = _(r - o.x))
                } else {
                    const i = o.x - (n.offsetWidth - o.w) / 2,
                        a = r - t.offsetWidth - 20 <= 0 ? (r - t.offsetWidth) / 2 : 10,
                        l = r - a - t.offsetWidth,
                        c = Math.max(a, Math.min(i, l));
                    t.style.left = _(c);
                    const h = l < i;
                    t.classList.toggle(u["common-tooltip--direction_reversed"], h), t.classList.toggle(u["common-tooltip--direction_normal"], !h);
                    const p = function(t, e, o, n) {
                        if (t.above) return A(e, n) ? "above" : "below";
                        if (t.below) return function(t, e, o) {
                            return o.y + o.h + e + 10 < t
                        }(e, o, n) ? "below" : "above";
                        return A(o, n) ? "above" : "below"
                    }(e, d, g, o);
                    "above" === p ? t.style.bottom = _(d - o.y) : t.style.top = _(o.y + o.h),
                        m.classList.add("above" === p ? u["common-tooltip__ear-holder--above"] : u["common-tooltip__ear-holder--below"]);
                    const {
                        left: f
                    } = n.getBoundingClientRect();
                    let b = Math.trunc(o.x + o.w / 2 - (f + n.clientWidth / 2));
                    t.style.left = _(c + b), t.style.width = _(n.clientWidth + s.clientWidth), b = h ? Math.max(0, b) : Math.min(0, b), s.style.left = _(-b), n.style.left = _(-b)
                }
            }

            function b(t) {
                t.classList.toggle(u["common-tooltip--hidden"], !1)
            }

            function v(t) {
                t.classList.toggle(u["common-tooltip--hidden"], !0)
            }

            function _(t) {
                return `${Math.floor(t)}px`
            }
            const y = `\n\t<div id="common-tooltip-wrapper" class="${u["common-tooltip"]}">\n\t\t<div class="${u["common-tooltip__ear-holder"]}" >\n\t\t\t<div class="${u["common-tooltip__body"]} js-tooltip-body"></div>\n\t\t</div>\n\t\t<div class="${u["common-tooltip__button-container"]}"></div>\n\t</div>\n`,
                w = `\n\t<div class="${u["common-tooltip__hotkey-block"]}"></div>\n`,
                x = `\n\t<div class="${u["common-tooltip__hotkey-text"]}"></div>\n`,
                k = (0, s.parseHtmlElement)(y),
                E = (0, s.parseHtmlElement)(w),
                C = (0, s.parseHtmlElement)(x);

            function L(t) {
                return t.querySelector(`.${u["common-tooltip__body"]}`)
            }

            function A(t, e) {
                return 10 + t < e.y
            }
        },
        630112: (t, e, o) => {
            "use strict";
            o.d(e, {
                empty: () => r,
                setTooltip: () => a
            });
            const n = "tooltip-root-element";
            let s;

            function i() {
                const t = document.getElementById(n);
                t ? s = t : (s = document.createElement("div"), s.id = n, document.body.appendChild(s))
            }

            function r() {
                s && (s.innerHTML = "")
            }

            function a(t) {
                r(), s && s.appendChild(t)
            }
            "interactive" === document.readyState ? i() : document.addEventListener("DOMContentLoaded", i)
        },
        112539: (t, e, o) => {
            "use strict";
            o.d(e, {
                clearSchedule: () => r,
                scheduleHide: () => l,
                scheduleRemove: () => a,
                scheduleRender: () => c
            });
            let n = 0,
                s = 0,
                i = 0;

            function r() {
                clearTimeout(n), clearTimeout(s), clearTimeout(i)
            }

            function a(t, e) {
                i = setTimeout(t, e)
            }

            function l(t, e) {
                s = setTimeout(t, e)
            }

            function c(t, e) {
                n = setTimeout(t, e)
            }
        },
        529111: (t, e, o) => {
            "use strict";
            o.d(e, {
                setTooltipColorTheme: () => i
            });
            const n = {
                    default: "",
                    white: "theme-white",
                    chart: "theme-chart",
                    "round-shadow": "theme-round-shadow"
                },
                s = Object.keys(n);

            function i(t, e) {
                const o = s.includes(e) ? n[e] : "";
                t.classList.remove(...s.map((t => n[t])).filter((t => !!t))), o && !t.classList.contains(o) && t.classList.add(o)
            }
        },
        414879: (t, e, o) => {
            "use strict";
            var n, s;
            o.r(e), o.d(e, {
                    Months: () => s,
                    WeekDays: () => n
                }),
                function(t) {
                    t[t.SUNDAY = 1] = "SUNDAY", t[t.MONDAY = 2] = "MONDAY", t[t.TUESDAY = 3] = "TUESDAY", t[t.WEDNESDAY = 4] = "WEDNESDAY", t[t.THURSDAY = 5] = "THURSDAY", t[t.FRIDAY = 6] = "FRIDAY", t[t.SATURDAY = 7] = "SATURDAY"
                }(n || (n = {})),
                function(t) {
                    t[t.JANUARY = 0] = "JANUARY", t[t.FEBRUARY = 1] = "FEBRUARY", t[t.MARCH = 2] = "MARCH", t[t.APRIL = 3] = "APRIL", t[t.MAY = 4] = "MAY", t[t.JUNE = 5] = "JUNE", t[t.JULY = 6] = "JULY", t[t.AUGUST = 7] = "AUGUST", t[t.SEPTEMBER = 8] = "SEPTEMBER", t[t.OCTOBER = 9] = "OCTOBER", t[t.NOVEMBER = 10] = "NOVEMBER", t[t.DECEMBER = 11] = "DECEMBER"
                }(s || (s = {}))
        },
        207678: (t, e, o) => {
            "use strict";
            o.d(e, {
                breakpoints: () => n,
                mobileFirstBreakpoints: () => s,
                mobileFirstLegacyBreakpoints: () => i
            });
            const n = {
                    desktop: 1 / 0,
                    desktopHd: 1919,
                    phone: 767,
                    "phone-vertical": 479,
                    tablet: 1019
                },
                s = {
                    base: 0,
                    "media-mf-phone-vertical": 320,
                    "media-mf-phone-landscape": 568,
                    "media-mf-tablet-vertical": 768,
                    "media-mf-tablet-landscape": 1024,
                    "media-mf-laptop": 1280,
                    "media-mf-desktop-medium": 1440,
                    "media-mf-desktop-large": 1920,
                    "media-mf-desktop-extra-large": 2560
                },
                i = {
                    "media-mf-legacy-phone-vertical": 330,
                    "media-mf-legacy-phone": 480,
                    "media-mf-legacy-notebook": 1020,
                    "media-mf-legacy-desktop-medium": 1480,
                    "media-mf-legacy-desktop": 1531
                }
        },
        776734: (t, e, o) => {
            "use strict";
            async function n() {
                if (!window.user || window.user.do_not_track) return null; {
                    const t = (await Promise.all([o.e(6242), o.e(19247), o.e(24081)]).then(o.bind(o, 823623))).getTrackerInstance();
                    return t || null
                }
            }
            o.d(e, {
                getTracker: () => n
            })
        },
        61499: (t, e, o) => {
            "use strict";
            var n;
            o.r(e), o.d(e, {
                    StdTheme: () => n
                }),
                function(t) {
                    t.Light = "light", t.Dark = "dark"
                }(n || (n = {}))
        },
        735270: (t, e, o) => {
            "use strict";
            o.d(e, {
                anchors: () => s,
                makeAnchorable: () => i
            });
            var n = o(50959);
            const s = {
                bottom: {
                    attachment: {
                        horizontal: "left",
                        vertical: "top"
                    },
                    targetAttachment: {
                        horizontal: "left",
                        vertical: "bottom"
                    }
                },
                top: {
                    attachment: {
                        horizontal: "left",
                        vertical: "bottom"
                    },
                    targetAttachment: {
                        horizontal: "left",
                        vertical: "top"
                    }
                },
                topRight: {
                    attachment: {
                        horizontal: "right",
                        vertical: "bottom"
                    },
                    targetAttachment: {
                        horizontal: "right",
                        vertical: "top"
                    }
                },
                bottomRight: {
                    attachment: {
                        horizontal: "right",
                        vertical: "top"
                    },
                    targetAttachment: {
                        horizontal: "right",
                        vertical: "bottom"
                    }
                }
            };

            function i(t) {
                var e;
                return (e = class extends n.PureComponent {
                    render() {
                        const {
                            anchor: e = "bottom"
                        } = this.props;
                        return n.createElement(t, { ...this.props,
                            attachment: s[e].attachment,
                            targetAttachment: s[e].targetAttachment
                        })
                    }
                }).displayName = "Anchorable Component", e
            }
        },
        149368: (t, e, o) => {
            "use strict";
            o.d(e, {
                makeAttachable: () => i
            });
            var n = o(50959),
                s = o(632227);

            function i(t) {
                var e;
                return (e = class extends n.PureComponent {
                    constructor(t) {
                        super(t), this._getComponentInstance = t => {
                            this._instance = t
                        }, this._throttleCalcProps = () => {
                            requestAnimationFrame((() => this.setState(this._calcProps(this.props))))
                        }, this.state = this._getStateFromProps()
                    }
                    componentDidMount() {
                        this._instanceElem = s.findDOMNode(this._instance), this.props.attachOnce || this._subscribe(), this.setState(this._calcProps(this.props))
                    }
                    componentDidUpdate(t) {
                        t.children === this.props.children && t.top === this.props.top && t.left === this.props.left && t.width === this.props.width || this.setState(this._getStateFromProps(), (() => this.setState(this._calcProps(this.props))))
                    }
                    render() {
                        return n.createElement("div", {
                            style: {
                                position: "absolute",
                                width: "100%",
                                top: 0,
                                left: 0
                            }
                        }, n.createElement(t, { ...this.props,
                            ref: this._getComponentInstance,
                            top: this.state.top,
                            bottom: void 0 !== this.state.bottom ? this.state.bottom : "auto",
                            right: void 0 !== this.state.right ? this.state.right : "auto",
                            left: this.state.left,
                            width: this.state.width,
                            maxWidth: this.state.maxWidth
                        }, this.props.children))
                    }
                    componentWillUnmount() {
                        this._unsubsribe()
                    }
                    _getStateFromProps() {
                        return {
                            bottom: this.props.bottom,
                            left: this.props.left,
                            right: this.props.right,
                            top: void 0 !== this.props.top ? this.props.top : -1e4,
                            width: this.props.inheritWidthFromTarget ? this.props.target && this.props.target.getBoundingClientRect().width : this.props.width,
                            maxWidth: this.props.inheritMaxWidthFromTarget && this.props.target && this.props.target.getBoundingClientRect().width
                        }
                    }
                    _calcProps(t) {
                        if (t.target && t.attachment && t.targetAttachment) {
                            const e = this._calcTargetProps(t.target, t.attachment, t.targetAttachment);
                            if (null === e) return {};
                            const {
                                width: o,
                                inheritWidthFromTarget: n = !0,
                                inheritMaxWidthFromTarget: s = !1
                            } = this.props, i = {
                                width: n ? e.width : o,
                                maxWidth: s ? e.width : void 0
                            };
                            switch (t.attachment.vertical) {
                                case "bottom":
                                case "middle":
                                    i.top = e.y;
                                    break;
                                default:
                                    i[t.attachment.vertical] = e.y
                            }
                            switch (t.attachment.horizontal) {
                                case "right":
                                case "center":
                                    i.left = e.x;
                                    break;
                                default:
                                    i[t.attachment.horizontal] = e.x
                            }
                            return i
                        }
                        return {}
                    }
                    _calcTargetProps(t, e, o) {
                        const n = t.getBoundingClientRect(),
                            s = this._instanceElem.getBoundingClientRect(),
                            i = "parent" === this.props.root ? this._getCoordsRelToParentEl(t, n) : this._getCoordsRelToDocument(n);
                        if (null === i) return null;
                        const r = this._getDimensions(s),
                            a = this._getDimensions(n).width;
                        let l = 0,
                            c = 0;
                        switch (e.vertical) {
                            case "top":
                                c = i[o.vertical];
                                break;
                            case "bottom":
                                c = i[o.vertical] - r.height;
                                break;
                            case "middle":
                                c = i[o.vertical] - r.height / 2
                        }
                        switch (e.horizontal) {
                            case "left":
                                l = i[o.horizontal];
                                break;
                            case "right":
                                l = i[o.horizontal] - r.width;
                                break;
                            case "center":
                                l = i[o.horizontal] - r.width / 2
                        }
                        return "number" == typeof this.props.attachmentOffsetY && (c += this.props.attachmentOffsetY), "number" == typeof this.props.attachmentOffsetX && (l += this.props.attachmentOffsetX), {
                            x: l,
                            y: c,
                            width: a
                        }
                    }
                    _getCoordsRelToDocument(t) {
                        const e = pageYOffset,
                            o = pageXOffset,
                            n = t.top + e,
                            s = t.bottom + e,
                            i = t.left + o;
                        return {
                            top: n,
                            bottom: s,
                            left: i,
                            right: t.right + o,
                            middle: (n + t.height) / 2,
                            center: i + t.width / 2
                        }
                    }
                    _getCoordsRelToParentEl(t, e) {
                        const o = t.offsetParent;
                        if (null === o) return null;
                        const n = o.scrollTop,
                            s = o.scrollLeft,
                            i = t.offsetTop + n,
                            r = t.offsetLeft + s,
                            a = e.width + r;
                        return {
                            top: i,
                            bottom: e.height + i,
                            left: r,
                            right: a,
                            middle: (i + e.height) / 2,
                            center: (r + e.width) / 2
                        }
                    }
                    _getDimensions(t) {
                        return {
                            height: t.height,
                            width: t.width
                        }
                    }
                    _subscribe() {
                        "document" === this.props.root && (window.addEventListener("scroll", this._throttleCalcProps, !0), window.addEventListener("resize", this._throttleCalcProps))
                    }
                    _unsubsribe() {
                        window.removeEventListener("scroll", this._throttleCalcProps, !0), window.removeEventListener("resize", this._throttleCalcProps)
                    }
                }).displayName = "Attachable Component", e
            }
        },
        224743: (t, e, o) => {
            "use strict";
            o.d(e, {
                globalCloseDelegate: () => n,
                globalCloseMenu: () => s
            });
            const n = new(o(942634).Delegate);

            function s() {
                n.fire()
            }
        },
        368337: (t, e, o) => {
            "use strict";
            o.d(e, {
                makeOverlapable: () => i
            });
            var n = o(50959),
                s = o(707533);

            function i(t, e) {
                return class extends n.PureComponent {
                    render() {
                        const {
                            isOpened: o,
                            root: i
                        } = this.props;
                        if (!o) return null;
                        const r = n.createElement(t, { ...this.props,
                            ref: this.props.componentRef,
                            zIndex: 150
                        });
                        return "parent" === i ? r : n.createElement(s.Portal, {
                            shouldTrapFocus: e
                        }, r)
                    }
                }
            }
        },
        320116: (t, e, o) => {
            "use strict";
            o.d(e, {
                CloseDelegateContext: () => i
            });
            var n = o(50959),
                s = o(224743);
            const i = n.createContext(s.globalCloseDelegate)
        },
        707533: (t, e, o) => {
            "use strict";
            o.d(e, {
                Portal: () => n.Portal,
                PortalContext: () => n.PortalContext
            });
            var n = o(910958)
        },
        670797: (t, e, o) => {
            "use strict";
            o.d(e, {
                Slot: () => n.Slot,
                SlotContext: () => n.SlotContext
            });
            var n = o(474647)
        },
        129859: (t, e, o) => {
            "use strict";
            var n = o(486393);
            const s = o(338619).getLogger("CommonUI.CreateTVBlockPlugin");
            t.exports.createTvBlockWithInstance = function(t, e) {
                if (t && e) return t = t.toString(),
                    function(i, r, a) {
                        var l, c, d;
                        return "get" === i ? l = r : (c = r, "object" == typeof i && void 0 === r ? (c = i, i = "init") : "string" != typeof i && (i = "init")), "getInstance" === i ? n(this).eq(0).data(t) : "destroy" === i ? (d = n(this).eq(0).data(t)) ? void("function" == typeof d.destroy ? (o(d, "destroy", c), n(this).eq(0).removeData(t)) : s.logError("[Block Plugin] " + t + " does not support destroy command")) : void console.warn("[Block Plugin] Trying to execute destroy method of " + t + " but it has not been inited") : "get" === i ? (d = n(this).eq(0).data(t)) ? "function" == typeof d[l] ? o(d, l, a) : d[l] : void console.warn("[Block Plugin] Trying to get prop or execute method of " + t + " but it has not been inited") : n(this).each((function() {
                            var r = n(this),
                                a = r.data(t);
                            void 0 === a && (a = void 0 === c ? e(r) : e(r, c), r.data(t, a)), "init" !== i && ("function" == typeof a[i] ? o(a, i, c) : s.logError("[Block Plugin] " + t + " does not support command " + i))
                        }))
                    };

                function o(t, e, o) {
                    return void 0 === o ? t[e]() : t[e](o)
                }
            }
        },
        862101: (t, e, o) => {
            "use strict";
            o.d(e, {
                default: () => d
            });
            var n = o(129859),
                s = (o(676636), o(486393)),
                i = o(213398);
            const r = o(338619).getLogger("Ui.TvControlCheckbox"),
                a = {
                    labelWrapper: '{{#hasLabel}}<label>{{#labelLeft}}<span class="tv-control-checkbox__label {{#labelAddClass}}{{labelAddClass}}{{/labelAddClass}}">{{labelLeft}}</span>{{/labelLeft}}{{> inputWrapper }}{{#labelRight}}<span class="tv-control-checkbox__label {{#labelAddClass}}{{labelAddClass}}{{/labelAddClass}}">{{labelRight}}</span>{{/labelRight}}</label>{{/hasLabel}}{{^hasLabel}}{{> inputWrapper }}{{/hasLabel}}',
                    inputWrapper: '<{{ tag }} class="{{ customClass }}{{#disabled}} i-disabled{{/disabled}}">{{^hasCheckbox}}{{> checkbox }}{{/hasCheckbox}}{{> box }}</{{ tag }}>',
                    checkbox: '<input{{#id}} id="{{ id }}"{{/id}} class="{{> checkboxClass }}" type="checkbox"{{#name}} name="{{ name }}"{{/name}}{{#checked}} checked{{/checked}}{{#disabled}} disabled{{/disabled}}>',
                    checkboxClass: "{{ customClass }}__input",
                    box: '<span class="{{ customClass }}__box {{#boxAddClass}}{{boxAddClass}}{{/boxAddClass}}">' + o(481516) + "</span>"
                },
                l = "i-inited";
            class c {
                constructor({
                    customClass: t = "tv-control-checkbox",
                    $checkbox: e,
                    tag: o,
                    id: n,
                    name: i,
                    checked: a,
                    disabled: c,
                    labelLeft: d,
                    labelRight: h,
                    labelAddClass: u,
                    boxAddClass: p
                }) {
                    this.$el = null, void 0 === o && (o = d || h ? "span" : "label");
                    const m = e instanceof s && !!e.length;
                    if (m) {
                        if (!e.is("input[type=checkbox]")) return void r.logError("`$checkbox` need to be input[type=checkbox]");
                        if (e.hasClass(l)) return;
                        this._setInputId(e, n), this._setInputClass(e, t), this._setInputName(e, i), this._setInputChecked(e, a), this._setInputDisabled(e, c), a = !!e.prop("checked"), c = !!e.attr("disabled")
                    }
                    this.$el = this.render({
                        $checkbox: e,
                        hasCheckbox: m,
                        customClass: t,
                        tag: o,
                        id: n,
                        name: i,
                        checked: a,
                        disabled: c,
                        labelLeft: d,
                        labelRight: h,
                        hasLabel: d || h,
                        labelAddClass: u,
                        boxAddClass: p
                    }), this.$checkbox = m ? e : this.$el.find("input[type=checkbox]")
                }
                _setInputId(t, e) {
                    void 0 !== e && t.attr("id", e)
                }
                _setInputClass(t, e) {
                    const o = i.render(a.checkboxClass, {
                        customClass: e
                    });
                    t.addClass(o)
                }
                _setInputName(t, e) {
                    void 0 !== e && t.attr("name", e)
                }
                _setInputChecked(t, e) {
                    void 0 !== e && t.prop("checked", !!e)
                }
                _setInputDisabled(t, e) {
                    void 0 !== e && (e ? t.setAttribute("disabled", "disabled") : t.removeAttr("disabled"))
                }
                render(t) {
                    const e = t.$checkbox,
                        o = s(i.render(a.labelWrapper, t, a));
                    if (t.hasCheckbox) {
                        o.insertBefore(e);
                        o.find("." + t.customClass).andSelf().filter("." + t.customClass).eq(0).prepend(e.detach()), e.addClass(l)
                    }
                    return o
                }
                set checked(t) {
                    this._setInputChecked(this.$checkbox, !!t)
                }
                get checked() {
                    return !!this.$checkbox.prop("checked")
                }
            }
            s.fn.tvControlCheckbox = (0, n.createTvBlockWithInstance)("tv-control-checkbox", (function(t, e = {}) {
                return new c(TradingView.merge(e, {
                    $checkbox: t
                }))
            }));
            const d = c
        },
        343823: (t, e, o) => {
            "use strict";
            var n;

            function s(t) {
                return !(!t || !Object.keys(t).length)
            }

            function i(t) {
                return !!t.is_trial
            }

            function r(t) {
                return !!(null == t ? void 0 : t.pro_plan)
            }

            function a(t) {
                return r(t) && !i(t)
            }

            function l(t) {
                return t.type === n.ProPlan
            }

            function c(t) {
                return t.type === n.Exchange
            }

            function d(t) {
                return t.type === n.Coins
            }

            function h(t) {
                var e, o, n;
                return t ? c(t) || d(t) ? null !== (e = t.text_id) && void 0 !== e ? e : "" : null !== (n = null !== (o = t.discount_text_id) && void 0 !== o ? o : t.text_id) && void 0 !== n ? n : "" : ""
            }
            o.d(e, {
                    ProductType: () => n,
                    getProductId: () => h,
                    isCoinsProduct: () => d,
                    isExchange: () => c,
                    isPaidPro: () => a,
                    isPlan: () => l,
                    isPro: () => r,
                    isProductDefined: () => s,
                    isTrial: () => i
                }),
                function(t) {
                    t[t.ProPlan = 1] = "ProPlan", t[t.NewsFeed = 3] = "NewsFeed", t[t.Exchange = 4] = "Exchange", t[t.Connection = 6] = "Connection", t[t.Coins = 8] = "Coins"
                }(n || (n = {}))
        },
        197439: (t, e, o) => {
            "use strict";
            o.d(e, {
                getSymbolPagePath: () => c,
                makeSymbolChartUrl: () => b,
                makeSymbolPageUrl: () => f,
                makeTemplateSymbolUrl: () => m
            });
            var n = o(705526),
                s = o(986830);
            if (/^(37525|45206|53934|88261)$/.test(o.j)) var i = o(924225);
            var r = o(889267),
                a = o(519073);

            function l(t) {
                const e = { ...t
                };
                if ("spread" === e.type || "expression" === e.type) {
                    const t = e.shortName && d(e.shortName),
                        o = e.proName && d(e.proName);
                    e.type = void 0, e.shortName = t, e.proName = o
                }
                return e
            }

            function c(t, e) {
                const o = l(t);
                return u(p(o, e), h(o))
            }

            function d(t) {
                var e;
                return null === (e = (0, r.tokenize)(t).find((t => "symbol" === t.type))) || void 0 === e ? void 0 : e.value
            }

            function h(t) {
                const e = {
                    shortName: t.shortName,
                    exchange: t.exchange,
                    proName: t.proName,
                    type: t.type,
                    typespecs: t.typespecs,
                    root: t.root
                };
                return e.proName && e.proName.includes(":") && ([e.exchange, e.shortName] = e.proName.split(":")), e
            }

            function u(t, e) {
                const o = encodeURIComponent(e.shortName || ""),
                    n = encodeURIComponent(e.exchange || ""),
                    s = encodeURIComponent(e.proName || ""),
                    i = encodeURIComponent(e.root || "");
                return t.replace("{tvexchange}", n).replace("{tvsymbol}", o).replace("{tvprosymbol}", s).replace("{tvroot}", i)
            }

            function p(t, e = "") {
                const o = h(t),
                    {
                        type: n,
                        typespecs: s,
                        shortName: i,
                        proName: r,
                        exchange: l,
                        root: c
                    } = o;
                return void 0 === i && void 0 === r ? (console.warn("Params missed"), "/") : n || s ? "commodity" === n && s && s.includes("cfd") ? "/symbols/{tvsymbol}/?exchange={tvexchange}" : !c || !s || "futures" !== n || s.includes("continuous") && (null == i ? void 0 : i.endsWith("1!")) || s.includes("exchange-continuous") ? l && ("forex" === n || s && (0,
                    a.hasCryptoTypespec)(s)) ? "/symbols/{tvsymbol}/?exchange={tvexchange}" : l ? `/symbols/{tvexchange}-{tvsymbol}/${e}` : `/symbols/{tvsymbol}/${e}` : `/symbols/{tvexchange}-{tvroot}1!/${e}?contract={tvsymbol}` : l ? `/symbols/{tvexchange}-{tvsymbol}/${e}` : `/symbols/{tvsymbol}/${e}`
            }

            function m(t, e) {
                let o = t;
                if (!/{tvsymbol}|{tvexchange}|{tvprosymbol}/.test(t)) {
                    let n = "tvprosymbol";
                    void 0 === e.proName && (n = "tvsymbol"), o = `${t}?tvwidgetsymbol={${n}}`
                }
                const n = u(o, h(l(e)));
                if (!(0, i.isSafeUrl)(n)) throw new Error(`The symbol URL ${n} is not allowed.`);
                return n
            }

            function g(t, e, o, i) {
                const r = (window.locale_domains ? (0, s.determineBaseUrl)(window.locale_domains, i) : window.location.origin) + u(t, h(l(e)));
                return o ? (0, n.addUtmToUrl)(r, o) : r
            }

            function f(t, e, o, n) {
                const s = l(t);
                return g(p(s, n), s, e, o)
            }

            function b(t, e) {
                return g("/chart/?symbol={tvprosymbol}", t, e)
            }
        },
        486393: (t, e, o) => {
            const n = o(647793);
            t.exports = n, n(document).ajaxSend(((t, e, o) => {
                o.crossDomain && !o.forceLanguageHeader || (window.locale ? e.setRequestHeader("X-Language", window.locale) : console.warn("window.locale is not defined"))
            }))
        },
        622864: (t, e, o) => {
            "use strict";

            function n(t) {
                let e = null;
                return (o, ...n) => (null == e || e.abort(), e = new AbortController, null == o || o.addEventListener("error", (() => null == e ? void 0 : e.abort()), {
                    once: !0
                }), t(e.signal, ...n))
            }

            function s(t) {
                if (!l(t)) throw t
            }

            function i(t) {
                if (l(t)) throw t
            }

            function r(t) {
                return (null == t ? void 0 : t.aborted) ? Promise.reject(a()) : new Promise(((e, o) => {
                    null == t || t.addEventListener("abort", (() => o(a())), {
                        once: !0
                    })
                }))
            }

            function a() {
                return new DOMException("Aborted", "AbortError")
            }

            function l(t) {
                return t instanceof Error && "AbortError" === t.name
            }

            function c(t, e) {
                return Promise.race([r(t), e])
            }
            async function d(t, e) {
                let o;
                try {
                    await c(t, new Promise((t => {
                        o = setTimeout(t, e)
                    })))
                } finally {
                    clearTimeout(o)
                }
            }
            o.d(e, {
                createAbortError: () => a,
                delay: () => d,
                isAbortError: () => l,
                respectAbort: () => c,
                respectLatest: () => n,
                rethrowAbortError: () => i,
                skipAbortError: () => s
            })
        },
        228609: (t, e, o) => {
            "use strict";

            function n(t) {
                t.preventDefault()
            }
            o.d(e, {
                preventDefault: () => n,
                preventDefaultForContextMenu: () => i
            });
            const s = ["input:not([type])", 'input[type="text"]', 'input[type="email"]', 'input[type="password"]', 'input[type="search"]', 'input[type="number"]', 'input[type="url"]', "textarea", "a[href]", '*[contenteditable="true"]', "[data-allow-context-menu]"];

            function i(t) {
                const e = t.target;
                e && !e.closest(s.join(", ")) && t.preventDefault()
            }
        },
        481516: t => {
            t.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11 9" width="11px" height="9px"><path fill="none" fill-rule="evenodd" stroke-width="2" d="M1 3.22l3.415 3.496L10 1"/></svg>'
        },
        690863: t => {
            t.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 9" width="6" height="9"><path fill="none" stroke="currentColor" d="M1 1l3.5 3.5L1 8"/></svg>'
        },
        490778: (t, e, o) => {
            "use strict";
            t.exports = o.p + "desktop.48bb0acc31aeb2422416.webp"
        },
        901896: (t, e, o) => {
            "use strict";
            t.exports = o.p + "tablet.5ed26c209de7e1b5845d.webp"
        }
    }
]);