<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">$g = avshow = Object.assign({
    config: {
        ads: {
            longtexts: [
                
              
                {
                    backup_image: "/",
                    days: 232331,
                    description: "å…è´¹é«˜æ¸…æ—&nbsp;ç&nbsp;",
                    desktop_replace_ads_html: "",
                    end_time: 21732710400,
                    icon: "/",
                    image: "/",
                    image1: "/",
                    name: "å¯¼èˆª",
                    "start-date": "2022-08-01",
                    text: "å¯¼èˆª",
                    url: "/",
                    zone: "my cpa 8"
                },
                {
                    backup_image: "/",
                    days: 232331,
                    description: "å›½äº§å¤§å…¨ä¸‹è½½",
                    desktop_replace_ads_html: "",
                    end_time: 21732710400,
                    icon: "/",
                    image: "/",
                    image1: "/",
                    name: "å¯¼èˆª",
                    "start-date": "2022-08-01",
                    text: "å¯¼èˆª",
                    url: "/",
                    zone: "my cpa 8"
                },

								               
								               
            
            ],
            
            
            
            style: "\n.c16a1baa {\n    margin: auto;\n    text-align: center;\n}\n\n.c16a1baa .q-img,\n.c16a1baa img.s-2 {\n    height: 120px;\n}\n\n.c16a1baa .q-img,\n.c16a1baa img {\n    width: 660px;\n    height: 66px;\n    aspect-ratio: 660 / 66;\n}\n\n.c16a1baa a,\n.c16a1baa .q-responsive {\n    width: 660px;\n    height: 66px;\n    margin: auto;\n    display:block;\n    max-width: 100%;\n}\n\n\n@media (max-width: 960px) {\n    .c16a1baa a,\n     .c16a1baa .q-responsive,\n    .c16a1baa img {\n        max-width: 100% !important;\n        max-height: 65px;\n        height: auto !important;\n        min-height: 10px;\n        aspect-ratio: 660 / 66;\n        display:block;\n        width:100%!important;\n    }\n\n    .c16a1baa .q-img{\n        height:100%\n    }\n}\n\n\n.c16a1baa .q-img__image {\n    background-position: unset !important;\n    background-size: 100% 100%!important;\n}\n\n.videoplayerside {\n    padding: 8px;\n}\n\n.videoplayerside a img {\n    width: 100%;\n    padding: 8px;\n    border-radius: 8px;\n}\n\n\n.ads_long_item .ads_long_text {\n    background: var(--primary)!important;\n    color:var(--ads-long-text);\n    font-weight: bold;\n}\n\n.alert_windows .dialog_text{\n    color:var(--gold);\n    font-weight: bold;\n}\n"
        },
        ads_object: {
            "alert.windows": {
                                       //æœªçŸ¥ ä¸åŠ¨
                "001-hgzb.dialog": {
                    ads_num: 1,
                    days: 30,
                    desktop_replace_ads_html: "",
                    end_time: 1706486400,
                    image: "https://hgplxx.3wvp.com/tupian/hgtc.abc",
                    name: "ç›´æ’­",
                    "start-date": "2023-12-30",
                    text: "ç›´æ’­",
                    url: "/",
                    zone: "hgzb.dialog"
                }
            },

                      
                   ratio: {},
                 "top.banner": {
                     
                     
                "001-daohang.theporn": {
                    ads_num: 1,
                    days: 100,
                    end_time: 1712707200,
                    image: "/88.gif",
                    name: "å¯¼èˆª",
                    "start-date": "2024-09-10",
                    url: "/",
                    zone: "768.theporn"
                },
                


 },
            
            video: {}
        },
        application_name: "baomaav",
        cdn: { static_host: "timg109.top" },
        cdnm3u8host: true,
        class_name: "c16a1baa",
        color_theme: "dark",
        cookie: {
            all_domain: "",
            auth: "tauth",
            guest: "tguest",
            pre: "tp_"
        },
        defalut_avatar: "/static/images/avatar.svg",
        defalut_video_server: "cncdn",
        email: "jsjshajshs960@gmail.com",
        links: [
            {
                class: "",
                id: "kkdh",
                name: "å†·å›å¯¼èˆª",
                url: "https://v1av1.xyz"
            },
            {
                id: "f3dav",
                name: "å°é»„é¸­å¯¼èˆª",
                url: "https://v1av4.xyz"
            },
            {
                class: "",
                id: "hxcdh",
                name: "ç’ƒæœˆå¯¼èˆª",
                rank: 1,
                url: "http://v1av2.xyz"
            },
            {
                class: "",
                id: "hxcdh",
                name: "å¥½è‰²å¯¼èˆª",
                rank: 1,
                url: "https://www.v1av16.xyz"
            },
            {
                class: "",
                id: "hxcdh",
                name: "å¤©å¤©å¯¼èˆª",
                rank: 1,
                url: "https://v1av13.xyz"
            },
            {
                class: "",
                id: "hxcdh",
                name: "æžå…‰å¯¼èˆª",
                rank: 1,
                url: "https://v1av6.xyz"
            },
            {
                class: "",
                id: "hxcdh",
                name: "åŽæµªå¯¼èˆª",
                rank: 1,
                url: "https://v1av15.xyz"
            },
            {
                class: "",
                id: "hxcdh",
                name: "ç²¾ä¸œå¯¼èˆª",
                rank: 1,
                url: "https://www.v1av17.xyz"
            },
            {
                class: "",
                id: "hxcdh",
                name: "æ—&nbsp;é™ç¦åˆ©å¯¼èˆª",
                rank: 1,
                url: " https://v1av14.xyz"
            },
            {
                class: "",
                id: "hxcdh",
                name: "3000ç²¾å“",
                rank: 1,
                url: "https://v1av19.xyz"
            },
            {
                id: "sebadh",
                name: "ä¸€ä¸€å¯¼èˆª",
                url: "v1av18.xyz"
            },
            {
                id: "sdh",
                name: "Sç¦åˆ©å¯¼èˆª",
                url: "https://v1av20.xyz"
            }
        ],
        old_ads_classname_list: "ce588e8e c9e2d0ed c1900971 cb38f0a1",
        static_host: "timg109.top",
        verhash: 65647617,
        video_player: "clappr",
        videoplayer: {
            data: {
                css_hash: "68676fa25d4cdf9f",
                css_path: "player.css?68676fa25d4cdf9f",
                hash: "23b630991fec3b40",
                js_hash: "7a4c994770797a8d",
                js_path: "player.js?7a4c994770797a8d",
                key: "video:player:data:clappr"
            },
            hash: {
                css: "68676fa25d4cdf9f",
                js: "7a4c994770797a8d"
            }
        },
        vip_look: true,
        web_hash: {
            MERGE_CSS_HASH: "e955152d98538",
            MERGE_JS_HASH: "f7613e519dddae911e765cf204cbec43",
            ads_hash: "c16a1baa",
            ghash: "_dacb865337f",
            lang_hash: "c444f26d04811e9a4d43d55f89b5ba9d",
            space_cdn_hash: "d11925605f2a1ef",
            template_hash: "3b778b4837cba4dc745776e8a6243062",
            videoplayer: {
                css: "68676fa25d4cdf9f",
                js: "7a4c994770797a8d"
            }
        }
    },
    space_confs: {
        s1: {
            cdn: [],
            host: ["sm1.23a.cc"],
            image: null,
            static_hosts: ["static1.23a.cc"],
            video_cdns: ["svcdn1.23a.cc"]
        },
        s10: {
            cdn: [],
            host: ["sm10.v1av8.xyz"],
            image: null,
            static_hosts: ["static10.v1av8.xyz"],
            video_cdns: ["svc10.v1av8.xyz"]
        },
        s11: {
            cdn: [],
            host: ["s11.v1av7.xyz"],
            image: null,
            static_hosts: ["static11.v1av7.xyz"],
            video_cdns: ["svcdn11.v1av7.xyz"]
        },
        s12: {
            cdn: [],
            host: ["sm12.v1av3.xyz"],
            image: null,
            static_hosts: ["static12.v1av3.xyz"],
            video_cdns: ["svc12.v1av3.xyz"]
        },
        s13: {
            cdn: [],
            host: ["sm13.v1av8.xyz"],
            image: null,
            static_hosts: ["static13.v1av8.xyz"],
            video_cdns: ["svc13.v1av8.xyz"]
        },
        s14: {
            cdn: [],
            host: ["s14.23a.cc"],
            image: null,
            static_hosts: ["static14.23a.cc"],
            video_cdns: ["svcdn14.23a.cc"]
        },
        s15: {
            cdn: [],
            host: ["s15.v1av2.xyz"],
            image: null,
            static_hosts: ["static15.v1av2.xyz"],
            video_cdns: ["svcdn15.v1av2.xyz"]
        },
        s16: {
            cdn: ["s16.23a214.xyz"],
            host: ["s16.23a215.xyz"],
            image: null,
            static_hosts: ["static16.8km.xyz", "static16.23a215.xyz"],
            video_cdns: ["svcdn16.23a215.xyz"]
        },
        s17: {
            cdn: ["s17.23a214.xyz"],
            host: ["sm17.fw8.xyz"],
            image: null,
            static_hosts: ["static17.kkk666.xyz", "static17.23a215.xyz"],
            video_cdns: ["svc17.kkk666.xyz", "svc17.23a215.xyz"]
        },
        s18: {
            cdn: [],
            host: ["sm18.v1av3.xyz"],
            image: null,
            static_hosts: ["static18.v1av3.xyz"],
            video_cdns: ["svc18.v1av3.xyz"]
        },
        s19: {
            cdn: [],
            host: ["s19.zx8.xyz"],
            image: null,
            static_hosts: ["static19.zx8.xyz"],
            video_cdns: ["svcdn19.zx8.xyz"]
        },
        s2: {
            cdn: [],
            host: ["sm2.23a.cc"],
            image: null,
            static_hosts: ["static2.23a.cc"],
            video_cdns: ["svc2.23a.cc"]
        },
        s20: {
            cdn: ["s20.23a214.xyz"],
            host: ["s20.23a215.xyz"],
            image: null,
            static_hosts: ["static20.8km.xyz", "static20.23a215.xyz"],
            video_cdns: ["svcdn20.23a215.xyz"]
        },
        s21: {
            cdn: ["s21.23a214.xyz"],
            host: ["s21.23a215.xyz"],
            image: null,
            static_hosts: ["static21.8km.xyz", "static21.23a215.xyz"],
            video_cdns: ["svcdn21.23a215.xyz"]
        },
        s22: {
            cdn: [],
            host: ["s22.23a.cc"],
            image: null,
            static_hosts: ["static22.23a.cc"],
            video_cdns: ["svcdn22.23a.cc"]
        },
        s23: {
            cdn: ["s23.23a214.xyz"],
            host: ["s23.23a215.xyz"],
            image: null,
            static_hosts: ["static23.8km.xyz", "static23.23a215.xyz"],
            video_cdns: ["svcdn23.23a215.xyz"]
        },
        s24: {
            cdn: ["s24.23a214.xyz"],
            host: ["s24.23a215.xyz"],
            image: null,
            static_hosts: ["static24.8km.xyz"],
            video_cdns: ["svcdn24.23a215.xyz"]
        },
        s25: {
            cdn: [],
            host: ["s25.23a.cc"],
            image: null,
            static_hosts: ["static25.23a.cc"],
            video_cdns: ["svcdn25.23a.cc"]
        },
        s26: {
            cdn: ["s26.23a214.xyz"],
            host: ["s26.23a215.xyz"],
            image: null,
            static_hosts: ["static26.8km.xyz"],
            video_cdns: ["svcdn26.23a215.xyz"]
        },
        s27: {
            cdn: ["s27.23a214.xyz"],
            host: ["s27.23a215.xyz"],
            image: null,
            static_hosts: ["static27.8km.xyz"],
            video_cdns: ["svcdn27.23a215.xyz"]
        },
        s28: {
            cdn: ["s28.23a214.xyz"],
            host: ["s28.23a215.xyz"],
            image: null,
            static_hosts: ["static28.8km.xyz"],
            video_cdns: ["svcdn28.23a215.xyz"]
        },
        s3: {
            cdn: [],
            host: ["s3.zx8.xyz"],
            image: null,
            static_hosts: ["static3.zx8.xyz"],
            video_cdns: ["svcdn3.zx8.xyz"]
        },
        s30: {
            cdn: [],
            host: ["s30.v1av2.xyz"],
            image: null,
            static_hosts: ["static30.v1av2.xyz"],
            video_cdns: ["svcdn30.v1av2.xyz"]
        },
        s31: {
            cdn: [],
            host: ["s31.v1av3.xyz"],
            image: null,
            static_hosts: ["static31.v1av3.xyz"],
            video_cdns: ["svcdn31.v1av3.xyz"]
        },
        s32: {
            cdn: [],
            host: ["s32.23a.cc"],
            image: null,
            static_hosts: ["static32.23a.cc"],
            video_cdns: ["svcdn32.23a.cc"]
        },
        s33: {
            cdn: [],
            host: ["s33.23a.cc"],
            image: null,
            static_hosts: ["static33.23a.cc"],
            video_cdns: ["svcdn33.23a.cc"]
        },
        s34: {
            cdn: [],
            host: ["s34.23a.cc"],
            image: null,
            static_hosts: ["static34.23a.cc"],
            video_cdns: ["svcdn34.23a.cc"]
        },
        s35: {
            cdn: [],
            host: ["s35.v1av3.xyz"],
            image: null,
            static_hosts: ["static35.v1av3.xyz"],
            video_cdns: ["svcdn35.v1av3.xyz"]
        },
        s36: {
            cdn: [],
            host: ["s36.v1av2.xyz"],
            image: null,
            static_hosts: ["static36.v1av2.xyz"],
            video_cdns: ["svcdn36.v1av2.xyz"]
        },
        s37: {
            cdn: [],
            host: ["s37.v1av2.xyz"],
            image: null,
            static_hosts: ["static37.v1av2.xyz"],
            video_cdns: ["svcdn37.v1av2.xyz"]
        },
        s38: {
            cdn: [],
            host: ["s38.v1av2.xyz"],
            image: null,
            static_hosts: ["static38.v1av2.xyz"],
            video_cdns: ["svcdn38.v1av2.xyz"]
        },
        s39: {
            cdn: [],
            host: ["s39.v1av2.xyz"],
            image: null,
            static_hosts: ["static39.v1av2.xyz"],
            video_cdns: ["svcdn39.v1av2.xyz"]
        },
        s4: {
            cdn: ["s4.23a214.xyz"],
            host: ["s4.98w.xyz"],
            image: null,
            static_hosts: ["static4.kkk666.xyz"],
            video_cdns: ["svcdn4.98w.xyz"]
        },
        s5: {
            cdn: [],
            host: ["s5.23a.cc"],
            image: null,
            static_hosts: ["static5.23a.cc"],
            video_cdns: ["sv5.23a.cc"]
        },
        s6: {
            cdn: [],
            host: ["sm6.23a.cc"],
            image: null,
            static_hosts: ["static6.23a.cc"],
            video_cdns: ["svc6.23a.cc"]
        },
        s7: {
            cdn: [],
            host: ["sm7.23a.cc"],
            image: null,
            static_hosts: ["static7.23a.cc"],
            video_cdns: ["svc7.23a.cc"]
        },
        s8: {
            cdn: [],
            host: ["sm8.23a.cc"],
            image: null,
            static_hosts: ["static8.23a.cc"],
            video_cdns: ["svc8.23a.cc"]
        },
        s9: {
            cdn: [],
            host: ["s9.23a.cc"],
            image: null,
            static_hosts: ["static9.23a.cc"],
            video_cdns: ["svcdn9.23a.cc"]
        },
        sb10: {
            cdn: ["sb10.23a214.xyz"],
            host: ["sbm10.23a215.xyz", "sb10.23a215.xyz"],
            image: null,
            static_hosts: ["staticb10.23a215.xyz"],
            video_cdns: ["sbvc10.23a215.xyz"]
        },
        sb11: {
            cdn: ["sb11.23a214.xyz"],
            host: ["smb11.kkk666.xyz"],
            image: null,
            static_hosts: ["staticb11.8km.xyz"],
            video_cdns: ["sbvc11.kkk666.xyz"]
        },
        sb12: {
            cdn: ["sb12.23a214.xyz"],
            host: ["smb12.kkk666.xyz"],
            image: null,
            static_hosts: ["staticb12.8km.xyz"],
            video_cdns: ["sbvc12.kkk666.xyz"]
        },
        sb14: {
            cdn: ["sb14.23a214.xyz"],
            host: ["sbm14.23a215.xyz"],
            image: null,
            static_hosts: ["staticb14.23a215.xyz"],
            video_cdns: ["sbvc14.23a215.xyz"]
        },
        sb5: {
            cdn: ["sb5.23a214.xyz"],
            host: ["sbm5.23a215.xyz"],
            image: null,
            static_hosts: ["staticb5.23a215.xyz"],
            video_cdns: ["sbvc5.23a215.xyz"]
        },
        sb6: {
            cdn: ["sb6.23a214.xyz"],
            host: ["sbm6.23a215.xyz"],
            image: null,
            static_hosts: ["staticb6.23a215.xyz"],
            video_cdns: ["sbvc6.23a215.xyz"]
        },
        sb7: {
            cdn: ["sb7.23a214.xyz"],
            host: ["smb7.kkk666.xyz"],
            image: null,
            static_hosts: ["staticb7.8km.xyz"],
            video_cdns: ["sbvc7.kkk666.xyz"]
        },
        sb9: {
            cdn: ["sb9.23a214.xyz"],
            host: ["sbm9.23a215.xyz"],
            image: null,
            static_hosts: ["staticb9.23a215.xyz"],
            video_cdns: ["sbvc9.23a215.xyz"]
        },
        sla1: {
            cdn: ["sla1.98w.xyz"],
            host: ["smla1.98w.xyz"],
            image: null,
            static_hosts: [],
            video_cdns: ["sla1vc.98w.xyz"]
        },
        sla11: {
            cdn: ["sla11.m40.xyz"],
            host: ["smla11.m40.xyz"],
            image: null,
            static_hosts: [],
            video_cdns: ["sla11vc.m40.xyz"]
        },
        sla15: {
            cdn: [],
            host: ["smla15.98w.xyz"],
            image: null,
            static_hosts: ["staticsa15.98w.xyz"],
            video_cdns: ["sla15vc.98w.xyz"]
        }
    },
    web_conf: {
        REDIRECT_COUNTRY_CODES: ["CN", "VN", "MY", "PH", "TR", "AE", "TH"],
        abandon_hosts: ["mc8.xyz", "nihaopiao.com", "cydjch.com", "fuingerhut.com", "zgydybwg.com"],
        application_name: "V11AV",
        backup_hosts: ["ekushepaa.com", "jdav669.xyz", "00919.xyz", "6shun.xyz"],
        cloudflare: { name: "v88av" },
        cloudflare_workers: true,
        cn_tmp_hosts: ["goodmine7.xyz", "00972.xyz", "qhgjxiaomi.xyz", "q71.xyz"],
        domain: "",
        domain_setting: {
            max_backuphost: 20,
            name: "v11av",
            suffix: "cc"
        },
        histats_counter_id: 4296565,
        histats_counter_redirect_id: 4296566,
        keep_hosts: ["segouin.xyz", "fan1314.xyz", "yitongkan20.xyz", "yitongkan21.xyz"],
        lang_hosts: ["zh.v1av.xyz", "zh-tw.v1av.xyz", "ja.v1av.xyz", "ko.v1av.xyz", "vi.v1av.xyz", "en.v1av.xyz", "th.v1av.xyz", "es.v1av.xyz", "ru.v1av.xyz"],
        latin_application_name: "v11av",
        limit_show_tid_rate: .98,
        network: "sexu",
        nginx: "openresty",
        popularity_rate: 2.33,
        proxy_hosts: ["avaiai9.xyz", "hejian.xyz", "v11av3.xyz"],
        recommended_text_videos: true,
        redirect_links: true,
        root_doamin: "",
        trending_videos_key: "trending:videos:2",
        use_self_ads: true,
        webstatic: { id: "a2" },
        webstatic_host: "v11av.genle.xyz"
    },
    webhash: "_dacb865337f",
    webstatic_conf: {
        cncdn_domain: "aakk.goodmine4.xyz",
        domains: ["tpcdn.xyz"],
        gcdn: "ain168.cc"
    }
});
$g.wait_asyncjs_count = 0;
$g.wait_asyncjs = function (f) {
    if ($g.async_loaded) {
        f()
    }
    else {
        $g.wait_asyncjs_count++;
        setTimeout(() =&gt; {
            if (!$g.async_loaded) {
                $g.wait_asyncjs(f)
            }
            else {
                if (f) {
                    f()
                }
            }
        }, 88 + $g.wait_asyncjs_count)
    }
};
!function (a, b) {
    "use strict";
    "object" == typeof module &amp;&amp; "object" == typeof module.exports ? module.exports = a.document ? b(a, !0) : function (a) {
        if (!a.document)
            throw new Error("jQuery requires a window with a document");
        return b(a)
    } : b(a)
}("undefined" != typeof window ? window : this, function (a, b) {
    "use strict";
    var c = [],
        d = a.document,
        e = Object.getPrototypeOf,
        f = c.slice,
        g = c.concat,
        h = c.push,
        i = c.indexOf,
        j = {},
        k = j.toString,
        l = j.hasOwnProperty,
        m = l.toString,
        n = m.call(Object),
        o = {};
    function p(a, b) {
        b = b || d;
        var c = b.createElement("script");
        c.text = a,
            b.head.appendChild(c).parentNode.removeChild(c)
    }
    var q = "3.0.0",
        r = function (a, b) {
            return new r.fn.init(a, b)
        },
        s = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
        t = /^-ms-/,
        u = /-([a-z])/g,
        v = function (a, b) {
            return b.toUpperCase()
        };
    r.fn = r.prototype = {
        jquery: q,
        constructor: r,
        length: 0,
        toArray: function () {
            return f.call(this)
        },
        get: function (a) {
            return null != a ? 0 &gt; a ? this[a + this.length] : this[a] : f.call(this)
        },
        pushStack: function (a) {
            var b = r.merge(this.constructor(), a);
            return b.prevObject = this, b
        },
        each: function (a) {
            return r.each(this, a)
        },
        map: function (a) {
            return this.pushStack(r.map(this, function (b, c) {
                return a.call(b, c, b)
            }))
        },
        slice: function () {
            return this.pushStack(f.apply(this, arguments))
        },
        first: function () {
            return this.eq(0)
        },
        last: function () {
            return this.eq(-1)
        },
        eq: function (a) {
            var b = this.length,
                c = +a + (0 &gt; a ? b : 0);
            return this.pushStack(c &gt;= 0 &amp;&amp; b &gt; c ? [
                this[c]
            ] : [])
        },
        end: function () {
            return this.prevObject || this.constructor()
        },
        push: h,
        sort: c.sort,
        splice: c.splice
    },
        r.extend = r.fn.extend = function () {
            var a,
                b,
                c,
                d,
                e,
                f,
                g = arguments[0] || {},
                h = 1,
                i = arguments.length,
                j = !1;
            for ("boolean" == typeof g &amp;&amp; (j = g, g = arguments[h] || {}, h++), "object" == typeof g || r.isFunction(g) || (g = {}), h === i &amp;&amp; (g = this, h--); i &gt; h; h++)
                if (null != (a = arguments[h]))
                    for (b in a)
                        c = g[b],
                            d = a[b],
                            g !== d &amp;&amp; (j &amp;&amp; d &amp;&amp; (r.isPlainObject(d) || (e = r.isArray(d))) ? (e ? (e = !1, f = c &amp;&amp; r.isArray(c) ? c : []) : f = c &amp;&amp; r.isPlainObject(c) ? c : {}, g[b] = r.extend(j, f, d)) : void 0 !== d &amp;&amp; (g[b] = d));
            return g
        },
        r.extend({
            expando: "jQuery" + (q + Math.random()).replace(/\D/g, ""),
            isReady: !0,
            error: function (a) {
                throw new Error(a);
            },
            noop: function () { },
            isFunction: function (a) {
                return "function" === r.type(a)
            },
            isArray: Array.isArray,
            isWindow: function (a) {
                return null != a &amp;&amp; a === a.window
            },
            isNumeric: function (a) {
                var b = r.type(a);
                return ("number" === b || "string" === b) &amp;&amp; !isNaN(a - parseFloat(a))
            },
            isPlainObject: function (a) {
                var b,
                    c;
                return a &amp;&amp; "[object Object]" === k.call(a) ? (b = e(a)) ? (c = l.call(b, "constructor") &amp;&amp; b.constructor, "function" == typeof c &amp;&amp; m.call(c) === n) : !0 : !1
            },
            isEmptyObject: function (a) {
                var b;
                for (b in a)
                    return !1;
                return !0
            },
            type: function (a) {
                return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? j[k.call(a)] || "object" : typeof a
            },
            globalEval: function (a) {
                p(a)
            },
            camelCase: function (a) {
                return a.replace(t, "ms-").replace(u, v)
            },
            nodeName: function (a, b) {
                return a.nodeName &amp;&amp; a.nodeName.toLowerCase() === b.toLowerCase()
            },
            each: function (a, b) {
                var c,
                    d = 0;
                if (w(a)) {
                    for (c = a.length; c &gt; d; d++)
                        if (b.call(a[d], d, a[d]) === !1)
                            break
                }
                else
                    for (d in a)
                        if (b.call(a[d], d, a[d]) === !1)
                            break;
                return a
            },
            trim: function (a) {
                return null == a ? "" : (a + "").replace(s, "")
            },
            makeArray: function (a, b) {
                var c = b || [];
                return null != a &amp;&amp; (w(Object(a)) ? r.merge(c, "string" == typeof a ? [
                    a
                ] : a) : h.call(c, a)), c
            },
            inArray: function (a, b, c) {
                return null == b ? -1 : i.call(b, a, c)
            },
            merge: function (a, b) {
                for (var c = +b.length, d = 0, e = a.length; c &gt; d; d++)
                    a[e++] = b[d];
                return a.length = e, a
            },
            grep: function (a, b, c) {
                for (var d, e = [], f = 0, g = a.length, h = !c; g &gt; f; f++)
                    d = !b(a[f], f),
                        d !== h &amp;&amp; e.push(a[f]);
                return e
            },
            map: function (a, b, c) {
                var d,
                    e,
                    f = 0,
                    h = [];
                if (w(a))
                    for (d = a.length; d &gt; f; f++)
                        e = b(a[f], f, c),
                            null != e &amp;&amp; h.push(e);
                else
                    for (f in a)
                        e = b(a[f], f, c),
                            null != e &amp;&amp; h.push(e);
                return g.apply([], h)
            },
            guid: 1,
            proxy: function (a, b) {
                var c,
                    d,
                    e;
                return "string" == typeof b &amp;&amp; (c = a[b], b = a, a = c), r.isFunction(a) ? (d = f.call(arguments, 2), e = function () {
                    return a.apply(b || this, d.concat(f.call(arguments)))
                }, e.guid = a.guid = a.guid || r.guid++, e) : void 0
            },
            now: Date.now,
            support: o
        }),
        "function" == typeof Symbol &amp;&amp; (r.fn[Symbol.iterator] = c[Symbol.iterator]),
        r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (a, b) {
            j["[object " + b + "]"] = b.toLowerCase()
        });
    function w(a) {
        var b = !!a &amp;&amp; "length" in a &amp;&amp; a.length,
            c = r.type(a);
        return "function" === c || r.isWindow(a) ? !1 : "array" === c || 0 === b || "number" == typeof b &amp;&amp; b &gt; 0 &amp;&amp; b - 1 in a
    }
    var x = function (a) {
        var b,
            c,
            d,
            e,
            f,
            g,
            h,
            i,
            j,
            k,
            l,
            m,
            n,
            o,
            p,
            q,
            r,
            s,
            t,
            u = "sizzle" + 1 * new Date,
            v = a.document,
            w = 0,
            x = 0,
            y = ha(),
            z = ha(),
            A = ha(),
            B = function (a, b) {
                return a === b &amp;&amp; (l = !0), 0
            },
            C = {}.hasOwnProperty,
            D = [],
            E = D.pop,
            F = D.push,
            G = D.push,
            H = D.slice,
            I = function (a, b) {
                for (var c = 0, d = a.length; d &gt; c; c++)
                    if (a[c] === b)
                        return c;
                return -1
            },
            J = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
            K = "[\\x20\\t\\r\\n\\f]",
            L = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
            M = "\\[" + K + "*(" + L + ")(?:" + K + "*([*^$|!~]?=)" + K + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + L + "))|)" + K + "*\\]",
            N = ":(" + L + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + M + ")*)|.*)\\)|)",
            O = new RegExp(K + "+", "g"),
            P = new RegExp("^" + K + "+|((?:^|[^\\\\])(?:\\\\.)*)" + K + "+$", "g"),
            Q = new RegExp("^" + K + "*," + K + "*"),
            R = new RegExp("^" + K + "*([&gt;+~]|" + K + ")" + K + "*"),
            S = new RegExp("=" + K + "*([^\\]'\"]*?)" + K + "*\\]", "g"),
            T = new RegExp(N),
            U = new RegExp("^" + L + "$"),
            V = {
                ID: new RegExp("^#(" + L + ")"),
                CLASS: new RegExp("^\\.(" + L + ")"),
                TAG: new RegExp("^(" + L + "|[*])"),
                ATTR: new RegExp("^" + M),
                PSEUDO: new RegExp("^" + N),
                CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + K + "*(even|odd|(([+-]|)(\\d*)n|)" + K + "*(?:([+-]|)" + K + "*(\\d+)|))" + K + "*\\)|)", "i"),
                bool: new RegExp("^(?:" + J + ")$", "i"),
                needsContext: new RegExp("^" + K + "*[&gt;+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + K + "*((?:-\\d)?\\d*)" + K + "*\\)|)(?=[^-]|$)", "i")
            },
            W = /^(?:input|select|textarea|button)$/i,
            X = /^h\d$/i,
            Y = /^[^{]+\{\s*\[native \w/,
            Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
            $ = /[+~]/,
            _ = new RegExp("\\\\([\\da-f]{1,6}" + K + "?|(" + K + ")|.)", "ig"),
            aa = function (a, b, c) {
                var d = "0x" + b - 65536;
                return d !== d || c ? b : 0 &gt; d ? String.fromCharCode(d + 65536) : String.fromCharCode(d &gt;&gt; 10 | 55296, 1023 &amp; d | 56320)
            },
            ba = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
            ca = function (a, b) {
                return b ? "\0" === a ? " " : a.slice(0, -1) + "\\" + a.charCodeAt(a.length - 1).toString(16) + " " : "\\" + a
            },
            da = function () {
                m()
            },
            ea = ta(function (a) {
                return a.disabled === !0
            }, {
                dir: "parentNode",
                next: "legend"
            });
        try {
            G.apply(D = H.call(v.childNodes), v.childNodes),
                D[v.childNodes.length].nodeType
        }
        catch (fa) {
            G = {
                apply: D.length ? function (a, b) {
                    F.apply(a, H.call(b))
                } : function (a, b) {
                    var c = a.length,
                        d = 0;
                    while (a[c++] = b[d++])
                        ;
                    a.length = c - 1
                }
            }
        }
        function ga(a, b, d, e) {
            var f,
                h,
                j,
                k,
                l,
                o,
                r,
                s = b &amp;&amp; b.ownerDocument,
                w = b ? b.nodeType : 9;
            if (d = d || [], "string" != typeof a || !a || 1 !== w &amp;&amp; 9 !== w &amp;&amp; 11 !== w)
                return d;
            if (!e &amp;&amp; ((b ? b.ownerDocument || b : v) !== n &amp;&amp; m(b), b = b || n, p)) {
                if (11 !== w &amp;&amp; (l = Z.exec(a)))
                    if (f = l[1]) {
                        if (9 === w) {
                            if (!(j = b.getElementById(f)))
                                return d;
                            if (j.id === f)
                                return d.push(j), d
                        }
                        else if (s &amp;&amp; (j = s.getElementById(f)) &amp;&amp; t(b, j) &amp;&amp; j.id === f)
                            return d.push(j), d
                    }
                    else {
                        if (l[2])
                            return G.apply(d, b.getElementsByTagName(a)), d;
                        if ((f = l[3]) &amp;&amp; c.getElementsByClassName &amp;&amp; b.getElementsByClassName)
                            return G.apply(d, b.getElementsByClassName(f)), d
                    }
                if (c.qsa &amp;&amp; !A[a + " "] &amp;&amp; (!q || !q.test(a))) {
                    if (1 !== w)
                        s = b,
                            r = a;
                    else if ("object" !== b.nodeName.toLowerCase()) {
                        (k = b.getAttribute("id")) ? k = k.replace(ba, ca) : b.setAttribute("id", k = u),
                            o = g(a),
                            h = o.length;
                        while (h--)
                            o[h] = "#" + k + " " + sa(o[h]);
                        r = o.join(","),
                            s = $.test(a) &amp;&amp; qa(b.parentNode) || b
                    }
                    if (r)
                        try {
                            return G.apply(d, s.querySelectorAll(r)), d
                        }
                        catch (x) { }
                        finally {
                            k === u &amp;&amp; b.removeAttribute("id")
                        }
                }
            }
            return i(a.replace(P, "$1"), b, d, e)
        }
        function ha() {
            var a = [];
            function b(c, e) {
                return a.push(c + " ") &gt; d.cacheLength &amp;&amp; delete b[a.shift()], b[c + " "] = e
            }
            return b
        }
        function ia(a) {
            return a[u] = !0, a
        }
        function ja(a) {
            var b = n.createElement("fieldset");
            try {
                return !!a(b)
            }
            catch (c) {
                return !1
            }
            finally {
                b.parentNode &amp;&amp; b.parentNode.removeChild(b),
                    b = null
            }
        }
        function ka(a, b) {
            var c = a.split("|"),
                e = c.length;
            while (e--)
                d.attrHandle[c[e]] = b
        }
        function la(a, b) {
            var c = b &amp;&amp; a,
                d = c &amp;&amp; 1 === a.nodeType &amp;&amp; 1 === b.nodeType &amp;&amp; a.sourceIndex - b.sourceIndex;
            if (d)
                return d;
            if (c)
                while (c = c.nextSibling)
                    if (c === b)
                        return -1;
            return a ? 1 : -1
        }
        function ma(a) {
            return function (b) {
                var c = b.nodeName.toLowerCase();
                return "input" === c &amp;&amp; b.type === a
            }
        }
        function na(a) {
            return function (b) {
                var c = b.nodeName.toLowerCase();
                return ("input" === c || "button" === c) &amp;&amp; b.type === a
            }
        }
        function oa(a) {
            return function (b) {
                return "label" in b &amp;&amp; b.disabled === a || "form" in b &amp;&amp; b.disabled === a || "form" in b &amp;&amp; b.disabled === !1 &amp;&amp; (b.isDisabled === a || b.isDisabled !== !a &amp;&amp; ("label" in b || !ea(b)) !== a)
            }
        }
        function pa(a) {
            return ia(function (b) {
                return b = +b, ia(function (c, d) {
                    var e,
                        f = a([], c.length, b),
                        g = f.length;
                    while (g--)
                        c[e = f[g]] &amp;&amp; (c[e] = !(d[e] = c[e]))
                })
            })
        }
        function qa(a) {
            return a &amp;&amp; "undefined" != typeof a.getElementsByTagName &amp;&amp; a
        }
        c = ga.support = {},
            f = ga.isXML = function (a) {
                var b = a &amp;&amp; (a.ownerDocument || a).documentElement;
                return b ? "HTML" !== b.nodeName : !1
            },
            m = ga.setDocument = function (a) {
                var b,
                    e,
                    g = a ? a.ownerDocument || a : v;
                return g !== n &amp;&amp; 9 === g.nodeType &amp;&amp; g.documentElement ? (n = g, o = n.documentElement, p = !f(n), v !== n &amp;&amp; (e = n.defaultView) &amp;&amp; e.top !== e &amp;&amp; (e.addEventListener ? e.addEventListener("unload", da, !1) : e.attachEvent &amp;&amp; e.attachEvent("onunload", da)), c.attributes = ja(function (a) {
                    return a.className = "i", !a.getAttribute("className")
                }), c.getElementsByTagName = ja(function (a) {
                    return a.appendChild(n.createComment("")), !a.getElementsByTagName("*").length
                }), c.getElementsByClassName = Y.test(n.getElementsByClassName), c.getById = ja(function (a) {
                    return o.appendChild(a).id = u, !n.getElementsByName || !n.getElementsByName(u).length
                }), c.getById ? (d.find.ID = function (a, b) {
                    if ("undefined" != typeof b.getElementById &amp;&amp; p) {
                        var c = b.getElementById(a);
                        return c ? [
                            c
                        ] : []
                    }
                }, d.filter.ID = function (a) {
                    var b = a.replace(_, aa);
                    return function (a) {
                        return a.getAttribute("id") === b
                    }
                }) : (delete d.find.ID, d.filter.ID = function (a) {
                    var b = a.replace(_, aa);
                    return function (a) {
                        var c = "undefined" != typeof a.getAttributeNode &amp;&amp; a.getAttributeNode("id");
                        return c &amp;&amp; c.value === b
                    }
                }), d.find.TAG = c.getElementsByTagName ? function (a, b) {
                    return "undefined" != typeof b.getElementsByTagName ? b.getElementsByTagName(a) : c.qsa ? b.querySelectorAll(a) : void 0
                } : function (a, b) {
                    var c,
                        d = [],
                        e = 0,
                        f = b.getElementsByTagName(a);
                    if ("*" === a) {
                        while (c = f[e++])
                            1 === c.nodeType &amp;&amp; d.push(c);
                        return d
                    }
                    return f
                }, d.find.CLASS = c.getElementsByClassName &amp;&amp; function (a, b) {
                    return "undefined" != typeof b.getElementsByClassName &amp;&amp; p ? b.getElementsByClassName(a) : void 0
                }, r = [], q = [], (c.qsa = Y.test(n.querySelectorAll)) &amp;&amp; (ja(function (a) {
                    o.appendChild(a).innerHTML = "&lt;a id='" + u + "'&gt;&lt;/a&gt;&lt;select id='" + u + "-\r\\' msallowcapture=''&gt;&lt;option selected=''&gt;&lt;/option&gt;&lt;/select&gt;",
                        a.querySelectorAll("[msallowcapture^='']").length &amp;&amp; q.push("[*^$]=" + K + "*(?:''|\"\")"),
                        a.querySelectorAll("[selected]").length || q.push("\\[" + K + "*(?:value|" + J + ")"),
                        a.querySelectorAll("[id~=" + u + "-]").length || q.push("~="),
                        a.querySelectorAll(":checked").length || q.push(":checked"),
                        a.querySelectorAll("a#" + u + "+*").length || q.push(".#.+[+~]")
                }), ja(function (a) {
                    a.innerHTML = "&lt;a href='' disabled='disabled'&gt;&lt;/a&gt;&lt;select disabled='disabled'&gt;&lt;option/&gt;&lt;/select&gt;";
                    var b = n.createElement("input");
                    b.setAttribute("type", "hidden"),
                        a.appendChild(b).setAttribute("name", "D"),
                        a.querySelectorAll("[name=d]").length &amp;&amp; q.push("name" + K + "*[*^$|!~]?="),
                        2 !== a.querySelectorAll(":enabled").length &amp;&amp; q.push(":enabled", ":disabled"),
                        o.appendChild(a).disabled = !0,
                        2 !== a.querySelectorAll(":disabled").length &amp;&amp; q.push(":enabled", ":disabled"),
                        a.querySelectorAll("*,:x"),
                        q.push(",.*:")
                })), (c.matchesSelector = Y.test(s = o.matches || o.webkitMatchesSelector || o.mozMatchesSelector || o.oMatchesSelector || o.msMatchesSelector)) &amp;&amp; ja(function (a) {
                    c.disconnectedMatch = s.call(a, "*"),
                        s.call(a, "[s!='']:x"),
                        r.push("!=", N)
                }), q = q.length &amp;&amp; new RegExp(q.join("|")), r = r.length &amp;&amp; new RegExp(r.join("|")), b = Y.test(o.compareDocumentPosition), t = b || Y.test(o.contains) ? function (a, b) {
                    var c = 9 === a.nodeType ? a.documentElement : a,
                        d = b &amp;&amp; b.parentNode;
                    return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition &amp;&amp; 16 &amp; a.compareDocumentPosition(d)))
                } : function (a, b) {
                    if (b)
                        while (b = b.parentNode)
                            if (b === a)
                                return !0;
                    return !1
                }, B = b ? function (a, b) {
                    if (a === b)
                        return l = !0, 0;
                    var d = !a.compareDocumentPosition - !b.compareDocumentPosition;
                    return d ? d : (d = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1, 1 &amp; d || !c.sortDetached &amp;&amp; b.compareDocumentPosition(a) === d ? a === n || a.ownerDocument === v &amp;&amp; t(v, a) ? -1 : b === n || b.ownerDocument === v &amp;&amp; t(v, b) ? 1 : k ? I(k, a) - I(k, b) : 0 : 4 &amp; d ? -1 : 1)
                } : function (a, b) {
                    if (a === b)
                        return l = !0, 0;
                    var c,
                        d = 0,
                        e = a.parentNode,
                        f = b.parentNode,
                        g = [
                            a
                        ],
                        h = [
                            b
                        ];
                    if (!e || !f)
                        return a === n ? -1 : b === n ? 1 : e ? -1 : f ? 1 : k ? I(k, a) - I(k, b) : 0;
                    if (e === f)
                        return la(a, b);
                    c = a;
                    while (c = c.parentNode)
                        g.unshift(c);
                    c = b;
                    while (c = c.parentNode)
                        h.unshift(c);
                    while (g[d] === h[d])
                        d++;
                    return d ? la(g[d], h[d]) : g[d] === v ? -1 : h[d] === v ? 1 : 0
                }, n) : n
            },
            ga.matches = function (a, b) {
                return ga(a, null, null, b)
            },
            ga.matchesSelector = function (a, b) {
                if ((a.ownerDocument || a) !== n &amp;&amp; m(a), b = b.replace(S, "='$1']"), c.matchesSelector &amp;&amp; p &amp;&amp; !A[b + " "] &amp;&amp; (!r || !r.test(b)) &amp;&amp; (!q || !q.test(b)))
                    try {
                        var d = s.call(a, b);
                        if (d || c.disconnectedMatch || a.document &amp;&amp; 11 !== a.document.nodeType)
                            return d
                    }
                    catch (e) { }
                return ga(b, n, null, [
                    a
                ]).length &gt; 0
            },
            ga.contains = function (a, b) {
                return (a.ownerDocument || a) !== n &amp;&amp; m(a), t(a, b)
            },
            ga.attr = function (a, b) {
                (a.ownerDocument || a) !== n &amp;&amp; m(a);
                var e = d.attrHandle[b.toLowerCase()],
                    f = e &amp;&amp; C.call(d.attrHandle, b.toLowerCase()) ? e(a, b, !p) : void 0;
                return void 0 !== f ? f : c.attributes || !p ? a.getAttribute(b) : (f = a.getAttributeNode(b)) &amp;&amp; f.specified ? f.value : null
            },
            ga.escape = function (a) {
                return (a + "").replace(ba, ca)
            },
            ga.error = function (a) {
                throw new Error("Syntax error, unrecognized expression: " + a);
            },
            ga.uniqueSort = function (a) {
                var b,
                    d = [],
                    e = 0,
                    f = 0;
                if (l = !c.detectDuplicates, k = !c.sortStable &amp;&amp; a.slice(0), a.sort(B), l) {
                    while (b = a[f++])
                        b === a[f] &amp;&amp; (e = d.push(f));
                    while (e--)
                        a.splice(d[e], 1)
                }
                return k = null, a
            },
            e = ga.getText = function (a) {
                var b,
                    c = "",
                    d = 0,
                    f = a.nodeType;
                if (f) {
                    if (1 === f || 9 === f || 11 === f) {
                        if ("string" == typeof a.textContent)
                            return a.textContent;
                        for (a = a.firstChild; a; a = a.nextSibling)
                            c += e(a)
                    }
                    else if (3 === f || 4 === f)
                        return a.nodeValue
                }
                else
                    while (b = a[d++])
                        c += e(b);
                return c
            },
            d = ga.selectors = {
                cacheLength: 50,
                createPseudo: ia,
                match: V,
                attrHandle: {},
                find: {},
                relative: {
                    "&gt;": {
                        dir: "parentNode",
                        first: !0
                    },
                    " ": { dir: "parentNode" },
                    "+": {
                        dir: "previousSibling",
                        first: !0
                    },
                    "~": { dir: "previousSibling" }
                },
                preFilter: {
                    ATTR: function (a) {
                        return a[1] = a[1].replace(_, aa), a[3] = (a[3] || a[4] || a[5] || "").replace(_, aa), "~=" === a[2] &amp;&amp; (a[3] = " " + a[3] + " "), a.slice(0, 4)
                    },
                    CHILD: function (a) {
                        return a[1] = a[1].toLowerCase(), "nth" === a[1].slice(0, 3) ? (a[3] || ga.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])), a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] &amp;&amp; ga.error(a[0]), a
                    },
                    PSEUDO: function (a) {
                        var b,
                            c = !a[6] &amp;&amp; a[2];
                        return V.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || "" : c &amp;&amp; T.test(c) &amp;&amp; (b = g(c, !0)) &amp;&amp; (b = c.indexOf(")", c.length - b) - c.length) &amp;&amp; (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3))
                    }
                },
                filter: {
                    TAG: function (a) {
                        var b = a.replace(_, aa).toLowerCase();
                        return "*" === a ? function () {
                            return !0
                        } : function (a) {
                            return a.nodeName &amp;&amp; a.nodeName.toLowerCase() === b
                        }
                    },
                    CLASS: function (a) {
                        var b = y[a + " "];
                        return b || (b = new RegExp("(^|" + K + ")" + a + "(" + K + "|$)")) &amp;&amp; y(a, function (a) {
                            return b.test("string" == typeof a.className &amp;&amp; a.className || "undefined" != typeof a.getAttribute &amp;&amp; a.getAttribute("class") || "")
                        })
                    },
                    ATTR: function (a, b, c) {
                        return function (d) {
                            var e = ga.attr(d, a);
                            return null == e ? "!=" === b : b ? (e += "", "=" === b ? e === c : "!=" === b ? e !== c : "^=" === b ? c &amp;&amp; 0 === e.indexOf(c) : "*=" === b ? c &amp;&amp; e.indexOf(c) &gt; -1 : "$=" === b ? c &amp;&amp; e.slice(-c.length) === c : "~=" === b ? (" " + e.replace(O, " ") + " ").indexOf(c) &gt; -1 : "|=" === b ? e === c || e.slice(0, c.length + 1) === c + "-" : !1) : !0
                        }
                    },
                    CHILD: function (a, b, c, d, e) {
                        var f = "nth" !== a.slice(0, 3),
                            g = "last" !== a.slice(-4),
                            h = "of-type" === b;
                        return 1 === d &amp;&amp; 0 === e ? function (a) {
                            return !!a.parentNode
                        } : function (b, c, i) {
                            var j,
                                k,
                                l,
                                m,
                                n,
                                o,
                                p = f !== g ? "nextSibling" : "previousSibling",
                                q = b.parentNode,
                                r = h &amp;&amp; b.nodeName.toLowerCase(),
                                s = !i &amp;&amp; !h,
                                t = !1;
                            if (q) {
                                if (f) {
                                    while (p) {
                                        m = b;
                                        while (m = m[p])
                                            if (h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType)
                                                return !1;
                                        o = p = "only" === a &amp;&amp; !o &amp;&amp; "nextSibling"
                                    }
                                    return !0
                                }
                                if (o = [
                                    g ? q.firstChild : q.lastChild
                                ], g &amp;&amp; s) {
                                    m = q,
                                        l = m[u] || (m[u] = {}),
                                        k = l[m.uniqueID] || (l[m.uniqueID] = {}),
                                        j = k[a] || [],
                                        n = j[0] === w &amp;&amp; j[1],
                                        t = n &amp;&amp; j[2],
                                        m = n &amp;&amp; q.childNodes[n];
                                    while (m = ++n &amp;&amp; m &amp;&amp; m[p] || (t = n = 0) || o.pop())
                                        if (1 === m.nodeType &amp;&amp; ++t &amp;&amp; m === b) {
                                            k[a] = [
                                                w,
                                                n,
                                                t
                                            ];
                                            break
                                        }
                                }
                                else if (s &amp;&amp; (m = b, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w &amp;&amp; j[1], t = n), t === !1)
                                    while (m = ++n &amp;&amp; m &amp;&amp; m[p] || (t = n = 0) || o.pop())
                                        if ((h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) &amp;&amp; ++t &amp;&amp; (s &amp;&amp; (l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), k[a] = [
                                            w,
                                            t
                                        ]), m === b))
                                            break;
                                return t -= e, t === d || t % d === 0 &amp;&amp; t / d &gt;= 0
                            }
                        }
                    },
                    PSEUDO: function (a, b) {
                        var c,
                            e = d.pseudos[a] || d.setFilters[a.toLowerCase()] || ga.error("unsupported pseudo: " + a);
                        return e[u] ? e(b) : e.length &gt; 1 ? (c = [
                            a,
                            a,
                            "",
                            b
                        ], d.setFilters.hasOwnProperty(a.toLowerCase()) ? ia(function (a, c) {
                            var d,
                                f = e(a, b),
                                g = f.length;
                            while (g--)
                                d = I(a, f[g]),
                                    a[d] = !(c[d] = f[g])
                        }) : function (a) {
                                return e(a, 0, c)
                            }) : e
                    }
                },
                pseudos: {
                    not: ia(function (a) {
                        var b = [],
                            c = [],
                            d = h(a.replace(P, "$1"));
                        return d[u] ? ia(function (a, b, c, e) {
                            var f,
                                g = d(a, null, e, []),
                                h = a.length;
                            while (h--)
                                (f = g[h]) &amp;&amp; (a[h] = !(b[h] = f))
                        }) : function (a, e, f) {
                            return b[0] = a, d(b, null, f, c), b[0] = null, !c.pop()
                        }
                    }),
                    has: ia(function (a) {
                        return function (b) {
                            return ga(a, b).length &gt; 0
                        }
                    }),
                    contains: ia(function (a) {
                        return a = a.replace(_, aa), function (b) {
                            return (b.textContent || b.innerText || e(b)).indexOf(a) &gt; -1
                        }
                    }),
                    lang: ia(function (a) {
                        return U.test(a || "") || ga.error("unsupported lang: " + a), a = a.replace(_, aa).toLowerCase(), function (b) {
                            var c;
                            do
                                if (c = p ? b.lang : b.getAttribute("xml:lang") || b.getAttribute("lang"))
                                    return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + "-");
                            while ((b = b.parentNode) &amp;&amp; 1 === b.nodeType);
                            return !1
                        }
                    }),
                    target: function (b) {
                        var c = a.location &amp;&amp; a.location.hash;
                        return c &amp;&amp; c.slice(1) === b.id
                    },
                    root: function (a) {
                        return a === o
                    },
                    focus: function (a) {
                        return a === n.activeElement &amp;&amp; (!n.hasFocus || n.hasFocus()) &amp;&amp; !!(a.type || a.href || ~a.tabIndex)
                    },
                    enabled: oa(!1),
                    disabled: oa(!0),
                    checked: function (a) {
                        var b = a.nodeName.toLowerCase();
                        return "input" === b &amp;&amp; !!a.checked || "option" === b &amp;&amp; !!a.selected
                    },
                    selected: function (a) {
                        return a.parentNode &amp;&amp; a.parentNode.selectedIndex, a.selected === !0
                    },
                    empty: function (a) {
                        for (a = a.firstChild; a; a = a.nextSibling)
                            if (a.nodeType &lt; 6)
                                return !1;
                        return !0
                    },
                    parent: function (a) {
                        return !d.pseudos.empty(a)
                    },
                    header: function (a) {
                        return X.test(a.nodeName)
                    },
                    input: function (a) {
                        return W.test(a.nodeName)
                    },
                    button: function (a) {
                        var b = a.nodeName.toLowerCase();
                        return "input" === b &amp;&amp; "button" === a.type || "button" === b
                    },
                    text: function (a) {
                        var b;
                        return "input" === a.nodeName.toLowerCase() &amp;&amp; "text" === a.type &amp;&amp; (null == (b = a.getAttribute("type")) || "text" === b.toLowerCase())
                    },
                    first: pa(function () {
                        return [0]
                    }),
                    last: pa(function (a, b) {
                        return [
                            b - 1
                        ]
                    }),
                    eq: pa(function (a, b, c) {
                        return [
                            0 &gt; c ? c + b : c
                        ]
                    }),
                    even: pa(function (a, b) {
                        for (var c = 0; b &gt; c; c += 2)
                            a.push(c);
                        return a
                    }),
                    odd: pa(function (a, b) {
                        for (var c = 1; b &gt; c; c += 2)
                            a.push(c);
                        return a
                    }),
                    lt: pa(function (a, b, c) {
                        for (var d = 0 &gt; c ? c + b : c; --d &gt;= 0;)
                            a.push(d);
                        return a
                    }),
                    gt: pa(function (a, b, c) {
                        for (var d = 0 &gt; c ? c + b : c; ++d &lt; b;)
                            a.push(d);
                        return a
                    })
                }
            },
            d.pseudos.nth = d.pseudos.eq;
        for (b in {
            radio: !0,
            checkbox: !0,
            file: !0,
            password: !0,
            image: !0
        })
            d.pseudos[b] = ma(b);
        for (b in {
            submit: !0,
            reset: !0
        })
            d.pseudos[b] = na(b);
        function ra() { }
        ra.prototype = d.filters = d.pseudos,
            d.setFilters = new ra,
            g = ga.tokenize = function (a, b) {
                var c,
                    e,
                    f,
                    g,
                    h,
                    i,
                    j,
                    k = z[a + " "];
                if (k)
                    return b ? 0 : k.slice(0);
                h = a,
                    i = [],
                    j = d.preFilter;
                while (h) {
                    c &amp;&amp; !(e = Q.exec(h)) || (e &amp;&amp; (h = h.slice(e[0].length) || h), i.push(f = [])),
                        c = !1,
                        (e = R.exec(h)) &amp;&amp; (c = e.shift(), f.push({
                            value: c,
                            type: e[0].replace(P, " ")
                        }), h = h.slice(c.length));
                    for (g in d.filter)
                        !(e = V[g].exec(h)) || j[g] &amp;&amp; !(e = j[g](e)) || (c = e.shift(), f.push({
                            value: c,
                            type: g,
                            matches: e
                        }), h = h.slice(c.length));
                    if (!c)
                        break
                }
                return b ? h.length : h ? ga.error(a) : z(a, i).slice(0)
            };
        function sa(a) {
            for (var b = 0, c = a.length, d = ""; c &gt; b; b++)
                d += a[b].value;
            return d
        }
        function ta(a, b, c) {
            var d = b.dir,
                e = b.next,
                f = e || d,
                g = c &amp;&amp; "parentNode" === f,
                h = x++;
            return b.first ? function (b, c, e) {
                while (b = b[d])
                    if (1 === b.nodeType || g)
                        return a(b, c, e)
            } : function (b, c, i) {
                var j,
                    k,
                    l,
                    m = [
                        w,
                        h
                    ];
                if (i) {
                    while (b = b[d])
                        if ((1 === b.nodeType || g) &amp;&amp; a(b, c, i))
                            return !0
                }
                else
                    while (b = b[d])
                        if (1 === b.nodeType || g)
                            if (l = b[u] || (b[u] = {}), k = l[b.uniqueID] || (l[b.uniqueID] = {}), e &amp;&amp; e === b.nodeName.toLowerCase())
                                b = b[d] || b;
                            else {
                                if ((j = k[f]) &amp;&amp; j[0] === w &amp;&amp; j[1] === h)
                                    return m[2] = j[2];
                                if (k[f] = m, m[2] = a(b, c, i))
                                    return !0
                            }
            }
        }
        function ua(a) {
            return a.length &gt; 1 ? function (b, c, d) {
                var e = a.length;
                while (e--)
                    if (!a[e](b, c, d))
                        return !1;
                return !0
            } : a[0]
        }
        function va(a, b, c) {
            for (var d = 0, e = b.length; e &gt; d; d++)
                ga(a, b[d], c);
            return c
        }
        function wa(a, b, c, d, e) {
            for (var f, g = [], h = 0, i = a.length, j = null != b; i &gt; h; h++)
                (f = a[h]) &amp;&amp; (c &amp;&amp; !c(f, d, e) || (g.push(f), j &amp;&amp; b.push(h)));
            return g
        }
        function xa(a, b, c, d, e, f) {
            return d &amp;&amp; !d[u] &amp;&amp; (d = xa(d)), e &amp;&amp; !e[u] &amp;&amp; (e = xa(e, f)), ia(function (f, g, h, i) {
                var j,
                    k,
                    l,
                    m = [],
                    n = [],
                    o = g.length,
                    p = f || va(b || "*", h.nodeType ? [
                        h
                    ] : h, []),
                    q = !a || !f &amp;&amp; b ? p : wa(p, m, a, h, i),
                    r = c ? e || (f ? a : o || d) ? [] : g : q;
                if (c &amp;&amp; c(q, r, h, i), d) {
                    j = wa(r, n),
                        d(j, [], h, i),
                        k = j.length;
                    while (k--)
                        (l = j[k]) &amp;&amp; (r[n[k]] = !(q[n[k]] = l))
                }
                if (f) {
                    if (e || a) {
                        if (e) {
                            j = [],
                                k = r.length;
                            while (k--)
                                (l = r[k]) &amp;&amp; j.push(q[k] = l);
                            e(null, r = [], j, i)
                        }
                        k = r.length;
                        while (k--)
                            (l = r[k]) &amp;&amp; (j = e ? I(f, l) : m[k]) &gt; -1 &amp;&amp; (f[j] = !(g[j] = l))
                    }
                }
                else
                    r = wa(r === g ? r.splice(o, r.length) : r),
                        e ? e(null, g, r, i) : G.apply(g, r)
            })
        }
        function ya(a) {
            for (var b, c, e, f = a.length, g = d.relative[a[0].type], h = g || d.relative[" "], i = g ? 1 : 0, k = ta(function (a) {
                return a === b
            }, h, !0), l = ta(function (a) {
                return I(b, a) &gt; -1
            }, h, !0), m = [
                function (a, c, d) {
                    var e = !g &amp;&amp; (d || c !== j) || ((b = c).nodeType ? k(a, c, d) : l(a, c, d));
                    return b = null, e
                }
            ]; f &gt; i; i++)
                if (c = d.relative[a[i].type])
                    m = [
                        ta(ua(m), c)
                    ];
                else {
                    if (c = d.filter[a[i].type].apply(null, a[i].matches), c[u]) {
                        for (e = ++i; f &gt; e; e++)
                            if (d.relative[a[e].type])
                                break;
                        return xa(i &gt; 1 &amp;&amp; ua(m), i &gt; 1 &amp;&amp; sa(a.slice(0, i - 1).concat({ value: " " === a[i - 2].type ? "*" : "" })).replace(P, "$1"), c, e &gt; i &amp;&amp; ya(a.slice(i, e)), f &gt; e &amp;&amp; ya(a = a.slice(e)), f &gt; e &amp;&amp; sa(a))
                    }
                    m.push(c)
                }
            return ua(m)
        }
        function za(a, b) {
            var c = b.length &gt; 0,
                e = a.length &gt; 0,
                f = function (f, g, h, i, k) {
                    var l,
                        o,
                        q,
                        r = 0,
                        s = "0",
                        t = f &amp;&amp; [],
                        u = [],
                        v = j,
                        x = f || e &amp;&amp; d.find.TAG("*", k),
                        y = w += null == v ? 1 : Math.random() || .1,
                        z = x.length;
                    for (k &amp;&amp; (j = g === n || g || k); s !== z &amp;&amp; null != (l = x[s]); s++) {
                        if (e &amp;&amp; l) {
                            o = 0,
                                g || l.ownerDocument === n || (m(l), h = !p);
                            while (q = a[o++])
                                if (q(l, g || n, h)) {
                                    i.push(l);
                                    break
                                }
                            k &amp;&amp; (w = y)
                        }
                        c &amp;&amp; ((l = !q &amp;&amp; l) &amp;&amp; r--, f &amp;&amp; t.push(l))
                    }
                    if (r += s, c &amp;&amp; s !== r) {
                        o = 0;
                        while (q = b[o++])
                            q(t, u, g, h);
                        if (f) {
                            if (r &gt; 0)
                                while (s--)
                                    t[s] || u[s] || (u[s] = E.call(i));
                            u = wa(u)
                        }
                        G.apply(i, u),
                            k &amp;&amp; !f &amp;&amp; u.length &gt; 0 &amp;&amp; r + b.length &gt; 1 &amp;&amp; ga.uniqueSort(i)
                    }
                    return k &amp;&amp; (w = y, j = v), t
                };
            return c ? ia(f) : f
        }
        return h = ga.compile = function (a, b) {
            var c,
                d = [],
                e = [],
                f = A[a + " "];
            if (!f) {
                b || (b = g(a)),
                    c = b.length;
                while (c--)
                    f = ya(b[c]),
                        f[u] ? d.push(f) : e.push(f);
                f = A(a, za(e, d)),
                    f.selector = a
            }
            return f
        }, i = ga.select = function (a, b, e, f) {
            var i,
                j,
                k,
                l,
                m,
                n = "function" == typeof a &amp;&amp; a,
                o = !f &amp;&amp; g(a = n.selector || a);
            if (e = e || [], 1 === o.length) {
                if (j = o[0] = o[0].slice(0), j.length &gt; 2 &amp;&amp; "ID" === (k = j[0]).type &amp;&amp; c.getById &amp;&amp; 9 === b.nodeType &amp;&amp; p &amp;&amp; d.relative[j[1].type]) {
                    if (b = (d.find.ID(k.matches[0].replace(_, aa), b) || [])[0], !b)
                        return e;
                    n &amp;&amp; (b = b.parentNode),
                        a = a.slice(j.shift().value.length)
                }
                i = V.needsContext.test(a) ? 0 : j.length;
                while (i--) {
                    if (k = j[i], d.relative[l = k.type])
                        break;
                    if ((m = d.find[l]) &amp;&amp; (f = m(k.matches[0].replace(_, aa), $.test(j[0].type) &amp;&amp; qa(b.parentNode) || b))) {
                        if (j.splice(i, 1), a = f.length &amp;&amp; sa(j), !a)
                            return G.apply(e, f), e;
                        break
                    }
                }
            }
            return (n || h(a, o))(f, b, !p, e, !b || $.test(a) &amp;&amp; qa(b.parentNode) || b), e
        }, c.sortStable = u.split("").sort(B).join("") === u, c.detectDuplicates = !!l, m(), c.sortDetached = ja(function (a) {
            return 1 &amp; a.compareDocumentPosition(n.createElement("fieldset"))
        }), ja(function (a) {
            return a.innerHTML = "&lt;a href='#'&gt;&lt;/a&gt;", "#" === a.firstChild.getAttribute("href")
        }) || ka("type|href|height|width", function (a, b, c) {
            return c ? void 0 : a.getAttribute(b, "type" === b.toLowerCase() ? 1 : 2)
        }), c.attributes &amp;&amp; ja(function (a) {
            return a.innerHTML = "&lt;input/&gt;", a.firstChild.setAttribute("value", ""), "" === a.firstChild.getAttribute("value")
        }) || ka("value", function (a, b, c) {
            return c || "input" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue
        }), ja(function (a) {
            return null == a.getAttribute("disabled")
        }) || ka(J, function (a, b, c) {
            var d;
            return c ? void 0 : a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) &amp;&amp; d.specified ? d.value : null
        }), ga
    }(a);
    r.find = x,
        r.expr = x.selectors,
        r.expr[":"] = r.expr.pseudos,
        r.uniqueSort = r.unique = x.uniqueSort,
        r.text = x.getText,
        r.isXMLDoc = x.isXML,
        r.contains = x.contains,
        r.escapeSelector = x.escape;
    var y = function (a, b, c) {
        var d = [],
            e = void 0 !== c;
        while ((a = a[b]) &amp;&amp; 9 !== a.nodeType)
            if (1 === a.nodeType) {
                if (e &amp;&amp; r(a).is(c))
                    break;
                d.push(a)
            }
        return d
    },
        z = function (a, b) {
            for (var c = []; a; a = a.nextSibling)
                1 === a.nodeType &amp;&amp; a !== b &amp;&amp; c.push(a);
            return c
        },
        A = r.expr.match.needsContext,
        B = /^&lt;([a-z][^\/\0&gt;:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?&gt;(?:&lt;\/\1&gt;|)$/i,
        C = /^.[^:#\[\.,]*$/;
    function D(a, b, c) {
        if (r.isFunction(b))
            return r.grep(a, function (a, d) {
                return !!b.call(a, d, a) !== c
            });
        if (b.nodeType)
            return r.grep(a, function (a) {
                return a === b !== c
            });
        if ("string" == typeof b) {
            if (C.test(b))
                return r.filter(b, a, c);
            b = r.filter(b, a)
        }
        return r.grep(a, function (a) {
            return i.call(b, a) &gt; -1 !== c &amp;&amp; 1 === a.nodeType
        })
    }
    r.filter = function (a, b, c) {
        var d = b[0];
        return c &amp;&amp; (a = ":not(" + a + ")"), 1 === b.length &amp;&amp; 1 === d.nodeType ? r.find.matchesSelector(d, a) ? [
            d
        ] : [] : r.find.matches(a, r.grep(b, function (a) {
            return 1 === a.nodeType
        }))
    },
        r.fn.extend({
            find: function (a) {
                var b,
                    c,
                    d = this.length,
                    e = this;
                if ("string" != typeof a)
                    return this.pushStack(r(a).filter(function () {
                        for (b = 0; d &gt; b; b++)
                            if (r.contains(e[b], this))
                                return !0
                    }));
                for (c = this.pushStack([]), b = 0; d &gt; b; b++)
                    r.find(a, e[b], c);
                return d &gt; 1 ? r.uniqueSort(c) : c
            },
            filter: function (a) {
                return this.pushStack(D(this, a || [], !1))
            },
            not: function (a) {
                return this.pushStack(D(this, a || [], !0))
            },
            is: function (a) {
                return !!D(this, "string" == typeof a &amp;&amp; A.test(a) ? r(a) : a || [], !1).length
            }
        });
    var E,
        F = /^(?:\s*(&lt;[\w\W]+&gt;)[^&gt;]*|#([\w-]+))$/,
        G = r.fn.init = function (a, b, c) {
            var e,
                f;
            if (!a)
                return this;
            if (c = c || E, "string" == typeof a) {
                if (e = "&lt;" === a[0] &amp;&amp; "&gt;" === a[a.length - 1] &amp;&amp; a.length &gt;= 3 ? [
                    null,
                    a,
                    null
                ] : F.exec(a), !e || !e[1] &amp;&amp; b)
                    return !b || b.jquery ? (b || c).find(a) : this.constructor(b).find(a);
                if (e[1]) {
                    if (b = b instanceof r ? b[0] : b, r.merge(this, r.parseHTML(e[1], b &amp;&amp; b.nodeType ? b.ownerDocument || b : d, !0)), B.test(e[1]) &amp;&amp; r.isPlainObject(b))
                        for (e in b)
                            r.isFunction(this[e]) ? this[e](b[e]) : this.attr(e, b[e]);
                    return this
                }
                return f = d.getElementById(e[2]), f &amp;&amp; (this[0] = f, this.length = 1), this
            }
            return a.nodeType ? (this[0] = a, this.length = 1, this) : r.isFunction(a) ? void 0 !== c.ready ? c.ready(a) : a(r) : r.makeArray(a, this)
        };
    G.prototype = r.fn,
        E = r(d);
    var H = /^(?:parents|prev(?:Until|All))/,
        I = {
            children: !0,
            contents: !0,
            next: !0,
            prev: !0
        };
    r.fn.extend({
        has: function (a) {
            var b = r(a, this),
                c = b.length;
            return this.filter(function () {
                for (var a = 0; c &gt; a; a++)
                    if (r.contains(this, b[a]))
                        return !0
            })
        },
        closest: function (a, b) {
            var c,
                d = 0,
                e = this.length,
                f = [],
                g = "string" != typeof a &amp;&amp; r(a);
            if (!A.test(a))
                for (; e &gt; d; d++)
                    for (c = this[d]; c &amp;&amp; c !== b; c = c.parentNode)
                        if (c.nodeType &lt; 11 &amp;&amp; (g ? g.index(c) &gt; -1 : 1 === c.nodeType &amp;&amp; r.find.matchesSelector(c, a))) {
                            f.push(c);
                            break
                        }
            return this.pushStack(f.length &gt; 1 ? r.uniqueSort(f) : f)
        },
        index: function (a) {
            return a ? "string" == typeof a ? i.call(r(a), this[0]) : i.call(this, a.jquery ? a[0] : a) : this[0] &amp;&amp; this[0].parentNode ? this.first().prevAll().length : -1
        },
        add: function (a, b) {
            return this.pushStack(r.uniqueSort(r.merge(this.get(), r(a, b))))
        },
        addBack: function (a) {
            return this.add(null == a ? this.prevObject : this.prevObject.filter(a))
        }
    });
    function J(a, b) {
        while ((a = a[b]) &amp;&amp; 1 !== a.nodeType)
            ;
        return a
    }
    r.each({
        parent: function (a) {
            var b = a.parentNode;
            return b &amp;&amp; 11 !== b.nodeType ? b : null
        },
        parents: function (a) {
            return y(a, "parentNode")
        },
        parentsUntil: function (a, b, c) {
            return y(a, "parentNode", c)
        },
        next: function (a) {
            return J(a, "nextSibling")
        },
        prev: function (a) {
            return J(a, "previousSibling")
        },
        nextAll: function (a) {
            return y(a, "nextSibling")
        },
        prevAll: function (a) {
            return y(a, "previousSibling")
        },
        nextUntil: function (a, b, c) {
            return y(a, "nextSibling", c)
        },
        prevUntil: function (a, b, c) {
            return y(a, "previousSibling", c)
        },
        siblings: function (a) {
            return z((a.parentNode || {}).firstChild, a)
        },
        children: function (a) {
            return z(a.firstChild)
        },
        contents: function (a) {
            return a.contentDocument || r.merge([], a.childNodes)
        }
    }, function (a, b) {
        r.fn[a] = function (c, d) {
            var e = r.map(this, b, c);
            return "Until" !== a.slice(-5) &amp;&amp; (d = c), d &amp;&amp; "string" == typeof d &amp;&amp; (e = r.filter(d, e)), this.length &gt; 1 &amp;&amp; (I[a] || r.uniqueSort(e), H.test(a) &amp;&amp; e.reverse()), this.pushStack(e)
        }
    });
    var K = /\S+/g;
    function L(a) {
        var b = {};
        return r.each(a.match(K) || [], function (a, c) {
            b[c] = !0
        }), b
    }
    r.Callbacks = function (a) {
        a = "string" == typeof a ? L(a) : r.extend({}, a);
        var b,
            c,
            d,
            e,
            f = [],
            g = [],
            h = -1,
            i = function () {
                for (e = a.once, d = b = !0; g.length; h = -1) {
                    c = g.shift();
                    while (++h &lt; f.length)
                        f[h].apply(c[0], c[1]) === !1 &amp;&amp; a.stopOnFalse &amp;&amp; (h = f.length, c = !1)
                }
                a.memory || (c = !1),
                    b = !1,
                    e &amp;&amp; (f = c ? [] : "")
            },
            j = {
                add: function () {
                    return f &amp;&amp; (c &amp;&amp; !b &amp;&amp; (h = f.length - 1, g.push(c)), function d(b) {
                        r.each(b, function (b, c) {
                            r.isFunction(c) ? a.unique &amp;&amp; j.has(c) || f.push(c) : c &amp;&amp; c.length &amp;&amp; "string" !== r.type(c) &amp;&amp; d(c)
                        })
                    }(arguments), c &amp;&amp; !b &amp;&amp; i()), this
                },
                remove: function () {
                    return r.each(arguments, function (a, b) {
                        var c;
                        while ((c = r.inArray(b, f, c)) &gt; -1)
                            f.splice(c, 1),
                                h &gt;= c &amp;&amp; h--
                    }), this
                },
                has: function (a) {
                    return a ? r.inArray(a, f) &gt; -1 : f.length &gt; 0
                },
                empty: function () {
                    return f &amp;&amp; (f = []), this
                },
                disable: function () {
                    return e = g = [], f = c = "", this
                },
                disabled: function () {
                    return !f
                },
                lock: function () {
                    return e = g = [], c || b || (f = c = ""), this
                },
                locked: function () {
                    return !!e
                },
                fireWith: function (a, c) {
                    return e || (c = c || [], c = [
                        a,
                        c.slice ? c.slice() : c
                    ], g.push(c), b || i()), this
                },
                fire: function () {
                    return j.fireWith(this, arguments), this
                },
                fired: function () {
                    return !!d
                }
            };
        return j
    };
    function M(a) {
        return a
    }
    function N(a) {
        throw a;
    }
    function O(a, b, c) {
        var d;
        try {
            a &amp;&amp; r.isFunction(d = a.promise) ? d.call(a).done(b).fail(c) : a &amp;&amp; r.isFunction(d = a.then) ? d.call(a, b, c) : b.call(void 0, a)
        }
        catch (a) {
            c.call(void 0, a)
        }
    }
    r.extend({
        Deferred: function (b) {
            var c = [
                [
                    "notify",
                    "progress",
                    r.Callbacks("memory"),
                    r.Callbacks("memory"),
                    2
                ],
                [
                    "resolve",
                    "done",
                    r.Callbacks("once memory"),
                    r.Callbacks("once memory"),
                    0,
                    "resolved"
                ],
                [
                    "reject",
                    "fail",
                    r.Callbacks("once memory"),
                    r.Callbacks("once memory"),
                    1,
                    "rejected"
                ]
            ],
                d = "pending",
                e = {
                    state: function () {
                        return d
                    },
                    always: function () {
                        return f.done(arguments).fail(arguments), this
                    },
                    catch: function (a) {
                        return e.then(null, a)
                    },
                    pipe: function () {
                        var a = arguments;
                        return r.Deferred(function (b) {
                            r.each(c, function (c, d) {
                                var e = r.isFunction(a[d[4]]) &amp;&amp; a[d[4]];
                                f[d[1]](function () {
                                    var a = e &amp;&amp; e.apply(this, arguments);
                                    a &amp;&amp; r.isFunction(a.promise) ? a.promise().progress(b.notify).done(b.resolve).fail(b.reject) : b[d[0] + "With"](this, e ? [
                                        a
                                    ] : arguments)
                                })
                            }),
                                a = null
                        }).promise()
                    },
                    then: function (b, d, e) {
                        var f = 0;
                        function g(b, c, d, e) {
                            return function () {
                                var h = this,
                                    i = arguments,
                                    j = function () {
                                        var a,
                                            j;
                                        if (!(f &gt; b)) {
                                            if (a = d.apply(h, i), a === c.promise())
                                                throw new TypeError("Thenable self-resolution");
                                            j = a &amp;&amp; ("object" == typeof a || "function" == typeof a) &amp;&amp; a.then,
                                                r.isFunction(j) ? e ? j.call(a, g(f, c, M, e), g(f, c, N, e)) : (f++, j.call(a, g(f, c, M, e), g(f, c, N, e), g(f, c, M, c.notifyWith))) : (d !== M &amp;&amp; (h = void 0, i = [
                                                    a
                                                ]), (e || c.resolveWith)(h, i))
                                        }
                                    },
                                    k = e ? j : function () {
                                        try {
                                            j()
                                        }
                                        catch (a) {
                                            r.Deferred.exceptionHook &amp;&amp; r.Deferred.exceptionHook(a, k.stackTrace),
                                                b + 1 &gt;= f &amp;&amp; (d !== N &amp;&amp; (h = void 0, i = [
                                                    a
                                                ]), c.rejectWith(h, i))
                                        }
                                    };
                                b ? k() : (r.Deferred.getStackHook &amp;&amp; (k.stackTrace = r.Deferred.getStackHook()), a.setTimeout(k))
                            }
                        }
                        return r.Deferred(function (a) {
                            c[0][3].add(g(0, a, r.isFunction(e) ? e : M, a.notifyWith)),
                                c[1][3].add(g(0, a, r.isFunction(b) ? b : M)),
                                c[2][3].add(g(0, a, r.isFunction(d) ? d : N))
                        }).promise()
                    },
                    promise: function (a) {
                        return null != a ? r.extend(a, e) : e
                    }
                },
                f = {};
            return r.each(c, function (a, b) {
                var g = b[2],
                    h = b[5];
                e[b[1]] = g.add,
                    h &amp;&amp; g.add(function () {
                        d = h
                    }, c[3 - a][2].disable, c[0][2].lock),
                    g.add(b[3].fire),
                    f[b[0]] = function () {
                        return f[b[0] + "With"](this === f ? void 0 : this, arguments), this
                    },
                    f[b[0] + "With"] = g.fireWith
            }), e.promise(f), b &amp;&amp; b.call(f, f), f
        },
        when: function (a) {
            var b = arguments.length,
                c = b,
                d = Array(c),
                e = f.call(arguments),
                g = r.Deferred(),
                h = function (a) {
                    return function (c) {
                        d[a] = this,
                            e[a] = arguments.length &gt; 1 ? f.call(arguments) : c,
                            --b || g.resolveWith(d, e)
                    }
                };
            if (1 &gt;= b &amp;&amp; (O(a, g.done(h(c)).resolve, g.reject), "pending" === g.state() || r.isFunction(e[c] &amp;&amp; e[c].then)))
                return g.then();
            while (c--)
                O(e[c], h(c), g.reject);
            return g.promise()
        }
    });
    var P = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
    r.Deferred.exceptionHook = function (b, c) {
        a.console &amp;&amp; a.console.warn &amp;&amp; b &amp;&amp; P.test(b.name) &amp;&amp; a.console.warn("jQuery.Deferred exception: " + b.message, b.stack, c)
    };
    var Q = r.Deferred();
    r.fn.ready = function (a) {
        return Q.then(a), this
    },
        r.extend({
            isReady: !1,
            readyWait: 1,
            holdReady: function (a) {
                a ? r.readyWait++ : r.ready(!0)
            },
            ready: function (a) {
                (a === !0 ? --r.readyWait : r.isReady) || (r.isReady = !0, a !== !0 &amp;&amp; --r.readyWait &gt; 0 || Q.resolveWith(d, [
                    r
                ]))
            }
        }),
        r.ready.then = Q.then;
    function R() {
        d.removeEventListener("DOMContentLoaded", R),
            a.removeEventListener("load", R),
            r.ready()
    }
    "complete" === d.readyState || "loading" !== d.readyState &amp;&amp; !d.documentElement.doScroll ? a.setTimeout(r.ready) : (d.addEventListener("DOMContentLoaded", R), a.addEventListener("load", R));
    var S = function (a, b, c, d, e, f, g) {
        var h = 0,
            i = a.length,
            j = null == c;
        if ("object" === r.type(c)) {
            e = !0;
            for (h in c)
                S(a, b, h, c[h], !0, f, g)
        }
        else if (void 0 !== d &amp;&amp; (e = !0, r.isFunction(d) || (g = !0), j &amp;&amp; (g ? (b.call(a, d), b = null) : (j = b, b = function (a, b, c) {
            return j.call(r(a), c)
        })), b))
            for (; i &gt; h; h++)
                b(a[h], c, g ? d : d.call(a[h], h, b(a[h], c)));
        return e ? a : j ? b.call(a) : i ? b(a[0], c) : f
    },
        T = function (a) {
            return 1 === a.nodeType || 9 === a.nodeType || !+a.nodeType
        };
    function U() {
        this.expando = r.expando + U.uid++
    }
    U.uid = 1,
        U.prototype = {
            cache: function (a) {
                var b = a[this.expando];
                return b || (b = {}, T(a) &amp;&amp; (a.nodeType ? a[this.expando] = b : Object.defineProperty(a, this.expando, {
                    value: b,
                    configurable: !0
                }))), b
            },
            set: function (a, b, c) {
                var d,
                    e = this.cache(a);
                if ("string" == typeof b)
                    e[r.camelCase(b)] = c;
                else
                    for (d in b)
                        e[r.camelCase(d)] = b[d];
                return e
            },
            get: function (a, b) {
                return void 0 === b ? this.cache(a) : a[this.expando] &amp;&amp; a[this.expando][r.camelCase(b)]
            },
            access: function (a, b, c) {
                return void 0 === b || b &amp;&amp; "string" == typeof b &amp;&amp; void 0 === c ? this.get(a, b) : (this.set(a, b, c), void 0 !== c ? c : b)
            },
            remove: function (a, b) {
                var c,
                    d = a[this.expando];
                if (void 0 !== d) {
                    if (void 0 !== b) {
                        r.isArray(b) ? b = b.map(r.camelCase) : (b = r.camelCase(b), b = b in d ? [
                            b
                        ] : b.match(K) || []),
                            c = b.length;
                        while (c--)
                            delete d[b[c]]
                    }
                    (void 0 === b || r.isEmptyObject(d)) &amp;&amp; (a.nodeType ? a[this.expando] = void 0 : delete a[this.expando])
                }
            },
            hasData: function (a) {
                var b = a[this.expando];
                return void 0 !== b &amp;&amp; !r.isEmptyObject(b)
            }
        };
    var V = new U,
        W = new U,
        X = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
        Y = /[A-Z]/g;
    function Z(a, b, c) {
        var d;
        if (void 0 === c &amp;&amp; 1 === a.nodeType)
            if (d = "data-" + b.replace(Y, "-$&amp;").toLowerCase(), c = a.getAttribute(d), "string" == typeof c) {
                try {
                    c = "true" === c ? !0 : "false" === c ? !1 : "null" === c ? null : +c + "" === c ? +c : X.test(c) ? JSON.parse(c) : c
                }
                catch (e) { }
                W.set(a, b, c)
            }
            else
                c = void 0;
        return c
    }
    r.extend({
        hasData: function (a) {
            return W.hasData(a) || V.hasData(a)
        },
        data: function (a, b, c) {
            return W.access(a, b, c)
        },
        removeData: function (a, b) {
            W.remove(a, b)
        },
        _data: function (a, b, c) {
            return V.access(a, b, c)
        },
        _removeData: function (a, b) {
            V.remove(a, b)
        }
    }),
        r.fn.extend({
            data: function (a, b) {
                var c,
                    d,
                    e,
                    f = this[0],
                    g = f &amp;&amp; f.attributes;
                if (void 0 === a) {
                    if (this.length &amp;&amp; (e = W.get(f), 1 === f.nodeType &amp;&amp; !V.get(f, "hasDataAttrs"))) {
                        c = g.length;
                        while (c--)
                            g[c] &amp;&amp; (d = g[c].name, 0 === d.indexOf("data-") &amp;&amp; (d = r.camelCase(d.slice(5)), Z(f, d, e[d])));
                        V.set(f, "hasDataAttrs", !0)
                    }
                    return e
                }
                return "object" == typeof a ? this.each(function () {
                    W.set(this, a)
                }) : S(this, function (b) {
                    var c;
                    if (f &amp;&amp; void 0 === b) {
                        if (c = W.get(f, a), void 0 !== c)
                            return c;
                        if (c = Z(f, a), void 0 !== c)
                            return c
                    }
                    else
                        this.each(function () {
                            W.set(this, a, b)
                        })
                }, null, b, arguments.length &gt; 1, null, !0)
            },
            removeData: function (a) {
                return this.each(function () {
                    W.remove(this, a)
                })
            }
        }),
        r.extend({
            queue: function (a, b, c) {
                var d;
                return a ? (b = (b || "fx") + "queue", d = V.get(a, b), c &amp;&amp; (!d || r.isArray(c) ? d = V.access(a, b, r.makeArray(c)) : d.push(c)), d || []) : void 0
            },
            dequeue: function (a, b) {
                b = b || "fx";
                var c = r.queue(a, b),
                    d = c.length,
                    e = c.shift(),
                    f = r._queueHooks(a, b),
                    g = function () {
                        r.dequeue(a, b)
                    };
                "inprogress" === e &amp;&amp; (e = c.shift(), d--),
                    e &amp;&amp; ("fx" === b &amp;&amp; c.unshift("inprogress"), delete f.stop, e.call(a, g, f)),
                    !d &amp;&amp; f &amp;&amp; f.empty.fire()
            },
            _queueHooks: function (a, b) {
                var c = b + "queueHooks";
                return V.get(a, c) || V.access(a, c, {
                    empty: r.Callbacks("once memory").add(function () {
                        V.remove(a, [
                            b + "queue",
                            c
                        ])
                    })
                })
            }
        }),
        r.fn.extend({
            queue: function (a, b) {
                var c = 2;
                return "string" != typeof a &amp;&amp; (b = a, a = "fx", c--), arguments.length &lt; c ? r.queue(this[0], a) : void 0 === b ? this : this.each(function () {
                    var c = r.queue(this, a, b);
                    r._queueHooks(this, a),
                        "fx" === a &amp;&amp; "inprogress" !== c[0] &amp;&amp; r.dequeue(this, a)
                })
            },
            dequeue: function (a) {
                return this.each(function () {
                    r.dequeue(this, a)
                })
            },
            clearQueue: function (a) {
                return this.queue(a || "fx", [])
            },
            promise: function (a, b) {
                var c,
                    d = 1,
                    e = r.Deferred(),
                    f = this,
                    g = this.length,
                    h = function () {
                        --d || e.resolveWith(f, [
                            f
                        ])
                    };
                "string" != typeof a &amp;&amp; (b = a, a = void 0),
                    a = a || "fx";
                while (g--)
                    c = V.get(f[g], a + "queueHooks"),
                        c &amp;&amp; c.empty &amp;&amp; (d++, c.empty.add(h));
                return h(), e.promise(b)
            }
        });
    var $ = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
        _ = new RegExp("^(?:([+-])=|)(" + $ + ")([a-z%]*)$", "i"),
        aa = ["Top", "Right", "Bottom", "Left"],
        ba = function (a, b) {
            return a = b || a, "none" === a.style.display || "" === a.style.display &amp;&amp; r.contains(a.ownerDocument, a) &amp;&amp; "none" === r.css(a, "display")
        },
        ca = function (a, b, c, d) {
            var e,
                f,
                g = {};
            for (f in b)
                g[f] = a.style[f],
                    a.style[f] = b[f];
            e = c.apply(a, d || []);
            for (f in b)
                a.style[f] = g[f];
            return e
        };
    function da(a, b, c, d) {
        var e,
            f = 1,
            g = 20,
            h = d ? function () {
                return d.cur()
            } : function () {
                return r.css(a, b, "")
            },
            i = h(),
            j = c &amp;&amp; c[3] || (r.cssNumber[b] ? "" : "px"),
            k = (r.cssNumber[b] || "px" !== j &amp;&amp; +i) &amp;&amp; _.exec(r.css(a, b));
        if (k &amp;&amp; k[3] !== j) {
            j = j || k[3],
                c = c || [],
                k = +i || 1;
            do
                f = f || ".5",
                    k /= f,
                    r.style(a, b, k + j);
            while (f !== (f = h() / i) &amp;&amp; 1 !== f &amp;&amp; --g)
        }
        return c &amp;&amp; (k = +k || +i || 0, e = c[1] ? k + (c[1] + 1) * c[2] : +c[2], d &amp;&amp; (d.unit = j, d.start = k, d.end = e)), e
    }
    var ea = {};
    function fa(a) {
        var b,
            c = a.ownerDocument,
            d = a.nodeName,
            e = ea[d];
        return e ? e : (b = c.body.appendChild(c.createElement(d)), e = r.css(b, "display"), b.parentNode.removeChild(b), "none" === e &amp;&amp; (e = "block"), ea[d] = e, e)
    }
    function ga(a, b) {
        for (var c, d, e = [], f = 0, g = a.length; g &gt; f; f++)
            d = a[f],
                d.style &amp;&amp; (c = d.style.display, b ? ("none" === c &amp;&amp; (e[f] = V.get(d, "display") || null, e[f] || (d.style.display = "")), "" === d.style.display &amp;&amp; ba(d) &amp;&amp; (e[f] = fa(d))) : "none" !== c &amp;&amp; (e[f] = "none", V.set(d, "display", c)));
        for (f = 0; g &gt; f; f++)
            null != e[f] &amp;&amp; (a[f].style.display = e[f]);
        return a
    }
    r.fn.extend({
        show: function () {
            return ga(this, !0)
        },
        hide: function () {
            return ga(this)
        },
        toggle: function (a) {
            return "boolean" == typeof a ? a ? this.show() : this.hide() : this.each(function () {
                ba(this) ? r(this).show() : r(this).hide()
            })
        }
    });
    var ha = /^(?:checkbox|radio)$/i,
        ia = /&lt;([a-z][^\/\0&gt;\x20\t\r\n\f]+)/i,
        ja = /^$|\/(?:java|ecma)script/i,
        ka = {
            option: [1, "&lt;select multiple='multiple'&gt;", "&lt;/select&gt;"],
            thead: [1, "&lt;table&gt;", "&lt;/table&gt;"],
            col: [2, "&lt;table&gt;&lt;colgroup&gt;", "&lt;/colgroup&gt;&lt;/table&gt;"],
            tr: [2, "&lt;table&gt;&lt;tbody&gt;", "&lt;/tbody&gt;&lt;/table&gt;"],
            td: [3, "&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;", "&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;"],
            _default: [0, "", ""]
        };
    ka.optgroup = ka.option,
        ka.tbody = ka.tfoot = ka.colgroup = ka.caption = ka.thead,
        ka.th = ka.td;
    function la(a, b) {
        var c = "undefined" != typeof a.getElementsByTagName ? a.getElementsByTagName(b || "*") : "undefined" != typeof a.querySelectorAll ? a.querySelectorAll(b || "*") : [];
        return void 0 === b || b &amp;&amp; r.nodeName(a, b) ? r.merge([
            a
        ], c) : c
    }
    function ma(a, b) {
        for (var c = 0, d = a.length; d &gt; c; c++)
            V.set(a[c], "globalEval", !b || V.get(b[c], "globalEval"))
    }
    var na = /&lt;|&amp;#?\w+;/;
    function oa(a, b, c, d, e) {
        for (var f, g, h, i, j, k, l = b.createDocumentFragment(), m = [], n = 0, o = a.length; o &gt; n; n++)
            if (f = a[n], f || 0 === f)
                if ("object" === r.type(f))
                    r.merge(m, f.nodeType ? [
                        f
                    ] : f);
                else if (na.test(f)) {
                    g = g || l.appendChild(b.createElement("div")),
                        h = (ia.exec(f) || ["", ""])[1].toLowerCase(),
                        i = ka[h] || ka._default,
                        g.innerHTML = i[1] + r.htmlPrefilter(f) + i[2],
                        k = i[0];
                    while (k--)
                        g = g.lastChild;
                    r.merge(m, g.childNodes),
                        g = l.firstChild,
                        g.textContent = ""
                }
                else
                    m.push(b.createTextNode(f));
        l.textContent = "",
            n = 0;
        while (f = m[n++])
            if (d &amp;&amp; r.inArray(f, d) &gt; -1)
                e &amp;&amp; e.push(f);
            else if (j = r.contains(f.ownerDocument, f), g = la(l.appendChild(f), "script"), j &amp;&amp; ma(g), c) {
                k = 0;
                while (f = g[k++])
                    ja.test(f.type || "") &amp;&amp; c.push(f)
            }
        return l
    }
    !function () {
        var a = d.createDocumentFragment(),
            b = a.appendChild(d.createElement("div")),
            c = d.createElement("input");
        c.setAttribute("type", "radio"),
            c.setAttribute("checked", "checked"),
            c.setAttribute("name", "t"),
            b.appendChild(c),
            o.checkClone = b.cloneNode(!0).cloneNode(!0).lastChild.checked,
            b.innerHTML = "&lt;textarea&gt;x&lt;/textarea&gt;",
            o.noCloneChecked = !!b.cloneNode(!0).lastChild.defaultValue
    }();
    var pa = d.documentElement,
        qa = /^key/,
        ra = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
        sa = /^([^.]*)(?:\.(.+)|)/;
    function ta() {
        return !0
    }
    function ua() {
        return !1
    }
    function va() {
        try {
            return d.activeElement
        }
        catch (a) { }
    }
    function wa(a, b, c, d, e, f) {
        var g,
            h;
        if ("object" == typeof b) {
            "string" != typeof c &amp;&amp; (d = d || c, c = void 0);
            for (h in b)
                wa(a, h, c, d, b[h], f);
            return a
        }
        if (null == d &amp;&amp; null == e ? (e = c, d = c = void 0) : null == e &amp;&amp; ("string" == typeof c ? (e = d, d = void 0) : (e = d, d = c, c = void 0)), e === !1)
            e = ua;
        else if (!e)
            return a;
        return 1 === f &amp;&amp; (g = e, e = function (a) {
            return r().off(a), g.apply(this, arguments)
        }, e.guid = g.guid || (g.guid = r.guid++)), a.each(function () {
            r.event.add(this, b, e, d, c)
        })
    }
    r.event = {
        global: {},
        add: function (a, b, c, d, e) {
            var f,
                g,
                h,
                i,
                j,
                k,
                l,
                m,
                n,
                o,
                p,
                q = V.get(a);
            if (q) {
                c.handler &amp;&amp; (f = c, c = f.handler, e = f.selector),
                    e &amp;&amp; r.find.matchesSelector(pa, e),
                    c.guid || (c.guid = r.guid++),
                    (i = q.events) || (i = q.events = {}),
                    (g = q.handle) || (g = q.handle = function (b) {
                        return "undefined" != typeof r &amp;&amp; r.event.triggered !== b.type ? r.event.dispatch.apply(a, arguments) : void 0
                    }),
                    b = (b || "").match(K) || [""],
                    j = b.length;
                while (j--)
                    h = sa.exec(b[j]) || [],
                        n = p = h[1],
                        o = (h[2] || "").split(".").sort(),
                        n &amp;&amp; (l = r.event.special[n] || {}, n = (e ? l.delegateType : l.bindType) || n, l = r.event.special[n] || {}, k = r.extend({
                            type: n,
                            origType: p,
                            data: d,
                            handler: c,
                            guid: c.guid,
                            selector: e,
                            needsContext: e &amp;&amp; r.expr.match.needsContext.test(e),
                            namespace: o.join(".")
                        }, f), (m = i[n]) || (m = i[n] = [], m.delegateCount = 0, l.setup &amp;&amp; l.setup.call(a, d, o, g) !== !1 || a.addEventListener &amp;&amp; a.addEventListener(n, g)), l.add &amp;&amp; (l.add.call(a, k), k.handler.guid || (k.handler.guid = c.guid)), e ? m.splice(m.delegateCount++, 0, k) : m.push(k), r.event.global[n] = !0)
            }
        },
        remove: function (a, b, c, d, e) {
            var f,
                g,
                h,
                i,
                j,
                k,
                l,
                m,
                n,
                o,
                p,
                q = V.hasData(a) &amp;&amp; V.get(a);
            if (q &amp;&amp; (i = q.events)) {
                b = (b || "").match(K) || [""],
                    j = b.length;
                while (j--)
                    if (h = sa.exec(b[j]) || [], n = p = h[1], o = (h[2] || "").split(".").sort(), n) {
                        l = r.event.special[n] || {},
                            n = (d ? l.delegateType : l.bindType) || n,
                            m = i[n] || [],
                            h = h[2] &amp;&amp; new RegExp("(^|\\.)" + o.join("\\.(?:.*\\.|)") + "(\\.|$)"),
                            g = f = m.length;
                        while (f--)
                            k = m[f],
                                !e &amp;&amp; p !== k.origType || c &amp;&amp; c.guid !== k.guid || h &amp;&amp; !h.test(k.namespace) || d &amp;&amp; d !== k.selector &amp;&amp; ("**" !== d || !k.selector) || (m.splice(f, 1), k.selector &amp;&amp; m.delegateCount--, l.remove &amp;&amp; l.remove.call(a, k));
                        g &amp;&amp; !m.length &amp;&amp; (l.teardown &amp;&amp; l.teardown.call(a, o, q.handle) !== !1 || r.removeEvent(a, n, q.handle), delete i[n])
                    }
                    else
                        for (n in i)
                            r.event.remove(a, n + b[j], c, d, !0);
                r.isEmptyObject(i) &amp;&amp; V.remove(a, "handle events")
            }
        },
        dispatch: function (a) {
            var b = r.event.fix(a),
                c,
                d,
                e,
                f,
                g,
                h,
                i = new Array(arguments.length),
                j = (V.get(this, "events") || {})[b.type] || [],
                k = r.event.special[b.type] || {};
            for (i[0] = b, c = 1; c &lt; arguments.length; c++)
                i[c] = arguments[c];
            if (b.delegateTarget = this, !k.preDispatch || k.preDispatch.call(this, b) !== !1) {
                h = r.event.handlers.call(this, b, j),
                    c = 0;
                while ((f = h[c++]) &amp;&amp; !b.isPropagationStopped()) {
                    b.currentTarget = f.elem,
                        d = 0;
                    while ((g = f.handlers[d++]) &amp;&amp; !b.isImmediatePropagationStopped())
                        b.rnamespace &amp;&amp; !b.rnamespace.test(g.namespace) || (b.handleObj = g, b.data = g.data, e = ((r.event.special[g.origType] || {}).handle || g.handler).apply(f.elem, i), void 0 !== e &amp;&amp; (b.result = e) === !1 &amp;&amp; (b.preventDefault(), b.stopPropagation()))
                }
                return k.postDispatch &amp;&amp; k.postDispatch.call(this, b), b.result
            }
        },
        handlers: function (a, b) {
            var c,
                d,
                e,
                f,
                g = [],
                h = b.delegateCount,
                i = a.target;
            if (h &amp;&amp; i.nodeType &amp;&amp; ("click" !== a.type || isNaN(a.button) || a.button &lt; 1))
                for (; i !== this; i = i.parentNode || this)
                    if (1 === i.nodeType &amp;&amp; (i.disabled !== !0 || "click" !== a.type)) {
                        for (d = [], c = 0; h &gt; c; c++)
                            f = b[c],
                                e = f.selector + " ",
                                void 0 === d[e] &amp;&amp; (d[e] = f.needsContext ? r(e, this).index(i) &gt; -1 : r.find(e, this, null, [
                                    i
                                ]).length),
                                d[e] &amp;&amp; d.push(f);
                        d.length &amp;&amp; g.push({
                            elem: i,
                            handlers: d
                        })
                    }
            return h &lt; b.length &amp;&amp; g.push({
                elem: this,
                handlers: b.slice(h)
            }), g
        },
        addProp: function (a, b) {
            Object.defineProperty(r.Event.prototype, a, {
                enumerable: !0,
                configurable: !0,
                get: r.isFunction(b) ? function () {
                    return this.originalEvent ? b(this.originalEvent) : void 0
                } : function () {
                    return this.originalEvent ? this.originalEvent[a] : void 0
                },
                set: function (b) {
                    Object.defineProperty(this, a, {
                        enumerable: !0,
                        configurable: !0,
                        writable: !0,
                        value: b
                    })
                }
            })
        },
        fix: function (a) {
            return a[r.expando] ? a : new r.Event(a)
        },
        special: {
            load: { noBubble: !0 },
            focus: {
                trigger: function () {
                    return this !== va() &amp;&amp; this.focus ? (this.focus(), !1) : void 0
                },
                delegateType: "focusin"
            },
            blur: {
                trigger: function () {
                    return this === va() &amp;&amp; this.blur ? (this.blur(), !1) : void 0
                },
                delegateType: "focusout"
            },
            click: {
                trigger: function () {
                    return "checkbox" === this.type &amp;&amp; this.click &amp;&amp; r.nodeName(this, "input") ? (this.click(), !1) : void 0
                },
                _default: function (a) {
                    return r.nodeName(a.target, "a")
                }
            },
            beforeunload: {
                postDispatch: function (a) {
                    void 0 !== a.result &amp;&amp; a.originalEvent &amp;&amp; (a.originalEvent.returnValue = a.result)
                }
            }
        }
    },
        r.removeEvent = function (a, b, c) {
            a.removeEventListener &amp;&amp; a.removeEventListener(b, c)
        },
        r.Event = function (a, b) {
            return this instanceof r.Event ? (a &amp;&amp; a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented &amp;&amp; a.returnValue === !1 ? ta : ua, this.target = a.target &amp;&amp; 3 === a.target.nodeType ? a.target.parentNode : a.target, this.currentTarget = a.currentTarget, this.relatedTarget = a.relatedTarget) : this.type = a, b &amp;&amp; r.extend(this, b), this.timeStamp = a &amp;&amp; a.timeStamp || r.now(), void (this[r.expando] = !0)) : new r.Event(a, b)
        },
        r.Event.prototype = {
            constructor: r.Event,
            isDefaultPrevented: ua,
            isPropagationStopped: ua,
            isImmediatePropagationStopped: ua,
            isSimulated: !1,
            preventDefault: function () {
                var a = this.originalEvent;
                this.isDefaultPrevented = ta,
                    a &amp;&amp; !this.isSimulated &amp;&amp; a.preventDefault()
            },
            stopPropagation: function () {
                var a = this.originalEvent;
                this.isPropagationStopped = ta,
                    a &amp;&amp; !this.isSimulated &amp;&amp; a.stopPropagation()
            },
            stopImmediatePropagation: function () {
                var a = this.originalEvent;
                this.isImmediatePropagationStopped = ta,
                    a &amp;&amp; !this.isSimulated &amp;&amp; a.stopImmediatePropagation(),
                    this.stopPropagation()
            }
        },
        r.each({
            altKey: !0,
            bubbles: !0,
            cancelable: !0,
            changedTouches: !0,
            ctrlKey: !0,
            detail: !0,
            eventPhase: !0,
            metaKey: !0,
            pageX: !0,
            pageY: !0,
            shiftKey: !0,
            view: !0,
            char: !0,
            charCode: !0,
            key: !0,
            keyCode: !0,
            button: !0,
            buttons: !0,
            clientX: !0,
            clientY: !0,
            offsetX: !0,
            offsetY: !0,
            pointerId: !0,
            pointerType: !0,
            screenX: !0,
            screenY: !0,
            targetTouches: !0,
            toElement: !0,
            touches: !0,
            which: function (a) {
                var b = a.button;
                return null == a.which &amp;&amp; qa.test(a.type) ? null != a.charCode ? a.charCode : a.keyCode : !a.which &amp;&amp; void 0 !== b &amp;&amp; ra.test(a.type) ? 1 &amp; b ? 1 : 2 &amp; b ? 3 : 4 &amp; b ? 2 : 0 : a.which
            }
        }, r.event.addProp),
        r.each({
            mouseenter: "mouseover",
            mouseleave: "mouseout",
            pointerenter: "pointerover",
            pointerleave: "pointerout"
        }, function (a, b) {
            r.event.special[a] = {
                delegateType: b,
                bindType: b,
                handle: function (a) {
                    var c,
                        d = this,
                        e = a.relatedTarget,
                        f = a.handleObj;
                    return e &amp;&amp; (e === d || r.contains(d, e)) || (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c
                }
            }
        }),
        r.fn.extend({
            on: function (a, b, c, d) {
                return wa(this, a, b, c, d)
            },
            one: function (a, b, c, d) {
                return wa(this, a, b, c, d, 1)
            },
            off: function (a, b, c) {
                var d,
                    e;
                if (a &amp;&amp; a.preventDefault &amp;&amp; a.handleObj)
                    return d = a.handleObj, r(a.delegateTarget).off(d.namespace ? d.origType + "." + d.namespace : d.origType, d.selector, d.handler), this;
                if ("object" == typeof a) {
                    for (e in a)
                        this.off(e, b, a[e]);
                    return this
                }
                return b !== !1 &amp;&amp; "function" != typeof b || (c = b, b = void 0), c === !1 &amp;&amp; (c = ua), this.each(function () {
                    r.event.remove(this, a, c, b)
                })
            }
        });
    var xa = /&lt;(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0&gt;\x20\t\r\n\f]*)[^&gt;]*)\/&gt;/gi,
        ya = /&lt;script|&lt;style|&lt;link/i,
        za = /checked\s*(?:[^=]|=\s*.checked.)/i,
        Aa = /^true\/(.*)/,
        Ba = /^\s*&lt;!(?:\[CDATA\[|--)|(?:\]\]|--)&gt;\s*$/g;
    function Ca(a, b) {
        return r.nodeName(a, "table") &amp;&amp; r.nodeName(11 !== b.nodeType ? b : b.firstChild, "tr") ? a.getElementsByTagName("tbody")[0] || a : a
    }
    function Da(a) {
        return a.type = (null !== a.getAttribute("type")) + "/" + a.type, a
    }
    function Ea(a) {
        var b = Aa.exec(a.type);
        return b ? a.type = b[1] : a.removeAttribute("type"), a
    }
    function Fa(a, b) {
        var c,
            d,
            e,
            f,
            g,
            h,
            i,
            j;
        if (1 === b.nodeType) {
            if (V.hasData(a) &amp;&amp; (f = V.access(a), g = V.set(b, f), j = f.events)) {
                delete g.handle,
                    g.events = {};
                for (e in j)
                    for (c = 0, d = j[e].length; d &gt; c; c++)
                        r.event.add(b, e, j[e][c])
            }
            W.hasData(a) &amp;&amp; (h = W.access(a), i = r.extend({}, h), W.set(b, i))
        }
    }
    function Ga(a, b) {
        var c = b.nodeName.toLowerCase();
        "input" === c &amp;&amp; ha.test(a.type) ? b.checked = a.checked : "input" !== c &amp;&amp; "textarea" !== c || (b.defaultValue = a.defaultValue)
    }
    function Ha(a, b, c, d) {
        b = g.apply([], b);
        var e,
            f,
            h,
            i,
            j,
            k,
            l = 0,
            m = a.length,
            n = m - 1,
            q = b[0],
            s = r.isFunction(q);
        if (s || m &gt; 1 &amp;&amp; "string" == typeof q &amp;&amp; !o.checkClone &amp;&amp; za.test(q))
            return a.each(function (e) {
                var f = a.eq(e);
                s &amp;&amp; (b[0] = q.call(this, e, f.html())),
                    Ha(f, b, c, d)
            });
        if (m &amp;&amp; (e = oa(b, a[0].ownerDocument, !1, a, d), f = e.firstChild, 1 === e.childNodes.length &amp;&amp; (e = f), f || d)) {
            for (h = r.map(la(e, "script"), Da), i = h.length; m &gt; l; l++)
                j = e,
                    l !== n &amp;&amp; (j = r.clone(j, !0, !0), i &amp;&amp; r.merge(h, la(j, "script"))),
                    c.call(a[l], j, l);
            if (i)
                for (k = h[h.length - 1].ownerDocument, r.map(h, Ea), l = 0; i &gt; l; l++)
                    j = h[l],
                        ja.test(j.type || "") &amp;&amp; !V.access(j, "globalEval") &amp;&amp; r.contains(k, j) &amp;&amp; (j.src ? r._evalUrl &amp;&amp; r._evalUrl(j.src) : p(j.textContent.replace(Ba, ""), k))
        }
        return a
    }
    function Ia(a, b, c) {
        for (var d, e = b ? r.filter(b, a) : a, f = 0; null != (d = e[f]); f++)
            c || 1 !== d.nodeType || r.cleanData(la(d)),
                d.parentNode &amp;&amp; (c &amp;&amp; r.contains(d.ownerDocument, d) &amp;&amp; ma(la(d, "script")), d.parentNode.removeChild(d));
        return a
    }
    r.extend({
        htmlPrefilter: function (a) {
            return a.replace(xa, "&lt;$1&gt;&lt;/$2&gt;")
        },
        clone: function (a, b, c) {
            var d,
                e,
                f,
                g,
                h = a.cloneNode(!0),
                i = r.contains(a.ownerDocument, a);
            if (!(o.noCloneChecked || 1 !== a.nodeType &amp;&amp; 11 !== a.nodeType || r.isXMLDoc(a)))
                for (g = la(h), f = la(a), d = 0, e = f.length; e &gt; d; d++)
                    Ga(f[d], g[d]);
            if (b)
                if (c)
                    for (f = f || la(a), g = g || la(h), d = 0, e = f.length; e &gt; d; d++)
                        Fa(f[d], g[d]);
                else
                    Fa(a, h);
            return g = la(h, "script"), g.length &gt; 0 &amp;&amp; ma(g, !i &amp;&amp; la(a, "script")), h
        },
        cleanData: function (a) {
            for (var b, c, d, e = r.event.special, f = 0; void 0 !== (c = a[f]); f++)
                if (T(c)) {
                    if (b = c[V.expando]) {
                        if (b.events)
                            for (d in b.events)
                                e[d] ? r.event.remove(c, d) : r.removeEvent(c, d, b.handle);
                        c[V.expando] = void 0
                    }
                    c[W.expando] &amp;&amp; (c[W.expando] = void 0)
                }
        }
    }),
        r.fn.extend({
            detach: function (a) {
                return Ia(this, a, !0)
            },
            remove: function (a) {
                return Ia(this, a)
            },
            text: function (a) {
                return S(this, function (a) {
                    return void 0 === a ? r.text(this) : this.empty().each(function () {
                        1 !== this.nodeType &amp;&amp; 11 !== this.nodeType &amp;&amp; 9 !== this.nodeType || (this.textContent = a)
                    })
                }, null, a, arguments.length)
            },
            append: function () {
                return Ha(this, arguments, function (a) {
                    if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
                        var b = Ca(this, a);
                        b.appendChild(a)
                    }
                })
            },
            prepend: function () {
                return Ha(this, arguments, function (a) {
                    if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
                        var b = Ca(this, a);
                        b.insertBefore(a, b.firstChild)
                    }
                })
            },
            before: function () {
                return Ha(this, arguments, function (a) {
                    this.parentNode &amp;&amp; this.parentNode.insertBefore(a, this)
                })
            },
            after: function () {
                return Ha(this, arguments, function (a) {
                    this.parentNode &amp;&amp; this.parentNode.insertBefore(a, this.nextSibling)
                })
            },
            empty: function () {
                for (var a, b = 0; null != (a = this[b]); b++)
                    1 === a.nodeType &amp;&amp; (r.cleanData(la(a, !1)), a.textContent = "");
                return this
            },
            clone: function (a, b) {
                return a = null == a ? !1 : a, b = null == b ? a : b, this.map(function () {
                    return r.clone(this, a, b)
                })
            },
            html: function (a) {
                return S(this, function (a) {
                    var b = this[0] || {},
                        c = 0,
                        d = this.length;
                    if (void 0 === a &amp;&amp; 1 === b.nodeType)
                        return b.innerHTML;
                    if ("string" == typeof a &amp;&amp; !ya.test(a) &amp;&amp; !ka[(ia.exec(a) || ["", ""])[1].toLowerCase()]) {
                        a = r.htmlPrefilter(a);
                        try {
                            for (; d &gt; c; c++)
                                b = this[c] || {},
                                    1 === b.nodeType &amp;&amp; (r.cleanData(la(b, !1)), b.innerHTML = a);
                            b = 0
                        }
                        catch (e) { }
                    }
                    b &amp;&amp; this.empty().append(a)
                }, null, a, arguments.length)
            },
            replaceWith: function () {
                var a = [];
                return Ha(this, arguments, function (b) {
                    var c = this.parentNode;
                    r.inArray(this, a) &lt; 0 &amp;&amp; (r.cleanData(la(this)), c &amp;&amp; c.replaceChild(b, this))
                }, a)
            }
        }),
        r.each({
            appendTo: "append",
            prependTo: "prepend",
            insertBefore: "before",
            insertAfter: "after",
            replaceAll: "replaceWith"
        }, function (a, b) {
            r.fn[a] = function (a) {
                for (var c, d = [], e = r(a), f = e.length - 1, g = 0; f &gt;= g; g++)
                    c = g === f ? this : this.clone(!0),
                        r(e[g])[b](c),
                        h.apply(d, c.get());
                return this.pushStack(d)
            }
        });
    var Ja = /^margin/,
        Ka = new RegExp("^(" + $ + ")(?!px)[a-z%]+$", "i"),
        La = function (b) {
            var c = b.ownerDocument.defaultView;
            return c &amp;&amp; c.opener || (c = a), c.getComputedStyle(b)
        };
    !function () {
        function b() {
            if (i) {
                i.style.cssText = "box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",
                    i.innerHTML = "",
                    pa.appendChild(h);
                var b = a.getComputedStyle(i);
                c = "1%" !== b.top,
                    g = "2px" === b.marginLeft,
                    e = "4px" === b.width,
                    i.style.marginRight = "50%",
                    f = "4px" === b.marginRight,
                    pa.removeChild(h),
                    i = null
            }
        }
        var c,
            e,
            f,
            g,
            h = d.createElement("div"),
            i = d.createElement("div");
        i.style &amp;&amp; (i.style.backgroundClip = "content-box", i.cloneNode(!0).style.backgroundClip = "", o.clearCloneStyle = "content-box" === i.style.backgroundClip, h.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute", h.appendChild(i), r.extend(o, {
            pixelPosition: function () {
                return b(), c
            },
            boxSizingReliable: function () {
                return b(), e
            },
            pixelMarginRight: function () {
                return b(), f
            },
            reliableMarginLeft: function () {
                return b(), g
            }
        }))
    }();
    function Ma(a, b, c) {
        var d,
            e,
            f,
            g,
            h = a.style;
        return c = c || La(a), c &amp;&amp; (g = c.getPropertyValue(b) || c[b], "" !== g || r.contains(a.ownerDocument, a) || (g = r.style(a, b)), !o.pixelMarginRight() &amp;&amp; Ka.test(g) &amp;&amp; Ja.test(b) &amp;&amp; (d = h.width, e = h.minWidth, f = h.maxWidth, h.minWidth = h.maxWidth = h.width = g, g = c.width, h.width = d, h.minWidth = e, h.maxWidth = f)), void 0 !== g ? g + "" : g
    }
    function Na(a, b) {
        return {
            get: function () {
                return a() ? void delete this.get : (this.get = b).apply(this, arguments)
            }
        }
    }
    var Oa = /^(none|table(?!-c[ea]).+)/,
        Pa = {
            position: "absolute",
            visibility: "hidden",
            display: "block"
        },
        Qa = {
            letterSpacing: "0",
            fontWeight: "400"
        },
        Ra = ["Webkit", "Moz", "ms"],
        Sa = d.createElement("div").style;
    function Ta(a) {
        if (a in Sa)
            return a;
        var b = a[0].toUpperCase() + a.slice(1),
            c = Ra.length;
        while (c--)
            if (a = Ra[c] + b, a in Sa)
                return a
    }
    function Ua(a, b, c) {
        var d = _.exec(b);
        return d ? Math.max(0, d[2] - (c || 0)) + (d[3] || "px") : b
    }
    function Va(a, b, c, d, e) {
        for (var f = c === (d ? "border" : "content") ? 4 : "width" === b ? 1 : 0, g = 0; 4 &gt; f; f += 2)
            "margin" === c &amp;&amp; (g += r.css(a, c + aa[f], !0, e)),
                d ? ("content" === c &amp;&amp; (g -= r.css(a, "padding" + aa[f], !0, e)), "margin" !== c &amp;&amp; (g -= r.css(a, "border" + aa[f] + "Width", !0, e))) : (g += r.css(a, "padding" + aa[f], !0, e), "padding" !== c &amp;&amp; (g += r.css(a, "border" + aa[f] + "Width", !0, e)));
        return g
    }
    function Wa(a, b, c) {
        var d,
            e = !0,
            f = La(a),
            g = "border-box" === r.css(a, "boxSizing", !1, f);
        if (a.getClientRects().length &amp;&amp; (d = a.getBoundingClientRect()[b]), 0 &gt;= d || null == d) {
            if (d = Ma(a, b, f), (0 &gt; d || null == d) &amp;&amp; (d = a.style[b]), Ka.test(d))
                return d;
            e = g &amp;&amp; (o.boxSizingReliable() || d === a.style[b]),
                d = parseFloat(d) || 0
        }
        return d + Va(a, b, c || (g ? "border" : "content"), e, f) + "px"
    }
    r.extend({
        cssHooks: {
            opacity: {
                get: function (a, b) {
                    if (b) {
                        var c = Ma(a, "opacity");
                        return "" === c ? "1" : c
                    }
                }
            }
        },
        cssNumber: {
            animationIterationCount: !0,
            columnCount: !0,
            fillOpacity: !0,
            flexGrow: !0,
            flexShrink: !0,
            fontWeight: !0,
            lineHeight: !0,
            opacity: !0,
            order: !0,
            orphans: !0,
            widows: !0,
            zIndex: !0,
            zoom: !0
        },
        cssProps: { float: "cssFloat" },
        style: function (a, b, c, d) {
            if (a &amp;&amp; 3 !== a.nodeType &amp;&amp; 8 !== a.nodeType &amp;&amp; a.style) {
                var e,
                    f,
                    g,
                    h = r.camelCase(b),
                    i = a.style;
                return b = r.cssProps[h] || (r.cssProps[h] = Ta(h) || h), g = r.cssHooks[b] || r.cssHooks[h], void 0 === c ? g &amp;&amp; "get" in g &amp;&amp; void 0 !== (e = g.get(a, !1, d)) ? e : i[b] : (f = typeof c, "string" === f &amp;&amp; (e = _.exec(c)) &amp;&amp; e[1] &amp;&amp; (c = da(a, b, e), f = "number"), null != c &amp;&amp; c === c &amp;&amp; ("number" === f &amp;&amp; (c += e &amp;&amp; e[3] || (r.cssNumber[h] ? "" : "px")), o.clearCloneStyle || "" !== c || 0 !== b.indexOf("background") || (i[b] = "inherit"), g &amp;&amp; "set" in g &amp;&amp; void 0 === (c = g.set(a, c, d)) || (i[b] = c)), void 0)
            }
        },
        css: function (a, b, c, d) {
            var e,
                f,
                g,
                h = r.camelCase(b);
            return b = r.cssProps[h] || (r.cssProps[h] = Ta(h) || h), g = r.cssHooks[b] || r.cssHooks[h], g &amp;&amp; "get" in g &amp;&amp; (e = g.get(a, !0, c)), void 0 === e &amp;&amp; (e = Ma(a, b, d)), "normal" === e &amp;&amp; b in Qa &amp;&amp; (e = Qa[b]), "" === c || c ? (f = parseFloat(e), c === !0 || isFinite(f) ? f || 0 : e) : e
        }
    }),
        r.each(["height", "width"], function (a, b) {
            r.cssHooks[b] = {
                get: function (a, c, d) {
                    return c ? !Oa.test(r.css(a, "display")) || a.getClientRects().length &amp;&amp; a.getBoundingClientRect().width ? Wa(a, b, d) : ca(a, Pa, function () {
                        return Wa(a, b, d)
                    }) : void 0
                },
                set: function (a, c, d) {
                    var e,
                        f = d &amp;&amp; La(a),
                        g = d &amp;&amp; Va(a, b, d, "border-box" === r.css(a, "boxSizing", !1, f), f);
                    return g &amp;&amp; (e = _.exec(c)) &amp;&amp; "px" !== (e[3] || "px") &amp;&amp; (a.style[b] = c, c = r.css(a, b)), Ua(a, c, g)
                }
            }
        }),
        r.cssHooks.marginLeft = Na(o.reliableMarginLeft, function (a, b) {
            return b ? (parseFloat(Ma(a, "marginLeft")) || a.getBoundingClientRect().left - ca(a, { marginLeft: 0 }, function () {
                return a.getBoundingClientRect().left
            })) + "px" : void 0
        }),
        r.each({
            margin: "",
            padding: "",
            border: "Width"
        }, function (a, b) {
            r.cssHooks[a + b] = {
                expand: function (c) {
                    for (var d = 0, e = {}, f = "string" == typeof c ? c.split(" ") : [
                        c
                    ]; 4 &gt; d; d++)
                        e[a + aa[d] + b] = f[d] || f[d - 2] || f[0];
                    return e
                }
            },
                Ja.test(a) || (r.cssHooks[a + b].set = Ua)
        }),
        r.fn.extend({
            css: function (a, b) {
                return S(this, function (a, b, c) {
                    var d,
                        e,
                        f = {},
                        g = 0;
                    if (r.isArray(b)) {
                        for (d = La(a), e = b.length; e &gt; g; g++)
                            f[b[g]] = r.css(a, b[g], !1, d);
                        return f
                    }
                    return void 0 !== c ? r.style(a, b, c) : r.css(a, b)
                }, a, b, arguments.length &gt; 1)
            }
        });
    function Xa(a, b, c, d, e) {
        return new Xa.prototype.init(a, b, c, d, e)
    }
    r.Tween = Xa,
        Xa.prototype = {
            constructor: Xa,
            init: function (a, b, c, d, e, f) {
                this.elem = a,
                    this.prop = c,
                    this.easing = e || r.easing._default,
                    this.options = b,
                    this.start = this.now = this.cur(),
                    this.end = d,
                    this.unit = f || (r.cssNumber[c] ? "" : "px")
            },
            cur: function () {
                var a = Xa.propHooks[this.prop];
                return a &amp;&amp; a.get ? a.get(this) : Xa.propHooks._default.get(this)
            },
            run: function (a) {
                var b,
                    c = Xa.propHooks[this.prop];
                return this.options.duration ? this.pos = b = r.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : this.pos = b = a, this.now = (this.end - this.start) * b + this.start, this.options.step &amp;&amp; this.options.step.call(this.elem, this.now, this), c &amp;&amp; c.set ? c.set(this) : Xa.propHooks._default.set(this), this
            }
        },
        Xa.prototype.init.prototype = Xa.prototype,
        Xa.propHooks = {
            _default: {
                get: function (a) {
                    var b;
                    return 1 !== a.elem.nodeType || null != a.elem[a.prop] &amp;&amp; null == a.elem.style[a.prop] ? a.elem[a.prop] : (b = r.css(a.elem, a.prop, ""), b &amp;&amp; "auto" !== b ? b : 0)
                },
                set: function (a) {
                    r.fx.step[a.prop] ? r.fx.step[a.prop](a) : 1 !== a.elem.nodeType || null == a.elem.style[r.cssProps[a.prop]] &amp;&amp; !r.cssHooks[a.prop] ? a.elem[a.prop] = a.now : r.style(a.elem, a.prop, a.now + a.unit)
                }
            }
        },
        Xa.propHooks.scrollTop = Xa.propHooks.scrollLeft = {
            set: function (a) {
                a.elem.nodeType &amp;&amp; a.elem.parentNode &amp;&amp; (a.elem[a.prop] = a.now)
            }
        },
        r.easing = {
            linear: function (a) {
                return a
            },
            swing: function (a) {
                return .5 - Math.cos(a * Math.PI) / 2
            },
            _default: "swing"
        },
        r.fx = Xa.prototype.init,
        r.fx.step = {};
    var Ya,
        Za,
        $a = /^(?:toggle|show|hide)$/,
        _a = /queueHooks$/;
    function ab() {
        Za &amp;&amp; (a.requestAnimationFrame(ab), r.fx.tick())
    }
    function bb() {
        return a.setTimeout(function () {
            Ya = void 0
        }), Ya = r.now()
    }
    function cb(a, b) {
        var c,
            d = 0,
            e = { height: a };
        for (b = b ? 1 : 0; 4 &gt; d; d += 2 - b)
            c = aa[d],
                e["margin" + c] = e["padding" + c] = a;
        return b &amp;&amp; (e.opacity = e.width = a), e
    }
    function db(a, b, c) {
        for (var d, e = (gb.tweeners[b] || []).concat(gb.tweeners["*"]), f = 0, g = e.length; g &gt; f; f++)
            if (d = e[f].call(c, b, a))
                return d
    }
    function eb(a, b, c) {
        var d,
            e,
            f,
            g,
            h,
            i,
            j,
            k,
            l = "width" in b || "height" in b,
            m = this,
            n = {},
            o = a.style,
            p = a.nodeType &amp;&amp; ba(a),
            q = V.get(a, "fxshow");
        c.queue || (g = r._queueHooks(a, "fx"), null == g.unqueued &amp;&amp; (g.unqueued = 0, h = g.empty.fire, g.empty.fire = function () {
            g.unqueued || h()
        }), g.unqueued++, m.always(function () {
            m.always(function () {
                g.unqueued--,
                    r.queue(a, "fx").length || g.empty.fire()
            })
        }));
        for (d in b)
            if (e = b[d], $a.test(e)) {
                if (delete b[d], f = f || "toggle" === e, e === (p ? "hide" : "show")) {
                    if ("show" !== e || !q || void 0 === q[d])
                        continue;
                    p = !0
                }
                n[d] = q &amp;&amp; q[d] || r.style(a, d)
            }
        if (i = !r.isEmptyObject(b), i || !r.isEmptyObject(n)) {
            l &amp;&amp; 1 === a.nodeType &amp;&amp; (c.overflow = [
                o.overflow,
                o.overflowX,
                o.overflowY
            ], j = q &amp;&amp; q.display, null == j &amp;&amp; (j = V.get(a, "display")), k = r.css(a, "display"), "none" === k &amp;&amp; (j ? k = j : (ga([
                a
            ], !0), j = a.style.display || j, k = r.css(a, "display"), ga([
                a
            ]))), ("inline" === k || "inline-block" === k &amp;&amp; null != j) &amp;&amp; "none" === r.css(a, "float") &amp;&amp; (i || (m.done(function () {
                o.display = j
            }), null == j &amp;&amp; (k = o.display, j = "none" === k ? "" : k)), o.display = "inline-block")),
                c.overflow &amp;&amp; (o.overflow = "hidden", m.always(function () {
                    o.overflow = c.overflow[0],
                        o.overflowX = c.overflow[1],
                        o.overflowY = c.overflow[2]
                })),
                i = !1;
            for (d in n)
                i || (q ? "hidden" in q &amp;&amp; (p = q.hidden) : q = V.access(a, "fxshow", { display: j }), f &amp;&amp; (q.hidden = !p), p &amp;&amp; ga([
                    a
                ], !0), m.done(function () {
                    p || ga([
                        a
                    ]),
                        V.remove(a, "fxshow");
                    for (d in n)
                        r.style(a, d, n[d])
                })),
                    i = db(p ? q[d] : 0, d, m),
                    d in q || (q[d] = i.start, p &amp;&amp; (i.end = i.start, i.start = 0))
        }
    }
    function fb(a, b) {
        var c,
            d,
            e,
            f,
            g;
        for (c in a)
            if (d = r.camelCase(c), e = b[d], f = a[c], r.isArray(f) &amp;&amp; (e = f[1], f = a[c] = f[0]), c !== d &amp;&amp; (a[d] = f, delete a[c]), g = r.cssHooks[d], g &amp;&amp; "expand" in g) {
                f = g.expand(f),
                    delete a[d];
                for (c in f)
                    c in a || (a[c] = f[c], b[c] = e)
            }
            else
                b[d] = e
    }
    function gb(a, b, c) {
        var d,
            e,
            f = 0,
            g = gb.prefilters.length,
            h = r.Deferred().always(function () {
                delete i.elem
            }),
            i = function () {
                if (e)
                    return !1;
                for (var b = Ya || bb(), c = Math.max(0, j.startTime + j.duration - b), d = c / j.duration || 0, f = 1 - d, g = 0, i = j.tweens.length; i &gt; g; g++)
                    j.tweens[g].run(f);
                return h.notifyWith(a, [
                    j,
                    f,
                    c
                ]), 1 &gt; f &amp;&amp; i ? c : (h.resolveWith(a, [
                    j
                ]), !1)
            },
            j = h.promise({
                elem: a,
                props: r.extend({}, b),
                opts: r.extend(!0, {
                    specialEasing: {},
                    easing: r.easing._default
                }, c),
                originalProperties: b,
                originalOptions: c,
                startTime: Ya || bb(),
                duration: c.duration,
                tweens: [],
                createTween: function (b, c) {
                    var d = r.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing);
                    return j.tweens.push(d), d
                },
                stop: function (b) {
                    var c = 0,
                        d = b ? j.tweens.length : 0;
                    if (e)
                        return this;
                    for (e = !0; d &gt; c; c++)
                        j.tweens[c].run(1);
                    return b ? (h.notifyWith(a, [
                        j,
                        1,
                        0
                    ]), h.resolveWith(a, [
                        j,
                        b
                    ])) : h.rejectWith(a, [
                        j,
                        b
                    ]), this
                }
            }),
            k = j.props;
        for (fb(k, j.opts.specialEasing); g &gt; f; f++)
            if (d = gb.prefilters[f].call(j, a, k, j.opts))
                return r.isFunction(d.stop) &amp;&amp; (r._queueHooks(j.elem, j.opts.queue).stop = r.proxy(d.stop, d)), d;
        return r.map(k, db, j), r.isFunction(j.opts.start) &amp;&amp; j.opts.start.call(a, j), r.fx.timer(r.extend(i, {
            elem: a,
            anim: j,
            queue: j.opts.queue
        })), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always)
    }
    r.Animation = r.extend(gb, {
        tweeners: {
            "*": [
                function (a, b) {
                    var c = this.createTween(a, b);
                    return da(c.elem, a, _.exec(b), c), c
                }
            ]
        },
        tweener: function (a, b) {
            r.isFunction(a) ? (b = a, a = ["*"]) : a = a.match(K);
            for (var c, d = 0, e = a.length; e &gt; d; d++)
                c = a[d],
                    gb.tweeners[c] = gb.tweeners[c] || [],
                    gb.tweeners[c].unshift(b)
        },
        prefilters: [
            eb
        ],
        prefilter: function (a, b) {
            b ? gb.prefilters.unshift(a) : gb.prefilters.push(a)
        }
    }),
        r.speed = function (a, b, c) {
            var e = a &amp;&amp; "object" == typeof a ? r.extend({}, a) : {
                complete: c || !c &amp;&amp; b || r.isFunction(a) &amp;&amp; a,
                duration: a,
                easing: c &amp;&amp; b || b &amp;&amp; !r.isFunction(b) &amp;&amp; b
            };
            return r.fx.off || d.hidden ? e.duration = 0 : e.duration = "number" == typeof e.duration ? e.duration : e.duration in r.fx.speeds ? r.fx.speeds[e.duration] : r.fx.speeds._default, null != e.queue &amp;&amp; e.queue !== !0 || (e.queue = "fx"), e.old = e.complete, e.complete = function () {
                r.isFunction(e.old) &amp;&amp; e.old.call(this),
                    e.queue &amp;&amp; r.dequeue(this, e.queue)
            }, e
        },
        r.fn.extend({
            fadeTo: function (a, b, c, d) {
                return this.filter(ba).css("opacity", 0).show().end().animate({ opacity: b }, a, c, d)
            },
            animate: function (a, b, c, d) {
                var e = r.isEmptyObject(a),
                    f = r.speed(b, c, d),
                    g = function () {
                        var b = gb(this, r.extend({}, a), f);
                        (e || V.get(this, "finish")) &amp;&amp; b.stop(!0)
                    };
                return g.finish = g, e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g)
            },
            stop: function (a, b, c) {
                var d = function (a) {
                    var b = a.stop;
                    delete a.stop,
                        b(c)
                };
                return "string" != typeof a &amp;&amp; (c = b, b = a, a = void 0), b &amp;&amp; a !== !1 &amp;&amp; this.queue(a || "fx", []), this.each(function () {
                    var b = !0,
                        e = null != a &amp;&amp; a + "queueHooks",
                        f = r.timers,
                        g = V.get(this);
                    if (e)
                        g[e] &amp;&amp; g[e].stop &amp;&amp; d(g[e]);
                    else
                        for (e in g)
                            g[e] &amp;&amp; g[e].stop &amp;&amp; _a.test(e) &amp;&amp; d(g[e]);
                    for (e = f.length; e--;)
                        f[e].elem !== this || null != a &amp;&amp; f[e].queue !== a || (f[e].anim.stop(c), b = !1, f.splice(e, 1));
                    !b &amp;&amp; c || r.dequeue(this, a)
                })
            },
            finish: function (a) {
                return a !== !1 &amp;&amp; (a = a || "fx"), this.each(function () {
                    var b,
                        c = V.get(this),
                        d = c[a + "queue"],
                        e = c[a + "queueHooks"],
                        f = r.timers,
                        g = d ? d.length : 0;
                    for (c.finish = !0, r.queue(this, a, []), e &amp;&amp; e.stop &amp;&amp; e.stop.call(this, !0), b = f.length; b--;)
                        f[b].elem === this &amp;&amp; f[b].queue === a &amp;&amp; (f[b].anim.stop(!0), f.splice(b, 1));
                    for (b = 0; g &gt; b; b++)
                        d[b] &amp;&amp; d[b].finish &amp;&amp; d[b].finish.call(this);
                    delete c.finish
                })
            }
        }),
        r.each(["toggle", "show", "hide"], function (a, b) {
            var c = r.fn[b];
            r.fn[b] = function (a, d, e) {
                return null == a || "boolean" == typeof a ? c.apply(this, arguments) : this.animate(cb(b, !0), a, d, e)
            }
        }),
        r.each({
            slideDown: cb("show"),
            slideUp: cb("hide"),
            slideToggle: cb("toggle"),
            fadeIn: { opacity: "show" },
            fadeOut: { opacity: "hide" },
            fadeToggle: { opacity: "toggle" }
        }, function (a, b) {
            r.fn[a] = function (a, c, d) {
                return this.animate(b, a, c, d)
            }
        }),
        r.timers = [],
        r.fx.tick = function () {
            var a,
                b = 0,
                c = r.timers;
            for (Ya = r.now(); b &lt; c.length; b++)
                a = c[b],
                    a() || c[b] !== a || c.splice(b--, 1);
            c.length || r.fx.stop(),
                Ya = void 0
        },
        r.fx.timer = function (a) {
            r.timers.push(a),
                a() ? r.fx.start() : r.timers.pop()
        },
        r.fx.interval = 13,
        r.fx.start = function () {
            Za || (Za = a.requestAnimationFrame ? a.requestAnimationFrame(ab) : a.setInterval(r.fx.tick, r.fx.interval))
        },
        r.fx.stop = function () {
            a.cancelAnimationFrame ? a.cancelAnimationFrame(Za) : a.clearInterval(Za),
                Za = null
        },
        r.fx.speeds = {
            slow: 600,
            fast: 200,
            _default: 400
        },
        r.fn.delay = function (b, c) {
            return b = r.fx ? r.fx.speeds[b] || b : b, c = c || "fx", this.queue(c, function (c, d) {
                var e = a.setTimeout(c, b);
                d.stop = function () {
                    a.clearTimeout(e)
                }
            })
        },
        function () {
            var a = d.createElement("input"),
                b = d.createElement("select"),
                c = b.appendChild(d.createElement("option"));
            a.type = "checkbox",
                o.checkOn = "" !== a.value,
                o.optSelected = c.selected,
                a = d.createElement("input"),
                a.value = "t",
                a.type = "radio",
                o.radioValue = "t" === a.value
        }();
    var hb,
        ib = r.expr.attrHandle;
    r.fn.extend({
        attr: function (a, b) {
            return S(this, r.attr, a, b, arguments.length &gt; 1)
        },
        removeAttr: function (a) {
            return this.each(function () {
                r.removeAttr(this, a)
            })
        }
    }),
        r.extend({
            attr: function (a, b, c) {
                var d,
                    e,
                    f = a.nodeType;
                if (3 !== f &amp;&amp; 8 !== f &amp;&amp; 2 !== f)
                    return "undefined" == typeof a.getAttribute ? r.prop(a, b, c) : (1 === f &amp;&amp; r.isXMLDoc(a) || (e = r.attrHooks[b.toLowerCase()] || (r.expr.match.bool.test(b) ? hb : void 0)), void 0 !== c ? null === c ? void r.removeAttr(a, b) : e &amp;&amp; "set" in e &amp;&amp; void 0 !== (d = e.set(a, c, b)) ? d : (a.setAttribute(b, c + ""), c) : e &amp;&amp; "get" in e &amp;&amp; null !== (d = e.get(a, b)) ? d : (d = r.find.attr(a, b), null == d ? void 0 : d))
            },
            attrHooks: {
                type: {
                    set: function (a, b) {
                        if (!o.radioValue &amp;&amp; "radio" === b &amp;&amp; r.nodeName(a, "input")) {
                            var c = a.value;
                            return a.setAttribute("type", b), c &amp;&amp; (a.value = c), b
                        }
                    }
                }
            },
            removeAttr: function (a, b) {
                var c,
                    d = 0,
                    e = b &amp;&amp; b.match(K);
                if (e &amp;&amp; 1 === a.nodeType)
                    while (c = e[d++])
                        a.removeAttribute(c)
            }
        }),
        hb = {
            set: function (a, b, c) {
                return b === !1 ? r.removeAttr(a, c) : a.setAttribute(c, c), c
            }
        },
        r.each(r.expr.match.bool.source.match(/\w+/g), function (a, b) {
            var c = ib[b] || r.find.attr;
            ib[b] = function (a, b, d) {
                var e,
                    f,
                    g = b.toLowerCase();
                return d || (f = ib[g], ib[g] = e, e = null != c(a, b, d) ? g : null, ib[g] = f), e
            }
        });
    var jb = /^(?:input|select|textarea|button)$/i,
        kb = /^(?:a|area)$/i;
    r.fn.extend({
        prop: function (a, b) {
            return S(this, r.prop, a, b, arguments.length &gt; 1)
        },
        removeProp: function (a) {
            return this.each(function () {
                delete this[r.propFix[a] || a]
            })
        }
    }),
        r.extend({
            prop: function (a, b, c) {
                var d,
                    e,
                    f = a.nodeType;
                if (3 !== f &amp;&amp; 8 !== f &amp;&amp; 2 !== f)
                    return 1 === f &amp;&amp; r.isXMLDoc(a) || (b = r.propFix[b] || b, e = r.propHooks[b]), void 0 !== c ? e &amp;&amp; "set" in e &amp;&amp; void 0 !== (d = e.set(a, c, b)) ? d : a[b] = c : e &amp;&amp; "get" in e &amp;&amp; null !== (d = e.get(a, b)) ? d : a[b]
            },
            propHooks: {
                tabIndex: {
                    get: function (a) {
                        var b = r.find.attr(a, "tabindex");
                        return b ? parseInt(b, 10) : jb.test(a.nodeName) || kb.test(a.nodeName) &amp;&amp; a.href ? 0 : -1
                    }
                }
            },
            propFix: {
                for: "htmlFor",
                class: "className"
            }
        }),
        o.optSelected || (r.propHooks.selected = {
            get: function (a) {
                var b = a.parentNode;
                return b &amp;&amp; b.parentNode &amp;&amp; b.parentNode.selectedIndex, null
            },
            set: function (a) {
                var b = a.parentNode;
                b &amp;&amp; (b.selectedIndex, b.parentNode &amp;&amp; b.parentNode.selectedIndex)
            }
        }),
        r.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
            r.propFix[this.toLowerCase()] = this
        });
    var lb = /[\t\r\n\f]/g;
    function mb(a) {
        return a.getAttribute &amp;&amp; a.getAttribute("class") || ""
    }
    r.fn.extend({
        addClass: function (a) {
            var b,
                c,
                d,
                e,
                f,
                g,
                h,
                i = 0;
            if (r.isFunction(a))
                return this.each(function (b) {
                    r(this).addClass(a.call(this, b, mb(this)))
                });
            if ("string" == typeof a &amp;&amp; a) {
                b = a.match(K) || [];
                while (c = this[i++])
                    if (e = mb(c), d = 1 === c.nodeType &amp;&amp; (" " + e + " ").replace(lb, " ")) {
                        g = 0;
                        while (f = b[g++])
                            d.indexOf(" " + f + " ") &lt; 0 &amp;&amp; (d += f + " ");
                        h = r.trim(d),
                            e !== h &amp;&amp; c.setAttribute("class", h)
                    }
            }
            return this
        },
        removeClass: function (a) {
            var b,
                c,
                d,
                e,
                f,
                g,
                h,
                i = 0;
            if (r.isFunction(a))
                return this.each(function (b) {
                    r(this).removeClass(a.call(this, b, mb(this)))
                });
            if (!arguments.length)
                return this.attr("class", "");
            if ("string" == typeof a &amp;&amp; a) {
                b = a.match(K) || [];
                while (c = this[i++])
                    if (e = mb(c), d = 1 === c.nodeType &amp;&amp; (" " + e + " ").replace(lb, " ")) {
                        g = 0;
                        while (f = b[g++])
                            while (d.indexOf(" " + f + " ") &gt; -1)
                                d = d.replace(" " + f + " ", " ");
                        h = r.trim(d),
                            e !== h &amp;&amp; c.setAttribute("class", h)
                    }
            }
            return this
        },
        toggleClass: function (a, b) {
            var c = typeof a;
            return "boolean" == typeof b &amp;&amp; "string" === c ? b ? this.addClass(a) : this.removeClass(a) : r.isFunction(a) ? this.each(function (c) {
                r(this).toggleClass(a.call(this, c, mb(this), b), b)
            }) : this.each(function () {
                var b,
                    d,
                    e,
                    f;
                if ("string" === c) {
                    d = 0,
                        e = r(this),
                        f = a.match(K) || [];
                    while (b = f[d++])
                        e.hasClass(b) ? e.removeClass(b) : e.addClass(b)
                }
                else
                    void 0 !== a &amp;&amp; "boolean" !== c || (b = mb(this), b &amp;&amp; V.set(this, "__className__", b), this.setAttribute &amp;&amp; this.setAttribute("class", b || a === !1 ? "" : V.get(this, "__className__") || ""))
            })
        },
        hasClass: function (a) {
            var b,
                c,
                d = 0;
            b = " " + a + " ";
            while (c = this[d++])
                if (1 === c.nodeType &amp;&amp; (" " + mb(c) + " ").replace(lb, " ").indexOf(b) &gt; -1)
                    return !0;
            return !1
        }
    });
    var nb = /\r/g,
        ob = /[\x20\t\r\n\f]+/g;
    r.fn.extend({
        val: function (a) {
            var b,
                c,
                d,
                e = this[0];
            {
                if (arguments.length)
                    return d = r.isFunction(a), this.each(function (c) {
                        var e;
                        1 === this.nodeType &amp;&amp; (e = d ? a.call(this, c, r(this).val()) : a, null == e ? e = "" : "number" == typeof e ? e += "" : r.isArray(e) &amp;&amp; (e = r.map(e, function (a) {
                            return null == a ? "" : a + ""
                        })), b = r.valHooks[this.type] || r.valHooks[this.nodeName.toLowerCase()], b &amp;&amp; "set" in b &amp;&amp; void 0 !== b.set(this, e, "value") || (this.value = e))
                    });
                if (e)
                    return b = r.valHooks[e.type] || r.valHooks[e.nodeName.toLowerCase()], b &amp;&amp; "get" in b &amp;&amp; void 0 !== (c = b.get(e, "value")) ? c : (c = e.value, "string" == typeof c ? c.replace(nb, "") : null == c ? "" : c)
            }
        }
    }),
        r.extend({
            valHooks: {
                option: {
                    get: function (a) {
                        var b = r.find.attr(a, "value");
                        return null != b ? b : r.trim(r.text(a)).replace(ob, " ")
                    }
                },
                select: {
                    get: function (a) {
                        for (var b, c, d = a.options, e = a.selectedIndex, f = "select-one" === a.type, g = f ? null : [], h = f ? e + 1 : d.length, i = 0 &gt; e ? h : f ? e : 0; h &gt; i; i++)
                            if (c = d[i], (c.selected || i === e) &amp;&amp; !c.disabled &amp;&amp; (!c.parentNode.disabled || !r.nodeName(c.parentNode, "optgroup"))) {
                                if (b = r(c).val(), f)
                                    return b;
                                g.push(b)
                            }
                        return g
                    },
                    set: function (a, b) {
                        var c,
                            d,
                            e = a.options,
                            f = r.makeArray(b),
                            g = e.length;
                        while (g--)
                            d = e[g],
                                (d.selected = r.inArray(r.valHooks.option.get(d), f) &gt; -1) &amp;&amp; (c = !0);
                        return c || (a.selectedIndex = -1), f
                    }
                }
            }
        }),
        r.each(["radio", "checkbox"], function () {
            r.valHooks[this] = {
                set: function (a, b) {
                    return r.isArray(b) ? a.checked = r.inArray(r(a).val(), b) &gt; -1 : void 0
                }
            },
                o.checkOn || (r.valHooks[this].get = function (a) {
                    return null === a.getAttribute("value") ? "on" : a.value
                })
        });
    var pb = /^(?:focusinfocus|focusoutblur)$/;
    r.extend(r.event, {
        trigger: function (b, c, e, f) {
            var g,
                h,
                i,
                j,
                k,
                m,
                n,
                o = [
                    e || d
                ],
                p = l.call(b, "type") ? b.type : b,
                q = l.call(b, "namespace") ? b.namespace.split(".") : [];
            if (h = i = e = e || d, 3 !== e.nodeType &amp;&amp; 8 !== e.nodeType &amp;&amp; !pb.test(p + r.event.triggered) &amp;&amp; (p.indexOf(".") &gt; -1 &amp;&amp; (q = p.split("."), p = q.shift(), q.sort()), k = p.indexOf(":") &lt; 0 &amp;&amp; "on" + p, b = b[r.expando] ? b : new r.Event(p, "object" == typeof b &amp;&amp; b), b.isTrigger = f ? 2 : 3, b.namespace = q.join("."), b.rnamespace = b.namespace ? new RegExp("(^|\\.)" + q.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, b.result = void 0, b.target || (b.target = e), c = null == c ? [
                b
            ] : r.makeArray(c, [
                b
            ]), n = r.event.special[p] || {}, f || !n.trigger || n.trigger.apply(e, c) !== !1)) {
                if (!f &amp;&amp; !n.noBubble &amp;&amp; !r.isWindow(e)) {
                    for (j = n.delegateType || p, pb.test(j + p) || (h = h.parentNode); h; h = h.parentNode)
                        o.push(h),
                            i = h;
                    i === (e.ownerDocument || d) &amp;&amp; o.push(i.defaultView || i.parentWindow || a)
                }
                g = 0;
                while ((h = o[g++]) &amp;&amp; !b.isPropagationStopped())
                    b.type = g &gt; 1 ? j : n.bindType || p,
                        m = (V.get(h, "events") || {})[b.type] &amp;&amp; V.get(h, "handle"),
                        m &amp;&amp; m.apply(h, c),
                        m = k &amp;&amp; h[k],
                        m &amp;&amp; m.apply &amp;&amp; T(h) &amp;&amp; (b.result = m.apply(h, c), b.result === !1 &amp;&amp; b.preventDefault());
                return b.type = p, f || b.isDefaultPrevented() || n._default &amp;&amp; n._default.apply(o.pop(), c) !== !1 || !T(e) || k &amp;&amp; r.isFunction(e[p]) &amp;&amp; !r.isWindow(e) &amp;&amp; (i = e[k], i &amp;&amp; (e[k] = null), r.event.triggered = p, e[p](), r.event.triggered = void 0, i &amp;&amp; (e[k] = i)), b.result
            }
        },
        simulate: function (a, b, c) {
            var d = r.extend(new r.Event, c, {
                type: a,
                isSimulated: !0
            });
            r.event.trigger(d, null, b)
        }
    }),
        r.fn.extend({
            trigger: function (a, b) {
                return this.each(function () {
                    r.event.trigger(a, b, this)
                })
            },
            triggerHandler: function (a, b) {
                var c = this[0];
                return c ? r.event.trigger(a, b, c, !0) : void 0
            }
        }),
        r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (a, b) {
            r.fn[b] = function (a, c) {
                return arguments.length &gt; 0 ? this.on(b, null, a, c) : this.trigger(b)
            }
        }),
        r.fn.extend({
            hover: function (a, b) {
                return this.mouseenter(a).mouseleave(b || a)
            }
        }),
        o.focusin = "onfocusin" in a,
        o.focusin || r.each({
            focus: "focusin",
            blur: "focusout"
        }, function (a, b) {
            var c = function (a) {
                r.event.simulate(b, a.target, r.event.fix(a))
            };
            r.event.special[b] = {
                setup: function () {
                    var d = this.ownerDocument || this,
                        e = V.access(d, b);
                    e || d.addEventListener(a, c, !0),
                        V.access(d, b, (e || 0) + 1)
                },
                teardown: function () {
                    var d = this.ownerDocument || this,
                        e = V.access(d, b) - 1;
                    e ? V.access(d, b, e) : (d.removeEventListener(a, c, !0), V.remove(d, b))
                }
            }
        });
    var qb = a.location,
        rb = r.now(),
        sb = /\?/;
    r.parseXML = function (b) {
        var c;
        if (!b || "string" != typeof b)
            return null;
        try {
            c = (new a.DOMParser).parseFromString(b, "text/xml")
        }
        catch (d) {
            c = void 0
        }
        return c &amp;&amp; !c.getElementsByTagName("parsererror").length || r.error("Invalid XML: " + b), c
    };
    var tb = /\[\]$/,
        ub = /\r?\n/g,
        vb = /^(?:submit|button|image|reset|file)$/i,
        wb = /^(?:input|select|textarea|keygen)/i;
    function xb(a, b, c, d) {
        var e;
        if (r.isArray(b))
            r.each(b, function (b, e) {
                c || tb.test(a) ? d(a, e) : xb(a + "[" + ("object" == typeof e &amp;&amp; null != e ? b : "") + "]", e, c, d)
            });
        else if (c || "object" !== r.type(b))
            d(a, b);
        else
            for (e in b)
                xb(a + "[" + e + "]", b[e], c, d)
    }
    r.param = function (a, b) {
        var c,
            d = [],
            e = function (a, b) {
                var c = r.isFunction(b) ? b() : b;
                d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(null == c ? "" : c)
            };
        if (r.isArray(a) || a.jquery &amp;&amp; !r.isPlainObject(a))
            r.each(a, function () {
                e(this.name, this.value)
            });
        else
            for (c in a)
                xb(c, a[c], b, e);
        return d.join("&amp;")
    },
        r.fn.extend({
            serialize: function () {
                return r.param(this.serializeArray())
            },
            serializeArray: function () {
                return this.map(function () {
                    var a = r.prop(this, "elements");
                    return a ? r.makeArray(a) : this
                }).filter(function () {
                    var a = this.type;
                    return this.name &amp;&amp; !r(this).is(":disabled") &amp;&amp; wb.test(this.nodeName) &amp;&amp; !vb.test(a) &amp;&amp; (this.checked || !ha.test(a))
                }).map(function (a, b) {
                    var c = r(this).val();
                    return null == c ? null : r.isArray(c) ? r.map(c, function (a) {
                        return {
                            name: b.name,
                            value: a.replace(ub, "\r\n")
                        }
                    }) : {
                        name: b.name,
                        value: c.replace(ub, "\r\n")
                    }
                }).get()
            }
        });
    var yb = /%20/g,
        zb = /#.*$/,
        Ab = /([?&amp;])_=[^&amp;]*/,
        Bb = /^(.*?):[ \t]*([^\r\n]*)$/gm,
        Cb = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
        Db = /^(?:GET|HEAD)$/,
        Eb = /^\/\//,
        Fb = {},
        Gb = {},
        Hb = "*/".concat("*"),
        Ib = d.createElement("a");
    Ib.href = qb.href;
    function Jb(a) {
        return function (b, c) {
            "string" != typeof b &amp;&amp; (c = b, b = "*");
            var d,
                e = 0,
                f = b.toLowerCase().match(K) || [];
            if (r.isFunction(c))
                while (d = f[e++])
                    "+" === d[0] ? (d = d.slice(1) || "*", (a[d] = a[d] || []).unshift(c)) : (a[d] = a[d] || []).push(c)
        }
    }
    function Kb(a, b, c, d) {
        var e = {},
            f = a === Gb;
        function g(h) {
            var i;
            return e[h] = !0, r.each(a[h] || [], function (a, h) {
                var j = h(b, c, d);
                return "string" != typeof j || f || e[j] ? f ? !(i = j) : void 0 : (b.dataTypes.unshift(j), g(j), !1)
            }), i
        }
        return g(b.dataTypes[0]) || !e["*"] &amp;&amp; g("*")
    }
    function Lb(a, b) {
        var c,
            d,
            e = r.ajaxSettings.flatOptions || {};
        for (c in b)
            void 0 !== b[c] &amp;&amp; ((e[c] ? a : d || (d = {}))[c] = b[c]);
        return d &amp;&amp; r.extend(!0, a, d), a
    }
    function Mb(a, b, c) {
        var d,
            e,
            f,
            g,
            h = a.contents,
            i = a.dataTypes;
        while ("*" === i[0])
            i.shift(),
                void 0 === d &amp;&amp; (d = a.mimeType || b.getResponseHeader("Content-Type"));
        if (d)
            for (e in h)
                if (h[e] &amp;&amp; h[e].test(d)) {
                    i.unshift(e);
                    break
                }
        if (i[0] in c)
            f = i[0];
        else {
            for (e in c) {
                if (!i[0] || a.converters[e + " " + i[0]]) {
                    f = e;
                    break
                }
                g || (g = e)
            }
            f = f || g
        }
        return f ? (f !== i[0] &amp;&amp; i.unshift(f), c[f]) : void 0
    }
    function Nb(a, b, c, d) {
        var e,
            f,
            g,
            h,
            i,
            j = {},
            k = a.dataTypes.slice();
        if (k[1])
            for (g in a.converters)
                j[g.toLowerCase()] = a.converters[g];
        f = k.shift();
        while (f)
            if (a.responseFields[f] &amp;&amp; (c[a.responseFields[f]] = b), !i &amp;&amp; d &amp;&amp; a.dataFilter &amp;&amp; (b = a.dataFilter(b, a.dataType)), i = f, f = k.shift())
                if ("*" === f)
                    f = i;
                else if ("*" !== i &amp;&amp; i !== f) {
                    if (g = j[i + " " + f] || j["* " + f], !g)
                        for (e in j)
                            if (h = e.split(" "), h[1] === f &amp;&amp; (g = j[i + " " + h[0]] || j["* " + h[0]])) {
                                g === !0 ? g = j[e] : j[e] !== !0 &amp;&amp; (f = h[0], k.unshift(h[1]));
                                break
                            }
                    if (g !== !0)
                        if (g &amp;&amp; a["throws"])
                            b = g(b);
                        else
                            try {
                                b = g(b)
                            }
                            catch (l) {
                                return {
                                    state: "parsererror",
                                    error: g ? l : "No conversion from " + i + " to " + f
                                }
                            }
                }
        return {
            state: "success",
            data: b
        }
    }
    r.extend({
        active: 0,
        lastModified: {},
        etag: {},
        ajaxSettings: {
            url: qb.href,
            type: "GET",
            isLocal: Cb.test(qb.protocol),
            global: !0,
            processData: !0,
            async: !0,
            contentType: "application/x-www-form-urlencoded; charset=UTF-8",
            accepts: {
                "*": Hb,
                text: "text/plain",
                html: "text/html",
                xml: "application/xml, text/xml",
                json: "application/json, text/javascript"
            },
            contents: {
                xml: /\bxml\b/,
                html: /\bhtml/,
                json: /\bjson\b/
            },
            responseFields: {
                xml: "responseXML",
                text: "responseText",
                json: "responseJSON"
            },
            converters: {
                "* text": String,
                "text html": !0,
                "text json": JSON.parse,
                "text xml": r.parseXML
            },
            flatOptions: {
                url: !0,
                context: !0
            }
        },
        ajaxSetup: function (a, b) {
            return b ? Lb(Lb(a, r.ajaxSettings), b) : Lb(r.ajaxSettings, a)
        },
        ajaxPrefilter: Jb(Fb),
        ajaxTransport: Jb(Gb),
        ajax: function (b, c) {
            "object" == typeof b &amp;&amp; (c = b, b = void 0),
                c = c || {};
            var e,
                f,
                g,
                h,
                i,
                j,
                k,
                l,
                m,
                n,
                o = r.ajaxSetup({}, c),
                p = o.context || o,
                q = o.context &amp;&amp; (p.nodeType || p.jquery) ? r(p) : r.event,
                s = r.Deferred(),
                t = r.Callbacks("once memory"),
                u = o.statusCode || {},
                v = {},
                w = {},
                x = "canceled",
                y = {
                    readyState: 0,
                    getResponseHeader: function (a) {
                        var b;
                        if (k) {
                            if (!h) {
                                h = {};
                                while (b = Bb.exec(g))
                                    h[b[1].toLowerCase()] = b[2]
                            }
                            b = h[a.toLowerCase()]
                        }
                        return null == b ? null : b
                    },
                    getAllResponseHeaders: function () {
                        return k ? g : null
                    },
                    setRequestHeader: function (a, b) {
                        return null == k &amp;&amp; (a = w[a.toLowerCase()] = w[a.toLowerCase()] || a, v[a] = b), this
                    },
                    overrideMimeType: function (a) {
                        return null == k &amp;&amp; (o.mimeType = a), this
                    },
                    statusCode: function (a) {
                        var b;
                        if (a)
                            if (k)
                                y.always(a[y.status]);
                            else
                                for (b in a)
                                    u[b] = [
                                        u[b],
                                        a[b]
                                    ];
                        return this
                    },
                    abort: function (a) {
                        var b = a || x;
                        return e &amp;&amp; e.abort(b), A(0, b), this
                    }
                };
            if (s.promise(y), o.url = ((b || o.url || qb.href) + "").replace(Eb, qb.protocol + "//"), o.type = c.method || c.type || o.method || o.type, o.dataTypes = (o.dataType || "*").toLowerCase().match(K) || [""], null == o.crossDomain) {
                j = d.createElement("a");
                try {
                    j.href = o.url,
                        j.href = j.href,
                        o.crossDomain = Ib.protocol + "//" + Ib.host != j.protocol + "//" + j.host
                }
                catch (z) {
                    o.crossDomain = !0
                }
            }
            if (o.data &amp;&amp; o.processData &amp;&amp; "string" != typeof o.data &amp;&amp; (o.data = r.param(o.data, o.traditional)), Kb(Fb, o, c, y), k)
                return y;
            l = r.event &amp;&amp; o.global,
                l &amp;&amp; 0 === r.active++ &amp;&amp; r.event.trigger("ajaxStart"),
                o.type = o.type.toUpperCase(),
                o.hasContent = !Db.test(o.type),
                f = o.url.replace(zb, ""),
                o.hasContent ? o.data &amp;&amp; o.processData &amp;&amp; 0 === (o.contentType || "").indexOf("application/x-www-form-urlencoded") &amp;&amp; (o.data = o.data.replace(yb, "+")) : (n = o.url.slice(f.length), o.data &amp;&amp; (f += (sb.test(f) ? "&amp;" : "?") + o.data, delete o.data), o.cache === !1 &amp;&amp; (f = f.replace(Ab, ""), n = (sb.test(f) ? "&amp;" : "?") + "_=" + rb++ + n), o.url = f + n),
                o.ifModified &amp;&amp; (r.lastModified[f] &amp;&amp; y.setRequestHeader("If-Modified-Since", r.lastModified[f]), r.etag[f] &amp;&amp; y.setRequestHeader("If-None-Match", r.etag[f])),
                (o.data &amp;&amp; o.hasContent &amp;&amp; o.contentType !== !1 || c.contentType) &amp;&amp; y.setRequestHeader("Content-Type", o.contentType),
                y.setRequestHeader("Accept", o.dataTypes[0] &amp;&amp; o.accepts[o.dataTypes[0]] ? o.accepts[o.dataTypes[0]] + ("*" !== o.dataTypes[0] ? ", " + Hb + "; q=0.01" : "") : o.accepts["*"]);
            for (m in o.headers)
                y.setRequestHeader(m, o.headers[m]);
            if (o.beforeSend &amp;&amp; (o.beforeSend.call(p, y, o) === !1 || k))
                return y.abort();
            if (x = "abort", t.add(o.complete), y.done(o.success), y.fail(o.error), e = Kb(Gb, o, c, y)) {
                if (y.readyState = 1, l &amp;&amp; q.trigger("ajaxSend", [
                    y,
                    o
                ]), k)
                    return y;
                o.async &amp;&amp; o.timeout &gt; 0 &amp;&amp; (i = a.setTimeout(function () {
                    y.abort("timeout")
                }, o.timeout));
                try {
                    k = !1,
                        e.send(v, A)
                }
                catch (z) {
                    if (k)
                        throw z;
                    A(-1, z)
                }
            }
            else
                A(-1, "No Transport");
            function A(b, c, d, h) {
                var j,
                    m,
                    n,
                    v,
                    w,
                    x = c;
                k || (k = !0, i &amp;&amp; a.clearTimeout(i), e = void 0, g = h || "", y.readyState = b &gt; 0 ? 4 : 0, j = b &gt;= 200 &amp;&amp; 300 &gt; b || 304 === b, d &amp;&amp; (v = Mb(o, y, d)), v = Nb(o, v, y, j), j ? (o.ifModified &amp;&amp; (w = y.getResponseHeader("Last-Modified"), w &amp;&amp; (r.lastModified[f] = w), w = y.getResponseHeader("etag"), w &amp;&amp; (r.etag[f] = w)), 204 === b || "HEAD" === o.type ? x = "nocontent" : 304 === b ? x = "notmodified" : (x = v.state, m = v.data, n = v.error, j = !n)) : (n = x, !b &amp;&amp; x || (x = "error", 0 &gt; b &amp;&amp; (b = 0))), y.status = b, y.statusText = (c || x) + "", j ? s.resolveWith(p, [
                    m,
                    x,
                    y
                ]) : s.rejectWith(p, [
                    y,
                    x,
                    n
                ]), y.statusCode(u), u = void 0, l &amp;&amp; q.trigger(j ? "ajaxSuccess" : "ajaxError", [
                    y,
                    o,
                    j ? m : n
                ]), t.fireWith(p, [
                    y,
                    x
                ]), l &amp;&amp; (q.trigger("ajaxComplete", [
                    y,
                    o
                ]), --r.active || r.event.trigger("ajaxStop")))
            }
            return y
        },
        getJSON: function (a, b, c) {
            return r.get(a, b, c, "json")
        },
        getScript: function (a, b) {
            return r.get(a, void 0, b, "script")
        }
    }),
        r.each(["get", "post"], function (a, b) {
            r[b] = function (a, c, d, e) {
                return r.isFunction(c) &amp;&amp; (e = e || d, d = c, c = void 0), r.ajax(r.extend({
                    url: a,
                    type: b,
                    dataType: e,
                    data: c,
                    success: d
                }, r.isPlainObject(a) &amp;&amp; a))
            }
        }),
        r._evalUrl = function (a) {
            return r.ajax({
                url: a,
                type: "GET",
                dataType: "script",
                cache: !0,
                async: !1,
                global: !1,
                throws: !0
            })
        },
        r.fn.extend({
            wrapAll: function (a) {
                var b;
                return this[0] &amp;&amp; (r.isFunction(a) &amp;&amp; (a = a.call(this[0])), b = r(a, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode &amp;&amp; b.insertBefore(this[0]), b.map(function () {
                    var a = this;
                    while (a.firstElementChild)
                        a = a.firstElementChild;
                    return a
                }).append(this)), this
            },
            wrapInner: function (a) {
                return r.isFunction(a) ? this.each(function (b) {
                    r(this).wrapInner(a.call(this, b))
                }) : this.each(function () {
                    var b = r(this),
                        c = b.contents();
                    c.length ? c.wrapAll(a) : b.append(a)
                })
            },
            wrap: function (a) {
                var b = r.isFunction(a);
                return this.each(function (c) {
                    r(this).wrapAll(b ? a.call(this, c) : a)
                })
            },
            unwrap: function (a) {
                return this.parent(a).not("body").each(function () {
                    r(this).replaceWith(this.childNodes)
                }), this
            }
        }),
        r.expr.pseudos.hidden = function (a) {
            return !r.expr.pseudos.visible(a)
        },
        r.expr.pseudos.visible = function (a) {
            return !!(a.offsetWidth || a.offsetHeight || a.getClientRects().length)
        },
        r.ajaxSettings.xhr = function () {
            try {
                return new a.XMLHttpRequest
            }
            catch (b) { }
        };
    var Ob = {
        0: 200,
        1223: 204
    },
        Pb = r.ajaxSettings.xhr();
    o.cors = !!Pb &amp;&amp; "withCredentials" in Pb,
        o.ajax = Pb = !!Pb,
        r.ajaxTransport(function (b) {
            var c,
                d;
            return o.cors || Pb &amp;&amp; !b.crossDomain ? {
                send: function (e, f) {
                    var g,
                        h = b.xhr();
                    if (h.open(b.type, b.url, b.async, b.username, b.password), b.xhrFields)
                        for (g in b.xhrFields)
                            h[g] = b.xhrFields[g];
                    b.mimeType &amp;&amp; h.overrideMimeType &amp;&amp; h.overrideMimeType(b.mimeType),
                        b.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest");
                    for (g in e)
                        h.setRequestHeader(g, e[g]);
                    c = function (a) {
                        return function () {
                            c &amp;&amp; (c = d = h.onload = h.onerror = h.onabort = h.onreadystatechange = null, "abort" === a ? h.abort() : "error" === a ? "number" != typeof h.status ? f(0, "error") : f(h.status, h.statusText) : f(Ob[h.status] || h.status, h.statusText, "text" !== (h.responseType || "text") || "string" != typeof h.responseText ? { binary: h.response } : { text: h.responseText }, h.getAllResponseHeaders()))
                        }
                    },
                        h.onload = c(),
                        d = h.onerror = c("error"),
                        void 0 !== h.onabort ? h.onabort = d : h.onreadystatechange = function () {
                            4 === h.readyState &amp;&amp; a.setTimeout(function () {
                                c &amp;&amp; d()
                            })
                        },
                        c = c("abort");
                    try {
                        h.send(b.hasContent &amp;&amp; b.data || null)
                    }
                    catch (i) {
                        if (c)
                            throw i;
                    }
                },
                abort: function () {
                    c &amp;&amp; c()
                }
            } : void 0
        }),
        r.ajaxPrefilter(function (a) {
            a.crossDomain &amp;&amp; (a.contents.script = !1)
        }),
        r.ajaxSetup({
            accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" },
            contents: { script: /\b(?:java|ecma)script\b/ },
            converters: {
                "text script": function (a) {
                    return r.globalEval(a), a
                }
            }
        }),
        r.ajaxPrefilter("script", function (a) {
            void 0 === a.cache &amp;&amp; (a.cache = !1),
                a.crossDomain &amp;&amp; (a.type = "GET")
        }),
        r.ajaxTransport("script", function (a) {
            if (a.crossDomain) {
                var b,
                    c;
                return {
                    send: function (e, f) {
                        b = r("&lt;script&gt;").prop({
                            charset: a.scriptCharset,
                            src: a.url
                        }).on("load error", c = function (a) {
                            b.remove(),
                                c = null,
                                a &amp;&amp; f("error" === a.type ? 404 : 200, a.type)
                        }),
                            d.head.appendChild(b[0])
                    },
                    abort: function () {
                        c &amp;&amp; c()
                    }
                }
            }
        });
    var Qb = [],
        Rb = /(=)\?(?=&amp;|$)|\?\?/;
    r.ajaxSetup({
        jsonp: "callback",
        jsonpCallback: function () {
            var a = Qb.pop() || r.expando + "_" + rb++;
            return this[a] = !0, a
        }
    }),
        r.ajaxPrefilter("json jsonp", function (b, c, d) {
            var e,
                f,
                g,
                h = b.jsonp !== !1 &amp;&amp; (Rb.test(b.url) ? "url" : "string" == typeof b.data &amp;&amp; 0 === (b.contentType || "").indexOf("application/x-www-form-urlencoded") &amp;&amp; Rb.test(b.data) &amp;&amp; "data");
            return h || "jsonp" === b.dataTypes[0] ? (e = b.jsonpCallback = r.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, h ? b[h] = b[h].replace(Rb, "$1" + e) : b.jsonp !== !1 &amp;&amp; (b.url += (sb.test(b.url) ? "&amp;" : "?") + b.jsonp + "=" + e), b.converters["script json"] = function () {
                return g || r.error(e + " was not called"), g[0]
            }, b.dataTypes[0] = "json", f = a[e], a[e] = function () {
                g = arguments
            }, d.always(function () {
                void 0 === f ? r(a).removeProp(e) : a[e] = f,
                    b[e] &amp;&amp; (b.jsonpCallback = c.jsonpCallback, Qb.push(e)),
                    g &amp;&amp; r.isFunction(f) &amp;&amp; f(g[0]),
                    g = f = void 0
            }), "script") : void 0
        }),
        o.createHTMLDocument = function () {
            var a = d.implementation.createHTMLDocument("").body;
            return a.innerHTML = "&lt;form&gt;&lt;/form&gt;&lt;form&gt;&lt;/form&gt;", 2 === a.childNodes.length
        }(),
        r.parseHTML = function (a, b, c) {
            if ("string" != typeof a)
                return [];
            "boolean" == typeof b &amp;&amp; (c = b, b = !1);
            var e,
                f,
                g;
            return b || (o.createHTMLDocument ? (b = d.implementation.createHTMLDocument(""), e = b.createElement("base"), e.href = d.location.href, b.head.appendChild(e)) : b = d), f = B.exec(a), g = !c &amp;&amp; [], f ? [
                b.createElement(f[1])
            ] : (f = oa([
                a
            ], b, g), g &amp;&amp; g.length &amp;&amp; r(g).remove(), r.merge([], f.childNodes))
        },
        r.fn.load = function (a, b, c) {
            var d,
                e,
                f,
                g = this,
                h = a.indexOf(" ");
            return h &gt; -1 &amp;&amp; (d = r.trim(a.slice(h)), a = a.slice(0, h)), r.isFunction(b) ? (c = b, b = void 0) : b &amp;&amp; "object" == typeof b &amp;&amp; (e = "POST"), g.length &gt; 0 &amp;&amp; r.ajax({
                url: a,
                type: e || "GET",
                dataType: "html",
                data: b
            }).done(function (a) {
                f = arguments,
                    g.html(d ? r("&lt;div&gt;").append(r.parseHTML(a)).find(d) : a)
            }).always(c &amp;&amp; function (a, b) {
                g.each(function () {
                    c.apply(this, f || [
                        a.responseText,
                        b,
                        a
                    ])
                })
            }), this
        },
        r.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (a, b) {
            r.fn[b] = function (a) {
                return this.on(b, a)
            }
        }),
        r.expr.pseudos.animated = function (a) {
            return r.grep(r.timers, function (b) {
                return a === b.elem
            }).length
        };
    function Sb(a) {
        return r.isWindow(a) ? a : 9 === a.nodeType &amp;&amp; a.defaultView
    }
    r.offset = {
        setOffset: function (a, b, c) {
            var d,
                e,
                f,
                g,
                h,
                i,
                j,
                k = r.css(a, "position"),
                l = r(a),
                m = {};
            "static" === k &amp;&amp; (a.style.position = "relative"),
                h = l.offset(),
                f = r.css(a, "top"),
                i = r.css(a, "left"),
                j = ("absolute" === k || "fixed" === k) &amp;&amp; (f + i).indexOf("auto") &gt; -1,
                j ? (d = l.position(), g = d.top, e = d.left) : (g = parseFloat(f) || 0, e = parseFloat(i) || 0),
                r.isFunction(b) &amp;&amp; (b = b.call(a, c, r.extend({}, h))),
                null != b.top &amp;&amp; (m.top = b.top - h.top + g),
                null != b.left &amp;&amp; (m.left = b.left - h.left + e),
                "using" in b ? b.using.call(a, m) : l.css(m)
        }
    },
        r.fn.extend({
            offset: function (a) {
                if (arguments.length)
                    return void 0 === a ? this : this.each(function (b) {
                        r.offset.setOffset(this, a, b)
                    });
                var b,
                    c,
                    d,
                    e,
                    f = this[0];
                if (f)
                    return f.getClientRects().length ? (d = f.getBoundingClientRect(), d.width || d.height ? (e = f.ownerDocument, c = Sb(e), b = e.documentElement, {
                        top: d.top + c.pageYOffset - b.clientTop,
                        left: d.left + c.pageXOffset - b.clientLeft
                    }) : d) : {
                        top: 0,
                        left: 0
                    }
            },
            position: function () {
                if (this[0]) {
                    var a,
                        b,
                        c = this[0],
                        d = {
                            top: 0,
                            left: 0
                        };
                    return "fixed" === r.css(c, "position") ? b = c.getBoundingClientRect() : (a = this.offsetParent(), b = this.offset(), r.nodeName(a[0], "html") || (d = a.offset()), d = {
                        top: d.top + r.css(a[0], "borderTopWidth", !0),
                        left: d.left + r.css(a[0], "borderLeftWidth", !0)
                    }), {
                        top: b.top - d.top - r.css(c, "marginTop", !0),
                        left: b.left - d.left - r.css(c, "marginLeft", !0)
                    }
                }
            },
            offsetParent: function () {
                return this.map(function () {
                    var a = this.offsetParent;
                    while (a &amp;&amp; "static" === r.css(a, "position"))
                        a = a.offsetParent;
                    return a || pa
                })
            }
        }),
        r.each({
            scrollLeft: "pageXOffset",
            scrollTop: "pageYOffset"
        }, function (a, b) {
            var c = "pageYOffset" === b;
            r.fn[a] = function (d) {
                return S(this, function (a, d, e) {
                    var f = Sb(a);
                    return void 0 === e ? f ? f[b] : a[d] : void (f ? f.scrollTo(c ? f.pageXOffset : e, c ? e : f.pageYOffset) : a[d] = e)
                }, a, d, arguments.length)
            }
        }),
        r.each(["top", "left"], function (a, b) {
            r.cssHooks[b] = Na(o.pixelPosition, function (a, c) {
                return c ? (c = Ma(a, b), Ka.test(c) ? r(a).position()[b] + "px" : c) : void 0
            })
        }),
        r.each({
            Height: "height",
            Width: "width"
        }, function (a, b) {
            r.each({
                padding: "inner" + a,
                content: b,
                "": "outer" + a
            }, function (c, d) {
                r.fn[d] = function (e, f) {
                    var g = arguments.length &amp;&amp; (c || "boolean" != typeof e),
                        h = c || (e === !0 || f === !0 ? "margin" : "border");
                    return S(this, function (b, c, e) {
                        var f;
                        return r.isWindow(b) ? 0 === d.indexOf("outer") ? b["inner" + a] : b.document.documentElement["client" + a] : 9 === b.nodeType ? (f = b.documentElement, Math.max(b.body["scroll" + a], f["scroll" + a], b.body["offset" + a], f["offset" + a], f["client" + a])) : void 0 === e ? r.css(b, c, h) : r.style(b, c, e, h)
                    }, b, g ? e : void 0, g)
                }
            })
        }),
        r.fn.extend({
            bind: function (a, b, c) {
                return this.on(a, null, b, c)
            },
            unbind: function (a, b) {
                return this.off(a, null, b)
            },
            delegate: function (a, b, c, d) {
                return this.on(b, a, c, d)
            },
            undelegate: function (a, b, c) {
                return 1 === arguments.length ? this.off(a, "**") : this.off(b, a || "**", c)
            }
        }),
        r.parseJSON = JSON.parse,
        "function" == typeof define &amp;&amp; define.amd &amp;&amp; define("jquery", [], function () {
            return r
        });
    var Tb = a.jQuery,
        Ub = a.$;
    return r.noConflict = function (b) {
        return a.$ === r &amp;&amp; (a.$ = Ub), b &amp;&amp; a.jQuery === r &amp;&amp; (a.jQuery = Tb), r
    }, b || (a.jQuery = a.$ = r), r
});
$g.getParentUrl = function () {
    var isInIframe = parent !== window,
        parentUrl = null;
    if (isInIframe) {
        parentUrl = document.referrer
    }
    return parentUrl
};
$g.loadCss = function (filename) {
    var l = document.createElement("link");
    l.rel = "stylesheet";
    l.href = filename;
    var h = document.getElementsByTagName("head")[0];
    h.parentNode.insertBefore(l, h)
};
$g.go_to_url = function (target_url, params) {
    try {
        var url_vars = avshow.getUrlVars(target_url);
        if (url_vars) {
            params = jQuery.extend({}, params, url_vars)
        }
        console.log("params:", params)
    }
    catch (e) {
        window.location.href = target_url
    }
    var go_form_html = "&lt;form name='go_to_url' class='none'&gt;&lt;/form&gt;";
    $("body").append($(go_form_html));
    $('form[name="go_to_url"]').attr("action", target_url);
    if (params) {
        var keys = Object.keys(params);
        for (var i = 0; i &lt; keys.length; ++i) {
            var input = $("&lt;input&gt;").attr("type", "hidden").attr("name", keys[i]).val(params[keys[i]]);
            $('form[name="go_to_url"]').append(input)
        }
    }
    $('form[name="go_to_url"]').submit()
};
$g.push_guest_browselog = function (tid) {
    if (!tid)
        return;
    var key = "guest_browselog:list";
    var guest_browselogs = localStorage.getItem(key);
    try {
        guest_browselogs = JSON.parse(guest_browselogs) || []
    }
    catch (e) {
        guest_browselogs = []
    }
    if (guest_browselogs.length &gt; 30) {
        guest_browselogs.splice(0, 1)
    }
    guest_browselogs.insert(tid);
    console.log("guest_browselogs:", guest_browselogs);
    localStorage.setItem(key, JSON.stringify(guest_browselogs))
};
var isMobile = {
    Android: function () {
        return navigator.userAgent.match(/Android/i)
    },
    BlackBerry: function () {
        return navigator.userAgent.match(/BlackBerry/i)
    },
    iOS: function () {
        return navigator.userAgent.match(/iPhone|iPad|iPod/i)
    },
    Opera: function () {
        return navigator.userAgent.match(/Opera Mini/i)
    },
    Windows: function () {
        return navigator.userAgent.match(/IEMobile/i) || navigator.userAgent.match(/WPDesktop/i)
    },
    any: function () {
        return isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows()
    }
};
avshow.is_mobile_fun = isMobile;
avshow.ismobile_from_server = function () {
    return avshow.ismobile_value
};
avshow.ismobile = function () {
    return avshow.is_mobile_fun.any() != null
};
avshow.is_ios = function () {
    return avshow.is_mobile_fun.iOS() != null
};
avshow.isApp = function () {
    var find_Html5Plus = navigator.userAgent.indexOf("Html5Plus");
    return find_Html5Plus &gt;= 0
};
avshow.is_qq_browser = function () {
    return navigator.userAgent.indexOf("MQQBrowser") !== -1
};
avshow.show_common_dialog = function (options) {
    jQuery("#common-dialog").bootstrap_modal(options)
};
avshow.isWeixinBrowser = function () {
    return /micromessenger/.test(navigator.userAgent.toLowerCase())
};
avshow.loadlang = function (page, cb) {
    $.getJSON("/lang/values/" + page, function (data) {
        if (!avshow.langvalues) {
            avshow.langvalues = {}
        }
        avshow.langvalues = jQuery.extend(true, avshow.object.loading, data);
        if (cb) {
            cb()
        }
    })
};
avshow.langloader = function (key) {
    if (avshow.langvalues) {
        if (avshow.langvalues.hasOwnProperty(key)) {
            return avshow.langvalues[key]
        }
    }
    return ""
};
avshow.object = {};
avshow.object.loading = {
    data: {
        icon_display: "none",
        icon_spinner_class: "",
        icon_spin_class: "",
        disabled: false
    },
    methods: {
        showLoading: function () {
            this.disabled = true;
            this.icon_spin_class = "icon-spin";
            this.icon_spinner_class = "icon-spinner"
        },
        setEnabled: function (enabled) {
            this.disabled = !enabled;
            this.icon_spin_class = "";
            this.icon_spinner_class = "";
            console.log("setEnabled:", this.disabled)
        }
    }
};
avshow.adblock_status = undefined;
avshow.check_ads = function () {
    function adBlockNotDetected() {
        avshow.adblock_status = "n";
        jQuery("body").addClass("adBlockNotDetected")
    }
    function adBlockDetected() {
        avshow.adblock_status = "y";
        jQuery("body").addClass("adBlockDetected")
    }
    if (typeof fuckAdBlock !== "undefined" || typeof FuckAdBlock !== "undefined") {
        adBlockDetected()
    }
    else {
        var importFAB = document.createElement("script");
        importFAB.onload = function () {
            fuckAdBlock.onDetected(adBlockDetected);
            fuckAdBlock.onNotDetected(adBlockNotDetected)
        };
        importFAB.onerror = function () {
            adBlockDetected()
        };
        importFAB.integrity = "sha256-xjwKUY/NgkPjZZBOtOxRYtK20GaqTwUCf7WYCJ1z69w=";
        importFAB.crossOrigin = "anonymous";
        importFAB.src = "/ajax/libs/fuckadblock/3.2.1/fuckadblock.min.js";
        document.head.appendChild(importFAB)
    }
};
$g.notify = function (message, position) {
    Toastify({
        text: message,
        duration: 6e3,
        destination: "",
        newWindow: true,
        close: true,
        gravity: "top",
        position: "right",
        backgroundColor: "linear-gradient(to right, #db2828, #de2128)",
        stopOnFocus: true,
        className: "info"
    }).showToast()
};
var updateQueryStringParameter = function updateQueryStringParameter(uri, key, value) {
    if (!value) {
        return uri
    }
    var re = new RegExp("([?&amp;])" + key + "=.*?(&amp;|$)", "i");
    var separator = uri.indexOf("?") !== -1 ? "&amp;" : "?";
    if (uri.match(re)) {
        return uri.replace(re, "$1" + key + "=" + value + "$2")
    }
    else {
        return uri + separator + key + "=" + value
    }
};
$g.updateQueryStringParameter = updateQueryStringParameter;
var update_view_nav_top = function () {
    var view_nav = jQuery(".view-nav");
    var nav_height = jQuery("#nav").height();
    nav_height -= .5;
    view_nav.css("top", nav_height + "px");
    var header_height = view_nav.height() + nav_height;
    var wp_top = header_height + 12;
    jQuery(".wp").css("padding-top", wp_top + "px")
};
avshow.update_avdatas = function () {
    jQuery(".avdata .view_count").each(function () {
        var view_count = jQuery(this).html();
        view_count = parseInt(view_count);
        jQuery(this).html($g.formatNumber(view_count))
    })
};
window.quasarConfig = {
    brand: { primary: "#f00" },
    notify: {},
    loading: {},
    loadingBar: {},
    animations: ["bounceInLeft", "bounceOutRight"]
};
$g.switch_server = $g.switch_server || {};
$g.switch_server.set_video_server = undefined;
$g.switch_server.init = function () {
    var urlVars = $g.getUrlVars();
    if (urlVars.video_server) {
        localStorage.setItem("video_server", urlVars.video_server)
    }
    else { }
};
$g.switch_server.select = function (video_server) {
    localStorage.setItem("video_server", video_server)
};
$g.switch_server.get = function () {
    var urlVars = $g.getUrlVars();
    if (urlVars.video_server) {
        return urlVars.video_server
    }
    if ($g.switch_server.set_video_server) {
        return $g.switch_server.set_video_server
    }
    var local_video_server = localStorage.getItem("video_server");
    console.log("switch_server get:", local_video_server);
    return local_video_server || $g.config.defalut_video_server
};
$g.switch_server.exsits_server = function (server_name) {
    if ($g.avdata) {
        for (var i = 0; i &lt; $g.avdata.space_hosts.length; ++i) {
            if ($g.avdata.space_hosts[i]) {
                if ($g.avdata.space_hosts[i][0] === server_name) {
                    return true
                }
            }
        }
    }
    return false
};
$g.switch_server.server_host = function (server_name) {
    if (!server_name) {
        server_name = $g.switch_server.get()
    }
    if ($g.avdata) {
        for (var i = 0; i &lt; $g.avdata.space_hosts.length; ++i) {
            if ($g.avdata.space_hosts[i]) {
                if ($g.avdata.space_hosts[i][0] === server_name) {
                    return $g.avdata.space_hosts[i][2]
                }
            }
        }
    }
    return $g.avdata.space_hosts[0][2]
};
$g.switch_server.update = function () {
    var video_server = localStorage.getItem("video_server");
    var find_video_server = $g.switch_server.exsits_server(video_server);
    var exsits_b2_video_server = $g.switch_server.exsits_server("b2server");
    let defalut_video_server = "b2server";
    if (!exsits_b2_video_server) {
        defalut_video_server = "cfserver"
    }
    if (!find_video_server) {
        var data_ipcountry = $g.ipcountry;
        $g.switch_server.set_video_server = $g.config.defalut_video_server;
        if (data_ipcountry) {
            if (["CN", "TH", "VN", "PH"].indexOf(data_ipcountry) &gt;= 0) {
                $g.switch_server.set_video_server = "cncdn";
                if (!$g.switch_server.exsits_server("cncdn")) {
                    $g.switch_server.set_video_server = "b2server"
                }
            }
            else if (["US", "CA"].indexOf(data_ipcountry) &gt;= 0) {
                $g.switch_server.set_video_server = defalut_video_server
            }
            else if (["JP", "KR", "TW", "MY", "TH"].indexOf(data_ipcountry) &gt;= 0) {
                $g.switch_server.set_video_server = defalut_video_server
            }
            else if (["DE", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "RU"].indexOf(data_ipcountry) &gt;= 0) {
                $g.switch_server.set_video_server = defalut_video_server
            }
            else if (["SG", "TH", "PH", "LA", "ID", "IN", "IE", "HK", "GB"].indexOf(data_ipcountry) &gt;= 0) {
                $g.switch_server.set_video_server = defalut_video_server
            }
        }
    }
    if ($g.video_server_list) {
        $g.video_server_list.select_host = $g.switch_server.get()
    }
};
avshow.update_svg = function () {
    $g.wait_asyncjs(() =&gt; {
        jQuery("img.svg").each(function () {
            var $img = jQuery(this);
            var imgID = $img.attr("id");
            var imgClass = $img.attr("class");
            var imgURL = $img.attr("src");
            jQuery.get(imgURL, function (data) {
                var $svg = jQuery(data).find("svg");
                if (typeof imgID !== "undefined") {
                    $svg = $svg.attr("id", imgID)
                }
                if (typeof imgClass !== "undefined") {
                    $svg = $svg.attr("class", imgClass + " replaced-svg")
                }
                $svg = $svg.removeAttr("xmlns:a");
                if (!$svg.attr("viewBox") &amp;&amp; $svg.attr("height") &amp;&amp; $svg.attr("width")) {
                    $svg.attr("viewBox", "0 0 " + $svg.attr("height") + " " + $svg.attr("width"))
                }
                $img.replaceWith($svg)
            }, "xml")
        })
    })
};
avshow.getValFromCookieOrLocalStorage = function (nameSub) {
    var result = null;
    document.cookie.split("; ").some(function (c) {
        var kv = c.split("=");
        if (kv[0].indexOf(nameSub) !== -1) {
            result = kv[1];
            return true
        }
        return false
    });
    if (result !== null) {
        return result
    }
    for (var i = 0; i &lt; localStorage.length; i++) {
        var k = localStorage.key(i);
        if (k.indexOf(nameSub) !== -1) {
            return localStorage.getItem(k)
        }
    }
    return null
};
avshow.captcha = avshow.captcha || {};
avshow.captcha.reset = function (captcha_img, captch_id) {
    jQuery.ajax({
        type: "get",
        url: "/app/captcha",
        data: {},
        success: function (respone) {
            if (respone.code == 200) {
                captcha_img.attr("src", "data:image/png;base64," + respone.data.encoded_string);
                captch_id.attr("value", respone.data.captcha_id)
            }
            else { }
        },
        error: function () { },
        complete: function () { }
    })
};
avshow.captcha.check = function (captcha_id, string) { };
avshow.comment = avshow.comment || {};
avshow.comment.fetch = function (video_comment_id, tid, page, cb, error_cb) {
    jQuery.ajax({
        type: "get",
        url: "/app/video/comment",
        data: {
            page: page,
            tid: tid,
            html: 1,
            video_comment_id: video_comment_id
        },
        success: function (respone) {
            if (cb) {
                cb(respone)
            }
        },
        error: error_cb
    })
};
avshow.comment.post = function (tid, message, target_uid, html, cb, error_cb) {
    jQuery.ajax({
        type: "post",
        url: "/app/video/comment",
        data: {
            message: message,
            target_uid: target_uid,
            tid: tid,
            html: 1
        },
        success: function (respone) {
            if (cb) {
                cb(respone)
            }
        },
        error: error_cb
    })
};
$g.LANG = {
    data() {
        return {}
    },
    created: function () { },
    computed: { all_display_names: function () { } },
    methods: {
        defalut_lang_display: function () {
            if ($g.defalut_lang &amp;&amp; $g.lang) {
                for (index in $g.lang.config.all_names) {
                    let langobject = $g.lang.config.all_names[index];
                    if (langobject["name"] === $g.defalut_lang) {
                        return langobject["display"]
                    }
                }
            }
            return $g.defalut_lang_display
        }
    }
};
avshow.request_video_play = function (cb) {
    var referrer_host = document.referrer.split("/")[2];
    var post_data = {
        referrer_host: referrer_host,
        tid: avshow.tid
    };
    if ("jQuery" in window &amp;&amp; jQuery.ajax) {
        jQuery.ajax({
            type: "get",
            url: "/app/video/play",
            data: post_data,
            success: function (respone) {
                if (respone.code != 200) { }
                else {
                    cb(respone.data)
                }
            }
        })
    }
    else if ("axios" in window) {
        axios.get("/app/video/play", post_data).then(function (response) {
            console.log(response);
            var response_data = response.data.data;
            cb(response_data)
        }).catch(function (error) { })
    }
    else {
        console.log("no network lib to request")
    }
};
avshow.player_poster = function () {
    if (avshow.av_response) {
        var image_url = avshow.av_response["small_cover_image_url"];
        if (!avshow.ismobile()) {
            image_url = avshow.av_response["cover_image_url"]
        }
        if (image_url &amp;&amp; avshow.isSupportWebp()) {
            return avshow.generate_webp_url(image_url)
        }
        return "https://" + image_url
    }
};
avshow.small_player_poster = function () {
    if (avshow.av_response) {
        if (avshow.av_response["small_cover_image_url"] &amp;&amp; avshow.isSupportWebp()) {
            var small_cover_image_url = avshow.av_response["small_cover_image_url"];
            console.log("small_cover_image_url:", small_cover_image_url);
            return avshow.generate_webp_url(small_cover_image_url)
        }
        return "https://" + avshow.av_response["small_cover_image_url"]
    }
};
avshow.preview_video_url = function () {
    if ($g.av_response) {
        if ($g.av_response["preview"] &amp;&amp; Object.keys($g.av_response["preview"]).length &gt; 0) {
            let space_name = $g.av_response["space_name"];
            let ch = $g.get_static_host(space_name);
            if (ch) {
                let url = "https://" + ch + "/videos/" + $g.av_response["hash_id"] + "/preview/big.mp4?v=1";
                return url
            }
        }
    }
};
window.PlayerObject = {
    data() {
        return {
            show_vip_container: false,
            show_playing_vip_container: false,
            player: undefined
        }
    },
    created: function () { },
    computed: {
        css_hash: function () {
            try {
                return this.$config.videoplayer.hash.css
            }
            catch (e) { }
            return this.$config.verhash
        },
        js_hash: function () {
            try {
                return this.$config.videoplayer.hash.js
            }
            catch (e) { }
            return this.$config.verhash
        },
        poster: function () {
            return $g.player_poster()
        },
        player_js_src: function () {
            if ($g.webstatic_conf &amp;&amp; $g.webstatic_conf.gcdn) {
                return "https://" + $g.webstatic_conf.gcdn + "/" + this.$config.video_player + "/player.js?" + this.js_hash
            }
            if (this.is_use_cncdn_res()) {
                return "https://" + $g.webstatic_conf.cncdn_domain + "/" + this.$config.video_player + "/player.js?" + this.js_hash
            }
            return "/static/videojs-output/player.js" + this.js_hash
        },
        player_css_src: function () {
            if ($g.webstatic_conf &amp;&amp; $g.webstatic_conf.gcdn) {
                return "https://" + $g.webstatic_conf.gcdn + "/" + this.$config.video_player + "/player.css?" + this.css_hash
            }
            if (this.is_use_cncdn_res()) {
                return "https://" + $g.webstatic_conf.cncdn_domain + "/" + this.$config.video_player + "/player.css?" + this.css_hash
            }
            return "/static/videojs-output/player.css" + this.css_hash
        }
    },
    methods: {
        is_use_cncdn_res: function () {
            try {
                if (!this.is_root_domain()) {
                    if ($g.webstatic_conf.cncdn_domain) {
                        if ($g.ipcountry &amp;&amp; ["CN"].indexOf($g.ipcountry) &gt;= 0) {
                            return true
                        }
                    }
                }
            }
            catch (e) { }
            return false
        },
        is_safari: function () {
            var is_safari = /Safari/.test(navigator.userAgent) &amp;&amp; !/Chrome/.test(navigator.userAgent);
            return is_safari
        },
        on_replay: function () {
            this.show_ios_video = true;
            this.show_vip_container = false;
            this.$nextTick(() =&gt; {
                if (this.is_ios()) {
                    this.player = this.make_iospreview_player();
                    this.add_vipvideo_ended_event()
                }
                else { }
                var v = $(".video_player video");
                v[0].play()
            })
        },
        add_vipvideo_ended_event: function () {
            var v = $(".video_player video");
            if (!v || v.length &lt;= 0) {
                return setTimeout(this.add_video_ended_event, 88)
            }
            v[0].addEventListener("ended", e =&gt; {
                console.log("video ended");
                this.show_vip_container = true;
                this.show_ios_video = false
            })
        },
        big_preview_url: function () {
            return $g.preview_video_url()
        },
        make_hlsios_player: function () {
            let player_video = avshow._video_plaeyr = document.querySelector("#orginal_video_player");
            let newSource = document.createElement("source");
            newSource.src = $g.m3u8player_url();
            newSource.type = "application/x-mpegURL";
            player_video.appendChild(newSource);
            return player_video
        },
        make_ios_player: function () {
            let player_video = avshow._video_plaeyr = document.querySelector("#orginal_video_player");
            let newSource = document.createElement("source");
            newSource.src = avshow.av_response.mp4_url;
            newSource.type = "video/mp4";
            player_video.appendChild(newSource);
            return player_video
        },
        make_iospreview_player: function () {
            const player_video = document.querySelector("#orginal_video_player");
            let newSource = document.createElement("source");
            newSource.src = avshow.preview_video_url();
            newSource.type = "video/mp4";
            player_video.appendChild(newSource);
            return player_video
        },
        request_av_response: function (cb) {
            this.$axios.get("/app/video/player/hd", { params: { id: avshow.av_data.tid } }).then(response =&gt; {
                console.log("response:", response);
                avshow.av_response = response.data.data;
                cb(response)
            }).catch(error =&gt; { })
        },
        play: function () {
            if (this.player) {
                this.player.play()
            }
            else if ($g.video_player) {
                $g.video_player.play()
            }
        }
    }
};
!function (t, n) {
    "object" == typeof exports &amp;&amp; "undefined" != typeof module ? module.exports = n() : "function" == typeof define &amp;&amp; define.amd ? define(n) : (t = "undefined" != typeof globalThis ? globalThis : t || self).LazyLoad = n()
}(this, function () {
    "use strict";
    function t() {
        return (t = Object.assign || function (t) {
            for (var n = 1; n &lt; arguments.length; n++) {
                var e = arguments[n];
                for (var i in e)
                    Object.prototype.hasOwnProperty.call(e, i) &amp;&amp; (t[i] = e[i])
            }
            return t
        }).apply(this, arguments)
    }
    var n = "undefined" != typeof window,
        e = n &amp;&amp; !("onscroll" in window) || "undefined" != typeof navigator &amp;&amp; /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),
        i = n &amp;&amp; "IntersectionObserver" in window,
        o = n &amp;&amp; "classList" in document.createElement("p"),
        r = n &amp;&amp; window.devicePixelRatio &gt; 1,
        a = {
            elements_selector: ".lazy",
            container: e || n ? document : null,
            threshold: 300,
            thresholds: null,
            data_src: "src",
            data_srcset: "srcset",
            data_sizes: "sizes",
            data_bg: "bg",
            data_bg_hidpi: "bg-hidpi",
            data_bg_multi: "bg-multi",
            data_bg_multi_hidpi: "bg-multi-hidpi",
            data_poster: "poster",
            class_applied: "applied",
            class_loading: "loading",
            class_loaded: "loaded",
            class_error: "error",
            class_entered: "entered",
            class_exited: "exited",
            unobserve_completed: !0,
            unobserve_entered: !1,
            cancel_on_exit: !0,
            callback_enter: null,
            callback_exit: null,
            callback_applied: null,
            callback_loading: null,
            callback_loaded: null,
            callback_error: null,
            callback_finish: null,
            callback_cancel: null,
            use_native: !1
        },
        c = function (n) {
            return t({}, a, n)
        },
        s = function (t, n) {
            var e,
                i = "LazyLoad::Initialized",
                o = new t(n);
            try {
                e = new CustomEvent(i, { detail: { instance: o } })
            }
            catch (t) {
                (e = document.createEvent("CustomEvent")).initCustomEvent(i, !1, !1, { instance: o })
            }
            window.dispatchEvent(e)
        },
        l = "loading",
        u = "loaded",
        d = "applied",
        f = "error",
        _ = "native",
        g = "data-",
        v = "ll-status",
        b = function (t, n) {
            return t.getAttribute(g + n)
        },
        p = function (t) {
            return b(t, v)
        },
        h = function (t, n) {
            return function (t, n, e) {
                var i = "data-ll-status";
                null !== e ? t.setAttribute(i, e) : t.removeAttribute(i)
            }(t, 0, n)
        },
        m = function (t) {
            return h(t, null)
        },
        E = function (t) {
            return null === p(t)
        },
        y = function (t) {
            return p(t) === _
        },
        I = [
            l,
            u,
            d,
            f
        ],
        A = function (t, n, e, i) {
            t &amp;&amp; (void 0 === i ? void 0 === e ? t(n) : t(n, e) : t(n, e, i))
        },
        L = function (t, n) {
            o ? t.classList.add(n) : t.className += (t.className ? " " : "") + n
        },
        w = function (t, n) {
            o ? t.classList.remove(n) : t.className = t.className.replace(new RegExp("(^|\\s+)" + n + "(\\s+|$)"), " ").replace(/^\s+/, "").replace(/\s+$/, "")
        },
        k = function (t) {
            return t.llTempImage
        },
        O = function (t, n) {
            if (n) {
                var e = n._observer;
                e &amp;&amp; e.unobserve(t)
            }
        },
        x = function (t, n) {
            t &amp;&amp; (t.loadingCount += n)
        },
        z = function (t, n) {
            t &amp;&amp; (t.toLoadCount = n)
        },
        C = function (t) {
            for (var n, e = [], i = 0; n = t.children[i]; i += 1)
                "SOURCE" === n.tagName &amp;&amp; e.push(n);
            return e
        },
        N = function (t, n, e) {
            e &amp;&amp; t.setAttribute(n, e)
        },
        M = function (t, n) {
            t.removeAttribute(n)
        },
        R = function (t) {
            return !!t.llOriginalAttrs
        },
        T = function (t) {
            if (!R(t)) {
                var n = {};
                n.src = t.getAttribute("src"),
                    n.srcset = t.getAttribute("srcset"),
                    n.sizes = t.getAttribute("sizes"),
                    t.llOriginalAttrs = n
            }
        },
        G = function (t) {
            if (R(t)) {
                var n = t.llOriginalAttrs;
                N(t, "src", n.src),
                    N(t, "srcset", n.srcset),
                    N(t, "sizes", n.sizes)
            }
        },
        D = function (t, n) {
            N(t, "sizes", b(t, n.data_sizes)),
                N(t, "srcset", b(t, n.data_srcset)),
                N(t, "src", b(t, n.data_src))
        },
        V = function (t) {
            M(t, "src"),
                M(t, "srcset"),
                M(t, "sizes")
        },
        j = function (t, n) {
            var e = t.parentNode;
            e &amp;&amp; "PICTURE" === e.tagName &amp;&amp; C(e).forEach(n)
        },
        F = {
            IMG: function (t, n) {
                j(t, function (t) {
                    T(t),
                        D(t, n)
                }),
                    T(t),
                    D(t, n)
            },
            IFRAME: function (t, n) {
                N(t, "src", b(t, n.data_src))
            },
            VIDEO: function (t, n) {
                !function (t, e) {
                    C(t).forEach(function (t) {
                        N(t, "src", b(t, n.data_src))
                    })
                }(t),
                    N(t, "poster", b(t, n.data_poster)),
                    N(t, "src", b(t, n.data_src)),
                    t.load()
            }
        },
        P = function (t, n) {
            var e = F[t.tagName];
            e &amp;&amp; e(t, n)
        },
        S = function (t, n, e) {
            x(e, 1),
                L(t, n.class_loading),
                h(t, l),
                A(n.callback_loading, t, e)
        },
        U = ["IMG", "IFRAME", "VIDEO"],
        $ = function (t, n) {
            !n || function (t) {
                return t.loadingCount &gt; 0
            }(n) || function (t) {
                return t.toLoadCount &gt; 0
            }(n) || A(t.callback_finish, n)
        },
        q = function (t, n, e) {
            t.addEventListener(n, e),
                t.llEvLisnrs[n] = e
        },
        H = function (t, n, e) {
            t.removeEventListener(n, e)
        },
        B = function (t) {
            return !!t.llEvLisnrs
        },
        J = function (t) {
            if (B(t)) {
                var n = t.llEvLisnrs;
                for (var e in n) {
                    var i = n[e];
                    H(t, e, i)
                }
                delete t.llEvLisnrs
            }
        },
        K = function (t, n, e) {
            !function (t) {
                delete t.llTempImage
            }(t),
                x(e, -1),
                function (t) {
                    t &amp;&amp; (t.toLoadCount -= 1)
                }(e),
                w(t, n.class_loading),
                n.unobserve_completed &amp;&amp; O(t, e)
        },
        Q = function (t, n, e) {
            var i = k(t) || t;
            B(i) || function (t, n, e) {
                B(t) || (t.llEvLisnrs = {});
                var i = "VIDEO" === t.tagName ? "loadeddata" : "load";
                q(t, i, n),
                    q(t, "error", e)
            }(i, function (o) {
                !function (t, n, e, i) {
                    var o = y(n);
                    K(n, e, i),
                        L(n, e.class_loaded),
                        h(n, u),
                        A(e.callback_loaded, n, i),
                        o || $(e, i)
                }(0, t, n, e),
                    J(i)
            }, function (o) {
                !function (t, n, e, i) {
                    var o = y(n);
                    K(n, e, i),
                        L(n, e.class_error),
                        h(n, f),
                        A(e.callback_error, n, i),
                        o || $(e, i)
                }(0, t, n, e),
                    J(i)
            })
        },
        W = function (t, n, e) {
            !function (t) {
                t.llTempImage = document.createElement("IMG")
            }(t),
                Q(t, n, e),
                function (t, n, e) {
                    var i = b(t, n.data_bg),
                        o = b(t, n.data_bg_hidpi),
                        a = r &amp;&amp; o ? o : i;
                    a &amp;&amp; (t.style.backgroundImage = 'url("'.concat(a, '")'), k(t).setAttribute("src", a), S(t, n, e))
                }(t, n, e),
                function (t, n, e) {
                    var i = b(t, n.data_bg_multi),
                        o = b(t, n.data_bg_multi_hidpi),
                        a = r &amp;&amp; o ? o : i;
                    a &amp;&amp; (t.style.backgroundImage = a, function (t, n, e) {
                        L(t, n.class_applied),
                            h(t, d),
                            n.unobserve_completed &amp;&amp; O(t, n),
                            A(n.callback_applied, t, e)
                    }(t, n, e))
                }(t, n, e)
        },
        X = function (t, n, e) {
            !function (t) {
                return U.indexOf(t.tagName) &gt; -1
            }(t) ? W(t, n, e) : function (t, n, e) {
                Q(t, n, e),
                    P(t, n),
                    S(t, n, e)
            }(t, n, e)
        },
        Y = ["IMG", "IFRAME", "VIDEO"],
        Z = function (t) {
            return t.use_native &amp;&amp; "loading" in HTMLImageElement.prototype
        },
        tt = function (t, n, e) {
            t.forEach(function (t) {
                return function (t) {
                    return t.isIntersecting || t.intersectionRatio &gt; 0
                }(t) ? function (t, n, e, i) {
                    var o = function (t) {
                        return I.indexOf(p(t)) &gt;= 0
                    }(t);
                    h(t, "entered"),
                        L(t, e.class_entered),
                        w(t, e.class_exited),
                        function (t, n, e) {
                            n.unobserve_entered &amp;&amp; O(t, e)
                        }(t, e, i),
                        A(e.callback_enter, t, n, i),
                        o || X(t, e, i)
                }(t.target, t, n, e) : function (t, n, e, i) {
                    E(t) || (L(t, e.class_exited), function (t, n, e, i) {
                        e.cancel_on_exit &amp;&amp; function (t) {
                            return p(t) === l
                        }(t) &amp;&amp; "IMG" === t.tagName &amp;&amp; (J(t), function (t) {
                            j(t, function (t) {
                                V(t)
                            }),
                                V(t)
                        }(t), function (t) {
                            j(t, function (t) {
                                G(t)
                            }),
                                G(t)
                        }(t), w(t, e.class_loading), x(i, -1), m(t), A(e.callback_cancel, t, n, i))
                    }(t, n, e, i), A(e.callback_exit, t, n, i))
                }(t.target, t, n, e)
            })
        },
        nt = function (t) {
            return Array.prototype.slice.call(t)
        },
        et = function (t) {
            return t.container.querySelectorAll(t.elements_selector)
        },
        it = function (t) {
            return function (t) {
                return p(t) === f
            }(t)
        },
        ot = function (t, n) {
            return function (t) {
                return nt(t).filter(E)
            }(t || et(n))
        },
        rt = function (t, e) {
            var o = c(t);
            this._settings = o,
                this.loadingCount = 0,
                function (t, n) {
                    i &amp;&amp; !Z(t) &amp;&amp; (n._observer = new IntersectionObserver(function (e) {
                        tt(e, t, n)
                    }, function (t) {
                        return {
                            root: t.container === document ? null : t.container,
                            rootMargin: t.thresholds || t.threshold + "px"
                        }
                    }(t)))
                }(o, this),
                function (t, e) {
                    n &amp;&amp; window.addEventListener("online", function () {
                        !function (t, n) {
                            var e;
                            (e = et(t), nt(e).filter(it)).forEach(function (n) {
                                w(n, t.class_error),
                                    m(n)
                            }),
                                n.update()
                        }(t, e)
                    })
                }(o, this),
                this.update(e)
        };
    return rt.prototype = {
        update: function (t) {
            var n,
                o,
                r = this._settings,
                a = ot(t, r);
            z(this, a.length),
                !e &amp;&amp; i ? Z(r) ? function (t, n, e) {
                    t.forEach(function (t) {
                        -1 !== Y.indexOf(t.tagName) &amp;&amp; function (t, n, e) {
                            t.setAttribute("loading", "lazy"),
                                Q(t, n, e),
                                P(t, n),
                                h(t, _)
                        }(t, n, e)
                    }),
                        z(e, 0)
                }(a, r, this) : (o = a, function (t) {
                    t.disconnect()
                }(n = this._observer), function (t, n) {
                    n.forEach(function (n) {
                        t.observe(n)
                    })
                }(n, o)) : this.loadAll(a)
        },
        destroy: function () {
            this._observer &amp;&amp; this._observer.disconnect(),
                et(this._settings).forEach(function (t) {
                    delete t.llOriginalAttrs
                }),
                delete this._observer,
                delete this._settings,
                delete this.loadingCount,
                delete this.toLoadCount
        },
        loadAll: function (t) {
            var n = this,
                e = this._settings;
            ot(t, e).forEach(function (t) {
                O(t, n),
                    X(t, e, n)
            })
        }
    }, rt.load = function (t, n) {
        var e = c(n);
        X(t, e)
    }, rt.resetStatus = function (t) {
        m(t)
    }, n &amp;&amp; function (t, n) {
        if (n)
            if (n.length)
                for (var e, i = 0; e = n[i]; i += 1)
                    s(t, e);
            else
                s(t, n)
    }(rt, window.lazyLoadOptions), rt
});
!function (e, t) {
    "object" == typeof exports &amp;&amp; "object" == typeof module ? module.exports = t() : "function" == typeof define &amp;&amp; define.amd ? define([], t) : "object" == typeof exports ? exports.axios = t() : e.axios = t()
}(this, function () {
    return function (e) {
        function t(r) {
            if (n[r])
                return n[r].exports;
            var o = n[r] = {
                exports: {},
                id: r,
                loaded: !1
            };
            return e[r].call(o.exports, o, o.exports, t), o.loaded = !0, o.exports
        }
        var n = {};
        return t.m = e, t.c = n, t.p = "", t(0)
    }([
        function (e, t, n) {
            e.exports = n(1)
        },
        function (e, t, n) {
            "use strict";
            function r(e) {
                var t = new s(e),
                    n = i(s.prototype.request, t);
                return o.extend(n, s.prototype, t), o.extend(n, t), n
            }
            var o = n(2),
                i = n(3),
                s = n(4),
                a = n(22),
                u = n(10),
                c = r(u);
            c.Axios = s,
                c.create = function (e) {
                    return r(a(c.defaults, e))
                },
                c.Cancel = n(23),
                c.CancelToken = n(24),
                c.isCancel = n(9),
                c.all = function (e) {
                    return Promise.all(e)
                },
                c.spread = n(25),
                e.exports = c,
                e.exports.default = c
        },
        function (e, t, n) {
            "use strict";
            function r(e) {
                return "[object Array]" === j.call(e)
            }
            function o(e) {
                return "undefined" == typeof e
            }
            function i(e) {
                return null !== e &amp;&amp; !o(e) &amp;&amp; null !== e.constructor &amp;&amp; !o(e.constructor) &amp;&amp; "function" == typeof e.constructor.isBuffer &amp;&amp; e.constructor.isBuffer(e)
            }
            function s(e) {
                return "[object ArrayBuffer]" === j.call(e)
            }
            function a(e) {
                return "undefined" != typeof FormData &amp;&amp; e instanceof FormData
            }
            function u(e) {
                var t;
                return t = "undefined" != typeof ArrayBuffer &amp;&amp; ArrayBuffer.isView ? ArrayBuffer.isView(e) : e &amp;&amp; e.buffer &amp;&amp; e.buffer instanceof ArrayBuffer
            }
            function c(e) {
                return "string" == typeof e
            }
            function f(e) {
                return "number" == typeof e
            }
            function p(e) {
                return null !== e &amp;&amp; "object" == typeof e
            }
            function d(e) {
                return "[object Date]" === j.call(e)
            }
            function l(e) {
                return "[object File]" === j.call(e)
            }
            function h(e) {
                return "[object Blob]" === j.call(e)
            }
            function m(e) {
                return "[object Function]" === j.call(e)
            }
            function y(e) {
                return p(e) &amp;&amp; m(e.pipe)
            }
            function g(e) {
                return "undefined" != typeof URLSearchParams &amp;&amp; e instanceof URLSearchParams
            }
            function v(e) {
                return e.replace(/^\s*/, "").replace(/\s*$/, "")
            }
            function x() {
                return ("undefined" == typeof navigator || "ReactNative" !== navigator.product &amp;&amp; "NativeScript" !== navigator.product &amp;&amp; "NS" !== navigator.product) &amp;&amp; ("undefined" != typeof window &amp;&amp; "undefined" != typeof document)
            }
            function w(e, t) {
                if (null !== e &amp;&amp; "undefined" != typeof e)
                    if ("object" != typeof e &amp;&amp; (e = [
                        e
                    ]), r(e))
                        for (var n = 0, o = e.length; n &lt; o; n++)
                            t.call(null, e[n], n, e);
                    else
                        for (var i in e)
                            Object.prototype.hasOwnProperty.call(e, i) &amp;&amp; t.call(null, e[i], i, e)
            }
            function b() {
                function e(e, n) {
                    "object" == typeof t[n] &amp;&amp; "object" == typeof e ? t[n] = b(t[n], e) : t[n] = e
                }
                for (var t = {}, n = 0, r = arguments.length; n &lt; r; n++)
                    w(arguments[n], e);
                return t
            }
            function E() {
                function e(e, n) {
                    "object" == typeof t[n] &amp;&amp; "object" == typeof e ? t[n] = E(t[n], e) : "object" == typeof e ? t[n] = E({}, e) : t[n] = e
                }
                for (var t = {}, n = 0, r = arguments.length; n &lt; r; n++)
                    w(arguments[n], e);
                return t
            }
            function S(e, t, n) {
                return w(t, function (t, r) {
                    n &amp;&amp; "function" == typeof t ? e[r] = C(t, n) : e[r] = t
                }), e
            }
            var C = n(3),
                j = Object.prototype.toString;
            e.exports = {
                isArray: r,
                isArrayBuffer: s,
                isBuffer: i,
                isFormData: a,
                isArrayBufferView: u,
                isString: c,
                isNumber: f,
                isObject: p,
                isUndefined: o,
                isDate: d,
                isFile: l,
                isBlob: h,
                isFunction: m,
                isStream: y,
                isURLSearchParams: g,
                isStandardBrowserEnv: x,
                forEach: w,
                merge: b,
                deepMerge: E,
                extend: S,
                trim: v
            }
        },
        function (e, t) {
            "use strict";
            e.exports = function (e, t) {
                return function () {
                    for (var n = new Array(arguments.length), r = 0; r &lt; n.length; r++)
                        n[r] = arguments[r];
                    return e.apply(t, n)
                }
            }
        },
        function (e, t, n) {
            "use strict";
            function r(e) {
                this.defaults = e,
                    this.interceptors = {
                        request: new s,
                        response: new s
                    }
            }
            var o = n(2),
                i = n(5),
                s = n(6),
                a = n(7),
                u = n(22);
            r.prototype.request = function (e) {
                "string" == typeof e ? (e = arguments[1] || {}, e.url = arguments[0]) : e = e || {},
                    e = u(this.defaults, e),
                    e.method ? e.method = e.method.toLowerCase() : this.defaults.method ? e.method = this.defaults.method.toLowerCase() : e.method = "get";
                var t = [
                    a,
                    void 0
                ],
                    n = Promise.resolve(e);
                for (this.interceptors.request.forEach(function (e) {
                    t.unshift(e.fulfilled, e.rejected)
                }), this.interceptors.response.forEach(function (e) {
                    t.push(e.fulfilled, e.rejected)
                }); t.length;)
                    n = n.then(t.shift(), t.shift());
                return n
            },
                r.prototype.getUri = function (e) {
                    return e = u(this.defaults, e), i(e.url, e.params, e.paramsSerializer).replace(/^\?/, "")
                },
                o.forEach(["delete", "get", "head", "options"], function (e) {
                    r.prototype[e] = function (t, n) {
                        return this.request(o.merge(n || {}, {
                            method: e,
                            url: t
                        }))
                    }
                }),
                o.forEach(["post", "put", "patch"], function (e) {
                    r.prototype[e] = function (t, n, r) {
                        return this.request(o.merge(r || {}, {
                            method: e,
                            url: t,
                            data: n
                        }))
                    }
                }),
                e.exports = r
        },
        function (e, t, n) {
            "use strict";
            function r(e) {
                return encodeURIComponent(e).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]")
            }
            var o = n(2);
            e.exports = function (e, t, n) {
                if (!t)
                    return e;
                var i;
                if (n)
                    i = n(t);
                else if (o.isURLSearchParams(t))
                    i = t.toString();
                else {
                    var s = [];
                    o.forEach(t, function (e, t) {
                        null !== e &amp;&amp; "undefined" != typeof e &amp;&amp; (o.isArray(e) ? t += "[]" : e = [
                            e
                        ], o.forEach(e, function (e) {
                            o.isDate(e) ? e = e.toISOString() : o.isObject(e) &amp;&amp; (e = JSON.stringify(e)),
                                s.push(r(t) + "=" + r(e))
                        }))
                    }),
                        i = s.join("&amp;")
                }
                if (i) {
                    var a = e.indexOf("#");
                    a !== -1 &amp;&amp; (e = e.slice(0, a)),
                        e += (e.indexOf("?") === -1 ? "?" : "&amp;") + i
                }
                return e
            }
        },
        function (e, t, n) {
            "use strict";
            function r() {
                this.handlers = []
            }
            var o = n(2);
            r.prototype.use = function (e, t) {
                return this.handlers.push({
                    fulfilled: e,
                    rejected: t
                }), this.handlers.length - 1
            },
                r.prototype.eject = function (e) {
                    this.handlers[e] &amp;&amp; (this.handlers[e] = null)
                },
                r.prototype.forEach = function (e) {
                    o.forEach(this.handlers, function (t) {
                        null !== t &amp;&amp; e(t)
                    })
                },
                e.exports = r
        },
        function (e, t, n) {
            "use strict";
            function r(e) {
                e.cancelToken &amp;&amp; e.cancelToken.throwIfRequested()
            }
            var o = n(2),
                i = n(8),
                s = n(9),
                a = n(10);
            e.exports = function (e) {
                r(e),
                    e.headers = e.headers || {},
                    e.data = i(e.data, e.headers, e.transformRequest),
                    e.headers = o.merge(e.headers.common || {}, e.headers[e.method] || {}, e.headers),
                    o.forEach(["delete", "get", "head", "post", "put", "patch", "common"], function (t) {
                        delete e.headers[t]
                    });
                var t = e.adapter || a.adapter;
                return t(e).then(function (t) {
                    return r(e), t.data = i(t.data, t.headers, e.transformResponse), t
                }, function (t) {
                    return s(t) || (r(e), t &amp;&amp; t.response &amp;&amp; (t.response.data = i(t.response.data, t.response.headers, e.transformResponse))), Promise.reject(t)
                })
            }
        },
        function (e, t, n) {
            "use strict";
            var r = n(2);
            e.exports = function (e, t, n) {
                return r.forEach(n, function (n) {
                    e = n(e, t)
                }), e
            }
        },
        function (e, t) {
            "use strict";
            e.exports = function (e) {
                return !(!e || !e.__CANCEL__)
            }
        },
        function (e, t, n) {
            "use strict";
            function r(e, t) {
                !i.isUndefined(e) &amp;&amp; i.isUndefined(e["Content-Type"]) &amp;&amp; (e["Content-Type"] = t)
            }
            function o() {
                var e;
                return "undefined" != typeof XMLHttpRequest ? e = n(12) : "undefined" != typeof process &amp;&amp; "[object process]" === Object.prototype.toString.call(process) &amp;&amp; (e = n(12)), e
            }
            var i = n(2),
                s = n(11),
                a = { "Content-Type": "application/x-www-form-urlencoded" },
                u = {
                    adapter: o(),
                    transformRequest: [
                        function (e, t) {
                            return s(t, "Accept"), s(t, "Content-Type"), i.isFormData(e) || i.isArrayBuffer(e) || i.isBuffer(e) || i.isStream(e) || i.isFile(e) || i.isBlob(e) ? e : i.isArrayBufferView(e) ? e.buffer : i.isURLSearchParams(e) ? (r(t, "application/x-www-form-urlencoded;charset=utf-8"), e.toString()) : i.isObject(e) ? (r(t, "application/json;charset=utf-8"), JSON.stringify(e)) : e
                        }
                    ],
                    transformResponse: [
                        function (e) {
                            if ("string" == typeof e)
                                try {
                                    e = JSON.parse(e)
                                }
                                catch (e) { }
                            return e
                        }
                    ],
                    timeout: 0,
                    xsrfCookieName: "XSRF-TOKEN",
                    xsrfHeaderName: "X-XSRF-TOKEN",
                    maxContentLength: -1,
                    validateStatus: function (e) {
                        return e &gt;= 200 &amp;&amp; e &lt; 300
                    }
                };
            u.headers = { common: { Accept: "application/json, text/plain, */*" } },
                i.forEach(["delete", "get", "head"], function (e) {
                    u.headers[e] = {}
                }),
                i.forEach(["post", "put", "patch"], function (e) {
                    u.headers[e] = i.merge(a)
                }),
                e.exports = u
        },
        function (e, t, n) {
            "use strict";
            var r = n(2);
            e.exports = function (e, t) {
                r.forEach(e, function (n, r) {
                    r !== t &amp;&amp; r.toUpperCase() === t.toUpperCase() &amp;&amp; (e[t] = n, delete e[r])
                })
            }
        },
        function (e, t, n) {
            "use strict";
            var r = n(2),
                o = n(13),
                i = n(5),
                s = n(16),
                a = n(19),
                u = n(20),
                c = n(14);
            e.exports = function (e) {
                return new Promise(function (t, f) {
                    var p = e.data,
                        d = e.headers;
                    r.isFormData(p) &amp;&amp; delete d["Content-Type"];
                    var l = new XMLHttpRequest;
                    if (e.auth) {
                        var h = e.auth.username || "",
                            m = e.auth.password || "";
                        d.Authorization = "Basic " + btoa(h + ":" + m)
                    }
                    var y = s(e.baseURL, e.url);
                    if (l.open(e.method.toUpperCase(), i(y, e.params, e.paramsSerializer), !0), l.timeout = e.timeout, l.onreadystatechange = function () {
                        if (l &amp;&amp; 4 === l.readyState &amp;&amp; (0 !== l.status || l.responseURL &amp;&amp; 0 === l.responseURL.indexOf("file:"))) {
                            var n = "getAllResponseHeaders" in l ? a(l.getAllResponseHeaders()) : null,
                                r = e.responseType &amp;&amp; "text" !== e.responseType ? l.response : l.responseText,
                                i = {
                                    data: r,
                                    status: l.status,
                                    statusText: l.statusText,
                                    headers: n,
                                    config: e,
                                    request: l
                                };
                            o(t, f, i),
                                l = null
                        }
                    }, l.onabort = function () {
                        l &amp;&amp; (f(c("Request aborted", e, "ECONNABORTED", l)), l = null)
                    }, l.onerror = function () {
                        f(c("Network Error", e, null, l)),
                            l = null
                    }, l.ontimeout = function () {
                        var t = "timeout of " + e.timeout + "ms exceeded";
                        e.timeoutErrorMessage &amp;&amp; (t = e.timeoutErrorMessage),
                            f(c(t, e, "ECONNABORTED", l)),
                            l = null
                    }, r.isStandardBrowserEnv()) {
                        var g = n(21),
                            v = (e.withCredentials || u(y)) &amp;&amp; e.xsrfCookieName ? g.read(e.xsrfCookieName) : void 0;
                        v &amp;&amp; (d[e.xsrfHeaderName] = v)
                    }
                    if ("setRequestHeader" in l &amp;&amp; r.forEach(d, function (e, t) {
                        "undefined" == typeof p &amp;&amp; "content-type" === t.toLowerCase() ? delete d[t] : l.setRequestHeader(t, e)
                    }), r.isUndefined(e.withCredentials) || (l.withCredentials = !!e.withCredentials), e.responseType)
                        try {
                            l.responseType = e.responseType
                        }
                        catch (t) {
                            if ("json" !== e.responseType)
                                throw t;
                        }
                    "function" == typeof e.onDownloadProgress &amp;&amp; l.addEventListener("progress", e.onDownloadProgress),
                        "function" == typeof e.onUploadProgress &amp;&amp; l.upload &amp;&amp; l.upload.addEventListener("progress", e.onUploadProgress),
                        e.cancelToken &amp;&amp; e.cancelToken.promise.then(function (e) {
                            l &amp;&amp; (l.abort(), f(e), l = null)
                        }),
                        void 0 === p &amp;&amp; (p = null),
                        l.send(p)
                })
            }
        },
        function (e, t, n) {
            "use strict";
            var r = n(14);
            e.exports = function (e, t, n) {
                var o = n.config.validateStatus;
                !o || o(n.status) ? e(n) : t(r("Request failed with status code " + n.status, n.config, null, n.request, n))
            }
        },
        function (e, t, n) {
            "use strict";
            var r = n(15);
            e.exports = function (e, t, n, o, i) {
                var s = new Error(e);
                return r(s, t, n, o, i)
            }
        },
        function (e, t) {
            "use strict";
            e.exports = function (e, t, n, r, o) {
                return e.config = t, n &amp;&amp; (e.code = n), e.request = r, e.response = o, e.isAxiosError = !0, e.toJSON = function () {
                    return {
                        message: this.message,
                        name: this.name,
                        description: this.description,
                        number: this.number,
                        fileName: this.fileName,
                        lineNumber: this.lineNumber,
                        columnNumber: this.columnNumber,
                        stack: this.stack,
                        config: this.config,
                        code: this.code
                    }
                }, e
            }
        },
        function (e, t, n) {
            "use strict";
            var r = n(17),
                o = n(18);
            e.exports = function (e, t) {
                return e &amp;&amp; !r(t) ? o(e, t) : t
            }
        },
        function (e, t) {
            "use strict";
            e.exports = function (e) {
                return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)
            }
        },
        function (e, t) {
            "use strict";
            e.exports = function (e, t) {
                return t ? e.replace(/\/+$/, "") + "/" + t.replace(/^\/+/, "") : e
            }
        },
        function (e, t, n) {
            "use strict";
            var r = n(2),
                o = ["age", "authorization", "content-length", "content-type", "etag", "expires", "from", "host", "if-modified-since", "if-unmodified-since", "last-modified", "location", "max-forwards", "proxy-authorization", "referer", "retry-after", "user-agent"];
            e.exports = function (e) {
                var t,
                    n,
                    i,
                    s = {};
                return e ? (r.forEach(e.split("\n"), function (e) {
                    if (i = e.indexOf(":"), t = r.trim(e.substr(0, i)).toLowerCase(), n = r.trim(e.substr(i + 1)), t) {
                        if (s[t] &amp;&amp; o.indexOf(t) &gt;= 0)
                            return;
                        "set-cookie" === t ? s[t] = (s[t] ? s[t] : []).concat([
                            n
                        ]) : s[t] = s[t] ? s[t] + ", " + n : n
                    }
                }), s) : s
            }
        },
        function (e, t, n) {
            "use strict";
            var r = n(2);
            e.exports = r.isStandardBrowserEnv() ? function () {
                function e(e) {
                    var t = e;
                    return n &amp;&amp; (o.setAttribute("href", t), t = o.href), o.setAttribute("href", t), {
                        href: o.href,
                        protocol: o.protocol ? o.protocol.replace(/:$/, "") : "",
                        host: o.host,
                        search: o.search ? o.search.replace(/^\?/, "") : "",
                        hash: o.hash ? o.hash.replace(/^#/, "") : "",
                        hostname: o.hostname,
                        port: o.port,
                        pathname: "/" === o.pathname.charAt(0) ? o.pathname : "/" + o.pathname
                    }
                }
                var t,
                    n = /(msie|trident)/i.test(navigator.userAgent),
                    o = document.createElement("a");
                return t = e(window.location.href), function (n) {
                    var o = r.isString(n) ? e(n) : n;
                    return o.protocol === t.protocol &amp;&amp; o.host === t.host
                }
            }() : function () {
                return function () {
                    return !0
                }
            }()
        },
        function (e, t, n) {
            "use strict";
            var r = n(2);
            e.exports = r.isStandardBrowserEnv() ? function () {
                return {
                    write: function (e, t, n, o, i, s) {
                        var a = [];
                        a.push(e + "=" + encodeURIComponent(t)),
                            r.isNumber(n) &amp;&amp; a.push("expires=" + new Date(n).toGMTString()),
                            r.isString(o) &amp;&amp; a.push("path=" + o),
                            r.isString(i) &amp;&amp; a.push("domain=" + i),
                            s === !0 &amp;&amp; a.push("secure"),
                            document.cookie = a.join("; ")
                    },
                    read: function (e) {
                        var t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
                        return t ? decodeURIComponent(t[3]) : null
                    },
                    remove: function (e) {
                        this.write(e, "", Date.now() - 864e5)
                    }
                }
            }() : function () {
                return {
                    write: function () { },
                    read: function () {
                        return null
                    },
                    remove: function () { }
                }
            }()
        },
        function (e, t, n) {
            "use strict";
            var r = n(2);
            e.exports = function (e, t) {
                t = t || {};
                var n = {},
                    o = ["url", "method", "params", "data"],
                    i = ["headers", "auth", "proxy"],
                    s = ["baseURL", "url", "transformRequest", "transformResponse", "paramsSerializer", "timeout", "withCredentials", "adapter", "responseType", "xsrfCookieName", "xsrfHeaderName", "onUploadProgress", "onDownloadProgress", "maxContentLength", "validateStatus", "maxRedirects", "httpAgent", "httpsAgent", "cancelToken", "socketPath"];
                r.forEach(o, function (e) {
                    "undefined" != typeof t[e] &amp;&amp; (n[e] = t[e])
                }),
                    r.forEach(i, function (o) {
                        r.isObject(t[o]) ? n[o] = r.deepMerge(e[o], t[o]) : "undefined" != typeof t[o] ? n[o] = t[o] : r.isObject(e[o]) ? n[o] = r.deepMerge(e[o]) : "undefined" != typeof e[o] &amp;&amp; (n[o] = e[o])
                    }),
                    r.forEach(s, function (r) {
                        "undefined" != typeof t[r] ? n[r] = t[r] : "undefined" != typeof e[r] &amp;&amp; (n[r] = e[r])
                    });
                var a = o.concat(i).concat(s),
                    u = Object.keys(t).filter(function (e) {
                        return a.indexOf(e) === -1
                    });
                return r.forEach(u, function (r) {
                    "undefined" != typeof t[r] ? n[r] = t[r] : "undefined" != typeof e[r] &amp;&amp; (n[r] = e[r])
                }), n
            }
        },
        function (e, t) {
            "use strict";
            function n(e) {
                this.message = e
            }
            n.prototype.toString = function () {
                return "Cancel" + (this.message ? ": " + this.message : "")
            },
                n.prototype.__CANCEL__ = !0,
                e.exports = n
        },
        function (e, t, n) {
            "use strict";
            function r(e) {
                if ("function" != typeof e)
                    throw new TypeError("executor must be a function.");
                var t;
                this.promise = new Promise(function (e) {
                    t = e
                });
                var n = this;
                e(function (e) {
                    n.reason || (n.reason = new o(e), t(n.reason))
                })
            }
            var o = n(23);
            r.prototype.throwIfRequested = function () {
                if (this.reason)
                    throw this.reason;
            },
                r.source = function () {
                    var e,
                        t = new r(function (t) {
                            e = t
                        });
                    return {
                        token: t,
                        cancel: e
                    }
                },
                e.exports = r
        },
        function (e, t) {
            "use strict";
            e.exports = function (e) {
                return function (t) {
                    return e.apply(null, t)
                }
            }
        }
    ])
});
!function (e, t) {
    "object" == typeof exports &amp;&amp; "undefined" != typeof module ? module.exports = t() : "function" == typeof define &amp;&amp; define.amd ? define(t) : (e = e || self).Vue = t()
}(this, function () {
    "use strict";
    var e = Object.freeze({});
    function t(e) {
        return null == e
    }
    function n(e) {
        return null != e
    }
    function r(e) {
        return !0 === e
    }
    function i(e) {
        return "string" == typeof e || "number" == typeof e || "symbol" == typeof e || "boolean" == typeof e
    }
    function o(e) {
        return null !== e &amp;&amp; "object" == typeof e
    }
    var a = Object.prototype.toString;
    function s(e) {
        return "[object Object]" === a.call(e)
    }
    function c(e) {
        var t = parseFloat(String(e));
        return t &gt;= 0 &amp;&amp; Math.floor(t) === t &amp;&amp; isFinite(e)
    }
    function u(e) {
        return n(e) &amp;&amp; "function" == typeof e.then &amp;&amp; "function" == typeof e.catch
    }
    function l(e) {
        return null == e ? "" : Array.isArray(e) || s(e) &amp;&amp; e.toString === a ? JSON.stringify(e, null, 2) : String(e)
    }
    function f(e) {
        var t = parseFloat(e);
        return isNaN(t) ? e : t
    }
    function p(e, t) {
        for (var n = Object.create(null), r = e.split(","), i = 0; i &lt; r.length; i++)
            n[r[i]] = !0;
        return t ? function (e) {
            return n[e.toLowerCase()]
        } : function (e) {
            return n[e]
        }
    }
    var d = p("slot,component", !0),
        v = p("key,ref,slot,slot-scope,is");
    function h(e, t) {
        if (e.length) {
            var n = e.indexOf(t);
            if (n &gt; -1)
                return e.splice(n, 1)
        }
    }
    var m = Object.prototype.hasOwnProperty;
    function y(e, t) {
        return m.call(e, t)
    }
    function g(e) {
        var t = Object.create(null);
        return function (n) {
            return t[n] || (t[n] = e(n))
        }
    }
    var _ = /-(\w)/g,
        b = g(function (e) {
            return e.replace(_, function (e, t) {
                return t ? t.toUpperCase() : ""
            })
        }),
        $ = g(function (e) {
            return e.charAt(0).toUpperCase() + e.slice(1)
        }),
        w = /\B([A-Z])/g,
        C = g(function (e) {
            return e.replace(w, "-$1").toLowerCase()
        });
    var x = Function.prototype.bind ? function (e, t) {
        return e.bind(t)
    } : function (e, t) {
        function n(n) {
            var r = arguments.length;
            return r ? r &gt; 1 ? e.apply(t, arguments) : e.call(t, n) : e.call(t)
        }
        return n._length = e.length, n
    };
    function k(e, t) {
        t = t || 0;
        for (var n = e.length - t, r = new Array(n); n--;)
            r[n] = e[n + t];
        return r
    }
    function A(e, t) {
        for (var n in t)
            e[n] = t[n];
        return e
    }
    function O(e) {
        for (var t = {}, n = 0; n &lt; e.length; n++)
            e[n] &amp;&amp; A(t, e[n]);
        return t
    }
    function S(e, t, n) { }
    var T = function (e, t, n) {
        return !1
    },
        E = function (e) {
            return e
        };
    function N(e, t) {
        if (e === t)
            return !0;
        var n = o(e),
            r = o(t);
        if (!n || !r)
            return !n &amp;&amp; !r &amp;&amp; String(e) === String(t);
        try {
            var i = Array.isArray(e),
                a = Array.isArray(t);
            if (i &amp;&amp; a)
                return e.length === t.length &amp;&amp; e.every(function (e, n) {
                    return N(e, t[n])
                });
            if (e instanceof Date &amp;&amp; t instanceof Date)
                return e.getTime() === t.getTime();
            if (i || a)
                return !1;
            var s = Object.keys(e),
                c = Object.keys(t);
            return s.length === c.length &amp;&amp; s.every(function (n) {
                return N(e[n], t[n])
            })
        }
        catch (e) {
            return !1
        }
    }
    function j(e, t) {
        for (var n = 0; n &lt; e.length; n++)
            if (N(e[n], t))
                return n;
        return -1
    }
    function D(e) {
        var t = !1;
        return function () {
            t || (t = !0, e.apply(this, arguments))
        }
    }
    var L = "data-server-rendered",
        M = ["component", "directive", "filter"],
        I = ["beforeCreate", "created", "beforeMount", "mounted", "beforeUpdate", "updated", "beforeDestroy", "destroyed", "activated", "deactivated", "errorCaptured", "serverPrefetch"],
        F = {
            optionMergeStrategies: Object.create(null),
            silent: !1,
            productionTip: !1,
            devtools: !1,
            performance: !1,
            errorHandler: null,
            warnHandler: null,
            ignoredElements: [],
            keyCodes: Object.create(null),
            isReservedTag: T,
            isReservedAttr: T,
            isUnknownElement: T,
            getTagNamespace: S,
            parsePlatformTagName: E,
            mustUseProp: T,
            async: !0,
            _lifecycleHooks: I
        },
        P = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;
    function R(e, t, n, r) {
        Object.defineProperty(e, t, {
            value: n,
            enumerable: !!r,
            writable: !0,
            configurable: !0
        })
    }
    var H = new RegExp("[^" + P.source + ".$_\\d]");
    var B,
        U = "__proto__" in {},
        z = "undefined" != typeof window,
        V = "undefined" != typeof WXEnvironment &amp;&amp; !!WXEnvironment.platform,
        K = V &amp;&amp; WXEnvironment.platform.toLowerCase(),
        J = z &amp;&amp; window.navigator.userAgent.toLowerCase(),
        q = J &amp;&amp; /msie|trident/.test(J),
        W = J &amp;&amp; J.indexOf("msie 9.0") &gt; 0,
        Z = J &amp;&amp; J.indexOf("edge/") &gt; 0,
        G = (J &amp;&amp; J.indexOf("android"), J &amp;&amp; /iphone|ipad|ipod|ios/.test(J) || "ios" === K),
        X = (J &amp;&amp; /chrome\/\d+/.test(J), J &amp;&amp; /phantomjs/.test(J), J &amp;&amp; J.match(/firefox\/(\d+)/)),
        Y = {}.watch,
        Q = !1;
    if (z)
        try {
            var ee = {};
            Object.defineProperty(ee, "passive", {
                get: function () {
                    Q = !0
                }
            }),
                window.addEventListener("test-passive", null, ee)
        }
        catch (e) { }
    var te = function () {
        return void 0 === B &amp;&amp; (B = !z &amp;&amp; !V &amp;&amp; "undefined" != typeof global &amp;&amp; (global.process &amp;&amp; "server" === global.process.env.VUE_ENV)), B
    },
        ne = z &amp;&amp; window.__VUE_DEVTOOLS_GLOBAL_HOOK__;
    function re(e) {
        return "function" == typeof e &amp;&amp; /native code/.test(e.toString())
    }
    var ie,
        oe = "undefined" != typeof Symbol &amp;&amp; re(Symbol) &amp;&amp; "undefined" != typeof Reflect &amp;&amp; re(Reflect.ownKeys);
    ie = "undefined" != typeof Set &amp;&amp; re(Set) ? Set : function () {
        function e() {
            this.set = Object.create(null)
        }
        return e.prototype.has = function (e) {
            return !0 === this.set[e]
        }, e.prototype.add = function (e) {
            this.set[e] = !0
        }, e.prototype.clear = function () {
            this.set = Object.create(null)
        }, e
    }();
    var ae = S,
        se = 0,
        ce = function () {
            this.id = se++,
                this.subs = []
        };
    ce.prototype.addSub = function (e) {
        this.subs.push(e)
    },
        ce.prototype.removeSub = function (e) {
            h(this.subs, e)
        },
        ce.prototype.depend = function () {
            ce.target &amp;&amp; ce.target.addDep(this)
        },
        ce.prototype.notify = function () {
            for (var e = this.subs.slice(), t = 0, n = e.length; t &lt; n; t++)
                e[t].update()
        },
        ce.target = null;
    var ue = [];
    function le(e) {
        ue.push(e),
            ce.target = e
    }
    function fe() {
        ue.pop(),
            ce.target = ue[ue.length - 1]
    }
    var pe = function (e, t, n, r, i, o, a, s) {
        this.tag = e,
            this.data = t,
            this.children = n,
            this.text = r,
            this.elm = i,
            this.ns = void 0,
            this.context = o,
            this.fnContext = void 0,
            this.fnOptions = void 0,
            this.fnScopeId = void 0,
            this.key = t &amp;&amp; t.key,
            this.componentOptions = a,
            this.componentInstance = void 0,
            this.parent = void 0,
            this.raw = !1,
            this.isStatic = !1,
            this.isRootInsert = !0,
            this.isComment = !1,
            this.isCloned = !1,
            this.isOnce = !1,
            this.asyncFactory = s,
            this.asyncMeta = void 0,
            this.isAsyncPlaceholder = !1
    },
        de = { child: { configurable: !0 } };
    de.child.get = function () {
        return this.componentInstance
    },
        Object.defineProperties(pe.prototype, de);
    var ve = function (e) {
        void 0 === e &amp;&amp; (e = "");
        var t = new pe;
        return t.text = e, t.isComment = !0, t
    };
    function he(e) {
        return new pe(void 0, void 0, void 0, String(e))
    }
    function me(e) {
        var t = new pe(e.tag, e.data, e.children &amp;&amp; e.children.slice(), e.text, e.elm, e.context, e.componentOptions, e.asyncFactory);
        return t.ns = e.ns, t.isStatic = e.isStatic, t.key = e.key, t.isComment = e.isComment, t.fnContext = e.fnContext, t.fnOptions = e.fnOptions, t.fnScopeId = e.fnScopeId, t.asyncMeta = e.asyncMeta, t.isCloned = !0, t
    }
    var ye = Array.prototype,
        ge = Object.create(ye);
    ["push", "pop", "shift", "unshift", "splice", "sort", "reverse"].forEach(function (e) {
        var t = ye[e];
        R(ge, e, function () {
            for (var n = [], r = arguments.length; r--;)
                n[r] = arguments[r];
            var i,
                o = t.apply(this, n),
                a = this.__ob__;
            switch (e) {
                case "push":
                case "unshift":
                    i = n;
                    break;
                case "splice":
                    i = n.slice(2)
            }
            return i &amp;&amp; a.observeArray(i), a.dep.notify(), o
        })
    });
    var _e = Object.getOwnPropertyNames(ge),
        be = !0;
    function $e(e) {
        be = e
    }
    var we = function (e) {
        var t;
        this.value = e,
            this.dep = new ce,
            this.vmCount = 0,
            R(e, "__ob__", this),
            Array.isArray(e) ? (U ? (t = ge, e.__proto__ = t) : function (e, t, n) {
                for (var r = 0, i = n.length; r &lt; i; r++) {
                    var o = n[r];
                    R(e, o, t[o])
                }
            }(e, ge, _e), this.observeArray(e)) : this.walk(e)
    };
    function Ce(e, t) {
        var n;
        if (o(e) &amp;&amp; !(e instanceof pe))
            return y(e, "__ob__") &amp;&amp; e.__ob__ instanceof we ? n = e.__ob__ : be &amp;&amp; !te() &amp;&amp; (Array.isArray(e) || s(e)) &amp;&amp; Object.isExtensible(e) &amp;&amp; !e._isVue &amp;&amp; (n = new we(e)), t &amp;&amp; n &amp;&amp; n.vmCount++, n
    }
    function xe(e, t, n, r, i) {
        var o = new ce,
            a = Object.getOwnPropertyDescriptor(e, t);
        if (!a || !1 !== a.configurable) {
            var s = a &amp;&amp; a.get,
                c = a &amp;&amp; a.set;
            s &amp;&amp; !c || 2 !== arguments.length || (n = e[t]);
            var u = !i &amp;&amp; Ce(n);
            Object.defineProperty(e, t, {
                enumerable: !0,
                configurable: !0,
                get: function () {
                    var t = s ? s.call(e) : n;
                    return ce.target &amp;&amp; (o.depend(), u &amp;&amp; (u.dep.depend(), Array.isArray(t) &amp;&amp; function e(t) {
                        for (var n = void 0, r = 0, i = t.length; r &lt; i; r++)
                            (n = t[r]) &amp;&amp; n.__ob__ &amp;&amp; n.__ob__.dep.depend(),
                                Array.isArray(n) &amp;&amp; e(n)
                    }(t))), t
                },
                set: function (t) {
                    var r = s ? s.call(e) : n;
                    t === r || t != t &amp;&amp; r != r || s &amp;&amp; !c || (c ? c.call(e, t) : n = t, u = !i &amp;&amp; Ce(t), o.notify())
                }
            })
        }
    }
    function ke(e, t, n) {
        if (Array.isArray(e) &amp;&amp; c(t))
            return e.length = Math.max(e.length, t), e.splice(t, 1, n), n;
        if (t in e &amp;&amp; !(t in Object.prototype))
            return e[t] = n, n;
        var r = e.__ob__;
        return e._isVue || r &amp;&amp; r.vmCount ? n : r ? (xe(r.value, t, n), r.dep.notify(), n) : (e[t] = n, n)
    }
    function Ae(e, t) {
        if (Array.isArray(e) &amp;&amp; c(t))
            e.splice(t, 1);
        else {
            var n = e.__ob__;
            e._isVue || n &amp;&amp; n.vmCount || y(e, t) &amp;&amp; (delete e[t], n &amp;&amp; n.dep.notify())
        }
    }
    we.prototype.walk = function (e) {
        for (var t = Object.keys(e), n = 0; n &lt; t.length; n++)
            xe(e, t[n])
    },
        we.prototype.observeArray = function (e) {
            for (var t = 0, n = e.length; t &lt; n; t++)
                Ce(e[t])
        };
    var Oe = F.optionMergeStrategies;
    function Se(e, t) {
        if (!t)
            return e;
        for (var n, r, i, o = oe ? Reflect.ownKeys(t) : Object.keys(t), a = 0; a &lt; o.length; a++)
            "__ob__" !== (n = o[a]) &amp;&amp; (r = e[n], i = t[n], y(e, n) ? r !== i &amp;&amp; s(r) &amp;&amp; s(i) &amp;&amp; Se(r, i) : ke(e, n, i));
        return e
    }
    function Te(e, t, n) {
        return n ? function () {
            var r = "function" == typeof t ? t.call(n, n) : t,
                i = "function" == typeof e ? e.call(n, n) : e;
            return r ? Se(r, i) : i
        } : t ? e ? function () {
            return Se("function" == typeof t ? t.call(this, this) : t, "function" == typeof e ? e.call(this, this) : e)
        } : t : e
    }
    function Ee(e, t) {
        var n = t ? e ? e.concat(t) : Array.isArray(t) ? t : [
            t
        ] : e;
        return n ? function (e) {
            for (var t = [], n = 0; n &lt; e.length; n++)
                -1 === t.indexOf(e[n]) &amp;&amp; t.push(e[n]);
            return t
        }(n) : n
    }
    function Ne(e, t, n, r) {
        var i = Object.create(e || null);
        return t ? A(i, t) : i
    }
    Oe.data = function (e, t, n) {
        return n ? Te(e, t, n) : t &amp;&amp; "function" != typeof t ? e : Te(e, t)
    },
        I.forEach(function (e) {
            Oe[e] = Ee
        }),
        M.forEach(function (e) {
            Oe[e + "s"] = Ne
        }),
        Oe.watch = function (e, t, n, r) {
            if (e === Y &amp;&amp; (e = void 0), t === Y &amp;&amp; (t = void 0), !t)
                return Object.create(e || null);
            if (!e)
                return t;
            var i = {};
            for (var o in A(i, e), t) {
                var a = i[o],
                    s = t[o];
                a &amp;&amp; !Array.isArray(a) &amp;&amp; (a = [
                    a
                ]),
                    i[o] = a ? a.concat(s) : Array.isArray(s) ? s : [
                        s
                    ]
            }
            return i
        },
        Oe.props = Oe.methods = Oe.inject = Oe.computed = function (e, t, n, r) {
            if (!e)
                return t;
            var i = Object.create(null);
            return A(i, e), t &amp;&amp; A(i, t), i
        },
        Oe.provide = Te;
    var je = function (e, t) {
        return void 0 === t ? e : t
    };
    function De(e, t, n) {
        if ("function" == typeof t &amp;&amp; (t = t.options), function (e, t) {
            var n = e.props;
            if (n) {
                var r,
                    i,
                    o = {};
                if (Array.isArray(n))
                    for (r = n.length; r--;)
                        "string" == typeof (i = n[r]) &amp;&amp; (o[b(i)] = { type: null });
                else if (s(n))
                    for (var a in n)
                        i = n[a],
                            o[b(a)] = s(i) ? i : { type: i };
                e.props = o
            }
        }(t), function (e, t) {
            var n = e.inject;
            if (n) {
                var r = e.inject = {};
                if (Array.isArray(n))
                    for (var i = 0; i &lt; n.length; i++)
                        r[n[i]] = { from: n[i] };
                else if (s(n))
                    for (var o in n) {
                        var a = n[o];
                        r[o] = s(a) ? A({ from: o }, a) : { from: a }
                    }
            }
        }(t), function (e) {
            var t = e.directives;
            if (t)
                for (var n in t) {
                    var r = t[n];
                    "function" == typeof r &amp;&amp; (t[n] = {
                        bind: r,
                        update: r
                    })
                }
        }(t), !t._base &amp;&amp; (t.extends &amp;&amp; (e = De(e, t.extends, n)), t.mixins))
            for (var r = 0, i = t.mixins.length; r &lt; i; r++)
                e = De(e, t.mixins[r], n);
        var o,
            a = {};
        for (o in e)
            c(o);
        for (o in t)
            y(e, o) || c(o);
        function c(r) {
            var i = Oe[r] || je;
            a[r] = i(e[r], t[r], n, r)
        }
        return a
    }
    function Le(e, t, n, r) {
        if ("string" == typeof n) {
            var i = e[t];
            if (y(i, n))
                return i[n];
            var o = b(n);
            if (y(i, o))
                return i[o];
            var a = $(o);
            return y(i, a) ? i[a] : i[n] || i[o] || i[a]
        }
    }
    function Me(e, t, n, r) {
        var i = t[e],
            o = !y(n, e),
            a = n[e],
            s = Pe(Boolean, i.type);
        if (s &gt; -1)
            if (o &amp;&amp; !y(i, "default"))
                a = !1;
            else if ("" === a || a === C(e)) {
                var c = Pe(String, i.type);
                (c &lt; 0 || s &lt; c) &amp;&amp; (a = !0)
            }
        if (void 0 === a) {
            a = function (e, t, n) {
                if (!y(t, "default"))
                    return;
                var r = t.default;
                if (e &amp;&amp; e.$options.propsData &amp;&amp; void 0 === e.$options.propsData[n] &amp;&amp; void 0 !== e._props[n])
                    return e._props[n];
                return "function" == typeof r &amp;&amp; "Function" !== Ie(t.type) ? r.call(e) : r
            }(r, i, e);
            var u = be;
            $e(!0),
                Ce(a),
                $e(u)
        }
        return a
    }
    function Ie(e) {
        var t = e &amp;&amp; e.toString().match(/^\s*function (\w+)/);
        return t ? t[1] : ""
    }
    function Fe(e, t) {
        return Ie(e) === Ie(t)
    }
    function Pe(e, t) {
        if (!Array.isArray(t))
            return Fe(t, e) ? 0 : -1;
        for (var n = 0, r = t.length; n &lt; r; n++)
            if (Fe(t[n], e))
                return n;
        return -1
    }
    function Re(e, t, n) {
        le();
        try {
            if (t)
                for (var r = t; r = r.$parent;) {
                    var i = r.$options.errorCaptured;
                    if (i)
                        for (var o = 0; o &lt; i.length; o++)
                            try {
                                if (!1 === i[o].call(r, e, t, n))
                                    return
                            }
                            catch (e) {
                                Be(e, r, "errorCaptured hook")
                            }
                }
            Be(e, t, n)
        }
        finally {
            fe()
        }
    }
    function He(e, t, n, r, i) {
        var o;
        try {
            (o = n ? e.apply(t, n) : e.call(t)) &amp;&amp; !o._isVue &amp;&amp; u(o) &amp;&amp; !o._handled &amp;&amp; (o.catch(function (e) {
                return Re(e, r, i + " (Promise/async)")
            }), o._handled = !0)
        }
        catch (e) {
            Re(e, r, i)
        }
        return o
    }
    function Be(e, t, n) {
        if (F.errorHandler)
            try {
                return F.errorHandler.call(null, e, t, n)
            }
            catch (t) {
                t !== e &amp;&amp; Ue(t, null, "config.errorHandler")
            }
        Ue(e, t, n)
    }
    function Ue(e, t, n) {
        if (!z &amp;&amp; !V || "undefined" == typeof console)
            throw e;
        console.error(e)
    }
    var ze,
        Ve = !1,
        Ke = [],
        Je = !1;
    function qe() {
        Je = !1;
        var e = Ke.slice(0);
        Ke.length = 0;
        for (var t = 0; t &lt; e.length; t++)
            e[t]()
    }
    if ("undefined" != typeof Promise &amp;&amp; re(Promise)) {
        var We = Promise.resolve();
        ze = function () {
            We.then(qe),
                G &amp;&amp; setTimeout(S)
        },
            Ve = !0
    }
    else if (q || "undefined" == typeof MutationObserver || !re(MutationObserver) &amp;&amp; "[object MutationObserverConstructor]" !== MutationObserver.toString())
        ze = "undefined" != typeof setImmediate &amp;&amp; re(setImmediate) ? function () {
            setImmediate(qe)
        } : function () {
            setTimeout(qe, 0)
        };
    else {
        var Ze = 1,
            Ge = new MutationObserver(qe),
            Xe = document.createTextNode(String(Ze));
        Ge.observe(Xe, { characterData: !0 }),
            ze = function () {
                Ze = (Ze + 1) % 2,
                    Xe.data = String(Ze)
            },
            Ve = !0
    }
    function Ye(e, t) {
        var n;
        if (Ke.push(function () {
            if (e)
                try {
                    e.call(t)
                }
                catch (e) {
                    Re(e, t, "nextTick")
                }
            else
                n &amp;&amp; n(t)
        }), Je || (Je = !0, ze()), !e &amp;&amp; "undefined" != typeof Promise)
            return new Promise(function (e) {
                n = e
            })
    }
    var Qe = new ie;
    function et(e) {
        !function e(t, n) {
            var r,
                i;
            var a = Array.isArray(t);
            if (!a &amp;&amp; !o(t) || Object.isFrozen(t) || t instanceof pe)
                return;
            if (t.__ob__) {
                var s = t.__ob__.dep.id;
                if (n.has(s))
                    return;
                n.add(s)
            }
            if (a)
                for (r = t.length; r--;)
                    e(t[r], n);
            else
                for (i = Object.keys(t), r = i.length; r--;)
                    e(t[i[r]], n)
        }(e, Qe),
            Qe.clear()
    }
    var tt = g(function (e) {
        var t = "&amp;" === e.charAt(0),
            n = "~" === (e = t ? e.slice(1) : e).charAt(0),
            r = "!" === (e = n ? e.slice(1) : e).charAt(0);
        return {
            name: e = r ? e.slice(1) : e,
            once: n,
            capture: r,
            passive: t
        }
    });
    function nt(e, t) {
        function n() {
            var e = arguments,
                r = n.fns;
            if (!Array.isArray(r))
                return He(r, null, arguments, t, "v-on handler");
            for (var i = r.slice(), o = 0; o &lt; i.length; o++)
                He(i[o], null, e, t, "v-on handler")
        }
        return n.fns = e, n
    }
    function rt(e, n, i, o, a, s) {
        var c,
            u,
            l,
            f;
        for (c in e)
            u = e[c],
                l = n[c],
                f = tt(c),
                t(u) || (t(l) ? (t(u.fns) &amp;&amp; (u = e[c] = nt(u, s)), r(f.once) &amp;&amp; (u = e[c] = a(f.name, u, f.capture)), i(f.name, u, f.capture, f.passive, f.params)) : u !== l &amp;&amp; (l.fns = u, e[c] = l));
        for (c in n)
            t(e[c]) &amp;&amp; o((f = tt(c)).name, n[c], f.capture)
    }
    function it(e, i, o) {
        var a;
        e instanceof pe &amp;&amp; (e = e.data.hook || (e.data.hook = {}));
        var s = e[i];
        function c() {
            o.apply(this, arguments),
                h(a.fns, c)
        }
        t(s) ? a = nt([
            c
        ]) : n(s.fns) &amp;&amp; r(s.merged) ? (a = s).fns.push(c) : a = nt([
            s,
            c
        ]),
            a.merged = !0,
            e[i] = a
    }
    function ot(e, t, r, i, o) {
        if (n(t)) {
            if (y(t, r))
                return e[r] = t[r], o || delete t[r], !0;
            if (y(t, i))
                return e[r] = t[i], o || delete t[i], !0
        }
        return !1
    }
    function at(e) {
        return i(e) ? [
            he(e)
        ] : Array.isArray(e) ? function e(o, a) {
            var s = [];
            var c,
                u,
                l,
                f;
            for (c = 0; c &lt; o.length; c++)
                t(u = o[c]) || "boolean" == typeof u || (l = s.length - 1, f = s[l], Array.isArray(u) ? u.length &gt; 0 &amp;&amp; (st((u = e(u, (a || "") + "_" + c))[0]) &amp;&amp; st(f) &amp;&amp; (s[l] = he(f.text + u[0].text), u.shift()), s.push.apply(s, u)) : i(u) ? st(f) ? s[l] = he(f.text + u) : "" !== u &amp;&amp; s.push(he(u)) : st(u) &amp;&amp; st(f) ? s[l] = he(f.text + u.text) : (r(o._isVList) &amp;&amp; n(u.tag) &amp;&amp; t(u.key) &amp;&amp; n(a) &amp;&amp; (u.key = "__vlist" + a + "_" + c + "__"), s.push(u)));
            return s
        }(e) : void 0
    }
    function st(e) {
        return n(e) &amp;&amp; n(e.text) &amp;&amp; !1 === e.isComment
    }
    function ct(e, t) {
        if (e) {
            for (var n = Object.create(null), r = oe ? Reflect.ownKeys(e) : Object.keys(e), i = 0; i &lt; r.length; i++) {
                var o = r[i];
                if ("__ob__" !== o) {
                    for (var a = e[o].from, s = t; s;) {
                        if (s._provided &amp;&amp; y(s._provided, a)) {
                            n[o] = s._provided[a];
                            break
                        }
                        s = s.$parent
                    }
                    if (!s &amp;&amp; "default" in e[o]) {
                        var c = e[o].default;
                        n[o] = "function" == typeof c ? c.call(t) : c
                    }
                }
            }
            return n
        }
    }
    function ut(e, t) {
        if (!e || !e.length)
            return {};
        for (var n = {}, r = 0, i = e.length; r &lt; i; r++) {
            var o = e[r],
                a = o.data;
            if (a &amp;&amp; a.attrs &amp;&amp; a.attrs.slot &amp;&amp; delete a.attrs.slot, o.context !== t &amp;&amp; o.fnContext !== t || !a || null == a.slot)
                (n.default || (n.default = [])).push(o);
            else {
                var s = a.slot,
                    c = n[s] || (n[s] = []);
                "template" === o.tag ? c.push.apply(c, o.children || []) : c.push(o)
            }
        }
        for (var u in n)
            n[u].every(lt) &amp;&amp; delete n[u];
        return n
    }
    function lt(e) {
        return e.isComment &amp;&amp; !e.asyncFactory || " " === e.text
    }
    function ft(t, n, r) {
        var i,
            o = Object.keys(n).length &gt; 0,
            a = t ? !!t.$stable : !o,
            s = t &amp;&amp; t.$key;
        if (t) {
            if (t._normalized)
                return t._normalized;
            if (a &amp;&amp; r &amp;&amp; r !== e &amp;&amp; s === r.$key &amp;&amp; !o &amp;&amp; !r.$hasNormal)
                return r;
            for (var c in i = {}, t)
                t[c] &amp;&amp; "$" !== c[0] &amp;&amp; (i[c] = pt(n, c, t[c]))
        }
        else
            i = {};
        for (var u in n)
            u in i || (i[u] = dt(n, u));
        return t &amp;&amp; Object.isExtensible(t) &amp;&amp; (t._normalized = i), R(i, "$stable", a), R(i, "$key", s), R(i, "$hasNormal", o), i
    }
    function pt(e, t, n) {
        var r = function () {
            var e = arguments.length ? n.apply(null, arguments) : n({});
            return (e = e &amp;&amp; "object" == typeof e &amp;&amp; !Array.isArray(e) ? [
                e
            ] : at(e)) &amp;&amp; (0 === e.length || 1 === e.length &amp;&amp; e[0].isComment) ? void 0 : e
        };
        return n.proxy &amp;&amp; Object.defineProperty(e, t, {
            get: r,
            enumerable: !0,
            configurable: !0
        }), r
    }
    function dt(e, t) {
        return function () {
            return e[t]
        }
    }
    function vt(e, t) {
        var r,
            i,
            a,
            s,
            c;
        if (Array.isArray(e) || "string" == typeof e)
            for (r = new Array(e.length), i = 0, a = e.length; i &lt; a; i++)
                r[i] = t(e[i], i);
        else if ("number" == typeof e)
            for (r = new Array(e), i = 0; i &lt; e; i++)
                r[i] = t(i + 1, i);
        else if (o(e))
            if (oe &amp;&amp; e[Symbol.iterator]) {
                r = [];
                for (var u = e[Symbol.iterator](), l = u.next(); !l.done;)
                    r.push(t(l.value, r.length)),
                        l = u.next()
            }
            else
                for (s = Object.keys(e), r = new Array(s.length), i = 0, a = s.length; i &lt; a; i++)
                    c = s[i],
                        r[i] = t(e[c], c, i);
        return n(r) || (r = []), r._isVList = !0, r
    }
    function ht(e, t, n, r) {
        var i,
            o = this.$scopedSlots[e];
        o ? (n = n || {}, r &amp;&amp; (n = A(A({}, r), n)), i = o(n) || t) : i = this.$slots[e] || t;
        var a = n &amp;&amp; n.slot;
        return a ? this.$createElement("template", { slot: a }, i) : i
    }
    function mt(e) {
        return Le(this.$options, "filters", e) || E
    }
    function yt(e, t) {
        return Array.isArray(e) ? -1 === e.indexOf(t) : e !== t
    }
    function gt(e, t, n, r, i) {
        var o = F.keyCodes[t] || n;
        return i &amp;&amp; r &amp;&amp; !F.keyCodes[t] ? yt(i, r) : o ? yt(o, e) : r ? C(r) !== t : void 0
    }
    function _t(e, t, n, r, i) {
        if (n)
            if (o(n)) {
                var a;
                Array.isArray(n) &amp;&amp; (n = O(n));
                var s = function (o) {
                    if ("class" === o || "style" === o || v(o))
                        a = e;
                    else {
                        var s = e.attrs &amp;&amp; e.attrs.type;
                        a = r || F.mustUseProp(t, s, o) ? e.domProps || (e.domProps = {}) : e.attrs || (e.attrs = {})
                    }
                    var c = b(o),
                        u = C(o);
                    c in a || u in a || (a[o] = n[o], i &amp;&amp; ((e.on || (e.on = {}))["update:" + o] = function (e) {
                        n[o] = e
                    }))
                };
                for (var c in n)
                    s(c)
            }
            else
                ;
        return e
    }
    function bt(e, t) {
        var n = this._staticTrees || (this._staticTrees = []),
            r = n[e];
        return r &amp;&amp; !t ? r : (wt(r = n[e] = this.$options.staticRenderFns[e].call(this._renderProxy, null, this), "__static__" + e, !1), r)
    }
    function $t(e, t, n) {
        return wt(e, "__once__" + t + (n ? "_" + n : ""), !0), e
    }
    function wt(e, t, n) {
        if (Array.isArray(e))
            for (var r = 0; r &lt; e.length; r++)
                e[r] &amp;&amp; "string" != typeof e[r] &amp;&amp; Ct(e[r], t + "_" + r, n);
        else
            Ct(e, t, n)
    }
    function Ct(e, t, n) {
        e.isStatic = !0,
            e.key = t,
            e.isOnce = n
    }
    function xt(e, t) {
        if (t)
            if (s(t)) {
                var n = e.on = e.on ? A({}, e.on) : {};
                for (var r in t) {
                    var i = n[r],
                        o = t[r];
                    n[r] = i ? [].concat(i, o) : o
                }
            }
            else
                ;
        return e
    }
    function kt(e, t, n, r) {
        t = t || { $stable: !n };
        for (var i = 0; i &lt; e.length; i++) {
            var o = e[i];
            Array.isArray(o) ? kt(o, t, n) : o &amp;&amp; (o.proxy &amp;&amp; (o.fn.proxy = !0), t[o.key] = o.fn)
        }
        return r &amp;&amp; (t.$key = r), t
    }
    function At(e, t) {
        for (var n = 0; n &lt; t.length; n += 2) {
            var r = t[n];
            "string" == typeof r &amp;&amp; r &amp;&amp; (e[t[n]] = t[n + 1])
        }
        return e
    }
    function Ot(e, t) {
        return "string" == typeof e ? t + e : e
    }
    function St(e) {
        e._o = $t,
            e._n = f,
            e._s = l,
            e._l = vt,
            e._t = ht,
            e._q = N,
            e._i = j,
            e._m = bt,
            e._f = mt,
            e._k = gt,
            e._b = _t,
            e._v = he,
            e._e = ve,
            e._u = kt,
            e._g = xt,
            e._d = At,
            e._p = Ot
    }
    function Tt(t, n, i, o, a) {
        var s,
            c = this,
            u = a.options;
        y(o, "_uid") ? (s = Object.create(o))._original = o : (s = o, o = o._original);
        var l = r(u._compiled),
            f = !l;
        this.data = t,
            this.props = n,
            this.children = i,
            this.parent = o,
            this.listeners = t.on || e,
            this.injections = ct(u.inject, o),
            this.slots = function () {
                return c.$slots || ft(t.scopedSlots, c.$slots = ut(i, o)), c.$slots
            },
            Object.defineProperty(this, "scopedSlots", {
                enumerable: !0,
                get: function () {
                    return ft(t.scopedSlots, this.slots())
                }
            }),
            l &amp;&amp; (this.$options = u, this.$slots = this.slots(), this.$scopedSlots = ft(t.scopedSlots, this.$slots)),
            u._scopeId ? this._c = function (e, t, n, r) {
                var i = Pt(s, e, t, n, r, f);
                return i &amp;&amp; !Array.isArray(i) &amp;&amp; (i.fnScopeId = u._scopeId, i.fnContext = o), i
            } : this._c = function (e, t, n, r) {
                return Pt(s, e, t, n, r, f)
            }
    }
    function Et(e, t, n, r, i) {
        var o = me(e);
        return o.fnContext = n, o.fnOptions = r, t.slot &amp;&amp; ((o.data || (o.data = {})).slot = t.slot), o
    }
    function Nt(e, t) {
        for (var n in t)
            e[b(n)] = t[n]
    }
    St(Tt.prototype);
    var jt = {
        init: function (e, t) {
            if (e.componentInstance &amp;&amp; !e.componentInstance._isDestroyed &amp;&amp; e.data.keepAlive) {
                var r = e;
                jt.prepatch(r, r)
            }
            else {
                (e.componentInstance = function (e, t) {
                    var r = {
                        _isComponent: !0,
                        _parentVnode: e,
                        parent: t
                    },
                        i = e.data.inlineTemplate;
                    n(i) &amp;&amp; (r.render = i.render, r.staticRenderFns = i.staticRenderFns);
                    return new e.componentOptions.Ctor(r)
                }(e, Wt)).$mount(t ? e.elm : void 0, t)
            }
        },
        prepatch: function (t, n) {
            var r = n.componentOptions;
            !function (t, n, r, i, o) {
                var a = i.data.scopedSlots,
                    s = t.$scopedSlots,
                    c = !!(a &amp;&amp; !a.$stable || s !== e &amp;&amp; !s.$stable || a &amp;&amp; t.$scopedSlots.$key !== a.$key),
                    u = !!(o || t.$options._renderChildren || c);
                t.$options._parentVnode = i,
                    t.$vnode = i,
                    t._vnode &amp;&amp; (t._vnode.parent = i);
                if (t.$options._renderChildren = o, t.$attrs = i.data.attrs || e, t.$listeners = r || e, n &amp;&amp; t.$options.props) {
                    $e(!1);
                    for (var l = t._props, f = t.$options._propKeys || [], p = 0; p &lt; f.length; p++) {
                        var d = f[p],
                            v = t.$options.props;
                        l[d] = Me(d, v, n, t)
                    }
                    $e(!0),
                        t.$options.propsData = n
                }
                r = r || e;
                var h = t.$options._parentListeners;
                t.$options._parentListeners = r,
                    qt(t, r, h),
                    u &amp;&amp; (t.$slots = ut(o, i.context), t.$forceUpdate())
            }(n.componentInstance = t.componentInstance, r.propsData, r.listeners, n, r.children)
        },
        insert: function (e) {
            var t,
                n = e.context,
                r = e.componentInstance;
            r._isMounted || (r._isMounted = !0, Yt(r, "mounted")),
                e.data.keepAlive &amp;&amp; (n._isMounted ? ((t = r)._inactive = !1, en.push(t)) : Xt(r, !0))
        },
        destroy: function (e) {
            var t = e.componentInstance;
            t._isDestroyed || (e.data.keepAlive ? function e(t, n) {
                if (n &amp;&amp; (t._directInactive = !0, Gt(t)))
                    return;
                if (!t._inactive) {
                    t._inactive = !0;
                    for (var r = 0; r &lt; t.$children.length; r++)
                        e(t.$children[r]);
                    Yt(t, "deactivated")
                }
            }(t, !0) : t.$destroy())
        }
    },
        Dt = Object.keys(jt);
    function Lt(i, a, s, c, l) {
        if (!t(i)) {
            var f = s.$options._base;
            if (o(i) &amp;&amp; (i = f.extend(i)), "function" == typeof i) {
                var p;
                if (t(i.cid) &amp;&amp; void 0 === (i = function (e, i) {
                    if (r(e.error) &amp;&amp; n(e.errorComp))
                        return e.errorComp;
                    if (n(e.resolved))
                        return e.resolved;
                    var a = Ht;
                    a &amp;&amp; n(e.owners) &amp;&amp; -1 === e.owners.indexOf(a) &amp;&amp; e.owners.push(a);
                    if (r(e.loading) &amp;&amp; n(e.loadingComp))
                        return e.loadingComp;
                    if (a &amp;&amp; !n(e.owners)) {
                        var s = e.owners = [
                            a
                        ],
                            c = !0,
                            l = null,
                            f = null;
                        a.$on("hook:destroyed", function () {
                            return h(s, a)
                        });
                        var p = function (e) {
                            for (var t = 0, n = s.length; t &lt; n; t++)
                                s[t].$forceUpdate();
                            e &amp;&amp; (s.length = 0, null !== l &amp;&amp; (clearTimeout(l), l = null), null !== f &amp;&amp; (clearTimeout(f), f = null))
                        },
                            d = D(function (t) {
                                e.resolved = Bt(t, i),
                                    c ? s.length = 0 : p(!0)
                            }),
                            v = D(function (t) {
                                n(e.errorComp) &amp;&amp; (e.error = !0, p(!0))
                            }),
                            m = e(d, v);
                        return o(m) &amp;&amp; (u(m) ? t(e.resolved) &amp;&amp; m.then(d, v) : u(m.component) &amp;&amp; (m.component.then(d, v), n(m.error) &amp;&amp; (e.errorComp = Bt(m.error, i)), n(m.loading) &amp;&amp; (e.loadingComp = Bt(m.loading, i), 0 === m.delay ? e.loading = !0 : l = setTimeout(function () {
                            l = null,
                                t(e.resolved) &amp;&amp; t(e.error) &amp;&amp; (e.loading = !0, p(!1))
                        }, m.delay || 200)), n(m.timeout) &amp;&amp; (f = setTimeout(function () {
                            f = null,
                                t(e.resolved) &amp;&amp; v(null)
                        }, m.timeout)))), c = !1, e.loading ? e.loadingComp : e.resolved
                    }
                }(p = i, f)))
                    return function (e, t, n, r, i) {
                        var o = ve();
                        return o.asyncFactory = e, o.asyncMeta = {
                            data: t,
                            context: n,
                            children: r,
                            tag: i
                        }, o
                    }(p, a, s, c, l);
                a = a || {},
                    $n(i),
                    n(a.model) &amp;&amp; function (e, t) {
                        var r = e.model &amp;&amp; e.model.prop || "value",
                            i = e.model &amp;&amp; e.model.event || "input";
                        (t.attrs || (t.attrs = {}))[r] = t.model.value;
                        var o = t.on || (t.on = {}),
                            a = o[i],
                            s = t.model.callback;
                        n(a) ? (Array.isArray(a) ? -1 === a.indexOf(s) : a !== s) &amp;&amp; (o[i] = [
                            s
                        ].concat(a)) : o[i] = s
                    }(i.options, a);
                var d = function (e, r, i) {
                    var o = r.options.props;
                    if (!t(o)) {
                        var a = {},
                            s = e.attrs,
                            c = e.props;
                        if (n(s) || n(c))
                            for (var u in o) {
                                var l = C(u);
                                ot(a, c, u, l, !0) || ot(a, s, u, l, !1)
                            }
                        return a
                    }
                }(a, i);
                if (r(i.options.functional))
                    return function (t, r, i, o, a) {
                        var s = t.options,
                            c = {},
                            u = s.props;
                        if (n(u))
                            for (var l in u)
                                c[l] = Me(l, u, r || e);
                        else
                            n(i.attrs) &amp;&amp; Nt(c, i.attrs),
                                n(i.props) &amp;&amp; Nt(c, i.props);
                        var f = new Tt(i, c, a, o, t),
                            p = s.render.call(null, f._c, f);
                        if (p instanceof pe)
                            return Et(p, i, f.parent, s);
                        if (Array.isArray(p)) {
                            for (var d = at(p) || [], v = new Array(d.length), h = 0; h &lt; d.length; h++)
                                v[h] = Et(d[h], i, f.parent, s);
                            return v
                        }
                    }(i, d, a, s, c);
                var v = a.on;
                if (a.on = a.nativeOn, r(i.options.abstract)) {
                    var m = a.slot;
                    a = {},
                        m &amp;&amp; (a.slot = m)
                }
                !function (e) {
                    for (var t = e.hook || (e.hook = {}), n = 0; n &lt; Dt.length; n++) {
                        var r = Dt[n],
                            i = t[r],
                            o = jt[r];
                        i === o || i &amp;&amp; i._merged || (t[r] = i ? Mt(o, i) : o)
                    }
                }(a);
                var y = i.options.name || l;
                return new pe("vue-component-" + i.cid + (y ? "-" + y : ""), a, void 0, void 0, void 0, s, {
                    Ctor: i,
                    propsData: d,
                    listeners: v,
                    tag: l,
                    children: c
                }, p)
            }
        }
    }
    function Mt(e, t) {
        var n = function (n, r) {
            e(n, r),
                t(n, r)
        };
        return n._merged = !0, n
    }
    var It = 1,
        Ft = 2;
    function Pt(e, a, s, c, u, l) {
        return (Array.isArray(s) || i(s)) &amp;&amp; (u = c, c = s, s = void 0), r(l) &amp;&amp; (u = Ft), function (e, i, a, s, c) {
            if (n(a) &amp;&amp; n(a.__ob__))
                return ve();
            n(a) &amp;&amp; n(a.is) &amp;&amp; (i = a.is);
            if (!i)
                return ve();
            Array.isArray(s) &amp;&amp; "function" == typeof s[0] &amp;&amp; ((a = a || {}).scopedSlots = { default: s[0] }, s.length = 0);
            c === Ft ? s = at(s) : c === It &amp;&amp; (s = function (e) {
                for (var t = 0; t &lt; e.length; t++)
                    if (Array.isArray(e[t]))
                        return Array.prototype.concat.apply([], e);
                return e
            }(s));
            var u,
                l;
            if ("string" == typeof i) {
                var f;
                l = e.$vnode &amp;&amp; e.$vnode.ns || F.getTagNamespace(i),
                    u = F.isReservedTag(i) ? new pe(F.parsePlatformTagName(i), a, s, void 0, void 0, e) : a &amp;&amp; a.pre || !n(f = Le(e.$options, "components", i)) ? new pe(i, a, s, void 0, void 0, e) : Lt(f, a, e, s, i)
            }
            else
                u = Lt(i, a, e, s);
            return Array.isArray(u) ? u : n(u) ? (n(l) &amp;&amp; function e(i, o, a) {
                i.ns = o;
                "foreignObject" === i.tag &amp;&amp; (o = void 0, a = !0);
                if (n(i.children))
                    for (var s = 0, c = i.children.length; s &lt; c; s++) {
                        var u = i.children[s];
                        n(u.tag) &amp;&amp; (t(u.ns) || r(a) &amp;&amp; "svg" !== u.tag) &amp;&amp; e(u, o, a)
                    }
            }(u, l), n(a) &amp;&amp; function (e) {
                o(e.style) &amp;&amp; et(e.style);
                o(e.class) &amp;&amp; et(e.class)
            }(a), u) : ve()
        }(e, a, s, c, u)
    }
    var Rt,
        Ht = null;
    function Bt(e, t) {
        return (e.__esModule || oe &amp;&amp; "Module" === e[Symbol.toStringTag]) &amp;&amp; (e = e.default), o(e) ? t.extend(e) : e
    }
    function Ut(e) {
        return e.isComment &amp;&amp; e.asyncFactory
    }
    function zt(e) {
        if (Array.isArray(e))
            for (var t = 0; t &lt; e.length; t++) {
                var r = e[t];
                if (n(r) &amp;&amp; (n(r.componentOptions) || Ut(r)))
                    return r
            }
    }
    function Vt(e, t) {
        Rt.$on(e, t)
    }
    function Kt(e, t) {
        Rt.$off(e, t)
    }
    function Jt(e, t) {
        var n = Rt;
        return function r() {
            null !== t.apply(null, arguments) &amp;&amp; n.$off(e, r)
        }
    }
    function qt(e, t, n) {
        Rt = e,
            rt(t, n || {}, Vt, Kt, Jt, e),
            Rt = void 0
    }
    var Wt = null;
    function Zt(e) {
        var t = Wt;
        return Wt = e, function () {
            Wt = t
        }
    }
    function Gt(e) {
        for (; e &amp;&amp; (e = e.$parent);)
            if (e._inactive)
                return !0;
        return !1
    }
    function Xt(e, t) {
        if (t) {
            if (e._directInactive = !1, Gt(e))
                return
        }
        else if (e._directInactive)
            return;
        if (e._inactive || null === e._inactive) {
            e._inactive = !1;
            for (var n = 0; n &lt; e.$children.length; n++)
                Xt(e.$children[n]);
            Yt(e, "activated")
        }
    }
    function Yt(e, t) {
        le();
        var n = e.$options[t],
            r = t + " hook";
        if (n)
            for (var i = 0, o = n.length; i &lt; o; i++)
                He(n[i], e, null, e, r);
        e._hasHookEvent &amp;&amp; e.$emit("hook:" + t),
            fe()
    }
    var Qt = [],
        en = [],
        tn = {},
        nn = !1,
        rn = !1,
        on = 0;
    var an = 0,
        sn = Date.now;
    if (z &amp;&amp; !q) {
        var cn = window.performance;
        cn &amp;&amp; "function" == typeof cn.now &amp;&amp; sn() &gt; document.createEvent("Event").timeStamp &amp;&amp; (sn = function () {
            return cn.now()
        })
    }
    function un() {
        var e,
            t;
        for (an = sn(), rn = !0, Qt.sort(function (e, t) {
            return e.id - t.id
        }), on = 0; on &lt; Qt.length; on++)
            (e = Qt[on]).before &amp;&amp; e.before(),
                t = e.id,
                tn[t] = null,
                e.run();
        var n = en.slice(),
            r = Qt.slice();
        on = Qt.length = en.length = 0,
            tn = {},
            nn = rn = !1,
            function (e) {
                for (var t = 0; t &lt; e.length; t++)
                    e[t]._inactive = !0,
                        Xt(e[t], !0)
            }(n),
            function (e) {
                var t = e.length;
                for (; t--;) {
                    var n = e[t],
                        r = n.vm;
                    r._watcher === n &amp;&amp; r._isMounted &amp;&amp; !r._isDestroyed &amp;&amp; Yt(r, "updated")
                }
            }(r),
            ne &amp;&amp; F.devtools &amp;&amp; ne.emit("flush")
    }
    var ln = 0,
        fn = function (e, t, n, r, i) {
            this.vm = e,
                i &amp;&amp; (e._watcher = this),
                e._watchers.push(this),
                r ? (this.deep = !!r.deep, this.user = !!r.user, this.lazy = !!r.lazy, this.sync = !!r.sync, this.before = r.before) : this.deep = this.user = this.lazy = this.sync = !1,
                this.cb = n,
                this.id = ++ln,
                this.active = !0,
                this.dirty = this.lazy,
                this.deps = [],
                this.newDeps = [],
                this.depIds = new ie,
                this.newDepIds = new ie,
                this.expression = "",
                "function" == typeof t ? this.getter = t : (this.getter = function (e) {
                    if (!H.test(e)) {
                        var t = e.split(".");
                        return function (e) {
                            for (var n = 0; n &lt; t.length; n++) {
                                if (!e)
                                    return;
                                e = e[t[n]]
                            }
                            return e
                        }
                    }
                }(t), this.getter || (this.getter = S)),
                this.value = this.lazy ? void 0 : this.get()
        };
    fn.prototype.get = function () {
        var e;
        le(this);
        var t = this.vm;
        try {
            e = this.getter.call(t, t)
        }
        catch (e) {
            if (!this.user)
                throw e;
            Re(e, t, 'getter for watcher "' + this.expression + '"')
        }
        finally {
            this.deep &amp;&amp; et(e),
                fe(),
                this.cleanupDeps()
        }
        return e
    },
        fn.prototype.addDep = function (e) {
            var t = e.id;
            this.newDepIds.has(t) || (this.newDepIds.add(t), this.newDeps.push(e), this.depIds.has(t) || e.addSub(this))
        },
        fn.prototype.cleanupDeps = function () {
            for (var e = this.deps.length; e--;) {
                var t = this.deps[e];
                this.newDepIds.has(t.id) || t.removeSub(this)
            }
            var n = this.depIds;
            this.depIds = this.newDepIds,
                this.newDepIds = n,
                this.newDepIds.clear(),
                n = this.deps,
                this.deps = this.newDeps,
                this.newDeps = n,
                this.newDeps.length = 0
        },
        fn.prototype.update = function () {
            this.lazy ? this.dirty = !0 : this.sync ? this.run() : function (e) {
                var t = e.id;
                if (null == tn[t]) {
                    if (tn[t] = !0, rn) {
                        for (var n = Qt.length - 1; n &gt; on &amp;&amp; Qt[n].id &gt; e.id;)
                            n--;
                        Qt.splice(n + 1, 0, e)
                    }
                    else
                        Qt.push(e);
                    nn || (nn = !0, Ye(un))
                }
            }(this)
        },
        fn.prototype.run = function () {
            if (this.active) {
                var e = this.get();
                if (e !== this.value || o(e) || this.deep) {
                    var t = this.value;
                    if (this.value = e, this.user)
                        try {
                            this.cb.call(this.vm, e, t)
                        }
                        catch (e) {
                            Re(e, this.vm, 'callback for watcher "' + this.expression + '"')
                        }
                    else
                        this.cb.call(this.vm, e, t)
                }
            }
        },
        fn.prototype.evaluate = function () {
            this.value = this.get(),
                this.dirty = !1
        },
        fn.prototype.depend = function () {
            for (var e = this.deps.length; e--;)
                this.deps[e].depend()
        },
        fn.prototype.teardown = function () {
            if (this.active) {
                this.vm._isBeingDestroyed || h(this.vm._watchers, this);
                for (var e = this.deps.length; e--;)
                    this.deps[e].removeSub(this);
                this.active = !1
            }
        };
    var pn = {
        enumerable: !0,
        configurable: !0,
        get: S,
        set: S
    };
    function dn(e, t, n) {
        pn.get = function () {
            return this[t][n]
        },
            pn.set = function (e) {
                this[t][n] = e
            },
            Object.defineProperty(e, n, pn)
    }
    function vn(e) {
        e._watchers = [];
        var t = e.$options;
        t.props &amp;&amp; function (e, t) {
            var n = e.$options.propsData || {},
                r = e._props = {},
                i = e.$options._propKeys = [];
            e.$parent &amp;&amp; $e(!1);
            var o = function (o) {
                i.push(o);
                var a = Me(o, t, n, e);
                xe(r, o, a),
                    o in e || dn(e, "_props", o)
            };
            for (var a in t)
                o(a);
            $e(!0)
        }(e, t.props),
            t.methods &amp;&amp; function (e, t) {
                e.$options.props;
                for (var n in t)
                    e[n] = "function" != typeof t[n] ? S : x(t[n], e)
            }(e, t.methods),
            t.data ? function (e) {
                var t = e.$options.data;
                s(t = e._data = "function" == typeof t ? function (e, t) {
                    le();
                    try {
                        return e.call(t, t)
                    }
                    catch (e) {
                        return Re(e, t, "data()"), {}
                    }
                    finally {
                        fe()
                    }
                }(t, e) : t || {}) || (t = {});
                var n = Object.keys(t),
                    r = e.$options.props,
                    i = (e.$options.methods, n.length);
                for (; i--;) {
                    var o = n[i];
                    r &amp;&amp; y(r, o) || (a = void 0, 36 !== (a = (o + "").charCodeAt(0)) &amp;&amp; 95 !== a &amp;&amp; dn(e, "_data", o))
                }
                var a;
                Ce(t, !0)
            }(e) : Ce(e._data = {}, !0),
            t.computed &amp;&amp; function (e, t) {
                var n = e._computedWatchers = Object.create(null),
                    r = te();
                for (var i in t) {
                    var o = t[i],
                        a = "function" == typeof o ? o : o.get;
                    r || (n[i] = new fn(e, a || S, S, hn)),
                        i in e || mn(e, i, o)
                }
            }(e, t.computed),
            t.watch &amp;&amp; t.watch !== Y &amp;&amp; function (e, t) {
                for (var n in t) {
                    var r = t[n];
                    if (Array.isArray(r))
                        for (var i = 0; i &lt; r.length; i++)
                            _n(e, n, r[i]);
                    else
                        _n(e, n, r)
                }
            }(e, t.watch)
    }
    var hn = { lazy: !0 };
    function mn(e, t, n) {
        var r = !te();
        "function" == typeof n ? (pn.get = r ? yn(t) : gn(n), pn.set = S) : (pn.get = n.get ? r &amp;&amp; !1 !== n.cache ? yn(t) : gn(n.get) : S, pn.set = n.set || S),
            Object.defineProperty(e, t, pn)
    }
    function yn(e) {
        return function () {
            var t = this._computedWatchers &amp;&amp; this._computedWatchers[e];
            if (t)
                return t.dirty &amp;&amp; t.evaluate(), ce.target &amp;&amp; t.depend(), t.value
        }
    }
    function gn(e) {
        return function () {
            return e.call(this, this)
        }
    }
    function _n(e, t, n, r) {
        return s(n) &amp;&amp; (r = n, n = n.handler), "string" == typeof n &amp;&amp; (n = e[n]), e.$watch(t, n, r)
    }
    var bn = 0;
    function $n(e) {
        var t = e.options;
        if (e.super) {
            var n = $n(e.super);
            if (n !== e.superOptions) {
                e.superOptions = n;
                var r = function (e) {
                    var t,
                        n = e.options,
                        r = e.sealedOptions;
                    for (var i in n)
                        n[i] !== r[i] &amp;&amp; (t || (t = {}), t[i] = n[i]);
                    return t
                }(e);
                r &amp;&amp; A(e.extendOptions, r),
                    (t = e.options = De(n, e.extendOptions)).name &amp;&amp; (t.components[t.name] = e)
            }
        }
        return t
    }
    function wn(e) {
        this._init(e)
    }
    function Cn(e) {
        e.cid = 0;
        var t = 1;
        e.extend = function (e) {
            e = e || {};
            var n = this,
                r = n.cid,
                i = e._Ctor || (e._Ctor = {});
            if (i[r])
                return i[r];
            var o = e.name || n.options.name,
                a = function (e) {
                    this._init(e)
                };
            return (a.prototype = Object.create(n.prototype)).constructor = a, a.cid = t++, a.options = De(n.options, e), a.super = n, a.options.props &amp;&amp; function (e) {
                var t = e.options.props;
                for (var n in t)
                    dn(e.prototype, "_props", n)
            }(a), a.options.computed &amp;&amp; function (e) {
                var t = e.options.computed;
                for (var n in t)
                    mn(e.prototype, n, t[n])
            }(a), a.extend = n.extend, a.mixin = n.mixin, a.use = n.use, M.forEach(function (e) {
                a[e] = n[e]
            }), o &amp;&amp; (a.options.components[o] = a), a.superOptions = n.options, a.extendOptions = e, a.sealedOptions = A({}, a.options), i[r] = a, a
        }
    }
    function xn(e) {
        return e &amp;&amp; (e.Ctor.options.name || e.tag)
    }
    function kn(e, t) {
        return Array.isArray(e) ? e.indexOf(t) &gt; -1 : "string" == typeof e ? e.split(",").indexOf(t) &gt; -1 : (n = e, "[object RegExp]" === a.call(n) &amp;&amp; e.test(t));
        var n
    }
    function An(e, t) {
        var n = e.cache,
            r = e.keys,
            i = e._vnode;
        for (var o in n) {
            var a = n[o];
            if (a) {
                var s = xn(a.componentOptions);
                s &amp;&amp; !t(s) &amp;&amp; On(n, o, r, i)
            }
        }
    }
    function On(e, t, n, r) {
        var i = e[t];
        !i || r &amp;&amp; i.tag === r.tag || i.componentInstance.$destroy(),
            e[t] = null,
            h(n, t)
    }
    !function (t) {
        t.prototype._init = function (t) {
            var n = this;
            n._uid = bn++,
                n._isVue = !0,
                t &amp;&amp; t._isComponent ? function (e, t) {
                    var n = e.$options = Object.create(e.constructor.options),
                        r = t._parentVnode;
                    n.parent = t.parent,
                        n._parentVnode = r;
                    var i = r.componentOptions;
                    n.propsData = i.propsData,
                        n._parentListeners = i.listeners,
                        n._renderChildren = i.children,
                        n._componentTag = i.tag,
                        t.render &amp;&amp; (n.render = t.render, n.staticRenderFns = t.staticRenderFns)
                }(n, t) : n.$options = De($n(n.constructor), t || {}, n),
                n._renderProxy = n,
                n._self = n,
                function (e) {
                    var t = e.$options,
                        n = t.parent;
                    if (n &amp;&amp; !t.abstract) {
                        for (; n.$options.abstract &amp;&amp; n.$parent;)
                            n = n.$parent;
                        n.$children.push(e)
                    }
                    e.$parent = n,
                        e.$root = n ? n.$root : e,
                        e.$children = [],
                        e.$refs = {},
                        e._watcher = null,
                        e._inactive = null,
                        e._directInactive = !1,
                        e._isMounted = !1,
                        e._isDestroyed = !1,
                        e._isBeingDestroyed = !1
                }(n),
                function (e) {
                    e._events = Object.create(null),
                        e._hasHookEvent = !1;
                    var t = e.$options._parentListeners;
                    t &amp;&amp; qt(e, t)
                }(n),
                function (t) {
                    t._vnode = null,
                        t._staticTrees = null;
                    var n = t.$options,
                        r = t.$vnode = n._parentVnode,
                        i = r &amp;&amp; r.context;
                    t.$slots = ut(n._renderChildren, i),
                        t.$scopedSlots = e,
                        t._c = function (e, n, r, i) {
                            return Pt(t, e, n, r, i, !1)
                        },
                        t.$createElement = function (e, n, r, i) {
                            return Pt(t, e, n, r, i, !0)
                        };
                    var o = r &amp;&amp; r.data;
                    xe(t, "$attrs", o &amp;&amp; o.attrs || e, null, !0),
                        xe(t, "$listeners", n._parentListeners || e, null, !0)
                }(n),
                Yt(n, "beforeCreate"),
                function (e) {
                    var t = ct(e.$options.inject, e);
                    t &amp;&amp; ($e(!1), Object.keys(t).forEach(function (n) {
                        xe(e, n, t[n])
                    }), $e(!0))
                }(n),
                vn(n),
                function (e) {
                    var t = e.$options.provide;
                    t &amp;&amp; (e._provided = "function" == typeof t ? t.call(e) : t)
                }(n),
                Yt(n, "created"),
                n.$options.el &amp;&amp; n.$mount(n.$options.el)
        }
    }(wn),
        function (e) {
            var t = {
                get: function () {
                    return this._data
                }
            },
                n = {
                    get: function () {
                        return this._props
                    }
                };
            Object.defineProperty(e.prototype, "$data", t),
                Object.defineProperty(e.prototype, "$props", n),
                e.prototype.$set = ke,
                e.prototype.$delete = Ae,
                e.prototype.$watch = function (e, t, n) {
                    if (s(t))
                        return _n(this, e, t, n);
                    (n = n || {}).user = !0;
                    var r = new fn(this, e, t, n);
                    if (n.immediate)
                        try {
                            t.call(this, r.value)
                        }
                        catch (e) {
                            Re(e, this, 'callback for immediate watcher "' + r.expression + '"')
                        }
                    return function () {
                        r.teardown()
                    }
                }
        }(wn),
        function (e) {
            var t = /^hook:/;
            e.prototype.$on = function (e, n) {
                var r = this;
                if (Array.isArray(e))
                    for (var i = 0, o = e.length; i &lt; o; i++)
                        r.$on(e[i], n);
                else
                    (r._events[e] || (r._events[e] = [])).push(n),
                        t.test(e) &amp;&amp; (r._hasHookEvent = !0);
                return r
            },
                e.prototype.$once = function (e, t) {
                    var n = this;
                    function r() {
                        n.$off(e, r),
                            t.apply(n, arguments)
                    }
                    return r.fn = t, n.$on(e, r), n
                },
                e.prototype.$off = function (e, t) {
                    var n = this;
                    if (!arguments.length)
                        return n._events = Object.create(null), n;
                    if (Array.isArray(e)) {
                        for (var r = 0, i = e.length; r &lt; i; r++)
                            n.$off(e[r], t);
                        return n
                    }
                    var o,
                        a = n._events[e];
                    if (!a)
                        return n;
                    if (!t)
                        return n._events[e] = null, n;
                    for (var s = a.length; s--;)
                        if ((o = a[s]) === t || o.fn === t) {
                            a.splice(s, 1);
                            break
                        }
                    return n
                },
                e.prototype.$emit = function (e) {
                    var t = this._events[e];
                    if (t) {
                        t = t.length &gt; 1 ? k(t) : t;
                        for (var n = k(arguments, 1), r = 'event handler for "' + e + '"', i = 0, o = t.length; i &lt; o; i++)
                            He(t[i], this, n, this, r)
                    }
                    return this
                }
        }(wn),
        function (e) {
            e.prototype._update = function (e, t) {
                var n = this,
                    r = n.$el,
                    i = n._vnode,
                    o = Zt(n);
                n._vnode = e,
                    n.$el = i ? n.__patch__(i, e) : n.__patch__(n.$el, e, t, !1),
                    o(),
                    r &amp;&amp; (r.__vue__ = null),
                    n.$el &amp;&amp; (n.$el.__vue__ = n),
                    n.$vnode &amp;&amp; n.$parent &amp;&amp; n.$vnode === n.$parent._vnode &amp;&amp; (n.$parent.$el = n.$el)
            },
                e.prototype.$forceUpdate = function () {
                    this._watcher &amp;&amp; this._watcher.update()
                },
                e.prototype.$destroy = function () {
                    var e = this;
                    if (!e._isBeingDestroyed) {
                        Yt(e, "beforeDestroy"),
                            e._isBeingDestroyed = !0;
                        var t = e.$parent;
                        !t || t._isBeingDestroyed || e.$options.abstract || h(t.$children, e),
                            e._watcher &amp;&amp; e._watcher.teardown();
                        for (var n = e._watchers.length; n--;)
                            e._watchers[n].teardown();
                        e._data.__ob__ &amp;&amp; e._data.__ob__.vmCount--,
                            e._isDestroyed = !0,
                            e.__patch__(e._vnode, null),
                            Yt(e, "destroyed"),
                            e.$off(),
                            e.$el &amp;&amp; (e.$el.__vue__ = null),
                            e.$vnode &amp;&amp; (e.$vnode.parent = null)
                    }
                }
        }(wn),
        function (e) {
            St(e.prototype),
                e.prototype.$nextTick = function (e) {
                    return Ye(e, this)
                },
                e.prototype._render = function () {
                    var e,
                        t = this,
                        n = t.$options,
                        r = n.render,
                        i = n._parentVnode;
                    i &amp;&amp; (t.$scopedSlots = ft(i.data.scopedSlots, t.$slots, t.$scopedSlots)),
                        t.$vnode = i;
                    try {
                        Ht = t,
                            e = r.call(t._renderProxy, t.$createElement)
                    }
                    catch (n) {
                        Re(n, t, "render"),
                            e = t._vnode
                    }
                    finally {
                        Ht = null
                    }
                    return Array.isArray(e) &amp;&amp; 1 === e.length &amp;&amp; (e = e[0]), e instanceof pe || (e = ve()), e.parent = i, e
                }
        }(wn);
    var Sn = [
        String,
        RegExp,
        Array
    ],
        Tn = {
            KeepAlive: {
                name: "keep-alive",
                abstract: !0,
                props: {
                    include: Sn,
                    exclude: Sn,
                    max: [
                        String,
                        Number
                    ]
                },
                created: function () {
                    this.cache = Object.create(null),
                        this.keys = []
                },
                destroyed: function () {
                    for (var e in this.cache)
                        On(this.cache, e, this.keys)
                },
                mounted: function () {
                    var e = this;
                    this.$watch("include", function (t) {
                        An(e, function (e) {
                            return kn(t, e)
                        })
                    }),
                        this.$watch("exclude", function (t) {
                            An(e, function (e) {
                                return !kn(t, e)
                            })
                        })
                },
                render: function () {
                    var e = this.$slots.default,
                        t = zt(e),
                        n = t &amp;&amp; t.componentOptions;
                    if (n) {
                        var r = xn(n),
                            i = this.include,
                            o = this.exclude;
                        if (i &amp;&amp; (!r || !kn(i, r)) || o &amp;&amp; r &amp;&amp; kn(o, r))
                            return t;
                        var a = this.cache,
                            s = this.keys,
                            c = null == t.key ? n.Ctor.cid + (n.tag ? "::" + n.tag : "") : t.key;
                        a[c] ? (t.componentInstance = a[c].componentInstance, h(s, c), s.push(c)) : (a[c] = t, s.push(c), this.max &amp;&amp; s.length &gt; parseInt(this.max) &amp;&amp; On(a, s[0], s, this._vnode)),
                            t.data.keepAlive = !0
                    }
                    return t || e &amp;&amp; e[0]
                }
            }
        };
    !function (e) {
        var t = {
            get: function () {
                return F
            }
        };
        Object.defineProperty(e, "config", t),
            e.util = {
                warn: ae,
                extend: A,
                mergeOptions: De,
                defineReactive: xe
            },
            e.set = ke,
            e.delete = Ae,
            e.nextTick = Ye,
            e.observable = function (e) {
                return Ce(e), e
            },
            e.options = Object.create(null),
            M.forEach(function (t) {
                e.options[t + "s"] = Object.create(null)
            }),
            e.options._base = e,
            A(e.options.components, Tn),
            function (e) {
                e.use = function (e) {
                    var t = this._installedPlugins || (this._installedPlugins = []);
                    if (t.indexOf(e) &gt; -1)
                        return this;
                    var n = k(arguments, 1);
                    return n.unshift(this), "function" == typeof e.install ? e.install.apply(e, n) : "function" == typeof e &amp;&amp; e.apply(null, n), t.push(e), this
                }
            }(e),
            function (e) {
                e.mixin = function (e) {
                    return this.options = De(this.options, e), this
                }
            }(e),
            Cn(e),
            function (e) {
                M.forEach(function (t) {
                    e[t] = function (e, n) {
                        return n ? ("component" === t &amp;&amp; s(n) &amp;&amp; (n.name = n.name || e, n = this.options._base.extend(n)), "directive" === t &amp;&amp; "function" == typeof n &amp;&amp; (n = {
                            bind: n,
                            update: n
                        }), this.options[t + "s"][e] = n, n) : this.options[t + "s"][e]
                    }
                })
            }(e)
    }(wn),
        Object.defineProperty(wn.prototype, "$isServer", { get: te }),
        Object.defineProperty(wn.prototype, "$ssrContext", {
            get: function () {
                return this.$vnode &amp;&amp; this.$vnode.ssrContext
            }
        }),
        Object.defineProperty(wn, "FunctionalRenderContext", { value: Tt }),
        wn.version = "2.6.11";
    var En = p("style,class"),
        Nn = p("input,textarea,option,select,progress"),
        jn = function (e, t, n) {
            return "value" === n &amp;&amp; Nn(e) &amp;&amp; "button" !== t || "selected" === n &amp;&amp; "option" === e || "checked" === n &amp;&amp; "input" === e || "muted" === n &amp;&amp; "video" === e
        },
        Dn = p("contenteditable,draggable,spellcheck"),
        Ln = p("events,caret,typing,plaintext-only"),
        Mn = function (e, t) {
            return Hn(t) || "false" === t ? "false" : "contenteditable" === e &amp;&amp; Ln(t) ? t : "true"
        },
        In = p("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),
        Fn = "http://www.w3.org/1999/xlink",
        Pn = function (e) {
            return ":" === e.charAt(5) &amp;&amp; "xlink" === e.slice(0, 5)
        },
        Rn = function (e) {
            return Pn(e) ? e.slice(6, e.length) : ""
        },
        Hn = function (e) {
            return null == e || !1 === e
        };
    function Bn(e) {
        for (var t = e.data, r = e, i = e; n(i.componentInstance);)
            (i = i.componentInstance._vnode) &amp;&amp; i.data &amp;&amp; (t = Un(i.data, t));
        for (; n(r = r.parent);)
            r &amp;&amp; r.data &amp;&amp; (t = Un(t, r.data));
        return function (e, t) {
            if (n(e) || n(t))
                return zn(e, Vn(t));
            return ""
        }(t.staticClass, t.class)
    }
    function Un(e, t) {
        return {
            staticClass: zn(e.staticClass, t.staticClass),
            class: n(e.class) ? [
                e.class,
                t.class
            ] : t.class
        }
    }
    function zn(e, t) {
        return e ? t ? e + " " + t : e : t || ""
    }
    function Vn(e) {
        return Array.isArray(e) ? function (e) {
            for (var t, r = "", i = 0, o = e.length; i &lt; o; i++)
                n(t = Vn(e[i])) &amp;&amp; "" !== t &amp;&amp; (r &amp;&amp; (r += " "), r += t);
            return r
        }(e) : o(e) ? function (e) {
            var t = "";
            for (var n in e)
                e[n] &amp;&amp; (t &amp;&amp; (t += " "), t += n);
            return t
        }(e) : "string" == typeof e ? e : ""
    }
    var Kn = {
        svg: "http://www.w3.org/2000/svg",
        math: "http://www.w3.org/1998/Math/MathML"
    },
        Jn = p("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),
        qn = p("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view", !0),
        Wn = function (e) {
            return Jn(e) || qn(e)
        };
    function Zn(e) {
        return qn(e) ? "svg" : "math" === e ? "math" : void 0
    }
    var Gn = Object.create(null);
    var Xn = p("text,number,password,search,email,tel,url");
    function Yn(e) {
        if ("string" == typeof e) {
            var t = document.querySelector(e);
            return t || document.createElement("div")
        }
        return e
    }
    var Qn = Object.freeze({
        createElement: function (e, t) {
            var n = document.createElement(e);
            return "select" !== e ? n : (t.data &amp;&amp; t.data.attrs &amp;&amp; void 0 !== t.data.attrs.multiple &amp;&amp; n.setAttribute("multiple", "multiple"), n)
        },
        createElementNS: function (e, t) {
            return document.createElementNS(Kn[e], t)
        },
        createTextNode: function (e) {
            return document.createTextNode(e)
        },
        createComment: function (e) {
            return document.createComment(e)
        },
        insertBefore: function (e, t, n) {
            e.insertBefore(t, n)
        },
        removeChild: function (e, t) {
            e.removeChild(t)
        },
        appendChild: function (e, t) {
            e.appendChild(t)
        },
        parentNode: function (e) {
            return e.parentNode
        },
        nextSibling: function (e) {
            return e.nextSibling
        },
        tagName: function (e) {
            return e.tagName
        },
        setTextContent: function (e, t) {
            e.textContent = t
        },
        setStyleScope: function (e, t) {
            e.setAttribute(t, "")
        }
    }),
        er = {
            create: function (e, t) {
                tr(t)
            },
            update: function (e, t) {
                e.data.ref !== t.data.ref &amp;&amp; (tr(e, !0), tr(t))
            },
            destroy: function (e) {
                tr(e, !0)
            }
        };
    function tr(e, t) {
        var r = e.data.ref;
        if (n(r)) {
            var i = e.context,
                o = e.componentInstance || e.elm,
                a = i.$refs;
            t ? Array.isArray(a[r]) ? h(a[r], o) : a[r] === o &amp;&amp; (a[r] = void 0) : e.data.refInFor ? Array.isArray(a[r]) ? a[r].indexOf(o) &lt; 0 &amp;&amp; a[r].push(o) : a[r] = [
                o
            ] : a[r] = o
        }
    }
    var nr = new pe("", {}, []),
        rr = ["create", "activate", "update", "remove", "destroy"];
    function ir(e, i) {
        return e.key === i.key &amp;&amp; (e.tag === i.tag &amp;&amp; e.isComment === i.isComment &amp;&amp; n(e.data) === n(i.data) &amp;&amp; function (e, t) {
            if ("input" !== e.tag)
                return !0;
            var r,
                i = n(r = e.data) &amp;&amp; n(r = r.attrs) &amp;&amp; r.type,
                o = n(r = t.data) &amp;&amp; n(r = r.attrs) &amp;&amp; r.type;
            return i === o || Xn(i) &amp;&amp; Xn(o)
        }(e, i) || r(e.isAsyncPlaceholder) &amp;&amp; e.asyncFactory === i.asyncFactory &amp;&amp; t(i.asyncFactory.error))
    }
    function or(e, t, r) {
        var i,
            o,
            a = {};
        for (i = t; i &lt;= r; ++i)
            n(o = e[i].key) &amp;&amp; (a[o] = i);
        return a
    }
    var ar = {
        create: sr,
        update: sr,
        destroy: function (e) {
            sr(e, nr)
        }
    };
    function sr(e, t) {
        (e.data.directives || t.data.directives) &amp;&amp; function (e, t) {
            var n,
                r,
                i,
                o = e === nr,
                a = t === nr,
                s = ur(e.data.directives, e.context),
                c = ur(t.data.directives, t.context),
                u = [],
                l = [];
            for (n in c)
                r = s[n],
                    i = c[n],
                    r ? (i.oldValue = r.value, i.oldArg = r.arg, fr(i, "update", t, e), i.def &amp;&amp; i.def.componentUpdated &amp;&amp; l.push(i)) : (fr(i, "bind", t, e), i.def &amp;&amp; i.def.inserted &amp;&amp; u.push(i));
            if (u.length) {
                var f = function () {
                    for (var n = 0; n &lt; u.length; n++)
                        fr(u[n], "inserted", t, e)
                };
                o ? it(t, "insert", f) : f()
            }
            l.length &amp;&amp; it(t, "postpatch", function () {
                for (var n = 0; n &lt; l.length; n++)
                    fr(l[n], "componentUpdated", t, e)
            });
            if (!o)
                for (n in s)
                    c[n] || fr(s[n], "unbind", e, e, a)
        }(e, t)
    }
    var cr = Object.create(null);
    function ur(e, t) {
        var n,
            r,
            i = Object.create(null);
        if (!e)
            return i;
        for (n = 0; n &lt; e.length; n++)
            (r = e[n]).modifiers || (r.modifiers = cr),
                i[lr(r)] = r,
                r.def = Le(t.$options, "directives", r.name);
        return i
    }
    function lr(e) {
        return e.rawName || e.name + "." + Object.keys(e.modifiers || {}).join(".")
    }
    function fr(e, t, n, r, i) {
        var o = e.def &amp;&amp; e.def[t];
        if (o)
            try {
                o(n.elm, e, n, r, i)
            }
            catch (r) {
                Re(r, n.context, "directive " + e.name + " " + t + " hook")
            }
    }
    var pr = [
        er,
        ar
    ];
    function dr(e, r) {
        var i = r.componentOptions;
        if (!(n(i) &amp;&amp; !1 === i.Ctor.options.inheritAttrs || t(e.data.attrs) &amp;&amp; t(r.data.attrs))) {
            var o,
                a,
                s = r.elm,
                c = e.data.attrs || {},
                u = r.data.attrs || {};
            for (o in n(u.__ob__) &amp;&amp; (u = r.data.attrs = A({}, u)), u)
                a = u[o],
                    c[o] !== a &amp;&amp; vr(s, o, a);
            for (o in (q || Z) &amp;&amp; u.value !== c.value &amp;&amp; vr(s, "value", u.value), c)
                t(u[o]) &amp;&amp; (Pn(o) ? s.removeAttributeNS(Fn, Rn(o)) : Dn(o) || s.removeAttribute(o))
        }
    }
    function vr(e, t, n) {
        e.tagName.indexOf("-") &gt; -1 ? hr(e, t, n) : In(t) ? Hn(n) ? e.removeAttribute(t) : (n = "allowfullscreen" === t &amp;&amp; "EMBED" === e.tagName ? "true" : t, e.setAttribute(t, n)) : Dn(t) ? e.setAttribute(t, Mn(t, n)) : Pn(t) ? Hn(n) ? e.removeAttributeNS(Fn, Rn(t)) : e.setAttributeNS(Fn, t, n) : hr(e, t, n)
    }
    function hr(e, t, n) {
        if (Hn(n))
            e.removeAttribute(t);
        else {
            if (q &amp;&amp; !W &amp;&amp; "TEXTAREA" === e.tagName &amp;&amp; "placeholder" === t &amp;&amp; "" !== n &amp;&amp; !e.__ieph) {
                var r = function (t) {
                    t.stopImmediatePropagation(),
                        e.removeEventListener("input", r)
                };
                e.addEventListener("input", r),
                    e.__ieph = !0
            }
            e.setAttribute(t, n)
        }
    }
    var mr = {
        create: dr,
        update: dr
    };
    function yr(e, r) {
        var i = r.elm,
            o = r.data,
            a = e.data;
        if (!(t(o.staticClass) &amp;&amp; t(o.class) &amp;&amp; (t(a) || t(a.staticClass) &amp;&amp; t(a.class)))) {
            var s = Bn(r),
                c = i._transitionClasses;
            n(c) &amp;&amp; (s = zn(s, Vn(c))),
                s !== i._prevClass &amp;&amp; (i.setAttribute("class", s), i._prevClass = s)
        }
    }
    var gr,
        _r,
        br,
        $r,
        wr,
        Cr,
        xr = {
            create: yr,
            update: yr
        },
        kr = /[\w).+\-_$\]]/;
    function Ar(e) {
        var t,
            n,
            r,
            i,
            o,
            a = !1,
            s = !1,
            c = !1,
            u = !1,
            l = 0,
            f = 0,
            p = 0,
            d = 0;
        for (r = 0; r &lt; e.length; r++)
            if (n = t, t = e.charCodeAt(r), a)
                39 === t &amp;&amp; 92 !== n &amp;&amp; (a = !1);
            else if (s)
                34 === t &amp;&amp; 92 !== n &amp;&amp; (s = !1);
            else if (c)
                96 === t &amp;&amp; 92 !== n &amp;&amp; (c = !1);
            else if (u)
                47 === t &amp;&amp; 92 !== n &amp;&amp; (u = !1);
            else if (124 !== t || 124 === e.charCodeAt(r + 1) || 124 === e.charCodeAt(r - 1) || l || f || p) {
                switch (t) {
                    case 34:
                        s = !0;
                        break;
                    case 39:
                        a = !0;
                        break;
                    case 96:
                        c = !0;
                        break;
                    case 40:
                        p++;
                        break;
                    case 41:
                        p--;
                        break;
                    case 91:
                        f++;
                        break;
                    case 93:
                        f--;
                        break;
                    case 123:
                        l++;
                        break;
                    case 125:
                        l--
                }
                if (47 === t) {
                    for (var v = r - 1, h = void 0; v &gt;= 0 &amp;&amp; " " === (h = e.charAt(v)); v--)
                        ;
                    h &amp;&amp; kr.test(h) || (u = !0)
                }
            }
            else
                void 0 === i ? (d = r + 1, i = e.slice(0, r).trim()) : m();
        function m() {
            (o || (o = [])).push(e.slice(d, r).trim()),
                d = r + 1
        }
        if (void 0 === i ? i = e.slice(0, r).trim() : 0 !== d &amp;&amp; m(), o)
            for (r = 0; r &lt; o.length; r++)
                i = Or(i, o[r]);
        return i
    }
    function Or(e, t) {
        var n = t.indexOf("(");
        if (n &lt; 0)
            return '_f("' + t + '")(' + e + ")";
        var r = t.slice(0, n),
            i = t.slice(n + 1);
        return '_f("' + r + '")(' + e + (")" !== i ? "," + i : i)
    }
    function Sr(e, t) {
        console.error("[Vue compiler]: " + e)
    }
    function Tr(e, t) {
        return e ? e.map(function (e) {
            return e[t]
        }).filter(function (e) {
            return e
        }) : []
    }
    function Er(e, t, n, r, i) {
        (e.props || (e.props = [])).push(Rr({
            name: t,
            value: n,
            dynamic: i
        }, r)),
            e.plain = !1
    }
    function Nr(e, t, n, r, i) {
        (i ? e.dynamicAttrs || (e.dynamicAttrs = []) : e.attrs || (e.attrs = [])).push(Rr({
            name: t,
            value: n,
            dynamic: i
        }, r)),
            e.plain = !1
    }
    function jr(e, t, n, r) {
        e.attrsMap[t] = n,
            e.attrsList.push(Rr({
                name: t,
                value: n
            }, r))
    }
    function Dr(e, t, n, r, i, o, a, s) {
        (e.directives || (e.directives = [])).push(Rr({
            name: t,
            rawName: n,
            value: r,
            arg: i,
            isDynamicArg: o,
            modifiers: a
        }, s)),
            e.plain = !1
    }
    function Lr(e, t, n) {
        return n ? "_p(" + t + ',"' + e + '")' : e + t
    }
    function Mr(t, n, r, i, o, a, s, c) {
        var u;
        (i = i || e).right ? c ? n = "(" + n + ")==='click'?'contextmenu':(" + n + ")" : "click" === n &amp;&amp; (n = "contextmenu", delete i.right) : i.middle &amp;&amp; (c ? n = "(" + n + ")==='click'?'mouseup':(" + n + ")" : "click" === n &amp;&amp; (n = "mouseup")),
            i.capture &amp;&amp; (delete i.capture, n = Lr("!", n, c)),
            i.once &amp;&amp; (delete i.once, n = Lr("~", n, c)),
            i.passive &amp;&amp; (delete i.passive, n = Lr("&amp;", n, c)),
            i.native ? (delete i.native, u = t.nativeEvents || (t.nativeEvents = {})) : u = t.events || (t.events = {});
        var l = Rr({
            value: r.trim(),
            dynamic: c
        }, s);
        i !== e &amp;&amp; (l.modifiers = i);
        var f = u[n];
        Array.isArray(f) ? o ? f.unshift(l) : f.push(l) : u[n] = f ? o ? [
            l,
            f
        ] : [
            f,
            l
        ] : l,
            t.plain = !1
    }
    function Ir(e, t, n) {
        var r = Fr(e, ":" + t) || Fr(e, "v-bind:" + t);
        if (null != r)
            return Ar(r);
        if (!1 !== n) {
            var i = Fr(e, t);
            if (null != i)
                return JSON.stringify(i)
        }
    }
    function Fr(e, t, n) {
        var r;
        if (null != (r = e.attrsMap[t]))
            for (var i = e.attrsList, o = 0, a = i.length; o &lt; a; o++)
                if (i[o].name === t) {
                    i.splice(o, 1);
                    break
                }
        return n &amp;&amp; delete e.attrsMap[t], r
    }
    function Pr(e, t) {
        for (var n = e.attrsList, r = 0, i = n.length; r &lt; i; r++) {
            var o = n[r];
            if (t.test(o.name))
                return n.splice(r, 1), o
        }
    }
    function Rr(e, t) {
        return t &amp;&amp; (null != t.start &amp;&amp; (e.start = t.start), null != t.end &amp;&amp; (e.end = t.end)), e
    }
    function Hr(e, t, n) {
        var r = n || {},
            i = r.number,
            o = "$$v";
        r.trim &amp;&amp; (o = "(typeof $$v === 'string'? $$v.trim(): $$v)"),
            i &amp;&amp; (o = "_n(" + o + ")");
        var a = Br(t, o);
        e.model = {
            value: "(" + t + ")",
            expression: JSON.stringify(t),
            callback: "function ($$v) {" + a + "}"
        }
    }
    function Br(e, t) {
        var n = function (e) {
            if (e = e.trim(), gr = e.length, e.indexOf("[") &lt; 0 || e.lastIndexOf("]") &lt; gr - 1)
                return ($r = e.lastIndexOf(".")) &gt; -1 ? {
                    exp: e.slice(0, $r),
                    key: '"' + e.slice($r + 1) + '"'
                } : {
                    exp: e,
                    key: null
                };
            _r = e,
                $r = wr = Cr = 0;
            for (; !zr();)
                Vr(br = Ur()) ? Jr(br) : 91 === br &amp;&amp; Kr(br);
            return {
                exp: e.slice(0, wr),
                key: e.slice(wr + 1, Cr)
            }
        }(e);
        return null === n.key ? e + "=" + t : "$set(" + n.exp + ", " + n.key + ", " + t + ")"
    }
    function Ur() {
        return _r.charCodeAt(++$r)
    }
    function zr() {
        return $r &gt;= gr
    }
    function Vr(e) {
        return 34 === e || 39 === e
    }
    function Kr(e) {
        var t = 1;
        for (wr = $r; !zr();)
            if (Vr(e = Ur()))
                Jr(e);
            else if (91 === e &amp;&amp; t++, 93 === e &amp;&amp; t--, 0 === t) {
                Cr = $r;
                break
            }
    }
    function Jr(e) {
        for (var t = e; !zr() &amp;&amp; (e = Ur()) !== t;)
            ;
    }
    var qr,
        Wr = "__r",
        Zr = "__c";
    function Gr(e, t, n) {
        var r = qr;
        return function i() {
            null !== t.apply(null, arguments) &amp;&amp; Qr(e, i, n, r)
        }
    }
    var Xr = Ve &amp;&amp; !(X &amp;&amp; Number(X[1]) &lt;= 53);
    function Yr(e, t, n, r) {
        if (Xr) {
            var i = an,
                o = t;
            t = o._wrapper = function (e) {
                if (e.target === e.currentTarget || e.timeStamp &gt;= i || e.timeStamp &lt;= 0 || e.target.ownerDocument !== document)
                    return o.apply(this, arguments)
            }
        }
        qr.addEventListener(e, t, Q ? {
            capture: n,
            passive: r
        } : n)
    }
    function Qr(e, t, n, r) {
        (r || qr).removeEventListener(e, t._wrapper || t, n)
    }
    function ei(e, r) {
        if (!t(e.data.on) || !t(r.data.on)) {
            var i = r.data.on || {},
                o = e.data.on || {};
            qr = r.elm,
                function (e) {
                    if (n(e[Wr])) {
                        var t = q ? "change" : "input";
                        e[t] = [].concat(e[Wr], e[t] || []),
                            delete e[Wr]
                    }
                    n(e[Zr]) &amp;&amp; (e.change = [].concat(e[Zr], e.change || []), delete e[Zr])
                }(i),
                rt(i, o, Yr, Qr, Gr, r.context),
                qr = void 0
        }
    }
    var ti,
        ni = {
            create: ei,
            update: ei
        };
    function ri(e, r) {
        if (!t(e.data.domProps) || !t(r.data.domProps)) {
            var i,
                o,
                a = r.elm,
                s = e.data.domProps || {},
                c = r.data.domProps || {};
            for (i in n(c.__ob__) &amp;&amp; (c = r.data.domProps = A({}, c)), s)
                i in c || (a[i] = "");
            for (i in c) {
                if (o = c[i], "textContent" === i || "innerHTML" === i) {
                    if (r.children &amp;&amp; (r.children.length = 0), o === s[i])
                        continue;
                    1 === a.childNodes.length &amp;&amp; a.removeChild(a.childNodes[0])
                }
                if ("value" === i &amp;&amp; "PROGRESS" !== a.tagName) {
                    a._value = o;
                    var u = t(o) ? "" : String(o);
                    ii(a, u) &amp;&amp; (a.value = u)
                }
                else if ("innerHTML" === i &amp;&amp; qn(a.tagName) &amp;&amp; t(a.innerHTML)) {
                    (ti = ti || document.createElement("div")).innerHTML = "&lt;svg&gt;" + o + "&lt;/svg&gt;";
                    for (var l = ti.firstChild; a.firstChild;)
                        a.removeChild(a.firstChild);
                    for (; l.firstChild;)
                        a.appendChild(l.firstChild)
                }
                else if (o !== s[i])
                    try {
                        a[i] = o
                    }
                    catch (e) { }
            }
        }
    }
    function ii(e, t) {
        return !e.composing &amp;&amp; ("OPTION" === e.tagName || function (e, t) {
            var n = !0;
            try {
                n = document.activeElement !== e
            }
            catch (e) { }
            return n &amp;&amp; e.value !== t
        }(e, t) || function (e, t) {
            var r = e.value,
                i = e._vModifiers;
            if (n(i)) {
                if (i.number)
                    return f(r) !== f(t);
                if (i.trim)
                    return r.trim() !== t.trim()
            }
            return r !== t
        }(e, t))
    }
    var oi = {
        create: ri,
        update: ri
    },
        ai = g(function (e) {
            var t = {},
                n = /:(.+)/;
            return e.split(/;(?![^(]*\))/g).forEach(function (e) {
                if (e) {
                    var r = e.split(n);
                    r.length &gt; 1 &amp;&amp; (t[r[0].trim()] = r[1].trim())
                }
            }), t
        });
    function si(e) {
        var t = ci(e.style);
        return e.staticStyle ? A(e.staticStyle, t) : t
    }
    function ci(e) {
        return Array.isArray(e) ? O(e) : "string" == typeof e ? ai(e) : e
    }
    var ui,
        li = /^--/,
        fi = /\s*!important$/,
        pi = function (e, t, n) {
            if (li.test(t))
                e.style.setProperty(t, n);
            else if (fi.test(n))
                e.style.setProperty(C(t), n.replace(fi, ""), "important");
            else {
                var r = vi(t);
                if (Array.isArray(n))
                    for (var i = 0, o = n.length; i &lt; o; i++)
                        e.style[r] = n[i];
                else
                    e.style[r] = n
            }
        },
        di = ["Webkit", "Moz", "ms"],
        vi = g(function (e) {
            if (ui = ui || document.createElement("div").style, "filter" !== (e = b(e)) &amp;&amp; e in ui)
                return e;
            for (var t = e.charAt(0).toUpperCase() + e.slice(1), n = 0; n &lt; di.length; n++) {
                var r = di[n] + t;
                if (r in ui)
                    return r
            }
        });
    function hi(e, r) {
        var i = r.data,
            o = e.data;
        if (!(t(i.staticStyle) &amp;&amp; t(i.style) &amp;&amp; t(o.staticStyle) &amp;&amp; t(o.style))) {
            var a,
                s,
                c = r.elm,
                u = o.staticStyle,
                l = o.normalizedStyle || o.style || {},
                f = u || l,
                p = ci(r.data.style) || {};
            r.data.normalizedStyle = n(p.__ob__) ? A({}, p) : p;
            var d = function (e, t) {
                var n,
                    r = {};
                if (t)
                    for (var i = e; i.componentInstance;)
                        (i = i.componentInstance._vnode) &amp;&amp; i.data &amp;&amp; (n = si(i.data)) &amp;&amp; A(r, n);
                (n = si(e.data)) &amp;&amp; A(r, n);
                for (var o = e; o = o.parent;)
                    o.data &amp;&amp; (n = si(o.data)) &amp;&amp; A(r, n);
                return r
            }(r, !0);
            for (s in f)
                t(d[s]) &amp;&amp; pi(c, s, "");
            for (s in d)
                (a = d[s]) !== f[s] &amp;&amp; pi(c, s, null == a ? "" : a)
        }
    }
    var mi = {
        create: hi,
        update: hi
    },
        yi = /\s+/;
    function gi(e, t) {
        if (t &amp;&amp; (t = t.trim()))
            if (e.classList)
                t.indexOf(" ") &gt; -1 ? t.split(yi).forEach(function (t) {
                    return e.classList.add(t)
                }) : e.classList.add(t);
            else {
                var n = " " + (e.getAttribute("class") || "") + " ";
                n.indexOf(" " + t + " ") &lt; 0 &amp;&amp; e.setAttribute("class", (n + t).trim())
            }
    }
    function _i(e, t) {
        if (t &amp;&amp; (t = t.trim()))
            if (e.classList)
                t.indexOf(" ") &gt; -1 ? t.split(yi).forEach(function (t) {
                    return e.classList.remove(t)
                }) : e.classList.remove(t),
                    e.classList.length || e.removeAttribute("class");
            else {
                for (var n = " " + (e.getAttribute("class") || "") + " ", r = " " + t + " "; n.indexOf(r) &gt;= 0;)
                    n = n.replace(r, " ");
                (n = n.trim()) ? e.setAttribute("class", n) : e.removeAttribute("class")
            }
    }
    function bi(e) {
        if (e) {
            if ("object" == typeof e) {
                var t = {};
                return !1 !== e.css &amp;&amp; A(t, $i(e.name || "v")), A(t, e), t
            }
            return "string" == typeof e ? $i(e) : void 0
        }
    }
    var $i = g(function (e) {
        return {
            enterClass: e + "-enter",
            enterToClass: e + "-enter-to",
            enterActiveClass: e + "-enter-active",
            leaveClass: e + "-leave",
            leaveToClass: e + "-leave-to",
            leaveActiveClass: e + "-leave-active"
        }
    }),
        wi = z &amp;&amp; !W,
        Ci = "transition",
        xi = "animation",
        ki = "transition",
        Ai = "transitionend",
        Oi = "animation",
        Si = "animationend";
    wi &amp;&amp; (void 0 === window.ontransitionend &amp;&amp; void 0 !== window.onwebkittransitionend &amp;&amp; (ki = "WebkitTransition", Ai = "webkitTransitionEnd"), void 0 === window.onanimationend &amp;&amp; void 0 !== window.onwebkitanimationend &amp;&amp; (Oi = "WebkitAnimation", Si = "webkitAnimationEnd"));
    var Ti = z ? window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : setTimeout : function (e) {
        return e()
    };
    function Ei(e) {
        Ti(function () {
            Ti(e)
        })
    }
    function Ni(e, t) {
        var n = e._transitionClasses || (e._transitionClasses = []);
        n.indexOf(t) &lt; 0 &amp;&amp; (n.push(t), gi(e, t))
    }
    function ji(e, t) {
        e._transitionClasses &amp;&amp; h(e._transitionClasses, t),
            _i(e, t)
    }
    function Di(e, t, n) {
        var r = Mi(e, t),
            i = r.type,
            o = r.timeout,
            a = r.propCount;
        if (!i)
            return n();
        var s = i === Ci ? Ai : Si,
            c = 0,
            u = function () {
                e.removeEventListener(s, l),
                    n()
            },
            l = function (t) {
                t.target === e &amp;&amp; ++c &gt;= a &amp;&amp; u()
            };
        setTimeout(function () {
            c &lt; a &amp;&amp; u()
        }, o + 1),
            e.addEventListener(s, l)
    }
    var Li = /\b(transform|all)(,|$)/;
    function Mi(e, t) {
        var n,
            r = window.getComputedStyle(e),
            i = (r[ki + "Delay"] || "").split(", "),
            o = (r[ki + "Duration"] || "").split(", "),
            a = Ii(i, o),
            s = (r[Oi + "Delay"] || "").split(", "),
            c = (r[Oi + "Duration"] || "").split(", "),
            u = Ii(s, c),
            l = 0,
            f = 0;
        return t === Ci ? a &gt; 0 &amp;&amp; (n = Ci, l = a, f = o.length) : t === xi ? u &gt; 0 &amp;&amp; (n = xi, l = u, f = c.length) : f = (n = (l = Math.max(a, u)) &gt; 0 ? a &gt; u ? Ci : xi : null) ? n === Ci ? o.length : c.length : 0, {
            type: n,
            timeout: l,
            propCount: f,
            hasTransform: n === Ci &amp;&amp; Li.test(r[ki + "Property"])
        }
    }
    function Ii(e, t) {
        for (; e.length &lt; t.length;)
            e = e.concat(e);
        return Math.max.apply(null, t.map(function (t, n) {
            return Fi(t) + Fi(e[n])
        }))
    }
    function Fi(e) {
        return 1e3 * Number(e.slice(0, -1).replace(",", "."))
    }
    function Pi(e, r) {
        var i = e.elm;
        n(i._leaveCb) &amp;&amp; (i._leaveCb.cancelled = !0, i._leaveCb());
        var a = bi(e.data.transition);
        if (!t(a) &amp;&amp; !n(i._enterCb) &amp;&amp; 1 === i.nodeType) {
            for (var s = a.css, c = a.type, u = a.enterClass, l = a.enterToClass, p = a.enterActiveClass, d = a.appearClass, v = a.appearToClass, h = a.appearActiveClass, m = a.beforeEnter, y = a.enter, g = a.afterEnter, _ = a.enterCancelled, b = a.beforeAppear, $ = a.appear, w = a.afterAppear, C = a.appearCancelled, x = a.duration, k = Wt, A = Wt.$vnode; A &amp;&amp; A.parent;)
                k = A.context,
                    A = A.parent;
            var O = !k._isMounted || !e.isRootInsert;
            if (!O || $ || "" === $) {
                var S = O &amp;&amp; d ? d : u,
                    T = O &amp;&amp; h ? h : p,
                    E = O &amp;&amp; v ? v : l,
                    N = O &amp;&amp; b || m,
                    j = O &amp;&amp; "function" == typeof $ ? $ : y,
                    L = O &amp;&amp; w || g,
                    M = O &amp;&amp; C || _,
                    I = f(o(x) ? x.enter : x),
                    F = !1 !== s &amp;&amp; !W,
                    P = Bi(j),
                    R = i._enterCb = D(function () {
                        F &amp;&amp; (ji(i, E), ji(i, T)),
                            R.cancelled ? (F &amp;&amp; ji(i, S), M &amp;&amp; M(i)) : L &amp;&amp; L(i),
                            i._enterCb = null
                    });
                e.data.show || it(e, "insert", function () {
                    var t = i.parentNode,
                        n = t &amp;&amp; t._pending &amp;&amp; t._pending[e.key];
                    n &amp;&amp; n.tag === e.tag &amp;&amp; n.elm._leaveCb &amp;&amp; n.elm._leaveCb(),
                        j &amp;&amp; j(i, R)
                }),
                    N &amp;&amp; N(i),
                    F &amp;&amp; (Ni(i, S), Ni(i, T), Ei(function () {
                        ji(i, S),
                            R.cancelled || (Ni(i, E), P || (Hi(I) ? setTimeout(R, I) : Di(i, c, R)))
                    })),
                    e.data.show &amp;&amp; (r &amp;&amp; r(), j &amp;&amp; j(i, R)),
                    F || P || R()
            }
        }
    }
    function Ri(e, r) {
        var i = e.elm;
        n(i._enterCb) &amp;&amp; (i._enterCb.cancelled = !0, i._enterCb());
        var a = bi(e.data.transition);
        if (t(a) || 1 !== i.nodeType)
            return r();
        if (!n(i._leaveCb)) {
            var s = a.css,
                c = a.type,
                u = a.leaveClass,
                l = a.leaveToClass,
                p = a.leaveActiveClass,
                d = a.beforeLeave,
                v = a.leave,
                h = a.afterLeave,
                m = a.leaveCancelled,
                y = a.delayLeave,
                g = a.duration,
                _ = !1 !== s &amp;&amp; !W,
                b = Bi(v),
                $ = f(o(g) ? g.leave : g),
                w = i._leaveCb = D(function () {
                    i.parentNode &amp;&amp; i.parentNode._pending &amp;&amp; (i.parentNode._pending[e.key] = null),
                        _ &amp;&amp; (ji(i, l), ji(i, p)),
                        w.cancelled ? (_ &amp;&amp; ji(i, u), m &amp;&amp; m(i)) : (r(), h &amp;&amp; h(i)),
                        i._leaveCb = null
                });
            y ? y(C) : C()
        }
        function C() {
            w.cancelled || (!e.data.show &amp;&amp; i.parentNode &amp;&amp; ((i.parentNode._pending || (i.parentNode._pending = {}))[e.key] = e), d &amp;&amp; d(i), _ &amp;&amp; (Ni(i, u), Ni(i, p), Ei(function () {
                ji(i, u),
                    w.cancelled || (Ni(i, l), b || (Hi($) ? setTimeout(w, $) : Di(i, c, w)))
            })), v &amp;&amp; v(i, w), _ || b || w())
        }
    }
    function Hi(e) {
        return "number" == typeof e &amp;&amp; !isNaN(e)
    }
    function Bi(e) {
        if (t(e))
            return !1;
        var r = e.fns;
        return n(r) ? Bi(Array.isArray(r) ? r[0] : r) : (e._length || e.length) &gt; 1
    }
    function Ui(e, t) {
        !0 !== t.data.show &amp;&amp; Pi(t)
    }
    var zi = function (e) {
        var o,
            a,
            s = {},
            c = e.modules,
            u = e.nodeOps;
        for (o = 0; o &lt; rr.length; ++o)
            for (s[rr[o]] = [], a = 0; a &lt; c.length; ++a)
                n(c[a][rr[o]]) &amp;&amp; s[rr[o]].push(c[a][rr[o]]);
        function l(e) {
            var t = u.parentNode(e);
            n(t) &amp;&amp; u.removeChild(t, e)
        }
        function f(e, t, i, o, a, c, l) {
            if (n(e.elm) &amp;&amp; n(c) &amp;&amp; (e = c[l] = me(e)), e.isRootInsert = !a, !function (e, t, i, o) {
                var a = e.data;
                if (n(a)) {
                    var c = n(e.componentInstance) &amp;&amp; a.keepAlive;
                    if (n(a = a.hook) &amp;&amp; n(a = a.init) &amp;&amp; a(e, !1), n(e.componentInstance))
                        return d(e, t), v(i, e.elm, o), r(c) &amp;&amp; function (e, t, r, i) {
                            for (var o, a = e; a.componentInstance;)
                                if (a = a.componentInstance._vnode, n(o = a.data) &amp;&amp; n(o = o.transition)) {
                                    for (o = 0; o &lt; s.activate.length; ++o)
                                        s.activate[o](nr, a);
                                    t.push(a);
                                    break
                                }
                            v(r, e.elm, i)
                        }(e, t, i, o), !0
                }
            }(e, t, i, o)) {
                var f = e.data,
                    p = e.children,
                    m = e.tag;
                n(m) ? (e.elm = e.ns ? u.createElementNS(e.ns, m) : u.createElement(m, e), g(e), h(e, p, t), n(f) &amp;&amp; y(e, t), v(i, e.elm, o)) : r(e.isComment) ? (e.elm = u.createComment(e.text), v(i, e.elm, o)) : (e.elm = u.createTextNode(e.text), v(i, e.elm, o))
            }
        }
        function d(e, t) {
            n(e.data.pendingInsert) &amp;&amp; (t.push.apply(t, e.data.pendingInsert), e.data.pendingInsert = null),
                e.elm = e.componentInstance.$el,
                m(e) ? (y(e, t), g(e)) : (tr(e), t.push(e))
        }
        function v(e, t, r) {
            n(e) &amp;&amp; (n(r) ? u.parentNode(r) === e &amp;&amp; u.insertBefore(e, t, r) : u.appendChild(e, t))
        }
        function h(e, t, n) {
            if (Array.isArray(t))
                for (var r = 0; r &lt; t.length; ++r)
                    f(t[r], n, e.elm, null, !0, t, r);
            else
                i(e.text) &amp;&amp; u.appendChild(e.elm, u.createTextNode(String(e.text)))
        }
        function m(e) {
            for (; e.componentInstance;)
                e = e.componentInstance._vnode;
            return n(e.tag)
        }
        function y(e, t) {
            for (var r = 0; r &lt; s.create.length; ++r)
                s.create[r](nr, e);
            n(o = e.data.hook) &amp;&amp; (n(o.create) &amp;&amp; o.create(nr, e), n(o.insert) &amp;&amp; t.push(e))
        }
        function g(e) {
            var t;
            if (n(t = e.fnScopeId))
                u.setStyleScope(e.elm, t);
            else
                for (var r = e; r;)
                    n(t = r.context) &amp;&amp; n(t = t.$options._scopeId) &amp;&amp; u.setStyleScope(e.elm, t),
                        r = r.parent;
            n(t = Wt) &amp;&amp; t !== e.context &amp;&amp; t !== e.fnContext &amp;&amp; n(t = t.$options._scopeId) &amp;&amp; u.setStyleScope(e.elm, t)
        }
        function _(e, t, n, r, i, o) {
            for (; r &lt;= i; ++r)
                f(n[r], o, e, t, !1, n, r)
        }
        function b(e) {
            var t,
                r,
                i = e.data;
            if (n(i))
                for (n(t = i.hook) &amp;&amp; n(t = t.destroy) &amp;&amp; t(e), t = 0; t &lt; s.destroy.length; ++t)
                    s.destroy[t](e);
            if (n(t = e.children))
                for (r = 0; r &lt; e.children.length; ++r)
                    b(e.children[r])
        }
        function $(e, t, r) {
            for (; t &lt;= r; ++t) {
                var i = e[t];
                n(i) &amp;&amp; (n(i.tag) ? (w(i), b(i)) : l(i.elm))
            }
        }
        function w(e, t) {
            if (n(t) || n(e.data)) {
                var r,
                    i = s.remove.length + 1;
                for (n(t) ? t.listeners += i : t = function (e, t) {
                    function n() {
                        0 == --n.listeners &amp;&amp; l(e)
                    }
                    return n.listeners = t, n
                }(e.elm, i), n(r = e.componentInstance) &amp;&amp; n(r = r._vnode) &amp;&amp; n(r.data) &amp;&amp; w(r, t), r = 0; r &lt; s.remove.length; ++r)
                    s.remove[r](e, t);
                n(r = e.data.hook) &amp;&amp; n(r = r.remove) ? r(e, t) : t()
            }
            else
                l(e.elm)
        }
        function C(e, t, r, i) {
            for (var o = r; o &lt; i; o++) {
                var a = t[o];
                if (n(a) &amp;&amp; ir(e, a))
                    return o
            }
        }
        function x(e, i, o, a, c, l) {
            if (e !== i) {
                n(i.elm) &amp;&amp; n(a) &amp;&amp; (i = a[c] = me(i));
                var p = i.elm = e.elm;
                if (r(e.isAsyncPlaceholder))
                    n(i.asyncFactory.resolved) ? O(e.elm, i, o) : i.isAsyncPlaceholder = !0;
                else if (r(i.isStatic) &amp;&amp; r(e.isStatic) &amp;&amp; i.key === e.key &amp;&amp; (r(i.isCloned) || r(i.isOnce)))
                    i.componentInstance = e.componentInstance;
                else {
                    var d,
                        v = i.data;
                    n(v) &amp;&amp; n(d = v.hook) &amp;&amp; n(d = d.prepatch) &amp;&amp; d(e, i);
                    var h = e.children,
                        y = i.children;
                    if (n(v) &amp;&amp; m(i)) {
                        for (d = 0; d &lt; s.update.length; ++d)
                            s.update[d](e, i);
                        n(d = v.hook) &amp;&amp; n(d = d.update) &amp;&amp; d(e, i)
                    }
                    t(i.text) ? n(h) &amp;&amp; n(y) ? h !== y &amp;&amp; function (e, r, i, o, a) {
                        for (var s, c, l, p = 0, d = 0, v = r.length - 1, h = r[0], m = r[v], y = i.length - 1, g = i[0], b = i[y], w = !a; p &lt;= v &amp;&amp; d &lt;= y;)
                            t(h) ? h = r[++p] : t(m) ? m = r[--v] : ir(h, g) ? (x(h, g, o, i, d), h = r[++p], g = i[++d]) : ir(m, b) ? (x(m, b, o, i, y), m = r[--v], b = i[--y]) : ir(h, b) ? (x(h, b, o, i, y), w &amp;&amp; u.insertBefore(e, h.elm, u.nextSibling(m.elm)), h = r[++p], b = i[--y]) : ir(m, g) ? (x(m, g, o, i, d), w &amp;&amp; u.insertBefore(e, m.elm, h.elm), m = r[--v], g = i[++d]) : (t(s) &amp;&amp; (s = or(r, p, v)), t(c = n(g.key) ? s[g.key] : C(g, r, p, v)) ? f(g, o, e, h.elm, !1, i, d) : ir(l = r[c], g) ? (x(l, g, o, i, d), r[c] = void 0, w &amp;&amp; u.insertBefore(e, l.elm, h.elm)) : f(g, o, e, h.elm, !1, i, d), g = i[++d]);
                        p &gt; v ? _(e, t(i[y + 1]) ? null : i[y + 1].elm, i, d, y, o) : d &gt; y &amp;&amp; $(r, p, v)
                    }(p, h, y, o, l) : n(y) ? (n(e.text) &amp;&amp; u.setTextContent(p, ""), _(p, null, y, 0, y.length - 1, o)) : n(h) ? $(h, 0, h.length - 1) : n(e.text) &amp;&amp; u.setTextContent(p, "") : e.text !== i.text &amp;&amp; u.setTextContent(p, i.text),
                        n(v) &amp;&amp; n(d = v.hook) &amp;&amp; n(d = d.postpatch) &amp;&amp; d(e, i)
                }
            }
        }
        function k(e, t, i) {
            if (r(i) &amp;&amp; n(e.parent))
                e.parent.data.pendingInsert = t;
            else
                for (var o = 0; o &lt; t.length; ++o)
                    t[o].data.hook.insert(t[o])
        }
        var A = p("attrs,class,staticClass,staticStyle,key");
        function O(e, t, i, o) {
            var a,
                s = t.tag,
                c = t.data,
                u = t.children;
            if (o = o || c &amp;&amp; c.pre, t.elm = e, r(t.isComment) &amp;&amp; n(t.asyncFactory))
                return t.isAsyncPlaceholder = !0, !0;
            if (n(c) &amp;&amp; (n(a = c.hook) &amp;&amp; n(a = a.init) &amp;&amp; a(t, !0), n(a = t.componentInstance)))
                return d(t, i), !0;
            if (n(s)) {
                if (n(u))
                    if (e.hasChildNodes())
                        if (n(a = c) &amp;&amp; n(a = a.domProps) &amp;&amp; n(a = a.innerHTML)) {
                            if (a !== e.innerHTML)
                                return !1
                        }
                        else {
                            for (var l = !0, f = e.firstChild, p = 0; p &lt; u.length; p++) {
                                if (!f || !O(f, u[p], i, o)) {
                                    l = !1;
                                    break
                                }
                                f = f.nextSibling
                            }
                            if (!l || f)
                                return !1
                        }
                    else
                        h(t, u, i);
                if (n(c)) {
                    var v = !1;
                    for (var m in c)
                        if (!A(m)) {
                            v = !0,
                                y(t, i);
                            break
                        }
                    !v &amp;&amp; c.class &amp;&amp; et(c.class)
                }
            }
            else
                e.data !== t.text &amp;&amp; (e.data = t.text);
            return !0
        }
        return function (e, i, o, a) {
            if (!t(i)) {
                var c,
                    l = !1,
                    p = [];
                if (t(e))
                    l = !0,
                        f(i, p);
                else {
                    var d = n(e.nodeType);
                    if (!d &amp;&amp; ir(e, i))
                        x(e, i, p, null, null, a);
                    else {
                        if (d) {
                            if (1 === e.nodeType &amp;&amp; e.hasAttribute(L) &amp;&amp; (e.removeAttribute(L), o = !0), r(o) &amp;&amp; O(e, i, p))
                                return k(i, p, !0), e;
                            c = e,
                                e = new pe(u.tagName(c).toLowerCase(), {}, [], void 0, c)
                        }
                        var v = e.elm,
                            h = u.parentNode(v);
                        if (f(i, p, v._leaveCb ? null : h, u.nextSibling(v)), n(i.parent))
                            for (var y = i.parent, g = m(i); y;) {
                                for (var _ = 0; _ &lt; s.destroy.length; ++_)
                                    s.destroy[_](y);
                                if (y.elm = i.elm, g) {
                                    for (var w = 0; w &lt; s.create.length; ++w)
                                        s.create[w](nr, y);
                                    var C = y.data.hook.insert;
                                    if (C.merged)
                                        for (var A = 1; A &lt; C.fns.length; A++)
                                            C.fns[A]()
                                }
                                else
                                    tr(y);
                                y = y.parent
                            }
                        n(h) ? $([
                            e
                        ], 0, 0) : n(e.tag) &amp;&amp; b(e)
                    }
                }
                return k(i, p, l), i.elm
            }
            n(e) &amp;&amp; b(e)
        }
    }({
        nodeOps: Qn,
        modules: [
            mr,
            xr,
            ni,
            oi,
            mi,
            z ? {
                create: Ui,
                activate: Ui,
                remove: function (e, t) {
                    !0 !== e.data.show ? Ri(e, t) : t()
                }
            } : {}
        ].concat(pr)
    });
    W &amp;&amp; document.addEventListener("selectionchange", function () {
        var e = document.activeElement;
        e &amp;&amp; e.vmodel &amp;&amp; Xi(e, "input")
    });
    var Vi = {
        inserted: function (e, t, n, r) {
            "select" === n.tag ? (r.elm &amp;&amp; !r.elm._vOptions ? it(n, "postpatch", function () {
                Vi.componentUpdated(e, t, n)
            }) : Ki(e, t, n.context), e._vOptions = [].map.call(e.options, Wi)) : ("textarea" === n.tag || Xn(e.type)) &amp;&amp; (e._vModifiers = t.modifiers, t.modifiers.lazy || (e.addEventListener("compositionstart", Zi), e.addEventListener("compositionend", Gi), e.addEventListener("change", Gi), W &amp;&amp; (e.vmodel = !0)))
        },
        componentUpdated: function (e, t, n) {
            if ("select" === n.tag) {
                Ki(e, t, n.context);
                var r = e._vOptions,
                    i = e._vOptions = [].map.call(e.options, Wi);
                if (i.some(function (e, t) {
                    return !N(e, r[t])
                }))
                    (e.multiple ? t.value.some(function (e) {
                        return qi(e, i)
                    }) : t.value !== t.oldValue &amp;&amp; qi(t.value, i)) &amp;&amp; Xi(e, "change")
            }
        }
    };
    function Ki(e, t, n) {
        Ji(e, t, n),
            (q || Z) &amp;&amp; setTimeout(function () {
                Ji(e, t, n)
            }, 0)
    }
    function Ji(e, t, n) {
        var r = t.value,
            i = e.multiple;
        if (!i || Array.isArray(r)) {
            for (var o, a, s = 0, c = e.options.length; s &lt; c; s++)
                if (a = e.options[s], i)
                    o = j(r, Wi(a)) &gt; -1,
                        a.selected !== o &amp;&amp; (a.selected = o);
                else if (N(Wi(a), r))
                    return void (e.selectedIndex !== s &amp;&amp; (e.selectedIndex = s));
            i || (e.selectedIndex = -1)
        }
    }
    function qi(e, t) {
        return t.every(function (t) {
            return !N(t, e)
        })
    }
    function Wi(e) {
        return "_value" in e ? e._value : e.value
    }
    function Zi(e) {
        e.target.composing = !0
    }
    function Gi(e) {
        e.target.composing &amp;&amp; (e.target.composing = !1, Xi(e.target, "input"))
    }
    function Xi(e, t) {
        var n = document.createEvent("HTMLEvents");
        n.initEvent(t, !0, !0),
            e.dispatchEvent(n)
    }
    function Yi(e) {
        return !e.componentInstance || e.data &amp;&amp; e.data.transition ? e : Yi(e.componentInstance._vnode)
    }
    var Qi = {
        model: Vi,
        show: {
            bind: function (e, t, n) {
                var r = t.value,
                    i = (n = Yi(n)).data &amp;&amp; n.data.transition,
                    o = e.__vOriginalDisplay = "none" === e.style.display ? "" : e.style.display;
                r &amp;&amp; i ? (n.data.show = !0, Pi(n, function () {
                    e.style.display = o
                })) : e.style.display = r ? o : "none"
            },
            update: function (e, t, n) {
                var r = t.value;
                !r != !t.oldValue &amp;&amp; ((n = Yi(n)).data &amp;&amp; n.data.transition ? (n.data.show = !0, r ? Pi(n, function () {
                    e.style.display = e.__vOriginalDisplay
                }) : Ri(n, function () {
                    e.style.display = "none"
                })) : e.style.display = r ? e.__vOriginalDisplay : "none")
            },
            unbind: function (e, t, n, r, i) {
                i || (e.style.display = e.__vOriginalDisplay)
            }
        }
    },
        eo = {
            name: String,
            appear: Boolean,
            css: Boolean,
            mode: String,
            type: String,
            enterClass: String,
            leaveClass: String,
            enterToClass: String,
            leaveToClass: String,
            enterActiveClass: String,
            leaveActiveClass: String,
            appearClass: String,
            appearActiveClass: String,
            appearToClass: String,
            duration: [
                Number,
                String,
                Object
            ]
        };
    function to(e) {
        var t = e &amp;&amp; e.componentOptions;
        return t &amp;&amp; t.Ctor.options.abstract ? to(zt(t.children)) : e
    }
    function no(e) {
        var t = {},
            n = e.$options;
        for (var r in n.propsData)
            t[r] = e[r];
        var i = n._parentListeners;
        for (var o in i)
            t[b(o)] = i[o];
        return t
    }
    function ro(e, t) {
        if (/\d-keep-alive$/.test(t.tag))
            return e("keep-alive", { props: t.componentOptions.propsData })
    }
    var io = function (e) {
        return e.tag || Ut(e)
    },
        oo = function (e) {
            return "show" === e.name
        },
        ao = {
            name: "transition",
            props: eo,
            abstract: !0,
            render: function (e) {
                var t = this,
                    n = this.$slots.default;
                if (n &amp;&amp; (n = n.filter(io)).length) {
                    var r = this.mode,
                        o = n[0];
                    if (function (e) {
                        for (; e = e.parent;)
                            if (e.data.transition)
                                return !0
                    }(this.$vnode))
                        return o;
                    var a = to(o);
                    if (!a)
                        return o;
                    if (this._leaving)
                        return ro(e, o);
                    var s = "__transition-" + this._uid + "-";
                    a.key = null == a.key ? a.isComment ? s + "comment" : s + a.tag : i(a.key) ? 0 === String(a.key).indexOf(s) ? a.key : s + a.key : a.key;
                    var c = (a.data || (a.data = {})).transition = no(this),
                        u = this._vnode,
                        l = to(u);
                    if (a.data.directives &amp;&amp; a.data.directives.some(oo) &amp;&amp; (a.data.show = !0), l &amp;&amp; l.data &amp;&amp; !function (e, t) {
                        return t.key === e.key &amp;&amp; t.tag === e.tag
                    }(a, l) &amp;&amp; !Ut(l) &amp;&amp; (!l.componentInstance || !l.componentInstance._vnode.isComment)) {
                        var f = l.data.transition = A({}, c);
                        if ("out-in" === r)
                            return this._leaving = !0, it(f, "afterLeave", function () {
                                t._leaving = !1,
                                    t.$forceUpdate()
                            }), ro(e, o);
                        if ("in-out" === r) {
                            if (Ut(a))
                                return u;
                            var p,
                                d = function () {
                                    p()
                                };
                            it(c, "afterEnter", d),
                                it(c, "enterCancelled", d),
                                it(f, "delayLeave", function (e) {
                                    p = e
                                })
                        }
                    }
                    return o
                }
            }
        },
        so = A({
            tag: String,
            moveClass: String
        }, eo);
    function co(e) {
        e.elm._moveCb &amp;&amp; e.elm._moveCb(),
            e.elm._enterCb &amp;&amp; e.elm._enterCb()
    }
    function uo(e) {
        e.data.newPos = e.elm.getBoundingClientRect()
    }
    function lo(e) {
        var t = e.data.pos,
            n = e.data.newPos,
            r = t.left - n.left,
            i = t.top - n.top;
        if (r || i) {
            e.data.moved = !0;
            var o = e.elm.style;
            o.transform = o.WebkitTransform = "translate(" + r + "px," + i + "px)",
                o.transitionDuration = "0s"
        }
    }
    delete so.mode;
    var fo = {
        Transition: ao,
        TransitionGroup: {
            props: so,
            beforeMount: function () {
                var e = this,
                    t = this._update;
                this._update = function (n, r) {
                    var i = Zt(e);
                    e.__patch__(e._vnode, e.kept, !1, !0),
                        e._vnode = e.kept,
                        i(),
                        t.call(e, n, r)
                }
            },
            render: function (e) {
                for (var t = this.tag || this.$vnode.data.tag || "span", n = Object.create(null), r = this.prevChildren = this.children, i = this.$slots.default || [], o = this.children = [], a = no(this), s = 0; s &lt; i.length; s++) {
                    var c = i[s];
                    c.tag &amp;&amp; null != c.key &amp;&amp; 0 !== String(c.key).indexOf("__vlist") &amp;&amp; (o.push(c), n[c.key] = c, (c.data || (c.data = {})).transition = a)
                }
                if (r) {
                    for (var u = [], l = [], f = 0; f &lt; r.length; f++) {
                        var p = r[f];
                        p.data.transition = a,
                            p.data.pos = p.elm.getBoundingClientRect(),
                            n[p.key] ? u.push(p) : l.push(p)
                    }
                    this.kept = e(t, null, u),
                        this.removed = l
                }
                return e(t, null, o)
            },
            updated: function () {
                var e = this.prevChildren,
                    t = this.moveClass || (this.name || "v") + "-move";
                e.length &amp;&amp; this.hasMove(e[0].elm, t) &amp;&amp; (e.forEach(co), e.forEach(uo), e.forEach(lo), this._reflow = document.body.offsetHeight, e.forEach(function (e) {
                    if (e.data.moved) {
                        var n = e.elm,
                            r = n.style;
                        Ni(n, t),
                            r.transform = r.WebkitTransform = r.transitionDuration = "",
                            n.addEventListener(Ai, n._moveCb = function e(r) {
                                r &amp;&amp; r.target !== n || r &amp;&amp; !/transform$/.test(r.propertyName) || (n.removeEventListener(Ai, e), n._moveCb = null, ji(n, t))
                            })
                    }
                }))
            },
            methods: {
                hasMove: function (e, t) {
                    if (!wi)
                        return !1;
                    if (this._hasMove)
                        return this._hasMove;
                    var n = e.cloneNode();
                    e._transitionClasses &amp;&amp; e._transitionClasses.forEach(function (e) {
                        _i(n, e)
                    }),
                        gi(n, t),
                        n.style.display = "none",
                        this.$el.appendChild(n);
                    var r = Mi(n);
                    return this.$el.removeChild(n), this._hasMove = r.hasTransform
                }
            }
        }
    };
    wn.config.mustUseProp = jn,
        wn.config.isReservedTag = Wn,
        wn.config.isReservedAttr = En,
        wn.config.getTagNamespace = Zn,
        wn.config.isUnknownElement = function (e) {
            if (!z)
                return !0;
            if (Wn(e))
                return !1;
            if (e = e.toLowerCase(), null != Gn[e])
                return Gn[e];
            var t = document.createElement(e);
            return e.indexOf("-") &gt; -1 ? Gn[e] = t.constructor === window.HTMLUnknownElement || t.constructor === window.HTMLElement : Gn[e] = /HTMLUnknownElement/.test(t.toString())
        },
        A(wn.options.directives, Qi),
        A(wn.options.components, fo),
        wn.prototype.__patch__ = z ? zi : S,
        wn.prototype.$mount = function (e, t) {
            return function (e, t, n) {
                var r;
                return e.$el = t, e.$options.render || (e.$options.render = ve), Yt(e, "beforeMount"), r = function () {
                    e._update(e._render(), n)
                }, new fn(e, r, S, {
                    before: function () {
                        e._isMounted &amp;&amp; !e._isDestroyed &amp;&amp; Yt(e, "beforeUpdate")
                    }
                }, !0), n = !1, null == e.$vnode &amp;&amp; (e._isMounted = !0, Yt(e, "mounted")), e
            }(this, e = e &amp;&amp; z ? Yn(e) : void 0, t)
        },
        z &amp;&amp; setTimeout(function () {
            F.devtools &amp;&amp; ne &amp;&amp; ne.emit("init", wn)
        }, 0);
    var po = /\{\{((?:.|\r?\n)+?)\}\}/g,
        vo = /[-.*+?^${}()|[\]\/\\]/g,
        ho = g(function (e) {
            var t = e[0].replace(vo, "\\$&amp;"),
                n = e[1].replace(vo, "\\$&amp;");
            return new RegExp(t + "((?:.|\\n)+?)" + n, "g")
        });
    var mo = {
        staticKeys: ["staticClass"],
        transformNode: function (e, t) {
            t.warn;
            var n = Fr(e, "class");
            n &amp;&amp; (e.staticClass = JSON.stringify(n));
            var r = Ir(e, "class", !1);
            r &amp;&amp; (e.classBinding = r)
        },
        genData: function (e) {
            var t = "";
            return e.staticClass &amp;&amp; (t += "staticClass:" + e.staticClass + ","), e.classBinding &amp;&amp; (t += "class:" + e.classBinding + ","), t
        }
    };
    var yo,
        go = {
            staticKeys: ["staticStyle"],
            transformNode: function (e, t) {
                t.warn;
                var n = Fr(e, "style");
                n &amp;&amp; (e.staticStyle = JSON.stringify(ai(n)));
                var r = Ir(e, "style", !1);
                r &amp;&amp; (e.styleBinding = r)
            },
            genData: function (e) {
                var t = "";
                return e.staticStyle &amp;&amp; (t += "staticStyle:" + e.staticStyle + ","), e.styleBinding &amp;&amp; (t += "style:(" + e.styleBinding + "),"), t
            }
        },
        _o = function (e) {
            return (yo = yo || document.createElement("div")).innerHTML = e, yo.textContent
        },
        bo = p("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),
        $o = p("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),
        wo = p("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),
        Co = /^\s*([^\s"'&lt;&gt;\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=&lt;&gt;`]+)))?/,
        xo = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'&lt;&gt;\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=&lt;&gt;`]+)))?/,
        ko = "[a-zA-Z_][\\-\\.0-9_a-zA-Z" + P.source + "]*",
        Ao = "((?:" + ko + "\\:)?" + ko + ")",
        Oo = new RegExp("^&lt;" + Ao),
        So = /^\s*(\/?)&gt;/,
        To = new RegExp("^&lt;\\/" + Ao + "[^&gt;]*&gt;"),
        Eo = /^&lt;!DOCTYPE [^&gt;]+&gt;/i,
        No = /^&lt;!\--/,
        jo = /^&lt;!\[/,
        Do = p("script,style,textarea", !0),
        Lo = {},
        Mo = {
            "&amp;lt;": "&lt;",
            "&amp;gt;": "&gt;",
            "&amp;quot;": '"',
            "&amp;amp;": "&amp;",
            "&amp;#10;": "\n",
            "&amp;#9;": "\t",
            "&amp;#39;": "'"
        },
        Io = /&amp;(?:lt|gt|quot|amp|#39);/g,
        Fo = /&amp;(?:lt|gt|quot|amp|#39|#10|#9);/g,
        Po = p("pre,textarea", !0),
        Ro = function (e, t) {
            return e &amp;&amp; Po(e) &amp;&amp; "\n" === t[0]
        };
    function Ho(e, t) {
        var n = t ? Fo : Io;
        return e.replace(n, function (e) {
            return Mo[e]
        })
    }
    var Bo,
        Uo,
        zo,
        Vo,
        Ko,
        Jo,
        qo,
        Wo,
        Zo = /^@|^v-on:/,
        Go = /^v-|^@|^:|^#/,
        Xo = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,
        Yo = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/,
        Qo = /^\(|\)$/g,
        ea = /^\[.*\]$/,
        ta = /:(.*)$/,
        na = /^:|^\.|^v-bind:/,
        ra = /\.[^.\]]+(?=[^\]]*$)/g,
        ia = /^v-slot(:|$)|^#/,
        oa = /[\r\n]/,
        aa = /\s+/g,
        sa = g(_o),
        ca = "_empty_";
    function ua(e, t, n) {
        return {
            type: 1,
            tag: e,
            attrsList: t,
            attrsMap: ma(t),
            rawAttrsMap: {},
            parent: n,
            children: []
        }
    }
    function la(e, t) {
        Bo = t.warn || Sr,
            Jo = t.isPreTag || T,
            qo = t.mustUseProp || T,
            Wo = t.getTagNamespace || T;
        t.isReservedTag;
        zo = Tr(t.modules, "transformNode"),
            Vo = Tr(t.modules, "preTransformNode"),
            Ko = Tr(t.modules, "postTransformNode"),
            Uo = t.delimiters;
        var n,
            r,
            i = [],
            o = !1 !== t.preserveWhitespace,
            a = t.whitespace,
            s = !1,
            c = !1;
        function u(e) {
            if (l(e), s || e.processed || (e = fa(e, t)), i.length || e === n || n.if &amp;&amp; (e.elseif || e.else) &amp;&amp; da(n, {
                exp: e.elseif,
                block: e
            }), r &amp;&amp; !e.forbidden)
                if (e.elseif || e.else)
                    a = e,
                        (u = function (e) {
                            var t = e.length;
                            for (; t--;) {
                                if (1 === e[t].type)
                                    return e[t];
                                e.pop()
                            }
                        }(r.children)) &amp;&amp; u.if &amp;&amp; da(u, {
                            exp: a.elseif,
                            block: a
                        });
                else {
                    if (e.slotScope) {
                        var o = e.slotTarget || '"default"';
                        (r.scopedSlots || (r.scopedSlots = {}))[o] = e
                    }
                    r.children.push(e),
                        e.parent = r
                }
            var a,
                u;
            e.children = e.children.filter(function (e) {
                return !e.slotScope
            }),
                l(e),
                e.pre &amp;&amp; (s = !1),
                Jo(e.tag) &amp;&amp; (c = !1);
            for (var f = 0; f &lt; Ko.length; f++)
                Ko[f](e, t)
        }
        function l(e) {
            if (!c)
                for (var t; (t = e.children[e.children.length - 1]) &amp;&amp; 3 === t.type &amp;&amp; " " === t.text;)
                    e.children.pop()
        }
        return function (e, t) {
            for (var n, r, i = [], o = t.expectHTML, a = t.isUnaryTag || T, s = t.canBeLeftOpenTag || T, c = 0; e;) {
                if (n = e, r &amp;&amp; Do(r)) {
                    var u = 0,
                        l = r.toLowerCase(),
                        f = Lo[l] || (Lo[l] = new RegExp("([\\s\\S]*?)(&lt;/" + l + "[^&gt;]*&gt;)", "i")),
                        p = e.replace(f, function (e, n, r) {
                            return u = r.length, Do(l) || "noscript" === l || (n = n.replace(/&lt;!\--([\s\S]*?)--&gt;/g, "$1").replace(/&lt;!\[CDATA\[([\s\S]*?)]]&gt;/g, "$1")), Ro(l, n) &amp;&amp; (n = n.slice(1)), t.chars &amp;&amp; t.chars(n), ""
                        });
                    c += e.length - p.length,
                        e = p,
                        A(l, c - u, c)
                }
                else {
                    var d = e.indexOf("&lt;");
                    if (0 === d) {
                        if (No.test(e)) {
                            var v = e.indexOf("--\x3e");
                            if (v &gt;= 0) {
                                t.shouldKeepComment &amp;&amp; t.comment(e.substring(4, v), c, c + v + 3),
                                    C(v + 3);
                                continue
                            }
                        }
                        if (jo.test(e)) {
                            var h = e.indexOf("]&gt;");
                            if (h &gt;= 0) {
                                C(h + 2);
                                continue
                            }
                        }
                        var m = e.match(Eo);
                        if (m) {
                            C(m[0].length);
                            continue
                        }
                        var y = e.match(To);
                        if (y) {
                            var g = c;
                            C(y[0].length),
                                A(y[1], g, c);
                            continue
                        }
                        var _ = x();
                        if (_) {
                            k(_),
                                Ro(_.tagName, e) &amp;&amp; C(1);
                            continue
                        }
                    }
                    var b = void 0,
                        $ = void 0,
                        w = void 0;
                    if (d &gt;= 0) {
                        for ($ = e.slice(d); !(To.test($) || Oo.test($) || No.test($) || jo.test($) || (w = $.indexOf("&lt;", 1)) &lt; 0);)
                            d += w,
                                $ = e.slice(d);
                        b = e.substring(0, d)
                    }
                    d &lt; 0 &amp;&amp; (b = e),
                        b &amp;&amp; C(b.length),
                        t.chars &amp;&amp; b &amp;&amp; t.chars(b, c - b.length, c)
                }
                if (e === n) {
                    t.chars &amp;&amp; t.chars(e);
                    break
                }
            }
            function C(t) {
                c += t,
                    e = e.substring(t)
            }
            function x() {
                var t = e.match(Oo);
                if (t) {
                    var n,
                        r,
                        i = {
                            tagName: t[1],
                            attrs: [],
                            start: c
                        };
                    for (C(t[0].length); !(n = e.match(So)) &amp;&amp; (r = e.match(xo) || e.match(Co));)
                        r.start = c,
                            C(r[0].length),
                            r.end = c,
                            i.attrs.push(r);
                    if (n)
                        return i.unarySlash = n[1], C(n[0].length), i.end = c, i
                }
            }
            function k(e) {
                var n = e.tagName,
                    c = e.unarySlash;
                o &amp;&amp; ("p" === r &amp;&amp; wo(n) &amp;&amp; A(r), s(n) &amp;&amp; r === n &amp;&amp; A(n));
                for (var u = a(n) || !!c, l = e.attrs.length, f = new Array(l), p = 0; p &lt; l; p++) {
                    var d = e.attrs[p],
                        v = d[3] || d[4] || d[5] || "",
                        h = "a" === n &amp;&amp; "href" === d[1] ? t.shouldDecodeNewlinesForHref : t.shouldDecodeNewlines;
                    f[p] = {
                        name: d[1],
                        value: Ho(v, h)
                    }
                }
                u || (i.push({
                    tag: n,
                    lowerCasedTag: n.toLowerCase(),
                    attrs: f,
                    start: e.start,
                    end: e.end
                }), r = n),
                    t.start &amp;&amp; t.start(n, f, u, e.start, e.end)
            }
            function A(e, n, o) {
                var a,
                    s;
                if (null == n &amp;&amp; (n = c), null == o &amp;&amp; (o = c), e)
                    for (s = e.toLowerCase(), a = i.length - 1; a &gt;= 0 &amp;&amp; i[a].lowerCasedTag !== s; a--)
                        ;
                else
                    a = 0;
                if (a &gt;= 0) {
                    for (var u = i.length - 1; u &gt;= a; u--)
                        t.end &amp;&amp; t.end(i[u].tag, n, o);
                    i.length = a,
                        r = a &amp;&amp; i[a - 1].tag
                }
                else
                    "br" === s ? t.start &amp;&amp; t.start(e, [], !0, n, o) : "p" === s &amp;&amp; (t.start &amp;&amp; t.start(e, [], !1, n, o), t.end &amp;&amp; t.end(e, n, o))
            }
            A()
        }(e, {
            warn: Bo,
            expectHTML: t.expectHTML,
            isUnaryTag: t.isUnaryTag,
            canBeLeftOpenTag: t.canBeLeftOpenTag,
            shouldDecodeNewlines: t.shouldDecodeNewlines,
            shouldDecodeNewlinesForHref: t.shouldDecodeNewlinesForHref,
            shouldKeepComment: t.comments,
            outputSourceRange: t.outputSourceRange,
            start: function (e, o, a, l, f) {
                var p = r &amp;&amp; r.ns || Wo(e);
                q &amp;&amp; "svg" === p &amp;&amp; (o = function (e) {
                    for (var t = [], n = 0; n &lt; e.length; n++) {
                        var r = e[n];
                        ya.test(r.name) || (r.name = r.name.replace(ga, ""), t.push(r))
                    }
                    return t
                }(o));
                var d,
                    v = ua(e, o, r);
                p &amp;&amp; (v.ns = p),
                    "style" !== (d = v).tag &amp;&amp; ("script" !== d.tag || d.attrsMap.type &amp;&amp; "text/javascript" !== d.attrsMap.type) || te() || (v.forbidden = !0);
                for (var h = 0; h &lt; Vo.length; h++)
                    v = Vo[h](v, t) || v;
                s || (!function (e) {
                    null != Fr(e, "v-pre") &amp;&amp; (e.pre = !0)
                }(v), v.pre &amp;&amp; (s = !0)),
                    Jo(v.tag) &amp;&amp; (c = !0),
                    s ? function (e) {
                        var t = e.attrsList,
                            n = t.length;
                        if (n)
                            for (var r = e.attrs = new Array(n), i = 0; i &lt; n; i++)
                                r[i] = {
                                    name: t[i].name,
                                    value: JSON.stringify(t[i].value)
                                },
                                    null != t[i].start &amp;&amp; (r[i].start = t[i].start, r[i].end = t[i].end);
                        else
                            e.pre || (e.plain = !0)
                    }(v) : v.processed || (pa(v), function (e) {
                        var t = Fr(e, "v-if");
                        if (t)
                            e.if = t,
                                da(e, {
                                    exp: t,
                                    block: e
                                });
                        else {
                            null != Fr(e, "v-else") &amp;&amp; (e.else = !0);
                            var n = Fr(e, "v-else-if");
                            n &amp;&amp; (e.elseif = n)
                        }
                    }(v), function (e) {
                        null != Fr(e, "v-once") &amp;&amp; (e.once = !0)
                    }(v)),
                    n || (n = v),
                    a ? u(v) : (r = v, i.push(v))
            },
            end: function (e, t, n) {
                var o = i[i.length - 1];
                i.length -= 1,
                    r = i[i.length - 1],
                    u(o)
            },
            chars: function (e, t, n) {
                if (r &amp;&amp; (!q || "textarea" !== r.tag || r.attrsMap.placeholder !== e)) {
                    var i,
                        u,
                        l,
                        f = r.children;
                    if (e = c || e.trim() ? "script" === (i = r).tag || "style" === i.tag ? e : sa(e) : f.length ? a ? "condense" === a &amp;&amp; oa.test(e) ? "" : " " : o ? " " : "" : "")
                        c || "condense" !== a || (e = e.replace(aa, " ")),
                            !s &amp;&amp; " " !== e &amp;&amp; (u = function (e, t) {
                                var n = t ? ho(t) : po;
                                if (n.test(e)) {
                                    for (var r, i, o, a = [], s = [], c = n.lastIndex = 0; r = n.exec(e);) {
                                        (i = r.index) &gt; c &amp;&amp; (s.push(o = e.slice(c, i)), a.push(JSON.stringify(o)));
                                        var u = Ar(r[1].trim());
                                        a.push("_s(" + u + ")"),
                                            s.push({ "@binding": u }),
                                            c = i + r[0].length
                                    }
                                    return c &lt; e.length &amp;&amp; (s.push(o = e.slice(c)), a.push(JSON.stringify(o))), {
                                        expression: a.join("+"),
                                        tokens: s
                                    }
                                }
                            }(e, Uo)) ? l = {
                                type: 2,
                                expression: u.expression,
                                tokens: u.tokens,
                                text: e
                            } : " " === e &amp;&amp; f.length &amp;&amp; " " === f[f.length - 1].text || (l = {
                                type: 3,
                                text: e
                            }),
                            l &amp;&amp; f.push(l)
                }
            },
            comment: function (e, t, n) {
                if (r) {
                    var i = {
                        type: 3,
                        text: e,
                        isComment: !0
                    };
                    r.children.push(i)
                }
            }
        }), n
    }
    function fa(e, t) {
        var n,
            r;
        (r = Ir(n = e, "key")) &amp;&amp; (n.key = r),
            e.plain = !e.key &amp;&amp; !e.scopedSlots &amp;&amp; !e.attrsList.length,
            function (e) {
                var t = Ir(e, "ref");
                t &amp;&amp; (e.ref = t, e.refInFor = function (e) {
                    var t = e;
                    for (; t;) {
                        if (void 0 !== t.for)
                            return !0;
                        t = t.parent
                    }
                    return !1
                }(e))
            }(e),
            function (e) {
                var t;
                "template" === e.tag ? (t = Fr(e, "scope"), e.slotScope = t || Fr(e, "slot-scope")) : (t = Fr(e, "slot-scope")) &amp;&amp; (e.slotScope = t);
                var n = Ir(e, "slot");
                n &amp;&amp; (e.slotTarget = '""' === n ? '"default"' : n, e.slotTargetDynamic = !(!e.attrsMap[":slot"] &amp;&amp; !e.attrsMap["v-bind:slot"]), "template" === e.tag || e.slotScope || Nr(e, "slot", n, function (e, t) {
                    return e.rawAttrsMap[":" + t] || e.rawAttrsMap["v-bind:" + t] || e.rawAttrsMap[t]
                }(e, "slot")));
                if ("template" === e.tag) {
                    var r = Pr(e, ia);
                    if (r) {
                        var i = va(r),
                            o = i.name,
                            a = i.dynamic;
                        e.slotTarget = o,
                            e.slotTargetDynamic = a,
                            e.slotScope = r.value || ca
                    }
                }
                else {
                    var s = Pr(e, ia);
                    if (s) {
                        var c = e.scopedSlots || (e.scopedSlots = {}),
                            u = va(s),
                            l = u.name,
                            f = u.dynamic,
                            p = c[l] = ua("template", [], e);
                        p.slotTarget = l,
                            p.slotTargetDynamic = f,
                            p.children = e.children.filter(function (e) {
                                if (!e.slotScope)
                                    return e.parent = p, !0
                            }),
                            p.slotScope = s.value || ca,
                            e.children = [],
                            e.plain = !1
                    }
                }
            }(e),
            function (e) {
                "slot" === e.tag &amp;&amp; (e.slotName = Ir(e, "name"))
            }(e),
            function (e) {
                var t;
                (t = Ir(e, "is")) &amp;&amp; (e.component = t);
                null != Fr(e, "inline-template") &amp;&amp; (e.inlineTemplate = !0)
            }(e);
        for (var i = 0; i &lt; zo.length; i++)
            e = zo[i](e, t) || e;
        return function (e) {
            var t,
                n,
                r,
                i,
                o,
                a,
                s,
                c,
                u = e.attrsList;
            for (t = 0, n = u.length; t &lt; n; t++)
                if (r = i = u[t].name, o = u[t].value, Go.test(r))
                    if (e.hasBindings = !0, (a = ha(r.replace(Go, ""))) &amp;&amp; (r = r.replace(ra, "")), na.test(r))
                        r = r.replace(na, ""),
                            o = Ar(o),
                            (c = ea.test(r)) &amp;&amp; (r = r.slice(1, -1)),
                            a &amp;&amp; (a.prop &amp;&amp; !c &amp;&amp; "innerHtml" === (r = b(r)) &amp;&amp; (r = "innerHTML"), a.camel &amp;&amp; !c &amp;&amp; (r = b(r)), a.sync &amp;&amp; (s = Br(o, "$event"), c ? Mr(e, '"update:"+(' + r + ")", s, null, !1, 0, u[t], !0) : (Mr(e, "update:" + b(r), s, null, !1, 0, u[t]), C(r) !== b(r) &amp;&amp; Mr(e, "update:" + C(r), s, null, !1, 0, u[t])))),
                            a &amp;&amp; a.prop || !e.component &amp;&amp; qo(e.tag, e.attrsMap.type, r) ? Er(e, r, o, u[t], c) : Nr(e, r, o, u[t], c);
                    else if (Zo.test(r))
                        r = r.replace(Zo, ""),
                            (c = ea.test(r)) &amp;&amp; (r = r.slice(1, -1)),
                            Mr(e, r, o, a, !1, 0, u[t], c);
                    else {
                        var l = (r = r.replace(Go, "")).match(ta),
                            f = l &amp;&amp; l[1];
                        c = !1,
                            f &amp;&amp; (r = r.slice(0, -(f.length + 1)), ea.test(f) &amp;&amp; (f = f.slice(1, -1), c = !0)),
                            Dr(e, r, i, o, f, c, a, u[t])
                    }
                else
                    Nr(e, r, JSON.stringify(o), u[t]),
                        !e.component &amp;&amp; "muted" === r &amp;&amp; qo(e.tag, e.attrsMap.type, r) &amp;&amp; Er(e, r, "true", u[t])
        }(e), e
    }
    function pa(e) {
        var t;
        if (t = Fr(e, "v-for")) {
            var n = function (e) {
                var t = e.match(Xo);
                if (!t)
                    return;
                var n = {};
                n.for = t[2].trim();
                var r = t[1].trim().replace(Qo, ""),
                    i = r.match(Yo);
                i ? (n.alias = r.replace(Yo, "").trim(), n.iterator1 = i[1].trim(), i[2] &amp;&amp; (n.iterator2 = i[2].trim())) : n.alias = r;
                return n
            }(t);
            n &amp;&amp; A(e, n)
        }
    }
    function da(e, t) {
        e.ifConditions || (e.ifConditions = []),
            e.ifConditions.push(t)
    }
    function va(e) {
        var t = e.name.replace(ia, "");
        return t || "#" !== e.name[0] &amp;&amp; (t = "default"), ea.test(t) ? {
            name: t.slice(1, -1),
            dynamic: !0
        } : {
            name: '"' + t + '"',
            dynamic: !1
        }
    }
    function ha(e) {
        var t = e.match(ra);
        if (t) {
            var n = {};
            return t.forEach(function (e) {
                n[e.slice(1)] = !0
            }), n
        }
    }
    function ma(e) {
        for (var t = {}, n = 0, r = e.length; n &lt; r; n++)
            t[e[n].name] = e[n].value;
        return t
    }
    var ya = /^xmlns:NS\d+/,
        ga = /^NS\d+:/;
    function _a(e) {
        return ua(e.tag, e.attrsList.slice(), e.parent)
    }
    var ba = [
        mo,
        go,
        {
            preTransformNode: function (e, t) {
                if ("input" === e.tag) {
                    var n,
                        r = e.attrsMap;
                    if (!r["v-model"])
                        return;
                    if ((r[":type"] || r["v-bind:type"]) &amp;&amp; (n = Ir(e, "type")), r.type || n || !r["v-bind"] || (n = "(" + r["v-bind"] + ").type"), n) {
                        var i = Fr(e, "v-if", !0),
                            o = i ? "&amp;&amp;(" + i + ")" : "",
                            a = null != Fr(e, "v-else", !0),
                            s = Fr(e, "v-else-if", !0),
                            c = _a(e);
                        pa(c),
                            jr(c, "type", "checkbox"),
                            fa(c, t),
                            c.processed = !0,
                            c.if = "(" + n + ")==='checkbox'" + o,
                            da(c, {
                                exp: c.if,
                                block: c
                            });
                        var u = _a(e);
                        Fr(u, "v-for", !0),
                            jr(u, "type", "radio"),
                            fa(u, t),
                            da(c, {
                                exp: "(" + n + ")==='radio'" + o,
                                block: u
                            });
                        var l = _a(e);
                        return Fr(l, "v-for", !0), jr(l, ":type", n), fa(l, t), da(c, {
                            exp: i,
                            block: l
                        }), a ? c.else = !0 : s &amp;&amp; (c.elseif = s), c
                    }
                }
            }
        }
    ];
    var $a,
        wa,
        Ca = {
            expectHTML: !0,
            modules: ba,
            directives: {
                model: function (e, t, n) {
                    var r = t.value,
                        i = t.modifiers,
                        o = e.tag,
                        a = e.attrsMap.type;
                    if (e.component)
                        return Hr(e, r, i), !1;
                    if ("select" === o)
                        !function (e, t, n) {
                            var r = 'var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return ' + (n &amp;&amp; n.number ? "_n(val)" : "val") + "});";
                            r = r + " " + Br(t, "$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),
                                Mr(e, "change", r, null, !0)
                        }(e, r, i);
                    else if ("input" === o &amp;&amp; "checkbox" === a)
                        !function (e, t, n) {
                            var r = n &amp;&amp; n.number,
                                i = Ir(e, "value") || "null",
                                o = Ir(e, "true-value") || "true",
                                a = Ir(e, "false-value") || "false";
                            Er(e, "checked", "Array.isArray(" + t + ")?_i(" + t + "," + i + ")&gt;-1" + ("true" === o ? ":(" + t + ")" : ":_q(" + t + "," + o + ")")),
                                Mr(e, "change", "var $$a=" + t + ",$$el=$event.target,$$c=$$el.checked?(" + o + "):(" + a + ");if(Array.isArray($$a)){var $$v=" + (r ? "_n(" + i + ")" : i) + ",$$i=_i($$a,$$v);if($$el.checked){$$i&lt;0&amp;&amp;(" + Br(t, "$$a.concat([$$v])") + ")}else{$$i&gt;-1&amp;&amp;(" + Br(t, "$$a.slice(0,$$i).concat($$a.slice($$i+1))") + ")}}else{" + Br(t, "$$c") + "}", null, !0)
                        }(e, r, i);
                    else if ("input" === o &amp;&amp; "radio" === a)
                        !function (e, t, n) {
                            var r = n &amp;&amp; n.number,
                                i = Ir(e, "value") || "null";
                            Er(e, "checked", "_q(" + t + "," + (i = r ? "_n(" + i + ")" : i) + ")"),
                                Mr(e, "change", Br(t, i), null, !0)
                        }(e, r, i);
                    else if ("input" === o || "textarea" === o)
                        !function (e, t, n) {
                            var r = e.attrsMap.type,
                                i = n || {},
                                o = i.lazy,
                                a = i.number,
                                s = i.trim,
                                c = !o &amp;&amp; "range" !== r,
                                u = o ? "change" : "range" === r ? Wr : "input",
                                l = "$event.target.value";
                            s &amp;&amp; (l = "$event.target.value.trim()"),
                                a &amp;&amp; (l = "_n(" + l + ")");
                            var f = Br(t, l);
                            c &amp;&amp; (f = "if($event.target.composing)return;" + f),
                                Er(e, "value", "(" + t + ")"),
                                Mr(e, u, f, null, !0),
                                (s || a) &amp;&amp; Mr(e, "blur", "$forceUpdate()")
                        }(e, r, i);
                    else if (!F.isReservedTag(o))
                        return Hr(e, r, i), !1;
                    return !0
                },
                text: function (e, t) {
                    t.value &amp;&amp; Er(e, "textContent", "_s(" + t.value + ")", t)
                },
                html: function (e, t) {
                    t.value &amp;&amp; Er(e, "innerHTML", "_s(" + t.value + ")", t)
                }
            },
            isPreTag: function (e) {
                return "pre" === e
            },
            isUnaryTag: bo,
            mustUseProp: jn,
            canBeLeftOpenTag: $o,
            isReservedTag: Wn,
            getTagNamespace: Zn,
            staticKeys: function (e) {
                return e.reduce(function (e, t) {
                    return e.concat(t.staticKeys || [])
                }, []).join(",")
            }(ba)
        },
        xa = g(function (e) {
            return p("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap" + (e ? "," + e : ""))
        });
    function ka(e, t) {
        e &amp;&amp; ($a = xa(t.staticKeys || ""), wa = t.isReservedTag || T, function e(t) {
            t.static = function (e) {
                if (2 === e.type)
                    return !1;
                if (3 === e.type)
                    return !0;
                return !(!e.pre &amp;&amp; (e.hasBindings || e.if || e.for || d(e.tag) || !wa(e.tag) || function (e) {
                    for (; e.parent;) {
                        if ("template" !== (e = e.parent).tag)
                            return !1;
                        if (e.for)
                            return !0
                    }
                    return !1
                }(e) || !Object.keys(e).every($a)))
            }(t);
            if (1 === t.type) {
                if (!wa(t.tag) &amp;&amp; "slot" !== t.tag &amp;&amp; null == t.attrsMap["inline-template"])
                    return;
                for (var n = 0, r = t.children.length; n &lt; r; n++) {
                    var i = t.children[n];
                    e(i),
                        i.static || (t.static = !1)
                }
                if (t.ifConditions)
                    for (var o = 1, a = t.ifConditions.length; o &lt; a; o++) {
                        var s = t.ifConditions[o].block;
                        e(s),
                            s.static || (t.static = !1)
                    }
            }
        }(e), function e(t, n) {
            if (1 === t.type) {
                if ((t.static || t.once) &amp;&amp; (t.staticInFor = n), t.static &amp;&amp; t.children.length &amp;&amp; (1 !== t.children.length || 3 !== t.children[0].type))
                    return void (t.staticRoot = !0);
                if (t.staticRoot = !1, t.children)
                    for (var r = 0, i = t.children.length; r &lt; i; r++)
                        e(t.children[r], n || !!t.for);
                if (t.ifConditions)
                    for (var o = 1, a = t.ifConditions.length; o &lt; a; o++)
                        e(t.ifConditions[o].block, n)
            }
        }(e, !1))
    }
    var Aa = /^([\w$_]+|\([^)]*?\))\s*=&gt;|^function(?:\s+[\w$]+)?\s*\(/,
        Oa = /\([^)]*?\);*$/,
        Sa = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,
        Ta = {
            esc: 27,
            tab: 9,
            enter: 13,
            space: 32,
            up: 38,
            left: 37,
            right: 39,
            down: 40,
            delete: [8, 46]
        },
        Ea = {
            esc: ["Esc", "Escape"],
            tab: "Tab",
            enter: "Enter",
            space: [" ", "Spacebar"],
            up: ["Up", "ArrowUp"],
            left: ["Left", "ArrowLeft"],
            right: ["Right", "ArrowRight"],
            down: ["Down", "ArrowDown"],
            delete: ["Backspace", "Delete", "Del"]
        },
        Na = function (e) {
            return "if(" + e + ")return null;"
        },
        ja = {
            stop: "$event.stopPropagation();",
            prevent: "$event.preventDefault();",
            self: Na("$event.target !== $event.currentTarget"),
            ctrl: Na("!$event.ctrlKey"),
            shift: Na("!$event.shiftKey"),
            alt: Na("!$event.altKey"),
            meta: Na("!$event.metaKey"),
            left: Na("'button' in $event &amp;&amp; $event.button !== 0"),
            middle: Na("'button' in $event &amp;&amp; $event.button !== 1"),
            right: Na("'button' in $event &amp;&amp; $event.button !== 2")
        };
    function Da(e, t) {
        var n = t ? "nativeOn:" : "on:",
            r = "",
            i = "";
        for (var o in e) {
            var a = La(e[o]);
            e[o] &amp;&amp; e[o].dynamic ? i += o + "," + a + "," : r += '"' + o + '":' + a + ","
        }
        return r = "{" + r.slice(0, -1) + "}", i ? n + "_d(" + r + ",[" + i.slice(0, -1) + "])" : n + r
    }
    function La(e) {
        if (!e)
            return "function(){}";
        if (Array.isArray(e))
            return "[" + e.map(function (e) {
                return La(e)
            }).join(",") + "]";
        var t = Sa.test(e.value),
            n = Aa.test(e.value),
            r = Sa.test(e.value.replace(Oa, ""));
        if (e.modifiers) {
            var i = "",
                o = "",
                a = [];
            for (var s in e.modifiers)
                if (ja[s])
                    o += ja[s],
                        Ta[s] &amp;&amp; a.push(s);
                else if ("exact" === s) {
                    var c = e.modifiers;
                    o += Na(["ctrl", "shift", "alt", "meta"].filter(function (e) {
                        return !c[e]
                    }).map(function (e) {
                        return "$event." + e + "Key"
                    }).join("||"))
                }
                else
                    a.push(s);
            return a.length &amp;&amp; (i += function (e) {
                return "if(!$event.type.indexOf('key')&amp;&amp;" + e.map(Ma).join("&amp;&amp;") + ")return null;"
            }(a)), o &amp;&amp; (i += o), "function($event){" + i + (t ? "return " + e.value + "($event)" : n ? "return (" + e.value + ")($event)" : r ? "return " + e.value : e.value) + "}"
        }
        return t || n ? e.value : "function($event){" + (r ? "return " + e.value : e.value) + "}"
    }
    function Ma(e) {
        var t = parseInt(e, 10);
        if (t)
            return "$event.keyCode!==" + t;
        var n = Ta[e],
            r = Ea[e];
        return "_k($event.keyCode," + JSON.stringify(e) + "," + JSON.stringify(n) + ",$event.key," + JSON.stringify(r) + ")"
    }
    var Ia = {
        on: function (e, t) {
            e.wrapListeners = function (e) {
                return "_g(" + e + "," + t.value + ")"
            }
        },
        bind: function (e, t) {
            e.wrapData = function (n) {
                return "_b(" + n + ",'" + e.tag + "'," + t.value + "," + (t.modifiers &amp;&amp; t.modifiers.prop ? "true" : "false") + (t.modifiers &amp;&amp; t.modifiers.sync ? ",true" : "") + ")"
            }
        },
        cloak: S
    },
        Fa = function (e) {
            this.options = e,
                this.warn = e.warn || Sr,
                this.transforms = Tr(e.modules, "transformCode"),
                this.dataGenFns = Tr(e.modules, "genData"),
                this.directives = A(A({}, Ia), e.directives);
            var t = e.isReservedTag || T;
            this.maybeComponent = function (e) {
                return !!e.component || !t(e.tag)
            },
                this.onceId = 0,
                this.staticRenderFns = [],
                this.pre = !1
        };
    function Pa(e, t) {
        var n = new Fa(t);
        return {
            render: "with(this){return " + (e ? Ra(e, n) : '_c("div")') + "}",
            staticRenderFns: n.staticRenderFns
        }
    }
    function Ra(e, t) {
        if (e.parent &amp;&amp; (e.pre = e.pre || e.parent.pre), e.staticRoot &amp;&amp; !e.staticProcessed)
            return Ha(e, t);
        if (e.once &amp;&amp; !e.onceProcessed)
            return Ba(e, t);
        if (e.for &amp;&amp; !e.forProcessed)
            return za(e, t);
        if (e.if &amp;&amp; !e.ifProcessed)
            return Ua(e, t);
        if ("template" !== e.tag || e.slotTarget || t.pre) {
            if ("slot" === e.tag)
                return function (e, t) {
                    var n = e.slotName || '"default"',
                        r = qa(e, t),
                        i = "_t(" + n + (r ? "," + r : ""),
                        o = e.attrs || e.dynamicAttrs ? Ga((e.attrs || []).concat(e.dynamicAttrs || []).map(function (e) {
                            return {
                                name: b(e.name),
                                value: e.value,
                                dynamic: e.dynamic
                            }
                        })) : null,
                        a = e.attrsMap["v-bind"];
                    !o &amp;&amp; !a || r || (i += ",null");
                    o &amp;&amp; (i += "," + o);
                    a &amp;&amp; (i += (o ? "" : ",null") + "," + a);
                    return i + ")"
                }(e, t);
            var n;
            if (e.component)
                n = function (e, t, n) {
                    var r = t.inlineTemplate ? null : qa(t, n, !0);
                    return "_c(" + e + "," + Va(t, n) + (r ? "," + r : "") + ")"
                }(e.component, e, t);
            else {
                var r;
                (!e.plain || e.pre &amp;&amp; t.maybeComponent(e)) &amp;&amp; (r = Va(e, t));
                var i = e.inlineTemplate ? null : qa(e, t, !0);
                n = "_c('" + e.tag + "'" + (r ? "," + r : "") + (i ? "," + i : "") + ")"
            }
            for (var o = 0; o &lt; t.transforms.length; o++)
                n = t.transforms[o](e, n);
            return n
        }
        return qa(e, t) || "void 0"
    }
    function Ha(e, t) {
        e.staticProcessed = !0;
        var n = t.pre;
        return e.pre &amp;&amp; (t.pre = e.pre), t.staticRenderFns.push("with(this){return " + Ra(e, t) + "}"), t.pre = n, "_m(" + (t.staticRenderFns.length - 1) + (e.staticInFor ? ",true" : "") + ")"
    }
    function Ba(e, t) {
        if (e.onceProcessed = !0, e.if &amp;&amp; !e.ifProcessed)
            return Ua(e, t);
        if (e.staticInFor) {
            for (var n = "", r = e.parent; r;) {
                if (r.for) {
                    n = r.key;
                    break
                }
                r = r.parent
            }
            return n ? "_o(" + Ra(e, t) + "," + t.onceId++ + "," + n + ")" : Ra(e, t)
        }
        return Ha(e, t)
    }
    function Ua(e, t, n, r) {
        return e.ifProcessed = !0, function e(t, n, r, i) {
            if (!t.length)
                return i || "_e()";
            var o = t.shift();
            return o.exp ? "(" + o.exp + ")?" + a(o.block) + ":" + e(t, n, r, i) : "" + a(o.block);
            function a(e) {
                return r ? r(e, n) : e.once ? Ba(e, n) : Ra(e, n)
            }
        }(e.ifConditions.slice(), t, n, r)
    }
    function za(e, t, n, r) {
        var i = e.for,
            o = e.alias,
            a = e.iterator1 ? "," + e.iterator1 : "",
            s = e.iterator2 ? "," + e.iterator2 : "";
        return e.forProcessed = !0, (r || "_l") + "((" + i + "),function(" + o + a + s + "){return " + (n || Ra)(e, t) + "})"
    }
    function Va(e, t) {
        var n = "{",
            r = function (e, t) {
                var n = e.directives;
                if (!n)
                    return;
                var r,
                    i,
                    o,
                    a,
                    s = "directives:[",
                    c = !1;
                for (r = 0, i = n.length; r &lt; i; r++) {
                    o = n[r],
                        a = !0;
                    var u = t.directives[o.name];
                    u &amp;&amp; (a = !!u(e, o, t.warn)),
                        a &amp;&amp; (c = !0, s += '{name:"' + o.name + '",rawName:"' + o.rawName + '"' + (o.value ? ",value:(" + o.value + "),expression:" + JSON.stringify(o.value) : "") + (o.arg ? ",arg:" + (o.isDynamicArg ? o.arg : '"' + o.arg + '"') : "") + (o.modifiers ? ",modifiers:" + JSON.stringify(o.modifiers) : "") + "},")
                }
                if (c)
                    return s.slice(0, -1) + "]"
            }(e, t);
        r &amp;&amp; (n += r + ","),
            e.key &amp;&amp; (n += "key:" + e.key + ","),
            e.ref &amp;&amp; (n += "ref:" + e.ref + ","),
            e.refInFor &amp;&amp; (n += "refInFor:true,"),
            e.pre &amp;&amp; (n += "pre:true,"),
            e.component &amp;&amp; (n += 'tag:"' + e.tag + '",');
        for (var i = 0; i &lt; t.dataGenFns.length; i++)
            n += t.dataGenFns[i](e);
        if (e.attrs &amp;&amp; (n += "attrs:" + Ga(e.attrs) + ","), e.props &amp;&amp; (n += "domProps:" + Ga(e.props) + ","), e.events &amp;&amp; (n += Da(e.events, !1) + ","), e.nativeEvents &amp;&amp; (n += Da(e.nativeEvents, !0) + ","), e.slotTarget &amp;&amp; !e.slotScope &amp;&amp; (n += "slot:" + e.slotTarget + ","), e.scopedSlots &amp;&amp; (n += function (e, t, n) {
            var r = e.for || Object.keys(t).some(function (e) {
                var n = t[e];
                return n.slotTargetDynamic || n.if || n.for || Ka(n)
            }),
                i = !!e.if;
            if (!r)
                for (var o = e.parent; o;) {
                    if (o.slotScope &amp;&amp; o.slotScope !== ca || o.for) {
                        r = !0;
                        break
                    }
                    o.if &amp;&amp; (i = !0),
                        o = o.parent
                }
            var a = Object.keys(t).map(function (e) {
                return Ja(t[e], n)
            }).join(",");
            return "scopedSlots:_u([" + a + "]" + (r ? ",null,true" : "") + (!r &amp;&amp; i ? ",null,false," + function (e) {
                var t = 5381,
                    n = e.length;
                for (; n;)
                    t = 33 * t ^ e.charCodeAt(--n);
                return t &gt;&gt;&gt; 0
            }(a) : "") + ")"
        }(e, e.scopedSlots, t) + ","), e.model &amp;&amp; (n += "model:{value:" + e.model.value + ",callback:" + e.model.callback + ",expression:" + e.model.expression + "},"), e.inlineTemplate) {
            var o = function (e, t) {
                var n = e.children[0];
                if (n &amp;&amp; 1 === n.type) {
                    var r = Pa(n, t.options);
                    return "inlineTemplate:{render:function(){" + r.render + "},staticRenderFns:[" + r.staticRenderFns.map(function (e) {
                        return "function(){" + e + "}"
                    }).join(",") + "]}"
                }
            }(e, t);
            o &amp;&amp; (n += o + ",")
        }
        return n = n.replace(/,$/, "") + "}", e.dynamicAttrs &amp;&amp; (n = "_b(" + n + ',"' + e.tag + '",' + Ga(e.dynamicAttrs) + ")"), e.wrapData &amp;&amp; (n = e.wrapData(n)), e.wrapListeners &amp;&amp; (n = e.wrapListeners(n)), n
    }
    function Ka(e) {
        return 1 === e.type &amp;&amp; ("slot" === e.tag || e.children.some(Ka))
    }
    function Ja(e, t) {
        var n = e.attrsMap["slot-scope"];
        if (e.if &amp;&amp; !e.ifProcessed &amp;&amp; !n)
            return Ua(e, t, Ja, "null");
        if (e.for &amp;&amp; !e.forProcessed)
            return za(e, t, Ja);
        var r = e.slotScope === ca ? "" : String(e.slotScope),
            i = "function(" + r + "){return " + ("template" === e.tag ? e.if &amp;&amp; n ? "(" + e.if + ")?" + (qa(e, t) || "undefined") + ":undefined" : qa(e, t) || "undefined" : Ra(e, t)) + "}",
            o = r ? "" : ",proxy:true";
        return "{key:" + (e.slotTarget || '"default"') + ",fn:" + i + o + "}"
    }
    function qa(e, t, n, r, i) {
        var o = e.children;
        if (o.length) {
            var a = o[0];
            if (1 === o.length &amp;&amp; a.for &amp;&amp; "template" !== a.tag &amp;&amp; "slot" !== a.tag) {
                var s = n ? t.maybeComponent(a) ? ",1" : ",0" : "";
                return "" + (r || Ra)(a, t) + s
            }
            var c = n ? function (e, t) {
                for (var n = 0, r = 0; r &lt; e.length; r++) {
                    var i = e[r];
                    if (1 === i.type) {
                        if (Wa(i) || i.ifConditions &amp;&amp; i.ifConditions.some(function (e) {
                            return Wa(e.block)
                        })) {
                            n = 2;
                            break
                        }
                        (t(i) || i.ifConditions &amp;&amp; i.ifConditions.some(function (e) {
                            return t(e.block)
                        })) &amp;&amp; (n = 1)
                    }
                }
                return n
            }(o, t.maybeComponent) : 0,
                u = i || Za;
            return "[" + o.map(function (e) {
                return u(e, t)
            }).join(",") + "]" + (c ? "," + c : "")
        }
    }
    function Wa(e) {
        return void 0 !== e.for || "template" === e.tag || "slot" === e.tag
    }
    function Za(e, t) {
        return 1 === e.type ? Ra(e, t) : 3 === e.type &amp;&amp; e.isComment ? (r = e, "_e(" + JSON.stringify(r.text) + ")") : "_v(" + (2 === (n = e).type ? n.expression : Xa(JSON.stringify(n.text))) + ")";
        var n,
            r
    }
    function Ga(e) {
        for (var t = "", n = "", r = 0; r &lt; e.length; r++) {
            var i = e[r],
                o = Xa(i.value);
            i.dynamic ? n += i.name + "," + o + "," : t += '"' + i.name + '":' + o + ","
        }
        return t = "{" + t.slice(0, -1) + "}", n ? "_d(" + t + ",[" + n.slice(0, -1) + "])" : t
    }
    function Xa(e) {
        return e.replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029")
    }
    new RegExp("\\b" + "do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,window,function,arguments".split(",").join("\\b|\\b") + "\\b");
    function Ya(e, t) {
        try {
            return new Function(e)
        }
        catch (n) {
            return t.push({
                err: n,
                code: e
            }), S
        }
    }
    function Qa(e) {
        var t = Object.create(null);
        return function (n, r, i) {
            (r = A({}, r)).warn;
            delete r.warn;
            var o = r.delimiters ? String(r.delimiters) + n : n;
            if (t[o])
                return t[o];
            var a = e(n, r),
                s = {},
                c = [];
            return s.render = Ya(a.render, c), s.staticRenderFns = a.staticRenderFns.map(function (e) {
                return Ya(e, c)
            }), t[o] = s
        }
    }
    var es,
        ts,
        ns = (es = function (e, t) {
            var n = la(e.trim(), t);
            !1 !== t.optimize &amp;&amp; ka(n, t);
            var r = Pa(n, t);
            return {
                ast: n,
                render: r.render,
                staticRenderFns: r.staticRenderFns
            }
        }, function (e) {
                function t(t, n) {
                    var r = Object.create(e),
                        i = [],
                        o = [];
                    if (n)
                        for (var a in n.modules &amp;&amp; (r.modules = (e.modules || []).concat(n.modules)), n.directives &amp;&amp; (r.directives = A(Object.create(e.directives || null), n.directives)), n)
                            "modules" !== a &amp;&amp; "directives" !== a &amp;&amp; (r[a] = n[a]);
                    r.warn = function (e, t, n) {
                        (n ? o : i).push(e)
                    };
                    var s = es(t.trim(), r);
                    return s.errors = i, s.tips = o, s
                }
                return {
                    compile: t,
                    compileToFunctions: Qa(t)
                }
            })(Ca),
        rs = (ns.compile, ns.compileToFunctions);
    function is(e) {
        return (ts = ts || document.createElement("div")).innerHTML = e ? '&lt;a href="\n"/&gt;' : '&lt;div a="\n"/&gt;', ts.innerHTML.indexOf("&amp;#10;") &gt; 0
    }
    var os = !!z &amp;&amp; is(!1),
        as = !!z &amp;&amp; is(!0),
        ss = g(function (e) {
            var t = Yn(e);
            return t &amp;&amp; t.innerHTML
        }),
        cs = wn.prototype.$mount;
    return wn.prototype.$mount = function (e, t) {
        if ((e = e &amp;&amp; Yn(e)) === document.body || e === document.documentElement)
            return this;
        var n = this.$options;
        if (!n.render) {
            var r = n.template;
            if (r)
                if ("string" == typeof r)
                    "#" === r.charAt(0) &amp;&amp; (r = ss(r));
                else {
                    if (!r.nodeType)
                        return this;
                    r = r.innerHTML
                }
            else
                e &amp;&amp; (r = function (e) {
                    if (e.outerHTML)
                        return e.outerHTML;
                    var t = document.createElement("div");
                    return t.appendChild(e.cloneNode(!0)), t.innerHTML
                }(e));
            if (r) {
                var i = rs(r, {
                    outputSourceRange: !1,
                    shouldDecodeNewlines: os,
                    shouldDecodeNewlinesForHref: as,
                    delimiters: n.delimiters,
                    comments: n.comments
                }, this),
                    o = i.render,
                    a = i.staticRenderFns;
                n.render = o,
                    n.staticRenderFns = a
            }
        }
        return cs.call(this, e, t)
    }, wn.compile = rs, wn
});
(function (root, factory) {
    if (typeof exports === "object" &amp;&amp; typeof module === "object")
        module.exports = factory();
    else if (typeof define === "function" &amp;&amp; define.amd)
        define("EventBus", [], factory);
    else if (typeof exports === "object")
        exports["EventBus"] = factory();
    else
        root["EventBus"] = factory()
})(this, function () {
    var EventBusClass = {};
    EventBusClass = function () {
        this.listeners = {}
    };
    EventBusClass.prototype = {
        addEventListener: function (type, callback, scope) {
            var args = [];
            var numOfArgs = arguments.length;
            for (var i = 0; i &lt; numOfArgs; i++) {
                args.push(arguments[i])
            }
            args = args.length &gt; 3 ? args.splice(3, args.length - 1) : [];
            if (typeof this.listeners[type] != "undefined") {
                this.listeners[type].push({
                    scope: scope,
                    callback: callback,
                    args: args
                })
            }
            else {
                this.listeners[type] = [
                    {
                        scope: scope,
                        callback: callback,
                        args: args
                    }
                ]
            }
        },
        removeEventListener: function (type, callback, scope) {
            if (typeof this.listeners[type] != "undefined") {
                var numOfCallbacks = this.listeners[type].length;
                var newArray = [];
                for (var i = 0; i &lt; numOfCallbacks; i++) {
                    var listener = this.listeners[type][i];
                    if (listener.scope == scope &amp;&amp; listener.callback == callback) { }
                    else {
                        newArray.push(listener)
                    }
                }
                this.listeners[type] = newArray
            }
        },
        hasEventListener: function (type, callback, scope) {
            if (typeof this.listeners[type] != "undefined") {
                var numOfCallbacks = this.listeners[type].length;
                if (callback === undefined &amp;&amp; scope === undefined) {
                    return numOfCallbacks &gt; 0
                }
                for (var i = 0; i &lt; numOfCallbacks; i++) {
                    var listener = this.listeners[type][i];
                    if ((scope ? listener.scope == scope : true) &amp;&amp; listener.callback == callback) {
                        return true
                    }
                }
            }
            return false
        },
        dispatch: function (type, target) {
            var event = {
                type: type,
                target: target
            };
            var args = [];
            var numOfArgs = arguments.length;
            for (var i = 0; i &lt; numOfArgs; i++) {
                args.push(arguments[i])
            }
            args = args.length &gt; 2 ? args.splice(2, args.length - 1) : [];
            args = [
                event
            ].concat(args);
            if (typeof this.listeners[type] != "undefined") {
                var listeners = this.listeners[type].slice();
                var numOfCallbacks = listeners.length;
                for (var i = 0; i &lt; numOfCallbacks; i++) {
                    var listener = listeners[i];
                    if (listener &amp;&amp; listener.callback) {
                        var concatArgs = args.concat(listener.args);
                        listener.callback.apply(listener.scope, concatArgs)
                    }
                }
            }
        },
        getEvents: function () {
            var str = "";
            for (var type in this.listeners) {
                var numOfCallbacks = this.listeners[type].length;
                for (var i = 0; i &lt; numOfCallbacks; i++) {
                    var listener = this.listeners[type][i];
                    str += listener.scope &amp;&amp; listener.scope.className ? listener.scope.className : "anonymous";
                    str += " listen for '" + type + "'\n"
                }
            }
            return str
        }
    };
    var EventBus = new EventBusClass;
    return EventBus
});
var xx = xx || {};
xx.requests = axios.create({ timeout: 1e4 });
xx.requests.interceptors.request.use(function (config) {
    console.log("requests.interceptors.request.use:", config);
    return config
}, function (error) {
    return Promise.reject(error)
});
xx.requests.interceptors.response.use(response =&gt; {
    console.log("requests.interceptors.response.use response:", response);
    const res = response.data;
    if (res.code !== 200) {
        console.log("è¯·æ±‚é”™è¯¯");
        if (res.msg)
            ga.show_error(res.msg);
        if (res.description)
            ga.show_error(res.description);
        return Promise.reject(response)
    }
    else {
        if (res.msg)
            ga.show_success(res.msg);
        return res
    }
}, error =&gt; {
    let text = "";
    let err = JSON.parse(JSON.stringify(error));
    console.log("xx.requests.interceptors.response.use err:", err);
    if (err.response.status) {
        switch (error.response.status) {
            case 400:
                text = "è¯·æ±‚é”™è¯¯(400)ï¼Œè¯·é‡æ–°ç”³è¯·";
                break;
            case 401:
                text = "ç™»å½•é”™è¯¯(401)ï¼Œè¯·é‡æ–°ç™»å½•";
                return this.$router.replace("/login");
            case 403:
                text = "æ‹’ç»è®¿é—®(403)";
                break;
            case 404:
                text = "è¯·æ±‚å‡ºé”™(404)";
                break;
            case 408:
                text = "è¯·æ±‚è¶…æ—¶(408)";
                break;
            case 500:
                text = "æœåŠ¡å™¨é”™è¯¯(500)ï¼Œè¯·é‡å¯è½¯ä»¶æˆ–åˆ‡æ¢åŠŸèƒ½é¡µï¼";
                break;
            case 501:
                text = "æœåŠ¡æœªå®žçŽ°(501)";
                break;
            case 502:
                text = "ç½‘ç»œé”™è¯¯(502)";
                break;
            case 503:
                text = "æœåŠ¡ä¸å¯ç”¨(503)";
                break;
            case 504:
                text = "ç½‘ç»œè¶…æ—¶(504)";
                break;
            case 505:
                text = "HTTPç‰ˆæœ¬ä¸å—æ”¯æŒ(505)";
                break;
            default:
                text = "ç½‘ç»œè¿žæŽ¥å‡ºé”™"
        }
    }
    else {
        text = "è¿žæŽ¥æœåŠ¡å™¨å¤±è´¥,è¯·é€€å‡ºé‡è¯•!"
    }
    Message({
        showClose: true,
        message: text,
        type: "error"
    });
    return Promise.reject(error)
});
Vue.prototype.$axios = xx.requests;
avshow.init_traffic = function () {
    console.log("call init_traffic");
    var url_vars = avshow.getUrlVars();
    if (url_vars.f) {
        localStorage.setItem("f", url_vars.f);
        return f
    }
    else {
        var f = localStorage.getItem("f");
        if (!f) {
            f = document.referrer;
            localStorage.setItem("f", f);
            return f
        }
    }
};
avshow.get_from_source = Vue.prototype.get_from_source = function () {
    var f = localStorage.getItem("f");
    return f
};
if (window.Vue) {
    Vue.prototype.init_traffic = avshow.init_traffic;
    Vue.prototype.get_from_source = avshow.get_from_source
}
$g.$message = Vue.prototype.$message = Vue.prototype.$messageX = function (messagedata, params = {}) {
    var message = messagedata;
    if (typeof messagedata == "object") {
        message = messagedata.message
    }
    console.log("call $message:", message);
    var {
        color,
        textColor,
        multiLine,
        icon,
        avatar,
        position,
        theme
    } = params;
    theme = !theme ? "theme-color" : theme;
    position = !position ? "top" : position;
    color = !color ? theme : color;
    textColor = !textColor ? theme : textColor;
    const twoActions = true;
    Vue.prototype.$q.notify({
        color: color,
        textColor: textColor,
        message: message,
        position: position,
        avatar: avatar,
        multiLine: multiLine,
        timeout: 8666
    })
};
Vue.prototype.is_bot = function () {
    return navigator.userAgent.includes("bot") || navigator.userAgent.includes("spider") || navigator.userAgent.includes("Lighthouse")
};
Vue.prototype.generate_image_url = function () {
    return navigator.userAgent.includes("bot") || navigator.userAgent.includes("spider") || navigator.userAgent.includes("Lighthouse")
};
Vue.prototype.is_root_domain = function () {
    try {
        return document.domain == $g.web_conf["domain"]
    }
    catch (e) { }
    return false
};
Vue.prototype.update_lazy = function () {
    console.log("this.lazyLoadInstance:", this.lazyLoadInstance);
    this.lazyLoadInstance = new LazyLoad({
        elements_selector: ".lazy",
        threshold: 800
    })
};
var myMixin = {
    created: function () {
        this.hello()
    },
    methods: {
        hello: function () {
            console.log("hello from mixin!")
        }
    }
};
$g.USERCTOR = UserObject = {
    data() {
        return {
            userdata: undefined,
            user: undefined
        }
    },
    created: function () {
        if (!$g.user_data) {
            this.update_user()
        }
        else {
            this.userdata = $g.user_data
        }
        this.user = $g.user;
        if (window.EventBus) {
            window.EventBus.addEventListener("update_user", this.update_user)
        }
    },
    beforeDestroy: function () {
        if (window.EventBus) {
            window.EventBus.removeEventListener(this.update_user)
        }
    },
    methods: {
        on_logout: function () {
            localStorage.removeItem("user")
        },
        update_user: function () {
            try {
                var userstirng = localStorage.getItem("user");
                if (userstirng) {
                    this.userdata = JSON.parse(userstirng);
                    if (!(this.userdata.user instanceof Object)) {
                        try {
                            this.userdata.user = JSON.parse(this.userdata.user)
                        }
                        catch (e) { }
                    }
                    if (!this.userdata.user) {
                        this.userdata.user = Object.assign({}, this.userdata)
                    }
                    if (window.avshow) {
                        $g.user_data = this.userdata
                    }
                }
            }
            catch (e) {
                console.log("update_user error:", e)
            }
            this.$forceUpdate()
        }
    }
};
Vue.mixin(UserObject);
$g.UserObject = {
    data() {
        return {}
    },
    created: function () { },
    methods: {
        is_login: function () {
            return $g.user.is_login()
        }
    }
};
avshow.VideoObject = {
    data() {
        return {}
    },
    created: function () { },
    methods: {
        generate_cover_url: function (av_data) {
            var online_video = av_data["online_videos"][0];
            var hash_id = online_video["hash_id"];
            var space_name = online_video["space_name"];
            var static_host = avshow.get_static_host(space_name);
            var ih = av_data["ih"] || 1;
            var url = "https://" + static_host + "/videos/" + hash_id + "/cover/1_750?ih=" + ih;
            return avshow.generate_webp_url(url)
        }
    }
};
Vue.prototype.notify = function (message, position) {
    Toastify({
        text: message,
        duration: 6e3,
        destination: "",
        newWindow: true,
        close: true,
        gravity: "top",
        position: "right",
        backgroundColor: "linear-gradient(to right, #db2828, #de2128)",
        stopOnFocus: true,
        className: "info"
    }).showToast()
};
Vue.prototype.is_mobile = function () {
    let check = false;
    (function (a) {
        if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4)))
            check = true
    })(navigator.userAgent || navigator.vendor || window.opera);
    return check
};
Vue.prototype.is_mobile_view = function () {
    return window.innerWidth &lt;= 640
};
Vue.prototype.is_ios = function () {
    return ["iPad Simulator", "iPhone Simulator", "iPod Simulator", "iPad", "iPhone", "iPod"].includes(navigator.platform) || navigator.userAgent.includes("Mac") &amp;&amp; "ontouchend" in document
};
Vue.prototype.$hub = window.$hub;
Vue.prototype.$config = $g.config;
Vue.prototype.$webhash = $g.webhash;
Vue.prototype.get_tracker = $g.get_tracker;
Vue.prototype.loadCssCode = function (code) {
    var style = document.createElement("style");
    style.type = "text/css";
    style.rel = "stylesheet";
    style.appendChild(document.createTextNode(code));
    var head = document.getElementsByTagName("head")[0];
    head.appendChild(style)
};
if (window.axios) {
    $g.$axios = Vue.prototype.$axios = axios.create({
        timeout: 1e4,
        headers: { webhash: $g.webhash }
    })
}
Vue.component("remote-css", {
    render: function (createElement) {
        var self = this;
        return createElement("link", {
            attrs: {
                ref: "stylesheet",
                href: this.href
            },
            on: {
                load: function (event) {
                    self.$emit("load", event)
                },
                error: function (event) {
                    self.$emit("error", event)
                },
                readystatechange: function (event) {
                    if (this.readyState == "complete") {
                        self.$emit("load", event)
                    }
                }
            }
        })
    },
    props: {
        href: {
            type: String,
            required: true
        }
    }
});
Vue.component("remote-script", {
    render: function (createElement) {
        var self = this;
        return createElement("script", {
            attrs: {
                type: "text/javascript",
                src: this.src
            },
            on: {
                load: function (event) {
                    self.$emit("load", event)
                },
                error: function (event) {
                    self.$emit("error", event)
                },
                readystatechange: function (event) {
                    if (this.readyState == "complete") {
                        self.$emit("load", event)
                    }
                }
            }
        })
    },
    props: {
        src: {
            type: String,
            required: true
        }
    }
});
window.$m = window._set_mount = function (id, M) {
    console.log("$m:", id, M);
    if (!window.Quasar) {
        return setTimeout(() =&gt; {
            $m(id, M)
        }, 200)
    }
    var Ctor = Vue.extend(M);
    var mount_id = id;
    if (mount_id[0] == "." || mount_id[0] == "#") { }
    else {
        mount_id = "#" + mount_id
    }
    return (new Ctor).$mount(mount_id)
};
window.set_mount = _set_mount;
!function (t, e) {
    "object" == typeof exports &amp;&amp; "undefined" != typeof module ? module.exports = e(require("vue")) : "function" == typeof define &amp;&amp; define.amd ? define(["vue"], e) : (t = t || self).Quasar = e(t.Vue)
}(this, function (t) {
    "use strict";
    t = t &amp;&amp; Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
    var e,
        i = "undefined" == typeof window,
        s = !1,
        n = i,
        o = !1;
    var r = !1 === i &amp;&amp; ("ontouchstart" in window || window.navigator.maxTouchPoints &gt; 0);
    function a(t) {
        var o = t.toLowerCase(),
            a = function (t, e) {
                var i = /(edge|edga|edgios)\/([\w.]+)/.exec(t) || /(opr)[\/]([\w.]+)/.exec(t) || /(vivaldi)[\/]([\w.]+)/.exec(t) || /(chrome|crios)[\/]([\w.]+)/.exec(t) || /(iemobile)[\/]([\w.]+)/.exec(t) || /(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(t) || /(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(t) || /(firefox|fxios)[\/]([\w.]+)/.exec(t) || /(webkit)[\/]([\w.]+)/.exec(t) || /(opera)(?:.*version|)[\/]([\w.]+)/.exec(t) || /(msie) ([\w.]+)/.exec(t) || t.indexOf("trident") &gt;= 0 &amp;&amp; /(rv)(?::| )([\w.]+)/.exec(t) || t.indexOf("compatible") &lt; 0 &amp;&amp; /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(t) || [];
                return {
                    browser: i[5] || i[3] || i[1] || "",
                    version: i[2] || i[4] || "0",
                    versionNumber: i[4] || i[2] || "0",
                    platform: e[0] || ""
                }
            }(o, function (t) {
                return /(ipad)/.exec(t) || /(ipod)/.exec(t) || /(windows phone)/.exec(t) || /(iphone)/.exec(t) || /(kindle)/.exec(t) || /(silk)/.exec(t) || /(android)/.exec(t) || /(win)/.exec(t) || /(mac)/.exec(t) || /(linux)/.exec(t) || /(cros)/.exec(t) || /(playbook)/.exec(t) || /(bb)/.exec(t) || /(blackberry)/.exec(t) || []
            }(o)),
            l = {};
        a.browser &amp;&amp; (l[a.browser] = !0, l.version = a.version, l.versionNumber = parseInt(a.versionNumber, 10)),
            a.platform &amp;&amp; (l[a.platform] = !0);
        var c = l.android || l.ios || l.bb || l.blackberry || l.ipad || l.iphone || l.ipod || l.kindle || l.playbook || l.silk || l["windows phone"];
        return !0 === c || o.indexOf("mobile") &gt; -1 ? (l.mobile = !0, l.edga || l.edgios ? (l.edge = !0, a.browser = "edge") : l.crios ? (l.chrome = !0, a.browser = "chrome") : l.fxios &amp;&amp; (l.firefox = !0, a.browser = "firefox")) : l.desktop = !0, (l.ipod || l.ipad || l.iphone) &amp;&amp; (l.ios = !0), l["windows phone"] &amp;&amp; (l.winphone = !0, delete l["windows phone"]), (l.chrome || l.opr || l.safari || l.vivaldi || !0 === l.mobile &amp;&amp; !0 !== l.ios &amp;&amp; !0 !== c) &amp;&amp; (l.webkit = !0), (l.rv || l.iemobile) &amp;&amp; (a.browser = "ie", l.ie = !0), (l.safari &amp;&amp; l.blackberry || l.bb) &amp;&amp; (a.browser = "blackberry", l.blackberry = !0), l.safari &amp;&amp; l.playbook &amp;&amp; (a.browser = "playbook", l.playbook = !0), l.opr &amp;&amp; (a.browser = "opera", l.opera = !0), l.safari &amp;&amp; l.android &amp;&amp; (a.browser = "android", l.android = !0), l.safari &amp;&amp; l.kindle &amp;&amp; (a.browser = "kindle", l.kindle = !0), l.safari &amp;&amp; l.silk &amp;&amp; (a.browser = "silk", l.silk = !0), l.vivaldi &amp;&amp; (a.browser = "vivaldi", l.vivaldi = !0), l.name = a.browser, l.platform = a.platform, !1 === i &amp;&amp; (o.indexOf("electron") &gt; -1 ? l.electron = !0 : document.location.href.indexOf("-extension://") &gt; -1 ? l.bex = !0 : (void 0 !== window.Capacitor ? (l.capacitor = !0, l.nativeMobile = !0, l.nativeMobileWrapper = "capacitor") : void 0 === window._cordovaNative &amp;&amp; void 0 === window.cordova || (l.cordova = !0, l.nativeMobile = !0, l.nativeMobileWrapper = "cordova"), !0 === r &amp;&amp; !0 === l.mac &amp;&amp; (!0 === l.desktop &amp;&amp; !0 === l.safari || !0 === l.nativeMobile &amp;&amp; !0 !== l.android &amp;&amp; !0 !== l.ios &amp;&amp; !0 !== l.ipad) &amp;&amp; function (t) {
            var i;
            e = { is: Object.assign({}, t) },
                delete t.mac,
                delete t.desktop;
            var s = Math.min(window.innerHeight, window.innerWidth) &gt; 414 ? "ipad" : "iphone";
            Object.assign(t, ((i = {
                mobile: !0,
                ios: !0,
                platform: s
            })[s] = !0, i))
        }(l)), !0 === (s = void 0 === l.nativeMobile &amp;&amp; void 0 === l.electron &amp;&amp; null !== document.querySelector("[data-server-rendered]")) &amp;&amp; (n = !0)), l
    }
    var l = !0 !== i ? navigator.userAgent || navigator.vendor || window.opera : "",
        c = {
            has: {
                touch: !1,
                webStorage: !1
            },
            within: { iframe: !1 }
        },
        u = !1 === i ? {
            userAgent: l,
            is: a(l),
            has: {
                touch: r,
                webStorage: function () {
                    try {
                        if (window.localStorage)
                            return !0
                    }
                    catch (t) { }
                    return !1
                }()
            },
            within: { iframe: window.self !== window.top }
        } : c,
        h = {
            install: function (o, r) {
                var a = this;
                !0 === i ? r.server.push(function (t, e) {
                    t.platform = a.parseSSR(e.ssr)
                }) : !0 === s ? (Object.assign(this, u, e, c), r.takeover.push(function (t) {
                    n = s = !1,
                        Object.assign(t.platform, u),
                        e = void 0
                }), t.util.defineReactive(o, "platform", this)) : (Object.assign(this, u), o.platform = this)
            }
        };
    !0 === i ? h.parseSSR = function (t) {
        var e = t.req.headers["user-agent"] || t.req.headers["User-Agent"] || "";
        return Object.assign({}, u, {
            userAgent: e,
            is: a(e)
        })
    } : o = !0 === u.is.ios &amp;&amp; -1 === window.navigator.vendor.toLowerCase().indexOf("apple");
    var d = {
        hasPassive: !1,
        passiveCapture: !0,
        notPassiveCapture: !0
    };
    try {
        var p = Object.defineProperty({}, "passive", {
            get: function () {
                Object.assign(d, {
                    hasPassive: !0,
                    passive: { passive: !0 },
                    notPassive: { passive: !1 },
                    passiveCapture: {
                        passive: !0,
                        capture: !0
                    },
                    notPassiveCapture: {
                        passive: !1,
                        capture: !0
                    }
                })
            }
        });
        window.addEventListener("qtest", null, p),
            window.removeEventListener("qtest", null, p)
    }
    catch (t) { }
    function f() { }
    function m(t) {
        return 0 === t.button
    }
    function v(t) {
        return t.touches &amp;&amp; t.touches[0] ? t = t.touches[0] : t.changedTouches &amp;&amp; t.changedTouches[0] ? t = t.changedTouches[0] : t.targetTouches &amp;&amp; t.targetTouches[0] &amp;&amp; (t = t.targetTouches[0]), {
            top: t.clientY,
            left: t.clientX
        }
    }
    function g(t) {
        if (t.path)
            return t.path;
        if (t.composedPath)
            return t.composedPath();
        for (var e = [], i = t.target; i;) {
            if (e.push(i), "HTML" === i.tagName)
                return e.push(document), e.push(window), e;
            i = i.parentElement
        }
    }
    var _ = 40,
        b = 800;
    function y(t) {
        t.stopPropagation()
    }
    function w(t) {
        !1 !== t.cancelable &amp;&amp; t.preventDefault()
    }
    function S(t) {
        !1 !== t.cancelable &amp;&amp; t.preventDefault(),
            t.stopPropagation()
    }
    function x(t, e) {
        if (void 0 !== t &amp;&amp; (!0 !== e || !0 !== t.__dragPrevented)) {
            var i = !0 === e ? function (t) {
                t.__dragPrevented = !0,
                    t.addEventListener("dragstart", w, d.notPassiveCapture)
            } : function (t) {
                delete t.__dragPrevented,
                    t.removeEventListener("dragstart", w, d.notPassiveCapture)
            };
            t.querySelectorAll("a, img").forEach(i)
        }
    }
    function C(t, e) {
        void 0 === e &amp;&amp; (e = {});
        var i = e.bubbles;
        void 0 === i &amp;&amp; (i = !1);
        var s = e.cancelable;
        void 0 === s &amp;&amp; (s = !1);
        try {
            return new Event(t, {
                bubbles: i,
                cancelable: s
            })
        }
        catch (e) {
            var n = document.createEvent("Event");
            return n.initEvent(t, i, s), n
        }
    }
    function k(t, e, i) {
        var s = "__q_" + e + "_evt";
        t[s] = void 0 !== t[s] ? t[s].concat(i) : i,
            i.forEach(function (e) {
                e[0].addEventListener(e[1], t[e[2]], d[e[3]])
            })
    }
    function q(t, e) {
        var i = "__q_" + e + "_evt";
        void 0 !== t[i] &amp;&amp; (t[i].forEach(function (e) {
            e[0].removeEventListener(e[1], t[e[2]], d[e[3]])
        }), t[i] = void 0)
    }
    var T = {
        listenOpts: d,
        leftClick: m,
        middleClick: function (t) {
            return 1 === t.button
        },
        rightClick: function (t) {
            return 2 === t.button
        },
        position: v,
        getEventPath: g,
        getMouseWheelDistance: function (t) {
            var e,
                i = t.deltaX,
                s = t.deltaY;
            if ((i || s) &amp;&amp; t.deltaMode) {
                var n = 1 === t.deltaMode ? _ : b;
                i *= n,
                    s *= n
            }
            return t.shiftKey &amp;&amp; !i &amp;&amp; (s = (e = [
                i,
                s
            ])[0], i = e[1]), {
                x: i,
                y: s
            }
        },
        stop: y,
        prevent: w,
        stopAndPrevent: S,
        preventDraggable: x,
        create: C
    };
    function $(t, e, i) {
        var s;
        function n() {
            var n = this,
                o = arguments;
            clearTimeout(s),
                !0 === i &amp;&amp; void 0 === s &amp;&amp; t.apply(this, o),
                s = setTimeout(function () {
                    s = void 0,
                        !0 !== i &amp;&amp; t.apply(n, o)
                }, e)
        }
        return void 0 === e &amp;&amp; (e = 250), n.cancel = function () {
            clearTimeout(s)
        }, n
    }
    var M = ["sm", "md", "lg", "xl"],
        L = d.passive,
        B = {
            width: 0,
            height: 0,
            name: "xs",
            sizes: {
                sm: 600,
                md: 1024,
                lg: 1440,
                xl: 1920
            },
            lt: {
                sm: !0,
                md: !0,
                lg: !0,
                xl: !0
            },
            gt: {
                xs: !1,
                sm: !1,
                md: !1,
                lg: !1
            },
            xs: !0,
            sm: !1,
            md: !1,
            lg: !1,
            xl: !1,
            setSizes: f,
            setDebounce: f,
            install: function (e, n, o) {
                var r = this;
                if (!0 !== i) {
                    var a,
                        l = void 0 !== o.screen &amp;&amp; !0 === o.screen.bodyClasses,
                        c = function (t) {
                            var e = window.innerWidth,
                                i = window.innerHeight;
                            if (i !== r.height &amp;&amp; (r.height = i), e !== r.width)
                                r.width = e;
                            else if (!0 !== t)
                                return;
                            var s = r.sizes;
                            r.gt.xs = e &gt;= s.sm,
                                r.gt.sm = e &gt;= s.md,
                                r.gt.md = e &gt;= s.lg,
                                r.gt.lg = e &gt;= s.xl,
                                r.lt.sm = e &lt; s.sm,
                                r.lt.md = e &lt; s.md,
                                r.lt.lg = e &lt; s.lg,
                                r.lt.xl = e &lt; s.xl,
                                r.xs = r.lt.sm,
                                r.sm = !0 === r.gt.xs &amp;&amp; !0 === r.lt.md,
                                r.md = !0 === r.gt.sm &amp;&amp; !0 === r.lt.lg,
                                r.lg = !0 === r.gt.md &amp;&amp; !0 === r.lt.xl,
                                r.xl = r.gt.lg,
                                (s = (!0 === r.xs ? "xs" : !0 === r.sm &amp;&amp; "sm") || !0 === r.md &amp;&amp; "md" || !0 === r.lg &amp;&amp; "lg" || "xl") !== r.name &amp;&amp; (!0 === l &amp;&amp; (document.body.classList.remove("screen--" + r.name), document.body.classList.add("screen--" + s)), r.name = s)
                        },
                        u = {},
                        h = 16;
                    this.setSizes = function (t) {
                        M.forEach(function (e) {
                            void 0 !== t[e] &amp;&amp; (u[e] = t[e])
                        })
                    },
                        this.setDebounce = function (t) {
                            h = t
                        };
                    var d = function () {
                        var t = getComputedStyle(document.body),
                            e = void 0 !== window.visualViewport ? window.visualViewport : window;
                        t.getPropertyValue("--q-size-sm") &amp;&amp; M.forEach(function (e) {
                            r.sizes[e] = parseInt(t.getPropertyValue("--q-size-" + e), 10)
                        }),
                            r.setSizes = function (t) {
                                M.forEach(function (e) {
                                    t[e] &amp;&amp; (r.sizes[e] = t[e])
                                }),
                                    c(!0)
                            },
                            r.setDebounce = function (t) {
                                void 0 !== a &amp;&amp; e.removeEventListener("resize", a, L),
                                    a = t &gt; 0 ? $(c, t) : c,
                                    e.addEventListener("resize", a, L)
                            },
                            r.setDebounce(h),
                            Object.keys(u).length &gt; 0 ? (r.setSizes(u), u = void 0) : c(),
                            !0 === l &amp;&amp; "xs" === r.name &amp;&amp; document.body.classList.add("screen--xs")
                    };
                    !0 === s ? n.takeover.push(d) : d(),
                        t.util.defineReactive(e, "screen", this)
                }
                else
                    e.screen = this
            }
        },
        P = {
            isActive: !1,
            mode: !1,
            install: function (e, n, o) {
                var r = this,
                    a = o.dark;
                if (this.isActive = !0 === a, !0 === i)
                    return n.server.push(function (t, e) {
                        t.dark = {
                            isActive: !1,
                            mode: !1,
                            set: function (i) {
                                e.ssr.Q_BODY_CLASSES = e.ssr.Q_BODY_CLASSES.replace(" body--light", "").replace(" body--dark", "") + " body--" + (!0 === i ? "dark" : "light"),
                                    t.dark.isActive = !0 === i,
                                    t.dark.mode = i
                            },
                            toggle: function () {
                                t.dark.set(!1 === t.dark.isActive)
                            }
                        },
                            t.dark.set(a)
                    }), void (this.set = f);
                var l = void 0 !== a &amp;&amp; a;
                if (!0 === s) {
                    var c = function (t) {
                        r.__fromSSR = t
                    },
                        u = this.set;
                    this.set = c,
                        c(l),
                        n.takeover.push(function () {
                            r.set = u,
                                r.set(r.__fromSSR)
                        })
                }
                else
                    this.set(l);
                t.util.defineReactive(this, "isActive", this.isActive),
                    t.util.defineReactive(e, "dark", this)
            },
            set: function (t) {
                var e = this;
                this.mode = t,
                    "auto" === t ? (void 0 === this.__media &amp;&amp; (this.__media = window.matchMedia("(prefers-color-scheme: dark)"), this.__updateMedia = function () {
                        e.set("auto")
                    }, this.__media.addListener(this.__updateMedia)), t = this.__media.matches) : void 0 !== this.__media &amp;&amp; (this.__media.removeListener(this.__updateMedia), this.__media = void 0),
                    this.isActive = !0 === t,
                    document.body.classList.remove("body--" + (!0 === t ? "light" : "dark")),
                    document.body.classList.add("body--" + (!0 === t ? "dark" : "light"))
            },
            toggle: function () {
                P.set(!1 === P.isActive)
            },
            __media: void 0
        },
        O = function () {
            return !0
        };
    function E(t) {
        return "string" == typeof t &amp;&amp; "" !== t &amp;&amp; "/" !== t &amp;&amp; "#/" !== t
    }
    function z(t) {
        return !0 === t.startsWith("#") &amp;&amp; (t = t.substr(1)), !1 === t.startsWith("/") &amp;&amp; (t = "/" + t), !0 === t.endsWith("/") &amp;&amp; (t = t.substr(0, t.length - 1)), "#" + t
    }
    var A = {
        __history: [],
        add: f,
        remove: f,
        install: function (t) {
            var e = this;
            if (!0 !== i) {
                var s = u.is,
                    n = s.cordova,
                    o = s.capacitor;
                if (!0 === n || !0 === o) {
                    this.add = function (t) {
                        void 0 === t.condition &amp;&amp; (t.condition = O),
                            e.__history.push(t)
                    },
                        this.remove = function (t) {
                            var i = e.__history.indexOf(t);
                            i &gt;= 0 &amp;&amp; e.__history.splice(i, 1)
                        };
                    var r = function (t) {
                        if (!1 === t.backButtonExit)
                            return function () {
                                return !1
                            };
                        if ("*" === t.backButtonExit)
                            return O;
                        var e = ["#/"];
                        return !0 === Array.isArray(t.backButtonExit) &amp;&amp; e.push.apply(e, t.backButtonExit.filter(E).map(z)), function () {
                            return e.includes(window.location.hash)
                        }
                    }(Object.assign({ backButtonExit: !0 }, t[!0 === n ? "cordova" : "capacitor"])),
                        a = function () {
                            if (e.__history.length) {
                                var t = e.__history[e.__history.length - 1];
                                !0 === t.condition() &amp;&amp; (e.__history.pop(), t.handler())
                            }
                            else
                                !0 === r() ? navigator.app.exitApp() : window.history.back()
                        };
                    !0 === n ? document.addEventListener("deviceready", function () {
                        document.addEventListener("backbutton", a, !1)
                    }) : window.Capacitor.Plugins.App.addListener("backButton", a)
                }
            }
        }
    },
        D = {
            isoName: "en-us",
            nativeName: "English (US)",
            label: {
                clear: "Clear",
                ok: "OK",
                cancel: "Cancel",
                close: "Close",
                set: "Set",
                select: "Select",
                reset: "Reset",
                remove: "Remove",
                update: "Update",
                create: "Create",
                search: "Search",
                filter: "Filter",
                refresh: "Refresh"
            },
            date: {
                days: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
                daysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
                months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
                monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
                firstDayOfWeek: 0,
                format24h: !1
            },
            table: {
                noData: "No data available",
                noResults: "No matching records found",
                loading: "Loading...",
                selectedRecords: function (t) {
                    return 1 === t ? "1 record selected." : (0 === t ? "No" : t) + " records selected."
                },
                recordsPerPage: "Records per page:",
                allRows: "All",
                pagination: function (t, e, i) {
                    return t + "-" + e + " of " + i
                },
                columns: "Columns"
            },
            editor: {
                url: "URL",
                bold: "Bold",
                italic: "Italic",
                strikethrough: "Strikethrough",
                underline: "Underline",
                unorderedList: "Unordered List",
                orderedList: "Ordered List",
                subscript: "Subscript",
                superscript: "Superscript",
                hyperlink: "Hyperlink",
                toggleFullscreen: "Toggle Fullscreen",
                quote: "Quote",
                left: "Left align",
                center: "Center align",
                right: "Right align",
                justify: "Justify align",
                print: "Print",
                outdent: "Decrease indentation",
                indent: "Increase indentation",
                removeFormat: "Remove formatting",
                formatting: "Formatting",
                fontSize: "Font Size",
                align: "Align",
                hr: "Insert Horizontal Rule",
                undo: "Undo",
                redo: "Redo",
                heading1: "Heading 1",
                heading2: "Heading 2",
                heading3: "Heading 3",
                heading4: "Heading 4",
                heading5: "Heading 5",
                heading6: "Heading 6",
                paragraph: "Paragraph",
                code: "Code",
                size1: "Very small",
                size2: "A bit small",
                size3: "Normal",
                size4: "Medium-large",
                size5: "Big",
                size6: "Very big",
                size7: "Maximum",
                defaultFont: "Default Font",
                viewSource: "View Source"
            },
            tree: {
                noNodes: "No nodes available",
                noResults: "No matching nodes found"
            }
        };
    function R() {
        if (!0 !== i) {
            var t = navigator.language || navigator.languages[0] || navigator.browserLanguage || navigator.userLanguage || navigator.systemLanguage;
            return t ? t.toLowerCase() : void 0
        }
    }
    var I = {
        getLocale: R,
        install: function (e, n, o) {
            var r = this,
                a = o || D;
            this.set = function (t, n) {
                void 0 === t &amp;&amp; (t = D);
                var o = Object.assign({}, t, {
                    rtl: !0 === t.rtl,
                    getLocale: R
                });
                if (!0 === i) {
                    if (void 0 === n)
                        return void console.error("SSR ERROR: second param required: Quasar.lang.set(lang, ssrContext)");
                    var a = !0 === o.rtl ? "rtl" : "ltr",
                        l = "lang=" + o.isoName + " dir=" + a;
                    o.set = n.$q.lang.set,
                        n.Q_HTML_ATTRS = void 0 !== n.Q_PREV_LANG ? n.Q_HTML_ATTRS.replace(n.Q_PREV_LANG, l) : l,
                        n.Q_PREV_LANG = l,
                        n.$q.lang = o
                }
                else {
                    if (!1 === s) {
                        var c = document.documentElement;
                        c.setAttribute("dir", !0 === o.rtl ? "rtl" : "ltr"),
                            c.setAttribute("lang", o.isoName)
                    }
                    o.set = r.set,
                        e.lang = r.props = o,
                        r.isoName = o.isoName,
                        r.nativeName = o.nativeName
                }
            },
                !0 === i ? (n.server.push(function (t, e) {
                    t.lang = {},
                        t.lang.set = function (t) {
                            r.set(t, e.ssr)
                        },
                        t.lang.set(a)
                }), this.isoName = a.isoName, this.nativeName = a.nativeName, this.props = a) : (t.util.defineReactive(e, "lang", {}), this.set(a))
        }
    },
        F = /^rgb(a)?\((\d{1,3}),(\d{1,3}),(\d{1,3}),?([01]?\.?\d*?)?\)$/;
    function j(t) {
        var e = t.r,
            i = t.g,
            s = t.b,
            n = t.a,
            o = void 0 !== n;
        if (e = Math.round(e), i = Math.round(i), s = Math.round(s), e &gt; 255 || i &gt; 255 || s &gt; 255 || o &amp;&amp; n &gt; 100)
            throw new TypeError("Expected 3 numbers below 256 (and optionally one below 100)");
        return n = o ? (256 | Math.round(255 * n / 100)).toString(16).slice(1) : "", "#" + (s | i &lt;&lt; 8 | e &lt;&lt; 16 | 1 &lt;&lt; 24).toString(16).slice(1) + n
    }
    function V(t) {
        var e = t.r,
            i = t.g,
            s = t.b,
            n = t.a;
        return "rgb" + (void 0 !== n ? "a" : "") + "(" + e + "," + i + "," + s + (void 0 !== n ? "," + n / 100 : "") + ")"
    }
    function N(t) {
        if ("string" != typeof t)
            throw new TypeError("Expected a string");
        3 === (t = t.replace(/^#/, "")).length ? t = t[0] + t[0] + t[1] + t[1] + t[2] + t[2] : 4 === t.length &amp;&amp; (t = t[0] + t[0] + t[1] + t[1] + t[2] + t[2] + t[3] + t[3]);
        var e = parseInt(t, 16);
        return t.length &gt; 6 ? {
            r: e &gt;&gt; 24 &amp; 255,
            g: e &gt;&gt; 16 &amp; 255,
            b: e &gt;&gt; 8 &amp; 255,
            a: Math.round((255 &amp; e) / 2.55)
        } : {
            r: e &gt;&gt; 16,
            g: e &gt;&gt; 8 &amp; 255,
            b: 255 &amp; e
        }
    }
    function H(t) {
        var e,
            i,
            s,
            n = t.h,
            o = t.s,
            r = t.v,
            a = t.a;
        o /= 100,
            r /= 100,
            n /= 360;
        var l = Math.floor(6 * n),
            c = 6 * n - l,
            u = r * (1 - o),
            h = r * (1 - c * o),
            d = r * (1 - (1 - c) * o);
        switch (l % 6) {
            case 0:
                e = r,
                    i = d,
                    s = u;
                break;
            case 1:
                e = h,
                    i = r,
                    s = u;
                break;
            case 2:
                e = u,
                    i = r,
                    s = d;
                break;
            case 3:
                e = u,
                    i = h,
                    s = r;
                break;
            case 4:
                e = d,
                    i = u,
                    s = r;
                break;
            case 5:
                e = r,
                    i = u,
                    s = h
        }
        return {
            r: Math.round(255 * e),
            g: Math.round(255 * i),
            b: Math.round(255 * s),
            a: a
        }
    }
    function Q(t) {
        var e,
            i = t.r,
            s = t.g,
            n = t.b,
            o = t.a,
            r = Math.max(i, s, n),
            a = Math.min(i, s, n),
            l = r - a,
            c = 0 === r ? 0 : l / r,
            u = r / 255;
        switch (r) {
            case a:
                e = 0;
                break;
            case i:
                e = s - n + l * (s &lt; n ? 6 : 0),
                    e /= 6 * l;
                break;
            case s:
                e = n - i + 2 * l,
                    e /= 6 * l;
                break;
            case n:
                e = i - s + 4 * l,
                    e /= 6 * l
        }
        return {
            h: Math.round(360 * e),
            s: Math.round(100 * c),
            v: Math.round(100 * u),
            a: o
        }
    }
    function W(t) {
        if ("string" != typeof t)
            throw new TypeError("Expected a string");
        var e = t.replace(/ /g, ""),
            i = F.exec(e);
        if (null === i)
            return N(e);
        var s = {
            r: Math.min(255, parseInt(i[2], 10)),
            g: Math.min(255, parseInt(i[3], 10)),
            b: Math.min(255, parseInt(i[4], 10))
        };
        if (i[1]) {
            var n = parseFloat(i[5]);
            s.a = 100 * Math.min(1, !0 === isNaN(n) ? 1 : n)
        }
        return s
    }
    function Y(t) {
        if ("string" != typeof t &amp;&amp; (!t || void 0 === t.r))
            throw new TypeError("Expected a string or a {r, g, b} object as color");
        var e = "string" == typeof t ? W(t) : t,
            i = e.r / 255,
            s = e.g / 255,
            n = e.b / 255;
        return .2126 * (i &lt;= .03928 ? i / 12.92 : Math.pow((i + .055) / 1.055, 2.4)) + .7152 * (s &lt;= .03928 ? s / 12.92 : Math.pow((s + .055) / 1.055, 2.4)) + .0722 * (n &lt;= .03928 ? n / 12.92 : Math.pow((n + .055) / 1.055, 2.4))
    }
    function U(t, e, i) {
        if (void 0 === i &amp;&amp; (i = document.body), "string" != typeof t)
            throw new TypeError("Expected a string as color");
        if ("string" != typeof e)
            throw new TypeError("Expected a string as value");
        if (!(i instanceof Element))
            throw new TypeError("Expected a DOM element");
        i.style.setProperty("--q-color-" + t, e)
    }
    function K(t, e) {
        if (void 0 === e &amp;&amp; (e = document.body), "string" != typeof t)
            throw new TypeError("Expected a string as color");
        if (!(e instanceof Element))
            throw new TypeError("Expected a DOM element");
        return getComputedStyle(e).getPropertyValue("--q-color-" + t).trim() || null
    }
    var X = {
        rgbToHex: j,
        hexToRgb: N,
        hsvToRgb: H,
        rgbToHsv: Q,
        textToRgb: W,
        lighten: function (t, e) {
            if ("string" != typeof t)
                throw new TypeError("Expected a string as color");
            if ("number" != typeof e)
                throw new TypeError("Expected a numeric percent");
            var i = W(t),
                s = e &lt; 0 ? 0 : 255,
                n = Math.abs(e) / 100,
                o = i.r,
                r = i.g,
                a = i.b;
            return "#" + (16777216 + 65536 * (Math.round((s - o) * n) + o) + 256 * (Math.round((s - r) * n) + r) + (Math.round((s - a) * n) + a)).toString(16).slice(1)
        },
        luminosity: Y,
        brightness: function (t) {
            if ("string" != typeof t &amp;&amp; (!t || void 0 === t.r))
                throw new TypeError("Expected a string or a {r, g, b} object as color");
            var e = "string" == typeof t ? W(t) : t;
            return (299 * e.r + 587 * e.g + 114 * e.b) / 1e3
        },
        blend: function (t, e) {
            if ("string" != typeof t &amp;&amp; (!t || void 0 === t.r))
                throw new TypeError("Expected a string or a {r, g, b[, a]} object as fgColor");
            if ("string" != typeof e &amp;&amp; (!e || void 0 === e.r))
                throw new TypeError("Expected a string or a {r, g, b[, a]} object as bgColor");
            var i = "string" == typeof t ? W(t) : t,
                s = i.r / 255,
                n = i.g / 255,
                o = i.b / 255,
                r = void 0 !== i.a ? i.a / 100 : 1,
                a = "string" == typeof e ? W(e) : e,
                l = a.r / 255,
                c = a.g / 255,
                u = a.b / 255,
                h = void 0 !== a.a ? a.a / 100 : 1,
                d = r + h * (1 - r),
                p = {
                    r: Math.round((s * r + l * h * (1 - r)) / d * 255),
                    g: Math.round((n * r + c * h * (1 - r)) / d * 255),
                    b: Math.round((o * r + u * h * (1 - r)) / d * 255),
                    a: Math.round(100 * d)
                };
            return "string" == typeof t ? j(p) : p
        },
        changeAlpha: function (t, e) {
            if ("string" != typeof t)
                throw new TypeError("Expected a string as color");
            if (void 0 === e || e &lt; -1 || e &gt; 1)
                throw new TypeError("Expected offset to be between -1 and 1");
            var i = W(t),
                s = i.r,
                n = i.g,
                o = i.b,
                r = i.a,
                a = void 0 !== r ? r / 100 : 0;
            return j({
                r: s,
                g: n,
                b: o,
                a: Math.round(100 * Math.min(1, Math.max(0, a + e)))
            })
        },
        setBrand: U,
        getBrand: K,
        getPaletteColor: function (t) {
            if ("string" != typeof t)
                throw new TypeError("Expected a string as color");
            var e = document.createElement("div");
            e.className = "text-" + t + " invisible fixed no-pointer-events",
                document.body.appendChild(e);
            var i = getComputedStyle(e).getPropertyValue("color");
            return e.remove(), j(W(i))
        }
    },
        G = !1;
    function Z(t) {
        G = !0 === t.isComposing
    }
    function J(t) {
        return !0 === G || t !== Object(t) || !0 === t.isComposing || !0 === t.qKeyEvent
    }
    function tt(t, e) {
        return !0 !== J(t) &amp;&amp; [].concat(e).includes(t.keyCode)
    }
    function et(t, e) {
        var i = t.is,
            s = t.has,
            n = t.within,
            o = [
                !0 === i.desktop ? "desktop" : "mobile",
                (!1 === s.touch ? "no-" : "") + "touch"
            ];
        if (!0 === i.mobile) {
            var r = function (t) {
                return !0 === t.ios ? "ios" : !0 === t.android ? "android" : void 0
            }(i);
            void 0 !== r &amp;&amp; o.push("platform-" + r)
        }
        if (!0 === i.nativeMobile) {
            var a = i.nativeMobileWrapper;
            o.push(a),
                o.push("native-mobile"),
                !0 !== i.ios || void 0 !== e[a] &amp;&amp; !1 === e[a].iosStatusBarPadding || o.push("q-ios-padding")
        }
        else
            !0 === i.electron ? o.push("electron") : !0 === i.bex &amp;&amp; o.push("bex");
        return !0 === n.iframe &amp;&amp; o.push("within-iframe"), o
    }
    var it = {
        install: function (t, n) {
            if (!0 !== i) {
                if (!0 === s)
                    r = document.body.className,
                        a = r,
                        void 0 !== e &amp;&amp; (a = a.replace("desktop", "platform-ios mobile")),
                        !0 === u.has.touch &amp;&amp; (a = a.replace("no-touch", "touch")),
                        !0 === u.within.iframe &amp;&amp; (a += " within-iframe"),
                        r !== a &amp;&amp; (document.body.className = a);
                else {
                    var o = et(u, n);
                    !0 === u.is.ie &amp;&amp; 11 === u.is.versionNumber ? o.forEach(function (t) {
                        return document.body.classList.add(t)
                    }) : document.body.classList.add.apply(document.body.classList, o)
                }
                var r,
                    a;
                void 0 !== n.brand &amp;&amp; function (t) {
                    for (var e in t)
                        U(e, t[e])
                }(n.brand),
                    !0 === u.is.ios &amp;&amp; document.body.addEventListener("touchstart", f),
                    window.addEventListener("keydown", Z, !0)
            }
            else
                t.server.push(function (t, e) {
                    var i = et(t.platform, n),
                        s = e.ssr.setBodyClasses;
                    void 0 !== n.screen &amp;&amp; !0 === n.screen.bodyClass &amp;&amp; i.push("screen--xs"),
                        "function" == typeof s ? s(i) : e.ssr.Q_BODY_CLASSES = i.join(" ")
                })
        }
    },
        st = {
            name: "material-icons",
            type: {
                positive: "check_circle",
                negative: "warning",
                info: "info",
                warning: "priority_high"
            },
            arrow: {
                up: "arrow_upward",
                right: "arrow_forward",
                down: "arrow_downward",
                left: "arrow_back",
                dropdown: "arrow_drop_down"
            },
            chevron: {
                left: "chevron_left",
                right: "chevron_right"
            },
            colorPicker: {
                spectrum: "gradient",
                tune: "tune",
                palette: "style"
            },
            pullToRefresh: { icon: "refresh" },
            carousel: {
                left: "chevron_left",
                right: "chevron_right",
                up: "keyboard_arrow_up",
                down: "keyboard_arrow_down",
                navigationIcon: "lens"
            },
            chip: {
                remove: "cancel",
                selected: "check"
            },
            datetime: {
                arrowLeft: "chevron_left",
                arrowRight: "chevron_right",
                now: "access_time",
                today: "today"
            },
            editor: {
                bold: "format_bold",
                italic: "format_italic",
                strikethrough: "strikethrough_s",
                underline: "format_underlined",
                unorderedList: "format_list_bulleted",
                orderedList: "format_list_numbered",
                subscript: "vertical_align_bottom",
                superscript: "vertical_align_top",
                hyperlink: "link",
                toggleFullscreen: "fullscreen",
                quote: "format_quote",
                left: "format_align_left",
                center: "format_align_center",
                right: "format_align_right",
                justify: "format_align_justify",
                print: "print",
                outdent: "format_indent_decrease",
                indent: "format_indent_increase",
                removeFormat: "format_clear",
                formatting: "text_format",
                fontSize: "format_size",
                align: "format_align_left",
                hr: "remove",
                undo: "undo",
                redo: "redo",
                heading: "format_size",
                code: "code",
                size: "format_size",
                font: "font_download",
                viewSource: "code"
            },
            expansionItem: {
                icon: "keyboard_arrow_down",
                denseIcon: "arrow_drop_down"
            },
            fab: {
                icon: "add",
                activeIcon: "close"
            },
            field: {
                clear: "cancel",
                error: "error"
            },
            pagination: {
                first: "first_page",
                prev: "keyboard_arrow_left",
                next: "keyboard_arrow_right",
                last: "last_page"
            },
            rating: { icon: "grade" },
            stepper: {
                done: "check",
                active: "edit",
                error: "warning"
            },
            tabs: {
                left: "chevron_left",
                right: "chevron_right",
                up: "keyboard_arrow_up",
                down: "keyboard_arrow_down"
            },
            table: {
                arrowUp: "arrow_upward",
                warning: "warning",
                firstPage: "first_page",
                prevPage: "chevron_left",
                nextPage: "chevron_right",
                lastPage: "last_page"
            },
            tree: { icon: "play_arrow" },
            uploader: {
                done: "done",
                clear: "clear",
                add: "add_box",
                upload: "cloud_upload",
                removeQueue: "clear_all",
                removeUploaded: "done_all"
            }
        },
        nt = {
            install: function (e, s, n) {
                var o = this,
                    r = n || st;
                this.set = function (t, s) {
                    var n = Object.assign({}, t);
                    if (!0 === i) {
                        if (void 0 === s)
                            return void console.error("SSR ERROR: second param required: Quasar.iconSet.set(iconSet, ssrContext)");
                        n.set = s.$q.iconSet.set,
                            s.$q.iconSet = n
                    }
                    else
                        n.set = o.set,
                            e.iconSet = n
                },
                    !0 === i ? s.server.push(function (t, e) {
                        t.iconSet = {},
                            t.iconSet.set = function (t) {
                                o.set(t, e.ssr)
                            },
                            t.iconSet.set(r)
                    }) : (t.util.defineReactive(e, "iconMapFn", void 0), t.util.defineReactive(e, "iconSet", {}), this.set(r))
            }
        },
        ot = [
            h,
            B,
            P
        ],
        rt = {
            server: [],
            takeover: []
        },
        at = {
            version: "1.12.13",
            config: {}
        };
    var lt = ["B", "KB", "MB", "GB", "TB", "PB"];
    function ct(t) {
        for (var e = 0; parseInt(t, 10) &gt;= 1024 &amp;&amp; e &lt; lt.length - 1;)
            t /= 1024,
                ++e;
        return "" + t.toFixed(1) + lt[e]
    }
    function ut(t) {
        return t.charAt(0).toUpperCase() + t.slice(1)
    }
    function ht(t, e, i) {
        return i &lt;= e ? e : Math.min(i, Math.max(e, t))
    }
    function dt(t, e, i) {
        if (i &lt;= e)
            return e;
        var s = i - e + 1,
            n = e + (t - e) % s;
        return n &lt; e &amp;&amp; (n = s + n), 0 === n ? 0 : n
    }
    function pt(t, e, i) {
        if (void 0 === e &amp;&amp; (e = 2), void 0 === i &amp;&amp; (i = "0"), void 0 === t || null === t)
            return t;
        var s = "" + t;
        return s.length &gt;= e ? s : new Array(e - s.length + 1).join(i) + s
    }
    var ft = {
        humanStorageSize: ct,
        capitalize: ut,
        between: ht,
        normalizeToInterval: dt,
        pad: pt
    };
    function mt(t, e, s) {
        if (!0 === i)
            return s;
        var n = "__qcache_" + e;
        return void 0 === t[n] ? t[n] = s : t[n]
    }
    function vt(t, e) {
        var i;
        return {
            data: function () {
                var t;
                return (t = {})[e] = {}, t
            },
            watch: (i = {}, i[t] = {
                immediate: !0,
                handler: function (t, i) {
                    var s = this[e];
                    if (void 0 !== i)
                        for (var n in i)
                            void 0 === t[n] &amp;&amp; this.$delete(s, n);
                    for (var o in t)
                        s[o] !== t[o] &amp;&amp; this.$set(s, o, t[o])
                }
            }, i)
        }
    }
    var gt = { "aria-hidden": "true" },
        _t = vt("$attrs", "qAttrs"),
        bt = i ? null : XMLHttpRequest,
        yt = i ? null : bt.prototype.send,
        wt = [],
        St = [],
        xt = 0;
    var Ct = t.extend({
        name: "QAjaxBar",
        props: {
            position: {
                type: String,
                default: "top",
                validator: function (t) {
                    return ["top", "right", "bottom", "left"].includes(t)
                }
            },
            size: {
                type: String,
                default: "2px"
            },
            color: String,
            skipHijack: Boolean,
            reverse: Boolean
        },
        data: function () {
            return {
                calls: 0,
                progress: 0,
                onScreen: !1,
                animate: !0
            }
        },
        computed: {
            classes: function () {
                return "q-loading-bar q-loading-bar--" + this.position + (void 0 !== this.color ? " bg-" + this.color : "") + (!0 === this.animate ? "" : " no-transition")
            },
            style: function () {
                var t = this.onScreen,
                    e = function (t) {
                        var e = t.p,
                            i = t.pos,
                            s = t.active,
                            n = t.horiz,
                            o = t.reverse,
                            r = t.dir,
                            a = 1,
                            l = 1;
                        return n ? (o &amp;&amp; (a = -1), "bottom" === i &amp;&amp; (l = -1), { transform: "translate3d(" + a * (e - 100) + "%," + (s ? 0 : -200 * l) + "%,0)" }) : (o &amp;&amp; (l = -1), "right" === i &amp;&amp; (a = -1), { transform: "translate3d(" + (s ? 0 : r * a * -200) + "%," + l * (e - 100) + "%,0)" })
                    }({
                        p: this.progress,
                        pos: this.position,
                        active: t,
                        horiz: this.horizontal,
                        reverse: !0 === this.$q.lang.rtl &amp;&amp; ["top", "bottom"].includes(this.position) ? !this.reverse : this.reverse,
                        dir: !0 === this.$q.lang.rtl ? -1 : 1
                    });
                return e[this.sizeProp] = this.size, e.opacity = t ? 1 : 0, e
            },
            horizontal: function () {
                return "top" === this.position || "bottom" === this.position
            },
            sizeProp: function () {
                return this.horizontal ? "height" : "width"
            },
            attrs: function () {
                return !0 === this.onScreen ? {
                    role: "progressbar",
                    "aria-valuemin": 0,
                    "aria-valuemax": 100,
                    "aria-valuenow": this.progress
                } : gt
            }
        },
        methods: {
            start: function (t) {
                var e = this;
                void 0 === t &amp;&amp; (t = 300);
                var i = this.speed;
                this.speed = Math.max(0, t) || 0,
                    this.calls++,
                    this.calls &gt; 1 ? 0 === i &amp;&amp; t &gt; 0 ? this.__work() : i &gt; 0 &amp;&amp; t &lt;= 0 &amp;&amp; clearTimeout(this.timer) : (clearTimeout(this.timer), this.$emit("start"), this.progress = 0, !0 !== this.onScreen &amp;&amp; (this.onScreen = !0, this.animate = !1, this.timer = setTimeout(function () {
                        e.animate = !0,
                            t &gt; 0 &amp;&amp; e.__work()
                    }, 100)))
            },
            increment: function (t) {
                this.calls &gt; 0 &amp;&amp; (this.progress = function (t, e) {
                    return "number" != typeof e &amp;&amp; (e = t &lt; 25 ? 3 * Math.random() + 3 : t &lt; 65 ? 3 * Math.random() : t &lt; 85 ? 2 * Math.random() : t &lt; 99 ? .6 : 0), ht(t + e, 0, 100)
                }(this.progress, t))
            },
            stop: function () {
                var t = this;
                if (this.calls = Math.max(0, this.calls - 1), !(this.calls &gt; 0)) {
                    clearTimeout(this.timer),
                        this.$emit("stop");
                    var e = function () {
                        t.animate = !0,
                            t.progress = 100,
                            t.timer = setTimeout(function () {
                                t.onScreen = !1
                            }, 1e3)
                    };
                    0 === this.progress ? this.timer = setTimeout(e, 1) : e()
                }
            },
            __work: function () {
                var t = this;
                this.progress &lt; 100 &amp;&amp; (this.timer = setTimeout(function () {
                    t.increment(),
                        t.__work()
                }, this.speed))
            }
        },
        mounted: function () {
            !0 !== this.skipHijack &amp;&amp; (this.hijacked = !0, function (t, e) {
                function i() {
                    St.forEach(function (t) {
                        t()
                    })
                }
                wt.push(t),
                    St.push(e),
                    ++xt &gt; 1 || (bt.prototype.send = function () {
                        wt.forEach(function (t) {
                            t()
                        }),
                            this.addEventListener("loadend", i, !1),
                            yt.apply(this, arguments)
                    })
            }(this.start, this.stop))
        },
        beforeDestroy: function () {
            var t,
                e;
            clearTimeout(this.timer),
                !0 === this.hijacked &amp;&amp; (t = this.start, e = this.stop, wt.splice(wt.indexOf(t), 1), St.splice(St.indexOf(e), 1), (xt = Math.max(0, xt - 1)) || (bt.prototype.send = yt))
        },
        render: function (t) {
            return t("div", {
                class: this.classes,
                style: this.style,
                attrs: this.attrs
            })
        }
    }),
        kt = {
            xs: 18,
            sm: 24,
            md: 32,
            lg: 38,
            xl: 46
        };
    function qt(t) {
        return {
            props: { size: String },
            computed: {
                sizeStyle: function () {
                    if (void 0 !== this.size)
                        return { fontSize: this.size in t ? t[this.size] + "px" : this.size }
                }
            }
        }
    }
    var Tt = qt(kt),
        $t = {
            props: {
                tag: {
                    type: String,
                    default: "div"
                }
            }
        },
        Mt = vt("$listeners", "qListeners");
    function Lt(t, e, i) {
        return void 0 !== t.$scopedSlots[e] ? t.$scopedSlots[e]() : i
    }
    function Bt(t, e, i) {
        return void 0 !== t.$scopedSlots[e] ? t.$scopedSlots[e]().slice() : i
    }
    function Pt(t, e, i) {
        return void 0 !== e.$scopedSlots[i] ? t.concat(e.$scopedSlots[i]()) : t
    }
    function Ot(t, e, i) {
        if (void 0 === e.$scopedSlots[i])
            return t;
        var s = e.$scopedSlots[i]();
        return void 0 !== t ? t.concat(s) : s
    }
    var Et = t.extend({
        name: "QIcon",
        mixins: [
            Mt,
            Tt,
            $t
        ],
        props: {
            tag: { default: "i" },
            name: String,
            color: String,
            left: Boolean,
            right: Boolean
        },
        computed: {
            classes: function () {
                return "q-icon notranslate" + (!0 === this.left ? " on-left" : "") + (!0 === this.right ? " on-right" : "") + (void 0 !== this.color ? " text-" + this.color : "")
            },
            type: function () {
                var t,
                    e = this,
                    i = this.name;
                if (!i)
                    return {
                        none: !0,
                        cls: this.classes
                    };
                if (void 0 !== this.$q.iconMapFn) {
                    var s = this.$q.iconMapFn(i);
                    if (void 0 !== s) {
                        if (void 0 === s.icon)
                            return {
                                cls: s.cls + " " + this.classes,
                                content: void 0 !== s.content ? s.content : " "
                            };
                        i = s.icon
                    }
                }
                if (!0 === i.startsWith("M")) {
                    var n = i.split("|"),
                        o = n[0],
                        r = n[1];
                    return {
                        svg: !0,
                        cls: this.classes,
                        nodes: o.split("&amp;&amp;").map(function (t) {
                            var i = t.split("@@"),
                                s = i[0],
                                n = i[1],
                                o = i[2];
                            return e.$createElement("path", {
                                attrs: {
                                    d: s,
                                    transform: o
                                },
                                style: n
                            })
                        }),
                        viewBox: void 0 !== r ? r : "0 0 24 24"
                    }
                }
                if (!0 === i.startsWith("img:"))
                    return {
                        img: !0,
                        cls: this.classes,
                        src: i.substring(4)
                    };
                if (!0 === i.startsWith("svguse:"))
                    return {
                        svguse: !0,
                        cls: this.classes,
                        src: i.substring(7)
                    };
                var a = " ";
                return /^[l|f]a[s|r|l|b|d]{0,1} /.test(i) || !0 === i.startsWith("icon-") ? t = i : !0 === i.startsWith("bt-") ? t = "bt " + i : !0 === i.startsWith("eva-") ? t = "eva " + i : !0 === /^ion-(md|ios|logo)/.test(i) ? t = "ionicons " + i : !0 === i.startsWith("ion-") ? t = "ionicons ion-" + (!0 === this.$q.platform.is.ios ? "ios" : "md") + i.substr(3) : !0 === i.startsWith("mdi-") ? t = "mdi " + i : !0 === i.startsWith("iconfont ") ? t = "" + i : !0 === i.startsWith("ti-") ? t = "themify-icon " + i : (t = "material-icons", !0 === i.startsWith("o_") ? (i = i.substring(2), t += "-outlined") : !0 === i.startsWith("r_") ? (i = i.substring(2), t += "-round") : !0 === i.startsWith("s_") &amp;&amp; (i = i.substring(2), t += "-sharp"), a = i), {
                    cls: t + " " + this.classes,
                    content: a
                }
            }
        },
        render: function (t) {
            var e = {
                class: this.type.cls,
                style: this.sizeStyle,
                on: Object.assign({}, this.qListeners),
                attrs: {
                    "aria-hidden": "true",
                    role: "presentation"
                }
            };
            return !0 === this.type.none ? t(this.tag, e, Lt(this, "default")) : !0 === this.type.img ? (e.attrs.src = this.type.src, t("img", e)) : !0 === this.type.svg ? (e.attrs.focusable = "false", e.attrs.viewBox = this.type.viewBox, t("svg", e, Pt(this.type.nodes, this, "default"))) : !0 === this.type.svguse ? (e.attrs.focusable = "false", e.attrs.viewBox = this.type.viewBox, t("svg", e, [
                t("use", { attrs: { "xlink:href": this.type.src } }),
                Pt(this.type.nodes, this, "default")
            ])) : t(this.tag, e, Pt([
                this.type.content
            ], this, "default"))
        }
    }),
        zt = t.extend({
            name: "QAvatar",
            mixins: [
                Mt,
                Tt
            ],
            props: {
                fontSize: String,
                color: String,
                textColor: String,
                icon: String,
                square: Boolean,
                rounded: Boolean
            },
            computed: {
                contentClass: function () {
                    var t;
                    return (t = {})["bg-" + this.color] = this.color, t["text-" + this.textColor + " q-chip--colored"] = this.textColor, t["q-avatar__content--square"] = this.square, t["rounded-borders"] = this.rounded, t
                },
                contentStyle: function () {
                    if (this.fontSize)
                        return { fontSize: this.fontSize }
                }
            },
            render: function (t) {
                var e = void 0 !== this.icon ? [
                    t(Et, { props: { name: this.icon } })
                ] : void 0;
                return t("div", {
                    staticClass: "q-avatar",
                    style: this.sizeStyle,
                    on: Object.assign({}, this.qListeners)
                }, [
                    t("div", {
                        staticClass: "q-avatar__content row flex-center overflow-hidden",
                        class: this.contentClass,
                        style: this.contentStyle
                    }, Ot(e, this, "default"))
                ])
            }
        }),
        At = t.extend({
            name: "QBadge",
            mixins: [
                Mt
            ],
            props: {
                color: String,
                textColor: String,
                floating: Boolean,
                transparent: Boolean,
                multiLine: Boolean,
                outline: Boolean,
                label: [
                    Number,
                    String
                ],
                align: {
                    type: String,
                    validator: function (t) {
                        return ["top", "middle", "bottom"].includes(t)
                    }
                }
            },
            computed: {
                style: function () {
                    if (void 0 !== this.align)
                        return { verticalAlign: this.align }
                },
                classes: function () {
                    var t = !0 === this.outline &amp;&amp; this.color || this.textColor;
                    return "q-badge flex inline items-center no-wrap q-badge--" + (!0 === this.multiLine ? "multi" : "single") + "-line" + (!0 === this.outline ? " q-badge--outline" : void 0 !== this.color ? " bg-" + this.color : "") + (void 0 !== t ? " text-" + t : "") + (!0 === this.floating ? " q-badge--floating" : "") + (!0 === this.transparent ? " q-badge--transparent" : "")
                },
                attrs: function () {
                    return {
                        role: "alert",
                        "aria-label": this.label
                    }
                }
            },
            render: function (t) {
                return t("div", {
                    style: this.style,
                    class: this.classes,
                    attrs: this.attrs,
                    on: Object.assign({}, this.qListeners)
                }, void 0 !== this.label ? [
                    this.label
                ] : Lt(this, "default"))
            }
        }),
        Dt = {
            props: {
                dark: {
                    type: Boolean,
                    default: null
                }
            },
            computed: {
                isDark: function () {
                    return null === this.dark ? this.$q.dark.isActive : this.dark
                }
            }
        },
        Rt = { role: "alert" },
        It = t.extend({
            name: "QBanner",
            mixins: [
                Mt,
                Dt
            ],
            props: {
                inlineActions: Boolean,
                dense: Boolean,
                rounded: Boolean
            },
            render: function (t) {
                var e = Lt(this, "action"),
                    i = [
                        t("div", { staticClass: "q-banner__avatar col-auto row items-center self-start" }, Lt(this, "avatar")),
                        t("div", { staticClass: "q-banner__content col text-body2" }, Lt(this, "default"))
                    ];
                return void 0 !== e &amp;&amp; i.push(t("div", {
                    staticClass: "q-banner__actions row items-center justify-end",
                    class: "col-" + (!0 === this.inlineActions ? "auto" : "all")
                }, e)), t("div", {
                    staticClass: "q-banner row items-center",
                    class: {
                        "q-banner--top-padding": void 0 !== e &amp;&amp; !this.inlineActions,
                        "q-banner--dense": this.dense,
                        "q-banner--dark q-dark": this.isDark,
                        "rounded-borders": this.rounded
                    },
                    attrs: Rt,
                    on: Object.assign({}, this.qListeners)
                }, i)
            }
        }),
        Ft = { role: "toolbar" },
        jt = t.extend({
            name: "QBar",
            mixins: [
                Mt,
                Dt
            ],
            props: { dense: Boolean },
            computed: {
                classes: function () {
                    return "q-bar--" + (!0 === this.dense ? "dense" : "standard") + " q-bar--" + (!0 === this.isDark ? "dark" : "light")
                }
            },
            render: function (t) {
                return t("div", {
                    staticClass: "q-bar row no-wrap items-center",
                    class: this.classes,
                    attrs: Ft,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        Vt = {
            left: "start",
            center: "center",
            right: "end",
            between: "between",
            around: "around",
            evenly: "evenly",
            stretch: "stretch"
        },
        Nt = Object.keys(Vt),
        Ht = {
            props: {
                align: {
                    type: String,
                    validator: function (t) {
                        return Nt.includes(t)
                    }
                }
            },
            computed: {
                alignClass: function () {
                    var t = void 0 === this.align ? !0 === this.vertical ? "stretch" : "left" : this.align;
                    return (!0 === this.vertical ? "items" : "justify") + "-" + Vt[t]
                }
            }
        },
        Qt = t.extend({
            name: "QBreadcrumbs",
            mixins: [
                Mt,
                Ht
            ],
            props: {
                separator: {
                    type: String,
                    default: "/"
                },
                separatorColor: String,
                activeColor: {
                    type: String,
                    default: "primary"
                },
                gutter: {
                    type: String,
                    validator: function (t) {
                        return ["none", "xs", "sm", "md", "lg", "xl"].includes(t)
                    },
                    default: "sm"
                }
            },
            computed: {
                classes: function () {
                    return this.alignClass + ("none" === this.gutter ? "" : " q-gutter-" + this.gutter)
                },
                sepClass: function () {
                    if (this.separatorColor)
                        return "text-" + this.separatorColor
                },
                activeClass: function () {
                    return "text-" + this.activeColor
                }
            },
            render: function (t) {
                var e = this,
                    i = Lt(this, "default");
                if (void 0 !== i) {
                    var s = 1,
                        n = [],
                        o = i.filter(function (t) {
                            return void 0 !== t.tag &amp;&amp; t.tag.endsWith("-QBreadcrumbsEl")
                        }).length,
                        r = void 0 !== this.$scopedSlots.separator ? this.$scopedSlots.separator : function () {
                            return e.separator
                        };
                    return i.forEach(function (i) {
                        if (void 0 !== i.tag &amp;&amp; i.tag.endsWith("-QBreadcrumbsEl")) {
                            var a = s &lt; o;
                            s++,
                                n.push(t("div", {
                                    staticClass: "flex items-center",
                                    class: a ? e.activeClass : "q-breadcrumbs--last"
                                }, [
                                    i
                                ])),
                                a &amp;&amp; n.push(t("div", {
                                    staticClass: "q-breadcrumbs__separator",
                                    class: e.sepClass
                                }, r()))
                        }
                        else
                            n.push(i)
                    }), t("div", {
                        staticClass: "q-breadcrumbs",
                        on: Object.assign({}, this.qListeners)
                    }, [
                        t("div", {
                            staticClass: "flex items-center",
                            class: this.classes
                        }, n)
                    ])
                }
            }
        }),
        Wt = {
            props: {
                to: [
                    String,
                    Object
                ],
                exact: Boolean,
                append: Boolean,
                replace: Boolean,
                activeClass: String,
                exactActiveClass: String,
                disable: Boolean
            },
            computed: {
                hasRouterLink: function () {
                    return !0 !== this.disable &amp;&amp; void 0 !== this.to &amp;&amp; null !== this.to &amp;&amp; "" !== this.to
                },
                routerLinkProps: function () {
                    return {
                        to: this.to,
                        exact: this.exact,
                        append: this.append,
                        replace: this.replace,
                        activeClass: this.activeClass || "q-router-link--active",
                        exactActiveClass: this.exactActiveClass || "q-router-link--exact-active",
                        event: !0 === this.disable ? "" : void 0
                    }
                }
            }
        },
        Yt = t.extend({
            name: "QBreadcrumbsEl",
            mixins: [
                Mt,
                Wt
            ],
            props: {
                label: String,
                icon: String
            },
            render: function (t) {
                var e,
                    i = [];
                return void 0 !== this.icon &amp;&amp; i.push(t(Et, {
                    staticClass: "q-breadcrumbs__el-icon",
                    class: void 0 !== this.label ? "q-breadcrumbs__el-icon--with-label" : null,
                    props: { name: this.icon }
                })), this.label &amp;&amp; i.push(this.label), t(!0 === this.hasRouterLink ? "router-link" : "span", ((e = {
                    staticClass: "q-breadcrumbs__el q-link flex inline items-center relative-position",
                    props: !0 === this.hasRouterLink ? this.routerLinkProps : null
                })[!0 === this.hasRouterLink ? "nativeOn" : "on"] = Object.assign({}, this.qListeners), e), Pt(i, this, "default"))
            }
        }),
        Ut = {
            mixins: [
                Mt
            ],
            props: {
                color: String,
                size: {
                    type: [
                        Number,
                        String
                    ],
                    default: "1em"
                }
            },
            computed: {
                cSize: function () {
                    return this.size in kt ? kt[this.size] + "px" : this.size
                },
                classes: function () {
                    if (this.color)
                        return "text-" + this.color
                }
            }
        },
        Kt = t.extend({
            name: "QSpinner",
            mixins: [
                Ut
            ],
            props: {
                thickness: {
                    type: Number,
                    default: 5
                }
            },
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner q-spinner-mat",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "25 25 50 50"
                    }
                }, [
                    t("circle", {
                        staticClass: "path",
                        attrs: {
                            cx: "50",
                            cy: "50",
                            r: "20",
                            fill: "none",
                            stroke: "currentColor",
                            "stroke-width": this.thickness,
                            "stroke-miterlimit": "10"
                        }
                    })
                ])
            }
        });
    function Xt(t) {
        if (t === window)
            return {
                top: 0,
                left: 0
            };
        var e = t.getBoundingClientRect();
        return {
            top: e.top,
            left: e.left
        }
    }
    function Gt(t) {
        return t === window ? window.innerHeight : t.getBoundingClientRect().height
    }
    function Zt(t, e) {
        var i = t.style;
        Object.keys(e).forEach(function (t) {
            i[t] = e[t]
        })
    }
    function Jt(t, e) {
        return !0 === t ? e === document.documentElement ? document.body : e : document.body
    }
    var te = {
        offset: Xt,
        style: function (t, e) {
            return window.getComputedStyle(t).getPropertyValue(e)
        },
        height: Gt,
        width: function (t) {
            return t === window ? window.innerWidth : t.getBoundingClientRect().width
        },
        css: Zt,
        cssBatch: function (t, e) {
            t.forEach(function (t) {
                return Zt(t, e)
            })
        },
        ready: function (t) {
            if ("function" == typeof t)
                return "loading" !== document.readyState ? t() : void document.addEventListener("DOMContentLoaded", t, !1)
        }
    };
    function ee(t, e) {
        void 0 === e &amp;&amp; (e = 250);
        var i,
            s = !1;
        return function () {
            return !1 === s &amp;&amp; (s = !0, setTimeout(function () {
                s = !1
            }, e), i = t.apply(this, arguments)), i
        }
    }
    function ie(t, e, i, s) {
        !0 === i.modifiers.stop &amp;&amp; y(t);
        var n = i.modifiers.color,
            o = i.modifiers.center;
        o = !0 === o || !0 === s;
        var r = document.createElement("span"),
            a = document.createElement("span"),
            l = v(t),
            c = e.getBoundingClientRect(),
            u = c.left,
            h = c.top,
            d = c.width,
            p = c.height,
            f = Math.sqrt(d * d + p * p),
            m = f / 2,
            g = (d - f) / 2 + "px",
            _ = o ? g : l.left - u - m + "px",
            b = (p - f) / 2 + "px",
            w = o ? b : l.top - h - m + "px";
        a.className = "q-ripple__inner",
            Zt(a, {
                height: f + "px",
                width: f + "px",
                transform: "translate3d(" + _ + "," + w + ",0) scale3d(.2,.2,1)",
                opacity: 0
            }),
            r.className = "q-ripple" + (n ? " text-" + n : ""),
            r.setAttribute("dir", "ltr"),
            r.appendChild(a),
            e.appendChild(r);
        var S = function () {
            r.remove(),
                clearTimeout(x)
        };
        i.abort.push(S);
        var x = setTimeout(function () {
            a.classList.add("q-ripple__inner--enter"),
                a.style.transform = "translate3d(" + g + "," + b + ",0) scale3d(1,1,1)",
                a.style.opacity = .2,
                x = setTimeout(function () {
                    a.classList.remove("q-ripple__inner--enter"),
                        a.classList.add("q-ripple__inner--leave"),
                        a.style.opacity = 0,
                        x = setTimeout(function () {
                            r.remove(),
                                i.abort.splice(i.abort.indexOf(S), 1)
                        }, 275)
                }, 250)
        }, 50)
    }
    function se(t, e) {
        var i = e.value,
            s = e.modifiers,
            n = e.arg;
        if (t.enabled = !1 !== i, !0 === t.enabled) {
            var o = Object.assign({}, at.config.ripple, s, i);
            t.modifiers = {
                early: !0 === o.early,
                stop: !0 === o.stop,
                center: !0 === o.center,
                color: o.color || n,
                keyCodes: [].concat(o.keyCodes || 13)
            }
        }
    }
    var ne = {
        name: "ripple",
        inserted: function (t, e) {
            var i = {
                modifiers: {},
                abort: [],
                start: function (e) {
                    !0 === i.enabled &amp;&amp; !0 !== e.qSkipRipple &amp;&amp; (!0 !== u.is.ie || e.clientX &gt;= 0) &amp;&amp; (!0 === i.modifiers.early ? !0 === ["mousedown", "touchstart"].includes(e.type) : "click" === e.type) &amp;&amp; ie(e, t, i, !0 === e.qKeyEvent)
                },
                keystart: ee(function (e) {
                    !0 === i.enabled &amp;&amp; !0 !== e.qSkipRipple &amp;&amp; !0 === tt(e, i.modifiers.keyCodes) &amp;&amp; e.type === "key" + (!0 === i.modifiers.early ? "down" : "up") &amp;&amp; ie(e, t, i, !0)
                }, 300)
            };
            se(i, e),
                t.__qripple &amp;&amp; (t.__qripple_old = t.__qripple),
                t.__qripple = i,
                k(i, "main", [
                    [
                        t,
                        "mousedown",
                        "start",
                        "passive"
                    ],
                    [
                        t,
                        "touchstart",
                        "start",
                        "passive"
                    ],
                    [
                        t,
                        "click",
                        "start",
                        "passive"
                    ],
                    [
                        t,
                        "keydown",
                        "keystart",
                        "passive"
                    ],
                    [
                        t,
                        "keyup",
                        "keystart",
                        "passive"
                    ]
                ])
        },
        update: function (t, e) {
            void 0 !== t.__qripple &amp;&amp; se(t.__qripple, e)
        },
        unbind: function (t) {
            var e = t.__qripple_old || t.__qripple;
            void 0 !== e &amp;&amp; (e.abort.forEach(function (t) {
                t()
            }), q(e, "main"), delete t[t.__qripple_old ? "__qripple_old" : "__qripple"])
        }
    },
        oe = {
            directives: { Ripple: ne },
            props: {
                ripple: {
                    type: [
                        Boolean,
                        Object
                    ],
                    default: !0
                }
            }
        },
        re = {
            none: 0,
            xs: 4,
            sm: 8,
            md: 16,
            lg: 24,
            xl: 32
        },
        ae = {
            mixins: [
                Mt,
                oe,
                Ht,
                qt({
                    xs: 8,
                    sm: 10,
                    md: 14,
                    lg: 20,
                    xl: 24
                })
            ],
            props: {
                type: String,
                to: [
                    Object,
                    String
                ],
                replace: Boolean,
                label: [
                    Number,
                    String
                ],
                icon: String,
                iconRight: String,
                round: Boolean,
                outline: Boolean,
                flat: Boolean,
                unelevated: Boolean,
                rounded: Boolean,
                push: Boolean,
                glossy: Boolean,
                size: String,
                fab: Boolean,
                fabMini: Boolean,
                padding: String,
                color: String,
                textColor: String,
                noCaps: Boolean,
                noWrap: Boolean,
                dense: Boolean,
                tabindex: [
                    Number,
                    String
                ],
                align: { default: "center" },
                stack: Boolean,
                stretch: Boolean,
                loading: {
                    type: Boolean,
                    default: null
                },
                disable: Boolean
            },
            computed: {
                style: function () {
                    if (!1 === this.fab &amp;&amp; !1 === this.fabMini)
                        return this.sizeStyle
                },
                isRounded: function () {
                    return !0 === this.rounded || !0 === this.fab || !0 === this.fabMini
                },
                isActionable: function () {
                    return !0 !== this.disable &amp;&amp; !0 !== this.loading
                },
                computedTabIndex: function () {
                    return !0 === this.isActionable ? this.tabindex || 0 : -1
                },
                hasRouterLink: function () {
                    return !0 !== this.disable &amp;&amp; void 0 !== this.to &amp;&amp; null !== this.to &amp;&amp; "" !== this.to
                },
                isLink: function () {
                    return "a" === this.type || !0 === this.hasRouterLink
                },
                design: function () {
                    return !0 === this.flat ? "flat" : !0 === this.outline ? "outline" : !0 === this.push ? "push" : !0 === this.unelevated ? "unelevated" : "standard"
                },
                attrs: function () {
                    var t = { tabindex: this.computedTabIndex };
                    return "a" !== this.type &amp;&amp; (t.type = this.type || "button"), !0 === this.hasRouterLink ? (t.href = this.$router.resolve(this.to).href, t.role = "link") : t.role = "a" === this.type ? "link" : "button", !0 === this.loading &amp;&amp; void 0 !== this.percentage &amp;&amp; (t.role = "progressbar", t["aria-valuemin"] = 0, t["aria-valuemax"] = 100, t["aria-valuenow"] = this.percentage), !0 === this.disable &amp;&amp; (t.disabled = "", t["aria-disabled"] = ""), t
                },
                classes: function () {
                    var t;
                    return void 0 !== this.color ? t = !0 === this.flat || !0 === this.outline ? "text-" + (this.textColor || this.color) : "bg-" + this.color + " text-" + (this.textColor || "white") : this.textColor &amp;&amp; (t = "text-" + this.textColor), "q-btn--" + this.design + " q-btn--" + (!0 === this.round ? "round" : "rectangle" + (!0 === this.isRounded ? " q-btn--rounded" : "")) + (void 0 !== t ? " " + t : "") + (!0 === this.isActionable ? " q-btn--actionable q-focusable q-hoverable" : !0 === this.disable ? " disabled" : "") + (!0 === this.fab ? " q-btn--fab" : !0 === this.fabMini ? " q-btn--fab-mini" : "") + (!0 === this.noCaps ? " q-btn--no-uppercase" : "") + (!0 === this.noWrap ? "" : " q-btn--wrap") + (!0 === this.dense ? " q-btn--dense" : "") + (!0 === this.stretch ? " no-border-radius self-stretch" : "") + (!0 === this.glossy ? " glossy" : "")
                },
                innerClasses: function () {
                    return this.alignClass + (!0 === this.stack ? " column" : " row") + (!0 === this.noWrap ? " no-wrap text-no-wrap" : "") + (!0 === this.loading ? " q-btn__content--hidden" : "")
                },
                wrapperStyle: function () {
                    if (void 0 !== this.padding)
                        return {
                            padding: this.padding.split(/\s+/).map(function (t) {
                                return t in re ? re[t] + "px" : t
                            }).join(" "),
                            minWidth: "0",
                            minHeight: "0"
                        }
                }
            }
        },
        le = ["left", "right", "up", "down", "horizontal", "vertical"],
        ce = {
            left: !0,
            right: !0,
            up: !0,
            down: !0,
            horizontal: !0,
            vertical: !0,
            all: !0
        };
    function ue(t) {
        var e = {};
        return le.forEach(function (i) {
            t[i] &amp;&amp; (e[i] = !0)
        }), 0 === Object.keys(e).length ? ce : (!0 === e.horizontal &amp;&amp; (e.left = e.right = !0), !0 === e.vertical &amp;&amp; (e.up = e.down = !0), !0 === e.left &amp;&amp; !0 === e.right &amp;&amp; (e.horizontal = !0), !0 === e.up &amp;&amp; !0 === e.down &amp;&amp; (e.vertical = !0), !0 === e.horizontal &amp;&amp; !0 === e.vertical &amp;&amp; (e.all = !0), e)
    }
    function he(t, e) {
        var i = e.oldValue,
            s = e.value,
            n = e.modifiers;
        i !== s &amp;&amp; ("function" != typeof s &amp;&amp; t.end(), t.handler = s),
            (t.modifiers.mouseAllDir !== n.mouseAllDir || le.some(function (e) {
                return n[e] !== t.modifiers[e]
            })) &amp;&amp; (t.modifiers = n, t.direction = ue(n))
    }
    var de = !1 === i &amp;&amp; !0 !== o &amp;&amp; (!0 === u.is.ios || window.navigator.vendor.toLowerCase().indexOf("apple") &gt; -1) ? function () {
        return document
    } : function (t) {
        return t
    };
    function pe(t, e) {
        return void 0 === e.event &amp;&amp; void 0 !== t.target &amp;&amp; !0 !== t.target.draggable &amp;&amp; "function" == typeof e.handler &amp;&amp; "INPUT" !== t.target.nodeName.toUpperCase() &amp;&amp; (void 0 === t.qClonedBy || -1 === t.qClonedBy.indexOf(e.uid))
    }
    var fe = d.passiveCapture,
        me = void 0,
        ve = void 0,
        ge = void 0,
        _e = {
            role: "img",
            "aria-hidden": "true"
        },
        be = t.extend({
            name: "QBtn",
            mixins: [
                ae
            ],
            props: {
                percentage: Number,
                darkPercentage: Boolean
            },
            computed: {
                hasLabel: function () {
                    return void 0 !== this.label &amp;&amp; null !== this.label &amp;&amp; "" !== this.label
                },
                computedRipple: function () {
                    return !1 !== this.ripple &amp;&amp; Object.assign({}, { keyCodes: !0 === this.isLink ? [13, 32] : [13] }, !0 === this.ripple ? {} : this.ripple)
                },
                percentageStyle: function () {
                    var t = Math.max(0, Math.min(100, this.percentage));
                    if (t &gt; 0)
                        return {
                            transition: "transform 0.6s",
                            transform: "translateX(" + (t - 100) + "%)"
                        }
                },
                onEvents: function () {
                    if (!0 === this.loading)
                        return {
                            mousedown: this.__onLoadingEvt,
                            touchstart: this.__onLoadingEvt,
                            click: this.__onLoadingEvt,
                            keydown: this.__onLoadingEvt,
                            keyup: this.__onLoadingEvt
                        };
                    if (!0 === this.isActionable) {
                        var t = Object.assign({}, this.qListeners, {
                            click: this.click,
                            keydown: this.__onKeydown,
                            mousedown: this.__onMousedown
                        });
                        return !0 === this.$q.platform.has.touch &amp;&amp; (t.touchstart = this.__onTouchstart), t
                    }
                    return {}
                },
                directives: function () {
                    if (!0 !== this.disable &amp;&amp; !1 !== this.ripple)
                        return [
                            {
                                name: "ripple",
                                value: this.computedRipple,
                                modifiers: { center: this.round }
                            }
                        ]
                }
            },
            methods: {
                click: function (t) {
                    var e = this;
                    if (void 0 !== t) {
                        if (!0 === t.defaultPrevented)
                            return;
                        var i = document.activeElement;
                        if ("submit" === this.type &amp;&amp; (!0 === this.$q.platform.is.ie &amp;&amp; (t.clientX &lt; 0 || t.clientY &lt; 0) || i !== document.body &amp;&amp; !1 === this.$el.contains(i) &amp;&amp; !1 === i.contains(this.$el))) {
                            this.$el.focus();
                            var s = function () {
                                document.removeEventListener("keydown", S, !0),
                                    document.removeEventListener("keyup", s, fe),
                                    void 0 !== e.$el &amp;&amp; e.$el.removeEventListener("blur", s, fe)
                            };
                            document.addEventListener("keydown", S, !0),
                                document.addEventListener("keyup", s, fe),
                                this.$el.addEventListener("blur", s, fe)
                        }
                        if (!0 === this.hasRouterLink) {
                            if (!0 === t.ctrlKey || !0 === t.shiftKey || !0 === t.altKey || !0 === t.metaKey)
                                return;
                            S(t)
                        }
                    }
                    var n = function () {
                        var t = e.$router[!0 === e.replace ? "replace" : "push"](e.to);
                        void 0 !== t &amp;&amp; "function" == typeof t.catch &amp;&amp; t.catch(f)
                    };
                    this.$emit("click", t, n),
                        !0 === this.hasRouterLink &amp;&amp; !1 !== t.navigate &amp;&amp; n()
                },
                __onKeydown: function (t) {
                    !0 === tt(t, [13, 32]) &amp;&amp; (S(t), ve !== this.$el &amp;&amp; (void 0 !== ve &amp;&amp; this.__cleanup(), this.$el.focus(), ve = this.$el, this.$el.classList.add("q-btn--active"), document.addEventListener("keyup", this.__onPressEnd, !0), this.$el.addEventListener("blur", this.__onPressEnd, fe))),
                        this.$emit("keydown", t)
                },
                __onTouchstart: function (t) {
                    var e = this;
                    if (me !== this.$el) {
                        void 0 !== me &amp;&amp; this.__cleanup(),
                            me = this.$el;
                        var i = this.touchTargetEl = de(t.target);
                        i.addEventListener("touchcancel", this.__onPressEnd, fe),
                            i.addEventListener("touchend", this.__onPressEnd, fe)
                    }
                    this.avoidMouseRipple = !0,
                        clearTimeout(this.mouseTimer),
                        this.mouseTimer = setTimeout(function () {
                            e.avoidMouseRipple = !1
                        }, 200),
                        this.$emit("touchstart", t)
                },
                __onMousedown: function (t) {
                    ge !== this.$el &amp;&amp; (void 0 !== ge &amp;&amp; this.__cleanup(), ge = this.$el, this.$el.classList.add("q-btn--active"), document.addEventListener("mouseup", this.__onPressEnd, fe)),
                        t.qSkipRipple = !0 === this.avoidMouseRipple,
                        this.$emit("mousedown", t)
                },
                __onPressEnd: function (t) {
                    if (void 0 === t || "blur" !== t.type || document.activeElement !== this.$el) {
                        if (void 0 !== t &amp;&amp; "keyup" === t.type) {
                            if (ve === this.$el &amp;&amp; !0 === tt(t, [13, 32])) {
                                var e = new MouseEvent("click", t);
                                e.qKeyEvent = !0,
                                    !0 === t.defaultPrevented &amp;&amp; w(e),
                                    !0 === t.cancelBubble &amp;&amp; y(e),
                                    this.$el.dispatchEvent(e),
                                    S(t),
                                    t.qKeyEvent = !0
                            }
                            this.$emit("keyup", t)
                        }
                        this.__cleanup()
                    }
                },
                __cleanup: function (t) {
                    var e = this.$refs.blurTarget;
                    if (!0 === t || me !== this.$el &amp;&amp; ge !== this.$el || void 0 === e || e === document.activeElement || (e.setAttribute("tabindex", -1), e.focus()), me === this.$el) {
                        var i = this.touchTargetEl;
                        i.removeEventListener("touchcancel", this.__onPressEnd, fe),
                            i.removeEventListener("touchend", this.__onPressEnd, fe),
                            me = this.touchTargetEl = void 0
                    }
                    ge === this.$el &amp;&amp; (document.removeEventListener("mouseup", this.__onPressEnd, fe), ge = void 0),
                        ve === this.$el &amp;&amp; (document.removeEventListener("keyup", this.__onPressEnd, !0), void 0 !== this.$el &amp;&amp; this.$el.removeEventListener("blur", this.__onPressEnd, fe), ve = void 0),
                        void 0 !== this.$el &amp;&amp; this.$el.classList.remove("q-btn--active")
                },
                __onLoadingEvt: function (t) {
                    S(t),
                        t.qSkipRipple = !0
                }
            },
            beforeDestroy: function () {
                this.__cleanup(!0)
            },
            render: function (t) {
                var e = [];
                void 0 !== this.icon &amp;&amp; e.push(t(Et, {
                    attrs: _e,
                    props: {
                        name: this.icon,
                        left: !1 === this.stack &amp;&amp; !0 === this.hasLabel
                    }
                })),
                    !0 === this.hasLabel &amp;&amp; e.push(t("span", { staticClass: "block" }, [
                        this.label
                    ])),
                    e = Pt(e, this, "default"),
                    void 0 !== this.iconRight &amp;&amp; !1 === this.round &amp;&amp; e.push(t(Et, {
                        attrs: _e,
                        props: {
                            name: this.iconRight,
                            right: !1 === this.stack &amp;&amp; !0 === this.hasLabel
                        }
                    }));
                var i = [
                    t("span", {
                        staticClass: "q-focus-helper",
                        ref: "blurTarget"
                    })
                ];
                return !0 === this.loading &amp;&amp; void 0 !== this.percentage &amp;&amp; i.push(t("span", { staticClass: "q-btn__progress absolute-full overflow-hidden" }, [
                    t("span", {
                        staticClass: "q-btn__progress-indicator fit block",
                        class: !0 === this.darkPercentage ? "q-btn__progress--dark" : "",
                        style: this.percentageStyle
                    })
                ])), i.push(t("span", {
                    staticClass: "q-btn__wrapper col row q-anchor--skip",
                    style: this.wrapperStyle
                }, [
                    t("span", {
                        staticClass: "q-btn__content text-center col items-center q-anchor--skip",
                        class: this.innerClasses
                    }, e)
                ])), null !== this.loading &amp;&amp; i.push(t("transition", { props: { name: "q-transition--fade" } }, !0 === this.loading ? [
                    t("span", {
                        key: "loading",
                        staticClass: "absolute-full flex flex-center"
                    }, void 0 !== this.$scopedSlots.loading ? this.$scopedSlots.loading() : [
                        t(Kt)
                    ])
                ] : void 0)), t(!0 === this.isLink ? "a" : "button", {
                    staticClass: "q-btn q-btn-item non-selectable no-outline",
                    class: this.classes,
                    style: this.style,
                    attrs: this.attrs,
                    on: this.onEvents,
                    directives: this.directives
                }, i)
            }
        }),
        ye = t.extend({
            name: "QBtnGroup",
            mixin: [
                Mt
            ],
            props: {
                unelevated: Boolean,
                outline: Boolean,
                flat: Boolean,
                rounded: Boolean,
                push: Boolean,
                stretch: Boolean,
                glossy: Boolean,
                spread: Boolean
            },
            computed: {
                classes: function () {
                    var t = this;
                    return ["unelevated", "outline", "flat", "rounded", "push", "stretch", "glossy"].filter(function (e) {
                        return !0 === t[e]
                    }).map(function (t) {
                        return "q-btn-group--" + t
                    }).join(" ")
                }
            },
            render: function (t) {
                return t("div", {
                    staticClass: "q-btn-group row no-wrap " + (!0 === this.spread ? "q-btn-group--spread" : "inline"),
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        });
    function we() {
        if (void 0 !== window.getSelection) {
            var t = window.getSelection();
            void 0 !== t.empty ? t.empty() : void 0 !== t.removeAllRanges &amp;&amp; (t.removeAllRanges(), !0 !== h.is.mobile &amp;&amp; t.addRange(document.createRange()))
        }
        else
            void 0 !== document.selection &amp;&amp; document.selection.empty()
    }
    var Se = {
        props: {
            target: { default: !0 },
            noParentEvent: Boolean,
            contextMenu: Boolean
        },
        watch: {
            contextMenu: function (t) {
                void 0 !== this.anchorEl &amp;&amp; (this.__unconfigureAnchorEl(), this.__configureAnchorEl(t))
            },
            target: function () {
                void 0 !== this.anchorEl &amp;&amp; this.__unconfigureAnchorEl(),
                    this.__pickAnchorEl()
            },
            noParentEvent: function (t) {
                void 0 !== this.anchorEl &amp;&amp; (!0 === t ? this.__unconfigureAnchorEl() : this.__configureAnchorEl())
            }
        },
        methods: {
            __showCondition: function (t) {
                return void 0 !== this.anchorEl &amp;&amp; (void 0 === t || (void 0 === t.touches || t.touches.length &lt;= 1))
            },
            __contextClick: function (t) {
                var e = this;
                this.hide(t),
                    this.$nextTick(function () {
                        e.show(t)
                    }),
                    w(t)
            },
            __toggleKey: function (t) {
                !0 === tt(t, 13) &amp;&amp; this.toggle(t)
            },
            __mobileCleanup: function (t) {
                this.anchorEl.classList.remove("non-selectable"),
                    clearTimeout(this.touchTimer),
                    !0 === this.showing &amp;&amp; void 0 !== t &amp;&amp; we()
            },
            __mobilePrevent: w,
            __mobileTouch: function (t) {
                var e = this;
                if (this.__mobileCleanup(t), !0 === this.__showCondition(t)) {
                    this.hide(t),
                        this.anchorEl.classList.add("non-selectable");
                    var i = de(t.target);
                    k(this, "anchor", [
                        [
                            i,
                            "touchmove",
                            "__mobileCleanup",
                            "passive"
                        ],
                        [
                            i,
                            "touchend",
                            "__mobileCleanup",
                            "passive"
                        ],
                        [
                            i,
                            "touchcancel",
                            "__mobileCleanup",
                            "passive"
                        ],
                        [
                            this.anchorEl,
                            "contextmenu",
                            "__mobilePrevent",
                            "notPassive"
                        ]
                    ]),
                        this.touchTimer = setTimeout(function () {
                            e.show(t)
                        }, 300)
                }
            },
            __unconfigureAnchorEl: function () {
                q(this, "anchor")
            },
            __configureAnchorEl: function (t) {
                (void 0 === t &amp;&amp; (t = this.contextMenu), !0 !== this.noParentEvent &amp;&amp; void 0 !== this.anchorEl) &amp;&amp; k(this, "anchor", !0 === t ? !0 === this.$q.platform.is.mobile ? [
                    [
                        this.anchorEl,
                        "touchstart",
                        "__mobileTouch",
                        "passive"
                    ]
                ] : [
                    [
                        this.anchorEl,
                        "click",
                        "hide",
                        "passive"
                    ],
                    [
                        this.anchorEl,
                        "contextmenu",
                        "__contextClick",
                        "notPassive"
                    ]
                ] : [
                    [
                        this.anchorEl,
                        "click",
                        "toggle",
                        "passive"
                    ],
                    [
                        this.anchorEl,
                        "keyup",
                        "__toggleKey",
                        "passive"
                    ]
                ])
            },
            __setAnchorEl: function (t) {
                for (this.anchorEl = t; this.anchorEl.classList.contains("q-anchor--skip");)
                    this.anchorEl = this.anchorEl.parentNode;
                this.__configureAnchorEl()
            },
            __pickAnchorEl: function () {
                if (!1 === this.target || "" === this.target)
                    this.anchorEl = void 0;
                else if (!0 === this.target)
                    this.__setAnchorEl(this.parentEl);
                else {
                    var t = this.target;
                    if ("string" == typeof this.target)
                        try {
                            t = document.querySelector(this.target)
                        }
                        catch (e) {
                            t = void 0
                        }
                    void 0 !== t &amp;&amp; null !== t ? (this.anchorEl = !0 === t._isVue &amp;&amp; void 0 !== t.$el ? t.$el : t, this.__configureAnchorEl()) : (this.anchorEl = void 0, console.error('Anchor: target "' + this.target + '" not found', this))
                }
            },
            __changeScrollEvent: function (t, e) {
                var i = (void 0 !== e ? "add" : "remove") + "EventListener",
                    s = void 0 !== e ? e : this.__scrollFn;
                t !== window &amp;&amp; t[i]("scroll", s, d.passive),
                    window[i]("scroll", s, d.passive),
                    this.__scrollFn = e
            }
        },
        created: function () {
            var t = this;
            "function" == typeof this.__configureScrollTarget &amp;&amp; "function" == typeof this.__unconfigureScrollTarget &amp;&amp; (this.noParentEventWatcher = this.$watch("noParentEvent", function () {
                void 0 !== t.__scrollTarget &amp;&amp; (t.__unconfigureScrollTarget(), t.__configureScrollTarget())
            }))
        },
        mounted: function () {
            this.parentEl = this.$el.parentNode,
                this.__pickAnchorEl(),
                !0 === this.value &amp;&amp; void 0 === this.anchorEl &amp;&amp; this.$emit("input", !1)
        },
        beforeDestroy: function () {
            clearTimeout(this.touchTimer),
                void 0 !== this.noParentEventWatcher &amp;&amp; this.noParentEventWatcher(),
                void 0 !== this.__anchorCleanup &amp;&amp; this.__anchorCleanup(),
                this.__unconfigureAnchorEl()
        }
    },
        xe = {
            methods: {
                __nextTick: function (t) {
                    this.__tickFn = t
                },
                __prepareTick: function () {
                    var t = this;
                    if (void 0 !== this.__tickFn) {
                        var e = this.__tickFn;
                        this.$nextTick(function () {
                            t.__tickFn === e &amp;&amp; (t.__tickFn(), t.__tickFn = void 0)
                        })
                    }
                },
                __clearTick: function () {
                    this.__tickFn = void 0
                },
                __setTimeout: function (t, e) {
                    clearTimeout(this.__timer),
                        this.__timer = setTimeout(t, e)
                },
                __clearTimeout: function () {
                    clearTimeout(this.__timer)
                }
            },
            beforeDestroy: function () {
                this.__tickFn = void 0,
                    clearTimeout(this.__timer)
            }
        },
        Ce = {
            mixins: [
                xe,
                Mt
            ],
            props: {
                value: {
                    type: Boolean,
                    default: void 0
                }
            },
            data: function () {
                return { showing: !1 }
            },
            watch: {
                value: function (t) {
                    this.__processModelChange(t)
                },
                $route: function () {
                    !0 === this.hideOnRouteChange &amp;&amp; !0 === this.showing &amp;&amp; this.hide()
                }
            },
            methods: {
                toggle: function (t) {
                    this[!0 === this.showing ? "hide" : "show"](t)
                },
                show: function (t) {
                    var e = this;
                    !0 === this.disable || void 0 !== this.__showCondition &amp;&amp; !0 !== this.__showCondition(t) || (void 0 !== this.qListeners.input &amp;&amp; !1 === i &amp;&amp; (this.$emit("input", !0), this.payload = t, this.$nextTick(function () {
                        e.payload === t &amp;&amp; (e.payload = void 0)
                    })), void 0 !== this.value &amp;&amp; void 0 !== this.qListeners.input &amp;&amp; !0 !== i || this.__processShow(t))
                },
                __processShow: function (t) {
                    !0 !== this.showing &amp;&amp; (void 0 !== this.__preparePortal &amp;&amp; this.__preparePortal(), this.showing = !0, this.$emit("before-show", t), void 0 !== this.__show ? (this.__clearTick(), this.__show(t), this.__prepareTick()) : this.$emit("show", t))
                },
                hide: function (t) {
                    var e = this;
                    !0 !== this.disable &amp;&amp; (void 0 !== this.qListeners.input &amp;&amp; !1 === i &amp;&amp; (this.$emit("input", !1), this.payload = t, this.$nextTick(function () {
                        e.payload === t &amp;&amp; (e.payload = void 0)
                    })), void 0 !== this.value &amp;&amp; void 0 !== this.qListeners.input &amp;&amp; !0 !== i || this.__processHide(t))
                },
                __processHide: function (t) {
                    !1 !== this.showing &amp;&amp; (this.showing = !1, this.$emit("before-hide", t), void 0 !== this.__hide ? (this.__clearTick(), this.__hide(t), this.__prepareTick()) : this.$emit("hide", t))
                },
                __processModelChange: function (t) {
                    !0 === this.disable &amp;&amp; !0 === t ? void 0 !== this.qListeners.input &amp;&amp; this.$emit("input", !1) : !0 === t !== this.showing &amp;&amp; this["__process" + (!0 === t ? "Show" : "Hide")](this.payload)
                }
            }
        };
    function ke(t, e) {
        do {
            if ("QMenu" === t.$options.name) {
                if (t.hide(e), !0 === t.separateClosePopup)
                    return t.$parent
            }
            else if (void 0 !== t.__renderPortal)
                return void 0 !== t.$parent &amp;&amp; "QPopupProxy" === t.$parent.$options.name ? (t.hide(e), t.$parent) : t;
            t = t.$parent
        } while (void 0 !== t)
    }
    var qe = {
        inheritAttrs: !1,
        props: {
            contentClass: [
                Array,
                String,
                Object
            ],
            contentStyle: [
                Array,
                String,
                Object
            ]
        },
        methods: {
            __showPortal: function () {
                var t = this;
                if (void 0 !== this.$q.fullscreen &amp;&amp; !0 === this.$q.fullscreen.isCapable) {
                    var e = function (e) {
                        if (void 0 !== t.__portal) {
                            var i = Jt(e, t.$q.fullscreen.activeEl);
                            t.__portal.$el.parentElement !== i &amp;&amp; i.contains(t.$el) === (!1 === t.__onGlobalDialog) &amp;&amp; i.appendChild(t.__portal.$el)
                        }
                    };
                    this.unwatchFullscreen = this.$watch("$q.fullscreen.isActive", e);
                    var i = this.$q.fullscreen.isActive;
                    !1 !== this.__onGlobalDialog &amp;&amp; !0 !== i || e(i)
                }
                else
                    void 0 !== this.__portal &amp;&amp; !1 === this.__onGlobalDialog &amp;&amp; document.body.appendChild(this.__portal.$el)
            },
            __hidePortal: function () {
                void 0 !== this.__portal &amp;&amp; (void 0 !== this.unwatchFullscreen &amp;&amp; (this.unwatchFullscreen(), this.unwatchFullscreen = void 0), !1 === this.__onGlobalDialog &amp;&amp; (this.__portal.$destroy(), this.__portal.$el.remove()), this.__portal = void 0)
            },
            __preparePortal: function () {
                var e = this;
                void 0 === this.__portal &amp;&amp; (this.__portal = !0 === this.__onGlobalDialog ? {
                    $el: this.$el,
                    $refs: this.$refs
                } : new t({
                    name: "QPortal",
                    parent: this,
                    inheritAttrs: !1,
                    render: function (t) {
                        return e.__renderPortal(t)
                    },
                    components: this.$options.components,
                    directives: this.$options.directives
                }).$mount())
            }
        },
        render: function (t) {
            if (!0 === this.__onGlobalDialog)
                return this.__renderPortal(t);
            void 0 !== this.__portal &amp;&amp; this.__portal.$forceUpdate()
        },
        beforeDestroy: function () {
            this.__hidePortal()
        }
    };
    !1 === i &amp;&amp; (qe.created = function () {
        this.__onGlobalDialog = function (t) {
            for (; void 0 !== t;) {
                if ("QGlobalDialog" === t.$options.name)
                    return !0;
                if ("QDialog" === t.$options.name)
                    return !1;
                t = t.$parent
            }
            return !1
        }(this.$parent)
    });
    var Te,
        $e = {
            props: {
                transitionShow: {
                    type: String,
                    default: "fade"
                },
                transitionHide: {
                    type: String,
                    default: "fade"
                }
            },
            data: function () {
                return { transitionState: this.showing }
            },
            watch: {
                showing: function (t) {
                    var e = this;
                    this.transitionShow !== this.transitionHide &amp;&amp; this.$nextTick(function () {
                        e.transitionState = t
                    })
                }
            },
            computed: {
                transition: function () {
                    return "q-transition--" + (!0 === this.transitionState ? this.transitionHide : this.transitionShow)
                }
            }
        };
    var Me = d.notPassiveCapture,
        Le = d.passiveCapture,
        Be = {
            click: [],
            focus: []
        };
    function Pe(t, e) {
        for (var i = t.length - 1; i &gt;= 0; i--)
            if (void 0 === t[i](e))
                return
    }
    function Oe(t) {
        clearTimeout(Te),
            "focusin" === t.type &amp;&amp; !0 === t.target.hasAttribute("tabindex") ? Te = setTimeout(function () {
                Pe(Be.focus, t)
            }, 200) : Pe(Be.click, t)
    }
    var Ee,
        ze = {
            name: "click-outside",
            bind: function (t, e, i) {
                var s = e.value,
                    n = e.arg,
                    o = i.componentInstance || i.context,
                    r = {
                        trigger: s,
                        toggleEl: n,
                        handler: function (t) {
                            var e = t.target;
                            if (!(void 0 === e || 8 === e.nodeType || e === document.documentElement || !1 !== e.classList.contains("no-pointer-events") || void 0 !== r.toggleEl &amp;&amp; !1 !== r.toggleEl.contains(e) || e !== document.body &amp;&amp; !1 !== function (t, e) {
                                for (var i = t; void 0 !== i; i = i.$parent)
                                    if (i === e)
                                        return !0;
                                return !1
                            }(function (t) {
                                for (var e = t; null !== e; e = e.parentNode) {
                                    if (null === e.__vue__)
                                        return;
                                    if (void 0 !== e.__vue__)
                                        return e.__vue__
                                }
                            }(e), o)))
                                return t.qClickOutside = !0, r.trigger(t)
                        }
                    };
                t.__qclickoutside &amp;&amp; (t.__qclickoutside_old = t.__qclickoutside),
                    t.__qclickoutside = r,
                    0 === Be.click.length &amp;&amp; (document.addEventListener("mousedown", Oe, Me), document.addEventListener("touchstart", Oe, Me), document.addEventListener("focusin", Oe, Le)),
                    Be.click.push(r.handler),
                    r.timerFocusin = setTimeout(function () {
                        Be.focus.push(r.handler)
                    }, 500)
            },
            update: function (t, e) {
                var i = e.value,
                    s = e.oldValue,
                    n = e.arg,
                    o = t.__qclickoutside;
                i !== s &amp;&amp; (o.trigger = i),
                    n !== o.arg &amp;&amp; (o.toggleEl = n)
            },
            unbind: function (t) {
                var e = t.__qclickoutside_old || t.__qclickoutside;
                if (void 0 !== e) {
                    clearTimeout(e.timerFocusin);
                    var i = Be.click.findIndex(function (t) {
                        return t === e.handler
                    }),
                        s = Be.focus.findIndex(function (t) {
                            return t === e.handler
                        });
                    i &gt; -1 &amp;&amp; Be.click.splice(i, 1),
                        s &gt; -1 &amp;&amp; Be.focus.splice(s, 1),
                        0 === Be.click.length &amp;&amp; (clearTimeout(Te), document.removeEventListener("mousedown", Oe, Me), document.removeEventListener("touchstart", Oe, Me), document.removeEventListener("focusin", Oe, Le)),
                        delete t[t.__qclickoutside_old ? "__qclickoutside_old" : "__qclickoutside"]
                }
            }
        },
        Ae = !1 === i ? [
            null,
            document,
            document.body,
            document.scrollingElement,
            document.documentElement
        ] : [];
    function De(t, e) {
        if ("string" == typeof e)
            try {
                e = document.querySelector(e)
            }
            catch (t) {
                e = void 0
            }
        return void 0 === e || null === e ? e = t.closest(".scroll,.scroll-y,.overflow-auto") : !0 === e._isVue &amp;&amp; void 0 !== e.$el &amp;&amp; (e = e.$el), Ae.includes(e) ? window : e
    }
    function Re(t) {
        return (t === window ? document.body : t).scrollHeight
    }
    function Ie(t) {
        return t === window ? window.pageYOffset || window.scrollY || document.body.scrollTop || 0 : t.scrollTop
    }
    function Fe(t) {
        return t === window ? window.pageXOffset || window.scrollX || document.body.scrollLeft || 0 : t.scrollLeft
    }
    function je(t, e, i) {
        void 0 === i &amp;&amp; (i = 0);
        var s = Ie(t);
        i &lt;= 0 ? s !== e &amp;&amp; Ne(t, e) : requestAnimationFrame(function () {
            var n = s + (e - s) / Math.max(16, i) * 16;
            Ne(t, n),
                n !== e &amp;&amp; je(t, e, i - 16)
        })
    }
    function Ve(t, e, i) {
        void 0 === i &amp;&amp; (i = 0);
        var s = Fe(t);
        i &lt;= 0 ? s !== e &amp;&amp; He(t, e) : requestAnimationFrame(function () {
            var n = s + (e - s) / Math.max(16, i) * 16;
            He(t, n),
                n !== e &amp;&amp; Ve(t, e, i - 16)
        })
    }
    function Ne(t, e) {
        t !== window ? t.scrollTop = e : window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, e)
    }
    function He(t, e) {
        t !== window ? t.scrollLeft = e : window.scrollTo(e, window.pageYOffset || window.scrollY || document.body.scrollTop || 0)
    }
    function Qe(t, e, i) {
        i ? je(t, e, i) : Ne(t, e)
    }
    function We(t, e, i) {
        i ? Ve(t, e, i) : He(t, e)
    }
    function Ye() {
        if (void 0 !== Ee)
            return Ee;
        var t = document.createElement("p"),
            e = document.createElement("div");
        Zt(t, {
            width: "100%",
            height: "200px"
        }),
            Zt(e, {
                position: "absolute",
                top: "0px",
                left: "0px",
                visibility: "hidden",
                width: "200px",
                height: "150px",
                overflow: "hidden"
            }),
            e.appendChild(t),
            document.body.appendChild(e);
        var i = t.offsetWidth;
        e.style.overflow = "scroll";
        var s = t.offsetWidth;
        return i === s &amp;&amp; (s = e.clientWidth), e.remove(), Ee = i - s
    }
    function Ue(t, e) {
        return void 0 === e &amp;&amp; (e = !0), !(!t || t.nodeType !== Node.ELEMENT_NODE) &amp;&amp; (e ? t.scrollHeight &gt; t.clientHeight &amp;&amp; (t.classList.contains("scroll") || t.classList.contains("overflow-auto") || ["auto", "scroll"].includes(window.getComputedStyle(t)["overflow-y"])) : t.scrollWidth &gt; t.clientWidth &amp;&amp; (t.classList.contains("scroll") || t.classList.contains("overflow-auto") || ["auto", "scroll"].includes(window.getComputedStyle(t)["overflow-x"])))
    }
    var Ke,
        Xe,
        Ge = {
            getScrollTarget: De,
            getScrollHeight: Re,
            getScrollWidth: function (t) {
                return (t === window ? document.body : t).scrollWidth
            },
            getScrollPosition: Ie,
            getHorizontalScrollPosition: Fe,
            animScrollTo: je,
            animHorizontalScrollTo: Ve,
            setScrollPosition: Qe,
            setHorizontalScrollPosition: We,
            getScrollbarWidth: Ye,
            hasScrollbar: Ue
        },
        Ze = [],
        Je = !1,
        ti = {
            __install: function () {
                this.__installed = !0,
                    window.addEventListener("keydown", function (t) {
                        Je = 27 === t.keyCode
                    }),
                    window.addEventListener("blur", function () {
                        !0 === Je &amp;&amp; (Je = !1)
                    }),
                    window.addEventListener("keyup", function (t) {
                        !0 === Je &amp;&amp; (Je = !1, 0 !== Ze.length &amp;&amp; !0 === tt(t, 27) &amp;&amp; Ze[Ze.length - 1].fn(t))
                    })
            },
            register: function (t, e) {
                !0 === t.$q.platform.is.desktop &amp;&amp; (!0 !== this.__installed &amp;&amp; this.__install(), Ze.push({
                    comp: t,
                    fn: e
                }))
            },
            pop: function (t) {
                if (!0 === t.$q.platform.is.desktop) {
                    var e = Ze.findIndex(function (e) {
                        return e.comp === t
                    });
                    e &gt; -1 &amp;&amp; Ze.splice(e, 1)
                }
            }
        };
    function ei(t) {
        var e = t.split(" ");
        return 2 === e.length &amp;&amp; (["top", "center", "bottom"].includes(e[0]) ? !!["left", "middle", "right"].includes(e[1]) || (console.error("Anchor/Self position must end with one of left/middle/right"), !1) : (console.error("Anchor/Self position must start with one of top/center/bottom"), !1))
    }
    function ii(t) {
        return !t || 2 === t.length &amp;&amp; ("number" == typeof t[0] &amp;&amp; "number" == typeof t[1])
    }
    function si(t) {
        var e = t.split(" ");
        return {
            vertical: e[0],
            horizontal: e[1]
        }
    }
    function ni(t) {
        if (!0 === u.is.ios &amp;&amp; void 0 !== window.visualViewport) {
            var e = document.body.style,
                i = window.visualViewport,
                s = i.offsetLeft,
                n = i.offsetTop;
            s !== Ke &amp;&amp; (e.setProperty("--q-pe-left", s + "px"), Ke = s),
                n !== Xe &amp;&amp; (e.setProperty("--q-pe-top", n + "px"), Xe = n)
        }
        var o,
            r = t.el,
            a = r.scrollLeft,
            l = r.scrollTop;
        if (void 0 === t.absoluteOffset)
            o = function (t, e) {
                var i = t.getBoundingClientRect(),
                    s = i.top,
                    n = i.left,
                    o = i.right,
                    r = i.bottom,
                    a = i.width,
                    l = i.height;
                return void 0 !== e &amp;&amp; (s -= e[1], n -= e[0], r += e[1], o += e[0], a += e[0], l += e[1]), {
                    top: s,
                    left: n,
                    right: o,
                    bottom: r,
                    width: a,
                    height: l,
                    middle: n + (o - n) / 2,
                    center: s + (r - s) / 2
                }
            }(t.anchorEl, !0 === t.cover ? [0, 0] : t.offset);
        else {
            var c = t.anchorEl.getBoundingClientRect(),
                h = c.top,
                d = c.left,
                p = h + t.absoluteOffset.top,
                f = d + t.absoluteOffset.left;
            o = {
                top: p,
                left: f,
                width: 1,
                height: 1,
                right: f + 1,
                center: p,
                middle: f,
                bottom: p + 1
            }
        }
        var m = {
            maxHeight: t.maxHeight,
            maxWidth: t.maxWidth,
            visibility: "visible"
        };
        !0 !== t.fit &amp;&amp; !0 !== t.cover || (m.minWidth = o.width + "px", !0 === t.cover &amp;&amp; (m.minHeight = o.height + "px")),
            Object.assign(t.el.style, m);
        var v = function (t) {
            return {
                top: 0,
                center: t.offsetHeight / 2,
                bottom: t.offsetHeight,
                left: 0,
                middle: t.offsetWidth / 2,
                right: t.offsetWidth
            }
        }(t.el),
            g = {
                top: o[t.anchorOrigin.vertical] - v[t.selfOrigin.vertical],
                left: o[t.anchorOrigin.horizontal] - v[t.selfOrigin.horizontal]
            };
        !function (t, e, i, s, n) {
            var o = i.bottom,
                r = i.right,
                a = Ye(),
                l = window.innerHeight - a,
                c = document.body.clientWidth;
            if (t.top &lt; 0 || t.top + o &gt; l)
                if ("center" === n.vertical)
                    t.top = e[s.vertical] &gt; l / 2 ? Math.max(0, l - o) : 0,
                        t.maxHeight = Math.min(o, l);
                else if (e[s.vertical] &gt; l / 2) {
                    var u = Math.min(l, "center" === s.vertical ? e.center : s.vertical === n.vertical ? e.bottom : e.top);
                    t.maxHeight = Math.min(o, u),
                        t.top = Math.max(0, u - o)
                }
                else
                    t.top = Math.max(0, "center" === s.vertical ? e.center : s.vertical === n.vertical ? e.top : e.bottom),
                        t.maxHeight = Math.min(o, l - t.top);
            if (t.left &lt; 0 || t.left + r &gt; c)
                if (t.maxWidth = Math.min(r, c), "middle" === n.horizontal)
                    t.left = e[s.horizontal] &gt; c / 2 ? Math.max(0, c - r) : 0;
                else if (e[s.horizontal] &gt; c / 2) {
                    var h = Math.min(c, "middle" === s.horizontal ? e.middle : s.horizontal === n.horizontal ? e.right : e.left);
                    t.maxWidth = Math.min(r, h),
                        t.left = Math.max(0, h - t.maxWidth)
                }
                else
                    t.left = Math.max(0, "middle" === s.horizontal ? e.middle : s.horizontal === n.horizontal ? e.left : e.right),
                        t.maxWidth = Math.min(r, c - t.left)
        }(g, o, v, t.anchorOrigin, t.selfOrigin),
            m = {
                top: g.top + "px",
                left: g.left + "px"
            },
            void 0 !== g.maxHeight &amp;&amp; (m.maxHeight = g.maxHeight + "px", o.height &gt; g.maxHeight &amp;&amp; (m.minHeight = m.maxHeight)),
            void 0 !== g.maxWidth &amp;&amp; (m.maxWidth = g.maxWidth + "px", o.width &gt; g.maxWidth &amp;&amp; (m.minWidth = m.maxWidth)),
            Object.assign(t.el.style, m),
            t.el.scrollTop !== l &amp;&amp; (t.el.scrollTop = l),
            t.el.scrollLeft !== a &amp;&amp; (t.el.scrollLeft = a)
    }
    var oi = t.extend({
        name: "QMenu",
        mixins: [
            _t,
            Dt,
            Se,
            Ce,
            qe,
            $e
        ],
        directives: { ClickOutside: ze },
        props: {
            persistent: Boolean,
            autoClose: Boolean,
            separateClosePopup: Boolean,
            noRefocus: Boolean,
            noFocus: Boolean,
            fit: Boolean,
            cover: Boolean,
            square: Boolean,
            anchor: {
                type: String,
                validator: ei
            },
            self: {
                type: String,
                validator: ei
            },
            offset: {
                type: Array,
                validator: ii
            },
            scrollTarget: { default: void 0 },
            touchPosition: Boolean,
            maxHeight: {
                type: String,
                default: null
            },
            maxWidth: {
                type: String,
                default: null
            }
        },
        computed: {
            horizSide: function () {
                return !0 === this.$q.lang.rtl ? "right" : "left"
            },
            anchorOrigin: function () {
                return si(this.anchor || (!0 === this.cover ? "center middle" : "bottom " + this.horizSide))
            },
            selfOrigin: function () {
                return !0 === this.cover ? this.anchorOrigin : si(this.self || "top " + this.horizSide)
            },
            menuClass: function () {
                return (!0 === this.square ? " q-menu--square" : "") + (!0 === this.isDark ? " q-menu--dark q-dark" : "")
            },
            hideOnRouteChange: function () {
                return !0 !== this.persistent
            },
            onEvents: function () {
                var t = Object.assign({}, this.qListeners, {
                    input: y,
                    "popup-show": y,
                    "popup-hide": y
                });
                return !0 === this.autoClose &amp;&amp; (t.click = this.__onAutoClose), t
            },
            attrs: function () {
                return Object.assign({}, { tabindex: -1 }, this.qAttrs)
            }
        },
        methods: {
            focus: function () {
                var t = void 0 !== this.__portal &amp;&amp; void 0 !== this.__portal.$refs ? this.__portal.$refs.inner : void 0;
                void 0 !== t &amp;&amp; !0 !== t.contains(document.activeElement) &amp;&amp; (t = t.querySelector("[autofocus], [data-autofocus]") || t).focus()
            },
            __show: function (t) {
                var e = this;
                if (this.__refocusTarget = !1 === this.noRefocus &amp;&amp; null !== document.activeElement ? document.activeElement : void 0, ti.register(this, function () {
                    !0 !== e.persistent &amp;&amp; (e.$emit("escape-key"), e.hide())
                }), this.__showPortal(), this.__configureScrollTarget(), this.absoluteOffset = void 0, void 0 !== t &amp;&amp; (this.touchPosition || this.contextMenu)) {
                    var i = v(t);
                    if (void 0 !== i.left) {
                        var s = this.anchorEl.getBoundingClientRect(),
                            n = s.top,
                            o = s.left;
                        this.absoluteOffset = {
                            left: i.left - o,
                            top: i.top - n
                        }
                    }
                }
                void 0 === this.unwatch &amp;&amp; (this.unwatch = this.$watch(function () {
                    return e.$q.screen.width + "|" + e.$q.screen.height + "|" + e.self + "|" + e.anchor
                }, this.updatePosition)),
                    this.$el.dispatchEvent(C("popup-show", { bubbles: !0 })),
                    !0 !== this.noFocus &amp;&amp; null !== document.activeElement &amp;&amp; document.activeElement.blur(),
                    this.__nextTick(function () {
                        e.updatePosition(),
                            !0 !== e.noFocus &amp;&amp; e.focus()
                    }),
                    this.__setTimeout(function () {
                        !0 === e.$q.platform.is.ios &amp;&amp; (e.__avoidAutoClose = e.autoClose, e.__portal.$el.click()),
                            e.updatePosition(),
                            e.$emit("show", t)
                    }, 300)
            },
            __hide: function (t) {
                var e = this;
                this.__anchorCleanup(!0),
                    void 0 === this.__refocusTarget || null === this.__refocusTarget || void 0 !== t &amp;&amp; !0 === t.qClickOutside || this.__refocusTarget.focus(),
                    this.$el.dispatchEvent(C("popup-hide", { bubbles: !0 })),
                    this.__setTimeout(function () {
                        e.__hidePortal(),
                            e.$emit("hide", t)
                    }, 300)
            },
            __anchorCleanup: function (t) {
                this.absoluteOffset = void 0,
                    void 0 !== this.unwatch &amp;&amp; (this.unwatch(), this.unwatch = void 0),
                    !0 !== t &amp;&amp; !0 !== this.showing || (ti.pop(this), this.__unconfigureScrollTarget())
            },
            __unconfigureScrollTarget: function () {
                void 0 !== this.__scrollTarget &amp;&amp; (this.__changeScrollEvent(this.__scrollTarget), this.__scrollTarget = void 0)
            },
            __configureScrollTarget: function () {
                void 0 === this.anchorEl &amp;&amp; void 0 === this.scrollTarget || (this.__scrollTarget = De(this.anchorEl, this.scrollTarget), this.__changeScrollEvent(this.__scrollTarget, this.updatePosition))
            },
            __onAutoClose: function (t) {
                !0 !== this.__avoidAutoClose ? (ke(this, t), void 0 !== this.qListeners.click &amp;&amp; this.$emit("click", t)) : this.__avoidAutoClose = !1
            },
            updatePosition: function () {
                if (void 0 !== this.anchorEl &amp;&amp; void 0 !== this.__portal) {
                    var t = this.__portal.$el;
                    8 !== t.nodeType ? ni({
                        el: t,
                        offset: this.offset,
                        anchorEl: this.anchorEl,
                        anchorOrigin: this.anchorOrigin,
                        selfOrigin: this.selfOrigin,
                        absoluteOffset: this.absoluteOffset,
                        fit: this.fit,
                        cover: this.cover,
                        maxHeight: this.maxHeight,
                        maxWidth: this.maxWidth
                    }) : setTimeout(this.updatePosition, 25)
                }
            },
            __onClickOutside: function (t) {
                if (!0 !== this.persistent &amp;&amp; !0 === this.showing) {
                    var e = t.target.classList;
                    return this.hide(t), ("touchstart" === t.type || e.contains("q-dialog__backdrop")) &amp;&amp; S(t), !0
                }
            },
            __renderPortal: function (t) {
                return t("transition", { props: { name: this.transition } }, [
                    !0 === this.showing ? t("div", {
                        ref: "inner",
                        staticClass: "q-menu q-position-engine scroll" + this.menuClass,
                        class: this.contentClass,
                        style: this.contentStyle,
                        attrs: this.attrs,
                        on: this.onEvents,
                        directives: [
                            {
                                name: "click-outside",
                                value: this.__onClickOutside,
                                arg: this.anchorEl
                            }
                        ]
                    }, Lt(this, "default")) : null
                ])
            }
        },
        mounted: function () {
            this.__processModelChange(this.value)
        },
        beforeDestroy: function () {
            !0 === this.showing &amp;&amp; void 0 !== this.anchorEl &amp;&amp; this.anchorEl.dispatchEvent(C("popup-hide", { bubbles: !0 }))
        }
    }),
        ri = t.extend({
            name: "QBtnDropdown",
            mixins: [
                ae
            ],
            props: {
                value: Boolean,
                split: Boolean,
                dropdownIcon: String,
                contentClass: [
                    Array,
                    String,
                    Object
                ],
                contentStyle: [
                    Array,
                    String,
                    Object
                ],
                cover: Boolean,
                persistent: Boolean,
                autoClose: Boolean,
                menuAnchor: {
                    type: String,
                    default: "bottom right"
                },
                menuSelf: {
                    type: String,
                    default: "top right"
                },
                menuOffset: Array,
                disableMainBtn: Boolean,
                disableDropdown: Boolean,
                noIconAnimation: Boolean
            },
            data: function () {
                return { showing: this.value }
            },
            watch: {
                value: function (t) {
                    void 0 !== this.$refs.menu &amp;&amp; this.$refs.menu[t ? "show" : "hide"]()
                }
            },
            render: function (t) {
                var e = this,
                    i = Lt(this, "label", []),
                    s = {
                        "aria-expanded": !0 === this.showing ? "true" : "false",
                        "aria-haspopup": !0
                    };
                (!0 === this.disable || !1 === this.split &amp;&amp; !0 === this.disableMainBtn || !0 === this.disableDropdown) &amp;&amp; (s["aria-disabled"] = "");
                var n = [
                    t(Et, {
                        props: { name: this.dropdownIcon || this.$q.iconSet.arrow.dropdown },
                        class: "q-btn-dropdown__arrow" + (!0 === this.showing &amp;&amp; !1 === this.noIconAnimation ? " rotate-180" : "") + (!1 === this.split ? " q-btn-dropdown__arrow-container" : "")
                    })
                ];
                if (!0 !== this.disableDropdown &amp;&amp; n.push(t(oi, {
                    ref: "menu",
                    props: {
                        cover: this.cover,
                        fit: !0,
                        persistent: this.persistent,
                        autoClose: this.autoClose,
                        anchor: this.menuAnchor,
                        self: this.menuSelf,
                        offset: this.menuOffset,
                        contentClass: this.contentClass,
                        contentStyle: this.contentStyle,
                        separateClosePopup: !0
                    },
                    on: mt(this, "menu", {
                        "before-show": function (t) {
                            e.showing = !0,
                                e.$emit("before-show", t)
                        },
                        show: function (t) {
                            e.$emit("show", t),
                                e.$emit("input", !0)
                        },
                        "before-hide": function (t) {
                            e.showing = !1,
                                e.$emit("before-hide", t)
                        },
                        hide: function (t) {
                            e.$emit("hide", t),
                                e.$emit("input", !1)
                        }
                    })
                }, Lt(this, "default"))), !1 === this.split)
                    return t(be, {
                        class: "q-btn-dropdown q-btn-dropdown--simple",
                        props: Object.assign({}, this.$props, {
                            disable: !0 === this.disable || !0 === this.disableMainBtn,
                            noWrap: !0,
                            round: !1
                        }),
                        attrs: s,
                        on: mt(this, "nonSpl", {
                            click: function (t) {
                                e.$emit("click", t)
                            }
                        })
                    }, i.concat(n));
                var o = t(be, {
                    class: "q-btn-dropdown--current",
                    props: Object.assign({}, this.$props, {
                        disable: !0 === this.disable || !0 === this.disableMainBtn,
                        noWrap: !0,
                        iconRight: this.iconRight,
                        round: !1
                    }),
                    on: mt(this, "spl", {
                        click: function (t) {
                            e.hide(),
                                e.$emit("click", t)
                        }
                    })
                }, i);
                return t(ye, {
                    props: {
                        outline: this.outline,
                        flat: this.flat,
                        rounded: this.rounded,
                        push: this.push,
                        unelevated: this.unelevated,
                        glossy: this.glossy,
                        stretch: this.stretch
                    },
                    staticClass: "q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item"
                }, [
                    o,
                    t(be, {
                        staticClass: "q-btn-dropdown__arrow-container",
                        attrs: s,
                        props: {
                            disable: !0 === this.disable || !0 === this.disableDropdown,
                            outline: this.outline,
                            flat: this.flat,
                            rounded: this.rounded,
                            push: this.push,
                            size: this.size,
                            color: this.color,
                            textColor: this.textColor,
                            dense: this.dense,
                            ripple: this.ripple
                        }
                    }, n)
                ])
            },
            methods: {
                toggle: function (t) {
                    this.$refs.menu &amp;&amp; this.$refs.menu.toggle(t)
                },
                show: function (t) {
                    this.$refs.menu &amp;&amp; this.$refs.menu.show(t)
                },
                hide: function (t) {
                    this.$refs.menu &amp;&amp; this.$refs.menu.hide(t)
                }
            },
            mounted: function () {
                !0 === this.value &amp;&amp; this.show()
            }
        }),
        ai = {
            props: { name: String },
            computed: {
                formAttrs: function () {
                    return {
                        type: "hidden",
                        name: this.name,
                        value: this.value
                    }
                }
            },
            methods: {
                __injectFormInput: function (t, e, i) {
                    t[e](this.$createElement("input", {
                        staticClass: "hidden",
                        class: i,
                        attrs: this.formAttrs,
                        domProps: this.formDomProps
                    }))
                }
            }
        },
        li = {
            props: { name: String },
            computed: {
                nameProp: function () {
                    return this.name || this.for
                }
            }
        },
        ci = t.extend({
            name: "QBtnToggle",
            mixins: [
                Mt,
                oe,
                ai
            ],
            props: {
                value: { required: !0 },
                options: {
                    type: Array,
                    required: !0,
                    validator: function (t) {
                        return t.every(function (t) {
                            return ("label" in t || "icon" in t || "slot" in t) &amp;&amp; "value" in t
                        })
                    }
                },
                color: String,
                textColor: String,
                toggleColor: {
                    type: String,
                    default: "primary"
                },
                toggleTextColor: String,
                outline: Boolean,
                flat: Boolean,
                unelevated: Boolean,
                rounded: Boolean,
                push: Boolean,
                glossy: Boolean,
                size: String,
                noCaps: Boolean,
                noWrap: Boolean,
                dense: Boolean,
                readonly: Boolean,
                disable: Boolean,
                stack: Boolean,
                stretch: Boolean,
                spread: Boolean,
                clearable: Boolean
            },
            computed: {
                hasActiveValue: function () {
                    var t = this;
                    return void 0 !== this.options.find(function (e) {
                        return e.value === t.value
                    })
                },
                formAttrs: function () {
                    return {
                        type: "hidden",
                        name: this.name,
                        value: this.value
                    }
                }
            },
            methods: {
                __set: function (t, e, i) {
                    !0 !== this.readonly &amp;&amp; (this.value === t ? !0 === this.clearable &amp;&amp; (this.$emit("input", null, null), this.$emit("clear")) : this.$emit("input", t, e), this.$emit("click", i))
                }
            },
            render: function (t) {
                var e = this,
                    i = this.options.map(function (i, s) {
                        return t(be, {
                            key: s,
                            class: i.class,
                            style: i.style,
                            on: Object.assign({}, e.qListeners, {
                                click: function (t) {
                                    return e.__set(i.value, i, t)
                                }
                            }),
                            props: {
                                disable: e.disable || i.disable,
                                label: i.label,
                                color: i.value === e.value ? i.toggleColor || e.toggleColor : i.color || e.color,
                                textColor: i.value === e.value ? i.toggleTextColor || e.toggleTextColor : i.textColor || e.textColor,
                                icon: i.icon,
                                iconRight: i.iconRight,
                                noCaps: void 0 === i.noCaps ? e.noCaps : !0 === i.noCaps,
                                noWrap: void 0 === i.noWrap ? e.noWrap : !0 === i.noWrap,
                                outline: e.outline,
                                flat: e.flat,
                                rounded: e.rounded,
                                push: e.push,
                                unelevated: e.unelevated,
                                size: e.size,
                                dense: e.dense,
                                ripple: void 0 === i.ripple ? e.ripple : i.ripple,
                                stack: void 0 === i.stack ? e.stack : !0 === i.stack,
                                tabindex: i.tabindex,
                                stretch: void 0 === i.stretch ? e.stretch : !0 === i.stretch
                            }
                        }, void 0 !== i.slot ? Lt(e, i.slot) : void 0)
                    });
                return void 0 !== this.name &amp;&amp; !0 !== this.disable &amp;&amp; !0 === this.hasActiveValue &amp;&amp; this.__injectFormInput(i, "push"), t(ye, {
                    staticClass: "q-btn-toggle",
                    props: {
                        outline: this.outline,
                        flat: this.flat,
                        rounded: this.rounded,
                        push: this.push,
                        stretch: this.stretch,
                        unelevated: this.unelevated,
                        glossy: this.glossy,
                        spread: this.spread
                    }
                }, i)
            }
        }),
        ui = t.extend({
            name: "QCard",
            mixins: [
                Mt,
                Dt,
                $t
            ],
            props: {
                square: Boolean,
                flat: Boolean,
                bordered: Boolean
            },
            computed: {
                classes: function () {
                    return "q-card" + (!0 === this.isDark ? " q-card--dark q-dark" : "") + (!0 === this.bordered ? " q-card--bordered" : "") + (!0 === this.square ? " q-card--square no-border-radius" : "") + (!0 === this.flat ? " q-card--flat no-shadow" : "")
                }
            },
            render: function (t) {
                return t(this.tag, {
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        hi = t.extend({
            name: "QCardSection",
            mixins: [
                Mt,
                $t
            ],
            props: { horizontal: Boolean },
            computed: {
                classes: function () {
                    return "q-card__section q-card__section--" + (!0 === this.horizontal ? "horiz row no-wrap" : "vert")
                }
            },
            render: function (t) {
                return t(this.tag, {
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        di = t.extend({
            name: "QCardActions",
            mixins: [
                Mt,
                Ht
            ],
            props: { vertical: Boolean },
            computed: {
                classes: function () {
                    return "q-card__actions--" + (!0 === this.vertical ? "vert column" : "horiz row") + " " + this.alignClass
                }
            },
            render: function (t) {
                return t("div", {
                    staticClass: "q-card__actions",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        });
    var pi = {
        name: "touch-swipe",
        bind: function (t, e) {
            var i = e.value,
                s = e.arg,
                n = e.modifiers;
            if (!0 === n.mouse || !0 === u.has.touch) {
                var o = !0 === n.mouseCapture ? "Capture" : "",
                    r = {
                        handler: i,
                        sensitivity: function (t) {
                            var e = [.06, 6, 50];
                            return "string" == typeof t &amp;&amp; t.length &amp;&amp; t.split(":").forEach(function (t, i) {
                                var s = parseFloat(t);
                                s &amp;&amp; (e[i] = s)
                            }), e
                        }(s),
                        modifiers: n,
                        direction: ue(n),
                        noop: f,
                        mouseStart: function (t) {
                            pe(t, r) &amp;&amp; m(t) &amp;&amp; (k(r, "temp", [
                                [
                                    document,
                                    "mousemove",
                                    "move",
                                    "notPassive" + o
                                ],
                                [
                                    document,
                                    "mouseup",
                                    "end",
                                    "notPassiveCapture"
                                ]
                            ]), r.start(t, !0))
                        },
                        touchStart: function (t) {
                            if (pe(t, r)) {
                                var e = de(t.target);
                                k(r, "temp", [
                                    [
                                        e,
                                        "touchmove",
                                        "move",
                                        "notPassiveCapture"
                                    ],
                                    [
                                        e,
                                        "touchcancel",
                                        "end",
                                        "notPassiveCapture"
                                    ],
                                    [
                                        e,
                                        "touchend",
                                        "end",
                                        "notPassiveCapture"
                                    ]
                                ]),
                                    r.start(t)
                            }
                        },
                        start: function (e, i) {
                            !0 === u.is.firefox &amp;&amp; x(t, !0);
                            var s = v(e);
                            r.event = {
                                x: s.left,
                                y: s.top,
                                time: Date.now(),
                                mouse: !0 === i,
                                dir: !1
                            }
                        },
                        move: function (t) {
                            if (void 0 !== r.event)
                                if (!1 === r.event.dir) {
                                    var e = Date.now() - r.event.time;
                                    if (0 !== e) {
                                        var i = v(t),
                                            s = i.left - r.event.x,
                                            n = Math.abs(s),
                                            o = i.top - r.event.y,
                                            a = Math.abs(o);
                                        if (!0 !== r.event.mouse) {
                                            if (n &lt; r.sensitivity[1] &amp;&amp; a &lt; r.sensitivity[1])
                                                return void r.end(t)
                                        }
                                        else if (n &lt; r.sensitivity[2] &amp;&amp; a &lt; r.sensitivity[2])
                                            return;
                                        var l = n / e,
                                            c = a / e;
                                        !0 === r.direction.vertical &amp;&amp; n &lt; a &amp;&amp; n &lt; 100 &amp;&amp; c &gt; r.sensitivity[0] &amp;&amp; (r.event.dir = o &lt; 0 ? "up" : "down"),
                                            !0 === r.direction.horizontal &amp;&amp; n &gt; a &amp;&amp; a &lt; 100 &amp;&amp; l &gt; r.sensitivity[0] &amp;&amp; (r.event.dir = s &lt; 0 ? "left" : "right"),
                                            !0 === r.direction.up &amp;&amp; n &lt; a &amp;&amp; o &lt; 0 &amp;&amp; n &lt; 100 &amp;&amp; c &gt; r.sensitivity[0] &amp;&amp; (r.event.dir = "up"),
                                            !0 === r.direction.down &amp;&amp; n &lt; a &amp;&amp; o &gt; 0 &amp;&amp; n &lt; 100 &amp;&amp; c &gt; r.sensitivity[0] &amp;&amp; (r.event.dir = "down"),
                                            !0 === r.direction.left &amp;&amp; n &gt; a &amp;&amp; s &lt; 0 &amp;&amp; a &lt; 100 &amp;&amp; l &gt; r.sensitivity[0] &amp;&amp; (r.event.dir = "left"),
                                            !0 === r.direction.right &amp;&amp; n &gt; a &amp;&amp; s &gt; 0 &amp;&amp; a &lt; 100 &amp;&amp; l &gt; r.sensitivity[0] &amp;&amp; (r.event.dir = "right"),
                                            !1 !== r.event.dir ? (S(t), !0 === r.event.mouse &amp;&amp; (document.body.classList.add("no-pointer-events--children"), document.body.classList.add("non-selectable"), we(), r.styleCleanup = function (t) {
                                                r.styleCleanup = void 0,
                                                    document.body.classList.remove("non-selectable");
                                                var e = function () {
                                                    document.body.classList.remove("no-pointer-events--children")
                                                };
                                                !0 === t ? setTimeout(e, 50) : e()
                                            }), r.handler({
                                                evt: t,
                                                touch: !0 !== r.event.mouse,
                                                mouse: r.event.mouse,
                                                direction: r.event.dir,
                                                duration: e,
                                                distance: {
                                                    x: n,
                                                    y: a
                                                }
                                            })) : r.end(t)
                                    }
                                }
                                else
                                    S(t)
                        },
                        end: function (e) {
                            void 0 !== r.event &amp;&amp; (q(r, "temp"), !0 === u.is.firefox &amp;&amp; x(t, !1), void 0 !== r.styleCleanup &amp;&amp; r.styleCleanup(!0), void 0 !== e &amp;&amp; !1 !== r.event.dir &amp;&amp; S(e), r.event = void 0)
                        }
                    };
                t.__qtouchswipe &amp;&amp; (t.__qtouchswipe_old = t.__qtouchswipe),
                    t.__qtouchswipe = r,
                    !0 === n.mouse &amp;&amp; k(r, "main", [
                        [
                            t,
                            "mousedown",
                            "mouseStart",
                            "passive" + o
                        ]
                    ]),
                    !0 === u.has.touch &amp;&amp; k(r, "main", [
                        [
                            t,
                            "touchstart",
                            "touchStart",
                            "passive" + (!0 === n.capture ? "Capture" : "")
                        ],
                        [
                            t,
                            "touchmove",
                            "noop",
                            "notPassiveCapture"
                        ]
                    ])
            }
        },
        update: function (t, e) {
            void 0 !== t.__qtouchswipe &amp;&amp; he(t.__qtouchswipe, e)
        },
        unbind: function (t) {
            var e = t.__qtouchswipe_old || t.__qtouchswipe;
            void 0 !== e &amp;&amp; (q(e, "main"), q(e, "temp"), !0 === u.is.firefox &amp;&amp; x(t, !1), void 0 !== e.styleCleanup &amp;&amp; e.styleCleanup(), delete t[t.__qtouchswipe_old ? "__qtouchswipe_old" : "__qtouchswipe"])
        }
    },
        fi = t.extend({
            name: "QTabPanelWrapper",
            render: function (t) {
                return t("div", {
                    staticClass: "q-panel scroll",
                    attrs: { role: "tabpanel" },
                    on: mt(this, "stop", { input: y })
                }, Lt(this, "default"))
            }
        }),
        mi = {
            mixins: [
                Mt
            ],
            directives: { TouchSwipe: pi },
            props: {
                value: { required: !0 },
                animated: Boolean,
                infinite: Boolean,
                swipeable: Boolean,
                vertical: Boolean,
                transitionPrev: String,
                transitionNext: String,
                keepAlive: Boolean
            },
            data: function () {
                return {
                    panelIndex: null,
                    panelTransition: null
                }
            },
            computed: {
                panelDirectives: function () {
                    if (!0 === this.swipeable)
                        return [
                            {
                                name: "touch-swipe",
                                value: this.__swipe,
                                modifiers: {
                                    horizontal: !0 !== this.vertical,
                                    vertical: this.vertical,
                                    mouse: !0
                                }
                            }
                        ]
                },
                contentKey: function () {
                    return "string" == typeof this.value || "number" == typeof this.value ? this.value : String(this.value)
                },
                transitionPrevComputed: function () {
                    return this.transitionPrev || "slide-" + (!0 === this.vertical ? "down" : "right")
                },
                transitionNextComputed: function () {
                    return this.transitionNext || "slide-" + (!0 === this.vertical ? "up" : "left")
                }
            },
            watch: {
                value: function (t, e) {
                    var i = this,
                        s = !0 === this.__isValidPanelName(t) ? this.__getPanelIndex(t) : -1;
                    !0 !== this.__forcedPanelTransition &amp;&amp; this.__updatePanelTransition(-1 === s ? 0 : s &lt; this.__getPanelIndex(e) ? -1 : 1),
                        this.panelIndex !== s &amp;&amp; (this.panelIndex = s, this.$emit("before-transition", t, e), this.$nextTick(function () {
                            i.$emit("transition", t, e)
                        }))
                }
            },
            methods: {
                next: function () {
                    this.__go(1)
                },
                previous: function () {
                    this.__go(-1)
                },
                goTo: function (t) {
                    this.$emit("input", t)
                },
                __isValidPanelName: function (t) {
                    return void 0 !== t &amp;&amp; null !== t &amp;&amp; "" !== t
                },
                __getPanelIndex: function (t) {
                    return this.panels.findIndex(function (e) {
                        var i = e.componentOptions;
                        return i &amp;&amp; i.propsData.name === t &amp;&amp; "" !== i.propsData.disable &amp;&amp; !0 !== i.propsData.disable
                    })
                },
                __getAllPanels: function () {
                    var t = this;
                    return this.panels.filter(function (e) {
                        return void 0 !== e.componentOptions &amp;&amp; t.__isValidPanelName(e.componentOptions.propsData.name)
                    })
                },
                __getAvailablePanels: function () {
                    return this.panels.filter(function (t) {
                        var e = t.componentOptions;
                        return e &amp;&amp; void 0 !== e.propsData.name &amp;&amp; "" !== e.propsData.disable &amp;&amp; !0 !== e.propsData.disable
                    })
                },
                __updatePanelTransition: function (t) {
                    var e = 0 !== t &amp;&amp; !0 === this.animated &amp;&amp; -1 !== this.panelIndex ? "q-transition--" + (-1 === t ? this.transitionPrevComputed : this.transitionNextComputed) : null;
                    this.panelTransition !== e &amp;&amp; (this.panelTransition = e)
                },
                __go: function (t, e) {
                    var i = this;
                    void 0 === e &amp;&amp; (e = this.panelIndex);
                    for (var s = e + t, n = this.panels; s &gt; -1 &amp;&amp; s &lt; n.length;) {
                        var o = n[s].componentOptions;
                        if (void 0 !== o &amp;&amp; "" !== o.propsData.disable &amp;&amp; !0 !== o.propsData.disable)
                            return this.__updatePanelTransition(t), this.__forcedPanelTransition = !0, this.$emit("input", n[s].componentOptions.propsData.name), void setTimeout(function () {
                                i.__forcedPanelTransition = !1
                            });
                        s += t
                    }
                    !0 === this.infinite &amp;&amp; n.length &gt; 0 &amp;&amp; -1 !== e &amp;&amp; e !== n.length &amp;&amp; this.__go(t, -1 === t ? n.length : -1)
                },
                __swipe: function (t) {
                    var e = !0 === this.vertical ? "up" : "left";
                    this.__go((!0 === this.$q.lang.rtl ? -1 : 1) * (t.direction === e ? 1 : -1))
                },
                __updatePanelIndex: function () {
                    var t = this.__getPanelIndex(this.value);
                    return this.panelIndex !== t &amp;&amp; (this.panelIndex = t), !0
                },
                __getPanelContent: function (t) {
                    if (0 !== this.panels.length) {
                        var e = this.__isValidPanelName(this.value) &amp;&amp; this.__updatePanelIndex() &amp;&amp; this.panels[this.panelIndex],
                            i = !0 === this.keepAlive ? [
                                t("keep-alive", [
                                    t(fi, { key: this.contentKey }, [
                                        e
                                    ])
                                ])
                            ] : [
                                t("div", {
                                    staticClass: "q-panel scroll",
                                    key: this.contentKey,
                                    attrs: { role: "tabpanel" },
                                    on: mt(this, "stop", { input: y })
                                }, [
                                    e
                                ])
                            ];
                        return !0 === this.animated ? [
                            t("transition", { props: { name: this.panelTransition } }, i)
                        ] : i
                    }
                }
            },
            render: function (t) {
                return this.panels = Lt(this, "default", []), this.__renderPanels(t)
            }
        },
        vi = {
            mixins: [
                Mt
            ],
            props: {
                name: { required: !0 },
                disable: Boolean
            }
        },
        gi = {
            props: {
                fullscreen: Boolean,
                noRouteFullscreenExit: Boolean
            },
            data: function () {
                return { inFullscreen: !1 }
            },
            watch: {
                $route: function () {
                    !0 !== this.noRouteFullscreenExit &amp;&amp; this.exitFullscreen()
                },
                fullscreen: function (t) {
                    this.inFullscreen !== t &amp;&amp; this.toggleFullscreen()
                },
                inFullscreen: function (t) {
                    this.$emit("update:fullscreen", t),
                        this.$emit("fullscreen", t)
                }
            },
            methods: {
                toggleFullscreen: function () {
                    !0 === this.inFullscreen ? this.exitFullscreen() : this.setFullscreen()
                },
                setFullscreen: function () {
                    !0 !== this.inFullscreen &amp;&amp; (this.inFullscreen = !0, this.container = this.$el.parentNode, this.container.replaceChild(this.fullscreenFillerNode, this.$el), document.body.appendChild(this.$el), document.body.classList.add("q-body--fullscreen-mixin"), this.__historyFullscreen = { handler: this.exitFullscreen }, A.add(this.__historyFullscreen))
                },
                exitFullscreen: function () {
                    var t = this;
                    !0 === this.inFullscreen &amp;&amp; (void 0 !== this.__historyFullscreen &amp;&amp; (A.remove(this.__historyFullscreen), this.__historyFullscreen = void 0), this.container.replaceChild(this.$el, this.fullscreenFillerNode), document.body.classList.remove("q-body--fullscreen-mixin"), this.inFullscreen = !1, void 0 !== this.$el.scrollIntoView &amp;&amp; setTimeout(function () {
                        t.$el.scrollIntoView()
                    }))
                }
            },
            beforeMount: function () {
                this.fullscreenFillerNode = document.createElement("span")
            },
            mounted: function () {
                !0 === this.fullscreen &amp;&amp; this.setFullscreen()
            },
            beforeDestroy: function () {
                this.exitFullscreen()
            }
        },
        _i = "function" == typeof Map,
        bi = "function" == typeof Set,
        yi = "function" == typeof ArrayBuffer;
    function wi(t, e) {
        if (t === e)
            return !0;
        if (null !== t &amp;&amp; null !== e &amp;&amp; "object" == typeof t &amp;&amp; "object" == typeof e) {
            if (t.constructor !== e.constructor)
                return !1;
            var i,
                s;
            if (t.constructor === Array) {
                if ((i = t.length) !== e.length)
                    return !1;
                for (s = i; 0 != s--;)
                    if (!0 !== wi(t[s], e[s]))
                        return !1;
                return !0
            }
            if (!0 === _i &amp;&amp; t.constructor === Map) {
                if (t.size !== e.size)
                    return !1;
                for (s = t.entries().next(); !0 !== s.done;) {
                    if (!0 !== e.has(s.value[0]))
                        return !1;
                    s = s.next()
                }
                for (s = t.entries().next(); !0 !== s.done;) {
                    if (!0 !== wi(s.value[1], e.get(s.value[0])))
                        return !1;
                    s = s.next()
                }
                return !0
            }
            if (!0 === bi &amp;&amp; t.constructor === Set) {
                if (t.size !== e.size)
                    return !1;
                for (s = t.entries().next(); !0 !== s.done;) {
                    if (!0 !== e.has(s.value[0]))
                        return !1;
                    s = s.next()
                }
                return !0
            }
            if (!0 === yi &amp;&amp; null != t.buffer &amp;&amp; t.buffer.constructor === ArrayBuffer) {
                if ((i = t.length) !== e.length)
                    return !1;
                for (s = i; 0 != s--;)
                    if (t[s] !== e[s])
                        return !1;
                return !0
            }
            if (t.constructor === RegExp)
                return t.source === e.source &amp;&amp; t.flags === e.flags;
            if (t.valueOf !== Object.prototype.valueOf)
                return t.valueOf() === e.valueOf();
            if (t.toString !== Object.prototype.toString)
                return t.toString() === e.toString();
            var n = Object.keys(t);
            if ((i = n.length) !== Object.keys(e).length)
                return !1;
            for (s = i; 0 != s--;) {
                var o = n[s];
                if (!0 !== wi(t[o], e[o]))
                    return !1
            }
            return !0
        }
        return t != t &amp;&amp; e != e
    }
    function Si(t) {
        return "[object Date]" === Object.prototype.toString.call(t)
    }
    function xi(t) {
        return "number" == typeof t &amp;&amp; isFinite(t)
    }
    var Ci = t.extend({
        name: "QCarousel",
        mixins: [
            Dt,
            mi,
            gi
        ],
        props: {
            height: String,
            padding: Boolean,
            controlType: {
                type: String,
                validator: function (t) {
                    return ["regular", "flat", "outline", "push", "unelevated"].includes(t)
                },
                default: "flat"
            },
            controlColor: String,
            controlTextColor: String,
            autoplay: [
                Number,
                Boolean
            ],
            arrows: Boolean,
            prevIcon: String,
            nextIcon: String,
            navigation: Boolean,
            navigationPosition: {
                type: String,
                validator: function (t) {
                    return ["top", "right", "bottom", "left"].includes(t)
                }
            },
            navigationIcon: String,
            thumbnails: Boolean
        },
        computed: {
            style: function () {
                if (!0 !== this.inFullscreen &amp;&amp; void 0 !== this.height)
                    return { height: this.height }
            },
            direction: function () {
                return !0 === this.vertical ? "vertical" : "horizontal"
            },
            classes: function () {
                return "q-carousel q-panel-parent q-carousel--with" + (!0 === this.padding ? "" : "out") + "-padding" + (!0 === this.inFullscreen ? " fullscreen" : "") + (!0 === this.isDark ? " q-carousel--dark q-dark" : "") + (!0 === this.arrows ? " q-carousel--arrows-" + this.direction : "") + (!0 === this.navigation ? " q-carousel--navigation-" + this.navigationPositionComputed : "")
            },
            arrowIcons: function () {
                var t = [
                    this.prevIcon || this.$q.iconSet.carousel[!0 === this.vertical ? "up" : "left"],
                    this.nextIcon || this.$q.iconSet.carousel[!0 === this.vertical ? "down" : "right"]
                ];
                return !1 === this.vertical &amp;&amp; !0 === this.$q.lang.rtl ? t.reverse() : t
            },
            navIcon: function () {
                return this.navigationIcon || this.$q.iconSet.carousel.navigationIcon
            },
            navigationPositionComputed: function () {
                return this.navigationPosition || (!0 === this.vertical ? "right" : "bottom")
            },
            controlProps: function () {
                var t;
                return (t = {
                    color: this.controlColor,
                    textColor: this.controlTextColor,
                    round: !0
                })[this.controlType] = !0, t.dense = !0, t
            },
            transitionPrevComputed: function () {
                return this.transitionPrev || "fade"
            },
            transitionNextComputed: function () {
                return this.transitionNext || "fade"
            }
        },
        watch: {
            value: function () {
                this.autoplay &amp;&amp; (clearInterval(this.timer), this.__startTimer())
            },
            autoplay: function (t) {
                t ? this.__startTimer() : clearInterval(this.timer)
            }
        },
        methods: {
            __startTimer: function () {
                this.timer = setTimeout(this.next, xi(this.autoplay) ? this.autoplay : 5e3)
            },
            __getNavigationContainer: function (t, e, i) {
                return t("div", { class: "q-carousel__control q-carousel__navigation no-wrap absolute flex q-carousel__navigation--" + e + " q-carousel__navigation--" + this.navigationPositionComputed + (void 0 !== this.controlColor ? " text-" + this.controlColor : "") }, [
                    t("div", { staticClass: "q-carousel__navigation-inner flex no-wrap justify-center" }, this.__getAvailablePanels().map(i))
                ])
            },
            __getContent: function (t) {
                var e = this,
                    i = [];
                if (!0 === this.navigation)
                    i.push(this.__getNavigationContainer(t, "buttons", function (i) {
                        var s = i.componentOptions.propsData.name;
                        return t(be, {
                            key: s,
                            class: "q-carousel__navigation-icon q-carousel__navigation-icon--" + (s === e.value ? "" : "in") + "active",
                            props: Object.assign({}, {
                                icon: e.navIcon,
                                size: "sm"
                            }, e.controlProps),
                            on: mt(e, "nav#" + s, {
                                click: function () {
                                    e.goTo(s)
                                }
                            })
                        })
                    }));
                else if (!0 === this.thumbnails) {
                    var s = void 0 !== this.controlColor ? " text-" + this.controlColor : "";
                    i.push(this.__getNavigationContainer(t, "thumbnails", function (i) {
                        var n = i.componentOptions.propsData;
                        return t("img", {
                            class: "q-carousel__thumbnail q-carousel__thumbnail--" + (n.name === e.value ? "" : "in") + "active" + s,
                            attrs: { src: n.imgSrc },
                            key: "tmb#" + n.name,
                            on: mt(e, "tmb#" + n.name, {
                                click: function () {
                                    e.goTo(n.name)
                                }
                            })
                        })
                    }))
                }
                return !0 === this.arrows &amp;&amp; i.push(t("div", { staticClass: "q-carousel__control q-carousel__arrow q-carousel__prev-arrow q-carousel__prev-arrow--" + this.direction + " absolute flex flex-center" }, [
                    t(be, {
                        props: Object.assign({}, { icon: this.arrowIcons[0] }, this.controlProps),
                        on: mt(this, "prev", { click: this.previous })
                    })
                ]), t("div", { staticClass: "q-carousel__control q-carousel__arrow q-carousel__next-arrow q-carousel__next-arrow--" + this.direction + " absolute flex flex-center" }, [
                    t(be, {
                        props: Object.assign({}, { icon: this.arrowIcons[1] }, this.controlProps),
                        on: mt(this, "next", { click: this.next })
                    })
                ])), Pt(i, this, "control")
            },
            __renderPanels: function (t) {
                return t("div", {
                    style: this.style,
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, [
                    t("div", {
                        staticClass: "q-carousel__slides-container",
                        directives: this.panelDirectives
                    }, this.__getPanelContent(t))
                ].concat(this.__getContent(t)))
            }
        },
        mounted: function () {
            this.autoplay &amp;&amp; this.__startTimer()
        },
        beforeDestroy: function () {
            clearInterval(this.timer)
        }
    }),
        ki = t.extend({
            name: "QCarouselSlide",
            mixins: [
                vi
            ],
            props: { imgSrc: String },
            computed: {
                style: function () {
                    if (this.imgSrc)
                        return { backgroundImage: 'url("' + this.imgSrc + '")' }
                }
            },
            render: function (t) {
                return t("div", {
                    staticClass: "q-carousel__slide",
                    style: this.style,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        qi = t.extend({
            name: "QCarouselControl",
            mixins: [
                Mt
            ],
            props: {
                position: {
                    type: String,
                    default: "bottom-right",
                    validator: function (t) {
                        return ["top-right", "top-left", "bottom-right", "bottom-left", "top", "right", "bottom", "left"].includes(t)
                    }
                },
                offset: {
                    type: Array,
                    default: function () {
                        return [18, 18]
                    },
                    validator: function (t) {
                        return 2 === t.length
                    }
                }
            },
            computed: {
                classes: function () {
                    return "absolute-" + this.position
                },
                style: function () {
                    return { margin: this.offset[1] + "px " + this.offset[0] + "px" }
                }
            },
            render: function (t) {
                return t("div", {
                    staticClass: "q-carousel__control absolute",
                    style: this.style,
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        Ti = t.extend({
            name: "QChatMessage",
            mixins: [
                Mt
            ],
            props: {
                sent: Boolean,
                label: String,
                bgColor: String,
                textColor: String,
                name: String,
                avatar: String,
                text: Array,
                stamp: String,
                size: String,
                labelSanitize: Boolean,
                nameSanitize: Boolean,
                textSanitize: Boolean,
                stampSanitize: Boolean
            },
            computed: {
                textClass: function () {
                    return "q-message-text-content q-message-text-content--" + this.op + (void 0 !== this.textColor ? " text-" + this.textColor : "")
                },
                messageClass: function () {
                    return "q-message-text q-message-text--" + this.op + (void 0 !== this.bgColor ? " text-" + this.bgColor : "")
                },
                containerClass: function () {
                    return "q-message-container row items-end no-wrap" + (!0 === this.sent ? " reverse" : "")
                },
                sizeClass: function () {
                    if (void 0 !== this.size)
                        return "col-" + this.size
                },
                op: function () {
                    return !0 === this.sent ? "sent" : "received"
                }
            },
            methods: {
                __getText: function (t) {
                    var e = this,
                        i = !0 === this.textSanitize ? "textContent" : "innerHTML",
                        s = !0 === this.stampSanitize ? "textContent" : "innerHTML";
                    return this.text.map(function (n, o) {
                        var r,
                            a;
                        return t("div", {
                            key: o,
                            class: e.messageClass
                        }, [
                            t("div", { class: e.textClass }, [
                                t("div", { domProps: (r = {}, r[i] = n, r) }),
                                e.stamp ? t("div", {
                                    staticClass: "q-message-stamp",
                                    domProps: (a = {}, a[s] = e.stamp, a)
                                }) : null
                            ])
                        ])
                    })
                },
                __getMessage: function (t) {
                    var e,
                        i = Bt(this, "default", []);
                    return void 0 !== this.stamp &amp;&amp; i.push(t("div", {
                        staticClass: "q-message-stamp",
                        domProps: (e = {}, e[!0 === this.stampSanitize ? "textContent" : "innerHTML"] = this.stamp, e)
                    })), t("div", { class: this.messageClass }, [
                        t("div", {
                            staticClass: "q-message-text-content",
                            class: this.textClass
                        }, i)
                    ])
                }
            },
            render: function (t) {
                var e,
                    i,
                    s = [];
                void 0 !== this.$scopedSlots.avatar ? s.push(this.$scopedSlots.avatar()) : void 0 !== this.avatar &amp;&amp; s.push(t("img", {
                    class: "q-message-avatar q-message-avatar--" + this.op,
                    attrs: {
                        src: this.avatar,
                        "aria-hidden": "true"
                    }
                }));
                var n = [];
                void 0 !== this.name &amp;&amp; n.push(t("div", {
                    class: "q-message-name q-message-name--" + this.op,
                    domProps: (e = {}, e[!0 === this.nameSanitize ? "textContent" : "innerHTML"] = this.name, e)
                })),
                    void 0 !== this.text &amp;&amp; n.push(this.__getText(t)),
                    void 0 !== this.$scopedSlots.default &amp;&amp; n.push(this.__getMessage(t)),
                    s.push(t("div", { class: this.sizeClass }, n));
                var o = [];
                return this.label &amp;&amp; o.push(t("div", {
                    staticClass: "q-message-label text-center",
                    domProps: (i = {}, i[!0 === this.labelSanitize ? "textContent" : "innerHTML"] = this.label, i)
                })), o.push(t("div", { class: this.containerClass }, s)), t("div", {
                    class: "q-message q-message-" + this.op,
                    on: Object.assign({}, this.qListeners)
                }, o)
            }
        }),
        $i = qt({
            xs: 30,
            sm: 35,
            md: 40,
            lg: 50,
            xl: 60
        }),
        Mi = {
            computed: {
                __refocusTargetEl: function () {
                    if (!0 !== this.disable)
                        return this.$createElement("span", {
                            ref: "refocusTarget",
                            staticClass: "no-outline",
                            attrs: { tabindex: -1 }
                        })
                }
            },
            methods: {
                __refocusTarget: function (t) {
                    void 0 !== t &amp;&amp; 0 === t.type.indexOf("key") ? document.activeElement !== this.$el &amp;&amp; !0 === this.$el.contains(document.activeElement) &amp;&amp; this.$el.focus() : void 0 !== t &amp;&amp; !0 !== this.$el.contains(t.target) || void 0 === this.$refs.refocusTarget || this.$refs.refocusTarget.focus()
                }
            }
        },
        Li = {
            mixins: [
                Dt,
                $i,
                ai,
                Mi
            ],
            props: {
                value: {
                    required: !0,
                    default: null
                },
                val: {},
                trueValue: { default: !0 },
                falseValue: { default: !1 },
                indeterminateValue: { default: null },
                toggleOrder: {
                    type: String,
                    validator: function (t) {
                        return "tf" === t || "ft" === t
                    }
                },
                toggleIndeterminate: Boolean,
                label: String,
                leftLabel: Boolean,
                fontSize: String,
                color: String,
                keepColor: Boolean,
                dense: Boolean,
                disable: Boolean,
                tabindex: [
                    String,
                    Number
                ]
            },
            computed: {
                isTrue: function () {
                    return !0 === this.modelIsArray ? this.index &gt; -1 : this.value === this.trueValue
                },
                isFalse: function () {
                    return !0 === this.modelIsArray ? -1 === this.index : this.value === this.falseValue
                },
                isIndeterminate: function () {
                    return !1 === this.isTrue &amp;&amp; !1 === this.isFalse
                },
                index: function () {
                    if (!0 === this.modelIsArray)
                        return this.value.indexOf(this.val)
                },
                modelIsArray: function () {
                    return void 0 !== this.val &amp;&amp; Array.isArray(this.value)
                },
                computedTabindex: function () {
                    return !0 === this.disable ? -1 : this.tabindex || 0
                },
                labelStyle: function () {
                    if (void 0 !== this.fontSize)
                        return { fontSize: this.fontSize }
                },
                classes: function () {
                    return "q-" + this.type + " cursor-pointer no-outline row inline no-wrap items-center" + (!0 === this.disable ? " disabled" : "") + (!0 === this.isDark ? " q-" + this.type + "--dark" : "") + (!0 === this.dense ? " q-" + this.type + "--dense" : "") + (!0 === this.leftLabel ? " reverse" : "")
                },
                innerClass: function () {
                    var t = !0 === this.isTrue ? "truthy" : !0 === this.isFalse ? "falsy" : "indet",
                        e = void 0 === this.color || !0 !== this.keepColor &amp;&amp; ("toggle" === this.type ? !0 !== this.isTrue : !0 === this.isFalse) ? "" : " text-" + this.color;
                    return "q-" + this.type + "__inner--" + t + e
                },
                formAttrs: function () {
                    var t = { type: "checkbox" };
                    return void 0 !== this.name &amp;&amp; Object.assign(t, {
                        checked: this.isTrue,
                        name: this.name,
                        value: !0 === this.modelIsArray ? this.val : this.trueValue
                    }), t
                },
                attrs: function () {
                    var t = {
                        tabindex: this.computedTabindex,
                        role: "checkbox",
                        "aria-label": this.label,
                        "aria-checked": !0 === this.isIndeterminate ? "mixed" : !0 === this.isTrue ? "true" : "false"
                    };
                    return !0 === this.disable &amp;&amp; (t["aria-disabled"] = ""), t
                }
            },
            methods: {
                toggle: function (t) {
                    void 0 !== t &amp;&amp; (S(t), this.__refocusTarget(t)),
                        !0 !== this.disable &amp;&amp; this.$emit("input", this.__getNextValue(), t)
                },
                __getNextValue: function () {
                    if (!0 === this.modelIsArray) {
                        if (!0 === this.isTrue) {
                            var t = this.value.slice();
                            return t.splice(this.index, 1), t
                        }
                        return this.value.concat([
                            this.val
                        ])
                    }
                    if (!0 === this.isTrue) {
                        if ("ft" !== this.toggleOrder || !1 === this.toggleIndeterminate)
                            return this.falseValue
                    }
                    else {
                        if (!0 !== this.isFalse)
                            return "ft" !== this.toggleOrder ? this.trueValue : this.falseValue;
                        if ("ft" === this.toggleOrder || !1 === this.toggleIndeterminate)
                            return this.trueValue
                    }
                    return this.indeterminateValue
                },
                __onKeydown: function (t) {
                    13 !== t.keyCode &amp;&amp; 32 !== t.keyCode || S(t)
                },
                __onKeyup: function (t) {
                    13 !== t.keyCode &amp;&amp; 32 !== t.keyCode || this.toggle(t)
                }
            },
            render: function (t) {
                var e = this.__getInner(t);
                !0 !== this.disable &amp;&amp; this.__injectFormInput(e, "unshift", "q-" + this.type + "__native absolute q-ma-none q-pa-none invisible");
                var i = [
                    t("div", {
                        staticClass: "q-" + this.type + "__inner relative-position no-pointer-events",
                        class: this.innerClass,
                        style: this.sizeStyle
                    }, e)
                ];
                void 0 !== this.__refocusTargetEl &amp;&amp; i.push(this.__refocusTargetEl);
                var s = void 0 !== this.label ? Pt([
                    this.label
                ], this, "default") : Lt(this, "default");
                return void 0 !== s &amp;&amp; i.push(t("div", { staticClass: "q-" + this.type + "__label q-anchor--skip" }, s)), t("div", {
                    class: this.classes,
                    attrs: this.attrs,
                    on: mt(this, "inpExt", {
                        click: this.toggle,
                        keydown: this.__onKeydown,
                        keyup: this.__onKeyup
                    })
                }, i)
            }
        },
        Bi = t.extend({
            name: "QCheckbox",
            mixins: [
                Li
            ],
            methods: {
                __getInner: function (t) {
                    return [
                        t("div", { staticClass: "q-checkbox__bg absolute" }, [
                            t("svg", {
                                staticClass: "q-checkbox__svg fit absolute-full",
                                attrs: {
                                    focusable: "false",
                                    viewBox: "0 0 24 24"
                                }
                            }, [
                                t("path", {
                                    staticClass: "q-checkbox__truthy",
                                    attrs: {
                                        fill: "none",
                                        d: "M1.73,12.91 8.1,19.28 22.79,4.59"
                                    }
                                }),
                                t("path", {
                                    staticClass: "q-checkbox__indet",
                                    attrs: { d: "M4,14H20V10H4" }
                                })
                            ])
                        ])
                    ]
                }
            },
            created: function () {
                this.type = "checkbox"
            }
        }),
        Pi = t.extend({
            name: "QChip",
            mixins: [
                oe,
                Dt,
                qt({
                    xs: 8,
                    sm: 10,
                    md: 14,
                    lg: 20,
                    xl: 24
                })
            ],
            model: { event: "remove" },
            props: {
                dense: Boolean,
                icon: String,
                iconRight: String,
                iconRemove: String,
                label: [
                    String,
                    Number
                ],
                color: String,
                textColor: String,
                value: {
                    type: Boolean,
                    default: !0
                },
                selected: {
                    type: Boolean,
                    default: null
                },
                square: Boolean,
                outline: Boolean,
                clickable: Boolean,
                removable: Boolean,
                tabindex: [
                    String,
                    Number
                ],
                disable: Boolean
            },
            computed: {
                classes: function () {
                    var t,
                        e = !0 === this.outline &amp;&amp; this.color || this.textColor;
                    return (t = {})["bg-" + this.color] = !1 === this.outline &amp;&amp; void 0 !== this.color, t["text-" + e + " q-chip--colored"] = e, t.disabled = this.disable, t["q-chip--dense"] = this.dense, t["q-chip--outline"] = this.outline, t["q-chip--selected"] = this.selected, t["q-chip--clickable cursor-pointer non-selectable q-hoverable"] = this.isClickable, t["q-chip--square"] = this.square, t["q-chip--dark q-dark"] = this.isDark, t
                },
                hasLeftIcon: function () {
                    return !0 === this.selected || void 0 !== this.icon
                },
                isClickable: function () {
                    return !1 === this.disable &amp;&amp; (!0 === this.clickable || null !== this.selected)
                },
                attrs: function () {
                    return !0 === this.disable ? {
                        tabindex: -1,
                        "aria-disabled": ""
                    } : { tabindex: this.tabindex || 0 }
                }
            },
            methods: {
                __onKeyup: function (t) {
                    13 === t.keyCode &amp;&amp; this.__onClick(t)
                },
                __onClick: function (t) {
                    this.disable || (this.$emit("update:selected", !this.selected), this.$emit("click", t))
                },
                __onRemove: function (t) {
                    void 0 !== t.keyCode &amp;&amp; 13 !== t.keyCode || (S(t), !this.disable &amp;&amp; this.$emit("remove", !1))
                },
                __getContent: function (t) {
                    var e = [];
                    !0 === this.isClickable &amp;&amp; e.push(t("div", { staticClass: "q-focus-helper" })),
                        !0 === this.hasLeftIcon &amp;&amp; e.push(t(Et, {
                            staticClass: "q-chip__icon q-chip__icon--left",
                            props: { name: !0 === this.selected ? this.$q.iconSet.chip.selected : this.icon }
                        }));
                    var i = void 0 !== this.label ? [
                        t("div", { staticClass: "ellipsis" }, [
                            this.label
                        ])
                    ] : void 0;
                    return e.push(t("div", { staticClass: "q-chip__content col row no-wrap items-center q-anchor--skip" }, Ot(i, this, "default"))), this.iconRight &amp;&amp; e.push(t(Et, {
                        staticClass: "q-chip__icon q-chip__icon--right",
                        props: { name: this.iconRight }
                    })), !0 === this.removable &amp;&amp; e.push(t(Et, {
                        staticClass: "q-chip__icon q-chip__icon--remove cursor-pointer",
                        props: { name: this.iconRemove || this.$q.iconSet.chip.remove },
                        attrs: this.attrs,
                        on: mt(this, "non", {
                            click: this.__onRemove,
                            keyup: this.__onRemove
                        })
                    })), e
                }
            },
            render: function (t) {
                if (!1 !== this.value) {
                    var e = {
                        staticClass: "q-chip row inline no-wrap items-center",
                        class: this.classes,
                        style: this.sizeStyle
                    };
                    return !0 === this.isClickable &amp;&amp; Object.assign(e, {
                        attrs: this.attrs,
                        on: mt(this, "click", {
                            click: this.__onClick,
                            keyup: this.__onKeyup
                        }),
                        directives: mt(this, "dir#" + this.ripple, [
                            {
                                name: "ripple",
                                value: this.ripple
                            }
                        ])
                    }), t("div", e, this.__getContent(t))
                }
            }
        }),
        Oi = 100 * Math.PI,
        Ei = Math.round(1e3 * Oi) / 1e3,
        zi = t.extend({
            name: "QCircularProgress",
            mixins: [
                Mt,
                Tt
            ],
            props: {
                value: {
                    type: Number,
                    default: 0
                },
                min: {
                    type: Number,
                    default: 0
                },
                max: {
                    type: Number,
                    default: 100
                },
                color: String,
                centerColor: String,
                trackColor: String,
                fontSize: String,
                thickness: {
                    type: Number,
                    default: .2,
                    validator: function (t) {
                        return t &gt;= 0 &amp;&amp; t &lt;= 1
                    }
                },
                angle: {
                    type: Number,
                    default: 0
                },
                indeterminate: Boolean,
                showValue: Boolean,
                reverse: Boolean,
                instantFeedback: Boolean
            },
            computed: {
                normalizedValue: function () {
                    return ht(this.value, this.min, this.max)
                },
                svgStyle: function () {
                    return { transform: "rotate3d(0, 0, 1, " + (this.angle - 90) + "deg)" }
                },
                circleStyle: function () {
                    if (!0 !== this.instantFeedback &amp;&amp; !0 !== this.indeterminate)
                        return { transition: "stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease" }
                },
                dir: function () {
                    return (!0 === this.$q.lang.rtl ? -1 : 1) * (this.reverse ? -1 : 1)
                },
                viewBox: function () {
                    return 100 / (1 - this.thickness / 2)
                },
                viewBoxAttr: function () {
                    return this.viewBox / 2 + " " + this.viewBox / 2 + " " + this.viewBox + " " + this.viewBox
                },
                strokeDashOffset: function () {
                    var t = 1 - (this.normalizedValue - this.min) / (this.max - this.min);
                    return this.dir * t * Oi
                },
                strokeWidth: function () {
                    return this.thickness / 2 * this.viewBox
                },
                attrs: function () {
                    return {
                        role: "progressbar",
                        "aria-valuemin": this.min,
                        "aria-valuemax": this.max,
                        "aria-valuenow": !0 === this.indeterminate ? void 0 : this.normalizedValue
                    }
                }
            },
            methods: {
                __getCircle: function (t, e) {
                    var i = e.thickness,
                        s = e.offset,
                        n = e.color;
                    return t("circle", {
                        staticClass: "q-circular-progress__" + e.cls,
                        class: void 0 !== n ? "text-" + n : null,
                        style: this.circleStyle,
                        attrs: {
                            fill: "transparent",
                            stroke: "currentColor",
                            "stroke-width": i,
                            "stroke-dasharray": Ei,
                            "stroke-dashoffset": s,
                            cx: this.viewBox,
                            cy: this.viewBox,
                            r: 50
                        }
                    })
                }
            },
            render: function (t) {
                var e = [];
                void 0 !== this.centerColor &amp;&amp; "transparent" !== this.centerColor &amp;&amp; e.push(t("circle", {
                    staticClass: "q-circular-progress__center",
                    class: "text-" + this.centerColor,
                    attrs: {
                        fill: "currentColor",
                        r: 50 - this.strokeWidth / 2,
                        cx: this.viewBox,
                        cy: this.viewBox
                    }
                })),
                    void 0 !== this.trackColor &amp;&amp; "transparent" !== this.trackColor &amp;&amp; e.push(this.__getCircle(t, {
                        cls: "track",
                        thickness: this.strokeWidth,
                        offset: 0,
                        color: this.trackColor
                    })),
                    e.push(this.__getCircle(t, {
                        cls: "circle",
                        thickness: this.strokeWidth,
                        offset: this.strokeDashOffset,
                        color: this.color
                    }));
                var i = [
                    t("svg", {
                        staticClass: "q-circular-progress__svg",
                        style: this.svgStyle,
                        attrs: {
                            focusable: "false",
                            viewBox: this.viewBoxAttr
                        }
                    }, e)
                ];
                return !0 === this.showValue &amp;&amp; i.push(t("div", {
                    staticClass: "q-circular-progress__text absolute-full row flex-center content-center",
                    style: { fontSize: this.fontSize }
                }, void 0 !== this.$scopedSlots.default ? this.$scopedSlots.default() : [
                    t("div", [
                        this.normalizedValue
                    ])
                ])), t("div", {
                    staticClass: "q-circular-progress",
                    class: "q-circular-progress--" + (!0 === this.indeterminate ? "in" : "") + "determinate",
                    style: this.sizeStyle,
                    on: Object.assign({}, this.qListeners),
                    attrs: this.attrs
                }, Ot(i, this, "internal"))
            }
        }),
        Ai = /^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/,
        Di = /^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/,
        Ri = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,
        Ii = /^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/,
        Fi = /^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/,
        ji = {
            date: function (t) {
                return /^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(t)
            },
            time: function (t) {
                return /^([0-1]?\d|2[0-3]):[0-5]\d$/.test(t)
            },
            fulltime: function (t) {
                return /^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(t)
            },
            timeOrFulltime: function (t) {
                return /^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(t)
            },
            hexColor: function (t) {
                return Ai.test(t)
            },
            hexaColor: function (t) {
                return Di.test(t)
            },
            hexOrHexaColor: function (t) {
                return Ri.test(t)
            },
            rgbColor: function (t) {
                return Ii.test(t)
            },
            rgbaColor: function (t) {
                return Fi.test(t)
            },
            rgbOrRgbaColor: function (t) {
                return Ii.test(t) || Fi.test(t)
            },
            hexOrRgbColor: function (t) {
                return Ai.test(t) || Ii.test(t)
            },
            hexaOrRgbaColor: function (t) {
                return Di.test(t) || Fi.test(t)
            },
            anyColor: function (t) {
                return Ri.test(t) || Ii.test(t) || Fi.test(t)
            }
        },
        Vi = { testPattern: ji };
    function Ni(t, e, i) {
        var s,
            n = v(t),
            o = n.left - e.event.x,
            r = n.top - e.event.y,
            a = Math.abs(o),
            l = Math.abs(r),
            c = e.direction;
        !0 === c.horizontal &amp;&amp; !0 !== c.vertical ? s = o &lt; 0 ? "left" : "right" : !0 !== c.horizontal &amp;&amp; !0 === c.vertical ? s = r &lt; 0 ? "up" : "down" : !0 === c.up &amp;&amp; r &lt; 0 ? (s = "up", a &gt; l &amp;&amp; (!0 === c.left &amp;&amp; o &lt; 0 ? s = "left" : !0 === c.right &amp;&amp; o &gt; 0 &amp;&amp; (s = "right"))) : !0 === c.down &amp;&amp; r &gt; 0 ? (s = "down", a &gt; l &amp;&amp; (!0 === c.left &amp;&amp; o &lt; 0 ? s = "left" : !0 === c.right &amp;&amp; o &gt; 0 &amp;&amp; (s = "right"))) : !0 === c.left &amp;&amp; o &lt; 0 ? (s = "left", a &lt; l &amp;&amp; (!0 === c.up &amp;&amp; r &lt; 0 ? s = "up" : !0 === c.down &amp;&amp; r &gt; 0 &amp;&amp; (s = "down"))) : !0 === c.right &amp;&amp; o &gt; 0 &amp;&amp; (s = "right", a &lt; l &amp;&amp; (!0 === c.up &amp;&amp; r &lt; 0 ? s = "up" : !0 === c.down &amp;&amp; r &gt; 0 &amp;&amp; (s = "down")));
        var u = !1;
        if (void 0 === s &amp;&amp; !1 === i) {
            if (!0 === e.event.isFirst || void 0 === e.event.lastDir)
                return {};
            u = !0,
                "left" === (s = e.event.lastDir) || "right" === s ? (n.left -= o, a = 0, o = 0) : (n.top -= r, l = 0, r = 0)
        }
        return {
            synthetic: u,
            payload: {
                evt: t,
                touch: !0 !== e.event.mouse,
                mouse: !0 === e.event.mouse,
                position: n,
                direction: s,
                isFirst: e.event.isFirst,
                isFinal: !0 === i,
                duration: Date.now() - e.event.time,
                distance: {
                    x: a,
                    y: l
                },
                offset: {
                    x: o,
                    y: r
                },
                delta: {
                    x: n.left - e.event.lastX,
                    y: n.top - e.event.lastY
                }
            }
        }
    }
    var Hi = 0,
        Qi = {
            name: "touch-pan",
            bind: function (t, e) {
                var i = e.value,
                    s = e.modifiers;
                if (!0 === s.mouse || !0 === u.has.touch) {
                    var n = {
                        uid: "qvtp_" + Hi++,
                        handler: i,
                        modifiers: s,
                        direction: ue(s),
                        noop: f,
                        mouseStart: function (t) {
                            pe(t, n) &amp;&amp; m(t) &amp;&amp; (k(n, "temp", [
                                [
                                    document,
                                    "mousemove",
                                    "move",
                                    "notPassiveCapture"
                                ],
                                [
                                    document,
                                    "mouseup",
                                    "end",
                                    "passiveCapture"
                                ]
                            ]), n.start(t, !0))
                        },
                        touchStart: function (t) {
                            if (pe(t, n)) {
                                var e = de(t.target);
                                k(n, "temp", [
                                    [
                                        e,
                                        "touchmove",
                                        "move",
                                        "notPassiveCapture"
                                    ],
                                    [
                                        e,
                                        "touchcancel",
                                        "end",
                                        "passiveCapture"
                                    ],
                                    [
                                        e,
                                        "touchend",
                                        "end",
                                        "passiveCapture"
                                    ]
                                ]),
                                    n.start(t)
                            }
                        },
                        start: function (e, i) {
                            !0 === u.is.firefox &amp;&amp; x(t, !0),
                                n.lastEvt = e;
                            var o = v(e);
                            if (!0 === i || !0 === s.stop) {
                                if (!0 !== n.direction.all &amp;&amp; (!0 !== i || !0 !== n.direction.mouseAllDir)) {
                                    var r = e.type.indexOf("mouse") &gt; -1 ? new MouseEvent(e.type, e) : new TouchEvent(e.type, e);
                                    !0 === e.defaultPrevented &amp;&amp; w(r),
                                        !0 === e.cancelBubble &amp;&amp; y(r),
                                        r.qClonedBy = void 0 === e.qClonedBy ? [
                                            n.uid
                                        ] : e.qClonedBy.concat(n.uid),
                                        r.qKeyEvent = e.qKeyEvent,
                                        r.qClickOutside = e.qClickOutside,
                                        n.initialEvent = {
                                            target: e.target,
                                            event: r
                                        }
                                }
                                y(e)
                            }
                            n.event = {
                                x: o.left,
                                y: o.top,
                                time: Date.now(),
                                mouse: !0 === i,
                                detected: !1,
                                isFirst: !0,
                                isFinal: !1,
                                lastX: o.left,
                                lastY: o.top
                            }
                        },
                        move: function (t) {
                            if (void 0 !== n.event) {
                                n.lastEvt = t;
                                var e = !0 === n.event.mouse,
                                    i = function () {
                                        o(t, e),
                                            document.documentElement.style.cursor = "grabbing",
                                            !0 === e &amp;&amp; document.body.classList.add("no-pointer-events--children"),
                                            document.body.classList.add("non-selectable"),
                                            we(),
                                            n.styleCleanup = function (t) {
                                                if (n.styleCleanup = void 0, document.documentElement.style.cursor = "", document.body.classList.remove("non-selectable"), !0 === e) {
                                                    var i = function () {
                                                        document.body.classList.remove("no-pointer-events--children")
                                                    };
                                                    void 0 !== t ? setTimeout(function () {
                                                        i(),
                                                            t()
                                                    }, 50) : i()
                                                }
                                                else
                                                    void 0 !== t &amp;&amp; t()
                                            }
                                    };
                                if (!0 !== n.event.detected) {
                                    if (!0 === n.direction.all || !0 === e &amp;&amp; !0 === n.modifiers.mouseAllDir)
                                        return i(), n.event.detected = !0, void n.move(t);
                                    var s = v(t),
                                        r = s.left - n.event.x,
                                        a = s.top - n.event.y,
                                        l = Math.abs(r),
                                        c = Math.abs(a);
                                    l !== c &amp;&amp; (!0 === n.direction.horizontal &amp;&amp; l &gt; c || !0 === n.direction.vertical &amp;&amp; l &lt; c || !0 === n.direction.up &amp;&amp; l &lt; c &amp;&amp; a &lt; 0 || !0 === n.direction.down &amp;&amp; l &lt; c &amp;&amp; a &gt; 0 || !0 === n.direction.left &amp;&amp; l &gt; c &amp;&amp; r &lt; 0 || !0 === n.direction.right &amp;&amp; l &gt; c &amp;&amp; r &gt; 0 ? (n.event.detected = !0, n.move(t)) : n.end(t, !0))
                                }
                                else {
                                    !0 !== n.event.isFirst &amp;&amp; o(t, n.event.mouse);
                                    var u = Ni(t, n, !1),
                                        h = u.payload,
                                        d = u.synthetic;
                                    void 0 !== h &amp;&amp; (!1 === n.handler(h) ? n.end(t) : (void 0 === n.styleCleanup &amp;&amp; !0 === n.event.isFirst &amp;&amp; i(), n.event.lastX = h.position.left, n.event.lastY = h.position.top, n.event.lastDir = !0 === d ? void 0 : h.direction, n.event.isFirst = !1))
                                }
                            }
                        },
                        end: function (e, i) {
                            if (void 0 !== n.event) {
                                if (q(n, "temp"), !0 === u.is.firefox &amp;&amp; x(t, !1), !0 === i)
                                    void 0 !== n.styleCleanup &amp;&amp; n.styleCleanup(),
                                        !0 !== n.event.detected &amp;&amp; void 0 !== n.initialEvent &amp;&amp; n.initialEvent.target.dispatchEvent(n.initialEvent.event);
                                else if (!0 === n.event.detected) {
                                    !0 === n.event.isFirst &amp;&amp; n.handler(Ni(void 0 === e ? n.lastEvt : e, n).payload);
                                    var s = Ni(void 0 === e ? n.lastEvt : e, n, !0).payload,
                                        o = function () {
                                            n.handler(s)
                                        };
                                    void 0 !== n.styleCleanup ? n.styleCleanup(o) : o()
                                }
                                n.event = void 0,
                                    n.initialEvent = void 0,
                                    n.lastEvt = void 0
                            }
                        }
                    };
                    t.__qtouchpan &amp;&amp; (t.__qtouchpan_old = t.__qtouchpan),
                        t.__qtouchpan = n,
                        !0 === s.mouse &amp;&amp; k(n, "main", [
                            [
                                t,
                                "mousedown",
                                "mouseStart",
                                "passive" + (!0 === s.mouseCapture ? "Capture" : "")
                            ]
                        ]),
                        !0 === u.has.touch &amp;&amp; k(n, "main", [
                            [
                                t,
                                "touchstart",
                                "touchStart",
                                "passive" + (!0 === s.capture ? "Capture" : "")
                            ],
                            [
                                t,
                                "touchmove",
                                "noop",
                                "notPassiveCapture"
                            ]
                        ])
                }
                function o(t, e) {
                    !0 === s.mouse &amp;&amp; !0 === e ? S(t) : (!0 === s.stop &amp;&amp; y(t), !0 === s.prevent &amp;&amp; w(t))
                }
            },
            update: function (t, e) {
                void 0 !== t.__qtouchpan &amp;&amp; he(t.__qtouchpan, e)
            },
            unbind: function (t) {
                var e = t.__qtouchpan_old || t.__qtouchpan;
                void 0 !== e &amp;&amp; (void 0 !== e.event &amp;&amp; e.end(), q(e, "main"), q(e, "temp"), !0 === u.is.firefox &amp;&amp; x(t, !1), void 0 !== e.styleCleanup &amp;&amp; e.styleCleanup(), delete t[t.__qtouchpan_old ? "__qtouchpan_old" : "__qtouchpan"])
            }
        },
        Wi = [34, 37, 40, 33, 39, 38];
    function Yi(t, e, i, s) {
        var n = v(t),
            o = ht(!0 === s ? (n.top - e.top) / e.height : (n.left - e.left) / e.width, 0, 1);
        return !0 === i ? 1 - o : o
    }
    function Ui(t, e, i, s, n) {
        var o = e + t * (i - e);
        if (s &gt; 0) {
            var r = (o - e) % s;
            o += (Math.abs(r) &gt;= s / 2 ? (r &lt; 0 ? -1 : 1) * s : 0) - r
        }
        return n &gt; 0 &amp;&amp; (o = parseFloat(o.toFixed(n))), ht(o, e, i)
    }
    var Ki = {
        mixins: [
            Dt,
            ai
        ],
        directives: { TouchPan: Qi },
        props: {
            min: {
                type: Number,
                default: 0
            },
            max: {
                type: Number,
                default: 100
            },
            step: {
                type: Number,
                default: 1,
                validator: function (t) {
                    return t &gt;= 0
                }
            },
            color: String,
            labelColor: String,
            labelTextColor: String,
            dense: Boolean,
            label: Boolean,
            labelAlways: Boolean,
            markers: Boolean,
            snap: Boolean,
            vertical: Boolean,
            reverse: Boolean,
            disable: Boolean,
            readonly: Boolean,
            tabindex: [
                String,
                Number
            ],
            thumbPath: {
                type: String,
                default: "M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"
            }
        },
        data: function () {
            return {
                active: !1,
                preventFocus: !1,
                focus: !1
            }
        },
        computed: {
            axis: function () {
                return !0 === this.vertical ? "--v" : "--h"
            },
            classes: function () {
                return "q-slider q-slider" + this.axis + " q-slider--" + (!0 === this.active ? "" : "in") + "active" + (!0 === this.isReversed ? " q-slider--reversed" : "") + (void 0 !== this.color ? " text-" + this.color : "") + (!0 === this.disable ? " disabled" : "") + (!0 === this.editable ? " q-slider--editable" : "") + ("both" === this.focus ? " q-slider--focus" : "") + (this.label || !0 === this.labelAlways ? " q-slider--label" : "") + (!0 === this.labelAlways ? " q-slider--label-always" : "") + (!0 === this.isDark ? " q-slider--dark" : "") + (!0 === this.dense ? " q-slider--dense q-slider--dense" + this.axis : "")
            },
            editable: function () {
                return !0 !== this.disable &amp;&amp; !0 !== this.readonly
            },
            decimals: function () {
                return (String(this.step).trim("0").split(".")[1] || "").length
            },
            computedStep: function () {
                return 0 === this.step ? 1 : this.step
            },
            markerStyle: function () {
                return { backgroundSize: !0 === this.vertical ? "2px " + 100 * this.computedStep / (this.max - this.min) + "%" : 100 * this.computedStep / (this.max - this.min) + "% 2px" }
            },
            computedTabindex: function () {
                return !0 === this.editable ? this.tabindex || 0 : -1
            },
            isReversed: function () {
                return !0 === this.vertical ? !0 === this.reverse : this.reverse !== (!0 === this.$q.lang.rtl)
            },
            positionProp: function () {
                return !0 === this.vertical ? !0 === this.isReversed ? "bottom" : "top" : !0 === this.isReversed ? "right" : "left"
            },
            sizeProp: function () {
                return !0 === this.vertical ? "height" : "width"
            },
            orientation: function () {
                return !0 === this.vertical ? "vertical" : "horizontal"
            },
            attrs: function () {
                var t = {
                    role: "slider",
                    "aria-valuemin": this.min,
                    "aria-valuemax": this.max,
                    "aria-orientation": this.orientation,
                    "data-step": this.step
                };
                return !0 === this.disable ? t["aria-disabled"] = "" : !0 === this.readonly &amp;&amp; (t["aria-readonly"] = ""), t
            },
            panDirectives: function () {
                var t;
                return !0 === this.editable ? [
                    {
                        name: "touch-pan",
                        value: this.__pan,
                        modifiers: (t = {}, t[this.orientation] = !0, t.prevent = !0, t.stop = !0, t.mouse = !0, t.mouseAllDir = !0, t)
                    }
                ] : null
            }
        },
        methods: {
            __getThumbSvg: function (t) {
                return t("svg", {
                    staticClass: "q-slider__thumb absolute",
                    attrs: {
                        focusable: "false",
                        viewBox: "0 0 20 20",
                        width: "20",
                        height: "20"
                    }
                }, [
                    t("path", { attrs: { d: this.thumbPath } })
                ])
            },
            __getPinStyle: function (t, e) {
                var i;
                if (!0 === this.vertical)
                    return {};
                var s = Math.ceil(20 * Math.abs(.5 - e)) + "px";
                return {
                    pin: { transformOrigin: (!0 === this.$q.lang.rtl ? s : !0 === this.$q.platform.is.ie ? "100%" : "calc(100% - " + s + ")") + " 50%" },
                    pinTextContainer: (i = {}, i[!0 === this.$q.lang.rtl ? "left" : "right"] = 100 * t + "%", i.transform = "translateX(" + Math.ceil(20 * (!0 === this.$q.lang.rtl ? -1 : 1) * t) + "px)", i)
                }
            },
            __pan: function (t) {
                t.isFinal ? (void 0 !== this.dragging &amp;&amp; (this.__updatePosition(t.evt), !0 === t.touch &amp;&amp; this.__updateValue(!0), this.dragging = void 0), this.active = !1) : t.isFirst ? (this.dragging = this.__getDragging(t.evt), this.__updatePosition(t.evt), this.__updateValue(), this.active = !0) : (this.__updatePosition(t.evt), this.__updateValue())
            },
            __blur: function () {
                this.focus = !1
            },
            __activate: function (t) {
                this.__updatePosition(t, this.__getDragging(t)),
                    this.__updateValue(),
                    this.preventFocus = !0,
                    this.active = !0,
                    document.addEventListener("mouseup", this.__deactivate, !0)
            },
            __deactivate: function () {
                this.preventFocus = !1,
                    void 0 === this.dragging &amp;&amp; (this.active = !1),
                    this.__updateValue(!0),
                    this.__blur(),
                    document.removeEventListener("mouseup", this.__deactivate, !0)
            },
            __mobileClick: function (t) {
                this.__updatePosition(t, this.__getDragging(t)),
                    this.__updateValue(!0)
            },
            __keyup: function (t) {
                Wi.includes(t.keyCode) &amp;&amp; this.__updateValue(!0)
            }
        },
        beforeDestroy: function () {
            document.removeEventListener("mouseup", this.__deactivate, !0)
        }
    },
        Xi = t.extend({
            name: "QSlider",
            mixins: [
                Ki
            ],
            props: {
                value: {
                    required: !0,
                    default: null,
                    validator: function (t) {
                        return "number" == typeof t || null === t
                    }
                },
                labelValue: [
                    String,
                    Number
                ]
            },
            data: function () {
                return {
                    model: null === this.value ? this.min : this.value,
                    curRatio: 0
                }
            },
            watch: {
                value: function (t) {
                    this.model = null === t ? 0 : ht(t, this.min, this.max)
                },
                min: function (t) {
                    this.model = ht(this.model, t, this.max)
                },
                max: function (t) {
                    this.model = ht(this.model, this.min, t)
                }
            },
            computed: {
                ratio: function () {
                    return !0 === this.active ? this.curRatio : this.modelRatio
                },
                modelRatio: function () {
                    return (this.model - this.min) / (this.max - this.min)
                },
                trackStyle: function () {
                    var t;
                    return (t = {})[this.positionProp] = 0, t[this.sizeProp] = 100 * this.ratio + "%", t
                },
                thumbStyle: function () {
                    var t;
                    return (t = {})[this.positionProp] = 100 * this.ratio + "%", t
                },
                thumbClass: function () {
                    if (!1 === this.preventFocus &amp;&amp; !0 === this.focus)
                        return "q-slider--focus"
                },
                pinClass: function () {
                    if (void 0 !== this.labelColor)
                        return "text-" + this.labelColor
                },
                pinTextClass: function () {
                    return "q-slider__pin-value-marker-text" + (void 0 !== this.labelTextColor ? " text-" + this.labelTextColor : "")
                },
                events: function () {
                    if (!0 === this.editable)
                        return !0 === this.$q.platform.is.mobile ? { click: this.__mobileClick } : {
                            mousedown: this.__activate,
                            focus: this.__focus,
                            blur: this.__blur,
                            keydown: this.__keydown,
                            keyup: this.__keyup
                        }
                },
                computedLabel: function () {
                    return void 0 !== this.labelValue ? this.labelValue : this.model
                },
                pinStyle: function () {
                    var t = !0 === this.reverse ? -this.ratio : this.ratio - 1;
                    return this.__getPinStyle(t, this.ratio)
                }
            },
            methods: {
                __updateValue: function (t) {
                    this.model !== this.value &amp;&amp; this.$emit("input", this.model),
                        !0 === t &amp;&amp; this.$emit("change", this.model)
                },
                __getDragging: function () {
                    return this.$el.getBoundingClientRect()
                },
                __updatePosition: function (t, e) {
                    void 0 === e &amp;&amp; (e = this.dragging);
                    var i = Yi(t, e, this.isReversed, this.vertical);
                    this.model = Ui(i, this.min, this.max, this.step, this.decimals),
                        this.curRatio = !0 !== this.snap || 0 === this.step ? i : (this.model - this.min) / (this.max - this.min)
                },
                __focus: function () {
                    this.focus = !0
                },
                __keydown: function (t) {
                    if (Wi.includes(t.keyCode)) {
                        S(t);
                        var e = ([34, 33].includes(t.keyCode) ? 10 : 1) * this.computedStep,
                            i = [34, 37, 40].includes(t.keyCode) ? -e : e;
                        this.model = ht(parseFloat((this.model + i).toFixed(this.decimals)), this.min, this.max),
                            this.__updateValue()
                    }
                }
            },
            render: function (t) {
                var e = [
                    this.__getThumbSvg(t),
                    t("div", { staticClass: "q-slider__focus-ring" })
                ];
                !0 !== this.label &amp;&amp; !0 !== this.labelAlways || e.push(t("div", {
                    staticClass: "q-slider__pin q-slider__pin" + this.axis + " absolute",
                    style: this.pinStyle.pin,
                    class: this.pinClass
                }, [
                    t("div", {
                        staticClass: "q-slider__pin-text-container q-slider__pin-text-container" + this.axis,
                        style: this.pinStyle.pinTextContainer
                    }, [
                        t("span", {
                            staticClass: "q-slider__pin-text",
                            class: this.pinTextClass
                        }, [
                            this.computedLabel
                        ])
                    ])
                ]), t("div", {
                    staticClass: "q-slider__arrow q-slider__arrow" + this.axis,
                    class: this.pinClass
                })),
                    void 0 !== this.name &amp;&amp; !0 !== this.disable &amp;&amp; this.__injectFormInput(e, "push");
                var i = [
                    t("div", {
                        staticClass: "q-slider__track q-slider__track" + this.axis + " absolute",
                        style: this.trackStyle
                    })
                ];
                return !0 === this.markers &amp;&amp; i.push(t("div", {
                    staticClass: "q-slider__track-markers q-slider__track-markers" + this.axis + " absolute-full fit",
                    style: this.markerStyle
                })), t("div", {
                    staticClass: null === this.value ? " q-slider--no-value" : "",
                    attrs: Object.assign({}, this.attrs, {
                        "aria-valuenow": this.value,
                        tabindex: this.computedTabindex
                    }),
                    class: this.classes,
                    on: this.events,
                    directives: this.panDirectives
                }, [
                    t("div", { staticClass: "q-slider__track-container q-slider__track-container" + this.axis + " absolute" }, i),
                    t("div", {
                        staticClass: "q-slider__thumb-container q-slider__thumb-container" + this.axis + " absolute non-selectable",
                        class: this.thumbClass,
                        style: this.thumbStyle
                    }, e)
                ])
            }
        }),
        Gi = {
            data: function () {
                return { canRender: !n }
            },
            mounted: function () {
                !1 === this.canRender &amp;&amp; (this.canRender = !0)
            }
        },
        Zi = t.extend({
            name: "QResizeObserver",
            mixins: [
                Gi
            ],
            props: {
                debounce: {
                    type: [
                        String,
                        Number
                    ],
                    default: 100
                }
            },
            data: function () {
                return !0 === this.hasObserver ? {} : { url: !0 === this.$q.platform.is.ie ? null : "about:blank" }
            },
            methods: {
                trigger: function (t) {
                    !0 === t || 0 === this.debounce || "0" === this.debounce ? this.__onResize() : this.timer || (this.timer = setTimeout(this.__onResize, this.debounce))
                },
                __onResize: function () {
                    if (this.timer = null, this.$el &amp;&amp; this.$el.parentNode) {
                        var t = this.$el.parentNode,
                            e = {
                                width: t.offsetWidth,
                                height: t.offsetHeight
                            };
                        e.width === this.size.width &amp;&amp; e.height === this.size.height || (this.size = e, this.$emit("resize", this.size))
                    }
                },
                __cleanup: function () {
                    void 0 !== this.curDocView &amp;&amp; (void 0 !== this.curDocView.removeEventListener &amp;&amp; this.curDocView.removeEventListener("resize", this.trigger, d.passive), this.curDocView = void 0)
                },
                __onObjLoad: function () {
                    this.__cleanup(),
                        this.$el.contentDocument &amp;&amp; (this.curDocView = this.$el.contentDocument.defaultView, this.curDocView.addEventListener("resize", this.trigger, d.passive)),
                        this.__onResize()
                }
            },
            render: function (t) {
                if (!1 !== this.canRender &amp;&amp; !0 !== this.hasObserver)
                    return t("object", {
                        style: this.style,
                        attrs: {
                            tabindex: -1,
                            type: "text/html",
                            data: this.url,
                            "aria-hidden": "true"
                        },
                        on: mt(this, "load", { load: this.__onObjLoad })
                    })
            },
            beforeCreate: function () {
                this.size = {
                    width: -1,
                    height: -1
                },
                    !0 !== i &amp;&amp; (this.hasObserver = "undefined" != typeof ResizeObserver, !0 !== this.hasObserver &amp;&amp; (this.style = (this.$q.platform.is.ie ? "visibility:hidden;" : "") + "display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;"))
            },
            mounted: function () {
                if (!0 === this.hasObserver)
                    return this.observer = new ResizeObserver(this.trigger), this.observer.observe(this.$el.parentNode), void this.__onResize();
                !0 === this.$q.platform.is.ie ? (this.url = "about:blank", this.__onResize()) : this.__onObjLoad()
            },
            beforeDestroy: function () {
                clearTimeout(this.timer),
                    !0 !== this.hasObserver ? this.__cleanup() : void 0 !== this.observer &amp;&amp; this.$el.parentNode &amp;&amp; this.observer.unobserve(this.$el.parentNode)
            }
        });
    function Ji(t, e, i) {
        var s = !0 === i ? ["left", "right"] : ["top", "bottom"];
        return "absolute-" + (!0 === e ? s[0] : s[1]) + (t ? " text-" + t : "")
    }
    function ts(t, e) {
        return t.priorityMatched === e.priorityMatched ? e.priorityHref - t.priorityHref : e.priorityMatched - t.priorityMatched
    }
    function es(t) {
        return t.selected = !1, t
    }
    var is = [
        function (t) {
            return !0 === t.selected &amp;&amp; !0 === t.exact &amp;&amp; !0 !== t.redirected
        },
        function (t) {
            return !0 === t.selected &amp;&amp; !0 === t.exact
        },
        function (t) {
            return !0 === t.selected &amp;&amp; !0 !== t.redirected
        },
        function (t) {
            return !0 === t.selected
        },
        function (t) {
            return !0 === t.exact &amp;&amp; !0 !== t.redirected
        },
        function (t) {
            return !0 !== t.redirected
        },
        function (t) {
            return !0 === t.exact
        },
        function (t) {
            return !0
        }
    ],
        ss = is.length,
        ns = t.extend({
            name: "QTabs",
            mixins: [
                xe,
                Mt
            ],
            provide: function () {
                return {
                    tabs: this.tabs,
                    __recalculateScroll: this.__recalculateScroll,
                    __activateTab: this.__activateTab,
                    __activateRoute: this.__activateRoute
                }
            },
            props: {
                value: [
                    Number,
                    String
                ],
                align: {
                    type: String,
                    default: "center",
                    validator: function (t) {
                        return ["left", "center", "right", "justify"].includes(t)
                    }
                },
                breakpoint: {
                    type: [
                        String,
                        Number
                    ],
                    default: 600
                },
                vertical: Boolean,
                shrink: Boolean,
                stretch: Boolean,
                activeColor: String,
                activeBgColor: String,
                indicatorColor: String,
                leftIcon: String,
                rightIcon: String,
                outsideArrows: Boolean,
                mobileArrows: Boolean,
                switchIndicator: Boolean,
                narrowIndicator: Boolean,
                inlineLabel: Boolean,
                noCaps: Boolean,
                dense: Boolean,
                contentClass: String
            },
            data: function () {
                return {
                    tabs: {
                        current: this.value,
                        activeColor: this.activeColor,
                        activeBgColor: this.activeBgColor,
                        indicatorClass: Ji(this.indicatorColor, this.switchIndicator, this.vertical),
                        narrowIndicator: this.narrowIndicator,
                        inlineLabel: this.inlineLabel,
                        noCaps: this.noCaps
                    },
                    scrollable: !1,
                    leftArrow: !0,
                    rightArrow: !1,
                    justify: !1
                }
            },
            watch: {
                value: function (t) {
                    this.__activateTab(t, !0, !0)
                },
                activeColor: function (t) {
                    this.tabs.activeColor = t
                },
                activeBgColor: function (t) {
                    this.tabs.activeBgColor = t
                },
                vertical: function (t) {
                    this.tabs.indicatorClass = Ji(this.indicatorColor, this.switchIndicator, t)
                },
                indicatorColor: function (t) {
                    this.tabs.indicatorClass = Ji(t, this.switchIndicator, this.vertical)
                },
                switchIndicator: function (t) {
                    this.tabs.indicatorClass = Ji(this.indicatorColor, t, this.vertical)
                },
                narrowIndicator: function (t) {
                    this.tabs.narrowIndicator = t
                },
                inlineLabel: function (t) {
                    this.tabs.inlineLabel = t
                },
                noCaps: function (t) {
                    this.tabs.noCaps = t
                },
                outsideArrows: function () {
                    this.$nextTick(this.__recalculateScroll())
                },
                arrowsEnabled: function (t) {
                    this.__updateArrows = !0 === t ? this.__updateArrowsFn : f,
                        this.$nextTick(this.__recalculateScroll())
                }
            },
            computed: {
                arrowsEnabled: function () {
                    return !0 === this.mobileArrows || !0 === this.$q.platform.is.desktop
                },
                alignClass: function () {
                    return "q-tabs__content--align-" + (!0 === this.scrollable ? "left" : !0 === this.justify ? "justify" : this.align)
                },
                classes: function () {
                    return "q-tabs--" + (!0 === this.scrollable ? "" : "not-") + "scrollable q-tabs--" + (!0 === this.vertical ? "vertical" : "horizontal") + " q-tabs__arrows--" + (!0 === this.arrowsEnabled &amp;&amp; !0 === this.outsideArrows ? "outside" : "inside") + (!0 === this.dense ? " q-tabs--dense" : "") + (!0 === this.shrink ? " col-shrink" : "") + (!0 === this.stretch ? " self-stretch" : "")
                },
                innerClass: function () {
                    return this.alignClass + (void 0 !== this.contentClass ? " " + this.contentClass : "")
                },
                domProps: function () {
                    return !0 === this.vertical ? {
                        container: "height",
                        content: "scrollHeight",
                        posLeft: "top",
                        posRight: "bottom"
                    } : {
                        container: "width",
                        content: "scrollWidth",
                        posLeft: "left",
                        posRight: "right"
                    }
                },
                onEvents: function () {
                    return Object.assign({}, { input: y }, this.qListeners)
                }
            },
            methods: {
                __activateTab: function (t, e, i) {
                    this.tabs.current !== t &amp;&amp; (!0 !== i &amp;&amp; this.$emit("input", t), !0 !== e &amp;&amp; void 0 !== this.qListeners.input || (this.__animate(this.tabs.current, t), this.tabs.current = t))
                },
                __activateRoute: function (t) {
                    var e = this;
                    this.bufferRoute !== this.$route &amp;&amp; this.buffer.length &gt; 0 &amp;&amp; (clearTimeout(this.bufferTimer), this.bufferTimer = void 0, this.buffer.length = 0),
                        this.bufferRoute = this.$route,
                        void 0 !== t &amp;&amp; (!0 === t.remove ? this.buffer = this.buffer.filter(function (e) {
                            return e.name !== t.name
                        }) : this.buffer.push(t)),
                        void 0 === this.bufferTimer &amp;&amp; (this.bufferTimer = setTimeout(function () {
                            for (var t = [], i = 0; i &lt; ss &amp;&amp; 0 === t.length; i++)
                                t = e.buffer.filter(is[i]);
                            t.sort(ts),
                                e.__activateTab(0 === t.length ? null : t[0].name, !0),
                                e.buffer = e.buffer.map(es),
                                e.bufferTimer = void 0
                        }, 1))
                },
                __recalculateScroll: function () {
                    var t = this;
                    this.__nextTick(function () {
                        !0 !== t._isDestroyed &amp;&amp; t.__updateContainer({
                            width: t.$el.offsetWidth,
                            height: t.$el.offsetHeight
                        })
                    }),
                        this.__prepareTick()
                },
                __updateContainer: function (t) {
                    var e = this,
                        i = t[this.domProps.container],
                        s = this.$refs.content[this.domProps.content],
                        n = i &gt; 0 &amp;&amp; s &gt; i;
                    this.scrollable !== n &amp;&amp; (this.scrollable = n),
                        !0 === n &amp;&amp; this.$nextTick(function () {
                            return e.__updateArrows()
                        });
                    var o = i &lt; parseInt(this.breakpoint, 10);
                    this.justify !== o &amp;&amp; (this.justify = o)
                },
                __animate: function (t, e) {
                    var i = this,
                        s = void 0 !== t &amp;&amp; null !== t &amp;&amp; "" !== t ? this.$children.find(function (e) {
                            return e.name === t
                        }) : null,
                        n = void 0 !== e &amp;&amp; null !== e &amp;&amp; "" !== e ? this.$children.find(function (t) {
                            return t.name === e
                        }) : null;
                    if (s &amp;&amp; n) {
                        var o = s.$el.getElementsByClassName("q-tab__indicator")[0],
                            r = n.$el.getElementsByClassName("q-tab__indicator")[0];
                        clearTimeout(this.animateTimer),
                            o.style.transition = "none",
                            o.style.transform = "none",
                            r.style.transition = "none",
                            r.style.transform = "none";
                        var a = o.getBoundingClientRect(),
                            l = r.getBoundingClientRect();
                        r.style.transform = !0 === this.vertical ? "translate3d(0," + (a.top - l.top) + "px,0) scale3d(1," + (l.height ? a.height / l.height : 1) + ",1)" : "translate3d(" + (a.left - l.left) + "px,0,0) scale3d(" + (l.width ? a.width / l.width : 1) + ",1,1)",
                            this.$nextTick(function () {
                                i.animateTimer = setTimeout(function () {
                                    r.style.transition = "transform .25s cubic-bezier(.4, 0, .2, 1)",
                                        r.style.transform = "none"
                                }, 30)
                            })
                    }
                    if (n &amp;&amp; !0 === this.scrollable) {
                        var c = this.$refs.content.getBoundingClientRect(),
                            u = c.left,
                            h = c.width,
                            d = c.top,
                            p = c.height,
                            f = n.$el.getBoundingClientRect(),
                            m = !0 === this.vertical ? f.top - d : f.left - u;
                        if (m &lt; 0)
                            return this.$refs.content[!0 === this.vertical ? "scrollTop" : "scrollLeft"] += Math.floor(m), void this.__updateArrows();
                        (m += !0 === this.vertical ? f.height - p : f.width - h) &gt; 0 &amp;&amp; (this.$refs.content[!0 === this.vertical ? "scrollTop" : "scrollLeft"] += Math.ceil(m), this.__updateArrows())
                    }
                },
                __updateArrowsFn: function () {
                    var t = this.$refs.content,
                        e = t.getBoundingClientRect(),
                        i = !0 === this.vertical ? t.scrollTop : t.scrollLeft;
                    this.leftArrow = i &gt; 0,
                        this.rightArrow = !0 === this.vertical ? Math.ceil(i + e.height) &lt; t.scrollHeight : Math.ceil(i + e.width) &lt; t.scrollWidth
                },
                __animScrollTo: function (t) {
                    var e = this;
                    this.__stopAnimScroll(),
                        this.__scrollTowards(t),
                        this.scrollTimer = setInterval(function () {
                            e.__scrollTowards(t) &amp;&amp; e.__stopAnimScroll()
                        }, 5)
                },
                __scrollToStart: function () {
                    this.__animScrollTo(0)
                },
                __scrollToEnd: function () {
                    this.__animScrollTo(9999)
                },
                __stopAnimScroll: function () {
                    clearInterval(this.scrollTimer)
                },
                __scrollTowards: function (t) {
                    var e = this.$refs.content,
                        i = !0 === this.vertical ? e.scrollTop : e.scrollLeft,
                        s = !1,
                        n = t &lt; i ? -1 : 1;
                    return (i += 5 * n) &lt; 0 ? (s = !0, i = 0) : (-1 === n &amp;&amp; i &lt;= t || 1 === n &amp;&amp; i &gt;= t) &amp;&amp; (s = !0, i = t), e[!0 === this.vertical ? "scrollTop" : "scrollLeft"] = i, this.__updateArrows(), s
                }
            },
            created: function () {
                this.buffer = [],
                    this.__updateArrows = !0 === this.arrowsEnabled ? this.__updateArrowsFn : f
            },
            beforeDestroy: function () {
                clearTimeout(this.bufferTimer),
                    clearTimeout(this.animateTimer)
            },
            render: function (t) {
                var e = [
                    t(Zi, { on: mt(this, "resize", { resize: this.__updateContainer }) }),
                    t("div", {
                        ref: "content",
                        staticClass: "q-tabs__content row no-wrap items-center self-stretch hide-scrollbar",
                        class: this.innerClass
                    }, Lt(this, "default"))
                ];
                return !0 === this.arrowsEnabled &amp;&amp; e.push(t(Et, {
                    staticClass: "q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon",
                    class: !0 === this.leftArrow ? "" : "q-tabs__arrow--faded",
                    props: { name: this.leftIcon || (!0 === this.vertical ? this.$q.iconSet.tabs.up : this.$q.iconSet.tabs.left) },
                    on: mt(this, "onL", {
                        mousedown: this.__scrollToStart,
                        touchstart: this.__scrollToStart,
                        mouseup: this.__stopAnimScroll,
                        mouseleave: this.__stopAnimScroll,
                        touchend: this.__stopAnimScroll
                    })
                }), t(Et, {
                    staticClass: "q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon",
                    class: !0 === this.rightArrow ? "" : "q-tabs__arrow--faded",
                    props: { name: this.rightIcon || (!0 === this.vertical ? this.$q.iconSet.tabs.down : this.$q.iconSet.tabs.right) },
                    on: mt(this, "onR", {
                        mousedown: this.__scrollToEnd,
                        touchstart: this.__scrollToEnd,
                        mouseup: this.__stopAnimScroll,
                        mouseleave: this.__stopAnimScroll,
                        touchend: this.__stopAnimScroll
                    })
                })), t("div", {
                    staticClass: "q-tabs row no-wrap items-center",
                    class: this.classes,
                    on: this.onEvents,
                    attrs: { role: "tablist" }
                }, e)
            }
        }),
        os = 0,
        rs = t.extend({
            name: "QTab",
            mixins: [
                oe,
                Mt
            ],
            inject: {
                tabs: {
                    default: function () {
                        console.error("QTab/QRouteTab components need to be child of QTabs")
                    }
                },
                __activateTab: {},
                __recalculateScroll: {}
            },
            props: {
                icon: String,
                label: [
                    Number,
                    String
                ],
                alert: [
                    Boolean,
                    String
                ],
                alertIcon: String,
                name: {
                    type: [
                        Number,
                        String
                    ],
                    default: function () {
                        return "t_" + os++
                    }
                },
                noCaps: Boolean,
                tabindex: [
                    String,
                    Number
                ],
                disable: Boolean,
                contentClass: String
            },
            computed: {
                isActive: function () {
                    return this.tabs.current === this.name
                },
                classes: function () {
                    var t;
                    return (t = {})["q-tab--" + (this.isActive ? "" : "in") + "active"] = !0, t["text-" + this.tabs.activeColor] = this.isActive &amp;&amp; this.tabs.activeColor, t["bg-" + this.tabs.activeBgColor] = this.isActive &amp;&amp; this.tabs.activeBgColor, t["q-tab--full"] = this.icon &amp;&amp; this.label &amp;&amp; !this.tabs.inlineLabel, t["q-tab--no-caps"] = !0 === this.noCaps || !0 === this.tabs.noCaps, t["q-focusable q-hoverable cursor-pointer"] = !this.disable, t.disabled = this.disable, t
                },
                innerClass: function () {
                    return (!0 === this.tabs.inlineLabel ? "row no-wrap q-tab__content--inline" : "column") + (void 0 !== this.contentClass ? " " + this.contentClass : "")
                },
                computedTabIndex: function () {
                    return !0 === this.disable || !0 === this.isActive ? -1 : this.tabindex || 0
                },
                onEvents: function () {
                    return Object.assign({}, { input: y }, this.qListeners, {
                        click: this.__activate,
                        keyup: this.__onKeyup
                    })
                },
                attrs: function () {
                    var t = {
                        tabindex: this.computedTabIndex,
                        role: "tab",
                        "aria-selected": this.isActive
                    };
                    return !0 === this.disable &amp;&amp; (t["aria-disabled"] = ""), t
                }
            },
            methods: {
                __activate: function (t, e) {
                    !0 !== e &amp;&amp; void 0 !== this.$refs.blurTarget &amp;&amp; this.$refs.blurTarget.focus(),
                        !0 !== this.disable &amp;&amp; (void 0 !== this.qListeners.click &amp;&amp; this.$emit("click", t), this.__activateTab(this.name))
                },
                __onKeyup: function (t) {
                    !0 === tt(t, 13) &amp;&amp; this.__activate(t, !0)
                },
                __getContent: function (t) {
                    var e = this.tabs.narrowIndicator,
                        i = [],
                        s = t("div", {
                            staticClass: "q-tab__indicator",
                            class: this.tabs.indicatorClass
                        });
                    void 0 !== this.icon &amp;&amp; i.push(t(Et, {
                        staticClass: "q-tab__icon",
                        props: { name: this.icon }
                    })),
                        void 0 !== this.label &amp;&amp; i.push(t("div", { staticClass: "q-tab__label" }, [
                            this.label
                        ])),
                        !1 !== this.alert &amp;&amp; i.push(void 0 !== this.alertIcon ? t(Et, {
                            staticClass: "q-tab__alert-icon",
                            props: {
                                color: !0 !== this.alert ? this.alert : void 0,
                                name: this.alertIcon
                            }
                        }) : t("div", {
                            staticClass: "q-tab__alert",
                            class: !0 !== this.alert ? "text-" + this.alert : null
                        })),
                        !0 === e &amp;&amp; i.push(s);
                    var n = [
                        t("div", {
                            staticClass: "q-focus-helper",
                            attrs: { tabindex: -1 },
                            ref: "blurTarget"
                        }),
                        t("div", {
                            staticClass: "q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable",
                            class: this.innerClass
                        }, Pt(i, this, "default"))
                    ];
                    return !1 === e &amp;&amp; n.push(s), n
                },
                __renderTab: function (t, e, i) {
                    var s = {
                        staticClass: "q-tab relative-position self-stretch flex flex-center text-center",
                        class: this.classes,
                        attrs: this.attrs,
                        directives: !1 !== this.ripple &amp;&amp; !0 === this.disable ? null : [
                            {
                                name: "ripple",
                                value: this.ripple
                            }
                        ]
                    };
                    return s["div" === e ? "on" : "nativeOn"] = this.onEvents, void 0 !== i &amp;&amp; (s.props = i), t(e, s, this.__getContent(t))
                }
            },
            mounted: function () {
                this.__recalculateScroll()
            },
            beforeDestroy: function () {
                this.__recalculateScroll()
            },
            render: function (t) {
                return this.__renderTab(t, "div")
            }
        }),
        as = t.extend({
            name: "QTabPanels",
            mixins: [
                Dt,
                mi
            ],
            computed: {
                classes: function () {
                    return "q-tab-panels q-panel-parent" + (!0 === this.isDark ? " q-tab-panels--dark q-dark" : "")
                }
            },
            methods: {
                __renderPanels: function (t) {
                    return t("div", {
                        class: this.classes,
                        directives: this.panelDirectives,
                        on: Object.assign({}, this.qListeners)
                    }, this.__getPanelContent(t))
                }
            }
        }),
        ls = t.extend({
            name: "QTabPanel",
            mixins: [
                vi
            ],
            render: function (t) {
                return t("div", {
                    staticClass: "q-tab-panel",
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        cs = ["rgb(255,204,204)", "rgb(255,230,204)", "rgb(255,255,204)", "rgb(204,255,204)", "rgb(204,255,230)", "rgb(204,255,255)", "rgb(204,230,255)", "rgb(204,204,255)", "rgb(230,204,255)", "rgb(255,204,255)", "rgb(255,153,153)", "rgb(255,204,153)", "rgb(255,255,153)", "rgb(153,255,153)", "rgb(153,255,204)", "rgb(153,255,255)", "rgb(153,204,255)", "rgb(153,153,255)", "rgb(204,153,255)", "rgb(255,153,255)", "rgb(255,102,102)", "rgb(255,179,102)", "rgb(255,255,102)", "rgb(102,255,102)", "rgb(102,255,179)", "rgb(102,255,255)", "rgb(102,179,255)", "rgb(102,102,255)", "rgb(179,102,255)", "rgb(255,102,255)", "rgb(255,51,51)", "rgb(255,153,51)", "rgb(255,255,51)", "rgb(51,255,51)", "rgb(51,255,153)", "rgb(51,255,255)", "rgb(51,153,255)", "rgb(51,51,255)", "rgb(153,51,255)", "rgb(255,51,255)", "rgb(255,0,0)", "rgb(255,128,0)", "rgb(255,255,0)", "rgb(0,255,0)", "rgb(0,255,128)", "rgb(0,255,255)", "rgb(0,128,255)", "rgb(0,0,255)", "rgb(128,0,255)", "rgb(255,0,255)", "rgb(245,0,0)", "rgb(245,123,0)", "rgb(245,245,0)", "rgb(0,245,0)", "rgb(0,245,123)", "rgb(0,245,245)", "rgb(0,123,245)", "rgb(0,0,245)", "rgb(123,0,245)", "rgb(245,0,245)", "rgb(214,0,0)", "rgb(214,108,0)", "rgb(214,214,0)", "rgb(0,214,0)", "rgb(0,214,108)", "rgb(0,214,214)", "rgb(0,108,214)", "rgb(0,0,214)", "rgb(108,0,214)", "rgb(214,0,214)", "rgb(163,0,0)", "rgb(163,82,0)", "rgb(163,163,0)", "rgb(0,163,0)", "rgb(0,163,82)", "rgb(0,163,163)", "rgb(0,82,163)", "rgb(0,0,163)", "rgb(82,0,163)", "rgb(163,0,163)", "rgb(92,0,0)", "rgb(92,46,0)", "rgb(92,92,0)", "rgb(0,92,0)", "rgb(0,92,46)", "rgb(0,92,92)", "rgb(0,46,92)", "rgb(0,0,92)", "rgb(46,0,92)", "rgb(92,0,92)", "rgb(255,255,255)", "rgb(205,205,205)", "rgb(178,178,178)", "rgb(153,153,153)", "rgb(127,127,127)", "rgb(102,102,102)", "rgb(76,76,76)", "rgb(51,51,51)", "rgb(25,25,25)", "rgb(0,0,0)"],
        us = t.extend({
            name: "QColor",
            mixins: [
                Mt,
                Dt,
                ai
            ],
            directives: { TouchPan: Qi },
            props: {
                value: String,
                defaultValue: String,
                defaultView: {
                    type: String,
                    default: "spectrum",
                    validator: function (t) {
                        return ["spectrum", "tune", "palette"].includes(t)
                    }
                },
                formatModel: {
                    type: String,
                    default: "auto",
                    validator: function (t) {
                        return ["auto", "hex", "rgb", "hexa", "rgba"].includes(t)
                    }
                },
                palette: Array,
                noHeader: Boolean,
                noFooter: Boolean,
                square: Boolean,
                flat: Boolean,
                bordered: Boolean,
                disable: Boolean,
                readonly: Boolean
            },
            data: function () {
                return {
                    topView: "auto" === this.formatModel ? void 0 === this.value || null === this.value || "" === this.value || this.value.startsWith("#") ? "hex" : "rgb" : this.formatModel.startsWith("hex") ? "hex" : "rgb",
                    view: this.defaultView,
                    model: this.__parseModel(this.value || this.defaultValue)
                }
            },
            watch: {
                value: function (t) {
                    var e = this.__parseModel(t || this.defaultValue);
                    e.hex !== this.model.hex &amp;&amp; (this.model = e)
                },
                defaultValue: function (t) {
                    if (!this.value &amp;&amp; t) {
                        var e = this.__parseModel(t);
                        e.hex !== this.model.hex &amp;&amp; (this.model = e)
                    }
                }
            },
            computed: {
                editable: function () {
                    return !0 !== this.disable &amp;&amp; !0 !== this.readonly
                },
                forceHex: function () {
                    return "auto" === this.formatModel ? null : this.formatModel.indexOf("hex") &gt; -1
                },
                forceAlpha: function () {
                    return "auto" === this.formatModel ? null : this.formatModel.indexOf("a") &gt; -1
                },
                isHex: function () {
                    return void 0 === this.value || null === this.value || "" === this.value || this.value.startsWith("#")
                },
                isOutputHex: function () {
                    return null !== this.forceHex ? this.forceHex : this.isHex
                },
                formAttrs: function () {
                    return {
                        type: "hidden",
                        name: this.name,
                        value: this.model[!0 === this.isOutputHex ? "hex" : "rgb"]
                    }
                },
                hasAlpha: function () {
                    return null !== this.forceAlpha ? this.forceAlpha : void 0 !== this.model.a
                },
                currentBgColor: function () {
                    return { backgroundColor: this.model.rgb || "#000" }
                },
                headerClass: function () {
                    return "q-color-picker__header-content--" + (void 0 !== this.model.a &amp;&amp; this.model.a &lt; 65 || Y(this.model) &gt; .4 ? "light" : "dark")
                },
                spectrumStyle: function () {
                    return { background: "hsl(" + this.model.h + ",100%,50%)" }
                },
                spectrumPointerStyle: function () {
                    var t;
                    return (t = { top: 100 - this.model.v + "%" })[!0 === this.$q.lang.rtl ? "right" : "left"] = this.model.s + "%", t
                },
                inputsArray: function () {
                    var t = ["r", "g", "b"];
                    return !0 === this.hasAlpha &amp;&amp; t.push("a"), t
                },
                computedPalette: function () {
                    return void 0 !== this.palette &amp;&amp; this.palette.length &gt; 0 ? this.palette : cs
                },
                classes: function () {
                    return "q-color-picker" + (!0 === this.bordered ? " q-color-picker--bordered" : "") + (!0 === this.square ? " q-color-picker--square no-border-radius" : "") + (!0 === this.flat ? " q-color-picker--flat no-shadow" : "") + (!0 === this.disable ? " disabled" : "") + (!0 === this.isDark ? " q-color-picker--dark q-dark" : "")
                },
                attrs: function () {
                    return !0 === this.disable ? { "aria-disabled": "" } : !0 === this.readonly ? { "aria-readonly": "" } : void 0
                }
            },
            created: function () {
                this.__spectrumChange = ee(this.__spectrumChange, 20)
            },
            render: function (t) {
                var e = [
                    this.__getContent(t)
                ];
                return void 0 !== this.name &amp;&amp; !0 !== this.disable &amp;&amp; this.__injectFormInput(e, "push"), !0 !== this.noHeader &amp;&amp; e.unshift(this.__getHeader(t)), !0 !== this.noFooter &amp;&amp; e.push(this.__getFooter(t)), t("div", {
                    class: this.classes,
                    attrs: this.attrs,
                    on: Object.assign({}, this.qListeners)
                }, e)
            },
            methods: {
                __getHeader: function (t) {
                    var e = this;
                    return t("div", { staticClass: "q-color-picker__header relative-position overflow-hidden" }, [
                        t("div", { staticClass: "q-color-picker__header-bg absolute-full" }),
                        t("div", {
                            staticClass: "q-color-picker__header-content absolute-full",
                            class: this.headerClass,
                            style: this.currentBgColor
                        }, [
                            t(ns, {
                                props: {
                                    value: this.topView,
                                    dense: !0,
                                    align: "justify"
                                },
                                on: mt(this, "topVTab", {
                                    input: function (t) {
                                        e.topView = t
                                    }
                                })
                            }, [
                                t(rs, {
                                    props: {
                                        label: "HEX" + (!0 === this.hasAlpha ? "A" : ""),
                                        name: "hex",
                                        ripple: !1
                                    }
                                }),
                                t(rs, {
                                    props: {
                                        label: "RGB" + (!0 === this.hasAlpha ? "A" : ""),
                                        name: "rgb",
                                        ripple: !1
                                    }
                                })
                            ]),
                            t("div", { staticClass: "q-color-picker__header-banner row flex-center no-wrap" }, [
                                t("input", {
                                    staticClass: "fit",
                                    domProps: { value: this.model[this.topView] },
                                    attrs: !0 !== this.editable ? { readonly: !0 } : null,
                                    on: mt(this, "topIn", {
                                        input: function (t) {
                                            e.__updateErrorIcon(!0 === e.__onEditorChange(t))
                                        },
                                        change: y,
                                        blur: function (t) {
                                            !0 === e.__onEditorChange(t, !0) &amp;&amp; e.$forceUpdate(),
                                                e.__updateErrorIcon(!1)
                                        }
                                    })
                                }),
                                t(Et, {
                                    ref: "errorIcon",
                                    staticClass: "q-color-picker__error-icon absolute no-pointer-events",
                                    props: { name: this.$q.iconSet.type.negative }
                                })
                            ])
                        ])
                    ])
                },
                __getContent: function (t) {
                    return t(as, {
                        props: {
                            value: this.view,
                            animated: !0
                        }
                    }, [
                        t(ls, {
                            staticClass: "q-color-picker__spectrum-tab overflow-hidden",
                            props: { name: "spectrum" }
                        }, this.__getSpectrumTab(t)),
                        t(ls, {
                            staticClass: "q-pa-md q-color-picker__tune-tab",
                            props: { name: "tune" }
                        }, this.__getTuneTab(t)),
                        t(ls, {
                            staticClass: "q-color-picker__palette-tab",
                            props: { name: "palette" }
                        }, this.__getPaletteTab(t))
                    ])
                },
                __getFooter: function (t) {
                    var e = this;
                    return t("div", { staticClass: "q-color-picker__footer relative-position overflow-hidden" }, [
                        t(ns, {
                            staticClass: "absolute-full",
                            props: {
                                value: this.view,
                                dense: !0,
                                align: "justify"
                            },
                            on: mt(this, "ftIn", {
                                input: function (t) {
                                    e.view = t
                                }
                            })
                        }, [
                            t(rs, {
                                props: {
                                    icon: this.$q.iconSet.colorPicker.spectrum,
                                    name: "spectrum",
                                    ripple: !1
                                }
                            }),
                            t(rs, {
                                props: {
                                    icon: this.$q.iconSet.colorPicker.tune,
                                    name: "tune",
                                    ripple: !1
                                }
                            }),
                            t(rs, {
                                props: {
                                    icon: this.$q.iconSet.colorPicker.palette,
                                    name: "palette",
                                    ripple: !1
                                }
                            })
                        ])
                    ])
                },
                __getSpectrumTab: function (t) {
                    var e = this;
                    return [
                        t("div", {
                            ref: "spectrum",
                            staticClass: "q-color-picker__spectrum non-selectable relative-position cursor-pointer",
                            style: this.spectrumStyle,
                            class: { readonly: !0 !== this.editable },
                            on: !0 === this.editable ? mt(this, "spectrT", {
                                click: this.__spectrumClick,
                                mousedown: this.__activate
                            }) : null,
                            directives: !0 === this.editable ? mt(this, "spectrDir", [
                                {
                                    name: "touch-pan",
                                    modifiers: {
                                        prevent: !0,
                                        stop: !0,
                                        mouse: !0
                                    },
                                    value: this.__spectrumPan
                                }
                            ]) : null
                        }, [
                            t("div", { style: { paddingBottom: "100%" } }),
                            t("div", { staticClass: "q-color-picker__spectrum-white absolute-full" }),
                            t("div", { staticClass: "q-color-picker__spectrum-black absolute-full" }),
                            t("div", {
                                staticClass: "absolute",
                                style: this.spectrumPointerStyle
                            }, [
                                void 0 !== this.model.hex ? t("div", { staticClass: "q-color-picker__spectrum-circle" }) : null
                            ])
                        ]),
                        t("div", { staticClass: "q-color-picker__sliders" }, [
                            t("div", { staticClass: "q-color-picker__hue non-selectable" }, [
                                t(Xi, {
                                    props: {
                                        value: this.model.h,
                                        min: 0,
                                        max: 360,
                                        fillHandleAlways: !0,
                                        readonly: !0 !== this.editable,
                                        thumbPath: "M5 5 h10 v10 h-10 v-10 z"
                                    },
                                    on: mt(this, "hueSlide", {
                                        input: this.__onHueChange,
                                        change: function (t) {
                                            return e.__onHueChange(t, !0)
                                        }
                                    })
                                })
                            ]),
                            !0 === this.hasAlpha ? t("div", { staticClass: "q-color-picker__alpha non-selectable" }, [
                                t(Xi, {
                                    props: {
                                        value: this.model.a,
                                        min: 0,
                                        max: 100,
                                        fillHandleAlways: !0,
                                        readonly: !0 !== this.editable,
                                        thumbPath: "M5 5 h10 v10 h-10 v-10 z"
                                    },
                                    on: mt(this, "alphaSlide", {
                                        input: function (t) {
                                            return e.__onNumericChange(t, "a", 100)
                                        },
                                        change: function (t) {
                                            return e.__onNumericChange(t, "a", 100, void 0, !0)
                                        }
                                    })
                                })
                            ]) : null
                        ])
                    ]
                },
                __getTuneTab: function (t) {
                    var e = this;
                    return [
                        t("div", { staticClass: "row items-center no-wrap" }, [
                            t("div", ["R"]),
                            t(Xi, {
                                props: {
                                    value: this.model.r,
                                    min: 0,
                                    max: 255,
                                    color: "red",
                                    dark: this.isDark,
                                    readonly: !0 !== this.editable
                                },
                                on: mt(this, "rSlide", {
                                    input: function (t) {
                                        return e.__onNumericChange(t, "r", 255)
                                    },
                                    change: function (t) {
                                        return e.__onNumericChange(t, "r", 255, void 0, !0)
                                    }
                                })
                            }),
                            t("input", {
                                domProps: { value: this.model.r },
                                attrs: {
                                    maxlength: 3,
                                    readonly: !0 !== this.editable
                                },
                                on: mt(this, "rIn", {
                                    input: function (t) {
                                        return e.__onNumericChange(t.target.value, "r", 255, t)
                                    },
                                    change: y,
                                    blur: function (t) {
                                        return e.__onNumericChange(t.target.value, "r", 255, t, !0)
                                    }
                                })
                            })
                        ]),
                        t("div", { staticClass: "row items-center no-wrap" }, [
                            t("div", ["G"]),
                            t(Xi, {
                                props: {
                                    value: this.model.g,
                                    min: 0,
                                    max: 255,
                                    color: "green",
                                    dark: this.isDark,
                                    readonly: !0 !== this.editable
                                },
                                on: mt(this, "gSlide", {
                                    input: function (t) {
                                        return e.__onNumericChange(t, "g", 255)
                                    },
                                    change: function (t) {
                                        return e.__onNumericChange(t, "g", 255, void 0, !0)
                                    }
                                })
                            }),
                            t("input", {
                                domProps: { value: this.model.g },
                                attrs: {
                                    maxlength: 3,
                                    readonly: !0 !== this.editable
                                },
                                on: mt(this, "gIn", {
                                    input: function (t) {
                                        return e.__onNumericChange(t.target.value, "g", 255, t)
                                    },
                                    change: y,
                                    blur: function (t) {
                                        return e.__onNumericChange(t.target.value, "g", 255, t, !0)
                                    }
                                })
                            })
                        ]),
                        t("div", { staticClass: "row items-center no-wrap" }, [
                            t("div", ["B"]),
                            t(Xi, {
                                props: {
                                    value: this.model.b,
                                    min: 0,
                                    max: 255,
                                    color: "blue",
                                    readonly: !0 !== this.editable,
                                    dark: this.isDark
                                },
                                on: mt(this, "bSlide", {
                                    input: function (t) {
                                        return e.__onNumericChange(t, "b", 255)
                                    },
                                    change: function (t) {
                                        return e.__onNumericChange(t, "b", 255, void 0, !0)
                                    }
                                })
                            }),
                            t("input", {
                                domProps: { value: this.model.b },
                                attrs: {
                                    maxlength: 3,
                                    readonly: !0 !== this.editable
                                },
                                on: mt(this, "bIn", {
                                    input: function (t) {
                                        return e.__onNumericChange(t.target.value, "b", 255, t)
                                    },
                                    change: y,
                                    blur: function (t) {
                                        return e.__onNumericChange(t.target.value, "b", 255, t, !0)
                                    }
                                })
                            })
                        ]),
                        !0 === this.hasAlpha ? t("div", { staticClass: "row items-center no-wrap" }, [
                            t("div", ["A"]),
                            t(Xi, {
                                props: {
                                    value: this.model.a,
                                    color: "grey",
                                    readonly: !0 !== this.editable,
                                    dark: this.isDark
                                },
                                on: mt(this, "aSlide", {
                                    input: function (t) {
                                        return e.__onNumericChange(t, "a", 100)
                                    },
                                    change: function (t) {
                                        return e.__onNumericChange(t, "a", 100, void 0, !0)
                                    }
                                })
                            }),
                            t("input", {
                                domProps: { value: this.model.a },
                                attrs: {
                                    maxlength: 3,
                                    readonly: !0 !== this.editable
                                },
                                on: mt(this, "aIn", {
                                    input: function (t) {
                                        return e.__onNumericChange(t.target.value, "a", 100, t)
                                    },
                                    change: y,
                                    blur: function (t) {
                                        return e.__onNumericChange(t.target.value, "a", 100, t, !0)
                                    }
                                })
                            })
                        ]) : null
                    ]
                },
                __getPaletteTab: function (t) {
                    var e = this;
                    return [
                        t("div", {
                            staticClass: "row items-center q-color-picker__palette-rows",
                            class: !0 === this.editable ? "q-color-picker__palette-rows--editable" : ""
                        }, this.computedPalette.map(function (i) {
                            return t("div", {
                                staticClass: "q-color-picker__cube col-auto",
                                style: { backgroundColor: i },
                                on: !0 === e.editable ? mt(e, "palette#" + i, {
                                    click: function () {
                                        e.__onPalettePick(i)
                                    }
                                }) : null
                            })
                        }))
                    ]
                },
                __onSpectrumChange: function (t, e, i) {
                    var s = this.$refs.spectrum;
                    if (void 0 !== s) {
                        var n = s.clientWidth,
                            o = s.clientHeight,
                            r = s.getBoundingClientRect(),
                            a = Math.min(n, Math.max(0, t - r.left));
                        !0 === this.$q.lang.rtl &amp;&amp; (a = n - a);
                        var l = Math.min(o, Math.max(0, e - r.top)),
                            c = Math.round(100 * a / n),
                            u = Math.round(100 * Math.max(0, Math.min(1, -l / o + 1))),
                            h = H({
                                h: this.model.h,
                                s: c,
                                v: u,
                                a: !0 === this.hasAlpha ? this.model.a : void 0
                            });
                        this.model.s = c,
                            this.model.v = u,
                            this.__update(h, i)
                    }
                },
                __onHueChange: function (t, e) {
                    var i = H({
                        h: t = Math.round(t),
                        s: this.model.s,
                        v: this.model.v,
                        a: !0 === this.hasAlpha ? this.model.a : void 0
                    });
                    this.model.h = t,
                        this.__update(i, e)
                },
                __onNumericChange: function (t, e, i, s, n) {
                    if (void 0 !== s &amp;&amp; y(s), /^[0-9]+$/.test(t)) {
                        var o = Math.floor(Number(t));
                        if (o &lt; 0 || o &gt; i)
                            !0 === n &amp;&amp; this.$forceUpdate();
                        else {
                            var r = {
                                r: "r" === e ? o : this.model.r,
                                g: "g" === e ? o : this.model.g,
                                b: "b" === e ? o : this.model.b,
                                a: !0 === this.hasAlpha ? "a" === e ? o : this.model.a : void 0
                            };
                            if ("a" !== e) {
                                var a = Q(r);
                                this.model.h = a.h,
                                    this.model.s = a.s,
                                    this.model.v = a.v
                            }
                            if (this.__update(r, n), void 0 !== s &amp;&amp; !0 !== n &amp;&amp; void 0 !== s.target.selectionEnd) {
                                var l = s.target.selectionEnd;
                                this.$nextTick(function () {
                                    s.target.setSelectionRange(l, l)
                                })
                            }
                        }
                    }
                    else
                        n &amp;&amp; this.$forceUpdate()
                },
                __onEditorChange: function (t, e) {
                    var i,
                        s = t.target.value;
                    if (y(t), "hex" === this.topView) {
                        if (s.length !== (!0 === this.hasAlpha ? 9 : 7) || !/^#[0-9A-Fa-f]+$/.test(s))
                            return !0;
                        i = N(s)
                    }
                    else {
                        var n;
                        if (!s.endsWith(")"))
                            return !0;
                        if (!0 !== this.hasAlpha &amp;&amp; s.startsWith("rgb(")) {
                            if (3 !== (n = s.substring(4, s.length - 1).split(",").map(function (t) {
                                return parseInt(t, 10)
                            })).length || !/^rgb\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3}\)$/.test(s))
                                return !0
                        }
                        else {
                            if (!0 !== this.hasAlpha || !s.startsWith("rgba("))
                                return !0;
                            if (4 !== (n = s.substring(5, s.length - 1).split(",")).length || !/^rgba\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/.test(s))
                                return !0;
                            for (var o = 0; o &lt; 3; o++) {
                                var r = parseInt(n[o], 10);
                                if (r &lt; 0 || r &gt; 255)
                                    return !0;
                                n[o] = r
                            }
                            var a = parseFloat(n[3]);
                            if (a &lt; 0 || a &gt; 1)
                                return !0;
                            n[3] = a
                        }
                        if (n[0] &lt; 0 || n[0] &gt; 255 || n[1] &lt; 0 || n[1] &gt; 255 || n[2] &lt; 0 || n[2] &gt; 255 || !0 === this.hasAlpha &amp;&amp; (n[3] &lt; 0 || n[3] &gt; 1))
                            return !0;
                        i = {
                            r: n[0],
                            g: n[1],
                            b: n[2],
                            a: !0 === this.hasAlpha ? 100 * n[3] : void 0
                        }
                    }
                    var l = Q(i);
                    if (this.model.h = l.h, this.model.s = l.s, this.model.v = l.v, this.__update(i, e), !0 !== e) {
                        var c = t.target.selectionEnd;
                        this.$nextTick(function () {
                            t.target.setSelectionRange(c, c)
                        })
                    }
                },
                __onPalettePick: function (t) {
                    var e = this.__parseModel(t),
                        i = {
                            r: e.r,
                            g: e.g,
                            b: e.b,
                            a: e.a
                        };
                    void 0 === i.a &amp;&amp; (i.a = this.model.a),
                        this.model.h = e.h,
                        this.model.s = e.s,
                        this.model.v = e.v,
                        this.__update(i, !0)
                },
                __update: function (t, e) {
                    this.model.hex = j(t),
                        this.model.rgb = V(t),
                        this.model.r = t.r,
                        this.model.g = t.g,
                        this.model.b = t.b,
                        this.model.a = t.a;
                    var i = this.model[!0 === this.isOutputHex ? "hex" : "rgb"];
                    this.$emit("input", i),
                        !0 === e &amp;&amp; this.$emit("change", i)
                },
                __updateErrorIcon: function (t) {
                    void 0 !== this.$refs.errorIcon &amp;&amp; (this.$refs.errorIcon.$el.style.opacity = t ? 1 : 0)
                },
                __parseModel: function (t) {
                    var e = void 0 !== this.forceAlpha ? this.forceAlpha : "auto" === this.formatModel ? null : this.formatModel.indexOf("a") &gt; -1;
                    if ("string" != typeof t || 0 === t.length || !0 !== ji.anyColor(t.replace(/ /g, "")))
                        return {
                            h: 0,
                            s: 0,
                            v: 0,
                            r: 0,
                            g: 0,
                            b: 0,
                            a: !0 === e ? 100 : void 0,
                            hex: void 0,
                            rgb: void 0
                        };
                    var i = W(t);
                    return !0 === e &amp;&amp; void 0 === i.a &amp;&amp; (i.a = 100), i.hex = j(i), i.rgb = V(i), Object.assign(i, Q(i))
                },
                __spectrumPan: function (t) {
                    t.isFinal ? this.__onSpectrumChange(t.position.left, t.position.top, !0) : this.__spectrumChange(t)
                },
                __spectrumChange: function (t) {
                    this.__onSpectrumChange(t.position.left, t.position.top)
                },
                __spectrumClick: function (t) {
                    this.__onSpectrumChange(t.pageX - window.pageXOffset, t.pageY - window.pageYOffset, !0)
                },
                __activate: function (t) {
                    this.__onSpectrumChange(t.pageX - window.pageXOffset, t.pageY - window.pageYOffset)
                }
            }
        }),
        hs = [
            -61,
            9,
            38,
            199,
            426,
            686,
            756,
            818,
            1111,
            1181,
            1210,
            1635,
            2060,
            2097,
            2192,
            2262,
            2324,
            2394,
            2456,
            3178
        ];
    function ds(t, e, i) {
        return "[object Date]" === Object.prototype.toString.call(t) &amp;&amp; (i = t.getDate(), e = t.getMonth() + 1, t = t.getFullYear()), function (t) {
            var e,
                i,
                s,
                n = _s(t).gy,
                o = n - 621,
                r = vs(o, !1),
                a = gs(n, 3, r.march);
            if ((s = t - a) &gt;= 0) {
                if (s &lt;= 185)
                    return i = 1 + bs(s, 31), e = ys(s, 31) + 1, {
                        jy: o,
                        jm: i,
                        jd: e
                    };
                s -= 186
            }
            else
                o -= 1,
                    s += 179,
                    1 === r.leap &amp;&amp; (s += 1);
            return i = 7 + bs(s, 30), e = ys(s, 30) + 1, {
                jy: o,
                jm: i,
                jd: e
            }
        }(gs(t, e, i))
    }
    function ps(t, e, i) {
        return _s(function (t, e, i) {
            var s = vs(t, !0);
            return gs(s.gy, 3, s.march) + 31 * (e - 1) - bs(e, 7) * (e - 7) + i - 1
        }(t, e, i))
    }
    function fs(t) {
        return 0 === function (t) {
            var e,
                i,
                s,
                n,
                o,
                r = hs.length,
                a = hs[0];
            if (t &lt; a || t &gt;= hs[r - 1])
                throw new Error("Invalid Jalaali year " + t);
            for (o = 1; o &lt; r &amp;&amp; (e = hs[o], i = e - a, !(t &lt; e)); o += 1)
                a = e;
            i - (n = t - a) &lt; 6 &amp;&amp; (n = n - i + 33 * bs(i + 4, 33));
            -1 === (s = ys(ys(n + 1, 33) - 1, 4)) &amp;&amp; (s = 4);
            return s
        }(t)
    }
    function ms(t, e) {
        return e &lt;= 6 ? 31 : e &lt;= 11 ? 30 : fs(t) ? 30 : 29
    }
    function vs(t, e) {
        var i,
            s,
            n,
            o,
            r,
            a = hs.length,
            l = t + 621,
            c = -14,
            u = hs[0];
        if (t &lt; u || t &gt;= hs[a - 1])
            throw new Error("Invalid Jalaali year " + t);
        for (r = 1; r &lt; a &amp;&amp; (s = (i = hs[r]) - u, !(t &lt; i)); r += 1)
            c = c + 8 * bs(s, 33) + bs(ys(s, 33), 4),
                u = i;
        c = c + 8 * bs(o = t - u, 33) + bs(ys(o, 33) + 3, 4),
            4 === ys(s, 33) &amp;&amp; s - o == 4 &amp;&amp; (c += 1);
        var h = 20 + c - (bs(l, 4) - bs(3 * (bs(l, 100) + 1), 4) - 150);
        return e || (s - o &lt; 6 &amp;&amp; (o = o - s + 33 * bs(s + 4, 33)), -1 === (n = ys(ys(o + 1, 33) - 1, 4)) &amp;&amp; (n = 4)), {
            leap: n,
            gy: l,
            march: h
        }
    }
    function gs(t, e, i) {
        var s = bs(1461 * (t + bs(e - 8, 6) + 100100), 4) + bs(153 * ys(e + 9, 12) + 2, 5) + i - 34840408;
        return s = s - bs(3 * bs(t + 100100 + bs(e - 8, 6), 100), 4) + 752
    }
    function _s(t) {
        var e = 4 * t + 139361631,
            i = 5 * bs(ys(e = e + 4 * bs(3 * bs(4 * t + 183187720, 146097), 4) - 3908, 1461), 4) + 308,
            s = bs(ys(i, 153), 5) + 1,
            n = ys(bs(i, 153), 12) + 1;
        return {
            gy: bs(e, 1461) - 100100 + bs(8 - n, 6),
            gm: n,
            gd: s
        }
    }
    function bs(t, e) {
        return ~~(t / e)
    }
    function ys(t, e) {
        return t - ~~(t / e) * e
    }
    var ws = {
        mixins: [
            Dt,
            ai,
            Mt
        ],
        props: {
            value: { required: !0 },
            mask: { type: String },
            locale: Object,
            calendar: {
                type: String,
                validator: function (t) {
                    return ["gregorian", "persian"].includes(t)
                },
                default: "gregorian"
            },
            landscape: Boolean,
            color: String,
            textColor: String,
            square: Boolean,
            flat: Boolean,
            bordered: Boolean,
            readonly: Boolean,
            disable: Boolean
        },
        watch: {
            mask: function () {
                var t = this;
                this.$nextTick(function () {
                    t.__updateValue({}, "mask")
                })
            },
            computedLocale: function () {
                var t = this;
                this.$nextTick(function () {
                    t.__updateValue({}, "locale")
                })
            }
        },
        computed: {
            editable: function () {
                return !0 !== this.disable &amp;&amp; !0 !== this.readonly
            },
            computedColor: function () {
                return this.color || "primary"
            },
            computedTextColor: function () {
                return this.textColor || "white"
            },
            computedTabindex: function () {
                return !0 === this.editable ? 0 : -1
            },
            headerClass: function () {
                var t = [];
                return void 0 !== this.color &amp;&amp; t.push("bg-" + this.color), void 0 !== this.textColor &amp;&amp; t.push("text-" + this.textColor), t.join(" ")
            },
            computedLocale: function () {
                return this.__getComputedLocale()
            }
        },
        methods: {
            __getComputedLocale: function () {
                return this.locale || this.$q.lang.date
            },
            __getCurrentDate: function () {
                var t = new Date;
                if ("persian" === this.calendar) {
                    var e = ds(t);
                    return {
                        year: e.jy,
                        month: e.jm,
                        day: e.jd
                    }
                }
                return {
                    year: t.getFullYear(),
                    month: t.getMonth() + 1,
                    day: t.getDate()
                }
            },
            __getCurrentTime: function () {
                var t = new Date;
                return {
                    hour: t.getHours(),
                    minute: t.getMinutes(),
                    second: t.getSeconds(),
                    millisecond: t.getMilliseconds()
                }
            }
        }
    },
        Ss = 864e5,
        xs = 36e5,
        Cs = 6e4,
        ks = "YYYY-MM-DDTHH:mm:ss.SSSZ",
        qs = /\[((?:[^\]\\]|\\]|\\)*)\]|d{1,4}|M{1,4}|m{1,2}|w{1,2}|Qo|Do|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]/g,
        Ts = /(\[[^\]]*\])|d{1,4}|M{1,4}|m{1,2}|w{1,2}|Qo|Do|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]|([.*+:?^,\s${}()|\\]+)/g,
        $s = {};
    function Ms(t, e, i, s, n) {
        var o = Object.assign({
            year: null,
            month: null,
            day: null,
            hour: null,
            minute: null,
            second: null,
            millisecond: null,
            timezoneOffset: null,
            dateHash: null,
            timeHash: null
        }, n);
        if (void 0 === t || null === t || "" === t || "string" != typeof t)
            return o;
        void 0 === e &amp;&amp; (e = ks);
        var r = void 0 !== i ? i : I.props.date,
            a = r.months,
            l = r.monthsShort,
            c = function (t, e) {
                var i = "(" + e.days.join("|") + ")",
                    s = t + i;
                if (void 0 !== $s[s])
                    return $s[s];
                var n = "(" + e.daysShort.join("|") + ")",
                    o = "(" + e.months.join("|") + ")",
                    r = "(" + e.monthsShort.join("|") + ")",
                    a = {},
                    l = 0,
                    c = t.replace(Ts, function (t) {
                        switch (l++, t) {
                            case "YY":
                                return a.YY = l, "(-?\\d{1,2})";
                            case "YYYY":
                                return a.YYYY = l, "(-?\\d{1,4})";
                            case "M":
                                return a.M = l, "(\\d{1,2})";
                            case "MM":
                                return a.M = l, "(\\d{2})";
                            case "MMM":
                                return a.MMM = l, r;
                            case "MMMM":
                                return a.MMMM = l, o;
                            case "D":
                                return a.D = l, "(\\d{1,2})";
                            case "Do":
                                return a.D = l++, "(\\d{1,2}(st|nd|rd|th))";
                            case "DD":
                                return a.D = l, "(\\d{2})";
                            case "H":
                                return a.H = l, "(\\d{1,2})";
                            case "HH":
                                return a.H = l, "(\\d{2})";
                            case "h":
                                return a.h = l, "(\\d{1,2})";
                            case "hh":
                                return a.h = l, "(\\d{2})";
                            case "m":
                                return a.m = l, "(\\d{1,2})";
                            case "mm":
                                return a.m = l, "(\\d{2})";
                            case "s":
                                return a.s = l, "(\\d{1,2})";
                            case "ss":
                                return a.s = l, "(\\d{2})";
                            case "S":
                                return a.S = l, "(\\d{1})";
                            case "SS":
                                return a.S = l, "(\\d{2})";
                            case "SSS":
                                return a.S = l, "(\\d{3})";
                            case "A":
                                return a.A = l, "(AM|PM)";
                            case "a":
                                return a.a = l, "(am|pm)";
                            case "aa":
                                return a.aa = l, "(a\\.m\\.|p\\.m\\.)";
                            case "ddd":
                                return n;
                            case "dddd":
                                return i;
                            case "Q":
                            case "d":
                            case "E":
                                return "(\\d{1})";
                            case "Qo":
                                return "(1st|2nd|3rd|4th)";
                            case "DDD":
                            case "DDDD":
                                return "(\\d{1,3})";
                            case "w":
                                return "(\\d{1,2})";
                            case "ww":
                                return "(\\d{2})";
                            case "Z":
                                return a.Z = l, "(Z|[+-]\\d{2}:\\d{2})";
                            case "ZZ":
                                return a.ZZ = l, "(Z|[+-]\\d{2}\\d{2})";
                            case "X":
                                return a.X = l, "(-?\\d+)";
                            case "x":
                                return a.x = l, "(-?\\d{4,})";
                            default:
                                return l--, "[" === t[0] &amp;&amp; (t = t.substring(1, t.length - 1)), t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&amp;")
                        }
                    }),
                    u = {
                        map: a,
                        regex: new RegExp("^" + c)
                    };
                return $s[s] = u, u
            }(e, r),
            u = c.regex,
            h = c.map,
            d = t.match(u);
        if (null === d)
            return o;
        var p = "";
        if (void 0 !== h.X || void 0 !== h.x) {
            var f = parseInt(d[void 0 !== h.X ? h.X : h.x], 10);
            if (!0 === isNaN(f) || f &lt; 0)
                return o;
            var m = new Date(f * (void 0 !== h.X ? 1e3 : 1));
            o.year = m.getFullYear(),
                o.month = m.getMonth() + 1,
                o.day = m.getDate(),
                o.hour = m.getHours(),
                o.minute = m.getMinutes(),
                o.second = m.getSeconds(),
                o.millisecond = m.getMilliseconds()
        }
        else {
            if (void 0 !== h.YYYY)
                o.year = parseInt(d[h.YYYY], 10);
            else if (void 0 !== h.YY) {
                var v = parseInt(d[h.YY], 10);
                o.year = v &lt; 0 ? v : 2e3 + v
            }
            if (void 0 !== h.M) {
                if (o.month = parseInt(d[h.M], 10), o.month &lt; 1 || o.month &gt; 12)
                    return o
            }
            else
                void 0 !== h.MMM ? o.month = l.indexOf(d[h.MMM]) + 1 : void 0 !== h.MMMM &amp;&amp; (o.month = a.indexOf(d[h.MMMM]) + 1);
            if (void 0 !== h.D) {
                if (o.day = parseInt(d[h.D], 10), null === o.year || null === o.month || o.day &lt; 1)
                    return o;
                var g = "persian" !== s ? new Date(o.year, o.month, 0).getDate() : ms(o.year, o.month);
                if (o.day &gt; g)
                    return o
            }
            void 0 !== h.H ? o.hour = parseInt(d[h.H], 10) % 24 : void 0 !== h.h &amp;&amp; (o.hour = parseInt(d[h.h], 10) % 12, (h.A &amp;&amp; "PM" === d[h.A] || h.a &amp;&amp; "pm" === d[h.a] || h.aa &amp;&amp; "p.m." === d[h.aa]) &amp;&amp; (o.hour += 12), o.hour = o.hour % 24),
                void 0 !== h.m &amp;&amp; (o.minute = parseInt(d[h.m], 10) % 60),
                void 0 !== h.s &amp;&amp; (o.second = parseInt(d[h.s], 10) % 60),
                void 0 !== h.S &amp;&amp; (o.millisecond = parseInt(d[h.S], 10) * Math.pow(10, 3 - d[h.S].length)),
                void 0 === h.Z &amp;&amp; void 0 === h.ZZ || (p = void 0 !== h.Z ? d[h.Z].replace(":", "") : d[h.ZZ], o.timezoneOffset = ("+" === p[0] ? -1 : 1) * (60 * p.slice(1, 3) + 1 * p.slice(3, 5)))
        }
        return o.dateHash = o.year + "/" + pt(o.month) + "/" + pt(o.day), o.timeHash = pt(o.hour) + ":" + pt(o.minute) + ":" + pt(o.second) + p, o
    }
    function Ls(t, e) {
        void 0 === e &amp;&amp; (e = "");
        var i = t &gt; 0 ? "-" : "+",
            s = Math.abs(t),
            n = s % 60;
        return i + pt(Math.floor(s / 60)) + e + pt(n)
    }
    function Bs(t, e) {
        var i = new Date(t.getFullYear(), e, 0, 0, 0, 0, 0).getDate();
        t.setMonth(e - 1, Math.min(i, t.getDate()))
    }
    function Ps(t, e, i) {
        var s = new Date(t),
            n = i ? 1 : -1;
        return Object.keys(e).forEach(function (t) {
            if ("month" !== t) {
                var i = "year" === t ? "FullYear" : ut("days" === t ? "date" : t);
                s["set" + i](s["get" + i]() + n * e[t])
            }
            else
                Bs(s, s.getMonth() + 1 + n * e.month)
        }), s
    }
    function Os(t) {
        var e = new Date(t.getFullYear(), t.getMonth(), t.getDate());
        e.setDate(e.getDate() - (e.getDay() + 6) % 7 + 3);
        var i = new Date(e.getFullYear(), 0, 4);
        i.setDate(i.getDate() - (i.getDay() + 6) % 7 + 3);
        var s = e.getTimezoneOffset() - i.getTimezoneOffset();
        e.setHours(e.getHours() - s);
        var n = (e - i) / (7 * Ss);
        return 1 + Math.floor(n)
    }
    function Es(t, e) {
        var i = new Date(t);
        return !0 === e ? function (t) {
            return 1e4 * t.getFullYear() + 100 * t.getMonth() + t.getDate()
        }(i) : i.getTime()
    }
    function zs(t, e, i) {
        var s = new Date(t),
            n = "set" + (i ? "UTC" : "");
        return Object.keys(e).forEach(function (t) {
            if ("month" !== t) {
                var i = "year" === t ? "FullYear" : t.charAt(0).toUpperCase() + t.slice(1);
                s["" + n + i](e[t])
            }
            else
                Bs(s, e.month)
        }), s
    }
    function As(t, e) {
        var i = new Date(t);
        switch (e) {
            case "year":
                i.setMonth(0);
            case "month":
                i.setDate(1);
            case "day":
                i.setHours(0);
            case "hour":
                i.setMinutes(0);
            case "minute":
                i.setSeconds(0);
            case "second":
                i.setMilliseconds(0)
        }
        return i
    }
    function Ds(t, e, i) {
        return (t.getTime() - t.getTimezoneOffset() * Cs - (e.getTime() - e.getTimezoneOffset() * Cs)) / i
    }
    function Rs(t, e, i) {
        void 0 === i &amp;&amp; (i = "days");
        var s = new Date(t),
            n = new Date(e);
        switch (i) {
            case "years":
                return s.getFullYear() - n.getFullYear();
            case "months":
                return 12 * (s.getFullYear() - n.getFullYear()) + s.getMonth() - n.getMonth();
            case "days":
                return Ds(As(s, "day"), As(n, "day"), Ss);
            case "hours":
                return Ds(As(s, "hour"), As(n, "hour"), xs);
            case "minutes":
                return Ds(As(s, "minute"), As(n, "minute"), Cs);
            case "seconds":
                return Ds(As(s, "second"), As(n, "second"), 1e3)
        }
    }
    function Is(t) {
        return Rs(t, As(t, "year"), "days") + 1
    }
    function Fs(t) {
        return new Date(t.getFullYear(), t.getMonth() + 1, 0).getDate()
    }
    function js(t) {
        if (t &gt;= 11 &amp;&amp; t &lt;= 13)
            return t + "th";
        switch (t % 10) {
            case 1:
                return t + "st";
            case 2:
                return t + "nd";
            case 3:
                return t + "rd"
        }
        return t + "th"
    }
    var Vs = {
        YY: function (t, e, i) {
            var s = this.YYYY(t, e, i) % 100;
            return s &gt; 0 ? pt(s) : "-" + pt(Math.abs(s))
        },
        YYYY: function (t, e, i) {
            return void 0 !== i &amp;&amp; null !== i ? i : t.getFullYear()
        },
        M: function (t) {
            return t.getMonth() + 1
        },
        MM: function (t) {
            return pt(t.getMonth() + 1)
        },
        MMM: function (t, e) {
            return e.monthsShort[t.getMonth()]
        },
        MMMM: function (t, e) {
            return e.months[t.getMonth()]
        },
        Q: function (t) {
            return Math.ceil((t.getMonth() + 1) / 3)
        },
        Qo: function (t) {
            return js(this.Q(t))
        },
        D: function (t) {
            return t.getDate()
        },
        Do: function (t) {
            return js(t.getDate())
        },
        DD: function (t) {
            return pt(t.getDate())
        },
        DDD: function (t) {
            return Is(t)
        },
        DDDD: function (t) {
            return pt(Is(t), 3)
        },
        d: function (t) {
            return t.getDay()
        },
        dd: function (t, e) {
            return this.dddd(t, e).slice(0, 2)
        },
        ddd: function (t, e) {
            return e.daysShort[t.getDay()]
        },
        dddd: function (t, e) {
            return e.days[t.getDay()]
        },
        E: function (t) {
            return t.getDay() || 7
        },
        w: function (t) {
            return Os(t)
        },
        ww: function (t) {
            return pt(Os(t))
        },
        H: function (t) {
            return t.getHours()
        },
        HH: function (t) {
            return pt(t.getHours())
        },
        h: function (t) {
            var e = t.getHours();
            return 0 === e ? 12 : e &gt; 12 ? e % 12 : e
        },
        hh: function (t) {
            return pt(this.h(t))
        },
        m: function (t) {
            return t.getMinutes()
        },
        mm: function (t) {
            return pt(t.getMinutes())
        },
        s: function (t) {
            return t.getSeconds()
        },
        ss: function (t) {
            return pt(t.getSeconds())
        },
        S: function (t) {
            return Math.floor(t.getMilliseconds() / 100)
        },
        SS: function (t) {
            return pt(Math.floor(t.getMilliseconds() / 10))
        },
        SSS: function (t) {
            return pt(t.getMilliseconds(), 3)
        },
        A: function (t) {
            return this.H(t) &lt; 12 ? "AM" : "PM"
        },
        a: function (t) {
            return this.H(t) &lt; 12 ? "am" : "pm"
        },
        aa: function (t) {
            return this.H(t) &lt; 12 ? "a.m." : "p.m."
        },
        Z: function (t, e, i, s) {
            return Ls(void 0 === s || null === s ? t.getTimezoneOffset() : s, ":")
        },
        ZZ: function (t, e, i, s) {
            return Ls(void 0 === s || null === s ? t.getTimezoneOffset() : s)
        },
        X: function (t) {
            return Math.floor(t.getTime() / 1e3)
        },
        x: function (t) {
            return t.getTime()
        }
    };
    function Ns(t, e, i, s, n) {
        if ((0 === t || t) &amp;&amp; t !== 1 / 0 &amp;&amp; t !== -1 / 0) {
            var o = new Date(t);
            if (!isNaN(o)) {
                void 0 === e &amp;&amp; (e = ks);
                var r = void 0 !== i ? i : I.props.date;
                return e.replace(qs, function (t, e) {
                    return t in Vs ? Vs[t](o, r, s, n) : void 0 === e ? t : e.split("\\]").join("]")
                })
            }
        }
    }
    var Hs,
        Qs,
        Ws,
        Ys,
        Us,
        Ks,
        Xs = {
            isValid: function (t) {
                return "number" == typeof t || !1 === isNaN(Date.parse(t))
            },
            extractDate: function (t, e, i) {
                var s = Ms(t, e, i),
                    n = new Date(s.year, null === s.month ? null : s.month - 1, s.day, s.hour, s.minute, s.second, s.millisecond),
                    o = n.getTimezoneOffset();
                return null === s.timezoneOffset || s.timezoneOffset === o ? n : Ps(n, { minutes: s.timezoneOffset - o }, !0)
            },
            buildDate: function (t, e) {
                return zs(new Date, t, e)
            },
            getDayOfWeek: function (t) {
                var e = new Date(t).getDay();
                return 0 === e ? 7 : e
            },
            getWeekOfYear: Os,
            isBetweenDates: function (t, e, i, s) {
                void 0 === s &amp;&amp; (s = {});
                var n = Es(e, s.onlyDate),
                    o = Es(i, s.onlyDate),
                    r = Es(t, s.onlyDate);
                return (r &gt; n || !0 === s.inclusiveFrom &amp;&amp; r === n) &amp;&amp; (r &lt; o || !0 === s.inclusiveTo &amp;&amp; r === o)
            },
            addToDate: function (t, e) {
                return Ps(t, e, !0)
            },
            subtractFromDate: function (t, e) {
                return Ps(t, e, !1)
            },
            adjustDate: zs,
            startOfDate: As,
            endOfDate: function (t, e) {
                var i = new Date(t);
                switch (e) {
                    case "year":
                        i.setMonth(11);
                    case "month":
                        i.setDate(Fs(i));
                    case "day":
                        i.setHours(23);
                    case "hour":
                        i.setMinutes(59);
                    case "minute":
                        i.setSeconds(59);
                    case "second":
                        i.setMilliseconds(59)
                }
                return i
            },
            getMaxDate: function (t) {
                var e = new Date(t);
                return Array.prototype.slice.call(arguments, 1).forEach(function (t) {
                    e = Math.max(e, new Date(t))
                }), e
            },
            getMinDate: function (t) {
                var e = new Date(t);
                return Array.prototype.slice.call(arguments, 1).forEach(function (t) {
                    e = Math.min(e, new Date(t))
                }), e
            },
            getDateDiff: Rs,
            getDayOfYear: Is,
            inferDateFormat: function (t) {
                return !0 === Si(t) ? "date" : "number" == typeof t ? "number" : "string"
            },
            getDateBetween: function (t, e, i) {
                var s = new Date(t);
                if (e) {
                    var n = new Date(e);
                    if (s &lt; n)
                        return n
                }
                if (i) {
                    var o = new Date(i);
                    if (s &gt; o)
                        return o
                }
                return s
            },
            isSameDate: function (t, e, i) {
                var s = new Date(t),
                    n = new Date(e);
                if (void 0 === i)
                    return s.getTime() === n.getTime();
                switch (i) {
                    case "second":
                        if (s.getSeconds() !== n.getSeconds())
                            return !1;
                    case "minute":
                        if (s.getMinutes() !== n.getMinutes())
                            return !1;
                    case "hour":
                        if (s.getHours() !== n.getHours())
                            return !1;
                    case "day":
                        if (s.getDate() !== n.getDate())
                            return !1;
                    case "month":
                        if (s.getMonth() !== n.getMonth())
                            return !1;
                    case "year":
                        if (s.getFullYear() !== n.getFullYear())
                            return !1;
                        break;
                    default:
                        throw new Error("date isSameDate unknown unit " + i);
                }
                return !0
            },
            daysInMonth: Fs,
            formatDate: Ns,
            clone: function (t) {
                return !0 === Si(t) ? new Date(t.getTime()) : t
            }
        },
        Gs = function (t) {
            return ["Calendar", "Years", "Months"].includes(t)
        },
        Zs = t.extend({
            name: "QDate",
            mixins: [
                ws
            ],
            props: {
                title: String,
                subtitle: String,
                emitImmediately: Boolean,
                mask: { default: "YYYY/MM/DD" },
                defaultYearMonth: {
                    type: String,
                    validator: function (t) {
                        return /^-?[\d]+\/[0-1]\d$/.test(t)
                    }
                },
                yearsInMonthView: Boolean,
                events: [
                    Array,
                    Function
                ],
                eventColor: [
                    String,
                    Function
                ],
                options: [
                    Array,
                    Function
                ],
                firstDayOfWeek: [
                    String,
                    Number
                ],
                todayBtn: Boolean,
                minimal: Boolean,
                defaultView: {
                    type: String,
                    default: "Calendar",
                    validator: Gs
                }
            },
            data: function () {
                var t = this.__getModels(this.value, this.mask, this.__getComputedLocale()),
                    e = t.inner,
                    i = t.external,
                    s = !0 === this.$q.lang.rtl ? "right" : "left";
                return {
                    view: this.defaultView,
                    monthDirection: s,
                    yearDirection: s,
                    startYear: e.year - e.year % 20 - (e.year &lt; 0 ? 20 : 0),
                    innerModel: e,
                    extModel: i
                }
            },
            watch: {
                value: function (t) {
                    var e = this,
                        i = this.__getModels(t, this.mask, this.__getComputedLocale()),
                        s = i.inner,
                        n = i.external;
                    this.extModel.dateHash === n.dateHash &amp;&amp; this.extModel.timeHash === n.timeHash || (this.extModel = n),
                        s.dateHash !== this.innerModel.dateHash &amp;&amp; (this.monthDirection = this.innerModel.dateHash &lt; s.dateHash == (!0 !== this.$q.lang.rtl) ? "left" : "right", s.year !== this.innerModel.year &amp;&amp; (this.yearDirection = this.monthDirection), this.$nextTick(function () {
                            e.startYear = s.year - s.year % 20 - (s.year &lt; 0 ? 20 : 0),
                                e.innerModel = s
                        }))
                },
                view: function () {
                    void 0 !== this.$refs.blurTarget &amp;&amp; this.$refs.blurTarget.focus()
                }
            },
            computed: {
                classes: function () {
                    var t = !0 === this.landscape ? "landscape" : "portrait";
                    return "q-date q-date--" + t + " q-date--" + t + "-" + (!0 === this.minimal ? "minimal" : "standard") + (!0 === this.isDark ? " q-date--dark q-dark" : "") + (!0 === this.bordered ? " q-date--bordered" : "") + (!0 === this.square ? " q-date--square no-border-radius" : "") + (!0 === this.flat ? " q-date--flat no-shadow" : "") + (!0 === this.disable ? " disabled" : !0 === this.readonly ? " q-date--readonly" : "")
                },
                headerTitle: function () {
                    if (void 0 !== this.title &amp;&amp; null !== this.title &amp;&amp; this.title.length &gt; 0)
                        return this.title;
                    var t,
                        e = this.extModel;
                    if (null === e.dateHash)
                        return " --- ";
                    if ("persian" !== this.calendar)
                        t = new Date(e.year, e.month - 1, e.day);
                    else {
                        var i = ps(e.year, e.month, e.day);
                        t = new Date(i.gy, i.gm - 1, i.gd)
                    }
                    return !0 === isNaN(t.valueOf()) ? " --- " : void 0 !== this.computedLocale.headerTitle ? this.computedLocale.headerTitle(t, e) : this.computedLocale.daysShort[t.getDay()] + ", " + this.computedLocale.monthsShort[e.month - 1] + " " + e.day
                },
                headerSubtitle: function () {
                    return void 0 !== this.subtitle &amp;&amp; null !== this.subtitle &amp;&amp; this.subtitle.length &gt; 0 ? this.subtitle : null !== this.extModel.year ? this.extModel.year : " --- "
                },
                dateArrow: function () {
                    var t = [
                        this.$q.iconSet.datetime.arrowLeft,
                        this.$q.iconSet.datetime.arrowRight
                    ];
                    return !0 === this.$q.lang.rtl ? t.reverse() : t
                },
                computedFirstDayOfWeek: function () {
                    return void 0 !== this.firstDayOfWeek ? Number(this.firstDayOfWeek) : this.computedLocale.firstDayOfWeek
                },
                daysOfWeek: function () {
                    var t = this.computedLocale.daysShort,
                        e = this.computedFirstDayOfWeek;
                    return e &gt; 0 ? t.slice(e, 7).concat(t.slice(0, e)) : t
                },
                daysInMonth: function () {
                    return this.__getDaysInMonth(this.innerModel)
                },
                today: function () {
                    return this.__getCurrentDate()
                },
                evtFn: function () {
                    var t = this;
                    return "function" == typeof this.events ? this.events : function (e) {
                        return t.events.includes(e)
                    }
                },
                evtColor: function () {
                    var t = this;
                    return "function" == typeof this.eventColor ? this.eventColor : function (e) {
                        return t.eventColor
                    }
                },
                isInSelection: function () {
                    var t = this;
                    return "function" == typeof this.options ? this.options : function (e) {
                        return t.options.includes(e)
                    }
                },
                days: function () {
                    var t,
                        e,
                        i = [];
                    if ("persian" !== this.calendar)
                        t = new Date(this.innerModel.year, this.innerModel.month - 1, 1),
                            e = new Date(this.innerModel.year, this.innerModel.month - 1, 0).getDate();
                    else {
                        var s = ps(this.innerModel.year, this.innerModel.month, 1);
                        t = new Date(s.gy, s.gm - 1, s.gd);
                        var n = this.innerModel.month - 1,
                            o = this.innerModel.year;
                        0 === n &amp;&amp; (n = 12, o--),
                            e = ms(o, n)
                    }
                    var r = t.getDay() - this.computedFirstDayOfWeek - 1,
                        a = r &lt; 0 ? r + 7 : r;
                    if (a &lt; 6)
                        for (var l = e - a; l &lt;= e; l++)
                            i.push({
                                i: l,
                                fill: !0
                            });
                    for (var c = i.length, u = this.innerModel.year + "/" + pt(this.innerModel.month) + "/", h = 1; h &lt;= this.daysInMonth; h++) {
                        var d = u + pt(h);
                        if (void 0 !== this.options &amp;&amp; !0 !== this.isInSelection(d))
                            i.push({ i: h });
                        else {
                            var p = void 0 !== this.events &amp;&amp; !0 === this.evtFn(d) &amp;&amp; this.evtColor(d);
                            i.push({
                                i: h,
                                in: !0,
                                flat: !0,
                                event: p
                            })
                        }
                    }
                    if (this.innerModel.year === this.extModel.year &amp;&amp; this.innerModel.month === this.extModel.month) {
                        var f = c + this.innerModel.day - 1;
                        void 0 !== i[f] &amp;&amp; Object.assign(i[f], {
                            unelevated: !0,
                            flat: !1,
                            color: this.computedColor,
                            textColor: this.computedTextColor
                        })
                    }
                    this.innerModel.year === this.today.year &amp;&amp; this.innerModel.month === this.today.month &amp;&amp; (i[c + this.today.day - 1].today = !0);
                    var m = i.length % 7;
                    if (m &gt; 0)
                        for (var v = 7 - m, g = 1; g &lt;= v; g++)
                            i.push({
                                i: g,
                                fill: !0
                            });
                    return i
                },
                attrs: function () {
                    return !0 === this.disable ? { "aria-disabled": "" } : !0 === this.readonly ? { "aria-readonly": "" } : void 0
                }
            },
            methods: {
                setToday: function () {
                    this.__updateValue(Object.assign({}, this.today), "today"),
                        this.view = "Calendar"
                },
                setView: function (t) {
                    !0 === Gs(t) &amp;&amp; (this.view = t)
                },
                offsetCalendar: function (t, e) {
                    ["month", "year"].includes(t) &amp;&amp; this["__goTo" + ("month" === t ? "Month" : "Year")](!0 === e ? -1 : 1)
                },
                __getModels: function (t, e, i) {
                    var s = Ms(t, "persian" === this.calendar ? "YYYY/MM/DD" : e, i, this.calendar);
                    return {
                        external: s,
                        inner: null === s.dateHash ? this.__getDefaultModel() : Object.assign({}, s)
                    }
                },
                __getDefaultModel: function () {
                    var t,
                        e;
                    if (void 0 !== this.defaultYearMonth) {
                        var i = this.defaultYearMonth.split("/");
                        t = parseInt(i[0], 10),
                            e = parseInt(i[1], 10)
                    }
                    else {
                        var s = void 0 !== this.today ? this.today : this.__getCurrentDate();
                        t = s.year,
                            e = s.month
                    }
                    return {
                        year: t,
                        month: e,
                        day: 1,
                        hour: 0,
                        minute: 0,
                        second: 0,
                        millisecond: 0,
                        dateHash: t + "/" + pt(e) + "/01"
                    }
                },
                __getHeader: function (t) {
                    var e = this;
                    if (!0 !== this.minimal)
                        return t("div", {
                            staticClass: "q-date__header",
                            class: this.headerClass
                        }, [
                            t("div", { staticClass: "relative-position" }, [
                                t("transition", { props: { name: "q-transition--fade" } }, [
                                    t("div", {
                                        key: "h-yr-" + this.headerSubtitle,
                                        staticClass: "q-date__header-subtitle q-date__header-link",
                                        class: "Years" === this.view ? "q-date__header-link--active" : "cursor-pointer",
                                        attrs: { tabindex: this.computedTabindex },
                                        on: mt(this, "vY", {
                                            click: function () {
                                                e.view = "Years"
                                            },
                                            keyup: function (t) {
                                                13 === t.keyCode &amp;&amp; (e.view = "Years")
                                            }
                                        })
                                    }, [
                                        this.headerSubtitle
                                    ])
                                ])
                            ]),
                            t("div", { staticClass: "q-date__header-title relative-position flex no-wrap" }, [
                                t("div", { staticClass: "relative-position col" }, [
                                    t("transition", { props: { name: "q-transition--fade" } }, [
                                        t("div", {
                                            key: "h-sub" + this.headerTitle,
                                            staticClass: "q-date__header-title-label q-date__header-link",
                                            class: "Calendar" === this.view ? "q-date__header-link--active" : "cursor-pointer",
                                            attrs: { tabindex: this.computedTabindex },
                                            on: mt(this, "vC", {
                                                click: function () {
                                                    e.view = "Calendar"
                                                },
                                                keyup: function (t) {
                                                    13 === t.keyCode &amp;&amp; (e.view = "Calendar")
                                                }
                                            })
                                        }, [
                                            this.headerTitle
                                        ])
                                    ])
                                ]),
                                !0 === this.todayBtn ? t(be, {
                                    staticClass: "q-date__header-today",
                                    props: {
                                        icon: this.$q.iconSet.datetime.today,
                                        flat: !0,
                                        size: "sm",
                                        round: !0,
                                        tabindex: this.computedTabindex
                                    },
                                    on: mt(this, "today", { click: this.setToday })
                                }) : null
                            ])
                        ])
                },
                __getNavigation: function (t, e) {
                    var i = this,
                        s = e.label,
                        n = e.view,
                        o = e.key,
                        r = e.dir,
                        a = e.goTo,
                        l = e.cls;
                    return [
                        t("div", { staticClass: "row items-center q-date__arrow" }, [
                            t(be, {
                                props: {
                                    round: !0,
                                    dense: !0,
                                    size: "sm",
                                    flat: !0,
                                    icon: this.dateArrow[0],
                                    tabindex: this.computedTabindex
                                },
                                on: mt(this, "go-#" + n, {
                                    click: function () {
                                        a(-1)
                                    }
                                })
                            })
                        ]),
                        t("div", { staticClass: "relative-position overflow-hidden flex flex-center" + l }, [
                            t("transition", { props: { name: "q-transition--jump-" + r } }, [
                                t("div", { key: o }, [
                                    t(be, {
                                        props: {
                                            flat: !0,
                                            dense: !0,
                                            noCaps: !0,
                                            label: s,
                                            tabindex: this.computedTabindex
                                        },
                                        on: mt(this, "view#" + n, {
                                            click: function () {
                                                i.view = n
                                            }
                                        })
                                    })
                                ])
                            ])
                        ]),
                        t("div", { staticClass: "row items-center q-date__arrow" }, [
                            t(be, {
                                props: {
                                    round: !0,
                                    dense: !0,
                                    size: "sm",
                                    flat: !0,
                                    icon: this.dateArrow[1],
                                    tabindex: this.computedTabindex
                                },
                                on: mt(this, "go+#" + n, {
                                    click: function () {
                                        a(1)
                                    }
                                })
                            })
                        ])
                    ]
                },
                __getCalendarView: function (t) {
                    var e = this;
                    return [
                        t("div", {
                            key: "calendar-view",
                            staticClass: "q-date__view q-date__calendar"
                        }, [
                            t("div", { staticClass: "q-date__navigation row items-center no-wrap" }, this.__getNavigation(t, {
                                label: this.computedLocale.months[this.innerModel.month - 1],
                                view: "Months",
                                key: this.innerModel.month,
                                dir: this.monthDirection,
                                goTo: this.__goToMonth,
                                cls: " col"
                            }).concat(this.__getNavigation(t, {
                                label: this.innerModel.year,
                                view: "Years",
                                key: this.innerModel.year,
                                dir: this.yearDirection,
                                goTo: this.__goToYear,
                                cls: ""
                            }))),
                            t("div", { staticClass: "q-date__calendar-weekdays row items-center no-wrap" }, this.daysOfWeek.map(function (e) {
                                return t("div", { staticClass: "q-date__calendar-item" }, [
                                    t("div", [
                                        e
                                    ])
                                ])
                            })),
                            t("div", { staticClass: "q-date__calendar-days-container relative-position overflow-hidden" }, [
                                t("transition", { props: { name: "q-transition--slide-" + this.monthDirection } }, [
                                    t("div", {
                                        key: this.innerModel.year + "/" + this.innerModel.month,
                                        staticClass: "q-date__calendar-days fit"
                                    }, this.days.map(function (i) {
                                        return t("div", { staticClass: "q-date__calendar-item q-date__calendar-item--" + (!0 === i.fill ? "fill" : !0 === i.in ? "in" : "out") }, [
                                            !0 === i.in ? t(be, {
                                                staticClass: !0 === i.today ? "q-date__today" : null,
                                                props: {
                                                    dense: !0,
                                                    flat: i.flat,
                                                    unelevated: i.unelevated,
                                                    color: i.color,
                                                    textColor: i.textColor,
                                                    label: i.i,
                                                    tabindex: e.computedTabindex
                                                },
                                                on: mt(e, "day#" + i.i, {
                                                    click: function () {
                                                        e.__setDay(i.i)
                                                    }
                                                })
                                            }, !1 !== i.event ? [
                                                t("div", { staticClass: "q-date__event bg-" + i.event })
                                            ] : null) : t("div", [
                                                i.i
                                            ])
                                        ])
                                    }))
                                ])
                            ])
                        ])
                    ]
                },
                __getMonthsView: function (t) {
                    var e = this,
                        i = this.innerModel.year === this.today.year,
                        s = this.computedLocale.monthsShort.map(function (s, n) {
                            var o = e.innerModel.month === n + 1;
                            return t("div", { staticClass: "q-date__months-item flex flex-center" }, [
                                t(be, {
                                    staticClass: !0 === i &amp;&amp; e.today.month === n + 1 ? "q-date__today" : null,
                                    props: {
                                        flat: !0 !== o,
                                        label: s,
                                        unelevated: o,
                                        color: !0 === o ? e.computedColor : null,
                                        textColor: !0 === o ? e.computedTextColor : null,
                                        tabindex: e.computedTabindex
                                    },
                                    on: mt(e, "month#" + n, {
                                        click: function () {
                                            e.__setMonth(n + 1)
                                        }
                                    })
                                })
                            ])
                        });
                    return !0 === this.yearsInMonthView &amp;&amp; s.unshift(t("div", { staticClass: "row no-wrap full-width" }, [
                        this.__getNavigation(t, {
                            label: this.innerModel.year,
                            view: "Years",
                            key: this.innerModel.year,
                            dir: this.yearDirection,
                            goTo: this.__goToYear,
                            cls: " col"
                        })
                    ])), t("div", {
                        key: "months-view",
                        staticClass: "q-date__view q-date__months flex flex-center"
                    }, s)
                },
                __getYearsView: function (t) {
                    for (var e = this, i = this.startYear, s = i + 20, n = [], o = function (i) {
                        var s = e.innerModel.year === i;
                        n.push(t("div", { staticClass: "q-date__years-item flex flex-center" }, [
                            t(be, {
                                key: "yr" + i,
                                staticClass: e.today.year === i ? "q-date__today" : null,
                                props: {
                                    flat: !s,
                                    label: i,
                                    dense: !0,
                                    unelevated: s,
                                    color: s ? e.computedColor : null,
                                    textColor: s ? e.computedTextColor : null,
                                    tabindex: e.computedTabindex
                                },
                                on: mt(e, "yr#" + i, {
                                    click: function () {
                                        e.__setYear(i)
                                    }
                                })
                            })
                        ]))
                    }, r = i; r &lt;= s; r++)
                        o(r);
                    return t("div", { staticClass: "q-date__view q-date__years flex flex-center" }, [
                        t("div", { staticClass: "col-auto" }, [
                            t(be, {
                                props: {
                                    round: !0,
                                    dense: !0,
                                    flat: !0,
                                    icon: this.dateArrow[0],
                                    tabindex: this.computedTabindex
                                },
                                on: mt(this, "y-", {
                                    click: function () {
                                        e.startYear -= 20
                                    }
                                })
                            })
                        ]),
                        t("div", { staticClass: "q-date__years-content col self-stretch row items-center" }, n),
                        t("div", { staticClass: "col-auto" }, [
                            t(be, {
                                props: {
                                    round: !0,
                                    dense: !0,
                                    flat: !0,
                                    icon: this.dateArrow[1],
                                    tabindex: this.computedTabindex
                                },
                                on: mt(this, "y+", {
                                    click: function () {
                                        e.startYear += 20
                                    }
                                })
                            })
                        ])
                    ])
                },
                __getDaysInMonth: function (t) {
                    return "persian" !== this.calendar ? new Date(t.year, t.month, 0).getDate() : ms(t.year, t.month)
                },
                __goToMonth: function (t) {
                    var e = Number(this.innerModel.month) + t,
                        i = this.yearDirection;
                    13 === e ? (e = 1, this.innerModel.year++, i = !0 !== this.$q.lang.rtl ? "left" : "right") : 0 === e &amp;&amp; (e = 12, this.innerModel.year--, i = !0 !== this.$q.lang.rtl ? "right" : "left"),
                        this.monthDirection = t &gt; 0 == (!0 !== this.$q.lang.rtl) ? "left" : "right",
                        this.yearDirection = i,
                        this.innerModel.month = e,
                        !0 === this.emitImmediately &amp;&amp; this.__updateValue({}, "month")
                },
                __goToYear: function (t) {
                    this.monthDirection = this.yearDirection = t &gt; 0 == (!0 !== this.$q.lang.rtl) ? "left" : "right",
                        this.innerModel.year = Number(this.innerModel.year) + t,
                        !0 === this.emitImmediately &amp;&amp; this.__updateValue({}, "year")
                },
                __setYear: function (t) {
                    this.innerModel.year = t,
                        !0 === this.emitImmediately &amp;&amp; this.__updateValue({ year: t }, "year"),
                        this.view = null === this.extModel.month || "Years" === this.defaultView ? "Months" : "Calendar"
                },
                __setMonth: function (t) {
                    this.innerModel.month = t,
                        !0 === this.emitImmediately &amp;&amp; this.__updateValue({ month: t }, "month"),
                        this.view = "Calendar"
                },
                __setDay: function (t) {
                    this.__updateValue({ day: t }, "day")
                },
                __updateValue: function (t, e) {
                    var i = this;
                    if (void 0 === t.year &amp;&amp; (t.year = this.innerModel.year), void 0 === t.month &amp;&amp; (t.month = this.innerModel.month), void 0 === t.day || !0 === this.emitImmediately &amp;&amp; ("year" === e || "month" === e)) {
                        t.day = this.innerModel.day;
                        var s = !0 === this.emitImmediately ? this.__getDaysInMonth(t) : this.daysInMonth;
                        t.day = Math.min(Math.max(1, t.day), s)
                    }
                    var n = "persian" === this.calendar ? t.year + "/" + pt(t.month) + "/" + pt(t.day) : Ns(new Date(t.year, t.month - 1, t.day, this.extModel.hour, this.extModel.minute, this.extModel.second, this.extModel.millisecond), this.mask, this.computedLocale, t.year, this.extModel.timezoneOffset);
                    if (t.changed = n !== this.value, this.$emit("input", n, e, t), n === this.value &amp;&amp; "today" === e) {
                        var o = t.year + "/" + pt(t.month) + "/" + pt(t.day),
                            r = this.innerModel.year + "/" + pt(this.innerModel.month) + "/" + pt(this.innerModel.day);
                        o !== r &amp;&amp; (this.monthDirection = r &lt; o == (!0 !== this.$q.lang.rtl) ? "left" : "right", t.year !== this.innerModel.year &amp;&amp; (this.yearDirection = this.monthDirection), this.$nextTick(function () {
                            i.startYear = t.year - t.year % 20 - (t.year &lt; 0 ? 20 : 0),
                                Object.assign(i.innerModel, {
                                    year: t.year,
                                    month: t.month,
                                    day: t.day,
                                    dateHash: o
                                })
                        }))
                    }
                }
            },
            render: function (t) {
                var e = [
                    t("div", { staticClass: "q-date__content col relative-position" }, [
                        t("transition", { props: { name: "q-transition--fade" } }, [
                            this["__get" + this.view + "View"](t)
                        ])
                    ])
                ],
                    i = Lt(this, "default");
                return void 0 !== i &amp;&amp; e.push(t("div", { staticClass: "q-date__actions" }, i)), void 0 !== this.name &amp;&amp; !0 !== this.disable &amp;&amp; this.__injectFormInput(e, "push"), t("div", {
                    class: this.classes,
                    attrs: this.attrs,
                    on: Object.assign({}, this.qListeners)
                }, [
                    this.__getHeader(t),
                    t("div", {
                        staticClass: "q-date__main col column",
                        attrs: { tabindex: -1 },
                        ref: "blurTarget"
                    }, e)
                ])
            }
        }),
        Js = {
            methods: {
                __addHistory: function () {
                    var t = this;
                    this.__historyEntry = {
                        condition: function () {
                            return !0 === t.hideOnRouteChange
                        },
                        handler: this.hide
                    },
                        A.add(this.__historyEntry)
                },
                __removeHistory: function () {
                    void 0 !== this.__historyEntry &amp;&amp; (A.remove(this.__historyEntry), this.__historyEntry = void 0)
                }
            },
            beforeDestroy: function () {
                !0 === this.showing &amp;&amp; this.__removeHistory()
            }
        },
        tn = 0,
        en = !1;
    function sn(t) {
        (function (t) {
            if (t.target === document.body || t.target.classList.contains("q-layout__backdrop"))
                return !0;
            for (var e = g(t), i = t.shiftKey &amp;&amp; !t.deltaX, s = !i &amp;&amp; Math.abs(t.deltaX) &lt;= Math.abs(t.deltaY), n = i || s ? t.deltaY : t.deltaX, o = 0; o &lt; e.length; o++) {
                var r = e[o];
                if (Ue(r, s))
                    return s ? n &lt; 0 &amp;&amp; 0 === r.scrollTop || n &gt; 0 &amp;&amp; r.scrollTop + r.clientHeight === r.scrollHeight : n &lt; 0 &amp;&amp; 0 === r.scrollLeft || n &gt; 0 &amp;&amp; r.scrollLeft + r.clientWidth === r.scrollWidth
            }
            return !0
        })(t) &amp;&amp; S(t)
    }
    function nn(t) {
        t.target === document &amp;&amp; (document.scrollingElement.scrollTop = document.scrollingElement.scrollTop)
    }
    function on(t) {
        !0 !== en &amp;&amp; (en = !0, requestAnimationFrame(function () {
            en = !1;
            var e = t.target.height,
                i = document.scrollingElement,
                s = i.clientHeight,
                n = i.scrollTop;
            void 0 !== Ws &amp;&amp; e === window.innerHeight || (Ws = s - e, document.scrollingElement.scrollTop = n),
                n &gt; Ws &amp;&amp; (document.scrollingElement.scrollTop -= Math.ceil((n - Ws) / 8))
        }))
    }
    function rn(t) {
        var e = document.body,
            i = void 0 !== window.visualViewport;
        if ("add" === t) {
            var s = window.getComputedStyle(e).overflowY;
            Hs = Fe(window),
                Qs = Ie(window),
                Ys = e.style.left,
                Us = e.style.top,
                e.style.left = "-" + Hs + "px",
                e.style.top = "-" + Qs + "px",
                "hidden" !== s &amp;&amp; ("scroll" === s || e.scrollHeight &gt; window.innerHeight) &amp;&amp; e.classList.add("q-body--force-scrollbar"),
                e.classList.add("q-body--prevent-scroll"),
                document.qScrollPrevented = !0,
                !0 === u.is.ios &amp;&amp; (!0 === i ? (window.scrollTo(0, 0), window.visualViewport.addEventListener("resize", on, d.passiveCapture), window.visualViewport.addEventListener("scroll", on, d.passiveCapture), window.scrollTo(0, 0)) : window.addEventListener("scroll", nn, d.passiveCapture))
        }
        !0 === u.is.desktop &amp;&amp; !0 === u.is.mac &amp;&amp; window[t + "EventListener"]("wheel", sn, d.notPassive),
            "remove" === t &amp;&amp; (!0 === u.is.ios &amp;&amp; (!0 === i ? (window.visualViewport.removeEventListener("resize", on, d.passiveCapture), window.visualViewport.removeEventListener("scroll", on, d.passiveCapture)) : window.removeEventListener("scroll", nn, d.passiveCapture)), e.classList.remove("q-body--prevent-scroll"), e.classList.remove("q-body--force-scrollbar"), document.qScrollPrevented = !1, e.style.left = Ys, e.style.top = Us, window.scrollTo(Hs, Qs), Ws = void 0)
    }
    function an(t) {
        var e = "add";
        if (!0 === t) {
            if (tn++, void 0 !== Ks)
                return clearTimeout(Ks), void (Ks = void 0);
            if (tn &gt; 1)
                return
        }
        else {
            if (0 === tn)
                return;
            if (--tn &gt; 0)
                return;
            if (e = "remove", !0 === u.is.ios &amp;&amp; !0 === u.is.nativeMobile)
                return clearTimeout(Ks), void (Ks = setTimeout(function () {
                    rn(e),
                        Ks = void 0
                }, 100))
        }
        rn(e)
    }
    for (var ln, cn = {
        methods: {
            __preventScroll: function (t) {
                t === this.preventedScroll || void 0 === this.preventedScroll &amp;&amp; !0 !== t || (this.preventedScroll = t, an(t))
            }
        }
    }, un = 0, hn = {
        standard: "fixed-full flex-center",
        top: "fixed-top justify-center",
        bottom: "fixed-bottom justify-center",
        right: "fixed-right items-center",
        left: "fixed-left items-center"
    }, dn = {
        standard: ["scale", "scale"],
        top: ["slide-down", "slide-up"],
        bottom: ["slide-up", "slide-down"],
        right: ["slide-left", "slide-right"],
        left: ["slide-right", "slide-left"]
    }, pn = t.extend({
        name: "QDialog",
        mixins: [
            _t,
            Js,
            Ce,
            qe,
            cn
        ],
        props: {
            persistent: Boolean,
            autoClose: Boolean,
            noEscDismiss: Boolean,
            noBackdropDismiss: Boolean,
            noRouteDismiss: Boolean,
            noRefocus: Boolean,
            noFocus: Boolean,
            seamless: Boolean,
            maximized: Boolean,
            fullWidth: Boolean,
            fullHeight: Boolean,
            square: Boolean,
            position: {
                type: String,
                default: "standard",
                validator: function (t) {
                    return "standard" === t || ["top", "bottom", "left", "right"].includes(t)
                }
            },
            transitionShow: String,
            transitionHide: String
        },
        data: function () {
            return { transitionState: this.showing }
        },
        watch: {
            showing: function (t) {
                var e = this;
                this.transitionShowComputed !== this.transitionHideComputed &amp;&amp; this.$nextTick(function () {
                    e.transitionState = t
                })
            },
            maximized: function (t) {
                !0 === this.showing &amp;&amp; this.__updateMaximized(t)
            },
            useBackdrop: function (t) {
                this.__preventScroll(t),
                    this.__preventFocusout(t)
            }
        },
        computed: {
            classes: function () {
                return "q-dialog__inner--" + (!0 === this.maximized ? "maximized" : "minimized") + " q-dialog__inner--" + this.position + " " + hn[this.position] + (!0 === this.fullWidth ? " q-dialog__inner--fullwidth" : "") + (!0 === this.fullHeight ? " q-dialog__inner--fullheight" : "") + (!0 === this.square ? " q-dialog__inner--square" : "")
            },
            transitionShowComputed: function () {
                return "q-transition--" + (void 0 === this.transitionShow ? dn[this.position][0] : this.transitionShow)
            },
            transitionHideComputed: function () {
                return "q-transition--" + (void 0 === this.transitionHide ? dn[this.position][1] : this.transitionHide)
            },
            transition: function () {
                return !0 === this.transitionState ? this.transitionHideComputed : this.transitionShowComputed
            },
            useBackdrop: function () {
                return !0 === this.showing &amp;&amp; !0 !== this.seamless
            },
            hideOnRouteChange: function () {
                return !0 !== this.persistent &amp;&amp; !0 !== this.noRouteDismiss &amp;&amp; !0 !== this.seamless
            },
            onEvents: function () {
                var t = Object.assign({}, this.qListeners, {
                    input: y,
                    "popup-show": y,
                    "popup-hide": y
                });
                return !0 === this.autoClose &amp;&amp; (t.click = this.__onAutoClose), t
            }
        },
        methods: {
            focus: function () {
                var t = this.__getInnerNode();
                void 0 !== t &amp;&amp; !0 !== t.contains(document.activeElement) &amp;&amp; (t = t.querySelector("[autofocus], [data-autofocus]") || t).focus()
            },
            shake: function () {
                this.focus(),
                    this.$emit("shake");
                var t = this.__getInnerNode();
                void 0 !== t &amp;&amp; (t.classList.remove("q-animate--scale"), t.classList.add("q-animate--scale"), clearTimeout(this.shakeTimeout), this.shakeTimeout = setTimeout(function () {
                    t.classList.remove("q-animate--scale")
                }, 170))
            },
            __getInnerNode: function () {
                return void 0 !== this.__portal &amp;&amp; void 0 !== this.__portal.$refs ? this.__portal.$refs.inner : void 0
            },
            __show: function (t) {
                var e = this;
                this.__addHistory(),
                    this.__refocusTarget = !1 === this.noRefocus &amp;&amp; null !== document.activeElement ? document.activeElement : void 0,
                    this.$el.dispatchEvent(C("popup-show", { bubbles: !0 })),
                    this.__updateMaximized(this.maximized),
                    ti.register(this, function () {
                        !0 !== e.seamless &amp;&amp; (!0 === e.persistent || !0 === e.noEscDismiss ? !0 !== e.maximized &amp;&amp; e.shake() : (e.$emit("escape-key"), e.hide()))
                    }),
                    this.__showPortal(),
                    !0 !== this.noFocus &amp;&amp; (null !== document.activeElement &amp;&amp; document.activeElement.blur(), this.__nextTick(this.focus)),
                    this.__setTimeout(function () {
                        if (!0 === e.$q.platform.is.ios) {
                            if (!0 !== e.seamless &amp;&amp; document.activeElement) {
                                var i = document.activeElement.getBoundingClientRect(),
                                    s = i.top,
                                    n = i.bottom,
                                    o = window.innerHeight,
                                    r = void 0 !== window.visualViewport ? window.visualViewport.height : o;
                                if (s &gt; 0 &amp;&amp; n &gt; r / 2) {
                                    var a = Math.min(document.scrollingElement.scrollHeight - r, n &gt;= o ? 1 / 0 : Math.ceil(document.scrollingElement.scrollTop + n - r / 2)),
                                        l = function () {
                                            requestAnimationFrame(function () {
                                                document.scrollingElement.scrollTop += Math.ceil((a - document.scrollingElement.scrollTop) / 8),
                                                    document.scrollingElement.scrollTop !== a &amp;&amp; l()
                                            })
                                        };
                                    l()
                                }
                                document.activeElement.scrollIntoView()
                            }
                            e.__portal.$el.click()
                        }
                        e.$emit("show", t)
                    }, 300)
            },
            __hide: function (t) {
                var e = this;
                this.__removeHistory(),
                    this.__cleanup(!0),
                    void 0 !== this.__refocusTarget &amp;&amp; null !== this.__refocusTarget &amp;&amp; this.__refocusTarget.focus(),
                    this.$el.dispatchEvent(C("popup-hide", { bubbles: !0 })),
                    this.__setTimeout(function () {
                        e.__hidePortal(),
                            e.$emit("hide", t)
                    }, 300)
            },
            __cleanup: function (t) {
                clearTimeout(this.shakeTimeout),
                    !0 !== t &amp;&amp; !0 !== this.showing || (ti.pop(this), this.__updateMaximized(!1), !0 !== this.seamless &amp;&amp; (this.__preventScroll(!1), this.__preventFocusout(!1)))
            },
            __updateMaximized: function (t) {
                !0 === t ? !0 !== this.isMaximized &amp;&amp; (un &lt; 1 &amp;&amp; document.body.classList.add("q-body--dialog"), un++, this.isMaximized = !0) : !0 === this.isMaximized &amp;&amp; (un &lt; 2 &amp;&amp; document.body.classList.remove("q-body--dialog"), un--, this.isMaximized = !1)
            },
            __preventFocusout: function (t) {
                if (!0 === this.$q.platform.is.desktop) {
                    var e = (!0 === t ? "add" : "remove") + "EventListener";
                    document.body[e]("focusin", this.__onFocusChange)
                }
            },
            __onAutoClose: function (t) {
                this.hide(t),
                    void 0 !== this.qListeners.click &amp;&amp; this.$emit("click", t)
            },
            __onBackdropClick: function (t) {
                !0 !== this.persistent &amp;&amp; !0 !== this.noBackdropDismiss ? this.hide(t) : this.shake()
            },
            __onFocusChange: function (t) {
                !0 === this.showing &amp;&amp; void 0 !== this.__portal &amp;&amp; !0 !== function (t, e) {
                    if (void 0 === t || !0 === t.contains(e))
                        return !0;
                    for (var i = t.nextElementSibling; null !== i; i = i.nextElementSibling)
                        if (i.contains(e))
                            return !0;
                    return !1
                }(this.__portal.$el, t.target) &amp;&amp; this.focus()
            },
            __renderPortal: function (t) {
                return t("div", {
                    staticClass: "q-dialog fullscreen no-pointer-events",
                    class: this.contentClass,
                    style: this.contentStyle,
                    attrs: this.qAttrs
                }, [
                    t("transition", { props: { name: "q-transition--fade" } }, !0 === this.useBackdrop ? [
                        t("div", {
                            staticClass: "q-dialog__backdrop fixed-full",
                            attrs: gt,
                            on: mt(this, "bkdrop", { click: this.__onBackdropClick })
                        })
                    ] : null),
                    t("transition", { props: { name: this.transition } }, [
                        !0 === this.showing ? t("div", {
                            ref: "inner",
                            staticClass: "q-dialog__inner flex no-pointer-events",
                            class: this.classes,
                            attrs: { tabindex: -1 },
                            on: this.onEvents
                        }, Lt(this, "default")) : null
                    ])
                ])
            }
        },
        mounted: function () {
            this.__processModelChange(this.value)
        },
        beforeDestroy: function () {
            this.__cleanup()
        }
    }), fn = ["mouseover", "mouseout", "mouseenter", "mouseleave"], mn = t.extend({
        name: "QDrawer",
        inject: {
            layout: {
                default: function () {
                    console.error("QDrawer needs to be child of QLayout")
                }
            }
        },
        mixins: [
            Dt,
            Js,
            Ce,
            cn
        ],
        directives: { TouchPan: Qi },
        props: {
            side: {
                type: String,
                default: "left",
                validator: function (t) {
                    return ["left", "right"].includes(t)
                }
            },
            width: {
                type: Number,
                default: 300
            },
            mini: Boolean,
            miniToOverlay: Boolean,
            miniWidth: {
                type: Number,
                default: 57
            },
            breakpoint: {
                type: Number,
                default: 1023
            },
            showIfAbove: Boolean,
            behavior: {
                type: String,
                validator: function (t) {
                    return ["default", "desktop", "mobile"].includes(t)
                },
                default: "default"
            },
            bordered: Boolean,
            elevated: Boolean,
            contentStyle: [
                String,
                Object,
                Array
            ],
            contentClass: [
                String,
                Object,
                Array
            ],
            overlay: Boolean,
            persistent: Boolean,
            noSwipeOpen: Boolean,
            noSwipeClose: Boolean,
            noSwipeBackdrop: Boolean
        },
        data: function () {
            var t = "mobile" === this.behavior || "desktop" !== this.behavior &amp;&amp; this.layout.totalWidth &lt;= this.breakpoint;
            return {
                belowBreakpoint: t,
                showing: !0 === this.showIfAbove &amp;&amp; !1 === t || !0 === this.value
            }
        },
        watch: {
            belowBreakpoint: function (t) {
                !0 === t ? (this.lastDesktopState = this.showing, !0 === this.showing &amp;&amp; this.hide(!1)) : !1 === this.overlay &amp;&amp; "mobile" !== this.behavior &amp;&amp; !1 !== this.lastDesktopState &amp;&amp; (!0 === this.showing ? (this.__applyPosition(0), this.__applyBackdrop(0), this.__cleanup()) : this.show(!1))
            },
            "layout.totalWidth": function (t) {
                this.__updateLocal("belowBreakpoint", "mobile" === this.behavior || "desktop" !== this.behavior &amp;&amp; t &lt;= this.breakpoint)
            },
            side: function (t, e) {
                this.layout.instances[e] === this &amp;&amp; (this.layout.instances[e] = void 0, this.layout[e].space = !1, this.layout[e].offset = 0),
                    this.layout.instances[t] = this,
                    this.layout[t].size = this.size,
                    this.layout[t].space = this.onLayout,
                    this.layout[t].offset = this.offset
            },
            behavior: function (t) {
                this.__updateLocal("belowBreakpoint", "mobile" === t || "desktop" !== t &amp;&amp; this.layout.totalWidth &lt;= this.breakpoint)
            },
            breakpoint: function (t) {
                this.__updateLocal("belowBreakpoint", "mobile" === this.behavior || "desktop" !== this.behavior &amp;&amp; this.layout.totalWidth &lt;= t)
            },
            "layout.container": function (t) {
                !0 === this.showing &amp;&amp; this.__preventScroll(!0 !== t)
            },
            "layout.scrollbarWidth": function () {
                this.__applyPosition(!0 === this.showing ? 0 : void 0)
            },
            offset: function (t) {
                this.__update("offset", t)
            },
            onLayout: function (t) {
                this.$emit("on-layout", t),
                    this.__update("space", t)
            },
            rightSide: function () {
                this.__applyPosition()
            },
            size: function (t) {
                this.__applyPosition(),
                    this.__updateSizeOnLayout(this.miniToOverlay, t)
            },
            miniToOverlay: function (t) {
                this.__updateSizeOnLayout(t, this.size)
            },
            "$q.lang.rtl": function () {
                this.__applyPosition()
            },
            mini: function () {
                !0 === this.value &amp;&amp; (this.__animateMini(), this.layout.__animate())
            },
            isMini: function (t) {
                this.$emit("mini-state", t)
            }
        },
        computed: {
            rightSide: function () {
                return "right" === this.side
            },
            otherSide: function () {
                return !0 === this.rightSide ? "left" : "right"
            },
            offset: function () {
                return !0 === this.showing &amp;&amp; !1 === this.belowBreakpoint &amp;&amp; !1 === this.overlay ? !0 === this.miniToOverlay ? this.miniWidth : this.size : 0
            },
            size: function () {
                return !0 === this.isMini ? this.miniWidth : this.width
            },
            fixed: function () {
                return !0 === this.overlay || !0 === this.miniToOverlay || this.layout.view.indexOf(this.rightSide ? "R" : "L") &gt; -1 || this.$q.platform.is.ios &amp;&amp; !0 === this.layout.container
            },
            onLayout: function () {
                return !0 === this.showing &amp;&amp; !1 === this.belowBreakpoint &amp;&amp; !1 === this.overlay
            },
            onScreenOverlay: function () {
                return !0 === this.showing &amp;&amp; !1 === this.belowBreakpoint &amp;&amp; !0 === this.overlay
            },
            backdropClass: function () {
                return !1 === this.showing ? "hidden" : null
            },
            headerSlot: function () {
                return !0 === this.rightSide ? "r" === this.layout.rows.top[2] : "l" === this.layout.rows.top[0]
            },
            footerSlot: function () {
                return !0 === this.rightSide ? "r" === this.layout.rows.bottom[2] : "l" === this.layout.rows.bottom[0]
            },
            aboveStyle: function () {
                var t = {};
                return !0 === this.layout.header.space &amp;&amp; !1 === this.headerSlot &amp;&amp; (!0 === this.fixed ? t.top = this.layout.header.offset + "px" : !0 === this.layout.header.space &amp;&amp; (t.top = this.layout.header.size + "px")), !0 === this.layout.footer.space &amp;&amp; !1 === this.footerSlot &amp;&amp; (!0 === this.fixed ? t.bottom = this.layout.footer.offset + "px" : !0 === this.layout.footer.space &amp;&amp; (t.bottom = this.layout.footer.size + "px")), t
            },
            style: function () {
                var t = { width: this.size + "px" };
                return !0 === this.belowBreakpoint ? t : Object.assign(t, this.aboveStyle)
            },
            classes: function () {
                return "q-drawer--" + this.side + (!0 === this.bordered ? " q-drawer--bordered" : "") + (!0 === this.isDark ? " q-drawer--dark q-dark" : "") + (!0 !== this.showing ? " q-layout--prevent-focus" : "") + (!0 === this.belowBreakpoint ? " fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding" : " q-drawer--" + (!0 === this.isMini ? "mini" : "standard") + (!0 === this.fixed || !0 !== this.onLayout ? " fixed" : "") + (!0 === this.overlay || !0 === this.miniToOverlay ? " q-drawer--on-top" : "") + (!0 === this.headerSlot ? " q-drawer--top-padding" : ""))
            },
            stateDirection: function () {
                return (!0 === this.$q.lang.rtl ? -1 : 1) * (!0 === this.rightSide ? 1 : -1)
            },
            isMini: function () {
                return !0 === this.mini &amp;&amp; !0 !== this.belowBreakpoint
            },
            onNativeEvents: function () {
                var t = this;
                if (!0 !== this.belowBreakpoint) {
                    var e = {
                        "!click": function (e) {
                            t.$emit("click", e)
                        }
                    };
                    return fn.forEach(function (i) {
                        e[i] = function (e) {
                            void 0 !== t.qListeners[i] &amp;&amp; t.$emit(i, e)
                        }
                    }), e
                }
            },
            hideOnRouteChange: function () {
                return !0 !== this.persistent &amp;&amp; (!0 === this.belowBreakpoint || !0 === this.onScreenOverlay)
            },
            openDirective: function () {
                var t,
                    e = !0 === this.$q.lang.rtl ? this.side : this.otherSide;
                return [
                    {
                        name: "touch-pan",
                        value: this.__openByTouch,
                        modifiers: (t = {}, t[e] = !0, t.mouse = !0, t)
                    }
                ]
            },
            contentCloseDirective: function () {
                var t;
                if (!0 !== this.noSwipeClose) {
                    var e = !0 === this.$q.lang.rtl ? this.otherSide : this.side;
                    return [
                        {
                            name: "touch-pan",
                            value: this.__closeByTouch,
                            modifiers: (t = {}, t[e] = !0, t.mouse = !0, t)
                        }
                    ]
                }
            },
            backdropCloseDirective: function () {
                var t;
                if (!0 !== this.noSwipeBackdrop) {
                    var e = !0 === this.$q.lang.rtl ? this.otherSide : this.side;
                    return [
                        {
                            name: "touch-pan",
                            value: this.__closeByTouch,
                            modifiers: (t = {}, t[e] = !0, t.mouse = !0, t.mouseAllDir = !0, t)
                        }
                    ]
                }
            }
        },
        methods: {
            __applyPosition: function (t) {
                var e = this;
                void 0 === t ? this.$nextTick(function () {
                    t = !0 === e.showing ? 0 : e.size,
                        e.__applyPosition(e.stateDirection * t)
                }) : void 0 !== this.$refs.content &amp;&amp; (!0 !== this.layout.container || !0 !== this.rightSide || !0 !== this.belowBreakpoint &amp;&amp; Math.abs(t) !== this.size || (t += this.stateDirection * this.layout.scrollbarWidth), this.__lastPosition !== t &amp;&amp; (this.$refs.content.style.transform = "translateX(" + t + "px)", this.__lastPosition = t))
            },
            __applyBackdrop: function (t, e) {
                var i = this;
                void 0 !== this.$refs.backdrop ? this.$refs.backdrop.style.backgroundColor = this.lastBackdropBg = "rgba(0,0,0," + .4 * t + ")" : !0 !== e &amp;&amp; this.$nextTick(function () {
                    i.__applyBackdrop(t, !0)
                })
            },
            __setBackdropVisible: function (t) {
                void 0 !== this.$refs.backdrop &amp;&amp; this.$refs.backdrop.classList[!0 === t ? "remove" : "add"]("hidden")
            },
            __setScrollable: function (t) {
                var e = !0 === t ? "remove" : !0 !== this.layout.container ? "add" : "";
                "" !== e &amp;&amp; document.body.classList[e]("q-body--drawer-toggle")
            },
            __animateMini: function () {
                var t = this;
                void 0 !== this.timerMini ? clearTimeout(this.timerMini) : void 0 !== this.$el &amp;&amp; this.$el.classList.add("q-drawer--mini-animate"),
                    this.timerMini = setTimeout(function () {
                        void 0 !== t.$el &amp;&amp; t.$el.classList.remove("q-drawer--mini-animate"),
                            t.timerMini = void 0
                    }, 150)
            },
            __openByTouch: function (t) {
                if (!1 === this.showing) {
                    var e = this.size,
                        i = ht(t.distance.x, 0, e);
                    if (!0 === t.isFinal) {
                        var s = this.$refs.content,
                            n = i &gt;= Math.min(75, e);
                        return s.classList.remove("no-transition"), void (!0 === n ? this.show() : (this.layout.__animate(), this.__applyBackdrop(0), this.__applyPosition(this.stateDirection * e), s.classList.remove("q-drawer--delimiter"), s.classList.add("q-layout--prevent-focus"), this.__setBackdropVisible(!1)))
                    }
                    if (this.__applyPosition((!0 === this.$q.lang.rtl ? !0 !== this.rightSide : this.rightSide) ? Math.max(e - i, 0) : Math.min(0, i - e)), this.__applyBackdrop(ht(i / e, 0, 1)), !0 === t.isFirst) {
                        var o = this.$refs.content;
                        o.classList.add("no-transition"),
                            o.classList.add("q-drawer--delimiter"),
                            o.classList.remove("q-layout--prevent-focus"),
                            this.__setBackdropVisible(!0)
                    }
                }
            },
            __closeByTouch: function (t) {
                if (!0 === this.showing) {
                    var e = this.size,
                        i = t.direction === this.side,
                        s = (!0 === this.$q.lang.rtl ? !0 !== i : i) ? ht(t.distance.x, 0, e) : 0;
                    if (!0 === t.isFinal) {
                        var n = Math.abs(s) &lt; Math.min(75, e);
                        return this.$refs.content.classList.remove("no-transition"), void (!0 === n ? (this.layout.__animate(), this.__applyBackdrop(1), this.__applyPosition(0)) : this.hide())
                    }
                    this.__applyPosition(this.stateDirection * s),
                        this.__applyBackdrop(ht(1 - s / e, 0, 1)),
                        !0 === t.isFirst &amp;&amp; this.$refs.content.classList.add("no-transition")
                }
            },
            __show: function (t, e) {
                var i = this;
                if (this.__addHistory(), this.__setBackdropVisible(!0), !1 !== t &amp;&amp; this.layout.__animate(), this.__applyPosition(0), !0 === this.belowBreakpoint) {
                    var s = this.layout.instances[this.otherSide];
                    void 0 !== s &amp;&amp; !0 === s.belowBreakpoint &amp;&amp; s.hide(!1),
                        this.__applyBackdrop(1),
                        !0 !== this.layout.container &amp;&amp; this.__preventScroll(!0)
                }
                else
                    this.__applyBackdrop(0),
                        !1 !== t &amp;&amp; this.__setScrollable(!1);
                this.__setTimeout(function () {
                    !1 !== t &amp;&amp; i.__setScrollable(!0),
                        !0 !== e &amp;&amp; i.$emit("show", t)
                }, 150)
            },
            __hide: function (t, e) {
                var i = this;
                this.__removeHistory(),
                    !1 !== t &amp;&amp; this.layout.__animate(),
                    this.__applyBackdrop(0),
                    this.__applyPosition(this.stateDirection * this.size),
                    this.__setBackdropVisible(!1),
                    this.__cleanup(),
                    !0 !== e &amp;&amp; this.__setTimeout(function () {
                        i.$emit("hide", t)
                    }, 150)
            },
            __cleanup: function () {
                this.__preventScroll(!1),
                    this.__setScrollable(!0)
            },
            __update: function (t, e) {
                this.layout[this.side][t] !== e &amp;&amp; (this.layout[this.side][t] = e)
            },
            __updateLocal: function (t, e) {
                this[t] !== e &amp;&amp; (this[t] = e)
            },
            __updateSizeOnLayout: function (t, e) {
                this.__update("size", !0 === t ? this.miniWidth : e)
            }
        },
        created: function () {
            this.layout.instances[this.side] = this,
                this.__updateSizeOnLayout(this.miniToOverlay, this.size),
                this.__update("space", this.onLayout),
                this.__update("offset", this.offset),
                !0 === this.showIfAbove &amp;&amp; !0 !== this.value &amp;&amp; !0 === this.showing &amp;&amp; void 0 !== this.qListeners.input &amp;&amp; this.$emit("input", !0)
        },
        mounted: function () {
            var t = this;
            this.$emit("on-layout", this.onLayout),
                this.$emit("mini-state", this.isMini),
                this.lastDesktopState = !0 === this.showIfAbove;
            var e = function () {
                var e = !0 === t.showing ? "show" : "hide";
                t["__" + e](!1, !0)
            };
            0 === this.layout.totalWidth ? this.watcher = this.$watch("layout.totalWidth", function () {
                t.watcher(),
                    t.watcher = void 0,
                    !1 === t.showing &amp;&amp; !0 === t.showIfAbove &amp;&amp; !1 === t.belowBreakpoint ? t.show(!1) : e()
            }) : this.$nextTick(e)
        },
        beforeDestroy: function () {
            void 0 !== this.watcher &amp;&amp; this.watcher(),
                clearTimeout(this.timerMini),
                !0 === this.showing &amp;&amp; this.__cleanup(),
                this.layout.instances[this.side] === this &amp;&amp; (this.layout.instances[this.side] = void 0, this.__update("size", 0), this.__update("offset", 0), this.__update("space", !1))
        },
        render: function (t) {
            var e = [];
            !0 === this.belowBreakpoint &amp;&amp; (!0 !== this.noSwipeOpen &amp;&amp; e.push(t("div", {
                staticClass: "q-drawer__opener fixed-" + this.side,
                attrs: gt,
                directives: this.openDirective
            })), e.push(t("div", {
                ref: "backdrop",
                staticClass: "fullscreen q-drawer__backdrop",
                class: this.backdropClass,
                attrs: gt,
                style: void 0 !== this.lastBackdropBg ? { backgroundColor: this.lastBackdropBg } : null,
                on: mt(this, "bkdrop", { click: this.hide }),
                directives: !1 === this.showing ? void 0 : this.backdropCloseDirective
            })));
            var i = [
                t("div", {
                    staticClass: "q-drawer__content fit " + (!0 === this.layout.container ? "overflow-auto" : "scroll"),
                    class: this.contentClass,
                    style: this.contentStyle
                }, !0 === this.isMini &amp;&amp; void 0 !== this.$scopedSlots.mini ? this.$scopedSlots.mini() : Lt(this, "default"))
            ];
            return !0 === this.elevated &amp;&amp; !0 === this.showing &amp;&amp; i.push(t("div", { staticClass: "q-layout__shadow absolute-full overflow-hidden no-pointer-events" })), e.push(t("aside", {
                ref: "content",
                staticClass: "q-drawer",
                class: this.classes,
                style: this.style,
                on: this.onNativeEvents,
                directives: !0 === this.belowBreakpoint ? this.contentCloseDirective : void 0
            }, i)), t("div", { staticClass: "q-drawer-container" }, e)
        }
    }), vn = [
        !0,
        !1,
        "ondemand"
    ], gn = {
        props: {
            value: {},
            error: {
                type: Boolean,
                default: null
            },
            errorMessage: String,
            noErrorIcon: Boolean,
            rules: Array,
            reactiveRules: Boolean,
            lazyRules: {
                type: [
                    Boolean,
                    String
                ],
                validator: function (t) {
                    return vn.includes(t)
                }
            }
        },
        data: function () {
            return {
                isDirty: null,
                innerError: !1,
                innerErrorMessage: void 0
            }
        },
        watch: {
            value: function () {
                this.__validateIfNeeded()
            },
            reactiveRules: {
                handler: function (t) {
                    var e = this;
                    !0 === t ? void 0 === this.unwatchRules &amp;&amp; (this.unwatchRules = this.$watch("rules", function () {
                        e.__validateIfNeeded(!0)
                    })) : void 0 !== this.unwatchRules &amp;&amp; (this.unwatchRules(), this.unwatchRules = void 0)
                },
                immediate: !0
            },
            focused: function (t) {
                "ondemand" !== this.lazyRules &amp;&amp; (!0 === t ? null === this.isDirty &amp;&amp; (this.isDirty = !1) : !1 === this.isDirty &amp;&amp; !0 === this.hasRules &amp;&amp; (this.isDirty = !0, this.validate()))
            }
        },
        computed: {
            hasRules: function () {
                return void 0 !== this.rules &amp;&amp; null !== this.rules &amp;&amp; this.rules.length &gt; 0
            },
            hasError: function () {
                return !0 === this.error || !0 === this.innerError
            },
            computedErrorMessage: function () {
                return "string" == typeof this.errorMessage &amp;&amp; this.errorMessage.length &gt; 0 ? this.errorMessage : this.innerErrorMessage
            }
        },
        mounted: function () {
            this.validateIndex = 0
        },
        beforeDestroy: function () {
            void 0 !== this.unwatchRules &amp;&amp; this.unwatchRules()
        },
        methods: {
            resetValidation: function () {
                this.validateIndex++,
                    this.innerLoading = !1,
                    this.isDirty = null,
                    this.innerError = !1,
                    this.innerErrorMessage = void 0
            },
            validate: function (t) {
                var e = this;
                if (void 0 === t &amp;&amp; (t = this.value), !0 !== this.hasRules)
                    return !0;
                this.validateIndex++,
                    !0 !== this.innerLoading &amp;&amp; !0 !== this.lazyRules &amp;&amp; (this.isDirty = !0);
                for (var i = function (t, i) {
                    e.innerError !== t &amp;&amp; (e.innerError = t);
                    var s = i || void 0;
                    e.innerErrorMessage !== s &amp;&amp; (e.innerErrorMessage = s),
                        !1 !== e.innerLoading &amp;&amp; (e.innerLoading = !1)
                }, s = [], n = 0; n &lt; this.rules.length; n++) {
                    var o = this.rules[n],
                        r = void 0;
                    if ("function" == typeof o ? r = o(t) : "string" == typeof o &amp;&amp; void 0 !== ji[o] &amp;&amp; (r = ji[o](t)), !1 === r || "string" == typeof r)
                        return i(!0, r), !1;
                    !0 !== r &amp;&amp; void 0 !== r &amp;&amp; s.push(r)
                }
                if (0 === s.length)
                    return i(!1), !0;
                !0 !== this.innerLoading &amp;&amp; (this.innerLoading = !0);
                var a = this.validateIndex;
                return Promise.all(s).then(function (t) {
                    if (a !== e.validateIndex)
                        return !0;
                    if (void 0 === t || !1 === Array.isArray(t) || 0 === t.length)
                        return i(!1), !0;
                    var s = t.find(function (t) {
                        return !1 === t || "string" == typeof t
                    });
                    return i(void 0 !== s, s), void 0 === s
                }, function (t) {
                    return a !== e.validateIndex || (console.error(t), i(!0), !1)
                })
            },
            __validateIfNeeded: function (t) {
                !0 === this.hasRules &amp;&amp; "ondemand" !== this.lazyRules &amp;&amp; (!0 === this.isDirty || !0 !== this.lazyRules &amp;&amp; !0 !== t) &amp;&amp; this.validate()
            }
        }
    }, _n = 0, bn = new Array(256), yn = 0; yn &lt; 256; yn++)
        bn[yn] = (yn + 256).toString(16).substr(1);
    var wn = function () {
        var t = "undefined" != typeof crypto ? crypto : "undefined" != typeof window ? window.msCrypto : void 0;
        if (void 0 !== t) {
            if (void 0 !== t.randomBytes)
                return t.randomBytes;
            if (void 0 !== t.getRandomValues)
                return function (e) {
                    var i = new Uint8Array(e);
                    return t.getRandomValues(i), i
                }
        }
        return function (t) {
            for (var e = [], i = t; i &gt; 0; i--)
                e.push(Math.floor(256 * Math.random()));
            return e
        }
    }(),
        Sn = 4096;
    function xn() {
        (void 0 === ln || _n + 16 &gt; Sn) &amp;&amp; (_n = 0, ln = wn(Sn));
        var t = Array.prototype.slice.call(ln, _n, _n += 16);
        return t[6] = 15 &amp; t[6] | 64, t[8] = 63 &amp; t[8] | 128, bn[t[0]] + bn[t[1]] + bn[t[2]] + bn[t[3]] + "-" + bn[t[4]] + bn[t[5]] + "-" + bn[t[6]] + bn[t[7]] + "-" + bn[t[8]] + bn[t[9]] + "-" + bn[t[10]] + bn[t[11]] + bn[t[12]] + bn[t[13]] + bn[t[14]] + bn[t[15]]
    }
    function Cn(t) {
        return void 0 === t ? "f_" + xn() : t
    }
    var kn = t.extend({
        name: "QField",
        mixins: [
            Dt,
            gn,
            _t
        ],
        inheritAttrs: !1,
        props: {
            label: String,
            stackLabel: Boolean,
            hint: String,
            hideHint: Boolean,
            prefix: String,
            suffix: String,
            labelColor: String,
            color: String,
            bgColor: String,
            filled: Boolean,
            outlined: Boolean,
            borderless: Boolean,
            standout: [
                Boolean,
                String
            ],
            square: Boolean,
            loading: Boolean,
            labelSlot: Boolean,
            bottomSlots: Boolean,
            hideBottomSpace: Boolean,
            rounded: Boolean,
            dense: Boolean,
            itemAligned: Boolean,
            counter: Boolean,
            clearable: Boolean,
            clearIcon: String,
            disable: Boolean,
            readonly: Boolean,
            autofocus: Boolean,
            for: String,
            maxlength: [
                Number,
                String
            ],
            maxValues: [
                Number,
                String
            ]
        },
        data: function () {
            return {
                focused: !1,
                targetUid: Cn(this.for),
                innerLoading: !1
            }
        },
        watch: {
            for: function (t) {
                this.targetUid = Cn(t)
            }
        },
        computed: {
            editable: function () {
                return !0 !== this.disable &amp;&amp; !0 !== this.readonly
            },
            hasValue: function () {
                var t = void 0 === this.__getControl ? this.value : this.innerValue;
                return void 0 !== t &amp;&amp; null !== t &amp;&amp; ("" + t).length &gt; 0
            },
            computedCounter: function () {
                if (!1 !== this.counter) {
                    var t = "string" == typeof this.value || "number" == typeof this.value ? ("" + this.value).length : !0 === Array.isArray(this.value) ? this.value.length : 0,
                        e = void 0 !== this.maxlength ? this.maxlength : this.maxValues;
                    return t + (void 0 !== e ? " / " + e : "")
                }
            },
            floatingLabel: function () {
                return !0 === this.stackLabel || !0 === this.focused || (void 0 !== this.inputValue &amp;&amp; !0 === this.hideSelected ? this.inputValue.length &gt; 0 : !0 === this.hasValue) || void 0 !== this.displayValue &amp;&amp; null !== this.displayValue &amp;&amp; ("" + this.displayValue).length &gt; 0
            },
            shouldRenderBottom: function () {
                return !0 === this.bottomSlots || void 0 !== this.hint || !0 === this.hasRules || !0 === this.counter || null !== this.error
            },
            classes: function () {
                var t;
                return (t = {})[this.fieldClass] = void 0 !== this.fieldClass, t["q-field--" + this.styleType] = !0, t["q-field--rounded"] = this.rounded, t["q-field--square"] = this.square, t["q-field--focused"] = !0 === this.focused || !0 === this.hasError, t["q-field--float"] = this.floatingLabel, t["q-field--labeled"] = this.hasLabel, t["q-field--dense"] = this.dense, t["q-field--item-aligned q-item-type"] = this.itemAligned, t["q-field--dark"] = this.isDark, t["q-field--auto-height"] = void 0 === this.__getControl, t["q-field--with-bottom"] = !0 !== this.hideBottomSpace &amp;&amp; !0 === this.shouldRenderBottom, t["q-field--error"] = this.hasError, t["q-field--readonly"] = !0 === this.readonly &amp;&amp; !0 !== this.disable, t["q-field--disabled"] = this.disable, t
            },
            styleType: function () {
                return !0 === this.filled ? "filled" : !0 === this.outlined ? "outlined" : !0 === this.borderless ? "borderless" : this.standout ? "standout" : "standard"
            },
            contentClass: function () {
                var t = [];
                if (!0 === this.hasError)
                    t.push("text-negative");
                else {
                    if ("string" == typeof this.standout &amp;&amp; this.standout.length &gt; 0 &amp;&amp; !0 === this.focused)
                        return this.standout;
                    void 0 !== this.color &amp;&amp; t.push("text-" + this.color)
                }
                return void 0 !== this.bgColor &amp;&amp; t.push("bg-" + this.bgColor), t
            },
            hasLabel: function () {
                return !0 === this.labelSlot || void 0 !== this.label
            },
            labelClass: function () {
                if (void 0 !== this.labelColor &amp;&amp; !0 !== this.hasError)
                    return "text-" + this.labelColor
            },
            controlSlotScope: function () {
                return {
                    id: this.targetUid,
                    field: this.$el,
                    editable: this.editable,
                    focused: this.focused,
                    floatingLabel: this.floatingLabel,
                    value: this.value,
                    emitValue: this.__emitValue
                }
            },
            attrs: function () {
                var t = { for: this.targetUid };
                return !0 === this.disable ? t["aria-disabled"] = "" : !0 === this.readonly &amp;&amp; (t["aria-readonly"] = ""), t
            }
        },
        methods: {
            focus: function () {
                void 0 === this.showPopup || !0 !== this.hasDialog ? this.__focus() : this.showPopup()
            },
            blur: function () {
                var t = document.activeElement;
                null !== t &amp;&amp; this.$el.contains(t) &amp;&amp; t.blur()
            },
            __focus: function () {
                var t = document.activeElement,
                    e = this.$refs.target;
                void 0 === e || null !== t &amp;&amp; t.id === this.targetUid || (!0 === e.hasAttribute("tabindex") || (e = e.querySelector("[tabindex]")), null !== e &amp;&amp; e !== t &amp;&amp; e.focus())
            },
            __getContent: function (t) {
                var e = [];
                return void 0 !== this.$scopedSlots.prepend &amp;&amp; e.push(t("div", {
                    staticClass: "q-field__prepend q-field__marginal row no-wrap items-center",
                    key: "prepend",
                    on: this.slotsEvents
                }, this.$scopedSlots.prepend())), e.push(t("div", { staticClass: "q-field__control-container col relative-position row no-wrap q-anchor--skip" }, this.__getControlContainer(t))), void 0 !== this.$scopedSlots.append &amp;&amp; e.push(t("div", {
                    staticClass: "q-field__append q-field__marginal row no-wrap items-center",
                    key: "append",
                    on: this.slotsEvents
                }, this.$scopedSlots.append())), !0 === this.hasError &amp;&amp; !1 === this.noErrorIcon &amp;&amp; e.push(this.__getInnerAppendNode(t, "error", [
                    t(Et, {
                        props: {
                            name: this.$q.iconSet.field.error,
                            color: "negative"
                        }
                    })
                ])), !0 === this.loading || !0 === this.innerLoading ? e.push(this.__getInnerAppendNode(t, "inner-loading-append", void 0 !== this.$scopedSlots.loading ? this.$scopedSlots.loading() : [
                    t(Kt, { props: { color: this.color } })
                ])) : !0 === this.clearable &amp;&amp; !0 === this.hasValue &amp;&amp; !0 === this.editable &amp;&amp; e.push(this.__getInnerAppendNode(t, "inner-clearable-append", [
                    t(Et, {
                        staticClass: "q-field__focusable-action",
                        props: {
                            tag: "button",
                            name: this.clearIcon || this.$q.iconSet.field.clear
                        },
                        attrs: {
                            tabindex: 0,
                            type: "button"
                        },
                        on: this.clearableEvents
                    })
                ])), void 0 !== this.__getInnerAppend &amp;&amp; e.push(this.__getInnerAppendNode(t, "inner-append", this.__getInnerAppend(t))), void 0 !== this.__getControlChild &amp;&amp; e.push(this.__getControlChild(t)), e
            },
            __getControlContainer: function (t) {
                var e = [];
                return void 0 !== this.prefix &amp;&amp; null !== this.prefix &amp;&amp; e.push(t("div", { staticClass: "q-field__prefix no-pointer-events row items-center" }, [
                    this.prefix
                ])), !0 === this.hasShadow &amp;&amp; void 0 !== this.__getShadowControl &amp;&amp; e.push(this.__getShadowControl(t)), void 0 !== this.__getControl ? e.push(this.__getControl(t)) : void 0 !== this.$scopedSlots.rawControl ? e.push(this.$scopedSlots.rawControl()) : void 0 !== this.$scopedSlots.control &amp;&amp; e.push(t("div", {
                    ref: "target",
                    staticClass: "q-field__native row",
                    attrs: Object.assign({}, this.qAttrs, { "data-autofocus": this.autofocus })
                }, this.$scopedSlots.control(this.controlSlotScope))), this.hasLabel &amp;&amp; e.push(t("div", {
                    staticClass: "q-field__label no-pointer-events absolute ellipsis",
                    class: this.labelClass
                }, [
                    Lt(this, "label", this.label)
                ])), void 0 !== this.suffix &amp;&amp; null !== this.suffix &amp;&amp; e.push(t("div", { staticClass: "q-field__suffix no-pointer-events row items-center" }, [
                    this.suffix
                ])), e.concat(void 0 !== this.__getDefaultSlot ? this.__getDefaultSlot(t) : Lt(this, "default"))
            },
            __getBottom: function (t) {
                var e,
                    i;
                !0 === this.hasError ? void 0 !== this.computedErrorMessage ? (e = [
                    t("div", [
                        this.computedErrorMessage
                    ])
                ], i = this.computedErrorMessage) : (e = Lt(this, "error"), i = "q--slot-error") : !0 === this.hideHint &amp;&amp; !0 !== this.focused || (void 0 !== this.hint ? (e = [
                    t("div", [
                        this.hint
                    ])
                ], i = this.hint) : (e = Lt(this, "hint"), i = "q--slot-hint"));
                var s = !0 === this.counter || void 0 !== this.$scopedSlots.counter;
                if (!0 !== this.hideBottomSpace || !1 !== s || void 0 !== e) {
                    var n = t("div", {
                        key: i,
                        staticClass: "q-field__messages col"
                    }, e);
                    return t("div", { staticClass: "q-field__bottom row items-start q-field__bottom--" + (!0 !== this.hideBottomSpace ? "animated" : "stale") }, [
                        !0 === this.hideBottomSpace ? n : t("transition", { props: { name: "q-transition--field-message" } }, [
                            n
                        ]),
                        !0 === s ? t("div", { staticClass: "q-field__counter" }, void 0 !== this.$scopedSlots.counter ? this.$scopedSlots.counter() : [
                            this.computedCounter
                        ]) : null
                    ])
                }
            },
            __getInnerAppendNode: function (t, e, i) {
                return null === i ? null : t("div", {
                    staticClass: "q-field__append q-field__marginal row no-wrap items-center q-anchor--skip",
                    key: e
                }, i)
            },
            __onControlPopupShow: function (t) {
                void 0 !== t &amp;&amp; y(t),
                    this.$emit("popup-show", t),
                    this.hasPopupOpen = !0,
                    this.__onControlFocusin(t)
            },
            __onControlPopupHide: function (t) {
                void 0 !== t &amp;&amp; y(t),
                    this.$emit("popup-hide", t),
                    this.hasPopupOpen = !1,
                    this.__onControlFocusout(t)
            },
            __onControlFocusin: function (t) {
                !0 === this.editable &amp;&amp; !1 === this.focused &amp;&amp; (this.focused = !0, this.$emit("focus", t))
            },
            __onControlFocusout: function (t, e) {
                var i = this;
                clearTimeout(this.focusoutTimer),
                    this.focusoutTimer = setTimeout(function () {
                        (!0 !== document.hasFocus() || !0 !== i.hasPopupOpen &amp;&amp; void 0 !== i.$refs &amp;&amp; void 0 !== i.$refs.control &amp;&amp; !1 === i.$refs.control.contains(document.activeElement)) &amp;&amp; (!0 === i.focused &amp;&amp; (i.focused = !1, i.$emit("blur", t)), void 0 !== e &amp;&amp; e())
                    })
            },
            __clearValue: function (t) {
                S(t),
                    (this.$refs.target || this.$el).focus(),
                    "file" === this.type &amp;&amp; (this.$refs.input.value = null),
                    this.$emit("input", null),
                    this.$emit("clear", this.value)
            },
            __emitValue: function (t) {
                this.$emit("input", t)
            }
        },
        render: function (t) {
            return void 0 !== this.__onPreRender &amp;&amp; this.__onPreRender(), void 0 !== this.__onPostRender &amp;&amp; this.$nextTick(this.__onPostRender), t("label", {
                staticClass: "q-field q-validation-component row no-wrap items-start",
                class: this.classes,
                attrs: this.attrs
            }, [
                void 0 !== this.$scopedSlots.before ? t("div", {
                    staticClass: "q-field__before q-field__marginal row no-wrap items-center",
                    on: this.slotsEvents
                }, this.$scopedSlots.before()) : null,
                t("div", { staticClass: "q-field__inner relative-position col self-stretch column justify-center" }, [
                    t("div", {
                        ref: "control",
                        staticClass: "q-field__control relative-position row no-wrap",
                        class: this.contentClass,
                        attrs: { tabindex: -1 },
                        on: this.controlEvents
                    }, this.__getContent(t)),
                    !0 === this.shouldRenderBottom ? this.__getBottom(t) : null
                ]),
                void 0 !== this.$scopedSlots.after ? t("div", {
                    staticClass: "q-field__after q-field__marginal row no-wrap items-center",
                    on: this.slotsEvents
                }, this.$scopedSlots.after()) : null
            ])
        },
        created: function () {
            void 0 !== this.__onPreRender &amp;&amp; this.__onPreRender(),
                this.slotsEvents = { click: w },
                this.clearableEvents = { click: this.__clearValue },
                this.controlEvents = void 0 !== this.__getControlEvents ? this.__getControlEvents() : {
                    focusin: this.__onControlFocusin,
                    focusout: this.__onControlFocusout,
                    "popup-show": this.__onControlPopupShow,
                    "popup-hide": this.__onControlPopupHide
                }
        },
        mounted: function () {
            !0 === s &amp;&amp; void 0 === this.for &amp;&amp; (this.targetUid = Cn()),
                !0 === this.autofocus &amp;&amp; this.focus()
        },
        beforeDestroy: function () {
            clearTimeout(this.focusoutTimer)
        }
    });
    function qn(t, e, i, s) {
        var n = [];
        return t.forEach(function (t) {
            !0 === s(t) ? n.push(t) : e.push({
                failedPropValidation: i,
                file: t
            })
        }), n
    }
    var Tn = {
        props: {
            multiple: Boolean,
            accept: String,
            capture: String,
            maxFileSize: [
                Number,
                String
            ],
            maxTotalSize: [
                Number,
                String
            ],
            maxFiles: [
                Number,
                String
            ],
            filter: Function
        },
        computed: {
            extensions: function () {
                if (void 0 !== this.accept)
                    return this.accept.split(",").map(function (t) {
                        return "*" === (t = t.trim()) ? "*/" : (t.endsWith("/*") &amp;&amp; (t = t.slice(0, t.length - 1)), t.toUpperCase())
                    })
            },
            maxFilesNumber: function () {
                return parseInt(this.maxFiles, 10)
            },
            maxTotalSizeNumber: function () {
                return parseInt(this.maxTotalSize, 10)
            }
        },
        methods: {
            pickFiles: function (t) {
                if (this.editable) {
                    var e = this.__getFileInput();
                    e &amp;&amp; e.click(t)
                }
            },
            addFiles: function (t) {
                this.editable &amp;&amp; t &amp;&amp; this.__addFiles(null, t)
            },
            __processFiles: function (t, e, i, s) {
                var n = this,
                    o = Array.from(e || t.target.files),
                    r = [],
                    a = function () {
                        r.length &gt; 0 &amp;&amp; n.$emit("rejected", r)
                    };
                if (void 0 !== this.accept &amp;&amp; -1 === this.extensions.indexOf("*/") &amp;&amp; 0 === (o = qn(o, r, "accept", function (t) {
                    return n.extensions.some(function (e) {
                        return t.type.toUpperCase().startsWith(e) || t.name.toUpperCase().endsWith(e)
                    })
                })).length)
                    return a();
                if (void 0 !== this.maxFileSize) {
                    var l = parseInt(this.maxFileSize, 10);
                    if (0 === (o = qn(o, r, "max-file-size", function (t) {
                        return t.size &lt;= l
                    })).length)
                        return a()
                }
                if (!0 !== this.multiple &amp;&amp; (o = [
                    o[0]
                ]), void 0 !== this.maxTotalSize) {
                    var c = !0 === s ? i.reduce(function (t, e) {
                        return t + e.size
                    }, 0) : 0;
                    if (0 === (o = qn(o, r, "max-total-size", function (t) {
                        return (c += t.size) &lt;= n.maxTotalSizeNumber
                    })).length)
                        return a()
                }
                if ("function" == typeof this.filter) {
                    var u = this.filter(o);
                    o = qn(o, r, "filter", function (t) {
                        return u.includes(t)
                    })
                }
                if (void 0 !== this.maxFiles) {
                    var h = !0 === s ? i.length : 0;
                    if (0 === (o = qn(o, r, "max-files", function () {
                        return ++h &lt;= n.maxFilesNumber
                    })).length)
                        return a()
                }
                return a(), o.length &gt; 0 ? o : void 0
            },
            __onDragOver: function (t) {
                S(t),
                    this.dnd = !0
            },
            __onDragLeave: function (t) {
                S(t),
                    this.dnd = !1
            },
            __onDrop: function (t) {
                S(t);
                var e = t.dataTransfer.files;
                e.length &gt; 0 &amp;&amp; this.__addFiles(null, e),
                    this.dnd = !1
            },
            __getDnd: function (t, e) {
                if (!0 === this.dnd)
                    return t("div", {
                        staticClass: "q-" + e + "__dnd absolute-full",
                        on: mt(this, "dnd", {
                            dragenter: S,
                            dragover: S,
                            dragleave: this.__onDragLeave,
                            drop: this.__onDrop
                        })
                    })
            }
        }
    },
        $n = {
            computed: {
                formDomProps: function () {
                    if ("file" === this.type)
                        try {
                            var t = "DataTransfer" in window ? new DataTransfer : "ClipboardEvent" in window ? new ClipboardEvent("").clipboardData : void 0;
                            return Object(this.value) === this.value &amp;&amp; ("length" in this.value ? Array.from(this.value) : [
                                this.value
                            ]).forEach(function (e) {
                                t.items.add(e)
                            }), { files: t.files }
                        }
                        catch (t) {
                            return { files: void 0 }
                        }
                }
            }
        },
        Mn = {
            date: "####/##/##",
            datetime: "####/##/## ##:##",
            time: "##:##",
            fulltime: "##:##:##",
            phone: "(###) ### - ####",
            card: "#### #### #### ####"
        },
        Ln = {
            "#": {
                pattern: "[\\d]",
                negate: "[^\\d]"
            },
            S: {
                pattern: "[a-zA-Z]",
                negate: "[^a-zA-Z]"
            },
            N: {
                pattern: "[0-9a-zA-Z]",
                negate: "[^0-9a-zA-Z]"
            },
            A: {
                pattern: "[a-zA-Z]",
                negate: "[^a-zA-Z]",
                transform: function (t) {
                    return t.toLocaleUpperCase()
                }
            },
            a: {
                pattern: "[a-zA-Z]",
                negate: "[^a-zA-Z]",
                transform: function (t) {
                    return t.toLocaleLowerCase()
                }
            },
            X: {
                pattern: "[0-9a-zA-Z]",
                negate: "[^0-9a-zA-Z]",
                transform: function (t) {
                    return t.toLocaleUpperCase()
                }
            },
            x: {
                pattern: "[0-9a-zA-Z]",
                negate: "[^0-9a-zA-Z]",
                transform: function (t) {
                    return t.toLocaleLowerCase()
                }
            }
        },
        Bn = Object.keys(Ln);
    Bn.forEach(function (t) {
        Ln[t].regex = new RegExp(Ln[t].pattern)
    });
    var Pn = new RegExp("\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|([" + Bn.join("") + "])|(.)", "g"),
        On = /[.*+?^${}()|[\]\\]/g,
        En = String.fromCharCode(1),
        zn = {
            props: {
                mask: String,
                reverseFillMask: Boolean,
                fillMask: [
                    Boolean,
                    String
                ],
                unmaskedValue: Boolean
            },
            watch: {
                type: function () {
                    this.__updateMaskInternals()
                },
                mask: function (t) {
                    if (void 0 !== t)
                        this.__updateMaskValue(this.innerValue, !0);
                    else {
                        var e = this.__unmask(this.innerValue);
                        this.__updateMaskInternals(),
                            this.value !== e &amp;&amp; this.$emit("input", e)
                    }
                },
                fillMask: function () {
                    !0 === this.hasMask &amp;&amp; this.__updateMaskValue(this.innerValue, !0)
                },
                reverseFillMask: function () {
                    !0 === this.hasMask &amp;&amp; this.__updateMaskValue(this.innerValue, !0)
                },
                unmaskedValue: function () {
                    !0 === this.hasMask &amp;&amp; this.__updateMaskValue(this.innerValue)
                }
            },
            methods: {
                __getInitialMaskedValue: function () {
                    if (this.__updateMaskInternals(), !0 === this.hasMask) {
                        var t = this.__mask(this.__unmask(this.value));
                        return !1 !== this.fillMask ? this.__fillWithMask(t) : t
                    }
                    return this.value
                },
                __getPaddedMaskMarked: function (t) {
                    if (t &lt; this.maskMarked.length)
                        return this.maskMarked.slice(-t);
                    var e = this.maskMarked,
                        i = "",
                        s = e.indexOf(En);
                    if (s &gt; -1) {
                        for (var n = t - e.length; n &gt; 0; n--)
                            i += En;
                        e = e.slice(0, s) + i + e.slice(s)
                    }
                    return e
                },
                __updateMaskInternals: function () {
                    var t = this;
                    if (this.hasMask = void 0 !== this.mask &amp;&amp; this.mask.length &gt; 0 &amp;&amp; ["text", "search", "url", "tel", "password"].includes(this.type), !1 === this.hasMask)
                        return this.computedUnmask = void 0, this.maskMarked = "", void (this.maskReplaced = "");
                    var e = void 0 === Mn[this.mask] ? this.mask : Mn[this.mask],
                        i = "string" == typeof this.fillMask &amp;&amp; this.fillMask.length &gt; 0 ? this.fillMask.slice(0, 1) : "_",
                        s = i.replace(On, "\\$&amp;"),
                        n = [],
                        o = [],
                        r = [],
                        a = !0 === this.reverseFillMask,
                        l = "",
                        c = "";
                    e.replace(Pn, function (t, e, i, s, u) {
                        if (void 0 !== s) {
                            var h = Ln[s];
                            r.push(h),
                                c = h.negate,
                                !0 === a &amp;&amp; (o.push("(?:" + c + "+)?(" + h.pattern + "+)?(?:" + c + "+)?(" + h.pattern + "+)?"), a = !1),
                                o.push("(?:" + c + "+)?(" + h.pattern + ")?")
                        }
                        else if (void 0 !== i)
                            l = "\\" + ("\\" === i ? "" : i),
                                r.push(i),
                                n.push("([^" + l + "]+)?" + l + "?");
                        else {
                            var d = void 0 !== e ? e : u;
                            l = "\\" === d ? "\\\\\\\\" : d.replace(On, "\\\\$&amp;"),
                                r.push(d),
                                n.push("([^" + l + "]+)?" + l + "?")
                        }
                    });
                    var u = new RegExp("^" + n.join("") + "(" + ("" === l ? "." : "[^" + l + "]") + "+)?$"),
                        h = o.length - 1,
                        d = o.map(function (e, i) {
                            return 0 === i &amp;&amp; !0 === t.reverseFillMask ? new RegExp("^" + s + "*" + e) : i === h ? new RegExp("^" + e + "(" + ("" === c ? "." : c) + "+)?" + (!0 === t.reverseFillMask ? "$" : s + "*")) : new RegExp("^" + e)
                        });
                    this.computedMask = r,
                        this.computedUnmask = function (t) {
                            var e = u.exec(t);
                            null !== e &amp;&amp; (t = e.slice(1).join(""));
                            for (var i = [], s = d.length, n = 0, o = t; n &lt; s; n++) {
                                var r = d[n].exec(o);
                                if (null === r)
                                    break;
                                o = o.slice(r.shift().length),
                                    i.push.apply(i, r)
                            }
                            return i.length &gt; 0 ? i.join("") : t
                        },
                        this.maskMarked = r.map(function (t) {
                            return "string" == typeof t ? t : En
                        }).join(""),
                        this.maskReplaced = this.maskMarked.split(En).join(i)
                },
                __updateMaskValue: function (t, e, i) {
                    var s = this,
                        n = this.$refs.input,
                        o = n.selectionEnd,
                        r = n.value.length - o,
                        a = this.__unmask(t);
                    !0 === e &amp;&amp; this.__updateMaskInternals();
                    var l = this.__mask(a),
                        c = !1 !== this.fillMask ? this.__fillWithMask(l) : l,
                        u = this.innerValue !== c;
                    n.value !== c &amp;&amp; (n.value = c),
                        !0 === u &amp;&amp; (this.innerValue = c),
                        document.activeElement === n &amp;&amp; this.$nextTick(function () {
                            if (c !== s.maskReplaced)
                                if ("insertFromPaste" !== i || !0 === s.reverseFillMask)
                                    if (["deleteContentBackward", "deleteContentForward"].indexOf(i) &gt; -1) {
                                        var t = !0 === s.reverseFillMask ? Math.max(0, c.length - (c === s.maskReplaced ? 0 : Math.min(l.length, r) + 1)) + 1 : o;
                                        n.setSelectionRange(t, t, "forward")
                                    }
                                    else if (!0 === s.reverseFillMask)
                                        if (!0 === u) {
                                            var e = Math.max(0, c.length - (c === s.maskReplaced ? 0 : Math.min(l.length, r + 1)));
                                            s.__moveCursorRightReverse(n, e, e)
                                        }
                                        else {
                                            var a = c.length - r;
                                            n.setSelectionRange(a, a, "backward")
                                        }
                                    else if (!0 === u) {
                                        var h = Math.max(0, s.maskMarked.indexOf(En), Math.min(l.length, o) - 1);
                                        s.__moveCursorRight(n, h, h)
                                    }
                                    else {
                                        var d = o - 1;
                                        s.__moveCursorRight(n, d, d)
                                    }
                                else {
                                    var p = o - 1;
                                    s.__moveCursorRight(n, p, p)
                                }
                            else {
                                var f = !0 === s.reverseFillMask ? s.maskReplaced.length : 0;
                                n.setSelectionRange(f, f, "forward")
                            }
                        });
                    var h = !0 === this.unmaskedValue ? this.__unmask(c) : c;
                    this.value !== h &amp;&amp; this.__emitValue(h, !0)
                },
                __moveCursorForPaste: function (t, e, i) {
                    var s = this.__mask(this.__unmask(t.value));
                    e = Math.max(0, this.maskMarked.indexOf(En), Math.min(s.length, e)),
                        t.setSelectionRange(e, i, "forward")
                },
                __moveCursorLeft: function (t, e, i, s) {
                    for (var n = -1 === this.maskMarked.slice(e - 1).indexOf(En), o = Math.max(0, e - 1); o &gt;= 0; o--)
                        if (this.maskMarked[o] === En) {
                            e = o,
                                !0 === n &amp;&amp; e++;
                            break
                        }
                    if (o &lt; 0 &amp;&amp; void 0 !== this.maskMarked[e] &amp;&amp; this.maskMarked[e] !== En)
                        return this.__moveCursorRight(t, 0, 0);
                    e &gt;= 0 &amp;&amp; t.setSelectionRange(e, !0 === s ? i : e, "backward")
                },
                __moveCursorRight: function (t, e, i, s) {
                    for (var n = t.value.length, o = Math.min(n, i + 1); o &lt;= n; o++) {
                        if (this.maskMarked[o] === En) {
                            i = o;
                            break
                        }
                        this.maskMarked[o - 1] === En &amp;&amp; (i = o)
                    }
                    if (o &gt; n &amp;&amp; void 0 !== this.maskMarked[i - 1] &amp;&amp; this.maskMarked[i - 1] !== En)
                        return this.__moveCursorLeft(t, n, n);
                    t.setSelectionRange(s ? e : i, i, "forward")
                },
                __moveCursorLeftReverse: function (t, e, i, s) {
                    for (var n = this.__getPaddedMaskMarked(t.value.length), o = Math.max(0, e - 1); o &gt;= 0; o--) {
                        if (n[o - 1] === En) {
                            e = o;
                            break
                        }
                        if (n[o] === En &amp;&amp; (e = o, 0 === o))
                            break
                    }
                    if (o &lt; 0 &amp;&amp; void 0 !== n[e] &amp;&amp; n[e] !== En)
                        return this.__moveCursorRightReverse(t, 0, 0);
                    e &gt;= 0 &amp;&amp; t.setSelectionRange(e, !0 === s ? i : e, "backward")
                },
                __moveCursorRightReverse: function (t, e, i, s) {
                    for (var n = t.value.length, o = this.__getPaddedMaskMarked(n), r = -1 === o.slice(0, i + 1).indexOf(En), a = Math.min(n, i + 1); a &lt;= n; a++)
                        if (o[a - 1] === En) {
                            (i = a) &gt; 0 &amp;&amp; !0 === r &amp;&amp; i--;
                            break
                        }
                    if (a &gt; n &amp;&amp; void 0 !== o[i - 1] &amp;&amp; o[i - 1] !== En)
                        return this.__moveCursorLeftReverse(t, n, n);
                    t.setSelectionRange(!0 === s ? e : i, i, "forward")
                },
                __onMaskedKeydown: function (t) {
                    if (!0 !== J(t)) {
                        var e = this.$refs.input,
                            i = e.selectionStart,
                            s = e.selectionEnd;
                        if (37 === t.keyCode || 39 === t.keyCode) {
                            var n = this["__moveCursor" + (39 === t.keyCode ? "Right" : "Left") + (!0 === this.reverseFillMask ? "Reverse" : "")];
                            t.preventDefault(),
                                n(e, i, s, t.shiftKey)
                        }
                        else
                            8 === t.keyCode &amp;&amp; !0 !== this.reverseFillMask &amp;&amp; i === s ? this.__moveCursorLeft(e, i, s, !0) : 46 === t.keyCode &amp;&amp; !0 === this.reverseFillMask &amp;&amp; i === s &amp;&amp; this.__moveCursorRightReverse(e, i, s, !0);
                        this.$emit("keydown", t)
                    }
                },
                __mask: function (t) {
                    if (void 0 === t || null === t || "" === t)
                        return "";
                    if (!0 === this.reverseFillMask)
                        return this.__maskReverse(t);
                    for (var e = this.computedMask, i = 0, s = "", n = 0; n &lt; e.length; n++) {
                        var o = t[i],
                            r = e[n];
                        if ("string" == typeof r)
                            s += r,
                                o === r &amp;&amp; i++;
                        else {
                            if (void 0 === o || !r.regex.test(o))
                                return s;
                            s += void 0 !== r.transform ? r.transform(o) : o,
                                i++
                        }
                    }
                    return s
                },
                __maskReverse: function (t) {
                    for (var e = this.computedMask, i = this.maskMarked.indexOf(En), s = t.length - 1, n = "", o = e.length - 1; o &gt;= 0; o--) {
                        var r = e[o],
                            a = t[s];
                        if ("string" == typeof r)
                            n = r + n,
                                a === r &amp;&amp; s--;
                        else {
                            if (void 0 === a || !r.regex.test(a))
                                return n;
                            do
                                n = (void 0 !== r.transform ? r.transform(a) : a) + n,
                                    a = t[--s];
                            while (i === o &amp;&amp; void 0 !== a &amp;&amp; r.regex.test(a))
                        }
                    }
                    return n
                },
                __unmask: function (t) {
                    return "string" != typeof t || void 0 === this.computedUnmask ? "number" == typeof t ? this.computedUnmask("" + t) : t : this.computedUnmask(t)
                },
                __fillWithMask: function (t) {
                    return this.maskReplaced.length - t.length &lt;= 0 ? t : !0 === this.reverseFillMask &amp;&amp; t.length &gt; 0 ? this.maskReplaced.slice(0, -t.length) + t : t + this.maskReplaced.slice(t.length)
                }
            }
        },
        An = /[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/,
        Dn = /(?:[\u3300-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF\uFE30-\uFE4F]|[\uD840-\uD868\uD86A-\uD872][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD873[\uDC00-\uDEAF]|\uD87E[\uDC00-\uDE1F])/,
        Rn = /[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/,
        In = {
            methods: {
                __onComposition: function (t) {
                    if ("compositionend" === t.type || "change" === t.type) {
                        if (!0 !== t.target.composing)
                            return;
                        t.target.composing = !1,
                            this.__onInput(t)
                    }
                    else
                        "compositionupdate" === t.type ? "string" == typeof t.data &amp;&amp; !1 === An.test(t.data) &amp;&amp; !1 === Dn.test(t.data) &amp;&amp; !1 === Rn.test(t.data) &amp;&amp; (t.target.composing = !1) : t.target.composing = !0
                }
            }
        },
        Fn = t.extend({
            name: "QInput",
            mixins: [
                kn,
                zn,
                In,
                li,
                $n,
                Mt
            ],
            props: {
                value: { required: !1 },
                shadowText: String,
                type: {
                    type: String,
                    default: "text"
                },
                debounce: [
                    String,
                    Number
                ],
                autogrow: Boolean,
                inputClass: [
                    Array,
                    String,
                    Object
                ],
                inputStyle: [
                    Array,
                    String,
                    Object
                ]
            },
            watch: {
                value: function (t) {
                    if (!0 === this.hasMask) {
                        if (!0 === this.stopValueWatcher)
                            return void (this.stopValueWatcher = !1);
                        this.__updateMaskValue(t)
                    }
                    else
                        this.innerValue !== t &amp;&amp; (this.innerValue = t, "number" === this.type &amp;&amp; !0 === this.hasOwnProperty("tempValue") &amp;&amp; (!0 === this.typedNumber ? this.typedNumber = !1 : delete this.tempValue));
                    !0 === this.autogrow &amp;&amp; this.$nextTick(this.__adjustHeight)
                },
                autogrow: function (t) {
                    if (!0 === t)
                        this.$nextTick(this.__adjustHeight);
                    else if (this.qAttrs.rows &gt; 0 &amp;&amp; void 0 !== this.$refs.input) {
                        this.$refs.input.style.height = "auto"
                    }
                },
                dense: function () {
                    !0 === this.autogrow &amp;&amp; this.$nextTick(this.__adjustHeight)
                }
            },
            data: function () {
                return { innerValue: this.__getInitialMaskedValue() }
            },
            computed: {
                isTextarea: function () {
                    return "textarea" === this.type || !0 === this.autogrow
                },
                fieldClass: function () {
                    return "q-" + (!0 === this.isTextarea ? "textarea" : "input") + (!0 === this.autogrow ? " q-textarea--autogrow" : "")
                },
                hasShadow: function () {
                    return "file" !== this.type &amp;&amp; "string" == typeof this.shadowText &amp;&amp; this.shadowText.length &gt; 0
                },
                onEvents: function () {
                    var t = Object.assign({}, this.qListeners, {
                        input: this.__onInput,
                        paste: this.__onPaste,
                        change: this.__onChange,
                        blur: this.__onFinishEditing,
                        focus: y
                    });
                    return t.compositionstart = t.compositionupdate = t.compositionend = this.__onComposition, !0 === this.hasMask &amp;&amp; (t.keydown = this.__onMaskedKeydown), !0 === this.autogrow &amp;&amp; (t.animationend = this.__adjustHeight), t
                },
                inputAttrs: function () {
                    var t = Object.assign({}, {
                        tabindex: 0,
                        "data-autofocus": this.autofocus,
                        rows: "textarea" === this.type ? 6 : void 0,
                        "aria-label": this.label,
                        name: this.nameProp
                    }, this.qAttrs, {
                        id: this.targetUid,
                        type: this.type,
                        maxlength: this.maxlength,
                        disabled: !0 === this.disable,
                        readonly: !0 === this.readonly
                    });
                    return !0 === this.autogrow &amp;&amp; (t.rows = 1), t
                }
            },
            methods: {
                focus: function () {
                    var t = document.activeElement;
                    void 0 === this.$refs.input || this.$refs.input === t || null !== t &amp;&amp; t.id === this.targetUid || this.$refs.input.focus()
                },
                select: function () {
                    void 0 !== this.$refs.input &amp;&amp; this.$refs.input.select()
                },
                __onPaste: function (t) {
                    if (!0 === this.hasMask &amp;&amp; !0 !== this.reverseFillMask) {
                        var e = t.target;
                        this.__moveCursorForPaste(e, e.selectionStart, e.selectionEnd)
                    }
                    this.$emit("paste", t)
                },
                __onInput: function (t) {
                    if (!t || !t.target || !0 !== t.target.composing)
                        if ("file" !== this.type) {
                            var e = t.target.value;
                            !0 === this.hasMask ? this.__updateMaskValue(e, !1, t.inputType) : this.__emitValue(e),
                                !0 === this.autogrow &amp;&amp; this.__adjustHeight()
                        }
                        else
                            this.$emit("input", t.target.files)
                },
                __emitValue: function (t, e) {
                    var i = this;
                    this.emitValueFn = function () {
                        "number" !== i.type &amp;&amp; !0 === i.hasOwnProperty("tempValue") &amp;&amp; delete i.tempValue,
                            i.value !== t &amp;&amp; (!0 === e &amp;&amp; (i.stopValueWatcher = !0), i.$emit("input", t)),
                            i.emitValueFn = void 0
                    },
                        "number" === this.type &amp;&amp; (this.typedNumber = !0, this.tempValue = t),
                        void 0 !== this.debounce ? (clearTimeout(this.emitTimer), this.tempValue = t, this.emitTimer = setTimeout(this.emitValueFn, this.debounce)) : this.emitValueFn()
                },
                __adjustHeight: function () {
                    var t = this.$refs.input;
                    if (void 0 !== t) {
                        var e = t.parentNode.style;
                        e.marginBottom = t.scrollHeight - 1 + "px",
                            t.style.height = "1px",
                            t.style.height = t.scrollHeight + "px",
                            e.marginBottom = ""
                    }
                },
                __onChange: function (t) {
                    this.__onComposition(t),
                        clearTimeout(this.emitTimer),
                        void 0 !== this.emitValueFn &amp;&amp; this.emitValueFn(),
                        this.$emit("change", t)
                },
                __onFinishEditing: function (t) {
                    var e = this;
                    void 0 !== t &amp;&amp; y(t),
                        clearTimeout(this.emitTimer),
                        void 0 !== this.emitValueFn &amp;&amp; this.emitValueFn(),
                        this.typedNumber = !1,
                        this.stopValueWatcher = !1,
                        delete this.tempValue,
                        "file" !== this.type &amp;&amp; this.$nextTick(function () {
                            void 0 !== e.$refs.input &amp;&amp; (e.$refs.input.value = void 0 !== e.innerValue ? e.innerValue : "")
                        })
                },
                __getCurValue: function () {
                    return !0 === this.hasOwnProperty("tempValue") ? this.tempValue : void 0 !== this.innerValue ? this.innerValue : ""
                },
                __getShadowControl: function (t) {
                    return t("div", { staticClass: "q-field__native q-field__shadow absolute-full no-pointer-events" }, [
                        t("span", { staticClass: "invisible" }, this.__getCurValue()),
                        t("span", this.shadowText)
                    ])
                },
                __getControl: function (t) {
                    return t(!0 === this.isTextarea ? "textarea" : "input", {
                        ref: "input",
                        staticClass: "q-field__native q-placeholder",
                        style: this.inputStyle,
                        class: this.inputClass,
                        attrs: this.inputAttrs,
                        on: this.onEvents,
                        domProps: "file" !== this.type ? { value: this.__getCurValue() } : this.formDomProps
                    })
                }
            },
            mounted: function () {
                !0 === this.autogrow &amp;&amp; this.__adjustHeight()
            },
            beforeDestroy: function () {
                this.__onFinishEditing()
            }
        }),
        jn = t.extend({
            name: "QTooltip",
            mixins: [
                Se,
                Ce,
                qe,
                $e
            ],
            props: {
                maxHeight: {
                    type: String,
                    default: null
                },
                maxWidth: {
                    type: String,
                    default: null
                },
                transitionShow: { default: "jump-down" },
                transitionHide: { default: "jump-up" },
                anchor: {
                    type: String,
                    default: "bottom middle",
                    validator: ei
                },
                self: {
                    type: String,
                    default: "top middle",
                    validator: ei
                },
                offset: {
                    type: Array,
                    default: function () {
                        return [14, 14]
                    },
                    validator: ii
                },
                scrollTarget: { default: void 0 },
                delay: {
                    type: Number,
                    default: 0
                },
                hideDelay: {
                    type: Number,
                    default: 0
                }
            },
            computed: {
                anchorOrigin: function () {
                    return si(this.anchor)
                },
                selfOrigin: function () {
                    return si(this.self)
                },
                hideOnRouteChange: function () {
                    return !0 !== this.persistent
                }
            },
            methods: {
                __show: function (t) {
                    var e = this;
                    this.__showPortal(),
                        this.__nextTick(function () {
                            e.observer = new MutationObserver(function () {
                                return e.updatePosition()
                            }),
                                e.observer.observe(e.__portal.$el, {
                                    attributes: !1,
                                    childList: !0,
                                    characterData: !0,
                                    subtree: !0
                                }),
                                e.updatePosition(),
                                e.__configureScrollTarget()
                        }),
                        this.__setTimeout(function () {
                            e.$emit("show", t)
                        }, 300)
                },
                __hide: function (t) {
                    var e = this;
                    this.__anchorCleanup(),
                        this.__setTimeout(function () {
                            e.__hidePortal(),
                                e.$emit("hide", t)
                        }, 300)
                },
                __anchorCleanup: function () {
                    void 0 !== this.observer &amp;&amp; (this.observer.disconnect(), this.observer = void 0),
                        this.__unconfigureScrollTarget(),
                        q(this, "tooltipTemp")
                },
                updatePosition: function () {
                    if (void 0 !== this.anchorEl &amp;&amp; void 0 !== this.__portal) {
                        var t = this.__portal.$el;
                        8 !== t.nodeType ? ni({
                            el: t,
                            offset: this.offset,
                            anchorEl: this.anchorEl,
                            anchorOrigin: this.anchorOrigin,
                            selfOrigin: this.selfOrigin,
                            maxHeight: this.maxHeight,
                            maxWidth: this.maxWidth
                        }) : setTimeout(this.updatePosition, 25)
                    }
                },
                __delayShow: function (t) {
                    var e = this;
                    if (!0 === this.$q.platform.is.mobile) {
                        we(),
                            document.body.classList.add("non-selectable");
                        var i = de(this.anchorEl);
                        k(this, "tooltipTemp", ["touchmove", "touchcancel", "touchend", "click"].map(function (t) {
                            return [
                                i,
                                t,
                                "__delayHide",
                                "passiveCapture"
                            ]
                        }))
                    }
                    this.__setTimeout(function () {
                        e.show(t)
                    }, this.delay)
                },
                __delayHide: function (t) {
                    var e = this;
                    this.__clearTimeout(),
                        !0 === this.$q.platform.is.mobile &amp;&amp; (q(this, "tooltipTemp"), we(), setTimeout(function () {
                            document.body.classList.remove("non-selectable")
                        }, 10)),
                        this.__setTimeout(function () {
                            e.hide(t)
                        }, this.hideDelay)
                },
                __configureAnchorEl: function () {
                    !0 !== this.noParentEvent &amp;&amp; void 0 !== this.anchorEl &amp;&amp; k(this, "anchor", !0 === this.$q.platform.is.mobile ? [
                        [
                            this.anchorEl,
                            "touchstart",
                            "__delayShow",
                            "passive"
                        ]
                    ] : [
                        [
                            this.anchorEl,
                            "mouseenter",
                            "__delayShow",
                            "passive"
                        ],
                        [
                            this.anchorEl,
                            "mouseleave",
                            "__delayHide",
                            "passive"
                        ]
                    ])
                },
                __unconfigureScrollTarget: function () {
                    void 0 !== this.__scrollTarget &amp;&amp; (this.__changeScrollEvent(this.__scrollTarget), this.__scrollTarget = void 0)
                },
                __configureScrollTarget: function () {
                    if (void 0 !== this.anchorEl || void 0 !== this.scrollTarget) {
                        this.__scrollTarget = De(this.anchorEl, this.scrollTarget);
                        var t = !0 === this.noParentEvent ? this.updatePosition : this.hide;
                        this.__changeScrollEvent(this.__scrollTarget, t)
                    }
                },
                __renderPortal: function (t) {
                    return t("transition", { props: { name: this.transition } }, [
                        !0 === this.showing ? t("div", {
                            staticClass: "q-tooltip q-tooltip--style q-position-engine no-pointer-events",
                            class: this.contentClass,
                            style: this.contentStyle,
                            attrs: { role: "complementary" }
                        }, Lt(this, "default")) : null
                    ])
                }
            },
            mounted: function () {
                this.__processModelChange(this.value)
            }
        }),
        Vn = t.extend({
            name: "QList",
            mixins: [
                Mt,
                Dt
            ],
            props: {
                bordered: Boolean,
                dense: Boolean,
                separator: Boolean,
                padding: Boolean
            },
            computed: {
                classes: function () {
                    return "q-list" + (!0 === this.bordered ? " q-list--bordered" : "") + (!0 === this.dense ? " q-list--dense" : "") + (!0 === this.separator ? " q-list--separator" : "") + (!0 === this.isDark ? " q-list--dark" : "") + (!0 === this.padding ? " q-list--padding" : "")
                }
            },
            render: function (t) {
                return t("div", {
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        Nn = t.extend({
            name: "QItem",
            mixins: [
                Dt,
                Wt,
                $t,
                Mt
            ],
            props: {
                active: Boolean,
                clickable: Boolean,
                dense: Boolean,
                insetLevel: Number,
                tabindex: [
                    String,
                    Number
                ],
                focused: Boolean,
                manualFocus: Boolean
            },
            computed: {
                isActionable: function () {
                    return !0 === this.clickable || !0 === this.hasRouterLink || "a" === this.tag || "label" === this.tag
                },
                isClickable: function () {
                    return !0 !== this.disable &amp;&amp; !0 === this.isActionable
                },
                classes: function () {
                    var t;
                    return (t = {
                        "q-item--clickable q-link cursor-pointer": this.isClickable,
                        "q-focusable q-hoverable": !0 === this.isClickable &amp;&amp; !1 === this.manualFocus,
                        "q-manual-focusable": !0 === this.isClickable &amp;&amp; !0 === this.manualFocus,
                        "q-manual-focusable--focused": !0 === this.isClickable &amp;&amp; !0 === this.focused,
                        "q-item--dense": this.dense,
                        "q-item--dark": this.isDark,
                        "q-item--active": this.active
                    })[this.activeClass] = !0 === this.active &amp;&amp; !0 !== this.hasRouterLink &amp;&amp; void 0 !== this.activeClass, t.disabled = this.disable, t
                },
                style: function () {
                    var t;
                    if (void 0 !== this.insetLevel)
                        return (t = {})["padding" + (!0 === this.$q.lang.rtl ? "Right" : "Left")] = 16 + 56 * this.insetLevel + "px", t
                },
                onEvents: function () {
                    return Object.assign({}, this.qListeners, {
                        click: this.__onClick,
                        keyup: this.__onKeyup
                    })
                }
            },
            methods: {
                __getContent: function (t) {
                    var e = Bt(this, "default", []);
                    return !0 === this.isClickable &amp;&amp; e.unshift(t("div", {
                        staticClass: "q-focus-helper",
                        attrs: { tabindex: -1 },
                        ref: "blurTarget"
                    })), e
                },
                __onClick: function (t) {
                    !0 === this.isClickable &amp;&amp; (void 0 !== this.$refs.blurTarget &amp;&amp; (!0 !== t.qKeyEvent &amp;&amp; document.activeElement === this.$el ? this.$refs.blurTarget.focus() : document.activeElement === this.$refs.blurTarget &amp;&amp; this.$el.focus()), this.$emit("click", t))
                },
                __onKeyup: function (t) {
                    if (!0 === this.isClickable &amp;&amp; !0 === tt(t, 13)) {
                        S(t),
                            t.qKeyEvent = !0;
                        var e = new MouseEvent("click", t);
                        e.qKeyEvent = !0,
                            this.$el.dispatchEvent(e)
                    }
                    this.$emit("keyup", t)
                }
            },
            render: function (t) {
                var e = {
                    staticClass: "q-item q-item-type row no-wrap",
                    class: this.classes,
                    style: this.style
                };
                return e[!0 === this.hasRouterLink ? "nativeOn" : "on"] = this.onEvents, !0 === this.isClickable ? e.attrs = { tabindex: this.tabindex || "0" } : !0 === this.isActionable &amp;&amp; (e.attrs = { "aria-disabled": "" }), !0 === this.hasRouterLink ? (e.tag = "a", e.props = this.routerLinkProps, t("router-link", e, this.__getContent(t))) : t(this.tag, e, this.__getContent(t))
            }
        }),
        Hn = t.extend({
            name: "QItemSection",
            mixins: [
                Mt
            ],
            props: {
                avatar: Boolean,
                thumbnail: Boolean,
                side: Boolean,
                top: Boolean,
                noWrap: Boolean
            },
            computed: {
                classes: function () {
                    var t,
                        e = this.avatar || this.side || this.thumbnail;
                    return (t = {
                        "q-item__section--top": this.top,
                        "q-item__section--avatar": this.avatar,
                        "q-item__section--thumbnail": this.thumbnail,
                        "q-item__section--side": e,
                        "q-item__section--nowrap": this.noWrap,
                        "q-item__section--main": !e
                    })["justify-" + (this.top ? "start" : "center")] = !0, t
                }
            },
            render: function (t) {
                return t("div", {
                    staticClass: "q-item__section column",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        });
    function Qn(t, e, i) {
        e.handler ? e.handler(t, i, i.caret) : i.runCmd(e.cmd, e.param)
    }
    function Wn(t, e) {
        return t("div", { staticClass: "q-editor__toolbar-group" }, e)
    }
    function Yn(t, e, i, s, n) {
        void 0 === n &amp;&amp; (n = !1);
        var o = n || "toggle" === i.type &amp;&amp; (i.toggled ? i.toggled(e) : i.cmd &amp;&amp; e.caret.is(i.cmd, i.param)),
            r = [],
            a = {
                click: function (t) {
                    s &amp;&amp; s(),
                        Qn(t, i, e)
                }
            };
        if (i.tip &amp;&amp; e.$q.platform.is.desktop) {
            var l = i.key ? t("div", [
                t("small", "(CTRL + " + String.fromCharCode(i.key) + ")")
            ]) : null;
            r.push(t(jn, { props: { delay: 1e3 } }, [
                t("div", { domProps: { innerHTML: i.tip } }),
                l
            ]))
        }
        return t(be, {
            props: Object.assign({}, e.buttonProps, {
                icon: i.icon,
                color: o ? i.toggleColor || e.toolbarToggleColor : i.color || e.toolbarColor,
                textColor: o &amp;&amp; !e.toolbarPush ? null : i.textColor || e.toolbarTextColor,
                label: i.label,
                disable: !!i.disable &amp;&amp; ("function" != typeof i.disable || i.disable(e)),
                size: "sm"
            }),
            on: a
        }, r)
    }
    function Un(t, e) {
        if (e.caret)
            return e.buttons.filter(function (t) {
                return !e.isViewingSource || t.find(function (t) {
                    return "viewsource" === t.cmd
                })
            }).map(function (i) {
                return Wn(t, i.map(function (i) {
                    return (!e.isViewingSource || "viewsource" === i.cmd) &amp;&amp; ("slot" === i.type ? Lt(e, i.slot) : "dropdown" === i.type ? function (t, e, i) {
                        var s,
                            n,
                            o = "only-icons" === i.list,
                            r = i.label,
                            a = i.icon;
                        function l() {
                            d.componentInstance.hide()
                        }
                        if (o)
                            n = i.options.map(function (i) {
                                var s = void 0 === i.type &amp;&amp; e.caret.is(i.cmd, i.param);
                                return s &amp;&amp; (r = i.tip, a = i.icon), Yn(t, e, i, l, s)
                            }),
                                s = e.toolbarBackgroundClass,
                                n = [
                                    Wn(t, n)
                                ];
                        else {
                            var c = void 0 !== e.toolbarToggleColor ? "text-" + e.toolbarToggleColor : null,
                                u = void 0 !== e.toolbarTextColor ? "text-" + e.toolbarTextColor : null;
                            n = i.options.map(function (i) {
                                var s = !!i.disable &amp;&amp; i.disable(e),
                                    n = void 0 === i.type &amp;&amp; e.caret.is(i.cmd, i.param);
                                n &amp;&amp; (r = i.tip, a = i.icon);
                                var o = i.htmlTip;
                                return t(Nn, {
                                    props: {
                                        active: n,
                                        activeClass: c,
                                        clickable: !0,
                                        disable: s,
                                        dense: !0
                                    },
                                    on: {
                                        click: function (t) {
                                            l(),
                                                e.$refs.content &amp;&amp; e.$refs.content.focus(),
                                                e.caret.restore(),
                                                Qn(t, i, e)
                                        }
                                    }
                                }, [
                                    "no-icons" === i.list ? null : t(Hn, {
                                        class: n ? c : u,
                                        props: { side: !0 }
                                    }, [
                                        t(Et, { props: { name: i.icon } })
                                    ]),
                                    t(Hn, [
                                        o ? t("div", { domProps: { innerHTML: i.htmlTip } }) : i.tip ? t("div", [
                                            i.tip
                                        ]) : null
                                    ])
                                ])
                            }),
                                s = [
                                    e.toolbarBackgroundClass,
                                    u
                                ],
                                n = [
                                    t(Vn, [
                                        n
                                    ])
                                ]
                        }
                        var h = i.highlight &amp;&amp; r !== i.label,
                            d = t(ri, {
                                props: Object.assign({}, e.buttonProps, {
                                    noCaps: !0,
                                    noWrap: !0,
                                    color: h ? e.toolbarToggleColor : e.toolbarColor,
                                    textColor: h &amp;&amp; !e.toolbarPush ? null : e.toolbarTextColor,
                                    label: i.fixedLabel ? i.label : r,
                                    icon: i.fixedIcon ? i.icon : a,
                                    contentClass: s
                                })
                            }, n);
                        return d
                    }(t, e, i) : Yn(t, e, i))
                }))
            })
    }
    function Kn(t, e) {
        return !(!t || t === document.body) &amp;&amp; (e === document ? document.body : e).contains(t.parentNode)
    }
    var Xn = /^https?:\/\//,
        Gn = function (t, e) {
            this.el = t,
                this.vm = e,
                this._range = null
        },
        Zn = {
            selection: { configurable: !0 },
            hasSelection: { configurable: !0 },
            range: { configurable: !0 },
            parent: { configurable: !0 },
            blockParent: { configurable: !0 }
        };
    Zn.selection.get = function () {
        if (this.el) {
            var t = document.getSelection();
            if (Kn(t.anchorNode, this.el) &amp;&amp; Kn(t.focusNode, this.el))
                return t
        }
        return null
    },
        Zn.hasSelection.get = function () {
            return null !== this.selection &amp;&amp; this.selection.toString().length &gt; 0
        },
        Zn.range.get = function () {
            var t = this.selection;
            return null !== t &amp;&amp; t.rangeCount ? t.getRangeAt(0) : this._range
        },
        Zn.parent.get = function () {
            var t = this.range;
            if (null !== t) {
                var e = t.startContainer;
                return e.nodeType === document.ELEMENT_NODE ? e : e.parentNode
            }
            return null
        },
        Zn.blockParent.get = function () {
            var t = this.parent;
            return null !== t ? function t(e, i) {
                if (i &amp;&amp; e === i)
                    return null;
                var s = e.nodeName.toLowerCase();
                if (!0 === ["div", "li", "ul", "ol", "blockquote"].includes(s))
                    return e;
                var n = (window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle).display;
                return "block" === n || "table" === n ? e : t(e.parentNode)
            }(t, this.el) : null
        },
        Gn.prototype.save = function (t) {
            void 0 === t &amp;&amp; (t = this.range),
                null !== t &amp;&amp; (this._range = t)
        },
        Gn.prototype.restore = function (t) {
            void 0 === t &amp;&amp; (t = this._range);
            var e = document.createRange(),
                i = document.getSelection();
            null !== t ? (e.setStart(t.startContainer, t.startOffset), e.setEnd(t.endContainer, t.endOffset), i.removeAllRanges(), i.addRange(e)) : (i.selectAllChildren(this.el), i.collapseToEnd())
        },
        Gn.prototype.hasParent = function (t, e) {
            var i = e ? this.parent : this.blockParent;
            return null !== i &amp;&amp; i.nodeName.toLowerCase() === t.toLowerCase()
        },
        Gn.prototype.hasParents = function (t, e, i) {
            return void 0 === i &amp;&amp; (i = this.parent), null !== i &amp;&amp; (null !== i &amp;&amp; !0 === t.includes(i.nodeName.toLowerCase()) || !0 === e &amp;&amp; this.hasParents(t, e, i.parentNode))
        },
        Gn.prototype.is = function (t, e) {
            switch (t) {
                case "formatBlock":
                    return "DIV" === e &amp;&amp; this.parent === this.el || this.hasParent(e, "PRE" === e);
                case "link":
                    return this.hasParent("A", !0);
                case "fontSize":
                    return document.queryCommandValue(t) === e;
                case "fontName":
                    var i = document.queryCommandValue(t);
                    return i === '"' + e + '"' || i === e;
                case "fullscreen":
                    return this.vm.inFullscreen;
                case "viewsource":
                    return this.vm.isViewingSource;
                case void 0:
                    return !1;
                default:
                    var s = document.queryCommandState(t);
                    return void 0 !== e ? s === e : s
            }
        },
        Gn.prototype.getParentAttribute = function (t) {
            return null !== this.parent ? this.parent.getAttribute(t) : null
        },
        Gn.prototype.can = function (t) {
            return "outdent" === t ? this.hasParents(["blockquote", "li"], !0) : "indent" === t ? this.hasParents(["li"], !0) : "link" === t ? null !== this.selection || this.is("link") : void 0
        },
        Gn.prototype.apply = function (t, e, i) {
            if (void 0 === i &amp;&amp; (i = f), "formatBlock" === t)
                ["BLOCKQUOTE", "H1", "H2", "H3", "H4", "H5", "H6"].includes(e) &amp;&amp; this.is(t, e) &amp;&amp; (t = "outdent", e = null),
                    "PRE" === e &amp;&amp; this.is(t, "PRE") &amp;&amp; (e = "P");
            else {
                if ("print" === t) {
                    i();
                    var s = window.open();
                    return s.document.write("\n        &lt;!doctype html&gt;\n        &lt;html&gt;\n          &lt;head&gt;\n            &lt;title&gt;Print - " + document.title + "&lt;/title&gt;\n          &lt;/head&gt;\n          &lt;body&gt;\n            &lt;div&gt;" + this.el.innerHTML + "&lt;/div&gt;\n          &lt;/body&gt;\n        &lt;/html&gt;\n      "), s.print(), void s.close()
                }
                if ("link" === t) {
                    var n = this.getParentAttribute("href");
                    if (null === n) {
                        var o = this.selectWord(this.selection),
                            r = o ? o.toString() : "";
                        if (!r.length)
                            return;
                        this.vm.editLinkUrl = Xn.test(r) ? r : "https://",
                            document.execCommand("createLink", !1, this.vm.editLinkUrl),
                            this.save(o.getRangeAt(0))
                    }
                    else
                        this.vm.editLinkUrl = n,
                            this.range.selectNodeContents(this.parent),
                            this.save();
                    return
                }
                if ("fullscreen" === t)
                    return this.vm.toggleFullscreen(), void i();
                if ("viewsource" === t)
                    return this.vm.isViewingSource = !1 === this.vm.isViewingSource, this.vm.__setContent(this.vm.value), void i()
            }
            document.execCommand(t, !1, e),
                i()
        },
        Gn.prototype.selectWord = function (t) {
            if (null === t || !0 !== t.isCollapsed || void 0 === t.modify)
                return t;
            var e = document.createRange();
            e.setStart(t.anchorNode, t.anchorOffset),
                e.setEnd(t.focusNode, t.focusOffset);
            var i = e.collapsed ? ["backward", "forward"] : ["forward", "backward"];
            e.detach();
            var s = t.focusNode,
                n = t.focusOffset;
            return t.collapse(t.anchorNode, t.anchorOffset), t.modify("move", i[0], "character"), t.modify("move", i[1], "word"), t.extend(s, n), t.modify("extend", i[1], "character"), t.modify("extend", i[0], "word"), t
        },
        Object.defineProperties(Gn.prototype, Zn);
    var Jn = Object.prototype.toString,
        to = Object.prototype.hasOwnProperty,
        eo = {};
    function io(t) {
        return null === t ? String(t) : eo[Jn.call(t)] || "object"
    }
    function so(t) {
        if (!t || "object" !== io(t))
            return !1;
        if (t.constructor &amp;&amp; !to.call(t, "constructor") &amp;&amp; !to.call(t.constructor.prototype, "isPrototypeOf"))
            return !1;
        var e;
        for (e in t)
            ;
        return void 0 === e || to.call(t, e)
    }
    function no() {
        var t,
            e,
            i,
            s,
            n,
            o,
            r = arguments,
            a = arguments[0] || {},
            l = 1,
            c = !1,
            u = arguments.length;
        for ("boolean" == typeof a &amp;&amp; (c = a, a = arguments[1] || {}, l = 2), Object(a) !== a &amp;&amp; "function" !== io(a) &amp;&amp; (a = {}), u === l &amp;&amp; (a = this, l--); l &lt; u; l++)
            if (null !== (t = r[l]))
                for (e in t)
                    i = a[e],
                        a !== (s = t[e]) &amp;&amp; (c &amp;&amp; s &amp;&amp; (so(s) || (n = "array" === io(s))) ? (n ? (n = !1, o = i &amp;&amp; "array" === io(i) ? i : []) : o = i &amp;&amp; so(i) ? i : {}, a[e] = no(c, o, s)) : void 0 !== s &amp;&amp; (a[e] = s));
        return a
    }
    "Boolean Number String Function Array Date RegExp Object".split(" ").forEach(function (t) {
        eo["[object " + t + "]"] = t.toLowerCase()
    });
    var oo = t.extend({
        name: "QEditor",
        mixins: [
            Mt,
            gi,
            Dt
        ],
        props: {
            value: {
                type: String,
                required: !0
            },
            readonly: Boolean,
            disable: Boolean,
            minHeight: {
                type: String,
                default: "10rem"
            },
            maxHeight: String,
            height: String,
            definitions: Object,
            fonts: Object,
            placeholder: String,
            toolbar: {
                type: Array,
                validator: function (t) {
                    return 0 === t.length || t.every(function (t) {
                        return t.length
                    })
                },
                default: function () {
                    return [
                        ["left", "center", "right", "justify"],
                        ["bold", "italic", "underline", "strike"],
                        ["undo", "redo"]
                    ]
                }
            },
            toolbarColor: String,
            toolbarBg: String,
            toolbarTextColor: String,
            toolbarToggleColor: {
                type: String,
                default: "primary"
            },
            toolbarOutline: Boolean,
            toolbarPush: Boolean,
            toolbarRounded: Boolean,
            contentStyle: Object,
            contentClass: [
                Object,
                Array,
                String
            ],
            square: Boolean,
            flat: Boolean,
            dense: Boolean
        },
        computed: {
            editable: function () {
                return !this.readonly &amp;&amp; !this.disable
            },
            hasToolbar: function () {
                return this.toolbar &amp;&amp; this.toolbar.length &gt; 0
            },
            toolbarBackgroundClass: function () {
                if (this.toolbarBg)
                    return "bg-" + this.toolbarBg
            },
            buttonProps: function () {
                return {
                    type: "a",
                    flat: !0 !== this.toolbarOutline &amp;&amp; !0 !== this.toolbarPush,
                    noWrap: !0,
                    outline: this.toolbarOutline,
                    push: this.toolbarPush,
                    rounded: this.toolbarRounded,
                    dense: !0,
                    color: this.toolbarColor,
                    disable: !this.editable,
                    size: "sm"
                }
            },
            buttonDef: function () {
                var t = this.$q.lang.editor,
                    e = this.$q.iconSet.editor;
                return {
                    bold: {
                        cmd: "bold",
                        icon: e.bold,
                        tip: t.bold,
                        key: 66
                    },
                    italic: {
                        cmd: "italic",
                        icon: e.italic,
                        tip: t.italic,
                        key: 73
                    },
                    strike: {
                        cmd: "strikeThrough",
                        icon: e.strikethrough,
                        tip: t.strikethrough,
                        key: 83
                    },
                    underline: {
                        cmd: "underline",
                        icon: e.underline,
                        tip: t.underline,
                        key: 85
                    },
                    unordered: {
                        cmd: "insertUnorderedList",
                        icon: e.unorderedList,
                        tip: t.unorderedList
                    },
                    ordered: {
                        cmd: "insertOrderedList",
                        icon: e.orderedList,
                        tip: t.orderedList
                    },
                    subscript: {
                        cmd: "subscript",
                        icon: e.subscript,
                        tip: t.subscript,
                        htmlTip: "x&lt;subscript&gt;2&lt;/subscript&gt;"
                    },
                    superscript: {
                        cmd: "superscript",
                        icon: e.superscript,
                        tip: t.superscript,
                        htmlTip: "x&lt;superscript&gt;2&lt;/superscript&gt;"
                    },
                    link: {
                        cmd: "link",
                        disable: function (t) {
                            return t.caret &amp;&amp; !t.caret.can("link")
                        },
                        icon: e.hyperlink,
                        tip: t.hyperlink,
                        key: 76
                    },
                    fullscreen: {
                        cmd: "fullscreen",
                        icon: e.toggleFullscreen,
                        tip: t.toggleFullscreen,
                        key: 70
                    },
                    viewsource: {
                        cmd: "viewsource",
                        icon: e.viewSource,
                        tip: t.viewSource
                    },
                    quote: {
                        cmd: "formatBlock",
                        param: "BLOCKQUOTE",
                        icon: e.quote,
                        tip: t.quote,
                        key: 81
                    },
                    left: {
                        cmd: "justifyLeft",
                        icon: e.left,
                        tip: t.left
                    },
                    center: {
                        cmd: "justifyCenter",
                        icon: e.center,
                        tip: t.center
                    },
                    right: {
                        cmd: "justifyRight",
                        icon: e.right,
                        tip: t.right
                    },
                    justify: {
                        cmd: "justifyFull",
                        icon: e.justify,
                        tip: t.justify
                    },
                    print: {
                        type: "no-state",
                        cmd: "print",
                        icon: e.print,
                        tip: t.print,
                        key: 80
                    },
                    outdent: {
                        type: "no-state",
                        disable: function (t) {
                            return t.caret &amp;&amp; !t.caret.can("outdent")
                        },
                        cmd: "outdent",
                        icon: e.outdent,
                        tip: t.outdent
                    },
                    indent: {
                        type: "no-state",
                        disable: function (t) {
                            return t.caret &amp;&amp; !t.caret.can("indent")
                        },
                        cmd: "indent",
                        icon: e.indent,
                        tip: t.indent
                    },
                    removeFormat: {
                        type: "no-state",
                        cmd: "removeFormat",
                        icon: e.removeFormat,
                        tip: t.removeFormat
                    },
                    hr: {
                        type: "no-state",
                        cmd: "insertHorizontalRule",
                        icon: e.hr,
                        tip: t.hr
                    },
                    undo: {
                        type: "no-state",
                        cmd: "undo",
                        icon: e.undo,
                        tip: t.undo,
                        key: 90
                    },
                    redo: {
                        type: "no-state",
                        cmd: "redo",
                        icon: e.redo,
                        tip: t.redo,
                        key: 89
                    },
                    h1: {
                        cmd: "formatBlock",
                        param: "H1",
                        icon: e.heading1 || e.heading,
                        tip: t.heading1,
                        htmlTip: '&lt;h1 class="q-ma-none"&gt;' + t.heading1 + "&lt;/h1&gt;"
                    },
                    h2: {
                        cmd: "formatBlock",
                        param: "H2",
                        icon: e.heading2 || e.heading,
                        tip: t.heading2,
                        htmlTip: '&lt;h2 class="q-ma-none"&gt;' + t.heading2 + "&lt;/h2&gt;"
                    },
                    h3: {
                        cmd: "formatBlock",
                        param: "H3",
                        icon: e.heading3 || e.heading,
                        tip: t.heading3,
                        htmlTip: '&lt;h3 class="q-ma-none"&gt;' + t.heading3 + "&lt;/h3&gt;"
                    },
                    h4: {
                        cmd: "formatBlock",
                        param: "H4",
                        icon: e.heading4 || e.heading,
                        tip: t.heading4,
                        htmlTip: '&lt;h4 class="q-ma-none"&gt;' + t.heading4 + "&lt;/h4&gt;"
                    },
                    h5: {
                        cmd: "formatBlock",
                        param: "H5",
                        icon: e.heading5 || e.heading,
                        tip: t.heading5,
                        htmlTip: '&lt;h5 class="q-ma-none"&gt;' + t.heading5 + "&lt;/h5&gt;"
                    },
                    h6: {
                        cmd: "formatBlock",
                        param: "H6",
                        icon: e.heading6 || e.heading,
                        tip: t.heading6,
                        htmlTip: '&lt;h6 class="q-ma-none"&gt;' + t.heading6 + "&lt;/h6&gt;"
                    },
                    p: {
                        cmd: "formatBlock",
                        param: "DIV",
                        icon: e.heading,
                        tip: t.paragraph
                    },
                    code: {
                        cmd: "formatBlock",
                        param: "PRE",
                        icon: e.code,
                        htmlTip: "&lt;code&gt;" + t.code + "&lt;/code&gt;"
                    },
                    "size-1": {
                        cmd: "fontSize",
                        param: "1",
                        icon: e.size1 || e.size,
                        tip: t.size1,
                        htmlTip: '&lt;font size="1"&gt;' + t.size1 + "&lt;/font&gt;"
                    },
                    "size-2": {
                        cmd: "fontSize",
                        param: "2",
                        icon: e.size2 || e.size,
                        tip: t.size2,
                        htmlTip: '&lt;font size="2"&gt;' + t.size2 + "&lt;/font&gt;"
                    },
                    "size-3": {
                        cmd: "fontSize",
                        param: "3",
                        icon: e.size3 || e.size,
                        tip: t.size3,
                        htmlTip: '&lt;font size="3"&gt;' + t.size3 + "&lt;/font&gt;"
                    },
                    "size-4": {
                        cmd: "fontSize",
                        param: "4",
                        icon: e.size4 || e.size,
                        tip: t.size4,
                        htmlTip: '&lt;font size="4"&gt;' + t.size4 + "&lt;/font&gt;"
                    },
                    "size-5": {
                        cmd: "fontSize",
                        param: "5",
                        icon: e.size5 || e.size,
                        tip: t.size5,
                        htmlTip: '&lt;font size="5"&gt;' + t.size5 + "&lt;/font&gt;"
                    },
                    "size-6": {
                        cmd: "fontSize",
                        param: "6",
                        icon: e.size6 || e.size,
                        tip: t.size6,
                        htmlTip: '&lt;font size="6"&gt;' + t.size6 + "&lt;/font&gt;"
                    },
                    "size-7": {
                        cmd: "fontSize",
                        param: "7",
                        icon: e.size7 || e.size,
                        tip: t.size7,
                        htmlTip: '&lt;font size="7"&gt;' + t.size7 + "&lt;/font&gt;"
                    }
                }
            },
            buttons: function () {
                var t = this,
                    e = this.definitions || {},
                    i = this.definitions || this.fonts ? no(!0, {}, this.buttonDef, e, function (t, e, i, s) {
                        void 0 === s &amp;&amp; (s = {});
                        var n = Object.keys(s);
                        if (0 === n.length)
                            return {};
                        var o = {
                            default_font: {
                                cmd: "fontName",
                                param: t,
                                icon: i,
                                tip: e
                            }
                        };
                        return n.forEach(function (t) {
                            var e = s[t];
                            o[t] = {
                                cmd: "fontName",
                                param: e,
                                icon: i,
                                tip: e,
                                htmlTip: '&lt;font face="' + e + '"&gt;' + e + "&lt;/font&gt;"
                            }
                        }), o
                    }(this.defaultFont, this.$q.lang.editor.defaultFont, this.$q.iconSet.editor.font, this.fonts)) : this.buttonDef;
                return this.toolbar.map(function (s) {
                    return s.map(function (s) {
                        if (s.options)
                            return {
                                type: "dropdown",
                                icon: s.icon,
                                label: s.label,
                                size: "sm",
                                dense: !0,
                                fixedLabel: s.fixedLabel,
                                fixedIcon: s.fixedIcon,
                                highlight: s.highlight,
                                list: s.list,
                                options: s.options.map(function (t) {
                                    return i[t]
                                })
                            };
                        var n = i[s];
                        return n ? "no-state" === n.type || e[s] &amp;&amp; (void 0 === n.cmd || t.buttonDef[n.cmd] &amp;&amp; "no-state" === t.buttonDef[n.cmd].type) ? n : Object.assign({ type: "toggle" }, n) : {
                            type: "slot",
                            slot: s
                        }
                    })
                })
            },
            keys: function () {
                var t = {},
                    e = function (e) {
                        e.key &amp;&amp; (t[e.key] = {
                            cmd: e.cmd,
                            param: e.param
                        })
                    };
                return this.buttons.forEach(function (t) {
                    t.forEach(function (t) {
                        t.options ? t.options.forEach(e) : e(t)
                    })
                }), t
            },
            innerStyle: function () {
                return this.inFullscreen ? this.contentStyle : [
                    {
                        minHeight: this.minHeight,
                        height: this.height,
                        maxHeight: this.maxHeight
                    },
                    this.contentStyle
                ]
            },
            classes: function () {
                return "q-editor q-editor--" + (!0 === this.isViewingSource ? "source" : "default") + (!0 === this.disable ? " disabled" : "") + (!0 === this.inFullscreen ? " fullscreen column" : "") + (!0 === this.square ? " q-editor--square no-border-radius" : "") + (!0 === this.flat ? " q-editor--flat" : "") + (!0 === this.dense ? " q-editor--dense" : "") + (!0 === this.isDark ? " q-editor--dark q-dark" : "")
            },
            innerClass: function () {
                return [
                    this.contentClass,
                    {
                        col: this.inFullscreen,
                        "overflow-auto": this.inFullscreen || this.maxHeight
                    }
                ]
            },
            attrs: function () {
                return !0 === this.disable ? { "aria-disabled": "" } : !0 === this.readonly ? { "aria-readonly": "" } : void 0
            }
        },
        data: function () {
            return {
                editWatcher: !0,
                editLinkUrl: null,
                isViewingSource: !1
            }
        },
        watch: {
            value: function (t) {
                !0 === this.editWatcher ? this.__setContent(t) : this.editWatcher = !0
            }
        },
        methods: {
            __onInput: function () {
                if (!0 === this.editWatcher &amp;&amp; void 0 !== this.$refs.content) {
                    var t = this.isViewingSource ? this.$refs.content.innerText : this.$refs.content.innerHTML;
                    t !== this.value &amp;&amp; (this.editWatcher = !1, this.$emit("input", t))
                }
            },
            __onKeydown: function (t) {
                if (this.$emit("keydown", t), !0 !== t.ctrlKey || !0 === J(t))
                    return this.refreshToolbar(), void (this.$q.platform.is.ie &amp;&amp; this.$nextTick(this.__onInput));
                var e = t.keyCode,
                    i = this.keys[e];
                if (void 0 !== i) {
                    var s = i.cmd,
                        n = i.param;
                    S(t),
                        this.runCmd(s, n, !1)
                }
            },
            __onClick: function (t) {
                this.refreshToolbar(),
                    this.$emit("click", t)
            },
            __onBlur: function () {
                if (void 0 !== this.$refs.content) {
                    var t = this.$refs.content,
                        e = t.scrollTop,
                        i = t.scrollHeight;
                    this.__offsetBottom = i - e
                }
                !0 !== this.$q.platform.is.ie &amp;&amp; this.caret.save(),
                    this.$emit("blur")
            },
            __onFocus: function () {
                var t = this;
                this.$nextTick(function () {
                    void 0 !== t.$refs.content &amp;&amp; void 0 !== t.__offsetBottom &amp;&amp; (t.$refs.content.scrollTop = t.$refs.content.scrollHeight - t.__offsetBottom)
                })
            },
            __onMouseup: function (t) {
                this.caret.save(),
                    void 0 !== this.qListeners.mouseup &amp;&amp; this.$emit("mouseup", t)
            },
            __onKeyup: function (t) {
                this.caret.save(),
                    void 0 !== this.qListeners.keyup &amp;&amp; this.$emit("keyup", t)
            },
            __onTouchend: function (t) {
                this.caret.save(),
                    void 0 !== this.qListeners.touchend &amp;&amp; this.$emit("touchend", t)
            },
            runCmd: function (t, e, i) {
                var s = this;
                void 0 === i &amp;&amp; (i = !0),
                    this.focus(),
                    this.caret.restore(),
                    this.caret.apply(t, e, function () {
                        s.focus(),
                            s.caret.save(),
                            !0 !== s.$q.platform.is.ie &amp;&amp; !0 !== s.$q.platform.is.edge || s.$nextTick(s.__onInput),
                            i &amp;&amp; s.refreshToolbar()
                    })
            },
            refreshToolbar: function () {
                var t = this;
                setTimeout(function () {
                    t.editLinkUrl = null,
                        t.$forceUpdate()
                }, 1)
            },
            focus: function () {
                void 0 !== this.$refs.content &amp;&amp; this.$refs.content.focus()
            },
            getContentEl: function () {
                return this.$refs.content
            },
            __setContent: function (t) {
                void 0 !== this.$refs.content &amp;&amp; (this.isViewingSource ? this.$refs.content.innerText = t : this.$refs.content.innerHTML = t)
            }
        },
        created: function () {
            !1 === i &amp;&amp; (document.execCommand("defaultParagraphSeparator", !1, "div"), this.defaultFont = window.getComputedStyle(document.body).fontFamily)
        },
        mounted: function () {
            this.caret = new Gn(this.$refs.content, this),
                this.__setContent(this.value),
                this.refreshToolbar()
        },
        render: function (t) {
            var e;
            if (this.hasToolbar) {
                var s = [];
                s.push(t("div", {
                    key: "qedt_top",
                    staticClass: "q-editor__toolbar row no-wrap scroll-x",
                    class: this.toolbarBackgroundClass
                }, Un(t, this))),
                    null !== this.editLinkUrl &amp;&amp; s.push(t("div", {
                        key: "qedt_btm",
                        staticClass: "q-editor__toolbar row no-wrap items-center scroll-x",
                        class: this.toolbarBackgroundClass
                    }, function (t, e, i) {
                        if (e.caret) {
                            var s = e.toolbarColor || e.toolbarTextColor,
                                n = e.editLinkUrl,
                                o = function () {
                                    e.caret.restore(),
                                        n !== e.editLinkUrl &amp;&amp; document.execCommand("createLink", !1, "" === n ? " " : n),
                                        e.editLinkUrl = null,
                                        !0 === i &amp;&amp; e.$nextTick(e.__onInput)
                                };
                            return [
                                t("div", {
                                    staticClass: "q-mx-xs",
                                    class: "text-" + s
                                }, [
                                    e.$q.lang.editor.url + ": "
                                ]),
                                t(Fn, {
                                    key: "qedt_btm_input",
                                    staticClass: "q-ma-none q-pa-none col q-editor-input",
                                    props: {
                                        value: n,
                                        color: s,
                                        autofocus: !0,
                                        borderless: !0,
                                        dense: !0
                                    },
                                    on: {
                                        input: function (t) {
                                            n = t
                                        },
                                        keydown: function (t) {
                                            if (!0 !== J(t))
                                                switch (t.keyCode) {
                                                    case 13:
                                                        return w(t), o();
                                                    case 27:
                                                        w(t),
                                                            e.caret.restore(),
                                                            e.editLinkUrl &amp;&amp; "https://" !== e.editLinkUrl || document.execCommand("unlink"),
                                                            e.editLinkUrl = null
                                                }
                                        }
                                    }
                                }),
                                Wn(t, [
                                    t(be, {
                                        key: "qedt_btm_rem",
                                        attrs: { tabindex: -1 },
                                        props: Object.assign({}, e.buttonProps, {
                                            label: e.$q.lang.label.remove,
                                            noCaps: !0
                                        }),
                                        on: {
                                            click: function () {
                                                e.caret.restore(),
                                                    document.execCommand("unlink"),
                                                    e.editLinkUrl = null,
                                                    !0 === i &amp;&amp; e.$nextTick(e.__onInput)
                                            }
                                        }
                                    }),
                                    t(be, {
                                        key: "qedt_btm_upd",
                                        props: Object.assign({}, e.buttonProps, {
                                            label: e.$q.lang.label.update,
                                            noCaps: !0
                                        }),
                                        on: { click: o }
                                    })
                                ])
                            ]
                        }
                    }(t, this, this.$q.platform.is.ie))),
                    e = t("div", {
                        key: "toolbar_ctainer",
                        staticClass: "q-editor__toolbars-container"
                    }, s)
            }
            var n = Object.assign({}, this.qListeners, {
                input: this.__onInput,
                keydown: this.__onKeydown,
                click: this.__onClick,
                blur: this.__onBlur,
                focus: this.__onFocus,
                mouseup: this.__onMouseup,
                keyup: this.__onKeyup,
                touchend: this.__onTouchend
            });
            return t("div", {
                style: { height: !0 === this.inFullscreen ? "100vh" : null },
                class: this.classes,
                attrs: this.attrs
            }, [
                e,
                t("div", {
                    ref: "content",
                    staticClass: "q-editor__content",
                    style: this.innerStyle,
                    class: this.innerClass,
                    attrs: {
                        contenteditable: this.editable,
                        placeholder: this.placeholder
                    },
                    domProps: i ? { innerHTML: this.value } : void 0,
                    on: n
                })
            ])
        }
    }),
        ro = t.extend({
            name: "QItemLabel",
            mixins: [
                Mt
            ],
            props: {
                overline: Boolean,
                caption: Boolean,
                header: Boolean,
                lines: [
                    Number,
                    String
                ]
            },
            computed: {
                classes: function () {
                    return {
                        "q-item__label--overline text-overline": this.overline,
                        "q-item__label--caption text-caption": this.caption,
                        "q-item__label--header": this.header,
                        ellipsis: 1 === parseInt(this.lines, 10)
                    }
                },
                style: function () {
                    if (void 0 !== this.lines &amp;&amp; parseInt(this.lines, 10) &gt; 1)
                        return {
                            overflow: "hidden",
                            display: "-webkit-box",
                            "-webkit-box-orient": "vertical",
                            "-webkit-line-clamp": this.lines
                        }
                }
            },
            render: function (t) {
                return t("div", {
                    staticClass: "q-item__label",
                    style: this.style,
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        ao = t.extend({
            name: "QSlideTransition",
            props: {
                appear: Boolean,
                duration: {
                    type: Number,
                    default: 300
                }
            },
            methods: {
                __begin: function (t, e, i) {
                    t.style.overflowY = "hidden",
                        void 0 !== e &amp;&amp; (t.style.height = e + "px"),
                        t.style.transition = "height " + this.duration + "ms cubic-bezier(.25, .8, .50, 1)",
                        this.animating = !0,
                        this.done = i
                },
                __end: function (t, e) {
                    t.style.overflowY = null,
                        t.style.height = null,
                        t.style.transition = null,
                        this.__cleanup(),
                        e !== this.lastEvent &amp;&amp; this.$emit(e)
                },
                __cleanup: function () {
                    this.done &amp;&amp; this.done(),
                        this.done = null,
                        this.animating = !1,
                        clearTimeout(this.timer),
                        clearTimeout(this.timerFallback),
                        void 0 !== this.el &amp;&amp; this.el.removeEventListener("transitionend", this.animListener),
                        this.animListener = null
                }
            },
            beforeDestroy: function () {
                this.animating &amp;&amp; this.__cleanup()
            },
            render: function (t) {
                var e = this;
                return t("transition", {
                    props: {
                        css: !1,
                        appear: this.appear
                    },
                    on: mt(this, "tr", {
                        enter: function (t, i) {
                            var s = 0;
                            e.el = t,
                                !0 === e.animating ? (e.__cleanup(), s = t.offsetHeight === t.scrollHeight ? 0 : void 0) : e.lastEvent = "hide",
                                e.__begin(t, s, i),
                                e.timer = setTimeout(function () {
                                    t.style.height = t.scrollHeight + "px",
                                        e.animListener = function (i) {
                                            Object(i) === i &amp;&amp; i.target !== t || e.__end(t, "show")
                                        },
                                        t.addEventListener("transitionend", e.animListener),
                                        e.timerFallback = setTimeout(e.animListener, 1.1 * e.duration)
                                }, 100)
                        },
                        leave: function (t, i) {
                            var s;
                            e.el = t,
                                !0 === e.animating ? e.__cleanup() : (e.lastEvent = "show", s = t.scrollHeight),
                                e.__begin(t, s, i),
                                e.timer = setTimeout(function () {
                                    t.style.height = 0,
                                        e.animListener = function (i) {
                                            Object(i) === i &amp;&amp; i.target !== t || e.__end(t, "hide")
                                        },
                                        t.addEventListener("transitionend", e.animListener),
                                        e.timerFallback = setTimeout(e.animListener, 1.1 * e.duration)
                                }, 100)
                        }
                    })
                }, Lt(this, "default"))
            }
        }),
        lo = {
            true: "inset",
            item: "item-inset",
            "item-thumbnail": "item-thumbnail-inset"
        },
        co = {
            xs: 2,
            sm: 4,
            md: 8,
            lg: 16,
            xl: 24
        },
        uo = t.extend({
            name: "QSeparator",
            mixins: [
                Dt,
                Mt
            ],
            props: {
                spaced: [
                    Boolean,
                    String
                ],
                inset: [
                    Boolean,
                    String
                ],
                vertical: Boolean,
                color: String,
                size: String
            },
            computed: {
                orientation: function () {
                    return !0 === this.vertical ? "vertical" : "horizontal"
                },
                classPrefix: function () {
                    return " q-separator--" + this.orientation
                },
                insetClass: function () {
                    return !1 !== this.inset ? this.classPrefix + "-" + lo[this.inset] : ""
                },
                classes: function () {
                    return "q-separator" + this.classPrefix + this.insetClass + (void 0 !== this.color ? " bg-" + this.color : "") + (!0 === this.isDark ? " q-separator--dark" : "")
                },
                style: function () {
                    var t = {};
                    if (void 0 !== this.size &amp;&amp; (t[!0 === this.vertical ? "width" : "height"] = this.size), !1 !== this.spaced) {
                        var e = !0 === this.spaced ? co.md + "px" : this.spaced in co ? co[this.spaced] + "px" : this.spaced,
                            i = !0 === this.vertical ? ["Left", "Right"] : ["Top", "Bottom"];
                        t["margin" + i[0]] = t["margin" + i[1]] = e
                    }
                    return t
                },
                attrs: function () {
                    return {
                        role: "separator",
                        "aria-orientation": this.orientation
                    }
                }
            },
            render: function (t) {
                return t("hr", {
                    staticClass: "q-separator",
                    class: this.classes,
                    style: this.style,
                    attrs: this.attrs,
                    on: Object.assign({}, this.qListeners)
                })
            }
        }),
        ho = "q:expansion-item:close",
        po = t.extend({
            name: "QExpansionItem",
            mixins: [
                Dt,
                Wt,
                Ce
            ],
            props: {
                icon: String,
                label: String,
                labelLines: [
                    Number,
                    String
                ],
                caption: String,
                captionLines: [
                    Number,
                    String
                ],
                dense: Boolean,
                expandIcon: String,
                expandedIcon: String,
                expandIconClass: [
                    Array,
                    String,
                    Object
                ],
                duration: Number,
                headerInsetLevel: Number,
                contentInsetLevel: Number,
                expandSeparator: Boolean,
                defaultOpened: Boolean,
                expandIconToggle: Boolean,
                switchToggleSide: Boolean,
                denseToggle: Boolean,
                group: String,
                popup: Boolean,
                headerStyle: [
                    Array,
                    String,
                    Object
                ],
                headerClass: [
                    Array,
                    String,
                    Object
                ]
            },
            data: function () {
                return { showing: void 0 !== this.value ? this.value : this.defaultOpened }
            },
            watch: {
                showing: function (t) {
                    !0 === t &amp;&amp; void 0 !== this.group &amp;&amp; this.$root.$emit(ho, this)
                },
                group: function (t, e) {
                    void 0 !== t &amp;&amp; void 0 === e ? this.$root.$on(ho, this.__eventHandler) : void 0 === t &amp;&amp; void 0 !== e &amp;&amp; this.$root.$off(ho, this.__eventHandler)
                }
            },
            computed: {
                classes: function () {
                    return "q-expansion-item--" + (!0 === this.showing ? "expanded" : "collapsed") + " q-expansion-item--" + (!0 === this.popup ? "popup" : "standard")
                },
                contentStyle: function () {
                    var t;
                    if (void 0 !== this.contentInsetLevel)
                        return (t = {})["padding" + (!0 === this.$q.lang.rtl ? "Right" : "Left")] = 56 * this.contentInsetLevel + "px", t
                },
                isClickable: function () {
                    return !0 === this.hasRouterLink || !0 !== this.expandIconToggle
                },
                expansionIcon: function () {
                    return void 0 !== this.expandedIcon &amp;&amp; !0 === this.showing ? this.expandedIcon : this.expandIcon || this.$q.iconSet.expansionItem[!0 === this.denseToggle ? "denseIcon" : "icon"]
                },
                activeToggleIcon: function () {
                    return !0 !== this.disable &amp;&amp; (!0 === this.hasRouterLink || !0 === this.expandIconToggle)
                }
            },
            methods: {
                __onHeaderClick: function (t) {
                    !0 !== this.hasRouterLink &amp;&amp; this.toggle(t),
                        this.$emit("click", t)
                },
                __toggleIconKeyboard: function (t) {
                    13 === t.keyCode &amp;&amp; this.__toggleIcon(t, !0)
                },
                __toggleIcon: function (t, e) {
                    !0 !== e &amp;&amp; void 0 !== this.$refs.blurTarget &amp;&amp; this.$refs.blurTarget.focus(),
                        this.toggle(t),
                        S(t)
                },
                __eventHandler: function (t) {
                    this !== t &amp;&amp; this.group === t.group &amp;&amp; this.hide()
                },
                __getToggleIcon: function (t) {
                    var e = {
                        staticClass: "q-focusable relative-position cursor-pointer" + (!0 === this.denseToggle &amp;&amp; !0 === this.switchToggleSide ? " items-end" : ""),
                        class: this.expandIconClass,
                        props: {
                            side: !0 !== this.switchToggleSide,
                            avatar: this.switchToggleSide
                        }
                    },
                        i = [
                            t(Et, {
                                staticClass: "q-expansion-item__toggle-icon",
                                class: void 0 === this.expandedIcon &amp;&amp; !0 === this.showing ? "q-expansion-item__toggle-icon--rotated" : void 0,
                                props: { name: this.expansionIcon }
                            })
                        ];
                    return !0 === this.activeToggleIcon &amp;&amp; (Object.assign(e, {
                        attrs: { tabindex: 0 },
                        on: mt(this, "inpExt", {
                            click: this.__toggleIcon,
                            keyup: this.__toggleIconKeyboard
                        })
                    }), i.unshift(t("div", {
                        ref: "blurTarget",
                        staticClass: "q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded",
                        attrs: { tabindex: -1 }
                    }))), t(Hn, e, i)
                },
                __getHeader: function (t) {
                    var e;
                    void 0 !== this.$scopedSlots.header ? e = this.$scopedSlots.header().slice() : (e = [
                        t(Hn, [
                            t(ro, { props: { lines: this.labelLines } }, [
                                this.label || ""
                            ]),
                            this.caption ? t(ro, {
                                props: {
                                    lines: this.captionLines,
                                    caption: !0
                                }
                            }, [
                                this.caption
                            ]) : null
                        ])
                    ], this.icon &amp;&amp; e[!0 === this.switchToggleSide ? "push" : "unshift"](t(Hn, {
                        props: {
                            side: !0 === this.switchToggleSide,
                            avatar: !0 !== this.switchToggleSide
                        }
                    }, [
                        t(Et, { props: { name: this.icon } })
                    ]))),
                        !0 !== this.disable &amp;&amp; e[!0 === this.switchToggleSide ? "unshift" : "push"](this.__getToggleIcon(t));
                    var i = {
                        ref: "item",
                        style: this.headerStyle,
                        class: this.headerClass,
                        props: {
                            dark: this.isDark,
                            disable: this.disable,
                            dense: this.dense,
                            insetLevel: this.headerInsetLevel
                        }
                    };
                    if (!0 === this.isClickable) {
                        var s = !0 === this.hasRouterLink ? "nativeOn" : "on";
                        i.props.clickable = !0,
                            i[s] = Object.assign({}, this.qListeners, { click: this.__onHeaderClick }),
                            !0 === this.hasRouterLink &amp;&amp; Object.assign(i.props, this.routerLinkProps)
                    }
                    return t(Nn, i, e)
                },
                __getContent: function (t) {
                    var e = this,
                        i = [
                            this.__getHeader(t),
                            t(ao, {
                                props: { duration: this.duration },
                                on: mt(this, "slide", {
                                    show: function () {
                                        e.$emit("after-show")
                                    },
                                    hide: function () {
                                        e.$emit("after-hide")
                                    }
                                })
                            }, [
                                t("div", {
                                    staticClass: "q-expansion-item__content relative-position",
                                    style: this.contentStyle,
                                    directives: [
                                        {
                                            name: "show",
                                            value: this.showing
                                        }
                                    ]
                                }, Lt(this, "default"))
                            ])
                        ];
                    return this.expandSeparator &amp;&amp; i.push(t(uo, {
                        staticClass: "q-expansion-item__border q-expansion-item__border--top absolute-top",
                        props: { dark: this.isDark }
                    }), t(uo, {
                        staticClass: "q-expansion-item__border q-expansion-item__border--bottom absolute-bottom",
                        props: { dark: this.isDark }
                    })), i
                }
            },
            render: function (t) {
                return t("div", {
                    staticClass: "q-expansion-item q-item-type",
                    class: this.classes
                }, [
                    t("div", { staticClass: "q-expansion-item__container relative-position" }, this.__getContent(t))
                ])
            },
            created: function () {
                void 0 !== this.group &amp;&amp; this.$root.$on(ho, this.__eventHandler)
            },
            beforeDestroy: function () {
                void 0 !== this.group &amp;&amp; this.$root.$off(ho, this.__eventHandler)
            }
        }),
        fo = ["top", "right", "bottom", "left"],
        mo = {
            props: {
                type: {
                    type: String,
                    default: "a"
                },
                outline: Boolean,
                push: Boolean,
                flat: Boolean,
                unelevated: Boolean,
                color: String,
                textColor: String,
                glossy: Boolean,
                square: Boolean,
                padding: String,
                label: {
                    type: [
                        String,
                        Number
                    ],
                    default: ""
                },
                labelPosition: {
                    type: String,
                    default: "right",
                    validator: function (t) {
                        return fo.includes(t)
                    }
                },
                externalLabel: Boolean,
                hideLabel: { type: Boolean },
                labelClass: [
                    Array,
                    String,
                    Object
                ],
                labelStyle: [
                    Array,
                    String,
                    Object
                ],
                disable: Boolean
            },
            computed: {
                formClass: function () {
                    return "q-fab--form-" + (!0 === this.square ? "square" : "rounded")
                },
                stacked: function () {
                    return !1 === this.externalLabel &amp;&amp; ["top", "bottom"].includes(this.labelPosition)
                },
                labelProps: function () {
                    if (!0 === this.externalLabel) {
                        var t = null === this.hideLabel ? !1 === this.showing : this.hideLabel;
                        return {
                            action: "push",
                            data: {
                                staticClass: "q-fab__label q-tooltip--style q-fab__label--external q-fab__label--external-" + this.labelPosition + (!0 === t ? " q-fab__label--external-hidden" : ""),
                                style: this.labelStyle,
                                class: this.labelClass
                            }
                        }
                    }
                    return {
                        action: ["left", "top"].includes(this.labelPosition) ? "unshift" : "push",
                        data: {
                            staticClass: "q-fab__label q-fab__label--internal q-fab__label--internal-" + this.labelPosition + (!0 === this.hideLabel ? " q-fab__label--internal-hidden" : ""),
                            style: this.labelStyle,
                            class: this.labelClass
                        }
                    }
                }
            }
        },
        vo = ["up", "right", "down", "left"],
        go = ["left", "center", "right"],
        _o = t.extend({
            name: "QFab",
            mixins: [
                mo,
                Ce
            ],
            provide: function () {
                var t = this;
                return {
                    __qFabClose: function (e) {
                        t.hide(e),
                            t.$refs.trigger &amp;&amp; t.$refs.trigger.$el &amp;&amp; t.$refs.trigger.$el.focus()
                    }
                }
            },
            props: {
                icon: String,
                activeIcon: String,
                hideIcon: Boolean,
                hideLabel: { default: null },
                direction: {
                    type: String,
                    default: "right",
                    validator: function (t) {
                        return vo.includes(t)
                    }
                },
                persistent: Boolean,
                verticalActionsAlign: {
                    type: String,
                    default: "center",
                    validator: function (t) {
                        return go.includes(t)
                    }
                }
            },
            data: function () {
                return { showing: !0 === this.value }
            },
            computed: {
                hideOnRouteChange: function () {
                    return !0 !== this.persistent
                },
                classes: function () {
                    return "q-fab--align-" + this.verticalActionsAlign + " " + this.formClass + (!0 === this.showing ? " q-fab--opened" : "")
                }
            },
            render: function (t) {
                var e = [];
                return !0 !== this.hideIcon &amp;&amp; e.push(t("div", { staticClass: "q-fab__icon-holder" }, [
                    t(Et, {
                        staticClass: "q-fab__icon absolute-full",
                        props: { name: this.icon || this.$q.iconSet.fab.icon }
                    }),
                    t(Et, {
                        staticClass: "q-fab__active-icon absolute-full",
                        props: { name: this.activeIcon || this.$q.iconSet.fab.activeIcon }
                    })
                ])), "" !== this.label &amp;&amp; e[this.labelProps.action](t("div", this.labelProps.data, [
                    this.label
                ])), t("div", {
                    staticClass: "q-fab z-fab row inline justify-center",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, [
                    t("div", {
                        staticClass: "q-fab__actions flex no-wrap inline",
                        class: "q-fab__actions--" + this.direction
                    }, Lt(this, "default")),
                    t(be, {
                        ref: "trigger",
                        class: this.formClass,
                        props: Object.assign({}, this.$props, {
                            noWrap: !0,
                            stack: this.stacked,
                            align: void 0,
                            icon: void 0,
                            label: void 0,
                            noCaps: !0,
                            fab: !0
                        }),
                        on: mt(this, "tog", { click: this.toggle })
                    }, Pt(e, this, "tooltip"))
                ])
            }
        }),
        bo = {
            start: "self-end",
            center: "self-center",
            end: "self-start"
        },
        yo = Object.keys(bo),
        wo = t.extend({
            name: "QFabAction",
            mixins: [
                Mt,
                mo
            ],
            props: {
                icon: {
                    type: String,
                    default: ""
                },
                anchor: {
                    type: String,
                    validator: function (t) {
                        return yo.includes(t)
                    }
                },
                to: [
                    String,
                    Object
                ],
                replace: Boolean
            },
            inject: {
                __qFabClose: {
                    default: function () {
                        console.error("QFabAction needs to be child of QFab")
                    }
                }
            },
            computed: {
                classes: function () {
                    var t = bo[this.anchor];
                    return this.formClass + (void 0 !== t ? " " + t : "")
                },
                onEvents: function () {
                    return Object.assign({}, this.qListeners, { click: this.click })
                }
            },
            methods: {
                click: function (t) {
                    this.__qFabClose(),
                        this.$emit("click", t)
                }
            },
            render: function (t) {
                var e = [];
                return "" !== this.icon &amp;&amp; e.push(t(Et, { props: { name: this.icon } })), "" !== this.label &amp;&amp; e[this.labelProps.action](t("div", this.labelProps.data, [
                    this.label
                ])), t(be, {
                    class: this.classes,
                    props: Object.assign({}, this.$props, {
                        noWrap: !0,
                        stack: this.stacked,
                        icon: void 0,
                        label: void 0,
                        noCaps: !0,
                        fabMini: !0
                    }),
                    on: this.onEvents
                }, Pt(e, this, "default"))
            }
        }),
        So = t.extend({
            name: "QFile",
            mixins: [
                kn,
                Tn,
                li,
                $n
            ],
            props: {
                value: !0 === i ? {} : [
                    File,
                    FileList,
                    Array
                ],
                append: Boolean,
                useChips: Boolean,
                displayValue: [
                    String,
                    Number
                ],
                tabindex: {
                    type: [
                        String,
                        Number
                    ],
                    default: 0
                },
                counterLabel: Function,
                inputClass: [
                    Array,
                    String,
                    Object
                ],
                inputStyle: [
                    Array,
                    String,
                    Object
                ]
            },
            data: function () {
                return { dnd: !1 }
            },
            computed: {
                innerValue: function () {
                    return Object(this.value) === this.value ? "length" in this.value ? Array.from(this.value) : [
                        this.value
                    ] : []
                },
                selectedString: function () {
                    return this.innerValue.map(function (t) {
                        return t.name
                    }).join(", ")
                },
                totalSize: function () {
                    return ct(this.innerValue.reduce(function (t, e) {
                        return t + e.size
                    }, 0))
                },
                counterProps: function () {
                    return {
                        totalSize: this.totalSize,
                        filesNumber: this.innerValue.length,
                        maxFiles: this.maxFiles
                    }
                },
                computedCounter: function () {
                    if (void 0 !== this.counterLabel)
                        return this.counterLabel(this.counterProps);
                    var t = this.maxFiles;
                    return this.innerValue.length + (void 0 !== t ? " / " + t : "") + " (" + this.totalSize + ")"
                },
                inputAttrs: function () {
                    return Object.assign({}, {
                        tabindex: -1,
                        type: "file",
                        title: "",
                        accept: this.accept,
                        capture: this.capture,
                        name: this.nameProp
                    }, this.qAttrs, {
                        id: this.targetUid,
                        disabled: !0 !== this.editable
                    })
                },
                isAppending: function () {
                    return !0 === this.multiple &amp;&amp; !0 === this.append
                }
            },
            methods: {
                removeAtIndex: function (t) {
                    var e = this.innerValue.slice();
                    e.splice(t, 1),
                        this.__emitValue(e)
                },
                removeFile: function (t) {
                    var e = this.innerValue.findIndex(t);
                    e &gt; -1 &amp;&amp; this.removeAtIndex(e)
                },
                __emitValue: function (t) {
                    this.$emit("input", !0 === this.multiple ? t : t[0])
                },
                __onKeyup: function (t) {
                    13 === t.keyCode &amp;&amp; this.pickFiles(t)
                },
                __getFileInput: function () {
                    return this.$refs.input
                },
                __addFiles: function (t, e) {
                    var i = this.__processFiles(t, e, this.innerValue, this.isAppending);
                    void 0 !== i &amp;&amp; this.__emitValue(!0 === this.isAppending ? this.innerValue.concat(i) : i)
                },
                __getControl: function (t) {
                    var e = {
                        ref: "target",
                        staticClass: "q-field__native row items-center cursor-pointer",
                        attrs: { tabindex: this.tabindex }
                    };
                    return !0 === this.editable &amp;&amp; (e.on = mt(this, "native", {
                        dragover: this.__onDragOver,
                        keyup: this.__onKeyup
                    })), t("div", e, [
                        this.__getInput(t)
                    ].concat(this.__getSelection(t)))
                },
                __getControlChild: function (t) {
                    return this.__getDnd(t, "file")
                },
                __getSelection: function (t) {
                    var e = this;
                    return void 0 !== this.$scopedSlots.file ? this.innerValue.map(function (t, i) {
                        return e.$scopedSlots.file({
                            index: i,
                            file: t,
                            ref: e
                        })
                    }) : void 0 !== this.$scopedSlots.selected ? this.$scopedSlots.selected({
                        files: this.innerValue,
                        ref: this
                    }) : !0 === this.useChips ? this.innerValue.map(function (i, s) {
                        return t(Pi, {
                            key: "file-" + s,
                            props: {
                                removable: e.editable,
                                dense: !0,
                                textColor: e.color,
                                tabindex: e.tabindex
                            },
                            on: mt(e, "rem#" + s, {
                                remove: function () {
                                    e.removeAtIndex(s)
                                }
                            })
                        }, [
                            t("span", {
                                staticClass: "ellipsis",
                                domProps: { textContent: i.name }
                            })
                        ])
                    }) : [
                        t("div", {
                            style: this.inputStyle,
                            class: this.inputClass,
                            domProps: { textContent: void 0 !== this.displayValue ? this.displayValue : this.selectedString }
                        })
                    ]
                },
                __getInput: function (t) {
                    var e = {
                        ref: "input",
                        staticClass: "q-field__input fit absolute-full cursor-pointer",
                        attrs: this.inputAttrs,
                        domProps: this.formDomProps,
                        on: mt(this, "input", { change: this.__addFiles })
                    };
                    return !0 === this.multiple &amp;&amp; (e.attrs.multiple = !0), t("input", e)
                }
            },
            created: function () {
                this.fieldClass = "q-file q-field--auto-height",
                    this.type = "file"
            }
        }),
        xo = t.extend({
            name: "QFooter",
            mixins: [
                Mt
            ],
            inject: {
                layout: {
                    default: function () {
                        console.error("QFooter needs to be child of QLayout")
                    }
                }
            },
            props: {
                value: {
                    type: Boolean,
                    default: !0
                },
                reveal: Boolean,
                bordered: Boolean,
                elevated: Boolean,
                heightHint: {
                    type: [
                        String,
                        Number
                    ],
                    default: 50
                }
            },
            data: function () {
                return {
                    size: parseInt(this.heightHint, 10),
                    revealed: !0,
                    windowHeight: n || this.layout.container ? 0 : window.innerHeight
                }
            },
            watch: {
                value: function (t) {
                    this.__update("space", t),
                        this.__updateLocal("revealed", !0),
                        this.layout.__animate()
                },
                offset: function (t) {
                    this.__update("offset", t)
                },
                reveal: function (t) {
                    !1 === t &amp;&amp; this.__updateLocal("revealed", this.value)
                },
                revealed: function (t) {
                    this.layout.__animate(),
                        this.$emit("reveal", t)
                },
                "layout.scroll": function () {
                    this.__updateRevealed()
                },
                "layout.height": function () {
                    this.__updateRevealed()
                },
                size: function () {
                    this.__updateRevealed()
                },
                "$q.screen.height": function (t) {
                    !0 !== this.layout.container &amp;&amp; this.__updateLocal("windowHeight", t)
                }
            },
            computed: {
                fixed: function () {
                    return !0 === this.reveal || this.layout.view.indexOf("F") &gt; -1 || !0 === this.layout.container
                },
                containerHeight: function () {
                    return !0 === this.layout.container ? this.layout.containerHeight : this.windowHeight
                },
                offset: function () {
                    if (!0 !== this.value)
                        return 0;
                    if (!0 === this.fixed)
                        return !0 === this.revealed ? this.size : 0;
                    var t = this.layout.scroll.position + this.containerHeight + this.size - this.layout.height;
                    return t &gt; 0 ? t : 0
                },
                hidden: function () {
                    return !0 !== this.value || !0 === this.fixed &amp;&amp; !0 !== this.revealed
                },
                revealOnFocus: function () {
                    return !0 === this.value &amp;&amp; !0 === this.hidden &amp;&amp; !0 === this.reveal
                },
                classes: function () {
                    return (!0 === this.fixed ? "fixed" : "absolute") + "-bottom" + (!0 === this.bordered ? " q-footer--bordered" : "") + (!0 === this.hidden ? " q-footer--hidden" : "") + (!0 !== this.value ? " q-layout--prevent-focus" : "") + (!0 !== this.value &amp;&amp; !0 !== this.fixed ? " hidden" : "")
                },
                style: function () {
                    var t = this.layout.rows.bottom,
                        e = {};
                    return "l" === t[0] &amp;&amp; !0 === this.layout.left.space &amp;&amp; (e[!0 === this.$q.lang.rtl ? "right" : "left"] = this.layout.left.size + "px"), "r" === t[2] &amp;&amp; !0 === this.layout.right.space &amp;&amp; (e[!0 === this.$q.lang.rtl ? "left" : "right"] = this.layout.right.size + "px"), e
                },
                onEvents: function () {
                    return Object.assign({}, this.qListeners, {
                        focusin: this.__onFocusin,
                        input: y
                    })
                }
            },
            render: function (t) {
                var e = Pt([
                    t(Zi, {
                        props: { debounce: 0 },
                        on: mt(this, "resize", { resize: this.__onResize })
                    })
                ], this, "default");
                return !0 === this.elevated &amp;&amp; e.push(t("div", { staticClass: "q-layout__shadow absolute-full overflow-hidden no-pointer-events" })), t("footer", {
                    staticClass: "q-footer q-layout__section--marginal",
                    class: this.classes,
                    style: this.style,
                    on: this.onEvents
                }, e)
            },
            created: function () {
                this.layout.instances.footer = this,
                    !0 === this.value &amp;&amp; this.__update("size", this.size),
                    this.__update("space", this.value),
                    this.__update("offset", this.offset)
            },
            beforeDestroy: function () {
                this.layout.instances.footer === this &amp;&amp; (this.layout.instances.footer = void 0, this.__update("size", 0), this.__update("offset", 0), this.__update("space", !1))
            },
            methods: {
                __onResize: function (t) {
                    var e = t.height;
                    this.__updateLocal("size", e),
                        this.__update("size", e)
                },
                __update: function (t, e) {
                    this.layout.footer[t] !== e &amp;&amp; (this.layout.footer[t] = e)
                },
                __updateLocal: function (t, e) {
                    this[t] !== e &amp;&amp; (this[t] = e)
                },
                __updateRevealed: function () {
                    if (!0 === this.reveal) {
                        var t = this.layout.scroll,
                            e = t.direction,
                            i = t.position,
                            s = t.inflexionPosition;
                        this.__updateLocal("revealed", "up" === e || i - s &lt; 100 || this.layout.height - this.containerHeight - i - this.size &lt; 300)
                    }
                },
                __onFocusin: function (t) {
                    !0 === this.revealOnFocus &amp;&amp; this.__updateLocal("revealed", !0),
                        this.$emit("focusin", t)
                }
            }
        }),
        Co = t.extend({
            name: "QForm",
            mixins: [
                Mt
            ],
            props: {
                autofocus: Boolean,
                noErrorFocus: Boolean,
                noResetFocus: Boolean,
                greedy: Boolean
            },
            computed: {
                onEvents: function () {
                    return Object.assign({}, this.qListeners, {
                        submit: this.submit,
                        reset: this.reset
                    })
                }
            },
            mounted: function () {
                this.validateIndex = 0,
                    !0 === this.autofocus &amp;&amp; this.focus()
            },
            methods: {
                validate: function (t) {
                    var e = this,
                        i = [],
                        s = "boolean" == typeof t ? t : !0 !== this.noErrorFocus;
                    this.validateIndex++;
                    for (var n = this.getValidationComponents(), o = function (t, i) {
                        e.$emit("validation-" + (!0 === t ? "success" : "error"), i)
                    }, r = function (t) {
                        var r = n[t],
                            a = r.validate();
                        if ("function" == typeof a.then)
                            i.push(a.then(function (t) {
                                return {
                                    valid: t,
                                    comp: r
                                }
                            }, function (t) {
                                return {
                                    valid: !1,
                                    comp: r,
                                    error: t
                                }
                            }));
                        else if (!0 !== a) {
                            if (!1 === e.greedy)
                                return o(!1, r), !0 === s &amp;&amp; "function" == typeof r.focus &amp;&amp; r.focus(), { v: Promise.resolve(!1) };
                            i.push({
                                valid: !1,
                                comp: r
                            })
                        }
                    }, a = 0; a &lt; n.length; a++) {
                        var l = r(a);
                        if (l)
                            return l.v
                    }
                    if (0 === i.length)
                        return o(!0), Promise.resolve(!0);
                    var c = this.validateIndex;
                    return Promise.all(i).then(function (t) {
                        if (c === e.validateIndex) {
                            var i = t.filter(function (t) {
                                return !0 !== t.valid
                            });
                            if (0 === i.length)
                                return o(!0), !0;
                            var n = i[0],
                                r = n.valid,
                                a = n.comp;
                            return o(!1, a), !0 === s &amp;&amp; !0 !== r &amp;&amp; "function" == typeof a.focus &amp;&amp; a.focus(), !1
                        }
                    })
                },
                resetValidation: function () {
                    this.validateIndex++,
                        this.getValidationComponents().forEach(function (t) {
                            t.resetValidation()
                        })
                },
                submit: function (t) {
                    var e = this;
                    void 0 !== t &amp;&amp; S(t),
                        this.validate().then(function (i) {
                            !0 === i &amp;&amp; (void 0 !== e.qListeners.submit ? e.$emit("submit", t) : void 0 !== t &amp;&amp; void 0 !== t.target &amp;&amp; "function" == typeof t.target.submit &amp;&amp; t.target.submit())
                        })
                },
                reset: function (t) {
                    var e = this;
                    void 0 !== t &amp;&amp; S(t),
                        this.$emit("reset"),
                        this.$nextTick(function () {
                            e.resetValidation(),
                                !0 === e.autofocus &amp;&amp; !0 !== e.noResetFocus &amp;&amp; e.focus()
                        })
                },
                focus: function () {
                    var t = this.$el.querySelector("[autofocus], [data-autofocus]") || Array.prototype.find.call(this.$el.querySelectorAll("[tabindex]"), function (t) {
                        return t.tabIndex &gt; -1
                    });
                    null !== t &amp;&amp; void 0 !== t &amp;&amp; t.focus()
                },
                getValidationComponents: function () {
                    return Array.prototype.map.call(this.$el.getElementsByClassName("q-validation-component"), function (t) {
                        return t.__vue__
                    }).filter(function (t) {
                        return void 0 !== t &amp;&amp; "function" == typeof t.validate
                    })
                }
            },
            render: function (t) {
                return t("form", {
                    staticClass: "q-form",
                    on: this.onEvents
                }, Lt(this, "default"))
            }
        }),
        ko = t.extend({
            name: "QHeader",
            mixins: [
                Mt
            ],
            inject: {
                layout: {
                    default: function () {
                        console.error("QHeader needs to be child of QLayout")
                    }
                }
            },
            props: {
                value: {
                    type: Boolean,
                    default: !0
                },
                reveal: Boolean,
                revealOffset: {
                    type: Number,
                    default: 250
                },
                bordered: Boolean,
                elevated: Boolean,
                heightHint: {
                    type: [
                        String,
                        Number
                    ],
                    default: 50
                }
            },
            data: function () {
                return {
                    size: parseInt(this.heightHint, 10),
                    revealed: !0
                }
            },
            watch: {
                value: function (t) {
                    this.__update("space", t),
                        this.__updateLocal("revealed", !0),
                        this.layout.__animate()
                },
                offset: function (t) {
                    this.__update("offset", t)
                },
                reveal: function (t) {
                    !1 === t &amp;&amp; this.__updateLocal("revealed", this.value)
                },
                revealed: function (t) {
                    this.layout.__animate(),
                        this.$emit("reveal", t)
                },
                "layout.scroll": function (t) {
                    !0 === this.reveal &amp;&amp; this.__updateLocal("revealed", "up" === t.direction || t.position &lt;= this.revealOffset || t.position - t.inflexionPosition &lt; 100)
                }
            },
            computed: {
                fixed: function () {
                    return !0 === this.reveal || this.layout.view.indexOf("H") &gt; -1 || !0 === this.layout.container
                },
                offset: function () {
                    if (!0 !== this.value)
                        return 0;
                    if (!0 === this.fixed)
                        return !0 === this.revealed ? this.size : 0;
                    var t = this.size - this.layout.scroll.position;
                    return t &gt; 0 ? t : 0
                },
                hidden: function () {
                    return !0 !== this.value || !0 === this.fixed &amp;&amp; !0 !== this.revealed
                },
                revealOnFocus: function () {
                    return !0 === this.value &amp;&amp; !0 === this.hidden &amp;&amp; !0 === this.reveal
                },
                classes: function () {
                    return (!0 === this.fixed ? "fixed" : "absolute") + "-top" + (!0 === this.bordered ? " q-header--bordered" : "") + (!0 === this.hidden ? " q-header--hidden" : "") + (!0 !== this.value ? " q-layout--prevent-focus" : "")
                },
                style: function () {
                    var t = this.layout.rows.top,
                        e = {};
                    return "l" === t[0] &amp;&amp; !0 === this.layout.left.space &amp;&amp; (e[!0 === this.$q.lang.rtl ? "right" : "left"] = this.layout.left.size + "px"), "r" === t[2] &amp;&amp; !0 === this.layout.right.space &amp;&amp; (e[!0 === this.$q.lang.rtl ? "left" : "right"] = this.layout.right.size + "px"), e
                },
                onEvents: function () {
                    return Object.assign({}, this.qListeners, {
                        focusin: this.__onFocusin,
                        input: y
                    })
                }
            },
            render: function (t) {
                var e = Bt(this, "default", []);
                return !0 === this.elevated &amp;&amp; e.push(t("div", { staticClass: "q-layout__shadow absolute-full overflow-hidden no-pointer-events" })), e.push(t(Zi, {
                    props: { debounce: 0 },
                    on: mt(this, "resize", { resize: this.__onResize })
                })), t("header", {
                    staticClass: "q-header q-layout__section--marginal",
                    class: this.classes,
                    style: this.style,
                    on: this.onEvents
                }, e)
            },
            created: function () {
                this.layout.instances.header = this,
                    !0 === this.value &amp;&amp; this.__update("size", this.size),
                    this.__update("space", this.value),
                    this.__update("offset", this.offset)
            },
            beforeDestroy: function () {
                this.layout.instances.header === this &amp;&amp; (this.layout.instances.header = void 0, this.__update("size", 0), this.__update("offset", 0), this.__update("space", !1))
            },
            methods: {
                __onResize: function (t) {
                    var e = t.height;
                    this.__updateLocal("size", e),
                        this.__update("size", e)
                },
                __update: function (t, e) {
                    this.layout.header[t] !== e &amp;&amp; (this.layout.header[t] = e)
                },
                __updateLocal: function (t, e) {
                    this[t] !== e &amp;&amp; (this[t] = e)
                },
                __onFocusin: function (t) {
                    !0 === this.revealOnFocus &amp;&amp; this.__updateLocal("revealed", !0),
                        this.$emit("focusin", t)
                }
            }
        }),
        qo = {
            props: {
                ratio: [
                    String,
                    Number
                ]
            },
            computed: {
                ratioStyle: function () {
                    var t = this.ratio || this.naturalRatio;
                    if (void 0 !== t)
                        return { paddingBottom: 100 / t + "%" }
                }
            }
        },
        To = t.extend({
            name: "QImg",
            mixins: [
                Mt,
                qo
            ],
            props: {
                src: String,
                srcset: String,
                sizes: String,
                alt: String,
                width: String,
                height: String,
                placeholderSrc: String,
                basic: Boolean,
                contain: Boolean,
                position: {
                    type: String,
                    default: "50% 50%"
                },
                transition: {
                    type: String,
                    default: "fade"
                },
                imgClass: [
                    Array,
                    String,
                    Object
                ],
                imgStyle: Object,
                nativeContextMenu: Boolean,
                noDefaultSpinner: Boolean,
                spinnerColor: String,
                spinnerSize: String
            },
            data: function () {
                return {
                    currentSrc: "",
                    image: null,
                    isLoading: !!this.src,
                    hasError: !1,
                    naturalRatio: void 0
                }
            },
            watch: {
                src: function () {
                    this.__load()
                },
                srcset: function (t) {
                    this.__updateWatcher(t)
                }
            },
            computed: {
                url: function () {
                    return this.currentSrc || this.placeholderSrc || void 0
                },
                attrs: function () {
                    var t = { role: "img" };
                    return void 0 !== this.alt &amp;&amp; (t["aria-label"] = this.alt), t
                },
                imgContainerStyle: function () {
                    return Object.assign({
                        backgroundSize: !0 === this.contain ? "contain" : "cover",
                        backgroundPosition: this.position
                    }, this.imgStyle, { backgroundImage: 'url("' + this.url + '")' })
                },
                style: function () {
                    return {
                        width: this.width,
                        height: this.height
                    }
                },
                classes: function () {
                    return "q-img overflow-hidden" + (!0 === this.nativeContextMenu ? " q-img--menu" : "")
                }
            },
            methods: {
                __onLoad: function (t) {
                    this.isLoading = !1,
                        this.hasError = !1,
                        this.__computeRatio(t),
                        this.__updateSrc(),
                        this.__updateWatcher(this.srcset),
                        this.$emit("load", this.currentSrc)
                },
                __onError: function (t) {
                    clearTimeout(this.ratioTimer),
                        this.isLoading = !1,
                        this.hasError = !0,
                        this.currentSrc = "",
                        this.$emit("error", t)
                },
                __updateSrc: function () {
                    if (void 0 !== this.image &amp;&amp; !1 === this.isLoading) {
                        var t = this.image.currentSrc || this.image.src;
                        this.currentSrc !== t &amp;&amp; (this.currentSrc = t)
                    }
                },
                __updateWatcher: function (t) {
                    t ? void 0 === this.unwatch &amp;&amp; (this.unwatch = this.$watch("$q.screen.width", this.__updateSrc)) : void 0 !== this.unwatch &amp;&amp; (this.unwatch(), this.unwatch = void 0)
                },
                __load: function () {
                    var t = this;
                    if (clearTimeout(this.ratioTimer), this.hasError = !1, !this.src)
                        return this.isLoading = !1, this.image = void 0, void (this.currentSrc = "");
                    this.isLoading = !0;
                    var e = new Image;
                    this.image = e,
                        e.onerror = function (i) {
                            t.image === e &amp;&amp; !0 !== t.destroyed &amp;&amp; t.__onError(i)
                        },
                        e.onload = function () {
                            !0 !== t.destroyed &amp;&amp; t.image === e &amp;&amp; (void 0 !== e.decode ? e.decode().catch(function (i) {
                                t.image === e &amp;&amp; !0 !== t.destroyed &amp;&amp; t.__onError(i)
                            }).then(function () {
                                t.image === e &amp;&amp; !0 !== t.destroyed &amp;&amp; t.__onLoad(e)
                            }) : t.__onLoad(e))
                        },
                        e.src = this.src,
                        this.srcset &amp;&amp; (e.srcset = this.srcset),
                        void 0 !== this.sizes ? e.sizes = this.sizes : Object.assign(e, {
                            height: this.height,
                            width: this.width
                        })
                },
                __computeRatio: function (t) {
                    var e = this,
                        i = t.naturalHeight,
                        s = t.naturalWidth;
                    i || s ? this.naturalRatio = 0 === i ? 1 : s / i : this.ratioTimer = setTimeout(function () {
                        e.image === t &amp;&amp; !0 !== e.destroyed &amp;&amp; e.__computeRatio(t)
                    }, 100)
                },
                __getImage: function (t) {
                    var e = !0 === this.nativeContextMenu ? [
                        t("img", {
                            staticClass: "absolute-full fit",
                            attrs: {
                                src: this.url,
                                "aria-hidden": "true"
                            }
                        })
                    ] : void 0,
                        i = void 0 !== this.url ? t("div", {
                            key: this.url,
                            staticClass: "q-img__image absolute-full",
                            class: this.imgClass,
                            style: this.imgContainerStyle
                        }, e) : null;
                    return !0 === this.basic ? i : t("transition", { props: { name: "q-transition--" + this.transition } }, [
                        i
                    ])
                },
                __getContent: function (t) {
                    var e = Lt(this, !0 === this.hasError ? "error" : "default");
                    return !0 === this.basic ? t("div", {
                        key: "content",
                        staticClass: "q-img__content absolute-full"
                    }, e) : t("transition", { props: { name: "q-transition--fade" } }, [
                        !0 === this.isLoading ? t("div", {
                            key: "placeholder",
                            staticClass: "q-img__loading absolute-full flex flex-center"
                        }, void 0 !== this.$scopedSlots.loading ? this.$scopedSlots.loading() : !1 === this.noDefaultSpinner ? [
                            t(Kt, {
                                props: {
                                    color: this.spinnerColor,
                                    size: this.spinnerSize
                                }
                            })
                        ] : void 0) : t("div", {
                            key: "content",
                            staticClass: "q-img__content absolute-full"
                        }, e)
                    ])
                }
            },
            render: function (t) {
                return t("div", {
                    class: this.classes,
                    style: this.style,
                    attrs: this.attrs,
                    on: Object.assign({}, this.qListeners)
                }, [
                    t("div", { style: this.ratioStyle }),
                    this.__getImage(t),
                    this.__getContent(t)
                ])
            },
            beforeMount: function () {
                if (void 0 !== this.placeholderSrc &amp;&amp; void 0 === this.ratio) {
                    var t = new Image;
                    t.src = this.placeholderSrc,
                        this.__computeRatio(t)
                }
                !0 === this.isLoading &amp;&amp; this.__load()
            },
            beforeDestroy: function () {
                this.destroyed = !0,
                    clearTimeout(this.ratioTimer),
                    void 0 !== this.unwatch &amp;&amp; this.unwatch()
            }
        }),
        $o = t.extend({
            name: "QInfiniteScroll",
            mixins: [
                Mt
            ],
            props: {
                offset: {
                    type: Number,
                    default: 500
                },
                debounce: {
                    type: [
                        String,
                        Number
                    ],
                    default: 100
                },
                scrollTarget: { default: void 0 },
                disable: Boolean,
                reverse: Boolean
            },
            data: function () {
                return {
                    index: 0,
                    fetching: !1,
                    working: !0
                }
            },
            watch: {
                disable: function (t) {
                    !0 === t ? this.stop() : this.resume()
                },
                scrollTarget: function () {
                    this.updateScrollTarget()
                },
                debounce: function (t) {
                    this.__setDebounce(t)
                }
            },
            methods: {
                poll: function () {
                    if (!0 !== this.disable &amp;&amp; !0 !== this.fetching &amp;&amp; !1 !== this.working) {
                        var t = Re(this.__scrollTarget),
                            e = Ie(this.__scrollTarget),
                            i = Gt(this.__scrollTarget);
                        !1 === this.reverse ? e + i + this.offset &gt;= t &amp;&amp; this.trigger() : e &lt; this.offset &amp;&amp; this.trigger()
                    }
                },
                trigger: function () {
                    var t = this;
                    if (!0 !== this.disable &amp;&amp; !0 !== this.fetching &amp;&amp; !1 !== this.working) {
                        this.index++,
                            this.fetching = !0;
                        var e = Re(this.__scrollTarget);
                        this.$emit("load", this.index, function (i) {
                            !0 === t.working &amp;&amp; (t.fetching = !1, t.$nextTick(function () {
                                if (!0 === t.reverse) {
                                    var s = Re(t.__scrollTarget),
                                        n = Ie(t.__scrollTarget),
                                        o = s - e;
                                    Qe(t.__scrollTarget, n + o)
                                }
                                !0 === i ? t.stop() : t.$el.closest("body") &amp;&amp; t.poll()
                            }))
                        })
                    }
                },
                reset: function () {
                    this.index = 0
                },
                resume: function () {
                    !1 === this.working &amp;&amp; (this.working = !0, this.__scrollTarget.addEventListener("scroll", this.poll, d.passive)),
                        this.immediatePoll()
                },
                stop: function () {
                    !0 === this.working &amp;&amp; (this.working = !1, this.fetching = !1, this.__scrollTarget.removeEventListener("scroll", this.poll, d.passive))
                },
                updateScrollTarget: function () {
                    this.__scrollTarget &amp;&amp; !0 === this.working &amp;&amp; this.__scrollTarget.removeEventListener("scroll", this.poll, d.passive),
                        this.__scrollTarget = De(this.$el, this.scrollTarget),
                        !0 === this.working &amp;&amp; this.__scrollTarget.addEventListener("scroll", this.poll, d.passive)
                },
                __setDebounce: function (t) {
                    t = parseInt(t, 10),
                        this.poll = t &lt;= 0 ? this.immediatePoll : $(this.immediatePoll, !0 === isNaN(t) ? 100 : t)
                }
            },
            mounted: function () {
                if (this.immediatePoll = this.poll, this.__setDebounce(this.debounce), this.updateScrollTarget(), this.immediatePoll(), !0 === this.reverse) {
                    var t = Re(this.__scrollTarget),
                        e = Gt(this.__scrollTarget);
                    Qe(this.__scrollTarget, t - e)
                }
            },
            beforeDestroy: function () {
                !0 === this.working &amp;&amp; this.__scrollTarget.removeEventListener("scroll", this.poll, d.passive)
            },
            render: function (t) {
                var e = Bt(this, "default", []);
                return !0 !== this.disable &amp;&amp; !0 === this.working &amp;&amp; e[!1 === this.reverse ? "push" : "unshift"](t("div", {
                    staticClass: "q-infinite-scroll__loading",
                    class: !0 === this.fetching ? "" : "invisible"
                }, Lt(this, "loading"))), t("div", {
                    staticClass: "q-infinite-scroll",
                    on: Object.assign({}, this.qListeners)
                }, e)
            }
        }),
        Mo = t.extend({
            name: "QInnerLoading",
            mixins: [
                Mt,
                Dt,
                $e
            ],
            props: {
                showing: Boolean,
                color: String,
                size: {
                    type: [
                        String,
                        Number
                    ],
                    default: 42
                }
            },
            render: function (t) {
                var e = !0 === this.showing ? [
                    t("div", {
                        staticClass: "q-inner-loading absolute-full column flex-center",
                        class: !0 === this.isDark ? "q-inner-loading--dark" : null,
                        on: Object.assign({}, this.qListeners)
                    }, void 0 !== this.$scopedSlots.default ? this.$scopedSlots.default() : [
                        t(Kt, {
                            props: {
                                size: this.size,
                                color: this.color
                            }
                        })
                    ])
                ] : void 0;
                return t("transition", {
                    props: {
                        name: this.transition,
                        appear: !0
                    }
                }, e)
            }
        }),
        Lo = {
            threshold: 0,
            root: null,
            rootMargin: "0px"
        };
    function Bo(t, e, i) {
        var s,
            n,
            o,
            r = i.modifiers,
            a = i.value;
        e.once = r.once,
            "function" == typeof a ? (s = a, n = Lo, o = void 0 === e.cfg) : (s = a.handler, n = Object.assign({}, Lo, a.cfg), o = void 0 === e.cfg || !1 === wi(e.cfg, n)),
            e.handler !== s &amp;&amp; (e.handler = s),
            !0 === o &amp;&amp; (e.cfg = n, void 0 !== e.observer &amp;&amp; e.observer.unobserve(t), e.observer = new IntersectionObserver(function (i) {
                var s = i[0];
                if ("function" == typeof e.handler) {
                    if (null === s.rootBounds &amp;&amp; (void 0 !== t.__vue__ ? !0 !== t.__vue__._inactive : !0 === document.body.contains(t)))
                        return e.observer.unobserve(t), void e.observer.observe(t);
                    (!1 === e.handler(s, e.observer) || !0 === e.once &amp;&amp; !0 === s.isIntersecting) &amp;&amp; Po(t)
                }
            }, n), e.observer.observe(t))
    }
    function Po(t) {
        var e = t.__qvisible;
        void 0 !== e &amp;&amp; (void 0 !== e.observer &amp;&amp; e.observer.unobserve(t), delete t.__qvisible)
    }
    var Oo = {
        name: "intersection",
        inserted: function (t, e) {
            var i = {};
            Bo(t, i, e),
                t.__qvisible = i
        },
        update: function (t, e) {
            var i = t.__qvisible;
            void 0 !== i &amp;&amp; Bo(t, i, e)
        },
        unbind: Po
    },
        Eo = t.extend({
            name: "QIntersection",
            mixins: [
                $t,
                Mt
            ],
            directives: { Intersection: Oo },
            props: {
                once: Boolean,
                transition: String,
                ssrPrerender: Boolean,
                margin: String,
                threshold: [
                    Number,
                    Array
                ],
                disable: Boolean
            },
            data: function () {
                return { showing: !0 === n &amp;&amp; this.ssrPrerender }
            },
            computed: {
                value: function () {
                    return void 0 !== this.margin || void 0 !== this.threshold ? {
                        handler: this.__trigger,
                        cfg: {
                            rootMargin: this.margin,
                            threshold: this.threshold
                        }
                    } : this.__trigger
                },
                directives: function () {
                    if (!0 !== this.disable &amp;&amp; (!0 !== n || !0 !== this.once || !0 !== this.ssrPrerender))
                        return [
                            {
                                name: "intersection",
                                value: this.value,
                                modifiers: { once: this.once }
                            }
                        ]
                }
            },
            methods: {
                __trigger: function (t) {
                    this.showing !== t.isIntersecting &amp;&amp; (this.showing = t.isIntersecting, void 0 !== this.qListeners.visibility &amp;&amp; this.$emit("visibility", this.showing))
                }
            },
            render: function (t) {
                var e = !0 === this.showing ? [
                    t("div", { key: "content" }, Lt(this, "default"))
                ] : void 0;
                return t(this.tag, {
                    staticClass: "q-intersection",
                    on: Object.assign({}, this.qListeners),
                    directives: this.directives
                }, this.transition ? [
                    t("transition", { props: { name: "q-transition--" + this.transition } }, e)
                ] : e)
            }
        }),
        zo = [34, 37, 40, 33, 39, 38],
        Ao = t.extend({
            name: "QKnob",
            mixins: [
                { props: zi.options.props },
                ai
            ],
            directives: { TouchPan: Qi },
            props: {
                step: {
                    type: Number,
                    default: 1,
                    validator: function (t) {
                        return t &gt;= 0
                    }
                },
                tabindex: {
                    type: [
                        Number,
                        String
                    ],
                    default: 0
                },
                disable: Boolean,
                readonly: Boolean
            },
            data: function () {
                return {
                    model: this.value,
                    dragging: !1
                }
            },
            watch: {
                value: function (t) {
                    if (t &lt; this.min)
                        this.model = this.min;
                    else {
                        if (!(t &gt; this.max))
                            return void (t !== this.model &amp;&amp; (this.model = t));
                        this.model = this.max
                    }
                    this.model !== this.value &amp;&amp; (this.$emit("input", this.model), this.$emit("change", this.model))
                }
            },
            computed: {
                classes: function () {
                    return "q-knob non-selectable" + (!0 === this.editable ? " q-knob--editable" : !0 === this.disable ? " disabled" : "")
                },
                editable: function () {
                    return !1 === this.disable &amp;&amp; !1 === this.readonly
                },
                decimals: function () {
                    return (String(this.step).trim("0").split(".")[1] || "").length
                },
                computedStep: function () {
                    return 0 === this.step ? 1 : this.step
                },
                computedInstantFeedback: function () {
                    return !0 === this.instantFeedback || !0 === this.dragging
                },
                onEvents: function () {
                    return !0 === this.$q.platform.is.mobile ? { click: this.__click } : {
                        mousedown: this.__activate,
                        click: this.__click,
                        keydown: this.__keydown,
                        keyup: this.__keyup
                    }
                },
                attrs: function () {
                    var t = {
                        role: "slider",
                        "aria-valuemin": this.min,
                        "aria-valuemax": this.max,
                        "aria-valuenow": this.value
                    };
                    return !0 === this.editable ? t.tabindex = this.tabindex : t["aria-" + (!0 === this.disable ? "disabled" : "readonly")] = "", t
                }
            },
            methods: {
                __updateCenterPosition: function () {
                    var t = this.$el.getBoundingClientRect(),
                        e = t.top,
                        i = t.left,
                        s = t.width,
                        n = t.height;
                    this.centerPosition = {
                        top: e + n / 2,
                        left: i + s / 2
                    }
                },
                __pan: function (t) {
                    t.isFinal ? (this.__updatePosition(t.evt, !0), this.dragging = !1) : t.isFirst ? (this.__updateCenterPosition(), this.dragging = !0, this.__updatePosition(t.evt)) : this.__updatePosition(t.evt)
                },
                __click: function (t) {
                    this.__updateCenterPosition(),
                        this.__updatePosition(t, !0)
                },
                __keydown: function (t) {
                    if (zo.includes(t.keyCode)) {
                        S(t);
                        var e = ([34, 33].includes(t.keyCode) ? 10 : 1) * this.computedStep,
                            i = [34, 37, 40].includes(t.keyCode) ? -e : e;
                        this.model = ht(parseFloat((this.model + i).toFixed(this.decimals)), this.min, this.max),
                            this.__updateValue()
                    }
                },
                __keyup: function (t) {
                    zo.includes(t.keyCode) &amp;&amp; this.__updateValue(!0)
                },
                __activate: function (t) {
                    this.__updateCenterPosition(),
                        this.__updatePosition(t)
                },
                __updatePosition: function (t, e) {
                    var i = this.centerPosition,
                        s = v(t),
                        n = Math.abs(s.top - i.top),
                        o = Math.sqrt(Math.pow(n, 2) + Math.pow(Math.abs(s.left - i.left), 2)),
                        r = Math.asin(n / o) * (180 / Math.PI);
                    r = s.top &lt; i.top ? i.left &lt; s.left ? 90 - r : 270 + r : i.left &lt; s.left ? r + 90 : 270 - r,
                        this.angle &amp;&amp; (r = dt(r - this.angle, 0, 360)),
                        !0 === this.$q.lang.rtl &amp;&amp; (r = 360 - r);
                    var a = this.min + r / 360 * (this.max - this.min);
                    if (0 !== this.step) {
                        var l = this.computedStep,
                            c = a % l;
                        a = a - c + (Math.abs(c) &gt;= l / 2 ? (c &lt; 0 ? -1 : 1) * l : 0),
                            a = parseFloat(a.toFixed(this.decimals))
                    }
                    a = ht(a, this.min, this.max),
                        this.$emit("drag-value", a),
                        this.model !== a &amp;&amp; (this.model = a),
                        this.__updateValue(e)
                },
                __updateValue: function (t) {
                    this.value !== this.model &amp;&amp; this.$emit("input", this.model),
                        !0 === t &amp;&amp; this.$emit("change", this.model)
                },
                __getNameInput: function () {
                    return this.$createElement("input", { attrs: this.formAttrs })
                }
            },
            render: function (t) {
                var e = {
                    class: this.classes,
                    attrs: this.attrs,
                    props: Object.assign({}, this.$props, {
                        value: this.model,
                        instantFeedback: this.computedInstantFeedback
                    })
                };
                return !0 === this.editable &amp;&amp; (e.on = this.onEvents, e.directives = mt(this, "dir", [
                    {
                        name: "touch-pan",
                        value: this.__pan,
                        modifiers: {
                            prevent: !0,
                            stop: !0,
                            mouse: !0
                        }
                    }
                ]), void 0 !== this.name &amp;&amp; (e.scopedSlots = { internal: this.__getNameInput })), t(zi, e, Lt(this, "default"))
            }
        }),
        Do = d.passive,
        Ro = t.extend({
            name: "QScrollObserver",
            props: {
                debounce: [
                    String,
                    Number
                ],
                horizontal: Boolean,
                scrollTarget: { default: void 0 }
            },
            render: f,
            data: function () {
                return {
                    pos: 0,
                    dir: !0 === this.horizontal ? "right" : "down",
                    dirChanged: !1,
                    dirChangePos: 0
                }
            },
            watch: {
                scrollTarget: function () {
                    this.__unconfigureScrollTarget(),
                        this.__configureScrollTarget()
                }
            },
            methods: {
                getPosition: function () {
                    return {
                        position: this.pos,
                        direction: this.dir,
                        directionChanged: this.dirChanged,
                        inflexionPosition: this.dirChangePos
                    }
                },
                trigger: function (t) {
                    !0 === t || 0 === this.debounce || "0" === this.debounce ? this.__emit() : this.timer || (this.timer = this.debounce ? setTimeout(this.__emit, this.debounce) : requestAnimationFrame(this.__emit))
                },
                __emit: function () {
                    var t = !0 === this.horizontal ? Fe : Ie,
                        e = Math.max(0, t(this.__scrollTarget)),
                        i = e - this.pos,
                        s = !0 === this.horizontal ? i &lt; 0 ? "left" : "right" : i &lt; 0 ? "up" : "down";
                    this.dirChanged = this.dir !== s,
                        this.dirChanged &amp;&amp; (this.dir = s, this.dirChangePos = this.pos),
                        this.timer = null,
                        this.pos = e,
                        this.$emit("scroll", this.getPosition())
                },
                __configureScrollTarget: function () {
                    this.__scrollTarget = De(this.$el.parentNode, this.scrollTarget),
                        this.__scrollTarget.addEventListener("scroll", this.trigger, Do),
                        this.trigger(!0)
                },
                __unconfigureScrollTarget: function () {
                    void 0 !== this.__scrollTarget &amp;&amp; (this.__scrollTarget.removeEventListener("scroll", this.trigger, Do), this.__scrollTarget = void 0)
                }
            },
            mounted: function () {
                this.__configureScrollTarget()
            },
            beforeDestroy: function () {
                clearTimeout(this.timer),
                    cancelAnimationFrame(this.timer),
                    this.__unconfigureScrollTarget()
            }
        }),
        Io = t.extend({
            name: "QLayout",
            mixins: [
                Mt
            ],
            provide: function () {
                return { layout: this }
            },
            props: {
                container: Boolean,
                view: {
                    type: String,
                    default: "hhh lpr fff",
                    validator: function (t) {
                        return /^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(t.toLowerCase())
                    }
                }
            },
            data: function () {
                return {
                    height: this.$q.screen.height,
                    width: !0 === this.container ? 0 : this.$q.screen.width,
                    containerHeight: 0,
                    scrollbarWidth: !0 === n ? 0 : Ye(),
                    header: {
                        size: 0,
                        offset: 0,
                        space: !1
                    },
                    right: {
                        size: 300,
                        offset: 0,
                        space: !1
                    },
                    footer: {
                        size: 0,
                        offset: 0,
                        space: !1
                    },
                    left: {
                        size: 300,
                        offset: 0,
                        space: !1
                    },
                    scroll: {
                        position: 0,
                        direction: "down"
                    }
                }
            },
            computed: {
                rows: function () {
                    var t = this.view.toLowerCase().split(" ");
                    return {
                        top: t[0].split(""),
                        middle: t[1].split(""),
                        bottom: t[2].split("")
                    }
                },
                style: function () {
                    return !0 === this.container ? null : { minHeight: this.$q.screen.height + "px" }
                },
                targetStyle: function () {
                    var t;
                    if (0 !== this.scrollbarWidth)
                        return (t = {})[!0 === this.$q.lang.rtl ? "left" : "right"] = this.scrollbarWidth + "px", t
                },
                targetChildStyle: function () {
                    var t;
                    if (0 !== this.scrollbarWidth)
                        return (t = {})[!0 === this.$q.lang.rtl ? "right" : "left"] = 0, t[!0 === this.$q.lang.rtl ? "left" : "right"] = "-" + this.scrollbarWidth + "px", t.width = "calc(100% + " + this.scrollbarWidth + "px)", t
                },
                totalWidth: function () {
                    return this.width + this.scrollbarWidth
                },
                classes: function () {
                    return "q-layout q-layout--" + (!0 === this.container ? "containerized" : "standard")
                }
            },
            created: function () {
                this.instances = {}
            },
            render: function (t) {
                var e = t("div", {
                    class: this.classes,
                    style: this.style,
                    on: Object.assign({}, this.qListeners)
                }, Pt([
                    t(Ro, { on: mt(this, "scroll", { scroll: this.__onPageScroll }) }),
                    t(Zi, { on: mt(this, "resizeOut", { resize: this.__onPageResize }) })
                ], this, "default"));
                return !0 === this.container ? t("div", { staticClass: "q-layout-container overflow-hidden" }, [
                    t(Zi, { on: mt(this, "resizeIn", { resize: this.__onContainerResize }) }),
                    t("div", {
                        staticClass: "absolute-full",
                        style: this.targetStyle
                    }, [
                        t("div", {
                            staticClass: "scroll",
                            style: this.targetChildStyle
                        }, [
                            e
                        ])
                    ])
                ]) : e
            },
            methods: {
                __animate: function () {
                    var t = this;
                    void 0 !== this.timer ? clearTimeout(this.timer) : document.body.classList.add("q-body--layout-animate"),
                        this.timer = setTimeout(function () {
                            document.body.classList.remove("q-body--layout-animate"),
                                t.timer = void 0
                        }, 150)
                },
                __onPageScroll: function (t) {
                    !0 !== this.container &amp;&amp; !0 === document.qScrollPrevented || (this.scroll = t),
                        void 0 !== this.qListeners.scroll &amp;&amp; this.$emit("scroll", t)
                },
                __onPageResize: function (t) {
                    var e = t.height,
                        i = t.width,
                        s = !1;
                    this.height !== e &amp;&amp; (s = !0, this.height = e, void 0 !== this.qListeners["scroll-height"] &amp;&amp; this.$emit("scroll-height", e), this.__updateScrollbarWidth()),
                        this.width !== i &amp;&amp; (s = !0, this.width = i),
                        !0 === s &amp;&amp; void 0 !== this.qListeners.resize &amp;&amp; this.$emit("resize", {
                            height: e,
                            width: i
                        })
                },
                __onContainerResize: function (t) {
                    var e = t.height;
                    this.containerHeight !== e &amp;&amp; (this.containerHeight = e, this.__updateScrollbarWidth())
                },
                __updateScrollbarWidth: function () {
                    if (!0 === this.container) {
                        var t = this.height &gt; this.containerHeight ? Ye() : 0;
                        this.scrollbarWidth !== t &amp;&amp; (this.scrollbarWidth = t)
                    }
                }
            }
        }),
        Fo = t.extend({
            name: "QMarkupTable",
            mixins: [
                Dt,
                Mt
            ],
            props: {
                dense: Boolean,
                flat: Boolean,
                bordered: Boolean,
                square: Boolean,
                separator: {
                    type: String,
                    default: "horizontal",
                    validator: function (t) {
                        return ["horizontal", "vertical", "cell", "none"].includes(t)
                    }
                },
                wrapCells: Boolean
            },
            computed: {
                classes: function () {
                    return "q-table--" + this.separator + "-separator" + (!0 === this.isDark ? " q-table--dark q-table__card--dark q-dark" : "") + (!0 === this.dense ? " q-table--dense" : "") + (!0 === this.flat ? " q-table--flat" : "") + (!0 === this.bordered ? " q-table--bordered" : "") + (!0 === this.square ? " q-table--square" : "") + (!1 === this.wrapCells ? " q-table--no-wrap" : "")
                }
            },
            render: function (t) {
                return t("div", {
                    staticClass: "q-markup-table q-table__container q-table__card",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, [
                    t("table", { staticClass: "q-table" }, Lt(this, "default"))
                ])
            }
        }),
        jo = t.extend({
            name: "QNoSsr",
            mixins: [
                Gi,
                $t,
                Mt
            ],
            props: { placeholder: String },
            render: function (t) {
                var e = { on: Object.assign({}, this.qListeners) };
                if (!0 === this.canRender) {
                    var i = Lt(this, "default");
                    return void 0 === i ? i : i.length &gt; 1 ? t(this.tag, e, i) : i[0]
                }
                e.staticClass = "q-no-ssr-placeholder";
                var s = Lt(this, "placeholder");
                return void 0 !== s ? s.length &gt; 1 ? t(this.tag, e, s) : s[0] : void 0 !== this.placeholder ? t(this.tag, e, [
                    this.placeholder
                ]) : void 0
            }
        }),
        Vo = t.extend({
            name: "QRadio",
            mixins: [
                Dt,
                $i,
                ai,
                Mi
            ],
            props: {
                value: { required: !0 },
                val: { required: !0 },
                label: String,
                leftLabel: Boolean,
                color: String,
                keepColor: Boolean,
                dense: Boolean,
                disable: Boolean,
                tabindex: [
                    String,
                    Number
                ]
            },
            computed: {
                isTrue: function () {
                    return this.value === this.val
                },
                classes: function () {
                    return "q-radio cursor-pointer no-outline row inline no-wrap items-center" + (!0 === this.disable ? " disabled" : "") + (!0 === this.isDark ? " q-radio--dark" : "") + (!0 === this.dense ? " q-radio--dense" : "") + (!0 === this.leftLabel ? " reverse" : "")
                },
                innerClass: function () {
                    var t = void 0 === this.color || !0 !== this.keepColor &amp;&amp; !0 !== this.isTrue ? "" : " text-" + this.color;
                    return "q-radio__inner--" + (!0 === this.isTrue ? "truthy" : "falsy") + t
                },
                computedTabindex: function () {
                    return !0 === this.disable ? -1 : this.tabindex || 0
                },
                formAttrs: function () {
                    var t = { type: "radio" };
                    return void 0 !== this.name &amp;&amp; Object.assign(t, {
                        name: this.name,
                        value: this.val
                    }), t
                },
                formDomProps: function () {
                    if (void 0 !== this.name &amp;&amp; !0 === this.isTrue)
                        return { checked: !0 }
                },
                attrs: function () {
                    var t = {
                        tabindex: this.computedTabindex,
                        role: "radio",
                        "aria-label": this.label,
                        "aria-checked": !0 === this.isTrue ? "true" : "false"
                    };
                    return !0 === this.disable &amp;&amp; (t["aria-disabled"] = ""), t
                }
            },
            methods: {
                set: function (t) {
                    void 0 !== t &amp;&amp; (S(t), this.__refocusTarget(t)),
                        !0 !== this.disable &amp;&amp; !0 !== this.isTrue &amp;&amp; this.$emit("input", this.val, t)
                }
            },
            render: function (t) {
                var e = this,
                    i = [
                        t("svg", {
                            staticClass: "q-radio__bg absolute",
                            attrs: {
                                focusable: "false",
                                viewBox: "0 0 24 24"
                            }
                        }, [
                            t("path", { attrs: { d: "M12,22a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10a10,10 0 0 1 10,10a10,10 0 0 1 -10,10m0,-22a12,12 0 0 0 -12,12a12,12 0 0 0 12,12a12,12 0 0 0 12,-12a12,12 0 0 0 -12,-12" } }),
                            t("path", {
                                staticClass: "q-radio__check",
                                attrs: { d: "M12,6a6,6 0 0 0 -6,6a6,6 0 0 0 6,6a6,6 0 0 0 6,-6a6,6 0 0 0 -6,-6" }
                            })
                        ])
                    ];
                !0 !== this.disable &amp;&amp; this.__injectFormInput(i, "unshift", "q-radio__native q-ma-none q-pa-none invisible");
                var s = [
                    t("div", {
                        staticClass: "q-radio__inner relative-position no-pointer-events",
                        class: this.innerClass,
                        style: this.sizeStyle
                    }, i)
                ];
                void 0 !== this.__refocusTargetEl &amp;&amp; s.push(this.__refocusTargetEl);
                var n = void 0 !== this.label ? Pt([
                    this.label
                ], this, "default") : Lt(this, "default");
                return void 0 !== n &amp;&amp; s.push(t("div", { staticClass: "q-radio__label q-anchor--skip" }, n)), t("div", {
                    class: this.classes,
                    attrs: this.attrs,
                    on: mt(this, "inpExt", {
                        click: this.set,
                        keydown: function (t) {
                            13 !== t.keyCode &amp;&amp; 32 !== t.keyCode || S(t)
                        },
                        keyup: function (t) {
                            13 !== t.keyCode &amp;&amp; 32 !== t.keyCode || e.set(t)
                        }
                    })
                }, s)
            }
        }),
        No = t.extend({
            name: "QToggle",
            mixins: [
                Li
            ],
            props: {
                icon: String,
                checkedIcon: String,
                uncheckedIcon: String,
                indeterminateIcon: String,
                iconColor: String
            },
            computed: {
                computedIcon: function () {
                    return (!0 === this.isTrue ? this.checkedIcon : !0 === this.isIndeterminate ? this.indeterminateIcon : this.uncheckedIcon) || this.icon
                },
                computedIconColor: function () {
                    if (!0 === this.isTrue)
                        return this.iconColor
                }
            },
            methods: {
                __getInner: function (t) {
                    return [
                        t("div", { staticClass: "q-toggle__track" }),
                        t("div", { staticClass: "q-toggle__thumb absolute flex flex-center no-wrap" }, void 0 !== this.computedIcon ? [
                            t(Et, {
                                props: {
                                    name: this.computedIcon,
                                    color: this.computedIconColor
                                }
                            })
                        ] : void 0)
                    ]
                }
            },
            created: function () {
                this.type = "toggle"
            }
        }),
        Ho = {
            radio: Vo,
            checkbox: Bi,
            toggle: No
        },
        Qo = Object.keys(Ho),
        Wo = t.extend({
            name: "QOptionGroup",
            mixins: [
                Dt,
                Mt
            ],
            props: {
                value: { required: !0 },
                options: {
                    type: Array,
                    validator: function (t) {
                        return t.every(function (t) {
                            return "value" in t &amp;&amp; "label" in t
                        })
                    }
                },
                name: String,
                type: {
                    default: "radio",
                    validator: function (t) {
                        return Qo.includes(t)
                    }
                },
                color: String,
                keepColor: Boolean,
                dense: Boolean,
                size: String,
                leftLabel: Boolean,
                inline: Boolean,
                disable: Boolean
            },
            computed: {
                component: function () {
                    return Ho[this.type]
                },
                model: function () {
                    return Array.isArray(this.value) ? this.value.slice() : this.value
                },
                classes: function () {
                    return "q-option-group q-gutter-x-sm" + (!0 === this.inline ? " q-option-group--inline" : "")
                },
                attrs: function () {
                    if ("radio" === this.type) {
                        var t = { role: "radiogroup" };
                        return !0 === this.disable &amp;&amp; (t["aria-disabled"] = ""), t
                    }
                }
            },
            methods: {
                __update: function (t) {
                    this.$emit("input", t)
                }
            },
            created: function () {
                var t = Array.isArray(this.value);
                "radio" === this.type ? t &amp;&amp; console.error("q-option-group: model should not be array") : !1 === t &amp;&amp; console.error("q-option-group: model should be array in your case")
            },
            render: function (t) {
                var e = this;
                return t("div", {
                    class: this.classes,
                    attrs: this.attrs,
                    on: Object.assign({}, this.qListeners)
                }, this.options.map(function (i) {
                    return t("div", [
                        t(e.component, {
                            props: {
                                value: e.value,
                                val: i.value,
                                name: e.name || i.name,
                                disable: e.disable || i.disable,
                                label: i.label,
                                leftLabel: e.leftLabel || i.leftLabel,
                                color: i.color || e.color,
                                checkedIcon: i.checkedIcon,
                                uncheckedIcon: i.uncheckedIcon,
                                dark: i.dark || e.isDark,
                                size: i.size || e.size,
                                dense: e.dense,
                                keepColor: i.keepColor || e.keepColor
                            },
                            on: mt(e, "inp", { input: e.__update })
                        })
                    ])
                }))
            }
        }),
        Yo = t.extend({
            name: "QPage",
            mixins: [
                Mt
            ],
            inject: {
                pageContainer: {
                    default: function () {
                        console.error("QPage needs to be child of QPageContainer")
                    }
                },
                layout: {}
            },
            props: {
                padding: Boolean,
                styleFn: Function
            },
            computed: {
                style: function () {
                    var t = (!0 === this.layout.header.space ? this.layout.header.size : 0) + (!0 === this.layout.footer.space ? this.layout.footer.size : 0);
                    if ("function" == typeof this.styleFn) {
                        var e = !0 === this.layout.container ? this.layout.containerHeight : this.$q.screen.height;
                        return this.styleFn(t, e)
                    }
                    return { minHeight: !0 === this.layout.container ? this.layout.containerHeight - t + "px" : 0 === this.$q.screen.height ? "calc(100vh - " + t + "px)" : this.$q.screen.height - t + "px" }
                },
                classes: function () {
                    if (!0 === this.padding)
                        return "q-layout-padding"
                }
            },
            render: function (t) {
                return t("main", {
                    staticClass: "q-page",
                    style: this.style,
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        Uo = t.extend({
            name: "QPageContainer",
            mixins: [
                Mt
            ],
            inject: {
                layout: {
                    default: function () {
                        console.error("QPageContainer needs to be child of QLayout")
                    }
                }
            },
            provide: { pageContainer: !0 },
            computed: {
                style: function () {
                    var t = {};
                    return !0 === this.layout.header.space &amp;&amp; (t.paddingTop = this.layout.header.size + "px"), !0 === this.layout.right.space &amp;&amp; (t["padding" + (!0 === this.$q.lang.rtl ? "Left" : "Right")] = this.layout.right.size + "px"), !0 === this.layout.footer.space &amp;&amp; (t.paddingBottom = this.layout.footer.size + "px"), !0 === this.layout.left.space &amp;&amp; (t["padding" + (!0 === this.$q.lang.rtl ? "Right" : "Left")] = this.layout.left.size + "px"), t
                }
            },
            render: function (t) {
                return t("div", {
                    staticClass: "q-page-container",
                    style: this.style,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        Ko = t.extend({
            name: "QPageSticky",
            mixins: [
                Mt
            ],
            inject: {
                layout: {
                    default: function () {
                        console.error("QPageSticky needs to be child of QLayout")
                    }
                }
            },
            props: {
                position: {
                    type: String,
                    default: "bottom-right",
                    validator: function (t) {
                        return ["top-right", "top-left", "bottom-right", "bottom-left", "top", "right", "bottom", "left"].includes(t)
                    }
                },
                offset: {
                    type: Array,
                    validator: function (t) {
                        return 2 === t.length
                    }
                },
                expand: Boolean
            },
            computed: {
                attach: function () {
                    var t = this.position;
                    return {
                        top: t.indexOf("top") &gt; -1,
                        right: t.indexOf("right") &gt; -1,
                        bottom: t.indexOf("bottom") &gt; -1,
                        left: t.indexOf("left") &gt; -1,
                        vertical: "top" === t || "bottom" === t,
                        horizontal: "left" === t || "right" === t
                    }
                },
                top: function () {
                    return this.layout.header.offset
                },
                right: function () {
                    return this.layout.right.offset
                },
                bottom: function () {
                    return this.layout.footer.offset
                },
                left: function () {
                    return this.layout.left.offset
                },
                style: function () {
                    var t = 0,
                        e = 0,
                        i = this.attach,
                        s = !0 === this.$q.lang.rtl ? -1 : 1;
                    !0 === i.top &amp;&amp; 0 !== this.top ? e = this.top + "px" : !0 === i.bottom &amp;&amp; 0 !== this.bottom &amp;&amp; (e = -this.bottom + "px"),
                        !0 === i.left &amp;&amp; 0 !== this.left ? t = s * this.left + "px" : !0 === i.right &amp;&amp; 0 !== this.right &amp;&amp; (t = -s * this.right + "px");
                    var n = { transform: "translate(" + t + ", " + e + ")" };
                    return this.offset &amp;&amp; (n.margin = this.offset[1] + "px " + this.offset[0] + "px"), !0 === i.vertical ? (0 !== this.left &amp;&amp; (n[!0 === this.$q.lang.rtl ? "right" : "left"] = this.left + "px"), 0 !== this.right &amp;&amp; (n[!0 === this.$q.lang.rtl ? "left" : "right"] = this.right + "px")) : !0 === i.horizontal &amp;&amp; (0 !== this.top &amp;&amp; (n.top = this.top + "px"), 0 !== this.bottom &amp;&amp; (n.bottom = this.bottom + "px")), n
                },
                classes: function () {
                    return "fixed-" + this.position + " q-page-sticky--" + (!0 === this.expand ? "expand" : "shrink")
                }
            },
            render: function (t) {
                var e = Lt(this, "default");
                return t("div", {
                    staticClass: "q-page-sticky row flex-center",
                    class: this.classes,
                    style: this.style,
                    on: Object.assign({}, this.qListeners)
                }, !0 === this.expand ? e : [
                    t("div", e)
                ])
            }
        }),
        Xo = t.extend({
            name: "QPageScroller",
            mixins: [
                Ko
            ],
            props: {
                scrollOffset: {
                    type: Number,
                    default: 1e3
                },
                reverse: Boolean,
                duration: {
                    type: Number,
                    default: 300
                },
                offset: {
                    default: function () {
                        return [18, 18]
                    }
                }
            },
            inject: {
                layout: {
                    default: function () {
                        console.error("QPageScroller needs to be used within a QLayout")
                    }
                }
            },
            data: function () {
                return { showing: this.__isVisible() }
            },
            computed: {
                height: function () {
                    return !0 === this.layout.container ? this.layout.containerHeight : this.layout.height
                },
                onEvents: function () {
                    return Object.assign({}, this.qListeners, { click: this.__onClick })
                }
            },
            watch: {
                "layout.scroll.position": function () {
                    this.__updateVisibility()
                },
                reverse: {
                    handler: function (t) {
                        !0 === t ? void 0 === this.heightWatcher &amp;&amp; (this.heightWatcher = this.$watch("height", this.__updateVisibility)) : void 0 !== this.heightWatcher &amp;&amp; this.__cleanup()
                    },
                    immediate: !0
                }
            },
            methods: {
                __isVisible: function () {
                    return !0 === this.reverse ? this.height - this.layout.scroll.position &gt; this.scrollOffset : this.layout.scroll.position &gt; this.scrollOffset
                },
                __onClick: function (t) {
                    Qe(!0 === this.layout.container ? De(this.$el) : De(this.layout.$el), !0 === this.reverse ? this.layout.height : 0, this.duration),
                        this.$emit("click", t)
                },
                __updateVisibility: function () {
                    var t = this.__isVisible();
                    this.showing !== t &amp;&amp; (this.showing = t)
                },
                __cleanup: function () {
                    this.heightWatcher(),
                        this.heightWatcher = void 0
                }
            },
            render: function (t) {
                return t("transition", { props: { name: "q-transition--fade" } }, !0 === this.showing ? [
                    t("div", {
                        staticClass: "q-page-scroller",
                        on: this.onEvents
                    }, [
                        Ko.options.render.call(this, t)
                    ])
                ] : null)
            },
            beforeDestroy: function () {
                void 0 !== this.heightWatcher &amp;&amp; this.__cleanup()
            }
        }),
        Go = t.extend({
            name: "QPagination",
            mixins: [
                Dt,
                Mt
            ],
            props: {
                value: {
                    type: Number,
                    required: !0
                },
                min: {
                    type: Number,
                    default: 1
                },
                max: {
                    type: Number,
                    required: !0
                },
                color: {
                    type: String,
                    default: "primary"
                },
                textColor: String,
                inputStyle: [
                    Array,
                    String,
                    Object
                ],
                inputClass: [
                    Array,
                    String,
                    Object
                ],
                size: String,
                disable: Boolean,
                input: Boolean,
                iconPrev: String,
                iconNext: String,
                iconFirst: String,
                iconLast: String,
                toFn: Function,
                boundaryLinks: {
                    type: Boolean,
                    default: null
                },
                boundaryNumbers: {
                    type: Boolean,
                    default: null
                },
                directionLinks: {
                    type: Boolean,
                    default: null
                },
                ellipses: {
                    type: Boolean,
                    default: null
                },
                maxPages: {
                    type: Number,
                    default: 0,
                    validator: function (t) {
                        return t &gt;= 0
                    }
                },
                ripple: {
                    type: [
                        Boolean,
                        Object
                    ],
                    default: null
                }
            },
            data: function () {
                return { newPage: null }
            },
            watch: {
                min: function () {
                    this.model = this.value
                },
                max: function () {
                    this.model = this.value
                }
            },
            computed: {
                model: {
                    get: function () {
                        return this.value
                    },
                    set: function (t) {
                        if (t = parseInt(t, 10), !this.disable &amp;&amp; !isNaN(t) &amp;&amp; 0 !== t) {
                            var e = ht(t, this.min, this.max);
                            this.$emit("input", e)
                        }
                    }
                },
                inputPlaceholder: function () {
                    return this.model + " / " + this.max
                },
                __boundaryLinks: function () {
                    return this.__getBool(this.boundaryLinks, this.input)
                },
                __boundaryNumbers: function () {
                    return this.__getBool(this.boundaryNumbers, !this.input)
                },
                __directionLinks: function () {
                    return this.__getBool(this.directionLinks, this.input)
                },
                __ellipses: function () {
                    return this.__getBool(this.ellipses, !this.input)
                },
                icons: function () {
                    var t = [
                        this.iconFirst || this.$q.iconSet.pagination.first,
                        this.iconPrev || this.$q.iconSet.pagination.prev,
                        this.iconNext || this.$q.iconSet.pagination.next,
                        this.iconLast || this.$q.iconSet.pagination.last
                    ];
                    return !0 === this.$q.lang.rtl ? t.reverse() : t
                },
                attrs: function () {
                    if (!0 === this.disable)
                        return { "aria-disabled": "" }
                },
                btnProps: function () {
                    return {
                        color: this.color,
                        flat: !0,
                        size: this.size,
                        ripple: null === this.ripple || this.ripple
                    }
                }
            },
            methods: {
                set: function (t) {
                    this.model = t
                },
                setByOffset: function (t) {
                    this.model = this.model + t
                },
                __update: function () {
                    this.model = this.newPage,
                        this.newPage = null
                },
                __getBool: function (t, e) {
                    return [
                        !0,
                        !1
                    ].includes(t) ? t : e
                },
                __getBtn: function (t, e, i, s) {
                    var n = this;
                    return e.props = Object.assign({}, this.btnProps, i), void 0 !== s &amp;&amp; (void 0 !== this.toFn ? e.props.to = this.toFn(s) : e.on = {
                        click: function () {
                            return n.set(s)
                        }
                    }), t(be, e)
                }
            },
            render: function (t) {
                var e = this,
                    i = [],
                    s = [],
                    n = [];
                if (this.__boundaryLinks &amp;&amp; (i.push(this.__getBtn(t, { key: "bls" }, {
                    disable: this.disable || this.value &lt;= this.min,
                    icon: this.icons[0]
                }, this.min)), s.unshift(this.__getBtn(t, { key: "ble" }, {
                    disable: this.disable || this.value &gt;= this.max,
                    icon: this.icons[3]
                }, this.max))), this.__directionLinks &amp;&amp; (i.push(this.__getBtn(t, { key: "bdp" }, {
                    disable: this.disable || this.value &lt;= this.min,
                    icon: this.icons[1]
                }, this.value - 1)), s.unshift(this.__getBtn(t, { key: "bdn" }, {
                    disable: this.disable || this.value &gt;= this.max,
                    icon: this.icons[2]
                }, this.value + 1))), !0 === this.input)
                    n.push(t(Fn, {
                        staticClass: "inline",
                        style: { width: this.inputPlaceholder.length / 1.5 + "em" },
                        props: {
                            type: "number",
                            dense: !0,
                            value: this.newPage,
                            disable: this.disable,
                            dark: this.isDark,
                            borderless: !0,
                            inputClass: this.inputClass,
                            inputStyle: this.inputStyle
                        },
                        attrs: {
                            placeholder: this.inputPlaceholder,
                            min: this.min,
                            max: this.max
                        },
                        on: mt(this, "inp", {
                            input: function (t) {
                                e.newPage = t
                            },
                            keyup: function (t) {
                                !0 === tt(t, 13) &amp;&amp; e.__update()
                            },
                            blur: this.__update
                        })
                    }));
                else {
                    var o = Math.max(this.maxPages, 1 + (this.__ellipses ? 2 : 0) + (this.__boundaryNumbers ? 2 : 0)),
                        r = this.min,
                        a = this.max,
                        l = !1,
                        c = !1,
                        u = !1,
                        h = !1;
                    this.maxPages &amp;&amp; o &lt; this.max - this.min + 1 &amp;&amp; (o = 1 + 2 * Math.floor(o / 2), r = Math.max(this.min, Math.min(this.max - o + 1, this.value - Math.floor(o / 2))), a = Math.min(this.max, r + o - 1), this.__boundaryNumbers &amp;&amp; (u = !0, r += 1), this.__ellipses &amp;&amp; r &gt; this.min + (this.__boundaryNumbers ? 1 : 0) &amp;&amp; (l = !0, r += 1), this.__boundaryNumbers &amp;&amp; (h = !0, a -= 1), this.__ellipses &amp;&amp; a &lt; this.max - (this.__boundaryNumbers ? 1 : 0) &amp;&amp; (c = !0, a -= 1));
                    var d = { minWidth: Math.max(2, String(this.max).length) + "em" };
                    if (u) {
                        var p = this.min === this.value;
                        i.push(this.__getBtn(t, {
                            key: "bns",
                            style: d
                        }, {
                            disable: this.disable,
                            flat: !p,
                            textColor: p ? this.textColor : null,
                            label: this.min
                        }, this.min))
                    }
                    if (h) {
                        var f = this.max === this.value;
                        s.unshift(this.__getBtn(t, {
                            key: "bne",
                            style: d
                        }, {
                            disable: this.disable,
                            flat: !f,
                            textColor: f ? this.textColor : null,
                            label: this.max
                        }, this.max))
                    }
                    l &amp;&amp; i.push(this.__getBtn(t, {
                        key: "bes",
                        style: d
                    }, {
                        disable: this.disable,
                        label: "â€¦",
                        ripple: !1
                    }, r - 1)),
                        c &amp;&amp; s.unshift(this.__getBtn(t, {
                            key: "bee",
                            style: d
                        }, {
                            disable: this.disable,
                            label: "â€¦",
                            ripple: !1
                        }, a + 1));
                    for (var m = r; m &lt;= a; m++) {
                        var v = m === this.value;
                        n.push(this.__getBtn(t, {
                            key: "bpg" + m,
                            style: d
                        }, {
                            disable: this.disable,
                            flat: !v,
                            textColor: v ? this.textColor : null,
                            label: m
                        }, m))
                    }
                }
                return t("div", {
                    staticClass: "q-pagination row no-wrap items-center",
                    class: { disabled: this.disable },
                    attrs: this.attrs,
                    on: Object.assign({}, this.qListeners)
                }, [
                    i,
                    t("div", {
                        staticClass: "row justify-center",
                        on: !0 === this.input ? mt(this, "stop", { input: y }) : null
                    }, [
                        n
                    ]),
                    s
                ])
            }
        });
    function Zo(t) {
        var e,
            i,
            s = !1;
        function n() {
            var n = this;
            i = arguments,
                !0 !== s &amp;&amp; (s = !0, e = requestAnimationFrame(function () {
                    t.apply(n, i),
                        i = void 0,
                        s = !1
                }))
        }
        return n.cancel = function () {
            window.cancelAnimationFrame(e),
                s = !1
        }, n
    }
    var Jo = d.passive,
        tr = t.extend({
            name: "QParallax",
            mixins: [
                Mt
            ],
            props: {
                src: String,
                height: {
                    type: Number,
                    default: 500
                },
                speed: {
                    type: Number,
                    default: 1,
                    validator: function (t) {
                        return t &gt;= 0 &amp;&amp; t &lt;= 1
                    }
                },
                scrollTarget: { default: void 0 }
            },
            data: function () {
                return {
                    scrolling: !1,
                    percentScrolled: 0
                }
            },
            watch: {
                height: function () {
                    !0 === this.working &amp;&amp; this.__updatePos()
                },
                scrollTarget: function () {
                    !0 === this.working &amp;&amp; (this.__stop(), this.__start())
                }
            },
            methods: {
                __update: function (t) {
                    this.percentScrolled = t,
                        void 0 !== this.qListeners.scroll &amp;&amp; this.$emit("scroll", t)
                },
                __updatePos: function () {
                    var t,
                        e,
                        i;
                    this.__scrollTarget === window ? (t = 0, i = e = window.innerHeight) : i = (t = Xt(this.__scrollTarget).top) + (e = Gt(this.__scrollTarget));
                    var s = Xt(this.$el).top,
                        n = s + this.height;
                    if (void 0 !== this.observer || n &gt; t &amp;&amp; s &lt; i) {
                        var o = (i - s) / (this.height + e);
                        this.__setPos((this.mediaHeight - this.height) * o * this.speed),
                            this.__update(o)
                    }
                },
                __setPos: function (t) {
                    this.media.style.transform = "translate3D(-50%," + Math.round(t) + "px, 0)"
                },
                __onResize: function () {
                    this.mediaHeight = this.media.naturalHeight || this.media.videoHeight || Gt(this.media),
                        !0 === this.working &amp;&amp; this.__updatePos()
                },
                __start: function () {
                    this.working = !0,
                        this.__scrollTarget = De(this.$el, this.scrollTarget),
                        this.__scrollTarget.addEventListener("scroll", this.__updatePos, Jo),
                        window.addEventListener("resize", this.__resizeHandler, Jo),
                        this.__updatePos()
                },
                __stop: function () {
                    !0 === this.working &amp;&amp; (this.working = !1, this.__scrollTarget.removeEventListener("scroll", this.__updatePos, Jo), window.removeEventListener("resize", this.__resizeHandler, Jo), this.__scrollTarget = void 0)
                }
            },
            render: function (t) {
                return t("div", {
                    staticClass: "q-parallax",
                    style: { height: this.height + "px" },
                    on: Object.assign({}, this.qListeners)
                }, [
                    t("div", {
                        ref: "mediaParent",
                        staticClass: "q-parallax__media absolute-full"
                    }, void 0 !== this.$scopedSlots.media ? this.$scopedSlots.media() : [
                        t("img", {
                            ref: "media",
                            attrs: { src: this.src }
                        })
                    ]),
                    t("div", { staticClass: "q-parallax__content absolute-full column flex-center" }, void 0 !== this.$scopedSlots.content ? this.$scopedSlots.content({ percentScrolled: this.percentScrolled }) : Lt(this, "default"))
                ])
            },
            mounted: function () {
                var t = this;
                this.__setPos = Zo(this.__setPos),
                    this.__update = Zo(this.__update),
                    this.__resizeHandler = Zo(this.__onResize),
                    this.media = void 0 !== this.$scopedSlots.media ? this.$refs.mediaParent.children[0] : this.$refs.media,
                    this.media.onload = this.media.onloadstart = this.media.loadedmetadata = this.__onResize,
                    this.__onResize(),
                    this.media.style.display = "initial",
                    void 0 !== window.IntersectionObserver ? (this.observer = new IntersectionObserver(function (e) {
                        t[!0 === e[0].isIntersecting ? "__start" : "__stop"]()
                    }), this.observer.observe(this.$el)) : this.__start()
            },
            beforeDestroy: function () {
                this.__stop(),
                    void 0 !== this.observer &amp;&amp; this.observer.disconnect(),
                    this.media.onload = this.media.onloadstart = this.media.loadedmetadata = null
            }
        });
    function er(t) {
        var e = JSON.stringify(t);
        if (e)
            return JSON.parse(e)
    }
    var ir = t.extend({
        name: "QPopupEdit",
        mixins: [
            _t
        ],
        props: {
            value: { required: !0 },
            title: String,
            buttons: Boolean,
            labelSet: String,
            labelCancel: String,
            color: {
                type: String,
                default: "primary"
            },
            validate: {
                type: Function,
                default: function () {
                    return !0
                }
            },
            autoSave: Boolean,
            cover: {
                type: Boolean,
                default: !0
            },
            contentClass: String,
            disable: Boolean
        },
        data: function () {
            return { initialValue: "" }
        },
        computed: {
            classes: function () {
                return "q-popup-edit" + (void 0 !== this.contentClass ? " " + this.contentClass : "")
            },
            defaultSlotScope: function () {
                return {
                    initialValue: this.initialValue,
                    value: this.value,
                    emitValue: this.__emitValue,
                    validate: this.validate,
                    set: this.set,
                    cancel: this.cancel
                }
            },
            menuProps: function () {
                return Object.assign({}, this.qAttrs, {
                    cover: this.cover,
                    contentClass: this.classes
                })
            }
        },
        methods: {
            set: function () {
                if (!0 === this.__hasChanged()) {
                    if (!1 === this.validate(this.value))
                        return;
                    this.$emit("save", this.value, this.initialValue)
                }
                this.__close()
            },
            cancel: function () {
                !0 === this.__hasChanged() &amp;&amp; (this.$emit("input", this.initialValue), this.$emit("cancel", this.value, this.initialValue)),
                    this.__close()
            },
            show: function (t) {
                void 0 !== this.$refs.menu &amp;&amp; this.$refs.menu.show(t)
            },
            hide: function (t) {
                void 0 !== this.$refs.menu &amp;&amp; this.$refs.menu.hide(t)
            },
            __hasChanged: function () {
                return !1 === wi(this.value, this.initialValue)
            },
            __emitValue: function (t) {
                !0 !== this.disable &amp;&amp; this.$emit("input", t)
            },
            __close: function () {
                this.validated = !0,
                    !0 === this.$refs.menu.showing &amp;&amp; this.$refs.menu.hide()
            },
            __reposition: function () {
                var t = this;
                this.$nextTick(function () {
                    t.$refs.menu.updatePosition()
                })
            },
            __getContent: function (t) {
                var e = Lt(this, "title", this.title),
                    i = void 0 === this.$scopedSlots.default ? [] : this.$scopedSlots.default(this.defaultSlotScope).slice();
                return e &amp;&amp; i.unshift(t("div", { staticClass: "q-dialog__title q-mt-sm q-mb-sm" }, [
                    e
                ])), !0 === this.buttons &amp;&amp; i.push(t("div", { staticClass: "q-popup-edit__buttons row justify-center no-wrap" }, [
                    t(be, {
                        props: {
                            flat: !0,
                            color: this.color,
                            label: this.labelCancel || this.$q.lang.label.cancel
                        },
                        on: mt(this, "cancel", { click: this.cancel })
                    }),
                    t(be, {
                        props: {
                            flat: !0,
                            color: this.color,
                            label: this.labelSet || this.$q.lang.label.set
                        },
                        on: mt(this, "ok", { click: this.set })
                    })
                ])), i
            }
        },
        render: function (t) {
            var e = this;
            if (!0 !== this.disable)
                return t(oi, {
                    ref: "menu",
                    props: this.menuProps,
                    on: mt(this, "menu", {
                        "before-show": function () {
                            e.validated = !1,
                                e.initialValue = er(e.value),
                                e.watcher = e.$watch("value", e.__reposition),
                                e.$emit("before-show")
                        },
                        show: function () {
                            e.$emit("show")
                        },
                        "escape-key": this.cancel,
                        "before-hide": function () {
                            e.watcher(),
                                !1 === e.validated &amp;&amp; !0 === e.__hasChanged() &amp;&amp; (!0 === e.autoSave &amp;&amp; !0 === e.validate(e.value) ? e.$emit("save", e.value, e.initialValue) : (e.$emit("cancel", e.value, e.initialValue), e.$emit("input", e.initialValue))),
                                e.$emit("before-hide")
                        },
                        hide: function () {
                            e.$emit("hide")
                        },
                        keyup: function (t) {
                            !0 === tt(t, 13) &amp;&amp; e.set()
                        }
                    })
                }, this.__getContent(t))
        }
    }),
        sr = t.extend({
            name: "QPopupProxy",
            mixins: [
                _t,
                Mt,
                Se
            ],
            props: {
                breakpoint: {
                    type: [
                        String,
                        Number
                    ],
                    default: 450
                }
            },
            data: function () {
                var t = parseInt(this.breakpoint, 10);
                return { type: this.$q.screen.width &lt; t || this.$q.screen.height &lt; t ? "dialog" : "menu" }
            },
            computed: {
                parsedBreakpoint: function () {
                    return parseInt(this.breakpoint, 10)
                },
                onEvents: function () {
                    return Object.assign({}, this.qListeners, { hide: this.__onHide })
                }
            },
            watch: {
                "$q.screen.width": function (t) {
                    !0 !== this.$refs.popup.showing &amp;&amp; this.__updateType(t, this.$q.screen.height, this.parsedBreakpoint)
                },
                "$q.screen.height": function (t) {
                    !0 !== this.$refs.popup.showing &amp;&amp; this.__updateType(this.$q.screen.width, t, this.parsedBreakpoint)
                },
                breakpoint: function (t) {
                    !0 !== this.$refs.popup.showing &amp;&amp; this.__updateType(this.$q.screen.width, this.$q.screen.height, parseInt(t, 10))
                }
            },
            methods: {
                toggle: function (t) {
                    this.$refs.popup.toggle(t)
                },
                show: function (t) {
                    this.$refs.popup.show(t)
                },
                hide: function (t) {
                    this.$refs.popup.hide(t)
                },
                __onHide: function (t) {
                    this.__updateType(this.$q.screen.width, this.$q.screen.height, this.parsedBreakpoint),
                        this.$emit("hide", t)
                },
                __updateType: function (t, e, i) {
                    var s = t &lt; i || e &lt; i ? "dialog" : "menu";
                    this.type !== s &amp;&amp; (this.type = s)
                }
            },
            render: function (t) {
                var e,
                    i = Lt(this, "default"),
                    s = "menu" === this.type &amp;&amp; void 0 !== i &amp;&amp; void 0 !== i[0] &amp;&amp; void 0 !== i[0].componentOptions &amp;&amp; void 0 !== i[0].componentOptions.Ctor &amp;&amp; void 0 !== i[0].componentOptions.Ctor.sealedOptions &amp;&amp; ["QDate", "QTime", "QCarousel", "QColor"].includes(i[0].componentOptions.Ctor.sealedOptions.name) ? {
                        cover: !0,
                        maxHeight: "99vh"
                    } : {},
                    n = {
                        ref: "popup",
                        props: Object.assign({}, s, this.qAttrs),
                        on: this.onEvents
                    };
                return "dialog" === this.type ? e = pn : (e = oi, n.props.target = this.target, n.props.contextMenu = this.contextMenu, n.props.noParentEvent = !0, n.props.separateClosePopup = !0), t(e, n, i)
            }
        });
    function nr(t, e) {
        return !0 === e ? { transform: "translateX(100%) scale3d(" + -t + ",1,1)" } : { transform: "scale3d(" + t + ",1,1)" }
    }
    var or = t.extend({
        name: "QLinearProgress",
        mixins: [
            Mt,
            Dt,
            qt({
                xs: 2,
                sm: 4,
                md: 6,
                lg: 10,
                xl: 14
            })
        ],
        props: {
            value: {
                type: Number,
                default: 0
            },
            buffer: Number,
            color: String,
            trackColor: String,
            reverse: Boolean,
            stripe: Boolean,
            indeterminate: Boolean,
            query: Boolean,
            rounded: Boolean,
            instantFeedback: Boolean
        },
        computed: {
            motion: function () {
                return !0 === this.indeterminate || !0 === this.query
            },
            classes: function () {
                return "q-linear-progress" + (void 0 !== this.color ? " text-" + this.color : "") + (!0 === this.reverse || !0 === this.query ? " q-linear-progress--reverse" : "") + (!0 === this.rounded ? " rounded-borders" : "")
            },
            trackStyle: function () {
                return nr(void 0 !== this.buffer ? this.buffer : 1, this.reverse)
            },
            trackClass: function () {
                return "q-linear-progress__track--with" + (!0 === this.instantFeedback ? "out" : "") + "-transition q-linear-progress__track--" + (!0 === this.isDark ? "dark" : "light") + (void 0 !== this.trackColor ? " bg-" + this.trackColor : "")
            },
            modelStyle: function () {
                return nr(!0 === this.motion ? 1 : this.value, this.reverse)
            },
            modelClasses: function () {
                return "q-linear-progress__model--with" + (!0 === this.instantFeedback ? "out" : "") + "-transition q-linear-progress__model--" + (!0 === this.motion ? "in" : "") + "determinate"
            },
            stripeStyle: function () {
                return { width: 100 * this.value + "%" }
            },
            attrs: function () {
                return {
                    role: "progressbar",
                    "aria-valuemin": 0,
                    "aria-valuemax": 1,
                    "aria-valuenow": !0 === this.indeterminate ? void 0 : this.value
                }
            }
        },
        render: function (t) {
            var e = [
                t("div", {
                    staticClass: "q-linear-progress__track absolute-full",
                    style: this.trackStyle,
                    class: this.trackClass
                }),
                t("div", {
                    staticClass: "q-linear-progress__model absolute-full",
                    style: this.modelStyle,
                    class: this.modelClasses
                })
            ];
            return !0 === this.stripe &amp;&amp; !1 === this.motion &amp;&amp; e.push(t("div", {
                staticClass: "q-linear-progress__stripe absolute-full",
                style: this.stripeStyle
            })), t("div", {
                style: this.sizeStyle,
                class: this.classes,
                attrs: this.attrs,
                on: Object.assign({}, this.qListeners)
            }, Pt(e, this, "default"))
        }
    }),
        rr = t.extend({
            name: "QPullToRefresh",
            mixins: [
                Mt
            ],
            directives: { TouchPan: Qi },
            props: {
                color: String,
                bgColor: String,
                icon: String,
                noMouse: Boolean,
                disable: Boolean,
                scrollTarget: { default: void 0 }
            },
            data: function () {
                return {
                    state: "pull",
                    pullRatio: 0,
                    pulling: !1,
                    pullPosition: -40,
                    animating: !1,
                    positionCSS: {}
                }
            },
            computed: {
                style: function () {
                    return {
                        opacity: this.pullRatio,
                        transform: "translateY(" + this.pullPosition + "px) rotate(" + 360 * this.pullRatio + "deg)"
                    }
                },
                classes: function () {
                    return "q-pull-to-refresh__puller row flex-center" + (!0 === this.animating ? " q-pull-to-refresh__puller--animating" : "") + (void 0 !== this.bgColor ? " bg-" + this.bgColor : "")
                },
                directives: function () {
                    if (!0 !== this.disable)
                        return [
                            {
                                name: "touch-pan",
                                modifiers: {
                                    down: !0,
                                    mightPrevent: !0,
                                    mouse: !0 !== this.noMouse
                                },
                                value: this.__pull
                            }
                        ]
                },
                contentClass: function () {
                    return "q-pull-to-refresh__content" + (!0 === this.pulling ? " no-pointer-events" : "")
                }
            },
            watch: {
                scrollTarget: function () {
                    this.updateScrollTarget()
                }
            },
            methods: {
                trigger: function () {
                    var t = this;
                    this.$emit("refresh", function () {
                        t.__animateTo({
                            pos: -40,
                            ratio: 0
                        }, function () {
                            t.state = "pull"
                        })
                    })
                },
                updateScrollTarget: function () {
                    this.__scrollTarget = De(this.$el, this.scrollTarget)
                },
                __pull: function (t) {
                    if (!0 !== t.isFinal) {
                        if (!0 === this.animating || "refreshing" === this.state)
                            return !1;
                        if (!0 === t.isFirst) {
                            if (0 !== Ie(this.__scrollTarget))
                                return !0 === this.pulling &amp;&amp; (this.pulling = !1, this.state = "pull", this.__animateTo({
                                    pos: -40,
                                    ratio: 0
                                })), !1;
                            this.pulling = !0;
                            var e = this.$el.getBoundingClientRect(),
                                i = e.top,
                                s = e.left;
                            this.positionCSS = {
                                top: i + "px",
                                left: s + "px",
                                width: window.getComputedStyle(this.$el).getPropertyValue("width")
                            }
                        }
                        w(t.evt);
                        var n = Math.min(140, Math.max(0, t.distance.y));
                        this.pullPosition = n - 40,
                            this.pullRatio = ht(n / 60, 0, 1);
                        var o = this.pullPosition &gt; 20 ? "pulled" : "pull";
                        this.state !== o &amp;&amp; (this.state = o)
                    }
                    else
                        !0 === this.pulling &amp;&amp; (this.pulling = !1, "pulled" === this.state ? (this.state = "refreshing", this.__animateTo({ pos: 20 }), this.trigger()) : "pull" === this.state &amp;&amp; this.__animateTo({
                            pos: -40,
                            ratio: 0
                        }))
                },
                __animateTo: function (t, e) {
                    var i = this,
                        s = t.pos,
                        n = t.ratio;
                    this.animating = !0,
                        this.pullPosition = s,
                        void 0 !== n &amp;&amp; (this.pullRatio = n),
                        clearTimeout(this.timer),
                        this.timer = setTimeout(function () {
                            i.animating = !1,
                                e &amp;&amp; e()
                        }, 300)
                }
            },
            mounted: function () {
                this.updateScrollTarget()
            },
            beforeDestroy: function () {
                clearTimeout(this.timer)
            },
            render: function (t) {
                return t("div", {
                    staticClass: "q-pull-to-refresh",
                    on: Object.assign({}, this.qListeners),
                    directives: this.directives
                }, [
                    t("div", { class: this.contentClass }, Lt(this, "default")),
                    t("div", {
                        staticClass: "q-pull-to-refresh__puller-container fixed row flex-center no-pointer-events z-top",
                        style: this.positionCSS
                    }, [
                        t("div", {
                            style: this.style,
                            class: this.classes
                        }, [
                            "refreshing" !== this.state ? t(Et, {
                                props: {
                                    name: this.icon || this.$q.iconSet.pullToRefresh.icon,
                                    color: this.color,
                                    size: "32px"
                                }
                            }) : t(Kt, {
                                props: {
                                    size: "24px",
                                    color: this.color
                                }
                            })
                        ])
                    ])
                ])
            }
        }),
        ar = 0,
        lr = 1,
        cr = 2,
        ur = t.extend({
            name: "QRange",
            mixins: [
                Ki
            ],
            props: {
                value: {
                    type: Object,
                    default: function () {
                        return {
                            min: null,
                            max: null
                        }
                    },
                    validator: function (t) {
                        return "min" in t &amp;&amp; "max" in t
                    }
                },
                name: String,
                dragRange: Boolean,
                dragOnlyRange: Boolean,
                leftLabelColor: String,
                leftLabelTextColor: String,
                rightLabelColor: String,
                rightLabelTextColor: String,
                leftLabelValue: [
                    String,
                    Number
                ],
                rightLabelValue: [
                    String,
                    Number
                ]
            },
            data: function () {
                return {
                    model: {
                        min: null === this.value.min ? this.min : this.value.min,
                        max: null === this.value.max ? this.max : this.value.max
                    },
                    curMinRatio: 0,
                    curMaxRatio: 0
                }
            },
            watch: {
                "value.min": function (t) {
                    this.model.min = null === t ? this.min : t
                },
                "value.max": function (t) {
                    this.model.max = null === t ? this.max : t
                },
                min: function (t) {
                    this.model.min &lt; t &amp;&amp; (this.model.min = t),
                        this.model.max &lt; t &amp;&amp; (this.model.max = t)
                },
                max: function (t) {
                    this.model.min &gt; t &amp;&amp; (this.model.min = t),
                        this.model.max &gt; t &amp;&amp; (this.model.max = t)
                }
            },
            computed: {
                ratioMin: function () {
                    return !0 === this.active ? this.curMinRatio : this.modelMinRatio
                },
                ratioMax: function () {
                    return !0 === this.active ? this.curMaxRatio : this.modelMaxRatio
                },
                modelMinRatio: function () {
                    return (this.model.min - this.min) / (this.max - this.min)
                },
                modelMaxRatio: function () {
                    return (this.model.max - this.min) / (this.max - this.min)
                },
                trackStyle: function () {
                    var t;
                    return (t = {})[this.positionProp] = 100 * this.ratioMin + "%", t[this.sizeProp] = 100 * (this.ratioMax - this.ratioMin) + "%", t
                },
                minThumbStyle: function () {
                    var t;
                    return (t = {})[this.positionProp] = 100 * this.ratioMin + "%", t["z-index"] = "min" === this.__nextFocus ? 2 : void 0, t
                },
                maxThumbStyle: function () {
                    var t;
                    return (t = {})[this.positionProp] = 100 * this.ratioMax + "%", t
                },
                minThumbClass: function () {
                    if (!1 === this.preventFocus &amp;&amp; "min" === this.focus)
                        return "q-slider--focus"
                },
                maxThumbClass: function () {
                    if (!1 === this.preventFocus &amp;&amp; "max" === this.focus)
                        return "q-slider--focus"
                },
                events: function () {
                    var t = this;
                    if (!0 === this.editable) {
                        if (!0 === this.$q.platform.is.mobile)
                            return { click: this.__mobileClick };
                        var e = { mousedown: this.__activate };
                        return !0 === this.dragOnlyRange &amp;&amp; Object.assign(e, {
                            focus: function () {
                                t.__focus("both")
                            },
                            blur: this.__blur,
                            keydown: this.__keydown,
                            keyup: this.__keyup
                        }), e
                    }
                },
                minEvents: function () {
                    var t = this;
                    if (!0 === this.editable &amp;&amp; !0 !== this.$q.platform.is.mobile &amp;&amp; !0 !== this.dragOnlyRange)
                        return {
                            focus: function () {
                                t.__focus("min")
                            },
                            blur: this.__blur,
                            keydown: this.__keydown,
                            keyup: this.__keyup
                        }
                },
                maxEvents: function () {
                    var t = this;
                    if (!0 === this.editable &amp;&amp; !0 !== this.$q.platform.is.mobile &amp;&amp; !0 !== this.dragOnlyRange)
                        return {
                            focus: function () {
                                t.__focus("max")
                            },
                            blur: this.__blur,
                            keydown: this.__keydown,
                            keyup: this.__keyup
                        }
                },
                minPinClass: function () {
                    var t = this.leftLabelColor || this.labelColor;
                    if (t)
                        return "text-" + t
                },
                minPinTextClass: function () {
                    var t = this.leftLabelTextColor || this.labelTextColor;
                    if (t)
                        return "text-" + t
                },
                maxPinClass: function () {
                    var t = this.rightLabelColor || this.labelColor;
                    if (t)
                        return "text-" + t
                },
                maxPinTextClass: function () {
                    var t = this.rightLabelTextColor || this.labelTextColor;
                    if (t)
                        return "text-" + t
                },
                minLabel: function () {
                    return void 0 !== this.leftLabelValue ? this.leftLabelValue : this.model.min
                },
                maxLabel: function () {
                    return void 0 !== this.rightLabelValue ? this.rightLabelValue : this.model.max
                },
                minPinStyle: function () {
                    var t = !0 === this.reverse ? -this.ratioMin : this.ratioMin - 1;
                    return this.__getPinStyle(t, this.ratioMin)
                },
                maxPinStyle: function () {
                    var t = !0 === this.reverse ? -this.ratioMax : this.ratioMax - 1;
                    return this.__getPinStyle(t, this.ratioMax)
                },
                formAttrs: function () {
                    return {
                        type: "hidden",
                        name: this.name,
                        value: this.value.min + "|" + this.value.max
                    }
                }
            },
            methods: {
                __updateValue: function (t) {
                    this.model.min === this.value.min &amp;&amp; this.model.max === this.value.max || this.$emit("input", this.model),
                        !0 === t &amp;&amp; this.$emit("change", this.model)
                },
                __getDragging: function (t) {
                    var e,
                        i = this.$el.getBoundingClientRect(),
                        s = i.left,
                        n = i.top,
                        o = i.width,
                        r = i.height,
                        a = !0 === this.dragOnlyRange ? 0 : !0 === this.vertical ? this.$refs.minThumb.offsetHeight / (2 * r) : this.$refs.minThumb.offsetWidth / (2 * o),
                        l = this.max - this.min,
                        c = {
                            left: s,
                            top: n,
                            width: o,
                            height: r,
                            valueMin: this.model.min,
                            valueMax: this.model.max,
                            ratioMin: (this.model.min - this.min) / l,
                            ratioMax: (this.model.max - this.min) / l
                        },
                        u = Yi(t, c, this.isReversed, this.vertical);
                    return !0 !== this.dragOnlyRange &amp;&amp; u &lt; c.ratioMin + a ? e = ar : !0 === this.dragOnlyRange || u &lt; c.ratioMax - a ? !0 === this.dragRange || !0 === this.dragOnlyRange ? (e = lr, Object.assign(c, {
                        offsetRatio: u,
                        offsetModel: Ui(u, this.min, this.max, this.step, this.decimals),
                        rangeValue: c.valueMax - c.valueMin,
                        rangeRatio: c.ratioMax - c.ratioMin
                    })) : e = c.ratioMax - u &lt; u - c.ratioMin ? cr : ar : e = cr, c.type = e, this.__nextFocus = void 0, c
                },
                __updatePosition: function (t, e) {
                    void 0 === e &amp;&amp; (e = this.dragging);
                    var i,
                        s = Yi(t, e, this.isReversed, this.vertical),
                        n = Ui(s, this.min, this.max, this.step, this.decimals);
                    switch (e.type) {
                        case ar:
                            s &lt;= e.ratioMax ? (i = {
                                minR: s,
                                maxR: e.ratioMax,
                                min: n,
                                max: e.valueMax
                            }, this.__nextFocus = "min") : (i = {
                                minR: e.ratioMax,
                                maxR: s,
                                min: e.valueMax,
                                max: n
                            }, this.__nextFocus = "max");
                            break;
                        case cr:
                            s &gt;= e.ratioMin ? (i = {
                                minR: e.ratioMin,
                                maxR: s,
                                min: e.valueMin,
                                max: n
                            }, this.__nextFocus = "max") : (i = {
                                minR: s,
                                maxR: e.ratioMin,
                                min: n,
                                max: e.valueMin
                            }, this.__nextFocus = "min");
                            break;
                        case lr:
                            var o = s - e.offsetRatio,
                                r = ht(e.ratioMin + o, 0, 1 - e.rangeRatio),
                                a = n - e.offsetModel,
                                l = ht(e.valueMin + a, this.min, this.max - e.rangeValue);
                            i = {
                                minR: r,
                                maxR: r + e.rangeRatio,
                                min: parseFloat(l.toFixed(this.decimals)),
                                max: parseFloat((l + e.rangeValue).toFixed(this.decimals))
                            }
                    }
                    if (this.model = {
                        min: i.min,
                        max: i.max
                    }, null !== this.model.min &amp;&amp; null !== this.model.max || (this.model.min = i.min || this.min, this.model.max = i.max || this.max), !0 !== this.snap || 0 === this.step)
                        this.curMinRatio = i.minR,
                            this.curMaxRatio = i.maxR;
                    else {
                        var c = this.max - this.min;
                        this.curMinRatio = (this.model.min - this.min) / c,
                            this.curMaxRatio = (this.model.max - this.min) / c
                    }
                },
                __focus: function (t) {
                    this.focus = t
                },
                __keydown: function (t) {
                    var e;
                    if (Wi.includes(t.keyCode)) {
                        S(t);
                        var i = ([34, 33].includes(t.keyCode) ? 10 : 1) * this.computedStep,
                            s = [34, 37, 40].includes(t.keyCode) ? -i : i;
                        if (this.dragOnlyRange) {
                            var n = this.dragOnlyRange ? this.model.max - this.model.min : 0,
                                o = ht(parseFloat((this.model.min + s).toFixed(this.decimals)), this.min, this.max - n);
                            this.model = {
                                min: o,
                                max: parseFloat((o + n).toFixed(this.decimals))
                            }
                        }
                        else {
                            if (!1 === this.focus)
                                return;
                            var r = this.focus;
                            this.model = Object.assign({}, this.model, ((e = {})[r] = ht(parseFloat((this.model[r] + s).toFixed(this.decimals)), "min" === r ? this.min : this.model.min, "max" === r ? this.max : this.model.max), e))
                        }
                        this.__updateValue()
                    }
                },
                __getThumb: function (t, e) {
                    var i = [
                        this.__getThumbSvg(t),
                        t("div", { staticClass: "q-slider__focus-ring" })
                    ];
                    return !0 !== this.label &amp;&amp; !0 !== this.labelAlways || i.push(t("div", {
                        staticClass: "q-slider__pin q-slider__pin" + this.axis + " absolute",
                        style: this[e + "PinStyle"].pin,
                        class: this[e + "PinClass"]
                    }, [
                        t("div", {
                            staticClass: "q-slider__pin-text-container q-slider__pin-text-container" + this.axis,
                            style: this[e + "PinStyle"].pinTextContainer
                        }, [
                            t("span", {
                                staticClass: "q-slider__pin-text",
                                class: this[e + "PinTextClass"]
                            }, [
                                this[e + "Label"]
                            ])
                        ])
                    ]), t("div", {
                        staticClass: "q-slider__arrow q-slider__arrow" + this.axis,
                        class: this[e + "PinClass"]
                    })), t("div", {
                        ref: e + "Thumb",
                        staticClass: "q-slider__thumb-container q-slider__thumb-container" + this.axis + " absolute non-selectable",
                        style: this[e + "ThumbStyle"],
                        class: this[e + "ThumbClass"],
                        on: this[e + "Events"],
                        attrs: { tabindex: !0 !== this.dragOnlyRange ? this.computedTabindex : null }
                    }, i)
                }
            },
            render: function (t) {
                var e = [
                    t("div", {
                        staticClass: "q-slider__track q-slider__track" + this.axis + " absolute",
                        style: this.trackStyle
                    })
                ];
                !0 === this.markers &amp;&amp; e.push(t("div", {
                    staticClass: "q-slider__track-markers q-slider__track-markers" + this.axis + " absolute-full fit",
                    style: this.markerStyle
                }));
                var i = [
                    t("div", { staticClass: "q-slider__track-container q-slider__track-container" + this.axis + " absolute" }, e),
                    this.__getThumb(t, "min"),
                    this.__getThumb(t, "max")
                ];
                return void 0 !== this.name &amp;&amp; !0 !== this.disable &amp;&amp; this.__injectFormInput(i, "push"), t("div", {
                    staticClass: null === this.value.min || null === this.value.max ? "q-slider--no-value" : void 0,
                    attrs: Object.assign({}, this.attrs, {
                        "aria-valuenow": this.value.min + "|" + this.value.max,
                        tabindex: !0 === this.dragOnlyRange &amp;&amp; !0 !== this.$q.platform.is.mobile ? this.computedTabindex : null
                    }),
                    class: this.classes,
                    on: this.events,
                    directives: this.panDirectives
                }, i)
            }
        }),
        hr = t.extend({
            name: "QRating",
            mixins: [
                Tt,
                ai,
                Mt
            ],
            props: {
                value: {
                    type: Number,
                    required: !0
                },
                max: {
                    type: [
                        String,
                        Number
                    ],
                    default: 5
                },
                icon: [
                    String,
                    Array
                ],
                iconHalf: [
                    String,
                    Array
                ],
                iconSelected: [
                    String,
                    Array
                ],
                color: [
                    String,
                    Array
                ],
                colorHalf: [
                    String,
                    Array
                ],
                colorSelected: [
                    String,
                    Array
                ],
                noReset: Boolean,
                noDimming: Boolean,
                readonly: Boolean,
                disable: Boolean
            },
            data: function () {
                return { mouseModel: 0 }
            },
            computed: {
                editable: function () {
                    return !0 !== this.readonly &amp;&amp; !0 !== this.disable
                },
                classes: function () {
                    return "q-rating--" + (!0 === this.editable ? "" : "non-") + "editable" + (!0 === this.noDimming ? " q-rating--no-dimming" : "") + (!0 === this.disable ? " disabled" : "") + (void 0 !== this.color &amp;&amp; !1 === Array.isArray(this.color) ? " text-" + this.color : "")
                },
                iconData: function () {
                    var t = !0 === Array.isArray(this.icon) ? this.icon.length : 0,
                        e = !0 === Array.isArray(this.iconSelected) ? this.iconSelected.length : 0,
                        i = !0 === Array.isArray(this.iconHalf) ? this.iconHalf.length : 0,
                        s = !0 === Array.isArray(this.color) ? this.color.length : 0,
                        n = !0 === Array.isArray(this.colorSelected) ? this.colorSelected.length : 0,
                        o = !0 === Array.isArray(this.colorHalf) ? this.colorHalf.length : 0;
                    return {
                        iconLen: t,
                        icon: t &gt; 0 ? this.icon[t - 1] : this.icon,
                        selIconLen: e,
                        selIcon: e &gt; 0 ? this.iconSelected[e - 1] : this.iconSelected,
                        halfIconLen: i,
                        halfIcon: i &gt; 0 ? this.iconHalf[e - 1] : this.iconHalf,
                        colorLen: s,
                        color: s &gt; 0 ? this.color[s - 1] : this.color,
                        selColorLen: n,
                        selColor: n &gt; 0 ? this.colorSelected[n - 1] : this.colorSelected,
                        halfColorLen: o,
                        halfColor: o &gt; 0 ? this.colorHalf[o - 1] : this.colorHalf
                    }
                },
                attrs: function () {
                    return !0 === this.disable ? { "aria-disabled": "" } : !0 === this.readonly ? { "aria-readonly": "" } : void 0
                }
            },
            methods: {
                __set: function (t) {
                    if (!0 === this.editable) {
                        var e = ht(parseInt(t, 10), 1, parseInt(this.max, 10)),
                            i = !0 !== this.noReset &amp;&amp; this.value === e ? 0 : e;
                        i !== this.value &amp;&amp; this.$emit("input", i),
                            this.mouseModel = 0
                    }
                },
                __setHoverValue: function (t) {
                    !0 === this.editable &amp;&amp; (this.mouseModel = t)
                },
                __keyup: function (t, e) {
                    switch (t.keyCode) {
                        case 13:
                        case 32:
                            return this.__set(e), S(t);
                        case 37:
                        case 40:
                            return this.$refs["rt" + (e - 1)] &amp;&amp; this.$refs["rt" + (e - 1)].focus(), S(t);
                        case 39:
                        case 38:
                            return this.$refs["rt" + (e + 1)] &amp;&amp; this.$refs["rt" + (e + 1)].focus(), S(t)
                    }
                }
            },
            render: function (t) {
                for (var e, i = this, s = [], n = !0 === this.editable ? 0 : null, o = this.iconData, r = Math.ceil(this.value), a = void 0 === this.iconHalf || r === this.value ? -1 : r, l = function (l) {
                    var c = 0 === i.mouseModel &amp;&amp; i.value &gt;= l || i.mouseModel &gt; 0 &amp;&amp; i.mouseModel &gt;= l,
                        u = a === l &amp;&amp; i.mouseModel &lt; l,
                        h = i.mouseModel &gt; 0 &amp;&amp; (!0 === u ? r : i.value) &gt;= l &amp;&amp; i.mouseModel &lt; l,
                        d = !0 === u ? l &lt;= o.halfIconLen ? i.iconHalf[l - 1] : o.halfIcon : void 0 === o.selIcon || !0 !== c &amp;&amp; !0 !== h ? l &lt;= o.iconLen ? i.icon[l - 1] : o.icon : l &lt;= o.selIconLen ? i.iconSelected[l - 1] : o.selIcon,
                        p = !0 === u ? l &lt;= o.halfColorLen ? i.colorHalf[l - 1] : o.halfColor : void 0 !== o.selColor &amp;&amp; !0 === c ? l &lt;= o.selColorLen ? i.colorSelected[l - 1] : o.selColor : l &lt;= o.colorLen ? i.color[l - 1] : o.color;
                    s.push(t(Et, {
                        key: l,
                        ref: "rt" + l,
                        staticClass: "q-rating__icon",
                        class: (e = {
                            "q-rating__icon--active": !0 === c || !0 === u,
                            "q-rating__icon--exselected": h,
                            "q-rating__icon--hovered": i.mouseModel === l
                        }, e["text-" + p] = void 0 !== p, e),
                        props: { name: d || i.$q.iconSet.rating.icon },
                        attrs: { tabindex: n },
                        on: mt(i, "i#" + l, {
                            click: function () {
                                i.__set(l)
                            },
                            mouseover: function () {
                                i.__setHoverValue(l)
                            },
                            mouseout: function () {
                                i.mouseModel = 0
                            },
                            focus: function () {
                                i.__setHoverValue(l)
                            },
                            blur: function () {
                                i.mouseModel = 0
                            },
                            keyup: function (t) {
                                i.__keyup(t, l)
                            }
                        })
                    }, Lt(i, "tip-" + l)))
                }, c = 1; c &lt;= i.max; c++)
                    l(c);
                return void 0 !== this.name &amp;&amp; !0 !== this.disable &amp;&amp; this.__injectFormInput(s, "push"), t("div", {
                    staticClass: "q-rating row inline items-center",
                    class: this.classes,
                    style: this.sizeStyle,
                    attrs: this.attrs,
                    on: Object.assign({}, this.qListeners)
                }, s)
            }
        }),
        dr = t.extend({
            name: "QResponsive",
            mixins: [
                qo,
                Mt
            ],
            render: function (t) {
                return t("div", {
                    staticClass: "q-responsive",
                    on: Object.assign({}, this.qListeners)
                }, [
                    t("div", { staticClass: "q-responsive__filler overflow-hidden" }, [
                        t("div", { style: this.ratioStyle })
                    ]),
                    t("div", { staticClass: "q-responsive__content absolute-full fit" }, Lt(this, "default"))
                ])
            }
        }),
        pr = t.extend({
            name: "QScrollArea",
            mixins: [
                Dt
            ],
            directives: { TouchPan: Qi },
            props: {
                barStyle: [
                    Array,
                    String,
                    Object
                ],
                thumbStyle: Object,
                contentStyle: [
                    Array,
                    String,
                    Object
                ],
                contentActiveStyle: [
                    Array,
                    String,
                    Object
                ],
                delay: {
                    type: [
                        String,
                        Number
                    ],
                    default: 1e3
                },
                visible: {
                    type: Boolean,
                    default: null
                },
                horizontal: Boolean
            },
            data: function () {
                return {
                    tempShowing: !1,
                    panning: !1,
                    hover: !1,
                    containerWidth: 0,
                    containerHeight: 0,
                    scrollPosition: 0,
                    scrollSize: 0
                }
            },
            computed: {
                classes: function () {
                    return "q-scrollarea" + (!0 === this.isDark ? " q-scrollarea--dark" : "")
                },
                thumbHidden: function () {
                    return !0 !== (null === this.visible ? this.hover : this.visible) &amp;&amp; !1 === this.tempShowing &amp;&amp; !1 === this.panning || this.scrollSize &lt;= this.containerSize
                },
                thumbSize: function () {
                    return Math.round(ht(this.containerSize * this.containerSize / this.scrollSize, 50, this.containerSize))
                },
                style: function () {
                    var t = this.scrollPercentage * (this.containerSize - this.thumbSize);
                    return Object.assign({}, this.thumbStyle, !0 === this.horizontal ? {
                        left: t + "px",
                        width: this.thumbSize + "px"
                    } : {
                        top: t + "px",
                        height: this.thumbSize + "px"
                    })
                },
                mainStyle: function () {
                    return !0 === this.thumbHidden ? this.contentStyle : this.contentActiveStyle
                },
                scrollPercentage: function () {
                    var t = ht(this.scrollPosition / (this.scrollSize - this.containerSize), 0, 1);
                    return Math.round(1e4 * t) / 1e4
                },
                containerSize: function () {
                    return this["container" + this.dirProps.suffix]
                },
                dirProps: function () {
                    return !0 === this.horizontal ? {
                        prefix: "horizontal",
                        suffix: "Width",
                        scroll: "scrollLeft",
                        classSuffix: "h absolute-bottom",
                        dir: "right",
                        dist: "x"
                    } : {
                        prefix: "vertical",
                        suffix: "Height",
                        scroll: "scrollTop",
                        classSuffix: "v absolute-right",
                        dir: "down",
                        dist: "y"
                    }
                },
                thumbClass: function () {
                    return "q-scrollarea__thumb--" + this.dirProps.classSuffix + (!0 === this.thumbHidden ? " q-scrollarea__thumb--invisible" : "")
                },
                barClass: function () {
                    return "q-scrollarea__bar--" + this.dirProps.classSuffix + (!0 === this.thumbHidden ? " q-scrollarea__bar--invisible" : "")
                }
            },
            methods: {
                getScrollTarget: function () {
                    return this.$refs.target
                },
                getScrollPosition: function () {
                    return this.scrollPosition
                },
                setScrollPosition: function (t, e) {
                    (!0 === this.horizontal ? We : Qe)(this.$refs.target, t, e)
                },
                __updateContainer: function (t) {
                    var e = t.height,
                        i = t.width,
                        s = !1;
                    this.containerWidth !== i &amp;&amp; (this.containerWidth = i, s = !0),
                        this.containerHeight !== e &amp;&amp; (this.containerHeight = e, s = !0),
                        !0 === s &amp;&amp; this.__startTimer()
                },
                __updateScroll: function (t) {
                    this.scrollPosition !== t.position &amp;&amp; (this.scrollPosition = t.position, this.__startTimer())
                },
                __updateScrollSize: function (t) {
                    var e = t.height,
                        i = t.width;
                    !0 === this.horizontal ? this.scrollSize !== i &amp;&amp; (this.scrollSize = i, this.__startTimer()) : this.scrollSize !== e &amp;&amp; (this.scrollSize = e, this.__startTimer())
                },
                __panThumb: function (t) {
                    if (!0 === t.isFirst) {
                        if (!0 === this.thumbHidden)
                            return;
                        this.refPos = this.scrollPosition,
                            this.panning = !0
                    }
                    else if (!0 !== this.panning)
                        return;
                    !0 === t.isFinal &amp;&amp; (this.panning = !1);
                    var e = (this.scrollSize - this.containerSize) / (this.containerSize - this.thumbSize),
                        i = t.distance[this.dirProps.dist],
                        s = this.refPos + (t.direction === this.dirProps.dir ? 1 : -1) * i * e;
                    this.__setScroll(s)
                },
                __mouseDown: function (t) {
                    if (!0 !== this.thumbHidden) {
                        var e = t["offset" + (!0 === this.horizontal ? "X" : "Y")] - this.thumbSize / 2;
                        this.__setScroll(e / this.containerSize * this.scrollSize),
                            void 0 !== this.$refs.thumb &amp;&amp; this.$refs.thumb.dispatchEvent(new MouseEvent(t.type, t))
                    }
                },
                __startTimer: function () {
                    var t = this;
                    !0 === this.tempShowing ? clearTimeout(this.timer) : this.tempShowing = !0,
                        this.timer = setTimeout(function () {
                            t.tempShowing = !1
                        }, this.delay),
                        this.__emitScroll()
                },
                __setScroll: function (t) {
                    this.$refs.target[this.dirProps.scroll] = t
                }
            },
            render: function (t) {
                var e = this;
                return t("div", {
                    class: this.classes,
                    on: mt(this, "desk", {
                        mouseenter: function () {
                            e.hover = !0
                        },
                        mouseleave: function () {
                            e.hover = !1
                        }
                    })
                }, [
                    t("div", {
                        ref: "target",
                        staticClass: "scroll relative-position fit hide-scrollbar"
                    }, [
                        t("div", {
                            staticClass: "absolute",
                            style: this.mainStyle,
                            class: "full-" + (!0 === this.horizontal ? "height" : "width")
                        }, Pt([
                            t(Zi, { on: mt(this, "resizeIn", { resize: this.__updateScrollSize }) })
                        ], this, "default")),
                        t(Ro, {
                            props: { horizontal: this.horizontal },
                            on: mt(this, "scroll", { scroll: this.__updateScroll })
                        })
                    ]),
                    t(Zi, { on: mt(this, "resizeOut", { resize: this.__updateContainer }) }),
                    t("div", {
                        staticClass: "q-scrollarea__bar",
                        style: this.barStyle,
                        class: this.barClass,
                        attrs: gt,
                        on: mt(this, "bar", { mousedown: this.__mouseDown })
                    }),
                    t("div", {
                        ref: "thumb",
                        staticClass: "q-scrollarea__thumb",
                        style: this.style,
                        class: this.thumbClass,
                        attrs: gt,
                        directives: mt(this, "thumb#" + this.horizontal, [
                            {
                                name: "touch-pan",
                                modifiers: {
                                    vertical: !0 !== this.horizontal,
                                    horizontal: this.horizontal,
                                    prevent: !0,
                                    mouse: !0,
                                    mouseAllDir: !0
                                },
                                value: this.__panThumb
                            }
                        ])
                    })
                ])
            },
            created: function () {
                var t = this;
                this.__emitScroll = $(function () {
                    if (void 0 !== t.$listeners.scroll) {
                        var e = { ref: t },
                            i = t.dirProps.prefix;
                        e[i + "Position"] = t.scrollPosition,
                            e[i + "Percentage"] = t.scrollPercentage,
                            e[i + "Size"] = t.scrollSize,
                            e[i + "ContainerSize"] = t.containerSize,
                            t.$emit("scroll", e)
                    }
                }, 0)
            }
        }),
        fr = 1e3,
        mr = Array.prototype.slice;
    function vr(t, e) {
        return t + e
    }
    function gr(t, e, i, s, n, o, r) {
        var a = t === window ? document.scrollingElement || document.documentElement : t,
            l = !0 === n ? "offsetWidth" : "offsetHeight",
            c = {
                scrollStart: 0,
                scrollViewSize: -o - r,
                scrollMaxSize: 0,
                offsetStart: -o,
                offsetEnd: -r
            };
        if (!0 === n ? (t === window ? (c.scrollStart = window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, c.scrollViewSize += window.innerWidth) : (c.scrollStart = a.scrollLeft, c.scrollViewSize += a.clientWidth), c.scrollMaxSize = a.scrollWidth) : (t === window ? (c.scrollStart = window.pageYOffset || window.scrollY || document.body.scrollTop || 0, c.scrollViewSize += window.innerHeight) : (c.scrollStart = a.scrollTop, c.scrollViewSize += a.clientHeight), c.scrollMaxSize = a.scrollHeight), void 0 !== i)
            for (var u = i.previousElementSibling; null !== u; u = u.previousElementSibling)
                !1 === u.classList.contains("q-virtual-scroll--skip") &amp;&amp; (c.offsetStart += u[l]);
        if (void 0 !== s)
            for (var h = s.nextElementSibling; null !== h; h = h.nextElementSibling)
                !1 === h.classList.contains("q-virtual-scroll--skip") &amp;&amp; (c.offsetEnd += h[l]);
        if (e !== t) {
            var d = a.getBoundingClientRect(),
                p = e.getBoundingClientRect();
            !0 === n ? (c.offsetStart += p.left - d.left, c.offsetEnd -= p.width) : (c.offsetStart += p.top - d.top, c.offsetEnd -= p.height),
                t !== window &amp;&amp; (c.offsetStart += c.scrollStart),
                c.offsetEnd += c.scrollMaxSize - c.offsetStart
        }
        return c
    }
    function _r(t, e, i) {
        t === window ? !0 === i ? window.scrollTo(e, window.pageYOffset || window.scrollY || document.body.scrollTop || 0) : window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, e) : t[!0 === i ? "scrollLeft" : "scrollTop"] = e
    }
    function br(t, e, i, s) {
        if (i &gt;= s)
            return 0;
        var n = e.length,
            o = Math.floor(i / fr),
            r = Math.floor((s - 1) / fr) + 1,
            a = t.slice(o, r).reduce(vr, 0);
        return i % fr != 0 &amp;&amp; (a -= e.slice(o * fr, i).reduce(vr, 0)), s % fr != 0 &amp;&amp; s !== n &amp;&amp; (a -= e.slice(s, r * fr).reduce(vr, 0)), a
    }
    var yr = {
        virtualScrollSliceSize: {
            type: Number,
            default: 30
        },
        virtualScrollItemSize: {
            type: Number,
            default: 24
        },
        virtualScrollStickySizeStart: {
            type: Number,
            default: 0
        },
        virtualScrollStickySizeEnd: {
            type: Number,
            default: 0
        }
    },
        wr = Object.keys(yr),
        Sr = {
            props: Object.assign({}, { virtualScrollHorizontal: Boolean }, yr),
            data: function () {
                return {
                    virtualScrollSliceRange: {
                        from: 0,
                        to: 0
                    }
                }
            },
            watch: {
                virtualScrollHorizontal: function () {
                    this.__setVirtualScrollSize()
                },
                needsReset: function () {
                    this.reset()
                }
            },
            computed: {
                needsReset: function () {
                    var t = this;
                    return ["virtualScrollItemSize", "virtualScrollHorizontal"].map(function (e) {
                        return t[e]
                    }).join(";")
                }
            },
            methods: {
                reset: function () {
                    this.__resetVirtualScroll(this.prevToIndex, !0)
                },
                refresh: function (t) {
                    this.__resetVirtualScroll(void 0 === t ? this.prevToIndex : t)
                },
                scrollTo: function (t) {
                    var e = this.__getVirtualScrollTarget();
                    void 0 !== e &amp;&amp; null !== e &amp;&amp; 8 !== e.nodeType &amp;&amp; this.__setVirtualScrollSliceRange(e, gr(e, this.__getVirtualScrollEl(), this.$refs.before, this.$refs.after, this.virtualScrollHorizontal, this.virtualScrollStickySizeStart, this.virtualScrollStickySizeEnd), Math.min(this.virtualScrollLength - 1, Math.max(0, parseInt(t, 10) || 0)), 0, this.prevToIndex &gt; -1 &amp;&amp; t &gt; this.prevToIndex ? "end" : "start")
                },
                __onVirtualScrollEvt: function () {
                    var t = this.__getVirtualScrollTarget();
                    if (void 0 !== t &amp;&amp; null !== t &amp;&amp; 8 !== t.nodeType) {
                        var e = gr(t, this.__getVirtualScrollEl(), this.$refs.before, this.$refs.after, this.virtualScrollHorizontal, this.virtualScrollStickySizeStart, this.virtualScrollStickySizeEnd),
                            i = e.scrollMaxSize - Math.max(e.scrollViewSize, e.offsetEnd) - this.virtualScrollSizes[this.virtualScrollLength - 1],
                            s = this.virtualScrollLength - 1;
                        if (this.prevScrollStart !== e.scrollStart)
                            if (this.prevScrollStart = void 0, this.__updateVirtualScrollSizes(this.virtualScrollSliceRange.from), i &gt; 0 &amp;&amp; e.scrollStart &gt;= i)
                                this.__setVirtualScrollSliceRange(t, e, this.virtualScrollLength - 1, e.scrollMaxSize - e.offsetEnd - this.virtualScrollSizesAgg.reduce(vr, 0));
                            else {
                                for (var n = 0, o = e.scrollStart - e.offsetStart, r = o, a = 0; o &gt;= this.virtualScrollSizesAgg[a] &amp;&amp; n &lt; s; a++)
                                    o -= this.virtualScrollSizesAgg[a],
                                        n += fr;
                                for (; o &gt; 0 &amp;&amp; n &lt; s;)
                                    (o -= this.virtualScrollSizes[n]) &gt; -e.scrollViewSize ? (n++, r = o) : r = this.virtualScrollSizes[n] + o;
                                this.__setVirtualScrollSliceRange(t, e, n, r)
                            }
                    }
                },
                __setVirtualScrollSliceRange: function (t, e, i, s, n) {
                    var o = this,
                        r = Math.max(0, Math.ceil(i - (void 0 === n ? 3 : 2) * this.virtualScrollSliceSizeComputed / 6)),
                        a = r + this.virtualScrollSliceSizeComputed;
                    a &gt; this.virtualScrollLength &amp;&amp; (a = this.virtualScrollLength, r = Math.max(0, a - this.virtualScrollSliceSizeComputed));
                    var l = r !== this.virtualScrollSliceRange.from || a !== this.virtualScrollSliceRange.to;
                    !1 !== l || void 0 !== n ? (!0 === l &amp;&amp; (this.virtualScrollSliceRange = {
                        from: r,
                        to: a
                    }, this.virtualScrollPaddingBefore = br(this.virtualScrollSizesAgg, this.virtualScrollSizes, 0, r), this.virtualScrollPaddingAfter = br(this.virtualScrollSizesAgg, this.virtualScrollSizes, a, this.virtualScrollLength)), this.$nextTick(function () {
                        !0 === l &amp;&amp; o.__updateVirtualScrollSizes(r);
                        var a = o.virtualScrollSizes.slice(r, i).reduce(vr, e.offsetStart + o.virtualScrollPaddingBefore),
                            c = a + o.virtualScrollSizes[i],
                            u = a + s;
                        void 0 !== n &amp;&amp; (u = e.scrollStart &lt; a &amp;&amp; c &lt; e.scrollStart + e.scrollViewSize ? e.scrollStart : "end" === n ? c - e.scrollViewSize : a),
                            o.prevScrollStart = u,
                            o.__setScroll(t, u, o.virtualScrollHorizontal),
                            o.__emitScroll(i)
                    })) : this.__emitScroll(i)
                },
                __updateVirtualScrollSizes: function (t) {
                    var e = this.$refs.content;
                    if (void 0 !== e)
                        for (var i, s, n = mr.call(e.children).filter(function (t) {
                            return !1 === t.classList.contains("q-virtual-scroll--skip")
                        }), o = n.length, r = !0 === this.virtualScrollHorizontal ? "offsetWidth" : "offsetHeight", a = t, l = 0; l &lt; o;) {
                            for (i = n[l][r], l++; l &lt; o &amp;&amp; !0 === n[l].classList.contains("q-virtual-scroll--with-prev");)
                                i += n[l][r],
                                    l++;
                            0 !== (s = i - this.virtualScrollSizes[a]) &amp;&amp; (this.virtualScrollSizes[a] += s, this.virtualScrollSizesAgg[Math.floor(a / fr)] += s),
                                a++
                        }
                },
                __resetVirtualScroll: function (t, e) {
                    var i = this,
                        s = this.virtualScrollItemSize;
                    !0 !== e &amp;&amp; !1 !== Array.isArray(this.virtualScrollSizes) || (this.virtualScrollSizes = []);
                    var n = this.virtualScrollSizes.length;
                    this.virtualScrollSizes.length = this.virtualScrollLength;
                    for (var o = this.virtualScrollLength - 1; o &gt;= n; o--)
                        this.virtualScrollSizes[o] = s;
                    var r = Math.floor((this.virtualScrollLength - 1) / fr);
                    this.virtualScrollSizesAgg = [];
                    for (var a = 0; a &lt;= r; a++) {
                        for (var l = 0, c = Math.min((a + 1) * fr, this.virtualScrollLength), u = a * fr; u &lt; c; u++)
                            l += this.virtualScrollSizes[u];
                        this.virtualScrollSizesAgg.push(l)
                    }
                    this.prevToIndex = -1,
                        this.prevScrollStart = void 0,
                        t &gt;= 0 ? (this.__updateVirtualScrollSizes(this.virtualScrollSliceRange.from), this.$nextTick(function () {
                            i.scrollTo(t)
                        })) : (this.virtualScrollPaddingBefore = br(this.virtualScrollSizesAgg, this.virtualScrollSizes, 0, this.virtualScrollSliceRange.from), this.virtualScrollPaddingAfter = br(this.virtualScrollSizesAgg, this.virtualScrollSizes, this.virtualScrollSliceRange.to, this.virtualScrollLength), this.__onVirtualScrollEvt())
                },
                __setVirtualScrollSize: function () {
                    !0 === this.virtualScrollHorizontal ? this.virtualScrollSliceSizeComputed = "undefined" == typeof window ? this.virtualScrollSliceSize : Math.max(this.virtualScrollSliceSize, Math.ceil(window.innerWidth / this.virtualScrollItemSize * 2)) : this.virtualScrollSliceSizeComputed = "undefined" == typeof window ? this.virtualScrollSliceSize : Math.max(this.virtualScrollSliceSize, Math.ceil(window.innerHeight / this.virtualScrollItemSize * 2))
                },
                __padVirtualScroll: function (t, e, i) {
                    var s,
                        n,
                        o,
                        r,
                        a = !0 === this.virtualScrollHorizontal ? "width" : "height";
                    return [
                        "tbody" === e ? t(e, {
                            staticClass: "q-virtual-scroll__padding",
                            key: "before",
                            ref: "before"
                        }, [
                            t("tr", [
                                t("td", {
                                    style: (s = {}, s[a] = this.virtualScrollPaddingBefore + "px", s),
                                    attrs: { colspan: "100%" }
                                })
                            ])
                        ]) : t(e, {
                            staticClass: "q-virtual-scroll__padding",
                            key: "before",
                            ref: "before",
                            style: (n = {}, n[a] = this.virtualScrollPaddingBefore + "px", n)
                        }),
                        t(e, {
                            staticClass: "q-virtual-scroll__content",
                            key: "content",
                            ref: "content"
                        }, i),
                        "tbody" === e ? t(e, {
                            staticClass: "q-virtual-scroll__padding",
                            key: "after",
                            ref: "after"
                        }, [
                            t("tr", [
                                t("td", {
                                    style: (o = {}, o[a] = this.virtualScrollPaddingAfter + "px", o),
                                    attrs: { colspan: "100%" }
                                })
                            ])
                        ]) : t(e, {
                            staticClass: "q-virtual-scroll__padding",
                            key: "after",
                            ref: "after",
                            style: (r = {}, r[a] = this.virtualScrollPaddingAfter + "px", r)
                        })
                    ]
                },
                __emitScroll: function (t) {
                    this.prevToIndex !== t &amp;&amp; (void 0 !== this.qListeners["virtual-scroll"] &amp;&amp; this.$emit("virtual-scroll", {
                        index: t,
                        from: this.virtualScrollSliceRange.from,
                        to: this.virtualScrollSliceRange.to - 1,
                        direction: t &lt; this.prevToIndex ? "decrease" : "increase",
                        ref: this
                    }), this.prevToIndex = t)
                }
            },
            created: function () {
                this.__setVirtualScrollSize()
            },
            beforeMount: function () {
                this.__onVirtualScrollEvt = $(this.__onVirtualScrollEvt, 70),
                    this.__setScroll = Zo(_r),
                    this.__setVirtualScrollSize()
            }
        },
        xr = function (t) {
            return ["add", "add-unique", "toggle"].includes(t)
        },
        Cr = t.extend({
            name: "QSelect",
            mixins: [
                kn,
                Sr,
                In,
                li,
                Mt
            ],
            props: {
                value: { required: !0 },
                multiple: Boolean,
                displayValue: [
                    String,
                    Number
                ],
                displayValueSanitize: Boolean,
                dropdownIcon: String,
                options: {
                    type: Array,
                    default: function () {
                        return []
                    }
                },
                optionValue: [
                    Function,
                    String
                ],
                optionLabel: [
                    Function,
                    String
                ],
                optionDisable: [
                    Function,
                    String
                ],
                hideSelected: Boolean,
                hideDropdownIcon: Boolean,
                fillInput: Boolean,
                maxValues: [
                    Number,
                    String
                ],
                optionsDense: Boolean,
                optionsDark: {
                    type: Boolean,
                    default: null
                },
                optionsSelectedClass: String,
                optionsSanitize: Boolean,
                optionsCover: Boolean,
                menuShrink: Boolean,
                menuAnchor: String,
                menuSelf: String,
                menuOffset: Array,
                popupContentClass: String,
                popupContentStyle: [
                    String,
                    Array,
                    Object
                ],
                useInput: Boolean,
                useChips: Boolean,
                newValueMode: {
                    type: String,
                    validator: xr
                },
                mapOptions: Boolean,
                emitValue: Boolean,
                inputDebounce: {
                    type: [
                        Number,
                        String
                    ],
                    default: 500
                },
                inputClass: [
                    Array,
                    String,
                    Object
                ],
                inputStyle: [
                    Array,
                    String,
                    Object
                ],
                tabindex: {
                    type: [
                        String,
                        Number
                    ],
                    default: 0
                },
                transitionShow: String,
                transitionHide: String,
                behavior: {
                    type: String,
                    validator: function (t) {
                        return ["default", "menu", "dialog"].includes(t)
                    },
                    default: "default"
                }
            },
            data: function () {
                return {
                    menu: !1,
                    dialog: !1,
                    optionIndex: -1,
                    inputValue: "",
                    dialogFieldFocused: !1
                }
            },
            watch: {
                innerValue: {
                    handler: function (t) {
                        this.innerValueCache = t,
                            !0 === this.useInput &amp;&amp; !0 === this.fillInput &amp;&amp; !0 !== this.multiple &amp;&amp; !0 !== this.innerLoading &amp;&amp; (!0 !== this.dialog &amp;&amp; !0 !== this.menu || !0 !== this.hasValue) &amp;&amp; (!0 !== this.userInputValue &amp;&amp; this.__resetInputValue(), !0 !== this.dialog &amp;&amp; !0 !== this.menu || this.filter(""))
                    },
                    immediate: !0
                },
                fillInput: function () {
                    this.__resetInputValue()
                },
                menu: function (t) {
                    this.__updateMenu(t)
                }
            },
            computed: {
                isOptionsDark: function () {
                    return null === this.optionsDark ? this.isDark : this.optionsDark
                },
                virtualScrollLength: function () {
                    return Array.isArray(this.options) ? this.options.length : 0
                },
                fieldClass: function () {
                    return "q-select q-field--auto-height q-select--with" + (!0 !== this.useInput ? "out" : "") + "-input q-select--with" + (!0 !== this.useChips ? "out" : "") + "-chips"
                },
                computedInputClass: function () {
                    return !0 === this.hideSelected || 0 === this.innerValue.length ? this.inputClass : void 0 === this.inputClass ? "q-field__input--padding" : [
                        this.inputClass,
                        "q-field__input--padding"
                    ]
                },
                menuContentClass: function () {
                    return (!0 === this.virtualScrollHorizontal ? "q-virtual-scroll--horizontal" : "") + (this.popupContentClass ? " " + this.popupContentClass : "")
                },
                innerValue: function () {
                    var t = this,
                        e = !0 === this.mapOptions &amp;&amp; !0 !== this.multiple,
                        i = void 0 === this.value || null === this.value &amp;&amp; !0 !== e ? [] : !0 === this.multiple &amp;&amp; Array.isArray(this.value) ? this.value : [
                            this.value
                        ];
                    if (!0 === this.mapOptions &amp;&amp; !0 === Array.isArray(this.options)) {
                        var s = !0 === this.mapOptions &amp;&amp; void 0 !== this.innerValueCache ? this.innerValueCache : [],
                            n = i.map(function (e) {
                                return t.__getOption(e, s)
                            });
                        return null === this.value &amp;&amp; !0 === e ? n.filter(function (t) {
                            return null !== t
                        }) : n
                    }
                    return i
                },
                noOptions: function () {
                    return 0 === this.virtualScrollLength
                },
                selectedString: function () {
                    var t = this;
                    return this.innerValue.map(function (e) {
                        return t.getOptionLabel(e)
                    }).join(", ")
                },
                sanitizeFn: function () {
                    return !0 === this.optionsSanitize ? function () {
                        return !0
                    } : function (t) {
                        return void 0 !== t &amp;&amp; null !== t &amp;&amp; !0 === t.sanitize
                    }
                },
                displayAsText: function () {
                    return !0 === this.displayValueSanitize || void 0 === this.displayValue &amp;&amp; (!0 === this.optionsSanitize || this.innerValue.some(this.sanitizeFn))
                },
                computedTabindex: function () {
                    return !0 === this.focused ? this.tabindex : -1
                },
                selectedScope: function () {
                    var t = this;
                    return this.innerValue.map(function (e, i) {
                        return {
                            index: i,
                            opt: e,
                            sanitize: t.sanitizeFn(e),
                            selected: !0,
                            removeAtIndex: t.__removeAtIndexAndFocus,
                            toggleOption: t.toggleOption,
                            tabindex: t.computedTabindex
                        }
                    })
                },
                optionScope: function () {
                    var t = this;
                    if (0 === this.virtualScrollLength)
                        return [];
                    var e = this.virtualScrollSliceRange,
                        i = e.from,
                        s = e.to;
                    return this.options.slice(i, s).map(function (e, s) {
                        var n = !0 === t.isOptionDisabled(e),
                            o = i + s,
                            r = {
                                clickable: !0,
                                active: !1,
                                activeClass: t.computedOptionsSelectedClass,
                                manualFocus: !0,
                                focused: !1,
                                disable: n,
                                tabindex: -1,
                                dense: t.optionsDense,
                                dark: t.isOptionsDark
                            };
                        !0 !== n &amp;&amp; (!0 === t.isOptionSelected(e) &amp;&amp; (r.active = !0), t.optionIndex === o &amp;&amp; (r.focused = !0));
                        var a = {
                            click: function () {
                                t.toggleOption(e)
                            }
                        };
                        return !0 === t.$q.platform.is.desktop &amp;&amp; (a.mousemove = function () {
                            t.setOptionIndex(o)
                        }), {
                            index: o,
                            opt: e,
                            sanitize: t.sanitizeFn(e),
                            selected: r.active,
                            focused: r.focused,
                            toggleOption: t.toggleOption,
                            setOptionIndex: t.setOptionIndex,
                            itemProps: r,
                            itemEvents: a
                        }
                    })
                },
                dropdownArrowIcon: function () {
                    return void 0 !== this.dropdownIcon ? this.dropdownIcon : this.$q.iconSet.arrow.dropdown
                },
                squaredMenu: function () {
                    return !1 === this.optionsCover &amp;&amp; !0 !== this.outlined &amp;&amp; !0 !== this.standout &amp;&amp; !0 !== this.borderless &amp;&amp; !0 !== this.rounded
                },
                computedOptionsSelectedClass: function () {
                    return void 0 !== this.optionsSelectedClass ? this.optionsSelectedClass : void 0 !== this.color ? "text-" + this.color : ""
                },
                innerOptionsValue: function () {
                    var t = this;
                    return this.innerValue.map(function (e) {
                        return t.getOptionValue(e)
                    })
                },
                getOptionValue: function () {
                    return this.__getPropValueFn("optionValue", "value")
                },
                getOptionLabel: function () {
                    return this.__getPropValueFn("optionLabel", "label")
                },
                isOptionDisabled: function () {
                    return this.__getPropValueFn("optionDisable", "disable")
                },
                inputControlEvents: function () {
                    var t = this,
                        e = {
                            input: this.__onInput,
                            change: this.__onChange,
                            keydown: this.__onTargetKeydown,
                            keyup: this.__onTargetKeyup,
                            keypress: this.__onTargetKeypress,
                            focus: this.__selectInputText,
                            click: function (e) {
                                !0 === t.hasDialog &amp;&amp; y(e)
                            }
                        };
                    return e.compositionstart = e.compositionupdate = e.compositionend = this.__onComposition, e
                }
            },
            methods: {
                getEmittingOptionValue: function (t) {
                    return !0 === this.emitValue ? this.getOptionValue(t) : t
                },
                removeAtIndex: function (t) {
                    if (t &gt; -1 &amp;&amp; t &lt; this.innerValue.length)
                        if (!0 === this.multiple) {
                            var e = this.value.slice();
                            this.$emit("remove", {
                                index: t,
                                value: e.splice(t, 1)[0]
                            }),
                                this.$emit("input", e)
                        }
                        else
                            this.$emit("input", null)
                },
                __removeAtIndexAndFocus: function (t) {
                    this.removeAtIndex(t),
                        this.__focus()
                },
                add: function (t, e) {
                    var i = this.getEmittingOptionValue(t);
                    if (!0 !== this.multiple)
                        return !0 === this.fillInput &amp;&amp; this.updateInputValue(this.getOptionLabel(t), !0, !0), void this.$emit("input", i);
                    if (0 === this.innerValue.length)
                        return this.$emit("add", {
                            index: 0,
                            value: i
                        }), void this.$emit("input", !0 === this.multiple ? [
                            i
                        ] : i);
                    if (!(!0 === e &amp;&amp; !0 === this.isOptionSelected(t) || void 0 !== this.maxValues &amp;&amp; this.value.length &gt;= this.maxValues)) {
                        var s = this.value.slice();
                        this.$emit("add", {
                            index: s.length,
                            value: i
                        }),
                            s.push(i),
                            this.$emit("input", s)
                    }
                },
                toggleOption: function (t, e) {
                    if (!0 === this.editable &amp;&amp; void 0 !== t &amp;&amp; !0 !== this.isOptionDisabled(t)) {
                        var i = this.getOptionValue(t);
                        if (!0 !== this.multiple)
                            return !0 !== e &amp;&amp; (this.updateInputValue(!0 === this.fillInput ? this.getOptionLabel(t) : "", !0, !0), this.hidePopup()), void 0 !== this.$refs.target &amp;&amp; this.$refs.target.focus(), void (!0 !== wi(this.getOptionValue(this.innerValue[0]), i) &amp;&amp; this.$emit("input", !0 === this.emitValue ? i : t));
                        if ((!0 !== this.hasDialog || !0 === this.dialogFieldFocused) &amp;&amp; this.__focus(), this.__selectInputText(), 0 === this.innerValue.length) {
                            var s = !0 === this.emitValue ? i : t;
                            return this.$emit("add", {
                                index: 0,
                                value: s
                            }), void this.$emit("input", !0 === this.multiple ? [
                                s
                            ] : s)
                        }
                        var n = this.value.slice(),
                            o = this.innerOptionsValue.findIndex(function (t) {
                                return wi(t, i)
                            });
                        if (o &gt; -1)
                            this.$emit("remove", {
                                index: o,
                                value: n.splice(o, 1)[0]
                            });
                        else {
                            if (void 0 !== this.maxValues &amp;&amp; n.length &gt;= this.maxValues)
                                return;
                            var r = !0 === this.emitValue ? i : t;
                            this.$emit("add", {
                                index: n.length,
                                value: r
                            }),
                                n.push(r)
                        }
                        this.$emit("input", n)
                    }
                },
                setOptionIndex: function (t) {
                    if (!0 === this.$q.platform.is.desktop) {
                        var e = t &gt; -1 &amp;&amp; t &lt; this.virtualScrollLength ? t : -1;
                        this.optionIndex !== e &amp;&amp; (this.optionIndex = e)
                    }
                },
                moveOptionSelection: function (t, e) {
                    if (void 0 === t &amp;&amp; (t = 1), !0 === this.menu) {
                        var i = this.optionIndex;
                        do
                            i = dt(i + t, -1, this.virtualScrollLength - 1);
                        while (-1 !== i &amp;&amp; i !== this.optionIndex &amp;&amp; !0 === this.isOptionDisabled(this.options[i]));
                        this.optionIndex !== i &amp;&amp; (this.setOptionIndex(i), this.scrollTo(i), !0 !== e &amp;&amp; !0 === this.useInput &amp;&amp; !0 === this.fillInput &amp;&amp; this.__setInputValue(i &gt;= 0 ? this.getOptionLabel(this.options[i]) : this.defaultInputValue))
                    }
                },
                __getOption: function (t, e) {
                    var i = this,
                        s = function (e) {
                            return wi(i.getOptionValue(e), t)
                        };
                    return this.options.find(s) || e.find(s) || t
                },
                __getPropValueFn: function (t, e) {
                    var i = void 0 !== this[t] ? this[t] : e;
                    return "function" == typeof i ? i : function (t) {
                        return Object(t) === t &amp;&amp; i in t ? t[i] : t
                    }
                },
                isOptionSelected: function (t) {
                    var e = this.getOptionValue(t);
                    return void 0 !== this.innerOptionsValue.find(function (t) {
                        return wi(t, e)
                    })
                },
                __selectInputText: function () {
                    !0 === this.useInput &amp;&amp; void 0 !== this.$refs.target &amp;&amp; this.$refs.target.select()
                },
                __onTargetKeyup: function (t) {
                    !0 === tt(t, 27) &amp;&amp; !0 === this.menu &amp;&amp; (y(t), this.hidePopup(), this.__resetInputValue()),
                        this.$emit("keyup", t)
                },
                __onTargetAutocomplete: function (t) {
                    var e = this,
                        i = t.target.value;
                    if (t.target.value = "", void 0 === t.keyCode) {
                        if ("string" == typeof i &amp;&amp; i.length &gt; 0) {
                            var s = i.toLocaleLowerCase(),
                                n = function (t) {
                                    return e.getOptionValue(t).toLocaleLowerCase() === s
                                },
                                o = this.options.find(n);
                            null !== o ? -1 === this.innerValue.indexOf(o) &amp;&amp; this.toggleOption(o) : (n = function (t) {
                                return e.getOptionLabel(t).toLocaleLowerCase() === s
                            }, null !== (o = this.options.find(n)) &amp;&amp; -1 === this.innerValue.indexOf(o) &amp;&amp; this.toggleOption(o))
                        }
                    }
                    else
                        this.__onTargetKeyup(t)
                },
                __onTargetKeypress: function (t) {
                    this.$emit("keypress", t)
                },
                __onTargetKeydown: function (t) {
                    var e = this;
                    if (this.$emit("keydown", t), !0 !== J(t)) {
                        var i = this.inputValue.length &gt; 0 &amp;&amp; (void 0 !== this.newValueMode || void 0 !== this.qListeners["new-value"]),
                            s = !0 !== t.shiftKey &amp;&amp; !0 !== this.multiple &amp;&amp; (this.optionIndex &gt; -1 || !0 === i);
                        if (27 !== t.keyCode)
                            if (9 !== t.keyCode || !1 !== s) {
                                if (void 0 !== t.target &amp;&amp; t.target.id === this.targetUid) {
                                    if (40 === t.keyCode &amp;&amp; !0 !== this.innerLoading &amp;&amp; !1 === this.menu)
                                        return S(t), void this.showPopup();
                                    if (8 === t.keyCode &amp;&amp; !0 === this.multiple &amp;&amp; !0 !== this.hideSelected &amp;&amp; 0 === this.inputValue.length &amp;&amp; Array.isArray(this.value))
                                        this.removeAtIndex(this.value.length - 1);
                                    else {
                                        38 !== t.keyCode &amp;&amp; 40 !== t.keyCode || (S(t), this.moveOptionSelection(38 === t.keyCode ? -1 : 1, this.multiple));
                                        var n = this.virtualScrollLength;
                                        if ((void 0 === this.searchBuffer || this.searchBufferExp &lt; Date.now()) &amp;&amp; (this.searchBuffer = ""), n &gt; 0 &amp;&amp; !0 !== this.useInput &amp;&amp; 1 === t.key.length &amp;&amp; t.altKey === t.ctrlKey &amp;&amp; (32 !== t.keyCode || this.searchBuffer.length &gt; 0)) {
                                            !0 !== this.menu &amp;&amp; this.showPopup(t);
                                            var o = t.key.toLocaleLowerCase(),
                                                r = 1 === this.searchBuffer.length &amp;&amp; this.searchBuffer[0] === o;
                                            this.searchBufferExp = Date.now() + 1500,
                                                !1 === r &amp;&amp; (S(t), this.searchBuffer += o);
                                            var a = new RegExp("^" + this.searchBuffer.split("").map(function (t) {
                                                return ".*+?^${}()|[]\\".indexOf(t) &gt; -1 ? "\\" + t : t
                                            }).join(".*"), "i"),
                                                l = this.optionIndex;
                                            if (!0 === r || l &lt; 0 || !0 !== a.test(this.getOptionLabel(this.options[l])))
                                                do
                                                    l = dt(l + 1, -1, n - 1);
                                                while (l !== this.optionIndex &amp;&amp; (!0 === this.isOptionDisabled(this.options[l]) || !0 !== a.test(this.getOptionLabel(this.options[l]))));
                                            this.optionIndex !== l &amp;&amp; this.$nextTick(function () {
                                                e.setOptionIndex(l),
                                                    e.scrollTo(l),
                                                    l &gt;= 0 &amp;&amp; !0 === e.useInput &amp;&amp; !0 === e.fillInput &amp;&amp; e.__setInputValue(e.getOptionLabel(e.options[l]))
                                            })
                                        }
                                        else if (13 === t.keyCode || 32 === t.keyCode &amp;&amp; !0 !== this.useInput &amp;&amp; "" === this.searchBuffer || 9 === t.keyCode &amp;&amp; !1 !== s)
                                            if (9 !== t.keyCode &amp;&amp; S(t), this.optionIndex &gt; -1 &amp;&amp; this.optionIndex &lt; n)
                                                this.toggleOption(this.options[this.optionIndex]);
                                            else {
                                                if (!0 === i) {
                                                    var c = function (t, i) {
                                                        if (i) {
                                                            if (!0 !== xr(i))
                                                                return
                                                        }
                                                        else
                                                            i = e.newValueMode;
                                                        void 0 !== t &amp;&amp; null !== t &amp;&amp; (e.updateInputValue("", !0 !== e.multiple, !0), e["toggle" === i ? "toggleOption" : "add"](t, "add-unique" === i), !0 !== e.multiple &amp;&amp; (void 0 !== e.$refs.target &amp;&amp; e.$refs.target.focus(), e.hidePopup()))
                                                    };
                                                    if (void 0 !== this.qListeners["new-value"] ? this.$emit("new-value", this.inputValue, c) : c(this.inputValue), !0 !== this.multiple)
                                                        return
                                                }
                                                !0 === this.menu ? this.__closeMenu() : !0 !== this.innerLoading &amp;&amp; this.showPopup()
                                            }
                                    }
                                }
                            }
                            else
                                this.__closeMenu();
                        else
                            w(t)
                    }
                },
                __getVirtualScrollEl: function () {
                    return !0 === this.hasDialog ? this.$refs.menuContent : void 0 !== this.$refs.menu &amp;&amp; void 0 !== this.$refs.menu.__portal ? this.$refs.menu.__portal.$el : void 0
                },
                __getVirtualScrollTarget: function () {
                    return this.__getVirtualScrollEl()
                },
                __getSelection: function (t, e) {
                    var i,
                        s = this;
                    return !0 === this.hideSelected ? !0 === e || !0 !== this.dialog || !0 !== this.hasDialog ? [] : [
                        t("span", { domProps: { textContent: this.inputValue } })
                    ] : void 0 !== this.$scopedSlots["selected-item"] ? this.selectedScope.map(function (t) {
                        return s.$scopedSlots["selected-item"](t)
                    }).slice() : void 0 !== this.$scopedSlots.selected ? this.$scopedSlots.selected().slice() : !0 === this.useChips ? this.selectedScope.map(function (e, i) {
                        var n;
                        return t(Pi, {
                            key: "option-" + i,
                            props: {
                                removable: !0 === s.editable &amp;&amp; !0 !== s.isOptionDisabled(e.opt),
                                dense: !0,
                                textColor: s.color,
                                tabindex: s.computedTabindex
                            },
                            on: mt(s, "rem#" + i, {
                                remove: function () {
                                    e.removeAtIndex(i)
                                }
                            })
                        }, [
                            t("span", {
                                staticClass: "ellipsis",
                                domProps: (n = {}, n[!0 === e.sanitize ? "textContent" : "innerHTML"] = s.getOptionLabel(e.opt), n)
                            })
                        ])
                    }) : [
                        t("span", { domProps: (i = {}, i[this.displayAsText ? "textContent" : "innerHTML"] = void 0 !== this.displayValue ? this.displayValue : this.selectedString, i) })
                    ]
                },
                __getControl: function (t, e) {
                    var i = this.__getSelection(t, e),
                        s = !0 === e || !0 !== this.dialog || !0 !== this.hasDialog;
                    if (!0 === s &amp;&amp; !0 === this.useInput ? i.push(this.__getInput(t, e)) : !0 === this.editable &amp;&amp; (!0 === s &amp;&amp; i.push(t("div", {
                        ref: "target",
                        key: "d_t",
                        staticClass: "no-outline",
                        attrs: {
                            id: this.targetUid,
                            tabindex: this.tabindex
                        },
                        on: mt(this, "f-tget", {
                            keydown: this.__onTargetKeydown,
                            keyup: this.__onTargetKeyup,
                            keypress: this.__onTargetKeypress
                        })
                    })), void 0 !== this.qAttrs.autocomplete &amp;&amp; i.push(t("input", {
                        staticClass: "q-select__autocomplete-input no-outline",
                        attrs: { autocomplete: this.qAttrs.autocomplete },
                        on: mt(this, "autoinp", { keyup: this.__onTargetAutocomplete })
                    }))), void 0 !== this.nameProp &amp;&amp; !0 !== this.disable &amp;&amp; this.innerOptionsValue.length &gt; 0) {
                        var n = this.innerOptionsValue.map(function (e) {
                            return t("option", {
                                attrs: {
                                    value: e,
                                    selected: !0
                                }
                            })
                        });
                        i.push(t("select", {
                            staticClass: "hidden",
                            attrs: {
                                name: this.nameProp,
                                multiple: this.multiple
                            }
                        }, n))
                    }
                    return t("div", {
                        staticClass: "q-field__native row items-center",
                        attrs: this.qAttrs
                    }, i)
                },
                __getOptions: function (t) {
                    var e = this;
                    if (!0 === this.menu) {
                        var i = void 0 !== this.$scopedSlots.option ? this.$scopedSlots.option : function (i) {
                            var s;
                            return t(Nn, {
                                key: i.index,
                                props: i.itemProps,
                                on: i.itemEvents
                            }, [
                                t(Hn, [
                                    t(ro, { domProps: (s = {}, s[!0 === i.sanitize ? "textContent" : "innerHTML"] = e.getOptionLabel(i.opt), s) })
                                ])
                            ])
                        },
                            s = this.__padVirtualScroll(t, "div", this.optionScope.map(i));
                        return void 0 !== this.$scopedSlots["before-options"] &amp;&amp; (s = this.$scopedSlots["before-options"]().concat(s)), Pt(s, this, "after-options")
                    }
                },
                __getInnerAppend: function (t) {
                    return !0 !== this.loading &amp;&amp; !0 !== this.innerLoading &amp;&amp; !0 !== this.hideDropdownIcon ? [
                        t(Et, {
                            staticClass: "q-select__dropdown-icon",
                            props: { name: this.dropdownArrowIcon }
                        })
                    ] : null
                },
                __getInput: function (t, e) {
                    var i = {
                        ref: "target",
                        key: "i_t",
                        staticClass: "q-field__input q-placeholder col",
                        style: this.inputStyle,
                        class: this.computedInputClass,
                        domProps: { value: void 0 !== this.inputValue ? this.inputValue : "" },
                        attrs: Object.assign({}, { type: "search" }, this.qAttrs, {
                            id: this.targetUid,
                            maxlength: this.maxlength,
                            tabindex: this.tabindex,
                            "data-autofocus": !0 !== e &amp;&amp; this.autofocus,
                            disabled: !0 === this.disable,
                            readonly: !0 === this.readonly
                        }),
                        on: this.inputControlEvents
                    };
                    return !0 !== e &amp;&amp; !0 === this.hasDialog &amp;&amp; (i.staticClass += " no-pointer-events", i.attrs.readonly = !0), t("input", i)
                },
                __onChange: function (t) {
                    this.__onComposition(t)
                },
                __onInput: function (t) {
                    var e = this;
                    clearTimeout(this.inputTimer),
                        t &amp;&amp; t.target &amp;&amp; !0 === t.target.composing || (this.__setInputValue(t.target.value || ""), this.userInputValue = !0, this.defaultInputValue = this.inputValue, !0 === this.focused || !0 === this.hasDialog &amp;&amp; !0 !== this.dialogFieldFocused || this.__focus(), void 0 !== this.qListeners.filter &amp;&amp; (this.inputTimer = setTimeout(function () {
                            e.filter(e.inputValue)
                        }, this.inputDebounce)))
                },
                __setInputValue: function (t) {
                    this.inputValue !== t &amp;&amp; (this.inputValue = t, this.$emit("input-value", t))
                },
                updateInputValue: function (t, e, i) {
                    this.userInputValue = !0 !== i,
                        !0 === this.useInput &amp;&amp; (this.__setInputValue(t), !0 !== e &amp;&amp; !0 === i || (this.defaultInputValue = t), !0 !== e &amp;&amp; this.filter(t))
                },
                filter: function (t) {
                    var e = this;
                    if (void 0 !== this.qListeners.filter &amp;&amp; !0 === this.focused) {
                        !0 === this.innerLoading ? this.$emit("filter-abort") : this.innerLoading = !0,
                            "" !== t &amp;&amp; !0 !== this.multiple &amp;&amp; this.innerValue.length &gt; 0 &amp;&amp; !0 !== this.userInputValue &amp;&amp; t === this.getOptionLabel(this.innerValue[0]) &amp;&amp; (t = "");
                        var i = setTimeout(function () {
                            !0 === e.menu &amp;&amp; (e.menu = !1)
                        }, 10);
                        clearTimeout(this.filterId),
                            this.filterId = i,
                            this.$emit("filter", t, function (t, s) {
                                !0 === e.focused &amp;&amp; e.filterId === i &amp;&amp; (clearTimeout(e.filterId), "function" == typeof t &amp;&amp; t(), e.$nextTick(function () {
                                    e.innerLoading = !1,
                                        !0 === e.editable &amp;&amp; (!0 === e.menu ? e.__updateMenu(!0) : e.menu = !0),
                                        "function" == typeof s &amp;&amp; e.$nextTick(function () {
                                            s(e)
                                        })
                                }))
                            }, function () {
                                !0 === e.focused &amp;&amp; e.filterId === i &amp;&amp; (clearTimeout(e.filterId), e.innerLoading = !1),
                                    !0 === e.menu &amp;&amp; (e.menu = !1)
                            })
                    }
                },
                __getControlEvents: function () {
                    var t = this,
                        e = function (e) {
                            t.__onControlFocusout(e, function () {
                                t.__resetInputValue(),
                                    t.__closeMenu()
                            })
                        };
                    return {
                        focusin: this.__onControlFocusin,
                        focusout: e,
                        "popup-show": this.__onControlPopupShow,
                        "popup-hide": function (i) {
                            void 0 !== i &amp;&amp; y(i),
                                t.$emit("popup-hide", i),
                                t.hasPopupOpen = !1,
                                e(i)
                        },
                        click: function (e) {
                            if (!0 !== t.hasDialog) {
                                if (!0 === t.useInput &amp;&amp; !0 !== e.target.classList.contains("q-field__input") || !0 !== t.useInput &amp;&amp; !0 === e.target.classList.contains("no-outline"))
                                    return;
                                if (!0 === t.menu)
                                    return t.__closeMenu(), void (void 0 !== t.$refs.target &amp;&amp; t.$refs.target.focus())
                            }
                            t.showPopup(e)
                        }
                    }
                },
                __getControlChild: function (t) {
                    if (!1 !== this.editable &amp;&amp; (!0 === this.dialog || !0 !== this.noOptions || void 0 !== this.$scopedSlots["no-option"]))
                        return this["__get" + (!0 === this.hasDialog ? "Dialog" : "Menu")](t)
                },
                __getMenu: function (t) {
                    var e = !0 === this.noOptions ? void 0 !== this.$scopedSlots["no-option"] ? this.$scopedSlots["no-option"]({ inputValue: this.inputValue }) : null : this.__getOptions(t);
                    return t(oi, {
                        ref: "menu",
                        props: {
                            value: this.menu,
                            fit: !0 !== this.menuShrink,
                            cover: !0 === this.optionsCover &amp;&amp; !0 !== this.noOptions &amp;&amp; !0 !== this.useInput,
                            anchor: this.menuAnchor,
                            self: this.menuSelf,
                            offset: this.menuOffset,
                            contentClass: this.menuContentClass,
                            contentStyle: this.popupContentStyle,
                            dark: this.isOptionsDark,
                            noParentEvent: !0,
                            noRefocus: !0,
                            noFocus: !0,
                            square: this.squaredMenu,
                            transitionShow: this.transitionShow,
                            transitionHide: this.transitionHide,
                            separateClosePopup: !0
                        },
                        on: mt(this, "menu", {
                            "&amp;scroll": this.__onVirtualScrollEvt,
                            "before-hide": this.__closeMenu
                        })
                    }, e)
                },
                __onDialogFieldFocus: function (t) {
                    y(t),
                        void 0 !== this.$refs.target &amp;&amp; this.$refs.target.focus(),
                        this.dialogFieldFocused = !0,
                        window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, 0)
                },
                __onDialogFieldBlur: function (t) {
                    var e = this;
                    y(t),
                        this.$nextTick(function () {
                            e.dialogFieldFocused = !1
                        })
                },
                __getDialog: function (t) {
                    var e = this,
                        i = [
                            t(kn, {
                                staticClass: "col-auto " + this.fieldClass,
                                props: Object.assign({}, this.$props, {
                                    for: this.targetUid,
                                    dark: this.isOptionsDark,
                                    square: !0,
                                    loading: this.innerLoading,
                                    filled: !0,
                                    stackLabel: this.inputValue.length &gt; 0
                                }),
                                on: Object.assign({}, this.qListeners, {
                                    focus: this.__onDialogFieldFocus,
                                    blur: this.__onDialogFieldBlur
                                }),
                                scopedSlots: Object.assign({}, this.$scopedSlots, {
                                    rawControl: function () {
                                        return e.__getControl(t, !0)
                                    },
                                    before: void 0,
                                    after: void 0
                                })
                            })
                        ];
                    return !0 === this.menu &amp;&amp; i.push(t("div", {
                        ref: "menuContent",
                        staticClass: "scroll",
                        class: this.menuContentClass,
                        style: this.popupContentStyle,
                        on: mt(this, "virtMenu", {
                            click: w,
                            "&amp;scroll": this.__onVirtualScrollEvt
                        })
                    }, !0 === this.noOptions ? void 0 !== this.$scopedSlots["no-option"] ? this.$scopedSlots["no-option"]({ inputValue: this.inputValue }) : null : this.__getOptions(t))), t(pn, {
                        ref: "dialog",
                        props: {
                            value: this.dialog,
                            dark: this.isOptionsDark,
                            position: !0 === this.useInput ? "top" : void 0,
                            transitionShow: this.transitionShowComputed,
                            transitionHide: this.transitionHide
                        },
                        on: mt(this, "dialog", {
                            "before-hide": this.__onDialogBeforeHide,
                            hide: this.__onDialogHide,
                            show: this.__onDialogShow
                        })
                    }, [
                        t("div", { staticClass: "q-select__dialog" + (!0 === this.isOptionsDark ? " q-select__dialog--dark q-dark" : "") + (!0 === this.dialogFieldFocused ? " q-select__dialog--focused" : "") }, i)
                    ])
                },
                __onDialogBeforeHide: function () {
                    this.$refs.dialog.__refocusTarget = this.$el.querySelector(".q-field__native &gt; [tabindex]:last-child"),
                        this.focused = !1
                },
                __onDialogHide: function (t) {
                    this.hidePopup(),
                        !1 === this.focused &amp;&amp; this.$emit("blur", t),
                        this.__resetInputValue()
                },
                __onDialogShow: function () {
                    var t = document.activeElement;
                    null !== t &amp;&amp; t.id === this.targetUid || this.$refs.target === t || void 0 === this.$refs.target || this.$refs.target.focus()
                },
                __closeMenu: function () {
                    !0 !== this.dialog &amp;&amp; (this.optionIndex = -1, !0 === this.menu &amp;&amp; (this.menu = !1), !1 === this.focused &amp;&amp; (clearTimeout(this.filterId), this.filterId = void 0, !0 === this.innerLoading &amp;&amp; (this.$emit("filter-abort"), this.innerLoading = !1)))
                },
                showPopup: function (t) {
                    var e = this;
                    !0 === this.editable &amp;&amp; (!0 === this.hasDialog ? (this.__onControlFocusin(t), this.dialog = !0, this.$nextTick(function () {
                        e.__focus()
                    })) : this.__focus(), void 0 !== this.qListeners.filter ? this.filter(this.inputValue) : !0 === this.noOptions &amp;&amp; void 0 === this.$scopedSlots["no-option"] || (this.menu = !0))
                },
                hidePopup: function () {
                    this.dialog = !1,
                        this.__closeMenu()
                },
                __resetInputValue: function () {
                    !0 === this.useInput &amp;&amp; this.updateInputValue(!0 !== this.multiple &amp;&amp; !0 === this.fillInput &amp;&amp; this.innerValue.length &gt; 0 &amp;&amp; this.getOptionLabel(this.innerValue[0]) || "", !0, !0)
                },
                __updateMenu: function (t) {
                    var e = this,
                        i = -1;
                    if (!0 === t) {
                        if (this.innerValue.length &gt; 0) {
                            var s = this.getOptionValue(this.innerValue[0]);
                            i = this.options.findIndex(function (t) {
                                return wi(e.getOptionValue(t), s)
                            })
                        }
                        this.__resetVirtualScroll(i)
                    }
                    this.setOptionIndex(i)
                },
                __onPreRender: function () {
                    this.hasDialog = (!0 === this.$q.platform.is.mobile || "dialog" === this.behavior) &amp;&amp; ("menu" !== this.behavior &amp;&amp; (!0 !== this.useInput || (void 0 !== this.$scopedSlots["no-option"] || void 0 !== this.qListeners.filter || !1 === this.noOptions))),
                        this.transitionShowComputed = !0 === this.hasDialog &amp;&amp; !0 === this.useInput &amp;&amp; !0 === this.$q.platform.is.ios ? "fade" : this.transitionShow
                },
                __onPostRender: function () {
                    !1 === this.dialog &amp;&amp; void 0 !== this.$refs.menu &amp;&amp; this.$refs.menu.updatePosition()
                },
                updateMenuPosition: function () {
                    this.__onPostRender()
                }
            },
            beforeDestroy: function () {
                clearTimeout(this.inputTimer)
            }
        }),
        kr = ["text", "rect", "circle", "QBtn", "QBadge", "QChip", "QToolbar", "QCheckbox", "QRadio", "QToggle", "QSlider", "QRange", "QInput", "QAvatar"],
        qr = ["wave", "pulse", "pulse-x", "pulse-y", "fade", "blink", "none"],
        Tr = t.extend({
            name: "QSkeleton",
            mixins: [
                Dt,
                $t,
                Mt
            ],
            props: {
                type: {
                    type: String,
                    validator: function (t) {
                        return kr.includes(t)
                    },
                    default: "rect"
                },
                animation: {
                    type: String,
                    validator: function (t) {
                        return qr.includes(t)
                    },
                    default: "wave"
                },
                square: Boolean,
                bordered: Boolean,
                size: String,
                width: String,
                height: String
            },
            computed: {
                style: function () {
                    return void 0 !== this.size ? {
                        width: this.size,
                        height: this.size
                    } : {
                        width: this.width,
                        height: this.height
                    }
                },
                classes: function () {
                    return "q-skeleton--" + (!0 === this.isDark ? "dark" : "light") + " q-skeleton--type-" + this.type + ("none" !== this.animation ? " q-skeleton--anim q-skeleton--anim-" + this.animation : "") + (!0 === this.square ? " q-skeleton--square" : "") + (!0 === this.bordered ? " q-skeleton--bordered" : "")
                }
            },
            render: function (t) {
                return t(this.tag, {
                    staticClass: "q-skeleton",
                    class: this.classes,
                    style: this.style,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        $r = [
            ["left", "center", "start", "width"],
            ["right", "center", "end", "width"],
            ["top", "start", "center", "height"],
            ["bottom", "end", "center", "height"]
        ],
        Mr = t.extend({
            name: "QSlideItem",
            mixins: [
                Dt,
                Mt
            ],
            props: {
                leftColor: String,
                rightColor: String,
                topColor: String,
                bottomColor: String
            },
            directives: { TouchPan: Qi },
            computed: {
                langDir: function () {
                    return !0 === this.$q.lang.rtl ? {
                        left: "right",
                        right: "left"
                    } : {
                        left: "left",
                        right: "right"
                    }
                }
            },
            methods: {
                reset: function () {
                    this.$refs.content.style.transform = "translate(0,0)"
                },
                __pan: function (t) {
                    var e,
                        i,
                        s,
                        n = this,
                        o = this.$refs.content;
                    if (t.isFirst)
                        this.__dir = null,
                            this.__size = {
                                left: 0,
                                right: 0,
                                top: 0,
                                bottom: 0
                            },
                            this.__scale = 0,
                            o.classList.add("no-transition"),
                            $r.forEach(function (t) {
                                if (void 0 !== n.$scopedSlots[t[0]]) {
                                    var e = n.$refs[t[0] + "Content"];
                                    e.style.transform = "scale(1)",
                                        n.__size[t[0]] = e.getBoundingClientRect()[t[3]]
                                }
                            }),
                            this.__axis = "up" === t.direction || "down" === t.direction ? "Y" : "X";
                    else {
                        if (t.isFinal)
                            return o.classList.remove("no-transition"), void (1 === this.__scale ? (o.style.transform = "translate" + this.__axis + "(" + 100 * this.__dir + "%)", this.timer = setTimeout(function () {
                                n.$emit(n.__showing, { reset: n.reset }),
                                    n.$emit("action", {
                                        side: n.__showing,
                                        reset: n.reset
                                    })
                            }, 230)) : o.style.transform = "translate(0,0)");
                        t.direction = "X" === this.__axis ? t.offset.x &lt; 0 ? "left" : "right" : t.offset.y &lt; 0 ? "up" : "down"
                    }
                    void 0 === this.$scopedSlots.left &amp;&amp; t.direction === this.langDir.right || void 0 === this.$scopedSlots.right &amp;&amp; t.direction === this.langDir.left || void 0 === this.$scopedSlots.top &amp;&amp; "down" === t.direction || void 0 === this.$scopedSlots.bottom &amp;&amp; "up" === t.direction ? o.style.transform = "translate(0,0)" : ("X" === this.__axis ? (i = "left" === t.direction ? -1 : 1, e = 1 === i ? this.langDir.left : this.langDir.right, s = t.distance.x) : (i = "up" === t.direction ? -2 : 2, e = 2 === i ? "top" : "bottom", s = t.distance.y), null !== this.__dir &amp;&amp; Math.abs(i) !== Math.abs(this.__dir) || (this.__dir !== i &amp;&amp; (["left", "right", "top", "bottom"].forEach(function (t) {
                        void 0 !== n.$refs[t] &amp;&amp; (n.$refs[t].style.visibility = e === t ? "visible" : "hidden")
                    }), this.__showing = e, this.__dir = i), this.__scale = Math.max(0, Math.min(1, (s - 40) / this.__size[e])), o.style.transform = "translate" + this.__axis + "(" + s * i / Math.abs(i) + "px)", this.$refs[e + "Content"].style.transform = "scale(" + this.__scale + ")"))
                }
            },
            render: function (t) {
                var e = this,
                    i = [],
                    s = void 0 !== this.$scopedSlots[this.langDir.right],
                    n = void 0 !== this.$scopedSlots[this.langDir.left],
                    o = void 0 !== this.$scopedSlots.bottom,
                    r = void 0 !== this.$scopedSlots.top;
                return $r.forEach(function (s) {
                    var n = s[0];
                    void 0 !== e.$scopedSlots[n] &amp;&amp; i.push(t("div", {
                        ref: n,
                        class: "q-slide-item__" + n + " absolute-full row no-wrap items-" + s[1] + " justify-" + s[2] + (void 0 !== e[n + "Color"] ? " bg-" + e[n + "Color"] : "")
                    }, [
                        t("div", { ref: n + "Content" }, e.$scopedSlots[n]())
                    ]))
                }), i.push(t("div", {
                    ref: "content",
                    key: "content",
                    staticClass: "q-slide-item__content",
                    directives: !0 === s || !0 === n || !0 === o || !0 === r ? [
                        {
                            name: "touch-pan",
                            value: this.__pan,
                            modifiers: {
                                left: s,
                                right: n,
                                up: o,
                                down: r,
                                prevent: !0,
                                stop: !0,
                                mouse: !0
                            }
                        }
                    ] : null
                }, Lt(this, "default"))), t("div", {
                    staticClass: "q-slide-item q-item-type overflow-hidden",
                    class: !0 === this.isDark ? "q-slide-item--dark q-dark" : "",
                    on: Object.assign({}, this.qListeners)
                }, i)
            },
            beforeDestroy: function () {
                clearTimeout(this.timer)
            }
        }),
        Lr = t.extend({
            name: "QSpace",
            mixins: [
                Mt
            ],
            render: function (t) {
                return t("div", {
                    staticClass: "q-space",
                    on: Object.assign({}, this.qListeners)
                })
            }
        }),
        Br = t.extend({
            name: "QSpinnerAudio",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        fill: "currentColor",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 55 80",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("g", { attrs: { transform: "matrix(1 0 0 -1 0 80)" } }, [
                        t("rect", {
                            attrs: {
                                width: "10",
                                height: "20",
                                rx: "3"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "height",
                                    begin: "0s",
                                    dur: "4.3s",
                                    values: "20;45;57;80;64;32;66;45;64;23;66;13;64;56;34;34;2;23;76;79;20",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("rect", {
                            attrs: {
                                x: "15",
                                width: "10",
                                height: "80",
                                rx: "3"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "height",
                                    begin: "0s",
                                    dur: "2s",
                                    values: "80;55;33;5;75;23;73;33;12;14;60;80",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("rect", {
                            attrs: {
                                x: "30",
                                width: "10",
                                height: "50",
                                rx: "3"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "height",
                                    begin: "0s",
                                    dur: "1.4s",
                                    values: "50;34;78;23;56;23;34;76;80;54;21;50",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("rect", {
                            attrs: {
                                x: "45",
                                width: "10",
                                height: "30",
                                rx: "3"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "height",
                                    begin: "0s",
                                    dur: "2s",
                                    values: "30;45;13;80;56;72;45;76;34;23;67;30",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            })
                        ])
                    ])
                ])
            }
        }),
        Pr = t.extend({
            name: "QSpinnerBall",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        stroke: "currentColor",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 57 57",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("g", {
                        attrs: {
                            transform: "translate(1 1)",
                            "stroke-width": "2",
                            fill: "none",
                            "fill-rule": "evenodd"
                        }
                    }, [
                        t("circle", {
                            attrs: {
                                cx: "5",
                                cy: "50",
                                r: "5"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "cy",
                                    begin: "0s",
                                    dur: "2.2s",
                                    values: "50;5;50;50",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            }),
                            t("animate", {
                                attrs: {
                                    attributeName: "cx",
                                    begin: "0s",
                                    dur: "2.2s",
                                    values: "5;27;49;5",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("circle", {
                            attrs: {
                                cx: "27",
                                cy: "5",
                                r: "5"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "cy",
                                    begin: "0s",
                                    dur: "2.2s",
                                    from: "5",
                                    to: "5",
                                    values: "5;50;50;5",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            }),
                            t("animate", {
                                attrs: {
                                    attributeName: "cx",
                                    begin: "0s",
                                    dur: "2.2s",
                                    from: "27",
                                    to: "27",
                                    values: "27;49;5;27",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("circle", {
                            attrs: {
                                cx: "49",
                                cy: "50",
                                r: "5"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "cy",
                                    begin: "0s",
                                    dur: "2.2s",
                                    values: "50;50;5;50",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            }),
                            t("animate", {
                                attrs: {
                                    attributeName: "cx",
                                    from: "49",
                                    to: "49",
                                    begin: "0s",
                                    dur: "2.2s",
                                    values: "49;5;27;49",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            })
                        ])
                    ])
                ])
            }
        }),
        Or = t.extend({
            name: "QSpinnerBars",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        fill: "currentColor",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 135 140",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("rect", {
                        attrs: {
                            y: "10",
                            width: "15",
                            height: "120",
                            rx: "6"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "height",
                                begin: "0.5s",
                                dur: "1s",
                                values: "120;110;100;90;80;70;60;50;40;140;120",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        }),
                        t("animate", {
                            attrs: {
                                attributeName: "y",
                                begin: "0.5s",
                                dur: "1s",
                                values: "10;15;20;25;30;35;40;45;50;0;10",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("rect", {
                        attrs: {
                            x: "30",
                            y: "10",
                            width: "15",
                            height: "120",
                            rx: "6"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "height",
                                begin: "0.25s",
                                dur: "1s",
                                values: "120;110;100;90;80;70;60;50;40;140;120",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        }),
                        t("animate", {
                            attrs: {
                                attributeName: "y",
                                begin: "0.25s",
                                dur: "1s",
                                values: "10;15;20;25;30;35;40;45;50;0;10",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("rect", {
                        attrs: {
                            x: "60",
                            width: "15",
                            height: "140",
                            rx: "6"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "height",
                                begin: "0s",
                                dur: "1s",
                                values: "120;110;100;90;80;70;60;50;40;140;120",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        }),
                        t("animate", {
                            attrs: {
                                attributeName: "y",
                                begin: "0s",
                                dur: "1s",
                                values: "10;15;20;25;30;35;40;45;50;0;10",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("rect", {
                        attrs: {
                            x: "90",
                            y: "10",
                            width: "15",
                            height: "120",
                            rx: "6"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "height",
                                begin: "0.25s",
                                dur: "1s",
                                values: "120;110;100;90;80;70;60;50;40;140;120",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        }),
                        t("animate", {
                            attrs: {
                                attributeName: "y",
                                begin: "0.25s",
                                dur: "1s",
                                values: "10;15;20;25;30;35;40;45;50;0;10",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("rect", {
                        attrs: {
                            x: "120",
                            y: "10",
                            width: "15",
                            height: "120",
                            rx: "6"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "height",
                                begin: "0.5s",
                                dur: "1s",
                                values: "120;110;100;90;80;70;60;50;40;140;120",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        }),
                        t("animate", {
                            attrs: {
                                attributeName: "y",
                                begin: "0.5s",
                                dur: "1s",
                                values: "10;15;20;25;30;35;40;45;50;0;10",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ])
                ])
            }
        }),
        Er = t.extend({
            name: "QSpinnerComment",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        width: this.cSize,
                        height: this.cSize,
                        xmlns: "http://www.w3.org/2000/svg",
                        viewBox: "0 0 100 100",
                        preserveAspectRatio: "xMidYMid"
                    }
                }, [
                    t("rect", {
                        attrs: {
                            x: "0",
                            y: "0",
                            width: "100",
                            height: "100",
                            fill: "none"
                        }
                    }),
                    t("path", {
                        attrs: {
                            d: "M78,19H22c-6.6,0-12,5.4-12,12v31c0,6.6,5.4,12,12,12h37.2c0.4,3,1.8,5.6,3.7,7.6c2.4,2.5,5.1,4.1,9.1,4 c-1.4-2.1-2-7.2-2-10.3c0-0.4,0-0.8,0-1.3h8c6.6,0,12-5.4,12-12V31C90,24.4,84.6,19,78,19z",
                            fill: "currentColor"
                        }
                    }),
                    t("circle", {
                        attrs: {
                            cx: "30",
                            cy: "47",
                            r: "5",
                            fill: "#fff"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "opacity",
                                from: "0",
                                to: "1",
                                values: "0;1;1",
                                keyTimes: "0;0.2;1",
                                dur: "1s",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("circle", {
                        attrs: {
                            cx: "50",
                            cy: "47",
                            r: "5",
                            fill: "#fff"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "opacity",
                                from: "0",
                                to: "1",
                                values: "0;0;1;1",
                                keyTimes: "0;0.2;0.4;1",
                                dur: "1s",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("circle", {
                        attrs: {
                            cx: "70",
                            cy: "47",
                            r: "5",
                            fill: "#fff"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "opacity",
                                from: "0",
                                to: "1",
                                values: "0;0;1;1",
                                keyTimes: "0;0.4;0.6;1",
                                dur: "1s",
                                repeatCount: "indefinite"
                            }
                        })
                    ])
                ])
            }
        }),
        zr = t.extend({
            name: "QSpinnerCube",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        width: this.cSize,
                        height: this.cSize,
                        xmlns: "http://www.w3.org/2000/svg",
                        viewBox: "0 0 100 100",
                        preserveAspectRatio: "xMidYMid"
                    }
                }, [
                    t("rect", {
                        attrs: {
                            x: "0",
                            y: "0",
                            width: "100",
                            height: "100",
                            fill: "none"
                        }
                    }),
                    t("g", { attrs: { transform: "translate(25 25)" } }, [
                        t("rect", {
                            attrs: {
                                x: "-20",
                                y: "-20",
                                width: "40",
                                height: "40",
                                fill: "currentColor",
                                opacity: "0.9"
                            }
                        }, [
                            t("animateTransform", {
                                attrs: {
                                    attributeName: "transform",
                                    type: "scale",
                                    from: "1.5",
                                    to: "1",
                                    repeatCount: "indefinite",
                                    begin: "0s",
                                    dur: "1s",
                                    calcMode: "spline",
                                    keySplines: "0.2 0.8 0.2 0.8",
                                    keyTimes: "0;1"
                                }
                            })
                        ])
                    ]),
                    t("g", { attrs: { transform: "translate(75 25)" } }, [
                        t("rect", {
                            attrs: {
                                x: "-20",
                                y: "-20",
                                width: "40",
                                height: "40",
                                fill: "currentColor",
                                opacity: "0.8"
                            }
                        }, [
                            t("animateTransform", {
                                attrs: {
                                    attributeName: "transform",
                                    type: "scale",
                                    from: "1.5",
                                    to: "1",
                                    repeatCount: "indefinite",
                                    begin: "0.1s",
                                    dur: "1s",
                                    calcMode: "spline",
                                    keySplines: "0.2 0.8 0.2 0.8",
                                    keyTimes: "0;1"
                                }
                            })
                        ])
                    ]),
                    t("g", { attrs: { transform: "translate(25 75)" } }, [
                        t("rect", {
                            staticClass: "cube",
                            attrs: {
                                x: "-20",
                                y: "-20",
                                width: "40",
                                height: "40",
                                fill: "currentColor",
                                opacity: "0.7"
                            }
                        }, [
                            t("animateTransform", {
                                attrs: {
                                    attributeName: "transform",
                                    type: "scale",
                                    from: "1.5",
                                    to: "1",
                                    repeatCount: "indefinite",
                                    begin: "0.3s",
                                    dur: "1s",
                                    calcMode: "spline",
                                    keySplines: "0.2 0.8 0.2 0.8",
                                    keyTimes: "0;1"
                                }
                            })
                        ])
                    ]),
                    t("g", { attrs: { transform: "translate(75 75)" } }, [
                        t("rect", {
                            staticClass: "cube",
                            attrs: {
                                x: "-20",
                                y: "-20",
                                width: "40",
                                height: "40",
                                fill: "currentColor",
                                opacity: "0.6"
                            }
                        }, [
                            t("animateTransform", {
                                attrs: {
                                    attributeName: "transform",
                                    type: "scale",
                                    from: "1.5",
                                    to: "1",
                                    repeatCount: "indefinite",
                                    begin: "0.2s",
                                    dur: "1s",
                                    calcMode: "spline",
                                    keySplines: "0.2 0.8 0.2 0.8",
                                    keyTimes: "0;1"
                                }
                            })
                        ])
                    ])
                ])
            }
        }),
        Ar = t.extend({
            name: "QSpinnerDots",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        fill: "currentColor",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 120 30",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("circle", {
                        attrs: {
                            cx: "15",
                            cy: "15",
                            r: "15"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "r",
                                from: "15",
                                to: "15",
                                begin: "0s",
                                dur: "0.8s",
                                values: "15;9;15",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        }),
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                from: "1",
                                to: "1",
                                begin: "0s",
                                dur: "0.8s",
                                values: "1;.5;1",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("circle", {
                        attrs: {
                            cx: "60",
                            cy: "15",
                            r: "9",
                            "fill-opacity": ".3"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "r",
                                from: "9",
                                to: "9",
                                begin: "0s",
                                dur: "0.8s",
                                values: "9;15;9",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        }),
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                from: ".5",
                                to: ".5",
                                begin: "0s",
                                dur: "0.8s",
                                values: ".5;1;.5",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("circle", {
                        attrs: {
                            cx: "105",
                            cy: "15",
                            r: "15"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "r",
                                from: "15",
                                to: "15",
                                begin: "0s",
                                dur: "0.8s",
                                values: "15;9;15",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        }),
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                from: "1",
                                to: "1",
                                begin: "0s",
                                dur: "0.8s",
                                values: "1;.5;1",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ])
                ])
            }
        }),
        Dr = t.extend({
            name: "QSpinnerFacebook",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 100 100",
                        xmlns: "http://www.w3.org/2000/svg",
                        preserveAspectRatio: "xMidYMid"
                    }
                }, [
                    t("g", { attrs: { transform: "translate(20 50)" } }, [
                        t("rect", {
                            attrs: {
                                x: "-10",
                                y: "-30",
                                width: "20",
                                height: "60",
                                fill: "currentColor",
                                opacity: "0.6"
                            }
                        }, [
                            t("animateTransform", {
                                attrs: {
                                    attributeName: "transform",
                                    type: "scale",
                                    from: "2",
                                    to: "1",
                                    begin: "0s",
                                    repeatCount: "indefinite",
                                    dur: "1s",
                                    calcMode: "spline",
                                    keySplines: "0.1 0.9 0.4 1",
                                    keyTimes: "0;1",
                                    values: "2;1"
                                }
                            })
                        ])
                    ]),
                    t("g", { attrs: { transform: "translate(50 50)" } }, [
                        t("rect", {
                            attrs: {
                                x: "-10",
                                y: "-30",
                                width: "20",
                                height: "60",
                                fill: "currentColor",
                                opacity: "0.8"
                            }
                        }, [
                            t("animateTransform", {
                                attrs: {
                                    attributeName: "transform",
                                    type: "scale",
                                    from: "2",
                                    to: "1",
                                    begin: "0.1s",
                                    repeatCount: "indefinite",
                                    dur: "1s",
                                    calcMode: "spline",
                                    keySplines: "0.1 0.9 0.4 1",
                                    keyTimes: "0;1",
                                    values: "2;1"
                                }
                            })
                        ])
                    ]),
                    t("g", { attrs: { transform: "translate(80 50)" } }, [
                        t("rect", {
                            attrs: {
                                x: "-10",
                                y: "-30",
                                width: "20",
                                height: "60",
                                fill: "currentColor",
                                opacity: "0.9"
                            }
                        }, [
                            t("animateTransform", {
                                attrs: {
                                    attributeName: "transform",
                                    type: "scale",
                                    from: "2",
                                    to: "1",
                                    begin: "0.2s",
                                    repeatCount: "indefinite",
                                    dur: "1s",
                                    calcMode: "spline",
                                    keySplines: "0.1 0.9 0.4 1",
                                    keyTimes: "0;1",
                                    values: "2;1"
                                }
                            })
                        ])
                    ])
                ])
            }
        }),
        Rr = t.extend({
            name: "QSpinnerGears",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 100 100",
                        preserveAspectRatio: "xMidYMid",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("g", { attrs: { transform: "translate(-20,-20)" } }, [
                        t("path", {
                            attrs: {
                                d: "M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z",
                                fill: "currentColor"
                            }
                        }, [
                            t("animateTransform", {
                                attrs: {
                                    attributeName: "transform",
                                    type: "rotate",
                                    from: "90 50 50",
                                    to: "0 50 50",
                                    dur: "1s",
                                    repeatCount: "indefinite"
                                }
                            })
                        ])
                    ]),
                    t("g", { attrs: { transform: "translate(20,20) rotate(15 50 50)" } }, [
                        t("path", {
                            attrs: {
                                d: "M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z",
                                fill: "currentColor"
                            }
                        }, [
                            t("animateTransform", {
                                attrs: {
                                    attributeName: "transform",
                                    type: "rotate",
                                    from: "0 50 50",
                                    to: "90 50 50",
                                    dur: "1s",
                                    repeatCount: "indefinite"
                                }
                            })
                        ])
                    ])
                ])
            }
        }),
        Ir = t.extend({
            name: "QSpinnerGrid",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        fill: "currentColor",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 105 105",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("circle", {
                        attrs: {
                            cx: "12.5",
                            cy: "12.5",
                            r: "12.5"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                begin: "0s",
                                dur: "1s",
                                values: "1;.2;1",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("circle", {
                        attrs: {
                            cx: "12.5",
                            cy: "52.5",
                            r: "12.5",
                            "fill-opacity": ".5"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                begin: "100ms",
                                dur: "1s",
                                values: "1;.2;1",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("circle", {
                        attrs: {
                            cx: "52.5",
                            cy: "12.5",
                            r: "12.5"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                begin: "300ms",
                                dur: "1s",
                                values: "1;.2;1",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("circle", {
                        attrs: {
                            cx: "52.5",
                            cy: "52.5",
                            r: "12.5"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                begin: "600ms",
                                dur: "1s",
                                values: "1;.2;1",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("circle", {
                        attrs: {
                            cx: "92.5",
                            cy: "12.5",
                            r: "12.5"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                begin: "800ms",
                                dur: "1s",
                                values: "1;.2;1",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("circle", {
                        attrs: {
                            cx: "92.5",
                            cy: "52.5",
                            r: "12.5"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                begin: "400ms",
                                dur: "1s",
                                values: "1;.2;1",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("circle", {
                        attrs: {
                            cx: "12.5",
                            cy: "92.5",
                            r: "12.5"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                begin: "700ms",
                                dur: "1s",
                                values: "1;.2;1",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("circle", {
                        attrs: {
                            cx: "52.5",
                            cy: "92.5",
                            r: "12.5"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                begin: "500ms",
                                dur: "1s",
                                values: "1;.2;1",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("circle", {
                        attrs: {
                            cx: "92.5",
                            cy: "92.5",
                            r: "12.5"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                begin: "200ms",
                                dur: "1s",
                                values: "1;.2;1",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ])
                ])
            }
        }),
        Fr = t.extend({
            name: "QSpinnerHearts",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        fill: "currentColor",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 140 64",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("path", {
                        attrs: {
                            d: "M30.262 57.02L7.195 40.723c-5.84-3.976-7.56-12.06-3.842-18.063 3.715-6 11.467-7.65 17.306-3.68l4.52 3.76 2.6-5.274c3.716-6.002 11.47-7.65 17.304-3.68 5.84 3.97 7.56 12.054 3.842 18.062L34.49 56.118c-.897 1.512-2.793 1.915-4.228.9z",
                            "fill-opacity": ".5"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                begin: "0s",
                                dur: "1.4s",
                                values: "0.5;1;0.5",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("path", {
                        attrs: {
                            d: "M105.512 56.12l-14.44-24.272c-3.716-6.008-1.996-14.093 3.843-18.062 5.835-3.97 13.588-2.322 17.306 3.68l2.6 5.274 4.52-3.76c5.84-3.97 13.593-2.32 17.308 3.68 3.718 6.003 1.998 14.088-3.842 18.064L109.74 57.02c-1.434 1.014-3.33.61-4.228-.9z",
                            "fill-opacity": ".5"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "fill-opacity",
                                begin: "0.7s",
                                dur: "1.4s",
                                values: "0.5;1;0.5",
                                calcMode: "linear",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("path", { attrs: { d: "M67.408 57.834l-23.01-24.98c-5.864-6.15-5.864-16.108 0-22.248 5.86-6.14 15.37-6.14 21.234 0L70 16.168l4.368-5.562c5.863-6.14 15.375-6.14 21.235 0 5.863 6.14 5.863 16.098 0 22.247l-23.007 24.98c-1.43 1.556-3.757 1.556-5.188 0z" } })
                ])
            }
        }),
        jr = t.extend({
            name: "QSpinnerHourglass",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 100 100",
                        preserveAspectRatio: "xMidYMid",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("g", [
                        t("path", {
                            staticClass: "glass",
                            attrs: {
                                fill: "none",
                                stroke: "currentColor",
                                "stroke-width": "5",
                                "stroke-miterlimit": "10",
                                d: "M58.4,51.7c-0.9-0.9-1.4-2-1.4-2.3s0.5-0.4,1.4-1.4 C70.8,43.8,79.8,30.5,80,15.5H70H30H20c0.2,15,9.2,28.1,21.6,32.3c0.9,0.9,1.4,1.2,1.4,1.5s-0.5,1.6-1.4,2.5 C29.2,56.1,20.2,69.5,20,85.5h10h40h10C79.8,69.5,70.8,55.9,58.4,51.7z"
                            }
                        }),
                        t("clipPath", { attrs: { id: "uil-hourglass-clip1" } }, [
                            t("rect", {
                                staticClass: "clip",
                                attrs: {
                                    x: "15",
                                    y: "20",
                                    width: "70",
                                    height: "25"
                                }
                            }, [
                                t("animate", {
                                    attrs: {
                                        attributeName: "height",
                                        from: "25",
                                        to: "0",
                                        dur: "1s",
                                        repeatCount: "indefinite",
                                        values: "25;0;0",
                                        keyTimes: "0;0.5;1"
                                    }
                                }),
                                t("animate", {
                                    attrs: {
                                        attributeName: "y",
                                        from: "20",
                                        to: "45",
                                        dur: "1s",
                                        repeatCount: "indefinite",
                                        values: "20;45;45",
                                        keyTimes: "0;0.5;1"
                                    }
                                })
                            ])
                        ]),
                        t("clipPath", { attrs: { id: "uil-hourglass-clip2" } }, [
                            t("rect", {
                                staticClass: "clip",
                                attrs: {
                                    x: "15",
                                    y: "55",
                                    width: "70",
                                    height: "25"
                                }
                            }, [
                                t("animate", {
                                    attrs: {
                                        attributeName: "height",
                                        from: "0",
                                        to: "25",
                                        dur: "1s",
                                        repeatCount: "indefinite",
                                        values: "0;25;25",
                                        keyTimes: "0;0.5;1"
                                    }
                                }),
                                t("animate", {
                                    attrs: {
                                        attributeName: "y",
                                        from: "80",
                                        to: "55",
                                        dur: "1s",
                                        repeatCount: "indefinite",
                                        values: "80;55;55",
                                        keyTimes: "0;0.5;1"
                                    }
                                })
                            ])
                        ]),
                        t("path", {
                            staticClass: "sand",
                            attrs: {
                                d: "M29,23c3.1,11.4,11.3,19.5,21,19.5S67.9,34.4,71,23H29z",
                                "clip-path": "url(#uil-hourglass-clip1)",
                                fill: "currentColor"
                            }
                        }),
                        t("path", {
                            staticClass: "sand",
                            attrs: {
                                d: "M71.6,78c-3-11.6-11.5-20-21.5-20s-18.5,8.4-21.5,20H71.6z",
                                "clip-path": "url(#uil-hourglass-clip2)",
                                fill: "currentColor"
                            }
                        }),
                        t("animateTransform", {
                            attrs: {
                                attributeName: "transform",
                                type: "rotate",
                                from: "0 50 50",
                                to: "180 50 50",
                                repeatCount: "indefinite",
                                dur: "1s",
                                values: "0 50 50;0 50 50;180 50 50",
                                keyTimes: "0;0.7;1"
                            }
                        })
                    ])
                ])
            }
        }),
        Vr = t.extend({
            name: "QSpinnerInfinity",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 100 100",
                        preserveAspectRatio: "xMidYMid"
                    }
                }, [
                    t("path", {
                        attrs: {
                            d: "M24.3,30C11.4,30,5,43.3,5,50s6.4,20,19.3,20c19.3,0,32.1-40,51.4-40C88.6,30,95,43.3,95,50s-6.4,20-19.3,20C56.4,70,43.6,30,24.3,30z",
                            fill: "none",
                            stroke: "currentColor",
                            "stroke-width": "8",
                            "stroke-dasharray": "10.691205342610678 10.691205342610678",
                            "stroke-dashoffset": "0"
                        }
                    }, [
                        t("animate", {
                            attrs: {
                                attributeName: "stroke-dashoffset",
                                from: "0",
                                to: "21.382410685221355",
                                begin: "0",
                                dur: "2s",
                                repeatCount: "indefinite",
                                fill: "freeze"
                            }
                        })
                    ])
                ])
            }
        }),
        Nr = t.extend({
            name: "QSpinnerIos",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        width: this.cSize,
                        height: this.cSize,
                        stroke: "currentColor",
                        fill: "currentColor",
                        viewBox: "0 0 64 64"
                    }
                }, [
                    t("g", {
                        attrs: {
                            "stroke-width": "4",
                            "stroke-linecap": "round"
                        }
                    }, [
                        t("line", {
                            attrs: {
                                y1: "17",
                                y2: "29",
                                transform: "translate(32,32) rotate(180)"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    dur: "750ms",
                                    values: "1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("line", {
                            attrs: {
                                y1: "17",
                                y2: "29",
                                transform: "translate(32,32) rotate(210)"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    dur: "750ms",
                                    values: "0;1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("line", {
                            attrs: {
                                y1: "17",
                                y2: "29",
                                transform: "translate(32,32) rotate(240)"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    dur: "750ms",
                                    values: ".1;0;1;.85;.7;.65;.55;.45;.35;.25;.15;.1",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("line", {
                            attrs: {
                                y1: "17",
                                y2: "29",
                                transform: "translate(32,32) rotate(270)"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    dur: "750ms",
                                    values: ".15;.1;0;1;.85;.7;.65;.55;.45;.35;.25;.15",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("line", {
                            attrs: {
                                y1: "17",
                                y2: "29",
                                transform: "translate(32,32) rotate(300)"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    dur: "750ms",
                                    values: ".25;.15;.1;0;1;.85;.7;.65;.55;.45;.35;.25",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("line", {
                            attrs: {
                                y1: "17",
                                y2: "29",
                                transform: "translate(32,32) rotate(330)"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    dur: "750ms",
                                    values: ".35;.25;.15;.1;0;1;.85;.7;.65;.55;.45;.35",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("line", {
                            attrs: {
                                y1: "17",
                                y2: "29",
                                transform: "translate(32,32) rotate(0)"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    dur: "750ms",
                                    values: ".45;.35;.25;.15;.1;0;1;.85;.7;.65;.55;.45",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("line", {
                            attrs: {
                                y1: "17",
                                y2: "29",
                                transform: "translate(32,32) rotate(30)"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    dur: "750ms",
                                    values: ".55;.45;.35;.25;.15;.1;0;1;.85;.7;.65;.55",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("line", {
                            attrs: {
                                y1: "17",
                                y2: "29",
                                transform: "translate(32,32) rotate(60)"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    dur: "750ms",
                                    values: ".65;.55;.45;.35;.25;.15;.1;0;1;.85;.7;.65",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("line", {
                            attrs: {
                                y1: "17",
                                y2: "29",
                                transform: "translate(32,32) rotate(90)"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    dur: "750ms",
                                    values: ".7;.65;.55;.45;.35;.25;.15;.1;0;1;.85;.7",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("line", {
                            attrs: {
                                y1: "17",
                                y2: "29",
                                transform: "translate(32,32) rotate(120)"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    dur: "750ms",
                                    values: ".85;.7;.65;.55;.45;.35;.25;.15;.1;0;1;.85",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("line", {
                            attrs: {
                                y1: "17",
                                y2: "29",
                                transform: "translate(32,32) rotate(150)"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    dur: "750ms",
                                    values: "1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1",
                                    repeatCount: "indefinite"
                                }
                            })
                        ])
                    ])
                ])
            }
        }),
        Hr = t.extend({
            name: "QSpinnerOval",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        stroke: "currentColor",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 38 38",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("g", {
                        attrs: {
                            transform: "translate(1 1)",
                            "stroke-width": "2",
                            fill: "none",
                            "fill-rule": "evenodd"
                        }
                    }, [
                        t("circle", {
                            attrs: {
                                "stroke-opacity": ".5",
                                cx: "18",
                                cy: "18",
                                r: "18"
                            }
                        }),
                        t("path", { attrs: { d: "M36 18c0-9.94-8.06-18-18-18" } }, [
                            t("animateTransform", {
                                attrs: {
                                    attributeName: "transform",
                                    type: "rotate",
                                    from: "0 18 18",
                                    to: "360 18 18",
                                    dur: "1s",
                                    repeatCount: "indefinite"
                                }
                            })
                        ])
                    ])
                ])
            }
        }),
        Qr = t.extend({
            name: "QSpinnerPie",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 100 100",
                        preserveAspectRatio: "xMidYMid",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("path", {
                        attrs: {
                            d: "M0 50A50 50 0 0 1 50 0L50 50L0 50",
                            fill: "currentColor",
                            opacity: "0.5"
                        }
                    }, [
                        t("animateTransform", {
                            attrs: {
                                attributeName: "transform",
                                type: "rotate",
                                from: "0 50 50",
                                to: "360 50 50",
                                dur: "0.8s",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("path", {
                        attrs: {
                            d: "M50 0A50 50 0 0 1 100 50L50 50L50 0",
                            fill: "currentColor",
                            opacity: "0.5"
                        }
                    }, [
                        t("animateTransform", {
                            attrs: {
                                attributeName: "transform",
                                type: "rotate",
                                from: "0 50 50",
                                to: "360 50 50",
                                dur: "1.6s",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("path", {
                        attrs: {
                            d: "M100 50A50 50 0 0 1 50 100L50 50L100 50",
                            fill: "currentColor",
                            opacity: "0.5"
                        }
                    }, [
                        t("animateTransform", {
                            attrs: {
                                attributeName: "transform",
                                type: "rotate",
                                from: "0 50 50",
                                to: "360 50 50",
                                dur: "2.4s",
                                repeatCount: "indefinite"
                            }
                        })
                    ]),
                    t("path", {
                        attrs: {
                            d: "M50 100A50 50 0 0 1 0 50L50 50L50 100",
                            fill: "currentColor",
                            opacity: "0.5"
                        }
                    }, [
                        t("animateTransform", {
                            attrs: {
                                attributeName: "transform",
                                type: "rotate",
                                from: "0 50 50",
                                to: "360 50 50",
                                dur: "3.2s",
                                repeatCount: "indefinite"
                            }
                        })
                    ])
                ])
            }
        }),
        Wr = t.extend({
            name: "QSpinnerPuff",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        stroke: "currentColor",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 44 44",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("g", {
                        attrs: {
                            fill: "none",
                            "fill-rule": "evenodd",
                            "stroke-width": "2"
                        }
                    }, [
                        t("circle", {
                            attrs: {
                                cx: "22",
                                cy: "22",
                                r: "1"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "r",
                                    begin: "0s",
                                    dur: "1.8s",
                                    values: "1; 20",
                                    calcMode: "spline",
                                    keyTimes: "0; 1",
                                    keySplines: "0.165, 0.84, 0.44, 1",
                                    repeatCount: "indefinite"
                                }
                            }),
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    begin: "0s",
                                    dur: "1.8s",
                                    values: "1; 0",
                                    calcMode: "spline",
                                    keyTimes: "0; 1",
                                    keySplines: "0.3, 0.61, 0.355, 1",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("circle", {
                            attrs: {
                                cx: "22",
                                cy: "22",
                                r: "1"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "r",
                                    begin: "-0.9s",
                                    dur: "1.8s",
                                    values: "1; 20",
                                    calcMode: "spline",
                                    keyTimes: "0; 1",
                                    keySplines: "0.165, 0.84, 0.44, 1",
                                    repeatCount: "indefinite"
                                }
                            }),
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    begin: "-0.9s",
                                    dur: "1.8s",
                                    values: "1; 0",
                                    calcMode: "spline",
                                    keyTimes: "0; 1",
                                    keySplines: "0.3, 0.61, 0.355, 1",
                                    repeatCount: "indefinite"
                                }
                            })
                        ])
                    ])
                ])
            }
        }),
        Yr = t.extend({
            name: "QSpinnerRadio",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 100 100",
                        preserveAspectRatio: "xMidYMid",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("g", { attrs: { transform: "scale(0.55)" } }, [
                        t("circle", {
                            attrs: {
                                cx: "30",
                                cy: "150",
                                r: "30",
                                fill: "currentColor"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "opacity",
                                    from: "0",
                                    to: "1",
                                    dur: "1s",
                                    begin: "0",
                                    repeatCount: "indefinite",
                                    keyTimes: "0;0.5;1",
                                    values: "0;1;1"
                                }
                            })
                        ]),
                        t("path", {
                            attrs: {
                                d: "M90,150h30c0-49.7-40.3-90-90-90v30C63.1,90,90,116.9,90,150z",
                                fill: "currentColor"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "opacity",
                                    from: "0",
                                    to: "1",
                                    dur: "1s",
                                    begin: "0.1",
                                    repeatCount: "indefinite",
                                    keyTimes: "0;0.5;1",
                                    values: "0;1;1"
                                }
                            })
                        ]),
                        t("path", {
                            attrs: {
                                d: "M150,150h30C180,67.2,112.8,0,30,0v30C96.3,30,150,83.7,150,150z",
                                fill: "currentColor"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "opacity",
                                    from: "0",
                                    to: "1",
                                    dur: "1s",
                                    begin: "0.2",
                                    repeatCount: "indefinite",
                                    keyTimes: "0;0.5;1",
                                    values: "0;1;1"
                                }
                            })
                        ])
                    ])
                ])
            }
        }),
        Ur = t.extend({
            name: "QSpinnerRings",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        stroke: "currentColor",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 45 45",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("g", {
                        attrs: {
                            fill: "none",
                            "fill-rule": "evenodd",
                            transform: "translate(1 1)",
                            "stroke-width": "2"
                        }
                    }, [
                        t("circle", {
                            attrs: {
                                cx: "22",
                                cy: "22",
                                r: "6"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "r",
                                    begin: "1.5s",
                                    dur: "3s",
                                    values: "6;22",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            }),
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    begin: "1.5s",
                                    dur: "3s",
                                    values: "1;0",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            }),
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-width",
                                    begin: "1.5s",
                                    dur: "3s",
                                    values: "2;0",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("circle", {
                            attrs: {
                                cx: "22",
                                cy: "22",
                                r: "6"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "r",
                                    begin: "3s",
                                    dur: "3s",
                                    values: "6;22",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            }),
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-opacity",
                                    begin: "3s",
                                    dur: "3s",
                                    values: "1;0",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            }),
                            t("animate", {
                                attrs: {
                                    attributeName: "stroke-width",
                                    begin: "3s",
                                    dur: "3s",
                                    values: "2;0",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("circle", {
                            attrs: {
                                cx: "22",
                                cy: "22",
                                r: "8"
                            }
                        }, [
                            t("animate", {
                                attrs: {
                                    attributeName: "r",
                                    begin: "0s",
                                    dur: "1.5s",
                                    values: "6;1;2;3;4;5;6",
                                    calcMode: "linear",
                                    repeatCount: "indefinite"
                                }
                            })
                        ])
                    ])
                ])
            }
        }),
        Kr = t.extend({
            name: "QSpinnerTail",
            mixins: [
                Ut
            ],
            render: function (t) {
                return t("svg", {
                    staticClass: "q-spinner",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: {
                        focusable: "false",
                        width: this.cSize,
                        height: this.cSize,
                        viewBox: "0 0 38 38",
                        xmlns: "http://www.w3.org/2000/svg"
                    }
                }, [
                    t("defs", [
                        t("linearGradient", {
                            attrs: {
                                x1: "8.042%",
                                y1: "0%",
                                x2: "65.682%",
                                y2: "23.865%",
                                id: "a"
                            }
                        }, [
                            t("stop", {
                                attrs: {
                                    "stop-color": "currentColor",
                                    "stop-opacity": "0",
                                    offset: "0%"
                                }
                            }),
                            t("stop", {
                                attrs: {
                                    "stop-color": "currentColor",
                                    "stop-opacity": ".631",
                                    offset: "63.146%"
                                }
                            }),
                            t("stop", {
                                attrs: {
                                    "stop-color": "currentColor",
                                    offset: "100%"
                                }
                            })
                        ])
                    ]),
                    t("g", {
                        attrs: {
                            transform: "translate(1 1)",
                            fill: "none",
                            "fill-rule": "evenodd"
                        }
                    }, [
                        t("path", {
                            attrs: {
                                d: "M36 18c0-9.94-8.06-18-18-18",
                                stroke: "url(#a)",
                                "stroke-width": "2"
                            }
                        }, [
                            t("animateTransform", {
                                attrs: {
                                    attributeName: "transform",
                                    type: "rotate",
                                    from: "0 18 18",
                                    to: "360 18 18",
                                    dur: "0.9s",
                                    repeatCount: "indefinite"
                                }
                            })
                        ]),
                        t("circle", {
                            attrs: {
                                fill: "currentColor",
                                cx: "36",
                                cy: "18",
                                r: "1"
                            }
                        }, [
                            t("animateTransform", {
                                attrs: {
                                    attributeName: "transform",
                                    type: "rotate",
                                    from: "0 18 18",
                                    to: "360 18 18",
                                    dur: "0.9s",
                                    repeatCount: "indefinite"
                                }
                            })
                        ])
                    ])
                ])
            }
        }),
        Xr = t.extend({
            name: "QSplitter",
            mixins: [
                Dt,
                Mt
            ],
            directives: { TouchPan: Qi },
            props: {
                value: {
                    type: Number,
                    required: !0
                },
                reverse: Boolean,
                unit: {
                    type: String,
                    default: "%",
                    validator: function (t) {
                        return ["%", "px"].includes(t)
                    }
                },
                limits: {
                    type: Array,
                    validator: function (t) {
                        return 2 === t.length &amp;&amp; ("number" == typeof t[0] &amp;&amp; "number" == typeof t[1] &amp;&amp; (t[0] &gt;= 0 &amp;&amp; t[0] &lt;= t[1]))
                    }
                },
                emitImmediately: Boolean,
                horizontal: Boolean,
                disable: Boolean,
                beforeClass: [
                    Array,
                    String,
                    Object
                ],
                afterClass: [
                    Array,
                    String,
                    Object
                ],
                separatorClass: [
                    Array,
                    String,
                    Object
                ],
                separatorStyle: [
                    Array,
                    String,
                    Object
                ]
            },
            watch: {
                value: {
                    immediate: !0,
                    handler: function (t) {
                        this.__normalize(t, this.computedLimits)
                    }
                },
                limits: {
                    deep: !0,
                    handler: function () {
                        var t = this;
                        this.$nextTick(function () {
                            t.__normalize(t.value, t.computedLimits)
                        })
                    }
                }
            },
            computed: {
                classes: function () {
                    return (!0 === this.horizontal ? "column" : "row") + " q-splitter--" + (!0 === this.horizontal ? "horizontal" : "vertical") + " q-splitter--" + (!0 === this.disable ? "disabled" : "workable") + (!0 === this.isDark ? " q-splitter--dark" : "")
                },
                prop: function () {
                    return !0 === this.horizontal ? "height" : "width"
                },
                side: function () {
                    return !0 !== this.reverse ? "before" : "after"
                },
                computedLimits: function () {
                    return void 0 !== this.limits ? this.limits : "%" === this.unit ? [10, 90] : [
                        50,
                        1 / 0
                    ]
                },
                styles: function () {
                    var t,
                        e;
                    return (e = {})[this.side] = ((t = {})[this.prop] = this.__getCSSValue(this.value), t), e
                }
            },
            methods: {
                __pan: function (t) {
                    if (!0 === t.isFirst) {
                        var e = this.$el.getBoundingClientRect()[this.prop];
                        return this.__dir = !0 === this.horizontal ? "up" : "left", this.__maxValue = "%" === this.unit ? 100 : e, this.__value = Math.min(this.__maxValue, this.computedLimits[1], Math.max(this.computedLimits[0], this.value)), this.__multiplier = (!0 !== this.reverse ? 1 : -1) * (!0 === this.horizontal ? 1 : !0 === this.$q.lang.rtl ? -1 : 1) * ("%" === this.unit ? 0 === e ? 0 : 100 / e : 1), void this.$el.classList.add("q-splitter--active")
                    }
                    if (!0 === t.isFinal)
                        return this.__normalized !== this.value &amp;&amp; this.$emit("input", this.__normalized), void this.$el.classList.remove("q-splitter--active");
                    var i = this.__value + this.__multiplier * (t.direction === this.__dir ? -1 : 1) * t.distance[!0 === this.horizontal ? "y" : "x"];
                    this.__normalized = Math.min(this.__maxValue, this.computedLimits[1], Math.max(this.computedLimits[0], i)),
                        this.$refs[this.side].style[this.prop] = this.__getCSSValue(this.__normalized),
                        !0 === this.emitImmediately &amp;&amp; this.value !== this.__normalized &amp;&amp; this.$emit("input", this.__normalized)
                },
                __normalize: function (t, e) {
                    t &lt; e[0] ? this.$emit("input", e[0]) : t &gt; e[1] &amp;&amp; this.$emit("input", e[1])
                },
                __getCSSValue: function (t) {
                    return ("%" === this.unit ? t : Math.round(t)) + this.unit
                }
            },
            render: function (t) {
                var e = !0 === this.disable ? { "aria-disabled": "" } : void 0,
                    i = [
                        t("div", {
                            ref: "before",
                            staticClass: "q-splitter__panel q-splitter__before" + (!0 === this.reverse ? " col" : ""),
                            style: this.styles.before,
                            class: this.beforeClass,
                            on: mt(this, "stop", { input: y })
                        }, Lt(this, "before")),
                        t("div", {
                            staticClass: "q-splitter__separator",
                            style: this.separatorStyle,
                            class: this.separatorClass,
                            attrs: e
                        }, [
                            t("div", {
                                staticClass: "absolute-full q-splitter__separator-area",
                                directives: !0 === this.disable ? void 0 : mt(this, "dir#" + this.horizontal, [
                                    {
                                        name: "touch-pan",
                                        value: this.__pan,
                                        modifiers: {
                                            horizontal: !0 !== this.horizontal,
                                            vertical: this.horizontal,
                                            prevent: !0,
                                            stop: !0,
                                            mouse: !0,
                                            mouseAllDir: !0
                                        }
                                    }
                                ])
                            }, Lt(this, "separator"))
                        ]),
                        t("div", {
                            ref: "after",
                            staticClass: "q-splitter__panel q-splitter__after" + (!0 === this.reverse ? "" : " col"),
                            style: this.styles.after,
                            class: this.afterClass,
                            on: mt(this, "stop", { input: y })
                        }, Lt(this, "after"))
                    ];
                return t("div", {
                    staticClass: "q-splitter no-wrap",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, Pt(i, this, "default"))
            }
        }),
        Gr = t.extend({
            name: "StepHeader",
            mixins: [
                _t
            ],
            directives: { Ripple: ne },
            props: {
                stepper: {},
                step: {}
            },
            computed: {
                isActive: function () {
                    return this.stepper.value === this.step.name
                },
                isDisable: function () {
                    var t = this.step.disable;
                    return !0 === t || "" === t
                },
                isError: function () {
                    var t = this.step.error;
                    return !0 === t || "" === t
                },
                isDone: function () {
                    var t = this.step.done;
                    return !1 === this.isDisable &amp;&amp; (!0 === t || "" === t)
                },
                headerNav: function () {
                    var t = this.step.headerNav,
                        e = !0 === t || "" === t || void 0 === t;
                    return !1 === this.isDisable &amp;&amp; this.stepper.headerNav &amp;&amp; e
                },
                hasPrefix: function () {
                    return this.step.prefix &amp;&amp; !1 === this.isActive &amp;&amp; !1 === this.isError &amp;&amp; !1 === this.isDone
                },
                icon: function () {
                    return !0 === this.isActive ? this.step.activeIcon || this.stepper.activeIcon || this.$q.iconSet.stepper.active : !0 === this.isError ? this.step.errorIcon || this.stepper.errorIcon || this.$q.iconSet.stepper.error : !1 === this.isDisable &amp;&amp; !0 === this.isDone ? this.step.doneIcon || this.stepper.doneIcon || this.$q.iconSet.stepper.done : this.step.icon || this.stepper.inactiveIcon
                },
                color: function () {
                    var t = !0 === this.isError ? this.step.errorColor || this.stepper.errorColor : void 0;
                    if (!0 === this.isActive) {
                        var e = this.step.activeColor || this.stepper.activeColor || this.step.color;
                        return void 0 !== e ? e : t
                    }
                    return void 0 !== t ? t : !1 === this.isDisable &amp;&amp; !0 === this.isDone ? this.step.doneColor || this.stepper.doneColor || this.step.color || this.stepper.inactiveColor : this.step.color || this.stepper.inactiveColor
                },
                classes: function () {
                    return "q-stepper__tab col-grow flex items-center no-wrap relative-position" + (void 0 !== this.color ? " text-" + this.color : "") + (!0 === this.isError ? " q-stepper__tab--error" : "") + (!0 === this.isActive ? " q-stepper__tab--active" : "") + (!0 === this.isDone ? " q-stepper__tab--done" : "") + (!0 === this.headerNav ? " q-stepper__tab--navigation q-focusable q-hoverable" : "") + (!0 === this.isDisable ? " q-stepper__tab--disabled" : "")
                }
            },
            methods: {
                activate: function () {
                    void 0 !== this.$refs.blurTarget &amp;&amp; this.$refs.blurTarget.focus(),
                        !1 === this.isActive &amp;&amp; this.stepper.goTo(this.step.name)
                },
                keyup: function (t) {
                    13 === t.keyCode &amp;&amp; !1 === this.isActive &amp;&amp; this.stepper.goTo(this.step.name)
                }
            },
            render: function (t) {
                var e = { class: this.classes };
                !0 === this.stepper.headerNav &amp;&amp; (e.directives = [
                    {
                        name: "ripple",
                        value: this.headerNav
                    }
                ]),
                    !0 === this.headerNav &amp;&amp; Object.assign(e, {
                        on: mt(this, "headnavon", {
                            click: this.activate,
                            keyup: this.keyup
                        }),
                        attrs: !0 === this.isDisable ? {
                            tabindex: -1,
                            "aria-disabled": ""
                        } : { tabindex: this.qAttrs.tabindex || 0 }
                    });
                var i = [
                    t("div", {
                        staticClass: "q-focus-helper",
                        attrs: { tabindex: -1 },
                        ref: "blurTarget"
                    }),
                    t("div", { staticClass: "q-stepper__dot row flex-center q-stepper__line relative-position" }, [
                        t("span", { staticClass: "row flex-center" }, [
                            !0 === this.hasPrefix ? this.step.prefix : t(Et, { props: { name: this.icon } })
                        ])
                    ])
                ];
                if (void 0 !== this.step.title &amp;&amp; null !== this.step.title) {
                    var s = [
                        t("div", { staticClass: "q-stepper__title" }, [
                            this.step.title
                        ])
                    ];
                    void 0 !== this.step.caption &amp;&amp; null !== this.step.caption &amp;&amp; s.push(t("div", { staticClass: "q-stepper__caption" }, [
                        this.step.caption
                    ])),
                        i.push(t("div", { staticClass: "q-stepper__label q-stepper__line relative-position" }, s))
                }
                return t("div", e, i)
            }
        }),
        Zr = t.extend({
            name: "QStepWrapper",
            render: function (t) {
                return t("div", { staticClass: "q-stepper__step-content" }, [
                    t("div", { staticClass: "q-stepper__step-inner" }, Lt(this, "default"))
                ])
            }
        }),
        Jr = t.extend({
            name: "QStep",
            inject: {
                stepper: {
                    default: function () {
                        console.error("QStep needs to be child of QStepper")
                    }
                }
            },
            mixins: [
                vi
            ],
            props: {
                icon: String,
                color: String,
                title: {
                    type: String,
                    required: !0
                },
                caption: String,
                prefix: [
                    String,
                    Number
                ],
                doneIcon: String,
                doneColor: String,
                activeIcon: String,
                activeColor: String,
                errorIcon: String,
                errorColor: String,
                headerNav: {
                    type: Boolean,
                    default: !0
                },
                done: Boolean,
                error: Boolean
            },
            computed: {
                isActive: function () {
                    return this.stepper.value === this.name
                }
            },
            watch: {
                isActive: function (t) {
                    var e = this;
                    !0 === t &amp;&amp; !0 === this.stepper.vertical &amp;&amp; this.$nextTick(function () {
                        void 0 !== e.$el &amp;&amp; (e.$el.scrollTop = 0)
                    })
                }
            },
            render: function (t) {
                var e = this.stepper.vertical,
                    i = !0 === e &amp;&amp; !0 === this.stepper.keepAlive ? t("keep-alive", !0 === this.isActive ? [
                        t(Zr, { key: this.name }, Lt(this, "default"))
                    ] : void 0) : !0 !== e || !0 === this.isActive ? Zr.options.render.call(this, t) : void 0;
                return t("div", {
                    staticClass: "q-stepper__step",
                    on: Object.assign({}, this.qListeners)
                }, !0 === e ? [
                    t(Gr, {
                        props: {
                            stepper: this.stepper,
                            step: this
                        }
                    }),
                    !0 === this.stepper.animated ? t(ao, [
                        i
                    ]) : i
                ] : [
                    i
                ])
            }
        }),
        ta = t.extend({
            name: "QStepper",
            provide: function () {
                return { stepper: this }
            },
            mixins: [
                Dt,
                mi
            ],
            props: {
                flat: Boolean,
                bordered: Boolean,
                alternativeLabels: Boolean,
                headerNav: Boolean,
                contracted: Boolean,
                headerClass: String,
                inactiveColor: String,
                inactiveIcon: String,
                doneIcon: String,
                doneColor: String,
                activeIcon: String,
                activeColor: String,
                errorIcon: String,
                errorColor: String
            },
            computed: {
                classes: function () {
                    return "q-stepper q-stepper--" + (!0 === this.vertical ? "vertical" : "horizontal") + (!0 === this.flat || !0 === this.isDark ? " q-stepper--flat no-shadow" : "") + (!0 === this.bordered || !0 === this.isDark &amp;&amp; !1 === this.flat ? " q-stepper--bordered" : "") + (!0 === this.contracted ? " q-stepper--contracted" : "") + (!0 === this.isDark ? " q-stepper--dark q-dark" : "")
                },
                headerClasses: function () {
                    return "q-stepper__header row items-stretch justify-between q-stepper__header--" + (!0 === this.alternativeLabels ? "alternative" : "standard") + "-labels" + (!1 === this.flat || !0 === this.bordered ? " q-stepper__header--border" : "") + (void 0 !== this.headerClass ? " " + this.headerClass : "")
                }
            },
            methods: {
                __getContent: function (t) {
                    var e = this,
                        i = Lt(this, "message", []);
                    return !0 === this.vertical ? (this.__isValidPanelName(this.value) &amp;&amp; this.__updatePanelIndex(), (void 0 === i ? [] : i).concat(t("div", {
                        staticClass: "q-stepper__content",
                        on: mt(this, "stop", { input: y })
                    }, Lt(this, "default")))) : [
                        t("div", { class: this.headerClasses }, this.__getAllPanels().map(function (i) {
                            var s = i.componentOptions.propsData;
                            return t(Gr, {
                                key: s.name,
                                props: {
                                    stepper: e,
                                    step: s
                                }
                            })
                        }))
                    ].concat(i, t("div", {
                        staticClass: "q-stepper__content q-panel-parent",
                        directives: this.panelDirectives
                    }, this.__getPanelContent(t)))
                },
                __renderPanels: function (t) {
                    return t("div", {
                        class: this.classes,
                        on: Object.assign({}, this.qListeners)
                    }, Pt(this.__getContent(t), this, "navigation"))
                }
            }
        }),
        ea = t.extend({
            name: "QStepperNavigation",
            mixins: [
                Mt
            ],
            render: function (t) {
                return t("div", {
                    staticClass: "q-stepper__nav",
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        ia = t.extend({
            name: "QTh",
            mixins: [
                Mt
            ],
            props: {
                props: Object,
                autoWidth: Boolean
            },
            render: function (t) {
                var e,
                    i,
                    s = this,
                    n = Object.assign({}, this.qListeners);
                if (void 0 === this.props)
                    return t("th", {
                        on: n,
                        class: !0 === this.autoWidth ? "q-table--col-auto-width" : null
                    }, Lt(this, "default"));
                var o = this.$vnode.key;
                if (o) {
                    if (void 0 === (e = this.props.colsMap[o]))
                        return
                }
                else
                    e = this.props.col;
                if (!0 === e.sortable) {
                    var r = "right" === e.align ? "unshift" : "push";
                    (i = Bt(this, "default", []))[r](t(Et, {
                        props: { name: this.$q.iconSet.table.arrowUp },
                        staticClass: e.__iconClass
                    }))
                }
                else
                    i = Lt(this, "default");
                var a = !0 === e.sortable ? {
                    click: function (t) {
                        s.props.sort(e),
                            s.$emit("click", t)
                    }
                } : {};
                return t("th", {
                    on: Object.assign({}, n, a),
                    style: e.headerStyle,
                    class: e.__thClass + (!0 === this.autoWidth ? " q-table--col-auto-width" : "")
                }, i)
            }
        }),
        sa = {
            methods: {
                getTableHeader: function (t) {
                    var e = this.getTableHeaderRow(t);
                    return !0 === this.loading &amp;&amp; void 0 === this.$scopedSlots.loading &amp;&amp; e.push(t("tr", { staticClass: "q-table__progress" }, [
                        t("th", {
                            staticClass: "relative-position",
                            attrs: { colspan: "100%" }
                        }, this.__getProgress(t))
                    ])), t("thead", e)
                },
                getTableHeaderRow: function (t) {
                    var e = this,
                        i = this.$scopedSlots.header,
                        s = this.$scopedSlots["header-cell"];
                    if (void 0 !== i)
                        return i(this.addTableHeaderRowMeta({
                            header: !0,
                            cols: this.computedCols,
                            sort: this.sort,
                            colsMap: this.computedColsMap
                        })).slice();
                    var n = this.computedCols.map(function (i) {
                        var n = e.$scopedSlots["header-cell-" + i.name],
                            o = void 0 !== n ? n : s,
                            r = {
                                col: i,
                                cols: e.computedCols,
                                sort: e.sort,
                                colsMap: e.computedColsMap
                            };
                        return void 0 !== o ? o(r) : t(ia, {
                            key: i.name,
                            props: { props: r },
                            style: i.headerStyle,
                            class: i.headerClasses
                        }, i.label)
                    });
                    return !0 === this.singleSelection &amp;&amp; !0 !== this.grid ? n.unshift(t("th", { staticClass: "q-table--col-auto-width" }, [" "])) : !0 === this.multipleSelection &amp;&amp; n.unshift(t("th", { staticClass: "q-table--col-auto-width" }, [
                        t(Bi, {
                            props: {
                                color: this.color,
                                value: !0 === this.someRowsSelected ? null : this.allRowsSelected,
                                dark: this.isDark,
                                dense: this.dense
                            },
                            on: mt(this, "inp", {
                                input: function (t) {
                                    !0 === e.someRowsSelected &amp;&amp; (t = !1),
                                        e.__updateSelection(e.computedRows.map(e.getRowKey), e.computedRows, t)
                                }
                            })
                        })
                    ])), [
                            t("tr", {
                                style: this.tableHeaderStyle,
                                class: this.tableHeaderClass
                            }, n)
                        ]
                },
                addTableHeaderRowMeta: function (t) {
                    var e = this;
                    return !0 === this.multipleSelection &amp;&amp; (Object.defineProperty(t, "selected", {
                        get: function () {
                            return !0 === e.someRowsSelected ? "some" : e.allRowsSelected
                        },
                        set: function (t) {
                            !0 === e.someRowsSelected &amp;&amp; (t = !1),
                                e.__updateSelection(e.computedRows.map(e.getRowKey), e.computedRows, t)
                        },
                        configurable: !0,
                        enumerable: !0
                    }), t.partialSelected = this.someRowsSelected, t.multipleSelect = !0), t
                }
            }
        },
        na = {
            methods: {
                getTableRowBody: function (t, e, i) {
                    var s = this.getRowKey(t),
                        n = this.isRowSelected(s);
                    return e(this.addBodyRowMeta({
                        key: s,
                        row: t,
                        pageIndex: i,
                        cols: this.computedCols,
                        colsMap: this.computedColsMap,
                        __trClass: n ? "selected" : ""
                    }))
                },
                getTableRow: function (t, e, i) {
                    var s = this,
                        n = this.$scopedSlots["body-cell"],
                        o = this.getRowKey(e),
                        r = this.isRowSelected(o),
                        a = this.computedCols.map(function (o) {
                            var r = s.$scopedSlots["body-cell-" + o.name],
                                a = void 0 !== r ? r : n;
                            return void 0 !== a ? a(s.addBodyCellMetaData({
                                row: e,
                                pageIndex: i,
                                col: o
                            })) : t("td", {
                                class: o.__tdClass,
                                style: o.style
                            }, s.getCellValue(o, e))
                        });
                    !0 === this.hasSelectionMode &amp;&amp; a.unshift(t("td", { staticClass: "q-table--col-auto-width" }, [
                        t(Bi, {
                            props: {
                                value: r,
                                color: this.color,
                                dark: this.isDark,
                                dense: this.dense
                            },
                            on: {
                                input: function (t, i) {
                                    s.__updateSelection([
                                        o
                                    ], [
                                        e
                                    ], t, i)
                                }
                            }
                        })
                    ]));
                    var l = {
                        key: o,
                        class: { selected: r },
                        on: {}
                    };
                    return void 0 !== this.qListeners["row-click"] &amp;&amp; (l.class["cursor-pointer"] = !0, l.on.click = function (t) {
                        s.$emit("row-click", t, e)
                    }), void 0 !== this.qListeners["row-dblclick"] &amp;&amp; (l.class["cursor-pointer"] = !0, l.on.dblclick = function (t) {
                        s.$emit("row-dblclick", t, e)
                    }), t("tr", l, a)
                },
                getTableBody: function (t) {
                    var e = this,
                        i = this.$scopedSlots.body,
                        s = this.$scopedSlots["top-row"],
                        n = this.$scopedSlots["bottom-row"],
                        o = void 0 !== i ? function (t, s) {
                            return e.getTableRowBody(t, i, s)
                        } : function (i, s) {
                            return e.getTableRow(t, i, s)
                        },
                        r = this.computedRows.map(o);
                    return void 0 !== s &amp;&amp; (r = s({ cols: this.computedCols }).concat(r)), void 0 !== n &amp;&amp; (r = r.concat(n({ cols: this.computedCols }))), t("tbody", r)
                },
                getTableRowVirtual: function (t) {
                    var e = this,
                        i = this.$scopedSlots.body;
                    return void 0 !== i ? function (t, s) {
                        return e.getTableRowBody(t.item, i, s)
                    } : function (i, s) {
                        return e.getTableRow(t, i.item, s)
                    }
                },
                addBodyRowMeta: function (t) {
                    var e = this;
                    return t.rowIndex = this.firstRowIndex + t.pageIndex, !0 === this.hasSelectionMode &amp;&amp; Object.defineProperty(t, "selected", {
                        get: function () {
                            return e.isRowSelected(t.key)
                        },
                        set: function (i) {
                            e.__updateSelection([
                                t.key
                            ], [
                                t.row
                            ], i)
                        },
                        configurable: !0,
                        enumerable: !0
                    }), Object.defineProperty(t, "expand", {
                        get: function () {
                            return e.isRowExpanded(t.key)
                        },
                        set: function (i) {
                            e.__updateExpanded(t.key, i)
                        },
                        configurable: !0,
                        enumerable: !0
                    }), t.cols = t.cols.map(function (i) {
                        var s = Object.assign({}, i);
                        return Object.defineProperty(s, "value", {
                            get: function () {
                                return e.getCellValue(i, t.row)
                            },
                            configurable: !0,
                            enumerable: !0
                        }), s
                    }), t
                },
                addBodyCellMetaData: function (t) {
                    var e = this;
                    return t.rowIndex = this.firstRowIndex + t.pageIndex, Object.defineProperty(t, "value", {
                        get: function () {
                            return e.getCellValue(t.col, t.row)
                        },
                        configurable: !0,
                        enumerable: !0
                    }), t
                },
                getCellValue: function (t, e) {
                    var i = "function" == typeof t.field ? t.field(e) : e[t.field];
                    return void 0 !== t.format ? t.format(i, e) : i
                }
            }
        },
        oa = "q-table__bottom row items-center",
        ra = {
            props: {
                hideBottom: Boolean,
                hideSelectedBanner: Boolean,
                hideNoData: Boolean,
                hidePagination: Boolean
            },
            computed: {
                navIcon: function () {
                    var t = [
                        this.iconFirstPage || this.$q.iconSet.table.firstPage,
                        this.iconPrevPage || this.$q.iconSet.table.prevPage,
                        this.iconNextPage || this.$q.iconSet.table.nextPage,
                        this.iconLastPage || this.$q.iconSet.table.lastPage
                    ];
                    return !0 === this.$q.lang.rtl ? t.reverse() : t
                }
            },
            methods: {
                getBottom: function (t) {
                    if (!0 !== this.hideBottom) {
                        if (!0 === this.nothingToDisplay) {
                            if (!0 === this.hideNoData)
                                return;
                            var e = !0 === this.loading ? this.loadingLabel || this.$q.lang.table.loading : this.filter ? this.noResultsLabel || this.$q.lang.table.noResults : this.noDataLabel || this.$q.lang.table.noData,
                                i = this.$scopedSlots["no-data"],
                                s = void 0 !== i ? [
                                    i({
                                        message: e,
                                        icon: this.$q.iconSet.table.warning,
                                        filter: this.filter
                                    })
                                ] : [
                                    t(Et, {
                                        staticClass: "q-table__bottom-nodata-icon",
                                        props: { name: this.$q.iconSet.table.warning }
                                    }),
                                    e
                                ];
                            return t("div", { staticClass: oa + " q-table__bottom--nodata" }, s)
                        }
                        var n = this.$scopedSlots.bottom;
                        if (void 0 !== n)
                            return t("div", { staticClass: oa }, [
                                n(this.marginalsProps)
                            ]);
                        var o = !0 !== this.hideSelectedBanner &amp;&amp; !0 === this.hasSelectionMode &amp;&amp; this.rowsSelectedNumber &gt; 0 ? [
                            t("div", { staticClass: "q-table__control" }, [
                                t("div", [
                                    (this.selectedRowsLabel || this.$q.lang.table.selectedRecords)(this.rowsSelectedNumber)
                                ])
                            ])
                        ] : [];
                        return !0 !== this.hidePagination ? t("div", { staticClass: oa + " justify-end" }, this.getPaginationRow(t, o)) : o.length &gt; 0 ? t("div", { staticClass: oa }, o) : void 0
                    }
                },
                getPaginationRow: function (t, e) {
                    var i,
                        s = this,
                        n = this.computedPagination.rowsPerPage,
                        o = this.paginationLabel || this.$q.lang.table.pagination,
                        r = this.$scopedSlots.pagination,
                        a = this.rowsPerPageOptions.length &gt; 1;
                    if (e.push(t("div", { staticClass: "q-table__separator col" })), !0 === a &amp;&amp; e.push(t("div", { staticClass: "q-table__control" }, [
                        t("span", { staticClass: "q-table__bottom-item" }, [
                            this.rowsPerPageLabel || this.$q.lang.table.recordsPerPage
                        ]),
                        t(Cr, {
                            staticClass: "q-table__select inline q-table__bottom-item",
                            props: {
                                color: this.color,
                                value: n,
                                options: this.computedRowsPerPageOptions,
                                displayValue: 0 === n ? this.$q.lang.table.allRows : n,
                                dark: this.isDark,
                                borderless: !0,
                                dense: !0,
                                optionsDense: !0,
                                optionsCover: !0
                            },
                            on: mt(this, "pgSize", {
                                input: function (t) {
                                    s.setPagination({
                                        page: 1,
                                        rowsPerPage: t.value
                                    })
                                }
                            })
                        })
                    ])), void 0 !== r)
                        i = r(this.marginalsProps);
                    else if (i = [
                        t("span", 0 !== n ? { staticClass: "q-table__bottom-item" } : {}, [
                            n ? o(this.firstRowIndex + 1, Math.min(this.lastRowIndex, this.computedRowsNumber), this.computedRowsNumber) : o(1, this.filteredSortedRowsNumber, this.computedRowsNumber)
                        ])
                    ], 0 !== n &amp;&amp; this.pagesNumber &gt; 1) {
                        var l = {
                            color: this.color,
                            round: !0,
                            dense: !0,
                            flat: !0
                        };
                        !0 === this.dense &amp;&amp; (l.size = "sm"),
                            this.pagesNumber &gt; 2 &amp;&amp; i.push(t(be, {
                                key: "pgFirst",
                                props: Object.assign({}, l, {
                                    icon: this.navIcon[0],
                                    disable: this.isFirstPage
                                }),
                                on: mt(this, "pgFirst", { click: this.firstPage })
                            })),
                            i.push(t(be, {
                                key: "pgPrev",
                                props: Object.assign({}, l, {
                                    icon: this.navIcon[1],
                                    disable: this.isFirstPage
                                }),
                                on: mt(this, "pgPrev", { click: this.prevPage })
                            }), t(be, {
                                key: "pgNext",
                                props: Object.assign({}, l, {
                                    icon: this.navIcon[2],
                                    disable: this.isLastPage
                                }),
                                on: mt(this, "pgNext", { click: this.nextPage })
                            })),
                            this.pagesNumber &gt; 2 &amp;&amp; i.push(t(be, {
                                key: "pgLast",
                                props: Object.assign({}, l, {
                                    icon: this.navIcon[3],
                                    disable: this.isLastPage
                                }),
                                on: mt(this, "pgLast", { click: this.lastPage })
                            }))
                    }
                    return e.push(t("div", { staticClass: "q-table__control" }, i)), e
                }
            }
        },
        aa = {
            methods: {
                getGridBody: function (t) {
                    var e = this,
                        i = void 0 !== this.$scopedSlots.item ? this.$scopedSlots.item : function (i) {
                            var s = i.cols.map(function (e) {
                                return t("div", { staticClass: "q-table__grid-item-row" }, [
                                    t("div", { staticClass: "q-table__grid-item-title" }, [
                                        e.label
                                    ]),
                                    t("div", { staticClass: "q-table__grid-item-value" }, [
                                        e.value
                                    ])
                                ])
                            });
                            !0 === e.hasSelectionMode &amp;&amp; s.unshift(t("div", { staticClass: "q-table__grid-item-row" }, [
                                t(Bi, {
                                    props: {
                                        value: i.selected,
                                        color: e.color,
                                        dark: e.isDark,
                                        dense: !0
                                    },
                                    on: {
                                        input: function (t, s) {
                                            e.__updateSelection([
                                                i.key
                                            ], [
                                                i.row
                                            ], t, s)
                                        }
                                    }
                                })
                            ]), t(uo, { props: { dark: e.isDark } }));
                            var n = {
                                staticClass: "q-table__grid-item-card" + e.cardDefaultClass,
                                class: e.cardClass,
                                style: e.cardStyle,
                                on: {}
                            };
                            return void 0 === e.qListeners["row-click"] &amp;&amp; void 0 === e.qListeners["row-dblclick"] || (n.staticClass += " cursor-pointer"), void 0 !== e.qListeners["row-click"] &amp;&amp; (n.on.click = function (t) {
                                e.$emit("row-click", t, i.row)
                            }), void 0 !== e.qListeners["row-dblclick"] &amp;&amp; (n.on.dblclick = function (t) {
                                e.$emit("row-dblclick", t, i.row)
                            }), t("div", {
                                staticClass: "q-table__grid-item col-xs-12 col-sm-6 col-md-4 col-lg-3",
                                class: !0 === i.selected ? "q-table__grid-item--selected" : ""
                            }, [
                                t("div", n, s)
                            ])
                        };
                    return t("div", {
                        staticClass: "q-table__grid-content row",
                        class: this.cardContainerClass,
                        style: this.cardContainerStyle
                    }, this.computedRows.map(function (t, s) {
                        var n = e.getRowKey(t),
                            o = e.isRowSelected(n);
                        return i(e.addBodyRowMeta({
                            key: n,
                            row: t,
                            pageIndex: s,
                            cols: e.computedCols,
                            colsMap: e.computedColsMap,
                            __trClass: o ? "selected" : ""
                        }))
                    }))
                },
                getGridHeader: function (t) {
                    return t("div", { staticClass: "q-table__middle" }, !0 === this.gridHeader ? [
                        t("table", { staticClass: "q-table" }, [
                            this.getTableHeader(t)
                        ])
                    ] : !0 === this.loading &amp;&amp; void 0 === this.$scopedSlots.loading ? this.__getProgress(t) : void 0)
                }
            }
        };
    function la(t, e, i) {
        return t("div", Object.assign({}, e, { staticClass: "q-table__middle" + (void 0 !== e.staticClass ? " " + e.staticClass : "") }), [
            t("table", { staticClass: "q-table" }, i)
        ])
    }
    var ca = {
        list: Vn,
        table: Fo
    },
        ua = t.extend({
            name: "QVirtualScroll",
            mixins: [
                _t,
                Mt,
                Sr
            ],
            props: {
                type: {
                    type: String,
                    default: "list",
                    validator: function (t) {
                        return ["list", "table", "__qtable"].includes(t)
                    }
                },
                items: {
                    type: Array,
                    default: function () {
                        return []
                    }
                },
                itemsFn: Function,
                itemsSize: Number,
                scrollTarget: { default: void 0 }
            },
            computed: {
                virtualScrollLength: function () {
                    return this.itemsSize &gt;= 0 &amp;&amp; void 0 !== this.itemsFn ? parseInt(this.itemsSize, 10) : Array.isArray(this.items) ? this.items.length : 0
                },
                virtualScrollScope: function () {
                    var t = this;
                    if (0 === this.virtualScrollLength)
                        return [];
                    var e = function (e, i) {
                        return {
                            index: t.virtualScrollSliceRange.from + i,
                            item: e
                        }
                    };
                    return void 0 === this.itemsFn ? this.items.slice(this.virtualScrollSliceRange.from, this.virtualScrollSliceRange.to).map(e) : this.itemsFn(this.virtualScrollSliceRange.from, this.virtualScrollSliceRange.to - this.virtualScrollSliceRange.from).map(e)
                },
                classes: function () {
                    return "q-virtual-scroll q-virtual-scroll" + (!0 === this.virtualScrollHorizontal ? "--horizontal" : "--vertical") + (void 0 !== this.scrollTarget ? "" : " scroll")
                },
                attrs: function () {
                    return void 0 !== this.scrollTarget ? void 0 : { tabindex: 0 }
                }
            },
            watch: {
                virtualScrollLength: function () {
                    this.__resetVirtualScroll()
                },
                scrollTarget: function () {
                    this.__unconfigureScrollTarget(),
                        this.__configureScrollTarget()
                }
            },
            methods: {
                __getVirtualScrollEl: function () {
                    return this.$el
                },
                __getVirtualScrollTarget: function () {
                    return this.__scrollTarget
                },
                __configureScrollTarget: function () {
                    this.__scrollTarget = De(this.$el, this.scrollTarget),
                        this.__scrollTarget.addEventListener("scroll", this.__onVirtualScrollEvt, d.passive)
                },
                __unconfigureScrollTarget: function () {
                    void 0 !== this.__scrollTarget &amp;&amp; (this.__scrollTarget.removeEventListener("scroll", this.__onVirtualScrollEvt, d.passive), this.__scrollTarget = void 0)
                }
            },
            beforeMount: function () {
                this.__resetVirtualScroll()
            },
            mounted: function () {
                this.__configureScrollTarget()
            },
            beforeDestroy: function () {
                this.__unconfigureScrollTarget()
            },
            render: function (t) {
                if (void 0 !== this.$scopedSlots.default) {
                    var e = this.__padVirtualScroll(t, "list" === this.type ? "div" : "tbody", this.virtualScrollScope.map(this.$scopedSlots.default));
                    return void 0 !== this.$scopedSlots.before &amp;&amp; (e = this.$scopedSlots.before().concat(e)), e = Pt(e, this, "after"), "__qtable" === this.type ? la(t, { staticClass: this.classes }, e) : t(ca[this.type], {
                        class: this.classes,
                        attrs: this.attrs,
                        props: this.qAttrs,
                        on: Object.assign({}, this.qListeners)
                    }, e)
                }
                console.error("QVirtualScroll: default scoped slot is required for rendering", this)
            }
        });
    var ha = {
        props: {
            sortMethod: {
                type: Function,
                default: function (t, e, i) {
                    var s = this.colList.find(function (t) {
                        return t.name === e
                    });
                    if (void 0 === s || void 0 === s.field)
                        return t;
                    var n = !0 === i ? -1 : 1,
                        o = "function" == typeof s.field ? function (t) {
                            return s.field(t)
                        } : function (t) {
                            return t[s.field]
                        };
                    return t.sort(function (t, e) {
                        var i,
                            r = o(t),
                            a = o(e);
                        return null === r || void 0 === r ? -1 * n : null === a || void 0 === a ? 1 * n : void 0 !== s.sort ? s.sort(r, a, t, e) * n : !0 === xi(r) &amp;&amp; !0 === xi(a) ? (r - a) * n : !0 === Si(r) &amp;&amp; !0 === Si(a) ? function (t, e) {
                            return new Date(t) - new Date(e)
                        }(r, a) * n : "boolean" == typeof r &amp;&amp; "boolean" == typeof a ? (r - a) * n : (r = (i = [
                            r,
                            a
                        ].map(function (t) {
                            return (t + "").toLocaleString().toLowerCase()
                        }))[0]) &lt; (a = i[1]) ? -1 * n : r === a ? 0 : n
                    })
                }
            }
        },
        computed: {
            columnToSort: function () {
                var t = this.computedPagination.sortBy;
                if (t)
                    return this.colList.find(function (e) {
                        return e.name === t
                    }) || null
            }
        },
        methods: {
            sort: function (t) {
                t === Object(t) &amp;&amp; (t = t.name);
                var e = this.computedPagination,
                    i = e.sortBy,
                    s = e.descending;
                i !== t ? (i = t, s = !1) : !0 === this.binaryStateSort ? s = !s : !0 === s ? i = null : s = !0,
                    this.setPagination({
                        sortBy: i,
                        descending: s,
                        page: 1
                    })
            }
        }
    },
        da = {
            props: {
                filter: [
                    String,
                    Object
                ],
                filterMethod: {
                    type: Function,
                    default: function (t, e, i, s) {
                        void 0 === i &amp;&amp; (i = this.computedCols),
                            void 0 === s &amp;&amp; (s = this.getCellValue);
                        var n = e ? e.toLowerCase() : "";
                        return t.filter(function (t) {
                            return i.some(function (e) {
                                return -1 !== (s(e, t) + "").toLowerCase().indexOf(n)
                            })
                        })
                    }
                }
            },
            watch: {
                filter: {
                    handler: function () {
                        var t = this;
                        this.$nextTick(function () {
                            t.setPagination({ page: 1 }, !0)
                        })
                    },
                    deep: !0
                }
            }
        };
    function pa(t) {
        return t.page &lt; 1 &amp;&amp; (t.page = 1), void 0 !== t.rowsPerPage &amp;&amp; t.rowsPerPage &lt; 1 &amp;&amp; (t.rowsPerPage = 0), t
    }
    var fa = {
        props: {
            pagination: Object,
            rowsPerPageOptions: {
                type: Array,
                default: function () {
                    return [5, 7, 10, 15, 20, 25, 50, 0]
                }
            }
        },
        computed: {
            computedPagination: function () {
                return pa(void 0 !== this.qListeners["update:pagination"] ? Object.assign({}, this.innerPagination, this.pagination) : this.innerPagination)
            },
            firstRowIndex: function () {
                var t = this.computedPagination;
                return (t.page - 1) * t.rowsPerPage
            },
            lastRowIndex: function () {
                var t = this.computedPagination;
                return t.page * t.rowsPerPage
            },
            isFirstPage: function () {
                return 1 === this.computedPagination.page
            },
            pagesNumber: function () {
                return 0 === this.computedPagination.rowsPerPage ? 1 : Math.max(1, Math.ceil(this.computedRowsNumber / this.computedPagination.rowsPerPage))
            },
            isLastPage: function () {
                return 0 === this.lastRowIndex || this.computedPagination.page &gt;= this.pagesNumber
            },
            computedRowsPerPageOptions: function () {
                var t = this;
                return (this.rowsPerPageOptions.includes(this.innerPagination.rowsPerPage) ? this.rowsPerPageOptions : [
                    this.innerPagination.rowsPerPage
                ].concat(this.rowsPerPageOptions)).map(function (e) {
                    return {
                        label: 0 === e ? t.$q.lang.table.allRows : "" + e,
                        value: e
                    }
                })
            }
        },
        watch: {
            pagesNumber: function (t, e) {
                if (t !== e) {
                    var i = this.computedPagination.page;
                    t &amp;&amp; !i ? this.setPagination({ page: 1 }) : t &lt; i &amp;&amp; this.setPagination({ page: t })
                }
            }
        },
        methods: {
            __sendServerRequest: function (t) {
                this.requestServerInteraction({
                    pagination: t,
                    filter: this.filter
                })
            },
            setPagination: function (t, e) {
                var i = pa(Object.assign({}, this.computedPagination, t));
                !function (t, e) {
                    for (var i in e)
                        if (e[i] !== t[i])
                            return !1;
                    return !0
                }(this.computedPagination, i) ? !0 !== this.isServerSide ? void 0 !== this.pagination &amp;&amp; void 0 !== this.qListeners["update:pagination"] ? this.$emit("update:pagination", i) : this.innerPagination = i : this.__sendServerRequest(i) : !0 === this.isServerSide &amp;&amp; !0 === e &amp;&amp; this.__sendServerRequest(i)
            },
            firstPage: function () {
                this.setPagination({ page: 1 })
            },
            prevPage: function () {
                var t = this.computedPagination.page;
                t &gt; 1 &amp;&amp; this.setPagination({ page: t - 1 })
            },
            nextPage: function () {
                var t = this.computedPagination,
                    e = t.page,
                    i = t.rowsPerPage;
                this.lastRowIndex &gt; 0 &amp;&amp; e * i &lt; this.computedRowsNumber &amp;&amp; this.setPagination({ page: e + 1 })
            },
            lastPage: function () {
                this.setPagination({ page: this.pagesNumber })
            }
        },
        created: function () {
            void 0 !== this.qListeners["update:pagination"] &amp;&amp; this.$emit("update:pagination", Object.assign({}, this.computedPagination))
        }
    },
        ma = {
            props: {
                selection: {
                    type: String,
                    default: "none",
                    validator: function (t) {
                        return ["single", "multiple", "none"].includes(t)
                    }
                },
                selected: {
                    type: Array,
                    default: function () {
                        return []
                    }
                }
            },
            computed: {
                selectedKeys: function () {
                    var t = {};
                    return this.selected.map(this.getRowKey).forEach(function (e) {
                        t[e] = !0
                    }), t
                },
                hasSelectionMode: function () {
                    return "none" !== this.selection
                },
                singleSelection: function () {
                    return "single" === this.selection
                },
                multipleSelection: function () {
                    return "multiple" === this.selection
                },
                allRowsSelected: function () {
                    var t = this;
                    return this.computedRows.length &gt; 0 &amp;&amp; this.computedRows.every(function (e) {
                        return !0 === t.selectedKeys[t.getRowKey(e)]
                    })
                },
                someRowsSelected: function () {
                    var t = this;
                    return !0 !== this.allRowsSelected &amp;&amp; this.computedRows.some(function (e) {
                        return !0 === t.selectedKeys[t.getRowKey(e)]
                    })
                },
                rowsSelectedNumber: function () {
                    return this.selected.length
                }
            },
            methods: {
                isRowSelected: function (t) {
                    return !0 === this.selectedKeys[t]
                },
                clearSelection: function () {
                    this.$emit("update:selected", [])
                },
                __updateSelection: function (t, e, i, s) {
                    var n = this;
                    this.$emit("selection", {
                        rows: e,
                        added: i,
                        keys: t,
                        evt: s
                    });
                    var o = !0 === this.singleSelection ? !0 === i ? e : [] : !0 === i ? this.selected.concat(e) : this.selected.filter(function (e) {
                        return !1 === t.includes(n.getRowKey(e))
                    });
                    this.$emit("update:selected", o)
                }
            }
        };
    function va(t) {
        return Array.isArray(t) ? t.slice() : []
    }
    var ga = {
        props: { expanded: Array },
        data: function () {
            return { innerExpanded: va(this.expanded) }
        },
        watch: {
            expanded: function (t) {
                this.innerExpanded = va(t)
            }
        },
        methods: {
            isRowExpanded: function (t) {
                return this.innerExpanded.includes(t)
            },
            setExpanded: function (t) {
                void 0 !== this.expanded ? this.$emit("update:expanded", t) : this.innerExpanded = t
            },
            __updateExpanded: function (t, e) {
                var i = this.innerExpanded.slice(),
                    s = i.indexOf(t);
                !0 === e ? -1 === s &amp;&amp; (i.push(t), this.setExpanded(i)) : -1 !== s &amp;&amp; (i.splice(s, 1), this.setExpanded(i))
            }
        }
    },
        _a = {
            props: { visibleColumns: Array },
            computed: {
                colList: function () {
                    if (void 0 !== this.columns)
                        return this.columns;
                    var t = this.data[0];
                    return void 0 !== t ? Object.keys(t).map(function (e) {
                        return {
                            name: e,
                            label: e.toUpperCase(),
                            field: e,
                            align: xi(t[e]) ? "right" : "left",
                            sortable: !0
                        }
                    }) : []
                },
                computedCols: function () {
                    var t = this,
                        e = this.computedPagination,
                        i = e.sortBy,
                        s = e.descending;
                    return (void 0 !== this.visibleColumns ? this.colList.filter(function (e) {
                        return !0 === e.required || !0 === t.visibleColumns.includes(e.name)
                    }) : this.colList).map(function (t) {
                        var e = t.align || "right";
                        return Object.assign({}, t, {
                            align: e,
                            __iconClass: "q-table__sort-icon q-table__sort-icon--" + e,
                            __thClass: "text-" + e + (void 0 !== t.headerClasses ? " " + t.headerClasses : "") + (!0 === t.sortable ? " sortable" : "") + (t.name === i ? " sorted " + (!0 === s ? "sort-desc" : "") : ""),
                            __tdClass: "text-" + e + (void 0 !== t.classes ? " " + t.classes : "")
                        })
                    })
                },
                computedColsMap: function () {
                    var t = {};
                    return this.computedCols.forEach(function (e) {
                        t[e.name] = e
                    }), t
                }
            }
        },
        ba = {};
    wr.forEach(function (t) {
        ba[t] = {}
    });
    var ya = t.extend({
        name: "QTable",
        mixins: [
            Dt,
            Mt,
            gi,
            {
                computed: {
                    marginalsProps: function () {
                        return {
                            pagination: this.computedPagination,
                            pagesNumber: this.pagesNumber,
                            isFirstPage: this.isFirstPage,
                            isLastPage: this.isLastPage,
                            firstPage: this.firstPage,
                            prevPage: this.prevPage,
                            nextPage: this.nextPage,
                            lastPage: this.lastPage,
                            inFullscreen: this.inFullscreen,
                            toggleFullscreen: this.toggleFullscreen
                        }
                    }
                },
                methods: {
                    getTop: function (t) {
                        var e,
                            i = this.$scopedSlots.top,
                            s = this.$scopedSlots["top-left"],
                            n = this.$scopedSlots["top-right"],
                            o = this.$scopedSlots["top-selection"],
                            r = !0 === this.hasSelectionMode &amp;&amp; void 0 !== o &amp;&amp; this.rowsSelectedNumber &gt; 0,
                            a = "q-table__top relative-position row items-center";
                        return void 0 !== i ? t("div", { staticClass: a }, [
                            i(this.marginalsProps)
                        ]) : (!0 === r ? e = o(this.marginalsProps).slice() : (e = [], void 0 !== s ? e.push(t("div", { staticClass: "q-table-control" }, [
                            s(this.marginalsProps)
                        ])) : this.title &amp;&amp; e.push(t("div", { staticClass: "q-table__control" }, [
                            t("div", { staticClass: "q-table__title" }, this.title)
                        ]))), void 0 !== n &amp;&amp; (e.push(t("div", { staticClass: "q-table__separator col" })), e.push(t("div", { staticClass: "q-table__control" }, [
                            n(this.marginalsProps)
                        ]))), 0 !== e.length ? t("div", { staticClass: a }, e) : void 0)
                    }
                }
            },
            sa,
            na,
            ra,
            aa,
            ha,
            da,
            fa,
            ma,
            ga,
            _a
        ],
        props: Object.assign({}, {
            data: {
                type: Array,
                default: function () {
                    return []
                }
            },
            rowKey: {
                type: [
                    String,
                    Function
                ],
                default: "id"
            },
            columns: Array,
            loading: Boolean,
            binaryStateSort: Boolean,
            iconFirstPage: String,
            iconPrevPage: String,
            iconNextPage: String,
            iconLastPage: String,
            title: String,
            hideHeader: Boolean,
            grid: Boolean,
            gridHeader: Boolean,
            dense: Boolean,
            flat: Boolean,
            bordered: Boolean,
            square: Boolean,
            separator: {
                type: String,
                default: "horizontal",
                validator: function (t) {
                    return ["horizontal", "vertical", "cell", "none"].includes(t)
                }
            },
            wrapCells: Boolean,
            virtualScroll: Boolean
        }, ba, {
            noDataLabel: String,
            noResultsLabel: String,
            loadingLabel: String,
            selectedRowsLabel: Function,
            rowsPerPageLabel: String,
            paginationLabel: Function,
            color: {
                type: String,
                default: "grey-8"
            },
            tableStyle: [
                String,
                Array,
                Object
            ],
            tableClass: [
                String,
                Array,
                Object
            ],
            tableHeaderStyle: [
                String,
                Array,
                Object
            ],
            tableHeaderClass: [
                String,
                Array,
                Object
            ],
            cardContainerClass: [
                String,
                Array,
                Object
            ],
            cardContainerStyle: [
                String,
                Array,
                Object
            ],
            cardStyle: [
                String,
                Array,
                Object
            ],
            cardClass: [
                String,
                Array,
                Object
            ]
        }),
        data: function () {
            return {
                innerPagination: Object.assign({
                    sortBy: null,
                    descending: !1,
                    page: 1,
                    rowsPerPage: this.rowsPerPageOptions.length &gt; 0 ? this.rowsPerPageOptions[0] : 5
                }, this.pagination)
            }
        },
        watch: {
            needsReset: function () {
                !0 === this.hasVirtScroll &amp;&amp; void 0 !== this.$refs.virtScroll &amp;&amp; this.$refs.virtScroll.reset()
            }
        },
        computed: {
            getRowKey: function () {
                var t = this;
                return "function" == typeof this.rowKey ? this.rowKey : function (e) {
                    return e[t.rowKey]
                }
            },
            hasVirtScroll: function () {
                return !0 !== this.grid &amp;&amp; !0 === this.virtualScroll
            },
            needsReset: function () {
                var t = this;
                return ["tableStyle", "tableClass", "tableHeaderStyle", "tableHeaderClass", "containerClass"].map(function (e) {
                    return t[e]
                }).join(";")
            },
            filteredSortedRows: function () {
                var t = this.data;
                if (!0 === this.isServerSide || 0 === t.length)
                    return t;
                var e = this.computedPagination,
                    i = e.sortBy,
                    s = e.descending;
                return this.filter &amp;&amp; (t = this.filterMethod(t, this.filter, this.computedCols, this.getCellValue)), void 0 !== this.columnToSort &amp;&amp; (t = this.sortMethod(this.data === t ? t.slice() : t, i, s)), t
            },
            filteredSortedRowsNumber: function () {
                return this.filteredSortedRows.length
            },
            computedRows: function () {
                var t = this.filteredSortedRows;
                return !0 === this.isServerSide ? t : (0 !== this.computedPagination.rowsPerPage &amp;&amp; (0 === this.firstRowIndex &amp;&amp; this.data !== t ? t.length &gt; this.lastRowIndex &amp;&amp; (t.length = this.lastRowIndex) : t = t.slice(this.firstRowIndex, this.lastRowIndex)), t)
            },
            computedRowsNumber: function () {
                return !0 === this.isServerSide ? this.computedPagination.rowsNumber || 0 : this.filteredSortedRowsNumber
            },
            nothingToDisplay: function () {
                return 0 === this.computedRows.length
            },
            isServerSide: function () {
                return void 0 !== this.computedPagination.rowsNumber
            },
            cardDefaultClass: function () {
                return " q-table__card" + (!0 === this.isDark ? " q-table__card--dark q-dark" : "") + (!0 === this.square ? " q-table--square" : "") + (!0 === this.flat ? " q-table--flat" : "") + (!0 === this.bordered ? " q-table--bordered" : "")
            },
            containerClass: function () {
                return "q-table__container q-table--" + this.separator + "-separator column no-wrap" + (!0 === this.loading ? " q-table--loading" : "") + (!0 === this.grid ? " q-table--grid" : this.cardDefaultClass) + (!0 === this.isDark ? " q-table--dark" : "") + (!0 === this.dense ? " q-table--dense" : "") + (!1 === this.wrapCells ? " q-table--no-wrap" : "") + (!0 === this.inFullscreen ? " fullscreen scroll" : "")
            },
            virtProps: function () {
                var t = this,
                    e = {};
                return wr.forEach(function (i) {
                    e[i] = t[i]
                }), void 0 === e.virtualScrollItemSize &amp;&amp; (e.virtualScrollItemSize = !0 === this.dense ? 28 : 48), e
            }
        },
        render: function (t) {
            var e = [
                this.getTop(t)
            ],
                i = { staticClass: this.containerClass };
            return !0 === this.grid ? e.push(this.getGridHeader(t)) : Object.assign(i, {
                class: this.cardClass,
                style: this.cardStyle
            }), e.push(this.getBody(t), this.getBottom(t)), !0 === this.loading &amp;&amp; void 0 !== this.$scopedSlots.loading &amp;&amp; e.push(this.$scopedSlots.loading()), t("div", i, e)
        },
        methods: {
            requestServerInteraction: function (t) {
                var e = this;
                void 0 === t &amp;&amp; (t = {}),
                    this.$nextTick(function () {
                        e.$emit("request", {
                            pagination: t.pagination || e.computedPagination,
                            filter: t.filter || e.filter,
                            getCellValue: e.getCellValue
                        })
                    })
            },
            resetVirtualScroll: function () {
                !0 === this.hasVirtScroll &amp;&amp; this.$refs.virtScroll.reset()
            },
            getBody: function (t) {
                if (!0 === this.grid)
                    return this.getGridBody(t);
                var e = !0 !== this.hideHeader ? this.getTableHeader(t) : null;
                return !0 === this.hasVirtScroll ? t(ua, {
                    ref: "virtScroll",
                    props: Object.assign({}, this.virtProps, {
                        items: this.computedRows,
                        type: "__qtable"
                    }),
                    on: mt(this, "vs", { "virtual-scroll": this.__onVScroll }),
                    class: this.tableClass,
                    style: this.tableStyle,
                    scopedSlots: {
                        before: null === e ? void 0 : function () {
                            return e
                        },
                        default: this.getTableRowVirtual(t)
                    }
                }) : la(t, {
                    staticClass: "scroll",
                    class: this.tableClass,
                    style: this.tableStyle
                }, [
                    e,
                    this.getTableBody(t)
                ])
            },
            scrollTo: function (t) {
                if (void 0 === this.$refs.virtScroll) {
                    t = parseInt(t, 10);
                    var e = this.$el.querySelector("tbody tr:nth-of-type(" + (t + 1) + ")");
                    if (null !== e) {
                        var i = this.$el.querySelector(".q-table__middle.scroll"),
                            s = e.offsetTop,
                            n = s &lt; i.scrollTop ? "decrease" : "increase";
                        i.scrollTop = s,
                            this.$emit("virtual-scroll", {
                                index: t,
                                from: 0,
                                to: this.pagination.rowsPerPage - 1,
                                direction: n
                            })
                    }
                }
                else
                    this.$refs.virtScroll.scrollTo(t)
            },
            __onVScroll: function (t) {
                this.$emit("virtual-scroll", t)
            },
            __getProgress: function (t) {
                return [
                    t(or, {
                        staticClass: "q-table__linear-progress",
                        props: {
                            color: this.color,
                            dark: this.isDark,
                            indeterminate: !0,
                            trackColor: "transparent"
                        }
                    })
                ]
            }
        }
    }),
        wa = t.extend({
            name: "QTr",
            mixins: [
                Mt
            ],
            props: {
                props: Object,
                noHover: Boolean
            },
            computed: {
                classes: function () {
                    return "q-tr" + (void 0 === this.props || !0 === this.props.header ? "" : " " + this.props.__trClass) + (!0 === this.noHover ? " q-tr--no-hover" : "")
                }
            },
            render: function (t) {
                return t("tr", {
                    on: Object.assign({}, this.qListeners),
                    class: this.classes
                }, Lt(this, "default"))
            }
        }),
        Sa = t.extend({
            name: "QTd",
            mixins: [
                Mt
            ],
            props: {
                props: Object,
                autoWidth: Boolean,
                noHover: Boolean
            },
            computed: {
                classes: function () {
                    return "q-td" + (!0 === this.autoWidth ? " q-table--col-auto-width" : "") + (!0 === this.noHover ? " q-td--no-hover" : "")
                }
            },
            render: function (t) {
                var e = this.qListeners;
                if (void 0 === this.props)
                    return t("td", {
                        on: e,
                        class: this.classes
                    }, Lt(this, "default"));
                var i = this.$vnode.key,
                    s = void 0 !== this.props.colsMap &amp;&amp; i ? this.props.colsMap[i] : this.props.col;
                return void 0 !== s ? t("td", {
                    on: e,
                    style: s.style,
                    class: this.classes + " " + s.__tdClass
                }, Lt(this, "default")) : void 0
            }
        }),
        xa = /\/?$/;
    function Ca(t, e) {
        return !!e &amp;&amp; (t.path &amp;&amp; e.path ? t.path.replace(xa, "") === e.path.replace(xa, "") &amp;&amp; t.hash === e.hash &amp;&amp; wi(t.query, e.query) : !(!t.name || !e.name) &amp;&amp; (t.name === e.name &amp;&amp; t.hash === e.hash &amp;&amp; wi(t.query, e.query) &amp;&amp; wi(t.params, e.params)))
    }
    function ka(t, e) {
        return 0 === t.path.replace(xa, "/").indexOf(e.path.replace(xa, "/")) &amp;&amp; (!e.hash || t.hash === e.hash) &amp;&amp; function (t, e) {
            for (var i in e)
                if (!(i in t))
                    return !1;
            return !0
        }(t.query, e.query)
    }
    var qa = t.extend({
        name: "QRouteTab",
        mixins: [
            rs,
            Wt
        ],
        props: { to: { required: !0 } },
        inject: {
            __activateRoute: {},
            __recalculateScroll: {}
        },
        watch: {
            $route: function () {
                this.__checkActivation()
            }
        },
        methods: {
            __activate: function (t, e) {
                !0 !== this.disable &amp;&amp; this.__checkActivation(!0),
                    !0 === e ? this.$el.focus(t) : void 0 !== this.$refs.blurTarget &amp;&amp; this.$refs.blurTarget.focus(t)
            },
            __checkActivation: function (t) {
                void 0 === t &amp;&amp; (t = !1);
                var e = this.$route,
                    i = this.$router.resolve(this.to, e, this.append),
                    s = i.href,
                    n = i.location,
                    o = i.route,
                    r = void 0 !== o.redirectedFrom,
                    a = !0 === this.exact ? Ca : ka,
                    l = {
                        name: this.name,
                        selected: t,
                        exact: this.exact,
                        priorityMatched: o.matched.length,
                        priorityHref: s.length
                    };
                a(e, o) &amp;&amp; this.__activateRoute(Object.assign({}, l, { redirected: r })),
                    !0 === r &amp;&amp; a(e, Object.assign({}, { path: o.redirectedFrom }, n)) &amp;&amp; this.__activateRoute(l),
                    this.isActive &amp;&amp; this.__activateRoute()
            }
        },
        mounted: function () {
            this.__recalculateScroll(),
                void 0 !== this.$router &amp;&amp; this.__checkActivation()
        },
        beforeDestroy: function () {
            this.__recalculateScroll(),
                this.__activateRoute({
                    remove: !0,
                    name: this.name
                })
        },
        render: function (t) {
            return this.__renderTab(t, "router-link", this.routerLinkProps)
        }
    }),
        Ta = t.extend({
            name: "QTime",
            mixins: [
                ws
            ],
            directives: { TouchPan: Qi },
            props: {
                mask: { default: null },
                format24h: {
                    type: Boolean,
                    default: null
                },
                defaultDate: {
                    type: String,
                    validator: function (t) {
                        return /^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(t)
                    }
                },
                options: Function,
                hourOptions: Array,
                minuteOptions: Array,
                secondOptions: Array,
                withSeconds: Boolean,
                nowBtn: Boolean
            },
            data: function () {
                var t = Ms(this.value, this.__getComputedMask(), this.__getComputedLocale(), this.calendar, this.__getDefaultDateModel()),
                    e = "Hour";
                return null !== t.hour &amp;&amp; (null === t.minute ? e = "Minute" : !0 === this.withSeconds &amp;&amp; null === t.second &amp;&amp; (e = "Second")), {
                    view: e,
                    isAM: null === t.hour || t.hour &lt; 12,
                    innerModel: t
                }
            },
            watch: {
                value: function (t) {
                    var e = Ms(t, this.computedMask, this.computedLocale, this.calendar, this.defaultDateModel);
                    e.dateHash === this.innerModel.dateHash &amp;&amp; e.timeHash === this.innerModel.timeHash || (this.innerModel = e, null === e.hour ? this.view = "Hour" : this.isAM = e.hour &lt; 12)
                }
            },
            computed: {
                classes: function () {
                    return "q-time q-time--" + (!0 === this.landscape ? "landscape" : "portrait") + (!0 === this.isDark ? " q-time--dark q-dark" : "") + (!0 === this.disable ? " disabled" : !0 === this.readonly ? " q-time--readonly" : "") + (!0 === this.bordered ? " q-time--bordered" : "") + (!0 === this.square ? " q-time--square no-border-radius" : "") + (!0 === this.flat ? " q-time--flat no-shadow" : "")
                },
                computedMask: function () {
                    return this.__getComputedMask()
                },
                stringModel: function () {
                    var t = this.innerModel;
                    return {
                        hour: null === t.hour ? "--" : !0 === this.computedFormat24h ? pt(t.hour) : String(!0 === this.isAM ? 0 === t.hour ? 12 : t.hour : t.hour &gt; 12 ? t.hour - 12 : t.hour),
                        minute: null === t.minute ? "--" : pt(t.minute),
                        second: null === t.second ? "--" : pt(t.second)
                    }
                },
                defaultDateModel: function () {
                    return this.__getDefaultDateModel()
                },
                computedFormat24h: function () {
                    return null !== this.format24h ? this.format24h : this.$q.lang.date.format24h
                },
                pointerStyle: function () {
                    var t = "Hour" === this.view,
                        e = !0 === t ? 12 : 60,
                        i = this.innerModel[this.view.toLowerCase()],
                        s = "rotate(" + (Math.round(i * (360 / e)) - 180) + "deg) translateX(-50%)";
                    return !0 === t &amp;&amp; !0 === this.computedFormat24h &amp;&amp; this.innerModel.hour &gt;= 12 &amp;&amp; (s += " scale(.7)"), { transform: s }
                },
                minLink: function () {
                    return null !== this.innerModel.hour
                },
                secLink: function () {
                    return !0 === this.minLink &amp;&amp; null !== this.innerModel.minute
                },
                hourInSelection: function () {
                    var t = this;
                    return void 0 !== this.hourOptions ? function (e) {
                        return t.hourOptions.includes(e)
                    } : void 0 !== this.options ? function (e) {
                        return t.options(e, null, null)
                    } : void 0
                },
                minuteInSelection: function () {
                    var t = this;
                    return void 0 !== this.minuteOptions ? function (e) {
                        return t.minuteOptions.includes(e)
                    } : void 0 !== this.options ? function (e) {
                        return t.options(t.innerModel.hour, e, null)
                    } : void 0
                },
                secondInSelection: function () {
                    var t = this;
                    return void 0 !== this.secondOptions ? function (e) {
                        return t.secondOptions.includes(e)
                    } : void 0 !== this.options ? function (e) {
                        return t.options(t.innerModel.hour, t.innerModel.minute, e)
                    } : void 0
                },
                positions: function () {
                    var t,
                        e,
                        i,
                        s = 0,
                        n = 1;
                    "Hour" === this.view ? (i = this.hourInSelection, !0 === this.computedFormat24h ? (t = 0, e = 23) : (t = 0, e = 11, !1 === this.isAM &amp;&amp; (s = 12))) : (t = 0, e = 55, n = 5, i = "Minute" === this.view ? this.minuteInSelection : this.secondInSelection);
                    for (var o = [], r = t, a = t; r &lt;= e; r += n, a++) {
                        var l = r + s,
                            c = void 0 !== i &amp;&amp; !1 === i(l),
                            u = "Hour" === this.view &amp;&amp; 0 === r ? !0 === this.format24h ? "00" : "12" : r;
                        o.push({
                            val: l,
                            index: a,
                            disable: c,
                            label: u
                        })
                    }
                    return o
                }
            },
            methods: {
                setNow: function () {
                    this.__updateValue(Object.assign({}, this.__getCurrentDate(), this.__getCurrentTime())),
                        this.view = "Hour"
                },
                __getDefaultDateModel: function () {
                    if ("string" != typeof this.defaultDate) {
                        var t = this.__getCurrentDate();
                        return t.dateHash = t.year + "/" + pt(t.month) + "/" + pt(t.day), t
                    }
                    return Ms(this.defaultDate, "YYYY/MM/DD", void 0, this.calendar)
                },
                __click: function (t) {
                    !0 !== this._isBeingDestroyed &amp;&amp; !0 !== this._isDestroyed &amp;&amp; (!0 !== this.$q.platform.is.desktop &amp;&amp; this.__updateClock(t, this.__getClockRect()), this.__goToNextView())
                },
                __activate: function (t) {
                    !0 !== this._isBeingDestroyed &amp;&amp; !0 !== this._isDestroyed &amp;&amp; this.__updateClock(t, this.__getClockRect())
                },
                __getClockRect: function () {
                    var t = this.$refs.clock.getBoundingClientRect(),
                        e = t.top,
                        i = t.left,
                        s = t.width / 2;
                    return {
                        top: e + s,
                        left: i + s,
                        dist: .7 * s
                    }
                },
                __goToNextView: function () {
                    "Hour" === this.view ? this.view = "Minute" : this.withSeconds &amp;&amp; "Minute" === this.view &amp;&amp; (this.view = "Second")
                },
                __drag: function (t) {
                    if (!0 !== this._isBeingDestroyed &amp;&amp; !0 !== this._isDestroyed) {
                        if (!0 === t.isFirst)
                            return this.draggingClockRect = this.__getClockRect(), void (this.dragCache = this.__updateClock(t.evt, this.draggingClockRect));
                        this.dragCache = this.__updateClock(t.evt, this.draggingClockRect, this.dragCache),
                            !0 === t.isFinal &amp;&amp; (this.draggingClockRect = !1, this.dragCache = null, this.__goToNextView())
                    }
                },
                __updateClock: function (t, e, i) {
                    var s,
                        n = v(t),
                        o = Math.abs(n.top - e.top),
                        r = Math.sqrt(Math.pow(Math.abs(n.top - e.top), 2) + Math.pow(Math.abs(n.left - e.left), 2)),
                        a = Math.asin(o / r) * (180 / Math.PI);
                    if (a = n.top &lt; e.top ? e.left &lt; n.left ? 90 - a : 270 + a : e.left &lt; n.left ? a + 90 : 270 - a, "Hour" === this.view ? (s = Math.round(a / 30), !0 === this.computedFormat24h ? (r &lt; e.dist ? s &lt; 12 &amp;&amp; (s += 12) : 12 === s &amp;&amp; (s = 0), this.isAM = s &lt; 12) : !0 === this.isAM &amp;&amp; 12 === s ? s = 0 : !1 === this.isAM &amp;&amp; 12 !== s &amp;&amp; (s += 12)) : 60 === (s = Math.round(a / 6)) &amp;&amp; (s = 0), i === s)
                        return s;
                    var l = this[this.view.toLowerCase() + "InSelection"];
                    return void 0 === l || !0 === l(s) ? (this["__set" + this.view](s), s) : void 0
                },
                __onKeyupHour: function (t) {
                    if (13 === t.keyCode)
                        this.view = "Hour";
                    else {
                        var e = !0 === this.computedFormat24h ? 24 : 12,
                            i = !0 !== this.computedFormat24h &amp;&amp; !1 === this.isAM ? 12 : 0;
                        37 === t.keyCode ? this.__setHour(i + (24 + this.innerModel.hour - 1) % e) : 39 === t.keyCode &amp;&amp; this.__setHour(i + (24 + this.innerModel.hour + 1) % e)
                    }
                },
                __onKeyupMinute: function (t) {
                    13 === t.keyCode ? this.view = "Minute" : 37 === t.keyCode ? this.__setMinute((60 + this.innerModel.minute - 1) % 60) : 39 === t.keyCode &amp;&amp; this.__setMinute((60 + this.innerModel.minute + 1) % 60)
                },
                __onKeyupSecond: function (t) {
                    13 === t.keyCode ? this.view = "Second" : 37 === t.keyCode ? this.__setSecond((60 + this.innerModel.second - 1) % 60) : 39 === t.keyCode &amp;&amp; this.__setSecond((60 + this.innerModel.second + 1) % 60)
                },
                __getHeader: function (t) {
                    var e = this,
                        i = [
                            t("div", {
                                staticClass: "q-time__link",
                                class: "Hour" === this.view ? "q-time__link--active" : "cursor-pointer",
                                attrs: { tabindex: this.computedTabindex },
                                on: mt(this, "vH", {
                                    click: function () {
                                        e.view = "Hour"
                                    },
                                    keyup: this.__onKeyupHour
                                })
                            }, [
                                this.stringModel.hour
                            ]),
                            t("div", [":"]),
                            t("div", !0 === this.minLink ? {
                                staticClass: "q-time__link",
                                class: "Minute" === this.view ? "q-time__link--active" : "cursor-pointer",
                                attrs: { tabindex: this.computedTabindex },
                                on: mt(this, "vM", {
                                    click: function () {
                                        e.view = "Minute"
                                    },
                                    keyup: this.__onKeyupMinute
                                })
                            } : { staticClass: "q-time__link" }, [
                                this.stringModel.minute
                            ])
                        ];
                    return !0 === this.withSeconds &amp;&amp; i.push(t("div", [":"]), t("div", !0 === this.secLink ? {
                        staticClass: "q-time__link",
                        class: "Second" === this.view ? "q-time__link--active" : "cursor-pointer",
                        attrs: { tabindex: this.computedTabindex },
                        on: mt(this, "vS", {
                            click: function () {
                                e.view = "Second"
                            },
                            keyup: this.__onKeyupSecond
                        })
                    } : { staticClass: "q-time__link" }, [
                        this.stringModel.second
                    ])), t("div", {
                        staticClass: "q-time__header flex flex-center no-wrap",
                        class: this.headerClass
                    }, [
                        t("div", {
                            staticClass: "q-time__header-label row items-center no-wrap",
                            attrs: { dir: "ltr" }
                        }, i),
                        !1 === this.computedFormat24h ? t("div", { staticClass: "q-time__header-ampm column items-between no-wrap" }, [
                            t("div", {
                                staticClass: "q-time__link",
                                class: !0 === this.isAM ? "q-time__link--active" : "cursor-pointer",
                                attrs: { tabindex: this.computedTabindex },
                                on: mt(this, "AM", {
                                    click: this.__setAm,
                                    keyup: function (t) {
                                        13 === t.keyCode &amp;&amp; e.__setAm()
                                    }
                                })
                            }, ["AM"]),
                            t("div", {
                                staticClass: "q-time__link",
                                class: !0 !== this.isAM ? "q-time__link--active" : "cursor-pointer",
                                attrs: { tabindex: this.computedTabindex },
                                on: mt(this, "PM", {
                                    click: this.__setPm,
                                    keyup: function (t) {
                                        13 === t.keyCode &amp;&amp; e.__setPm()
                                    }
                                })
                            }, ["PM"])
                        ]) : null
                    ])
                },
                __getClock: function (t) {
                    var e = this,
                        i = this.view.toLowerCase(),
                        s = this.innerModel[i];
                    return t("div", { staticClass: "q-time__content col relative-position" }, [
                        t("transition", { props: { name: "q-transition--scale" } }, [
                            t("div", {
                                key: "clock" + this.view,
                                staticClass: "q-time__container-parent absolute-full"
                            }, [
                                t("div", {
                                    ref: "clock",
                                    staticClass: "q-time__container-child fit overflow-hidden"
                                }, [
                                    t("div", {
                                        staticClass: "q-time__clock cursor-pointer non-selectable",
                                        on: mt(this, "click", {
                                            click: this.__click,
                                            mousedown: this.__activate
                                        }),
                                        directives: mt(this, "touch", [
                                            {
                                                name: "touch-pan",
                                                value: this.__drag,
                                                modifiers: {
                                                    stop: !0,
                                                    prevent: !0,
                                                    mouse: !0
                                                }
                                            }
                                        ])
                                    }, [
                                        t("div", { staticClass: "q-time__clock-circle fit" }, [
                                            t("div", {
                                                staticClass: "q-time__clock-pointer",
                                                style: this.pointerStyle,
                                                class: null === this.innerModel[i] ? "hidden" : void 0 !== this.color ? "text-" + this.color : ""
                                            }),
                                            this.positions.map(function (i) {
                                                return t("div", {
                                                    staticClass: "q-time__clock-position row flex-center q-time__clock-pos-" + i.index,
                                                    class: i.val === s ? e.headerClass.concat(" q-time__clock-position--active") : !0 === i.disable ? "q-time__clock-position--disable" : null
                                                }, [
                                                    t("span", [
                                                        i.label
                                                    ])
                                                ])
                                            })
                                        ])
                                    ])
                                ])
                            ])
                        ]),
                        !0 === this.nowBtn ? t(be, {
                            staticClass: "q-time__now-button absolute",
                            props: {
                                icon: this.$q.iconSet.datetime.now,
                                unelevated: !0,
                                size: "sm",
                                round: !0,
                                color: this.color,
                                textColor: this.textColor,
                                tabindex: this.computedTabindex
                            },
                            on: mt(this, "now", { click: this.setNow })
                        }) : null
                    ])
                },
                __setHour: function (t) {
                    this.innerModel.hour !== t &amp;&amp; (this.innerModel.hour = t, this.innerModel.minute = null, this.innerModel.second = null)
                },
                __setMinute: function (t) {
                    this.innerModel.minute !== t &amp;&amp; (this.innerModel.minute = t, this.innerModel.second = null, !0 !== this.withSeconds &amp;&amp; this.__updateValue({ minute: t }))
                },
                __setSecond: function (t) {
                    this.innerModel.second !== t &amp;&amp; this.__updateValue({ second: t })
                },
                __setAm: function () {
                    this.isAM || (this.isAM = !0, null !== this.innerModel.hour &amp;&amp; (this.innerModel.hour -= 12, this.__verifyAndUpdate()))
                },
                __setPm: function () {
                    this.isAM &amp;&amp; (this.isAM = !1, null !== this.innerModel.hour &amp;&amp; (this.innerModel.hour += 12, this.__verifyAndUpdate()))
                },
                __verifyAndUpdate: function () {
                    return void 0 !== this.hourInSelection &amp;&amp; !0 !== this.hourInSelection(this.innerModel.hour) ? (this.innerModel = Ms(), this.isAM = !0, void (this.view = "Hour")) : void 0 !== this.minuteInSelection &amp;&amp; !0 !== this.minuteInSelection(this.innerModel.minute) ? (this.innerModel.minute = null, this.innerModel.second = null, void (this.view = "Minute")) : !0 === this.withSeconds &amp;&amp; void 0 !== this.secondInSelection &amp;&amp; !0 !== this.secondInSelection(this.innerModel.second) ? (this.innerModel.second = null, void (this.view = "Second")) : void (null === this.innerModel.hour || null === this.innerModel.minute || !0 === this.withSeconds &amp;&amp; null === this.innerModel.second || this.__updateValue({}))
                },
                __getComputedMask: function () {
                    return "persian" !== this.calendar &amp;&amp; null !== this.mask ? this.mask : "HH:mm" + (!0 === this.withSeconds ? ":ss" : "")
                },
                __updateValue: function (t) {
                    var e = Object.assign({}, this.innerModel, t),
                        i = "persian" === this.calendar ? pt(e.hour) + ":" + pt(e.minute) + (!0 === this.withSeconds ? ":" + pt(e.second) : "") : Ns(new Date(e.year, null === e.month ? null : e.month - 1, e.day, e.hour, e.minute, e.second, e.millisecond), this.computedMask, this.computedLocale, e.year, e.timezoneOffset);
                    e.changed = i !== this.value,
                        this.$emit("input", i, e)
                }
            },
            render: function (t) {
                var e = [
                    this.__getClock(t)
                ],
                    i = Lt(this, "default");
                return void 0 !== i &amp;&amp; e.push(t("div", { staticClass: "q-time__actions" }, i)), void 0 !== this.name &amp;&amp; !0 !== this.disable &amp;&amp; this.__injectFormInput(e, "push"), t("div", {
                    class: this.classes,
                    on: Object.assign({}, this.qListeners),
                    attrs: { tabindex: -1 }
                }, [
                    this.__getHeader(t),
                    t("div", { staticClass: "q-time__main col overflow-auto" }, e)
                ])
            }
        }),
        $a = t.extend({
            name: "QTimeline",
            mixins: [
                Dt,
                Mt
            ],
            provide: function () {
                return { __timeline: this }
            },
            props: {
                color: {
                    type: String,
                    default: "primary"
                },
                side: {
                    type: String,
                    default: "right",
                    validator: function (t) {
                        return ["left", "right"].includes(t)
                    }
                },
                layout: {
                    type: String,
                    default: "dense",
                    validator: function (t) {
                        return ["dense", "comfortable", "loose"].includes(t)
                    }
                }
            },
            computed: {
                classes: function () {
                    return "q-timeline--" + this.layout + " q-timeline--" + this.layout + "--" + this.side + (!0 === this.isDark ? " q-timeline--dark" : "")
                }
            },
            render: function (t) {
                return t("ul", {
                    staticClass: "q-timeline",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        Ma = t.extend({
            name: "QTimelineEntry",
            inject: {
                __timeline: {
                    default: function () {
                        console.error("QTimelineEntry needs to be child of QTimeline")
                    }
                }
            },
            mixins: [
                Mt
            ],
            props: {
                heading: Boolean,
                tag: {
                    type: String,
                    default: "h3"
                },
                side: {
                    type: String,
                    default: "right",
                    validator: function (t) {
                        return ["left", "right"].includes(t)
                    }
                },
                icon: String,
                avatar: String,
                color: String,
                title: String,
                subtitle: String,
                body: String
            },
            computed: {
                colorClass: function () {
                    return "text-" + (this.color || this.__timeline.color)
                },
                classes: function () {
                    return "q-timeline__entry--" + this.side + (void 0 !== this.icon || void 0 !== this.avatar ? " q-timeline__entry--icon" : "")
                },
                reverse: function () {
                    return "comfortable" === this.__timeline.layout &amp;&amp; "left" === this.__timeline.side
                }
            },
            render: function (t) {
                var e,
                    i = Bt(this, "default", []);
                if (void 0 !== this.body &amp;&amp; i.unshift(this.body), !0 === this.heading) {
                    var s = [
                        t("div"),
                        t("div"),
                        t(this.tag, { staticClass: "q-timeline__heading-title" }, i)
                    ];
                    return t("div", {
                        staticClass: "q-timeline__heading",
                        on: Object.assign({}, this.qListeners)
                    }, !0 === this.reverse ? s.reverse() : s)
                }
                void 0 !== this.icon ? e = [
                    t(Et, {
                        staticClass: "row items-center justify-center",
                        props: { name: this.icon }
                    })
                ] : void 0 !== this.avatar &amp;&amp; (e = [
                    t("img", {
                        staticClass: "q-timeline__dot-img",
                        domProps: { src: this.avatar }
                    })
                ]);
                var n = [
                    t("div", { staticClass: "q-timeline__subtitle" }, [
                        t("span", Lt(this, "subtitle", [
                            this.subtitle
                        ]))
                    ]),
                    t("div", {
                        staticClass: "q-timeline__dot",
                        class: this.colorClass
                    }, e),
                    t("div", { staticClass: "q-timeline__content" }, [
                        t("h6", { staticClass: "q-timeline__title" }, Lt(this, "title", [
                            this.title
                        ]))
                    ].concat(i))
                ];
                return t("li", {
                    staticClass: "q-timeline__entry",
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, !0 === this.reverse ? n.reverse() : n)
            }
        }),
        La = t.extend({
            name: "QToolbar",
            mixins: [
                Mt
            ],
            props: { inset: Boolean },
            render: function (t) {
                return t("div", {
                    staticClass: "q-toolbar row no-wrap items-center",
                    class: this.inset ? "q-toolbar--inset" : null,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        Ba = t.extend({
            name: "QToolbarTitle",
            mixins: [
                Mt
            ],
            props: { shrink: Boolean },
            computed: {
                classes: function () {
                    return "q-toolbar__title ellipsis" + (!0 === this.shrink ? " col-shrink" : "")
                }
            },
            render: function (t) {
                return t("div", {
                    class: this.classes,
                    on: Object.assign({}, this.qListeners)
                }, Lt(this, "default"))
            }
        }),
        Pa = t.extend({
            name: "QTree",
            mixins: [
                Dt
            ],
            props: {
                nodes: {
                    type: Array,
                    required: !0
                },
                nodeKey: {
                    type: String,
                    required: !0
                },
                labelKey: {
                    type: String,
                    default: "label"
                },
                childrenKey: {
                    type: String,
                    default: "children"
                },
                color: String,
                controlColor: String,
                textColor: String,
                selectedColor: String,
                icon: String,
                tickStrategy: {
                    type: String,
                    default: "none",
                    validator: function (t) {
                        return ["none", "strict", "leaf", "leaf-filtered"].includes(t)
                    }
                },
                ticked: Array,
                expanded: Array,
                selected: {},
                defaultExpandAll: Boolean,
                accordion: Boolean,
                filter: String,
                filterMethod: {
                    type: Function,
                    default: function (t, e) {
                        var i = e.toLowerCase();
                        return t[this.labelKey] &amp;&amp; t[this.labelKey].toLowerCase().indexOf(i) &gt; -1
                    }
                },
                duration: Number,
                noConnectors: Boolean,
                noNodesLabel: String,
                noResultsLabel: String
            },
            computed: {
                classes: function () {
                    return "q-tree" + (!0 === this.noConnectors ? " q-tree--no-connectors" : "") + (!0 === this.isDark ? " q-tree--dark" : "") + (void 0 !== this.color ? " text-" + this.color : "")
                },
                hasSelection: function () {
                    return void 0 !== this.selected
                },
                computedIcon: function () {
                    return this.icon || this.$q.iconSet.tree.icon
                },
                computedControlColor: function () {
                    return this.controlColor || this.color
                },
                textColorClass: function () {
                    if (void 0 !== this.textColor)
                        return "text-" + this.textColor
                },
                selectedColorClass: function () {
                    var t = this.selectedColor || this.color;
                    if (t)
                        return "text-" + t
                },
                meta: function () {
                    var t = this,
                        e = {},
                        i = function (s, n) {
                            var o = s.tickStrategy || (n ? n.tickStrategy : t.tickStrategy),
                                r = s[t.nodeKey],
                                a = s[t.childrenKey] &amp;&amp; s[t.childrenKey].length &gt; 0,
                                l = !0 !== a,
                                c = !0 !== s.disabled &amp;&amp; !0 === t.hasSelection &amp;&amp; !1 !== s.selectable,
                                u = !0 !== s.disabled &amp;&amp; !1 !== s.expandable,
                                h = "none" !== o,
                                d = "strict" === o,
                                p = "leaf-filtered" === o,
                                f = "leaf" === o || "leaf-filtered" === o,
                                m = !0 !== s.disabled &amp;&amp; !1 !== s.tickable;
                            !0 === f &amp;&amp; !0 === m &amp;&amp; n &amp;&amp; !0 !== n.tickable &amp;&amp; (m = !1);
                            var v = s.lazy;
                            v &amp;&amp; t.lazy[r] &amp;&amp; (v = t.lazy[r]);
                            var g = {
                                key: r,
                                parent: n,
                                isParent: a,
                                isLeaf: l,
                                lazy: v,
                                disabled: s.disabled,
                                link: !0 !== s.disabled &amp;&amp; (!0 === c || !0 === u &amp;&amp; (!0 === a || !0 === v)),
                                children: [],
                                matchesFilter: !t.filter || t.filterMethod(s, t.filter),
                                selected: r === t.selected &amp;&amp; !0 === c,
                                selectable: c,
                                expanded: !0 === a &amp;&amp; t.innerExpanded.includes(r),
                                expandable: u,
                                noTick: !0 === s.noTick || !0 !== d &amp;&amp; v &amp;&amp; "loaded" !== v,
                                tickable: m,
                                tickStrategy: o,
                                hasTicking: h,
                                strictTicking: d,
                                leafFilteredTicking: p,
                                leafTicking: f,
                                ticked: !0 === d ? t.innerTicked.includes(r) : !0 === l &amp;&amp; t.innerTicked.includes(r)
                            };
                            if (e[r] = g, !0 === a &amp;&amp; (g.children = s[t.childrenKey].map(function (t) {
                                return i(t, g)
                            }), t.filter &amp;&amp; (!0 !== g.matchesFilter ? g.matchesFilter = g.children.some(function (t) {
                                return t.matchesFilter
                            }) : !0 !== g.noTick &amp;&amp; !0 !== g.disabled &amp;&amp; !0 === g.tickable &amp;&amp; !0 === p &amp;&amp; !0 === g.children.every(function (t) {
                                return !0 !== t.matchesFilter || !0 === t.noTick || !0 !== t.tickable
                            }) &amp;&amp; (g.tickable = !1)), !0 === g.matchesFilter &amp;&amp; (!0 !== g.noTick &amp;&amp; !0 !== d &amp;&amp; !0 === g.children.every(function (t) {
                                return t.noTick
                            }) &amp;&amp; (g.noTick = !0), f))) {
                                if (g.ticked = !1, g.indeterminate = g.children.some(function (t) {
                                    return !0 === t.indeterminate
                                }), g.tickable = !0 === g.tickable &amp;&amp; g.children.some(function (t) {
                                    return t.tickable
                                }), !0 !== g.indeterminate) {
                                    var _ = g.children.reduce(function (t, e) {
                                        return !0 === e.ticked ? t + 1 : t
                                    }, 0);
                                    _ === g.children.length ? g.ticked = !0 : _ &gt; 0 &amp;&amp; (g.indeterminate = !0)
                                }
                                !0 === g.indeterminate &amp;&amp; (g.indeterminateNextState = g.children.every(function (t) {
                                    return !0 !== t.tickable || !0 !== t.ticked
                                }))
                            }
                            return g
                        };
                    return this.nodes.forEach(function (t) {
                        return i(t, null)
                    }), e
                }
            },
            data: function () {
                return {
                    lazy: {},
                    innerTicked: this.ticked || [],
                    innerExpanded: this.expanded || []
                }
            },
            watch: {
                ticked: function (t) {
                    this.innerTicked = t
                },
                expanded: function (t) {
                    this.innerExpanded = t
                }
            },
            methods: {
                getNodeByKey: function (t) {
                    var e = this,
                        i = [].reduce,
                        s = function (n, o) {
                            return n || !o ? n : !0 === Array.isArray(o) ? i.call(Object(o), s, n) : o[e.nodeKey] === t ? o : o[e.childrenKey] ? s(null, o[e.childrenKey]) : void 0
                        };
                    return s(null, this.nodes)
                },
                getTickedNodes: function () {
                    var t = this;
                    return this.innerTicked.map(function (e) {
                        return t.getNodeByKey(e)
                    })
                },
                getExpandedNodes: function () {
                    var t = this;
                    return this.innerExpanded.map(function (e) {
                        return t.getNodeByKey(e)
                    })
                },
                isExpanded: function (t) {
                    return !(!t || !this.meta[t]) &amp;&amp; this.meta[t].expanded
                },
                collapseAll: function () {
                    void 0 !== this.expanded ? this.$emit("update:expanded", []) : this.innerExpanded = []
                },
                expandAll: function () {
                    var t = this,
                        e = this.innerExpanded,
                        i = function (s) {
                            s[t.childrenKey] &amp;&amp; s[t.childrenKey].length &gt; 0 &amp;&amp; !1 !== s.expandable &amp;&amp; !0 !== s.disabled &amp;&amp; (e.push(s[t.nodeKey]), s[t.childrenKey].forEach(i))
                        };
                    this.nodes.forEach(i),
                        void 0 !== this.expanded ? this.$emit("update:expanded", e) : this.innerExpanded = e
                },
                setExpanded: function (t, e, i, s) {
                    var n = this;
                    if (void 0 === i &amp;&amp; (i = this.getNodeByKey(t)), void 0 === s &amp;&amp; (s = this.meta[t]), s.lazy &amp;&amp; "loaded" !== s.lazy) {
                        if ("loading" === s.lazy)
                            return;
                        this.$set(this.lazy, t, "loading"),
                            this.$emit("lazy-load", {
                                node: i,
                                key: t,
                                done: function (e) {
                                    n.lazy[t] = "loaded",
                                        e &amp;&amp; n.$set(i, n.childrenKey, e),
                                        n.$nextTick(function () {
                                            var e = n.meta[t];
                                            e &amp;&amp; !0 === e.isParent &amp;&amp; n.__setExpanded(t, !0)
                                        })
                                },
                                fail: function () {
                                    n.$delete(n.lazy, t)
                                }
                            })
                    }
                    else
                        !0 === s.isParent &amp;&amp; !0 === s.expandable &amp;&amp; this.__setExpanded(t, e)
                },
                __setExpanded: function (t, e) {
                    var i = this,
                        s = this.innerExpanded,
                        n = void 0 !== this.expanded;
                    if (!0 === n &amp;&amp; (s = s.slice()), e) {
                        if (this.accordion &amp;&amp; this.meta[t]) {
                            var o = [];
                            this.meta[t].parent ? this.meta[t].parent.children.forEach(function (e) {
                                e.key !== t &amp;&amp; !0 === e.expandable &amp;&amp; o.push(e.key)
                            }) : this.nodes.forEach(function (e) {
                                var s = e[i.nodeKey];
                                s !== t &amp;&amp; o.push(s)
                            }),
                                o.length &gt; 0 &amp;&amp; (s = s.filter(function (t) {
                                    return !1 === o.includes(t)
                                }))
                        }
                        s = s.concat([
                            t
                        ]).filter(function (t, e, i) {
                            return i.indexOf(t) === e
                        })
                    }
                    else
                        s = s.filter(function (e) {
                            return e !== t
                        });
                    !0 === n ? this.$emit("update:expanded", s) : this.innerExpanded = s
                },
                isTicked: function (t) {
                    return !(!t || !this.meta[t]) &amp;&amp; this.meta[t].ticked
                },
                setTicked: function (t, e) {
                    var i = this.innerTicked,
                        s = void 0 !== this.ticked;
                    !0 === s &amp;&amp; (i = i.slice()),
                        i = e ? i.concat(t).filter(function (t, e, i) {
                            return i.indexOf(t) === e
                        }) : i.filter(function (e) {
                            return !1 === t.includes(e)
                        }),
                        !0 === s &amp;&amp; this.$emit("update:ticked", i)
                },
                __getSlotScope: function (t, e, i) {
                    var s = this,
                        n = {
                            tree: this,
                            node: t,
                            key: i,
                            color: this.color,
                            dark: this.isDark
                        };
                    return Object.defineProperty(n, "expanded", {
                        get: function () {
                            return e.expanded
                        },
                        set: function (t) {
                            t !== e.expanded &amp;&amp; s.setExpanded(i, t)
                        },
                        configurable: !0,
                        enumerable: !0
                    }), Object.defineProperty(n, "ticked", {
                        get: function () {
                            return e.ticked
                        },
                        set: function (t) {
                            t !== e.ticked &amp;&amp; s.setTicked([
                                i
                            ], t)
                        },
                        configurable: !0,
                        enumerable: !0
                    }), n
                },
                __getChildren: function (t, e) {
                    var i = this;
                    return (this.filter ? e.filter(function (t) {
                        return i.meta[t[i.nodeKey]].matchesFilter
                    }) : e).map(function (e) {
                        return i.__getNode(t, e)
                    })
                },
                __getNodeMedia: function (t, e) {
                    if (void 0 !== e.icon)
                        return t(Et, {
                            staticClass: "q-tree__icon q-mr-sm",
                            props: {
                                name: e.icon,
                                color: e.iconColor
                            }
                        });
                    var i = e.img || e.avatar;
                    return i ? t("img", {
                        staticClass: "q-tree__" + (e.img ? "img" : "avatar") + " q-mr-sm",
                        attrs: { src: i }
                    }) : void 0
                },
                __getNode: function (t, e) {
                    var i = this,
                        s = e[this.nodeKey],
                        n = this.meta[s],
                        o = e.header &amp;&amp; this.$scopedSlots["header-" + e.header] || this.$scopedSlots["default-header"],
                        r = !0 === n.isParent ? this.__getChildren(t, e[this.childrenKey]) : [],
                        a = r.length &gt; 0 || n.lazy &amp;&amp; "loaded" !== n.lazy,
                        l = e.body &amp;&amp; this.$scopedSlots["body-" + e.body] || this.$scopedSlots["default-body"],
                        c = void 0 !== o || void 0 !== l ? this.__getSlotScope(e, n, s) : null;
                    return void 0 !== l &amp;&amp; (l = t("div", { staticClass: "q-tree__node-body relative-position" }, [
                        t("div", { class: this.textColorClass }, [
                            l(c)
                        ])
                    ])), t("div", {
                        key: s,
                        staticClass: "q-tree__node relative-position",
                        class: {
                            "q-tree__node--parent": a,
                            "q-tree__node--child": !a
                        }
                    }, [
                        t("div", {
                            staticClass: "q-tree__node-header relative-position row no-wrap items-center",
                            class: {
                                "q-tree__node--link q-hoverable q-focusable": n.link,
                                "q-tree__node--selected": n.selected,
                                "q-tree__node--disabled": n.disabled
                            },
                            attrs: { tabindex: n.link ? 0 : -1 },
                            on: {
                                click: function (t) {
                                    i.__onClick(e, n, t)
                                },
                                keypress: function (t) {
                                    !0 !== J(t) &amp;&amp; (13 === t.keyCode ? i.__onClick(e, n, t, !0) : 32 === t.keyCode &amp;&amp; i.__onExpandClick(e, n, t, !0))
                                }
                            }
                        }, [
                            t("div", {
                                staticClass: "q-focus-helper",
                                attrs: { tabindex: -1 },
                                ref: "blurTarget_" + n.key
                            }),
                            "loading" === n.lazy ? t(Kt, {
                                staticClass: "q-tree__spinner q-mr-xs",
                                props: { color: this.computedControlColor }
                            }) : !0 === a ? t(Et, {
                                staticClass: "q-tree__arrow q-mr-xs",
                                class: { "q-tree__arrow--rotate": n.expanded },
                                props: { name: this.computedIcon },
                                on: {
                                    click: function (t) {
                                        i.__onExpandClick(e, n, t)
                                    }
                                }
                            }) : null,
                            !0 === n.hasTicking &amp;&amp; !0 !== n.noTick ? t(Bi, {
                                staticClass: "q-mr-xs",
                                props: {
                                    value: !0 === n.indeterminate ? null : n.ticked,
                                    color: this.computedControlColor,
                                    dark: this.isDark,
                                    dense: !0,
                                    keepColor: !0,
                                    disable: !0 !== n.tickable
                                },
                                on: {
                                    keydown: S,
                                    input: function (t) {
                                        i.__onTickedClick(n, t)
                                    }
                                }
                            }) : null,
                            t("div", {
                                staticClass: "q-tree__node-header-content col row no-wrap items-center",
                                class: n.selected ? this.selectedColorClass : this.textColorClass
                            }, [
                                o ? o(c) : [
                                    this.__getNodeMedia(t, e),
                                    t("div", e[this.labelKey])
                                ]
                            ])
                        ]),
                        !0 === a ? t(ao, {
                            props: { duration: this.duration },
                            on: mt(this, "slide", {
                                show: function () {
                                    i.$emit("after-show")
                                },
                                hide: function () {
                                    i.$emit("after-hide")
                                }
                            })
                        }, [
                            t("div", {
                                staticClass: "q-tree__node-collapsible",
                                class: this.textColorClass,
                                directives: [
                                    {
                                        name: "show",
                                        value: n.expanded
                                    }
                                ]
                            }, [
                                l,
                                t("div", {
                                    staticClass: "q-tree__children",
                                    class: { "q-tree__node--disabled": n.disabled }
                                }, r)
                            ])
                        ]) : l
                    ])
                },
                __blur: function (t) {
                    var e = this.$refs["blurTarget_" + t];
                    void 0 !== e &amp;&amp; e.focus()
                },
                __onClick: function (t, e, i, s) {
                    !0 !== s &amp;&amp; this.__blur(e.key),
                        this.hasSelection ? e.selectable &amp;&amp; this.$emit("update:selected", e.key !== this.selected ? e.key : null) : this.__onExpandClick(t, e, i, s),
                        "function" == typeof t.handler &amp;&amp; t.handler(t)
                },
                __onExpandClick: function (t, e, i, s) {
                    void 0 !== i &amp;&amp; S(i),
                        !0 !== s &amp;&amp; this.__blur(e.key),
                        this.setExpanded(e.key, !e.expanded, t, e)
                },
                __onTickedClick: function (t, e) {
                    if (!0 === t.indeterminate &amp;&amp; (e = t.indeterminateNextState), t.strictTicking)
                        this.setTicked([
                            t.key
                        ], e);
                    else if (t.leafTicking) {
                        var i = [],
                            s = function (t) {
                                t.isParent ? (!0 !== e &amp;&amp; !0 !== t.noTick &amp;&amp; !0 === t.tickable &amp;&amp; i.push(t.key), !0 === t.leafTicking &amp;&amp; t.children.forEach(s)) : !0 === t.noTick || !0 !== t.tickable || !0 === t.leafFilteredTicking &amp;&amp; !0 !== t.matchesFilter || i.push(t.key)
                            };
                        s(t),
                            this.setTicked(i, e)
                    }
                }
            },
            render: function (t) {
                var e = this.__getChildren(t, this.nodes);
                return t("div", { class: this.classes }, 0 === e.length ? this.filter ? this.noResultsLabel || this.$q.lang.tree.noResults : this.noNodesLabel || this.$q.lang.tree.noNodes : e)
            },
            created: function () {
                !0 === this.defaultExpandAll &amp;&amp; this.expandAll()
            }
        }),
        Oa = t.extend({
            name: "QUploaderBase",
            mixins: [
                Dt,
                Tn
            ],
            props: {
                label: String,
                color: String,
                textColor: String,
                square: Boolean,
                flat: Boolean,
                bordered: Boolean,
                noThumbnails: Boolean,
                autoUpload: Boolean,
                hideUploadBtn: Boolean,
                disable: Boolean,
                readonly: Boolean
            },
            provide: function () {
                return { __qUploaderGetInput: this.__getInputControl }
            },
            data: function () {
                return {
                    files: [],
                    queuedFiles: [],
                    uploadedFiles: [],
                    dnd: !1,
                    expanded: !1,
                    uploadSize: 0,
                    uploadedSize: 0
                }
            },
            watch: {
                isUploading: function (t, e) {
                    !1 === e &amp;&amp; !0 === t ? this.$emit("start") : !0 === e &amp;&amp; !1 === t &amp;&amp; this.$emit("finish")
                }
            },
            computed: {
                canUpload: function () {
                    return !0 === this.editable &amp;&amp; !0 !== this.isBusy &amp;&amp; !0 !== this.isUploading &amp;&amp; this.queuedFiles.length &gt; 0
                },
                canAddFiles: function () {
                    return !0 === this.editable &amp;&amp; !0 !== this.isUploading &amp;&amp; (!0 === this.multiple || 0 === this.queuedFiles.length) &amp;&amp; (void 0 === this.maxFiles || this.files.length &lt; this.maxFilesNumber) &amp;&amp; (void 0 === this.maxTotalSize || this.uploadSize &lt; this.maxTotalSizeNumber)
                },
                uploadProgress: function () {
                    return 0 === this.uploadSize ? 0 : this.uploadedSize / this.uploadSize
                },
                uploadProgressLabel: function () {
                    return this.__getProgressLabel(this.uploadProgress)
                },
                uploadedSizeLabel: function () {
                    return ct(this.uploadedSize)
                },
                uploadSizeLabel: function () {
                    return ct(this.uploadSize)
                },
                colorClass: function () {
                    var t = [];
                    return void 0 !== this.color &amp;&amp; t.push("bg-" + this.color), void 0 !== this.textColor &amp;&amp; t.push("text-" + this.textColor), t.join(" ")
                },
                editable: function () {
                    return !0 !== this.disable &amp;&amp; !0 !== this.readonly
                }
            },
            methods: {
                reset: function () {
                    this.disable || (this.abort(), this.uploadedSize = 0, this.uploadSize = 0, this.__revokeImgURLs(), this.files = [], this.queuedFiles = [], this.uploadedFiles = [])
                },
                removeUploadedFiles: function () {
                    this.disable || (this.files = this.files.filter(function (t) {
                        return "uploaded" !== t.__status || (void 0 !== t._img &amp;&amp; window.URL.revokeObjectURL(t._img.src), !1)
                    }), this.uploadedFiles = [])
                },
                removeQueuedFiles: function () {
                    var t = this;
                    if (!this.disable) {
                        var e = [],
                            i = this.files.filter(function (i) {
                                return "idle" !== i.__status &amp;&amp; "failed" !== i.__status || (t.uploadSize -= i.size, e.push(i), void 0 !== i._img &amp;&amp; window.URL.revokeObjectURL(i._img.src), !1)
                            });
                        e.length &gt; 0 &amp;&amp; (this.files = i, this.queuedFiles = [], this.$emit("removed", e))
                    }
                },
                removeFile: function (t) {
                    this.disable || ("uploaded" === t.__status ? this.uploadedFiles = this.uploadedFiles.filter(function (e) {
                        return e.name !== t.name
                    }) : "uploading" === t.__status ? t.__abort() : this.uploadSize -= t.size, this.files = this.files.filter(function (e) {
                        return e.name !== t.name || (void 0 !== e._img &amp;&amp; window.URL.revokeObjectURL(e._img.src), !1)
                    }), this.queuedFiles = this.queuedFiles.filter(function (e) {
                        return e.name !== t.name
                    }), this.$emit("removed", [
                        t
                    ]))
                },
                __revokeImgURLs: function () {
                    this.files.forEach(function (t) {
                        void 0 !== t._img &amp;&amp; window.URL.revokeObjectURL(t._img.src)
                    })
                },
                __getFileInput: function () {
                    return this.$refs.input || this.$el.getElementsByClassName("q-uploader__input")[0]
                },
                __getProgressLabel: function (t) {
                    return (100 * t).toFixed(2) + "%"
                },
                __updateFile: function (t, e, i) {
                    if (t.__status = e, "idle" === e)
                        return t.__uploaded = 0, t.__progress = 0, t.__sizeLabel = ct(t.size), void (t.__progressLabel = "0.00%");
                    "failed" !== e ? (t.__uploaded = "uploaded" === e ? t.size : i, t.__progress = "uploaded" === e ? 1 : Math.min(.9999, t.__uploaded / t.size), t.__progressLabel = this.__getProgressLabel(t.__progress), this.$forceUpdate()) : this.$forceUpdate()
                },
                __addFiles: function (t, e) {
                    var i = this,
                        s = this.__processFiles(t, e, this.files, !0);
                    if (void 0 !== s) {
                        var n = s.filter(function (t) {
                            return -1 === i.files.findIndex(function (e) {
                                return t.name === e.name
                            })
                        });
                        this.__getFileInput().value = "",
                            void 0 !== n &amp;&amp; (n.forEach(function (t) {
                                if (i.__updateFile(t, "idle"), i.uploadSize += t.size, !0 !== i.noThumbnails &amp;&amp; t.type.toUpperCase().startsWith("IMAGE")) {
                                    var e = new Image;
                                    e.src = window.URL.createObjectURL(t),
                                        t.__img = e
                                }
                            }), this.files = this.files.concat(n), this.queuedFiles = this.queuedFiles.concat(n), this.$emit("added", n), !0 === this.autoUpload &amp;&amp; this.upload())
                    }
                },
                __getBtn: function (t, e, i, s) {
                    if (!0 === e)
                        return t(be, {
                            props: {
                                type: "a",
                                icon: this.$q.iconSet.uploader[i],
                                flat: !0,
                                dense: !0
                            },
                            on: "add" === i ? null : { click: s }
                        }, "add" === i ? this.__getInputControl(t) : null)
                },
                __getInputControl: function (t) {
                    return [
                        t("input", {
                            ref: "input",
                            staticClass: "q-uploader__input overflow-hidden absolute-full",
                            attrs: Object.assign({}, {
                                tabindex: -1,
                                type: "file",
                                title: "",
                                accept: this.accept,
                                capture: this.capture
                            }, !0 === this.multiple ? { multiple: !0 } : {}),
                            on: mt(this, "input", {
                                mousedown: y,
                                change: this.__addFiles
                            })
                        })
                    ]
                },
                __getHeader: function (t) {
                    return void 0 !== this.$scopedSlots.header ? this.$scopedSlots.header(this) : [
                        t("div", { staticClass: "q-uploader__header-content flex flex-center no-wrap q-gutter-xs" }, [
                            this.__getBtn(t, this.queuedFiles.length &gt; 0, "removeQueue", this.removeQueuedFiles),
                            this.__getBtn(t, this.uploadedFiles.length &gt; 0, "removeUploaded", this.removeUploadedFiles),
                            !0 === this.isUploading ? t(Kt, { staticClass: "q-uploader__spinner" }) : null,
                            t("div", { staticClass: "col column justify-center" }, [
                                void 0 !== this.label ? t("div", { staticClass: "q-uploader__title" }, [
                                    this.label
                                ]) : null,
                                t("div", { staticClass: "q-uploader__subtitle" }, [
                                    this.uploadSizeLabel + " / " + this.uploadProgressLabel
                                ])
                            ]),
                            this.__getBtn(t, this.canAddFiles, "add", this.pickFiles),
                            this.__getBtn(t, !1 === this.hideUploadBtn &amp;&amp; !0 === this.canUpload, "upload", this.upload),
                            this.__getBtn(t, this.isUploading, "clear", this.abort)
                        ])
                    ]
                },
                __getList: function (t) {
                    var e = this;
                    return void 0 !== this.$scopedSlots.list ? this.$scopedSlots.list(this) : this.files.map(function (i) {
                        return t("div", {
                            key: i.name,
                            staticClass: "q-uploader__file relative-position",
                            class: {
                                "q-uploader__file--img": !0 !== e.noThumbnails &amp;&amp; void 0 !== i.__img,
                                "q-uploader__file--failed": "failed" === i.__status,
                                "q-uploader__file--uploaded": "uploaded" === i.__status
                            },
                            style: !0 !== e.noThumbnails &amp;&amp; void 0 !== i.__img ? { backgroundImage: 'url("' + i.__img.src + '")' } : null
                        }, [
                            t("div", { staticClass: "q-uploader__file-header row flex-center no-wrap" }, [
                                "failed" === i.__status ? t(Et, {
                                    staticClass: "q-uploader__file-status",
                                    props: {
                                        name: e.$q.iconSet.type.negative,
                                        color: "negative"
                                    }
                                }) : null,
                                t("div", { staticClass: "q-uploader__file-header-content col" }, [
                                    t("div", { staticClass: "q-uploader__title" }, [
                                        i.name
                                    ]),
                                    t("div", { staticClass: "q-uploader__subtitle row items-center no-wrap" }, [
                                        i.__sizeLabel + " / " + i.__progressLabel
                                    ])
                                ]),
                                "uploading" === i.__status ? t(zi, {
                                    props: {
                                        value: i.__progress,
                                        min: 0,
                                        max: 1,
                                        indeterminate: 0 === i.__progress
                                    }
                                }) : t(be, {
                                    props: {
                                        round: !0,
                                        dense: !0,
                                        flat: !0,
                                        icon: e.$q.iconSet.uploader["uploaded" === i.__status ? "done" : "clear"]
                                    },
                                    on: {
                                        click: function () {
                                            e.removeFile(i)
                                        }
                                    }
                                })
                            ])
                        ])
                    })
                }
            },
            beforeDestroy: function () {
                !0 === this.isUploading &amp;&amp; this.abort(),
                    this.files.length &gt; 0 &amp;&amp; this.__revokeImgURLs()
            },
            render: function (t) {
                var e = [
                    t("div", {
                        staticClass: "q-uploader__header",
                        class: this.colorClass
                    }, this.__getHeader(t)),
                    t("div", { staticClass: "q-uploader__list scroll" }, this.__getList(t)),
                    this.__getDnd(t, "uploader")
                ];
                return !0 === this.isBusy &amp;&amp; e.push(t("div", { staticClass: "q-uploader__overlay absolute-full flex flex-center" }, [
                    t(Kt)
                ])), t("div", {
                    staticClass: "q-uploader column no-wrap",
                    class: {
                        "q-uploader--dark q-dark": this.isDark,
                        "q-uploader--bordered": this.bordered,
                        "q-uploader--square no-border-radius": this.square,
                        "q-uploader--flat no-shadow": this.flat,
                        "disabled q-uploader--disable": this.disable
                    },
                    on: !0 === this.canAddFiles ? mt(this, "drag", { dragover: this.__onDragOver }) : null
                }, e)
            }
        });
    function Ea(t) {
        return "function" == typeof t ? t : function () {
            return t
        }
    }
    var za = {
        props: {
            url: [
                Function,
                String
            ],
            method: {
                type: [
                    Function,
                    String
                ],
                default: "POST"
            },
            fieldName: {
                type: [
                    Function,
                    String
                ],
                default: function (t) {
                    return t.name
                }
            },
            headers: [
                Function,
                Array
            ],
            formFields: [
                Function,
                Array
            ],
            withCredentials: [
                Function,
                Boolean
            ],
            sendRaw: [
                Function,
                Boolean
            ],
            batch: [
                Function,
                Boolean
            ],
            factory: Function
        },
        data: function () {
            return {
                xhrs: [],
                promises: [],
                workingThreads: 0
            }
        },
        computed: {
            xhrProps: function () {
                return {
                    url: Ea(this.url),
                    method: Ea(this.method),
                    headers: Ea(this.headers),
                    formFields: Ea(this.formFields),
                    fieldName: Ea(this.fieldName),
                    withCredentials: Ea(this.withCredentials),
                    sendRaw: Ea(this.sendRaw),
                    batch: Ea(this.batch)
                }
            },
            isUploading: function () {
                return this.workingThreads &gt; 0
            },
            isBusy: function () {
                return this.promises.length &gt; 0
            }
        },
        methods: {
            abort: function () {
                this.xhrs.forEach(function (t) {
                    t.abort()
                }),
                    this.promises.length &gt; 0 &amp;&amp; (this.abortPromises = !0)
            },
            upload: function () {
                var t = this;
                if (!1 !== this.canUpload) {
                    var e = this.queuedFiles.slice(0);
                    this.queuedFiles = [],
                        this.xhrProps.batch(e) ? this.__runFactory(e) : e.forEach(function (e) {
                            t.__runFactory([
                                e
                            ])
                        })
                }
            },
            __runFactory: function (t) {
                var e = this;
                if (this.workingThreads++, "function" == typeof this.factory) {
                    var i = this.factory(t);
                    if (i)
                        if ("function" == typeof i.catch &amp;&amp; "function" == typeof i.then) {
                            this.promises.push(i);
                            var s = function (s) {
                                !0 !== e._isBeingDestroyed &amp;&amp; !0 !== e._isDestroyed &amp;&amp; (e.promises = e.promises.filter(function (t) {
                                    return t !== i
                                }), 0 === e.promises.length &amp;&amp; (e.abortPromises = !1), e.queuedFiles = e.queuedFiles.concat(t), t.forEach(function (t) {
                                    e.__updateFile(t, "failed")
                                }), e.$emit("factory-failed", s, t), e.workingThreads--)
                            };
                            i.then(function (n) {
                                !0 === e.abortPromises ? s(new Error("Aborted")) : !0 !== e._isBeingDestroyed &amp;&amp; !0 !== e._isDestroyed &amp;&amp; (e.promises = e.promises.filter(function (t) {
                                    return t !== i
                                }), e.__uploadFiles(t, n))
                            }).catch(s)
                        }
                        else
                            this.__uploadFiles(t, i || {});
                    else
                        this.$emit("factory-failed", new Error("QUploader: factory() does not return properly"), t),
                            this.workingThreads--
                }
                else
                    this.__uploadFiles(t, {})
            },
            __uploadFiles: function (t, e) {
                var i = this,
                    s = new FormData,
                    n = new XMLHttpRequest,
                    o = function (t, s) {
                        return void 0 !== e[t] ? Ea(e[t])(s) : i.xhrProps[t](s)
                    },
                    r = o("url", t);
                if (!r)
                    return console.error("q-uploader: invalid or no URL specified"), void this.workingThreads--;
                var a = o("formFields", t);
                void 0 !== a &amp;&amp; a.forEach(function (t) {
                    s.append(t.name, t.value)
                });
                var l,
                    c = 0,
                    u = 0,
                    h = 0,
                    d = 0;
                n.upload.addEventListener("progress", function (e) {
                    if (!0 !== l) {
                        var s = Math.min(d, e.loaded);
                        i.uploadedSize += s - h;
                        for (var n = (h = s) - u, o = c; n &gt; 0 &amp;&amp; o &lt; t.length; o++) {
                            var r = t[o];
                            if (!(n &gt; r.size))
                                return void i.__updateFile(r, "uploading", n);
                            n -= r.size,
                                c++,
                                u += r.size,
                                i.__updateFile(r, "uploading", r.size)
                        }
                    }
                }, !1),
                    n.onreadystatechange = function () {
                        n.readyState &lt; 4 || (n.status &amp;&amp; n.status &lt; 400 ? (i.uploadedFiles = i.uploadedFiles.concat(t), t.forEach(function (t) {
                            i.__updateFile(t, "uploaded")
                        }), i.$emit("uploaded", {
                            files: t,
                            xhr: n
                        })) : (l = !0, i.uploadedSize -= h, i.queuedFiles = i.queuedFiles.concat(t), t.forEach(function (t) {
                            i.__updateFile(t, "failed")
                        }), i.$emit("failed", {
                            files: t,
                            xhr: n
                        })), i.workingThreads--, i.xhrs = i.xhrs.filter(function (t) {
                            return t !== n
                        }))
                    },
                    n.open(o("method", t), r),
                    !0 === o("withCredentials", t) &amp;&amp; (n.withCredentials = !0);
                var p = o("headers", t);
                void 0 !== p &amp;&amp; p.forEach(function (t) {
                    n.setRequestHeader(t.name, t.value)
                });
                var f = o("sendRaw", t);
                t.forEach(function (t) {
                    i.__updateFile(t, "uploading", 0),
                        !0 !== f &amp;&amp; s.append(o("fieldName", t), t, t.name),
                        t.xhr = n,
                        t.__abort = function () {
                            n.abort()
                        },
                        d += t.size
                }),
                    this.$emit("uploading", {
                        files: t,
                        xhr: n
                    }),
                    this.xhrs.push(n),
                    !0 === f ? n.send(new Blob(t)) : n.send(s)
            }
        }
    },
        Aa = t.extend({
            name: "QUploader",
            mixins: [
                Oa,
                za
            ]
        }),
        Da = t.extend({
            name: "QUploaderAddTrigger",
            inject: {
                __qUploaderGetInput: {
                    default: function () {
                        console.error("QUploaderAddTrigger needs to be child of QUploader")
                    }
                }
            },
            render: function (t) {
                return this.__qUploaderGetInput(t)
            }
        }),
        Ra = t.extend({
            name: "QVideo",
            mixins: [
                qo,
                Mt
            ],
            props: {
                src: {
                    type: String,
                    required: !0
                }
            },
            computed: {
                iframeData: function () {
                    return {
                        attrs: {
                            src: this.src,
                            frameborder: "0",
                            allowfullscreen: !0
                        }
                    }
                },
                classes: function () {
                    return "q-video" + (void 0 !== this.ratio ? " q-video--responsive" : "")
                }
            },
            render: function (t) {
                return t("div", {
                    class: this.classes,
                    style: this.ratioStyle,
                    on: Object.assign({}, this.qListeners)
                }, [
                    t("iframe", this.iframeData)
                ])
            }
        }),
        Ia = Object.freeze({
            __proto__: null,
            QAjaxBar: Ct,
            QAvatar: zt,
            QBadge: At,
            QBanner: It,
            QBar: jt,
            QBreadcrumbs: Qt,
            QBreadcrumbsEl: Yt,
            QBtn: be,
            QBtnDropdown: ri,
            QBtnGroup: ye,
            QBtnToggle: ci,
            QCard: ui,
            QCardSection: hi,
            QCardActions: di,
            QCarousel: Ci,
            QCarouselSlide: ki,
            QCarouselControl: qi,
            QChatMessage: Ti,
            QCheckbox: Bi,
            QChip: Pi,
            QCircularProgress: zi,
            QColor: us,
            QDate: Zs,
            QDialog: pn,
            QDrawer: mn,
            QEditor: oo,
            QExpansionItem: po,
            QFab: _o,
            QFabAction: wo,
            QField: kn,
            QFile: So,
            QFooter: xo,
            QForm: Co,
            QHeader: ko,
            QIcon: Et,
            QImg: To,
            QInfiniteScroll: $o,
            QInnerLoading: Mo,
            QInput: Fn,
            QIntersection: Eo,
            QList: Vn,
            QItem: Nn,
            QItemSection: Hn,
            QItemLabel: ro,
            QKnob: Ao,
            QLayout: Io,
            QMarkupTable: Fo,
            QMenu: oi,
            QNoSsr: jo,
            QOptionGroup: Wo,
            QPage: Yo,
            QPageContainer: Uo,
            QPageScroller: Xo,
            QPageSticky: Ko,
            QPagination: Go,
            QParallax: tr,
            QPopupEdit: ir,
            QPopupProxy: sr,
            QLinearProgress: or,
            QPullToRefresh: rr,
            QRadio: Vo,
            QRange: ur,
            QRating: hr,
            QResizeObserver: Zi,
            QResponsive: dr,
            QScrollArea: pr,
            QScrollObserver: Ro,
            QSelect: Cr,
            QSeparator: uo,
            QSkeleton: Tr,
            QSlideItem: Mr,
            QSlideTransition: ao,
            QSlider: Xi,
            QSpace: Lr,
            QSpinner: Kt,
            QSpinnerAudio: Br,
            QSpinnerBall: Pr,
            QSpinnerBars: Or,
            QSpinnerComment: Er,
            QSpinnerCube: zr,
            QSpinnerDots: Ar,
            QSpinnerFacebook: Dr,
            QSpinnerGears: Rr,
            QSpinnerGrid: Ir,
            QSpinnerHearts: Fr,
            QSpinnerHourglass: jr,
            QSpinnerInfinity: Vr,
            QSpinnerIos: Nr,
            QSpinnerOval: Hr,
            QSpinnerPie: Qr,
            QSpinnerPuff: Wr,
            QSpinnerRadio: Yr,
            QSpinnerRings: Ur,
            QSpinnerTail: Kr,
            QSplitter: Xr,
            QStep: Jr,
            QStepper: ta,
            QStepperNavigation: ea,
            QTabPanels: as,
            QTabPanel: ls,
            QTable: ya,
            QTh: ia,
            QTr: wa,
            QTd: Sa,
            QTabs: ns,
            QTab: rs,
            QRouteTab: qa,
            QTime: Ta,
            QTimeline: $a,
            QTimelineEntry: Ma,
            QToggle: No,
            QToolbar: La,
            QToolbarTitle: Ba,
            QTooltip: jn,
            QTree: Pa,
            QUploader: Aa,
            QUploaderBase: Oa,
            QUploaderAddTrigger: Da,
            QVideo: Ra,
            QVirtualScroll: ua
        });
    function Fa(t) {
        if (!1 === t)
            return 0;
        if (!0 === t || void 0 === t)
            return 1;
        var e = parseInt(t, 10);
        return isNaN(e) ? 0 : e
    }
    var ja = {
        name: "close-popup",
        bind: function (t, e, i) {
            var s = {
                depth: Fa(e.value),
                handler: function (t) {
                    0 !== s.depth &amp;&amp; setTimeout(function () {
                        !function (t, e, i) {
                            for (; 0 !== i &amp;&amp; void 0 !== t;) {
                                if (void 0 !== t.__renderPortal) {
                                    if (i--, "QMenu" === t.$options.name) {
                                        t = ke(t, e);
                                        continue
                                    }
                                    t.hide(e)
                                }
                                t = t.$parent
                            }
                        }(i.componentInstance || i.context, t, s.depth)
                    })
                },
                handlerKey: function (t) {
                    !0 === tt(t, 13) &amp;&amp; s.handler(t)
                }
            };
            void 0 !== t.__qclosepopup &amp;&amp; (t.__qclosepopup_old = t.__qclosepopup),
                t.__qclosepopup = s,
                t.addEventListener("click", s.handler),
                t.addEventListener("keyup", s.handlerKey)
        },
        update: function (t, e) {
            var i = e.value,
                s = e.oldValue;
            void 0 !== t.__qclosepopup &amp;&amp; i !== s &amp;&amp; (t.__qclosepopup.depth = Fa(i))
        },
        unbind: function (t) {
            var e = t.__qclosepopup_old || t.__qclosepopup;
            void 0 !== e &amp;&amp; (t.removeEventListener("click", e.handler), t.removeEventListener("keyup", e.handlerKey), delete t[t.__qclosepopup_old ? "__qclosepopup_old" : "__qclosepopup"])
        }
    },
        Va = {
            name: "go-back",
            bind: function (t, e, i) {
                var s = e.value,
                    n = e.modifiers,
                    o = {
                        value: s,
                        position: window.history.length - 1,
                        single: n.single,
                        goBack: function () {
                            var t = i.context.$router;
                            !0 === o.single ? t.go(-1) : !0 === u.is.nativeMobile ? t.go(o.position - window.history.length) : t.replace(o.value)
                        },
                        goBackKey: function (t) {
                            !0 === tt(t, 13) &amp;&amp; o.goBack()
                        }
                    };
                t.__qgoback &amp;&amp; (t.__qgoback_old = t.__qgoback),
                    t.__qgoback = o,
                    t.addEventListener("click", o.goBack),
                    t.addEventListener("keyup", o.goBackKey)
            },
            update: function (t, e) {
                var i = e.value,
                    s = e.oldValue,
                    n = e.modifiers,
                    o = t.__qgoback;
                void 0 !== o &amp;&amp; (i !== s &amp;&amp; (o.value = i), o.single !== n.single &amp;&amp; (o.single = n.single))
            },
            unbind: function (t) {
                var e = t.__qgoback_old || t.__qgoback;
                void 0 !== e &amp;&amp; (t.removeEventListener("click", e.goBack), t.removeEventListener("keyup", e.goBackKey), delete t[t.__qgoback_old ? "__qgoback_old" : "__qgoback"])
            }
        };
    var Na = {
        childList: !0,
        subtree: !0,
        attributes: !0,
        characterData: !0,
        attributeOldValue: !0,
        characterDataOldValue: !0
    };
    function Ha(t, e, i) {
        var s,
            n = i.modifiers,
            o = n.once,
            r = function (t, e) {
                var i = {};
                for (var s in t)
                    Object.prototype.hasOwnProperty.call(t, s) &amp;&amp; -1 === e.indexOf(s) &amp;&amp; (i[s] = t[s]);
                return i
            }(n, ["once"]),
            a = i.value;
        e.once = o,
            e.handler !== a &amp;&amp; (s = !0, e.handler = a),
            void 0 !== e.opts &amp;&amp; !1 !== wi(r, e.mod) || (s = !0, e.mod = r, e.opts = 0 === Object.keys(r).length ? Na : r),
            !0 === s &amp;&amp; (void 0 !== e.observer &amp;&amp; e.observer.disconnect(), e.observer = new MutationObserver(function (i) {
                "function" == typeof e.handler &amp;&amp; (!1 !== e.handler(i) &amp;&amp; !0 !== e.once || Qa(t))
            }), e.observer.observe(t, e.opts))
    }
    function Qa(t) {
        var e = t.__qmutation;
        void 0 !== e &amp;&amp; (void 0 !== e.observer &amp;&amp; e.observer.disconnect(), delete t.__qmutation)
    }
    var Wa = {
        name: "mutation",
        inserted: function (t, e) {
            var i = {};
            Ha(t, i, e),
                t.__qmutation = i
        },
        update: function (t, e) {
            var i = t.__qmutation;
            void 0 !== i &amp;&amp; Ha(t, i, e)
        },
        unbind: Qa
    };
    function Ya(t, e) {
        var i = e.value,
            s = e.oldValue;
        "function" == typeof i ? (t.handler = i, "function" != typeof s &amp;&amp; (t.scrollTarget.addEventListener("scroll", t.scroll, d.passive), t.scroll())) : t.scrollTarget.removeEventListener("scroll", t.scroll)
    }
    var Ua = {
        name: "scroll-fire",
        bind: function (t) {
            var e = {
                scroll: $(function () {
                    var i,
                        s;
                    e.scrollTarget === window ? (s = t.getBoundingClientRect().bottom, i = window.innerHeight) : (s = Xt(t).top + Gt(t), i = Xt(e.scrollTarget).top + Gt(e.scrollTarget)),
                        s &gt; 0 &amp;&amp; s &lt; i &amp;&amp; (e.scrollTarget.removeEventListener("scroll", e.scroll, d.passive), e.handler(t))
                }, 25)
            };
            t.__qscrollfire &amp;&amp; (t.__qscrollfire_old = t.__qscrollfire),
                t.__qscrollfire = e
        },
        inserted: function (t, e) {
            var i = t.__qscrollfire;
            i.scrollTarget = De(t),
                Ya(i, e)
        },
        update: function (t, e) {
            void 0 !== t.__qscrollfire &amp;&amp; e.value !== e.oldValue &amp;&amp; Ya(t.__qscrollfire, e)
        },
        unbind: function (t) {
            var e = t.__qscrollfire_old || t.__qscrollfire;
            void 0 !== e &amp;&amp; (e.scrollTarget.removeEventListener("scroll", e.scroll, d.passive), delete t[t.__qscrollfire_old ? "__qscrollfire_old" : "__qscrollfire"])
        }
    };
    function Ka(t, e) {
        var i = e.value,
            s = e.oldValue;
        "function" == typeof i ? (t.handler = i, "function" != typeof s &amp;&amp; t.scrollTarget.addEventListener("scroll", t.scroll, d.passive)) : t.scrollTarget.removeEventListener("scroll", t.scroll, d.passive)
    }
    var Xa = {
        name: "scroll",
        bind: function (t) {
            var e = {
                scroll: function () {
                    e.handler(Ie(e.scrollTarget), Fe(e.scrollTarget))
                }
            };
            t.__qscroll &amp;&amp; (t.__qscroll_old = t.__qscroll),
                t.__qscroll = e
        },
        inserted: function (t, e) {
            var i = t.__qscroll;
            i.scrollTarget = De(t),
                Ka(i, e)
        },
        update: function (t, e) {
            void 0 !== t.__qscroll &amp;&amp; e.oldValue !== e.value &amp;&amp; Ka(t.__qscroll, e)
        },
        unbind: function (t) {
            var e = t.__qscroll_old || t.__qscroll;
            void 0 !== e &amp;&amp; (e.scrollTarget.removeEventListener("scroll", e.scroll, d.passive), delete t[t.__qscroll_old ? "__qscroll_old" : "__qscroll"])
        }
    };
    function Ga(t, e) {
        var i,
            s = t.__qtouchhold;
        if (void 0 !== s) {
            e.oldValue !== e.value &amp;&amp; ("function" != typeof e.value &amp;&amp; s.end(), s.handler = e.value);
            var n = [600, 5, 7];
            "string" == typeof e.arg &amp;&amp; e.arg.length &amp;&amp; e.arg.split(":").forEach(function (t, e) {
                var i = parseInt(t, 10);
                i &amp;&amp; (n[e] = i)
            }),
                i = n,
                s.duration = i[0],
                s.touchSensitivity = i[1],
                s.mouseSensitivity = i[2]
        }
    }
    var Za = {
        name: "touch-hold",
        bind: function (t, e) {
            var i = e.modifiers;
            if (!0 === i.mouse || !0 === u.has.touch) {
                var s = {
                    noop: f,
                    mouseStart: function (t) {
                        "function" == typeof s.handler &amp;&amp; !0 === m(t) &amp;&amp; (k(s, "temp", [
                            [
                                document,
                                "mousemove",
                                "move",
                                "passiveCapture"
                            ],
                            [
                                document,
                                "click",
                                "end",
                                "notPassiveCapture"
                            ]
                        ]), s.start(t, !0))
                    },
                    touchStart: function (t) {
                        if (void 0 !== t.target &amp;&amp; "function" == typeof s.handler) {
                            var e = de(t.target);
                            k(s, "temp", [
                                [
                                    e,
                                    "touchmove",
                                    "move",
                                    "passiveCapture"
                                ],
                                [
                                    e,
                                    "touchcancel",
                                    "end",
                                    "notPassiveCapture"
                                ],
                                [
                                    e,
                                    "touchend",
                                    "end",
                                    "notPassiveCapture"
                                ]
                            ]),
                                s.start(t)
                        }
                    },
                    start: function (t, e) {
                        s.origin = v(t);
                        var i = Date.now();
                        !0 === u.is.mobile &amp;&amp; (document.body.classList.add("non-selectable"), we(), s.styleCleanup = function (t) {
                            s.styleCleanup = void 0;
                            var e = function () {
                                document.body.classList.remove("non-selectable")
                            };
                            !0 === t ? (we(), setTimeout(e, 10)) : e()
                        }),
                            s.triggered = !1,
                            s.sensitivity = !0 === e ? s.mouseSensitivity : s.touchSensitivity,
                            s.timer = setTimeout(function () {
                                we(),
                                    s.triggered = !0,
                                    s.handler({
                                        evt: t,
                                        touch: !0 !== e,
                                        mouse: !0 === e,
                                        position: s.origin,
                                        duration: Date.now() - i
                                    })
                            }, s.duration)
                    },
                    move: function (t) {
                        var e = v(t),
                            i = e.top,
                            n = e.left;
                        (Math.abs(n - s.origin.left) &gt;= s.sensitivity || Math.abs(i - s.origin.top) &gt;= s.sensitivity) &amp;&amp; clearTimeout(s.timer)
                    },
                    end: function (t) {
                        q(s, "temp"),
                            void 0 !== s.styleCleanup &amp;&amp; s.styleCleanup(s.triggered),
                            !0 === s.triggered ? void 0 !== t &amp;&amp; S(t) : clearTimeout(s.timer)
                    }
                };
                t.__qtouchhold &amp;&amp; (t.__qtouchhold_old = t.__qtouchhold),
                    t.__qtouchhold = s,
                    Ga(t, e),
                    !0 === i.mouse &amp;&amp; k(s, "main", [
                        [
                            t,
                            "mousedown",
                            "mouseStart",
                            "passive" + (!0 === i.mouseCapture ? "Capture" : "")
                        ]
                    ]),
                    !0 === u.has.touch &amp;&amp; k(s, "main", [
                        [
                            t,
                            "touchstart",
                            "touchStart",
                            "passive" + (!0 === i.capture ? "Capture" : "")
                        ],
                        [
                            t,
                            "touchend",
                            "noop",
                            "notPassiveCapture"
                        ]
                    ])
            }
        },
        update: Ga,
        unbind: function (t) {
            var e = t.__qtouchhold_old || t.__qtouchhold;
            void 0 !== e &amp;&amp; (q(e, "main"), q(e, "temp"), clearTimeout(e.timer), void 0 !== e.styleCleanup &amp;&amp; e.styleCleanup(), delete t[t.__qtouchhold_old ? "__qtouchhold_old" : "__qtouchhold"])
        }
    },
        Ja = {
            esc: 27,
            tab: 9,
            enter: 13,
            space: 32,
            up: 38,
            left: 37,
            right: 39,
            down: 40,
            delete: [8, 46]
        },
        tl = new RegExp("^([\\d+]+|" + Object.keys(Ja).join("|") + ")$", "i");
    var el,
        il = {
            name: "touch-repeat",
            bind: function (t, e) {
                var i = e.modifiers,
                    s = e.value,
                    n = e.arg,
                    o = Object.keys(i).reduce(function (t, e) {
                        if (!0 === tl.test(e)) {
                            var i = isNaN(parseInt(e, 10)) ? Ja[e.toLowerCase()] : parseInt(e, 10);
                            i &gt;= 0 &amp;&amp; t.push(i)
                        }
                        return t
                    }, []);
                if (!0 === i.mouse || !0 === u.has.touch || 0 !== o.length) {
                    var r = "string" == typeof n &amp;&amp; n.length &gt; 0 ? n.split(":").map(function (t) {
                        return parseInt(t, 10)
                    }) : [0, 600, 300],
                        a = r.length - 1,
                        l = {
                            keyboard: o,
                            handler: s,
                            noop: f,
                            mouseStart: function (t) {
                                void 0 === l.event &amp;&amp; "function" == typeof l.handler &amp;&amp; !0 === m(t) &amp;&amp; (k(l, "temp", [
                                    [
                                        document,
                                        "mousemove",
                                        "move",
                                        "passiveCapture"
                                    ],
                                    [
                                        document,
                                        "click",
                                        "end",
                                        "notPassiveCapture"
                                    ]
                                ]), l.start(t, !0))
                            },
                            keyboardStart: function (e) {
                                if ("function" == typeof l.handler &amp;&amp; !0 === tt(e, o)) {
                                    if ((0 === r[0] || void 0 !== l.event) &amp;&amp; (S(e), t.focus(), void 0 !== l.event))
                                        return;
                                    k(l, "temp", [
                                        [
                                            document,
                                            "keyup",
                                            "end",
                                            "notPassiveCapture"
                                        ],
                                        [
                                            document,
                                            "click",
                                            "end",
                                            "notPassiveCapture"
                                        ]
                                    ]),
                                        l.start(e, !1, !0)
                                }
                            },
                            touchStart: function (t) {
                                if (void 0 !== t.target &amp;&amp; "function" == typeof l.handler) {
                                    var e = de(t.target);
                                    k(l, "temp", [
                                        [
                                            e,
                                            "touchmove",
                                            "move",
                                            "passiveCapture"
                                        ],
                                        [
                                            e,
                                            "touchcancel",
                                            "end",
                                            "notPassiveCapture"
                                        ],
                                        [
                                            e,
                                            "touchend",
                                            "end",
                                            "notPassiveCapture"
                                        ]
                                    ]),
                                        l.start(t)
                                }
                            },
                            start: function (t, e, i) {
                                function s(t) {
                                    l.styleCleanup = void 0,
                                        document.documentElement.style.cursor = "";
                                    var e = function () {
                                        document.body.classList.remove("non-selectable")
                                    };
                                    !0 === t ? (we(), setTimeout(e, 10)) : e()
                                }
                                !0 !== i &amp;&amp; (l.origin = v(t)),
                                    !0 === u.is.mobile &amp;&amp; (document.body.classList.add("non-selectable"), we(), l.styleCleanup = s),
                                    l.event = {
                                        touch: !0 !== e &amp;&amp; !0 !== i,
                                        mouse: !0 === e,
                                        keyboard: !0 === i,
                                        startTime: Date.now(),
                                        repeatCount: 0
                                    };
                                var n = function () {
                                    if (void 0 !== l.event) {
                                        0 === l.event.repeatCount &amp;&amp; (l.event.evt = t, !0 === i ? l.event.keyCode = t.keyCode : l.event.position = v(t), !0 !== u.is.mobile &amp;&amp; (document.documentElement.style.cursor = "pointer", document.body.classList.add("non-selectable"), we(), l.styleCleanup = s)),
                                            l.event.duration = Date.now() - l.event.startTime,
                                            l.event.repeatCount += 1,
                                            l.handler(l.event);
                                        var e = a &lt; l.event.repeatCount ? a : l.event.repeatCount;
                                        l.timer = setTimeout(n, r[e])
                                    }
                                };
                                0 === r[0] ? n() : l.timer = setTimeout(n, r[0])
                            },
                            move: function (t) {
                                void 0 !== l.event &amp;&amp; !0 === function (t, e) {
                                    var i = v(t),
                                        s = i.top,
                                        n = i.left;
                                    return Math.abs(n - e.left) &gt;= 7 || Math.abs(s - e.top) &gt;= 7
                                }(t, l.origin) &amp;&amp; clearTimeout(l.timer)
                            },
                            end: function (t) {
                                void 0 !== l.event &amp;&amp; (void 0 !== l.styleCleanup &amp;&amp; l.styleCleanup(!0), void 0 !== t &amp;&amp; l.event.repeatCount &gt; 0 &amp;&amp; S(t), q(l, "temp"), clearTimeout(l.timer), l.event = void 0)
                            }
                        };
                    void 0 !== t.__qtouchrepeat &amp;&amp; (t.__qtouchrepeat_old = t.__qtouchrepeat),
                        t.__qtouchrepeat = l,
                        !0 === i.mouse &amp;&amp; k(l, "main", [
                            [
                                t,
                                "mousedown",
                                "mouseStart",
                                "passive" + (!0 === i.mouseCapture ? "Capture" : "")
                            ]
                        ]),
                        !0 === u.has.touch &amp;&amp; k(l, "main", [
                            [
                                t,
                                "touchstart",
                                "touchStart",
                                "passive" + (!0 === i.capture ? "Capture" : "")
                            ],
                            [
                                t,
                                "touchend",
                                "noop",
                                "notPassiveCapture"
                            ]
                        ]),
                        o.length &gt; 0 &amp;&amp; k(l, "main", [
                            [
                                t,
                                "keydown",
                                "keyboardStart",
                                "notPassive" + (!0 === i.keyCapture ? "Capture" : "")
                            ]
                        ])
                }
            },
            update: function (t, e) {
                var i = t.__qtouchrepeat;
                void 0 !== i &amp;&amp; e.oldValue !== e.value &amp;&amp; ("function" != typeof e.value &amp;&amp; i.end(), i.handler = e.value)
            },
            unbind: function (t) {
                var e = t.__qtouchrepeat_old || t.__qtouchrepeat;
                void 0 !== e &amp;&amp; (clearTimeout(e.timer), q(e, "main"), q(e, "temp"), void 0 !== e.styleCleanup &amp;&amp; e.styleCleanup(), delete t[t.__qtouchrepeat_old ? "__qtouchrepeat_old" : "__qtouchrepeat"])
            }
        },
        sl = Object.freeze({
            __proto__: null,
            ClosePopup: ja,
            GoBack: Va,
            Intersection: Oo,
            Mutation: Wa,
            Ripple: ne,
            ScrollFire: Ua,
            Scroll: Xa,
            TouchHold: Za,
            TouchPan: Qi,
            TouchRepeat: il,
            TouchSwipe: pi
        });
    function nl(t) {
        void 0 === el &amp;&amp; (el = h.is.winphone ? "msapplication-navbutton-color" : h.is.safari ? "apple-mobile-web-app-status-bar-style" : "theme-color");
        var e = function (t) {
            var e = document.getElementsByTagName("META");
            for (var i in e)
                if (e[i].name === t)
                    return e[i]
        }(el),
            i = void 0 === e;
        i &amp;&amp; (e = document.createElement("meta")).setAttribute("name", el),
            e.setAttribute("content", t),
            i &amp;&amp; document.head.appendChild(e)
    }
    var ol = {
        install: function (t) {
            var e = t.$q,
                s = t.cfg;
            this.set = !1 !== i || !0 !== h.is.mobile || !0 !== h.is.nativeMobile &amp;&amp; !0 !== h.is.winphone &amp;&amp; !0 !== h.is.safari &amp;&amp; !0 !== h.is.webkit &amp;&amp; !0 !== h.is.vivaldi ? f : function (t) {
                var e = t || K("primary");
                !0 === h.is.nativeMobile &amp;&amp; window.StatusBar ? window.StatusBar.backgroundColorByHexString(e) : nl(e)
            },
                e.addressbarColor = this,
                s.addressbarColor &amp;&amp; this.set(s.addressbarColor)
        }
    },
        rl = {};
    function al(t, e) {
        try {
            var i = t[e]();
            return void 0 === i ? Promise.resolve() : i
        }
        catch (t) {
            return Promise.reject(t)
        }
    }
    var ll = {
        isCapable: !1,
        isActive: !1,
        activeEl: null,
        request: function (t) {
            var e = this;
            if (!0 === this.isCapable &amp;&amp; !1 === this.isActive) {
                var i = t || document.documentElement;
                return al(i, rl.request).then(function () {
                    e.activeEl = i
                })
            }
            return this.__getErr()
        },
        exit: function () {
            var t = this;
            return !0 === this.isCapable &amp;&amp; !0 === this.isActive ? al(document, rl.exit).then(function () {
                t.activeEl = null
            }) : this.__getErr()
        },
        toggle: function (t) {
            return !0 === this.isActive ? this.exit() : this.request(t)
        },
        install: function (e) {
            var s = this;
            e.$q.fullscreen = this,
                !0 !== i &amp;&amp; (rl.request = ["requestFullscreen", "msRequestFullscreen", "mozRequestFullScreen", "webkitRequestFullscreen"].find(function (t) {
                    return void 0 !== document.documentElement[t]
                }), this.isCapable = void 0 !== rl.request, !1 !== this.isCapable ? (this.__getErr = function () {
                    return Promise.resolve()
                }, rl.exit = ["exitFullscreen", "msExitFullscreen", "mozCancelFullScreen", "webkitExitFullscreen"].find(function (t) {
                    return document[t]
                }), this.isActive = !!(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement), ["onfullscreenchange", "onmsfullscreenchange", "onwebkitfullscreenchange"].forEach(function (t) {
                    document[t] = function () {
                        s.isActive = !1 === s.isActive
                    }
                }), t.util.defineReactive(this, "isActive", this.isActive), t.util.defineReactive(this, "activeEl", this.activeEl)) : this.__getErr = function () {
                    return Promise.reject("Not capable")
                })
        }
    },
        cl = {
            appVisible: !1,
            install: function (e) {
                var s = this,
                    n = e.$q;
                if (!0 !== i) {
                    var o,
                        r;
                    void 0 !== document.hidden ? (o = "hidden", r = "visibilitychange") : void 0 !== document.msHidden ? (o = "msHidden", r = "msvisibilitychange") : void 0 !== document.webkitHidden &amp;&amp; (o = "webkitHidden", r = "webkitvisibilitychange");
                    var a = function () {
                        s.appVisible = n.appVisible = !document[o]
                    };
                    a(),
                        r &amp;&amp; void 0 !== document[o] &amp;&amp; (t.util.defineReactive(n, "appVisible", this.appVisible), document.addEventListener(r, a, !1))
                }
                else
                    this.appVisible = n.appVisible = !0
            }
        },
        ul = t.extend({
            name: "BottomSheetPlugin",
            mixins: [
                Dt,
                _t
            ],
            inheritAttrs: !1,
            props: {
                title: String,
                message: String,
                actions: Array,
                grid: Boolean,
                cardClass: [
                    String,
                    Array,
                    Object
                ],
                cardStyle: [
                    String,
                    Array,
                    Object
                ]
            },
            computed: {
                dialogProps: function () {
                    return Object.assign({}, this.qAttrs, { position: "bottom" })
                }
            },
            methods: {
                show: function () {
                    this.$refs.dialog.show()
                },
                hide: function () {
                    this.$refs.dialog.hide()
                },
                onOk: function (t) {
                    this.$emit("ok", t),
                        this.hide()
                },
                __getGrid: function (t) {
                    var e = this;
                    return this.actions.map(function (i) {
                        var s = i.avatar || i.img;
                        return void 0 === i.label ? t(uo, {
                            staticClass: "col-all",
                            props: { dark: e.isDark }
                        }) : t("div", {
                            staticClass: "q-bottom-sheet__item q-hoverable q-focusable cursor-pointer relative-position",
                            class: i.classes,
                            attrs: { tabindex: 0 },
                            on: {
                                click: function () {
                                    return e.onOk(i)
                                },
                                keyup: function (t) {
                                    13 === t.keyCode &amp;&amp; e.onOk(i)
                                }
                            }
                        }, [
                            t("div", { staticClass: "q-focus-helper" }),
                            i.icon ? t(Et, {
                                props: {
                                    name: i.icon,
                                    color: i.color
                                }
                            }) : s ? t("img", {
                                attrs: { src: s },
                                staticClass: i.avatar ? "q-bottom-sheet__avatar" : null
                            }) : t("div", { staticClass: "q-bottom-sheet__empty-icon" }),
                            t("div", [
                                i.label
                            ])
                        ])
                    })
                },
                __getList: function (t) {
                    var e = this;
                    return this.actions.map(function (i) {
                        var s = i.avatar || i.img;
                        return void 0 === i.label ? t(uo, {
                            props: {
                                spaced: !0,
                                dark: e.isDark
                            }
                        }) : t(Nn, {
                            staticClass: "q-bottom-sheet__item",
                            class: i.classes,
                            props: {
                                tabindex: 0,
                                clickable: !0,
                                dark: e.isDark
                            },
                            on: {
                                click: function () {
                                    return e.onOk(i)
                                },
                                keyup: function (t) {
                                    13 === t.keyCode &amp;&amp; e.onOk(i)
                                }
                            }
                        }, [
                            t(Hn, { props: { avatar: !0 } }, [
                                i.icon ? t(Et, {
                                    props: {
                                        name: i.icon,
                                        color: i.color
                                    }
                                }) : s ? t("img", {
                                    attrs: { src: s },
                                    staticClass: i.avatar ? "q-bottom-sheet__avatar" : null
                                }) : null
                            ]),
                            t(Hn, [
                                i.label
                            ])
                        ])
                    })
                }
            },
            render: function (t) {
                var e = this,
                    i = [];
                return this.title &amp;&amp; i.push(t(hi, { staticClass: "q-dialog__title" }, [
                    this.title
                ])), this.message &amp;&amp; i.push(t(hi, { staticClass: "q-dialog__message" }, [
                    this.message
                ])), i.push(!0 === this.grid ? t("div", { staticClass: "row items-stretch justify-start" }, this.__getGrid(t)) : t("div", this.__getList(t))), t(pn, {
                    ref: "dialog",
                    props: this.dialogProps,
                    on: mt(this, "hide", {
                        hide: function () {
                            e.$emit("hide")
                        }
                    })
                }, [
                    t(ui, {
                        staticClass: "q-bottom-sheet q-bottom-sheet--" + (!0 === this.grid ? "grid" : "list") + (!0 === this.isDark ? " q-bottom-sheet--dark q-dark" : ""),
                        style: this.cardStyle,
                        class: this.cardClass
                    }, i)
                ])
            }
        });
    var hl = {
        onOk: function () {
            return hl
        },
        okCancel: function () {
            return hl
        },
        hide: function () {
            return hl
        }
    };
    function dl(e) {
        return function (s) {
            s.className;
            var n = s.class,
                o = s.style,
                r = s.component,
                a = s.root,
                l = s.parent,
                c = function (t, e) {
                    var i = {};
                    for (var s in t)
                        Object.prototype.hasOwnProperty.call(t, s) &amp;&amp; -1 === e.indexOf(s) &amp;&amp; (i[s] = t[s]);
                    return i
                }(s, ["className", "class", "style", "component", "root", "parent"]);
            if (!0 === i)
                return hl;
            void 0 !== n &amp;&amp; (c.cardClass = n),
                void 0 !== o &amp;&amp; (c.cardStyle = o);
            var u = [],
                h = [],
                d = {
                    onOk: function (t) {
                        return u.push(t), d
                    },
                    onCancel: function (t) {
                        return h.push(t), d
                    },
                    onDismiss: function (t) {
                        return u.push(t), h.push(t), d
                    },
                    hide: function () {
                        return _.$refs.dialog.hide(), d
                    }
                },
                p = document.createElement("div");
            document.body.appendChild(p);
            var f = !1,
                m = {
                    ok: function (t) {
                        f = !0,
                            u.forEach(function (e) {
                                e(t)
                            })
                    },
                    hide: function () {
                        _.$destroy(),
                            _.$el.remove(),
                            _ = null,
                            !0 !== f &amp;&amp; h.forEach(function (t) {
                                t()
                            })
                    }
                };
            t.observable(c);
            var v = void 0 !== r ? r : e,
                g = void 0 === r ? c : void 0,
                _ = new t({
                    name: "QGlobalDialog",
                    el: p,
                    parent: void 0 === l ? a : l,
                    render: function (t) {
                        return t(v, {
                            ref: "dialog",
                            props: c,
                            attrs: g,
                            on: m
                        })
                    },
                    mounted: function () {
                        this.$refs.dialog.show()
                    }
                });
            return d
        }
    }
    var pl = {
        install: function (t) {
            var e = t.$q;
            this.create = e.bottomSheet = dl(ul)
        }
    };
    function fl(t) {
        return encodeURIComponent(t)
    }
    function ml(t) {
        return decodeURIComponent(t)
    }
    function vl(t) {
        if ("" === t)
            return t;
        0 === t.indexOf('"') &amp;&amp; (t = t.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\")),
            t = ml(t.replace(/\+/g, " "));
        try {
            t = JSON.parse(t)
        }
        catch (t) { }
        return t
    }
    function gl(t) {
        var e = new Date;
        return e.setMilliseconds(e.getMilliseconds() + t), e.toUTCString()
    }
    function _l(t, e, i, s) {
        var n,
            o,
            r,
            a,
            l,
            c,
            u,
            h;
        void 0 === i &amp;&amp; (i = {}),
            void 0 !== i.expires &amp;&amp; ("[object Date]" === Object.prototype.toString.call(i.expires) ? n = i.expires.toUTCString() : "string" == typeof i.expires ? (r = i.expires, a = 0, l = r.match(/(\d+)d/), c = r.match(/(\d+)h/), u = r.match(/(\d+)m/), h = r.match(/(\d+)s/), l &amp;&amp; (a += 864e5 * l[1]), c &amp;&amp; (a += 36e5 * c[1]), u &amp;&amp; (a += 6e4 * u[1]), h &amp;&amp; (a += 1e3 * h[1]), n = 0 === a ? r : gl(a)) : (o = parseFloat(i.expires), n = !1 === isNaN(o) ? gl(864e5 * o) : i.expires));
        var d,
            p = fl(t) + "=" + fl((d = e) === Object(d) ? JSON.stringify(d) : "" + d),
            f = [
                p,
                void 0 !== n ? "; Expires=" + n : "",
                i.path ? "; Path=" + i.path : "",
                i.domain ? "; Domain=" + i.domain : "",
                i.sameSite ? "; SameSite=" + i.sameSite : "",
                i.httpOnly ? "; HttpOnly" : "",
                i.secure ? "; Secure" : "",
                i.other ? "; " + i.other : ""
            ].join("");
        if (s) {
            s.req.qCookies ? s.req.qCookies.push(f) : s.req.qCookies = [
                f
            ],
                s.res.setHeader("Set-Cookie", s.req.qCookies);
            var m = s.req.headers.cookie || "";
            if (void 0 !== n &amp;&amp; o &lt; 0) {
                var v = bl(t, s);
                void 0 !== v &amp;&amp; (m = m.replace(t + "=" + v + "; ", "").replace("; " + t + "=" + v, "").replace(t + "=" + v, ""))
            }
            else
                m = m ? p + "; " + m : f;
            s.req.headers.cookie = m
        }
        else
            document.cookie = f
    }
    function bl(t, e) {
        for (var i, s, n, o = e ? e.req.headers : document, r = o.cookie ? o.cookie.split("; ") : [], a = r.length, l = t ? null : {}, c = 0; c &lt; a; c++)
            if (s = ml((i = r[c].split("=")).shift()), n = i.join("="), t) {
                if (t === s) {
                    l = vl(n);
                    break
                }
            }
            else
                l[s] = n;
        return l
    }
    function yl(t) {
        return {
            get: function (e) {
                return bl(e, t)
            },
            set: function (e, i, s) {
                return _l(e, i, s, t)
            },
            has: function (e) {
                return function (t, e) {
                    return null !== bl(t, e)
                }(e, t)
            },
            remove: function (e, i) {
                return function (t, e, i) {
                    _l(t, "", Object.assign({}, { expires: -1 }, e), i)
                }(e, i, t)
            },
            getAll: function () {
                return bl(null, t)
            }
        }
    }
    var wl,
        Sl,
        xl,
        Cl,
        kl = {
            parseSSR: function (t) {
                return void 0 !== t ? yl(t) : this
            },
            install: function (t) {
                var e = t.$q,
                    s = t.queues;
                !0 === i ? s.server.push(function (t, e) {
                    t.cookies = yl(e.ssr)
                }) : (Object.assign(this, yl()), e.cookies = this)
            }
        },
        ql = t.extend({
            name: "DialogPlugin",
            mixins: [
                Dt,
                _t
            ],
            inheritAttrs: !1,
            props: {
                title: String,
                message: String,
                prompt: Object,
                options: Object,
                html: Boolean,
                ok: {
                    type: [
                        String,
                        Object,
                        Boolean
                    ],
                    default: !0
                },
                cancel: [
                    String,
                    Object,
                    Boolean
                ],
                focus: {
                    type: String,
                    default: "ok",
                    validator: function (t) {
                        return ["ok", "cancel", "none"].includes(t)
                    }
                },
                stackButtons: Boolean,
                color: String,
                cardClass: [
                    String,
                    Array,
                    Object
                ],
                cardStyle: [
                    String,
                    Array,
                    Object
                ]
            },
            computed: {
                hasForm: function () {
                    return void 0 !== this.prompt || void 0 !== this.options
                },
                okLabel: function () {
                    return Object(this.ok) === this.ok ? this.$q.lang.label.ok : !0 === this.ok ? this.$q.lang.label.ok : this.ok
                },
                cancelLabel: function () {
                    return Object(this.cancel) === this.cancel ? this.$q.lang.label.cancel : !0 === this.cancel ? this.$q.lang.label.cancel : this.cancel
                },
                vmColor: function () {
                    return this.color || (!0 === this.isDark ? "amber" : "primary")
                },
                okDisabled: function () {
                    return void 0 !== this.prompt ? void 0 !== this.prompt.isValid &amp;&amp; !0 !== this.prompt.isValid(this.prompt.model) : void 0 !== this.options ? void 0 !== this.options.isValid &amp;&amp; !0 !== this.options.isValid(this.options.model) : void 0
                },
                okProps: function () {
                    return Object.assign({}, {
                        color: this.vmColor,
                        label: this.okLabel,
                        ripple: !1
                    }, Object(this.ok) === this.ok ? this.ok : { flat: !0 }, { disable: this.okDisabled })
                },
                cancelProps: function () {
                    return Object.assign({}, {
                        color: this.vmColor,
                        label: this.cancelLabel,
                        ripple: !1
                    }, Object(this.cancel) === this.cancel ? this.cancel : { flat: !0 })
                }
            },
            methods: {
                show: function () {
                    this.$refs.dialog.show()
                },
                hide: function () {
                    this.$refs.dialog.hide()
                },
                getPrompt: function (t) {
                    var e = this;
                    return [
                        t(Fn, {
                            props: {
                                value: this.prompt.model,
                                type: this.prompt.type,
                                label: this.prompt.label,
                                stackLabel: this.prompt.stackLabel,
                                outlined: this.prompt.outlined,
                                filled: this.prompt.filled,
                                standout: this.prompt.standout,
                                rounded: this.prompt.rounded,
                                square: this.prompt.square,
                                counter: this.prompt.counter,
                                maxlength: this.prompt.maxlength,
                                prefix: this.prompt.prefix,
                                suffix: this.prompt.suffix,
                                color: this.vmColor,
                                dense: !0,
                                autofocus: !0,
                                dark: this.isDark
                            },
                            attrs: this.prompt.attrs,
                            on: mt(this, "prompt", {
                                input: function (t) {
                                    e.prompt.model = t
                                },
                                keyup: function (t) {
                                    !0 !== e.okDisabled &amp;&amp; "textarea" !== e.prompt.type &amp;&amp; !0 === tt(t, 13) &amp;&amp; e.onOk()
                                }
                            })
                        })
                    ]
                },
                getOptions: function (t) {
                    var e = this;
                    return [
                        t(Wo, {
                            props: {
                                value: this.options.model,
                                type: this.options.type,
                                color: this.vmColor,
                                inline: this.options.inline,
                                options: this.options.items,
                                dark: this.isDark
                            },
                            on: mt(this, "opts", {
                                input: function (t) {
                                    e.options.model = t
                                }
                            })
                        })
                    ]
                },
                getButtons: function (t) {
                    var e = [];
                    if (this.cancel &amp;&amp; e.push(t(be, {
                        props: this.cancelProps,
                        attrs: { "data-autofocus": "cancel" === this.focus &amp;&amp; !0 !== this.hasForm },
                        on: mt(this, "cancel", { click: this.onCancel })
                    })), this.ok &amp;&amp; e.push(t(be, {
                        props: this.okProps,
                        attrs: { "data-autofocus": "ok" === this.focus &amp;&amp; !0 !== this.hasForm },
                        on: mt(this, "ok", { click: this.onOk })
                    })), e.length &gt; 0)
                        return t(di, {
                            staticClass: !0 === this.stackButtons ? "items-end" : null,
                            props: {
                                vertical: this.stackButtons,
                                align: "right"
                            }
                        }, e)
                },
                onOk: function () {
                    this.$emit("ok", er(this.getData())),
                        this.hide()
                },
                onCancel: function () {
                    this.hide()
                },
                getData: function () {
                    return void 0 !== this.prompt ? this.prompt.model : void 0 !== this.options ? this.options.model : void 0
                },
                getSection: function (t, e, i) {
                    return !0 === this.html ? t(hi, {
                        staticClass: e,
                        domProps: { innerHTML: i }
                    }) : t(hi, { staticClass: e }, [
                        i
                    ])
                }
            },
            render: function (t) {
                var e = this,
                    i = [];
                return this.title &amp;&amp; i.push(this.getSection(t, "q-dialog__title", this.title)), this.message &amp;&amp; i.push(this.getSection(t, "q-dialog__message", this.message)), void 0 !== this.prompt ? i.push(t(hi, { staticClass: "scroll q-dialog-plugin__form" }, this.getPrompt(t))) : void 0 !== this.options &amp;&amp; i.push(t(uo, { props: { dark: this.isDark } }), t(hi, { staticClass: "scroll q-dialog-plugin__form" }, this.getOptions(t)), t(uo, { props: { dark: this.isDark } })), (this.ok || this.cancel) &amp;&amp; i.push(this.getButtons(t)), t(pn, {
                    ref: "dialog",
                    props: Object.assign({}, this.qAttrs, { value: this.value }),
                    on: mt(this, "hide", {
                        hide: function () {
                            e.$emit("hide")
                        }
                    })
                }, [
                    t(ui, {
                        staticClass: "q-dialog-plugin" + (!0 === this.isDark ? " q-dialog-plugin--dark q-dark" : ""),
                        style: this.cardStyle,
                        class: this.cardClass,
                        props: { dark: this.isDark }
                    }, i)
                ])
            }
        }),
        Tl = {
            install: function (t) {
                var e = t.$q;
                this.create = e.dialog = dl(ql)
            }
        },
        $l = {
            isActive: !1,
            start: f,
            stop: f,
            increment: f,
            setDefaults: f,
            install: function (e) {
                var s = this,
                    n = e.$q,
                    o = e.cfg;
                if (!0 !== i) {
                    var r = void 0 !== o.loadingBar ? Object.assign({}, o.loadingBar) : {},
                        a = n.loadingBar = new t({
                            name: "LoadingBar",
                            render: function (t) {
                                return t(Ct, {
                                    ref: "bar",
                                    props: r
                                })
                            }
                        }).$mount().$refs.bar;
                    Object.assign(this, {
                        start: function (t) {
                            a.start(t),
                                s.isActive = a.isActive = a.calls &gt; 0
                        },
                        stop: function () {
                            a.stop(),
                                s.isActive = a.isActive = a.calls &gt; 0
                        },
                        increment: a.increment,
                        setDefaults: function (t) {
                            t === Object(t) &amp;&amp; Object.assign(r, t),
                                a.$parent.$forceUpdate()
                        }
                    }),
                        t.util.defineReactive(this, "isActive", this.isActive),
                        t.util.defineReactive(a, "isActive", this.isActive),
                        a.setDefaults = this.setDefaults,
                        document.body.appendChild(a.$parent.$el)
                }
                else
                    n.loadingBar = this
            }
        },
        Ml = 0,
        Ll = {},
        Bl = {
            delay: 0,
            message: !1,
            spinnerSize: 80,
            spinnerColor: "white",
            messageColor: "white",
            backgroundColor: "black",
            spinner: Kt,
            customClass: ""
        },
        Pl = Object.assign({}, Bl),
        Ol = {
            isActive: !1,
            show: function (e) {
                var s = this;
                !0 !== i &amp;&amp; ((Ll = e === Object(e) &amp;&amp; !0 === e.ignoreDefaults ? Object.assign({}, Bl, e) : Object.assign({}, Pl, e)).customClass += " text-" + Ll.backgroundColor, Ll.uid = "l_" + Ml++, this.isActive = !0, void 0 === wl ? (clearTimeout(Sl), Sl = setTimeout(function () {
                    Sl = void 0;
                    var e = document.createElement("div");
                    document.body.appendChild(e),
                        wl = new t({
                            name: "QLoading",
                            el: e,
                            mounted: function () {
                                an(!0)
                            },
                            render: function (t) {
                                var e;
                                return t("transition", {
                                    props: {
                                        name: "q-transition--fade",
                                        appear: !0
                                    },
                                    on: mt(s, "tr", {
                                        "after-leave": function () {
                                            !0 !== s.isActive &amp;&amp; void 0 !== wl &amp;&amp; (an(!1), wl.$destroy(), wl.$el.remove(), wl = void 0)
                                        }
                                    })
                                }, [
                                    !0 === s.isActive ? t("div", {
                                        staticClass: "q-loading fullscreen column flex-center z-max",
                                        key: Ll.uid,
                                        class: Ll.customClass.trim()
                                    }, [
                                        t(Ll.spinner, {
                                            props: {
                                                color: Ll.spinnerColor,
                                                size: Ll.spinnerSize
                                            }
                                        }),
                                        Ll.message &amp;&amp; t("div", {
                                            class: "text-" + Ll.messageColor,
                                            domProps: (e = {}, e[!0 === Ll.sanitize ? "textContent" : "innerHTML"] = Ll.message, e)
                                        }) || void 0
                                    ]) : null
                                ])
                            }
                        })
                }, Ll.delay)) : wl.$forceUpdate())
            },
            hide: function () {
                !0 === this.isActive &amp;&amp; (void 0 !== Sl &amp;&amp; (clearTimeout(Sl), Sl = void 0), this.isActive = !1)
            },
            setDefaults: function (t) {
                t === Object(t) &amp;&amp; Object.assign(Pl, t)
            },
            install: function (t) {
                var e = t.$q,
                    i = t.cfg.loading;
                this.setDefaults(i),
                    e.loading = this
            }
        };
    function El(t) {
        t.title &amp;&amp; (t.title = t.titleTemplate ? t.titleTemplate(t.title) : t.title, delete t.titleTemplate),
            [
                ["meta", "content"],
                ["link", "href"]
            ].forEach(function (e) {
                var i = t[e[0]],
                    s = e[1];
                for (var n in i) {
                    var o = i[n];
                    o.template &amp;&amp; (1 === Object.keys(o).length ? delete i[n] : (o[s] = o.template(o[s] || ""), delete o.template))
                }
            })
    }
    function zl(t, e) {
        if (Object.keys(t).length !== Object.keys(e).length)
            return !0;
        for (var i in t)
            if (t[i] !== e[i])
                return !0
    }
    function Al(t) {
        return !1 === ["class", "style"].includes(t)
    }
    function Dl(t) {
        return !1 === ["lang", "dir"].includes(t)
    }
    function Rl(t, e) {
        !0 !== t._inactive &amp;&amp; (!0 === Nl(t) &amp;&amp; (no(!0, e, t.__qMeta), !0 === t.$options.meta.stopPropagation) || t.$children.forEach(function (t) {
            Rl(t, e)
        }))
    }
    function Il() {
        !0 === Cl &amp;&amp; (Cl = !1, this.$root.__currentMeta = window.__Q_META__);
        var t,
            e,
            i,
            s = {
                title: "",
                titleTemplate: null,
                meta: {},
                link: {},
                script: {},
                htmlAttr: {},
                bodyAttr: {}
            };
        Rl(this.$root, s),
            El(s),
            t = function (t, e) {
                var i = {},
                    s = {};
                return void 0 === t ? {
                    add: e,
                    remove: s
                } : (t.title !== e.title &amp;&amp; (i.title = e.title), ["meta", "link", "script", "htmlAttr", "bodyAttr"].forEach(function (n) {
                    var o = t[n],
                        r = e[n];
                    if (s[n] = [], void 0 !== o &amp;&amp; null !== o) {
                        for (var a in i[n] = {}, o)
                            !1 === r.hasOwnProperty(a) &amp;&amp; s[n].push(a);
                        for (var l in r)
                            !1 === o.hasOwnProperty(l) ? i[n][l] = r[l] : !0 === zl(o[l], r[l]) &amp;&amp; (s[n].push(l), i[n][l] = r[l])
                    }
                    else
                        i[n] = r
                }), {
                    add: i,
                    remove: s
                })
            }(this.$root.__currentMeta, s),
            e = t.add,
            i = t.remove,
            e.title &amp;&amp; (document.title = e.title),
            Object.keys(i).length &gt; 0 &amp;&amp; (["meta", "link", "script"].forEach(function (t) {
                i[t].forEach(function (e) {
                    document.head.querySelector(t + '[data-qmeta="' + e + '"]').remove()
                })
            }), i.htmlAttr.filter(Dl).forEach(function (t) {
                document.documentElement.removeAttribute(t)
            }), i.bodyAttr.filter(Al).forEach(function (t) {
                document.body.removeAttribute(t)
            })),
            ["meta", "link", "script"].forEach(function (t) {
                var i = e[t];
                for (var s in i) {
                    var n = document.createElement(t);
                    for (var o in i[s])
                        "innerHTML" !== o &amp;&amp; n.setAttribute(o, i[s][o]);
                    n.setAttribute("data-qmeta", s),
                        "script" === t &amp;&amp; (n.innerHTML = i[s].innerHTML || ""),
                        document.head.appendChild(n)
                }
            }),
            Object.keys(e.htmlAttr).filter(Dl).forEach(function (t) {
                document.documentElement.setAttribute(t, e.htmlAttr[t] || "")
            }),
            Object.keys(e.bodyAttr).filter(Al).forEach(function (t) {
                document.body.setAttribute(t, e.bodyAttr[t] || "")
            }),
            this.$root.__currentMeta = s
    }
    function Fl(t) {
        return function (e) {
            var i = t[e];
            return e + (void 0 !== i ? '="' + i + '"' : "")
        }
    }
    function jl(t, e, i) {
        var s = {
            title: "",
            titleTemplate: null,
            meta: {},
            link: {},
            htmlAttr: {},
            bodyAttr: {},
            noscript: {}
        };
        Rl(t, s),
            El(s);
        var n = void 0 !== i &amp;&amp; void 0 !== i.nonce ? ' nonce="' + i.nonce + '"' : "",
            o = {
                "%%Q_HTML_ATTRS%%": Object.keys(s.htmlAttr).filter(Dl).map(Fl(s.htmlAttr)).join(" "),
                "%%Q_HEAD_TAGS%%": function (t) {
                    var e = "";
                    return t.title &amp;&amp; (e += "&lt;title&gt;" + t.title + "&lt;/title&gt;"), ["meta", "link", "script"].forEach(function (i) {
                        var s = t[i];
                        for (var n in s) {
                            var o = Object.keys(s[n]).filter(function (t) {
                                return "innerHTML" !== t
                            }).map(Fl(s[n]));
                            e += "&lt;" + i + " " + o.join(" ") + ' data-qmeta="' + n + '"&gt;',
                                "script" === i &amp;&amp; (e += (s[n].innerHTML || "") + "&lt;\/script&gt;")
                        }
                    }), e
                }(s),
                "%%Q_BODY_ATTRS%%": Object.keys(s.bodyAttr).filter(Al).map(Fl(s.bodyAttr)).join(" "),
                "%%Q_BODY_TAGS%%": Object.keys(s.noscript).map(function (t) {
                    return '&lt;noscript data-qmeta="' + t + '"&gt;' + s.noscript[t] + "&lt;/noscript&gt;"
                }).join("") + "&lt;script" + n + "&gt;window.__Q_META__=" + (delete s.noscript &amp;&amp; JSON.stringify(s)) + "&lt;\/script&gt;"
            };
        return Object.keys(o).forEach(function (t) {
            e = e.replace(t, o[t])
        }), e
    }
    function Vl() {
        "function" == typeof this.$options.meta ? (void 0 === this.$options.computed &amp;&amp; (this.$options.computed = {}), this.$options.computed.__qMeta = this.$options.meta) : !0 === Nl(this) &amp;&amp; (this.__qMeta = this.$options.meta)
    }
    function Nl(t) {
        return void 0 !== t.$options.meta &amp;&amp; null !== t.$options.meta
    }
    function Hl() {
        !0 === Nl(this) &amp;&amp; this.__qMetaUpdate()
    }
    !1 === i &amp;&amp; t.util.defineReactive(Ol, "isActive", Ol.isActive);
    var Ql = {
        install: function (e) {
            var n = e.queues;
            !0 === i ? (t.prototype.$getMetaHTML = function (t) {
                return function (e, i) {
                    return jl(t, e, i)
                }
            }, t.mixin({ beforeCreate: Vl }), n.server.push(function (t, e) {
                e.ssr.Q_HTML_ATTRS += " %%Q_HTML_ATTRS%%",
                    Object.assign(e.ssr, {
                        Q_HEAD_TAGS: "%%Q_HEAD_TAGS%%",
                        Q_BODY_ATTRS: "%%Q_BODY_ATTRS%%",
                        Q_BODY_TAGS: "%%Q_BODY_TAGS%%"
                    })
            })) : (Cl = s, t.mixin({
                beforeCreate: Vl,
                created: function () {
                    !0 === Nl(this) &amp;&amp; (this.__qMetaUnwatch = this.$watch("__qMeta", this.__qMetaUpdate))
                },
                activated: Hl,
                deactivated: Hl,
                beforeMount: Hl,
                destroyed: function () {
                    !0 === Nl(this) &amp;&amp; (this.__qMetaUnwatch(), this.__qMetaUpdate())
                },
                methods: {
                    __qMetaUpdate: function () {
                        clearTimeout(xl),
                            xl = setTimeout(Il.bind(this), 50)
                    }
                }
            }))
        }
    };
    var Wl = 0,
        Yl = {},
        Ul = { role: "alert" },
        Kl = ["top-left", "top-right", "bottom-left", "bottom-right", "top", "bottom", "left", "right", "center"],
        Xl = ["top-left", "top-right", "bottom-left", "bottom-right"],
        Gl = {
            positive: {
                icon: function () {
                    return this.$q.iconSet.type.positive
                },
                color: "positive"
            },
            negative: {
                icon: function () {
                    return this.$q.iconSet.type.negative
                },
                color: "negative"
            },
            warning: {
                icon: function () {
                    return this.$q.iconSet.type.warning
                },
                color: "warning",
                textColor: "dark"
            },
            info: {
                icon: function () {
                    return this.$q.iconSet.type.info
                },
                color: "info"
            }
        },
        Zl = {},
        Jl = {},
        tc = {
            name: "QNotifications",
            created: function () {
                var t = this;
                this.notifs = {},
                    Kl.forEach(function (e) {
                        t.notifs[e] = [];
                        var i = ["left", "center", "right"].includes(e) ? "center" : e.indexOf("top") &gt; -1 ? "top" : "bottom",
                            s = e.indexOf("left") &gt; -1 ? "start" : e.indexOf("right") &gt; -1 ? "end" : "center",
                            n = ["left", "right"].includes(e) ? "items-" + ("left" === e ? "start" : "end") + " justify-center" : "center" === e ? "flex-center" : "items-" + s;
                        Jl[e] = "q-notifications__list q-notifications__list--" + i + " fixed column no-wrap " + n
                    })
            },
            methods: {
                add: function (t) {
                    var e = this;
                    if (!t)
                        return console.error("Notify: parameter required"), !1;
                    var i = { textColor: "white" };
                    if ("string" != typeof t &amp;&amp; !0 === t.ignoreDefaults || Object.assign(i, Yl), Object(t) === t ? (Object.assign(i, Gl[t.type], t), "function" == typeof i.icon &amp;&amp; (i.icon = i.icon.call(this))) : i.message = t, i.meta = { hasMedia: Boolean(i.icon || i.avatar) }, i.position) {
                        if (!1 === Kl.includes(i.position))
                            return console.error("Notify: wrong position: " + i.position), !1
                    }
                    else
                        i.position = "bottom";
                    if (void 0 === i.timeout)
                        i.timeout = 5e3;
                    else {
                        var s = parseInt(i.timeout, 10);
                        if (isNaN(s) || s &lt; 0)
                            return console.error("Notify: wrong timeout: " + i.timeout), !1;
                        i.timeout = s
                    }
                    0 === i.timeout ? i.progress = !1 : !0 === i.progress &amp;&amp; (i.meta.progressStyle = { animationDuration: i.timeout + 1e3 + "ms" });
                    var n = (!0 === Array.isArray(t.actions) ? t.actions : []).concat(!0 !== t.ignoreDefaults &amp;&amp; !0 === Array.isArray(Yl.actions) ? Yl.actions : []).concat(void 0 !== Gl[t.type] &amp;&amp; !0 === Array.isArray(Gl[t.type].actions) ? Gl[t.type].actions : []);
                    i.closeBtn &amp;&amp; n.push({ label: "string" == typeof i.closeBtn ? i.closeBtn : this.$q.lang.label.close }),
                        i.actions = n.map(function (t) {
                            var e = t.handler,
                                s = t.noDismiss,
                                n = function (t, e) {
                                    var i = {};
                                    for (var s in t)
                                        Object.prototype.hasOwnProperty.call(t, s) &amp;&amp; -1 === e.indexOf(s) &amp;&amp; (i[s] = t[s]);
                                    return i
                                }(t, ["handler", "noDismiss"]);
                            return {
                                props: Object.assign({}, { flat: !0 }, n),
                                on: {
                                    click: "function" == typeof e ? function () {
                                        e(),
                                            !0 !== s &amp;&amp; i.meta.close()
                                    } : function () {
                                        i.meta.close()
                                    }
                                }
                            }
                        }),
                        void 0 === i.multiLine &amp;&amp; (i.multiLine = i.actions.length &gt; 1),
                        Object.assign(i.meta, {
                            staticClass: "q-notification row items-stretch q-notification--" + (!0 === i.multiLine ? "multi-line" : "standard") + (void 0 !== i.color ? " bg-" + i.color : "") + (void 0 !== i.textColor ? " text-" + i.textColor : "") + (void 0 !== i.classes ? " " + i.classes : ""),
                            wrapperClass: "q-notification__wrapper col relative-position border-radius-inherit " + (!0 === i.multiLine ? "column no-wrap justify-center" : "row items-center"),
                            contentClass: "q-notification__content row items-center" + (!0 === i.multiLine ? "" : " col")
                        }),
                        !1 === i.group ? i.group = void 0 : (void 0 !== i.group &amp;&amp; !0 !== i.group || (i.group = [
                            i.message,
                            i.caption,
                            i.multiline
                        ].concat(i.actions.map(function (t) {
                            return t.props.label + "*" + t.props.icon
                        })).join("|")), i.group += "|" + i.position),
                        0 === i.actions.length ? i.actions = void 0 : i.meta.actionsClass = "q-notification__actions row items-center " + (!0 === i.multiLine ? "justify-end" : "col-auto") + (!0 === i.meta.hasMedia ? " q-notification__actions--with-media" : "");
                    var o = Zl[i.group];
                    if (void 0 === o) {
                        if (i.meta.uid = Wl++, i.meta.badge = 1, -1 !== ["left", "right", "center"].indexOf(i.position))
                            this.notifs[i.position].splice(Math.floor(this.notifs[i.position].length / 2), 0, i);
                        else {
                            var r = i.position.indexOf("top") &gt; -1 ? "unshift" : "push";
                            this.notifs[i.position][r](i)
                        }
                        void 0 !== i.group &amp;&amp; (Zl[i.group] = i)
                    }
                    else {
                        void 0 !== o.meta.timer &amp;&amp; clearTimeout(o.meta.timer);
                        var a = Zl[i.group];
                        if (void 0 !== i.badgePosition) {
                            if (!1 === Xl.includes(i.badgePosition))
                                return console.error("Notify - wrong badgePosition specified: " + i.badgePosition), !1
                        }
                        else
                            i.badgePosition = "top-" + (i.position.indexOf("left") &gt; -1 ? "right" : "left");
                        i.meta.uid = a.meta.uid,
                            i.meta.badge = a.meta.badge + 1,
                            i.meta.badgeStaticClass = "q-notification__badge q-notification__badge--" + i.badgePosition + (void 0 !== i.badgeColor ? " bg-" + i.badgeColor : "") + (void 0 !== i.badgeTextColor ? " text-" + i.badgeTextColor : "");
                        var l = this.notifs[i.position].indexOf(a);
                        this.notifs[i.position][l] = Zl[i.group] = i
                    }
                    return i.meta.close = function () {
                        e.remove(i)
                    }, this.$forceUpdate(), i.timeout &gt; 0 &amp;&amp; (i.meta.timer = setTimeout(function () {
                        i.meta.close()
                    }, i.timeout + 1e3)), i.meta.close
                },
                remove: function (t) {
                    clearTimeout(t.meta.timer);
                    var e = this.notifs[t.position].indexOf(t);
                    if (-1 !== e) {
                        void 0 !== t.group &amp;&amp; delete Zl[t.group];
                        var i = this.$refs["notif_" + t.meta.uid];
                        if (i) {
                            var s = getComputedStyle(i),
                                n = s.width,
                                o = s.height;
                            i.style.left = i.offsetLeft + "px",
                                i.style.width = n,
                                i.style.height = o
                        }
                        this.notifs[t.position].splice(e, 1),
                            this.$forceUpdate(),
                            "function" == typeof t.onDismiss &amp;&amp; t.onDismiss()
                    }
                }
            },
            render: function (t) {
                var e = this;
                return t("div", { staticClass: "q-notifications" }, Kl.map(function (i) {
                    return t("transition-group", {
                        key: i,
                        staticClass: Jl[i],
                        tag: "div",
                        props: {
                            name: "q-notification--" + i,
                            mode: "out-in"
                        }
                    }, e.notifs[i].map(function (e) {
                        var i,
                            s = e.meta,
                            n = { staticClass: "q-notification__message col" };
                        if (!0 === e.html)
                            n.domProps = { innerHTML: e.caption ? "&lt;div&gt;" + e.message + '&lt;/div&gt;&lt;div class="q-notification__caption"&gt;' + e.caption + "&lt;/div&gt;" : e.message };
                        else {
                            var o = [
                                e.message
                            ];
                            i = e.caption ? [
                                t("div", o),
                                t("div", { staticClass: "q-notification__caption" }, [
                                    e.caption
                                ])
                            ] : o
                        }
                        var r = [];
                        !0 === s.hasMedia &amp;&amp; (e.icon ? r.push(t(Et, {
                            staticClass: "q-notification__icon",
                            attrs: { role: "img" },
                            props: { name: e.icon }
                        })) : e.avatar &amp;&amp; r.push(t(zt, { staticClass: "q-notification__avatar col-auto" }, [
                            t("img", {
                                attrs: {
                                    src: e.avatar,
                                    "aria-hidden": "true"
                                }
                            })
                        ]))),
                            r.push(t("div", n, i));
                        var a = [
                            t("div", { staticClass: s.contentClass }, r)
                        ];
                        return !0 === e.progress &amp;&amp; a.push(t("div", {
                            key: s.uid + "|p|" + s.badge,
                            staticClass: "q-notification__progress",
                            style: s.progressStyle,
                            class: e.progressClass
                        })), void 0 !== e.actions &amp;&amp; a.push(t("div", { staticClass: s.actionsClass }, e.actions.map(function (e) {
                            return t(be, {
                                props: e.props,
                                on: e.on
                            })
                        }))), s.badge &gt; 1 &amp;&amp; a.push(t("div", {
                            key: s.uid + "|" + s.badge,
                            staticClass: s.badgeStaticClass,
                            style: e.badgeStyle,
                            class: e.badgeClass
                        }, [
                            s.badge
                        ])), t("div", {
                            ref: "notif_" + s.uid,
                            key: s.uid,
                            staticClass: s.staticClass,
                            attrs: Ul
                        }, [
                            t("div", { staticClass: s.wrapperClass }, a)
                        ])
                    }))
                }))
            },
            mounted: function () {
                var t = this;
                if (void 0 !== this.$q.fullscreen &amp;&amp; !0 === this.$q.fullscreen.isCapable) {
                    var e = function (e) {
                        var i = Jt(e, t.$q.fullscreen.activeEl);
                        t.$el.parentElement !== i &amp;&amp; i.appendChild(t.$el)
                    };
                    this.unwatchFullscreen = this.$watch("$q.fullscreen.isActive", e),
                        !0 === this.$q.fullscreen.isActive &amp;&amp; e(!0)
                }
            },
            beforeDestroy: function () {
                void 0 !== this.unwatchFullscreen &amp;&amp; this.unwatchFullscreen()
            }
        },
        ec = {
            create: function (t) {
                return !0 === i ? f : this.__vm.add(t)
            },
            setDefaults: function (t) {
                t === Object(t) &amp;&amp; Object.assign(Yl, t)
            },
            registerType: function (t, e) {
                !0 !== i &amp;&amp; e === Object(e) &amp;&amp; (Gl[t] = e)
            },
            install: function (e) {
                var s = e.cfg,
                    n = e.$q;
                if (!0 === i)
                    return n.notify = f, void (n.notify.setDefaults = f);
                this.setDefaults(s.notify),
                    n.notify = this.create.bind(this),
                    n.notify.setDefaults = this.setDefaults,
                    n.notify.registerType = this.registerType;
                var o = document.createElement("div");
                document.body.appendChild(o),
                    this.__vm = new t(tc),
                    this.__vm.$mount(o)
            }
        };
    function ic() {
        return {
            has: f,
            getLength: f,
            getItem: f,
            getIndex: f,
            getAll: f,
            set: f,
            remove: f,
            clear: f,
            isEmpty: f
        }
    }
    function sc(t) {
        var e = window[t + "Storage"],
            i = function (t) {
                var i = e.getItem(t);
                return i ? function (t) {
                    if (t.length &lt; 9)
                        return t;
                    var e = t.substr(0, 8),
                        i = t.substring(9);
                    switch (e) {
                        case "__q_date":
                            return new Date(i);
                        case "__q_expr":
                            return new RegExp(i);
                        case "__q_numb":
                            return Number(i);
                        case "__q_bool":
                            return Boolean("1" === i);
                        case "__q_strn":
                            return "" + i;
                        case "__q_objt":
                            return JSON.parse(i);
                        default:
                            return t
                    }
                }(i) : null
            };
        return {
            has: function (t) {
                return null !== e.getItem(t)
            },
            getLength: function () {
                return e.length
            },
            getItem: i,
            getIndex: function (t) {
                return t &lt; e.length ? i(e.key(t)) : null
            },
            getKey: function (t) {
                return t &lt; e.length ? e.key(t) : null
            },
            getAll: function () {
                for (var t, s = {}, n = e.length, o = 0; o &lt; n; o++)
                    s[t = e.key(o)] = i(t);
                return s
            },
            getAllKeys: function () {
                for (var t = [], i = e.length, s = 0; s &lt; i; s++)
                    t.push(e.key(s));
                return t
            },
            set: function (t, i) {
                e.setItem(t, function (t) {
                    return "[object Date]" === Object.prototype.toString.call(t) ? "__q_date|" + t.toUTCString() : "[object RegExp]" === Object.prototype.toString.call(t) ? "__q_expr|" + t.source : "number" == typeof t ? "__q_numb|" + t : "boolean" == typeof t ? "__q_bool|" + (t ? "1" : "0") : "string" == typeof t ? "__q_strn|" + t : "function" == typeof t ? "__q_strn|" + t.toString() : t === Object(t) ? "__q_objt|" + JSON.stringify(t) : t
                }(i))
            },
            remove: function (t) {
                e.removeItem(t)
            },
            clear: function () {
                e.clear()
            },
            isEmpty: function () {
                return 0 === e.length
            }
        }
    }
    var nc = {
        install: function (t) {
            var e = t.$q,
                s = !0 === i || !1 === u.has.webStorage ? ic() : sc("local");
            e.localStorage = s,
                Object.assign(this, s)
        }
    },
        oc = {
            install: function (t) {
                var e = t.$q,
                    s = !0 === i || !1 === u.has.webStorage ? ic() : sc("session");
                e.sessionStorage = s,
                    Object.assign(this, s)
            }
        },
        rc = Object.freeze({
            __proto__: null,
            AddressbarColor: ol,
            AppFullscreen: ll,
            AppVisibility: cl,
            BottomSheet: pl,
            Cookies: kl,
            Dark: P,
            Dialog: Tl,
            LoadingBar: $l,
            Loading: Ol,
            Meta: Ql,
            Notify: ec,
            Platform: h,
            Screen: B,
            LocalStorage: nc,
            SessionStorage: oc
        });
    function ac(t) {
        setTimeout(function () {
            window.URL.revokeObjectURL(t.href)
        }, 1e4),
            t.remove()
    }
    function lc(e, i) {
        var s = window.open;
        if (!0 === h.is.cordova) {
            if (void 0 !== cordova &amp;&amp; void 0 !== cordova.InAppBrowser &amp;&amp; void 0 !== cordova.InAppBrowser.open)
                s = cordova.InAppBrowser.open;
            else if (void 0 !== navigator &amp;&amp; void 0 !== navigator.app)
                return navigator.app.loadUrl(e, { openExternal: !0 })
        }
        else if (void 0 !== t.prototype.$q.electron)
            return t.prototype.$q.electron.shell.openExternal(e);
        var n = s(e, "_blank");
        if (n)
            return h.is.desktop &amp;&amp; n.focus(), n;
        i &amp;&amp; i()
    }
    var cc = Object.freeze({
        __proto__: null,
        clone: er,
        colors: X,
        copyToClipboard: function (t) {
            return void 0 !== navigator.clipboard ? navigator.clipboard.writeText(t) : new Promise(function (e, i) {
                var s = function (t) {
                    var e = document.createElement("textarea");
                    e.value = t,
                        e.contentEditable = !0,
                        e.style.position = "fixed",
                        document.body.appendChild(e),
                        e.focus(),
                        e.select();
                    var i = document.execCommand("copy");
                    return e.remove(), i
                }(t);
                s ? e(!0) : i(s)
            })
        },
        date: Xs,
        debounce: $,
        dom: te,
        event: T,
        exportFile: function (t, e, i) {
            var s = new Blob([
                e
            ], { type: i || "text/plain" });
            if (window.navigator.msSaveOrOpenBlob)
                return window.navigator.msSaveOrOpenBlob(s, t);
            var n = document.createElement("a");
            n.download = t,
                n.href = window.URL.createObjectURL(s),
                n.classList.add("hidden"),
                n.style.position = "fixed",
                document.body.appendChild(n);
            try {
                return n.click(), ac(n), !0
            }
            catch (t) {
                return ac(n), t
            }
        },
        extend: no,
        format: ft,
        frameDebounce: Zo,
        noop: f,
        openURL: function (t, e) {
            if (!0 !== h.is.ios || void 0 === window.SafariViewController)
                return lc(t, e);
            window.SafariViewController.isAvailable(function (i) {
                i ? window.SafariViewController.show({ url: t }, f, e) : lc(t, e)
            })
        },
        patterns: Vi,
        scroll: Ge,
        throttle: ee,
        uid: xn
    });
    return t.use({
        install: function (t, e) {
            if (void 0 === e &amp;&amp; (e = {}), !0 !== this.__qInstalled) {
                this.__qInstalled = !0;
                var s = at.config = Object.freeze(e.config || {});
                if (h.install(at, rt), it.install(rt, s), P.install(at, rt, s), B.install(at, rt, s), A.install(s), I.install(at, rt, e.lang), nt.install(at, rt, e.iconSet), !0 === i ? t.mixin({
                    beforeCreate: function () {
                        this.$q = this.$root.$options.$q
                    }
                }) : t.prototype.$q = at, e.components &amp;&amp; Object.keys(e.components).forEach(function (i) {
                    var s = e.components[i];
                    "function" == typeof s &amp;&amp; t.component(s.options.name, s)
                }), e.directives &amp;&amp; Object.keys(e.directives).forEach(function (i) {
                    var s = e.directives[i];
                    void 0 !== s.name &amp;&amp; void 0 !== s.unbind &amp;&amp; t.directive(s.name, s)
                }), e.plugins) {
                    var n = {
                        $q: at,
                        queues: rt,
                        cfg: s
                    };
                    Object.keys(e.plugins).forEach(function (t) {
                        var i = e.plugins[t];
                        "function" == typeof i.install &amp;&amp; !1 === ot.includes(i) &amp;&amp; i.install(n)
                    })
                }
            }
        }
    }, {
        components: Ia,
        directives: sl,
        plugins: rc,
        config: window.quasarConfig || {}
    }), Object.assign({}, {
        version: "1.12.13",
        lang: I,
        iconSet: nt,
        components: Ia,
        directives: sl,
        plugins: rc,
        utils: cc
    }, Ia, sl, rc, cc)
});
avshow.dp_image_error = function (e) {
    $("#ad-ft").addClass("none")
};
$g.get_ads = function () { };
$g.update_ads = function (ads_conf) {
    if (ads_conf) {
        var new_ads_conf = Object.assign({}, ads_conf);
        if (ads_conf.ipcountry) {
            var replace_ads_conf = ads_conf.ipcountry["oversea"];
            if (replace_ads_conf) {
                if ($g.ipcountry &amp;&amp; $g.ipcountry != "CN") {
                    new_ads_conf = Object.assign(new_ads_conf, replace_ads_conf);
                    console.log("replace_ads_conf:", replace_ads_conf)
                }
            }
            if (!$g.ipcountry) {
                return undefined
            }
            var replace_ads_conf = ads_conf.ipcountry[$g.ipcountry];
            if (replace_ads_conf) { }
            new_ads_conf = Object.assign(new_ads_conf, replace_ads_conf)
        }
        if (ads_conf.not_allow_countrys) {
            if (!$g.ipcountry || ads_conf.not_allow_countrys.includes($g.ipcountry)) {
                return undefined
            }
        }
        if (ads_conf.allow_domains) {
            if (!ads_conf.allow_domains.includes(document.domain)) {
                return undefined
            }
        }
        if (ads_conf.domains) {
            if (ads_conf.domains[document.domain]) {
                new_ads_conf = Object.assign(new_ads_conf, ads_conf.domains[document.domain]);
                console.log("[domain]replace_ads_conf:", replace_ads_conf)
            }
        }
        return new_ads_conf
    }
};
avshow.show_dp = function () {
    if (avshow.show_dp_mark == false) {
        return
    }
    if (!avshow.user.is_vip) {
        var is_show_dp = true;
        var close_dp_time = localStorage.getItem("close_dp_time");
        close_dp_time = parseInt(close_dp_time);
        console.log("close_dp_time:", close_dp_time);
        if (!isNaN(close_dp_time)) {
            var now_time = avshow.server_time;
            if (!now_time) {
                now_time = (new Date).getTime() / 1e3
            }
            if (now_time - close_dp_time &lt; 60 * 5) {
                is_show_dp = false
            }
        }
        if (is_show_dp) {
            $("#ad-ft").removeClass("none")
        }
        else {
            $("#ad-ft").addClass("none")
        }
        $(".downApp_close").click(function () {
            $("#ad-ft").remove();
            var now_time = (new Date).getTime() / 1e3;
            localStorage.setItem("close_dp_time", now_time)
        })
    }
};
function randomString(e) {
    e = e || 32;
    var t = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678",
        a = t.length,
        n = "";
    for (i = 0; i &lt; e; i++)
        n += t.charAt(Math.floor(Math.random() * a));
    return n
}
var ADSOBJET = {
    data() {
        return {
            show_mark: true,
            ads_position: undefined,
            ads_list: undefined,
            class_name: undefined,
            old_ads_classname_list: undefined
        }
    },
    created: function () {
        this.class_name = this.$config.class_name;
        this.old_ads_classname_list = this.$config.old_ads_classname_list;
        this.$nextTick(this.load_ads_list);
        setTimeout(() =&gt; {
            var id = this.$el.id;
            if (this.ads_list) { }
        }, 1e3);
        let wp = document.getElementById("wp");
        if (wp) {
            wp.id = "__wp:" + $g.config.application_name.toLowerCase()
        }
    },
    methods: {
        is_show: function () {
            if (/\/user\//.test(window.location.href)) {
                return false
            }
            return !this.is_bot() &amp;&amp; this.show_mark &amp;&amp; this.ads_list
        },
        load_ads_list: function () {
            console.log("load_ads_list:", this.ads_position);
            if (this.ads_position) {
                var ads_conf = this.$config.ads_object[this.ads_position];
                if (ads_conf) {
                    this.this_ads_object = ads_conf;
                    var ads_list = this.this_ads_object;
                    this.ads_list = [];
                    var ads_keys = Object.keys(ads_list);
                    for (var i = 0; i &lt; ads_keys.length; ++i) {
                        var ads = ads_list[ads_keys[i]];
                        ads = $g.update_ads(ads);
                        if (!ads) {
                            continue
                        }
                        if (ads.is_root) {
                            if (!$g.is_root_domain()) {
                                console.log("root ads:", ads);
                                continue
                            }
                        }
                        var ads_num = parseInt(ads["ads_num"]);
                        if (isNaN(ads_num) || !ads_num) {
                            ads_num = 1
                        }
                        for (let j = 0; j &lt; ads_num; ++j) {
                            this.ads_list.push(ads)
                        }
                    }
                }
            }
        },
        load_base64_ads_list: async function () {
            var max_num = this.ads_list.length;
            for (var i = 0; i &lt; max_num; ++i) {
                var ads_conf = this.ads_list[i];
                var q_image_content = $("#" + this.$el.id + " .q-img").eq(i).find("q-img__image");
                console.log("q_image_content:", q_image_content);
                if (!q_image_content || q_image_content.length == 0) {
                    await this.$axios.get("/base64/" + ads_conf["zone"]).then(response =&gt; {
                        $("#" + this.$el.id + " .q-img").eq(i).append("&lt;img " + "src=data:image/png;base64," + response.data + " /&gt;")
                    })
                }
            }
        }
    }
};
var ADSTEXT = {
    data() {
        return {}
    },
    created: function () { },
    methods: {
        on_ads_click: function (name) {
            let t = this.get_tracker();
            if (t) {
                t.send("event", "ads", "click", name)
            }
        }
    }
};
$g.ADSTEXT = ADSTEXT;
try {
    setTimeout(function () {
        Vue.prototype.loadCssCode($g.config.ads.style)
    }, 1)
}
catch (e) { }
$g.VERSION = "1.0.0";
$g.wait_footerjs_count = 0;
$g.wait_footerjs = function (f) {
    if ($g.loaded_footer) {
        f()
    }
    else {
        $g.wait_footerjs_count++;
        setTimeout(() =&gt; {
            if (!$g.loaded_footer) {
                $g.wait_footerjs(f)
            }
            else {
                if (f) {
                    f()
                }
            }
        }, 88 + $g.wait_asyncjs_count)
    }
};
$g.get_tracker = function () {
    if ("ga" in window &amp;&amp; ga.getAll) {
        var trackers = ga.getAll();
        if (trackers &amp;&amp; trackers.length &gt; 0) {
            $g.tracker = trackers[0]
        }
    }
    return $g.tracker
};
$g.update_lazy = function () {
    function executeLazyFunction(e) {
        var data_src = e.getAttribute("data-src");
        if (data_src) {
            if (!e.classList.contains("diswebp") &amp;&amp; !/.\webp/.test(data_src)) {
                if (avshow.isSupportWebp()) {
                    var generate_webp_url = avshow.generate_webp_url(data_src);
                    e.setAttribute("data-src", generate_webp_url)
                }
            }
        }
    }
    if (!avshow.lazyLoadInstance) {
        avshow.lazyLoadInstance = new LazyLoad({
            elements_selector: ".lazy",
            thresholds: "500px 10%",
            callback_enter: executeLazyFunction
        })
    }
    else {
        avshow.lazyLoadInstance.update()
    }
};
Array.prototype.remove = function (val) {
    var index = this.indexOf(val);
    if (index &gt; -1) {
        this.splice(index, 1)
    }
};
if (window.jQuery) {
    window.$ = jQuery;
    window.$$ = jQuery
}
window.Cookies = Quasar.Cookies;
$g.user = {
    uid: function () {
        if (avshow.user_data) {
            return avshow.user_data.uid
        }
    },
    show_vip_dialog: function (message) {
        if (!message) {
            message = "æ­¤åŠŸèƒ½ä»…é™VIPç”¨æˆ·!"
        }
        Quasar.Dialog.create({
            class: "tpdialog",
            title: "æç¤º",
            message: "&lt;strong&gt;" + message + '&lt;a target="_blank" href="/buy/vip"&gt;è´­ä¹°VIP&lt;/a&gt;' + "&lt;/strong&gt;",
            html: true,
            ok: false
        }).onOk(() =&gt; { }).onCancel(() =&gt; { }).onDismiss(() =&gt; { });
        return
    },
    show_login_dialog: function (tip_lang, options) {
        if (!document.getElementById("common-dialog")) {
            Quasar.Dialog.create({
                class: "tpdialog",
                title: "æç¤º",
                message: '&lt;strong&gt;è¯·å…ˆ&lt;a target="_blank" href="/account/signin"&gt;ç™»å½•&lt;/a&gt;æˆ–&lt;a target="_blank" href="/account/signup"&gt;æ³¨å†Œ&lt;/a&gt;&lt;/strong&gt;',
                html: true,
                ok: false
            }).onOk(() =&gt; { }).onCancel(() =&gt; { }).onDismiss(() =&gt; { });
            return
        }
        if (!options) {
            options = {}
        }
        if (!tip_lang) {
            tip_lang = ""
        }
        options = $.extend(true, options, {
            show: true,
            remote: "/account/signin?is_dialog=true&amp;tip_lang=" + tip_lang
        });
        $g.show_common_dialog(options);
        $g.user.set_dialog_width(600)
    },
    set_dialog_width: function (w) {
        if (!$g.ismobile()) {
            $("#common-dialog .modal-dialog").css("width", w + "px")
        }
    },
    is_login: function () {
        if ($g.user_data) {
            return true
        }
        return false
    }
};
$g.G = {
    created: function () {
        if ($g.config.color_theme === "dark") {
            this.$q.dark.set(true)
        }
    }
};
$g.SEARCHFORM = {
    data() {
        return {
            search_keyword: "",
            mobile_search: false,
            show_search_drawer: false,
            form: {
                action: "/search",
                target: "_blank"
            }
        }
    },
    created: function () {
        this.mobile_search = !this.is_mobile()
    },
    methods: {
        on_goto_search: function () {
            console.log("on_goto_search:", this.search_keyword);
            this.form = {
                action: "/search/" + this.search_keyword,
                target: "_self"
            }
        },
        on_show_search_drawer: function () {
            this.show_search_drawer = true;
            this.$nextTick(() =&gt; {
                this.$refs.dummykeyboard.focus()
            })
        },
        on_search: function (e) {
            console.log("on_search:", e);
            this.mobile_search = true
        },
        on_search_back: function (e) {
            this.mobile_search = false
        },
        checkForm: function (e) {
            return true
        },
        on_close_search_drawer: function () {
            this.show_search_drawer = false
        }
    }
};
$g.HEADER = {
    data() {
        return {}
    },
    created: function () {
        window.addEventListener("resize", event =&gt; {
            this.$forceUpdate()
        }, true);
        $g.wait_footerjs(() =&gt; {
            this.$forceUpdate()
        })
    },
    methods: {}
};
avshow.videoobject = {
    name: "videoobject",
    methods: {
        video_title: function () {
            var title = this.topic_data.title;
            var video_info = this.topic_data.video_info;
            if (video_info["av_data_type"] == 2) {
                title = video_info.fanhao + " " + title
            }
            return title
        },
        duration_format: function () {
            let duration = parseFloat(this.online_video["duration"]);
            let second = parseInt(duration % 60);
            let total_minutes = parseInt(duration / 60);
            let minutes = parseInt(total_minutes % 60);
            let hour = parseInt(total_minutes / 60);
            return this.padNumber(hour, 2) + ":" + this.padNumber(minutes, 2) + ":" + this.padNumber(second, 2)
        },
        video_col_class_name: function () {
            var COMMON_ROW_COUNT = this._g.COMMON_ROW_COUNT;
            console.log("COMMON_ROW_COUNT:", COMMON_ROW_COUNT);
            let class_name = "col-" + parseInt(12 / COMMON_ROW_COUNT);
            console.log("video_col_class_name:", class_name);
            return class_name
        },
        is_jav_video: function () {
            var video_info = this.topic_data.video_info;
            return video_info["av_data_type"] === 2
        },
        resolution_description: function () {
            console.log("[resolution_description]online_video:", this.online_video);
            let resolution = this.online_video["resolution"];
            if ([360, 480, 720].includes(resolution[0])) {
                return resolution[1] + "P"
            }
            if (resolution[1] &gt;= 1080) {
                if (resolution[1] &gt;= 2160) {
                    return "4K"
                }
                if (resolution[0] == 1920) {
                    return "1080P"
                }
                if (resolution[0] &gt; 1920) {
                    return "2K"
                }
            }
        }
    }
};
$g.show_common_dialog = function (options) {
    $("#common-dialog").bootstrap_modal(options)
};
$g.is_mobile = $g.ismobile_from_server = function () {
    return Vue.prototype.is_mobile()
};
$g.getDateDiff = function (dateTimeStamp) {
    var result = "";
    var minute = 1e3 * 60;
    var hour = minute * 60;
    var day = hour * 24;
    var halfamonth = day * 15;
    var month = day * 30;
    var now = (new Date).getTime();
    var diffValue = now - dateTimeStamp;
    if (diffValue &lt; 0) {
        return
    }
    var monthC = diffValue / month;
    var weekC = diffValue / (7 * day);
    var dayC = diffValue / day;
    var hourC = diffValue / hour;
    var minC = diffValue / minute;
    if (monthC &gt;= 1) {
        result = "" + parseInt(monthC) + "æœˆå‰"
    }
    else if (weekC &gt;= 1) {
        result = "" + parseInt(weekC) + "å‘¨å‰"
    }
    else if (dayC &gt;= 1) {
        result = "" + parseInt(dayC) + "å¤©å‰"
    }
    else if (hourC &gt;= 1) {
        result = "" + parseInt(hourC) + "å°æ—¶å‰"
    }
    else if (minC &gt;= 1) {
        result = "" + parseInt(minC) + "åˆ†é’Ÿå‰"
    }
    else
        result = "åˆšåˆš";
    return result
};
$g.getdate = function (timestamp, add_time = false) {
    timestamp = parseInt(timestamp);
    var now = new Date(timestamp),
        y = now.getFullYear(),
        m = now.getMonth() + 1,
        d = now.getDate();
    var s = y + "-" + (m &lt; 10 ? "0" + m : m) + "-" + (d &lt; 10 ? "0" + d : d);
    if (add_time) {
        s = s + " " + now.toTimeString().substr(0, 8)
    }
    return s
};
$g.showDate = function (timestamp) {
    var dtime = this.init_data.now_time - timestamp;
    if (dtime &gt; 60 * 60 * 24 * 7) {
        return $g.getdate(timestamp * 1e3)
    }
    return $g.getDateDiff(timestamp * 1e3)
};
$g.loadJS = function (src, cb, async = true) {
    var isLoad = null;
    if (window.$) {
        $("script").each(function () {
            var script = $(this);
            if (src == script.attr("src")) {
                isLoad = $(this);
                return false
            }
        })
    }
    if (!isLoad) {
        var ref = document.getElementsByTagName("script")[0];
        var script = document.createElement("script");
        script.src = src;
        script.async = async;
        ref.parentNode.insertBefore(script, ref);
        if (cb &amp;&amp; typeof cb === "function") {
            script.onload = cb
        }
        return script
    }
    else {
        cb(isLoad)
    }
};
$g.isApp = function () {
    var find_Html5Plus = navigator.userAgent.indexOf("Html5Plus");
    return find_Html5Plus &gt;= 0
};
$g.init_mark = false;
$g.last_request_init_time = 0;
$g.init = function () {
    if ($g.init_mark) {
        return
    }
    var key = "last:request:init:time";
    try {
        $g.last_request_init_time = localStorage.getItem(key);
        if ($g.last_request_init_time) {
            $g.last_request_init_time = parseFloat($g.last_request_init_time)
        }
    }
    catch (e) { }
    $g.init_mark = true;
    $g.user.is_vip = false;
    $g.server_time = (new Date).getTime() / 1e3;
    var server_time = localStorage.getItem("server_time");
    if (server_time) {
        window.server_timestamp = $g.server_time = parseFloat(server_time)
    }
    var ipcountry = localStorage.getItem("ipcountry");
    if (ipcountry) {
        $g.ipcountry = ipcountry
    }
    var clear_user_data = function () {
        if (window.Cookies) {
            window.Cookies.remove($g.config.cookie["auth"])
        }
        localStorage.removeItem("user");
        if (window.EventBus) {
            window.EventBus.dispatch("update_user")
        }
    };
    if (!$g.user_data) {
        var userstring = localStorage.getItem("user");
        if (userstring) {
            try {
                avshow.user_data = avshow.userdata = JSON.parse(userstring);
                if (avshow.userdata.user) {
                    var tmp_user = Object.assign({}, avshow.userdata.user);
                    avshow.userdata = tmp_user;
                    avshow.userdata.user = tmp_user
                }
            }
            catch (e) { }
        }
    }
    if (!avshow.userdata &amp;&amp; avshow.user_data) {
        avshow.userdata = avshow.user_data
    }
    if ($g.user.is_login()) {
        try {
            $g.user.is_vip = avshow.userdata.vip &gt; $g.server_time
        }
        catch (e) { }
    }
    var on_response = function (response) {
        $g.server_time = response.data.server_time;
        localStorage.setItem("server_time", avshow.server_time);
        $g.ipcountry = response.data.ipcountry;
        localStorage.setItem("ipcountry", avshow.ipcountry);
        var message_num = $(".message-num");
        var login = response.data.login;
        if (!login) {
            clear_user_data()
        }
        else {
            var user = response.data.user;
            if (user) {
                localStorage.setItem("user", JSON.stringify(user))
            }
            var message_notify = response.data.message_notify;
            var num = 0;
            if (message_notify) {
                num = parseInt(message_notify.num)
            }
            if (num &gt; 0) {
                message_num.text(num);
                message_num.removeClass("none")
            }
            else {
                message_num.addClass("none")
            }
            var is_vip = user.vip &gt; avshow.server_time;
            if ($g.user.is_vip != is_vip) {
                window.EventBus.dispatch("vip:change")
            }
            $g.user.is_vip = is_vip;
            var notifys = response.data.notifys;
            if (notifys) {
                for (var i = 0; i &lt; notifys.length; ++i) {
                    var notify = notifys[i];
                    if (notify) {
                        $g.$message(notify, {
                            position: "top center",
                            className: "info"
                        })
                    }
                }
            }
            window.EventBus.dispatch("update_user")
        }
        window.EventBus.dispatch("update:init")
    };
    var now_time = (new Date).getTime() / 1e3;
    var dtime = now_time - $g.last_request_init_time;
    if (dtime &gt; 60 * 16) {
        axios.get("/app/user/info", { params: { reactive: dtime &gt; 60 * 60 * 2 } }).then(function (response) {
            on_response(response.data);
            localStorage.setItem(key, now_time)
        }).catch(function (error) {
            if (error.response) {
                console.log(error.response.status);
                if (error.response.status === 500) {
                    console.log("500 Internal Server Error")
                }
                else if (error.response.status === 502) {
                    console.log("502 Bad Gateway")
                }
            }
            else if (error.message.includes("timeout")) {
                console.log("Request timed out")
            }
            else {
                console.log("Error", error.message)
            }
        })
    }
};
$g.update_user_info = $g.init;
$g.getUrlVars = function (url) {
    var vars = [],
        hash;
    url = url || window.location.href;
    var hashes = url.slice(url.indexOf("?") + 1).split("&amp;");
    for (var i = 0; i &lt; hashes.length; i++) {
        hash = hashes[i].split("=");
        vars[hash[0]] = hash[1]
    }
    return vars
};
$g.update_count = function () {
    $(".view_count").each(function () {
        var view_count = $(this).html();
        if (view_count.indexOf(",") &lt; 0) {
            view_count = parseInt(view_count);
            var new_view_count = view_count.toLocaleString();
            $(this).html(new_view_count)
        }
    })
};
$g.go_to_url = function (target_url, params) {
    try {
        var url_vars = $g.getUrlVars(target_url);
        if (url_vars) {
            params = Object.assign({}, params, url_vars)
        }
        console.log("params:", params);
        var form = document.createElement("form");
        form.setAttribute("method", "get");
        form.setAttribute("action", target_url);
        form.style.display = "none";
        if (params) {
            var keys = Object.keys(params);
            for (var i = 0; i &lt; keys.length; ++i) {
                var input = document.createElement("input");
                input.setAttribute("type", "hidden");
                input.setAttribute("name", keys[i]);
                input.setAttribute("value", params[keys[i]]);
                form.appendChild(input)
            }
        }
        document.body.appendChild(form);
        form.submit()
    }
    catch (e) {
        window.location.href = target_url
    }
};
$g.updateQueryStringParameter = function (uri, key, value) {
    if (!value) {
        return uri
    }
    var re = new RegExp("([?&amp;])" + key + "=.*?(&amp;|$)", "i");
    var separator = uri.indexOf("?") !== -1 ? "&amp;" : "?";
    if (uri.match(re)) {
        return uri.replace(re, "$1" + key + "=" + value + "$2")
    }
    else {
        return uri + separator + key + "=" + value
    }
};
function toThousands(num) {
    var num = (num || 0).toString(),
        result = "";
    while (num.length &gt; 3) {
        result = "," + num.slice(-3) + result;
        num = num.slice(0, num.length - 3)
    }
    if (num) {
        result = num + result
    }
    console.log("[toThousands]result:", result);
    return result
}
$g.formatNumber = toThousands;
$g.baidu_push = function () {
    if (!document.getElementById("bp")) {
        var bp = document.createElement("script");
        var curProtocol = window.location.protocol.split(":")[0];
        if (curProtocol === "https") {
            bp.src = "/linksubmit/push.js"
        }
        else {
            bp.src = "/push.js"
        }
        bp.id = "bp";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(bp, s)
    }
};
$g.update_avdatas = function () {
    jQuery(".avdata .view_count").each(function () {
        var view_count = jQuery(this).html();
        if (view_count.indexOf(",") &lt; 0) {
            view_count = parseInt(view_count);
            var new_view_count = view_count.toLocaleString();
            jQuery(this).html(new_view_count)
        }
    })
};
$g.isSupportWebp = function () {
    try {
        if ($g.__is_support_webp != undefined) {
            return $g.__is_support_webp
        }
        $g.__is_support_webp = document.createElement("canvas").toDataURL("image/webp", .5).indexOf("data:image/webp") === 0;
        return $g.__is_support_webp
    }
    catch (err) {
        return false
    }
};
$g.update_webp = function () {
    var webpElements = document.querySelectorAll(".webp");
    webpElements.forEach(function (element) {
        var data_src = element.getAttribute("data-src");
        console.log("data_src:", data_src)
    })
};
$g.get_cdn_host = function (space_name) {
    var cdn_list = avshow.space_confs[space_name]["cdn"];
    if (Array.isArray(cdn_list) &amp;&amp; cdn_list.length &gt; 0) {
        return cdn_list[0]
    }
};
$g.get_static_host = function (space_name) {
    if ($g.config.cdn &amp;&amp; $g.config.cdn["static_host"]) {
        return $g.config.cdn["static_host"]
    }
    var static_hosts = avshow.space_confs[space_name]["static_hosts"];
    if (Array.isArray(static_hosts) &amp;&amp; static_hosts.length &gt; 0) {
        return static_hosts[0]
    }
};
$g.get_video_cdn = function (space_name) {
    var video_cdns = avshow.space_confs[space_name]["video_cdns"];
    if (Array.isArray(video_cdns) &amp;&amp; video_cdns.length &gt; 0) {
        return video_cdns[0]
    }
};
$g.generate_webp_url = function (data_src) {
    try {
        if (/^\/\//.test(data_src)) {
            data_src = "https:" + data_src
        }
        if (!/^(?:(http|https):\/\/)/.test(data_src)) {
            data_src = "https://" + data_src
        }
        var u = new URL(data_src);
        if (!/\.webp$/.test(u.pathname)) {
            var new_image_url = u.origin + u.pathname + ".webp" + u.search;
            return new_image_url
        }
    }
    catch (e) { }
    return data_src
};
$g.web = { lang: function () { } };
$g.is_cf_domain = function () {
    let domain = document.domain;
    var proxy_hosts = $g.web_conf["proxy_hosts"];
    if (Array.isArray(proxy_hosts)) {
        if (proxy_hosts.includes(domain)) {
            return false
        }
    }
    return true
};
$g.is_root_domain = function () {
    var domain = $g.web_conf["domain"];
    return document.domain === domain
};
$g.get_m3u8_url = $g.m3u8player_url = function () {
    let src = undefined;
    if ($g.avdata) {
        src = "/video/m3u8/" + $g.avdata["hash_id"] + ".m3u8";
        if (true) {
            src = "https://" + $g.switch_server.server_host() + "/videos/" + $g.avdata["hash_id"] + "/g.m3u8";
            src = $g.updateQueryStringParameter(src, "h", $g.config.web_hash["space_cdn_hash"]);
            return src
        }
    }
    if (!src &amp;&amp; $g.av_response) {
        src = $g.av_response.m3u8_url
    }
    if ($g.switch_server) {
        $g.switch_server.update();
        var video_server = $g.switch_server.get();
        if (video_server) {
            src = $g.updateQueryStringParameter(src, "video_server", video_server)
        }
        src = $g.updateQueryStringParameter(src, "hash", $g.config.web_hash["space_cdn_hash"])
    }
    if ($g.config.m3u8player_host) {
        src = "https://" + $g.config.m3u8player_host + src;
        src = $g.updateQueryStringParameter(src, "mv", "101")
    }
    if (document.domain === "theav.xyz" || document.domain == "8mav.cc") {
        src = "https://" + "weav.xyz" + src
    }
    return src
};
$g.init();
avshow.update_url_param = function (update_params) {
    var url_vars = avshow.getUrlVars();
    var pathname = location.pathname;
    for (let k in url_vars) {
        pathname = avshow.updateQueryStringParameter(pathname, k, url_vars[k])
    }
    for (let k in update_params) {
        pathname = avshow.updateQueryStringParameter(pathname, k, update_params[k])
    }
    return pathname
};
$g.set_heander_nav = function () {
    var nav = $("body").attr("data-nav");
    if (nav &amp;&amp; nav.length &gt; 0) {
        $(".menu-container [data-nav='" + nav + "']").addClass("nav-select")
    }
};
window.avshow = avshow = window.avshow || {};
avshow.colors = ["black", "grey", "red", "orange", "yellow", "olive", "green", "teal", "blue", "violet", "purple", "pink", "brown"];
avshow.generateUUID = function () {
    var d = (new Date).getTime();
    var uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
        var r = (d + Math.random() * 16) % 16 | 0;
        d = Math.floor(d / 16);
        return (c == "x" ? r : r &amp; 7 | 8).toString(16)
    });
    return uuid
};
avshow.do_affiliate_analytics = function () {
    var url_vars = avshow.getUrlVars();
    if (url_vars.a) {
        var tracker = avshow.get_tracker();
        if (tracker) {
            tracker.send("event", "affiliate", "source", url_vars.a)
        }
    }
};
avshow.isWeixinBrowser = function () {
    return /micromessenger/.test(ua) ? true : false
};
avshow.do_source_analytics = function () {
    var url_vars = avshow.getUrlVars();
    if (url_vars.source) {
        var tracker = avshow.get_tracker();
        if (tracker) {
            if (url_vars.source == "telegram") {
                tracker.send("event", "telegram", "source", url_vars.chat_id + ":" + avshow.av_data.tid)
            }
            else {
                tracker.send("event", url_vars.source, "source", url_vars.source)
            }
        }
    }
};
$(document).ready(function ($) {
    if ($g.init) {
        $g.init()
    }
    avshow.set_heander_nav();
    jQuery(".login-button").click(function () {
        avshow.user.show_login_dialog();
        return false
    });
    jQuery(".tvip_btn_vip").click(function () {
        if (!avshow.user.is_login()) {
            avshow.user.show_login_dialog("member.login_guestmessage");
            var tracker = avshow.get_tracker();
            if (tracker) {
                tracker.send("event", "open-vip", "click", avshow.user.uid())
            }
            return false
        }
    })
});
avshow.get_video_conf = function (thumbnails_conf_url, cb) {
    jQuery.getJSON(thumbnails_conf_url, function (thumbnails_confs) {
        cb(thumbnails_confs)
    })
};
avshow.load_data_src = function () {
    jQuery("[lazy-src]").each(function () {
        var t = jQuery(this);
        t.attr("src", t.attr("lazy-src"))
    });
    jQuery("[lazy-href]").each(function () {
        var t = jQuery(this);
        t.attr("href", t.attr("lazy-href"))
    })
};
$(document).on("click", ".new-windows", function () {
    $(this).attr("target", "_blank");
    return true
});
$(document).on("click", ".av-link", function () {
    if (!avshow.ismobile()) {
        $(this).attr("target", "_blank")
    }
    else {
        $(this).removeAttr("target", "_blank")
    }
    return true
});
avshow.cover_image_error_count = 0;
avshow.on_cover_img_error = function (e) {
    var t = jQuery(e);
    var avdata = t.parents(".avdata-outer");
    console.log("on_cover_img_error:", e, " avdata:", avdata);
    if (avdata.length &gt; 0) { }
    avshow.cover_image_error_count += 1
};
jQuery("#upload-button").click(function () {
    if (!avshow.user.is_login()) {
        avshow.user.show_login_dialog("member.login_guestmessage");
        return false
    }
    return true
});
avshow.on_ads_show = function (name) { };
$(document).on("click", ".menu-container ul li a", function () {
    var data_nav = $(this).parents("ul").attr("data-nav");
    if (!data_nav) {
        data_nav = $(this).parents("li").attr("data-nav")
    }
    console.log("data_nav:", data_nav);
    if (data_nav) {
        var tracker = avshow.get_tracker();
        if (tracker) {
            tracker.send("event", "menu-click", "click", data_nav)
        }
    }
});
$(document).on("click", "a", function () {
    var t = jQuery(this);
    var href = t.attr("href");
    console.log(t, "a href:", href)
});
$(document).on("click", ".analytics", function () {
    var t = jQuery(this);
    var event_name = t.attr("data-event-name");
    var tracker = avshow.get_tracker();
    if (tracker &amp;&amp; event_name) {
        tracker.send("event", event_name, "click", avshow.user.uid())
    }
});
$g.wait_asyncjs(() =&gt; {
    $g.update_lazy();
    $g.update_svg();
    if ($g.update_avdatas) {
        $g.update_avdatas()
    }
    if ($g.init_traffic) {
        $g.init_traffic()
    }
    setTimeout(function () {
        $g.baidu_push()
    }, 1e3)
});
avshow.set_heander_nav();
$g.wait_footerjs(() =&gt; {
    jQuery(".ui.checkbox").checkbox();
    $g.update_count();
    avshow.search_form = jQuery("#search_form");
    avshow.search_action = jQuery("#search_form").attr("action");
    avshow.on_search = function () {
        var v = jQuery('input[name="srchtxt"]').val();
        var new_action = "/search/" + v;
        avshow.search_form.attr("action", new_action);
        avshow.search_form.submit()
    };
    $("#search").click(function () {
        $("#search_form").submit()
    });
    var offset = 300,
        offset_opacity = 1200,
        scroll_top_duration = 700,
        $back_to_top = $(".cd-top");
    $(window).scroll(function () {
        $(this).scrollTop() &gt; offset ? $back_to_top.addClass("cd-is-visible") : $back_to_top.removeClass("cd-is-visible cd-fade-out");
        if ($(this).scrollTop() &gt; offset_opacity) {
            $back_to_top.addClass("cd-fade-out")
        }
    });
    $back_to_top.on("click", function (event) {
        event.preventDefault();
        $("body,html").animate({ scrollTop: 0 }, scroll_top_duration)
    });
    var modal_content = $(".modal-content");
    var common_dialog = $("#common-dialog");
    var content_html = modal_content.html();
    var reset_dialog_content = function () {
        $(".modal-content").html(content_html);
        jQuery("#common-dialog .modal-dialog").css("witdh", "")
    };
    common_dialog.on("hidden.bs.modal", function (e) {
        $(this).removeData("bs.modal");
        reset_dialog_content()
    });
    common_dialog.on("show.bs.modal", function (e) {
        var a = $(e.relatedTarget)[0];
        if (a) {
            a = $(a);
            remote = a.attr("data-remote");
            if (remote) { }
        }
    });
    reset_dialog_content();
    avshow.load_data_src();
    jQuery("#user-dropdown").click(function () {
        jQuery("#user-menu").sidebar("setting", "transition", "overlay").sidebar("toggle")
    });
    var navbar_height = jQuery(".navbar-fixed-top").height();
    jQuery("#user-menu").css("top", navbar_height + "px");
    $("img").one("error", function () {
        console.log("img error:", this)
    });
    $(".placeholder").bind("cssClassChanged", function () { });
    setTimeout(function () {
        avshow.do_source_analytics();
        avshow.do_affiliate_analytics()
    }, 1e3);
    var menu_container = jQuery(".menu-container .ui.dropdown");
    if (menu_container.length &gt; 0) {
        menu_container.dropdown({ transition: "drop" }).dropdown({ on: "hover" })
    }
    if (avshow.user.is_login() &amp;&amp; "LogRocket" in window) {
        LogRocket.identify(avshow.user.uid(), { subscriptionType: "pro" })
    }
    if (!avshow.ismobile()) {
        jQuery("body").addClass("desktop")
    }
    else {
        jQuery("body").addClass("mobile");
        if (avshow.is_mobile_fun.Android()) {
            jQuery("body").addClass("android")
        }
    }
    if ($g.update_preview) {
        $g.update_preview()
    }
});
$g.MOBILE_MENU = {
    data() {
        return {
            showing: false,
            show_menu: false,
            _lock_menu: false
        }
    },
    methods: {
        on_menu: function () {
            this._lock_menu = true;
            setTimeout(() =&gt; {
                this.show_menu = !this.show_menu;
                this._lock_menu = false
            }, 15)
        }
    },
    created: function () {
        document.onclick = e =&gt; {
            if (this._lock_menu) {
                return
            }
            var _con = $(".Menu");
            var _menu_btn = $(".Menu-Btn");
            console.log("_con:", _con, " _menu_btn:", _menu_btn);
            if (!_con.is(e.target) &amp;&amp; _con.has(e.target).length === 0) {
                if (this.show_menu) {
                    setTimeout(() =&gt; {
                        if (!this._lock_menu) {
                            this.show_menu = false
                        }
                    }, 30);
                    console.log("call show menu false:", e);
                    e.preventDefault();
                    return
                }
            }
        }
    }
};
if (window.jQuery) {
    $g.$ = jQuery
}
document.addEventListener("DOMContentLoaded", () =&gt; {
    console.log("call header last DOMContentLoaded");
    $g.update_lazy()
});
if (window.jQuery) {
    window.$ = jQuery;
    window.$$ = jQuery
}
$g.async_loaded = true;















</pre></body></html>