ProShadow

Coded By GG Developed By ProShadow

// ==UserScript==
// @name           ProShadow
// @author         ProShadow&GG
// @description    Coded By GG Developed By ProShadow
// @version        1.6.5
// @license        gpl-3.0
// @namespace      https://proshadow-op.web.app/
// @icon           https://cdn.discordapp.com/attachments/904678349086019585/914139818764664872/proshadow.gif
// @grant          GM.setValue
// @grant          GM_getValue
// @match          https://krunker.io/*
// @match          https://*.browserfps.com/*
// @extracted      Sat, 27 Nov 2021 21:51:05 GMT
// @run-at         document-start
// @noframes
// ==/UserScript==

/*! For license information please see sploit.user.js.LICENSE.txt */
(() => {
    var t = {
            2311: (t) => {
                "use strict";
                t.exports = class {
                    ls_prefix = "ss";
                    gm = "function" == typeof GM_getValue;
                    get(t, e) {
                        var i = this.get_raw(t);
                        if ("string" == typeof i)
                            try {
                                return JSON.parse(i);
                            } catch (t) {
                                return console.error("DATASTORE ERROR", t, i), i;
                            }
                        switch (e) {
                            case "object":
                                return {};
                            case "array":
                                return [];
                        }
                    }
                    set(t, e) {
                        return e instanceof Set && (e = [...e]), this.set_raw(t, JSON.stringify(e));
                    }
                    get_raw(t) {
                        return this.gm ? GM_getValue(t) : localStorage.getItem(this.ls_prefix + t);
                    }
                    set_raw(t, e) {
                        return this.gm ? GM.setValue(t, e) : localStorage.setItem(this.ls_prefix + t, e);
                    }
                };
            },
            1902: (t, e, i) => {
                "use strict";
                var a = i(7263);
                class s extends HTMLElement {
                    constructor() {
                        super();
                        var t = this.attachShadow({ mode: "closed" });
                        (this.main = a.add_ele("main", t)), a.add_ele("style", t, { textContent: i(6454) }), a.add_ele("slot", this.main);
                    }
                }
                e.Button = s;
            },
            7376: (t, e, i) => {
                "use strict";
                var a = i(7263);
                class s extends HTMLElement {
                    constructor() {
                        super();
                        var t = this.attachShadow({ mode: "closed" });
                        (this.main = a.add_ele("main", t)),
                            a.add_ele("style", t, { textContent: i(8182) }),
                            a.add_ele("raw", this.main, {
                                html:
                                    '<svg xmlns="http://www.w3.org/2000/svg" viewBox="20.48709 9.38972 347.419817 323.510251"><path fill="#FFF" d="M20.4870895 204.5433142L77.52349 147.5069859l121.370786 121.3709088-46.520215 60.4916464L20.4870895 204.5433142z"/><path fill="#FFF" d="M93.1260928 273.3565085L304.6042249 9.3897157l63.3026884 50.7152387L156.428781 324.0717471z"/></svg>',
                            }),
                            this.addEventListener("click", () => ((this.checked ^= 1), this.dispatchEvent(new Event("change"))));
                    }
                    get checked() {
                        return this.main.hasAttribute("checked");
                    }
                    set checked(t) {
                        return this.main[(t ? "set" : "remove") + "Attribute"]("checked", ""), this;
                    }
                }
                e.Checkbox = s;
            },
            4471: (t, e, i) => {
                "use strict";
                var a = i(7263);
                class s extends HTMLElement {
                    constructor() {
                        super();
                        var t = this.attachShadow({ mode: "closed" });
                        a.add_ele("style", t, { textContent: i(1192) }), (this.main = a.add_ele("main", t)), (this.input = a.add_ele("input", this.main));
                        for (let t of ["focus", "blur", "keydown", "change"]) a.redirect(t, this.input, this);
                        this.addEventListener("mousedown", () => this.input.focus());
                    }
                    blur() {
                        this.input.blur();
                    }
                    focus() {
                        this.input.focus();
                    }
                    get value() {
                        return this.input.value;
                    }
                    set value(t) {
                        return (this.input.value = t);
                    }
                    get placeholder() {
                        return this.input.placeholder;
                    }
                    set placeholder(t) {
                        return (this.input.placeholder = t);
                    }
                }
                e.Input = s;
            },
            8861: (t, e, i) => {
                "use strict";
                var a = i(7263);
                class s extends HTMLElement {
                    constructor() {
                        super();
                        var t = this.attachShadow({ mode: "open" });
                        (this.wrapper = a.add_ele("main", t)),
                            (this.label = a.add_ele("text", this.wrapper)),
                            a.add_ele("style", t, { textContent: i(1618) }),
                            a.add_ele("raw", this.wrapper, {
                                html: '<svg width="16px" height="16px" viewBox="0 0 12 7"><path d="M11.85.65c.2.2.2.5 0 .7L6.4 6.84a.55.55 0 01-.78 0L.14 1.35a.5.5 0 11.71-.7L6 5.8 11.15.65c.2-.2.5-.2.7 0z"></path></svg>',
                            }),
                            (this.nslot = a.add_ele("slot", this.wrapper)),
                            window.addEventListener("mousedown", (t) => {
                                var e = t.composedPath();
                                for (let t of e) if (t instanceof r) return;
                                e.includes(this.wrapper) ? this.toggle_dropdown() : this.hide_dropdown(), this.set_pos();
                            }),
                            window.addEventListener("resize", () => this.set_pos()),
                            window.addEventListener("blur", () => this.wrapper.classList.remove("active"));
                    }
                    toggle_dropdown() {
                        this.wrapper.classList.toggle("active");
                    }
                    hide_dropdown() {
                        this.wrapper.classList.remove("active");
                    }
                    changed() {
                        this.hide_dropdown(), this.dispatchEvent(new Event("change"));
                    }
                    set_pos() {
                        (this.wrapper.classList.remove("bottom"), this.wrapper.classList.contains("active")) && this.nslot.getBoundingClientRect().bottom > window.innerHeight && this.wrapper.classList.add("bottom");
                    }
                    get options() {
                        return [...(this.querySelectorAll("ez-option") || [])];
                    }
                    get value() {
                        for (let t of this.options) if (t.selected) return t.value;
                    }
                    set value(t) {
                        for (let e of this.options) e.value == t && (e.selected = !0);
                        return t;
                    }
                }
                class r extends HTMLElement {
                    constructor() {
                        super(),
                            this.addEventListener("mousedown", () => {
                                (this.selected = !0), this.parentNode.changed();
                            });
                    }
                    get value() {
                        return this.getAttribute("value");
                    }
                    set value(t) {
                        return this.setAttribute("value", t), this.textContent || (this.textContent = this.getAttribute("value")), t;
                    }
                    get selected() {
                        return this.hasAttribute("selected");
                    }
                    set selected(t) {
                        if (t) {
                            this.setAttribute("selected", "");
                            for (let t of this.parentNode.options) t != this && t.selected && (t.selected = !1);
                            this.parentNode.label.nodeValue = this.textContent;
                        } else this.removeAttribute("selected");
                    }
                    connectedCallback() {
                        this.selected = this.selected;
                    }
                }
                (e.Select = s), (e.Option = r);
            },
            9271: (t, e, i) => {
                "use strict";
                var a = i(7263);
                class s extends HTMLElement {
                    constructor() {
                        super(), (this._value = 0), (this.labels = {});
                        var t = this.attachShadow({ mode: "open" });
                        (this.wrapper = a.add_ele("main", t)),
                            (this.background = a.add_ele("div", this.wrapper, { className: "background" })),
                            (this.thumb = a.add_ele("div", this.wrapper, { className: "thumb" })),
                            a.add_ele("style", t, { textContent: i(3273) }),
                            (this.movement = { held: !1, x: 0, y: 0 }),
                            this.addEventListener("mousedown", (t) => {
                                (this.movement = { held: !0, x: t.layerX, y: t.layerY }), this.update_slider(t);
                            }),
                            window.addEventListener("mouseup", () => (this.movement.held = !1)),
                            window.addEventListener("mousemove", (t) => this.update_slider(t));
                    }
                    get min() {
                        return this.getAttribute("min");
                    }
                    set min(t) {
                        return this.setAttribute("min", t), t;
                    }
                    get max() {
                        return this.getAttribute("max");
                    }
                    set max(t) {
                        return this.setAttribute("max", t), t;
                    }
                    get step() {
                        return this.getAttribute("step");
                    }
                    set step(t) {
                        return this.setAttribute("step", t), t;
                    }
                    get value() {
                        return this._value;
                    }
                    set value(t) {
                        return (this._value = t), this.render(), t;
                    }
                    update_slider(t) {
                        if (this.movement.held) {
                            var e = this.getBoundingClientRect(),
                                i = this.min,
                                s = this.max,
                                r = this.step,
                                n = ((t.pageX - e.x) / e.width) * 100,
                                o = Math.max((s * n) / 100, i);
                            r && (o = a.rtn(o, r)), (o = +o.toFixed(2)), t.clientX <= e.x ? (o = n = i) : t.clientX >= e.x + e.width && ((o = s), (n = 100)), (this.value = o), this.dispatchEvent(new Event("change"));
                        }
                    }
                    render() {
                        var t = (this.value / this.max) * 100;
                        (this.background.style.width = t + "%"), (this.thumb.dataset.label = (this.labels && this.labels[this.value]) || this.value);
                        var e = this.thumb.getBoundingClientRect(),
                            i = this.wrapper.getBoundingClientRect();
                        this.thumb.style.left = Math.min(Math.max((i.width * t) / 100 - e.width / 2, 0), i.width) + "px";
                    }
                    connectedCallback() {}
                }
                e.Slider = s;
            },
            2566: (t, e, i) => {
                "use strict";
                var a = i(7263);
                class s extends HTMLElement {
                    constructor() {
                        super();
                        var t = this.attachShadow({ mode: "closed" });
                        (this.main = a.add_ele("main", t)), a.add_ele("style", t, { textContent: i(3497) }), this.addEventListener("click", () => ((this.checked ^= 1), this.dispatchEvent(new Event("change"))));
                    }
                    get checked() {
                        return this.main.hasAttribute("checked");
                    }
                    set checked(t) {
                        return this.main[(t ? "set" : "remove") + "Attribute"]("checked", ""), this;
                    }
                }
                e.Switch = s;
            },
            387: (t, e, i) => {
                "use strict";
                var { Select: a, Option: s } = i(8861),
                    { Slider: r } = i(9271),
                    { Checkbox: n } = i(7376),
                    { Switch: o } = i(2566),
                    { Input: h } = i(4471),
                    { Button: c } = i(1902);
                customElements.define("ez-checkbox", n),
                    customElements.define("ez-select", a),
                    customElements.define("ez-option", s),
                    customElements.define("ez-slider", r),
                    customElements.define("ez-input", h),
                    customElements.define("ez-switch", o),
                    customElements.define("ez-button", c);
            },
            122: (t) => {
                "use strict";
                class e {
                    static original = Symbol();
                    static events = new WeakMap();
                    static resolve(t) {
                        e.events.has(this) || e.events.set(this, new Map());
                        var i = e.events.get(this),
                            a = i.get(t);
                        return a || ((a = new Set()), i.set(t, a)), a;
                    }
                    on(t, i) {
                        if ("function" != typeof i) throw new TypeError("Callback is not a function.");
                        return e.resolve.call(this, t).add(i), this;
                    }
                    once(t, i) {
                        var a = function (...e) {
                            this.off(t, i), i.call(this, ...e);
                        };
                        return (i[e.original] = a), this.on(t, a);
                    }
                    off(t, i) {
                        if ("function" != typeof i) throw new TypeError("Callback is not a function.");
                        return i[e.original] && (i = i[e.original]), e.resolve.call(this, t).delete(i);
                    }
                    emit(t, ...i) {
                        var a = e.resolve.call(this, t);
                        if (!a.size) {
                            if ("error" == t) throw i[0];
                            return !1;
                        }
                        for (let t of a)
                            try {
                                t.call(this, ...i);
                            } catch (t) {
                                this.emit("error", t);
                            }
                        return !0;
                    }
                }
                t.exports = e;
            },
            6425: (t, e, i) => {
                "use strict";
                var a = i(7263);
                class s {
                    utf8_dec = new TextDecoder("utf8");
                    constructor(t) {
                        (this.data = t), (this.name = t.name || ""), (this.size = t.size || 0);
                    }
                    read(t) {
                        var e = new FileReader();
                        return new Promise((i, a) => {
                            e.addEventListener(
                                "load",
                                () => {
                                    switch (t) {
                                        case "text":
                                        default:
                                            i(this.utf8_dec.decode(e.result));
                                            break;
                                        case "buffer":
                                            i(e.result);
                                    }
                                },
                                { once: !0 }
                            ),
                                e.readAsArrayBuffer(this.data);
                        });
                    }
                    static pick(t = {}) {
                        var e = a.add_ele("input", document.documentElement, { type: "file", style: { display: "none" } });
                        return (
                            Array.isArray(t.accept) && e.setAttribute("accept", t.accept.join(", ")),
                            t.multipe && e.setAttribute("multiple", ""),
                            new Promise((i, a) => {
                                e.addEventListener(
                                    "change",
                                    () => {
                                        var a = [];
                                        for (let t of e.files) a.push(new s(t));
                                        i(t.multiple ? a : a[0]);
                                    },
                                    { once: !0 }
                                ),
                                    e.click();
                            })
                        );
                    }
                    static save(t = {}) {
                        var e = a.add_ele("a", document.documentElement, { href: URL.createObjectURL(new Blob([t.data])), download: t.name || "", type: "file" });
                        e.click(), e.remove();
                    }
                }
                t.exports = s;
            },
            7598: (t, e, i) => {
                "use strict";
                var a = i(4254),
                    s = i(7263);
                t.exports = class {
                    constructor(t) {
                        this.frame = t;
                    }
                    alert(t) {
                        this.frame.css("panel", i(5302)), this.frame.css("action", i(9306));
                        var e = new a(this.frame, "prompt");
                        s.add_ele("div", e.node, { innerHTML: t, className: "description" });
                        var r = s.add_ele("form", e.node);
                        return s.add_ele("button", r, { textContent: "OK", className: "submit single" }), e.show(), e.focus(), new Promise((t) => r.addEventListener("submit", (i) => (i.preventDefault(), e.remove(), t()), { once: !0 }));
                    }
                    prompt(t, e = "") {
                        this.frame.css("panel", i(5302)), this.frame.css("action", i(9306));
                        var r = new a(this.frame, "prompt");
                        s.add_ele("div", r.node, { textContent: t, className: "description" });
                        var n = s.add_ele("form", r.node),
                            o = s.add_ele("input", n, { className: "input", value: e });
                        s.add_ele("button", n, { textContent: "OK", className: "submit" });
                        var h = s.add_ele("button", n, { textContent: "Cancel", className: "cancel" });
                        return (
                            r.show(),
                            r.focus(),
                            o.focus(),
                            o.select(),
                            new Promise((t, e) =>
                                n.addEventListener("submit", (i) => {
                                    i.preventDefault(), (i.submitter == h ? e : t)(o.value), r.remove();
                                })
                            )
                        );
                    }
                    options(t, e) {
                        var i = new a(this.frame, {}, "options");
                        t = s.add_ele("div", i.node, { textContent: t, className: "title" });
                        return (
                            i.focus(),
                            new Promise((t) => {
                                e.forEach((e, a) => s.add_ele("div", i.node, { className: "control", textContent: e[0] }).addEventListener("click", () => (i.hide(), t(e[1]))));
                            })
                        );
                    }
                };
            },
            7352: (t, e, i) => {
                "use strict";
                i(387);
                var { keybinds: a } = i(3432),
                    s = i(7263),
                    r = i(122);
                class n extends r {
                    constructor(t, e, i) {
                        super(),
                            (this.name = t),
                            (this.data = e),
                            (this.panel = i.panel),
                            (this.section = i),
                            (this.content = s.add_ele("div", this.section.node, { className: "control" })),
                            (this.label = s.add_ele("text", this.content, { nodeValue: this.name })),
                            this.content.addEventListener("click", (t) => {
                                [this.content, this.label].includes(t.target) || setTimeout(() => this.emit("click"));
                            }),
                            this.create();
                    }
                    create() {}
                    remove() {
                        this.content.remove();
                    }
                    walk(t) {
                        var e,
                            i,
                            a = this.panel.config;
                        for (let s of t.split(".")) a = (e = a)[(i = s)] || {};
                        return [e, i];
                    }
                    get value() {
                        if (!this.data.walk || (this.data.value && "object" != typeof this.data.value)) return this.data.value;
                        var t = this.walk(this.data.walk);
                        return t[0][t[1]];
                    }
                    set value(t) {
                        if (!this.data.walk) return this.emit("change", t);
                        var e = this.walk(this.data.walk);
                        return (e[0][e[1]] = t), this.panel.save_config(), this.emit("change", t), t;
                    }
                    interact() {
                        console.warn("No defined interaction for", this);
                    }
                    update() {}
                }
                (n.Types = [
                    class extends n {
                        static id = "keybind";
                        create() {
                            (this.input = s.add_ele("ez-input", this.content, { placeholder: "Press a key" })),
                                this.input.addEventListener("focus", () => {
                                    this.input.value = "";
                                }),
                                this.input.addEventListener("blur", () => {
                                    this.update();
                                }),
                                this.input.addEventListener("keydown", (t) => {
                                    t.preventDefault(), (this.value = "Escape" == t.code ? null : t.code), this.input.blur();
                                });
                        }
                        update(t) {
                            this.input.value = this.value ? s.string_key(this.value) : "Unset";
                        }
                    },
                    class extends n {
                        static id = "select";
                        create() {
                            this.select = s.add_ele("ez-select", this.content, { events: { change: () => (this.value = this.select.value) } });
                            for (let t in this.data.value) s.add_ele("ez-option", this.select, { textContent: this.data.value[t], value: t });
                        }
                        update(t) {
                            t && (this.select.value = this.value);
                        }
                    },
                    class extends n {
                        static id = "dropdown";
                        create() {
                            this.select = s.add_ele("ez-select", this.content, {
                                events: {
                                    change: () => {
                                        (this.key = this.select.value), (this.value = this.data.value[this.select.value]);
                                    },
                                },
                            });
                            for (let t in this.data.value) s.add_ele("ez-option", this.select, { textContent: t, value: t });
                        }
                        update(t) {
                            if (t) for (let [t, e] of Object.entries(this.data.value)) e == this.value && ((this.select.value = t), (this.key = t));
                        }
                    },
                    class extends n {
                        static id = "boolean";
                        create() {
                            this.input = s.add_ele("ez-checkbox", this.content, { events: { change: () => (this.value = this.input.checked) } });
                        }
                        interact() {
                            this.value = !this.value;
                        }
                        update(t) {
                            t && (this.input.checked = this.value);
                        }
                    },
                    class extends n {
                        static id = "function";
                        create() {
                            (this.button = s.add_ele("ez-button", this.content)), this.button.append(this.label), this.button.addEventListener("click", () => this.data.value());
                        }
                    },
                    class extends n {
                        static id = "functions";
                        create() {
                            for (let t in this.value) s.add_ele("ez-button", this.content, { textContent: t, events: { click: this.value[t] } });
                        }
                    },
                    class extends n {
                        static id = "link";
                        create() {
                            (this.link = s.add_ele("a", this.content)), this.link.append(this.label);
                        }
                        interact() {
                            this.link.click();
                        }
                        update() {
                            this.link.href = this.value;
                        }
                    },
                    class extends n {
                        static id = "textbox";
                        update() {
                            (this.button.style.display = "none"), (this.input.value = ("" + this.value).substr(0, this.data.max_length));
                        }
                    },
                    class extends n {
                        static id = "slider";
                        create() {
                            (this.input = s.add_ele("ez-slider", this.content, { min: this.data.min, max: this.data.max, step: this.data.step })),
                                (this.input.labels = this.data.labels),
                                this.input.addEventListener("change", () => (this.value = this.input.value));
                        }
                        update(t) {
                            t ? (this.input.value = this.value) : this.input.render();
                        }
                    },
                    class extends n {
                        static id = "color";
                        create() {
                            this.input = s.add_ele("input", this.content, { type: "color", events: { change: () => (this.value = this.input.value) } });
                        }
                        update(t) {
                            super.update(t), t && (this.input.value = this.value);
                        }
                    },
                ]),
                    (t.exports = n);
            },
            6099: (t, e, i) => {
                "use strict";
                var a = i(7263),
                    s = i(7352);
                t.exports = class {
                    constructor(t, e) {
                        (this.panel = e),
                            (this.node = a.add_ele("section", this.panel.sections_con)),
                            (this.name = t),
                            (this.controls = new Set()),
                            (this.button = a.add_ele("div", this.panel.sidebar_con, {
                                className: "open",
                                textContent: this.name,
                                events: {
                                    click: () => {
                                        this.interact();
                                    },
                                },
                            })),
                            this.hide();
                    }
                    interact() {
                        this.show();
                        for (let t of this.panel.tabs) t != this && t.hide();
                    }
                    get visible() {
                        return !this.node.classList.contains("hidden");
                    }
                    update(t) {
                        for (let e of this.controls)
                            try {
                                e.emit("change", e.value, t), e.update(t);
                            } catch (t) {
                                console.error(t);
                            }
                    }
                    show(t) {
                        this.button.classList.add("active"), this.node.classList.remove("hidden"), this.update(t), (this.panel.config.section = this.name), t || this.panel.save_config();
                    }
                    hide() {
                        this.button.classList.remove("active"), this.node.classList.add("hidden");
                    }
                    control(t, e) {
                        void 0 === e && "object" == typeof t && ((e = t), (t = ""));
                        for (let i of s.Types)
                            if (i.id == e.type) {
                                let a = new i(t, e, this);
                                return this.controls.add(a), a;
                            }
                        throw new TypeError("Unknown type: " + e.type);
                    }
                };
            },
            7433: (t, e, i) => {
                "use strict";
                var { store: a } = i(3432),
                    s = i(7263),
                    r = i(2311),
                    n = i(3836),
                    o = (i(7352), i(6099));
                t.exports = class extends n {
                    constructor(t, e, i, a = new r()) {
                        super(t, "config"),
                            (this.store = a),
                            (this.config_key = i),
                            (this.presets = new Map()),
                            (this.tabs = new Set()),
                            (this.title = this.listen_dragging(s.add_ele("div", this.node, { textContent: e, className: "title" }))),
                            (this.title_right = s.add_ele("div", this.title, { className: "right" })),
                            (this.sidebar_con = s.add_ele("div", this.node, { className: "tabs" })),
                            (this.sections_con = s.add_ele("div", this.node, { className: "sections" })),
                            this.apply_bounds();
                    }
                    get default_section() {
                        var t;
                        for (let e of this.tabs) {
                            if (e.visible) return e;
                            if ((t || (t = e), e.name == this.config.section)) return e;
                        }
                        return t;
                    }
                    update(t) {
                        this.apply_bounds();
                        for (let e of this.tabs) e.update(t), e == this.default_section ? e.show(t) : e.hide();
                        this.title_right.textContent = ["F2", this.config.binds.toggle].map(s.string_key).join(" or ");
                    }
                    tab(t) {
                        var e = new o(t, this);
                        return this.tabs.add(e), e;
                    }
                    add_preset(t, e) {
                        this.presets.set(t, e), this.emit("add-preset", t, e);
                    }
                    async insert_config(t, e = !1, i = {}) {
                        (this.config = s.assign_deep(s.clone_obj(this.presets.get("Default")), t, i)), e && (await this.save_config()), this.emit("config", e), this.update(!0);
                    }
                    async load_preset(t, e = {}) {
                        if (!this.presets.has(t)) throw new Error("Invalid preset:", t);
                        this.insert_config(this.presets.get(t), !0, e);
                    }
                    async save_config() {
                        this.emit("config"), await this.store.set(this.config_key, this.config);
                    }
                    async load_config() {
                        this.insert_config(await this.store.get(this.config_key, "object")), (this.pos = { x: 1, y: this.center_side("height") }), this.apply_bounds(), this.load_ui_data();
                    }
                };
            },
            4151: (t, e, i) => {
                "use strict";
                var { store: a } = i(3432),
                    s = i(7263),
                    r = i(2713);
                t.exports = class {
                    static ID() {
                        return Math.random().toString();
                    }
                    constructor(t, e) {
                        (this.panel = e),
                            this.panel.tabs.add(this),
                            (this.name = t.name),
                            (this.id = t.id),
                            (this.active = t.active),
                            (this.focused = !1),
                            (this.node = s.add_ele("div", e.tab_con, { className: "tab" })),
                            (this.namen = s.add_ele("div", this.node, { className: "name" })),
                            s.add_ele("raw", this.node, {
                                html: r.close,
                                className: "close button",
                                events: {
                                    click: (t) => {
                                        t.stopImmediatePropagation(), this.remove();
                                    },
                                },
                            }),
                            this.node.addEventListener("click", () => this.focus()),
                            this.update();
                    }
                    async save() {
                        return await this.panel.save_config(), this;
                    }
                    async get_value() {
                        return (await a.get_raw(this.id)) || "";
                    }
                    async set_value(t = this.panel.editor.getValue()) {
                        await a.set_raw(this.id, t);
                    }
                    async rename(t) {
                        t.replace(/\s/g, "").length && ((this.name = this.namen.textContent = t), await this.save(), this.update());
                    }
                    update() {
                        (this.namen.textContent = this.name), this.panel.update_overflow();
                    }
                    async focus() {
                        if (this.focused) return this;
                        for (let t of this.panel.tabs) t.blur();
                        return (
                            (this.focused = !0),
                            this.node.classList.add("active"),
                            this.panel.editor.setValue(await this.get_value()),
                            (this.panel.filename.value = this.name),
                            (this.panel.fileactive.checked = this.active),
                            (this.panel.saved = !0),
                            this.panel.update(),
                            this
                        );
                    }
                    blur() {
                        (this.focused = !1), this.node.classList.remove("active");
                    }
                    async remove() {
                        this.node.remove(), this.panel.tabs.delete(this), await a.set_raw(this.id, ""), await this.save(), await this.panel.load(), (await this.panel.first_tab()).focus();
                    }
                    async toggle_active() {
                        (this.active = !this.active), await this.save(), this.update(), this.panel.load();
                    }
                };
            },
            2097: (t, e, i) => {
                "use strict";
                var { store: a } = i(3432),
                    s = i(7263),
                    r = i(3836),
                    n = i(4151),
                    o = i(2713),
                    h = i(5186),
                    c = i(7598);
                t.exports = class extends r {
                    constructor(t, e) {
                        super(t, "editor"),
                            this.frame.css("editor", i(7405)),
                            (this.actions = new c(this.frame)),
                            (this.data = e),
                            (this.sheet = s.add_ele("style", () => document.documentElement)),
                            (this.title = s.add_ele("div", this.node, { textContent: this.data.title, className: "bar" })),
                            (this.scroll_by = 0),
                            setInterval(() => {
                                this.scroll_by && (this.tab_con.scrollBy(25 * this.scroll_by, 0), this.update_overflow());
                            }, 50),
                            window.addEventListener("blur", () => (this.scroll_by = 0)),
                            window.addEventListener("mouseup", () => (this.scroll_by = 0)),
                            (this.back = s.add_ele("button", this.title, { className: "scroll back", textContent: "<", events: { mousedown: () => (this.scroll_by = -1) } })),
                            (this.tab_con = s.add_ele("div", this.title, { className: "files" })),
                            (this.forward = s.add_ele("button", this.title, { className: "scroll forward", textContent: ">", events: { mousedown: () => (this.scroll_by = 1) } })),
                            (this.controls = this.listen_dragging(s.add_ele("div", this.title, { className: "actions" }))),
                            s.add_ele("button", this.controls, { className: "new" }).addEventListener("click", async () => this.new_tab()),
                            (this.saven = s.add_ele("button", this.controls, { innerHTML: o.save, className: "save", events: { click: () => this.save_doc() } })),
                            s.add_ele("button", this.controls, {
                                innerHTML: o.web,
                                className: "web",
                                events: {
                                    click: () =>
                                        this.actions
                                            .prompt("Enter a CSS link", "https://")
                                            .then(async (t) => {
                                                try {
                                                    var e = await (await fetch(new URL(t, location))).text(),
                                                        i = t.split("/").slice(-1)[0],
                                                        a = new n({ id: n.ID(), name: i, active: !0 }, this);
                                                    await a.set_value(e), await a.save(), a.focus(), await this.load();
                                                } catch (t) {
                                                    "Failed to construct 'URL': Invalid URL" == t.message ? this.actions.alert("Invalid URL") : this.actions.alert("Loading failed: " + t.message);
                                                }
                                            })
                                            .catch(() => {}),
                                },
                            }),
                            (this.data.help = this.data.help.replace(/svg\.(\w+)/g, (t, e) => o[e])),
                            s.add_ele("button", this.controls, { textContent: "?", events: { click: (t) => this.actions.alert(this.data.help) } }),
                            s.add_ele("button", this.controls, { innerHTML: o.close, className: "hide", events: { click: (t) => this.hide() } }),
                            (this.tabs = new Set()),
                            (this.editor = new h(this.node)),
                            this.editor.on("ctrl+s", () => this.save_doc()),
                            this.editor.on("ctrl+r", () => this.load()),
                            this.editor.on("change", () => {
                                (this.saved = !1), this.update();
                            }),
                            (this.footer = s.add_ele("footer", this.node)),
                            (this.footer_text = s.add_ele("div", this.footer, { className: "text" }));
                        var a = s.add_ele("div", this.footer, { className: "file-opt", textContent: "Name:" });
                        this.filename = s.add_ele("ez-input", a, {
                            spellcheck: !1,
                            events: {
                                change: async () => {
                                    (await this.focused_tab()).rename(this.filename.value);
                                },
                                focus: async () => {
                                    var t = document.createRange();
                                    t.selectNodeContents(this.filename.main);
                                    var e = window.getSelection();
                                    e.removeAllRanges(), e.addRange(t);
                                },
                            },
                        });
                        var r = s.add_ele("div", this.footer, { className: "file-opt", textContent: "Active:" });
                        (this.fileactive = s.add_ele("ez-checkbox", r, { events: { change: async () => (await this.focused_tab()).toggle_active() } })),
                            this.update(),
                            this.load_config(),
                            (this.pos = { x: this.center_side("width"), y: this.center_side("height") }),
                            this.apply_bounds(),
                            this.load_ui_data(),
                            this.hide();
                    }
                    update_overflow() {
                        this.tab_con.scrollWidth > this.tab_con.offsetWidth
                            ? (this.title.classList.add("overflow"), (this.back.disabled = 0 == this.tab_con.scrollLeft), (this.forward.disabled = this.tab_con.scrollLeft + this.tab_con.offsetWidth == this.tab_con.scrollWidth))
                            : this.title.classList.remove("overflow");
                    }
                    async new_tab() {
                        var t = await new n({ id: n.ID(), name: "New Style", active: !0, value: "" }, this);
                        return await t.save(), t.focus(), t;
                    }
                    async focused_tab() {
                        for (let t of this.tabs) if (t.focused) return t;
                        return (await this.new_tab()).focus();
                    }
                    async first_tab() {
                        for (let t of this.tabs) return t;
                        return await this.new_tab();
                    }
                    update() {
                        this.saven.classList[this.saved ? "add" : "remove"]("saved"),
                            (this.footer_text.innerHTML = null == this.saved ? "Editor loaded" : this.saved ? "All changes saved" : `Unsaved changes, press ${o.save}`),
                            this.apply_bounds();
                    }
                    async save_doc() {
                        for (let t of this.tabs) t.focused && (await a.set_raw(t.id, this.editor.getValue()));
                        (this.saved = !0), await this.update(), await this.load();
                    }
                    async load() {
                        this.update_overflow(), (this.sheet.textContent = "");
                        for (let t of this.tabs) t.active && (this.sheet.textContent += await t.get_value());
                    }
                    async load_config() {
                        for (let t of await a.get("css", "array")) {
                            let e = new n(t, this);
                            e.active && (this.sheet.textContent += await e.get_value());
                        }
                        (await this.first_tab()).focus();
                    }
                    async save_config() {
                        await a.set(
                            "css",
                            [...this.tabs].map((t) => ({ id: t.id, name: t.name, active: t.active }))
                        );
                    }
                };
            },
            2713: (t, e) => {
                "use strict";
                (e.rename =
                    '<svg xmlns="http://www.w3.org/2000/svg" class="rename" viewBox="0 0 226 226"><path fill="currentColor" stroke="#ccc" stroke-linejoin="round" stroke-width=".996" d="M149.0505288 34.524144c2.3905494 1.1540553 4.3414544 2.582897 6.1549712 3.9567694 1.8135168-1.3738724 3.7644218-2.8027041 6.1549712-3.9567693C168.4771602 31.0619784 178.1767261 28.589 190.37675 28.589v14.0685c-10.3040782 0-18.0252694 2.033344-22.8613075 4.3964038-2.4180191 1.1815348-4.2590155 2.500458-5.0558653 3.2973078-.164858.1648678-.164858.1099086-.2198172.2198172v124.8579424c.0549592.1099086.0549592.0549593.2198172.2198172.7968498.7968498 2.6378462 2.115773 5.0558653 3.2973078 4.8360481 2.3630698 12.5572293 4.3964038 22.8613175 4.3964038v14.0685c-12.200024 0-21.8995998-2.4729784-29.0162788-5.935144-2.3905494-1.1540553-4.3414445-2.582887-6.1549712-3.9567694-1.8135168 1.3738824-3.7644219 2.802714-6.1549713 3.9567693C141.9338498 194.9380316 132.234284 197.411 120.03426 197.411v-14.0685c10.3040781 0 18.0252693-2.033334 22.8613174-4.3964038 2.4180191-1.1815348 4.2590156-2.500458 5.0558654-3.2973078.1648678-.1648579.1648678-.1099086.2198172-.2198172V50.5710387c-.0549494-.1099086-.0549494-.0549493-.2198172-.2198172-.7968498-.7968498-2.6378463-2.1157729-5.0558654-3.2973078-4.836048-2.3630697-12.5572293-4.3964037-22.8613075-4.3964037v-14.0685c12.200024 0 21.8995998 2.4729783 29.0162788 5.935144zM134.10275 70.7945V84.863h-112.548v56.274h112.548v14.0685H7.48625v-84.411zm84.411 0v84.411h-42.2055V141.137h28.137V84.863h-28.137V70.7945zm-126.6165 28.137v28.137h-56.274v-28.137z"/><path fill="none" d="M.452 225.548V.452h225.096v225.096z"/><path fill="currentColor" d="M120.03425 28.589v14.0685c10.3040782 0 18.0252694 2.033344 22.8613175 4.3964038 2.418019 1.1815348 4.2590155 2.500458 5.0558653 3.2973078.1648679.1648678.1648679.1099086.2198172.2198172v124.8579424c-.0549493.1099086-.0549493.0549593-.2198172.2198172-.7968498.7968498-2.6378462 2.115773-5.0558653 3.2973078-4.8360481 2.3630698-12.5572294 4.3964038-22.8613075 4.3964038v14.0685c12.2000239 0 21.8995998-2.4729784 29.0162787-5.935144 2.3905494-1.1540553 4.3414545-2.582887 6.1549713-3.9567694 1.8135168 1.3738824 3.7644218 2.802714 6.1549712 3.9567693 7.116689 3.4621757 16.8162548 5.9351441 29.0162788 5.9351441v-14.0685c-10.3040782 0-18.0252694-2.033334-22.8613076-4.3964038-2.418019-1.1815348-4.2590155-2.500458-5.0558653-3.2973078-.1648579-.1648579-.1648579-.1099086-.2198172-.2198172V50.5710387c.0549593-.1099086.0549593-.0549493.2198172-.2198172.7968498-.7968498 2.6378463-2.1157729 5.0558653-3.2973078 4.8360482-2.3630697 12.5572294-4.3964037 22.8613175-4.3964037v-14.0685c-12.2000239 0-21.8995998 2.4729783-29.0162787 5.935144-2.3905494 1.1540553-4.3414445 2.582897-6.1549713 3.9567694-1.8135168-1.3738724-3.7644218-2.8027042-6.1549712-3.9567694-7.116689-3.4621657-16.8162549-5.935144-29.0162788-5.935144zM7.48625 70.7945v84.411h126.6165V141.137h-112.548V84.863h112.548V70.7945zm168.822 0V84.863h28.137v56.274h-28.137v14.0685h42.2055v-84.411zm-140.685 28.137v28.137h56.274v-28.137z"/></svg>'),
                    (e.close =
                        '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="currentColor" d="M 3.726563 3.023438 L 3.023438 3.726563 L 7.292969 8 L 3.023438 12.269531 L 3.726563 12.980469 L 8 8.707031 L 12.269531 12.980469 L 12.980469 12.269531 L 8.707031 8 L 12.980469 3.726563 L 12.269531 3.023438 L 8 7.292969 Z"></path></svg>'),
                    (e.save =
                        '<svg xmlns="http://www.w3.org/2000/svg" class="save button" viewBox="0 0 226 226"><g fill="none" stroke-linejoin="none" stroke-miterlimit="10" font-family="none" font-size="none" font-weight="none" style="mix-blend-mode:normal" text-anchor="none"><path fill="currentColor" d="M156.2876938 78.369847h-25.9726123V17.7670814h25.9726123zM225.548 52.3972345v147.178153c0 14.3390436-11.6335688 25.9726124-25.9726123 25.9726124H26.4246223C12.0855788 225.548.45201 213.9144312.45201 199.5753877V26.4246223C.45201 12.0855788 12.0855788.45201 26.4246223.45201h147.178153c7.1695268 0 11.1262862.372006 31.3497574 20.5954672C225.175994 41.2709485 225.548 45.2277178 225.548 52.3972346zM43.7396938 78.3698469c0 4.7684098 3.889131 8.6575408 8.6575408 8.6575408h112.548c4.7684098 0 8.6575408-3.889131 8.6575408-8.6575408V17.7670815c0-4.7684097-3.889131-8.6575407-8.6575408-8.6575407h-112.548c-4.7684098 0-8.6575408 3.889131-8.6575408 8.6575407zm155.8356939 43.2876939c0-4.7684098-3.889131-8.6575408-8.6575408-8.6575408H35.0821531c-4.7684098 0-8.6575408 3.889131-8.6575408 8.6575408v86.5753876c0 4.7684098 3.889131 8.6575408 8.6575408 8.6575408h155.8356938c4.7684098 0 8.6575408-3.889131 8.6575408-8.6575408z"/><path d="M.452 225.548V.452h225.096v225.096z"/><path fill="currentColor" d="M156.2876938 78.369847h-25.9726123V17.7670814h25.9726123zM225.548 52.3972345v147.178153c0 14.3390436-11.6335688 25.9726124-25.9726123 25.9726124H26.4246223C12.0855788 225.548.45201 213.9144312.45201 199.5753877V26.4246223C.45201 12.0855788 12.0855788.45201 26.4246223.45201h147.178153c7.1695268 0 11.1262862.372006 31.3497574 20.5954672C225.175994 41.2709485 225.548 45.2277178 225.548 52.3972346zM43.7396938 78.3698469c0 4.7684098 3.889131 8.6575408 8.6575408 8.6575408h112.548c4.7684098 0 8.6575408-3.889131 8.6575408-8.6575408V17.7670815c0-4.7684097-3.889131-8.6575407-8.6575408-8.6575407h-112.548c-4.7684098 0-8.6575408 3.889131-8.6575408 8.6575407zm155.8356939 43.2876939c0-4.7684098-3.889131-8.6575408-8.6575408-8.6575408H35.0821531c-4.7684098 0-8.6575408 3.889131-8.6575408 8.6575408v86.5753876c0 4.7684098 3.889131 8.6575408 8.6575408 8.6575408h155.8356938c4.7684098 0 8.6575408-3.889131 8.6575408-8.6575408z"/></g></svg>'),
                    (e.web =
                        '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 172 172"><g fill="none" stroke-miterlimit="10" font-family="none" font-size="none" font-weight="none" style="mix-blend-mode:normal" text-anchor="none"><path d="M0 172V0h172v172z"/><path fill="currentColor" d="M86 0C47.80649 0 15.32392 25.04026 4.13462 59.53846h14.05769c1.86058-4.75481 4.23798-9.22536 7.02885-13.4375.41346.07753.80108.20673 1.24038.20673h12.40385c-1.31791 4.1863-2.40324 8.65685-3.30769 13.23077h13.64423c1.03365-4.6256 2.22236-9.09615 3.72115-13.23077h66.15385c1.4988 4.13462 2.6875 8.60517 3.72115 13.23077h13.64423c-.90445-4.57392-1.98978-9.04447-3.30769-13.23077h12.40385c.4393 0 .82692-.12921 1.24038-.20673 2.76503 4.21214 5.16827 8.68269 7.02885 13.4375h14.05769C156.67609 25.04026 124.19352 0 86.00001 0zm0 13.23077c10.25901 0 19.74279 7.6232 26.875 19.84615h-53.75C66.25721 20.85396 75.74099 13.23077 86 13.23077zm-36.38462 9.71635c-2.04147 3.10096-3.8762 6.53786-5.58173 10.12981h-7.85577c4.08294-3.85036 8.55349-7.28726 13.4375-10.12981zm72.76924 0c4.88401 2.84255 9.35457 6.27945 13.4375 10.12981h-7.85577c-1.70553-3.59195-3.54026-7.02885-5.58173-10.12981zM1.65385 72.14904c-.25841.12921-.4393.41346-.62019.62019-.33594.4393-.41346.95613-.20673 1.44712l10.33654 25.01442c.25842.62019.87861 1.03365 1.65385 1.03365h5.58173c.72356 0 1.36959-.4393 1.65385-1.03365l5.58173-11.78365c.49099-1.08533.95613-2.27404 1.44712-3.51442.4393 1.11118.93029 2.11899 1.44712 3.30769l5.16827 11.99038c.25842.62019.90445 1.03365 1.65385 1.03365h5.78846c.7494 0 1.39544-.41346 1.65385-1.03365l10.95673-25.01442c.20673-.49099.15505-1.00781-.20673-1.44712-.33594-.4393-.85276-.62019-1.44712-.62019h-6.20192c-.77524 0-1.39543.38762-1.65385 1.03365l-4.96154 12.61058c-.4393 1.11118-.69772 1.96394-1.03365 2.89423-.38762-.98197-.77524-1.96394-1.24038-3.10096l-5.375-12.40385c-.25841-.62019-.90445-1.03365-1.65385-1.03365h-5.16827c-.7494 0-1.60216.41346-1.86058 1.03365l-5.58173 12.61058c-.46514 1.08534-.85276 2.14483-1.24038 3.10096-.33594-.95613-.64603-2.04147-1.03365-3.10096L10.5433 73.18269c-.23257-.67187-.85276-1.03365-1.65385-1.03365H2.4808c-.3101 0-.56851-.12921-.82692 0zm59.125 0c-.25841.12921-.64603.41346-.82692.62019-.33594.4393-.41346.95613-.20673 1.44712l10.33654 25.01442c.25842.62019.87861 1.03365 1.65385 1.03365h5.78846c.7494 0 1.36959-.4393 1.65385-1.03365l5.58173-11.78365c.49099-1.08533.95613-2.27404 1.44712-3.51442.4393 1.11118.72356 2.11899 1.24038 3.30769l5.375 11.99038c.25842.62019.90445 1.03365 1.65385 1.03365h5.58173c.7494 0 1.39544-.41346 1.65385-1.03365l11.16346-25.01442c.20673-.49099.15505-1.00781-.20673-1.44712-.33594-.4393-1.03365-.62019-1.65385-.62019h-5.99519c-.77524 0-1.60216.38762-1.86058 1.03365l-4.75481 12.61058c-.4393 1.11118-.90445 1.96394-1.24038 2.89423-.38762-.98197-.77524-1.96394-1.24038-3.10096l-5.16827-12.40385c-.25841-.62019-1.11118-1.03365-1.86058-1.03365h-5.16827c-.7494 0-1.39543.41346-1.65385 1.03365L76.4904 85.79327c-.46514 1.08534-.85276 2.14483-1.24038 3.10096-.33594-.95613-.64603-2.04147-1.03365-3.10096l-4.54808-12.61058c-.23257-.67187-1.05949-1.03365-1.86058-1.03365h-6.20192c-.28426 0-.56851-.12921-.82692 0zm58.91827 0c-.25841.12921-.4393.41346-.62019.62019-.33594.4393-.38762.95613-.20673 1.44712l10.33654 25.01442c.25842.62019.87861 1.03365 1.65385 1.03365h5.58173c.72356 0 1.36959-.4393 1.65385-1.03365l5.58173-11.78365c.49099-1.08533.95613-2.27404 1.44712-3.51442.4393 1.11118.93029 2.11899 1.44712 3.30769l5.16827 11.99038c.25842.62019.90445 1.03365 1.65385 1.03365h5.78846c.7494 0 1.36959-.41346 1.65385-1.03365l10.95673-25.01442c.20673-.49099.12921-1.00781-.20673-1.44712-.33594-.4393-.82692-.62019-1.44712-.62019h-6.20192c-.77524 0-1.42128.38762-1.65385 1.03365l-4.96154 12.61058c-.4393 1.11118-.69772 1.96394-1.03365 2.89423-.38762-.98197-.77524-1.96394-1.24038-3.10096l-5.375-12.40385c-.25841-.62019-.90445-1.03365-1.65385-1.03365h-5.375c-.7494 0-1.39543.41346-1.65385 1.03365l-5.58173 12.61058c-.46514 1.08534-.85276 2.14483-1.24038 3.10096-.33594-.95613-.64603-2.04147-1.03365-3.10096l-4.54808-12.61058c-.23257-.67187-.85276-1.03365-1.65385-1.03365h-6.40865c-.3101 0-.56851-.12921-.82692 0zm-115.5625 40.3125C15.32392 146.95974 47.8065 172 86 172c38.19351 0 70.67608-25.04026 81.86538-59.53846h-14.05769c-1.86058 4.75481-4.26382 9.22536-7.02885 13.4375-.41346-.07753-.80108-.20673-1.24038-.20673h-12.40385c1.31791-4.18629 2.19651-8.65685 3.10096-13.23077h-13.4375c-1.00781 4.6256-2.22235 9.12199-3.72115 13.23077H52.92307c-1.49879-4.10878-2.6875-8.60517-3.72115-13.23077h-13.4375c.90445 4.57392 1.78305 9.04447 3.10096 13.23077H26.46153c-.4393 0-.82692.12921-1.24038.20673-2.76503-4.21214-5.16827-8.68269-7.02885-13.4375zm32.04326 26.46154h7.85577c1.70553 3.59195 3.54026 7.02885 5.58173 10.12981-4.88401-2.84254-9.35456-6.27945-13.4375-10.12981zm22.94712 0h53.75c-7.13221 12.22296-16.61599 19.84615-26.875 19.84615s-19.74279-7.6232-26.875-19.84615zm68.84135 0h7.85577c-4.08293 3.85036-8.55349 7.28726-13.4375 10.12981 2.04147-3.10096 3.87621-6.53786 5.58173-10.12981z"/></g></svg>'),
                    (e.reload =
                        '<svg xmlns="http://www.w3.org/2000/svg" class="new button" viewBox="0 0 24 24"><path fill="currentColor" d="M12 3c-4.963 0-9 4.038-9 9h2c0-3.86 3.141-7 7-7 2.185097 0 4.125208 1.0167955 5.408203 2.5917969L15 10h6V4l-2.166016 2.1660156C17.184843 4.2316704 14.736456 3 12 3zm7 9c0 3.859-3.141 7-7 7-2.1850969 0-4.1252078-1.016796-5.4082031-2.591797L9 14H3v6l2.1660156-2.166016C6.8151574 19.76833 9.263544 21 12 21c4.963 0 9-4.037 9-9h-2z"/></svg>');
            },
            1191: (t, e, i) => {
                "use strict";
                var a = i(7263);
                t.exports = class {
                    container = a.add_ele("div", () => document.documentElement, {
                        style: { top: 0, left: 0, "z-index": 9999999999, border: "none", position: "absolute", background: "#0000", width: "100vw", height: "100vh", overflow: "hidden" },
                    });
                    content = this.container.attachShadow({ mode: "open" });
                    constructor() {
                        (this.update = this.update.bind(this)), window.addEventListener("mousemove", this.update), window.addEventListener("mousedown", this.update), window.addEventListener("mouseup", this.update);
                    }
                    panels = new Set();
                    update(t) {
                        for (let e of this.panels) {
                            if (!e.visible) continue;
                            let i = e.node.getBoundingClientRect();
                            if (t.clientX >= i.x && t.clientY >= i.y && t.clientX - i.x <= i.width && t.clientY - i.y <= i.height) return (this.container.style["pointer-events"] = "all");
                        }
                        if (((this.container.style["pointer-events"] = "none"), "mousedown" == t.type)) for (let t of this.panels) t.blur();
                    }
                    added_css = new Set();
                    css(t, e) {
                        return !this.added_css.has(t) && (this.added_css.add(t), a.add_ele("style", this, { textContent: e }), !0);
                    }
                    append(t) {
                        this.content.append(t);
                    }
                };
            },
            8859: (t, e, i) => {
                "use strict";
                var a = i(7263),
                    s = i(5018);
                t.exports = class extends s {
                    constructor(t, e, s) {
                        super(t, "loading"), this.frame.css("loading", i(2617)), a.add_ele("img", this.node, { src: s }), a.add_ele("a", this.node, { href: e, draggable: !1, target: "_blank" }), this.show();
                    }
                    update() {
                        this.node.classList[this.visible ? "remove" : "add"]("hidden");
                    }
                };
            },
            3836: (t, e, i) => {
                "use strict";
                var { frame: a, panels: s, store: r } = i(3432),
                    n = i(4254);
                t.exports = class extends n {
                    constructor(t, e) {
                        super(t, e),
                            (this.pos = { x: 0, y: 0 }),
                            window.addEventListener("resize", () => this.apply_bounds()),
                            window.addEventListener("mousemove", (t) => {
                                var e = { x: t.pageX, y: t.pageY };
                                this.prev_pos &&
                                    this.dragging &&
                                    ((this.pos.x += ((e.x - this.prev_pos.x) / this.bounds().width) * 100), (this.pos.y += ((e.y - this.prev_pos.y) / this.bounds().height) * 100), this.save_ui(), this.apply_bounds()),
                                    (this.prev_pos = e);
                            }),
                            window.addEventListener("mouseup", () => {
                                this.dragging && ((this.pos = this.within_bounds()), this.apply_bounds(), (this.dragging = !1));
                            });
                    }
                    async load_ui_data() {
                        var t = await this.load_ui();
                        (this.pos = t.pos), (this.visible = t.visible), this.visible ? this.show() : this.hide(), this.apply_bounds();
                    }
                    async save_ui(t) {
                        if (["editor", "config"].includes(this.type)) {
                            t ? (await this.load_ui().catch((t) => this)).pos : this.pos;
                            return r.set_raw(this.type + "-ui", +this.visible + "," + this.pos.x + "," + this.pos.y);
                        }
                    }
                    async load_ui() {
                        var t = await r.get_raw(this.type + "-ui");
                        if (!t) return this;
                        var e = t.split(",");
                        return { pos: { x: +e[1], y: +e[2] }, visible: !!+e[0] };
                    }
                    listen_dragging(t) {
                        return t.addEventListener("mousedown", () => (this.dragging = !0)), t;
                    }
                    center_side(t) {
                        return 50 - (this.node.getBoundingClientRect()[t] / this.bounds()[t]) * 50;
                    }
                    bounds() {
                        return { width: window.innerWidth, height: window.innerHeight };
                    }
                    within_bounds() {
                        var t = this.node.getBoundingClientRect();
                        return { x: Math.min(Math.max(this.pos.x, 0), 100 - (t.width / this.bounds().width) * 100), y: Math.min(Math.max(this.pos.y, 0), 100 - (t.height / this.bounds().height) * 100) };
                    }
                    apply_bounds() {
                        var t = this.within_bounds();
                        (this.node.style.left = t.x.toFixed(1) + "%"), (this.node.style.top = t.y.toFixed(1) + "%");
                    }
                    show() {
                        super.show(), this.save_ui(!0);
                    }
                    hide() {
                        super.hide(), this.save_ui(!0);
                    }
                };
            },
            4254: (t, e, i) => {
                "use strict";
                var { store: a } = i(3432),
                    s = i(7263),
                    r = i(122);
                t.exports = class extends r {
                    constructor(t, e = "") {
                        super(),
                            (this.frame = t),
                            this.frame.css("panel", i(5302)),
                            (this.type = e),
                            (this.visible = !0),
                            (this.hover = !0),
                            (this.node = s.add_ele("main", this.frame, { className: this.type })),
                            this.frame.panels.add(this),
                            this.node.addEventListener("mousedown", () => this.focus());
                    }
                    focus() {
                        for (let t of this.frame.panels) t != this && t.blur();
                        this.node.classList.add("focus"), (this.node.style["z-index"] = 3);
                    }
                    blur() {
                        this.node.classList.remove("focus"), (this.node.style["z-index"] = 2);
                    }
                    show() {
                        this.focus(), (this.visible = !0), this.node.classList.add("visible");
                    }
                    hide() {
                        (this.visible = !1), this.node.classList.remove("visible");
                    }
                    remove() {
                        this.frame.panels.delete(this), this.hide(), this.node.remove();
                    }
                };
            },
            5186: (t, e, i) => {
                "use strict";
                var a = i(7263),
                    s = i(122);
                t.exports = class extends s {
                    constructor(t) {
                        super(),
                            (this.container = a.add_ele("div", t, { className: "write" })),
                            (this.linenums = a.add_ele("div", this.container, { className: "linenums" })),
                            (this.node = a.add_ele("textarea", this.container, { className: "text", spellcheck: !1 })),
                            a.add_ele("style", t, { textContent: i(47) }),
                            this.node.addEventListener("input", () => {
                                this.update(), this.emit("change");
                            }),
                            this.node.addEventListener("keydown", (t) => {
                                var e = t.key.toLowerCase();
                                t.ctrlKey && (["s", "w", "r"].includes(e) && t.preventDefault(), this.emit("ctrl+" + e)), "tab" == e && (this.insertAtCaret("\t"), t.preventDefault());
                            }),
                            this.update();
                    }
                    getValue() {
                        return this.node.value;
                    }
                    setValue(t) {
                        (this.node.value = t), this.update();
                    }
                    get line_count() {
                        return this.node.value.split("\n").length;
                    }
                    update() {
                        (this.node.style.width = "5px"), (this.node.style.height = "5px"), (this.node.style.width = this.node.scrollWidth + 4 + "px"), (this.node.style.height = this.node.scrollHeight + "px");
                        var t = this.line_count;
                        this.prev_line_count != t && ((this.prev_line_count = t), (this.linenums.textContent = [...Array(t)].map((t, e) => e + 1).join("\n")));
                    }
                    insertAtCaret(t = "") {
                        if (this.node.selectionStart || 0 == this.node.selectionStart) {
                            var e = this.node.selectionStart,
                                i = this.node.selectionEnd;
                            (this.node.value = this.node.value.substring(0, e) + t + this.node.value.substring(i, this.node.value.length)), (this.node.selectionStart = e + t.length), (this.node.selectionEnd = e + t.length);
                        } else this.node.value += t;
                        this.emit("change");
                    }
                };
            },
            3432: (t, e, i) => {
                "use strict";
                var a = i(2311);
                e.store = new a();
            },
            9075: (t, e, i) => {
                "use strict";
                i(8721), (e.Frame = i(1191)), (e.Actions = i(7598)), (e.Loading = i(8859)), (e.Config = i(7433)), (e.Editor = i(2097));
            },
            5018: (t, e, i) => {
                "use strict";
                var { store: a } = i(3432),
                    s = i(7263),
                    r = i(122);
                t.exports = class extends r {
                    constructor(t, e = "") {
                        super(),
                            (this.frame = t),
                            this.frame.css("panel", i(1650)),
                            (this.type = e),
                            (this.visible = !0),
                            (this.hover = !0),
                            (this.node = s.add_ele("main", this.frame, { className: this.type })),
                            this.frame.panels.add(this),
                            this.node.addEventListener("mousedown", () => this.focus());
                    }
                    focus() {
                        for (let t of this.frame.panels) t != this && t.blur();
                        this.node.classList.add("focus"), (this.node.style["z-index"] = 3);
                    }
                    blur() {
                        this.node.classList.remove("focus"), (this.node.style["z-index"] = 2);
                    }
                    show() {
                        this.focus(), (this.visible = !0), this.node.classList.add("visible");
                    }
                    hide() {
                        (this.visible = !1), this.node.classList.remove("visible");
                    }
                    remove() {
                        this.frame.panels.delete(this), this.hide(), this.node.remove();
                    }
                };
            },
            3363: (t, e, i) => {
                "use strict";
                var a = i(2176),
                    { Vector3: s } = i(4914),
                    { loader: r, api: n } = i(9606),
                    { vars: o, gconsts: h } = r,
                    c = 2 * Math.PI;
                t.exports = class {
                    smooth_map = { 0: 1, 0.1: 0.05, 0.2: 0.1, 0.3: 0.08, 0.4: 0.07, 0.5: 0.06, 0.6: 0.05, 0.7: 0.04, 0.8: 0.03, 0.9: 0.02, 1: 0.01 };
                    can_auto_fire = !0;
                    constructor(t) {
                        this.data = t;
                    }
                    push(t) {
                        if (this.data.player && this.data.controls)
                            try {
                                var e = new a(t);
                                this.modify(e), this.timers(e), e.done();
                            } catch (t) {
                                r.report_error("input", t);
                            }
                        return t;
                    }
                    aim_input(t, e) {
                        (e.xdir = t.x), (e.ydir = t.y);
                    }
                    aim_camera(t, e) {
                        (this.data.controls[o.pchObjc].rotation.x = t.x), (this.data.controls.object.rotation.y = t.y), this.aim_input(t, e);
                    }
                    correct_aim(t, e) {
                        e.shoot && (e.shoot = !this.data.player.shot), !e.reload && this.data.player.has_ammo && e.shoot && !this.data.player.shot && this.aim_input(t, e);
                    }
                    enemy_sight() {
                        if (!this.data.player.shot) {
                            var t = new this.data.three.Raycaster();
                            return (
                                t.setFromCamera({ x: 0, y: 0 }, this.data.world.camera),
                                !(
                                    !this.data.player.aimed ||
                                    !t.intersectObjects(
                                        this.data.players.filter((t) => t.can_target).map((t) => t.obj),
                                        !0
                                    ).length
                                ) || void 0
                            );
                        }
                    }
                    smooth(t, e, i, a) {
                        var s = this.data.utils.getAngleDst(t.xdir, e.x),
                            r = this.data.utils.getAngleDst(t.ydir, e.y);
                        return { y: t.ydir + r * i, x: t.xdir + s * a };
                    }
                    bhop(t) {
                        if (-1 != t.move) {
                            var e = this.data.bhop,
                                i = e.startsWith("auto"),
                                a = (e.startsWith("key"), e.endsWith("slide")),
                                s = a || e.endsWith("jump");
                            t.focused &&
                                (s &&
                                    (i || t.keys.has("Space")) &&
                                    ((this.data.controls.keys[this.data.controls.binds.jump.val] ^= 1), this.data.controls.keys[this.data.controls.binds.jump.val] && (this.data.controls.didPressed[this.data.controls.binds.jump.val] = 1)),
                                a &&
                                    (i || t.keys.has("Space")) &&
                                    this.data.player.velocity.y < -0.02 &&
                                    this.data.player.can_slide &&
                                    (setTimeout(() => (this.data.controls.keys[this.data.controls.binds.crouch.val] = 0), 325), (this.data.controls.keys[this.data.controls.binds.crouch.val] = 1)));
                        }
                    }
                    spin_count = 0;
                    spinbot(t) {
                        t.xdir = this.data.utils.deg2rad(-90);
                    }
                    spinbot_pre(t) {
                        (t.crouch = -1 == t.move), (t.scope = t.scope || t.crouch), (t.ydir += c * (1e9 * (this.spin_count ^= 1)));
                    }
                    anti_offset(t) {
                        (t.x -= this.data.world.shakeY), (t.x -= this.data.player.entity.recoilAnimY * h.recoilMlt), (t.x -= 0.1 * this.data.player.entity.landBobY);
                    }
                    move = 0;
                    timers(t) {
                        this.data.player.can_shoot && t.shoot && !this.data.player.shot
                            ? ((this.data.player.shot = !0), setTimeout(() => (this.data.player.shot = !1), this.data.player.weapon.rate + 1))
                            : this.data.spinbot && this.spinbot(t);
                    }
                    move_ticks(t, e, i) {
                        for (; e--; ) t.next((t) => ((t.move = i), (t.xdir += 0.002)));
                    }
                    modify(t) {
                        this.data.inactivity && -1 == t.move && this.move++ % 200 == 0 && (this.move_ticks(t, 4, 1), this.move_ticks(t, 4, 5)),
                            this.data.spinbot && this.spinbot_pre(t),
                            this.bhop(t),
                            this.data.player.has_ammo || ("auto" != this.data.aim && !this.data.auto_reload) || (t.reload = !0),
                            (t.could_shoot = this.data.player.can_shoot),
                            t.shoot &&
                                !this.data.player.did_shoot &&
                                ((this.can_auto_fire = !1),
                                setTimeout(() => {
                                    this.can_auto_fire = !0;
                                }, 1e3 * this.data.force_auto_rate)),
                            this.data.force_auto && this.can_auto_fire && this.data.player.did_shoot && t.shoot && ((this.can_auto_fire = !1), (t.shoot = !1));
                        var e = this.data.player.weapon_auto || this.data.player.weapon.burst || !t.shoot || !t.previous.could_shoot || !t.previous.shoot,
                            i = 100 * Math.random() < this.data.hitchance,
                            a = "auto" == this.data.aim || t.scope || t.shoot;
                        this.data.player.weapon.burst && (this.data.player.shot = this.data.player.did_shoot);
                        for (let t of this.data.players) t.calc_parts();
                        if ((a && this.data.pick_target(), this.data.player.can_shoot))
                            if ("trigger" == this.data.aim) t.shoot = this.enemy_sight() || t.shoot;
                            else if ("off" != this.data.aim && this.data.target && this.data.player.health) {
                                var s = this.data.target.calc_rot();
                                if (
                                    (this.anti_offset(s),
                                    i &&
                                        ("correction" == this.data.aim && e
                                            ? this.correct_aim(s, t)
                                            : "auto" == this.data.aim && (this.data.player.can_aim && (t.scope = !0), this.data.player.aimed && (t.shoot = !this.data.player.shot), this.correct_aim(s, t))),
                                    "assist" == this.data.aim && this.data.player.aim_press)
                                ) {
                                    let e = this.smooth_map[this.data.aim_smooth] || (console.warn(this.data.aim_smooth, "not registered"), 1),
                                        a = this.smooth_map[+Math.min(3 * this.data.aim_smooth, 1).toFixed(1)];
                                    (s = this.smooth(t, s, e, a)), this.aim_camera(s, t), !t.shoot || this.data.player.shot || i || (t.xdir = 0);
                                }
                            }
                        t.shoot && this.data.player.shot && (t.shoot = !e);
                    }
                };
            },
            2176: (t) => {
                "use strict";
                var e = new Set(),
                    i = {
                        frame: 0,
                        delta: 1,
                        xdir_r: 2,
                        ydir_r: 3,
                        move: 4,
                        shoot: 5,
                        scope: 6,
                        jump: 7,
                        reload: 8,
                        crouch: 9,
                        weapon_scroll: 10,
                        weapon_swap: 11,
                        move_lock: 12,
                        speed_limit: 13,
                        reset: 14,
                        tween_time: 15,
                        tween_progress: 16,
                    };
                class a {
                    static next = [];
                    constructor(t) {
                        this.array = t;
                        var e = a.next.shift();
                        "function" == typeof e && e(this);
                    }
                    get previous() {
                        return a.previous;
                    }
                    next(t) {
                        a.next.push(t);
                    }
                    done() {
                        a.previous = this;
                    }
                    get keys() {
                        return "INPUT" == document.activeElement.tagName ? new Set() : e;
                    }
                    get focused() {
                        return null != document.pointerLockElement;
                    }
                    get xdir() {
                        return this.xdir_r / 1e3;
                    }
                    set xdir(t) {
                        return (this.xdir_r = 1e3 * t), t;
                    }
                    get ydir() {
                        return this.ydir_r / 1e3;
                    }
                    set ydir(t) {
                        return (this.ydir_r = 1e3 * t), t;
                    }
                }
                document.addEventListener("keydown", (t) => e.add(t.code)), document.addEventListener("keyup", (t) => e.delete(t.code)), window.addEventListener("blur", () => (e = new Set()));
                for (let t in i) {
                    let e = i[t];
                    Object.defineProperty(a.prototype, t, {
                        get() {
                            return this.array[e];
                        },
                        set(t) {
                            return (this.array[e] = "boolean" == typeof t ? +t : t);
                        },
                    });
                }
                (t.exports = a), (window.InputData = a);
            },
            6492: (t) => {
                "use strict";
                class e {
                    static keybinds = new Set();
                    constructor(t, i) {
                        (this.keys = new Set()), (this.callbacks = new Set()), e.keybinds.add(this), "string" == typeof t && (this.key(t), (t = i)), "function" == typeof t && this.callback(i);
                    }
                    delete() {
                        e.keybinds.delete(this);
                    }
                    set_key(...t) {
                        return (this.keys = new Set()), this.key(...t);
                    }
                    set_callback(...t) {
                        return (this.callbacks = new Set()), this.key(...t);
                    }
                    key(...t) {
                        for (let e of t) this.keys.add(e);
                        return this;
                    }
                    callback(...t) {
                        for (let e of t) this.callbacks.add(e);
                        return this;
                    }
                }
                window.addEventListener("keydown", (t) => {
                    if (!t.repeat) {
                        for (let e of [...t.composedPath()]) if (e.tagName) for (let t of ["INPUT", "TEXTAREA"]) if (e.tagName.includes(t)) return;
                        for (let i of e.keybinds)
                            if (!t.repeat && i.keys.has(t.code)) {
                                t.preventDefault();
                                for (let e of i.callbacks) e(t);
                            }
                    }
                }),
                    (t.exports = e);
            },
            866: (t, e, i) => {
                "use strict";
                var { loader: a } = i(9606),
                    { vars: s } = a,
                    { Vector3: r } = i(4914);
                t.exports = class {
                    constructor(t) {
                        this.data = t;
                    }
                    rgbToHex(t, e, i) {
                        for (var a = ((t << 16) | (e << 8) | i).toString(16); 6 > a.length; ) a = "0" + a;
                        return "#" + a;
                    }
                    hexFromHue(t) {
                        var e = t / 60,
                            i = 255 * (1 - Math.abs((e % 2) - 1)),
                            a = Math.floor(e);
                        return this.rgbToHex(1 > a || 4 < a ? 255 : 1 == a || 4 == a ? i : 0, 0 == a || 3 == a ? i : 1 == a || 2 == a ? 255 : 0, 0 == a || 1 == a ? 0 : 3 == a || 4 == a ? 255 : i);
                    }
                    deg2rad(t) {
                        return (t * Math.PI) / 180;
                    }
                    dist_center(t) {
                        return Math.hypot(window.innerWidth / 2 - t.x, window.innerHeight / 2 - t.y);
                    }
                    distanceTo(t, e) {
                        return Math.hypot(t.x - e.x, t.y - e.y, t.z - e.z);
                    }
                    applyMatrix4(t, e) {
                        var i = t.x,
                            a = t.y,
                            s = t.z,
                            r = e.elements,
                            n = 1 / (r[3] * i + r[7] * a + r[11] * s + r[15]);
                        return (t.x = (r[0] * i + r[4] * a + r[8] * s + r[12]) * n), (t.y = (r[1] * i + r[5] * a + r[9] * s + r[13]) * n), (t.z = (r[2] * i + r[6] * a + r[10] * s + r[14]) * n), t;
                    }
                    project3d(t, e) {
                        return this.applyMatrix4(this.applyMatrix4(t, e.matrixWorldInverse), e.projectionMatrix);
                    }
                    update_frustum() {
                        this.data.world.frustum.setFromProjectionMatrix(new this.data.three.Matrix4().multiplyMatrices(this.data.world.camera.projectionMatrix, this.data.world.camera.matrixWorldInverse));
                    }
                    update_camera() {
                        this.data.world.camera.updateMatrix(), this.data.world.camera.updateMatrixWorld();
                    }
                    pos2d(t, e = 0) {
                        return isNaN(t.x) || isNaN(t.y) || isNaN(t.z)
                            ? { x: 0, y: 0 }
                            : (((t = { x: t.x, y: t.y, z: t.z }).y += e),
                              this.update_camera(),
                              this.project3d(t, this.data.world.camera),
                              { x: ((t.x + 1) / 2) * this.data.ctx.canvas.width, y: ((1 - t.y) / 2) * this.data.ctx.canvas.height });
                    }
                    obstructing(t) {
                        var e = this.data.wallbangs && (!this.data.player || (this.data.player.weapon && this.data.player.weapon.pierce)),
                            i = this.camera_world() || new r(),
                            a = this.getD3D(i.x, i.y, i.z, t.x, t.y, t.z),
                            s = this.getDir(i.z, i.x, t.z, t.x),
                            n = this.getDir(this.getDistance(i.x, i.z, t.x, t.z), t.y, 0, i.y),
                            o = 1 / (a * Math.sin(s - Math.PI) * Math.cos(n)),
                            h = 1 / (a * Math.cos(s - Math.PI) * Math.cos(n)),
                            c = 1 / (a * Math.sin(n));
                        for (let t of this.data.game.map.manager.objects)
                            if (!t.noShoot && t.active && (!e || !t.penetrable)) {
                                var l = this.lineInRect(
                                    i.x,
                                    i.z,
                                    i.y,
                                    o,
                                    h,
                                    c,
                                    t.x - Math.max(0, t.width),
                                    t.z - Math.max(0, t.length),
                                    t.y - Math.max(0, t.height),
                                    t.x + Math.max(0, t.width),
                                    t.z + Math.max(0, t.length),
                                    t.y + Math.max(0, t.height)
                                );
                                if (l && 1 > l) return l;
                            }
                        if (this.data.game.map.terrain) {
                            var d = this.data.game.map.terrain.raycast(i.x, -i.z, i.y, 1 / o, -1 / h, 1 / c);
                            if (d) return this.getD3D(i.x, i.y, i.z, d.x, d.z, -d.y);
                        }
                    }
                    getDistance(t, e, i, a) {
                        return Math.sqrt((i -= t) * i + (a -= e) * a);
                    }
                    getD3D(t, e, i, a, s, r) {
                        var n = t - a,
                            o = e - s,
                            h = i - r;
                        return Math.sqrt(n * n + o * o + h * h);
                    }
                    getXDire(t, e, i, a, s, r) {
                        return Math.asin(Math.abs(e - s) / this.getD3D(t, e, i, a, s, r)) * (e > s ? -1 : 1);
                    }
                    getDir(t, e, i, a) {
                        return Math.atan2(e - a, t - i);
                    }
                    lineInRect(t, e, i, a, s, r, n, o, h, c, l, d) {
                        var u = (n - t) * a,
                            p = (c - t) * a,
                            f = (h - i) * r,
                            m = (d - i) * r,
                            g = (o - e) * s,
                            v = (l - e) * s,
                            x = Math.max(Math.max(Math.min(u, p), Math.min(f, m)), Math.min(g, v)),
                            y = Math.min(Math.min(Math.max(u, p), Math.max(f, m)), Math.max(g, v));
                        return !(y < 0 || x > y) && x;
                    }
                    getAngleDst(t, e) {
                        return Math.atan2(Math.sin(e - t), Math.cos(t - e));
                    }
                    contains_point(t) {
                        for (let e of this.data.world.frustum.planes) if (e.distanceToPoint(t) < 0) return !1;
                        return !0;
                    }
                    camera_world() {
                        var t = this.data.world.camera.matrixWorld.clone(),
                            e = this.data.world.camera[s.getWorldPosition]();
                        return this.data.world.camera.matrixWorld.copy(t), this.data.world.camera.matrixWorldInverse.copy(t).invert(), e.clone();
                    }
                    request_frame(t) {
                        requestAnimationFrame(t);
                    }
                };
            },
            6947: (t, e, i) => {
                "use strict";
                var a = i(7263),
                    s = i(8144),
                    r = i(122);
                t.exports = class extends r {
                    gconsts = { playerHeight: 11, cameraHeight: 1.5, headScale: 2, armScale: 1.3, armInset: 0.1, chestWidth: 2.6, hitBoxPad: 1, crouchDst: 3, recoilMlt: 0.3, nameOffset: 0.6, nameOffsetHat: 0.8 };
                    api = "https://api.sys32.dev/";
                    matchmaker = "https://matchmaker.krunker.io/";
                    badge = "[GameLoader]";
                    vars = {};
                    context = { key: "_" + Math.random().toString().substr(2) };
                    has_instruct = this.has_instruct.bind(this);
                    stacks = new Set();
                    api_v2 = new URL("v2/", this.api);
                    meta = a.promise();
                    patches = new Map();
                    variables = new Map();
                    log(...t) {
                        console.log(this.badge, ...t);
                    }
                    var(t, e, i) {
                        return this.variables.set(t, [e, i]), this;
                    }
                    patch(t, e, i) {
                        return this.patches.set(t, [e, i]), this;
                    }
                    observe() {
                        this.loadp = new Promise((t) =>
                            new MutationObserver((e, i) =>
                                e.forEach((e) =>
                                    [...e.addedNodes].forEach((e) => {
                                        "DIV" == e.tagName &&
                                            "instructionHolder" == e.id &&
                                            ((this.instruction_holder = e),
                                            new MutationObserver(() => setTimeout(() => this.emit("instruct", this.has_instruct), 200)).observe(this.instruction_holder, { attributes: !0, attributeFilter: ["style"] })),
                                            "SCRIPT" == e.tagName && e.textContent.includes("Yendis Entertainment") && ((e.textContent = ""), t());
                                    })
                                )
                            ).observe(document, { childList: !0, subtree: !0 })
                        );
                    }
                    has_instruct(...t) {
                        if (!this.instruction_holder) return !1;
                        var e = this.instruction_holder.textContent.trim().toLowerCase();
                        for (let i of t) if (e.includes(t)) return !0;
                        return !1;
                    }
                    async report_error(t, e) {
                        if ("object" == typeof e) {
                            var i = { name: e.name, message: e.message, stack: e.stack, where: t };
                            this.stacks.has(e.stack) || (console.error("Where:", t, "\nUncaught", e), this.stacks.add(e.stack), await s({ target: this.api_v2, endpoint: "error", data: i }));
                        }
                    }
                    async show_error(t, e) {
                        await this.load;
                        var i = document.querySelector("#instructionHolder"),
                            a = document.querySelector("#instructions");
                        (i.style.display = "block"), (i.style.pointerEvents = "all");
                        for (let t of document.querySelectorAll("#loadingBg, #initLoader")) t.style.display = "none";
                        a.innerHTML = `<div style='color:#FFF9'>${t}</div><div style='margin-top:10px;font-size:20px;color:#FFF6'>${e}</div>`;
                    }
                    async token() {
                        return (
                            await this.meta,
                            await s({ target: this.api_v2, endpoint: "token", data: await s({ target: this.matchmaker, endpoint: "generate-token", headers: { "client-key": this.meta.key }, result: "json" }), result: "json" })
                        );
                    }
                    apply_patches(t) {
                        var e;
                        for (var [i, [a, s]] of this.variables) {
                            var r = (t.match(a) || 0)[s];
                            r ? (this.vars[i] = r) : ((e || (e = {}))[i] = [a, s]);
                        }
                        for (var [i, [n, o]] of (console.log("Game Variables:"), console.table(this.vars), e && (console.log("Missing:"), console.table(e)), this.patches))
                            t.match(n) || console.error("Could not patch", i), (t = t.replace(n, o));
                        return t;
                    }
                    async license(t) {
                        var e = await s({ target: this.api_v2, endpoint: "meta", data: { ...t, needs_key: !0 }, method: "POST", result: "json" });
                        e.error
                            ? (a.add_ele("style", document.documentElement, { textContent: "#initLoader,#instructionsUpdate{display:none!IMPORTANT}" }), this.show_error(e.error.title, e.error.message), this.meta.reject())
                            : this.meta.resolve((this.meta = e));
                    }
                    async source() {
                        return await this.meta, await s({ target: this.api_v2, endpoint: "source", query: { build: this.meta.build }, result: "text", cache: !0 });
                    }
                    async load(t = {}, e = {}, i = () => {}) {
                        var a = { ...t, [this.context.key]: this.context, WP_fetchMMToken: this.token() },
                            s = this.apply_patches(await this.source());
                        Object.assign(this.context, e);
                        try {
                            await this.loadp, i(), new Function(...Object.keys(a), s)(...Object.values(a));
                        } catch (t) {
                            this.report_error("loading", t), this.show_error(t.message, "Post a screenshot of this error on <a href='https://forum.sys32.dev/'>the forums</a> or <a href='/'>click here</a> to try again.");
                        }
                    }
                };
            },
            4304: (t, e, i) => {
                "use strict";
                var { Vector3: a, Hex3: s, Box3: r } = i(4914),
                    { loader: n } = i(9606),
                    { vars: o, gconsts: h } = n,
                    c = 0;
                setInterval(() => (c = Math.random()), 2e3);
                t.exports = class {
                    part_keys = ["head", "torso", "legs"];
                    calc_ticks = 2;
                    constructor(t, e) {
                        (this.data = t),
                            (this.entity = "object" == typeof e && null != e ? e : {}),
                            (this.velocity = new a()),
                            (this.position = new a()),
                            (this.esp_hex = new s()),
                            (this.hp_hex = new s()),
                            (this.dont_calc = 0),
                            (this.hitbox = new r()),
                            (this.hitbox.head = new r()),
                            (this.parts = { hitbox_head: new a(), head: new a(), torso: new a(), legs: new a() });
                    }
                    get ground() {
                        return this.entity.onGround;
                    }
                    calc_rect() {
                        var t = (2 * h.armScale + h.chestWidth + h.armInset) / 2,
                            e = 1 / 0,
                            i = -1 / 0,
                            a = 1 / 0,
                            s = -1 / 0,
                            r = null;
                        this.frustum = !0;
                        for (let n = -1; this.frustum && n < 2; n += 2)
                            for (let o = -1; this.frustum && o < 2; o += 2)
                                for (let h = 0; this.frustum && h < 2; h++)
                                    if ((r = this.obj.position.clone())) {
                                        if (((r.x += n * t), (r.z += o * t), (r.y += h * this.height), !this.data.utils.contains_point(r))) return (this.frustum = !1);
                                        r.project(this.data.world.camera), (e = Math.min(e, r.x)), (i = Math.max(i, r.x)), (a = Math.min(a, r.y)), (s = Math.max(s, r.y));
                                    }
                        (e = (e + 1) / 2),
                            (i = (i + 1) / 2),
                            (a = 0.5 - ((a = (a + 1) / 2) - 0.5)),
                            (s = 0.5 - ((s = (s + 1) / 2) - 0.5)),
                            (e *= this.data.ctx.canvas.width),
                            (i *= this.data.ctx.canvas.width),
                            (a *= this.data.ctx.canvas.height);
                        var n = { left: e, top: (s *= this.data.ctx.canvas.height), right: i, bottom: a, width: i - e, height: a - s };
                        return (n.x = n.left + n.width / 2), (n.y = n.top + n.height / 2), n;
                    }
                    scale_rect(t, e) {
                        var i = {},
                            a = ["y", "height", "top", "bottom"];
                        for (var s in this.rect) i[s] = this.rect[s] / (a.includes(s) ? e : t);
                        return i;
                    }
                    calc_in_fov() {
                        if (!this.active) return !1;
                        if (110 == this.data.aim_fov) return !0;
                        if (!this.frustum) return !1;
                        var t = this.data.world.camera.fov;
                        (this.data.world.camera.fov = (this.data.aim_fov / t) * 100), this.data.world.camera.updateProjectionMatrix(), this.data.utils.update_frustum();
                        var e = this.data.utils.contains_point(this.aim_point);
                        return (this.data.world.camera.fov = t), this.data.world.camera.updateProjectionMatrix(), this.data.utils.update_frustum(), e;
                    }
                    get ping() {
                        return this.entity.ping;
                    }
                    get jump_bob_y() {
                        return this.entity.jumpBobY;
                    }
                    get clan() {
                        return this.entity.clan;
                    }
                    get alias() {
                        return this.entity.alias;
                    }
                    get weapon() {
                        return this.entity.weapon;
                    }
                    get weapon_auto() {
                        return !this.weapon.nAuto;
                    }
                    get can_slide() {
                        return this.entity.canSlide;
                    }
                    get risk() {
                        return this.entity.level >= 30 || (this.entity.account && (this.entity.account.featured || this.entity.account.premiumT));
                    }
                    get is_you() {
                        return this.entity[o.isYou];
                    }
                    get target() {
                        return this.data.target && this.entity == this.data.target.entity;
                    }
                    get can_melee() {
                        return (this.weapon.melee && this.data.target && this.data.target.active && this.position.distance_to(this.data.target) <= 18) || !1;
                    }
                    get reloading() {
                        return 0 != this.entity.reloadTimer;
                    }
                    get can_aim() {
                        return !this.can_melee;
                    }
                    get can_throw() {
                        return this.entity.canThrow && this.weapon.canThrow;
                    }
                    get aimed() {
                        var t = this.can_throw ? 1 - this.entity.chargeTime / this.entity.throwCharge : this.weapon.melee ? 1 : this.entity[o.aimVal];
                        return this.weapon.noAim || 0 == t || this.can_melee || !1;
                    }
                    get can_shoot() {
                        return !this.reloading && this.has_ammo && (this.can_throw || !this.weapon.melee || this.can_melee);
                    }
                    get hitbox_pad() {
                        return this.data.game.config.hitBoxPad - 0.2;
                    }
                    get hitbox_scale() {
                        return this.entity.scale + this.hitbox_pad - 0.2;
                    }
                    get aim_press() {
                        return this.data.controls[o.adsToggled] || this.data.controls.keys[this.data.controls.binds.aim.val];
                    }
                    get crouch() {
                        return this.entity[o.crouchVal] || 0;
                    }
                    get box_scale() {
                        this.data.utils.camera_world();
                        var t = (t) => Math.min(1, (this.rect[t] / this.data.ctx.canvas[t]) * 10);
                        return [t("width"), t("height")];
                    }
                    get dist_scale() {
                        var t = this.data.utils.camera_world(),
                            e = Math.max(0.65, 1 - this.data.utils.getD3D(t.x, t.y, t.z, this.position.x, this.position.y, this.position.z) / 600);
                        return [e, e];
                    }
                    get distance_camera() {
                        return this.data.utils.camera_world().distanceTo(this.position);
                    }
                    get obj() {
                        return this.is_ai ? this.enity.dat : this.entity[o.objInstances];
                    }
                    get land_bob_y() {
                        return this.entity.landBobY || 0;
                    }
                    get recoil_y() {
                        return this.entity[o.recoilAnimY] || 0;
                    }
                    get has_ammo() {
                        return this.ammo || this.ammo == this.max_ammo;
                    }
                    get ammo() {
                        return this.entity[o.ammos][this.entity[o.weaponIndex]] || 0;
                    }
                    get max_ammo() {
                        return this.weapon.ammo || 0;
                    }
                    get height() {
                        return this.entity.height - this.crouch * h.crouchDst;
                    }
                    get health() {
                        return this.entity.health || 0;
                    }
                    get scale() {
                        return this.entity.scale;
                    }
                    get max_health() {
                        return this.entity[o.maxHealth] || 100;
                    }
                    get active() {
                        return this.entity.active && null != this.entity.x && this.health > 0 && (!!this.is_you || (this.chest && this.leg)) && !0;
                    }
                    get teammate() {
                        return this.is_you || (this.data.player && this.team && this.team == this.data.player.team);
                    }
                    get enemy() {
                        return !this.teammate;
                    }
                    get team() {
                        return this.entity.team;
                    }
                    get streaks() {
                        return Object.keys(this.entity.streaks || {});
                    }
                    get did_shoot() {
                        return this.entity[o.didShoot];
                    }
                    get chest() {
                        return this.entity.lowerBody ? this.entity.lowerBody.children[0] : null;
                    }
                    get leg() {
                        for (var t of this.entity.legMeshes) if (t.visible) return t;
                        return this.chest;
                    }
                    calc_rot() {
                        var t = this.data.utils.camera_world(),
                            e = this.aim_point;
                        return { x: this.data.utils.getXDire(t.x, t.y, t.z, e.x, e.y - this.data.player.jump_bob_y, e.z) || 0, y: this.data.utils.getDir(t.z, t.x, e.z, e.x) || 0 };
                    }
                    calc_parts() {
                        if (!this.active || this.is_you) return (this.can_target = !1);
                        if (!this.data.aim_smooth || !this.aim_point || this.dont_calc++ % (this.calc_ticks + 1) == 0) {
                            var t = new this.data.three.Box3().setFromObject(this.chest),
                                e = t.getSize(),
                                i = t.getCenter();
                            this.parts.torso.copy(i).translate_quaternion(this.chest.getWorldQuaternion(), new a().copy({ x: 0, y: -0.75, z: 0 })),
                                (this.parts.torso_height = e.y - 1.5),
                                this.parts.head.copy(i).translate_quaternion(this.chest.getWorldQuaternion(), new a().copy({ x: 0, y: this.parts.torso_height / 2, z: 0 }));
                            var s = this.leg[o.getWorldPosition](),
                                r = this.leg.getWorldScale();
                            this.parts.legs.copy(s).translate_quaternion(this.leg.getWorldQuaternion(), new a().copy({ x: -r.x / 2, y: -r.y / 2, z: 0 }));
                            var n = "random" == this.data.aim_offset ? this.part_keys[~~(c * this.part_keys.length)] : this.data.aim_offset;
                            switch (n) {
                                case "head":
                                    this.set_aim_point(this.parts.head);
                                    break;
                                case "multi":
                                    if (!this.set_aim_point(this.parts.hitbox_head)) {
                                        let t = this.data.utils.camera_world(),
                                            e = this.visible_points(this.hitbox.head.points()).sort((e, i) => e.distance_to(t) - i.distance_to(t) + (i.y - e.y));
                                        for (let t of e) if (this.set_aim_point(t)) break;
                                    }
                                    break;
                                default:
                                    this.set_aim_point(this.parts[n]);
                            }
                            (this.in_fov = this.calc_in_fov()), (this.can_target = this.active && this.can_see && this.enemy && this.in_fov);
                        }
                    }
                    visible_points(t) {
                        var e = [];
                        for (let i of [
                            [0, 3],
                            [3, 5],
                            [5, 6],
                            [6, 0],
                        ]) {
                            let a = new this.data.three.Box3();
                            for (let e of i) a.expandByPoint(t[e]);
                            let s = a.getSize(),
                                r = a.getCenter();
                            e.push({ width: s.x, length: s.z, height: s.y, x: r.x, y: r.y - s.y / 2, z: r.z });
                        }
                        return t.filter((t) => !!this.point_obstructing(t, e));
                    }
                    point_obstructing(t, e) {
                        var i = this.data.utils.camera_world(),
                            a = this.data.utils.getD3D(i.x, i.y, i.z, t.x, t.y, t.z),
                            s = this.data.utils.getDir(i.z, i.x, t.z, t.x),
                            r = this.data.utils.getDir(this.data.utils.getDistance(i.x, i.z, t.x, t.z), t.y, 0, i.y),
                            n = 1 / (a * Math.sin(s - Math.PI) * Math.cos(r)),
                            o = 1 / (a * Math.cos(s - Math.PI) * Math.cos(r)),
                            h = 1 / (a * Math.sin(r));
                        for (let t of e) {
                            var c = this.data.utils.lineInRect(
                                i.x,
                                i.z,
                                i.y,
                                n,
                                o,
                                h,
                                t.x - Math.max(0, t.width),
                                t.z - Math.max(0, t.length),
                                t.y - Math.max(0, t.height),
                                t.x + Math.max(0, t.width),
                                t.z + Math.max(0, t.length),
                                t.y + Math.max(0, t.height)
                            );
                            if (c && 1 > c) return c;
                        }
                    }
                    set_aim_point(t) {
                        return (this.aim_point = t), (this.can_see = null == this.data.utils.obstructing(t));
                    }
                    tick() {
                        if (
                            (this.position.set(this.entity.x, this.entity.y, this.entity.z),
                            this.velocity.set(this.entity.velocity.x, this.entity.velocity.y, this.entity.velocity.z),
                            this.hitbox.min.set(this.position.x - this.hitbox_scale, this.position.y, this.position.z - this.hitbox_scale),
                            this.hitbox.max.set(this.position.x + this.hitbox_scale, this.position.y + this.height + this.hitbox_pad, this.position.z + this.hitbox_scale),
                            this.hitbox.head.max.copy(this.hitbox.max),
                            this.hitbox.head.min.copy(this.hitbox.min),
                            (this.hitbox.head.min.y = this.hitbox.max.y - this.entity.headScale - 0.5),
                            (this.parts.hitbox_head.copy(this.position).y = this.position.y + this.height),
                            !this.is_you)
                        ) {
                            (this.rect = this.calc_rect()),
                                this.esp_hex.set_style(this.data.rainbow ? this.data.visual.rainbow.col : this.data.color[this.enemy ? (this.risk ? "risk" : "hostile") : "friendly"]),
                                this.can_see || this.esp_hex.sub_scalar(119),
                                (this.esp_color = this.esp_hex.toString());
                            var t = (this.health / this.max_health) * 100,
                                e = t < 50 ? 255 : Math.round(510 - 5.1 * t),
                                i = t < 50 ? Math.round(5.1 * t) : 255;
                            this.hp_hex.set(e, i, 0), (this.hp_color = this.hp_hex.toString());
                        }
                    }
                };
            },
            3137: () => {
                "use strict";
                var t = new Function("return this")(),
                    e = {
                        port: 443,
                        localhost: ["localhost", "127.0.0.1"],
                        hosts: {
                            http: ["krunker.io", "internal.krunker.io"],
                            mm: ["matchmaker.krunker.io", "matchmaker_beta.krunker.io", "127.0.0.1:5050"],
                            api: ["api.krunker.io", "api_beta.krunker.io", "127.0.0.1:5080"],
                            social: ["social.krunker.io", "social_beta.krunker.io", "127.0.0.1:5070"],
                            editor: ["editor.krunker.io", "editor_beta.krunker.io", "127.0.0.1:5090"],
                            assets: ["assets.krunker.io"],
                            userAssets: ["user-assets.krunker.io"],
                        },
                        region: {
                            default: "de-fra",
                            map: { fra: "de-fra", sv: "us-ca-sv", syd: "au-syd", tok: "jb-hnd", mia: "us-fl", sin: "sgp", ny: "us-nj" },
                            reverseMap: { "de-fra": "fra", "us-ca-sv": "sv", "au-syd": "syd", "jb-hnd": "tok", "us-fl": "mia", sgp: "sin", "us-nj": "ny" },
                        },
                        isSSL: !0,
                        protocol: { http: "https:", ws: "wss:" },
                    };
                const i = e.localhost.includes(location.hostname),
                    a = !i && location.hostname.split(".").slice(-2).join(".") == location.hostname,
                    s = function (t) {
                        if (e.hosts.mm.includes(t.host)) {
                            if (
                                ((t.protocol = e.protocol.http),
                                (t.hostname = location.hostname),
                                (t.port = e.port),
                                (t.pathname = `/mm${t.pathname}`),
                                (t.search = t.search.replace(`hostname=${location.hostname}`, `hostname=${e.hosts.http[0]}`)),
                                t.search.match(/region=/))
                            )
                                if (i) t.search = t.search.replace("region=local", `region=${e.region.default}`);
                                else if (!a) {
                                    const i = e.region.map[location.hostname.split(".")[0]] || e.region.default;
                                    t.search = t.search.replace(/region=[\w-]+/g, `region=${i}`);
                                }
                        } else e.hosts.api.includes(t.host) && ((t.protocol = e.protocol.http), (t.hostname = location.hostname), (t.port = e.port), (t.pathname = `/api${t.pathname}`));
                        return t;
                    },
                    r = t.fetch;
                (t.fetch = async function (...t) {
                    try {
                        const e = new URL(t[0]);
                        t[0] = s(e).toString();
                    } catch (t) {}
                    return r(...t);
                }),
                    (t.WebSocket = class extends t.WebSocket {
                        constructor(...t) {
                            const i = new URL(t[0]);
                            e.hosts.social.includes(i.host)
                                ? ((i.protocol = e.protocol.ws), (i.port = ""), (i.host = e.hosts.social[0]))
                                : e.hosts.editor.includes(i.host) && ((i.protocol = e.protocol.ws), (i.port = ""), (i.host = e.hosts.editor[0])),
                                (t[0] = `${e.protocol.ws}//${location.host}/ws?redirect=${btoa(i.toString())}`),
                                super(t);
                        }
                    }),
                    (t.XMLHttpRequest = class extends t.XMLHttpRequest {
                        open(...t) {
                            try {
                                const i = new URL(t[1]);
                                e.hosts.assets.includes(i.host)
                                    ? ((i.protocol = e.protocol.http), (i.hostname = location.hostname), (i.port = e.port), (i.pathname = `/assets${i.pathname}`), (t[1] = i.toString()))
                                    : e.hosts.userAssets.includes(i.host)
                                    ? ((i.protocol = e.protocol.http), (i.hostname = location.hostname), (i.port = e.port), (i.pathname = `/user${i.pathname}`), (t[1] = i.toString()))
                                    : (t[1] = s(i).toString());
                            } catch (t) {}
                            super.open(...t);
                        }
                    }),
                    (document.createElementNS = new Proxy(document.createElementNS, {
                        apply: function (t, i, a) {
                            const s = t.apply(i, a);
                            let r;
                            s.addEventListener(
                                "error",
                                function t() {
                                    this.removeEventListener("error", t, !1), this.addEventListener("error", r, !1);
                                    const i = new URL(this.src);
                                    e.hosts.assets.includes(i.host) && ((i.protocol = e.protocol.http), (i.hostname = location.hostname), (i.port = e.port), (i.pathname = `/assets${i.pathname}`)), (this.src = i.toString());
                                },
                                !1
                            );
                            const n = s.addEventListener;
                            return (
                                (s.addEventListener = new Proxy(n, {
                                    apply: function (t, e, i) {
                                        "error" == i[0] ? ((r = i[1]), (s.addEventListener = n)) : t.apply(e, i);
                                    },
                                })),
                                s
                            );
                        },
                    }));
                const n = document.createElement("div");
                (n.className = "settingsBtn"),
                    (n.style.cssText = "width: auto;font-size: 14px;padding: 5px 8px;"),
                    (n.innerText = "Find"),
                    n.addEventListener(
                        "click",
                        function () {
                            const t = document.getElementById("setBod_local").childNodes[0].childNodes[2].value,
                                a = e.region.reverseMap[t] || e.region.reverseMap[e.region.default];
                            if (i) {
                                const t = `${e.protocol.http}//${a}.subdomain.com`;
                                alert(`REDIRECT - ${t}`);
                            } else {
                                const t = `${e.protocol.http}//${a}.${location.hostname.split(".").slice(-2).join(".")}`;
                                location.href = t;
                            }
                        },
                        !1
                    );
                const o = setInterval(function () {
                    t.windows &&
                        (clearInterval(o),
                        t.windows[0].getSettings &&
                            (t.windows[0].getSettings = new Proxy(t.windows[0].getSettings, {
                                apply: function (t, i, a) {
                                    return (
                                        setTimeout(function () {
                                            const t = document.getElementById("setBod_local");
                                            if (t) {
                                                const i = t.children[0];
                                                i.innerHTML = i.innerHTML.replace("Default Region", "Proxy Region");
                                                const a = i.children[0];
                                                i.insertBefore(n, a), [...a.children].filter((t) => !e.region.reverseMap[t.value]).forEach((t) => a.removeChild(t)), a.onchange();
                                            }
                                        }),
                                        t.apply(i, a)
                                    );
                                },
                            })));
                }, 100);
            },
            8144: (t) => {
                "use strict";
                var e = (t) => "object" == typeof t && null != t,
                    i = (t) => "string" == typeof t || t instanceof Location || t instanceof URL,
                    a = (t) => {
                        if (e(t)) {
                            if (t instanceof Headers) {
                                let e = {};
                                for (let [i, a] of t) e[i] = a;
                                return e;
                            }
                            return t;
                        }
                        return {};
                    },
                    s = (t) => {
                        if (!e(t)) throw new TypeError("Input must be an object");
                        var i = { cache: "no-cache", headers: a(t.headers) },
                            r = s.resolve(t);
                        switch (t.cache) {
                            case !0:
                                i.cache = "force-cache";
                                break;
                            case "query":
                                r.search += "?" + Date.now();
                        }
                        1 == t.cache && (i.cache = "force-cache"),
                            e(t.data) && ((i.method = "POST"), (i.body = JSON.stringify(t.data)), (i.headers["content-type"] = "application/json")),
                            "string" == typeof t.method && (i.method = t.method),
                            t.sync && ((i.xhr = !0), (i.synchronous = !0));
                        var n = ["text", "json", "arrayBuffer"].includes(t.result) ? t.result : "text";
                        return (i.xhr ? s.fetch_xhr : window.fetch.bind(window))(r, i).then((t) => t[n]());
                    };
                (s.fetch_xhr = (t, e = {}) => {
                    if (!i(t)) throw new TypeError("url param is not resolvable");
                    t = new URL(t, location).href;
                    var a = "string" == typeof e.method ? e.method : "GET",
                        s = new XMLHttpRequest();
                    return (
                        s.open(a, t, !e.synchronous),
                        new Promise((t, i) => {
                            s.addEventListener("load", () => t({ text: async () => s.responseText, json: async () => JSON.parse(s.responseText), headers: new Headers() })), s.addEventListener("error", (t) => i(t.error)), s.send(e.body);
                        })
                    );
                }),
                    (s.resolve = (t) => {
                        if (!i(t.target)) throw new TypeError("Target must be specified");
                        var e = new URL(t.target);
                        return i(t.endpoint) && (e = new URL(t.endpoint, e)), "object" == typeof t.query && null != t.query && (e.search = "?" + new URLSearchParams(Object.entries(t.query))), e;
                    }),
                    (t.exports = s);
            },
            8721: (t, e, i) => {
                "use strict";
                i(7263).add_ele("style", () => document.documentElement, { textContent: i(4309) });
            },
            82: (t, e, i) => {
                "use strict";
                var a = i(3229);
                Symbol();
                t.exports = (t) => {
                    var e,
                        i,
                        s = { sgp: "sin", "au-syd": "syd", "de-fra": "fra", "jb-hnd": "tok", "us-ca-sv": "sv", "us-fl": "mia", "us-nj": "ny" };
                    class r extends WebSocket {
                        constructor(r, n) {
                            t.proxy && (r = "wss://" + (s[localStorage.kro_setngss_defaultRegion] || "mia") + ".browserfps.com/ws?redirect=" + btoa(r)),
                                super(r, n),
                                this.addEventListener("message", (s) => {
                                    var r,
                                        [n, ...o] = a.decode(new Uint8Array(s.data));
                                    if ("io-init" == n) e = o[0];
                                    else if (t.unlock_skins && 0 == n && i && e && -1 != (r = o[0].indexOf(e))) {
                                        (o[0][r + 12] = i[2]), (o[0][r + 13] = i[3]), (o[0][r + 14] = i[4]), (o[0][r + 19] = i[9]), (o[0][r + 24] = i[14]), (o[0][r + 33] = i[17]);
                                        var h = a.encode([n, ...o]),
                                            c = new Uint8Array(h.byteLength + 2);
                                        c.set(h, 0), c.set(s.data.slice(-2), h.byteLength), Object.defineProperty(s, "data", { value: c.buffer });
                                    }
                                });
                        }
                        set onmessage(t) {
                            return (
                                this.addEventListener("message", (e) => {
                                    try {
                                        return t.call(this, e);
                                    } catch (t) {
                                        console.error("Socket error:", t);
                                    }
                                }),
                                t
                            );
                        }
                        send(t) {
                            var [e, ...s] = a.decode(t.slice(0, -2));
                            "en" == e && (i = s[0]), super.send(t);
                        }
                    }
                    return r;
                };
            },
            4914: (t, e) => {
                "use strict";
                class i {
                    constructor(t = 0, e = 0, i = 0) {
                        (this.x = t), (this.y = e), (this.z = i);
                    }
                    clone() {
                        return new i(this.x, this.y, this.z);
                    }
                    mps() {
                        return 1e3 * Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2));
                    }
                    set(t, e, i) {
                        return (this.x = t), (this.y = e), (this.z = i), this;
                    }
                    copy(t) {
                        return (this.x = t.x), (this.y = t.y), (this.z = t.z), this;
                    }
                    add(t) {
                        return (this.x += t.x), (this.y += t.y), (this.z += t.z), this;
                    }
                    add_vectors(t = 0, e = 0, i = 0) {
                        return (this.x += t), (this.y += e), (this.z += i), this;
                    }
                    add_scalar(t) {
                        return (this.x += t), (this.y += t), (this.z += t), this;
                    }
                    sub(t) {
                        return (this.x += t.x), (this.y += t.y), (this.z += t.z), this;
                    }
                    sub_vectors(t = 0, e = 0, i = 0) {
                        return (this.x -= t), (this.y -= e), (this.z -= i), this;
                    }
                    sub_scalar(t) {
                        return (this.x -= t), (this.y -= t), (this.z -= t), this;
                    }
                    multiply(t) {
                        return (this.x *= t.x), (this.y *= t.y), (this.z *= t.z), this;
                    }
                    multiply_vectors(t = 0, e = 0, i = 0) {
                        return (this.x *= t), (this.y *= e), (this.z *= i), this;
                    }
                    multiply_scalar(t) {
                        return (this.x *= t), (this.y *= t), (this.z *= t), this;
                    }
                    divide(t) {
                        return (this.x /= t.x), (this.y /= t.y), (this.z /= t.z), this;
                    }
                    divide_vectors(t = 0, e = 0, i = 0) {
                        return (this.x /= t), (this.y /= e), (this.z /= i), this;
                    }
                    divide_scalar(t) {
                        return (this.x /= t), (this.y /= t), (this.z /= t), this;
                    }
                    apply_quaternion(t) {
                        const e = this.x,
                            i = this.y,
                            a = this.z,
                            s = t.x,
                            r = t.y,
                            n = t.z,
                            o = t.w,
                            h = o * e + r * a - n * i,
                            c = o * i + n * e - s * a,
                            l = o * a + s * i - r * e,
                            d = -s * e - r * i - n * a;
                        return (this.x = h * o + d * -s + c * -n - l * -r), (this.y = c * o + d * -r + l * -s - h * -n), (this.z = l * o + d * -n + h * -r - c * -s), this;
                    }
                    translate_quaternion(t, e) {
                        for (var a in e) {
                            var s = new i();
                            s[a] = 1;
                            var r = s.apply_quaternion(t).multiply_scalar(e[a]);
                            this.add(r);
                        }
                        return this;
                    }
                    distance_to(t) {
                        return Math.hypot(this.x - t.x, this.y - t.y, this.z - t.z);
                    }
                }
                i.Blank = new i();
                (e.Box3 = class {
                    min = new i();
                    max = new i();
                    points() {
                        return [
                            new i(this.min.x, this.min.y, this.min.z),
                            new i(this.min.x, this.min.y, this.max.z),
                            new i(this.min.x, this.max.y, this.min.z),
                            new i(this.min.x, this.max.y, this.max.z),
                            new i(this.max.x, this.min.y, this.min.z),
                            new i(this.max.x, this.min.y, this.max.z),
                            new i(this.max.x, this.max.y, this.min.z),
                            new i(this.max.x, this.max.y, this.max.z),
                        ];
                    }
                }),
                    (e.Hex3 = class {
                        hex = [0, 0, 0];
                        constructor(t = "#000") {
                            this.set_style(t);
                        }
                        add_scalar(t) {
                            for (let e in this.hex) this.hex[e] += t;
                            return this.normalize();
                        }
                        sub_scalar(t) {
                            for (let e in this.hex) this.hex[e] -= t;
                            return this.normalize();
                        }
                        normalize() {
                            for (let t in this.hex) this.hex[t] = Math.max(Math.min(this.hex[t], 255), 0);
                            return this;
                        }
                        set(t, e, i) {
                            return (this.hex[0] = t), (this.hex[1] = e), (this.hex[2] = i), this;
                        }
                        set_style(t) {
                            let e = 0,
                                i = "#" == t[0] ? 1 : 0,
                                a = t.length - i < 5 ? 1 : 2;
                            for (let s = i; s < t.length; s += a) {
                                let i = t.substr(s, a);
                                1 == a && (i += i), (this.hex[e++] = parseInt(i, 16));
                            }
                            return this;
                        }
                        toString() {
                            var t = "#";
                            for (let e of this.hex) t += e.toString(16).padStart(2, 0);
                            return t;
                        }
                    }),
                    (e.Vector3 = i);
            },
            7263: (t) => {
                "use strict";
                t.exports = class {
                    static is_host(t, ...e) {
                        return e.some((e) => t.hostname == e || t.hostname.endsWith("." + e));
                    }
                    static round(t, e) {
                        return Math.round(t * Math.pow(10, e)) / Math.pow(10, e);
                    }
                    static add_ele(t, e, i = {}) {
                        var a = this.crt_ele(t, i);
                        if ("function" == typeof e) this.wait_for(e).then((t) => t.append(a));
                        else {
                            if ("object" != typeof e || null == e || !e.append) throw new Error("Parent is not resolvable to a DOM element");
                            e.append(a);
                        }
                        return a;
                    }
                    static crt_ele(t, e = {}) {
                        var i,
                            a = {};
                        for (let t in e) "object" == typeof e[t] && null != e[t] && ((a[t] = e[t]), delete e[t]);
                        i = "raw" == t ? this.crt_ele("div", { innerHTML: e.html }).firstChild : "text" == t ? document.createTextNode("") : document.createElement(t);
                        var s = e.className;
                        s && (delete e.className, i.setAttribute("class", s));
                        var r = a.events;
                        if (r) {
                            delete a.events;
                            for (let t in r) i.addEventListener(t, r[t]);
                        }
                        Object.assign(i, e);
                        for (let t in a) Object.assign(i[t], a[t]);
                        return i;
                    }
                    static wait_for(t, e) {
                        return new Promise((i) => {
                            var a,
                                s = () => {
                                    try {
                                        var e = t();
                                        if (e) return a && clearInterval(a), i(e), !0;
                                    } catch (t) {
                                        console.log(t);
                                    }
                                };
                            a = s() || setInterval(s, e || 50);
                        });
                    }
                    static sanitize(t) {
                        var e = document.createElement("div");
                        return (e.textContent = t), e.innerHTML;
                    }
                    static unsanitize(t) {
                        var e = document.createElement("div");
                        return (e.innerHTML = t), e.textContent;
                    }
                    static node_tree(t, e = document) {
                        var i = { parent: e },
                            a = /^\$\s+>?/g,
                            s = /^\^\s+>?/g;
                        for (var r in t) {
                            var n = t[r];
                            if (n instanceof Node) i[r] = n;
                            else if ("object" == typeof n) i[r] = this.node_tree(n, i.container);
                            else if (a.test(t[r])) {
                                if (!i.container) {
                                    console.warn("No container is available, could not access", n);
                                    continue;
                                }
                                i[r] = i.container.querySelector(t[r].replace(a, ""));
                            } else if (s.test(t[r])) {
                                if (!i.parent) {
                                    console.warn("No parent is available, could not access", n);
                                    continue;
                                }
                                i[r] = i.parent.querySelector(t[r].replace(s, ""));
                            } else i[r] = e.querySelector(t[r]);
                            i[r] || console.warn("No node found, could not access", n);
                        }
                        return i;
                    }
                    static string_key(t) {
                        return t.replace(/^([A-Z][a-z]+?)([A-Z0-9][a-z]*?)/, (t, e, i) => (["Digit", "Key"].includes(e) ? i : `${i} ${e}`));
                    }
                    static clone_obj(t) {
                        return JSON.parse(JSON.stringify(t));
                    }
                    static assign_deep(t, ...e) {
                        for (let i in e)
                            for (let a in e[i])
                                "object" == typeof e[i][a] && null != e[i][a] && a in t ? this.assign_deep(t[a], e[i][a]) : "object" == typeof t && null != t && Object.defineProperty(t, a, Object.getOwnPropertyDescriptor(e[i], a));
                        return t;
                    }
                    static filter_deep(t, e) {
                        for (let i in t) i in e || delete t[i], "object" == typeof e[i] && null != e[i] && this.filter_deep(t[i], e[i]);
                        return t;
                    }
                    static redirect(t, e, i) {
                        var a = Symbol();
                        i.addEventListener(t, (t) => {
                            t[a];
                        }),
                            e.addEventListener(t, (e) => i.dispatchEvent(Object.assign(new e.constructor(t, e), { [a]: !0, stopImmediatePropagation: e.stopImmediatePropagation.bind(e), preventDefault: e.preventDefault.bind(e) })));
                    }
                    static promise() {
                        var t,
                            e = new Promise((e, i) => (t = { resolve: e, reject: i }));
                        return Object.assign(e, t), (e.resolve_in = (t = 0, i) => setTimeout(() => e.resolve(i), t)), e;
                    }
                    static rtn(t, e) {
                        return (t / e).toFixed() * e;
                    }
                };
            },
            6132: (t, e, i) => {
                "use strict";
                var { Vector3: a } = i(573);
                class s {
                    constructor(t) {
                        (this.data = t), (this.materials = new Map()), (this.rainbow = { col: "#ffffff", val: 0 });
                    }
                    tick_rainbow() {
                        (this.rainbow.val += 0.6), (this.rainbow.val %= 360), (this.rainbow.col = this.data.utils.hexFromHue(Math.round(this.rainbow.val)));
                    }
                    esp_mat(t) {
                        return this.materials.has(t) || this.materials.set(t, new this.data.three.MeshBasicMaterial({ transparent: !0, fog: !1, depthTest: !1, color: t })), this.materials.get(t);
                    }
                    tick() {
                        this.data.ctx.clearRect(0, 0, this.data.ctx.canvas.width, this.data.ctx.canvas.height), this.tick_rainbow();
                    }
                    draw_text(t, e, i, a) {
                        for (var s = 0; s < a.length; s++)
                            for (var r = a[s], n = 0, o = 0; o < r.length; o++) {
                                var h = r[o][0],
                                    c = r[o][1],
                                    l = [c, t + n, e + s * (i + 2)];
                                (this.data.ctx.fillStyle = h), this.data.ctx.strokeText(...l), this.data.ctx.fillText(...l), (n += this.data.ctx.measureText(c).width + 2);
                            }
                    }
                    fov(t) {
                        var e = (this.data.ctx.canvas.width * t) / 100,
                            i = (this.data.ctx.canvas.height * t) / 100;
                        (this.data.ctx.strokeStyle = "#000"), (this.data.ctx.lineWidth = 2), this.data.ctx.strokeRect((this.data.ctx.canvas.width - e) / 2, (this.data.ctx.canvas.height - i) / 2, e, i);
                    }
                    walls() {
                        this.data.world.scene.children.forEach((t) => {
                            if ("Mesh" == t.type && t.dSrc && !t.material[s.hooked]) {
                                t.material[s.hooked] = !0;
                                var e = t.material.transparent,
                                    i = t.material.opacity;
                                Object.defineProperties(t.material, { opacity: { get: (t) => (i * this.data.walls) / 100, set: (t) => (i = t) }, transparent: { get: (t) => 100 != this.data.walls || e, set: (t) => (e = t) } });
                            }
                        });
                    }
                    axis_join(t) {
                        return t ? ["x", "y", "z"].map((e) => e + ": " + t[e].toFixed(2)).join(", ") : null;
                    }
                    overlay() {
                        (this.data.ctx.strokeStyle = "#000"), (this.data.ctx.font = "14px monospace"), (this.data.ctx.textAlign = "start"), (this.data.ctx.lineWidth = 2.6);
                        var t = { Player: this.data.player ? this.axis_join(this.data.player.position) : null, Target: this.data.target ? this.axis_join(this.data.target.position) : null },
                            e = [];
                        for (var i in t) {
                            var a = "#FFF",
                                s = t[i];
                            switch (typeof s) {
                                case "boolean":
                                    (a = s ? "#0F0" : "#F00"), (s = s ? "Yes" : "No");
                                    break;
                                case "number":
                                    (a = "#00F"), (s = s.toFixed(2));
                                    break;
                                case "object":
                                    s = "N/A";
                            }
                            e.push([
                                ["#BBB", i + ": "],
                                [a, s],
                            ]);
                        }
                        this.draw_text(15, this.data.ctx.canvas.height / 2 - (14 * e.length) / 2, 14, e);
                    }
                    p2a(t) {
                        var e = this.data.utils.pos2d(t);
                        return [e.x, e.y];
                    }
                    hitbox(t) {
                        var e = t.points();
                        (this.data.ctx.fillStyle = "red"),
                            (this.data.ctx.lineWidth = 1.5),
                            this.data.ctx.moveTo(...this.p2a(e[0])),
                            this.data.ctx.lineTo(...this.p2a(e[2])),
                            this.data.ctx.lineTo(...this.p2a(e[4])),
                            this.data.ctx.lineTo(...this.p2a(e[6])),
                            this.data.ctx.lineTo(...this.p2a(e[5])),
                            this.data.ctx.lineTo(...this.p2a(e[7])),
                            this.data.ctx.lineTo(...this.p2a(e[1])),
                            this.data.ctx.lineTo(...this.p2a(e[3])),
                            this.data.ctx.lineTo(...this.p2a(e[0])),
                            this.data.ctx.lineTo(...this.p2a(e[1])),
                            this.data.ctx.lineTo(...this.p2a(e[5])),
                            this.data.ctx.lineTo(...this.p2a(e[4])),
                            this.data.ctx.lineTo(...this.p2a(e[0])),
                            this.data.ctx.lineTo(...this.p2a(e[2])),
                            this.data.ctx.lineTo(...this.p2a(e[3])),
                            this.data.ctx.lineTo(...this.p2a(e[7])),
                            this.data.ctx.lineTo(...this.p2a(e[6])),
                            this.data.ctx.lineTo(...this.p2a(e[2])),
                            this.data.ctx.stroke();
                    }
                    box(t) {
                        (this.data.ctx.strokeStyle = t.esp_color), (this.data.ctx.lineWidth = 1.5), this.data.ctx.strokeRect(t.rect.left, t.rect.top, t.rect.width, t.rect.height);
                    }
                    tracer(t) {
                        (this.data.ctx.strokeStyle = t.esp_color),
                            (this.data.ctx.lineWidth = 1.75),
                            (this.data.ctx.lineCap = "round"),
                            this.data.ctx.beginPath(),
                            this.data.ctx.moveTo(this.data.ctx.canvas.width / 2, this.data.ctx.canvas.height),
                            this.data.ctx.lineTo(t.rect.x, t.rect.bottom),
                            this.data.ctx.stroke();
                    }
                    get can_draw_chams() {
                        return ["chams", "box_chams", "full"].includes(this.data.esp);
                    }
                    cham(t) {
                        if (!t.obj[s.hooked]) {
                            t.obj[s.hooked] = !0;
                            let e = !0;
                            Object.defineProperty(t.obj, "visible", { get: (t) => this.can_draw_chams || e, set: (t) => (e = t) });
                        }
                        t.obj.traverse((e) => {
                            if ("Mesh" == e.type && !e[s.hooked]) {
                                e[s.hooked] = !0;
                                var i = e.material;
                                Object.defineProperty(e, "material", {
                                    get: (e) => {
                                        var a = this.can_draw_chams ? this.esp_mat(t.esp_color) : i;
                                        return (a.wireframe = this.data.wireframe), a;
                                    },
                                    set: (t) => (i = t),
                                });
                            }
                        });
                    }
                    health(t) {
                        this.data.ctx.save(), this.data.ctx.scale(...t.box_scale);
                        var e = t.scale_rect(...t.box_scale);
                        (this.data.ctx.fillStyle = t.hp_color), this.data.ctx.fillRect(e.left - 30, e.top, 25, e.height), this.data.ctx.restore();
                    }
                    text(t) {
                        this.data.ctx.save(), this.data.ctx.scale(...t.dist_scale);
                        var e = t.scale_rect(...t.dist_scale);
                        (this.data.ctx.font = "Bold 13px Tahoma"), (this.data.ctx.strokeStyle = "#000"), (this.data.ctx.lineWidth = 2.5), (this.data.ctx.textBaseline = "top");
                        var i = [
                            [
                                ["#FB8", t.alias],
                                ["#FFF", t.clan ? " [" + t.clan + "]" : ""],
                            ],
                            [[t.hp_color, t.health + "/" + t.max_health + " HP"]],
                            [["#FFF", t.weapon.name]],
                        ];
                        t.target && i.push([["#00F", "Target"]]), this.draw_text(e.right + 4, e.top, 13, i), this.data.ctx.restore();
                    }
                    text_clean(t) {
                        this.data.ctx.save(), this.data.ctx.scale(...t.dist_scale);
                        var e = t.scale_rect(...t.dist_scale);
                        (this.data.ctx.font = "Bold 17px Tahoma"), (this.data.ctx.fillStyle = "white"), (this.data.ctx.strokeStyle = "black"), (this.data.ctx.lineWidth = 1);
                        let i = e.right + 7,
                            a = e.top,
                            s = t.name || t.alias;
                        this.data.ctx.fillText(s, i, a),
                            this.data.ctx.strokeText(s, i, a),
                            (a += 16),
                            (this.data.ctx.font = "Bold 15px Tahoma"),
                            (this.data.ctx.fillStyle = "#cccccc"),
                            this.data.ctx.fillText(t.weapon.name, i, a),
                            this.data.ctx.strokeText(t.weapon.name, i, a),
                            (a += 16),
                            (this.data.ctx.fillStyle = t.hp_color),
                            this.data.ctx.fillText(t.health + " HP", i, a),
                            this.data.ctx.strokeText(t.health + " HP", i, a),
                            this.data.ctx.restore();
                    }
                }
                (s.hooked = Symbol()), (t.exports = s);
            },
            9606: (t, e, i) => {
                "use strict";
                var a = i(2311),
                    s = i(6947),
                    r = i(1191);
                (e.store = new a()), (e.meta = i(3571));
                var n = new s();
                e.loader = n;
                var o = i(7263);
                if (
                    ((e.is_frame = window != window.top),
                    (e.krunker = o.is_host(location, "krunker.io", "browserfps.com") && "browserfps.com" != location.host && ["/.htaccess", "/"].includes(location.pathname)),
                    (e.proxy_addons = [
                        { name: "Browser VPN", chrome: "https://chrome.google.com/webstore/detail/ppajinakbfocjfnijggfndbdmjggcmde", firefox: "https://addons.mozilla.org/en-US/firefox/addon/mybrowser-vpn/" },
                        { name: "Hola VPN", chrome: "https://chrome.google.com/webstore/detail/gkojfkhlekighikafcpjkiklfbnlmeio", firefox: "https://addons.mozilla.org/en-US/firefox/addon/hola-unblocker/" },
                        {
                            name: "Windscribe",
                            chrome: "https://chrome.google.com/webstore/detail/hnmpcagpplmpfojmgmnngilcnanddlhb",
                            firefox: "https://addons.mozilla.org/en-US/firefox/addon/windscribe/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search",
                        },
                        { name: "UltraSurf", chrome: "https://chrome.google.com/webstore/detail/mjnbclmflcpookeapghfhapeffmpodij" },
                    ]),
                    (e.firefox = navigator.userAgent.includes("Firefox")),
                    (e.supported_store = e.firefox ? "firefox" : "chrome"),
                    (e.addon_url = (t) => (e.firefox ? "https://addons.mozilla.org/en-US/firefox/search/?q=" + encodeURIComponent(t) : "https://chrome.google.com/webstore/search/" + encodeURI(t))),
                    i(8864),
                    (e.init = () => {}),
                    e.krunker && !e.is_frame && ((e.frame = new r()), o.is_host(location, "browserfps.com") && i(3137), n.observe(), n.license(e.meta)),
                    !navigator.userAgent.includes("Electron") && "object" != typeof LOADER && document.currentScript && "SCRIPT" == document.currentScript.nodeName)
                )
                    throw (alert("The new loader will update/install."), setTimeout(() => location.assign("https://y9x.github.io/userscripts/loader.user.js"), 200));
            },
            573: (t, e) => {
                "use strict";
                class i {
                    constructor(t = 0, e = 0, i = 0) {
                        (this.x = t), (this.y = e), (this.z = i);
                    }
                    clone() {
                        return new i(this.x, this.y, this.z);
                    }
                    mps() {
                        return 1e3 * Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2));
                    }
                    set(t, e, i) {
                        return (this.x = t), (this.y = e), (this.z = i), this;
                    }
                    copy(t) {
                        return (this.x = t.x), (this.y = t.y), (this.z = t.z), this;
                    }
                    add(t) {
                        return (this.x += t.x), (this.y += t.y), (this.z += t.z), this;
                    }
                    add_vectors(t = 0, e = 0, i = 0) {
                        return (this.x += t), (this.y += e), (this.z += i), this;
                    }
                    add_scalar(t) {
                        return (this.x += t), (this.y += t), (this.z += t), this;
                    }
                    sub(t) {
                        return (this.x += t.x), (this.y += t.y), (this.z += t.z), this;
                    }
                    sub_vectors(t = 0, e = 0, i = 0) {
                        return (this.x -= t), (this.y -= e), (this.z -= i), this;
                    }
                    sub_scalar(t) {
                        return (this.x -= t), (this.y -= t), (this.z -= t), this;
                    }
                    multiply(t) {
                        return (this.x *= t.x), (this.y *= t.y), (this.z *= t.z), this;
                    }
                    multiply_vectors(t = 0, e = 0, i = 0) {
                        return (this.x *= t), (this.y *= e), (this.z *= i), this;
                    }
                    multiply_scalar(t) {
                        return (this.x *= t), (this.y *= t), (this.z *= t), this;
                    }
                    divide(t) {
                        return (this.x /= t.x), (this.y /= t.y), (this.z /= t.z), this;
                    }
                    divide_vectors(t = 0, e = 0, i = 0) {
                        return (this.x /= t), (this.y /= e), (this.z /= i), this;
                    }
                    divide_scalar(t) {
                        return (this.x /= t), (this.y /= t), (this.z /= t), this;
                    }
                    apply_quaternion(t) {
                        const e = this.x,
                            i = this.y,
                            a = this.z,
                            s = t.x,
                            r = t.y,
                            n = t.z,
                            o = t.w,
                            h = o * e + r * a - n * i,
                            c = o * i + n * e - s * a,
                            l = o * a + s * i - r * e,
                            d = -s * e - r * i - n * a;
                        return (this.x = h * o + d * -s + c * -n - l * -r), (this.y = c * o + d * -r + l * -s - h * -n), (this.z = l * o + d * -n + h * -r - c * -s), this;
                    }
                    translate_quaternion(t, e) {
                        for (var a in e) {
                            var s = new i();
                            s[a] = 1;
                            var r = s.apply_quaternion(t).multiply_scalar(e[a]);
                            this.add(r);
                        }
                        return this;
                    }
                    distance_to(t) {
                        return Math.hypot(this.x - t.x, this.y - t.y, this.z - t.z);
                    }
                }
                i.Blank = new i();
                (e.Box3 = class {
                    min = new i();
                    max = new i();
                    points() {
                        return [
                            new i(this.min.x, this.min.y, this.min.z),
                            new i(this.min.x, this.min.y, this.max.z),
                            new i(this.min.x, this.max.y, this.min.z),
                            new i(this.min.x, this.max.y, this.max.z),
                            new i(this.max.x, this.min.y, this.min.z),
                            new i(this.max.x, this.min.y, this.max.z),
                            new i(this.max.x, this.max.y, this.min.z),
                            new i(this.max.x, this.max.y, this.max.z),
                        ];
                    }
                }),
                    (e.Hex3 = class {
                        hex = [0, 0, 0];
                        constructor(t = "#000") {
                            this.set_style(t);
                        }
                        add_scalar(t) {
                            for (let e in this.hex) this.hex[e] += t;
                            return this.normalize();
                        }
                        sub_scalar(t) {
                            for (let e in this.hex) this.hex[e] -= t;
                            return this.normalize();
                        }
                        normalize() {
                            for (let t in this.hex) this.hex[t] = Math.max(Math.min(this.hex[t], 255), 0);
                            return this;
                        }
                        set(t, e, i) {
                            return (this.hex[0] = t), (this.hex[1] = e), (this.hex[2] = i), this;
                        }
                        set_style(t) {
                            let e = 0,
                                i = "#" == t[0] ? 1 : 0,
                                a = t.length - i < 5 ? 1 : 2;
                            for (let s = i; s < t.length; s += a) {
                                let i = t.substr(s, a);
                                1 == a && (i += i), (this.hex[e++] = parseInt(i, 16));
                            }
                            return this;
                        }
                        toString() {
                            var t = "#";
                            for (let e of this.hex) t += e.toString(16).padStart(2, 0);
                            return t;
                        }
                    }),
                    (e.Vector3 = i);
            },
            8864: (t, e, i) => {
                "use strict";
                var { loader: a } = i(9606);
                a.var("inView", /&&!\w\.\w+&&\w\.\w+&&\w\.(\w+)\){/, 1),
                    a.var("spectating", /team:window\.(\w+)/, 1),
                    a.var("nAuto", /'Single Fire',varN:'(\w+)'/, 1),
                    a.var("xDire", /this\.(\w+)=Math\.lerpAngle\(this\.\w+\[1\]\.xD/, 1),
                    a.var("yDire", /this\.(\w+)=Math\.lerpAngle\(this\.\w+\[1\]\.yD/, 1),
                    a.var("procInputs", /this\.(\w+)=function\(\w+,\w+,\w+,\w+\){this\.recon/, 1),
                    a.var("isYou", /this\.accid=0,this\.(\w+)=\w+,this\.isPlayer/, 1),
                    a.var("pchObjc", /this\.mouseX=0,this\.mouseY=0\,this\.(\w+)=new /, 1),
                    a.var("aimVal", /this\.(\w+)-=1\/\(this\.weapon\.aimSpd/, 1),
                    a.var("crouchVal", /this\.(\w+)\+=\w\.crouchSpd\*\w+,1<=this\.\w+/, 1),
                    a.var("didShoot", /--,\w+\.(\w+)=!0/, 1),
                    a.var("ammos", /length;for\(\w+=0;\w+<\w+\.(\w+)\.length/, 1),
                    a.var("weaponIndex", /\.weaponConfig\[\w+]\.secondary&&\(\w+\.(\w+)==\w+/, 1),
                    a.var("maxHealth", /\.regenDelay,this\.(\w+)=\w+\.mode&&\w+\.mode\.\1/, 1),
                    a.var("adsToggled", /this\.(\w+)=!1,this\.keys=/, 1),
                    a.var("recoilAnimY", /\.\w+=0,this\.(\w+)=0,this\.\w+=0,this\.\w+=1,this\.slide/, 1),
                    a.var("objInstances", /objInstances/, 0),
                    a.var("getWorldPosition", /var \w+=\w+\.camera\.(\w+)\(\);/, 1),
                    a.patch("Skins", /(this\.name=\w+,)(this\.score=)/g, (t, e, i) => `${e}${a.context.key}.skins(this),${i}`),
                    a.patch("Nametags", /&&((\w+)\.\w+Seen)(?=\){if\(\(\w+=\2\.objInstances)/, (t, e) => `&& ${a.context.key}.can_see(${e})`),
                    a.patch("Game", /(\w+)\.moveObj=func/, (t, e) => `${a.context.key}.game(${e}),${t}`),
                    a.patch("Controls", /\.controls=(\w+);/, (t, e) => `${t}${a.context.key}.controls(${e});`),
                    a.patch("World", /(\w+)\.backgroundScene=/, (t, e) => `${a.context.key}.world(${e}),${t}`),
                    a.patch("Input", /((\w+\.\w+)\[\2\._push\?'_push':'push']\()(\w+)(\),)/, (t, e, i, s, r) => `${e}${a.context.key}.input.push(${s})${r}`),
                    a.patch("ThreeJS", /\(\w+,(\w+),\w+\){(?=[a-z ';\.\(\),]+ACESFilmic)/, (t, e) => `${t}${a.context.key}.three(${e});`),
                    a.patch("Socket", /(\w+\.exports={ahNum:)/, (t, e) => `${a.context.key}.socket=${e}`),
                    a.patch("Inactivity", />=(\w+\.kickTimer)/g, (t, e) => `>=${a.context.key}.kick_timer(${e})`);
            },
            7846: (t) => {
                !(function (e) {
                    t.exports = e;
                    var i = {
                        on: function (t, e) {
                            return r(this, t).push(e), this;
                        },
                        once: function (t, e) {
                            var i = this;
                            return (a.originalListener = e), r(i, t).push(a), i;
                            function a() {
                                s.call(i, t, a), e.apply(this, arguments);
                            }
                        },
                        off: s,
                        emit: function (t, e) {
                            var i = this,
                                a = r(i, t, !0);
                            if (!a) return !1;
                            var s = arguments.length;
                            if (1 === s) a.forEach(o);
                            else if (2 === s) a.forEach(h);
                            else {
                                var n = Array.prototype.slice.call(arguments, 1);
                                a.forEach(c);
                            }
                            return !!a.length;
                            function o(t) {
                                t.call(i);
                            }
                            function h(t) {
                                t.call(i, e);
                            }
                            function c(t) {
                                t.apply(i, n);
                            }
                        },
                    };
                    function a(t) {
                        for (var e in i) t[e] = i[e];
                        return t;
                    }
                    function s(t, e) {
                        var i,
                            a = this;
                        if (arguments.length) {
                            if (e) {
                                if ((i = r(a, t, !0))) {
                                    if (!(i = i.filter(n)).length) return s.call(a, t);
                                    a.listeners[t] = i;
                                }
                            } else if ((i = a.listeners) && (delete i[t], !Object.keys(i).length)) return s.call(a);
                        } else delete a.listeners;
                        return a;
                        function n(t) {
                            return t !== e && t.originalListener !== e;
                        }
                    }
                    function r(t, e, i) {
                        if (!i || t.listeners) {
                            var a = t.listeners || (t.listeners = {});
                            return a[e] || (a[e] = []);
                        }
                    }
                    a(e.prototype), (e.mixin = a);
                })(function t() {
                    if (!(this instanceof t)) return new t();
                });
            },
            8898: (t, e) => {
                (e.read = function (t, e, i, a, s) {
                    var r,
                        n,
                        o = 8 * s - a - 1,
                        h = (1 << o) - 1,
                        c = h >> 1,
                        l = -7,
                        d = i ? s - 1 : 0,
                        u = i ? -1 : 1,
                        p = t[e + d];
                    for (d += u, r = p & ((1 << -l) - 1), p >>= -l, l += o; l > 0; r = 256 * r + t[e + d], d += u, l -= 8);
                    for (n = r & ((1 << -l) - 1), r >>= -l, l += a; l > 0; n = 256 * n + t[e + d], d += u, l -= 8);
                    if (0 === r) r = 1 - c;
                    else {
                        if (r === h) return n ? NaN : (1 / 0) * (p ? -1 : 1);
                        (n += Math.pow(2, a)), (r -= c);
                    }
                    return (p ? -1 : 1) * n * Math.pow(2, r - a);
                }),
                    (e.write = function (t, e, i, a, s, r) {
                        var n,
                            o,
                            h,
                            c = 8 * r - s - 1,
                            l = (1 << c) - 1,
                            d = l >> 1,
                            u = 23 === s ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
                            p = a ? 0 : r - 1,
                            f = a ? 1 : -1,
                            m = e < 0 || (0 === e && 1 / e < 0) ? 1 : 0;
                        for (
                            e = Math.abs(e),
                                isNaN(e) || e === 1 / 0
                                    ? ((o = isNaN(e) ? 1 : 0), (n = l))
                                    : ((n = Math.floor(Math.log(e) / Math.LN2)),
                                      e * (h = Math.pow(2, -n)) < 1 && (n--, (h *= 2)),
                                      (e += n + d >= 1 ? u / h : u * Math.pow(2, 1 - d)) * h >= 2 && (n++, (h /= 2)),
                                      n + d >= l ? ((o = 0), (n = l)) : n + d >= 1 ? ((o = (e * h - 1) * Math.pow(2, s)), (n += d)) : ((o = e * Math.pow(2, d - 1) * Math.pow(2, s)), (n = 0)));
                            s >= 8;
                            t[i + p] = 255 & o, p += f, o /= 256, s -= 8
                        );
                        for (n = (n << s) | o, c += s; c > 0; t[i + p] = 255 & n, p += f, n /= 256, c -= 8);
                        t[i + p - f] |= 128 * m;
                    });
            },
            7137: function (t, e) {
                !(function (t) {
                    var e,
                        i = "undefined",
                        a = i !== typeof Buffer && Buffer,
                        s = i !== typeof Uint8Array && Uint8Array,
                        r = i !== typeof ArrayBuffer && ArrayBuffer,
                        n = [0, 0, 0, 0, 0, 0, 0, 0],
                        o =
                            Array.isArray ||
                            function (t) {
                                return !!t && "[object Array]" == Object.prototype.toString.call(t);
                            },
                        h = 4294967296;
                    function c(o, c, w) {
                        var b = c ? 0 : 4,
                            _ = c ? 4 : 0,
                            k = c ? 0 : 3,
                            E = c ? 1 : 2,
                            z = c ? 2 : 1,
                            S = c ? 3 : 0,
                            A = c ? g : x,
                            M = c ? v : y,
                            C = F.prototype,
                            L = "is" + o,
                            B = "_" + L;
                        return (
                            (C.buffer = void 0),
                            (C.offset = 0),
                            (C[B] = !0),
                            (C.toNumber = T),
                            (C.toString = function (t) {
                                var e = this.buffer,
                                    i = this.offset,
                                    a = j(e, i + b),
                                    s = j(e, i + _),
                                    r = "",
                                    n = !w && 2147483648 & a;
                                n && ((a = ~a), (s = h - s));
                                t = t || 10;
                                for (;;) {
                                    var o = (a % t) * h + s;
                                    if (((a = Math.floor(a / t)), (s = Math.floor(o / t)), (r = (o % t).toString(t) + r), !a && !s)) break;
                                }
                                n && (r = "-" + r);
                                return r;
                            }),
                            (C.toJSON = T),
                            (C.toArray = l),
                            a && (C.toBuffer = d),
                            s && (C.toArrayBuffer = u),
                            (F[L] = function (t) {
                                return !(!t || !t[B]);
                            }),
                            (t[o] = F),
                            F
                        );
                        function F(t, a, o, c) {
                            return this instanceof F
                                ? (function (t, a, o, c, l) {
                                      s && r && (a instanceof r && (a = new s(a)), c instanceof r && (c = new s(c)));
                                      if (!(a || o || c || e)) return void (t.buffer = m(n, 0));
                                      if (!p(a, o)) {
                                          (l = o), (c = a), (o = 0), (a = new (e || Array)(8));
                                      }
                                      if (((t.buffer = a), (t.offset = o |= 0), i === typeof c)) return;
                                      "string" == typeof c
                                          ? (function (t, e, i, a) {
                                                var s = 0,
                                                    r = i.length,
                                                    n = 0,
                                                    o = 0;
                                                "-" === i[0] && s++;
                                                var c = s;
                                                for (; s < r; ) {
                                                    var l = parseInt(i[s++], a);
                                                    if (!(l >= 0)) break;
                                                    (o = o * a + l), (n = n * a + Math.floor(o / h)), (o %= h);
                                                }
                                                c && ((n = ~n), o ? (o = h - o) : n++);
                                                U(t, e + b, n), U(t, e + _, o);
                                            })(a, o, c, l || 10)
                                          : p(c, l)
                                          ? f(a, o, c, l)
                                          : "number" == typeof l
                                          ? (U(a, o + b, c), U(a, o + _, l))
                                          : c > 0
                                          ? A(a, o, c)
                                          : c < 0
                                          ? M(a, o, c)
                                          : f(a, o, n, 0);
                                  })(this, t, a, o, c)
                                : new F(t, a, o, c);
                        }
                        function T() {
                            var t = this.buffer,
                                e = this.offset,
                                i = j(t, e + b),
                                a = j(t, e + _);
                            return w || (i |= 0), i ? i * h + a : a;
                        }
                        function U(t, e, i) {
                            (t[e + S] = 255 & i), (i >>= 8), (t[e + z] = 255 & i), (i >>= 8), (t[e + E] = 255 & i), (i >>= 8), (t[e + k] = 255 & i);
                        }
                        function j(t, e) {
                            return 16777216 * t[e + k] + (t[e + E] << 16) + (t[e + z] << 8) + t[e + S];
                        }
                    }
                    function l(t) {
                        var i = this.buffer,
                            a = this.offset;
                        return (e = null), !1 !== t && 0 === a && 8 === i.length && o(i) ? i : m(i, a);
                    }
                    function d(t) {
                        var i = this.buffer,
                            s = this.offset;
                        if (((e = a), !1 !== t && 0 === s && 8 === i.length && Buffer.isBuffer(i))) return i;
                        var r = new a(8);
                        return f(r, 0, i, s), r;
                    }
                    function u(t) {
                        var i = this.buffer,
                            a = this.offset,
                            n = i.buffer;
                        if (((e = s), !1 !== t && 0 === a && n instanceof r && 8 === n.byteLength)) return n;
                        var o = new s(8);
                        return f(o, 0, i, a), o.buffer;
                    }
                    function p(t, e) {
                        var i = t && t.length;
                        return (e |= 0), i && e + 8 <= i && "string" != typeof t[e];
                    }
                    function f(t, e, i, a) {
                        (e |= 0), (a |= 0);
                        for (var s = 0; s < 8; s++) t[e++] = 255 & i[a++];
                    }
                    function m(t, e) {
                        return Array.prototype.slice.call(t, e, e + 8);
                    }
                    function g(t, e, i) {
                        for (var a = e + 8; a > e; ) (t[--a] = 255 & i), (i /= 256);
                    }
                    function v(t, e, i) {
                        var a = e + 8;
                        for (i++; a > e; ) (t[--a] = (255 & -i) ^ 255), (i /= 256);
                    }
                    function x(t, e, i) {
                        for (var a = e + 8; e < a; ) (t[e++] = 255 & i), (i /= 256);
                    }
                    function y(t, e, i) {
                        var a = e + 8;
                        for (i++; e < a; ) (t[e++] = (255 & -i) ^ 255), (i /= 256);
                    }
                    c("Uint64BE", !0, !0), c("Int64BE", !0, !1), c("Uint64LE", !1, !0), c("Int64LE", !1, !1);
                })("string" != typeof e.nodeName ? e : this || {});
            },
            5182: (t) => {
                var e = {}.toString;
                t.exports =
                    Array.isArray ||
                    function (t) {
                        return "[object Array]" == e.call(t);
                    };
            },
            3229: (t, e, i) => {
                (e.encode = i(7483).encode), (e.decode = i(7296).decode), (e.Encoder = i(9285).Encoder), (e.Decoder = i(5988).Decoder), (e.createCodec = i(6059).createCodec), (e.codec = i(3626).codec);
            },
            4122: function (t) {
                function e(t) {
                    return t && t.isBuffer && t;
                }
                t.exports = e("undefined" != typeof Buffer && Buffer) || e(this.Buffer) || e("undefined" != typeof window && window.Buffer) || this.Buffer;
            },
            1891: (t, e) => {
                (e.copy = function (t, e, i, a) {
                    var s;
                    i || (i = 0);
                    a || 0 === a || (a = this.length);
                    e || (e = 0);
                    var r = a - i;
                    if (t === this && i < e && e < a) for (s = r - 1; s >= 0; s--) t[s + e] = this[s + i];
                    else for (s = 0; s < r; s++) t[s + e] = this[s + i];
                    return r;
                }),
                    (e.toString = function (t, e, i) {
                        var a = this,
                            s = 0 | e;
                        i || (i = a.length);
                        var r = "",
                            n = 0;
                        for (; s < i; )
                            (n = a[s++]) < 128
                                ? (r += String.fromCharCode(n))
                                : (192 == (224 & n)
                                      ? (n = ((31 & n) << 6) | (63 & a[s++]))
                                      : 224 == (240 & n)
                                      ? (n = ((15 & n) << 12) | ((63 & a[s++]) << 6) | (63 & a[s++]))
                                      : 240 == (248 & n) && (n = ((7 & n) << 18) | ((63 & a[s++]) << 12) | ((63 & a[s++]) << 6) | (63 & a[s++])),
                                  n >= 65536 ? ((n -= 65536), (r += String.fromCharCode(55296 + (n >>> 10), 56320 + (1023 & n)))) : (r += String.fromCharCode(n)));
                        return r;
                    }),
                    (e.write = function (t, e) {
                        var i = this,
                            a = e || (e |= 0),
                            s = t.length,
                            r = 0,
                            n = 0;
                        for (; n < s; )
                            (r = t.charCodeAt(n++)) < 128
                                ? (i[a++] = r)
                                : r < 2048
                                ? ((i[a++] = 192 | (r >>> 6)), (i[a++] = 128 | (63 & r)))
                                : r < 55296 || r > 57343
                                ? ((i[a++] = 224 | (r >>> 12)), (i[a++] = 128 | ((r >>> 6) & 63)), (i[a++] = 128 | (63 & r)))
                                : ((r = 65536 + (((r - 55296) << 10) | (t.charCodeAt(n++) - 56320))), (i[a++] = 240 | (r >>> 18)), (i[a++] = 128 | ((r >>> 12) & 63)), (i[a++] = 128 | ((r >>> 6) & 63)), (i[a++] = 128 | (63 & r)));
                        return a - e;
                    });
            },
            2169: (t, e, i) => {
                var a = i(8918),
                    s = (t.exports = r(0));
                function r(t) {
                    return new Array(t);
                }
                (s.alloc = r),
                    (s.concat = a.concat),
                    (s.from = function (t) {
                        if (!a.isBuffer(t) && a.isView(t)) t = a.Uint8Array.from(t);
                        else if (a.isArrayBuffer(t)) t = new Uint8Array(t);
                        else {
                            if ("string" == typeof t) return a.from.call(s, t);
                            if ("number" == typeof t) throw new TypeError('"value" argument must not be a number');
                        }
                        return Array.prototype.slice.call(t);
                    });
            },
            5837: (t, e, i) => {
                var a = i(8918),
                    s = a.global,
                    r = (t.exports = a.hasBuffer ? n(0) : []);
                function n(t) {
                    return new s(t);
                }
                (r.alloc = (a.hasBuffer && s.alloc) || n),
                    (r.concat = a.concat),
                    (r.from = function (t) {
                        if (!a.isBuffer(t) && a.isView(t)) t = a.Uint8Array.from(t);
                        else if (a.isArrayBuffer(t)) t = new Uint8Array(t);
                        else {
                            if ("string" == typeof t) return a.from.call(r, t);
                            if ("number" == typeof t) throw new TypeError('"value" argument must not be a number');
                        }
                        return s.from && 1 !== s.from.length ? s.from(t) : new s(t);
                    });
            },
            5706: (t, e, i) => {
                var a,
                    s = i(1891);
                (e.copy = c),
                    (e.slice = l),
                    (e.toString = function (t, e, i) {
                        var a = !o && r.isBuffer(this) ? this.toString : s.toString;
                        return a.apply(this, arguments);
                    }),
                    (e.write =
                        ((a = "write"),
                        function () {
                            return (this[a] || s[a]).apply(this, arguments);
                        }));
                var r = i(8918),
                    n = r.global,
                    o = r.hasBuffer && "TYPED_ARRAY_SUPPORT" in n,
                    h = o && !n.TYPED_ARRAY_SUPPORT;
                function c(t, e, i, a) {
                    var n = r.isBuffer(this),
                        o = r.isBuffer(t);
                    if (n && o) return this.copy(t, e, i, a);
                    if (h || n || o || !r.isView(this) || !r.isView(t)) return s.copy.call(this, t, e, i, a);
                    var c = i || null != a ? l.call(this, i, a) : this;
                    return t.set(c, e), c.length;
                }
                function l(t, e) {
                    var i = this.slice || (!h && this.subarray);
                    if (i) return i.call(this, t, e);
                    var a = r.alloc.call(this, e - t);
                    return c.call(this, a, 0, t, e), a;
                }
            },
            8513: (t, e, i) => {
                var a = i(8918),
                    s = (t.exports = a.hasArrayBuffer ? r(0) : []);
                function r(t) {
                    return new Uint8Array(t);
                }
                (s.alloc = r),
                    (s.concat = a.concat),
                    (s.from = function (t) {
                        if (a.isView(t)) {
                            var e = t.byteOffset,
                                i = t.byteLength;
                            (t = t.buffer).byteLength !== i && (t.slice ? (t = t.slice(e, e + i)) : (t = new Uint8Array(t)).byteLength !== i && (t = Array.prototype.slice.call(t, e, e + i)));
                        } else {
                            if ("string" == typeof t) return a.from.call(s, t);
                            if ("number" == typeof t) throw new TypeError('"value" argument must not be a number');
                        }
                        return new Uint8Array(t);
                    });
            },
            8918: (t, e, i) => {
                var a = (e.global = i(4122)),
                    s = (e.hasBuffer = a && !!a.isBuffer),
                    r = (e.hasArrayBuffer = "undefined" != typeof ArrayBuffer),
                    n = (e.isArray = i(5182));
                e.isArrayBuffer = r
                    ? function (t) {
                          return t instanceof ArrayBuffer || f(t);
                      }
                    : v;
                var o = (e.isBuffer = s ? a.isBuffer : v),
                    h = (e.isView = r ? ArrayBuffer.isView || x("ArrayBuffer", "buffer") : v);
                (e.alloc = p),
                    (e.concat = function (t, i) {
                        i ||
                            ((i = 0),
                            Array.prototype.forEach.call(t, function (t) {
                                i += t.length;
                            }));
                        var a = (this !== e && this) || t[0],
                            s = p.call(a, i),
                            r = 0;
                        return (
                            Array.prototype.forEach.call(t, function (t) {
                                r += u.copy.call(t, s, r);
                            }),
                            s
                        );
                    }),
                    (e.from = function (t) {
                        return "string" == typeof t ? m.call(this, t) : g(this).from(t);
                    });
                var c = (e.Array = i(2169)),
                    l = (e.Buffer = i(5837)),
                    d = (e.Uint8Array = i(8513)),
                    u = (e.prototype = i(5706));
                function p(t) {
                    return g(this).alloc(t);
                }
                var f = x("ArrayBuffer");
                function m(t) {
                    var e = 3 * t.length,
                        i = p.call(this, e),
                        a = u.write.call(i, t);
                    return e !== a && (i = u.slice.call(i, 0, a)), i;
                }
                function g(t) {
                    return o(t) ? l : h(t) ? d : n(t) ? c : s ? l : r ? d : c;
                }
                function v() {
                    return !1;
                }
                function x(t, e) {
                    return (
                        (t = "[object " + t + "]"),
                        function (i) {
                            return null != i && {}.toString.call(e ? i[e] : i) === t;
                        }
                    );
                }
            },
            8551: (t, e, i) => {
                var a = i(5182);
                (e.createCodec = o),
                    (e.install = function (t) {
                        for (var e in t) r.prototype[e] = n(r.prototype[e], t[e]);
                    }),
                    (e.filter = function (t) {
                        return a(t)
                            ? (function (t) {
                                  return (
                                      (t = t.slice()),
                                      function (i) {
                                          return t.reduce(e, i);
                                      }
                                  );
                                  function e(t, e) {
                                      return e(t);
                                  }
                              })(t)
                            : t;
                    });
                var s = i(8918);
                function r(t) {
                    if (!(this instanceof r)) return new r(t);
                    (this.options = t), this.init();
                }
                function n(t, e) {
                    return t && e
                        ? function () {
                              return t.apply(this, arguments), e.apply(this, arguments);
                          }
                        : t || e;
                }
                function o(t) {
                    return new r(t);
                }
                (r.prototype.init = function () {
                    var t = this.options;
                    return t && t.uint8array && (this.bufferish = s.Uint8Array), this;
                }),
                    (e.preset = o({ preset: !0 }));
            },
            3626: (t, e, i) => {
                i(5440), i(9339), (e.codec = { preset: i(8551).preset });
            },
            7323: (t, e, i) => {
                e.T = s;
                var a = i(5440).preset;
                function s(t) {
                    if (!(this instanceof s)) return new s(t);
                    if (t && ((this.options = t), t.codec)) {
                        var e = (this.codec = t.codec);
                        e.bufferish && (this.bufferish = e.bufferish);
                    }
                }
                i(2193).k.mixin(s.prototype),
                    (s.prototype.codec = a),
                    (s.prototype.fetch = function () {
                        return this.codec.decode(this);
                    });
            },
            7296: (t, e, i) => {
                e.decode = function (t, e) {
                    var i = new a(e);
                    return i.write(t), i.read();
                };
                var a = i(7323).T;
            },
            5988: (t, e, i) => {
                e.Decoder = r;
                var a = i(7846),
                    s = i(7323).T;
                function r(t) {
                    if (!(this instanceof r)) return new r(t);
                    s.call(this, t);
                }
                (r.prototype = new s()),
                    a.mixin(r.prototype),
                    (r.prototype.decode = function (t) {
                        arguments.length && this.write(t), this.flush();
                    }),
                    (r.prototype.push = function (t) {
                        this.emit("data", t);
                    }),
                    (r.prototype.end = function (t) {
                        this.decode(t), this.emit("end");
                    });
            },
            2425: (t, e, i) => {
                e.F = s;
                var a = i(9339).preset;
                function s(t) {
                    if (!(this instanceof s)) return new s(t);
                    if (t && ((this.options = t), t.codec)) {
                        var e = (this.codec = t.codec);
                        e.bufferish && (this.bufferish = e.bufferish);
                    }
                }
                i(2193).I.mixin(s.prototype),
                    (s.prototype.codec = a),
                    (s.prototype.write = function (t) {
                        this.codec.encode(this, t);
                    });
            },
            7483: (t, e, i) => {
                e.encode = function (t, e) {
                    var i = new a(e);
                    return i.write(t), i.read();
                };
                var a = i(2425).F;
            },
            9285: (t, e, i) => {
                e.Encoder = r;
                var a = i(7846),
                    s = i(2425).F;
                function r(t) {
                    if (!(this instanceof r)) return new r(t);
                    s.call(this, t);
                }
                (r.prototype = new s()),
                    a.mixin(r.prototype),
                    (r.prototype.encode = function (t) {
                        this.write(t), this.emit("data", this.read());
                    }),
                    (r.prototype.end = function (t) {
                        arguments.length && this.encode(t), this.flush(), this.emit("end");
                    });
            },
            7386: (t, e, i) => {
                e.S = function t(e, i) {
                    if (!(this instanceof t)) return new t(e, i);
                    (this.buffer = a.from(e)), (this.type = i);
                };
                var a = i(8918);
            },
            7754: (t, e, i) => {
                e.setExtPackers = function (t) {
                    t.addExtPacker(14, Error, [d, h]),
                        t.addExtPacker(1, EvalError, [d, h]),
                        t.addExtPacker(2, RangeError, [d, h]),
                        t.addExtPacker(3, ReferenceError, [d, h]),
                        t.addExtPacker(4, SyntaxError, [d, h]),
                        t.addExtPacker(5, TypeError, [d, h]),
                        t.addExtPacker(6, URIError, [d, h]),
                        t.addExtPacker(10, RegExp, [l, h]),
                        t.addExtPacker(11, Boolean, [c, h]),
                        t.addExtPacker(12, String, [c, h]),
                        t.addExtPacker(13, Date, [Number, h]),
                        t.addExtPacker(15, Number, [c, h]),
                        "undefined" != typeof Uint8Array &&
                            (t.addExtPacker(17, Int8Array, n),
                            t.addExtPacker(18, Uint8Array, n),
                            t.addExtPacker(19, Int16Array, n),
                            t.addExtPacker(20, Uint16Array, n),
                            t.addExtPacker(21, Int32Array, n),
                            t.addExtPacker(22, Uint32Array, n),
                            t.addExtPacker(23, Float32Array, n),
                            "undefined" != typeof Float64Array && t.addExtPacker(24, Float64Array, n),
                            "undefined" != typeof Uint8ClampedArray && t.addExtPacker(25, Uint8ClampedArray, n),
                            t.addExtPacker(26, ArrayBuffer, n),
                            t.addExtPacker(29, DataView, n));
                    s.hasBuffer && t.addExtPacker(27, r, s.from);
                };
                var a,
                    s = i(8918),
                    r = s.global,
                    n = s.Uint8Array.from,
                    o = { name: 1, message: 1, stack: 1, columnNumber: 1, fileName: 1, lineNumber: 1 };
                function h(t) {
                    return a || (a = i(7483).encode), a(t);
                }
                function c(t) {
                    return t.valueOf();
                }
                function l(t) {
                    (t = RegExp.prototype.toString.call(t).split("/")).shift();
                    var e = [t.pop()];
                    return e.unshift(t.join("/")), e;
                }
                function d(t) {
                    var e = {};
                    for (var i in o) e[i] = t[i];
                    return e;
                }
            },
            7660: (t, e, i) => {
                e.setExtUnpackers = function (t) {
                    t.addExtUnpacker(14, [o, c(Error)]),
                        t.addExtUnpacker(1, [o, c(EvalError)]),
                        t.addExtUnpacker(2, [o, c(RangeError)]),
                        t.addExtUnpacker(3, [o, c(ReferenceError)]),
                        t.addExtUnpacker(4, [o, c(SyntaxError)]),
                        t.addExtUnpacker(5, [o, c(TypeError)]),
                        t.addExtUnpacker(6, [o, c(URIError)]),
                        t.addExtUnpacker(10, [o, h]),
                        t.addExtUnpacker(11, [o, l(Boolean)]),
                        t.addExtUnpacker(12, [o, l(String)]),
                        t.addExtUnpacker(13, [o, l(Date)]),
                        t.addExtUnpacker(15, [o, l(Number)]),
                        "undefined" != typeof Uint8Array &&
                            (t.addExtUnpacker(17, l(Int8Array)),
                            t.addExtUnpacker(18, l(Uint8Array)),
                            t.addExtUnpacker(19, [d, l(Int16Array)]),
                            t.addExtUnpacker(20, [d, l(Uint16Array)]),
                            t.addExtUnpacker(21, [d, l(Int32Array)]),
                            t.addExtUnpacker(22, [d, l(Uint32Array)]),
                            t.addExtUnpacker(23, [d, l(Float32Array)]),
                            "undefined" != typeof Float64Array && t.addExtUnpacker(24, [d, l(Float64Array)]),
                            "undefined" != typeof Uint8ClampedArray && t.addExtUnpacker(25, l(Uint8ClampedArray)),
                            t.addExtUnpacker(26, d),
                            t.addExtUnpacker(29, [d, l(DataView)]));
                    s.hasBuffer && t.addExtUnpacker(27, l(r));
                };
                var a,
                    s = i(8918),
                    r = s.global,
                    n = { name: 1, message: 1, stack: 1, columnNumber: 1, fileName: 1, lineNumber: 1 };
                function o(t) {
                    return a || (a = i(7296).decode), a(t);
                }
                function h(t) {
                    return RegExp.apply(null, t);
                }
                function c(t) {
                    return function (e) {
                        var i = new t();
                        for (var a in n) i[a] = e[a];
                        return i;
                    };
                }
                function l(t) {
                    return function (e) {
                        return new t(e);
                    };
                }
                function d(t) {
                    return new Uint8Array(t).buffer;
                }
            },
            6059: (t, e, i) => {
                i(5440), i(9339), (e.createCodec = i(8551).createCodec);
            },
            2193: (t, e, i) => {
                (e.k = r), (e.I = n);
                var a = i(8918),
                    s = "BUFFER_SHORTAGE";
                function r() {
                    if (!(this instanceof r)) return new r();
                }
                function n() {
                    if (!(this instanceof n)) return new n();
                }
                function o() {
                    throw new Error("method not implemented: write()");
                }
                function h() {
                    throw new Error("method not implemented: fetch()");
                }
                function c() {
                    return this.buffers && this.buffers.length ? (this.flush(), this.pull()) : this.fetch();
                }
                function l(t) {
                    (this.buffers || (this.buffers = [])).push(t);
                }
                function d() {
                    return (this.buffers || (this.buffers = [])).shift();
                }
                function u(t) {
                    return function (e) {
                        for (var i in t) e[i] = t[i];
                        return e;
                    };
                }
                (r.mixin = u({
                    bufferish: a,
                    write: function (t) {
                        var e = this.offset ? a.prototype.slice.call(this.buffer, this.offset) : this.buffer;
                        (this.buffer = e ? (t ? this.bufferish.concat([e, t]) : e) : t), (this.offset = 0);
                    },
                    fetch: h,
                    flush: function () {
                        for (; this.offset < this.buffer.length; ) {
                            var t,
                                e = this.offset;
                            try {
                                t = this.fetch();
                            } catch (t) {
                                if (t && t.message != s) throw t;
                                this.offset = e;
                                break;
                            }
                            this.push(t);
                        }
                    },
                    push: l,
                    pull: d,
                    read: c,
                    reserve: function (t) {
                        var e = this.offset,
                            i = e + t;
                        if (i > this.buffer.length) throw new Error(s);
                        return (this.offset = i), e;
                    },
                    offset: 0,
                })),
                    r.mixin(r.prototype),
                    (n.mixin = u({
                        bufferish: a,
                        write: o,
                        fetch: function () {
                            var t = this.start;
                            if (t < this.offset) {
                                var e = (this.start = this.offset);
                                return a.prototype.slice.call(this.buffer, t, e);
                            }
                        },
                        flush: function () {
                            for (; this.start < this.offset; ) {
                                var t = this.fetch();
                                t && this.push(t);
                            }
                        },
                        push: l,
                        pull: function () {
                            var t = this.buffers || (this.buffers = []),
                                e = t.length > 1 ? this.bufferish.concat(t) : t[0];
                            return (t.length = 0), e;
                        },
                        read: c,
                        reserve: function (t) {
                            var e = 0 | t;
                            if (this.buffer) {
                                var i = this.buffer.length,
                                    a = 0 | this.offset,
                                    s = a + e;
                                if (s < i) return (this.offset = s), a;
                                this.flush(), (t = Math.max(t, Math.min(2 * i, this.maxBufferSize)));
                            }
                            return (t = Math.max(t, this.minBufferSize)), (this.buffer = this.bufferish.alloc(t)), (this.start = 0), (this.offset = e), 0;
                        },
                        send: function (t) {
                            var e = t.length;
                            if (e > this.minBufferSize) this.flush(), this.push(t);
                            else {
                                var i = this.reserve(e);
                                a.prototype.copy.call(t, this.buffer, i);
                            }
                        },
                        maxBufferSize: 65536,
                        minBufferSize: 2048,
                        offset: 0,
                        start: 0,
                    })),
                    n.mixin(n.prototype);
            },
            5440: (t, e, i) => {
                var a = i(7386).S,
                    s = i(7660),
                    r = i(8209).readUint8,
                    n = i(2680),
                    o = i(8551);
                function h() {
                    var t = this.options;
                    return (
                        (this.decode = (function (t) {
                            var e = n.getReadToken(t);
                            return function (t) {
                                var i = r(t),
                                    a = e[i];
                                if (!a) throw new Error("Invalid type: " + (i ? "0x" + i.toString(16) : i));
                                return a(t);
                            };
                        })(t)),
                        t && t.preset && s.setExtUnpackers(this),
                        this
                    );
                }
                o.install({
                    addExtUnpacker: function (t, e) {
                        (this.extUnpackers || (this.extUnpackers = []))[t] = o.filter(e);
                    },
                    getExtUnpacker: function (t) {
                        return (
                            (this.extUnpackers || (this.extUnpackers = []))[t] ||
                            function (e) {
                                return new a(e, t);
                            }
                        );
                    },
                    init: h,
                }),
                    (e.preset = h.call(o.preset));
            },
            8209: (t, e, i) => {
                var a = i(8898),
                    s = i(7137),
                    r = s.Uint64BE,
                    n = s.Int64BE;
                (e.getReadFormat = function (t) {
                    var e = o.hasArrayBuffer && t && t.binarraybuffer,
                        i = t && t.int64;
                    return {
                        map: c && t && t.usemap ? d : l,
                        array: u,
                        str: p,
                        bin: e ? m : f,
                        ext: g,
                        uint8: v,
                        uint16: y,
                        uint32: b,
                        uint64: k(8, i ? S : E),
                        int8: x,
                        int16: w,
                        int32: _,
                        int64: k(8, i ? A : z),
                        float32: k(4, M),
                        float64: k(8, C),
                    };
                }),
                    (e.readUint8 = v);
                var o = i(8918),
                    h = i(5706),
                    c = "undefined" != typeof Map;
                function l(t, e) {
                    var i,
                        a = {},
                        s = new Array(e),
                        r = new Array(e),
                        n = t.codec.decode;
                    for (i = 0; i < e; i++) (s[i] = n(t)), (r[i] = n(t));
                    for (i = 0; i < e; i++) a[s[i]] = r[i];
                    return a;
                }
                function d(t, e) {
                    var i,
                        a = new Map(),
                        s = new Array(e),
                        r = new Array(e),
                        n = t.codec.decode;
                    for (i = 0; i < e; i++) (s[i] = n(t)), (r[i] = n(t));
                    for (i = 0; i < e; i++) a.set(s[i], r[i]);
                    return a;
                }
                function u(t, e) {
                    for (var i = new Array(e), a = t.codec.decode, s = 0; s < e; s++) i[s] = a(t);
                    return i;
                }
                function p(t, e) {
                    var i = t.reserve(e),
                        a = i + e;
                    return h.toString.call(t.buffer, "utf-8", i, a);
                }
                function f(t, e) {
                    var i = t.reserve(e),
                        a = i + e,
                        s = h.slice.call(t.buffer, i, a);
                    return o.from(s);
                }
                function m(t, e) {
                    var i = t.reserve(e),
                        a = i + e,
                        s = h.slice.call(t.buffer, i, a);
                    return o.Uint8Array.from(s).buffer;
                }
                function g(t, e) {
                    var i = t.reserve(e + 1),
                        a = t.buffer[i++],
                        s = i + e,
                        r = t.codec.getExtUnpacker(a);
                    if (!r) throw new Error("Invalid ext type: " + (a ? "0x" + a.toString(16) : a));
                    return r(h.slice.call(t.buffer, i, s));
                }
                function v(t) {
                    var e = t.reserve(1);
                    return t.buffer[e];
                }
                function x(t) {
                    var e = t.reserve(1),
                        i = t.buffer[e];
                    return 128 & i ? i - 256 : i;
                }
                function y(t) {
                    var e = t.reserve(2),
                        i = t.buffer;
                    return (i[e++] << 8) | i[e];
                }
                function w(t) {
                    var e = t.reserve(2),
                        i = t.buffer,
                        a = (i[e++] << 8) | i[e];
                    return 32768 & a ? a - 65536 : a;
                }
                function b(t) {
                    var e = t.reserve(4),
                        i = t.buffer;
                    return 16777216 * i[e++] + (i[e++] << 16) + (i[e++] << 8) + i[e];
                }
                function _(t) {
                    var e = t.reserve(4),
                        i = t.buffer;
                    return (i[e++] << 24) | (i[e++] << 16) | (i[e++] << 8) | i[e];
                }
                function k(t, e) {
                    return function (i) {
                        var a = i.reserve(t);
                        return e.call(i.buffer, a, true);
                    };
                }
                function E(t) {
                    return new r(this, t).toNumber();
                }
                function z(t) {
                    return new n(this, t).toNumber();
                }
                function S(t) {
                    return new r(this, t);
                }
                function A(t) {
                    return new n(this, t);
                }
                function M(t) {
                    return a.read(this, t, !1, 23, 4);
                }
                function C(t) {
                    return a.read(this, t, !1, 52, 8);
                }
            },
            2680: (t, e, i) => {
                var a = i(8209);
                function s(t) {
                    var e,
                        i = new Array(256);
                    for (e = 0; e <= 127; e++) i[e] = r(e);
                    for (e = 128; e <= 143; e++) i[e] = o(e - 128, t.map);
                    for (e = 144; e <= 159; e++) i[e] = o(e - 144, t.array);
                    for (e = 160; e <= 191; e++) i[e] = o(e - 160, t.str);
                    for (
                        i[192] = r(null),
                            i[193] = null,
                            i[194] = r(!1),
                            i[195] = r(!0),
                            i[196] = n(t.uint8, t.bin),
                            i[197] = n(t.uint16, t.bin),
                            i[198] = n(t.uint32, t.bin),
                            i[199] = n(t.uint8, t.ext),
                            i[200] = n(t.uint16, t.ext),
                            i[201] = n(t.uint32, t.ext),
                            i[202] = t.float32,
                            i[203] = t.float64,
                            i[204] = t.uint8,
                            i[205] = t.uint16,
                            i[206] = t.uint32,
                            i[207] = t.uint64,
                            i[208] = t.int8,
                            i[209] = t.int16,
                            i[210] = t.int32,
                            i[211] = t.int64,
                            i[212] = o(1, t.ext),
                            i[213] = o(2, t.ext),
                            i[214] = o(4, t.ext),
                            i[215] = o(8, t.ext),
                            i[216] = o(16, t.ext),
                            i[217] = n(t.uint8, t.str),
                            i[218] = n(t.uint16, t.str),
                            i[219] = n(t.uint32, t.str),
                            i[220] = n(t.uint16, t.array),
                            i[221] = n(t.uint32, t.array),
                            i[222] = n(t.uint16, t.map),
                            i[223] = n(t.uint32, t.map),
                            e = 224;
                        e <= 255;
                        e++
                    )
                        i[e] = r(e - 256);
                    return i;
                }
                function r(t) {
                    return function () {
                        return t;
                    };
                }
                function n(t, e) {
                    return function (i) {
                        var a = t(i);
                        return e(i, a);
                    };
                }
                function o(t, e) {
                    return function (i) {
                        return e(i, t);
                    };
                }
                e.getReadToken = function (t) {
                    var e = a.getReadFormat(t);
                    return t && t.useraw
                        ? (function (t) {
                              var e,
                                  i = s(t).slice();
                              for (i[217] = i[196], i[218] = i[197], i[219] = i[198], e = 160; e <= 191; e++) i[e] = o(e - 160, t.bin);
                              return i;
                          })(e)
                        : s(e);
                };
            },
            9339: (t, e, i) => {
                var a = i(7386).S,
                    s = i(7754),
                    r = i(1885),
                    n = i(8551);
                function o() {
                    var t = this.options;
                    return (
                        (this.encode = (function (t) {
                            var e = r.getWriteType(t);
                            return function (t, i) {
                                var a = e[typeof i];
                                if (!a) throw new Error('Unsupported type "' + typeof i + '": ' + i);
                                a(t, i);
                            };
                        })(t)),
                        t && t.preset && s.setExtPackers(this),
                        this
                    );
                }
                n.install({
                    addExtPacker: function (t, e, i) {
                        i = n.filter(i);
                        var s = e.name;
                        if (s && "Object" !== s) {
                            (this.extPackers || (this.extPackers = {}))[s] = r;
                        } else {
                            (this.extEncoderList || (this.extEncoderList = [])).unshift([e, r]);
                        }
                        function r(e) {
                            return i && (e = i(e)), new a(e, t);
                        }
                    },
                    getExtPacker: function (t) {
                        var e = this.extPackers || (this.extPackers = {}),
                            i = t.constructor,
                            a = i && i.name && e[i.name];
                        if (a) return a;
                        for (var s = this.extEncoderList || (this.extEncoderList = []), r = s.length, n = 0; n < r; n++) {
                            var o = s[n];
                            if (i === o[0]) return o[1];
                        }
                    },
                    init: o,
                }),
                    (e.preset = o.call(n.preset));
            },
            1868: (t, e, i) => {
                var a = i(8898),
                    s = i(7137),
                    r = s.Uint64BE,
                    n = s.Int64BE,
                    o = i(6685).w,
                    h = i(8918),
                    c = h.global,
                    l = h.hasBuffer && "TYPED_ARRAY_SUPPORT" in c && !c.TYPED_ARRAY_SUPPORT,
                    d = (h.hasBuffer && c.prototype) || {};
                function u() {
                    var t = o.slice();
                    return (
                        (t[196] = p(196)),
                        (t[197] = f(197)),
                        (t[198] = m(198)),
                        (t[199] = p(199)),
                        (t[200] = f(200)),
                        (t[201] = m(201)),
                        (t[202] = g(202, 4, d.writeFloatBE || y, !0)),
                        (t[203] = g(203, 8, d.writeDoubleBE || w, !0)),
                        (t[204] = p(204)),
                        (t[205] = f(205)),
                        (t[206] = m(206)),
                        (t[207] = g(207, 8, v)),
                        (t[208] = p(208)),
                        (t[209] = f(209)),
                        (t[210] = m(210)),
                        (t[211] = g(211, 8, x)),
                        (t[217] = p(217)),
                        (t[218] = f(218)),
                        (t[219] = m(219)),
                        (t[220] = f(220)),
                        (t[221] = m(221)),
                        (t[222] = f(222)),
                        (t[223] = m(223)),
                        t
                    );
                }
                function p(t) {
                    return function (e, i) {
                        var a = e.reserve(2),
                            s = e.buffer;
                        (s[a++] = t), (s[a] = i);
                    };
                }
                function f(t) {
                    return function (e, i) {
                        var a = e.reserve(3),
                            s = e.buffer;
                        (s[a++] = t), (s[a++] = i >>> 8), (s[a] = i);
                    };
                }
                function m(t) {
                    return function (e, i) {
                        var a = e.reserve(5),
                            s = e.buffer;
                        (s[a++] = t), (s[a++] = i >>> 24), (s[a++] = i >>> 16), (s[a++] = i >>> 8), (s[a] = i);
                    };
                }
                function g(t, e, i, a) {
                    return function (s, r) {
                        var n = s.reserve(e + 1);
                        (s.buffer[n++] = t), i.call(s.buffer, r, n, a);
                    };
                }
                function v(t, e) {
                    new r(this, e, t);
                }
                function x(t, e) {
                    new n(this, e, t);
                }
                function y(t, e) {
                    a.write(this, t, e, !1, 23, 4);
                }
                function w(t, e) {
                    a.write(this, t, e, !1, 52, 8);
                }
                e.getWriteToken = function (t) {
                    return t && t.uint8array
                        ? (((e = u())[202] = g(202, 4, y)), (e[203] = g(203, 8, w)), e)
                        : l || (h.hasBuffer && t && t.safe)
                        ? (function () {
                              var t = o.slice();
                              return (
                                  (t[196] = g(196, 1, c.prototype.writeUInt8)),
                                  (t[197] = g(197, 2, c.prototype.writeUInt16BE)),
                                  (t[198] = g(198, 4, c.prototype.writeUInt32BE)),
                                  (t[199] = g(199, 1, c.prototype.writeUInt8)),
                                  (t[200] = g(200, 2, c.prototype.writeUInt16BE)),
                                  (t[201] = g(201, 4, c.prototype.writeUInt32BE)),
                                  (t[202] = g(202, 4, c.prototype.writeFloatBE)),
                                  (t[203] = g(203, 8, c.prototype.writeDoubleBE)),
                                  (t[204] = g(204, 1, c.prototype.writeUInt8)),
                                  (t[205] = g(205, 2, c.prototype.writeUInt16BE)),
                                  (t[206] = g(206, 4, c.prototype.writeUInt32BE)),
                                  (t[207] = g(207, 8, v)),
                                  (t[208] = g(208, 1, c.prototype.writeInt8)),
                                  (t[209] = g(209, 2, c.prototype.writeInt16BE)),
                                  (t[210] = g(210, 4, c.prototype.writeInt32BE)),
                                  (t[211] = g(211, 8, x)),
                                  (t[217] = g(217, 1, c.prototype.writeUInt8)),
                                  (t[218] = g(218, 2, c.prototype.writeUInt16BE)),
                                  (t[219] = g(219, 4, c.prototype.writeUInt32BE)),
                                  (t[220] = g(220, 2, c.prototype.writeUInt16BE)),
                                  (t[221] = g(221, 4, c.prototype.writeUInt32BE)),
                                  (t[222] = g(222, 2, c.prototype.writeUInt16BE)),
                                  (t[223] = g(223, 4, c.prototype.writeUInt32BE)),
                                  t
                              );
                          })()
                        : u();
                    var e;
                };
            },
            1885: (t, e, i) => {
                var a = i(5182),
                    s = i(7137),
                    r = s.Uint64BE,
                    n = s.Int64BE,
                    o = i(8918),
                    h = i(5706),
                    c = i(1868),
                    l = i(6685).w,
                    d = i(7386).S,
                    u = "undefined" != typeof Uint8Array,
                    p = "undefined" != typeof Map,
                    f = [];
                (f[1] = 212),
                    (f[2] = 213),
                    (f[4] = 214),
                    (f[8] = 215),
                    (f[16] = 216),
                    (e.getWriteType = function (t) {
                        var e = c.getWriteToken(t),
                            i = t && t.useraw,
                            s = u && t && t.binarraybuffer,
                            m = s ? o.isArrayBuffer : o.isBuffer,
                            g = s
                                ? function (t, e) {
                                      w(t, new Uint8Array(e));
                                  }
                                : w,
                            v =
                                p && t && t.usemap
                                    ? function (t, i) {
                                          if (!(i instanceof Map)) return b(t, i);
                                          var a = i.size;
                                          e[a < 16 ? 128 + a : a <= 65535 ? 222 : 223](t, a);
                                          var s = t.codec.encode;
                                          i.forEach(function (e, i, a) {
                                              s(t, i), s(t, e);
                                          });
                                      }
                                    : b;
                        return {
                            boolean: function (t, i) {
                                e[i ? 195 : 194](t, i);
                            },
                            function: y,
                            number: function (t, i) {
                                var a,
                                    s = 0 | i;
                                if (i !== s) return void e[(a = 203)](t, i);
                                a = -32 <= s && s <= 127 ? 255 & s : 0 <= s ? (s <= 255 ? 204 : s <= 65535 ? 205 : 206) : -128 <= s ? 208 : -32768 <= s ? 209 : 210;
                                e[a](t, s);
                            },
                            object: i
                                ? function (t, i) {
                                      if (m(i))
                                          return (function (t, i) {
                                              var a = i.length;
                                              e[a < 32 ? 160 + a : a <= 65535 ? 218 : 219](t, a), t.send(i);
                                          })(t, i);
                                      x(t, i);
                                  }
                                : x,
                            string: (function (t) {
                                return i;
                                function i(i, a) {
                                    var s = a.length,
                                        r = 5 + 3 * s;
                                    i.offset = i.reserve(r);
                                    var n = i.buffer,
                                        o = t(s),
                                        c = i.offset + o;
                                    s = h.write.call(n, a, c);
                                    var l = t(s);
                                    if (o !== l) {
                                        var d = c + l - o,
                                            u = c + s;
                                        h.copy.call(n, n, d, c, u);
                                    }
                                    e[1 === l ? 160 + s : l <= 3 ? 215 + l : 219](i, s), (i.offset += s);
                                }
                            })(
                                i
                                    ? function (t) {
                                          return t < 32 ? 1 : t <= 65535 ? 3 : 5;
                                      }
                                    : function (t) {
                                          return t < 32 ? 1 : t <= 255 ? 2 : t <= 65535 ? 3 : 5;
                                      }
                            ),
                            symbol: y,
                            undefined: y,
                        };
                        function x(t, i) {
                            if (null === i) return y(t, i);
                            if (m(i)) return g(t, i);
                            if (a(i))
                                return (function (t, i) {
                                    var a = i.length;
                                    e[a < 16 ? 144 + a : a <= 65535 ? 220 : 221](t, a);
                                    for (var s = t.codec.encode, r = 0; r < a; r++) s(t, i[r]);
                                })(t, i);
                            if (r.isUint64BE(i))
                                return (function (t, i) {
                                    e[207](t, i.toArray());
                                })(t, i);
                            if (n.isInt64BE(i))
                                return (function (t, i) {
                                    e[211](t, i.toArray());
                                })(t, i);
                            var s = t.codec.getExtPacker(i);
                            if ((s && (i = s(i)), i instanceof d))
                                return (function (t, i) {
                                    var a = i.buffer,
                                        s = a.length,
                                        r = f[s] || (s < 255 ? 199 : s <= 65535 ? 200 : 201);
                                    e[r](t, s), l[i.type](t), t.send(a);
                                })(t, i);
                            v(t, i);
                        }
                        function y(t, i) {
                            e[192](t, i);
                        }
                        function w(t, i) {
                            var a = i.length;
                            e[a < 255 ? 196 : a <= 65535 ? 197 : 198](t, a), t.send(i);
                        }
                        function b(t, i) {
                            var a = Object.keys(i),
                                s = a.length;
                            e[s < 16 ? 128 + s : s <= 65535 ? 222 : 223](t, s);
                            var r = t.codec.encode;
                            a.forEach(function (e) {
                                r(t, e), r(t, i[e]);
                            });
                        }
                    });
            },
            6685: (t, e) => {
                for (var i = (e.w = new Array(256)), a = 0; a <= 255; a++) i[a] = s(a);
                function s(t) {
                    return function (e) {
                        var i = e.reserve(1);
                        e.buffer[i] = t;
                    };
                }
            },
            2220: (t, e, i) => {
                "use strict";
                var a = i(9075),
                    s = i(6132),
                    r = i(3363),
                    n = i(82),
                    o = i(4304),
                    h = (i(6492), i(866)),
                    { frame: c, proxy_addons: l, supported_store: d, addon_url: u, meta: p, store: f, loader: m, init: g } = i(9606),
                    v = i(7263),
                    x = new a.Actions(c);
                (t.exports = new (class {
                    hooked = Symbol();
                    skins = [...Array(5e3)].map((t, e) => ({ ind: e, cnt: 1 }));
                    canvas = v.add_ele("canvas", c);
                    ctx = this.canvas.getContext("2d");
                    sorts = { dist3d: (t, e) => t.distance_camera - e.distance_camera, dist2d: (t, e) => this.utils.dist_center(t.rect) - this.utils.dist_center(e.rect), hp: (t, e) => t.health - e.health };
                    constructor() {
                        this.resize_canvas(),
                            window.addEventListener("resize", () => this.resize_canvas()),
                            this.init_interface(),
                            (this.utils = new h(this.interface)),
                            (this.visual = new s(this.interface)),
                            (this.input = new r(this.interface));
                    }
                    resize_canvas() {
                        (this.canvas.width = window.innerWidth), (this.canvas.height = window.innerHeight);
                    }
                    init_interface() {
                        var t = this;
                        this.interface = {
                            get ctx() {
                                return t.ctx;
                            },
                            get utils() {
                                return t.utils;
                            },
                            get visual() {
                                return t.visual;
                            },
                            get game() {
                                return t.game;
                            },
                            get socket() {
                                return t.socket;
                            },
                            get three() {
                                return t.three;
                            },
                            get world() {
                                return t.world;
                            },
                            get force_auto() {
                                return t.config.aim.force_auto;
                            },
                            get force_auto_rate() {
                                return t.config.aim.force_auto_rate;
                            },
                            get color() {
                                return t.config.colors;
                            },
                            get controls() {
                                return t.controls;
                            },
                            get player() {
                                return t.player;
                            },
                            get players() {
                                return t.players;
                            },
                            get target() {
                                return t.target;
                            },
                            get inactivity() {
                                return t.config.game.inactivity;
                            },
                            get esp() {
                                return t.config.esp.status;
                            },
                            get wireframe() {
                                return t.config.player.wireframe;
                            },
                            get walls() {
                                return t.config.esp.walls;
                            },
                            get bhop() {
                                return t.config.player.bhop;
                            },
                            get spinbot() {
                                return t.config.aim.spinbot;
                            },
                            get aim() {
                                return t.config.aim.status;
                            },
                            get aim_offset() {
                                return t.config.aim.offset;
                            },
                            get wallbangs() {
                                return t.config.aim.wallbangs;
                            },
                            get aim_fov() {
                                return t.config.aim.fov;
                            },
                            get aim_smooth() {
                                return t.config.aim.smooth;
                            },
                            get hitchance() {
                                return t.config.aim.hitchance;
                            },
                            get auto_reload() {
                                return t.config.aim.auto_reload;
                            },
                            get unlock_skins() {
                                return t.config.player.skins;
                            },
                            pick_target() {
                                t.target = t.players.filter((t) => t.can_target).sort((e, i) => t.sorts[e.rect && i.rect ? t.config.aim.target_sorting || "dist2d" : "dist3d"](e, i) * (e.frustum ? 1 : 0.5))[0];
                            },
                            get proxy() {
                                return t.config.game.proxy;
                            },
                        };
                    }
                    async load() {
                        (this.ui = i(3847)),
                            g.call(this),
                            await this.ui.load_config(),
                            "object" == typeof this.config.aim.smooth && (this.config.aim.smooth = this.config.aim.smooth.value),
                            this.config.aim.smooth > 1 && (this.config.aim.smooth = 0),
                            "object" == typeof this.config.esp.walls && (this.config.esp.walls = 100),
                            ("feet" == this.config.aim.target || "chest" == this.config.aim.target) && this.config.aim.target,
                            m.on("instruct", (t) => {
                                if (this.config.game.error_tips)
                                    if (t("connection banned"))
                                        if (this.config.game.proxy)
                                            x.alert(
                                                "<p>Your region's proxy was banned.</p>\n\t\t\t\t\t\t<p>To bypass this ban, try one of the following:</p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><a href='/'>Find a new match</a></li>\n\t\t\t\t\t\t\t<li><a href='#' onclick='showWindow(1)'>Change your region</a></li>\n\t\t\t\t\t\t</ul>"
                                            );
                                        else {
                                            let t = l
                                                .filter((t) => t[d])
                                                .map((t) => `<li><a target='_blank' href=${JSON.stringify(t[d])}>${t.name}</a></li>`)
                                                .join("");
                                            localStorage.removeItem("krunker_token"),
                                                x.alert(
                                                    `<p>You were IP banned, Sploit has signed you out.\nSpoof your IP to bypass this ban with one of the following:</p>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li>Using your mobile hotspot</li>\n\t\t\t\t\t\t\t\t${t}\n\t\t\t\t\t\t\t\t<li>Use a <a target="_blank" href=${JSON.stringify(
                                                        u("Proxy VPN")
                                                    )}>Search for a VPN</a></li>\n\t\t\t\t\t\t\t</ul>`
                                                );
                                        }
                                    else
                                        t("banned - ")
                                            ? x.alert("<p>You were banned from the match.</p>\n\t\t\t\t\t<p>Find a new game to bypass this.</p>").then(() => location.assign("/"))
                                            : t("banned") &&
                                              (localStorage.removeItem("krunker_token"),
                                              x.alert("<p>You were banned. Sploit has signed you out.</p>\n\t\t\t\t\t<p>Create a new account to bypass this ban.</p>").then(() => location.assign("/")));
                                this.config.game.auto_lobby && t("connection error", "game is full", "kicked by vote", "disconnected")
                                    ? (location.href = "/")
                                    : !this.config.game.auto_start ||
                                      !t("to play") ||
                                      (this.player && this.player.active) ||
                                      this.utils.wait_for(() => {
                                          var t = this.player && this.player.active;
                                          return t || (this.controls.locklessChange(!0), this.controls.locklessChange(!1)), t;
                                      });
                            }),
                            (this.process = this.process.bind(this)),
                            this.process();
                        var t = Symbol(),
                            e = this;
                        await m.load(
                            { WebSocket: n(this.interface) },
                            {
                                three: (t) => (this.three = t),
                                game: (t) => (this.game = t),
                                controls: (t) => (this.controls = t),
                                time: (t) => (this.config.game.inactivity ? 1 / 0 : t),
                                world: (t) => (this.world = t),
                                can_see: (t) => "full" != this.config.esp.status && (this.config.esp.nametags || t),
                                skins: (i) =>
                                    Object.defineProperty(i, "skins", {
                                        get() {
                                            return e.config.player.skins ? e.skins : this[t];
                                        },
                                        set(e) {
                                            return (this[t] = e);
                                        },
                                    }),
                                input: this.input,
                                socket: (t) => (this.socket = t),
                            }
                        );
                    }
                    process() {
                        try {
                            if ((this.visual.tick(), this.config.game.overlay && this.visual.overlay(), this.config.aim.fov_box && this.visual.fov(this.config.aim.fov), this.game && this.world)) {
                                this.visual.walls();
                                for (let t of this.players)
                                    t.is_you && (this.player = t),
                                        t.active &&
                                            (t.tick(),
                                            t.frustum &&
                                                !t.is_you &&
                                                (this.visual.cham(t),
                                                ["box", "box_chams", "full"].includes(this.config.esp.status) && this.visual.box(t),
                                                "full" == this.config.esp.status && (this.visual.health(t), this.visual.text(t)),
                                                this.config.esp.tracers && this.visual.tracer(t)));
                            }
                            this.config.game.auto_nuke && this.player && 25 == this.player.streaks.length && this.socket.send("k", 0);
                        } catch (t) {
                            m.report_error("frame", t);
                        }
                        this.utils.request_frame(this.process);
                    }
                    get config() {
                        return this.ui.config;
                    }
                    get players() {
                        return this.game.players.list.map((t) => this.add(t));
                    }
                    add(t) {
                        return t[this.hooked] || (t[this.hooked] = new o(this.interface, t));
                    }
                })()).load();
            },
            3847: (t, e, i) => {
                "use strict";
                var { api: a, meta: s, loader: r, frame: n } = i(9606),
                    o = i(9075),
                    h = i(6425),
                    c = i(6492),
                    l = i(8144),
                    d = i(7263),
                    u = new o.Config(n, "ProShadow", "config"),
                    p = {
                        toggle: new c().callback(() => {
                            u.visible ? u.hide() : (document.exitPointerLock(), u.show());
                        }),
                        reset: new c().callback(() => u.load_preset("Default", { binds: u.menu.binds })),
                    },
                    f = u.tab("ESP");
                f.control("ESP Mode", { name: "ESP Mode", type: "dropdown", walk: "esp.status", value: { Off: "off", Box: "box", Chams: "chams", "Box & Chams": "box_chams", Full: "full" } }),
                    f.control("Nametags", { type: "boolean", walk: "esp.nametags" }),
                    f.control("Tracers", { type: "boolean", walk: "esp.tracers" }),
                    f.control("Wireframe", { type: "boolean", walk: "esp.wireframe" }),
                    f.control("Wall Opacity", { type: "slider", walk: "esp.walls", min: 0, max: 100, step: 10 }),
                    f.control("Overlay", { type: "boolean", walk: "game.overlay" }),
                    f.control("Rainbow Colors", { type: "boolean", walk: "esp.rainbow" }),
                    f.control("Custom CSS", {
                        type: "function",
                        value() {
                            u.css_editor.show();
                        },
                    }),
                    f.control("Hostile Color", { type: "color", walk: "colors.hostile" }),
                    f.control("Risk Color", { type: "color", walk: "colors.risk" }),
                    f.control("Friendly Color", { type: "color", walk: "colors.friendly" }),
                    f.control("Rainbow Color", { type: "boolean", walk: "colors.rainbow" });
                var m = u.tab("GUN");
                m.control("Aimbot Mode", { type: "dropdown", walk: "aim.status", value: { Off: "off", Triggerbot: "trigger", Correction: "correction", Assist: "assist", Automatic: "auto" } }),
                    m.control("Target", { type: "dropdown", walk: "aim.offset", value: { Head: "head", Torso: "torso", Legs: "legs", Random: "random", Multi: "multi" } }),
                    m.control("Target Sorting", { type: "dropdown", walk: "aim.target_sorting", value: { Crosshair: "dist2d", Distance: "dist3d", Health: "hp" } }),
                    m.control("Draw Target FOV", { type: "boolean", walk: "aim.fov_box" }),
                    m.control("Target FOV", { type: "slider", walk: "aim.fov", min: 5, max: 110, step: 5, labels: { 110: "Inf" } }),
                    m.control("Smoothness", { type: "slider", walk: "aim.smooth", min: 0, max: 1, step: 0.1, labels: { 0: "Off" } }),
                    m.control("Hitchance", { type: "slider", walk: "aim.hitchance", min: 10, max: 100, step: 10 }),
                    m.control("Wallbangs", { type: "boolean", walk: "aim.wallbangs" }),
                    m.control("Spinbot", { type: "boolean", walk: "aim.spinbot" }),
                    m.control("Force auto-fire", { type: "boolean", walk: "aim.force_auto" }),
                    m.control("Auto-fire rate", { type: "slider", walk: "aim.force_auto_rate", min: 0, max: 2, step: 0.1 }),
                    m.control("Auto reload", { type: "boolean", walk: "aim.auto_reload" });
                var g = u.tab("Player");
                g.control("Auto Bhop Mode", { type: "dropdown", walk: "player.bhop", value: { Off: "off", "[SPACE] to Slide": "keyslide", "Auto Slide": "autoslide", } }),
                    g.control("Unlock All Skins", { type: "boolean", walk: "player.skins" });
                var v = u.tab("Game");
                v.control("Proxy (Rage Gameplay)", { type: "boolean", walk: "game.proxy" }).on("click", (t, e) => !e && location.assign("/")),
                    v.control("Auto Activate Nuke", { type: "boolean", walk: "game.auto_nuke" }),
                    v.control("Auto Start Match", { type: "boolean", walk: "game.auto_start" }),
                    v.control("New Lobby Finder", { type: "boolean", walk: "game.auto_lobby" }),
                    v.control("No Inactivity kick", { type: "boolean", walk: "game.inactivity" }),
                    v.control("Error code tips", { type: "boolean", walk: "game.error_tips" });
                var x = u.tab("Info");
                    x.control("Discord", { type: "link", value: s.discord }),
                    x.control("ProShadow WebApp", { type: "link", value: s.forum }),
                    x.control("Download Game", { type: "link", value: l.resolve({ target: r.api, endpoint: "/v2/source", query: { download: !0 } }) });
                var y = u.tab("UI And Preset");

                y.control({
                    type: "functions",
                    value: {
                        Reset() {
                            u.load_preset("Default");
                        },
                        async Import() {
                            var t = await h.pick({ accept: "menu.json" }),
                                e = await t.read();
                            try {
                                await u.insert_config(JSON.parse(e), !0);
                            } catch (t) {
                                console.error(t), alert("Invalid config");
                            }
                        },
                        Export() {
                            h.save({ name: "menu.json", data: JSON.stringify(u.config) });
                        },
                    },
                });
                var w = y.control("Preset", { type: "select", value: {} }).select;
                w.addEventListener("change", () => {
                    "Custom" != w.value && u.load_preset(w.value, { section: u.config.section });
                }),
                    d.add_ele("ez-option", w, { value: "Custom" }),
                    u.on("add-preset", (t) => d.add_ele("ez-option", w, { value: t })),
                    u.on("config", () => {
                        var t = u.presets.get("Default"),
                            e = JSON.stringify(d.filter_deep(d.clone_obj(u.config), t));
                        for (let [i, a] of u.presets) if (JSON.stringify(d.assign_deep(d.clone_obj(t), a)) == e) return (w.value = i);
                        w.value = "Custom";
                    }),
                    y.control("Menu Toggle", { type: "keybind", walk: "binds.toggle" }).on("change", (t) => p.toggle.set_key("F2", t)),
                    y.control("Reset settings", { type: "keybind", walk: "binds.reset" }).on("change", (t) => p.reset.set_key(t)),
                    (u.css_editor = new o.Editor(n, {
                        help: [
                            "<h3>Glossary:</h3><ul>",
                            "<li>Menu bar - set of buttons found in the top left of the menu.</li>",
                            "</ul>",
                            "<h3>What does this menu do?</h3>",
                            "<p>This is a CSS manager/ide for Krunker.</p>",
                            "<h3>How do I add my CSS?</h3>",
                            "<p>1. Press the svg.web button found in the menu bar.</p>",
                            "<p>2. In the new window, input the link to your CSS then press OK.</p>",
                            "<h3>How do I manually add CSS?</h3>",
                            "<p>1. Create a new file with the svg.add_file button found in the top right of the CSS manager.<p>",
                            "<p>2. In the text editor, input your CSS.<p>",
                            "<p>3. When you are finished, press the svg.save button to save changes.<p>",
                            "<h3>How do I turn on/off my CSS?</h3>",
                            "<p>Pressing the square icon in your CSS's tab will toggle the visibility. When the square is filled, the tab is enabled, when the square is empty, the tab is disabled.<p>",
                            "<h3>How do I rename my CSS?</h3>",
                            "<p>Pressing the svg.rename icon in your CSS's tab will change the tab to renaming mode. Type in the new name then press enter to save changes.<p>",
                            "<h3>How do I remove my CSS?</h3>",
                            "<p>Pressing the svg.close icon in your CSS's tab will remove your CSS.<p>",
                            `<p>For further help, search or post on the forum found by <a target="_blank" href="${s.forum}">clicking here</a>.<p>`,
                        ].join(""),
                    })),
                    u.add_preset("Default", {
                        binds: { toggle: "KeyC", reset: null },
                        aim: { status: "off", offset: "random", target_sorting: "dist2d", smooth: 0.2, hitchance: 100, fov_box: !1, fov: 50, wallbangs: !1, auto_reload: !1, force_auto: !1, force_auto_rate: 0.2, spinbot: !1 },
                        colors: { rainbow: !1, risk: "#FF7700", hostile: "#FF0000", friendly: "#00FF00" },
                        esp: { rainbow: !1, wireframe: !1, status: "off", walls: 100, labels: !1, tracers: !1 },
                        game: { proxy: !1, auto_nuke: !1, auto_lobby: !1, auto_start: !1, inactivity: !1, error_tips: !0, custom_loading: !0 },
                        player: { bhop: "off", skins: !1 },
                    }),
                    u.add_preset("Assist", { aim: { status: "assist", fov: 25, offset: "random", smooth: 0.5 }, player: { bhop: "keyslide" } }),
                    u.add_preset("Rage", { esp: { status: "full", tracers: !0 }, aim: { status: "auto", fov: 110, smooth: 0, force_auto: !0, auto_reload: !0, wallbangs: !0, offset: "multi", spinbot: !0 }, player: { bhop: "autoslide" } }),
                    (t.exports = u);
            },
            6454: (t) => {
                t.exports = "main{display:flex;align-items:center;justify-content:center;height:100%;background:#FFF;border-radius:3px;background:#4700c3;padding:0px 10px}main:hover{background:#006cbe}main:active{background:#1683d8}";
            },
            8182: (t) => {
                t.exports =
                    "main{display:flex;align-items:center;justify-content:center;width:13px;height:13px;background:#FFF;border-radius:3px}main[checked]{background-color:#262626}main[checked]:hover{background-color:#999999}main svg{width:70%;height:70%}";
            },
            1192: (t) => {
                t.exports = "main{width:100%;height:100%;display:flex}input{width:100%;height:100%;outline:none;background:#FFF;border:none;border-radius:3px;padding:0px 8px;font:inherit}";
            },
            1618: (t) => {
                t.exports =
                    "main{background:#FFF;padding:0px 9px;color:#2B2B2B;display:flex;flex-direction:row;align-items:center;height:100%;border-radius:3px;position:relative}main:hover{border-color:#999}main svg{margin-left:auto}main slot{flex-direction:column;position:absolute;background:#FFF;width:100%;left:0px;display:none;z-index:1000;top:100%;margin-top:3px;margin-bottom:3px;border-radius:2px;padding:3px 0px;box-shadow:rgb(0 0 0) 0px 0px 7px}main.bottom slot{top:unset;bottom:100%}main.active slot{display:flex}::slotted(ez-option){border-radius:2px;margin:0px 3px;color:#2B2B2B;padding:3px 6px}::slotted(ez-option:hover){background:#E5E5E5}::slotted(ez-option:active){background:#E5E5E5;color:#262626}::slotted(ez-option[selected]){background:#006CBE;color:#FFF}";
            },
            3273: (t) => {
                t.exports =
                    "main{position:relative;height:100%}main::before{content:'';position:absolute;margin:auto;top:0px;bottom:0px;background:#666;width:100%;height:2px}.background{background:var(--blue);height:2px;position:absolute;margin:auto;top:0px;bottom:0px}.thumb::before{content:attr(data-label);position:relative;border:1px solid #1C1C1C;background:#2B2B2B;padding:5px 5px;bottom:40px;left:4px;transform:translateX(-50%);display:none}.thumb:hover::before,main:active .thumb::before{display:inline-block}main:hover:not(:active)::before{background-color:#999}.thumb{position:absolute;top:0px;width:8px;height:100%;margin:auto;top:0px;bottom:0px;background:var(--blue);border-radius:4px}main:hover .thumb{background:#F2F2F2}main:active>.thumb{background:#767676}";
            },
            3497: (t) => {
                t.exports =
                    "main{display:flex;align-items:center;background:#FFF;border:1px solid #666;border-radius:50px;width:40px;height:20px;position:relative}main::before{content:'';width:10px;height:10px;background:#000;border-radius:50%;margin:5px;left:0px;position:absolute}main[checked]{border:none;padding:1px;background:#262626}main[checked]:hover{background:#2578ba}main[checked]::before{background:#FFF;left:unset;right:0px}";
            },
            9306: (t) => {
                t.exports =
                    "main.prompt{width:475px;padding:10px;margin:auto;left:0;right:0;top:0;bottom:0;background:#4A4A4A;border-radius:3px;border:none;opacity:1;z-index:10000!important}main.prompt>.description{max-height:325px;overflow-y:auto;line-height:18px;margin-bottom:7px}main.prompt svg{width:1.5em;height:1.5em;vertical-align:bottom}main.prompt>form{display:flex;flex-direction:row;flex-wrap:wrap;margin:0px}main.prompt input{width:100%;background:transparent;padding:1px 8px;border:1px solid #6F6F6F;border-radius:2px;font:inherit;line-height:30px;color:#FFF;height:30px;text-align:left;margin-bottom:10px}main.prompt input:focus{padding:0px 7px;border:2px solid #909090}main.prompt button{width:68px;height:32px;border:none;border-radius:2x;background:#5C5C5C;font-family:SegoeUI;color:#FFF;font-weight:bold}main.prompt button:hover{background:#6E6E6E}main.prompt button:hover:active{background:#7D7D7D}main.prompt button.submit{background:#006CBE;margin-right:8px}main.prompt button.submit:hover{background:#1C7CC5}main.prompt>form>button.submit:hover:active{background:#3389CB}main.prompt>form>button:first-of-type{margin-left:auto}main.prompt>form>button:hover{background:#333}";
            },
            7405: (t) => {
                t.exports =
                    "main.editor{width:500px}main.editor .write{width:100%;height:300px}main.editor .bar{width:100%;height:36px;display:flex;background:#CCC}main.editor .actions{display:flex;flex-grow:1}main.editor .files{display:flex;margin:0px;margin-left:4px;margin-right:4px;margin-top:4px;flex-direction:row;overflow:hidden}main.editor>.bar>.scroll{--color: #747474;margin-top:4px;height:32px;width:32px;position:relative;display:none;align-items:center;justify-content:center;flex:none;padding:1px;border:none}main.editor>.bar>.scroll:hover:not(:active,[disabled]){border:1px solid #626262;padding:0px;background:#A3A3A3;color:#434343}main.editor>.bar>.scroll:active{color:#323232;background:#7A7A7A}main.editor>.bar.overflow .scroll{display:flex}main.editor>.bar.overflow .scroll[disabled]{background:#A3A3A3;color:#7D7D7D}main.editor>.bar.overflow .files{margin-left:0px;margin-right:0px}main.editor .actions button{height:36px;width:36px;text-align:center;position:relative;color:#0D0D0D;border:none;border-radius:0px;background:transparent;font-size:14px}main.editor .actions button svg{width:16px;height:16px}main.editor .actions button:hover{background:#A3A3A3}main.editor .actions button:hover:active{background:#7A7A7A}main.editor .actions .new{--color: #747474;margin-top:4px;height:32px;width:32px;position:relative;display:flex;align-items:center;justify-content:center;margin-right:25px;padding:0px;border:none}main.editor .actions .new:hover{--color: #3E3E3E;background:#E0E0E0}main.editor .actions .new:hover:active{--color: #414141;background:#EBEBEB}main.editor .actions .new::before,main.editor .actions .new::after{content:'';width:1px;height:12px;position:absolute;margin:auto;background:var(--color)}main.editor .actions .new::after{width:12px;height:1px}main.editor .save{margin-left:auto}main.editor .save.saved>*{opacity:0.3}main.editor .web svg{width:16px;height:16px}.tab{white-space:nowrap;display:flex;align-items:center;padding:0px 10px;color:#000;border-top-left-radius:4px;border-top-right-radius:4px}.tab:last-of-type{margin-right:0px}.tab:hover{background:#E0E0E0}.tab.active{background:#FFF}.tab>.name{overflow:hidden;text-overflow:ellipsis}.tab .close{margin-left:5px}.tab.active .close{color:#626262}.tab .close:hover{color:#474747;background:#CACACA}.tab.active .close:hover{background:#E6E6E6}.tab .close:hover:active{color:#5C5C5C;background:#B3B3B3}.tab.active .close:hover:active{background:#CCC}.tab>.active{margin-left:5px;box-sizing:border-box;border:2px solid #000;position:relative}.tab>.active.true::after{content:'';width:7px;height:7px;display:block;margin:auto;position:absolute;top:0px;bottom:0px;left:0px;right:0px;background:#000}.tab>.active,.tab>.close,.tab>.rename{width:15px;height:15px}main.editor footer{position:relative;display:flex;height:30px;align-items:center;padding:0px 15px}main.editor footer svg{width:1.5em;height:1.5em;vertical-align:middle;white-space}main.editor footer .text{display:flex;align-items:center;margin-right:auto;white-space:pre-wrap}main.editor footer .file-opt{display:flex;align-items:center;flex-direction:row;margin-right:10px}main.editor footer .file-opt ez-input{width:100px;height:23px}main.editor footer .file-opt ez-input,main.editor footer .file-opt ez-checkbox{margin-left:10px}";
            },
            2617: (t) => {
                t.exports =
                    ".loading{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:100%;height:100%;top:0px;background:#000;z-index:0!important;transition:0.75s ease;border:none;user-select:none}.loading img{width:178px;height:178px}.loading a{background-image:url('https://y9x.github.io/webpack/libs/ui/loading/discord-normal.png');width:50px;height:56px;background-size:contain;background-repeat:no-repeat;margin-left:4px;pointer-events:all;cursor:pointer;transition:all .2s;display:inline-block}.loading a:hover{background-image:url('https://y9x.github.io/webpack/libs/UI/Loading/discord-hover.png');transform:scale(.95)}.loading a:active{background-image:url('https://y9x.github.io/webpack/libs/UI/Loading/discord-pressed.png')}";
            },
            5302: (t) => {
                t.exports =
                    "*{outline:none}canvas{pointer-events:none;z-index:2}main{--primary: #eee;--secondary: #445;--background: #112;--background-split: 17, 17, 34;--blue: #262626;--blue-accent: #999999;--blue-dark: #143958;background:#112;border:1px solid #ffffff;color:var(--primary);font-family:SegoeUI;font-size:14px;height:min-content;position:absolute;opacity:0.75;user-select:none;z-index:2;opacity:0;pointer-events:none}main.visible{opacity:0.7;pointer-events:all}main.loading.visible,main.visible:hover,main.visible.focus{opacity:1}a{cursor:pointer;color:#168be8;text-decoration:none}a:hover{text-decoration:underline}.title{position:relative;display:flex;align-content:center;justify-content:center;text-align:center;height:30px;flex-wrap:wrap}.title>.right{position:absolute;right:10px;line-height:30px;margin:auto;text-align:center}.sections{margin:0px 2px;display:flex}.tabs{display:grid;grid-template-columns:1fr 1fr 1fr;height:60px;margin:10px;margin-top:5px;border-radius:3px;overflow:hidden;position:relative;background:#424242;box-shadow:0px 0px 4px #1A1A1A}.tabs:hover::after{opacity:0}.tabs>.open{display:flex;justify-content:center;align-items:center}.tabs>.open:hover{background-color:var(--blue-accent)}.tabs>.open.active{background:var(--blue)}section{vertical-align:top;width:275px;height:288px;margin:0px 10px 10px 10px;background:#424242;box-shadow:0px 0px 4px #1A1A1A;border-radius:3px;overflow-x:hidden;overflow-y:auto}section.hidden{display:none}.control{margin-left:11px;margin-right:11px;height:36px;align-items:center;display:flex;gap:4px}.control a{color:#D2D2D2}.control .text{padding:10px 10px;line-height:15px}.control>.keybind{font:14px inconsolata,monospace;text-align:center;color:black;width:100%;flex:1 1 0;height:30px;display:block;position:relative;margin:auto 6px;background:#FFF;border:1px solid #000}ez-select,ez-slider,ez-input{height:25px;width:120px}ez-slider{margin-right:14px}ez-checkbox,ez-select,ez-slider,ez-input{margin-left:auto}ez-button{width:100%;height:30px}input[type='color']{margin-left:auto;width:40px;height:25px;padding:0px;border:0px;background:transparent}";
            },
            47: (t) => {
                t.exports =
                    ".write{background:#FFF;font-size:13px;font-family:monospace;line-height:18px;contain:size;overflow:auto;display:grid;grid-template-columns:26px 1fr}.write>.linenums{padding-left:6px;width:20px;height:100%;background:#F7F7F7;color:#999;line-height:18px;text-align:right}.write>.text{min-width:calc(100% - 4px);padding-top:0px;border:none;line-height:18px;background:transparent;resize:none;padding-left:4px;white-space:nowrap;overflow:hidden}";
            },
            1650: (t) => {
                t.exports =
                    "*{outline:none}canvas{pointer-events:none;z-index:2}main{--primary: #eee;--secondary: #445;--background: #112;--background-split: 17, 17, 34;--blue: #262626;--blue-accent: #999999;--blue-dark: #143958;background:#112;border:1px solid #ffffff;color:var(--primary);font-family:SegoeUI;font-size:14px;height:min-content;position:absolute;opacity:0.75;user-select:none;z-index:2;opacity:0;pointer-events:none}main.visible{opacity:0.7;pointer-events:all}main.loading.visible,main.visible:hover,main.visible.focus{opacity:1}a{cursor:pointer;color:#168be8;text-decoration:none}a:hover{text-decoration:underline}.title{position:relative;display:flex;align-content:center;justify-content:center;text-align:center;height:30px;flex-wrap:wrap}.title>.right{position:absolute;right:10px;line-height:30px;margin:auto;text-align:center}.sections{margin:0px 2px;display:flex}.tabs{display:grid;grid-template-columns:1fr 1fr 1fr;height:60px;margin:10px;margin-top:5px;border-radius:3px;overflow:hidden;position:relative;background:#424242;box-shadow:0px 0px 4px #1A1A1A}.tabs:hover::after{opacity:0}.tabs>.open{display:flex;justify-content:center;align-items:center}.tabs>.open:hover{background-color:var(--blue-accent)}.tabs>.open.active{background:var(--blue)}section{vertical-align:top;width:275px;height:288px;margin:0px 10px 10px 10px;background:#424242;box-shadow:0px 0px 4px #1A1A1A;border-radius:3px;overflow-x:hidden;overflow-y:auto}section.hidden{display:none}.control{margin-left:11px;margin-right:11px;height:36px;align-items:center;display:flex;gap:4px}.control a{color:#D2D2D2}.control .text{padding:10px 10px;line-height:15px}.control>.keybind{font:14px inconsolata,monospace;text-align:center;color:black;width:100%;flex:1 1 0;height:30px;display:block;position:relative;margin:auto 6px;background:#FFF;border:1px solid #000}ez-select,ez-slider,ez-input{height:25px;width:120px}ez-slider{margin-right:14px}ez-checkbox,ez-select,ez-slider,ez-input{margin-left:auto}ez-button{width:100%;height:30px}input[type='color']{margin-left:auto;width:40px;height:25px;padding:0px;border:0px;background:transparent}";
            },
            4309: (t) => {
                t.exports =
                    "@font-face{font-family:'SegoeUI';font-weight:400;src:url('https://y9x.github.io/webpack/libs/Segoe/400.woff2?1') format('woff2')}@font-face{font-family:'SegoeUI';font-weight:100;src:url('https://y9x.github.io/webpack/libs/Segoe/100.woff2?1') format('woff2')}@font-face{font-family:'SegoeUI';font-weight:200;src:url('https://y9x.github.io/webpack/libs/Segoe/200.woff2?1') format('woff2')}@font-face{font-family:'SegoeUI';font-weight:600;src:url('https://y9x.github.io/webpack/libs/Segoe/600.woff2?a') format('woff2')}@font-face{font-family:'SegoeUI';font-weight:700;src:url('https://y9x.github.io/webpack/libs/Segoe/700.woff2?1') format('woff2')}";
            },
            3571: (t) => {
                t.exports = { discord: "https://discord.gg/MyeKERgHTg", forum: "https://proshadow-op.web.app/" };
            },
        },
        e = {};
    function i(a) {
        var s = e[a];
        if (void 0 !== s) return s.exports;
        var r = (e[a] = { exports: {} });
        return t[a].call(r.exports, r, r.exports, i), r.exports;
    }
    (() => {
        "use strict";
        var { krunker: t } = i(9606);
        t && i(2220);
    })();
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址