/*! ThunderX BY LUOCHENZHIMU */
/*! Last updated on 2018/12/16 */
/*! https://www.luochenzhimu.com */
/*! For license information please see LICENSES */
webpackJsonp([0, 1, 2, 3, 4], {
    "+3xp": function (t, e, i) {
        "use strict";
        var o = i("70Ex"), n = i("jrzI"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\XlMessage.vue", e.a = r.exports
    }, "+9BZ": function (t, e, i) {
        t.exports = i.p + "img/spr-emoji.9ac75cc.png"
    }, "+9gF": function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ".canvas-data{transform-origin:top left;position:absolute!important}", ""])
    }, "+yHD": function (t, e, i) {
        t.exports = i.p + "img/ani-per.15762a9.png"
    }, "/TYz": function (t, e, i) {
        "use strict";
        Object.defineProperty(e, "__esModule", {value: !0});
        var o = i("WyKy"), n = i("iA8U"), r = !1;
        var a = function (t) {
            r || (i("u3AQ"), i("8okU"), i("9N5Z"), i("WLbb"), i("P5iY"))
        }, s = i("VU/8")(o.a, n.a, !1, a, null, null);
    }, "/t4/": function (t, e, i) {
        t.exports = i.p + "img/spr-vip-icon-2x.5691a4a.png"
    }, "01Sk": function (t, e, i) {
        t.exports = i.p + "img/spr-header.6405a43.png"
    }, "0X07": function (t, e, i) {
        var o = i("i0bb");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("e93a999e", o, !1)
    }, "1BTD": function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ':root{--home-background-tab:hsla(0,0%,100%,.9);--home-color-tab:#1a1a1a;--home-color-tab-active:#1a1a1a;--home-arrow:#8ec5ee;--home-thumb:rgba(0,0,0,.2);--home-thumb-hover:rgba(0,0,0,.3)}body,html{width:100vw;overflow-x:hidden}body::-webkit-scrollbar{width:8px}body::-webkit-scrollbar-thumb{width:8px;background:var(--home-thumb);border-radius:4px}body::-webkit-scrollbar-thumb:hover{background:var(--home-thumb-hover)}.is-scroll{overflow-y:scroll;height:100vh}.xlx-home{min-width:596px}.xlx-home .td-tabs__title{justify-content:center;margin:30px 0 20px;border-bottom:0}.xlx-home .td-tabs__title .td-tabs__item{width:auto;margin:0 15px;color:var(--home-color-tab)}.xlx-home .td-tabs__title .td-tabs__item.is-active{color:var(--home-color-tab-active)}.xlx-home .td-tabs__title.is-fixed{position:fixed;top:0;left:0;z-index:99;width:100%;padding:5px 0;margin:0;background:var(--home-background-tab)}.xlx-home .chart-box{height:35vh;min-height:200px}.xlx-home .xlx-file-list .td-tree-node{width:calc(100vw - 310px)}.xlx-home .td-tabs__content{overflow:visible}.index-wrap{transition:.3s}.xlx-home__content{display:none;margin:0 50px}.xlx-promote{margin-top:20px}.xlx-home__operate{display:flex;justify-content:center;align-items:center;height:40px;cursor:pointer}.xlx-home__operate .xlx-home__operate-arrow{display:flex;position:relative;width:100px;height:2px}.xlx-home__operate .xlx-home__operate-arrow:after,.xlx-home__operate .xlx-home__operate-arrow:before{display:block;width:50px;height:2px;background-color:var(--home-arrow);content:"";transition:.2s}.xlx-home__operate .xlx-home__operate-arrow:before{transform-origin:right center}.xlx-home__operate .xlx-home__operate-arrow:after{transform-origin:left center}.xlx-home__operate:hover .xlx-home__operate-arrow:before{transform:rotate(-15deg)}.xlx-home__operate:hover .xlx-home__operate-arrow:after{transform:rotate(15deg)}.xlx-home-tool{position:fixed;right:0;bottom:20px}.xlx-home-tool .xlx-home-top{display:block;position:relative;width:30px;height:30px;border-radius:4px;background-color:var(--home-arrow);transition:.2s}.xlx-home-tool .xlx-home-top:after{position:absolute;top:12px;left:9px;width:10px;height:10px;border:2px solid #fff;border-bottom:0;border-right:0;transform:rotate(45deg);content:""}.xlx-home-tool .xlx-home-top:hover{filter:contrast(1.3) saturate(-1.2)}.xlx-home__content-hd{position:relative}.xlx-preview-large{position:absolute;top:0;left:0;right:0;bottom:0;z-index:10;display:none;background-color:#000;border-radius:5px;overflow:hidden}.xlx-preview-large.is-show{display:block}.xlx-preview-large.is-show .xlx-carousel-wp{transform:scale(1)}.xlx-carousel-wp{overflow:hidden}.xlx-carousel,.xlx-carousel-wp{position:relative;width:100%;height:100%}.xlx-carousel{display:flex;flex-wrap:nowrap;transition:.3s ease;transform:translateZ(0)}.xlx-carousel__item{display:flex;justify-content:center;align-items:center;flex-shrink:0;width:100%;height:100%;text-align:center}.xlx-carousel__item>img{max-width:100%;max-height:100%;object-fit:contain}.xlx-carousel-wp .xlx-preview-info{position:absolute;top:12px;left:14px;padding:0 10px;font-size:11px;color:#fff;line-height:20px;background-color:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.3)}.xlx-carousel-wp .xlx-preview-info>span:first-child{margin-right:10px}.xlx-carousel-wp .xlx-preview-close{position:absolute;top:0;right:0;z-index:1;width:27px;text-align:center;background-color:rgba(255,72,72,.7);transition:.2s}.xlx-carousel-wp .xlx-preview-close .xlx-icon-close{font-size:11px;color:#fff;line-height:27px}.xlx-carousel-wp .xlx-preview-close:hover{background-color:#ff4848}.xlx-carousel-wp .xlx-preview-close:active{background-color:rgba(255,72,72,.5)}.xlx-carousel-wp .xlx-carousel__next,.xlx-carousel-wp .xlx-carousel__prev{position:absolute;top:0;bottom:0;width:60px;opacity:.8}.xlx-carousel-wp .xlx-carousel__next:hover,.xlx-carousel-wp .xlx-carousel__prev:hover{opacity:1}.xlx-carousel-wp .xlx-carousel__next.is-disabled,.xlx-carousel-wp .xlx-carousel__prev.is-disabled{opacity:.3;cursor:default}.xlx-carousel-wp .xlx-carousel__next{right:0;background-image:linear-gradient(270deg,rgba(0,0,0,.5),transparent)}.xlx-carousel-wp .xlx-carousel__prev{left:0;background-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.xlx-carousel-wp .xlx-icon-next,.xlx-carousel-wp .xlx-icon-prev{position:absolute;top:50%;left:50%;font-size:26px;color:#fff;text-align:center;transform:translate(-50%,-50%)}.xlx-carousel-wp .xlx-carousel__play{position:absolute;top:50%;left:50%;width:50px;height:50px;text-align:center;background-color:rgba(0,0,0,.6);border:2px solid rgba(80,80,80,.6);border-radius:100%;transform:translate(-50%,-50%);box-sizing:border-box}.xlx-carousel-wp .xlx-carousel__play:hover{border-color:#fff}.xlx-carousel-wp .xlx-carousel__play .xlx-icon-play-solid{color:#fff;line-height:46px;text-align:center;margin-left:4px}.xlx-preview-small{position:absolute;bottom:0;right:20px;z-index:2;display:flex;align-items:center;height:40px;line-height:40px}.xlx-preview-small .xlx-button-eye{margin-right:10px;color:var(--color-primary)}.xlx-preview-small .xlx-button-eye:hover{color:var(--color-primary-hover)}.xlx-preview-small .xlx-preview__picture{position:relative;width:58px;height:34px;margin-top:-10px;background-color:var(--color-primary)}.xlx-preview-small .xlx-preview__picture>img{width:100%;height:100%;object-fit:cover}.xlx-preview-small .xlx-preview__picture .xlx-preview__picture-num{position:absolute;top:-5px;right:-3px;width:16px;font-size:10px;line-height:16px;color:#fff;text-align:center;background-color:#ff4848;border-radius:100%;overflow:hidden}.xlx-preview-small .xlx-preview__txt{display:none;padding:0 10px;margin-top:-2px;font-size:12px;color:#fff;line-height:20px;border-radius:2px;background:var(--color-primary)}.xlx-preview-small .xlx-preview__txt:hover{background-color:var(--color-primary-hover)}.xlx-preview-small.is-close .xlx-preview__picture{display:none}.xlx-preview-small.is-close .xlx-preview__txt{display:block}.xlx-preview-small.is-hide{display:none}', ""])
    }, "1JGg": function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ".chart-box{overflow:hidden;width:100%}", ""])
    }, "1Z8a": function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return t.visible ? i("div", {staticClass: "pop-opt"}, [i("p", {staticClass: "txt-del"}, [i("span", {staticClass: "ico-s-note"}), t._t("default")], 2), i("div", {staticClass: "pop-opt-btn"}, [i("a", {
                attrs: {href: "javascript:;"},
                on: {
                    click: function (e) {
                        t.handleClick("ok")
                    }
                }
            }, [t._v("确定")]), i("a", {
                attrs: {href: "javascript:;"}, on: {
                    click: function (e) {
                        t.handleClick("cancel")
                    }
                }
            }, [t._v("取消")])])]) : t._e()
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, "1wyJ": function (t, e, i) {
        t.exports = i.p + "img/spr-emoji-x2.758c511.png"
    }, "2SBF": function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ':root{--movie-title:#1a1a1a;--movie-text:#999;--movie-text-hover:#69f;--movie-background:#f7f7f7}.xlx-movie h2{font-size:16px;margin:30px 0 5px;color:var(--movie-title)}.xlx-movie__item{position:relative;display:flex;align-items:center;height:90px;padding:20px 0;border-bottom:solid 1px var(--comment-line)}.xlx-movie__item:hover{background:var(--movie-background)}.xlx-movie__image{position:relative;z-index:2;width:130px;height:100%;overflow:hidden}.xlx-movie__image img{width:100%;height:100%;object-fit:cover;border-radius:4px;transition:transform .3s}.xlx-movie__info{display:flex;flex-direction:column;justify-content:space-between;height:100%;margin-left:20px;width:calc(100% - 150px)}.xlx-movie__info h3{font-size:16px}.xlx-movie__info h3 a{color:var(--movie-title);transition:color .3s;-webkit-line-clamp:2;display:-webkit-box;word-break:break-all;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.xlx-movie__info h3 a:hover{color:var(--movie-text-hover)}.xlx-movie__from{display:flex;justify-content:space-between}.xlx-movie__from,.xlx-movie__from a{color:var(--movie-text)}.xlx-movie__from a:hover{color:var(--movie-text-hover)}.xlx-movie__user{width:calc(100% - 58px);display:flex;align-items:center}.xlx-movie__user-avatar{position:relative;z-index:2;width:20px;height:20px;margin-right:5px}.xlx-movie__user-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.xlx-movie__title{position:relative;z-index:2;display:inline-block;max-width:calc(100% - 65px);vertical-align:top;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.xlx-movie__view{display:flex;align-items:center;margin-right:10px}.xlx-movie__more{margin-top:20px;text-align:center}.xlx-movie__more a{position:relative;color:var(--movie-text-hover)}.xlx-movie__more a:after{display:inline-block;width:8px;height:8px;margin-left:5px;border-left:solid 1px var(--movie-text-hover);border-bottom:solid 1px var(--movie-text-hover);transform:rotate(-45deg);vertical-align:3px;content:""}.xlx-movie__link{position:absolute;top:0;right:0;bottom:0;left:0}', ""])
    }, "2fBE": function (t, e, i) {
        var o = i("kxFB");
        (t.exports = i("FZ+f")(!1)).push([t.i, ".nav{justify-content:center;display:flex;height:115px;align-items:center}.nav a{display:block;width:80px;text-align:center;color:#7f7f7f;font-size:14px;position:relative}.ico-nav{width:32px;height:32px;display:block;background:url(" + o(i("01Sk")) + ") 0 -999em no-repeat;margin:0 auto;background-size:100% auto}.ico-nav img{width:100%}.ico-movie{background-position:0 0}.ico-tv{background-position:-40px 0}.ico-game{background-position:-79px 0}.ico-show{background-position:-120px 0}.ico-vip{background-position:-160px 0}.ico-lx{background-position:-200px 0}.ico-sjxl{background-position:-240px 0}.ico-personal{width:30px;background:url(" + o(i("+yHD")) + ") no-repeat;animation:ani-home 3.1s steps(31) infinite}.ico-act{width:40px;overflow:hidden}.ico-act:after{display:block;width:1280px;height:100%;background:url(" + o(i("XbMm")) + ') no-repeat;background-size:1320px auto;content:"";pointer-events:none;animation:nav-act 3.5s both steps(31) infinite}a:hover .ico-act:after{animation:none;background-position:-1280px 0}@keyframes nav-act{0%{transform:translateZ(0)}70%,to{transform:translate3d(-1240px,0,0)}}.ico-feature{background-position:-400px 0}@keyframes ani-home{0%{background-position:0 0}to{background-position:-992px 0}}.ico-article{background-position:-360px 0}a:hover .ico-vip{background-position:-160px -30px}a:hover .ico-movie{background-position:0 -30px}a:hover .ico-tv{background-position:-40px -30px}a:hover .ico-game{background-position:-79px -30px}a:hover .ico-show{background-position:-120px -30px}a:hover .ico-lx{background-position:-200px -30px}a:hover .ico-sjxl{background-position:-240px -30px}.ico-home{background-position:-280px 0}a:hover .ico-home{background-position:-280px -30px}a:hover .ico-feature{background-position:-400px -30px}a:hover .ico-article{background-position:-360px -30px}.index-x .link-report-top{position:absolute;top:2px;right:-10px;width:60px;text-align:center;transform:rotate(45deg)}.link-report-top:hover .link-report-text1{background:#ff8080}.link-report-top:hover .link-report-text2{color:#ff8080}.link-report-text1{display:block;height:17px;line-height:17px;color:#fff;background:#ff4848;transition:.2s}.link-report-text2{color:#ff4848;transition:.2s}.tag-new{position:absolute;right:12px;top:-2px;z-index:8;width:21px;height:13px;background:url(' + o(i("2iyD")) + ") no-repeat;background-size:21px auto}", ""])
    }, "2iCf": function (t, e, i) {
        "use strict";
        var o = i("AV9n"), n = (i.n(o), i("BENk")), r = i("fh5k");
        e.a = {
            components: {MovieReviewItem: Object(r.a)(n.a)}, props: {
                reviewList: {
                    type: Array, default: function () {
                        return []
                    }
                },
                getReviewList: {type: Function, required: !0},
                setSelectArg: {type: Function, required: !0},
                category: {type: String, default: ""},
                taskId: {type: [String, Number], default: ""},
                taskName: {type: String, default: ""},
                size: {type: Number, default: 8}
            }, data: function () {
                return {loading: !1, isError: !1}
            }, watch: {
                taskId: {
                    immdiate: !0, handler: function () {
                        this.fetch(!0)
                    }
                }
            }, created: function () {
                this.setSelectArg({sum: 0, pos: -1})
            }, methods: {
                fetch: function (t) {
                    return this.getReviewList({cursor: 0, size: this.size, category: this.category, refresh: t})
                }, loadmore: function () {
                    var t = this;
                    this.loading || (this.loading = !0, this.fetch().catch(function () {
                        t.isError = !0
                    }).finally(function () {
                        t.loading = !1
                    }))
                }
            }
        }
    }, "2iyD": function (t, e, i) {
        t.exports = i.p + "img/icon-new.51d7f0a.png"
    }, "2qTA": function (t, e, i) {
        "use strict";
        var o = i("fZjL"), n = i.n(o), r = i("bOdI"), a = i.n(r), s = i("woOf"), c = i.n(s), l = i("Dd8w"), p = i.n(l),
            d = i("Cb+C"), u = i("H2Fs"), x = i("/8Fg"), m = i("p6+B");
        e.a = {
            components: {XlTaskChart: u.a},
            props: {domReady: {type: Boolean, default: !1}, domReadyAsync: {type: Boolean, default: !1}},
            data: function () {
                return {lastTaskID: null, curTaskID: null, eventIdOnCurTaskChange: null, eventIdOnTaskInfoChange: null}
            },
            computed: {
                curTask: function () {
                    return this.$sget(this.$store.state.tasks.all, this.curTaskID)
                }, curUser: function () {
                    return this.$store.state.users.curUser
                }, pannel: function () {
                    return this.$store.state.pannel
                }, reportCommonData: function () {
                    return {
                        pannel: this.pannel,
                        gcid: this.curTask.gcid,
                        filename: this.curTask.name,
                        taskid: this.curTask.taskID
                    }
                }, skinInfo: function () {
                    return this.$sget(this.$store.state.skin, "skinInfo")
                }, speedCurveSkinInfo: function () {
                    return this.$sget(this.$store.state.skin, "speedCurveSkinInfo")
                }
            },
            created: function () {
                var t = this;
                Object(x.b)("GetCurTask").then(function (e) {
                    var i = JSON.parse(e);
                    t.lastTaskID = i.taskID, t.fetchCurTaskInfo(i.taskID, i.pannel)
                }), this.curTaskChangeHandler = function (e) {
                    var i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "{}", o = arguments[2];
                    t.lastTaskID = e, t.$raven.debug("OnCurTaskChange", e, i, o);
                    var n = JSON.parse(i).pannel;
                    t.fetchCurTaskInfo(e, n, o)
                }, this.attachEvent(), this.reportReady()
            },
            methods: {
                fetch: function (t) {
                    return this.$store.dispatch("tasks/getTaskInfo", {taskID: t})
                }, reportReady: function () {
                    return Object(x.b)("PageReady", "taskDetail")
                }, reportClick: function (t, e) {
                    this.$stat("download_detail", "dltab_detail_curve_click", p()({}, this.reportCommonData, {
                        position: t,
                        button: e,
                        id: this.$sget(this.speedCurveSkinInfo, "id"),
                        is_speed: this.$sget(this.speedCurveSkinInfo, "is_vip_try") ? 1 : 0,
                        is_login: 0 !== parseInt(this.$sget(this.curUser, "userId")) ? 1 : 0,
                        vip_type: Object(m.b)(this.$sget(this.curUser))
                    }))
                }, operate: function (t) {
                    var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "right";
                    return this.reportClick(e, t), Object(x.b)("OperateTask", this.curTaskID, t)
                }, attachEvent: function () {
                    var t = this;
                    d.a.api.attach("OnSwitchDetail", function (e, i) {
                        t.$emit("onSwitchDetail", {taskID: e, index: i})
                    }), this.eventIdOnCurTaskChange = d.a.api.attach("OnCurTaskChange", this.curTaskChangeHandler), this.eventIdOnCurTaskChange = d.a.api.attach("OnSubFileInfoChange", this.subFileInfoChangeHandler), this.eventIdOnTaskInfoChange = d.a.api.attach("OnTaskInfoChange", function (e, i) {
                        var o = void 0;
                        try {
                            o = JSON.parse(i)
                        } catch (t) {
                        }
                        t.$store.commit("tasks/set", {
                            taskID: e,
                            taskInfo: c()({}, o, t.getHistorySpeedInfo(o, "historySpeed", e, o.speed), t.getHistorySpeedInfo(o, "historyIncreaseSpeed", e, o.increaseSpeed))
                        })
                    })
                }, getHistorySpeedInfo: function (t, e, i, o) {
                    var n = this.$sget(this.$store.state.tasks.all, i, e);
                    if (t && !(100 === parseInt(t.progress) && "100" in n)) {
                        var r = c()({}, this.deleteOldSpeedData(n, t.progress), a()({}, t.progress, o));
                        return a()({}, e, r)
                    }
                }, deleteOldSpeedData: function (t, e) {
                    if (t) return n()(t).filter(function (t) {
                        return parseInt(t) < parseInt(e)
                    }).reduce(function (e, i) {
                        return e[i] = t[i], e
                    }, {})
                }, reportPageView: function () {
                    this.$stat("download_detail", "dltab_detail_page_show", p()({}, this.reportCommonData, {
                        id: this.$sget(this.speedCurveSkinInfo, "id"),
                        is_speed: this.$sget(this.speedCurveSkinInfo, "is_vip_try") ? 1 : 0,
                        is_login: 0 !== parseInt(this.$sget(this.curUser, "userId")) ? 1 : 0,
                        vip_type: Object(m.b)(this.$sget(this.curUser))
                    }))
                }, detachEvent: function () {
                    d.a.dettach("OnCurTaskChange", this.eventIdOnCurTaskChange), d.a.dettach("OnTaskInfoChange", this.eventIdOnTaskInfoChange)
                }, subFileInfoChangeHandler: function (t, e) {
                    if (this.$sget(this.curTask, "subFilesCount")) {
                        var i = [];
                        try {
                            i = JSON.parse(e)
                        } catch (t) {
                            this.$raven.debug(t)
                        }
                        this.$store.commit("tasks/setSubFiles", {taskId: t, subFiles: i})
                    }
                }, fetchCurTaskInfo: function (t, e, i) {
                    var o = this;
                    if (!t) return this.curTaskID = t, void this.$emit("curTaskChange", {taskID: t, index: i});
                    this.fetch(t).then(function () {
                        o.lastTaskID === t && (o.curTaskID = t, o.$emit("curTaskChange", {
                            taskID: t,
                            index: i
                        }), o.reportPageView())
                    }), this.$store.commit("setPannel", e)
                }
            }
        }
    }, "30md": function (t, e, i) {
        "use strict";
        var o = i("gKGV"), n = (i.n(o), i("Rhsk"));
        e.a = {
            props: {
                curUserId: {type: String, default: "0"},
                tid: {type: String, default: ""},
                speedRank: {
                    type: Object, default: function () {
                        return {}
                    }
                },
                getSpeedRank: {
                    type: Function, default: function () {
                    }
                },
                lastCommentTime: {type: Number, default: 0},
                taskId: {type: [Number, String], default: "0"},
                curTask: {
                    type: Object, default: function () {
                        return {}
                    }
                }
            }, data: function () {
                return {topLength: 3, entryPage: "", entryHead: ""}
            }, computed: {
                isInRank: function () {
                    var t = this;
                    return this.speedRank.CommentSpeedRanks && -1 !== this.speedRank.CommentSpeedRanks.findIndex(function (e) {
                        return t.curUserId === String(e.userId)
                    })
                }, rankLength: function () {
                    return this.$sget(this.speedRank.CommentSpeedRanks, "length") || 0
                }, avartar: function () {
                    return this.$sget(this.$store.state.users.all, this.curUserId, "portrait_url")
                }
            }, watch: {
                curUserId: {
                    handler: function () {
                        this.getSpeedRank(this.tid)
                    }
                }, tid: {
                    handler: function (t) {
                        t && this.getSpeedRank(t)
                    }, immediate: !0
                }, lastCommentTime: {
                    handler: function (t) {
                        t && this.getSpeedRank(this.tid)
                    }, immediate: !0
                }
            }, methods: {getUserLink: n.e}
        }
    }, "4+Xr": function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ".xlx-promote{position:relative}.xlx-promote-list{display:none}.xlx-promote-list.is-show{display:flex}", ""])
    }, "4nU2": function (t, e, i) {
        "use strict";
        var o = i("yxXY"), n = i("7udH"), r = i.n(n);
        e.a = o.a.connect({
            mapStateToProps: {
                curUserNick: function (t, e) {
                    return t.users.curUser.userNick
                }, curUserId: function (t, e) {
                    return t.users.curUser.userId
                }, curTask: function (t, e) {
                    return r()(t.tasks.all, t.tasks.curTaskID)
                }
            },
            mapDispatchToProps: {getComments: "comments/get", publishComments: "comments/publish"},
            mapCommitToProps: {setCurPage: "comments/setCurPage"}
        })
    }, "5HHq": function (t, e, i) {
        "use strict";
        var o = i("MQma"), n = i("g018"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\review\\XlRecommendReviewItem.vue", e.a = r.exports
    }, "5X0l": function (t, e, i) {
        t.exports = i.p + "img/defaulticon.1baa329.png"
    }, "5rP1": function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", [t.tid ? t.curPageComments.length ? [i("ul", t._l(t.curPageComments, function (e) {
                return e ? i("xl-comment-item", {
                    key: (e.type || "new") + "|" + e.cid,
                    attrs: {
                        type: e.type,
                        comment: e,
                        "entry-page": t.entryPage,
                        "entry-head": t.entryHead,
                        "entry-name": t.entryName,
                        "resource-user": t.resourceUser,
                        "time-format": t.timeFormat,
                        tid: t.tid,
                        "max-length": t.maxLength,
                        "comment-length": t.comments.length,
                        "show-reply": t.showReply,
                        "remove-comment-callback": function () {
                            return t.$emit("removeComment")
                        }
                    },
                    on: {
                        "update:showReply": function (e) {
                            t.showReply = e
                        }, finish: function (e) {
                            t.$emit("finish")
                        }, click: function (e, i) {
                            t.$emit("click", e, i)
                        }, delete: function (e) {
                            t.$emit("delete", arguments[0])
                        }, clickReply: function (e) {
                            t.$emit("clickReply", arguments[0])
                        }, clickHeadVip: function (e) {
                            t.$emit("clickHeadVip")
                        }, nameClick: function (e) {
                            t.$emit("nameClick", arguments[0])
                        }, headClick: function (e) {
                            t.$emit("headClick", arguments[0])
                        }, likecomment: function (e) {
                            t.$emit("likecomment", arguments[0])
                        }, keyupctrlentry: function (e) {
                            t.$emit("keyupctrlentry", arguments[0])
                        }, sendReply: function (e) {
                            t.$emit("sendReply", arguments[0])
                        }
                    }
                }) : t._e()
            })), i("td-pagination", {
                attrs: {total: t.totalPage, "before-change": t.fetchCommentsByPage},
                on: {
                    "prev-click": function (e) {
                        t.$emit("click", "last")
                    }, "next-click": function (e) {
                        t.$emit("click", "next")
                    }
                },
                model: {
                    value: t.page, callback: function (e) {
                        t.page = e
                    }, expression: "page"
                }
            })] : i("div", [t._t("default")], 2) : [t._t("default")]], 2)
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, "66N0": function (t, e, i) {
        "use strict";
        var o = i("Xxa5"), n = i.n(o), r = i("exGp"), a = i.n(r), s = i("Jbmy"), c = i("h3mt"), l = i("y1vT");
        e.a = {
            components: {XlCommentItem: s.a, XlLoading: c.a},
            props: {
                tid: {type: String, required: !0},
                curTask: {type: Object, default: null},
                comments: {
                    type: Array, default: function () {
                        return []
                    }
                },
                rcount: {type: Number, default: 0},
                userId: {type: [Number, String], default: "0"},
                timeFormat: {type: String, default: "getPubTime"},
                maxLength: {type: Number, default: 100},
                showReport: {type: Boolean, default: !0},
                entryPage: {type: String, default: ""},
                entryHead: {type: String, default: ""},
                entryName: {type: String, default: ""},
                resourceUser: {type: [String, Number], default: "0"},
                getComments: {
                    type: Function, default: function () {
                    }
                },
                pageSize: {type: Number, default: 10},
                taskId: {type: [Number, String], default: "0"},
                pageIndex: {type: Number, default: 0}
            },
            data: function () {
                return {page: 1, showReply: 0, hotCount: 0, loading: !1, debouncedFetch: null}
            },
            computed: {
                curPageComments: function () {
                    return this.getCommentsByPage(this.page)
                }, totalPage: function () {
                    return Math.ceil((this.rcount + this.hotCount) / this.pageSize)
                }
            },
            watch: {
                pageIndex: function () {
                    var t = a()(n.a.mark(function t(e) {
                        return n.a.wrap(function (t) {
                            for (; ;) switch (t.prev = t.next) {
                                case 0:
                                    return t.next = 2, this.fetchCommentsByPage(e);
                                case 2:
                                    this.page = e, 1 === e && this.showFirstCommentItem();
                                case 4:
                                case"end":
                                    return t.stop()
                            }
                        }, t, this)
                    }));
                    return function (e) {
                        return t.apply(this, arguments)
                    }
                }(), page: function (t) {
                    this.$emit("updatePage", t)
                }, rcount: {
                    immediate: !0, handler: function (t) {
                        this.$emit("rcountchange", t)
                    }
                }, tid: {
                    handler: function (t, e) {
                        var i = this;
                        this.$raven.debug("tid change", arguments), t && t !== e && this.$nextTick(function () {
                            i.debouncedFetch()
                        })
                    }, immediate: !0
                }, userId: {
                    handler: function (t, e) {
                        this.$raven.debug("userId watcher", arguments), t !== e && (this.$raven.debug("userId watcher diff", arguments), this.debouncedFetch())
                    }
                }
            },
            created: function () {
                var t = this, e = arguments;
                this.debouncedFetch = l(function () {
                    t.$raven.debug("debouncedFetch", e), t.page = 1, t.fetchCommentsByPage(t.page, !0)
                }, 100)
            },
            mounted: function () {
                this.page = this.pageIndex
            },
            methods: {
                fetchHotComments: function (t) {
                    var e = this;
                    return this.$raven.debug("fetchHotComments"), this.getComments({
                        tid: this.tid,
                        sourceId: this.tid,
                        lastId: 0,
                        category: "hot",
                        pageSize: 2,
                        userId: this.userId,
                        refresh: t
                    }).then(function (t) {
                        e.hotCount = t.length
                    })
                }, fetchNewComments: function (t, e, i) {
                    return this.$raven.debug("fetchNewComments"), this.getComments({
                        tid: this.tid,
                        sourceId: this.tid,
                        lastId: e,
                        pageSize: t,
                        category: "new",
                        userId: this.userId,
                        refresh: i
                    })
                }, fetchCommentsByPage: function () {
                    var t = a()(n.a.mark(function t(e, i) {
                        var o, r, a, s;
                        return n.a.wrap(function (t) {
                            for (; ;) switch (t.prev = t.next) {
                                case 0:
                                    o = void 0, t.prev = 1;
                                case 2:
                                    if ((r = i ? [] : this.getCommentsByPage(e)).length !== this.pageSize) {
                                        t.next = 6;
                                        break
                                    }
                                    return o = r, t.abrupt("break", 18);
                                case 6:
                                    if (e !== this.totalPage || !r.length) {
                                        t.next = 9;
                                        break
                                    }
                                    return o = r, t.abrupt("break", 18);
                                case 9:
                                    if (1 !== e) {
                                        t.next = 12;
                                        break
                                    }
                                    return t.next = 12, this.fetchHotComments(i);
                                case 12:
                                    return a = i ? this.pageSize - this.hotCount : this.pageSize - this.comments.length % this.pageSize, s = this.comments[this.comments.length - 1], t.next = 16, this.fetchNewComments(a, 1 === e ? 0 : this.$sget(s, "cid") || 0, i);
                                case 16:
                                    o = this.getCommentsByPage(e);
                                case 17:
                                    0;
                                case 18:
                                    t.next = 23;
                                    break;
                                case 20:
                                    t.prev = 20, t.t0 = t.catch(1), this.$raven.warn(t.t0);
                                case 23:
                                    return this.$emit("sendXlpasswordShow", o, this.userId), t.abrupt("return", o);
                                case 25:
                                case"end":
                                    return t.stop()
                            }
                        }, t, this, [[1, 20]])
                    }));
                    return function (e, i) {
                        return t.apply(this, arguments)
                    }
                }(), getCommentsByPage: function (t) {
                    return !0 === this.$sget(this.curTask, "isFromVest") ? [] : this.comments.slice(this.pageSize * (t - 1), this.pageSize * t)
                }, showFirstCommentItem: function () {
                    this.$nextTick(function () {
                        var t = document.querySelector(".xlx-comment-list__item:not(.is-hot)");
                        t && t.scrollIntoView(!1)
                    })
                }
            }
        }
    }, "6Iwv": function (t, e, i) {
        "use strict";
        var o = i("//Fk"), n = i.n(o), r = i("Rhsk");
        e.a = {
            data: function () {
                return {comment: "", focus: !1, isSending: !1, keyBoardTimer: 0}
            }, computed: {
                avartar: function () {
                    return this.$sget(this.$store.state.users.all, this.curUser.userId, "portrait_url")
                }, curUser: function () {
                    return this.$store.state.users.curUser
                }, isLogin: function () {
                    return "0" !== this.curUser.userId
                }
            }, methods: {
                getUserLink: r.e, handleAvatarClick: function () {
                    this.isLogin || this.login(), this.$emit("headClick")
                }, login: function () {
                    return new n.a(function (t, e) {
                        Object(r.j)(function (e, i) {
                            t(!e)
                        })
                    })
                }
            }
        }
    }, "6Lzo": function (t, e, i) {
        "use strict";
        var o = i("d7EF"), n = i.n(o), r = i("fZjL"), a = i.n(r), s = i("gRE1"), c = i.n(s), l = i("u2KI"), p = i.n(l),
            d = i("fs20");
        e.a = {
            props: {
                options: {
                    type: Array, default: function () {
                        return []
                    }
                },
                step: {default: 1, type: Number},
                paddingTopPercent: {default: 0, type: Number},
                paddingBottomPercent: {default: 0, type: Number},
                type: {default: "bSpline", type: String},
                scale: {default: Math.max(window.devicePixelRatio, 2), type: Number},
                domReady: {default: !1, type: Boolean}
            }, data: function () {
                return {
                    width: 0, height: 0, drawFn: function () {
                    }
                }
            }, computed: {
                filteredData: function () {
                    return p()(this.filterData(this.options))
                }, maxValue: function () {
                    var t = Array.prototype.concat.apply([], this.filteredData.map(function (t) {
                        return c()(t)
                    }));
                    return this.getMaxValue(t)
                }, transformedData: function () {
                    var t = this;
                    return p()(this.filteredData.map(function (e) {
                        return t.transformData(e)
                    }))
                }, labels: function () {
                    var t = this;
                    return p()(this.transformedData.map(function (e, i) {
                        if (t.options[i].label && e.length) {
                            var o = e[e.length - 1];
                            return {x: o.x / t.scale, y: o.y / t.scale, value: o.yValue}
                        }
                        return null
                    }))
                }
            }, watch: {
                options: {
                    immediate: !0, handler: function () {
                        var t = this;
                        if (this.clearCanvas(), this.$raven.debug("domReady", this.domReady), this.domReady) this.$nextTick(function () {
                            return t.draw()
                        }); else var e = this.$watch("domReady", function (i) {
                            i && (t.$nextTick(function () {
                                return t.draw()
                            }), e())
                        })
                    }
                }
            }, mounted: function () {
                var t = this;
                this.draw(), this.drawFn = function () {
                    t.draw(), t.draw()
                }, window.addEventListener("resize", this.drawFn)
            }, beforeDestroy: function () {
                window.removeEventListener("resize", this.drawFn)
            }, methods: {
                draw: function () {
                    var t = this, e = this.$refs.dataChart;
                    if (this.width = parseInt(this.$refs.canvasBox.clientWidth) * this.scale, this.height = parseInt(this.$refs.canvasBox.clientHeight - 20) * this.scale, e.setAttribute("width", this.width), e.setAttribute("height", this.height), e.getContext) {
                        var i = e.getContext("2d");
                        this.options.forEach(function (e, o) {
                            var n = void 0, r = t.transformedData[o];
                            switch (t.type) {
                                case"line":
                                    n = t.lineRender(r);
                                    break;
                                case"bSpline":
                                    n = t.bSplineRender(r);
                                    break;
                                default:
                                    n = t.bSplineRender(r)
                            }
                            e.lineColorStart && e.lineColorEnd && t.drawLine(i, r, e.lineColorStart, e.lineColorEnd, e.lineWidth || 1, n), e.gradientColorStart && e.gradientColorEnd && t.drawGradient(i, r, e.gradientColorStart, e.gradientColorEnd, n)
                        })
                    }
                }, filterData: function (t) {
                    var e = this;
                    return t.map(function (t) {
                        var i = {};
                        return a()(t.data).forEach(function (o, n, r) {
                            o % e.step != 0 && o !== r.length || (i[o] = t.data[o])
                        }), i
                    })
                }, transformData: function () {
                    var t = this, e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                    return a()(e).map(function (t) {
                        return parseInt(t)
                    }).sort(function (t, e) {
                        return t - e
                    }).map(function (i) {
                        return {
                            xValue: i,
                            yValue: parseInt(e[i]),
                            x: t.width * i / 100,
                            y: t.height * t.paddingTopPercent / 100 + t.height * (100 - t.paddingTopPercent - t.paddingBottomPercent) / 100 * (1 - parseInt(e[i]) / (t.maxValue || 1))
                        }
                    })
                }, getMaxValue: function () {
                    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];
                    return (t = t.map(function (t) {
                        return parseInt(t)
                    }).sort(function (t, e) {
                        return t - e
                    }))[t.length - 1]
                }, drawLine: function (t, e, i, o, n, r) {
                    if (e.length) {
                        t.lineWidth = n * this.scale, t.beginPath(), t.moveTo(e[0].x, e[0].y), this.renderPath(t, r);
                        var a = t.createLinearGradient(0, 0, e[e.length - 1].x, 0);
                        a.addColorStop(0, i), a.addColorStop(1, o), t.strokeStyle = a, t.stroke()
                    }
                }, drawGradient: function (t, e, i, o, n) {
                    if (e.length) {
                        t.beginPath(), t.moveTo(e[0].x, e[0].y), this.renderPath(t, n);
                        var r = e.length - 1;
                        t.lineTo(e[r].x, this.height), t.lineTo(e[0].x, this.height), t.lineTo(e[0].x, e[0].y);
                        var a = t.createLinearGradient(0, 0, 0, this.height);
                        a.addColorStop(0, i), a.addColorStop(1, o), t.fillStyle = a, t.closePath(), t.fill()
                    }
                }, lineRender: function (t) {
                    return t
                }, bSplineRender: function (t) {
                    return new d.a({degree: 3, points: t, tessellation: this.width}).curvePoints.map(function (t) {
                        var e = n()(t, 2);
                        return {x: e[0], y: e[1]}
                    })
                }, renderPath: function (t, e) {
                    for (var i = 0; i < e.length; i++) 0 === i ? t.moveTo(e[i].x, e[i].y) : t.lineTo(e[i].x, e[i].y)
                }, clearCanvas: function () {
                    var t = this.$refs.dataChart;
                    t && t.getContext && t.getContext("2d").clearRect(0, 0, this.width, this.height)
                }
            }
        }
    }, "6ceG": function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ".xlx-home__content{display:block}", ""])
    }, "7+sN": function (t, e, i) {
        var o = i("kxFB");
        (t.exports = i("FZ+f")(!1)).push([t.i, ".xlx-face-emoji ul{display:flex;flex-wrap:wrap;height:140px;overflow-y:auto;margin:0 auto}.xlx-face-emoji ul::-webkit-scrollbar{width:4px}.xlx-face-emoji ul::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.xlx-face-emoji ul li{cursor:pointer;width:24px;height:24px;padding:2px}.xlx-face-emoji ul li:hover{background-color:#ececec}.face-icon-emoji{vertical-align:-6px}.face-icon-emoji,.ico-face{width:24px;height:24px;background:url(" + o(i("+9BZ")) + ") -999em no-repeat;display:inline-block;background-image:-webkit-image-set(url(" + o(i("+9BZ")) + ") 1x,url(" + o(i("1wyJ")) + ") 2x)}.emoji-1F604{background-position:-72px -72px}.emoji-1F60A{background-position:-120px -72px}.emoji-1F603{background-position:-168px -72px}.emoji-263A{background-position:-216px -72px}.emoji-1F609{background-position:-264px -72px}.emoji-1F60D{background-position:-312px -72px}.emoji-1F618{background-position:-360px -72px}.emoji-1F61A{background-position:-408px -72px}.emoji-1F633{background-position:-456px -72px}.emoji-1F60C{background-position:-504px -72px}.emoji-1F601{background-position:-72px -120px}.emoji-1F61C{background-position:-120px -120px}.emoji-1F61D{background-position:-168px -120px}.emoji-1F612{background-position:-216px -120px}.emoji-1F60F{background-position:-264px -120px}.emoji-1F613{background-position:-312px -120px}.emoji-1F614{background-position:-360px -120px}.emoji-1F61E{background-position:-408px -120px}.emoji-1F616{background-position:-456px -120px}.emoji-1F622{background-position:-504px -120px}.emoji-1F630{background-position:-72px -168px}.emoji-1F628{background-position:-120px -168px}.emoji-1F623{background-position:-168px -168px}.emoji-1F625{background-position:-216px -168px}.emoji-1F62D{background-position:-264px -168px}.emoji-1F602{background-position:-312px -168px}.emoji-1F632{background-position:-360px -168px}.emoji-1F631{background-position:-408px -168px}.emoji-1F620{background-position:-456px -168px}.emoji-1F621{background-position:-504px -168px}.emoji-1F62A{background-position:-72px -216px}.emoji-1F637{background-position:-120px -216px}.emoji-ue11a{background-position:-168px -216px}.emoji-ue541{background-position:-72px -264px}.emoji-ue738{background-position:-120px -264px}.emoji-ue332{background-position:-168px -264px}.emoji-ue333{background-position:-216px -264px}.emoji-ue30f{background-position:-264px -264px}.emoji-jinggao{background-position:-312px -264px}.emoji-ue252{background-position:-360px -264px}.emoji-hongdeng{background-position:-408px -264px}.emoji-landeng{background-position:-456px -264px}.emoji-ue432{background-position:-504px -264px}.emoji-jgz{background-position:-72px -312px}.emoji-ppx{background-position:-120px -312px}.emoji-lsj{background-position:-168px -312px}.emoji-yyz{background-position:-216px -312px}.emoji-666{background-position:-264px -312px}.emoji-ok{background-position:-312px -312px}.emoji-muzhi{background-position:-360px -312px}.emoji-meitui{background-position:-408px -312px}.emoji-huanggua{background-position:-456px -312px}.emoji-gouyin{background-position:-504px -312px}", ""])
    }, "70Ex": function (t, e, i) {
        "use strict";
        e.a = {
            props: {
                config: {
                    type: Object, validator: function (t) {
                        return !t || ["success", "error", "warning"].includes(t.type) && t.content && t.delay
                    }, default: null
                }
            }, data: function () {
                return {show: !1, timer: 0}
            }, watch: {
                config: {
                    immediate: !0, handler: function (t) {
                        t && this.showMessage()
                    }
                }
            }, methods: {
                showMessage: function () {
                    var t = this;
                    clearTimeout(this.timer), this.show = !0, this.$emit("show"), this.timer = setTimeout(function () {
                        t.show = !1, t.$emit("hide")
                    }, this.config.delay)
                }
            }
        }
    }, "7Fmy": function (t, e, i) {
        var o = i("HvSN");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("e5b03e52", o, !1)
    }, "7Jn1": function (t, e, i) {
        "use strict";
        var o = i("QoKh"), n = i("garV"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\XlBadge.vue", e.a = r.exports
    }, "7Npb": function (t, e, i) {
        "use strict";
        var o = i("yxXY"), n = i("7udH"), r = i.n(n);
        e.a = o.a.connect({
            mapStateToProps: {
                reviewList: function (t, e) {
                    return r()(t.reviews, e.category, "list") || []
                }
            },
            mapDispatchToProps: {
                getReviewList: "reviews/getList",
                getDownloadRecommend: "reviews/getDownloadRecommend"
            },
            mapCommitToProps: {setSelectArg: "reviews/setSelectArg"}
        })
    }, "7S55": function (t, e, i) {
        var o = i("+9gF");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("009b617f", o, !1)
    }, "8Re5": function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, "8SKo": function (t, e, i) {
        var o = i("1BTD");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("1c5f6eba", o, !1)
    }, "8Xly": function (t, e, i) {
        t.exports = i.p + "fonts/xlx-icon.0ecf657.woff"
    }, "8okU": function (t, e, i) {
        var o = i("zODv");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("3fa9a3e9", o, !1)
    }, "9EvK": function (t, e, i) {
        "use strict";
        e.a = {
            props: {
                downloadSize: {type: Number, default: 0},
                fileSize: {type: [Number, String], default: 0},
                label: {type: String, default: ""},
                description: {type: String, default: ""}
            }
        }
    }, "9N5Z": function (t, e, i) {
        var o = i("XcHK");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("0f089c4a", o, !1)
    }, "9ry8": function (t, e, i) {
        "use strict";

        function o(t) {
            var e = [];
            for (var i in t) t.hasOwnProperty(i) && e.push(encodeURIComponent(i) + "=" + encodeURIComponent(t[i]));
            return t ? "?" + e.join("&") : ""
        }

        function n(t) {
            try {
                return null == document.cookie.match(new RegExp("(^" + t + "| " + t + ")=([^;]*)")) ? "" : RegExp.$2
            } catch (t) {
                throw new Error(t)
            }
        }

        function r(t, e, i) {
            t.addEventListener ? t.addEventListener(e, i) : t.attachEvent("on" + e, function (e) {
                i.call(t, e)
            })
        }

        i.d(e, "a", function () {
            return c
        });
        var a = {
            getModulesConfig: function () {
                return function () {
                    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                    t.type = (t.type || "GET").toUpperCase(), t.dataType = t.dataType || "json";
                    var e = o(t.data), i = new window.XMLHttpRequest;
                    return new Promise(function (o, n) {
                        i.onreadystatechange = function () {
                            var e = i.status;
                            if (4 === i.readyState) return e >= 200 && e < 300 ? (t.success && t.success(i.responseText), o(JSON.parse(i.responseText))) : (t.fail && t.fail(e), n(e))
                        }, "GET" === t.type ? (i.open("GET", t.url + e, !0), i.send(null)) : "POST" === t.type && (i.open("POST", t.url, !0), i.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"), i.send(e))
                    })
                }({url: "http://static-xl9-ssl.xunlei.com/json/modules.json", type: "get", dataType: "json"})
            }, isAuth: function () {
                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, e = {};
                t.userid && (e = {
                    "auth.deviceid": t.deviceid,
                    "auth.sessionid": t.sessionid || n("sessionid"),
                    "auth.userid": t.userid || n("userid"),
                    "auth.usernewno": t.usernewno || n("usernewno"),
                    "auth.usrname": t.username || n("usrname"),
                    "auth.usernick": t.usernick || n("usernick"),
                    "auth.appid": t.appid || "165",
                    authType: "phone",
                    "auth.clientVersion": t.clientVersion || n("XL_CLIENT_VERION")
                });
                var i = {authType: "phone", "auth.deviceid": n("deviceid") || window.localStorage.getItem("deviceid")};
                return function () {
                    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                    return new Promise(function (e, i) {
                        if (t.callback = t.callback || "callback", !t.url) return i(new Error("url is necessary"));
                        var n = "jsonp" + (new Date).getTime(), r = document.getElementsByTagName("head")[0];
                        t.data[t.callback] = n;
                        var a = o(t.data), s = document.createElement("script");
                        r.appendChild(s), s.onerror = function (t) {
                            return r.removeChild(s), delete window[n], i(new Error("创建script标签失败"))
                        }, window[n] = function (i) {
                            return r.removeChild(s), t.time && clearTimeout(s.timer), delete window[n], t.success && t.success(i), e(i)
                        }, s.src = t.url + a, t.time && (s.timer = setTimeout(function () {
                            delete window[n], i(new Error("timeout"))
                        }, t.time))
                    })
                }({
                    url: "https://xluser-ssl.xunlei.com/certification/v1/isauth",
                    dataType: "jsonp",
                    time: 5e3,
                    data: e = Object.assign({}, i, e)
                })
            }
        }, s = 1;

        function c(t) {
            var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
                i = "https://pc.xunlei.com/auth";
            return t && (i += /\?/.test(i) ? "&entrypage=" + t : "?entrypage=" + t), new Promise(function (t, o) {
                (function () {
                    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                    return n("sessionid") || t.sessionid ? a.getModulesConfig().then(function (e) {
                        return !!e.real_name.enable && a.isAuth(t)
                    }).then(function (t) {
                        if ("boolean" == typeof t) return !1;
                        if ("ISAUTH" === t.result || "NOAUTH" === t.result) return "NOAUTH" === t.result;
                        throw new Error(JSON.stringify(t))
                    }) : Promise.reject(new Error("not login"))
                })(e).then(function (n) {
                    if (!n) return t();
                    !function (t, e) {
                        var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                        if ("function" == typeof t) try {
                            var o = document.createElement("iframe");
                            o.src = e || "https://pc.xunlei.com/auth", o.setAttribute("id", "authIframe"), o.setAttribute("frameborder", 0), o.style.cssText = "position: fixed; top: 0; left: 0; width: 100%; height: 100%; border: 0; z-index:999;", document.body.appendChild(o), r(o, "load", function (t) {
                                o.contentWindow.postMessage(JSON.stringify(i), "https://pc.xunlei.com")
                            }), r(window, "message", function (e) {
                                try {
                                    var i = JSON.parse(e.data);
                                    "auth" === i.from && "close" === i.event && (o.style.display = "none", t(null, i.code))
                                } catch (t) {
                                }
                            })
                        } catch (e) {
                            t(e)
                        }
                    }(function (e, i) {
                        if (e) return o(new Error("version too low"));
                        i === s ? t() : o(new Error("auth error"))
                    }, i, e)
                }).catch(o)
            })
        }
    }, ADv3: function (t, e, i) {
        "use strict";
        var o = i("fZjL"), n = i.n(o), r = i("mvHQ"), a = i.n(r), s = i("gRE1"), c = i.n(s), l = i("L0TC"),
            p = (i.n(l), function (t, e) {
                return t < e ? -1 : t === e ? 0 : 1
            });
        e.a = {
            props: {
                curTask: {type: Object, default: null}, subFiles: {
                    type: Object, default: function () {
                    }
                }, operate: {
                    type: Function, default: function () {
                    }
                }
            }, data: function () {
                var t = this;
                return {
                    defaultCheckedKeys: [],
                    defaultExpandedKeys: [],
                    originCheckedKeys: [],
                    checkedKeys: [],
                    expandedKeys: [],
                    disabledKeys: [],
                    editingSelected: !1,
                    tree: [],
                    branchMap: {},
                    leafMap: {},
                    loading: !1,
                    selectedFileIndex: "",
                    footNeedFixed: !1,
                    guardDomObserver: null,
                    footDomObserver: null,
                    columns: [{
                        label: "文件名称", prop: "name", sortable: !0, sorter: function (t, e) {
                            return p(t.data.fileName, e.data.fileName)
                        }
                    }, {
                        label: "大小", prop: "fileSize", width: 100, sortable: !0, sorter: function (t, e) {
                            return p(t.data.fileSize, e.data.fileSize)
                        }
                    }, {
                        label: "状态", prop: "progress", width: 100, sortable: !0, sorter: function (e, i) {
                            return p(t.getProgress(e), t.getProgress(i))
                        }
                    }]
                }
            }, computed: {
                checkedKeysCache: function () {
                    return this.checkedKeys.reduce(function (t, e) {
                        return t[e] = !0, t
                    }, {})
                }, pannel: function () {
                    return this.$store.state.pannel
                }
            }, watch: {
                subFiles: [{
                    immediate: !0, handler: function (t) {
                        this.parseFileList(t || {})
                    }
                }, {
                    deep: !0, handler: function () {
                        this.updateTree(this.checkedKeys)
                    }
                }], "curTask.taskID": {
                    immediate: !0, handler: function (t) {
                        t && (this.editingExpanded = !1)
                    }
                }
            }, created: function () {
                this.$store.dispatch("tasks/getTaskInfo", {taskID: this.curTask.taskID})
            }, mounted: function () {
                this.footDomObserver = new IntersectionObserver(this.handleFootVisibilityChange, {threshold: [0]}), this.guardDomObserver = new IntersectionObserver(this.handleGuardVisibilityChange, {threshold: [1]}), this.footDomObserver.observe(this.$refs.foot.$el), this.guardDomObserver.observe(this.$refs.guard)
            }, beforeDestroy: function () {
                null !== this.footDomObserver && (this.footDomObserver.disconnect(), this.footDomObserver = null), null !== this.guardDomObserver && (this.guardDomObserver.disconnect(), this.guardDomObserver = null)
            }, methods: {
                parseFileList: function (t) {
                    var e = this, i = {};
                    this.branchMap = {}, this.leafMap = {}, this.setBranch("", ""), c()(t).forEach(function (t) {
                        var o = t.filePath;
                        if (!i[o]) {
                            i[o] = !0;
                            var n = "";
                            o.split("\\").forEach(function (t) {
                                "" !== t && (e.setBranch(n, t), n = n ? n + "\\" + t : t)
                            })
                        }
                        e.setLeaf(o.slice(0, -1), t)
                    }), this.updateTree(), this.tree = this.branchMap[""].children
                }, setBranch: function (t, e) {
                    var i = this.branchMap[t], o = t ? t + "\\" + e : e, n = this.branchMap[o];
                    return n || (n = this.branchMap[o] = {
                        type: "branch",
                        name: e,
                        children: [],
                        key: o,
                        parent: i,
                        data: {fileName: e}
                    }, i && i.children.push(n)), n
                }, getProgress: function (t) {
                    return "branch" === t.type ? t.data.downloadSize / t.data.fileSize : this.subFiles[t.data.index].downloadSize / this.subFiles[t.data.index].fileSize
                }, getFileInfo: function (t, e) {
                    return "branch" === t.type ? this.branchMap[t.key][e] : this.$sget(this.subFiles, e)
                }, setLeaf: function (t, e) {
                    var i = t ? t + "\\" + e.fileName : e.fileName, o = this.branchMap[t], n = this.leafMap[i];
                    return n || (n = this.leafMap[i] = {
                        type: "leaf",
                        fullPath: i,
                        name: e.fileName,
                        key: i,
                        parent: o,
                        data: e
                    }, o.children.push(n)), n
                }, onCheckedChange: function (t) {
                    var e = this;
                    this.$raven.debug("onCheckedChange", t);
                    var i = t.filter(function (t) {
                        return t in e.leafMap
                    }).map(function (t) {
                        return e.leafMap[t].data.index
                    });
                    this.$raven.debug("selectedLeaves", i), this.$raven.debug("this.originCheckedKeys", this.originCheckedKeys), i.length === this.originCheckedKeys.length && this.originCheckedKeys.every(function (t) {
                        return i.includes(e.$sget(e.leafMap[t], "data", "index"))
                    }) ? this.editingSelected = !1 : this.editingSelected = !0, this.$raven.debug("editingSelected", this.editingSelected), this.checkedKeys = t, this.caculateBranch()
                }, onExpandedChange: function (t) {
                    this.$raven.debug("onExpandedChange", t), this.editingExpanded = !0, this.expandedKeys = t
                }, caculateBranch: function () {
                    this.caculateBranchProp(this.branchMap[""], "fileSize"), this.caculateBranchProp(this.branchMap[""], "downloadSize")
                }, caculateBranchProp: function (t, e, i) {
                    var o = this;
                    return t.data[e] = t.children.reduce(function (t, n) {
                        return "branch" === n.type && o.caculateBranchProp(n, e, i), "function" == typeof i ? i(t, n) : t + ("branch" === n.type || o.checkedKeysCache[n.key] ? n.data[e] : 0)
                    }, 0), t[e]
                }, forEachBranch: function (t, e) {
                    var i = this;
                    "function" == typeof e && e(t), t.children.forEach(function (t) {
                        "branch" === t.type && i.forEachBranch(t, e)
                    })
                }, downloadSelected: function () {
                    var t = this;
                    if (this.editingSelected) {
                        this.loading = !0;
                        var e = this.checkedKeys.filter(function (e) {
                            return e in t.leafMap
                        }).map(function (e) {
                            return t.leafMap[e].data.index
                        }), i = e.join("");
                        this.selectedFileIndex !== i && (this.selectedFileIndex = i, this.operate("downloadSelectFiles", null, a()(e)).then(function () {
                            t.loading = !1, t.editingSelected = !1, t.updateTree(t.checkedKeys)
                        }), this.report("download"))
                    }
                }, getSuffix: function (t) {
                    var e = t.match(/\.([^.]+)$/i);
                    return e ? e[1].toLowerCase() : ""
                }, openFile: function (t) {
                    this.operate("open", null, t.data.index)
                }, report: function (t) {
                    this.$stat("download_detail", "dltab_detail_filelist_click", {
                        pannel: this.pannel,
                        taskid: this.curTask.taskID,
                        gcid: this.curTask.gcid,
                        filename: this.curTask.name,
                        button: t
                    })
                }, updateTree: function (t) {
                    var e = this;
                    this.disabledKeys = c()(this.leafMap).filter(function (t) {
                        return t.data.downloadSize && t.data.downloadSize === t.data.fileSize && t.data.isNeedDownload
                    }).map(function (t) {
                        return t.key
                    }), this.editingSelected ? this.defaultCheckedKeys = this.checkedKeys : this.checkedKeys = this.defaultCheckedKeys = this.originCheckedKeys = t || n()(this.leafMap).filter(function (t) {
                        return e.leafMap[t].data.isNeedDownload
                    }), this.editingExpanded ? this.defaultExpandedKeys = this.expandedKeys : this.expandedKeys = this.defaultExpandedKeys = [], this.caculateBranch()
                }, handleFootVisibilityChange: function (t) {
                    0 === t[0].intersectionRatio && (this.footNeedFixed = !0)
                }, handleGuardVisibilityChange: function (t) {
                    t[0].intersectionRatio >= 1 && (this.footNeedFixed = !1)
                }
            }
        }
    }, AJOv: function (t, e, i) {
        "use strict";
        var o = i("2iCf"), n = i("yEba"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\MovieReviewList.vue", e.a = r.exports
    }, AV9n: function (t, e, i) {
        var o = i("2SBF");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("39d81ab0", o, !1)
    }, AtIQ: function (t, e, i) {
        "use strict";
        var o = i("/5sW"), n = function (t) {
            o.default.config.silent || console.warn(t)
        };
        e.a = {
            name: "intersect", abstract: !0, props: {
                threshold: {
                    type: Array, required: !1, default: function () {
                        return [.2]
                    }
                }, root: {
                    type: HTMLElement, required: !1, default: function () {
                        return null
                    }
                }, rootMargin: {
                    type: String, required: !1, default: function () {
                        return "0px 0px 0px 0px"
                    }
                }
            }, created: function () {
                var t = this;
                this.observer = new IntersectionObserver(function (e) {
                    e[0].isIntersecting ? t.$emit("enter", [e[0]]) : t.$emit("leave", [e[0]]), t.$emit("change", [e[0]])
                }, {threshold: this.threshold, root: this.root, rootMargin: this.rootMargin})
            }, mounted: function () {
                var t = this;
                this.$nextTick(function () {
                    if (t.$slots.default && t.$slots.default.length > 1) n("[VueIntersect] You may only wrap one element in a <intersect> component."); else if (!t.$slots.default || t.$slots.default.length < 1) return void n("[VueIntersect] You must have one child inside a <intersect> component.");
                    t.observer.observe(t.$slots.default[0].elm)
                })
            }, destroyed: function () {
                this.observer.disconnect()
            }, render: function () {
                return this.$slots.default ? this.$slots.default[0] : null
            }
        }
    }, BENk: function (t, e, i) {
        "use strict";
        var o = i("jFOF"), n = i("c0Ma"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\review\\MovieReviewItem.vue", e.a = r.exports
    }, BQ5y: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("li", {
                staticClass: "xlx-comment-list__item",
                class: {"is-hot": "hot" === t.type}
            }, [i("a", {
                staticClass: "xlx-comment__image",
                attrs: {href: t.getUserLink(t.comment.uid, t.entryPage, t.entryHead), target: "_blank"},
                on: {
                    click: function (e) {
                        t.$emit("headClick", {cid: t.comment.cid})
                    }
                }
            }, [i("img", {
                directives: [{
                    name: "lazy",
                    rawName: "v-lazy",
                    value: t.user.portrait_url,
                    expression: "user.portrait_url"
                }], key: t.user.portrait_url, attrs: {alt: "头像"}
            })]), i("div", {staticClass: "xlx-comment-list__content"}, [i("div", {staticClass: "xlx-comment-list__header"}, [i("xl-vip", {
                attrs: {userid: t.comment.uid},
                nativeOn: {
                    click: function (e) {
                        t.$emit("clickHeadVip")
                    }
                },
                scopedSlots: t._u([{
                    key: "default", fn: function (e) {
                        return [i("a", {
                            staticClass: "xlx-comment-list__user-name",
                            class: {"is-vip": e.isVip},
                            attrs: {href: t.getUserLink(t.comment.uid, t.entryPage, t.entryName), target: "_blank"},
                            on: {
                                click: function (e) {
                                    t.$emit("nameClick", {cid: t.comment.cid})
                                }
                            }
                        }, [t._v("\n            " + t._s(t.$sget(t.user, "nick_name")) + "\n          ")])]
                    }
                }])
            }), t.speed > 1048576 ? i("span", {
                staticClass: "xlx-comment-list__speed",
                class: {"is-fast": t.speed > 4194304},
                attrs: {title: "平均速度"}
            }, [t._v("\n        " + t._s(t.comment.downLoadSpeed) + "\n      ")]) : t._e()], 1), i("div", {staticClass: "xlx-comment-list__body"}, [i("p", {
                staticClass: "xlx-comment-list__text",
                domProps: {innerHTML: t._s(t.replaceEmoji(t.comment.comment))},
                on: {click: t.triggerReply}
            }), t.comment.replys && t.comment.replys.length ? i("div", {staticClass: "xlx-comment-list__quote"}, [t.isReplyDeleted ? [i("span", {staticClass: "xlx-comment-list__quote-text"}, [t._v("评论已删除")])] : [i("i", {staticClass: "xlx-icon-quote"}), i("span", {staticClass: "xlx-comment-list__quote-name"}, [t._v(t._s(t.replyUser.nick_name || t.replyUser.user))]), i("span", [t._v("：")]), i("span", {
                staticClass: "xlx-comment-list__quote-text",
                domProps: {innerHTML: t._s(t.replaceEmoji(t.comment.replys[0].content))}
            })]], 2) : t._e()]), i("div", {staticClass: "xlx-comment-list__footer"}, [i("div", {staticClass: "xlx-comment-list__wrapper"}, [i("div", {staticClass: "xlx-comment-list__information"}, [i("span", {staticClass: "xlx-comment-list__time"}, [t._v(t._s(t.getTime(t.comment.time)))])]), i("div", {staticClass: "xlx-comment-list__operate"}, [String(t.comment.uid) === String(t.curUser.userId) ? i("a", {
                staticClass: "xlx-comment-list__delete",
                attrs: {href: "javascript:;", title: "删除"},
                on: {click: t.handleDeleteClick}
            }, [i("i", {staticClass: "xlx-icon-delete-comment"})]) : t._e(), t._e(), i("a", {
                staticClass: "xlx-comment-list__comment",
                class: t.showReply === t.comment.cid ? "is-active" : "",
                attrs: {href: "javascript:;", title: "评论"},
                on: {
                    click: function (e) {
                        t.clickReply(t.comment.cid)
                    }
                }
            }, [i("i", {staticClass: "xlx-icon-comment"})]), i("xl-praise", {
                staticClass: "xlx-comment-list__praise",
                attrs: {cid: t.comment.cid, id: t.tid, "praised-class": "is-active", "animation-class": "is-animation"},
                on: {
                    praise: function (e) {
                        t.$emit("likecomment", {cid: t.comment.cid})
                    }
                },
                scopedSlots: t._u([{
                    key: "default", fn: function (e) {
                        return [i("i", {staticClass: "xlx-icon-praise"}), i("span", {staticClass: "xlx-comment-list__num"}, [t._v("\n                " + t._s(e.praiseNum) + "\n              ")])]
                    }
                }])
            })], 1)]), i("XlCommentInput", {
                class: t.showReply === t.comment.cid ? "open" : "",
                attrs: {
                    show: t.showReply === t.comment.cid,
                    comment: t.comment,
                    "user-nick": t.$sget(t.getUser(t.comment.uid), "nick_name"),
                    tid: t.tid,
                    "max-length": t.maxLength,
                    focus: t.focus
                },
                on: {
                    keyupctrlentry: function (e) {
                        t.$emit("keyupctrlentry", arguments[0])
                    }, sendReply: function (e) {
                        t.sendReply(t.comment)
                    }, finish: function (e) {
                        t.$emit("update:showReply", 0), t.$emit("finish")
                    }, "update:focus": function (e) {
                        t.focus = e
                    }
                }
            })], 1)])])
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, Bbm6: function (t, e, i) {
        "use strict";
        var o = i("s5fs"), n = (i.n(o), i("5HHq")), r = i("fh5k");
        e.a = {
            components: {XlRecommendReviewItem: Object(r.a)(n.a)},
            props: {
                reviewList: {
                    type: Array, default: function () {
                        return []
                    }
                },
                getDownloadRecommend: {type: Function, required: !0},
                getReviewList: {type: Function, required: !0},
                setSelectArg: {type: Function, required: !0},
                category: {type: String, default: ""},
                taskId: {type: [String, Number], default: ""},
                taskName: {type: String, default: ""},
                size: {type: Number, default: 12},
                pageSize: {type: Number, default: 3}
            },
            data: function () {
                return {curPageIndex: 0, total: 0, reportTemp: [], seeCount: 0}
            },
            computed: {
                totalPage: function () {
                    return Math.ceil(this.total / this.pageSize)
                }
            },
            watch: {
                taskId: {
                    immdiate: !0, handler: function () {
                        var t = this;
                        this.fetch().then(function (e) {
                            t.total = e.length
                        })
                    }
                }
            },
            created: function () {
                switch (this.category) {
                    case"download":
                        break;
                    default:
                        this.setSelectArg({sum: 0, pos: -1})
                }
            },
            methods: {
                fetch: function () {
                    switch (this.category) {
                        case"download":
                            return this.fetchDownloadRecommend();
                        default:
                            return this.fetchReview()
                    }
                }, fetchDownloadRecommend: function () {
                    return this.getDownloadRecommend({size: this.size, taskName: this.taskName})
                }, fetchReview: function () {
                    return this.getReviewList({cursor: 0, size: this.size, category: this.category, refresh: !0})
                }, handleItemClick: function (t, e, i) {
                    this.$emit("recommendItemClick", {block: i, id: t, rn: e, num: this.seeCount})
                }, seeItem: function (t, e, i) {
                    var o = this;
                    this.reportTemp.push({itemInfo: t, block: e, id: i}), setTimeout(function () {
                        if (o.reportTemp.length) {
                            o.seeCount = o.reportTemp.length;
                            var t = o.reportTemp.reduce(function (t, e) {
                                return t.itemInfo = (t.itemInfo ? t.itemInfo + "|" : "") + e.itemInfo, t.block = t.block, t.id = (t.id ? t.id + "|" : "") + e.id, t.num = o.seeCount, t
                            }, {});
                            o.$emit("reportRecommendShow", t), o.reportTemp = []
                        }
                    }, 500)
                }
            }
        }
    }, BrXJ: function (t, e, i) {
        "use strict";
        var o = i("9EvK"), n = i("VzI3"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\task\\XlPropertyItem.vue", e.a = r.exports
    }, CcrQ: function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ".index-wrap{overflow:hidden}", ""])
    }, DUGm: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this.$createElement;
            return (this._self._c || t)("XlTaskChart", {
                attrs: {
                    "dom-ready": !this.domReadyAsync || this.domReady,
                    "cur-task": this.curTask,
                    operate: this.operate,
                    "skin-info": this.skinInfo,
                    "speed-curve-skin-info": this.speedCurveSkinInfo
                }, on: {sendDetailCurveClick: this.reportClick}
            })
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, EQpe: function (t, e, i) {
        "use strict";
        var o = i("N+Ay"), n = i("1Z8a"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\XlConfirm.vue", e.a = r.exports
    }, FKCV: function (t, e, i) {
        "use strict";
        var o = i("GWQg"), n = i("lfQx"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\XlHeader.vue", e.a = r.exports
    }, FjP8: function (t, e, i) {
        "use strict";
        Object.defineProperty(e, "__esModule", {value: !0});
        var o = i("Vn7R"), n = i("lOZi"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "pages\\comment.vue", e.default = r.exports
    }, FlE6: function (t, e, i) {
        var o = i("7+sN");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("7cd0ef52", o, !1)
    }, GAsr: function (t, e, i) {
        "use strict";
        var o = i("6Lzo"), n = i("Npk4"), r = !1;
        var a = function (t) {
            r || (i("ZpDn"), i("7S55"))
        }, s = i("VU/8")(o.a, n.a, !1, a, null, null);
        s.options.__file = "components\\TaskChart.vue", e.a = s.exports
    }, GWQg: function (t, e, i) {
        "use strict";
        var o = i("Xxa5"), n = i.n(o), r = i("exGp"), a = i.n(r), s = i("Gu7T"), c = i.n(s), l = i("eLLv"),
            p = i("OnMG");
        e.a = {
            components: {XlIcon: p.a}, data: function () {
                return {show: !1, defaultIcon: i("5X0l")}
            }, computed: {
                icons: function () {
                    var t = [].concat(c()(this.$store.state.home.navConfig));
                    return this.isBlock && t.forEach(function (e, i) {
                        "movie_home" === e.buttonId && "feature" === e.class && t.splice(i, 1)
                    }), t
                }, isBlock: function () {
                    return !("isBlock" in this.$store.state.home) || this.$store.state.home.isBlock
                }
            }, methods: {
                imgError: function (t) {
                    t.target.src = this.defaultIcon
                }, clickNav: function () {
                    var t = a()(n.a.mark(function t(e) {
                        var i, o;
                        return n.a.wrap(function (t) {
                            for (; ;) switch (t.prev = t.next) {
                                case 0:
                                    if (i = this.icons[e], o = i.shouldLogin, this.reportNavClick(e, i.buttonId), t.t0 = o, !t.t0) {
                                        t.next = 8;
                                        break
                                    }
                                    return t.next = 7, this.$account.isLogined();
                                case 7:
                                    t.t0 = !t.sent;
                                case 8:
                                    if (!t.t0) {
                                        t.next = 11;
                                        break
                                    }
                                    return t.next = 11, this.$account.login();
                                case 11:
                                    Object(l.a)(i.url, i.buttonId);
                                case 12:
                                case"end":
                                    return t.stop()
                            }
                        }, t, this)
                    }));
                    return function (e) {
                        return t.apply(this, arguments)
                    }
                }(), reportNavClick: function (t, e) {
                    this.$stat("download_detail", "dltab_startup_navigation_click", {buttonid: e, rn: t + 1})
                }, linkReport: function () {
                    var t = a()(n.a.mark(function t() {
                        return n.a.wrap(function (t) {
                            for (; ;) switch (t.prev = t.next) {
                                case 0:
                                    return t.next = 2, this.$account.isLogined();
                                case 2:
                                    if (t.sent) {
                                        t.next = 5;
                                        break
                                    }
                                    return t.next = 5, this.$account.login();
                                case 5:
                                    Object(l.a)("http://pc.xunlei.com/pages/#/report", "report");
                                case 6:
                                case"end":
                                    return t.stop()
                            }
                        }, t, this)
                    }));
                    return function () {
                        return t.apply(this, arguments)
                    }
                }()
            }
        }
    }, GzfO: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", {staticClass: "xlx-speed-list"}, [t._m(0), i("div", {staticClass: "xlx-speed-list__content"}, [t.speedRank.CommentSpeedRanks ? i("ul", [t._l(t.speedRank.CommentSpeedRanks, function (e, o) {
                return i("li", {
                    key: e.cid,
                    staticClass: "xlx-speed-list__item",
                    class: {
                        "is-first": o < t.topLength,
                        "is-myself": t.curUserId === String(e.userId),
                        "is-last": 9 === o && !t.isInRank
                    }
                }, [i("a", {
                    staticClass: "xlx-speed-list__image",
                    class: {"is-first": 0 === o, "is-second": 1 === o, "is-third": 2 === o},
                    attrs: {href: t.getUserLink(e.userId, t.entryPage, t.entryHead), target: "_blank"},
                    on: {
                        click: function (i) {
                            t.$emit("headClick", {cid: e.cid})
                        }
                    }
                }, [i("img", {
                    directives: [{
                        name: "lazy",
                        rawName: "v-lazy",
                        value: e.portrait,
                        expression: "rank.portrait"
                    }], key: e.portrait, attrs: {alt: "头像"}
                }), o < 3 ? i("span", {staticClass: "xlx-speed-list__rank"}, [i("i", {staticClass: "xlx-icon-crown"}), i("i", {staticClass: "xlx-speed-list__rank-num"}, [t._v(t._s(e.rankValue))])]) : t._e()]), i("p", {staticClass: "xlx-speed-list__user-name"}, [t._v("\n          " + t._s(t.curUserId === String(e.userId) ? "我" : e.nikeName) + "\n        ")]), i("div", {staticClass: "xlx-speed-list__infomation"}, [i("p", {staticClass: "xlx-speed-list__speed"}, [t._v("\n            " + t._s(e.speed) + "\n          ")])])])
            }), t.rankLength < t.topLength ? t._l(t.topLength - t.rankLength, function (e) {
                return i("li", {
                    key: e,
                    staticClass: "xlx-speed-list__item is-null"
                }, [i("a", {
                    staticClass: "xlx-speed-list__image",
                    class: {"is-first": 0 === e, "is-second": 1 === e, "is-third": 2 === e},
                    attrs: {target: "_blank"}
                }, [i("span", {staticClass: "xlx-speed-list__rank"}, [i("i", {staticClass: "xlx-icon-crown"}), i("i", {staticClass: "xlx-speed-list__rank-num"}, [t._v(t._s(t.rankLength + e))])])]), i("p", {staticClass: "xlx-speed-list__user-name"}, [t._v("\n            虚位以待\n          ")]), t._m(1, !0)])
            }) : t._e(), !t.isInRank && t.tid ? i("li", {
                staticClass: "xlx-speed-list__item",
                class: {"is-myself": t.speedRank.commented}
            }, [t.speedRank.commented && "0" !== t.curUserId && t.curUserId == String(t.$sget(t.speedRank.userSpeedRank, "userId")) ? [i("a", {staticClass: "xlx-speed-list__image"}, [i("img", {
                directives: [{
                    name: "lazy",
                    rawName: "v-lazy",
                    value: t.avartar,
                    expression: "avartar"
                }], key: t.avartar, attrs: {alt: "头像"}
            })]), i("p", {staticClass: "xlx-speed-list__user-name"}, [t._v("\n            我\n          ")]), i("p", {staticClass: "xlx-speed-list__text"}, [t._v("第" + t._s(t.$sget(t.speedRank.userSpeedRank, "rankValue")) + "名")]), i("div", {staticClass: "xlx-speed-list__infomation"}, [i("p", {staticClass: "xlx-speed-list__speed"}, [t._v("\n              " + t._s(t.$sget(t.speedRank.userSpeedRank, "speed")) + "\n            ")])])] : [i("a", {
                staticClass: "xlx-speed-list__image",
                attrs: {href: "javascript:;"},
                on: {
                    click: function (e) {
                        e.stopPropagation(), t.$emit("comment")
                    }
                }
            }, [i("img", {
                directives: [{name: "lazy", rawName: "v-lazy", value: t.avartar, expression: "avartar"}],
                key: t.avartar,
                attrs: {alt: "头像"}
            })]), i("a", {
                staticClass: "xlx-speed-list__link", attrs: {href: "javascript:;"}, on: {
                    click: function (e) {
                        e.stopPropagation(), t.$emit("comment")
                    }
                }
            }, [t._v("\n            评论参与排名\n          ")])]], 2) : t._e()], 2) : t._e()])])
        };
        o._withStripped = !0;
        var n = {
            render: o, staticRenderFns: [function () {
                var t = this.$createElement, e = this._self._c || t;
                return e("div", {staticClass: "xlx-speed-list__header"}, [e("h2", {staticClass: "xlx-speed-list__title"}, [this._v("速度榜")])])
            }, function () {
                var t = this.$createElement, e = this._self._c || t;
                return e("div", {staticClass: "xlx-speed-list__infomation"}, [e("p", {staticClass: "xlx-speed-list__speed"})])
            }]
        };
        e.a = n
    }, H2Fs: function (t, e, i) {
        "use strict";
        var o = i("eDqE"), n = i("J80b"), r = !1;
        var a = function (t) {
            r || i("ww0Q")
        }, s = i("VU/8")(o.a, n.a, !1, a, null, null);
        s.options.__file = "components\\task\\XlTaskChart.vue", e.a = s.exports
    }, HvSN: function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ".error-message{position:relative}.is-absolute{position:absolute}.is-absolute.td-cover{top:25px}", ""])
    }, J80b: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return t.curTask ? i("div", {
                staticClass: "chart-box",
                style: {height: "/task-detail" === t.$route.path && "100vh"},
                on: {
                    contextmenu: function (t) {
                        t.preventDefault()
                    }
                }
            }, [i("div", {staticClass: "data-chart"}, [i("div", {staticClass: "file-info"}, [i("div", {staticClass: "file-name"}, [i("span", {class: t._f("icon")([t.curTask.suffix && t.curTask.suffix.toLowerCase(), t.curTask.type])}), i("div", {staticClass: "text-name"}, [t._v("\n          " + t._s(t.curTask.name) + "\n        ")]), t.curTask.actions && t.curTask.actions.includes("subtitleDownload") ? i("a", {
                staticClass: "link",
                attrs: {href: "javascript:;", title: "字幕搜索"},
                on: {
                    click: function (e) {
                        t.operate("subtitleDownload")
                    }
                }
            }, [t._v("字幕搜索")]) : t._e()]), t.curTask.actions && t.curTask.actions.length ? i("div", {staticClass: "file-opt"}, t._l(t.curTask.actions, function (e) {
                return ["subtitleDownload"].includes(e) ? t._e() : i("a", {
                    key: e,
                    class: t._f("action-klass")([e, "ico-o-"]),
                    attrs: {href: "javascript:;", title: t._f("action-name")(e)},
                    on: {
                        click: function (i) {
                            t.operate(e)
                        }
                    }
                }, [i("i")])
            })) : t._e()]), i("TaskChart", {
                attrs: {options: t.data, step: 1, "dom-ready": t.domReady},
                scopedSlots: t._u([{
                    key: "label", fn: function (e) {
                        return e.value > 0 && "5" === t.curTask.status && 100 != t.curTask.progress ? i("div", {
                            staticClass: "data-show",
                            style: t.getDotStyle(e, 7)
                        }, [i("label-item", {
                            attrs: {
                                "label-data": e,
                                "label-width": t.labelWidth,
                                "label-padding": t.labelPadding,
                                "task-id": t.curTask.taskID,
                                "speed-curve-skin-info": t.speedCurveSkinInfo
                            }, on: {
                                sendDetailCurveClick: function (e, i) {
                                    t.$emit("sendDetailCurveClick", e, i)
                                }
                            }
                        })], 1) : t._e()
                    }
                }])
            })], 1), i("div", {staticClass: "data-info"}, [i("div", {staticClass: "data-info-main"}, ["8" !== t.curTask.status && "10" !== t.curTask.status || 0 !== t.$sget(t.curTask, "duration") ? [i("p", [t._v("下载进度 "), i("span", [t._v(t._s(t.curTask.progress) + "%")])]), i("i", {staticClass: "line"}), "5" === t.curTask.status && t.curTask.downloadSize ? i("p", {staticClass: "data-time"}, [t._v(t._s(t.remain))]) : i("p", [t._v("平均速度 "), i("span", {staticClass: "data"}, [t._v(t._s(t._f("file-size")(t.curTask.averageSpeed)) + "/s")])]), i("i", {staticClass: "line"}), "8" === t.curTask.status || "10" === t.curTask.status && t.curTask.maxSpeed ? i("p", [t._v("峰值速度 "), i("span", {staticClass: "data"}, [t._v(t._s(t._f("file-size")(t.fixMaxSpeed(t.curTask.maxSpeed, t.curTask.averageSpeed))) + "/s")])]) : i("p", [t._v("资源数 "), i("span", [t._v(t._s(t.curTask.resourceCount || "-") + " / " + t._s(t.curTask.allResourceCount || "-"))])])] : [t._v("\n        恭喜你，解锁“秒下”成就\n      ")]], 2), t._m(0)]), t.curTask.errMessage ? i("div", {staticClass: "data-note"}, [i("p", [i("span", {staticClass: "ico-d-note"}), t._v(t._s(t.curTask.errMessage))])]) : "5" !== t.curTask.status && t.curTaskPrimaryAction ? i("div", {staticClass: "btn-data-wp"}, ["downloadSelected" !== t.curTask.stopReason || "7" !== t.curTask.status ? i("a", {
                staticClass: "btn-opt",
                attrs: {href: "javascript:;"},
                on: {
                    click: function (e) {
                        t.operate(t.curTaskPrimaryAction, "middle")
                    }
                }
            }, [i("span", {class: t._f("action-klass")([t.curTaskPrimaryAction, "ico-d-"])}), t._v(" " + t._s(t._f("action-name")(t.curTaskPrimaryAction)) + "\n    ")]) : t._e(), "delete" === t.curTaskPrimaryAction ? i("p", {staticClass: "txt-tips"}, [t._v("本地文件已删除")]) : t._e()]) : t._e()]) : i("div", {staticClass: "chart-box"})
        };
        o._withStripped = !0;
        var n = {
            render: o, staticRenderFns: [function () {
                var t = this.$createElement, e = this._self._c || t;
                return e("div", {staticClass: "data-info-des"}, [e("p", [e("i", {staticClass: "label-color color-all"}), this._v("总速度")]), e("i", {staticClass: "line"}), e("p", [e("i", {staticClass: "label-color color-vip"}), this._v("会员加速")])])
            }]
        };
        e.a = n
    }, Jbmy: function (t, e, i) {
        "use strict";
        var o = i("S0nt"), n = i("BQ5y"), r = !1;
        var a = function (t) {
            r || i("ugUb")
        }, s = i("VU/8")(o.a, n.a, !1, a, "data-v-e742352e", null);
        s.options.__file = "components\\comment\\XlCommentItem.vue", e.a = s.exports
    }, Jc9A: function (t, e, i) {
        "use strict";
        e.a = {
            data: function () {
                return {deg: 0}
            }, computed: {
                rotateStyle: function () {
                    return {transform: "rotate(" + this.deg + "deg)"}
                }
            }
        }
    }, Kc4X: function (t, e, i) {
        t.exports = i.p + "img/spr-main.a047a1a.png"
    }, Ki5d: function (t, e, i) {
        "use strict";
        var o = i("giQc"), n = i("xJzN"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\XlVip.vue", e.a = r.exports
    }, "L/YN": function (t, e, i) {
        "use strict";
        e.a = function (t) {
            var e = t.userInfo, i = t.appId, o = t.clientVersion;
            return n()({}, e, {appid: i, clientVersion: o})
        };
        var o = i("woOf"), n = i.n(o)
    }, "L/fo": function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ".error-message[data-v-e742352e]{position:relative}.error-message .td-cover[data-v-e742352e]{top:25px}.is-absolute[data-v-e742352e]{position:absolute}", ""])
    }, L0TC: function (t, e, i) {
        var o = i("P9Jn");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("02ba5569", o, !1)
    }, "LHx/": function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", {
                staticClass: "xlx-face", on: {
                    click: function (t) {
                        t.stopPropagation()
                    }
                }
            }, [i("a", {
                directives: [{name: "popup", rawName: "v-popup:emoji", arg: "emoji"}],
                staticClass: "xlx-face__icon",
                attrs: {href: "javascript:;", title: "表情"}
            }, [i("i", {staticClass: "xlx-icon-face"})]), i("popup", {
                ref: "emoji",
                staticClass: "xlx-face-emoji",
                staticStyle: {position: "fixed", outline: "none"},
                attrs: {
                    trigger: "click",
                    display: t.show && !t.isInputFocus,
                    padding: 4,
                    direction: "topEnd",
                    "scroll-show": !1
                },
                on: {"update:display": t.updateDisplay}
            }, [i("ul", {
                on: {
                    click: function (e) {
                        e.stopPropagation(), t.handleClick(e)
                    }, mouseleave: function (e) {
                        t.show = !1
                    }
                }
            }, [i("li", {attrs: {title: "开心"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F604"})]), i("li", {attrs: {title: "可爱"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F60A"})]), i("li", {attrs: {title: "大笑"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F603"})]), i("li", {attrs: {title: "憨笑"}}, [i("span", {staticClass: "face-icon-emoji emoji-263A"})]), i("li", {attrs: {title: "眨眼"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F609"})]), i("li", {attrs: {title: "色"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F60D"})]), i("li", {attrs: {title: "爱你"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F618"})]), i("li", {attrs: {title: "亲亲"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F61A"})]), i("li", {attrs: {title: "脸红"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F633"})]), i("li", {attrs: {title: "满意"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F60C"})]), i("li", {attrs: {title: "傻笑"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F601"})]), i("li", {attrs: {title: "鬼脸"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F61C"})]), i("li", {attrs: {title: "吐舌"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F61D"})]), i("li", {attrs: {title: "无语"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F612"})]), i("li", {attrs: {title: "得意"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F60F"})]), i("li", {attrs: {title: "汗"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F613"})]), i("li", {attrs: {title: "失望"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F614"})]), i("li", {attrs: {title: "低落"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F61E"})]), i("li", {attrs: {title: "痛苦"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F616"})]), i("li", {attrs: {title: "焦虑"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F622"})]), i("li", {attrs: {title: "担心"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F630"})]), i("li", {attrs: {title: "震惊"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F628"})]), i("li", {attrs: {title: "悔恨"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F623"})]), i("li", {attrs: {title: "鼻涕"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F625"})]), i("li", {attrs: {title: "哭"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F62D"})]), i("li", {attrs: {title: "大哭"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F602"})]), i("li", {attrs: {title: "晕"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F632"})]), i("li", {attrs: {title: "惊恐"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F631"})]), i("li", {attrs: {title: "心烦"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F620"})]), i("li", {attrs: {title: "生气"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F621"})]), i("li", {attrs: {title: "睡觉"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F62A"})]), i("li", {attrs: {title: "口罩"}}, [i("span", {staticClass: "face-icon-emoji emoji-1F637"})])])])], 1)
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, LstC: function (t, e, i) {
        "use strict";
        Object.defineProperty(e, "__esModule", {value: !0});
        var o = i("qAvy"), n = i("S2BL"), r = !1;
        var a = function (t) {
            r || i("QIm3")
        }, s = i("VU/8")(o.a, n.a, !1, a, null, null);
        s.options.__file = "pages\\home.vue", e.default = s.exports
    }, "M+3x": function (t, e, i) {
        "use strict";
        var o = i("woOf"), n = i.n(o), r = i("Gu7T"), a = i.n(r), s = i("yxXY"), c = i("7udH"), l = i.n(c);
        e.a = s.a.connect({
            mapStateToProps: {
                comments: function (t, e) {
                    var i = t.comments.resources[e.tid], o = [].concat(a()((l()(i, "hot") || []).map(function (e) {
                        return n()({}, t.comments.all[e], {type: "hot"})
                    })), a()((l()(i, "new") || []).map(function (e) {
                        return t.comments.all[e]
                    })));
                    return o
                }, rcount: function (t, e) {
                    var i = t.comments.resources[e.tid];
                    return l()(e, "curTask", "isFromVest") ? 0 : l()(i, "rcount") || 0
                }, userId: function (t, e) {
                    return t.users.curUser.userId
                }
            }, mapDispatchToProps: {getComments: "comments/get"}
        })
    }, MQma: function (t, e, i) {
        "use strict";
        var o = i("Rhsk");
        e.a = {
            props: {
                reviewId: {type: Number, default: 0}, review: {
                    type: Object, default: function () {
                        return {}
                    }
                }
            }, computed: {
                cover: function () {
                    return Object(o.g)(this.review.cover_url, 1, 150, 100) + "/format/jpg"
                }, url: function () {
                    return "http://movie.xunlei.com/reviews/" + this.reviewId
                }, movieUrl: function () {
                    var t = this.review.media_id;
                    return t ? "http://movie.xunlei.com/movies/" + t : ""
                }, imgObj: function () {
                    var t = i("QXBO");
                    return {src: this.cover, loading: t, error: t}
                }, avartar: function () {
                    return this.$sget(this.$store.state.users.all, this.$sget(this.review, "uid"), "portrait_url") || this.getAvatar(this.$sget(this.review, "uid"))
                }
            }, methods: {getAvatar: o.c, getUserLink: o.e}
        }
    }, MfWJ: function (t, e, i) {
        "use strict";
        var o = i("yDtN"), n = (i.n(o), i("/8Fg")), r = i("s+fl"), a = i("BrXJ");
        e.a = {
            components: {XlPropertyItem: a.a},
            filters: {
                duration: function () {
                    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                        e = Math.floor(t / 3600), i = Math.floor((t - 3600 * e) / 60), o = t - 3600 * e - 60 * i;
                    return Object(r.a)(e, 2) + ":" + Object(r.a)(i, 2) + ":" + Object(r.a)(o, 2)
                }
            },
            props: {
                curTask: {type: Object, required: !0},
                operate: {type: Function, required: !0},
                setTask: {type: Function, required: !0}
            },
            data: function () {
                return {noteEditing: !1, noteDraft: "", copyTipText: "复制"}
            },
            computed: {
                fileSize: function () {
                    return this.$sget(this.curTask, "size")
                }, savePath: function () {
                    return this.$sget(this.curTask, "savePath")
                }, note: {
                    set: function (t) {
                        this.noteDraft = t
                    }, get: function () {
                        return this.noteEditing ? this.noteDraft : this.$sget(this.curTask, "note")
                    }
                }, shouldShowMd5: function () {
                    return ["8", "10"].includes(this.$sget(this.curTask, "status")) || "20" === this.$sget(this.curTask, "status") && 100 === parseInt(this.$sget(this.curTask, "progress"))
                }
            },
            watch: {
                "curTask.taskID": {
                    handler: function (t) {
                        this.getMd5(t)
                    }, immediate: !0
                }, "curTask.status": {
                    handler: function (t) {
                        this.getMd5(this.$sget(this.curTask, "taskID"))
                    }, immediate: !0
                }
            },
            methods: {
                copyInfoId: function () {
                    var t = this;
                    this.copyToClipboard(this.$sget(this.curTask, "infoId")), this.copyTipText = "复制成功", setTimeout(function () {
                        return t.copyTipText = "复制"
                    }, 1e3)
                }, openSavePath: function () {
                    Object(n.b)("ShellOpen", this.savePath)
                }, getMd5: function (t) {
                    var e = this;
                    this.shouldShowMd5 && !this.curTask.md5 && Object(n.b)("GetFileMd5", this.savePath + "\\" + this.$sget(this.curTask, "name")).then(function (i) {
                        e.setTask({taskID: t, taskInfo: {md5: i}})
                    })
                }, copyToClipboard: function (t) {
                    if (window.clipboardData && window.clipboardData.setData) return window.clipboardData.setData("Text", t);
                    if (document.queryCommandSupported && document.queryCommandSupported("copy")) {
                        var e = document.createElement("textarea");
                        e.textContent = t, e.style.position = "fixed", document.body.appendChild(e), e.select();
                        try {
                            return document.execCommand("copy")
                        } catch (t) {
                            return !1
                        } finally {
                            document.body.removeChild(e)
                        }
                    }
                }
            }
        }
    }, "N+Ay": function (t, e, i) {
        "use strict";
        e.a = {
            props: {text: {type: String, default: ""}, visible: {type: Boolean, default: !1}},
            methods: {
                handleClick: function (t) {
                    this.$emit("update:visible", !1), this.$emit(t)
                }
            }
        }
    }, "N9/H": function (t, e, i) {
        t.exports = i.p + "img/xlx-icon-24x24-2x.9be1c37.png"
    }, NQag: function (t, e, i) {
        "use strict";

        function o(t, e) {
            for (var i = t.toString().length; i < e;) t = "0" + t, i++;
            return t
        }

        e.a = function (t) {
            var e = new Date(t);
            return "Invalid Date" === e.toString() ? "" : e.getFullYear() + "-" + o(e.getMonth() + 1, 2) + "-" + o(e.getDate(), 2)
        }
    }, NbXr: function (t, e, i) {
        "use strict";
        var o = i("woOf"), n = i.n(o), r = i("yxXY"), a = i("7udH"), s = i.n(a);
        e.a = r.a.connect({
            mapStateToProps: {
                speedRank: function (t, e) {
                    var i = void 0;
                    return e.tid ? (i = t.comments.speedRank[e.tid], s()(e.curTask, "isFromVest") && (i = n()({}, i, {
                        CommentSpeedRanks: [],
                        commented: !1
                    })), i) : {}
                }, curUserId: function (t, e) {
                    return t.users.curUser.userId
                }
            }, mapDispatchToProps: {getSpeedRank: "comments/getSpeedRank"}
        })
    }, Npk4: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", {ref: "canvasBox", staticClass: "canvas-box"}, [i("canvas", {
                ref: "dataChart",
                staticClass: "canvas-data",
                style: "transform: scale(" + 1 / t.scale + ");"
            }), t._l(t.labels, function (e) {
                return e ? t._t("label", null, {
                    value: e.value,
                    x: e.x,
                    y: e.y,
                    canvasWidth: t.width / t.scale,
                    canvasHeight: t.height / t.scale
                }) : t._e()
            })], 2)
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, OnMG: function (t, e, i) {
        "use strict";
        var o = i("WCBf"), n = i("YnST"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\XlIcon.vue", e.a = r.exports
    }, "P/2W": function (t, e, i) {
        "use strict";
        var o = i("ADv3"), n = i("haX0"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\XlFileList.vue", e.a = r.exports
    }, P5iY: function (t, e, i) {
        var o = i("CcrQ");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("4b8f7826", o, !1)
    }, P9Jn: function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ":root{--file-color-border:#e2ebf1;--file-background:#f9faff;--file-background-row:#f2f3fb;--color-text:#1a1a1a;--file-color-disable:#ccc;--file-link:#69f;--file-link-hover:#4b87ff;--file-gray-1:#b3b3b3;--file-gray-2:#ccc;--file-gray-3:#f5f5f5;--file-checkbox:#fff;--file-background-checkbox:#fff;--file-background-footer:#f9faff;--file-button-fill:#69f;--file-button-fill-hover:#4b87ff}.xlx-file-list{--button-default-fill:var(--file-link);--button-default-fill-hover:var(--file-link-hover);--tree-background:var(--file-background-row)}.xlx-file-list .td-tree-node__image-icon{margin:0 auto}.xlx-file-list .td-table{background:var(--file-background);color:var(--color-text)}.xlx-file-list .td-table,.xlx-file-list .td-table th{border-color:var(--file-color-border)}.xlx-file-list .td-table th a{color:var(--color-text)}.xlx-file-list .td-table td{border-color:var(--file-color-border)}.xlx-file-list .td-table--stripe tr:nth-child(2n){background-color:var(--file-background-row)}.xlx-file-list .td-table__footer-wrapper{background:var(--file-background-footer);border-color:var(--file-color-border)}.xlx-file-list .td-icon-sequence.is-ascending{background-image:linear-gradient(180deg,var(--color-default) 50%,var(--color-primary-gray-1) 51%)}.xlx-file-list .td-icon-sequence.is-descending{background-image:linear-gradient(180deg,var(--color-primary-gray-1) 50%,var(--color-default) 51%)}.xlx-file-list .td-checkbox.is-disabled{cursor:default}.xlx-file-list .td-checkbox.is-disabled .td-checkbox__inner:checked{border-color:transparent}.xlx-file-list .td-checkbox.is-checked .td-checkbox__inner:checked{background:var(--color-primary)}.xlx-file-list .td-checkbox__inner{background:var(--file-background-checkbox)}.xlx-file-list .td-checkbox__inner:before{border-color:var(--file-checkbox)}.xlx-file-list .td-table__header{padding-right:6px}.xlx-file-list .td-tree-node{max-width:calc(100% - 10px);margin-right:5px;box-sizing:border-box}.xlx-file-list .td-checkbox.is-disabled .td-checkbox__label{color:var(--color-text)}.xlx-file-list .td-tree-node__image-icon{background:transparent}.xlx-file-list .td-button{margin-right:5px;background:var(--file-button-fill)}.xlx-file-list .td-button:hover{background:var(--file-button-fill-hover)}.xlx-file-list .td-table-tree__row.is-deleted .td-tree-node__image-icon{opacity:.5}.xlx-file-list .td-table-tree__row.is-deleted .td-tree-node__label,.xlx-file-list .td-table-tree__row.is-deleted .xlx-file-list__size,.xlx-file-list .td-table-tree__row.is-deleted .xlx-file-list__status{color:var(--file-color-disable)}.xlx-file-list .td-icon-info{color:var(--file-link);vertical-align:-1px}.xlx-file-list__column-2{width:90px}.xlx-file-list__size,.xlx-file-list__status{margin:0 10px}.xlx-file-list .xlx-file-list__status .is-error{color:var(--color-danger-1)}.xlx-file-list a.xlx-file-list__status{color:var(--file-link)}.xlx-file-list a.xlx-file-list__status:hover{color:var(--file-link-hover)}.xlx-file-list.is-fixed{padding-bottom:37px}.xlx-file-list.is-fixed .td-table__footer-wrapper{position:fixed;bottom:0;left:50px;right:42px;border:solid 1px var(--file-color-border)}", ""])
    }, PeDW: function (t, e, i) {
        "use strict";
        e.a = {video: "1", install: "6", music: "4", pic: "5", doc: "7", rar: "3", "bt-link": "2"}
    }, QIm3: function (t, e, i) {
        var o = i("6ceG");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("7761768e", o, !1)
    }, QXBO: function (t, e) {
        t.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABHNCSVQICAgIfAhkiAAAAA1JREFUCJljOHvvvy8ACB4C+AENS7kAAAAASUVORK5CYII="
    }, QoKh: function (t, e, i) {
        "use strict";
        e.a = {
            props: {
                entryPage: {type: String, default: ""},
                entry: {type: String, default: ""},
                uid: {type: [String, Number], default: ""},
                size: {type: String, default: "sm"}
            }, computed: {
                user: function () {
                    return this.$store.state.users.all[this.uid] || {}
                }, kinds: function () {
                    return this.$sget(this.user, "kinds") || []
                }, reviewNum: function () {
                    return this.kinds.includes("review_num") && "lg" === this.size ? "影评号" : ""
                }, signer: function () {
                    return this.kinds.includes("signer") && "lg" === this.size ? "签约写手" : ""
                }, reviewExpert: function () {
                    return this.kinds.includes("review_expert") && "lg" === this.size ? "影评达人" : ""
                }
            }, methods: {
                badgeClick: function (t) {
                    this.$stat("authentic", "authentic_page_entry_click", {
                        identity: t,
                        entrypage: this.entryPage,
                        entry: this.entry
                    })
                }
            }
        }
    }, RevU: function (t, e, i) {
        t.exports = i.p + "img/xlx-icon-32x32.e90e93c.png"
    }, S0nt: function (t, e, i) {
        "use strict";
        var o = i("Xxa5"), n = i.n(o), r = i("exGp"), a = i.n(r), s = i("Dd8w"), c = i.n(s), l = i("NYxO"),
            p = i("Rhsk"), d = i("oxQo"), u = i("Ki5d"), x = i("U3RP"), m = i("Z1db"), h = i("4nU2"), f = i("EQpe");
        e.a = {
            components: {XlVip: u.a, XlPraise: x.a, XlCommentInput: Object(h.a)(m.a), XlConfirm: f.a},
            props: {
                type: {type: String, default: ""},
                comment: {type: Object, default: null},
                entryPage: {type: String, default: ""},
                entryHead: {type: String, default: ""},
                entryName: {type: String, default: ""},
                resourceUser: {type: [String, Number], default: ""},
                timeFormat: {type: String, default: ""},
                tid: {type: String, default: ""},
                maxLength: {type: Number, default: 0},
                index: {type: Number, default: 0},
                commentLength: {type: Number, default: 0},
                showReply: {type: [String, Number], default: 0},
                removeCommentCallback: {
                    type: Function, default: function () {
                    }
                }
            },
            data: function () {
                return {showPop: !1, showReplyReply: !1, popImg: "", focus: !1, confirmVisible: !1}
            },
            computed: c()({}, Object(l.mapState)({
                supportChat: "supportChat", curUser: function (t) {
                    return t.users.curUser
                }
            }), {
                user: function () {
                    return this.getUser(this.comment.uid) || {nick_name: "迅雷用户"}
                }, replyUser: function () {
                    return this.getUser(this.comment.replys[0].uid) || this.comment.replys[0]
                }, isMobile: function () {
                    return this.$store.state.isMobile
                }, isReplyDeleted: function () {
                    return "-1" === this.comment.replys[0].cid
                }, speed: function () {
                    return Object(p.d)(this.comment.downLoadSpeed)
                }
            }),
            beforeDestroy: function () {
                this.$el && this.$el.parentElement && this.$el.parentElement.removeChild(this.$el)
            },
            methods: {
                getUserLink: p.e, replaceEmoji: p.h, getUser: function (t) {
                    return this.$sget(this.$store.state.users.all, t)
                }, getTime: function (t) {
                    switch (this.timeFormat) {
                        case"getPubTime":
                            return Object(d.e)(t);
                        case"createTimeFormat":
                            return Object(d.a)(t)
                    }
                }, clickReply: function (t) {
                    this.showReply === t ? this.$emit("update:showReply", 0) : (this.$emit("update:showReply", t), this.triggerReply()), this.$emit("clickReply", {cid: t})
                }, sendReply: function (t) {
                    this.$emit("sendReply", {cid: t.cid})
                }, userCardShow: function () {
                    this.$stat("right_area", "filmlib_usercard_show")
                }, userCardClick: function (t) {
                    this.$stat("right_area", "filmlib_usercard_click", {button: t})
                }, triggerReply: function () {
                    this.isMobile && this.$store.commit("setCurComment", this.comment)
                }, handleDeleteClick: function () {
                    this.$emit("click", "delete", {cid: this.comment.cid}), this.remove()
                }, remove: function () {
                    var t = a()(n.a.mark(function t() {
                        return n.a.wrap(function (t) {
                            for (; ;) switch (t.prev = t.next) {
                                case 0:
                                    return t.prev = 0, t.next = 3, this.$store.dispatch("comments/delete", {
                                        tid: this.tid,
                                        sourceId: this.tid,
                                        cid: this.comment.cid
                                    });
                                case 3:
                                    this.removeCommentCallback(), t.next = 8;
                                    break;
                                case 6:
                                    t.prev = 6, t.t0 = t.catch(0);
                                case 8:
                                case"end":
                                    return t.stop()
                            }
                        }, t, this, [[0, 6]])
                    }));
                    return function () {
                        return t.apply(this, arguments)
                    }
                }()
            }
        }
    }, S2BL: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", {ref: "xlx-home", staticClass: "xlx-home"}, [i("HomePageView", {
                ref: "homepage",
                style: {
                    marginTop: 0 === t.cur ? 0 : -t.pageHeight + "px",
                    transitionProperty: t.transition ? "margin" : "none"
                },
                attrs: {"show-custom": 0 === t.cur}
            }), i("div", {
                directives: [{name: "show", rawName: "v-show", value: 1 === t.cur, expression: "cur === 1"}],
                staticClass: "xlx-home__content"
            }, [i("intersect", {
                on: {
                    enter: function (e) {
                        t.showBackToTop = !1
                    }, leave: function (e) {
                        t.showBackToTop = !0
                    }
                }
            }, [i("div", {
                staticStyle: {
                    position: "absolute",
                    top: "0",
                    right: "0"
                }
            })]), i("div", {
                staticClass: "xlx-home__operate", on: {
                    click: function (e) {
                        t.showHomePage(), t.operate("showHomePage")
                    }
                }
            }, [i("i", {staticClass: "xlx-home__operate-arrow"})]), i("SpeedChartView", {
                attrs: {
                    "dom-ready-async": !0,
                    "dom-ready": 1 === t.cur
                }, on: {
                    onSwitchDetail: function (e) {
                        var i = e.index;
                        t.activeKey = i
                    }, curTaskChange: function (e) {
                        var i = e.taskID, o = e.index;
                        t.$store.commit("tasks/setCurTaskID", i), t.activeKey = o || "comments"
                    }
                }
            }), i("XlRecommend", {
                attrs: {
                    category: "download",
                    "task-id": t.curTaskID,
                    "task-name": t.$sget(t.curTask, "name")
                }, on: {recommendItemClick: t.reportRecommendClick, reportRecommendShow: t.reportRecommendShow}
            }), i("div", {staticClass: "xlx-file-detail"}, [i("intersect", {
                attrs: {
                    threshold: [0, 1],
                    "root-margin": "0px 0px -1px 0px"
                }, on: {
                    enter: function (e) {
                        t.tabFixed = !1
                    }, leave: t.leaveTabSentry
                }
            }, [i("div", {
                style: {
                    height: "1px",
                    position: "absolute",
                    width: "100%",
                    pointerEvents: "none"
                }
            })]), i("td-tabs", {
                style: {paddingTop: t.tabFixed ? "78px" : "0"},
                attrs: {tabs: t.tabs, "active-key": t.activeKey, "custom-title-class": t.tabFixed ? "is-fixed" : ""},
                on: {
                    "update:activeKey": [function (e) {
                        t.activeKey = e
                    }, t.handleUpdateActiveKey]
                },
                scopedSlots: t._u([{
                    key: "default", fn: function (e) {
                        var o = e.tab;
                        return ["comments" === o.key ? i("CommentView", {
                            attrs: {
                                gcid: t.$sget(t.curTask, "realGcid") || t.$sget(t.curTask, "gcid") || t.$sget(t.curTask, "infoId") || "",
                                "cur-task": t.curTask
                            }, on: {rcountchange: t.rcountChange}
                        }, [i("MovieReviewList", {
                            directives: [{
                                name: "see",
                                rawName: "v-see",
                                value: t.reportMovieListShow,
                                expression: "reportMovieListShow"
                            }],
                            attrs: {
                                category: "select",
                                "task-id": t.curTaskID,
                                "task-name": t.$sget(t.curTask, "name")
                            },
                            on: {click: t.reportMovieListClick}
                        })], 1) : "files" === o.key ? i("XlFileList", {
                            attrs: {
                                operate: t.operate,
                                "cur-task": t.curTask,
                                "sub-files": t.$sget(t.$store.state.tasks.subFiles, t.curTaskID),
                                "set-task": t.setTask
                            }
                        }) : "detail" === o.key ? i("PropertyView", {
                            attrs: {
                                operate: t.operate,
                                "cur-task": t.curTask,
                                "set-task": t.setTask
                            }
                        }) : t._e()]
                    }
                }])
            }), i("div", {staticClass: "xlx-home-tool"}, [i("a", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: t.showBackToTop,
                    expression: "showBackToTop"
                }], staticClass: "xlx-home-top", attrs: {href: "javascript:;", title: "回到顶部"}, on: {click: t.backToTop}
            }, [i("i", {staticClass: "xlx-icon-arrow-top"})])])], 1)], 1)], 1)
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, SNtC: function (t, e, i) {
        "use strict";
        var o = i("/8Fg");
        e.a = {
            props: {
                labelData: {type: Object, default: null},
                labelWidth: {type: Number, default: 0},
                labelPadding: {type: Number, default: 0},
                taskId: {type: [Number, String], default: 0},
                speedCurveSkinInfo: {type: Object, default: null}
            }, data: function () {
                return {
                    dotWidth: 7,
                    speedPart: [0, 102400, 1048576, 4194304],
                    bombType: "none",
                    dataTypeClass: "",
                    preSpeedPart: 0,
                    hadSpeedKeep: !1,
                    timer: null,
                    pointDisplay: "",
                    iconWidth: 23
                }
            }, computed: {
                enableAnimation: function () {
                    return "0" !== this.$sget(this.$store.state, "config", "GenericSettings", "AnimationLevel")
                }, textDataClass: function () {
                    var t = this.getDotLeft(this.labelData, this.dotWidth / 2),
                        e = this.dotWidth + this.labelWidth + this.labelPadding;
                    return t < this.$sget(this.labelData, "canvasWidth") - e ? this.currentSpeedPart > 0 ? "is-left-ani" : "is-left" : "is-right-ani"
                }, LabelStyle: function () {
                    var t = this.getDotLeft(this.labelData, this.dotWidth / 2),
                        e = this.dotWidth + this.labelWidth + this.labelPadding;
                    return {left: (t < this.$sget(this.labelData, "canvasWidth") - e ? this.dotWidth : -(this.labelPadding + this.labelWidth)) + "px"}
                }, iconStyle: function () {
                    return this.iconIsCanClick ? "cursor: pointer" : ""
                }, currentSpeedPart: function () {
                    var t = parseInt(this.$sget(this.labelData, "value") || 0), e = this.getSpeedPart(t);
                    return this.PointLeft < this.iconWidth / 2 ? this.setPointState() : e !== this.preSpeedPart && null === this.timer && this.getSpeedKeepTime(e), e
                }, PointLeft: function () {
                    return this.getDotLeft(this.labelData, this.dotWidth / 2)
                }, textVal: function () {
                    return this.$sget(this.labelData, "value") || ""
                }, iconIsCanClick: function () {
                    return !this.$sget(this.speedCurveSkinInfo, "is_vip_try") && 1 !== this.$sget(this.speedCurveSkinInfo, "id")
                }
            }, watch: {
                taskId: function (t) {
                    this.updateSpeedPart({immediately: !0})
                }, hadSpeedKeep: "updateSpeedPart"
            }, methods: {
                getDotLeft: function (t, e) {
                    return this.$sget(t, "x") > e ? this.$sget(t, "x") > this.$sget(t, "canvasWidth") - e ? this.$sget(t, "canvasWidth") - e - e : this.$sget(t, "x") - e : 0
                }, getSpeedPart: function (t) {
                    if (0 === t) return 0;
                    if (t > this.speedPart[this.speedPart.length - 1]) return this.speedPart.length;
                    for (var e = this.speedPart.length - 1; e > 0; e--) if (this.speedPart[e - 1] < t && t <= this.speedPart[e]) return e
                }, getSpeedKeepTime: function (t) {
                    var e = this;
                    this.timer = setTimeout(function (t) {
                        e.preSpeedPart = t, e.timer = null, e.currentSpeedPart === t && (e.hadSpeedKeep = !e.hadSpeedKeep)
                    }, 2100, t)
                }, updateSpeedPart: function (t) {
                    var e = t.immediately, i = void 0 !== e && e;
                    if (0 !== this.currentSpeedPart) {
                        if (this.PointLeft > this.iconWidth / 2 && (this.dotWidth = 28), !(this.PointLeft < this.iconWidth / 2)) {
                            switch (this.currentSpeedPart) {
                                case 1:
                                    this.dataTypeClass = "is-speed1", this.pointDisplay = "none";
                                    break;
                                case 2:
                                    this.dataTypeClass = "is-speed2", this.pointDisplay = "none";
                                    break;
                                case 3:
                                    this.dataTypeClass = "is-speed3", this.pointDisplay = "none";
                                    break;
                                case 4:
                                    this.dataTypeClass = "is-speed4", this.pointDisplay = "none"
                            }
                            i || this.animationShow()
                        }
                    } else this.setPointState()
                }, setPointState: function () {
                    this.dataTypeClass = "", this.pointDisplay = "block", this.preSpeedPart = 0, this.dotWidth = 7
                }, animationShow: function () {
                    var t = this;
                    this.bombType = "block", this.dataTypeClass += "is-scale", setTimeout(function () {
                        t.bombType = "none";
                        var e = t.dataTypeClass.indexOf("is-scale");
                        -1 !== e && (t.dataTypeClass = t.dataTypeClass.substring(0, e))
                    }, 300)
                }, iconClick: function () {
                    this.iconIsCanClick && (Object(o.b)("ClickSpeedCurveIcon"), this.$emit("sendDetailCurveClick", "middle", "skin_icon"))
                }
            }
        }
    }, TmV0: function (t, e, i) {
        i("fZOM"), t.exports = i("FeBl").Object.values
    }, U3RP: function (t, e, i) {
        "use strict";
        var o = i("oeoy"), n = i("jFpK"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\XlPraise.vue", e.a = r.exports
    }, Vidy: function (t, e, i) {
        var o = i("kxFB");
        (t.exports = i("FZ+f")(!1)).push([t.i, ":root{--chart-color:#69f;--color-chart-line:hsla(0,0%,100%,.5);--chart-button-fill:rgba(102,153,255,.8);--chart-button-fill-hover:var(--chart-color);--chart-background:linear-gradient(90deg,#dff6fe,#e8e9fe);--chart-text:#718bb1;--chart-tips:hsla(0,0%,100%,.9);--chart-line:#c6d3ee;--chart-speed:linear-gradient(45deg,#46adff,#a687ff)}.is-theme-speed{--chart-bg:url(" + o(i("XRcH")) + ')}.is-theme-speed .xlx-data-ani .xlx-data-type:after,.is-theme-speed .xlx-data-bomb:after{background-image:var(--chart-bg)}.ico-d-delete,.ico-d-down,.ico-d-note,.ico-d-open,.ico-d-play,.ico-d-redo,.ico-o-delete,.ico-o-down,.ico-o-more,.ico-o-open,.ico-o-pause,.ico-o-play,.ico-o-playnow,.ico-o-redo,.ico-o-share,.ico-o-share i{font-family:xlx-icon!important;color:var(--color-primary);font-size:22px;line-height:1}.chart-box{--color-primary:var(--chart-color);height:100%;background:var(--chart-background);border-radius:5px;position:relative}.chart-box:hover .data-info-main{display:none}.chart-box:hover .data-info-des{display:flex}.chart-box:hover .ico-o-share i{animation:share1 1s both}@keyframes share1{0%{width:0}to{width:22px}}.data-chart{position:relative;z-index:1;height:100%}.file-info{margin:0 15px;position:relative}.file-info .file-name{display:flex;align-items:center;height:46px;flex:1;width:100%}.file-info .text-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:break-all;max-width:calc(100% - 180px);font-size:13px;color:var(--chart-text)}.file-info .ico-file{margin:0 8px 0 0}.file-info .file-opt{position:absolute;right:0;top:0;display:flex;height:46px;align-items:center;justify-content:flex-end;z-index:2}.file-info .btn-delete{border:solid 1px var(--chart-color);border-radius:12px;width:52px;height:22px;line-height:22px;text-align:center;color:var(--chart-color)}.file-info .btn-delete:hover{background:var(--chart-color);color:#fff}.file-info .link{color:var(--chart-color);margin-left:3px}.ico-o-more,.ico-o-open{width:20px;height:20px;display:inline-block;margin:0 0 0 15px}.ico-o-open:before{content:"\\E6CD"}.ico-o-open:hover:before{content:"\\E6CF"}.ico-o-more:before{content:"\\E6D1"}.ico-o-more:hover:before{content:"\\E6D0"}.ico-o-delete,.ico-o-down,.ico-o-pause,.ico-o-play,.ico-o-playnow,.ico-o-redo{width:22px;height:22px;display:inline-block;margin:0 0 0 12px}.ico-o-playnow:before{content:"\\E6D3"}.ico-o-playnow:hover:before{content:"\\E6D2"}.ico-o-pause:before{content:"\\E6CC"}.ico-o-pause:hover:before{content:"\\E6CB"}.ico-o-play:before{content:"\\E6DE"}.ico-o-play:hover:before{content:"\\E6DF"}.ico-o-down:before{content:"\\E6DC"}.ico-o-down:hover:before{content:"\\E6DD"}.ico-o-delete:before{content:"\\E6D9"}.ico-o-delete:hover:before{content:"\\E6DA"}.ico-o-redo:before{content:"\\E6D5"}.ico-o-redo:hover:before{content:"\\E6D8"}.ico-o-share{position:relative;display:inline-block;margin:0 0 0 12px}.ico-o-share:before{content:"\\E6CA"}.ico-o-share:hover:before{content:"\\E6CE"}.ico-o-share i{position:absolute;width:22px;height:22px;bottom:0;left:0;overflow:hidden;font-style:normal}.ico-o-share i:before{content:"\\E6C9"}.ico-o-share:hover i{opacity:0}.canvas-box{position:relative;z-index:1;height:calc(100% - 90px)}.canvas-box:after{top:0;left:0;width:100%;height:100%;position:absolute;content:"";background:repeating-linear-gradient(transparent,transparent 24px,var(--color-chart-line) 0,var(--color-chart-line) 25px)}.canvas-box .canvas-data{position:relative;z-index:2}.canvas-box.finish{opacity:.3}.data-show{position:absolute;color:var(--color-primary);z-index:3}.data-show .point{position:relative;z-index:6;width:7px;height:7px;margin:-4px 0 0 -5px;border-radius:50%;border:solid 1px var(--color-primary);background:#fff}.data-show .text-data{position:absolute;left:13px;bottom:-7px;width:72px;height:24px;line-height:24px;text-align:center;color:var(--color-primary);background:var(--chart-tips);border-radius:3px;font-size:12px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.data-show .text-data.is-left{left:auto;right:13px}.data-show .text-data.is-left-ani{left:auto;right:35px}.data-show .text-data.is-right-ani{left:24px}.data-vip{color:#ff4848}.data-vip .point{border-color:#fe4e4f}.data-info{position:absolute;width:100%;bottom:0;line-height:40px;color:var(--chart-text);font-size:13px}.data-info .line{display:block;width:1px;height:11px;background:var(--chart-line);margin:0 12px}.data-info .data-time{font-size:24px}.data-info .data-info-des,.data-info .data-info-main{display:flex;justify-content:center;align-items:center}.data-info .data-info-des{display:none}.data-info .label-color{width:12px;height:12px;display:inline-block;margin:0 5px 0 0;vertical-align:-1px}.data-info .color-all{background:var(--chart-speed)}.data-info .color-vip{background-image:linear-gradient(45deg,#bda3fe,#fc75db)}.data-tips{width:70px;height:24px;line-height:24px;border-radius:3px;color:var(--color-primary);background:var(--chart-tips);box-shadow:0 0 8px 0 rgba(147,151,178,.22);z-index:4}.data-note,.data-tips{position:absolute;text-align:center}.data-note{z-index:3;left:0;top:50%;display:flex;justify-content:center;align-items:center;width:100%;height:40px;margin:-20px 0 0;line-height:40px;font-size:15px;color:#ff8a00}.data-note p{padding:0 20px;background-color:hsla(0,0%,100%,.8);border-radius:20px}.ico-d-note{display:inline-block;vertical-align:middle;margin:0 5px 2px 0;color:currentColor;font-size:16px}.ico-d-note:before{content:"\\E6EB"}.ico-d-delete,.ico-d-down,.ico-d-open,.ico-d-play,.ico-d-redo{color:#fff;font-size:22px;line-height:1;margin:0 5px 0 0}.ico-d-open:before{content:"\\E6CD"}.ico-d-play:before{content:"\\E6D4"}.ico-d-delete:before{content:"\\E6DB"}.ico-d-redo:before{content:"\\E6D6"}.ico-d-down:before{content:"\\E6D7"}.btn-data-wp{position:absolute;width:100%;height:calc(100% - 96px);top:48px}.btn-data-wp,.btn-data-wp .btn-opt{display:flex;justify-content:center;align-items:center}.btn-data-wp .btn-opt{height:34px;border-radius:16px;background-color:var(--chart-button-fill);font-size:15px;color:#fff;z-index:3;padding:0 24px;transition:.2s}.btn-data-wp .btn-opt:hover{background:var(--chart-button-fill-hover)}.btn-data-wp .txt-tips{top:50%;margin-top:25px;width:100%;text-align:center;color:#ff8a00;position:absolute;font-size:13px;z-index:3}.xlx-data-ani{position:absolute;margin:-34px 0 0 -34px;z-index:5;width:60px;height:60px;transform:scale(.7)}.xlx-data-ani .xlx-data-type{display:block;width:100%;height:100%;z-index:3;overflow:hidden;cursor:pointer}.xlx-data-ani .xlx-data-type:after{display:block;width:1500px;height:100%;background-image:url(' + o(i("XRcH")) + ');background-position:-1442px 0;pointer-events:none;content:""}.xlx-data-ani .xlx-data-type.is-speed1:after{background-position:0 -180px;animation:speed 1s .3s steps(25) infinite}.xlx-data-ani .xlx-data-type.is-speed2:after{background-position:0 -120px;animation:speed 1s .3s steps(25) infinite}.xlx-data-ani .xlx-data-type.is-speed4:after{background-position:0 -60px;animation:speed 1s .3s steps(25) infinite}.xlx-data-ani .xlx-data-type.is-speed3:after{background-position:0 -240px;animation:speed 1s .3s steps(25) infinite}.xlx-data-ani .xlx-data-type.is-scale{animation:scale 1s both}.xlx-data-ani .xlx-data-type.is-stopped:after{animation:none!important}@keyframes speed{0%{transform:translateZ(0)}to{transform:translate3d(-1500px,0,0)}}@keyframes scale{0%,to{transform:scale(1)}50%{transform:scale(0)}}.xlx-data-ani .xlx-data-bomb{position:absolute;left:0;top:0;display:none;width:100%;height:100%;overflow:hidden}.xlx-data-ani .xlx-data-bomb:after{display:block;width:1500px;height:100%;background-image:url(' + o(i("XRcH")) + ');background-position:0 0;animation:speed 1s steps(25);content:""}', ""])
    }, Vn7R: function (t, e, i) {
        "use strict";
        var o = i("Dd8w"), n = i.n(o), r = i("woOf"), a = i.n(r), s = i("Gu7T"), c = i.n(s), l = i("WFD5"),
            p = (i.n(l), i("Zew7")), d = (i.n(p), i("0X07")), u = (i.n(d), i("sqP0")), x = (i.n(u), i("gL2E")),
            m = (i.n(x), i("hlD9")), h = i("4nU2"), f = i("Z1db"), g = i("oTk5"), b = i("M+3x"), v = i("vqIZ"),
            _ = i("NbXr"), k = i("s0dP"), y = i("e1OG");
        e.a = {
            components: {
                XlCommentList: Object(b.a)(m.a),
                XlCommentInput: Object(h.a)(f.a),
                XlCommentAvartar: g.a,
                XlCommentRank: Object(_.a)(v.a),
                XlQuickReview: Object(y.a)(k.a)
            }, props: {gcid: {type: String, default: ""}, curTask: {type: Object, default: null}}, data: function () {
                return {
                    maxLength: 100,
                    isInputFocused: !1,
                    autoSendCommentText: "",
                    lastCommentTime: (new Date).getTime()
                }
            }, computed: {
                commentPageIndex: function () {
                    return this.$store.state.comments.curPage
                }, reportCommonData: function () {
                    return {
                        gcid: this.gcid,
                        taskid: this.curTask.taskID,
                        filename: this.curTask.name,
                        pannel: this.pannel
                    }
                }, pannel: function () {
                    return this.$store.state.pannel
                }, comments: function () {
                    if (!0 === this.$sget(this.curTask, "isFromVest") && this.gcid) return [];
                    if (this.gcid) {
                        var t = this.$store.state, e = t.comments.resources[this.gcid],
                            i = [].concat(c()((this.$sget(e, "hot") || []).map(function (e) {
                                return a()({}, t.comments.all[e], {type: "hot"})
                            })), c()((this.$sget(e, "new") || []).map(function (e) {
                                return t.comments.all[e]
                            })));
                        return i
                    }
                }
            }, watch: {
                "curTask.taskID": function () {
                    this.isInputFocused = !1
                }
            }, methods: {
                report: function (t) {
                    var e = (arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}).cid;
                    this.$stat("download_detail", "dltab_detail_comment_click", n()({}, this.reportCommonData, {
                        button: t,
                        cid: e
                    }))
                }, setCurPage: function (t) {
                    this.$store.commit("comments/setCurPage", t)
                }, startComment: function () {
                    this.isInputFocused = (new Date).getTime()
                }, sendQuickReview: function (t) {
                    this.autoSendCommentText = t, this.$stat("download_detail", "dltab_detail_quickcomment_click", n()({}, this.reportCommonData, {comments: t}))
                }, updateComment: function () {
                    var t = this;
                    this.$raven.debug("updateComment"), setTimeout(function () {
                        t.lastCommentTime = (new Date).getTime()
                    }, 2e3)
                }, handleQuickCommentShow: function (t) {
                    this.$stat("download_detail", "dltab_detail_quickcomment_show", n()({}, this.reportCommonData, {comments: t.join("|")}))
                }, sendXlpasswordShow: function (t, e) {
                    var i = this.$sget(t, "length"), o = /#X.+#/i;
                    if (i > 0) for (var n = i - 1; n >= 0; n--) if ("string" == typeof t[n].comment && o.test(t[n].comment)) {
                        this.$stat("download_detail", "dltab_detail_comment_xlpassword_show", {
                            is_copyright_source: 704 === this.$sget(this.curTask, "errCode") ? 1 : 0,
                            is_login: 0 !== parseInt(e) ? 1 : 0
                        });
                        break
                    }
                }
            }
        }
    }, VzI3: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("li", {
                staticClass: "xlx-attribute-progress__item",
                attrs: {title: t.description}
            }, [i("span", {staticClass: "xlx-attribute-progress__title"}, [t._v(t._s(t.label))]), i("td-progress", {
                attrs: {
                    value: t.fileSize ? ((t.downloadSize || 0) / t.fileSize * 100).toFixed(2) : "0.0",
                    "text-visible": ""
                }
            }, [t._v("\n    " + t._s(t.fileSize ? t.downloadSize > t.fileSize ? ">100%" : ((t.downloadSize || 0) / t.fileSize * 100).toFixed(2) + "%" : "0.00%") + "\n  ")]), i("span", {staticClass: "xlx-attribute-progress__size"}, [t._v("\n    " + t._s(t._f("file-size")(t.downloadSize)) + "\n  ")])], 1)
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, WCBf: function (t, e, i) {
        "use strict";
        e.a = {
            props: {icon: {type: Object, required: !0}}, data: function () {
                return {show: !1, defaultIcon: i("5X0l")}
            }, methods: {
                imgError: function (t) {
                    t.target.src = this.defaultIcon
                }
            }
        }
    }, WLbb: function (t, e, i) {
        var o = i("uFYg");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("8b4a8cb0", o, !1)
    }, WyKy: function (t, e, i) {
        "use strict";
        var o = i("7Jn1"), n = i("FKCV"), r = i("NQag"), a = i("Nwvo"), s = i.n(a), c = i("Zew7"),
            l = (i.n(c), i("vGiC")), p = i("LF7Y"), d = i("Rhsk");
        e.a = {
            components: {XlBadge: o.a, XlHeader: n.a},
            mixins: [l.a],
            props: {showCustom: {type: Boolean, default: !0}},
            data: function () {
                return {current: 0, praising: !1, customIndex: 0, showTip: !1, uid: null}
            },
            computed: {
                banners: function () {
                    return this.$store.state.reviews.banners
                }, act: function () {
                    return this.$store.state.home.configModules.reviewAct || {}
                }, list: function () {
                    var t = this, e = Object(r.a)(new Date), i = this.banners.slice(0, 4);
                    if (this.act.startDate <= e && this.act.endDate >= e) {
                        var o = i.findIndex(function (e) {
                            return e.online_time === t.act.startDate
                        });
                        i[o = o >= 0 ? o : i.length > 0 ? i.length - 1 : 0] = this.act
                    }
                    return i
                }, banner: function () {
                    return this.list[this.current] || {}
                }, review: function () {
                    return this.$store.state.reviews.all[this.banner.review_id] || {}
                }, time: function () {
                    return this.$sget(this.banner, "online_time") ? this.$sget(this.banner, "online_time") : this.$sget(this.banner, "startDate") || ""
                }, year: function () {
                    return this.time.split("-")[0]
                }, month: function () {
                    var t = +this.time.split("-")[1] - 1;
                    return ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"][t]
                }, day: function () {
                    return this.time.split("-")[2]
                }, recommends: function () {
                    return this.$store.state.reviews.recommends || []
                }, materialList: function () {
                    return this.$store.state["custom-home"].materialList
                }, publisherInfo: function () {
                    return this.$store.state["custom-home"].publisherInfo
                }, custom: {
                    get: function () {
                        var t = this.$store.state.home.custom;
                        return void 0 !== t && null !== t || (t = !0), t && this.customHomeEnable
                    }, set: function (t) {
                        this.$store.commit("home/setCustom", !(!t || !this.customHomeEnable)), Object(p.e)(t)
                    }
                }, customHomeEnable: function () {
                    return this.$store.state.home.configModules.customHomeEnable
                }
            },
            created: function () {
                var t = this;
                this.$store.dispatch("home/getNavConfig"), this.$store.dispatch("reviews/getBanners"), this.$store.dispatch("reviews/getReviewSelection"), this.$store.dispatch("home/getIPBlockInfo"), this.$stat("download_detail", "dltab_startup_filmlib_recommend_show"), Object(p.c)().then(function (e) {
                    e ? (t.uid = e, t.$store.dispatch("custom-home/fetchCustomList", e).then(function (i) {
                        t.$stat("download_detail", "dltab_startup_page_show", {
                            type: t.custom && i.length ? "Individualization_home_page" : "official_home_page",
                            uid: e
                        }), Object(p.d)(t.custom && i.length)
                    }), t.$store.dispatch("custom-home/fetchPublisherInfo", e)) : (t.$stat("download_detail", "dltab_startup_page_show", {type: "official_home_page"}), Object(p.d)(!1))
                }), Object(p.a)().then(function (e) {
                    return t.$store.commit("home/setCustom", e)
                })
            },
            mounted: function () {
                var t = this;
                s.a.api.attach("OnTabVisibleChange", function (e, i) {
                    e && i && (t.current >= 3 ? t.current = 0 : t.current += 1, t.$stat("download_detail", "dltab_startup_filmlib_show", {gcid: t.list[t.current].review_id}))
                })
            },
            methods: {
                resolveUrl: function (t) {
                    return t && !/^http/.test(t) && (t = /^\/\//.test(t) ? "http:" + t : "http://" + t), t
                }, changeCustom: function () {
                    this.materialList.length ? this.custom = !this.custom : Object(d.j)(function (t) {
                        "close" !== t && window.open("https://vip.xunlei.com/thunder-x-custom-editon/")
                    }), this.$stat("download_detail", "dltab_startup_Individualization_click", {
                        uid: this.uid,
                        button: this.materialList.length ? this.custom ? "to_Individualization_home_page" : "to_official_home_page" : "Initialization"
                    })
                }, praise: function () {
                    var t = this;
                    this.review.have_fav || this.praising || (this.praising = !0, this.$store.dispatch("reviews/praise", this.review.id).then(function () {
                        t.praising = !1
                    }), this.reportBannerClick(this.current, this.banner.review_id, "like"))
                }, reportBannerClick: function (t, e, i) {
                    this.$stat("download_detail", "dltab_startup_filmlib_click", {rn: t + 1, gcid: e, button: i})
                }, bannerHover: function (t, e) {
                    this.$stat("download_detail", "dltab_startup_filmlib_hover", {rn: t + 1, gcid: e})
                }, filmClick: function () {
                    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
                        e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", i = arguments[2];
                    this.$stat("download_detail", "dltab_startup_filmlib_pic_click", {rn: t + 1, gcid: e, button: i})
                }, recommendHover: function (t, e) {
                    this.$stat("download_detail", "dltab_startup_filmlib_recommend_hover", {rn: t + 1, gcid: e})
                }, recommendClick: function (t, e, i) {
                    this.$stat("download_detail", "dltab_startup_filmlib_pic_recommend_click", {
                        rn: e + 1,
                        gcid: i,
                        button: t
                    })
                }
            }
        }
    }, X4AI: function (t, e, i) {
        "use strict";
        Object.defineProperty(e, "__esModule", {value: !0});
        var o = i("2qTA"), n = i("DUGm"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "pages\\task-detail.vue", e.default = r.exports
    }, XRcH: function (t, e, i) {
        t.exports = i.p + "img/spr-data-ani.d906a53.png"
    }, XZBC: function (t, e, i) {
        t.exports = i.p + "fonts/icon-custom.b1c4f67.woff"
    }, XbMm: function (t, e, i) {
        t.exports = i.p + "img/ani-activity.7e890c0.png"
    }, XcHK: function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ".xmp{background:#202020;display:flex;align-items:center;justify-content:center;height:100vh}.xmp .header{display:none}.xmp .index-article h1 a{color:#fff}.xmp .index-article h1 a:hover{color:var(--colorLight)}.xmp .index-article p{display:none}.xmp .from-info .user-name{color:#afafaf}.xmp .from-info .user-name:hover{color:var(--colorLight)}@media only screen and (max-height:650px),only screen and (max-width:860px){.xmp .index-article{margin-top:3px}.xmp .index-article h1{line-height:46px}.xmp .from-info{margin:0}}", ""])
    }, "Xo+z": function (t, e, i) {
        t.exports = i.p + "img/xlx-bookmarks.4204739.png"
    }, YnST: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return t.icon.iconDisplay ? i("a", {
                attrs: {
                    href: t.icon.url,
                    target: "_blank"
                }
            }, [i("span", {
                staticClass: "ico-nav", on: {
                    mouseover: function (e) {
                        t.show = !0
                    }, mouseleave: function (e) {
                        t.show = !1
                    }
                }
            }, [t.show ? i("img", {
                attrs: {src: t.$sget(t.icon, "coverHover") || t.defaultIcon, alt: t.icon.text},
                on: {errpr: t.imgError}
            }) : i("img", {
                attrs: {src: t.$sget(t.icon, "cover") || t.defaultIcon, alt: t.icon.text},
                on: {error: t.imgError}
            }), i("i", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: t.$sget(t.icon, "isShowNew"),
                    expression: "$sget(icon, 'isShowNew')"
                }], staticClass: "tag-new"
            })]), i("span", {staticClass: "text"}, [t._v(t._s(t.icon.text))])]) : t._e()
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, Z1db: function (t, e, i) {
        "use strict";
        var o = i("pXUP"), n = i("slrS"), r = !1;
        var a = function (t) {
            r || i("7Fmy")
        }, s = i("VU/8")(o.a, n.a, !1, a, null, null);
        s.options.__file = "components\\comment\\XlCommentInput.vue", e.a = s.exports
    }, Z33O: function (t, e, i) {
        t.exports = i.p + "fonts/xlx-icon-vip.dc70f17.ttf"
    }, ZKSA: function (t, e, i) {
        "use strict";
        var o = i("i/Wj"), n = i("LHx/"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\comment\\XlEmoji.vue", e.a = r.exports
    }, ZbHq: function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ":root{--color-danger:#ff4848;--side-width:354px;--background-hover:#f0f3fa}.is-theme{--color-primary:rgb(var(--color-primary-control-1));--color-primary-hover:rgb(var(--color-primary-control-1));--button-default-fill:rgb(var(--color-primary-control-1));--button-default-fill-hover:rgb(var(--color-primary-control-2));--button-secondary-fill:rgb(var(--color-primary-control-4));--button-secondary-fill-hover:rgb(var(--color-primary-control-3));--color-primary-gray-1:rgba(var(--color-primary-control-1),.6);--color-primary-gray-2:rgba(var(--color-primary-control-1),.5);--color-primary-gray-3:rgba(var(--color-primary-control-1),.3);--background-main:linear-gradient(-45deg,rgba(var(--color-gradient-background-1),1),rgba(var(--color-gradient-background-2),1));--background-front:linear-gradient(rgba(var(--color-gradient-foreground-1),var(--default-opacity-1)),rgba(var(--color-gradient-foreground-2),var(--default-opacity-2)));--browser-background-current:rgba(var(--color-gradient-foreground-1),var(--default-opacity-1));--browser-background:rgba(var(--color-search),.4);--tab-text:rgba(var(--color-primary-text),.7);--tab-text-current:rgb(var(--color-primary-text));--tab-text-hover:rgb(var(--color-primary-text));--tab-more:rgba(var(--color-secondary),.2);--tab-more-hover:rgba(var(--color-secondary),.3);--tab-more-checked:rgba(var(--color-search),.4);--color-icon-oparate:rgba(var(--color-primary-text),.8);--background-icon-oparate:rgba(var(--color-primary-theme),.3);--search-background:rgba(var(--color-search),.4);--search-icon:rgba(var(--color-primary-text),.7);--search-color:rgb(var(--color-primary-text));--personal-color-text:rgb(var(--color-primary-text));--side-background-item:linear-gradient(270deg,rgba(var(--color-accordion-1),.25),rgba(var(--color-accordion-2),.1));--side-background-item-hover:linear-gradient(90deg,rgba(var(--color-accordion-1),.25),rgba(var(--color-accordion-2),.1));--side-color-main:rgb(var(--color-primary-theme));--side-text-color:rgb(var(--color-primary-text));--side-text-color-1:rgba(var(--color-primary-text),.5);--icon-color:linear-gradient(45deg,rgb(var(--color-primary-gradient-1)),rgb(var(--color-primary-gradient-2)));--side-color-item:rgb(var(--color-secondary));--side-background-title:linear-gradient(90deg,rgba(var(--color-accordion-1),.16),rgba(var(--color-accordion-2),.16),rgba(var(--color-accordion-2),0));--side-background-title-hover:linear-gradient(90deg,rgba(var(--color-accordion-1),.3),rgba(var(--color-accordion-2),.3),rgba(var(--color-accordion-2),0));--side-thumb:rgba(var(--color-secondary),.3);--side-thumb-hover:rgba(var(--color-secondary),.5);--side-background-drag:rgba(var(--color-gradient-background-2),.3);--side-background-number:rgba(var(--color-gradient-foreground-2),.6);--side-background-search:rgb(var(--color-gradient-foreground-2));--side-background-record:rgba(var(--color-secondary),.16);--side-result-text:rgb(var(--color-primary-theme));--tree-background:rgb(var(--color-primary-control-4));--background-hover:rgb(var(--color-primary-control-4));--suspension-progress:rgb(var(--color-primary-control-3));--index-color-nav:rgba(var(--color-primary-text),.6);--index-color-title:rgba(var(--color-primary-text),1);--index-color-sub:rgba(var(--color-primary-text),.5);--index-color-hover:rgba(var(--color-primary-text),.8);--home-background-tab:rgba(var(--color-gradient-foreground-1),var(--default-opacity-1));--home-color-tab:rgba(var(--color-primary-text),.8);--home-color-tab-active:rgb(var(--color-primary-text));--home-arrow:rgba(var(--color-primary-control-1),.5);--home-thumb:rgba(var(--color-secondary),.3);--home-thumb-hover:rgba(var(--color-secondary),.5);--file-color-border:rgba(var(--color-secondary),.14);--file-background:transparent;--file-background-row:rgba(var(--color-primary-theme),.05);--color-text:rgb(var(--color-primary-text));--file-color-disable:rgba(var(--color-primary-text),.4);--file-link:rgb(var(--color-primary-theme));--file-link-hover:rgb(var(--color-primary-theme));--file-background-checkbox:transparent;--file-background-footer:rgba(var(--color-gradient-foreground-2),var(--default-opacity-2));--file-button-fill:rgba(var(--color-primary-control-1),.8);--file-button-fill-hover:rgb(var(--color-primary-control-1));--chart-background:linear-gradient(90deg,rgba(var(--color-primary-gradient-1),.2),rgba(var(--color-primary-gradient-2),.2));--color-chart-line:rgba(var(--color-primary-theme),.2);--chart-color:rgb(var(--color-primary-theme));--chart-button-fill:rgba(var(--color-primary-control-1),.8);--chart-button-fill-hover:rgb(var(--color-primary-control-1));--chart-text:rgba(var(--color-secondary),.8);--chart-tips:rgba(var(--color-primary-theme),.2);--chart-line:rgba(var(--color-secondary),.8);--chart-speed:linear-gradient(45deg,rgb(var(--color-primary-theme)),rgb(var(--color-primary-theme)));--comment-line:rgba(var(--color-secondary),.3);--comment-link:rgba(var(--color-secondary),.8);--comment-color:rgb(var(--color-primary-text));--comment-quote-color:rgba(var(--color-secondary),.7);--comment-quote-background:rgba(var(--color-secondary),.08);--comment-color-main:rgba(var(--color-primary-text),.8);--comment-fast:rgba(var(--color-secondary),.8);--comment-placeholder:rgba(var(--color-secondary),.5);--comment-name:rgb(var(--color-secondary));--speed-background:rgba(var(--color-secondary),.1);--speed-color:rgba(var(--color-primary-text),.5);--speed-text:rgb(var(--color-primary-text));--speed-text-secondary:rgba(var(--color-secondary),.6);--speed-primary:rgb(var(--color-primary-text));--speed-null:rgba(var(--color-secondary),.3);--speed-num:rgba(var(--color-primary-theme),1);--attribute-color:rgba(var(--color-primary-text),.8);--attribute-color-hover:rgba(var(--color-primary-text),.8);--attribute-color-1:rgb(var(--color-primary-text));--attribute-color-2:rgba(var(--color-secondary),.4);--attribute-color-3:rgb(var(--color-secondary));--attribute-color-4:rgba(var(--color-secondary),.6);--attribute-background-bar:rgba(var(--color-secondary),.1);--attribute-background-inner:rgba(var(--color-primary-theme),.4);--attribute-background-vip:rgb(var(--color-primary-theme));--promote-background:rgba(var(--color-primary-control-1),.2);--promote-background-hover:rgba(var(--color-primary-control-1),.5);--promote-text:rgb(var(--color-primary-text));--promote-text-sub:rgba(var(--color-primary-theme),.6);--promote-active:rgb(var(--color-primary-theme));--movie-title:rgba(var(--color-secondary),.8);--movie-text:rgba(var(--color-secondary),.5);--movie-text-hover:rgb(var(--color-primary-text));--movie-background:rgba(var(--color-secondary),.08)}", ""])
    }, ZeZP: function (t, e, i) {
        var o = i("gjIs");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("5c6a383c", o, !1)
    }, Zew7: function (t, e, i) {
        var o = i("ZbHq");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("7406dbd1", o, !1)
    }, ZpDn: function (t, e, i) {
        var o = i("Vidy");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("0556ec72", o, !1)
    }, Zrlr: function (t, e, i) {
        "use strict";
        e.__esModule = !0, e.default = function (t, e) {
            if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
        }
    }, aRd0: function (t, e, i) {
        t.exports = i.p + "img/xlx-icon-16x16.f6c0850.png"
    }, bjtf: function (t, e, i) {
        t.exports = i.p + "img/xlx-icon-16x16-2x.799b569.png"
    }, brX7: function (t, e, i) {
        var o = i("kxFB");
        (t.exports = i("FZ+f")(!1)).push([t.i, ':root{--comment-link:#7698b7;--comment-color:#1a1a1a;--comment-quote-color:#a5b4c3;--comment-quote-background:#f5f5f5;--comment-color-main:#69f;--comment-disable:#ccc;--comment-line:#d7e7f1;--comment-fast:gray;--comment-placeholder:#ccc;--comment-name:#667f97}.xlx-comment{--color-primary:var(--comment-color-main);color:var(--comment-color)}.xlx-comment .xlx-comment-main{display:flex;margin-bottom:35px}.xlx-comment .xlx-comment__image{width:42px;height:42px;margin-right:22px}.xlx-comment .xlx-comment__image img{width:100%;border-radius:50%}.xlx-comment .td-textarea__inner{color:var(--comment-color)}.xlx-comment .td-textarea__inner::placeholder{color:var(--comment-placeholder)}.xlx-comment .xlx-comment__write{position:relative;display:flex;align-items:center;flex:1;background:transparent;border-radius:4px;border:solid 1px var(--comment-line);box-sizing:border-box}.xlx-comment .xlx-comment__write .td-textarea{width:calc(100% - 60px)}.xlx-comment .xlx-comment__write .td-textarea .td-textarea__inner{width:100%;height:30px;overflow:hidden;background:transparent;transition:.2s}.xlx-comment .xlx-comment__write.is-disabled{filter:grayscale(1) brightness(.95);user-select:none;pointer-events:none}.xlx-comment__oprate{height:30px;display:inline-flex;align-items:center;padding:0 10px}.xlx-comment__oprate .xlx-comment__line{width:1px;height:11px;margin:0 12px;background:var(--comment-line)}.xlx-comment__oprate .xlx-button-sumbit{color:var(--comment-link)}.xlx-comment__oprate .xlx-button-sumbit:hover{color:var(--color-primary)}.xlx-comment__oprate .xlx-button-sumbit.is-disabled{color:var(--color-primary-gray-2);cursor:default}.xlx-comment .xlx-comment__write.is-focus{display:block;text-align:right}.xlx-comment .xlx-comment__write.is-focus .td-textarea{width:100%;display:block}.xlx-comment .xlx-comment__write.is-focus .td-textarea__inner{width:100%;height:40px;overflow:auto;color:var(--comment-color)}.xlx-comment .xlx-comment__write .td-textarea__inner{border:0}.xlx-comment-list__item{display:flex;margin-bottom:20px}.xlx-comment-list__item .xlx-comment-list__speed{margin-left:8px;color:var(--comment-quote-color)}.xlx-comment-list__item .xlx-comment-list__speed.is-fast{color:var(--color-warn-1)}.xlx-comment-list__item.is-hot .xlx-comment-list__content{border-color:rgba(255,72,72,.3)}.xlx-comment-list__item.is-hot .xlx-comment-list__praise{color:var(--color-danger-1)}.xlx-comment-list__content{padding-bottom:20px;flex:1;width:calc(100% - 64px);border-bottom:solid 1px var(--comment-line)}.xlx-comment-list__content .xlx-comment-list__delete{display:none}.xlx-comment-list__content:hover .xlx-comment-list__delete{display:inline-block}.xlx-comment-list__header{display:flex;align-items:center;margin-bottom:14px}.xlx-comment-list__header .xlx-comment-list__user-name{margin-right:5px;color:var(--comment-name)}.xlx-comment-list__header .xlx-comment-list__user-name.is-vip{color:var(--color-danger-1)}.xlx-comment-list__body{margin-bottom:14px;line-height:16px}.xlx-comment-list__body .xlx-comment-list__text{word-wrap:break-word;white-space:pre-wrap}.xlx-comment-list__body .xlx-comment-list__quote{position:relative;padding:10px;margin-top:14px;background:var(--comment-quote-background);border-radius:5px;color:var(--comment-quote-color)}.xlx-comment-list__body .xlx-comment-list__quote-text{word-wrap:break-word;white-space:pre-wrap}.xlx-comment-list__wrapper{display:flex;justify-content:space-between;margin-top:14px}.xlx-comment-list__information{color:var(--comment-quote-color)}.xlx-comment-list__operate a{margin-left:20px;transition:.2s}.xlx-comment-list__operate a:hover{color:var(--color-primary)}.xlx-comment-list__operate>a{color:var(--comment-link)}.xlx-comment-list__operate .xlx-comment-list__praise.is-animation{position:relative}.xlx-comment-list__operate .xlx-comment-list__praise.is-animation:before{position:absolute;top:-13px;right:0;content:"+1";animation:praise-add .8s both}@keyframes praise-add{0%{transform:translateZ(0);opacity:0}40%,60%{transform:translate3d(0,-5px,0);opacity:1}to{transform:translate3d(0,-10px,0);opacity:0}}.is-active.xlx-comment-list__comment,.is-active.xlx-comment-list__praise{color:var(--color-primary)}.is-hot .is-active.xlx-comment-list__praise{color:var(--color-danger-1)}.xlx-comment-list__footer .xlx-comment__write{margin-top:14px}.xlx-comment-fast{padding-left:64px}.xlx-comment-fast .xlx-comment-fast__title-text{display:flex;align-items:center;color:var(--comment-quote-color)}.xlx-comment-fast .xlx-comment-fast__refresh{color:var(--color-primary)}.xlx-comment-fast .xlx-comment-fast__content{display:flex;flex-wrap:wrap;margin:10px 0 0 -10px}.xlx-comment-fast .xlx-comment-fast__item{display:inline-block;margin:0 0 10px 10px;padding:0 10px;line-height:30px;color:var(--comment-fast);border:solid 1px var(--comment-line);border-radius:4px;transition:.2s}.xlx-comment-fast .xlx-comment-fast__item:hover{color:var(--color-primary);border-color:var(--color-primary)}.td-pagination{margin-left:64px}.xlx-face{position:relative}.xlx-face .xlx-face__icon{color:var(--comment-link)}.xlx-face .xlx-face__icon:hover{color:var(--color-primary)}.xlx-face-emoji{position:absolute;z-index:99;width:200px;padding:10px 6px;background:#fff;box-shadow:0 0 20px rgba(0,0,0,.1)}.xlx-comment-tips{padding:27px 0 50px;text-align:center}.xlx-comment-tips h2{margin-bottom:8px;font-size:16px;color:#7b7b7b}.xlx-comment-tips p{margin-bottom:10px;color:#bfbfbf}.xlx-comment-tips .xlx-icon-blank-comment{display:block;margin:0 auto;width:280px;height:55px;background:url(' + o(i("Kc4X")) + ") no-repeat;background-size:280px auto}", ""])
    }, c0Ma: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("a", {
                staticClass: "xlx-movie__item",
                attrs: {href: t.url, target: "_blank"},
                on: {
                    click: function (e) {
                        t.$emit("click", "other")
                    }
                }
            }, [i("div", {staticClass: "xlx-movie__image"}, [i("a", {
                staticClass: "article-picture",
                attrs: {href: t.url, target: "_blank"},
                on: {
                    click: function (e) {
                        e.stopPropagation(), t.$emit("click", "pic")
                    }
                }
            }, [i("img", {
                directives: [{
                    name: "lazy",
                    rawName: "v-lazy",
                    value: t.imgObj,
                    expression: "imgObj"
                }]
            })])]), i("div", {staticClass: "xlx-movie__info"}, [i("h3", [i("a", {
                attrs: {
                    href: t.url,
                    target: "_blank",
                    title: t.review.title
                }, on: {
                    click: function (e) {
                        e.stopPropagation(), t.$emit("click", "title")
                    }
                }
            }, [t._v(t._s(t.review.title))])]), i("div", {staticClass: "xlx-movie__from"}, [i("div", {staticClass: "xlx-movie__user"}, [i("a", {
                staticClass: "xlx-movie__user-avatar",
                attrs: {href: t.getUserLink(t.review.uid), target: "_blank"},
                on: {
                    click: function (e) {
                        e.stopPropagation(), t.$emit("click", "head_pic")
                    }
                }
            }, [i("img", {
                directives: [{name: "lazy", rawName: "v-lazy", value: t.avartar, expression: "avartar"}],
                key: t.avartar
            })]), t.$sget(t.review, "media_info", "name") || t.$sget(t.review, "tag") ? [t._v("\n          评《"), i("a", {
                staticClass: "xlx-promote__name",
                attrs: {href: t.movieUrl, target: "_blank"},
                on: {
                    click: function (e) {
                        e.stopPropagation(), t.$emit("click", "film_name")
                    }
                }
            }, [t._v(t._s(t.$sget(t.review, "media_info", "name") || t.$sget(t.review, "tag")))]), t._v("》\n        ")] : [t._v("\n          评电影\n        ")]], 2), i("div", {staticClass: "xlx-movie__view"}, [i("i", {staticClass: "xlx-icon-view"}), t._v(t._s(t.review.show_count) + "\n      ")])])])])
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, c0Vv: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement;
            return (t._self._c || e)("a", {
                style: t.rotateStyle,
                attrs: {href: "javascript:;", title: "换一换"},
                on: {
                    click: function (e) {
                        t.deg += 180
                    }
                }
            }, [t._t("default")], 2)
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, cIfD: function (t, e, i) {
        "use strict";
        e.a = {props: {text: {type: String, default: "加载中..."}}}
    }, "e/Sy": function (t, e, i) {
        "use strict";
        Object.defineProperty(e, "__esModule", {value: !0});
        var o = i("MfWJ"), n = i("eFwr"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "pages\\property.vue", e.default = r.exports
    }, e1OG: function (t, e, i) {
        "use strict";
        var o = i("yxXY"), n = i("7udH"), r = i.n(n), a = i("KkRX"), s = i("PeDW");
        e.a = o.a.connect({
            mapStateToProps: {
                quickReviewConfigs: function (t, e) {
                    var i = a.a[e.suffix], o = s.a[i] || "5";
                    return r()(t.comments.quickReview[o], "reviews") || []
                }
            }, mapDispatchToProps: {getSpeedRank: "comments/getSpeedRank"}
        })
    }, eDqE: function (t, e, i) {
        "use strict";
        var o = i("fZjL"), n = i.n(o), r = i("woOf"), a = i.n(r), s = i("u2KI"), c = i.n(s), l = i("gKGV"),
            p = (i.n(l), i("sqP0")), d = (i.n(p), i("GAsr")), u = i("hMyI"), x = i("Rhsk");
        e.a = {
            components: {TaskChart: d.a, LabelItem: u.a},
            props: {
                curTask: {type: Object, default: null},
                operate: {type: Function, required: !0},
                domReady: {type: Boolean, default: !1},
                skinInfo: {type: Object, default: null},
                speedCurveSkinInfo: {type: Object, default: null}
            },
            data: function () {
                return {
                    labelWidth: 72,
                    labelPadding: 21,
                    chartMainColoeOpacity: 1,
                    chartMainGradientOpcityStart: .2,
                    chartMainGradientOpcityEnd: 0
                }
            },
            computed: {
                curTaskPrimaryAction: function () {
                    var t = this.$sget(this.curTask, "status"), e = this.$sget(this.curTask, "actions") || [];
                    if ("8" === t || "10" === t) {
                        if (e.includes("play") || e.includes("playAndDown")) return "play";
                        if (e.includes("openFolder")) return "openFolder"
                    } else {
                        if ("7" === t) return "continue";
                        if ("20" === t) return "restore";
                        if ("22" === t) return "delete"
                    }
                }, isDefaultSkin: function () {
                    return 0 === this.$sget(this.skinInfo, "type")
                }, skinMainThemeColor: function () {
                    return this.$sget(this.skinInfo, "colors", "colorPrimary")
                }, lineSkinMainColor: function () {
                    return void 0 !== this.skinMainThemeColor ? "rgba(" + this.skinMainThemeColor + ", " + this.chartMainColoeOpacity + ")" : ""
                }, lineGradientColor: function () {
                    var t = [];
                    return "" !== this.lineSkinMainColor && (t[0] = "rgba(" + this.skinMainThemeColor + ", " + this.chartMainGradientOpcityStart + ")", t[1] = "rgba(" + this.skinMainThemeColor + ", " + this.chartMainGradientOpcityEnd + ")"), t
                }, data: function () {
                    return this.curTask ? [{
                        data: c()(a()({0: 0}, this.$sget(this.curTask, "historySpeed") || {})),
                        lineColorStart: this.isDefaultSkin ? "#0f9cff" : this.lineSkinMainColor || "#0f9cff",
                        lineColorEnd: this.isDefaultSkin ? "#9f85ff" : this.lineSkinMainColor || "#0f9cff",
                        gradientColorStart: this.isDefaultSkin ? "rgba(166,134,255,.4)" : this.lineGradientColor.length > 0 ? this.lineGradientColor[0] : "rgba(166,134,255,.4)",
                        gradientColorEnd: this.isDefaultSkin ? "rgba(166,134,255,0)" : this.lineGradientColor.length > 0 ? this.lineGradientColor[1] : "rgba(166,134,255,0)",
                        label: !0
                    }, {
                        data: c()(a()({0: 0}, this.fixHistoryIncreaseSpeed(this.$sget(this.curTask, "historyIncreaseSpeed") || {}, this.$sget(this.curTask, "historySpeed") || {}))),
                        lineColorStart: "rgba(180,76,219,.5)",
                        lineColorEnd: "rgba(255,116,217,.5)",
                        gradientColorStart: "rgba(255,147,171,.4)",
                        gradientColorEnd: "rgba(255,147,171,0)"
                    }] : []
                }, remain: function () {
                    var t = "--:--:--";
                    if (this.curTask.speed > 0 && this.curTask.size > 0) {
                        var e = this.curTask.size - this.curTask.downloadSize;
                        if (e > 0) {
                            var i = e / this.curTask.speed;
                            t = Object(x.b)(i)
                        }
                    }
                    return t
                }
            },
            methods: {
                fixMaxSpeed: function (t, e) {
                    var i = t;
                    return t < e && (i = 1.62 * e), i
                }, fixHistoryIncreaseSpeed: function (t, e) {
                    var i = {};
                    return n()(e).forEach(function (o) {
                        var n = e[o], r = t[o];
                        i[o] = Number(r) > Number(n) ? n : r
                    }), i
                }, deleteOldSpeedData: function (t, e) {
                    if (t) return n()(t).filter(function (t) {
                        return parseInt(t) < parseInt(e)
                    }).reduce(function (e, i) {
                        return e[i] = t[i], e
                    }, {})
                }, getDotLeft: function (t, e) {
                    return t.x > e ? t.x > t.canvasWidth - e ? t.canvasWidth - e - e : t.x - e : 0
                }, getDotStyle: function (t, e) {
                    var i = e / 2;
                    return {left: this.getDotLeft(t, i) + "px", top: t.y - i + "px"}
                }, getLabelStyle: function (t, e, i, o) {
                    var n = i + e + o;
                    return {left: (this.getDotLeft(t, i / 2) < t.canvasWidth - n ? i : -(o + e)) + "px"}
                }
            }
        }
    }, eFwr: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", {staticClass: "xlx-attribute"}, [i("div", {staticClass: "xlx-attribute-progress"}, [i("ul", {staticClass: "xlx-attribute-progress__list"}, [i("XlPropertyItem", {
                staticClass: "xlx-attribute-progress__item--address",
                attrs: {
                    label: "原始地址",
                    description: "通过原始下载地址指向的服务器进行下载",
                    "file-size": t.fileSize,
                    "download-size": t.$sget(t.curTask, "channelInfo", "originSize")
                }
            }), i("XlPropertyItem", {
                staticClass: "xlx-attribute-progress__item--mirror",
                attrs: {
                    label: "镜像加速",
                    description: "通过其它拥有相同资源的服务器进行下载",
                    "file-size": t.fileSize,
                    "download-size": t.$sget(t.curTask, "channelInfo", "p2sSize")
                }
            }), i("XlPropertyItem", {
                staticClass: "xlx-attribute-progress__item--p2p",
                attrs: {
                    label: "P2P加速",
                    description: "通过其它拥有相同资源的用户进行下载",
                    "file-size": t.fileSize,
                    "download-size": t.$sget(t.curTask, "channelInfo", "p2pSize")
                }
            }), i("XlPropertyItem", {
                staticClass: "xlx-attribute-progress__item--vip",
                attrs: {
                    label: "会员加速",
                    description: "通过迅雷会员专属加速通道进行下载",
                    "file-size": t.fileSize,
                    "download-size": t.$sget(t.curTask, "channelInfo", "dcdnSize") + t.$sget(t.curTask, "channelInfo", "offlineSize")
                }
            })], 1), t._m(0)]), i("div", {staticClass: "xlx-attribute-info"}, [i("ul", {staticClass: "xlx-attribute-info__list"}, [i("li", {staticClass: "xlx-attribute-info__item"}, [i("span", {staticClass: "xlx-attribute-info__title"}, [t._v("存储目录：")]), i("a", {
                staticClass: "xlx-attribute-info__path",
                attrs: {href: "javascript:;"},
                on: {click: t.openSavePath}
            }, [t._v("\n            " + t._s(t.savePath) + "\n          ")])]), i("li", {staticClass: "xlx-attribute-info__item"}, [i("span", {staticClass: "xlx-attribute-info__title"}, [t._v("特征码：")]), i("p", {staticClass: "xlx-attribute-info__text"}, [t.$sget(t.curTask, "infoId") ? [t._v("\n              " + t._s(t.$sget(t.curTask, "infoId")) + "\n            ")] : [t._v("\n              该任务暂无特征码\n            ")]], 2), t.$sget(t.curTask, "infoId") ? i("a", {
                staticClass: "xlx-attribute-info__act",
                attrs: {href: "javascript:;"},
                on: {click: t.copyInfoId}
            }, [t._v("\n            " + t._s(t.copyTipText) + "\n          ")]) : t._e()]), i("li", {staticClass: "xlx-attribute-info__item"}, [i("span", {staticClass: "xlx-attribute-info__title"}, [t._v("下载历时：")]), i("p", {staticClass: "xlx-attribute-info__text"}, [t._v("\n            " + t._s(t._f("duration")(t.$sget(t.curTask, "duration") || 1)) + "\n          ")])]), i("li", {staticClass: "xlx-attribute-info__item"}, [i("span", {staticClass: "xlx-attribute-info__title"}, [t._v("创建时间：")]), i("p", {staticClass: "xlx-attribute-info__text"}, [t._v("\n            " + t._s(t._f("date-time")(t.$sget(t.curTask, "createTime"))) + "\n          ")])]), i("li", {staticClass: "xlx-attribute-info__item"}, [i("span", {staticClass: "xlx-attribute-info__title"}, [t._v("\n            完成时间：\n          ")]), i("p", {staticClass: "xlx-attribute-info__text"}, [t.$sget(t.curTask, "completeTime") ? [t._v("\n              " + t._s(t._f("date-time")(t.$sget(t.curTask, "completeTime"))) + "\n            ")] : [t._v("\n              该数据需等待任务下载完成\n            ")]], 2)]), i("li", {staticClass: "xlx-attribute-info__item"}, [i("span", {staticClass: "xlx-attribute-info__title"}, [t._v("md5：")]), i("p", {staticClass: "xlx-attribute-info__text"}, [t.$sget(t.curTask, "subFilesCount") ? [t._v("\n              文件夹不支持MD5值计算\n            ")] : t.shouldShowMd5 ? [t._v("\n              " + t._s(t.$sget(t.curTask, "md5") || "md5值获取中") + "\n            ")] : [t._v("\n              该数据需等待任务下载完成\n            ")]], 2)]), i("li", {staticClass: "xlx-attribute-info__item"}, [i("span", {staticClass: "xlx-attribute-info__title"}, [t._v("注释：")]), i("label", {staticClass: "td-input"}, [i("input", {
                directives: [{
                    name: "model",
                    rawName: "v-model",
                    value: t.note,
                    expression: "note"
                }],
                staticClass: "td-input__inner",
                attrs: {type: "text", maxlength: "450", placeholder: "未填写"},
                domProps: {value: t.note},
                on: {
                    focus: function (e) {
                        t.noteDraft = t.note, t.noteEditing = !0
                    }, blur: function (e) {
                        t.operate("note", "", t.note), t.noteEditing = !1
                    }, input: function (e) {
                        e.target.composing || (t.note = e.target.value)
                    }
                }
            })])])])])])
        };
        o._withStripped = !0;
        var n = {
            render: o, staticRenderFns: [function () {
                var t = this.$createElement, e = this._self._c || t;
                return e("div", {staticClass: "xlx-attribute-progress__detail"}, [e("i", {
                    staticClass: "td-icon-info",
                    attrs: {title: "以上数据表明，您在下载此任务过程中，分别利用哪些加速\n方式，总共下载过多少数据。由于迅雷下载过程中会对数据\n进行校验，因此可能会废弃部分错误的数据，然后重新下载\n正确数据。此时统计到的下载数据量会超出文件自身大小，加\n速百分比之和也可能超出100%，这是正常现象。"}
                })])
            }]
        };
        e.a = n
    }, eLLv: function (t, e, i) {
        "use strict";
        e.a = function (t, e) {
            s.a.promiseApi("getTabIdByContext", e).then(null, function () {
                return ""
            }).then(function (i) {
                i.length > 0 ? s.a.promiseApi("selectTab", i) : s.a.promiseApi("openNewTab", a()({}, {
                    url: t,
                    selected: !0,
                    mainTab: !1
                }, e ? {context: e} : {})).then(function (t) {
                    if (!t) return n.a.reject(new Error("no tab Id"))
                }).then(null, function () {
                    window.open(t, e)
                })
            })
        };
        var o = i("//Fk"), n = i.n(o), r = i("woOf"), a = i.n(r), s = i("Cb+C")
    }, fZOM: function (t, e, i) {
        var o = i("kM2E"), n = i("mbce")(!1);
        o(o.S, "Object", {
            values: function (t) {
                return n(t)
            }
        })
    }, fh5k: function (t, e, i) {
        "use strict";
        var o = i("yxXY");
        e.a = o.a.connect({
            mapStateToProps: {
                review: function (t, e) {
                    return t.reviews.all[e.reviewId]
                }
            }
        })
    }, "fip+": function (t, e, i) {
        var o = i("kxFB");
        (t.exports = i("FZ+f")(!1)).push([t.i, "@font-face{font-family:xlx-icon;-webkit-font-smoothing:antialiased;src:url(" + o(i("8Xly")) + ') format("truetype")}[class*=" xlx-icon-"],[class^=xlx-icon]{font-family:xlx-icon!important;font-size:16px;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xlx-icon-download-play:before{content:"\\E627"}.xlx-icon-lock:before{content:"\\E628"}.xlx-icon-play:before{content:"\\E629"}.xlx-icon-clear:before{content:"\\E62A"}.xlx-icon-pause:before{content:"\\E62B"}.xlx-icon-delete:before{content:"\\E62C"}.xlx-icon-time:before{content:"\\E62D"}.xlx-icon-file:before{content:"\\E62E"}.xlx-icon-restore:before{content:"\\E62F"}.xlx-icon-download:before{content:"\\E630"}.xlx-icon-nav-new:before{content:"\\E64A"}.xlx-icon-nav-file:before{content:"\\E64B"}.xlx-icon-nav-clear:before{content:"\\E64C"}.xlx-icon-nav-rubbish:before{content:"\\E64D"}.xlx-icon-nav-vip:before{content:"\\E64E"}.xlx-icon-nav-lock:before{content:"\\E64F"}.xlx-icon-nav-folder:before{content:"\\E650"}.xlx-icon-nav-restore:before{content:"\\E651"}.xlx-icon-nav-home:before{content:"\\E652"}.xlx-icon-nav-more:before{content:"\\E653"}.xlx-icon-nav-delete:before{content:"\\E654"}.xlx-icon-nav-down:before{content:"\\E655"}.xlx-icon-nav-computer:before{content:"\\E656"}.xlx-icon-nav-pause:before{content:"\\E657"}.xlx-icon-menu:before{content:"\\E68B"}.xlx-icon-close:before{content:"\\E68C"}.xlx-icon-minimize:before{content:"\\E68D"}.xlx-icon-maximize:before{content:"\\E68E"}.xlx-icon-maximize.is-active:before{content:"\\E69C"}.xlx-icon-theme:before{content:"\\E6E4"}.xlx-icon-tips-download:before{content:"\\E616"}.xlx-icon-tips-upload:before{content:"\\E615"}.xlx-icon-crown:before{content:"\\E635"}.xlx-icon-file-hover:before{content:"\\E636"}.xlx-icon-delete-hover:before{content:"\\E637"}.xlx-icon-comment-hover:before{content:"\\E638"}.xlx-icon-message:before{content:"\\E63A"}.xlx-icon-quote{font-size:10px;vertical-align:6px}.xlx-icon-quote:before{content:"\\E63B"}.xlx-icon-file-comment:before{content:"\\E63C"}.xlx-icon-comment:before{content:"\\E63D"}.xlx-icon-send:before{content:"\\E63E"}.xlx-icon-praise:before{content:"\\E63F"}.xlx-icon-top:before{content:"\\E640"}.xlx-icon-praise-done:before{content:"\\E641"}.xlx-icon-face:before{content:"\\E642"}.xlx-icon-delete-comment:before{content:"\\E643"}.xlx-icon-success:before{content:"\\E644"}.xlx-icon-fail:before{content:"\\E645"}.xlx-icon-help:before{content:"\\E646"}.xlx-icon-note:before{content:"\\E647"}.xlx-icon-refresh:before{content:"\\E648"}.is-active .xlx-icon-praise{color:var(--color-primary)}.is-active .xlx-icon-praise:before{content:"\\E641"}.is-active .xlx-icon-comment,.is-active .xlx-icon-delete{color:var(--color-primary)}.is-active .xlx-icon-comment:before{content:"\\E638"}.is-hot .xlx-icon-praise{color:var(--color-danger-1)}.xlx-icon-girl{color:#ff7cb6}.xlx-icon-girl:before{content:"\\E626"}.xlx-icon-boy{color:#69f}.xlx-icon-boy:before{content:"\\E631"}.xlx-icon-dialog-play:before{content:"\\E69E"}.xlx-icon-dialog-open:before{content:"\\E69F"}.xlx-icon-dialog-install:before{content:"\\E6C6"}.xlx-icon-view:before{content:"\\E6E8"}.xlx-icon-message-bookmarks:before{content:"\\E692"}.xlx-icon-search-bookmarks:before{content:"\\E694"}.xlx-icon-more-bookmarks:before{content:"\\E695"}.xlx-icon-net:before{content:"\\E696";color:#b3b3b3}.xlx-icon-file-bookmarks{color:#ffdf8b}.xlx-icon-file-bookmarks:before{content:"\\E697"}.xlx-icon-fav:before{content:"\\E699"}.xlx-icon-fav.is-active{color:#ff9c1a}.xlx-icon-fav.is-active:before{content:"\\E698"}.xlx-icon-new:before{content:"\\E69A"}.xlx-icon-new-file{margin-right:5px}.xlx-icon-new-file:before{content:"\\E69B"}.xlx-icon-unfold:before{content:"\\E69D"}.xlx-icon-browser-chrome,.xlx-icon-browser-ie{display:block;width:35px;height:32px;margin:0 auto 10px;background:url(' + o(i("Xo+z")) + ') no-repeat;background-size:70px auto}.xlx-icon-browser-chrome{background-position:-35px 0}.xlx-icon-chat:before{content:"\\E60E"}.xlx-icon-replace:before{color:#ff9c1a;content:"\\E6C3"}.xlx-icon-skip:before{color:#00b36a;content:"\\E6C4"}.xlx-icon-not-operate:before{color:gray;content:"\\E6C5"}.xlx-icon-deep:before{content:"\\E6E5"}.xlx-icon-light:before{content:"\\E6E6"}.xlx-icon-type{display:block;width:32px;height:32px;background:url(' + o(i("RevU")) + ") -560px 0 no-repeat;background-size:1085px auto}.xlx-icon-type-apk{background-position:0 0}.xlx-icon-type-avi{background-position:-35px 0}.xlx-icon-type-bt-link{background-position:-70px 0}.xlx-icon-type-bt-file{background-position:-105px 0}.xlx-icon-type-chm{background-position:-140px 0}.xlx-icon-type-doc{background-position:-175px 0}.xlx-icon-type-exe{background-position:-210px 0}.xlx-icon-type-install{background-position:-245px 0}.xlx-icon-type-flv{background-position:-280px 0}.xlx-icon-type-ipa{background-position:-315px 0}.xlx-icon-type-ipsw{background-position:-350px 0}.xlx-icon-type-iso{background-position:-385px 0}.xlx-icon-type-mkv{background-position:-420px 0}.xlx-icon-type-mov{background-position:-455px 0}.xlx-icon-type-mp4{background-position:-490px 0}.xlx-icon-type-mpg{background-position:-525px 0}.xlx-icon-type-unknown{background-position:-560px 0}.xlx-icon-type-pdf{background-position:-595px 0}.xlx-icon-type-pic{background-position:-630px 0}.xlx-icon-type-ppt{background-position:-665px 0}.xlx-icon-type-rar{background-position:-700px 0}.xlx-icon-type-rm{background-position:-735px 0}.xlx-icon-type-rmvb{background-position:-770px 0}.xlx-icon-type-group{background-position:-805px 0}.xlx-icon-type-txt{background-position:-840px 0}.xlx-icon-type-video{background-position:-875px 0}.xlx-icon-type-link{background-position:-910px 0}.xlx-icon-type-wmv{background-position:-945px 0}.xlx-icon-type-word{background-position:-980px 0}.xlx-icon-type-xls{background-position:-1015px 0}.xlx-icon-type-music{background-position:-1050px 0}.td-tree-node__image-icon .xlx-icon-type{display:block;width:16px;height:16px;background:url(" + o(i("aRd0")) + ") -340px 0 no-repeat;background-image:-webkit-image-set(url(" + o(i("aRd0")) + ") 1x,url(" + o(i("bjtf")) + ") 2x);background-position:-340px 0}.td-tree-node__image-icon .xlx-icon-type-apk{background-position:0 0}.td-tree-node__image-icon .xlx-icon-type-avi{background-position:-20px 0}.td-tree-node__image-icon .xlx-icon-type-bt-file{background-position:-60px 0}.td-tree-node__image-icon .xlx-icon-type-bt-link{background-position:-40px 0}.td-tree-node__image-icon .xlx-icon-type-chm{background-position:-80px 0}.td-tree-node__image-icon .xlx-icon-type-doc{background-position:-100px 0}.td-tree-node__image-icon .xlx-icon-type-exe{background-position:-120px 0}.td-tree-node__image-icon .xlx-icon-type-install{background-position:-140px 0}.td-tree-node__image-icon .xlx-icon-type-flv{background-position:-160px 0}.td-tree-node__image-icon .xlx-icon-type-ipa{background-position:-180px 0}.td-tree-node__image-icon .xlx-icon-type-ipsw{background-position:-200px 0}.td-tree-node__image-icon .xlx-icon-type-iso{background-position:-220px 0}.td-tree-node__image-icon .xlx-icon-type-mkv{background-position:-240px 0}.td-tree-node__image-icon .xlx-icon-type-mov{background-position:-260px 0}.td-tree-node__image-icon .xlx-icon-type-mp4{background-position:-280px 0}.td-tree-node__image-icon .xlx-icon-type-mpg{background-position:-300px 0}.td-tree-node__image-icon .xlx-icon-type-music{background-position:-320px 0}.td-tree-node__image-icon .xlx-icon-type-unknown{background-position:-340px 0}.td-tree-node__image-icon .xlx-icon-type-pdf{background-position:-360px 0}.td-tree-node__image-icon .xlx-icon-type-pic{background-position:-380px 0}.td-tree-node__image-icon .xlx-icon-type-ppt{background-position:-400px 0}.td-tree-node__image-icon .xlx-icon-type-rar{background-position:-420px 0}.td-tree-node__image-icon .xlx-icon-type-rm{background-position:-440px 0}.td-tree-node__image-icon .xlx-icon-type-rmvb{background-position:-460px 0}.td-tree-node__image-icon .xlx-icon-type-group{background-position:-480px 0}.td-tree-node__image-icon .xlx-icon-type-txt{background-position:-500px 0}.td-tree-node__image-icon .xlx-icon-type-video{background-position:-520px 0}.td-tree-node__image-icon .xlx-icon-type-link{background-position:-540px 0}.td-tree-node__image-icon .xlx-icon-type-wmv{background-position:-560px 0}.td-tree-node__image-icon .xlx-icon-type-word{background-position:-580px 0}.td-tree-node__image-icon .xlx-icon-type-xls{background-position:-600px 0}.chart-box .xlx-icon-type,.xlx-suspension .xlx-icon-type{display:block;width:24px;height:24px;margin-right:10px;background:url(" + o(i("iARP")) + ") -780px 0 no-repeat;background-image:-webkit-image-set(url(" + o(i("iARP")) + ") 1x,url(" + o(i("N9/H")) + ') 2x);background-position:-780px 0}.chart-box .xlx-icon-type-apk,.xlx-suspension .xlx-icon-type-apk{background-position:0 0}.chart-box .xlx-icon-type-avi,.xlx-suspension .xlx-icon-type-avi{background-position:-30px 0}.chart-box .xlx-icon-type-bt-file,.xlx-suspension .xlx-icon-type-bt-file{background-position:-60px 0}.chart-box .xlx-icon-type-bt-link,.xlx-suspension .xlx-icon-type-bt-link{background-position:-90px 0}.chart-box .xlx-icon-type-chm,.xlx-suspension .xlx-icon-type-chm{background-position:-120px 0}.chart-box .xlx-icon-type-doc,.xlx-suspension .xlx-icon-type-doc{background-position:-150px 0}.chart-box .xlx-icon-type-exe,.xlx-suspension .xlx-icon-type-exe{background-position:-180px 0}.chart-box .xlx-icon-type-flv,.xlx-suspension .xlx-icon-type-flv{background-position:-210px 0}.chart-box .xlx-icon-type-group,.xlx-suspension .xlx-icon-type-group{background-position:-240px 0}.chart-box .xlx-icon-type-install,.xlx-suspension .xlx-icon-type-install{background-position:-270px 0}.chart-box .xlx-icon-type-ipa,.xlx-suspension .xlx-icon-type-ipa{background-position:-300px 0}.chart-box .xlx-icon-type-ipsw,.xlx-suspension .xlx-icon-type-ipsw{background-position:-330px 0}.chart-box .xlx-icon-type-iso,.xlx-suspension .xlx-icon-type-iso{background-position:-360px 0}.chart-box .xlx-icon-type-link,.xlx-suspension .xlx-icon-type-link{background-position:-390px 0}.chart-box .xlx-icon-type-mkv,.xlx-suspension .xlx-icon-type-mkv{background-position:-420px 0}.chart-box .xlx-icon-type-mov,.xlx-suspension .xlx-icon-type-mov{background-position:-450px 0}.chart-box .xlx-icon-type-mp4,.xlx-suspension .xlx-icon-type-mp4{background-position:-480px 0}.chart-box .xlx-icon-type-mpg,.xlx-suspension .xlx-icon-type-mpg{background-position:-510px 0}.chart-box .xlx-icon-type-music,.xlx-suspension .xlx-icon-type-music{background-position:-540px 0}.chart-box .xlx-icon-type-pdf,.xlx-suspension .xlx-icon-type-pdf{background-position:-570px 0}.chart-box .xlx-icon-type-pic,.xlx-suspension .xlx-icon-type-pic{background-position:-600px 0}.chart-box .xlx-icon-type-ppt,.xlx-suspension .xlx-icon-type-ppt{background-position:-630px 0}.chart-box .xlx-icon-type-rar,.xlx-suspension .xlx-icon-type-rar{background-position:-660px 0}.chart-box .xlx-icon-type-rm,.xlx-suspension .xlx-icon-type-rm{background-position:-690px 0}.chart-box .xlx-icon-type-rmvb,.xlx-suspension .xlx-icon-type-rmvb{background-position:-720px 0}.chart-box .xlx-icon-type-txt,.xlx-suspension .xlx-icon-type-txt{background-position:-750px 0}.chart-box .xlx-icon-type-unknown,.xlx-suspension .xlx-icon-type-unknown{background-position:-780px 0}.chart-box .xlx-icon-type-video,.xlx-suspension .xlx-icon-type-video{background-position:-810px 0}.chart-box .xlx-icon-type-wmv,.xlx-suspension .xlx-icon-type-wmv{background-position:-840px 0}.chart-box .xlx-icon-type-word,.xlx-suspension .xlx-icon-type-word{background-position:-870px 0}.chart-box .xlx-icon-type-xls,.xlx-suspension .xlx-icon-type-xls{background-position:-900px 0}.xlx-icon-next:before{content:"\\E606"}.xlx-icon-eye:before{content:"\\E605"}.is-close .xlx-icon-eye:before{content:"\\E604"}.xlx-icon-play-solid:before{content:"\\E603"}.xlx-icon-prev:before{content:"\\E602"}', ""])
    }, fs20: function (t, e, i) {
        "use strict";
        var o = i("Gu7T"), n = i.n(o), r = i("Zrlr"), a = i.n(r), s = i("wxAW"), c = i.n(s), l = function () {
            function t(e) {
                var i = e.points, o = void 0 === i ? [] : i, r = e.degree, s = void 0 === r ? 4 : r, c = e.tessellation,
                    l = void 0 === c ? 10 : c;
                a()(this, t), o.length >= 2 ? this.points = [this.getExtendPoint(o[0], o[1])].concat(n()(o), [this.getExtendPoint(o[o.length - 1], o[o.length - 2])]) : this.points = o, this.degree = s, this.tessellation = l, this.curvePoints = [], this.knotVector = [], this.uniformRender()
            }

            return c()(t, [{
                key: "getExtendPoint", value: function (t, e) {
                    return {x: e.x - 2 * (e.x - t.x), y: e.y - 2 * (e.y - t.y)}
                }
            }, {
                key: "uniformRender", value: function () {
                    if (this.createKnots(), !(this.points.length < 2)) {
                        for (var t = 1 / this.tessellation, e = this.knotVector[this.degree]; e < this.knotVector[this.knotVector.length - this.degree - 1]; e += t) {
                            var i = this.deBoor(e);
                            this.curvePoints.push(i)
                        }
                        var o = this.deBoor(this.knotVector[this.knotVector.length - this.degree - 1]);
                        this.curvePoints.push(o)
                    }
                }
            }, {
                key: "createKnots", value: function () {
                    if (this.knotVector = [], this.points.length >= 2) for (var t = this.degree + this.points.length + 1, e = 1 / (t - 1), i = 0; i < t; i++) this.knotVector.push(i * e)
                }
            }, {
                key: "deBoor", value: function (t) {
                    for (var e = 0, i = 0, o = 0; o < this.points.length; o++) {
                        var n = this.basisFunction(o, this.degree, t);
                        n > 0 && (e += this.points[o].x * n, i += this.points[o].y * n)
                    }
                    return [e, i]
                }
            }, {
                key: "basisFunction", value: function (t, e, i) {
                    if (0 === e) return this.knotVector[t] <= i && i < this.knotVector[t + 1] ? 1 : 0;
                    var o = (i - this.knotVector[t]) / (this.knotVector[t + e] - this.knotVector[t]),
                        n = (this.knotVector[t + e + 1] - i) / (this.knotVector[t + e + 1] - this.knotVector[t + 1]);
                    return o * this.basisFunction(t, e - 1, i) + n * this.basisFunction(t + 1, e - 1, i)
                }
            }]), t
        }();
        e.a = l
    }, g018: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("a", {
                directives: [{
                    name: "see", rawName: "v-see", value: function () {
                        return t.$emit("see", t.review.title)
                    }, expression: "() => $emit('see', review.title)"
                }], staticClass: "xlx-promote__item", attrs: {href: t.url, target: "_blank"}, on: {
                    click: function (e) {
                        t.$emit("click", "other")
                    }
                }
            }, [i("div", {staticClass: "xlx-promote__content"}, [i("a", {
                staticClass: "xlx-promote__picture",
                attrs: {href: t.url, target: "_blank"},
                on: {
                    click: function (e) {
                        e.stopPropagation(), t.$emit("click", "pic")
                    }
                }
            }, [i("img", {
                directives: [{
                    name: "lazy",
                    rawName: "v-lazy",
                    value: t.imgObj,
                    expression: "imgObj"
                }]
            }), i("span", {staticClass: "xlx-promote__view"}, [i("i", {staticClass: "xlx-icon-view"}), t._v(t._s(t.review.show_count))])]), i("div", {staticClass: "xlx-promote__detail"}, [i("a", {
                staticClass: "xlx-promote__text",
                attrs: {href: t.url, target: "_blank"},
                on: {
                    click: function (e) {
                        e.stopPropagation(), t.$emit("click", "title")
                    }
                }
            }, [t._v(t._s(t.review.title))]), i("div", {staticClass: "xlx-promote__detail-user"}, [i("a", {
                staticClass: "xlx-promote__avatar",
                attrs: {target: "_blank", href: t.getUserLink(t.review.uid)}
            }, [i("img", {
                directives: [{name: "lazy", rawName: "v-lazy", value: t.avartar, expression: "avartar"}],
                key: t.avartar,
                attrs: {alt: "用户头像"}
            })]), t.$sget(t.review, "media_info", "name") || t.$sget(t.review, "tag") ? [t._v("\n          评《"), i("a", {
                staticClass: "xlx-promote__name",
                attrs: {href: t.movieUrl, target: "_blank"},
                on: {
                    click: function (e) {
                        e.stopPropagation(), t.$emit("click", "film_name")
                    }
                }
            }, [t._v(t._s(t.$sget(t.review, "media_info", "name") || t.$sget(t.review, "tag")))]), t._v("》\n        ")] : [t._v("\n          评电影\n        ")]], 2)])])])
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, gKGV: function (t, e, i) {
        var o = i("xrFw");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("75cf47f1", o, !1)
    }, gL2E: function (t, e, i) {
        var o = i("brX7");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("2e2d0a19", o, !1)
    }, gRE1: function (t, e, i) {
        t.exports = {default: i("TmV0"), __esModule: !0}
    }, garV: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return t.kinds.includes("review_num") ? i("a", {
                class: "sm" === t.size ? "ico-label label-media" : "label-media",
                attrs: {
                    href: "http://movie.xunlei.com/auth/signMedia?type=0&entrypage=" + t.entryPage + "&entry=" + t.entry,
                    target: "_blank",
                    title: "sm" === t.size ? "影评号" : ""
                },
                on: {
                    click: function (e) {
                        t.badgeClick("critic")
                    }
                }
            }, ["lg" === t.size ? i("i", {staticClass: "ico-media"}) : t._e(), t._v(t._s(t.reviewNum) + "\n")]) : t.kinds.includes("signer") ? i("a", {
                class: "sm" === t.size ? "ico-label label-sign" : "label-sign",
                attrs: {
                    href: "http://movie.xunlei.com/auth/signWriter?type=2&entrypage=" + t.entryPage + "&entry=" + t.entry,
                    target: "_blank",
                    title: "sm" === t.size ? "签约写手" : ""
                },
                on: {
                    click: function (e) {
                        t.badgeClick("writer")
                    }
                }
            }, ["lg" === t.size ? i("i", {staticClass: "ico-sign"}) : t._e(), t._v(t._s(t.signer) + "\n")]) : t.kinds.includes("review_expert") ? i("a", {
                class: "sm" === t.size ? "ico-label label-talent" : "label-talent",
                attrs: {
                    href: "http://movie.xunlei.com/auth/signExpert?type=1&entrypage=" + t.entryPage + "&entry=" + t.entry,
                    target: "_blank",
                    title: "sm" === t.size ? "影评达人" : ""
                },
                on: {
                    click: function (e) {
                        t.badgeClick("expert")
                    }
                }
            }, ["lg" === t.size ? i("i", {staticClass: "ico-talent"}) : t._e(), t._v(t._s(t.reviewExpert) + "\n")]) : "lg" === t.size && t.kinds.includes("film_review") ? i("span", {staticClass: "label-identity label-official"}, [i("i", {staticClass: "ico-official"}), t._v("官方号")]) : "sm" === t.size && t.kinds.includes("film_review") ? i("span", {
                staticClass: "ico-official",
                attrs: {title: "官方号"}
            }) : t._e()
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, giQc: function (t, e, i) {
        "use strict";
        var o = i("yr0C"), n = i.n(o), r = i("/5sW"), a = i("ZeZP");
        i.n(a);
        r.default.use(n.a), e.a = {
            props: {
                visible: {type: Boolean, default: !0},
                userid: {type: [String, Number], required: !0, default: ""}
            }, data: function () {
                return {vipType: "novip"}
            }, computed: {
                loginUserid: function () {
                    return this.$store.state.users.curUser.userId
                }, vipData: function () {
                    return this.$sget(this.$store.state.users.all[this.userid], "vip_extra") || []
                }, downloadVipInfo: function () {
                    var t = this.vipData.filter(function (t) {
                        return 2 === (t.vasId || t.vasID)
                    })[0];
                    return t
                }, isVip: function () {
                    return "1" === this.$sget(this.downloadVipInfo, "isVIP")
                }, isYear: function () {
                    return "1" === this.$sget(this.downloadVipInfo, "isYear")
                }, vipClass: function () {
                    return this.downloadVipInfo && this.vasType ? "vip-icon-" + this.vasType + (this.downloadVipInfo.vIPLevel || this.downloadVipInfo.VIPLevel) : ""
                }, vasType: function () {
                    return {2: "vip", 3: "pvip", 5: "svip"}[this.downloadVipInfo && this.downloadVipInfo.vasType]
                }, show: function () {
                    return this.downloadVipInfo && "1" === this.downloadVipInfo.isVIP
                }, vipLink: function () {
                    return "https://vip.xunlei.com/vip_service/rule/?referfrom=v_pc_xlx_ggong_comment_vipicon"
                }
            }, watch: {
                downloadVipInfo: {
                    handler: function (t) {
                        if (t) {
                            this.vipType = {2: "normal", 3: "baijin", 5: "super"}[t.vasType] || "novip"
                        }
                    }, immediate: !0
                }
            }
        }
    }, gjIs: function (t, e, i) {
        var o = i("kxFB");
        (t.exports = i("FZ+f")(!1)).push([t.i, "@font-face{font-family:xlx-icon-vip;src:url(" + o(i("Z33O")) + ') format("truetype")}[class^=vip-icon-]{display:inline-block;width:42px;height:12px;overflow:hidden;line-height:12px;text-align:center;background-image:url(' + o(i("/t4/")) + ');background-size:470px auto;border-radius:2px}[class^=vip-icon-].is-disabled:after{display:none}[class^=vip-icon-].is-small{width:19px;font-size:16px;font-family:xlx-icon-vip!important;font-style:normal;background-image:none}[class^=vip-icon-].is-small:before{display:block}[class^=vip-icon-].is-small:after{display:none}[class^=vip-icon-].is-small.is-disabled{color:#e9e9e9!important;background-color:#aaa}[class^=vip-icon-vip].is-small{color:#ffe3a1!important;background-color:#f15063}[class^=vip-icon-pvip].is-small{color:#c17010!important;background-color:#fdca41}[class^=vip-icon-svip].is-small{color:#ffe14e!important;background-color:#424242}.vip-icon-pvip0,.vip-icon-svip0,.vip-icon-vip0{width:15px}.vip-icon-vip0.is-small:before{content:"\\E66C"}.vip-icon-vip1.is-small:before{content:"\\E66D"}.vip-icon-vip2.is-small:before{content:"\\E66E"}.vip-icon-vip3.is-small:before{content:"\\E66F"}.vip-icon-vip4.is-small:before{content:"\\E670"}.vip-icon-vip5.is-small:before{content:"\\E671"}.vip-icon-vip6.is-small:before{content:"\\E672"}.vip-icon-vip7.is-small:before{content:"\\E673"}.vip-icon-pvip0.is-small:before{content:"\\E67C"}.vip-icon-pvip1.is-small:before{content:"\\E67D"}.vip-icon-pvip2.is-small:before{content:"\\E67E"}.vip-icon-pvip3.is-small:before{content:"\\E682"}.vip-icon-pvip4.is-small:before{content:"\\E683"}.vip-icon-pvip5.is-small:before{content:"\\E684"}.vip-icon-pvip6.is-small:before{content:"\\E685"}.vip-icon-pvip7.is-small:before{content:"\\E686"}.vip-icon-pvip8.is-small:before{content:"\\E69E"}.vip-icon-pvip9.is-small:before{content:"\\E69C"}.vip-icon-pvip10.is-small:before{content:"\\E69D"}.vip-icon-svip0.is-small:before{content:"\\E675"}.vip-icon-svip1.is-small:before{content:"\\E674"}.vip-icon-svip2.is-small:before{content:"\\E67B"}.vip-icon-svip3.is-small:before{content:"\\E67A"}.vip-icon-svip4.is-small:before{content:"\\E678"}.vip-icon-svip5.is-small:before{content:"\\E676"}.vip-icon-svip6.is-small:before{content:"\\E677"}.vip-icon-svip7.is-small:before{content:"\\E679"}.vip-icon-svip8.is-small:before{content:"\\E6A0"}.vip-icon-svip9.is-small:before{content:"\\E69F"}.vip-icon-svip10.is-small:before{content:"\\E6A1"}.vip-icon-pvip0,.vip-icon-svip0,.vip-icon-vip0{width:35px}.vip-icon-pvip10,.vip-icon-svip10{width:46px}.vip-icon-nian{width:12px;background-position:0 -78px}.vip-icon-nian.is-disabled{background-position:-13px -78px}.vip-icon-vip0{background-position:0 0}.vip-icon-vip1{background-position:-36px 0}.vip-icon-vip2{background-position:-79px 0}.vip-icon-vip3{background-position:-122px 0}.vip-icon-vip4{background-position:-165px 0}.vip-icon-vip5{background-position:-208px 0}.vip-icon-vip6{background-position:-251px 0}.vip-icon-vip7{background-position:-294px 0}.vip-icon-vip0.is-disabled{background-position:0 -13px}.vip-icon-vip1.is-disabled{background-position:-36px -13px}.vip-icon-vip2.is-disabled{background-position:-79px -13px}.vip-icon-vip3.is-disabled{background-position:-122px -13px}.vip-icon-vip4.is-disabled{background-position:-165px -13px}.vip-icon-vip5.is-disabled{background-position:-208px -13px}.vip-icon-vip6.is-disabled{background-position:-251px -13px}.vip-icon-vip7.is-disabled{background-position:-294px -13px}.vip-icon-pvip0{background-position:0 -26px}.vip-icon-pvip1{background-position:-36px -26px}.vip-icon-pvip2{background-position:-79px -26px}.vip-icon-pvip3{background-position:-122px -26px}.vip-icon-pvip4{background-position:-165px -26px}.vip-icon-pvip5{background-position:-208px -26px}.vip-icon-pvip6{background-position:-251px -26px}.vip-icon-pvip7{background-position:-294px -26px}.vip-icon-pvip8{background-position:-337px -26px}.vip-icon-pvip9{background-position:-380px -26px}.vip-icon-pvip10{background-position:-423px -26px}.vip-icon-pvip0.is-disabled{background-position:0 -39px}.vip-icon-pvip1.is-disabled{background-position:-36px -39px}.vip-icon-pvip2.is-disabled{background-position:-79px -39px}.vip-icon-pvip3.is-disabled{background-position:-122px -39px}.vip-icon-pvip4.is-disabled{background-position:-165px -39px}.vip-icon-pvip5.is-disabled{background-position:-208px -39px}.vip-icon-pvip6.is-disabled{background-position:-251px -39px}.vip-icon-pvip7.is-disabled{background-position:-294px -39px}.vip-icon-pvip8.is-disabled{background-position:-337px -39px}.vip-icon-pvip9.is-disabled{background-position:-380px -39px}.vip-icon-pvip10.is-disabled{background-position:-423px -39px}.vip-icon-svip0{background-position:0 -52px}.vip-icon-svip1{background-position:-36px -52px}.vip-icon-svip2{background-position:-79px -52px}.vip-icon-svip3{background-position:-122px -52px}.vip-icon-svip4{background-position:-165px -52px}.vip-icon-svip5{background-position:-208px -52px}.vip-icon-svip6{background-position:-251px -52px}.vip-icon-svip7{background-position:-294px -52px}.vip-icon-svip8{background-position:-337px -52px}.vip-icon-svip9{background-position:-380px -52px}.vip-icon-svip10{background-position:-423px -52px}.vip-icon-svip0.is-disabled{background-position:0 -65px}.vip-icon-svip1.is-disabled{background-position:-36px -65px}.vip-icon-svip2.is-disabled{background-position:-79px -65px}.vip-icon-svip3.is-disabled{background-position:-122px -65px}.vip-icon-svip4.is-disabled{background-position:-165px -65px}.vip-icon-svip5.is-disabled{background-position:-208px -65px}.vip-icon-svip6.is-disabled{background-position:-251px -65px}.vip-icon-svip7.is-disabled{background-position:-294px -65px}.vip-icon-svip8.is-disabled{background-position:-337px -65px}.vip-icon-svip9.is-disabled{background-position:-380px -65px}.vip-icon-svip10.is-disabled{background-position:-423px -65px}.vip-icon-pvip8:after,.vip-icon-pvip9:after,.vip-icon-pvip10:after,.vip-icon-svip8:after,.vip-icon-svip9:after,.vip-icon-svip10:after{display:block;margin-left:8px;width:22px;height:12px;background-image:url(' + o(i("/t4/")) + ');background-size:470px auto;background-position:-36px -78px;background-repeat:no-repeat;content:"";animation:iconVip 2s both infinite}@keyframes iconVip{0%{transform:translateX(0)}50%,to{transform:translateX(30px)}}', ""])
    }, h3mt: function (t, e, i) {
        "use strict";
        var o = i("cIfD"), n = i("sQgx"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\XlLoading.vue", e.a = r.exports
    }, hMyI: function (t, e, i) {
        "use strict";
        var o = i("SNtC"), n = i("k4zF"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\task\\XlLabelItem.vue", e.a = r.exports
    }, haX0: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", {
                staticClass: "xlx-file-list",
                class: {"is-fixed": t.footNeedFixed}
            }, [i("td-table", {
                attrs: {
                    columns: t.columns,
                    data: t.tree,
                    "default-checked-keys": t.defaultCheckedKeys,
                    "default-expanded-keys": t.defaultExpandedKeys,
                    "disabled-keys": t.disabledKeys,
                    checkable: "",
                    striped: "",
                    "tree-enabled": "",
                    "footer-enabled": ""
                },
                on: {
                    "checked-change": t.onCheckedChange,
                    "expanded-change": t.onExpandedChange,
                    checkAll: function (e) {
                        t.report(e ? "chooseall" : "cancelall")
                    }
                },
                scopedSlots: t._u([{
                    key: "default", fn: function (e) {
                        var o = e.prop, n = e.value, r = e.row;
                        return ["name" === o ? i("span", {attrs: {title: r.data.fileName}}, [t._v(t._s(r.data.fileName))]) : "fileSize" === o ? [t._v(t._s(t._f("file-size")(r.data.fileSize)))] : "progress" === o ? [r.data.errMessage ? [i("span", {
                            staticClass: "is-error",
                            attrs: {title: r.data.errMessage}
                        }, [t._v("无法下载"), i("i", {staticClass: "td-icon-info"})])] : "branch" === r.type ? void 0 : (4 !== t.curTask.type ? r.data.downloadSize === r.data.fileSize && r.data.isNeedDownload && r.data.downloadSize : [8, 10].includes(r.data.status)) ? [i("a", {
                            staticClass: "xlx-file-list__status",
                            attrs: {href: "javascript:;"},
                            on: {
                                click: function (e) {
                                    t.openFile(r)
                                }
                            }
                        }, [t._v("打开")])] : t.checkedKeys.includes(r.key) ? [t._v("\n          " + t._s((100 * t.getProgress(r) || 0).toFixed(2)) + "%\n        ")] : [t._v("\n          不下载\n        ")]] : [t._v(t._s(n))]]
                    }
                }, {
                    key: "icon", fn: function (e) {
                        e.prop, e.value;
                        var o = e.row;
                        return [i("i", {class: t._f("icon")([t.getSuffix(o.name), "branch" === o.type ? 4 : 1])})]
                    }
                }])
            }, [i("td-button", {
                ref: "foot",
                attrs: {slot: "footer", size: "small", disabled: !t.checkedKeys.length || !t.editingSelected},
                on: {click: t.downloadSelected},
                slot: "footer"
            }, [t._v("\n      " + t._s(t.loading ? "添加下载..." : "下载选中文件") + "\n    ")])], 1), i("div", {
                ref: "guard",
                style: {height: "36px", display: t.footNeedFixed ? "block" : "none"}
            })], 1)
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, hlD9: function (t, e, i) {
        "use strict";
        var o = i("66N0"), n = i("5rP1"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\comment\\XlCommentList.vue", e.a = r.exports
    }, "i+uq": function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, "i/Wj": function (t, e, i) {
        "use strict";
        var o = i("FlE6");
        i.n(o);
        e.a = {
            props: {isInputFocus: {type: Boolean, default: !1}, tid: {type: [String, Number], default: 0}},
            data: function () {
                return {show: !1}
            },
            watch: {
                show: function (t) {
                    t && this.$emit("open")
                }, tid: function (t, e) {
                    t !== e && (this.show = !1)
                }
            },
            methods: {
                updateDisplay: function (t) {
                    this.show = t
                }, handleClick: function (t) {
                    if ("SPAN" === t.target.tagName) {
                        var e = t.target, i = "[" + t.target.parentElement.getAttribute("title") + "]",
                            o = e.className.split("-")[3];
                        this.$emit("pick", i, o, e), this.show = !1
                    }
                }
            }
        }
    }, i0bb: function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ".xlx-detail{display:flex;padding-bottom:20px}.xlx-detail .xlx-comment{flex:1;width:calc(100% - 212px)}.xlx-detail .xlx-speed-list{margin-left:20px}", ""])
    }, iA8U: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", {class: ["index-wrap", t.custom && t.materialList.length && "index-wrap--custom", "xmp" === t.$route.query.from && "xmp"]}, [i("div", {staticClass: "index-x"}, [i("xl-header"), t.custom && t.materialList.length ? i("div", {
                key: "custom",
                staticClass: "wrap-x"
            }, [i("div", {staticClass: "banner-x"}, [i("a", {
                staticClass: "bg-pic",
                style: "background-image:url(" + t.$sget(t.materialList[t.customIndex], "image") + ")",
                attrs: {
                    href: t.resolveUrl(t.$sget(t.materialList[t.customIndex], "url")) || "javascript:;",
                    target: "_blank"
                }
            }), i("div", {staticClass: "banner-opt"}, [i("div", {staticClass: "banner-opt__list"}, t._l(t.materialList, function (e, o) {
                return i("a", {
                    key: o,
                    class: {cur: t.customIndex === o},
                    attrs: {
                        href: t.resolveUrl(t.$sget(t.materialList[t.customIndex], "url")) || "javascript:;",
                        target: "_blank"
                    },
                    on: {
                        mouseenter: function (e) {
                            t.customIndex = o
                        }
                    }
                }, [i("img", {attrs: {src: e.image}})])
            }))]), i("a", {
                staticClass: "user-info",
                attrs: {href: "http://pc.xunlei.com/#/users/" + t.publisherInfo.uid, target: "_blank"}
            }, [i("span", {staticClass: "user-avatar"}, [i("img", {attrs: {src: t.publisherInfo.portrait_url}})]), i("span", {staticClass: "user-name"}, [t._v(t._s(t.publisherInfo.nick_name))])])]), i("div", {staticClass: "banner-info"}, [i("h1", {staticClass: "banner-title"}, [i("a", {
                attrs: {
                    target: "_blank",
                    href: t.resolveUrl(t.$sget(t.materialList[t.customIndex], "url")) || "javascript:;"
                }
            }, [t._v(t._s(t.$sget(t.materialList[t.customIndex], "title")))])]), i("p", {staticClass: "banner-abstract"}, [t._v("\n          " + t._s(t.$sget(t.materialList[t.customIndex], "desc")) + "\n        ")]), i("p", {staticClass: "banner-copyright"}, [i("span", [t._v("©版权说明")]), t._v("当前内容由"), i("a", {
                attrs: {
                    href: "http://pc.xunlei.com/#/users/" + t.publisherInfo.uid,
                    target: "_blank"
                }
            }, [t._v(t._s(t.publisherInfo.nick_name))]), t._v("提供")])])]) : i("div", {
                key: "default",
                staticClass: "wrap-x"
            }, [i("div", {staticClass: "banner-x"}, [i("a", {
                staticClass: "bg-pic",
                style: {"background-image": "url(" + (t.banner.review_cover_xlx || t.banner.review_cover) + ")"},
                attrs: {
                    href: "activity" === t.banner.review_id ? t.banner.url : t.$url.getReviewUrl(t.banner.review_id),
                    target: "_blank"
                },
                on: {
                    click: function (e) {
                        t.reportBannerClick(t.current, t.banner.review_id, "picture")
                    }
                }
            }), i("div", {staticClass: "banner-info"}, [i("div", {staticClass: "time"}, [i("p", [t._v(t._s(t.day))]), i("span", {staticClass: "line"}), i("p", [t._v(t._s(t.month))])]), i("p", [t._v("每日影评")])]), i("h1", [t._v(t._s(t.banner.review_title))]), i("div", {staticClass: "banner-opt"}, [i("div", {staticClass: "banner-opt__list"}, t._l(t.list, function (e, o) {
                return i("a", {
                    key: o,
                    class: {cur: o === t.current},
                    attrs: {
                        href: "activity" === e.review_id ? e.url : t.$url.getReviewUrl(e.review_id),
                        target: "_blank"
                    },
                    on: {
                        click: function (i) {
                            t.filmClick(o, e.review_id, "pic")
                        }, mouseenter: function (i) {
                            t.current = o, t.bannerHover(o, e.review_id)
                        }
                    }
                }, [i("img", {attrs: {src: e.review_cover_xlx || e.review_cover}})])
            })), i("a", {
                staticClass: "banner-opt__link",
                attrs: {href: "http://movie.xunlei.com/reviews/excellentreviews", target: "_blank"},
                on: {
                    click: function (e) {
                        t.filmClick(0, 0, "dailybest")
                    }
                }
            }, [t._v("天天精评>")])])]), i("div", {staticClass: "index-list"}, [i("ul", t._l(t.recommends, function (e, o) {
                return i("li", {
                    key: o, staticClass: "index-list__item", on: {
                        click: function (i) {
                            t.recommendClick("flimlib", o, e.review_id)
                        }, mouseenter: function (i) {
                            t.recommendHover(o, e.review_id)
                        }
                    }
                }, [i("a", {
                    staticClass: "title",
                    attrs: {href: t.$url.getReviewUrl(e.review_id), target: "_blank"}
                }, [t._v(t._s(e.review_title))]), i("div", {staticClass: "index-list__info"}, [i("a", {
                    staticClass: "user-info",
                    attrs: {href: t.$url.getUserUrl(e.review_author_id), target: "_blank"}
                }, [i("span", {staticClass: "user-avatar"}, [i("img", {
                    attrs: {
                        src: e.review_author_avatar,
                        alt: "用户名"
                    }
                })]), i("span", {staticClass: "user-name"}, [t._v(t._s(e.review_author))])]), i("span", {staticClass: "info-from"}, [t._v("\n                评《\n                "), i("a", {
                    staticClass: "movie-name",
                    class: {"article-link-text": !e.review_media_id},
                    attrs: {href: t.$url.getMovieUrl(e.review_media_id), target: "_blank"}
                }, [t._v("\n                  " + t._s(e.review_name) + "\n                ")]), t._v("》\n              ")])])])
            })), i("div", {staticClass: "index-list__more"}, [i("a", {
                attrs: {
                    href: "http://movie.xunlei.com",
                    target: "_blank"
                }, on: {
                    click: function (e) {
                        t.recommendClick("flimlib", 0, 0)
                    }
                }
            }, [t._v("更多影评>")])])])]), t.customHomeEnable && t.showCustom ? i("a", {
                staticClass: "switch-btn custom",
                attrs: {href: "javascript:;"},
                on: {
                    mouseenter: function (e) {
                        t.showTip = !0
                    }, mouseleave: function (e) {
                        t.showTip = !1
                    }, click: t.changeCustom
                }
            }, [i("i", {class: t.materialList.length && t.custom ? "icon-custom" : "icon-custom-magic"})]) : t._e(), t.customHomeEnable && t.showCustom ? i("div", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: t.showTip,
                    expression: "showTip"
                }],
                staticClass: "td-tooltip is-left",
                staticStyle: {position: "fixed", top: "auto", right: "47px", bottom: "11px"}
            }, [i("p", {staticClass: "td-tooltip__inner"}, [t._v("\n        " + t._s(t.materialList.length ? t.custom ? "切换至默认首页" : "切换至个性化首页" : "获取您的个性化迅雷X") + "\n      ")]), i("span", {staticClass: "td-poper__arrow"})]) : t._e()], 1)])
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, iARP: function (t, e, i) {
        t.exports = i.p + "img/xlx-icon-24x24.8c8781a.png"
    }, jFOF: function (t, e, i) {
        "use strict";
        var o = i("Rhsk");
        e.a = {
            props: {
                reviewId: {type: Number, default: 0}, review: {
                    type: Object, default: function () {
                        return {}
                    }
                }
            }, computed: {
                cover: function () {
                    return Object(o.g)(this.review.cover_url, 1, 260, 180) + "/format/jpg"
                }, url: function () {
                    return "http://movie.xunlei.com/reviews/" + this.reviewId
                }, movieUrl: function () {
                    var t = this.review.media_id;
                    return t ? "http://movie.xunlei.com/movies/" + t : ""
                }, imgObj: function () {
                    var t = i("QXBO");
                    return {src: this.cover, loading: t, error: t}
                }, avartar: function () {
                    return this.$sget(this.$store.state.users.all, this.$sget(this.review, "uid"), "portrait_url") || this.getAvatar(this.$sget(this.review, "uid"))
                }
            }, methods: {getAvatar: o.c, getUserLink: o.e}
        }
    }, jFpK: function (t, e, i) {
        "use strict";
        var o = function () {
            var t, e = this, i = e.$createElement;
            return (e._self._c || i)("a", {
                class: (t = {}, t[e.praisedClass] = e.isPraise, t[e.animationClass] = e.isPraising, t),
                attrs: {href: "javascript:;", title: e.isPraise ? "您已点过赞" : "赞"},
                on: {click: e.praise}
            }, [e._t("default", null, {praiseNum: e.praiseNum})], 2)
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, jmuf: function (t, e, i) {
        "use strict";
        var o = i("Jc9A"), n = i("c0Vv"), r = !1;
        var a = function (t) {
            r || i("vvfc")
        }, s = i("VU/8")(o.a, n.a, !1, a, "data-v-64c66bef", null);
        s.options.__file = "components\\XlRefresh.vue", e.a = s.exports
    }, jrzI: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", {
                directives: [{name: "show", rawName: "v-show", value: t.show, expression: "show"}],
                staticClass: "td-cover"
            }, [t.config ? i("div", {class: "td-message td-message--" + t.config.type}, [i("i", {class: "td-icon-" + t.config.type}), i("span", {staticClass: "td-message__text"}, [t._v(t._s(t.config.content))])]) : t._e()])
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, k4zF: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", [i("div", {
                staticClass: "point",
                style: {display: t.pointDisplay, margin: 0}
            }), i("div", {
                staticClass: "text-data data-tips",
                class: t.textDataClass,
                style: t.LabelStyle
            }, [t._v(t._s(t._f("file-size")(t.textVal)) + "/s\n  ")]), i("div", {staticClass: "xlx-data-ani"}, [i("span", {
                ref: "aniSpeed",
                staticClass: "xlx-data-type",
                class: [t.dataTypeClass, t.enableAnimation ? "" : "is-stopped"],
                style: t.iconStyle,
                on: {click: t.iconClick}
            }), i("span", {staticClass: "xlx-data-bomb", style: {display: t.bombType}})])])
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, kG4e: function (t, e, i) {
        "use strict";
        var o = i("jmuf");
        e.a = {
            components: {XlRefresh: o.a}, props: {
                quickReviewConfigs: {
                    type: Array, default: function () {
                        return []
                    }
                }, publishComments: {
                    type: Function, default: function () {
                    }
                }, tid: {type: String, default: ""}
            }, data: function () {
                return {index: 0}
            }, computed: {
                quickReviews: function () {
                    return this.quickReviewConfigs[this.index] || []
                }
            }, watch: {
                "quickReviewConfigs.length": {
                    immediate: !0, handler: function (t) {
                        t && this.refresh()
                    }
                }, tid: {
                    immediate: !0, handler: function (t) {
                        t && this.refresh()
                    }
                }
            }, mounted: function () {
                this.$emit("quickCommentShow", this.quickReviews)
            }, methods: {
                refresh: function () {
                    for (var t = this.index; this.index === t;) this.index = Math.floor(Math.random() * this.quickReviewConfigs.length)
                }, clickQuickReview: function (t) {
                    this.$raven.debug("clickQuickReview", t), this.$emit("sendQuickReview", t)
                }
            }
        }
    }, l8vr: function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ':root{--promote-background:rgba(178,203,255,.2);--promote-background-hover:rgba(178,203,255,.5);--promote-text:#1a1a1a;--promote-text-sub:#999;--promote-active:#69f}.xlx-promote{height:100px}.xlx-promote,.xlx-promote__item{position:relative;overflow:hidden}.xlx-promote__item{width:33.33%;height:100%;background:var(--promote-background);box-sizing:border-box;transition:background .1s}.xlx-promote__item:hover{background:var(--promote-background-hover)}.xlx-promote__content{position:absolute;left:0;top:0;display:flex;width:100%;height:100%;border-radius:4px;overflow:hidden}.xlx-promote__picture{position:relative;width:150px;height:100%;overflow:hidden}.xlx-promote__picture img{width:100%;height:100%;object-fit:cover;transition:transform .2s;border-radius:4px}.xlx-promote__picture:after{position:absolute;left:0;bottom:0;width:100%;height:40px;background:linear-gradient(transparent,rgba(0,0,0,.6));border-radius:4px;content:""}.xlx-promote__view{position:absolute;left:6px;bottom:6px;z-index:2;display:flex;align-items:center;color:#fff;pointer-events:none}.xlx-promote__view .xlx-icon-view{margin-right:3px}.xlx-promote__detail{width:calc(100% - 150px);display:flex;flex-direction:column;justify-content:space-between;padding:15px 18px;overflow:hidden;box-sizing:border-box}.xlx-promote__text{font-size:16px;color:var(--promote-text);-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical}.xlx-promote__name,.xlx-promote__text{word-break:break-all;overflow:hidden;text-overflow:ellipsis}.xlx-promote__name{position:relative;z-index:5;max-width:calc(100% - 65px);color:var(--promote-text-sub);white-space:nowrap;transition:color .3s}.xlx-promote__name:hover{color:var(--promote-text)}.xlx-promote__avatar{position:relative;z-index:5;width:24px;height:24px;margin-right:6px}.xlx-promote__avatar img{object-fit:cover}.xlx-promote__detail-user{display:flex;align-items:center;height:20px;font-size:12px;line-height:20px;color:var(--promote-text-sub)}.xlx-promote__avatar{width:20px;height:20px;margin-right:5px}.xlx-promote__avatar img{width:100%;height:100%;border-radius:50%;border:1px solid #fff;box-sizing:border-box}.xlx-promote__link{position:absolute;left:0;top:0;right:0;bottom:0}.xlx-promote__indicator{position:absolute;top:0;right:0;z-index:9;display:flex;flex-direction:column;justify-content:center;align-items:center;width:20px;height:100%}.xlx-promote__indicator span{display:block;width:6px;height:6px;margin:3px 0;border-radius:50%;background:rgba(0,0,0,.1);cursor:pointer;transition:background .2s}.xlx-promote__indicator span.is-active,.xlx-promote__indicator span:hover{background:var(--promote-active)}.xlx-promote__tag{right:50px;right:28px;padding:0 10px;color:#fff;border-radius:3px;background:rgba(255,102,179,.4)}.xlx-promote__button,.xlx-promote__tag{position:absolute;bottom:15px;line-height:20px}.xlx-promote__button{right:28px;width:54px;height:20px;z-index:3;text-align:center;color:#ff9a66;border-radius:3px;border:1px solid #ff9a66;transition:background .2s,color .2s}.xlx-promote__button:hover{color:#fff;background:#ff9a66}.xlx-promote-list{position:absolute;left:0;top:0;display:flex;justify-content:space-between;width:100%;height:100%;opacity:0;transition:.5s}.xlx-promote-list.is-live .xlx-promote__item{background:rgba(255,179,217,.2)}.xlx-promote-list.is-live .xlx-promote__item:hover{background:rgba(255,179,217,.5)}.xlx-promote-list.is-game .xlx-promote__item{background:rgba(255,154,102,.2)}.xlx-promote-list.is-game .xlx-promote__item:hover{background:rgba(255,154,102,.4)}.xlx-promote-list.is-show{opacity:1;z-index:2}@media only screen and (min-width:1101px) and (max-width:1400px){.xlx-promote{height:90px}.xlx-promote__picture{width:34%}.xlx-promote__detail{width:64%;padding:10px 18px}.xlx-promote__text{font-size:15px}.xlx-promote__button,.xlx-promote__tag{right:30px;bottom:10px}}@media only screen and (min-width:800px) and (max-width:1100px){.xlx-promote{height:85px}.xlx-promote__item{width:50%}.xlx-promote__item:nth-child(3){display:none}.xlx-promote__picture{width:34%}.xlx-promote__detail{width:64%;padding:10px}.xlx-promote__text{font-size:14px}.xlx-promote__button,.xlx-promote__tag{right:20px;bottom:10px}}@media only screen and (max-width:860px){.xlx-promote{height:80px}.xlx-promote__item{width:50%}.xlx-promote__item:nth-child(3){display:none}.xlx-promote__picture{width:34%}.xlx-promote__detail{width:64%;padding:10px}.xlx-promote__text{font-size:12px}.xlx-promote__detail-user{font-size:11px}.xlx-promote__button,.xlx-promote__tag{right:20px;bottom:10px}}', ""])
    }, lNrd: function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, "a[data-v-64c66bef]{transition:transform .2s linear}", ""])
    }, lOZi: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", {staticClass: "xlx-detail"}, [i("div", {staticClass: "xlx-comment"}, [i("div", {staticClass: "xlx-comment-main"}, [i("XlCommentAvartar"), i("XlCommentInput", {
                staticStyle: {width: "calc(100% - 64px)"},
                attrs: {
                    show: !0,
                    tid: t.gcid,
                    "cur-task": t.curTask,
                    "max-length": t.maxLength,
                    "default-placeholder": "评论参与竞榜",
                    focus: t.isInputFocused
                },
                on: {
                    finish: t.updateComment, keyupctrlentry: function (e) {
                        t.$emit("keyupctrlentry", arguments[0])
                    }, "update:focus": function (e) {
                        t.isInputFocused = e
                    }, sendComment: function (e) {
                        t.report("sendcomment")
                    }, clickEmojiIco: function (e) {
                        t.report("emoji")
                    }
                }
            })], 1), i("XlCommentInput", {
                attrs: {
                    show: !1,
                    tid: t.gcid,
                    "cur-task": t.curTask,
                    "max-length": t.maxLength,
                    "default-placeholder": "评论参与竞榜",
                    "auto-send-comment-text": t.autoSendCommentText,
                    focus: t.isInputFocused
                }, on: {
                    finish: t.updateComment, keyupctrlentry: function (e) {
                        t.$emit("keyupctrlentry", arguments[0])
                    }, "update:autoSendCommentText": function (e) {
                        t.autoSendCommentText = e
                    }, "update:focus": function (e) {
                        t.isInputFocused = e
                    }
                }
            }), i("XlCommentList", {
                attrs: {
                    tid: t.gcid,
                    "task-id": t.$sget(t.curTask, "taskID"),
                    "cur-task": t.curTask,
                    "max-length": t.maxLength,
                    "page-index": t.commentPageIndex,
                    "entry-page": "filmlib_detailpage",
                    "entry-head": "filmlib_detailpage_head",
                    "entry-name": "filmlib_detailpage_name"
                }, on: {
                    click: t.report,
                    loadedPage: function (e) {
                        t.$emit("loadedNewComments")
                    },
                    clickReply: function (e) {
                        t.report("clickreply", arguments[0])
                    },
                    sendReply: function (e) {
                        t.report("sendreply", arguments[0])
                    },
                    headClick: function (e) {
                        t.report("head", arguments[0])
                    },
                    nameClick: function (e) {
                        t.report("name", arguments[0])
                    },
                    likecomment: function (e) {
                        t.report("like", arguments[0])
                    },
                    delte: function (e) {
                        t.report("delete", arguments[0])
                    },
                    rcountchange: function (e) {
                        t.$emit("rcountchange", e)
                    },
                    removeComment: t.updateComment,
                    updatePage: t.setCurPage,
                    finish: t.updateComment,
                    sendXlpasswordShow: t.sendXlpasswordShow
                }
            }, [t.comments && t.comments.length || !t.gcid ? i("div", {staticClass: "xlx-comment-tips"}, [i("h2", [t._v("资源暂时无法评论")]), i("p", [t._v("\n          " + t._s("5" === t.$sget(t.curTask, "status") ? "连接中..." : "  ") + "\n        ")]), i("span", {staticClass: "xlx-icon-blank-comment"})]) : i("XlQuickReview", {
                attrs: {
                    suffix: t.$sget(t.curTask, "suffix"),
                    "cur-task": t.curTask,
                    tid: t.gcid
                }, on: {
                    sendQuickReview: t.sendQuickReview, quickrefresh: function (e) {
                        t.report("quickrefresh")
                    }, quickCommentShow: t.handleQuickCommentShow
                }
            })], 1), t._t("default")], 2), i("XlCommentRank", {
                attrs: {
                    "last-comment-time": t.lastCommentTime,
                    tid: t.gcid,
                    "task-id": t.$sget(t.curTask, "taskID"),
                    "cur-task": t.curTask
                }, on: {
                    comment: t.startComment, headClick: function (e) {
                        t.report("head", arguments[0])
                    }
                }
            })], 1)
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, lfQx: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("header", {staticClass: "header"}, [i("nav", {staticClass: "nav"}, t._l(t.icons, function (e, o) {
                return i("xl-icon", {
                    key: e.text, attrs: {icon: e}, nativeOn: {
                        click: function (e) {
                            e.preventDefault(), t.clickNav(o)
                        }
                    }
                })
            })), i("a", {
                staticClass: "link-report-top",
                attrs: {href: "javascript:;"},
                on: {click: t.linkReport}
            }, [i("span", {staticClass: "link-report-text1"}, [t._v("举报")]), i("span", {staticClass: "link-report-text2"}, [t._v("有害信息")])])])
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, m8p8: function (t, e, i) {
        var o = i("4+Xr");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("6f66f7ce", o, !1)
    }, oTk5: function (t, e, i) {
        "use strict";
        var o = i("6Iwv"), n = i("qHIs"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\comment\\XlCommentAvartar.vue", e.a = r.exports
    }, oeoy: function (t, e, i) {
        "use strict";
        e.a = {
            props: {
                id: {type: [String, Number], required: !0},
                cid: {type: [String, Number], required: !0},
                praisedClass: {type: String, required: !0},
                animationClass: {type: String, default: ""}
            }, data: function () {
                return {disabled: !1, isPraising: !1}
            }, computed: {
                praiseInfo: function () {
                    return this.$store.state.praise.praise[this.cid ? this.cid : this.id] || {}
                }, praiseNum: function () {
                    return this.praiseInfo.praiseNum
                }, isPraise: function () {
                    return this.praiseInfo.praised
                }
            }, methods: {
                praise: function () {
                    var t = this;
                    this.isPraise || this.disabled || (this.disabled = !0, this.isPraising = !0, setTimeout(function () {
                        t.isPraising = !1
                    }, 800), this.$store.commit("praise/set", {
                        praiseNum: 1 * this.praiseNum + 1,
                        isPraise: !0,
                        id: this.id,
                        cid: this.cid
                    }), this.cid ? this.$store.dispatch("praise/praiseComment", {
                        tid: this.id,
                        cid: this.cid
                    }).then(function () {
                        t.$emit("praise")
                    }).catch(function (e) {
                        var i = e instanceof Error ? e : new Error(e);
                        t.$raven.warn(i)
                    }).then(function () {
                        t.disabled = !1
                    }) : this.$store.dispatch("praise/praise", {id: this.id}).then(function () {
                        t.$emit("praise")
                    }).catch(function (e) {
                        var i = e instanceof Error ? e : new Error(e);
                        t.$raven.warn(i)
                    }).then(function () {
                        t.disabled = !1
                    }))
                }
            }
        }
    }, pXUP: function (t, e, i) {
        "use strict";
        var o = i("Xxa5"), n = i.n(o), r = i("exGp"), a = i.n(r), s = i("//Fk"), c = i.n(s), l = i("fZjL"), p = i.n(l),
            d = i("woOf"), u = i.n(d), x = i("Rhsk"), m = i("L/YN"), h = i("oxQo"), f = i("/8Fg"), g = i("9ry8"),
            b = i("ZKSA"), v = i("+3xp"), _ = {};
        e.a = {
            components: {XlEmoji: b.a, XlMessage: v.a},
            props: {
                curTask: {type: Object, default: null},
                show: {type: Boolean, default: !0},
                tid: {type: String, default: ""},
                curUserId: {type: String, default: "0"},
                curUserNick: {type: String, default: ""},
                publishComments: {
                    type: Function, default: function () {
                    }
                },
                getComments: {
                    type: Function, default: function () {
                    }
                },
                setCurPage: {
                    type: Function, default: function () {
                    }
                },
                comment: {type: Object, default: null},
                maxLength: {type: Number, default: 100},
                userNick: {type: String, default: ""},
                defaultPlaceholder: {type: String, default: ""},
                focus: {type: [Boolean, Number], default: !1},
                autoSendCommentText: {type: String, default: ""}
            },
            data: function () {
                return {
                    text: "", isSending: !1, messageConfig: null, onHideMessage: function () {
                    }, isInputFocus: !1
                }
            },
            computed: {
                trimedText: function () {
                    return this.text.trim()
                }, textLen: function () {
                    return this.trimedText.length
                }, isLogin: function () {
                    return "0" !== this.curUserId
                }, disabled: function () {
                    return !(this.textLen && !this.isSending && this.tid)
                }, placeholder: function () {
                    return this.userNick ? "回复 " + this.userNick + "：" : this.defaultPlaceholder
                }, extra: function () {
                    var t = {
                        kuaiNiaoSpeedup: null,
                        bandWidth: null,
                        taskSize: this.$sget(this.curTask, "size"),
                        taskSuffix: this.$sget(this.curTask, "suffix"),
                        taskType: this.$sget(this.curTask, "type"),
                        taskSpeed: this.$sget(this.curTask, "averageSpeed"),
                        taskUrl: this.$sget(this.curTask, "url"),
                        taskName: this.$sget(this.curTask, "name")
                    };
                    return u()({}, t, {
                        extParams: p()(t).join(","),
                        downloadspeed: Object(h.d)(this.$sget(this.curTask, "averageSpeed"))
                    })
                }, pannel: function () {
                    return this.$store.state.pannel
                }
            },
            watch: {
                focus: function (t) {
                    var e = this;
                    t && this.$nextTick(function () {
                        e.$refs.replyInput.focus()
                    })
                }, autoSendCommentText: function (t) {
                    this.$raven.debug("autoSendCommentText", t), this.$emit("update:autoSendCommentText", ""), t && (this.text = t, this.sendComment())
                }, text: function (t) {
                    t.length > this.maxLength && (this.text = t.substr(0, this.maxLength)), _[this.tid + this.$sget(this.comment, "cid")] = t
                }, tid: function () {
                    this.useDraftComment()
                }
            },
            mounted: function () {
                this.useDraftComment(), document.body.addEventListener("click", this.blurHandler)
            },
            beforeDestroy: function () {
                document.body.removeEventListener("click", this.blurHandler)
            },
            methods: {
                blurHandler: function () {
                    this.$emit("update:focus", !1)
                }, login: function () {
                    var t = this;
                    return this.$raven.debug("login"), new c.a(function (e, i) {
                        Object(x.j)(function (t, o) {
                            t ? i(new Error("login error")) : e()
                        }), setTimeout(function () {
                            t.isSending = !1
                        }, 500)
                    })
                }, getAuthPlatformParamObj: function () {
                    var t = a()(n.a.mark(function t() {
                        var e, i, o;
                        return n.a.wrap(function (t) {
                            for (; ;) switch (t.prev = t.next) {
                                case 0:
                                    return t.next = 2, Object(f.b)("GetUserInfo", 1);
                                case 2:
                                    return e = t.sent, i = 165, t.next = 6, Object(f.b)("GetThunderVersion");
                                case 6:
                                    return o = t.sent, t.abrupt("return", Object(m.a)({
                                        userInfo: JSON.parse(e),
                                        appId: i,
                                        clientVersion: o
                                    }));
                                case 8:
                                case"end":
                                    return t.stop()
                            }
                        }, t, this)
                    }));
                    return function () {
                        return t.apply(this, arguments)
                    }
                }(), auth: function () {
                    var t = a()(n.a.mark(function t() {
                        var e, i = this;
                        return n.a.wrap(function (t) {
                            for (; ;) switch (t.prev = t.next) {
                                case 0:
                                    return t.next = 2, this.getAuthPlatformParamObj();
                                case 2:
                                    return (e = t.sent).deviceid = "123456", t.abrupt("return", Object(g.a)("thunderx", e).catch(function (t) {
                                        return i.$raven.debug(t), "auth error" !== t.message && "not login" !== t.message && i.$raven.warn(t), c.a.reject(new Error("auth error"))
                                    }));
                                case 5:
                                case"end":
                                    return t.stop()
                            }
                        }, t, this)
                    }));
                    return function () {
                        return t.apply(this, arguments)
                    }
                }(), useDraftComment: function () {
                    this.text = _[this.tid + this.$sget(this.comment, "cid")] || ""
                }, beforeComment: function () {
                    var t = a()(n.a.mark(function t() {
                        return n.a.wrap(function (t) {
                            for (; ;) switch (t.prev = t.next) {
                                case 0:
                                    return t.next = 2, this.login();
                                case 2:
                                    return t.next = 4, this.auth();
                                case 4:
                                case"end":
                                    return t.stop()
                            }
                        }, t, this)
                    }));
                    return function () {
                        return t.apply(this, arguments)
                    }
                }(), keyDownCtrlEnterHandler: function (t) {
                    this.sendComment(t)
                }, sendCommentHandler: function (t) {
                    this.sendComment(t)
                }, sendComment: function () {
                    var t = a()(n.a.mark(function t(e) {
                        return n.a.wrap(function (t) {
                            for (; ;) switch (t.prev = t.next) {
                                case 0:
                                    if (!this.disabled) {
                                        t.next = 2;
                                        break
                                    }
                                    return t.abrupt("return");
                                case 2:
                                    return this.isSending = !0, t.prev = 3, t.next = 6, this.beforeComment();
                                case 6:
                                    return t.next = 8, this.sendCommentRequest(e);
                                case 8:
                                    this.$sget(this, "comment", "cid") ? this.$emit("sendReply", {cid: this.comment.cid}) : this.$emit("sendComment"), t.next = 14;
                                    break;
                                case 11:
                                    t.prev = 11, t.t0 = t.catch(3), "login error" !== t.t0.message && "auth error" !== t.t0.message && (this.$raven.warn(t.t0), this.showFailure("评论失败"));
                                case 14:
                                    return t.prev = 14, this.isSending = !1, t.finish(14);
                                case 17:
                                case"end":
                                    return t.stop()
                            }
                        }, t, this, [[3, 11, 14, 17]])
                    }));
                    return function (e) {
                        return t.apply(this, arguments)
                    }
                }(), sendCommentRequest: function () {
                    var t = a()(n.a.mark(function t(e) {
                        var i, o, r, a = this;
                        return n.a.wrap(function (t) {
                            for (; ;) switch (t.prev = t.next) {
                                case 0:
                                    if (!0 !== this.$sget(this.curTask, "isFromVest")) {
                                        t.next = 6;
                                        break
                                    }
                                    return this.showSuccess("评论成功"), this.text = "", this.$emit("finish"), this.$emit("update:focus", !1), t.abrupt("return");
                                case 6:
                                    return i = "", t.next = 9, this.publishComments({
                                        tid: this.tid,
                                        sourceId: this.tid,
                                        comment: this.trimedText,
                                        cid: this.$sget(this, "comment", "cid"),
                                        username: this.curUserNick,
                                        extra: this.extra
                                    });
                                case 9:
                                    0 === (o = t.sent).code || 0 === o.result ? (this.text = "", this.showSuccess("评论成功"), this.$raven.debug("finish comment"), this.$emit("finish"), this.$emit("update:focus", !1), setTimeout(function () {
                                        a.$store.dispatch("comments/getSingleComment", {
                                            tid: a.tid,
                                            sourceId: a.tid,
                                            cid: o.cid_str,
                                            userId: a.$store.state.users.curUser.userId
                                        }).then(function () {
                                            a.setCurPage(1)
                                        }).catch(function (t) {
                                            a.$raven.warn(t)
                                        })
                                    }, 1e3)) : (7 === (r = o.result || o.code) ? i = "您可能已掉线，请重新登录后发表评论" : 4018 === r || 4012 === r || 4011 === r ? i = "您发表内容太频繁了，已被禁言" : 70012 === r && (i = "您因涉嫌发布广告，已经被禁言"), this.showFailure(i));
                                case 11:
                                case"end":
                                    return t.stop()
                            }
                        }, t, this)
                    }));
                    return function (e) {
                        return t.apply(this, arguments)
                    }
                }(), showSuccess: function (t) {
                    var e = this;
                    return new c.a(function (i, o) {
                        e.messageConfig = {type: "success", content: t || "评论成功", delay: 1e3}
                    })
                }, showFailure: function (t) {
                    var e = this;
                    return new c.a(function (i, o) {
                        e.messageConfig = {type: "warning", content: t || "评论失败", delay: 1e3}
                    })
                }, handlePickEmoji: function (t, e) {
                    if (!(this.text.length + t.length > this.maxLength)) {
                        var i = this.$refs.replyInput, o = this.text, n = t, r = i.selectionStart, a = i.selectionEnd,
                            s = o.substring(0, r) + n + o.substring(a, o.length);
                        this.text = s, this.$nextTick(function () {
                            i.focus(), r += n.length, a += n.length, i.setSelectionRange(r, r)
                        }), this.$stat("right_area", "filmlib_detailpage_emoji_click", {
                            gcid: this.tid || "",
                            emoji: e
                        }), this.$stat("download_detail", "dltab_detail_comment_emoj_click", {
                            pannel: this.pannel,
                            filename: this.curTask.name,
                            taskid: this.curTask.taskID,
                            gcid: this.tid,
                            emoji: e
                        })
                    }
                }, handleEmojiOpen: function () {
                    this.isInputFocus = !1, this.$stat("right_area", "filmlib_detailpage_emoji_show", {gcid: this.tid || ""})
                }, handInputFocus: function () {
                    this.$emit("update:focus", !0), this.isInputFocus = !0
                }, handInputBlur: function () {
                    this.isInputFocus = !1
                }
            }
        }
    }, qAvy: function (t, e, i) {
        "use strict";
        var o = i("Gu7T"), n = i.n(o), r = i("Dd8w"), a = i.n(r), s = i("8SKo"), c = (i.n(s), i("AtIQ")), l = i("FjP8"),
            p = i("/TYz"), d = i("e/Sy"), u = i("wfXX"), x = i("AJOv"), m = i("7Npb"), h = i("X4AI"), f = i("P/2W"),
            g = i("/8Fg"), b = i("Cb+C"), v = i("p6+B");
        e.a = {
            components: {
                Intersect: c.a,
                CommentView: l.default,
                PropertyView: d.default,
                XlRecommend: Object(m.a)(u.a),
                MovieReviewList: Object(m.a)(x.a),
                HomePageView: p.default,
                XlFileList: f.a,
                SpeedChartView: h.default
            }, data: function () {
                return {
                    curTaskGcid: "",
                    eventIdOnCurTaskChange: null,
                    eventIdOnTaskInfoChange: null,
                    pageHeight: 0,
                    eleHtml: null,
                    cur: 0,
                    activeKey: "",
                    rcount: 0,
                    filesLengthData: 0,
                    showBackToTop: !1,
                    tabFixed: !1,
                    detailReady: !1,
                    transition: !0,
                    detailStartShowTime: null,
                    detailVisible: !1,
                    clientVisible: !0,
                    tabVisible: !0,
                    leaveTabSentry: function () {
                    },
                    curTaskChange: function () {
                    }
                }
            }, computed: {
                pannel: function () {
                    return this.$store.state.pannel
                }, curTaskID: function () {
                    return this.$store.state.tasks.curTaskID
                }, curTask: function () {
                    return this.$sget(this.$store.state.tasks.all, this.curTaskID) || {}
                }, curUser: function () {
                    return this.$sget(this.$store.state, "users", "curUser") || {}
                }, speedCurveSkinInfo: function () {
                    return this.$sget(this.$store.state, "skin", "speedCurveSkinInfo")
                }, tabs: function () {
                    var t = [{
                        title: "评论(" + this.filterRcount(this.rcount) + ")",
                        key: "comments",
                        reportName: "comment_tab"
                    }, {
                        title: "文件列表(" + this.filterFilelistLength(this.filesLengthData) + ")",
                        key: "files",
                        reportName: "filelist_tab"
                    }, {title: "属性详情", key: "detail", reportName: "attribute_tab"}];
                    return this.filesLength || t.splice(1, 1), t
                }, filesLength: function () {
                    return this.$sget(this.curTask, "subFilesCount")
                }, reportCommonData: function () {
                    return {
                        pannel: this.pannel,
                        gcid: this.curTask.gcid,
                        filename: this.curTask.name,
                        taskid: this.curTaskID
                    }
                }
            }, watch: {
                filesLength: function (t) {
                    this.filesLengthData = t
                }, "curTask.gcid": {
                    handler: function (t) {
                        this.curTaskGcid = t
                    }, immediate: !0
                }, curTaskID: function (t) {
                    t ? (this.initDetail(), this.showDetail()) : this.showHomePage()
                }, activeKey: function (t) {
                    var e = this.tabs.find(function (e) {
                        return e.key === t
                    });
                    e && this.reportTab(e.reportName, "show")
                }, tabs: function (t) {
                    var e = this;
                    t.filter(function (t) {
                        return t.key === e.activeKey
                    }).length || (this.activeKey = t[0].key)
                }
            }, created: function () {
                var t = this;
                this.leaveTabSentry = function () {
                    1 === t.cur && (t.tabFixed = !0)
                }
            }, mounted: function () {
                var t = this;
                this.eleHtml = document.querySelector("html"), this.pageHeight = window.innerHeight, this.attachResizeEvent(), this.$watch(function () {
                    return t.detailVisible && t.clientVisible && t.tabVisible
                }, function (e) {
                    e ? t.detailStartShowTime = Date.now() : t.detailStartShowTime && t.$stat("download_detail", "dltab_detail_page_duration", {duration: Date.now() - t.detailStartShowTime})
                }), b.a.api.attach("OnTabVisibleChange", function (e, i) {
                    t.clientVisible = e, t.tabVisible = i
                })
            }, methods: {
                handleUpdateActiveKey: function (t) {
                    var e = this.tabs.find(function (e) {
                        return e.key === t
                    });
                    e && this.reportTab(e.reportName, "click")
                }, reportTab: function (t) {
                    var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "click";
                    this.$stat("download_detail", "dltab_detail_tab_" + e, a()({}, this.reportCommonData, {tab: t}))
                }, rcountChange: function (t) {
                    this.rcount !== t && (this.rcount = t)
                }, filterRcount: function (t) {
                    return t > 999 ? "999+" : t || "0"
                }, filterFilelistLength: function (t) {
                    return t > 99 ? "99+" : t || "0"
                }, reportReady: function () {
                    return Object(g.b)("PageReady", "taskDetail")
                }, setTask: function () {
                    for (var t, e = arguments.length, i = Array(e), o = 0; o < e; o++) i[o] = arguments[o];
                    return (t = this.$store).commit.apply(t, ["tasks/set"].concat(n()(i)))
                }, reportClick: function (t, e) {
                    this.$stat("download_detail", "dltab_detail_curve_click", a()({}, this.reportCommonData, {
                        position: t,
                        button: e,
                        id: this.$sget(this.speedCurveSkinInfo, "id"),
                        is_speed: this.$sget(this.speedCurveSkinInfo, "is_vip_try") ? 1 : 0,
                        is_login: 0 !== parseInt(this.$sget(this.curUser, "userId")) ? 1 : 0,
                        vip_type: Object(v.b)(this.$sget(this.curUser))
                    }))
                }, reportRecommendShow: function (t) {
                    var e = t.itemInfo, i = t.block, o = t.id, n = t.num;
                    this.$stat("download_detail", "dltab_detail_recommend_show", a()({}, this.reportCommonData, {
                        iteminfo: e,
                        block: i,
                        gcid: o,
                        num: n
                    }))
                }, reportRecommendClick: function (t) {
                    var e = t.block, i = t.id, o = t.rn, n = t.num, r = this.$store.state.reviews.all[i];
                    this.$stat("download_detail", "dltab_detail_recommend_click", a()({}, this.reportCommonData, {
                        rn: o,
                        iteminfo: r && r.title,
                        block: e,
                        gcid: i,
                        num: n
                    }))
                }, reportMovieListClick: function (t) {
                    var e = t.button, i = t.id;
                    this.$stat("download_detail", "dltab_detail_recommend_feeds_click", a()({}, this.reportCommonData, {
                        button: e,
                        gcid: i
                    }))
                }, reportMovieListShow: function () {
                    this.$stat("download_detail", "dltab_detail_recommend_feeds_show", a()({}, this.reportCommonData))
                }, operate: function (t) {
                    var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "right";
                    this.reportClick(e, t);
                    for (var i = arguments.length, o = Array(i > 2 ? i - 2 : 0), r = 2; r < i; r++) o[r - 2] = arguments[r];
                    return g.b.apply(void 0, ["OperateTask", this.curTaskID, t].concat(n()(o)))
                }, attachResizeEvent: function () {
                    var t = this;
                    window.addEventListener("resize", function () {
                        t.transition = !1, t.pageHeight = window.innerHeight
                    })
                }, showHomePage: function () {
                    this.eleHtml.classList.remove("is-scroll"), this.transition = !0, this.cur = 0, this.detailVisible = !1, this.$stat("download_detail", "dltab_detail_backstart_click", this.reportCommonData)
                }, showDetail: function () {
                    var t = this;
                    this.detailReady = !1, this.detailVisible = !0, setTimeout(function () {
                        t.transition = !0, t.cur = 1, t.eleHtml.classList.add("is-scroll"), setTimeout(function () {
                            t.detailReady = !0
                        }, 500)
                    }, 200)
                }, initDetail: function () {
                    (document.scrollingElement || document.body).scrollTop = 0
                }, backToTop: function () {
                    (document.scrollingElement || document.body).scrollTop = 0, this.$stat("download_detail", "dltab_detail_backtop_click", this.reportCommonData)
                }
            }
        }
    }, qHIs: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this.$createElement, e = this._self._c || t;
            return e("a", {
                staticClass: "xlx-comment__image",
                attrs: {target: "_blank", href: this.isLogin ? this.getUserLink(this.curUser.userId) : "javascript:;"},
                on: {click: this.handleAvatarClick}
            }, [e("img", {
                directives: [{name: "lazy", rawName: "v-lazy", value: this.avartar, expression: "avartar"}],
                key: this.avartar,
                attrs: {alt: "头像"}
            })])
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, "s+fl": function (t, e, i) {
        "use strict";
        e.a = function (t, e) {
            var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "0",
                o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0,
                n = i.repeat(e - String(t).length);
            return 0 === o ? n + t : t + n
        }
    }, s0dP: function (t, e, i) {
        "use strict";
        var o = i("kG4e"), n = i("8Re5"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\comment\\XlQuickReview.vue", e.a = r.exports
    }, s5fs: function (t, e, i) {
        var o = i("l8vr");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("6c0bdd58", o, !1)
    }, sQgx: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this.$createElement, e = this._self._c || t;
            return e("p", {staticClass: "text-load"}, [e("span", {staticClass: "ico-article-load"}), this._v(this._s(this.text))])
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, slrS: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", {
                staticStyle: {width: "100%", display: "flex", "flex-direction": "column"},
                on: {
                    click: function (t) {
                        t.stopPropagation()
                    }
                }
            }, [i("div", {
                directives: [{name: "show", rawName: "v-show", value: t.show, expression: "show"}],
                staticClass: "xlx-comment__write",
                class: {"is-focus": t.focus, "is-disabled": !t.tid}
            }, [i("label", {staticClass: "td-textarea"}, [i("textarea", {
                directives: [{
                    name: "model",
                    rawName: "v-model",
                    value: t.text,
                    expression: "text"
                }],
                ref: "replyInput",
                staticClass: "td-textarea__inner",
                attrs: {placeholder: t.placeholder, maxlength: t.maxLength},
                domProps: {value: t.text},
                on: {
                    focus: t.handInputFocus, blur: t.handInputBlur, keydown: function (e) {
                        return ("button" in e || !t._k(e.keyCode, "enter", 13, e.key)) && e.ctrlKey ? void t.sendCommentHandler(e) : null
                    }, input: function (e) {
                        e.target.composing || (t.text = e.target.value)
                    }
                }
            })]), i("div", {staticClass: "xlx-comment__oprate"}, [i("xl-emoji", {
                attrs: {
                    "is-input-focus": t.isInputFocus,
                    tid: t.$sget(t.curTask, "taskID")
                }, on: {pick: t.handlePickEmoji, open: t.handleEmojiOpen}, nativeOn: {
                    click: function (e) {
                        t.$emit("clickEmojiIcon")
                    }
                }
            }), i("span", {staticClass: "xlx-comment__line"}), i("a", {
                staticClass: "xlx-button-sumbit",
                class: {"is-focus": !t.disabled && t.focus, "is-disabled": t.disabled},
                attrs: {title: "发送", href: "javascript:;"},
                on: {click: t.sendCommentHandler}
            }, [i("i", {staticClass: "xlx-icon-send"})])], 1)]), i("div", {staticClass: "error-message"}, [i("XlMessage", {
                staticClass: "is-absolute",
                attrs: {config: t.messageConfig},
                on: {hide: t.onHideMessage}
            })], 1)])
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, sqP0: function (t, e, i) {
        var o = i("fip+");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("20aeb149", o, !1)
    }, tX1e: function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ":root{--attribute-color-1:#333;--attribute-color-2:#999;--attribute-color-3:gray;--attribute-color-4:#ccc;--attribute-color:#69f;--attribute-color-hover:#4b87ff;--color-primary:var(--attribute-color);--color-primary-hover:var(--attribute-color-hover)}.is-theme .xlx-attribute .td-progress-bar__outer{background:var(--attribute-background-bar)!important}.is-theme .xlx-attribute .td-progress-bar__inner{background:var(--attribute-background-inner)!important}.is-theme .xlx-attribute .xlx-attribute-progress__item--vip .td-progress-bar__inner{background:var(--attribute-background-vip)!important}.xlx-attribute{--color-primary:var(--attribute-color)}.xlx-attribute .td-input__inner{color:var(--attribute-color-1);background:transparent;border-color:var(--attribute-color-4)}.xlx-attribute-progress{position:relative;width:100%;margin-bottom:25px}.xlx-attribute-progress__item{display:flex;align-items:center;margin-bottom:10px;white-space:nowrap;user-select:none}.xlx-attribute-progress__item--address .td-progress-bar__outer{background:rgba(140,168,207,.1)}.xlx-attribute-progress__item--address .td-progress-bar__inner{background:#d5dfed}.xlx-attribute-progress__item--mirror .td-progress-bar__outer{background:rgba(87,189,246,.1)}.xlx-attribute-progress__item--mirror .td-progress-bar__inner{background:#a7dfff}.xlx-attribute-progress__item--p2p .td-progress-bar__outer{background:rgba(88,158,246,.1)}.xlx-attribute-progress__item--p2p .td-progress-bar__inner{background:#8fc1ff}.xlx-attribute-progress__item--local .td-progress-bar__outer{background:rgba(143,140,255,.1)}.xlx-attribute-progress__item--local .td-progress-bar__inner{background:#b1afff}.xlx-attribute-progress__item--vip .td-progress-bar__outer{background:hsla(10,97%,70%,.1)}.xlx-attribute-progress__item--vip .td-progress-bar__inner{background:#ffb4a4}.xlx-attribute-progress__title{width:60px;margin-right:12px;font-size:12px;color:var(--attribute-color-1);cursor:default}.xlx-attribute-progress__size{width:57px;margin-left:14px;font-size:12px;color:var(--attribute-color-1);text-align:right;cursor:default}.xlx-attribute-progress__detail{display:flex;justify-content:flex-end;color:var(--color-primary)}.xlx-attribute-progress .td-progress,.xlx-attribute-progress .td-progress-bar{flex:1;height:12px}.xlx-attribute-progress .td-progress__text{width:35px;text-align:right;font-size:12px;color:var(--attribute-color-2);cursor:default}.xlx-attribute-info__item{display:flex;align-items:center;margin-bottom:10px}.xlx-attribute-info__item a{font-size:12px;color:var(--color-primary);white-space:nowrap}.xlx-attribute-info__item a:hover{color:var(--color-primary-hover)}.xlx-attribute-info__title{width:60px;margin-right:12px;font-size:12px;color:var(--attribute-color-3);user-select:none;cursor:default}.xlx-attribute-info__text{max-width:calc(100% - 114px);font-size:12px;color:var(--attribute-color-1);word-break:break-all}.xlx-attribute-info__path,.xlx-attribute-info__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xlx-attribute-info__path{max-width:calc(100% - 90px)}.xlx-attribute-info__act{width:24px;margin-left:10px}.xlx-attribute-info .td-input{flex:1}.xlx-attribute-info .td-input .td-input__inner{width:100%}", ""])
    }, u3AQ: function (t, e, i) {
        var o = i("2fBE");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("0676b472", o, !1)
    }, uFYg: function (t, e, i) {
        var o = i("kxFB");
        (t.exports = i("FZ+f")(!1)).push([t.i, "@font-face{font-family:icon-custom;src:url(" + o(i("XZBC")) + ') format("truetype")}[class*=" icon-custom-"],[class^=icon-custom]{font-family:icon-custom!important;font-size:16px;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-custom-user:before{content:"\\E626"}.icon-custom-control:before{content:"\\E627"}.icon-custom-add:before{content:"\\E628"}.icon-custom-home-solid:before{content:"\\E629"}.icon-custom-show:before{content:"\\E62A"}.icon-custom-home:before{content:"\\E62B"}.icon-custom-active:before{content:"\\E62C"}.icon-custom-magic:before{content:"\\E62D"}.icon-custom-total:before{content:"\\E62E"}.icon-custom-click:before{content:"\\E62F"}:root{--button-switch:rgba(75,135,255,.1);--button-switch-hover:rgba(75,135,255,.2);--color-switch-icon:#4b87ff}.is-theme{--button-switch:rgba(var(--color-primary-theme),.1);--button-switch-hover:rgba(var(--color-primary-theme),.2);--color-switch-icon:rgb(var(--color-primary-theme))}.index-wrap--custom .banner-x .bg-pic{width:100%;height:100%;margin-left:0;background-position:top}.index-wrap--custom .banner-opt{left:0;right:0;bottom:20px;width:100%}.index-wrap--custom .banner-opt .banner-opt__list{overflow:hidden;font-size:0;text-align:center}.index-wrap--custom .banner-opt .banner-opt__list a{display:inline-block;width:140px;height:62px;margin:0 10px;box-sizing:border-box;border-radius:2px;overflow:hidden}.index-wrap--custom .banner-opt .banner-opt__list a:first-child:last-child,.index-wrap--custom .banner-x:before{display:none}.index-wrap--custom .banner-x .user-info{position:absolute;left:0;top:0;display:flex;align-items:center;padding:10px 10px 12px;color:#fff;background-color:rgba(0,0,0,.2);border-radius:10px 0 10px 0;overflow:hidden}.index-wrap--custom .banner-x .user-info:hover{background-color:rgba(0,0,0,.4)}.index-wrap--custom .banner-x .user-info:active{background-color:rgba(0,0,0,.2)}.index-wrap--custom .banner-x .user-avatar{display:block;width:40px;height:40px;box-sizing:border-box;border:1px solid #fff;border-radius:100%;overflow:hidden}.index-wrap--custom .banner-x .user-avatar>img{width:100%;height:100%;object-fit:cover}.index-wrap--custom .banner-x .user-name{margin-left:6px;font-size:16px;max-width:16em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.index-wrap--custom .banner-info{text-align:center}.index-wrap--custom .banner-info .banner-title{margin:24px 0;font-size:40px;line-height:52px;-webkit-line-clamp:2;display:-webkit-box;word-break:break-all;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.index-wrap--custom .banner-info .banner-title a{color:var(--index-color-title);transition:color .2s}.index-wrap--custom .banner-info .banner-title a:hover{color:var(--color-primary)}.index-wrap--custom .banner-info .banner-abstract{font-size:20px;line-height:37px;color:var(--index-color-title);-webkit-line-clamp:2;display:-webkit-box;word-break:break-all;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.index-wrap--custom .banner-info .banner-copyright{margin-top:40px;font-size:20px;line-height:37px;color:var(--index-color-sub)}.index-wrap--custom .banner-info .banner-copyright>span{margin-right:4px}.index-wrap--custom .banner-info .banner-copyright>a{margin:0 4px;color:var(--color-primary)}.index-wrap--custom .banner-info .banner-copyright>a:hover{color:var(--color-primary-hover)}.switch-btn{position:fixed;right:0;bottom:0;width:40px;height:40px;overflow:hidden;background-color:var(--button-switch);border-radius:100% 0 0 0}.switch-btn .icon-custom,.switch-btn .icon-custom-magic{position:absolute;right:8px;bottom:8px;z-index:2;color:var(--color-switch-icon);opacity:.6}.switch-btn .icon-custom-magic:before,.switch-btn .icon-custom:before{content:"\\E62D"}.switch-btn:hover{background-color:var(--button-switch-hover)}.switch-btn:hover .icon-custom{opacity:1}.switch-btn:hover .icon-custom:before{content:"\\E62D"}.switch-btn:hover .icon-custom-magic{opacity:1}.switch-btn.custom .icon-custom:before{content:"\\E62B"}.switch-btn.custom:hover .icon-custom{right:6px;bottom:6px;font-size:20px}.switch-btn.custom:hover .icon-custom:before{content:"\\E629"}@media only screen and (max-height:860px),only screen and (min-width:1101px) and (max-width:1400px){.index-wrap--custom .banner-opt .banner-opt__list a{width:120px;height:53px;margin:0 8px}.index-wrap--custom .banner-x .user-avatar{width:34px;height:34px}.index-wrap--custom .banner-x .user-name{font-size:14px;max-width:14em}.index-wrap--custom .banner-info .banner-title{font-size:35px;line-height:46px}.index-wrap--custom .banner-info .banner-abstract,.index-wrap--custom .banner-info .banner-copyright{font-size:18px;line-height:34px}}@media only screen and (max-height:770px),only screen and (min-width:800px) and (max-width:1100px){.index-wrap--custom .banner-opt .banner-opt__list a{width:110px;height:48px;margin:0 6px}.index-wrap--custom .banner-x .user-avatar{width:26px;height:26px}.index-wrap--custom .banner-x .user-name{font-size:12px;max-width:12em}.index-wrap--custom .banner-info .banner-title{font-size:28px;line-height:37px}.index-wrap--custom .banner-info .banner-abstract,.index-wrap--custom .banner-info .banner-copyright{font-size:16px;line-height:30px}}@media only screen and (max-height:650px),only screen and (max-width:860px){.index-wrap--custom .banner-opt .banner-opt__list a{width:100px;height:44px;margin:0 5px}.index-wrap--custom .banner-x .user-avatar{width:20px;height:20px}.index-wrap--custom .banner-x .user-name{font-size:12px;max-width:10em}.index-wrap--custom .banner-info .banner-title{font-size:23px;line-height:30px}.index-wrap--custom .banner-info .banner-abstract,.index-wrap--custom .banner-info .banner-copyright{font-size:14px;line-height:26px}}', ""])
    }, ugUb: function (t, e, i) {
        var o = i("L/fo");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("d228c4dc", o, !1)
    }, vGiC: function (t, e, i) {
        "use strict";
        var o = i("Xxa5"), n = i.n(o), r = i("exGp"), a = i.n(r), s = i("p6+B"), c = i("Rhsk"), l = !1;
        e.a = {
            mounted: function () {
                var t = a()(n.a.mark(function t() {
                    return n.a.wrap(function (t) {
                        for (; ;) switch (t.prev = t.next) {
                            case 0:
                                if (!l) {
                                    t.next = 2;
                                    break
                                }
                                return t.abrupt("return");
                            case 2:
                                return t.next = 4, Object(c.a)();
                            case 4:
                                Object(s.a)("download_detail", "dltab_startup_page_load_time", {time: performance.timing.loadEventEnd - performance.timing.navigationStart}), l = !0;
                            case 6:
                            case"end":
                                return t.stop()
                        }
                    }, t, this)
                }));
                return function () {
                    return t.apply(this, arguments)
                }
            }()
        }
    }, vqIZ: function (t, e, i) {
        "use strict";
        var o = i("30md"), n = i("GzfO"), r = i("VU/8")(o.a, n.a, !1, null, null, null);
        r.options.__file = "components\\comment\\XlCommentRank.vue", e.a = r.exports
    }, vvfc: function (t, e, i) {
        var o = i("lNrd");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("631340e7", o, !1)
    }, wfXX: function (t, e, i) {
        "use strict";
        var o = i("Bbm6"), n = i("i+uq"), r = !1;
        var a = function (t) {
            r || i("m8p8")
        }, s = i("VU/8")(o.a, n.a, !1, a, null, null);
        s.options.__file = "components\\XlRecommend.vue", e.a = s.exports
    }, ww0Q: function (t, e, i) {
        var o = i("1JGg");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("1f2298d4", o, !1)
    }, wxAW: function (t, e, i) {
        "use strict";
        e.__esModule = !0;
        var o, n = i("C4MV"), r = (o = n) && o.__esModule ? o : {default: o};
        e.default = function () {
            function t(t, e) {
                for (var i = 0; i < e.length; i++) {
                    var o = e[i];
                    o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), (0, r.default)(t, o.key, o)
                }
            }

            return function (e, i, o) {
                return i && t(e.prototype, i), o && t(e, o), e
            }
        }()
    }, xJzN: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("span", [t._t("default", null, {
                isVip: t.isVip,
                isYear: t.isYear,
                vipType: t.vipType
            }), i("a", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: t.visible && t.show,
                    expression: "visible && show"
                }], attrs: {target: "_blank", href: t.vipLink}, nativeOn: {
                    click: function (e) {
                        t.$emit("clickVip")
                    }
                }
            }, [i("vip-icon", {attrs: {size: "small", "vip-data": t.vipData}})], 1)], 2)
        };
        o._withStripped = !0;
        var n = {render: o, staticRenderFns: []};
        e.a = n
    }, xrFw: function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ':root{--speed-background:#f0f3fa;--speed-color:#7698b7;--speed-text:#1a1a1a;--speed-text-secondary:#a5b4c3;--speed-primary:#69f;--speed-null:#d3e3f0;--speed-num:#fff}.xlx-speed-list{width:192px;--color-primary:var(--speed-primary)}.xlx-speed-list__header{display:flex;justify-content:space-between;height:44px;line-height:44px}.xlx-speed-list__header .xlx-speed-list__title{color:var(--speed-color)}.xlx-speed-list__content .xlx-speed-list__item{position:relative;display:flex;align-items:center;padding:0 6px;height:56px}.xlx-speed-list__content .xlx-speed-list__item .xlx-speed-list__image{position:relative;width:30px;height:30px;border:2px solid transparent;border-radius:50%;box-sizing:border-box}.xlx-speed-list__content .xlx-speed-list__item .xlx-speed-list__image img{position:relative;z-index:2;width:100%;border-radius:50%}.xlx-speed-list__content .xlx-speed-list__item .xlx-speed-list__image:after{position:absolute;left:1px;bottom:-1px;font-size:24px;font-family:xlx-icon!important;content:"\\E649"}.xlx-speed-list__rank{position:absolute;z-index:3;top:-15px;left:2px}.xlx-speed-list__rank .xlx-speed-list__rank-num{position:absolute;top:0;left:0;width:100%;text-align:center;color:#fff;font-size:10px;line-height:20px;font-style:normal}.xlx-speed-list__content .xlx-speed-list__item .xlx-speed-list__image.is-first{color:#ffc24c;border-color:currentColor}.xlx-speed-list__content .xlx-speed-list__item .xlx-speed-list__image.is-second{color:#99bade;border-color:currentColor}.xlx-speed-list__content .xlx-speed-list__item .xlx-speed-list__image.is-third{color:#ffaca1;border-color:currentColor}.xlx-speed-list__content .xlx-speed-list__item .xlx-speed-list__user-name{display:inline-block;max-width:6em;margin-left:8px;color:var(--speed-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.xlx-speed-list__content .xlx-speed-list__item .xlx-speed-list__infomation{position:absolute;top:0;right:6px;display:flex;align-items:center;height:100%}.xlx-speed-list__content .xlx-speed-list__item .xlx-speed-list__speed{color:var(--speed-text-secondary)}.xlx-speed-list__content .xlx-speed-list__item .xlx-speed-list__message{position:absolute;top:50%;margin-top:-10px;right:20px;width:20px;height:20px;color:var(--color-primary);display:none}.xlx-speed-list__content .xlx-speed-list__item .xlx-speed-list__link,.xlx-speed-list__content .xlx-speed-list__item .xlx-speed-list__text{margin-left:8px;color:var(--color-primary)}.xlx-speed-list__content .xlx-speed-list__item:hover{background:var(--speed-background)}.xlx-speed-list__content .xlx-speed-list__item.is-front .xlx-speed-list__speed{color:var(--color-danger)}.xlx-speed-list__content .xlx-speed-list__item.is-last{margin-bottom:30px}.xlx-speed-list__content .xlx-speed-list__item.is-last:before{position:absolute;bottom:-15px;left:13px;width:3px;height:3px;border-radius:50%;background:var(--speed-color);box-shadow:6px 0 0 var(--speed-color),12px 0 0 var(--speed-color);content:""}.xlx-speed-list__content .xlx-speed-list__item.is-myself .xlx-speed-list__user-name{color:var(--color-primary)}.xlx-speed-list__content .xlx-speed-list__item.is-null .xlx-speed-list__image{color:var(--speed-null);border-color:var(--speed-nul)}.xlx-speed-list__content .xlx-speed-list__item.is-null .xlx-speed-list__user-name{color:var(--speed-text-secondary)}.xlx-speed-list__content .xlx-speed-list__item.is-null .xlx-speed-list__rank-num{color:var(--speed-num)}', ""])
    }, yDtN: function (t, e, i) {
        var o = i("tX1e");
        "string" == typeof o && (o = [[t.i, o, ""]]), o.locals && (t.exports = o.locals);
        i("rjj0")("1696bd3c", o, !1)
    }, yEba: function (t, e, i) {
        "use strict";
        var o = function () {
            var t = this, e = t.$createElement, i = t._self._c || e;
            return i("div", {staticClass: "xlx-movie"}, [t._m(0), i("div", {staticClass: "xlx-movie__content"}, [i("ul", t._l(t.reviewList, function (e) {
                return i("MovieReviewItem", {
                    key: e, attrs: {"review-id": e}, on: {
                        click: function (i) {
                            return t.$emit("click", {id: e, button: i})
                        }
                    }
                })
            })), i("div", {staticClass: "xlx-movie__more"}, [i("a", {
                attrs: {href: "javascript:;"},
                on: {click: t.loadmore}
            }, [t._v("\n        " + t._s(t.loading ? "加载中..." : t.isError ? "加载失败" : "加载更多") + "\n      ")])])])])
        };
        o._withStripped = !0;
        var n = {
        };
        e.a = n
    }, yr0C: function (t, e, i) {
        var o;
        o = function () {
            return function (t) {
                var e = {};

                function i(o) {
                    if (e[o]) return e[o].exports;
                    var n = e[o] = {i: o, l: !1, exports: {}};
                    return t[o].call(n.exports, n, n.exports, i), n.l = !0, n.exports
                }

                return i.m = t, i.c = e, i.i = function (t) {
                    return t
                }, i.d = function (t, e, o) {
                    i.o(t, e) || Object.defineProperty(t, e, {configurable: !1, enumerable: !0, get: o})
                }, i.n = function (t) {
                    var e = t && t.__esModule ? function () {
                        return t.default
                    } : function () {
                        return t
                    };
                    return i.d(e, "a", e), e
                }, i.o = function (t, e) {
                    return Object.prototype.hasOwnProperty.call(t, e)
                }, i.p = "", i(i.s = 3)
            }([function (t, e, i) {
                "use strict";
                e.a = function () {
                    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], e = "", i = "";
                    if (!t || 0 === t.length) return {isVip: !1};
                    var o = t.filter(function (t) {
                        return t && 2 === (t.vasId || t.vasID)
                    })[0];
                    if (i = o.vIPLevel || o.VIPLevel || 0, o) {
                        var n = {2: "", 3: "p", 5: "s"}[o.vasType] || "";
                        return e = "vip-icon-" + n + "vip" + i, {
                            isVip: "1" === o.isVIP,
                            isStop: "2" === o.isVIP,
                            isYear: "1" === o.isYear,
                            type: o.vasType,
                            level: i,
                            vipClass: e
                        }
                    }
                    return {isVip: !1}
                }
            }, function (t, e, i) {
                "use strict";
                var o = i(4), n = i.n(o);
                n.a.install = function (t) {
                    t.component(n.a.name, n.a)
                }, e.a = n.a
            }, function (t, e, i) {
                "use strict";
                Object.defineProperty(e, "__esModule", {value: !0});
                var o = i(0);
                e.default = {
                    name: "vip-icon",
                    props: {
                        vipData: {type: Array, required: !0},
                        size: {type: String, default: "normal"},
                        disabled: {type: Boolean, default: !1}
                    },
                    computed: {
                        vipInfo: function () {
                            return i.i(o.a)(this.vipData)
                        }, vipClass: function () {
                            var t = this.vipInfo.vipClass;
                            return "small" === this.size && (t += " is-small"), (this.vipInfo.isStop || "0" === this.vipInfo.level || this.disabled) && (t += " is-disabled"), t
                        }
                    }
                }
            }, function (t, e, i) {
                "use strict";
                Object.defineProperty(e, "__esModule", {value: !0});
                var o = i(1), n = i(0);
                i.d(e, "vipInfo", function () {
                    return n.a
                });
                var r = {
                    install: function (t, e) {
                        t.use(o.a), t.prototype.$vipInfo = function (t) {
                            return i.i(n.a)(t)
                        }
                    }
                };
                e.default = r
            }, function (t, e, i) {
                var o = i(5)(i(2), i(6), null, null, null);
                o.options.__file = "/Users/nancy/Desktop/work/@xunlei/vip/src/vip-icon/VipIcon.vue", o.esModule && Object.keys(o.esModule).some(function (t) {
                    return "default" !== t && "__" !== t.substr(0, 2)
                }) && console.error("named exports are not supported in *.vue files."), o.options.functional && console.error("[vue-loader] VipIcon.vue: functional components are not supported with templates, they should use render functions."), t.exports = o.exports
            }, function (t, e) {
                t.exports = function (t, e, i, o, n) {
                    var r, a = t = t || {}, s = typeof t.default;
                    "object" !== s && "function" !== s || (r = t, a = t.default);
                    var c, l = "function" == typeof a ? a.options : a;
                    if (e && (l.render = e.render, l.staticRenderFns = e.staticRenderFns), o && (l._scopeId = o), n ? (c = function (t) {
                        (t = t || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (t = __VUE_SSR_CONTEXT__), i && i.call(this, t), t && t._registeredComponents && t._registeredComponents.add(n)
                    }, l._ssrRegister = c) : i && (c = i), c) {
                        var p = l.functional, d = p ? l.render : l.beforeCreate;
                        p ? l.render = function (t, e) {
                            return c.call(e), d(t, e)
                        } : l.beforeCreate = d ? [].concat(d, c) : [c]
                    }
                    return {esModule: r, exports: a, options: l}
                }
            }, function (t, e, i) {
                t.exports = {
                    render: function () {
                        var t = this.$createElement;
                        return (this._self._c || t)("i", {class: this.vipClass})
                    }, staticRenderFns: []
                }, t.exports.render._withStripped = !0
            }])
        }, t.exports = o()
    }, zODv: function (t, e, i) {
        (t.exports = i("FZ+f")(!1)).push([t.i, ':root{--index-color-title:#1a1a1a;--index-color-hover:#69f;--index-color-sub:#a8a8a8;--index-color-nav:#7f7f7f}body{color:#1a1a1a;--innerWidth:1250px}.index-wrap{height:100vh;--color-primary:var(--index-color-hover);--color-primary-hover:var(--index-color-hover)}.index-wrap .nav a{color:var(--index-color-nav)}.index-x{position:relative}.wrap-x{width:var(--innerWidth);margin:0 auto}.banner-x{height:450px;position:relative;transition:.3s;overflow:hidden;border-radius:10px}.banner-x h1{left:28px;bottom:20px;z-index:5;width:calc(100% - 150px);line-height:1.2;-webkit-line-clamp:2;display:-webkit-box;word-break:break-all;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:40px;color:#fff}.banner-x:before,.banner-x h1{position:absolute;pointer-events:none}.banner-x:before{height:80px;background:linear-gradient(0deg,transparent,rgba(0,0,0,.7))}.banner-x:after,.banner-x:before{width:100%;content:"";z-index:2;top:0;left:0}.banner-x:after{height:100%;position:absolute;background:linear-gradient(transparent 50%,rgba(0,0,0,.7));pointer-events:none}.banner-x .bg-pic{width:125%;height:125%;background-size:cover;background-position:50%;display:block;overflow:hidden;border-radius:10px;margin-left:-12.5%}.banner-x .banner-info{display:flex;flex-direction:column;justify-content:center;width:92px;height:55px;position:absolute;top:16px;left:28px;font-size:18px;line-height:1.2;text-align:center;color:#fff;border:1px solid hsla(0,0%,100%,.4);pointer-events:none;z-index:4}.banner-x .time{display:flex;justify-content:center;align-items:center;font-size:20px}.banner-x .day{font-size:78px;margin:0 25px 0 0}.banner-x .line{width:1px;height:16px;margin:0 5px;background:#ebf0f4;transform:rotate(20deg)}.banner-opt{position:absolute;width:90px;right:12px;bottom:25px;z-index:4}.banner-opt .banner-opt__list a{position:relative;display:block;height:54px;margin-bottom:4px;border:1px solid #a7a7a7;cursor:pointer}.banner-opt .banner-opt__list a img{width:100%;height:100%;object-fit:cover}.banner-opt .banner-opt__list a:after{position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.6);transition:opacity .2s;content:""}.banner-opt .banner-opt__list a.cur{border-color:#fff}.banner-opt .banner-opt__list a.cur:after,.banner-opt .banner-opt__list a:hover:after{opacity:0}.banner-opt .banner-opt__link{display:block;height:28px;text-align:center;line-height:28px;background:rgba(0,0,0,.6);border:1px solid #a7a7a7;transition:.2s}.banner-opt .banner-opt__link:hover{color:#fff;border-color:#fff}.index-list{margin-top:40px}.index-list ul{display:flex;flex-wrap:wrap}.index-list__item{width:50%;margin-bottom:40px;font-size:16px;color:var(--index-color-sub)}.index-list__item .title{display:block;margin-right:25px;font-size:26px;line-height:2;color:var(--index-color-title);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.index-list__item .index-list__info,.index-list__item .user-info{display:flex;align-items:center}.index-list__item .user-avatar{display:block;width:28px;height:28px}.index-list__item .user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.index-list__item .user-name{max-width:10em;margin:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.index-list__item .info-from{display:flex}.index-list__item .movie-name{max-width:13em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.index-list__item .movie-name.article-link-text{cursor:text;color:var(--index-color-sub)}.index-list__item .movie-name.article-link-text:hover{color:currentColor}.index-list__item a{color:var(--index-color-sub);transition:color .2s}.index-list__item a:hover{color:var(--color-primary)}.index-list__more{display:flex;justify-content:flex-end}.index-list__more a{font-size:16px;color:var(--color-primary)}.index-list__more a:hover{color:var(--color-primary-hover)}@media only screen and (max-height:860px),only screen and (min-width:1101px) and (max-width:1400px){body{--innerWidth:1000px}.nav{height:95px}.banner-x{height:380px}.banner-x h1{font-size:35px}.banner-x .banner-info{font-size:16px}.banner-x .time{font-size:18px;line-height:1}.banner-opt{width:80px}.banner-opt .banner-opt__list a{height:45px}.index-article{margin:30px 0 0}.index-article h1{font-size:32px;line-height:3}.index-article P{font-size:16px;line-height:2;height:64px}.from-info{font-size:14px}.index-list{margin-top:30px}.index-list__item{margin-bottom:25px;font-size:15px}.index-list__item .title{margin-right:20px;font-size:22px}.index-list__item .user-name{max-width:8em}.index-list__item .movie-name{max-width:12em}}@media only screen and (max-height:770px),only screen and (min-width:800px) and (max-width:1100px){body{--innerWidth:740px}.nav{height:85px}.banner-x{height:310px}.banner-x h1{font-size:28px}.banner-x .banner-info{width:80px;height:48px;font-size:16px}.banner-x .time{font-size:16px}.banner-opt{width:75px}.banner-opt .banner-opt__list a{height:45px}.index-list{margin-top:30px}.index-list__item{margin-bottom:25px;font-size:14px}.index-list__item .title{margin-right:20px;font-size:20px}.index-list__item .user-name{max-width:7em}.index-list__item .movie-name{max-width:8em}.index-list__item .user-avatar{width:22px;height:22px}.index-list__more a{font-size:13px}}@media only screen and (max-height:650px),only screen and (max-width:860px){body{--innerWidth:596px}.nav{height:90px}.banner-x{height:260px}.banner-x h1{left:20px;bottom:16px;width:calc(100% - 120px);font-size:23px}.banner-x .banner-info{left:20px;width:60px;height:38px;font-size:12px}.banner-x .time{font-size:13px}.banner-x .line{margin:0 2px}.banner-x:before{height:60px}.banner-opt{width:70px;bottom:18px}.banner-opt .banner-opt__list a{height:40px}.banner-opt .banner-opt__link{height:22px;line-height:22px}.index-list{margin-top:30px}.index-list__item{margin-bottom:26px;font-size:12px}.index-list__item .title{margin-right:10px;font-size:15px}.index-list__item .user-name{max-width:6em}.index-list__item .movie-name{max-width:11em}.index-list__item .user-avatar{width:18px;height:18px}.index-list__more a{font-size:12px}}', ""])
    }
});
//# sourceMappingURL=../../sourcemaps/pages_home.a0566d450f1485c81434.js.map
/*! ThunderX BY LUOCHENZHIMU */
/*! Last updated on 2018/12/16 */
/*! https://www.luochenzhimu.com */